From e20b055642f95bb620d0c64f6e7a12e631b82e63 Mon Sep 17 00:00:00 2001 From: hibobmaster <32976627+hibobmaster@users.noreply.github.com> Date: Wed, 8 Nov 2023 09:37:18 +0800 Subject: [PATCH] Release the project --- .gitignore | 163 +++++++++++++++++ .pre-commit-config.yaml | 16 ++ LICENSE | 21 +++ README.md | 19 ++ assets/jquery-3.7.1.min.js | 2 + assets/logo-removebg.png | Bin 0 -> 114335 bytes assets/mdui.css | 1 + assets/mdui.global.js | 22 +++ config.json.example | 8 + nginx.conf | 39 +++++ requirements.txt | 6 + src/db.py | 181 +++++++++++++++++++ src/log.py | 40 +++++ src/main.py | 307 +++++++++++++++++++++++++++++++++ templates/index.html | 262 ++++++++++++++++++++++++++++ templates/password-update.html | 263 ++++++++++++++++++++++++++++ 16 files changed, 1350 insertions(+) create mode 100644 .gitignore create mode 100644 .pre-commit-config.yaml create mode 100644 LICENSE create mode 100644 README.md create mode 100644 assets/jquery-3.7.1.min.js create mode 100644 assets/logo-removebg.png create mode 100644 assets/mdui.css create mode 100644 assets/mdui.global.js create mode 100644 config.json.example create mode 100644 nginx.conf create mode 100644 requirements.txt create mode 100644 src/db.py create mode 100644 src/log.py create mode 100644 src/main.py create mode 100644 templates/index.html create mode 100644 templates/password-update.html diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3ab3272 --- /dev/null +++ b/.gitignore @@ -0,0 +1,163 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# poetry +# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control +#poetry.lock + +# pdm +# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. +#pdm.lock +# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it +# in version control. +# https://pdm.fming.dev/#use-with-ide +.pdm.toml + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ + +# PyCharm +# JetBrains specific template is maintained in a separate JetBrains.gitignore that can +# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore +# and can be added to the global gitignore or merged into this file. For a more nuclear +# option (not recommended) you can uncomment the following to ignore the entire idea folder. +#.idea/ + +config.json +*.db diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000..424d838 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,16 @@ +repos: + - repo: https://github.com/pre-commit/pre-commit-hooks + rev: v4.5.0 + hooks: + - id: trailing-whitespace + - id: end-of-file-fixer + - id: check-yaml + - repo: https://github.com/psf/black + rev: 23.10.1 + hooks: + - id: black + - repo: https://github.com/astral-sh/ruff-pre-commit + rev: v0.1.4 + hooks: + - id: ruff + args: [--fix, --exit-non-zero-on-fix] diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..7d299c6 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 BobMaster + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..e364e1a --- /dev/null +++ b/README.md @@ -0,0 +1,19 @@ +# wangfu-register +Edit `config.json` and templates/*.html(turnstile site keys) + +## development +Create virtual environment and install dependencies +``` +python -m venv venv +source venv/bin/activate +pip install -r requirements.txt +``` +Debug the code +``` +uvicorn src.main:app --reload +``` + +## deployment +``` +uvicorn src.main:app --host "127.0.0.1" --port 10010 --proxy-headers --forwarded-allow-ips "*" +``` diff --git a/assets/jquery-3.7.1.min.js b/assets/jquery-3.7.1.min.js new file mode 100644 index 0000000..7f37b5d --- /dev/null +++ b/assets/jquery-3.7.1.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.7.1 | (c) OpenJS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(ie,e){"use strict";var oe=[],r=Object.getPrototypeOf,ae=oe.slice,g=oe.flat?function(e){return oe.flat.call(e)}:function(e){return oe.concat.apply([],e)},s=oe.push,se=oe.indexOf,n={},i=n.toString,ue=n.hasOwnProperty,o=ue.toString,a=o.call(Object),le={},v=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},y=function(e){return null!=e&&e===e.window},C=ie.document,u={type:!0,src:!0,nonce:!0,noModule:!0};function m(e,t,n){var r,i,o=(n=n||C).createElement("script");if(o.text=e,t)for(r in u)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[i.call(e)]||"object":typeof e}var t="3.7.1",l=/HTML$/i,ce=function(e,t){return new ce.fn.init(e,t)};function c(e){var t=!!e&&"length"in e&&e.length,n=x(e);return!v(e)&&!y(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+ge+")"+ge+"*"),x=new RegExp(ge+"|>"),j=new RegExp(g),A=new RegExp("^"+t+"$"),D={ID:new RegExp("^#("+t+")"),CLASS:new RegExp("^\\.("+t+")"),TAG:new RegExp("^("+t+"|[*])"),ATTR:new RegExp("^"+p),PSEUDO:new RegExp("^"+g),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ge+"*(even|odd|(([+-]|)(\\d*)n|)"+ge+"*(?:([+-]|)"+ge+"*(\\d+)|))"+ge+"*\\)|)","i"),bool:new RegExp("^(?:"+f+")$","i"),needsContext:new RegExp("^"+ge+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ge+"*((?:-\\d)?\\d*)"+ge+"*\\)|)(?=[^-]|$)","i")},N=/^(?:input|select|textarea|button)$/i,q=/^h\d$/i,L=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,H=/[+~]/,O=new RegExp("\\\\[\\da-fA-F]{1,6}"+ge+"?|\\\\([^\\r\\n\\f])","g"),P=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},M=function(){V()},R=J(function(e){return!0===e.disabled&&fe(e,"fieldset")},{dir:"parentNode",next:"legend"});try{k.apply(oe=ae.call(ye.childNodes),ye.childNodes),oe[ye.childNodes.length].nodeType}catch(e){k={apply:function(e,t){me.apply(e,ae.call(t))},call:function(e){me.apply(e,ae.call(arguments,1))}}}function I(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(V(e),e=e||T,C)){if(11!==p&&(u=L.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return k.call(n,a),n}else if(f&&(a=f.getElementById(i))&&I.contains(e,a)&&a.id===i)return k.call(n,a),n}else{if(u[2])return k.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&e.getElementsByClassName)return k.apply(n,e.getElementsByClassName(i)),n}if(!(h[t+" "]||d&&d.test(t))){if(c=t,f=e,1===p&&(x.test(t)||m.test(t))){(f=H.test(t)&&U(e.parentNode)||e)==e&&le.scope||((s=e.getAttribute("id"))?s=ce.escapeSelector(s):e.setAttribute("id",s=S)),o=(l=Y(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+Q(l[o]);c=l.join(",")}try{return k.apply(n,f.querySelectorAll(c)),n}catch(e){h(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return re(t.replace(ve,"$1"),e,n,r)}function W(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function F(e){return e[S]=!0,e}function $(e){var t=T.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function B(t){return function(e){return fe(e,"input")&&e.type===t}}function _(t){return function(e){return(fe(e,"input")||fe(e,"button"))&&e.type===t}}function z(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&R(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function X(a){return F(function(o){return o=+o,F(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function U(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function V(e){var t,n=e?e.ownerDocument||e:ye;return n!=T&&9===n.nodeType&&n.documentElement&&(r=(T=n).documentElement,C=!ce.isXMLDoc(T),i=r.matches||r.webkitMatchesSelector||r.msMatchesSelector,r.msMatchesSelector&&ye!=T&&(t=T.defaultView)&&t.top!==t&&t.addEventListener("unload",M),le.getById=$(function(e){return r.appendChild(e).id=ce.expando,!T.getElementsByName||!T.getElementsByName(ce.expando).length}),le.disconnectedMatch=$(function(e){return i.call(e,"*")}),le.scope=$(function(){return T.querySelectorAll(":scope")}),le.cssHas=$(function(){try{return T.querySelector(":has(*,:jqfake)"),!1}catch(e){return!0}}),le.getById?(b.filter.ID=function(e){var t=e.replace(O,P);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&C){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(O,P);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&C){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):t.querySelectorAll(e)},b.find.CLASS=function(e,t){if("undefined"!=typeof t.getElementsByClassName&&C)return t.getElementsByClassName(e)},d=[],$(function(e){var t;r.appendChild(e).innerHTML="",e.querySelectorAll("[selected]").length||d.push("\\["+ge+"*(?:value|"+f+")"),e.querySelectorAll("[id~="+S+"-]").length||d.push("~="),e.querySelectorAll("a#"+S+"+*").length||d.push(".#.+[+~]"),e.querySelectorAll(":checked").length||d.push(":checked"),(t=T.createElement("input")).setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),r.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&d.push(":enabled",":disabled"),(t=T.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||d.push("\\["+ge+"*name"+ge+"*="+ge+"*(?:''|\"\")")}),le.cssHas||d.push(":has"),d=d.length&&new RegExp(d.join("|")),l=function(e,t){if(e===t)return a=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!le.sortDetached&&t.compareDocumentPosition(e)===n?e===T||e.ownerDocument==ye&&I.contains(ye,e)?-1:t===T||t.ownerDocument==ye&&I.contains(ye,t)?1:o?se.call(o,e)-se.call(o,t):0:4&n?-1:1)}),T}for(e in I.matches=function(e,t){return I(e,null,null,t)},I.matchesSelector=function(e,t){if(V(e),C&&!h[t+" "]&&(!d||!d.test(t)))try{var n=i.call(e,t);if(n||le.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){h(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(O,P),e[3]=(e[3]||e[4]||e[5]||"").replace(O,P),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||I.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&I.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return D.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&j.test(n)&&(t=Y(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(O,P).toLowerCase();return"*"===e?function(){return!0}:function(e){return fe(e,t)}},CLASS:function(e){var t=s[e+" "];return t||(t=new RegExp("(^|"+ge+")"+e+"("+ge+"|$)"))&&s(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=I.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function T(e,n,r){return v(n)?ce.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?ce.grep(e,function(e){return e===n!==r}):"string"!=typeof n?ce.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(ce.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||k,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:S.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof ce?t[0]:t,ce.merge(this,ce.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:C,!0)),w.test(r[1])&&ce.isPlainObject(t))for(r in t)v(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=C.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):v(e)?void 0!==n.ready?n.ready(e):e(ce):ce.makeArray(e,this)}).prototype=ce.fn,k=ce(C);var E=/^(?:parents|prev(?:Until|All))/,j={children:!0,contents:!0,next:!0,prev:!0};function A(e,t){while((e=e[t])&&1!==e.nodeType);return e}ce.fn.extend({has:function(e){var t=ce(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,Ce=/^$|^module$|\/(?:java|ecma)script/i;xe=C.createDocumentFragment().appendChild(C.createElement("div")),(be=C.createElement("input")).setAttribute("type","radio"),be.setAttribute("checked","checked"),be.setAttribute("name","t"),xe.appendChild(be),le.checkClone=xe.cloneNode(!0).cloneNode(!0).lastChild.checked,xe.innerHTML="",le.noCloneChecked=!!xe.cloneNode(!0).lastChild.defaultValue,xe.innerHTML="",le.option=!!xe.lastChild;var ke={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function Se(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&fe(e,t)?ce.merge([e],n):n}function Ee(e,t){for(var n=0,r=e.length;n",""]);var je=/<|&#?\w+;/;function Ae(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function Re(e,t){return fe(e,"table")&&fe(11!==t.nodeType?t:t.firstChild,"tr")&&ce(e).children("tbody")[0]||e}function Ie(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function We(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Fe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(_.hasData(e)&&(s=_.get(e).events))for(i in _.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),C.head.appendChild(r[0])},abort:function(){i&&i()}}});var Jt,Kt=[],Zt=/(=)\?(?=&|$)|\?\?/;ce.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Kt.pop()||ce.expando+"_"+jt.guid++;return this[e]=!0,e}}),ce.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Zt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Zt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=v(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Zt,"$1"+r):!1!==e.jsonp&&(e.url+=(At.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||ce.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=ie[r],ie[r]=function(){o=arguments},n.always(function(){void 0===i?ce(ie).removeProp(r):ie[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Kt.push(r)),o&&v(i)&&i(o[0]),o=i=void 0}),"script"}),le.createHTMLDocument=((Jt=C.implementation.createHTMLDocument("").body).innerHTML="
",2===Jt.childNodes.length),ce.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(le.createHTMLDocument?((r=(t=C.implementation.createHTMLDocument("")).createElement("base")).href=C.location.href,t.head.appendChild(r)):t=C),o=!n&&[],(i=w.exec(e))?[t.createElement(i[1])]:(i=Ae([e],t,o),o&&o.length&&ce(o).remove(),ce.merge([],i.childNodes)));var r,i,o},ce.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(ce.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},ce.expr.pseudos.animated=function(t){return ce.grep(ce.timers,function(e){return t===e.elem}).length},ce.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=ce.css(e,"position"),c=ce(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=ce.css(e,"top"),u=ce.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),v(t)&&(t=t.call(e,n,ce.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},ce.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){ce.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===ce.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===ce.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=ce(e).offset()).top+=ce.css(e,"borderTopWidth",!0),i.left+=ce.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-ce.css(r,"marginTop",!0),left:t.left-i.left-ce.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===ce.css(e,"position"))e=e.offsetParent;return e||J})}}),ce.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;ce.fn[t]=function(e){return M(this,function(e,t,n){var r;if(y(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),ce.each(["top","left"],function(e,n){ce.cssHooks[n]=Ye(le.pixelPosition,function(e,t){if(t)return t=Ge(e,n),_e.test(t)?ce(e).position()[n]+"px":t})}),ce.each({Height:"height",Width:"width"},function(a,s){ce.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){ce.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return M(this,function(e,t,n){var r;return y(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?ce.css(e,t,i):ce.style(e,t,n,i)},s,n?e:void 0,n)}})}),ce.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){ce.fn[t]=function(e){return this.on(t,e)}}),ce.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.on("mouseenter",e).on("mouseleave",t||e)}}),ce.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){ce.fn[n]=function(e,t){return 0g|I#>pgU)Y!Hg+qP}nw(orR-se2$$DBViv(H}d zda-t>vZ53UA|WCG06>wE7FPuTAa23;9Xu@f2_0e|_yYjJURu)$06^{g?}kWVKqUe| z001)LqTk*0&fekNv^5h+|B@1K5$}n!#2I2H7|GC={L3FvU)RkjbxKdUkjZQ?OP_7+ zczn@Yo!lnce0+Z9jT&U170hrdCjLIctBNhbdKi+v`?@H^Lq(-RAq}Duxln_FfL2`c zJg>UxCHoIDLG*oSUEjoS!brd~4R5fyoQ~vr!gDacoR)F)b&K>tl~-kGQ8SGFZ}0*F~qy zhCP){jj7kX)@n@HNQiguNcl6!ULsI!ibnU$q-~@Wa5x1rS*cc;q@-B!~& zKASnlV;(2{%JhpK4S5-4UsB)(XTLZimE~@Xcl9x zzxg>ZoDN}Nwb$g!OV z4Ou%COViqBy$^p&nGJ$eDlY{+&riA<%2x$oWe`)TY-5=>se836R6*=cLU`c)6$W|A zuj7rOMfnuLYR{)yg6&Bw%x7_QmsZ9NPuJHH^FVt23PaKnP?C`$=MT!CweZi0hOXE1 zm$d8MM3I#F+bclk7vv+Jhw*+KZravpx3w^Jbu=!`!}k1hN|4p(HyPV(SZ?@ajbv#(5lRs3)4aCP^^=}T(R+yG+*r7h z!dkkQ*-mQo#GP)(vU_8D{W9fo-Ius-bY>ZfYe@%0MiD<0BHmFms3MUPl`bMge!Gp6 zC&$mND`DJv!&%8Oc71F4XkY!U7{4!i%`oeTTp;Kk6sV^&zfJG&r5JW1VV5D|xmdr` z>dhuE1mjRpTx`RJyS&d}R5SHEYOsNB7G>7APwTueT&OVq)lK`RgX7E_=R{ANU1Qq3 z?7sGAVclZ{lyG82<5BH3W4a8MMpu(?GbMGj1YzS8@8`I0cZb*S<;p-F_q(IGi_{gu ztaam^aPM8l(VAmA?%JercAcI zZ`J@^)eLqB6=tD!qn&R>ZRzXhAK}Ibs{@9dlv%+;g>!ki$&Mp6*bjHd5xI~=yzc$s zA5oXNSA(ziE6$9hr@>htuwHjX+gX>>qc5S%zAtfp37JH1AL)=`D&TJjQwjN;psUit z9x~=Qc9!HH)Ydp{Hn}5KFm0A@Y?gt1JYl&dY>}Mu4^;!`5>MYi;`77IeX*ZFm!m=s z{hkZ!eo_8A&ZtwP$ny&(Y8G0MSW(AqZPt2Z5XG*N@NKxAwi+dOcha<%mXd<*#mG-3 zjxFzPY#gV zxU2&Q#x$3gk)bMb@b;VHE_D`q-!doQ>C7+T!?Bd%B>_F@=m>#<29m{7780~yZS2*X zNRghPk|xsmKL>o@NA1uAKYNf|8*D6-wHE*EW-uTiUICh7@nJXM6(P2w26hk9G8#Ll z=Di=Yt^rLq$r#A_G-+NUKxdB(Xqv1C3Uga=I~JYat?PJ9xTBhLCS)r*+P$3jH~0%R z*3^$FN&8jTl9fh?S9Nu4gllVz-%N9Z-Gvfl_zj2qY}h3@SFDYk{1-L7|TKW{5P zUamJjaz@xrNbM{MR6uFVqvlm^YKwv}TpV9Lo1?zMOvOBBWE&r|C%4WTbMS!}f9#?? zJ*FbRoEA-FxW86*Jhq=o1~}~9R{EsQtUqv`{cMKd9(8FqjiO@+BCX$}n+%!sbM(^pazRargru4C+A7* z4Mu6d>a$i9z*nfKs~vmG^non{V~>`$T&H}vV!?=3*n=&>*hKqY21~YK03dFJ zSZR)%KQrOu|1POW$V+00^82PJY-;L#8)U$hM$n@}j*ab1xK}gVOsHTYE6vZKQ!!GK za?Dg~`?&gae%7_Lx1RVysFV^L!0nkp*Ol^2kCiSQsRmLr@Ky!MpE?&4^8T%^>Ku+z z1hGSNVMU5xMc%^42la7zg%22R9p-WoBiMa&;lks19?vm2>I$7L@?q!U^AM#S-bI;L zufCVz+$c3v0kPj2s>E&vt7Y^2w+cH`)q5A;;B{9Rb*yc7=cL`R?J&HAvW82N8u@i` zaAs%Kv^QS1`egE~-CBK}cM=&9<4|1c*Y5NjDYXevcE;K`2K*ZR|ND_7YUE_mdL;4} z#*t`2-@b7WmMjd%_L{TI!@YlG;C2-ClZ{7h$EO zzGm~Bid%_6akn#@02ZE`!Svu3;$WSD|GzS=A*$&oD*JAo#vCZR;Zj&`)|nesQ^s-) zjpO7uoT2xH#f@jZyg08zjq4}FdM*1onGVmV249MRlWTUTk(}J=-j33tnKd-xmB4KT z%Sc;PI%GPel`MqeTDae?#O1$4#m!p04z+I6;+*(WML3vgg6OPF=^_q?t{%d%La{FI z&viGpXV*!c=C|X|>&4AwPtWYlj>3#xG-ibV$_}%)i|9XIS#?1dZL;>yMzGPCn)MDp zcZE(W<7Q@7lZuzcW?)K1I%8gMkqCmF);zU7_CmAm1A6QoO)*30{mj+pZFitmtk+9e z|1s`pn`AGb(+@7owfzp5jlqdsKBjP9z|8?uA5s7W5tLq@jL*%%ct~jxmS&L#l;{R? zaCxXO-9u09vX#_{gbN}E*>R-8vXuXJhb^Cin5QF z#029ecw0llw{dkZ>1R&ytI6eXV$jaz_dCNJ`=;!`kAdZ!gmE$fr*fS^?+K|)%76P! z(`08FTxc0oARSSI32~+Rx$d{_8_Fk^OxXfv5yGbe#^Xw2p(?wo_5xlcWc>>4-E%!e zm?qN>Y|CpWUKovJNC4h8-uuHv@*Tj?YX4&9crTfgu(aXL=7ZW`~R&6Hy_|s0!bGR?nrV40G5NT91Mn; z;W}#S{IjcCZr#p#lgSa@D@#4bh}=tFhdlXl{K5OoVxY6 zpu5zrrW2uYZJ~9XRWNn(B;RuF`s{cgnJ2nb|IXvPJnd3s_V{2^+wa5Jseh~tuDKZk zqzz0(2T%Fa3i3)vE zVb2SBZS7HWH3gg4IM?_8iuazouuW=T4uW)Dqr<3?p2;^kEkl8r#hDLYW@6hJu|&KF zUZI@;G8c!X+D43$@|?8uvOe%c>==@dMDc)QNHxaj5f^t9rl zM_IJ$hIKpgIqd)ZXN(l%IS zf-f+&{5a0jN6P#pn>j%(@Z;^U^UImgv!4MU-G0m+o)>GG+sAaXlGMu{C){QSrxqOU z`U_AnJnZ^tc};)4m7NwYy?@j>86Mn?gxGI|P%!L3O4=q-S$7SW6cdD2fd= zCqiZiCY(BL)kGjjVir><V=p6MZ1{>u%)MyJul>jZ0tPS0^>K^{GVpMYA%`4R__{+0zr;;bfz` ze@?$_kF|kplHy{ssUDwEw{{H}5qWrdxt|xByUluf*3GED-}0EhC`0on$f|GR+(GVT zQ|c-}Nh%`i1cD?62;UCx*hPB`Uo0g4S_>0L&@u!K4p@2lbyZ3g6<%kbCLnAQ z0R%TwLX1q|M76Ci*jqwQLY#<&Agx=kiU;2Hn7`HNj2M1RW}h0-yYYqqXf`olEa)$& zr5cI9cWO-rc1!u)FW%7L1_vs+78jq9Y>7L&|0;vo*N;DCZ-wCfkq4L^YqsnV*tsr6 z%2ferP{e=npyBW>0T;aYnai)Y%9n?*v%9GJy@v^2 zBs1ZtmmcwFmH}|uL=l7f-&R&OkB&~fuHWv7T&S1kP*$nH=E2$2ZDbMf+Jo;zamiLa5d^WA>!j|xsZT!%B$4s3CdPh?N#(vP?l4u%QKu{k~CBQmW%^B2r)SZ(BPR$TU zN(vt$!E}5aypj>8+&@R`Z{FS+|1l!pkz`ZY#~C%~X*>h`P~ChO<9ulTPGSB?q@ROCn*PrE8s zGMzbQZhzls9n8*23wts5sfD5I;&c*Xp zE$>sRo)0jsFs&%FluVN?NbRW}k~-tkzA1lPyK^ux$M-oowYS3M4=NszS)bCvR;RrKotcl&#e z^n;(0XQq3!KgQ3RITu`V*<56fs3*RTz6|^nxDMrj-fN7^l8&65&?|Oo{ubC6via)^ znCeX&_P6ASP-QOo<5*P{7{6^xD=69Nk5=mW?p`aCFHxP;X=qkff|M%1Vn@u0$2nka zm34JWsKipK*l`tsmN1p5;}F_x?TG*^`oK&s0o7Pqz zxn$Jm(&WusXj&Y*umjsDPyHdAkp(tUV}?n>{$Yf_KO58Fd~Dqj{NloI*{VtA6`M>7 zk>iPCzokYG%hK||mNqe9gS-6=_buW_rS2*pAL|2tlLJn+%IVgt?E(>s3vTc_dW58N zx4kryO=^!bblwJfu#-T#G}X?vIY&HheJ`jRUw#0S-J{(nx1pu5w7uNsU*QU830A)` z5S#rQ_jPM}BF<=*Np}xA3mBW)-3PSmtP#ntbk)cr#f2;zf3jD0-Y1&Q5b@~mRyhWB zSjT?#`eJqF(y$##xdGg`I*IBu=@Bx=m_%bRW<#o^o zq~)~(MCzScFv55F$$V}_ksjg1zGNxRMBv}OkeVNomP_8v&Cfm9tT&9S?bpFwh5V6V z?!P=8{wuXd6HA8?1d;sgZn-itLE-Z_pAUfkUfyrIy7%}hY&k`wN;{bu2}2Pxs*%Uq zl6wC0a&l+Pt3B$9??|5`Ar`=%@Bl65a_Mb@lR~>X?3?5)w*;ybY-#JnxU|{0P{P_O) z=s1L03bAc+gIPTKg|xHKm`-GdTjvL1`}9(>G>vdfs6+wT`y1YYh5ps|g!P_)oxdE8 zU>+43{l?W_0HVd7){=*HSimb2c6oTah>3|g>^{@FgB9a{+f?`Q6|t+__m6$un2qeHJWhKbC5NZPdSRTin_hR>1yF7g(- zU|Gve&af93%Sao8`Y+=?c%s$XbYcoA9R<8P(jq?Yzpz8TfS3}cQ(xg=PsvNjK+9g- z_*x7iS`DBg^>1pNTLln5<=F6%-H~D4373r;cdMUt14K7#y-yn=nbNpDx592E45ys~ zr@xQ2UH0%b-j&9rCeC!vO?0OxD)ReCgsOrlwtq1hvC+4W(rEr2G*pP2Rm=KUW>2l} zdpZv7b%eJi#(Y@cdN6l5<~1H{u**qKtRx-kJmS-y=QJAS^AJXPW%olY&K9oMcF@qZ zJKeS`r+=r2oCB@yQpn49)tK!!LBv3}jW*Y#wUq^dj0Fc>^HB4K6(8Xrp(IoHgSC;4 zLa1&sJ!?dC%0WW2#)2kX@t~tJTx};tjL&p(%R9S{d)p-}_)TXmg%U$y&%8A-4n(lc zP)|*|@i9@}k8XH3x(?2#aq9&hzoFy0Q6|?zAf?X?L~|EL?2ZQjZ%dR}+=#|I>Mhh} zL)Tkf6&Ex#NqjNNv@UhH zanqev^t7EvY2D3rd(3M$;`!eL522iFF4c)whr#aZWt%TDdT~^5cpF@|Wtv}$X)e62 z{dIJ|aca+@pD~*|H*N%~w!%S0RNLFk`oPKwgoB{PW>mJ&wy9{qw);UTpV)J+Mj&MJ zg8a8}2nAzg!Mte*hGqm%nEt$+<4p#dVxYdq!_UuubruFd*q%I*|JYn)mI;uwq!iJzrU~QC!>RwU=i#u9 zFE}-A|B%#GSWjTmUN!s2pkqW7?>9M3wna!dB`?Rx@RtktCYcUN{SAVvBxO5v>;kb2 z%Hq&CD9O0Jn+)ETGcCN+rRdQ1ZXqL+`?rl%7JW=%k_0;#j>CS@pG!){$iAl_>{Zjy@bdOBo)%pCuT+pmQ(y1c zh=Cv5@>y+S>__6n+eN9o-CaR09~Q>Quw^)W4ZY|wDANmGrTHima{lyEjM_EHZ13yLlQ~F4gSFVnTT!kvp5k@ z2CwfvruxrQy4tUm9!_B4?h>1{2(`WqRBdHnsLP)2yk1Dl3jLD@=i+f(RXnfp1(M`m z=?`?QB5Yphk$Ss^YnzSJ=yLhFb|FJJu9EwG9kdqG6u!a8Z0er-0W}M88$ziRgyG(u zDw+Y|Xo>Sb5}~`w0=AN=f>V+hvDe?X@Q+f+2xbSR-1?&@G7tvYy}nk$zS}dA9o>FO z8H#3VGzmg~3=!0eQEaD-IYi49i3eWQVt!*tbejh1()SQ?ja3-FlV1ZDh zOqp{;w-q#T5ck*|Jq!|?(?I;yoUyV#<#y&%tHOL9ZS^_7Ow|d$2cd0`wIRdVP^X21 zun;h-Pgm-#%Guf3Cq3T%@N6_rH2}@Z8%;XfWg%K)2VZ1pJHp7r2}snz&BRY2v@is!O@yZRl!-&0*37rZM5)VtXY zaPfaljE(+Y!E4->W}fZaxjx}{ZC&NNboPeiIfnC#>cClPWXMpol!(BuDEW6W2-ymK zG=H0x#?{&B?sVGJYmI{4NKN!;Yp-pd9XjMMxd&lS*gLBNY+q>{qRW(*{* z!<2lY_38$Fj?|ZuLT~AD4%fsMPek$l$2w^PSa9xsxH@mzo-}(t8g&~y$%OUSK*<+C z9vf@rCl*|}OEVKx82)Nk(L8Q(JDcj}CnDK0ktjsDO)07)Wa4VTaR+qL6^U4=irlAQ zQA+K1d6oi-*dXKoYGr76cnqAAcKFl=I8M5Yta*zKr?^{8oa5N3latPi$6o&ny&fI_ zXW|`4nJ&Um3SN!#rllg{^$;i`h0=zwqBcLe*L>A}==*wnUaY%D>osH|Wt8!(lidSY z>}3^ldZk zD_p*xOEHu`RL=e!hE(3^D2o_1g?bkpk6r3JVv`>zFvl8)=EN0Nbj%LKN&78Z)x*Za zZ!iwen0?i0ViCfDZ_~4>zX7eDnLC>5InH|Q6YgCHGx&dq^sZiJJsFeZ^8Jgc(3849L2+U z_1HXy8FC-B|8w7|l|lZyTd>$WBB4-K^3+>;XiAC-K81~qQCEyDN%o~Kp7da6?YB8h zHxY7fk4)P|#xAW8E{YUdXs&7Hux+VQA(*v7BL>I1y*q_!VM^v6~RPQd1GnI>> z2KeD|{~Wyaca2cXUIU^BE0IW~{*mTk%!hckWFt8BCY@w>e~0Q7Q)AC5JQ+bj1NNr4 zH;b*9 z67ICp(xM;bD%4Np6Jv7r%89E~*odxUP3hCC~rOTL6w1GS{9mCd`xx;SIF=y}f^YdhLJoG+wu7eedt>Zk+>1H=p8sT6w zwG!XrIbt*cl23*fTI@@AF*iCEUJrZ_CCa)boBB`d1u@d7L%BRGqury;amRC`ob!XR zHf6+$?fV?JwLb{D>&x@?t-jfxwI$9k4$z?-!QXx%;Y^DwI7nCXeM!lQN1MiqpyAhA z)#_YS)^)Prj4{m7O>WF1)P zg!l=KyxFip^fk}c+E-hH!v!WNq8NMd-#;#X?b&X*@be>i_kPcMc=nc}ma!G1W`~>U zgUK6)=h?-+W%p~Q#Y|Ze7r^h>snhiJG2i@fwPZYqVLN}2H0N3z(a^f;vo_(GBPlY=%gs|4&-9b2DVALLN z&fSxBic1Q2(tjyffSO2==z#)a^0{$~Dq zWf3FIZcvQ?7(QsisDl1#kych#m$rKTaCLoLG%VTswQR5ieNj$3P>xLpID)4U1mI^U z7MVr+|E})&^?4C_zB<9d$rYKcg$PGQ_kMj~`Y=OAxzVFu2w+0|R?)I)oiKn$vHHm2 zFN|;hvwY$G`uj~nT4O66yP4SYB)IqQ%QUACj=Ommn=Y)*2=hF}Xg-cHR59Buo;aiK zYydp{mg%}_*kOVJ7c75vfKWBX{OdC_H|G!I<*p~C^xV!P1CHh$L5pBdiV!nPxaAEf zBCl63-9xX5g$ymkh8_`#ra0l2YDLc-E*Haoi<#M4Ol?b&mb&8n&{I%UxW=A^QNJU! zY+e>*r;`M&;ea^*hwV5%J4u-nixJRmuU8J-D05W*$gb}ASYJ3e$U#gCTqI!LX6>l7 zNRRnnLo5*<28bq@DUIkM(gFEJQJmbqmdae{_w7K$g}uNw*YHfx5){~+j6q0QMOGpw zSCUtp*KK$3UY$ETJABW%nkCF=pv#*ljM1YxVv}|G!bHRB>~s?W)yKq|ph(TU@O|Ff z>~SK)EY0#CSGc&Azt~UdI36+PKOS!@C^8T;V+k`QAnc(%A5bdglv4_=JItzf{3Zpv%Y!5Q;O*{S4ubwxeC06@7shWySvg$`PmnN5 z9pd@sIE~v56;)xf2|NX{=-vDsj9lg@%A)a+s~N8^uy8(P{~lS(8Gi&)U zaHO4K!L(LYvy`Myxyl>SlrjlCm10sz+W={L_gQe+{DjWOB$VC2{x6HAP}@=&OHXe4 zGgtppAjr9%XG_lnWyYC^9J+07dfLGScAtWQsX-(r?Yn9tn88B_LH#`0*}I!7wBoiU zB_t(!7Ys>?3UF`T!o)+b{+hpqSM=rpDNjyCMN)Swj{o5hao}j9KAvS`v+3B9lVjUQ zexq7I&63`R@L$YYDi85A3={F^uHJfyA7YHkkPho_t#w9b%JWXw))q^uvrR%;{XejB z@KPUs-|D4V*PFeM)Yi_4@I?UHFdv}|oKJO>JJ2%%EaJeuVelA42H%`G)F5w0}UQ)-r64o9aNg2cnd( zfy`Z?n=o>x!zGHK=7AAM z@;w@pR5NADfBTIeU;_O371PdtXmdBdw{;ZSW{=n&eq3`B3V;0k@4eO+0oY5K9lNwG z#78E%y7YWs6erieru(>8Ta8@1g4LV*+*?dlLs4bp^T0SbI?oGbrcyhGf?u$Y4F$q9 zefwvd=y%FbjEn$WW;in0QOR5T~_{nYop!Rp|IwU*EBF?Zax4_r3TL&8;I8t+XsKdp!3k$+LSE0(l8)_N5 zl|<>maf2hx2%SL=#}U#b^rOW5p?i56P+cu*Y5!Y5JHKm(igvRDdW439x$Lou`w?Nm zoX!TWqTfs*Ag8Iw;2t{N#hZ%o`R@L7@zpCQd(pPxNv?HY&WgnBKrU~wX7U00od&wu z=KTEp`5TbfU7hxLRrMJ8sZRXoNg1RvBPot@2X?p)Qn?PUbM8V`$N=BJQmc=hu8s9d z^;Vs{QCmP~l@3@yx;KYo+nEikfWGGhq8c8>7EeQKYXgQJqvqfc- zIfOOhA^m>NIW|_>O@bp-VdS7*{TZ1V4W5C0D*x4xP_=CBhOf+FT~uQ(=KBzR<*pnH z+#k=G>#cf+;a(EK#dEe31Rf<3@ODbe$|5F5C;Wk3)#2pWIgpqQP$mnJcW5YH`JPpk z&DMMgQewR9lL69!>1=H5r!DjI?@LodOJoCBB}zwBMq!eaVew*$QfxTElBA+j)b%CWrP}JAz^oH=`r|bLro>Lj~Aa)gWNf6QfC54#34H$<3 z4>P=>BqOoEw4FjnX#Bv7925=!>={wA&rZxAcaI1Mg7dNHfnN67c|oXmxS(LkPxz&7 zCFz>#RGl4!y=XJQcq#@2Y+MM^?=*=J$y`X{gLpaA?~QlmsV66${*oU=KLP^|qbs-Y z6Sm6T0Xhh%h<2*a${>7Rk`w;Yj8v1OVGgfDzKn2*g$oo|y>kNMqlbQ@q_dijU$`$d z$2^OW8s^2O{@tmot{21^$;of4*KTJ7RhO1eLph<8OA&t|$(tf9qqNc6Nf85=Ts>rN zXm+nri+Zo|;2zIkO>|A>s~9bZ*L$NPL?IGloY-Fn@a;B6)w2Py-kL4EbgEUpHLejr zKGl>l2y#0ib^+FfD#Y=h*HU0$fTTjD#*8dotQ2JDEyvdU&S|_E8sZdZ>G@0?<_te*yB~lgg% zp=au6o9`W0FEtm+=&J(i-H&;9$z!EYUQ=Cqt0 z6ee24s&+g$v7mrJY?bpN!q{--n%^D*8%oG1DE0AbzPOeQU_Y0*TSP$P`Qh5NlZ{pI zzC50s7$j*M#2YN=hX|2hOY__C2zplbfwXq|C^D#ro54U!*kkWHi=TK+O0Vw=-JtgL zpKa3zM`GTMgV+K9>n+t6>zxd5(|Trc(S=cUgNsR2R21P^em+(08j_*BU+F1_qWNBm z2()pL?1vM+UIXVJrW6?~McgL}(11AD7iGjFTWbmna#a5v0+t8ls)g=pv)Jk*GODN&|&-j!_ z6GqISQN_jtNt9H#vAI>JD&{oQ-y6L>A2KVP)#VRXv85BMa2*P>nA=Cr1i;?tGU)ms zkqc(1u0ldfi`b%T?;_tjxhCW%Ia_UFq0N)e<=)<25o|Cl>~z}3%*Aw1`EIJaU*3W+ z>xSFzLHVJS9XG zmmk)=oWb6EFJ%O+VwU?!#^dIuuz-N|*Q)2Yo0(j|;+UM3fSc6<1WbrU(JvJ0Kv~vm z+S+ziS^3#dt@7^(8Slp%8ymfOSXd2?XIy3nFySj(bKiHjhOVlIkB>VMrtO4PC&Q;w zV7~nplTp*q|6#{cl^rI{LxF$q@dY<>tWd3F6a@w4^L%JGIBM0VA;l{V6k1F|M8@yj z+WM-E6^BJ8Y1_iEY4z-GA_g%rHELSyCN>%f+1HnF#}Qay1jU`6@ES%ao1HF08Tiw~%hK||esjoPec735Re548iPi90 ze!%`?CJ;?YVe&(ihu8-h0vk3%13`GmG^^Vhir668rN=MZpk9mZ*w|4vZX(@@SLbv0 zDkor&h@K&_ZwNeK5T)DZv2WMfo;e61WxhZ(2GKO(PB3Q@t{Bzk+R=w0XUg`{7}XfrKt-RCeEn`xAce*mj zKgXLUZ#W-X6n*SJ3l!rgd>y>cp*sbNg?5x2IvbB<4@n z%$xAySw3UL?65)3?VlWx2CewXe2Y6b)Ii}Vu;2r!i4=$g0fY~hvk+PU&n zvUu3`9}*SRIWx^N2k$abVgGFkUw5-Mu0DDW$*h@iq>kmlk0kzup8c0Rk8mszh@9W% z2(2b>0W%JhpXKfPn#go%w>%f$80BT)wse2Wz3E01Bk#kMDJzgPVV)lUO_a_SoqQ&i zO6tCbSTc}P?+q)EH~KGlzC3*9s_*-JeJMAp(s)xRwaiOERhc#$0RmJd&Wu6D)DjE^=a3p8;0qT2 zerz5~v$kwe<+4Iyr`yNTG`FkWGGEN4F~~v}OR+DlXf2aDIQQDj;Jt)=Nfc7BD;}z_ z6@q#y4kKSx{HC2&xDq@kQQxo?VS%cN0-41+8*dqTX0Wq6qwlP(Bf&*tc=Fge*NRnJ zWS;%1Zz3VH@l(-{7ZJTQ(^n;k*R#4GAV;q!+rbOriSSJzrY@lOGV|WU6;(-bdDJgD zJw@0sK4`FrK3G!naneIz6LQi=Aa3EOMSw&iz8^9`1sE#e*p7}I=+_!aQ3Rl@`erfN zhvjO6JL>9cv-x|(#I-4j4P#)9-9;D76~xBZ2d~hRPP}L(zjhTs-8CiWPb&;-A*ezL zFJQrR{k)t`N`ciKLseA(5kFM=OdMiJ*hmSX?H$@9mSMugZ|z&7^8IR5W5qRB4wY}| z-hBj*%)MA@l+eKl2C?4;M>C^`@!I`%7GP!LyJJ))^TY@A%2?BnR=Z>Wk1VbgN4U z(KMOxJR}c_t?Pu0=6lcm`(hA1cazm&3@aR5Sp^-WUkC+~eLb1oo76kJ3X$xNXXvsa zN0doWU_bw2&fBN01axnGi5i?GRiL_;>pVTt16MEPUEx+OyV(SBN@~Wl_7J7;U$wJ6 zwVZ&ec>?x9(CCl?GMt$Ixb-hn`*KNk0%T}rE>6z(ruKGk;}S7mPWE*cA)$}I;QTzW zj+-5338RkRLgMTLotR}>fRmF`u()C%3-0xJe*~@tlN2JV}KR0S+W#*KVyScx;j$%JFliI{3uLf?}?Di!hh z2tiSV2txB0OnO)mr|3qk0TrEIZ}6RF3Ie=hMpS7q%np{Pzes+hHE#MSPFV<_Uc+S8 zYm(sfb*VJzT?b>SjawducdOo$AU6$@)5cyOWiuZ8OfM`vc&ORfY|xpX^d;ZBaVsb) zwp(+hJml=8ij~G;NF!tkkp4?vVeO8kyJv^d20L0KrIyb&c^0sAUq@$CM#|dov$E83 zWZGJ#Iwx)~-K|evz4soaDsMrJ`)CxMHC}YlX?BVlj0dVX{UZjzr@N~qaTz>=?J?rp zujmn48+_N@aozSuX))4!)K7V(x!1|)X0ZfZs?yd@L$;bW1n{C$V|1bl?2+l0?68_X zMw^itau0D)@(S}Aoo?GE@`*|SzhYe10&-lxqD10pm3m15?%2Q%UrB>h7<(m(J|AiihlxY6hag^?KU1VzmxPXUp(~mF*eRO z{-Vdt0lBtRHps#vP`7-D_J-TgkB1(iCl}LaLEcnSf>_r)-4**OJ_j1cg5_s#47+xw zXU)Z`zr0v!zHPw>u@0L^O~-U7i@HdS0{m97i zS<=Zv%IYJjYR`F#=nn~L+bc!06yB7k?N-V{KHP?wX`i4)XSPhC<(0X&TBeA! z8%Z}c+Qq9Y^VzAXA%-DsUsxgwYU^kDI8_B9o~&$Q`r4D)6hSrIllC(D|%X_DfK4a}ilAC|TW9Gg*D9 zx;`wwpj)yZ$194j>(&lOW5k>$L$cF6q9+`vqs1TK63_qUo|HTv+4(O;Ma|sD^q$;M(zwEAiJ|Hu@h`$C8o+yj#FG~x&@Mh?( z{0VWV6D=`ECtPw;C$Az#0lqp2QCOCs?H?uyz|fOSupI0M)|yS2k7<-D|4?IJTUg=R zx5q35h!sOB!A>d`?uUjRr+$2V*Z})mDRDzJ{2)$|Jpz)Y`_2KlY?|ScNXiIIeg?o4 zkzqkiX0akXtL*U~k`xY5fGA@Y+l*mj!vmL8SJT=Q8!gMJ0{Wly2U6DNe*!lzCu^X<*Bdr0co1B8ihzQ`T`6OBahehwp>Q&80S zd2}^(1wOE`{m0rMxNrkMO!746d{rXDT-q?UG+Y<%Jbmo)Ec*^2|JOj*9kuyU-`aCG zU6l&3i!B8`%-01* z9xfS;;z0Qn-bpq2(?{#{f2I@TX9abCHL{t)SR5b3+cl6nqePhRuS&_XW#seO)10vZ zXc+wzyd!Y#KGargAQ*UIM#xYLX0wXm4@*ASN`muOa?;I zlw!CfRIQG~xfcv<`euzWUAC5m1w$hB@;2I2R%*t58-mNef?Xnmi1XvPcX28U{0-svX-FPm;mZN4wZn_ZY9g@6tiv7drOXwKaeO=Y=RQBu}Y zUC<#^70>z&)w4IDbg{#@MmsagEViCdV+QkB3Ok*#%UPy=WEvKiH64d^?zI#^X6!ZS z3O>~pc=fgh2i!uFqV9qv3iqH>tTB=rELU1PZ+>NCR7_y0Jhiw`+iM-SHS4w)%2K*| zeg6g|Ko|ceZtUns7+;d#uuuB9J8UMX{x>?c@#*!-Pwlk&w&l#ru@V*r$P>REZr~fF z{nt=VX9M)<{(bfhd_-a%-!I*)FP83lJ&xAZvuB$*Rkwn+u*i%-0k;-}>59n6Fkv#? zddIz+FTFU8WsWrCQB|!OLDQp_A=AH`)HURL-Iu8=7drqeHK+sjO59Y~2!s;lX^FPT z79o<St;>({Pd|8O#uuBfiAoA=L!mH5gJ;h)B*K15fY(Lz{&#)GJ2CBE$u2h+;4 zzY~wgM*^nd%zP<>z|UnAh$fRdlz|dXo;&xAt~+;LL?nBy3`VOr$m83$Z~JjWL*sD? zR`s{ueg999g0mg&Bsmg^+A;SVv6&e&VmjgX`$U{CMIvD^Yhy?+>F!2C!EwLO2Q!vX z4bixwxv?qX_Iawp(WqGuKYIk)4CS#~EEXXVjWZ@r^O}SNs%?O@J0TiV>ITgP-7PX^ zYS4)KzSuhAQ-D)oxfD3vSvsL=nnnPOoPdwCAAaGve;Q9`DxoS{0iaZW^5n^X+}GFVu-dINNN3YZdTA>F zZVZ^mJq-<;{y#51|I*v2`CKzGG0}o_x&6&8&BKwd$cM7u2ynV-8pDPS}i<=)=j-4`!j{OG}h2k-3Pz3ZPR5l7OH&;9}?^oB?{9B6B9A^?q$ z!*1`iTdaM1ckO;#(rJ>>VCZVl=YIh~L$wZzwF$sXn_z~o1N@8~&$CKq1CZ-5`w3ze zYmu~bx7*E_IzKoCN|6G@4+v`k{#VGKNM}xG8cGGET zzW#5@dcy%xFIgxBOoNSs)gNaGx!I>@quJHAsD3p`D~8gUR4>elKYilJk^ZH$b$Z5K z1&!uex6k)Gvcb>_taao76Zk+1P?`pYy0wghS{%cRr=~4~cpLQ+5@N62?0EU|l`CI9 z_T-b7+ge(Gj`a~eb?Wrrtf{H$*|B~5b<}D$p!{y^H?P0-jmI9_cTp$lv_JdF&p%OD zU*G@a;UmAOtE;&V%a!!*snh=oGC+mf?KM<5ovlCl*)RU?M_+m6-`7>Sx?#efOOwN< zcWuYEZJiWf8jB|ESFT^%0WD@fgyR+jnC?Ze=Vo~BouOdRO4!#{i&dzubP32fVZ(I) z1fLJ0TZTPrqYgapcTp&yrYkG>AB07sWFH}V+6K5}q<4;NotX8G*SZ|b+SH5ENZe%I zYUcezLybctBcCx@Oi#pkPUbfJIz?%#-hLNB@aN>!> zN3J@pro7GTgTteai&rl1jl^SL0m9oJgUMtC+8fnFV-rCyBcOu7VV167lfRsHJFb}* zYXz+H`$Q8-@x+<4&p<2xZD1qRBcScBUN41UayLEs#1nrFracu3N2>uK=chUU{PWNK z5}%_r)m0asIrda68c&&#ryd5JvH9)eC;o9D5_}fIa4qg7VRMt=SAX*L-@NvzFMr{) z{{y7-sN_WcE%9T8GYi60G?|%&d;T=7wlfzlAAvdkX++Pr8YFoe7=IH`>zv6b{PU$Zrj{4 znlI7uZ1eRSH?|Ltj{LUERecbs9S#Nsi)Ryx7Fh-e=RFsYCf|GGJYweL*IZI{wk6!3 zpSsQ{fB?4)BGprf-Kg5JV@Im3r5OmuiCtH&T=`gM=WXMQFFyaX=H}-2u^cj?P}rz9 z=!21H%yH`U*%$Zk+kLj7rn)B(iPye+{P;gYS>TWQL&0X?Bp{AcM}n~o(|TP^b#+@L zmaNKU=J%7)pwrCFS@`469zA^UY$%$jxOnN(*3q%CBiJz8UO{b+;q5gHl(~et4skE@i6OlRSIvx!b+J(z;m$U@4eF=Z!Kr$MIIPmIBf2^)4hFq zcIGQOoxCOJ^BRo6pQeaff=jJ*RtVUTlyau`DYy)!k}9TYHBr9IK{xs(OsM)l*1xrTtmn`vTqOp`)FN^2GiL?#Ytj7^7`V7zzpTGvW4Gg&k3|*#^ z=W4b?>QFb=g@WTY#Gvv{t{DYT9D!}e6hKY5AVBRjV~cJX8Xh{-IWW+-v!%toR*hR% znmIII&FPC5+Xe?meoH4A4r70EQfdro;yOgp(m`o40DfWS?leKDLQ@9gW*dajpcgy{ z!f`sBBfg;bG(NI{>Azzn-foM1qh6Xc@>TV?k@V^*c`0r~+0n8yoBA!4Nhv0y#37&AR z#%{BFVJVtUr7~1N4G`}HMTjzMIx%(P)VY?;n>TmW*VXpJf@FN}gX4cE914FNe(uc( zqSMg&p{R4hN6^bCn+m*Y1hrX^XHIA`w8-*yM-f#FdacUXy)d`G3n}%38@FyB?i=WT z8SD8utjl)bJ5*u+L^U{_fM8avQvf&OAPfjP*czq+G33i6P#b=53KWq7G`AQI0`_f0 zu(LbsfVV*3CBa*O7FvaMb_jy!yZDJS^J37x0|iu2pyCCjfjyVeWEvJzr&Y5Ff`R60 zHX{%Rm>B-Mjg1Z8-`2h*@91@RC}jA-kAC!+tJ3vxXco;zvq>%l!PPi zw-iNhm8-JbVYjKi$YPL<-(#IpARLd|Iy*aGI(zQIXDTY38k^P98xDqV960dU_gh+; z-i46MqDH_3jbP`fAe2cz_sp@*cq(NMMq@RXu3Y_kC>VML`L&y!t_pD$f-c2yCsgj~_qr zWGE8(BBEqlSPFrfdX^1bQO9u?rV2{*J?GufT}|O-)VzbLX~g-zG~HO)rnvTSZpuzWzSBwyu75 zQ$t-K5RTSfzIN?nBcr1q@%g-aHZ?UjAT>=+22z3vU`tWtg=b*jrvL7n$3??!K~y|x z>tkT*laXZN^rcIe4gGgr6kxa|S_*{IHNr)7%;WZ)$4_e#2)8bnc_f+AzkA|?9f45rs~VkdM>3s;TP}x- zK4j{V#v6z4gJql(kW4J@jtZL2O?3^ws;#NX8`Y<4XwZoQE(efH{*kcHS7Sn5XbQAb z&4A09`MIfctgbYi0Vr`9L*UVxNPWxc1HWeNC~)U)kL|*R3ok>Ht$=lBvZ=ZGowm*G zzW|p+rBg8zizVd2;bF_b;9&iMLkGK?>+1sENVNXkg$rL88z1{TGC8){T@?-prqIM; zR)=6?{9kpftww-ZoRA1NlyWz;ROofgMeF!O%%a+ zWcE+7S5AD%J;Y}kJYJlkuicznPfupxF^t7%SUeV7JvOt&x?|csyJmrK>tb&A3=C`< z9UcD?ibNbjw2y=8k`q`fBY5_uOeE?qJReFRJM*=XHckVA&j>Y7kHizPGdp+g7_k|R zd1b~-`9tEBOIO?Bc6`-6JG%|OLle?}Fu;*}p0DT(3gVnvIOS23o6;e&mD-d@d{GM- zB^7}t!h_$|)2^^WeK8u0DZAZ1(bm>>`s1&BeG9?yM)yn4@&%lhJurKD> zT2^nV%%sa^8-Mo6Cy&4M{0slpRZ;Q(0Jq^+;Nv&Zl37BHBWr`nWabs!mPKKH(XuI! zEsljZ3#>&gBV%Ka^^FYMmwmqiE-ZV^e9G%b5tCC-SZ&s)VP>mQfMJwfCD**B_&4sQ zlnMqwKY-0n!*X{4NLFt)*3``AOH;ih+JJ6#06y|33?^e`9A>{jILNT5b8(}WTH#48 zfy%UUMG{CrQ1QWk$(@4v4$cNXuc>L1AHwas@4WZkr=YP`96os9Ew|5a^!fvHLh3V5 zAM44aQpR&vuY7E9aQIbd;Ri5>Td;sGkzk7X znZz5#apWZc7cwk1qvVdJGH>?}kM!K`>^v3j^;ox_^R1r zZo($Sa>yus0FwJ$3JWXUw7@}(lA*z6G^m4;7;xCEukG5oEAO0gy5)@9TMG^0DQqe= zz_=D-0HdLMT2N(*GzP_7zH|eK8URO8?X+P6IWBH6=*J~l-cXV3fcZ24=FJ`*(nC)dgemw98??2XZnTiBw&`dGp0Pce{UAC+YVf`=XK< zp~-9#ELy8TDQIL`2i+OuDzMg3&p;OR5}5iNzhpaF4FCEmxHr${6?B?GtD!Z}9Z6;e z`-cY4-0HmjJl5~?fSTQlT=-2`bSQJk4^DyAqX5Nhz&M1uT!!}XiOG78&o|_>+gDt; z&Fx`XGxL$L(fZ-B(T@Ob^)WD0I{~s#Pz(!wBdvky5XwRCBvFxhT?LdNW^P2<7)sjVs}_T4;rciS{x)3nkaFgb$JmGw;{~zu~^)KF|8gR9%;I8;XJTQYOW)Sxd)M> zJd!`p3EF$-PI%wGy|kg+6UZ4!rF2O5syuc6{HtS=lV8;v&AYJ_?Bo|moTZRN0Tjxk zB{MtH+9)NGfn-n_)INEsx+%@YD zO?LNmpB)?;dPS2-zYHyDCpLi^O0Z`RH!L?m#zM%)b~hIoi(hgTcrguu^UE7YuGe4Hg>eSdvfy3RTP!6hA`Qv`XFPM1=lU))K;X1-5Cy+>TH)K}SJw z_?(D^?*lfnb0DZjQob&L zr9wcasCSkvlEcmE4C<#M`QIyStK*O_`dp#o#;-3e3b5I5pK+Dtb7ZFp35gVNtpmzu zEE22GXtY~0s5r=(d7k5V{`$4%sp;v@f{|{)B@g7dF0}A+As*>>)M=&&*eN8~UTWFa z++maCyi>lWXFau&BtMILw&PYN#SV~jbNsBGTeotEgu6s?M{>%u10o===X=Q>B7H>omoU&4K`h6{ZTcnEOS@U<97Vst~dOEn8y)Dbl5wMXil|&CgaIFaM^^(?WI6JP@X-R*_DDBEIx%WZK+Q62AU7NtHq%J z3s$E8$eOCtnjtYZPE1X1=^vdm7v~B2-KFfz?EYZT0$<<0$?2&tiaNQ8Vruj2>b++% z-+3lA1+DMm?j1YsR9Ve=!%+JD{#tATFF?0%z+DSQzFMgLG(i;L7?^LgVk(hNM;vxX z$Yryyy8t-giE4cw&!)-A=>s2}I{htZdxsoWbQEcW8m%OFydGVp%Nfke*s+|+unw=m z`mlhJq3pOhWwl!Tkw~=a+{KHZ=ouXPrrvDX4Hu4)f-BV{w}`|;kqgQ9oHb3;{DhF1 zPDEoKFv2llDvMdoF7RjYW z=J$Jn?MkLQydi5yfo#UcLtCKE8P!db$)sI~@7aY|tdqDXZ@yA!7t4y72g6~_nF|-& z0BZj=Eg&8xZN{odMaw!uSjYpA-rsI-Yn#gV4x^JZ)gPQZ^#pQSp9&@8j(o3M>Uqrc zM<5v3U|*T6k48^RhCt-@e;Z?+f^!gSK%L%(P0R$n_;~@;P6JGVYTY zgOkmhHg!47#=JHnz)NaQo;KAJ(fxuZWQD)FUttC(%mSz z`@<)0x^=sA-_{-5^;U;%+r=9KD z6|%JtkaK^}CatvczFlK=o6etB;uN6S!3tZlcg56>Ib{%a+IqksQz_q7JIaQc`vL)* z&+FTR)RhpIUt?iT%I+5@_} z6g$L9wyv;yN0SM$yT7;n+{JT$P*+#?N+29+H0aIDevX(3K}MZJ-1#Y4pKB zure6%Q^AnDT_T0GvOKRobLo;iIzCoiTVLoz} z0=}{v5D1PRJNjha)ol>5TLrD=DFo59X+@oZ(ppwhO(YFU4N$^H!gK^>dnx}T5D9KN zd*S>y0I>5>nAMvI%bs$aQKy~Ney0E>!VORkLg~{R#wRBB-t4}!sy?W4q%P zwN=$MwP4wsM6IqGLLjW-Bov9P$`~EFW_C5_dLG{R;XNn+GB6KN%Ulj1sILF z3sI2YcTC!V zQh+gU^5)+E$~Hr_=&0_i?B4)M6l($Px;Kb;uhnRANi%bgH((hW8rg}B<0WVm)hu0$ z78T(wD-mM%(CB`q&LVV`Kpi!}XA)^oms(p|hidHBywkjHcXe;l>Gemjz$>WCVlV`( zYF3GKRe4LtfsK8hGr8F?-BXl2T;$MR_sj}o`F}VAC zdV1PUpFaJKp`oF_*SM+iU?_~DI9bMWPjqNj0!Gw6W8f5UB*V;3ni3dDnm}auu`mTL zUb)iT)6@SuI<0gJ)~Fgfix_z{5=G=WVn^ViP%+7uOG6R`Fbq^7t!Hyf+nYv%VO0xB zEVtc@U1u@sGy8Y#ywlp+`WLV?{18QEy1~f9ddxkVgJd1zTKQsB+_=BzYUHZ9ov5Le zbO!uZi}_<&4eFFEGanincTG%;AB2{67`4J(w7C<6q-sznqEVHnhaJSw3FVEn@+^TT zDHW~0zP`WKVapq>s;{rF5p8$|{oDmgPsa@q<%ub8)| z^s~-8T`k1O?GDGQvcb?6PbHCmNl#Hx`|j%zi`l1NLFeq|$x!eFA&h%;wX`(nT?nU` zeJSO8O}O2<*_qj9GY|^V@Aj>Id-m-4UTsaypCb?bCR{xMa`7;0AU`%N1r`c=Q;DH6^9%$(<^l#r zMhc4t8CMz^%p4ZU$NheveWi(4lFZ!e^Hq;ePach>lLrv!Ul9ZI1Y9KZmxHfE0zu(Y z4PHPS(PHx_4V+%;k>wXc4B!@7Bry+wEw0+F*1p#I+PrgO`-g^F!_oMMU;$ueOFAem zPDVtp!dX|2p{qd^$mJzdGyY6#fwf&W{QUZ@j^>{JfzO%Dwok7D4WzOvgDZAjTN!qi8W-bpbG5Q-6h;*N#G z7g`z{PFGm1!BU|?vD>k$tz~#ed;1$UgW-p%c%(BOiv+X;)0w1VG}w1oX<~|crz)^Y zit0SvOxY~aVv}uM-;Zp-O7zKtFUAbA+SVL2GP5u;)^3AVzTM;9fXsZx<1yaoy1g|R zi+ofzo9a-61N>VQBt(?50ttww)#9ZgMh=WmV&;sYgUA3%n+rLlDry=XzQrq}Nlk+( zT-(y#mbZ^DnoOF21OKvYH0?s}poJDNZIaP&gyA?76y!=WbJ{6bC8sQm1*`#LR!c4E zMH7g}#A{t$tsS@Td=2qxUrTGmR!~ZgQ}7xDuw)uzf_IgX&qc3OuP}ZYdSTfRMmFJx zD=~(w)|EDn!XYKy`88-95ZS8DCetqXuTe)CSr%{w5yK|J!8OE~vBK2Bq?s@bfeLGf z){pw4)q}_q#*m0P5xL1+NUkjsohda7pJS3%+iTG2-hArt;o&vt>Z(3+Yisk!?rmFt zYBw6c9S{0%=+a5AM6n#$duUlIfrSda2nB+@<9Aj$o#fO7UaQ&x{;;A^fHClgj46Fj znmF6XSYWmiI5~&ao=TaJ0o5`xJ~5{d7Oi3T-KgX=^O4DkDpY*>1YkY)U>mZ|)skgq z?X1+xOtINRHMgsLJj-GkzBjZ9M6U->b*#r=(BG`9t?}eb$lm_`Mr@2nFhG^ryg_#9 z19i*uz2OqiQ#B~ku)?8G66Sr6Uav3toZf-K!6rnk{}#-(W1$&jM`$s zgNg@3!DpvMf#L{@dvB>2Zj!SMmvC(XCsZ8=8LkiJVMmG zKZW2Pmk~rM2vU?|O~RB6q(d5mXgEBJo1ScKZoUrTAurU#H6>0F9=>De_K`iicK)og z!ujWbu)V6&i5`NoC14QB4p38HnTk#u_$s*GiqI{7i&dlm){X?hxEA%z_l!-?tmyt# zQp_A$xnXj0vJH~VVeCuQDVVhuJeU*j(HSvhS&T*^1a9Gm+B{qYg4l~-=Qab5+KL5;l2*C zpyirb^1Vl)=P?s=)+YxGL#U>@YOKQP$UAti(C07p`a5^;HebDQ<11Q8`aCwbHe6p2 z<7Gu=vM7JDPS#=!EwHkzNbUHg_O%qw_xQZky*)i&G?`4hF-Og;^dbaYwr29y5bqVN z=rR_$O@4FA?I zuV#`-KXbEzc~d!9J**d6icMe-TU=NzMw|FO%7g-Bv=Iaoq~eyL;bE#Rv0_KbF!RaT zS?k!u_)eJDj{x+dk|M^*ob{*}?uFn~)u=;KI1qvAMQ-vPXo`LH6|THDA=FK;u;T#L zVIsbFd8#&nRYA%iKMiTA$z&SEmt)v3O0t&sg&Wse&Rw|h+o*o?C8I&VB@_xhfT8}V zXwds-Hw)0p#_khChq+w?%@EM-WfjoBVvBZi)@$wWAKGKL+xBa;+NwC#Ni+(yGQzlr zhIoGpRc`HNHlOE$H}5sZGZ<4cACs9LK4ED5@K&XVAQb<)sG&J znkM({-Sc`?h3nhVNVqc+4n<_Rfn*BQgy4gC0?JrryG1@Y-X-2$-n=4FfOagvDg&oo z+cYsbxqWnUx*#RzQOznDtn0DK$?A#8sgLUo`c`OnGQ~?V-xQ*s=Y-w4Tr`!%KIj=# zPoa1CDrTWsbR5{XH}AkVy7TSsJJrZD-G_h{mh7JkH=6tRN($i&RR|AYK01Q0Wx;Tz zcU-@HyX9KPjW3|Q=I7A5&8bwz$nd}CkbCZJb3SHB76QjY-pTZf;vg{LQ-l_B`}4WH z^oUgC79lmPZg_O~GY+R?Qz$~k%R~X6nPv!_RRpa)c+4|&MI60BjR!EWFd-w@ zG=o$&R2D;E*U6pRcl@NSwPoE0y)8COE%kL1-9sa9Lb$g11AZg4aY|X$6U|6~qRf+A zOCc+t%GkSlaIJkY8n3(GNvXufC24gI1d?usuuVK=Mckz&p_xz2&e}#sM|VO4dtB5? z6)^yYkk1a9!2%}3M~3z&b3s`%F_^$6;H$WUGL7D)Op^Zo{yLa-TXD@jKHt>_jbJEf zq@^-*GsWze)^WA#cI)}em%f3v{TAFAn~|4q1ip)a+Sx^EsH&l33^j1QAUK=S6E^nY z4F(-O{r!&{Os4&bRH|aG(ifNs{$^=p`I^}um{8!}EM5VKaS(!$Mv@su;M*yzpV3OY zwIr=Vt34aGHZ_iH-?H^*W~1q+$U`4MOiPli8EhQbYE=?ylw;0LnEkxkt>w>KYYLDG zMrpQybhTpxYw?9bD~1MF5}V`A&fATMR{j(e@+SEH^ej&n8YxAjGv2JCR?u=`0X|BQ z51qr(0_YrkkIkNaFDX!U#t5`HL402KJ zC53fUtOtQhv6MBktSNz<`3hL&OBLSo1u1|@LF*Fy!h}~_Z(m>SN>OUfnR!?LpbM4J zo`fOd2&9%r({gbR{#ie>-Oz0 zf{}b()*CkC9msCVSP;KufEtWNEbk!UiRJZY%TW>+$DxDfzv7UH%WLuKTs7nORrd7t z9R{50ZdfbqL|?VY1JO&JAorrMiuoP`hX_+ zzrfJnOvGYigyWv2os!#+m&(9tjPj02T%D=JpR$S+$fijfAY|9MJ?`zpQ_~N`6cwX6 zYs$>Mfskfwe7qh30xzP&4e$%2J@6GXNtP+$4-P4JP8A}xmnVJQ;;0u>1}fWb>`SWL}OGA>19 z(bl`Yy`L9#+QvtLSUh^b?`PoZ*@Pv{qTy4Z{Xj6_e{|2nfB2SbR1V2*wfB3q-6K1Jzi?qa>L5ox%RPJKfzMMV{?f z(D!yU3XD7_2S4X?Ax^QR6T7+ths8~6m1(GcI<+Sc7rSNCTyw_ku3;Unfv zN`{(NNfr}g?EKic6d(&@l0mx)CJ5n8ZlIj51U1%7GxvDB+W!85Mnw0aBAKohrqyiR z2y$Dq!6frYRykW&)_+cCBj=N8<+Na!iA&Keh^fy)v+k~|sq-&~XnS|;2=3gz{pRC` z4*nd#GyelO|Bt|?{y7AN0VJIVBf*e>B>3grdb!s;Or2Wp{g!-PGLzAD-0C=hhI|nQ z|7~Eg#$1j3!C;@IB%|Hi95o(64J<;ef(Yvk64NwV{I=nA9B(*iyK&>j!MlAupNFr! zL50B0&o_QAZRa%lxvz8NM2#kh!Xh1!Ncebj(jRxDwR2f51S!O>vUnHat%T@xb3QNEZM}a zK5FNdEwmyhuXWz>!OVN>^tp3`CZl;A*zBKyR=ydUznzH`y?gg74ySXoq}NNyC@R4gkaGVJ;*l9-0OpUM?A^QjY(rJ`x-Fzq>`|+6Rm==e zPM+$#-DMjY8*?T_?H=qu8W#AJRWw*&XlZ7b7MmRWehW}Qalz<}m;?p%dFxdwZ ziR8`3hD~ENE@#2^t^GTIE?|r~H{sJa|QEYsxS;B11m^mySnkyYQ zcHipi{9`cnm!KtAQT)KXCa%ofVm6S5U5SMN3Kx(Y{2Qu9wrP;E_^mgKBh%jz~1x20pg{)OBG!UK3`HoN`-V z|G)t%rUC|GC!Z2&*=*y^$&*!ix%xh5YgTtN5Q)`o&PI;v0ILYU`z(r1T;IN}-BTE8 z?!9_vdz48VyzqrO=>iVk7^{7d1IDPrj?i;smeamLGKaV`- z28vWyF!PJs!CYEWFeA+aLNg<<9NG_oa%LZ&m}nUtAKx&{d?w&`y?^rf%d_s8&w)8? zBHFVE|17Z{BIho7+G8Zc&?LKI(R#0{s&ZnPfw@>G zDD=dF3u(NNWXkZNa|%2@f_h5k41v!SYpnTDtu6(a#hI!QX44emA~PjY$!eXbDSBqk znlSU>@rlY{EdBy!c@5YC;YZHpClg~P)J`=8Ok@*T^}i|^=5v|m_&SkF;FT0)y$tC$ zffDGcG2kYTG}YBE%U}Meq29f<)${DpBbP&d?@5!a8^_}jem{>PP7;_>4iCA7wCSoP zJ#+Hpb9=DFX|<}R<+InW7%yMHxpiP@_?x0mdPNW=_-c_yE+JJ9WgzK*7?m>`%BVaT z4!3YGAEr$**9GO+XY={94+4&D#^MS3TfKom(Iwg?j>D>)?u~@?=gyzsF+Dx=by?DH zOC~eONQ1Tq+A}C26>lM1txKucweTx<9xB)jiffAGF|0Qlior-Q_}ZSGJ5Fxj)Z|^2 z4z9z8VBbpb+qv@=AYOlhN!*LLo;0JiL@0&;!os}PVPDW;tmvhsIZm!Y#^jY1MK5*F zqY}0BnM&3w->pNUZHO*q2M&A=iYwxW_0DK4&Y;4Jd8|4!AD@}AOw7#e&>8gmpp83e z{;IWK8Hy4nJTsp^!fvbnL|PjKmH@LGL?Rb=CIGGOMq^{cSTTu|d$0Dk)~O1+^&+&! z6KJ}R)JB$9n)UN5%tu+2_b@E#XLh+V$vpcx&vr7+9CTWh*28bJ`rL8AHI!(i3JW2!0h{>P44mm)^pazhZKF zx^7}>>Wj$ZKakF79Kd0Kbk87)+1ydE0heYUA-W>wL5RWPG3#|Rw-$mrXMve;df%SC zKRx=`fejDYTIk4bYOJ4r_Slne%UWpY$>anAHw9E%L-q@B05D)GQ)c^H*0`kvH0CNS zgc$&#Evv++%FN2y!V2v*zy47aP-4H7ts9>WkjkrP-Nlb+Uv*|aF*#k~_Xl2r8MOi7 z`f?%l!HI!V&1+)l(8?*2o&0{io7>t}GAb3 z*E|r3Snu}q>_=?EQP8}aHhLLx3M`;1D>UYcQi~1foJkk=Q4z^19FU_kLKy3&D;ABv zjx^2{6Mz?M-+KGKrmAWH{*X7If?Yx0c>sl;7~EA7R+S{ITS-`06L<&su8^X4GQ(1( zI=1N(W1k=00xWs!jjZL_9}FeATx{g}5-2K2IQoG?YB2h(92oQw)j5Dbtb8y(Wi`n)ToEoX+bwYGY(8D0i^JC4!t z5Co=DZAu|0nLHI-^`afC<}*KY;X*SY2R{#u;!Ds1o54)(W1g$d#8o0vJ19SM-81uP zk9*Vj`1qF~@U~!mP)Z)70p;Jb_ng;KW*93zM978MR1io4 z6J_hL{GRN0oa$vufq4rwyepYXx7)oH)1s*0F-7G#ixGNiYQ}|5JP)5iGoV(DOnY7I zqDTBb7bJziAZX?OSUh&uRaw>BP*YXZkpG36uw%!LAw2JFDxK`ds*5pKX3d*s^Z$-C1yL{?jl;n};H|wo zcl_koRQn+^Q6rYYR-g zWCc)IQ3IH%5=k$l;5&PE?piVy`*KEm*N$zo$b-HJZRb}2+L%Zu66g+k25flMhyEy^ z<`TK{ifiWY96w$KWTIo!vopVodh%Pyw?lLx^-YawSPq?vcn!@}GPSQ;pZSE_U2*mL z^~0m1qrYu3n;R(tR+V-sLW! zT~RUo(HCC$0jz~*Q3cbj8158XR~WlsKqi+f8jlw>n0NJ<`K;G5J3IRnil}Tw&ZR}I?oxYw-RJxA`yU@ zz0YB{uBg8}x4m07w~qkG;{*ohBXIUCt3zowSQeVJh2qSp28_0%lSWVX93X2&CH2hd83Rs=aK9j-pwwOuZ z)nrl$I0g~Lj`7UE(gIWZd`1X96C-D)b>&cVMO0sU>6BVpDQd0H`>JtaDk31(wH`_+ zA;A?j&34t8`P9@DOopk0NZoQVxK0HTr=ZbOg3fRYjV6lCZVIoFXf(d!CU&*ahxhFc z)z#E?qGHm|V7ly*WnF~8B9Q0K0>$n*(9QxDBi(GpnEAUWPV9i@_o^sq4?64)doUbg zUOLK;%!Qy_V>3IEleF@pnx+bxfJM4^Y-UD#{?f&5{euI4!{MwrXfm1YD5}B$l!%Fw ziCwQZEUE17LM1oB*n!F`3}AEl@&3L0-r2RKZKg_g8y{Q-7_*Ti&u zPzNS138?LWclu0Wa3bCn&p9#l`?d`X8e`@~4VB`|(JHm{Cu2OUp!aJ*BR% z-tqYEoils(?z)ULl(!PG#AGZMW2S$4sR!kYD#=8YgRXkhAKgZZd{oL?qE@mfrjTR2 zBK|$KXX&$L||h9P{WJ_FS~jp zyz);nTP&4spYP*FlLd%~x@r{-F%8QT1x~5OI!O3M-FUX`Ge0Yl0k3SfG84WM2@-HM zs5EEJra>w5E|r88OVmwZo_?@x>(*aA@z_3YUSIj4Wlu0$ts@_L{<-f;Lh>Dh5TDSC zalxQX3Kj`_U@RzD^hi65MHE1p9FseRzM+I2^RrX5J3q>h0&G9cdIs@XsivpZV=Yq< z9F(X;(X{hbnIS_X!q#h6od!gJ(t>uioJvX$N&W5`BRWq^YPOG*} zO{0%Le&}@+W4Vo5=w!xZ=?D)$as!tZK1(g7NcRFV7jSTZ_EF@+A4^zfJf6oe6rTp} zc>}{jhkykON|B$m^xLVDtSUUvf&jXf1?gFpv2?nqzNV$Ou6S3BdfXKsoILU2NI3in zAiOma01_qtF(HNos;oehtseJCNKg{Q3&`#Dml zI9zM-hH%k4$-swj*lYtId+EdfQ5H2PHK{}-2J2VQ?-fMgV`#DF^pp*g)ynBz35uf# zchcF_42D(Nt{3eOKVgX!$cDZs>B=mPnQ;3pc&~wLrDzqqR(y7hOimhyhK4pn!Ptvx z84e2SA+sT=oN6JJC6Z?DbV7=w`sH}@LW}7)8&@_Z?P2XSNm8<|x_T@S@ZCjJUm%Wj zxdo4`CZ%ZUk3NVtD$Ff{CDLH-g~~qnJkTGG$=!GFwgkiBSHVEGpxBKOHOduje8HyC z54WF)>NF{$+nqB{~%Gam>2CUvRoyZ3sMsuBKoU zC?PY-q4>z@AJW9LX=*eY3j{`y%%_&%BvZY`Y^I=0e>4)kif4VVrKRP{=EjCcLlKuf zWlOIEI^a>5top&jPdxFLTeogMsW+I?gu+)!So73WRyMwi?+>NdL*AkVDL}rh zECz|XuaU5gmjMcj3E!2EnH|M4Ea6z>kgS&|lHJInaIfOae@zPtR6dHj+74UY@_C=Ua4T)3%UibT&aI5QfEh48s z4MuqsK~^p{!LnN1oLOk;%`Vy%>gJ}tE79B;GfL;~n3$Nb7wti7bfc+ou;#7f?|<~o zx8D4>CX4w{Fc`8=OiltEMqiMq!~`GG#G#=RSP6nng9ysJiShk$Q*+a)XC6Pm{p4#j z<|#o6S5`HA&^I!9LzK*uve7PhgArlI<7cidMH^Qbxw1E6{j*4DMR;CmA$pC-vaTOX z0I5J$zvHMHRY^@^L9JASL={T1VliZ6+PI7D0VxUaMOtJz-Psb$m;zr ze=LbOU_5^8UtP7eHPg$#Q{h)u+3o(rhYw$el--F6Uw-B@r#QbQhOXzf1nvX!mugU{ z%-+}6S2Hp)MhIvHAF)`%fU0#{!jb69W{a&}lJ!CY5!0w2iy$kq2+-y+zp)hjz$M;5 z)x;T+9%3TMS4@6mXqEs%(_1m#R``+&m^n*qP?1j$rPJ28-g)nHXDxFOGe=3poV(U1Eq5bx@ zE$y#AxoGe^*SgfMe~^#7EZnhZBZ0MK7Z*_BRa7STBemY zA{Na@^~XsQgl`r;yk(CNX=_?p_9DT%yJ=I?ilV;d)5z)y*GwP~>P4`k4^WOa#vqq@ zkf1~09>mBpNv*}}^|bhWzJmQLe!pM5*?FrOwEL*dX5S8mX`$37s>o$B0WuUcB|m+k znFh=3HoHvq57VU24Zec_2$E>^TAgSrL*e8`Vd5U9fHqywry?u;OL?K9Cy9Y!7K23=X&)zsp20p#`x#3)L@;kWm8u^e8mjmC{5^KNZTZY1OPdwd%%`SjDyAlZ=&jod%=9O7SE3o7HZY zQ2Ed9bg%$8W_Os2u~>M3w^5aoqJnHku+` ziw#QGJ?h)sGa0BlezDVjcMQdDj7}kdW$q6{phlt^6*6Muj)SVKVYg&yY^0$VWacYU zANXySP5~B$q{cjFl@$td$H$6*KhTCsh6Gbx@UeWgc#%iX`213DUvCXij1C%&COcAZ z1lfpOSp?`%)h05v!^bS76S<*2`S*t;9FxfuiABOw@l?{gsk$nf|J5sVrp;)Kk9j-; z@4WYZCqOxNXc4*g;FI#Ry%T*>Sj5D@kiRY>h(e}nW`(pIG}F9${QWJE3O*i7#+nVX z4jA1?lR*&=3cMo584ia9hr=O&rjLxAE~FicU8`2lBLpl}xX__e8(DH>S?`>jn%sZ= z=FL;MPuWCe2g0$MD_5_++;RK%AK9y`c6RBiaL=urlBq4_+7w`@<=~>LEZu5~*q)o0a&NkW2BOq}3Ubr{u)nlyX~eCf15E zb7-g5Tith`LuBoaXd+?LXRAI@H}nYhV3F+b&E~V>79tfzvPVOq2poh%$DTeqSt=6> zCeA=892{{t?4DRM?NBsXi*U@ zmJ$pi(#a6rtdTM9I{Yp|PsgyQ@eZ>bC}9*NLoI|Zq@009TCD-`4p<8@3b>Sn?#@2p z+=a{4I?4Q!?kAUbX+=2-pE{XZ7=K7>DgA?`2@oe$^aU0|pIwSM)fyRRVSpucE_+9k z6%4=1d+zt@?~i;}IMW=(RogK=Lj|rSqXY(BjDvZhyJ^`QfoI(+>Q+I^e>J8$ zf5rk7U}?&X1(3i^lMMnJ-cfzWoECMp-TgzQt(nJCX&bQ9cYYiK?R{iB0g!7r8PIPt9`(7_gl^8vyn*nMXhW=1ph*XLFNslkLo)+i~PpQhKtQ> zIh0badE@x|E?+44q}S_x#b7elA`VBVs=VuyJOTRWA%AOQn*cO~cxG&jM$;Yy6c8=WlS^$Z>Y&M&lkXH`F24xZ~`*ua> z(z0(s`l<;*{zZ{ym)(j*E{w;*v_Qol{_y+%M$}0!0pe>DxTc(jwgu+~OzC9f#%7&~ zLj{e}-cHIh*n<{KJS z6gSwWNp!?L;gU$RtzRp#U>ocvsvjP-(?X$Tt*=h_eZ?5$+XycOQH7zBCjaS zfdwu0oTdJrPutbam>Dm~Xu-7fEU*iht;J~(2FJb4kx(pYw_1|1P+F7FIJA+JK0Py& z5YwXFq=C>zc8D~_p3wXf@vty4;S+Al{X)y(y+VlGTm}ea$p}!~VV=#Vs_B?^$0OR8 zGJne8TzF+P4G3(m9r1X(8=a1VfWcOTnTNt5JAh)Ik_>V)2)be#6bKQ`ix>CkgZjNXS#rfAun^Aa9%V4)bDBtd zC@eB21jsqCp~A?su#a*rdj+k`^u6!@^_Ofm>j8_!_);{PZiSyzOsBPA&?sRHcjFON5Lng)` zLaS%6pSYLe@TNj6#9*NJL0Dtok*^(rRCF+OF{a^V_40?P(e!&7q!poqmec!U{aVm$ zz-W|}L>}=@X|*c3h_>W1q~{Th2>Zhmh+a{%}($slT@k0APb&4b@^n+eS~ z>h`#Ou8KSX+P%Pm<``x9~hd7{SfAZ6xe5IzQ=GpP_v1cK8G{j+2Z))2r433V%FCKx9G$6p$ zfp`T2jI@Ff!B`{{s4*a#g;`%xc>8C+5oW#Ey(7!Y#-Kaz(jzbiQK<@3IHzaDf0Fd1kOeoiNl zP@~XNS-^~u<0ErrV=Y-+4(9)c2LwMF1e4tkCae{v{SiSArXGtXm`e+2o)iWEcQ{F= zRtRd?#UpWH92f(Q4lsBb!Kc8|hbqqkr=o-?2`NmsqPa((-g-1y9r> zynDJ^_|DHx3L_q!Fdfkg{**}w0){@A)(Ii3`T(vC5+(qcejI^tp@dEdAi^pb%Lq~O z-ok*NMl3`c+8?XI#e&y}nXB)r8Jxv(DGdFg??fH~qbaxd#rpN&?~Bud0uafPF<;b1 zDTzYCnG|~>L)$h89#04^k|YAxG#FO^J{c+)$rPE{aUDDd zsWjXs2!6bBvr~v6u5KpafvFKes9^Rw;^3tDlXkwo>I)Tp{gvYlF{?}ncCH&49xfO| zr0AOY#MG1n8|_gDs*TB547DB*b$qCa@Lg?GKDPnP={p-&=pIXN-I62rGI}$N+ke){!j!1 zGPyH4%SOQo03c>MN8H1#*UOUjBxvY}aAffjz}$ccfV5K#9TEwl*;9rBtTJg$((UsG zomCa7nb8Rcw03Pgh1d$XU6_xJ;vg~wxl~J^#v8MRq>!Bo|=hMH;gRHu5o-vjTSf(mSxI0q2zI#YRd+EvgC(U0Ify{nFLTb+@~^KAA`+ zpRm~-PBQr;We~No3IAJ3|0=hGnvA?`Z7dqC0?5E-w4W>%Yr4zLhGVtoE?xc5==k^_ zxGJ675|NP87Yqpo1glYyp~oMDpBoxDwDAnSvzV)do^g+Gqq9S}-8(M0gBS}#B}6_O zOt6v=h#*QG5W6fbjlw}R$}5wK!5mLh!3@T2fM7;3ZnVUJ8%9vcarj{gE}3OwlS-Zo zOr(xAXX4A9^R%BWOg)NAS3q`wAAoU6!;OM50^?2+HiAhngi#@l;ubQ9X;2c}z`_Z4 zo%t{bKOpIC+|)3(XW!nbE8($9DIM7r35BF2(nQH6#)4JLZ@Dg))EntK6wH%q5S$E& zudt)2X7RTqWX)oyOMD#iW)ez7|8W%Qit;qpDw^j&)Q4`bdn@R{>qfxx4 z1W()|#N|pM2H$A_X4f$Mq#D@-lPn|@4K{z&z7{oM&^HLJE-L5^gcOHFGc9?RkdF>? zETM#H;m?)8#C4b|6fMotVF*x$Otj>CMev=57zx+P7aP`x{7$rlj~p%!q9xIkF?aSN zr-l+;Kx2TqNHC!z;4On{Xc)s-#E-lJTEZlA0_=(~1d_-`KrM4I4XBKG*khE$saw}C z-#K~Wga737xPJwNz-~f7qyTmat3HX8HGZs13h1zhngM`job-AN;*>?z%%L5a5n;O- z8@e+Rk85=VfL2iR9yNHHI2dCHLc^MBWe;m%mBSJG{!f1~=$>&8BJgYn0$D5)qE(qu zjTH}p)Q&vkhaLB&jfp_bvjELCZ)yf&u?jG~!>Gu$1pF?nN1OfNLXTla1`9CPP;4ukK*1S#!d$nmQpeZ z=p99ZgqV8@FmYkQZng?0jCnE~oY89IgPMr<5ptVmx!~*yQOmXD(($@i5e33)Ktvf$7E2WF3&5=JR0|cn~3= zWl`W@PDNh0#z25@`7~)J7_fBQ>fARo`pg;Eq(k4;QX z{!NqB`ncEc*w#X$IefM8PF40+1YrBX(PTSZCha?X`F+*vft(yIO{oGr)ZG#5!VWn zpAW+3w%S4_3DJ=`FNl{Dqh>cFghCn<$|snQRZy8aWlz$`7@*ulu?8Ee974qJ5j+#q z?wSgHw^0ti`;+he%l~N6Y5fhNCN>d`Salldy$XB9HlNpj7<;N54EhBGRuWZh^+O8%dN74K}I_X=f`FWQ7}NA}9zugWH#^xT@Fb zf-pgkVWEczB*J6{0x9#C(c3(3=0bB!tro`MG&31^iM7^PJdqcK>8;Mr*51DUFXOq7 z!75;8CU$^{&`?mp5;BpeDN3gRpE)rs>VvAGqoisErolll_;G^rg?phL{VF)9VVGsP~E-+;H&l&bQqSFbgmeK^t@WRaGgw0KG zA*eD4^E{b$=TM}OpDe(9n;Y||{-#veVv~z0i1(Ut)W0}0U*4Wh^kX?^jCm{4(fo@T zdG4Wz%h}V&a)Q5n2#5n3oZxqlAQvYTtaAxHhLro%5B}<(|K}Y>-CPOhT7xkVNvD7H zo$q~jAJ$Y05CR*`KmkO7p+bUam)C86)rwO9`zR_w>WDcMR6MFMTWd}?ktSw?iS?jP z($!--(itH|78vyPC?dwN`OVtwHg{WHRmAm0YVz9c%K>lJ$nbLI?x~ z!ZFgE(hR+gqTbZn*GhUBp~ua=h;^tHO(<@Py%YmI)6!W~Hiba)SKc&WKiNY+$KzR|s4;9D3`meCtP;Dg`GfCkdt2X%FZ+`gC|81Q`J9Yn@ z#1)ZOUi!$-Oa@~|I-QKT-81*4B`jwa^J_|!0)})dRWswBEy(nem)SNS0${VVVRPMT zHe0OWc$8^Q6lKfuWr}}9p;?Y0$GjlKoZ>g@-aA%TI+J(%hbC{`?z$NahxftcttYoP zF(N7)!XO$Sa?C}VGs{MX3b5G&0snTSI#IQ-1=I1Syk5(>3+MNOv3|yAHf;j)(NHuk zZQ+E6PfVOe($WiGQjpbh4;o)Gv%_ERgAmtiv)R52!R5^(M~;j^TdzEE;>0$bvjg|f z%bKv1cCaEWurNSiMAcBBs)%AO;say}&c~(PC*O17GSL6#%{R736EUP*YQ6%P)!kFG zGj`c*6!bi|O&M^+z0$BsVTFn3{;cXtNeI0*A>f%wS6nzAd!qM8BzMC(}qV6o7RrI>uFryoP`s-gF0z>}{>W+WJ>TouPfgOtCJFg89SIFUOZL{UX*kCZjUOE7jz=5unR zPz^3JmSp*?23k5R1WKk`Fl`oOg{XFgfsmH2XzTZJjeAG)p5PSKEUX9(O0IN)rkMif zPB~u6D8`t$YHC->pY@uvVzTtV%Dh$KNoDTjE{O|~pl?Xl2hRTBd;j|1*mXKzjSMya zAxFd?PrUl-tN-OUZ~p4ZNHkg}iU^bE$GW2cW{Mte$=Zp@i3)VCf4Lnjie`=?9=6HJ z>Bk*Tdp$I9qaGj`#K83iL~E{0R5Jy?`A|o)Wc}spfXF&+G#O8h$Y#k;+BjvWq_As~ zS@lsu4vS`Ies#q#ifDGdB*O`d+NBE(Hkgj-#JTg2TWz)@&>t!jF#S?FbxLic=a3dn z_tfk3EZ3Y0axnirZ9sF;(DQd@5#ta7NK;g-EIFHhCNqgjl)b3f^@hV{y`x?N8i?`vs+F~>FL?UT= z?d`W8_xnTNve<1$D=TXnXy>(?WMRhV0aG>zR*Rk0Ag8f4BSJX}A=YSf3gd1+{Nru} zz(Mdp`Crr+$IyfBpfy!Hqf#g$A&4<;oHzxgAR?tLOLMZ5tH@-;&=n0m%Yt(P+~$KQ zm2@;FAU+VMLU9*tA}Oio^pT~lDZX6h-_7EVD?)-|idQ4E*#)Y3KWiyi);KaGGZj3E z`Zo_htK3f!FtdpA*+_h1lK1g25_IUh1>c#2S|QW}@3{g@*8h-aM<_-?(aaTQu3%^| zH9bquEM2p{^Eop+I|qy$m2~u)(1=-zp8NF={;&V5Mz5Q#p>%~u91f>3it^E6tie&l z%wYcz9CTVSM*or82 z9TnQ3!Wc@vx0*h5ueL-caq2tE=LQ}mBsXm^9I6aNqYuFT1))8jyLRKLk%`H#W8t?T zJy4{`d8&b&%4Y6qS)e3vzyU%*HIivFRDdp&Ep%?X%+@U-jA>Xt5S=~4-UCQMgZK!< zXrT{+#VG(@yisYlU)s8L>vTg^)jjTxDw{1JYqk9d{u?!0EluFMx(KR;vHevE=%X0z zWiK~|pMk!S;OtU|IyfB@qu1M;uEC05Lry{emwFq&7f(>hQw8 zj4GuPco2byAoz_`aZCp#v%q=G4^}~sLh;zxWPS21f{wl? zd6~YaX-B2rlw9fM94z{t^0RSqig4xGGpWC-<$yp`lzeS!8y(92q0Co0$Y;%FtD0Jw zeP{P(*JOp1+~t(L7u%Dv3NsUw?iYIIQvH+*?#;Z(5j0qe8o}*l$0sY`q|$INqTvb5 zb=g4EQW1>Ek|JdiZfkP-QYP5qti_;#@lNw3uSPtE@lw@sL zyQ45mVBzgv{(hrOtmVylHfM7tk}}2S$ALa25{PoeW`bBF&CukeuBoObueotQO$uh_ zV?Mv;^7ZSK)4UmhT~=Z~v}j0sQvI{b9SGWhDAI;z&5Cfvr>Ca{m(!UFhr@RqL%nOoi3ufj$L!bUX_hEVE)r=o;R4ELOb?N zmN}tDIRXyHXArqA0@;nhuqr`r3~C!|SD=6>g*|1thGJw=p+S|O=*C$$OV)ZqsBcWD z%?f+57?n>&3Z(+<4YcB?f@y)MrV;(!f{_7)AZ(ny=Lc zsNcAl-E&LRq3`p{p`KBFEtQHRK}T!AR5zN9#$`(#1y2lY?&g{48Kfa)2q)Xj za+sk#&|3!GAxUO#STe;lpnUHpb?_MU|ta z#bXq`4qON^4X9R<07%Pa05JsOL!ViB6jq&!?mJiHgi(r2wTf>&jofvE$%1Df*B^i) zT8udrD6SSx_>j^~7MPQ(op0x?n;3J6k6iQ0JdzA-6`97`Y-ceT2Cg+r%1x$Wvc!AQC z+DFe=s6L7OjGC@6Yexfcmvq+tc{6g>9oY9VC!+`|b;~9T#RwH-ie3K7;8(5)1u)OB zk7=;i>-}MGRZ2-$SymwLvZVmEW7trPV65Arkyn6;Ly*Qqr-GJp3SyoGcT>%n4-;0*nL(+j{lt z)t80_hEOCKRkY%9>%`>LK74!@DPol*Adps0v@aC0mB3#p9ma}xd>%#6*9rH`>|3Ay z*hg>@Gw@GQ%Cis!8Gw%$<@bamIB7KTH1?@Qre073g)iAtunghx_VCLkk50-MwRR9>q zc$i*F=VNRo)Y*d1K9z_Fp@1861Yrq4_cQ24fC53ZM~oEW0}*A9Hlj{;DiMTxB!%BI zg3VzR%&3)3OhzPgHWQW=;Y6_rWVP|RhOzHCnAFCn&evH&fA*t4 z`}=S2c1WJ(&=U9(T7zt);La7qNnTFN_%(%7Ktbe0u(%G&QWCQGveUl`*34sxB+LWp zdN2<&ZLYamd7+v)tJjRppB%Mhq9jI$jwiqzX18tK;;D2vmZ#bkJ_1X+1K>SFEiKKb zL*ekpK%WLh(|+_ONqr}m1s$Y;(hKHND@@&+Be7_kI~q-%K7Z*D82x7<)HH!EBAp)q z%&H!+k;L$5Ebc!Z)X?ueN7YzjsPI)&RYm@KuX}d(qTONp>zeB7ZkZgcc^uVFM`FhB zANciaZ*-zBdl5{=YTJ{^7w!Ox0?Xqr4><*-OJ;rMCTOMbHEH9qcm?Ll7VOr<%$Jn1 zIPLdU$fDME`s|r6Adv7Y2BTpMQu^TZq;i#tYn4Tq(?Loq`9c|kfNo1x7RDwNW=>WY zJzOX#X)o;F-X@Hn>cspF13L!zIe_ETf#D(?QDG8{X%prE%?B_EFfuiY0l|ZKF7qnS z2@J%rBv#itfs&eGK}H*717ah*1R5`Da-+gBd_2fV~xh0Jf2c z*^`S0%m!FQ?0NIG!0ug6N~o6--Jr}?wVwC#hK?9&RP`out-ySDvMe8N|6@fLTjyW=+PBNDpbFQ|GN(|95`%zy8hXHj~l4JgTAo zj?oan`X7j-Q>4{1L7pG$g#rq^H{8gut!a$2Zuhc*V+v;G@YMn%TT>6lfna9FY?+BS zpF$#w4F@x!W<_aYGIrte7&6kfoy`&8Z@PvSfkM*G_N&pGrb^|Jb(Po)KKqC-pm(rYj z&Q(1KN=ybcQqrC^q7|n17NFNSaPq`rH}^)v8l>(y<+R3f=JKUuBV(hVMY-C?fX3Ej zG@60gqWGnW=YkYyx8nCE!BX|#vL29jNmiDumaPMGLB2clRd3!@BV2d&3zGq43dd17 z4FUmZ!mKA`HlK%MWh{sVe-XoG!nqnGI2WBx)waOg!a*StpM7D6jzDK z;EZOIJ`?l@(trX@Wg-EsSxjXhn509IX=E)YH7+u@2uXV)8P}%3$gxrxGa^fa!U~l@ zIO2$EG&Z1!nO3XATqQn6Q+A=C)y3#dzf+y{BuaYHjTAS7VoE1#22~Jat~tg)$)v6b zdlWscMz<@hdR_>e)2i8dlyQ+|>^W^z8M4Zjb@Yrm&6^D%hK}YDk(~ZfMHlr7g;}#b zjagu_`TY>UNC2Qdu=oN55?bsCJWPfoQo?_?-X;DxI5B(TweSDi>&+IkHy`>u>>M&h zPEJmG?bTI4D<}*7rI7A!xNAuX12(%HjYTUaCMK7?F&4zk0pTjW`Tp^GNR0$gVq!3% zSra>p94&(1oWM@Vq)O&l%3H@hGszT!*;5FWFQda^HUR-H5r?T3F5|RPr1BBPPDqe} z#yRKvCe55KA(&KX=heUkPodBWvIk5?Ib9W-kYa`s<1Pdn z!lX-#T+Q)k%!08N%sVwuOr;^6hYX8s)&QNBLdJj*B}$!UN!Y(@i*TuP5DXpp<-lW4 z#fj6{C?1`e&K2Ds5#`X_hjE-+< zZS0H$Lm9XM;?U$Xf>};L;6o{OznO|j zWON~e2>2vkuvH+(5saPHlmTPMU#haq{P^I%ID@1gmYsnJG?G40A6C?8;aEVy@T_44 zCu{MHjGRia3Iz%mR^Aj}IBDC&wCCL@iZ7hnN|qSXAqcC91Tp1$GPyI%d@y+(jbF&? z5Bo>^YOC~r`JevupZ;uz-78n-J+T*}65j#{}}X-$FXt$xnUg z!$ZrVLxt56d;Q(xy_2)k-3X*>gC=Z2q#DZ)FXT|IKNQhUK68p7He1XRXypoc{p|qA zvEu#@F!OLcCIL6yiR3WbsjHVi3TF2;qt()4wV3S)EY#>=IY9a!qY2TSUd)2Rg2f>I zFgFq@>BQh@PLl7IDw<^t)%cDWA_V%_J%eCF4~ia7H#WGs5-BkVbNZA{5=RalJb34y{oboR zRHy))5QcLW9mS+H(y!I%P+H{RYT|$U>3a=7|INFbWs|*W*sJ~UL?HD-S|>ZH^=hi1 z5`0ElD4Dydjm!?N1f*p(^DLiV#t@RALIQb8&?AjY&VLe$_I5B;qC5a(y6lhoU2g8*UlQXplUbJD~uxh~E zAq-d`>&UR2*m1HQQh*VV4U{)np%G;}3q53+32>1R6DJE2+#(e4hO|=FW~HPZ2{aTN zLBf`T7og2VGun)ITuOU-T59F*efK~8liyU>EhEKXbpk~W}zKahHyZ_f*5=0;4Y&4kNNlSz%dE`)*SHeA*0 zS(+P3$cna){S9kp+4@1gq$%!s%yS#iFvEv z5mQ&KB9H7rHc*kuby8p&m<0p^J&Hk~X0{~5shhqVjfUR;(&s+YT?i$fefsF=_kQ}5 z+ma|Bg<@qP*FpqoQx-&HKT6nm)H8F1MG8oxBM#Ixn5mtxd~A)x;&q{DY{qQRGlalt zpVtD7+J5c&jkeA^T^~)0+HFW3+Xu}0CI|w$2yoO1c9`khS&IRqy=u?TnQKZq95K4A z$(Q`(EDD`jkLeBwI5P?}aEs{e2BhE#!V6FD7d-G+k4>Xmn$8H#pRjZwoG}K8XjTfW zLYTQWC59vLr^rT4SP~PyWMXD$_m=wOh!-4gZL#$J+rRzA&H$zlRy*% zzinG?^9o|-Q&ZE##5dvLt8MmKwkcw{geu~7i*82uKWiyWFQ0R1J0zEd70{z0Fde3u zgGpgLSw6o(l1Bht`rhuHyKc!ML+M!d0WCSH(`avKHR3d?=+%)XO>nIFv~$T1MV>kG z_xE?+?)(fuZ#3g>&xirc{?d)>d+&C4znV%UcU9NcG{fNPM1-(e2}&lVZplxYzd!|1 zVSZ)>L?jf9P+mTS2oEdh1&)|Hy|O8+MWiIZ)v8cH*?%Z1)q**;>Nj5gmn%_*s2~&W{9iWx>b1C!-A0R*IU$x-P|UzR2`TIVbWpw$S5I70c1#D zf}hu64FFc~CN}r?wr|^3xQ3C@gk6=c9*@`C4Gm%&m^jd13p2AT+*kG9DmEJG6Hu=}(AKKuAR=P%7r` zi$`nUce}?UJGV66{V)Ict9QZKQdMxozK1*h*MItZi#2muzw01Xku8n+ieZ%?8d7`; zvt%o_2PT}bznF!Bar0$8YyKipsI6-ed=rCiy`(?$?f>T={VJGTUQTTx4QbWSfgO?5 za)(}C%u9@__AlN#)%K%boqS9*7^?@yr;Y?-!d4?v6jM;}lYTJ;FL_ia#)IvRrYll3 zb^U+)J0E-R*|x?G$_Fo`P5E5=?6G6L!=q!Dp@r{-YmHo+jDauaQp@Mw{G7F;01Nbn zGYKvscu|&*zrSo|4%8OQ)YQ~2$!xC1EG~3+UMeM5eBms$L3y5E678l&$nXynWGih3 zG?^$`9(Ep>K$D}WO@3i}`<5P;)mpF?=&%?wlV1PSiPNX915WfAJi8joI(z=|L#ZB4 zZQS38KDC3j)}TmD48?6^uq9hG9><}&TqSP_PV@nK?@YP|}Wf>Sc z6vEQNYYiuckdDj>`i#b(_D^(&CdWIEY`6AlB&pA6bd6*Z{-MA4SAR4BH7j))jr#UK z`NQQlZAsTrLfgF8RTYk4M$Z-uVK-wMgYp~8MyDSEwKeukMPe{)tUM#9EsUZm_C`zDU+G-Nd=QmQXl3MUBcC~<)=32e z6twr;&Ye4dxpT{wB}cD6tY5OEi_A<k_Z{9-_2>WjUw-p=vqn>rRS#hmA&s4Ky1TB< z&J2&ux~*CShSt@#B^n(10MMD@FaPELxg>fQ<7B7NkUDg|q>j`LWzn{m%3V&>#C zSAFQkcn-hE>QjJX!DvfI=FoDM7HjabnK_C$VE!1Z5F|ul)~nz9@_gd52P(I__nX-1 zrb`(CIv3IPz_~|Y9r-cA%&VM^3?%+Rq<6jj#N&ti%%oZt=|I|4q^h#&iYMTk0sCmA zc<|-1gT)&}Rt73dO1^MHno}Whm0~31VdXz-xHfST%Kxg1nq`^~{z3(pWID80!XJ%&!B&G&GFW)Y(@dhvJd@Nqa)f+Cx zmQ)>9-KL?uvQ3&c0zDXyKM?RH6Uj@hZLOEV$cq|~sFPQIb6H@u_`n_LC_1l5AQf({yp?+1lT&S}(`4u)q#L6xB2H)=7Nk3aGF5yF5j`T_K_ zD75~mR5B4a8Z9QO;8ob}^Ki~W8yg*Jr81_u08fPl`I#s`AALsvV7?=uR+Lk6%YhY+ z`x^kGnjlzL2JuN6IT-^GQ4Gs~)oGoco*21N>9TyU+GRcS#DS-~H9%!6I#CO_A>eA6 zW-c;x2xM|odRme&2gs04=w=iUhll_qGZ5b;XjLR-Q3_4gB0(TCY92a8#4FuHGB^vI zBWPMy84xr{!PNlyDkMg{13&!t|Hm&7nO_!Kc>&~I(Mw$pnyZ{C}OJmG710}qX{XZw6EwCDLzM}cS*3=_^>d%* zJ`ma=)(|sqQH4FiETGDwNIfRk6+?%B#gJToDNV*GnOB#YN0VvG_{_`}*eva;HEy}H zcOhwiE&@Bt_~s^P_93J^EHbZ_+ng1Tm>D*WBo$Rbjq(%$#1I4->ksmh)5+<0D0tB%X};S~ zU3YT-zC9yg6$n%a$UQCsyc^!KRu42u>0nc?mV$3A#oEqMqHMjU_@p6pm9xqa`+& zpFT$cnPVMCe8Hp5Y|WIAvo-l#!eNmjTa^#f21u z`zCvq=PMg6WBL?+axdb2u12LMJj`uQbCDIwGiYwGOpvS+a{oJJQYdYie`nq}=E9YvZ#tG5$7NzSeqWr%$4lbeAK3F2U%;Cds0{oK^0TFCoykU zTQOUcLFp+8TnPd2sZ@qbu$t|8KIp*(u`JCzo=zL%sYI)+GngsieU%T!7gzb2g+DIK z#+hc$7S3YQ;Np*5jFB&N2bRJ`l3+GJl?s(0J#7MCpWNEsKH{)gR%Afo4@w360TDnR z3Dk8*ZS9idZ;KLK-S5m6lQ2DligG41i;idIc{7Q$$)N8=^|lj$ME}K}J$o)5er#{i zf(RFF+!9ZaWPMWBiLrPxM%y&2{6*s;rbug0OzISUuE?LH87cYb^9l!PdCC@-nG5k} z_1A!EBcnJ9vL%9HWJqKH5Tr*y;8esY2{RC@3c@W|VmH_A=}q+wZd6aa442L^$;m?=9A0RjQ%fxcmXlhcV=l&JoCHZCH!Rs`Dw2tJ$cMtc^GJ;phA z*UAO%QtBkAk5`0oA!K&8L%6)-bJD9GMOWsB4*!nLAxk%VoFv2|2A zq?G~}ITQjydSv6KLxn~;8VN3&w=IjA%UTg>szL*-bW}BAEf&nOJG>T+EwyJdcxy~N z!n{W+S_J7^ouXEA3$788i@#1E*D%A0hrr? z+?Ju*?ZGbe?}vMK@BXDMN+SpM?C`A=EsJqqzt;oHx+ViC+l-HrtFn;3a|+c%9-`#) z(~rb3?kRi1wt^Ij$fQNY3>bj$2iv+yf@Yrz3bCNy{nGQhe~u>=obFhR{+IhbtVXjR z?y<{>L~0NURVxZU$mITEb?TXV4(3XD4uri=b>ktB=}F5aaC?USsA!5AxStrq#(r=w zGa%_r;Y^B_PSDSa#!us{Xtu<(mA~is0Q*ebKkI^FMSRjI39Dp5Fi7A9-sxHD+*0B9 z)!LHzywfA8lmZh%?|Ua6n_`8M?i=--FXrkGWa}}^pQ%VFxtja~bBBq;^M?ETp97Z` z`V8w8HVX0vknl@!LrHQ$p&T)lL)MCb8Wv@fH#lvGL}x{#!L?*?x~dxguKcaw&j-H>%<_jEX%cs%z^8Ei!iA6*}P73vb=F{Yu|J{}kp9 zRTEf_VPS<@x3t^R#z#5&PN2NSV$m=(^Xo{r`-{eg`nUG)-7{z?gWxX2Eudt3Dia2l zzi758HI;#Erp4yZHm017PYnRf-PjqxOm;74n|s!mZa_`%a1bS0Q9?Hvi(tcorml%c zs_UzV|HVK4#%1`+%ck1l(q_f#o^3biQ#ZSNM+1S-E%4*V!m(JD!DwRHDJg;nr45n_ z^x&Q1L#RBi9$KJMnU4*aqHW_v@e*uoSrr?`x)qs@e*6Ek_Z0wgo#ooc=A7|a-?&?o zG-)cSQ72o86fs?IDJ-B@?JpQ7HRmxsMhhONv? zmZfajxvLqM2hV~?orxymU`;6};=&`i<^+lA`FBhcuP&JaUwD5GC5G#!PoI82ns$tJ zNVvRY$>M`Mckk+hA^<)1$Hb2J@?!LBbXoK z`c?4ogVEP=4WsNRu>@%9sf{f47pIN)Xt%<>C(kjj;G_39FNR8hm%-b{N_0-C1j^vF zo9}N=l`J$P4~|ijKx=bLcJ2C&&!U3jN?D6FTWAtv5?GOTMtGtUunTms29pFrBi2K2 zaGCc@za}L};d2a~W0AM+gXp+YXPgu?s?a`u$o_c`Ky%_4=~kw+eXsr~PhXk0u2h_r zO7d8OtHjA1{yCbJJX_7O@?0?w<^_#44i|F18O)(hD>`S zEr)l>O@Q$Yh!up}4W|f)3Pu<{S}eIC!?HEYt&Rn5*vh=D8;Px3x1NG)w^Cbf-V$`| z6e~m+7VCMi&wAx02jZ#hmu#!A5S0HjYy6{uUk)vF9kV1T5m#tPC9HD32TcHKcF0Fn zw&QiOmik2Qw|~9;S<|w&tC8f~yx~O3P~2tUQ7qPS4&ET+ZMWbNB9{!WkbtK$tSu_l zq%>Oyz(=B22Bw9*ljqJ9Jj((5$uQEye6Sfj!t*{^Slr8%^T-UJ7z`|jcT)bG9TD%$ z^FI2@@;f2=%KPy5V<~HPS#;7l+QCBaEc!ql7C9J}cq~xB@b6`)-FSo7>D!xC(38%EnM93)P~K^?AzCMR#&zhL54%fmu;bBptb@E1Zg0o zJanN9_t1n=5z+FU6ggNKy%(w%plC_40Kmyq5+Sfj^^yXl|JcvmQRhAMJS9j!Fm^?@ zln0eL3we7=oZd;Pvj(!q*!ftyYd=TttvRMlJrL&c+9n?>3{E}gH5jU-A*m}OfmRu{ zGjUH4RshdWzoUcU30OYiP{qu5fg>w(`Ze7v@hQ@CP+9{R2KH}yq!J#!2p=Y2>PI{4 z0@g+t?U55gETIYU7;sAlbz`svJza>;oz^(DGlTSX6+}hDR_5@`;}FCY2set3SRT+} zT$hHg%qLsOZd{c(O-e@K?-6!ZHe+Cxs-o=21bT4gsml-4Mc_V-!+~-*2V@sL6yLRI zmXE7Mj{kuE?fAJw^k4@yD+wi(e359+$d*;mb=bf=?TnwS(-~I4D zarFhuy6@O<@R>FL*mkwnl=NDAdSS@ps$74!=GXMSa(@yrFAMu2d4O=w1x*sjEARcq_;J#qzJ3()BxI$?bEtn>`BL=Bg?4Fh-^vXQqgoVQ@> zIjdHTo9sqgQpk0X!(t+?ZW{oqu_z*SI%PH%4=EC8sB(<_uu`Q@&K0>AVk8|;MK}~{ z$M{Nw;w8c!XbF6Rc-U)g$VXeO<9@y+t+D*)e*X6z+xI@vXGdC1T?&T`31w>N5kQsa z)Y=xQbo?wKpU!jWY#5kQ;hQK^=qMp%N}RH{WQpMqJk0D5*`WZk;S403M+j>(5Z%!v z9QMvnN^jZ7?x)ahbppn@4f}_T$-WCB_N?e zG%@Zua}xAqR_0X=)NpqR@-BTPPD^;U)TfdMPgyW`R4H$Vc4wpaDLx5V zT{zKD4WfqG=I-rn&*MYje_@MnVDsauo!2${XXPzfD%=Z-w3hK2jt&^Thdsg1bomt* zcK+~>cki?1=n_MUr3^8_lsVOU^D;0G)HX1#9HGv}&?`wG50rNR^cA{~SLg3Gym1PX zSF>!nYUA|L6LAnvg3T!GCgKh_#WNucDeulbQA*$8cN95g@dCI9SU+XB0MzpG`^lC5GF{?II8m6cPc<37n z+1!n%ELwQ$d1tKLH{7wP#m}>HSITDc2Id0?|A+5;S9oSjkCQjY!?L~}V4o&uhB3d9 zH_wWkxsNv(`t+4~HM*b{#aC1J6pOee(-!*Rf&+G_!4pJ8iM^QGAW9(ShDxZw81N*# zusHL|y&2$-trurG+=r+0%M=}CU-V7I@q4G)YN0N!a#kOH^=j^HDBt00 ziHAVg%D|6AjZD@vQ6qbuju1g1I#)|77zL%IQ^UUDAH!1Sx?yVA>>7b!53{f>q3|Z= z7+1wOijO#M_f6yD=W_gTJ1O{5x!i5(##0ODFWk|TN{uLbHC(xXZOYPs0*6iqaY$8Z zq2XR~*q6$43SLx%n|OH zZ~8p^$~Un=8-Ug3lH1K_D*d3DH`V#?hzPV?8O*F{u}rd?d;Ez_25OdjxvH*|KRpQd zv`L|}5cuy{~vA zB8T#9(3!d4&nZ3GQl;&xG$A|1SPQZS&i~w|{lyqMsAY*U6}fNjYE$-v!sg_Wn=I5m zs3Zpb^8w>*Fe1a%e`U1QPoc=9e5x2kW?~F{(LcfXy|b9LXQWo6w2$V|4^5f-tB64b z87U2MIq;@0M3YSPuAUJL_ahNQ$~ieyHy`mdYe^W zui}d|!O56m^LM-tR)fw{(GoffQUfE&2KdcI8U!eMLMm{77z+x+7E)twL=IPVr$gRM z^Cew)QZ^0uMoIB>sc%%7fLp~Sx-*`_*UR%s%aJav8^b^tx+UK}f)wWO6vc|eh41dykt_O;ac zj&qdrB19gZ;RpYL#b^d51AfPhHx6bb3|TemoUTC`bDkd_P2YHE=VJ&CzpQS&=Ml4- zNNJNCVGc10#Skk`Bb*5{xajX_lH($0PQ3<0$1B4-$}r)%O=8(!q(prx(t_zhBzc6q)eX(yqOI0tL-_koql&Nckk z;9@`AR2<)b`}Z-P?_|ILe#Z=7HZ-($AXFRchQ=s_icJZ%<|0{2C>9lE$JRKd{;-cB zdqz0BhK1i6iN~Ylku!#y0sC&)*FEkR*wfI&!Gxj>mlPAH<&&@pxeAJv{i4a^p6kT@ zz@VMX(lBh@c?%LUqyG#rK&9e|17_L%=lnTy*1zD)({mFk59%iXggE5@#>y5v&f`I& zm^xGDv1mkKjAbeamxu+=avnzmm0v7eu<+q?&R97i(TnjK8-lJ%(Wns8G|K^iK?EE+ z91RN=aYAGR|`lMmT&NLg$0<#_ydGzYN)J9o>1rBOh1~UV4h+Ar5d1#ImPAk;_;=CVA?_ zyMe5iE2H__`ek{wZ%EH)lxp&&}ejmo;j`~NLIWcfn z?x^~P4c3ZhBzeVZRV&sZD|7Tz0c)2W2hul0NOsy3scv~J51(OfkZI0S?5-Qi7Yb40 z9~sN*PquUW0e4z3w1A<|?MO7bANk+Ao0^*TO>J%(chK8WWH_PK2t)`&1}PM}gNlsp zpl$t2e_!8ESFT)sFUrqOctuWQ0zX=^jk0Ex^$;0;KAk0No_QR|a;1I5QWQ0wwg8YM`C}_6Ac+Pg+8BKxtp1EHy4bMs`m&;J* zlgcw6O_24%fM+?wR$6#s>9Moo*UkIBpMS+ z$gLjh7{DR0$;Jch9MZ(SH*x?~c;nQ(!a$cO6J<70(D3wiw-+XzkS5U$uRe2Se$Cc> zJ37ng+M#F+Ax+F;G%94c21o5m;IQ_uRY$LeJjy$F?oOf%t{!?6X*P7%L2Q6Ra$|Y; z4KMs=A*9Udckrx2pxI0W%G{U!p|NDfxFm=rcvzb)!@L8v-TTIJoQ8SsaaZP*_eZjU zH*UZy-jD4QUl2NK8#^MQ9l~TwT0hpwG-jSMBa*!nt z)p}v}BiLi`48b#vj%i4qtLUDFCdp->s@p&J>35Ht@ixr)ctU*q^wXzg=g*zB4dqWc zViS|l9gX1|m^Nq0ka0AhPY98Y+e7%3H4MK@J!z^8v=2#{cV#l#&Rx5vL6JA%36YW^ zE?K}_fNCGh!&l~m{b6~S9lsChhLJ?>yf$gXjxH2$M;y7-7+Y5bDBRBv^D-kQqn?PW z-HjaZnv2d|ogVoWN9_zG16JuWYG*v`L<6$$a^{Ep8#zUI=9?|k_|1w_m;GwN{JFcr zq0mVee@r2rs;Ht?%$K5+lA+ihkw8)E%&$D>a^pI9Fq}R(g}F!02}AvKEPdaCG7mwS zqgxu%JrH*(uU~u3B_~DtVyx!$@y>hE?1;N~(flr;-3qk+sXsY2L8F1;Y>;ESS0C^G zg1;X_DGZvqSb7XsQq_Jmqzx6_u0q8^VQMTE(}=gaPz3)2ZUAi{$8?NHnfu{G+xQ_9^^4$7=$8%S$+Syz;zLd7rKF?@>@5b97nYw1}&NIT1 zh+G2jjrDiNi>qgUiXMvDJS4z8h8wly`T%=c!8BCqugrco;^^xMH;=Ddm7RLBic8hqS5M# zmxB?22>k40o;UXuc%_H#DR%|RydLFolg2a0Gf+XmK(3f?oFh0e+~ft(I8fQ1O5MC>xY?H|Fd9qp^xa#;eDT`HBzDvRZg@-cv3hYSY#xD)UP z24JyRECbQM5v6*+J$2dAo6cBq>h4j#{G>YF=IsZPyLPuNRJ3qJ29llRML;;}$2`d4 zP0^o<8hxhfD~(9y7{1qJhN><| zg+RIFqv6QfTsHTcB?}kda`vjz_KeBJC(%h&Ev!P#YD7~ZNf-{)nbC;w4dJjdnu_OQ z1{3?p;Ta>Ys|_e|l0VIF3b&)F4jEIlP6K5=#`7Z@mY~d~3=C!{b3`@4_(r{PNKuS% zyBXslMJk#u?w?%YdlK(WQ~ZOkR4$!Tw5czbnM%J5<^oQ{2z8t z+SPo|vD%v_Z_{UNLga)oz7Zf1&2Tyk`Ro&OXV2bq&grMuRL^Z_4XHn!o*hBG+(=cq z?=c=peiW%78e0Mam5Zeug1ygxsHcoB%j%D%A3dM20P^p?c=DVo90TN{*VITq79_`-vy$3lw9AB3CJ= zNTJA)L^YTq#E3^@Q9%cT8Orp8ILeApPu>qJ=c!0od#ItlzE(=n1|$w-eSG)s-Sc3C z)QzQ^267`-Z2^zGUy|g<`+IwTHGl5BdtY$&=?5lg_-pR6AbnB6;s)g3pfctqeEi>s zl=BVz-uo*9#(5;d%&PLY5&m6HI^&&(%~bZiu^jT6lkY^_P*bC9Bw~>g_8NuJl z#-j)^v)trJ!|aIJ3!t=RTP1I*B3jXCcrQw>?pU;N;jXzeXVe^g)v~P!+Mk|@O(r>7 zOYTS>x{91FWZVb2JPf||@2^<^d`jHer z%+C6vc^*3dELZBx(;sN*NQ#{y-2+8F4wEJxQOw4=R2J!RbWbC~7*Y~g3zX^@qqNpI zJk|++3BTbJ;Y{Fw-w?+9NL2(AZt^G5(+T03>hl%A2Cf2_U>k``hcn}W1Jbq#xm zcw>-Fw<0MImWxF+OquuC`Kwpe6n0>Uk1=K+GhFIcCnk^9tmt@}_Yj&~26!jML0g0W zqBCGl5rL+6h}YsE2>*5o-cI#ZXY&1l^L43$ovISZ{*f`j6=URrMQJk3dWr{tKI zQ88Aycv)RlS;(O(b6TCXq|6mqGZD1XoREgexVbgs=G|n z_{oyRiywwZUUTV&5j@*yeU&gLQ>e6@g~Raf zZ&}z^5ZYlU-BT(Re>-pPyeD6<`iz>4P*gwgBmbrjuN>hl(G6+y@MDCL!Z2a_t$HYY z?q|GtqTBDt$4JBmUi=46UPL;!gu_UlKEZftj zwB(^2;4=_H8s+Awbb{v-pxGyI>I@ppWH_@X!sLR{qQTmsKJWCCV`_@qQy&jkT}nKp zoHIF-vBs+8!ngzf^-F4=A$}$kCv_z%<?sYcnC{W_@*huM zvGU2)t5)?5L&PV=N2!wHC$~R&`Y&%=_tCau=xjCCpixen5xY_-Rt9eYueIP~!?qmm zY10Per@m>tsBW2XI@B?ZzC$1@rZKP_O*HwS^3@O&iK^;$uD2U%Wqdm2ofHFkjE5}e zv!*PmmW}Ybs9;-UDLG!I7T8ncKRd`+ruAXd(m-Ex3F!`?omgvH18ar&^GSz_cBve( zv)fnApOXJWmA5%0WzJ>+Vm5y3NCn+ z+)yN3$J*flVahhWkq8doCCl3=6iYzIKZl;&cW7F;rt`vRgBjbjY10Cf(4~ksnsEpC z&K&9K3V9G!Fg+j8?HIp8zTacJQX};7FYbQq!ms`E-Vg6BG`v7iBMpSL;0HBdWaibtV-NCH z9Byj)DjsW}i~xjI7?rdL-#s3{Q* zm~F&lqi0H;S{3+>PCs;I?xo4t()W;&T$ztVD^)*yC_Rd1v)LKQNAtvS?H(a0rxb3F zFb7o~zS0{c++v{;Cl-(Gf=BwN#fuhgTsmidO?Rb&5fjH;*bhBjLCvw zsmRWunnQRJR5wpZT%Y@ussL;RY@xK7F_16h;pQvbUB&)$b4&9dmM>kpYg$8d)nTft z2B*fq1a3(A7k4~-$}euZaj)Eqt~0NLs%c~) ztbt7qG@?2>al+UXB8nk5wYG*bwi2DM2+4leE!B%+%^Ke|KAgwBJWb}k6!F4ZBGyIMF{0s6e=4C>U4=9xW$t<8hp;#? zFO#=>8S0aa>gQlYgpnJa;@WPlBic!BREjkuSr0`>q{t9{?lv9cfkH0#BucMpjeq@l zkAZtu5I#@9gI4kdqDVjb!2lt6Muz%_LPymCUgTvs=)|QmWnL~93^0ssw%oFJ7t6Pv;87e3sloA%Un#L~BItn-cELwk`U9pZoFGom}_+q-3w}aos-yxmw1; z(82r^Xqe#*!!bV%Bi}~Vj7@1!6q~a(1A`yN|M16q6mRRKJ(Uj@r7-)z!K`2&;iAKV zgW}qTo~(~`B@@cndghoAV2g5PY_Y>j_Kxikg1yR3P-bXsFEiq^`(=G2mfe7d?z#ma zS2uvP@s@d~&e^ei!J?`sz=)r2h$o;;24xo+(=bI=QirggbCifHA^vUfNr%H>U^8I2 z5cfP3JL~~A|4mCT!jjwumbY7G&YX42@}*GZTA;`)hk^|7Tkd=O%+G)8_t&R|`U{-o zl(_{bCWvUjf!ccp#2NNMVRTa9EKNk-Ik%k#^aK<~qAn@ug%XRZIJS;)lZ8mCsb%Nh z{!4A$%sW}*#jkqTPhVsi#WqzkA5FXNzbFz3{cj;WY&V9)nxD(VmfJXf0ZQCPNg4?L zSnSJV>zNpbYaAcDrY}X~aLDFAFdQ5VClcPowTexRt^KLEa%@lM7*9GRMM&Mr=q0jU zfY$QFPYwtOUH)Y3PBl~eel#(Yutv2$AC~w2d@g$@8is5=d&Oxri(ao32&0+>yAe8; z5lOw5qdl_7yjjNT=zW46>IpzUqkCW0v5e;s&b?*9f(5rhk?%?diu@2k!XsCHeA@$O zfBVOOeXkywdY)k?<_eJ(nBpXTYiLfF`l5IJ_;S%IWK_{O_>Z4`@)y0-!+-wSC-5l{uBI@E$UwRk(enb<>T2@muW#YH(36e@J zU6!kLKV?clQb}}NMRc;$TU+|in3kwIQZ+PX?oxFLdF6zI<1?bN`N;%{O2s|I%LY1d z)&4PT&<{!ZC^f&G_}kq;u|E)2)tV2l`$I#`1At1m;Z1X@$%+Ym`0&x+$!;V%O3rQv z^g2LqK&`jITYpj#w7<=pHS>WpPhGJGVfSED_XL>38ol|xHFH;7`;nJhTGLDNv010| zmE@^TxDE;&Ae>T8kTkDMsS2sl2IR2d9Gjig)Q9yuXKLL$U$KxAOaqk`h^h$0K88tL z!Z;dI6xui>6iL~uV$@AVqPk<$ZSF5mpV8b>-t@#H!WAF-#f3(>SeB?W3-l4rNv=P6 z>LzrQ=~#un=`GRC-~ZZ29_R*qJ`EgXvnG^~fS2h**a#TxqGCSzKeJc_ZFb1XK@$8k zENj4u=(yp4IVs^~Mf`+w?e8nkyF)~<9BSBM+Ti$8Tv3J0MH^8tsyYgk`GkxptNtMI zA7RaLz6KkNeNJ{tbKQvWK0{LGY;9qq@X_lvpvY+{hQKJ6LT9YHbSW>_MdDRkG-Eu% zG=#L*3|pZe;l9%N-Q!T?x1D#^*;`gFSvqM#lBh>>T+7a)$%>vweY^H-G5qPRJry2Jtp zO&S+UC{=R_^^W^cV=+N5N-BD`soM|s2s6*TSa^DS+m$d-q0ALjB2pY*0$84MF$^+K z6+Zd4d?EMp>%aTTLOyS+TEs?_2G?OFih3@e3x&0?MQ9#Bk>F(}8E#*4EkSWiY-Cgm zTLyd;jZSc>WWRWr*w+D0vGn+E*M6eCHD}uEV`%IHEx=O1X^Z zgNKejg^<0MJ4a-7xTgy~KT-)WVg^iM4^u)5hgF$-X%L28aZOXSjZ7-8jc7j~k}?Od zsGlitgh$CkQozU_`7NzW)^vpUaZ|O56Cm4_!Y}jjOOrQSCRjW?B zKca=ZlObh97VOv#`1qe4L@?4#53gDL$^ZG~yM^SG7nj8N98*lFwyOyea@JHc4qpxL zh;&e0_(&qu4Ciokr9glyEgBZUCjgh1A~5(Y)S-r--&{y08yL^5FrwlXDiZuwg+e zP@I{SJu;2X=n1IInr)^~$!?haM8%KP`G|Zb1^92*i5Oq{}nm?>TUA!vhaK@JynielGT!20)}3`4D+? z^sLB-GX+n^3o~R4vlC{(?f@;^Ve?v(%h)}P)P zo3{A!_KZE(4#h)&3^F(g%`$|rP@Y6YFuWa8_4USnoUkIupB^_fALQddja$DEJ_3Ji572eIir2q=}hxj^CrPE&f9gTvVcr>xOG(Z%aJ3 z_<5^Wl+96~ol*o007x%_^ilbiBjoeuY{9Xdx>Ta97mJo*6wO$;UhnPgH9qpCzi$c4 z=4MOJw)J;)bo~5#AAbT=YX_m+%gt5xpB{?|141PimWvGz0anvVa0Wy-JZ>*9PB9i2 z4$gU02{483{gvi7LpAt$R5lH1s^xket2DNrdA?ALY~Q|pDwKDUZiGsM(3qQT!V`YL z$wfG}6(PBr&6|g`aN+E;&wlLjr=PsKzM)}mM|YQ;N~IVXO63MvDNBZa#D*A$QlpI# z$>ufy$R1m|c;Ri!mM%Rw;c~C?2I^9&9z-eDmO49M;7D?V3WhfZh9hGI?@@+cM@fxg z7QrE~AKv<-bLPzc4gF2o5sfD^EZ_Q|&n&1m-z1(2BGDNg$CSBZCgENEzmu zlr=FU(!cReY=8WBv_^abg1@^&g5r7V!+QuaFp$Fs-2+HwIf|H}y~)Ty=_9H72s#>C zWhq^9(e62dC;-YMfw4_ZNeNwr+;pTV&WT5-=3~?A(;xV+->-{^M#&F5zus45Mc%2SD7GwvymRUfJd1qZb zTs4xN&UjqU9IRW~-hKNP!pcuNR6qj5mVuHcSecW;lNDLTbghG6YF3%o$D+l~{&XLx zN!#-IToH_I2?{NTpvaEZ{D9=kTH`rxkD=>NW-{4(U|t`Lseq_X(xWaB@9pgFx$pi* z9zIQt#_EfDd5R51?w3hXMi*(DPAKuG>r!?1&zw5#-c_qs?TCexs+$i?Qc(@*w*UF) zx~12B{Kp>=S{I#H66@xuI?+O-h9u{q!%YKMxT@9BzTr#*)%zDQV_Hx)PrYBB@qN2T+jS%f<8a zQObZgqN=e*IO8B^py!4H+fv#2IS7F6#02`@LFGlNE`d~6SjZw;6b`G%@z;k8$Es`Z z?XHtWYep=rP0bZcOJqxprs~6g#8+!VnKN6BccK+}^b|ib%I#`oHuSj>eDc^5;B#+q z5AG!Y6to`^@~GHQPr5~T(h;P?_0kpvS`nOr(n z%aaMw104#y1GJ?1hUVr(Utb>s2oY^5+Y-HXHb8I6HWl&i;I_IWF@}9?jy@N4e9hOuC0FJ8L7-+9@eekbT zclY!ya0;@B1v`iD@UtJdux#BD!oaFXNc9*%{-aed{!Oy9glsw|gyJbdj5P{zc<_o{ zY}8A+P)kee)o*^sr?%X;d1vP(r_4v&5wN=LL^W-q4~(jv*_8Y6W;_s z)a1T=<@6@;Q)0(AsqvF(n|kkAXI$8J#j2Sja@3Bi%xUJ6BaX5nYPP}}UpPd!Nk7x% z7+4hJD{vMeP7cKkuADG^o&+cf9Cy~Ocy+f8*zWg!tsyQp2PRD>hNE#;A{ZSSc zdF=4u%kWfp^mKMThzH$xA}DeinPei-+uqar=mU>D(u-)r%6L3JGnGuG(2so&A`s8b zn=^02S!bT!9#sR7+tFq+h*nZJKe}<@zKr;i#`?NxQ6Z+LJGz8WU84|%!m-O_;8QI> zCv0U!+f08|dZX2?lfis9i;c0|_P`Fr6gf9g>9AxD_ z2B~hwoygxJT#2Kj%%^|h!kHtEJ|0(@TQ)GLvV>k9x)=gVl|na&v9pQ7Y8R_vk{X5a z@z*y(?JaF>2VYPwEPDp0tx09x+EAa~xO>mj8=iaaSJ`3#mXWns3u|$B?5qS4FYY*S z7e~j+O9KG5uUIHPuwupXo6kC9Rof_ttY%IzwW+bKHU|<>7x&0Dd>N$-Ikhl`6sWJQd3{vGXK=pY`&BTX@=0$kOWtK4(M=9B!q`e zUW~>(PGU?Y=o^KvS@HN_klgQv{)7@jPI|7_g51#f%)f4*rVY z_oHe(1YA(0zLDkU^QEF-XY+!D?tDb6MpzbFs3?I07eY}-$gL2KhIPYcrS21cP*@#N zJy5_&*tb!VNFfpYj*%~+JJIm@_$U04PJkQm{czHk1b*{4+W9&$P*&MqUspYit1qDA zDsvUhsuJ;7PaaIzN=O5OyhugvjPDn9!zfn+AdcC7gIZ~*OKn7>M4>y>Dg%^~YVYn{ z>RMJD=c`!~m4&ls?T2@L?}Lv#q{n0N)ySXE2SOcSWS1D+XveLG5#8!N!zRggpGFR0 z2LOkA0S+5c_+>%_wNiSF38%+_J9MDQX0j4+aQf z`Y?sC9-xRAoQo2to=42}qrahyLY$Qh1dcmrUNji27?}+Bs=2Yid}ieT}Lki6grUXdc`gI=uomMJ%9%1kyc!OuD$VPgKo}PLT?Z=cDC}CKrpDA+s8v*w` zHbVSa(EyMG-hiTJ21OANc2`wR2-U|~e*mJ%v7y{$id(y;(BIddiMiQzzx~M#&%AKi z{F-nibjuM@_KFg}ut>Qp8Ux~NAi%9mo$P~S+$F#aXy0ySz)lZKLZDFF)$5Y6PEA31 z+6a&1Ds%KP1em()014{!!>iOl)5xrCGcSZ?SlJ+jKm#`qXhW60s~1 zty>CPw{BnW6iZFB7R~Hmeb!m~G+8Qb+qrY$efK{wzoDU_bLlBd+LkR@auCsvntYZK z&bi?0RZ8F=&u)so`Qu-`EL3-TYuOc>B^c7=b4zG9%GVve_>^IuDBD215HeG|qn8z9 z;d2TSk|$0GbEagu0%evbc^{-GG41`bb{1Nv&*SBL>V764j^uz;7+%YN2)r`|&-M}C zc6HEPpbs5x=lYQcUy(CxH&fsUg~OYshHbbngwS2bD^+9HhU9cO*Z3%T-x3IJPzI0N z#k&bqyNf(Jfqv26)piZsN2%P}sO&CubZ!z|v%ktA9rds2x+|KtrAh$UmJN`=!N8M{ zCLqF?z$+hhaUb`Dj3JR#av(Y)=~yq&*@#Y28DT( zp%g-~I?I5iirc|t$6|C!uwXIyG3ouV7lAIw;^hmQkl37#(_fiB=Qb@C`Vd<}w2(Z@ zg>}pFwLgd9a+BRpZZYhN|8M*VvWcEN8oo>6q$G>Yt{5WkJUv30jOo{xEnd=t3-ln2 zE}{N>U?&2T-NqTOf892q-Yt0SK`r%|j>60+UD4sPKq zj}FhEW-jWiPJmBT;VEIi7M<@Q zl}Dx5?J09Vi)z6=?gwj#35`^F>s8p!0DfW*HC#D zQ}(n5>0F*PaXm213Qja7luhLC9VaHcg@tW7VGTZ!u14nL{hdlhPS++*WxS1eK*#$z zg6oZ+1h4|)$XPd|>`ZlG;nRjN=+7R0A3Qhb=Z1ZI*z?(|x@o4q{Rch zy6Kdqiw;yJ%rW|s1^bGzvNL^w2V;Jdmt+YT;KoSm$2;xd8eq+bdC4*67HSPFGd*oe z>%q(CHH|n;b6jQa$cod^4;Y+THoNn*fyhFAR1xaKG1$GRmA0UNm@ej}5WaWKmAF?c z?Rne-f2Rk55+`NOa#NmFPJgGvHvrJDnxW_Y-whZBbS=cdGC-BuxCcuwOc(UrOE&Fp zZ@>4s_WY&Gr`Bxl{CLA2{5_DsF(jaY3?vGL4zdBxX*Qq~naX5w?16V?0JDvJP~{Ki z&a0C%>C8dHfalDaQe>y|(DDPGvtO6)qv+|g6iqzVw&N-Kfi~xrVRYXJ@KNxjtT;yB zFZN;i^nuhJdG6$@ayh}YV8k(WP?`>Gu=qQbfKss#Jqt;df0o}lML)RlAR@G$Y6uHq zDc6~9+yBr{zVV@-z3{X}yP9gOA3FeWs64V1>SaHWsHL<4o&j}8)eU;^tr1FqRtL2? z9Rz~1kecI`T-WMczVwuye~s`8^!4K^^X|MU|Kr}r=9tlGiQWR0gMq~fUu=x40D>q2 zd~@UiIPdS_%A7T3@k$~N|2tFM_@2nDU;ZSAD|13%`k{JXk$ZH?44dmBe(TT zHgiiAJ@cwaqH)7h`%3+1&5G0nx^xuAC^$tR0j_{3SVbBM8#VWMxdP|Pm6Q&lWVu48 z7ll}v@@3XGkBBkF#pCW(NtFlJ2ZP!^`HFusZkG=P&w13&BWOY26hUWU;OeeTh65P= z2k)G?-uceK;(IKoe#letusKWV;rU5)4szd|Sq@4ZkQ9k{-jGWlh;mT+f@I3l7(A81 z^ZcmcFLY%~nFH&-|Fw62>ylNAcGQ|8XOd@D2rEj%lz^~diNFKoBX;yKPE~Uu_|gz0 zK-0$yF7p60!6-SsF2N}k(Q2PRr)5NBG5%c~SD6#r!@;h+BQ#h--i`njiSjf~4 zF&m{&dtFkK7Cp0h_obI!xOzAK+&ctO2OkL}Fli(}x|pSPJzxq4nR*+x7gFbORqjpt zN}Mk?Z%1LOuu5fGAt^u9%?$(Y7xQR01Gacv;G|Oc-$~&z;u`kysem+j006#4Nklq{M>ZcJ|Vl0()T@ZM!rNBXAoPi)II#bz%8?Vhnl3)mPfEb6Zb(; z0w{FGBhSO|j6a@vi^_M}Nt29Z80zOxO!iEU6)>GZ|y3%n={QRp!*=9{sv<5gE-d zTqtuHovfr7Q0$^mGRx=_2uFeO2YL&WtYFU@=g{@RjpLAB=(Io?n*}NK3bto|WqSgk zE{c`MfI_E0JvCU0kRggNAED}9xoOwI?&Tf*Ix)fp%6!DrBRD}VNr3uhP+XWY(dg3Y zsb%hs`yRL-R%U6cxt9>?V+;OPk?iu6*ihCf1eQ02ptPp02aK%4Jsp{HXMLb3S8j^vl)zEc6C+xPQ8NAc2~a0OmbRTd@Q+V`BbO;naXar**=V zdc}r)hyrKer;&Q(yvYeO(8vG1?IAn)88up&Hv6{CEN=j9YzTY&KAJLB*bGetVp@x z>1Ups@m#t@9T|cnkiZEe0fgqtwr%7L$1WR00)q93&S{7o1K35n55_Xe8rkz|z_WxX zbBc{apX+KyQZIrK;a{-RvF^b5yJ48%nFnbL&W+Md z>=gt!H-#{`E{NDn#dT4Hh2Nu_BR=EcGe>ql$p}GLG=$4l>{p_mhsw5Cw?5iZW!y7b zrs0urAIyJ8=pB1lo#u9i&Ggf9ZvU^o_xX4JwU!k*jkzt9)o0gloRdhUP!f;00%S{L zgR)%^#}HEggjouc=0R9HYXWLR{zO1z!^l!#G=@aUEav-qr!?2KUB0+=#Dp>21U}BO zv>|ELC!;wVet9lKZM3lnVA-NUlTbomZe}?j62zRp5FA*QrW8M<}1gOd+_%_0?(6x8|s-gW6HC#Yj%l( zjzSN>PpNJd^BxGg~N@t(|EhrGs6~`hluAww>KN1veNJAvA07_ICA236(v5Da5uNO)sLuhPh z!FMbn8B4HcCX`kyO3s}lqJD^n5pZ`3yJWNP zFG(r?ogaMpgMWI}>QigJ^>CqRM%uf&7l80BOyEbdia21Hd*;D0{t_Vhhr;kNvGz<9 zlas=8V5owLtrXEh2ToskO2=s3)p5h@bRpL+XJyAMrBX@3#imdw76lWQKCKX))ooTc zQJ5kpL!gSUQy7iX5H84T$omLkak{7zwH>*Be_Q7%ZCzzj=6$0jsNg(-1SVPnSDdxD z|2L29{_6+6@T*1fxCZ=;JsSqEqJ!xxnM?{LC`!{r%T5i=L1_Ml-Q9;Id^F>C|2(AU!|%$YY=*uQO?P(O7l>wcEY z_6v2f7>s{70^x`dPu2;22M;(+Q(E#pZ3ksJB$+ZQZX4?wUBf6liYVFHzKmw-mQgJ0 zS}YzHn;M%!2M_L!7drO~Gv>@eYtkYZ&Y;{IQbGnsfQ*O%Rl^_&$nNpbgEkl*b|<5T zz+qk4j9?*pp}>fc!*SkgLWl8TmJB_g*&${R{Oe<%d&5uP{KC_AM@6FTs{JFIH?+Nb z_fHdq6igDhSn$q?%9S>G%Ap6HP$y;#WstFuu}K~5!eDKrs1xYN(ZgKXvvT?TQ9-gZ zLv%=wXJh5MRtI8Sr9yXSBsq1OQ0zxQ3gIz}bxk;~gMZY^uy0o7DiE^~HIAUL97mvn z9Sa^qG}YOkUATTrdjo#Ce@M?4d?=8>B$2?&&YQD0{LQz2`vaf)B?uX<%d}8*c32HZ zGd*c2v+O3QO8H z3Q!#AG?wiZno=pD|G+k@p^q|JK8&2VhPO%g=0>8dq=ZU=&zqz=dP5s#u@ExyTfWE zCRp(39Xw|&9u|rv3*mTp{>&4lBr&1Cyr&!}<8y@)j2j6uAr5;=4Nz#F2zX2wJSgG^ z(5-FtA`}WfRfJo`!nlkw@tm(yIRFU;j^E_0rGmmmBKJjZ>#b zI@>#hXcUNc#yBb!AUZ5e0&P;iUJZ!6e6BR*sr6e{K7KI2 z`<&@<#L$8xkidx{fjZPlwYl#0|NG(_zJLA4zm+MMdM=LFH_r@3)Ot%Yqme{HHZ0`n z4DtkYC~ym2d4hRpv|cFhTs;XiJPULWE9Ub=q9)WQV+e!iu@B@CdJhS)I<*)Qay9vxvLYj|^H9Xwjc*OV5AHdp`O0&hF$TtyAXCPiG5JAb8+kAk~18YWX{8U(-!EL-y^$o1pPj+ozgzPzf#Gr&1Z zQwY`%5!qANpISi1>bLAZaBh1~=^mUrQ07$$IQUYnN?;lkdbb0G{^j@n^i%)+y(gVe zVOdwY|13w0w)SNE8w^_uhvRioR7XeQp~GHw6x}pr2@02O>a?R&k=i0I)MbZNZX zi9@~Kqit#|42kxF8*lyXH@<%D`@hk#yZylHrp=r^zpFQk>;ae{3osUxFv9p~UkZgi zsK+bH+i(s>s-psYgy;oq9Kk5&gcS0bQQ1rz>5grR-S@{Yed_gpddsC}?Y+KM2mcuN zl`jFSjEx$V4)BvecMWrh^}(PfD<0+cBz&yNf6Ej-X6Q{|x)9M49Vd@v*tKB(ysnGq zC98F3pC^|gDRboRp)1`?DwZ@Igb4t&U>kx8U<)gcsb*uq&R`Lp>p7=A~Sg?Kz6Nbt}@sEAP=vm@8BZ%1QT zzwt}|`S#mh^MVyMTY7f9so9^-1H2wq$_~{JvRWwS5i-k(+Et?ppt>mP@va>F{a6y9 zY63cJRFX*WUNt#Xw9G>1^l44h{(01nAu02S*q_BIr`?p>Lcq2 zRK%pk?4DT2cwqkA$gLlI*R_wm`UNXS4Ou+OLp-F@wfE>rQAtEC+t!GJUPSq?j25Uw z{f4+@Rl%4cT{!sAF(try1pxd;VQ3lPOT}#n=F1yX`s^2fc25S_ z7n?|9pvcQ*0*b@ZU<-)qIJre!`A)NkQ#>B+o%#k>7iVXrF@)Ad$d5`?P)Z`mAh8Lf z`IwFRR9T5O-TlDRSH1Yc1#5Amqbjsflz(ulKmwyGfky5TQ>h7+Qn7L>G%;3Dz!v)a z@9yjV&M%)lMM_O==1OmP2bte2KMwt%qkJreTs0!+rKl?IpWY-sWEJ%>RpfNH^FyND z<+ywQ{;SXZ?0uj3_FgBfUc7aG=3G})ro#b^fVCcb4)rRB5@#s|>YYw~%&B(-2h1uV z-B!iI4pC{p=lZu@^`rM*b<^wo&C^n4@sHRS3o_t zH0$O08jv4na;t^%P#?E&fV=gIKitBTPxpbKvvK$8=`1{NwT9`;Y0aZ{`H zxso}5=bmySJ`i+K8_ii0oNH1^fD~08okL_p&ncp5^46G#g`tP?MEHtXhB8NaSu$QH zn7OhLPlYpm{pn3V_{~?IS(yrt3di*EZl#6wJQen#FT{;c?(co#|K0F^*A@lkyq=tU zX3^9e2+M?=GyV-I2 zd*0Avd-wM&$rqe@Ifg0&7Ky;4!{MQ_D2qT?0XO?NjmF?*XrhAJh_&fuQDmSrMcMA0 zJ7>!7tCls7>UtTnTRd}GgP!T{?}*2vxiCN^4kkxmdnZrqPsl+V5(V}LEluL3CXb!* zI!lt4EtF=g+pu-!<{mvVA-5P@G>||INq}G`Y;URZAR{0K@GIy-LEwUD7;=HVJ)H*p zjs2oYIk)jWlA@@eGOd2g-+uD%-~5k{zWlR=?mf>%rDCrp!r`$gNI<1{D5Ikga|jG@ zLOCtx4sLD~GPivE9asJ6wJ$hr>y#5fk(1Q7@9d8Br2D1;=%z8$G|KNBgmwe6nDL#H zN4grL)8(v1@H>s7EZTb)FPh&u+IKc&P5k}ue5imavP%{b??*fxZFz)7)SHu1pRj`v zns_lE10gle35OScwvi`7bHj%9Tee>et2F?^P1qm>7p@TrAmS%RpwN}-0IQrutXKfJ z9Lr8a?vHrZqY<@h^=S*AKqcI$kzWi)UeguXMhCN8LbCVGYn6X16+703?ac0!Qp(k9 zx}MO?k|q_pT|K?AF;cp9d8_ly>)&|MPp-T2>@Bs}!gM&#UisN{CI>cLC8R~dDk%># zxLgYH!nvVwt0oXr?Y#uwJ5&NxW6n}MNcp&?o{y-~&N(w0M!m{v$X2>p$h(D1Z??X5 zo{`NJP`j!L9s3Rl;kxF^#%SX5yY{u6sYT=Ql4(hGsmR`zhRCzmUU}LR|L>KT?!-P} z|G!!rpb_4WVe0@7$zkA`s6?Ol%Ld?&v5%qkr2|F67_Wn4d?mn?6DK@ZptNMyNY89( z+B~&sbo1r(P(xPcjx81w31ydoauk)q?6|pTV-q3=RqqWW5-I@+D4;&rW|jU$BBOjc z;o7O$o0cdU`8iLl+dFM-o4Ie*w9tskV@7nt!IuLGOrQj4Z^ug`lFw>ygKAcasOct9 zPdtHE$a!5?9JjZ#t28m2z+n$^@thfiM(=od+n(pX@U>t3B~@3a=1OJh!V6C~KKkk_ zy5X{#|6c9G*ZB9Q&T2@MbTcJI94bR(N}Rf;0V=^l?mQhyf!F{5H?BiT;`Z8thhR~K zM5pc4MRRt%Vo~#`N3w>j%*#d5jHqH)&ME=Wj^rDxK009Yjl|fmTCTjJjoK#iCaKh< zg{yb+%DGa9K?-zxqUpXzpStXVGZt^gH+rhRVDQC20+Uz*SRMd(D+vN~SFd>~+NGk| zN=eXBJ(38aePP*7PpJp5at$3XSTyI5o(%u|z94+EhVE~)Z{?P??eTYgr!gV|Lb*2;c|NA^6Bd%l02&QvM1l@jO>YZO9_i|v>xy(%_g7~Hb4dAM5I0n66K^!s9!uU z=M9c=l>jX>qCiIFm4uqe`7>L#G{qwmugt&n`Rn`2rCb`*qhulvqbP)@nYe>O?f&%S zo;g^b$U8{+ecFXQdGKQI&xVsIm97tf|B%o+`vfQA_nz9=mr^6~21^v9hm0*FE5V+~$m**f z^%GHM}P9Z)#;weeE&$%~A41 z%G|Ndaw@L%8pRR^&jiPWNZ|MD($PQM{JJCZ(0{n{f zm8wW)rmq`$KuQJ%$3#g0!Sm#v10AcA4b5SeZak!Mm4}97AzoL|lz+$Di3d?F5@E!Q%uHIHm+{f8fdZU3WjRT2`Y`s_+=e22UU=syDYx zvsfzRyA8u06EIIOq(hUyy7e0yMMZ1Y4Lj)~N?OV8H_*R=7po2Jgu$mqRRSb+6ciXC zRXuR(@>6!7GpByc$d!hr%;_m#`O*vbA$;ATs!FMh-o_)@7)DQOe6q5pszmSV&0A_9 zWg!ZvMWRG)7)H2##$!*dIsegp#lSlsJ>dsus&NUR^=B9*X?2bmQo-h0#oZ1n0_sK< zQe;=x%N#@7y|`CSbk{sG$;hvRhqNjRZ2_ z^K@k;X4qm}25mP7ta|CGBPjI2zxeD810>08ol&1`Ei4oqGt*Vh7ACOE(xe%JF}u<2 zd;01GH9ogwnQ;`9vj$T{oJA;h7NtaISEkIp-;ddioX{t(i28cqLZ05`1`?S~5&^Bj zeNQnj1wSh+)l0r5{_5Ix$mnmoaK()ES1xKC)0EV(l{p>)B`M);#eCikquC04;Tjl9 z?wyn6$?PYu4XOlXUP3Csh2=!$G?7R|FdT9E+Kt;T+PS|-ea?d;kiZEofoHevs(W(X zwpHP1Okv%#5V@)*>`JuB1SXY12J6}e(&d>RAlb)sb2_01W)vQ7s6BAaM?vgN&Xq6(32TZvqgfV!)&PhSQI7+X9_o~av~M8{(0Fqy zk{+FFAN?%DR_2=M7}-pER|w3Gj0JrH3(b#OZQ+4@Oc2H}A{kACpixBw0tK{gZE5f9 zKL4@DH_zRW4$9QVdV&S#pI8ap{qVZv-S(;Yu*J%(XYN&E3dMT(x8=o;`jOI|_6#cNsX~e(z zJ3{Y>T!$n#*O*FfnK7k)OhfGSw8K{BtEV?xmaZQRiEhy)%cJV8Vf2K3q=`%V+(iCD zMwp$5WAKAe(y5bL7~Imyx<{XQ>V*dbzV^`@gy2jyDFHPciAQ6pI?J@<)IE#5h^p5t zHYfyhi@?9Nz5BYCcg{}6sU25vOn?O1JNlBDOm3Ow2uT^0MHUG31m`Ba7`Ql4xw)*Vc8;rmedgYV6j7+X*BvsuEC; z3)8|0HKavA*G-I#)dbnSTOu9@$1=b%-P@lo1&VxBM{0N{+qQd8QVMC)(ZVv0Xd~KR z5%;=(j9`q1cN-_orw=Xpqc8|hFB1mE04pN3DUskfQi>PUtps5JOJccflyW@_=g!=H z=G^A;SPN^|o;lsnYhV4syj3nAL@hTsW+yIZ&IL^M=9OaNfCc)GYT>E3uLWz#p`;T2 z4M4A;TVf2AYSW&6X7d?O?8yccuVX#Sg7Z&^1PValI8vytpgZw0@wnokji#C^6jt;E z?uJAplq>gk?F~8Rn0p!%BD6_x(c3p?)JIvle(1RHco@*t_!;`PnXZrXWiPgbv+ zh`SH28AxEPCGgOOT}=-?`rNr8Egmy4_w9i&do^nos9kJSxt@;Bx4hw!TN_hjA2u9o z`ApXHw{>UgckVuLp6$x@$eSR=lo%*)(li!3p@Z0{w`))W zPj1}VeE*|cE~;y2Nnk0kjfS-ptoCr-f?Y1`f7_d`>Ri>FAjYWRm;ecE+_I}aQ_xqs zvI@R^4f`C1)!XNucRQrS14TZLN-u6w~t{DhtU@S+EN2 zXPi3c*%z-IJ3jWx2dhe%qo%HG7IV8Is$85%H2Wa&#gXGku7ODmVfOoH!Er``WGALyvA+5J}We%@wT}MW?82#zKCN z^#-oupsuIUu)GhEtufF4RdIVK#aHg%tIHcU@0=~F(V3Pb$B8J0_BH4d&V1=bN_hdI z@2dxq_7P7G*89Wn2wzF6L?RdABqFSiL7)hUW9fn_nz@uFZa!sB1G*87&ry{!KXXR2 zUdm>6%aV&+z=Xxwyqa z6E#cPx=ZzY+Pcm~2fTX1L7+c9tJq;<%Xc@5L3%k|-&OS7^NG6YNq$|w2Z)ajBL|i{ zv0jvmenw=3a_5Rnx<(hAa=v%b?AC{8wZt>y_4rjQu?UAys$ExWRTcRu0)2~JQe5{N`2 z^{x_LZn&WYs9YI&67BS=Mx>L~9a!ZVy^wvjm@NkN<<*IB#NXPnr!(1`Ev|4SH3_bL zK!WgMo$!uzOwj&3;-{^R6L7VCcu6OZdJveD$d~|KM@>024V6PXR#CCbdsZ%)Or9TW^1Km87VR`64`WcyO`;%m{!wtj@f;%vjzq^`4hpabDn+ zkIk?h_pG<9%Oj$!lkS6RF-@u%w6(iX>Xwx_T~u>Y4RHsC_(VUvRB4k-)}nyXv2O zYU4#(G?CIGNdZcod2gIBX26vg=C#EF^hJBQ1T<-IOo#-Y+qk2yt2cd?<%kI?xpfHp zL*ohX6>|^0Mj#V%b0_dc{cNuPh=V>l=QDA^zaUeH9ievoe@2mnEvGG8wEco5E#nFl zty-DCVs)#lN=}dD+I`4Nqdm`HUcn3Oc-}Ery3a?R4;J2!#ys!^e7GT6dF281?-^Pm zl@tIO1VJb` ze`lglA?rBkMXUyXPbHju1+&I13_wZ<6SL1O^gr#`*0|*WCrp4fdg0AGcTFuA?t*OD zNT^zjp{Lothq`8B>E%O6V@D_<{%^MDd12weN3UjJNoo}7r7H3P2pspzz3@8y-bGhV zC~{CQ{{rp*}bTwBS$#<$&=5*1Izw3oY$SQ6(idj?Ez)cI5HKMf(p|J_IOO(C# zq%^%OBBBSKD!thJgEd2pQUi#77(aupQ z2_eA{@?~st(bm@O9p)vEZD^aiz6UOQa0C*Vgc7)Y?dHVqZ+Y-cIWnbL7ZYL$-W$j! z5n|{4l^Irqd2yhK5KDM*stC~~)+$Xfuoko^^6Lm2mP=S4_`D3>=CISh>60IL=`&X? zoE|X0O~Aa^(qB-X-M)XR6RmHu&^d~Ah6LD3ASI%ZYB8CYNP8Xv@LoGqzl)j|ova%A zH~|k_GnYgz9KmPREkS3IF^n=mHw@!A0vV$W4PkX9L^za^5K$ac&!yYXI&H5rkHGU)s$ePhq+A{5-bPS%N$q{1_vcWTQsmVk>|s5kR2G=4sz>g zR$fMDGz)9DuAz>&*oBDf=Jo!4?N^*VH^`R{V=PAVqpGIFy7R^gJCumJXcol_(a1BW zZWFZEa=KoJ?Q>|sNj=Ox&=&24)iu5y%_o?==MvEuULm82mH$z%P|$)4AnTzH<}4C| zOtVu0eQTz#H5Gs2+|!rrIAca)+(Duv^2|-$$U#MKOT@!P6R9*(=n{x241?0>q&2-9 z9rK!fXO{ z#oeFoH^zN~n(V_dTKC^y7Q&VwPepoM;{iw>X`%mEb;2Q_MsME@@av-^enPX8EO`iv zttq~)D7TEiflgOMYhk01?OVBG$$cwMo!LJ+7arbOMx@Nonme^Lb9(D8z$sy|Q`np+ zRPnHwaSUSSdEs1n4<3gD3Wj&fqw{HYf8f&vG8DN)Qz&LKf^8Yiz5V^Cees)rdfDR# zN?bVMDTWt=3Sg9%B}qAixFrQo4qf-|;gmQvznnv?^tT=Lv!W4fI-CL~_bK#Aqd zsUZvXK5uA9VtJQ}mZ7hSYhnO?8>g{6{4(|RY8k^(2XdGQjSm}M?63YFduTU2UztzP z&7N?VC2yRf$`sLp;-+;4Z=K^!z})}_K4dy_@rb(N^c6Fl3m`O%m~s*=-&~Q;GL{^gAy= za&{WLr4)~8+)+yn1EoIlK_Lx>v<1*rd`*#84$w3ybFzOaMMZ1LG>O&R%Q2+j~lVC*H32SIdu-kHApU~#o8$LhHk zK{-__m*J#IEE?qlMJYT8g)oq$VmWl)Sg-_J~KDK<&OP_!zecmN;e*o&mlXWP^(Gg-tk8^nG zAuTF&q>GxPHB7(bk+rYgelXio3wImbLm+`;Ng!+4Gq&u>zEBq;%{D_blY-{?@}rf1 z(%KyG&I!;%X)?2n2o?1%C+v&iqNCEjum0C{_f2n}5|pHk^Avon&y}CqvTyFUesuo_ zOSU=_0bO*T_ILm)6ggMw<9u@`)8!~Vg~nX0R~Pe6x#0_r6;y%PRPE8(nuq1PP(KbBa>I?MG*A3yp)f$AQ5My8bdV}ZW`9e4Y~3mITiYjEAfuwp&s@16 zH?6s0gKL*FE)~|}!O3#04E+qKY|lXSo%V?m009?#a1i~(07JA`JODf6Za3Z5Y+hge z$TJ&X^57mb;BB9%!3wT>R0-Vj%%;d!zkl=T@rEgL)OaeTBkV^c7ZQ=dfFVgjBR~;^ zFbt>S*T*uY&Joe<#gqd#0CZGzD2Pz0a63}*NMEUteh^6A2@M~fjKlxTv)h~3ZQSuf zF%+F|IWjl{{BauYmhBm8C!-KY>6sD0W%v`S@=(y{KvknyQ=}~rtg?zd3+J>xynMmb z^eA1f>eCE&W*qTCSFV^=Ub=XGn{65g)UaA0MQx)f(nfO!-)`jZy!lBj9CRNj|x*F}_wq7@V)1kQ2DK;_-F2)Hw#(Ag<`1;ICb^60}6;6`AGTY9;0VEeWMU;FP5 zw!ifBWkG%UI8VCAp5DBmP!=yJ>rRUtRv8aFu~!cN@V>lARe8GBVFAdd62`wHHb z9AHR5XQu|l88n*N2^LWnPfBm&q}462(hEt3OWX&gc)IW^ztyuMjoi??Pr~~?4f0g=T0c_ ztIqseNHIt)q167=ab#C**{*;qq z;5Qr!Yd&Ei)QCuSyMJFC0Zn}hikWPokjwA-!VT|w`sFJY z27K(JKXgYuwe1+wm zDU?UJT2HZi4IW0X*-CX|=aA(PJo-L6b)>&;*M*E=7+_U0$| zO{?yT!M6eljE)34U02g$@hMs)H4_P;B!vN8%9j&M6_hulo@DJ#sqBoRPky-)70dF} zS0!x|{fk%|4H&SfEKP?+bIpwUczSg1HaN>rC2;R!Yv=4b*mGIFBu-US@Zw{0Qo}ID zES+I_hIIJ+`<3s9aPkl7EGOlMcpL3Q55}D+BX%3Y2!IvQEthf;*WPu`sSEC3ecFtg ziCm4EGN;EsXZg(DgqVK1E@EYjQd$sI)N#X#G4Qegsv)IG-f#$BuY#6+GHWR}F$XKZ z!95Yd2CvD5afMBfVvwxwI{v1!eNP4;i0bBHkSKL?x3raC`mblZ&j+DHP6Gz%qT0Csc|a;l8sM%-X*)BG(K!bW|IO%x!Jxn?I%g=`HQqo_I7d z-5{=W&(&qqY@k++iKpmDBx0*>mzAV$r*C!ET!Zhe*V>``K0ZO=qmAVv)pIpd)NQuYwtgJ*=xh8VuW1`II zq^B-f)LkEsJZ2gBj06NAGUgSv~#@(^rx5pd5V zEIGZiGkxi;cRqH_Kc2}1fVd&ZF!;#mNZ{V}J7>KA6F+=cIF^`=rhieQm<)x{sx$2v7T~?Gg;^B1C>qOzo8R4iL6ZDkew94oDJHC9wTW){ld5eOQw9y%|A)V!^ zwcDm{+J5jV(~(+TR1{dWcS4!7JUNUrWX?V3XGo_DK2(JSjz}?%C8HwRl|Wr`I3((( znce-em!9#*H@^Ptn#q-qnKEBIKh?i<(fp@ez1R^FEoA7ZM1~*)o?}4MlZCj6#G(p` zkLp+aoYK)xO11K#5CBC`=0#X$hDELKVHwcbRpgdRxKC0tp;J z0)JVzyY>B_`svltRLgmy8kwTSQm6}eg#x?=H40WL^@zWiUf>r<2VEF-CjuC`|!FIeK}#dtHhc(ej3UgAO|wcWU35e zK41_sAFW~W6}Rt&AIU4{Id&pY0yAO`jK*kldfi(t`rSL=+q^hj38qaC zfH+suVul=_f7jz1-+ITxYi2*whs0%Y1QHk{3H;`ugu6}vHy%Rgp(obl$V0Gm3RmK%B;%S&o;W!Yiqr+ob^7&8*Lu5D z43zm8jpLC{`^cIt)7NZ1@Cs9mP8H>-XtB@=IY8VIQe-rOGI=lh;22#AaE#Pom2~CL z{*@>$qJit!DQCL7J9~Gkl3bHft5H|xB!Go8oBO6V#2%LHVn4ddFz^kZoPO&EUKGPE zpNUiGzO6e@tvOJi$@BcwD2CXuXv>pAT%m`sc`5)yxX58S(bUufnezE}J+|R3_dLEa z$e)kyIt$KLA%R#@nbuWS-CC-q# zz83I}Xb$w`y_vabjk=CvIh)z@y)R$?)LYJ5IpNflC(GbJ-tER8dTR68>7sO+Ax4{Z zSA}7QF$MMvn z?7DqZn-b5=pWU!$i3UVz4IX1MJKlc&jQ;6O$>%iJIEb2aof<#z4TURo+FmADhYx8e z!Vz^)p~EX@eSuAc9l(NcH&1!pYl8J)Wr{j-dTGN;>IwRFLO zm@2G6m3hX}sS^`=?oz25JYCjUjhyuf=4KaRogMn}_djmM8EA9I+PM1n3HBdK7+BOX z2ivmHh0371xm)+8U;mH0pIv&-jv#+N`qT8}J>!Gh_Ql`*{_mWD##yf}JJKwR zlr^G4)JuTcow8gXb|muVWJHfxh<(5l=W^p}zzf~7THa5WSW{W8l!L^3*NG{h-f%E#IGvDw{%*n|82iSfIkAZN~vMp$p5CUK4&CBYfriIF)sW zJkQTPda~fC7F`6xoh`*%_jZ-fzUQ&c?|E$fo|zN=T)_=YdI@aY)i&+@pZMS@O;)VYb>~c?tLPwae)Zm?WP^*Ew`LI{V091}iS3>Tbp2MHH~6kNQ6~K747yJQ|fMi;f1GmjOgOy@Z~X8=2t9gOfOzIXH&UU?9#MQSq_mW z;UGr`R5+#n*aJ>ntbKr=*Rz88rg$8_c+3cxR5? zzm2JnSf_svdgcsb$`k^w z*9_0}2{xpMJkFDA`)6(2)AuSzuAiPON)hzp5@N9kQ|4Tud&!f5<|v-me!RWuL>Afz zpY5oA8*2%Sq!qSvRRvE2TFsJf(oo~?82Rq7>^^n*MW;V;;iBg32ybD`zdokQobJA* zv94Pd-F2{dvI?0%l<~tGEBQibqjn-k$5G!&a;_)OJNuKuT(_7zt z_XC?|Ke5XRpTuh=c=RDkz;GPxnN96WKm5`E`;0CmPIt8Cnay(-3%OiBSl%*%g&a3E z_T#y7uOgOt=^W@*+3jiYXRg>;85%kPqEWd}DrOk*krIw0CD-yZ-4mNcRso4;Ovdv&Zu^%8;i*hoO9wNP;%Vxee3p} z`ljpu>(h3u@$_(AYjepGg|40+lq#u0JO*xP4W2o?2hON?C=m=(=hVxbZApiADraF^ zT2I)xRFt#XB9V|7LMrU`TG@`r{_Eqfe&)IhR|FyUF&_R$JB_Kg-0|ewwYr&$Q2>Lw za;ounQF^8eS`=Y+^2M1)?rqE7&qM7YF~+w)X-`kakj*H>;dJ3CWLgJ=T*oVfpF{X< z6j3h)XE}nuX6tN7^cYiKYF^;*?DGbQ2H}j7RPwpXP@m# znPRc!&dqIe{_W%6{;bx#WJTVI&a`0ZS}2QApvYwx^9jHlR#1+ED3Zxjv+;Wy^Nltt z&e_1pVK}!H6h1MD5mA$0dybEk9i)T+e2bz#ww>A8+vK)CK1(tu&4x7|V=@-kIFPr( z*WK{Pi_4LP7xkz0>7-y}3215Tg9-r_F}5O&4Mq1z1gNYc0K^;fO@!I!STdR-m$51u5) zn0w|Vhc{h1HFLpPr>-q$diDT*la0q=1p&QDRE2z_Is6zb3Oi;Fa6*La(E`$D$}B#< zu`(7;Sj)`j?d{nsZoTL6H$1(uJt$e5kTI*xi}qTs`qak#b56bF zUGMnNfBy1@oR~VlC?;l_5)4Fm;H==oD?gK9^bWFs4H~hGj*`5Nif)9QfBpH@BJBIX zcaTA<$aYpXv(Ns|XRmwW+KbLav3YQer38NUrw8Zk>(*b~Uy!HkfF6>;Z^PubQ33_P z4IBZlZ7mEmzZ7=xet0Qta137p-gfL!F>o33GzNdkWJHlMg;xZrQrj$dU3t-|zyIX* z*ODTiRO@2gX2{AFvEI6b^pqs%X$!^pjs+p2fdI2W89#1CA6aZRv_T#EJKtaT2{DF0 zu%r16-pZATJHXlmK4o;gz>AUyu%d}sjABW-XX>`>Z(ICtANa!iTV^kQUD1)xnKpZ2ogjm>g3W!u~g9 z9nUyw-B;%fJmne4?3)$qh`e_fU>^tUR^@zucPy$r8j|F;Nh-ogbK5sRym$I7cRu-w zj^5mA!!%kbM^4R~*jRe4l_$-^OtKs0rJFp(M4lE^4p>Mtne2t=7a6wbiW$>Xp_J(@ zBK5RUafG$D<5JQ2q&mhW%uW)SJ|)?;U~bd>Yj<{BBCE+Mq8(9*g7R=mSD*O)*d2mK z7G58n5%Thq^0ormP6Ce~%-4VTvp>0{qbR@JlC>GMFA#<9;qK+-YVgHogCyZ=Cc+;;RSXJ7O0OH$3VE>A5y>*7M$ zn3^dIEgBHb>2zL*HMI&V!mQLdg+h1-j$FWz=x}Lj%z0) znK6rj`OPV1+GR8Sn5dTmuY3&W%kF$xdF^|@cWSRw|JrU#Ul@u;ViKZvL>)?{xpa_H zr+){^eC!5-;|%~%CQcCAn~~yhm~zK&TtiUdl}D9uPPK{~0D)SEMp~1yYv8yka~i4( z&R*2{;1kc@wRKPW0w)x$*Fxc_S)s`X{cYNO_~3FfjLM_ZD}UZrH+D1PursqTI{}Xv zIEBLN{$@%c9W+Ux%@~NdGB!^Ymbil)Xs%RFpySmUk3PHo1D2in%B`DrJ$v=id6{v$ z>EJ@+E`hr?^(NGm)9}(ae(n@q2w&AObJ;l=U79IdvF4&l4GKU~p(TZQOHwH0%b4$I z^nmmX$6(O>M@iCvO6Q81^6BKqd5uiHHByOg=j(z2seEKKMUKegv`Sek+q3>FpMCS4 z@4IYO|F{d}B)Z_2zjNE{w5`2*S6A-baLcR)8z~MKP*_sjet!xIxwCGJl^)GWB%|?o zR2J1D51g631Tq9X6k&D=3ZCe=iC(;~`#}FSmo56!mp}NLoefl~GzpJ!RpwVMn{E8( z@9y2)-SzZ+eR*T56pG9?$zsChRM{}%kmeC^HwY>2Q&!fJj1P5$h%4JSH1Iq`5eQl# zqlAi|7`j_w(Ha0YMZ)3wezSDWgKM^bJfaBy^XIkuo_po0SvAitR7-N74EOTn&MwrF ziLKYX@zYDKaMKH7tqU%fU3FSV&T7>X^&&B_rKZdl^0}Ol%^^L94W5*EL`63~>ek0q z?|>R-_z^F}&QK$?E->F{&hZ*^e$Z<1%zyzg`D=#|9*R{wmlJOxfloqi6Ev6X<|(v(()%>bihLqok|K{)^* z!ZFVzlj9Y7g&VwZwt+d)wm|; zAcQc`axwyLZKJFUx^01iD}L^Mk8b~%=qA4L`zO1$ynb~Mav!^CK7MC@=3rN{?20X~ zdebMDN|DAZ!_9Ng?$^cXhAy>QswRe$b?8(E=D_+Uq5nV|+NabBE|fSm9g3kRdA6@x z2*(nvtjs^yPXuJc)M6DB6|pLEB3O>xvn&}G6BY@19JD@I-kpp9RE|h)IW3gaYd-yn z*WK~(51H3SPR&hSvr(k$smdmEzsVV4`^cf?-99ScM@eDlT}pXuFNl)-(=r- z|EBHh*6w~FuSRBDwwoY}DIAFkiH*Jui3Sm$CM5!*lcy)n<6mk4p6iY!3h35kVuSOme(WfDn2 z7#q6SjKa3nn|JriH~;-%^Y>45J@xvt0}p*z<4^-1-tM^C`7inSd`oG1yOErIxfqVM z-gedMnr`J-14CNXEv)G) zDPRBD?Mv=kv;8`?Y1XN>5NW0oTp1V|y97p1^pEGHQ^7Hw5|B{CABx10zT)j=RmG!i zbqZNW?|bHg^XL8UJD+&%Zsf`bEv@mq!BM)_gw3p^DjirbD|%nPzq8LQ;&%FOLKYQ6XZhd@uEj(Xv56724SQWH4y#Kpb^%ty{2;tO>?)J25iDvA209}#hhf74 ze>+8lin%O9>6Qxpf|2X#HL{(LzvrzlyzkAIuMWx~k3X!#{=_eDxohst|9bGvhSu<+ zNZs_-V!;9#NfbF*L}Y-IiD?>3rv%6NOMs&6Wu&*_@r0mase~K=PK&)AEm8B%Q)V}> ztrx{fM-X!)DNdMYPB){e8UjULLIxYgMU-(oMux6Y?LpY~jl^Iq2!396WT>_c9_9p})|k&r-^ zVKnXtN5HUXmK{wt_br*-__x-$wr_Y(7kqjs61eWmzngdW6WiXNcM`9bBh7R2{Y8{7 zOF}YPPmUn43fKdP@p3393qCXI5}*!&5^zf0?cE?RYZW4bk%ftML5v*N|JDDkR z3gwVeC*?lay^0aM5~32Gd5G{BMouW0zzNjJLORzgln5sfNhO3({i!?m7vK26!)um4 zelT5EtIrSjDDy;_PNWld|`v%p0druVp$nn^nw+gV^)z3Zv%Z^}B!YouuFj6xZC6&oyXAd4zybF6J` zGL8xcozjLAy4}{2*v9u>u$Ht)43S<9_2eB`7d>s$8_!#6n?gD*5t>V+Mnj95>Flv57m_{jdefVMwIReU>2} zcIOQeD4$MVnwJvg8!^JBwvz*TKMUqBlp?{CDp``ylXIiGm{@W5!|k8?&W~%naY zrcK-v23J0o1Wby0x)$j?U$mz)^T$z9J zMXS>Wfi>m+#M_r!irVWkE|d2t`+`7ZP==?_P7@ z({K97&tLnVuirZVo~?a=!UjhzN#NN{JErPlYGJ_**Ad^df{+V1|1eig(6YjVX6%K; zr_OWUyh{^L9C?^^_VYjv-BZi_ca>pTQtUi^!{~xNRz#u`rnNwS1HMWK;kt^2$bg>b z0eewst4k<<`P7GBzy7UPU3@}qToXMHet5^m8GpF#{+D&6jn~?8Y@X>VQ3Z{oB$S`Q zLKhrF+9HUKs8LNw7g0Q*Vf?7zKRBw8fafex(vn4_$gm~wD1TA2DNy1e+8Ck8sl$y=@K=D#QoKWU26ge4k zvIj_K)4^wq^qQiOSvo)ySqZdZ6KeCskga8X?W zt$j2&MaobYl&CD2a7qX#Q3L+dC`w|yPQ^D>ZscOWr$`rTGwvl}Ay)~JT&oN=w@8F3 zat96|m4VVf2sDaVm7s;JPBCA2AlseaxF8ij;aE2(+%u=?@Q?rdtoz~jyky(Vsfj=8 zh5lY5TM30p>**fghYy;k8vSzZ@tR4;ybf31v|$gveC=HsR`*X*iN@!>s)^Z)b8VAh zKsCuGUi9Rq3@OCwmZ7WG%N}@QIVA$;M&~3izBNZ$*-H>nuAAk%J=Q=n;(U5m*0RyBRP%jz?w$MeMBIq< zbMdrU@%iVl-q_g4%zXRud3AqVHm9}oBp<3#ef-bfwrRl+fBW}0Z{B_II%w&|*r*Z; zQSe%2CVLK8N9@f9=+c<5bjhKymQlT_6aHj;%?x-&vjFhL z!te0b-Pr8;r<`(i(RM!hjUV28-dFzgNaM(^9(;SG5+F~yqvL>5pNh*8$}%MMrzVCs zQKqV5iX1T(ZtpTYus&FU;crgEzY8DzPU}E|cfvdrgc&IUKx@Q>hl1Qqy3pUY{iPSr zzyF=*FAbFW@Wp(@Z+z#j?bH7L_xoSAW5?dNYT@`oH5`qX(c;*lvQwg}B+6-4Lg=$W z(rJ8e+{f08(#@PyryQ+<^ANi*Nif!o15DhKd@k0_|HPAw=JR}8we6O8-r+Ip)h3* za1YzW7+RQel9h{Qa?NfQa%Y}6SKRVZ7kFl)iQ<|V66zh+m5 z{*mwg?Dk84bKi#Ou$4{hINf~k$kRSuo-PCkmx`xV=rNOY+jm3-gM0|KpGIzM>d3m6Gx|^=5Z+Wo-&ZZ6qcr3vPmU7UYL=TI8)}#GoPFX54*8>$umF9)8a^F-USN) zIW;1Pp@!tj`>CNF=|MP>d zz3Xk4ozq|4MS^ctO5nQh+`Zr@f4buh&+X~HUXIi+LU=ven<)xqOacWUH;aLFi3h+l zusj?DJBOD_tEt@Jq#Is;-SB;qr>Z)#U zN^_oRju^lBx0jy2chWujFmAY}lsVmZi|X#1)e!olUCL~ah83N+t)mb-SLS4S5t=td zz=rA_oMDJ)Y(C0cT9Rc+fF=*6=_zt%tdJf+4ps!8FiM|*icJb?tPb-x*m%x zSp9`>|7yYi{^d?;ejOa+ECE0|%>Dazwbv(AT?P0}M=MihAjFO^J8P`sDRYn1g>6a9 zyQqHR`k7arg(m$l<0GI0kwJ`%K z@iJiY&KXG;tXUb&g<@b1&1L!-RdOOC7V_z~?W&vm^;@qwcgH7ReZ-pcz8qadpGQCJLR$V-k@x4oTmb~oUJ#% z=7qN6mbzmh$5b4I_0YTC0@IgIxXSi!=1lOs>7gLW>TZ}|b#yJNf8Y#q@J{f~6p2wd zxMET3AJ0Bz_O8$*ZyHgZbVm1E@A}GbXWa9|#y1w-$Q#8--F!=qMaw4kASn!wJi$nM z0GdWUe~9-_8Hl`8Mqg+W1Ss~=85y5K%qP;OJ(MeR%c4?D5xqTB7PSqdm1Qy8-LATY zo34M;7qU+y6WJvbA2o4SQ(sghm?auO zVqHVc`Q)^9If|VucB-3~@j{PGR=T7h;=tv6r4OhCR4@qm9YX9FU+PEiS0J#_uFRR!jU1Y88R4y+#9t?6 z?$>`*D0CLvq@qnh$o6yyA@nJaNM>hU*uLw-@45OPpM3QtCj|(!CY3qO))k9q?_V&j z1yWar60{5|-GMTnwCx0GO5#5lBobaSdy!HnQW4KPX8;;NYm5>; z2Szcp?UTuUNBGD@8I10#a^8*2O-@_1{15+H|At4m9hmd;JMRlXapSnvfrZ6ziv4RM zLb>0}_oI%L5VjnQ#!<}#P@{1i^v(`%x-z`m<(LX$mt){hYUqP=M>Q?&ma?1XH>)>a zvUqv`dK;cl5Bc;@|Ftgizg&J%wK>0vfL-$`l2V6%}V@IEM@k?`GMjCzyb1AS!XCt95b2M2n)V> z`P4&~KVSR|3^xFX(ybngut~G)D;6zwGYEwy)NO#Psv7`_I(mnu3$} zZZQkXZ++#ZYc#j8CuA4&WR#i&fjEYhi=ljy5xUSgQga}D4sn=d{exZs}2Va2%{@?d*Yx(jIZaVklU;Epq9@^0P z@ldLDfvlxsMbNU6<4sW)j!O4lewxf{sKk|x|979{#0PJU3@dSR4-ijDQi}CZW0>dC zX`LnF$d&hX2=RpK#uTePsaZE)ed)@LjYx-`EV3J&*xwjR>-r!3b=fce{M3I#aa|^d z>QXk!5EOL4u|Std|G7S`))?Nyn4B7^0#5VFkZuf_&)AKat?$=V0`x&O==cP~xDy>D z{>MH|#p#j?S>StCz9c)Pjpba=KUK5v)LUP9!IpRb+e`PaN@>t6!7-K+01vt{_p-PB zkCa;Yij3Pd&yeG&yx=|VRphogE+WK;C&4AjI0cZ-s}k?w3L2s`A+WqTR8y`-O6l(Q z_F1jU4?q8&%Wr!7C8q~od6k3xt{ZNidhgTEUEF7??{y;e^KB(I6>T#S{G(pjv^Ggk zYrGVSekLVCw7Ooo6vHfdkK8Qmab2ID0cT*2c-VLkq9&*sObz^gM5ornqs_}uB= z;Ycdt=;E2F#%VJ}v-skl-SXs}MML=8fBo^n1E32peEPK)W+$VBCc{1Vl=9Mh-t^)d ze{|DR4ZtQQ)uw2ZX~Q#@2;V^_7>%Loldx7qlBx^4ir`w13B79;b*Wt1xo~ReH~;zm z7vJ)x^OpyTyvhml`v16T<~`5scyY!_TqnjG7J^KyUPSk~Fp$xDx#%fv@(wAyOUAYb zTBlzzPo0c2ioy6e2@m<(T`k9Ob`xxf1BV;`}@t*^3`mT9)q3^lGo zkrC_nmF)bMYp*$P%MU;Nx}M21H7C!VmQd{am0#Vq`q%&5^Z5e> z=S(RUsv~y75Nu7^!QeP?*5b5;zV$Z7kCjzcQE$#5KXzHr+>)ufrLCMOlNdbDR9K)LT%;{z?U%g`Ay^pNBsk3Ozv^43WeqFD3fgoi~ zh^ljNCVn2X<{NbTgZBI(`8M`k94N>BM_qu}uRKmM`W^UQWvX#SG*{BV6lWr!8;yu% z$C?{THcxd;eHGZ<`^{qCo||ra>W+W=#?Akl(Hz?Q#kX8TT?&F@lq3)lMYG3s*Z=rW zU%ClU&1g98F2%N8$FrwYc|kuAzJpVKR!1D;kqjvzbaOPf&zw^KhmXJI!kYs{Ufm$x zbl)27zyJ4N%d&F)TeDKb6;>oR)0IL|8l5Pje$>N|!s{W>^omphNKrr!12LeKslBm> zh2WZo#+Vi^eU_|TK;U*GGRe0~@mBYG)%)t=jntNQw`h#ue z?|%Bm@11mtoJ3Ny0JzFY`{J`!+Mj#h8#XVR)AX}aDZNWp9Ni(_b}Tl(O$Co;QMha1 zHv^~eZREjoKL0o4zeuPanKxwc>yJ4Knyh&8;Jm)qj2OZ1lg?}H8F3CxZZr{~R;ms> z2E7bQQ8g@-f%HcMPPENRhQ&x~YSC7gTA|cM;l}Cjx%J*>KKZR*+G)rMDqbs%tG^CY?op$R?xX#oVfE7RZg#MFA_pRYT6$*vPys$=tX8+RR0{(Af4r*`JekMtCUtIbeq zKI+J!!@=H%1(-)Kcn3g38S7CEp%e{hb#!usJw~I!fozrgjOQ~Rf`jmV4Bucsbd1O5 zxoZ2Yz7hNUxn4Qv{nE3++=TCu!*HTx6$I*KB$=VadUQCY1FoL=(}&;v;@`F3{=Gf5 zEr+qYyGa%FdE=LVG4qdiZ+V;4IR72Gl$^=fm&yf%mH{LKM>2Y%3o3DB<7a}BxyUa% zc=@ES99axf7V42l%aU1p6D0z#(-lK>_(?V2w!*!$8hUboTZlll0%LiKtabT^#c98)l7HY^5#pH-uS5!H(T> z5`;F_jr`=V4=(%04{!QJvToW%lG4R6RLU`83-a_R2g_fy-4kmZ z5x^jYq5^CMh2o&p2E;T%Sg|d;oY^+LLHXU=Ub6a@`Lh~#zUsUchy@47a3rwiKyUOv zzH`gU$JXxpfS8(oUfvGRc0zH;UiH%2)c1j>L2M%Dp`H+I5mFs9VOv<3WpGszR|M82 z8Q}b#huPUXjBJOkZ=XblG0P0+c29`UGGmmgaA>zh87?zciNOu2Cz2ayGNcFwJuWwc zSOo~%@93QbYoqa$A*k^fphPm7sq_oss3L^jY+GE+-15;kU-tbEzx2FqCxpPNe27UA zX7``%RhON0V8fo?JJ;`NUnMmvNypGr8uG?2x?9+WF2upaBoj|E$Yls9L6nfLA!drZ{gB4tgJ+kd*s`>5OiDn^z&Yb-D?D&8hTIV4POIvmiy`ZPK&A-b>(-Mmb-j?uaYGiD>lZ+qcBt^Z8%g_@mFiE%5HDTs%km+B8utb-M04*(`tM ztN;6_a7g*vb+CGi z#T+8J6jH}J^7D60k$YisEFVtK%azf|K`vC@{~P>LEQ?1W0WM&irUueUwy^1A9}|tzgFzoe=|yDHVTE# ze%0&~Kre~8iB4NkAiyv(&&@&9#FhCw5W*w>GBaTLVQt z{6Si~MF&l_9W-%P=CCf#})c z3+`y^^bl?4DfQvs`-$)kGJ=SDm;>1;n#lJ(?#$5c#Q7NLo%6ck-;`E@H%=Vu1ad2Z z+FA}_O+cZWdR~Y|l(JJw?^Rv>kN^IjS3awd5;)0^iE>LvB=&!9+THZ2Z~y7a-Tm$d z(HG}b+g2h`^s+5xQEQ0KRWxC!HK7YeF4`<9J55#}RSRLy^y)u7MK>uWFe34>{A)Z+ z-d=8R&;Gq@-u9aFzaDXlJAUwqH}#I}%)z%0m%umv^5DGx{`!sQI7;%$#woMT>de?v zgjjO|TNQ`~%GkW97r6(NVqtc~R#1!{vP~nAi1gX{t`1S}xw$3f{^f=byn6Sw=be5+ zH;WkU8T82Bj@W;E^G~ZDUAyNsQljyaP^xJr_J@>#`ZF0(D=Pmi=1M5_1m8MR8^rNF zXyYG>tr;j89qpSu!OzDrLB!ocX-@LCIll&#^Z7U-{uv&oWQ=YQz04@CX@hoAhKpKq zN+Z(V6;(kHb8zphsqr7a^9|?y@!zjFefJ42!XZ80q*Y~q-?V$$XTNpJEB17j-=%7G zi_4a*Ss;|LY(>x#384f)7^_1hkOaZKSs4QXki1aY0J7MJstie9C&q^$3mGL&wroLZ zI9*}KdNzAt_d~C~^0XUo{9+JxAMHW@*=-NT^Nu{{hA;m30xLXqh1j_GY+camMUiM^ zO!Pz{DjCqvfN%grLPki^O0uP+QM$2K(9{2@*9z;t{nvI`2FXeo9#3ARC#+R%GV~XGN%E!F0$)uA9+=7azAD5-TgOy^|wf(Wy;JCed+IuT{X2#1ScFkbBZ5P{Th_H zTSW7nennJzR9W0_O5GWRy5*_=517)5}Vc)=hQ7V<;s1L%30%bl7p&#R;q>N3ZF~}@piW;(J z&7{20I`_&M%7DGoXGn=Nm?0^1eAfaVs!+%Y^)WFM6H8B&d-s0ni=TS))9=3Q%z(bw zll`Pt=JX8zcxKDOFa6}7?|N=u{!LC#Mjpo{eea-*=Kfgc! z$*l+9T$E$0oLIwjAy%)F_bnkePQ1Ry2))}tSje!Co* zaI5?_fjcdhGbiOta5w4mnFkUDf*^5v2er3 z-g(8N@4jqxN0qm9LVoRpn4PctkDtEa_D8q>x1E@Ao*Zq_a%D`0P#De*k*dHFM~Mk3 zZ3?5Y7KX&HjGvj3KM9pN88NO~#4@28XjB6bOBs4J+lDP9MwY5Q`ei7Wc{q7Bec2{N~fw8C~BFyE&?G- ztPNB*P6mAlrGf^kVW=A#m3G=x<~eZq0M!#pRO9|IEYZoz(2y?&n2pfs)F{a3bz{n$ z#)xri;AaBGu~I*uO^=)p(+)YsgN>U0Yol|=k2>%DY2auaHjix_#A> zsecgl>_II|R-F#6UZ94FHj_d&o*zDlY&jupn5q{gS->GIE)_-%RW(!FPC}eGD0kCE zu@22bmWZ)wFMD8Z`a|luA3k#*nu%0>vEYk=1jbkb5A@`xedgQ$yz)=?@BZ3Dn+qQk zQqz{}a;()=BCPaNaZJp2Zq!p7Q&#B$4;+aNs0gA@WH>mlhP;BVgw;6@zQ*`5PUzFK zeVB6PKB<>ihQ<{+#itN6LCV9@T_KWaWR8UxjtZs+k~53x{`$CdyIbhJ@oWF}?tqs1 z2(#sc(P~#-|CMtd-`f4}cD(f>Q%cmENJEBXje{*%SsIlAq0)!?5mO&%9IPkw$>^Cg zneY??1$ik9X0qP!@L33L3POi4fq~58Zq>>^dERMtKTwVS=WhAx^?fJwjuSlGq>{iJ zKJ&e#m}*_NzuUa@(P!IVpJ<-ef<{cuw5kai&BC}KE0J6)X3+6I4E*YO z>jRsj_iz966JE(WsYa*rW_fy(^Lx;^@U*ALm_g;T_zj{W7!D;AVZ0eeE{%6v&?1`P zl+*2rkbbw`zwhfxzGGwmBfmT8%g~NA6;2ps{@`;v>OTC{-(0?@*Zz>B)}L-mu_&=R z5z`Q%*m)R-x1jX;9x+OpO0?>vT`R-BaWaR=Cns&j=cTrsjRt?GRAEu!_M;-Pn}M_off_luG?u zEjxGD3olxBZ=F!w`Mb}&8>=li0tt+t1TOx-_ZDs5lRh6x;PqliTMXZ=Sq{e|x+^5g@Q!m=Pr8+v0z9#aH@l>>sD`dKp5%(!g?|wMfz4y^8FFxntO3zT_P^N=Ic5oRa3lOjhnkSTN8g$eWq zXG_z-4bq<#Rim)m34s9|_LQY(=N<~lghG+jV1m;r z((fZc`KJ3bLNu8Y%0T_D(XrWGD)j~p8(}cdBw4ljhgua@DOg0DVOF<}>^L9d$dX0Q< zXHs>aR)xaDr_OJ9xIQNA`t=PTrtn8_1QMu90#|(OJE=$4?Oy6C@#~NdKfh#4t+}k7 z49O`u5=#mNC~hMD(jqE4Xr)nhCJEtG41`f7)_VEb-W$wG? zUi}NB9Q90qK$%xHj`St2%xRzHSO!-DSr5H?%AA0=j^zq6h zj${1r+wk#n3Ff!r|9F>Dvdig>!)N%XC#(1nLPuLo@?WqWLK0Mq8)iTho7Liwk}nG( zg*wooPdX6qA`$VxAkxwGOF}N)LO3%N2A`IWcAi!V3sLIN_Z{e}kBCpXM*6|!3!2tV zYiZo|v(LRJ;Cmm!LJU5_CGg@8e>H@r#!H^v+Hr*(ZG5fastYVBQcr20aH1J_D43y$ z6rmY|P(b@*6?3p$CZiK`7wI4owc?e)H9u6&*dJNc+*jBY%G}GFGq0WfnJaMm0^0=` zpe_irGszrQ0Kj4$Bp%4{P_%#L2Z>`H+#Zb0jT&UYkwR*ZwQ^>uKAZ!b_}GDRVKe)j zo9q11FTe5jJ6?LmlAuNNFgAwCs*Q&9i1+R7TKK7N{_{Os+w3>yOu1E5qL_5NWW~~< zq)-Myy`$L*_VQ;8l)+xKcp3lDKxmFi*$84oO#tZNA)?6`rl-61TVWF)6L~VcxA5SB zkUK3rP+(HWIqK^y;WJeK3FVxm~KHuQ_Ac zyxSY=wN1bK)SCmPKBQTDa(?KFkA7b@rRbukHy^yvmLpe7N_;6a^AzN}LpCW@qCx-> z6qPSIXmLygFc!k>5|vicJLay9nsKTlfBxYq=Yc;Q3CQMyV(CMNVrfW$o$O_4z7iko zAmaVUqi)<1&^riJ0Ifm+TJ$g}0Ww zc7NkLUwqfyZ#jGZfs=D3RR7c`v@*}5E^WoN|LR@+l5HxgG z(~COv6mPvZP%6O;ar_4Fwg;TywmSS)Y#NkTrtmZ!Hc=E#N@Y%W?_18pn*zLXpKOSy>p3H425I zB@hZ$Max5SMh6?NAgs)~`*3OlLcy~ByG%)Oo?w|cf{8H=hY2s>7JfsRPDwJ-kZ>rhh{V<*TkdRzFWWc_VjTFG5Ej# z_2ubp{pQ(OOMP9zR?i4U8(Pbj6eB>CU&^Eqr6&Vsa=?_uC_g7-G;DGYp)`OWsC*7? z)DI|e?@xSBPg(oBPrW9v#wTVE7}u*_eBFO0%usad=4}U-#T!~*S+YZC zqi69{!wtuE;4)m1nxA;cb26YQwdFB2Qu@n6x@Yo6!^TzAqk6GJl{rsS_}$LrI7)hh|UF?nw8v@4M)%`Fno;(N|}xoX^46YE%NR`|x+QeO;MF`%Ciqh}pa(5=$*Z z>bnW7Z3!h3WzjN)nj;Ys-BSq+-@-!eJXRJc^NAbW!<9L&dKvV-xjJWwHdaaCH85qr zrOKh0jJ!B7HAPbtqV}lVhZ>o!KMrLi(jK=VzMzR0E#b?hu@QwGqvVR2gJNW7ZN?<2SL_hNJA5Q7+D=#_N zkw2^8gf6#Zjf*W+Yu0ruLQ5?K4~@md2;c^SBFF1m<|}dnrm_MHUoEim$q9U@ll0O= ziOo|V+<~E-xWD)DUk`fZ0}c?FBx!G;6p3u7!6=Dz2|&kXjIn9z9Z604YkKe2@BjXX zAKvl$RdWIi%?Rh#Nwq9?_hyopzwL%AocPrD_UrQL;B>AdDnWkm&=K#lMjMD1S|9i; z>%vP}bNIFnb5FH_^ zU6iH7Vo3)z!g)m$)6n`IifHVPYv%gqI%!QQ*SqJMD^_)W`5muHpM0{OoKO71PyFxf zbWvP#pi{p(UzW~{CK{&~EvX@II*~*}gOEizF|0X;TQSO1Cg}>%SPa|-d{1ZPpx!|q zxqk$Td}8KVa*;Wc{SEiiJoxjBs0C zh-$7-0!S``#u%kC7@>$EN>T+ApVc%NSgx5>WxF4|0G+OxI}lavr(5bHn-s}zbMig= zUU}6;+0VT3B|(0zh9=+3KKeh=uADW$r(iBC*ojLEhJ2PCO3WykQe!O9A{LM@B_=@$ z#+w|0M{a`+49Ytm3k#WazYqs$hy&VScCgl$TtTq^Vvop% zM}Tj5kI3p)%18j}2al@R3D_y2MRdGAv0A_H?tbqLZPsmf6zI8Pl@#)tqjXAG|Mz7* ze!lhHz1)1*kDow9>om`EDsMT)OgNv4cBYxBP_K$Grk@rO6b|BAyN*Zc1U;6uWic0$ z_X297i)o7gFyV0pLxuz-MFDoicOT)3At`_7E?`hF0eLqd+d~qbyUKc5X9H`zg+orq zA=`b@$}^Jd8X@`}6Vh5sRve+F=lkf<{&ntx4sn1~&`7B4lwrkt_gGvV)nu%v_62T2 z>00)u+zE$e$vWIJyBEmDxYS_|AwG(A0)k4ykR4UBJ+38GcfWpkWQeg&moz-E=}0Xl zP7$LJr}{`X@LHMLpP16=2+)8W0JBEZPcOF2L}6bLdFYqez zvZsDq_iF2VU+?=`tVO%sQeXzSY7Lm9@A*G$;K+V%qo-Y0Bi2^EL#7*VZJoX3P%9PF zEQ<hkdLLd1)r_dL$#9hk#VnplPKXxwav)KY&NA(nOr2K zyRtb<#9u~zLWk=r-i&rIx<03=fxZH9i zoZtO7^tKf8l4#1Yj`}-1n-H*(e11(~-SsHuKgcJ_WP#uMm+woD&(`vKOm?-U+YC@u zI7OM9>?F*>JD$)7OMxGmW?UGrFyxo-Oq}#D-$B?*C#pc)8Z<{R9bxL$ZG` zEG{tfDmOyH*fZ4W)AiQ@_Vw!BTJn9sBgdH1MWM=(oGU7koyRqstWfLcKlA-Y>bnqj zCQ!3FfJa2!lbpH^STfZk9*=%eK7n5{>2V3kpoz)~VFP`ne&=&5S6(J9S<$72f7M-G zsck)?bx-uZcb~g_x5e}vb*Cw6(i4xIy>PS?cNG5~QU5jfxEr0Mq{K?sb-bk94Jl69 z^x{&5tmc%8N3K$&n8ipi8cnbz<`X=nus!)rB*|AMM2Hx+V|JEB%C4|vmq9RCx8(_btEW(^^~+A~`uD0G74Y5kdgnsp~~%!|8j zA0K)AIB?tkyFFx;It|Nx$AB@DsG6Qgvuq}Ho7(lpmty(Iv^`rfPA73b#!Q)okYt|( z+{BD238q_!Z&?HLBimDu(`fJnbyLnq$y22BTb0wf3r?2hZlr8BQXHjLw+M(B1i*Vn zb3DX1-V-KFdTxVqP{IHYuYk-1hJf4SLO3H}xx%fj{%!g*5iMUODkR9aGj4Sj0eW*Y zE5c47_h~E8>$!3J=JmN~+jBP^xatCtHK7WeDbTosKk7#dcQqj6+7!Lom1Y%% z$G-M_!=B_fQ0Bbm!h!H8V`82toLIqV7>T7~mtQd^1&5-as9CH0l4)AYV)89g=bvC2 z%Y731sfC5m<4z5}+lWAqBj;Z=IU8mgg&rczV@OQZpwr$k&b;p6#|9@hO)2mD^}OFZ|6|!)iQN>bosiC#yeYjG zt$2O@q1yP!btC!$P%Y9FnQIws6H~`P*J4+oyDvRi9TrvLS!o+#rej&@ipu3&BM|(=B9m#-K$=Ym zf>%(yb_YTB;@ku)Z-0^Y_`Fih#YDdgH?~x|2;LBg{;I58S zT#F}P1FyLGW#iS-cg-l6pB9b`!NMdwWmX!)iz&RjhK(La(bvE<)C)Nj%&ht?N z6WE|cm?IDYp;^3$y8p~g=1-cEht!w|RZfT4-GpM@dfVv{f7elyiC|d0%8OHK z)FMdtQ+(_|=+UE3i9Zw=v6|a~u}RqElJ(Y&yCic8g!$|b{hfGyy}ru8lqfPa{6I=M zB(Y&@TxlHiNLznI5>!l~B%{@e2toibO0RXGKGf9+wQGS!`GN}wzAOxQnrAbLoSa_x zp@(==beJQOnjVxQZp9z=V(!Fe{D^9gCj*lUlf~@=oGW=}XX0T8`j6%L4>`A#V%#zc zm?2C49d%&irK3p&0-p0DnxLZ;+GZe>U_a@Y-+@|*zQTMDx?g%zx7x0g$B&GM-@D|R z&%wtwuy1)xbab6pA*Q3J)t_<_P`iXxk>_!MIA_33>RZ;Beg!a86;G{F~Drj_r}6apaN2Am47;xT(MNh!t zKz2f8v4KE59^A6P0)YX)G3e@ndrlrv@!LPWcr=u^Y2l({@3!sQdf*y{lYO6$+tGcl z&HnOH$4gJqrS0`4#HCS+Y3*?c7v9un6b2>4+cPWj3kSl{;vhSZ$bp1OKu~eO^h5I4 z-Ev__Xkw^CC{P^rp!$gs&LFpXf`b6oNHogQ!Sx@mgS^MeHtRH9h)!9#&WQlCqrBGRC!DWj-4t3*UpyEy2$+H_w<;DS4g z{MA7bh!B^86!vFMm>`+A<>~yGe)l<^kd6~)#4I-M68h6JQ8ul%b!{_UQ43Dr!~*YH z80`X>-R*yeS?*!V<<$FSFFo8x96Kc{> z)RW(zs~`xH+cOiSXG9yOz@*$FYC6<}%8XOsGX2wCEQ14CZC#^+$vEso`dICO63serJ#}r)?gHdDX;&{04v40e^Nh)--q+YMx?kVq#b4UL9WcW zpD7#w>^|2&%d{mr4ZFN!P#1ym*POXMZrp->bOISw+A(EZXbR%Nx0ChFLa!}OL7FQV zrQRt;qATJHUWAnpqX0J{5I(>ot&2YaxfUHJ$^gavP_TM;MFzqFJu_aqQ$ejz0RMtQ zPr-bdA-=6slA=^BG>m5xj)wC^rvs9b2*gn`zv*Q#ziBIJ|_h;ONsqN3@QGt z2G2A9ID(qbD%b6*EV&?tTfOTom)8yzs%;Bsuw+6TKr^Zd>=HCaZ|}C4F~u8^qm@FJ z?6t1Du}`J42=52W$S8f__QM(pIZ7psPwegTzq0~-<{M?yF@6yx0BqM0o=^bVNeWqz z+?9p?%Ql5}Xiht8aPAbu46SuJe4@1^1yvR#H{M2?2?hX>r4(ncpBe-?aqF^?dhym2 zIRbf4BUL5=^W*kE+>Fq_pIu@VYl<6`oAcIu4Oo^WxoyM1IB}&?Bs_1oBqDD?Ea_XT z2+Ilx?3}T*e9;=4H(wsHYqbAf5srg5tXH!w1;rrreR$}fb6?Slp`hc~*Hx)bo4>sY zPKOsxy-F3n^~5EKebW-0Kvk<3huK3oBq#Fg{7`ytdf*7F@3GXl~UxV+Q_;H5*LWyW@ygtptv?!L`Bv(Sq85C+2YgEDk5N9qw|1 zW)wdO*c&1us7R|26XBS@(j$l~#w=kwpSM~-LAw#G@mJ)#iWnpX#uYuvVg%n3T__B` zjxNE*lIk)lV2`0a(d~0dBWV|qRv@`AzfcYnc77h?y3tWN$el$0nLP=0*yh0Ls2Z{C zJI6rq)p(D-Wxcqeq71eQ`F@d*MA2AvSig9o3&H}=Qr!6c2CP8IL{4O}%xq?2(?1NI z+t4~wg3eMW0!qM-PDYLK6l<^Dr46>5IEglyf;gyPr4N0QW(S+;!{&47bgk?4WB>t$ z|0m9mslv>m59%4jt&J~M&N*V~L7Iw=U&TAZ$OYIFwo`#NeghNxfMM#cwj ze+i|`m>8YZR2kBSES_ofH`6e*9k(L4j(F$Im0>K;FW?DIdpmi4!(t7kN+_a$w5Gsh z2E3-yTaz{QOGnK(1Cieq(ILLreob-(S&kR;mQms%MgE8JV??a1nTqG+^-K?oblxBJ zCDVKtK!6_{@Qv8#4dKVP6}DI)*Ja*))v4>Mnx`_2W&JX~Cmbl%tc11JsG-^X{WaIa zs(cxQncC2IyVJ@bLTgkprfBhEnX1~n@%@ftV;6y~t8MFvFcS27rJa2$hm6yvVUV@i z*2V71O4P$7-YP(L@8(1(D^Q{haV(o~yT(zW0BmsW@0gAT;$dIEHZvpx>0ocwD}xH= zFmvK$^~tCD@wROHHeq5l&1W5)r;!u#hq0H^0PD&*<4@Z~p%mQAc%OJmbtY%1T|2svRgCSLrMW$uy(99j1M`-0)LD)ttxGWAs`_Y6E)ZC6c%okTK= z6O@gX^K0bp(+M5Ikk0{ztZcFR7d*U~K2toh9t{#sH@;aM5e6u3g5(^B4(v#X&vM9^ z!fl-aNpmWTvz)}`kLWtCht7dApW|)YR^xq+P+S7(^Z5mlfzqwtJ8Zucc7vF{PWx=C zZ&S_^K2!O)PMnkE6VZWXF3e@QMgyJ9iTA+98o)JvBcFIX&!EVzam7xV;+R?UUk<>A z={)g+&B6RW!ao8|=DP3lvEQxk?<+tWsNHrsFnvZG2$EhHUF{I6#v3Xh0ps9hy33Jf z+WyiYo>0=Y4nbVJ{#a45({a14fJ10lWp+hoD0f5p z_#zm~{TUMBH6Nz!(NN)vV@@s_8U-a^Fxy_>Z-=nTEKe}dCQp8iM6R_{?2dG#j7HC5 z6Mog5NK4?l4|$=xQ;2ZnRD&O_0iVt+r-91RVEANs^t3R*i$|EE0lAzP=sp1kPKM}2 zsZq~{!PZ;_W9g&!y4Q5P>GK+1EEGFTg;A0_8kr_*dy3tw@y+DM`#0TA~Yi=GvkCLRR?ch050phknmr zR~XFPRT6Yl-J8_yu@*(^2yG(4qRl1#x5JYxbG0+Y-Dq!x!AP$kPsd@r_r=Hi-|d$v zt|?w;JE(Z{br^nr$a@|0Ad?W&8tA^v?`e%?QP&yY2HQtGoDorSSm@+@!F2v(Uy3Qq zlp}-U3=Z@UKktQ&#}CsgomSGia~vT*1&f$s?y0&^^jI!Jur!Pk6aiI_KT_=^Re_1z zw=@t5TZP8P0Q&=05<{9UJtU3Qry?7}HzKAe-5RoDo?=Y_y zskj(5rh%TW zk{?ZZ6+2C*K}_-poV!iyX!L!1!U;Ff#bj4`j`RHK4ydM?ZO(-UU5zt!?r93;qAD%1 z!kCypqXLLfnvZwUbIa@^l+c2P+6RJZ*S|g*p5zH9%xvZ-*RaV`@zd8N@X4VpRn2mE z=RbrWh8*D&_o95D{8F~;aqU~#GNqcLgR%AAjq}IKkv>&FeXU&8FY+$+_ zEy}@Ovy5Ne_T2H95c}>q+9;-}6)OfF8(d_lQNCDL-xM){E@E3!SqfGZ;5VLF6E32= zW}8O`hYAS^=8ER8kQ{K7KQS;xw0PV1t!#WGUQ5C0nvF^^hCRo>vz}>OGBZ+^hZsLXUld?* zG;=Dyuq-?Q5495`2l;OEASD*}$k6KwwKTZdqpoZ>jH`bf()ejPs7 z`(>^J1hxQ|nyPHPv5}oUX|l&pQsI2;6lpbro!Xv5;+a5}i3{N;XO6t?Zke$H2GSk_ zRFO0!$%cH4ZE^I0;~0fh9PCZ2M`LUM>-{P&YUdp{;`4>L#YZ)5(GB;=f=e)Ml^pX8 zLaX^}>e=_FxL8Zf_QFcL8e=d}KD%^&_yd=kIjt0o@B~re9n*urT1C1L_Fy=lu8a+r z+6<;u*~=_F*J8)wiFZ~IJMp7+&l#Ctf3J_5sZMTV;m^bcvUx401Ef1Oh8J{VS6O6C zYT{wrt}tTsD|q5B@XaynyD*aIv($i&2s#kT%_yjY5O=X+*cWXNpD<&fCTTS*|L09v zrmsiRW4wm1GpE?}mk1}(9hPTXLCAabvPpc*^2e^nyXh{+k(lYos56B}eqAgJRIr$% z9=j~@U`L4vtbPpZFvnpaX#V$dj1Uz4xcHtD&C{G%tN~@@j1Vd#S8-_K8K5C*>~*?1 z;;?xrFfb4%FknnxyW|d6=``Z+OrkjrWlpyZ${RPU3`!1IF)DSB!ofH3v|9zUERYTE z6f|r>|C>O5MuwJ^s$Wk`+Da15?w4=ZUXo|aX#nL?qg<=YW6Kn(B& zdW^yZ6V0q_P2u)CdR=(tIG}RC&oJ%0RG=Ad?WuBhas^17+wy zR-wbnmA%PD$HLxwZ*e;kQ%Ktou6}{F!4P36!G$cWc&%B%ZP<=pU8;57KVnzEweM#% zz+*ZLV}ktHpn#rx-rp0_W9_F`rgzI;57naQqPiTqKz!Lb81u7(?g+sJXj=(|9Z8eI zV1A9%wM$khbU*-2?&X1j15{>_LeCX@~tnn^**#${x(w6?cGF? z#7L~^{=cQ)?6)h4?ee;xNuaLoI$iW3egX$1aIrUg{u9+!N^n9oj(oWR2+{B3in_7# zBSX6D%o`9DP+2kid7LWinzC5263)2&10IM0@z;m}awuZjcCYNe3{hrE+oDXA4q4Ta z4f9-#N0Bl};n8R*q!`_0n_vj19K6g>rq9=$g=F)J{^F7nJ@-n@`MZ%(G0o%Rp3+Zb z%O~=4l2Tqkb?bDy?7s6ptP;P4Y%pzp>=AFy)fWjA9t)PxriVn}$Z1$Ei|L~!7I9Bp zG2}~2*eA+GG2e#;?75FfQcVTZ=l1>lGbBi9Y>>jZ&dWr@iL!96*cd3z?uDXyA==yMlPDl`&m%+2*=Ronse zW=Aer@r_QpDfExod~%n&l)fkq9R7a%`Vk0ub@&8f(H2K(2+B|)MXUan3B-P?0`xdV zF%b5Pm>i&jxVD`ANl=4^1&h|UbAfB$PgIlmIZkH)Ip4E-CWw-g=0THU1Yp965`>G} z)VIwefJmzML$}_2NmHQR^+`^5?(wirhAuwjUhU>1V*^O71~z4rFZ>08ylLeAq{W)eJDI1MW+_nFGg1~2Qo>%7ZjA@{4})aI~S zBy=4xOMI>}3RerV>?p1#C37ZxmD3t`8Ya4^unT!=#UP2Q*x3H#c0v4qw(b}*yg*xq zd6=@8uR8`iWS$BGsr!qq1lGhAR{EwwHFJrm%QohTT0WpXg5$c~?(e;Y)z>R5`Q!B~ z#pES93XJ{y%GWU6*;V&@nai`b&*tA>=MZn_A+s*pX$NQ|31uM^BS?S%M9d`?+`tuo zdWg}ehyewnAc9}yy4X6_Ai(}TIWa(CI%#&?HwYM!VUGj-+Ih$Ejxp&#_h9KOKGU#L z84K4f%{;R@H{IWNKF6EyY!IEs{h?d-2@NIt#5r~}G@AMh(U2R@B~6RZde6DkOYl-P zwgW};1=`bJo*n|Dy^>kK>;g_)CAmg>@9+qE!0T}ZXgx;z{Y+6D4UvBi_$PBPUrx`tK!)A!4K$-923X%62>h$$Wg^L;Ppnw78J zAd)n~=+BL{Ngp3zsL?2C^93_TKa=5w{cu*Y!;o10 z<#Z~CO~pYY))62(N`Ks-ZX#8-iun$dJ7r!OHDm&8L8~@18(S#bXIXwrx6hn`)YYb! zgv&lGdN&?&$jTAYkE@%mUHZx;UwZVtQQGzyM8?KCJ_)WacrYB^syFl>kO22#BvOIR zCN2J%WUs~oHu8Hb4Ra}A&lLzFG(`oPuL`B(# z6WD!S;8W6}a^Q=E^}pQ~E53Lz^5-fnTzise;xQvtJiV$ z){;#~wD|mzQ@am=0&LGzdn?CduZP|8c&zpPBK*F;&N@E*0IvtrmzFx{*)&Y=I5T#u zCfrJGA+v}10=bv+pZQ7%`z6ywFA$WBgIc0+R}D{U>3Q`<=+RI}O#9x|vo(|5D()#a zpa28Xr*A^q_W_HY%Ny?F)VXK((@_&w#KcVW#S9rZqgeX}7&-p-<| zOwA^_BKy-fL+CAR&jV^`vugWh0sELRxsIBke8O zUTXr+e{b)WpC>{5254mwK@53wiSpcz8NcsOa>w~T2SL56wDtHrAJ^7IUe7)bT@%h5 zg$~jg1>lfz4zv1DQu77~Ul+=ZsTdVC3_{Y(^%;Z)!orF^nd+v;%8RjUoF>^Mt-i;j zSBi&xO}uY^Om~6LInjAlxYp`|I${fdDOBw#;}Sp1caQLy_C%T0=VEU@zJiL? zzXt=vP&7xRbGHPZr|#h2^rrX2Ki^~Tvij+5=7gBw@ZxcY1Ah)UjZ#@$aII1V&|5a6 z4B$wdlECC%Jn*^SX@|rJvQeiuSy&0b?NeH&jtTeD#(bx@P9cIt)^GpxzwC)zr;Buo zZJb>Z^`LhM?+EV)rc6A@4#;+(F)#%yDJa75s+!>hE4X($Xc7=N!9eRTHQmIfd;% zOM?wKbC0h*K0)ALz8*yLaX*aGj$${B&8ZQh`;>(kp7=uELDmW!N{Y~n_|M~_u9Oxd z<@$-IDFM)6iLm2q&0XSz_MR!SLlhfyBfw?kjru+~*0?e|=uP4&yRm8R*7rSM57(8F;;B=M{6BO@jtn~4DU6k#?vVFZ2 zRV>?bDNMTL!bp||f|jw%u}YKxTl*ZtsiTA|y8NO6f!|>q#Q!%zT+j3XWY)^c4jMhuiE?L}R^?ET zo8Y13PdM#L-(2}bT-Gp0xwr;9dTS#=7ceR#6s|~9Yr>ZBK>#(LF=rNZY1aRCwC#cs zovY`$D`Ca!zGVT5+^XX+f+O_fNHjKf@Vib!Bk{c*?O*#V-loKS9*mMcIy`jqRTWm# zl7*9uzY-|f;rg^iZT7)fVl);>+a}Kl_|(!GlGw^;SS>jZ`m$1WWyonw9k+RRY|;8D zY;_230w8As*ykJ5ySbgj;`z<;d9Wo(21YGK_5(3DSKC$tIEju?k|pBhS1T#NOKT9^ z>x|Pd5}TQVdfS?;N!-AN&j0$XX2yE3TUc-1ls#)xq><>>x(vXrIw}${L?XTn;^$E4 z{@s^L;p^Js9Xiu?1X+5gOP%yKBO%X5#Mm#L!_uk)AOuEnjyM=H()~+WaTn{+)+A03 zVt>Al50M4oxd(NO&i%8SV$a@m;^uEF?ky^g!>K zx<{xPXmTSTq|=MJFiC;pT7ecx-0M5iNZE2FNDrDH!TM+&u&Vufv}w`%N+G^xH9B5B zr{hdlUHfqd7tA1nOxqTvrcW`sUp0EPt)I_7I*_%V^S5=noP=s8>ctsL+|pbscwl0) zSCt@)^BB&`x=H|@hLd$>`_N@6^1t|vf%4oj{5y1r`uic$ zC*JxqFL9%5$$x?4;y%@7SC0f9^OH?%g4K+X_NN==1KInY;kC>v|5KGFyV5>OPD~CVz&1uZeVeJ)ET1 z^y|P_46TusxEt{j!K;YPr=>3=23MVf6>`jOE<`})j-Mk~5nFZ{bY7s0hAKD7@wF*Ej>h3xOeIZ^W=0t&JFk ziW`3pJU2~(URIC{vNYyEYYx9WuIiX;2)~IKZT;_i6Fr;N`Es!2w~e=BhJ|dd2;@Ca z$E)4zCo)fN>*-T}&V|)Sm3Ac_Dn^@+a)mM+H)ye=eTR`@es}~k+=#ur=&yu`B+NO2 zupSUbT;ybG)JSk;OF=Mh3ruyG(sJN~`n*;i9N}AcCp`ZkNL_P(=;tJ8;OYWi!7yie znR(KFD)Fim+CfNrrn@BC0B*$f_=rWgxdqUgS@ZG`PMXyxBU0Lzrumhd%!sYE#>3QH zyJ-)7aG=BxKZK*iUxyPsv(MK$Wi{8>9-}S3wM73?VHxYOzNa+5)&(SX$zjEV+ZzFV1W2yr;N){clng4 z;=dFvti4&E@BT#<^iIeS$ufocf%(VscI;OX(KWL9svGKGPo`aEas=ihR*~&plNWCgGBE%7D)|%nD03je2yLp>cf#hxXlcs z^1i8sMc!=^b-Ujc9fASF!04|J>FMQhmRx9Jyr#Qr>_pEK*1{c{t3cN3o z|Kc-r)U9;4J0ZGOS=|P}tky}68|1{L*=mdr*qqhBKKAOANRx4Yxmqw<;t)A+NKMfq z<>a$yGU;#*b5dj7<+Q&D%`da!&*{%edoe!%FbZhmg7ak#RlO9aoi@EzmGlMYSB&zX zL&BZx<}5IArg>Jbsi-a#O{77=d`oqfG^^DoWMLCX=4!TD9`&NlLRVc1lDtm4mLn5(zGHI`o-( z-EXiT2usrsYWjo&vYw?XM0HFH*3)De9S_*`;3;A$#@Vo14!Ks%UrG#L$HIE~{6?LS zbSev!zHfjs;GKk}-%RDZxu|H|{imkPQqXc5#Dnj>?NL())t0K~G6@eygW?6Hi{WNv z3e3Q3QfA|Yuoq?@TBcx1gBg%z`EOlL`)>pS0THSBUIyGfXMhkaNA_sMGwYQ_r+OJwT=#t-a{+^WR|G4pxYMiYr(xPDQ?M?aui z{QNp4-tJ^ny^A!`xRyYf7X+fq_wY&Eq|D$!K1y=VJSvXm!j@_xHH?np`19GNBhh?; zVj*|1fj!+Kj`5BCdX`&qUY}dL4Y!05m9P8oVsUjlZR3aA=+eA?|B?Qc^vR**6He^Y z-aPrHw1&IFP$^`)Eg;5$I+tsK?@9s2h8w37`UWS7DS+If^_n$nS9+`T2>4n@s_~ho z-R`pN!NkDf{6>Ahp9}msBBVh<3@tN%&6vHBcHcF49dLc$=yPn(uKS$hQp3wv-ra^P za4x|W1xJ`B_Y2dGl~)fANJRq?NE#3`Vg=^!5tk2%ItWm-MR0Fqg`c>kox7lR+`J@4 zjM>!72IF~5d5XHFFDjX#unOz;mszcF)f7y1&+ic=z;--1OCG=9#AM-S`fk}C9Zl#A zm=7O2%|4cN;hT~Q4NEO1^>gclIrvXd$3$;Owob8#<`>uYkqLVXe`DxzT6z3v#pD%E zKgj+a_mrW^!^Fg{5-nqgVzy2J2%rndICS}eF~HPwDj$RsPYNa6azN>aC!os31cc;! z^h?b73c_`+TW02VUT>;(0KRJMI7GmjWPHSs)V%S)2BOIR4eE*PSh>|SR)0^pdH!14 z)g82aCXBbnE7m&v#L>%Mb`6lVmsg|0MJ?MBPB)>Lpjt6A&yN<+DjUNRHw#N6GX`S` zfz$I^PwoIKvq7sfVZfsOqZxlb)ksb@f;o(q`7=#^TbCVzWP&siHE6f7zU+p4%AM6A zaRE;YAqsDL!FNN;6MXhTDH=#Z!&YT9h}`OLzJy7(AG9XYhH!AkZ_}l>mue#ha}jeV zvWZm-3=xMYr8^J-?X(8B4sn^Ir1A?;#qpl`Uk24gRdd3;t zFT^y#ZbXRIBeT=o&=>*8uTlZvz_YapwbQAR7Z?yeO99PST(Bj15<;4LaE(@=a%j${ zy3^HFFdIv2&$^z)PW>WgFmgl$d&)mCm>7;+tT+Xk&g;~A$!WZ?w{ad zr4jNVCzydiWQY3c6e<-eg@Ps!taflS@%c_U z{=LvK?1_I`AB$bjvu;Vi%j}`2Lk{8C;~z7&&IaYkp(qu`Zwnkg)6P}d%Gf^_LsW3J z(6yh$l?0=>NkXr)GmoU`z}c^k5RH!%F@1R{N{IrL);!qnj}TcyJ%Q+1pXDkgI9@yA zJMEJ{vIpWf#d3Dnh-!a<|66Gt;}(RMFCjS>9rsc4s_L!IlwT5GdBT&~I3r74F6%nl z6l#w3fMc6(*ceRAFK4y-2#?XwvQ1$h7h6Zt!LUr-;j_{ozSuy8snx*HSju4>@&RF<8!kjJyorkX@|$bU5`?BmmcfJd>=T5412_OLO|5w z!dGB*6xIm>%Dg6r>}8X4AhVC?umdyk+8*+eL%*NWP_^XvK7eY;!(|BQxe$KfoonNK zRQEVOcZX_BLgD!){>vE13D-TB7dqZL+yU{1xMu!|Y018q&Q2Ap^$W4erk^WM^?6-5 zH}cB)Gc!sDt$=~iI4bbz7Xo*N{TtpEjdl00^ia01{qlxjI`1>Ckk&mCf}adM zi64b*9S_L%Yd_Zc-1Bx?15eS~YWsx=h19L440Vyf6v*4T>v@JEq$ zVXVyEsxcquc}cG=;zuqwCFT5DI!AW;ahvN@!}^fo%20LhWMe^>@~pd37|?Q88^yF{ z1`Cnh{Q{0`uLBKSz;7#C0YC~2Ktl{_ER4}0MlY?67x{>Oy2NbvGWVZJTCnKTZ54pL zHw?||^B)%P0v2W~*BzEzN>uIjwH(*l``G)mYcT?(1EqgYA@R>g6bezvvg7&NeeF); zrgol>tLR*pri^vI_vUte$DQM!VZGIhC$|fPYlPrTIRWR0)SG!STbODuPkrP}3{OcH zGl$Oy<#>u|XwqM1I+`}zn?(9QbdaDc=31GSqgJs5L&ni@7lZH^3rK)2l$wYsp_OJ6 z_J{?u>oqD+>Xx5~X$hjC9+BaXd*+q@O&W}|*tdpYKPDVFf6*S+fI!jsax!GQmbe(& zuUmJ2dMv?He%~72+Q{lFLI25n|D^FC4ZiaGsAY2qZ=$)>e%e2J(32!xe0`-hHA;fmUKd$}C%AaY zd{6=a+B+De8jps*xmW#B2x}z>;cOtiiZ^$Q6xXmD)*QKLzy<0)4C`blK_<}g0}Vw?v0C4(Jix1pjb+TkpMe$I%@cvo7bPxVYJ33z=1cR60EGo&pPH1nIaQ7s=|t!4QkG zp*v*ZIDWFMK?JD}S;hx<6WZrOeqtl&tal>KdVbf+q1leh5^?w1&R?=xVfVt)$;j)< zMEt5~$*=vR3sd_z>N)J4Ol)kLVYD5_s@W5+3K8g<9(%+qh{^BbX^BlDC0REkVnEn2 zVI4g!q1cQ094POXF0K_{V5%TiJ?XyR459e+AMw^L)VxN)-4(3>8$^Afey|vpq~H-O|fD4DQ4fk$wApDP^o71@MZxTxPM9 zLV=q6Wtsg3ZbU;|$tFfGWXEX??e|H9SXEA`QF^gTB`-yz9nel{Cz!EnGZI-uqj^|< z3jGr}D#f1sF4$CIZFQe_ev4hb&#+wcT3K<4uaRGOV{k?OxHh-{T-#OSW2MI&w(Ymh zHB0W7YTXQro$qFJs=4WD(c#opKelWw3hRTS?(%(@Xm!t6Mx=TkGUK#?C4BD{s=(m9 zzG><$c5K8{5QhkNNk$vO(fk~`zMB8_x(HWKR8BE&pKD(NEaeiREOXi-a+xAUFGyfM zZ@-Y@bwbhHQrDNTQlV;>x}~S1HMJ#U{_s`#+fwwiK=t?O&f#Vz-~DbwsN9B^f{iAg zw6-zaC^JE{EbfUUzPgRiTaA;M{u&Bt%xieyv>5v{eyO$ zCF=N~|E_1#+$uEmALiC#P?@Pdi83#<1%L%T&VBlQmTR31Er>pr-{62ho@^h^vM4{! z?|YhazoK-5UXxxiB+hEHGKv0$hhHE2F0BeVDlmt$swY*JO<2>OkASW~JH@#~7B(6r1zw0$u=O1%2Ez0P$8uc@=2dOIp-tvI8 z_WW76_7C+-`Dnr4-RMRd!DDRIeVQrLvUN)N$8tjJO3s{Z)eSg*j}QpU;B0uF2-mcV zi53N07OAv`L`fah;Gb+f$x248B8%GqhpZtf7d+jsH!anNi{1ld2ndi-L8vY`N`bO{AEUAaRk6vXsiF3Hm3StuND%b=B!09Xf_RYpSpr==N@=li z!6n`oQoGhY&T*eLpwa$hEj#W{sq3}&C63Vr&giOBCEq`4R!J=_fCP1&dg^XXq+?0` z44DQqjg+7_4*<}SqDo0iSlh6v=O$bB2P1%_s3Y{D+)tk^EpG2WdUi=?XvN2_R}kTuhX zB-7YZ7DxWNMtxa=UCakkW7T z5c6|XFCNEc`S1Q9M2<_-ACkif%X4HLE+QqElifFKo`&x>4k&E|k{>kLx3dd4e}ht8 zwBm9d%D2%-NYvTD8Z?#N?6ipjYPsE&t7nQ`ZSG~%jkn_t_xhtR!L{LV!Kz=kr~soG zoA!Nby&C~%etmXp(G2Y!`lsH4F6t+dMHdynVgxU?)5@k(#?xR?8%M!09@&(Sf3Cu_ zt)MuO55C)yT6vf# zN+2xoKd!d%KfKx4^XCsIHUj%qw%&p&Pt%{8Q}A)vJwY?I76$IQGstXyotbumJMHZ` zS{nckbsM`xc~g8m)ZDRW0ev;Ur)J#NuPp%`GVHiYPVYg>Jc^783sG@twgDr_7)wXP z`{!fMnKq@&>(K9U21~p4l;SoHC45XgtcwO|E9^!m^$%FO0Fxfu^>Tm}aKbe=j-k+7 zi^CpgjNQJp>nO!bNPYlomC5=g;xW(lE5v)05}d8S&Lmf*A_|Q~1HdT43k8xJ{=Zy~ zEg`}RESP7kS7r_qEos#LN5>VOjlFRx2uBs-ImNG3f48|Am84H)#E&AOG%5db%b5vE z8@MwL%7y`z@hwVU7<_e7de7lq`&uDDs4U(bzDxI^#T5bj>E}{K3}3l#f9N0lpliLV z7UJJ)j&t(>Ko4Z3O5_vmQBZLQwhi_FO3QvoOyD2Fl>et92H}T@{(riCv4Z^g>kRvJ Uo?(`~3-ohIh{y_83+e~_9|0b=4*&oF literal 0 HcmV?d00001 diff --git a/assets/mdui.css b/assets/mdui.css new file mode 100644 index 0000000..b8d03b5 --- /dev/null +++ b/assets/mdui.css @@ -0,0 +1 @@ +:root{--mdui-breakpoint-xs:0px;--mdui-breakpoint-sm:600px;--mdui-breakpoint-md:840px;--mdui-breakpoint-lg:1080px;--mdui-breakpoint-xl:1440px;--mdui-breakpoint-xxl:1920px}:root{--mdui-color-primary-light:103,80,164;--mdui-color-primary-container-light:234,221,255;--mdui-color-on-primary-light:255,255,255;--mdui-color-on-primary-container-light:33,0,94;--mdui-color-inverse-primary-light:208,188,255;--mdui-color-secondary-light:98,91,113;--mdui-color-secondary-container-light:232,222,248;--mdui-color-on-secondary-light:255,255,255;--mdui-color-on-secondary-container-light:30,25,43;--mdui-color-tertiary-light:125,82,96;--mdui-color-tertiary-container-light:255,216,228;--mdui-color-on-tertiary-light:255,255,255;--mdui-color-on-tertiary-container-light:55,11,30;--mdui-color-surface-light:254,247,255;--mdui-color-surface-dim-light:222,216,225;--mdui-color-surface-bright-light:254,247,255;--mdui-color-surface-container-lowest-light:255,255,255;--mdui-color-surface-container-low-light:247,242,250;--mdui-color-surface-container-light:243,237,247;--mdui-color-surface-container-high-light:236,230,240;--mdui-color-surface-container-highest-light:230,224,233;--mdui-color-surface-variant-light:231,224,236;--mdui-color-on-surface-light:28,27,31;--mdui-color-on-surface-variant-light:73,69,78;--mdui-color-inverse-surface-light:49,48,51;--mdui-color-inverse-on-surface-light:244,239,244;--mdui-color-background-light:254,247,255;--mdui-color-on-background-light:28,27,31;--mdui-color-error-light:179,38,30;--mdui-color-error-container-light:249,222,220;--mdui-color-on-error-light:255,255,255;--mdui-color-on-error-container-light:65,14,11;--mdui-color-outline-light:121,116,126;--mdui-color-outline-variant-light:196,199,197;--mdui-color-shadow-light:0,0,0;--mdui-color-surface-tint-color-light:103,80,164;--mdui-color-scrim-light:0,0,0;--mdui-color-primary-dark:208,188,255;--mdui-color-primary-container-dark:79,55,139;--mdui-color-on-primary-dark:55,30,115;--mdui-color-on-primary-container-dark:234,221,255;--mdui-color-inverse-primary-dark:103,80,164;--mdui-color-secondary-dark:204,194,220;--mdui-color-secondary-container-dark:74,68,88;--mdui-color-on-secondary-dark:51,45,65;--mdui-color-on-secondary-container-dark:232,222,248;--mdui-color-tertiary-dark:239,184,200;--mdui-color-tertiary-container-dark:99,59,72;--mdui-color-on-tertiary-dark:73,37,50;--mdui-color-on-tertiary-container-dark:255,216,228;--mdui-color-surface-dark:20,18,24;--mdui-color-surface-dim-dark:20,18,24;--mdui-color-surface-bright-dark:59,56,62;--mdui-color-surface-container-lowest-dark:15,13,19;--mdui-color-surface-container-low-dark:29,27,32;--mdui-color-surface-container-dark:33,31,38;--mdui-color-surface-container-high-dark:43,41,48;--mdui-color-surface-container-highest-dark:54,52,59;--mdui-color-surface-variant-dark:73,69,79;--mdui-color-on-surface-dark:230,225,229;--mdui-color-on-surface-variant-dark:202,196,208;--mdui-color-inverse-surface-dark:230,225,229;--mdui-color-inverse-on-surface-dark:49,48,51;--mdui-color-background-dark:20,18,24;--mdui-color-on-background-dark:230,225,229;--mdui-color-error-dark:242,184,181;--mdui-color-error-container-dark:140,29,24;--mdui-color-on-error-dark:96,20,16;--mdui-color-on-error-container-dark:249,222,220;--mdui-color-outline-dark:147,143,153;--mdui-color-outline-variant-dark:68,71,70;--mdui-color-shadow-dark:0,0,0;--mdui-color-surface-tint-color-dark:208,188,255;--mdui-color-scrim-dark:0,0,0;font-size:16px}.mdui-theme-light,:root{color-scheme:light;--mdui-color-primary:var(--mdui-color-primary-light);--mdui-color-primary-container:var(--mdui-color-primary-container-light);--mdui-color-on-primary:var(--mdui-color-on-primary-light);--mdui-color-on-primary-container:var(--mdui-color-on-primary-container-light);--mdui-color-inverse-primary:var(--mdui-color-inverse-primary-light);--mdui-color-secondary:var(--mdui-color-secondary-light);--mdui-color-secondary-container:var(--mdui-color-secondary-container-light);--mdui-color-on-secondary:var(--mdui-color-on-secondary-light);--mdui-color-on-secondary-container:var(--mdui-color-on-secondary-container-light);--mdui-color-tertiary:var(--mdui-color-tertiary-light);--mdui-color-tertiary-container:var(--mdui-color-tertiary-container-light);--mdui-color-on-tertiary:var(--mdui-color-on-tertiary-light);--mdui-color-on-tertiary-container:var(--mdui-color-on-tertiary-container-light);--mdui-color-surface:var(--mdui-color-surface-light);--mdui-color-surface-dim:var(--mdui-color-surface-dim-light);--mdui-color-surface-bright:var(--mdui-color-surface-bright-light);--mdui-color-surface-container-lowest:var(--mdui-color-surface-container-lowest-light);--mdui-color-surface-container-low:var(--mdui-color-surface-container-low-light);--mdui-color-surface-container:var(--mdui-color-surface-container-light);--mdui-color-surface-container-high:var(--mdui-color-surface-container-high-light);--mdui-color-surface-container-highest:var(--mdui-color-surface-container-highest-light);--mdui-color-surface-variant:var(--mdui-color-surface-variant-light);--mdui-color-on-surface:var(--mdui-color-on-surface-light);--mdui-color-on-surface-variant:var(--mdui-color-on-surface-variant-light);--mdui-color-inverse-surface:var(--mdui-color-inverse-surface-light);--mdui-color-inverse-on-surface:var(--mdui-color-inverse-on-surface-light);--mdui-color-background:var(--mdui-color-background-light);--mdui-color-on-background:var(--mdui-color-on-background-light);--mdui-color-error:var(--mdui-color-error-light);--mdui-color-error-container:var(--mdui-color-error-container-light);--mdui-color-on-error:var(--mdui-color-on-error-light);--mdui-color-on-error-container:var(--mdui-color-on-error-container-light);--mdui-color-outline:var(--mdui-color-outline-light);--mdui-color-outline-variant:var(--mdui-color-outline-variant-light);--mdui-color-shadow:var(--mdui-color-shadow-light);--mdui-color-surface-tint-color:var(--mdui-color-surface-tint-color-light);--mdui-color-scrim:var(--mdui-color-scrim-light);color:rgb(var(--mdui-color-on-background));background-color:rgb(var(--mdui-color-background))}.mdui-theme-dark{color-scheme:dark;--mdui-color-primary:var(--mdui-color-primary-dark);--mdui-color-primary-container:var(--mdui-color-primary-container-dark);--mdui-color-on-primary:var(--mdui-color-on-primary-dark);--mdui-color-on-primary-container:var(--mdui-color-on-primary-container-dark);--mdui-color-inverse-primary:var(--mdui-color-inverse-primary-dark);--mdui-color-secondary:var(--mdui-color-secondary-dark);--mdui-color-secondary-container:var(--mdui-color-secondary-container-dark);--mdui-color-on-secondary:var(--mdui-color-on-secondary-dark);--mdui-color-on-secondary-container:var(--mdui-color-on-secondary-container-dark);--mdui-color-tertiary:var(--mdui-color-tertiary-dark);--mdui-color-tertiary-container:var(--mdui-color-tertiary-container-dark);--mdui-color-on-tertiary:var(--mdui-color-on-tertiary-dark);--mdui-color-on-tertiary-container:var(--mdui-color-on-tertiary-container-dark);--mdui-color-surface:var(--mdui-color-surface-dark);--mdui-color-surface-dim:var(--mdui-color-surface-dim-dark);--mdui-color-surface-bright:var(--mdui-color-surface-bright-dark);--mdui-color-surface-container-lowest:var(--mdui-color-surface-container-lowest-dark);--mdui-color-surface-container-low:var(--mdui-color-surface-container-low-dark);--mdui-color-surface-container:var(--mdui-color-surface-container-dark);--mdui-color-surface-container-high:var(--mdui-color-surface-container-high-dark);--mdui-color-surface-container-highest:var(--mdui-color-surface-container-highest-dark);--mdui-color-surface-variant:var(--mdui-color-surface-variant-dark);--mdui-color-on-surface:var(--mdui-color-on-surface-dark);--mdui-color-on-surface-variant:var(--mdui-color-on-surface-variant-dark);--mdui-color-inverse-surface:var(--mdui-color-inverse-surface-dark);--mdui-color-inverse-on-surface:var(--mdui-color-inverse-on-surface-dark);--mdui-color-background:var(--mdui-color-background-dark);--mdui-color-on-background:var(--mdui-color-on-background-dark);--mdui-color-error:var(--mdui-color-error-dark);--mdui-color-error-container:var(--mdui-color-error-container-dark);--mdui-color-on-error:var(--mdui-color-on-error-dark);--mdui-color-on-error-container:var(--mdui-color-on-error-container-dark);--mdui-color-outline:var(--mdui-color-outline-dark);--mdui-color-outline-variant:var(--mdui-color-outline-variant-dark);--mdui-color-shadow:var(--mdui-color-shadow-dark);--mdui-color-surface-tint-color:var(--mdui-color-surface-tint-color-dark);--mdui-color-scrim:var(--mdui-color-scrim-dark);color:rgb(var(--mdui-color-on-background));background-color:rgb(var(--mdui-color-background))}@media (prefers-color-scheme:dark){.mdui-theme-auto{color-scheme:dark;--mdui-color-primary:var(--mdui-color-primary-dark);--mdui-color-primary-container:var(--mdui-color-primary-container-dark);--mdui-color-on-primary:var(--mdui-color-on-primary-dark);--mdui-color-on-primary-container:var(--mdui-color-on-primary-container-dark);--mdui-color-inverse-primary:var(--mdui-color-inverse-primary-dark);--mdui-color-secondary:var(--mdui-color-secondary-dark);--mdui-color-secondary-container:var(--mdui-color-secondary-container-dark);--mdui-color-on-secondary:var(--mdui-color-on-secondary-dark);--mdui-color-on-secondary-container:var(--mdui-color-on-secondary-container-dark);--mdui-color-tertiary:var(--mdui-color-tertiary-dark);--mdui-color-tertiary-container:var(--mdui-color-tertiary-container-dark);--mdui-color-on-tertiary:var(--mdui-color-on-tertiary-dark);--mdui-color-on-tertiary-container:var(--mdui-color-on-tertiary-container-dark);--mdui-color-surface:var(--mdui-color-surface-dark);--mdui-color-surface-dim:var(--mdui-color-surface-dim-dark);--mdui-color-surface-bright:var(--mdui-color-surface-bright-dark);--mdui-color-surface-container-lowest:var(--mdui-color-surface-container-lowest-dark);--mdui-color-surface-container-low:var(--mdui-color-surface-container-low-dark);--mdui-color-surface-container:var(--mdui-color-surface-container-dark);--mdui-color-surface-container-high:var(--mdui-color-surface-container-high-dark);--mdui-color-surface-container-highest:var(--mdui-color-surface-container-highest-dark);--mdui-color-surface-variant:var(--mdui-color-surface-variant-dark);--mdui-color-on-surface:var(--mdui-color-on-surface-dark);--mdui-color-on-surface-variant:var(--mdui-color-on-surface-variant-dark);--mdui-color-inverse-surface:var(--mdui-color-inverse-surface-dark);--mdui-color-inverse-on-surface:var(--mdui-color-inverse-on-surface-dark);--mdui-color-background:var(--mdui-color-background-dark);--mdui-color-on-background:var(--mdui-color-on-background-dark);--mdui-color-error:var(--mdui-color-error-dark);--mdui-color-error-container:var(--mdui-color-error-container-dark);--mdui-color-on-error:var(--mdui-color-on-error-dark);--mdui-color-on-error-container:var(--mdui-color-on-error-container-dark);--mdui-color-outline:var(--mdui-color-outline-dark);--mdui-color-outline-variant:var(--mdui-color-outline-variant-dark);--mdui-color-shadow:var(--mdui-color-shadow-dark);--mdui-color-surface-tint-color:var(--mdui-color-surface-tint-color-dark);--mdui-color-scrim:var(--mdui-color-scrim-dark);color:rgb(var(--mdui-color-on-background));background-color:rgb(var(--mdui-color-background))}}:root{--mdui-elevation-level0:none;--mdui-elevation-level1:0 0.5px 1.5px 0 rgba(var(--mdui-color-shadow), 19%),0 0 1px 0 rgba(var(--mdui-color-shadow), 3.9%);--mdui-elevation-level2:0 0.85px 3px 0 rgba(var(--mdui-color-shadow), 19%),0 0.25px 1px 0 rgba(var(--mdui-color-shadow), 3.9%);--mdui-elevation-level3:0 1.25px 5px 0 rgba(var(--mdui-color-shadow), 19%),0 0.3333px 1.5px 0 rgba(var(--mdui-color-shadow), 3.9%);--mdui-elevation-level4:0 1.85px 6.25px 0 rgba(var(--mdui-color-shadow), 19%),0 0.5px 1.75px 0 rgba(var(--mdui-color-shadow), 3.9%);--mdui-elevation-level5:0 2.75px 9px 0 rgba(var(--mdui-color-shadow), 19%),0 0.25px 3px 0 rgba(var(--mdui-color-shadow), 3.9%)}:root{--mdui-motion-easing-linear:cubic-bezier(0, 0, 1, 1);--mdui-motion-easing-standard:cubic-bezier(0.2, 0, 0, 1);--mdui-motion-easing-standard-accelerate:cubic-bezier(0.3, 0, 1, 1);--mdui-motion-easing-standard-decelerate:cubic-bezier(0, 0, 0, 1);--mdui-motion-easing-emphasized:var(--mdui-motion-easing-standard);--mdui-motion-easing-emphasized-accelerate:cubic-bezier(0.3, 0, 0.8, 0.15);--mdui-motion-easing-emphasized-decelerate:cubic-bezier(0.05, 0.7, 0.1, 1);--mdui-motion-duration-short1:50ms;--mdui-motion-duration-short2:100ms;--mdui-motion-duration-short3:150ms;--mdui-motion-duration-short4:200ms;--mdui-motion-duration-medium1:250ms;--mdui-motion-duration-medium2:300ms;--mdui-motion-duration-medium3:350ms;--mdui-motion-duration-medium4:400ms;--mdui-motion-duration-long1:450ms;--mdui-motion-duration-long2:500ms;--mdui-motion-duration-long3:550ms;--mdui-motion-duration-long4:600ms;--mdui-motion-duration-extra-long1:700ms;--mdui-motion-duration-extra-long2:800ms;--mdui-motion-duration-extra-long3:900ms;--mdui-motion-duration-extra-long4:1000ms}.mdui-prose{line-height:1.75;word-wrap:break-word}.mdui-prose :first-child{margin-top:0}.mdui-prose :last-child{margin-bottom:0}.mdui-prose code,.mdui-prose kbd,.mdui-prose pre,.mdui-prose pre tt,.mdui-prose samp{font-family:Consolas,Courier,"Courier New",monospace}.mdui-prose caption{text-align:left}.mdui-prose [draggable=true],.mdui-prose [draggable]{cursor:move}.mdui-prose [draggable=false]{cursor:inherit}.mdui-prose dl,.mdui-prose form,.mdui-prose ol,.mdui-prose p,.mdui-prose ul{margin-top:1.25em;margin-bottom:1.25em}.mdui-prose a{text-decoration:none;outline:0;color:rgb(var(--mdui-color-primary))}.mdui-prose a:focus,.mdui-prose a:hover{border-bottom:.0625rem solid rgb(var(--mdui-color-primary))}.mdui-prose small{font-size:.875em}.mdui-prose strong{font-weight:600}.mdui-prose blockquote{margin:1.6em 2em;padding-left:1em;border-left:.25rem solid rgb(var(--mdui-color-surface-variant))}@media only screen and (max-width:599.98px){.mdui-prose blockquote{margin:1.6em 0}}.mdui-prose blockquote footer{font-size:86%;color:rgb(var(--mdui-color-on-surface-variant))}.mdui-prose mark{color:inherit;background-color:rgb(var(--mdui-color-secondary-container));border-bottom:.0625rem solid rgb(var(--mdui-color-secondary));margin:0 .375rem;padding:.125rem}.mdui-prose h1,.mdui-prose h2,.mdui-prose h3,.mdui-prose h4,.mdui-prose h5,.mdui-prose h6{font-weight:400}.mdui-prose h1 small,.mdui-prose h2 small,.mdui-prose h3 small,.mdui-prose h4 small,.mdui-prose h5 small,.mdui-prose h6 small{font-weight:inherit;font-size:65%;color:rgb(var(--mdui-color-on-surface-variant))}.mdui-prose h1 strong,.mdui-prose h2 strong,.mdui-prose h3 strong,.mdui-prose h4 strong,.mdui-prose h5 strong,.mdui-prose h6 strong{font-weight:600}.mdui-prose h1{font-size:2.5em;margin-top:0;margin-bottom:1.25em;line-height:1.1111}.mdui-prose h2{font-size:1.875em;margin-top:2.25em;margin-bottom:1.125em;line-height:1.3333}.mdui-prose h3{font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.6}.mdui-prose h4{font-size:1.25em;margin-top:1.875em;margin-bottom:.875em;line-height:1.5}.mdui-prose h2+*,.mdui-prose h3+*,.mdui-prose h4+*,.mdui-prose hr+*{margin-top:0}.mdui-prose code,.mdui-prose kbd{font-size:.875em;color:rgb(var(--mdui-color-on-surface-container));background-color:rgba(var(--mdui-color-surface-variant),.28);padding:.125rem .375rem;border-radius:var(--mdui-shape-corner-extra-small)}.mdui-prose kbd{font-size:.9em}.mdui-prose abbr[title]{text-decoration:none;cursor:help;border-bottom:.0625rem dotted rgb(var(--mdui-color-on-surface-variant))}.mdui-prose ins,.mdui-prose u{text-decoration:none;border-bottom:.0625rem solid rgb(var(--mdui-color-on-surface-variant))}.mdui-prose del{text-decoration:line-through}.mdui-prose hr{margin-top:3em;margin-bottom:3em;border:none;border-bottom:.0625rem solid rgb(var(--mdui-color-surface-variant))}.mdui-prose pre{margin-top:1.7143em;margin-bottom:1.7143em}.mdui-prose pre code{padding:.8571em 1.1429em;overflow-x:auto;-webkit-overflow-scrolling:touch;background-color:rgb(var(--mdui-color-surface-container));color:rgb(var(--mdui-color-on-surface-container));border-radius:var(--mdui-shape-corner-extra-small)}.mdui-prose ol,.mdui-prose ul{padding-left:1.625em}.mdui-prose ul{list-style-type:disc}.mdui-prose ol{list-style-type:decimal}.mdui-prose ol[type="A"]{list-style-type:upper-alpha}.mdui-prose ol[type="a"]{list-style-type:lower-alpha}.mdui-prose ol[type="I"]{list-style-type:upper-roman}.mdui-prose ol[type="i"]{list-style-type:lower-roman}.mdui-prose ol[type="1"]{list-style-type:decimal}.mdui-prose li{margin-top:.5em;margin-bottom:.5em}.mdui-prose ol>li,.mdui-prose ul>li{padding-left:.375em}.mdui-prose ol>li>p,.mdui-prose ul>li>p{margin-top:.75em;margin-bottom:.75em}.mdui-prose ol>li>:first-child,.mdui-prose ul>li>:first-child{margin-top:1.25em}.mdui-prose ol>li>:last-child,.mdui-prose ul>li>:last-child{margin-bottom:1.25em}.mdui-prose ol>li::marker{font-weight:400;color:rgb(var(--mdui-color-on-surface-variant))}.mdui-prose ul>li::marker{color:rgb(var(--mdui-color-on-surface-variant))}.mdui-prose ol ol,.mdui-prose ol ul,.mdui-prose ul ol,.mdui-prose ul ul{margin-top:.75em;margin-bottom:.75em}.mdui-prose fieldset,.mdui-prose img{border:none}.mdui-prose figure,.mdui-prose img,.mdui-prose video{margin-top:2em;margin-bottom:2em;max-width:100%}.mdui-prose figure>*{margin-top:0;margin-bottom:0}.mdui-prose figcaption{font-size:.875em;line-height:1.4286;margin-top:.8571em;color:rgb(var(--mdui-color-on-surface-variant))}.mdui-prose figcaption:empty::before{z-index:-1;cursor:text;content:attr(placeholder);color:rgb(var(--mdui-color-on-surface-variant))}.mdui-prose table{margin-top:2em;margin-bottom:2em;border:.0625rem solid rgb(var(--mdui-color-surface-variant));border-radius:var(--mdui-shape-corner-large)}.mdui-table{width:100%;overflow-x:auto;margin-top:2em;margin-bottom:2em;border:.0625rem solid rgb(var(--mdui-color-surface-variant));border-radius:var(--mdui-shape-corner-large)}.mdui-table table{margin-top:0;margin-bottom:0;border:none;border-radius:0}.mdui-prose table,.mdui-table table{width:100%;text-align:left;border-collapse:collapse;border-spacing:0}.mdui-prose td,.mdui-prose th,.mdui-table td,.mdui-table th{border-top:.0625rem solid rgb(var(--mdui-color-surface-variant))}.mdui-prose td:not(:first-child),.mdui-prose th:not(:first-child),.mdui-table td:not(:first-child),.mdui-table th:not(:first-child){border-left:.0625rem solid rgb(var(--mdui-color-surface-variant))}.mdui-prose td:not(:last-child),.mdui-prose th:not(:last-child),.mdui-table td:not(:last-child),.mdui-table th:not(:last-child){border-right:.0625rem solid rgb(var(--mdui-color-surface-variant))}.mdui-prose tbody:first-child tr:first-child td,.mdui-prose thead:first-child tr:first-child th,.mdui-table tbody:first-child tr:first-child td,.mdui-table thead:first-child tr:first-child th{border-top:0}.mdui-prose tfoot td,.mdui-prose tfoot th,.mdui-prose thead td,.mdui-prose thead th,.mdui-table tfoot td,.mdui-table tfoot th,.mdui-table thead td,.mdui-table thead th{position:relative;vertical-align:middle;padding:1.125rem 1rem;font-weight:var(--mdui-typescale-title-medium-weight);letter-spacing:var(--mdui-typescale-title-medium-tracking);line-height:var(--mdui-typescale-title-medium-line-height);color:rgb(var(--mdui-color-on-surface-variant));box-shadow:var(--mdui-elevation-level1)}.mdui-prose tbody td,.mdui-prose tbody th,.mdui-table tbody td,.mdui-table tbody th{padding:.875rem 1rem}.mdui-prose tbody th,.mdui-table tbody th{vertical-align:middle;font-weight:inherit}.mdui-prose tbody td,.mdui-table tbody td{vertical-align:baseline}:root{--mdui-shape-corner-none:0;--mdui-shape-corner-extra-small:0.25rem;--mdui-shape-corner-small:0.5rem;--mdui-shape-corner-medium:0.75rem;--mdui-shape-corner-large:1rem;--mdui-shape-corner-extra-large:1.75rem;--mdui-shape-corner-full:1000rem}:root{--mdui-state-layer-hover:0.08;--mdui-state-layer-focus:0.12;--mdui-state-layer-pressed:0.12;--mdui-state-layer-dragged:0.16}:root{--mdui-typescale-display-large-weight:400;--mdui-typescale-display-medium-weight:400;--mdui-typescale-display-small-weight:400;--mdui-typescale-display-large-line-height:4rem;--mdui-typescale-display-medium-line-height:3.25rem;--mdui-typescale-display-small-line-height:2.75rem;--mdui-typescale-display-large-size:3.5625rem;--mdui-typescale-display-medium-size:2.8125rem;--mdui-typescale-display-small-size:2.25rem;--mdui-typescale-display-large-tracking:0rem;--mdui-typescale-display-medium-tracking:0rem;--mdui-typescale-display-small-tracking:0rem;--mdui-typescale-headline-large-weight:400;--mdui-typescale-headline-medium-weight:400;--mdui-typescale-headline-small-weight:400;--mdui-typescale-headline-large-line-height:2.5rem;--mdui-typescale-headline-medium-line-height:2.25rem;--mdui-typescale-headline-small-line-height:2rem;--mdui-typescale-headline-large-size:2rem;--mdui-typescale-headline-medium-size:1.75rem;--mdui-typescale-headline-small-size:1.5rem;--mdui-typescale-headline-large-tracking:0rem;--mdui-typescale-headline-medium-tracking:0rem;--mdui-typescale-headline-small-tracking:0rem;--mdui-typescale-title-large-weight:400;--mdui-typescale-title-medium-weight:500;--mdui-typescale-title-small-weight:500;--mdui-typescale-title-large-line-height:1.75rem;--mdui-typescale-title-medium-line-height:1.5rem;--mdui-typescale-title-small-line-height:1.25rem;--mdui-typescale-title-large-size:1.375rem;--mdui-typescale-title-medium-size:1rem;--mdui-typescale-title-small-size:0.875rem;--mdui-typescale-title-large-tracking:0rem;--mdui-typescale-title-medium-tracking:0.009375rem;--mdui-typescale-title-small-tracking:0.00625rem;--mdui-typescale-label-large-weight:500;--mdui-typescale-label-medium-weight:500;--mdui-typescale-label-small-weight:500;--mdui-typescale-label-large-line-height:1.25rem;--mdui-typescale-label-medium-line-height:1rem;--mdui-typescale-label-small-line-height:0.375rem;--mdui-typescale-label-large-size:0.875rem;--mdui-typescale-label-medium-size:0.75rem;--mdui-typescale-label-small-size:0.6875rem;--mdui-typescale-label-large-tracking:0.00625rem;--mdui-typescale-label-medium-tracking:0.03125rem;--mdui-typescale-label-small-tracking:0.03125rem;--mdui-typescale-body-large-weight:400;--mdui-typescale-body-medium-weight:400;--mdui-typescale-body-small-weight:400;--mdui-typescale-body-large-line-height:1.5rem;--mdui-typescale-body-medium-line-height:1.25rem;--mdui-typescale-body-small-line-height:1rem;--mdui-typescale-body-large-size:1rem;--mdui-typescale-body-medium-size:0.875rem;--mdui-typescale-body-small-size:0.75rem;--mdui-typescale-body-large-tracking:0.009375rem;--mdui-typescale-body-medium-tracking:0.015625rem;--mdui-typescale-body-small-tracking:0.025rem}.mdui-lock-screen{overflow:hidden!important} diff --git a/assets/mdui.global.js b/assets/mdui.global.js new file mode 100644 index 0000000..0e4f06b --- /dev/null +++ b/assets/mdui.global.js @@ -0,0 +1,22 @@ +/*! + * mdui 2.0.1 (https://www.mdui.org) + * Copyright 2016-2023 zdhxiong + * Licensed under MIT + */ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).mdui={})}(this,(function(e){"use strict";function t(e){return null!==e&&"object"==typeof e&&"constructor"in e&&e.constructor===Object}function i(e={},o={}){Object.keys(o).forEach((r=>{void 0===e[r]?e[r]=o[r]:t(o[r])&&t(e[r])&&Object.keys(o[r]).length>0&&i(e[r],o[r])}))}const o={body:{},addEventListener(){},removeEventListener(){},activeElement:{blur(){},nodeName:""},querySelector:()=>null,querySelectorAll:()=>[],getElementById:()=>null,createEvent:()=>({initEvent(){}}),createElement:()=>({children:[],childNodes:[],style:{},setAttribute(){},getElementsByTagName:()=>[]}),createElementNS:()=>({}),importNode:()=>null,location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""}};function r(){const e="undefined"!=typeof document?document:{};return i(e,o),e}const n={document:o,navigator:{userAgent:""},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""},history:{replaceState(){},pushState(){},go(){},back(){}},CustomEvent:function(){return this},addEventListener(){},removeEventListener(){},getComputedStyle:()=>({getPropertyValue:()=>""}),Image(){},Date(){},screen:{},setTimeout(){},clearTimeout(){},matchMedia:()=>({}),requestAnimationFrame:e=>"undefined"==typeof setTimeout?(e(),null):setTimeout(e,0),cancelAnimationFrame(e){"undefined"!=typeof setTimeout&&clearTimeout(e)}};function s(){const e="undefined"!=typeof window?window:{};return i(e,n),e}const a=(e,t)=>(null==e?void 0:e.nodeName.toLowerCase())===t.toLowerCase(),l=e=>"function"==typeof e,c=e=>"string"==typeof e,d=e=>"number"==typeof e,h=e=>"boolean"==typeof e,u=e=>void 0===e,p=e=>null===e,m=e=>"undefined"!=typeof Window&&e instanceof Window,v=e=>"undefined"!=typeof Document&&e instanceof Document,f=e=>"undefined"!=typeof Element&&e instanceof Element,g=e=>!l(e)&&!m(e)&&d(e.length),b=e=>"object"==typeof e&&null!==e,y=e=>v(e)?e.documentElement:e,w=e=>e.replace(/-([a-z])/g,((e,t)=>t.toUpperCase())),k=e=>e?e.replace(/^./,e[0].toLowerCase()).replace(/[A-Z]/g,(e=>"-"+e.toLowerCase())):e,C=()=>!1,x=()=>!0,$=(e,t)=>{for(let i=0;i{const i=Object.keys(e);for(let o=0;o{this[t]=e})),this.length=e.length,this):this}}const T=e=>r().createElement(e),E=(e,t)=>e.appendChild(t),I=e=>e.parentNode?e.parentNode.removeChild(e):e,A=(e,t)=>{const i=T(t);return i.innerHTML=e,[].slice.call(i.childNodes)},P=(()=>{const e=function(t){const i=r();if(!t)return new S;if(t instanceof S)return t;if(l(t))return/complete|loaded|interactive/.test(i.readyState)&&i.body?t.call(i,e):i.addEventListener("DOMContentLoaded",(()=>t.call(i,e)),!1),new S([i]);if(c(t)){const e=t.trim();if(e.startsWith("<")&&e.endsWith(">")){let t="div";return R({li:"ul",tr:"tbody",td:"tr",th:"tr",tbody:"table",option:"select"},((i,o)=>{if(e.startsWith(`<${i}`))return t=o,!1})),new S(A(e,t))}return new S(i.querySelectorAll(t))}return!g(t)||(o=t,"undefined"!=typeof Node&&o instanceof Node)?new S([t]):new S(t);var o};return e.fn=S.prototype,e})(),M=(e,t)=>($(t,(t=>{e.push(t)})),e),D=e=>[...new Set(e)];P.fn.get=function(e){return void 0===e?[].slice.call(this):this[e>=0?e:e+this.length]},P.fn.add=function(e){return new S(D(M(this.get(),P(e).get())))};const B=(e,t,i)=>{const o=e.getAttribute(t);return p(o)?i:o},L=(e,t)=>{e.removeAttribute(t)},_=(e,t,i)=>{p(i)?L(e,t):e.setAttribute(t,i)};P.fn.each=function(e){return $(this,((t,i)=>e.call(t,i,t)))},$(["add","remove","toggle"],(e=>{P.fn[`${e}Class`]=function(t){return"remove"!==e||arguments.length?this.each(((i,o)=>{if(!f(o))return;const r=(l(t)?t.call(o,i,B(o,"class","")):t).split(" ").filter((e=>e));$(r,(t=>{o.classList[e](t)}))})):this.each(((e,t)=>{_(t,"class","")}))}})),$(["insertBefore","insertAfter"],((e,t)=>{P.fn[e]=function(e){const i=t?P(this.get().reverse()):this,o=P(e),r=[];return o.each(((e,o)=>{o.parentNode&&i.each(((i,n)=>{const s=e?n.cloneNode(!0):n,a=t?o.nextSibling:o;r.push(s),o.parentNode.insertBefore(s,a)}))})),P(t?r.reverse():r)}}));function O(e,t){return g(e)?$(e,((e,i)=>t.call(e,i,e))):R(e,t)}function z(e,t){const i=s();let o;const r=[];return O(e,((e,n)=>{o=t.call(i,n,e),null!=o&&r.push(o)})),[].concat(...r)}$(["before","after"],((e,t)=>{P.fn[e]=function(...e){return 1===t&&(e=e.reverse()),this.each(((i,o)=>{const r=l(e[0])?[e[0].call(o,i,o.innerHTML)]:e;$(r,(e=>{let r;r=(e=>c(e)&&!(e.startsWith("<")&&e.endsWith(">")))(e)?P(A(e,"div")):i&&f(e)?P(e.cloneNode(!0)):P(e),r[t?"insertAfter":"insertBefore"](o)}))}))}})),P.fn.map=function(e){return new S(z(this,((t,i)=>e.call(t,i,t))))},P.fn.clone=function(){return this.map((function(){return this.cloneNode(!0)}))},P.fn.is=function(e){let t=!1;if(l(e))return this.each(((i,o)=>{e.call(o,i,o)&&(t=!0)})),t;if(c(e))return this.each(((i,o)=>{v(o)||m(o)||o.matches.call(o,e)&&(t=!0)})),t;const i=P(e);return this.each(((e,o)=>{i.each(((e,i)=>{o===i&&(t=!0)}))})),t},P.fn.remove=function(e){return this.each(((t,i)=>{e&&!P(i).is(e)||I(i)}))},$(["prepend","append"],((e,t)=>{P.fn[e]=function(...e){return this.each(((i,o)=>{const r=o.childNodes,n=r.length,s=n?r[t?n-1:0]:T("div");n||E(o,s);let a=l(e[0])?[e[0].call(o,i,o.innerHTML)]:e;i&&(a=a.map((e=>c(e)?e:P(e).clone()))),P(s)[t?"after":"before"](...a),n||I(s)}))}})),$(["appendTo","prependTo"],((e,t)=>{P.fn[e]=function(e){const i=[],o=P(e).map(((e,o)=>{const r=o.childNodes,n=r.length;if(n)return r[t?0:n-1];const s=T("div");return E(o,s),i.push(s),s})),r=this[t?"insertBefore":"insertAfter"](o);return P(i).remove(),r}}));const F=(e,t)=>s().getComputedStyle(e).getPropertyValue(k(t)),N=e=>"border-box"===F(e,"box-sizing"),V=(e,t,i)=>{const o="width"===t?["Left","Right"]:["Top","Bottom"];return[0,1].reduce(((t,r,n)=>{let s=i+o[n];return"border"===i&&(s+="Width"),t+parseFloat(F(e,s)||"0")}),0)},H=(e,t)=>{if("width"===t||"height"===t){const i=e.getBoundingClientRect()[t];return N(e)?`${i}px`:i-V(e,t,"border")-V(e,t,"padding")+"px"}return F(e,t)},K=["animation-iteration-count","column-count","fill-opacity","flex-grow","flex-shrink","font-weight","grid-area","grid-column","grid-column-end","grid-column-start","grid-row","grid-row-end","grid-row-start","line-height","opacity","order","orphans","widows","z-index","zoom"];$(["attr","prop","css"],((e,t)=>{const i=(e,i)=>0===t?B(e,i):1===t?e[i]:H(e,i);P.fn[e]=function(o,r){if(b(o))return R(o,((t,i)=>{this[e](t,i)})),this;if(1===arguments.length){const e=this[0];return f(e)?i(e,o):void 0}return this.each(((e,n)=>{((e,i,o)=>{if(u(o))return;if(0===t)return _(e,i,o);if(1===t)return void(e[i]=o);i=k(i),e.style.setProperty(i,d(o)?`${o}${i.startsWith("--")||K.includes(i)?"":"px"}`:o)})(n,o,l(r)?r.call(n,e,i(n,o)):r)}))}})),P.fn.children=function(e){const t=[];return this.each(((i,o)=>{$(o.childNodes,(i=>{f(i)&&(e&&!P(i).is(e)||t.push(i))}))})),new S(D(t))},P.fn.slice=function(...e){return new S([].slice.apply(this,e))},P.fn.eq=function(e){const t=-1===e?this.slice(e):this.slice(e,+e+1);return new S(t)};const U=(e,t,i,o,r)=>{const n=[];let s;return e.each(((e,a)=>{for(s=a[i];s&&f(s);){if(2===t){if(o&&P(s).is(o))break;r&&!P(s).is(r)||n.push(s)}else{if(0===t){o&&!P(s).is(o)||n.push(s);break}o&&!P(s).is(o)||n.push(s)}s=s[i]}})),new S(D(n))};$(["","s","sUntil"],((e,t)=>{P.fn[`parent${e}`]=function(e,i){const o=t?P(this.get().reverse()):this;return U(o,t,"parentNode",e,i)}})),P.fn.closest=function(e){if(this.is(e))return this;const t=[];return this.parents().each(((i,o)=>{if(P(o).is(e))return t.push(o),!1})),new S(t)};const q=new WeakMap,j=e=>{var t;return null!==(t=q.get(e))&&void 0!==t?t:{}},G=(e,t)=>{const i=j(e),o=w(t);return o in i?i[o]:void 0},W=(e,t)=>{const i=j(e);R(t,((e,t)=>{i[w(e)]=t})),q.set(e,i)},Y=(e,t,i)=>{W(e,{[t]:i})},X=/^(?:{[\w\W]*\}|\[[\w\W]*\])$/,J=(e,t,i)=>{if(u(i)&&1===e.nodeType&&(i=e.dataset[t],c(i)))try{i=(e=>"true"===e||"false"!==e&&("null"===e?null:e===+e+""?+e:X.test(e)?JSON.parse(e):e))(i)}catch(e){}return i};P.fn.data=function(e,t){if(u(e)){if(!this.length)return;const e=this[0],t=j(e);return 1!==e.nodeType||R(e.dataset,(i=>{t[i]=J(e,i,t[i])})),t}return b(e)?this.each((function(){W(this,e)})):2===arguments.length&&u(t)?this:u(t)?this.length?J(this[0],w(e),G(this[0],e)):void 0:this.each((function(){Y(this,e,t)}))},P.fn.empty=function(){return this.each(((e,t)=>{t.innerHTML=""}))},P.fn.extend=function(e){return R(e,((e,t)=>{P.fn[e]=t})),this},P.fn.filter=function(e){if(l(e))return this.map(((t,i)=>e.call(i,t,i)?i:void 0));if(c(e))return this.map(((t,i)=>P(i).is(e)?i:void 0));const t=P(e);return this.map(((e,i)=>t.get().includes(i)?i:void 0))},P.fn.find=function(e){const t=[];return this.each(((i,o)=>{M(t,P(o.querySelectorAll(e)).get())})),new S(t)},P.fn.first=function(){return this.eq(0)};const Z=(e,t)=>e!==t&&y(e).contains(t);P.fn.has=function(e){const t=c(e)?this.find(e):P(e),{length:i}=t;return this.map((function(){for(let e=0;e{const s=i=>V(e,t.toLowerCase(),i)*n;return 2===o&&r&&(i+=s("margin")),N(e)?(0===o&&(i-=s("border")),1===o&&(i-=s("border"),i-=s("padding"))):(0===o&&(i+=s("padding")),2===o&&(i+=s("border"),i+=s("padding"))),i},ee=(e,t,i,o)=>{const n=r(),s=`client${t}`,a=`scroll${t}`,l=`offset${t}`,c=`inner${t}`;if(m(e))return 2===i?e[c]:y(n)[s];if(v(e)){const t=y(e);return Math.max(e.body[a],t[a],e.body[l],t[l],t[s])}const d=parseFloat(F(e,t.toLowerCase())||"0");return Q(e,t,d,i,o,1)};$(["Width","Height"],(e=>{$([`inner${e}`,e.toLowerCase(),`outer${e}`],((t,i)=>{P.fn[t]=function(t,o){const r=arguments.length&&(i<2||!h(t)),n=!0===t||!0===o;return r?this.each(((o,r)=>((e,t,i,o,r,n)=>{let s=l(n)?n.call(e,t,ee(e,i,o,r)):n;if(null==s)return;const a=P(e),d=i.toLowerCase();if(c(s)&&["auto","inherit",""].includes(s))return void a.css(d,s);const h=s.toString().replace(/\b[0-9.]*/,""),u=parseFloat(s);s=Q(e,i,u,o,r,-1)+(h||"px"),a.css(d,s)})(r,o,e,i,n,t))):this.length?ee(this[0],e,i,n):void 0}}))})),P.fn.hide=function(){return this.each(((e,t)=>{t.style.display="none"}))},$(["val","html","text"],((e,t)=>{const i=["value","innerHTML","textContent"][t],o=e=>{if(2===t)return z(e,(e=>y(e)[i])).join("");if(!e.length)return;const o=e[0],r=P(o);return 0===t&&r.is("select[multiple]")?z(r.find("option:checked"),(e=>e.value)):o[i]};P.fn[e]=function(e){return arguments.length?this.each(((r,n)=>{const s=P(n),a=l(e)?e.call(n,r,o(s)):e;0===t&&Array.isArray(a)?s.is("select[multiple]")?z(s.find("option"),(e=>e.selected=a.includes(e.value))):n.checked=a.includes(n.value):((e,o)=>{if(u(o)){if(0!==t)return;o=""}1===t&&f(o)&&(o=o.outerHTML),e[i]=o})(n,a)})):o(this)}})),P.fn.index=function(e){return arguments.length?c(e)?P(e).get().indexOf(this[0]):this.get().indexOf(P(e)[0]):this.eq(0).parent().children().get().indexOf(this[0])},P.fn.last=function(){return this.eq(-1)},$(["","All","Until"],((e,t)=>{P.fn[`next${e}`]=function(e,i){return U(this,t,"nextElementSibling",e,i)}})),P.fn.not=function(e){const t=this.filter(e);return this.map(((e,i)=>t.index(i)>-1?void 0:i))};const te=s().CustomEvent;class ie extends te{constructor(e,t){super(e,t),this.data=t.data,this.namespace=t.namespace}}const oe=new WeakMap;let re=1;const ne=e=>(oe.has(e)||oe.set(e,++re),oe.get(e)),se=new Map,ae=e=>{const t=ne(e);return se.get(t)||se.set(t,[]).get(t)},le=e=>{const t=e.split(".");return{type:t[0],namespace:t.slice(1).sort().join(" ")}},ce=e=>new RegExp("(?:^| )"+e.replace(" "," .* ?")+"(?: |$)"),de=(e,t,i,o)=>{const r=ae(e),n=t=>{delete r[t.id],e.removeEventListener(t.type,t.proxy,!1)};t?t.split(" ").forEach((t=>{t&&((e,t,i,o)=>{const r=le(t);return ae(e).filter((e=>e&&(!r.type||e.type===r.type)&&(!r.namespace||ce(r.namespace).test(e.namespace))&&(!i||ne(e.func)===ne(i))&&(!o||e.selector===o)))})(e,t,i,o).forEach((e=>{n(e)}))})):r.forEach((e=>{n(e)}))};function he(e,...t){return $(t,(t=>{R(t,((t,i)=>{u(i)||(e[t]=i)}))})),e}P.fn.off=function(e,t,i){return b(e)?(R(e,((e,i)=>{this.off(e,t,i)})),this):((!1===t||l(t))&&(i=t,t=void 0),!1===i&&(i=C),this.each((function(){de(this,e,i,t)})))},P.fn.offsetParent=function(){const e=r();return this.map((function(){let t=this.offsetParent;for(;t&&"static"===P(t).css("position");)t=t.offsetParent;return t||e.documentElement}))};const ue=(e,t)=>parseFloat(e.css(t));P.fn.position=function(){if(!this.length)return;const e=this.eq(0);let t,i={left:0,top:0};if("fixed"===e.css("position"))t=e[0].getBoundingClientRect();else{t=e.offset();const o=e.offsetParent();i=o.offset(),i.top+=ue(o,"border-top-width"),i.left+=ue(o,"border-left-width")}return{top:t.top-i.top-ue(e,"margin-top"),left:t.left-i.left-ue(e,"margin-left")}};const pe=e=>{if(!e.getClientRects().length)return{top:0,left:0};const{top:t,left:i}=e.getBoundingClientRect(),{pageYOffset:o,pageXOffset:r}=e.ownerDocument.defaultView;return{top:t+o,left:i+r}};P.fn.offset=function(e){if(!arguments.length){if(!this.length)return;return pe(this[0])}return this.each((function(t){((e,t,i)=>{const o=P(e),r=o.css("position");"static"===r&&o.css("position","relative");const n=pe(e),s=o.css("top"),a=o.css("left");let c,d;if("absolute"!==r&&"fixed"!==r||!(s+a).includes("auto"))c=parseFloat(s),d=parseFloat(a);else{const e=o.position();c=e.top,d=e.left}const h=l(t)?t.call(e,i,he({},n)):t;o.css({top:null!=h.top?h.top-n.top+c:void 0,left:null!=h.left?h.left-n.left+d:void 0})})(this,e,t)}))},P.fn.on=function(e,t,i,o,r){if(b(e))return c(t)||(i=i||t,t=void 0),R(e,((e,o)=>{this.on(e,t,i,o,r)})),this;if(null==i&&null==o?(o=t,i=t=void 0):null==o&&(c(t)?(o=i,i=void 0):(o=i,i=t,t=void 0)),!1===o)o=C;else if(!o)return this;if(r){const e=this,i=o;o=function(r,...n){return e.off(r.type,t,o),i.call(this,r,...n)}}return this.each((function(){((e,t,i,o,r)=>{let n=!1;b(o)&&o.useCapture&&(n=!0),t.split(" ").forEach((t=>{if(!t)return;const s=le(t),a=(e,t)=>{!1===i.apply(t,null===e.detail?[e]:[e].concat(e.detail))&&(e.preventDefault(),e.stopPropagation())},l=t=>{t.namespace&&!ce(t.namespace).test(s.namespace)||(t.data=o,r?P(e).find(r).get().reverse().forEach((e=>{(e===t.target||Z(e,t.target))&&a(t,e)})):a(t,e))},c={type:s.type,namespace:s.namespace,func:i,selector:r,id:ae(e).length,proxy:l};ae(e).push(c),e.addEventListener(c.type,l,n)}))})(this,e,o,i,t)}))},P.fn.one=function(e,t,i,o){return this.on(e,t,i,o,!0)},$(["","All","Until"],((e,t)=>{P.fn[`prev${e}`]=function(e,i){const o=t?P(this.get().reverse()):this;return U(o,t,"previousElementSibling",e,i)}})),P.fn.removeAttr=function(e){const t=e.split(" ").filter((e=>e));return this.each((function(){$(t,(e=>{L(this,e)}))}))};const me=(e,t)=>{if(u(t))return(e=>{q.delete(e)})(e);((e,t)=>{const i=j(e);$(t,(e=>{const t=w(e);delete i[t]})),q.set(e,i)})(e,c(t)?t.split(" ").filter((e=>e)):t)};P.fn.removeData=function(e){return this.each(((t,i)=>{me(i,e)}))},P.fn.removeProp=function(e){return this.each(((t,i)=>{try{delete i[e]}catch(e){}}))},P.fn.replaceWith=function(e){return this.each(((t,i)=>{let o=e;l(o)?o=o.call(i,t,i.innerHTML):t&&!c(o)&&(o=P(o).clone()),P(i).before(o)})),this.remove()},P.fn.replaceAll=function(e){return P(e).map(((e,t)=>(P(t).replaceWith(e?this.clone():this),this.get())))};const ve=e=>{if(!b(e)&&!Array.isArray(e))return"";const t=[],i=(e,o)=>{let r;b(o)?R(o,((t,n)=>{r=Array.isArray(o)&&!b(n)?"":t,i(`${e}[${r}]`,n)})):(r=null==o||""===o?"=":`=${encodeURIComponent(o)}`,t.push(encodeURIComponent(e)+r))};return Array.isArray(e)?$(e,(({name:e,value:t})=>i(e,t))):R(e,i),t.join("&")},fe=new WeakMap,ge=e=>{const t=[];return e.each(((e,i)=>{const o=i instanceof HTMLFormElement?(e=>{const t=[...e.getRootNode().querySelectorAll("*")],i=[...e.elements],o=fe.get(e);return[...i,...o?Array.from(o):[]].sort(((e,i)=>t.indexOf(e)t.indexOf(i)?1:0))})(i):[i];P(o).each(((e,i)=>{const o=P(i),r=i.type,n=i.nodeName.toLowerCase();"fieldset"===n||!i.name||i.disabled||!["input","select","textarea","keygen","mdui-checkbox","mdui-radio-group","mdui-switch","mdui-text-field","mdui-select","mdui-slider","mdui-range-slider","mdui-segmented-button-group"].includes(n)||["submit","button","image","reset","file"].includes(r)||["radio","checkbox"].includes(r)&&!i.checked||["mdui-checkbox","mdui-switch"].includes(n)&&!i.checked||t.push({name:i.name,value:o.val()})}))})),t};P.fn.serializeArray=function(){return ge(this).map((e=>Array.isArray(e.value)?e.value.map((t=>({name:e.name,value:t}))):e)).flat()},P.fn.serialize=function(){return ve(this.serializeArray())},P.fn.serializeObject=function(){const e={};return ge(this).forEach((t=>{const{name:i,value:o}=t;if(e.hasOwnProperty(i)){const t=e[i];Array.isArray(t)||(e[i]=[t]),Array.isArray(o)?e[i].push(...o):e[i].push(o)}else e[i]=o})),e};const be={};P.fn.show=function(){return this.each(((e,t)=>{"none"===t.style.display&&(t.style.display=""),"none"===H(t,"display")&&(t.style.display=(e=>{const t=r();let i,o;return be[e]||(i=T(e),E(t.body,i),o=H(i,"display"),I(i),"none"===o&&(o="block"),be[e]=o),be[e]})(t.nodeName))}))},P.fn.siblings=function(e){return this.prevAll(e).add(this.nextAll(e))},P.fn.toggle=function(){return this.each(((e,t)=>{"none"===H(t,"display")?P(t).show():P(t).hide()}))},P.fn.trigger=function(e,t=null,i){const{type:o,namespace:r}=le(e),n=new ie(o,{detail:t,data:null,namespace:r,bubbles:!0,cancelable:!1,composed:!0,...i});return this.each(((e,t)=>{t.dispatchEvent(n)}))};const ye="ajaxSuccess",we="ajaxError",ke="ajaxComplete",Ce={},xe=(e,t)=>`${e}&${t}`.replace(/[&?]{1,2}/,"?"),$e=e=>{const t=r(),i=s();let o=!1;const n={},a={},l=(e=>{const t={url:"",method:"GET",data:"",processData:!0,async:!0,cache:!0,username:"",password:"",headers:{},xhrFields:{},statusCode:{},dataType:"",contentType:"application/x-www-form-urlencoded",timeout:0,global:!0};return R(Ce,((e,i)=>{["beforeSend","success","error","complete","statusCode"].includes(e)||u(i)||(t[e]=i)})),he({},t,e)})(e),d=l.method.toUpperCase();let{data:h,url:p}=l;p=p||i.location.toString();const{processData:m,async:v,cache:f,username:g,password:b,headers:y,xhrFields:w,statusCode:k,dataType:C,contentType:x,timeout:S,global:T}=l,E=(e=>["GET","HEAD"].includes(e))(d);!h||!E&&!m||c(h)||h instanceof ArrayBuffer||h instanceof Blob||h instanceof Document||h instanceof FormData||(h=ve(h)),h&&E&&(p=xe(p,h),h=null);const I=(e,i,...r)=>{let s,c;T&&P(t).trigger(e,"success"===i?a:n),i in Ce&&(s=Ce[i](...r)),l[i]&&(c=l[i](...r)),"beforeSend"===i&&[s,c].includes(!1)&&(o=!0)};return(()=>{let e;return new Promise(((t,r)=>{const c=e=>r(new Error(e));E&&!f&&(p=xe(p,`_=${Date.now()}`));const m=new XMLHttpRequest;let T;if(m.open(d,p,v,g,b),(x||h&&!E&&!1!==x)&&m.setRequestHeader("Content-Type",x),"json"===C&&m.setRequestHeader("Accept","application/json, text/javascript"),R(y,((e,t)=>{u(t)||m.setRequestHeader(e,t+"")})),(e=>{const t=s();return/^([\w-]+:)?\/\/([^/]+)/.test(e)&&RegExp.$2!==t.location.host})(p)||m.setRequestHeader("X-Requested-With","XMLHttpRequest"),R(w,((e,t)=>{m[e]=t})),n.xhr=a.xhr=m,n.options=a.options=l,m.onload=()=>{var i;T&&clearTimeout(T);const o=(r=m.status)>=200&&r<300||[0,304].includes(r);var r;let n;if(o)if(e=204===m.status||"HEAD"===d?"nocontent":304===m.status?"notmodified":"success","json"===C||!C&&(m.getResponseHeader("content-type")||"").includes("json")){try{n="HEAD"===d?void 0:JSON.parse(m.responseText),a.response=n}catch(t){e="parsererror",I(we,"error",m,e),c(e)}"parsererror"!==e&&(I(ye,"success",n,e,m),t(n))}else n="HEAD"===d?void 0:"text"===m.responseType||""===m.responseType?m.responseText:m.response,a.response=n,I(ye,"success",n,e,m),t(n);else e="error",I(we,"error",m,e),c(e);$([null!==(i=Ce.statusCode)&&void 0!==i?i:{},k],(t=>{t[m.status]&&(o?t[m.status](n,e,m):t[m.status](m,e))})),I(ke,"complete",m,e)},m.onerror=()=>{T&&clearTimeout(T),I(we,"error",m,m.statusText),I(ke,"complete",m,"error"),c(m.statusText)},m.onabort=()=>{let e="abort";T&&(e="timeout",clearTimeout(T)),I(we,"error",m,e),I(ke,"complete",m,e),c(e)},I("ajaxStart","beforeSend",m,l),o)return c("cancel");S>0&&(T=i.setTimeout((()=>m.abort()),S)),m.send(h)}))})()};P.ajax=$e;function Re(e,t,i,o){var r,n=arguments.length,s=n<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(n<3?r(s):n>3?r(t,i,s):r(t,i))||s);return n>3&&s&&Object.defineProperty(t,i,s),s}P.ajaxSetup=e=>he(Ce,e),P.contains=Z,P.data=function(e,t,i){return b(t)?(W(e,t),t):u(i)?u(t)?j(e):G(e,t):(Y(e,t,i),i)},P.each=O,P.extend=function(e,...t){return t.length?he(e,...t):(R(e,((e,t)=>{this[e]=t})),this)},P.map=z,P.merge=M,P.param=ve,P.removeData=me,P.unique=D,"function"==typeof SuppressedError&&SuppressedError;const Se=window,Te=Se.ShadowRoot&&(void 0===Se.ShadyCSS||Se.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,Ee=Symbol(),Ie=new WeakMap;let Ae=class{constructor(e,t,i){if(this._$cssResult$=!0,i!==Ee)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o;const t=this.t;if(Te&&void 0===e){const i=void 0!==t&&1===t.length;i&&(e=Ie.get(t)),void 0===e&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),i&&Ie.set(t,e))}return e}toString(){return this.cssText}};const Pe=(e,...t)=>{const i=1===e.length?e[0]:t.reduce(((t,i,o)=>t+(e=>{if(!0===e._$cssResult$)return e.cssText;if("number"==typeof e)return e;throw Error("Value passed to 'css' function must be a 'css' function result: "+e+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(i)+e[o+1]),e[0]);return new Ae(i,e,Ee)},Me=Te?e=>e:e=>e instanceof CSSStyleSheet?(e=>{let t="";for(const i of e.cssRules)t+=i.cssText;return(e=>new Ae("string"==typeof e?e:e+"",void 0,Ee))(t)})(e):e;var De;const Be=window,Le=Be.trustedTypes,_e=Le?Le.emptyScript:"",Oe=Be.reactiveElementPolyfillSupport,ze={toAttribute(e,t){switch(t){case Boolean:e=e?_e:null;break;case Object:case Array:e=null==e?e:JSON.stringify(e)}return e},fromAttribute(e,t){let i=e;switch(t){case Boolean:i=null!==e;break;case Number:i=null===e?null:Number(e);break;case Object:case Array:try{i=JSON.parse(e)}catch(e){i=null}}return i}},Fe=(e,t)=>t!==e&&(t==t||e==e),Ne={attribute:!0,type:String,converter:ze,reflect:!1,hasChanged:Fe},Ve="finalized";let He=class extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this.u()}static addInitializer(e){var t;this.finalize(),(null!==(t=this.h)&&void 0!==t?t:this.h=[]).push(e)}static get observedAttributes(){this.finalize();const e=[];return this.elementProperties.forEach(((t,i)=>{const o=this._$Ep(i,t);void 0!==o&&(this._$Ev.set(o,i),e.push(o))})),e}static createProperty(e,t=Ne){if(t.state&&(t.attribute=!1),this.finalize(),this.elementProperties.set(e,t),!t.noAccessor&&!this.prototype.hasOwnProperty(e)){const i="symbol"==typeof e?Symbol():"__"+e,o=this.getPropertyDescriptor(e,i,t);void 0!==o&&Object.defineProperty(this.prototype,e,o)}}static getPropertyDescriptor(e,t,i){return{get(){return this[t]},set(o){const r=this[e];this[t]=o,this.requestUpdate(e,r,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)||Ne}static finalize(){if(this.hasOwnProperty(Ve))return!1;this[Ve]=!0;const e=Object.getPrototypeOf(this);if(e.finalize(),void 0!==e.h&&(this.h=[...e.h]),this.elementProperties=new Map(e.elementProperties),this._$Ev=new Map,this.hasOwnProperty("properties")){const e=this.properties,t=[...Object.getOwnPropertyNames(e),...Object.getOwnPropertySymbols(e)];for(const i of t)this.createProperty(i,e[i])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(e){const t=[];if(Array.isArray(e)){const i=new Set(e.flat(1/0).reverse());for(const e of i)t.unshift(Me(e))}else void 0!==e&&t.push(Me(e));return t}static _$Ep(e,t){const i=t.attribute;return!1===i?void 0:"string"==typeof i?i:"string"==typeof e?e.toLowerCase():void 0}u(){var e;this._$E_=new Promise((e=>this.enableUpdating=e)),this._$AL=new Map,this._$Eg(),this.requestUpdate(),null===(e=this.constructor.h)||void 0===e||e.forEach((e=>e(this)))}addController(e){var t,i;(null!==(t=this._$ES)&&void 0!==t?t:this._$ES=[]).push(e),void 0!==this.renderRoot&&this.isConnected&&(null===(i=e.hostConnected)||void 0===i||i.call(e))}removeController(e){var t;null===(t=this._$ES)||void 0===t||t.splice(this._$ES.indexOf(e)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach(((e,t)=>{this.hasOwnProperty(t)&&(this._$Ei.set(t,this[t]),delete this[t])}))}createRenderRoot(){var e;const t=null!==(e=this.shadowRoot)&&void 0!==e?e:this.attachShadow(this.constructor.shadowRootOptions);return((e,t)=>{Te?e.adoptedStyleSheets=t.map((e=>e instanceof CSSStyleSheet?e:e.styleSheet)):t.forEach((t=>{const i=document.createElement("style"),o=Se.litNonce;void 0!==o&&i.setAttribute("nonce",o),i.textContent=t.cssText,e.appendChild(i)}))})(t,this.constructor.elementStyles),t}connectedCallback(){var e;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(e=this._$ES)||void 0===e||e.forEach((e=>{var t;return null===(t=e.hostConnected)||void 0===t?void 0:t.call(e)}))}enableUpdating(e){}disconnectedCallback(){var e;null===(e=this._$ES)||void 0===e||e.forEach((e=>{var t;return null===(t=e.hostDisconnected)||void 0===t?void 0:t.call(e)}))}attributeChangedCallback(e,t,i){this._$AK(e,i)}_$EO(e,t,i=Ne){var o;const r=this.constructor._$Ep(e,i);if(void 0!==r&&!0===i.reflect){const n=(void 0!==(null===(o=i.converter)||void 0===o?void 0:o.toAttribute)?i.converter:ze).toAttribute(t,i.type);this._$El=e,null==n?this.removeAttribute(r):this.setAttribute(r,n),this._$El=null}}_$AK(e,t){var i;const o=this.constructor,r=o._$Ev.get(e);if(void 0!==r&&this._$El!==r){const e=o.getPropertyOptions(r),n="function"==typeof e.converter?{fromAttribute:e.converter}:void 0!==(null===(i=e.converter)||void 0===i?void 0:i.fromAttribute)?e.converter:ze;this._$El=r,this[r]=n.fromAttribute(t,e.type),this._$El=null}}requestUpdate(e,t,i){let o=!0;void 0!==e&&(((i=i||this.constructor.getPropertyOptions(e)).hasChanged||Fe)(this[e],t)?(this._$AL.has(e)||this._$AL.set(e,t),!0===i.reflect&&this._$El!==e&&(void 0===this._$EC&&(this._$EC=new Map),this._$EC.set(e,i))):o=!1),!this.isUpdatePending&&o&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(e){Promise.reject(e)}const e=this.scheduleUpdate();return null!=e&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var e;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach(((e,t)=>this[t]=e)),this._$Ei=void 0);let t=!1;const i=this._$AL;try{t=this.shouldUpdate(i),t?(this.willUpdate(i),null===(e=this._$ES)||void 0===e||e.forEach((e=>{var t;return null===(t=e.hostUpdate)||void 0===t?void 0:t.call(e)})),this.update(i)):this._$Ek()}catch(e){throw t=!1,this._$Ek(),e}t&&this._$AE(i)}willUpdate(e){}_$AE(e){var t;null===(t=this._$ES)||void 0===t||t.forEach((e=>{var t;return null===(t=e.hostUpdated)||void 0===t?void 0:t.call(e)})),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(e){return!0}update(e){void 0!==this._$EC&&(this._$EC.forEach(((e,t)=>this._$EO(t,this[t],e))),this._$EC=void 0),this._$Ek()}updated(e){}firstUpdated(e){}};var Ke;He[Ve]=!0,He.elementProperties=new Map,He.elementStyles=[],He.shadowRootOptions={mode:"open"},null==Oe||Oe({ReactiveElement:He}),(null!==(De=Be.reactiveElementVersions)&&void 0!==De?De:Be.reactiveElementVersions=[]).push("1.6.2");const Ue=window,qe=Ue.trustedTypes,je=qe?qe.createPolicy("lit-html",{createHTML:e=>e}):void 0,Ge="$lit$",We=`lit$${(Math.random()+"").slice(9)}$`,Ye="?"+We,Xe=`<${Ye}>`,Je=document,Ze=()=>Je.createComment(""),Qe=e=>null===e||"object"!=typeof e&&"function"!=typeof e,et=Array.isArray,tt="[ \t\n\f\r]",it=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,ot=/-->/g,rt=/>/g,nt=RegExp(`>|${tt}(?:([^\\s"'>=/]+)(${tt}*=${tt}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),st=/'/g,at=/"/g,lt=/^(?:script|style|textarea|title)$/i,ct=(e=>(t,...i)=>({_$litType$:e,strings:t,values:i}))(1),dt=Symbol.for("lit-noChange"),ht=Symbol.for("lit-nothing"),ut=new WeakMap,pt=Je.createTreeWalker(Je,129,null,!1);class mt{constructor({strings:e,_$litType$:t},i){let o;this.parts=[];let r=0,n=0;const s=e.length-1,a=this.parts,[l,c]=((e,t)=>{const i=e.length-1,o=[];let r,n=2===t?"":"",s=it;for(let t=0;t"===l[0]?(s=null!=r?r:it,c=-1):void 0===l[1]?c=-2:(c=s.lastIndex-l[2].length,a=l[1],s=void 0===l[3]?nt:'"'===l[3]?at:st):s===at||s===st?s=nt:s===ot||s===rt?s=it:(s=nt,r=void 0);const h=s===nt&&e[t+1].startsWith("/>")?" ":"";n+=s===it?i+Xe:c>=0?(o.push(a),i.slice(0,c)+Ge+i.slice(c)+We+h):i+We+(-2===c?(o.push(void 0),t):h)}const a=n+(e[i]||"")+(2===t?"":"");if(!Array.isArray(e)||!e.hasOwnProperty("raw"))throw Error("invalid template strings array");return[void 0!==je?je.createHTML(a):a,o]})(e,t);if(this.el=mt.createElement(l,i),pt.currentNode=this.el.content,2===t){const e=this.el.content,t=e.firstChild;t.remove(),e.append(...t.childNodes)}for(;null!==(o=pt.nextNode())&&a.length0){o.textContent=qe?qe.emptyScript:"";for(let i=0;iet(e)||"function"==typeof(null==e?void 0:e[Symbol.iterator]))(e)?this.T(e):this._(e)}k(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}$(e){this._$AH!==e&&(this._$AR(),this._$AH=this.k(e))}_(e){this._$AH!==ht&&Qe(this._$AH)?this._$AA.nextSibling.data=e:this.$(Je.createTextNode(e)),this._$AH=e}g(e){var t;const{values:i,_$litType$:o}=e,r="number"==typeof o?this._$AC(e):(void 0===o.el&&(o.el=mt.createElement(o.h,this.options)),o);if((null===(t=this._$AH)||void 0===t?void 0:t._$AD)===r)this._$AH.v(i);else{const e=new class{constructor(e,t){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=t}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){var t;const{el:{content:i},parts:o}=this._$AD,r=(null!==(t=null==e?void 0:e.creationScope)&&void 0!==t?t:Je).importNode(i,!0);pt.currentNode=r;let n=pt.nextNode(),s=0,a=0,l=o[0];for(;void 0!==l;){if(s===l.index){let t;2===l.type?t=new ft(n,n.nextSibling,this,e):1===l.type?t=new l.ctor(n,l.name,l.strings,this,e):6===l.type&&(t=new Ct(n,this,e)),this._$AV.push(t),l=o[++a]}s!==(null==l?void 0:l.index)&&(n=pt.nextNode(),s++)}return pt.currentNode=Je,r}v(e){let t=0;for(const i of this._$AV)void 0!==i&&(void 0!==i.strings?(i._$AI(e,i,t),t+=i.strings.length-2):i._$AI(e[t])),t++}}(r,this),t=e.u(this.options);e.v(i),this.$(t),this._$AH=e}}_$AC(e){let t=ut.get(e.strings);return void 0===t&&ut.set(e.strings,t=new mt(e)),t}T(e){et(this._$AH)||(this._$AH=[],this._$AR());const t=this._$AH;let i,o=0;for(const r of e)o===t.length?t.push(i=new ft(this.k(Ze()),this.k(Ze()),this,this.options)):i=t[o],i._$AI(r),o++;o2||""!==i[0]||""!==i[1]?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=ht}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(e,t=this,i,o){const r=this.strings;let n=!1;if(void 0===r)e=vt(this,e,t,0),n=!Qe(e)||e!==this._$AH&&e!==dt,n&&(this._$AH=e);else{const o=e;let s,a;for(e=r[0],s=0;s{var o,r;const n=null!==(o=null==i?void 0:i.renderBefore)&&void 0!==o?o:t;let s=n._$litPart$;if(void 0===s){const e=null!==(r=null==i?void 0:i.renderBefore)&&void 0!==r?r:null;n._$litPart$=s=new ft(t.insertBefore(Ze(),e),e,void 0,null!=i?i:{})}return s._$AI(e),s})(t,this.renderRoot,this.renderOptions)}connectedCallback(){var e;super.connectedCallback(),null===(e=this._$Do)||void 0===e||e.setConnected(!0)}disconnectedCallback(){var e;super.disconnectedCallback(),null===(e=this._$Do)||void 0===e||e.setConnected(!1)}render(){return dt}};St.finalized=!0,St._$litElement$=!0,null===($t=globalThis.litElementHydrateSupport)||void 0===$t||$t.call(globalThis,{LitElement:St});const Tt=globalThis.litElementPolyfillSupport;null==Tt||Tt({LitElement:St}),(null!==(Rt=globalThis.litElementVersions)&&void 0!==Rt?Rt:globalThis.litElementVersions=[]).push("3.3.2");const Et=e=>t=>"function"==typeof t?((e,t)=>(customElements.define(e,t),t))(e,t):((e,t)=>{const{kind:i,elements:o}=t;return{kind:i,elements:o,finisher(t){customElements.define(e,t)}}})(e,t),It=(e,t)=>"method"===t.kind&&t.descriptor&&!("value"in t.descriptor)?{...t,finisher(i){i.createProperty(t.key,e)}}:{kind:"field",key:Symbol(),placement:"own",descriptor:{},originalKey:t.key,initializer(){"function"==typeof t.initializer&&(this[t.key]=t.initializer.call(this))},finisher(i){i.createProperty(t.key,e)}},At=(e,t,i)=>{t.constructor.createProperty(i,e)};function Pt(e){return(t,i)=>void 0!==i?At(e,t,i):It(e,t)}function Mt(e){return Pt({...e,state:!0})}var Dt;const Bt=null!=(null===(Dt=window.HTMLSlotElement)||void 0===Dt?void 0:Dt.prototype.assignedElements)?(e,t)=>e.assignedElements(t):(e,t)=>e.assignedNodes(t).filter((e=>e.nodeType===Node.ELEMENT_NODE));function Lt(e){const{slot:t,selector:i}=null!=e?e:{};return(({finisher:e,descriptor:t})=>(i,o)=>{var r;if(void 0===o){const o=null!==(r=i.originalKey)&&void 0!==r?r:i.key,n=null!=t?{kind:"method",placement:"prototype",key:o,descriptor:t(i.key)}:{...i,key:o};return null!=e&&(n.finisher=function(t){e(t,o)}),n}{const r=i.constructor;void 0!==t&&Object.defineProperty(i,o,t(o)),null==e||e(r,o)}})({descriptor:o=>({get(){var o;const r="slot"+(t?`[name=${t}]`:":not([name])"),n=null===(o=this.renderRoot)||void 0===o?void 0:o.querySelector(r),s=null!=n?Bt(n,e):[];return i?s.filter((e=>e.matches(i))):s},enumerable:!0,configurable:!0})})}const _t=e=>null!=e?e:ht,Ot=1,zt=2,Ft=3,Nt=4,Vt=e=>(...t)=>({_$litDirective$:e,values:t});let Ht=class{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,t,i){this._$Ct=e,this._$AM=t,this._$Ci=i}_$AS(e,t){return this.update(e,t)}update(e,t){return this.render(...t)}};const Kt="important",Ut=" !"+Kt,qt=Vt(class extends Ht{constructor(e){var t;if(super(e),e.type!==Ot||"style"!==e.name||(null===(t=e.strings)||void 0===t?void 0:t.length)>2)throw Error("The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.")}render(e){return Object.keys(e).reduce(((t,i)=>{const o=e[i];return null==o?t:t+`${i=i.includes("-")?i:i.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase()}:${o};`}),"")}update(e,[t]){const{style:i}=e.element;if(void 0===this.ut){this.ut=new Set;for(const e in t)this.ut.add(e);return this.render(t)}this.ut.forEach((e=>{null==t[e]&&(this.ut.delete(e),e.includes("-")?i.removeProperty(e):i[e]="")}));for(const e in t){const o=t[e];if(null!=o){this.ut.add(e);const t="string"==typeof o&&o.endsWith(Ut);e.includes("-")||t?i.setProperty(e,t?o.slice(0,-11):o,t?Kt:""):i[e]=o}}return dt}});class jt{constructor(e,...t){this.slotNames=[],(this.host=e).addController(this),this.slotNames=t,this.onSlotChange=this.onSlotChange.bind(this)}hostConnected(){this.host.shadowRoot.addEventListener("slotchange",this.onSlotChange)}hostDisconnected(){this.host.shadowRoot.removeEventListener("slotchange",this.onSlotChange)}test(e){return"[default]"===e?this.hasDefaultSlot():this.hasNamedSlot(e)}hasDefaultSlot(){return[...this.host.childNodes].some((e=>{if(e.nodeType===e.TEXT_NODE&&""!==e.textContent.trim())return!0;if(e.nodeType===e.ELEMENT_NODE){if(!e.hasAttribute("slot"))return!0}return!1}))}hasNamedSlot(e){return null!==this.host.querySelector(`:scope > [slot="${e}"]`)}onSlotChange(e){const t=e.target;(this.slotNames.includes("[default]")&&!t.name||t.name&&this.slotNames.includes(t.name))&&this.host.requestUpdate()}}const Gt=ct`${ht}`,Wt=Pe`:host{box-sizing:border-box}:host *,:host ::after,:host ::before{box-sizing:inherit}:host :focus,:host :focus-visible,:host(:focus),:host(:focus-visible){outline:0}[hidden]{display:none!important}`;let Yt=class extends Ht{constructor(e){if(super(e),this.et=ht,e.type!==zt)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(e){if(e===ht||null==e)return this.ft=void 0,this.et=e;if(e===dt)return e;if("string"!=typeof e)throw Error(this.constructor.directiveName+"() called with a non-string value");if(e===this.et)return this.ft;this.et=e;const t=[e];return t.raw=t,this.ft={_$litType$:this.constructor.resultType,strings:t,values:[]}}};Yt.directiveName="unsafeHTML",Yt.resultType=1;let Xt=class extends Yt{};Xt.directiveName="unsafeSVG",Xt.resultType=2;const Jt=Vt(Xt),Zt=e=>void 0===e.strings,Qt={},ei=(e,t)=>{var i,o;const r=e._$AN;if(void 0===r)return!1;for(const e of r)null===(o=(i=e)._$AO)||void 0===o||o.call(i,t,!1),ei(e,t);return!0},ti=e=>{let t,i;do{if(void 0===(t=e._$AM))break;i=t._$AN,i.delete(e),e=t}while(0===(null==i?void 0:i.size))},ii=e=>{for(let t;t=e._$AM;e=t){let i=t._$AN;if(void 0===i)t._$AN=i=new Set;else if(i.has(e))break;i.add(e),ni(t)}};function oi(e){void 0!==this._$AN?(ti(this),this._$AM=e,ii(this)):this._$AM=e}function ri(e,t=!1,i=0){const o=this._$AH,r=this._$AN;if(void 0!==r&&0!==r.size)if(t)if(Array.isArray(o))for(let e=i;e{var t,i,o,r;e.type==zt&&(null!==(t=(o=e)._$AP)&&void 0!==t||(o._$AP=ri),null!==(i=(r=e)._$AQ)&&void 0!==i||(r._$AQ=oi))};let si=class extends Ht{constructor(){super(...arguments),this._$AN=void 0}_$AT(e,t,i){super._$AT(e,t,i),ii(this),this.isConnected=e._$AU}_$AO(e,t=!0){var i,o;e!==this.isConnected&&(this.isConnected=e,e?null===(i=this.reconnected)||void 0===i||i.call(this):null===(o=this.disconnected)||void 0===o||o.call(this)),t&&(ei(this,e),ti(this))}setValue(e){if(Zt(this._$Ct))this._$Ct._$AI(e,this);else{const t=[...this._$Ct._$AH];t[this._$Ci]=e,this._$Ct._$AI(t,this,0)}}disconnected(){}reconnected(){}};class ai{constructor(e){this.G=e}disconnect(){this.G=void 0}reconnect(e){this.G=e}deref(){return this.G}}const li=e=>!(e=>null===e||"object"!=typeof e&&"function"!=typeof e)(e)&&"function"==typeof e.then,ci=1073741823;const di=Vt(class extends si{constructor(){super(...arguments),this._$C_t=ci,this._$Cwt=[],this._$Cq=new ai(this),this._$CK=new class{constructor(){this.Y=void 0,this.Z=void 0}get(){return this.Y}pause(){var e;null!==(e=this.Y)&&void 0!==e||(this.Y=new Promise((e=>this.Z=e)))}resume(){var e;null===(e=this.Z)||void 0===e||e.call(this),this.Y=this.Z=void 0}}}render(...e){var t;return null!==(t=e.find((e=>!li(e))))&&void 0!==t?t:dt}update(e,t){const i=this._$Cwt;let o=i.length;this._$Cwt=t;const r=this._$Cq,n=this._$CK;this.isConnected||this.disconnected();for(let e=0;ethis._$C_t);e++){const s=t[e];if(!li(s))return this._$C_t=e,s;e{for(;n.get();)await n.get();const t=r.deref();if(void 0!==t){const i=t._$Cwt.indexOf(s);i>-1&&i`:(()=>{if(this.name){const[e,t]=this.name.split("--"),i=new Map([["outlined","Material Icons Outlined"],["filled","Material Icons"],["rounded","Material Icons Round"],["sharp","Material Icons Sharp"],["two-tone","Material Icons Two Tone"]]);return ct`${e}`}return this.src?ct`${di($e({url:this.src}).then(Jt))}`:ct``})()}},e.Icon.styles=[Wt,hi],Re([Pt({reflect:!0})],e.Icon.prototype,"name",void 0),Re([Pt({reflect:!0})],e.Icon.prototype,"src",void 0),e.Icon=Re([Et("mdui-icon")],e.Icon);const ui=Pe`:host{--shape-corner:var(--mdui-shape-corner-full);position:relative;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;white-space:nowrap;vertical-align:middle;border-radius:var(--shape-corner);-webkit-user-select:none;user-select:none;width:2.5rem;height:2.5rem;background-color:rgb(var(--mdui-color-primary-container));color:rgb(var(--mdui-color-on-primary-container));font-size:var(--mdui-typescale-title-medium-size);font-weight:var(--mdui-typescale-title-medium-weight);letter-spacing:var(--mdui-typescale-title-medium-tracking);line-height:var(--mdui-typescale-title-medium-line-height)}img{width:100%;height:100%}::slotted(mdui-icon),mdui-icon{font-size:1.5em}`;e.Avatar=class extends St{constructor(){super(...arguments),this.hasSlotController=new jt(this,"[default]")}render(){return this.hasSlotController.test("[default]")?ct``:this.src?ct`${_t(this.label)}`:this.icon?ct``:Gt}},e.Avatar.styles=[Wt,ui],Re([Pt({reflect:!0})],e.Avatar.prototype,"src",void 0),Re([Pt({reflect:!0})],e.Avatar.prototype,"fit",void 0),Re([Pt({reflect:!0})],e.Avatar.prototype,"icon",void 0),Re([Pt({reflect:!0})],e.Avatar.prototype,"label",void 0),e.Avatar=Re([Et("mdui-avatar")],e.Avatar);const pi=Pe`:host{--shape-corner:var(--mdui-shape-corner-full);display:inline-flex;align-items:center;justify-content:center;border-radius:var(--shape-corner);padding-left:.25rem;padding-right:.25rem;color:rgb(var(--mdui-color-on-error));background-color:rgb(var(--mdui-color-error));height:1rem;min-width:1rem;font-size:var(--mdui-typescale-label-small-size);font-weight:var(--mdui-typescale-label-small-weight);letter-spacing:var(--mdui-typescale-label-small-tracking);line-height:var(--mdui-typescale-label-small-line-height)}:host([variant=small]){min-width:0;padding:0;width:.375rem;height:.375rem}`;e.Badge=class extends St{constructor(){super(...arguments),this.variant="large"}render(){return"small"===this.variant?Gt:ct``}},e.Badge.styles=[Wt,pi],Re([Pt({reflect:!0})],e.Badge.prototype,"variant",void 0),e.Badge=Re([Et("mdui-badge")],e.Badge);const mi=e=>null!==e&&"false"!==e,vi=(e,t,i)=>{const o=new CustomEvent(t,{bubbles:!0,cancelable:!1,composed:!0,detail:{},...i});return e.dispatchEvent(o),o};function fi(e,t=!1){return(i,o)=>{const{update:r}=i;e in i&&(i.update=function(i){if(i.has(e)){const r=i.get(e),n=this[e];r!==n&&(t&&!this.hasUpdated||this[o](r,n))}r.call(this,i)})}}const gi=e=>{class t extends e{constructor(...e){super(...e),this.lastScrollTopThreshold=0,this.lastScrollTopNoThreshold=0,this.isParentLayout=!1,this.onListeningScroll=this.onListeningScroll.bind(this)}get scrollPaddingPosition(){throw new Error("Must implement scrollPaddingPosition getter")}onScrollTargetChange(e,t){if((e&&!t||!e&&t)&&this.updateContainerPadding(),!this.scrollBehavior)return;const i=this.getListening(e);i&&i.removeEventListener("scroll",this.onListeningScroll);const o=this.getListening(t);o&&(this.updateScrollTop(o),o.addEventListener("scroll",this.onListeningScroll))}onScrollBehaviorChange(e,t){(e&&!t||!e&&t)&&this.updateContainerPadding();const i=this.getListening(this.scrollTarget);i&&(this.scrollBehavior?(this.updateScrollTop(i),i.addEventListener("scroll",this.onListeningScroll)):i.removeEventListener("scroll",this.onListeningScroll))}connectedCallback(){super.connectedCallback(),this.isParentLayout=a(this.parentElement,"mdui-layout"),this.updateContainerPadding()}disconnectedCallback(){super.disconnectedCallback(),this.updateContainerPadding(!1)}hasScrollBehavior(e){var t,i;const o=null!==(i=null===(t=this.scrollBehavior)||void 0===t?void 0:t.split(" "))&&void 0!==i?i:[];return Array.isArray(e)?!!o.filter((t=>e.includes(t))).length:o.includes(e)}runScrollThreshold(e,t){}runScrollNoThreshold(e,t){}updateContainerPadding(e=!0){const t=this.getContainer(this.scrollTarget);if(!t||this.isParentLayout)return;const i="top"===this.scrollPaddingPosition?"paddingTop":"paddingBottom";if(e){const e=this.getListening(this.scrollTarget)&&["fixed","absolute"].includes(P(this).css("position"))?this.offsetHeight:null;P(t).css({[i]:e})}else P(t).css({[i]:null})}onListeningScroll(){const e=this.getListening(this.scrollTarget);window.requestAnimationFrame((()=>this.onScroll(e)))}onScroll(e){var t;const i=null!==(t=e.scrollY)&&void 0!==t?t:e.scrollTop;this.lastScrollTopNoThreshold!==i&&(this.runScrollNoThreshold(i(this.scrollThreshold||0)&&(this.runScrollThreshold(i++bi;let wi,ki;const Ci=(e,t)=>{const i=P(e),o=yi(),r={unobserve:()=>{i.each(((e,t)=>{var i;const r=null!==(i=wi.get(t))&&void 0!==i?i:[],n=r.findIndex((e=>e.key===o));-1!==n&&r.splice(n,1),r.length?wi.set(t,r):(ki.unobserve(t),wi.delete(t))}))}};return wi||(wi=new WeakMap,ki=new ResizeObserver((e=>{e.forEach((e=>{const t=e.target;wi.get(t).forEach((t=>{t.callback.call(r,e,r)}))}))}))),i.each(((e,i)=>{var r;ki.observe(i);const n=null!==(r=wi.get(i))&&void 0!==r?r:[];n.push({callback:t,key:o}),wi.set(i,n)})),r};class xi{constructor(e){this.states=[],this.$layout=P(e)}registerMain(e){this.$main=P(e)}unregisterMain(){this.$main=void 0}registerItem(e){const t={element:e};this.states.push(t),t.observeResize=Ci(t.element,(()=>{a(t.element,"mdui-navigation-drawer")&&t.element.isModal?this.updateLayout(t.element,{width:0}):this.updateLayout(t.element)})),this.items=void 0,this.resort(),this.updateLayout()}unregisterItem(e){var t;const i=this.states.findIndex((t=>t.element===e));if(i<0)return;null===(t=this.states[i].observeResize)||void 0===t||t.unobserve(),this.items=void 0,this.states.splice(i,1),this.states[i]&&this.updateLayout(this.states[i].element)}getItems(){return this.items||(this.items=this.$layout.children(["mdui-navigation-bar","mdui-navigation-drawer","mdui-navigation-rail","mdui-bottom-app-bar","mdui-top-app-bar","mdui-layout-item"].join(",")).get()),this.items}getMain(){return this.$main?this.$main[0]:void 0}getItemsAndMain(){return[...this.getItems(),this.getMain()].filter((e=>e))}hasItem(e){return this.getItems().includes(e)}updateOrder(){this.resort(),this.updateLayout()}updateLayout(e,t){const i=e?{element:e,width:null==t?void 0:t.width,height:null==t?void 0:t.height}:void 0,o=i?this.states.findIndex((e=>e.element===i.element)):0;if(o<0)return;Object.assign(this.states[o],i),this.states.forEach(((e,t)=>{var i,r,n,s,a,l,c,d;if(t0?this.states[t-1]:void 0,p=null!==(i=null==u?void 0:u.top)&&void 0!==i?i:0,m=null!==(r=null==u?void 0:u.right)&&void 0!==r?r:0,v=null!==(n=null==u?void 0:u.bottom)&&void 0!==n?n:0,f=null!==(s=null==u?void 0:u.left)&&void 0!==s?s:0;switch(Object.assign(e,{top:p,right:m,bottom:v,left:f}),h){case"top":e.top+=null!==(a=e.height)&&void 0!==a?a:e.element.offsetHeight;break;case"right":e.right+=null!==(l=e.width)&&void 0!==l?l:e.element.offsetWidth;break;case"bottom":e.bottom+=null!==(c=e.height)&&void 0!==c?c:e.element.offsetHeight;break;case"left":e.left+=null!==(d=e.width)&&void 0!==d?d:e.element.offsetWidth}e.height=e.width=void 0,P(e.element).css({position:"absolute",top:"bottom"===h?null:p,right:"left"===h?null:m,bottom:"top"===h?null:v,left:"right"===h?null:f})}));const r=this.states[this.states.length-1];this.$main&&this.$main.css({paddingTop:r.top,paddingRight:r.right,paddingBottom:r.bottom,paddingLeft:r.left})}resort(){const e=this.getItems();this.states.sort(((t,i)=>{var o,r;const n=null!==(o=t.element.order)&&void 0!==o?o:0,s=null!==(r=i.element.order)&&void 0!==r?r:0;return n>s?1:ne.indexOf(i.element)?1:e.indexOf(t.element)($i.has(e)||$i.set(e,new xi(e)),$i.get(e));class Si extends St{constructor(){super(...arguments),this.isParentLayout=!1}get layoutPlacement(){throw new Error("Must implement placement getter!")}onOrderChange(){var e;null===(e=this.layoutManager)||void 0===e||e.updateOrder()}connectedCallback(){super.connectedCallback();const e=this.parentElement;this.isParentLayout=a(e,"mdui-layout"),this.isParentLayout&&(this.layoutManager=Ri(e),this.layoutManager.registerItem(this))}disconnectedCallback(){super.disconnectedCallback(),this.layoutManager&&this.layoutManager.unregisterItem(this)}}Re([Pt({type:Number,reflect:!0})],Si.prototype,"order",void 0),Re([fi("order",!0)],Si.prototype,"onOrderChange",null);const Ti=Pe`:host{--shape-corner:var(--mdui-shape-corner-none);--z-index:2000;position:fixed;right:0;bottom:0;left:0;display:flex;flex:0 0 auto;align-items:center;justify-content:flex-start;border-radius:var(--shape-corner) var(--shape-corner) 0 0;z-index:var(--z-index);transition:bottom var(--mdui-motion-duration-long2) var(--mdui-motion-easing-emphasized);padding:0 1rem;height:5rem;background-color:rgb(var(--mdui-color-surface-container));box-shadow:var(--mdui-elevation-level2)}:host([scroll-target]:not([scroll-target=''])){position:absolute}:host([hide]){transition-duration:var(--mdui-motion-duration-short4);bottom:-5.625rem}::slotted(:not(:first-child)){margin-left:.5rem}::slotted(mdui-fab){box-shadow:var(--mdui-elevation-level0)}:host([fab-detach]) ::slotted(mdui-fab){position:absolute;transition:bottom var(--mdui-motion-duration-long2) var(--mdui-motion-easing-standard);right:1rem;bottom:.75rem}:host([fab-detach][hide][scroll-behavior~=hide]) ::slotted(mdui-fab){transition-duration:var(--mdui-motion-duration-short4);bottom:1rem;box-shadow:var(--mdui-elevation-level2)}:host([fab-detach][hide][scroll-behavior~=hide][scroll-target]:not([scroll-target=''])) ::slotted(mdui-fab){bottom:6.625rem}:host([hide]) ::slotted(:not(mdui-fab)),:host([hide]:not([fab-detach])) ::slotted(mdui-fab){transform:translateY(8.75rem);transition:transform var(--mdui-motion-duration-0) var(--mdui-motion-easing-emphasized-accelerate) var(--mdui-motion-duration-short4)}::slotted(:first-child){transition:transform var(--mdui-motion-duration-short3) var(--mdui-motion-easing-emphasized-decelerate) var(--mdui-motion-duration-short1)}::slotted(:nth-child(2)){transition:transform var(--mdui-motion-duration-short3) var(--mdui-motion-easing-emphasized-decelerate) var(--mdui-motion-duration-short3)}::slotted(:nth-child(3)){transition:transform var(--mdui-motion-duration-short3) var(--mdui-motion-easing-emphasized-decelerate) var(--mdui-motion-duration-short4)}::slotted(:nth-child(4)){transition:transform var(--mdui-motion-duration-short3) var(--mdui-motion-easing-emphasized-decelerate) var(--mdui-motion-duration-medium1)}::slotted(:nth-child(5)){transition:transform var(--mdui-motion-duration-short3) var(--mdui-motion-easing-emphasized-decelerate) var(--mdui-motion-duration-medium2)}::slotted(:nth-child(6)){transition:transform var(--mdui-motion-duration-short3) var(--mdui-motion-easing-emphasized-decelerate) var(--mdui-motion-duration-medium3)}`;e.BottomAppBar=class extends(gi(Si)){constructor(){super(...arguments),this.hide=!1,this.fabDetach=!1}get scrollPaddingPosition(){return"bottom"}get layoutPlacement(){return"bottom"}connectedCallback(){super.connectedCallback(),this.addEventListener("transitionend",(e=>{e.target===this&&vi(this,this.hide?"hidden":"shown")}))}render(){return ct``}runScrollThreshold(e){if(!e&&!this.hide){vi(this,"hide").defaultPrevented||(this.hide=!0)}if(e&&this.hide){vi(this,"show").defaultPrevented||(this.hide=!1)}}},e.BottomAppBar.styles=[Wt,Ti],Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.BottomAppBar.prototype,"hide",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi,attribute:"fab-detach"})],e.BottomAppBar.prototype,"fabDetach",void 0),Re([Pt({reflect:!0,attribute:"scroll-behavior"})],e.BottomAppBar.prototype,"scrollBehavior",void 0),e.BottomAppBar=Re([Et("mdui-bottom-app-bar")],e.BottomAppBar);const Ei=()=>new Ii;let Ii=class{};const Ai=new WeakMap,Pi=Vt(class extends si{render(e){return ht}update(e,[t]){var i;const o=t!==this.G;return o&&void 0!==this.G&&this.ot(void 0),(o||this.rt!==this.lt)&&(this.G=t,this.ct=null===(i=e.options)||void 0===i?void 0:i.host,this.ot(this.lt=e.element)),ht}ot(e){var t;if("function"==typeof this.G){const i=null!==(t=this.ct)&&void 0!==t?t:globalThis;let o=Ai.get(i);void 0===o&&(o=new WeakMap,Ai.set(i,o)),void 0!==o.get(this.G)&&this.G.call(this.ct,void 0),o.set(this.G,e),void 0!==e&&this.G.call(this.ct,e)}else this.G.value=e}get rt(){var e,t,i;return"function"==typeof this.G?null===(t=Ai.get(null!==(e=this.ct)&&void 0!==e?e:globalThis))||void 0===t?void 0:t.get(this.G):null===(i=this.G)||void 0===i?void 0:i.value}disconnected(){this.rt===this.lt&&this.ot(void 0)}reconnected(){this.ot(this.lt)}});function Mi(e){if("string"==typeof e||"number"==typeof e)return""+e;let t="";if(Array.isArray(e))for(let i,o=0;o{const t=P(e).attr("form");if(t){return e.getRootNode().getElementById(t)}return e.closest("form")},name:e=>e.name,value:e=>e.value,defaultValue:e=>e.defaultValue,setValue:(e,t)=>e.value=t,disabled:e=>e.disabled,reportValidity:e=>!l(e.reportValidity)||e.reportValidity(),...t},this.onFormData=this.onFormData.bind(this),this.onFormSubmit=this.onFormSubmit.bind(this),this.onFormReset=this.onFormReset.bind(this),this.reportFormValidity=this.reportFormValidity.bind(this)}hostConnected(){this.form=this.options.form(this.host),this.form&&this.attachForm(this.form)}hostDisconnected(){this.detachForm()}hostUpdated(){const e=this.options.form(this.host);e||this.detachForm(),e&&this.form!==e&&(this.detachForm(),this.attachForm(e))}getForm(){var e;return null!==(e=this.form)&&void 0!==e?e:null}reset(e){this.doAction("reset",e)}submit(e){this.doAction("submit",e)}attachForm(e){e?(this.form=e,fe.has(this.form)?fe.get(this.form).add(this.host):fe.set(this.form,new Set([this.host])),this.form.addEventListener("formdata",this.onFormData),this.form.addEventListener("submit",this.onFormSubmit),this.form.addEventListener("reset",this.onFormReset),Di.has(this.form)||(Di.set(this.form,this.form.reportValidity),this.form.reportValidity=()=>this.reportFormValidity())):this.form=void 0}detachForm(){this.form&&(fe.get(this.form).delete(this.host),this.form.removeEventListener("formdata",this.onFormData),this.form.removeEventListener("submit",this.onFormSubmit),this.form.removeEventListener("reset",this.onFormReset),Di.has(this.form)&&!fe.get(this.form).size&&(this.form.reportValidity=Di.get(this.form),Di.delete(this.form)))}doAction(e,t){if(!this.form)return;const i=P(``}isButton(){return!this.href}}qi.styles=[Wt,Ui],Re([Pt({type:Boolean,reflect:!0,converter:mi})],qi.prototype,"disabled",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],qi.prototype,"loading",void 0),Re([Pt({reflect:!0})],qi.prototype,"name",void 0),Re([Pt({reflect:!0})],qi.prototype,"value",void 0),Re([Pt({reflect:!0})],qi.prototype,"type",void 0),Re([Pt({reflect:!0})],qi.prototype,"form",void 0),Re([Pt({reflect:!0,attribute:"formaction"})],qi.prototype,"formAction",void 0),Re([Pt({reflect:!0,attribute:"formenctype"})],qi.prototype,"formEnctype",void 0),Re([Pt({reflect:!0,attribute:"formmethod"})],qi.prototype,"formMethod",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi,attribute:"formnovalidate"})],qi.prototype,"formNoValidate",void 0),Re([Pt({reflect:!0,attribute:"formtarget"})],qi.prototype,"formTarget",void 0);const ji=Pe`:host{--shape-corner:var(--mdui-shape-corner-full);position:relative;display:inline-block;overflow:hidden;text-align:center;border-radius:var(--shape-corner);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:box-shadow var(--mdui-motion-duration-short4) var(--mdui-motion-easing-linear);min-width:3rem;height:2.5rem;color:rgb(var(--mdui-color-primary));font-size:var(--mdui-typescale-label-large-size);font-weight:var(--mdui-typescale-label-large-weight);letter-spacing:var(--mdui-typescale-label-large-tracking);line-height:var(--mdui-typescale-label-large-line-height)}.button{width:100%;padding:0 1rem}:host([full-width]){display:block}:host([variant=elevated]){box-shadow:var(--mdui-elevation-level1);background-color:rgb(var(--mdui-color-surface-container-low));--mdui-comp-ripple-state-layer-color:var(--mdui-color-primary)}:host([variant=filled]){color:rgb(var(--mdui-color-on-primary));background-color:rgb(var(--mdui-color-primary));--mdui-comp-ripple-state-layer-color:var(--mdui-color-on-primary)}:host([variant=tonal]){color:rgb(var(--mdui-color-on-secondary-container));background-color:rgb(var(--mdui-color-secondary-container));--mdui-comp-ripple-state-layer-color:var( + --mdui-color-on-secondary-container + )}:host([variant=outlined]){border:.0625rem solid rgb(var(--mdui-color-outline));--mdui-comp-ripple-state-layer-color:var(--mdui-color-primary)}:host([variant=text]){--mdui-comp-ripple-state-layer-color:var(--mdui-color-primary)}:host([variant=outlined][focus-visible]){border-color:rgb(var(--mdui-color-primary))}:host([variant=elevated][hover]){box-shadow:var(--mdui-elevation-level2)}:host([variant=filled][hover]),:host([variant=tonal][hover]){box-shadow:var(--mdui-elevation-level1)}:host([disabled]),:host([loading]){cursor:default;pointer-events:none}:host([disabled]){color:rgba(var(--mdui-color-on-surface),38%);box-shadow:var(--mdui-elevation-level0)}:host([variant=elevated][disabled]),:host([variant=filled][disabled]),:host([variant=tonal][disabled]){background-color:rgba(var(--mdui-color-on-surface),12%)}:host([variant=outlined][disabled]){border-color:rgba(var(--mdui-color-on-surface),12%)}.label{display:inline-flex;padding-right:.5rem;padding-left:.5rem}.end-icon,.icon{display:inline-flex;font-size:1.28571429em}.end-icon mdui-icon,.icon mdui-icon,::slotted([slot=end-icon]),::slotted([slot=icon]){font-size:inherit}mdui-circular-progress{display:inline-flex;width:1.125rem;height:1.125rem}:host([variant=filled]) mdui-circular-progress{stroke:rgb(var(--mdui-color-on-primary))}:host([variant=tonal]) mdui-circular-progress{stroke:rgb(var(--mdui-color-on-secondary-container))}:host([disabled]) mdui-circular-progress{stroke:rgba(var(--mdui-color-on-surface),38%)}`;e.Button=class extends qi{constructor(){super(...arguments),this.variant="filled",this.fullWidth=!1,this.rippleRef=Ei()}get rippleElement(){return this.rippleRef.value}render(){return ct`${this.isButton()?this.renderButton({className:"button",part:"button",content:this.renderInner()}):this.disabled||this.loading?ct`${this.renderInner()}`:this.renderAnchor({className:"button",part:"button",content:this.renderInner()})}`}renderIcon(){return this.loading?this.renderLoading():ct`${this.icon?ct``:Gt}`}renderLabel(){return ct``}renderEndIcon(){return ct`${this.endIcon?ct``:Gt}`}renderInner(){return[this.renderIcon(),this.renderLabel(),this.renderEndIcon()]}},e.Button.styles=[qi.styles,ji],Re([Pt({reflect:!0})],e.Button.prototype,"variant",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi,attribute:"full-width"})],e.Button.prototype,"fullWidth",void 0),Re([Pt({reflect:!0})],e.Button.prototype,"icon",void 0),Re([Pt({reflect:!0,attribute:"end-icon"})],e.Button.prototype,"endIcon",void 0),e.Button=Re([Et("mdui-button")],e.Button);const Gi=Pe`:host{--shape-corner:var(--mdui-shape-corner-full);position:relative;display:inline-block;overflow:hidden;text-align:center;border-radius:var(--shape-corner);cursor:pointer;-webkit-tap-highlight-color:transparent;font-size:1.5rem;width:2.5rem;min-width:2.5rem;height:2.5rem}:host([variant=standard]){color:rgb(var(--mdui-color-on-surface-variant));--mdui-comp-ripple-state-layer-color:var(--mdui-color-on-surface-variant)}:host([variant=filled]){color:rgb(var(--mdui-color-primary));background-color:rgb(var(--mdui-color-surface-container-highest));--mdui-comp-ripple-state-layer-color:var(--mdui-color-primary)}:host([variant=tonal]){color:rgb(var(--mdui-color-on-surface-variant));background-color:rgb(var(--mdui-color-surface-container-highest));--mdui-comp-ripple-state-layer-color:var(--mdui-color-on-surface-variant)}:host([variant=outlined]){border:.0625rem solid rgb(var(--mdui-color-outline));color:rgb(var(--mdui-color-on-surface-variant));--mdui-comp-ripple-state-layer-color:var(--mdui-color-on-surface-variant)}:host([variant=outlined][pressed]){color:rgb(var(--mdui-color-on-surface));--mdui-comp-ripple-state-layer-color:var(--mdui-color-on-surface)}:host([variant=standard][selected]){color:rgb(var(--mdui-color-primary));--mdui-comp-ripple-state-layer-color:var(--mdui-color-primary)}:host([variant=filled]:not([selectable])),:host([variant=filled][selected]){color:rgb(var(--mdui-color-on-primary));background-color:rgb(var(--mdui-color-primary));--mdui-comp-ripple-state-layer-color:var(--mdui-color-on-primary)}:host([variant=tonal]:not([selectable])),:host([variant=tonal][selected]){color:rgb(var(--mdui-color-on-secondary-container));background-color:rgb(var(--mdui-color-secondary-container));--mdui-comp-ripple-state-layer-color:var( + --mdui-color-on-secondary-container + )}:host([variant=outlined][selected]){border:none;color:rgb(var(--mdui-color-inverse-on-surface));background-color:rgb(var(--mdui-color-inverse-surface));--mdui-comp-ripple-state-layer-color:var(--mdui-color-inverse-on-surface)}:host([variant=filled][disabled]),:host([variant=outlined][disabled]),:host([variant=tonal][disabled]){background-color:rgba(var(--mdui-color-on-surface),.12);border-color:rgba(var(--mdui-color-on-surface),.12)}:host([disabled]),:host([loading]){cursor:default;pointer-events:none}:host([disabled]){color:rgba(var(--mdui-color-on-surface),.38)!important}:host([loading]) .button,:host([loading]) mdui-ripple{opacity:0}.button{float:left;width:100%}.icon,.selected-icon mdui-icon,::slotted(*){font-size:inherit}mdui-circular-progress{display:flex;position:absolute;top:calc(50% - 1.5rem / 2);left:calc(50% - 1.5rem / 2);width:1.5rem;height:1.5rem}:host([variant=filled]:not([disabled])) mdui-circular-progress{stroke:rgb(var(--mdui-color-on-primary))}:host([disabled]) mdui-circular-progress{stroke:rgba(var(--mdui-color-on-surface),38%)}`;e.ButtonIcon=class extends qi{constructor(){super(...arguments),this.variant="standard",this.selectable=!1,this.selected=!1,this.rippleRef=Ei(),this.hasSlotController=new jt(this,"[default]","selected-icon")}get rippleElement(){return this.rippleRef.value}onSelectedChange(){vi(this,"change")}firstUpdated(e){super.firstUpdated(e),this.addEventListener("click",(()=>{this.selectable&&!this.disabled&&(this.selected=!this.selected)}))}render(){return ct`${this.isButton()?this.renderButton({className:"button",part:"button",content:this.renderIcon()}):this.disabled||this.loading?ct`${this.renderIcon()}`:this.renderAnchor({className:"button",part:"button",content:this.renderIcon()})} ${this.renderLoading()}`}renderIcon(){const e=()=>this.hasSlotController.test("[default]")?ct``:this.icon?ct``:Gt;return this.selected?(()=>this.hasSlotController.test("selected-icon")||this.selectedIcon?ct``:e())():e()}},e.ButtonIcon.styles=[qi.styles,Gi],Re([Pt({reflect:!0})],e.ButtonIcon.prototype,"variant",void 0),Re([Pt({reflect:!0})],e.ButtonIcon.prototype,"icon",void 0),Re([Pt({reflect:!0,attribute:"selected-icon"})],e.ButtonIcon.prototype,"selectedIcon",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.ButtonIcon.prototype,"selectable",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.ButtonIcon.prototype,"selected",void 0),Re([fi("selected",!0)],e.ButtonIcon.prototype,"onSelectedChange",null),e.ButtonIcon=Re([Et("mdui-button-icon")],e.ButtonIcon);const Wi=Pe`:host{--shape-corner:var(--mdui-shape-corner-medium);position:relative;display:inline-block;overflow:hidden;border-radius:var(--shape-corner);-webkit-tap-highlight-color:transparent;transition:box-shadow var(--mdui-motion-duration-short4) var(--mdui-motion-easing-linear);--mdui-comp-ripple-state-layer-color:var(--mdui-color-on-surface)}:host([clickable]){cursor:pointer}:host([variant=elevated]){background-color:rgb(var(--mdui-color-surface-container-low));box-shadow:var(--mdui-elevation-level1)}:host([variant=filled]){background-color:rgb(var(--mdui-color-surface-container-highest))}:host([variant=outlined]){background-color:rgb(var(--mdui-color-surface));border:.0625rem solid rgb(var(--mdui-color-outline))}:host([variant=elevated][hover]){box-shadow:var(--mdui-elevation-level2)}:host([variant=filled][hover]),:host([variant=outlined][hover]){box-shadow:var(--mdui-elevation-level1)}:host([variant=elevated][dragged]),:host([variant=filled][dragged]),:host([variant=outlined][dragged]){box-shadow:var(--mdui-elevation-level3)}:host([disabled]){opacity:.38;cursor:default;-webkit-user-select:none;user-select:none}:host([variant=elevated][disabled]){background-color:rgb(var(--mdui-color-surface-variant));box-shadow:var(--mdui-elevation-level0)}:host([variant=filled][disabled]){background-color:rgb(var(--mdui-color-surface));box-shadow:var(--mdui-elevation-level1)}:host([variant=outlined][disabled]){box-shadow:var(--mdui-elevation-level0);border-color:rgba(var(--mdui-color-outline),.32)}.link{position:relative;display:inline-block;width:100%;height:100%;color:inherit;font-size:inherit;letter-spacing:inherit;text-decoration:none;touch-action:manipulation;-webkit-user-drag:none}`;e.Card=class extends(_i(Ki(Fi(St)))){constructor(){super(...arguments),this.variant="elevated",this.clickable=!1,this.disabled=!1,this.rippleRef=Ei()}get rippleElement(){return this.rippleRef.value}get rippleDisabled(){return this.disabled||!this.href&&!this.clickable}get focusElement(){return this}get focusDisabled(){return this.rippleDisabled}render(){return ct`${this.href&&!this.disabled?this.renderAnchor({className:"link",content:ct``}):ct``}`}},e.Card.styles=[Wt,Wi],Re([Pt({reflect:!0})],e.Card.prototype,"variant",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.Card.prototype,"clickable",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.Card.prototype,"disabled",void 0),e.Card=Re([Et("mdui-card")],e.Card);const Yi=Vt(class extends Ht{constructor(e){if(super(e),e.type!==Ft&&e.type!==Ot&&e.type!==Nt)throw Error("The `live` directive is not allowed on child or event bindings");if(!Zt(e))throw Error("`live` bindings can only contain a single expression")}render(e){return e}update(e,[t]){if(t===dt||t===ht)return t;const i=e.element,o=e.name;if(e.type===Ft){if(t===i[o])return dt}else if(e.type===Nt){if(!!t===i.hasAttribute(o))return dt}else if(e.type===Ot&&i.getAttribute(o)===t+"")return dt;return((e,t=Qt)=>{e._$AH=t})(e),t}});function Xi(e="value"){return(t,i)=>{const o=t.constructor,r=o.prototype.attributeChangedCallback;o.prototype.attributeChangedCallback=function(t,n,s){var a;const d=o.getPropertyOptions(e);if(t===(c(d.attribute)?d.attribute:e)){const t=d.converter||ze,o=(l(t)?t:null!==(a=null==t?void 0:t.fromAttribute)&&void 0!==a?a:ze.fromAttribute)(s,d.type);this[e]!==o&&(this[i]=o)}r.call(this,t,n,s)}}}const Ji=Pe`:host{display:inline-block;width:1em;height:1em;line-height:1;font-size:1.5rem}`,Zi=e=>ct`${Jt(e)}`;let Qi=class extends St{render(){return Zi('')}};Qi.styles=Ji,Qi=Re([Et("mdui-icon-check-box-outline-blank")],Qi);let eo=class extends St{render(){return Zi('')}};eo.styles=Ji,eo=Re([Et("mdui-icon-check-box")],eo);let to=class extends St{render(){return Zi('')}};to.styles=Ji,to=Re([Et("mdui-icon-indeterminate-check-box")],to);const io=Pe`:host{position:relative;display:inline-flex;cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:.125rem;font-size:var(--mdui-typescale-label-large-size);font-weight:var(--mdui-typescale-label-large-weight);letter-spacing:var(--mdui-typescale-label-large-tracking);line-height:var(--mdui-typescale-label-large-line-height)}label{display:inline-flex;align-items:center;width:100%;cursor:inherit;-webkit-user-select:none;user-select:none;touch-action:manipulation;zoom:1;-webkit-user-drag:none}input{position:absolute;padding:0;opacity:0;pointer-events:none;width:1.125rem;height:1.125rem;margin:0 0 0 .6875rem}.icon{display:flex;position:absolute;opacity:1;transform:scale(1);color:rgb(var(--mdui-color-on-surface));font-size:1.5rem;transition:color var(--mdui-motion-duration-short4) var(--mdui-motion-easing-standard)}.checked-icon,.indeterminate-icon{opacity:0;transform:scale(.5);transition-property:color,opacity,transform;transition-duration:var(--mdui-motion-duration-short4);transition-timing-function:var(--mdui-motion-easing-standard)}.icon .i,::slotted([slot=checked-icon]),::slotted([slot=indeterminate-icon]),::slotted([slot=unchecked-icon]){color:inherit;font-size:inherit}i{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:50%;width:2.5rem;min-width:2.5rem;height:2.5rem;--mdui-comp-ripple-state-layer-color:var(--mdui-color-on-surface)}.label{display:flex;width:100%;padding-top:.625rem;padding-bottom:.625rem;color:rgb(var(--mdui-color-on-surface));transition:color var(--mdui-motion-duration-short4) var(--mdui-motion-easing-standard)}:host([checked]) i{--mdui-comp-ripple-state-layer-color:var(--mdui-color-primary)}:host([checked]) .icon{color:rgb(var(--mdui-color-primary))}:host([checked]) .indeterminate-icon{opacity:0;transform:scale(.5)}:host([checked]) .checked-icon{opacity:1;transform:scale(1)}:host([indeterminate]) i{--mdui-comp-ripple-state-layer-color:var(--mdui-color-primary)}:host([indeterminate]) .icon{color:rgb(var(--mdui-color-primary))}:host([indeterminate]) .checked-icon{opacity:0;transform:scale(.5)}:host([indeterminate]) .indeterminate-icon{opacity:1;transform:scale(1)}:host([invalid]) i{--mdui-comp-ripple-state-layer-color:var(--mdui-color-error)}:host([invalid]) .icon{color:rgb(var(--mdui-color-error))}:host([invalid]) .label{color:rgb(var(--mdui-color-error))}:host([disabled]){cursor:default;pointer-events:none}:host([disabled]) .icon{color:rgba(var(--mdui-color-on-surface),38%)}:host([disabled]) .label{color:rgba(var(--mdui-color-on-surface),38%)}:host([disabled][checked]) .unchecked-icon,:host([disabled][indeterminate]) .unchecked-icon{opacity:0}`;e.Checkbox=class extends(Ki(Fi(St))){constructor(){super(...arguments),this.disabled=!1,this.checked=!1,this.defaultChecked=!1,this.indeterminate=!1,this.required=!1,this.name="",this.value="on",this.invalid=!1,this.inputRef=Ei(),this.rippleRef=Ei(),this.formController=new Li(this,{value:e=>e.checked?e.value:void 0,defaultValue:e=>e.defaultChecked,setValue:(e,t)=>e.checked=t})}get validity(){return this.inputRef.value.validity}get validationMessage(){return this.inputRef.value.validationMessage}get rippleElement(){return this.rippleRef.value}get rippleDisabled(){return this.disabled}get focusElement(){return this.inputRef.value}get focusDisabled(){return this.disabled}async onDisabledChange(){await this.updateComplete,this.invalid=!this.inputRef.value.checkValidity()}async onCheckedChange(){var e;await this.updateComplete;const t=this.formController.getForm();t&&(null===(e=Bi.get(t))||void 0===e?void 0:e.has(this))?(this.invalid=!1,Bi.get(t).delete(this)):this.invalid=!this.inputRef.value.checkValidity()}checkValidity(){const e=this.inputRef.value.checkValidity();return e||vi(this,"invalid",{bubbles:!1,cancelable:!0,composed:!1}),e}reportValidity(){if(this.invalid=!this.inputRef.value.reportValidity(),this.invalid){vi(this,"invalid",{bubbles:!1,cancelable:!0,composed:!1}).defaultPrevented&&(this.blur(),this.focus())}return!this.invalid}setCustomValidity(e){this.inputRef.value.setCustomValidity(e),this.invalid=!this.inputRef.value.checkValidity()}render(){return ct``}onChange(){this.checked=this.inputRef.value.checked,this.indeterminate=!1,vi(this,"change")}},e.Checkbox.styles=[Wt,io],Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.Checkbox.prototype,"disabled",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.Checkbox.prototype,"checked",void 0),Re([Xi("checked")],e.Checkbox.prototype,"defaultChecked",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.Checkbox.prototype,"indeterminate",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.Checkbox.prototype,"required",void 0),Re([Pt({reflect:!0})],e.Checkbox.prototype,"form",void 0),Re([Pt({reflect:!0})],e.Checkbox.prototype,"name",void 0),Re([Pt({reflect:!0})],e.Checkbox.prototype,"value",void 0),Re([Pt({reflect:!0,attribute:"unchecked-icon"})],e.Checkbox.prototype,"uncheckedIcon",void 0),Re([Pt({reflect:!0,attribute:"checked-icon"})],e.Checkbox.prototype,"checkedIcon",void 0),Re([Pt({reflect:!0,attribute:"indeterminate-icon"})],e.Checkbox.prototype,"indeterminateIcon",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.Checkbox.prototype,"invalid",void 0),Re([fi("disabled",!0),fi("indeterminate",!0),fi("required",!0)],e.Checkbox.prototype,"onDisabledChange",null),Re([fi("checked",!0)],e.Checkbox.prototype,"onCheckedChange",null),e.Checkbox=Re([Et("mdui-checkbox")],e.Checkbox);let oo=class extends St{render(){return Zi('')}};oo.styles=Ji,oo=Re([Et("mdui-icon-check")],oo);let ro=class extends St{render(){return Zi('')}};ro.styles=Ji,ro=Re([Et("mdui-icon-clear")],ro);const no=Pe`:host{--shape-corner:var(--mdui-shape-corner-small);position:relative;display:inline-block;overflow:hidden;border-radius:var(--shape-corner);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:box-shadow var(--mdui-motion-duration-short4) var(--mdui-motion-easing-linear);height:2rem;background-color:rgb(var(--mdui-color-surface));border:.0625rem solid rgb(var(--mdui-color-outline));color:rgb(var(--mdui-color-on-surface-variant));font-size:var(--mdui-typescale-label-large-size);font-weight:var(--mdui-typescale-label-large-weight);letter-spacing:var(--mdui-typescale-label-large-tracking);line-height:var(--mdui-typescale-label-large-line-height);--mdui-comp-ripple-state-layer-color:var(--mdui-color-on-surface-variant)}.button{padding-right:.4375rem;padding-left:.4375rem}:host([variant=input]) .button{padding-right:.1875rem;padding-left:.1875rem}:host([selected]) .button{padding-right:.5rem;padding-left:.5rem}:host([selected][variant=input]) .button{padding-right:.25rem;padding-left:.25rem}:host([elevated]) .button{padding-right:.5rem;padding-left:.5rem}:host([variant=assist]){color:rgb(var(--mdui-color-on-surface));--mdui-comp-ripple-state-layer-color:var(--mdui-color-on-surface)}:host([elevated]){border-width:0;background-color:rgb(var(--mdui-color-surface-container-low));box-shadow:var(--mdui-elevation-level1)}:host([selected]){color:rgb(var(--mdui-color-on-secondary-container));background-color:rgb(var(--mdui-color-secondary-container));border-width:0;--mdui-comp-ripple-state-layer-color:var( + --mdui-color-on-secondary-container + )}:host([disabled]),:host([loading]){cursor:default;pointer-events:none}:host([disabled]){border-color:rgba(var(--mdui-color-on-surface),12%);color:rgba(var(--mdui-color-on-surface),38%);box-shadow:var(--mdui-elevation-level0)}:host([disabled][elevated]),:host([disabled][selected]){background-color:rgba(var(--mdui-color-on-surface),12%)}:host([selected][hover]){box-shadow:var(--mdui-elevation-level1)}:host([elevated][hover]){color:rgb(var(--mdui-color-on-secondary-container));box-shadow:var(--mdui-elevation-level2)}:host([variant=filter][hover]),:host([variant=input][hover]),:host([variant=suggestion][hover]){color:rgb(var(--mdui-color-on-surface-variant))}:host([variant=filter][focus-visible]),:host([variant=input][focus-visible]),:host([variant=suggestion][focus-visible]){border-color:rgb(var(--mdui-color-on-surface-variant))}:host([dragged]),:host([dragged][hover]){box-shadow:var(--mdui-elevation-level4)}.button{overflow:visible}.label{display:inline-flex;padding-right:.5rem;padding-left:.5rem}.end-icon,.icon,.selected-icon{display:inline-flex;font-size:1.28571429em;color:rgb(var(--mdui-color-on-surface-variant))}:host([variant=assist]) .end-icon,:host([variant=assist]) .icon,:host([variant=assist]) .selected-icon{color:rgb(var(--mdui-color-primary))}:host([selected]) .end-icon,:host([selected]) .icon,:host([selected]) .selected-icon{color:rgb(var(--mdui-color-on-secondary-container))}:host([disabled]) .end-icon,:host([disabled]) .icon,:host([disabled]) .selected-icon{opacity:.38;color:rgb(var(--mdui-color-on-surface))}.end-icon .i,.icon .i,.selected-icon .i,::slotted([slot=end-icon]),::slotted([slot=icon]),::slotted([slot=selected-icon]){font-size:inherit}:host([variant=input]) .has-icon .icon,:host([variant=input]) .has-icon .selected-icon,:host([variant=input]) .has-icon mdui-circular-progress{margin-left:.25rem}:host([variant=input]) .has-end-icon .end-icon{margin-right:.25rem}mdui-circular-progress{display:inline-flex;width:1.125rem;height:1.125rem}:host([disabled]) mdui-circular-progress{stroke:rgba(var(--mdui-color-on-surface),38%)}::slotted(mdui-avatar[slot=end-icon]),::slotted(mdui-avatar[slot=icon]),::slotted(mdui-avatar[slot=selected-icon]){width:1.5rem;height:1.5rem}:host([disabled]) ::slotted(mdui-avatar[slot=end-icon]),:host([disabled]) ::slotted(mdui-avatar[slot=icon]),:host([disabled]) ::slotted(mdui-avatar[slot=selected-icon]){opacity:.38}::slotted(mdui-avatar[slot=icon]),::slotted(mdui-avatar[slot=selected-icon]){margin-left:-.25rem;margin-right:-.125rem}::slotted(mdui-avatar[slot=end-icon]){margin-right:-.25rem;margin-left:-.125rem}.delete-icon{display:inline-flex;font-size:1.28571429em;transition:background-color var(--mdui-motion-duration-short4) var(--mdui-motion-easing-linear);border-radius:var(--mdui-shape-corner-full);margin-right:-.25rem;margin-left:-.25rem;padding:.25rem;color:rgb(var(--mdui-color-on-surface-variant))}.delete-icon:hover{background-color:rgba(var(--mdui-color-on-surface-variant),12%)}.has-end-icon .delete-icon{margin-left:.25rem}:host([variant=assiat]) .delete-icon{color:rgb(var(--mdui-color-primary))}:host([variant=input]) .delete-icon{margin-right:.0625rem}:host([disabled]) .delete-icon{color:rgba(var(--mdui-color-on-surface),38%)}.delete-icon .i,::slotted([slot=delete-icon]){font-size:inherit}::slotted(mdui-avatar[slot=delete-icon]){width:1.125rem;height:1.125rem}`;e.Chip=class extends qi{constructor(){super(),this.variant="assist",this.elevated=!1,this.selectable=!1,this.selected=!1,this.deletable=!1,this.rippleRef=Ei(),this.hasSlotController=new jt(this,"icon","selected-icon","end-icon"),this.onClick=this.onClick.bind(this),this.onKeyDown=this.onKeyDown.bind(this)}get rippleElement(){return this.rippleRef.value}onSelectedChange(){vi(this,"change")}firstUpdated(e){super.firstUpdated(e),this.addEventListener("click",this.onClick),this.addEventListener("keydown",this.onKeyDown)}render(){const e=this.icon||this.hasSlotController.test("icon"),t=this.endIcon||this.hasSlotController.test("end-icon"),i=this.selectedIcon||["assist","filter"].includes(this.variant)||e||this.hasSlotController.test("selected-icon"),o=Mi({button:!0,"has-icon":this.loading||!this.selected&&e||this.selected&&i,"has-end-icon":t});return ct`${this.isButton()?this.renderButton({className:o,part:"button",content:this.renderInner()}):this.disabled||this.loading?ct`${this.renderInner()}`:this.renderAnchor({className:o,part:"button",content:this.renderInner()})}`}onClick(){this.disabled||this.loading||this.selectable&&(this.selected=!this.selected)}onKeyDown(e){this.disabled||this.loading||(this.selectable&&" "===e.key&&(e.preventDefault(),this.selected=!this.selected),this.deletable&&["Delete","Backspace"].includes(e.key)&&vi(this,"delete"))}onDelete(e){e.stopPropagation(),vi(this,"delete")}renderIcon(){if(this.loading)return this.renderLoading();const e=()=>this.icon?ct``:Gt;return this.selected?ct`${(()=>this.selectedIcon?ct``:"assist"===this.variant||"filter"===this.variant?ct``:e())()}`:ct`${e()}`}renderLabel(){return ct``}renderEndIcon(){return ct`${this.endIcon?ct``:Gt}`}renderDeleteIcon(){return this.deletable?ct`${this.deleteIcon?ct``:ct``}`:Gt}renderInner(){return[this.renderIcon(),this.renderLabel(),this.renderEndIcon(),this.renderDeleteIcon()]}},e.Chip.styles=[qi.styles,no],Re([Pt({reflect:!0})],e.Chip.prototype,"variant",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.Chip.prototype,"elevated",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.Chip.prototype,"selectable",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.Chip.prototype,"selected",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.Chip.prototype,"deletable",void 0),Re([Pt({reflect:!0})],e.Chip.prototype,"icon",void 0),Re([Pt({reflect:!0,attribute:"selected-icon"})],e.Chip.prototype,"selectedIcon",void 0),Re([Pt({reflect:!0,attribute:"end-icon"})],e.Chip.prototype,"endIcon",void 0),Re([Pt({reflect:!0,attribute:"delete-icon"})],e.Chip.prototype,"deleteIcon",void 0),Re([fi("selected",!0)],e.Chip.prototype,"onSelectedChange",null),e.Chip=Re([Et("mdui-chip")],e.Chip);const so=Pe`:host{display:block}`;e.Collapse=class extends St{constructor(){super(...arguments),this.accordion=!1,this.disabled=!1,this.activeKeys=[],this.items=[]}onActiveKeysChange(){var e;this.value=this.accordion?null===(e=this.items.find((e=>this.activeKeys.includes(e.key))))||void 0===e?void 0:e.value:this.items.filter((e=>this.activeKeys.includes(e.key))).map((e=>e.value)),vi(this,"change")}onValueChange(){if(this.accordion){const e=this.value;if(e){const t=this.items.find((t=>t.value===e));this.activeKeys=t?[t.key]:[]}else this.activeKeys=[]}else{const e=this.value;e.length?this.activeKeys=this.items.filter((t=>e.includes(t.value))).map((e=>e.key)):this.activeKeys=[]}this.updateActive()}connectedCallback(){super.connectedCallback(),this.syncItems()}render(){return ct``}syncItems(){this.items=P(this).find("mdui-collapse-item").get()}onClick(e){if(this.disabled)return;if(e.button)return;const t=e.target.closest("mdui-collapse-item");if(t.disabled)return;const i=e.composedPath();if((!t.trigger||i.find((e=>f(e)&&P(e).is(t.trigger))))&&i.find((e=>f(e)&&e.part.contains("header")))){if(this.accordion)this.activeKeys.includes(t.key)?this.activeKeys=[]:this.activeKeys=[t.key];else{const e=[...this.activeKeys];e.includes(t.key)?e.splice(e.indexOf(t.key),1):e.push(t.key),this.activeKeys=e}this.updateActive()}}onSlotChange(){this.syncItems(),this.updateActive()}updateActive(){this.items.forEach((e=>e.active=this.activeKeys.includes(e.key)))}},e.Collapse.styles=[Wt,so],Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.Collapse.prototype,"accordion",void 0),Re([Pt()],e.Collapse.prototype,"value",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.Collapse.prototype,"disabled",void 0),Re([Mt()],e.Collapse.prototype,"activeKeys",void 0),Re([fi("activeKeys",!0)],e.Collapse.prototype,"onActiveKeysChange",null),Re([fi("value")],e.Collapse.prototype,"onValueChange",null),e.Collapse=Re([Et("mdui-collapse")],e.Collapse);const ao=Pe`:host{display:flex;flex-direction:column}.header{display:block}.body{display:block;overflow:hidden;transition:height var(--mdui-motion-duration-short4) var(--mdui-motion-easing-emphasized)}.body.opened{overflow:visible}:host([active]) .body{transition-duration:var(--mdui-motion-duration-medium4)}`;function lo(e,t,i){return e?t():null==i?void 0:i()}function co(e,t,i){return e?new Promise((o=>{if(i.duration===1/0)throw new Error("Promise-based animations must be finite.");d(i.duration)&&isNaN(i.duration)&&(i.duration=0),""===i.easing&&(i.easing="linear");const r=e.animate(t,i);r.addEventListener("cancel",o,{once:!0}),r.addEventListener("finish",o,{once:!0})})):Promise.resolve()}function ho(e){return e?Promise.all(e.getAnimations().map((e=>new Promise((t=>{const i=requestAnimationFrame(t);e.addEventListener("cancel",(()=>i),{once:!0}),e.addEventListener("finish",(()=>i),{once:!0}),e.cancel()}))))):Promise.resolve()}function uo(e){const t=s(),i=e.tagName.toLowerCase();return"-1"!==e.getAttribute("tabindex")&&(!e.hasAttribute("disabled")&&((!e.hasAttribute("aria-disabled")||"false"===e.getAttribute("aria-disabled"))&&(!("input"===i&&"radio"===e.getAttribute("type")&&!e.hasAttribute("checked"))&&(null!==e.offsetParent&&("hidden"!==t.getComputedStyle(e).visibility&&(!("audio"!==i&&"video"!==i||!e.hasAttribute("controls"))||(!!e.hasAttribute("tabindex")||(!(!e.hasAttribute("contenteditable")||"false"===e.getAttribute("contenteditable"))||["button","input","select","textarea","a","audio","video","summary"].includes(i)))))))))}e.CollapseItem=class extends St{constructor(){super(...arguments),this.disabled=!1,this.active=!1,this.state="closed",this.key=yi(),this.bodyRef=Ei()}onActiveChange(){this.hasUpdated?(this.state=this.active?"open":"close",vi(this,this.state),this.updateBodyHeight()):this.state=this.active?"opened":"closed"}firstUpdated(e){super.firstUpdated(e),P(this.bodyRef.value).on("transitionend",(e=>{e.target===this.bodyRef.value&&(this.state=this.active?"opened":"closed",vi(this,this.state),this.updateBodyHeight())})),this.updateBodyHeight()}render(){return ct`${this.header}`}updateBodyHeight(){const e=this.bodyRef.value.scrollHeight;"close"===this.state&&(P(this.bodyRef.value).height(e),this.bodyRef.value.clientLeft),P(this.bodyRef.value).height("opened"===this.state?"auto":"open"===this.state?e:0)}},e.CollapseItem.styles=[Wt,ao],Re([Pt({reflect:!0})],e.CollapseItem.prototype,"value",void 0),Re([Pt({reflect:!0})],e.CollapseItem.prototype,"header",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.CollapseItem.prototype,"disabled",void 0),Re([Pt()],e.CollapseItem.prototype,"trigger",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.CollapseItem.prototype,"active",void 0),Re([Mt()],e.CollapseItem.prototype,"state",void 0),Re([fi("active")],e.CollapseItem.prototype,"onActiveChange",null),e.CollapseItem=Re([Et("mdui-collapse-item")],e.CollapseItem);let po=[];class mo{constructor(e){this.tabDirection="forward",this.element=e,this.handleFocusIn=this.handleFocusIn.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleKeyUp=this.handleKeyUp.bind(this)}activate(){po.push(this.element),document.addEventListener("focusin",this.handleFocusIn),document.addEventListener("keydown",this.handleKeyDown),document.addEventListener("keyup",this.handleKeyUp)}deactivate(){po=po.filter((e=>e!==this.element)),document.removeEventListener("focusin",this.handleFocusIn),document.removeEventListener("keydown",this.handleKeyDown),document.removeEventListener("keyup",this.handleKeyUp)}isActive(){return po[po.length-1]===this.element}checkFocus(){if(this.isActive()&&!this.element.matches(":focus-within")){const{start:e,end:t}=function(e){var t,i;const o=[];return function e(t){t instanceof HTMLElement&&(o.push(t),null!==t.shadowRoot&&"open"===t.shadowRoot.mode&&e(t.shadowRoot)),[...t.children].forEach((t=>e(t)))}(e),{start:null!==(t=o.find((e=>uo(e))))&&void 0!==t?t:null,end:null!==(i=o.reverse().find((e=>uo(e))))&&void 0!==i?i:null}}(this.element),i="forward"===this.tabDirection?e:t;"function"==typeof(null==i?void 0:i.focus)&&i.focus({preventScroll:!0})}}handleFocusIn(){this.checkFocus()}handleKeyDown(e){"Tab"===e.key&&e.shiftKey&&(this.tabDirection="backward"),requestAnimationFrame((()=>this.checkFocus()))}handleKeyUp(){this.tabDirection="forward"}}const vo=(e,t)=>{const i=`--mdui-motion-easing-${t}`;return P(e).css(i).trim()},fo=(e,t)=>{const i=`--mdui-motion-duration-${t}`,o=P(e).css(i).trim().toLowerCase();return o.endsWith("ms")?parseFloat(o):1e3*parseFloat(o)},go=new Set,bo="mdui-lock-screen",yo=(e,t)=>{const i=r();go.add(e),P(t||i.body).addClass(bo)},wo=(e,t)=>{const i=r();go.delete(e),0===go.size&&P(t||i.body).removeClass(bo)},ko=Pe`:host{--shape-corner:var(--mdui-shape-corner-extra-large);--z-index:2300;position:fixed;z-index:var(--z-index);display:none;align-items:center;justify-content:center;inset:0;padding:3rem}::slotted(mdui-top-app-bar[slot=header]){position:absolute;border-top-left-radius:var(--mdui-shape-corner-extra-large);border-top-right-radius:var(--mdui-shape-corner-extra-large);background-color:rgb(var(--mdui-color-surface-container-high))}:host([fullscreen]){--shape-corner:var(--mdui-shape-corner-none);padding:0}:host([fullscreen]) ::slotted(mdui-top-app-bar[slot=header]){border-top-left-radius:var(--mdui-shape-corner-none);border-top-right-radius:var(--mdui-shape-corner-none)}.overlay{position:fixed;inset:0;background-color:rgba(var(--mdui-color-scrim),.4)}.panel{position:relative;display:flex;flex-direction:column;max-height:100%;border-radius:var(--shape-corner);outline:0;transform-origin:top;min-width:17.5rem;max-width:35rem;padding:1.5rem;background-color:rgb(var(--mdui-color-surface-container-high));box-shadow:var(--mdui-elevation-level3)}:host([fullscreen]) .panel{width:100%;max-width:100%;height:100%;max-height:100%;box-shadow:var(--mdui-elevation-level0)}.header{display:flex;flex-direction:column}.has-icon .header{align-items:center}.icon{display:flex;color:rgb(var(--mdui-color-secondary));font-size:1.5rem}.icon mdui-icon,::slotted([slot=icon]){font-size:inherit}.headline{display:flex;color:rgb(var(--mdui-color-on-surface));font-size:var(--mdui-typescale-headline-small-size);font-weight:var(--mdui-typescale-headline-small-weight);letter-spacing:var(--mdui-typescale-headline-small-tracking);line-height:var(--mdui-typescale-headline-small-line-height)}.icon+.headline{padding-top:1rem}.body{overflow:auto}.header+.body{margin-top:1rem}.description{display:flex;color:rgb(var(--mdui-color-on-surface-variant));font-size:var(--mdui-typescale-body-medium-size);font-weight:var(--mdui-typescale-body-medium-weight);letter-spacing:var(--mdui-typescale-body-medium-tracking);line-height:var(--mdui-typescale-body-medium-line-height)}:host([fullscreen]) .description{color:rgb(var(--mdui-color-on-surface))}.has-description.has-default .description{margin-bottom:1rem}.action{display:flex;justify-content:flex-end;padding-top:1.5rem}.action::slotted(:not(:first-child)){margin-left:.5rem}:host([stacked-actions]) .action{flex-direction:column;align-items:end}:host([stacked-actions]) .action::slotted(:not(:first-child)){margin-left:0;margin-top:.5rem}`;e.Dialog=class extends St{constructor(){super(...arguments),this.open=!1,this.fullscreen=!1,this.closeOnEsc=!1,this.closeOnOverlayClick=!1,this.stackedActions=!1,this.overlayRef=Ei(),this.panelRef=Ei(),this.bodyRef=Ei(),this.hasSlotController=new jt(this,"header","icon","headline","description","action","[default]")}async onOpenChange(){var e;const t=this.hasUpdated;t||await this.updateComplete;const i=Array.from(this.panelRef.value.querySelectorAll(".header, .body, .actions")),o=vo(this,"linear"),r=vo(this,"emphasized-decelerate"),n=vo(this,"emphasized-accelerate");if(this.open){if(t){if(vi(this,"open",{cancelable:!0}).defaultPrevented)return}this.style.display="flex";const n=null!==(e=this.topAppBarElements)&&void 0!==e?e:[];if(n.length){const e=n[0];e.scrollTarget||(e.scrollTarget=this.bodyRef.value),this.bodyRef.value.style.marginTop="0"}this.originalTrigger=document.activeElement,this.modalHelper.activate(),yo(this),await Promise.all([ho(this.overlayRef.value),ho(this.panelRef.value),...i.map((e=>ho(e)))]),requestAnimationFrame((()=>{const e=this.querySelector("[autofocus]");e?e.focus({preventScroll:!0}):this.panelRef.value.focus({preventScroll:!0})}));const s=fo(this,"medium4");return await Promise.all([co(this.overlayRef.value,[{opacity:0},{opacity:1,offset:.3},{opacity:1}],{duration:t?s:0,easing:o}),co(this.panelRef.value,[{transform:"translateY(-1.875rem) scaleY(0)"},{transform:"translateY(0) scaleY(1)"}],{duration:t?s:0,easing:r}),co(this.panelRef.value,[{opacity:0},{opacity:1,offset:.1},{opacity:1}],{duration:t?s:0,easing:o}),...i.map((e=>co(e,[{opacity:0},{opacity:0,offset:.2},{opacity:1,offset:.8},{opacity:1}],{duration:t?s:0,easing:o})))]),void(t&&vi(this,"opened"))}if(!this.open&&t){if(vi(this,"close",{cancelable:!0}).defaultPrevented)return;this.modalHelper.deactivate(),await Promise.all([ho(this.overlayRef.value),ho(this.panelRef.value),...i.map((e=>ho(e)))]);const e=fo(this,"short4");await Promise.all([co(this.overlayRef.value,[{opacity:1},{opacity:0}],{duration:e,easing:o}),co(this.panelRef.value,[{transform:"translateY(0) scaleY(1)"},{transform:"translateY(-1.875rem) scaleY(0.6)"}],{duration:e,easing:n}),co(this.panelRef.value,[{opacity:1},{opacity:1,offset:.75},{opacity:0}],{duration:e,easing:o}),...i.map((t=>co(t,[{opacity:1},{opacity:0,offset:.75},{opacity:0}],{duration:e,easing:o})))]),this.style.display="none",wo(this);const t=this.originalTrigger;return"function"==typeof(null==t?void 0:t.focus)&&setTimeout((()=>t.focus())),void vi(this,"closed")}}connectedCallback(){super.connectedCallback(),this.modalHelper=new mo(this),this.addEventListener("keydown",(e=>{this.open&&this.closeOnEsc&&"Escape"===e.key&&(e.stopPropagation(),this.open=!1)}))}disconnectedCallback(){super.disconnectedCallback(),wo(this)}render(){const e=this.hasSlotController.test("action"),t=this.hasSlotController.test("[default]"),i=!!this.icon||this.hasSlotController.test("icon"),o=!!this.headline||this.hasSlotController.test("headline"),r=!!this.description||this.hasSlotController.test("description"),n=i||o||this.hasSlotController.test("header"),s=r||t;return ct`
${lo(n,(()=>ct`${lo(i,(()=>this.renderIcon()))} ${lo(o,(()=>this.renderHeadline()))}`))} ${lo(s,(()=>ct`
${lo(r,(()=>this.renderDescription()))}
`))} ${lo(e,(()=>ct``))}
`}onOverlayClick(){vi(this,"overlay-click"),this.closeOnOverlayClick&&(this.open=!1)}renderIcon(){return ct`${this.icon?ct``:Gt}`}renderHeadline(){return ct`${this.headline}`}renderDescription(){return ct`${this.description}`}},e.Dialog.styles=[Wt,ko],Re([Pt({reflect:!0})],e.Dialog.prototype,"icon",void 0),Re([Pt({reflect:!0})],e.Dialog.prototype,"headline",void 0),Re([Pt({reflect:!0})],e.Dialog.prototype,"description",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.Dialog.prototype,"open",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.Dialog.prototype,"fullscreen",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi,attribute:"close-on-esc"})],e.Dialog.prototype,"closeOnEsc",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi,attribute:"close-on-overlay-click"})],e.Dialog.prototype,"closeOnOverlayClick",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi,attribute:"stacked-actions"})],e.Dialog.prototype,"stackedActions",void 0),Re([Lt({slot:"header",selector:"mdui-top-app-bar",flatten:!0})],e.Dialog.prototype,"topAppBarElements",void 0),Re([fi("open")],e.Dialog.prototype,"onOpenChange",null),e.Dialog=Re([Et("mdui-dialog")],e.Dialog);const Co=Pe`:host{display:block;height:.0625rem;background-color:rgb(var(--mdui-color-surface-variant))}:host([inset]){margin-left:1rem}:host([middle]){margin-left:1rem;margin-right:1rem}:host([vertical]){height:100%;width:.0625rem}`;e.Divider=class extends St{constructor(){super(...arguments),this.vertical=!1,this.inset=!1,this.middle=!1}render(){return ct``}},e.Divider.styles=[Wt,Co],Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.Divider.prototype,"vertical",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.Divider.prototype,"inset",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.Divider.prototype,"middle",void 0),e.Divider=Re([Et("mdui-divider")],e.Divider);const xo=Pe`:host{--z-index:2100;display:contents}.panel{display:block;position:fixed;z-index:var(--z-index)}`;e.Dropdown=class extends St{constructor(){super(),this.open=!1,this.disabled=!1,this.trigger="click",this.placement="auto",this.stayOpenOnClick=!1,this.openDelay=150,this.closeDelay=150,this.openOnPointer=!1,this.panelRef=Ei(),this.onDocumentClick=this.onDocumentClick.bind(this),this.onDocumentKeydown=this.onDocumentKeydown.bind(this),this.onWindowScroll=this.onWindowScroll.bind(this),this.onMouseLeave=this.onMouseLeave.bind(this),this.onFocus=this.onFocus.bind(this),this.onClick=this.onClick.bind(this),this.onContextMenu=this.onContextMenu.bind(this),this.onMouseEnter=this.onMouseEnter.bind(this),this.onPanelClick=this.onPanelClick.bind(this)}get triggerSlot(){return this.triggerSlots[0]}get panelSlot(){return this.panelSlots[0]}async onPositionChange(){this.open&&this.updatePositioner()}async onOpenChange(){var e,t,i,o;const r=this.hasUpdated,n=vo(this,"linear"),s=vo(this,"emphasized-decelerate"),a=vo(this,"emphasized-accelerate");if(this.open){if(r||await this.updateComplete,r){if(vi(this,"open",{cancelable:!0}).defaultPrevented)return}"function"==typeof(null===(e=this.panelSlot)||void 0===e?void 0:e.focus)&&this.panelSlot.focus();const t=fo(this,"medium4");return await ho(this.panelRef.value),this.panelRef.value.hidden=!1,this.updatePositioner(),await Promise.all([co(this.panelRef.value,[{transform:`${this.getCssScaleName()}(0.45)`},{transform:`${this.getCssScaleName()}(1)`}],{duration:r?t:0,easing:s}),co(this.panelRef.value,[{opacity:0},{opacity:1,offset:.125},{opacity:1}],{duration:r?t:0,easing:n})]),void(r&&vi(this,"opened"))}if(!this.open&&r){if(vi(this,"close",{cancelable:!0}).defaultPrevented)return;this.hasTrigger("focus")||"function"!=typeof(null===(t=this.triggerSlot)||void 0===t?void 0:t.focus)||!this.contains(document.activeElement)&&!this.contains(null!==(o=null===(i=document.activeElement)||void 0===i?void 0:i.assignedSlot)&&void 0!==o?o:null)||this.triggerSlot.focus();const e=fo(this,"short4");await ho(this.panelRef.value),await Promise.all([co(this.panelRef.value,[{transform:`${this.getCssScaleName()}(1)`},{transform:`${this.getCssScaleName()}(0.45)`}],{duration:e,easing:a}),co(this.panelRef.value,[{opacity:1},{opacity:1,offset:.875},{opacity:0}],{duration:e,easing:n})]),this.panelRef.value&&(this.panelRef.value.hidden=!0),vi(this,"closed")}}connectedCallback(){super.connectedCallback(),document.addEventListener("pointerdown",this.onDocumentClick),document.addEventListener("keydown",this.onDocumentKeydown),window.addEventListener("scroll",this.onWindowScroll),this.updateComplete.then((()=>{this.observeResize=Ci(this.triggerSlot,(()=>{this.updatePositioner()}))}))}disconnectedCallback(){var e;super.disconnectedCallback(),document.removeEventListener("pointerdown",this.onDocumentClick),document.removeEventListener("keydown",this.onDocumentKeydown),window.removeEventListener("scroll",this.onWindowScroll),null===(e=this.observeResize)||void 0===e||e.unobserve()}firstUpdated(e){super.firstUpdated(e),this.addEventListener("mouseleave",this.onMouseLeave),this.triggerSlot.addEventListener("focus",this.onFocus),this.triggerSlot.addEventListener("click",this.onClick),this.triggerSlot.addEventListener("contextmenu",this.onContextMenu),this.triggerSlot.addEventListener("mouseenter",this.onMouseEnter),P(this.panelRef.value).on("click",this.onPanelClick)}render(){return ct``}getCssScaleName(){return"horizontal"===this.animateDirection?"scaleX":"scaleY"}onDocumentClick(e){if(this.disabled||!this.open)return;const t=e.composedPath();t.includes(this)||(this.open=!1),this.hasTrigger("contextmenu")&&!this.hasTrigger("click")&&t.includes(this.triggerSlot)&&(this.open=!1)}onDocumentKeydown(e){var t;!this.disabled&&this.open&&("Escape"!==e.key?"Tab"===e.key&&(this.hasTrigger("focus")||"function"!=typeof(null===(t=this.triggerSlot)||void 0===t?void 0:t.focus)||e.preventDefault(),this.open=!1):this.open=!1)}onWindowScroll(){window.requestAnimationFrame((()=>this.onPositionChange()))}hasTrigger(e){return this.trigger.split(" ").includes(e)}onFocus(){this.disabled||this.open||!this.hasTrigger("focus")||(this.open=!0)}onClick(e){this.disabled||e.button||!this.hasTrigger("click")||this.open&&(this.hasTrigger("hover")||this.hasTrigger("focus"))||(this.pointerOffsetX=e.offsetX,this.pointerOffsetY=e.offsetY,this.open=!this.open)}onPanelClick(e){const t=e;this.disabled||this.stayOpenOnClick||!P(t.target).is("mdui-menu-item")||(this.open=!1)}onContextMenu(e){!this.disabled&&this.hasTrigger("contextmenu")&&(e.preventDefault(),this.pointerOffsetX=e.offsetX,this.pointerOffsetY=e.offsetY,this.open=!0)}onMouseEnter(){!this.disabled&&this.hasTrigger("hover")&&(window.clearTimeout(this.closeTimeout),this.openDelay?this.openTimeout=window.setTimeout((()=>{this.open=!0}),this.openDelay):this.open=!0)}onMouseLeave(){!this.disabled&&this.hasTrigger("hover")&&(window.clearTimeout(this.openTimeout),this.closeTimeout=window.setTimeout((()=>{this.open=!1}),this.closeDelay||50))}updatePositioner(){var e;const t=P(this.panelRef.value),i=P(window),o=this.panelSlots,r=Math.max(...null!==(e=null==o?void 0:o.map((e=>e.offsetWidth)))&&void 0!==e?e:[]),n=null==o?void 0:o.map((e=>e.offsetHeight)).reduce(((e,t)=>e+t)),s=this.triggerSlot.getBoundingClientRect(),a=this.openOnPointer?{top:this.pointerOffsetY+s.top,left:this.pointerOffsetX+s.left,width:0,height:0}:s;let l,c,d,h,u=this.placement;if("auto"===u){const e=i.width(),t=i.height();let o,s;o=t-a.top-a.height>n+8?"bottom":a.top>n+8?"top":e-a.left-a.width>r+8?"right":a.left>r+8?"left":"bottom",s=["top","bottom"].includes(o)?e-a.left>r+8?"start":a.left+a.width/2>r/2+8&&e-a.left-a.width/2>r/2+8?void 0:a.left+a.width>r+8?"end":"start":t-a.top>n+8?"start":a.top+a.height/2>n/2+8&&t-a.top-a.height/2>n/2+8?void 0:a.top+a.height>n+8?"end":"start",u=s?[o,s].join("-"):o}const[p,m]=u.split("-");switch(this.animateDirection=["top","bottom"].includes(p)?"vertical":"horizontal",p){case"top":c="bottom",d=a.top-n;break;case"bottom":c="top",d=a.top+a.height;break;default:switch(c="center",m){case"start":d=a.top;break;case"end":d=a.top+a.height-n;break;default:d=a.top+a.height/2-n/2}}switch(p){case"left":l="right",h=a.left-r;break;case"right":l="left",h=a.left+a.width;break;default:switch(l="center",m){case"start":h=a.left;break;case"end":h=a.left+a.width-r;break;default:h=a.left+a.width/2-r/2}}t.css({top:d,left:h,transformOrigin:[l,c].join(" ")})}},e.Dropdown.styles=[Wt,xo],Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.Dropdown.prototype,"open",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.Dropdown.prototype,"disabled",void 0),Re([Pt({reflect:!0})],e.Dropdown.prototype,"trigger",void 0),Re([Pt({reflect:!0})],e.Dropdown.prototype,"placement",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi,attribute:"stay-open-on-click"})],e.Dropdown.prototype,"stayOpenOnClick",void 0),Re([Pt({type:Number,reflect:!0,attribute:"open-delay"})],e.Dropdown.prototype,"openDelay",void 0),Re([Pt({type:Number,reflect:!0,attribute:"close-delay"})],e.Dropdown.prototype,"closeDelay",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi,attribute:"open-on-pointer"})],e.Dropdown.prototype,"openOnPointer",void 0),Re([Lt({slot:"trigger",flatten:!0})],e.Dropdown.prototype,"triggerSlots",void 0),Re([Lt({flatten:!0})],e.Dropdown.prototype,"panelSlots",void 0),Re([fi("placement",!0),fi("openOnPointer",!0)],e.Dropdown.prototype,"onPositionChange",null),Re([fi("open")],e.Dropdown.prototype,"onOpenChange",null),e.Dropdown=Re([Et("mdui-dropdown")],e.Dropdown);const $o=(e=0)=>new Promise((t=>setTimeout(t,e))),Ro=Pe`:host{--shape-corner-small:var(--mdui-shape-corner-small);--shape-corner-normal:var(--mdui-shape-corner-large);--shape-corner-large:var(--mdui-shape-corner-extra-large);position:relative;display:inline-block;overflow:hidden;text-align:center;border-radius:var(--shape-corner-normal);cursor:pointer;-webkit-tap-highlight-color:transparent;transition-property:box-shadow;transition-timing-function:var(--mdui-motion-easing-emphasized);transition-duration:var(--mdui-motion-duration-medium4);width:3.5rem;height:3.5rem;box-shadow:var(--mdui-elevation-level3);font-size:var(--mdui-typescale-label-large-size);font-weight:var(--mdui-typescale-label-large-weight);letter-spacing:var(--mdui-typescale-label-large-tracking);line-height:var(--mdui-typescale-label-large-line-height)}.button{padding:0 1rem}:host([size=small]) .button{padding:0 .5rem}:host([size=large]) .button{padding:0 1.875rem}:host([lowered]){box-shadow:var(--mdui-elevation-level1)}:host([focus-visible]){box-shadow:var(--mdui-elevation-level3)}:host([lowered][focus-visible]){box-shadow:var(--mdui-elevation-level1)}:host([pressed]){box-shadow:var(--mdui-elevation-level3)}:host([lowered][pressed]){box-shadow:var(--mdui-elevation-level1)}:host([hover]){box-shadow:var(--mdui-elevation-level4)}:host([lowered][hover]){box-shadow:var(--mdui-elevation-level2)}:host([variant=primary]){color:rgb(var(--mdui-color-on-primary-container));background-color:rgb(var(--mdui-color-primary-container));--mdui-comp-ripple-state-layer-color:var( + --mdui-color-on-primary-container + )}:host([variant=surface]){color:rgb(var(--mdui-color-primary));background-color:rgb(var(--mdui-color-surface-container-high));--mdui-comp-ripple-state-layer-color:var(--mdui-color-primary)}:host([variant=surface][lowered]){background-color:rgb(var(--mdui-color-surface-container-low))}:host([variant=secondary]){color:rgb(var(--mdui-color-on-secondary-container));background-color:rgb(var(--mdui-color-secondary-container));--mdui-comp-ripple-state-layer-color:var( + --mdui-color-on-secondary-container + )}:host([variant=tertiary]){color:rgb(var(--mdui-color-on-tertiary-container));background-color:rgb(var(--mdui-color-tertiary-container));--mdui-comp-ripple-state-layer-color:var( + --mdui-color-on-tertiary-container + )}:host([size=small]){border-radius:var(--shape-corner-small);width:2.5rem;height:2.5rem}:host([size=large]){border-radius:var(--shape-corner-large);width:6rem;height:6rem}:host([disabled]),:host([loading]){cursor:default;pointer-events:none}:host([disabled]){color:rgba(var(--mdui-color-on-surface),38%);background-color:rgba(var(--mdui-color-on-surface),12%);box-shadow:var(--mdui-elevation-level0)}:host([extended]){width:auto}.label{display:inline-flex;transition:opacity var(--mdui-motion-duration-short2) var(--mdui-motion-easing-linear) var(--mdui-motion-duration-short2);padding-left:.25rem;padding-right:.25rem}.has-icon .label{margin-left:.5rem}:host([size=small]) .has-icon .label{margin-left:.25rem}:host([size=large]) .has-icon .label{margin-left:1rem}:host(:not([extended])) .label{opacity:0;transition-delay:0s;transition-duration:var(--mdui-motion-duration-short1)}:host([size=large]) .label{font-size:1.5em}.icon{display:inline-flex;font-size:1.71428571em}:host([size=large]) .icon{font-size:2.57142857em}.icon mdui-icon,::slotted([slot=icon]){font-size:inherit}mdui-circular-progress{display:inline-flex;width:1.5rem;height:1.5rem}:host([size=large]) mdui-circular-progress{width:2.25rem;height:2.25rem}:host([disabled]) mdui-circular-progress{stroke:rgba(var(--mdui-color-on-surface),38%)}`;e.Fab=class extends qi{constructor(){super(...arguments),this.variant="primary",this.size="normal",this.extended=!1,this.rippleRef=Ei(),this.hasSlotController=new jt(this,"icon")}get rippleElement(){return this.rippleRef.value}async onExtendedChange(){const e=this.hasUpdated;this.extended?this.style.width=`${this.scrollWidth}px`:this.style.width="",await this.updateComplete,this.extended&&!e&&(await $o(),this.style.width=`${this.scrollWidth}px`),e||(await $o(),this.style.transitionProperty="box-shadow, width, bottom, transform")}render(){const e=Mi({button:!0,"has-icon":this.icon||this.hasSlotController.test("icon")});return ct`${this.isButton()?this.renderButton({className:e,part:"button",content:this.renderInner()}):this.disabled||this.loading?ct`${this.renderInner()}`:this.renderAnchor({className:e,part:"button",content:this.renderInner()})}`}renderLabel(){return ct``}renderIcon(){return this.loading?this.renderLoading():ct`${this.icon?ct``:Gt}`}renderInner(){return[this.renderIcon(),this.renderLabel()]}},e.Fab.styles=[qi.styles,Ro],Re([Pt({reflect:!0})],e.Fab.prototype,"variant",void 0),Re([Pt({reflect:!0})],e.Fab.prototype,"size",void 0),Re([Pt({reflect:!0})],e.Fab.prototype,"icon",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.Fab.prototype,"extended",void 0),Re([fi("extended")],e.Fab.prototype,"onExtendedChange",null),e.Fab=Re([Et("mdui-fab")],e.Fab);const So=Pe`:host{position:relative;display:flex;flex:1 1 auto;overflow:hidden}:host([full-height]){height:100%}`;e.Layout=class extends St{constructor(){super(...arguments),this.fullHeight=!1}render(){return ct``}},e.Layout.styles=[Wt,So],Re([Pt({type:Boolean,reflect:!0,converter:mi,attribute:"full-height"})],e.Layout.prototype,"fullHeight",void 0),e.Layout=Re([Et("mdui-layout")],e.Layout);const To=Pe`:host{display:flex;z-index:1}`;e.LayoutItem=class extends Si{constructor(){super(...arguments),this.placement="top"}get layoutPlacement(){return this.placement}onPlacementChange(){var e;null===(e=this.layoutManager)||void 0===e||e.updateLayout(this)}render(){return ct``}},e.LayoutItem.styles=[Wt,To],Re([Pt({reflect:!0})],e.LayoutItem.prototype,"placement",void 0),Re([fi("placement",!0)],e.LayoutItem.prototype,"onPlacementChange",null),e.LayoutItem=Re([Et("mdui-layout-item")],e.LayoutItem);const Eo=Pe`:host{flex:1 0 auto;max-width:100%;overflow:auto}`;e.LayoutMain=class extends St{connectedCallback(){super.connectedCallback();const e=this.parentElement;a(e,"mdui-layout")&&(this.layoutManager=Ri(e),this.layoutManager.registerMain(this))}disconnectedCallback(){super.disconnectedCallback(),this.layoutManager&&this.layoutManager.unregisterMain()}render(){return ct``}},e.LayoutMain.styles=[Wt,Eo],e.LayoutMain=Re([Et("mdui-layout-main")],e.LayoutMain);const Io=Pe`:host{--shape-corner:var(--mdui-shape-corner-none);position:relative;display:inline-block;width:100%;overflow:hidden;border-radius:var(--shape-corner);background-color:rgb(var(--mdui-color-surface-container-highest));height:.25rem}.determinate,.indeterminate{background-color:rgb(var(--mdui-color-primary))}.determinate{height:100%;transition:width var(--mdui-motion-duration-long2) var(--mdui-motion-easing-standard)}.indeterminate::before{position:absolute;top:0;bottom:0;left:0;background-color:inherit;animation:mdui-comp-progress-indeterminate 2s var(--mdui-motion-easing-linear) infinite;content:' '}.indeterminate::after{position:absolute;top:0;bottom:0;left:0;background-color:inherit;animation:mdui-comp-progress-indeterminate-short 2s var(--mdui-motion-easing-linear) infinite;content:' '}@keyframes mdui-comp-progress-indeterminate{0%{left:0;width:0}50%{left:30%;width:70%}75%{left:100%;width:0}}@keyframes mdui-comp-progress-indeterminate-short{0%{left:0;width:0}50%{left:0;width:0}75%{left:0;width:25%}100%{left:100%;width:0}}`;e.LinearProgress=class extends St{constructor(){super(...arguments),this.max=1}render(){var e;if(!u(this.value)){const t=this.value;return ct`
`}return ct`
`}},e.LinearProgress.styles=[Wt,Io],Re([Pt({type:Number,reflect:!0})],e.LinearProgress.prototype,"max",void 0),Re([Pt({type:Number})],e.LinearProgress.prototype,"value",void 0),e.LinearProgress=Re([Et("mdui-linear-progress")],e.LinearProgress);const Ao=Pe`:host{--shape-corner:var(--mdui-shape-corner-none);--shape-corner-rounded:var(--mdui-shape-corner-extra-large);position:relative;display:block;border-radius:var(--shape-corner);--mdui-comp-ripple-state-layer-color:var(--mdui-color-on-surface)}:host([rounded]),:host([rounded]) mdui-ripple{border-radius:var(--shape-corner-rounded)}:host([active]){background-color:rgb(var(--mdui-color-secondary-container));--mdui-comp-ripple-state-layer-color:var( + --mdui-color-on-secondary-container + )}:host([disabled]){pointer-events:none}.container{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}:host([disabled]) .container{cursor:default;opacity:.38}:host([nonclickable]:not([href])) .container{cursor:auto;-webkit-user-select:auto;user-select:auto}.preset{display:flex;align-items:center;text-decoration:none;padding:.5rem 1.5rem .5rem 1rem;min-height:3.5rem}:host([alignment=start]) .preset{align-items:flex-start}:host([alignment=end]) .preset{align-items:flex-end}.body{display:flex;flex:1 1 100%;flex-direction:column;justify-content:center;min-width:0}.headline{display:block;color:rgb(var(--mdui-color-on-surface));font-size:var(--mdui-typescale-body-large-size);font-weight:var(--mdui-typescale-body-large-weight);letter-spacing:var(--mdui-typescale-body-large-tracking);line-height:var(--mdui-typescale-body-large-line-height)}:host([active]) .headline{color:rgb(var(--mdui-color-on-secondary-container))}.description{display:none;color:rgb(var(--mdui-color-on-surface-variant));font-size:var(--mdui-typescale-body-medium-size);font-weight:var(--mdui-typescale-body-medium-weight);letter-spacing:var(--mdui-typescale-body-medium-tracking);line-height:var(--mdui-typescale-body-medium-line-height)}:host([disabled]) .description,:host([focused]) .description,:host([hover]) .description,:host([pressed]) .description{color:rgb(var(--mdui-color-on-surface))}.has-description .description{display:block}:host([description-line='1']) .description,:host([headline-line='1']) .headline{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:host([description-line='2']) .description,:host([description-line='3']) .description,:host([headline-line='2']) .headline,:host([headline-line='3']) .headline{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-box-orient:vertical}:host([description-line='2']) .description,:host([headline-line='2']) .headline{-webkit-line-clamp:2}:host([description-line='3']) .description,:host([headline-line='3']) .headline{-webkit-line-clamp:3}.end-icon,.icon{display:flex;flex:0 0 auto;font-size:var(--mdui-typescale-label-small-size);font-weight:var(--mdui-typescale-label-small-weight);letter-spacing:var(--mdui-typescale-label-small-tracking);line-height:var(--mdui-typescale-label-small-line-height);color:rgb(var(--mdui-color-on-surface-variant))}:host([disabled]) .end-icon,:host([disabled]) .icon,:host([focused]) .end-icon,:host([focused]) .icon,:host([hover]) .end-icon,:host([hover]) .icon,:host([pressed]) .end-icon,:host([pressed]) .icon{color:rgb(var(--mdui-color-on-surface))}:host([active]) .end-icon,:host([active]) .icon{color:rgb(var(--mdui-color-on-secondary-container))}.end-icon mdui-icon,.icon mdui-icon,.is-end-icon ::slotted([slot=end-icon]),.is-icon ::slotted([slot=icon]){font-size:1.5rem}.has-icon .icon{margin-right:1rem}.has-icon ::slotted(mdui-checkbox[slot=icon]),.has-icon ::slotted(mdui-radio[slot=icon]){margin-left:-.5rem}.has-end-icon .end-icon{margin-left:1rem}.has-end-icon ::slotted(mdui-checkbox[slot=end-icon]),.has-end-icon ::slotted(mdui-radio[slot=end-icon]){margin-right:-.5rem}`;e.ListItem=class extends(_i(Ki(Fi(St)))){constructor(){super(...arguments),this.disabled=!1,this.active=!1,this.nonclickable=!1,this.rounded=!1,this.alignment="center",this.rippleRef=Ei(),this.itemRef=Ei(),this.hasSlotController=new jt(this,"[default]","description","icon","end-icon","custom")}get rippleElement(){return this.rippleRef.value}get rippleDisabled(){return this.focusDisabled}get focusElement(){return this.href?this.itemRef.value:this}get focusDisabled(){return this.href?this.disabled:this.disabled||this.nonclickable}render(){const e=Mi({container:!0,preset:!this.hasSlotController.test("custom"),"has-icon":this.icon||this.hasSlotController.test("icon"),"has-end-icon":this.endIcon||this.hasSlotController.test("end-icon"),"has-description":this.description||this.hasSlotController.test("description"),"is-icon":a(this.iconElements[0],"mdui-icon"),"is-end-icon":(t=this.endIconElements[0],null!==(i=null==t?void 0:t.nodeName.toLowerCase())&&void 0!==i?i:"").startsWith("mdui-icon-")});var t,i;return ct`${this.href&&!this.disabled?this.renderAnchor({className:e,content:this.renderInner(),part:"container",refDirective:Pi(this.itemRef)}):ct`
${this.renderInner()}
`}`}renderInner(){const e=this.hasSlotController.test("[default]");return ct`${this.icon?ct``:Gt}
${e?ct``:ct`
${this.headline}
`}${this.description}
${this.endIcon?ct``:Gt}
`}},e.ListItem.styles=[Wt,Ao],Re([Pt({reflect:!0})],e.ListItem.prototype,"headline",void 0),Re([Pt({type:Number,reflect:!0,attribute:"headline-line"})],e.ListItem.prototype,"headlineLine",void 0),Re([Pt({reflect:!0})],e.ListItem.prototype,"description",void 0),Re([Pt({type:Number,reflect:!0,attribute:"description-line"})],e.ListItem.prototype,"descriptionLine",void 0),Re([Pt({reflect:!0})],e.ListItem.prototype,"icon",void 0),Re([Pt({reflect:!0,attribute:"end-icon"})],e.ListItem.prototype,"endIcon",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.ListItem.prototype,"disabled",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.ListItem.prototype,"active",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.ListItem.prototype,"nonclickable",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.ListItem.prototype,"rounded",void 0),Re([Pt({reflect:!0})],e.ListItem.prototype,"alignment",void 0),Re([Lt({slot:"icon",flatten:!0})],e.ListItem.prototype,"iconElements",void 0),Re([Lt({slot:"end-icon",flatten:!0})],e.ListItem.prototype,"endIconElements",void 0),e.ListItem=Re([Et("mdui-list-item")],e.ListItem);const Po=Pe`:host{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;cursor:default;color:rgb(var(--mdui-color-on-surface-variant));font-size:var(--mdui-typescale-label-small-size);font-weight:var(--mdui-typescale-label-small-weight);letter-spacing:var(--mdui-typescale-label-small-tracking);line-height:var(--mdui-typescale-label-small-line-height);padding-left:1rem;padding-right:1.5rem;height:3.5rem;line-height:3.5rem}`;e.ListSubheader=class extends St{render(){return ct``}},e.ListSubheader.styles=[Wt,Po],e.ListSubheader=Re([Et("mdui-list-subheader")],e.ListSubheader);const Mo=Pe`:host{display:block;padding:.5rem 0}::slotted(mdui-divider[middle]){margin-left:1rem;margin-right:1.5rem}`;e.List=class extends St{render(){return ct``}},e.List.styles=[Wt,Mo],e.List=Re([Et("mdui-list")],e.List);let Do=class extends St{render(){return Zi('')}};Do.styles=Ji,Do=Re([Et("mdui-icon-arrow-right")],Do);const Bo=Pe`:host{position:relative;display:block}:host([selected]){background-color:rgba(var(--mdui-color-primary),12%)}:host([disabled]){pointer-events:none}.container{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}:host([disabled]) .container{cursor:default;opacity:.38}.preset{display:flex;align-items:center;text-decoration:none;height:3rem;padding:0 .75rem}.preset.dense{height:2rem}.label-container{flex:1 1 100%;min-width:0}.label{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:rgb(var(--mdui-color-on-surface));font-size:var(--mdui-typescale-label-large-size);font-weight:var(--mdui-typescale-label-large-weight);letter-spacing:var(--mdui-typescale-label-large-tracking)}.end-icon,.end-text,.icon,.selected-icon{display:none;flex:0 0 auto;color:rgb(var(--mdui-color-on-surface-variant))}.has-end-icon .end-icon,.has-end-text .end-text,.has-icon .icon,.has-icon .selected-icon{display:flex}.end-icon,.icon,.selected-icon{font-size:1.5rem}.end-icon::slotted(mdui-avatar),.icon::slotted(mdui-avatar),.selected-icon::slotted(mdui-avatar){width:1.5rem;height:1.5rem}.dense .end-icon,.dense .icon,.dense .selected-icon{font-size:1.125rem}.dense .end-icon::slotted(mdui-avatar),.dense .icon::slotted(mdui-avatar),.dense .selected-icon::slotted(mdui-avatar){width:1.125rem;height:1.125rem}.end-icon .i,.icon .i,.selected-icon .i,::slotted([slot=end-icon]),::slotted([slot=icon]),::slotted([slot=selected-icon]){font-size:inherit}.end-text{font-size:var(--mdui-typescale-label-large-size);font-weight:var(--mdui-typescale-label-large-weight);letter-spacing:var(--mdui-typescale-label-large-tracking);line-height:var(--mdui-typescale-label-large-line-height)}.icon,.selected-icon{margin-right:.75rem}.end-icon,.end-text{margin-left:.75rem}.arrow-right{color:rgb(var(--mdui-color-on-surface))}.submenu{--shape-corner:var(--mdui-shape-corner-extra-small);display:block;position:absolute;z-index:1;border-radius:var(--shape-corner);background-color:rgb(var(--mdui-color-surface-container));box-shadow:var(--mdui-elevation-level2);min-width:7rem;max-width:17.5rem;padding-top:.5rem;padding-bottom:.5rem;--mdui-comp-ripple-state-layer-color:var(--mdui-color-on-surface)}.submenu::slotted(mdui-divider){margin-top:.5rem;margin-bottom:.5rem}`;e.MenuItem=class extends(_i(Ki(Fi(St)))){constructor(){super(),this.disabled=!1,this.submenuOpen=!1,this.selected=!1,this.dense=!1,this.focusable=!1,this.key=yi(),this.rippleRef=Ei(),this.containerRef=Ei(),this.submenuRef=Ei(),this.hasSlotController=new jt(this,"[default]","icon","end-icon","end-text","submenu","custom"),this.onOuterClick=this.onOuterClick.bind(this),this.onFocus=this.onFocus.bind(this),this.onBlur=this.onBlur.bind(this),this.onClick=this.onClick.bind(this),this.onKeydown=this.onKeydown.bind(this),this.onMouseEnter=this.onMouseEnter.bind(this),this.onMouseLeave=this.onMouseLeave.bind(this)}get focusDisabled(){return this.disabled||!this.focusable}get focusElement(){return this.href?this.containerRef.value:this}get rippleDisabled(){return this.disabled}get rippleElement(){return this.rippleRef.value}get hasSubmenu(){return this.hasSlotController.test("submenu")}async onOpenChange(){const e=this.hasUpdated,t=vo(this,"linear"),i=vo(this,"emphasized-decelerate"),o=vo(this,"emphasized-accelerate");if(this.submenuOpen){if(e||await this.updateComplete,e){if(vi(this,"submenu-open",{cancelable:!0}).defaultPrevented)return}const o=fo(this,"medium4");return await ho(this.submenuRef.value),this.submenuRef.value.hidden=!1,this.updateSubmenuPositioner(),await Promise.all([co(this.submenuRef.value,[{transform:"scaleY(0.45)"},{transform:"scaleY(1)"}],{duration:e?o:0,easing:i}),co(this.submenuRef.value,[{opacity:0},{opacity:1,offset:.125},{opacity:1}],{duration:e?o:0,easing:t})]),void(e&&vi(this,"submenu-opened"))}if(!this.submenuOpen&&e){if(vi(this,"submenu-close",{cancelable:!0}).defaultPrevented)return;const e=fo(this,"short4");await ho(this.submenuRef.value),await Promise.all([co(this.submenuRef.value,[{transform:"scaleY(1)"},{transform:"scaleY(0.45)"}],{duration:e,easing:o}),co(this.submenuRef.value,[{opacity:1},{opacity:1,offset:.875},{opacity:0}],{duration:e,easing:t})]),this.submenuRef.value.hidden=!0,vi(this,"submenu-closed")}}connectedCallback(){super.connectedCallback(),document.addEventListener("pointerdown",this.onOuterClick)}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("pointerdown",this.onOuterClick)}firstUpdated(e){super.firstUpdated(e),this.addEventListener("focus",this.onFocus),this.addEventListener("blur",this.onBlur),this.addEventListener("click",this.onClick),this.addEventListener("keydown",this.onKeydown),this.addEventListener("mouseenter",this.onMouseEnter),this.addEventListener("mouseleave",this.onMouseLeave)}render(){const e=this.hasSubmenu,t=this.hasSlotController.test("custom"),i=this.hasSlotController.test("end-icon"),o=!this.endIcon&&e&&!i,r=this.endIcon||e||i,n=!u(this.icon)||"single"===this.selects||"multiple"===this.selects||this.hasSlotController.test("icon"),s=!!this.endText||this.hasSlotController.test("end-text"),a=Mi({container:!0,dense:this.dense,preset:!t,"has-icon":n,"has-end-text":s,"has-end-icon":r});return ct`${this.href&&!this.disabled?this.renderAnchor({part:"container",className:a,content:this.renderInner(o,n),refDirective:Pi(this.containerRef)}):ct`
${this.renderInner(o,n)}
`} ${lo(e,(()=>ct``))}`}onOuterClick(e){this.disabled||!this.submenuOpen||this===e.target||P.contains(this,e.target)||(this.submenuOpen=!1)}hasTrigger(e){return!!this.submenuTrigger&&this.submenuTrigger.split(" ").includes(e)}onFocus(){!this.disabled&&!this.submenuOpen&&this.hasTrigger("focus")&&this.hasSubmenu&&(this.submenuOpen=!0)}onBlur(){!this.disabled&&this.submenuOpen&&this.hasTrigger("focus")&&this.hasSubmenu&&(this.submenuOpen=!1)}onClick(e){this.disabled||e.button||this.hasTrigger("click")&&e.target===this&&this.hasSubmenu&&(this.submenuOpen&&(this.hasTrigger("hover")||this.hasTrigger("focus"))||(this.submenuOpen=!this.submenuOpen))}onKeydown(e){!this.disabled&&this.hasSubmenu&&(this.submenuOpen||"Enter"!==e.key||(e.stopPropagation(),this.submenuOpen=!0),this.submenuOpen&&"Escape"===e.key&&(e.stopPropagation(),this.submenuOpen=!1))}onMouseEnter(){!this.disabled&&this.hasTrigger("hover")&&this.hasSubmenu&&(window.clearTimeout(this.submenuCloseTimeout),this.submenuOpenDelay?this.submenuOpenTimeout=window.setTimeout((()=>{this.submenuOpen=!0}),this.submenuOpenDelay):this.submenuOpen=!0)}onMouseLeave(){!this.disabled&&this.hasTrigger("hover")&&this.hasSubmenu&&(window.clearTimeout(this.submenuOpenTimeout),this.submenuCloseTimeout=window.setTimeout((()=>{this.submenuOpen=!1}),this.submenuCloseDelay||50))}updateSubmenuPositioner(){const e=P(window),t=P(this.submenuRef.value),i=this.getBoundingClientRect(),o=t.innerWidth(),r=t.innerHeight();let n="bottom",s="right";e.height()-i.top>r+8?n="bottom":i.top+i.height>r+8&&(n="top"),e.width()-i.left-i.width>o+8?s="right":i.left>o+8&&(s="left"),P(this.submenuRef.value).css({top:"bottom"===n?0:i.height-r,left:"right"===s?i.width:-o,transformOrigin:["right"===s?0:"100%","bottom"===n?0:"100%"].join(" ")})}renderInner(e,t){return ct`${this.selected?ct`${this.selectedIcon?ct``:ct``}`:ct`${t?ct``:Gt}`}
${this.endText}${e?ct``:ct`${this.endIcon?ct``:Gt}`}
`}},e.MenuItem.styles=[Wt,Bo],Re([Pt({reflect:!0})],e.MenuItem.prototype,"value",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.MenuItem.prototype,"disabled",void 0),Re([Pt({reflect:!0})],e.MenuItem.prototype,"icon",void 0),Re([Pt({reflect:!0,attribute:"end-icon"})],e.MenuItem.prototype,"endIcon",void 0),Re([Pt({reflect:!0,attribute:"end-text"})],e.MenuItem.prototype,"endText",void 0),Re([Pt({reflect:!0,attribute:"selected-icon"})],e.MenuItem.prototype,"selectedIcon",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi,attribute:"submenu-open"})],e.MenuItem.prototype,"submenuOpen",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.MenuItem.prototype,"selected",void 0),Re([Mt()],e.MenuItem.prototype,"dense",void 0),Re([Mt()],e.MenuItem.prototype,"selects",void 0),Re([Mt()],e.MenuItem.prototype,"submenuTrigger",void 0),Re([Mt()],e.MenuItem.prototype,"submenuOpenDelay",void 0),Re([Mt()],e.MenuItem.prototype,"submenuCloseDelay",void 0),Re([Mt()],e.MenuItem.prototype,"focusable",void 0),Re([fi("submenuOpen")],e.MenuItem.prototype,"onOpenChange",null),e.MenuItem=Re([Et("mdui-menu-item")],e.MenuItem);const Lo=Pe`:host{--shape-corner:var(--mdui-shape-corner-extra-small);position:relative;display:block;border-radius:var(--shape-corner);background-color:rgb(var(--mdui-color-surface-container));box-shadow:var(--mdui-elevation-level2);min-width:7rem;max-width:17.5rem;padding-top:.5rem;padding-bottom:.5rem;--mdui-comp-ripple-state-layer-color:var(--mdui-color-on-surface)}::slotted(mdui-divider){margin-top:.5rem;margin-bottom:.5rem}`;e.Menu=class extends St{constructor(){super(...arguments),this.dense=!1,this.submenuTrigger="click hover",this.submenuOpenDelay=200,this.submenuCloseDelay=200,this.selectedKeys=[],this.hasSetDefaultValue=!1,this.lastActiveItems=[]}get items(){return P(this.childrenItems).find("mdui-menu-item").add(this.childrenItems).get()}get itemsEnabled(){return this.items.filter((e=>!e.disabled))}get isSingle(){return"single"===this.selects}get isMultiple(){return"multiple"===this.selects}get isSelectable(){return this.isSingle||this.isMultiple}get isSubmenu(){return!P(this).parent().length}get lastActiveItem(){const e=this.lastActiveItems.length?this.lastActiveItems.length-1:0;return this.lastActiveItems[e]}set lastActiveItem(e){const t=this.lastActiveItems.length?this.lastActiveItems.length-1:0;this.lastActiveItems[t]=e}onSlotChange(){this.items.forEach((e=>{e.dense=this.dense,e.selects=this.selects,e.submenuTrigger=this.submenuTrigger,e.submenuOpenDelay=this.submenuOpenDelay,e.submenuCloseDelay=this.submenuCloseDelay}))}onSelectsChange(){!this.isSelectable&&this.selectedKeys.length&&(this.selectedKeys=[],this.onSelectedKeysChange(),this.onValueChange()),this.isSingle&&this.selectedKeys.length>1&&(this.selectedKeys=this.selectedKeys.slice(0,1),this.onSelectedKeysChange(),this.onValueChange())}onSelectedKeysChange(e){const t=this.itemsEnabled.filter((e=>this.selectedKeys.includes(e.key))).map((e=>e.value));this.isMultiple&&e&&e.length===this.selectedKeys.length&&e.every(((e,t)=>e===this.selectedKeys[t]))?this.hasSetDefaultValue=!0:(this.value=this.isMultiple?t:t[0]||void 0,this.hasSetDefaultValue?vi(this,"change"):this.hasSetDefaultValue=!0)}async onValueChange(){if(this.hasUpdated||await this.updateComplete,!this.isSelectable)return void this.updateSelected();const e=(this.isSingle||c(this.value)?[this.value]:this.value).filter((e=>e));if(e.length)if(this.isSingle){const t=this.itemsEnabled.find((t=>t.value===e[0]));this.selectedKeys=t?[t.key]:[]}else this.isMultiple&&(this.selectedKeys=this.itemsEnabled.filter((t=>e.includes(t.value))).map((e=>e.key)));else this.selectedKeys=[];this.updateSelected(),this.updateFocusable()}focus(e){this.lastActiveItem&&this.focusOne(this.lastActiveItem,e)}blur(){this.lastActiveItem&&this.lastActiveItem.blur()}firstUpdated(e){super.firstUpdated(e),this.updateFocusable(),this.lastActiveItem=this.items.find((e=>e.focusable)),this.addEventListener("submenu-open",(e=>{const t=P(e.target),i=t.children("mdui-menu-item:not([disabled])").get(),o=t.parents("mdui-menu-item").length+1;i.length&&(this.lastActiveItems[o]=i[0],this.updateFocusable(),this.focusOne(this.lastActiveItems[o]))})),this.addEventListener("submenu-close",(e=>{const t=P(e.target).parents("mdui-menu-item").length+1;this.lastActiveItems.length-1===t&&(this.lastActiveItems.pop(),this.updateFocusable(),this.lastActiveItems[t-1]&&this.focusOne(this.lastActiveItems[t-1]))}))}render(){return ct``}getSiblingsItems(e,t=!1){return P(e).parent().children("mdui-menu-item"+(t?":not([disabled])":"")).get()}updateFocusable(){if(this.lastActiveItem)this.items.forEach((e=>e.focusable=e.key===this.lastActiveItem.key));else if(this.selectedKeys.length){if(this.isSingle)this.items.forEach((e=>e.focusable=this.selectedKeys.includes(e.key)));else if(this.isMultiple){const e=this.items.find((e=>e.focusable));(null==e?void 0:e.key)&&this.selectedKeys.includes(e.key)||this.itemsEnabled.filter((e=>this.selectedKeys.includes(e.key))).forEach(((e,t)=>e.focusable=!t))}}else this.itemsEnabled.forEach(((e,t)=>e.focusable=!t))}updateSelected(){this.items.forEach((e=>e.selected=this.selectedKeys.includes(e.key)))}selectOne(e){if(this.isMultiple){const t=[...this.selectedKeys];t.includes(e.key)?t.splice(t.indexOf(e.key),1):t.push(e.key),this.selectedKeys=t}this.isSingle&&(this.selectedKeys.includes(e.key)?this.selectedKeys=[]:this.selectedKeys=[e.key]),this.updateSelected()}focusableOne(e){this.items.forEach((t=>t.focusable=t.key===e.key))}async focusOne(e,t){await $o(),e.focus(t)}onClick(e){if(this.isSubmenu)return;if(e.button)return;const t=e.target.closest("mdui-menu-item");(null==t?void 0:t.disabled)||(this.lastActiveItem=t,this.isSelectable&&t.value&&this.selectOne(t),this.focusableOne(t),this.focusOne(t))}onKeyDown(e){if(this.isSubmenu)return;const t=e.target;if("Enter"===e.key&&(e.preventDefault(),t.click())," "===e.key&&(e.preventDefault(),this.isSelectable&&t.value&&(this.selectOne(t),this.focusableOne(t),this.focusOne(t))),["ArrowUp","ArrowDown","Home","End"].includes(e.key)){const i=this.getSiblingsItems(t,!0),o=i.find((e=>e.focusable));let r=o?i.indexOf(o):0;if(i.length>0)return e.preventDefault(),"ArrowDown"===e.key?r++:"ArrowUp"===e.key?r--:"Home"===e.key?r=0:"End"===e.key&&(r=i.length-1),r<0&&(r=i.length-1),r>i.length-1&&(r=0),this.lastActiveItem=i[r],this.focusableOne(i[r]),void this.focusOne(i[r])}}},e.Menu.styles=[Wt,Lo],Re([Pt({reflect:!0})],e.Menu.prototype,"selects",void 0),Re([Pt()],e.Menu.prototype,"value",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.Menu.prototype,"dense",void 0),Re([Pt({reflect:!0,attribute:"submenu-trigger"})],e.Menu.prototype,"submenuTrigger",void 0),Re([Pt({type:Number,reflect:!0,attribute:"submenu-open-delay"})],e.Menu.prototype,"submenuOpenDelay",void 0),Re([Pt({type:Number,reflect:!0,attribute:"submenu-close-delay"})],e.Menu.prototype,"submenuCloseDelay",void 0),Re([Mt()],e.Menu.prototype,"selectedKeys",void 0),Re([Lt({flatten:!0,selector:"mdui-menu-item"})],e.Menu.prototype,"childrenItems",void 0),Re([fi("dense"),fi("selects"),fi("submenuTrigger"),fi("submenuOpenDelay"),fi("submenuCloseDelay")],e.Menu.prototype,"onSlotChange",null),Re([fi("selects")],e.Menu.prototype,"onSelectsChange",null),Re([fi("selectedKeys",!0)],e.Menu.prototype,"onSelectedKeysChange",null),Re([fi("value")],e.Menu.prototype,"onValueChange",null),e.Menu=Re([Et("mdui-menu")],e.Menu);const _o=Pe`:host{--shape-corner-indicator:var(--mdui-shape-corner-full);position:relative;z-index:0;flex:1;overflow:hidden;min-width:3rem;--mdui-comp-ripple-state-layer-color:var(--mdui-color-on-surface-variant)}.container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-decoration:none;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:padding var(--mdui-motion-duration-short4) var(--mdui-motion-easing-standard);padding-top:.75rem;padding-bottom:.75rem}mdui-ripple{z-index:1;left:50%;transform:translateX(-50%);transition:margin-top var(--mdui-motion-duration-short4) var(--mdui-motion-easing-standard);width:4rem;height:2rem;margin-top:.75rem;border-radius:var(--mdui-shape-corner-full)}.indicator{position:relative;display:flex;align-items:center;justify-content:center;background-color:transparent;border-radius:var(--shape-corner-indicator);transition:background-color var(--mdui-motion-duration-short1) var(--mdui-motion-easing-standard),width var(--mdui-motion-duration-short4) var(--mdui-motion-easing-standard);height:2rem;width:2rem}::slotted([slot=badge]){position:absolute;transform:translate(50%,-50%)}::slotted([slot=badge][variant=small]){transform:translate(.5625rem,-.5625rem)}.active-icon,.icon{color:rgb(var(--mdui-color-on-surface-variant));font-size:1.5rem}.active-icon mdui-icon,.icon mdui-icon,::slotted([slot=active]),::slotted([slot=icon]){font-size:inherit}.icon{display:flex}.active-icon{display:none}.label{display:flex;align-items:center;transition:opacity var(--mdui-motion-duration-short4) var(--mdui-motion-easing-linear);height:1rem;color:rgb(var(--mdui-color-on-surface-variant));margin-top:.25rem;margin-bottom:.25rem;font-size:var(--mdui-typescale-label-medium-size);font-weight:var(--mdui-typescale-label-medium-weight);letter-spacing:var(--mdui-typescale-label-medium-tracking);line-height:var(--mdui-typescale-label-medium-line-height)}:host([label-visibility=selected]:not([active])) mdui-ripple,:host([label-visibility=unlabeled]) mdui-ripple{margin-top:1.5rem}:host([label-visibility=selected]:not([active])) .container,:host([label-visibility=unlabeled]) .container{padding-top:1.5rem;padding-bottom:0}:host([label-visibility=selected]:not([active])) .label,:host([label-visibility=unlabeled]) .label{opacity:0}:host([active]){--mdui-comp-ripple-state-layer-color:var(--mdui-color-on-surface)}:host([active]) .indicator{width:4rem;background-color:rgb(var(--mdui-color-secondary-container))}:host([active]) .active-icon,:host([active]) .icon{color:rgb(var(--mdui-color-on-secondary-container))}:host([active]) .has-active-icon .active-icon{display:flex}:host([active]) .has-active-icon .icon{display:none}:host([active]) .label{color:rgb(var(--mdui-color-on-surface))}`;e.NavigationBarItem=class extends(_i(Ki(Fi(St)))){constructor(){super(...arguments),this.active=!1,this.disabled=!1,this.key=yi(),this.rippleRef=Ei(),this.hasSlotController=new jt(this,"active-icon")}get rippleElement(){return this.rippleRef.value}get rippleDisabled(){return this.disabled}get focusElement(){var e;return this.href?null===(e=this.renderRoot)||void 0===e?void 0:e.querySelector("._a"):this}get focusDisabled(){return this.disabled}render(){const e=Mi({container:!0,"has-active-icon":this.activeIcon||this.hasSlotController.test("active-icon")});return ct`${this.href?this.renderAnchor({part:"container",className:e,content:this.renderInner()}):ct`
${this.renderInner()}
`}`}renderInner(){return ct`
${this.activeIcon?ct``:Gt}${this.icon?ct``:Gt}
`}},e.NavigationBarItem.styles=[Wt,_o],Re([Pt({reflect:!0})],e.NavigationBarItem.prototype,"icon",void 0),Re([Pt({reflect:!0,attribute:"active-icon"})],e.NavigationBarItem.prototype,"activeIcon",void 0),Re([Pt({reflect:!0})],e.NavigationBarItem.prototype,"value",void 0),Re([Pt({reflect:!0,attribute:"label-visibility"})],e.NavigationBarItem.prototype,"labelVisibility",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.NavigationBarItem.prototype,"active",void 0),Re([Mt()],e.NavigationBarItem.prototype,"disabled",void 0),e.NavigationBarItem=Re([Et("mdui-navigation-bar-item")],e.NavigationBarItem);const Oo=Pe`:host{--shape-corner:var(--mdui-shape-corner-none);--z-index:2000;position:fixed;right:0;bottom:0;left:0;display:flex;flex:0 0 auto;overflow:hidden;border-radius:var(--shape-corner) var(--shape-corner) 0 0;z-index:var(--z-index);transition-property:transform;transition-duration:var(--mdui-motion-duration-long2);transition-timing-function:var(--mdui-motion-easing-emphasized);height:5rem;background-color:rgb(var(--mdui-color-surface));box-shadow:var(--mdui-elevation-level2)}:host([scroll-target]:not([scroll-target=''])){position:absolute}:host([hide]){transform:translateY(5.625rem);transition-duration:var(--mdui-motion-duration-short4)}`;e.NavigationBar=class extends(gi(Si)){constructor(){super(...arguments),this.hide=!1,this.labelVisibility="auto",this.activeKey=0,this.hasSetDefaultValue=!1}get scrollPaddingPosition(){return"bottom"}get layoutPlacement(){return"bottom"}get items(){return P(this).find("mdui-navigation-bar-item").get()}onActiveKeyChange(){const e=this.items.find((e=>e.key===this.activeKey));this.value=null==e?void 0:e.value,this.hasSetDefaultValue?vi(this,"change"):this.hasSetDefaultValue=!0}onValueChange(){var e;const t=this.items.find((e=>e.value===this.value));this.activeKey=null!==(e=null==t?void 0:t.key)&&void 0!==e?e:0,this.updateActive()}onLabelVisibilityChange(){const e=this.items,t="auto"===this.labelVisibility?e.length<=3?"labeled":"selected":this.labelVisibility;e.forEach((e=>{e.labelVisibility=t}))}connectedCallback(){super.connectedCallback(),this.addEventListener("transitionend",(e=>{e.target===this&&vi(this,this.hide?"hidden":"shown")}))}render(){return ct``}runScrollThreshold(e){if(!e&&!this.hide){vi(this,"hide").defaultPrevented||(this.hide=!0)}if(e&&this.hide){vi(this,"show").defaultPrevented||(this.hide=!1)}}onClick(e){if(e.button)return;const t=e.target.closest("mdui-navigation-bar-item");this.activeKey=t.key,this.updateActive()}updateActive(){this.items.forEach((e=>e.active=this.activeKey===e.key))}onSlotChange(){this.onLabelVisibilityChange()}},e.NavigationBar.styles=[Wt,Oo],Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.NavigationBar.prototype,"hide",void 0),Re([Pt({reflect:!0,attribute:"label-visibility"})],e.NavigationBar.prototype,"labelVisibility",void 0),Re([Pt({reflect:!0})],e.NavigationBar.prototype,"value",void 0),Re([Pt({reflect:!0,attribute:"scroll-behavior"})],e.NavigationBar.prototype,"scrollBehavior",void 0),Re([Mt()],e.NavigationBar.prototype,"activeKey",void 0),Re([fi("activeKey")],e.NavigationBar.prototype,"onActiveKeyChange",null),Re([fi("value")],e.NavigationBar.prototype,"onValueChange",null),Re([fi("labelVisibility",!0)],e.NavigationBar.prototype,"onLabelVisibilityChange",null),e.NavigationBar=Re([Et("mdui-navigation-bar")],e.NavigationBar);const zo=e=>{const t=s(),i=r(),o=t.getComputedStyle(i.documentElement),n=f(e)?P(e).innerWidth():d(e)?e:P(t).innerWidth(),a=e=>{const t=o.getPropertyValue(`--mdui-breakpoint-${e}`).toLowerCase();return parseFloat(t)};return{up:e=>n>=a(e),down:e=>n{switch(e){case"xs":return"sm";case"sm":return"md";case"md":return"lg";case"lg":return"xl";case"xl":return"xxl"}})(e))},not(e){return!this.only(e)},between(e,t){return this.up(e)&&this.down(t)}}},Fo=Pe`:host{--shape-corner:var(--mdui-shape-corner-large);--z-index:2200;display:none;position:fixed;top:0;bottom:0;left:0;z-index:1;width:22.5rem}:host([placement=right]){left:initial;right:0}:host([mobile]),:host([modal]){top:0!important;right:0;bottom:0!important;width:initial;z-index:var(--z-index)}:host([placement=right][mobile]),:host([placement=right][modal]){left:0}:host([contained]){position:absolute}.overlay{position:absolute;inset:0;z-index:inherit;background-color:rgba(var(--mdui-color-scrim),.4)}.panel{display:block;position:absolute;top:0;bottom:0;left:0;width:100%;overflow:auto;z-index:inherit;background-color:rgb(var(--mdui-color-surface));box-shadow:var(--mdui-elevation-level0)}:host([mobile]) .panel,:host([modal]) .panel{border-radius:0 var(--shape-corner) var(--shape-corner) 0;width:22.5rem;background-color:rgb(var(--mdui-color-surface-container-low));box-shadow:var(--mdui-elevation-level1)}:host([placement=right]) .panel{left:initial;right:0}:host([placement=right][mobile]) .panel,:host([placement=right][modal]) .panel{border-radius:var(--shape-corner) 0 0 var(--shape-corner)}`;e.NavigationDrawer=class extends Si{constructor(){super(...arguments),this.open=!1,this.modal=!1,this.closeOnEsc=!1,this.closeOnOverlayClick=!1,this.placement="left",this.contained=!1,this.mobile=!1,this.overlayRef=Ei(),this.panelRef=Ei()}get layoutPlacement(){return this.placement}get lockTarget(){return this.contained||this.isParentLayout?this.parentElement:document.body}get isModal(){return this.mobile||this.modal}onContainedChange(){var e;this.hasUpdated&&(null===(e=this.observeResize)||void 0===e||e.unobserve()),this.observeResize=Ci(this.contained?this.parentElement:document.body,(()=>{const e=this.contained?this.parentElement:void 0;this.mobile=zo(e).down("md"),this.isParentLayout&&this.layoutManager.updateLayout(this,{width:this.isModal?0:void 0})}))}onPlacementChange(){this.isParentLayout&&this.layoutManager.updateLayout(this)}async onOpenChange(){let e=this.panelRef.value,t=this.overlayRef.value;const i="right"===this.placement,o=i?"paddingRight":"paddingLeft",r=vo(this,"linear"),n=vo(this,"emphasized"),s=(e,t)=>{P(this.layoutManager.getItemsAndMain()).css("transition",p(e)?null:`all ${e}ms ${t}`)},a=async()=>{await Promise.all([this.isModal?ho(t):this.isParentLayout?Promise.resolve():ho(this.lockTarget),this.isModal?ho(e):ho(this)])};if(this.open){const l=this.hasUpdated;if(l||(await this.updateComplete,e=this.panelRef.value,t=this.overlayRef.value),l){if(vi(this,"open",{cancelable:!0}).defaultPrevented)return}this.style.display="block",this.originalTrigger=document.activeElement,this.isModal&&(this.modalHelper.activate(),yo(this,this.lockTarget)),await a(),requestAnimationFrame((()=>{const t=this.querySelector("[autofocus]");t?t.focus({preventScroll:!0}):e.focus({preventScroll:!0})}));const c=fo(this,"long2"),d=[];return this.isModal?d.push(co(t,[{opacity:0},{opacity:1,offset:.3},{opacity:1}],{duration:l?c:0,easing:r})):this.isParentLayout||d.push(co(this.lockTarget,[{[o]:0},{[o]:P(e).innerWidth()+"px"}],{duration:l?c:0,easing:n,fill:"forwards"})),this.isParentLayout&&l&&s(c,n),d.push(co(this.isModal?e:this,[{transform:`translateX(${i?"":"-"}100%)`},{transform:"translateX(0)"}],{duration:l?c:0,easing:n})),await Promise.all(d),this.isParentLayout&&l&&s(null),void(l&&vi(this,"opened"))}if(!this.open&&this.hasUpdated){if(vi(this,"close",{cancelable:!0}).defaultPrevented)return;this.isModal&&this.modalHelper.deactivate(),await a();const l=fo(this,"short4"),c=[];this.isModal?c.push(co(t,[{opacity:1},{opacity:0}],{duration:l,easing:r})):this.isParentLayout||c.push(co(this.lockTarget,[{[o]:P(e).innerWidth()+"px"},{[o]:0}],{duration:l,easing:n,fill:"forwards"})),this.isParentLayout&&(s(l,n),this.layoutManager.updateLayout(this,{width:0})),c.push(co(this.isModal?e:this,[{transform:"translateX(0)"},{transform:`translateX(${i?"":"-"}100%)`}],{duration:l,easing:n})),await Promise.all(c),this.isParentLayout&&s(null),this.style.display="none",this.isModal&&wo(this,this.lockTarget);const d=this.originalTrigger;return"function"==typeof(null==d?void 0:d.focus)&&setTimeout((()=>d.focus())),void vi(this,"closed")}}connectedCallback(){super.connectedCallback(),this.modalHelper=new mo(this),this.addEventListener("keydown",(e=>{this.open&&this.closeOnEsc&&"Escape"===e.key&&this.isModal&&(e.stopPropagation(),this.open=!1)}))}disconnectedCallback(){var e;super.disconnectedCallback(),wo(this,this.lockTarget),null===(e=this.observeResize)||void 0===e||e.unobserve()}render(){return ct`${lo(this.isModal,(()=>ct`
`))}`}onOverlayClick(){vi(this,"overlay-click"),this.closeOnOverlayClick&&(this.open=!1)}},e.NavigationDrawer.styles=[Wt,Fo],Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.NavigationDrawer.prototype,"open",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.NavigationDrawer.prototype,"modal",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi,attribute:"close-on-esc"})],e.NavigationDrawer.prototype,"closeOnEsc",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi,attribute:"close-on-overlay-click"})],e.NavigationDrawer.prototype,"closeOnOverlayClick",void 0),Re([Pt({reflect:!0})],e.NavigationDrawer.prototype,"placement",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.NavigationDrawer.prototype,"contained",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.NavigationDrawer.prototype,"mobile",void 0),Re([fi("contained")],e.NavigationDrawer.prototype,"onContainedChange",null),Re([fi("placement")],e.NavigationDrawer.prototype,"onPlacementChange",null),Re([fi("open")],e.NavigationDrawer.prototype,"onOpenChange",null),e.NavigationDrawer=Re([Et("mdui-navigation-drawer")],e.NavigationDrawer);const No=Pe`:host{--shape-corner:var(--mdui-shape-corner-none);--z-index:2000;position:fixed;top:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;border-radius:0 var(--shape-corner) var(--shape-corner) 0;z-index:var(--z-index);width:5rem;background-color:rgb(var(--mdui-color-surface));padding:.375rem .75rem}:host([contained]){position:absolute}:host([divider]){border-right:.0625rem solid rgb(var(--mdui-color-surface-variant));width:5.0625rem}:host([placement=right]){left:initial;right:0;border-radius:var(--shape-corner) 0 0 var(--shape-corner)}:host([placement=right][divider]){border-right:none;border-left:.0625rem solid rgb(var(--mdui-color-surface-variant))}.bottom,.items,.top{display:flex;flex-direction:column;align-items:center;width:100%}.top{margin-bottom:1.75rem}.bottom{margin-top:1.75rem}::slotted([slot=bottom]),::slotted([slot=top]),::slotted(mdui-navigation-rail-item){margin-top:.375rem;margin-bottom:.375rem}:host([alignment=start]) .top-spacer{flex-grow:0}:host([alignment=start]) .bottom-spacer{flex-grow:1}:host([alignment=end]) .top-spacer{flex-grow:1}:host([alignment=end]) .bottom-spacer{flex-grow:0}:host([alignment=center]){justify-content:center}:host([alignment=center]) .bottom,:host([alignment=center]) .top{position:absolute}:host([alignment=center]) .top{top:.375rem}:host([alignment=center]) .bottom{bottom:.375rem}`;e.NavigationRail=class extends Si{constructor(){super(...arguments),this.placement="left",this.alignment="start",this.contained=!1,this.divider=!1,this.activeKey=0,this.hasSlotController=new jt(this,"top","bottom"),this.hasSetDefaultValue=!1}get layoutPlacement(){return this.placement}get items(){return P(this).find("mdui-navigation-rail-item").get()}get parentTarget(){return this.contained||this.isParentLayout?this.parentElement:document.body}get isRight(){return"right"===this.placement}get paddingValue(){return["fixed","absolute"].includes(P(this).css("position"))?this.offsetWidth:void 0}onActiveKeyChange(){const e=this.items.find((e=>e.key===this.activeKey));this.value=null==e?void 0:e.value,this.hasSetDefaultValue?vi(this,"change"):this.hasSetDefaultValue=!0}onValueChange(){var e;const t=this.items.find((e=>e.value===this.value));this.activeKey=null!==(e=null==t?void 0:t.key)&&void 0!==e?e:0,this.updateActive()}onContainedChange(){this.isParentLayout||(P(document.body).css({paddingLeft:this.contained||this.isRight?null:this.paddingValue,paddingRight:this.contained||!this.isRight?null:this.paddingValue}),P(this.parentElement).css({paddingLeft:this.contained&&!this.isRight?this.paddingValue:null,paddingRight:this.contained&&this.isRight?this.paddingValue:null}))}onPlacementChange(){var e;null===(e=this.layoutManager)||void 0===e||e.updateLayout(this),this.items.forEach((e=>{e.placement=this.placement})),this.isParentLayout||P(this.parentTarget).css({paddingLeft:this.isRight?null:this.paddingValue,paddingRight:this.isRight?this.paddingValue:null})}connectedCallback(){super.connectedCallback(),this.isParentLayout||P(this.parentTarget).css({paddingLeft:this.isRight?null:this.paddingValue,paddingRight:this.isRight?this.paddingValue:null})}disconnectedCallback(){super.disconnectedCallback(),this.isParentLayout||P(this.parentTarget).css({paddingLeft:this.isRight?void 0:null,paddingRight:this.isRight?null:void 0})}render(){const e=this.hasSlotController.test("top"),t=this.hasSlotController.test("bottom");return ct`${lo(e,(()=>ct``))} ${lo(t,(()=>ct``))}`}onClick(e){if(e.button)return;const t=e.target.closest("mdui-navigation-rail-item");this.activeKey=t.key,this.updateActive()}updateActive(){this.items.forEach((e=>e.active=this.activeKey===e.key))}onSlotChange(){this.items.forEach((e=>{e.placement=this.placement}))}},e.NavigationRail.styles=[Wt,No],Re([Pt({reflect:!0})],e.NavigationRail.prototype,"value",void 0),Re([Pt({reflect:!0})],e.NavigationRail.prototype,"placement",void 0),Re([Pt({reflect:!0})],e.NavigationRail.prototype,"alignment",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.NavigationRail.prototype,"contained",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.NavigationRail.prototype,"divider",void 0),Re([Mt()],e.NavigationRail.prototype,"activeKey",void 0),Re([fi("activeKey")],e.NavigationRail.prototype,"onActiveKeyChange",null),Re([fi("value")],e.NavigationRail.prototype,"onValueChange",null),Re([fi("contained",!0)],e.NavigationRail.prototype,"onContainedChange",null),Re([fi("placement")],e.NavigationRail.prototype,"onPlacementChange",null),e.NavigationRail=Re([Et("mdui-navigation-rail")],e.NavigationRail);const Vo=Pe`:host{--shape-corner-indicator:var(--mdui-shape-corner-full);position:relative;z-index:0;width:100%;--mdui-comp-ripple-state-layer-color:var(--mdui-color-on-surface-variant)}.container{display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:padding var(--mdui-motion-duration-short4) var(--mdui-motion-easing-standard);height:3.5rem}mdui-ripple{z-index:1;width:3.5rem;height:2rem;border-radius:var(--mdui-shape-corner-full)}.container:not(.has-label)+mdui-ripple{height:3.5rem}.indicator{position:relative;display:flex;align-items:center;justify-content:center;background-color:transparent;border-radius:var(--shape-corner-indicator);transition:background-color var(--mdui-motion-duration-short1) var(--mdui-motion-easing-standard),width var(--mdui-motion-duration-short4) var(--mdui-motion-easing-standard),height var(--mdui-motion-duration-short4) var(--mdui-motion-easing-standard);height:2rem;width:2rem}::slotted([slot=badge]){position:absolute;transform:translate(50%,-50%)}:host([placement=right]) ::slotted([slot=badge]){transform:translate(-50%,-50%)}::slotted([slot=badge][variant=small]){transform:translate(.5625rem,-.5625rem)}:host([placement=right]) ::slotted([slot=badge][variant=small]){transform:translate(-.5625rem,-.5625rem)}.active-icon,.icon{color:rgb(var(--mdui-color-on-surface-variant));font-size:1.5rem}.active-icon mdui-icon,.icon mdui-icon,::slotted([slot=active-icon]),::slotted([slot=icon]){font-size:inherit}.icon{display:flex}.active-icon{display:none}.label{display:flex;align-items:center;transition:opacity var(--mdui-motion-duration-short4) var(--mdui-motion-easing-linear);height:1rem;color:rgb(var(--mdui-color-on-surface-variant));margin-top:.25rem;margin-bottom:.25rem;font-size:var(--mdui-typescale-label-medium-size);font-weight:var(--mdui-typescale-label-medium-weight);letter-spacing:var(--mdui-typescale-label-medium-tracking);line-height:var(--mdui-typescale-label-medium-line-height)}:host([active]){--mdui-comp-ripple-state-layer-color:var(--mdui-color-on-surface)}:host([active]) .indicator{width:3.5rem;background-color:rgb(var(--mdui-color-secondary-container))}:host([active]) :not(.has-label) .indicator{height:3.5rem}:host([active]) .active-icon,:host([active]) .icon{color:rgb(var(--mdui-color-on-secondary-container))}:host([active]) .has-active-icon .active-icon{display:flex}:host([active]) .has-active-icon .icon{display:none}:host([active]) .label{color:rgb(var(--mdui-color-on-surface))}`;e.NavigationRailItem=class extends(_i(Ki(Fi(St)))){constructor(){super(...arguments),this.active=!1,this.placement="left",this.disabled=!1,this.key=yi(),this.rippleRef=Ei(),this.hasSlotController=new jt(this,"[default]","active-icon")}get rippleElement(){return this.rippleRef.value}get rippleDisabled(){return this.disabled}get focusElement(){var e;return this.href?null===(e=this.renderRoot)||void 0===e?void 0:e.querySelector("._a"):this}get focusDisabled(){return this.disabled}render(){const e=this.hasSlotController.test("[default]"),t=Mi({container:!0,"has-label":e,"has-active-icon":this.activeIcon||this.hasSlotController.test("active-icon")});return ct`${this.href?this.renderAnchor({part:"container",className:t,content:this.renderInner(e)}):ct`
${this.renderInner(e)}
`}`}renderInner(e){return ct`
${this.activeIcon?ct``:Gt}${this.icon?ct``:Gt}
${e?ct``:ht}`}},e.NavigationRailItem.styles=[Wt,Vo],Re([Pt({reflect:!0})],e.NavigationRailItem.prototype,"icon",void 0),Re([Pt({reflect:!0,attribute:"active-icon"})],e.NavigationRailItem.prototype,"activeIcon",void 0),Re([Pt({reflect:!0})],e.NavigationRailItem.prototype,"value",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.NavigationRailItem.prototype,"active",void 0),Re([Pt({reflect:!0})],e.NavigationRailItem.prototype,"placement",void 0),Re([Mt()],e.NavigationRailItem.prototype,"disabled",void 0),e.NavigationRailItem=Re([Et("mdui-navigation-rail-item")],e.NavigationRailItem);let Ho=class extends St{render(){return Zi('')}};Ho.styles=Ji,Ho=Re([Et("mdui-icon-circle")],Ho);let Ko=class extends St{render(){return Zi('')}};Ko.styles=Ji,Ko=Re([Et("mdui-icon-radio-button-unchecked")],Ko);const Uo=Pe`:host{position:relative;display:inline-flex;align-items:center;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:manipulation;zoom:1;-webkit-user-drag:none;border-radius:.125rem;font-size:var(--mdui-typescale-label-large-size);font-weight:var(--mdui-typescale-label-large-weight);letter-spacing:var(--mdui-typescale-label-large-tracking);line-height:var(--mdui-typescale-label-large-line-height)}.icon{display:flex;position:absolute;font-size:1.5rem;transition-duration:var(--mdui-motion-duration-short4);transition-timing-function:var(--mdui-motion-easing-standard)}.unchecked-icon{transition-property:color;color:rgb(var(--mdui-color-on-surface-variant))}:host([focused]) .unchecked-icon,:host([hover]) .unchecked-icon,:host([pressed]) .unchecked-icon{color:rgb(var(--mdui-color-on-surface))}.checked-icon{opacity:0;transform:scale(.2);transition-property:color,opacity,transform;color:rgb(var(--mdui-color-primary))}.icon .i,::slotted([slot=checked-icon]),::slotted([slot=unchecked-icon]){color:inherit;font-size:inherit}i{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:50%;width:2.5rem;min-width:2.5rem;height:2.5rem;--mdui-comp-ripple-state-layer-color:var(--mdui-color-on-surface)}.label{display:flex;width:100%;padding-top:.625rem;padding-bottom:.625rem;color:rgb(var(--mdui-color-on-surface));transition:color var(--mdui-motion-duration-short4) var(--mdui-motion-easing-standard)}:host([checked]) i{--mdui-comp-ripple-state-layer-color:var(--mdui-color-primary)}:host([checked]) .icon{color:rgb(var(--mdui-color-primary))}:host([checked]) .checked-icon{opacity:1;transform:scale(.5)}:host([invalid]) i{--mdui-comp-ripple-state-layer-color:var(--mdui-color-error)}:host([invalid]) .icon{color:rgb(var(--mdui-color-error))}:host([invalid]) .label{color:rgb(var(--mdui-color-error))}:host([disabled]),:host([group-disabled]){cursor:default;pointer-events:none}:host([disabled]) .icon,:host([group-disabled]) .icon{color:rgba(var(--mdui-color-on-surface),38%)}:host([disabled]) .label,:host([group-disabled]) .label{color:rgba(var(--mdui-color-on-surface),38%)}`;e.Radio=class extends(Ki(Fi(St))){constructor(){super(...arguments),this.value="",this.disabled=!1,this.checked=!1,this.invalid=!1,this.groupDisabled=!1,this.focusable=!1,this.rippleRef=Ei()}get rippleElement(){return this.rippleRef.value}get rippleDisabled(){return this.isDisabled()}get focusElement(){return this}get focusDisabled(){return this.isDisabled()||!this.focusable}onCheckedChange(){this.checked&&vi(this,"change")}connectedCallback(){super.connectedCallback(),this.addEventListener("click",(()=>{this.isDisabled()||(this.checked=!0)}))}render(){return ct`${this.uncheckedIcon?ct``:ct``}${this.checkedIcon?ct``:ct``}`}isDisabled(){return this.disabled||this.groupDisabled}},e.Radio.styles=[Wt,Uo],Re([Pt({reflect:!0})],e.Radio.prototype,"value",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.Radio.prototype,"disabled",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.Radio.prototype,"checked",void 0),Re([Pt({reflect:!0,attribute:"unchecked-icon"})],e.Radio.prototype,"uncheckedIcon",void 0),Re([Pt({reflect:!0,attribute:"checked-icon"})],e.Radio.prototype,"checkedIcon",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.Radio.prototype,"invalid",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi,attribute:"group-disabled"})],e.Radio.prototype,"groupDisabled",void 0),Re([Mt()],e.Radio.prototype,"focusable",void 0),Re([fi("checked",!0)],e.Radio.prototype,"onCheckedChange",null),e.Radio=Re([Et("mdui-radio")],e.Radio);const qo=Pe`:host{display:inline-block}fieldset{border:none;padding:0;margin:0;min-width:0}input{position:absolute;padding:0;opacity:0;pointer-events:none;width:1.25rem;height:1.25rem;margin:0 0 0 .625rem}`;function*jo(e,t){if(void 0!==e){let i=0;for(const o of e)yield t(o,i++)}}e.RadioGroup=class extends St{constructor(){super(...arguments),this.disabled=!1,this.name="",this.value="",this.defaultValue="",this.required=!1,this.invalid=!1,this.inputRef=Ei(),this.formController=new Li(this)}get validity(){return this.inputRef.value.validity}get validationMessage(){return this.inputRef.value.validationMessage}get radios(){return P(this).find("mdui-radio").get()}get radiosEnabled(){return P(this).find("mdui-radio:not([disabled])").get()}async onValueChange(){var e;vi(this,"input"),vi(this,"change"),this.radios.forEach((e=>e.checked=e.value===this.value)),this.updateRadioFocusable(),await this.updateComplete;const t=this.formController.getForm();t&&(null===(e=Bi.get(t))||void 0===e?void 0:e.has(this))?(this.invalid=!1,Bi.get(t).delete(this)):this.invalid=!this.inputRef.value.checkValidity()}onInvalidChange(){this.radiosEnabled.forEach((e=>e.invalid=this.invalid))}onDisabledChange(){this.radios.forEach((e=>e.groupDisabled=this.disabled))}checkValidity(){const e=this.inputRef.value.checkValidity();return e||vi(this,"invalid",{bubbles:!1,cancelable:!0,composed:!1}),e}reportValidity(){if(this.invalid=!this.inputRef.value.reportValidity(),this.invalid){vi(this,"invalid",{bubbles:!1,cancelable:!0,composed:!1}).defaultPrevented&&(this.inputRef.value.blur(),this.inputRef.value.focus())}return!this.invalid}setCustomValidity(e){this.inputRef.value.setCustomValidity(e),this.invalid=!this.inputRef.value.checkValidity()}render(){return ct`
`}updateRadioFocusable(){const e=this.radios,t=e.find((e=>e.checked));t?e.forEach((e=>e.focusable=e===t)):this.radiosEnabled.forEach(((e,t)=>e.focusable=!t))}async onRadioClick(e){const t=e.target,i=a(t,"mdui-radio")?t:P(t).closest("mdui-radio")[0];i.disabled||(this.value=i.value,await this.updateComplete,i.focus())}onKeyDown(e){var t;if(!["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"," "].includes(e.key))return;const i=this.radiosEnabled,o=null!==(t=i.find((e=>e.checked)))&&void 0!==t?t:i[0],r=" "===e.key?0:["ArrowUp","ArrowLeft"].includes(e.key)?-1:1;let n=i.indexOf(o)+r;n<0&&(n=i.length-1),n>i.length-1&&(n=0),this.value=i[n].value,this.updateComplete.then((()=>{i[n].focus()})),e.preventDefault()}onSlotChange(){this.radios.forEach((e=>e.checked=e.value===this.value)),this.updateRadioFocusable()}onCheckedChange(e){e.stopPropagation();const t=e.target;this.value=t.value}},e.RadioGroup.styles=[Wt,qo],Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.RadioGroup.prototype,"disabled",void 0),Re([Pt({reflect:!0})],e.RadioGroup.prototype,"form",void 0),Re([Pt({reflect:!0})],e.RadioGroup.prototype,"name",void 0),Re([Pt({reflect:!0})],e.RadioGroup.prototype,"value",void 0),Re([Xi()],e.RadioGroup.prototype,"defaultValue",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.RadioGroup.prototype,"required",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.RadioGroup.prototype,"invalid",void 0),Re([fi("value",!0)],e.RadioGroup.prototype,"onValueChange",null),Re([fi("invalid")],e.RadioGroup.prototype,"onInvalidChange",null),Re([fi("disabled")],e.RadioGroup.prototype,"onDisabledChange",null),e.RadioGroup=Re([Et("mdui-radio-group")],e.RadioGroup);const Go=Pe`:host{position:relative;display:block;width:100%;-webkit-tap-highlight-color:transparent;height:2.5rem;padding:0 1.25rem}label{position:relative;display:block;width:100%;height:100%}input[type=range]{position:absolute;inset:0;z-index:4;height:100%;cursor:pointer;opacity:0;-webkit-appearance:none;appearance:none;margin:0 -1.25rem;padding:0 .75rem}:host([disabled]) input[type=range]{cursor:not-allowed}.track-active,.track-inactive{position:absolute;top:50%;height:.25rem;margin-top:-.125rem}.track-inactive{left:-.125rem;right:-.125rem;border-radius:var(--mdui-shape-corner-full);background-color:rgb(var(--mdui-color-surface-container-highest))}:host([invalid]) .track-inactive{background-color:rgba(var(--mdui-color-error),.12)}:host([disabled]) .track-inactive{background-color:rgba(var(--mdui-color-on-surface),.12)}.track-active{background-color:rgb(var(--mdui-color-primary))}:host([invalid]) .track-active{background-color:rgb(var(--mdui-color-error))}:host([disabled]) .track-active{background-color:rgba(var(--mdui-color-on-surface),.38)}.handle{position:absolute;top:50%;transform:translate(-50%);cursor:pointer;z-index:2;width:2.5rem;height:2.5rem;margin-top:-1.25rem;--mdui-comp-ripple-state-layer-color:var(--mdui-color-primary)}:host([invalid]) .handle{--mdui-comp-ripple-state-layer-color:var(--mdui-color-error)}.handle .elevation,.handle::before{position:absolute;display:block;content:' ';left:.625rem;top:.625rem;width:1.25rem;height:1.25rem;border-radius:var(--mdui-shape-corner-full)}.handle .elevation{background-color:rgb(var(--mdui-color-primary));box-shadow:var(--mdui-elevation-level1)}:host([invalid]) .handle .elevation{background-color:rgb(var(--mdui-color-error))}:host([disabled]) .handle .elevation{background-color:rgba(var(--mdui-color-on-surface),.38);box-shadow:var(--mdui-elevation-level0)}.handle::before{background-color:rgb(var(--mdui-color-background))}.handle mdui-ripple{border-radius:var(--mdui-shape-corner-full)}.label{position:absolute;left:50%;transform:translateX(-50%) scale(0);transform-origin:center bottom;display:flex;align-items:center;justify-content:center;cursor:default;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;transition:transform var(--mdui-motion-duration-short2) var(--mdui-motion-easing-standard);bottom:2.5rem;min-width:1.75rem;height:1.75rem;padding:.375rem .5rem;border-radius:var(--mdui-shape-corner-full);color:rgb(var(--mdui-color-on-primary));font-size:var(--mdui-typescale-label-medium-size);font-weight:var(--mdui-typescale-label-medium-weight);letter-spacing:var(--mdui-typescale-label-medium-tracking);line-height:var(--mdui-typescale-label-medium-line-height);background-color:rgb(var(--mdui-color-primary))}:host([invalid]) .label{color:rgb(var(--mdui-color-on-error));background-color:rgb(var(--mdui-color-error))}.label::after{content:' ';position:absolute;z-index:-1;transform:rotate(45deg);width:.875rem;height:.875rem;bottom:-.125rem;background-color:rgb(var(--mdui-color-primary))}:host([invalid]) .label::after{background-color:rgb(var(--mdui-color-error))}.label-visible{transform:translateX(-50%) scale(1);transition:transform var(--mdui-motion-duration-short4) var(--mdui-motion-easing-standard)}.tickmark{position:absolute;top:50%;transform:translate(-50%);width:.125rem;height:.125rem;margin-top:-.0625rem;border-radius:var(--mdui-shape-corner-full);background-color:rgba(var(--mdui-color-on-surface-variant),.38)}:host([invalid]) .tickmark{background-color:rgba(var(--mdui-color-error),.38)}.tickmark.active{background-color:rgba(var(--mdui-color-on-primary),.38)}:host([invalid]) .tickmark.active{background-color:rgba(var(--mdui-color-on-error),.38)}:host([disabled]) .tickmark{background-color:rgba(var(--mdui-color-on-surface),.38)}`;class Wo extends(Ki(Fi(St))){constructor(){super(...arguments),this.min=0,this.max=100,this.step=1,this.tickmarks=!1,this.nolabel=!1,this.disabled=!1,this.name="",this.invalid=!1,this.labelVisible=!1,this.inputRef=Ei(),this.trackActiveRef=Ei(),this.labelFormatter=e=>e.toString()}get validity(){return this.inputRef.value.validity}get validationMessage(){return this.inputRef.value.validationMessage}get rippleDisabled(){return this.disabled}get focusElement(){return this.inputRef.value}get focusDisabled(){return this.disabled}onDisabledChange(){this.invalid=!this.inputRef.value.checkValidity()}checkValidity(){const e=this.inputRef.value.checkValidity();return e||vi(this,"invalid",{bubbles:!1,cancelable:!0,composed:!1}),e}reportValidity(){if(this.invalid=!this.inputRef.value.reportValidity(),this.invalid){vi(this,"invalid",{bubbles:!1,cancelable:!0,composed:!1}).defaultPrevented&&(this.blur(),this.focus())}return!this.invalid}setCustomValidity(e){this.inputRef.value.setCustomValidity(e),this.invalid=!this.inputRef.value.checkValidity()}getCandidateValues(){return Array.from({length:this.max-this.min+1},((e,t)=>t+this.min)).filter((e=>!((e-this.min)%this.step)))}renderLabel(e){return lo(!this.nolabel,(()=>ct`
${this.labelFormatter(e)}
`))}onChange(){vi(this,"change")}}Wo.styles=[Wt,Go],Re([Pt({type:Number,reflect:!0})],Wo.prototype,"min",void 0),Re([Pt({type:Number,reflect:!0})],Wo.prototype,"max",void 0),Re([Pt({type:Number,reflect:!0})],Wo.prototype,"step",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],Wo.prototype,"tickmarks",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],Wo.prototype,"nolabel",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],Wo.prototype,"disabled",void 0),Re([Pt({reflect:!0})],Wo.prototype,"form",void 0),Re([Pt({reflect:!0})],Wo.prototype,"name",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],Wo.prototype,"invalid",void 0),Re([Mt()],Wo.prototype,"labelVisible",void 0),Re([Pt({attribute:!1})],Wo.prototype,"labelFormatter",void 0),Re([fi("disabled",!0)],Wo.prototype,"onDisabledChange",null),e.RangeSlider=class extends Wo{constructor(){super(...arguments),this.defaultValue=[],this.currentHandle="start",this.rippleStartRef=Ei(),this.rippleEndRef=Ei(),this.handleStartRef=Ei(),this.handleEndRef=Ei(),this.formController=new Li(this),this._value=[],this.getRippleIndex=()=>this.hoverHandle?"start"===this.hoverHandle?0:1:"start"===this.currentHandle?0:1}get value(){return this._value}set value(e){const t=[...this._value];this._value=e,this.requestUpdate("value",t),this.updateComplete.then((()=>{var e;this.updateStyle();const t=this.formController.getForm();t&&(null===(e=Bi.get(t))||void 0===e?void 0:e.has(this))?(this.invalid=!1,Bi.get(t).delete(this)):this.invalid=!this.inputRef.value.checkValidity()}))}get rippleElement(){return[this.rippleStartRef.value,this.rippleEndRef.value]}connectedCallback(){super.connectedCallback(),this.value=[this.min,this.max],this.defaultValue.length||(this.defaultValue=[...this.value]);const e=e=>{const t=P(this),i=parseFloat(t.css("padding-left")),o=parseFloat(t.css("padding-right")),r=(e.offsetX-i)/(this.clientWidth-i-o);return(this.max-this.min)*r+this.min>(this.value[1]-this.value[0])/2+this.value[0]?"end":"start"},t=()=>{this.disabled||(this.labelVisible=!0)},i=()=>{this.disabled||(this.labelVisible=!1)};this.addEventListener("touchstart",t),this.addEventListener("mousedown",t),this.addEventListener("touchend",i),this.addEventListener("mouseup",i),this.addEventListener("pointerdown",(t=>{this.currentHandle=e(t)})),this.addEventListener("pointermove",(t=>{const i=e(t);this.hoverHandle!==i&&(this.endHover(t),this.hoverHandle=i,this.startHover(t))}))}firstUpdated(e){super.firstUpdated(e),this.updateStyle()}render(){return ct``}updateStyle(){const e=e=>(e-this.min)/(this.max-this.min)*100,t=e(this.value[0]),i=e(this.value[1]);this.trackActiveRef.value.style.width=i-t+"%",this.trackActiveRef.value.style.left=`${t}%`,this.handleStartRef.value.style.left=`${t}%`,this.handleEndRef.value.style.left=`${i}%`}onInput(){const e="start"===this.currentHandle,t=parseFloat(this.inputRef.value.value),i=this.value[0],o=this.value[1],r=()=>{vi(this,"input"),this.updateStyle()};e?t<=o?(this.value=[t,o],r()):i!==o&&(this.value=[o,o],r()):t>=i?(this.value=[i,t],r()):i!==o&&(this.value=[i,i],r())}},e.RangeSlider.styles=[Wo.styles],Re([Xi()],e.RangeSlider.prototype,"defaultValue",void 0),Re([Mt()],e.RangeSlider.prototype,"currentHandle",void 0),Re([Pt({type:Array,attribute:!1})],e.RangeSlider.prototype,"value",null),e.RangeSlider=Re([Et("mdui-range-slider")],e.RangeSlider);const Yo=Pe`:host{position:relative;display:inline-flex;flex-grow:1;flex-shrink:0;float:left;height:100%;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:transparent;border:.0625rem solid rgb(var(--mdui-color-outline))}.button{width:100%;padding:0 .75rem}:host([invalid]){color:rgb(var(--mdui-color-error));border-color:rgb(var(--mdui-color-error))}:host([invalid]) .button{background-color:rgb(var(--mdui-color-error-container))}:host([selected]){color:rgb(var(--mdui-color-on-secondary-container));background-color:rgb(var(--mdui-color-secondary-container));--mdui-comp-ripple-state-layer-color:var( + --mdui-color-on-secondary-container + )}:host([disabled]),:host([group-disabled]){cursor:default;pointer-events:none;color:rgba(var(--mdui-color-on-surface),38%);border-color:rgba(var(--mdui-color-on-surface),12%)}:host([loading]){cursor:default;pointer-events:none}:host(:not(.mdui-segmented-button-first)){margin-left:-.0625rem}:host(.mdui-segmented-button-first){border-radius:var(--shape-corner) 0 0 var(--shape-corner)}:host(.mdui-segmented-button-last){border-radius:0 var(--shape-corner) var(--shape-corner) 0}.end-icon,.icon,.selected-icon{display:inline-flex;font-size:1.28571429em}.end-icon .i,.icon .i,.selected-icon .i,::slotted([slot=end-icon]),::slotted([slot=icon]),::slotted([slot=selected-icon]){font-size:inherit}mdui-circular-progress{width:1.125rem;height:1.125rem}:host([disabled]) mdui-circular-progress{opacity:.38}.label{display:inline-flex}.has-icon .label{padding-left:.5rem}.has-end-icon .label{padding-right:.5rem}`;e.SegmentedButton=class extends qi{constructor(){super(...arguments),this.selected=!1,this.invalid=!1,this.groupDisabled=!1,this.key=yi(),this.rippleRef=Ei(),this.hasSlotController=new jt(this,"[default]","icon","end-icon")}get rippleElement(){return this.rippleRef.value}get rippleDisabled(){return this.isDisabled()||this.loading}get focusDisabled(){return this.isDisabled()||this.loading}render(){const e=Mi({button:!0,"has-icon":this.icon||this.selected||this.loading||this.hasSlotController.test("icon"),"has-end-icon":this.endIcon||this.hasSlotController.test("end-icon")});return ct`${this.isButton()?this.renderButton({className:e,part:"button",content:this.renderInner()}):this.isDisabled()||this.loading?ct`${this.renderInner()}`:this.renderAnchor({className:e,part:"button",content:this.renderInner()})}`}isDisabled(){return this.disabled||this.groupDisabled}renderIcon(){return this.loading?this.renderLoading():this.selected?ct`${this.selectedIcon?ct``:ct``}`:ct`${this.icon?ct``:Gt}`}renderLabel(){return this.hasSlotController.test("[default]")?ct``:Gt}renderEndIcon(){return ct`${this.endIcon?ct``:Gt}`}renderInner(){return[this.renderIcon(),this.renderLabel(),this.renderEndIcon()]}},e.SegmentedButton.styles=[qi.styles,Yo],Re([Pt({reflect:!0})],e.SegmentedButton.prototype,"icon",void 0),Re([Pt({reflect:!0,attribute:"end-icon"})],e.SegmentedButton.prototype,"endIcon",void 0),Re([Pt({reflect:!0,attribute:"selected-icon"})],e.SegmentedButton.prototype,"selectedIcon",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.SegmentedButton.prototype,"selected",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.SegmentedButton.prototype,"invalid",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi,attribute:"group-disabled"})],e.SegmentedButton.prototype,"groupDisabled",void 0),e.SegmentedButton=Re([Et("mdui-segmented-button")],e.SegmentedButton);const Xo=Pe`:host{--shape-corner:var(--mdui-shape-corner-full);position:relative;display:inline-flex;height:2.5rem;font-size:var(--mdui-typescale-label-large-size);font-weight:var(--mdui-typescale-label-large-weight);letter-spacing:var(--mdui-typescale-label-large-tracking);line-height:var(--mdui-typescale-label-large-line-height);color:rgb(var(--mdui-color-on-surface));--mdui-comp-ripple-state-layer-color:var(--mdui-color-on-surface)}:host([full-width]){display:flex;flex-wrap:nowrap}input,select{position:absolute;width:100%;height:100%;padding:0;opacity:0;pointer-events:none}`;e.SegmentedButtonGroup=class extends St{constructor(){super(...arguments),this.fullWidth=!1,this.disabled=!1,this.required=!1,this.name="",this.value="",this.defaultValue="",this.selectedKeys=[],this.invalid=!1,this.hasSetDefaultValue=!1,this.inputRef=Ei(),this.formController=new Li(this)}get validity(){return this.inputRef.value.validity}get validationMessage(){return this.inputRef.value.validationMessage}get items(){return P(this).find("mdui-segmented-button").get()}get itemsEnabled(){return P(this).find("mdui-segmented-button:not([disabled])").get()}get isSingle(){return"single"===this.selects}get isMultiple(){return"multiple"===this.selects}get isSelectable(){return this.isSingle||this.isMultiple}onSelectsChange(){!this.isSelectable&&this.selectedKeys.length&&(this.selectedKeys=[],this.onSelectedKeysChange(),this.onValueChange()),this.isSingle&&this.selectedKeys.length>1&&(this.selectedKeys=this.selectedKeys.slice(0,1),this.onSelectedKeysChange(),this.onValueChange())}onSelectedKeysChange(){const e=this.itemsEnabled.filter((e=>this.selectedKeys.includes(e.key))).map((e=>e.value));this.value=this.isMultiple?e:e[0]||"",this.hasSetDefaultValue?vi(this,"change"):this.hasSetDefaultValue=!0}async onValueChange(){const e=this.hasUpdated;if(e||await this.updateComplete,!this.isSelectable)return void this.updateSelected(e);const t=(this.isSingle||c(this.value)?[this.value]:this.value).filter((e=>e));if(t.length)if(this.isSingle){const e=this.itemsEnabled.find((e=>e.value===t[0]));this.selectedKeys=e?[e.key]:[]}else this.isMultiple&&(this.selectedKeys=this.itemsEnabled.filter((e=>t.includes(e.value))).map((e=>e.key)));else this.selectedKeys=[];this.updateSelected(e)}onInvalidChange(){this.itemsEnabled.forEach((e=>e.invalid=this.invalid))}onDisabledChange(){this.items.forEach((e=>e.groupDisabled=this.disabled))}connectedCallback(){super.connectedCallback(),this.value=this.isMultiple&&c(this.value)?this.value?[this.value]:[]:this.value,this.defaultValue="multiple"===this.selects?[]:""}checkValidity(){const e=this.inputRef.value.checkValidity();return e||vi(this,"invalid",{bubbles:!1,cancelable:!0,composed:!1}),e}reportValidity(){if(this.invalid=!this.inputRef.value.reportValidity(),this.invalid){vi(this,"invalid",{bubbles:!1,cancelable:!0,composed:!1}).defaultPrevented&&(this.inputRef.value.blur(),this.inputRef.value.focus())}return!this.invalid}setCustomValidity(e){this.inputRef.value.setCustomValidity(e),this.invalid=!this.inputRef.value.checkValidity()}render(){return ct`${lo(this.isSelectable&&this.isSingle,(()=>ct``))}${lo(this.isSelectable&&this.isMultiple,(()=>ct``))}`}async updateSelected(e){var t;if(this.items.forEach((e=>e.selected=this.selectedKeys.includes(e.key))),e){await this.updateComplete;const e=this.formController.getForm();e&&(null===(t=Bi.get(e))||void 0===t?void 0:t.has(this))?(this.invalid=!1,Bi.get(e).delete(this)):this.invalid=!this.inputRef.value.checkValidity()}}selectOne(e){if(this.isMultiple){const t=[...this.selectedKeys];t.includes(e.key)?t.splice(t.indexOf(e.key),1):t.push(e.key),this.selectedKeys=t}this.isSingle&&(this.selectedKeys.includes(e.key)?this.selectedKeys=[]:this.selectedKeys=[e.key]),this.updateSelected(this.hasUpdated)}onClick(e){if(e.button)return;const t=e.target.closest("mdui-segmented-button");t.disabled||this.isSelectable&&t.value&&this.selectOne(t)}onInputKeyDown(e){if(["Enter"," "].includes(e.key)){if(e.preventDefault(),this.isSingle){const t=e.target;t.checked=!t.checked,this.selectOne(this.itemsEnabled[0]),this.itemsEnabled[0].focus()}this.isMultiple&&(this.selectOne(this.itemsEnabled[0]),this.itemsEnabled[0].focus())}}onSlotChange(){const e=this.items;e.forEach(((t,i)=>{t.classList.toggle("mdui-segmented-button-first",0===i),t.classList.toggle("mdui-segmented-button-last",i===e.length-1)}))}},e.SegmentedButtonGroup.styles=[Wt,Xo],Re([Pt({type:Boolean,reflect:!0,converter:mi,attribute:"full-width"})],e.SegmentedButtonGroup.prototype,"fullWidth",void 0),Re([Pt({reflect:!0})],e.SegmentedButtonGroup.prototype,"selects",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.SegmentedButtonGroup.prototype,"disabled",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.SegmentedButtonGroup.prototype,"required",void 0),Re([Pt({reflect:!0})],e.SegmentedButtonGroup.prototype,"form",void 0),Re([Pt({reflect:!0})],e.SegmentedButtonGroup.prototype,"name",void 0),Re([Pt()],e.SegmentedButtonGroup.prototype,"value",void 0),Re([Xi()],e.SegmentedButtonGroup.prototype,"defaultValue",void 0),Re([Mt()],e.SegmentedButtonGroup.prototype,"selectedKeys",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.SegmentedButtonGroup.prototype,"invalid",void 0),Re([fi("selects")],e.SegmentedButtonGroup.prototype,"onSelectsChange",null),Re([fi("selectedKeys",!0)],e.SegmentedButtonGroup.prototype,"onSelectedKeysChange",null),Re([fi("value")],e.SegmentedButtonGroup.prototype,"onValueChange",null),Re([fi("invalid")],e.SegmentedButtonGroup.prototype,"onInvalidChange",null),Re([fi("disabled")],e.SegmentedButtonGroup.prototype,"onDisabledChange",null),e.SegmentedButtonGroup=Re([Et("mdui-segmented-button-group")],e.SegmentedButtonGroup);const Jo=new WeakMap;let Zo=0;const Qo=new Map,er=new WeakSet,tr=()=>new Promise((e=>requestAnimationFrame(e))),ir=(e,t)=>{const i=e-t;return 0===i?void 0:i},or=(e,t)=>{const i=e/t;return 1===i?void 0:i},rr={left:(e,t)=>{const i=ir(e,t);return{value:i,transform:i&&`translateX(${i}px)`}},top:(e,t)=>{const i=ir(e,t);return{value:i,transform:i&&`translateY(${i}px)`}},width:(e,t)=>{const i=or(e,t);return{value:i,transform:i&&`scaleX(${i})`}},height:(e,t)=>{const i=or(e,t);return{value:i,transform:i&&`scaleY(${i})`}}},nr={duration:333,easing:"ease-in-out"},sr=["left","top","width","height","opacity","color","background"],ar=new WeakMap;const lr=Vt(class extends si{constructor(e){if(super(e),this.t=null,this.i=null,this.o=!0,this.shouldLog=!1,e.type===zt)throw Error("The `animate` directive must be used in attribute position.");this.createFinished()}createFinished(){var e;null===(e=this.resolveFinished)||void 0===e||e.call(this),this.finished=new Promise((e=>{this.h=e}))}async resolveFinished(){var e;null===(e=this.h)||void 0===e||e.call(this),this.h=void 0}render(e){return ht}getController(){return Jo.get(this.l)}isDisabled(){var e;return this.options.disabled||(null===(e=this.getController())||void 0===e?void 0:e.disabled)}update(e,[t]){var i;const o=void 0===this.l;return o&&(this.l=null===(i=e.options)||void 0===i?void 0:i.host,this.l.addController(this),this.element=e.element,ar.set(this.element,this)),this.optionsOrCallback=t,(o||"function"!=typeof t)&&this.u(t),this.render(t)}u(e){var t,i;e=null!=e?e:{};const o=this.getController();void 0!==o&&((e={...o.defaultOptions,...e}).keyframeOptions={...o.defaultOptions.keyframeOptions,...e.keyframeOptions}),null!==(t=(i=e).properties)&&void 0!==t||(i.properties=sr),this.options=e}v(){const e={},t=this.element.getBoundingClientRect(),i=getComputedStyle(this.element);return this.options.properties.forEach((o=>{var r;const n=null!==(r=t[o])&&void 0!==r?r:rr[o]?void 0:i[o],s=Number(n);e[o]=isNaN(s)?n+"":s})),e}p(){let e,t=!0;return this.options.guard&&(e=this.options.guard(),t=((e,t)=>{if(Array.isArray(e)){if(Array.isArray(t)&&t.length===e.length&&e.every(((e,i)=>e===t[i])))return!1}else if(t===e)return!1;return!0})(e,this.m)),this.o=this.l.hasUpdated&&!this.isDisabled()&&!this.isAnimating()&&t&&this.element.isConnected,this.o&&(this.m=Array.isArray(e)?Array.from(e):e),this.o}hostUpdate(){var e;"function"==typeof this.optionsOrCallback&&this.u(this.optionsOrCallback()),this.p()&&(this.g=this.v(),this.t=null!==(e=this.t)&&void 0!==e?e:this.element.parentNode,this.i=this.element.nextSibling)}async hostUpdated(){if(!this.o||!this.element.isConnected||this.options.skipInitial&&!this.isHostRendered)return;let e;this.prepare(),await tr;const t=this._(),i=this.A(this.options.keyframeOptions,t),o=this.v();if(void 0!==this.g){const{from:i,to:r}=this.O(this.g,o,t);this.log("measured",[this.g,o,i,r]),e=this.calculateKeyframes(i,r)}else{const i=Qo.get(this.options.inId);if(i){Qo.delete(this.options.inId);const{from:r,to:n}=this.O(i,o,t);e=this.calculateKeyframes(r,n),e=this.options.in?[{...this.options.in[0],...e[0]},...this.options.in.slice(1),e[1]]:e,Zo++,e.forEach((e=>e.zIndex=Zo))}else this.options.in&&(e=[...this.options.in,{}])}this.animate(e,i)}resetStyles(){var e;void 0!==this.P&&(this.element.setAttribute("style",null!==(e=this.P)&&void 0!==e?e:""),this.P=void 0)}commitStyles(){var e,t;this.P=this.element.getAttribute("style"),null===(e=this.webAnimation)||void 0===e||e.commitStyles(),null===(t=this.webAnimation)||void 0===t||t.cancel()}reconnected(){}async disconnected(){var e;if(!this.o)return;if(void 0!==this.options.id&&Qo.set(this.options.id,this.g),void 0===this.options.out)return;if(this.prepare(),await tr(),null===(e=this.t)||void 0===e?void 0:e.isConnected){const e=this.i&&this.i.parentNode===this.t?this.i:null;if(this.t.insertBefore(this.element,e),this.options.stabilizeOut){const e=this.v();this.log("stabilizing out");const t=this.g.left-e.left,i=this.g.top-e.top;!("static"===getComputedStyle(this.element).position)||0===t&&0===i||(this.element.style.position="relative"),0!==t&&(this.element.style.left=t+"px"),0!==i&&(this.element.style.top=i+"px")}}const t=this.A(this.options.keyframeOptions);await this.animate(this.options.out,t),this.element.remove()}prepare(){this.createFinished()}start(){var e,t;null===(t=(e=this.options).onStart)||void 0===t||t.call(e,this)}didFinish(e){var t,i;e&&(null===(i=(t=this.options).onComplete)||void 0===i||i.call(t,this)),this.g=void 0,this.animatingProperties=void 0,this.frames=void 0,this.resolveFinished()}_(){const e=[];for(let t=this.element.parentNode;t;t=null==t?void 0:t.parentNode){const i=ar.get(t);i&&!i.isDisabled()&&i&&e.push(i)}return e}get isHostRendered(){const e=er.has(this.l);return e||this.l.updateComplete.then((()=>{er.add(this.l)})),e}A(e,t=this._()){const i={...nr};return t.forEach((e=>Object.assign(i,e.options.keyframeOptions))),Object.assign(i,e),i}O(e,t,i){e={...e},t={...t};const o=i.map((e=>e.animatingProperties)).filter((e=>void 0!==e));let r=1,n=1;return void 0!==o&&(o.forEach((e=>{e.width&&(r/=e.width),e.height&&(n/=e.height)})),void 0!==e.left&&void 0!==t.left&&(e.left=r*e.left,t.left=r*t.left),void 0!==e.top&&void 0!==t.top&&(e.top=n*e.top,t.top=n*t.top)),{from:e,to:t}}calculateKeyframes(e,t,i=!1){var o;const r={},n={};let s=!1;const a={};for(const i in t){const l=e[i],c=t[i];if(i in rr){const e=rr[i];if(void 0===l||void 0===c)continue;const t=e(l,c);void 0!==t.transform&&(a[i]=t.value,s=!0,r.transform=`${null!==(o=r.transform)&&void 0!==o?o:""} ${t.transform}`)}else l!==c&&void 0!==l&&void 0!==c&&(s=!0,r[i]=l,n[i]=c)}return r.transformOrigin=n.transformOrigin=i?"center center":"top left",this.animatingProperties=a,s?[r,n]:void 0}async animate(e,t=this.options.keyframeOptions){this.start(),this.frames=e;let i=!1;if(!this.isAnimating()&&!this.isDisabled()&&(this.options.onFrames&&(this.frames=e=this.options.onFrames(this),this.log("modified frames",e)),void 0!==e)){this.log("animate",[e,t]),i=!0,this.webAnimation=this.element.animate(e,t);const o=this.getController();null==o||o.add(this);try{await this.webAnimation.finished}catch(e){}null==o||o.remove(this)}return this.didFinish(i),i}isAnimating(){var e,t;return"running"===(null===(e=this.webAnimation)||void 0===e?void 0:e.playState)||(null===(t=this.webAnimation)||void 0===t?void 0:t.pending)}log(e,t){this.shouldLog&&!this.isDisabled()&&console.log(e,this.options.id,t)}});let cr=class extends St{render(){return Zi('')}};cr.styles=Ji,cr=Re([Et("mdui-icon-cancel--outlined")],cr);let dr=class extends St{render(){return Zi('')}};dr.styles=Ji,dr=Re([Et("mdui-icon-error")],dr);let hr=class extends St{render(){return Zi('')}};hr.styles=Ji,hr=Re([Et("mdui-icon-visibility-off")],hr);let ur=class extends St{render(){return Zi('')}};ur.styles=Ji,ur=Re([Et("mdui-icon-visibility")],ur);const pr=Pe`:host{display:inline-block;width:100%}:host([disabled]){pointer-events:none}:host([type=hidden]){display:none}.container{position:relative;display:flex;align-items:center;transition:box-shadow var(--mdui-motion-duration-short4) var(--mdui-motion-easing-standard);padding:0 1rem}.container.has-icon{padding-left:.75rem}.container.has-end-icon,.container.has-error-icon{padding-right:.75rem}:host([variant=filled]) .container{box-shadow:inset 0 -.0625rem 0 0 rgb(var(--mdui-color-on-surface-variant));background-color:rgb(var(--mdui-color-surface-container-highest));border-radius:var(--mdui-shape-corner-extra-small) var(--mdui-shape-corner-extra-small) 0 0}:host([variant=filled][invalid-style]) .container,:host([variant=filled][invalid]) .container{box-shadow:inset 0 -.0625rem 0 0 rgb(var(--mdui-color-error))}:host([variant=filled]:hover) .container{box-shadow:inset 0 -.0625rem 0 0 rgb(var(--mdui-color-on-surface))}:host([variant=filled][invalid-style]:hover) .container,:host([variant=filled][invalid]:hover) .container{box-shadow:inset 0 -.0625rem 0 0 rgb(var(--mdui-color-on-error-container))}:host([variant=filled][focused-style]) .container,:host([variant=filled][focused]) .container{box-shadow:inset 0 -.125rem 0 0 rgb(var(--mdui-color-primary))}:host([variant=filled][focused-style][invalid-style]) .container,:host([variant=filled][focused-style][invalid]) .container,:host([variant=filled][focused][invalid-style]) .container,:host([variant=filled][focused][invalid]) .container{box-shadow:inset 0 -.125rem 0 0 rgb(var(--mdui-color-error))}:host([variant=filled][disabled]) .container{box-shadow:inset 0 -.0625rem 0 0 rgba(var(--mdui-color-on-surface),38%);background-color:rgba(var(--mdui-color-on-surface),4%)}:host([variant=outlined]) .container{box-shadow:inset 0 0 0 .0625rem rgb(var(--mdui-color-outline));border-radius:var(--mdui-shape-corner-extra-small)}:host([variant=outlined][invalid-style]) .container,:host([variant=outlined][invalid]) .container{box-shadow:inset 0 0 0 .0625rem rgb(var(--mdui-color-error))}:host([variant=outlined]:hover) .container{box-shadow:inset 0 0 0 .0625rem rgb(var(--mdui-color-on-surface))}:host([variant=outlined][invalid-style]:hover) .container,:host([variant=outlined][invalid]:hover) .container{box-shadow:inset 0 0 0 .0625rem rgb(var(--mdui-color-on-error-container))}:host([variant=outlined][focused-style]) .container,:host([variant=outlined][focused]) .container{box-shadow:inset 0 0 0 .125rem rgb(var(--mdui-color-primary))}:host([variant=outlined][focused-style][invalid-style]) .container,:host([variant=outlined][focused-style][invalid]) .container,:host([variant=outlined][focused][invalid-style]) .container,:host([variant=outlined][focused][invalid]) .container{box-shadow:inset 0 0 0 .125rem rgb(var(--mdui-color-error))}:host([variant=outlined][disabled]) .container{box-shadow:inset 0 0 0 .125rem rgba(var(--mdui-color-on-surface),12%)}.icon,.prefix,.right-icon,.suffix{display:flex;-webkit-user-select:none;user-select:none;color:rgb(var(--mdui-color-on-surface-variant))}:host([disabled]) .icon,:host([disabled]) .prefix,:host([disabled]) .right-icon,:host([disabled]) .suffix{color:rgba(var(--mdui-color-on-surface),38%)}:host([invalid-style]) .right-icon,:host([invalid-style]) .suffix,:host([invalid]) .right-icon,:host([invalid]) .suffix{color:rgb(var(--mdui-color-error))}:host([invalid-style]:hover) .right-icon,:host([invalid-style]:hover) .suffix,:host([invalid]:hover) .right-icon,:host([invalid]:hover) .suffix{color:rgb(var(--mdui-color-on-error-container))}:host([focused-style][invalid-style]) .right-icon,:host([focused-style][invalid-style]) .suffix,:host([focused-style][invalid]) .right-icon,:host([focused-style][invalid]) .suffix,:host([focused][invalid-style]) .right-icon,:host([focused][invalid-style]) .suffix,:host([focused][invalid]) .right-icon,:host([focused][invalid]) .suffix{color:rgb(var(--mdui-color-error))}.icon,.right-icon{font-size:1.5rem}.icon mdui-button-icon,.right-icon mdui-button-icon,::slotted(mdui-button-icon[slot]){margin-left:-.5rem;margin-right:-.5rem}.icon .i,.right-icon .i,::slotted([slot$=icon]){font-size:inherit}.has-icon .icon{margin-right:1rem}.has-end-icon .end-icon,.right-icon:not(.end-icon){margin-left:1rem}.prefix,.suffix{display:none;font-size:var(--mdui-typescale-body-large-size);font-weight:var(--mdui-typescale-body-large-weight);letter-spacing:var(--mdui-typescale-body-large-tracking);line-height:var(--mdui-typescale-body-large-line-height)}:host([variant=filled][label]) .prefix,:host([variant=filled][label]) .suffix{padding-top:1rem}.has-value .prefix,.has-value .suffix,:host([focused-style]) .prefix,:host([focused-style]) .suffix,:host([focused]) .prefix,:host([focused]) .suffix{display:flex}.prefix{padding-right:.125rem}.suffix{padding-left:.125rem}.input-container{width:100%}.label{position:absolute;pointer-events:none;max-width:calc(100% - 1rem);display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:1;top:1rem;color:rgb(var(--mdui-color-on-surface-variant));font-size:var(--mdui-typescale-body-large-size);font-weight:var(--mdui-typescale-body-large-weight);letter-spacing:var(--mdui-typescale-body-large-tracking);line-height:var(--mdui-typescale-body-large-line-height)}:host([invalid-style]) .label,:host([invalid]) .label{color:rgb(var(--mdui-color-error))}:host([variant=outlined]) .label{padding:0 .25rem;margin:0 -.25rem}:host([variant=outlined]:hover) .label{color:rgb(var(--mdui-color-on-surface))}:host([variant=filled][invalid-style]:hover) .label,:host([variant=filled][invalid]:hover) .label,:host([variant=outlined][invalid-style]:hover) .label,:host([variant=outlined][invalid]:hover) .label{color:rgb(var(--mdui-color-on-error-container))}:host([variant=filled][focused-style]) .label,:host([variant=filled][focused]) .label,:host([variant=outlined][focused-style]) .label,:host([variant=outlined][focused]) .label{color:rgb(var(--mdui-color-primary))}:host([variant=filled]) .has-value .label,:host([variant=filled][focused-style]) .label,:host([variant=filled][focused]) .label,:host([variant=filled][type=date]) .label,:host([variant=filled][type=datetime-local]) .label,:host([variant=filled][type=month]) .label,:host([variant=filled][type=time]) .label,:host([variant=filled][type=week]) .label{font-size:var(--mdui-typescale-body-small-size);font-weight:var(--mdui-typescale-body-small-weight);letter-spacing:var(--mdui-typescale-body-small-tracking);line-height:var(--mdui-typescale-body-small-line-height);top:.25rem}:host([variant=outlined]) .has-value .label,:host([variant=outlined][focused-style]) .label,:host([variant=outlined][focused]) .label,:host([variant=outlined][type=date]) .label,:host([variant=outlined][type=datetime-local]) .label,:host([variant=outlined][type=month]) .label,:host([variant=outlined][type=time]) .label,:host([variant=outlined][type=week]) .label{font-size:var(--mdui-typescale-body-small-size);font-weight:var(--mdui-typescale-body-small-weight);letter-spacing:var(--mdui-typescale-body-small-tracking);line-height:var(--mdui-typescale-body-small-line-height);top:-.5rem;left:.75rem;background-color:rgb(var(--mdui-color-background))}:host([variant=filled][focused-style][invalid-style]) .label,:host([variant=filled][focused-style][invalid]) .label,:host([variant=filled][focused][invalid-style]) .label,:host([variant=filled][focused][invalid]) .label,:host([variant=outlined][focused-style][invalid-style]) .label,:host([variant=outlined][focused-style][invalid]) .label,:host([variant=outlined][focused][invalid-style]) .label,:host([variant=outlined][focused][invalid]) .label{color:rgb(var(--mdui-color-error))}:host([variant=filled][disabled]) .label,:host([variant=outlined][disabled]) .label{color:rgba(var(--mdui-color-on-surface),38%)}.input{display:flex;flex-wrap:wrap;width:100%;border:none;outline:0;background:0 0;-webkit-appearance:none;appearance:none;resize:none;cursor:inherit;font-family:inherit;padding:1rem 0;font-size:var(--mdui-typescale-body-large-size);font-weight:var(--mdui-typescale-body-large-weight);letter-spacing:var(--mdui-typescale-body-large-tracking);line-height:var(--mdui-typescale-body-large-line-height);color:rgb(var(--mdui-color-on-surface));caret-color:rgb(var(--mdui-color-primary))}.input.hide-input{opacity:0;height:0;padding:0!important;overflow:hidden}.input::placeholder{color:rgb(var(--mdui-color-on-surface-variant))}:host([invalid-style]) .input,:host([invalid]) .input{caret-color:rgb(var(--mdui-color-error))}:host([disabled]) .input{color:rgba(var(--mdui-color-on-surface),38%)}:host([end-aligned]) .input{text-align:right}:host([variant=filled]) .label+.input{padding:1.5rem 0 .5rem 0}.supporting{display:flex;justify-content:space-between;padding:.25rem 1rem;color:rgb(var(--mdui-color-on-surface-variant))}:host([invalid-style]) .supporting,:host([invalid]) .supporting{color:rgb(var(--mdui-color-error))}.helper{display:block;opacity:1;transition:opacity var(--mdui-motion-duration-short4) var(--mdui-motion-easing-linear);font-size:var(--mdui-typescale-body-small-size);font-weight:var(--mdui-typescale-body-small-weight);letter-spacing:var(--mdui-typescale-body-small-tracking);line-height:var(--mdui-typescale-body-small-line-height)}:host([disabled]) .helper{color:rgba(var(--mdui-color-on-surface),38%)}:host([helper-on-focus]) .helper{opacity:0}:host([helper-on-focus][focused-style]) .helper,:host([helper-on-focus][focused]) .helper{opacity:1}.error{font-size:var(--mdui-typescale-body-small-size);font-weight:var(--mdui-typescale-body-small-weight);letter-spacing:var(--mdui-typescale-body-small-tracking);line-height:var(--mdui-typescale-body-small-line-height)}.counter{flex-wrap:nowrap;padding-left:1rem;font-size:var(--mdui-typescale-body-small-size);font-weight:var(--mdui-typescale-body-small-weight);letter-spacing:var(--mdui-typescale-body-small-tracking);line-height:var(--mdui-typescale-body-small-line-height)}::-ms-reveal{display:none}.is-firefox .input[type=date],.is-firefox .input[type=datetime-local],.is-firefox .input[type=time]{-webkit-clip-path:inset(0 2em 0 0);clip-path:inset(0 2em 0 0)}.input[type=number]::-webkit-inner-spin-button,.input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;display:none}.input[type=number]{-moz-appearance:textfield}.input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}`;e.TextField=class extends(Fi(St)){constructor(){super(...arguments),this.variant="filled",this.type="text",this.name="",this.value="",this.defaultValue="",this.helperOnFocus=!1,this.clearable=!1,this.endAligned=!1,this.readonly=!1,this.disabled=!1,this.required=!1,this.autosize=!1,this.counter=!1,this.togglePassword=!1,this.spellcheck=!1,this.invalid=!1,this.invalidStyle=!1,this.focusedStyle=!1,this.isPasswordVisible=!1,this.hasValue=!1,this.error="",this.inputRef=Ei(),this.formController=new Li(this),this.hasSlotController=new jt(this,"icon","end-icon","helper","input"),this.readonlyButClearable=!1}get validity(){return this.inputRef.value.validity}get validationMessage(){return this.inputRef.value.validationMessage}get valueAsNumber(){var e,t;return null!==(t=null===(e=this.inputRef.value)||void 0===e?void 0:e.valueAsNumber)&&void 0!==t?t:parseFloat(this.value)}set valueAsNumber(e){const t=document.createElement("input");t.type="number",t.valueAsNumber=e,this.value=t.value}get focusElement(){return this.inputRef.value}get focusDisabled(){return this.disabled}get isFocusedStyle(){return this.focused||this.focusedStyle}get isTextarea(){return this.rows&&this.rows>1||this.autosize}onDisabledChange(){this.inputRef.value.disabled=this.disabled,this.invalid=!this.inputRef.value.checkValidity()}async onValueChange(){var e;if(this.hasValue=!!this.value,this.hasUpdated){await this.updateComplete;const t=this.formController.getForm();t&&(null===(e=Bi.get(t))||void 0===e?void 0:e.has(this))?(this.invalid=!1,Bi.get(t).delete(this)):this.invalid=!this.inputRef.value.checkValidity()}}onRowsChange(){this.setTextareaHeight()}async onMaxRowsChange(){if(!this.autosize)return;const e=()=>{var e;const t=P(this.inputRef.value);t.css("max-height",parseFloat(t.css("line-height"))*(null!==(e=this.maxRows)&&void 0!==e?e:1)+parseFloat(t.css("padding-top"))+parseFloat(t.css("padding-bottom")))};this.hasUpdated||await this.updateComplete,e()}async onMinRowsChange(){if(!this.autosize)return;const e=()=>{var e;const t=P(this.inputRef.value);t.css("min-height",parseFloat(t.css("line-height"))*(null!==(e=this.minRows)&&void 0!==e?e:1)+parseFloat(t.css("padding-top"))+parseFloat(t.css("padding-bottom")))};this.hasUpdated||await this.updateComplete,e()}connectedCallback(){super.connectedCallback(),this.updateComplete.then((()=>{this.setTextareaHeight(),this.observeResize=Ci(this.inputRef.value,(()=>this.setTextareaHeight()))}))}disconnectedCallback(){var e;super.disconnectedCallback(),null===(e=this.observeResize)||void 0===e||e.unobserve()}select(){this.inputRef.value.select()}setSelectionRange(e,t,i="none"){this.inputRef.value.setSelectionRange(e,t,i)}setRangeText(e,t,i,o="preserve"){this.inputRef.value.setRangeText(e,t,i,o),this.value!==this.inputRef.value.value&&(this.value=this.inputRef.value.value,this.setTextareaHeight(),vi(this,"input"),vi(this,"change"))}checkValidity(){const e=this.inputRef.value.checkValidity();return e||vi(this,"invalid",{bubbles:!1,cancelable:!0,composed:!1}),e}reportValidity(){return this.invalid=!this.inputRef.value.reportValidity(),this.invalid&&(vi(this,"invalid",{bubbles:!1,cancelable:!0,composed:!1}),this.focus()),!this.invalid}setCustomValidity(e){this.inputRef.value.setCustomValidity(e),this.invalid=!this.inputRef.value.checkValidity()}render(){const e=!!this.icon||this.hasSlotController.test("icon"),t=!!this.endIcon||this.hasSlotController.test("end-icon"),i=this.invalid||this.invalidStyle,o=!!this.helper||this.hasSlotController.test("helper"),r=i&&!(!this.error&&!this.inputRef.value.validationMessage),n=this.counter&&!!this.maxlength,s=this.hasSlotController.test("input"),a=Ni({container:!0,"has-value":this.hasValue,"has-icon":e,"has-end-icon":t,"has-error-icon":i,"is-firefox":navigator.userAgent.includes("Firefox")});return ct`
${this.renderPrefix()}
${this.renderLabel()} ${this.isTextarea?this.renderTextArea(s):this.renderInput(s)} ${lo(s,(()=>ct``))}
${this.renderClearButton()}${this.renderTogglePasswordButton()} ${this.renderSuffix(i)}
${lo(r||o||n,(()=>ct`
${this.renderHelper(r,o)} ${this.renderCounter(n)}
`))}`}onChange(){this.value=this.inputRef.value.value,this.isTextarea&&this.setTextareaHeight(),vi(this,"change")}onClear(e){this.value="",vi(this,"clear"),vi(this,"input"),vi(this,"change"),this.focus(),e.stopPropagation()}onInput(){this.value=this.inputRef.value.value,this.isTextarea&&this.setTextareaHeight(),vi(this,"input")}onInvalid(e){e.preventDefault()}onKeyDown(e){const t=e.metaKey||e.ctrlKey||e.shiftKey||e.altKey;"Enter"!==e.key||t||setTimeout((()=>{e.defaultPrevented||this.formController.submit()}))}onTextAreaKeyUp(){if(this.pattern){const e=new RegExp(this.pattern),t=this.value&&!this.value.match(e);this.setCustomValidity(t?"请与请求的格式匹配。":"")}}onTogglePassword(){this.isPasswordVisible=!this.isPasswordVisible}setTextareaHeight(){this.autosize?(this.inputRef.value.style.height="auto",this.inputRef.value.style.height=`${this.inputRef.value.scrollHeight}px`):this.inputRef.value.style.height=void 0}renderLabel(){return this.label?ct``:Gt}renderPrefix(){return ct`${this.icon?ct``:Gt}${this.prefix}`}renderSuffix(e){return ct`${this.suffix}${e?ct`${this.errorIcon?ct``:ct``}`:ct`${this.endIcon?ct``:Gt}`}`}renderClearButton(){return lo(this.clearable&&!this.disabled&&(!this.readonly||this.readonlyButClearable)&&("number"==typeof this.value||this.value.length>0),(()=>ct`${this.clearIcon?ct``:ct``}`))}renderTogglePasswordButton(){return lo("password"===this.type&&this.togglePassword&&!this.disabled,(()=>ct`${this.isPasswordVisible?ct`${this.showPasswordIcon?ct``:ct``}`:ct`${this.hidePasswordIcon?ct``:ct``}`}`))}renderInput(e){return ct``}renderTextArea(e){var t;return ct``}renderHelper(e,t){return e?ct`
${this.error||this.inputRef.value.validationMessage}
`:t?ct`${this.helper}`:ct``}renderCounter(e){return e?ct`
${this.value.length}/${this.maxlength}
`:Gt}},e.TextField.styles=[Wt,pr],Re([Pt({reflect:!0})],e.TextField.prototype,"variant",void 0),Re([Pt({reflect:!0})],e.TextField.prototype,"type",void 0),Re([Pt({reflect:!0})],e.TextField.prototype,"name",void 0),Re([Pt()],e.TextField.prototype,"value",void 0),Re([Xi()],e.TextField.prototype,"defaultValue",void 0),Re([Pt({reflect:!0})],e.TextField.prototype,"label",void 0),Re([Pt({reflect:!0})],e.TextField.prototype,"placeholder",void 0),Re([Pt({reflect:!0})],e.TextField.prototype,"helper",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi,attribute:"helper-on-focus"})],e.TextField.prototype,"helperOnFocus",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.TextField.prototype,"clearable",void 0),Re([Pt({reflect:!0,attribute:"clear-icon"})],e.TextField.prototype,"clearIcon",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi,attribute:"end-aligned"})],e.TextField.prototype,"endAligned",void 0),Re([Pt({reflect:!0})],e.TextField.prototype,"prefix",void 0),Re([Pt({reflect:!0})],e.TextField.prototype,"suffix",void 0),Re([Pt({reflect:!0})],e.TextField.prototype,"icon",void 0),Re([Pt({reflect:!0,attribute:"end-icon"})],e.TextField.prototype,"endIcon",void 0),Re([Pt({reflect:!0,attribute:"error-icon"})],e.TextField.prototype,"errorIcon",void 0),Re([Pt({reflect:!0})],e.TextField.prototype,"form",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.TextField.prototype,"readonly",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.TextField.prototype,"disabled",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.TextField.prototype,"required",void 0),Re([Pt({type:Number,reflect:!0})],e.TextField.prototype,"rows",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.TextField.prototype,"autosize",void 0),Re([Pt({type:Number,reflect:!0,attribute:"min-rows"})],e.TextField.prototype,"minRows",void 0),Re([Pt({type:Number,reflect:!0,attribute:"max-rows"})],e.TextField.prototype,"maxRows",void 0),Re([Pt({type:Number,reflect:!0})],e.TextField.prototype,"minlength",void 0),Re([Pt({type:Number,reflect:!0})],e.TextField.prototype,"maxlength",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.TextField.prototype,"counter",void 0),Re([Pt({type:Number,reflect:!0})],e.TextField.prototype,"min",void 0),Re([Pt({type:Number,reflect:!0})],e.TextField.prototype,"max",void 0),Re([Pt({type:Number,reflect:!0})],e.TextField.prototype,"step",void 0),Re([Pt({reflect:!0})],e.TextField.prototype,"pattern",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi,attribute:"toggle-password"})],e.TextField.prototype,"togglePassword",void 0),Re([Pt({reflect:!0,attribute:"show-password-icon"})],e.TextField.prototype,"showPasswordIcon",void 0),Re([Pt({reflect:!0,attribute:"hide-password-icon"})],e.TextField.prototype,"hidePasswordIcon",void 0),Re([Pt({reflect:!0})],e.TextField.prototype,"autocapitalize",void 0),Re([Pt({reflect:!0})],e.TextField.prototype,"autocorrect",void 0),Re([Pt({reflect:!0})],e.TextField.prototype,"autocomplete",void 0),Re([Pt({reflect:!0})],e.TextField.prototype,"enterkeyhint",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.TextField.prototype,"spellcheck",void 0),Re([Pt({reflect:!0})],e.TextField.prototype,"inputmode",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.TextField.prototype,"invalid",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi,attribute:"invalid-style"})],e.TextField.prototype,"invalidStyle",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi,attribute:"focused-style"})],e.TextField.prototype,"focusedStyle",void 0),Re([Mt()],e.TextField.prototype,"isPasswordVisible",void 0),Re([Mt()],e.TextField.prototype,"hasValue",void 0),Re([Mt()],e.TextField.prototype,"error",void 0),Re([fi("disabled",!0)],e.TextField.prototype,"onDisabledChange",null),Re([fi("value")],e.TextField.prototype,"onValueChange",null),Re([fi("rows",!0)],e.TextField.prototype,"onRowsChange",null),Re([fi("maxRows")],e.TextField.prototype,"onMaxRowsChange",null),Re([fi("minRows")],e.TextField.prototype,"onMinRowsChange",null),e.TextField=Re([Et("mdui-text-field")],e.TextField);const mr=Pe`:host{display:inline-block;width:100%}.hidden-input{display:none}.text-field{cursor:pointer}.chips{display:flex;flex-wrap:wrap;margin:-.5rem -.25rem;min-height:2.5rem}:host([variant=filled][label]) .chips{margin:0 -.25rem -1rem -.25rem}.chip{margin:.25rem}mdui-menu{max-width:none}`;e.Select=class extends(Fi(St)){constructor(){super(...arguments),this.variant="filled",this.multiple=!1,this.name="",this.value="",this.defaultValue="",this.clearable=!1,this.placement="auto",this.endAligned=!1,this.readonly=!1,this.disabled=!1,this.required=!1,this.invalid=!1,this.menuRef=Ei(),this.textFieldRef=Ei(),this.hiddenInputRef=Ei(),this.formController=new Li(this),this.hasSlotController=new jt(this,"icon","end-icon","error-icon","prefix","suffix","clear-button","clear-icon","helper")}get validity(){return this.hiddenInputRef.value.validity}get validationMessage(){return this.hiddenInputRef.value.validationMessage}get focusElement(){return this.textFieldRef.value}get focusDisabled(){return this.disabled}connectedCallback(){super.connectedCallback(),this.value=this.multiple&&c(this.value)?this.value?[this.value]:[]:this.value,this.defaultValue=this.multiple?[]:"",this.updateComplete.then((()=>{this.observeResize=Ci(this.textFieldRef.value,(()=>this.resizeMenu()))}))}disconnectedCallback(){var e;super.disconnectedCallback(),null===(e=this.observeResize)||void 0===e||e.unobserve()}checkValidity(){const e=this.hiddenInputRef.value.checkValidity();return e||vi(this,"invalid",{bubbles:!1,cancelable:!0,composed:!1}),e}reportValidity(){return this.invalid=!this.hiddenInputRef.value.reportValidity(),this.invalid&&(vi(this,"invalid",{bubbles:!1,cancelable:!0,composed:!1}),this.focus()),!this.invalid}setCustomValidity(e){this.hiddenInputRef.value.setCustomValidity(e),this.invalid=!this.hiddenInputRef.value.checkValidity()}firstUpdated(e){super.firstUpdated(e),this.requestUpdate()}render(){var e;const t=this.multiple?!!this.value.length:!!this.value;return ct`${this.multiple?ct``:ct``}${jo(["icon","end-icon","error-icon","prefix","suffix","clear-button","clear-icon","helper"],(e=>this.hasSlotController.test(e)?ct``:ht))} ${lo(this.multiple&&this.value.length,(()=>ct`
${jo(this.value,(e=>ct`${this.getMenuItemLabelByValue(e)}`))}
`))}
`}getMenuItemLabelByValue(e){var t;return this.menuItems.length&&(null===(t=this.menuItems.find((t=>t.value===e)))||void 0===t?void 0:t.textContent)||e}resizeMenu(){this.menuRef.value.style.width=`${this.textFieldRef.value.clientWidth}px`}async onDropdownOpen(){this.textFieldRef.value.focusedStyle=!0}onDropdownClose(){this.textFieldRef.value.focusedStyle=!1}async onValueChange(e){var t,i;const o=e.target;this.value=this.multiple?o.value.map((e=>null!=e?e:"")):null!==(t=o.value)&&void 0!==t?t:"",await this.updateComplete;const r=this.formController.getForm();r&&(null===(i=Bi.get(r))||void 0===i?void 0:i.has(this))?(this.invalid=!1,Bi.get(r).delete(this)):this.invalid=!this.hiddenInputRef.value.checkValidity()}onDeleteOneValue(e){const t=[...this.value];t.includes(e)&&t.splice(t.indexOf(e),1),this.value=t}onClear(){this.value=this.multiple?[]:""}onTextFieldKeyDown(e){"Enter"===e.key&&(e.preventDefault(),this.textFieldRef.value.click())}},e.Select.enabledWarnings=["migration"],e.Select.styles=[Wt,mr],Re([Pt({reflect:!0})],e.Select.prototype,"variant",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.Select.prototype,"multiple",void 0),Re([Pt({reflect:!0})],e.Select.prototype,"name",void 0),Re([Pt()],e.Select.prototype,"value",void 0),Re([Xi()],e.Select.prototype,"defaultValue",void 0),Re([Pt({reflect:!0})],e.Select.prototype,"label",void 0),Re([Pt({reflect:!0})],e.Select.prototype,"placeholder",void 0),Re([Pt({reflect:!0})],e.Select.prototype,"helper",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.Select.prototype,"clearable",void 0),Re([Pt({reflect:!0,attribute:"clear-icon"})],e.Select.prototype,"clearIcon",void 0),Re([Pt({reflect:!0})],e.Select.prototype,"placement",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi,attribute:"end-aligned"})],e.Select.prototype,"endAligned",void 0),Re([Pt({reflect:!0})],e.Select.prototype,"prefix",void 0),Re([Pt({reflect:!0})],e.Select.prototype,"suffix",void 0),Re([Pt({reflect:!0})],e.Select.prototype,"icon",void 0),Re([Pt({reflect:!0,attribute:"end-icon"})],e.Select.prototype,"endIcon",void 0),Re([Pt({reflect:!0,attribute:"error-icon"})],e.Select.prototype,"errorIcon",void 0),Re([Pt({reflect:!0})],e.Select.prototype,"form",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.Select.prototype,"readonly",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.Select.prototype,"disabled",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.Select.prototype,"required",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.Select.prototype,"invalid",void 0),Re([Lt({flatten:!0,selector:"mdui-menu-item"})],e.Select.prototype,"menuItems",void 0),e.Select=Re([Et("mdui-select")],e.Select);const vr=Pe`.track-active{left:-.125rem;border-radius:var(--mdui-shape-corner-full) 0 0 var(--mdui-shape-corner-full)}`;e.Slider=class extends Wo{constructor(){super(...arguments),this.value=0,this.defaultValue=0,this.rippleRef=Ei(),this.handleRef=Ei(),this.formController=new Li(this)}get rippleElement(){return this.rippleRef.value}onValueChange(){var e;const t=this.formController.getForm();t&&(null===(e=Bi.get(t))||void 0===e?void 0:e.has(this))?(this.invalid=!1,Bi.get(t).delete(this)):this.invalid=!this.inputRef.value.checkValidity(),this.inputRef.value.value=this.value.toString(),this.value=parseFloat(this.inputRef.value.value),this.updateStyle()}connectedCallback(){super.connectedCallback(),this.valuethis.max&&(this.value=this.max);const e=()=>{this.disabled||(this.labelVisible=!0)},t=()=>{this.disabled||(this.labelVisible=!1)};this.addEventListener("touchstart",e),this.addEventListener("mousedown",e),this.addEventListener("touchend",t),this.addEventListener("mouseup",t)}firstUpdated(e){super.firstUpdated(e),this.updateStyle()}render(){return ct``}updateStyle(){const e=(this.value-this.min)/(this.max-this.min)*100;this.trackActiveRef.value.style.width=`${e}%`,this.handleRef.value.style.left=`${e}%`}onInput(){this.value=parseFloat(this.inputRef.value.value),vi(this,"input"),this.updateStyle()}},e.Slider.styles=[Wo.styles,vr],Re([Pt({type:Number})],e.Slider.prototype,"value",void 0),Re([Xi()],e.Slider.prototype,"defaultValue",void 0),Re([fi("value",!0)],e.Slider.prototype,"onValueChange",null),e.Slider=Re([Et("mdui-slider")],e.Slider);const fr=Pe`:host{--shape-corner:var(--mdui-shape-corner-extra-small);--z-index:2400;position:fixed;z-index:var(--z-index);display:none;align-items:center;flex-wrap:wrap;border-radius:var(--shape-corner);min-width:20rem;max-width:36rem;padding:.25rem 0;box-shadow:var(--mdui-elevation-level3);background-color:rgb(var(--mdui-color-inverse-surface));color:rgb(var(--mdui-color-inverse-on-surface));font-size:var(--mdui-typescale-body-medium-size);font-weight:var(--mdui-typescale-body-medium-weight);letter-spacing:var(--mdui-typescale-body-medium-tracking);line-height:var(--mdui-typescale-body-medium-line-height)}:host([placement^=top]){transform-origin:top;top:1rem}:host([placement^=bottom]){transform-origin:bottom;bottom:1rem}:host([placement=bottom-start]),:host([placement=top-start]){left:1rem}:host([placement=bottom-end]),:host([placement=top-end]){right:1rem}.message{display:block;margin:.625rem 1rem}:host([message-line='1']) .message{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:host([message-line='2']) .message{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:2}.action-group{display:flex;align-items:center;margin-left:auto;padding-right:.5rem}.action,.close-button{display:inline-flex;align-items:center;justify-content:center}.action{color:rgb(var(--mdui-color-inverse-primary));font-size:var(--mdui-typescale-label-large-size);font-weight:var(--mdui-typescale-label-large-weight);letter-spacing:var(--mdui-typescale-label-large-tracking)}.action mdui-button,::slotted(mdui-button[slot=action][variant=outlined]),::slotted(mdui-button[slot=action][variant=text]){color:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;--mdui-comp-ripple-state-layer-color:var(--mdui-color-inverse-primary)}.action mdui-button::part(button){padding:0 .5rem}.close-button{margin:0 -.25rem 0 .25rem;font-size:1.5rem;color:rgb(var(--mdui-color-inverse-on-surface))}.close-button mdui-button-icon,::slotted(mdui-button-icon[slot=close-button][variant=outlined]),::slotted(mdui-button-icon[slot=close-button][variant=standard]){font-size:inherit;color:inherit;--mdui-comp-ripple-state-layer-color:var(--mdui-color-inverse-on-surface)}.close-button .i,::slotted([slot=close-icon]){font-size:inherit}`;e.Snackbar=class extends St{constructor(){super(),this.open=!1,this.placement="bottom",this.actionLoading=!1,this.closeable=!1,this.autoCloseDelay=5e3,this.closeOnOutsideClick=!1,this.onDocumentClick=this.onDocumentClick.bind(this)}async onOpenChange(){const e=zo().down("sm"),t=["top","bottom"].includes(this.placement),i=vo(this,"linear"),o=vo(this,"emphasized-decelerate"),r=Array.from(this.renderRoot.querySelectorAll(".message, .action-group")),n=e?{left:"1rem",right:"1rem",minWidth:0}:t?{left:"50%"}:{};if(this.open){const s=this.hasUpdated;if(s||await this.updateComplete,s){if(vi(this,"open",{cancelable:!0}).defaultPrevented)return}window.clearTimeout(this.closeTimeout),this.autoCloseDelay&&(this.closeTimeout=window.setTimeout((()=>{this.open=!1}),this.autoCloseDelay)),this.style.display="flex",await Promise.all([ho(this),...r.map((e=>ho(e)))]);const a=fo(this,"medium4"),l=i=>{const o=`scaleY(${"start"===i?0:1})`;return e?{transform:o}:{transform:[o,t?"translateX(-50%)":""].filter((e=>e)).join(" ")}};return await Promise.all([co(this,[{...l("start"),...n},{...l("end"),...n}],{duration:s?a:0,easing:o,fill:"forwards"}),co(this,[{opacity:0},{opacity:1,offset:.5},{opacity:1}],{duration:s?a:0,easing:i,fill:"forwards"}),...r.map((e=>co(e,[{opacity:0},{opacity:0,offset:.2},{opacity:1,offset:.8},{opacity:1}],{duration:s?a:0,easing:i})))]),void(s&&vi(this,"opened"))}if(!this.open&&this.hasUpdated){if(vi(this,"close",{cancelable:!0}).defaultPrevented)return;window.clearTimeout(this.closeTimeout),await Promise.all([ho(this),...r.map((e=>ho(e)))]);const o=fo(this,"short4"),s=i=>{const o={opacity:"start"===i?1:0};return!e&&t&&Object.assign(o,{transform:"translateX(-50%)"}),o};return await Promise.all([co(this,[{...s("start"),...n},{...s("end"),...n}],{duration:o,easing:i,fill:"forwards"}),...r.map((e=>co(e,[{opacity:1},{opacity:0,offset:.75},{opacity:0}],{duration:o,easing:i})))]),this.style.display="none",void vi(this,"closed")}}connectedCallback(){super.connectedCallback(),document.addEventListener("pointerdown",this.onDocumentClick)}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("pointerdown",this.onDocumentClick)}render(){return ct`
${this.action?ct`${this.action}`:Gt}${lo(this.closeable,(()=>ct`${this.closeIcon?ct``:ct``}`))}
`}onDocumentClick(e){if(!this.open||!this.closeOnOutsideClick)return;const t=e.target;this.contains(t)||this===t||(this.open=!1)}onActionClick(e){e.stopPropagation(),vi(this,"action-click")}onCloseClick(){this.open=!1}},e.Snackbar.styles=[Wt,fr],Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.Snackbar.prototype,"open",void 0),Re([Pt({reflect:!0})],e.Snackbar.prototype,"placement",void 0),Re([Pt({reflect:!0,attribute:"action"})],e.Snackbar.prototype,"action",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi,attribute:"action-loading"})],e.Snackbar.prototype,"actionLoading",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.Snackbar.prototype,"closeable",void 0),Re([Pt({reflect:!0,attribute:"close-icon"})],e.Snackbar.prototype,"closeIcon",void 0),Re([Pt({type:Number,reflect:!0,attribute:"message-line"})],e.Snackbar.prototype,"messageLine",void 0),Re([Pt({type:Number,reflect:!0,attribute:"auto-close-delay"})],e.Snackbar.prototype,"autoCloseDelay",void 0),Re([Pt({type:Boolean,reflect:!0,attribute:"close-on-outside-click",converter:mi})],e.Snackbar.prototype,"closeOnOutsideClick",void 0),Re([fi("open")],e.Snackbar.prototype,"onOpenChange",null),e.Snackbar=Re([Et("mdui-snackbar")],e.Snackbar);const gr=Pe`:host{--shape-corner:var(--mdui-shape-corner-full);--shape-corner-thumb:var(--mdui-shape-corner-full);position:relative;display:inline-block;cursor:pointer;-webkit-tap-highlight-color:transparent;height:2.5rem}:host([disabled]){cursor:default;pointer-events:none}label{display:inline-flex;align-items:center;width:100%;height:100%;white-space:nowrap;cursor:inherit;-webkit-user-select:none;user-select:none;touch-action:manipulation;zoom:1;-webkit-user-drag:none}.track{position:relative;display:flex;align-items:center;border-radius:var(--shape-corner);transition-property:background-color,border-width;transition-duration:var(--mdui-motion-duration-short4);transition-timing-function:var(--mdui-motion-easing-standard);height:2rem;width:3.25rem;border:.125rem solid rgb(var(--mdui-color-outline));background-color:rgb(var(--mdui-color-surface-container-highest))}:host([checked]) .track{background-color:rgb(var(--mdui-color-primary));border-width:0}:host([invalid]) .track{background-color:rgb(var(--mdui-color-error-container));border-color:rgb(var(--mdui-color-error))}:host([disabled]) .track{background-color:rgba(var(--mdui-color-surface-container-highest),.12);border-color:rgba(var(--mdui-color-on-surface),.12)}:host([disabled][checked]) .track{background-color:rgba(var(--mdui-color-on-surface),.12)}input{position:absolute;padding:0;opacity:0;pointer-events:none;width:1.25rem;height:1.25rem;margin:0 0 0 .625rem}mdui-ripple{border-radius:50%;transition-property:left,top;transition-duration:var(--mdui-motion-duration-short4);transition-timing-function:var(--mdui-motion-easing-standard);width:2.5rem;height:2.5rem}.thumb{position:absolute;display:flex;align-items:center;justify-content:center;border-radius:var(--shape-corner-thumb);transition-property:width,height,left,background-color;transition-duration:var(--mdui-motion-duration-short4);transition-timing-function:var(--mdui-motion-easing-standard);height:1rem;width:1rem;left:.375rem;background-color:rgb(var(--mdui-color-outline));--mdui-comp-ripple-state-layer-color:var(--mdui-color-on-surface)}.thumb mdui-ripple{left:-.75rem;top:-.75rem}.has-unchecked-icon .thumb{height:1.5rem;width:1.5rem;left:.125rem}.has-unchecked-icon .thumb mdui-ripple{left:-.5rem;top:-.5rem}:host([focus-visible]) .thumb,:host([hover]) .thumb,:host([pressed]) .thumb{background-color:rgb(var(--mdui-color-on-surface-variant))}:host([checked]) .thumb{height:1.5rem;width:1.5rem;left:1.5rem;background-color:rgb(var(--mdui-color-on-primary));--mdui-comp-ripple-state-layer-color:var(--mdui-color-primary)}:host([checked]) .thumb mdui-ripple{left:-.5rem;top:-.5rem}:host([pressed]) .thumb{height:1.75rem;width:1.75rem;left:0}:host([pressed]) .thumb mdui-ripple{left:-.375rem;top:-.375rem}:host([pressed][checked]) .thumb{left:1.375rem}:host([focus-visible][checked]) .thumb,:host([hover][checked]) .thumb,:host([pressed][checked]) .thumb{background-color:rgb(var(--mdui-color-primary-container))}:host([invalid]) .thumb{background-color:rgb(var(--mdui-color-error));--mdui-comp-ripple-state-layer-color:var(--mdui-color-error)}:host([focus-visible][invalid]) .thumb,:host([hover][invalid]) .thumb,:host([pressed][invalid]) .thumb{background-color:rgb(var(--mdui-color-error))}:host([disabled]) .thumb{background-color:rgba(var(--mdui-color-on-surface),.38)}:host([disabled][checked]) .thumb{background-color:rgb(var(--mdui-color-surface))}.checked-icon,.unchecked-icon{display:flex;position:absolute;transition-property:opacity,transform;font-size:1rem}.unchecked-icon{opacity:1;transform:scale(1);transition-delay:var(--mdui-motion-duration-short1);transition-duration:var(--mdui-motion-duration-short3);transition-timing-function:var(--mdui-motion-easing-linear);color:rgb(var(--mdui-color-surface-container-highest))}:host([checked]) .unchecked-icon{opacity:0;transform:scale(.92);transition-delay:0s;transition-duration:var(--mdui-motion-duration-short1)}:host([disabled]) .unchecked-icon{color:rgba(var(--mdui-color-surface-container-highest),.38)}.checked-icon{opacity:0;transform:scale(.92);transition-delay:0s;transition-duration:var(--mdui-motion-duration-short1);transition-timing-function:var(--mdui-motion-easing-linear);color:rgb(var(--mdui-color-on-primary-container))}:host([checked]) .checked-icon{opacity:1;transform:scale(1);transition-delay:var(--mdui-motion-duration-short1);transition-duration:var(--mdui-motion-duration-short3)}:host([invalid]) .checked-icon{color:rgb(var(--mdui-color-error-container))}:host([disabled]) .checked-icon{color:rgba(var(--mdui-color-on-surface),.38)}.checked-icon .i,.unchecked-icon .i,::slotted([slot=checked-icon]),::slotted([slot=unchecked-icon]){font-size:inherit;color:inherit}`;e.Switch=class extends(Ki(Fi(St))){constructor(){super(...arguments),this.disabled=!1,this.checked=!1,this.defaultChecked=!1,this.required=!1,this.name="",this.value="on",this.invalid=!1,this.rippleRef=Ei(),this.inputRef=Ei(),this.formController=new Li(this,{value:e=>e.checked?e.value:void 0,defaultValue:e=>e.defaultChecked,setValue:(e,t)=>e.checked=t}),this.hasSlotController=new jt(this,"unchecked-icon")}get validity(){return this.inputRef.value.validity}get validationMessage(){return this.inputRef.value.validationMessage}get rippleElement(){return this.rippleRef.value}get rippleDisabled(){return this.disabled}get focusElement(){return this.inputRef.value}get focusDisabled(){return this.disabled}async onDisabledChange(){await this.updateComplete,this.invalid=!this.inputRef.value.checkValidity()}async onCheckedChange(){var e;await this.updateComplete;const t=this.formController.getForm();t&&(null===(e=Bi.get(t))||void 0===e?void 0:e.has(this))?(this.invalid=!1,Bi.get(t).delete(this)):this.invalid=!this.inputRef.value.checkValidity()}checkValidity(){const e=this.inputRef.value.checkValidity();return e||vi(this,"invalid",{bubbles:!1,cancelable:!0,composed:!1}),e}reportValidity(){if(this.invalid=!this.inputRef.value.reportValidity(),this.invalid){vi(this,"invalid",{bubbles:!1,cancelable:!0,composed:!1}).defaultPrevented&&(this.blur(),this.focus())}return!this.invalid}setCustomValidity(e){this.inputRef.value.setCustomValidity(e),this.invalid=!this.inputRef.value.checkValidity()}render(){return ct``}onChange(){this.checked=this.inputRef.value.checked,vi(this,"change")}},e.Switch.styles=[Wt,gr],Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.Switch.prototype,"disabled",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.Switch.prototype,"checked",void 0),Re([Xi("checked")],e.Switch.prototype,"defaultChecked",void 0),Re([Pt({reflect:!0,attribute:"unchecked-icon"})],e.Switch.prototype,"uncheckedIcon",void 0),Re([Pt({reflect:!0,attribute:"checked-icon"})],e.Switch.prototype,"checkedIcon",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.Switch.prototype,"required",void 0),Re([Pt({reflect:!0})],e.Switch.prototype,"form",void 0),Re([Pt({reflect:!0})],e.Switch.prototype,"name",void 0),Re([Pt({reflect:!0})],e.Switch.prototype,"value",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.Switch.prototype,"invalid",void 0),Re([fi("disabled",!0),fi("required",!0)],e.Switch.prototype,"onDisabledChange",null),Re([fi("checked",!0)],e.Switch.prototype,"onCheckedChange",null),e.Switch=Re([Et("mdui-switch")],e.Switch);const br=Pe`:host{position:relative;--mdui-comp-ripple-state-layer-color:var(--mdui-color-on-surface)}:host([active]){--mdui-comp-ripple-state-layer-color:var(--mdui-color-primary)}.container{display:flex;justify-content:center;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;height:100%}.preset{flex-direction:column;min-height:3rem;padding:.625rem 1rem}:host([inline]) .preset{flex-direction:row}.icon-container,.label-container{position:relative;display:flex;align-items:center;justify-content:center}.icon-container ::slotted([slot=badge]){position:absolute;transform:translate(50%,-50%)}.icon-container ::slotted([slot=badge][variant=small]){transform:translate(.5625rem,-.5625rem)}.label-container ::slotted([slot=badge]){position:absolute;left:100%;bottom:100%;transform:translate(-.75rem,.625rem)}.label-container ::slotted([slot=badge][variant=small]){transform:translate(-.375rem,.375rem)}.icon,.label{display:flex;color:rgb(var(--mdui-color-on-surface-variant))}:host([focused]) .icon,:host([focused]) .label,:host([hover]) .icon,:host([hover]) .label,:host([pressed]) .icon,:host([pressed]) .label{color:rgb(var(--mdui-color-on-surface))}:host([active]) .icon,:host([active]) .label{color:rgb(var(--mdui-color-primary))}:host([active][variant=secondary]) .icon,:host([active][variant=secondary]) .label{color:rgb(var(--mdui-color-on-surface))}.icon{font-size:1.5rem}.label{font-size:var(--mdui-typescale-title-small-size);font-weight:var(--mdui-typescale-title-small-weight);letter-spacing:var(--mdui-typescale-title-small-tracking);line-height:var(--mdui-typescale-title-small-line-height)}.icon mdui-icon,::slotted([slot=icon]){font-size:inherit;color:inherit}`;e.Tab=class extends(Ki(Fi(St))){constructor(){super(...arguments),this.inline=!1,this.active=!1,this.variant="primary",this.key=yi(),this.rippleRef=Ei(),this.hasSlotController=new jt(this,"icon","custom")}get rippleElement(){return this.rippleRef.value}get rippleDisabled(){return!1}get focusElement(){return this}get focusDisabled(){return!1}render(){const e=this.icon||this.hasSlotController.test("icon"),t=this.hasSlotController.test("custom"),i=()=>ct``;return ct`
${lo(e||this.icon,i)}${this.icon?ct``:Gt}
${lo(!e,i)}
`}},e.Tab.styles=[Wt,br],Re([Pt({reflect:!0})],e.Tab.prototype,"value",void 0),Re([Pt({reflect:!0})],e.Tab.prototype,"icon",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.Tab.prototype,"inline",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.Tab.prototype,"active",void 0),Re([Pt({reflect:!0})],e.Tab.prototype,"variant",void 0),e.Tab=Re([Et("mdui-tab")],e.Tab);const yr=Pe`:host{display:block;overflow-y:auto;flex:1 1 auto}:host(:not([active])){display:none}`;e.TabPanel=class extends St{constructor(){super(...arguments),this.active=!1}render(){return ct``}},e.TabPanel.styles=[Wt,yr],Re([Pt({reflect:!0})],e.TabPanel.prototype,"value",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.TabPanel.prototype,"active",void 0),e.TabPanel=Re([Et("mdui-tab-panel")],e.TabPanel);const wr=Pe`:host{position:relative;display:flex}:host([placement^=top]){flex-direction:column}:host([placement^=bottom]){flex-direction:column-reverse}:host([placement^=left]){flex-direction:row}:host([placement^=right]){flex-direction:row-reverse}.container{position:relative;display:flex;flex:0 0 auto;overflow-x:auto;background-color:rgb(var(--mdui-color-surface))}:host([placement^=bottom]) .container,:host([placement^=top]) .container{flex-direction:row}:host([placement^=left]) .container,:host([placement^=right]) .container{flex-direction:column}:host([placement$='-start']) .container{justify-content:flex-start}:host([placement=bottom]) .container,:host([placement=left]) .container,:host([placement=right]) .container,:host([placement=top]) .container{justify-content:center}:host([placement$='-end']) .container{justify-content:flex-end}.container::after{content:' ';position:absolute;background-color:rgb(var(--mdui-color-surface-variant))}:host([placement^=bottom]) .container::after,:host([placement^=top]) .container::after{left:0;width:100%;height:.0625rem}:host([placement^=top]) .container::after{bottom:0}:host([placement^=bottom]) .container::after{top:0}:host([placement^=left]) .container::after,:host([placement^=right]) .container::after{top:0;height:100%;width:.0625rem}:host([placement^=left]) .container::after{right:0}:host([placement^=right]) .container::after{left:0}.indicator{position:absolute;z-index:1;transition-duration:var(--mdui-motion-duration-medium2);transition-timing-function:var(--mdui-motion-easing-standard-decelerate);background-color:rgb(var(--mdui-color-primary))}:host([placement^=bottom]) .indicator,:host([placement^=top]) .indicator{transition-property:transform,left,width}:host([placement^=left]) .indicator,:host([placement^=right]) .indicator{transition-property:transform,top,height}:host([placement^=top]) .indicator{bottom:0}:host([placement^=bottom]) .indicator{top:0}:host([placement^=left]) .indicator{right:0}:host([placement^=right]) .indicator{left:0}:host([placement^=bottom][variant=primary]) .indicator,:host([placement^=top][variant=primary]) .indicator{height:.1875rem}:host([placement^=bottom][variant=secondary]) .indicator,:host([placement^=top][variant=secondary]) .indicator{height:.125rem}:host([placement^=left][variant=primary]) .indicator,:host([placement^=right][variant=primary]) .indicator{width:.1875rem}:host([placement^=left][variant=secondary]) .indicator,:host([placement^=right][variant=secondary]) .indicator{width:.125rem}:host([placement^=top][variant=primary]) .indicator{border-top-left-radius:.1875rem;border-top-right-radius:.1875rem}:host([placement^=bottom][variant=primary]) .indicator{border-bottom-right-radius:.1875rem;border-bottom-left-radius:.1875rem}:host([placement^=left][variant=primary]) .indicator{border-top-left-radius:.1875rem;border-bottom-left-radius:.1875rem}:host([placement^=right][variant=primary]) .indicator{border-top-right-radius:.1875rem;border-bottom-right-radius:.1875rem}:host([full-width]) ::slotted(mdui-tab){flex:1}`;e.Tabs=class extends St{constructor(){super(...arguments),this.variant="primary",this.placement="top-start",this.fullWidth=!1,this.activeKey=0,this.tabs=[],this.panels=[],this.containerRef=Ei(),this.indicatorRef=Ei()}onActiveKeyChange(){var e;this.value=null===(e=this.tabs.find((e=>e.key===this.activeKey)))||void 0===e?void 0:e.value,vi(this,"change")}onValueChange(){var e;const t=this.tabs.find((e=>e.value===this.value));this.activeKey=null!==(e=null==t?void 0:t.key)&&void 0!==e?e:0,this.updateActive()}onIndicatorChange(){this.updateIndicator()}connectedCallback(){super.connectedCallback(),this.syncTabsAndPanels(),this.updateComplete.then((()=>{this.observeResize=Ci(this.containerRef.value,(()=>this.updateIndicator()))}))}disconnectedCallback(){var e;super.disconnectedCallback(),null===(e=this.observeResize)||void 0===e||e.unobserve()}render(){return ct`
`}syncTabsAndPanels(){this.tabs=P(this).find("mdui-tab").get(),this.panels=P(this).find('mdui-tab-panel[slot="panel"]').get()}onSlotChange(){this.syncTabsAndPanels(),this.updateActive()}onClick(e){if(e.button)return;const t=e.target.closest("mdui-tab");this.activeKey=t.key,this.updateActive()}updateActive(){this.activeTab=this.tabs.map((e=>(e.active=this.activeKey===e.key,e))).find((e=>e.active)),this.panels.forEach((e=>{var t;return e.active=e.value===(null===(t=this.activeTab)||void 0===t?void 0:t.value)})),this.updateIndicator()}async updateIndicator(){await this.updateComplete;const e=this.activeTab,t=P(this.indicatorRef.value),i=this.placement.startsWith("left")||this.placement.startsWith("right");if(!e)return void t.css({transform:i?"scaleY(0)":"scaleX(0)"});const o=P(e),r=e.offsetTop,n=e.offsetLeft,s=i?{transform:"scaleY(1)",width:"",left:""}:{transform:"scaleX(1)",height:"",top:""};let a={};if("primary"===this.variant){const t=o.find(':scope > [slot="custom"]').get(),s=t.length?t:P(e.renderRoot).find('slot[name="custom"]').children().get();if(i){const e=Math.min(...s.map((e=>e.offsetTop)))+r;a={top:e,height:Math.max(...s.map((e=>e.offsetTop+e.offsetHeight)))+r-e}}else{const e=Math.min(...s.map((e=>e.offsetLeft)))+n;a={left:e,width:Math.max(...s.map((e=>e.offsetLeft+e.offsetWidth)))+n-e}}}"secondary"===this.variant&&(a=i?{top:r,height:e.offsetHeight}:{left:n,width:e.offsetWidth}),t.css({...s,...a})}},e.Tabs.styles=[Wt,wr],Re([Pt({reflect:!0})],e.Tabs.prototype,"variant",void 0),Re([Pt({reflect:!0})],e.Tabs.prototype,"value",void 0),Re([Pt({reflect:!0})],e.Tabs.prototype,"placement",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi,attribute:"full-width"})],e.Tabs.prototype,"fullWidth",void 0),Re([Mt()],e.Tabs.prototype,"activeKey",void 0),Re([fi("activeKey",!0)],e.Tabs.prototype,"onActiveKeyChange",null),Re([fi("value")],e.Tabs.prototype,"onValueChange",null),Re([fi("variant",!0),fi("placement",!0),fi("fullWidth",!0)],e.Tabs.prototype,"onIndicatorChange",null),e.Tabs=Re([Et("mdui-tabs")],e.Tabs);class kr{constructor(e,t){this.isHover=!1,this.uniqueID=yi(),this.enterEventName=`mouseenter.${this.uniqueID}.hoverController`,this.leaveEventName=`mouseleave.${this.uniqueID}.hoverController`,this.mouseEnterItems=[],this.mouseLeaveItems=[],(this.host=e).addController(this),this.elementRef=t,this.host.updateComplete.then((()=>{P(this.elementRef.value).on(this.enterEventName,(()=>{this.isHover=!0,this.mouseEnterItems.forEach(((e,t,i)=>{e.callback(),e.one&&i.splice(t,1)}))})).on(this.leaveEventName,(()=>{this.isHover=!1,this.mouseLeaveItems.forEach(((e,t,i)=>{e.callback(),e.one&&i.splice(t,1)}))}))}))}hostDisconnected(){P(this.elementRef.value).off(this.enterEventName).off(this.leaveEventName)}onMouseEnter(e,t=!1){this.mouseEnterItems.push({callback:e,one:t})}onMouseLeave(e,t=!1){this.mouseLeaveItems.push({callback:e,one:t})}}const Cr=Pe`:host{--shape-corner-plain:var(--mdui-shape-corner-extra-small);--shape-corner-rich:var(--mdui-shape-corner-medium);--z-index:2500;display:contents}.popup{position:fixed;display:flex;flex-direction:column;z-index:var(--z-index);border-radius:var(--shape-corner-plain);background-color:rgb(var(--mdui-color-inverse-surface));padding:0 .5rem;min-width:1.75rem;max-width:20rem}:host([variant=rich]) .popup{border-radius:var(--shape-corner-rich);background-color:rgb(var(--mdui-color-surface-container));box-shadow:var(--mdui-elevation-level2);padding:.75rem 1rem .5rem 1rem}.headline{display:flex;color:rgb(var(--mdui-color-on-surface-variant));font-size:var(--mdui-typescale-title-small-size);font-weight:var(--mdui-typescale-title-small-weight);letter-spacing:var(--mdui-typescale-title-small-tracking);line-height:var(--mdui-typescale-title-small-line-height)}.content{display:flex;padding:.25rem 0;color:rgb(var(--mdui-color-inverse-on-surface));font-size:var(--mdui-typescale-body-small-size);font-weight:var(--mdui-typescale-body-small-weight);letter-spacing:var(--mdui-typescale-body-small-tracking);line-height:var(--mdui-typescale-body-small-line-height)}:host([variant=rich]) .content{color:rgb(var(--mdui-color-on-surface-variant));font-size:var(--mdui-typescale-body-medium-size);font-weight:var(--mdui-typescale-body-medium-weight);letter-spacing:var(--mdui-typescale-body-medium-tracking);line-height:var(--mdui-typescale-body-medium-line-height)}.action{display:flex;justify-content:flex-start;padding-top:.5rem}.action ::slotted(:not(:last-child)){margin-right:.5rem}`;e.Tooltip=class extends St{constructor(){super(),this.variant="plain",this.placement="auto",this.openDelay=150,this.closeDelay=150,this.trigger="hover focus",this.disabled=!1,this.open=!1,this.popupRef=Ei(),this.hasSlotController=new jt(this,"headline","action"),this.hoverController=new kr(this,this.popupRef),this.onDocumentClick=this.onDocumentClick.bind(this),this.onWindowScroll=this.onWindowScroll.bind(this),this.onFocus=this.onFocus.bind(this),this.onBlur=this.onBlur.bind(this),this.onClick=this.onClick.bind(this),this.onKeydown=this.onKeydown.bind(this),this.onMouseEnter=this.onMouseEnter.bind(this),this.onMouseLeave=this.onMouseLeave.bind(this)}async onPositionChange(){this.open&&this.updatePositioner()}async onOpenChange(){const e=this.hasUpdated,t=fo(this,"short4"),i=vo(this,"standard");if(this.open){if(P(`mdui-tooltip[variant="${this.variant}"]`).filter(((e,t)=>t!==this)).prop("open",!1),e||await this.updateComplete,e){if(vi(this,"open",{cancelable:!0}).defaultPrevented)return}return await ho(this.popupRef.value),this.popupRef.value.hidden=!1,this.updatePositioner(),await co(this.popupRef.value,[{transform:"scale(0)"},{transform:"scale(1)"}],{duration:e?t:0,easing:i}),void(e&&vi(this,"opened"))}if(!this.open&&e){if(vi(this,"close",{cancelable:!0}).defaultPrevented)return;return await ho(this.popupRef.value),await co(this.popupRef.value,[{transform:"scale(1)"},{transform:"scale(0)"}],{duration:t,easing:i}),this.popupRef.value.hidden=!0,void vi(this,"closed")}}connectedCallback(){super.connectedCallback(),document.addEventListener("pointerdown",this.onDocumentClick),window.addEventListener("scroll",this.onWindowScroll),this.updateComplete.then((()=>{this.observeResize=Ci(this.target,(()=>{this.updatePositioner()}))}))}disconnectedCallback(){var e;super.disconnectedCallback(),document.removeEventListener("pointerdown",this.onDocumentClick),window.removeEventListener("scroll",this.onWindowScroll),null===(e=this.observeResize)||void 0===e||e.unobserve()}firstUpdated(e){super.firstUpdated(e),this.target=this.getTarget(),this.target.addEventListener("focus",this.onFocus),this.target.addEventListener("blur",this.onBlur),this.target.addEventListener("pointerdown",this.onClick),this.target.addEventListener("keydown",this.onKeydown),this.target.addEventListener("mouseenter",this.onMouseEnter),this.target.addEventListener("mouseleave",this.onMouseLeave)}render(){const e=this.isRich()&&(this.headline||this.hasSlotController.test("headline")),t=this.isRich()&&this.hasSlotController.test("action");return ct``}isRich(){return"rich"===this.variant}async requestClose(){this.hoverController.isHover?this.hoverController.onMouseLeave((()=>{this.hasTrigger("hover")?this.hoverTimeout=window.setTimeout((()=>{this.open=!1}),this.closeDelay||50):this.open=!1}),!0):this.open=!1}getTarget(){return[...this.children].find((e=>"style"!==e.tagName.toLowerCase()&&"content"!==e.getAttribute("slot")))}hasTrigger(e){return this.trigger.split(" ").includes(e)}onFocus(){this.disabled||this.open||!this.hasTrigger("focus")||(this.open=!0)}onBlur(){!this.disabled&&this.open&&this.hasTrigger("focus")&&this.requestClose()}onClick(e){this.disabled||e.button||!this.hasTrigger("click")||this.open&&(this.hasTrigger("hover")||this.hasTrigger("focus"))||(this.open=!this.open)}onKeydown(e){!this.disabled&&this.open&&"Escape"===e.key&&(e.stopPropagation(),this.requestClose())}onMouseEnter(){this.disabled||this.open||!this.hasTrigger("hover")||(this.openDelay?(window.clearTimeout(this.hoverTimeout),this.hoverTimeout=window.setTimeout((()=>{this.open=!0}),this.openDelay)):this.open=!0)}onMouseLeave(){window.clearTimeout(this.hoverTimeout),!this.disabled&&this.open&&this.hasTrigger("hover")&&(this.hoverTimeout=window.setTimeout((()=>{this.requestClose()}),this.closeDelay||50))}onDocumentClick(e){if(this.disabled||!this.open)return;e.composedPath().includes(this)||this.requestClose()}onWindowScroll(){window.requestAnimationFrame((()=>this.updatePositioner()))}updatePositioner(){const e=P(this.popupRef.value),t=this.isRich()?0:4,i=this.target.getBoundingClientRect(),o=i.top,r=i.left,n=i.height,s=i.width,a=this.popupRef.value.offsetHeight,l=this.popupRef.value.offsetWidth,c=l+t+4,d=a+t+4;let h,u,p,m,v=this.placement;if("auto"===v){const e=P(window),t=o>d,i=e.height()-o-n>d,a=r>c,l=e.width()-r-s>c;this.isRich()?(v="bottom-right",i&&l?v="bottom-right":i&&a?v="bottom-left":t&&l?v="top-right":t&&a?v="top-left":i?v="bottom":t?v="top":l?v="right":a&&(v="left")):(v="top",t?v="top":i?v="bottom":a?v="left":l&&(v="right"))}const[f,g]=v.split("-");switch(f){case"top":u="bottom",p=o-a-t;break;case"bottom":u="top",p=o+n+t;break;default:switch(u="center",g){case"start":p=o;break;case"end":p=o+n-a;break;default:p=o+n/2-a/2}}switch(f){case"left":h="right",m=r-l-t;break;case"right":h="left",m=r+s+t;break;default:switch(h="center",g){case"start":m=r;break;case"end":m=r+s-l;break;case"left":h="right",m=r-l-t;break;case"right":h="left",m=r+s+t;break;default:m=r+s/2-l/2}}e.css({top:p,left:m,transformOrigin:[h,u].join(" ")})}},e.Tooltip.styles=[Wt,Cr],Re([Pt({reflect:!0})],e.Tooltip.prototype,"variant",void 0),Re([Pt({reflect:!0})],e.Tooltip.prototype,"placement",void 0),Re([Pt({type:Number,reflect:!0,attribute:"open-delay"})],e.Tooltip.prototype,"openDelay",void 0),Re([Pt({type:Number,reflect:!0,attribute:"close-delay"})],e.Tooltip.prototype,"closeDelay",void 0),Re([Pt({reflect:!0})],e.Tooltip.prototype,"headline",void 0),Re([Pt({reflect:!0})],e.Tooltip.prototype,"content",void 0),Re([Pt({reflect:!0})],e.Tooltip.prototype,"trigger",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.Tooltip.prototype,"disabled",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.Tooltip.prototype,"open",void 0),Re([fi("placement",!0),fi("content",!0)],e.Tooltip.prototype,"onPositionChange",null),Re([fi("open")],e.Tooltip.prototype,"onOpenChange",null),e.Tooltip=Re([Et("mdui-tooltip")],e.Tooltip);const xr=Pe`:host{display:block;width:100%;flex-shrink:initial!important;overflow:hidden;color:rgb(var(--mdui-color-on-surface));font-size:var(--mdui-typescale-title-large-size);font-weight:var(--mdui-typescale-title-large-weight);letter-spacing:var(--mdui-typescale-title-large-tracking);line-height:var(--mdui-typescale-title-large-line-height);line-height:2.5rem}.label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:1;transition:opacity var(--mdui-motion-duration-short2) var(--mdui-motion-easing-linear)}:host([variant=center-aligned]) .label{text-align:center}:host([variant=large]:not([shrink])) .label,:host([variant=medium]:not([shrink])) .label{opacity:0}:host([variant=large][shrink]) .label,:host([variant=medium][shrink]) .label{transition-delay:var(--mdui-motion-duration-short2)}.label-large{display:none;position:absolute;width:100%;left:0;margin-right:0;padding:0 1rem;transition:opacity var(--mdui-motion-duration-short2) var(--mdui-motion-easing-linear)}:host([variant=large]) .label-large,:host([variant=medium]) .label-large{display:block}:host([variant=medium]) .label-large{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;bottom:.75rem;font-size:var(--mdui-typescale-headline-small-size);font-weight:var(--mdui-typescale-headline-small-weight);letter-spacing:var(--mdui-typescale-headline-small-tracking);line-height:var(--mdui-typescale-headline-small-line-height)}:host([variant=large]) .label-large{display:-webkit-box;overflow:hidden;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2;bottom:1.25rem;font-size:var(--mdui-typescale-headline-medium-size);font-weight:var(--mdui-typescale-headline-medium-weight);letter-spacing:var(--mdui-typescale-headline-medium-tracking);line-height:var(--mdui-typescale-headline-medium-line-height)}:host([variant=large]:not([shrink])) .label-large,:host([variant=medium]:not([shrink])) .label-large{opacity:1;transition-delay:var(--mdui-motion-duration-short2)}:host([variant=large][shrink]) .label-large,:host([variant=medium][shrink]) .label-large{opacity:0;z-index:-1}`;e.TopAppBarTitle=class extends St{constructor(){super(...arguments),this.variant="small",this.shrink=!1,this.hasSlotController=new jt(this,"label-large"),this.labelLargeRef=Ei(),this.defaultSlotRef=Ei()}render(){const e=this.hasSlotController.test("label-large");return ct`${e?ct``:ct`
`}`}onSlotChange(e){e||(this.labelLargeRef.value.innerHTML=(e=>{const t=e.assignedNodes({flatten:!0});let i="";return[...t].forEach((e=>{e.nodeType===Node.ELEMENT_NODE&&(i+=e.outerHTML),e.nodeType===Node.TEXT_NODE&&(i+=e.textContent)})),i})(this.defaultSlotRef.value))}},e.TopAppBarTitle.styles=[Wt,xr],Re([Pt({reflect:!0})],e.TopAppBarTitle.prototype,"variant",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.TopAppBarTitle.prototype,"shrink",void 0),e.TopAppBarTitle=Re([Et("mdui-top-app-bar-title")],e.TopAppBarTitle);const $r=Pe`:host{--shape-corner:var(--mdui-shape-corner-none);--z-index:2000;position:fixed;top:0;right:0;left:0;display:flex;flex:0 0 auto;align-items:flex-start;justify-content:flex-start;border-bottom-left-radius:var(--shape-corner);border-bottom-right-radius:var(--shape-corner);z-index:var(--z-index);transition:top var(--mdui-motion-duration-long2) var(--mdui-motion-easing-standard),height var(--mdui-motion-duration-long2) var(--mdui-motion-easing-standard),box-shadow var(--mdui-motion-duration-short4) var(--mdui-motion-easing-linear),background-color var(--mdui-motion-duration-short4) var(--mdui-motion-easing-linear);padding:.75rem .5rem;height:4rem;background-color:rgb(var(--mdui-color-surface))}:host([scroll-target]:not([scroll-target=''])){position:absolute}:host([scroll-behavior~=shrink]){transition-duration:var(--mdui-motion-duration-short4)}:host([scrolling]){background-color:rgb(var(--mdui-color-surface-container));box-shadow:var(--mdui-elevation-level2)}::slotted(mdui-button-icon){color:rgb(var(--mdui-color-on-surface-variant));font-size:1.5rem}::slotted(mdui-button-icon:first-child){color:rgb(var(--mdui-color-on-surface))}::slotted(mdui-avatar){width:1.875rem;height:1.875rem;margin-top:.3125rem;margin-bottom:.3125rem}::slotted(*){flex-shrink:0}::slotted(:not(:last-child)){margin-right:.5rem}:host([variant=medium]){height:7rem}:host([variant=large]){height:9.5rem}:host([hide]){transition-duration:var(--mdui-motion-duration-short4);top:-4.625rem}:host([hide][variant=medium]){top:-7.625rem}:host([hide][variant=large]){top:-10.125rem}:host([shrink][variant=large]),:host([shrink][variant=medium]){transition-duration:var(--mdui-motion-duration-short4);height:4rem}`;function Rr(e){return!!e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof e.then}e.TopAppBar=class extends(gi(Si)){constructor(){super(...arguments),this.variant="small",this.hide=!1,this.shrink=!1,this.scrolling=!1}get scrollPaddingPosition(){return"top"}get layoutPlacement(){return"top"}async onVariantChange(){this.hasUpdated?this.addEventListener("transitionend",(()=>{this.updateContainerPadding()}),{once:!0}):await this.updateComplete,this.titleElements.forEach((e=>{e.variant=this.variant}))}async onShrinkChange(){this.hasUpdated||await this.updateComplete,this.titleElements.forEach((e=>{e.shrink=this.shrink}))}connectedCallback(){super.connectedCallback(),this.addEventListener("transitionend",(e=>{e.target===this&&vi(this,this.hide?"hidden":"shown")}))}render(){return ct``}runScrollNoThreshold(e,t){this.hasScrollBehavior("shrink")&&e&&t<8&&(this.shrink=!1)}runScrollThreshold(e,t){if(this.hasScrollBehavior("elevate")&&(this.scrolling=!!t),this.hasScrollBehavior("shrink")&&(e||(this.shrink=!0)),this.hasScrollBehavior("hide")){if(!e&&!this.hide){vi(this,"hide").defaultPrevented||(this.hide=!0)}if(e&&this.hide){vi(this,"show").defaultPrevented||(this.hide=!1)}}}},e.TopAppBar.styles=[Wt,$r],Re([Pt({reflect:!0})],e.TopAppBar.prototype,"variant",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.TopAppBar.prototype,"hide",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.TopAppBar.prototype,"shrink",void 0),Re([Pt({reflect:!0,attribute:"scroll-behavior"})],e.TopAppBar.prototype,"scrollBehavior",void 0),Re([Pt({type:Boolean,reflect:!0,converter:mi})],e.TopAppBar.prototype,"scrolling",void 0),Re([Lt({selector:"mdui-top-app-bar-title",flatten:!0})],e.TopAppBar.prototype,"titleElements",void 0),Re([fi("variant")],e.TopAppBar.prototype,"onVariantChange",null),Re([fi("shrink")],e.TopAppBar.prototype,"onShrinkChange",null),e.TopAppBar=Re([Et("mdui-top-app-bar")],e.TopAppBar);const Sr={};function Tr(e,t){if(u(Sr[e])&&(Sr[e]=[]),u(t))return Sr[e];Sr[e].push(t)}function Er(e){if(u(Sr[e]))return;if(!Sr[e].length)return;Sr[e].shift()()}const Ir={onClick:x},Ar="mdui.functions.dialog.";let Pr;const Mr=t=>{const i=new e.Dialog,o=P(i),r=["headline","description","icon","closeOnEsc","closeOnOverlayClick","stackedActions"],n=["onOpen","onOpened","onClose","onClosed","onOverlayClick"];return Object.entries(t).forEach((([e,t])=>{if(r.includes(e))i[e]=t;else if(n.includes(e)){const r=k(e.slice(2));o.on(r,(()=>{t.call(i,i)}))}})),t.body&&o.append(t.body),t.actions&&t.actions.forEach((e=>{const t=Object.assign({},Ir,e);P(`${t.text}`).appendTo(o).on("click",(function(){const e=t.onClick.call(i,i);Rr(e)?(this.loading=!0,e.then((()=>{i.open=!1})).finally((()=>{this.loading=!1}))):!1!==e&&(i.open=!1)}))})),o.appendTo("body").on("closed",(()=>{o.remove(),t.queue&&(Pr=void 0,Er(Ar+t.queue))})),t.queue?Pr?Tr(Ar+t.queue,(()=>{i.open=!0,Pr=i})):(setTimeout((()=>{i.open=!0})),Pr=i):setTimeout((()=>{i.open=!0})),i},Dr={confirmText:"确定",onConfirm:x},Br={confirmText:"确定",cancelText:"取消",onConfirm:x,onCancel:x};function Lr(e){return e<0?-1:0===e?0:1}function _r(e,t,i){return(1-i)*e+i*t}function Or(e,t,i){return it?t:i}function zr(e){return(e%=360)<0&&(e+=360),e}function Fr(e){return(e%=360)<0&&(e+=360),e}function Nr(e,t){return 180-Math.abs(Math.abs(e-t)-180)}function Vr(e,t){return[e[0]*t[0][0]+e[1]*t[0][1]+e[2]*t[0][2],e[0]*t[1][0]+e[1]*t[1][1]+e[2]*t[1][2],e[0]*t[2][0]+e[1]*t[2][1]+e[2]*t[2][2]]}const Hr=[[.41233895,.35762064,.18051042],[.2126,.7152,.0722],[.01932141,.11916382,.95034478]],Kr=[[3.2413774792388685,-1.5376652402851851,-.49885366846268053],[-.9691452513005321,1.8758853451067872,.04156585616912061],[.05562093689691305,-.20395524564742123,1.0571799111220335]],Ur=[95.047,100,108.883];function qr(e,t,i){return(255<<24|(255&e)<<16|(255&t)<<8|255&i)>>>0}function jr(e){return qr(tn(e[0]),tn(e[1]),tn(e[2]))}function Gr(e){return e>>16&255}function Wr(e){return e>>8&255}function Yr(e){return 255&e}function Xr(e,t,i){const o=Kr,r=o[0][0]*e+o[0][1]*t+o[0][2]*i,n=o[1][0]*e+o[1][1]*t+o[1][2]*i,s=o[2][0]*e+o[2][1]*t+o[2][2]*i;return qr(tn(r),tn(n),tn(s))}function Jr(e){const t=function(e){return Vr([en(Gr(e)),en(Wr(e)),en(Yr(e))],Hr)}(e)[1];return 116*on(t/100)-16}function Zr(e){return 100*rn((e+16)/116)}function Qr(e){return 116*on(e/100)-16}function en(e){const t=e/255;return t<=.040449936?t/12.92*100:100*Math.pow((t+.055)/1.055,2.4)}function tn(e){const t=e/100;let i=0;return i=t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055,o=0,r=255,(n=Math.round(255*i))r?r:n;var o,r,n}function on(e){return e>216/24389?Math.pow(e,1/3):(903.2962962962963*e+16)/116}function rn(e){const t=e*e*e;return t>216/24389?t:(116*e-16)/903.2962962962963}class nn{static make(e=function(){return Ur}(),t=200/Math.PI*Zr(50)/100,i=50,o=2,r=!1){const n=e,s=.401288*n[0]+.650173*n[1]+-.051461*n[2],a=-.250268*n[0]+1.204414*n[1]+.045854*n[2],l=-.002079*n[0]+.048952*n[1]+.953127*n[2],c=.8+o/10,d=c>=.9?_r(.59,.69,10*(c-.9)):_r(.525,.59,10*(c-.8));let h=r?1:c*(1-1/3.6*Math.exp((-t-42)/92));h=h>1?1:h<0?0:h;const u=c,p=[h*(100/s)+1-h,h*(100/a)+1-h,h*(100/l)+1-h],m=1/(5*t+1),v=m*m*m*m,f=1-v,g=v*t+.1*f*f*Math.cbrt(5*t),b=Zr(i)/e[1],y=1.48+Math.sqrt(b),w=.725/Math.pow(b,.2),k=w,C=[Math.pow(g*p[0]*s/100,.42),Math.pow(g*p[1]*a/100,.42),Math.pow(g*p[2]*l/100,.42)],x=[400*C[0]/(C[0]+27.13),400*C[1]/(C[1]+27.13),400*C[2]/(C[2]+27.13)];return new nn(b,(2*x[0]+x[1]+.05*x[2])*w,w,k,d,u,p,g,Math.pow(g,.25),y)}constructor(e,t,i,o,r,n,s,a,l,c){this.n=e,this.aw=t,this.nbb=i,this.ncb=o,this.c=r,this.nc=n,this.rgbD=s,this.fl=a,this.fLRoot=l,this.z=c}}nn.DEFAULT=nn.make();class sn{constructor(e,t,i,o,r,n,s,a,l){this.hue=e,this.chroma=t,this.j=i,this.q=o,this.m=r,this.s=n,this.jstar=s,this.astar=a,this.bstar=l}distance(e){const t=this.jstar-e.jstar,i=this.astar-e.astar,o=this.bstar-e.bstar,r=Math.sqrt(t*t+i*i+o*o);return 1.41*Math.pow(r,.63)}static fromInt(e){return sn.fromIntInViewingConditions(e,nn.DEFAULT)}static fromIntInViewingConditions(e,t){const i=(65280&e)>>8,o=255&e,r=en((16711680&e)>>16),n=en(i),s=en(o),a=.41233895*r+.35762064*n+.18051042*s,l=.2126*r+.7152*n+.0722*s,c=.01932141*r+.11916382*n+.95034478*s,d=.401288*a+.650173*l-.051461*c,h=-.250268*a+1.204414*l+.045854*c,u=-.002079*a+.048952*l+.953127*c,p=t.rgbD[0]*d,m=t.rgbD[1]*h,v=t.rgbD[2]*u,f=Math.pow(t.fl*Math.abs(p)/100,.42),g=Math.pow(t.fl*Math.abs(m)/100,.42),b=Math.pow(t.fl*Math.abs(v)/100,.42),y=400*Lr(p)*f/(f+27.13),w=400*Lr(m)*g/(g+27.13),k=400*Lr(v)*b/(b+27.13),C=(11*y+-12*w+k)/11,x=(y+w-2*k)/9,$=(20*y+20*w+21*k)/20,R=(40*y+20*w+k)/20,S=180*Math.atan2(x,C)/Math.PI,T=S<0?S+360:S>=360?S-360:S,E=T*Math.PI/180,I=R*t.nbb,A=100*Math.pow(I/t.aw,t.c*t.z),P=4/t.c*Math.sqrt(A/100)*(t.aw+4)*t.fLRoot,M=T<20.14?T+360:T,D=5e4/13*(.25*(Math.cos(M*Math.PI/180+2)+3.8))*t.nc*t.ncb*Math.sqrt(C*C+x*x)/($+.305),B=Math.pow(D,.9)*Math.pow(1.64-Math.pow(.29,t.n),.73),L=B*Math.sqrt(A/100),_=L*t.fLRoot,O=50*Math.sqrt(B*t.c/(t.aw+4)),z=(1+100*.007)*A/(1+.007*A),F=1/.0228*Math.log(1+.0228*_),N=F*Math.cos(E),V=F*Math.sin(E);return new sn(T,L,A,P,_,O,z,N,V)}static fromJch(e,t,i){return sn.fromJchInViewingConditions(e,t,i,nn.DEFAULT)}static fromJchInViewingConditions(e,t,i,o){const r=4/o.c*Math.sqrt(e/100)*(o.aw+4)*o.fLRoot,n=t*o.fLRoot,s=t/Math.sqrt(e/100),a=50*Math.sqrt(s*o.c/(o.aw+4)),l=i*Math.PI/180,c=(1+100*.007)*e/(1+.007*e),d=1/.0228*Math.log(1+.0228*n),h=d*Math.cos(l),u=d*Math.sin(l);return new sn(i,t,e,r,n,a,c,h,u)}static fromUcs(e,t,i){return sn.fromUcsInViewingConditions(e,t,i,nn.DEFAULT)}static fromUcsInViewingConditions(e,t,i,o){const r=t,n=i,s=Math.sqrt(r*r+n*n),a=(Math.exp(.0228*s)-1)/.0228/o.fLRoot;let l=Math.atan2(n,r)*(180/Math.PI);l<0&&(l+=360);const c=e/(1-.007*(e-100));return sn.fromJchInViewingConditions(c,a,l,o)}toInt(){return this.viewed(nn.DEFAULT)}viewed(e){const t=0===this.chroma||0===this.j?0:this.chroma/Math.sqrt(this.j/100),i=Math.pow(t/Math.pow(1.64-Math.pow(.29,e.n),.73),1/.9),o=this.hue*Math.PI/180,r=.25*(Math.cos(o+2)+3.8),n=e.aw*Math.pow(this.j/100,1/e.c/e.z),s=r*(5e4/13)*e.nc*e.ncb,a=n/e.nbb,l=Math.sin(o),c=Math.cos(o),d=23*(a+.305)*i/(23*s+11*i*c+108*i*l),h=d*c,u=d*l,p=(460*a+451*h+288*u)/1403,m=(460*a-891*h-261*u)/1403,v=(460*a-220*h-6300*u)/1403,f=Math.max(0,27.13*Math.abs(p)/(400-Math.abs(p))),g=Lr(p)*(100/e.fl)*Math.pow(f,1/.42),b=Math.max(0,27.13*Math.abs(m)/(400-Math.abs(m))),y=Lr(m)*(100/e.fl)*Math.pow(b,1/.42),w=Math.max(0,27.13*Math.abs(v)/(400-Math.abs(v))),k=Lr(v)*(100/e.fl)*Math.pow(w,1/.42),C=g/e.rgbD[0],x=y/e.rgbD[1],$=k/e.rgbD[2];return Xr(1.86206786*C-1.01125463*x+.14918677*$,.38752654*C+.62144744*x-.00897398*$,-.0158415*C-.03412294*x+1.04996444*$)}static fromXyzInViewingConditions(e,t,i,o){const r=.401288*e+.650173*t-.051461*i,n=-.250268*e+1.204414*t+.045854*i,s=-.002079*e+.048952*t+.953127*i,a=o.rgbD[0]*r,l=o.rgbD[1]*n,c=o.rgbD[2]*s,d=Math.pow(o.fl*Math.abs(a)/100,.42),h=Math.pow(o.fl*Math.abs(l)/100,.42),u=Math.pow(o.fl*Math.abs(c)/100,.42),p=400*Lr(a)*d/(d+27.13),m=400*Lr(l)*h/(h+27.13),v=400*Lr(c)*u/(u+27.13),f=(11*p+-12*m+v)/11,g=(p+m-2*v)/9,b=(20*p+20*m+21*v)/20,y=(40*p+20*m+v)/20,w=180*Math.atan2(g,f)/Math.PI,k=w<0?w+360:w>=360?w-360:w,C=k*Math.PI/180,x=y*o.nbb,$=100*Math.pow(x/o.aw,o.c*o.z),R=4/o.c*Math.sqrt($/100)*(o.aw+4)*o.fLRoot,S=k<20.14?k+360:k,T=5e4/13*(1/4*(Math.cos(S*Math.PI/180+2)+3.8))*o.nc*o.ncb*Math.sqrt(f*f+g*g)/(b+.305),E=Math.pow(T,.9)*Math.pow(1.64-Math.pow(.29,o.n),.73),I=E*Math.sqrt($/100),A=I*o.fLRoot,P=50*Math.sqrt(E*o.c/(o.aw+4)),M=(1+100*.007)*$/(1+.007*$),D=Math.log(1+.0228*A)/.0228,B=D*Math.cos(C),L=D*Math.sin(C);return new sn(k,I,$,R,A,P,M,B,L)}xyzInViewingConditions(e){const t=0===this.chroma||0===this.j?0:this.chroma/Math.sqrt(this.j/100),i=Math.pow(t/Math.pow(1.64-Math.pow(.29,e.n),.73),1/.9),o=this.hue*Math.PI/180,r=.25*(Math.cos(o+2)+3.8),n=e.aw*Math.pow(this.j/100,1/e.c/e.z),s=r*(5e4/13)*e.nc*e.ncb,a=n/e.nbb,l=Math.sin(o),c=Math.cos(o),d=23*(a+.305)*i/(23*s+11*i*c+108*i*l),h=d*c,u=d*l,p=(460*a+451*h+288*u)/1403,m=(460*a-891*h-261*u)/1403,v=(460*a-220*h-6300*u)/1403,f=Math.max(0,27.13*Math.abs(p)/(400-Math.abs(p))),g=Lr(p)*(100/e.fl)*Math.pow(f,1/.42),b=Math.max(0,27.13*Math.abs(m)/(400-Math.abs(m))),y=Lr(m)*(100/e.fl)*Math.pow(b,1/.42),w=Math.max(0,27.13*Math.abs(v)/(400-Math.abs(v))),k=Lr(v)*(100/e.fl)*Math.pow(w,1/.42),C=g/e.rgbD[0],x=y/e.rgbD[1],$=k/e.rgbD[2];return[1.86206786*C-1.01125463*x+.14918677*$,.38752654*C+.62144744*x-.00897398*$,-.0158415*C-.03412294*x+1.04996444*$]}}class an{static sanitizeRadians(e){return(e+8*Math.PI)%(2*Math.PI)}static trueDelinearized(e){const t=e/100;let i=0;return i=t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055,255*i}static chromaticAdaptation(e){const t=Math.pow(Math.abs(e),.42);return 400*Lr(e)*t/(t+27.13)}static hueOf(e){const t=Vr(e,an.SCALED_DISCOUNT_FROM_LINRGB),i=an.chromaticAdaptation(t[0]),o=an.chromaticAdaptation(t[1]),r=an.chromaticAdaptation(t[2]),n=(11*i+-12*o+r)/11,s=(i+o-2*r)/9;return Math.atan2(s,n)}static areInCyclicOrder(e,t,i){return an.sanitizeRadians(t-e)100.01||y[1]>100.01||y[2]>100.01?0:jr(y);o-=(x-i)*o/(2*x)}return 0}static solveToInt(e,t,i){if(t<1e-4||i<1e-4||i>99.9999)return function(e){const t=tn(Zr(e));return qr(t,t,t)}(i);const o=(e=Fr(e))/180*Math.PI,r=Zr(i),n=an.findResultByJ(o,t,r);if(0!==n)return n;return jr(an.bisectToLimit(r,o))}static solveToCam(e,t,i){return sn.fromInt(an.solveToInt(e,t,i))}}an.SCALED_DISCOUNT_FROM_LINRGB=[[.001200833568784504,.002389694492170889,.0002795742885861124],[.0005891086651375999,.0029785502573438758,.0003270666104008398],[.00010146692491640572,.0005364214359186694,.0032979401770712076]],an.LINRGB_FROM_SCALED_DISCOUNT=[[1373.2198709594231,-1100.4251190754821,-7.278681089101213],[-271.815969077903,559.6580465940733,-32.46047482791194],[1.9622899599665666,-57.173814538844006,308.7233197812385]],an.Y_FROM_LINRGB=[.2126,.7152,.0722],an.CRITICAL_PLANES=[.015176349177441876,.045529047532325624,.07588174588720938,.10623444424209313,.13658714259697685,.16693984095186062,.19729253930674434,.2276452376616281,.2579979360165119,.28835063437139563,.3188300904430532,.350925934958123,.3848314933096426,.42057480301049466,.458183274052838,.4976837250274023,.5391024159806381,.5824650784040898,.6277969426914107,.6751227633498623,.7244668422128921,.775853049866786,.829304845476233,.8848452951698498,.942497089126609,1.0022825574869039,1.0642236851973577,1.1283421258858297,1.1946592148522128,1.2631959812511864,1.3339731595349034,1.407011200216447,1.4823302800086415,1.5599503113873272,1.6398909516233677,1.7221716113234105,1.8068114625156377,1.8938294463134073,1.9832442801866852,2.075074464868551,2.1693382909216234,2.2660538449872063,2.36523901573795,2.4669114995532007,2.5710888059345764,2.6777882626779785,2.7870270208169257,2.898822059350997,3.0131901897720907,3.1301480604002863,3.2497121605402226,3.3718988244681087,3.4967242352587946,3.624204428461639,3.754355295633311,3.887192587735158,4.022731918402185,4.160988767090289,4.301978482107941,4.445716283538092,4.592217266055746,4.741496401646282,4.893568542229298,5.048448422192488,5.20615066083972,5.3666897647573375,5.5300801301023865,5.696336044816294,5.865471690767354,6.037501145825082,6.212438385869475,6.390297286737924,6.571091626112461,6.7548350853498045,6.941541251256611,7.131223617812143,7.323895587840543,7.5195704746346665,7.7182615035334345,7.919981813454504,8.124744458384042,8.332562408825165,8.543448553206703,8.757415699253682,8.974476575321063,9.194643831691977,9.417930041841839,9.644347703669503,9.873909240696694,10.106627003236781,10.342513269534024,10.58158024687427,10.8238400726681,11.069304815507364,11.317986476196008,11.569896988756009,11.825048221409341,12.083451977536606,12.345119996613247,12.610063955123938,12.878295467455942,13.149826086772048,13.42466730586372,13.702830557985108,13.984327217668513,14.269168601521828,14.55736596900856,14.848930523210871,15.143873411576273,15.44220572664832,15.743938506781891,16.04908273684337,16.35764934889634,16.66964922287304,16.985093187232053,17.30399201960269,17.62635644741625,17.95219714852476,18.281524751807332,18.614349837764564,18.95068293910138,19.290534541298456,19.633915083172692,19.98083495742689,20.331304511189067,20.685334046541502,21.042933821039977,21.404114048223256,21.76888489811322,22.137256497705877,22.50923893145328,22.884842241736916,23.264076429332462,23.6469514538663,24.033477234264016,24.42366364919083,24.817520537484558,25.21505769858089,25.61628489293138,26.021211842414342,26.429848230738664,26.842203703840827,27.258287870275353,27.678110301598522,28.10168053274597,28.529008062403893,28.96010235337422,29.39497283293396,29.83362889318845,30.276079891419332,30.722335150426627,31.172403958865512,31.62629557157785,32.08401920991837,32.54558406207592,33.010999283389665,33.4802739966603,33.953417292456834,34.430438229418264,34.911345834551085,35.39614910352207,35.88485700094671,36.37747846067349,36.87402238606382,37.37449765026789,37.87891309649659,38.38727753828926,38.89959975977785,39.41588851594697,39.93615253289054,40.460400508064545,40.98864111053629,41.520882981230194,42.05713473317016,42.597404951718396,43.141702194811224,43.6900349931913,44.24241185063697,44.798841244188324,45.35933162437017,45.92389141541209,46.49252901546552,47.065252796817916,47.64207110610409,48.22299226451468,48.808024568002054,49.3971762874833,49.9904556690408,50.587870934119984,51.189430279724725,51.79514187861014,52.40501387947288,53.0190544071392,53.637271562750364,54.259673423945976,54.88626804504493,55.517063457223934,56.15206766869424,56.79128866487574,57.43473440856916,58.08241284012621,58.734331877617365,59.39049941699807,60.05092333227251,60.715611475655585,61.38457167773311,62.057811747619894,62.7353394731159,63.417162620860914,64.10328893648692,64.79372614476921,65.48848194977529,66.18756403501224,66.89098006357258,67.59873767827808,68.31084450182222,69.02730813691093,69.74813616640164,70.47333615344107,71.20291564160104,71.93688215501312,72.67524319850172,73.41800625771542,74.16517879925733,74.9167682708136,75.67278210128072,76.43322770089146,77.1981124613393,77.96744375590167,78.74122893956174,79.51947534912904,80.30219030335869,81.08938110306934,81.88105503125999,82.67721935322541,83.4778813166706,84.28304815182372,85.09272707154808,85.90692527145302,86.72564993000343,87.54890820862819,88.3767072518277,89.2090541872801,90.04595612594655,90.88742016217518,91.73345337380438,92.58406282226491,93.43925555268066,94.29903859396902,95.16341895893969,96.03240364439274,96.9059996312159,97.78421388448044,98.6670533535366,99.55452497210776];class ln{static from(e,t,i){return new ln(an.solveToInt(e,t,i))}static fromInt(e){return new ln(e)}toInt(){return this.argb}get hue(){return this.internalHue}set hue(e){this.setInternalState(an.solveToInt(e,this.internalChroma,this.internalTone))}get chroma(){return this.internalChroma}set chroma(e){this.setInternalState(an.solveToInt(this.internalHue,e,this.internalTone))}get tone(){return this.internalTone}set tone(e){this.setInternalState(an.solveToInt(this.internalHue,this.internalChroma,e))}constructor(e){this.argb=e;const t=sn.fromInt(e);this.internalHue=t.hue,this.internalChroma=t.chroma,this.internalTone=Jr(e),this.argb=e}setInternalState(e){const t=sn.fromInt(e);this.internalHue=t.hue,this.internalChroma=t.chroma,this.internalTone=Jr(e),this.argb=e}inViewingConditions(e){const t=sn.fromInt(this.toInt()).xyzInViewingConditions(e),i=sn.fromXyzInViewingConditions(t[0],t[1],t[2],nn.make());return ln.from(i.hue,i.chroma,Qr(t[1]))}}class cn{static harmonize(e,t){const i=ln.fromInt(e),o=ln.fromInt(t),r=Nr(i.hue,o.hue),n=Math.min(.5*r,15),s=Fr(i.hue+n*(a=i.hue,Fr(o.hue-a)<=180?1:-1));var a;return ln.from(s,i.chroma,i.tone).toInt()}static hctHue(e,t,i){const o=cn.cam16Ucs(e,t,i),r=sn.fromInt(o),n=sn.fromInt(e);return ln.from(r.hue,n.chroma,Jr(e)).toInt()}static cam16Ucs(e,t,i){const o=sn.fromInt(e),r=sn.fromInt(t),n=o.jstar,s=o.astar,a=o.bstar,l=n+(r.jstar-n)*i,c=s+(r.astar-s)*i,d=a+(r.bstar-a)*i;return sn.fromUcs(l,c,d).toInt()}}class dn{static ratioOfTones(e,t){return e=Or(0,100,e),t=Or(0,100,t),dn.ratioOfYs(Zr(e),Zr(t))}static ratioOfYs(e,t){const i=e>t?e:t;return(i+5)/((i===t?e:t)+5)}static lighter(e,t){if(e<0||e>100)return-1;const i=Zr(e),o=t*(i+5)-5,r=dn.ratioOfYs(o,i),n=Math.abs(r-t);if(r.04)return-1;const s=Qr(o)+.4;return s<0||s>100?-1:s}static darker(e,t){if(e<0||e>100)return-1;const i=Zr(e),o=(i+5)/t-5,r=dn.ratioOfYs(i,o),n=Math.abs(r-t);if(r.04)return-1;const s=Qr(o)-.4;return s<0||s>100?-1:s}static lighterUnsafe(e,t){const i=dn.lighter(e,t);return i<0?100:i}static darkerUnsafe(e,t){const i=dn.darker(e,t);return i<0?0:i}}class hn{static isDisliked(e){const t=Math.round(e.hue)>=90&&Math.round(e.hue)<=111,i=Math.round(e.chroma)>16,o=Math.round(e.tone)<65;return t&&i&&o}static fixIfDisliked(e){return hn.isDisliked(e)?ln.from(e.hue,e.chroma,70):e}}class un{static fromPalette(e){return new un(e.name??"",e.palette,e.tone,e.isBackground??!1,e.background,e.secondBackground,e.contrastCurve,e.toneDeltaPair)}constructor(e,t,i,o,r,n,s,a){if(this.name=e,this.palette=t,this.tone=i,this.isBackground=o,this.background=r,this.secondBackground=n,this.contrastCurve=s,this.toneDeltaPair=a,this.hctCache=new Map,!r&&n)throw new Error(`Color ${e} has secondBackgrounddefined, but background is not defined.`);if(!r&&s)throw new Error(`Color ${e} has contrastCurvedefined, but background is not defined.`);if(r&&!s)throw new Error(`Color ${e} has backgrounddefined, but contrastCurve is not defined.`)}getArgb(e){return this.getHct(e).toInt()}getHct(e){const t=this.hctCache.get(e);if(null!=t)return t;const i=this.getTone(e),o=this.palette(e).getHct(i);return this.hctCache.size>4&&this.hctCache.clear(),this.hctCache.set(e,o),o}getTone(e){const t=e.contrastLevel<0;if(this.toneDeltaPair){const i=this.toneDeltaPair(e),o=i.roleA,r=i.roleB,n=i.delta,s=i.polarity,a=i.stayTogether,l=this.background(e).getTone(e),c="nearer"===s||"lighter"===s&&!e.isDark||"darker"===s&&e.isDark,d=c?o:r,h=c?r:o,u=this.name===d.name,p=e.isDark?1:-1,m=d.contrastCurve.getContrast(e.contrastLevel),v=h.contrastCurve.getContrast(e.contrastLevel),f=d.tone(e);let g=dn.ratioOfTones(l,f)>=m?f:un.foregroundTone(l,m);const b=h.tone(e);let y=dn.ratioOfTones(l,b)>=v?b:un.foregroundTone(l,v);return t&&(g=un.foregroundTone(l,m),y=un.foregroundTone(l,v)),(y-g)*p>=n||(y=Or(0,100,g+n*p),(y-g)*p>=n||(g=Or(0,100,y-n*p))),50<=g&&g<60?p>0?(g=60,y=Math.max(y,g+n*p)):(g=49,y=Math.min(y,g+n*p)):50<=y&&y<60&&(a?p>0?(g=60,y=Math.max(y,g+n*p)):(g=49,y=Math.min(y,g+n*p)):y=p>0?60:49),u?g:y}{let i=this.tone(e);if(null==this.background)return i;const o=this.background(e).getTone(e),r=this.contrastCurve.getContrast(e.contrastLevel);if(dn.ratioOfTones(o,i)>=r||(i=un.foregroundTone(o,r)),t&&(i=un.foregroundTone(o,r)),this.isBackground&&50<=i&&i<60&&(i=dn.ratioOfTones(49,o)>=r?49:60),this.secondBackground){const[t,o]=[this.background,this.secondBackground],[n,s]=[t(e).getTone(e),o(e).getTone(e)],[a,l]=[Math.max(n,s),Math.min(n,s)];if(dn.ratioOfTones(a,i)>=r&&dn.ratioOfTones(l,i)>=r)return i;const c=dn.lighter(a,r),d=dn.darker(l,r),h=[];-1!==c&&h.push(c),-1!==d&&h.push(d);return un.tonePrefersLightForeground(n)||un.tonePrefersLightForeground(s)?c<0?100:c:1===h.length?h[0]:d<0?0:d}return i}}static foregroundTone(e,t){const i=dn.lighterUnsafe(e,t),o=dn.darkerUnsafe(e,t),r=dn.ratioOfTones(i,e),n=dn.ratioOfTones(o,e);if(un.tonePrefersLightForeground(e)){const e=Math.abs(r-n)<.1&&r=t||r>=n||e?i:o}return n>=t||n>=r?o:i}static tonePrefersLightForeground(e){return Math.round(e)<60}static toneAllowsLightForeground(e){return Math.round(e)<=49}static enableLightForeground(e){return un.tonePrefersLightForeground(e)&&!un.toneAllowsLightForeground(e)?49:e}}var pn;!function(e){e[e.MONOCHROME=0]="MONOCHROME",e[e.NEUTRAL=1]="NEUTRAL",e[e.TONAL_SPOT=2]="TONAL_SPOT",e[e.VIBRANT=3]="VIBRANT",e[e.EXPRESSIVE=4]="EXPRESSIVE",e[e.FIDELITY=5]="FIDELITY",e[e.CONTENT=6]="CONTENT",e[e.RAINBOW=7]="RAINBOW",e[e.FRUIT_SALAD=8]="FRUIT_SALAD"}(pn||(pn={}));class mn{constructor(e,t,i,o){this.low=e,this.normal=t,this.medium=i,this.high=o}getContrast(e){return e<=-1?this.low:e<0?_r(this.low,this.normal,(e- -1)/1):e<.5?_r(this.normal,this.medium,(e-0)/.5):e<1?_r(this.medium,this.high,(e-.5)/.5):this.high}}class vn{constructor(e,t,i,o,r){this.roleA=e,this.roleB=t,this.delta=i,this.polarity=o,this.stayTogether=r}}function fn(e){return e.variant===pn.FIDELITY||e.variant===pn.CONTENT}function gn(e){return e.variant===pn.MONOCHROME}function bn(e,t){const i=e.inViewingConditions(function(e){return nn.make(void 0,void 0,e.isDark?30:80,void 0,void 0)}(t));return un.tonePrefersLightForeground(e.tone)&&!un.toneAllowsLightForeground(i.tone)?un.enableLightForeground(e.tone):un.enableLightForeground(i.tone)}class yn{static highestSurface(e){return e.isDark?yn.surfaceBright:yn.surfaceDim}}yn.contentAccentToneDelta=15,yn.primaryPaletteKeyColor=un.fromPalette({name:"primary_palette_key_color",palette:e=>e.primaryPalette,tone:e=>e.primaryPalette.keyColor.tone}),yn.secondaryPaletteKeyColor=un.fromPalette({name:"secondary_palette_key_color",palette:e=>e.secondaryPalette,tone:e=>e.secondaryPalette.keyColor.tone}),yn.tertiaryPaletteKeyColor=un.fromPalette({name:"tertiary_palette_key_color",palette:e=>e.tertiaryPalette,tone:e=>e.tertiaryPalette.keyColor.tone}),yn.neutralPaletteKeyColor=un.fromPalette({name:"neutral_palette_key_color",palette:e=>e.neutralPalette,tone:e=>e.neutralPalette.keyColor.tone}),yn.neutralVariantPaletteKeyColor=un.fromPalette({name:"neutral_variant_palette_key_color",palette:e=>e.neutralVariantPalette,tone:e=>e.neutralVariantPalette.keyColor.tone}),yn.background=un.fromPalette({name:"background",palette:e=>e.neutralPalette,tone:e=>e.isDark?6:98,isBackground:!0}),yn.onBackground=un.fromPalette({name:"on_background",palette:e=>e.neutralPalette,tone:e=>e.isDark?90:10,background:e=>yn.background,contrastCurve:new mn(3,3,4.5,7)}),yn.surface=un.fromPalette({name:"surface",palette:e=>e.neutralPalette,tone:e=>e.isDark?6:98,isBackground:!0}),yn.surfaceDim=un.fromPalette({name:"surface_dim",palette:e=>e.neutralPalette,tone:e=>e.isDark?6:87,isBackground:!0}),yn.surfaceBright=un.fromPalette({name:"surface_bright",palette:e=>e.neutralPalette,tone:e=>e.isDark?24:98,isBackground:!0}),yn.surfaceContainerLowest=un.fromPalette({name:"surface_container_lowest",palette:e=>e.neutralPalette,tone:e=>e.isDark?4:100,isBackground:!0}),yn.surfaceContainerLow=un.fromPalette({name:"surface_container_low",palette:e=>e.neutralPalette,tone:e=>e.isDark?10:96,isBackground:!0}),yn.surfaceContainer=un.fromPalette({name:"surface_container",palette:e=>e.neutralPalette,tone:e=>e.isDark?12:94,isBackground:!0}),yn.surfaceContainerHigh=un.fromPalette({name:"surface_container_high",palette:e=>e.neutralPalette,tone:e=>e.isDark?17:92,isBackground:!0}),yn.surfaceContainerHighest=un.fromPalette({name:"surface_container_highest",palette:e=>e.neutralPalette,tone:e=>e.isDark?22:90,isBackground:!0}),yn.onSurface=un.fromPalette({name:"on_surface",palette:e=>e.neutralPalette,tone:e=>e.isDark?90:10,background:e=>yn.highestSurface(e),contrastCurve:new mn(4.5,7,11,21)}),yn.surfaceVariant=un.fromPalette({name:"surface_variant",palette:e=>e.neutralVariantPalette,tone:e=>e.isDark?30:90,isBackground:!0}),yn.onSurfaceVariant=un.fromPalette({name:"on_surface_variant",palette:e=>e.neutralVariantPalette,tone:e=>e.isDark?80:30,background:e=>yn.highestSurface(e),contrastCurve:new mn(3,4.5,7,11)}),yn.inverseSurface=un.fromPalette({name:"inverse_surface",palette:e=>e.neutralPalette,tone:e=>e.isDark?90:20}),yn.inverseOnSurface=un.fromPalette({name:"inverse_on_surface",palette:e=>e.neutralPalette,tone:e=>e.isDark?20:95,background:e=>yn.inverseSurface,contrastCurve:new mn(4.5,7,11,21)}),yn.outline=un.fromPalette({name:"outline",palette:e=>e.neutralVariantPalette,tone:e=>e.isDark?60:50,background:e=>yn.highestSurface(e),contrastCurve:new mn(1.5,3,4.5,7)}),yn.outlineVariant=un.fromPalette({name:"outline_variant",palette:e=>e.neutralVariantPalette,tone:e=>e.isDark?30:80,background:e=>yn.highestSurface(e),contrastCurve:new mn(1,1,3,7)}),yn.shadow=un.fromPalette({name:"shadow",palette:e=>e.neutralPalette,tone:e=>0}),yn.scrim=un.fromPalette({name:"scrim",palette:e=>e.neutralPalette,tone:e=>0}),yn.surfaceTint=un.fromPalette({name:"surface_tint",palette:e=>e.primaryPalette,tone:e=>e.isDark?80:40,isBackground:!0}),yn.primary=un.fromPalette({name:"primary",palette:e=>e.primaryPalette,tone:e=>gn(e)?e.isDark?100:0:e.isDark?80:40,isBackground:!0,background:e=>yn.highestSurface(e),contrastCurve:new mn(3,4.5,7,11),toneDeltaPair:e=>new vn(yn.primaryContainer,yn.primary,15,"nearer",!1)}),yn.onPrimary=un.fromPalette({name:"on_primary",palette:e=>e.primaryPalette,tone:e=>gn(e)?e.isDark?10:90:e.isDark?20:100,background:e=>yn.primary,contrastCurve:new mn(4.5,7,11,21)}),yn.primaryContainer=un.fromPalette({name:"primary_container",palette:e=>e.primaryPalette,tone:e=>fn(e)?bn(e.sourceColorHct,e):gn(e)?e.isDark?85:25:e.isDark?30:90,isBackground:!0,background:e=>yn.highestSurface(e),contrastCurve:new mn(1,1,3,7),toneDeltaPair:e=>new vn(yn.primaryContainer,yn.primary,15,"nearer",!1)}),yn.onPrimaryContainer=un.fromPalette({name:"on_primary_container",palette:e=>e.primaryPalette,tone:e=>fn(e)?un.foregroundTone(yn.primaryContainer.tone(e),4.5):gn(e)?e.isDark?0:100:e.isDark?90:10,background:e=>yn.primaryContainer,contrastCurve:new mn(4.5,7,11,21)}),yn.inversePrimary=un.fromPalette({name:"inverse_primary",palette:e=>e.primaryPalette,tone:e=>e.isDark?40:80,background:e=>yn.inverseSurface,contrastCurve:new mn(3,4.5,7,11)}),yn.secondary=un.fromPalette({name:"secondary",palette:e=>e.secondaryPalette,tone:e=>e.isDark?80:40,isBackground:!0,background:e=>yn.highestSurface(e),contrastCurve:new mn(3,4.5,7,11),toneDeltaPair:e=>new vn(yn.secondaryContainer,yn.secondary,15,"nearer",!1)}),yn.onSecondary=un.fromPalette({name:"on_secondary",palette:e=>e.secondaryPalette,tone:e=>gn(e)?e.isDark?10:100:e.isDark?20:100,background:e=>yn.secondary,contrastCurve:new mn(4.5,7,11,21)}),yn.secondaryContainer=un.fromPalette({name:"secondary_container",palette:e=>e.secondaryPalette,tone:e=>{const t=e.isDark?30:90;if(gn(e))return e.isDark?30:85;if(!fn(e))return t;let i=function(e,t,i,o){let r=i,n=ln.from(e,t,i);if(n.chromas.chroma)break;if(Math.abs(s.chroma-t)<.4)break;Math.abs(s.chroma-t)yn.highestSurface(e),contrastCurve:new mn(1,1,3,7),toneDeltaPair:e=>new vn(yn.secondaryContainer,yn.secondary,15,"nearer",!1)}),yn.onSecondaryContainer=un.fromPalette({name:"on_secondary_container",palette:e=>e.secondaryPalette,tone:e=>fn(e)?un.foregroundTone(yn.secondaryContainer.tone(e),4.5):e.isDark?90:10,background:e=>yn.secondaryContainer,contrastCurve:new mn(4.5,7,11,21)}),yn.tertiary=un.fromPalette({name:"tertiary",palette:e=>e.tertiaryPalette,tone:e=>gn(e)?e.isDark?90:25:e.isDark?80:40,isBackground:!0,background:e=>yn.highestSurface(e),contrastCurve:new mn(3,4.5,7,11),toneDeltaPair:e=>new vn(yn.tertiaryContainer,yn.tertiary,15,"nearer",!1)}),yn.onTertiary=un.fromPalette({name:"on_tertiary",palette:e=>e.tertiaryPalette,tone:e=>gn(e)?e.isDark?10:90:e.isDark?20:100,background:e=>yn.tertiary,contrastCurve:new mn(4.5,7,11,21)}),yn.tertiaryContainer=un.fromPalette({name:"tertiary_container",palette:e=>e.tertiaryPalette,tone:e=>{if(gn(e))return e.isDark?60:49;if(!fn(e))return e.isDark?30:90;const t=bn(e.tertiaryPalette.getHct(e.sourceColorHct.tone),e),i=e.tertiaryPalette.getHct(t);return hn.fixIfDisliked(i).tone},isBackground:!0,background:e=>yn.highestSurface(e),contrastCurve:new mn(1,1,3,7),toneDeltaPair:e=>new vn(yn.tertiaryContainer,yn.tertiary,15,"nearer",!1)}),yn.onTertiaryContainer=un.fromPalette({name:"on_tertiary_container",palette:e=>e.tertiaryPalette,tone:e=>gn(e)?e.isDark?0:100:fn(e)?un.foregroundTone(yn.tertiaryContainer.tone(e),4.5):e.isDark?90:10,background:e=>yn.tertiaryContainer,contrastCurve:new mn(4.5,7,11,21)}),yn.error=un.fromPalette({name:"error",palette:e=>e.errorPalette,tone:e=>e.isDark?80:40,isBackground:!0,background:e=>yn.highestSurface(e),contrastCurve:new mn(3,4.5,7,11),toneDeltaPair:e=>new vn(yn.errorContainer,yn.error,15,"nearer",!1)}),yn.onError=un.fromPalette({name:"on_error",palette:e=>e.errorPalette,tone:e=>e.isDark?20:100,background:e=>yn.error,contrastCurve:new mn(4.5,7,11,21)}),yn.errorContainer=un.fromPalette({name:"error_container",palette:e=>e.errorPalette,tone:e=>e.isDark?30:90,isBackground:!0,background:e=>yn.highestSurface(e),contrastCurve:new mn(1,1,3,7),toneDeltaPair:e=>new vn(yn.errorContainer,yn.error,15,"nearer",!1)}),yn.onErrorContainer=un.fromPalette({name:"on_error_container",palette:e=>e.errorPalette,tone:e=>e.isDark?90:10,background:e=>yn.errorContainer,contrastCurve:new mn(4.5,7,11,21)}),yn.primaryFixed=un.fromPalette({name:"primary_fixed",palette:e=>e.primaryPalette,tone:e=>gn(e)?40:90,isBackground:!0,background:e=>yn.highestSurface(e),contrastCurve:new mn(1,1,3,7),toneDeltaPair:e=>new vn(yn.primaryFixed,yn.primaryFixedDim,10,"lighter",!0)}),yn.primaryFixedDim=un.fromPalette({name:"primary_fixed_dim",palette:e=>e.primaryPalette,tone:e=>gn(e)?30:80,isBackground:!0,background:e=>yn.highestSurface(e),contrastCurve:new mn(1,1,3,7),toneDeltaPair:e=>new vn(yn.primaryFixed,yn.primaryFixedDim,10,"lighter",!0)}),yn.onPrimaryFixed=un.fromPalette({name:"on_primary_fixed",palette:e=>e.primaryPalette,tone:e=>gn(e)?100:10,background:e=>yn.primaryFixedDim,secondBackground:e=>yn.primaryFixed,contrastCurve:new mn(4.5,7,11,21)}),yn.onPrimaryFixedVariant=un.fromPalette({name:"on_primary_fixed_variant",palette:e=>e.primaryPalette,tone:e=>gn(e)?90:30,background:e=>yn.primaryFixedDim,secondBackground:e=>yn.primaryFixed,contrastCurve:new mn(3,4.5,7,11)}),yn.secondaryFixed=un.fromPalette({name:"secondary_fixed",palette:e=>e.secondaryPalette,tone:e=>gn(e)?80:90,isBackground:!0,background:e=>yn.highestSurface(e),contrastCurve:new mn(1,1,3,7),toneDeltaPair:e=>new vn(yn.secondaryFixed,yn.secondaryFixedDim,10,"lighter",!0)}),yn.secondaryFixedDim=un.fromPalette({name:"secondary_fixed_dim",palette:e=>e.secondaryPalette,tone:e=>gn(e)?70:80,isBackground:!0,background:e=>yn.highestSurface(e),contrastCurve:new mn(1,1,3,7),toneDeltaPair:e=>new vn(yn.secondaryFixed,yn.secondaryFixedDim,10,"lighter",!0)}),yn.onSecondaryFixed=un.fromPalette({name:"on_secondary_fixed",palette:e=>e.secondaryPalette,tone:e=>10,background:e=>yn.secondaryFixedDim,secondBackground:e=>yn.secondaryFixed,contrastCurve:new mn(4.5,7,11,21)}),yn.onSecondaryFixedVariant=un.fromPalette({name:"on_secondary_fixed_variant",palette:e=>e.secondaryPalette,tone:e=>gn(e)?25:30,background:e=>yn.secondaryFixedDim,secondBackground:e=>yn.secondaryFixed,contrastCurve:new mn(3,4.5,7,11)}),yn.tertiaryFixed=un.fromPalette({name:"tertiary_fixed",palette:e=>e.tertiaryPalette,tone:e=>gn(e)?40:90,isBackground:!0,background:e=>yn.highestSurface(e),contrastCurve:new mn(1,1,3,7),toneDeltaPair:e=>new vn(yn.tertiaryFixed,yn.tertiaryFixedDim,10,"lighter",!0)}),yn.tertiaryFixedDim=un.fromPalette({name:"tertiary_fixed_dim",palette:e=>e.tertiaryPalette,tone:e=>gn(e)?30:80,isBackground:!0,background:e=>yn.highestSurface(e),contrastCurve:new mn(1,1,3,7),toneDeltaPair:e=>new vn(yn.tertiaryFixed,yn.tertiaryFixedDim,10,"lighter",!0)}),yn.onTertiaryFixed=un.fromPalette({name:"on_tertiary_fixed",palette:e=>e.tertiaryPalette,tone:e=>gn(e)?100:10,background:e=>yn.tertiaryFixedDim,secondBackground:e=>yn.tertiaryFixed,contrastCurve:new mn(4.5,7,11,21)}),yn.onTertiaryFixedVariant=un.fromPalette({name:"on_tertiary_fixed_variant",palette:e=>e.tertiaryPalette,tone:e=>gn(e)?90:30,background:e=>yn.tertiaryFixedDim,secondBackground:e=>yn.tertiaryFixed,contrastCurve:new mn(3,4.5,7,11)});class wn{static fromInt(e){const t=ln.fromInt(e);return wn.fromHct(t)}static fromHct(e){return new wn(e.hue,e.chroma,e)}static fromHueAndChroma(e,t){return new wn(e,t,wn.createKeyColor(e,t))}constructor(e,t,i){this.hue=e,this.chroma=t,this.keyColor=i,this.cache=new Map}static createKeyColor(e,t){let i=ln.from(e,t,50),o=Math.abs(i.chroma-t);for(let r=1;r<50;r+=1){if(Math.round(t)===Math.round(i.chroma))return i;const n=ln.from(e,t,50+r),s=Math.abs(n.chroma-t);s0&&(c=Math.min(c,t.length));const d=new Array;for(let e=0;e0)for(let e=0;e=4*a)continue;const t=s.distance(i,d[e]);t3&&(t++,u[e]=h)}}if(0===t&&0!==e)break;const i=new Array(c).fill(0),o=new Array(c).fill(0),n=new Array(c).fill(0);for(let e=0;e>24&255)<255||t.set(o,(t.get(o)??0)+1)}return t}}const Sn=33,Tn=35937,En="red",In="green",An="blue";class Pn{constructor(e=[],t=[],i=[],o=[],r=[],n=[]){this.weights=e,this.momentsR=t,this.momentsG=i,this.momentsB=o,this.moments=r,this.cubes=n}quantize(e,t){this.constructHistogram(e),this.computeMoments();const i=this.createBoxes(t);return this.createResult(i.resultCount)}constructHistogram(e){this.weights=Array.from({length:Tn}).fill(0),this.momentsR=Array.from({length:Tn}).fill(0),this.momentsG=Array.from({length:Tn}).fill(0),this.momentsB=Array.from({length:Tn}).fill(0),this.moments=Array.from({length:Tn}).fill(0);const t=Rn.quantize(e);for(const[e,i]of t.entries()){const t=Gr(e),o=Wr(e),r=Yr(e),n=3,s=1+(t>>n),a=1+(o>>n),l=1+(r>>n),c=this.getIndex(s,a,l);this.weights[c]=(this.weights[c]??0)+i,this.momentsR[c]+=i*t,this.momentsG[c]+=i*o,this.momentsB[c]+=i*r,this.moments[c]+=i*(t*t+o*o+r*r)}}computeMoments(){for(let e=1;enew Mn));const t=Array.from({length:e}).fill(0);this.cubes[0].r0=0,this.cubes[0].g0=0,this.cubes[0].b0=0,this.cubes[0].r1=32,this.cubes[0].g1=32,this.cubes[0].b1=32;let i=e,o=0;for(let r=1;r1?this.variance(this.cubes[o]):0,t[r]=this.cubes[r].vol>1?this.variance(this.cubes[r]):0):(t[o]=0,r--),o=0;let e=t[0];for(let i=1;i<=r;i++)t[i]>e&&(e=t[i],o=i);if(e<=0){i=r+1;break}}return new Dn(e,i)}createResult(e){const t=[];for(let i=0;i0){const i=255<<24|(255&Math.round(this.volume(e,this.momentsR)/o))<<16|(255&Math.round(this.volume(e,this.momentsG)/o))<<8|255&Math.round(this.volume(e,this.momentsB)/o);t.push(i)}}return t}variance(e){const t=this.volume(e,this.momentsR),i=this.volume(e,this.momentsG),o=this.volume(e,this.momentsB);return this.moments[this.getIndex(e.r1,e.g1,e.b1)]-this.moments[this.getIndex(e.r1,e.g1,e.b0)]-this.moments[this.getIndex(e.r1,e.g0,e.b1)]+this.moments[this.getIndex(e.r1,e.g0,e.b0)]-this.moments[this.getIndex(e.r0,e.g1,e.b1)]+this.moments[this.getIndex(e.r0,e.g1,e.b0)]+this.moments[this.getIndex(e.r0,e.g0,e.b1)]-this.moments[this.getIndex(e.r0,e.g0,e.b0)]-(t*t+i*i+o*o)/this.volume(e,this.weights)}cut(e,t){const i=this.volume(e,this.momentsR),o=this.volume(e,this.momentsG),r=this.volume(e,this.momentsB),n=this.volume(e,this.weights),s=this.maximize(e,En,e.r0+1,e.r1,i,o,r,n),a=this.maximize(e,In,e.g0+1,e.g1,i,o,r,n),l=this.maximize(e,An,e.b0+1,e.b1,i,o,r,n);let c;const d=s.maximum,h=a.maximum,u=l.maximum;if(d>=h&&d>=u){if(s.cutLocation<0)return!1;c=En}else c=h>=d&&h>=u?In:An;switch(t.r1=e.r1,t.g1=e.g1,t.b1=e.b1,c){case En:e.r1=s.cutLocation,t.r0=e.r1,t.g0=e.g0,t.b0=e.b0;break;case In:e.g1=a.cutLocation,t.r0=e.r0,t.g0=e.g1,t.b0=e.b0;break;case An:e.b1=l.cutLocation,t.r0=e.r0,t.g0=e.g0,t.b0=e.b1;break;default:throw new Error("unexpected direction "+c)}return e.vol=(e.r1-e.r0)*(e.g1-e.g0)*(e.b1-e.b0),t.vol=(t.r1-t.r0)*(t.g1-t.g0)*(t.b1-t.b0),!0}maximize(e,t,i,o,r,n,s,a){const l=this.bottom(e,t,this.momentsR),c=this.bottom(e,t,this.momentsG),d=this.bottom(e,t,this.momentsB),h=this.bottom(e,t,this.weights);let u=0,p=-1,m=0,v=0,f=0,g=0;for(let b=i;bu&&(u=y,p=b))}return new Bn(p,u)}volume(e,t){return t[this.getIndex(e.r1,e.g1,e.b1)]-t[this.getIndex(e.r1,e.g1,e.b0)]-t[this.getIndex(e.r1,e.g0,e.b1)]+t[this.getIndex(e.r1,e.g0,e.b0)]-t[this.getIndex(e.r0,e.g1,e.b1)]+t[this.getIndex(e.r0,e.g1,e.b0)]+t[this.getIndex(e.r0,e.g0,e.b1)]-t[this.getIndex(e.r0,e.g0,e.b0)]}bottom(e,t,i){switch(t){case En:return-i[this.getIndex(e.r0,e.g1,e.b1)]+i[this.getIndex(e.r0,e.g1,e.b0)]+i[this.getIndex(e.r0,e.g0,e.b1)]-i[this.getIndex(e.r0,e.g0,e.b0)];case In:return-i[this.getIndex(e.r1,e.g0,e.b1)]+i[this.getIndex(e.r1,e.g0,e.b0)]+i[this.getIndex(e.r0,e.g0,e.b1)]-i[this.getIndex(e.r0,e.g0,e.b0)];case An:return-i[this.getIndex(e.r1,e.g1,e.b0)]+i[this.getIndex(e.r1,e.g0,e.b0)]+i[this.getIndex(e.r0,e.g1,e.b0)]-i[this.getIndex(e.r0,e.g0,e.b0)];default:throw new Error("unexpected direction $direction")}}top(e,t,i,o){switch(t){case En:return o[this.getIndex(i,e.g1,e.b1)]-o[this.getIndex(i,e.g1,e.b0)]-o[this.getIndex(i,e.g0,e.b1)]+o[this.getIndex(i,e.g0,e.b0)];case In:return o[this.getIndex(e.r1,i,e.b1)]-o[this.getIndex(e.r1,i,e.b0)]-o[this.getIndex(e.r0,i,e.b1)]+o[this.getIndex(e.r0,i,e.b0)];case An:return o[this.getIndex(e.r1,e.g1,i)]-o[this.getIndex(e.r1,e.g0,i)]-o[this.getIndex(e.r0,e.g1,i)]+o[this.getIndex(e.r0,e.g0,i)];default:throw new Error("unexpected direction $direction")}}getIndex(e,t,i){return(e<<10)+(e<<6)+e+(t<<5)+t+i}}class Mn{constructor(e=0,t=0,i=0,o=0,r=0,n=0,s=0){this.r0=e,this.r1=t,this.g0=i,this.g1=o,this.b0=r,this.b1=n,this.vol=s}}class Dn{constructor(e,t){this.requestedCount=e,this.resultCount=t}}class Bn{constructor(e,t){this.cutLocation=e,this.maximum=t}}class Ln{static quantize(e,t){const i=(new Pn).quantize(e,t);return xn.quantize(e,i,t)}}class _n{get primary(){return this.props.primary}get onPrimary(){return this.props.onPrimary}get primaryContainer(){return this.props.primaryContainer}get onPrimaryContainer(){return this.props.onPrimaryContainer}get secondary(){return this.props.secondary}get onSecondary(){return this.props.onSecondary}get secondaryContainer(){return this.props.secondaryContainer}get onSecondaryContainer(){return this.props.onSecondaryContainer}get tertiary(){return this.props.tertiary}get onTertiary(){return this.props.onTertiary}get tertiaryContainer(){return this.props.tertiaryContainer}get onTertiaryContainer(){return this.props.onTertiaryContainer}get error(){return this.props.error}get onError(){return this.props.onError}get errorContainer(){return this.props.errorContainer}get onErrorContainer(){return this.props.onErrorContainer}get background(){return this.props.background}get onBackground(){return this.props.onBackground}get surface(){return this.props.surface}get onSurface(){return this.props.onSurface}get surfaceVariant(){return this.props.surfaceVariant}get onSurfaceVariant(){return this.props.onSurfaceVariant}get outline(){return this.props.outline}get outlineVariant(){return this.props.outlineVariant}get shadow(){return this.props.shadow}get scrim(){return this.props.scrim}get inverseSurface(){return this.props.inverseSurface}get inverseOnSurface(){return this.props.inverseOnSurface}get inversePrimary(){return this.props.inversePrimary}static light(e){return _n.lightFromCorePalette(kn.of(e))}static dark(e){return _n.darkFromCorePalette(kn.of(e))}static lightContent(e){return _n.lightFromCorePalette(kn.contentOf(e))}static darkContent(e){return _n.darkFromCorePalette(kn.contentOf(e))}static lightFromCorePalette(e){return new _n({primary:e.a1.tone(40),onPrimary:e.a1.tone(100),primaryContainer:e.a1.tone(90),onPrimaryContainer:e.a1.tone(10),secondary:e.a2.tone(40),onSecondary:e.a2.tone(100),secondaryContainer:e.a2.tone(90),onSecondaryContainer:e.a2.tone(10),tertiary:e.a3.tone(40),onTertiary:e.a3.tone(100),tertiaryContainer:e.a3.tone(90),onTertiaryContainer:e.a3.tone(10),error:e.error.tone(40),onError:e.error.tone(100),errorContainer:e.error.tone(90),onErrorContainer:e.error.tone(10),background:e.n1.tone(99),onBackground:e.n1.tone(10),surface:e.n1.tone(99),onSurface:e.n1.tone(10),surfaceVariant:e.n2.tone(90),onSurfaceVariant:e.n2.tone(30),outline:e.n2.tone(50),outlineVariant:e.n2.tone(80),shadow:e.n1.tone(0),scrim:e.n1.tone(0),inverseSurface:e.n1.tone(20),inverseOnSurface:e.n1.tone(95),inversePrimary:e.a1.tone(80)})}static darkFromCorePalette(e){return new _n({primary:e.a1.tone(80),onPrimary:e.a1.tone(20),primaryContainer:e.a1.tone(30),onPrimaryContainer:e.a1.tone(90),secondary:e.a2.tone(80),onSecondary:e.a2.tone(20),secondaryContainer:e.a2.tone(30),onSecondaryContainer:e.a2.tone(90),tertiary:e.a3.tone(80),onTertiary:e.a3.tone(20),tertiaryContainer:e.a3.tone(30),onTertiaryContainer:e.a3.tone(90),error:e.error.tone(80),onError:e.error.tone(20),errorContainer:e.error.tone(30),onErrorContainer:e.error.tone(80),background:e.n1.tone(10),onBackground:e.n1.tone(90),surface:e.n1.tone(10),onSurface:e.n1.tone(90),surfaceVariant:e.n2.tone(30),onSurfaceVariant:e.n2.tone(80),outline:e.n2.tone(60),outlineVariant:e.n2.tone(30),shadow:e.n1.tone(0),scrim:e.n1.tone(0),inverseSurface:e.n1.tone(90),inverseOnSurface:e.n1.tone(20),inversePrimary:e.a1.tone(40)})}constructor(e){this.props=e}toJSON(){return{...this.props}}}const On={desired:4,fallbackColorARGB:4282549748,filter:!0};function zn(e,t){return e.score>t.score?-1:e.score=15;e--){d.length=0;for(const{hct:t}of c){if(d.find((i=>Nr(t.hue,i.hue)=i)break}if(d.length>=i)break}const h=[];0===d.length&&h.push(o);for(const e of d)h.push(e.toInt());return h}}function Nn(e){const t=3===(e=e.replace("#","")).length,i=6===e.length,o=8===e.length;if(!t&&!i&&!o)throw new Error("unexpected hex "+e);let r=0,n=0,s=0;return t?(r=Vn(e.slice(0,1).repeat(2)),n=Vn(e.slice(1,2).repeat(2)),s=Vn(e.slice(2,3).repeat(2))):i?(r=Vn(e.slice(0,2)),n=Vn(e.slice(2,4)),s=Vn(e.slice(4,6))):o&&(r=Vn(e.slice(2,4)),n=Vn(e.slice(4,6)),s=Vn(e.slice(6,8))),(255<<24|(255&r)<<16|(255&n)<<8|255&s)>>>0}function Vn(e){return parseInt(e,16)}async function Hn(e){const t=await new Promise(((t,i)=>{const o=document.createElement("canvas"),r=o.getContext("2d");if(!r)return void i(new Error("Could not get canvas context"));const n=()=>{o.width=e.width,o.height=e.height,r.drawImage(e,0,0);let i=[0,0,e.width,e.height];const n=e.dataset.area;n&&/^\d+(\s*,\s*\d+){3}$/.test(n)&&(i=n.split(/\s*,\s*/).map((e=>parseInt(e,10))));const[s,a,l,c]=i;t(r.getImageData(s,a,l,c).data)};e.complete?n():e.onload=n})),i=[];for(let e=0;e{const t=P(e);let i=t.get().map((e=>Array.from(e.classList))).flat();i=D(i).filter((e=>e.startsWith(qn))),t.removeClass(i.join(" "));const o=i.filter((e=>0===P(`.${e}`).length));P(o.map((e=>`#${e}`)).join(",")).remove()},Wn=(e,t)=>{const i=r(),o=P((null==t?void 0:t.target)||i.documentElement),n={light:_n.light(e).toJSON(),dark:_n.dark(e).toJSON()},s=kn.of(e);Object.assign(n.light,{"surface-dim":s.n1.tone(87),"surface-bright":s.n1.tone(98),"surface-container-lowest":s.n1.tone(100),"surface-container-low":s.n1.tone(96),"surface-container":s.n1.tone(94),"surface-container-high":s.n1.tone(92),"surface-container-highest":s.n1.tone(90),"surface-tint-color":n.light.primary}),Object.assign(n.dark,{"surface-dim":s.n1.tone(6),"surface-bright":s.n1.tone(24),"surface-container-lowest":s.n1.tone(4),"surface-container-low":s.n1.tone(10),"surface-container":s.n1.tone(12),"surface-container-high":s.n1.tone(17),"surface-container-highest":s.n1.tone(22),"surface-tint-color":n.dark.primary}),((null==t?void 0:t.customColors)||[]).map((t=>{const i=k(t.name),o=function(e,t){let i=t.value;const o=i,r=e;t.blend&&(i=cn.harmonize(o,r));const n=kn.of(i).a1;return{color:t,value:i,light:{color:n.tone(40),onColor:n.tone(100),colorContainer:n.tone(90),onColorContainer:n.tone(10)},dark:{color:n.tone(80),onColor:n.tone(20),colorContainer:n.tone(30),onColorContainer:n.tone(90)}}}(e,{name:i,value:Nn(t.value),blend:!0});Un.forEach((e=>{n[e][i]=o[e].color,n[e][`on-${i}`]=o[e].onColor,n[e][`${i}-container`]=o[e].colorContainer,n[e][`on-${i}-container`]=o[e].onColorContainer}))}));const a=(e,t)=>Object.entries(n[e]).map((([e,i])=>t(k(e),(e=>[Gr(e),Wr(e),Yr(e)].join(", "))(i)))).join(""),l=qn+`${e}-${jn++}`,c=`.${l} {\n ${a("light",((e,t)=>`--mdui-color-${e}-light: ${t};`))}\n ${a("dark",((e,t)=>`--mdui-color-${e}-dark: ${t};`))}\n ${a("light",(e=>`--mdui-color-${e}: var(--mdui-color-${e}-light);`))}\n\n color: rgb(var(--mdui-color-on-background));\n background-color: rgb(var(--mdui-color-background));\n}\n\n.mdui-theme-dark .${l},\n.mdui-theme-dark.${l} {\n ${a("dark",(e=>`--mdui-color-${e}: var(--mdui-color-${e}-dark);`))}\n}\n\n@media (prefers-color-scheme: dark) {\n .mdui-theme-auto .${l},\n .mdui-theme-auto.${l} {\n ${a("dark",(e=>`--mdui-color-${e}: var(--mdui-color-${e}-dark);`))}\n }\n}`;Gn(o),P(i.head).append(``),o.addClass(l)},Yn="mdui.functions.snackbar.";let Xn;e.$=P,e.alert=e=>{const t=Object.assign({},Dr,e),i=["headline","description","icon","closeOnEsc","closeOnOverlayClick","queue","onOpen","onOpened","onClose","onClosed","onOverlayClick"];return new Promise(((e,o)=>{let r=!1;const n=Mr({...Object.fromEntries(i.filter((e=>!u(t[e]))).map((e=>[e,t[e]]))),actions:[{text:t.confirmText,onClick:e=>{const i=t.onConfirm.call(e,e);return Rr(i)?i.then((()=>{r=!0})):!1!==i&&(r=!0),i}}]});P(n).on("close",(()=>{r?e():o()}))}))},e.breakpoint=zo,e.confirm=e=>{const t=Object.assign({},Br,e),i=["headline","description","icon","closeOnEsc","closeOnOverlayClick","stackedActions","queue","onOpen","onOpened","onClose","onClosed","onOverlayClick"];return new Promise(((e,o)=>{let r=!1;const n=Mr({...Object.fromEntries(i.filter((e=>!u(t[e]))).map((e=>[e,t[e]]))),actions:[{text:t.cancelText,onClick:e=>t.onCancel.call(e,e)},{text:t.confirmText,onClick:e=>{const i=t.onConfirm.call(e,e);return Rr(i)?i.then((()=>{r=!0})):!1!==i&&(r=!0),i}}]});P(n).on("close",(()=>{r?e():o()}))}))},e.dialog=Mr,e.getColorFromImage=async e=>{const t=P(e);return function(e){const t=Gr(e),i=Wr(e),o=Yr(e),r=[t.toString(16),i.toString(16),o.toString(16)];for(const[e,t]of r.entries())1===t.length&&(r[e]="0"+t);return"#"+r.join("")}(await Hn(t[0]))},e.getTheme=(e=document.documentElement)=>{var t,i;const o=P(e)[0],r=["light","dark","auto"],n="mdui-theme-";return null!==(i=null===(t=Array.from(o.classList).find((e=>r.map((e=>n+e)).includes(e))))||void 0===t?void 0:t.slice(11))&&void 0!==i?i:"light"},e.observeResize=Ci,e.prompt=t=>{const i=Object.assign({},Kn,t),o=["headline","description","icon","closeOnEsc","closeOnOverlayClick","stackedActions","queue","onOpen","onOpened","onClose","onClosed","onOverlayClick"],r=new e.TextField;return Object.entries(i.textFieldOptions).forEach((([e,t])=>{r[e]=t})),new Promise(((e,t)=>{let n=!1;const s=Mr({...Object.fromEntries(o.filter((e=>!u(i[e]))).map((e=>[e,i[e]]))),body:r,actions:[{text:i.cancelText,onClick:e=>i.onCancel.call(e,r.value,e)},{text:i.confirmText,onClick:e=>{if(r.setCustomValidity(""),!r.reportValidity())return!1;const t=i.validator.call(r,r.value);return h(t)&&!t?(r.setCustomValidity(" "),!1):c(t)?(r.setCustomValidity(t),!1):Rr(t)?new Promise(((e,i)=>{t.then(e).catch((e=>{r.setCustomValidity(e),i(e)}))})):(()=>{const t=i.onConfirm.call(e,r.value,e);return Rr(t)?t.then((()=>{n=!0})):!1!==t&&(n=!0),t})()}}]});P(s).on("close",(()=>{n?e(r.value):t()}))}))},e.removeColorScheme=(e=document.documentElement)=>{Gn(e)},e.setColorScheme=(e,t)=>{const i=Nn(e);Wn(i,t)},e.setTheme=(e,t=document.documentElement)=>{const i=P(t),o="mdui-theme-";i.removeClass(["light","dark","auto"].map((e=>o+e)).join(" ")).addClass(o+e)},e.snackbar=t=>{const i=new e.Snackbar,o=P(i);return Object.entries(t).forEach((([e,r])=>{if("message"===e)i.innerHTML=r;else if(["onClick","onActionClick","onOpen","onOpened","onClose","onClosed"].includes(e)){const n=k(e.slice(2));o.on(n,(()=>{var o;if("onActionClick"===e){const e=(null!==(o=t.onActionClick)&&void 0!==o?o:x).call(i,i);Rr(e)?(i.actionLoading=!0,e.then((()=>{i.open=!1})).finally((()=>{i.actionLoading=!1}))):!1!==e&&(i.open=!1)}else r.call(i,i)}))}else i[e]=r})),o.appendTo("body").on("closed",(()=>{o.remove(),t.queue&&(Xn=void 0,Er(Yn+t.queue))})),t.queue?Xn?Tr(Yn+t.queue,(()=>{i.open=!0,Xn=i})):(setTimeout((()=>{i.open=!0})),Xn=i):setTimeout((()=>{i.open=!0})),i},e.throttle=(e,t=0)=>{const i=s();let o,r;return function(...n){return void 0===o&&(o=i.setTimeout((()=>{r=e.apply(this,n),o=void 0}),t)),r}}})); diff --git a/config.json.example b/config.json.example new file mode 100644 index 0000000..ef22132 --- /dev/null +++ b/config.json.example @@ -0,0 +1,8 @@ +{ + "turnstile_secret_key": "1x0000000000000000000000000000000AA", + "keycloak_server_url": "xxxxxxxxx", + "keycloak_admin_username": "xxxxxxx", + "keycloak_admin_password": "xxxxxxxx", + "keycloak_realm_name": "master", + "open_registration": true +} diff --git a/nginx.conf b/nginx.conf new file mode 100644 index 0000000..9ad1f46 --- /dev/null +++ b/nginx.conf @@ -0,0 +1,39 @@ +server { + listen 80; + listen [::]:80; + server_name "registry.csuwf.com"; + return 301 https://$server_name$request_uri; +} + +server { + listen 443 ssl; + listen [::]:443 ssl; + http2 on; + http3 on; + http3_hq on; + add_header Alt-Svc 'h3=":443"; ma=86400'; + server_name "registry.csuwf.com"; + + ssl_certificate /etc/nginx/ssl/registry.csuwf.com.cert.pem; + ssl_certificate_key /etc/nginx/ssl/registry.csuwf.com.key.pem; + ssl_session_timeout 1d; + ssl_session_cache shared:SSL:10m; + ssl_session_tickets off; + ssl_protocols TLSv1.2 TLSv1.3; + ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384; + ssl_conf_command Ciphersuites TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256; + ssl_ecdh_curve X25519:secp384r1; + ssl_prefer_server_ciphers on; + ssl_stapling on; + ssl_stapling_verify on; + ssl_trusted_certificate /etc/nginx/ssl/registry.csuwf.com.cert.pem; + resolver 8.8.8.8 1.1.1.1; + # ssl related config + location / { + proxy_pass http://127.0.0.1:10010; + proxy_set_header Host $http_host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } +} diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..1b13fac --- /dev/null +++ b/requirements.txt @@ -0,0 +1,6 @@ +fastapi +uvicorn +python-multipart +jinja2 +email-validator +python-keycloak diff --git a/src/db.py b/src/db.py new file mode 100644 index 0000000..9bc68f9 --- /dev/null +++ b/src/db.py @@ -0,0 +1,181 @@ +import sqlite3 +import sys +import random +from .log import getlogger + +logger = getlogger() + + +class DBManager: + def __init__(self) -> None: + try: + self.conn = sqlite3.connect("user.db") + self.cursor = self.conn.cursor() + self.cursor.execute( + """ + CREATE TABLE IF NOT EXISTS users ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + username TEXT NOT NULL, + email TEXT NOT NULL, + seed TEXT NOT NULL + ) + """ + ) + self.conn.commit() + db_version = self.get_db_version() + if db_version == 0: + self.migrate_0to1() + except Exception as e: + logger.error(e) + sys.exit(1) + + def add_user(self, username, email): + try: + self.cursor.execute( + """ + INSERT INTO users (username, email, seed) + VALUES (?, ?, ?) + """, + (username, email, hex(random.getrandbits(64))[2:]), + ) + self.conn.commit() + except Exception as e: + logger.error(e) + + def get_user_by_name(self, username): + try: + self.cursor.execute( + """ + SELECT * FROM users WHERE username = ? + """, + (username,), + ) + return self.cursor.fetchone() + except Exception as e: + logger.error(e) + + def get_user_by_email(self, email) -> str: + try: + self.cursor.execute( + """ + SELECT username FROM users WHERE email = ? + """, + (email,), + ) + return self.cursor.fetchone()[0] + except Exception as e: + logger.error(e) + + # if db version not exist, initialize and create meta table and set db_version to 0 + def get_db_version(self): + try: + self.cursor.execute( + """ + SELECT db_version FROM meta + """ + ) + return self.cursor.fetchone()[0] + except Exception as e: + logger.error(e) + self.cursor.execute( + """ + CREATE TABLE IF NOT EXISTS meta ( + db_version INTEGER NOT NULL + ) + """ + ) + logger.info("meta table created") + self.cursor.execute( + """ + INSERT INTO meta (db_version) VALUES (0) + """ + ) + logger.info("db_version set to 0") + self.conn.commit() + return 0 + + def get_user_seed_by_username(self, username) -> str: + try: + self.cursor.execute( + """ + SELECT seed FROM users WHERE username = ? + """, + (username,), + ) + return self.cursor.fetchone()[0] + except Exception as e: + logger.error(e) + + def get_user_seed_by_email(self, email) -> str: + try: + self.cursor.execute( + """ + SELECT seed FROM users WHERE email = ? + """, + (email,), + ) + return self.cursor.fetchone()[0] + except Exception as e: + logger.error(e) + + def update_user_seed_by_username(self, username): + try: + self.cursor.execute( + """ + UPDATE users SET seed = ? WHERE username = ? + """, + (hex(random.getrandbits(64))[2:], username), + ) + self.conn.commit() + except Exception as e: + logger.error(e) + + def update_user_seed_by_email(self, email): + try: + self.cursor.execute( + """ + UPDATE users SET seed = ? WHERE email = ? + """, + (hex(random.getrandbits(64))[2:], email), + ) + self.conn.commit() + except Exception as e: + logger.error(e) + + # db migration from 0 to 1 + # add column seed and set random seed to existing users + # seed: 16 hex numbers + def migrate_0to1(self): + try: + self.cursor.execute( + """ + ALTER TABLE users ADD COLUMN seed TEXT + """ + ) + logger.info("seed column added") + # iterate over all users and set random seed + self.cursor.execute( + """ + SELECT * FROM users + """ + ) + users = self.cursor.fetchall() + for user in users: + self.cursor.execute( + """ + UPDATE users SET seed = ? WHERE id = ? + """, + (hex(random.getrandbits(64))[2:], user[0]), + ) + self.conn.commit() + logger.info("seed set for all users") + # update db_version to 1 + self.cursor.execute( + """ + UPDATE meta SET db_version = 1 + """ + ) + self.conn.commit() + except Exception as e: + logger.error(e) + sys.exit(1) diff --git a/src/log.py b/src/log.py new file mode 100644 index 0000000..5d4976a --- /dev/null +++ b/src/log.py @@ -0,0 +1,40 @@ +import logging +import os +from pathlib import Path + +log_path = Path(os.path.dirname(__file__)).parent / "bot.log" + + +def getlogger(): + # create a custom logger if no log handler + logger = logging.getLogger(__name__) + if not logger.hasHandlers(): + logger.setLevel(logging.INFO) + # create handlers + warn_handler = logging.StreamHandler() + info_handler = logging.StreamHandler() + error_handler = logging.FileHandler("bot.log", mode="a") + warn_handler.setLevel(logging.WARNING) + error_handler.setLevel(logging.ERROR) + info_handler.setLevel(logging.INFO) + + # create formatters + warn_format = logging.Formatter( + "%(asctime)s - %(funcName)s - %(levelname)s - %(message)s", + ) + error_format = logging.Formatter( + "%(asctime)s - %(name)s - %(funcName)s - %(levelname)s - %(message)s", + ) + info_format = logging.Formatter("%(asctime)s - %(levelname)s - %(message)s") + + # set formatter + warn_handler.setFormatter(warn_format) + error_handler.setFormatter(error_format) + info_handler.setFormatter(info_format) + + # add handlers to logger + logger.addHandler(warn_handler) + logger.addHandler(error_handler) + logger.addHandler(info_handler) + + return logger diff --git a/src/main.py b/src/main.py new file mode 100644 index 0000000..bea4ae8 --- /dev/null +++ b/src/main.py @@ -0,0 +1,307 @@ +import json +from fastapi import FastAPI, Request +from fastapi.responses import HTMLResponse, PlainTextResponse, JSONResponse +from fastapi.templating import Jinja2Templates +from fastapi.staticfiles import StaticFiles +from pydantic import BaseModel +from email_validator import validate_email, EmailNotValidError +from keycloak import KeycloakAdmin, KeycloakGetError +from keycloak import KeycloakOpenIDConnection +from .log import getlogger +from .db import DBManager +import subprocess +import requests +from shlex import quote as shellquote + +reserved_users = [ + "admin", + "administrator", + "root", + "postmaster", + "webmaster", + "wf", + "csu", + "csuwf", +] + +reserved_emails = [ + "admin@csuwf.com", + "administrator@csuwf.com", + "root@csuwf.com", + "postmaster@csuwf.com", + "webmaster@csuwf.com", + "wf@csuwf.com", + "csu@csuwf.com", + "csuwf@csuwf.com", + "rocketchat-bot@csuwf.com", + "nextcloud-bot@csuwf.com", + "dmarc.report@csuwf.com", + "keycloak@csuwf.com", +] + +logger = getlogger() +dbmanager = DBManager() + + +class Register_Request_Body(BaseModel): + username: str + email: str + password: str + token: str + + +class Password_Reset_Request_Body(BaseModel): + email: str + password: str + authcode: str + token: str + + +class checkemailexistRequest(BaseModel): + email: str + + +class checkusernameexistRequest(BaseModel): + username: str + + +app = FastAPI(openapi_url=None) +app.mount( + "/assets", + StaticFiles(directory="assets"), + name="assets", +) + +templates = Jinja2Templates(directory="templates") + +with open("config.json", "r") as f: + config = json.load(f) + turnstile_secret_key = config["turnstile_secret_key"] + keycloak_server_url = config["keycloak_server_url"] + keycloak_admin_username = config["keycloak_admin_username"] + keycloak_admin_password = config["keycloak_admin_password"] + keycloak_realm_name = config["keycloak_realm_name"] + open_registration = config["open_registration"] + +keycloak_connection = KeycloakOpenIDConnection( + server_url=keycloak_server_url, + username=keycloak_admin_username, + password=keycloak_admin_password, + realm_name=keycloak_realm_name, + verify=True, +) + +keycloak_admin = KeycloakAdmin(connection=keycloak_connection) + + +@app.get("/", response_class=HTMLResponse) +async def root(request: Request): + return templates.TemplateResponse("index.html", {"request": request}) + + +@app.get("/update-password", response_class=HTMLResponse) +async def update_password(request: Request): + return templates.TemplateResponse("password-update.html", {"request": request}) + + +@app.post("/checkemailexist") +async def checkemailexist(request: Request, request_body: checkemailexistRequest): + request_body = request_body.model_dump() + if request_body["email"] in reserved_emails: + return JSONResponse(content={"exist": True}, status_code=200) + if dbmanager.get_user_by_email(request_body["email"]): + return JSONResponse(content={"exist": True}, status_code=200) + else: + return JSONResponse(content={"exist": False}, status_code=200) + + +@app.post("/checkusernameexist") +async def checkusernameexist(request: Request, request_body: checkusernameexistRequest): + request_body = request_body.model_dump() + if request_body["username"] in reserved_users: + return JSONResponse(content={"exist": True}, status_code=200) + if dbmanager.get_user_by_name(request_body["username"]): + return JSONResponse(content={"exist": True}, status_code=200) + else: + return JSONResponse(content={"exist": False}, status_code=200) + + +@app.post("/register", response_class=PlainTextResponse) +async def register(request: Request, request_body: Register_Request_Body): + try: + # check if open register + if not open_registration: + return "注册功能已关闭,请联系管理员。" + + request_body = request_body.model_dump() + + # verify captcha + captcha_verify_response = requests.post( + "https://challenges.cloudflare.com/turnstile/v0/siteverify", + data={ + "secret": turnstile_secret_key, + "response": request_body["token"], + "remoteip": request.client.host, + }, + ) + captcha_verify_response_json = captcha_verify_response.json() + if not captcha_verify_response_json["success"]: + return "验证码校验出错,请刷新网页重试,如果问题依旧,请联系管理员。" + + # validate email + try: + email = request_body["email"] + emailinfo = validate_email(email, check_deliverability=False) + email = emailinfo.normalized + except EmailNotValidError as e: + return "邮件地址出错: " + str(e) + + # check if email is reserved + if email in reserved_emails: + return "该邮件地址为保留地址,请更换。" + + # check if email exists + if dbmanager.get_user_by_email(email): + return "邮件地址已被注册。" + + # check if username is reserved + if request_body["username"] in reserved_users: + return "该用户名为保留用户名,请更换。" + + # check if username exists + if dbmanager.get_user_by_name(request_body["username"]): + return "用户名已被注册。" + + # create user in keycloak + try: + keycloak_admin.create_user( + { + "email": email, + "username": request_body["username"], + "emailVerified": True, + "enabled": True, + "credentials": [ + { + "type": "password", + "value": request_body["password"], + "temporary": False, + } + ], + "attributes": { + "quota": "10G", + }, + "groups": [ + "网服队员", + ], + } + ) + except KeycloakGetError: + return "用户名已被注册,请更改。" + + # use subprocess create user in docker-mailserver + try: + # docker exec -it dms setup email add [] + subprocess.run( + [ + "docker", + "exec", + "-it", + "dms", + "setup", + "email", + "add", + email, + shellquote(request_body["password"]), + ], + ) + except Exception as e: + logger.error(e) + return "出错了,请刷新网页重试,如果问题依旧,请联系管理员。" + + except Exception as e: + logger.error(e) + return "出错了,请刷新网页重试,如果问题依旧,请联系管理员。" + + dbmanager.add_user(request_body["username"], email) + return "注册成功。" + + +@app.post("/passwordreset", response_class=PlainTextResponse) +async def passwordreset(request: Request, request_body: Password_Reset_Request_Body): + try: + request_body = request_body.model_dump() + + # verify captcha + captcha_verify_response = requests.post( + "https://challenges.cloudflare.com/turnstile/v0/siteverify", + data={ + "secret": turnstile_secret_key, + "response": request_body["token"], + "remoteip": request.client.host, + }, + ) + captcha_verify_response_json = captcha_verify_response.json() + if not captcha_verify_response_json["success"]: + return "验证码校验出错,请刷新网页重试,如果问题依旧,请联系管理员。" + + # validate email + try: + email = request_body["email"] + emailinfo = validate_email(email, check_deliverability=False) + email = emailinfo.normalized + except EmailNotValidError as e: + return "邮件地址出错: " + str(e) + + # check if email exists + if not dbmanager.get_user_by_email(email): + return "邮件地址不存在。" + + # validate authcode + authcode = request_body["authcode"] + real_authcode = dbmanager.get_user_seed_by_email(email) + if authcode != real_authcode: + return "校验码错误,请仔细核对或联系管理员" + + # update user in keycloak + try: + # get username by email + username = dbmanager.get_user_by_email(email) + # get user_id by username + user_id = keycloak_admin.get_user_id(username) + keycloak_admin.set_user_password( + user_id=user_id, + password=request_body["password"], + temporary=False, + ) + + except KeycloakGetError as e: + logger.error(e) + return "Keycloak密码更新失败,请联系管理员" + + # use subprocess to update user password in docker-mailserver + try: + # docker exec -it dms setup email add [] + subprocess.run( + [ + "docker", + "exec", + "-it", + "dms", + "setup", + "email", + "update", + email, + shellquote(request_body["password"]), + ], + ) + except Exception as e: + logger.error(e) + return "出错了,请刷新网页重试" + + # generate new authcode + dbmanager.update_user_seed_by_email(email) + + return "密码修改成功" + except Exception as e: + logger.error(e) + return "出错了,请刷新网页重试" diff --git a/templates/index.html b/templates/index.html new file mode 100644 index 0000000..e06db56 --- /dev/null +++ b/templates/index.html @@ -0,0 +1,262 @@ + + + + + + + + + + + + + + + 网服注册服务 + + +
+ +

网服注册服务

+ + + + + + + + + + + 重置密码 + +
+ 注册 +
+ + + + diff --git a/templates/password-update.html b/templates/password-update.html new file mode 100644 index 0000000..55b3686 --- /dev/null +++ b/templates/password-update.html @@ -0,0 +1,263 @@ + + + + + + + + + + + + + + + 网服密码重置服务 + + +
+ +

网服密码重置服务

+ + + + + + + + + + + + + +
+ 修改密码 +
+ + + +