From 226c483b0b8077700df1034ebd0dce95fc56fb37 Mon Sep 17 00:00:00 2001 From: github-actions Date: Wed, 29 Mar 2023 06:37:55 +0000 Subject: [PATCH] Update prebuilt objects [skip actions] --- ...0b8.css => index.60aa97be4459083adfab.css} | 2 +- ...s.gz => index.60aa97be4459083adfab.css.gz} | Bin 7561 -> 7569 bytes ...c.bundle.d.ts => index.44748c.bundle.d.ts} | 0 ...e.d.ts => node_vendors.44748c.bundle.d.ts} | 0 .../wifi-manager/webapp/dist/index.html | 2 +- .../wifi-manager/webapp/dist/index.html.gz | Bin 8512 -> 8502 bytes .../webapp/dist/js/index.44748c.bundle.js | 2 - .../webapp/dist/js/index.44748c.bundle.js.gz | Bin 14128 -> 0 bytes .../webapp/dist/js/index.44748c.bundle.js.map | 1 - .../webapp/dist/js/index.9d3dbc.bundle.js | 2 + .../webapp/dist/js/index.9d3dbc.bundle.js.gz | Bin 0 -> 14366 bytes .../webapp/dist/js/index.9d3dbc.bundle.js.map | 1 + .../dist/js/node_vendors.44748c.bundle.js | 2 - .../dist/js/node_vendors.44748c.bundle.js.gz | Bin 89650 -> 0 bytes .../dist/js/node_vendors.44748c.bundle.js.map | 1 - .../dist/js/node_vendors.9d3dbc.bundle.js | 2 + .../dist/js/node_vendors.9d3dbc.bundle.js.gz | Bin 0 -> 89709 bytes .../dist/js/node_vendors.9d3dbc.bundle.js.map | 1 + .../wifi-manager/webapp/dist/src/js/test.d.ts | 3 + components/wifi-manager/webapp/webapp.cmake | 6 +- components/wifi-manager/webapp/webpack.c | 30 +-- components/wifi-manager/webapp/webpack.h | 2 +- server_certs/DigiCertGlobalRootCA.crt.28 | Bin 0 -> 947 bytes server_certs/github-com.pem | 34 +-- server_certs/github.pem | 213 ++++++++---------- server_certs/githubusercontent-com.pem | 72 +++--- server_certs/r2m01.cer | Bin 0 -> 1122 bytes server_certs/s3-amazon-com.pem | 82 +++---- server_certs/sca1b.crt | Bin 1101 -> 0 bytes server_certs/sca1b.pem | 25 -- 30 files changed, 218 insertions(+), 265 deletions(-) rename components/wifi-manager/webapp/dist/css/{index.7964a13ec910c36040b8.css => index.60aa97be4459083adfab.css} (99%) rename components/wifi-manager/webapp/dist/css/{index.7964a13ec910c36040b8.css.gz => index.60aa97be4459083adfab.css.gz} (98%) rename components/wifi-manager/webapp/dist/dist/js/{index.9af6cc.bundle.d.ts => index.44748c.bundle.d.ts} (100%) rename components/wifi-manager/webapp/dist/dist/js/{node_vendors.9af6cc.bundle.d.ts => node_vendors.44748c.bundle.d.ts} (100%) delete mode 100644 components/wifi-manager/webapp/dist/js/index.44748c.bundle.js delete mode 100644 components/wifi-manager/webapp/dist/js/index.44748c.bundle.js.gz delete mode 100644 components/wifi-manager/webapp/dist/js/index.44748c.bundle.js.map create mode 100644 components/wifi-manager/webapp/dist/js/index.9d3dbc.bundle.js create mode 100644 components/wifi-manager/webapp/dist/js/index.9d3dbc.bundle.js.gz create mode 100644 components/wifi-manager/webapp/dist/js/index.9d3dbc.bundle.js.map delete mode 100644 components/wifi-manager/webapp/dist/js/node_vendors.44748c.bundle.js delete mode 100644 components/wifi-manager/webapp/dist/js/node_vendors.44748c.bundle.js.gz delete mode 100644 components/wifi-manager/webapp/dist/js/node_vendors.44748c.bundle.js.map create mode 100644 components/wifi-manager/webapp/dist/js/node_vendors.9d3dbc.bundle.js create mode 100644 components/wifi-manager/webapp/dist/js/node_vendors.9d3dbc.bundle.js.gz create mode 100644 components/wifi-manager/webapp/dist/js/node_vendors.9d3dbc.bundle.js.map create mode 100644 server_certs/DigiCertGlobalRootCA.crt.28 create mode 100644 server_certs/r2m01.cer delete mode 100644 server_certs/sca1b.crt delete mode 100644 server_certs/sca1b.pem diff --git a/components/wifi-manager/webapp/dist/css/index.7964a13ec910c36040b8.css b/components/wifi-manager/webapp/dist/css/index.60aa97be4459083adfab.css similarity index 99% rename from components/wifi-manager/webapp/dist/css/index.7964a13ec910c36040b8.css rename to components/wifi-manager/webapp/dist/css/index.60aa97be4459083adfab.css index 06d069df..5e58a579 100644 --- a/components/wifi-manager/webapp/dist/css/index.7964a13ec910c36040b8.css +++ b/components/wifi-manager/webapp/dist/css/index.60aa97be4459083adfab.css @@ -4,4 +4,4 @@ * Copyright 2011-2022 The Bootstrap Authors * Copyright 2011-2022 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */:root{--bs-blue:#375a7f;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#e83e8c;--bs-red:#e74c3c;--bs-orange:#fd7e14;--bs-yellow:#f39c12;--bs-green:#00bc8c;--bs-teal:#20c997;--bs-cyan:#3498db;--bs-black:#000;--bs-white:#fff;--bs-gray:#888;--bs-gray-dark:#303030;--bs-gray-100:#f8f9fa;--bs-gray-200:#ebebeb;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#888;--bs-gray-700:#444;--bs-gray-800:#303030;--bs-gray-900:#222;--bs-primary:#375a7f;--bs-secondary:#444;--bs-success:#00bc8c;--bs-info:#3498db;--bs-warning:#f39c12;--bs-danger:#e74c3c;--bs-light:#adb5bd;--bs-dark:#303030;--bs-primary-rgb:55,90,127;--bs-secondary-rgb:68,68,68;--bs-success-rgb:0,188,140;--bs-info-rgb:52,152,219;--bs-warning-rgb:243,156,18;--bs-danger-rgb:231,76,60;--bs-light-rgb:173,181,189;--bs-dark-rgb:48,48,48;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-body-color-rgb:255,255,255;--bs-body-bg-rgb:34,34,34;--bs-font-sans-serif:Lato,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg,hsla(0,0%,100%,.15),hsla(0,0%,100%,0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#fff;--bs-body-bg:#222;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0,0,0,.175);--bs-border-radius:.375rem;--bs-border-radius-sm:.25rem;--bs-border-radius-lg:.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-2xl:2rem;--bs-border-radius-pill:50rem;--bs-link-color:#00bc8c;--bs-link-hover-color:#009670;--bs-code-color:#e83e8c;--bs-highlight-bg:#fdebd0}*,:after,:before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0);background-color:var(--bs-body-bg);color:var(--bs-body-color);font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);margin:0;text-align:var(--bs-body-text-align)}.h1,.h2,.h3,.h4,.h5,h1,h2,h3,h4,h5{font-weight:500;line-height:1.2;margin-bottom:.5rem;margin-top:0}.h1,h1{font-size:calc(1.425rem + 2.1vw)}@media (min-width:1200px){.h1,h1{font-size:3rem}}.h2,h2{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h2,h2{font-size:2.5rem}}.h3,h3{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h3,h3{font-size:2rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}p{margin-top:0}address,p{margin-bottom:1rem}address{font-style:normal;line-height:inherit}ul{margin-bottom:1rem;margin-top:0;padding-left:2rem}ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}b,strong{font-weight:bolder}.small,small{font-size:.875em}sub{bottom:-.25em;font-size:.75em;line-height:0;position:relative;vertical-align:baseline}a{color:var(--bs-link-color);text-decoration:underline}a:hover{color:var(--bs-link-hover-color)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}svg{vertical-align:middle}table{border-collapse:collapse;caption-side:bottom}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,th,thead,tr{border:0 solid;border-color:inherit}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,select{font-family:inherit;font-size:inherit;line-height:inherit;margin:0}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{border-style:none;padding:0}fieldset{border:0;margin:0;min-width:0;padding:0}legend{float:left;font-size:calc(1.275rem + .3vw);line-height:inherit;margin-bottom:.5rem;padding:0;width:100%}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{-webkit-appearance:button;font:inherit}output{display:inline-block}progress{vertical-align:baseline}[hidden]{display:none!important}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-left:calc(var(--bs-gutter-x)*-.5);margin-right:calc(var(--bs-gutter-x)*-.5);margin-top:calc(var(--bs-gutter-y)*-1)}.row>*{flex-shrink:0;margin-top:var(--bs-gutter-y);max-width:100%;padding-left:calc(var(--bs-gutter-x)*.5);padding-right:calc(var(--bs-gutter-x)*.5);width:100%}.col{flex:1 0 0%}.col-auto{flex:0 0 auto;width:auto}.table{--bs-table-color:var(--bs-body-color);--bs-table-bg:transparent;--bs-table-border-color:#444;--bs-table-accent-bg:transparent;--bs-table-striped-color:var(--bs-body-color);--bs-table-striped-bg:rgba(0,0,0,.05);--bs-table-active-color:var(--bs-body-color);--bs-table-active-bg:rgba(0,0,0,.1);--bs-table-hover-color:var(--bs-body-color);--bs-table-hover-bg:rgba(0,0,0,.075);border-color:var(--bs-table-border-color);color:var(--bs-table-color);margin-bottom:1rem;vertical-align:top;width:100%}.table>:not(caption)>*>*{background-color:var(--bs-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg);padding:.5rem}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-accent-bg:var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-hover>tbody>tr:hover>*{--bs-table-accent-bg:var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}.table-primary{--bs-table-color:#fff;--bs-table-bg:#375a7f;--bs-table-border-color:#4b6b8c;--bs-table-striped-bg:#416285;--bs-table-striped-color:#fff;--bs-table-active-bg:#4b6b8c;--bs-table-active-color:#fff;--bs-table-hover-bg:#466689;--bs-table-hover-color:#fff}.table-primary,.table-secondary{border-color:var(--bs-table-border-color);color:var(--bs-table-color)}.table-secondary{--bs-table-color:#fff;--bs-table-bg:#444;--bs-table-border-color:#575757;--bs-table-striped-bg:#4d4d4d;--bs-table-striped-color:#fff;--bs-table-active-bg:#575757;--bs-table-active-color:#fff;--bs-table-hover-bg:#525252;--bs-table-hover-color:#fff}.table-success{--bs-table-color:#fff;--bs-table-bg:#00bc8c;--bs-table-border-color:#1ac398;--bs-table-striped-bg:#0dbf92;--bs-table-striped-color:#fff;--bs-table-active-bg:#1ac398;--bs-table-active-color:#fff;--bs-table-hover-bg:#13c195;--bs-table-hover-color:#fff}.table-success,.table-warning{border-color:var(--bs-table-border-color);color:var(--bs-table-color)}.table-warning{--bs-table-color:#fff;--bs-table-bg:#f39c12;--bs-table-border-color:#f4a62a;--bs-table-striped-bg:#f4a11e;--bs-table-striped-color:#fff;--bs-table-active-bg:#f4a62a;--bs-table-active-color:#fff;--bs-table-hover-bg:#f4a324;--bs-table-hover-color:#fff}.table-danger{--bs-table-color:#fff;--bs-table-bg:#e74c3c;--bs-table-border-color:#e95e50;--bs-table-striped-bg:#e85546;--bs-table-striped-color:#fff;--bs-table-active-bg:#e95e50;--bs-table-active-color:#fff;--bs-table-hover-bg:#e9594b;--bs-table-hover-color:#fff}.table-danger,.table-light{border-color:var(--bs-table-border-color);color:var(--bs-table-color)}.table-light{--bs-table-color:#fff;--bs-table-bg:#adb5bd;--bs-table-border-color:#b5bcc4;--bs-table-striped-bg:#b1b9c0;--bs-table-striped-color:#fff;--bs-table-active-bg:#b5bcc4;--bs-table-active-color:#fff;--bs-table-hover-bg:#b3bbc2;--bs-table-hover-color:#fff}.table-dark{--bs-table-color:#fff;--bs-table-bg:#303030;--bs-table-border-color:#454545;--bs-table-striped-bg:#3a3a3a;--bs-table-striped-color:#fff;--bs-table-active-bg:#454545;--bs-table-active-color:#fff;--bs-table-hover-bg:#404040;--bs-table-hover-color:#fff;border-color:var(--bs-table-border-color);color:var(--bs-table-color)}.col-form-label{font-size:inherit;line-height:1.5;margin-bottom:0;padding-bottom:calc(.375rem + 1px);padding-top:calc(.375rem + 1px)}.form-text{color:#888;font-size:.875em;margin-top:.25rem}.form-control{appearance:none;background-clip:padding-box;background-color:#fff;border:1px solid #222;border-radius:.375rem;color:#303030;display:block;font-size:1rem;font-weight:400;line-height:1.5;padding:.375rem .75rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:100%}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{background-color:#fff;border-color:#9badbf;box-shadow:0 0 0 .25rem rgba(55,90,127,.25);color:#303030;outline:0}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::placeholder{color:#888;opacity:1}.form-control:disabled{background-color:#ebebeb;opacity:1}.form-control::file-selector-button{background-color:#444;border:0 solid;border-color:inherit;border-inline-end-width:1px;border-radius:0;color:#fff;margin:-.375rem -.75rem;margin-inline-end:.75rem;padding:.375rem .75rem;pointer-events:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#414141}.form-control-sm{border-radius:.25rem;font-size:.875rem;min-height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem}.form-control-sm::file-selector-button{margin:-.25rem -.5rem;margin-inline-end:.5rem;padding:.25rem .5rem}.form-check{display:block;margin-bottom:.125rem;min-height:1.5rem;padding-left:1.5em}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-input{appearance:none;background-color:#fff;background-position:50%;background-repeat:no-repeat;background-size:contain;border:none;height:1em;margin-top:.25em;print-color-adjust:exact;vertical-align:top;width:1em}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#9badbf;box-shadow:0 0 0 .25rem rgba(55,90,127,.25);outline:0}.form-check-input:checked{background-color:#375a7f;border-color:#375a7f}.form-check-input:checked[type=checkbox]{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3E%3C/svg%3E")}.form-check-input:checked[type=radio]{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='2' fill='%23fff'/%3E%3C/svg%3E")}.form-check-input[type=checkbox]:indeterminate{background-color:#375a7f;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3E%3C/svg%3E");border-color:#375a7f}.form-check-input:disabled{filter:none;opacity:.5;pointer-events:none}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{cursor:default;opacity:.5}.btn{--bs-btn-padding-x:.75rem;--bs-btn-padding-y:.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:#fff;--bs-btn-bg:transparent;--bs-btn-border-width:1px;--bs-btn-border-color:transparent;--bs-btn-border-radius:.375rem;--bs-btn-hover-border-color:transparent;--bs-btn-box-shadow:inset 0 1px 0 hsla(0,0%,100%,.15),0 1px 1px rgba(0,0,0,.075);--bs-btn-disabled-opacity:.65;--bs-btn-focus-box-shadow:0 0 0 .25rem rgba(var(--bs-btn-focus-shadow-rgb),.5);background-color:var(--bs-btn-bg);border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);color:var(--bs-btn-color);cursor:pointer;display:inline-block;font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);text-align:center;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;user-select:none;vertical-align:middle}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);color:var(--bs-btn-hover-color)}.btn:focus-visible{background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);box-shadow:var(--bs-btn-focus-box-shadow);color:var(--bs-btn-hover-color);outline:0}.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color);color:var(--bs-btn-active-color)}.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible,:not(.btn-check)+.btn:active:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);color:var(--bs-btn-disabled-color);opacity:var(--bs-btn-disabled-opacity);pointer-events:none}.btn-primary{--bs-btn-color:#fff;--bs-btn-bg:#375a7f;--bs-btn-border-color:#375a7f;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#2f4d6c;--bs-btn-hover-border-color:#2c4866;--bs-btn-focus-shadow-rgb:85,115,146;--bs-btn-active-color:#fff;--bs-btn-active-bg:#2c4866;--bs-btn-active-border-color:#29445f;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#375a7f;--bs-btn-disabled-border-color:#375a7f}.btn-secondary{--bs-btn-color:#fff;--bs-btn-bg:#444;--bs-btn-border-color:#444;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#3a3a3a;--bs-btn-hover-border-color:#363636;--bs-btn-focus-shadow-rgb:96,96,96;--bs-btn-active-color:#fff;--bs-btn-active-bg:#363636;--bs-btn-active-border-color:#333;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#444;--bs-btn-disabled-border-color:#444}.btn-success{--bs-btn-color:#fff;--bs-btn-bg:#00bc8c;--bs-btn-border-color:#00bc8c;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#00a077;--bs-btn-hover-border-color:#009670;--bs-btn-focus-shadow-rgb:38,198,157;--bs-btn-active-color:#fff;--bs-btn-active-bg:#009670;--bs-btn-active-border-color:#008d69;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#00bc8c;--bs-btn-disabled-border-color:#00bc8c}.btn-info{--bs-btn-color:#fff;--bs-btn-bg:#3498db;--bs-btn-border-color:#3498db;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#2c81ba;--bs-btn-hover-border-color:#2a7aaf;--bs-btn-focus-shadow-rgb:82,167,224;--bs-btn-active-color:#fff;--bs-btn-active-bg:#2a7aaf;--bs-btn-active-border-color:#2772a4;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#3498db;--bs-btn-disabled-border-color:#3498db}.btn-warning{--bs-btn-color:#fff;--bs-btn-bg:#f39c12;--bs-btn-border-color:#f39c12;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#cf850f;--bs-btn-hover-border-color:#c27d0e;--bs-btn-focus-shadow-rgb:245,171,54;--bs-btn-active-color:#fff;--bs-btn-active-bg:#c27d0e;--bs-btn-active-border-color:#b6750e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#f39c12;--bs-btn-disabled-border-color:#f39c12}.btn-danger{--bs-btn-color:#fff;--bs-btn-bg:#e74c3c;--bs-btn-border-color:#e74c3c;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#c44133;--bs-btn-hover-border-color:#b93d30;--bs-btn-focus-shadow-rgb:235,103,89;--bs-btn-active-color:#fff;--bs-btn-active-bg:#b93d30;--bs-btn-active-border-color:#ad392d;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#e74c3c;--bs-btn-disabled-border-color:#e74c3c}.btn-sm{--bs-btn-padding-y:.25rem;--bs-btn-padding-x:.5rem;--bs-btn-font-size:.875rem;--bs-btn-border-radius:.25rem}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.dropdown-divider{border-top:1px solid var(--bs-dropdown-divider-bg);height:0;margin:var(--bs-dropdown-divider-margin-y) 0;opacity:1;overflow:hidden}.nav{--bs-nav-link-padding-x:2rem;--bs-nav-link-padding-y:.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-link-color);--bs-nav-link-hover-color:var(--bs-link-hover-color);--bs-nav-link-disabled-color:#adb5bd;display:flex;flex-wrap:wrap;list-style:none;margin-bottom:0;padding-left:0}.nav-link{color:var(--bs-nav-link-color);display:block;font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color)}.nav-link.disabled{color:var(--bs-nav-link-disabled-color);cursor:default;pointer-events:none}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x:0;--bs-navbar-padding-y:1rem;--bs-navbar-color:rgba(34,34,34,.7);--bs-navbar-hover-color:#222;--bs-navbar-disabled-color:rgba(0,0,0,.3);--bs-navbar-active-color:#222;--bs-navbar-brand-padding-y:.3125rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:1.25rem;--bs-navbar-brand-color:#222;--bs-navbar-brand-hover-color:#222;--bs-navbar-nav-link-padding-x:.5rem;--bs-navbar-toggler-padding-y:.25rem;--bs-navbar-toggler-padding-x:.75rem;--bs-navbar-toggler-font-size:1.25rem;--bs-navbar-toggler-icon-bg:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='rgba(34,34,34,0.7)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");--bs-navbar-toggler-border-color:rgba(34,34,34,.1);--bs-navbar-toggler-border-radius:.375rem;--bs-navbar-toggler-focus-width:.25rem;--bs-navbar-toggler-transition:box-shadow 0.15s ease-in-out;align-items:center;display:flex;flex-wrap:wrap;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x);position:relative}.navbar-brand{color:var(--bs-navbar-brand-color);font-size:var(--bs-navbar-brand-font-size);margin-right:var(--bs-navbar-brand-margin-end);padding-bottom:var(--bs-navbar-brand-padding-y);padding-top:var(--bs-navbar-brand-padding-y);text-decoration:none;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x:0;--bs-nav-link-padding-y:.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);display:flex;flex-direction:column;list-style:none;margin-bottom:0;padding-left:0}.navbar-nav .nav-link.active,.navbar-nav .show>.nav-link{color:var(--bs-navbar-active-color)}.navbar-collapse{align-items:center;flex-basis:100%;flex-grow:1}.navbar-toggler{background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);color:var(--bs-navbar-color);font-size:var(--bs-navbar-toggler-font-size);line-height:1;padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width);outline:0;text-decoration:none}.navbar-toggler-icon{background-image:var(--bs-navbar-toggler-icon-bg);background-position:50%;background-repeat:no-repeat;background-size:100%;display:inline-block;height:1.5em;vertical-align:middle;width:1.5em}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .nav-link{padding-left:var(--bs-navbar-nav-link-padding-x);padding-right:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}.navbar-dark{--bs-navbar-color:hsla(0,0%,100%,.6);--bs-navbar-hover-color:#fff;--bs-navbar-disabled-color:hsla(0,0%,100%,.25);--bs-navbar-active-color:#fff;--bs-navbar-brand-color:#fff;--bs-navbar-brand-hover-color:#fff;--bs-navbar-toggler-border-color:hsla(0,0%,100%,.1);--bs-navbar-toggler-icon-bg:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='rgba(255,255,255,0.6)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.card{--bs-card-spacer-y:1rem;--bs-card-spacer-x:1rem;--bs-card-title-spacer-y:.5rem;--bs-card-border-width:1px;--bs-card-border-color:var(--bs-border-color-translucent);--bs-card-border-radius:.375rem;--bs-card-box-shadow: ;--bs-card-inner-border-radius:calc(0.375rem - 1px);--bs-card-cap-padding-y:.5rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:#444;--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg:#303030;--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:.75rem;word-wrap:break-word;background-clip:border-box;background-color:var(--bs-card-bg);border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius);display:flex;flex-direction:column;height:var(--bs-card-height);min-width:0;position:relative}.card-body{color:var(--bs-card-color);flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x)}.card-header{background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color);color:var(--bs-card-cap-color);margin-bottom:0;padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.badge{--bs-badge-padding-x:.65em;--bs-badge-padding-y:.35em;--bs-badge-font-size:.75em;--bs-badge-font-weight:700;--bs-badge-color:#fff;--bs-badge-border-radius:.375rem;border-radius:var(--bs-badge-border-radius);color:var(--bs-badge-color);display:inline-block;font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);text-align:center;vertical-align:baseline;white-space:nowrap}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg:transparent;--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-margin-bottom:1rem;--bs-alert-color:inherit;--bs-alert-border-color:transparent;--bs-alert-border:1px solid var(--bs-alert-border-color);--bs-alert-border-radius:.375rem;background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius);color:var(--bs-alert-color);margin-bottom:var(--bs-alert-margin-bottom);padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);position:relative}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{--bs-progress-height:1rem;--bs-progress-font-size:.75rem;--bs-progress-bg:#444;--bs-progress-border-radius:.375rem;--bs-progress-box-shadow:inset 0 1px 2px rgba(0,0,0,.075);--bs-progress-bar-color:#fff;--bs-progress-bar-bg:#375a7f;--bs-progress-bar-transition:width 0.6s ease;background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius);font-size:var(--bs-progress-font-size);height:var(--bs-progress-height)}.progress,.progress-bar{display:flex;overflow:hidden}.progress-bar{background-color:var(--bs-progress-bar-bg);color:var(--bs-progress-bar-color);flex-direction:column;justify-content:center;text-align:center;transition:var(--bs-progress-bar-transition);white-space:nowrap}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.btn-close{background:transparent url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3E%3Cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3E%3C/svg%3E") 50%/1em auto no-repeat;border:0;border-radius:.375rem;box-sizing:content-box;color:#fff;height:1em;opacity:.4;padding:.25em;width:1em}.btn-close:hover{color:#fff;opacity:1;text-decoration:none}.btn-close:focus{box-shadow:0 0 0 .25rem rgba(55,90,127,.25);opacity:1;outline:0}.btn-close.disabled,.btn-close:disabled{opacity:.25;pointer-events:none;user-select:none}.toast{--bs-toast-zindex:1090;--bs-toast-padding-x:.75rem;--bs-toast-padding-y:.5rem;--bs-toast-spacing:1.5rem;--bs-toast-max-width:350px;--bs-toast-font-size:.875rem;--bs-toast-color: ;--bs-toast-bg:#444;--bs-toast-border-width:1px;--bs-toast-border-color:var(--bs-border-color-translucent);--bs-toast-border-radius:.375rem;--bs-toast-box-shadow:0 0.5rem 1rem rgba(0,0,0,.15);--bs-toast-header-color:#888;--bs-toast-header-bg:#303030;--bs-toast-header-border-color:rgba(0,0,0,.05);background-clip:padding-box;background-color:var(--bs-toast-bg);border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);border-radius:var(--bs-toast-border-radius);box-shadow:var(--bs-toast-box-shadow);color:var(--bs-toast-color);font-size:var(--bs-toast-font-size);max-width:100%;pointer-events:auto;width:var(--bs-toast-max-width)}.toast:not(.show){display:none}.toast-header{align-items:center;background-clip:padding-box;background-color:var(--bs-toast-header-bg);border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));color:var(--bs-toast-header-color);display:flex;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x)}.toast-header .btn-close{margin-left:var(--bs-toast-padding-x);margin-right:calc(var(--bs-toast-padding-x)*-.5)}.toast-body{word-wrap:break-word;padding:var(--bs-toast-padding-x)}.modal{--bs-modal-zindex:1055;--bs-modal-width:500px;--bs-modal-padding:1rem;--bs-modal-margin:.5rem;--bs-modal-color: ;--bs-modal-bg:#303030;--bs-modal-border-color:#444;--bs-modal-border-width:1px;--bs-modal-border-radius:.5rem;--bs-modal-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,.075);--bs-modal-inner-border-radius:calc(0.5rem - 1px);--bs-modal-header-padding-x:1rem;--bs-modal-header-padding-y:1rem;--bs-modal-header-padding:1rem 1rem;--bs-modal-header-border-color:#444;--bs-modal-header-border-width:1px;--bs-modal-title-line-height:1.5;--bs-modal-footer-gap:.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color:#444;--bs-modal-footer-border-width:1px;display:none;height:100%;left:0;outline:0;overflow-x:hidden;overflow-y:auto;position:fixed;top:0;width:100%;z-index:var(--bs-modal-zindex)}.modal-dialog{margin:var(--bs-modal-margin);pointer-events:none;position:relative;width:auto}.modal.fade .modal-dialog{transform:translateY(-50px);transition:transform .3s ease-out}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal-dialog-centered{align-items:center;display:flex;min-height:calc(100% - var(--bs-modal-margin)*2)}.modal-content{background-clip:padding-box;background-color:var(--bs-modal-bg);border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);color:var(--bs-modal-color);display:flex;flex-direction:column;outline:0;pointer-events:auto;position:relative;width:100%}.modal-header{align-items:center;border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius);display:flex;flex-shrink:0;justify-content:space-between;padding:var(--bs-modal-header-padding)}.modal-header .btn-close{margin:calc(var(--bs-modal-header-padding-y)*-.5) calc(var(--bs-modal-header-padding-x)*-.5) calc(var(--bs-modal-header-padding-y)*-.5) auto;padding:calc(var(--bs-modal-header-padding-y)*.5) calc(var(--bs-modal-header-padding-x)*.5)}.modal-title{line-height:var(--bs-modal-title-line-height);margin-bottom:0}.modal-body{flex:1 1 auto;padding:var(--bs-modal-padding);position:relative}.modal-footer{align-items:center;background-color:var(--bs-modal-footer-bg);border-bottom-left-radius:var(--bs-modal-inner-border-radius);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);display:flex;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap)*.5)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap)*.5)}@media (min-width:576px){.modal{--bs-modal-margin:1.75rem;--bs-modal-box-shadow:0 0.5rem 1rem rgba(0,0,0,.15)}.modal-dialog{margin-left:auto;margin-right:auto;max-width:var(--bs-modal-width)}}.tooltip{--bs-tooltip-zindex:1080;--bs-tooltip-max-width:200px;--bs-tooltip-padding-x:.5rem;--bs-tooltip-padding-y:.25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:.875rem;--bs-tooltip-color:#fff;--bs-tooltip-bg:#000;--bs-tooltip-border-radius:.375rem;--bs-tooltip-opacity:.9;--bs-tooltip-arrow-width:.8rem;--bs-tooltip-arrow-height:.4rem;word-wrap:break-word;display:block;font-family:var(--bs-font-sans-serif);font-size:var(--bs-tooltip-font-size);font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.5;margin:var(--bs-tooltip-margin);opacity:0;padding:var(--bs-tooltip-arrow-height);text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;z-index:var(--bs-tooltip-zindex)}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.spinner-border{animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);border-radius:50%;display:inline-block;height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);width:var(--bs-spinner-width)}@keyframes spinner-border{to{transform:rotate(1turn)}}.spinner-border{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-.125em;--bs-spinner-border-width:.25em;--bs-spinner-animation-speed:.75s;--bs-spinner-animation-name:spinner-border;border-right-color:currentcolor;border:var(--bs-spinner-border-width) solid;border-right:var(--bs-spinner-border-width) solid transparent}.spinner-border-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem;--bs-spinner-border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.spinner-border{--bs-spinner-animation-speed:1.5s}}.placeholder{background-color:currentcolor;cursor:wait;display:inline-block;min-height:1em;opacity:.5;vertical-align:middle}.placeholder.btn:before{content:"";display:inline-block}@keyframes placeholder-glow{50%{opacity:.2}}@keyframes placeholder-wave{to{mask-position:-200% 0}}.fixed-bottom{bottom:0;left:0;position:fixed;right:0;z-index:1030}.sticky-top{position:sticky;top:0;z-index:1020}.d-flex{display:flex!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-primary{--bs-border-opacity:1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity:1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.flex-column{flex-direction:column!important}.justify-content-between{justify-content:space-between!important}.mt-1{margin-top:.25rem!important}.mb-3{margin-bottom:1rem!important}.p-3{padding:1rem!important}.pt-0{padding-top:0!important}.pb-0{padding-bottom:0!important}.text-center{text-align:center!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-dark{--bs-text-opacity:1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:#888!important}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.visible{visibility:visible!important}:root{color-scheme:dark}.alert{border:none;color:#fff}.alert a{color:#fff;text-decoration:underline}body{min-height:100vh}.border-bottom,.border-top{border-width:3px!important}.rebooting,tr.hide{display:none}td.value{width:80%} \ No newline at end of file + */:root{--bs-blue:#375a7f;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#e83e8c;--bs-red:#e74c3c;--bs-orange:#fd7e14;--bs-yellow:#f39c12;--bs-green:#00bc8c;--bs-teal:#20c997;--bs-cyan:#3498db;--bs-black:#000;--bs-white:#fff;--bs-gray:#888;--bs-gray-dark:#303030;--bs-gray-100:#f8f9fa;--bs-gray-200:#ebebeb;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#888;--bs-gray-700:#444;--bs-gray-800:#303030;--bs-gray-900:#222;--bs-primary:#375a7f;--bs-secondary:#444;--bs-success:#00bc8c;--bs-info:#3498db;--bs-warning:#f39c12;--bs-danger:#e74c3c;--bs-light:#adb5bd;--bs-dark:#303030;--bs-primary-rgb:55,90,127;--bs-secondary-rgb:68,68,68;--bs-success-rgb:0,188,140;--bs-info-rgb:52,152,219;--bs-warning-rgb:243,156,18;--bs-danger-rgb:231,76,60;--bs-light-rgb:173,181,189;--bs-dark-rgb:48,48,48;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-body-color-rgb:255,255,255;--bs-body-bg-rgb:34,34,34;--bs-font-sans-serif:Lato,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg,hsla(0,0%,100%,.15),hsla(0,0%,100%,0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#fff;--bs-body-bg:#222;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0,0,0,.175);--bs-border-radius:.375rem;--bs-border-radius-sm:.25rem;--bs-border-radius-lg:.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-2xl:2rem;--bs-border-radius-pill:50rem;--bs-link-color:#00bc8c;--bs-link-hover-color:#009670;--bs-code-color:#e83e8c;--bs-highlight-bg:#fdebd0}*,:after,:before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0);background-color:var(--bs-body-bg);color:var(--bs-body-color);font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);margin:0;text-align:var(--bs-body-text-align)}.h1,.h2,.h3,.h4,.h5,h1,h2,h3,h4,h5{font-weight:500;line-height:1.2;margin-bottom:.5rem;margin-top:0}.h1,h1{font-size:calc(1.425rem + 2.1vw)}@media (min-width:1200px){.h1,h1{font-size:3rem}}.h2,h2{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h2,h2{font-size:2.5rem}}.h3,h3{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h3,h3{font-size:2rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}p{margin-top:0}address,p{margin-bottom:1rem}address{font-style:normal;line-height:inherit}ul{margin-bottom:1rem;margin-top:0;padding-left:2rem}ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}b,strong{font-weight:bolder}.small,small{font-size:.875em}sub{bottom:-.25em;font-size:.75em;line-height:0;position:relative;vertical-align:baseline}a{color:var(--bs-link-color);text-decoration:underline}a:hover{color:var(--bs-link-hover-color)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}svg{vertical-align:middle}table{border-collapse:collapse;caption-side:bottom}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,th,thead,tr{border:0 solid;border-color:inherit}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,select{font-family:inherit;font-size:inherit;line-height:inherit;margin:0}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{border-style:none;padding:0}fieldset{border:0;margin:0;min-width:0;padding:0}legend{float:left;font-size:calc(1.275rem + .3vw);line-height:inherit;margin-bottom:.5rem;padding:0;width:100%}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{-webkit-appearance:button;font:inherit}output{display:inline-block}progress{vertical-align:baseline}[hidden]{display:none!important}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-left:calc(var(--bs-gutter-x)*-.5);margin-right:calc(var(--bs-gutter-x)*-.5);margin-top:calc(var(--bs-gutter-y)*-1)}.row>*{flex-shrink:0;margin-top:var(--bs-gutter-y);max-width:100%;padding-left:calc(var(--bs-gutter-x)*.5);padding-right:calc(var(--bs-gutter-x)*.5);width:100%}.col{flex:1 0 0%}.col-auto{flex:0 0 auto;width:auto}.table{--bs-table-color:var(--bs-body-color);--bs-table-bg:transparent;--bs-table-border-color:#444;--bs-table-accent-bg:transparent;--bs-table-striped-color:var(--bs-body-color);--bs-table-striped-bg:rgba(0,0,0,.05);--bs-table-active-color:var(--bs-body-color);--bs-table-active-bg:rgba(0,0,0,.1);--bs-table-hover-color:var(--bs-body-color);--bs-table-hover-bg:rgba(0,0,0,.075);border-color:var(--bs-table-border-color);color:var(--bs-table-color);margin-bottom:1rem;vertical-align:top;width:100%}.table>:not(caption)>*>*{background-color:var(--bs-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg);padding:.5rem}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-accent-bg:var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-hover>tbody>tr:hover>*{--bs-table-accent-bg:var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}.table-primary{--bs-table-color:#fff;--bs-table-bg:#375a7f;--bs-table-border-color:#4b6b8c;--bs-table-striped-bg:#416285;--bs-table-striped-color:#fff;--bs-table-active-bg:#4b6b8c;--bs-table-active-color:#fff;--bs-table-hover-bg:#466689;--bs-table-hover-color:#fff}.table-primary,.table-secondary{border-color:var(--bs-table-border-color);color:var(--bs-table-color)}.table-secondary{--bs-table-color:#fff;--bs-table-bg:#444;--bs-table-border-color:#575757;--bs-table-striped-bg:#4d4d4d;--bs-table-striped-color:#fff;--bs-table-active-bg:#575757;--bs-table-active-color:#fff;--bs-table-hover-bg:#525252;--bs-table-hover-color:#fff}.table-success{--bs-table-color:#fff;--bs-table-bg:#00bc8c;--bs-table-border-color:#1ac398;--bs-table-striped-bg:#0dbf92;--bs-table-striped-color:#fff;--bs-table-active-bg:#1ac398;--bs-table-active-color:#fff;--bs-table-hover-bg:#13c195;--bs-table-hover-color:#fff}.table-success,.table-warning{border-color:var(--bs-table-border-color);color:var(--bs-table-color)}.table-warning{--bs-table-color:#fff;--bs-table-bg:#f39c12;--bs-table-border-color:#f4a62a;--bs-table-striped-bg:#f4a11e;--bs-table-striped-color:#fff;--bs-table-active-bg:#f4a62a;--bs-table-active-color:#fff;--bs-table-hover-bg:#f4a324;--bs-table-hover-color:#fff}.table-danger{--bs-table-color:#fff;--bs-table-bg:#e74c3c;--bs-table-border-color:#e95e50;--bs-table-striped-bg:#e85546;--bs-table-striped-color:#fff;--bs-table-active-bg:#e95e50;--bs-table-active-color:#fff;--bs-table-hover-bg:#e9594b;--bs-table-hover-color:#fff}.table-danger,.table-light{border-color:var(--bs-table-border-color);color:var(--bs-table-color)}.table-light{--bs-table-color:#fff;--bs-table-bg:#adb5bd;--bs-table-border-color:#b5bcc4;--bs-table-striped-bg:#b1b9c0;--bs-table-striped-color:#fff;--bs-table-active-bg:#b5bcc4;--bs-table-active-color:#fff;--bs-table-hover-bg:#b3bbc2;--bs-table-hover-color:#fff}.table-dark{--bs-table-color:#fff;--bs-table-bg:#303030;--bs-table-border-color:#454545;--bs-table-striped-bg:#3a3a3a;--bs-table-striped-color:#fff;--bs-table-active-bg:#454545;--bs-table-active-color:#fff;--bs-table-hover-bg:#404040;--bs-table-hover-color:#fff;border-color:var(--bs-table-border-color);color:var(--bs-table-color)}.col-form-label{font-size:inherit;line-height:1.5;margin-bottom:0;padding-bottom:calc(.375rem + 1px);padding-top:calc(.375rem + 1px)}.form-text{color:#888;font-size:.875em;margin-top:.25rem}.form-control{appearance:none;background-clip:padding-box;background-color:#fff;border:1px solid #222;border-radius:.375rem;color:#303030;display:block;font-size:1rem;font-weight:400;line-height:1.5;padding:.375rem .75rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:100%}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{background-color:#fff;border-color:#9badbf;box-shadow:0 0 0 .25rem rgba(55,90,127,.25);color:#303030;outline:0}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::placeholder{color:#888;opacity:1}.form-control:disabled{background-color:#ebebeb;opacity:1}.form-control::file-selector-button{background-color:#444;border:0 solid;border-color:inherit;border-inline-end-width:1px;border-radius:0;color:#fff;margin:-.375rem -.75rem;margin-inline-end:.75rem;padding:.375rem .75rem;pointer-events:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#414141}.form-control-sm{border-radius:.25rem;font-size:.875rem;min-height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem}.form-control-sm::file-selector-button{margin:-.25rem -.5rem;margin-inline-end:.5rem;padding:.25rem .5rem}.form-check{display:block;margin-bottom:.125rem;min-height:1.5rem;padding-left:1.5em}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-input{appearance:none;background-color:#fff;background-position:50%;background-repeat:no-repeat;background-size:contain;border:none;height:1em;margin-top:.25em;print-color-adjust:exact;vertical-align:top;width:1em}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#9badbf;box-shadow:0 0 0 .25rem rgba(55,90,127,.25);outline:0}.form-check-input:checked{background-color:#375a7f;border-color:#375a7f}.form-check-input:checked[type=checkbox]{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3E%3C/svg%3E")}.form-check-input:checked[type=radio]{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='2' fill='%23fff'/%3E%3C/svg%3E")}.form-check-input[type=checkbox]:indeterminate{background-color:#375a7f;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3E%3C/svg%3E");border-color:#375a7f}.form-check-input:disabled{filter:none;opacity:.5;pointer-events:none}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{cursor:default;opacity:.5}.btn{--bs-btn-padding-x:.75rem;--bs-btn-padding-y:.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:#fff;--bs-btn-bg:transparent;--bs-btn-border-width:1px;--bs-btn-border-color:transparent;--bs-btn-border-radius:.375rem;--bs-btn-hover-border-color:transparent;--bs-btn-box-shadow:inset 0 1px 0 hsla(0,0%,100%,.15),0 1px 1px rgba(0,0,0,.075);--bs-btn-disabled-opacity:.65;--bs-btn-focus-box-shadow:0 0 0 .25rem rgba(var(--bs-btn-focus-shadow-rgb),.5);background-color:var(--bs-btn-bg);border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);color:var(--bs-btn-color);cursor:pointer;display:inline-block;font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);text-align:center;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;user-select:none;vertical-align:middle}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);color:var(--bs-btn-hover-color)}.btn:focus-visible{background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);box-shadow:var(--bs-btn-focus-box-shadow);color:var(--bs-btn-hover-color);outline:0}.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color);color:var(--bs-btn-active-color)}.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible,:not(.btn-check)+.btn:active:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);color:var(--bs-btn-disabled-color);opacity:var(--bs-btn-disabled-opacity);pointer-events:none}.btn-primary{--bs-btn-color:#fff;--bs-btn-bg:#375a7f;--bs-btn-border-color:#375a7f;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#2f4d6c;--bs-btn-hover-border-color:#2c4866;--bs-btn-focus-shadow-rgb:85,115,146;--bs-btn-active-color:#fff;--bs-btn-active-bg:#2c4866;--bs-btn-active-border-color:#29445f;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#375a7f;--bs-btn-disabled-border-color:#375a7f}.btn-secondary{--bs-btn-color:#fff;--bs-btn-bg:#444;--bs-btn-border-color:#444;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#3a3a3a;--bs-btn-hover-border-color:#363636;--bs-btn-focus-shadow-rgb:96,96,96;--bs-btn-active-color:#fff;--bs-btn-active-bg:#363636;--bs-btn-active-border-color:#333;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#444;--bs-btn-disabled-border-color:#444}.btn-success{--bs-btn-color:#fff;--bs-btn-bg:#00bc8c;--bs-btn-border-color:#00bc8c;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#00a077;--bs-btn-hover-border-color:#009670;--bs-btn-focus-shadow-rgb:38,198,157;--bs-btn-active-color:#fff;--bs-btn-active-bg:#009670;--bs-btn-active-border-color:#008d69;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#00bc8c;--bs-btn-disabled-border-color:#00bc8c}.btn-info{--bs-btn-color:#fff;--bs-btn-bg:#3498db;--bs-btn-border-color:#3498db;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#2c81ba;--bs-btn-hover-border-color:#2a7aaf;--bs-btn-focus-shadow-rgb:82,167,224;--bs-btn-active-color:#fff;--bs-btn-active-bg:#2a7aaf;--bs-btn-active-border-color:#2772a4;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#3498db;--bs-btn-disabled-border-color:#3498db}.btn-warning{--bs-btn-color:#fff;--bs-btn-bg:#f39c12;--bs-btn-border-color:#f39c12;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#cf850f;--bs-btn-hover-border-color:#c27d0e;--bs-btn-focus-shadow-rgb:245,171,54;--bs-btn-active-color:#fff;--bs-btn-active-bg:#c27d0e;--bs-btn-active-border-color:#b6750e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#f39c12;--bs-btn-disabled-border-color:#f39c12}.btn-danger{--bs-btn-color:#fff;--bs-btn-bg:#e74c3c;--bs-btn-border-color:#e74c3c;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#c44133;--bs-btn-hover-border-color:#b93d30;--bs-btn-focus-shadow-rgb:235,103,89;--bs-btn-active-color:#fff;--bs-btn-active-bg:#b93d30;--bs-btn-active-border-color:#ad392d;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#e74c3c;--bs-btn-disabled-border-color:#e74c3c}.btn-sm{--bs-btn-padding-y:.25rem;--bs-btn-padding-x:.5rem;--bs-btn-font-size:.875rem;--bs-btn-border-radius:.25rem}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.dropdown-divider{border-top:1px solid var(--bs-dropdown-divider-bg);height:0;margin:var(--bs-dropdown-divider-margin-y) 0;opacity:1;overflow:hidden}.nav{--bs-nav-link-padding-x:2rem;--bs-nav-link-padding-y:.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-link-color);--bs-nav-link-hover-color:var(--bs-link-hover-color);--bs-nav-link-disabled-color:#adb5bd;display:flex;flex-wrap:wrap;list-style:none;margin-bottom:0;padding-left:0}.nav-link{color:var(--bs-nav-link-color);display:block;font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color)}.nav-link.disabled{color:var(--bs-nav-link-disabled-color);cursor:default;pointer-events:none}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x:0;--bs-navbar-padding-y:1rem;--bs-navbar-color:rgba(34,34,34,.7);--bs-navbar-hover-color:#222;--bs-navbar-disabled-color:rgba(0,0,0,.3);--bs-navbar-active-color:#222;--bs-navbar-brand-padding-y:.3125rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:1.25rem;--bs-navbar-brand-color:#222;--bs-navbar-brand-hover-color:#222;--bs-navbar-nav-link-padding-x:.5rem;--bs-navbar-toggler-padding-y:.25rem;--bs-navbar-toggler-padding-x:.75rem;--bs-navbar-toggler-font-size:1.25rem;--bs-navbar-toggler-icon-bg:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='rgba(34,34,34,0.7)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");--bs-navbar-toggler-border-color:rgba(34,34,34,.1);--bs-navbar-toggler-border-radius:.375rem;--bs-navbar-toggler-focus-width:.25rem;--bs-navbar-toggler-transition:box-shadow 0.15s ease-in-out;align-items:center;display:flex;flex-wrap:wrap;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x);position:relative}.navbar-brand{color:var(--bs-navbar-brand-color);font-size:var(--bs-navbar-brand-font-size);margin-right:var(--bs-navbar-brand-margin-end);padding-bottom:var(--bs-navbar-brand-padding-y);padding-top:var(--bs-navbar-brand-padding-y);text-decoration:none;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x:0;--bs-nav-link-padding-y:.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);display:flex;flex-direction:column;list-style:none;margin-bottom:0;padding-left:0}.navbar-nav .nav-link.active,.navbar-nav .show>.nav-link{color:var(--bs-navbar-active-color)}.navbar-collapse{align-items:center;flex-basis:100%;flex-grow:1}.navbar-toggler{background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);color:var(--bs-navbar-color);font-size:var(--bs-navbar-toggler-font-size);line-height:1;padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width);outline:0;text-decoration:none}.navbar-toggler-icon{background-image:var(--bs-navbar-toggler-icon-bg);background-position:50%;background-repeat:no-repeat;background-size:100%;display:inline-block;height:1.5em;vertical-align:middle;width:1.5em}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .nav-link{padding-left:var(--bs-navbar-nav-link-padding-x);padding-right:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}.navbar-dark{--bs-navbar-color:hsla(0,0%,100%,.6);--bs-navbar-hover-color:#fff;--bs-navbar-disabled-color:hsla(0,0%,100%,.25);--bs-navbar-active-color:#fff;--bs-navbar-brand-color:#fff;--bs-navbar-brand-hover-color:#fff;--bs-navbar-toggler-border-color:hsla(0,0%,100%,.1);--bs-navbar-toggler-icon-bg:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='rgba(255,255,255,0.6)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.card{--bs-card-spacer-y:1rem;--bs-card-spacer-x:1rem;--bs-card-title-spacer-y:.5rem;--bs-card-border-width:1px;--bs-card-border-color:var(--bs-border-color-translucent);--bs-card-border-radius:.375rem;--bs-card-box-shadow: ;--bs-card-inner-border-radius:calc(0.375rem - 1px);--bs-card-cap-padding-y:.5rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:#444;--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg:#303030;--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:.75rem;word-wrap:break-word;background-clip:border-box;background-color:var(--bs-card-bg);border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius);display:flex;flex-direction:column;height:var(--bs-card-height);min-width:0;position:relative}.card-body{color:var(--bs-card-color);flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x)}.card-header{background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color);color:var(--bs-card-cap-color);margin-bottom:0;padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.badge{--bs-badge-padding-x:.65em;--bs-badge-padding-y:.35em;--bs-badge-font-size:.75em;--bs-badge-font-weight:700;--bs-badge-color:#fff;--bs-badge-border-radius:.375rem;border-radius:var(--bs-badge-border-radius);color:var(--bs-badge-color);display:inline-block;font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);text-align:center;vertical-align:baseline;white-space:nowrap}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg:transparent;--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-margin-bottom:1rem;--bs-alert-color:inherit;--bs-alert-border-color:transparent;--bs-alert-border:1px solid var(--bs-alert-border-color);--bs-alert-border-radius:.375rem;background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius);color:var(--bs-alert-color);margin-bottom:var(--bs-alert-margin-bottom);padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);position:relative}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{--bs-progress-height:1rem;--bs-progress-font-size:.75rem;--bs-progress-bg:#444;--bs-progress-border-radius:.375rem;--bs-progress-box-shadow:inset 0 1px 2px rgba(0,0,0,.075);--bs-progress-bar-color:#fff;--bs-progress-bar-bg:#375a7f;--bs-progress-bar-transition:width 0.6s ease;background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius);font-size:var(--bs-progress-font-size);height:var(--bs-progress-height)}.progress,.progress-bar{display:flex;overflow:hidden}.progress-bar{background-color:var(--bs-progress-bar-bg);color:var(--bs-progress-bar-color);flex-direction:column;justify-content:center;text-align:center;transition:var(--bs-progress-bar-transition);white-space:nowrap}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.btn-close{background:transparent url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3E%3Cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3E%3C/svg%3E") 50%/1em auto no-repeat;border:0;border-radius:.375rem;box-sizing:content-box;color:#fff;height:1em;opacity:.4;padding:.25em;width:1em}.btn-close:hover{color:#fff;opacity:1;text-decoration:none}.btn-close:focus{box-shadow:0 0 0 .25rem rgba(55,90,127,.25);opacity:1;outline:0}.btn-close.disabled,.btn-close:disabled{opacity:.25;pointer-events:none;user-select:none}.toast{--bs-toast-zindex:1090;--bs-toast-padding-x:.75rem;--bs-toast-padding-y:.5rem;--bs-toast-spacing:1.5rem;--bs-toast-max-width:350px;--bs-toast-font-size:.875rem;--bs-toast-color: ;--bs-toast-bg:#444;--bs-toast-border-width:1px;--bs-toast-border-color:var(--bs-border-color-translucent);--bs-toast-border-radius:.375rem;--bs-toast-box-shadow:0 0.5rem 1rem rgba(0,0,0,.15);--bs-toast-header-color:#888;--bs-toast-header-bg:#303030;--bs-toast-header-border-color:rgba(0,0,0,.05);background-clip:padding-box;background-color:var(--bs-toast-bg);border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);border-radius:var(--bs-toast-border-radius);box-shadow:var(--bs-toast-box-shadow);color:var(--bs-toast-color);font-size:var(--bs-toast-font-size);max-width:100%;pointer-events:auto;width:var(--bs-toast-max-width)}.toast:not(.show){display:none}.toast-header{align-items:center;background-clip:padding-box;background-color:var(--bs-toast-header-bg);border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));color:var(--bs-toast-header-color);display:flex;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x)}.toast-header .btn-close{margin-left:var(--bs-toast-padding-x);margin-right:calc(var(--bs-toast-padding-x)*-.5)}.toast-body{word-wrap:break-word;padding:var(--bs-toast-padding-x)}.modal{--bs-modal-zindex:1055;--bs-modal-width:500px;--bs-modal-padding:1rem;--bs-modal-margin:.5rem;--bs-modal-color: ;--bs-modal-bg:#303030;--bs-modal-border-color:#444;--bs-modal-border-width:1px;--bs-modal-border-radius:.5rem;--bs-modal-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,.075);--bs-modal-inner-border-radius:calc(0.5rem - 1px);--bs-modal-header-padding-x:1rem;--bs-modal-header-padding-y:1rem;--bs-modal-header-padding:1rem 1rem;--bs-modal-header-border-color:#444;--bs-modal-header-border-width:1px;--bs-modal-title-line-height:1.5;--bs-modal-footer-gap:.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color:#444;--bs-modal-footer-border-width:1px;display:none;height:100%;left:0;outline:0;overflow-x:hidden;overflow-y:auto;position:fixed;top:0;width:100%;z-index:var(--bs-modal-zindex)}.modal-dialog{margin:var(--bs-modal-margin);pointer-events:none;position:relative;width:auto}.modal.fade .modal-dialog{transform:translateY(-50px);transition:transform .3s ease-out}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal-dialog-centered{align-items:center;display:flex;min-height:calc(100% - var(--bs-modal-margin)*2)}.modal-content{background-clip:padding-box;background-color:var(--bs-modal-bg);border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);color:var(--bs-modal-color);display:flex;flex-direction:column;outline:0;pointer-events:auto;position:relative;width:100%}.modal-header{align-items:center;border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius);display:flex;flex-shrink:0;justify-content:space-between;padding:var(--bs-modal-header-padding)}.modal-header .btn-close{margin:calc(var(--bs-modal-header-padding-y)*-.5) calc(var(--bs-modal-header-padding-x)*-.5) calc(var(--bs-modal-header-padding-y)*-.5) auto;padding:calc(var(--bs-modal-header-padding-y)*.5) calc(var(--bs-modal-header-padding-x)*.5)}.modal-title{line-height:var(--bs-modal-title-line-height);margin-bottom:0}.modal-body{flex:1 1 auto;padding:var(--bs-modal-padding);position:relative}.modal-footer{align-items:center;background-color:var(--bs-modal-footer-bg);border-bottom-left-radius:var(--bs-modal-inner-border-radius);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);display:flex;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap)*.5)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap)*.5)}@media (min-width:576px){.modal{--bs-modal-margin:1.75rem;--bs-modal-box-shadow:0 0.5rem 1rem rgba(0,0,0,.15)}.modal-dialog{margin-left:auto;margin-right:auto;max-width:var(--bs-modal-width)}}.tooltip{--bs-tooltip-zindex:1080;--bs-tooltip-max-width:200px;--bs-tooltip-padding-x:.5rem;--bs-tooltip-padding-y:.25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:.875rem;--bs-tooltip-color:#fff;--bs-tooltip-bg:#000;--bs-tooltip-border-radius:.375rem;--bs-tooltip-opacity:.9;--bs-tooltip-arrow-width:.8rem;--bs-tooltip-arrow-height:.4rem;word-wrap:break-word;display:block;font-family:var(--bs-font-sans-serif);font-size:var(--bs-tooltip-font-size);font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.5;margin:var(--bs-tooltip-margin);opacity:0;padding:var(--bs-tooltip-arrow-height);text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;z-index:var(--bs-tooltip-zindex)}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.spinner-border{animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);border-radius:50%;display:inline-block;height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);width:var(--bs-spinner-width)}@keyframes spinner-border{to{transform:rotate(1turn)}}.spinner-border{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-.125em;--bs-spinner-border-width:.25em;--bs-spinner-animation-speed:.75s;--bs-spinner-animation-name:spinner-border;border-right-color:currentcolor;border:var(--bs-spinner-border-width) solid;border-right:var(--bs-spinner-border-width) solid transparent}.spinner-border-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem;--bs-spinner-border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.spinner-border{--bs-spinner-animation-speed:1.5s}}.placeholder{background-color:currentcolor;cursor:wait;display:inline-block;min-height:1em;opacity:.5;vertical-align:middle}.placeholder.btn:before{content:"";display:inline-block}@keyframes placeholder-glow{50%{opacity:.2}}@keyframes placeholder-wave{to{mask-position:-200% 0}}.fixed-bottom{bottom:0;left:0;position:fixed;right:0;z-index:1030}.sticky-top{position:sticky;top:0;z-index:1020}.d-flex{display:flex!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-primary{--bs-border-opacity:1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity:1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.flex-column{flex-direction:column!important}.justify-content-between{justify-content:space-between!important}.mt-1{margin-top:.25rem!important}.mb-3{margin-bottom:1rem!important}.p-3{padding:1rem!important}.pt-0{padding-top:0!important}.pb-0{padding-bottom:0!important}.text-center{text-align:center!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-dark{--bs-text-opacity:1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:#888!important}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.visible{visibility:visible!important}:root{color-scheme:dark}.form-control{color-scheme:light}.alert{border:none;color:#fff}.alert a{color:#fff;text-decoration:underline}body{min-height:100vh}.border-bottom,.border-top{border-width:3px!important}.rebooting,tr.hide{display:none}td.value{width:80%} \ No newline at end of file diff --git a/components/wifi-manager/webapp/dist/css/index.7964a13ec910c36040b8.css.gz b/components/wifi-manager/webapp/dist/css/index.60aa97be4459083adfab.css.gz similarity index 98% rename from components/wifi-manager/webapp/dist/css/index.7964a13ec910c36040b8.css.gz rename to components/wifi-manager/webapp/dist/css/index.60aa97be4459083adfab.css.gz index 12bbffbe2b1a0b34c4d167d93c1e24efc8c5ba93..8be9ee799817dc9446563875cd5ef27194fc4c19 100644 GIT binary patch delta 89 zcmV-f0H*(mJCQrEKpj!#%P}N4`34!D$0*(oE`G}jfm)H6hSC2O%p{N`x(UAjyjRS; vW0>q%M#52=6Dt%$mp~j&Q+fL=RnE~jsYkzTfmUAn?{5DKn^cVzw}$`#EHWt) delta 81 zcmV-X0IvU$JBd56Kpjb*rYK(iEq;j#fm)H6Wzqi)%Op-DdI7%wyjQHaW0=cW!og9R n@+uTVi-FrtQ+fL=RgTFwsYky{fmUAn?{5DKM!T(`mWKcUCtoK> diff --git a/components/wifi-manager/webapp/dist/dist/js/index.9af6cc.bundle.d.ts b/components/wifi-manager/webapp/dist/dist/js/index.44748c.bundle.d.ts similarity index 100% rename from components/wifi-manager/webapp/dist/dist/js/index.9af6cc.bundle.d.ts rename to components/wifi-manager/webapp/dist/dist/js/index.44748c.bundle.d.ts diff --git a/components/wifi-manager/webapp/dist/dist/js/node_vendors.9af6cc.bundle.d.ts b/components/wifi-manager/webapp/dist/dist/js/node_vendors.44748c.bundle.d.ts similarity index 100% rename from components/wifi-manager/webapp/dist/dist/js/node_vendors.9af6cc.bundle.d.ts rename to components/wifi-manager/webapp/dist/dist/js/node_vendors.44748c.bundle.d.ts diff --git a/components/wifi-manager/webapp/dist/index.html b/components/wifi-manager/webapp/dist/index.html index e101e153..8e9e6108 100644 --- a/components/wifi-manager/webapp/dist/index.html +++ b/components/wifi-manager/webapp/dist/index.html @@ -1 +1 @@ -
Software Updates
VersionDate/TimePlatformBranchBit Depth
Local Firmware Upload
KeyValue
Usage Templates
Output
WiFi Status
Logs
TimestampMessage
Tasks
#Task NameCPUStateMin StackBase PriorityCur Priority
Credits

squeezelite-esp32
© 2020, philippe44, sle118, daduke
This software is released under the MIT License.

This app would not be possible without the following libraries:

  • squeezelite, © 2012-2019, Adrian Smith and Ralph Irving. Licensed under the GPL License.
  • esp32-wifi-manager, © 2017-2019, Tony Pottier. Licensed under the MIT License.
  • SpinKit, © 2015, Tobias Ahlin. Licensed under the MIT License.
  • jQuery, The jQuery Foundation. Licensed under the MIT License.
  • cJSON, © 2009-2017, Dave Gamble and cJSON contributors. Licensed under the MIT License.
  • esp32-rotary-encoder, © 2011-2019, David Antliff and Ben Buxton. Licensed under the GPL License.
  • tarablessd1306, © 2017-2018, Tara Keeling. Licensed under the MIT license.
  • CSpot, © 2020 feelfreelinux & alufers. Licensed under the GPL License
Extras/Overrides
\ No newline at end of file +
Software Updates
VersionDate/TimePlatformBranchBit Depth
Local Firmware Upload
KeyValue
Usage Templates
Output
WiFi Status
Logs
TimestampMessage
Tasks
#Task NameCPUStateMin StackBase PriorityCur Priority
Credits

squeezelite-esp32
© 2020, philippe44, sle118, daduke
This software is released under the MIT License.

This app would not be possible without the following libraries:

  • squeezelite, © 2012-2019, Adrian Smith and Ralph Irving. Licensed under the GPL License.
  • esp32-wifi-manager, © 2017-2019, Tony Pottier. Licensed under the MIT License.
  • SpinKit, © 2015, Tobias Ahlin. Licensed under the MIT License.
  • jQuery, The jQuery Foundation. Licensed under the MIT License.
  • cJSON, © 2009-2017, Dave Gamble and cJSON contributors. Licensed under the MIT License.
  • esp32-rotary-encoder, © 2011-2019, David Antliff and Ben Buxton. Licensed under the GPL License.
  • tarablessd1306, © 2017-2018, Tara Keeling. Licensed under the MIT license.
  • CSpot, © 2020 feelfreelinux & alufers. Licensed under the GPL License
Extras/Overrides
\ No newline at end of file diff --git a/components/wifi-manager/webapp/dist/index.html.gz b/components/wifi-manager/webapp/dist/index.html.gz index ac004aeafe730f78bd5bae26a7d1e872dc8dcd5f..8f465db8a04dd9b7de3022406168b1b59f7e872f 100644 GIT binary patch literal 8502 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 literal 8512 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 diff --git a/components/wifi-manager/webapp/dist/js/index.44748c.bundle.js b/components/wifi-manager/webapp/dist/js/index.44748c.bundle.js deleted file mode 100644 index deb17e3e..00000000 --- a/components/wifi-manager/webapp/dist/js/index.44748c.bundle.js +++ /dev/null @@ -1,2 +0,0 @@ -(()=>{"use strict";var t,e={322:(t,e,n)=>{n.r(e);var a=n(531),s=n(152),o=n(687),i=n.n(o),r=n(955),c=n(755);function l(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(!t)return;if("string"==typeof t)return u(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return u(t,e)}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var a=0,s=function(){};return{s,n:function(){return a>=t.length?{done:!0}:{done:!1,value:t[a++]}},e:function(t){throw t},f:s}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,r=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return i=t.done,t},e:function(t){r=!0,o=t},f:function(){try{i||null==n.return||n.return()}finally{if(r)throw o}}}}function u(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,a=new Array(e);n")}}),Object.assign(Date.prototype,{toLocalShort:function(){return this.toLocaleString(void 0,{dateStyle:"short",timeStyle:"short"})}});var m=1,g=17,b=2,v=18,S=4,y=20,_=8,w=24,T={bt_playing:{label:"",icon:"media_bluetooth_on"},bt_disconnected:{label:"",icon:"media_bluetooth_off"},bt_neutral:{label:"",icon:"bluetooth"},bt_connecting:{label:"",icon:"bluetooth_searching"},bt_connected:{label:"",icon:"bluetooth_connected"},bt_disabled:{label:"",icon:"bluetooth_disabled"},play_arrow:{label:"",icon:"play_circle_filled"},pause:{label:"",icon:"pause_circle"},stop:{label:"",icon:"stop_circle"},"":{label:"",icon:""}},E=[{icon:"battery_0_bar",label:"▪",ranges:[{f:5.8,t:6.8},{f:8.8,t:10.2}]},{icon:"battery_2_bar",label:"▪▪",ranges:[{f:6.8,t:7.4},{f:10.2,t:11.1}]},{icon:"battery_3_bar",label:"▪▪▪",ranges:[{f:7.4,t:7.5},{f:11.1,t:11.25}]},{icon:"battery_4_bar",label:"▪▪▪▪",ranges:[{f:7.5,t:7.8},{f:11.25,t:11.7}]}],A=[{desc:"Idle",sub:["bt_neutral"]},{desc:"Discovering",sub:["bt_connecting"]},{desc:"Discovered",sub:["bt_connecting"]},{desc:"Unconnected",sub:["bt_disconnected"]},{desc:"Connecting",sub:["bt_connecting"]},{desc:"Connected",sub:["bt_connected","play_arrow","bt_playing","pause","stop"]},{desc:"Disconnecting",sub:["bt_disconnected"]}],O={MESSAGING_INFO:"badge-success",MESSAGING_WARNING:"badge-warning",MESSAGING_ERROR:"badge-danger"},N=0,k=1,x=3,R=4,C=5,I={0:"eRunning",1:"eReady",2:"eBlocked",3:"eSuspended",4:"eDeleted"},G={NONE:0,REBOOT_TO_RECOVERY:2,SET_FWURL:5,FLASHING:6,DONE:7,UPLOADING:8,ERROR:9,UPLOADCOMPLETE:10,_state:-1,olderRecovery:!1,statusText:"",flashURL:"",flashFileName:"",statusPercent:0,Completed:!1,recovery:!1,prevRecovery:!1,updateModal:new bootstrap.Modal(document.getElementById("otadiv"),{}),reset:function(){return this.olderRecovery=!1,this.statusText="",this.statusPercent=-1,this.flashURL="",this.flashFileName=void 0,this.UpdateProgress(),c("#rTable tr.release").removeClass("table-success table-warning"),c(".flact").prop("disabled",!1),c("#flashfilename").value=null,c("#fw-url-input").value=null,this.isStateError()||(c("span#flash-status").html(""),c("#fwProgressLabel").parent().removeClass("bg-danger")),this._state=this.NONE,this},isStateUploadComplete:function(){return this._state==this.UPLOADCOMPLETE},isStateError:function(){return this._state==this.ERROR},isStateNone:function(){return this._state==this.NONE},isStateRebootRecovery:function(){return this._state==this.REBOOT_TO_RECOVERY},isStateSetUrl:function(){return this._state==this.SET_FWURL},isStateFlashing:function(){return this._state==this.FLASHING},isStateDone:function(){return this._state==this.DONE},isStateUploading:function(){return this._state==this.UPLOADING},init:function(){return this._state=this.NONE,this},SetStateError:function(){return this._state=this.ERROR,c("#fwProgressLabel").parent().addClass("bg-danger"),this},SetStateNone:function(){return this._state=this.NONE,this},SetStateRebootRecovery:function(){return this._state=this.REBOOT_TO_RECOVERY,this.SetStatusText("Starting recovery mode."),c.ajax({url:"/recovery.json",context:this,dataType:"text",method:"POST",cache:!1,contentType:"application/json; charset=utf-8",data:JSON.stringify({timestamp:Date.now()}),error:function(t,e,n){var a;this.setOTAError("Unexpected error while trying to restart to recovery. (status=".concat(null!==(a=t.status)&&void 0!==a?a:"",", error=").concat(null!=n?n:""," ) "))},complete:function(t){this.SetStatusText("Waiting for system to boot.")}}),this},SetStateSetUrl:function(){return this._state=this.SET_FWURL,this.statusText="Sending firmware download location.",j({fwurl:{value:this.flashURL,type:33}}),this},SetStateFlashing:function(){return this._state=this.FLASHING,this},SetStateDone:function(){return this._state=this.DONE,this.reset(),this},SetStateUploading:function(){return this._state=this.UPLOADING,this.SetStatusText("Sending file to device.")},SetStateUploadComplete:function(){return this._state=this.UPLOADCOMPLETE,this},isFlashExecuting:function(){return!0==(this._state!=this.UPLOADING&&(""!==this.statusText||this.statusPercent>=0))},toString:function(){var t=this;return Object.keys(this).find((function(e){return t[e]===t._state}))},setOTATargets:function(){this.flashURL="",this.flashFileName="",this.flashURL=c("#fw-url-input").val();var t=c("#flashfilename")[0].files;return t.length>0&&(this.flashFileName=t[0]),0==this.flashFileName.length&&0==this.flashURL.length&&this.setOTAError("Invalid url or file. Cannot start OTA"),this},setOTAError:function(t){return this.SetStateError().SetStatusPercent(0).SetStatusText(t).reset(),this},ShowDialog:function(){return this.isStateNone()||(this.updateModal.show(),c(".flact").prop("disabled",!0)),this},SetStatusPercent:function(t){var e=this.statusPercent!=t;return this.statusPercent=t,e&&(this.isStateUploading()||this.isStateFlashing()||this.SetStateFlashing(),100==t&&(this.isStateFlashing()?this.SetStateDone():this.isStateUploading()&&(this.statusPercent=0,this.SetStateFlashing())),this.UpdateProgress().ShowDialog()),this},SetStatusText:function(t){var e=this.statusText!=t;return this.statusText=t,e&&(c("span#flash-status").html(this.statusText),this.ShowDialog()),this},UpdateProgress:function(){return c(".progress-bar").css("width",this.statusPercent+"%").attr("aria-valuenow",this.statusPercent).text(this.statusPercent+"%"),c(".progress-bar").html((this.isStateDone()?100:this.statusPercent)+"%"),this},StartOTA:function(){return this.logEvent(this.StartOTA.name),c("#fwProgressLabel").parent().removeClass("bg-danger"),this.setOTATargets(),this.isStateError()||(q?this.SetStateFlashing().TargetReadyStartOTA():this.SetStateRebootRecovery()),this},UploadLocalFile:function(){this.SetStateUploading();var t=new XMLHttpRequest;t.context=this;var e=this.HandleUploadProgressEvent.bind(this),n=this.setOTAError.bind(this);t.upload.addEventListener("progress",e,!1),t.onreadystatechange=function(){4===t.readyState&&(0!==t.status&&404!==t.status||n("Upload Failed. Recovery version might not support uploading. Please use web update instead."))},t.open("POST","/flash.json",!0),t.send(this.flashFileName)},TargetReadyStartOTA:function(){return q&&this.prevRecovery&&!this.isStateRebootRecovery()&&!this.isStateFlashing()?this:(this.logEvent(this.TargetReadyStartOTA.name),q?(this.prevRecovery=!0,void(""!==this.flashFileName?this.UploadLocalFile():""!=this.flashURL?this.SetStateSetUrl():this.setOTAError("Invalid URL or file name while trying to start the OTa process"))):(console.error("Event TargetReadyStartOTA fired in the wrong mode "),this))},HandleUploadProgressEvent:function(t){this.logEvent(this.HandleUploadProgressEvent.name),this.SetStateUploading().SetStatusPercent(Math.round(t.loaded/t.total*100)).SetStatusText("Uploading file to device")},EventTargetStatus:function(t){var e,n;this.isStateNone()||this.logEvent(this.EventTargetStatus.name),null!==(e=t.ota_pct)&&void 0!==e&&e&&(this.olderRecovery=!0,this.SetStatusPercent(t.ota_pct)),""!=(null!==(n=t.ota_dsc)&&void 0!==n?n:"")&&(this.olderRecovery=!0,this.SetStatusText(t.ota_dsc)),null!=t.recovery&&(this.recovery=1===t.recovery),this.isStateRebootRecovery()&&this.recovery&&this.TargetReadyStartOTA()},EventOTAMessageClass:function(t){this.logEvent(this.EventOTAMessageClass.name);var e=JSON.parse(t);this.SetStatusPercent(e.ota_pct).SetStatusText(e.ota_dsc)},logEvent:function(t){console.log("".concat(t,", flash state ").concat(this.toString(),", recovery: ").concat(this.recovery,", ota pct: ").concat(this.statusPercent,", ota desc: ").concat(this.statusText))}};window.hideSurrounding=function(t){c(t).parent().parent().hide()};var P=!1,M=2500;function j(t){var e={timestamp:Date.now(),config:t};c.ajax({url:"/config.json",dataType:"text",method:"POST",cache:!1,contentType:"application/json; charset=utf-8",data:JSON.stringify(e),error:F})}function U(){return it.hasOwnProperty("ip")&&"0.0.0.0"!=it.ip&&""!=it.ip}function L(t){return U()?t.icon:t.label}function D(t){c("#o_type").children("span").css({display:"none"}),c("#"+(X="bt"===t?"bt":"spdif"===t?"spdif":"i2s")).prop("checked",!0),c("#o_"+X).css({display:"inline"})}function F(t,e,n){console.log(t.status),console.log(n),""!==n&&xt(n,"MESSAGING_ERROR")}function J(t){c("#toast_"+t).removeClass("table-success").removeClass("table-warning").removeClass("table-danger").addClass("table-success").removeClass("show"),c("#msg_"+t).html("")}function W(t,e,n){var a=arguments.length>3&&void 0!==arguments[3]&&arguments[3],s="table-success";"MESSAGING_WARNING"===e?s="table-warning":"MESSAGING_ERROR"===e&&(s="table-danger"),c("#toast_"+t).removeClass("table-success").removeClass("table-warning").removeClass("table-danger").addClass(s).addClass("show");var o=n.substring(0,n.length-1).encodeHTML().replace(/\n/g,"
");o=(c("#msg_"+t).html().length>0&&a?c("#msg_"+t).html()+"
":"")+o,c("#msg_"+t).html(o)}window.hFlash=function(){c("#flashfilename").value=null,G.StartOTA()},window.handleReboot=function(t){"reboot_ota"==t?(c("#reboot_ota_nav").removeClass("active").prop("disabled",!0),ft(500,"","reboot_ota")):(c("#reboot_nav").removeClass("active"),ft(500,"",t))};var B,H="https://api.github.com/repos/sle118/squeezelite-esp32/releases",q=!1,Y=!1,z=0,V="MESSAGING_INFO",Z={},Q=null,X="",K="",$="Squeezelite-ESP32",tt="",et=$,nt="",at=$,st="",ot="#cfg-audio-bt_source-sink_name",it={},rt={},ct="",lt=0,ut=1,dt=2;function ht(t){var e={};c("input.nvs").each((function(n,a){if(t)e[a.id]=a.value;else{var s=parseInt(a.attributes.nvs_type.value,10);""!==a.id&&(e[a.id]={},e[a.id].value=s===m||s===g||s===b||s===v||s===S||s===y||s===_||s===w?parseInt(a.value):a.value,e[a.id].type=s)}}));var n=c("#nvs-new-key").val(),a=c("#nvs-new-value").val();return""!==n&&(t?e[n]=a:(e[n]={},e[n].value=a,e[n].type=33)),e}function ft(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"reboot",a="/"+n+".json";c("tbody#tasks").empty(),c("#tasks_sect").css("visibility","collapse"),h.resolve({cmdname:e,url:a}).delay(t).then((function(t){t.cmdname.length>0?W(t.cmdname,"MESSAGING_WARNING","System is rebooting.\n",!0):xt("System is rebooting.\n","MESSAGING_WARNING"),console.log("now triggering reboot"),c("button[onclick*='handleReboot']").addClass("rebooting"),c.ajax({url:t.url,dataType:"text",method:"POST",cache:!1,contentType:"application/json; charset=utf-8",data:JSON.stringify({timestamp:Date.now()}),error:F,complete:function(){console.log("reboot call completed"),h.resolve(t).delay(6e3).then((function(t){t.cmdname.length>0&&J(t.cmdname),Nt(),kt()}))}})}))}function pt(t){return c(".upf").filter((function(){return c(this).text().toUpperCase()===t.toUpperCase()})).length>0&&(c("#splf").val(t).trigger("input"),!0)}function mt(t){return t>=-55?{label:"****",icon:"signal_wifi_statusbar_4_bar"}:t>=-60?{label:"***",icon:"network_wifi_3_bar"}:t>=-65?{label:"**",icon:"network_wifi_2_bar"}:t>=-70?{label:"*",icon:"network_wifi_1_bar"}:{label:".",icon:"signal_wifi_statusbar_null"}}function gt(){var t;(null===(t=it)||void 0===t?void 0:t.urc)!==C&&(c.ajaxSetup({timeout:3e3}),c.getJSON("/scan.json",(0,a.Z)(i().mark((function t(){return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,Ct(2e3);case 2:c.getJSON("/ap.json",(function(t){t.length>0&&(t.sort((function(t,e){var n=t.rssi,a=e.rssi;return na?-1:0})),vt(t))}));case 3:case"end":return t.stop()}}),t)})))))}function bt(t,e,n){var a=mt(e),s={label:0==n?"🔓":"🔒",icon:0==n?"no_encryption":"lock"};return''.concat(t,'\n ').concat(L(a),'\n \t\n ').concat(L(s),"\n ")}function vt(t){var e,n="";if(c("#wifiTable tr td:first-of-type").text(""),c("#wifiTable tr").removeClass("table-success table-warning"),t&&(t.forEach((function(t){n+=bt(t.ssid,t.rssi,t.auth)})),c("#wifiTable").html(n)),0==c(".manual_add").length&&(c("#wifiTable").append(bt("Manual add",0,0)),c("#wifiTable tr:last").addClass("table-light text-dark").addClass("manual_add")),!it.ssid||it.urc!==N&&it.urc!==R)(null===(e=it)||void 0===e?void 0:e.urc)!==C&&c("span#foot-if").html("");else{var a,s='#wifiTable td:contains("'.concat(it.ssid,'")');if(0==c(s).filter((function(){return c(this).text()===it.ssid})).length)c("#wifiTable").prepend("".concat(bt(it.ssid,null!==(a=it.rssi)&&void 0!==a?a:0,0)));c(s).filter((function(){return c(this).text()===it.ssid})).siblings().first().html("✓").parent().addClass(it.urc===N?"table-success":"table-warning"),c("span#foot-if").html("SSID: ".concat(it.ssid,", IP: ").concat(it.ip,"")),c("#wifiStsIcon").html(mt(it.rssi))}}function St(t){console.debug(this.toLocaleString()+"\t"+t.nme+"\t"+t.cpu+"\t"+I[t.st]+"\t"+t.minstk+"\t"+t.bprio+"\t"+t.cprio+"\t"+t.num),c("tbody#tasks").append(''+t.num+""+t.nme+""+t.cpu+""+I[t.st]+""+t.minstk+""+t.bprio+""+t.cprio+"")}function yt(t){return c("".concat(ot," option:contains('").concat(t,"')"))}function _t(){c.ajaxSetup({timeout:M}),c.getJSON("/messages.json",function(){var t=(0,a.Z)(i().mark((function t(e){var n,a,s,o,r,u,d,h,f,p;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:n=l(e);try{for(s=function(){var t=a.value,e=t.current_time-t.sent_time;switch((o=new Date).setTime(o.getTime()-e),t.class){case"MESSAGING_CLASS_OTA":G.EventOTAMessageClass(t.message);break;case"MESSAGING_CLASS_STATS":r=JSON.parse(t.message),console.debug(o.toLocalShort()+" - Number of running tasks: "+r.ntasks),console.debug(o.toLocalShort()+"\tname\tcpu\tstate\tminstk\tbprio\tcprio\tnum"),r.tasks?("collapse"===c("#tasks_sect").css("visibility")&&c("#tasks_sect").css("visibility","visible"),c("tbody#tasks").html(""),r.tasks.sort((function(t,e){return e.cpu-t.cpu})).forEach(St,o)):"visible"===c("#tasks_sect").css("visibility")&&(c("tbody#tasks").empty(),c("#tasks_sect").css("visibility","collapse"));break;case"MESSAGING_CLASS_SYSTEM":Rt(t,o);break;case"MESSAGING_CLASS_CFGCMD":W((u=t.message.split(/([^\n]*)\n([\s\S]*)/g))[1],t.type,u[2],!0);break;case"MESSAGING_CLASS_BT":if(c("#cfg-audio-bt_source-sink_name").is("input")){for(d=c("#cfg-audio-bt_source-sink_name")[0].attributes,h="",f=0;f "))}JSON.parse(t.message).forEach((function(e){yt(e.name).length>0||(c("#cfg-audio-bt_source-sink_name").append("")),Rt({type:t.type,message:"BT Audio device found: ".concat(e.name," RSSI: ").concat(e.rssi," ")},o)),yt(e.name).attr("data-bs-description","".concat(e.name," (").concat(e.rssi,"dB)")).attr("rssi",e.rssi).attr("value",e.name).text("".concat(e.name," [").concat(e.rssi,"dB]")).trigger("change")})),c(ot).append(c("".concat(ot," option")).remove().sort((function(t,e){return console.log("".concat(parseInt(c(t).attr("rssi"))," < ").concat(parseInt(c(e).attr("rssi"))," ? ")),parseInt(c(t).attr("rssi"))".concat(it.ip,""))):(c(".if_wifi").show(),vt())),wt(t)}function At(){c.ajaxSetup({timeout:2e3}),c.getJSON("/status.json",(function(t){var e;if(function(t){var e;1===(null!==(e=t.recovery)&&void 0!==e?e:0)?(q=!0,c(".recovery_element").show(),c(".ota_element").hide(),c("#boot-button").html("Reboot"),c("#boot-form").attr("action","/reboot_ota.json")):(!q&&Y&&(Y=!1,setTimeout(_t,M)),q=!1,c(".recovery_element").hide(),c(".ota_element").show(),c("#boot-button").html("Recovery"),c("#boot-form").attr("action","/recovery.json"))}(t),f(),Et(t),function(t){var e="",n="";if(void 0!==t.bt_status&&void 0!==t.bt_sub_status){var a=A[t.bt_status].sub[t.bt_sub_status];a?(e=T[a],n=A[t.bt_status].desc):(e=T.bt_connected,n="Output status")}c("#o_type").attr("title",n),c("#o_bt").html(U()?e.label:e.text)}(t),G.EventTargetStatus(t),t.project_name&&""!==t.project_name&&(et=t.project_name),t.platform_name&&""!==t.platform_name&&(at=t.platform_name),""===nt&&(nt=et),""===nt&&(nt="Squeezelite-ESP32"),t.version&&""!==t.version?($=t.version,c("#navtitle").html("".concat(nt).concat(q?"
[recovery]":"")),c("span#foot-fw").html("fw: ".concat($,", mode: ").concat(q?"Recovery":et,""))):c("span#flash-status").html(""),t.Voltage){var n=function(t){var e,n,a=l(E);try{for(a.s();!(e=a.n()).done;){var s,o=e.value,i=l(o.ranges);try{for(i.s();!(s=i.n()).done;){var r=s.value;if(((n=t)-r.f)*(n-r.t)<=0)return{label:o.label,icon:o.icon}}}catch(t){i.e(t)}finally{i.f()}}}catch(t){a.e(t)}finally{a.f()}return{label:"▪▪▪▪",icon:"battery_full"}}(t.Voltage);c("#battery").html("".concat(L(n))),c("#battery").attr("aria-label",n.label),c("#battery").attr("icon",n.icon),c("#battery").show()}else c("#battery").hide();if(""!=(null!==(e=t.message)&&void 0!==e?e:"")&&tt!=t.message&&(tt=t.message,xt(t.message,"MESSAGING_INFO")),t.is_i2c_locked?c("flds-cfg-hw-preset").hide():c("flds-cfg-hw-preset").show(),c("button[onclick*='handleReboot']").removeClass("rebooting"),void 0===B||t.lms_ip!=ct&&t.lms_ip&&t.lms_port){var a="http://"+t.lms_ip+":"+t.lms_port;ct=t.lms_ip,c.ajax({url:a+"/plugins/SqueezeESP32/firmware/-check.bin",type:"HEAD",dataType:"text",cache:!1,error:function(){B=""},success:function(){B=a}})}c("#o_jack").css({display:Number(t.Jack)?"inline":"none"}),setTimeout(At,2e3)})).fail((function(t,e,n){F(t,0,n),0==t.status&&0==t.readyState?setTimeout(At,5e3):setTimeout(At,M)}))}function Ot(t,e,n){return void 0!==t.values[e]?t.values[e][n]:""}function Nt(){c.ajaxSetup({timeout:7e3}),c.getJSON("/commands.json",(function(t){console.log(t),c(".orec").show(),t.commands.forEach((function(e){if(0===c("#flds-"+e.name).length){var n=e.name.split("-"),a="cfg"===n[0],s="#tab-"+n[0]+"-"+n[1],o="";o+='
'.concat(e.help.encodeHTML().replace(/\n/g,"
"),'
'),e.argtable&&e.argtable.forEach((function(n){var a=n.datatype||"",s=e.name+"-"+n.longopts,i=Ot(t,e.name,n.longopts),r="hasvalue="+n.hasvalue+" ";r+='longopts="'+n.longopts+'" ',r+='shortopts="'+n.shortopts+'" ',r+="checkbox="+n.checkbox+" ",r+='cmdname="'+e.name+'" ',r+='id="'+s+'" name="'+s+'" hasvalue="'+n.hasvalue+'" ';var c=n.mincount>0?"bg-success":"";"hidden"===n.glossary&&(r+=' style="visibility: hidden;"'),n.checkbox?o+='
"):(o+='
"),a.includes("|")?(c=a.startsWith("+")?" multiple ":"",a=a.replace("<","").replace("=","").replace(">",""),o+=""):o+='")),o+="".concat(n.checkbox?"
":"",'Previous value: ').concat(n.checkbox?i?"Checked":"Unchecked":i||"","").concat(n.checkbox?"":"
")})),o+='
\n '),o+=a?'\n'):''),o+="
",a?c(s).append(o):c("#commands-list").append(o)}})),c(".sclk").off("click").on("click",(function(){runCommand(this,!1)})),c(".cclk").off("click").on("click",(function(){runCommand(this,!0)})),t.commands.forEach((function(e){c("[cmdname="+e.name+"]:input").val(""),c("[cmdname="+e.name+"]:checkbox").prop("checked",!1),e.argtable&&e.argtable.forEach((function(n){var a="#"+e.name+"-"+n.longopts,s=Ot(t,e.name,n.longopts);n.checkbox?c(a)[0].checked=s:(void 0!==s&&c(a).val(s).trigger("change"),0===c(a)[0].value.length&&(n.datatype||"").includes("|")&&(c(a)[0].value="--"))}))})),0!=c("#cfg-hw-preset-model_config").length&&(P||(P=!0,c("#cfg-hw-preset-model_config").html(""),c.getJSON("https://gist.githubusercontent.com/sle118/dae585e157b733a639c12dc70f0910c5/raw/",{_:(new Date).getTime()},(function(t){c.each(t,(function(t,e){c("#cfg-hw-preset-model_config").append("")),""!==st&&st==e.name&&c("#cfg-hw-preset-model_config").val(st)})),""!==st&&"#prev_preset".show().val(st)})).fail((function(t,e,n){var a=e+", "+n;console.log("Request Failed: "+a)}))))})).fail((function(t,e,n){404==t.status?c(".orec").hide():F(t,0,n),c("#commands-list").empty()}))}function kt(){c.ajaxSetup({timeout:7e3}),c.getJSON("/config.json",(function(t){c("#nvsTable tr").remove();var e=t.config?t.config:t;Z=e,Object.keys(e).sort().forEach((function(t){var n=e[t].value;if("autoexec"===t)"0"===e.autoexec.value?c("#disable-squeezelite")[0].checked=!0:c("#disable-squeezelite")[0].checked=!1;else if("autoexec1"===t){var a=/-o\s?(["][^"]*["]|[^-]+)/g.exec(n);a[1].toUpperCase().startsWith("I2S")?D("i2s"):a[1].toUpperCase().startsWith("SPDIF")?D("spdif"):a[1].toUpperCase().startsWith('"BT')&&D("bt")}else"host_name"===t?(n=n.replaceAll('"',""),c("input#dhcp-name1").val(n),c("input#dhcp-name2").val(n),c("#player").val(n),document.title=n,K=n):"rel_api"===t?H=n:"enable_airplay"===t?c("#s_airplay").css({display:p(n)?"inline":"none"}):"enable_cspot"===t?c("#s_cspot").css({display:p(n)?"inline":"none"}):"preset_name"==t?st=n:"board_model"==t&&(nt=n);c("tbody#nvsTable").append(""+t+""),c("input#"+t).val(e[t].value)})),c("tbody#nvsTable").append(""),t.gpio?(c("#pins").show(),c("tbody#gpiotable tr").remove(),t.gpio.forEach((function(t){c("tbody#gpiotable").append("'+t.group+""+t.name+""+t.gpio+""+(t.fixed?"Fixed":"Configuration")+"")}))):c("#pins").hide()})).fail((function(t,e,n){F(t,0,n)}))}function xt(t,e){Rt({message:t,type:e},new Date)}function Rt(t,e){var n="table-success";"MESSAGING_WARNING"===t.type?(n="table-warning","MESSAGING_INFO"===V&&(V="MESSAGING_WARNING")):"MESSAGING_ERROR"===t.type&&("MESSAGING_INFO"!==V&&"MESSAGING_WARNING"!==V||(V="MESSAGING_ERROR"),n="table-danger"),++z>0&&(c("#msgcnt").removeClass("badge-success"),c("#msgcnt").removeClass("badge-warning"),c("#msgcnt").removeClass("badge-danger"),c("#msgcnt").addClass(O[V]),c("#msgcnt").text(z)),c("#syslogTable").append(""+e.toLocalShort()+""+t.message.encodeHTML()+"")}function Ct(t){return new h((function(e){return setTimeout(e,t)}))}h.prototype.delay=function(t){return this.then((function(e){return new h((function(n){setTimeout((function(){n(e)}),t)}))}),(function(e){return new h((function(n,a){setTimeout((function(){a(e)}),t)}))}))},window.saveAutoexec1=function(t){W("cfg-audio-tmpl","MESSAGING_INFO","Saving.\n",!1);var e='squeezelite -b 500:2000 -d all=info -C 30 -W -n "'+c("#player").val()+'"';"bt"===X?(e+=' -o "BT" -R -Z 192000',W("cfg-audio-tmpl","MESSAGING_INFO","Remember to configure the Bluetooth audio device name.\n",!0)):e+="spdif"===X?" -o SPDIF -Z 192000":" -o I2S",""!==c("#optional").val()&&(e+=" "+c("#optional").val());var n={timestamp:Date.now()};n.config={autoexec1:{value:e,type:33},autoexec:{value:c("#disable-squeezelite").prop("checked")?"0":"1",type:33}},c.ajax({url:"/config.json",dataType:"text",method:"POST",cache:!1,contentType:"application/json; charset=utf-8",data:JSON.stringify(n),error:F,complete:function(e){e.responseText&&"OK"===JSON.parse(e.responseText).result?(W("cfg-audio-tmpl","MESSAGING_INFO","Done.\n",!0),t&&ft(1500,"cfg-audio-tmpl")):JSON.parse(e.responseText).result?W("cfg-audio-tmpl","MESSAGING_WARNING",JSON.parse(e.responseText).Result+"\n",!0):W("cfg-audio-tmpl","MESSAGING_ERROR",e.statusText+"\n"),console.log(e.responseText)}}),console.log("sent data:",JSON.stringify(n))},window.handleDisconnect=function(){c.ajax({url:"/connect.json",dataType:"text",method:"DELETE",cache:!1,contentType:"application/json; charset=utf-8",data:JSON.stringify({timestamp:Date.now()})})},window.handleConnect=function(){rt.ssid=c("#manual_ssid").val(),rt.pwd=c("#manual_pwd").val(),rt.dhcpname=c("#dhcp-name2").val(),c("*[class*='connecting']").hide(),c("#ssid-wait").text(rt.ssid),c(".connecting").show(),c.ajax({url:"/connect.json",dataType:"text",method:"POST",cache:!1,contentType:"application/json; charset=utf-8",data:JSON.stringify({timestamp:Date.now(),ssid:rt.ssid,pwd:rt.pwd}),error:F})},c(document).ready((function(){c(".material-icons").each((function(t,e){e.attributes.icon=e.textContent})),Tt(!0),f(),G.init(),c("#fw-url-input").on("input",(function(){c(this).val().length>8&&(c(this).val().startsWith("http://")||c(this).val().startsWith("https://"))?c("#start-flash").show():c("#start-flash").hide()})),c(".upSrch").on("input",(function(){var t=this.value;c("#rTable tr").removeClass(this.id+"_hide"),t.length>0&&c("#rTable td:nth-child(".concat(c(this).parent().index()+1,")")).filter((function(){return!c(this).text().toUpperCase().includes(t.toUpperCase())})).parent().addClass(this.id+"_hide"),c('[class*="_hide"]').hide(),c("#rTable tr").not('[class*="_hide"]').show()})),setTimeout(gt,1500),c("#WifiConnectDialog")[0].addEventListener("shown.bs.modal",(function(t){c("*[class*='connecting']").hide(),null!=t&&t.relatedTarget&&(rt.Action=lt,c(t.relatedTarget).children("td:eq(1)").text()==it.ssid?rt.Action=dt:c(t.relatedTarget).is(":last-child")?(rt.Action=ut,rt.ssid="",c("#manual_ssid").val(rt.ssid)):(rt.ssid=c(t.relatedTarget).children("td:eq(1)").text(),c("#manual_ssid").val(rt.ssid))),rt.Action!==dt?(c(".connecting-init").show(),c("#manual_ssid").trigger("focus")):wt()})),c("#WifiConnectDialog")[0].addEventListener("hidden.bs.modal",(function(){c("#WifiConnectDialog input").val("")})),c("#uCnfrm")[0].addEventListener("shown.bs.modal",(function(){c("#selectedFWURL").text(c("#fw-url-input").val())})),c("input#show-commands")[0].checked=1===Q,c('a[href^="#tab-commands"]').hide(),c("#load-nvs").on("click",(function(){c("#nvsfilename").trigger("click")})),c("#nvsfilename").on("change",(function(){if("function"!=typeof window.FileReader)throw"The file API isn't supported on this browser.";if(!this.files)throw"This browser does not support the `files` property of the file input.";if(this.files[0]){var t=this.files[0],e=new FileReader;e.onload=function(t){var e={};try{e=JSON.parse(t.target.result)}catch(t){alert("Parsing failed!\r\n "+t)}c("input.nvs").each((function(t,n){c(this).parent().removeClass("bg-warning").removeClass("bg-success"),e[n.id]&&(e[n.id]!==n.value?(console.log("Changed "+n.id+" "+n.value+"==>"+e[n.id]),c(this).parent().addClass("bg-warning"),c(this).val(e[n.id])):c(this).parent().addClass("bg-success"))})),c("input.nvs").children(".bg-warning")&&alert("Highlighted values were changed. Press Commit to change on the device")},e.readAsText(t),this.value=null}})),c("#clear-syslog").on("click",(function(){z=0,V="MESSAGING_INFO",c("#msgcnt").text(""),c("#syslogTable").html("")})),c("#ok-credits").on("click",(function(){c("#credits").slideUp("fast",(function(){})),c("#app").slideDown("fast",(function(){}))})),c("#acredits").on("click",(function(t){t.preventDefault(),c("#app").slideUp("fast",(function(){})),c("#credits").slideDown("fast",(function(){}))})),c("input#show-commands").on("click",(function(){this.checked=this.checked?1:0,this.checked?(c('a[href^="#tab-commands"]').show(),Q=1):(Q=0,c('a[href^="#tab-commands"]').hide())})),c("input#show-nvs").on("click",(function(){this.checked=this.checked?1:0,r.Z.set("show-nvs",this.checked?"Y":"N"),f()})),c("#btn_reboot_recovery").on("click",(function(){handleReboot("recovery")})),c("#btn_reboot").on("click",(function(){handleReboot("reboot")})),c("#btn_flash").on("click",(function(){hFlash()})),c("#save-autoexec1").on("click",(function(){saveAutoexec1(!1)})),c("#commit-autoexec1").on("click",(function(){saveAutoexec1(!0)})),c("#btn_disconnect").on("click",(function(){it={},vt(),c.ajax({url:"/connect.json",dataType:"text",method:"DELETE",cache:!1,contentType:"application/json; charset=utf-8",data:JSON.stringify({timestamp:Date.now()})})})),c("#btnJoin").on("click",(function(){handleConnect()})),c("#reboot_nav").on("click",(function(){handleReboot("reboot")})),c("#reboot_ota_nav").on("click",(function(){handleReboot("reboot_ota")})),c("#save-as-nvs").on("click",(function(){var t=ht(!0),e=document.createElement("a");e.href=URL.createObjectURL(new Blob([JSON.stringify(t,null,2)],{type:"text/plain"})),e.setAttribute("download","nvs_config_"+K+"_"+Date.now()+"json"),document.body.appendChild(e),e.click(),document.body.removeChild(e)})),c("#save-nvs").on("click",(function(){j(ht(!1))})),c("#fwUpload").on("click",(function(){0===document.getElementById("flashfilename").files.length?alert("No file selected!"):(c("#fw-url-input").value=null,G.StartOTA())})),c("[name=output-tmpl]").on("click",(function(){D(this.id)})),c("#chkUpdates").on("click",(function(){c("#rTable").html(""),c.getJSON(H,(function(t){var e=[];t.forEach((function(t){var n=t.name.split("#")[3];e.includes(n)||e.push(n)}));var n="";e.forEach((function(t){n+='"})),c("#fwbranch").append(n),t.forEach((function(t){var e="";t.assets.forEach((function(t){t.name.match(/\.bin$/)&&(e=t.browser_download_url)}));var n=t.name.split("#"),a=n[0],s=n[2],o=n[3],i=a.substr(a.lastIndexOf("-")+1);i="32"==i||"16"==i?i:"";var r=t.body;r=(r=(r=r.replace(/'/gi,'"')).replace(/[\s\S]+(### Revision Log[\s\S]+)### ESP-IDF Version Used[\s\S]+/,"$1")).replace(/- \(.+?\) /g,"- ").encodeHTML(),c("#rTable").append("\n ").concat(a,"").concat(new Date(t.created_at).toLocalShort(),"\n ").concat(s,"").concat(o,"").concat(i,""))})),c("#searchfw").css("display","inline"),pt(at)||pt(et),c("#rTable tr.release").on("click",(function(){var t=this.attributes.fwurl.value;B&&(t=t.replace(/.*\/download\//,B+"/plugins/SqueezeESP32/firmware/")),c("#fw-url-input").val(t),c("#start-flash").show(),c("#rTable tr.release").removeClass("table-success table-warning"),c(this).addClass("table-success table-warning")}))})).fail((function(){alert("failed to fetch release history!")}))})),c("#fwcheck").on("click",(function(){c("#releaseTable").html(""),c("#fwbranch").empty(),c.getJSON(H,(function(t){var e,n=0,a=[];t.forEach((function(t){var e=t.name.split("#")[3];a.includes(e)||a.push(e)})),a.forEach((function(t){e+='"})),c("#fwbranch").append(e),t.forEach((function(t){var e="";t.assets.forEach((function(t){t.name.match(/\.bin$/)&&(e=t.browser_download_url)}));var a=t.name.split("#"),s=a[0],o=a[1],i=a[2],r=a[3],l=t.body;l=(l=(l=l.replace(/'/gi,'"')).replace(/[\s\S]+(### Revision Log[\s\S]+)### ESP-IDF Version Used[\s\S]+/,"$1")).replace(/- \(.+?\) /g,"- ");var u=n++>6?" hide":"";c("#releaseTable").append(""+s+""+new Date(t.created_at).toLocalShort()+""+i+""+o+""+r+"")})),n>7&&(c("#releaseTable").append(""),c("#showallbutton").on("click",(function(){c("tr.hide").removeClass("hide"),c("tr#showall").addClass("hide")}))),c("#searchfw").css("display","inline")})).fail((function(){alert("failed to fetch release history!")}))})),c("#updateAP").on("click",(function(){gt(),console.log("refresh AP")})),kt(),Nt(),_t(),At()})),window.setURL=function(t){var e=t.dataset.url;c('[data-bs-url^="http"]').addClass("btn-success").removeClass("btn-danger"),c('[data-bs-url="'+e+'"]').addClass("btn-danger").removeClass("btn-success"),B&&(e=e.replace(/.*\/download\//,B+"/plugins/SqueezeESP32/firmware/")),c("#fwurl").val(e)},window.runCommand=function(t,e){var n=t.attributes.cmdname.value;W(t.attributes.cmdname.value,"MESSAGING_INFO","Executing.",!1);var a=document.getElementById("flds-"+n),o=null==a?void 0:a.querySelectorAll("select,input");if("cfg-hw-preset"===n)return function(t,e){var n=JSON.parse(t[0].value),a=t[0].attributes.cmdname.value;console.log("selected model: ".concat(n.name));for(var o={timestamp:Date.now(),config:{model_config:{value:n.name,type:33}}},i=0,r=Object.entries(n.config);i{n.r(e)},607:(t,e,n)=>{n(138),n(393),n(861),n(322)},861:t=>{t.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAb1BMVEXIycuswsKMjI4rqqZyc3RQlpQ6jIEmJifW2dq5ursppJ8Om4zC0NAFdGYmmpb///8Hg3O4x8cHkoEggX0jko5Ks6/P0dM5r6ocoZb3+PgiiYVevrp/y8bg4uOS09FtxMDs7+7M6um529qoysik2tiNn72gAAAAF3RSTlP94Fr/Wf39BP26/////////////////kibhL0AAAGjSURBVDjLbZMJkoMgEEWtmETEJWpkiSC45P5nnF4wk7HmW2jLfzYIdFYUxbXUYp5nIbTOUFoLAR2ivIKZFQXYuu6TahSHmdAlAqWub0/QNI1jSxrHacKeWw9EdtH1xHbbyiRgCJn67JqVAr9nO2fJnBDMoUuYEvsfmxnJBM66Zj8/iYmaAPKlOvRNJAC/fz8OefINEAngAbYPEMiHTJCCAZrACciVMpCCgDEBKwsAowymMO3IAP3Btqa5vYJx0ZlcOSUZaE/AWznvnTHOyfZ/wMUQvAIg/wb27QNEH94BgGj+APsZiF8AXAhQQEMwkIYYLW7xvsENoyUoF0I0ysf0F2O743kDQNXzXM8+j8Eb6byzDEz7gtpsO1PgrXG5Nd6btNTP+YXarKTny1uQ9JiAN6vbqT9au+BzMQjAWtlq6BiYttdjiVVVqfXxWFWFkk6Cz0DTdYOFPmpHAAK/YQCJoTppQJ8A3TAxVAAhR439Bg5tKe7NgSDEje3mDsf+ovuGCUbYZb/BwoHS6ykHMYfo/U6lx8Xb/+qo3U/x/lf+VP9c/j9c3zy20WEMxgAAAABJRU5ErkJggg=="}},n={};function a(t){var s=n[t];if(void 0!==s)return s.exports;var o=n[t]={id:t,loaded:!1,exports:{}};return e[t].call(o.exports,o,o.exports,a),o.loaded=!0,o.exports}a.m=e,t=[],a.O=(e,n,s,o)=>{if(!n){var i=1/0;for(u=0;u=o)&&Object.keys(a.O).every((t=>a.O[t](n[c])))?n.splice(c--,1):(r=!1,o0&&t[u-1][2]>o;u--)t[u]=t[u-1];t[u]=[n,s,o]},a.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return a.d(e,{a:e}),e},a.d=(t,e)=>{for(var n in e)a.o(e,n)&&!a.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),a.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),a.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},a.nmd=t=>(t.paths=[],t.children||(t.children=[]),t),(()=>{var t={826:0};a.O.j=e=>0===t[e];var e=(e,n)=>{var s,o,[i,r,c]=n,l=0;if(i.some((e=>0!==t[e]))){for(s in r)a.o(r,s)&&(a.m[s]=r[s]);if(c)var u=c(a)}for(e&&e(n);la(607)));s=a.O(s)})(); -//# sourceMappingURL=index.44748c.bundle.js.map \ No newline at end of file diff --git a/components/wifi-manager/webapp/dist/js/index.44748c.bundle.js.gz b/components/wifi-manager/webapp/dist/js/index.44748c.bundle.js.gz deleted file mode 100644 index 18964d3738703555b597eb43158c4e4ecb6d59f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14128 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 diff --git a/components/wifi-manager/webapp/dist/js/index.44748c.bundle.js.map b/components/wifi-manager/webapp/dist/js/index.44748c.bundle.js.map deleted file mode 100644 index f9d82ed5..00000000 --- a/components/wifi-manager/webapp/dist/js/index.44748c.bundle.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"./js/index.44748c.bundle.js","mappings":"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","sources":["webpack://squeezelite-esp32/webpack/runtime/chunk loaded","webpack://squeezelite-esp32/./src/js/custom.js","webpack://squeezelite-esp32/./src/index.ts","webpack://squeezelite-esp32/webpack/bootstrap","webpack://squeezelite-esp32/webpack/runtime/compat get default export","webpack://squeezelite-esp32/webpack/runtime/define property getters","webpack://squeezelite-esp32/webpack/runtime/global","webpack://squeezelite-esp32/webpack/runtime/hasOwnProperty shorthand","webpack://squeezelite-esp32/webpack/runtime/make namespace object","webpack://squeezelite-esp32/webpack/runtime/node module decorator","webpack://squeezelite-esp32/webpack/runtime/jsonp chunk loading","webpack://squeezelite-esp32/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var he = require('he');\nvar Promise = require('es6-promise').Promise;\nwindow.bootstrap = require('bootstrap');\nimport Cookies from 'js-cookie';\n\n\n\nif (!String.prototype.format) {\n Object.assign(String.prototype, {\n format() {\n const args = arguments;\n return this.replace(/{(\\d+)}/g, function (match, number) {\n return typeof args[number] !== 'undefined' ? args[number] : match;\n });\n },\n });\n}\nif (!String.prototype.encodeHTML) {\n Object.assign(String.prototype, {\n encodeHTML() {\n return he.encode(this).replace(/\\n/g, '
');\n },\n });\n}\nObject.assign(Date.prototype, {\n toLocalShort() {\n const opt = { dateStyle: 'short', timeStyle: 'short' };\n return this.toLocaleString(undefined, opt);\n },\n});\nfunction handleNVSVisible(){\n let nvs_previous_checked = isEnabled(Cookies.get(\"show-nvs\"));\n $('input#show-nvs')[0].checked = nvs_previous_checked ;\n if ($('input#show-nvs')[0].checked || recovery) {\n $('*[href*=\"-nvs\"]').show();\n } else {\n $('*[href*=\"-nvs\"]').hide();\n }\n}\n\n\nfunction isEnabled(val) {\n return val!=undefined && typeof val === 'string' && val.match(\"[Yy1]\");\n}\n\nconst nvsTypes = {\n NVS_TYPE_U8: 0x01,\n\n /*! < Type uint8_t */\n NVS_TYPE_I8: 0x11,\n\n /*! < Type int8_t */\n NVS_TYPE_U16: 0x02,\n\n /*! < Type uint16_t */\n NVS_TYPE_I16: 0x12,\n\n /*! < Type int16_t */\n NVS_TYPE_U32: 0x04,\n\n /*! < Type uint32_t */\n NVS_TYPE_I32: 0x14,\n\n /*! < Type int32_t */\n NVS_TYPE_U64: 0x08,\n\n /*! < Type uint64_t */\n NVS_TYPE_I64: 0x18,\n\n /*! < Type int64_t */\n NVS_TYPE_STR: 0x21,\n\n /*! < Type string */\n NVS_TYPE_BLOB: 0x42,\n\n /*! < Type blob */\n NVS_TYPE_ANY: 0xff /*! < Must be last */,\n};\nconst btIcons = {\n bt_playing: {'label':'','icon': 'media_bluetooth_on'},\n bt_disconnected: {'label':'','icon': 'media_bluetooth_off'},\n bt_neutral: {'label':'','icon': 'bluetooth'},\n bt_connecting: {'label':'','icon': 'bluetooth_searching'},\n bt_connected: {'label':'','icon': 'bluetooth_connected'},\n bt_disabled: {'label':'','icon': 'bluetooth_disabled'},\n play_arrow: {'label':'','icon': 'play_circle_filled'},\n pause: {'label':'','icon': 'pause_circle'},\n stop: {'label':'','icon': 'stop_circle'},\n '': {'label':'','icon':''}\n};\nconst batIcons = [\n { icon: \"battery_0_bar\", label:'▪', ranges: [{ f: 5.8, t: 6.8 }, { f: 8.8, t: 10.2 }] },\n { icon: \"battery_2_bar\", label:'▪▪', ranges: [{ f: 6.8, t: 7.4 }, { f: 10.2, t: 11.1 }] },\n { icon: \"battery_3_bar\", label:'▪▪▪', ranges: [{ f: 7.4, t: 7.5 }, { f: 11.1, t: 11.25 }] },\n { icon: \"battery_4_bar\", label:'▪▪▪▪', ranges: [{ f: 7.5, t: 7.8 }, { f: 11.25, t: 11.7 }] }\n];\nconst btStateIcons = [\n { desc: 'Idle', sub: ['bt_neutral'] },\n { desc: 'Discovering', sub: ['bt_connecting'] },\n { desc: 'Discovered', sub: ['bt_connecting'] },\n { desc: 'Unconnected', sub: ['bt_disconnected'] },\n { desc: 'Connecting', sub: ['bt_connecting'] },\n {\n desc: 'Connected',\n sub: ['bt_connected', 'play_arrow', 'bt_playing', 'pause', 'stop'],\n },\n { desc: 'Disconnecting', sub: ['bt_disconnected'] },\n];\n\nconst pillcolors = {\n MESSAGING_INFO: 'badge-success',\n MESSAGING_WARNING: 'badge-warning',\n MESSAGING_ERROR: 'badge-danger',\n};\nconst connectReturnCode = {\n OK: 0,\n FAIL: 1,\n DISC: 2,\n LOST: 3,\n RESTORE: 4,\n ETH: 5\n}\nconst taskStates = {\n 0: 'eRunning',\n /*! < A task is querying the state of itself, so must be running. */\n 1: 'eReady',\n /*! < The task being queried is in a read or pending ready list. */\n 2: 'eBlocked',\n /*! < The task being queried is in the Blocked state. */\n 3: 'eSuspended',\n /*! < The task being queried is in the Suspended state, or is in the Blocked state with an infinite time out. */\n 4: 'eDeleted',\n};\nlet flashState = {\n NONE: 0,\n REBOOT_TO_RECOVERY: 2,\n SET_FWURL: 5,\n FLASHING: 6,\n DONE: 7,\n UPLOADING: 8,\n ERROR: 9,\n UPLOADCOMPLETE: 10,\n _state: -1,\n olderRecovery: false,\n statusText: '',\n flashURL: '',\n flashFileName: '',\n statusPercent: 0,\n Completed: false,\n recovery: false,\n prevRecovery: false,\n updateModal: new bootstrap.Modal(document.getElementById('otadiv'), {}),\n reset: function () {\n\n this.olderRecovery = false;\n this.statusText = '';\n this.statusPercent = -1;\n this.flashURL = '';\n this.flashFileName = undefined;\n this.UpdateProgress();\n $('#rTable tr.release').removeClass('table-success table-warning');\n $('.flact').prop('disabled', false);\n $('#flashfilename').value = null;\n $('#fw-url-input').value = null;\n if(!this.isStateError()){\n $('span#flash-status').html('');\n $('#fwProgressLabel').parent().removeClass('bg-danger');\n }\n this._state = this.NONE\n return this;\n },\n isStateUploadComplete: function () {\n return this._state == this.UPLOADCOMPLETE;\n },\n isStateError: function () {\n return this._state == this.ERROR;\n },\n isStateNone: function () {\n return this._state == this.NONE;\n },\n isStateRebootRecovery: function () {\n return this._state == this.REBOOT_TO_RECOVERY;\n },\n isStateSetUrl: function () {\n return this._state == this.SET_FWURL;\n },\n isStateFlashing: function () {\n return this._state == this.FLASHING;\n },\n isStateDone: function () {\n return this._state == this.DONE;\n },\n isStateUploading: function () {\n return this._state == this.UPLOADING;\n },\n init: function () {\n this._state = this.NONE;\n return this;\n },\n\n SetStateError: function () {\n this._state = this.ERROR;\n $('#fwProgressLabel').parent().addClass('bg-danger');\n return this;\n },\n SetStateNone: function () {\n this._state = this.NONE;\n return this;\n },\n SetStateRebootRecovery: function () {\n this._state = this.REBOOT_TO_RECOVERY;\n // Reboot system to recovery mode\n this.SetStatusText('Starting recovery mode.')\n $.ajax({\n url: '/recovery.json',\n context: this,\n dataType: 'text',\n method: 'POST',\n cache: false,\n contentType: 'application/json; charset=utf-8',\n data: JSON.stringify({\n timestamp: Date.now(),\n }),\n error: function (xhr, _ajaxOptions, thrownError) {\n this.setOTAError(`Unexpected error while trying to restart to recovery. (status=${xhr.status ?? ''}, error=${thrownError ?? ''} ) `);\n },\n complete: function (response) {\n this.SetStatusText('Waiting for system to boot.')\n },\n });\n return this;\n },\n SetStateSetUrl: function () {\n this._state = this.SET_FWURL;\n this.statusText = 'Sending firmware download location.';\n let confData = {\n fwurl: {\n value: this.flashURL,\n type: 33,\n }\n };\n post_config(confData);\n return this;\n },\n SetStateFlashing: function () {\n this._state = this.FLASHING;\n return this;\n },\n SetStateDone: function () {\n this._state = this.DONE;\n this.reset();\n return this;\n },\n SetStateUploading: function () {\n this._state = this.UPLOADING;\n return this.SetStatusText('Sending file to device.');\n },\n SetStateUploadComplete: function () {\n this._state = this.UPLOADCOMPLETE;\n return this;\n },\n\n isFlashExecuting: function () {\n return true === (this._state != this.UPLOADING && (this.statusText !== '' || this.statusPercent >= 0));\n },\n\n\n\n toString: function () {\n let keys = Object.keys(this);\n return keys.find(x => this[x] === this._state);\n },\n\n setOTATargets: function () {\n this.flashURL = '';\n this.flashFileName = '';\n this.flashURL = $('#fw-url-input').val();\n let fileInput = $('#flashfilename')[0].files;\n if (fileInput.length > 0) {\n this.flashFileName = fileInput[0];\n }\n if (this.flashFileName.length == 0 && this.flashURL.length == 0) {\n this.setOTAError('Invalid url or file. Cannot start OTA');\n }\n return this;\n },\n\n setOTAError: function (message) {\n this.SetStateError().SetStatusPercent(0).SetStatusText(message).reset();\n return this;\n },\n\n ShowDialog: function () {\n if (!this.isStateNone()) {\n this.updateModal.show();\n $('.flact').prop('disabled', true);\n }\n return this;\n },\n\n SetStatusPercent: function (pct) {\n var pctChanged = (this.statusPercent != pct);\n this.statusPercent = pct;\n if (pctChanged) {\n if (!this.isStateUploading() && !this.isStateFlashing()) {\n this.SetStateFlashing();\n }\n if (pct == 100) {\n if (this.isStateFlashing()) {\n this.SetStateDone();\n }\n else if (this.isStateUploading()) {\n this.statusPercent = 0;\n this.SetStateFlashing();\n }\n }\n this.UpdateProgress().ShowDialog();\n }\n return this;\n },\n SetStatusText: function (txt) {\n var changed = (this.statusText != txt);\n this.statusText = txt;\n if (changed) {\n $('span#flash-status').html(this.statusText);\n this.ShowDialog();\n }\n\n return this;\n },\n UpdateProgress: function () {\n $('.progress-bar')\n .css('width', this.statusPercent + '%')\n .attr('aria-valuenow', this.statusPercent)\n .text(this.statusPercent + '%')\n $('.progress-bar').html((this.isStateDone() ? 100 : this.statusPercent) + '%');\n return this;\n },\n StartOTA: function () {\n this.logEvent(this.StartOTA.name);\n $('#fwProgressLabel').parent().removeClass('bg-danger');\n this.setOTATargets();\n if (this.isStateError()) {\n return this;\n }\n if (!recovery) {\n this.SetStateRebootRecovery();\n }\n else {\n this.SetStateFlashing().TargetReadyStartOTA();\n }\n\n return this;\n },\n UploadLocalFile: function () {\n this.SetStateUploading();\n const xhttp = new XMLHttpRequest();\n xhttp.context = this;\n var boundHandleUploadProgressEvent = this.HandleUploadProgressEvent.bind(this);\n var boundsetOTAError=this.setOTAError.bind(this);\n xhttp.upload.addEventListener(\"progress\",boundHandleUploadProgressEvent, false);\n xhttp.onreadystatechange = function () {\n if (xhttp.readyState === 4) {\n if (xhttp.status === 0 || xhttp.status === 404) {\n boundsetOTAError(`Upload Failed. Recovery version might not support uploading. Please use web update instead.`);\n }\n }\n };\n xhttp.open('POST', '/flash.json', true);\n xhttp.send(this.flashFileName);\n },\n TargetReadyStartOTA: function () {\n if (recovery && this.prevRecovery && !this.isStateRebootRecovery() && !this.isStateFlashing()) {\n // this should only execute once, while being in a valid state\n return this;\n }\n\n this.logEvent(this.TargetReadyStartOTA.name);\n if (!recovery) {\n console.error('Event TargetReadyStartOTA fired in the wrong mode ');\n return this;\n }\n this.prevRecovery = true;\n\n if (this.flashFileName !== '') {\n this.UploadLocalFile();\n }\n else if (this.flashURL != '') {\n this.SetStateSetUrl();\n }\n else {\n this.setOTAError('Invalid URL or file name while trying to start the OTa process')\n }\n },\n HandleUploadProgressEvent: function (data) {\n this.logEvent(this.HandleUploadProgressEvent.name);\n this.SetStateUploading().SetStatusPercent(Math.round(data.loaded / data.total * 100)).SetStatusText('Uploading file to device');\n },\n EventTargetStatus: function (data) {\n if (!this.isStateNone()) {\n this.logEvent(this.EventTargetStatus.name);\n }\n if (data.ota_pct ?? -1 >= 0) {\n this.olderRecovery = true;\n this.SetStatusPercent(data.ota_pct);\n }\n if ((data.ota_dsc ?? '') != '') {\n this.olderRecovery = true;\n this.SetStatusText(data.ota_dsc);\n }\n\n if (data.recovery != undefined) {\n this.recovery = data.recovery === 1 ? true : false;\n }\n if (this.isStateRebootRecovery() && this.recovery) {\n this.TargetReadyStartOTA();\n }\n },\n EventOTAMessageClass: function (data) {\n this.logEvent(this.EventOTAMessageClass.name);\n var otaData = JSON.parse(data);\n this.SetStatusPercent(otaData.ota_pct).SetStatusText(otaData.ota_dsc);\n },\n logEvent: function (fun) {\n console.log(`${fun}, flash state ${this.toString()}, recovery: ${this.recovery}, ota pct: ${this.statusPercent}, ota desc: ${this.statusText}`);\n }\n\n};\nwindow.hideSurrounding = function (obj) {\n $(obj).parent().parent().hide();\n}\n\nlet presetsloaded = false;\nlet is_i2c_locked = false;\nlet statusInterval = 2000;\nlet messageInterval = 2500;\nfunction post_config(data) {\n let confPayload = {\n timestamp: Date.now(),\n config: data\n };\n $.ajax({\n url: '/config.json',\n dataType: 'text',\n method: 'POST',\n cache: false,\n contentType: 'application/json; charset=utf-8',\n data: JSON.stringify(confPayload),\n error: handleExceptionResponse,\n });\n}\n\n\nwindow.hFlash = function () {\n // reset file upload selection if any;\n $('#flashfilename').value = null\n flashState.StartOTA();\n}\nwindow.handleReboot = function (link) {\n if (link == 'reboot_ota') {\n $('#reboot_ota_nav').removeClass('active').prop(\"disabled\", true); delayReboot(500, '', 'reboot_ota');\n }\n else {\n $('#reboot_nav').removeClass('active'); delayReboot(500, '', link);\n }\n}\nfunction isConnected(){\n return ConnectedTo.hasOwnProperty('ip') && ConnectedTo.ip!='0.0.0.0'&& ConnectedTo.ip!='';\n}\nfunction getIcon(icons){\n return isConnected()?icons.icon:icons.label;\n}\nfunction handlebtstate(data) {\n let icon = '';\n let tt = '';\n if (data.bt_status !== undefined && data.bt_sub_status !== undefined) {\n const iconindex = btStateIcons[data.bt_status].sub[data.bt_sub_status];\n if (iconindex) {\n icon = btIcons[iconindex];\n tt = btStateIcons[data.bt_status].desc;\n } else {\n icon = btIcons.bt_connected;\n tt = 'Output status';\n }\n }\n\n $('#o_type').attr('title', tt);\n $('#o_bt').html(isConnected()?icon.label:icon.text);\n}\nfunction handleTemplateTypeRadio(outtype) {\n $('#o_type').children('span').css({ display: 'none' });\n if (outtype === 'bt') {\n output = 'bt';\n } else if (outtype === 'spdif') {\n output = 'spdif';\n } else {\n output = 'i2s';\n }\n $('#' + output).prop('checked', true);\n $('#o_' + output).css({ display: 'inline' });\n}\n\nfunction handleExceptionResponse(xhr, _ajaxOptions, thrownError) {\n console.log(xhr.status);\n console.log(thrownError);\n if (thrownError !== '') {\n showLocalMessage(thrownError, 'MESSAGING_ERROR');\n }\n}\nfunction HideCmdMessage(cmdname) {\n $('#toast_' + cmdname)\n .removeClass('table-success')\n .removeClass('table-warning')\n .removeClass('table-danger')\n .addClass('table-success')\n .removeClass('show');\n $('#msg_' + cmdname).html('');\n}\nfunction showCmdMessage(cmdname, msgtype, msgtext, append = false) {\n let color = 'table-success';\n if (msgtype === 'MESSAGING_WARNING') {\n color = 'table-warning';\n } else if (msgtype === 'MESSAGING_ERROR') {\n color = 'table-danger';\n }\n $('#toast_' + cmdname)\n .removeClass('table-success')\n .removeClass('table-warning')\n .removeClass('table-danger')\n .addClass(color)\n .addClass('show');\n let escapedtext = msgtext\n .substring(0, msgtext.length - 1)\n .encodeHTML()\n .replace(/\\n/g, '
');\n escapedtext =\n ($('#msg_' + cmdname).html().length > 0 && append\n ? $('#msg_' + cmdname).html() + '
'\n : '') + escapedtext;\n $('#msg_' + cmdname).html(escapedtext);\n}\n\nlet releaseURL =\n 'https://api.github.com/repos/sle118/squeezelite-esp32/releases';\n\nlet recovery = false;\nlet messagesHeld = false;\nconst commandHeader = 'squeezelite -b 500:2000 -d all=info -C 30 -W';\n//let blockFlashButton = false;\nlet apList = null;\n//let selectedSSID = '';\n//let checkStatusInterval = null;\nlet messagecount = 0;\nlet messageseverity = 'MESSAGING_INFO';\nlet SystemConfig = {};\nlet LastCommandsState = null;\nvar output = '';\nlet hostName = '';\nlet versionName = 'Squeezelite-ESP32';\nlet prevmessage = '';\nlet project_name = versionName;\nlet board_model = '';\nlet platform_name = versionName;\nlet preset_name = '';\nlet btSinkNamesOptSel = '#cfg-audio-bt_source-sink_name';\nlet ConnectedTo = {};\nlet ConnectingToSSID = {};\nlet lmsBaseUrl;\nlet prevLMSIP = '';\nconst ConnectingToActions = {\n 'CONN': 0, 'MAN': 1, 'STS': 2,\n}\n\nPromise.prototype.delay = function (duration) {\n return this.then(\n function (value) {\n return new Promise(function (resolve) {\n setTimeout(function () {\n resolve(value);\n }, duration);\n });\n },\n function (reason) {\n return new Promise(function (_resolve, reject) {\n setTimeout(function () {\n reject(reason);\n }, duration);\n });\n }\n );\n};\n\nfunction getConfigJson(slimMode) {\n const config = {};\n $('input.nvs').each(function (_index, entry) {\n if (!slimMode) {\n const nvsType = parseInt(entry.attributes.nvs_type.value, 10);\n if (entry.id !== '') {\n config[entry.id] = {};\n if (\n nvsType === nvsTypes.NVS_TYPE_U8 ||\n nvsType === nvsTypes.NVS_TYPE_I8 ||\n nvsType === nvsTypes.NVS_TYPE_U16 ||\n nvsType === nvsTypes.NVS_TYPE_I16 ||\n nvsType === nvsTypes.NVS_TYPE_U32 ||\n nvsType === nvsTypes.NVS_TYPE_I32 ||\n nvsType === nvsTypes.NVS_TYPE_U64 ||\n nvsType === nvsTypes.NVS_TYPE_I64\n ) {\n config[entry.id].value = parseInt(entry.value);\n } else {\n config[entry.id].value = entry.value;\n }\n config[entry.id].type = nvsType;\n }\n } else {\n config[entry.id] = entry.value;\n }\n });\n const key = $('#nvs-new-key').val();\n const val = $('#nvs-new-value').val();\n if (key !== '') {\n if (!slimMode) {\n config[key] = {};\n config[key].value = val;\n config[key].type = 33;\n } else {\n config[key] = val;\n }\n }\n return config;\n}\n\nfunction handleHWPreset(allfields, reboot) {\n\n const selJson = JSON.parse(allfields[0].value);\n var cmd = allfields[0].attributes.cmdname.value;\n\n console.log(`selected model: ${selJson.name}`);\n let confPayload = {\n timestamp: Date.now(),\n config: { model_config: { value: selJson.name, type: 33 } }\n };\n for (const [name, value] of Object.entries(selJson.config)) {\n const storedval = (typeof value === 'string' || value instanceof String) ? value : JSON.stringify(value);\n confPayload.config[name] = {\n value: storedval,\n type: 33,\n }\n showCmdMessage(\n cmd,\n 'MESSAGING_INFO',\n `Setting ${name}=${storedval} `,\n true\n );\n }\n\n showCmdMessage(\n cmd,\n 'MESSAGING_INFO',\n `Committing `,\n true\n );\n $.ajax({\n url: '/config.json',\n dataType: 'text',\n method: 'POST',\n cache: false,\n contentType: 'application/json; charset=utf-8',\n data: JSON.stringify(confPayload),\n error: function (xhr, _ajaxOptions, thrownError) {\n handleExceptionResponse(xhr, _ajaxOptions, thrownError);\n showCmdMessage(\n cmd,\n 'MESSAGING_ERROR',\n `Unexpected error ${(thrownError !== '') ? thrownError : 'with return status = ' + xhr.status} `,\n true\n );\n },\n success: function (response) {\n showCmdMessage(\n cmd,\n 'MESSAGING_INFO',\n `Saving complete `,\n true\n );\n console.log(response);\n if (reboot) {\n delayReboot(2500, cmd);\n }\n },\n });\n\n\n\n\n\n}\n\n\n// pull json file from https://gist.githubusercontent.com/sle118/dae585e157b733a639c12dc70f0910c5/raw/b462691f69e2ad31ac95c547af6ec97afb0f53db/squeezelite-esp32-presets.json and\nfunction loadPresets() {\n if ($(\"#cfg-hw-preset-model_config\").length == 0) return;\n if (presetsloaded) return;\n presetsloaded = true;\n $('#cfg-hw-preset-model_config').html('');\n $.getJSON(\n 'https://gist.githubusercontent.com/sle118/dae585e157b733a639c12dc70f0910c5/raw/',\n { _: new Date().getTime() },\n function (data) {\n $.each(data, function (key, val) {\n $('#cfg-hw-preset-model_config').append(``);\n if (preset_name !== '' && preset_name == val.name) {\n $('#cfg-hw-preset-model_config').val(preset_name);\n }\n });\n if (preset_name !== '') {\n ('#prev_preset').show().val(preset_name);\n }\n }\n\n ).fail(function (jqxhr, textStatus, error) {\n const err = textStatus + ', ' + error;\n console.log('Request Failed: ' + err);\n }\n );\n}\n\nfunction delayReboot(duration, cmdname, ota = 'reboot') {\n const url = '/' + ota + '.json';\n $('tbody#tasks').empty();\n $('#tasks_sect').css('visibility', 'collapse');\n Promise.resolve({ cmdname: cmdname, url: url })\n .delay(duration)\n .then(function (data) {\n if (data.cmdname.length > 0) {\n showCmdMessage(\n data.cmdname,\n 'MESSAGING_WARNING',\n 'System is rebooting.\\n',\n true\n );\n } else {\n showLocalMessage('System is rebooting.\\n', 'MESSAGING_WARNING');\n }\n console.log('now triggering reboot');\n $(\"button[onclick*='handleReboot']\").addClass('rebooting');\n $.ajax({\n url: data.url,\n dataType: 'text',\n method: 'POST',\n cache: false,\n contentType: 'application/json; charset=utf-8',\n data: JSON.stringify({\n timestamp: Date.now(),\n }),\n error: handleExceptionResponse,\n complete: function () {\n console.log('reboot call completed');\n Promise.resolve(data)\n .delay(6000)\n .then(function (rdata) {\n if (rdata.cmdname.length > 0) {\n HideCmdMessage(rdata.cmdname);\n }\n getCommands();\n getConfig();\n });\n },\n });\n });\n}\n// eslint-disable-next-line no-unused-vars\nwindow.saveAutoexec1 = function (apply) {\n showCmdMessage('cfg-audio-tmpl', 'MESSAGING_INFO', 'Saving.\\n', false);\n let commandLine = commandHeader + ' -n \"' + $('#player').val() + '\"';\n if (output === 'bt') {\n commandLine += ' -o \"BT\" -R -Z 192000';\n showCmdMessage(\n 'cfg-audio-tmpl',\n 'MESSAGING_INFO',\n 'Remember to configure the Bluetooth audio device name.\\n',\n true\n );\n } else if (output === 'spdif') {\n commandLine += ' -o SPDIF -Z 192000';\n } else {\n commandLine += ' -o I2S';\n }\n if ($('#optional').val() !== '') {\n commandLine += ' ' + $('#optional').val();\n }\n const data = {\n timestamp: Date.now(),\n };\n data.config = {\n autoexec1: { value: commandLine, type: 33 },\n autoexec: {\n value: $('#disable-squeezelite').prop('checked') ? '0' : '1',\n type: 33,\n },\n };\n\n $.ajax({\n url: '/config.json',\n dataType: 'text',\n method: 'POST',\n cache: false,\n contentType: 'application/json; charset=utf-8',\n data: JSON.stringify(data),\n error: handleExceptionResponse,\n complete: function (response) {\n if (\n response.responseText &&\n JSON.parse(response.responseText).result === 'OK'\n ) {\n showCmdMessage('cfg-audio-tmpl', 'MESSAGING_INFO', 'Done.\\n', true);\n if (apply) {\n delayReboot(1500, 'cfg-audio-tmpl');\n }\n } else if (JSON.parse(response.responseText).result) {\n showCmdMessage(\n 'cfg-audio-tmpl',\n 'MESSAGING_WARNING',\n JSON.parse(response.responseText).Result + '\\n',\n true\n );\n } else {\n showCmdMessage(\n 'cfg-audio-tmpl',\n 'MESSAGING_ERROR',\n response.statusText + '\\n'\n );\n }\n console.log(response.responseText);\n },\n });\n console.log('sent data:', JSON.stringify(data));\n}\nwindow.handleDisconnect = function () {\n $.ajax({\n url: '/connect.json',\n dataType: 'text',\n method: 'DELETE',\n cache: false,\n contentType: 'application/json; charset=utf-8',\n data: JSON.stringify({\n timestamp: Date.now(),\n }),\n });\n}\nfunction setPlatformFilter(val) {\n if ($('.upf').filter(function () { return $(this).text().toUpperCase() === val.toUpperCase() }).length > 0) {\n $('#splf').val(val).trigger('input');\n return true;\n }\n return false;\n}\nwindow.handleConnect = function () {\n ConnectingToSSID.ssid = $('#manual_ssid').val();\n ConnectingToSSID.pwd = $('#manual_pwd').val();\n ConnectingToSSID.dhcpname = $('#dhcp-name2').val();\n $(\"*[class*='connecting']\").hide();\n $('#ssid-wait').text(ConnectingToSSID.ssid);\n $('.connecting').show();\n $.ajax({\n url: '/connect.json',\n dataType: 'text',\n method: 'POST',\n cache: false,\n contentType: 'application/json; charset=utf-8',\n data: JSON.stringify({\n timestamp: Date.now(),\n ssid: ConnectingToSSID.ssid,\n pwd: ConnectingToSSID.pwd\n }),\n error: handleExceptionResponse,\n });\n\n // now we can re-set the intervals regardless of result\n\n}\n$(document).ready(function () {\n $('.material-icons').each(function (_index, entry) {\n entry.attributes['icon']=entry.textContent;\n });\n setIcons(true);\n handleNVSVisible();\n flashState.init();\n $('#fw-url-input').on('input', function () {\n if ($(this).val().length > 8 && ($(this).val().startsWith('http://') || $(this).val().startsWith('https://'))) {\n $('#start-flash').show();\n }\n else {\n $('#start-flash').hide();\n }\n });\n $('.upSrch').on('input', function () {\n const val = this.value;\n $(\"#rTable tr\").removeClass(this.id + '_hide');\n if (val.length > 0) {\n $(`#rTable td:nth-child(${$(this).parent().index() + 1})`).filter(function () {\n return !$(this).text().toUpperCase().includes(val.toUpperCase());\n }).parent().addClass(this.id + '_hide');\n }\n $('[class*=\"_hide\"]').hide();\n $('#rTable tr').not('[class*=\"_hide\"]').show()\n\n });\n setTimeout(refreshAP, 1500);\n\n $('#WifiConnectDialog')[0].addEventListener('shown.bs.modal', function (event) {\n $(\"*[class*='connecting']\").hide();\n\n if (event?.relatedTarget) {\n ConnectingToSSID.Action = ConnectingToActions.CONN;\n if ($(event.relatedTarget).children('td:eq(1)').text() == ConnectedTo.ssid) {\n ConnectingToSSID.Action = ConnectingToActions.STS;\n }\n else {\n if (!$(event.relatedTarget).is(':last-child')) {\n ConnectingToSSID.ssid = $(event.relatedTarget).children('td:eq(1)').text();\n $('#manual_ssid').val(ConnectingToSSID.ssid);\n }\n else {\n ConnectingToSSID.Action = ConnectingToActions.MAN;\n ConnectingToSSID.ssid = '';\n $('#manual_ssid').val(ConnectingToSSID.ssid);\n }\n }\n }\n\n\n if (ConnectingToSSID.Action !== ConnectingToActions.STS) {\n $('.connecting-init').show();\n $('#manual_ssid').trigger('focus');\n }\n else {\n handleWifiDialog();\n }\n });\n\n $('#WifiConnectDialog')[0].addEventListener('hidden.bs.modal', function () {\n $('#WifiConnectDialog input').val('');\n });\n\n $('#uCnfrm')[0].addEventListener('shown.bs.modal', function () {\n $('#selectedFWURL').text($('#fw-url-input').val());\n });\n\n $('input#show-commands')[0].checked = LastCommandsState === 1;\n $('a[href^=\"#tab-commands\"]').hide();\n $('#load-nvs').on('click', function () {\n $('#nvsfilename').trigger('click');\n });\n $('#nvsfilename').on('change', function () {\n if (typeof window.FileReader !== 'function') {\n throw \"The file API isn't supported on this browser.\";\n }\n if (!this.files) {\n throw 'This browser does not support the `files` property of the file input.';\n }\n if (!this.files[0]) {\n return undefined;\n }\n\n const file = this.files[0];\n let fr = new FileReader();\n fr.onload = function (e) {\n let data = {};\n try {\n data = JSON.parse(e.target.result);\n } catch (ex) {\n alert('Parsing failed!\\r\\n ' + ex);\n }\n $('input.nvs').each(function (_index, entry) {\n $(this).parent().removeClass('bg-warning').removeClass('bg-success');\n if (data[entry.id]) {\n if (data[entry.id] !== entry.value) {\n console.log(\n 'Changed ' + entry.id + ' ' + entry.value + '==>' + data[entry.id]\n );\n $(this).parent().addClass('bg-warning');\n $(this).val(data[entry.id]);\n }\n else {\n $(this).parent().addClass('bg-success');\n }\n }\n });\n var changed = $(\"input.nvs\").children('.bg-warning');\n if (changed) {\n alert('Highlighted values were changed. Press Commit to change on the device');\n }\n }\n fr.readAsText(file);\n this.value = null;\n\n }\n );\n $('#clear-syslog').on('click', function () {\n messagecount = 0;\n messageseverity = 'MESSAGING_INFO';\n $('#msgcnt').text('');\n $('#syslogTable').html('');\n });\n\n $('#ok-credits').on('click', function () {\n $('#credits').slideUp('fast', function () { });\n $('#app').slideDown('fast', function () { });\n });\n\n $('#acredits').on('click', function (event) {\n event.preventDefault();\n $('#app').slideUp('fast', function () { });\n $('#credits').slideDown('fast', function () { });\n });\n\n $('input#show-commands').on('click', function () {\n this.checked = this.checked ? 1 : 0;\n if (this.checked) {\n $('a[href^=\"#tab-commands\"]').show();\n LastCommandsState = 1;\n } else {\n LastCommandsState = 0;\n $('a[href^=\"#tab-commands\"]').hide();\n }\n });\n\n $('input#show-nvs').on('click', function () {\n this.checked = this.checked ? 1 : 0;\n Cookies.set(\"show-nvs\", this.checked?'Y':'N');\n handleNVSVisible();\n });\n $('#btn_reboot_recovery').on('click', function () {\n handleReboot('recovery');\n });\n $('#btn_reboot').on('click', function () {\n handleReboot('reboot');\n });\n $('#btn_flash').on('click', function () {\n hFlash();\n });\n $('#save-autoexec1').on('click', function () {\n saveAutoexec1(false);\n });\n $('#commit-autoexec1').on('click', function () {\n saveAutoexec1(true);\n });\n $('#btn_disconnect').on('click', function () {\n ConnectedTo={};\n refreshAPHTML2();\n $.ajax({\n url: '/connect.json',\n dataType: 'text',\n method: 'DELETE',\n cache: false,\n contentType: 'application/json; charset=utf-8',\n data: JSON.stringify({\n timestamp: Date.now(),\n }),\n });\n });\n $('#btnJoin').on('click', function () {\n handleConnect();\n });\n $('#reboot_nav').on('click', function () {\n handleReboot('reboot');\n });\n $('#reboot_ota_nav').on('click', function () {\n handleReboot('reboot_ota');\n });\n\n $('#save-as-nvs').on('click', function () {\n const config = getConfigJson(true);\n const a = document.createElement('a');\n a.href = URL.createObjectURL(\n new Blob([JSON.stringify(config, null, 2)], {\n type: 'text/plain',\n })\n );\n a.setAttribute(\n 'download',\n 'nvs_config_' + hostName + '_' + Date.now() + 'json'\n );\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n });\n\n $('#save-nvs').on('click', function () {\n post_config(getConfigJson(false));\n });\n\n $('#fwUpload').on('click', function () {\n const fileInput = document.getElementById('flashfilename').files;\n if (fileInput.length === 0) {\n alert('No file selected!');\n } else {\n $('#fw-url-input').value = null;\n flashState.StartOTA();\n }\n\n });\n $('[name=output-tmpl]').on('click', function () {\n handleTemplateTypeRadio(this.id);\n });\n\n $('#chkUpdates').on('click', function () {\n $('#rTable').html('');\n $.getJSON(releaseURL, function (data) {\n let i = 0;\n const branches = [];\n data.forEach(function (release) {\n const namecomponents = release.name.split('#');\n const branch = namecomponents[3];\n if (!branches.includes(branch)) {\n branches.push(branch);\n }\n });\n let fwb = '';\n branches.forEach(function (branch) {\n fwb += '';\n });\n $('#fwbranch').append(fwb);\n\n data.forEach(function (release) {\n let url = '';\n release.assets.forEach(function (asset) {\n if (asset.name.match(/\\.bin$/)) {\n url = asset.browser_download_url;\n }\n });\n const namecomponents = release.name.split('#');\n const ver = namecomponents[0];\n const cfg = namecomponents[2];\n const branch = namecomponents[3];\n var bits = ver.substr(ver.lastIndexOf('-') + 1);\n bits = (bits == '32' || bits == '16') ? bits : '';\n\n let body = release.body;\n body = body.replace(/'/gi, '\"');\n body = body.replace(\n /[\\s\\S]+(### Revision Log[\\s\\S]+)### ESP-IDF Version Used[\\s\\S]+/,\n '$1'\n );\n body = body.replace(/- \\(.+?\\) /g, '- ').encodeHTML();\n $('#rTable').append(`\n ${ver}${new Date(release.created_at).toLocalShort()}\n ${cfg}${branch}${bits}`\n );\n });\n if (i > 7) {\n $('#releaseTable').append(\n \"\" +\n \"\" +\n \"\" +\n '' +\n ''\n );\n $('#showallbutton').on('click', function () {\n $('tr.hide').removeClass('hide');\n $('tr#showall').addClass('hide');\n });\n }\n $('#searchfw').css('display', 'inline');\n if (!setPlatformFilter(platform_name)) {\n setPlatformFilter(project_name)\n }\n $('#rTable tr.release').on('click', function () {\n var url = this.attributes['fwurl'].value;\n if (lmsBaseUrl) {\n url = url.replace(/.*\\/download\\//, lmsBaseUrl + '/plugins/SqueezeESP32/firmware/');\n }\n $('#fw-url-input').val(url);\n $('#start-flash').show();\n $('#rTable tr.release').removeClass('table-success table-warning');\n $(this).addClass('table-success table-warning');\n });\n\n }).fail(function () {\n alert('failed to fetch release history!');\n });\n });\n $('#fwcheck').on('click', function () {\n $('#releaseTable').html('');\n $('#fwbranch').empty();\n $.getJSON(releaseURL, function (data) {\n let i = 0;\n const branches = [];\n data.forEach(function (release) {\n const namecomponents = release.name.split('#');\n const branch = namecomponents[3];\n if (!branches.includes(branch)) {\n branches.push(branch);\n }\n });\n let fwb;\n branches.forEach(function (branch) {\n fwb += '';\n });\n $('#fwbranch').append(fwb);\n\n data.forEach(function (release) {\n let url = '';\n release.assets.forEach(function (asset) {\n if (asset.name.match(/\\.bin$/)) {\n url = asset.browser_download_url;\n }\n });\n const namecomponents = release.name.split('#');\n const ver = namecomponents[0];\n const idf = namecomponents[1];\n const cfg = namecomponents[2];\n const branch = namecomponents[3];\n\n let body = release.body;\n body = body.replace(/'/gi, '\"');\n body = body.replace(\n /[\\s\\S]+(### Revision Log[\\s\\S]+)### ESP-IDF Version Used[\\s\\S]+/,\n '$1'\n );\n body = body.replace(/- \\(.+?\\) /g, '- ');\n const trclass = i++ > 6 ? ' hide' : '';\n $('#releaseTable').append(\n \"\" +\n \"\" +\n ver +\n '' +\n '' +\n new Date(release.created_at).toLocalShort() +\n '' +\n '' +\n cfg +\n '' +\n '' +\n idf +\n '' +\n '' +\n branch +\n '' +\n \"\" +\n ''\n );\n });\n if (i > 7) {\n $('#releaseTable').append(\n \"\" +\n \"\" +\n \"\" +\n '' +\n ''\n );\n $('#showallbutton').on('click', function () {\n $('tr.hide').removeClass('hide');\n $('tr#showall').addClass('hide');\n });\n }\n $('#searchfw').css('display', 'inline');\n }).fail(function () {\n alert('failed to fetch release history!');\n });\n });\n\n $('#updateAP').on('click', function () {\n refreshAP();\n console.log('refresh AP');\n });\n\n // first time the page loads: attempt to get the connection status and start the wifi scan\n getConfig();\n getCommands();\n getMessages();\n checkStatus();\n\n});\n\n// eslint-disable-next-line no-unused-vars\nwindow.setURL = function (button) {\n let url = button.dataset.url;\n\n $('[data-bs-url^=\"http\"]')\n .addClass('btn-success')\n .removeClass('btn-danger');\n $('[data-bs-url=\"' + url + '\"]')\n .addClass('btn-danger')\n .removeClass('btn-success');\n\n // if user can proxy download through LMS, modify the URL\n if (lmsBaseUrl) {\n url = url.replace(/.*\\/download\\//, lmsBaseUrl + '/plugins/SqueezeESP32/firmware/');\n }\n\n $('#fwurl').val(url);\n}\n\n\nfunction rssiToIcon(rssi) {\n if (rssi >= -55) {\n return {'label':'****','icon':`signal_wifi_statusbar_4_bar`};\n } else if (rssi >= -60) {\n return {'label':'***','icon':`network_wifi_3_bar`};\n } else if (rssi >= -65) {\n return {'label':'**','icon':`network_wifi_2_bar`};\n } else if (rssi >= -70) {\n return {'label':'*','icon':`network_wifi_1_bar`};\n } else {\n return {'label':'.','icon':`signal_wifi_statusbar_null`};\n }\n}\n\nfunction refreshAP() {\n if (ConnectedTo?.urc === connectReturnCode.ETH) return;\n $.ajaxSetup({\n timeout: 3000 //Time in milliseconds\n });\n $.getJSON('/scan.json', async function () {\n await sleep(2000);\n $.getJSON('/ap.json', function (data) {\n if (data.length > 0) {\n // sort by signal strength\n data.sort(function (a, b) {\n const x = a.rssi;\n const y = b.rssi;\n // eslint-disable-next-line no-nested-ternary\n return x < y ? 1 : x > y ? -1 : 0;\n });\n apList = data;\n refreshAPHTML2(apList);\n\n }\n });\n });\n}\nfunction formatAP(ssid, rssi, auth) {\n const rssi_icon=rssiToIcon(rssi);\n const auth_icon={label:auth == 0 ? '🔓' : '🔒',icon:auth == 0 ? 'no_encryption' : 'lock'};\n \n return `${ssid}\n ${getIcon(rssi_icon)}\n \t\n ${getIcon(auth_icon)}\n `;\n}\nfunction refreshAPHTML2(data) {\n let h = '';\n $('#wifiTable tr td:first-of-type').text('');\n $('#wifiTable tr').removeClass('table-success table-warning');\n if (data) {\n data.forEach(function (e) {\n h += formatAP(e.ssid, e.rssi, e.auth);\n });\n $('#wifiTable').html(h);\n }\n if ($('.manual_add').length == 0) {\n $('#wifiTable').append(formatAP('Manual add', 0, 0));\n $('#wifiTable tr:last').addClass('table-light text-dark').addClass('manual_add');\n }\n if (ConnectedTo.ssid && (ConnectedTo.urc === connectReturnCode.OK || ConnectedTo.urc === connectReturnCode.RESTORE)) {\n const wifiSelector = `#wifiTable td:contains(\"${ConnectedTo.ssid}\")`;\n if ($(wifiSelector).filter(function () { return $(this).text() === ConnectedTo.ssid; }).length == 0) {\n $('#wifiTable').prepend(`${formatAP(ConnectedTo.ssid, ConnectedTo.rssi ?? 0, 0)}`);\n }\n $(wifiSelector).filter(function () { return $(this).text() === ConnectedTo.ssid; }).siblings().first().html('✓').parent().addClass((ConnectedTo.urc === connectReturnCode.OK ? 'table-success' : 'table-warning'));\n $('span#foot-if').html(`SSID: ${ConnectedTo.ssid}, IP: ${ConnectedTo.ip}`);\n $('#wifiStsIcon').html(rssiToIcon(ConnectedTo.rssi));\n\n }\n else if (ConnectedTo?.urc !== connectReturnCode.ETH) {\n $('span#foot-if').html('');\n }\n\n}\nfunction refreshETH() {\n\n if (ConnectedTo.urc === connectReturnCode.ETH) {\n $('span#foot-if').html(`Network: Ethernet, IP: ${ConnectedTo.ip}`);\n }\n}\nfunction showTask(task) {\n console.debug(\n this.toLocaleString() +\n '\\t' +\n task.nme +\n '\\t' +\n task.cpu +\n '\\t' +\n taskStates[task.st] +\n '\\t' +\n task.minstk +\n '\\t' +\n task.bprio +\n '\\t' +\n task.cprio +\n '\\t' +\n task.num\n );\n $('tbody#tasks').append(\n '' +\n task.num +\n '' +\n task.nme +\n '' +\n task.cpu +\n '' +\n taskStates[task.st] +\n '' +\n task.minstk +\n '' +\n task.bprio +\n '' +\n task.cprio +\n ''\n );\n}\nfunction btExists(name) {\n return getBTSinkOpt(name).length > 0;\n}\nfunction getBTSinkOpt(name) {\n return $(`${btSinkNamesOptSel} option:contains('${name}')`);\n}\nfunction getMessages() {\n $.ajaxSetup({\n timeout: messageInterval //Time in milliseconds\n });\n $.getJSON('/messages.json', async function (data) {\n for (const msg of data) {\n const msgAge = msg.current_time - msg.sent_time;\n var msgTime = new Date();\n msgTime.setTime(msgTime.getTime() - msgAge);\n switch (msg.class) {\n case 'MESSAGING_CLASS_OTA':\n flashState.EventOTAMessageClass(msg.message);\n break;\n case 'MESSAGING_CLASS_STATS':\n // for task states, check structure : task_state_t\n var statsData = JSON.parse(msg.message);\n console.debug(\n msgTime.toLocalShort() +\n ' - Number of running tasks: ' +\n statsData.ntasks\n );\n console.debug(\n msgTime.toLocalShort() +\n '\\tname' +\n '\\tcpu' +\n '\\tstate' +\n '\\tminstk' +\n '\\tbprio' +\n '\\tcprio' +\n '\\tnum'\n );\n if (statsData.tasks) {\n if ($('#tasks_sect').css('visibility') === 'collapse') {\n $('#tasks_sect').css('visibility', 'visible');\n }\n $('tbody#tasks').html('');\n statsData.tasks\n .sort(function (a, b) {\n return b.cpu - a.cpu;\n })\n .forEach(showTask, msgTime);\n } else if ($('#tasks_sect').css('visibility') === 'visible') {\n $('tbody#tasks').empty();\n $('#tasks_sect').css('visibility', 'collapse');\n }\n break;\n case 'MESSAGING_CLASS_SYSTEM':\n showMessage(msg, msgTime);\n break;\n case 'MESSAGING_CLASS_CFGCMD':\n var msgparts = msg.message.split(/([^\\n]*)\\n(.*)/gs);\n showCmdMessage(msgparts[1], msg.type, msgparts[2], true);\n break;\n case 'MESSAGING_CLASS_BT':\n if ($(\"#cfg-audio-bt_source-sink_name\").is('input')) {\n var attr = $(\"#cfg-audio-bt_source-sink_name\")[0].attributes;\n var attrs = '';\n for (var j = 0; j < attr.length; j++) {\n if (attr.item(j).name != \"type\") {\n attrs += `${attr.item(j).name} = \"${attr.item(j).value}\" `;\n }\n }\n var curOpt = $(\"#cfg-audio-bt_source-sink_name\")[0].value;\n $(\"#cfg-audio-bt_source-sink_name\").replaceWith(` `);\n }\n JSON.parse(msg.message).forEach(function (btEntry) {\n //\n // \n if (!btExists(btEntry.name)) {\n $(\"#cfg-audio-bt_source-sink_name\").append(``);\n showMessage({ type: msg.type, message: `BT Audio device found: ${btEntry.name} RSSI: ${btEntry.rssi} ` }, msgTime);\n }\n getBTSinkOpt(btEntry.name).attr('data-bs-description', `${btEntry.name} (${btEntry.rssi}dB)`)\n .attr('rssi', btEntry.rssi)\n .attr('value', btEntry.name)\n .text(`${btEntry.name} [${btEntry.rssi}dB]`).trigger('change');\n\n });\n $(btSinkNamesOptSel).append($(`${btSinkNamesOptSel} option`).remove().sort(function (a, b) {\n console.log(`${parseInt($(a).attr('rssi'))} < ${parseInt($(b).attr('rssi'))} ? `);\n return parseInt($(a).attr('rssi')) < parseInt($(b).attr('rssi')) ? 1 : -1;\n }));\n break;\n default:\n break;\n }\n }\n setTimeout(getMessages,messageInterval);\n }).fail(function (xhr, ajaxOptions, thrownError) {\n \n if (xhr.status == 404) {\n $('.orec').hide(); // system commands won't be available either\n messagesHeld = true;\n }\n else {\n handleExceptionResponse(xhr, ajaxOptions, thrownError);\n }\n if(xhr.status == 0 && xhr.readyState ==0){\n // probably a timeout. Target is rebooting? \n setTimeout(getMessages,messageInterval*2); // increase duration if a failure happens\n }\n else if(!messagesHeld){\n // 404 here means we rebooted to an old recovery\n setTimeout(getMessages,messageInterval); // increase duration if a failure happens\n }\n \n }\n );\n\n /*\n Minstk is minimum stack space left\nBprio is base priority\ncprio is current priority\nnme is name\nst is task state. I provided a \"typedef\" that you can use to convert to text\ncpu is cpu percent used\n*/\n}\nfunction handleRecoveryMode(data) {\n const locRecovery = data.recovery ?? 0;\n if (locRecovery === 1) {\n recovery = true;\n $('.recovery_element').show();\n $('.ota_element').hide();\n $('#boot-button').html('Reboot');\n $('#boot-form').attr('action', '/reboot_ota.json');\n } else {\n if(!recovery && messagesHeld){\n messagesHeld=false;\n setTimeout(getMessages,messageInterval); // increase duration if a failure happens\n }\n recovery = false;\n \n $('.recovery_element').hide();\n $('.ota_element').show();\n $('#boot-button').html('Recovery');\n $('#boot-form').attr('action', '/recovery.json');\n }\n \n}\n\nfunction hasConnectionChanged(data) {\n // gw: \"192.168.10.1\"\n // ip: \"192.168.10.225\"\n // netmask: \"255.255.255.0\"\n // ssid: \"MyTestSSID\"\n\n return (data.urc !== ConnectedTo.urc ||\n data.ssid !== ConnectedTo.ssid ||\n data.gw !== ConnectedTo.gw ||\n data.netmask !== ConnectedTo.netmask ||\n data.ip !== ConnectedTo.ip || data.rssi !== ConnectedTo.rssi)\n}\nfunction handleWifiDialog(data) {\n if ($('#WifiConnectDialog').is(':visible')) {\n if (ConnectedTo.ip) {\n $('#ipAddress').text(ConnectedTo.ip);\n }\n if (ConnectedTo.ssid) {\n $('#connectedToSSID').text(ConnectedTo.ssid);\n }\n if (ConnectedTo.gw) {\n $('#gateway').text(ConnectedTo.gw);\n }\n if (ConnectedTo.netmask) {\n $('#netmask').text(ConnectedTo.netmask);\n }\n if (ConnectingToSSID.Action === undefined || (ConnectingToSSID.Action && ConnectingToSSID.Action == ConnectingToActions.STS)) {\n $(\"*[class*='connecting']\").hide();\n $('.connecting-status').show();\n }\n if (SystemConfig.ap_ssid) {\n $('#apName').text(SystemConfig.ap_ssid.value);\n }\n if (SystemConfig.ap_pwd) {\n $('#apPass').text(SystemConfig.ap_pwd.value);\n }\n if (!data) {\n return;\n }\n else {\n switch (data.urc) {\n case connectReturnCode.OK:\n if (data.ssid && data.ssid === ConnectingToSSID.ssid) {\n $(\"*[class*='connecting']\").hide();\n $('.connecting-success').show();\n ConnectingToSSID.Action = ConnectingToActions.STS;\n }\n break;\n case connectReturnCode.FAIL:\n // \n if (ConnectingToSSID.Action != ConnectingToActions.STS && ConnectingToSSID.ssid == data.ssid) {\n $(\"*[class*='connecting']\").hide();\n $('.connecting-fail').show();\n }\n break;\n case connectReturnCode.LOST:\n\n break;\n case connectReturnCode.RESTORE:\n if (ConnectingToSSID.Action != ConnectingToActions.STS && ConnectingToSSID.ssid != data.ssid) {\n $(\"*[class*='connecting']\").hide();\n $('.connecting-fail').show();\n }\n break;\n case connectReturnCode.DISC:\n // that's a manual disconnect\n // if ($('#wifi-status').is(':visible')) {\n // $('#wifi-status').slideUp('fast', function() {});\n // $('span#foot-wifi').html('');\n\n // } \n break;\n default:\n break;\n }\n }\n\n }\n}\nfunction setIcons(offline){\n $('.material-icons').each(function (_index, entry) {\n entry.textContent = entry.attributes[offline?'aria-label':'icon'].value;\n });\n}\nfunction handleNetworkStatus(data) {\n setIcons(!isConnected());\n if (hasConnectionChanged(data) || !data.urc) {\n ConnectedTo = data;\n $(\".if_eth\").hide();\n $('.if_wifi').hide();\n if (!data.urc || ConnectedTo.urc != connectReturnCode.ETH) {\n $('.if_wifi').show();\n refreshAPHTML2();\n }\n else {\n $(\".if_eth\").show();\n refreshETH();\n }\n\n }\n handleWifiDialog(data);\n}\n\n\n\nfunction batteryToIcon(voltage) {\n /* Assuming Li-ion 18650s as a power source, 3.9V per cell, or above is treated\n as full charge (>75% of capacity). 3.4V is empty. The gauge is loosely\n following the graph here:\n https://learn.adafruit.com/li-ion-and-lipoly-batteries/voltages\n using the 0.2C discharge profile for the rest of the values.\n*/\n\n for (const iconEntry of batIcons) {\n for (const entryRanges of iconEntry.ranges) {\n if (inRange(voltage, entryRanges.f, entryRanges.t)) {\n return { label: iconEntry.label, icon:iconEntry.icon};\n }\n }\n }\n\n\n return {label:'▪▪▪▪',icon:\"battery_full\"};\n}\nfunction checkStatus() {\n $.ajaxSetup({\n timeout: statusInterval //Time in milliseconds\n });\n $.getJSON('/status.json', function (data) {\n handleRecoveryMode(data);\n handleNVSVisible();\n handleNetworkStatus(data);\n handlebtstate(data);\n flashState.EventTargetStatus(data);\n\n if (data.project_name && data.project_name !== '') {\n project_name = data.project_name;\n }\n if (data.platform_name && data.platform_name !== '') {\n platform_name = data.platform_name;\n }\n if (board_model === '') board_model = project_name;\n if (board_model === '') board_model = 'Squeezelite-ESP32';\n if (data.version && data.version !== '') {\n versionName = data.version;\n $(\"#navtitle\").html(`${board_model}${recovery ? '
[recovery]' : ''}`);\n $('span#foot-fw').html(`fw: ${versionName}, mode: ${recovery ? \"Recovery\" : project_name}`);\n } else {\n $('span#flash-status').html('');\n }\n if (data.Voltage) {\n const bat_icon=batteryToIcon(data.Voltage);\n $('#battery').html(`${getIcon(bat_icon)}`);\n $('#battery').attr(\"aria-label\",bat_icon.label);\n $('#battery').attr(\"icon\",bat_icon.icon);\n $('#battery').show();\n } else {\n $('#battery').hide();\n }\n if ((data.message ?? '') != '' && prevmessage != data.message) {\n // supporting older recovery firmwares - messages will come from the status.json structure\n prevmessage = data.message;\n showLocalMessage(data.message, 'MESSAGING_INFO')\n }\n is_i2c_locked = data.is_i2c_locked;\n if (is_i2c_locked) {\n $('flds-cfg-hw-preset').hide();\n }\n else {\n $('flds-cfg-hw-preset').show();\n }\n $(\"button[onclick*='handleReboot']\").removeClass('rebooting');\n\n if (typeof lmsBaseUrl == \"undefined\" || data.lms_ip != prevLMSIP && data.lms_ip && data.lms_port) {\n const baseUrl = 'http://' + data.lms_ip + ':' + data.lms_port;\n prevLMSIP = data.lms_ip;\n $.ajax({\n url: baseUrl + '/plugins/SqueezeESP32/firmware/-check.bin',\n type: 'HEAD',\n dataType: 'text',\n cache: false,\n error: function () {\n // define the value, so we don't check it any more.\n lmsBaseUrl = '';\n },\n success: function () {\n lmsBaseUrl = baseUrl;\n }\n });\n }\n $('#o_jack').css({ display: Number(data.Jack) ? 'inline' : 'none' });\n setTimeout(checkStatus,statusInterval);\n }).fail(function (xhr, ajaxOptions, thrownError) {\n handleExceptionResponse(xhr, ajaxOptions, thrownError);\n if(xhr.status == 0 && xhr.readyState ==0){\n // probably a timeout. Target is rebooting? \n setTimeout(checkStatus,messageInterval*2); // increase duration if a failure happens\n }\n else {\n setTimeout(checkStatus,messageInterval); // increase duration if a failure happens\n }\n });\n}\n// eslint-disable-next-line no-unused-vars\nwindow.runCommand = function (button, reboot) {\n let cmdstring = button.attributes.cmdname.value;\n showCmdMessage(\n button.attributes.cmdname.value,\n 'MESSAGING_INFO',\n 'Executing.',\n false\n );\n const fields = document.getElementById('flds-' + cmdstring);\n const allfields = fields?.querySelectorAll('select,input');\n if (cmdstring === 'cfg-hw-preset') return handleHWPreset(allfields, reboot);\n cmdstring += ' ';\n if (fields) {\n\n for (const field of allfields) {\n let qts = '';\n let opt = '';\n let attr = field.attributes;\n let isSelect = $(field).is('select');\n const hasValue = attr?.hasvalue?.value === 'true';\n const validVal = (isSelect && field.value !== '--') || (!isSelect && field.value !== '');\n\n if (!hasValue || hasValue && validVal) {\n if (attr?.longopts?.value !== 'undefined') {\n opt += '--' + attr?.longopts?.value;\n } else if (attr?.shortopts?.value !== 'undefined') {\n opt = '-' + attr.shortopts.value;\n }\n\n if (attr?.hasvalue?.value === 'true') {\n if (attr?.value !== '') {\n qts = /\\s/.test(field.value) ? '\"' : '';\n cmdstring += opt + ' ' + qts + field.value + qts + ' ';\n }\n } else {\n // this is a checkbox\n if (field?.checked) {\n cmdstring += opt + ' ';\n }\n }\n }\n }\n }\n\n console.log(cmdstring);\n\n const data = {\n timestamp: Date.now(),\n };\n data.command = cmdstring;\n\n $.ajax({\n url: '/commands.json',\n dataType: 'text',\n method: 'POST',\n cache: false,\n contentType: 'application/json; charset=utf-8',\n data: JSON.stringify(data),\n error: function (xhr, _ajaxOptions, thrownError) {\n var cmd = JSON.parse(this.data).command;\n if (xhr.status == 404) {\n showCmdMessage(\n cmd.substr(0, cmd.indexOf(' ')),\n 'MESSAGING_ERROR',\n `${recovery ? 'Limited recovery mode active. Unsupported action ' : 'Unexpected error while processing command'}`,\n true\n );\n }\n else {\n handleExceptionResponse(xhr, _ajaxOptions, thrownError);\n showCmdMessage(\n cmd.substr(0, cmd.indexOf(' ') - 1),\n 'MESSAGING_ERROR',\n `Unexpected error ${(thrownError !== '') ? thrownError : 'with return status = ' + xhr.status}`,\n true\n );\n }\n },\n success: function (response) {\n $('.orec').show();\n console.log(response);\n if (\n JSON.parse(response).Result === 'Success' &&\n reboot\n ) {\n delayReboot(2500, button.attributes.cmdname.value);\n }\n },\n });\n}\nfunction getLongOps(data, name, longopts) {\n return data.values[name] !== undefined ? data.values[name][longopts] : \"\";\n}\nfunction getCommands() {\n $.ajaxSetup({\n timeout: 7000 //Time in milliseconds\n });\n $.getJSON('/commands.json', function (data) {\n console.log(data);\n $('.orec').show();\n data.commands.forEach(function (command) {\n if ($('#flds-' + command.name).length === 0) {\n const cmdParts = command.name.split('-');\n const isConfig = cmdParts[0] === 'cfg';\n const targetDiv = '#tab-' + cmdParts[0] + '-' + cmdParts[1];\n let innerhtml = '';\n innerhtml += `
${command.help.encodeHTML().replace(/\\n/g, '
')}
`;\n if (command.argtable) {\n command.argtable.forEach(function (arg) {\n let placeholder = arg.datatype || '';\n const ctrlname = command.name + '-' + arg.longopts;\n const curvalue = getLongOps(data, command.name, arg.longopts);\n\n let attributes = 'hasvalue=' + arg.hasvalue + ' ';\n attributes += 'longopts=\"' + arg.longopts + '\" ';\n attributes += 'shortopts=\"' + arg.shortopts + '\" ';\n attributes += 'checkbox=' + arg.checkbox + ' ';\n attributes += 'cmdname=\"' + command.name + '\" ';\n attributes +=\n 'id=\"' +\n ctrlname +\n '\" name=\"' +\n ctrlname +\n '\" hasvalue=\"' +\n arg.hasvalue +\n '\" ';\n let extraclass = arg.mincount > 0 ? 'bg-success' : '';\n if (arg.glossary === 'hidden') {\n attributes += ' style=\"visibility: hidden;\"';\n }\n if (arg.checkbox) {\n innerhtml += `
`;\n } else {\n innerhtml += `
`;\n if (placeholder.includes('|')) {\n extraclass = placeholder.startsWith('+') ? ' multiple ' : '';\n placeholder = placeholder\n .replace('<', '')\n .replace('=', '')\n .replace('>', '');\n innerhtml += `';\n } else {\n innerhtml += ``;\n }\n }\n\n innerhtml += `${arg.checkbox ? '
' : ''}Previous value: ${arg.checkbox ? (curvalue ? 'Checked' : 'Unchecked') : (curvalue || '')}${arg.checkbox ? '' : '
'}`;\n });\n }\n innerhtml += `
\n
\n
\n Result\n
\n
\n
`;\n if (isConfig) {\n innerhtml +=\n `\n`;\n } else {\n innerhtml += ``;\n }\n innerhtml += '
';\n if (isConfig) {\n $(targetDiv).append(innerhtml);\n } else {\n $('#commands-list').append(innerhtml);\n }\n }\n });\n $(\".sclk\").off('click').on('click', function () { runCommand(this, false); });\n $(\".cclk\").off('click').on('click', function () { runCommand(this, true); });\n data.commands.forEach(function (command) {\n $('[cmdname=' + command.name + ']:input').val('');\n $('[cmdname=' + command.name + ']:checkbox').prop('checked', false);\n if (command.argtable) {\n command.argtable.forEach(function (arg) {\n const ctrlselector = '#' + command.name + '-' + arg.longopts;\n const ctrlValue = getLongOps(data, command.name, arg.longopts);\n if (arg.checkbox) {\n $(ctrlselector)[0].checked = ctrlValue;\n } else {\n if (ctrlValue !== undefined) {\n $(ctrlselector)\n .val(ctrlValue)\n .trigger('change');\n }\n if (\n $(ctrlselector)[0].value.length === 0 &&\n (arg.datatype || '').includes('|')\n ) {\n $(ctrlselector)[0].value = '--';\n }\n }\n });\n }\n });\n loadPresets();\n }).fail(function (xhr, ajaxOptions, thrownError) {\n if (xhr.status == 404) {\n $('.orec').hide();\n }\n else {\n handleExceptionResponse(xhr, ajaxOptions, thrownError);\n }\n $('#commands-list').empty();\n\n });\n}\n\nfunction getConfig() {\n $.ajaxSetup({\n timeout: 7000 //Time in milliseconds\n });\n $.getJSON('/config.json', function (entries) {\n $('#nvsTable tr').remove();\n const data = (entries.config ? entries.config : entries);\n SystemConfig = data;\n Object.keys(data)\n .sort()\n .forEach(function (key) {\n let val = data[key].value;\n if (key === 'autoexec') {\n if (data.autoexec.value === '0') {\n $('#disable-squeezelite')[0].checked = true;\n } else {\n $('#disable-squeezelite')[0].checked = false;\n }\n } else if (key === 'autoexec1') {\n const re = /-o\\s?([\"][^\"]*[\"]|[^-]+)/g;\n const m = re.exec(val);\n if (m[1].toUpperCase().startsWith('I2S')) {\n handleTemplateTypeRadio('i2s');\n } else if (m[1].toUpperCase().startsWith('SPDIF')) {\n handleTemplateTypeRadio('spdif');\n } else if (m[1].toUpperCase().startsWith('\"BT')) {\n handleTemplateTypeRadio('bt');\n }\n } else if (key === 'host_name') {\n val = val.replaceAll('\"', '');\n $('input#dhcp-name1').val(val);\n $('input#dhcp-name2').val(val);\n $('#player').val(val);\n document.title = val;\n hostName = val;\n } else if (key === 'rel_api') {\n releaseURL = val;\n }\n else if (key === 'enable_airplay') {\n $(\"#s_airplay\").css({ display: isEnabled(val) ? 'inline' : 'none' })\n }\n else if (key === 'enable_cspot') {\n $(\"#s_cspot\").css({ display: isEnabled(val) ? 'inline' : 'none' })\n }\n else if (key == 'preset_name') {\n preset_name = val;\n }\n else if (key == 'board_model') {\n board_model = val;\n }\n\n $('tbody#nvsTable').append(\n '' +\n '' +\n key +\n '' +\n \"\" +\n \"' +\n '' +\n ''\n );\n $('input#' + key).val(data[key].value);\n });\n $('tbody#nvsTable').append(\n \"\"\n );\n if (entries.gpio) {\n $('#pins').show();\n $('tbody#gpiotable tr').remove();\n entries.gpio.forEach(function (gpioEntry) {\n $('tbody#gpiotable').append(\n '' +\n gpioEntry.group +\n '' +\n gpioEntry.name +\n '' +\n gpioEntry.gpio +\n '' +\n (gpioEntry.fixed ? 'Fixed' : 'Configuration') +\n ''\n );\n });\n }\n else {\n $('#pins').hide();\n }\n }).fail(function (xhr, ajaxOptions, thrownError) {\n handleExceptionResponse(xhr, ajaxOptions, thrownError);\n });\n}\nfunction showLocalMessage(message, severity) {\n const msg = {\n message: message,\n type: severity,\n };\n showMessage(msg, new Date());\n}\n\nfunction showMessage(msg, msgTime) {\n let color = 'table-success';\n\n if (msg.type === 'MESSAGING_WARNING') {\n color = 'table-warning';\n if (messageseverity === 'MESSAGING_INFO') {\n messageseverity = 'MESSAGING_WARNING';\n }\n } else if (msg.type === 'MESSAGING_ERROR') {\n if (\n messageseverity === 'MESSAGING_INFO' ||\n messageseverity === 'MESSAGING_WARNING'\n ) {\n messageseverity = 'MESSAGING_ERROR';\n }\n color = 'table-danger';\n }\n if (++messagecount > 0) {\n $('#msgcnt').removeClass('badge-success');\n $('#msgcnt').removeClass('badge-warning');\n $('#msgcnt').removeClass('badge-danger');\n $('#msgcnt').addClass(pillcolors[messageseverity]);\n $('#msgcnt').text(messagecount);\n }\n\n $('#syslogTable').append(\n \"\" +\n '' +\n msgTime.toLocalShort() +\n '' +\n '' +\n msg.message.encodeHTML() +\n '' +\n ''\n );\n}\n\nfunction inRange(x, min, max) {\n return (x - min) * (x - max) <= 0;\n}\n\nfunction sleep(ms) {\n return new Promise(resolve => setTimeout(resolve, ms));\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nrequire(\"bootstrap\");\nrequire(\"./sass/main.scss\");\nrequire(\"./assets/images/favicon-32x32.png\");\nrequire(\"./js/custom.js\");\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t826: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunksqueezelite_esp32\"] = self[\"webpackChunksqueezelite_esp32\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [987], () => (__webpack_require__(607)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","he","require","Promise","handleNVSVisible","nvs_previous_checked","isEnabled","Cookies","$","checked","recovery","show","hide","val","undefined","match","window","bootstrap","String","prototype","format","Object","assign","args","arguments","this","replace","number","encodeHTML","encode","Date","toLocalShort","toLocaleString","dateStyle","timeStyle","nvsTypes","btIcons","bt_playing","bt_disconnected","bt_neutral","bt_connecting","bt_connected","bt_disabled","play_arrow","pause","stop","batIcons","icon","label","ranges","f","t","btStateIcons","desc","sub","pillcolors","MESSAGING_INFO","MESSAGING_WARNING","MESSAGING_ERROR","connectReturnCode","taskStates","flashState","NONE","REBOOT_TO_RECOVERY","SET_FWURL","FLASHING","DONE","UPLOADING","ERROR","UPLOADCOMPLETE","_state","olderRecovery","statusText","flashURL","flashFileName","statusPercent","Completed","prevRecovery","updateModal","Modal","document","getElementById","reset","UpdateProgress","removeClass","prop","value","isStateError","html","parent","isStateUploadComplete","isStateNone","isStateRebootRecovery","isStateSetUrl","isStateFlashing","isStateDone","isStateUploading","init","SetStateError","addClass","SetStateNone","SetStateRebootRecovery","SetStatusText","ajax","url","context","dataType","method","cache","contentType","data","JSON","stringify","timestamp","now","error","xhr","_ajaxOptions","thrownError","setOTAError","status","complete","response","SetStateSetUrl","post_config","fwurl","type","SetStateFlashing","SetStateDone","SetStateUploading","SetStateUploadComplete","isFlashExecuting","toString","keys","find","x","setOTATargets","fileInput","files","length","message","SetStatusPercent","ShowDialog","pct","pctChanged","txt","changed","css","attr","text","StartOTA","logEvent","name","TargetReadyStartOTA","UploadLocalFile","xhttp","XMLHttpRequest","boundHandleUploadProgressEvent","HandleUploadProgressEvent","bind","boundsetOTAError","upload","addEventListener","onreadystatechange","readyState","open","send","console","Math","round","loaded","total","EventTargetStatus","ota_pct","ota_dsc","EventOTAMessageClass","otaData","parse","fun","log","hideSurrounding","obj","presetsloaded","messageInterval","confPayload","config","handleExceptionResponse","isConnected","ConnectedTo","hasOwnProperty","ip","getIcon","icons","handleTemplateTypeRadio","outtype","children","display","output","showLocalMessage","HideCmdMessage","cmdname","showCmdMessage","msgtype","msgtext","append","color","escapedtext","substring","hFlash","handleReboot","link","delayReboot","lmsBaseUrl","releaseURL","messagesHeld","messagecount","messageseverity","SystemConfig","LastCommandsState","hostName","versionName","prevmessage","project_name","board_model","platform_name","preset_name","btSinkNamesOptSel","ConnectingToSSID","prevLMSIP","ConnectingToActions","getConfigJson","slimMode","each","_index","entry","id","nvsType","parseInt","attributes","nvs_type","key","duration","ota","empty","resolve","delay","then","rdata","getCommands","getConfig","setPlatformFilter","filter","toUpperCase","trigger","rssiToIcon","rssi","refreshAP","urc","ajaxSetup","timeout","getJSON","sleep","sort","a","b","y","refreshAPHTML2","formatAP","ssid","auth","rssi_icon","auth_icon","h","forEach","e","wifiSelector","prepend","siblings","first","showTask","task","debug","nme","cpu","st","minstk","bprio","cprio","num","getBTSinkOpt","getMessages","msg","msgAge","current_time","sent_time","msgTime","setTime","getTime","statsData","ntasks","tasks","showMessage","msgparts","split","is","attrs","j","item","curOpt","replaceWith","btEntry","remove","setTimeout","fail","ajaxOptions","handleWifiDialog","gw","netmask","Action","ap_ssid","ap_pwd","setIcons","offline","textContent","handleNetworkStatus","hasConnectionChanged","checkStatus","handleRecoveryMode","tt","bt_status","bt_sub_status","iconindex","handlebtstate","version","Voltage","bat_icon","voltage","iconEntry","entryRanges","batteryToIcon","is_i2c_locked","lms_ip","lms_port","baseUrl","success","Number","Jack","getLongOps","longopts","values","commands","command","cmdParts","isConfig","targetDiv","innerhtml","help","argtable","arg","placeholder","datatype","ctrlname","curvalue","hasvalue","shortopts","checkbox","extraclass","mincount","glossary","includes","startsWith","choice","off","on","runCommand","ctrlselector","ctrlValue","_","jqxhr","textStatus","err","entries","autoexec","m","exec","replaceAll","title","gpio","gpioEntry","fixed","group","severity","ms","reason","_resolve","reject","saveAutoexec1","apply","commandLine","commandHeader","autoexec1","responseText","result","Result","handleDisconnect","handleConnect","pwd","dhcpname","ready","index","not","event","relatedTarget","FileReader","file","fr","onload","target","ex","alert","readAsText","slideUp","slideDown","preventDefault","createElement","href","URL","createObjectURL","Blob","setAttribute","body","appendChild","click","removeChild","branches","release","branch","push","fwb","assets","asset","browser_download_url","namecomponents","ver","cfg","bits","substr","lastIndexOf","created_at","i","idf","trclass","setURL","button","dataset","reboot","cmdstring","fields","allfields","querySelectorAll","selJson","cmd","model_config","storedval","handleHWPreset","field","qts","opt","isSelect","hasValue","validVal","test","indexOf","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","module","__webpack_modules__","call","O","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","every","splice","r","n","getter","__esModule","d","definition","o","defineProperty","enumerable","get","g","globalThis","Function","Symbol","toStringTag","nmd","paths","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/components/wifi-manager/webapp/dist/js/index.9d3dbc.bundle.js b/components/wifi-manager/webapp/dist/js/index.9d3dbc.bundle.js new file mode 100644 index 00000000..83b61ed6 --- /dev/null +++ b/components/wifi-manager/webapp/dist/js/index.9d3dbc.bundle.js @@ -0,0 +1,2 @@ +(()=>{"use strict";var t,e={322:(t,e,n)=>{n.r(e);var a=n(531),s=n(152),o=n(687),i=n.n(o),r=n(955),c=n(755);function l(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(!t)return;if("string"==typeof t)return u(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return u(t,e)}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var a=0,s=function(){};return{s,n:function(){return a>=t.length?{done:!0}:{done:!1,value:t[a++]}},e:function(t){throw t},f:s}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,r=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return i=t.done,t},e:function(t){r=!0,o=t},f:function(){try{i||null==n.return||n.return()}finally{if(r)throw o}}}}function u(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,a=new Array(e);n")}}),Object.assign(Date.prototype,{toLocalShort:function(){return this.toLocaleString(void 0,{dateStyle:"short",timeStyle:"short"})}});var m=1,b=17,g=2,v=18,S=4,y=20,_=8,w=24,T={bt_playing:{label:"",icon:"media_bluetooth_on"},bt_disconnected:{label:"",icon:"media_bluetooth_off"},bt_neutral:{label:"",icon:"bluetooth"},bt_connecting:{label:"",icon:"bluetooth_searching"},bt_connected:{label:"",icon:"bluetooth_connected"},bt_disabled:{label:"",icon:"bluetooth_disabled"},play_arrow:{label:"",icon:"play_circle_filled"},pause:{label:"",icon:"pause_circle"},stop:{label:"",icon:"stop_circle"},"":{label:"",icon:""}},E=[{icon:"battery_0_bar",label:"▪",ranges:[{f:5.8,t:6.8},{f:8.8,t:10.2}]},{icon:"battery_2_bar",label:"▪▪",ranges:[{f:6.8,t:7.4},{f:10.2,t:11.1}]},{icon:"battery_3_bar",label:"▪▪▪",ranges:[{f:7.4,t:7.5},{f:11.1,t:11.25}]},{icon:"battery_4_bar",label:"▪▪▪▪",ranges:[{f:7.5,t:7.8},{f:11.25,t:11.7}]}],A=[{desc:"Idle",sub:["bt_neutral"]},{desc:"Discovering",sub:["bt_connecting"]},{desc:"Discovered",sub:["bt_connecting"]},{desc:"Unconnected",sub:["bt_disconnected"]},{desc:"Connecting",sub:["bt_connecting"]},{desc:"Connected",sub:["bt_connected","play_arrow","bt_playing","pause","stop"]},{desc:"Disconnecting",sub:["bt_disconnected"]}],O={MESSAGING_INFO:"badge-success",MESSAGING_WARNING:"badge-warning",MESSAGING_ERROR:"badge-danger"},N={OK:0,FAIL:1,DISC:2,LOST:3,RESTORE:4,ETH:5},k={0:"eRunning",1:"eReady",2:"eBlocked",3:"eSuspended",4:"eDeleted"},x={NONE:0,REBOOT_TO_RECOVERY:2,SET_FWURL:5,FLASHING:6,DONE:7,UPLOADING:8,ERROR:9,UPLOADCOMPLETE:10,_state:-1,olderRecovery:!1,statusText:"",flashURL:"",flashFileName:"",statusPercent:0,Completed:!1,recovery:!1,prevRecovery:!1,updateModal:new bootstrap.Modal(document.getElementById("otadiv"),{}),reset:function(){return this.olderRecovery=!1,this.statusText="",this.statusPercent=-1,this.flashURL="",this.flashFileName=void 0,this.UpdateProgress(),c("#rTable tr.release").removeClass("table-success table-warning"),c(".flact").prop("disabled",!1),c("#flashfilename").value=null,c("#fw-url-input").value=null,this.isStateError()||(c("span#flash-status").html(""),c("#fwProgressLabel").parent().removeClass("bg-danger")),this._state=this.NONE,this},isStateUploadComplete:function(){return this._state==this.UPLOADCOMPLETE},isStateError:function(){return this._state==this.ERROR},isStateNone:function(){return this._state==this.NONE},isStateRebootRecovery:function(){return this._state==this.REBOOT_TO_RECOVERY},isStateSetUrl:function(){return this._state==this.SET_FWURL},isStateFlashing:function(){return this._state==this.FLASHING},isStateDone:function(){return this._state==this.DONE},isStateUploading:function(){return this._state==this.UPLOADING},init:function(){return this._state=this.NONE,this},SetStateError:function(){return this._state=this.ERROR,c("#fwProgressLabel").parent().addClass("bg-danger"),this},SetStateNone:function(){return this._state=this.NONE,this},SetStateRebootRecovery:function(){return this._state=this.REBOOT_TO_RECOVERY,this.SetStatusText("Starting recovery mode."),c.ajax({url:"/recovery.json",context:this,dataType:"text",method:"POST",cache:!1,contentType:"application/json; charset=utf-8",data:JSON.stringify({timestamp:Date.now()}),error:function(t,e,n){var a;this.setOTAError("Unexpected error while trying to restart to recovery. (status=".concat(null!==(a=t.status)&&void 0!==a?a:"",", error=").concat(null!=n?n:""," ) "))},complete:function(t){this.SetStatusText("Waiting for system to boot.")}}),this},SetStateSetUrl:function(){return this._state=this.SET_FWURL,this.statusText="Sending firmware download location.",I({fwurl:{value:this.flashURL,type:33}}),this},SetStateFlashing:function(){return this._state=this.FLASHING,this},SetStateDone:function(){return this._state=this.DONE,this.reset(),this},SetStateUploading:function(){return this._state=this.UPLOADING,this.SetStatusText("Sending file to device.")},SetStateUploadComplete:function(){return this._state=this.UPLOADCOMPLETE,this},isFlashExecuting:function(){return!0==(this._state!=this.UPLOADING&&(""!==this.statusText||this.statusPercent>=0))},toString:function(){var t=this;return Object.keys(this).find((function(e){return t[e]===t._state}))},setOTATargets:function(){this.flashURL="",this.flashFileName="",this.flashURL=c("#fw-url-input").val();var t=c("#flashfilename")[0].files;return t.length>0&&(this.flashFileName=t[0]),0==this.flashFileName.length&&0==this.flashURL.length&&this.setOTAError("Invalid url or file. Cannot start OTA"),this},setOTAError:function(t){return this.SetStateError().SetStatusPercent(0).SetStatusText(t).reset(),this},ShowDialog:function(){return this.isStateNone()||(this.updateModal.show(),c(".flact").prop("disabled",!0)),this},SetStatusPercent:function(t){var e=this.statusPercent!=t;return this.statusPercent=t,e&&(this.isStateUploading()||this.isStateFlashing()||this.SetStateFlashing(),100==t&&(this.isStateFlashing()?this.SetStateDone():this.isStateUploading()&&(this.statusPercent=0,this.SetStateFlashing())),this.UpdateProgress().ShowDialog()),this},SetStatusText:function(t){var e=this.statusText!=t;return this.statusText=t,e&&(c("span#flash-status").html(this.statusText),this.ShowDialog()),this},UpdateProgress:function(){return c(".progress-bar").css("width",this.statusPercent+"%").attr("aria-valuenow",this.statusPercent).text(this.statusPercent+"%"),c(".progress-bar").html((this.isStateDone()?100:this.statusPercent)+"%"),this},StartOTA:function(){return this.logEvent(this.StartOTA.name),c("#fwProgressLabel").parent().removeClass("bg-danger"),this.setOTATargets(),this.isStateError()||(F?this.SetStateFlashing().TargetReadyStartOTA():this.SetStateRebootRecovery()),this},UploadLocalFile:function(){this.SetStateUploading();var t=new XMLHttpRequest;t.context=this;var e=this.HandleUploadProgressEvent.bind(this),n=this.setOTAError.bind(this);t.upload.addEventListener("progress",e,!1),t.onreadystatechange=function(){4===t.readyState&&(0!==t.status&&404!==t.status||n("Upload Failed. Recovery version might not support uploading. Please use web update instead."))},t.open("POST","/flash.json",!0),t.send(this.flashFileName)},TargetReadyStartOTA:function(){return F&&this.prevRecovery&&!this.isStateRebootRecovery()&&!this.isStateFlashing()?this:(this.logEvent(this.TargetReadyStartOTA.name),F?(this.prevRecovery=!0,void(""!==this.flashFileName?this.UploadLocalFile():""!=this.flashURL?this.SetStateSetUrl():this.setOTAError("Invalid URL or file name while trying to start the OTa process"))):(console.error("Event TargetReadyStartOTA fired in the wrong mode "),this))},HandleUploadProgressEvent:function(t){this.logEvent(this.HandleUploadProgressEvent.name),this.SetStateUploading().SetStatusPercent(Math.round(t.loaded/t.total*100)).SetStatusText("Uploading file to device")},EventTargetStatus:function(t){var e,n;this.isStateNone()||this.logEvent(this.EventTargetStatus.name),null!==(e=t.ota_pct)&&void 0!==e&&e&&(this.olderRecovery=!0,this.SetStatusPercent(t.ota_pct)),""!=(null!==(n=t.ota_dsc)&&void 0!==n?n:"")&&(this.olderRecovery=!0,this.SetStatusText(t.ota_dsc)),null!=t.recovery&&(this.recovery=1===t.recovery),this.isStateRebootRecovery()&&this.recovery&&this.TargetReadyStartOTA()},EventOTAMessageClass:function(t){this.logEvent(this.EventOTAMessageClass.name);var e=JSON.parse(t);this.SetStatusPercent(e.ota_pct).SetStatusText(e.ota_dsc)},logEvent:function(t){console.log("".concat(t,", flash state ").concat(this.toString(),", recovery: ").concat(this.recovery,", ota pct: ").concat(this.statusPercent,", ota desc: ").concat(this.statusText))}};window.hideSurrounding=function(t){c(t).parent().parent().hide()};var R=!1,C=2500;function I(t){var e={timestamp:Date.now(),config:t};c.ajax({url:"/config.json",dataType:"text",method:"POST",cache:!1,contentType:"application/json; charset=utf-8",data:JSON.stringify(e),error:j})}function G(){return et.hasOwnProperty("ip")&&"0.0.0.0"!=et.ip&&""!=et.ip}function M(t){return G()?t.icon:t.label}function P(t){c("#o_type").children("span").css({display:"none"}),c("#"+(Y="bt"===t?"bt":"spdif"===t?"spdif":"i2s")).prop("checked",!0),c("#o_"+Y).css({display:"inline"})}function j(t,e,n){console.log(t.status),console.log(n),""!==n&&wt(n,"MESSAGING_ERROR")}function U(t,e,n){var a=arguments.length>3&&void 0!==arguments[3]&&arguments[3],s="table-success";"MESSAGING_WARNING"===e?s="table-warning":"MESSAGING_ERROR"===e&&(s="table-danger"),c("#toast_"+t).removeClass("table-success").removeClass("table-warning").removeClass("table-danger").addClass(s).addClass("show");var o=n.substring(0,n.length-1).encodeHTML().replace(/\n/g,"
");o=(c("#msg_"+t).html().length>0&&a?c("#msg_"+t).html()+"
":"")+o,c("#msg_"+t).html(o)}window.hFlash=function(){c("#flashfilename").value=null,x.StartOTA()},window.handleReboot=function(t){"reboot_ota"==t?(c("#reboot_ota_nav").removeClass("active").prop("disabled",!0),it(500,"","reboot_ota")):(c("#reboot_nav").removeClass("active"),it(500,"",t))};var L,D="https://api.github.com/repos/sle118/squeezelite-esp32/releases",F=!1,J=!1,W=0,H="MESSAGING_INFO",B={},q=null,Y="",z="",V="Squeezelite-ESP32",Z="",K=V,Q="",X=V,$="",tt="#cfg-audio-bt_source-sink_name",et={},nt={},at="",st={CONN:0,MAN:1,STS:2};function ot(t){var e={};c("input.nvs").each((function(n,a){if(t)e[a.id]=a.value;else{var s=parseInt(a.attributes.nvs_type.value,10);""!==a.id&&(e[a.id]={},e[a.id].value=s===m||s===b||s===g||s===v||s===S||s===y||s===_||s===w?parseInt(a.value):a.value,e[a.id].type=s)}}));var n=c("#nvs-new-key").val(),a=c("#nvs-new-value").val();return""!==n&&(t?e[n]=a:(e[n]={},e[n].value=a,e[n].type=33)),e}function it(t,e){var n="/"+(arguments.length>2&&void 0!==arguments[2]?arguments[2]:"reboot")+".json";c("tbody#tasks").empty(),c("#tasks_sect").css("visibility","collapse"),h.resolve({cmdname:e,url:n}).delay(t).then((function(t){t.cmdname.length>0?U(t.cmdname,"MESSAGING_WARNING","System is rebooting.\n",!0):wt("System is rebooting.\n","MESSAGING_WARNING"),console.log("now triggering reboot"),c("button[onclick*='handleReboot']").addClass("rebooting"),c.ajax({url:t.url,dataType:"text",method:"POST",cache:!1,contentType:"application/json; charset=utf-8",data:JSON.stringify({timestamp:Date.now()}),error:j,complete:function(){console.log("reboot call completed"),h.resolve(t).delay(6e3).then((function(t){t.cmdname.length>0&&function(t){c("#toast_"+t).removeClass("table-success").removeClass("table-warning").removeClass("table-danger").addClass("table-success").removeClass("show"),c("#msg_"+t).html("")}(t.cmdname),yt(),_t()}))}})}))}function rt(t){return c(".upf").filter((function(){return c(this).text().toUpperCase()===t.toUpperCase()})).length>0&&(c("#splf").val(t).trigger("input"),!0)}function ct(t){return t>=-55?{label:"****",icon:"signal_wifi_statusbar_4_bar"}:t>=-60?{label:"***",icon:"network_wifi_3_bar"}:t>=-65?{label:"**",icon:"network_wifi_2_bar"}:t>=-70?{label:"*",icon:"network_wifi_1_bar"}:{label:".",icon:"signal_wifi_statusbar_null"}}function lt(){var t;(null===(t=et)||void 0===t?void 0:t.urc)!==N.ETH&&(c.ajaxSetup({timeout:3e3}),c.getJSON("/scan.json",(0,a.Z)(i().mark((function t(){return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,Et(2e3);case 2:c.getJSON("/ap.json",(function(t){t.length>0&&(t.sort((function(t,e){var n=t.rssi,a=e.rssi;return na?-1:0})),dt(t))}));case 3:case"end":return t.stop()}}),t)})))))}function ut(t,e,n){var a=ct(e),s={label:0==n?"🔓":"🔒",icon:0==n?"no_encryption":"lock"};return''.concat(t,'\n ').concat(M(a),'\n \t\n ').concat(M(s),"\n ")}function dt(t){var e,n="";if(c("#wifiTable tr td:first-of-type").text(""),c("#wifiTable tr").removeClass("table-success table-warning"),t&&(t.forEach((function(t){n+=ut(t.ssid,t.rssi,t.auth)})),c("#wifiTable").html(n)),0==c(".manual_add").length&&(c("#wifiTable").append(ut("Manual add",0,0)),c("#wifiTable tr:last").addClass("table-light text-dark").addClass("manual_add")),!et.ssid||et.urc!==N.OK&&et.urc!==N.RESTORE)(null===(e=et)||void 0===e?void 0:e.urc)!==N.ETH&&c("span#foot-if").html("");else{var a,s='#wifiTable td:contains("'.concat(et.ssid,'")');if(0==c(s).filter((function(){return c(this).text()===et.ssid})).length)c("#wifiTable").prepend("".concat(ut(et.ssid,null!==(a=et.rssi)&&void 0!==a?a:0,0)));c(s).filter((function(){return c(this).text()===et.ssid})).siblings().first().html("✓").parent().addClass(et.urc===N.OK?"table-success":"table-warning"),c("span#foot-if").html("SSID: ".concat(et.ssid,", IP: ").concat(et.ip,"")),c("#wifiStsIcon").html(ct(et.rssi))}}function ht(t){console.debug(this.toLocaleString()+"\t"+t.nme+"\t"+t.cpu+"\t"+k[t.st]+"\t"+t.minstk+"\t"+t.bprio+"\t"+t.cprio+"\t"+t.num),c("tbody#tasks").append(''+t.num+""+t.nme+""+t.cpu+""+k[t.st]+""+t.minstk+""+t.bprio+""+t.cprio+"")}function pt(t){return c("".concat(tt," option:contains('").concat(t,"')"))}function ft(){c.ajaxSetup({timeout:C}),c.getJSON("/messages.json",function(){var t=(0,a.Z)(i().mark((function t(e){var n,a,s,o,r,u,d,h,p,f;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:n=l(e),t.prev=1,s=i().mark((function t(){var e,n;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:e=a.value,n=e.current_time-e.sent_time,(o=new Date).setTime(o.getTime()-n),t.t0=e.class,t.next="MESSAGING_CLASS_OTA"===t.t0?7:"MESSAGING_CLASS_STATS"===t.t0?9:"MESSAGING_CLASS_SYSTEM"===t.t0?14:"MESSAGING_CLASS_CFGCMD"===t.t0?16:"MESSAGING_CLASS_BT"===t.t0?19:23;break;case 7:return x.EventOTAMessageClass(e.message),t.abrupt("break",24);case 9:return r=JSON.parse(e.message),console.debug(o.toLocalShort()+" - Number of running tasks: "+r.ntasks),console.debug(o.toLocalShort()+"\tname\tcpu\tstate\tminstk\tbprio\tcprio\tnum"),r.tasks?("collapse"===c("#tasks_sect").css("visibility")&&c("#tasks_sect").css("visibility","visible"),c("tbody#tasks").html(""),r.tasks.sort((function(t,e){return e.cpu-t.cpu})).forEach(ht,o)):"visible"===c("#tasks_sect").css("visibility")&&(c("tbody#tasks").empty(),c("#tasks_sect").css("visibility","collapse")),t.abrupt("break",24);case 14:return Tt(e,o),t.abrupt("break",24);case 16:return U((u=e.message.split(/([^\n]*)\n([\s\S]*)/g))[1],e.type,u[2],!0),t.abrupt("break",24);case 19:if(c("#cfg-audio-bt_source-sink_name").is("input")){for(d=c("#cfg-audio-bt_source-sink_name")[0].attributes,h="",p=0;p "))}return JSON.parse(e.message).forEach((function(t){pt(t.name).length>0||(c("#cfg-audio-bt_source-sink_name").append("")),Tt({type:e.type,message:"BT Audio device found: ".concat(t.name," RSSI: ").concat(t.rssi," ")},o)),pt(t.name).attr("data-bs-description","".concat(t.name," (").concat(t.rssi,"dB)")).attr("rssi",t.rssi).attr("value",t.name).text("".concat(t.name," [").concat(t.rssi,"dB]")).trigger("change")})),c(tt).append(c("".concat(tt," option")).remove().sort((function(t,e){return console.log("".concat(parseInt(c(t).attr("rssi"))," < ").concat(parseInt(c(e).attr("rssi"))," ? ")),parseInt(c(t).attr("rssi"))".concat(et.ip,"
"))):(c(".if_wifi").show(),dt())),mt(t)}function vt(){c.ajaxSetup({timeout:2e3}),c.getJSON("/status.json",(function(t){var e;if(function(t){var e;1===(null!==(e=t.recovery)&&void 0!==e?e:0)?(F=!0,c(".recovery_element").show(),c(".ota_element").hide(),c("#boot-button").html("Reboot"),c("#boot-form").attr("action","/reboot_ota.json")):(!F&&J&&(J=!1,setTimeout(ft,C)),F=!1,c(".recovery_element").hide(),c(".ota_element").show(),c("#boot-button").html("Recovery"),c("#boot-form").attr("action","/recovery.json"))}(t),p(),gt(t),function(t){var e="",n="";if(void 0!==t.bt_status&&void 0!==t.bt_sub_status){var a=A[t.bt_status].sub[t.bt_sub_status];a?(e=T[a],n=A[t.bt_status].desc):(e=T.bt_connected,n="Output status")}c("#o_type").attr("title",n),c("#o_bt").html(G()?e.label:e.text)}(t),x.EventTargetStatus(t),t.project_name&&""!==t.project_name&&(K=t.project_name),t.platform_name&&""!==t.platform_name&&(X=t.platform_name),""===Q&&(Q=K),""===Q&&(Q="Squeezelite-ESP32"),t.version&&""!==t.version?(V=t.version,c("#navtitle").html("".concat(Q).concat(F?"
[recovery]":"")),c("span#foot-fw").html("fw: ".concat(V,", mode: ").concat(F?"Recovery":K,""))):c("span#flash-status").html(""),t.Voltage){var n=function(t){for(var e=0,n=E;e
'.concat(e.help.encodeHTML().replace(/\n/g,"
"),'
'),e.argtable&&e.argtable.forEach((function(n){var a=n.datatype||"",s=e.name+"-"+n.longopts,i=St(t,e.name,n.longopts),r="hasvalue="+n.hasvalue+" ";r+='longopts="'+n.longopts+'" ',r+='shortopts="'+n.shortopts+'" ',r+="checkbox="+n.checkbox+" ",r+='cmdname="'+e.name+'" ',r+='id="'+s+'" name="'+s+'" hasvalue="'+n.hasvalue+'" ';var c=n.mincount>0?"bg-success":"";"hidden"===n.glossary&&(r+=' style="visibility: hidden;"'),n.checkbox?o+='
"):(o+='
"),a.includes("|")?(c=a.startsWith("+")?" multiple ":"",a=a.replace("<","").replace("=","").replace(">",""),o+=""):o+='")),o+="".concat(n.checkbox?"
":"",'Previous value: ').concat(n.checkbox?i?"Checked":"Unchecked":i||"","").concat(n.checkbox?"":"
")})),o+='
\n '),o+=a?'\n'):''),o+="
",a?c(s).append(o):c("#commands-list").append(o)}})),c(".sclk").off("click").on("click",(function(){runCommand(this,!1)})),c(".cclk").off("click").on("click",(function(){runCommand(this,!0)})),t.commands.forEach((function(e){c("[cmdname="+e.name+"]:input").val(""),c("[cmdname="+e.name+"]:checkbox").prop("checked",!1),e.argtable&&e.argtable.forEach((function(n){var a="#"+e.name+"-"+n.longopts,s=St(t,e.name,n.longopts);n.checkbox?c(a)[0].checked=s:(void 0!==s&&c(a).val(s).trigger("change"),0===c(a)[0].value.length&&(n.datatype||"").includes("|")&&(c(a)[0].value="--"))}))})),0!=c("#cfg-hw-preset-model_config").length&&(R||(R=!0,c("#cfg-hw-preset-model_config").html(""),c.getJSON("https://gist.githubusercontent.com/sle118/dae585e157b733a639c12dc70f0910c5/raw/",{_:(new Date).getTime()},(function(t){c.each(t,(function(t,e){c("#cfg-hw-preset-model_config").append("")),""!==$&&$==e.name&&c("#cfg-hw-preset-model_config").val($)})),""!==$&&"#prev_preset".show().val($)})).fail((function(t,e,n){var a=e+", "+n;console.log("Request Failed: "+a)}))))})).fail((function(t,e,n){404==t.status?c(".orec").hide():j(t,0,n),c("#commands-list").empty()}))}function _t(){c.ajaxSetup({timeout:7e3}),c.getJSON("/config.json",(function(t){c("#nvsTable tr").remove();var e=t.config?t.config:t;B=e,Object.keys(e).sort().forEach((function(t){var n=e[t].value;if("autoexec"===t)"0"===e.autoexec.value?c("#disable-squeezelite")[0].checked=!0:c("#disable-squeezelite")[0].checked=!1;else if("autoexec1"===t){var a=/-o\s?(["][^"]*["]|[^-]+)/g.exec(n);a[1].toUpperCase().startsWith("I2S")?P("i2s"):a[1].toUpperCase().startsWith("SPDIF")?P("spdif"):a[1].toUpperCase().startsWith('"BT')&&P("bt")}else"host_name"===t?(n=n.replaceAll('"',""),c("input#dhcp-name1").val(n),c("input#dhcp-name2").val(n),c("#player").val(n),document.title=n,z=n):"rel_api"===t?D=n:"enable_airplay"===t?c("#s_airplay").css({display:f(n)?"inline":"none"}):"enable_cspot"===t?c("#s_cspot").css({display:f(n)?"inline":"none"}):"preset_name"==t?$=n:"board_model"==t&&(Q=n);c("tbody#nvsTable").append(""+t+""),c("input#"+t).val(e[t].value)})),c("tbody#nvsTable").append(""),t.gpio?(c("#pins").show(),c("tbody#gpiotable tr").remove(),t.gpio.forEach((function(t){c("tbody#gpiotable").append("'+t.group+""+t.name+""+t.gpio+""+(t.fixed?"Fixed":"Configuration")+"")}))):c("#pins").hide()})).fail((function(t,e,n){j(t,0,n)}))}function wt(t,e){Tt({message:t,type:e},new Date)}function Tt(t,e){var n="table-success";"MESSAGING_WARNING"===t.type?(n="table-warning","MESSAGING_INFO"===H&&(H="MESSAGING_WARNING")):"MESSAGING_ERROR"===t.type&&("MESSAGING_INFO"!==H&&"MESSAGING_WARNING"!==H||(H="MESSAGING_ERROR"),n="table-danger"),++W>0&&(c("#msgcnt").removeClass("badge-success"),c("#msgcnt").removeClass("badge-warning"),c("#msgcnt").removeClass("badge-danger"),c("#msgcnt").addClass(O[H]),c("#msgcnt").text(W)),c("#syslogTable").append(""+e.toLocalShort()+""+t.message.encodeHTML()+"")}function Et(t){return new h((function(e){return setTimeout(e,t)}))}h.prototype.delay=function(t){return this.then((function(e){return new h((function(n){setTimeout((function(){n(e)}),t)}))}),(function(e){return new h((function(n,a){setTimeout((function(){a(e)}),t)}))}))},window.saveAutoexec1=function(t){U("cfg-audio-tmpl","MESSAGING_INFO","Saving.\n",!1);var e='squeezelite -b 500:2000 -d all=info -C 30 -W -n "'+c("#player").val()+'"';"bt"===Y?(e+=' -o "BT" -R -Z 192000',U("cfg-audio-tmpl","MESSAGING_INFO","Remember to configure the Bluetooth audio device name.\n",!0)):e+="spdif"===Y?" -o SPDIF -Z 192000":" -o I2S",""!==c("#optional").val()&&(e+=" "+c("#optional").val());var n={timestamp:Date.now()};n.config={autoexec1:{value:e,type:33},autoexec:{value:c("#disable-squeezelite").prop("checked")?"0":"1",type:33}},c.ajax({url:"/config.json",dataType:"text",method:"POST",cache:!1,contentType:"application/json; charset=utf-8",data:JSON.stringify(n),error:j,complete:function(e){e.responseText&&"OK"===JSON.parse(e.responseText).result?(U("cfg-audio-tmpl","MESSAGING_INFO","Done.\n",!0),t&&it(1500,"cfg-audio-tmpl")):JSON.parse(e.responseText).result?U("cfg-audio-tmpl","MESSAGING_WARNING",JSON.parse(e.responseText).Result+"\n",!0):U("cfg-audio-tmpl","MESSAGING_ERROR",e.statusText+"\n"),console.log(e.responseText)}}),console.log("sent data:",JSON.stringify(n))},window.handleDisconnect=function(){c.ajax({url:"/connect.json",dataType:"text",method:"DELETE",cache:!1,contentType:"application/json; charset=utf-8",data:JSON.stringify({timestamp:Date.now()})})},window.handleConnect=function(){nt.ssid=c("#manual_ssid").val(),nt.pwd=c("#manual_pwd").val(),nt.dhcpname=c("#dhcp-name2").val(),c("*[class*='connecting']").hide(),c("#ssid-wait").text(nt.ssid),c(".connecting").show(),c.ajax({url:"/connect.json",dataType:"text",method:"POST",cache:!1,contentType:"application/json; charset=utf-8",data:JSON.stringify({timestamp:Date.now(),ssid:nt.ssid,pwd:nt.pwd}),error:j})},c(document).ready((function(){c(".material-icons").each((function(t,e){e.attributes.icon=e.textContent})),bt(!0),p(),x.init(),c("#fw-url-input").on("input",(function(){c(this).val().length>8&&(c(this).val().startsWith("http://")||c(this).val().startsWith("https://"))?c("#start-flash").show():c("#start-flash").hide()})),c(".upSrch").on("input",(function(){var t=this.value;c("#rTable tr").removeClass(this.id+"_hide"),t.length>0&&c("#rTable td:nth-child(".concat(c(this).parent().index()+1,")")).filter((function(){return!c(this).text().toUpperCase().includes(t.toUpperCase())})).parent().addClass(this.id+"_hide"),c('[class*="_hide"]').hide(),c("#rTable tr").not('[class*="_hide"]').show()})),setTimeout(lt,1500),c("#WifiConnectDialog")[0].addEventListener("shown.bs.modal",(function(t){c("*[class*='connecting']").hide(),null!=t&&t.relatedTarget&&(nt.Action=st.CONN,c(t.relatedTarget).children("td:eq(1)").text()==et.ssid?nt.Action=st.STS:c(t.relatedTarget).is(":last-child")?(nt.Action=st.MAN,nt.ssid="",c("#manual_ssid").val(nt.ssid)):(nt.ssid=c(t.relatedTarget).children("td:eq(1)").text(),c("#manual_ssid").val(nt.ssid))),nt.Action!==st.STS?(c(".connecting-init").show(),c("#manual_ssid").trigger("focus")):mt()})),c("#WifiConnectDialog")[0].addEventListener("hidden.bs.modal",(function(){c("#WifiConnectDialog input").val("")})),c("#uCnfrm")[0].addEventListener("shown.bs.modal",(function(){c("#selectedFWURL").text(c("#fw-url-input").val())})),c("input#show-commands")[0].checked=1===q,c('a[href^="#tab-commands"]').hide(),c("#load-nvs").on("click",(function(){c("#nvsfilename").trigger("click")})),c("#nvsfilename").on("change",(function(){if("function"!=typeof window.FileReader)throw"The file API isn't supported on this browser.";if(!this.files)throw"This browser does not support the `files` property of the file input.";if(this.files[0]){var t=this.files[0],e=new FileReader;e.onload=function(t){var e={};try{e=JSON.parse(t.target.result)}catch(t){alert("Parsing failed!\r\n "+t)}c("input.nvs").each((function(t,n){c(this).parent().removeClass("bg-warning").removeClass("bg-success"),e[n.id]&&(e[n.id]!==n.value?(console.log("Changed "+n.id+" "+n.value+"==>"+e[n.id]),c(this).parent().addClass("bg-warning"),c(this).val(e[n.id])):c(this).parent().addClass("bg-success"))})),c("input.nvs").children(".bg-warning")&&alert("Highlighted values were changed. Press Commit to change on the device")},e.readAsText(t),this.value=null}})),c("#clear-syslog").on("click",(function(){W=0,H="MESSAGING_INFO",c("#msgcnt").text(""),c("#syslogTable").html("")})),c("#ok-credits").on("click",(function(){c("#credits").slideUp("fast",(function(){})),c("#app").slideDown("fast",(function(){}))})),c("#acredits").on("click",(function(t){t.preventDefault(),c("#app").slideUp("fast",(function(){})),c("#credits").slideDown("fast",(function(){}))})),c("input#show-commands").on("click",(function(){this.checked=this.checked?1:0,this.checked?(c('a[href^="#tab-commands"]').show(),q=1):(q=0,c('a[href^="#tab-commands"]').hide())})),c("input#show-nvs").on("click",(function(){this.checked=this.checked?1:0,r.Z.set("show-nvs",this.checked?"Y":"N"),p()})),c("#btn_reboot_recovery").on("click",(function(){handleReboot("recovery")})),c("#btn_reboot").on("click",(function(){handleReboot("reboot")})),c("#btn_flash").on("click",(function(){hFlash()})),c("#save-autoexec1").on("click",(function(){saveAutoexec1(!1)})),c("#commit-autoexec1").on("click",(function(){saveAutoexec1(!0)})),c("#btn_disconnect").on("click",(function(){et={},dt(),c.ajax({url:"/connect.json",dataType:"text",method:"DELETE",cache:!1,contentType:"application/json; charset=utf-8",data:JSON.stringify({timestamp:Date.now()})})})),c("#btnJoin").on("click",(function(){handleConnect()})),c("#reboot_nav").on("click",(function(){handleReboot("reboot")})),c("#reboot_ota_nav").on("click",(function(){handleReboot("reboot_ota")})),c("#save-as-nvs").on("click",(function(){var t=ot(!0),e=document.createElement("a");e.href=URL.createObjectURL(new Blob([JSON.stringify(t,null,2)],{type:"text/plain"})),e.setAttribute("download","nvs_config_"+z+"_"+Date.now()+"json"),document.body.appendChild(e),e.click(),document.body.removeChild(e)})),c("#save-nvs").on("click",(function(){I(ot(!1))})),c("#fwUpload").on("click",(function(){0===document.getElementById("flashfilename").files.length?alert("No file selected!"):(c("#fw-url-input").value=null,x.StartOTA())})),c("[name=output-tmpl]").on("click",(function(){P(this.id)})),c("#chkUpdates").on("click",(function(){c("#rTable").html(""),c.getJSON(D,(function(t){var e=[];t.forEach((function(t){var n=t.name.split("#")[3];e.includes(n)||e.push(n)}));var n="";e.forEach((function(t){n+='"})),c("#fwbranch").append(n),t.forEach((function(t){var e="";t.assets.forEach((function(t){t.name.match(/\.bin$/)&&(e=t.browser_download_url)}));var n=t.name.split("#"),a=n[0],s=n[2],o=n[3],i=a.substr(a.lastIndexOf("-")+1);i="32"==i||"16"==i?i:"";var r=t.body;r=(r=(r=r.replace(/'/gi,'"')).replace(/[\s\S]+(### Revision Log[\s\S]+)### ESP-IDF Version Used[\s\S]+/,"$1")).replace(/- \(.+?\) /g,"- ").encodeHTML(),c("#rTable").append("\n ").concat(a,"").concat(new Date(t.created_at).toLocalShort(),"\n ").concat(s,"").concat(o,"").concat(i,""))})),c("#searchfw").css("display","inline"),rt(X)||rt(K),c("#rTable tr.release").on("click",(function(){var t=this.attributes.fwurl.value;L&&(t=t.replace(/.*\/download\//,L+"/plugins/SqueezeESP32/firmware/")),c("#fw-url-input").val(t),c("#start-flash").show(),c("#rTable tr.release").removeClass("table-success table-warning"),c(this).addClass("table-success table-warning")}))})).fail((function(){alert("failed to fetch release history!")}))})),c("#fwcheck").on("click",(function(){c("#releaseTable").html(""),c("#fwbranch").empty(),c.getJSON(D,(function(t){var e,n=0,a=[];t.forEach((function(t){var e=t.name.split("#")[3];a.includes(e)||a.push(e)})),a.forEach((function(t){e+='"})),c("#fwbranch").append(e),t.forEach((function(t){var e="";t.assets.forEach((function(t){t.name.match(/\.bin$/)&&(e=t.browser_download_url)}));var a=t.name.split("#"),s=a[0],o=a[1],i=a[2],r=a[3],l=t.body;l=(l=(l=l.replace(/'/gi,'"')).replace(/[\s\S]+(### Revision Log[\s\S]+)### ESP-IDF Version Used[\s\S]+/,"$1")).replace(/- \(.+?\) /g,"- ");var u=n++>6?" hide":"";c("#releaseTable").append(""+s+""+new Date(t.created_at).toLocalShort()+""+i+""+o+""+r+"")})),n>7&&(c("#releaseTable").append(""),c("#showallbutton").on("click",(function(){c("tr.hide").removeClass("hide"),c("tr#showall").addClass("hide")}))),c("#searchfw").css("display","inline")})).fail((function(){alert("failed to fetch release history!")}))})),c("#updateAP").on("click",(function(){lt(),console.log("refresh AP")})),_t(),yt(),ft(),vt()})),window.setURL=function(t){var e=t.dataset.url;c('[data-bs-url^="http"]').addClass("btn-success").removeClass("btn-danger"),c('[data-bs-url="'+e+'"]').addClass("btn-danger").removeClass("btn-success"),L&&(e=e.replace(/.*\/download\//,L+"/plugins/SqueezeESP32/firmware/")),c("#fwurl").val(e)},window.runCommand=function(t,e){var n=t.attributes.cmdname.value;U(t.attributes.cmdname.value,"MESSAGING_INFO","Executing.",!1);var a=document.getElementById("flds-"+n),o=null==a?void 0:a.querySelectorAll("select,input");if("cfg-hw-preset"===n)return function(t,e){var n=JSON.parse(t[0].value),a=t[0].attributes.cmdname.value;console.log("selected model: ".concat(n.name));for(var o={timestamp:Date.now(),config:{model_config:{value:n.name,type:33}}},i=0,r=Object.entries(n.config);i{n.r(e)},607:(t,e,n)=>{n(138),n(393),n(861),n(322)},861:t=>{t.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAb1BMVEXIycuswsKMjI4rqqZyc3RQlpQ6jIEmJifW2dq5ursppJ8Om4zC0NAFdGYmmpb///8Hg3O4x8cHkoEggX0jko5Ks6/P0dM5r6ocoZb3+PgiiYVevrp/y8bg4uOS09FtxMDs7+7M6um529qoysik2tiNn72gAAAAF3RSTlP94Fr/Wf39BP26/////////////////kibhL0AAAGjSURBVDjLbZMJkoMgEEWtmETEJWpkiSC45P5nnF4wk7HmW2jLfzYIdFYUxbXUYp5nIbTOUFoLAR2ivIKZFQXYuu6TahSHmdAlAqWub0/QNI1jSxrHacKeWw9EdtH1xHbbyiRgCJn67JqVAr9nO2fJnBDMoUuYEvsfmxnJBM66Zj8/iYmaAPKlOvRNJAC/fz8OefINEAngAbYPEMiHTJCCAZrACciVMpCCgDEBKwsAowymMO3IAP3Btqa5vYJx0ZlcOSUZaE/AWznvnTHOyfZ/wMUQvAIg/wb27QNEH94BgGj+APsZiF8AXAhQQEMwkIYYLW7xvsENoyUoF0I0ysf0F2O743kDQNXzXM8+j8Eb6byzDEz7gtpsO1PgrXG5Nd6btNTP+YXarKTny1uQ9JiAN6vbqT9au+BzMQjAWtlq6BiYttdjiVVVqfXxWFWFkk6Cz0DTdYOFPmpHAAK/YQCJoTppQJ8A3TAxVAAhR439Bg5tKe7NgSDEje3mDsf+ovuGCUbYZb/BwoHS6ykHMYfo/U6lx8Xb/+qo3U/x/lf+VP9c/j9c3zy20WEMxgAAAABJRU5ErkJggg=="}},n={};function a(t){var s=n[t];if(void 0!==s)return s.exports;var o=n[t]={id:t,loaded:!1,exports:{}};return e[t].call(o.exports,o,o.exports,a),o.loaded=!0,o.exports}a.m=e,t=[],a.O=(e,n,s,o)=>{if(!n){var i=1/0;for(u=0;u=o)&&Object.keys(a.O).every((t=>a.O[t](n[c])))?n.splice(c--,1):(r=!1,o0&&t[u-1][2]>o;u--)t[u]=t[u-1];t[u]=[n,s,o]},a.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return a.d(e,{a:e}),e},a.d=(t,e)=>{for(var n in e)a.o(e,n)&&!a.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),a.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),a.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},a.nmd=t=>(t.paths=[],t.children||(t.children=[]),t),(()=>{var t={826:0};a.O.j=e=>0===t[e];var e=(e,n)=>{var s,o,[i,r,c]=n,l=0;if(i.some((e=>0!==t[e]))){for(s in r)a.o(r,s)&&(a.m[s]=r[s]);if(c)var u=c(a)}for(e&&e(n);la(607)));s=a.O(s)})(); +//# sourceMappingURL=index.9d3dbc.bundle.js.map \ No newline at end of file diff --git a/components/wifi-manager/webapp/dist/js/index.9d3dbc.bundle.js.gz b/components/wifi-manager/webapp/dist/js/index.9d3dbc.bundle.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..e7cbae61dd45a65c53770ac9965630c16f246ba4 GIT binary patch literal 14366 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 YYj>s?Spt@XJ@zL54>*#G?1iQP07-H_CIA2c literal 0 HcmV?d00001 diff --git a/components/wifi-manager/webapp/dist/js/index.9d3dbc.bundle.js.map b/components/wifi-manager/webapp/dist/js/index.9d3dbc.bundle.js.map new file mode 100644 index 00000000..49d35bff --- /dev/null +++ b/components/wifi-manager/webapp/dist/js/index.9d3dbc.bundle.js.map @@ -0,0 +1 @@ +{"version":3,"file":"./js/index.9d3dbc.bundle.js","mappings":"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","sources":["webpack://squeezelite-esp32/webpack/runtime/chunk loaded","webpack://squeezelite-esp32/./src/js/custom.js","webpack://squeezelite-esp32/./src/index.ts","webpack://squeezelite-esp32/webpack/bootstrap","webpack://squeezelite-esp32/webpack/runtime/compat get default export","webpack://squeezelite-esp32/webpack/runtime/define property getters","webpack://squeezelite-esp32/webpack/runtime/global","webpack://squeezelite-esp32/webpack/runtime/hasOwnProperty shorthand","webpack://squeezelite-esp32/webpack/runtime/make namespace object","webpack://squeezelite-esp32/webpack/runtime/node module decorator","webpack://squeezelite-esp32/webpack/runtime/jsonp chunk loading","webpack://squeezelite-esp32/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var he = require('he');\nvar Promise = require('es6-promise').Promise;\nwindow.bootstrap = require('bootstrap');\nimport Cookies from 'js-cookie';\n\n\n\nif (!String.prototype.format) {\n Object.assign(String.prototype, {\n format() {\n const args = arguments;\n return this.replace(/{(\\d+)}/g, function (match, number) {\n return typeof args[number] !== 'undefined' ? args[number] : match;\n });\n },\n });\n}\nif (!String.prototype.encodeHTML) {\n Object.assign(String.prototype, {\n encodeHTML() {\n return he.encode(this).replace(/\\n/g, '
');\n },\n });\n}\nObject.assign(Date.prototype, {\n toLocalShort() {\n const opt = { dateStyle: 'short', timeStyle: 'short' };\n return this.toLocaleString(undefined, opt);\n },\n});\nfunction handleNVSVisible(){\n let nvs_previous_checked = isEnabled(Cookies.get(\"show-nvs\"));\n $('input#show-nvs')[0].checked = nvs_previous_checked ;\n if ($('input#show-nvs')[0].checked || recovery) {\n $('*[href*=\"-nvs\"]').show();\n } else {\n $('*[href*=\"-nvs\"]').hide();\n }\n}\n\n\nfunction isEnabled(val) {\n return val!=undefined && typeof val === 'string' && val.match(\"[Yy1]\");\n}\n\nconst nvsTypes = {\n NVS_TYPE_U8: 0x01,\n\n /*! < Type uint8_t */\n NVS_TYPE_I8: 0x11,\n\n /*! < Type int8_t */\n NVS_TYPE_U16: 0x02,\n\n /*! < Type uint16_t */\n NVS_TYPE_I16: 0x12,\n\n /*! < Type int16_t */\n NVS_TYPE_U32: 0x04,\n\n /*! < Type uint32_t */\n NVS_TYPE_I32: 0x14,\n\n /*! < Type int32_t */\n NVS_TYPE_U64: 0x08,\n\n /*! < Type uint64_t */\n NVS_TYPE_I64: 0x18,\n\n /*! < Type int64_t */\n NVS_TYPE_STR: 0x21,\n\n /*! < Type string */\n NVS_TYPE_BLOB: 0x42,\n\n /*! < Type blob */\n NVS_TYPE_ANY: 0xff /*! < Must be last */,\n};\nconst btIcons = {\n bt_playing: {'label':'','icon': 'media_bluetooth_on'},\n bt_disconnected: {'label':'','icon': 'media_bluetooth_off'},\n bt_neutral: {'label':'','icon': 'bluetooth'},\n bt_connecting: {'label':'','icon': 'bluetooth_searching'},\n bt_connected: {'label':'','icon': 'bluetooth_connected'},\n bt_disabled: {'label':'','icon': 'bluetooth_disabled'},\n play_arrow: {'label':'','icon': 'play_circle_filled'},\n pause: {'label':'','icon': 'pause_circle'},\n stop: {'label':'','icon': 'stop_circle'},\n '': {'label':'','icon':''}\n};\nconst batIcons = [\n { icon: \"battery_0_bar\", label:'▪', ranges: [{ f: 5.8, t: 6.8 }, { f: 8.8, t: 10.2 }] },\n { icon: \"battery_2_bar\", label:'▪▪', ranges: [{ f: 6.8, t: 7.4 }, { f: 10.2, t: 11.1 }] },\n { icon: \"battery_3_bar\", label:'▪▪▪', ranges: [{ f: 7.4, t: 7.5 }, { f: 11.1, t: 11.25 }] },\n { icon: \"battery_4_bar\", label:'▪▪▪▪', ranges: [{ f: 7.5, t: 7.8 }, { f: 11.25, t: 11.7 }] }\n];\nconst btStateIcons = [\n { desc: 'Idle', sub: ['bt_neutral'] },\n { desc: 'Discovering', sub: ['bt_connecting'] },\n { desc: 'Discovered', sub: ['bt_connecting'] },\n { desc: 'Unconnected', sub: ['bt_disconnected'] },\n { desc: 'Connecting', sub: ['bt_connecting'] },\n {\n desc: 'Connected',\n sub: ['bt_connected', 'play_arrow', 'bt_playing', 'pause', 'stop'],\n },\n { desc: 'Disconnecting', sub: ['bt_disconnected'] },\n];\n\nconst pillcolors = {\n MESSAGING_INFO: 'badge-success',\n MESSAGING_WARNING: 'badge-warning',\n MESSAGING_ERROR: 'badge-danger',\n};\nconst connectReturnCode = {\n OK: 0,\n FAIL: 1,\n DISC: 2,\n LOST: 3,\n RESTORE: 4,\n ETH: 5\n}\nconst taskStates = {\n 0: 'eRunning',\n /*! < A task is querying the state of itself, so must be running. */\n 1: 'eReady',\n /*! < The task being queried is in a read or pending ready list. */\n 2: 'eBlocked',\n /*! < The task being queried is in the Blocked state. */\n 3: 'eSuspended',\n /*! < The task being queried is in the Suspended state, or is in the Blocked state with an infinite time out. */\n 4: 'eDeleted',\n};\nlet flashState = {\n NONE: 0,\n REBOOT_TO_RECOVERY: 2,\n SET_FWURL: 5,\n FLASHING: 6,\n DONE: 7,\n UPLOADING: 8,\n ERROR: 9,\n UPLOADCOMPLETE: 10,\n _state: -1,\n olderRecovery: false,\n statusText: '',\n flashURL: '',\n flashFileName: '',\n statusPercent: 0,\n Completed: false,\n recovery: false,\n prevRecovery: false,\n updateModal: new bootstrap.Modal(document.getElementById('otadiv'), {}),\n reset: function () {\n\n this.olderRecovery = false;\n this.statusText = '';\n this.statusPercent = -1;\n this.flashURL = '';\n this.flashFileName = undefined;\n this.UpdateProgress();\n $('#rTable tr.release').removeClass('table-success table-warning');\n $('.flact').prop('disabled', false);\n $('#flashfilename').value = null;\n $('#fw-url-input').value = null;\n if(!this.isStateError()){\n $('span#flash-status').html('');\n $('#fwProgressLabel').parent().removeClass('bg-danger');\n }\n this._state = this.NONE\n return this;\n },\n isStateUploadComplete: function () {\n return this._state == this.UPLOADCOMPLETE;\n },\n isStateError: function () {\n return this._state == this.ERROR;\n },\n isStateNone: function () {\n return this._state == this.NONE;\n },\n isStateRebootRecovery: function () {\n return this._state == this.REBOOT_TO_RECOVERY;\n },\n isStateSetUrl: function () {\n return this._state == this.SET_FWURL;\n },\n isStateFlashing: function () {\n return this._state == this.FLASHING;\n },\n isStateDone: function () {\n return this._state == this.DONE;\n },\n isStateUploading: function () {\n return this._state == this.UPLOADING;\n },\n init: function () {\n this._state = this.NONE;\n return this;\n },\n\n SetStateError: function () {\n this._state = this.ERROR;\n $('#fwProgressLabel').parent().addClass('bg-danger');\n return this;\n },\n SetStateNone: function () {\n this._state = this.NONE;\n return this;\n },\n SetStateRebootRecovery: function () {\n this._state = this.REBOOT_TO_RECOVERY;\n // Reboot system to recovery mode\n this.SetStatusText('Starting recovery mode.')\n $.ajax({\n url: '/recovery.json',\n context: this,\n dataType: 'text',\n method: 'POST',\n cache: false,\n contentType: 'application/json; charset=utf-8',\n data: JSON.stringify({\n timestamp: Date.now(),\n }),\n error: function (xhr, _ajaxOptions, thrownError) {\n this.setOTAError(`Unexpected error while trying to restart to recovery. (status=${xhr.status ?? ''}, error=${thrownError ?? ''} ) `);\n },\n complete: function (response) {\n this.SetStatusText('Waiting for system to boot.')\n },\n });\n return this;\n },\n SetStateSetUrl: function () {\n this._state = this.SET_FWURL;\n this.statusText = 'Sending firmware download location.';\n let confData = {\n fwurl: {\n value: this.flashURL,\n type: 33,\n }\n };\n post_config(confData);\n return this;\n },\n SetStateFlashing: function () {\n this._state = this.FLASHING;\n return this;\n },\n SetStateDone: function () {\n this._state = this.DONE;\n this.reset();\n return this;\n },\n SetStateUploading: function () {\n this._state = this.UPLOADING;\n return this.SetStatusText('Sending file to device.');\n },\n SetStateUploadComplete: function () {\n this._state = this.UPLOADCOMPLETE;\n return this;\n },\n\n isFlashExecuting: function () {\n return true === (this._state != this.UPLOADING && (this.statusText !== '' || this.statusPercent >= 0));\n },\n\n\n\n toString: function () {\n let keys = Object.keys(this);\n return keys.find(x => this[x] === this._state);\n },\n\n setOTATargets: function () {\n this.flashURL = '';\n this.flashFileName = '';\n this.flashURL = $('#fw-url-input').val();\n let fileInput = $('#flashfilename')[0].files;\n if (fileInput.length > 0) {\n this.flashFileName = fileInput[0];\n }\n if (this.flashFileName.length == 0 && this.flashURL.length == 0) {\n this.setOTAError('Invalid url or file. Cannot start OTA');\n }\n return this;\n },\n\n setOTAError: function (message) {\n this.SetStateError().SetStatusPercent(0).SetStatusText(message).reset();\n return this;\n },\n\n ShowDialog: function () {\n if (!this.isStateNone()) {\n this.updateModal.show();\n $('.flact').prop('disabled', true);\n }\n return this;\n },\n\n SetStatusPercent: function (pct) {\n var pctChanged = (this.statusPercent != pct);\n this.statusPercent = pct;\n if (pctChanged) {\n if (!this.isStateUploading() && !this.isStateFlashing()) {\n this.SetStateFlashing();\n }\n if (pct == 100) {\n if (this.isStateFlashing()) {\n this.SetStateDone();\n }\n else if (this.isStateUploading()) {\n this.statusPercent = 0;\n this.SetStateFlashing();\n }\n }\n this.UpdateProgress().ShowDialog();\n }\n return this;\n },\n SetStatusText: function (txt) {\n var changed = (this.statusText != txt);\n this.statusText = txt;\n if (changed) {\n $('span#flash-status').html(this.statusText);\n this.ShowDialog();\n }\n\n return this;\n },\n UpdateProgress: function () {\n $('.progress-bar')\n .css('width', this.statusPercent + '%')\n .attr('aria-valuenow', this.statusPercent)\n .text(this.statusPercent + '%')\n $('.progress-bar').html((this.isStateDone() ? 100 : this.statusPercent) + '%');\n return this;\n },\n StartOTA: function () {\n this.logEvent(this.StartOTA.name);\n $('#fwProgressLabel').parent().removeClass('bg-danger');\n this.setOTATargets();\n if (this.isStateError()) {\n return this;\n }\n if (!recovery) {\n this.SetStateRebootRecovery();\n }\n else {\n this.SetStateFlashing().TargetReadyStartOTA();\n }\n\n return this;\n },\n UploadLocalFile: function () {\n this.SetStateUploading();\n const xhttp = new XMLHttpRequest();\n xhttp.context = this;\n var boundHandleUploadProgressEvent = this.HandleUploadProgressEvent.bind(this);\n var boundsetOTAError=this.setOTAError.bind(this);\n xhttp.upload.addEventListener(\"progress\",boundHandleUploadProgressEvent, false);\n xhttp.onreadystatechange = function () {\n if (xhttp.readyState === 4) {\n if (xhttp.status === 0 || xhttp.status === 404) {\n boundsetOTAError(`Upload Failed. Recovery version might not support uploading. Please use web update instead.`);\n }\n }\n };\n xhttp.open('POST', '/flash.json', true);\n xhttp.send(this.flashFileName);\n },\n TargetReadyStartOTA: function () {\n if (recovery && this.prevRecovery && !this.isStateRebootRecovery() && !this.isStateFlashing()) {\n // this should only execute once, while being in a valid state\n return this;\n }\n\n this.logEvent(this.TargetReadyStartOTA.name);\n if (!recovery) {\n console.error('Event TargetReadyStartOTA fired in the wrong mode ');\n return this;\n }\n this.prevRecovery = true;\n\n if (this.flashFileName !== '') {\n this.UploadLocalFile();\n }\n else if (this.flashURL != '') {\n this.SetStateSetUrl();\n }\n else {\n this.setOTAError('Invalid URL or file name while trying to start the OTa process')\n }\n },\n HandleUploadProgressEvent: function (data) {\n this.logEvent(this.HandleUploadProgressEvent.name);\n this.SetStateUploading().SetStatusPercent(Math.round(data.loaded / data.total * 100)).SetStatusText('Uploading file to device');\n },\n EventTargetStatus: function (data) {\n if (!this.isStateNone()) {\n this.logEvent(this.EventTargetStatus.name);\n }\n if (data.ota_pct ?? -1 >= 0) {\n this.olderRecovery = true;\n this.SetStatusPercent(data.ota_pct);\n }\n if ((data.ota_dsc ?? '') != '') {\n this.olderRecovery = true;\n this.SetStatusText(data.ota_dsc);\n }\n\n if (data.recovery != undefined) {\n this.recovery = data.recovery === 1 ? true : false;\n }\n if (this.isStateRebootRecovery() && this.recovery) {\n this.TargetReadyStartOTA();\n }\n },\n EventOTAMessageClass: function (data) {\n this.logEvent(this.EventOTAMessageClass.name);\n var otaData = JSON.parse(data);\n this.SetStatusPercent(otaData.ota_pct).SetStatusText(otaData.ota_dsc);\n },\n logEvent: function (fun) {\n console.log(`${fun}, flash state ${this.toString()}, recovery: ${this.recovery}, ota pct: ${this.statusPercent}, ota desc: ${this.statusText}`);\n }\n\n};\nwindow.hideSurrounding = function (obj) {\n $(obj).parent().parent().hide();\n}\n\nlet presetsloaded = false;\nlet is_i2c_locked = false;\nlet statusInterval = 2000;\nlet messageInterval = 2500;\nfunction post_config(data) {\n let confPayload = {\n timestamp: Date.now(),\n config: data\n };\n $.ajax({\n url: '/config.json',\n dataType: 'text',\n method: 'POST',\n cache: false,\n contentType: 'application/json; charset=utf-8',\n data: JSON.stringify(confPayload),\n error: handleExceptionResponse,\n });\n}\n\n\nwindow.hFlash = function () {\n // reset file upload selection if any;\n $('#flashfilename').value = null\n flashState.StartOTA();\n}\nwindow.handleReboot = function (link) {\n if (link == 'reboot_ota') {\n $('#reboot_ota_nav').removeClass('active').prop(\"disabled\", true); delayReboot(500, '', 'reboot_ota');\n }\n else {\n $('#reboot_nav').removeClass('active'); delayReboot(500, '', link);\n }\n}\nfunction isConnected(){\n return ConnectedTo.hasOwnProperty('ip') && ConnectedTo.ip!='0.0.0.0'&& ConnectedTo.ip!='';\n}\nfunction getIcon(icons){\n return isConnected()?icons.icon:icons.label;\n}\nfunction handlebtstate(data) {\n let icon = '';\n let tt = '';\n if (data.bt_status !== undefined && data.bt_sub_status !== undefined) {\n const iconindex = btStateIcons[data.bt_status].sub[data.bt_sub_status];\n if (iconindex) {\n icon = btIcons[iconindex];\n tt = btStateIcons[data.bt_status].desc;\n } else {\n icon = btIcons.bt_connected;\n tt = 'Output status';\n }\n }\n\n $('#o_type').attr('title', tt);\n $('#o_bt').html(isConnected()?icon.label:icon.text);\n}\nfunction handleTemplateTypeRadio(outtype) {\n $('#o_type').children('span').css({ display: 'none' });\n if (outtype === 'bt') {\n output = 'bt';\n } else if (outtype === 'spdif') {\n output = 'spdif';\n } else {\n output = 'i2s';\n }\n $('#' + output).prop('checked', true);\n $('#o_' + output).css({ display: 'inline' });\n}\n\nfunction handleExceptionResponse(xhr, _ajaxOptions, thrownError) {\n console.log(xhr.status);\n console.log(thrownError);\n if (thrownError !== '') {\n showLocalMessage(thrownError, 'MESSAGING_ERROR');\n }\n}\nfunction HideCmdMessage(cmdname) {\n $('#toast_' + cmdname)\n .removeClass('table-success')\n .removeClass('table-warning')\n .removeClass('table-danger')\n .addClass('table-success')\n .removeClass('show');\n $('#msg_' + cmdname).html('');\n}\nfunction showCmdMessage(cmdname, msgtype, msgtext, append = false) {\n let color = 'table-success';\n if (msgtype === 'MESSAGING_WARNING') {\n color = 'table-warning';\n } else if (msgtype === 'MESSAGING_ERROR') {\n color = 'table-danger';\n }\n $('#toast_' + cmdname)\n .removeClass('table-success')\n .removeClass('table-warning')\n .removeClass('table-danger')\n .addClass(color)\n .addClass('show');\n let escapedtext = msgtext\n .substring(0, msgtext.length - 1)\n .encodeHTML()\n .replace(/\\n/g, '
');\n escapedtext =\n ($('#msg_' + cmdname).html().length > 0 && append\n ? $('#msg_' + cmdname).html() + '
'\n : '') + escapedtext;\n $('#msg_' + cmdname).html(escapedtext);\n}\n\nlet releaseURL =\n 'https://api.github.com/repos/sle118/squeezelite-esp32/releases';\n\nlet recovery = false;\nlet messagesHeld = false;\nconst commandHeader = 'squeezelite -b 500:2000 -d all=info -C 30 -W';\n//let blockFlashButton = false;\nlet apList = null;\n//let selectedSSID = '';\n//let checkStatusInterval = null;\nlet messagecount = 0;\nlet messageseverity = 'MESSAGING_INFO';\nlet SystemConfig = {};\nlet LastCommandsState = null;\nvar output = '';\nlet hostName = '';\nlet versionName = 'Squeezelite-ESP32';\nlet prevmessage = '';\nlet project_name = versionName;\nlet board_model = '';\nlet platform_name = versionName;\nlet preset_name = '';\nlet btSinkNamesOptSel = '#cfg-audio-bt_source-sink_name';\nlet ConnectedTo = {};\nlet ConnectingToSSID = {};\nlet lmsBaseUrl;\nlet prevLMSIP = '';\nconst ConnectingToActions = {\n 'CONN': 0, 'MAN': 1, 'STS': 2,\n}\n\nPromise.prototype.delay = function (duration) {\n return this.then(\n function (value) {\n return new Promise(function (resolve) {\n setTimeout(function () {\n resolve(value);\n }, duration);\n });\n },\n function (reason) {\n return new Promise(function (_resolve, reject) {\n setTimeout(function () {\n reject(reason);\n }, duration);\n });\n }\n );\n};\n\nfunction getConfigJson(slimMode) {\n const config = {};\n $('input.nvs').each(function (_index, entry) {\n if (!slimMode) {\n const nvsType = parseInt(entry.attributes.nvs_type.value, 10);\n if (entry.id !== '') {\n config[entry.id] = {};\n if (\n nvsType === nvsTypes.NVS_TYPE_U8 ||\n nvsType === nvsTypes.NVS_TYPE_I8 ||\n nvsType === nvsTypes.NVS_TYPE_U16 ||\n nvsType === nvsTypes.NVS_TYPE_I16 ||\n nvsType === nvsTypes.NVS_TYPE_U32 ||\n nvsType === nvsTypes.NVS_TYPE_I32 ||\n nvsType === nvsTypes.NVS_TYPE_U64 ||\n nvsType === nvsTypes.NVS_TYPE_I64\n ) {\n config[entry.id].value = parseInt(entry.value);\n } else {\n config[entry.id].value = entry.value;\n }\n config[entry.id].type = nvsType;\n }\n } else {\n config[entry.id] = entry.value;\n }\n });\n const key = $('#nvs-new-key').val();\n const val = $('#nvs-new-value').val();\n if (key !== '') {\n if (!slimMode) {\n config[key] = {};\n config[key].value = val;\n config[key].type = 33;\n } else {\n config[key] = val;\n }\n }\n return config;\n}\n\nfunction handleHWPreset(allfields, reboot) {\n\n const selJson = JSON.parse(allfields[0].value);\n var cmd = allfields[0].attributes.cmdname.value;\n\n console.log(`selected model: ${selJson.name}`);\n let confPayload = {\n timestamp: Date.now(),\n config: { model_config: { value: selJson.name, type: 33 } }\n };\n for (const [name, value] of Object.entries(selJson.config)) {\n const storedval = (typeof value === 'string' || value instanceof String) ? value : JSON.stringify(value);\n confPayload.config[name] = {\n value: storedval,\n type: 33,\n }\n showCmdMessage(\n cmd,\n 'MESSAGING_INFO',\n `Setting ${name}=${storedval} `,\n true\n );\n }\n\n showCmdMessage(\n cmd,\n 'MESSAGING_INFO',\n `Committing `,\n true\n );\n $.ajax({\n url: '/config.json',\n dataType: 'text',\n method: 'POST',\n cache: false,\n contentType: 'application/json; charset=utf-8',\n data: JSON.stringify(confPayload),\n error: function (xhr, _ajaxOptions, thrownError) {\n handleExceptionResponse(xhr, _ajaxOptions, thrownError);\n showCmdMessage(\n cmd,\n 'MESSAGING_ERROR',\n `Unexpected error ${(thrownError !== '') ? thrownError : 'with return status = ' + xhr.status} `,\n true\n );\n },\n success: function (response) {\n showCmdMessage(\n cmd,\n 'MESSAGING_INFO',\n `Saving complete `,\n true\n );\n console.log(response);\n if (reboot) {\n delayReboot(2500, cmd);\n }\n },\n });\n\n\n\n\n\n}\n\n\n// pull json file from https://gist.githubusercontent.com/sle118/dae585e157b733a639c12dc70f0910c5/raw/b462691f69e2ad31ac95c547af6ec97afb0f53db/squeezelite-esp32-presets.json and\nfunction loadPresets() {\n if ($(\"#cfg-hw-preset-model_config\").length == 0) return;\n if (presetsloaded) return;\n presetsloaded = true;\n $('#cfg-hw-preset-model_config').html('');\n $.getJSON(\n 'https://gist.githubusercontent.com/sle118/dae585e157b733a639c12dc70f0910c5/raw/',\n { _: new Date().getTime() },\n function (data) {\n $.each(data, function (key, val) {\n $('#cfg-hw-preset-model_config').append(``);\n if (preset_name !== '' && preset_name == val.name) {\n $('#cfg-hw-preset-model_config').val(preset_name);\n }\n });\n if (preset_name !== '') {\n ('#prev_preset').show().val(preset_name);\n }\n }\n\n ).fail(function (jqxhr, textStatus, error) {\n const err = textStatus + ', ' + error;\n console.log('Request Failed: ' + err);\n }\n );\n}\n\nfunction delayReboot(duration, cmdname, ota = 'reboot') {\n const url = '/' + ota + '.json';\n $('tbody#tasks').empty();\n $('#tasks_sect').css('visibility', 'collapse');\n Promise.resolve({ cmdname: cmdname, url: url })\n .delay(duration)\n .then(function (data) {\n if (data.cmdname.length > 0) {\n showCmdMessage(\n data.cmdname,\n 'MESSAGING_WARNING',\n 'System is rebooting.\\n',\n true\n );\n } else {\n showLocalMessage('System is rebooting.\\n', 'MESSAGING_WARNING');\n }\n console.log('now triggering reboot');\n $(\"button[onclick*='handleReboot']\").addClass('rebooting');\n $.ajax({\n url: data.url,\n dataType: 'text',\n method: 'POST',\n cache: false,\n contentType: 'application/json; charset=utf-8',\n data: JSON.stringify({\n timestamp: Date.now(),\n }),\n error: handleExceptionResponse,\n complete: function () {\n console.log('reboot call completed');\n Promise.resolve(data)\n .delay(6000)\n .then(function (rdata) {\n if (rdata.cmdname.length > 0) {\n HideCmdMessage(rdata.cmdname);\n }\n getCommands();\n getConfig();\n });\n },\n });\n });\n}\n// eslint-disable-next-line no-unused-vars\nwindow.saveAutoexec1 = function (apply) {\n showCmdMessage('cfg-audio-tmpl', 'MESSAGING_INFO', 'Saving.\\n', false);\n let commandLine = commandHeader + ' -n \"' + $('#player').val() + '\"';\n if (output === 'bt') {\n commandLine += ' -o \"BT\" -R -Z 192000';\n showCmdMessage(\n 'cfg-audio-tmpl',\n 'MESSAGING_INFO',\n 'Remember to configure the Bluetooth audio device name.\\n',\n true\n );\n } else if (output === 'spdif') {\n commandLine += ' -o SPDIF -Z 192000';\n } else {\n commandLine += ' -o I2S';\n }\n if ($('#optional').val() !== '') {\n commandLine += ' ' + $('#optional').val();\n }\n const data = {\n timestamp: Date.now(),\n };\n data.config = {\n autoexec1: { value: commandLine, type: 33 },\n autoexec: {\n value: $('#disable-squeezelite').prop('checked') ? '0' : '1',\n type: 33,\n },\n };\n\n $.ajax({\n url: '/config.json',\n dataType: 'text',\n method: 'POST',\n cache: false,\n contentType: 'application/json; charset=utf-8',\n data: JSON.stringify(data),\n error: handleExceptionResponse,\n complete: function (response) {\n if (\n response.responseText &&\n JSON.parse(response.responseText).result === 'OK'\n ) {\n showCmdMessage('cfg-audio-tmpl', 'MESSAGING_INFO', 'Done.\\n', true);\n if (apply) {\n delayReboot(1500, 'cfg-audio-tmpl');\n }\n } else if (JSON.parse(response.responseText).result) {\n showCmdMessage(\n 'cfg-audio-tmpl',\n 'MESSAGING_WARNING',\n JSON.parse(response.responseText).Result + '\\n',\n true\n );\n } else {\n showCmdMessage(\n 'cfg-audio-tmpl',\n 'MESSAGING_ERROR',\n response.statusText + '\\n'\n );\n }\n console.log(response.responseText);\n },\n });\n console.log('sent data:', JSON.stringify(data));\n}\nwindow.handleDisconnect = function () {\n $.ajax({\n url: '/connect.json',\n dataType: 'text',\n method: 'DELETE',\n cache: false,\n contentType: 'application/json; charset=utf-8',\n data: JSON.stringify({\n timestamp: Date.now(),\n }),\n });\n}\nfunction setPlatformFilter(val) {\n if ($('.upf').filter(function () { return $(this).text().toUpperCase() === val.toUpperCase() }).length > 0) {\n $('#splf').val(val).trigger('input');\n return true;\n }\n return false;\n}\nwindow.handleConnect = function () {\n ConnectingToSSID.ssid = $('#manual_ssid').val();\n ConnectingToSSID.pwd = $('#manual_pwd').val();\n ConnectingToSSID.dhcpname = $('#dhcp-name2').val();\n $(\"*[class*='connecting']\").hide();\n $('#ssid-wait').text(ConnectingToSSID.ssid);\n $('.connecting').show();\n $.ajax({\n url: '/connect.json',\n dataType: 'text',\n method: 'POST',\n cache: false,\n contentType: 'application/json; charset=utf-8',\n data: JSON.stringify({\n timestamp: Date.now(),\n ssid: ConnectingToSSID.ssid,\n pwd: ConnectingToSSID.pwd\n }),\n error: handleExceptionResponse,\n });\n\n // now we can re-set the intervals regardless of result\n\n}\n$(document).ready(function () {\n $('.material-icons').each(function (_index, entry) {\n entry.attributes['icon']=entry.textContent;\n });\n setIcons(true);\n handleNVSVisible();\n flashState.init();\n $('#fw-url-input').on('input', function () {\n if ($(this).val().length > 8 && ($(this).val().startsWith('http://') || $(this).val().startsWith('https://'))) {\n $('#start-flash').show();\n }\n else {\n $('#start-flash').hide();\n }\n });\n $('.upSrch').on('input', function () {\n const val = this.value;\n $(\"#rTable tr\").removeClass(this.id + '_hide');\n if (val.length > 0) {\n $(`#rTable td:nth-child(${$(this).parent().index() + 1})`).filter(function () {\n return !$(this).text().toUpperCase().includes(val.toUpperCase());\n }).parent().addClass(this.id + '_hide');\n }\n $('[class*=\"_hide\"]').hide();\n $('#rTable tr').not('[class*=\"_hide\"]').show()\n\n });\n setTimeout(refreshAP, 1500);\n\n $('#WifiConnectDialog')[0].addEventListener('shown.bs.modal', function (event) {\n $(\"*[class*='connecting']\").hide();\n\n if (event?.relatedTarget) {\n ConnectingToSSID.Action = ConnectingToActions.CONN;\n if ($(event.relatedTarget).children('td:eq(1)').text() == ConnectedTo.ssid) {\n ConnectingToSSID.Action = ConnectingToActions.STS;\n }\n else {\n if (!$(event.relatedTarget).is(':last-child')) {\n ConnectingToSSID.ssid = $(event.relatedTarget).children('td:eq(1)').text();\n $('#manual_ssid').val(ConnectingToSSID.ssid);\n }\n else {\n ConnectingToSSID.Action = ConnectingToActions.MAN;\n ConnectingToSSID.ssid = '';\n $('#manual_ssid').val(ConnectingToSSID.ssid);\n }\n }\n }\n\n\n if (ConnectingToSSID.Action !== ConnectingToActions.STS) {\n $('.connecting-init').show();\n $('#manual_ssid').trigger('focus');\n }\n else {\n handleWifiDialog();\n }\n });\n\n $('#WifiConnectDialog')[0].addEventListener('hidden.bs.modal', function () {\n $('#WifiConnectDialog input').val('');\n });\n\n $('#uCnfrm')[0].addEventListener('shown.bs.modal', function () {\n $('#selectedFWURL').text($('#fw-url-input').val());\n });\n\n $('input#show-commands')[0].checked = LastCommandsState === 1;\n $('a[href^=\"#tab-commands\"]').hide();\n $('#load-nvs').on('click', function () {\n $('#nvsfilename').trigger('click');\n });\n $('#nvsfilename').on('change', function () {\n if (typeof window.FileReader !== 'function') {\n throw \"The file API isn't supported on this browser.\";\n }\n if (!this.files) {\n throw 'This browser does not support the `files` property of the file input.';\n }\n if (!this.files[0]) {\n return undefined;\n }\n\n const file = this.files[0];\n let fr = new FileReader();\n fr.onload = function (e) {\n let data = {};\n try {\n data = JSON.parse(e.target.result);\n } catch (ex) {\n alert('Parsing failed!\\r\\n ' + ex);\n }\n $('input.nvs').each(function (_index, entry) {\n $(this).parent().removeClass('bg-warning').removeClass('bg-success');\n if (data[entry.id]) {\n if (data[entry.id] !== entry.value) {\n console.log(\n 'Changed ' + entry.id + ' ' + entry.value + '==>' + data[entry.id]\n );\n $(this).parent().addClass('bg-warning');\n $(this).val(data[entry.id]);\n }\n else {\n $(this).parent().addClass('bg-success');\n }\n }\n });\n var changed = $(\"input.nvs\").children('.bg-warning');\n if (changed) {\n alert('Highlighted values were changed. Press Commit to change on the device');\n }\n }\n fr.readAsText(file);\n this.value = null;\n\n }\n );\n $('#clear-syslog').on('click', function () {\n messagecount = 0;\n messageseverity = 'MESSAGING_INFO';\n $('#msgcnt').text('');\n $('#syslogTable').html('');\n });\n\n $('#ok-credits').on('click', function () {\n $('#credits').slideUp('fast', function () { });\n $('#app').slideDown('fast', function () { });\n });\n\n $('#acredits').on('click', function (event) {\n event.preventDefault();\n $('#app').slideUp('fast', function () { });\n $('#credits').slideDown('fast', function () { });\n });\n\n $('input#show-commands').on('click', function () {\n this.checked = this.checked ? 1 : 0;\n if (this.checked) {\n $('a[href^=\"#tab-commands\"]').show();\n LastCommandsState = 1;\n } else {\n LastCommandsState = 0;\n $('a[href^=\"#tab-commands\"]').hide();\n }\n });\n\n $('input#show-nvs').on('click', function () {\n this.checked = this.checked ? 1 : 0;\n Cookies.set(\"show-nvs\", this.checked?'Y':'N');\n handleNVSVisible();\n });\n $('#btn_reboot_recovery').on('click', function () {\n handleReboot('recovery');\n });\n $('#btn_reboot').on('click', function () {\n handleReboot('reboot');\n });\n $('#btn_flash').on('click', function () {\n hFlash();\n });\n $('#save-autoexec1').on('click', function () {\n saveAutoexec1(false);\n });\n $('#commit-autoexec1').on('click', function () {\n saveAutoexec1(true);\n });\n $('#btn_disconnect').on('click', function () {\n ConnectedTo={};\n refreshAPHTML2();\n $.ajax({\n url: '/connect.json',\n dataType: 'text',\n method: 'DELETE',\n cache: false,\n contentType: 'application/json; charset=utf-8',\n data: JSON.stringify({\n timestamp: Date.now(),\n }),\n });\n });\n $('#btnJoin').on('click', function () {\n handleConnect();\n });\n $('#reboot_nav').on('click', function () {\n handleReboot('reboot');\n });\n $('#reboot_ota_nav').on('click', function () {\n handleReboot('reboot_ota');\n });\n\n $('#save-as-nvs').on('click', function () {\n const config = getConfigJson(true);\n const a = document.createElement('a');\n a.href = URL.createObjectURL(\n new Blob([JSON.stringify(config, null, 2)], {\n type: 'text/plain',\n })\n );\n a.setAttribute(\n 'download',\n 'nvs_config_' + hostName + '_' + Date.now() + 'json'\n );\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n });\n\n $('#save-nvs').on('click', function () {\n post_config(getConfigJson(false));\n });\n\n $('#fwUpload').on('click', function () {\n const fileInput = document.getElementById('flashfilename').files;\n if (fileInput.length === 0) {\n alert('No file selected!');\n } else {\n $('#fw-url-input').value = null;\n flashState.StartOTA();\n }\n\n });\n $('[name=output-tmpl]').on('click', function () {\n handleTemplateTypeRadio(this.id);\n });\n\n $('#chkUpdates').on('click', function () {\n $('#rTable').html('');\n $.getJSON(releaseURL, function (data) {\n let i = 0;\n const branches = [];\n data.forEach(function (release) {\n const namecomponents = release.name.split('#');\n const branch = namecomponents[3];\n if (!branches.includes(branch)) {\n branches.push(branch);\n }\n });\n let fwb = '';\n branches.forEach(function (branch) {\n fwb += '';\n });\n $('#fwbranch').append(fwb);\n\n data.forEach(function (release) {\n let url = '';\n release.assets.forEach(function (asset) {\n if (asset.name.match(/\\.bin$/)) {\n url = asset.browser_download_url;\n }\n });\n const namecomponents = release.name.split('#');\n const ver = namecomponents[0];\n const cfg = namecomponents[2];\n const branch = namecomponents[3];\n var bits = ver.substr(ver.lastIndexOf('-') + 1);\n bits = (bits == '32' || bits == '16') ? bits : '';\n\n let body = release.body;\n body = body.replace(/'/gi, '\"');\n body = body.replace(\n /[\\s\\S]+(### Revision Log[\\s\\S]+)### ESP-IDF Version Used[\\s\\S]+/,\n '$1'\n );\n body = body.replace(/- \\(.+?\\) /g, '- ').encodeHTML();\n $('#rTable').append(`\n ${ver}${new Date(release.created_at).toLocalShort()}\n ${cfg}${branch}${bits}`\n );\n });\n if (i > 7) {\n $('#releaseTable').append(\n \"\" +\n \"\" +\n \"\" +\n '' +\n ''\n );\n $('#showallbutton').on('click', function () {\n $('tr.hide').removeClass('hide');\n $('tr#showall').addClass('hide');\n });\n }\n $('#searchfw').css('display', 'inline');\n if (!setPlatformFilter(platform_name)) {\n setPlatformFilter(project_name)\n }\n $('#rTable tr.release').on('click', function () {\n var url = this.attributes['fwurl'].value;\n if (lmsBaseUrl) {\n url = url.replace(/.*\\/download\\//, lmsBaseUrl + '/plugins/SqueezeESP32/firmware/');\n }\n $('#fw-url-input').val(url);\n $('#start-flash').show();\n $('#rTable tr.release').removeClass('table-success table-warning');\n $(this).addClass('table-success table-warning');\n });\n\n }).fail(function () {\n alert('failed to fetch release history!');\n });\n });\n $('#fwcheck').on('click', function () {\n $('#releaseTable').html('');\n $('#fwbranch').empty();\n $.getJSON(releaseURL, function (data) {\n let i = 0;\n const branches = [];\n data.forEach(function (release) {\n const namecomponents = release.name.split('#');\n const branch = namecomponents[3];\n if (!branches.includes(branch)) {\n branches.push(branch);\n }\n });\n let fwb;\n branches.forEach(function (branch) {\n fwb += '';\n });\n $('#fwbranch').append(fwb);\n\n data.forEach(function (release) {\n let url = '';\n release.assets.forEach(function (asset) {\n if (asset.name.match(/\\.bin$/)) {\n url = asset.browser_download_url;\n }\n });\n const namecomponents = release.name.split('#');\n const ver = namecomponents[0];\n const idf = namecomponents[1];\n const cfg = namecomponents[2];\n const branch = namecomponents[3];\n\n let body = release.body;\n body = body.replace(/'/gi, '\"');\n body = body.replace(\n /[\\s\\S]+(### Revision Log[\\s\\S]+)### ESP-IDF Version Used[\\s\\S]+/,\n '$1'\n );\n body = body.replace(/- \\(.+?\\) /g, '- ');\n const trclass = i++ > 6 ? ' hide' : '';\n $('#releaseTable').append(\n \"\" +\n \"\" +\n ver +\n '' +\n '' +\n new Date(release.created_at).toLocalShort() +\n '' +\n '' +\n cfg +\n '' +\n '' +\n idf +\n '' +\n '' +\n branch +\n '' +\n \"\" +\n ''\n );\n });\n if (i > 7) {\n $('#releaseTable').append(\n \"\" +\n \"\" +\n \"\" +\n '' +\n ''\n );\n $('#showallbutton').on('click', function () {\n $('tr.hide').removeClass('hide');\n $('tr#showall').addClass('hide');\n });\n }\n $('#searchfw').css('display', 'inline');\n }).fail(function () {\n alert('failed to fetch release history!');\n });\n });\n\n $('#updateAP').on('click', function () {\n refreshAP();\n console.log('refresh AP');\n });\n\n // first time the page loads: attempt to get the connection status and start the wifi scan\n getConfig();\n getCommands();\n getMessages();\n checkStatus();\n\n});\n\n// eslint-disable-next-line no-unused-vars\nwindow.setURL = function (button) {\n let url = button.dataset.url;\n\n $('[data-bs-url^=\"http\"]')\n .addClass('btn-success')\n .removeClass('btn-danger');\n $('[data-bs-url=\"' + url + '\"]')\n .addClass('btn-danger')\n .removeClass('btn-success');\n\n // if user can proxy download through LMS, modify the URL\n if (lmsBaseUrl) {\n url = url.replace(/.*\\/download\\//, lmsBaseUrl + '/plugins/SqueezeESP32/firmware/');\n }\n\n $('#fwurl').val(url);\n}\n\n\nfunction rssiToIcon(rssi) {\n if (rssi >= -55) {\n return {'label':'****','icon':`signal_wifi_statusbar_4_bar`};\n } else if (rssi >= -60) {\n return {'label':'***','icon':`network_wifi_3_bar`};\n } else if (rssi >= -65) {\n return {'label':'**','icon':`network_wifi_2_bar`};\n } else if (rssi >= -70) {\n return {'label':'*','icon':`network_wifi_1_bar`};\n } else {\n return {'label':'.','icon':`signal_wifi_statusbar_null`};\n }\n}\n\nfunction refreshAP() {\n if (ConnectedTo?.urc === connectReturnCode.ETH) return;\n $.ajaxSetup({\n timeout: 3000 //Time in milliseconds\n });\n $.getJSON('/scan.json', async function () {\n await sleep(2000);\n $.getJSON('/ap.json', function (data) {\n if (data.length > 0) {\n // sort by signal strength\n data.sort(function (a, b) {\n const x = a.rssi;\n const y = b.rssi;\n // eslint-disable-next-line no-nested-ternary\n return x < y ? 1 : x > y ? -1 : 0;\n });\n apList = data;\n refreshAPHTML2(apList);\n\n }\n });\n });\n}\nfunction formatAP(ssid, rssi, auth) {\n const rssi_icon=rssiToIcon(rssi);\n const auth_icon={label:auth == 0 ? '🔓' : '🔒',icon:auth == 0 ? 'no_encryption' : 'lock'};\n \n return `${ssid}\n ${getIcon(rssi_icon)}\n \t\n ${getIcon(auth_icon)}\n `;\n}\nfunction refreshAPHTML2(data) {\n let h = '';\n $('#wifiTable tr td:first-of-type').text('');\n $('#wifiTable tr').removeClass('table-success table-warning');\n if (data) {\n data.forEach(function (e) {\n h += formatAP(e.ssid, e.rssi, e.auth);\n });\n $('#wifiTable').html(h);\n }\n if ($('.manual_add').length == 0) {\n $('#wifiTable').append(formatAP('Manual add', 0, 0));\n $('#wifiTable tr:last').addClass('table-light text-dark').addClass('manual_add');\n }\n if (ConnectedTo.ssid && (ConnectedTo.urc === connectReturnCode.OK || ConnectedTo.urc === connectReturnCode.RESTORE)) {\n const wifiSelector = `#wifiTable td:contains(\"${ConnectedTo.ssid}\")`;\n if ($(wifiSelector).filter(function () { return $(this).text() === ConnectedTo.ssid; }).length == 0) {\n $('#wifiTable').prepend(`${formatAP(ConnectedTo.ssid, ConnectedTo.rssi ?? 0, 0)}`);\n }\n $(wifiSelector).filter(function () { return $(this).text() === ConnectedTo.ssid; }).siblings().first().html('✓').parent().addClass((ConnectedTo.urc === connectReturnCode.OK ? 'table-success' : 'table-warning'));\n $('span#foot-if').html(`SSID: ${ConnectedTo.ssid}, IP: ${ConnectedTo.ip}`);\n $('#wifiStsIcon').html(rssiToIcon(ConnectedTo.rssi));\n\n }\n else if (ConnectedTo?.urc !== connectReturnCode.ETH) {\n $('span#foot-if').html('');\n }\n\n}\nfunction refreshETH() {\n\n if (ConnectedTo.urc === connectReturnCode.ETH) {\n $('span#foot-if').html(`Network: Ethernet, IP: ${ConnectedTo.ip}`);\n }\n}\nfunction showTask(task) {\n console.debug(\n this.toLocaleString() +\n '\\t' +\n task.nme +\n '\\t' +\n task.cpu +\n '\\t' +\n taskStates[task.st] +\n '\\t' +\n task.minstk +\n '\\t' +\n task.bprio +\n '\\t' +\n task.cprio +\n '\\t' +\n task.num\n );\n $('tbody#tasks').append(\n '' +\n task.num +\n '' +\n task.nme +\n '' +\n task.cpu +\n '' +\n taskStates[task.st] +\n '' +\n task.minstk +\n '' +\n task.bprio +\n '' +\n task.cprio +\n ''\n );\n}\nfunction btExists(name) {\n return getBTSinkOpt(name).length > 0;\n}\nfunction getBTSinkOpt(name) {\n return $(`${btSinkNamesOptSel} option:contains('${name}')`);\n}\nfunction getMessages() {\n $.ajaxSetup({\n timeout: messageInterval //Time in milliseconds\n });\n $.getJSON('/messages.json', async function (data) {\n for (const msg of data) {\n const msgAge = msg.current_time - msg.sent_time;\n var msgTime = new Date();\n msgTime.setTime(msgTime.getTime() - msgAge);\n switch (msg.class) {\n case 'MESSAGING_CLASS_OTA':\n flashState.EventOTAMessageClass(msg.message);\n break;\n case 'MESSAGING_CLASS_STATS':\n // for task states, check structure : task_state_t\n var statsData = JSON.parse(msg.message);\n console.debug(\n msgTime.toLocalShort() +\n ' - Number of running tasks: ' +\n statsData.ntasks\n );\n console.debug(\n msgTime.toLocalShort() +\n '\\tname' +\n '\\tcpu' +\n '\\tstate' +\n '\\tminstk' +\n '\\tbprio' +\n '\\tcprio' +\n '\\tnum'\n );\n if (statsData.tasks) {\n if ($('#tasks_sect').css('visibility') === 'collapse') {\n $('#tasks_sect').css('visibility', 'visible');\n }\n $('tbody#tasks').html('');\n statsData.tasks\n .sort(function (a, b) {\n return b.cpu - a.cpu;\n })\n .forEach(showTask, msgTime);\n } else if ($('#tasks_sect').css('visibility') === 'visible') {\n $('tbody#tasks').empty();\n $('#tasks_sect').css('visibility', 'collapse');\n }\n break;\n case 'MESSAGING_CLASS_SYSTEM':\n showMessage(msg, msgTime);\n break;\n case 'MESSAGING_CLASS_CFGCMD':\n var msgparts = msg.message.split(/([^\\n]*)\\n(.*)/gs);\n showCmdMessage(msgparts[1], msg.type, msgparts[2], true);\n break;\n case 'MESSAGING_CLASS_BT':\n if ($(\"#cfg-audio-bt_source-sink_name\").is('input')) {\n var attr = $(\"#cfg-audio-bt_source-sink_name\")[0].attributes;\n var attrs = '';\n for (var j = 0; j < attr.length; j++) {\n if (attr.item(j).name != \"type\") {\n attrs += `${attr.item(j).name} = \"${attr.item(j).value}\" `;\n }\n }\n var curOpt = $(\"#cfg-audio-bt_source-sink_name\")[0].value;\n $(\"#cfg-audio-bt_source-sink_name\").replaceWith(` `);\n }\n JSON.parse(msg.message).forEach(function (btEntry) {\n //\n // \n if (!btExists(btEntry.name)) {\n $(\"#cfg-audio-bt_source-sink_name\").append(``);\n showMessage({ type: msg.type, message: `BT Audio device found: ${btEntry.name} RSSI: ${btEntry.rssi} ` }, msgTime);\n }\n getBTSinkOpt(btEntry.name).attr('data-bs-description', `${btEntry.name} (${btEntry.rssi}dB)`)\n .attr('rssi', btEntry.rssi)\n .attr('value', btEntry.name)\n .text(`${btEntry.name} [${btEntry.rssi}dB]`).trigger('change');\n\n });\n $(btSinkNamesOptSel).append($(`${btSinkNamesOptSel} option`).remove().sort(function (a, b) {\n console.log(`${parseInt($(a).attr('rssi'))} < ${parseInt($(b).attr('rssi'))} ? `);\n return parseInt($(a).attr('rssi')) < parseInt($(b).attr('rssi')) ? 1 : -1;\n }));\n break;\n default:\n break;\n }\n }\n setTimeout(getMessages,messageInterval);\n }).fail(function (xhr, ajaxOptions, thrownError) {\n \n if (xhr.status == 404) {\n $('.orec').hide(); // system commands won't be available either\n messagesHeld = true;\n }\n else {\n handleExceptionResponse(xhr, ajaxOptions, thrownError);\n }\n if(xhr.status == 0 && xhr.readyState ==0){\n // probably a timeout. Target is rebooting? \n setTimeout(getMessages,messageInterval*2); // increase duration if a failure happens\n }\n else if(!messagesHeld){\n // 404 here means we rebooted to an old recovery\n setTimeout(getMessages,messageInterval); // increase duration if a failure happens\n }\n \n }\n );\n\n /*\n Minstk is minimum stack space left\nBprio is base priority\ncprio is current priority\nnme is name\nst is task state. I provided a \"typedef\" that you can use to convert to text\ncpu is cpu percent used\n*/\n}\nfunction handleRecoveryMode(data) {\n const locRecovery = data.recovery ?? 0;\n if (locRecovery === 1) {\n recovery = true;\n $('.recovery_element').show();\n $('.ota_element').hide();\n $('#boot-button').html('Reboot');\n $('#boot-form').attr('action', '/reboot_ota.json');\n } else {\n if(!recovery && messagesHeld){\n messagesHeld=false;\n setTimeout(getMessages,messageInterval); // increase duration if a failure happens\n }\n recovery = false;\n \n $('.recovery_element').hide();\n $('.ota_element').show();\n $('#boot-button').html('Recovery');\n $('#boot-form').attr('action', '/recovery.json');\n }\n \n}\n\nfunction hasConnectionChanged(data) {\n // gw: \"192.168.10.1\"\n // ip: \"192.168.10.225\"\n // netmask: \"255.255.255.0\"\n // ssid: \"MyTestSSID\"\n\n return (data.urc !== ConnectedTo.urc ||\n data.ssid !== ConnectedTo.ssid ||\n data.gw !== ConnectedTo.gw ||\n data.netmask !== ConnectedTo.netmask ||\n data.ip !== ConnectedTo.ip || data.rssi !== ConnectedTo.rssi)\n}\nfunction handleWifiDialog(data) {\n if ($('#WifiConnectDialog').is(':visible')) {\n if (ConnectedTo.ip) {\n $('#ipAddress').text(ConnectedTo.ip);\n }\n if (ConnectedTo.ssid) {\n $('#connectedToSSID').text(ConnectedTo.ssid);\n }\n if (ConnectedTo.gw) {\n $('#gateway').text(ConnectedTo.gw);\n }\n if (ConnectedTo.netmask) {\n $('#netmask').text(ConnectedTo.netmask);\n }\n if (ConnectingToSSID.Action === undefined || (ConnectingToSSID.Action && ConnectingToSSID.Action == ConnectingToActions.STS)) {\n $(\"*[class*='connecting']\").hide();\n $('.connecting-status').show();\n }\n if (SystemConfig.ap_ssid) {\n $('#apName').text(SystemConfig.ap_ssid.value);\n }\n if (SystemConfig.ap_pwd) {\n $('#apPass').text(SystemConfig.ap_pwd.value);\n }\n if (!data) {\n return;\n }\n else {\n switch (data.urc) {\n case connectReturnCode.OK:\n if (data.ssid && data.ssid === ConnectingToSSID.ssid) {\n $(\"*[class*='connecting']\").hide();\n $('.connecting-success').show();\n ConnectingToSSID.Action = ConnectingToActions.STS;\n }\n break;\n case connectReturnCode.FAIL:\n // \n if (ConnectingToSSID.Action != ConnectingToActions.STS && ConnectingToSSID.ssid == data.ssid) {\n $(\"*[class*='connecting']\").hide();\n $('.connecting-fail').show();\n }\n break;\n case connectReturnCode.LOST:\n\n break;\n case connectReturnCode.RESTORE:\n if (ConnectingToSSID.Action != ConnectingToActions.STS && ConnectingToSSID.ssid != data.ssid) {\n $(\"*[class*='connecting']\").hide();\n $('.connecting-fail').show();\n }\n break;\n case connectReturnCode.DISC:\n // that's a manual disconnect\n // if ($('#wifi-status').is(':visible')) {\n // $('#wifi-status').slideUp('fast', function() {});\n // $('span#foot-wifi').html('');\n\n // } \n break;\n default:\n break;\n }\n }\n\n }\n}\nfunction setIcons(offline){\n $('.material-icons').each(function (_index, entry) {\n entry.textContent = entry.attributes[offline?'aria-label':'icon'].value;\n });\n}\nfunction handleNetworkStatus(data) {\n setIcons(!isConnected());\n if (hasConnectionChanged(data) || !data.urc) {\n ConnectedTo = data;\n $(\".if_eth\").hide();\n $('.if_wifi').hide();\n if (!data.urc || ConnectedTo.urc != connectReturnCode.ETH) {\n $('.if_wifi').show();\n refreshAPHTML2();\n }\n else {\n $(\".if_eth\").show();\n refreshETH();\n }\n\n }\n handleWifiDialog(data);\n}\n\n\n\nfunction batteryToIcon(voltage) {\n /* Assuming Li-ion 18650s as a power source, 3.9V per cell, or above is treated\n as full charge (>75% of capacity). 3.4V is empty. The gauge is loosely\n following the graph here:\n https://learn.adafruit.com/li-ion-and-lipoly-batteries/voltages\n using the 0.2C discharge profile for the rest of the values.\n*/\n\n for (const iconEntry of batIcons) {\n for (const entryRanges of iconEntry.ranges) {\n if (inRange(voltage, entryRanges.f, entryRanges.t)) {\n return { label: iconEntry.label, icon:iconEntry.icon};\n }\n }\n }\n\n\n return {label:'▪▪▪▪',icon:\"battery_full\"};\n}\nfunction checkStatus() {\n $.ajaxSetup({\n timeout: statusInterval //Time in milliseconds\n });\n $.getJSON('/status.json', function (data) {\n handleRecoveryMode(data);\n handleNVSVisible();\n handleNetworkStatus(data);\n handlebtstate(data);\n flashState.EventTargetStatus(data);\n\n if (data.project_name && data.project_name !== '') {\n project_name = data.project_name;\n }\n if (data.platform_name && data.platform_name !== '') {\n platform_name = data.platform_name;\n }\n if (board_model === '') board_model = project_name;\n if (board_model === '') board_model = 'Squeezelite-ESP32';\n if (data.version && data.version !== '') {\n versionName = data.version;\n $(\"#navtitle\").html(`${board_model}${recovery ? '
[recovery]' : ''}`);\n $('span#foot-fw').html(`fw: ${versionName}, mode: ${recovery ? \"Recovery\" : project_name}`);\n } else {\n $('span#flash-status').html('');\n }\n if (data.Voltage) {\n const bat_icon=batteryToIcon(data.Voltage);\n $('#battery').html(`${getIcon(bat_icon)}`);\n $('#battery').attr(\"aria-label\",bat_icon.label);\n $('#battery').attr(\"icon\",bat_icon.icon);\n $('#battery').show();\n } else {\n $('#battery').hide();\n }\n if ((data.message ?? '') != '' && prevmessage != data.message) {\n // supporting older recovery firmwares - messages will come from the status.json structure\n prevmessage = data.message;\n showLocalMessage(data.message, 'MESSAGING_INFO')\n }\n is_i2c_locked = data.is_i2c_locked;\n if (is_i2c_locked) {\n $('flds-cfg-hw-preset').hide();\n }\n else {\n $('flds-cfg-hw-preset').show();\n }\n $(\"button[onclick*='handleReboot']\").removeClass('rebooting');\n\n if (typeof lmsBaseUrl == \"undefined\" || data.lms_ip != prevLMSIP && data.lms_ip && data.lms_port) {\n const baseUrl = 'http://' + data.lms_ip + ':' + data.lms_port;\n prevLMSIP = data.lms_ip;\n $.ajax({\n url: baseUrl + '/plugins/SqueezeESP32/firmware/-check.bin',\n type: 'HEAD',\n dataType: 'text',\n cache: false,\n error: function () {\n // define the value, so we don't check it any more.\n lmsBaseUrl = '';\n },\n success: function () {\n lmsBaseUrl = baseUrl;\n }\n });\n }\n $('#o_jack').css({ display: Number(data.Jack) ? 'inline' : 'none' });\n setTimeout(checkStatus,statusInterval);\n }).fail(function (xhr, ajaxOptions, thrownError) {\n handleExceptionResponse(xhr, ajaxOptions, thrownError);\n if(xhr.status == 0 && xhr.readyState ==0){\n // probably a timeout. Target is rebooting? \n setTimeout(checkStatus,messageInterval*2); // increase duration if a failure happens\n }\n else {\n setTimeout(checkStatus,messageInterval); // increase duration if a failure happens\n }\n });\n}\n// eslint-disable-next-line no-unused-vars\nwindow.runCommand = function (button, reboot) {\n let cmdstring = button.attributes.cmdname.value;\n showCmdMessage(\n button.attributes.cmdname.value,\n 'MESSAGING_INFO',\n 'Executing.',\n false\n );\n const fields = document.getElementById('flds-' + cmdstring);\n const allfields = fields?.querySelectorAll('select,input');\n if (cmdstring === 'cfg-hw-preset') return handleHWPreset(allfields, reboot);\n cmdstring += ' ';\n if (fields) {\n\n for (const field of allfields) {\n let qts = '';\n let opt = '';\n let attr = field.attributes;\n let isSelect = $(field).is('select');\n const hasValue = attr?.hasvalue?.value === 'true';\n const validVal = (isSelect && field.value !== '--') || (!isSelect && field.value !== '');\n\n if (!hasValue || hasValue && validVal) {\n if (attr?.longopts?.value !== 'undefined') {\n opt += '--' + attr?.longopts?.value;\n } else if (attr?.shortopts?.value !== 'undefined') {\n opt = '-' + attr.shortopts.value;\n }\n\n if (attr?.hasvalue?.value === 'true') {\n if (attr?.value !== '') {\n qts = /\\s/.test(field.value) ? '\"' : '';\n cmdstring += opt + ' ' + qts + field.value + qts + ' ';\n }\n } else {\n // this is a checkbox\n if (field?.checked) {\n cmdstring += opt + ' ';\n }\n }\n }\n }\n }\n\n console.log(cmdstring);\n\n const data = {\n timestamp: Date.now(),\n };\n data.command = cmdstring;\n\n $.ajax({\n url: '/commands.json',\n dataType: 'text',\n method: 'POST',\n cache: false,\n contentType: 'application/json; charset=utf-8',\n data: JSON.stringify(data),\n error: function (xhr, _ajaxOptions, thrownError) {\n var cmd = JSON.parse(this.data).command;\n if (xhr.status == 404) {\n showCmdMessage(\n cmd.substr(0, cmd.indexOf(' ')),\n 'MESSAGING_ERROR',\n `${recovery ? 'Limited recovery mode active. Unsupported action ' : 'Unexpected error while processing command'}`,\n true\n );\n }\n else {\n handleExceptionResponse(xhr, _ajaxOptions, thrownError);\n showCmdMessage(\n cmd.substr(0, cmd.indexOf(' ') - 1),\n 'MESSAGING_ERROR',\n `Unexpected error ${(thrownError !== '') ? thrownError : 'with return status = ' + xhr.status}`,\n true\n );\n }\n },\n success: function (response) {\n $('.orec').show();\n console.log(response);\n if (\n JSON.parse(response).Result === 'Success' &&\n reboot\n ) {\n delayReboot(2500, button.attributes.cmdname.value);\n }\n },\n });\n}\nfunction getLongOps(data, name, longopts) {\n return data.values[name] !== undefined ? data.values[name][longopts] : \"\";\n}\nfunction getCommands() {\n $.ajaxSetup({\n timeout: 7000 //Time in milliseconds\n });\n $.getJSON('/commands.json', function (data) {\n console.log(data);\n $('.orec').show();\n data.commands.forEach(function (command) {\n if ($('#flds-' + command.name).length === 0) {\n const cmdParts = command.name.split('-');\n const isConfig = cmdParts[0] === 'cfg';\n const targetDiv = '#tab-' + cmdParts[0] + '-' + cmdParts[1];\n let innerhtml = '';\n innerhtml += `
${command.help.encodeHTML().replace(/\\n/g, '
')}
`;\n if (command.argtable) {\n command.argtable.forEach(function (arg) {\n let placeholder = arg.datatype || '';\n const ctrlname = command.name + '-' + arg.longopts;\n const curvalue = getLongOps(data, command.name, arg.longopts);\n\n let attributes = 'hasvalue=' + arg.hasvalue + ' ';\n attributes += 'longopts=\"' + arg.longopts + '\" ';\n attributes += 'shortopts=\"' + arg.shortopts + '\" ';\n attributes += 'checkbox=' + arg.checkbox + ' ';\n attributes += 'cmdname=\"' + command.name + '\" ';\n attributes +=\n 'id=\"' +\n ctrlname +\n '\" name=\"' +\n ctrlname +\n '\" hasvalue=\"' +\n arg.hasvalue +\n '\" ';\n let extraclass = arg.mincount > 0 ? 'bg-success' : '';\n if (arg.glossary === 'hidden') {\n attributes += ' style=\"visibility: hidden;\"';\n }\n if (arg.checkbox) {\n innerhtml += `
`;\n } else {\n innerhtml += `
`;\n if (placeholder.includes('|')) {\n extraclass = placeholder.startsWith('+') ? ' multiple ' : '';\n placeholder = placeholder\n .replace('<', '')\n .replace('=', '')\n .replace('>', '');\n innerhtml += `';\n } else {\n innerhtml += ``;\n }\n }\n\n innerhtml += `${arg.checkbox ? '
' : ''}Previous value: ${arg.checkbox ? (curvalue ? 'Checked' : 'Unchecked') : (curvalue || '')}${arg.checkbox ? '' : '
'}`;\n });\n }\n innerhtml += `
\n
\n
\n Result\n
\n
\n
`;\n if (isConfig) {\n innerhtml +=\n `\n`;\n } else {\n innerhtml += ``;\n }\n innerhtml += '
';\n if (isConfig) {\n $(targetDiv).append(innerhtml);\n } else {\n $('#commands-list').append(innerhtml);\n }\n }\n });\n $(\".sclk\").off('click').on('click', function () { runCommand(this, false); });\n $(\".cclk\").off('click').on('click', function () { runCommand(this, true); });\n data.commands.forEach(function (command) {\n $('[cmdname=' + command.name + ']:input').val('');\n $('[cmdname=' + command.name + ']:checkbox').prop('checked', false);\n if (command.argtable) {\n command.argtable.forEach(function (arg) {\n const ctrlselector = '#' + command.name + '-' + arg.longopts;\n const ctrlValue = getLongOps(data, command.name, arg.longopts);\n if (arg.checkbox) {\n $(ctrlselector)[0].checked = ctrlValue;\n } else {\n if (ctrlValue !== undefined) {\n $(ctrlselector)\n .val(ctrlValue)\n .trigger('change');\n }\n if (\n $(ctrlselector)[0].value.length === 0 &&\n (arg.datatype || '').includes('|')\n ) {\n $(ctrlselector)[0].value = '--';\n }\n }\n });\n }\n });\n loadPresets();\n }).fail(function (xhr, ajaxOptions, thrownError) {\n if (xhr.status == 404) {\n $('.orec').hide();\n }\n else {\n handleExceptionResponse(xhr, ajaxOptions, thrownError);\n }\n $('#commands-list').empty();\n\n });\n}\n\nfunction getConfig() {\n $.ajaxSetup({\n timeout: 7000 //Time in milliseconds\n });\n $.getJSON('/config.json', function (entries) {\n $('#nvsTable tr').remove();\n const data = (entries.config ? entries.config : entries);\n SystemConfig = data;\n Object.keys(data)\n .sort()\n .forEach(function (key) {\n let val = data[key].value;\n if (key === 'autoexec') {\n if (data.autoexec.value === '0') {\n $('#disable-squeezelite')[0].checked = true;\n } else {\n $('#disable-squeezelite')[0].checked = false;\n }\n } else if (key === 'autoexec1') {\n const re = /-o\\s?([\"][^\"]*[\"]|[^-]+)/g;\n const m = re.exec(val);\n if (m[1].toUpperCase().startsWith('I2S')) {\n handleTemplateTypeRadio('i2s');\n } else if (m[1].toUpperCase().startsWith('SPDIF')) {\n handleTemplateTypeRadio('spdif');\n } else if (m[1].toUpperCase().startsWith('\"BT')) {\n handleTemplateTypeRadio('bt');\n }\n } else if (key === 'host_name') {\n val = val.replaceAll('\"', '');\n $('input#dhcp-name1').val(val);\n $('input#dhcp-name2').val(val);\n $('#player').val(val);\n document.title = val;\n hostName = val;\n } else if (key === 'rel_api') {\n releaseURL = val;\n }\n else if (key === 'enable_airplay') {\n $(\"#s_airplay\").css({ display: isEnabled(val) ? 'inline' : 'none' })\n }\n else if (key === 'enable_cspot') {\n $(\"#s_cspot\").css({ display: isEnabled(val) ? 'inline' : 'none' })\n }\n else if (key == 'preset_name') {\n preset_name = val;\n }\n else if (key == 'board_model') {\n board_model = val;\n }\n\n $('tbody#nvsTable').append(\n '' +\n '' +\n key +\n '' +\n \"\" +\n \"' +\n '' +\n ''\n );\n $('input#' + key).val(data[key].value);\n });\n $('tbody#nvsTable').append(\n \"\"\n );\n if (entries.gpio) {\n $('#pins').show();\n $('tbody#gpiotable tr').remove();\n entries.gpio.forEach(function (gpioEntry) {\n $('tbody#gpiotable').append(\n '' +\n gpioEntry.group +\n '' +\n gpioEntry.name +\n '' +\n gpioEntry.gpio +\n '' +\n (gpioEntry.fixed ? 'Fixed' : 'Configuration') +\n ''\n );\n });\n }\n else {\n $('#pins').hide();\n }\n }).fail(function (xhr, ajaxOptions, thrownError) {\n handleExceptionResponse(xhr, ajaxOptions, thrownError);\n });\n}\nfunction showLocalMessage(message, severity) {\n const msg = {\n message: message,\n type: severity,\n };\n showMessage(msg, new Date());\n}\n\nfunction showMessage(msg, msgTime) {\n let color = 'table-success';\n\n if (msg.type === 'MESSAGING_WARNING') {\n color = 'table-warning';\n if (messageseverity === 'MESSAGING_INFO') {\n messageseverity = 'MESSAGING_WARNING';\n }\n } else if (msg.type === 'MESSAGING_ERROR') {\n if (\n messageseverity === 'MESSAGING_INFO' ||\n messageseverity === 'MESSAGING_WARNING'\n ) {\n messageseverity = 'MESSAGING_ERROR';\n }\n color = 'table-danger';\n }\n if (++messagecount > 0) {\n $('#msgcnt').removeClass('badge-success');\n $('#msgcnt').removeClass('badge-warning');\n $('#msgcnt').removeClass('badge-danger');\n $('#msgcnt').addClass(pillcolors[messageseverity]);\n $('#msgcnt').text(messagecount);\n }\n\n $('#syslogTable').append(\n \"\" +\n '' +\n msgTime.toLocalShort() +\n '' +\n '' +\n msg.message.encodeHTML() +\n '' +\n ''\n );\n}\n\nfunction inRange(x, min, max) {\n return (x - min) * (x - max) <= 0;\n}\n\nfunction sleep(ms) {\n return new Promise(resolve => setTimeout(resolve, ms));\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nrequire(\"bootstrap\");\nrequire(\"./sass/main.scss\");\nrequire(\"./assets/images/favicon-32x32.png\");\nrequire(\"./js/custom.js\");\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t826: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunksqueezelite_esp32\"] = self[\"webpackChunksqueezelite_esp32\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [987], () => (__webpack_require__(607)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","he","require","Promise","handleNVSVisible","nvs_previous_checked","isEnabled","Cookies","$","checked","recovery","show","hide","val","undefined","match","window","bootstrap","String","prototype","format","Object","assign","args","arguments","this","replace","number","encodeHTML","encode","Date","toLocalShort","toLocaleString","dateStyle","timeStyle","nvsTypes","btIcons","bt_playing","bt_disconnected","bt_neutral","bt_connecting","bt_connected","bt_disabled","play_arrow","pause","stop","batIcons","icon","label","ranges","f","t","btStateIcons","desc","sub","pillcolors","MESSAGING_INFO","MESSAGING_WARNING","MESSAGING_ERROR","connectReturnCode","OK","FAIL","DISC","LOST","RESTORE","ETH","taskStates","flashState","NONE","REBOOT_TO_RECOVERY","SET_FWURL","FLASHING","DONE","UPLOADING","ERROR","UPLOADCOMPLETE","_state","olderRecovery","statusText","flashURL","flashFileName","statusPercent","Completed","prevRecovery","updateModal","Modal","document","getElementById","reset","UpdateProgress","removeClass","prop","value","isStateError","html","parent","isStateUploadComplete","isStateNone","isStateRebootRecovery","isStateSetUrl","isStateFlashing","isStateDone","isStateUploading","init","SetStateError","addClass","SetStateNone","SetStateRebootRecovery","SetStatusText","ajax","url","context","dataType","method","cache","contentType","data","JSON","stringify","timestamp","now","error","xhr","_ajaxOptions","thrownError","_xhr$status","setOTAError","concat","status","complete","response","SetStateSetUrl","post_config","fwurl","type","SetStateFlashing","SetStateDone","SetStateUploading","SetStateUploadComplete","isFlashExecuting","toString","_this","keys","find","x","setOTATargets","fileInput","files","length","message","SetStatusPercent","ShowDialog","pct","pctChanged","txt","changed","css","attr","text","StartOTA","logEvent","name","TargetReadyStartOTA","UploadLocalFile","xhttp","XMLHttpRequest","boundHandleUploadProgressEvent","HandleUploadProgressEvent","bind","boundsetOTAError","upload","addEventListener","onreadystatechange","readyState","open","send","console","Math","round","loaded","total","EventTargetStatus","_data$ota_pct","_data$ota_dsc","ota_pct","ota_dsc","EventOTAMessageClass","otaData","parse","fun","log","hideSurrounding","obj","presetsloaded","messageInterval","confPayload","config","handleExceptionResponse","isConnected","ConnectedTo","hasOwnProperty","ip","getIcon","icons","handleTemplateTypeRadio","outtype","children","display","output","showLocalMessage","showCmdMessage","cmdname","msgtype","msgtext","append","color","escapedtext","substring","hFlash","handleReboot","link","delayReboot","lmsBaseUrl","releaseURL","messagesHeld","messagecount","messageseverity","SystemConfig","LastCommandsState","hostName","versionName","prevmessage","project_name","board_model","platform_name","preset_name","btSinkNamesOptSel","ConnectingToSSID","prevLMSIP","ConnectingToActions","getConfigJson","slimMode","each","_index","entry","id","nvsType","parseInt","attributes","nvs_type","key","duration","empty","resolve","delay","then","rdata","HideCmdMessage","getCommands","getConfig","setPlatformFilter","filter","toUpperCase","trigger","rssiToIcon","rssi","refreshAP","_ConnectedTo","urc","ajaxSetup","timeout","getJSON","_asyncToGenerator","_regeneratorRuntime","_callee","_context","prev","next","sleep","sort","a","b","y","refreshAPHTML2","formatAP","ssid","auth","rssi_icon","auth_icon","_ConnectedTo2","h","forEach","e","_ConnectedTo$rssi","wifiSelector","prepend","siblings","first","showTask","task","debug","nme","cpu","st","minstk","bprio","cprio","num","getBTSinkOpt","getMessages","_ref2","_callee2","_iterator","_step","_loop","msgTime","statsData","msgparts","attrs","j","curOpt","_context3","_createForOfIteratorHelper","msg","msgAge","_context2","current_time","sent_time","setTime","getTime","t0","abrupt","ntasks","tasks","showMessage","split","is","item","replaceWith","btEntry","remove","s","n","done","delegateYield","t1","finish","setTimeout","_x","apply","fail","ajaxOptions","handleWifiDialog","gw","netmask","Action","STS","ap_ssid","ap_pwd","setIcons","offline","textContent","handleNetworkStatus","hasConnectionChanged","checkStatus","_data$message","_data$recovery","handleRecoveryMode","tt","bt_status","bt_sub_status","iconindex","handlebtstate","version","Voltage","bat_icon","voltage","_i2","_batIcons","_step2","iconEntry","_iterator2","entryRanges","err","batteryToIcon","is_i2c_locked","lms_ip","lms_port","baseUrl","success","Number","Jack","getLongOps","longopts","values","commands","command","cmdParts","isConfig","targetDiv","innerhtml","help","argtable","arg","placeholder","datatype","ctrlname","curvalue","hasvalue","shortopts","checkbox","extraclass","mincount","glossary","includes","startsWith","choice","off","on","runCommand","ctrlselector","ctrlValue","_","jqxhr","textStatus","entries","autoexec","m","exec","replaceAll","title","gpio","gpioEntry","fixed","group","severity","ms","reason","_resolve","reject","saveAutoexec1","commandLine","commandHeader","autoexec1","responseText","result","Result","handleDisconnect","handleConnect","pwd","dhcpname","ready","index","not","event","relatedTarget","CONN","MAN","FileReader","file","fr","onload","target","ex","alert","readAsText","slideUp","slideDown","preventDefault","createElement","href","URL","createObjectURL","Blob","setAttribute","body","appendChild","click","removeChild","branches","release","branch","push","fwb","assets","asset","browser_download_url","namecomponents","ver","cfg","bits","substr","lastIndexOf","created_at","i","idf","trclass","setURL","button","dataset","reboot","cmdstring","fields","allfields","querySelectorAll","selJson","cmd","model_config","_i","_Object$entries","_Object$entries$_i","_slicedToArray","storedval","handleHWPreset","_step3","_iterator3","_attr$hasvalue","field","qts","opt","isSelect","hasValue","validVal","_attr$longopts","_attr$shortopts","_attr$hasvalue2","_attr$longopts2","test","indexOf","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","module","__webpack_modules__","call","O","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","every","splice","r","getter","__esModule","d","definition","o","defineProperty","enumerable","get","g","globalThis","Function","Symbol","toStringTag","nmd","paths","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/components/wifi-manager/webapp/dist/js/node_vendors.44748c.bundle.js b/components/wifi-manager/webapp/dist/js/node_vendors.44748c.bundle.js deleted file mode 100644 index 4d64f860..00000000 --- a/components/wifi-manager/webapp/dist/js/node_vendors.44748c.bundle.js +++ /dev/null @@ -1,2 +0,0 @@ -(self.webpackChunksqueezelite_esp32=self.webpackChunksqueezelite_esp32||[]).push([[987],{138:(e,t,r)=>{"use strict";r.r(t),r.d(t,{Alert:()=>qt,Button:()=>Lt,Carousel:()=>cr,Collapse:()=>Ar,Dropdown:()=>Yr,Modal:()=>Ln,Offcanvas:()=>Yn,Popover:()=>vi,ScrollSpy:()=>qi,Tab:()=>Yi,Toast:()=>co,Tooltip:()=>hi});var n={};r.r(n),r.d(n,{afterMain:()=>A,afterRead:()=>w,afterWrite:()=>T,applyStyles:()=>O,arrow:()=>Z,auto:()=>l,basePlacements:()=>c,beforeMain:()=>_,beforeRead:()=>b,beforeWrite:()=>E,bottom:()=>o,clippingParents:()=>f,computeStyles:()=>ne,createPopper:()=>Oe,createPopperBase:()=>Ne,createPopperLite:()=>je,detectOverflow:()=>ye,end:()=>p,eventListeners:()=>oe,flip:()=>we,hide:()=>Ae,left:()=>a,main:()=>x,modifierPhases:()=>C,offset:()=>Ee,placements:()=>v,popper:()=>h,popperGenerator:()=>Se,popperOffsets:()=>De,preventOverflow:()=>Te,read:()=>y,reference:()=>g,right:()=>s,start:()=>u,top:()=>i,variationPlacements:()=>m,viewport:()=>d,write:()=>D});var i="top",o="bottom",s="right",a="left",l="auto",c=[i,o,s,a],u="start",p="end",f="clippingParents",d="viewport",h="popper",g="reference",m=c.reduce((function(e,t){return e.concat([t+"-"+u,t+"-"+p])}),[]),v=[].concat(c,[l]).reduce((function(e,t){return e.concat([t,t+"-"+u,t+"-"+p])}),[]),b="beforeRead",y="read",w="afterRead",_="beforeMain",x="main",A="afterMain",E="beforeWrite",D="write",T="afterWrite",C=[b,y,w,_,x,A,E,D,T];function q(e){return e?(e.nodeName||"").toLowerCase():null}function k(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function L(e){return e instanceof k(e).Element||e instanceof Element}function S(e){return e instanceof k(e).HTMLElement||e instanceof HTMLElement}function N(e){return"undefined"!=typeof ShadowRoot&&(e instanceof k(e).ShadowRoot||e instanceof ShadowRoot)}const O={name:"applyStyles",enabled:!0,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach((function(e){var r=t.styles[e]||{},n=t.attributes[e]||{},i=t.elements[e];S(i)&&q(i)&&(Object.assign(i.style,r),Object.keys(n).forEach((function(e){var t=n[e];!1===t?i.removeAttribute(e):i.setAttribute(e,!0===t?"":t)})))}))},effect:function(e){var t=e.state,r={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,r.popper),t.styles=r,t.elements.arrow&&Object.assign(t.elements.arrow.style,r.arrow),function(){Object.keys(t.elements).forEach((function(e){var n=t.elements[e],i=t.attributes[e]||{},o=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:r[e]).reduce((function(e,t){return e[t]="",e}),{});S(n)&&q(n)&&(Object.assign(n.style,o),Object.keys(i).forEach((function(e){n.removeAttribute(e)})))}))}},requires:["computeStyles"]};function j(e){return e.split("-")[0]}var R=Math.max,B=Math.min,I=Math.round;function P(){var e=navigator.userAgentData;return null!=e&&e.brands?e.brands.map((function(e){return e.brand+"/"+e.version})).join(" "):navigator.userAgent}function F(){return!/^((?!chrome|android).)*safari/i.test(P())}function H(e,t,r){void 0===t&&(t=!1),void 0===r&&(r=!1);var n=e.getBoundingClientRect(),i=1,o=1;t&&S(e)&&(i=e.offsetWidth>0&&I(n.width)/e.offsetWidth||1,o=e.offsetHeight>0&&I(n.height)/e.offsetHeight||1);var s=(L(e)?k(e):window).visualViewport,a=!F()&&r,l=(n.left+(a&&s?s.offsetLeft:0))/i,c=(n.top+(a&&s?s.offsetTop:0))/o,u=n.width/i,p=n.height/o;return{width:u,height:p,top:c,right:l+u,bottom:c+p,left:l,x:l,y:c}}function M(e){var t=H(e),r=e.offsetWidth,n=e.offsetHeight;return Math.abs(t.width-r)<=1&&(r=t.width),Math.abs(t.height-n)<=1&&(n=t.height),{x:e.offsetLeft,y:e.offsetTop,width:r,height:n}}function U(e,t){var r=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(r&&N(r)){var n=t;do{if(n&&e.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function V(e){return k(e).getComputedStyle(e)}function $(e){return["table","td","th"].indexOf(q(e))>=0}function z(e){return((L(e)?e.ownerDocument:e.document)||window.document).documentElement}function G(e){return"html"===q(e)?e:e.assignedSlot||e.parentNode||(N(e)?e.host:null)||z(e)}function W(e){return S(e)&&"fixed"!==V(e).position?e.offsetParent:null}function Y(e){for(var t=k(e),r=W(e);r&&$(r)&&"static"===V(r).position;)r=W(r);return r&&("html"===q(r)||"body"===q(r)&&"static"===V(r).position)?t:r||function(e){var t=/firefox/i.test(P());if(/Trident/i.test(P())&&S(e)&&"fixed"===V(e).position)return null;var r=G(e);for(N(r)&&(r=r.host);S(r)&&["html","body"].indexOf(q(r))<0;){var n=V(r);if("none"!==n.transform||"none"!==n.perspective||"paint"===n.contain||-1!==["transform","perspective"].indexOf(n.willChange)||t&&"filter"===n.willChange||t&&n.filter&&"none"!==n.filter)return r;r=r.parentNode}return null}(e)||t}function X(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function K(e,t,r){return R(e,B(t,r))}function J(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function Q(e,t){return t.reduce((function(t,r){return t[r]=e,t}),{})}const Z={name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,r=e.state,n=e.name,l=e.options,u=r.elements.arrow,p=r.modifiersData.popperOffsets,f=j(r.placement),d=X(f),h=[a,s].indexOf(f)>=0?"height":"width";if(u&&p){var g=function(e,t){return J("number"!=typeof(e="function"==typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:Q(e,c))}(l.padding,r),m=M(u),v="y"===d?i:a,b="y"===d?o:s,y=r.rects.reference[h]+r.rects.reference[d]-p[d]-r.rects.popper[h],w=p[d]-r.rects.reference[d],_=Y(u),x=_?"y"===d?_.clientHeight||0:_.clientWidth||0:0,A=y/2-w/2,E=g[v],D=x-m[h]-g[b],T=x/2-m[h]/2+A,C=K(E,T,D),q=d;r.modifiersData[n]=((t={})[q]=C,t.centerOffset=C-T,t)}},effect:function(e){var t=e.state,r=e.options.element,n=void 0===r?"[data-popper-arrow]":r;null!=n&&("string"!=typeof n||(n=t.elements.popper.querySelector(n)))&&U(t.elements.popper,n)&&(t.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function ee(e){return e.split("-")[1]}var te={top:"auto",right:"auto",bottom:"auto",left:"auto"};function re(e){var t,r=e.popper,n=e.popperRect,l=e.placement,c=e.variation,u=e.offsets,f=e.position,d=e.gpuAcceleration,h=e.adaptive,g=e.roundOffsets,m=e.isFixed,v=u.x,b=void 0===v?0:v,y=u.y,w=void 0===y?0:y,_="function"==typeof g?g({x:b,y:w}):{x:b,y:w};b=_.x,w=_.y;var x=u.hasOwnProperty("x"),A=u.hasOwnProperty("y"),E=a,D=i,T=window;if(h){var C=Y(r),q="clientHeight",L="clientWidth";if(C===k(r)&&"static"!==V(C=z(r)).position&&"absolute"===f&&(q="scrollHeight",L="scrollWidth"),l===i||(l===a||l===s)&&c===p)D=o,w-=(m&&C===T&&T.visualViewport?T.visualViewport.height:C[q])-n.height,w*=d?1:-1;if(l===a||(l===i||l===o)&&c===p)E=s,b-=(m&&C===T&&T.visualViewport?T.visualViewport.width:C[L])-n.width,b*=d?1:-1}var S,N=Object.assign({position:f},h&&te),O=!0===g?function(e){var t=e.x,r=e.y,n=window.devicePixelRatio||1;return{x:I(t*n)/n||0,y:I(r*n)/n||0}}({x:b,y:w}):{x:b,y:w};return b=O.x,w=O.y,d?Object.assign({},N,((S={})[D]=A?"0":"",S[E]=x?"0":"",S.transform=(T.devicePixelRatio||1)<=1?"translate("+b+"px, "+w+"px)":"translate3d("+b+"px, "+w+"px, 0)",S)):Object.assign({},N,((t={})[D]=A?w+"px":"",t[E]=x?b+"px":"",t.transform="",t))}const ne={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(e){var t=e.state,r=e.options,n=r.gpuAcceleration,i=void 0===n||n,o=r.adaptive,s=void 0===o||o,a=r.roundOffsets,l=void 0===a||a,c={placement:j(t.placement),variation:ee(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:i,isFixed:"fixed"===t.options.strategy};null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign({},t.styles.popper,re(Object.assign({},c,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:s,roundOffsets:l})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,re(Object.assign({},c,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})},data:{}};var ie={passive:!0};const oe={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(e){var t=e.state,r=e.instance,n=e.options,i=n.scroll,o=void 0===i||i,s=n.resize,a=void 0===s||s,l=k(t.elements.popper),c=[].concat(t.scrollParents.reference,t.scrollParents.popper);return o&&c.forEach((function(e){e.addEventListener("scroll",r.update,ie)})),a&&l.addEventListener("resize",r.update,ie),function(){o&&c.forEach((function(e){e.removeEventListener("scroll",r.update,ie)})),a&&l.removeEventListener("resize",r.update,ie)}},data:{}};var se={left:"right",right:"left",bottom:"top",top:"bottom"};function ae(e){return e.replace(/left|right|bottom|top/g,(function(e){return se[e]}))}var le={start:"end",end:"start"};function ce(e){return e.replace(/start|end/g,(function(e){return le[e]}))}function ue(e){var t=k(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function pe(e){return H(z(e)).left+ue(e).scrollLeft}function fe(e){var t=V(e),r=t.overflow,n=t.overflowX,i=t.overflowY;return/auto|scroll|overlay|hidden/.test(r+i+n)}function de(e){return["html","body","#document"].indexOf(q(e))>=0?e.ownerDocument.body:S(e)&&fe(e)?e:de(G(e))}function he(e,t){var r;void 0===t&&(t=[]);var n=de(e),i=n===(null==(r=e.ownerDocument)?void 0:r.body),o=k(n),s=i?[o].concat(o.visualViewport||[],fe(n)?n:[]):n,a=t.concat(s);return i?a:a.concat(he(G(s)))}function ge(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function me(e,t,r){return t===d?ge(function(e,t){var r=k(e),n=z(e),i=r.visualViewport,o=n.clientWidth,s=n.clientHeight,a=0,l=0;if(i){o=i.width,s=i.height;var c=F();(c||!c&&"fixed"===t)&&(a=i.offsetLeft,l=i.offsetTop)}return{width:o,height:s,x:a+pe(e),y:l}}(e,r)):L(t)?function(e,t){var r=H(e,!1,"fixed"===t);return r.top=r.top+e.clientTop,r.left=r.left+e.clientLeft,r.bottom=r.top+e.clientHeight,r.right=r.left+e.clientWidth,r.width=e.clientWidth,r.height=e.clientHeight,r.x=r.left,r.y=r.top,r}(t,r):ge(function(e){var t,r=z(e),n=ue(e),i=null==(t=e.ownerDocument)?void 0:t.body,o=R(r.scrollWidth,r.clientWidth,i?i.scrollWidth:0,i?i.clientWidth:0),s=R(r.scrollHeight,r.clientHeight,i?i.scrollHeight:0,i?i.clientHeight:0),a=-n.scrollLeft+pe(e),l=-n.scrollTop;return"rtl"===V(i||r).direction&&(a+=R(r.clientWidth,i?i.clientWidth:0)-o),{width:o,height:s,x:a,y:l}}(z(e)))}function ve(e,t,r,n){var i="clippingParents"===t?function(e){var t=he(G(e)),r=["absolute","fixed"].indexOf(V(e).position)>=0&&S(e)?Y(e):e;return L(r)?t.filter((function(e){return L(e)&&U(e,r)&&"body"!==q(e)})):[]}(e):[].concat(t),o=[].concat(i,[r]),s=o[0],a=o.reduce((function(t,r){var i=me(e,r,n);return t.top=R(i.top,t.top),t.right=B(i.right,t.right),t.bottom=B(i.bottom,t.bottom),t.left=R(i.left,t.left),t}),me(e,s,n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function be(e){var t,r=e.reference,n=e.element,l=e.placement,c=l?j(l):null,f=l?ee(l):null,d=r.x+r.width/2-n.width/2,h=r.y+r.height/2-n.height/2;switch(c){case i:t={x:d,y:r.y-n.height};break;case o:t={x:d,y:r.y+r.height};break;case s:t={x:r.x+r.width,y:h};break;case a:t={x:r.x-n.width,y:h};break;default:t={x:r.x,y:r.y}}var g=c?X(c):null;if(null!=g){var m="y"===g?"height":"width";switch(f){case u:t[g]=t[g]-(r[m]/2-n[m]/2);break;case p:t[g]=t[g]+(r[m]/2-n[m]/2)}}return t}function ye(e,t){void 0===t&&(t={});var r=t,n=r.placement,a=void 0===n?e.placement:n,l=r.strategy,u=void 0===l?e.strategy:l,p=r.boundary,m=void 0===p?f:p,v=r.rootBoundary,b=void 0===v?d:v,y=r.elementContext,w=void 0===y?h:y,_=r.altBoundary,x=void 0!==_&&_,A=r.padding,E=void 0===A?0:A,D=J("number"!=typeof E?E:Q(E,c)),T=w===h?g:h,C=e.rects.popper,q=e.elements[x?T:w],k=ve(L(q)?q:q.contextElement||z(e.elements.popper),m,b,u),S=H(e.elements.reference),N=be({reference:S,element:C,strategy:"absolute",placement:a}),O=ge(Object.assign({},C,N)),j=w===h?O:S,R={top:k.top-j.top+D.top,bottom:j.bottom-k.bottom+D.bottom,left:k.left-j.left+D.left,right:j.right-k.right+D.right},B=e.modifiersData.offset;if(w===h&&B){var I=B[a];Object.keys(R).forEach((function(e){var t=[s,o].indexOf(e)>=0?1:-1,r=[i,o].indexOf(e)>=0?"y":"x";R[e]+=I[r]*t}))}return R}const we={name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,r=e.options,n=e.name;if(!t.modifiersData[n]._skip){for(var p=r.mainAxis,f=void 0===p||p,d=r.altAxis,h=void 0===d||d,g=r.fallbackPlacements,b=r.padding,y=r.boundary,w=r.rootBoundary,_=r.altBoundary,x=r.flipVariations,A=void 0===x||x,E=r.allowedAutoPlacements,D=t.options.placement,T=j(D),C=g||(T===D||!A?[ae(D)]:function(e){if(j(e)===l)return[];var t=ae(e);return[ce(e),t,ce(t)]}(D)),q=[D].concat(C).reduce((function(e,r){return e.concat(j(r)===l?function(e,t){void 0===t&&(t={});var r=t,n=r.placement,i=r.boundary,o=r.rootBoundary,s=r.padding,a=r.flipVariations,l=r.allowedAutoPlacements,u=void 0===l?v:l,p=ee(n),f=p?a?m:m.filter((function(e){return ee(e)===p})):c,d=f.filter((function(e){return u.indexOf(e)>=0}));0===d.length&&(d=f);var h=d.reduce((function(t,r){return t[r]=ye(e,{placement:r,boundary:i,rootBoundary:o,padding:s})[j(r)],t}),{});return Object.keys(h).sort((function(e,t){return h[e]-h[t]}))}(t,{placement:r,boundary:y,rootBoundary:w,padding:b,flipVariations:A,allowedAutoPlacements:E}):r)}),[]),k=t.rects.reference,L=t.rects.popper,S=new Map,N=!0,O=q[0],R=0;R=0,H=F?"width":"height",M=ye(t,{placement:B,boundary:y,rootBoundary:w,altBoundary:_,padding:b}),U=F?P?s:a:P?o:i;k[H]>L[H]&&(U=ae(U));var V=ae(U),$=[];if(f&&$.push(M[I]<=0),h&&$.push(M[U]<=0,M[V]<=0),$.every((function(e){return e}))){O=B,N=!1;break}S.set(B,$)}if(N)for(var z=function(e){var t=q.find((function(t){var r=S.get(t);if(r)return r.slice(0,e).every((function(e){return e}))}));if(t)return O=t,"break"},G=A?3:1;G>0;G--){if("break"===z(G))break}t.placement!==O&&(t.modifiersData[n]._skip=!0,t.placement=O,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function _e(e,t,r){return void 0===r&&(r={x:0,y:0}),{top:e.top-t.height-r.y,right:e.right-t.width+r.x,bottom:e.bottom-t.height+r.y,left:e.left-t.width-r.x}}function xe(e){return[i,s,o,a].some((function(t){return e[t]>=0}))}const Ae={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(e){var t=e.state,r=e.name,n=t.rects.reference,i=t.rects.popper,o=t.modifiersData.preventOverflow,s=ye(t,{elementContext:"reference"}),a=ye(t,{altBoundary:!0}),l=_e(s,n),c=_e(a,i,o),u=xe(l),p=xe(c);t.modifiersData[r]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:u,hasPopperEscaped:p},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":u,"data-popper-escaped":p})}};const Ee={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,r=e.options,n=e.name,o=r.offset,l=void 0===o?[0,0]:o,c=v.reduce((function(e,r){return e[r]=function(e,t,r){var n=j(e),o=[a,i].indexOf(n)>=0?-1:1,l="function"==typeof r?r(Object.assign({},t,{placement:e})):r,c=l[0],u=l[1];return c=c||0,u=(u||0)*o,[a,s].indexOf(n)>=0?{x:u,y:c}:{x:c,y:u}}(r,t.rects,l),e}),{}),u=c[t.placement],p=u.x,f=u.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=p,t.modifiersData.popperOffsets.y+=f),t.modifiersData[n]=c}};const De={name:"popperOffsets",enabled:!0,phase:"read",fn:function(e){var t=e.state,r=e.name;t.modifiersData[r]=be({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})},data:{}};const Te={name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,r=e.options,n=e.name,l=r.mainAxis,c=void 0===l||l,p=r.altAxis,f=void 0!==p&&p,d=r.boundary,h=r.rootBoundary,g=r.altBoundary,m=r.padding,v=r.tether,b=void 0===v||v,y=r.tetherOffset,w=void 0===y?0:y,_=ye(t,{boundary:d,rootBoundary:h,padding:m,altBoundary:g}),x=j(t.placement),A=ee(t.placement),E=!A,D=X(x),T="x"===D?"y":"x",C=t.modifiersData.popperOffsets,q=t.rects.reference,k=t.rects.popper,L="function"==typeof w?w(Object.assign({},t.rects,{placement:t.placement})):w,S="number"==typeof L?{mainAxis:L,altAxis:L}:Object.assign({mainAxis:0,altAxis:0},L),N=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,O={x:0,y:0};if(C){if(c){var I,P="y"===D?i:a,F="y"===D?o:s,H="y"===D?"height":"width",U=C[D],V=U+_[P],$=U-_[F],z=b?-k[H]/2:0,G=A===u?q[H]:k[H],W=A===u?-k[H]:-q[H],J=t.elements.arrow,Q=b&&J?M(J):{width:0,height:0},Z=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},te=Z[P],re=Z[F],ne=K(0,q[H],Q[H]),ie=E?q[H]/2-z-ne-te-S.mainAxis:G-ne-te-S.mainAxis,oe=E?-q[H]/2+z+ne+re+S.mainAxis:W+ne+re+S.mainAxis,se=t.elements.arrow&&Y(t.elements.arrow),ae=se?"y"===D?se.clientTop||0:se.clientLeft||0:0,le=null!=(I=null==N?void 0:N[D])?I:0,ce=U+oe-le,ue=K(b?B(V,U+ie-le-ae):V,U,b?R($,ce):$);C[D]=ue,O[D]=ue-U}if(f){var pe,fe="x"===D?i:a,de="x"===D?o:s,he=C[T],ge="y"===T?"height":"width",me=he+_[fe],ve=he-_[de],be=-1!==[i,a].indexOf(x),we=null!=(pe=null==N?void 0:N[T])?pe:0,_e=be?me:he-q[ge]-k[ge]-we+S.altAxis,xe=be?he+q[ge]+k[ge]-we-S.altAxis:ve,Ae=b&&be?function(e,t,r){var n=K(e,t,r);return n>r?r:n}(_e,he,xe):K(b?_e:me,he,b?xe:ve);C[T]=Ae,O[T]=Ae-he}t.modifiersData[n]=O}},requiresIfExists:["offset"]};function Ce(e,t,r){void 0===r&&(r=!1);var n,i,o=S(t),s=S(t)&&function(e){var t=e.getBoundingClientRect(),r=I(t.width)/e.offsetWidth||1,n=I(t.height)/e.offsetHeight||1;return 1!==r||1!==n}(t),a=z(t),l=H(e,s,r),c={scrollLeft:0,scrollTop:0},u={x:0,y:0};return(o||!o&&!r)&&(("body"!==q(t)||fe(a))&&(c=(n=t)!==k(n)&&S(n)?{scrollLeft:(i=n).scrollLeft,scrollTop:i.scrollTop}:ue(n)),S(t)?((u=H(t,!0)).x+=t.clientLeft,u.y+=t.clientTop):a&&(u.x=pe(a))),{x:l.left+c.scrollLeft-u.x,y:l.top+c.scrollTop-u.y,width:l.width,height:l.height}}function qe(e){var t=new Map,r=new Set,n=[];function i(e){r.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach((function(e){if(!r.has(e)){var n=t.get(e);n&&i(n)}})),n.push(e)}return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){r.has(e.name)||i(e)})),n}var ke={placement:"bottom",modifiers:[],strategy:"absolute"};function Le(){for(var e=arguments.length,t=new Array(e),r=0;r{let t=e.getAttribute("data-bs-target");if(!t||"#"===t){let r=e.getAttribute("href");if(!r||!r.includes("#")&&!r.startsWith("."))return null;r.includes("#")&&!r.startsWith("#")&&(r=`#${r.split("#")[1]}`),t=r&&"#"!==r?r.trim():null}return t},Ie=e=>{const t=Be(e);return t&&document.querySelector(t)?t:null},Pe=e=>{const t=Be(e);return t?document.querySelector(t):null},Fe=e=>{e.dispatchEvent(new Event(Re))},He=e=>!(!e||"object"!=typeof e)&&(void 0!==e.jquery&&(e=e[0]),void 0!==e.nodeType),Me=e=>He(e)?e.jquery?e[0]:e:"string"==typeof e&&e.length>0?document.querySelector(e):null,Ue=e=>{if(!He(e)||0===e.getClientRects().length)return!1;const t="visible"===getComputedStyle(e).getPropertyValue("visibility"),r=e.closest("details:not([open])");if(!r)return t;if(r!==e){const t=e.closest("summary");if(t&&t.parentNode!==r)return!1;if(null===t)return!1}return t},Ve=e=>!e||e.nodeType!==Node.ELEMENT_NODE||(!!e.classList.contains("disabled")||(void 0!==e.disabled?e.disabled:e.hasAttribute("disabled")&&"false"!==e.getAttribute("disabled"))),$e=e=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof e.getRootNode){const t=e.getRootNode();return t instanceof ShadowRoot?t:null}return e instanceof ShadowRoot?e:e.parentNode?$e(e.parentNode):null},ze=()=>{},Ge=e=>{e.offsetHeight},We=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,Ye=[],Xe=()=>"rtl"===document.documentElement.dir,Ke=e=>{var t;t=()=>{const t=We();if(t){const r=e.NAME,n=t.fn[r];t.fn[r]=e.jQueryInterface,t.fn[r].Constructor=e,t.fn[r].noConflict=()=>(t.fn[r]=n,e.jQueryInterface)}},"loading"===document.readyState?(Ye.length||document.addEventListener("DOMContentLoaded",(()=>{for(const e of Ye)e()})),Ye.push(t)):t()},Je=e=>{"function"==typeof e&&e()},Qe=(e,t,r=!0)=>{if(!r)return void Je(e);const n=(e=>{if(!e)return 0;let{transitionDuration:t,transitionDelay:r}=window.getComputedStyle(e);const n=Number.parseFloat(t),i=Number.parseFloat(r);return n||i?(t=t.split(",")[0],r=r.split(",")[0],1e3*(Number.parseFloat(t)+Number.parseFloat(r))):0})(t)+5;let i=!1;const o=({target:r})=>{r===t&&(i=!0,t.removeEventListener(Re,o),Je(e))};t.addEventListener(Re,o),setTimeout((()=>{i||Fe(t)}),n)},Ze=(e,t,r,n)=>{const i=e.length;let o=e.indexOf(t);return-1===o?!r&&n?e[i-1]:e[0]:(o+=r?1:-1,n&&(o=(o+i)%i),e[Math.max(0,Math.min(o,i-1))])},et=/[^.]*(?=\..*)\.|.*/,tt=/\..*/,rt=/::\d+$/,nt={};let it=1;const ot={mouseenter:"mouseover",mouseleave:"mouseout"},st=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function at(e,t){return t&&`${t}::${it++}`||e.uidEvent||it++}function lt(e){const t=at(e);return e.uidEvent=t,nt[t]=nt[t]||{},nt[t]}function ct(e,t,r=null){return Object.values(e).find((e=>e.callable===t&&e.delegationSelector===r))}function ut(e,t,r){const n="string"==typeof t,i=n?r:t||r;let o=ht(e);return st.has(o)||(o=e),[n,i,o]}function pt(e,t,r,n,i){if("string"!=typeof t||!e)return;let[o,s,a]=ut(t,r,n);if(t in ot){const e=e=>function(t){if(!t.relatedTarget||t.relatedTarget!==t.delegateTarget&&!t.delegateTarget.contains(t.relatedTarget))return e.call(this,t)};s=e(s)}const l=lt(e),c=l[a]||(l[a]={}),u=ct(c,s,o?r:null);if(u)return void(u.oneOff=u.oneOff&&i);const p=at(s,t.replace(et,"")),f=o?function(e,t,r){return function n(i){const o=e.querySelectorAll(t);for(let{target:s}=i;s&&s!==this;s=s.parentNode)for(const a of o)if(a===s)return mt(i,{delegateTarget:s}),n.oneOff&>.off(e,i.type,t,r),r.apply(s,[i])}}(e,r,s):function(e,t){return function r(n){return mt(n,{delegateTarget:e}),r.oneOff&>.off(e,n.type,t),t.apply(e,[n])}}(e,s);f.delegationSelector=o?r:null,f.callable=s,f.oneOff=i,f.uidEvent=p,c[p]=f,e.addEventListener(a,f,o)}function ft(e,t,r,n,i){const o=ct(t[r],n,i);o&&(e.removeEventListener(r,o,Boolean(i)),delete t[r][o.uidEvent])}function dt(e,t,r,n){const i=t[r]||{};for(const o of Object.keys(i))if(o.includes(n)){const n=i[o];ft(e,t,r,n.callable,n.delegationSelector)}}function ht(e){return e=e.replace(tt,""),ot[e]||e}const gt={on(e,t,r,n){pt(e,t,r,n,!1)},one(e,t,r,n){pt(e,t,r,n,!0)},off(e,t,r,n){if("string"!=typeof t||!e)return;const[i,o,s]=ut(t,r,n),a=s!==t,l=lt(e),c=l[s]||{},u=t.startsWith(".");if(void 0===o){if(u)for(const r of Object.keys(l))dt(e,l,r,t.slice(1));for(const r of Object.keys(c)){const n=r.replace(rt,"");if(!a||t.includes(n)){const t=c[r];ft(e,l,s,t.callable,t.delegationSelector)}}}else{if(!Object.keys(c).length)return;ft(e,l,s,o,i?r:null)}},trigger(e,t,r){if("string"!=typeof t||!e)return null;const n=We();let i=null,o=!0,s=!0,a=!1;t!==ht(t)&&n&&(i=n.Event(t,r),n(e).trigger(i),o=!i.isPropagationStopped(),s=!i.isImmediatePropagationStopped(),a=i.isDefaultPrevented());let l=new Event(t,{bubbles:o,cancelable:!0});return l=mt(l,r),a&&l.preventDefault(),s&&e.dispatchEvent(l),l.defaultPrevented&&i&&i.preventDefault(),l}};function mt(e,t){for(const[r,n]of Object.entries(t||{}))try{e[r]=n}catch(t){Object.defineProperty(e,r,{configurable:!0,get:()=>n})}return e}const vt=new Map,bt={set(e,t,r){vt.has(e)||vt.set(e,new Map);const n=vt.get(e);n.has(t)||0===n.size?n.set(t,r):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(n.keys())[0]}.`)},get:(e,t)=>vt.has(e)&&vt.get(e).get(t)||null,remove(e,t){if(!vt.has(e))return;const r=vt.get(e);r.delete(t),0===r.size&&vt.delete(e)}};function yt(e){if("true"===e)return!0;if("false"===e)return!1;if(e===Number(e).toString())return Number(e);if(""===e||"null"===e)return null;if("string"!=typeof e)return e;try{return JSON.parse(decodeURIComponent(e))}catch(t){return e}}function wt(e){return e.replace(/[A-Z]/g,(e=>`-${e.toLowerCase()}`))}const _t={setDataAttribute(e,t,r){e.setAttribute(`data-bs-${wt(t)}`,r)},removeDataAttribute(e,t){e.removeAttribute(`data-bs-${wt(t)}`)},getDataAttributes(e){if(!e)return{};const t={},r=Object.keys(e.dataset).filter((e=>e.startsWith("bs")&&!e.startsWith("bsConfig")));for(const n of r){let r=n.replace(/^bs/,"");r=r.charAt(0).toLowerCase()+r.slice(1,r.length),t[r]=yt(e.dataset[n])}return t},getDataAttribute:(e,t)=>yt(e.getAttribute(`data-bs-${wt(t)}`))};class xt{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(e){return e=this._mergeConfigObj(e),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}_configAfterMerge(e){return e}_mergeConfigObj(e,t){const r=He(t)?_t.getDataAttribute(t,"config"):{};return{...this.constructor.Default,..."object"==typeof r?r:{},...He(t)?_t.getDataAttributes(t):{},..."object"==typeof e?e:{}}}_typeCheckConfig(e,t=this.constructor.DefaultType){for(const n of Object.keys(t)){const i=t[n],o=e[n],s=He(o)?"element":null==(r=o)?`${r}`:Object.prototype.toString.call(r).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(i).test(s))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${n}" provided type "${s}" but expected type "${i}".`)}var r}}class At extends xt{constructor(e,t){super(),(e=Me(e))&&(this._element=e,this._config=this._getConfig(t),bt.set(this._element,this.constructor.DATA_KEY,this))}dispose(){bt.remove(this._element,this.constructor.DATA_KEY),gt.off(this._element,this.constructor.EVENT_KEY);for(const e of Object.getOwnPropertyNames(this))this[e]=null}_queueCallback(e,t,r=!0){Qe(e,t,r)}_getConfig(e){return e=this._mergeConfigObj(e,this._element),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}static getInstance(e){return bt.get(Me(e),this.DATA_KEY)}static getOrCreateInstance(e,t={}){return this.getInstance(e)||new this(e,"object"==typeof t?t:null)}static get VERSION(){return"5.2.3"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(e){return`${e}${this.EVENT_KEY}`}}const Et=(e,t="hide")=>{const r=`click.dismiss${e.EVENT_KEY}`,n=e.NAME;gt.on(document,r,`[data-bs-dismiss="${n}"]`,(function(r){if(["A","AREA"].includes(this.tagName)&&r.preventDefault(),Ve(this))return;const i=Pe(this)||this.closest(`.${n}`);e.getOrCreateInstance(i)[t]()}))},Dt=".bs.alert",Tt=`close${Dt}`,Ct=`closed${Dt}`;class qt extends At{static get NAME(){return"alert"}close(){if(gt.trigger(this._element,Tt).defaultPrevented)return;this._element.classList.remove("show");const e=this._element.classList.contains("fade");this._queueCallback((()=>this._destroyElement()),this._element,e)}_destroyElement(){this._element.remove(),gt.trigger(this._element,Ct),this.dispose()}static jQueryInterface(e){return this.each((function(){const t=qt.getOrCreateInstance(this);if("string"==typeof e){if(void 0===t[e]||e.startsWith("_")||"constructor"===e)throw new TypeError(`No method named "${e}"`);t[e](this)}}))}}Et(qt,"close"),Ke(qt);const kt='[data-bs-toggle="button"]';class Lt extends At{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(e){return this.each((function(){const t=Lt.getOrCreateInstance(this);"toggle"===e&&t[e]()}))}}gt.on(document,"click.bs.button.data-api",kt,(e=>{e.preventDefault();const t=e.target.closest(kt);Lt.getOrCreateInstance(t).toggle()})),Ke(Lt);const St={find:(e,t=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(t,e)),findOne:(e,t=document.documentElement)=>Element.prototype.querySelector.call(t,e),children:(e,t)=>[].concat(...e.children).filter((e=>e.matches(t))),parents(e,t){const r=[];let n=e.parentNode.closest(t);for(;n;)r.push(n),n=n.parentNode.closest(t);return r},prev(e,t){let r=e.previousElementSibling;for(;r;){if(r.matches(t))return[r];r=r.previousElementSibling}return[]},next(e,t){let r=e.nextElementSibling;for(;r;){if(r.matches(t))return[r];r=r.nextElementSibling}return[]},focusableChildren(e){const t=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map((e=>`${e}:not([tabindex^="-"])`)).join(",");return this.find(t,e).filter((e=>!Ve(e)&&Ue(e)))}},Nt=".bs.swipe",Ot=`touchstart${Nt}`,jt=`touchmove${Nt}`,Rt=`touchend${Nt}`,Bt=`pointerdown${Nt}`,It=`pointerup${Nt}`,Pt={endCallback:null,leftCallback:null,rightCallback:null},Ft={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class Ht extends xt{constructor(e,t){super(),this._element=e,e&&Ht.isSupported()&&(this._config=this._getConfig(t),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return Pt}static get DefaultType(){return Ft}static get NAME(){return"swipe"}dispose(){gt.off(this._element,Nt)}_start(e){this._supportPointerEvents?this._eventIsPointerPenTouch(e)&&(this._deltaX=e.clientX):this._deltaX=e.touches[0].clientX}_end(e){this._eventIsPointerPenTouch(e)&&(this._deltaX=e.clientX-this._deltaX),this._handleSwipe(),Je(this._config.endCallback)}_move(e){this._deltaX=e.touches&&e.touches.length>1?0:e.touches[0].clientX-this._deltaX}_handleSwipe(){const e=Math.abs(this._deltaX);if(e<=40)return;const t=e/this._deltaX;this._deltaX=0,t&&Je(t>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(gt.on(this._element,Bt,(e=>this._start(e))),gt.on(this._element,It,(e=>this._end(e))),this._element.classList.add("pointer-event")):(gt.on(this._element,Ot,(e=>this._start(e))),gt.on(this._element,jt,(e=>this._move(e))),gt.on(this._element,Rt,(e=>this._end(e))))}_eventIsPointerPenTouch(e){return this._supportPointerEvents&&("pen"===e.pointerType||"touch"===e.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const Mt=".bs.carousel",Ut=".data-api",Vt="next",$t="prev",zt="left",Gt="right",Wt=`slide${Mt}`,Yt=`slid${Mt}`,Xt=`keydown${Mt}`,Kt=`mouseenter${Mt}`,Jt=`mouseleave${Mt}`,Qt=`dragstart${Mt}`,Zt=`load${Mt}${Ut}`,er=`click${Mt}${Ut}`,tr="carousel",rr="active",nr=".active",ir=".carousel-item",or=nr+ir,sr={ArrowLeft:Gt,ArrowRight:zt},ar={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},lr={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class cr extends At{constructor(e,t){super(e,t),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=St.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===tr&&this.cycle()}static get Default(){return ar}static get DefaultType(){return lr}static get NAME(){return"carousel"}next(){this._slide(Vt)}nextWhenVisible(){!document.hidden&&Ue(this._element)&&this.next()}prev(){this._slide($t)}pause(){this._isSliding&&Fe(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval((()=>this.nextWhenVisible()),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?gt.one(this._element,Yt,(()=>this.cycle())):this.cycle())}to(e){const t=this._getItems();if(e>t.length-1||e<0)return;if(this._isSliding)return void gt.one(this._element,Yt,(()=>this.to(e)));const r=this._getItemIndex(this._getActive());if(r===e)return;const n=e>r?Vt:$t;this._slide(n,t[e])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(e){return e.defaultInterval=e.interval,e}_addEventListeners(){this._config.keyboard&>.on(this._element,Xt,(e=>this._keydown(e))),"hover"===this._config.pause&&(gt.on(this._element,Kt,(()=>this.pause())),gt.on(this._element,Jt,(()=>this._maybeEnableCycle()))),this._config.touch&&Ht.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const e of St.find(".carousel-item img",this._element))gt.on(e,Qt,(e=>e.preventDefault()));const e={leftCallback:()=>this._slide(this._directionToOrder(zt)),rightCallback:()=>this._slide(this._directionToOrder(Gt)),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((()=>this._maybeEnableCycle()),500+this._config.interval))}};this._swipeHelper=new Ht(this._element,e)}_keydown(e){if(/input|textarea/i.test(e.target.tagName))return;const t=sr[e.key];t&&(e.preventDefault(),this._slide(this._directionToOrder(t)))}_getItemIndex(e){return this._getItems().indexOf(e)}_setActiveIndicatorElement(e){if(!this._indicatorsElement)return;const t=St.findOne(nr,this._indicatorsElement);t.classList.remove(rr),t.removeAttribute("aria-current");const r=St.findOne(`[data-bs-slide-to="${e}"]`,this._indicatorsElement);r&&(r.classList.add(rr),r.setAttribute("aria-current","true"))}_updateInterval(){const e=this._activeElement||this._getActive();if(!e)return;const t=Number.parseInt(e.getAttribute("data-bs-interval"),10);this._config.interval=t||this._config.defaultInterval}_slide(e,t=null){if(this._isSliding)return;const r=this._getActive(),n=e===Vt,i=t||Ze(this._getItems(),r,n,this._config.wrap);if(i===r)return;const o=this._getItemIndex(i),s=t=>gt.trigger(this._element,t,{relatedTarget:i,direction:this._orderToDirection(e),from:this._getItemIndex(r),to:o});if(s(Wt).defaultPrevented)return;if(!r||!i)return;const a=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=i;const l=n?"carousel-item-start":"carousel-item-end",c=n?"carousel-item-next":"carousel-item-prev";i.classList.add(c),Ge(i),r.classList.add(l),i.classList.add(l);this._queueCallback((()=>{i.classList.remove(l,c),i.classList.add(rr),r.classList.remove(rr,c,l),this._isSliding=!1,s(Yt)}),r,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return St.findOne(or,this._element)}_getItems(){return St.find(ir,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(e){return Xe()?e===zt?$t:Vt:e===zt?Vt:$t}_orderToDirection(e){return Xe()?e===$t?zt:Gt:e===$t?Gt:zt}static jQueryInterface(e){return this.each((function(){const t=cr.getOrCreateInstance(this,e);if("number"!=typeof e){if("string"==typeof e){if(void 0===t[e]||e.startsWith("_")||"constructor"===e)throw new TypeError(`No method named "${e}"`);t[e]()}}else t.to(e)}))}}gt.on(document,er,"[data-bs-slide], [data-bs-slide-to]",(function(e){const t=Pe(this);if(!t||!t.classList.contains(tr))return;e.preventDefault();const r=cr.getOrCreateInstance(t),n=this.getAttribute("data-bs-slide-to");return n?(r.to(n),void r._maybeEnableCycle()):"next"===_t.getDataAttribute(this,"slide")?(r.next(),void r._maybeEnableCycle()):(r.prev(),void r._maybeEnableCycle())})),gt.on(window,Zt,(()=>{const e=St.find('[data-bs-ride="carousel"]');for(const t of e)cr.getOrCreateInstance(t)})),Ke(cr);const ur=".bs.collapse",pr=`show${ur}`,fr=`shown${ur}`,dr=`hide${ur}`,hr=`hidden${ur}`,gr=`click${ur}.data-api`,mr="show",vr="collapse",br="collapsing",yr=`:scope .${vr} .${vr}`,wr='[data-bs-toggle="collapse"]',_r={parent:null,toggle:!0},xr={parent:"(null|element)",toggle:"boolean"};class Ar extends At{constructor(e,t){super(e,t),this._isTransitioning=!1,this._triggerArray=[];const r=St.find(wr);for(const e of r){const t=Ie(e),r=St.find(t).filter((e=>e===this._element));null!==t&&r.length&&this._triggerArray.push(e)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return _r}static get DefaultType(){return xr}static get NAME(){return"collapse"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let e=[];if(this._config.parent&&(e=this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter((e=>e!==this._element)).map((e=>Ar.getOrCreateInstance(e,{toggle:!1})))),e.length&&e[0]._isTransitioning)return;if(gt.trigger(this._element,pr).defaultPrevented)return;for(const t of e)t.hide();const t=this._getDimension();this._element.classList.remove(vr),this._element.classList.add(br),this._element.style[t]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const r=`scroll${t[0].toUpperCase()+t.slice(1)}`;this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(br),this._element.classList.add(vr,mr),this._element.style[t]="",gt.trigger(this._element,fr)}),this._element,!0),this._element.style[t]=`${this._element[r]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(gt.trigger(this._element,dr).defaultPrevented)return;const e=this._getDimension();this._element.style[e]=`${this._element.getBoundingClientRect()[e]}px`,Ge(this._element),this._element.classList.add(br),this._element.classList.remove(vr,mr);for(const e of this._triggerArray){const t=Pe(e);t&&!this._isShown(t)&&this._addAriaAndCollapsedClass([e],!1)}this._isTransitioning=!0;this._element.style[e]="",this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(br),this._element.classList.add(vr),gt.trigger(this._element,hr)}),this._element,!0)}_isShown(e=this._element){return e.classList.contains(mr)}_configAfterMerge(e){return e.toggle=Boolean(e.toggle),e.parent=Me(e.parent),e}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const e=this._getFirstLevelChildren(wr);for(const t of e){const e=Pe(t);e&&this._addAriaAndCollapsedClass([t],this._isShown(e))}}_getFirstLevelChildren(e){const t=St.find(yr,this._config.parent);return St.find(e,this._config.parent).filter((e=>!t.includes(e)))}_addAriaAndCollapsedClass(e,t){if(e.length)for(const r of e)r.classList.toggle("collapsed",!t),r.setAttribute("aria-expanded",t)}static jQueryInterface(e){const t={};return"string"==typeof e&&/show|hide/.test(e)&&(t.toggle=!1),this.each((function(){const r=Ar.getOrCreateInstance(this,t);if("string"==typeof e){if(void 0===r[e])throw new TypeError(`No method named "${e}"`);r[e]()}}))}}gt.on(document,gr,wr,(function(e){("A"===e.target.tagName||e.delegateTarget&&"A"===e.delegateTarget.tagName)&&e.preventDefault();const t=Ie(this),r=St.find(t);for(const e of r)Ar.getOrCreateInstance(e,{toggle:!1}).toggle()})),Ke(Ar);const Er="dropdown",Dr=".bs.dropdown",Tr=".data-api",Cr="ArrowUp",qr="ArrowDown",kr=`hide${Dr}`,Lr=`hidden${Dr}`,Sr=`show${Dr}`,Nr=`shown${Dr}`,Or=`click${Dr}${Tr}`,jr=`keydown${Dr}${Tr}`,Rr=`keyup${Dr}${Tr}`,Br="show",Ir='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',Pr=`${Ir}.${Br}`,Fr=".dropdown-menu",Hr=Xe()?"top-end":"top-start",Mr=Xe()?"top-start":"top-end",Ur=Xe()?"bottom-end":"bottom-start",Vr=Xe()?"bottom-start":"bottom-end",$r=Xe()?"left-start":"right-start",zr=Xe()?"right-start":"left-start",Gr={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],popperConfig:null,reference:"toggle"},Wr={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",popperConfig:"(null|object|function)",reference:"(string|element|object)"};class Yr extends At{constructor(e,t){super(e,t),this._popper=null,this._parent=this._element.parentNode,this._menu=St.next(this._element,Fr)[0]||St.prev(this._element,Fr)[0]||St.findOne(Fr,this._parent),this._inNavbar=this._detectNavbar()}static get Default(){return Gr}static get DefaultType(){return Wr}static get NAME(){return Er}toggle(){return this._isShown()?this.hide():this.show()}show(){if(Ve(this._element)||this._isShown())return;const e={relatedTarget:this._element};if(!gt.trigger(this._element,Sr,e).defaultPrevented){if(this._createPopper(),"ontouchstart"in document.documentElement&&!this._parent.closest(".navbar-nav"))for(const e of[].concat(...document.body.children))gt.on(e,"mouseover",ze);this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add(Br),this._element.classList.add(Br),gt.trigger(this._element,Nr,e)}}hide(){if(Ve(this._element)||!this._isShown())return;const e={relatedTarget:this._element};this._completeHide(e)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(e){if(!gt.trigger(this._element,kr,e).defaultPrevented){if("ontouchstart"in document.documentElement)for(const e of[].concat(...document.body.children))gt.off(e,"mouseover",ze);this._popper&&this._popper.destroy(),this._menu.classList.remove(Br),this._element.classList.remove(Br),this._element.setAttribute("aria-expanded","false"),_t.removeDataAttribute(this._menu,"popper"),gt.trigger(this._element,Lr,e)}}_getConfig(e){if("object"==typeof(e=super._getConfig(e)).reference&&!He(e.reference)&&"function"!=typeof e.reference.getBoundingClientRect)throw new TypeError(`${Er.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return e}_createPopper(){if(void 0===n)throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let e=this._element;"parent"===this._config.reference?e=this._parent:He(this._config.reference)?e=Me(this._config.reference):"object"==typeof this._config.reference&&(e=this._config.reference);const t=this._getPopperConfig();this._popper=Oe(e,this._menu,t)}_isShown(){return this._menu.classList.contains(Br)}_getPlacement(){const e=this._parent;if(e.classList.contains("dropend"))return $r;if(e.classList.contains("dropstart"))return zr;if(e.classList.contains("dropup-center"))return"top";if(e.classList.contains("dropdown-center"))return"bottom";const t="end"===getComputedStyle(this._menu).getPropertyValue("--bs-position").trim();return e.classList.contains("dropup")?t?Mr:Hr:t?Vr:Ur}_detectNavbar(){return null!==this._element.closest(".navbar")}_getOffset(){const{offset:e}=this._config;return"string"==typeof e?e.split(",").map((e=>Number.parseInt(e,10))):"function"==typeof e?t=>e(t,this._element):e}_getPopperConfig(){const e={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||"static"===this._config.display)&&(_t.setDataAttribute(this._menu,"popper","static"),e.modifiers=[{name:"applyStyles",enabled:!1}]),{...e,..."function"==typeof this._config.popperConfig?this._config.popperConfig(e):this._config.popperConfig}}_selectMenuItem({key:e,target:t}){const r=St.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter((e=>Ue(e)));r.length&&Ze(r,t,e===qr,!r.includes(t)).focus()}static jQueryInterface(e){return this.each((function(){const t=Yr.getOrCreateInstance(this,e);if("string"==typeof e){if(void 0===t[e])throw new TypeError(`No method named "${e}"`);t[e]()}}))}static clearMenus(e){if(2===e.button||"keyup"===e.type&&"Tab"!==e.key)return;const t=St.find(Pr);for(const r of t){const t=Yr.getInstance(r);if(!t||!1===t._config.autoClose)continue;const n=e.composedPath(),i=n.includes(t._menu);if(n.includes(t._element)||"inside"===t._config.autoClose&&!i||"outside"===t._config.autoClose&&i)continue;if(t._menu.contains(e.target)&&("keyup"===e.type&&"Tab"===e.key||/input|select|option|textarea|form/i.test(e.target.tagName)))continue;const o={relatedTarget:t._element};"click"===e.type&&(o.clickEvent=e),t._completeHide(o)}}static dataApiKeydownHandler(e){const t=/input|textarea/i.test(e.target.tagName),r="Escape"===e.key,n=[Cr,qr].includes(e.key);if(!n&&!r)return;if(t&&!r)return;e.preventDefault();const i=this.matches(Ir)?this:St.prev(this,Ir)[0]||St.next(this,Ir)[0]||St.findOne(Ir,e.delegateTarget.parentNode),o=Yr.getOrCreateInstance(i);if(n)return e.stopPropagation(),o.show(),void o._selectMenuItem(e);o._isShown()&&(e.stopPropagation(),o.hide(),i.focus())}}gt.on(document,jr,Ir,Yr.dataApiKeydownHandler),gt.on(document,jr,Fr,Yr.dataApiKeydownHandler),gt.on(document,Or,Yr.clearMenus),gt.on(document,Rr,Yr.clearMenus),gt.on(document,Or,Ir,(function(e){e.preventDefault(),Yr.getOrCreateInstance(this).toggle()})),Ke(Yr);const Xr=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",Kr=".sticky-top",Jr="padding-right",Qr="margin-right";class Zr{constructor(){this._element=document.body}getWidth(){const e=document.documentElement.clientWidth;return Math.abs(window.innerWidth-e)}hide(){const e=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,Jr,(t=>t+e)),this._setElementAttributes(Xr,Jr,(t=>t+e)),this._setElementAttributes(Kr,Qr,(t=>t-e))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,Jr),this._resetElementAttributes(Xr,Jr),this._resetElementAttributes(Kr,Qr)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(e,t,r){const n=this.getWidth();this._applyManipulationCallback(e,(e=>{if(e!==this._element&&window.innerWidth>e.clientWidth+n)return;this._saveInitialAttribute(e,t);const i=window.getComputedStyle(e).getPropertyValue(t);e.style.setProperty(t,`${r(Number.parseFloat(i))}px`)}))}_saveInitialAttribute(e,t){const r=e.style.getPropertyValue(t);r&&_t.setDataAttribute(e,t,r)}_resetElementAttributes(e,t){this._applyManipulationCallback(e,(e=>{const r=_t.getDataAttribute(e,t);null!==r?(_t.removeDataAttribute(e,t),e.style.setProperty(t,r)):e.style.removeProperty(t)}))}_applyManipulationCallback(e,t){if(He(e))t(e);else for(const r of St.find(e,this._element))t(r)}}const en="backdrop",tn="show",rn=`mousedown.bs.${en}`,nn={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},on={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class sn extends xt{constructor(e){super(),this._config=this._getConfig(e),this._isAppended=!1,this._element=null}static get Default(){return nn}static get DefaultType(){return on}static get NAME(){return en}show(e){if(!this._config.isVisible)return void Je(e);this._append();const t=this._getElement();this._config.isAnimated&&Ge(t),t.classList.add(tn),this._emulateAnimation((()=>{Je(e)}))}hide(e){this._config.isVisible?(this._getElement().classList.remove(tn),this._emulateAnimation((()=>{this.dispose(),Je(e)}))):Je(e)}dispose(){this._isAppended&&(gt.off(this._element,rn),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const e=document.createElement("div");e.className=this._config.className,this._config.isAnimated&&e.classList.add("fade"),this._element=e}return this._element}_configAfterMerge(e){return e.rootElement=Me(e.rootElement),e}_append(){if(this._isAppended)return;const e=this._getElement();this._config.rootElement.append(e),gt.on(e,rn,(()=>{Je(this._config.clickCallback)})),this._isAppended=!0}_emulateAnimation(e){Qe(e,this._getElement(),this._config.isAnimated)}}const an=".bs.focustrap",ln=`focusin${an}`,cn=`keydown.tab${an}`,un="backward",pn={autofocus:!0,trapElement:null},fn={autofocus:"boolean",trapElement:"element"};class dn extends xt{constructor(e){super(),this._config=this._getConfig(e),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return pn}static get DefaultType(){return fn}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),gt.off(document,an),gt.on(document,ln,(e=>this._handleFocusin(e))),gt.on(document,cn,(e=>this._handleKeydown(e))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,gt.off(document,an))}_handleFocusin(e){const{trapElement:t}=this._config;if(e.target===document||e.target===t||t.contains(e.target))return;const r=St.focusableChildren(t);0===r.length?t.focus():this._lastTabNavDirection===un?r[r.length-1].focus():r[0].focus()}_handleKeydown(e){"Tab"===e.key&&(this._lastTabNavDirection=e.shiftKey?un:"forward")}}const hn=".bs.modal",gn=`hide${hn}`,mn=`hidePrevented${hn}`,vn=`hidden${hn}`,bn=`show${hn}`,yn=`shown${hn}`,wn=`resize${hn}`,_n=`click.dismiss${hn}`,xn=`mousedown.dismiss${hn}`,An=`keydown.dismiss${hn}`,En=`click${hn}.data-api`,Dn="modal-open",Tn="show",Cn="modal-static",qn={backdrop:!0,focus:!0,keyboard:!0},kn={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class Ln extends At{constructor(e,t){super(e,t),this._dialog=St.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new Zr,this._addEventListeners()}static get Default(){return qn}static get DefaultType(){return kn}static get NAME(){return"modal"}toggle(e){return this._isShown?this.hide():this.show(e)}show(e){if(this._isShown||this._isTransitioning)return;gt.trigger(this._element,bn,{relatedTarget:e}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(Dn),this._adjustDialog(),this._backdrop.show((()=>this._showElement(e))))}hide(){if(!this._isShown||this._isTransitioning)return;gt.trigger(this._element,gn).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(Tn),this._queueCallback((()=>this._hideModal()),this._element,this._isAnimated()))}dispose(){for(const e of[window,this._dialog])gt.off(e,hn);this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new sn({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new dn({trapElement:this._element})}_showElement(e){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const t=St.findOne(".modal-body",this._dialog);t&&(t.scrollTop=0),Ge(this._element),this._element.classList.add(Tn);this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,gt.trigger(this._element,yn,{relatedTarget:e})}),this._dialog,this._isAnimated())}_addEventListeners(){gt.on(this._element,An,(e=>{if("Escape"===e.key)return this._config.keyboard?(e.preventDefault(),void this.hide()):void this._triggerBackdropTransition()})),gt.on(window,wn,(()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()})),gt.on(this._element,xn,(e=>{gt.one(this._element,_n,(t=>{this._element===e.target&&this._element===t.target&&("static"!==this._config.backdrop?this._config.backdrop&&this.hide():this._triggerBackdropTransition())}))}))}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide((()=>{document.body.classList.remove(Dn),this._resetAdjustments(),this._scrollBar.reset(),gt.trigger(this._element,vn)}))}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(gt.trigger(this._element,mn).defaultPrevented)return;const e=this._element.scrollHeight>document.documentElement.clientHeight,t=this._element.style.overflowY;"hidden"===t||this._element.classList.contains(Cn)||(e||(this._element.style.overflowY="hidden"),this._element.classList.add(Cn),this._queueCallback((()=>{this._element.classList.remove(Cn),this._queueCallback((()=>{this._element.style.overflowY=t}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const e=this._element.scrollHeight>document.documentElement.clientHeight,t=this._scrollBar.getWidth(),r=t>0;if(r&&!e){const e=Xe()?"paddingLeft":"paddingRight";this._element.style[e]=`${t}px`}if(!r&&e){const e=Xe()?"paddingRight":"paddingLeft";this._element.style[e]=`${t}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(e,t){return this.each((function(){const r=Ln.getOrCreateInstance(this,e);if("string"==typeof e){if(void 0===r[e])throw new TypeError(`No method named "${e}"`);r[e](t)}}))}}gt.on(document,En,'[data-bs-toggle="modal"]',(function(e){const t=Pe(this);["A","AREA"].includes(this.tagName)&&e.preventDefault(),gt.one(t,bn,(e=>{e.defaultPrevented||gt.one(t,vn,(()=>{Ue(this)&&this.focus()}))}));const r=St.findOne(".modal.show");r&&Ln.getInstance(r).hide();Ln.getOrCreateInstance(t).toggle(this)})),Et(Ln),Ke(Ln);const Sn=".bs.offcanvas",Nn=".data-api",On=`load${Sn}${Nn}`,jn="show",Rn="showing",Bn="hiding",In=".offcanvas.show",Pn=`show${Sn}`,Fn=`shown${Sn}`,Hn=`hide${Sn}`,Mn=`hidePrevented${Sn}`,Un=`hidden${Sn}`,Vn=`resize${Sn}`,$n=`click${Sn}${Nn}`,zn=`keydown.dismiss${Sn}`,Gn={backdrop:!0,keyboard:!0,scroll:!1},Wn={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class Yn extends At{constructor(e,t){super(e,t),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return Gn}static get DefaultType(){return Wn}static get NAME(){return"offcanvas"}toggle(e){return this._isShown?this.hide():this.show(e)}show(e){if(this._isShown)return;if(gt.trigger(this._element,Pn,{relatedTarget:e}).defaultPrevented)return;this._isShown=!0,this._backdrop.show(),this._config.scroll||(new Zr).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(Rn);this._queueCallback((()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(jn),this._element.classList.remove(Rn),gt.trigger(this._element,Fn,{relatedTarget:e})}),this._element,!0)}hide(){if(!this._isShown)return;if(gt.trigger(this._element,Hn).defaultPrevented)return;this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(Bn),this._backdrop.hide();this._queueCallback((()=>{this._element.classList.remove(jn,Bn),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new Zr).reset(),gt.trigger(this._element,Un)}),this._element,!0)}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const e=Boolean(this._config.backdrop);return new sn({className:"offcanvas-backdrop",isVisible:e,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:e?()=>{"static"!==this._config.backdrop?this.hide():gt.trigger(this._element,Mn)}:null})}_initializeFocusTrap(){return new dn({trapElement:this._element})}_addEventListeners(){gt.on(this._element,zn,(e=>{"Escape"===e.key&&(this._config.keyboard?this.hide():gt.trigger(this._element,Mn))}))}static jQueryInterface(e){return this.each((function(){const t=Yn.getOrCreateInstance(this,e);if("string"==typeof e){if(void 0===t[e]||e.startsWith("_")||"constructor"===e)throw new TypeError(`No method named "${e}"`);t[e](this)}}))}}gt.on(document,$n,'[data-bs-toggle="offcanvas"]',(function(e){const t=Pe(this);if(["A","AREA"].includes(this.tagName)&&e.preventDefault(),Ve(this))return;gt.one(t,Un,(()=>{Ue(this)&&this.focus()}));const r=St.findOne(In);r&&r!==t&&Yn.getInstance(r).hide();Yn.getOrCreateInstance(t).toggle(this)})),gt.on(window,On,(()=>{for(const e of St.find(In))Yn.getOrCreateInstance(e).show()})),gt.on(window,Vn,(()=>{for(const e of St.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(e).position&&Yn.getOrCreateInstance(e).hide()})),Et(Yn),Ke(Yn);const Xn=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Kn=/^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i,Jn=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i,Qn=(e,t)=>{const r=e.nodeName.toLowerCase();return t.includes(r)?!Xn.has(r)||Boolean(Kn.test(e.nodeValue)||Jn.test(e.nodeValue)):t.filter((e=>e instanceof RegExp)).some((e=>e.test(r)))},Zn={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]};const ei={allowList:Zn,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},ti={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},ri={entry:"(string|element|function|null)",selector:"(string|element)"};class ni extends xt{constructor(e){super(),this._config=this._getConfig(e)}static get Default(){return ei}static get DefaultType(){return ti}static get NAME(){return"TemplateFactory"}getContent(){return Object.values(this._config.content).map((e=>this._resolvePossibleFunction(e))).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(e){return this._checkContent(e),this._config.content={...this._config.content,...e},this}toHtml(){const e=document.createElement("div");e.innerHTML=this._maybeSanitize(this._config.template);for(const[t,r]of Object.entries(this._config.content))this._setContent(e,r,t);const t=e.children[0],r=this._resolvePossibleFunction(this._config.extraClass);return r&&t.classList.add(...r.split(" ")),t}_typeCheckConfig(e){super._typeCheckConfig(e),this._checkContent(e.content)}_checkContent(e){for(const[t,r]of Object.entries(e))super._typeCheckConfig({selector:t,entry:r},ri)}_setContent(e,t,r){const n=St.findOne(r,e);n&&((t=this._resolvePossibleFunction(t))?He(t)?this._putElementInTemplate(Me(t),n):this._config.html?n.innerHTML=this._maybeSanitize(t):n.textContent=t:n.remove())}_maybeSanitize(e){return this._config.sanitize?function(e,t,r){if(!e.length)return e;if(r&&"function"==typeof r)return r(e);const n=(new window.DOMParser).parseFromString(e,"text/html"),i=[].concat(...n.body.querySelectorAll("*"));for(const e of i){const r=e.nodeName.toLowerCase();if(!Object.keys(t).includes(r)){e.remove();continue}const n=[].concat(...e.attributes),i=[].concat(t["*"]||[],t[r]||[]);for(const t of n)Qn(t,i)||e.removeAttribute(t.nodeName)}return n.body.innerHTML}(e,this._config.allowList,this._config.sanitizeFn):e}_resolvePossibleFunction(e){return"function"==typeof e?e(this):e}_putElementInTemplate(e,t){if(this._config.html)return t.innerHTML="",void t.append(e);t.textContent=e.textContent}}const ii=new Set(["sanitize","allowList","sanitizeFn"]),oi="fade",si="show",ai=".modal",li="hide.bs.modal",ci="hover",ui="focus",pi={AUTO:"auto",TOP:"top",RIGHT:Xe()?"left":"right",BOTTOM:"bottom",LEFT:Xe()?"right":"left"},fi={allowList:Zn,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,0],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},di={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class hi extends At{constructor(e,t){if(void 0===n)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(e,t),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return fi}static get DefaultType(){return di}static get NAME(){return"tooltip"}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),gt.off(this._element.closest(ai),li,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const e=gt.trigger(this._element,this.constructor.eventName("show")),t=($e(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(e.defaultPrevented||!t)return;this._disposePopper();const r=this._getTipElement();this._element.setAttribute("aria-describedby",r.getAttribute("id"));const{container:n}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(n.append(r),gt.trigger(this._element,this.constructor.eventName("inserted"))),this._popper=this._createPopper(r),r.classList.add(si),"ontouchstart"in document.documentElement)for(const e of[].concat(...document.body.children))gt.on(e,"mouseover",ze);this._queueCallback((()=>{gt.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1}),this.tip,this._isAnimated())}hide(){if(!this._isShown())return;if(gt.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented)return;if(this._getTipElement().classList.remove(si),"ontouchstart"in document.documentElement)for(const e of[].concat(...document.body.children))gt.off(e,"mouseover",ze);this._activeTrigger.click=!1,this._activeTrigger[ui]=!1,this._activeTrigger[ci]=!1,this._isHovered=null;this._queueCallback((()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),gt.trigger(this._element,this.constructor.eventName("hidden")))}),this.tip,this._isAnimated())}update(){this._popper&&this._popper.update()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(e){const t=this._getTemplateFactory(e).toHtml();if(!t)return null;t.classList.remove(oi,si),t.classList.add(`bs-${this.constructor.NAME}-auto`);const r=(e=>{do{e+=Math.floor(1e6*Math.random())}while(document.getElementById(e));return e})(this.constructor.NAME).toString();return t.setAttribute("id",r),this._isAnimated()&&t.classList.add(oi),t}setContent(e){this._newContent=e,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(e){return this._templateFactory?this._templateFactory.changeContent(e):this._templateFactory=new ni({...this._config,content:e,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{".tooltip-inner":this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(e){return this.constructor.getOrCreateInstance(e.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(oi)}_isShown(){return this.tip&&this.tip.classList.contains(si)}_createPopper(e){const t="function"==typeof this._config.placement?this._config.placement.call(this,e,this._element):this._config.placement,r=pi[t.toUpperCase()];return Oe(this._element,e,this._getPopperConfig(r))}_getOffset(){const{offset:e}=this._config;return"string"==typeof e?e.split(",").map((e=>Number.parseInt(e,10))):"function"==typeof e?t=>e(t,this._element):e}_resolvePossibleFunction(e){return"function"==typeof e?e.call(this._element):e}_getPopperConfig(e){const t={placement:e,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:e=>{this._getTipElement().setAttribute("data-popper-placement",e.state.placement)}}]};return{...t,..."function"==typeof this._config.popperConfig?this._config.popperConfig(t):this._config.popperConfig}}_setListeners(){const e=this._config.trigger.split(" ");for(const t of e)if("click"===t)gt.on(this._element,this.constructor.eventName("click"),this._config.selector,(e=>{this._initializeOnDelegatedTarget(e).toggle()}));else if("manual"!==t){const e=t===ci?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),r=t===ci?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");gt.on(this._element,e,this._config.selector,(e=>{const t=this._initializeOnDelegatedTarget(e);t._activeTrigger["focusin"===e.type?ui:ci]=!0,t._enter()})),gt.on(this._element,r,this._config.selector,(e=>{const t=this._initializeOnDelegatedTarget(e);t._activeTrigger["focusout"===e.type?ui:ci]=t._element.contains(e.relatedTarget),t._leave()}))}this._hideModalHandler=()=>{this._element&&this.hide()},gt.on(this._element.closest(ai),li,this._hideModalHandler)}_fixTitle(){const e=this._element.getAttribute("title");e&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",e),this._element.setAttribute("data-bs-original-title",e),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout((()=>{this._isHovered&&this.show()}),this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout((()=>{this._isHovered||this.hide()}),this._config.delay.hide))}_setTimeout(e,t){clearTimeout(this._timeout),this._timeout=setTimeout(e,t)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(e){const t=_t.getDataAttributes(this._element);for(const e of Object.keys(t))ii.has(e)&&delete t[e];return e={...t,..."object"==typeof e&&e?e:{}},e=this._mergeConfigObj(e),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}_configAfterMerge(e){return e.container=!1===e.container?document.body:Me(e.container),"number"==typeof e.delay&&(e.delay={show:e.delay,hide:e.delay}),"number"==typeof e.title&&(e.title=e.title.toString()),"number"==typeof e.content&&(e.content=e.content.toString()),e}_getDelegateConfig(){const e={};for(const t in this._config)this.constructor.Default[t]!==this._config[t]&&(e[t]=this._config[t]);return e.selector=!1,e.trigger="manual",e}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(e){return this.each((function(){const t=hi.getOrCreateInstance(this,e);if("string"==typeof e){if(void 0===t[e])throw new TypeError(`No method named "${e}"`);t[e]()}}))}}Ke(hi);const gi={...hi.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},mi={...hi.DefaultType,content:"(null|string|element|function)"};class vi extends hi{static get Default(){return gi}static get DefaultType(){return mi}static get NAME(){return"popover"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{".popover-header":this._getTitle(),".popover-body":this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(e){return this.each((function(){const t=vi.getOrCreateInstance(this,e);if("string"==typeof e){if(void 0===t[e])throw new TypeError(`No method named "${e}"`);t[e]()}}))}}Ke(vi);const bi=".bs.scrollspy",yi=`activate${bi}`,wi=`click${bi}`,_i=`load${bi}.data-api`,xi="active",Ai="[href]",Ei=".nav-link",Di=`${Ei}, .nav-item > ${Ei}, .list-group-item`,Ti={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},Ci={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class qi extends At{constructor(e,t){super(e,t),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return Ti}static get DefaultType(){return Ci}static get NAME(){return"scrollspy"}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const e of this._observableSections.values())this._observer.observe(e)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(e){return e.target=Me(e.target)||document.body,e.rootMargin=e.offset?`${e.offset}px 0px -30%`:e.rootMargin,"string"==typeof e.threshold&&(e.threshold=e.threshold.split(",").map((e=>Number.parseFloat(e)))),e}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(gt.off(this._config.target,wi),gt.on(this._config.target,wi,Ai,(e=>{const t=this._observableSections.get(e.target.hash);if(t){e.preventDefault();const r=this._rootElement||window,n=t.offsetTop-this._element.offsetTop;if(r.scrollTo)return void r.scrollTo({top:n,behavior:"smooth"});r.scrollTop=n}})))}_getNewObserver(){const e={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver((e=>this._observerCallback(e)),e)}_observerCallback(e){const t=e=>this._targetLinks.get(`#${e.target.id}`),r=e=>{this._previousScrollData.visibleEntryTop=e.target.offsetTop,this._process(t(e))},n=(this._rootElement||document.documentElement).scrollTop,i=n>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=n;for(const o of e){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(t(o));continue}const e=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(i&&e){if(r(o),!n)return}else i||e||r(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const e=St.find(Ai,this._config.target);for(const t of e){if(!t.hash||Ve(t))continue;const e=St.findOne(t.hash,this._element);Ue(e)&&(this._targetLinks.set(t.hash,t),this._observableSections.set(t.hash,e))}}_process(e){this._activeTarget!==e&&(this._clearActiveClass(this._config.target),this._activeTarget=e,e.classList.add(xi),this._activateParents(e),gt.trigger(this._element,yi,{relatedTarget:e}))}_activateParents(e){if(e.classList.contains("dropdown-item"))St.findOne(".dropdown-toggle",e.closest(".dropdown")).classList.add(xi);else for(const t of St.parents(e,".nav, .list-group"))for(const e of St.prev(t,Di))e.classList.add(xi)}_clearActiveClass(e){e.classList.remove(xi);const t=St.find(`${Ai}.${xi}`,e);for(const e of t)e.classList.remove(xi)}static jQueryInterface(e){return this.each((function(){const t=qi.getOrCreateInstance(this,e);if("string"==typeof e){if(void 0===t[e]||e.startsWith("_")||"constructor"===e)throw new TypeError(`No method named "${e}"`);t[e]()}}))}}gt.on(window,_i,(()=>{for(const e of St.find('[data-bs-spy="scroll"]'))qi.getOrCreateInstance(e)})),Ke(qi);const ki=".bs.tab",Li=`hide${ki}`,Si=`hidden${ki}`,Ni=`show${ki}`,Oi=`shown${ki}`,ji=`click${ki}`,Ri=`keydown${ki}`,Bi=`load${ki}`,Ii="ArrowLeft",Pi="ArrowRight",Fi="ArrowUp",Hi="ArrowDown",Mi="active",Ui="fade",Vi="show",$i=":not(.dropdown-toggle)",zi='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',Gi=`${`.nav-link${$i}, .list-group-item${$i}, [role="tab"]${$i}`}, ${zi}`,Wi=`.${Mi}[data-bs-toggle="tab"], .${Mi}[data-bs-toggle="pill"], .${Mi}[data-bs-toggle="list"]`;class Yi extends At{constructor(e){super(e),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),gt.on(this._element,Ri,(e=>this._keydown(e))))}static get NAME(){return"tab"}show(){const e=this._element;if(this._elemIsActive(e))return;const t=this._getActiveElem(),r=t?gt.trigger(t,Li,{relatedTarget:e}):null;gt.trigger(e,Ni,{relatedTarget:t}).defaultPrevented||r&&r.defaultPrevented||(this._deactivate(t,e),this._activate(e,t))}_activate(e,t){if(!e)return;e.classList.add(Mi),this._activate(Pe(e));this._queueCallback((()=>{"tab"===e.getAttribute("role")?(e.removeAttribute("tabindex"),e.setAttribute("aria-selected",!0),this._toggleDropDown(e,!0),gt.trigger(e,Oi,{relatedTarget:t})):e.classList.add(Vi)}),e,e.classList.contains(Ui))}_deactivate(e,t){if(!e)return;e.classList.remove(Mi),e.blur(),this._deactivate(Pe(e));this._queueCallback((()=>{"tab"===e.getAttribute("role")?(e.setAttribute("aria-selected",!1),e.setAttribute("tabindex","-1"),this._toggleDropDown(e,!1),gt.trigger(e,Si,{relatedTarget:t})):e.classList.remove(Vi)}),e,e.classList.contains(Ui))}_keydown(e){if(![Ii,Pi,Fi,Hi].includes(e.key))return;e.stopPropagation(),e.preventDefault();const t=[Pi,Hi].includes(e.key),r=Ze(this._getChildren().filter((e=>!Ve(e))),e.target,t,!0);r&&(r.focus({preventScroll:!0}),Yi.getOrCreateInstance(r).show())}_getChildren(){return St.find(Gi,this._parent)}_getActiveElem(){return this._getChildren().find((e=>this._elemIsActive(e)))||null}_setInitialAttributes(e,t){this._setAttributeIfNotExists(e,"role","tablist");for(const e of t)this._setInitialAttributesOnChild(e)}_setInitialAttributesOnChild(e){e=this._getInnerElement(e);const t=this._elemIsActive(e),r=this._getOuterElement(e);e.setAttribute("aria-selected",t),r!==e&&this._setAttributeIfNotExists(r,"role","presentation"),t||e.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(e,"role","tab"),this._setInitialAttributesOnTargetPanel(e)}_setInitialAttributesOnTargetPanel(e){const t=Pe(e);t&&(this._setAttributeIfNotExists(t,"role","tabpanel"),e.id&&this._setAttributeIfNotExists(t,"aria-labelledby",`#${e.id}`))}_toggleDropDown(e,t){const r=this._getOuterElement(e);if(!r.classList.contains("dropdown"))return;const n=(e,n)=>{const i=St.findOne(e,r);i&&i.classList.toggle(n,t)};n(".dropdown-toggle",Mi),n(".dropdown-menu",Vi),r.setAttribute("aria-expanded",t)}_setAttributeIfNotExists(e,t,r){e.hasAttribute(t)||e.setAttribute(t,r)}_elemIsActive(e){return e.classList.contains(Mi)}_getInnerElement(e){return e.matches(Gi)?e:St.findOne(Gi,e)}_getOuterElement(e){return e.closest(".nav-item, .list-group-item")||e}static jQueryInterface(e){return this.each((function(){const t=Yi.getOrCreateInstance(this);if("string"==typeof e){if(void 0===t[e]||e.startsWith("_")||"constructor"===e)throw new TypeError(`No method named "${e}"`);t[e]()}}))}}gt.on(document,ji,zi,(function(e){["A","AREA"].includes(this.tagName)&&e.preventDefault(),Ve(this)||Yi.getOrCreateInstance(this).show()})),gt.on(window,Bi,(()=>{for(const e of St.find(Wi))Yi.getOrCreateInstance(e)})),Ke(Yi);const Xi=".bs.toast",Ki=`mouseover${Xi}`,Ji=`mouseout${Xi}`,Qi=`focusin${Xi}`,Zi=`focusout${Xi}`,eo=`hide${Xi}`,to=`hidden${Xi}`,ro=`show${Xi}`,no=`shown${Xi}`,io="hide",oo="show",so="showing",ao={animation:"boolean",autohide:"boolean",delay:"number"},lo={animation:!0,autohide:!0,delay:5e3};class co extends At{constructor(e,t){super(e,t),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return lo}static get DefaultType(){return ao}static get NAME(){return"toast"}show(){if(gt.trigger(this._element,ro).defaultPrevented)return;this._clearTimeout(),this._config.animation&&this._element.classList.add("fade");this._element.classList.remove(io),Ge(this._element),this._element.classList.add(oo,so),this._queueCallback((()=>{this._element.classList.remove(so),gt.trigger(this._element,no),this._maybeScheduleHide()}),this._element,this._config.animation)}hide(){if(!this.isShown())return;if(gt.trigger(this._element,eo).defaultPrevented)return;this._element.classList.add(so),this._queueCallback((()=>{this._element.classList.add(io),this._element.classList.remove(so,oo),gt.trigger(this._element,to)}),this._element,this._config.animation)}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(oo),super.dispose()}isShown(){return this._element.classList.contains(oo)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout((()=>{this.hide()}),this._config.delay)))}_onInteraction(e,t){switch(e.type){case"mouseover":case"mouseout":this._hasMouseInteraction=t;break;case"focusin":case"focusout":this._hasKeyboardInteraction=t}if(t)return void this._clearTimeout();const r=e.relatedTarget;this._element===r||this._element.contains(r)||this._maybeScheduleHide()}_setListeners(){gt.on(this._element,Ki,(e=>this._onInteraction(e,!0))),gt.on(this._element,Ji,(e=>this._onInteraction(e,!1))),gt.on(this._element,Qi,(e=>this._onInteraction(e,!0))),gt.on(this._element,Zi,(e=>this._onInteraction(e,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(e){return this.each((function(){const t=co.getOrCreateInstance(this,e);if("string"==typeof e){if(void 0===t[e])throw new TypeError(`No method named "${e}"`);t[e](this)}}))}}Et(co),Ke(co)},702:function(e,t,r){e.exports=function(){"use strict";function e(e){var t=typeof e;return null!==e&&("object"===t||"function"===t)}function t(e){return"function"==typeof e}var n=Array.isArray?Array.isArray:function(e){return"[object Array]"===Object.prototype.toString.call(e)},i=0,o=void 0,s=void 0,a=function(e,t){w[i]=e,w[i+1]=t,2===(i+=2)&&(s?s(_):A())};function l(e){s=e}function c(e){a=e}var u="undefined"!=typeof window?window:void 0,p=u||{},f=p.MutationObserver||p.WebKitMutationObserver,d="undefined"==typeof self&&"undefined"!=typeof process&&"[object process]"==={}.toString.call(process),h="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel;function g(){return function(){return process.nextTick(_)}}function m(){return void 0!==o?function(){o(_)}:y()}function v(){var e=0,t=new f(_),r=document.createTextNode("");return t.observe(r,{characterData:!0}),function(){r.data=e=++e%2}}function b(){var e=new MessageChannel;return e.port1.onmessage=_,function(){return e.port2.postMessage(0)}}function y(){var e=setTimeout;return function(){return e(_,1)}}var w=new Array(1e3);function _(){for(var e=0;e\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,p={"­":"shy","‌":"zwnj","‍":"zwj","‎":"lrm","⁣":"ic","⁢":"it","⁡":"af","‏":"rlm","​":"ZeroWidthSpace","⁠":"NoBreak","̑":"DownBreve","⃛":"tdot","⃜":"DotDot","\t":"Tab","\n":"NewLine"," ":"puncsp"," ":"MediumSpace"," ":"thinsp"," ":"hairsp"," ":"emsp13"," ":"ensp"," ":"emsp14"," ":"emsp"," ":"numsp"," ":"nbsp","  ":"ThickSpace","‾":"oline",_:"lowbar","‐":"dash","–":"ndash","—":"mdash","―":"horbar",",":"comma",";":"semi","⁏":"bsemi",":":"colon","⩴":"Colone","!":"excl","¡":"iexcl","?":"quest","¿":"iquest",".":"period","‥":"nldr","…":"mldr","·":"middot","'":"apos","‘":"lsquo","’":"rsquo","‚":"sbquo","‹":"lsaquo","›":"rsaquo",'"':"quot","“":"ldquo","”":"rdquo","„":"bdquo","«":"laquo","»":"raquo","(":"lpar",")":"rpar","[":"lsqb","]":"rsqb","{":"lcub","}":"rcub","⌈":"lceil","⌉":"rceil","⌊":"lfloor","⌋":"rfloor","⦅":"lopar","⦆":"ropar","⦋":"lbrke","⦌":"rbrke","⦍":"lbrkslu","⦎":"rbrksld","⦏":"lbrksld","⦐":"rbrkslu","⦑":"langd","⦒":"rangd","⦓":"lparlt","⦔":"rpargt","⦕":"gtlPar","⦖":"ltrPar","⟦":"lobrk","⟧":"robrk","⟨":"lang","⟩":"rang","⟪":"Lang","⟫":"Rang","⟬":"loang","⟭":"roang","❲":"lbbrk","❳":"rbbrk","‖":"Vert","§":"sect","¶":"para","@":"commat","*":"ast","/":"sol",undefined:null,"&":"amp","#":"num","%":"percnt","‰":"permil","‱":"pertenk","†":"dagger","‡":"Dagger","•":"bull","⁃":"hybull","′":"prime","″":"Prime","‴":"tprime","⁗":"qprime","‵":"bprime","⁁":"caret","`":"grave","´":"acute","˜":"tilde","^":"Hat","¯":"macr","˘":"breve","˙":"dot","¨":"die","˚":"ring","˝":"dblac","¸":"cedil","˛":"ogon",ˆ:"circ",ˇ:"caron","°":"deg","©":"copy","®":"reg","℗":"copysr",℘:"wp","℞":"rx","℧":"mho","℩":"iiota","←":"larr","↚":"nlarr","→":"rarr","↛":"nrarr","↑":"uarr","↓":"darr","↔":"harr","↮":"nharr","↕":"varr","↖":"nwarr","↗":"nearr","↘":"searr","↙":"swarr","↝":"rarrw","↝̸":"nrarrw","↞":"Larr","↟":"Uarr","↠":"Rarr","↡":"Darr","↢":"larrtl","↣":"rarrtl","↤":"mapstoleft","↥":"mapstoup","↦":"map","↧":"mapstodown","↩":"larrhk","↪":"rarrhk","↫":"larrlp","↬":"rarrlp","↭":"harrw","↰":"lsh","↱":"rsh","↲":"ldsh","↳":"rdsh","↵":"crarr","↶":"cularr","↷":"curarr","↺":"olarr","↻":"orarr","↼":"lharu","↽":"lhard","↾":"uharr","↿":"uharl","⇀":"rharu","⇁":"rhard","⇂":"dharr","⇃":"dharl","⇄":"rlarr","⇅":"udarr","⇆":"lrarr","⇇":"llarr","⇈":"uuarr","⇉":"rrarr","⇊":"ddarr","⇋":"lrhar","⇌":"rlhar","⇐":"lArr","⇍":"nlArr","⇑":"uArr","⇒":"rArr","⇏":"nrArr","⇓":"dArr","⇔":"iff","⇎":"nhArr","⇕":"vArr","⇖":"nwArr","⇗":"neArr","⇘":"seArr","⇙":"swArr","⇚":"lAarr","⇛":"rAarr","⇝":"zigrarr","⇤":"larrb","⇥":"rarrb","⇵":"duarr","⇽":"loarr","⇾":"roarr","⇿":"hoarr","∀":"forall","∁":"comp","∂":"part","∂̸":"npart","∃":"exist","∄":"nexist","∅":"empty","∇":"Del","∈":"in","∉":"notin","∋":"ni","∌":"notni","϶":"bepsi","∏":"prod","∐":"coprod","∑":"sum","+":"plus","±":"pm","÷":"div","×":"times","<":"lt","≮":"nlt","<⃒":"nvlt","=":"equals","≠":"ne","=⃥":"bne","⩵":"Equal",">":"gt","≯":"ngt",">⃒":"nvgt","¬":"not","|":"vert","¦":"brvbar","−":"minus","∓":"mp","∔":"plusdo","⁄":"frasl","∖":"setmn","∗":"lowast","∘":"compfn","√":"Sqrt","∝":"prop","∞":"infin","∟":"angrt","∠":"ang","∠⃒":"nang","∡":"angmsd","∢":"angsph","∣":"mid","∤":"nmid","∥":"par","∦":"npar","∧":"and","∨":"or","∩":"cap","∩︀":"caps","∪":"cup","∪︀":"cups","∫":"int","∬":"Int","∭":"tint","⨌":"qint","∮":"oint","∯":"Conint","∰":"Cconint","∱":"cwint","∲":"cwconint","∳":"awconint","∴":"there4","∵":"becaus","∶":"ratio","∷":"Colon","∸":"minusd","∺":"mDDot","∻":"homtht","∼":"sim","≁":"nsim","∼⃒":"nvsim","∽":"bsim","∽̱":"race","∾":"ac","∾̳":"acE","∿":"acd","≀":"wr","≂":"esim","≂̸":"nesim","≃":"sime","≄":"nsime","≅":"cong","≇":"ncong","≆":"simne","≈":"ap","≉":"nap","≊":"ape","≋":"apid","≋̸":"napid","≌":"bcong","≍":"CupCap","≭":"NotCupCap","≍⃒":"nvap","≎":"bump","≎̸":"nbump","≏":"bumpe","≏̸":"nbumpe","≐":"doteq","≐̸":"nedot","≑":"eDot","≒":"efDot","≓":"erDot","≔":"colone","≕":"ecolon","≖":"ecir","≗":"cire","≙":"wedgeq","≚":"veeeq","≜":"trie","≟":"equest","≡":"equiv","≢":"nequiv","≡⃥":"bnequiv","≤":"le","≰":"nle","≤⃒":"nvle","≥":"ge","≱":"nge","≥⃒":"nvge","≦":"lE","≦̸":"nlE","≧":"gE","≧̸":"ngE","≨︀":"lvnE","≨":"lnE","≩":"gnE","≩︀":"gvnE","≪":"ll","≪̸":"nLtv","≪⃒":"nLt","≫":"gg","≫̸":"nGtv","≫⃒":"nGt","≬":"twixt","≲":"lsim","≴":"nlsim","≳":"gsim","≵":"ngsim","≶":"lg","≸":"ntlg","≷":"gl","≹":"ntgl","≺":"pr","⊀":"npr","≻":"sc","⊁":"nsc","≼":"prcue","⋠":"nprcue","≽":"sccue","⋡":"nsccue","≾":"prsim","≿":"scsim","≿̸":"NotSucceedsTilde","⊂":"sub","⊄":"nsub","⊂⃒":"vnsub","⊃":"sup","⊅":"nsup","⊃⃒":"vnsup","⊆":"sube","⊈":"nsube","⊇":"supe","⊉":"nsupe","⊊︀":"vsubne","⊊":"subne","⊋︀":"vsupne","⊋":"supne","⊍":"cupdot","⊎":"uplus","⊏":"sqsub","⊏̸":"NotSquareSubset","⊐":"sqsup","⊐̸":"NotSquareSuperset","⊑":"sqsube","⋢":"nsqsube","⊒":"sqsupe","⋣":"nsqsupe","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊕":"oplus","⊖":"ominus","⊗":"otimes","⊘":"osol","⊙":"odot","⊚":"ocir","⊛":"oast","⊝":"odash","⊞":"plusb","⊟":"minusb","⊠":"timesb","⊡":"sdotb","⊢":"vdash","⊬":"nvdash","⊣":"dashv","⊤":"top","⊥":"bot","⊧":"models","⊨":"vDash","⊭":"nvDash","⊩":"Vdash","⊮":"nVdash","⊪":"Vvdash","⊫":"VDash","⊯":"nVDash","⊰":"prurel","⊲":"vltri","⋪":"nltri","⊳":"vrtri","⋫":"nrtri","⊴":"ltrie","⋬":"nltrie","⊴⃒":"nvltrie","⊵":"rtrie","⋭":"nrtrie","⊵⃒":"nvrtrie","⊶":"origof","⊷":"imof","⊸":"mumap","⊹":"hercon","⊺":"intcal","⊻":"veebar","⊽":"barvee","⊾":"angrtvb","⊿":"lrtri","⋀":"Wedge","⋁":"Vee","⋂":"xcap","⋃":"xcup","⋄":"diam","⋅":"sdot","⋆":"Star","⋇":"divonx","⋈":"bowtie","⋉":"ltimes","⋊":"rtimes","⋋":"lthree","⋌":"rthree","⋍":"bsime","⋎":"cuvee","⋏":"cuwed","⋐":"Sub","⋑":"Sup","⋒":"Cap","⋓":"Cup","⋔":"fork","⋕":"epar","⋖":"ltdot","⋗":"gtdot","⋘":"Ll","⋘̸":"nLl","⋙":"Gg","⋙̸":"nGg","⋚︀":"lesg","⋚":"leg","⋛":"gel","⋛︀":"gesl","⋞":"cuepr","⋟":"cuesc","⋦":"lnsim","⋧":"gnsim","⋨":"prnsim","⋩":"scnsim","⋮":"vellip","⋯":"ctdot","⋰":"utdot","⋱":"dtdot","⋲":"disin","⋳":"isinsv","⋴":"isins","⋵":"isindot","⋵̸":"notindot","⋶":"notinvc","⋷":"notinvb","⋹":"isinE","⋹̸":"notinE","⋺":"nisd","⋻":"xnis","⋼":"nis","⋽":"notnivc","⋾":"notnivb","⌅":"barwed","⌆":"Barwed","⌌":"drcrop","⌍":"dlcrop","⌎":"urcrop","⌏":"ulcrop","⌐":"bnot","⌒":"profline","⌓":"profsurf","⌕":"telrec","⌖":"target","⌜":"ulcorn","⌝":"urcorn","⌞":"dlcorn","⌟":"drcorn","⌢":"frown","⌣":"smile","⌭":"cylcty","⌮":"profalar","⌶":"topbot","⌽":"ovbar","⌿":"solbar","⍼":"angzarr","⎰":"lmoust","⎱":"rmoust","⎴":"tbrk","⎵":"bbrk","⎶":"bbrktbrk","⏜":"OverParenthesis","⏝":"UnderParenthesis","⏞":"OverBrace","⏟":"UnderBrace","⏢":"trpezium","⏧":"elinters","␣":"blank","─":"boxh","│":"boxv","┌":"boxdr","┐":"boxdl","└":"boxur","┘":"boxul","├":"boxvr","┤":"boxvl","┬":"boxhd","┴":"boxhu","┼":"boxvh","═":"boxH","║":"boxV","╒":"boxdR","╓":"boxDr","╔":"boxDR","╕":"boxdL","╖":"boxDl","╗":"boxDL","╘":"boxuR","╙":"boxUr","╚":"boxUR","╛":"boxuL","╜":"boxUl","╝":"boxUL","╞":"boxvR","╟":"boxVr","╠":"boxVR","╡":"boxvL","╢":"boxVl","╣":"boxVL","╤":"boxHd","╥":"boxhD","╦":"boxHD","╧":"boxHu","╨":"boxhU","╩":"boxHU","╪":"boxvH","╫":"boxVh","╬":"boxVH","▀":"uhblk","▄":"lhblk","█":"block","░":"blk14","▒":"blk12","▓":"blk34","□":"squ","▪":"squf","▫":"EmptyVerySmallSquare","▭":"rect","▮":"marker","▱":"fltns","△":"xutri","▴":"utrif","▵":"utri","▸":"rtrif","▹":"rtri","▽":"xdtri","▾":"dtrif","▿":"dtri","◂":"ltrif","◃":"ltri","◊":"loz","○":"cir","◬":"tridot","◯":"xcirc","◸":"ultri","◹":"urtri","◺":"lltri","◻":"EmptySmallSquare","◼":"FilledSmallSquare","★":"starf","☆":"star","☎":"phone","♀":"female","♂":"male","♠":"spades","♣":"clubs","♥":"hearts","♦":"diams","♪":"sung","✓":"check","✗":"cross","✠":"malt","✶":"sext","❘":"VerticalSeparator","⟈":"bsolhsub","⟉":"suphsol","⟵":"xlarr","⟶":"xrarr","⟷":"xharr","⟸":"xlArr","⟹":"xrArr","⟺":"xhArr","⟼":"xmap","⟿":"dzigrarr","⤂":"nvlArr","⤃":"nvrArr","⤄":"nvHarr","⤅":"Map","⤌":"lbarr","⤍":"rbarr","⤎":"lBarr","⤏":"rBarr","⤐":"RBarr","⤑":"DDotrahd","⤒":"UpArrowBar","⤓":"DownArrowBar","⤖":"Rarrtl","⤙":"latail","⤚":"ratail","⤛":"lAtail","⤜":"rAtail","⤝":"larrfs","⤞":"rarrfs","⤟":"larrbfs","⤠":"rarrbfs","⤣":"nwarhk","⤤":"nearhk","⤥":"searhk","⤦":"swarhk","⤧":"nwnear","⤨":"toea","⤩":"tosa","⤪":"swnwar","⤳":"rarrc","⤳̸":"nrarrc","⤵":"cudarrr","⤶":"ldca","⤷":"rdca","⤸":"cudarrl","⤹":"larrpl","⤼":"curarrm","⤽":"cularrp","⥅":"rarrpl","⥈":"harrcir","⥉":"Uarrocir","⥊":"lurdshar","⥋":"ldrushar","⥎":"LeftRightVector","⥏":"RightUpDownVector","⥐":"DownLeftRightVector","⥑":"LeftUpDownVector","⥒":"LeftVectorBar","⥓":"RightVectorBar","⥔":"RightUpVectorBar","⥕":"RightDownVectorBar","⥖":"DownLeftVectorBar","⥗":"DownRightVectorBar","⥘":"LeftUpVectorBar","⥙":"LeftDownVectorBar","⥚":"LeftTeeVector","⥛":"RightTeeVector","⥜":"RightUpTeeVector","⥝":"RightDownTeeVector","⥞":"DownLeftTeeVector","⥟":"DownRightTeeVector","⥠":"LeftUpTeeVector","⥡":"LeftDownTeeVector","⥢":"lHar","⥣":"uHar","⥤":"rHar","⥥":"dHar","⥦":"luruhar","⥧":"ldrdhar","⥨":"ruluhar","⥩":"rdldhar","⥪":"lharul","⥫":"llhard","⥬":"rharul","⥭":"lrhard","⥮":"udhar","⥯":"duhar","⥰":"RoundImplies","⥱":"erarr","⥲":"simrarr","⥳":"larrsim","⥴":"rarrsim","⥵":"rarrap","⥶":"ltlarr","⥸":"gtrarr","⥹":"subrarr","⥻":"suplarr","⥼":"lfisht","⥽":"rfisht","⥾":"ufisht","⥿":"dfisht","⦚":"vzigzag","⦜":"vangrt","⦝":"angrtvbd","⦤":"ange","⦥":"range","⦦":"dwangle","⦧":"uwangle","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","⦰":"bemptyv","⦱":"demptyv","⦲":"cemptyv","⦳":"raemptyv","⦴":"laemptyv","⦵":"ohbar","⦶":"omid","⦷":"opar","⦹":"operp","⦻":"olcross","⦼":"odsold","⦾":"olcir","⦿":"ofcir","⧀":"olt","⧁":"ogt","⧂":"cirscir","⧃":"cirE","⧄":"solb","⧅":"bsolb","⧉":"boxbox","⧍":"trisb","⧎":"rtriltri","⧏":"LeftTriangleBar","⧏̸":"NotLeftTriangleBar","⧐":"RightTriangleBar","⧐̸":"NotRightTriangleBar","⧜":"iinfin","⧝":"infintie","⧞":"nvinfin","⧣":"eparsl","⧤":"smeparsl","⧥":"eqvparsl","⧫":"lozf","⧴":"RuleDelayed","⧶":"dsol","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨄":"xuplus","⨆":"xsqcup","⨍":"fpartint","⨐":"cirfnint","⨑":"awint","⨒":"rppolint","⨓":"scpolint","⨔":"npolint","⨕":"pointint","⨖":"quatint","⨗":"intlarhk","⨢":"pluscir","⨣":"plusacir","⨤":"simplus","⨥":"plusdu","⨦":"plussim","⨧":"plustwo","⨩":"mcomma","⨪":"minusdu","⨭":"loplus","⨮":"roplus","⨯":"Cross","⨰":"timesd","⨱":"timesbar","⨳":"smashp","⨴":"lotimes","⨵":"rotimes","⨶":"otimesas","⨷":"Otimes","⨸":"odiv","⨹":"triplus","⨺":"triminus","⨻":"tritime","⨼":"iprod","⨿":"amalg","⩀":"capdot","⩂":"ncup","⩃":"ncap","⩄":"capand","⩅":"cupor","⩆":"cupcap","⩇":"capcup","⩈":"cupbrcap","⩉":"capbrcup","⩊":"cupcup","⩋":"capcap","⩌":"ccups","⩍":"ccaps","⩐":"ccupssm","⩓":"And","⩔":"Or","⩕":"andand","⩖":"oror","⩗":"orslope","⩘":"andslope","⩚":"andv","⩛":"orv","⩜":"andd","⩝":"ord","⩟":"wedbar","⩦":"sdote","⩪":"simdot","⩭":"congdot","⩭̸":"ncongdot","⩮":"easter","⩯":"apacir","⩰":"apE","⩰̸":"napE","⩱":"eplus","⩲":"pluse","⩳":"Esim","⩷":"eDDot","⩸":"equivDD","⩹":"ltcir","⩺":"gtcir","⩻":"ltquest","⩼":"gtquest","⩽":"les","⩽̸":"nles","⩾":"ges","⩾̸":"nges","⩿":"lesdot","⪀":"gesdot","⪁":"lesdoto","⪂":"gesdoto","⪃":"lesdotor","⪄":"gesdotol","⪅":"lap","⪆":"gap","⪇":"lne","⪈":"gne","⪉":"lnap","⪊":"gnap","⪋":"lEg","⪌":"gEl","⪍":"lsime","⪎":"gsime","⪏":"lsimg","⪐":"gsiml","⪑":"lgE","⪒":"glE","⪓":"lesges","⪔":"gesles","⪕":"els","⪖":"egs","⪗":"elsdot","⪘":"egsdot","⪙":"el","⪚":"eg","⪝":"siml","⪞":"simg","⪟":"simlE","⪠":"simgE","⪡":"LessLess","⪡̸":"NotNestedLessLess","⪢":"GreaterGreater","⪢̸":"NotNestedGreaterGreater","⪤":"glj","⪥":"gla","⪦":"ltcc","⪧":"gtcc","⪨":"lescc","⪩":"gescc","⪪":"smt","⪫":"lat","⪬":"smte","⪬︀":"smtes","⪭":"late","⪭︀":"lates","⪮":"bumpE","⪯":"pre","⪯̸":"npre","⪰":"sce","⪰̸":"nsce","⪳":"prE","⪴":"scE","⪵":"prnE","⪶":"scnE","⪷":"prap","⪸":"scap","⪹":"prnap","⪺":"scnap","⪻":"Pr","⪼":"Sc","⪽":"subdot","⪾":"supdot","⪿":"subplus","⫀":"supplus","⫁":"submult","⫂":"supmult","⫃":"subedot","⫄":"supedot","⫅":"subE","⫅̸":"nsubE","⫆":"supE","⫆̸":"nsupE","⫇":"subsim","⫈":"supsim","⫋︀":"vsubnE","⫋":"subnE","⫌︀":"vsupnE","⫌":"supnE","⫏":"csub","⫐":"csup","⫑":"csube","⫒":"csupe","⫓":"subsup","⫔":"supsub","⫕":"subsub","⫖":"supsup","⫗":"suphsub","⫘":"supdsub","⫙":"forkv","⫚":"topfork","⫛":"mlcp","⫤":"Dashv","⫦":"Vdashl","⫧":"Barv","⫨":"vBar","⫩":"vBarv","⫫":"Vbar","⫬":"Not","⫭":"bNot","⫮":"rnmid","⫯":"cirmid","⫰":"midcir","⫱":"topcir","⫲":"nhpar","⫳":"parsim","⫽":"parsl","⫽⃥":"nparsl","♭":"flat","♮":"natur","♯":"sharp","¤":"curren","¢":"cent",$:"dollar","£":"pound","¥":"yen","€":"euro","¹":"sup1","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","²":"sup2","⅔":"frac23","⅖":"frac25","³":"sup3","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78",𝒶:"ascr",𝕒:"aopf",𝔞:"afr",𝔸:"Aopf",𝔄:"Afr",𝒜:"Ascr",ª:"ordf",á:"aacute",Á:"Aacute",à:"agrave",À:"Agrave",ă:"abreve",Ă:"Abreve",â:"acirc",Â:"Acirc",å:"aring",Å:"angst",ä:"auml",Ä:"Auml",ã:"atilde",Ã:"Atilde",ą:"aogon",Ą:"Aogon",ā:"amacr",Ā:"Amacr",æ:"aelig",Æ:"AElig",𝒷:"bscr",𝕓:"bopf",𝔟:"bfr",𝔹:"Bopf",ℬ:"Bscr",𝔅:"Bfr",𝔠:"cfr",𝒸:"cscr",𝕔:"copf",ℭ:"Cfr",𝒞:"Cscr",ℂ:"Copf",ć:"cacute",Ć:"Cacute",ĉ:"ccirc",Ĉ:"Ccirc",č:"ccaron",Č:"Ccaron",ċ:"cdot",Ċ:"Cdot",ç:"ccedil",Ç:"Ccedil","℅":"incare",𝔡:"dfr",ⅆ:"dd",𝕕:"dopf",𝒹:"dscr",𝒟:"Dscr",𝔇:"Dfr",ⅅ:"DD",𝔻:"Dopf",ď:"dcaron",Ď:"Dcaron",đ:"dstrok",Đ:"Dstrok",ð:"eth",Ð:"ETH",ⅇ:"ee",ℯ:"escr",𝔢:"efr",𝕖:"eopf",ℰ:"Escr",𝔈:"Efr",𝔼:"Eopf",é:"eacute",É:"Eacute",è:"egrave",È:"Egrave",ê:"ecirc",Ê:"Ecirc",ě:"ecaron",Ě:"Ecaron",ë:"euml",Ë:"Euml",ė:"edot",Ė:"Edot",ę:"eogon",Ę:"Eogon",ē:"emacr",Ē:"Emacr",𝔣:"ffr",𝕗:"fopf",𝒻:"fscr",𝔉:"Ffr",𝔽:"Fopf",ℱ:"Fscr",ff:"fflig",ffi:"ffilig",ffl:"ffllig",fi:"filig",fj:"fjlig",fl:"fllig",ƒ:"fnof",ℊ:"gscr",𝕘:"gopf",𝔤:"gfr",𝒢:"Gscr",𝔾:"Gopf",𝔊:"Gfr",ǵ:"gacute",ğ:"gbreve",Ğ:"Gbreve",ĝ:"gcirc",Ĝ:"Gcirc",ġ:"gdot",Ġ:"Gdot",Ģ:"Gcedil",𝔥:"hfr",ℎ:"planckh",𝒽:"hscr",𝕙:"hopf",ℋ:"Hscr",ℌ:"Hfr",ℍ:"Hopf",ĥ:"hcirc",Ĥ:"Hcirc",ℏ:"hbar",ħ:"hstrok",Ħ:"Hstrok",𝕚:"iopf",𝔦:"ifr",𝒾:"iscr",ⅈ:"ii",𝕀:"Iopf",ℐ:"Iscr",ℑ:"Im",í:"iacute",Í:"Iacute",ì:"igrave",Ì:"Igrave",î:"icirc",Î:"Icirc",ï:"iuml",Ï:"Iuml",ĩ:"itilde",Ĩ:"Itilde",İ:"Idot",į:"iogon",Į:"Iogon",ī:"imacr",Ī:"Imacr",ij:"ijlig",IJ:"IJlig",ı:"imath",𝒿:"jscr",𝕛:"jopf",𝔧:"jfr",𝒥:"Jscr",𝔍:"Jfr",𝕁:"Jopf",ĵ:"jcirc",Ĵ:"Jcirc",ȷ:"jmath",𝕜:"kopf",𝓀:"kscr",𝔨:"kfr",𝒦:"Kscr",𝕂:"Kopf",𝔎:"Kfr",ķ:"kcedil",Ķ:"Kcedil",𝔩:"lfr",𝓁:"lscr",ℓ:"ell",𝕝:"lopf",ℒ:"Lscr",𝔏:"Lfr",𝕃:"Lopf",ĺ:"lacute",Ĺ:"Lacute",ľ:"lcaron",Ľ:"Lcaron",ļ:"lcedil",Ļ:"Lcedil",ł:"lstrok",Ł:"Lstrok",ŀ:"lmidot",Ŀ:"Lmidot",𝔪:"mfr",𝕞:"mopf",𝓂:"mscr",𝔐:"Mfr",𝕄:"Mopf",ℳ:"Mscr",𝔫:"nfr",𝕟:"nopf",𝓃:"nscr",ℕ:"Nopf",𝒩:"Nscr",𝔑:"Nfr",ń:"nacute",Ń:"Nacute",ň:"ncaron",Ň:"Ncaron",ñ:"ntilde",Ñ:"Ntilde",ņ:"ncedil",Ņ:"Ncedil","№":"numero",ŋ:"eng",Ŋ:"ENG",𝕠:"oopf",𝔬:"ofr",ℴ:"oscr",𝒪:"Oscr",𝔒:"Ofr",𝕆:"Oopf",º:"ordm",ó:"oacute",Ó:"Oacute",ò:"ograve",Ò:"Ograve",ô:"ocirc",Ô:"Ocirc",ö:"ouml",Ö:"Ouml",ő:"odblac",Ő:"Odblac",õ:"otilde",Õ:"Otilde",ø:"oslash",Ø:"Oslash",ō:"omacr",Ō:"Omacr",œ:"oelig",Œ:"OElig",𝔭:"pfr",𝓅:"pscr",𝕡:"popf",ℙ:"Popf",𝔓:"Pfr",𝒫:"Pscr",𝕢:"qopf",𝔮:"qfr",𝓆:"qscr",𝒬:"Qscr",𝔔:"Qfr",ℚ:"Qopf",ĸ:"kgreen",𝔯:"rfr",𝕣:"ropf",𝓇:"rscr",ℛ:"Rscr",ℜ:"Re",ℝ:"Ropf",ŕ:"racute",Ŕ:"Racute",ř:"rcaron",Ř:"Rcaron",ŗ:"rcedil",Ŗ:"Rcedil",𝕤:"sopf",𝓈:"sscr",𝔰:"sfr",𝕊:"Sopf",𝔖:"Sfr",𝒮:"Sscr","Ⓢ":"oS",ś:"sacute",Ś:"Sacute",ŝ:"scirc",Ŝ:"Scirc",š:"scaron",Š:"Scaron",ş:"scedil",Ş:"Scedil",ß:"szlig",𝔱:"tfr",𝓉:"tscr",𝕥:"topf",𝒯:"Tscr",𝔗:"Tfr",𝕋:"Topf",ť:"tcaron",Ť:"Tcaron",ţ:"tcedil",Ţ:"Tcedil","™":"trade",ŧ:"tstrok",Ŧ:"Tstrok",𝓊:"uscr",𝕦:"uopf",𝔲:"ufr",𝕌:"Uopf",𝔘:"Ufr",𝒰:"Uscr",ú:"uacute",Ú:"Uacute",ù:"ugrave",Ù:"Ugrave",ŭ:"ubreve",Ŭ:"Ubreve",û:"ucirc",Û:"Ucirc",ů:"uring",Ů:"Uring",ü:"uuml",Ü:"Uuml",ű:"udblac",Ű:"Udblac",ũ:"utilde",Ũ:"Utilde",ų:"uogon",Ų:"Uogon",ū:"umacr",Ū:"Umacr",𝔳:"vfr",𝕧:"vopf",𝓋:"vscr",𝔙:"Vfr",𝕍:"Vopf",𝒱:"Vscr",𝕨:"wopf",𝓌:"wscr",𝔴:"wfr",𝒲:"Wscr",𝕎:"Wopf",𝔚:"Wfr",ŵ:"wcirc",Ŵ:"Wcirc",𝔵:"xfr",𝓍:"xscr",𝕩:"xopf",𝕏:"Xopf",𝔛:"Xfr",𝒳:"Xscr",𝔶:"yfr",𝓎:"yscr",𝕪:"yopf",𝒴:"Yscr",𝔜:"Yfr",𝕐:"Yopf",ý:"yacute",Ý:"Yacute",ŷ:"ycirc",Ŷ:"Ycirc",ÿ:"yuml",Ÿ:"Yuml",𝓏:"zscr",𝔷:"zfr",𝕫:"zopf",ℨ:"Zfr",ℤ:"Zopf",𝒵:"Zscr",ź:"zacute",Ź:"Zacute",ž:"zcaron",Ž:"Zcaron",ż:"zdot",Ż:"Zdot",Ƶ:"imped",þ:"thorn",Þ:"THORN",ʼn:"napos",α:"alpha",Α:"Alpha",β:"beta",Β:"Beta",γ:"gamma",Γ:"Gamma",δ:"delta",Δ:"Delta",ε:"epsi",ϵ:"epsiv",Ε:"Epsilon",ϝ:"gammad",Ϝ:"Gammad",ζ:"zeta",Ζ:"Zeta",η:"eta",Η:"Eta",θ:"theta",ϑ:"thetav",Θ:"Theta",ι:"iota",Ι:"Iota",κ:"kappa",ϰ:"kappav",Κ:"Kappa",λ:"lambda",Λ:"Lambda",μ:"mu",µ:"micro",Μ:"Mu",ν:"nu",Ν:"Nu",ξ:"xi",Ξ:"Xi",ο:"omicron",Ο:"Omicron",π:"pi",ϖ:"piv",Π:"Pi",ρ:"rho",ϱ:"rhov",Ρ:"Rho",σ:"sigma",Σ:"Sigma",ς:"sigmaf",τ:"tau",Τ:"Tau",υ:"upsi",Υ:"Upsilon",ϒ:"Upsi",φ:"phi",ϕ:"phiv",Φ:"Phi",χ:"chi",Χ:"Chi",ψ:"psi",Ψ:"Psi",ω:"omega",Ω:"ohm",а:"acy",А:"Acy",б:"bcy",Б:"Bcy",в:"vcy",В:"Vcy",г:"gcy",Г:"Gcy",ѓ:"gjcy",Ѓ:"GJcy",д:"dcy",Д:"Dcy",ђ:"djcy",Ђ:"DJcy",е:"iecy",Е:"IEcy",ё:"iocy",Ё:"IOcy",є:"jukcy",Є:"Jukcy",ж:"zhcy",Ж:"ZHcy",з:"zcy",З:"Zcy",ѕ:"dscy",Ѕ:"DScy",и:"icy",И:"Icy",і:"iukcy",І:"Iukcy",ї:"yicy",Ї:"YIcy",й:"jcy",Й:"Jcy",ј:"jsercy",Ј:"Jsercy",к:"kcy",К:"Kcy",ќ:"kjcy",Ќ:"KJcy",л:"lcy",Л:"Lcy",љ:"ljcy",Љ:"LJcy",м:"mcy",М:"Mcy",н:"ncy",Н:"Ncy",њ:"njcy",Њ:"NJcy",о:"ocy",О:"Ocy",п:"pcy",П:"Pcy",р:"rcy",Р:"Rcy",с:"scy",С:"Scy",т:"tcy",Т:"Tcy",ћ:"tshcy",Ћ:"TSHcy",у:"ucy",У:"Ucy",ў:"ubrcy",Ў:"Ubrcy",ф:"fcy",Ф:"Fcy",х:"khcy",Х:"KHcy",ц:"tscy",Ц:"TScy",ч:"chcy",Ч:"CHcy",џ:"dzcy",Џ:"DZcy",ш:"shcy",Ш:"SHcy",щ:"shchcy",Щ:"SHCHcy",ъ:"hardcy",Ъ:"HARDcy",ы:"ycy",Ы:"Ycy",ь:"softcy",Ь:"SOFTcy",э:"ecy",Э:"Ecy",ю:"yucy",Ю:"YUcy",я:"yacy",Я:"YAcy",ℵ:"aleph",ℶ:"beth",ℷ:"gimel",ℸ:"daleth"},f=/["&'<>`]/g,d={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},h=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,m=/&(CounterClockwiseContourIntegral|DoubleLongLeftRightArrow|ClockwiseContourIntegral|NotNestedGreaterGreater|NotSquareSupersetEqual|DiacriticalDoubleAcute|NotRightTriangleEqual|NotSucceedsSlantEqual|NotPrecedesSlantEqual|CloseCurlyDoubleQuote|NegativeVeryThinSpace|DoubleContourIntegral|FilledVerySmallSquare|CapitalDifferentialD|OpenCurlyDoubleQuote|EmptyVerySmallSquare|NestedGreaterGreater|DoubleLongRightArrow|NotLeftTriangleEqual|NotGreaterSlantEqual|ReverseUpEquilibrium|DoubleLeftRightArrow|NotSquareSubsetEqual|NotDoubleVerticalBar|RightArrowLeftArrow|NotGreaterFullEqual|NotRightTriangleBar|SquareSupersetEqual|DownLeftRightVector|DoubleLongLeftArrow|leftrightsquigarrow|LeftArrowRightArrow|NegativeMediumSpace|blacktriangleright|RightDownVectorBar|PrecedesSlantEqual|RightDoubleBracket|SucceedsSlantEqual|NotLeftTriangleBar|RightTriangleEqual|SquareIntersection|RightDownTeeVector|ReverseEquilibrium|NegativeThickSpace|longleftrightarrow|Longleftrightarrow|LongLeftRightArrow|DownRightTeeVector|DownRightVectorBar|GreaterSlantEqual|SquareSubsetEqual|LeftDownVectorBar|LeftDoubleBracket|VerticalSeparator|rightleftharpoons|NotGreaterGreater|NotSquareSuperset|blacktriangleleft|blacktriangledown|NegativeThinSpace|LeftDownTeeVector|NotLessSlantEqual|leftrightharpoons|DoubleUpDownArrow|DoubleVerticalBar|LeftTriangleEqual|FilledSmallSquare|twoheadrightarrow|NotNestedLessLess|DownLeftTeeVector|DownLeftVectorBar|RightAngleBracket|NotTildeFullEqual|NotReverseElement|RightUpDownVector|DiacriticalTilde|NotSucceedsTilde|circlearrowright|NotPrecedesEqual|rightharpoondown|DoubleRightArrow|NotSucceedsEqual|NonBreakingSpace|NotRightTriangle|LessEqualGreater|RightUpTeeVector|LeftAngleBracket|GreaterFullEqual|DownArrowUpArrow|RightUpVectorBar|twoheadleftarrow|GreaterEqualLess|downharpoonright|RightTriangleBar|ntrianglerighteq|NotSupersetEqual|LeftUpDownVector|DiacriticalAcute|rightrightarrows|vartriangleright|UpArrowDownArrow|DiacriticalGrave|UnderParenthesis|EmptySmallSquare|LeftUpVectorBar|leftrightarrows|DownRightVector|downharpoonleft|trianglerighteq|ShortRightArrow|OverParenthesis|DoubleLeftArrow|DoubleDownArrow|NotSquareSubset|bigtriangledown|ntrianglelefteq|UpperRightArrow|curvearrowright|vartriangleleft|NotLeftTriangle|nleftrightarrow|LowerRightArrow|NotHumpDownHump|NotGreaterTilde|rightthreetimes|LeftUpTeeVector|NotGreaterEqual|straightepsilon|LeftTriangleBar|rightsquigarrow|ContourIntegral|rightleftarrows|CloseCurlyQuote|RightDownVector|LeftRightVector|nLeftrightarrow|leftharpoondown|circlearrowleft|SquareSuperset|OpenCurlyQuote|hookrightarrow|HorizontalLine|DiacriticalDot|NotLessGreater|ntriangleright|DoubleRightTee|InvisibleComma|InvisibleTimes|LowerLeftArrow|DownLeftVector|NotSubsetEqual|curvearrowleft|trianglelefteq|NotVerticalBar|TildeFullEqual|downdownarrows|NotGreaterLess|RightTeeVector|ZeroWidthSpace|looparrowright|LongRightArrow|doublebarwedge|ShortLeftArrow|ShortDownArrow|RightVectorBar|GreaterGreater|ReverseElement|rightharpoonup|LessSlantEqual|leftthreetimes|upharpoonright|rightarrowtail|LeftDownVector|Longrightarrow|NestedLessLess|UpperLeftArrow|nshortparallel|leftleftarrows|leftrightarrow|Leftrightarrow|LeftRightArrow|longrightarrow|upharpoonleft|RightArrowBar|ApplyFunction|LeftTeeVector|leftarrowtail|NotEqualTilde|varsubsetneqq|varsupsetneqq|RightTeeArrow|SucceedsEqual|SucceedsTilde|LeftVectorBar|SupersetEqual|hookleftarrow|DifferentialD|VerticalTilde|VeryThinSpace|blacktriangle|bigtriangleup|LessFullEqual|divideontimes|leftharpoonup|UpEquilibrium|ntriangleleft|RightTriangle|measuredangle|shortparallel|longleftarrow|Longleftarrow|LongLeftArrow|DoubleLeftTee|Poincareplane|PrecedesEqual|triangleright|DoubleUpArrow|RightUpVector|fallingdotseq|looparrowleft|PrecedesTilde|NotTildeEqual|NotTildeTilde|smallsetminus|Proportional|triangleleft|triangledown|UnderBracket|NotHumpEqual|exponentiale|ExponentialE|NotLessTilde|HilbertSpace|RightCeiling|blacklozenge|varsupsetneq|HumpDownHump|GreaterEqual|VerticalLine|LeftTeeArrow|NotLessEqual|DownTeeArrow|LeftTriangle|varsubsetneq|Intersection|NotCongruent|DownArrowBar|LeftUpVector|LeftArrowBar|risingdotseq|GreaterTilde|RoundImplies|SquareSubset|ShortUpArrow|NotSuperset|quaternions|precnapprox|backepsilon|preccurlyeq|OverBracket|blacksquare|MediumSpace|VerticalBar|circledcirc|circleddash|CircleMinus|CircleTimes|LessGreater|curlyeqprec|curlyeqsucc|diamondsuit|UpDownArrow|Updownarrow|RuleDelayed|Rrightarrow|updownarrow|RightVector|nRightarrow|nrightarrow|eqslantless|LeftCeiling|Equilibrium|SmallCircle|expectation|NotSucceeds|thickapprox|GreaterLess|SquareUnion|NotPrecedes|NotLessLess|straightphi|succnapprox|succcurlyeq|SubsetEqual|sqsupseteq|Proportion|Laplacetrf|ImaginaryI|supsetneqq|NotGreater|gtreqqless|NotElement|ThickSpace|TildeEqual|TildeTilde|Fouriertrf|rmoustache|EqualTilde|eqslantgtr|UnderBrace|LeftVector|UpArrowBar|nLeftarrow|nsubseteqq|subsetneqq|nsupseteqq|nleftarrow|succapprox|lessapprox|UpTeeArrow|upuparrows|curlywedge|lesseqqgtr|varepsilon|varnothing|RightFloor|complement|CirclePlus|sqsubseteq|Lleftarrow|circledast|RightArrow|Rightarrow|rightarrow|lmoustache|Bernoullis|precapprox|mapstoleft|mapstodown|longmapsto|dotsquare|downarrow|DoubleDot|nsubseteq|supsetneq|leftarrow|nsupseteq|subsetneq|ThinSpace|ngeqslant|subseteqq|HumpEqual|NotSubset|triangleq|NotCupCap|lesseqgtr|heartsuit|TripleDot|Leftarrow|Coproduct|Congruent|varpropto|complexes|gvertneqq|LeftArrow|LessTilde|supseteqq|MinusPlus|CircleDot|nleqslant|NotExists|gtreqless|nparallel|UnionPlus|LeftFloor|checkmark|CenterDot|centerdot|Mellintrf|gtrapprox|bigotimes|OverBrace|spadesuit|therefore|pitchfork|rationals|PlusMinus|Backslash|Therefore|DownBreve|backsimeq|backprime|DownArrow|nshortmid|Downarrow|lvertneqq|eqvparsl|imagline|imagpart|infintie|integers|Integral|intercal|LessLess|Uarrocir|intlarhk|sqsupset|angmsdaf|sqsubset|llcorner|vartheta|cupbrcap|lnapprox|Superset|SuchThat|succnsim|succneqq|angmsdag|biguplus|curlyvee|trpezium|Succeeds|NotTilde|bigwedge|angmsdah|angrtvbd|triminus|cwconint|fpartint|lrcorner|smeparsl|subseteq|urcorner|lurdshar|laemptyv|DDotrahd|approxeq|ldrushar|awconint|mapstoup|backcong|shortmid|triangle|geqslant|gesdotol|timesbar|circledR|circledS|setminus|multimap|naturals|scpolint|ncongdot|RightTee|boxminus|gnapprox|boxtimes|andslope|thicksim|angmsdaa|varsigma|cirfnint|rtriltri|angmsdab|rppolint|angmsdac|barwedge|drbkarow|clubsuit|thetasym|bsolhsub|capbrcup|dzigrarr|doteqdot|DotEqual|dotminus|UnderBar|NotEqual|realpart|otimesas|ulcorner|hksearow|hkswarow|parallel|PartialD|elinters|emptyset|plusacir|bbrktbrk|angmsdad|pointint|bigoplus|angmsdae|Precedes|bigsqcup|varkappa|notindot|supseteq|precneqq|precnsim|profalar|profline|profsurf|leqslant|lesdotor|raemptyv|subplus|notnivb|notnivc|subrarr|zigrarr|vzigzag|submult|subedot|Element|between|cirscir|larrbfs|larrsim|lotimes|lbrksld|lbrkslu|lozenge|ldrdhar|dbkarow|bigcirc|epsilon|simrarr|simplus|ltquest|Epsilon|luruhar|gtquest|maltese|npolint|eqcolon|npreceq|bigodot|ddagger|gtrless|bnequiv|harrcir|ddotseq|equivDD|backsim|demptyv|nsqsube|nsqsupe|Upsilon|nsubset|upsilon|minusdu|nsucceq|swarrow|nsupset|coloneq|searrow|boxplus|napprox|natural|asympeq|alefsym|congdot|nearrow|bigstar|diamond|supplus|tritime|LeftTee|nvinfin|triplus|NewLine|nvltrie|nvrtrie|nwarrow|nexists|Diamond|ruluhar|Implies|supmult|angzarr|suplarr|suphsub|questeq|because|digamma|Because|olcross|bemptyv|omicron|Omicron|rotimes|NoBreak|intprod|angrtvb|orderof|uwangle|suphsol|lesdoto|orslope|DownTee|realine|cudarrl|rdldhar|OverBar|supedot|lessdot|supdsub|topfork|succsim|rbrkslu|rbrksld|pertenk|cudarrr|isindot|planckh|lessgtr|pluscir|gesdoto|plussim|plustwo|lesssim|cularrp|rarrsim|Cayleys|notinva|notinvb|notinvc|UpArrow|Uparrow|uparrow|NotLess|dwangle|precsim|Product|curarrm|Cconint|dotplus|rarrbfs|ccupssm|Cedilla|cemptyv|notniva|quatint|frac35|frac38|frac45|frac56|frac58|frac78|tridot|xoplus|gacute|gammad|Gammad|lfisht|lfloor|bigcup|sqsupe|gbreve|Gbreve|lharul|sqsube|sqcups|Gcedil|apacir|llhard|lmidot|Lmidot|lmoust|andand|sqcaps|approx|Abreve|spades|circeq|tprime|divide|topcir|Assign|topbot|gesdot|divonx|xuplus|timesd|gesles|atilde|solbar|SOFTcy|loplus|timesb|lowast|lowbar|dlcorn|dlcrop|softcy|dollar|lparlt|thksim|lrhard|Atilde|lsaquo|smashp|bigvee|thinsp|wreath|bkarow|lsquor|lstrok|Lstrok|lthree|ltimes|ltlarr|DotDot|simdot|ltrPar|weierp|xsqcup|angmsd|sigmav|sigmaf|zeetrf|Zcaron|zcaron|mapsto|vsupne|thetav|cirmid|marker|mcomma|Zacute|vsubnE|there4|gtlPar|vsubne|bottom|gtrarr|SHCHcy|shchcy|midast|midcir|middot|minusb|minusd|gtrdot|bowtie|sfrown|mnplus|models|colone|seswar|Colone|mstpos|searhk|gtrsim|nacute|Nacute|boxbox|telrec|hairsp|Tcedil|nbumpe|scnsim|ncaron|Ncaron|ncedil|Ncedil|hamilt|Scedil|nearhk|hardcy|HARDcy|tcedil|Tcaron|commat|nequiv|nesear|tcaron|target|hearts|nexist|varrho|scedil|Scaron|scaron|hellip|Sacute|sacute|hercon|swnwar|compfn|rtimes|rthree|rsquor|rsaquo|zacute|wedgeq|homtht|barvee|barwed|Barwed|rpargt|horbar|conint|swarhk|roplus|nltrie|hslash|hstrok|Hstrok|rmoust|Conint|bprime|hybull|hyphen|iacute|Iacute|supsup|supsub|supsim|varphi|coprod|brvbar|agrave|Supset|supset|igrave|Igrave|notinE|Agrave|iiiint|iinfin|copysr|wedbar|Verbar|vangrt|becaus|incare|verbar|inodot|bullet|drcorn|intcal|drcrop|cularr|vellip|Utilde|bumpeq|cupcap|dstrok|Dstrok|CupCap|cupcup|cupdot|eacute|Eacute|supdot|iquest|easter|ecaron|Ecaron|ecolon|isinsv|utilde|itilde|Itilde|curarr|succeq|Bumpeq|cacute|ulcrop|nparsl|Cacute|nprcue|egrave|Egrave|nrarrc|nrarrw|subsup|subsub|nrtrie|jsercy|nsccue|Jsercy|kappav|kcedil|Kcedil|subsim|ulcorn|nsimeq|egsdot|veebar|kgreen|capand|elsdot|Subset|subset|curren|aacute|lacute|Lacute|emptyv|ntilde|Ntilde|lagran|lambda|Lambda|capcap|Ugrave|langle|subdot|emsp13|numero|emsp14|nvdash|nvDash|nVdash|nVDash|ugrave|ufisht|nvHarr|larrfs|nvlArr|larrhk|larrlp|larrpl|nvrArr|Udblac|nwarhk|larrtl|nwnear|oacute|Oacute|latail|lAtail|sstarf|lbrace|odblac|Odblac|lbrack|udblac|odsold|eparsl|lcaron|Lcaron|ograve|Ograve|lcedil|Lcedil|Aacute|ssmile|ssetmn|squarf|ldquor|capcup|ominus|cylcty|rharul|eqcirc|dagger|rfloor|rfisht|Dagger|daleth|equals|origof|capdot|equest|dcaron|Dcaron|rdquor|oslash|Oslash|otilde|Otilde|otimes|Otimes|urcrop|Ubreve|ubreve|Yacute|Uacute|uacute|Rcedil|rcedil|urcorn|parsim|Rcaron|Vdashl|rcaron|Tstrok|percnt|period|permil|Exists|yacute|rbrack|rbrace|phmmat|ccaron|Ccaron|planck|ccedil|plankv|tstrok|female|plusdo|plusdu|ffilig|plusmn|ffllig|Ccedil|rAtail|dfisht|bernou|ratail|Rarrtl|rarrtl|angsph|rarrpl|rarrlp|rarrhk|xwedge|xotime|forall|ForAll|Vvdash|vsupnE|preceq|bigcap|frac12|frac13|frac14|primes|rarrfs|prnsim|frac15|Square|frac16|square|lesdot|frac18|frac23|propto|prurel|rarrap|rangle|puncsp|frac25|Racute|qprime|racute|lesges|frac34|abreve|AElig|eqsim|utdot|setmn|urtri|Equal|Uring|seArr|uring|searr|dashv|Dashv|mumap|nabla|iogon|Iogon|sdote|sdotb|scsim|napid|napos|equiv|natur|Acirc|dblac|erarr|nbump|iprod|erDot|ucirc|awint|esdot|angrt|ncong|isinE|scnap|Scirc|scirc|ndash|isins|Ubrcy|nearr|neArr|isinv|nedot|ubrcy|acute|Ycirc|iukcy|Iukcy|xutri|nesim|caret|jcirc|Jcirc|caron|twixt|ddarr|sccue|exist|jmath|sbquo|ngeqq|angst|ccaps|lceil|ngsim|UpTee|delta|Delta|rtrif|nharr|nhArr|nhpar|rtrie|jukcy|Jukcy|kappa|rsquo|Kappa|nlarr|nlArr|TSHcy|rrarr|aogon|Aogon|fflig|xrarr|tshcy|ccirc|nleqq|filig|upsih|nless|dharl|nlsim|fjlig|ropar|nltri|dharr|robrk|roarr|fllig|fltns|roang|rnmid|subnE|subne|lAarr|trisb|Ccirc|acirc|ccups|blank|VDash|forkv|Vdash|langd|cedil|blk12|blk14|laquo|strns|diams|notin|vDash|larrb|blk34|block|disin|uplus|vdash|vBarv|aelig|starf|Wedge|check|xrArr|lates|lbarr|lBarr|notni|lbbrk|bcong|frasl|lbrke|frown|vrtri|vprop|vnsup|gamma|Gamma|wedge|xodot|bdquo|srarr|doteq|ldquo|boxdl|boxdL|gcirc|Gcirc|boxDl|boxDL|boxdr|boxdR|boxDr|TRADE|trade|rlhar|boxDR|vnsub|npart|vltri|rlarr|boxhd|boxhD|nprec|gescc|nrarr|nrArr|boxHd|boxHD|boxhu|boxhU|nrtri|boxHu|clubs|boxHU|times|colon|Colon|gimel|xlArr|Tilde|nsime|tilde|nsmid|nspar|THORN|thorn|xlarr|nsube|nsubE|thkap|xhArr|comma|nsucc|boxul|boxuL|nsupe|nsupE|gneqq|gnsim|boxUl|boxUL|grave|boxur|boxuR|boxUr|boxUR|lescc|angle|bepsi|boxvh|varpi|boxvH|numsp|Theta|gsime|gsiml|theta|boxVh|boxVH|boxvl|gtcir|gtdot|boxvL|boxVl|boxVL|crarr|cross|Cross|nvsim|boxvr|nwarr|nwArr|sqsup|dtdot|Uogon|lhard|lharu|dtrif|ocirc|Ocirc|lhblk|duarr|odash|sqsub|Hacek|sqcup|llarr|duhar|oelig|OElig|ofcir|boxvR|uogon|lltri|boxVr|csube|uuarr|ohbar|csupe|ctdot|olarr|olcir|harrw|oline|sqcap|omacr|Omacr|omega|Omega|boxVR|aleph|lneqq|lnsim|loang|loarr|rharu|lobrk|hcirc|operp|oplus|rhard|Hcirc|orarr|Union|order|ecirc|Ecirc|cuepr|szlig|cuesc|breve|reals|eDDot|Breve|hoarr|lopar|utrif|rdquo|Umacr|umacr|efDot|swArr|ultri|alpha|rceil|ovbar|swarr|Wcirc|wcirc|smtes|smile|bsemi|lrarr|aring|parsl|lrhar|bsime|uhblk|lrtri|cupor|Aring|uharr|uharl|slarr|rbrke|bsolb|lsime|rbbrk|RBarr|lsimg|phone|rBarr|rbarr|icirc|lsquo|Icirc|emacr|Emacr|ratio|simne|plusb|simlE|simgE|simeq|pluse|ltcir|ltdot|empty|xharr|xdtri|iexcl|Alpha|ltrie|rarrw|pound|ltrif|xcirc|bumpe|prcue|bumpE|asymp|amacr|cuvee|Sigma|sigma|iiint|udhar|iiota|ijlig|IJlig|supnE|imacr|Imacr|prime|Prime|image|prnap|eogon|Eogon|rarrc|mdash|mDDot|cuwed|imath|supne|imped|Amacr|udarr|prsim|micro|rarrb|cwint|raquo|infin|eplus|range|rangd|Ucirc|radic|minus|amalg|veeeq|rAarr|epsiv|ycirc|quest|sharp|quot|zwnj|Qscr|race|qscr|Qopf|qopf|qint|rang|Rang|Zscr|zscr|Zopf|zopf|rarr|rArr|Rarr|Pscr|pscr|prop|prod|prnE|prec|ZHcy|zhcy|prap|Zeta|zeta|Popf|popf|Zdot|plus|zdot|Yuml|yuml|phiv|YUcy|yucy|Yscr|yscr|perp|Yopf|yopf|part|para|YIcy|Ouml|rcub|yicy|YAcy|rdca|ouml|osol|Oscr|rdsh|yacy|real|oscr|xvee|andd|rect|andv|Xscr|oror|ordm|ordf|xscr|ange|aopf|Aopf|rHar|Xopf|opar|Oopf|xopf|xnis|rhov|oopf|omid|xmap|oint|apid|apos|ogon|ascr|Ascr|odot|odiv|xcup|xcap|ocir|oast|nvlt|nvle|nvgt|nvge|nvap|Wscr|wscr|auml|ntlg|ntgl|nsup|nsub|nsim|Nscr|nscr|nsce|Wopf|ring|npre|wopf|npar|Auml|Barv|bbrk|Nopf|nopf|nmid|nLtv|beta|ropf|Ropf|Beta|beth|nles|rpar|nleq|bnot|bNot|nldr|NJcy|rscr|Rscr|Vscr|vscr|rsqb|njcy|bopf|nisd|Bopf|rtri|Vopf|nGtv|ngtr|vopf|boxh|boxH|boxv|nges|ngeq|boxV|bscr|scap|Bscr|bsim|Vert|vert|bsol|bull|bump|caps|cdot|ncup|scnE|ncap|nbsp|napE|Cdot|cent|sdot|Vbar|nang|vBar|chcy|Mscr|mscr|sect|semi|CHcy|Mopf|mopf|sext|circ|cire|mldr|mlcp|cirE|comp|shcy|SHcy|vArr|varr|cong|copf|Copf|copy|COPY|malt|male|macr|lvnE|cscr|ltri|sime|ltcc|simg|Cscr|siml|csub|Uuml|lsqb|lsim|uuml|csup|Lscr|lscr|utri|smid|lpar|cups|smte|lozf|darr|Lopf|Uscr|solb|lopf|sopf|Sopf|lneq|uscr|spar|dArr|lnap|Darr|dash|Sqrt|LJcy|ljcy|lHar|dHar|Upsi|upsi|diam|lesg|djcy|DJcy|leqq|dopf|Dopf|dscr|Dscr|dscy|ldsh|ldca|squf|DScy|sscr|Sscr|dsol|lcub|late|star|Star|Uopf|Larr|lArr|larr|uopf|dtri|dzcy|sube|subE|Lang|lang|Kscr|kscr|Kopf|kopf|KJcy|kjcy|KHcy|khcy|DZcy|ecir|edot|eDot|Jscr|jscr|succ|Jopf|jopf|Edot|uHar|emsp|ensp|Iuml|iuml|eopf|isin|Iscr|iscr|Eopf|epar|sung|epsi|escr|sup1|sup2|sup3|Iota|iota|supe|supE|Iopf|iopf|IOcy|iocy|Escr|esim|Esim|imof|Uarr|QUOT|uArr|uarr|euml|IEcy|iecy|Idot|Euml|euro|excl|Hscr|hscr|Hopf|hopf|TScy|tscy|Tscr|hbar|tscr|flat|tbrk|fnof|hArr|harr|half|fopf|Fopf|tdot|gvnE|fork|trie|gtcc|fscr|Fscr|gdot|gsim|Gscr|gscr|Gopf|gopf|gneq|Gdot|tosa|gnap|Topf|topf|geqq|toea|GJcy|gjcy|tint|gesl|mid|Sfr|ggg|top|ges|gla|glE|glj|geq|gne|gEl|gel|gnE|Gcy|gcy|gap|Tfr|tfr|Tcy|tcy|Hat|Tau|Ffr|tau|Tab|hfr|Hfr|ffr|Fcy|fcy|icy|Icy|iff|ETH|eth|ifr|Ifr|Eta|eta|int|Int|Sup|sup|ucy|Ucy|Sum|sum|jcy|ENG|ufr|Ufr|eng|Jcy|jfr|els|ell|egs|Efr|efr|Jfr|uml|kcy|Kcy|Ecy|ecy|kfr|Kfr|lap|Sub|sub|lat|lcy|Lcy|leg|Dot|dot|lEg|leq|les|squ|div|die|lfr|Lfr|lgE|Dfr|dfr|Del|deg|Dcy|dcy|lne|lnE|sol|loz|smt|Cup|lrm|cup|lsh|Lsh|sim|shy|map|Map|mcy|Mcy|mfr|Mfr|mho|gfr|Gfr|sfr|cir|Chi|chi|nap|Cfr|vcy|Vcy|cfr|Scy|scy|ncy|Ncy|vee|Vee|Cap|cap|nfr|scE|sce|Nfr|nge|ngE|nGg|vfr|Vfr|ngt|bot|nGt|nis|niv|Rsh|rsh|nle|nlE|bne|Bfr|bfr|nLl|nlt|nLt|Bcy|bcy|not|Not|rlm|wfr|Wfr|npr|nsc|num|ocy|ast|Ocy|ofr|xfr|Xfr|Ofr|ogt|ohm|apE|olt|Rho|ape|rho|Rfr|rfr|ord|REG|ang|reg|orv|And|and|AMP|Rcy|amp|Afr|ycy|Ycy|yen|yfr|Yfr|rcy|par|pcy|Pcy|pfr|Pfr|phi|Phi|afr|Acy|acy|zcy|Zcy|piv|acE|acd|zfr|Zfr|pre|prE|psi|Psi|qfr|Qfr|zwj|Or|ge|Gg|gt|gg|el|oS|lt|Lt|LT|Re|lg|gl|eg|ne|Im|it|le|DD|wp|wr|nu|Nu|dd|lE|Sc|sc|pi|Pi|ee|af|ll|Ll|rx|gE|xi|pm|Xi|ic|pr|Pr|in|ni|mp|mu|ac|Mu|or|ap|Gt|GT|ii);|&(Aacute|Agrave|Atilde|Ccedil|Eacute|Egrave|Iacute|Igrave|Ntilde|Oacute|Ograve|Oslash|Otilde|Uacute|Ugrave|Yacute|aacute|agrave|atilde|brvbar|ccedil|curren|divide|eacute|egrave|frac12|frac14|frac34|iacute|igrave|iquest|middot|ntilde|oacute|ograve|oslash|otilde|plusmn|uacute|ugrave|yacute|AElig|Acirc|Aring|Ecirc|Icirc|Ocirc|THORN|Ucirc|acirc|acute|aelig|aring|cedil|ecirc|icirc|iexcl|laquo|micro|ocirc|pound|raquo|szlig|thorn|times|ucirc|Auml|COPY|Euml|Iuml|Ouml|QUOT|Uuml|auml|cent|copy|euml|iuml|macr|nbsp|ordf|ordm|ouml|para|quot|sect|sup1|sup2|sup3|uuml|yuml|AMP|ETH|REG|amp|deg|eth|not|reg|shy|uml|yen|GT|LT|gt|lt)(?!;)([=a-zA-Z0-9]?)|&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+)/g,v={aacute:"á",Aacute:"Á",abreve:"ă",Abreve:"Ă",ac:"∾",acd:"∿",acE:"∾̳",acirc:"â",Acirc:"Â",acute:"´",acy:"а",Acy:"А",aelig:"æ",AElig:"Æ",af:"⁡",afr:"𝔞",Afr:"𝔄",agrave:"à",Agrave:"À",alefsym:"ℵ",aleph:"ℵ",alpha:"α",Alpha:"Α",amacr:"ā",Amacr:"Ā",amalg:"⨿",amp:"&",AMP:"&",and:"∧",And:"⩓",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",aogon:"ą",Aogon:"Ą",aopf:"𝕒",Aopf:"𝔸",ap:"≈",apacir:"⩯",ape:"≊",apE:"⩰",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",aring:"å",Aring:"Å",ascr:"𝒶",Ascr:"𝒜",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",atilde:"ã",Atilde:"Ã",auml:"ä",Auml:"Ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",bcy:"б",Bcy:"Б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",beta:"β",Beta:"Β",beth:"ℶ",between:"≬",bfr:"𝔟",Bfr:"𝔅",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bnot:"⌐",bNot:"⫭",bopf:"𝕓",Bopf:"𝔹",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxhD:"╥",boxHd:"╤",boxHD:"╦",boxhu:"┴",boxhU:"╨",boxHu:"╧",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpe:"≏",bumpE:"⪮",bumpeq:"≏",Bumpeq:"≎",cacute:"ć",Cacute:"Ć",cap:"∩",Cap:"⋒",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",ccaron:"č",Ccaron:"Č",ccedil:"ç",Ccedil:"Ç",ccirc:"ĉ",Ccirc:"Ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",cdot:"ċ",Cdot:"Ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",chcy:"ч",CHcy:"Ч",check:"✓",checkmark:"✓",chi:"χ",Chi:"Χ",cir:"○",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cire:"≗",cirE:"⧃",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",colone:"≔",Colone:"⩴",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",cscr:"𝒸",Cscr:"𝒞",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cup:"∪",Cup:"⋓",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",dArr:"⇓",Darr:"↡",dash:"‐",dashv:"⊣",Dashv:"⫤",dbkarow:"⤏",dblac:"˝",dcaron:"ď",Dcaron:"Ď",dcy:"д",Dcy:"Д",dd:"ⅆ",DD:"ⅅ",ddagger:"‡",ddarr:"⇊",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",delta:"δ",Delta:"Δ",demptyv:"⦱",dfisht:"⥿",dfr:"𝔡",Dfr:"𝔇",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",djcy:"ђ",DJcy:"Ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",dopf:"𝕕",Dopf:"𝔻",dot:"˙",Dot:"¨",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",downarrow:"↓",Downarrow:"⇓",DownArrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",dscr:"𝒹",Dscr:"𝒟",dscy:"ѕ",DScy:"Ѕ",dsol:"⧶",dstrok:"đ",Dstrok:"Đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",dzcy:"џ",DZcy:"Џ",dzigrarr:"⟿",eacute:"é",Eacute:"É",easter:"⩮",ecaron:"ě",Ecaron:"Ě",ecir:"≖",ecirc:"ê",Ecirc:"Ê",ecolon:"≕",ecy:"э",Ecy:"Э",eDDot:"⩷",edot:"ė",eDot:"≑",Edot:"Ė",ee:"ⅇ",efDot:"≒",efr:"𝔢",Efr:"𝔈",eg:"⪚",egrave:"è",Egrave:"È",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",emacr:"ē",Emacr:"Ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp:" ",emsp13:" ",emsp14:" ",eng:"ŋ",ENG:"Ŋ",ensp:" ",eogon:"ę",Eogon:"Ę",eopf:"𝕖",Eopf:"𝔼",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",epsilon:"ε",Epsilon:"Ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",esim:"≂",Esim:"⩳",eta:"η",Eta:"Η",eth:"ð",ETH:"Ð",euml:"ë",Euml:"Ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",fcy:"ф",Fcy:"Ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",ffr:"𝔣",Ffr:"𝔉",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",fopf:"𝕗",Fopf:"𝔽",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",gamma:"γ",Gamma:"Γ",gammad:"ϝ",Gammad:"Ϝ",gap:"⪆",gbreve:"ğ",Gbreve:"Ğ",Gcedil:"Ģ",gcirc:"ĝ",Gcirc:"Ĝ",gcy:"г",Gcy:"Г",gdot:"ġ",Gdot:"Ġ",ge:"≥",gE:"≧",gel:"⋛",gEl:"⪌",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",gfr:"𝔤",Gfr:"𝔊",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",gjcy:"ѓ",GJcy:"Ѓ",gl:"≷",gla:"⪥",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",gopf:"𝕘",Gopf:"𝔾",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",gscr:"ℊ",Gscr:"𝒢",gsim:"≳",gsime:"⪎",gsiml:"⪐",gt:">",Gt:"≫",GT:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",hardcy:"ъ",HARDcy:"Ъ",harr:"↔",hArr:"⇔",harrcir:"⥈",harrw:"↭",Hat:"^",hbar:"ℏ",hcirc:"ĥ",Hcirc:"Ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",hstrok:"ħ",Hstrok:"Ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",iacute:"í",Iacute:"Í",ic:"⁣",icirc:"î",Icirc:"Î",icy:"и",Icy:"И",Idot:"İ",iecy:"е",IEcy:"Е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",igrave:"ì",Igrave:"Ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",ijlig:"ij",IJlig:"IJ",Im:"ℑ",imacr:"ī",Imacr:"Ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",Implies:"⇒",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",int:"∫",Int:"∬",intcal:"⊺",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",iocy:"ё",IOcy:"Ё",iogon:"į",Iogon:"Į",iopf:"𝕚",Iopf:"𝕀",iota:"ι",Iota:"Ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",itilde:"ĩ",Itilde:"Ĩ",iukcy:"і",Iukcy:"І",iuml:"ï",Iuml:"Ï",jcirc:"ĵ",Jcirc:"Ĵ",jcy:"й",Jcy:"Й",jfr:"𝔧",Jfr:"𝔍",jmath:"ȷ",jopf:"𝕛",Jopf:"𝕁",jscr:"𝒿",Jscr:"𝒥",jsercy:"ј",Jsercy:"Ј",jukcy:"є",Jukcy:"Є",kappa:"κ",Kappa:"Κ",kappav:"ϰ",kcedil:"ķ",Kcedil:"Ķ",kcy:"к",Kcy:"К",kfr:"𝔨",Kfr:"𝔎",kgreen:"ĸ",khcy:"х",KHcy:"Х",kjcy:"ќ",KJcy:"Ќ",kopf:"𝕜",Kopf:"𝕂",kscr:"𝓀",Kscr:"𝒦",lAarr:"⇚",lacute:"ĺ",Lacute:"Ĺ",laemptyv:"⦴",lagran:"ℒ",lambda:"λ",Lambda:"Λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larr:"←",lArr:"⇐",Larr:"↞",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",latail:"⤙",lAtail:"⤛",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",lcaron:"ľ",Lcaron:"Ľ",lcedil:"ļ",Lcedil:"Ļ",lceil:"⌈",lcub:"{",lcy:"л",Lcy:"Л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",leftarrow:"←",Leftarrow:"⇐",LeftArrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",Leftrightarrow:"⇔",LeftRightArrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",leg:"⋚",lEg:"⪋",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",lfr:"𝔩",Lfr:"𝔏",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",ljcy:"љ",LJcy:"Љ",ll:"≪",Ll:"⋘",llarr:"⇇",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",lmidot:"ŀ",Lmidot:"Ŀ",lmoust:"⎰",lmoustache:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",Longleftarrow:"⟸",LongLeftArrow:"⟵",longleftrightarrow:"⟷",Longleftrightarrow:"⟺",LongLeftRightArrow:"⟷",longmapsto:"⟼",longrightarrow:"⟶",Longrightarrow:"⟹",LongRightArrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",lopf:"𝕝",Lopf:"𝕃",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",lstrok:"ł",Lstrok:"Ł",lt:"<",Lt:"≪",LT:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",map:"↦",Map:"⤅",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",mcy:"м",Mcy:"М",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",mfr:"𝔪",Mfr:"𝔐",mho:"℧",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",mopf:"𝕞",Mopf:"𝕄",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",mu:"μ",Mu:"Μ",multimap:"⊸",mumap:"⊸",nabla:"∇",nacute:"ń",Nacute:"Ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",ncaron:"ň",Ncaron:"Ň",ncedil:"ņ",Ncedil:"Ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",ncy:"н",Ncy:"Н",ndash:"–",ne:"≠",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",nfr:"𝔫",Nfr:"𝔑",nge:"≱",ngE:"≧̸",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",ngt:"≯",nGt:"≫⃒",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",njcy:"њ",NJcy:"Њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nle:"≰",nlE:"≦̸",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nlt:"≮",nLt:"≪⃒",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",not:"¬",Not:"⫬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrarr:"↛",nrArr:"⇏",nrarrc:"⤳̸",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",nscr:"𝓃",Nscr:"𝒩",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsube:"⊈",nsubE:"⫅̸",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupe:"⊉",nsupE:"⫆̸",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",ntilde:"ñ",Ntilde:"Ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",nu:"ν",Nu:"Ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",oacute:"ó",Oacute:"Ó",oast:"⊛",ocir:"⊚",ocirc:"ô",Ocirc:"Ô",ocy:"о",Ocy:"О",odash:"⊝",odblac:"ő",Odblac:"Ő",odiv:"⨸",odot:"⊙",odsold:"⦼",oelig:"œ",OElig:"Œ",ofcir:"⦿",ofr:"𝔬",Ofr:"𝔒",ogon:"˛",ograve:"ò",Ograve:"Ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",omacr:"ō",Omacr:"Ō",omega:"ω",Omega:"Ω",omicron:"ο",Omicron:"Ο",omid:"⦶",ominus:"⊖",oopf:"𝕠",Oopf:"𝕆",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",or:"∨",Or:"⩔",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",oscr:"ℴ",Oscr:"𝒪",oslash:"ø",Oslash:"Ø",osol:"⊘",otilde:"õ",Otilde:"Õ",otimes:"⊗",Otimes:"⨷",otimesas:"⨶",ouml:"ö",Ouml:"Ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",pcy:"п",Pcy:"П",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",pfr:"𝔭",Pfr:"𝔓",phi:"φ",Phi:"Φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",pi:"π",Pi:"Π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",pr:"≺",Pr:"⪻",prap:"⪷",prcue:"≼",pre:"⪯",prE:"⪳",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportion:"∷",Proportional:"∝",propto:"∝",prsim:"≾",prurel:"⊰",pscr:"𝓅",Pscr:"𝒫",psi:"ψ",Psi:"Ψ",puncsp:" ",qfr:"𝔮",Qfr:"𝔔",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",qscr:"𝓆",Qscr:"𝒬",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",racute:"ŕ",Racute:"Ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarr:"→",rArr:"⇒",Rarr:"↠",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",rarrtl:"↣",Rarrtl:"⤖",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",rcaron:"ř",Rcaron:"Ř",rcedil:"ŗ",Rcedil:"Ŗ",rceil:"⌉",rcub:"}",rcy:"р",Rcy:"Р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",Re:"ℜ",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",rho:"ρ",Rho:"Ρ",rhov:"ϱ",RightAngleBracket:"⟩",rightarrow:"→",Rightarrow:"⇒",RightArrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",sacute:"ś",Sacute:"Ś",sbquo:"‚",sc:"≻",Sc:"⪼",scap:"⪸",scaron:"š",Scaron:"Š",sccue:"≽",sce:"⪰",scE:"⪴",scedil:"ş",Scedil:"Ş",scirc:"ŝ",Scirc:"Ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",scy:"с",Scy:"С",sdot:"⋅",sdotb:"⊡",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",sfr:"𝔰",Sfr:"𝔖",sfrown:"⌢",sharp:"♯",shchcy:"щ",SHCHcy:"Щ",shcy:"ш",SHcy:"Ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",sigma:"σ",Sigma:"Σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",softcy:"ь",SOFTcy:"Ь",sol:"/",solb:"⧄",solbar:"⌿",sopf:"𝕤",Sopf:"𝕊",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squf:"▪",srarr:"→",sscr:"𝓈",Sscr:"𝒮",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",star:"☆",Star:"⋆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",sube:"⊆",subE:"⫅",subedot:"⫃",submult:"⫁",subne:"⊊",subnE:"⫋",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup:"⊃",Sup:"⋑",sup1:"¹",sup2:"²",sup3:"³",supdot:"⪾",supdsub:"⫘",supe:"⊇",supE:"⫆",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supne:"⊋",supnE:"⫌",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:"\t",target:"⌖",tau:"τ",Tau:"Τ",tbrk:"⎴",tcaron:"ť",Tcaron:"Ť",tcedil:"ţ",Tcedil:"Ţ",tcy:"т",Tcy:"Т",tdot:"⃛",telrec:"⌕",tfr:"𝔱",Tfr:"𝔗",there4:"∴",therefore:"∴",Therefore:"∴",theta:"θ",Theta:"Θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",thinsp:" ",ThinSpace:" ",thkap:"≈",thksim:"∼",thorn:"þ",THORN:"Þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",topf:"𝕥",Topf:"𝕋",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",tscr:"𝓉",Tscr:"𝒯",tscy:"ц",TScy:"Ц",tshcy:"ћ",TSHcy:"Ћ",tstrok:"ŧ",Tstrok:"Ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",uacute:"ú",Uacute:"Ú",uarr:"↑",uArr:"⇑",Uarr:"↟",Uarrocir:"⥉",ubrcy:"ў",Ubrcy:"Ў",ubreve:"ŭ",Ubreve:"Ŭ",ucirc:"û",Ucirc:"Û",ucy:"у",Ucy:"У",udarr:"⇅",udblac:"ű",Udblac:"Ű",udhar:"⥮",ufisht:"⥾",ufr:"𝔲",Ufr:"𝔘",ugrave:"ù",Ugrave:"Ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",umacr:"ū",Umacr:"Ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",uogon:"ų",Uogon:"Ų",uopf:"𝕦",Uopf:"𝕌",uparrow:"↑",Uparrow:"⇑",UpArrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",updownarrow:"↕",Updownarrow:"⇕",UpDownArrow:"↕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",upsilon:"υ",Upsilon:"Υ",UpTee:"⊥",UpTeeArrow:"↥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",uring:"ů",Uring:"Ů",urtri:"◹",uscr:"𝓊",Uscr:"𝒰",utdot:"⋰",utilde:"ũ",Utilde:"Ũ",utri:"▵",utrif:"▴",uuarr:"⇈",uuml:"ü",Uuml:"Ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",vcy:"в",Vcy:"В",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",vee:"∨",Vee:"⋁",veebar:"⊻",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",vfr:"𝔳",Vfr:"𝔙",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",vopf:"𝕧",Vopf:"𝕍",vprop:"∝",vrtri:"⊳",vscr:"𝓋",Vscr:"𝒱",vsubne:"⊊︀",vsubnE:"⫋︀",vsupne:"⊋︀",vsupnE:"⫌︀",Vvdash:"⊪",vzigzag:"⦚",wcirc:"ŵ",Wcirc:"Ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",wfr:"𝔴",Wfr:"𝔚",wopf:"𝕨",Wopf:"𝕎",wp:"℘",wr:"≀",wreath:"≀",wscr:"𝓌",Wscr:"𝒲",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",xfr:"𝔵",Xfr:"𝔛",xharr:"⟷",xhArr:"⟺",xi:"ξ",Xi:"Ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",xopf:"𝕩",Xopf:"𝕏",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",xscr:"𝓍",Xscr:"𝒳",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",yacute:"ý",Yacute:"Ý",yacy:"я",YAcy:"Я",ycirc:"ŷ",Ycirc:"Ŷ",ycy:"ы",Ycy:"Ы",yen:"¥",yfr:"𝔶",Yfr:"𝔜",yicy:"ї",YIcy:"Ї",yopf:"𝕪",Yopf:"𝕐",yscr:"𝓎",Yscr:"𝒴",yucy:"ю",YUcy:"Ю",yuml:"ÿ",Yuml:"Ÿ",zacute:"ź",Zacute:"Ź",zcaron:"ž",Zcaron:"Ž",zcy:"з",Zcy:"З",zdot:"ż",Zdot:"Ż",zeetrf:"ℨ",ZeroWidthSpace:"​",zeta:"ζ",Zeta:"Ζ",zfr:"𝔷",Zfr:"ℨ",zhcy:"ж",ZHcy:"Ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",zscr:"𝓏",Zscr:"𝒵",zwj:"‍",zwnj:"‌"},b={aacute:"á",Aacute:"Á",acirc:"â",Acirc:"Â",acute:"´",aelig:"æ",AElig:"Æ",agrave:"à",Agrave:"À",amp:"&",AMP:"&",aring:"å",Aring:"Å",atilde:"ã",Atilde:"Ã",auml:"ä",Auml:"Ä",brvbar:"¦",ccedil:"ç",Ccedil:"Ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",eacute:"é",Eacute:"É",ecirc:"ê",Ecirc:"Ê",egrave:"è",Egrave:"È",eth:"ð",ETH:"Ð",euml:"ë",Euml:"Ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",iacute:"í",Iacute:"Í",icirc:"î",Icirc:"Î",iexcl:"¡",igrave:"ì",Igrave:"Ì",iquest:"¿",iuml:"ï",Iuml:"Ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",ntilde:"ñ",Ntilde:"Ñ",oacute:"ó",Oacute:"Ó",ocirc:"ô",Ocirc:"Ô",ograve:"ò",Ograve:"Ò",ordf:"ª",ordm:"º",oslash:"ø",Oslash:"Ø",otilde:"õ",Otilde:"Õ",ouml:"ö",Ouml:"Ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",thorn:"þ",THORN:"Þ",times:"×",uacute:"ú",Uacute:"Ú",ucirc:"û",Ucirc:"Û",ugrave:"ù",Ugrave:"Ù",uml:"¨",uuml:"ü",Uuml:"Ü",yacute:"ý",Yacute:"Ý",yen:"¥",yuml:"ÿ"},y={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},w=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],_=String.fromCharCode,x={}.hasOwnProperty,A=function(e,t){return x.call(e,t)},E=function(e,t){if(!e)return t;var r,n={};for(r in t)n[r]=A(e,r)?e[r]:t[r];return n},D=function(e,t){var r="";return e>=55296&&e<=57343||e>1114111?(t&&q("character reference outside the permissible Unicode range"),"�"):A(y,e)?(t&&q("disallowed character reference"),y[e]):(t&&function(e,t){for(var r=-1,n=e.length;++r65535&&(r+=_((e-=65536)>>>10&1023|55296),e=56320|1023&e),r+=_(e))},T=function(e){return"&#x"+e.toString(16).toUpperCase()+";"},C=function(e){return"&#"+e+";"},q=function(e){throw Error("Parse error: "+e)},k=function(e,t){(t=E(t,k.options)).strict&&g.test(e)&&q("forbidden code point");var r=t.encodeEverything,n=t.useNamedReferences,i=t.allowUnsafeSymbols,o=t.decimal?C:T,s=function(e){return o(e.charCodeAt(0))};return r?(e=e.replace(l,(function(e){return n&&A(p,e)?"&"+p[e]+";":s(e)})),n&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),n&&(e=e.replace(u,(function(e){return"&"+p[e]+";"})))):n?(i||(e=e.replace(f,(function(e){return"&"+p[e]+";"}))),e=(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒")).replace(u,(function(e){return"&"+p[e]+";"}))):i||(e=e.replace(f,s)),e.replace(a,(function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1);return o(1024*(t-55296)+r-56320+65536)})).replace(c,s)};k.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1,decimal:!1};var L=function(e,t){var r=(t=E(t,L.options)).strict;return r&&h.test(e)&&q("malformed character reference"),e.replace(m,(function(e,n,i,o,s,a,l,c,u){var p,f,d,h,g,m;return n?v[g=n]:i?(g=i,(m=o)&&t.isAttributeValue?(r&&"="==m&&q("`&` did not start a character reference"),e):(r&&q("named character reference was not terminated by a semicolon"),b[g]+(m||""))):s?(d=s,f=a,r&&!f&&q("character reference was not terminated by a semicolon"),p=parseInt(d,10),D(p,r)):l?(h=l,f=c,r&&!f&&q("character reference was not terminated by a semicolon"),p=parseInt(h,16),D(p,r)):(r&&q("named character reference was not terminated by a semicolon"),e)}))};L.options={isAttributeValue:!1,strict:!1};var S={version:"1.2.0",encode:k,decode:L,escape:function(e){return e.replace(f,(function(e){return d[e]}))},unescape:L};void 0===(n=function(){return S}.call(t,r,t,e))||(e.exports=n)}()},755:function(e,t){var r;!function(t,r){"use strict";"object"==typeof e.exports?e.exports=t.document?r(t,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return r(e)}:r(t)}("undefined"!=typeof window?window:this,(function(n,i){"use strict";var o=[],s=Object.getPrototypeOf,a=o.slice,l=o.flat?function(e){return o.flat.call(e)}:function(e){return o.concat.apply([],e)},c=o.push,u=o.indexOf,p={},f=p.toString,d=p.hasOwnProperty,h=d.toString,g=h.call(Object),m={},v=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},b=function(e){return null!=e&&e===e.window},y=n.document,w={type:!0,src:!0,nonce:!0,noModule:!0};function _(e,t,r){var n,i,o=(r=r||y).createElement("script");if(o.text=e,t)for(n in w)(i=t[n]||t.getAttribute&&t.getAttribute(n))&&o.setAttribute(n,i);r.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?p[f.call(e)]||"object":typeof e}var A="3.6.1",E=function(e,t){return new E.fn.init(e,t)};function D(e){var t=!!e&&"length"in e&&e.length,r=x(e);return!v(e)&&!b(e)&&("array"===r||0===t||"number"==typeof t&&t>0&&t-1 in e)}E.fn=E.prototype={jquery:A,constructor:E,length:0,toArray:function(){return a.call(this)},get:function(e){return null==e?a.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=E.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return E.each(this,e)},map:function(e){return this.pushStack(E.map(this,(function(t,r){return e.call(t,r,t)})))},slice:function(){return this.pushStack(a.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(E.grep(this,(function(e,t){return(t+1)%2})))},odd:function(){return this.pushStack(E.grep(this,(function(e,t){return t%2})))},eq:function(e){var t=this.length,r=+e+(e<0?t:0);return this.pushStack(r>=0&&r+~]|"+I+")"+I+"*"),z=new RegExp(I+"|>"),G=new RegExp(H),W=new RegExp("^"+P+"$"),Y={ID:new RegExp("^#("+P+")"),CLASS:new RegExp("^\\.("+P+")"),TAG:new RegExp("^("+P+"|[*])"),ATTR:new RegExp("^"+F),PSEUDO:new RegExp("^"+H),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+I+"*(even|odd|(([+-]|)(\\d*)n|)"+I+"*(?:([+-]|)"+I+"*(\\d+)|))"+I+"*\\)|)","i"),bool:new RegExp("^(?:"+B+")$","i"),needsContext:new RegExp("^"+I+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+I+"*((?:-\\d)?\\d*)"+I+"*\\)|)(?=[^-]|$)","i")},X=/HTML$/i,K=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,Q=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+I+"?|\\\\([^\\r\\n\\f])","g"),re=function(e,t){var r="0x"+e.slice(1)-65536;return t||(r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320))},ne=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){f()},se=we((function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()}),{dir:"parentNode",next:"legend"});try{O.apply(L=j.call(_.childNodes),_.childNodes),L[_.childNodes.length].nodeType}catch(e){O={apply:L.length?function(e,t){N.apply(e,j.call(t))}:function(e,t){for(var r=e.length,n=0;e[r++]=t[n++];);e.length=r-1}}}function ae(e,t,n,i){var o,a,c,u,p,h,v,b=t&&t.ownerDocument,_=t?t.nodeType:9;if(n=n||[],"string"!=typeof e||!e||1!==_&&9!==_&&11!==_)return n;if(!i&&(f(t),t=t||d,g)){if(11!==_&&(p=Z.exec(e)))if(o=p[1]){if(9===_){if(!(c=t.getElementById(o)))return n;if(c.id===o)return n.push(c),n}else if(b&&(c=b.getElementById(o))&&y(t,c)&&c.id===o)return n.push(c),n}else{if(p[2])return O.apply(n,t.getElementsByTagName(e)),n;if((o=p[3])&&r.getElementsByClassName&&t.getElementsByClassName)return O.apply(n,t.getElementsByClassName(o)),n}if(r.qsa&&!C[e+" "]&&(!m||!m.test(e))&&(1!==_||"object"!==t.nodeName.toLowerCase())){if(v=e,b=t,1===_&&(z.test(e)||$.test(e))){for((b=ee.test(e)&&ve(t.parentNode)||t)===t&&r.scope||((u=t.getAttribute("id"))?u=u.replace(ne,ie):t.setAttribute("id",u=w)),a=(h=s(e)).length;a--;)h[a]=(u?"#"+u:":scope")+" "+ye(h[a]);v=h.join(",")}try{return O.apply(n,b.querySelectorAll(v)),n}catch(t){C(e,!0)}finally{u===w&&t.removeAttribute("id")}}}return l(e.replace(U,"$1"),t,n,i)}function le(){var e=[];return function t(r,i){return e.push(r+" ")>n.cacheLength&&delete t[e.shift()],t[r+" "]=i}}function ce(e){return e[w]=!0,e}function ue(e){var t=d.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function pe(e,t){for(var r=e.split("|"),i=r.length;i--;)n.attrHandle[r[i]]=t}function fe(e,t){var r=t&&e,n=r&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(n)return n;if(r)for(;r=r.nextSibling;)if(r===t)return-1;return e?1:-1}function de(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function he(e){return function(t){var r=t.nodeName.toLowerCase();return("input"===r||"button"===r)&&t.type===e}}function ge(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&se(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function me(e){return ce((function(t){return t=+t,ce((function(r,n){for(var i,o=e([],r.length,t),s=o.length;s--;)r[i=o[s]]&&(r[i]=!(n[i]=r[i]))}))}))}function ve(e){return e&&void 0!==e.getElementsByTagName&&e}for(t in r=ae.support={},o=ae.isXML=function(e){var t=e&&e.namespaceURI,r=e&&(e.ownerDocument||e).documentElement;return!X.test(t||r&&r.nodeName||"HTML")},f=ae.setDocument=function(e){var t,i,s=e?e.ownerDocument||e:_;return s!=d&&9===s.nodeType&&s.documentElement?(h=(d=s).documentElement,g=!o(d),_!=d&&(i=d.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",oe,!1):i.attachEvent&&i.attachEvent("onunload",oe)),r.scope=ue((function(e){return h.appendChild(e).appendChild(d.createElement("div")),void 0!==e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length})),r.attributes=ue((function(e){return e.className="i",!e.getAttribute("className")})),r.getElementsByTagName=ue((function(e){return e.appendChild(d.createComment("")),!e.getElementsByTagName("*").length})),r.getElementsByClassName=Q.test(d.getElementsByClassName),r.getById=ue((function(e){return h.appendChild(e).id=w,!d.getElementsByName||!d.getElementsByName(w).length})),r.getById?(n.filter.ID=function(e){var t=e.replace(te,re);return function(e){return e.getAttribute("id")===t}},n.find.ID=function(e,t){if(void 0!==t.getElementById&&g){var r=t.getElementById(e);return r?[r]:[]}}):(n.filter.ID=function(e){var t=e.replace(te,re);return function(e){var r=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return r&&r.value===t}},n.find.ID=function(e,t){if(void 0!==t.getElementById&&g){var r,n,i,o=t.getElementById(e);if(o){if((r=o.getAttributeNode("id"))&&r.value===e)return[o];for(i=t.getElementsByName(e),n=0;o=i[n++];)if((r=o.getAttributeNode("id"))&&r.value===e)return[o]}return[]}}),n.find.TAG=r.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):r.qsa?t.querySelectorAll(e):void 0}:function(e,t){var r,n=[],i=0,o=t.getElementsByTagName(e);if("*"===e){for(;r=o[i++];)1===r.nodeType&&n.push(r);return n}return o},n.find.CLASS=r.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&g)return t.getElementsByClassName(e)},v=[],m=[],(r.qsa=Q.test(d.querySelectorAll))&&(ue((function(e){var t;h.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&m.push("[*^$]="+I+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||m.push("\\["+I+"*(?:value|"+B+")"),e.querySelectorAll("[id~="+w+"-]").length||m.push("~="),(t=d.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||m.push("\\["+I+"*name"+I+"*="+I+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||m.push(":checked"),e.querySelectorAll("a#"+w+"+*").length||m.push(".#.+[+~]"),e.querySelectorAll("\\\f"),m.push("[\\r\\n\\f]")})),ue((function(e){e.innerHTML="";var t=d.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&m.push("name"+I+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&m.push(":enabled",":disabled"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&m.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),m.push(",.*:")}))),(r.matchesSelector=Q.test(b=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&ue((function(e){r.disconnectedMatch=b.call(e,"*"),b.call(e,"[s!='']:x"),v.push("!=",H)})),m=m.length&&new RegExp(m.join("|")),v=v.length&&new RegExp(v.join("|")),t=Q.test(h.compareDocumentPosition),y=t||Q.test(h.contains)?function(e,t){var r=9===e.nodeType?e.documentElement:e,n=t&&t.parentNode;return e===n||!(!n||1!==n.nodeType||!(r.contains?r.contains(n):e.compareDocumentPosition&&16&e.compareDocumentPosition(n)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},q=t?function(e,t){if(e===t)return p=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!r.sortDetached&&t.compareDocumentPosition(e)===n?e==d||e.ownerDocument==_&&y(_,e)?-1:t==d||t.ownerDocument==_&&y(_,t)?1:u?R(u,e)-R(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return p=!0,0;var r,n=0,i=e.parentNode,o=t.parentNode,s=[e],a=[t];if(!i||!o)return e==d?-1:t==d?1:i?-1:o?1:u?R(u,e)-R(u,t):0;if(i===o)return fe(e,t);for(r=e;r=r.parentNode;)s.unshift(r);for(r=t;r=r.parentNode;)a.unshift(r);for(;s[n]===a[n];)n++;return n?fe(s[n],a[n]):s[n]==_?-1:a[n]==_?1:0},d):d},ae.matches=function(e,t){return ae(e,null,null,t)},ae.matchesSelector=function(e,t){if(f(e),r.matchesSelector&&g&&!C[t+" "]&&(!v||!v.test(t))&&(!m||!m.test(t)))try{var n=b.call(e,t);if(n||r.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){C(t,!0)}return ae(t,d,null,[e]).length>0},ae.contains=function(e,t){return(e.ownerDocument||e)!=d&&f(e),y(e,t)},ae.attr=function(e,t){(e.ownerDocument||e)!=d&&f(e);var i=n.attrHandle[t.toLowerCase()],o=i&&k.call(n.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==o?o:r.attributes||!g?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},ae.escape=function(e){return(e+"").replace(ne,ie)},ae.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},ae.uniqueSort=function(e){var t,n=[],i=0,o=0;if(p=!r.detectDuplicates,u=!r.sortStable&&e.slice(0),e.sort(q),p){for(;t=e[o++];)t===e[o]&&(i=n.push(o));for(;i--;)e.splice(n[i],1)}return u=null,e},i=ae.getText=function(e){var t,r="",n=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)r+=i(e)}else if(3===o||4===o)return e.nodeValue}else for(;t=e[n++];)r+=i(t);return r},n=ae.selectors={cacheLength:50,createPseudo:ce,match:Y,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,re),e[3]=(e[3]||e[4]||e[5]||"").replace(te,re),"~="===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]||ae.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]&&ae.error(e[0]),e},PSEUDO:function(e){var t,r=!e[6]&&e[2];return Y.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":r&&G.test(r)&&(t=s(r,!0))&&(t=r.indexOf(")",r.length-t)-r.length)&&(e[0]=e[0].slice(0,t),e[2]=r.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,re).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=E[e+" "];return t||(t=new RegExp("(^|"+I+")"+e+"("+I+"|$)"))&&E(e,(function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")}))},ATTR:function(e,t,r){return function(n){var i=ae.attr(n,e);return null==i?"!="===t:!t||(i+="","="===t?i===r:"!="===t?i!==r:"^="===t?r&&0===i.indexOf(r):"*="===t?r&&i.indexOf(r)>-1:"$="===t?r&&i.slice(-r.length)===r:"~="===t?(" "+i.replace(M," ")+" ").indexOf(r)>-1:"|="===t&&(i===r||i.slice(0,r.length+1)===r+"-"))}},CHILD:function(e,t,r,n,i){var o="nth"!==e.slice(0,3),s="last"!==e.slice(-4),a="of-type"===t;return 1===n&&0===i?function(e){return!!e.parentNode}:function(t,r,l){var c,u,p,f,d,h,g=o!==s?"nextSibling":"previousSibling",m=t.parentNode,v=a&&t.nodeName.toLowerCase(),b=!l&&!a,y=!1;if(m){if(o){for(;g;){for(f=t;f=f[g];)if(a?f.nodeName.toLowerCase()===v:1===f.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[s?m.firstChild:m.lastChild],s&&b){for(y=(d=(c=(u=(p=(f=m)[w]||(f[w]={}))[f.uniqueID]||(p[f.uniqueID]={}))[e]||[])[0]===x&&c[1])&&c[2],f=d&&m.childNodes[d];f=++d&&f&&f[g]||(y=d=0)||h.pop();)if(1===f.nodeType&&++y&&f===t){u[e]=[x,d,y];break}}else if(b&&(y=d=(c=(u=(p=(f=t)[w]||(f[w]={}))[f.uniqueID]||(p[f.uniqueID]={}))[e]||[])[0]===x&&c[1]),!1===y)for(;(f=++d&&f&&f[g]||(y=d=0)||h.pop())&&((a?f.nodeName.toLowerCase()!==v:1!==f.nodeType)||!++y||(b&&((u=(p=f[w]||(f[w]={}))[f.uniqueID]||(p[f.uniqueID]={}))[e]=[x,y]),f!==t)););return(y-=i)===n||y%n==0&&y/n>=0}}},PSEUDO:function(e,t){var r,i=n.pseudos[e]||n.setFilters[e.toLowerCase()]||ae.error("unsupported pseudo: "+e);return i[w]?i(t):i.length>1?(r=[e,e,"",t],n.setFilters.hasOwnProperty(e.toLowerCase())?ce((function(e,r){for(var n,o=i(e,t),s=o.length;s--;)e[n=R(e,o[s])]=!(r[n]=o[s])})):function(e){return i(e,0,r)}):i}},pseudos:{not:ce((function(e){var t=[],r=[],n=a(e.replace(U,"$1"));return n[w]?ce((function(e,t,r,i){for(var o,s=n(e,null,i,[]),a=e.length;a--;)(o=s[a])&&(e[a]=!(t[a]=o))})):function(e,i,o){return t[0]=e,n(t,null,o,r),t[0]=null,!r.pop()}})),has:ce((function(e){return function(t){return ae(e,t).length>0}})),contains:ce((function(e){return e=e.replace(te,re),function(t){return(t.textContent||i(t)).indexOf(e)>-1}})),lang:ce((function(e){return W.test(e||"")||ae.error("unsupported lang: "+e),e=e.replace(te,re).toLowerCase(),function(t){var r;do{if(r=g?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(r=r.toLowerCase())===e||0===r.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}})),target:function(t){var r=e.location&&e.location.hash;return r&&r.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===d.activeElement&&(!d.hasFocus||d.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!n.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return K.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:me((function(){return[0]})),last:me((function(e,t){return[t-1]})),eq:me((function(e,t,r){return[r<0?r+t:r]})),even:me((function(e,t){for(var r=0;rt?t:r;--n>=0;)e.push(n);return e})),gt:me((function(e,t,r){for(var n=r<0?r+t:r;++n1?function(t,r,n){for(var i=e.length;i--;)if(!e[i](t,r,n))return!1;return!0}:e[0]}function xe(e,t,r,n,i){for(var o,s=[],a=0,l=e.length,c=null!=t;a-1&&(o[c]=!(s[c]=p))}}else v=xe(v===s?v.splice(h,v.length):v),i?i(null,s,v,l):O.apply(s,v)}))}function Ee(e){for(var t,r,i,o=e.length,s=n.relative[e[0].type],a=s||n.relative[" "],l=s?1:0,u=we((function(e){return e===t}),a,!0),p=we((function(e){return R(t,e)>-1}),a,!0),f=[function(e,r,n){var i=!s&&(n||r!==c)||((t=r).nodeType?u(e,r,n):p(e,r,n));return t=null,i}];l1&&_e(f),l>1&&ye(e.slice(0,l-1).concat({value:" "===e[l-2].type?"*":""})).replace(U,"$1"),r,l0,i=e.length>0,o=function(o,s,a,l,u){var p,h,m,v=0,b="0",y=o&&[],w=[],_=c,A=o||i&&n.find.TAG("*",u),E=x+=null==_?1:Math.random()||.1,D=A.length;for(u&&(c=s==d||s||u);b!==D&&null!=(p=A[b]);b++){if(i&&p){for(h=0,s||p.ownerDocument==d||(f(p),a=!g);m=e[h++];)if(m(p,s||d,a)){l.push(p);break}u&&(x=E)}r&&((p=!m&&p)&&v--,o&&y.push(p))}if(v+=b,r&&b!==v){for(h=0;m=t[h++];)m(y,w,s,a);if(o){if(v>0)for(;b--;)y[b]||w[b]||(w[b]=S.call(l));w=xe(w)}O.apply(l,w),u&&!o&&w.length>0&&v+t.length>1&&ae.uniqueSort(l)}return u&&(x=E,c=_),y};return r?ce(o):o}(o,i)),a.selector=e}return a},l=ae.select=function(e,t,r,i){var o,l,c,u,p,f="function"==typeof e&&e,d=!i&&s(e=f.selector||e);if(r=r||[],1===d.length){if((l=d[0]=d[0].slice(0)).length>2&&"ID"===(c=l[0]).type&&9===t.nodeType&&g&&n.relative[l[1].type]){if(!(t=(n.find.ID(c.matches[0].replace(te,re),t)||[])[0]))return r;f&&(t=t.parentNode),e=e.slice(l.shift().value.length)}for(o=Y.needsContext.test(e)?0:l.length;o--&&(c=l[o],!n.relative[u=c.type]);)if((p=n.find[u])&&(i=p(c.matches[0].replace(te,re),ee.test(l[0].type)&&ve(t.parentNode)||t))){if(l.splice(o,1),!(e=i.length&&ye(l)))return O.apply(r,i),r;break}}return(f||a(e,d))(i,t,!g,r,!t||ee.test(e)&&ve(t.parentNode)||t),r},r.sortStable=w.split("").sort(q).join("")===w,r.detectDuplicates=!!p,f(),r.sortDetached=ue((function(e){return 1&e.compareDocumentPosition(d.createElement("fieldset"))})),ue((function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")}))||pe("type|href|height|width",(function(e,t,r){if(!r)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)})),r.attributes&&ue((function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")}))||pe("value",(function(e,t,r){if(!r&&"input"===e.nodeName.toLowerCase())return e.defaultValue})),ue((function(e){return null==e.getAttribute("disabled")}))||pe(B,(function(e,t,r){var n;if(!r)return!0===e[t]?t.toLowerCase():(n=e.getAttributeNode(t))&&n.specified?n.value:null})),ae}(n);E.find=T,E.expr=T.selectors,E.expr[":"]=E.expr.pseudos,E.uniqueSort=E.unique=T.uniqueSort,E.text=T.getText,E.isXMLDoc=T.isXML,E.contains=T.contains,E.escapeSelector=T.escape;var C=function(e,t,r){for(var n=[],i=void 0!==r;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&E(e).is(r))break;n.push(e)}return n},q=function(e,t){for(var r=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&r.push(e);return r},k=E.expr.match.needsContext;function L(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var S=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function N(e,t,r){return v(t)?E.grep(e,(function(e,n){return!!t.call(e,n,e)!==r})):t.nodeType?E.grep(e,(function(e){return e===t!==r})):"string"!=typeof t?E.grep(e,(function(e){return u.call(t,e)>-1!==r})):E.filter(t,e,r)}E.filter=function(e,t,r){var n=t[0];return r&&(e=":not("+e+")"),1===t.length&&1===n.nodeType?E.find.matchesSelector(n,e)?[n]:[]:E.find.matches(e,E.grep(t,(function(e){return 1===e.nodeType})))},E.fn.extend({find:function(e){var t,r,n=this.length,i=this;if("string"!=typeof e)return this.pushStack(E(e).filter((function(){for(t=0;t1?E.uniqueSort(r):r},filter:function(e){return this.pushStack(N(this,e||[],!1))},not:function(e){return this.pushStack(N(this,e||[],!0))},is:function(e){return!!N(this,"string"==typeof e&&k.test(e)?E(e):e||[],!1).length}});var O,j=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(E.fn.init=function(e,t,r){var n,i;if(!e)return this;if(r=r||O,"string"==typeof e){if(!(n="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:j.exec(e))||!n[1]&&t)return!t||t.jquery?(t||r).find(e):this.constructor(t).find(e);if(n[1]){if(t=t instanceof E?t[0]:t,E.merge(this,E.parseHTML(n[1],t&&t.nodeType?t.ownerDocument||t:y,!0)),S.test(n[1])&&E.isPlainObject(t))for(n in t)v(this[n])?this[n](t[n]):this.attr(n,t[n]);return this}return(i=y.getElementById(n[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):v(e)?void 0!==r.ready?r.ready(e):e(E):E.makeArray(e,this)}).prototype=E.fn,O=E(y);var R=/^(?:parents|prev(?:Until|All))/,B={children:!0,contents:!0,next:!0,prev:!0};function I(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}E.fn.extend({has:function(e){var t=E(e,this),r=t.length;return this.filter((function(){for(var e=0;e-1:1===r.nodeType&&E.find.matchesSelector(r,e))){o.push(r);break}return this.pushStack(o.length>1?E.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?u.call(E(e),this[0]):u.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(E.uniqueSort(E.merge(this.get(),E(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),E.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return C(e,"parentNode")},parentsUntil:function(e,t,r){return C(e,"parentNode",r)},next:function(e){return I(e,"nextSibling")},prev:function(e){return I(e,"previousSibling")},nextAll:function(e){return C(e,"nextSibling")},prevAll:function(e){return C(e,"previousSibling")},nextUntil:function(e,t,r){return C(e,"nextSibling",r)},prevUntil:function(e,t,r){return C(e,"previousSibling",r)},siblings:function(e){return q((e.parentNode||{}).firstChild,e)},children:function(e){return q(e.firstChild)},contents:function(e){return null!=e.contentDocument&&s(e.contentDocument)?e.contentDocument:(L(e,"template")&&(e=e.content||e),E.merge([],e.childNodes))}},(function(e,t){E.fn[e]=function(r,n){var i=E.map(this,t,r);return"Until"!==e.slice(-5)&&(n=r),n&&"string"==typeof n&&(i=E.filter(n,i)),this.length>1&&(B[e]||E.uniqueSort(i),R.test(e)&&i.reverse()),this.pushStack(i)}}));var P=/[^\x20\t\r\n\f]+/g;function F(e){return e}function H(e){throw e}function M(e,t,r,n){var i;try{e&&v(i=e.promise)?i.call(e).done(t).fail(r):e&&v(i=e.then)?i.call(e,t,r):t.apply(void 0,[e].slice(n))}catch(e){r.apply(void 0,[e])}}E.Callbacks=function(e){e="string"==typeof e?function(e){var t={};return E.each(e.match(P)||[],(function(e,r){t[r]=!0})),t}(e):E.extend({},e);var t,r,n,i,o=[],s=[],a=-1,l=function(){for(i=i||e.once,n=t=!0;s.length;a=-1)for(r=s.shift();++a-1;)o.splice(r,1),r<=a&&a--})),this},has:function(e){return e?E.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=s=[],o=r="",this},disabled:function(){return!o},lock:function(){return i=s=[],r||t||(o=r=""),this},locked:function(){return!!i},fireWith:function(e,r){return i||(r=[e,(r=r||[]).slice?r.slice():r],s.push(r),t||l()),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!n}};return c},E.extend({Deferred:function(e){var t=[["notify","progress",E.Callbacks("memory"),E.Callbacks("memory"),2],["resolve","done",E.Callbacks("once memory"),E.Callbacks("once memory"),0,"resolved"],["reject","fail",E.Callbacks("once memory"),E.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},catch:function(e){return i.then(null,e)},pipe:function(){var e=arguments;return E.Deferred((function(r){E.each(t,(function(t,n){var i=v(e[n[4]])&&e[n[4]];o[n[1]]((function(){var e=i&&i.apply(this,arguments);e&&v(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[n[0]+"With"](this,i?[e]:arguments)}))})),e=null})).promise()},then:function(e,r,i){var o=0;function s(e,t,r,i){return function(){var a=this,l=arguments,c=function(){var n,c;if(!(e=o&&(r!==H&&(a=void 0,l=[n]),t.rejectWith(a,l))}};e?u():(E.Deferred.getStackHook&&(u.stackTrace=E.Deferred.getStackHook()),n.setTimeout(u))}}return E.Deferred((function(n){t[0][3].add(s(0,n,v(i)?i:F,n.notifyWith)),t[1][3].add(s(0,n,v(e)?e:F)),t[2][3].add(s(0,n,v(r)?r:H))})).promise()},promise:function(e){return null!=e?E.extend(e,i):i}},o={};return E.each(t,(function(e,n){var s=n[2],a=n[5];i[n[1]]=s.add,a&&s.add((function(){r=a}),t[3-e][2].disable,t[3-e][3].disable,t[0][2].lock,t[0][3].lock),s.add(n[3].fire),o[n[0]]=function(){return o[n[0]+"With"](this===o?void 0:this,arguments),this},o[n[0]+"With"]=s.fireWith})),i.promise(o),e&&e.call(o,o),o},when:function(e){var t=arguments.length,r=t,n=Array(r),i=a.call(arguments),o=E.Deferred(),s=function(e){return function(r){n[e]=this,i[e]=arguments.length>1?a.call(arguments):r,--t||o.resolveWith(n,i)}};if(t<=1&&(M(e,o.done(s(r)).resolve,o.reject,!t),"pending"===o.state()||v(i[r]&&i[r].then)))return o.then();for(;r--;)M(i[r],s(r),o.reject);return o.promise()}});var U=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;E.Deferred.exceptionHook=function(e,t){n.console&&n.console.warn&&e&&U.test(e.name)&&n.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},E.readyException=function(e){n.setTimeout((function(){throw e}))};var V=E.Deferred();function $(){y.removeEventListener("DOMContentLoaded",$),n.removeEventListener("load",$),E.ready()}E.fn.ready=function(e){return V.then(e).catch((function(e){E.readyException(e)})),this},E.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--E.readyWait:E.isReady)||(E.isReady=!0,!0!==e&&--E.readyWait>0||V.resolveWith(y,[E]))}}),E.ready.then=V.then,"complete"===y.readyState||"loading"!==y.readyState&&!y.documentElement.doScroll?n.setTimeout(E.ready):(y.addEventListener("DOMContentLoaded",$),n.addEventListener("load",$));var z=function(e,t,r,n,i,o,s){var a=0,l=e.length,c=null==r;if("object"===x(r))for(a in i=!0,r)z(e,t,a,r[a],!0,o,s);else if(void 0!==n&&(i=!0,v(n)||(s=!0),c&&(s?(t.call(e,n),t=null):(c=t,t=function(e,t,r){return c.call(E(e),r)})),t))for(;a1,null,!0)},removeData:function(e){return this.each((function(){Z.remove(this,e)}))}}),E.extend({queue:function(e,t,r){var n;if(e)return t=(t||"fx")+"queue",n=Q.get(e,t),r&&(!n||Array.isArray(r)?n=Q.access(e,t,E.makeArray(r)):n.push(r)),n||[]},dequeue:function(e,t){t=t||"fx";var r=E.queue(e,t),n=r.length,i=r.shift(),o=E._queueHooks(e,t);"inprogress"===i&&(i=r.shift(),n--),i&&("fx"===t&&r.unshift("inprogress"),delete o.stop,i.call(e,(function(){E.dequeue(e,t)}),o)),!n&&o&&o.empty.fire()},_queueHooks:function(e,t){var r=t+"queueHooks";return Q.get(e,r)||Q.access(e,r,{empty:E.Callbacks("once memory").add((function(){Q.remove(e,[t+"queue",r])}))})}}),E.fn.extend({queue:function(e,t){var r=2;return"string"!=typeof e&&(t=e,e="fx",r--),arguments.length\x20\t\r\n\f]*)/i,be=/^$|^module$|\/(?:java|ecma)script/i;he=y.createDocumentFragment().appendChild(y.createElement("div")),(ge=y.createElement("input")).setAttribute("type","radio"),ge.setAttribute("checked","checked"),ge.setAttribute("name","t"),he.appendChild(ge),m.checkClone=he.cloneNode(!0).cloneNode(!0).lastChild.checked,he.innerHTML="",m.noCloneChecked=!!he.cloneNode(!0).lastChild.defaultValue,he.innerHTML="",m.option=!!he.lastChild;var ye={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function we(e,t){var r;return r=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&L(e,t)?E.merge([e],r):r}function _e(e,t){for(var r=0,n=e.length;r",""]);var xe=/<|&#?\w+;/;function Ae(e,t,r,n,i){for(var o,s,a,l,c,u,p=t.createDocumentFragment(),f=[],d=0,h=e.length;d-1)i&&i.push(o);else if(c=ae(o),s=we(p.appendChild(o),"script"),c&&_e(s),r)for(u=0;o=s[u++];)be.test(o.type||"")&&r.push(o);return p}var Ee=/^([^.]*)(?:\.(.+)|)/;function De(){return!0}function Te(){return!1}function Ce(e,t){return e===function(){try{return y.activeElement}catch(e){}}()==("focus"===t)}function qe(e,t,r,n,i,o){var s,a;if("object"==typeof t){for(a in"string"!=typeof r&&(n=n||r,r=void 0),t)qe(e,a,r,n,t[a],o);return e}if(null==n&&null==i?(i=r,n=r=void 0):null==i&&("string"==typeof r?(i=n,n=void 0):(i=n,n=r,r=void 0)),!1===i)i=Te;else if(!i)return e;return 1===o&&(s=i,i=function(e){return E().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=E.guid++)),e.each((function(){E.event.add(this,t,i,n,r)}))}function ke(e,t,r){r?(Q.set(e,t,!1),E.event.add(e,t,{namespace:!1,handler:function(e){var n,i,o=Q.get(this,t);if(1&e.isTrigger&&this[t]){if(o.length)(E.event.special[t]||{}).delegateType&&e.stopPropagation();else if(o=a.call(arguments),Q.set(this,t,o),n=r(this,t),this[t](),o!==(i=Q.get(this,t))||n?Q.set(this,t,!1):i={},o!==i)return e.stopImmediatePropagation(),e.preventDefault(),i&&i.value}else o.length&&(Q.set(this,t,{value:E.event.trigger(E.extend(o[0],E.Event.prototype),o.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,t)&&E.event.add(e,t,De)}E.event={global:{},add:function(e,t,r,n,i){var o,s,a,l,c,u,p,f,d,h,g,m=Q.get(e);if(K(e))for(r.handler&&(r=(o=r).handler,i=o.selector),i&&E.find.matchesSelector(se,i),r.guid||(r.guid=E.guid++),(l=m.events)||(l=m.events=Object.create(null)),(s=m.handle)||(s=m.handle=function(t){return void 0!==E&&E.event.triggered!==t.type?E.event.dispatch.apply(e,arguments):void 0}),c=(t=(t||"").match(P)||[""]).length;c--;)d=g=(a=Ee.exec(t[c])||[])[1],h=(a[2]||"").split(".").sort(),d&&(p=E.event.special[d]||{},d=(i?p.delegateType:p.bindType)||d,p=E.event.special[d]||{},u=E.extend({type:d,origType:g,data:n,handler:r,guid:r.guid,selector:i,needsContext:i&&E.expr.match.needsContext.test(i),namespace:h.join(".")},o),(f=l[d])||((f=l[d]=[]).delegateCount=0,p.setup&&!1!==p.setup.call(e,n,h,s)||e.addEventListener&&e.addEventListener(d,s)),p.add&&(p.add.call(e,u),u.handler.guid||(u.handler.guid=r.guid)),i?f.splice(f.delegateCount++,0,u):f.push(u),E.event.global[d]=!0)},remove:function(e,t,r,n,i){var o,s,a,l,c,u,p,f,d,h,g,m=Q.hasData(e)&&Q.get(e);if(m&&(l=m.events)){for(c=(t=(t||"").match(P)||[""]).length;c--;)if(d=g=(a=Ee.exec(t[c])||[])[1],h=(a[2]||"").split(".").sort(),d){for(p=E.event.special[d]||{},f=l[d=(n?p.delegateType:p.bindType)||d]||[],a=a[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),s=o=f.length;o--;)u=f[o],!i&&g!==u.origType||r&&r.guid!==u.guid||a&&!a.test(u.namespace)||n&&n!==u.selector&&("**"!==n||!u.selector)||(f.splice(o,1),u.selector&&f.delegateCount--,p.remove&&p.remove.call(e,u));s&&!f.length&&(p.teardown&&!1!==p.teardown.call(e,h,m.handle)||E.removeEvent(e,d,m.handle),delete l[d])}else for(d in l)E.event.remove(e,d+t[c],r,n,!0);E.isEmptyObject(l)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,r,n,i,o,s,a=new Array(arguments.length),l=E.event.fix(e),c=(Q.get(this,"events")||Object.create(null))[l.type]||[],u=E.event.special[l.type]||{};for(a[0]=l,t=1;t=1))for(;c!==this;c=c.parentNode||this)if(1===c.nodeType&&("click"!==e.type||!0!==c.disabled)){for(o=[],s={},r=0;r-1:E.find(i,this,null,[c]).length),s[i]&&o.push(n);o.length&&a.push({elem:c,handlers:o})}return c=this,l\s*$/g;function Oe(e,t){return L(e,"table")&&L(11!==t.nodeType?t:t.firstChild,"tr")&&E(e).children("tbody")[0]||e}function je(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Be(e,t){var r,n,i,o,s,a;if(1===t.nodeType){if(Q.hasData(e)&&(a=Q.get(e).events))for(i in Q.remove(t,"handle events"),a)for(r=0,n=a[i].length;r1&&"string"==typeof h&&!m.checkClone&&Se.test(h))return e.each((function(i){var o=e.eq(i);g&&(t[0]=h.call(this,i,o.html())),Pe(o,t,r,n)}));if(f&&(o=(i=Ae(t,e[0].ownerDocument,!1,e,n)).firstChild,1===i.childNodes.length&&(i=o),o||n)){for(a=(s=E.map(we(i,"script"),je)).length;p0&&_e(s,!l&&we(e,"script")),a},cleanData:function(e){for(var t,r,n,i=E.event.special,o=0;void 0!==(r=e[o]);o++)if(K(r)){if(t=r[Q.expando]){if(t.events)for(n in t.events)i[n]?E.event.remove(r,n):E.removeEvent(r,n,t.handle);r[Q.expando]=void 0}r[Z.expando]&&(r[Z.expando]=void 0)}}}),E.fn.extend({detach:function(e){return Fe(this,e,!0)},remove:function(e){return Fe(this,e)},text:function(e){return z(this,(function(e){return void 0===e?E.text(this):this.empty().each((function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)}))}),null,e,arguments.length)},append:function(){return Pe(this,arguments,(function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Oe(this,e).appendChild(e)}))},prepend:function(){return Pe(this,arguments,(function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Oe(this,e);t.insertBefore(e,t.firstChild)}}))},before:function(){return Pe(this,arguments,(function(e){this.parentNode&&this.parentNode.insertBefore(e,this)}))},after:function(){return Pe(this,arguments,(function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)}))},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(E.cleanData(we(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map((function(){return E.clone(this,e,t)}))},html:function(e){return z(this,(function(e){var t=this[0]||{},r=0,n=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Le.test(e)&&!ye[(ve.exec(e)||["",""])[1].toLowerCase()]){e=E.htmlPrefilter(e);try{for(;r=0&&(l+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-l-a-.5))||0),l}function it(e,t,r){var n=Ue(e),i=(!m.boxSizingReliable()||r)&&"border-box"===E.css(e,"boxSizing",!1,n),o=i,s=We(e,t,n),a="offset"+t[0].toUpperCase()+t.slice(1);if(He.test(s)){if(!r)return s;s="auto"}return(!m.boxSizingReliable()&&i||!m.reliableTrDimensions()&&L(e,"tr")||"auto"===s||!parseFloat(s)&&"inline"===E.css(e,"display",!1,n))&&e.getClientRects().length&&(i="border-box"===E.css(e,"boxSizing",!1,n),(o=a in e)&&(s=e[a])),(s=parseFloat(s)||0)+nt(e,t,r||(i?"border":"content"),o,n,s)+"px"}function ot(e,t,r,n,i){return new ot.prototype.init(e,t,r,n,i)}E.extend({cssHooks:{opacity:{get:function(e,t){if(t){var r=We(e,"opacity");return""===r?"1":r}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,r,n){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,s,a=X(t),l=Me.test(t),c=e.style;if(l||(t=Qe(a)),s=E.cssHooks[t]||E.cssHooks[a],void 0===r)return s&&"get"in s&&void 0!==(i=s.get(e,!1,n))?i:c[t];"string"===(o=typeof r)&&(i=ie.exec(r))&&i[1]&&(r=ue(e,t,i),o="number"),null!=r&&r==r&&("number"!==o||l||(r+=i&&i[3]||(E.cssNumber[a]?"":"px")),m.clearCloneStyle||""!==r||0!==t.indexOf("background")||(c[t]="inherit"),s&&"set"in s&&void 0===(r=s.set(e,r,n))||(l?c.setProperty(t,r):c[t]=r))}},css:function(e,t,r,n){var i,o,s,a=X(t);return Me.test(t)||(t=Qe(a)),(s=E.cssHooks[t]||E.cssHooks[a])&&"get"in s&&(i=s.get(e,!0,r)),void 0===i&&(i=We(e,t,n)),"normal"===i&&t in tt&&(i=tt[t]),""===r||r?(o=parseFloat(i),!0===r||isFinite(o)?o||0:i):i}}),E.each(["height","width"],(function(e,t){E.cssHooks[t]={get:function(e,r,n){if(r)return!Ze.test(E.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?it(e,t,n):Ve(e,et,(function(){return it(e,t,n)}))},set:function(e,r,n){var i,o=Ue(e),s=!m.scrollboxSize()&&"absolute"===o.position,a=(s||n)&&"border-box"===E.css(e,"boxSizing",!1,o),l=n?nt(e,t,n,a,o):0;return a&&s&&(l-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-nt(e,t,"border",!1,o)-.5)),l&&(i=ie.exec(r))&&"px"!==(i[3]||"px")&&(e.style[t]=r,r=E.css(e,t)),rt(0,r,l)}}})),E.cssHooks.marginLeft=Ye(m.reliableMarginLeft,(function(e,t){if(t)return(parseFloat(We(e,"marginLeft"))||e.getBoundingClientRect().left-Ve(e,{marginLeft:0},(function(){return e.getBoundingClientRect().left})))+"px"})),E.each({margin:"",padding:"",border:"Width"},(function(e,t){E.cssHooks[e+t]={expand:function(r){for(var n=0,i={},o="string"==typeof r?r.split(" "):[r];n<4;n++)i[e+oe[n]+t]=o[n]||o[n-2]||o[0];return i}},"margin"!==e&&(E.cssHooks[e+t].set=rt)})),E.fn.extend({css:function(e,t){return z(this,(function(e,t,r){var n,i,o={},s=0;if(Array.isArray(t)){for(n=Ue(e),i=t.length;s1)}}),E.Tween=ot,ot.prototype={constructor:ot,init:function(e,t,r,n,i,o){this.elem=e,this.prop=r,this.easing=i||E.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=n,this.unit=o||(E.cssNumber[r]?"":"px")},cur:function(){var e=ot.propHooks[this.prop];return e&&e.get?e.get(this):ot.propHooks._default.get(this)},run:function(e){var t,r=ot.propHooks[this.prop];return this.options.duration?this.pos=t=E.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),r&&r.set?r.set(this):ot.propHooks._default.set(this),this}},ot.prototype.init.prototype=ot.prototype,ot.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=E.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){E.fx.step[e.prop]?E.fx.step[e.prop](e):1!==e.elem.nodeType||!E.cssHooks[e.prop]&&null==e.elem.style[Qe(e.prop)]?e.elem[e.prop]=e.now:E.style(e.elem,e.prop,e.now+e.unit)}}},ot.propHooks.scrollTop=ot.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},E.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},E.fx=ot.prototype.init,E.fx.step={};var st,at,lt=/^(?:toggle|show|hide)$/,ct=/queueHooks$/;function ut(){at&&(!1===y.hidden&&n.requestAnimationFrame?n.requestAnimationFrame(ut):n.setTimeout(ut,E.fx.interval),E.fx.tick())}function pt(){return n.setTimeout((function(){st=void 0})),st=Date.now()}function ft(e,t){var r,n=0,i={height:e};for(t=t?1:0;n<4;n+=2-t)i["margin"+(r=oe[n])]=i["padding"+r]=e;return t&&(i.opacity=i.width=e),i}function dt(e,t,r){for(var n,i=(ht.tweeners[t]||[]).concat(ht.tweeners["*"]),o=0,s=i.length;o1)},removeAttr:function(e){return this.each((function(){E.removeAttr(this,e)}))}}),E.extend({attr:function(e,t,r){var n,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return void 0===e.getAttribute?E.prop(e,t,r):(1===o&&E.isXMLDoc(e)||(i=E.attrHooks[t.toLowerCase()]||(E.expr.match.bool.test(t)?gt:void 0)),void 0!==r?null===r?void E.removeAttr(e,t):i&&"set"in i&&void 0!==(n=i.set(e,r,t))?n:(e.setAttribute(t,r+""),r):i&&"get"in i&&null!==(n=i.get(e,t))?n:null==(n=E.find.attr(e,t))?void 0:n)},attrHooks:{type:{set:function(e,t){if(!m.radioValue&&"radio"===t&&L(e,"input")){var r=e.value;return e.setAttribute("type",t),r&&(e.value=r),t}}}},removeAttr:function(e,t){var r,n=0,i=t&&t.match(P);if(i&&1===e.nodeType)for(;r=i[n++];)e.removeAttribute(r)}}),gt={set:function(e,t,r){return!1===t?E.removeAttr(e,r):e.setAttribute(r,r),r}},E.each(E.expr.match.bool.source.match(/\w+/g),(function(e,t){var r=mt[t]||E.find.attr;mt[t]=function(e,t,n){var i,o,s=t.toLowerCase();return n||(o=mt[s],mt[s]=i,i=null!=r(e,t,n)?s:null,mt[s]=o),i}}));var vt=/^(?:input|select|textarea|button)$/i,bt=/^(?:a|area)$/i;function yt(e){return(e.match(P)||[]).join(" ")}function wt(e){return e.getAttribute&&e.getAttribute("class")||""}function _t(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(P)||[]}E.fn.extend({prop:function(e,t){return z(this,E.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each((function(){delete this[E.propFix[e]||e]}))}}),E.extend({prop:function(e,t,r){var n,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&E.isXMLDoc(e)||(t=E.propFix[t]||t,i=E.propHooks[t]),void 0!==r?i&&"set"in i&&void 0!==(n=i.set(e,r,t))?n:e[t]=r:i&&"get"in i&&null!==(n=i.get(e,t))?n:e[t]},propHooks:{tabIndex:{get:function(e){var t=E.find.attr(e,"tabindex");return t?parseInt(t,10):vt.test(e.nodeName)||bt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),m.optSelected||(E.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),E.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],(function(){E.propFix[this.toLowerCase()]=this})),E.fn.extend({addClass:function(e){var t,r,n,i,o,s;return v(e)?this.each((function(t){E(this).addClass(e.call(this,t,wt(this)))})):(t=_t(e)).length?this.each((function(){if(n=wt(this),r=1===this.nodeType&&" "+yt(n)+" "){for(o=0;o-1;)r=r.replace(" "+i+" "," ");s=yt(r),n!==s&&this.setAttribute("class",s)}})):this:this.attr("class","")},toggleClass:function(e,t){var r,n,i,o,s=typeof e,a="string"===s||Array.isArray(e);return v(e)?this.each((function(r){E(this).toggleClass(e.call(this,r,wt(this),t),t)})):"boolean"==typeof t&&a?t?this.addClass(e):this.removeClass(e):(r=_t(e),this.each((function(){if(a)for(o=E(this),i=0;i-1)return!0;return!1}});var xt=/\r/g;E.fn.extend({val:function(e){var t,r,n,i=this[0];return arguments.length?(n=v(e),this.each((function(r){var i;1===this.nodeType&&(null==(i=n?e.call(this,r,E(this).val()):e)?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=E.map(i,(function(e){return null==e?"":e+""}))),(t=E.valHooks[this.type]||E.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))}))):i?(t=E.valHooks[i.type]||E.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(r=t.get(i,"value"))?r:"string"==typeof(r=i.value)?r.replace(xt,""):null==r?"":r:void 0}}),E.extend({valHooks:{option:{get:function(e){var t=E.find.attr(e,"value");return null!=t?t:yt(E.text(e))}},select:{get:function(e){var t,r,n,i=e.options,o=e.selectedIndex,s="select-one"===e.type,a=s?null:[],l=s?o+1:i.length;for(n=o<0?l:s?o:0;n-1)&&(r=!0);return r||(e.selectedIndex=-1),o}}}}),E.each(["radio","checkbox"],(function(){E.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=E.inArray(E(e).val(),t)>-1}},m.checkOn||(E.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})})),m.focusin="onfocusin"in n;var At=/^(?:focusinfocus|focusoutblur)$/,Et=function(e){e.stopPropagation()};E.extend(E.event,{trigger:function(e,t,r,i){var o,s,a,l,c,u,p,f,h=[r||y],g=d.call(e,"type")?e.type:e,m=d.call(e,"namespace")?e.namespace.split("."):[];if(s=f=a=r=r||y,3!==r.nodeType&&8!==r.nodeType&&!At.test(g+E.event.triggered)&&(g.indexOf(".")>-1&&(m=g.split("."),g=m.shift(),m.sort()),c=g.indexOf(":")<0&&"on"+g,(e=e[E.expando]?e:new E.Event(g,"object"==typeof e&&e)).isTrigger=i?2:3,e.namespace=m.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=r),t=null==t?[e]:E.makeArray(t,[e]),p=E.event.special[g]||{},i||!p.trigger||!1!==p.trigger.apply(r,t))){if(!i&&!p.noBubble&&!b(r)){for(l=p.delegateType||g,At.test(l+g)||(s=s.parentNode);s;s=s.parentNode)h.push(s),a=s;a===(r.ownerDocument||y)&&h.push(a.defaultView||a.parentWindow||n)}for(o=0;(s=h[o++])&&!e.isPropagationStopped();)f=s,e.type=o>1?l:p.bindType||g,(u=(Q.get(s,"events")||Object.create(null))[e.type]&&Q.get(s,"handle"))&&u.apply(s,t),(u=c&&s[c])&&u.apply&&K(s)&&(e.result=u.apply(s,t),!1===e.result&&e.preventDefault());return e.type=g,i||e.isDefaultPrevented()||p._default&&!1!==p._default.apply(h.pop(),t)||!K(r)||c&&v(r[g])&&!b(r)&&((a=r[c])&&(r[c]=null),E.event.triggered=g,e.isPropagationStopped()&&f.addEventListener(g,Et),r[g](),e.isPropagationStopped()&&f.removeEventListener(g,Et),E.event.triggered=void 0,a&&(r[c]=a)),e.result}},simulate:function(e,t,r){var n=E.extend(new E.Event,r,{type:e,isSimulated:!0});E.event.trigger(n,null,t)}}),E.fn.extend({trigger:function(e,t){return this.each((function(){E.event.trigger(e,t,this)}))},triggerHandler:function(e,t){var r=this[0];if(r)return E.event.trigger(e,t,r,!0)}}),m.focusin||E.each({focus:"focusin",blur:"focusout"},(function(e,t){var r=function(e){E.event.simulate(t,e.target,E.event.fix(e))};E.event.special[t]={setup:function(){var n=this.ownerDocument||this.document||this,i=Q.access(n,t);i||n.addEventListener(e,r,!0),Q.access(n,t,(i||0)+1)},teardown:function(){var n=this.ownerDocument||this.document||this,i=Q.access(n,t)-1;i?Q.access(n,t,i):(n.removeEventListener(e,r,!0),Q.remove(n,t))}}}));var Dt=n.location,Tt={guid:Date.now()},Ct=/\?/;E.parseXML=function(e){var t,r;if(!e||"string"!=typeof e)return null;try{t=(new n.DOMParser).parseFromString(e,"text/xml")}catch(e){}return r=t&&t.getElementsByTagName("parsererror")[0],t&&!r||E.error("Invalid XML: "+(r?E.map(r.childNodes,(function(e){return e.textContent})).join("\n"):e)),t};var qt=/\[\]$/,kt=/\r?\n/g,Lt=/^(?:submit|button|image|reset|file)$/i,St=/^(?:input|select|textarea|keygen)/i;function Nt(e,t,r,n){var i;if(Array.isArray(t))E.each(t,(function(t,i){r||qt.test(e)?n(e,i):Nt(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,r,n)}));else if(r||"object"!==x(t))n(e,t);else for(i in t)Nt(e+"["+i+"]",t[i],r,n)}E.param=function(e,t){var r,n=[],i=function(e,t){var r=v(t)?t():t;n[n.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==r?"":r)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!E.isPlainObject(e))E.each(e,(function(){i(this.name,this.value)}));else for(r in e)Nt(r,e[r],t,i);return n.join("&")},E.fn.extend({serialize:function(){return E.param(this.serializeArray())},serializeArray:function(){return this.map((function(){var e=E.prop(this,"elements");return e?E.makeArray(e):this})).filter((function(){var e=this.type;return this.name&&!E(this).is(":disabled")&&St.test(this.nodeName)&&!Lt.test(e)&&(this.checked||!me.test(e))})).map((function(e,t){var r=E(this).val();return null==r?null:Array.isArray(r)?E.map(r,(function(e){return{name:t.name,value:e.replace(kt,"\r\n")}})):{name:t.name,value:r.replace(kt,"\r\n")}})).get()}});var Ot=/%20/g,jt=/#.*$/,Rt=/([?&])_=[^&]*/,Bt=/^(.*?):[ \t]*([^\r\n]*)$/gm,It=/^(?:GET|HEAD)$/,Pt=/^\/\//,Ft={},Ht={},Mt="*/".concat("*"),Ut=y.createElement("a");function Vt(e){return function(t,r){"string"!=typeof t&&(r=t,t="*");var n,i=0,o=t.toLowerCase().match(P)||[];if(v(r))for(;n=o[i++];)"+"===n[0]?(n=n.slice(1)||"*",(e[n]=e[n]||[]).unshift(r)):(e[n]=e[n]||[]).push(r)}}function $t(e,t,r,n){var i={},o=e===Ht;function s(a){var l;return i[a]=!0,E.each(e[a]||[],(function(e,a){var c=a(t,r,n);return"string"!=typeof c||o||i[c]?o?!(l=c):void 0:(t.dataTypes.unshift(c),s(c),!1)})),l}return s(t.dataTypes[0])||!i["*"]&&s("*")}function zt(e,t){var r,n,i=E.ajaxSettings.flatOptions||{};for(r in t)void 0!==t[r]&&((i[r]?e:n||(n={}))[r]=t[r]);return n&&E.extend(!0,e,n),e}Ut.href=Dt.href,E.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Dt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Dt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Mt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":E.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,E.ajaxSettings),t):zt(E.ajaxSettings,e)},ajaxPrefilter:Vt(Ft),ajaxTransport:Vt(Ht),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var r,i,o,s,a,l,c,u,p,f,d=E.ajaxSetup({},t),h=d.context||d,g=d.context&&(h.nodeType||h.jquery)?E(h):E.event,m=E.Deferred(),v=E.Callbacks("once memory"),b=d.statusCode||{},w={},_={},x="canceled",A={readyState:0,getResponseHeader:function(e){var t;if(c){if(!s)for(s={};t=Bt.exec(o);)s[t[1].toLowerCase()+" "]=(s[t[1].toLowerCase()+" "]||[]).concat(t[2]);t=s[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return c?o:null},setRequestHeader:function(e,t){return null==c&&(e=_[e.toLowerCase()]=_[e.toLowerCase()]||e,w[e]=t),this},overrideMimeType:function(e){return null==c&&(d.mimeType=e),this},statusCode:function(e){var t;if(e)if(c)A.always(e[A.status]);else for(t in e)b[t]=[b[t],e[t]];return this},abort:function(e){var t=e||x;return r&&r.abort(t),D(0,t),this}};if(m.promise(A),d.url=((e||d.url||Dt.href)+"").replace(Pt,Dt.protocol+"//"),d.type=t.method||t.type||d.method||d.type,d.dataTypes=(d.dataType||"*").toLowerCase().match(P)||[""],null==d.crossDomain){l=y.createElement("a");try{l.href=d.url,l.href=l.href,d.crossDomain=Ut.protocol+"//"+Ut.host!=l.protocol+"//"+l.host}catch(e){d.crossDomain=!0}}if(d.data&&d.processData&&"string"!=typeof d.data&&(d.data=E.param(d.data,d.traditional)),$t(Ft,d,t,A),c)return A;for(p in(u=E.event&&d.global)&&0==E.active++&&E.event.trigger("ajaxStart"),d.type=d.type.toUpperCase(),d.hasContent=!It.test(d.type),i=d.url.replace(jt,""),d.hasContent?d.data&&d.processData&&0===(d.contentType||"").indexOf("application/x-www-form-urlencoded")&&(d.data=d.data.replace(Ot,"+")):(f=d.url.slice(i.length),d.data&&(d.processData||"string"==typeof d.data)&&(i+=(Ct.test(i)?"&":"?")+d.data,delete d.data),!1===d.cache&&(i=i.replace(Rt,"$1"),f=(Ct.test(i)?"&":"?")+"_="+Tt.guid+++f),d.url=i+f),d.ifModified&&(E.lastModified[i]&&A.setRequestHeader("If-Modified-Since",E.lastModified[i]),E.etag[i]&&A.setRequestHeader("If-None-Match",E.etag[i])),(d.data&&d.hasContent&&!1!==d.contentType||t.contentType)&&A.setRequestHeader("Content-Type",d.contentType),A.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+("*"!==d.dataTypes[0]?", "+Mt+"; q=0.01":""):d.accepts["*"]),d.headers)A.setRequestHeader(p,d.headers[p]);if(d.beforeSend&&(!1===d.beforeSend.call(h,A,d)||c))return A.abort();if(x="abort",v.add(d.complete),A.done(d.success),A.fail(d.error),r=$t(Ht,d,t,A)){if(A.readyState=1,u&&g.trigger("ajaxSend",[A,d]),c)return A;d.async&&d.timeout>0&&(a=n.setTimeout((function(){A.abort("timeout")}),d.timeout));try{c=!1,r.send(w,D)}catch(e){if(c)throw e;D(-1,e)}}else D(-1,"No Transport");function D(e,t,s,l){var p,f,y,w,_,x=t;c||(c=!0,a&&n.clearTimeout(a),r=void 0,o=l||"",A.readyState=e>0?4:0,p=e>=200&&e<300||304===e,s&&(w=function(e,t,r){for(var n,i,o,s,a=e.contents,l=e.dataTypes;"*"===l[0];)l.shift(),void 0===n&&(n=e.mimeType||t.getResponseHeader("Content-Type"));if(n)for(i in a)if(a[i]&&a[i].test(n)){l.unshift(i);break}if(l[0]in r)o=l[0];else{for(i in r){if(!l[0]||e.converters[i+" "+l[0]]){o=i;break}s||(s=i)}o=o||s}if(o)return o!==l[0]&&l.unshift(o),r[o]}(d,A,s)),!p&&E.inArray("script",d.dataTypes)>-1&&E.inArray("json",d.dataTypes)<0&&(d.converters["text script"]=function(){}),w=function(e,t,r,n){var i,o,s,a,l,c={},u=e.dataTypes.slice();if(u[1])for(s in e.converters)c[s.toLowerCase()]=e.converters[s];for(o=u.shift();o;)if(e.responseFields[o]&&(r[e.responseFields[o]]=t),!l&&n&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),l=o,o=u.shift())if("*"===o)o=l;else if("*"!==l&&l!==o){if(!(s=c[l+" "+o]||c["* "+o]))for(i in c)if((a=i.split(" "))[1]===o&&(s=c[l+" "+a[0]]||c["* "+a[0]])){!0===s?s=c[i]:!0!==c[i]&&(o=a[0],u.unshift(a[1]));break}if(!0!==s)if(s&&e.throws)t=s(t);else try{t=s(t)}catch(e){return{state:"parsererror",error:s?e:"No conversion from "+l+" to "+o}}}return{state:"success",data:t}}(d,w,A,p),p?(d.ifModified&&((_=A.getResponseHeader("Last-Modified"))&&(E.lastModified[i]=_),(_=A.getResponseHeader("etag"))&&(E.etag[i]=_)),204===e||"HEAD"===d.type?x="nocontent":304===e?x="notmodified":(x=w.state,f=w.data,p=!(y=w.error))):(y=x,!e&&x||(x="error",e<0&&(e=0))),A.status=e,A.statusText=(t||x)+"",p?m.resolveWith(h,[f,x,A]):m.rejectWith(h,[A,x,y]),A.statusCode(b),b=void 0,u&&g.trigger(p?"ajaxSuccess":"ajaxError",[A,d,p?f:y]),v.fireWith(h,[A,x]),u&&(g.trigger("ajaxComplete",[A,d]),--E.active||E.event.trigger("ajaxStop")))}return A},getJSON:function(e,t,r){return E.get(e,t,r,"json")},getScript:function(e,t){return E.get(e,void 0,t,"script")}}),E.each(["get","post"],(function(e,t){E[t]=function(e,r,n,i){return v(r)&&(i=i||n,n=r,r=void 0),E.ajax(E.extend({url:e,type:t,dataType:i,data:r,success:n},E.isPlainObject(e)&&e))}})),E.ajaxPrefilter((function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")})),E._evalUrl=function(e,t,r){return E.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){E.globalEval(e,t,r)}})},E.fn.extend({wrapAll:function(e){var t;return this[0]&&(v(e)&&(e=e.call(this[0])),t=E(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map((function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e})).append(this)),this},wrapInner:function(e){return v(e)?this.each((function(t){E(this).wrapInner(e.call(this,t))})):this.each((function(){var t=E(this),r=t.contents();r.length?r.wrapAll(e):t.append(e)}))},wrap:function(e){var t=v(e);return this.each((function(r){E(this).wrapAll(t?e.call(this,r):e)}))},unwrap:function(e){return this.parent(e).not("body").each((function(){E(this).replaceWith(this.childNodes)})),this}}),E.expr.pseudos.hidden=function(e){return!E.expr.pseudos.visible(e)},E.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},E.ajaxSettings.xhr=function(){try{return new n.XMLHttpRequest}catch(e){}};var Gt={0:200,1223:204},Wt=E.ajaxSettings.xhr();m.cors=!!Wt&&"withCredentials"in Wt,m.ajax=Wt=!!Wt,E.ajaxTransport((function(e){var t,r;if(m.cors||Wt&&!e.crossDomain)return{send:function(i,o){var s,a=e.xhr();if(a.open(e.type,e.url,e.async,e.username,e.password),e.xhrFields)for(s in e.xhrFields)a[s]=e.xhrFields[s];for(s in e.mimeType&&a.overrideMimeType&&a.overrideMimeType(e.mimeType),e.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest"),i)a.setRequestHeader(s,i[s]);t=function(e){return function(){t&&(t=r=a.onload=a.onerror=a.onabort=a.ontimeout=a.onreadystatechange=null,"abort"===e?a.abort():"error"===e?"number"!=typeof a.status?o(0,"error"):o(a.status,a.statusText):o(Gt[a.status]||a.status,a.statusText,"text"!==(a.responseType||"text")||"string"!=typeof a.responseText?{binary:a.response}:{text:a.responseText},a.getAllResponseHeaders()))}},a.onload=t(),r=a.onerror=a.ontimeout=t("error"),void 0!==a.onabort?a.onabort=r:a.onreadystatechange=function(){4===a.readyState&&n.setTimeout((function(){t&&r()}))},t=t("abort");try{a.send(e.hasContent&&e.data||null)}catch(e){if(t)throw e}},abort:function(){t&&t()}}})),E.ajaxPrefilter((function(e){e.crossDomain&&(e.contents.script=!1)})),E.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return E.globalEval(e),e}}}),E.ajaxPrefilter("script",(function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")})),E.ajaxTransport("script",(function(e){var t,r;if(e.crossDomain||e.scriptAttrs)return{send:function(n,i){t=E("