diff --git a/app/images/system/logo120.png b/app/images/system/logo120.png new file mode 100644 index 0000000..6ac77b7 Binary files /dev/null and b/app/images/system/logo120.png differ diff --git a/app/images/system/logo40.png b/app/images/system/logo40.png new file mode 100644 index 0000000..5e2b8f8 Binary files /dev/null and b/app/images/system/logo40.png differ diff --git a/h5/bootstrapmini5.1/bootstrap.css b/h5/bootstrapmini5.1/bootstrap.css new file mode 100644 index 0000000..750da4e --- /dev/null +++ b/h5/bootstrapmini5.1/bootstrap.css @@ -0,0 +1,11221 @@ +@charset "UTF-8"; +/*! + * Bootstrap v5.1.0 (https://getbootstrap.com/) + * Copyright 2011-2021 The Bootstrap Authors + * Copyright 2011-2021 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +:root { + --bs-blue: #0d6efd; + --bs-indigo: #6610f2; + --bs-purple: #6f42c1; + --bs-pink: #d63384; + --bs-red: #dc3545; + --bs-orange: #fd7e14; + --bs-yellow: #ffc107; + --bs-green: #198754; + --bs-teal: #20c997; + --bs-cyan: #0dcaf0; + --bs-white: #fff; + --bs-gray: #6c757d; + --bs-gray-dark: #343a40; + --bs-gray-100: #f8f9fa; + --bs-gray-200: #e9ecef; + --bs-gray-300: #dee2e6; + --bs-gray-400: #ced4da; + --bs-gray-500: #adb5bd; + --bs-gray-600: #6c757d; + --bs-gray-700: #495057; + --bs-gray-800: #343a40; + --bs-gray-900: #212529; + --bs-primary: #0d6efd; + --bs-secondary: #6c757d; + --bs-success: #198754; + --bs-info: #0dcaf0; + --bs-warning: #ffc107; + --bs-danger: #dc3545; + --bs-light: #f8f9fa; + --bs-dark: #212529; + --bs-primary-rgb: 13, 110, 253; + --bs-secondary-rgb: 108, 117, 125; + --bs-success-rgb: 25, 135, 84; + --bs-info-rgb: 13, 202, 240; + --bs-warning-rgb: 255, 193, 7; + --bs-danger-rgb: 220, 53, 69; + --bs-light-rgb: 248, 249, 250; + --bs-dark-rgb: 33, 37, 41; + --bs-white-rgb: 255, 255, 255; + --bs-black-rgb: 0, 0, 0; + --bs-body-rgb: 33, 37, 41; + --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 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: #212529; + --bs-body-bg: #fff; +} + +*, +*::before, +*::after { + box-sizing: border-box; +} + +@media (prefers-reduced-motion: no-preference) { + :root { + scroll-behavior: smooth; + } +} + +body { + margin: 0; + 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); + color: var(--bs-body-color); + text-align: var(--bs-body-text-align); + background-color: var(--bs-body-bg); + -webkit-text-size-adjust: 100%; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +hr { + margin: 1rem 0; + color: inherit; + background-color: currentColor; + border: 0; + opacity: 0.25; +} + +hr:not([size]) { + height: 1px; +} + +h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 { + margin-top: 0; + margin-bottom: 0.5rem; + font-weight: 500; + line-height: 1.2; +} + +h1, .h1 { + font-size: calc(1.375rem + 1.5vw); +} +@media (min-width: 1200px) { + h1, .h1 { + font-size: 2.5rem; + } +} + +h2, .h2 { + font-size: calc(1.325rem + 0.9vw); +} +@media (min-width: 1200px) { + h2, .h2 { + font-size: 2rem; + } +} + +h3, .h3 { + font-size: calc(1.3rem + 0.6vw); +} +@media (min-width: 1200px) { + h3, .h3 { + font-size: 1.75rem; + } +} + +h4, .h4 { + font-size: calc(1.275rem + 0.3vw); +} +@media (min-width: 1200px) { + h4, .h4 { + font-size: 1.5rem; + } +} + +h5, .h5 { + font-size: 1.25rem; +} + +h6, .h6 { + font-size: 1rem; +} + +p { + margin-top: 0; + margin-bottom: 1rem; +} + +abbr[title], +abbr[data-bs-original-title] { + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + cursor: help; + -webkit-text-decoration-skip-ink: none; + text-decoration-skip-ink: none; +} + +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} + +ol, +ul { + padding-left: 2rem; +} + +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1rem; +} + +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; +} + +dt { + font-weight: 700; +} + +dd { + margin-bottom: 0.5rem; + margin-left: 0; +} + +blockquote { + margin: 0 0 1rem; +} + +b, +strong { + font-weight: bolder; +} + +small, .small { + font-size: 0.875em; +} + +mark, .mark { + padding: 0.2em; + background-color: #fcf8e3; +} + +sub, +sup { + position: relative; + font-size: 0.75em; + line-height: 0; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +a { + color: #0d6efd; + text-decoration: underline; +} +a:hover { + color: #0a58ca; +} + +a:not([href]):not([class]), a:not([href]):not([class]):hover { + color: inherit; + text-decoration: none; +} + +pre, +code, +kbd, +samp { + font-family: var(--bs-font-monospace); + font-size: 1em; + direction: ltr /* rtl:ignore */; + unicode-bidi: bidi-override; +} + +pre { + display: block; + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; + font-size: 0.875em; +} +pre code { + font-size: inherit; + color: inherit; + word-break: normal; +} + +code { + font-size: 0.875em; + color: #d63384; + word-wrap: break-word; +} +a > code { + color: inherit; +} + +kbd { + padding: 0.2rem 0.4rem; + font-size: 0.875em; + color: #fff; + background-color: #212529; + border-radius: 0.2rem; +} +kbd kbd { + padding: 0; + font-size: 1em; + font-weight: 700; +} + +figure { + margin: 0 0 1rem; +} + +img, +svg { + vertical-align: middle; +} + +table { + caption-side: bottom; + border-collapse: collapse; +} + +caption { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + color: #6c757d; + text-align: left; +} + +th { + text-align: inherit; + text-align: -webkit-match-parent; +} + +thead, +tbody, +tfoot, +tr, +td, +th { + border-color: inherit; + border-style: solid; + border-width: 0; +} + +label { + display: inline-block; +} + +button { + border-radius: 0; +} + +button:focus:not(:focus-visible) { + outline: 0; +} + +input, +button, +select, +optgroup, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +button, +select { + text-transform: none; +} + +[role=button] { + cursor: pointer; +} + +select { + word-wrap: normal; +} +select:disabled { + opacity: 1; +} + +[list]::-webkit-calendar-picker-indicator { + display: none; +} + +button, +[type=button], +[type=reset], +[type=submit] { + -webkit-appearance: button; +} +button:not(:disabled), +[type=button]:not(:disabled), +[type=reset]:not(:disabled), +[type=submit]:not(:disabled) { + cursor: pointer; +} + +::-moz-focus-inner { + padding: 0; + border-style: none; +} + +textarea { + resize: vertical; +} + +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} + +legend { + float: left; + width: 100%; + padding: 0; + margin-bottom: 0.5rem; + font-size: calc(1.275rem + 0.3vw); + line-height: inherit; +} +@media (min-width: 1200px) { + legend { + font-size: 1.5rem; + } +} +legend + * { + clear: left; +} + +::-webkit-datetime-edit-fields-wrapper, +::-webkit-datetime-edit-text, +::-webkit-datetime-edit-minute, +::-webkit-datetime-edit-hour-field, +::-webkit-datetime-edit-day-field, +::-webkit-datetime-edit-month-field, +::-webkit-datetime-edit-year-field { + padding: 0; +} + +::-webkit-inner-spin-button { + height: auto; +} + +[type=search] { + outline-offset: -2px; + -webkit-appearance: textfield; +} + +/* rtl:raw: +[type="tel"], +[type="url"], +[type="email"], +[type="number"] { + direction: ltr; +} +*/ +::-webkit-search-decoration { + -webkit-appearance: none; +} + +::-webkit-color-swatch-wrapper { + padding: 0; +} + +::file-selector-button { + font: inherit; +} + +::-webkit-file-upload-button { + font: inherit; + -webkit-appearance: button; +} + +output { + display: inline-block; +} + +iframe { + border: 0; +} + +summary { + display: list-item; + cursor: pointer; +} + +progress { + vertical-align: baseline; +} + +[hidden] { + display: none !important; +} + +.lead { + font-size: 1.25rem; + font-weight: 300; +} + +.display-1 { + font-size: calc(1.625rem + 4.5vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-1 { + font-size: 5rem; + } +} + +.display-2 { + font-size: calc(1.575rem + 3.9vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-2 { + font-size: 4.5rem; + } +} + +.display-3 { + font-size: calc(1.525rem + 3.3vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-3 { + font-size: 4rem; + } +} + +.display-4 { + font-size: calc(1.475rem + 2.7vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-4 { + font-size: 3.5rem; + } +} + +.display-5 { + font-size: calc(1.425rem + 2.1vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-5 { + font-size: 3rem; + } +} + +.display-6 { + font-size: calc(1.375rem + 1.5vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-6 { + font-size: 2.5rem; + } +} + +.list-unstyled { + padding-left: 0; + list-style: none; +} + +.list-inline { + padding-left: 0; + list-style: none; +} + +.list-inline-item { + display: inline-block; +} +.list-inline-item:not(:last-child) { + margin-right: 0.5rem; +} + +.initialism { + font-size: 0.875em; + text-transform: uppercase; +} + +.blockquote { + margin-bottom: 1rem; + font-size: 1.25rem; +} +.blockquote > :last-child { + margin-bottom: 0; +} + +.blockquote-footer { + margin-top: -1rem; + margin-bottom: 1rem; + font-size: 0.875em; + color: #6c757d; +} +.blockquote-footer::before { + content: "— "; +} + +.img-fluid { + max-width: 100%; + height: auto; +} + +.img-thumbnail { + padding: 0.25rem; + background-color: #fff; + border: 1px solid #dee2e6; + border-radius: 0.25rem; + max-width: 100%; + height: auto; +} + +.figure { + display: inline-block; +} + +.figure-img { + margin-bottom: 0.5rem; + line-height: 1; +} + +.figure-caption { + font-size: 0.875em; + color: #6c757d; +} + +.container, +.container-fluid, +.container-xxl, +.container-xl, +.container-lg, +.container-md, +.container-sm { + width: 100%; + padding-right: var(--bs-gutter-x, 0.75rem); + padding-left: var(--bs-gutter-x, 0.75rem); + margin-right: auto; + margin-left: auto; +} + +@media (min-width: 576px) { + .container-sm, .container { + max-width: 540px; + } +} +@media (min-width: 768px) { + .container-md, .container-sm, .container { + max-width: 720px; + } +} +@media (min-width: 992px) { + .container-lg, .container-md, .container-sm, .container { + max-width: 960px; + } +} +@media (min-width: 1200px) { + .container-xl, .container-lg, .container-md, .container-sm, .container { + max-width: 1140px; + } +} +@media (min-width: 1400px) { + .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container { + max-width: 1320px; + } +} +.row { + --bs-gutter-x: 1.5rem; + --bs-gutter-y: 0; + display: flex; + flex-wrap: wrap; + margin-top: calc(var(--bs-gutter-y) * -1); + margin-right: calc(var(--bs-gutter-x) * -.5); + margin-left: calc(var(--bs-gutter-x) * -.5); +} +.row > * { + flex-shrink: 0; + width: 100%; + max-width: 100%; + padding-right: calc(var(--bs-gutter-x) * .5); + padding-left: calc(var(--bs-gutter-x) * .5); + margin-top: var(--bs-gutter-y); +} + +.col { + flex: 1 0 0%; +} + +.row-cols-auto > * { + flex: 0 0 auto; + width: auto; +} + +.row-cols-1 > * { + flex: 0 0 auto; + width: 100%; +} + +.row-cols-2 > * { + flex: 0 0 auto; + width: 50%; +} + +.row-cols-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; +} + +.row-cols-4 > * { + flex: 0 0 auto; + width: 25%; +} + +.row-cols-5 > * { + flex: 0 0 auto; + width: 20%; +} + +.row-cols-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; +} + +.col-auto { + flex: 0 0 auto; + width: auto; +} + +.col-1 { + flex: 0 0 auto; + width: 8.33333333%; +} + +.col-2 { + flex: 0 0 auto; + width: 16.66666667%; +} + +.col-3 { + flex: 0 0 auto; + width: 25%; +} + +.col-4 { + flex: 0 0 auto; + width: 33.33333333%; +} + +.col-5 { + flex: 0 0 auto; + width: 41.66666667%; +} + +.col-6 { + flex: 0 0 auto; + width: 50%; +} + +.col-7 { + flex: 0 0 auto; + width: 58.33333333%; +} + +.col-8 { + flex: 0 0 auto; + width: 66.66666667%; +} + +.col-9 { + flex: 0 0 auto; + width: 75%; +} + +.col-10 { + flex: 0 0 auto; + width: 83.33333333%; +} + +.col-11 { + flex: 0 0 auto; + width: 91.66666667%; +} + +.col-12 { + flex: 0 0 auto; + width: 100%; +} + +.offset-1 { + margin-left: 8.33333333%; +} + +.offset-2 { + margin-left: 16.66666667%; +} + +.offset-3 { + margin-left: 25%; +} + +.offset-4 { + margin-left: 33.33333333%; +} + +.offset-5 { + margin-left: 41.66666667%; +} + +.offset-6 { + margin-left: 50%; +} + +.offset-7 { + margin-left: 58.33333333%; +} + +.offset-8 { + margin-left: 66.66666667%; +} + +.offset-9 { + margin-left: 75%; +} + +.offset-10 { + margin-left: 83.33333333%; +} + +.offset-11 { + margin-left: 91.66666667%; +} + +.g-0, +.gx-0 { + --bs-gutter-x: 0; +} + +.g-0, +.gy-0 { + --bs-gutter-y: 0; +} + +.g-1, +.gx-1 { + --bs-gutter-x: 0.25rem; +} + +.g-1, +.gy-1 { + --bs-gutter-y: 0.25rem; +} + +.g-2, +.gx-2 { + --bs-gutter-x: 0.5rem; +} + +.g-2, +.gy-2 { + --bs-gutter-y: 0.5rem; +} + +.g-3, +.gx-3 { + --bs-gutter-x: 1rem; +} + +.g-3, +.gy-3 { + --bs-gutter-y: 1rem; +} + +.g-4, +.gx-4 { + --bs-gutter-x: 1.5rem; +} + +.g-4, +.gy-4 { + --bs-gutter-y: 1.5rem; +} + +.g-5, +.gx-5 { + --bs-gutter-x: 3rem; +} + +.g-5, +.gy-5 { + --bs-gutter-y: 3rem; +} + +@media (min-width: 576px) { + .col-sm { + flex: 1 0 0%; + } + + .row-cols-sm-auto > * { + flex: 0 0 auto; + width: auto; + } + + .row-cols-sm-1 > * { + flex: 0 0 auto; + width: 100%; + } + + .row-cols-sm-2 > * { + flex: 0 0 auto; + width: 50%; + } + + .row-cols-sm-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + + .row-cols-sm-4 > * { + flex: 0 0 auto; + width: 25%; + } + + .row-cols-sm-5 > * { + flex: 0 0 auto; + width: 20%; + } + + .row-cols-sm-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + + .col-sm-auto { + flex: 0 0 auto; + width: auto; + } + + .col-sm-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + + .col-sm-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + + .col-sm-3 { + flex: 0 0 auto; + width: 25%; + } + + .col-sm-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + + .col-sm-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + + .col-sm-6 { + flex: 0 0 auto; + width: 50%; + } + + .col-sm-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + + .col-sm-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + + .col-sm-9 { + flex: 0 0 auto; + width: 75%; + } + + .col-sm-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + + .col-sm-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + + .col-sm-12 { + flex: 0 0 auto; + width: 100%; + } + + .offset-sm-0 { + margin-left: 0; + } + + .offset-sm-1 { + margin-left: 8.33333333%; + } + + .offset-sm-2 { + margin-left: 16.66666667%; + } + + .offset-sm-3 { + margin-left: 25%; + } + + .offset-sm-4 { + margin-left: 33.33333333%; + } + + .offset-sm-5 { + margin-left: 41.66666667%; + } + + .offset-sm-6 { + margin-left: 50%; + } + + .offset-sm-7 { + margin-left: 58.33333333%; + } + + .offset-sm-8 { + margin-left: 66.66666667%; + } + + .offset-sm-9 { + margin-left: 75%; + } + + .offset-sm-10 { + margin-left: 83.33333333%; + } + + .offset-sm-11 { + margin-left: 91.66666667%; + } + + .g-sm-0, +.gx-sm-0 { + --bs-gutter-x: 0; + } + + .g-sm-0, +.gy-sm-0 { + --bs-gutter-y: 0; + } + + .g-sm-1, +.gx-sm-1 { + --bs-gutter-x: 0.25rem; + } + + .g-sm-1, +.gy-sm-1 { + --bs-gutter-y: 0.25rem; + } + + .g-sm-2, +.gx-sm-2 { + --bs-gutter-x: 0.5rem; + } + + .g-sm-2, +.gy-sm-2 { + --bs-gutter-y: 0.5rem; + } + + .g-sm-3, +.gx-sm-3 { + --bs-gutter-x: 1rem; + } + + .g-sm-3, +.gy-sm-3 { + --bs-gutter-y: 1rem; + } + + .g-sm-4, +.gx-sm-4 { + --bs-gutter-x: 1.5rem; + } + + .g-sm-4, +.gy-sm-4 { + --bs-gutter-y: 1.5rem; + } + + .g-sm-5, +.gx-sm-5 { + --bs-gutter-x: 3rem; + } + + .g-sm-5, +.gy-sm-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 768px) { + .col-md { + flex: 1 0 0%; + } + + .row-cols-md-auto > * { + flex: 0 0 auto; + width: auto; + } + + .row-cols-md-1 > * { + flex: 0 0 auto; + width: 100%; + } + + .row-cols-md-2 > * { + flex: 0 0 auto; + width: 50%; + } + + .row-cols-md-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + + .row-cols-md-4 > * { + flex: 0 0 auto; + width: 25%; + } + + .row-cols-md-5 > * { + flex: 0 0 auto; + width: 20%; + } + + .row-cols-md-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + + .col-md-auto { + flex: 0 0 auto; + width: auto; + } + + .col-md-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + + .col-md-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + + .col-md-3 { + flex: 0 0 auto; + width: 25%; + } + + .col-md-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + + .col-md-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + + .col-md-6 { + flex: 0 0 auto; + width: 50%; + } + + .col-md-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + + .col-md-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + + .col-md-9 { + flex: 0 0 auto; + width: 75%; + } + + .col-md-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + + .col-md-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + + .col-md-12 { + flex: 0 0 auto; + width: 100%; + } + + .offset-md-0 { + margin-left: 0; + } + + .offset-md-1 { + margin-left: 8.33333333%; + } + + .offset-md-2 { + margin-left: 16.66666667%; + } + + .offset-md-3 { + margin-left: 25%; + } + + .offset-md-4 { + margin-left: 33.33333333%; + } + + .offset-md-5 { + margin-left: 41.66666667%; + } + + .offset-md-6 { + margin-left: 50%; + } + + .offset-md-7 { + margin-left: 58.33333333%; + } + + .offset-md-8 { + margin-left: 66.66666667%; + } + + .offset-md-9 { + margin-left: 75%; + } + + .offset-md-10 { + margin-left: 83.33333333%; + } + + .offset-md-11 { + margin-left: 91.66666667%; + } + + .g-md-0, +.gx-md-0 { + --bs-gutter-x: 0; + } + + .g-md-0, +.gy-md-0 { + --bs-gutter-y: 0; + } + + .g-md-1, +.gx-md-1 { + --bs-gutter-x: 0.25rem; + } + + .g-md-1, +.gy-md-1 { + --bs-gutter-y: 0.25rem; + } + + .g-md-2, +.gx-md-2 { + --bs-gutter-x: 0.5rem; + } + + .g-md-2, +.gy-md-2 { + --bs-gutter-y: 0.5rem; + } + + .g-md-3, +.gx-md-3 { + --bs-gutter-x: 1rem; + } + + .g-md-3, +.gy-md-3 { + --bs-gutter-y: 1rem; + } + + .g-md-4, +.gx-md-4 { + --bs-gutter-x: 1.5rem; + } + + .g-md-4, +.gy-md-4 { + --bs-gutter-y: 1.5rem; + } + + .g-md-5, +.gx-md-5 { + --bs-gutter-x: 3rem; + } + + .g-md-5, +.gy-md-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 992px) { + .col-lg { + flex: 1 0 0%; + } + + .row-cols-lg-auto > * { + flex: 0 0 auto; + width: auto; + } + + .row-cols-lg-1 > * { + flex: 0 0 auto; + width: 100%; + } + + .row-cols-lg-2 > * { + flex: 0 0 auto; + width: 50%; + } + + .row-cols-lg-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + + .row-cols-lg-4 > * { + flex: 0 0 auto; + width: 25%; + } + + .row-cols-lg-5 > * { + flex: 0 0 auto; + width: 20%; + } + + .row-cols-lg-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + + .col-lg-auto { + flex: 0 0 auto; + width: auto; + } + + .col-lg-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + + .col-lg-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + + .col-lg-3 { + flex: 0 0 auto; + width: 25%; + } + + .col-lg-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + + .col-lg-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + + .col-lg-6 { + flex: 0 0 auto; + width: 50%; + } + + .col-lg-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + + .col-lg-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + + .col-lg-9 { + flex: 0 0 auto; + width: 75%; + } + + .col-lg-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + + .col-lg-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + + .col-lg-12 { + flex: 0 0 auto; + width: 100%; + } + + .offset-lg-0 { + margin-left: 0; + } + + .offset-lg-1 { + margin-left: 8.33333333%; + } + + .offset-lg-2 { + margin-left: 16.66666667%; + } + + .offset-lg-3 { + margin-left: 25%; + } + + .offset-lg-4 { + margin-left: 33.33333333%; + } + + .offset-lg-5 { + margin-left: 41.66666667%; + } + + .offset-lg-6 { + margin-left: 50%; + } + + .offset-lg-7 { + margin-left: 58.33333333%; + } + + .offset-lg-8 { + margin-left: 66.66666667%; + } + + .offset-lg-9 { + margin-left: 75%; + } + + .offset-lg-10 { + margin-left: 83.33333333%; + } + + .offset-lg-11 { + margin-left: 91.66666667%; + } + + .g-lg-0, +.gx-lg-0 { + --bs-gutter-x: 0; + } + + .g-lg-0, +.gy-lg-0 { + --bs-gutter-y: 0; + } + + .g-lg-1, +.gx-lg-1 { + --bs-gutter-x: 0.25rem; + } + + .g-lg-1, +.gy-lg-1 { + --bs-gutter-y: 0.25rem; + } + + .g-lg-2, +.gx-lg-2 { + --bs-gutter-x: 0.5rem; + } + + .g-lg-2, +.gy-lg-2 { + --bs-gutter-y: 0.5rem; + } + + .g-lg-3, +.gx-lg-3 { + --bs-gutter-x: 1rem; + } + + .g-lg-3, +.gy-lg-3 { + --bs-gutter-y: 1rem; + } + + .g-lg-4, +.gx-lg-4 { + --bs-gutter-x: 1.5rem; + } + + .g-lg-4, +.gy-lg-4 { + --bs-gutter-y: 1.5rem; + } + + .g-lg-5, +.gx-lg-5 { + --bs-gutter-x: 3rem; + } + + .g-lg-5, +.gy-lg-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 1200px) { + .col-xl { + flex: 1 0 0%; + } + + .row-cols-xl-auto > * { + flex: 0 0 auto; + width: auto; + } + + .row-cols-xl-1 > * { + flex: 0 0 auto; + width: 100%; + } + + .row-cols-xl-2 > * { + flex: 0 0 auto; + width: 50%; + } + + .row-cols-xl-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + + .row-cols-xl-4 > * { + flex: 0 0 auto; + width: 25%; + } + + .row-cols-xl-5 > * { + flex: 0 0 auto; + width: 20%; + } + + .row-cols-xl-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + + .col-xl-auto { + flex: 0 0 auto; + width: auto; + } + + .col-xl-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + + .col-xl-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + + .col-xl-3 { + flex: 0 0 auto; + width: 25%; + } + + .col-xl-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + + .col-xl-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + + .col-xl-6 { + flex: 0 0 auto; + width: 50%; + } + + .col-xl-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + + .col-xl-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + + .col-xl-9 { + flex: 0 0 auto; + width: 75%; + } + + .col-xl-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + + .col-xl-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + + .col-xl-12 { + flex: 0 0 auto; + width: 100%; + } + + .offset-xl-0 { + margin-left: 0; + } + + .offset-xl-1 { + margin-left: 8.33333333%; + } + + .offset-xl-2 { + margin-left: 16.66666667%; + } + + .offset-xl-3 { + margin-left: 25%; + } + + .offset-xl-4 { + margin-left: 33.33333333%; + } + + .offset-xl-5 { + margin-left: 41.66666667%; + } + + .offset-xl-6 { + margin-left: 50%; + } + + .offset-xl-7 { + margin-left: 58.33333333%; + } + + .offset-xl-8 { + margin-left: 66.66666667%; + } + + .offset-xl-9 { + margin-left: 75%; + } + + .offset-xl-10 { + margin-left: 83.33333333%; + } + + .offset-xl-11 { + margin-left: 91.66666667%; + } + + .g-xl-0, +.gx-xl-0 { + --bs-gutter-x: 0; + } + + .g-xl-0, +.gy-xl-0 { + --bs-gutter-y: 0; + } + + .g-xl-1, +.gx-xl-1 { + --bs-gutter-x: 0.25rem; + } + + .g-xl-1, +.gy-xl-1 { + --bs-gutter-y: 0.25rem; + } + + .g-xl-2, +.gx-xl-2 { + --bs-gutter-x: 0.5rem; + } + + .g-xl-2, +.gy-xl-2 { + --bs-gutter-y: 0.5rem; + } + + .g-xl-3, +.gx-xl-3 { + --bs-gutter-x: 1rem; + } + + .g-xl-3, +.gy-xl-3 { + --bs-gutter-y: 1rem; + } + + .g-xl-4, +.gx-xl-4 { + --bs-gutter-x: 1.5rem; + } + + .g-xl-4, +.gy-xl-4 { + --bs-gutter-y: 1.5rem; + } + + .g-xl-5, +.gx-xl-5 { + --bs-gutter-x: 3rem; + } + + .g-xl-5, +.gy-xl-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 1400px) { + .col-xxl { + flex: 1 0 0%; + } + + .row-cols-xxl-auto > * { + flex: 0 0 auto; + width: auto; + } + + .row-cols-xxl-1 > * { + flex: 0 0 auto; + width: 100%; + } + + .row-cols-xxl-2 > * { + flex: 0 0 auto; + width: 50%; + } + + .row-cols-xxl-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + + .row-cols-xxl-4 > * { + flex: 0 0 auto; + width: 25%; + } + + .row-cols-xxl-5 > * { + flex: 0 0 auto; + width: 20%; + } + + .row-cols-xxl-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + + .col-xxl-auto { + flex: 0 0 auto; + width: auto; + } + + .col-xxl-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + + .col-xxl-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + + .col-xxl-3 { + flex: 0 0 auto; + width: 25%; + } + + .col-xxl-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + + .col-xxl-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + + .col-xxl-6 { + flex: 0 0 auto; + width: 50%; + } + + .col-xxl-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + + .col-xxl-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + + .col-xxl-9 { + flex: 0 0 auto; + width: 75%; + } + + .col-xxl-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + + .col-xxl-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + + .col-xxl-12 { + flex: 0 0 auto; + width: 100%; + } + + .offset-xxl-0 { + margin-left: 0; + } + + .offset-xxl-1 { + margin-left: 8.33333333%; + } + + .offset-xxl-2 { + margin-left: 16.66666667%; + } + + .offset-xxl-3 { + margin-left: 25%; + } + + .offset-xxl-4 { + margin-left: 33.33333333%; + } + + .offset-xxl-5 { + margin-left: 41.66666667%; + } + + .offset-xxl-6 { + margin-left: 50%; + } + + .offset-xxl-7 { + margin-left: 58.33333333%; + } + + .offset-xxl-8 { + margin-left: 66.66666667%; + } + + .offset-xxl-9 { + margin-left: 75%; + } + + .offset-xxl-10 { + margin-left: 83.33333333%; + } + + .offset-xxl-11 { + margin-left: 91.66666667%; + } + + .g-xxl-0, +.gx-xxl-0 { + --bs-gutter-x: 0; + } + + .g-xxl-0, +.gy-xxl-0 { + --bs-gutter-y: 0; + } + + .g-xxl-1, +.gx-xxl-1 { + --bs-gutter-x: 0.25rem; + } + + .g-xxl-1, +.gy-xxl-1 { + --bs-gutter-y: 0.25rem; + } + + .g-xxl-2, +.gx-xxl-2 { + --bs-gutter-x: 0.5rem; + } + + .g-xxl-2, +.gy-xxl-2 { + --bs-gutter-y: 0.5rem; + } + + .g-xxl-3, +.gx-xxl-3 { + --bs-gutter-x: 1rem; + } + + .g-xxl-3, +.gy-xxl-3 { + --bs-gutter-y: 1rem; + } + + .g-xxl-4, +.gx-xxl-4 { + --bs-gutter-x: 1.5rem; + } + + .g-xxl-4, +.gy-xxl-4 { + --bs-gutter-y: 1.5rem; + } + + .g-xxl-5, +.gx-xxl-5 { + --bs-gutter-x: 3rem; + } + + .g-xxl-5, +.gy-xxl-5 { + --bs-gutter-y: 3rem; + } +} +.table { + --bs-table-bg: transparent; + --bs-table-accent-bg: transparent; + --bs-table-striped-color: #212529; + --bs-table-striped-bg: rgba(0, 0, 0, 0.05); + --bs-table-active-color: #212529; + --bs-table-active-bg: rgba(0, 0, 0, 0.1); + --bs-table-hover-color: #212529; + --bs-table-hover-bg: rgba(0, 0, 0, 0.075); + width: 100%; + margin-bottom: 1rem; + color: #212529; + vertical-align: top; + border-color: #dee2e6; +} +.table > :not(caption) > * > * { + padding: 0.5rem 0.5rem; + background-color: var(--bs-table-bg); + border-bottom-width: 1px; + box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg); +} +.table > tbody { + vertical-align: inherit; +} +.table > thead { + vertical-align: bottom; +} +.table > :not(:last-child) > :last-child > * { + border-bottom-color: currentColor; +} + +.caption-top { + caption-side: top; +} + +.table-sm > :not(caption) > * > * { + padding: 0.25rem 0.25rem; +} + +.table-bordered > :not(caption) > * { + border-width: 1px 0; +} +.table-bordered > :not(caption) > * > * { + border-width: 0 1px; +} + +.table-borderless > :not(caption) > * > * { + border-bottom-width: 0; +} + +.table-striped > tbody > tr:nth-of-type(odd) { + --bs-table-accent-bg: var(--bs-table-striped-bg); + color: var(--bs-table-striped-color); +} + +.table-active { + --bs-table-accent-bg: var(--bs-table-active-bg); + color: var(--bs-table-active-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-bg: #cfe2ff; + --bs-table-striped-bg: #c5d7f2; + --bs-table-striped-color: #000; + --bs-table-active-bg: #bacbe6; + --bs-table-active-color: #000; + --bs-table-hover-bg: #bfd1ec; + --bs-table-hover-color: #000; + color: #000; + border-color: #bacbe6; +} + +.table-secondary { + --bs-table-bg: #e2e3e5; + --bs-table-striped-bg: #d7d8da; + --bs-table-striped-color: #000; + --bs-table-active-bg: #cbccce; + --bs-table-active-color: #000; + --bs-table-hover-bg: #d1d2d4; + --bs-table-hover-color: #000; + color: #000; + border-color: #cbccce; +} + +.table-success { + --bs-table-bg: #d1e7dd; + --bs-table-striped-bg: #c7dbd2; + --bs-table-striped-color: #000; + --bs-table-active-bg: #bcd0c7; + --bs-table-active-color: #000; + --bs-table-hover-bg: #c1d6cc; + --bs-table-hover-color: #000; + color: #000; + border-color: #bcd0c7; +} + +.table-info { + --bs-table-bg: #cff4fc; + --bs-table-striped-bg: #c5e8ef; + --bs-table-striped-color: #000; + --bs-table-active-bg: #badce3; + --bs-table-active-color: #000; + --bs-table-hover-bg: #bfe2e9; + --bs-table-hover-color: #000; + color: #000; + border-color: #badce3; +} + +.table-warning { + --bs-table-bg: #fff3cd; + --bs-table-striped-bg: #f2e7c3; + --bs-table-striped-color: #000; + --bs-table-active-bg: #e6dbb9; + --bs-table-active-color: #000; + --bs-table-hover-bg: #ece1be; + --bs-table-hover-color: #000; + color: #000; + border-color: #e6dbb9; +} + +.table-danger { + --bs-table-bg: #f8d7da; + --bs-table-striped-bg: #eccccf; + --bs-table-striped-color: #000; + --bs-table-active-bg: #dfc2c4; + --bs-table-active-color: #000; + --bs-table-hover-bg: #e5c7ca; + --bs-table-hover-color: #000; + color: #000; + border-color: #dfc2c4; +} + +.table-light { + --bs-table-bg: #f8f9fa; + --bs-table-striped-bg: #ecedee; + --bs-table-striped-color: #000; + --bs-table-active-bg: #dfe0e1; + --bs-table-active-color: #000; + --bs-table-hover-bg: #e5e6e7; + --bs-table-hover-color: #000; + color: #000; + border-color: #dfe0e1; +} + +.table-dark { + --bs-table-bg: #212529; + --bs-table-striped-bg: #2c3034; + --bs-table-striped-color: #fff; + --bs-table-active-bg: #373b3e; + --bs-table-active-color: #fff; + --bs-table-hover-bg: #323539; + --bs-table-hover-color: #fff; + color: #fff; + border-color: #373b3e; +} + +.table-responsive { + overflow-x: auto; + -webkit-overflow-scrolling: touch; +} + +@media (max-width: 575.98px) { + .table-responsive-sm { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 767.98px) { + .table-responsive-md { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 991.98px) { + .table-responsive-lg { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 1199.98px) { + .table-responsive-xl { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 1399.98px) { + .table-responsive-xxl { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +.form-label { + margin-bottom: 0.5rem; +} + +.col-form-label { + padding-top: calc(0.375rem + 1px); + padding-bottom: calc(0.375rem + 1px); + margin-bottom: 0; + font-size: inherit; + line-height: 1.5; +} + +.col-form-label-lg { + padding-top: calc(0.5rem + 1px); + padding-bottom: calc(0.5rem + 1px); + font-size: 1.25rem; +} + +.col-form-label-sm { + padding-top: calc(0.25rem + 1px); + padding-bottom: calc(0.25rem + 1px); + font-size: 0.875rem; +} + +.form-text { + margin-top: 0.25rem; + font-size: 0.875em; + color: #6c757d; +} + +.form-control { + display: block; + width: 100%; + padding: 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #ced4da; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + border-radius: 0.25rem; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@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 { + color: #212529; + background-color: #fff; + border-color: #86b7fe; + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} +.form-control::-webkit-date-and-time-value { + height: 1.5em; +} +.form-control::-moz-placeholder { + color: #6c757d; + opacity: 1; +} +.form-control::placeholder { + color: #6c757d; + opacity: 1; +} +.form-control:disabled, .form-control[readonly] { + background-color: #e9ecef; + opacity: 1; +} +.form-control::file-selector-button { + padding: 0.375rem 0.75rem; + margin: -0.375rem -0.75rem; + -webkit-margin-end: 0.75rem; + margin-inline-end: 0.75rem; + color: #212529; + background-color: #e9ecef; + pointer-events: none; + border-color: inherit; + border-style: solid; + border-width: 0; + border-inline-end-width: 1px; + border-radius: 0; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.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: #dde0e3; +} +.form-control::-webkit-file-upload-button { + padding: 0.375rem 0.75rem; + margin: -0.375rem -0.75rem; + -webkit-margin-end: 0.75rem; + margin-inline-end: 0.75rem; + color: #212529; + background-color: #e9ecef; + pointer-events: none; + border-color: inherit; + border-style: solid; + border-width: 0; + border-inline-end-width: 1px; + border-radius: 0; + -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-control::-webkit-file-upload-button { + -webkit-transition: none; + transition: none; + } +} +.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button { + background-color: #dde0e3; +} + +.form-control-plaintext { + display: block; + width: 100%; + padding: 0.375rem 0; + margin-bottom: 0; + line-height: 1.5; + color: #212529; + background-color: transparent; + border: solid transparent; + border-width: 1px 0; +} +.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg { + padding-right: 0; + padding-left: 0; +} + +.form-control-sm { + min-height: calc(1.5em + 0.5rem + 2px); + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + border-radius: 0.2rem; +} +.form-control-sm::file-selector-button { + padding: 0.25rem 0.5rem; + margin: -0.25rem -0.5rem; + -webkit-margin-end: 0.5rem; + margin-inline-end: 0.5rem; +} +.form-control-sm::-webkit-file-upload-button { + padding: 0.25rem 0.5rem; + margin: -0.25rem -0.5rem; + -webkit-margin-end: 0.5rem; + margin-inline-end: 0.5rem; +} + +.form-control-lg { + min-height: calc(1.5em + 1rem + 2px); + padding: 0.5rem 1rem; + font-size: 1.25rem; + border-radius: 0.3rem; +} +.form-control-lg::file-selector-button { + padding: 0.5rem 1rem; + margin: -0.5rem -1rem; + -webkit-margin-end: 1rem; + margin-inline-end: 1rem; +} +.form-control-lg::-webkit-file-upload-button { + padding: 0.5rem 1rem; + margin: -0.5rem -1rem; + -webkit-margin-end: 1rem; + margin-inline-end: 1rem; +} + +textarea.form-control { + min-height: calc(1.5em + 0.75rem + 2px); +} +textarea.form-control-sm { + min-height: calc(1.5em + 0.5rem + 2px); +} +textarea.form-control-lg { + min-height: calc(1.5em + 1rem + 2px); +} + +.form-control-color { + width: 3rem; + height: auto; + padding: 0.375rem; +} +.form-control-color:not(:disabled):not([readonly]) { + cursor: pointer; +} +.form-control-color::-moz-color-swatch { + height: 1.5em; + border-radius: 0.25rem; +} +.form-control-color::-webkit-color-swatch { + height: 1.5em; + border-radius: 0.25rem; +} + +.form-select { + display: block; + width: 100%; + padding: 0.375rem 2.25rem 0.375rem 0.75rem; + -moz-padding-start: calc(0.75rem - 3px); + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + background-color: #fff; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right 0.75rem center; + background-size: 16px 12px; + border: 1px solid #ced4da; + border-radius: 0.25rem; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} +@media (prefers-reduced-motion: reduce) { + .form-select { + transition: none; + } +} +.form-select:focus { + border-color: #86b7fe; + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} +.form-select[multiple], .form-select[size]:not([size="1"]) { + padding-right: 0.75rem; + background-image: none; +} +.form-select:disabled { + background-color: #e9ecef; +} +.form-select:-moz-focusring { + color: transparent; + text-shadow: 0 0 0 #212529; +} + +.form-select-sm { + padding-top: 0.25rem; + padding-bottom: 0.25rem; + padding-left: 0.5rem; + font-size: 0.875rem; +} + +.form-select-lg { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + padding-left: 1rem; + font-size: 1.25rem; +} + +.form-check { + display: block; + min-height: 1.5rem; + padding-left: 1.5em; + margin-bottom: 0.125rem; +} +.form-check .form-check-input { + float: left; + margin-left: -1.5em; +} + +.form-check-input { + width: 1em; + height: 1em; + margin-top: 0.25em; + vertical-align: top; + background-color: #fff; + background-repeat: no-repeat; + background-position: center; + background-size: contain; + border: 1px solid rgba(0, 0, 0, 0.25); + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + -webkit-print-color-adjust: exact; + color-adjust: exact; +} +.form-check-input[type=checkbox] { + border-radius: 0.25em; +} +.form-check-input[type=radio] { + border-radius: 50%; +} +.form-check-input:active { + filter: brightness(90%); +} +.form-check-input:focus { + border-color: #86b7fe; + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} +.form-check-input:checked { + background-color: #0d6efd; + border-color: #0d6efd; +} +.form-check-input:checked[type=checkbox] { + background-image: url("data:image/svg+xml,%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 10l3 3l6-6'/%3e%3c/svg%3e"); +} +.form-check-input:checked[type=radio] { + background-image: url("data:image/svg+xml,%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: #0d6efd; + border-color: #0d6efd; + background-image: url("data:image/svg+xml,%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"); +} +.form-check-input:disabled { + pointer-events: none; + filter: none; + opacity: 0.5; +} +.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label { + opacity: 0.5; +} + +.form-switch { + padding-left: 2.5em; +} +.form-switch .form-check-input { + width: 2em; + margin-left: -2.5em; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e"); + background-position: left center; + border-radius: 2em; + transition: background-position 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-switch .form-check-input { + transition: none; + } +} +.form-switch .form-check-input:focus { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e"); +} +.form-switch .form-check-input:checked { + background-position: right center; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); +} + +.form-check-inline { + display: inline-block; + margin-right: 1rem; +} + +.btn-check { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} +.btn-check[disabled] + .btn, .btn-check:disabled + .btn { + pointer-events: none; + filter: none; + opacity: 0.65; +} + +.form-range { + width: 100%; + height: 1.5rem; + padding: 0; + background-color: transparent; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} +.form-range:focus { + outline: 0; +} +.form-range:focus::-webkit-slider-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} +.form-range:focus::-moz-range-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} +.form-range::-moz-focus-outer { + border: 0; +} +.form-range::-webkit-slider-thumb { + width: 1rem; + height: 1rem; + margin-top: -0.25rem; + background-color: #0d6efd; + border: 0; + border-radius: 1rem; + -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -webkit-appearance: none; + appearance: none; +} +@media (prefers-reduced-motion: reduce) { + .form-range::-webkit-slider-thumb { + -webkit-transition: none; + transition: none; + } +} +.form-range::-webkit-slider-thumb:active { + background-color: #b6d4fe; +} +.form-range::-webkit-slider-runnable-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dee2e6; + border-color: transparent; + border-radius: 1rem; +} +.form-range::-moz-range-thumb { + width: 1rem; + height: 1rem; + background-color: #0d6efd; + border: 0; + border-radius: 1rem; + -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -moz-appearance: none; + appearance: none; +} +@media (prefers-reduced-motion: reduce) { + .form-range::-moz-range-thumb { + -moz-transition: none; + transition: none; + } +} +.form-range::-moz-range-thumb:active { + background-color: #b6d4fe; +} +.form-range::-moz-range-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dee2e6; + border-color: transparent; + border-radius: 1rem; +} +.form-range:disabled { + pointer-events: none; +} +.form-range:disabled::-webkit-slider-thumb { + background-color: #adb5bd; +} +.form-range:disabled::-moz-range-thumb { + background-color: #adb5bd; +} + +.form-floating { + position: relative; +} +.form-floating > .form-control, +.form-floating > .form-select { + height: calc(3.5rem + 2px); + line-height: 1.25; +} +.form-floating > label { + position: absolute; + top: 0; + left: 0; + height: 100%; + padding: 1rem 0.75rem; + pointer-events: none; + border: 1px solid transparent; + transform-origin: 0 0; + transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-floating > label { + transition: none; + } +} +.form-floating > .form-control { + padding: 1rem 0.75rem; +} +.form-floating > .form-control::-moz-placeholder { + color: transparent; +} +.form-floating > .form-control::placeholder { + color: transparent; +} +.form-floating > .form-control:not(:-moz-placeholder-shown) { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown) { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-control:-webkit-autofill { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-select { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-control:not(:-moz-placeholder-shown) ~ label { + opacity: 0.65; + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); +} +.form-floating > .form-control:focus ~ label, +.form-floating > .form-control:not(:placeholder-shown) ~ label, +.form-floating > .form-select ~ label { + opacity: 0.65; + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); +} +.form-floating > .form-control:-webkit-autofill ~ label { + opacity: 0.65; + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); +} + +.input-group { + position: relative; + display: flex; + flex-wrap: wrap; + align-items: stretch; + width: 100%; +} +.input-group > .form-control, +.input-group > .form-select { + position: relative; + flex: 1 1 auto; + width: 1%; + min-width: 0; +} +.input-group > .form-control:focus, +.input-group > .form-select:focus { + z-index: 3; +} +.input-group .btn { + position: relative; + z-index: 2; +} +.input-group .btn:focus { + z-index: 3; +} + +.input-group-text { + display: flex; + align-items: center; + padding: 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + text-align: center; + white-space: nowrap; + background-color: #e9ecef; + border: 1px solid #ced4da; + border-radius: 0.25rem; +} + +.input-group-lg > .form-control, +.input-group-lg > .form-select, +.input-group-lg > .input-group-text, +.input-group-lg > .btn { + padding: 0.5rem 1rem; + font-size: 1.25rem; + border-radius: 0.3rem; +} + +.input-group-sm > .form-control, +.input-group-sm > .form-select, +.input-group-sm > .input-group-text, +.input-group-sm > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + border-radius: 0.2rem; +} + +.input-group-lg > .form-select, +.input-group-sm > .form-select { + padding-right: 3rem; +} + +.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu), +.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu), +.input-group.has-validation > .dropdown-toggle:nth-last-child(n+4) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) { + margin-left: -1px; + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.valid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 0.875em; + color: #198754; +} + +.valid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: 0.1rem; + font-size: 0.875rem; + color: #fff; + background-color: rgba(25, 135, 84, 0.9); + border-radius: 0.25rem; +} + +.was-validated :valid ~ .valid-feedback, +.was-validated :valid ~ .valid-tooltip, +.is-valid ~ .valid-feedback, +.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated .form-control:valid, .form-control.is-valid { + border-color: #198754; + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right calc(0.375em + 0.1875rem) center; + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} +.was-validated .form-control:valid:focus, .form-control.is-valid:focus { + border-color: #198754; + box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25); +} + +.was-validated textarea.form-control:valid, textarea.form-control.is-valid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); +} + +.was-validated .form-select:valid, .form-select.is-valid { + border-color: #198754; +} +.was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size="1"] { + padding-right: 4.125rem; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); + background-position: right 0.75rem center, center right 2.25rem; + background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} +.was-validated .form-select:valid:focus, .form-select.is-valid:focus { + border-color: #198754; + box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25); +} + +.was-validated .form-check-input:valid, .form-check-input.is-valid { + border-color: #198754; +} +.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked { + background-color: #198754; +} +.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus { + box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25); +} +.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { + color: #198754; +} + +.form-check-inline .form-check-input ~ .valid-feedback { + margin-left: 0.5em; +} + +.was-validated .input-group .form-control:valid, .input-group .form-control.is-valid, +.was-validated .input-group .form-select:valid, +.input-group .form-select.is-valid { + z-index: 1; +} +.was-validated .input-group .form-control:valid:focus, .input-group .form-control.is-valid:focus, +.was-validated .input-group .form-select:valid:focus, +.input-group .form-select.is-valid:focus { + z-index: 3; +} + +.invalid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 0.875em; + color: #dc3545; +} + +.invalid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: 0.1rem; + font-size: 0.875rem; + color: #fff; + background-color: rgba(220, 53, 69, 0.9); + border-radius: 0.25rem; +} + +.was-validated :invalid ~ .invalid-feedback, +.was-validated :invalid ~ .invalid-tooltip, +.is-invalid ~ .invalid-feedback, +.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated .form-control:invalid, .form-control.is-invalid { + border-color: #dc3545; + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right calc(0.375em + 0.1875rem) center; + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} +.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus { + border-color: #dc3545; + box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25); +} + +.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); +} + +.was-validated .form-select:invalid, .form-select.is-invalid { + border-color: #dc3545; +} +.was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"] { + padding-right: 4.125rem; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e"); + background-position: right 0.75rem center, center right 2.25rem; + background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} +.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus { + border-color: #dc3545; + box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25); +} + +.was-validated .form-check-input:invalid, .form-check-input.is-invalid { + border-color: #dc3545; +} +.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked { + background-color: #dc3545; +} +.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus { + box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25); +} +.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { + color: #dc3545; +} + +.form-check-inline .form-check-input ~ .invalid-feedback { + margin-left: 0.5em; +} + +.was-validated .input-group .form-control:invalid, .input-group .form-control.is-invalid, +.was-validated .input-group .form-select:invalid, +.input-group .form-select.is-invalid { + z-index: 2; +} +.was-validated .input-group .form-control:invalid:focus, .input-group .form-control.is-invalid:focus, +.was-validated .input-group .form-select:invalid:focus, +.input-group .form-select.is-invalid:focus { + z-index: 3; +} + +.btn { + display: inline-block; + font-weight: 400; + line-height: 1.5; + color: #212529; + text-align: center; + text-decoration: none; + vertical-align: middle; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + background-color: transparent; + border: 1px solid transparent; + padding: 0.375rem 0.75rem; + font-size: 1rem; + border-radius: 0.25rem; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .btn { + transition: none; + } +} +.btn:hover { + color: #212529; +} +.btn-check:focus + .btn, .btn:focus { + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} +.btn:disabled, .btn.disabled, fieldset:disabled .btn { + pointer-events: none; + opacity: 0.65; +} + +.btn-primary { + color: #fff; + background-color: #0d6efd; + border-color: #0d6efd; +} +.btn-primary:hover { + color: #fff; + background-color: #0b5ed7; + border-color: #0a58ca; +} +.btn-check:focus + .btn-primary, .btn-primary:focus { + color: #fff; + background-color: #0b5ed7; + border-color: #0a58ca; + box-shadow: 0 0 0 0.25rem rgba(49, 132, 253, 0.5); +} +.btn-check:checked + .btn-primary, .btn-check:active + .btn-primary, .btn-primary:active, .btn-primary.active, .show > .btn-primary.dropdown-toggle { + color: #fff; + background-color: #0a58ca; + border-color: #0a53be; +} +.btn-check:checked + .btn-primary:focus, .btn-check:active + .btn-primary:focus, .btn-primary:active:focus, .btn-primary.active:focus, .show > .btn-primary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.25rem rgba(49, 132, 253, 0.5); +} +.btn-primary:disabled, .btn-primary.disabled { + color: #fff; + background-color: #0d6efd; + border-color: #0d6efd; +} + +.btn-secondary { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} +.btn-secondary:hover { + color: #fff; + background-color: #5c636a; + border-color: #565e64; +} +.btn-check:focus + .btn-secondary, .btn-secondary:focus { + color: #fff; + background-color: #5c636a; + border-color: #565e64; + box-shadow: 0 0 0 0.25rem rgba(130, 138, 145, 0.5); +} +.btn-check:checked + .btn-secondary, .btn-check:active + .btn-secondary, .btn-secondary:active, .btn-secondary.active, .show > .btn-secondary.dropdown-toggle { + color: #fff; + background-color: #565e64; + border-color: #51585e; +} +.btn-check:checked + .btn-secondary:focus, .btn-check:active + .btn-secondary:focus, .btn-secondary:active:focus, .btn-secondary.active:focus, .show > .btn-secondary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.25rem rgba(130, 138, 145, 0.5); +} +.btn-secondary:disabled, .btn-secondary.disabled { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +.btn-success { + color: #fff; + background-color: #198754; + border-color: #198754; +} +.btn-success:hover { + color: #fff; + background-color: #157347; + border-color: #146c43; +} +.btn-check:focus + .btn-success, .btn-success:focus { + color: #fff; + background-color: #157347; + border-color: #146c43; + box-shadow: 0 0 0 0.25rem rgba(60, 153, 110, 0.5); +} +.btn-check:checked + .btn-success, .btn-check:active + .btn-success, .btn-success:active, .btn-success.active, .show > .btn-success.dropdown-toggle { + color: #fff; + background-color: #146c43; + border-color: #13653f; +} +.btn-check:checked + .btn-success:focus, .btn-check:active + .btn-success:focus, .btn-success:active:focus, .btn-success.active:focus, .show > .btn-success.dropdown-toggle:focus { + box-shadow: 0 0 0 0.25rem rgba(60, 153, 110, 0.5); +} +.btn-success:disabled, .btn-success.disabled { + color: #fff; + background-color: #198754; + border-color: #198754; +} + +.btn-info { + color: #000; + background-color: #0dcaf0; + border-color: #0dcaf0; +} +.btn-info:hover { + color: #000; + background-color: #31d2f2; + border-color: #25cff2; +} +.btn-check:focus + .btn-info, .btn-info:focus { + color: #000; + background-color: #31d2f2; + border-color: #25cff2; + box-shadow: 0 0 0 0.25rem rgba(11, 172, 204, 0.5); +} +.btn-check:checked + .btn-info, .btn-check:active + .btn-info, .btn-info:active, .btn-info.active, .show > .btn-info.dropdown-toggle { + color: #000; + background-color: #3dd5f3; + border-color: #25cff2; +} +.btn-check:checked + .btn-info:focus, .btn-check:active + .btn-info:focus, .btn-info:active:focus, .btn-info.active:focus, .show > .btn-info.dropdown-toggle:focus { + box-shadow: 0 0 0 0.25rem rgba(11, 172, 204, 0.5); +} +.btn-info:disabled, .btn-info.disabled { + color: #000; + background-color: #0dcaf0; + border-color: #0dcaf0; +} + +.btn-warning { + color: #000; + background-color: #ffc107; + border-color: #ffc107; +} +.btn-warning:hover { + color: #000; + background-color: #ffca2c; + border-color: #ffc720; +} +.btn-check:focus + .btn-warning, .btn-warning:focus { + color: #000; + background-color: #ffca2c; + border-color: #ffc720; + box-shadow: 0 0 0 0.25rem rgba(217, 164, 6, 0.5); +} +.btn-check:checked + .btn-warning, .btn-check:active + .btn-warning, .btn-warning:active, .btn-warning.active, .show > .btn-warning.dropdown-toggle { + color: #000; + background-color: #ffcd39; + border-color: #ffc720; +} +.btn-check:checked + .btn-warning:focus, .btn-check:active + .btn-warning:focus, .btn-warning:active:focus, .btn-warning.active:focus, .show > .btn-warning.dropdown-toggle:focus { + box-shadow: 0 0 0 0.25rem rgba(217, 164, 6, 0.5); +} +.btn-warning:disabled, .btn-warning.disabled { + color: #000; + background-color: #ffc107; + border-color: #ffc107; +} + +.btn-danger { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} +.btn-danger:hover { + color: #fff; + background-color: #bb2d3b; + border-color: #b02a37; +} +.btn-check:focus + .btn-danger, .btn-danger:focus { + color: #fff; + background-color: #bb2d3b; + border-color: #b02a37; + box-shadow: 0 0 0 0.25rem rgba(225, 83, 97, 0.5); +} +.btn-check:checked + .btn-danger, .btn-check:active + .btn-danger, .btn-danger:active, .btn-danger.active, .show > .btn-danger.dropdown-toggle { + color: #fff; + background-color: #b02a37; + border-color: #a52834; +} +.btn-check:checked + .btn-danger:focus, .btn-check:active + .btn-danger:focus, .btn-danger:active:focus, .btn-danger.active:focus, .show > .btn-danger.dropdown-toggle:focus { + box-shadow: 0 0 0 0.25rem rgba(225, 83, 97, 0.5); +} +.btn-danger:disabled, .btn-danger.disabled { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +.btn-light { + color: #000; + background-color: #f8f9fa; + border-color: #f8f9fa; +} +.btn-light:hover { + color: #000; + background-color: #f9fafb; + border-color: #f9fafb; +} +.btn-check:focus + .btn-light, .btn-light:focus { + color: #000; + background-color: #f9fafb; + border-color: #f9fafb; + box-shadow: 0 0 0 0.25rem rgba(211, 212, 213, 0.5); +} +.btn-check:checked + .btn-light, .btn-check:active + .btn-light, .btn-light:active, .btn-light.active, .show > .btn-light.dropdown-toggle { + color: #000; + background-color: #f9fafb; + border-color: #f9fafb; +} +.btn-check:checked + .btn-light:focus, .btn-check:active + .btn-light:focus, .btn-light:active:focus, .btn-light.active:focus, .show > .btn-light.dropdown-toggle:focus { + box-shadow: 0 0 0 0.25rem rgba(211, 212, 213, 0.5); +} +.btn-light:disabled, .btn-light.disabled { + color: #000; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-dark { + color: #fff; + background-color: #212529; + border-color: #212529; +} +.btn-dark:hover { + color: #fff; + background-color: #1c1f23; + border-color: #1a1e21; +} +.btn-check:focus + .btn-dark, .btn-dark:focus { + color: #fff; + background-color: #1c1f23; + border-color: #1a1e21; + box-shadow: 0 0 0 0.25rem rgba(66, 70, 73, 0.5); +} +.btn-check:checked + .btn-dark, .btn-check:active + .btn-dark, .btn-dark:active, .btn-dark.active, .show > .btn-dark.dropdown-toggle { + color: #fff; + background-color: #1a1e21; + border-color: #191c1f; +} +.btn-check:checked + .btn-dark:focus, .btn-check:active + .btn-dark:focus, .btn-dark:active:focus, .btn-dark.active:focus, .show > .btn-dark.dropdown-toggle:focus { + box-shadow: 0 0 0 0.25rem rgba(66, 70, 73, 0.5); +} +.btn-dark:disabled, .btn-dark.disabled { + color: #fff; + background-color: #212529; + border-color: #212529; +} + +.btn-outline-primary { + color: #0d6efd; + border-color: #0d6efd; +} +.btn-outline-primary:hover { + color: #fff; + background-color: #0d6efd; + border-color: #0d6efd; +} +.btn-check:focus + .btn-outline-primary, .btn-outline-primary:focus { + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.5); +} +.btn-check:checked + .btn-outline-primary, .btn-check:active + .btn-outline-primary, .btn-outline-primary:active, .btn-outline-primary.active, .btn-outline-primary.dropdown-toggle.show { + color: #fff; + background-color: #0d6efd; + border-color: #0d6efd; +} +.btn-check:checked + .btn-outline-primary:focus, .btn-check:active + .btn-outline-primary:focus, .btn-outline-primary:active:focus, .btn-outline-primary.active:focus, .btn-outline-primary.dropdown-toggle.show:focus { + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.5); +} +.btn-outline-primary:disabled, .btn-outline-primary.disabled { + color: #0d6efd; + background-color: transparent; +} + +.btn-outline-secondary { + color: #6c757d; + border-color: #6c757d; +} +.btn-outline-secondary:hover { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} +.btn-check:focus + .btn-outline-secondary, .btn-outline-secondary:focus { + box-shadow: 0 0 0 0.25rem rgba(108, 117, 125, 0.5); +} +.btn-check:checked + .btn-outline-secondary, .btn-check:active + .btn-outline-secondary, .btn-outline-secondary:active, .btn-outline-secondary.active, .btn-outline-secondary.dropdown-toggle.show { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} +.btn-check:checked + .btn-outline-secondary:focus, .btn-check:active + .btn-outline-secondary:focus, .btn-outline-secondary:active:focus, .btn-outline-secondary.active:focus, .btn-outline-secondary.dropdown-toggle.show:focus { + box-shadow: 0 0 0 0.25rem rgba(108, 117, 125, 0.5); +} +.btn-outline-secondary:disabled, .btn-outline-secondary.disabled { + color: #6c757d; + background-color: transparent; +} + +.btn-outline-success { + color: #198754; + border-color: #198754; +} +.btn-outline-success:hover { + color: #fff; + background-color: #198754; + border-color: #198754; +} +.btn-check:focus + .btn-outline-success, .btn-outline-success:focus { + box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.5); +} +.btn-check:checked + .btn-outline-success, .btn-check:active + .btn-outline-success, .btn-outline-success:active, .btn-outline-success.active, .btn-outline-success.dropdown-toggle.show { + color: #fff; + background-color: #198754; + border-color: #198754; +} +.btn-check:checked + .btn-outline-success:focus, .btn-check:active + .btn-outline-success:focus, .btn-outline-success:active:focus, .btn-outline-success.active:focus, .btn-outline-success.dropdown-toggle.show:focus { + box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.5); +} +.btn-outline-success:disabled, .btn-outline-success.disabled { + color: #198754; + background-color: transparent; +} + +.btn-outline-info { + color: #0dcaf0; + border-color: #0dcaf0; +} +.btn-outline-info:hover { + color: #000; + background-color: #0dcaf0; + border-color: #0dcaf0; +} +.btn-check:focus + .btn-outline-info, .btn-outline-info:focus { + box-shadow: 0 0 0 0.25rem rgba(13, 202, 240, 0.5); +} +.btn-check:checked + .btn-outline-info, .btn-check:active + .btn-outline-info, .btn-outline-info:active, .btn-outline-info.active, .btn-outline-info.dropdown-toggle.show { + color: #000; + background-color: #0dcaf0; + border-color: #0dcaf0; +} +.btn-check:checked + .btn-outline-info:focus, .btn-check:active + .btn-outline-info:focus, .btn-outline-info:active:focus, .btn-outline-info.active:focus, .btn-outline-info.dropdown-toggle.show:focus { + box-shadow: 0 0 0 0.25rem rgba(13, 202, 240, 0.5); +} +.btn-outline-info:disabled, .btn-outline-info.disabled { + color: #0dcaf0; + background-color: transparent; +} + +.btn-outline-warning { + color: #ffc107; + border-color: #ffc107; +} +.btn-outline-warning:hover { + color: #000; + background-color: #ffc107; + border-color: #ffc107; +} +.btn-check:focus + .btn-outline-warning, .btn-outline-warning:focus { + box-shadow: 0 0 0 0.25rem rgba(255, 193, 7, 0.5); +} +.btn-check:checked + .btn-outline-warning, .btn-check:active + .btn-outline-warning, .btn-outline-warning:active, .btn-outline-warning.active, .btn-outline-warning.dropdown-toggle.show { + color: #000; + background-color: #ffc107; + border-color: #ffc107; +} +.btn-check:checked + .btn-outline-warning:focus, .btn-check:active + .btn-outline-warning:focus, .btn-outline-warning:active:focus, .btn-outline-warning.active:focus, .btn-outline-warning.dropdown-toggle.show:focus { + box-shadow: 0 0 0 0.25rem rgba(255, 193, 7, 0.5); +} +.btn-outline-warning:disabled, .btn-outline-warning.disabled { + color: #ffc107; + background-color: transparent; +} + +.btn-outline-danger { + color: #dc3545; + border-color: #dc3545; +} +.btn-outline-danger:hover { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} +.btn-check:focus + .btn-outline-danger, .btn-outline-danger:focus { + box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.5); +} +.btn-check:checked + .btn-outline-danger, .btn-check:active + .btn-outline-danger, .btn-outline-danger:active, .btn-outline-danger.active, .btn-outline-danger.dropdown-toggle.show { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} +.btn-check:checked + .btn-outline-danger:focus, .btn-check:active + .btn-outline-danger:focus, .btn-outline-danger:active:focus, .btn-outline-danger.active:focus, .btn-outline-danger.dropdown-toggle.show:focus { + box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.5); +} +.btn-outline-danger:disabled, .btn-outline-danger.disabled { + color: #dc3545; + background-color: transparent; +} + +.btn-outline-light { + color: #f8f9fa; + border-color: #f8f9fa; +} +.btn-outline-light:hover { + color: #000; + background-color: #f8f9fa; + border-color: #f8f9fa; +} +.btn-check:focus + .btn-outline-light, .btn-outline-light:focus { + box-shadow: 0 0 0 0.25rem rgba(248, 249, 250, 0.5); +} +.btn-check:checked + .btn-outline-light, .btn-check:active + .btn-outline-light, .btn-outline-light:active, .btn-outline-light.active, .btn-outline-light.dropdown-toggle.show { + color: #000; + background-color: #f8f9fa; + border-color: #f8f9fa; +} +.btn-check:checked + .btn-outline-light:focus, .btn-check:active + .btn-outline-light:focus, .btn-outline-light:active:focus, .btn-outline-light.active:focus, .btn-outline-light.dropdown-toggle.show:focus { + box-shadow: 0 0 0 0.25rem rgba(248, 249, 250, 0.5); +} +.btn-outline-light:disabled, .btn-outline-light.disabled { + color: #f8f9fa; + background-color: transparent; +} + +.btn-outline-dark { + color: #212529; + border-color: #212529; +} +.btn-outline-dark:hover { + color: #fff; + background-color: #212529; + border-color: #212529; +} +.btn-check:focus + .btn-outline-dark, .btn-outline-dark:focus { + box-shadow: 0 0 0 0.25rem rgba(33, 37, 41, 0.5); +} +.btn-check:checked + .btn-outline-dark, .btn-check:active + .btn-outline-dark, .btn-outline-dark:active, .btn-outline-dark.active, .btn-outline-dark.dropdown-toggle.show { + color: #fff; + background-color: #212529; + border-color: #212529; +} +.btn-check:checked + .btn-outline-dark:focus, .btn-check:active + .btn-outline-dark:focus, .btn-outline-dark:active:focus, .btn-outline-dark.active:focus, .btn-outline-dark.dropdown-toggle.show:focus { + box-shadow: 0 0 0 0.25rem rgba(33, 37, 41, 0.5); +} +.btn-outline-dark:disabled, .btn-outline-dark.disabled { + color: #212529; + background-color: transparent; +} + +.btn-link { + font-weight: 400; + color: #0d6efd; + text-decoration: underline; +} +.btn-link:hover { + color: #0a58ca; +} +.btn-link:disabled, .btn-link.disabled { + color: #6c757d; +} + +.btn-lg, .btn-group-lg > .btn { + padding: 0.5rem 1rem; + font-size: 1.25rem; + border-radius: 0.3rem; +} + +.btn-sm, .btn-group-sm > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + border-radius: 0.2rem; +} + +.fade { + transition: opacity 0.15s linear; +} +@media (prefers-reduced-motion: reduce) { + .fade { + transition: none; + } +} +.fade:not(.show) { + opacity: 0; +} + +.collapse:not(.show) { + display: none; +} + +.collapsing { + height: 0; + overflow: hidden; + transition: height 0.35s ease; +} +@media (prefers-reduced-motion: reduce) { + .collapsing { + transition: none; + } +} +.collapsing.collapse-horizontal { + width: 0; + height: auto; + transition: width 0.35s ease; +} +@media (prefers-reduced-motion: reduce) { + .collapsing.collapse-horizontal { + transition: none; + } +} + +.dropup, +.dropend, +.dropdown, +.dropstart { + position: relative; +} + +.dropdown-toggle { + white-space: nowrap; +} +.dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid; + border-right: 0.3em solid transparent; + border-bottom: 0; + border-left: 0.3em solid transparent; +} +.dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropdown-menu { + position: absolute; + z-index: 1000; + display: none; + min-width: 10rem; + padding: 0.5rem 0; + margin: 0; + font-size: 1rem; + color: #212529; + text-align: left; + list-style: none; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 0.25rem; +} +.dropdown-menu[data-bs-popper] { + top: 100%; + left: 0; + margin-top: 0.125rem; +} + +.dropdown-menu-start { + --bs-position: start; +} +.dropdown-menu-start[data-bs-popper] { + right: auto; + left: 0; +} + +.dropdown-menu-end { + --bs-position: end; +} +.dropdown-menu-end[data-bs-popper] { + right: 0; + left: auto; +} + +@media (min-width: 576px) { + .dropdown-menu-sm-start { + --bs-position: start; + } + .dropdown-menu-sm-start[data-bs-popper] { + right: auto; + left: 0; + } + + .dropdown-menu-sm-end { + --bs-position: end; + } + .dropdown-menu-sm-end[data-bs-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 768px) { + .dropdown-menu-md-start { + --bs-position: start; + } + .dropdown-menu-md-start[data-bs-popper] { + right: auto; + left: 0; + } + + .dropdown-menu-md-end { + --bs-position: end; + } + .dropdown-menu-md-end[data-bs-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 992px) { + .dropdown-menu-lg-start { + --bs-position: start; + } + .dropdown-menu-lg-start[data-bs-popper] { + right: auto; + left: 0; + } + + .dropdown-menu-lg-end { + --bs-position: end; + } + .dropdown-menu-lg-end[data-bs-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 1200px) { + .dropdown-menu-xl-start { + --bs-position: start; + } + .dropdown-menu-xl-start[data-bs-popper] { + right: auto; + left: 0; + } + + .dropdown-menu-xl-end { + --bs-position: end; + } + .dropdown-menu-xl-end[data-bs-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 1400px) { + .dropdown-menu-xxl-start { + --bs-position: start; + } + .dropdown-menu-xxl-start[data-bs-popper] { + right: auto; + left: 0; + } + + .dropdown-menu-xxl-end { + --bs-position: end; + } + .dropdown-menu-xxl-end[data-bs-popper] { + right: 0; + left: auto; + } +} +.dropup .dropdown-menu[data-bs-popper] { + top: auto; + bottom: 100%; + margin-top: 0; + margin-bottom: 0.125rem; +} +.dropup .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0; + border-right: 0.3em solid transparent; + border-bottom: 0.3em solid; + border-left: 0.3em solid transparent; +} +.dropup .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropend .dropdown-menu[data-bs-popper] { + top: 0; + right: auto; + left: 100%; + margin-top: 0; + margin-left: 0.125rem; +} +.dropend .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0; + border-bottom: 0.3em solid transparent; + border-left: 0.3em solid; +} +.dropend .dropdown-toggle:empty::after { + margin-left: 0; +} +.dropend .dropdown-toggle::after { + vertical-align: 0; +} + +.dropstart .dropdown-menu[data-bs-popper] { + top: 0; + right: 100%; + left: auto; + margin-top: 0; + margin-right: 0.125rem; +} +.dropstart .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; +} +.dropstart .dropdown-toggle::after { + display: none; +} +.dropstart .dropdown-toggle::before { + display: inline-block; + margin-right: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0.3em solid; + border-bottom: 0.3em solid transparent; +} +.dropstart .dropdown-toggle:empty::after { + margin-left: 0; +} +.dropstart .dropdown-toggle::before { + vertical-align: 0; +} + +.dropdown-divider { + height: 0; + margin: 0.5rem 0; + overflow: hidden; + border-top: 1px solid rgba(0, 0, 0, 0.15); +} + +.dropdown-item { + display: block; + width: 100%; + padding: 0.25rem 1rem; + clear: both; + font-weight: 400; + color: #212529; + text-align: inherit; + text-decoration: none; + white-space: nowrap; + background-color: transparent; + border: 0; +} +.dropdown-item:hover, .dropdown-item:focus { + color: #1e2125; + background-color: #e9ecef; +} +.dropdown-item.active, .dropdown-item:active { + color: #fff; + text-decoration: none; + background-color: #0d6efd; +} +.dropdown-item.disabled, .dropdown-item:disabled { + color: #adb5bd; + pointer-events: none; + background-color: transparent; +} + +.dropdown-menu.show { + display: block; +} + +.dropdown-header { + display: block; + padding: 0.5rem 1rem; + margin-bottom: 0; + font-size: 0.875rem; + color: #6c757d; + white-space: nowrap; +} + +.dropdown-item-text { + display: block; + padding: 0.25rem 1rem; + color: #212529; +} + +.dropdown-menu-dark { + color: #dee2e6; + background-color: #343a40; + border-color: rgba(0, 0, 0, 0.15); +} +.dropdown-menu-dark .dropdown-item { + color: #dee2e6; +} +.dropdown-menu-dark .dropdown-item:hover, .dropdown-menu-dark .dropdown-item:focus { + color: #fff; + background-color: rgba(255, 255, 255, 0.15); +} +.dropdown-menu-dark .dropdown-item.active, .dropdown-menu-dark .dropdown-item:active { + color: #fff; + background-color: #0d6efd; +} +.dropdown-menu-dark .dropdown-item.disabled, .dropdown-menu-dark .dropdown-item:disabled { + color: #adb5bd; +} +.dropdown-menu-dark .dropdown-divider { + border-color: rgba(0, 0, 0, 0.15); +} +.dropdown-menu-dark .dropdown-item-text { + color: #dee2e6; +} +.dropdown-menu-dark .dropdown-header { + color: #adb5bd; +} + +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-flex; + vertical-align: middle; +} +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + flex: 1 1 auto; +} +.btn-group > .btn-check:checked + .btn, +.btn-group > .btn-check:focus + .btn, +.btn-group > .btn:hover, +.btn-group > .btn:focus, +.btn-group > .btn:active, +.btn-group > .btn.active, +.btn-group-vertical > .btn-check:checked + .btn, +.btn-group-vertical > .btn-check:focus + .btn, +.btn-group-vertical > .btn:hover, +.btn-group-vertical > .btn:focus, +.btn-group-vertical > .btn:active, +.btn-group-vertical > .btn.active { + z-index: 1; +} + +.btn-toolbar { + display: flex; + flex-wrap: wrap; + justify-content: flex-start; +} +.btn-toolbar .input-group { + width: auto; +} + +.btn-group > .btn:not(:first-child), +.btn-group > .btn-group:not(:first-child) { + margin-left: -1px; +} +.btn-group > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group > .btn-group:not(:last-child) > .btn { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.btn-group > .btn:nth-child(n+3), +.btn-group > :not(.btn-check) + .btn, +.btn-group > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.dropdown-toggle-split { + padding-right: 0.5625rem; + padding-left: 0.5625rem; +} +.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after { + margin-left: 0; +} +.dropstart .dropdown-toggle-split::before { + margin-right: 0; +} + +.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split { + padding-right: 0.375rem; + padding-left: 0.375rem; +} + +.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split { + padding-right: 0.75rem; + padding-left: 0.75rem; +} + +.btn-group-vertical { + flex-direction: column; + align-items: flex-start; + justify-content: center; +} +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group { + width: 100%; +} +.btn-group-vertical > .btn:not(:first-child), +.btn-group-vertical > .btn-group:not(:first-child) { + margin-top: -1px; +} +.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group-vertical > .btn-group:not(:last-child) > .btn { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn ~ .btn, +.btn-group-vertical > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.nav { + display: flex; + flex-wrap: wrap; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.nav-link { + display: block; + padding: 0.5rem 1rem; + color: #0d6efd; + text-decoration: none; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .nav-link { + transition: none; + } +} +.nav-link:hover, .nav-link:focus { + color: #0a58ca; +} +.nav-link.disabled { + color: #6c757d; + pointer-events: none; + cursor: default; +} + +.nav-tabs { + border-bottom: 1px solid #dee2e6; +} +.nav-tabs .nav-link { + margin-bottom: -1px; + background: none; + border: 1px solid transparent; + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} +.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { + border-color: #e9ecef #e9ecef #dee2e6; + isolation: isolate; +} +.nav-tabs .nav-link.disabled { + color: #6c757d; + background-color: transparent; + border-color: transparent; +} +.nav-tabs .nav-link.active, +.nav-tabs .nav-item.show .nav-link { + color: #495057; + background-color: #fff; + border-color: #dee2e6 #dee2e6 #fff; +} +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.nav-pills .nav-link { + background: none; + border: 0; + border-radius: 0.25rem; +} +.nav-pills .nav-link.active, +.nav-pills .show > .nav-link { + color: #fff; + background-color: #0d6efd; +} + +.nav-fill > .nav-link, +.nav-fill .nav-item { + flex: 1 1 auto; + text-align: center; +} + +.nav-justified > .nav-link, +.nav-justified .nav-item { + flex-basis: 0; + flex-grow: 1; + text-align: center; +} + +.nav-fill .nav-item .nav-link, +.nav-justified .nav-item .nav-link { + width: 100%; +} + +.tab-content > .tab-pane { + display: none; +} +.tab-content > .active { + display: block; +} + +.navbar { + position: relative; + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: space-between; + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} +.navbar > .container, +.navbar > .container-fluid, +.navbar > .container-sm, +.navbar > .container-md, +.navbar > .container-lg, +.navbar > .container-xl, +.navbar > .container-xxl { + display: flex; + flex-wrap: inherit; + align-items: center; + justify-content: space-between; +} +.navbar-brand { + padding-top: 0.3125rem; + padding-bottom: 0.3125rem; + margin-right: 1rem; + font-size: 1.25rem; + text-decoration: none; + white-space: nowrap; +} +.navbar-nav { + display: flex; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} +.navbar-nav .nav-link { + padding-right: 0; + padding-left: 0; +} +.navbar-nav .dropdown-menu { + position: static; +} + +.navbar-text { + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} + +.navbar-collapse { + flex-basis: 100%; + flex-grow: 1; + align-items: center; +} + +.navbar-toggler { + padding: 0.25rem 0.75rem; + font-size: 1.25rem; + line-height: 1; + background-color: transparent; + border: 1px solid transparent; + border-radius: 0.25rem; + transition: box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .navbar-toggler { + transition: none; + } +} +.navbar-toggler:hover { + text-decoration: none; +} +.navbar-toggler:focus { + text-decoration: none; + outline: 0; + box-shadow: 0 0 0 0.25rem; +} + +.navbar-toggler-icon { + display: inline-block; + width: 1.5em; + height: 1.5em; + vertical-align: middle; + background-repeat: no-repeat; + background-position: center; + background-size: 100%; +} + +.navbar-nav-scroll { + max-height: var(--bs-scroll-height, 75vh); + overflow-y: auto; +} + +@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 .dropdown-menu { + position: absolute; + } + .navbar-expand-sm .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-sm .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-sm .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-sm .navbar-toggler { + display: none; + } + .navbar-expand-sm .offcanvas-header { + display: none; + } + .navbar-expand-sm .offcanvas { + position: inherit; + bottom: 0; + z-index: 1000; + flex-grow: 1; + visibility: visible !important; + background-color: transparent; + border-right: 0; + border-left: 0; + transition: none; + transform: none; + } + .navbar-expand-sm .offcanvas-top, +.navbar-expand-sm .offcanvas-bottom { + height: auto; + border-top: 0; + border-bottom: 0; + } + .navbar-expand-sm .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 768px) { + .navbar-expand-md { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-md .navbar-nav { + flex-direction: row; + } + .navbar-expand-md .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-md .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-md .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-md .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-md .navbar-toggler { + display: none; + } + .navbar-expand-md .offcanvas-header { + display: none; + } + .navbar-expand-md .offcanvas { + position: inherit; + bottom: 0; + z-index: 1000; + flex-grow: 1; + visibility: visible !important; + background-color: transparent; + border-right: 0; + border-left: 0; + transition: none; + transform: none; + } + .navbar-expand-md .offcanvas-top, +.navbar-expand-md .offcanvas-bottom { + height: auto; + border-top: 0; + border-bottom: 0; + } + .navbar-expand-md .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 992px) { + .navbar-expand-lg { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-lg .navbar-nav { + flex-direction: row; + } + .navbar-expand-lg .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-lg .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-lg .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-lg .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-lg .navbar-toggler { + display: none; + } + .navbar-expand-lg .offcanvas-header { + display: none; + } + .navbar-expand-lg .offcanvas { + position: inherit; + bottom: 0; + z-index: 1000; + flex-grow: 1; + visibility: visible !important; + background-color: transparent; + border-right: 0; + border-left: 0; + transition: none; + transform: none; + } + .navbar-expand-lg .offcanvas-top, +.navbar-expand-lg .offcanvas-bottom { + height: auto; + border-top: 0; + border-bottom: 0; + } + .navbar-expand-lg .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 1200px) { + .navbar-expand-xl { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-xl .navbar-nav { + flex-direction: row; + } + .navbar-expand-xl .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-xl .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-xl .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-xl .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-xl .navbar-toggler { + display: none; + } + .navbar-expand-xl .offcanvas-header { + display: none; + } + .navbar-expand-xl .offcanvas { + position: inherit; + bottom: 0; + z-index: 1000; + flex-grow: 1; + visibility: visible !important; + background-color: transparent; + border-right: 0; + border-left: 0; + transition: none; + transform: none; + } + .navbar-expand-xl .offcanvas-top, +.navbar-expand-xl .offcanvas-bottom { + height: auto; + border-top: 0; + border-bottom: 0; + } + .navbar-expand-xl .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 1400px) { + .navbar-expand-xxl { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-xxl .navbar-nav { + flex-direction: row; + } + .navbar-expand-xxl .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-xxl .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-xxl .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-xxl .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-xxl .navbar-toggler { + display: none; + } + .navbar-expand-xxl .offcanvas-header { + display: none; + } + .navbar-expand-xxl .offcanvas { + position: inherit; + bottom: 0; + z-index: 1000; + flex-grow: 1; + visibility: visible !important; + background-color: transparent; + border-right: 0; + border-left: 0; + transition: none; + transform: none; + } + .navbar-expand-xxl .offcanvas-top, +.navbar-expand-xxl .offcanvas-bottom { + height: auto; + border-top: 0; + border-bottom: 0; + } + .navbar-expand-xxl .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +.navbar-expand { + flex-wrap: nowrap; + justify-content: flex-start; +} +.navbar-expand .navbar-nav { + flex-direction: row; +} +.navbar-expand .navbar-nav .dropdown-menu { + position: absolute; +} +.navbar-expand .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; +} +.navbar-expand .navbar-nav-scroll { + overflow: visible; +} +.navbar-expand .navbar-collapse { + display: flex !important; + flex-basis: auto; +} +.navbar-expand .navbar-toggler { + display: none; +} +.navbar-expand .offcanvas-header { + display: none; +} +.navbar-expand .offcanvas { + position: inherit; + bottom: 0; + z-index: 1000; + flex-grow: 1; + visibility: visible !important; + background-color: transparent; + border-right: 0; + border-left: 0; + transition: none; + transform: none; +} +.navbar-expand .offcanvas-top, +.navbar-expand .offcanvas-bottom { + height: auto; + border-top: 0; + border-bottom: 0; +} +.navbar-expand .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; +} + +.navbar-light .navbar-brand { + color: rgba(0, 0, 0, 0.9); +} +.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus { + color: rgba(0, 0, 0, 0.9); +} +.navbar-light .navbar-nav .nav-link { + color: rgba(0, 0, 0, 0.55); +} +.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus { + color: rgba(0, 0, 0, 0.7); +} +.navbar-light .navbar-nav .nav-link.disabled { + color: rgba(0, 0, 0, 0.3); +} +.navbar-light .navbar-nav .show > .nav-link, +.navbar-light .navbar-nav .nav-link.active { + color: rgba(0, 0, 0, 0.9); +} +.navbar-light .navbar-toggler { + color: rgba(0, 0, 0, 0.55); + border-color: rgba(0, 0, 0, 0.1); +} +.navbar-light .navbar-toggler-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} +.navbar-light .navbar-text { + color: rgba(0, 0, 0, 0.55); +} +.navbar-light .navbar-text a, +.navbar-light .navbar-text a:hover, +.navbar-light .navbar-text a:focus { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-dark .navbar-brand { + color: #fff; +} +.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus { + color: #fff; +} +.navbar-dark .navbar-nav .nav-link { + color: rgba(255, 255, 255, 0.55); +} +.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus { + color: rgba(255, 255, 255, 0.75); +} +.navbar-dark .navbar-nav .nav-link.disabled { + color: rgba(255, 255, 255, 0.25); +} +.navbar-dark .navbar-nav .show > .nav-link, +.navbar-dark .navbar-nav .nav-link.active { + color: #fff; +} +.navbar-dark .navbar-toggler { + color: rgba(255, 255, 255, 0.55); + border-color: rgba(255, 255, 255, 0.1); +} +.navbar-dark .navbar-toggler-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} +.navbar-dark .navbar-text { + color: rgba(255, 255, 255, 0.55); +} +.navbar-dark .navbar-text a, +.navbar-dark .navbar-text a:hover, +.navbar-dark .navbar-text a:focus { + color: #fff; +} + +.card { + position: relative; + display: flex; + flex-direction: column; + min-width: 0; + word-wrap: break-word; + background-color: #fff; + background-clip: border-box; + border: 1px solid rgba(0, 0, 0, 0.125); + border-radius: 0.25rem; +} +.card > hr { + margin-right: 0; + margin-left: 0; +} +.card > .list-group { + border-top: inherit; + border-bottom: inherit; +} +.card > .list-group:first-child { + border-top-width: 0; + border-top-left-radius: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); +} +.card > .list-group:last-child { + border-bottom-width: 0; + border-bottom-right-radius: calc(0.25rem - 1px); + border-bottom-left-radius: calc(0.25rem - 1px); +} +.card > .card-header + .list-group, +.card > .list-group + .card-footer { + border-top: 0; +} + +.card-body { + flex: 1 1 auto; + padding: 1rem 1rem; +} + +.card-title { + margin-bottom: 0.5rem; +} + +.card-subtitle { + margin-top: -0.25rem; + margin-bottom: 0; +} + +.card-text:last-child { + margin-bottom: 0; +} + +.card-link + .card-link { + margin-left: 1rem; +} + +.card-header { + padding: 0.5rem 1rem; + margin-bottom: 0; + background-color: rgba(0, 0, 0, 0.03); + border-bottom: 1px solid rgba(0, 0, 0, 0.125); +} +.card-header:first-child { + border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; +} + +.card-footer { + padding: 0.5rem 1rem; + background-color: rgba(0, 0, 0, 0.03); + border-top: 1px solid rgba(0, 0, 0, 0.125); +} +.card-footer:last-child { + border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); +} + +.card-header-tabs { + margin-right: -0.5rem; + margin-bottom: -0.5rem; + margin-left: -0.5rem; + border-bottom: 0; +} + +.card-header-pills { + margin-right: -0.5rem; + margin-left: -0.5rem; +} + +.card-img-overlay { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + padding: 1rem; + border-radius: calc(0.25rem - 1px); +} + +.card-img, +.card-img-top, +.card-img-bottom { + width: 100%; +} + +.card-img, +.card-img-top { + border-top-left-radius: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); +} + +.card-img, +.card-img-bottom { + border-bottom-right-radius: calc(0.25rem - 1px); + border-bottom-left-radius: calc(0.25rem - 1px); +} + +.card-group > .card { + margin-bottom: 0.75rem; +} +@media (min-width: 576px) { + .card-group { + display: flex; + flex-flow: row wrap; + } + .card-group > .card { + flex: 1 0 0%; + margin-bottom: 0; + } + .card-group > .card + .card { + margin-left: 0; + border-left: 0; + } + .card-group > .card:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + .card-group > .card:not(:last-child) .card-img-top, +.card-group > .card:not(:last-child) .card-header { + border-top-right-radius: 0; + } + .card-group > .card:not(:last-child) .card-img-bottom, +.card-group > .card:not(:last-child) .card-footer { + border-bottom-right-radius: 0; + } + .card-group > .card:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + .card-group > .card:not(:first-child) .card-img-top, +.card-group > .card:not(:first-child) .card-header { + border-top-left-radius: 0; + } + .card-group > .card:not(:first-child) .card-img-bottom, +.card-group > .card:not(:first-child) .card-footer { + border-bottom-left-radius: 0; + } +} + +.accordion-button { + position: relative; + display: flex; + align-items: center; + width: 100%; + padding: 1rem 1.25rem; + font-size: 1rem; + color: #212529; + text-align: left; + background-color: #fff; + border: 0; + border-radius: 0; + overflow-anchor: none; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease; +} +@media (prefers-reduced-motion: reduce) { + .accordion-button { + transition: none; + } +} +.accordion-button:not(.collapsed) { + color: #0c63e4; + background-color: #e7f1ff; + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.125); +} +.accordion-button:not(.collapsed)::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); + transform: rotate(-180deg); +} +.accordion-button::after { + flex-shrink: 0; + width: 1.25rem; + height: 1.25rem; + margin-left: auto; + content: ""; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-size: 1.25rem; + transition: transform 0.2s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .accordion-button::after { + transition: none; + } +} +.accordion-button:hover { + z-index: 2; +} +.accordion-button:focus { + z-index: 3; + border-color: #86b7fe; + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} + +.accordion-header { + margin-bottom: 0; +} + +.accordion-item { + background-color: #fff; + border: 1px solid rgba(0, 0, 0, 0.125); +} +.accordion-item:first-of-type { + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} +.accordion-item:first-of-type .accordion-button { + border-top-left-radius: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); +} +.accordion-item:not(:first-of-type) { + border-top: 0; +} +.accordion-item:last-of-type { + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} +.accordion-item:last-of-type .accordion-button.collapsed { + border-bottom-right-radius: calc(0.25rem - 1px); + border-bottom-left-radius: calc(0.25rem - 1px); +} +.accordion-item:last-of-type .accordion-collapse { + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} + +.accordion-body { + padding: 1rem 1.25rem; +} + +.accordion-flush .accordion-collapse { + border-width: 0; +} +.accordion-flush .accordion-item { + border-right: 0; + border-left: 0; + border-radius: 0; +} +.accordion-flush .accordion-item:first-child { + border-top: 0; +} +.accordion-flush .accordion-item:last-child { + border-bottom: 0; +} +.accordion-flush .accordion-item .accordion-button { + border-radius: 0; +} + +.breadcrumb { + display: flex; + flex-wrap: wrap; + padding: 0 0; + margin-bottom: 1rem; + list-style: none; +} + +.breadcrumb-item + .breadcrumb-item { + padding-left: 0.5rem; +} +.breadcrumb-item + .breadcrumb-item::before { + float: left; + padding-right: 0.5rem; + color: #6c757d; + content: var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */; +} +.breadcrumb-item.active { + color: #6c757d; +} + +.pagination { + display: flex; + padding-left: 0; + list-style: none; +} + +.page-link { + position: relative; + display: block; + color: #0d6efd; + text-decoration: none; + background-color: #fff; + border: 1px solid #dee2e6; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .page-link { + transition: none; + } +} +.page-link:hover { + z-index: 2; + color: #0a58ca; + background-color: #e9ecef; + border-color: #dee2e6; +} +.page-link:focus { + z-index: 3; + color: #0a58ca; + background-color: #e9ecef; + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} + +.page-item:not(:first-child) .page-link { + margin-left: -1px; +} +.page-item.active .page-link { + z-index: 3; + color: #fff; + background-color: #0d6efd; + border-color: #0d6efd; +} +.page-item.disabled .page-link { + color: #6c757d; + pointer-events: none; + background-color: #fff; + border-color: #dee2e6; +} + +.page-link { + padding: 0.375rem 0.75rem; +} + +.page-item:first-child .page-link { + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} +.page-item:last-child .page-link { + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; +} + +.pagination-lg .page-link { + padding: 0.75rem 1.5rem; + font-size: 1.25rem; +} +.pagination-lg .page-item:first-child .page-link { + border-top-left-radius: 0.3rem; + border-bottom-left-radius: 0.3rem; +} +.pagination-lg .page-item:last-child .page-link { + border-top-right-radius: 0.3rem; + border-bottom-right-radius: 0.3rem; +} + +.pagination-sm .page-link { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; +} +.pagination-sm .page-item:first-child .page-link { + border-top-left-radius: 0.2rem; + border-bottom-left-radius: 0.2rem; +} +.pagination-sm .page-item:last-child .page-link { + border-top-right-radius: 0.2rem; + border-bottom-right-radius: 0.2rem; +} + +.badge { + display: inline-block; + padding: 0.35em 0.65em; + font-size: 0.75em; + font-weight: 700; + line-height: 1; + color: #fff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: 0.25rem; +} +.badge:empty { + display: none; +} + +.btn .badge { + position: relative; + top: -1px; +} + +.alert { + position: relative; + padding: 1rem 1rem; + margin-bottom: 1rem; + border: 1px solid transparent; + border-radius: 0.25rem; +} + +.alert-heading { + color: inherit; +} + +.alert-link { + font-weight: 700; +} + +.alert-dismissible { + padding-right: 3rem; +} +.alert-dismissible .btn-close { + position: absolute; + top: 0; + right: 0; + z-index: 2; + padding: 1.25rem 1rem; +} + +.alert-primary { + color: #084298; + background-color: #cfe2ff; + border-color: #b6d4fe; +} +.alert-primary .alert-link { + color: #06357a; +} + +.alert-secondary { + color: #41464b; + background-color: #e2e3e5; + border-color: #d3d6d8; +} +.alert-secondary .alert-link { + color: #34383c; +} + +.alert-success { + color: #0f5132; + background-color: #d1e7dd; + border-color: #badbcc; +} +.alert-success .alert-link { + color: #0c4128; +} + +.alert-info { + color: #055160; + background-color: #cff4fc; + border-color: #b6effb; +} +.alert-info .alert-link { + color: #04414d; +} + +.alert-warning { + color: #664d03; + background-color: #fff3cd; + border-color: #ffecb5; +} +.alert-warning .alert-link { + color: #523e02; +} + +.alert-danger { + color: #842029; + background-color: #f8d7da; + border-color: #f5c2c7; +} +.alert-danger .alert-link { + color: #6a1a21; +} + +.alert-light { + color: #636464; + background-color: #fefefe; + border-color: #fdfdfe; +} +.alert-light .alert-link { + color: #4f5050; +} + +.alert-dark { + color: #141619; + background-color: #d3d3d4; + border-color: #bcbebf; +} +.alert-dark .alert-link { + color: #101214; +} + +@-webkit-keyframes progress-bar-stripes { + 0% { + background-position-x: 1rem; + } +} + +@keyframes progress-bar-stripes { + 0% { + background-position-x: 1rem; + } +} +.progress { + display: flex; + height: 1rem; + overflow: hidden; + font-size: 0.75rem; + background-color: #e9ecef; + border-radius: 0.25rem; +} + +.progress-bar { + display: flex; + flex-direction: column; + justify-content: center; + overflow: hidden; + color: #fff; + text-align: center; + white-space: nowrap; + background-color: #0d6efd; + transition: width 0.6s ease; +} +@media (prefers-reduced-motion: reduce) { + .progress-bar { + transition: none; + } +} + +.progress-bar-striped { + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 1rem 1rem; +} + +.progress-bar-animated { + -webkit-animation: 1s linear infinite progress-bar-stripes; + animation: 1s linear infinite progress-bar-stripes; +} +@media (prefers-reduced-motion: reduce) { + .progress-bar-animated { + -webkit-animation: none; + animation: none; + } +} + +.list-group { + display: flex; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + border-radius: 0.25rem; +} + +.list-group-numbered { + list-style-type: none; + counter-reset: section; +} +.list-group-numbered > li::before { + content: counters(section, ".") ". "; + counter-increment: section; +} + +.list-group-item-action { + width: 100%; + color: #495057; + text-align: inherit; +} +.list-group-item-action:hover, .list-group-item-action:focus { + z-index: 1; + color: #495057; + text-decoration: none; + background-color: #f8f9fa; +} +.list-group-item-action:active { + color: #212529; + background-color: #e9ecef; +} + +.list-group-item { + position: relative; + display: block; + padding: 0.5rem 1rem; + color: #212529; + text-decoration: none; + background-color: #fff; + border: 1px solid rgba(0, 0, 0, 0.125); +} +.list-group-item:first-child { + border-top-left-radius: inherit; + border-top-right-radius: inherit; +} +.list-group-item:last-child { + border-bottom-right-radius: inherit; + border-bottom-left-radius: inherit; +} +.list-group-item.disabled, .list-group-item:disabled { + color: #6c757d; + pointer-events: none; + background-color: #fff; +} +.list-group-item.active { + z-index: 2; + color: #fff; + background-color: #0d6efd; + border-color: #0d6efd; +} +.list-group-item + .list-group-item { + border-top-width: 0; +} +.list-group-item + .list-group-item.active { + margin-top: -1px; + border-top-width: 1px; +} + +.list-group-horizontal { + flex-direction: row; +} +.list-group-horizontal > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; +} +.list-group-horizontal > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; +} +.list-group-horizontal > .list-group-item.active { + margin-top: 0; +} +.list-group-horizontal > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; +} +.list-group-horizontal > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; +} + +@media (min-width: 576px) { + .list-group-horizontal-sm { + flex-direction: row; + } + .list-group-horizontal-sm > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-sm > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } + .list-group-horizontal-sm > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-sm > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-sm > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} +@media (min-width: 768px) { + .list-group-horizontal-md { + flex-direction: row; + } + .list-group-horizontal-md > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-md > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } + .list-group-horizontal-md > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-md > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-md > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} +@media (min-width: 992px) { + .list-group-horizontal-lg { + flex-direction: row; + } + .list-group-horizontal-lg > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-lg > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } + .list-group-horizontal-lg > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-lg > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-lg > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} +@media (min-width: 1200px) { + .list-group-horizontal-xl { + flex-direction: row; + } + .list-group-horizontal-xl > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-xl > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } + .list-group-horizontal-xl > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-xl > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-xl > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} +@media (min-width: 1400px) { + .list-group-horizontal-xxl { + flex-direction: row; + } + .list-group-horizontal-xxl > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-xxl > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } + .list-group-horizontal-xxl > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-xxl > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-xxl > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} +.list-group-flush { + border-radius: 0; +} +.list-group-flush > .list-group-item { + border-width: 0 0 1px; +} +.list-group-flush > .list-group-item:last-child { + border-bottom-width: 0; +} + +.list-group-item-primary { + color: #084298; + background-color: #cfe2ff; +} +.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus { + color: #084298; + background-color: #bacbe6; +} +.list-group-item-primary.list-group-item-action.active { + color: #fff; + background-color: #084298; + border-color: #084298; +} + +.list-group-item-secondary { + color: #41464b; + background-color: #e2e3e5; +} +.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus { + color: #41464b; + background-color: #cbccce; +} +.list-group-item-secondary.list-group-item-action.active { + color: #fff; + background-color: #41464b; + border-color: #41464b; +} + +.list-group-item-success { + color: #0f5132; + background-color: #d1e7dd; +} +.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus { + color: #0f5132; + background-color: #bcd0c7; +} +.list-group-item-success.list-group-item-action.active { + color: #fff; + background-color: #0f5132; + border-color: #0f5132; +} + +.list-group-item-info { + color: #055160; + background-color: #cff4fc; +} +.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus { + color: #055160; + background-color: #badce3; +} +.list-group-item-info.list-group-item-action.active { + color: #fff; + background-color: #055160; + border-color: #055160; +} + +.list-group-item-warning { + color: #664d03; + background-color: #fff3cd; +} +.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus { + color: #664d03; + background-color: #e6dbb9; +} +.list-group-item-warning.list-group-item-action.active { + color: #fff; + background-color: #664d03; + border-color: #664d03; +} + +.list-group-item-danger { + color: #842029; + background-color: #f8d7da; +} +.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus { + color: #842029; + background-color: #dfc2c4; +} +.list-group-item-danger.list-group-item-action.active { + color: #fff; + background-color: #842029; + border-color: #842029; +} + +.list-group-item-light { + color: #636464; + background-color: #fefefe; +} +.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus { + color: #636464; + background-color: #e5e5e5; +} +.list-group-item-light.list-group-item-action.active { + color: #fff; + background-color: #636464; + border-color: #636464; +} + +.list-group-item-dark { + color: #141619; + background-color: #d3d3d4; +} +.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus { + color: #141619; + background-color: #bebebf; +} +.list-group-item-dark.list-group-item-action.active { + color: #fff; + background-color: #141619; + border-color: #141619; +} + +.btn-close { + box-sizing: content-box; + width: 1em; + height: 1em; + padding: 0.25em 0.25em; + color: #000; + background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat; + border: 0; + border-radius: 0.25rem; + opacity: 0.5; +} +.btn-close:hover { + color: #000; + text-decoration: none; + opacity: 0.75; +} +.btn-close:focus { + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); + opacity: 1; +} +.btn-close:disabled, .btn-close.disabled { + pointer-events: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + opacity: 0.25; +} + +.btn-close-white { + filter: invert(1) grayscale(100%) brightness(200%); +} + +.toast { + width: 350px; + max-width: 100%; + font-size: 0.875rem; + pointer-events: auto; + background-color: rgba(255, 255, 255, 0.85); + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.1); + box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); + border-radius: 0.25rem; +} +.toast.showing { + opacity: 0; +} +.toast:not(.show) { + display: none; +} + +.toast-container { + width: -webkit-max-content; + width: -moz-max-content; + width: max-content; + max-width: 100%; + pointer-events: none; +} +.toast-container > :not(:last-child) { + margin-bottom: 0.75rem; +} + +.toast-header { + display: flex; + align-items: center; + padding: 0.5rem 0.75rem; + color: #6c757d; + background-color: rgba(255, 255, 255, 0.85); + background-clip: padding-box; + border-bottom: 1px solid rgba(0, 0, 0, 0.05); + border-top-left-radius: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); +} +.toast-header .btn-close { + margin-right: -0.375rem; + margin-left: 0.75rem; +} + +.toast-body { + padding: 0.75rem; + word-wrap: break-word; +} + +.modal { + position: fixed; + top: 0; + left: 0; + z-index: 1055; + display: none; + width: 100%; + height: 100%; + overflow-x: hidden; + overflow-y: auto; + outline: 0; +} + +.modal-dialog { + position: relative; + width: auto; + margin: 0.5rem; + pointer-events: none; +} +.modal.fade .modal-dialog { + transition: transform 0.3s ease-out; + transform: translate(0, -50px); +} +@media (prefers-reduced-motion: reduce) { + .modal.fade .modal-dialog { + transition: none; + } +} +.modal.show .modal-dialog { + transform: none; +} +.modal.modal-static .modal-dialog { + transform: scale(1.02); +} + +.modal-dialog-scrollable { + height: calc(100% - 1rem); +} +.modal-dialog-scrollable .modal-content { + max-height: 100%; + overflow: hidden; +} +.modal-dialog-scrollable .modal-body { + overflow-y: auto; +} + +.modal-dialog-centered { + display: flex; + align-items: center; + min-height: calc(100% - 1rem); +} + +.modal-content { + position: relative; + display: flex; + flex-direction: column; + width: 100%; + pointer-events: auto; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; + outline: 0; +} + +.modal-backdrop { + position: fixed; + top: 0; + left: 0; + z-index: 1050; + width: 100vw; + height: 100vh; + background-color: #000; +} +.modal-backdrop.fade { + opacity: 0; +} +.modal-backdrop.show { + opacity: 0.5; +} + +.modal-header { + display: flex; + flex-shrink: 0; + align-items: center; + justify-content: space-between; + padding: 1rem 1rem; + border-bottom: 1px solid #dee2e6; + border-top-left-radius: calc(0.3rem - 1px); + border-top-right-radius: calc(0.3rem - 1px); +} +.modal-header .btn-close { + padding: 0.5rem 0.5rem; + margin: -0.5rem -0.5rem -0.5rem auto; +} + +.modal-title { + margin-bottom: 0; + line-height: 1.5; +} + +.modal-body { + position: relative; + flex: 1 1 auto; + padding: 1rem; +} + +.modal-footer { + display: flex; + flex-wrap: wrap; + flex-shrink: 0; + align-items: center; + justify-content: flex-end; + padding: 0.75rem; + border-top: 1px solid #dee2e6; + border-bottom-right-radius: calc(0.3rem - 1px); + border-bottom-left-radius: calc(0.3rem - 1px); +} +.modal-footer > * { + margin: 0.25rem; +} + +@media (min-width: 576px) { + .modal-dialog { + max-width: 500px; + margin: 1.75rem auto; + } + + .modal-dialog-scrollable { + height: calc(100% - 3.5rem); + } + + .modal-dialog-centered { + min-height: calc(100% - 3.5rem); + } + + .modal-sm { + max-width: 300px; + } +} +@media (min-width: 992px) { + .modal-lg, +.modal-xl { + max-width: 800px; + } +} +@media (min-width: 1200px) { + .modal-xl { + max-width: 1140px; + } +} +.modal-fullscreen { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; +} +.modal-fullscreen .modal-content { + height: 100%; + border: 0; + border-radius: 0; +} +.modal-fullscreen .modal-header { + border-radius: 0; +} +.modal-fullscreen .modal-body { + overflow-y: auto; +} +.modal-fullscreen .modal-footer { + border-radius: 0; +} + +@media (max-width: 575.98px) { + .modal-fullscreen-sm-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-sm-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-sm-down .modal-header { + border-radius: 0; + } + .modal-fullscreen-sm-down .modal-body { + overflow-y: auto; + } + .modal-fullscreen-sm-down .modal-footer { + border-radius: 0; + } +} +@media (max-width: 767.98px) { + .modal-fullscreen-md-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-md-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-md-down .modal-header { + border-radius: 0; + } + .modal-fullscreen-md-down .modal-body { + overflow-y: auto; + } + .modal-fullscreen-md-down .modal-footer { + border-radius: 0; + } +} +@media (max-width: 991.98px) { + .modal-fullscreen-lg-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-lg-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-lg-down .modal-header { + border-radius: 0; + } + .modal-fullscreen-lg-down .modal-body { + overflow-y: auto; + } + .modal-fullscreen-lg-down .modal-footer { + border-radius: 0; + } +} +@media (max-width: 1199.98px) { + .modal-fullscreen-xl-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-xl-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-xl-down .modal-header { + border-radius: 0; + } + .modal-fullscreen-xl-down .modal-body { + overflow-y: auto; + } + .modal-fullscreen-xl-down .modal-footer { + border-radius: 0; + } +} +@media (max-width: 1399.98px) { + .modal-fullscreen-xxl-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-xxl-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-xxl-down .modal-header { + border-radius: 0; + } + .modal-fullscreen-xxl-down .modal-body { + overflow-y: auto; + } + .modal-fullscreen-xxl-down .modal-footer { + border-radius: 0; + } +} +.tooltip { + position: absolute; + z-index: 1080; + display: block; + margin: 0; + font-family: var(--bs-font-sans-serif); + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.875rem; + word-wrap: break-word; + opacity: 0; +} +.tooltip.show { + opacity: 0.9; +} +.tooltip .tooltip-arrow { + position: absolute; + display: block; + width: 0.8rem; + height: 0.4rem; +} +.tooltip .tooltip-arrow::before { + position: absolute; + content: ""; + border-color: transparent; + border-style: solid; +} + +.bs-tooltip-top, .bs-tooltip-auto[data-popper-placement^=top] { + padding: 0.4rem 0; +} +.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow { + bottom: 0; +} +.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before { + top: -1px; + border-width: 0.4rem 0.4rem 0; + border-top-color: #000; +} + +.bs-tooltip-end, .bs-tooltip-auto[data-popper-placement^=right] { + padding: 0 0.4rem; +} +.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow { + left: 0; + width: 0.4rem; + height: 0.8rem; +} +.bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before { + right: -1px; + border-width: 0.4rem 0.4rem 0.4rem 0; + border-right-color: #000; +} + +.bs-tooltip-bottom, .bs-tooltip-auto[data-popper-placement^=bottom] { + padding: 0.4rem 0; +} +.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow { + top: 0; +} +.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before { + bottom: -1px; + border-width: 0 0.4rem 0.4rem; + border-bottom-color: #000; +} + +.bs-tooltip-start, .bs-tooltip-auto[data-popper-placement^=left] { + padding: 0 0.4rem; +} +.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow { + right: 0; + width: 0.4rem; + height: 0.8rem; +} +.bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before { + left: -1px; + border-width: 0.4rem 0 0.4rem 0.4rem; + border-left-color: #000; +} + +.tooltip-inner { + max-width: 200px; + padding: 0.25rem 0.5rem; + color: #fff; + text-align: center; + background-color: #000; + border-radius: 0.25rem; +} + +.popover { + position: absolute; + top: 0; + left: 0 /* rtl:ignore */; + z-index: 1070; + display: block; + max-width: 276px; + font-family: var(--bs-font-sans-serif); + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.875rem; + word-wrap: break-word; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; +} +.popover .popover-arrow { + position: absolute; + display: block; + width: 1rem; + height: 0.5rem; +} +.popover .popover-arrow::before, .popover .popover-arrow::after { + position: absolute; + display: block; + content: ""; + border-color: transparent; + border-style: solid; +} + +.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow { + bottom: calc(-0.5rem - 1px); +} +.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before { + bottom: 0; + border-width: 0.5rem 0.5rem 0; + border-top-color: rgba(0, 0, 0, 0.25); +} +.bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after { + bottom: 1px; + border-width: 0.5rem 0.5rem 0; + border-top-color: #fff; +} + +.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow { + left: calc(-0.5rem - 1px); + width: 0.5rem; + height: 1rem; +} +.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before { + left: 0; + border-width: 0.5rem 0.5rem 0.5rem 0; + border-right-color: rgba(0, 0, 0, 0.25); +} +.bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after { + left: 1px; + border-width: 0.5rem 0.5rem 0.5rem 0; + border-right-color: #fff; +} + +.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow { + top: calc(-0.5rem - 1px); +} +.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before { + top: 0; + border-width: 0 0.5rem 0.5rem 0.5rem; + border-bottom-color: rgba(0, 0, 0, 0.25); +} +.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after { + top: 1px; + border-width: 0 0.5rem 0.5rem 0.5rem; + border-bottom-color: #fff; +} +.bs-popover-bottom .popover-header::before, .bs-popover-auto[data-popper-placement^=bottom] .popover-header::before { + position: absolute; + top: 0; + left: 50%; + display: block; + width: 1rem; + margin-left: -0.5rem; + content: ""; + border-bottom: 1px solid #f0f0f0; +} + +.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow { + right: calc(-0.5rem - 1px); + width: 0.5rem; + height: 1rem; +} +.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before { + right: 0; + border-width: 0.5rem 0 0.5rem 0.5rem; + border-left-color: rgba(0, 0, 0, 0.25); +} +.bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after { + right: 1px; + border-width: 0.5rem 0 0.5rem 0.5rem; + border-left-color: #fff; +} + +.popover-header { + padding: 0.5rem 1rem; + margin-bottom: 0; + font-size: 1rem; + background-color: #f0f0f0; + border-bottom: 1px solid rgba(0, 0, 0, 0.2); + border-top-left-radius: calc(0.3rem - 1px); + border-top-right-radius: calc(0.3rem - 1px); +} +.popover-header:empty { + display: none; +} + +.popover-body { + padding: 1rem 1rem; + color: #212529; +} + +.carousel { + position: relative; +} + +.carousel.pointer-event { + touch-action: pan-y; +} + +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; +} +.carousel-inner::after { + display: block; + clear: both; + content: ""; +} + +.carousel-item { + position: relative; + display: none; + float: left; + width: 100%; + margin-right: -100%; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + transition: transform 0.6s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .carousel-item { + transition: none; + } +} + +.carousel-item.active, +.carousel-item-next, +.carousel-item-prev { + display: block; +} + +/* rtl:begin:ignore */ +.carousel-item-next:not(.carousel-item-start), +.active.carousel-item-end { + transform: translateX(100%); +} + +.carousel-item-prev:not(.carousel-item-end), +.active.carousel-item-start { + transform: translateX(-100%); +} + +/* rtl:end:ignore */ +.carousel-fade .carousel-item { + opacity: 0; + transition-property: opacity; + transform: none; +} +.carousel-fade .carousel-item.active, +.carousel-fade .carousel-item-next.carousel-item-start, +.carousel-fade .carousel-item-prev.carousel-item-end { + z-index: 1; + opacity: 1; +} +.carousel-fade .active.carousel-item-start, +.carousel-fade .active.carousel-item-end { + z-index: 0; + opacity: 0; + transition: opacity 0s 0.6s; +} +@media (prefers-reduced-motion: reduce) { + .carousel-fade .active.carousel-item-start, +.carousel-fade .active.carousel-item-end { + transition: none; + } +} + +.carousel-control-prev, +.carousel-control-next { + position: absolute; + top: 0; + bottom: 0; + z-index: 1; + display: flex; + align-items: center; + justify-content: center; + width: 15%; + padding: 0; + color: #fff; + text-align: center; + background: none; + border: 0; + opacity: 0.5; + transition: opacity 0.15s ease; +} +@media (prefers-reduced-motion: reduce) { + .carousel-control-prev, +.carousel-control-next { + transition: none; + } +} +.carousel-control-prev:hover, .carousel-control-prev:focus, +.carousel-control-next:hover, +.carousel-control-next:focus { + color: #fff; + text-decoration: none; + outline: 0; + opacity: 0.9; +} + +.carousel-control-prev { + left: 0; +} + +.carousel-control-next { + right: 0; +} + +.carousel-control-prev-icon, +.carousel-control-next-icon { + display: inline-block; + width: 2rem; + height: 2rem; + background-repeat: no-repeat; + background-position: 50%; + background-size: 100% 100%; +} + +/* rtl:options: { + "autoRename": true, + "stringMap":[ { + "name" : "prev-next", + "search" : "prev", + "replace" : "next" + } ] +} */ +.carousel-control-prev-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e"); +} + +.carousel-control-next-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); +} + +.carousel-indicators { + position: absolute; + right: 0; + bottom: 0; + left: 0; + z-index: 2; + display: flex; + justify-content: center; + padding: 0; + margin-right: 15%; + margin-bottom: 1rem; + margin-left: 15%; + list-style: none; +} +.carousel-indicators [data-bs-target] { + box-sizing: content-box; + flex: 0 1 auto; + width: 30px; + height: 3px; + padding: 0; + margin-right: 3px; + margin-left: 3px; + text-indent: -999px; + cursor: pointer; + background-color: #fff; + background-clip: padding-box; + border: 0; + border-top: 10px solid transparent; + border-bottom: 10px solid transparent; + opacity: 0.5; + transition: opacity 0.6s ease; +} +@media (prefers-reduced-motion: reduce) { + .carousel-indicators [data-bs-target] { + transition: none; + } +} +.carousel-indicators .active { + opacity: 1; +} + +.carousel-caption { + position: absolute; + right: 15%; + bottom: 1.25rem; + left: 15%; + padding-top: 1.25rem; + padding-bottom: 1.25rem; + color: #fff; + text-align: center; +} + +.carousel-dark .carousel-control-prev-icon, +.carousel-dark .carousel-control-next-icon { + filter: invert(1) grayscale(100); +} +.carousel-dark .carousel-indicators [data-bs-target] { + background-color: #000; +} +.carousel-dark .carousel-caption { + color: #000; +} + +@-webkit-keyframes spinner-border { + to { + transform: rotate(360deg) /* rtl:ignore */; + } +} + +@keyframes spinner-border { + to { + transform: rotate(360deg) /* rtl:ignore */; + } +} +.spinner-border { + display: inline-block; + width: 2rem; + height: 2rem; + vertical-align: -0.125em; + border: 0.25em solid currentColor; + border-right-color: transparent; + border-radius: 50%; + -webkit-animation: 0.75s linear infinite spinner-border; + animation: 0.75s linear infinite spinner-border; +} + +.spinner-border-sm { + width: 1rem; + height: 1rem; + border-width: 0.2em; +} + +@-webkit-keyframes spinner-grow { + 0% { + transform: scale(0); + } + 50% { + opacity: 1; + transform: none; + } +} + +@keyframes spinner-grow { + 0% { + transform: scale(0); + } + 50% { + opacity: 1; + transform: none; + } +} +.spinner-grow { + display: inline-block; + width: 2rem; + height: 2rem; + vertical-align: -0.125em; + background-color: currentColor; + border-radius: 50%; + opacity: 0; + -webkit-animation: 0.75s linear infinite spinner-grow; + animation: 0.75s linear infinite spinner-grow; +} + +.spinner-grow-sm { + width: 1rem; + height: 1rem; +} + +@media (prefers-reduced-motion: reduce) { + .spinner-border, +.spinner-grow { + -webkit-animation-duration: 1.5s; + animation-duration: 1.5s; + } +} +.offcanvas { + position: fixed; + bottom: 0; + z-index: 1045; + display: flex; + flex-direction: column; + max-width: 100%; + visibility: hidden; + background-color: #fff; + background-clip: padding-box; + outline: 0; + transition: transform 0.3s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .offcanvas { + transition: none; + } +} + +.offcanvas-backdrop { + position: fixed; + top: 0; + left: 0; + z-index: 1040; + width: 100vw; + height: 100vh; + background-color: #000; +} +.offcanvas-backdrop.fade { + opacity: 0; +} +.offcanvas-backdrop.show { + opacity: 0.5; +} + +.offcanvas-header { + display: flex; + align-items: center; + justify-content: space-between; + padding: 1rem 1rem; +} +.offcanvas-header .btn-close { + padding: 0.5rem 0.5rem; + margin-top: -0.5rem; + margin-right: -0.5rem; + margin-bottom: -0.5rem; +} + +.offcanvas-title { + margin-bottom: 0; + line-height: 1.5; +} + +.offcanvas-body { + flex-grow: 1; + padding: 1rem 1rem; + overflow-y: auto; +} + +.offcanvas-start { + top: 0; + left: 0; + width: 400px; + border-right: 1px solid rgba(0, 0, 0, 0.2); + transform: translateX(-100%); +} + +.offcanvas-end { + top: 0; + right: 0; + width: 400px; + border-left: 1px solid rgba(0, 0, 0, 0.2); + transform: translateX(100%); +} + +.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: 30vh; + max-height: 100%; + border-bottom: 1px solid rgba(0, 0, 0, 0.2); + transform: translateY(-100%); +} + +.offcanvas-bottom { + right: 0; + left: 0; + height: 30vh; + max-height: 100%; + border-top: 1px solid rgba(0, 0, 0, 0.2); + transform: translateY(100%); +} + +.offcanvas.show { + transform: none; +} + +.placeholder { + display: inline-block; + min-height: 1em; + vertical-align: middle; + cursor: wait; + background-color: currentColor; + opacity: 0.5; +} +.placeholder.btn::before { + display: inline-block; + content: ""; +} + +.placeholder-xs { + min-height: 0.6em; +} + +.placeholder-sm { + min-height: 0.8em; +} + +.placeholder-lg { + min-height: 1.2em; +} + +.placeholder-glow .placeholder { + -webkit-animation: placeholder-glow 2s ease-in-out infinite; + animation: placeholder-glow 2s ease-in-out infinite; +} + +@-webkit-keyframes placeholder-glow { + 50% { + opacity: 0.2; + } +} + +@keyframes placeholder-glow { + 50% { + opacity: 0.2; + } +} +.placeholder-wave { + -webkit-mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%); + mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%); + -webkit-mask-size: 200% 100%; + mask-size: 200% 100%; + -webkit-animation: placeholder-wave 2s linear infinite; + animation: placeholder-wave 2s linear infinite; +} + +@-webkit-keyframes placeholder-wave { + 100% { + -webkit-mask-position: -200% 0%; + mask-position: -200% 0%; + } +} + +@keyframes placeholder-wave { + 100% { + -webkit-mask-position: -200% 0%; + mask-position: -200% 0%; + } +} +.clearfix::after { + display: block; + clear: both; + content: ""; +} + +.link-primary { + color: #0d6efd; +} +.link-primary:hover, .link-primary:focus { + color: #0a58ca; +} + +.link-secondary { + color: #6c757d; +} +.link-secondary:hover, .link-secondary:focus { + color: #565e64; +} + +.link-success { + color: #198754; +} +.link-success:hover, .link-success:focus { + color: #146c43; +} + +.link-info { + color: #0dcaf0; +} +.link-info:hover, .link-info:focus { + color: #3dd5f3; +} + +.link-warning { + color: #ffc107; +} +.link-warning:hover, .link-warning:focus { + color: #ffcd39; +} + +.link-danger { + color: #dc3545; +} +.link-danger:hover, .link-danger:focus { + color: #b02a37; +} + +.link-light { + color: #f8f9fa; +} +.link-light:hover, .link-light:focus { + color: #f9fafb; +} + +.link-dark { + color: #212529; +} +.link-dark:hover, .link-dark:focus { + color: #1a1e21; +} + +.ratio { + position: relative; + width: 100%; +} +.ratio::before { + display: block; + padding-top: var(--bs-aspect-ratio); + content: ""; +} +.ratio > * { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} + +.ratio-1x1 { + --bs-aspect-ratio: 100%; +} + +.ratio-4x3 { + --bs-aspect-ratio: calc(3 / 4 * 100%); +} + +.ratio-16x9 { + --bs-aspect-ratio: calc(9 / 16 * 100%); +} + +.ratio-21x9 { + --bs-aspect-ratio: calc(9 / 21 * 100%); +} + +.fixed-top { + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: 1030; +} + +.fixed-bottom { + position: fixed; + right: 0; + bottom: 0; + left: 0; + z-index: 1030; +} + +.sticky-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; +} + +@media (min-width: 576px) { + .sticky-sm-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } +} +@media (min-width: 768px) { + .sticky-md-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } +} +@media (min-width: 992px) { + .sticky-lg-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } +} +@media (min-width: 1200px) { + .sticky-xl-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } +} +@media (min-width: 1400px) { + .sticky-xxl-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } +} +.hstack { + display: flex; + flex-direction: row; + align-items: center; + align-self: stretch; +} + +.vstack { + display: flex; + flex: 1 1 auto; + flex-direction: column; + align-self: stretch; +} + +.visually-hidden, +.visually-hidden-focusable:not(:focus):not(:focus-within) { + position: absolute !important; + width: 1px !important; + height: 1px !important; + padding: 0 !important; + margin: -1px !important; + overflow: hidden !important; + clip: rect(0, 0, 0, 0) !important; + white-space: nowrap !important; + border: 0 !important; +} + +.stretched-link::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1; + content: ""; +} + +.text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.vr { + display: inline-block; + align-self: stretch; + width: 1px; + min-height: 1em; + background-color: currentColor; + opacity: 0.25; +} + +.align-baseline { + vertical-align: baseline !important; +} + +.align-top { + vertical-align: top !important; +} + +.align-middle { + vertical-align: middle !important; +} + +.align-bottom { + vertical-align: bottom !important; +} + +.align-text-bottom { + vertical-align: text-bottom !important; +} + +.align-text-top { + vertical-align: text-top !important; +} + +.float-start { + float: left !important; +} + +.float-end { + float: right !important; +} + +.float-none { + float: none !important; +} + +.opacity-0 { + opacity: 0 !important; +} + +.opacity-25 { + opacity: 0.25 !important; +} + +.opacity-50 { + opacity: 0.5 !important; +} + +.opacity-75 { + opacity: 0.75 !important; +} + +.opacity-100 { + opacity: 1 !important; +} + +.overflow-auto { + overflow: auto !important; +} + +.overflow-hidden { + overflow: hidden !important; +} + +.overflow-visible { + overflow: visible !important; +} + +.overflow-scroll { + overflow: scroll !important; +} + +.d-inline { + display: inline !important; +} + +.d-inline-block { + display: inline-block !important; +} + +.d-block { + display: block !important; +} + +.d-grid { + display: grid !important; +} + +.d-table { + display: table !important; +} + +.d-table-row { + display: table-row !important; +} + +.d-table-cell { + display: table-cell !important; +} + +.d-flex { + display: flex !important; +} + +.d-inline-flex { + display: inline-flex !important; +} + +.d-none { + display: none !important; +} + +.shadow { + box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; +} + +.shadow-sm { + box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; +} + +.shadow-lg { + box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; +} + +.shadow-none { + box-shadow: none !important; +} + +.position-static { + position: static !important; +} + +.position-relative { + position: relative !important; +} + +.position-absolute { + position: absolute !important; +} + +.position-fixed { + position: fixed !important; +} + +.position-sticky { + position: -webkit-sticky !important; + position: sticky !important; +} + +.top-0 { + top: 0 !important; +} + +.top-50 { + top: 50% !important; +} + +.top-100 { + top: 100% !important; +} + +.bottom-0 { + bottom: 0 !important; +} + +.bottom-50 { + bottom: 50% !important; +} + +.bottom-100 { + bottom: 100% !important; +} + +.start-0 { + left: 0 !important; +} + +.start-50 { + left: 50% !important; +} + +.start-100 { + left: 100% !important; +} + +.end-0 { + right: 0 !important; +} + +.end-50 { + right: 50% !important; +} + +.end-100 { + right: 100% !important; +} + +.translate-middle { + transform: translate(-50%, -50%) !important; +} + +.translate-middle-x { + transform: translateX(-50%) !important; +} + +.translate-middle-y { + transform: translateY(-50%) !important; +} + +.border { + border: 1px solid #dee2e6 !important; +} + +.border-0 { + border: 0 !important; +} + +.border-top { + border-top: 1px solid #dee2e6 !important; +} + +.border-top-0 { + border-top: 0 !important; +} + +.border-end { + border-right: 1px solid #dee2e6 !important; +} + +.border-end-0 { + border-right: 0 !important; +} + +.border-bottom { + border-bottom: 1px solid #dee2e6 !important; +} + +.border-bottom-0 { + border-bottom: 0 !important; +} + +.border-start { + border-left: 1px solid #dee2e6 !important; +} + +.border-start-0 { + border-left: 0 !important; +} + +.border-primary { + border-color: #0d6efd !important; +} + +.border-secondary { + border-color: #6c757d !important; +} + +.border-success { + border-color: #198754 !important; +} + +.border-info { + border-color: #0dcaf0 !important; +} + +.border-warning { + border-color: #ffc107 !important; +} + +.border-danger { + border-color: #dc3545 !important; +} + +.border-light { + border-color: #f8f9fa !important; +} + +.border-dark { + border-color: #212529 !important; +} + +.border-white { + border-color: #fff !important; +} + +.border-1 { + border-width: 1px !important; +} + +.border-2 { + border-width: 2px !important; +} + +.border-3 { + border-width: 3px !important; +} + +.border-4 { + border-width: 4px !important; +} + +.border-5 { + border-width: 5px !important; +} + +.w-25 { + width: 25% !important; +} + +.w-50 { + width: 50% !important; +} + +.w-75 { + width: 75% !important; +} + +.w-100 { + width: 100% !important; +} + +.w-auto { + width: auto !important; +} + +.mw-100 { + max-width: 100% !important; +} + +.vw-100 { + width: 100vw !important; +} + +.min-vw-100 { + min-width: 100vw !important; +} + +.h-25 { + height: 25% !important; +} + +.h-50 { + height: 50% !important; +} + +.h-75 { + height: 75% !important; +} + +.h-100 { + height: 100% !important; +} + +.h-auto { + height: auto !important; +} + +.mh-100 { + max-height: 100% !important; +} + +.vh-100 { + height: 100vh !important; +} + +.min-vh-100 { + min-height: 100vh !important; +} + +.flex-fill { + flex: 1 1 auto !important; +} + +.flex-row { + flex-direction: row !important; +} + +.flex-column { + flex-direction: column !important; +} + +.flex-row-reverse { + flex-direction: row-reverse !important; +} + +.flex-column-reverse { + flex-direction: column-reverse !important; +} + +.flex-grow-0 { + flex-grow: 0 !important; +} + +.flex-grow-1 { + flex-grow: 1 !important; +} + +.flex-shrink-0 { + flex-shrink: 0 !important; +} + +.flex-shrink-1 { + flex-shrink: 1 !important; +} + +.flex-wrap { + flex-wrap: wrap !important; +} + +.flex-nowrap { + flex-wrap: nowrap !important; +} + +.flex-wrap-reverse { + flex-wrap: wrap-reverse !important; +} + +.gap-0 { + gap: 0 !important; +} + +.gap-1 { + gap: 0.25rem !important; +} + +.gap-2 { + gap: 0.5rem !important; +} + +.gap-3 { + gap: 1rem !important; +} + +.gap-4 { + gap: 1.5rem !important; +} + +.gap-5 { + gap: 3rem !important; +} + +.justify-content-start { + justify-content: flex-start !important; +} + +.justify-content-end { + justify-content: flex-end !important; +} + +.justify-content-center { + justify-content: center !important; +} + +.justify-content-between { + justify-content: space-between !important; +} + +.justify-content-around { + justify-content: space-around !important; +} + +.justify-content-evenly { + justify-content: space-evenly !important; +} + +.align-items-start { + align-items: flex-start !important; +} + +.align-items-end { + align-items: flex-end !important; +} + +.align-items-center { + align-items: center !important; +} + +.align-items-baseline { + align-items: baseline !important; +} + +.align-items-stretch { + align-items: stretch !important; +} + +.align-content-start { + align-content: flex-start !important; +} + +.align-content-end { + align-content: flex-end !important; +} + +.align-content-center { + align-content: center !important; +} + +.align-content-between { + align-content: space-between !important; +} + +.align-content-around { + align-content: space-around !important; +} + +.align-content-stretch { + align-content: stretch !important; +} + +.align-self-auto { + align-self: auto !important; +} + +.align-self-start { + align-self: flex-start !important; +} + +.align-self-end { + align-self: flex-end !important; +} + +.align-self-center { + align-self: center !important; +} + +.align-self-baseline { + align-self: baseline !important; +} + +.align-self-stretch { + align-self: stretch !important; +} + +.order-first { + order: -1 !important; +} + +.order-0 { + order: 0 !important; +} + +.order-1 { + order: 1 !important; +} + +.order-2 { + order: 2 !important; +} + +.order-3 { + order: 3 !important; +} + +.order-4 { + order: 4 !important; +} + +.order-5 { + order: 5 !important; +} + +.order-last { + order: 6 !important; +} + +.m-0 { + margin: 0 !important; +} + +.m-1 { + margin: 0.25rem !important; +} + +.m-2 { + margin: 0.5rem !important; +} + +.m-3 { + margin: 1rem !important; +} + +.m-4 { + margin: 1.5rem !important; +} + +.m-5 { + margin: 3rem !important; +} + +.m-auto { + margin: auto !important; +} + +.mx-0 { + margin-right: 0 !important; + margin-left: 0 !important; +} + +.mx-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; +} + +.mx-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; +} + +.mx-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; +} + +.mx-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; +} + +.mx-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; +} + +.mx-auto { + margin-right: auto !important; + margin-left: auto !important; +} + +.my-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; +} + +.my-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; +} + +.my-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; +} + +.my-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; +} + +.my-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; +} + +.my-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; +} + +.my-auto { + margin-top: auto !important; + margin-bottom: auto !important; +} + +.mt-0 { + margin-top: 0 !important; +} + +.mt-1 { + margin-top: 0.25rem !important; +} + +.mt-2 { + margin-top: 0.5rem !important; +} + +.mt-3 { + margin-top: 1rem !important; +} + +.mt-4 { + margin-top: 1.5rem !important; +} + +.mt-5 { + margin-top: 3rem !important; +} + +.mt-auto { + margin-top: auto !important; +} + +.me-0 { + margin-right: 0 !important; +} + +.me-1 { + margin-right: 0.25rem !important; +} + +.me-2 { + margin-right: 0.5rem !important; +} + +.me-3 { + margin-right: 1rem !important; +} + +.me-4 { + margin-right: 1.5rem !important; +} + +.me-5 { + margin-right: 3rem !important; +} + +.me-auto { + margin-right: auto !important; +} + +.mb-0 { + margin-bottom: 0 !important; +} + +.mb-1 { + margin-bottom: 0.25rem !important; +} + +.mb-2 { + margin-bottom: 0.5rem !important; +} + +.mb-3 { + margin-bottom: 1rem !important; +} + +.mb-4 { + margin-bottom: 1.5rem !important; +} + +.mb-5 { + margin-bottom: 3rem !important; +} + +.mb-auto { + margin-bottom: auto !important; +} + +.ms-0 { + margin-left: 0 !important; +} + +.ms-1 { + margin-left: 0.25rem !important; +} + +.ms-2 { + margin-left: 0.5rem !important; +} + +.ms-3 { + margin-left: 1rem !important; +} + +.ms-4 { + margin-left: 1.5rem !important; +} + +.ms-5 { + margin-left: 3rem !important; +} + +.ms-auto { + margin-left: auto !important; +} + +.p-0 { + padding: 0 !important; +} + +.p-1 { + padding: 0.25rem !important; +} + +.p-2 { + padding: 0.5rem !important; +} + +.p-3 { + padding: 1rem !important; +} + +.p-4 { + padding: 1.5rem !important; +} + +.p-5 { + padding: 3rem !important; +} + +.px-0 { + padding-right: 0 !important; + padding-left: 0 !important; +} + +.px-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; +} + +.px-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; +} + +.px-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; +} + +.px-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; +} + +.px-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; +} + +.py-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; +} + +.py-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; +} + +.py-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; +} + +.py-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; +} + +.py-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; +} + +.py-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; +} + +.pt-0 { + padding-top: 0 !important; +} + +.pt-1 { + padding-top: 0.25rem !important; +} + +.pt-2 { + padding-top: 0.5rem !important; +} + +.pt-3 { + padding-top: 1rem !important; +} + +.pt-4 { + padding-top: 1.5rem !important; +} + +.pt-5 { + padding-top: 3rem !important; +} + +.pe-0 { + padding-right: 0 !important; +} + +.pe-1 { + padding-right: 0.25rem !important; +} + +.pe-2 { + padding-right: 0.5rem !important; +} + +.pe-3 { + padding-right: 1rem !important; +} + +.pe-4 { + padding-right: 1.5rem !important; +} + +.pe-5 { + padding-right: 3rem !important; +} + +.pb-0 { + padding-bottom: 0 !important; +} + +.pb-1 { + padding-bottom: 0.25rem !important; +} + +.pb-2 { + padding-bottom: 0.5rem !important; +} + +.pb-3 { + padding-bottom: 1rem !important; +} + +.pb-4 { + padding-bottom: 1.5rem !important; +} + +.pb-5 { + padding-bottom: 3rem !important; +} + +.ps-0 { + padding-left: 0 !important; +} + +.ps-1 { + padding-left: 0.25rem !important; +} + +.ps-2 { + padding-left: 0.5rem !important; +} + +.ps-3 { + padding-left: 1rem !important; +} + +.ps-4 { + padding-left: 1.5rem !important; +} + +.ps-5 { + padding-left: 3rem !important; +} + +.font-monospace { + font-family: var(--bs-font-monospace) !important; +} + +.fs-1 { + font-size: calc(1.375rem + 1.5vw) !important; +} + +.fs-2 { + font-size: calc(1.325rem + 0.9vw) !important; +} + +.fs-3 { + font-size: calc(1.3rem + 0.6vw) !important; +} + +.fs-4 { + font-size: calc(1.275rem + 0.3vw) !important; +} + +.fs-5 { + font-size: 1.25rem !important; +} + +.fs-6 { + font-size: 1rem !important; +} + +.fst-italic { + font-style: italic !important; +} + +.fst-normal { + font-style: normal !important; +} + +.fw-light { + font-weight: 300 !important; +} + +.fw-lighter { + font-weight: lighter !important; +} + +.fw-normal { + font-weight: 400 !important; +} + +.fw-bold { + font-weight: 700 !important; +} + +.fw-bolder { + font-weight: bolder !important; +} + +.lh-1 { + line-height: 1 !important; +} + +.lh-sm { + line-height: 1.25 !important; +} + +.lh-base { + line-height: 1.5 !important; +} + +.lh-lg { + line-height: 2 !important; +} + +.text-start { + text-align: left !important; +} + +.text-end { + text-align: right !important; +} + +.text-center { + text-align: center !important; +} + +.text-decoration-none { + text-decoration: none !important; +} + +.text-decoration-underline { + text-decoration: underline !important; +} + +.text-decoration-line-through { + text-decoration: line-through !important; +} + +.text-lowercase { + text-transform: lowercase !important; +} + +.text-uppercase { + text-transform: uppercase !important; +} + +.text-capitalize { + text-transform: capitalize !important; +} + +.text-wrap { + white-space: normal !important; +} + +.text-nowrap { + white-space: nowrap !important; +} + +/* rtl:begin:remove */ +.text-break { + word-wrap: break-word !important; + word-break: break-word !important; +} + +/* rtl:end:remove */ +.text-primary { + --bs-text-opacity: 1; + color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important; +} + +.text-secondary { + --bs-text-opacity: 1; + color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important; +} + +.text-success { + --bs-text-opacity: 1; + color: rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important; +} + +.text-info { + --bs-text-opacity: 1; + color: rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important; +} + +.text-warning { + --bs-text-opacity: 1; + color: rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important; +} + +.text-danger { + --bs-text-opacity: 1; + color: rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important; +} + +.text-light { + --bs-text-opacity: 1; + color: rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important; +} + +.text-dark { + --bs-text-opacity: 1; + color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important; +} + +.text-black { + --bs-text-opacity: 1; + color: rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important; +} + +.text-white { + --bs-text-opacity: 1; + color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important; +} + +.text-body { + --bs-text-opacity: 1; + color: rgba(var(--bs-body-rgb), var(--bs-text-opacity)) !important; +} + +.text-muted { + --bs-text-opacity: 1; + color: #6c757d !important; +} + +.text-black-50 { + --bs-text-opacity: 1; + color: rgba(0, 0, 0, 0.5) !important; +} + +.text-white-50 { + --bs-text-opacity: 1; + color: rgba(255, 255, 255, 0.5) !important; +} + +.text-reset { + --bs-text-opacity: 1; + color: inherit !important; +} + +.text-opacity-25 { + --bs-text-opacity: 0.25; +} + +.text-opacity-50 { + --bs-text-opacity: 0.5; +} + +.text-opacity-75 { + --bs-text-opacity: 0.75; +} + +.text-opacity-100 { + --bs-text-opacity: 1; +} + +.bg-primary { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-secondary { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-secondary-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-info { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-info-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; +} + +.bg-light { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-dark { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-black { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-white { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-body { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-body-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-transparent { + --bs-bg-opacity: 1; + background-color: transparent !important; +} + +.bg-opacity-10 { + --bs-bg-opacity: 0.1; +} + +.bg-opacity-25 { + --bs-bg-opacity: 0.25; +} + +.bg-opacity-50 { + --bs-bg-opacity: 0.5; +} + +.bg-opacity-75 { + --bs-bg-opacity: 0.75; +} + +.bg-opacity-100 { + --bs-bg-opacity: 1; +} + +.bg-gradient { + background-image: var(--bs-gradient) !important; +} + +.user-select-all { + -webkit-user-select: all !important; + -moz-user-select: all !important; + user-select: all !important; +} + +.user-select-auto { + -webkit-user-select: auto !important; + -moz-user-select: auto !important; + user-select: auto !important; +} + +.user-select-none { + -webkit-user-select: none !important; + -moz-user-select: none !important; + user-select: none !important; +} + +.pe-none { + pointer-events: none !important; +} + +.pe-auto { + pointer-events: auto !important; +} + +.rounded { + border-radius: 0.25rem !important; +} + +.rounded-0 { + border-radius: 0 !important; +} + +.rounded-1 { + border-radius: 0.2rem !important; +} + +.rounded-2 { + border-radius: 0.25rem !important; +} + +.rounded-3 { + border-radius: 0.3rem !important; +} + +.rounded-circle { + border-radius: 50% !important; +} + +.rounded-pill { + border-radius: 50rem !important; +} + +.rounded-top { + border-top-left-radius: 0.25rem !important; + border-top-right-radius: 0.25rem !important; +} + +.rounded-end { + border-top-right-radius: 0.25rem !important; + border-bottom-right-radius: 0.25rem !important; +} + +.rounded-bottom { + border-bottom-right-radius: 0.25rem !important; + border-bottom-left-radius: 0.25rem !important; +} + +.rounded-start { + border-bottom-left-radius: 0.25rem !important; + border-top-left-radius: 0.25rem !important; +} + +.visible { + visibility: visible !important; +} + +.invisible { + visibility: hidden !important; +} + +@media (min-width: 576px) { + .float-sm-start { + float: left !important; + } + + .float-sm-end { + float: right !important; + } + + .float-sm-none { + float: none !important; + } + + .d-sm-inline { + display: inline !important; + } + + .d-sm-inline-block { + display: inline-block !important; + } + + .d-sm-block { + display: block !important; + } + + .d-sm-grid { + display: grid !important; + } + + .d-sm-table { + display: table !important; + } + + .d-sm-table-row { + display: table-row !important; + } + + .d-sm-table-cell { + display: table-cell !important; + } + + .d-sm-flex { + display: flex !important; + } + + .d-sm-inline-flex { + display: inline-flex !important; + } + + .d-sm-none { + display: none !important; + } + + .flex-sm-fill { + flex: 1 1 auto !important; + } + + .flex-sm-row { + flex-direction: row !important; + } + + .flex-sm-column { + flex-direction: column !important; + } + + .flex-sm-row-reverse { + flex-direction: row-reverse !important; + } + + .flex-sm-column-reverse { + flex-direction: column-reverse !important; + } + + .flex-sm-grow-0 { + flex-grow: 0 !important; + } + + .flex-sm-grow-1 { + flex-grow: 1 !important; + } + + .flex-sm-shrink-0 { + flex-shrink: 0 !important; + } + + .flex-sm-shrink-1 { + flex-shrink: 1 !important; + } + + .flex-sm-wrap { + flex-wrap: wrap !important; + } + + .flex-sm-nowrap { + flex-wrap: nowrap !important; + } + + .flex-sm-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + + .gap-sm-0 { + gap: 0 !important; + } + + .gap-sm-1 { + gap: 0.25rem !important; + } + + .gap-sm-2 { + gap: 0.5rem !important; + } + + .gap-sm-3 { + gap: 1rem !important; + } + + .gap-sm-4 { + gap: 1.5rem !important; + } + + .gap-sm-5 { + gap: 3rem !important; + } + + .justify-content-sm-start { + justify-content: flex-start !important; + } + + .justify-content-sm-end { + justify-content: flex-end !important; + } + + .justify-content-sm-center { + justify-content: center !important; + } + + .justify-content-sm-between { + justify-content: space-between !important; + } + + .justify-content-sm-around { + justify-content: space-around !important; + } + + .justify-content-sm-evenly { + justify-content: space-evenly !important; + } + + .align-items-sm-start { + align-items: flex-start !important; + } + + .align-items-sm-end { + align-items: flex-end !important; + } + + .align-items-sm-center { + align-items: center !important; + } + + .align-items-sm-baseline { + align-items: baseline !important; + } + + .align-items-sm-stretch { + align-items: stretch !important; + } + + .align-content-sm-start { + align-content: flex-start !important; + } + + .align-content-sm-end { + align-content: flex-end !important; + } + + .align-content-sm-center { + align-content: center !important; + } + + .align-content-sm-between { + align-content: space-between !important; + } + + .align-content-sm-around { + align-content: space-around !important; + } + + .align-content-sm-stretch { + align-content: stretch !important; + } + + .align-self-sm-auto { + align-self: auto !important; + } + + .align-self-sm-start { + align-self: flex-start !important; + } + + .align-self-sm-end { + align-self: flex-end !important; + } + + .align-self-sm-center { + align-self: center !important; + } + + .align-self-sm-baseline { + align-self: baseline !important; + } + + .align-self-sm-stretch { + align-self: stretch !important; + } + + .order-sm-first { + order: -1 !important; + } + + .order-sm-0 { + order: 0 !important; + } + + .order-sm-1 { + order: 1 !important; + } + + .order-sm-2 { + order: 2 !important; + } + + .order-sm-3 { + order: 3 !important; + } + + .order-sm-4 { + order: 4 !important; + } + + .order-sm-5 { + order: 5 !important; + } + + .order-sm-last { + order: 6 !important; + } + + .m-sm-0 { + margin: 0 !important; + } + + .m-sm-1 { + margin: 0.25rem !important; + } + + .m-sm-2 { + margin: 0.5rem !important; + } + + .m-sm-3 { + margin: 1rem !important; + } + + .m-sm-4 { + margin: 1.5rem !important; + } + + .m-sm-5 { + margin: 3rem !important; + } + + .m-sm-auto { + margin: auto !important; + } + + .mx-sm-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + + .mx-sm-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + + .mx-sm-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + + .mx-sm-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + + .mx-sm-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + + .mx-sm-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + + .mx-sm-auto { + margin-right: auto !important; + margin-left: auto !important; + } + + .my-sm-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + + .my-sm-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + + .my-sm-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + + .my-sm-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + + .my-sm-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + + .my-sm-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + + .my-sm-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + + .mt-sm-0 { + margin-top: 0 !important; + } + + .mt-sm-1 { + margin-top: 0.25rem !important; + } + + .mt-sm-2 { + margin-top: 0.5rem !important; + } + + .mt-sm-3 { + margin-top: 1rem !important; + } + + .mt-sm-4 { + margin-top: 1.5rem !important; + } + + .mt-sm-5 { + margin-top: 3rem !important; + } + + .mt-sm-auto { + margin-top: auto !important; + } + + .me-sm-0 { + margin-right: 0 !important; + } + + .me-sm-1 { + margin-right: 0.25rem !important; + } + + .me-sm-2 { + margin-right: 0.5rem !important; + } + + .me-sm-3 { + margin-right: 1rem !important; + } + + .me-sm-4 { + margin-right: 1.5rem !important; + } + + .me-sm-5 { + margin-right: 3rem !important; + } + + .me-sm-auto { + margin-right: auto !important; + } + + .mb-sm-0 { + margin-bottom: 0 !important; + } + + .mb-sm-1 { + margin-bottom: 0.25rem !important; + } + + .mb-sm-2 { + margin-bottom: 0.5rem !important; + } + + .mb-sm-3 { + margin-bottom: 1rem !important; + } + + .mb-sm-4 { + margin-bottom: 1.5rem !important; + } + + .mb-sm-5 { + margin-bottom: 3rem !important; + } + + .mb-sm-auto { + margin-bottom: auto !important; + } + + .ms-sm-0 { + margin-left: 0 !important; + } + + .ms-sm-1 { + margin-left: 0.25rem !important; + } + + .ms-sm-2 { + margin-left: 0.5rem !important; + } + + .ms-sm-3 { + margin-left: 1rem !important; + } + + .ms-sm-4 { + margin-left: 1.5rem !important; + } + + .ms-sm-5 { + margin-left: 3rem !important; + } + + .ms-sm-auto { + margin-left: auto !important; + } + + .p-sm-0 { + padding: 0 !important; + } + + .p-sm-1 { + padding: 0.25rem !important; + } + + .p-sm-2 { + padding: 0.5rem !important; + } + + .p-sm-3 { + padding: 1rem !important; + } + + .p-sm-4 { + padding: 1.5rem !important; + } + + .p-sm-5 { + padding: 3rem !important; + } + + .px-sm-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + + .px-sm-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + + .px-sm-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + + .px-sm-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + + .px-sm-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + + .px-sm-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + + .py-sm-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + + .py-sm-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + + .py-sm-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + + .py-sm-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + + .py-sm-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + + .py-sm-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + + .pt-sm-0 { + padding-top: 0 !important; + } + + .pt-sm-1 { + padding-top: 0.25rem !important; + } + + .pt-sm-2 { + padding-top: 0.5rem !important; + } + + .pt-sm-3 { + padding-top: 1rem !important; + } + + .pt-sm-4 { + padding-top: 1.5rem !important; + } + + .pt-sm-5 { + padding-top: 3rem !important; + } + + .pe-sm-0 { + padding-right: 0 !important; + } + + .pe-sm-1 { + padding-right: 0.25rem !important; + } + + .pe-sm-2 { + padding-right: 0.5rem !important; + } + + .pe-sm-3 { + padding-right: 1rem !important; + } + + .pe-sm-4 { + padding-right: 1.5rem !important; + } + + .pe-sm-5 { + padding-right: 3rem !important; + } + + .pb-sm-0 { + padding-bottom: 0 !important; + } + + .pb-sm-1 { + padding-bottom: 0.25rem !important; + } + + .pb-sm-2 { + padding-bottom: 0.5rem !important; + } + + .pb-sm-3 { + padding-bottom: 1rem !important; + } + + .pb-sm-4 { + padding-bottom: 1.5rem !important; + } + + .pb-sm-5 { + padding-bottom: 3rem !important; + } + + .ps-sm-0 { + padding-left: 0 !important; + } + + .ps-sm-1 { + padding-left: 0.25rem !important; + } + + .ps-sm-2 { + padding-left: 0.5rem !important; + } + + .ps-sm-3 { + padding-left: 1rem !important; + } + + .ps-sm-4 { + padding-left: 1.5rem !important; + } + + .ps-sm-5 { + padding-left: 3rem !important; + } + + .text-sm-start { + text-align: left !important; + } + + .text-sm-end { + text-align: right !important; + } + + .text-sm-center { + text-align: center !important; + } +} +@media (min-width: 768px) { + .float-md-start { + float: left !important; + } + + .float-md-end { + float: right !important; + } + + .float-md-none { + float: none !important; + } + + .d-md-inline { + display: inline !important; + } + + .d-md-inline-block { + display: inline-block !important; + } + + .d-md-block { + display: block !important; + } + + .d-md-grid { + display: grid !important; + } + + .d-md-table { + display: table !important; + } + + .d-md-table-row { + display: table-row !important; + } + + .d-md-table-cell { + display: table-cell !important; + } + + .d-md-flex { + display: flex !important; + } + + .d-md-inline-flex { + display: inline-flex !important; + } + + .d-md-none { + display: none !important; + } + + .flex-md-fill { + flex: 1 1 auto !important; + } + + .flex-md-row { + flex-direction: row !important; + } + + .flex-md-column { + flex-direction: column !important; + } + + .flex-md-row-reverse { + flex-direction: row-reverse !important; + } + + .flex-md-column-reverse { + flex-direction: column-reverse !important; + } + + .flex-md-grow-0 { + flex-grow: 0 !important; + } + + .flex-md-grow-1 { + flex-grow: 1 !important; + } + + .flex-md-shrink-0 { + flex-shrink: 0 !important; + } + + .flex-md-shrink-1 { + flex-shrink: 1 !important; + } + + .flex-md-wrap { + flex-wrap: wrap !important; + } + + .flex-md-nowrap { + flex-wrap: nowrap !important; + } + + .flex-md-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + + .gap-md-0 { + gap: 0 !important; + } + + .gap-md-1 { + gap: 0.25rem !important; + } + + .gap-md-2 { + gap: 0.5rem !important; + } + + .gap-md-3 { + gap: 1rem !important; + } + + .gap-md-4 { + gap: 1.5rem !important; + } + + .gap-md-5 { + gap: 3rem !important; + } + + .justify-content-md-start { + justify-content: flex-start !important; + } + + .justify-content-md-end { + justify-content: flex-end !important; + } + + .justify-content-md-center { + justify-content: center !important; + } + + .justify-content-md-between { + justify-content: space-between !important; + } + + .justify-content-md-around { + justify-content: space-around !important; + } + + .justify-content-md-evenly { + justify-content: space-evenly !important; + } + + .align-items-md-start { + align-items: flex-start !important; + } + + .align-items-md-end { + align-items: flex-end !important; + } + + .align-items-md-center { + align-items: center !important; + } + + .align-items-md-baseline { + align-items: baseline !important; + } + + .align-items-md-stretch { + align-items: stretch !important; + } + + .align-content-md-start { + align-content: flex-start !important; + } + + .align-content-md-end { + align-content: flex-end !important; + } + + .align-content-md-center { + align-content: center !important; + } + + .align-content-md-between { + align-content: space-between !important; + } + + .align-content-md-around { + align-content: space-around !important; + } + + .align-content-md-stretch { + align-content: stretch !important; + } + + .align-self-md-auto { + align-self: auto !important; + } + + .align-self-md-start { + align-self: flex-start !important; + } + + .align-self-md-end { + align-self: flex-end !important; + } + + .align-self-md-center { + align-self: center !important; + } + + .align-self-md-baseline { + align-self: baseline !important; + } + + .align-self-md-stretch { + align-self: stretch !important; + } + + .order-md-first { + order: -1 !important; + } + + .order-md-0 { + order: 0 !important; + } + + .order-md-1 { + order: 1 !important; + } + + .order-md-2 { + order: 2 !important; + } + + .order-md-3 { + order: 3 !important; + } + + .order-md-4 { + order: 4 !important; + } + + .order-md-5 { + order: 5 !important; + } + + .order-md-last { + order: 6 !important; + } + + .m-md-0 { + margin: 0 !important; + } + + .m-md-1 { + margin: 0.25rem !important; + } + + .m-md-2 { + margin: 0.5rem !important; + } + + .m-md-3 { + margin: 1rem !important; + } + + .m-md-4 { + margin: 1.5rem !important; + } + + .m-md-5 { + margin: 3rem !important; + } + + .m-md-auto { + margin: auto !important; + } + + .mx-md-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + + .mx-md-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + + .mx-md-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + + .mx-md-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + + .mx-md-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + + .mx-md-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + + .mx-md-auto { + margin-right: auto !important; + margin-left: auto !important; + } + + .my-md-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + + .my-md-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + + .my-md-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + + .my-md-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + + .my-md-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + + .my-md-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + + .my-md-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + + .mt-md-0 { + margin-top: 0 !important; + } + + .mt-md-1 { + margin-top: 0.25rem !important; + } + + .mt-md-2 { + margin-top: 0.5rem !important; + } + + .mt-md-3 { + margin-top: 1rem !important; + } + + .mt-md-4 { + margin-top: 1.5rem !important; + } + + .mt-md-5 { + margin-top: 3rem !important; + } + + .mt-md-auto { + margin-top: auto !important; + } + + .me-md-0 { + margin-right: 0 !important; + } + + .me-md-1 { + margin-right: 0.25rem !important; + } + + .me-md-2 { + margin-right: 0.5rem !important; + } + + .me-md-3 { + margin-right: 1rem !important; + } + + .me-md-4 { + margin-right: 1.5rem !important; + } + + .me-md-5 { + margin-right: 3rem !important; + } + + .me-md-auto { + margin-right: auto !important; + } + + .mb-md-0 { + margin-bottom: 0 !important; + } + + .mb-md-1 { + margin-bottom: 0.25rem !important; + } + + .mb-md-2 { + margin-bottom: 0.5rem !important; + } + + .mb-md-3 { + margin-bottom: 1rem !important; + } + + .mb-md-4 { + margin-bottom: 1.5rem !important; + } + + .mb-md-5 { + margin-bottom: 3rem !important; + } + + .mb-md-auto { + margin-bottom: auto !important; + } + + .ms-md-0 { + margin-left: 0 !important; + } + + .ms-md-1 { + margin-left: 0.25rem !important; + } + + .ms-md-2 { + margin-left: 0.5rem !important; + } + + .ms-md-3 { + margin-left: 1rem !important; + } + + .ms-md-4 { + margin-left: 1.5rem !important; + } + + .ms-md-5 { + margin-left: 3rem !important; + } + + .ms-md-auto { + margin-left: auto !important; + } + + .p-md-0 { + padding: 0 !important; + } + + .p-md-1 { + padding: 0.25rem !important; + } + + .p-md-2 { + padding: 0.5rem !important; + } + + .p-md-3 { + padding: 1rem !important; + } + + .p-md-4 { + padding: 1.5rem !important; + } + + .p-md-5 { + padding: 3rem !important; + } + + .px-md-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + + .px-md-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + + .px-md-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + + .px-md-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + + .px-md-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + + .px-md-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + + .py-md-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + + .py-md-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + + .py-md-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + + .py-md-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + + .py-md-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + + .py-md-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + + .pt-md-0 { + padding-top: 0 !important; + } + + .pt-md-1 { + padding-top: 0.25rem !important; + } + + .pt-md-2 { + padding-top: 0.5rem !important; + } + + .pt-md-3 { + padding-top: 1rem !important; + } + + .pt-md-4 { + padding-top: 1.5rem !important; + } + + .pt-md-5 { + padding-top: 3rem !important; + } + + .pe-md-0 { + padding-right: 0 !important; + } + + .pe-md-1 { + padding-right: 0.25rem !important; + } + + .pe-md-2 { + padding-right: 0.5rem !important; + } + + .pe-md-3 { + padding-right: 1rem !important; + } + + .pe-md-4 { + padding-right: 1.5rem !important; + } + + .pe-md-5 { + padding-right: 3rem !important; + } + + .pb-md-0 { + padding-bottom: 0 !important; + } + + .pb-md-1 { + padding-bottom: 0.25rem !important; + } + + .pb-md-2 { + padding-bottom: 0.5rem !important; + } + + .pb-md-3 { + padding-bottom: 1rem !important; + } + + .pb-md-4 { + padding-bottom: 1.5rem !important; + } + + .pb-md-5 { + padding-bottom: 3rem !important; + } + + .ps-md-0 { + padding-left: 0 !important; + } + + .ps-md-1 { + padding-left: 0.25rem !important; + } + + .ps-md-2 { + padding-left: 0.5rem !important; + } + + .ps-md-3 { + padding-left: 1rem !important; + } + + .ps-md-4 { + padding-left: 1.5rem !important; + } + + .ps-md-5 { + padding-left: 3rem !important; + } + + .text-md-start { + text-align: left !important; + } + + .text-md-end { + text-align: right !important; + } + + .text-md-center { + text-align: center !important; + } +} +@media (min-width: 992px) { + .float-lg-start { + float: left !important; + } + + .float-lg-end { + float: right !important; + } + + .float-lg-none { + float: none !important; + } + + .d-lg-inline { + display: inline !important; + } + + .d-lg-inline-block { + display: inline-block !important; + } + + .d-lg-block { + display: block !important; + } + + .d-lg-grid { + display: grid !important; + } + + .d-lg-table { + display: table !important; + } + + .d-lg-table-row { + display: table-row !important; + } + + .d-lg-table-cell { + display: table-cell !important; + } + + .d-lg-flex { + display: flex !important; + } + + .d-lg-inline-flex { + display: inline-flex !important; + } + + .d-lg-none { + display: none !important; + } + + .flex-lg-fill { + flex: 1 1 auto !important; + } + + .flex-lg-row { + flex-direction: row !important; + } + + .flex-lg-column { + flex-direction: column !important; + } + + .flex-lg-row-reverse { + flex-direction: row-reverse !important; + } + + .flex-lg-column-reverse { + flex-direction: column-reverse !important; + } + + .flex-lg-grow-0 { + flex-grow: 0 !important; + } + + .flex-lg-grow-1 { + flex-grow: 1 !important; + } + + .flex-lg-shrink-0 { + flex-shrink: 0 !important; + } + + .flex-lg-shrink-1 { + flex-shrink: 1 !important; + } + + .flex-lg-wrap { + flex-wrap: wrap !important; + } + + .flex-lg-nowrap { + flex-wrap: nowrap !important; + } + + .flex-lg-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + + .gap-lg-0 { + gap: 0 !important; + } + + .gap-lg-1 { + gap: 0.25rem !important; + } + + .gap-lg-2 { + gap: 0.5rem !important; + } + + .gap-lg-3 { + gap: 1rem !important; + } + + .gap-lg-4 { + gap: 1.5rem !important; + } + + .gap-lg-5 { + gap: 3rem !important; + } + + .justify-content-lg-start { + justify-content: flex-start !important; + } + + .justify-content-lg-end { + justify-content: flex-end !important; + } + + .justify-content-lg-center { + justify-content: center !important; + } + + .justify-content-lg-between { + justify-content: space-between !important; + } + + .justify-content-lg-around { + justify-content: space-around !important; + } + + .justify-content-lg-evenly { + justify-content: space-evenly !important; + } + + .align-items-lg-start { + align-items: flex-start !important; + } + + .align-items-lg-end { + align-items: flex-end !important; + } + + .align-items-lg-center { + align-items: center !important; + } + + .align-items-lg-baseline { + align-items: baseline !important; + } + + .align-items-lg-stretch { + align-items: stretch !important; + } + + .align-content-lg-start { + align-content: flex-start !important; + } + + .align-content-lg-end { + align-content: flex-end !important; + } + + .align-content-lg-center { + align-content: center !important; + } + + .align-content-lg-between { + align-content: space-between !important; + } + + .align-content-lg-around { + align-content: space-around !important; + } + + .align-content-lg-stretch { + align-content: stretch !important; + } + + .align-self-lg-auto { + align-self: auto !important; + } + + .align-self-lg-start { + align-self: flex-start !important; + } + + .align-self-lg-end { + align-self: flex-end !important; + } + + .align-self-lg-center { + align-self: center !important; + } + + .align-self-lg-baseline { + align-self: baseline !important; + } + + .align-self-lg-stretch { + align-self: stretch !important; + } + + .order-lg-first { + order: -1 !important; + } + + .order-lg-0 { + order: 0 !important; + } + + .order-lg-1 { + order: 1 !important; + } + + .order-lg-2 { + order: 2 !important; + } + + .order-lg-3 { + order: 3 !important; + } + + .order-lg-4 { + order: 4 !important; + } + + .order-lg-5 { + order: 5 !important; + } + + .order-lg-last { + order: 6 !important; + } + + .m-lg-0 { + margin: 0 !important; + } + + .m-lg-1 { + margin: 0.25rem !important; + } + + .m-lg-2 { + margin: 0.5rem !important; + } + + .m-lg-3 { + margin: 1rem !important; + } + + .m-lg-4 { + margin: 1.5rem !important; + } + + .m-lg-5 { + margin: 3rem !important; + } + + .m-lg-auto { + margin: auto !important; + } + + .mx-lg-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + + .mx-lg-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + + .mx-lg-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + + .mx-lg-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + + .mx-lg-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + + .mx-lg-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + + .mx-lg-auto { + margin-right: auto !important; + margin-left: auto !important; + } + + .my-lg-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + + .my-lg-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + + .my-lg-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + + .my-lg-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + + .my-lg-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + + .my-lg-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + + .my-lg-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + + .mt-lg-0 { + margin-top: 0 !important; + } + + .mt-lg-1 { + margin-top: 0.25rem !important; + } + + .mt-lg-2 { + margin-top: 0.5rem !important; + } + + .mt-lg-3 { + margin-top: 1rem !important; + } + + .mt-lg-4 { + margin-top: 1.5rem !important; + } + + .mt-lg-5 { + margin-top: 3rem !important; + } + + .mt-lg-auto { + margin-top: auto !important; + } + + .me-lg-0 { + margin-right: 0 !important; + } + + .me-lg-1 { + margin-right: 0.25rem !important; + } + + .me-lg-2 { + margin-right: 0.5rem !important; + } + + .me-lg-3 { + margin-right: 1rem !important; + } + + .me-lg-4 { + margin-right: 1.5rem !important; + } + + .me-lg-5 { + margin-right: 3rem !important; + } + + .me-lg-auto { + margin-right: auto !important; + } + + .mb-lg-0 { + margin-bottom: 0 !important; + } + + .mb-lg-1 { + margin-bottom: 0.25rem !important; + } + + .mb-lg-2 { + margin-bottom: 0.5rem !important; + } + + .mb-lg-3 { + margin-bottom: 1rem !important; + } + + .mb-lg-4 { + margin-bottom: 1.5rem !important; + } + + .mb-lg-5 { + margin-bottom: 3rem !important; + } + + .mb-lg-auto { + margin-bottom: auto !important; + } + + .ms-lg-0 { + margin-left: 0 !important; + } + + .ms-lg-1 { + margin-left: 0.25rem !important; + } + + .ms-lg-2 { + margin-left: 0.5rem !important; + } + + .ms-lg-3 { + margin-left: 1rem !important; + } + + .ms-lg-4 { + margin-left: 1.5rem !important; + } + + .ms-lg-5 { + margin-left: 3rem !important; + } + + .ms-lg-auto { + margin-left: auto !important; + } + + .p-lg-0 { + padding: 0 !important; + } + + .p-lg-1 { + padding: 0.25rem !important; + } + + .p-lg-2 { + padding: 0.5rem !important; + } + + .p-lg-3 { + padding: 1rem !important; + } + + .p-lg-4 { + padding: 1.5rem !important; + } + + .p-lg-5 { + padding: 3rem !important; + } + + .px-lg-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + + .px-lg-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + + .px-lg-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + + .px-lg-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + + .px-lg-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + + .px-lg-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + + .py-lg-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + + .py-lg-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + + .py-lg-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + + .py-lg-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + + .py-lg-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + + .py-lg-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + + .pt-lg-0 { + padding-top: 0 !important; + } + + .pt-lg-1 { + padding-top: 0.25rem !important; + } + + .pt-lg-2 { + padding-top: 0.5rem !important; + } + + .pt-lg-3 { + padding-top: 1rem !important; + } + + .pt-lg-4 { + padding-top: 1.5rem !important; + } + + .pt-lg-5 { + padding-top: 3rem !important; + } + + .pe-lg-0 { + padding-right: 0 !important; + } + + .pe-lg-1 { + padding-right: 0.25rem !important; + } + + .pe-lg-2 { + padding-right: 0.5rem !important; + } + + .pe-lg-3 { + padding-right: 1rem !important; + } + + .pe-lg-4 { + padding-right: 1.5rem !important; + } + + .pe-lg-5 { + padding-right: 3rem !important; + } + + .pb-lg-0 { + padding-bottom: 0 !important; + } + + .pb-lg-1 { + padding-bottom: 0.25rem !important; + } + + .pb-lg-2 { + padding-bottom: 0.5rem !important; + } + + .pb-lg-3 { + padding-bottom: 1rem !important; + } + + .pb-lg-4 { + padding-bottom: 1.5rem !important; + } + + .pb-lg-5 { + padding-bottom: 3rem !important; + } + + .ps-lg-0 { + padding-left: 0 !important; + } + + .ps-lg-1 { + padding-left: 0.25rem !important; + } + + .ps-lg-2 { + padding-left: 0.5rem !important; + } + + .ps-lg-3 { + padding-left: 1rem !important; + } + + .ps-lg-4 { + padding-left: 1.5rem !important; + } + + .ps-lg-5 { + padding-left: 3rem !important; + } + + .text-lg-start { + text-align: left !important; + } + + .text-lg-end { + text-align: right !important; + } + + .text-lg-center { + text-align: center !important; + } +} +@media (min-width: 1200px) { + .float-xl-start { + float: left !important; + } + + .float-xl-end { + float: right !important; + } + + .float-xl-none { + float: none !important; + } + + .d-xl-inline { + display: inline !important; + } + + .d-xl-inline-block { + display: inline-block !important; + } + + .d-xl-block { + display: block !important; + } + + .d-xl-grid { + display: grid !important; + } + + .d-xl-table { + display: table !important; + } + + .d-xl-table-row { + display: table-row !important; + } + + .d-xl-table-cell { + display: table-cell !important; + } + + .d-xl-flex { + display: flex !important; + } + + .d-xl-inline-flex { + display: inline-flex !important; + } + + .d-xl-none { + display: none !important; + } + + .flex-xl-fill { + flex: 1 1 auto !important; + } + + .flex-xl-row { + flex-direction: row !important; + } + + .flex-xl-column { + flex-direction: column !important; + } + + .flex-xl-row-reverse { + flex-direction: row-reverse !important; + } + + .flex-xl-column-reverse { + flex-direction: column-reverse !important; + } + + .flex-xl-grow-0 { + flex-grow: 0 !important; + } + + .flex-xl-grow-1 { + flex-grow: 1 !important; + } + + .flex-xl-shrink-0 { + flex-shrink: 0 !important; + } + + .flex-xl-shrink-1 { + flex-shrink: 1 !important; + } + + .flex-xl-wrap { + flex-wrap: wrap !important; + } + + .flex-xl-nowrap { + flex-wrap: nowrap !important; + } + + .flex-xl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + + .gap-xl-0 { + gap: 0 !important; + } + + .gap-xl-1 { + gap: 0.25rem !important; + } + + .gap-xl-2 { + gap: 0.5rem !important; + } + + .gap-xl-3 { + gap: 1rem !important; + } + + .gap-xl-4 { + gap: 1.5rem !important; + } + + .gap-xl-5 { + gap: 3rem !important; + } + + .justify-content-xl-start { + justify-content: flex-start !important; + } + + .justify-content-xl-end { + justify-content: flex-end !important; + } + + .justify-content-xl-center { + justify-content: center !important; + } + + .justify-content-xl-between { + justify-content: space-between !important; + } + + .justify-content-xl-around { + justify-content: space-around !important; + } + + .justify-content-xl-evenly { + justify-content: space-evenly !important; + } + + .align-items-xl-start { + align-items: flex-start !important; + } + + .align-items-xl-end { + align-items: flex-end !important; + } + + .align-items-xl-center { + align-items: center !important; + } + + .align-items-xl-baseline { + align-items: baseline !important; + } + + .align-items-xl-stretch { + align-items: stretch !important; + } + + .align-content-xl-start { + align-content: flex-start !important; + } + + .align-content-xl-end { + align-content: flex-end !important; + } + + .align-content-xl-center { + align-content: center !important; + } + + .align-content-xl-between { + align-content: space-between !important; + } + + .align-content-xl-around { + align-content: space-around !important; + } + + .align-content-xl-stretch { + align-content: stretch !important; + } + + .align-self-xl-auto { + align-self: auto !important; + } + + .align-self-xl-start { + align-self: flex-start !important; + } + + .align-self-xl-end { + align-self: flex-end !important; + } + + .align-self-xl-center { + align-self: center !important; + } + + .align-self-xl-baseline { + align-self: baseline !important; + } + + .align-self-xl-stretch { + align-self: stretch !important; + } + + .order-xl-first { + order: -1 !important; + } + + .order-xl-0 { + order: 0 !important; + } + + .order-xl-1 { + order: 1 !important; + } + + .order-xl-2 { + order: 2 !important; + } + + .order-xl-3 { + order: 3 !important; + } + + .order-xl-4 { + order: 4 !important; + } + + .order-xl-5 { + order: 5 !important; + } + + .order-xl-last { + order: 6 !important; + } + + .m-xl-0 { + margin: 0 !important; + } + + .m-xl-1 { + margin: 0.25rem !important; + } + + .m-xl-2 { + margin: 0.5rem !important; + } + + .m-xl-3 { + margin: 1rem !important; + } + + .m-xl-4 { + margin: 1.5rem !important; + } + + .m-xl-5 { + margin: 3rem !important; + } + + .m-xl-auto { + margin: auto !important; + } + + .mx-xl-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + + .mx-xl-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + + .mx-xl-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + + .mx-xl-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + + .mx-xl-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + + .mx-xl-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + + .mx-xl-auto { + margin-right: auto !important; + margin-left: auto !important; + } + + .my-xl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + + .my-xl-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + + .my-xl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + + .my-xl-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + + .my-xl-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + + .my-xl-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + + .my-xl-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + + .mt-xl-0 { + margin-top: 0 !important; + } + + .mt-xl-1 { + margin-top: 0.25rem !important; + } + + .mt-xl-2 { + margin-top: 0.5rem !important; + } + + .mt-xl-3 { + margin-top: 1rem !important; + } + + .mt-xl-4 { + margin-top: 1.5rem !important; + } + + .mt-xl-5 { + margin-top: 3rem !important; + } + + .mt-xl-auto { + margin-top: auto !important; + } + + .me-xl-0 { + margin-right: 0 !important; + } + + .me-xl-1 { + margin-right: 0.25rem !important; + } + + .me-xl-2 { + margin-right: 0.5rem !important; + } + + .me-xl-3 { + margin-right: 1rem !important; + } + + .me-xl-4 { + margin-right: 1.5rem !important; + } + + .me-xl-5 { + margin-right: 3rem !important; + } + + .me-xl-auto { + margin-right: auto !important; + } + + .mb-xl-0 { + margin-bottom: 0 !important; + } + + .mb-xl-1 { + margin-bottom: 0.25rem !important; + } + + .mb-xl-2 { + margin-bottom: 0.5rem !important; + } + + .mb-xl-3 { + margin-bottom: 1rem !important; + } + + .mb-xl-4 { + margin-bottom: 1.5rem !important; + } + + .mb-xl-5 { + margin-bottom: 3rem !important; + } + + .mb-xl-auto { + margin-bottom: auto !important; + } + + .ms-xl-0 { + margin-left: 0 !important; + } + + .ms-xl-1 { + margin-left: 0.25rem !important; + } + + .ms-xl-2 { + margin-left: 0.5rem !important; + } + + .ms-xl-3 { + margin-left: 1rem !important; + } + + .ms-xl-4 { + margin-left: 1.5rem !important; + } + + .ms-xl-5 { + margin-left: 3rem !important; + } + + .ms-xl-auto { + margin-left: auto !important; + } + + .p-xl-0 { + padding: 0 !important; + } + + .p-xl-1 { + padding: 0.25rem !important; + } + + .p-xl-2 { + padding: 0.5rem !important; + } + + .p-xl-3 { + padding: 1rem !important; + } + + .p-xl-4 { + padding: 1.5rem !important; + } + + .p-xl-5 { + padding: 3rem !important; + } + + .px-xl-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + + .px-xl-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + + .px-xl-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + + .px-xl-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + + .px-xl-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + + .px-xl-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + + .py-xl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + + .py-xl-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + + .py-xl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + + .py-xl-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + + .py-xl-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + + .py-xl-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + + .pt-xl-0 { + padding-top: 0 !important; + } + + .pt-xl-1 { + padding-top: 0.25rem !important; + } + + .pt-xl-2 { + padding-top: 0.5rem !important; + } + + .pt-xl-3 { + padding-top: 1rem !important; + } + + .pt-xl-4 { + padding-top: 1.5rem !important; + } + + .pt-xl-5 { + padding-top: 3rem !important; + } + + .pe-xl-0 { + padding-right: 0 !important; + } + + .pe-xl-1 { + padding-right: 0.25rem !important; + } + + .pe-xl-2 { + padding-right: 0.5rem !important; + } + + .pe-xl-3 { + padding-right: 1rem !important; + } + + .pe-xl-4 { + padding-right: 1.5rem !important; + } + + .pe-xl-5 { + padding-right: 3rem !important; + } + + .pb-xl-0 { + padding-bottom: 0 !important; + } + + .pb-xl-1 { + padding-bottom: 0.25rem !important; + } + + .pb-xl-2 { + padding-bottom: 0.5rem !important; + } + + .pb-xl-3 { + padding-bottom: 1rem !important; + } + + .pb-xl-4 { + padding-bottom: 1.5rem !important; + } + + .pb-xl-5 { + padding-bottom: 3rem !important; + } + + .ps-xl-0 { + padding-left: 0 !important; + } + + .ps-xl-1 { + padding-left: 0.25rem !important; + } + + .ps-xl-2 { + padding-left: 0.5rem !important; + } + + .ps-xl-3 { + padding-left: 1rem !important; + } + + .ps-xl-4 { + padding-left: 1.5rem !important; + } + + .ps-xl-5 { + padding-left: 3rem !important; + } + + .text-xl-start { + text-align: left !important; + } + + .text-xl-end { + text-align: right !important; + } + + .text-xl-center { + text-align: center !important; + } +} +@media (min-width: 1400px) { + .float-xxl-start { + float: left !important; + } + + .float-xxl-end { + float: right !important; + } + + .float-xxl-none { + float: none !important; + } + + .d-xxl-inline { + display: inline !important; + } + + .d-xxl-inline-block { + display: inline-block !important; + } + + .d-xxl-block { + display: block !important; + } + + .d-xxl-grid { + display: grid !important; + } + + .d-xxl-table { + display: table !important; + } + + .d-xxl-table-row { + display: table-row !important; + } + + .d-xxl-table-cell { + display: table-cell !important; + } + + .d-xxl-flex { + display: flex !important; + } + + .d-xxl-inline-flex { + display: inline-flex !important; + } + + .d-xxl-none { + display: none !important; + } + + .flex-xxl-fill { + flex: 1 1 auto !important; + } + + .flex-xxl-row { + flex-direction: row !important; + } + + .flex-xxl-column { + flex-direction: column !important; + } + + .flex-xxl-row-reverse { + flex-direction: row-reverse !important; + } + + .flex-xxl-column-reverse { + flex-direction: column-reverse !important; + } + + .flex-xxl-grow-0 { + flex-grow: 0 !important; + } + + .flex-xxl-grow-1 { + flex-grow: 1 !important; + } + + .flex-xxl-shrink-0 { + flex-shrink: 0 !important; + } + + .flex-xxl-shrink-1 { + flex-shrink: 1 !important; + } + + .flex-xxl-wrap { + flex-wrap: wrap !important; + } + + .flex-xxl-nowrap { + flex-wrap: nowrap !important; + } + + .flex-xxl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + + .gap-xxl-0 { + gap: 0 !important; + } + + .gap-xxl-1 { + gap: 0.25rem !important; + } + + .gap-xxl-2 { + gap: 0.5rem !important; + } + + .gap-xxl-3 { + gap: 1rem !important; + } + + .gap-xxl-4 { + gap: 1.5rem !important; + } + + .gap-xxl-5 { + gap: 3rem !important; + } + + .justify-content-xxl-start { + justify-content: flex-start !important; + } + + .justify-content-xxl-end { + justify-content: flex-end !important; + } + + .justify-content-xxl-center { + justify-content: center !important; + } + + .justify-content-xxl-between { + justify-content: space-between !important; + } + + .justify-content-xxl-around { + justify-content: space-around !important; + } + + .justify-content-xxl-evenly { + justify-content: space-evenly !important; + } + + .align-items-xxl-start { + align-items: flex-start !important; + } + + .align-items-xxl-end { + align-items: flex-end !important; + } + + .align-items-xxl-center { + align-items: center !important; + } + + .align-items-xxl-baseline { + align-items: baseline !important; + } + + .align-items-xxl-stretch { + align-items: stretch !important; + } + + .align-content-xxl-start { + align-content: flex-start !important; + } + + .align-content-xxl-end { + align-content: flex-end !important; + } + + .align-content-xxl-center { + align-content: center !important; + } + + .align-content-xxl-between { + align-content: space-between !important; + } + + .align-content-xxl-around { + align-content: space-around !important; + } + + .align-content-xxl-stretch { + align-content: stretch !important; + } + + .align-self-xxl-auto { + align-self: auto !important; + } + + .align-self-xxl-start { + align-self: flex-start !important; + } + + .align-self-xxl-end { + align-self: flex-end !important; + } + + .align-self-xxl-center { + align-self: center !important; + } + + .align-self-xxl-baseline { + align-self: baseline !important; + } + + .align-self-xxl-stretch { + align-self: stretch !important; + } + + .order-xxl-first { + order: -1 !important; + } + + .order-xxl-0 { + order: 0 !important; + } + + .order-xxl-1 { + order: 1 !important; + } + + .order-xxl-2 { + order: 2 !important; + } + + .order-xxl-3 { + order: 3 !important; + } + + .order-xxl-4 { + order: 4 !important; + } + + .order-xxl-5 { + order: 5 !important; + } + + .order-xxl-last { + order: 6 !important; + } + + .m-xxl-0 { + margin: 0 !important; + } + + .m-xxl-1 { + margin: 0.25rem !important; + } + + .m-xxl-2 { + margin: 0.5rem !important; + } + + .m-xxl-3 { + margin: 1rem !important; + } + + .m-xxl-4 { + margin: 1.5rem !important; + } + + .m-xxl-5 { + margin: 3rem !important; + } + + .m-xxl-auto { + margin: auto !important; + } + + .mx-xxl-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + + .mx-xxl-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + + .mx-xxl-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + + .mx-xxl-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + + .mx-xxl-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + + .mx-xxl-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + + .mx-xxl-auto { + margin-right: auto !important; + margin-left: auto !important; + } + + .my-xxl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + + .my-xxl-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + + .my-xxl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + + .my-xxl-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + + .my-xxl-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + + .my-xxl-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + + .my-xxl-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + + .mt-xxl-0 { + margin-top: 0 !important; + } + + .mt-xxl-1 { + margin-top: 0.25rem !important; + } + + .mt-xxl-2 { + margin-top: 0.5rem !important; + } + + .mt-xxl-3 { + margin-top: 1rem !important; + } + + .mt-xxl-4 { + margin-top: 1.5rem !important; + } + + .mt-xxl-5 { + margin-top: 3rem !important; + } + + .mt-xxl-auto { + margin-top: auto !important; + } + + .me-xxl-0 { + margin-right: 0 !important; + } + + .me-xxl-1 { + margin-right: 0.25rem !important; + } + + .me-xxl-2 { + margin-right: 0.5rem !important; + } + + .me-xxl-3 { + margin-right: 1rem !important; + } + + .me-xxl-4 { + margin-right: 1.5rem !important; + } + + .me-xxl-5 { + margin-right: 3rem !important; + } + + .me-xxl-auto { + margin-right: auto !important; + } + + .mb-xxl-0 { + margin-bottom: 0 !important; + } + + .mb-xxl-1 { + margin-bottom: 0.25rem !important; + } + + .mb-xxl-2 { + margin-bottom: 0.5rem !important; + } + + .mb-xxl-3 { + margin-bottom: 1rem !important; + } + + .mb-xxl-4 { + margin-bottom: 1.5rem !important; + } + + .mb-xxl-5 { + margin-bottom: 3rem !important; + } + + .mb-xxl-auto { + margin-bottom: auto !important; + } + + .ms-xxl-0 { + margin-left: 0 !important; + } + + .ms-xxl-1 { + margin-left: 0.25rem !important; + } + + .ms-xxl-2 { + margin-left: 0.5rem !important; + } + + .ms-xxl-3 { + margin-left: 1rem !important; + } + + .ms-xxl-4 { + margin-left: 1.5rem !important; + } + + .ms-xxl-5 { + margin-left: 3rem !important; + } + + .ms-xxl-auto { + margin-left: auto !important; + } + + .p-xxl-0 { + padding: 0 !important; + } + + .p-xxl-1 { + padding: 0.25rem !important; + } + + .p-xxl-2 { + padding: 0.5rem !important; + } + + .p-xxl-3 { + padding: 1rem !important; + } + + .p-xxl-4 { + padding: 1.5rem !important; + } + + .p-xxl-5 { + padding: 3rem !important; + } + + .px-xxl-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + + .px-xxl-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + + .px-xxl-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + + .px-xxl-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + + .px-xxl-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + + .px-xxl-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + + .py-xxl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + + .py-xxl-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + + .py-xxl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + + .py-xxl-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + + .py-xxl-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + + .py-xxl-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + + .pt-xxl-0 { + padding-top: 0 !important; + } + + .pt-xxl-1 { + padding-top: 0.25rem !important; + } + + .pt-xxl-2 { + padding-top: 0.5rem !important; + } + + .pt-xxl-3 { + padding-top: 1rem !important; + } + + .pt-xxl-4 { + padding-top: 1.5rem !important; + } + + .pt-xxl-5 { + padding-top: 3rem !important; + } + + .pe-xxl-0 { + padding-right: 0 !important; + } + + .pe-xxl-1 { + padding-right: 0.25rem !important; + } + + .pe-xxl-2 { + padding-right: 0.5rem !important; + } + + .pe-xxl-3 { + padding-right: 1rem !important; + } + + .pe-xxl-4 { + padding-right: 1.5rem !important; + } + + .pe-xxl-5 { + padding-right: 3rem !important; + } + + .pb-xxl-0 { + padding-bottom: 0 !important; + } + + .pb-xxl-1 { + padding-bottom: 0.25rem !important; + } + + .pb-xxl-2 { + padding-bottom: 0.5rem !important; + } + + .pb-xxl-3 { + padding-bottom: 1rem !important; + } + + .pb-xxl-4 { + padding-bottom: 1.5rem !important; + } + + .pb-xxl-5 { + padding-bottom: 3rem !important; + } + + .ps-xxl-0 { + padding-left: 0 !important; + } + + .ps-xxl-1 { + padding-left: 0.25rem !important; + } + + .ps-xxl-2 { + padding-left: 0.5rem !important; + } + + .ps-xxl-3 { + padding-left: 1rem !important; + } + + .ps-xxl-4 { + padding-left: 1.5rem !important; + } + + .ps-xxl-5 { + padding-left: 3rem !important; + } + + .text-xxl-start { + text-align: left !important; + } + + .text-xxl-end { + text-align: right !important; + } + + .text-xxl-center { + text-align: center !important; + } +} +@media (min-width: 1200px) { + .fs-1 { + font-size: 2.5rem !important; + } + + .fs-2 { + font-size: 2rem !important; + } + + .fs-3 { + font-size: 1.75rem !important; + } + + .fs-4 { + font-size: 1.5rem !important; + } +} +@media print { + .d-print-inline { + display: inline !important; + } + + .d-print-inline-block { + display: inline-block !important; + } + + .d-print-block { + display: block !important; + } + + .d-print-grid { + display: grid !important; + } + + .d-print-table { + display: table !important; + } + + .d-print-table-row { + display: table-row !important; + } + + .d-print-table-cell { + display: table-cell !important; + } + + .d-print-flex { + display: flex !important; + } + + .d-print-inline-flex { + display: inline-flex !important; + } + + .d-print-none { + display: none !important; + } +} + +/*# sourceMappingURL=bootstrap.css.map */ \ No newline at end of file diff --git a/h5/bootstrapmini5.1/bootstrap.min.js b/h5/bootstrapmini5.1/bootstrap.min.js new file mode 100644 index 0000000..e50d391 --- /dev/null +++ b/h5/bootstrapmini5.1/bootstrap.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap v5.1.0 (https://getbootstrap.com/) + * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("@popperjs/core")):"function"==typeof define&&define.amd?define(["@popperjs/core"],e):(t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap=e(t.Popper)}(this,(function(t){"use strict";function e(t){if(t&&t.__esModule)return t;var e=Object.create(null);return t&&Object.keys(t).forEach((function(i){if("default"!==i){var s=Object.getOwnPropertyDescriptor(t,i);Object.defineProperty(e,i,s.get?s:{enumerable:!0,get:function(){return t[i]}})}})),e.default=t,Object.freeze(e)}var i=e(t);const s=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let i=t.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i="#"+i.split("#")[1]),e=i&&"#"!==i?i.trim():null}return e},n=t=>{const e=s(t);return e&&document.querySelector(e)?e:null},o=t=>{const e=s(t);return e?document.querySelector(e):null},r=t=>{t.dispatchEvent(new Event("transitionend"))},a=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),l=t=>a(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(t):null,c=(t,e,i)=>{Object.keys(i).forEach(s=>{const n=i[s],o=e[s],r=o&&a(o)?"element":null==(l=o)?""+l:{}.toString.call(l).match(/\s([a-z]+)/i)[1].toLowerCase();var l;if(!new RegExp(n).test(r))throw new TypeError(`${t.toUpperCase()}: Option "${s}" provided type "${r}" but expected type "${n}".`)})},h=t=>!(!a(t)||0===t.getClientRects().length)&&"visible"===getComputedStyle(t).getPropertyValue("visibility"),d=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),u=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?u(t.parentNode):null},g=()=>{},p=t=>{t.offsetHeight},f=()=>{const{jQuery:t}=window;return t&&!document.body.hasAttribute("data-bs-no-jquery")?t:null},_=[],m=()=>"rtl"===document.documentElement.dir,b=t=>{var e;e=()=>{const e=f();if(e){const i=t.NAME,s=e.fn[i];e.fn[i]=t.jQueryInterface,e.fn[i].Constructor=t,e.fn[i].noConflict=()=>(e.fn[i]=s,t.jQueryInterface)}},"loading"===document.readyState?(_.length||document.addEventListener("DOMContentLoaded",()=>{_.forEach(t=>t())}),_.push(e)):e()},v=t=>{"function"==typeof t&&t()},y=(t,e,i=!0)=>{if(!i)return void v(t);const s=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const s=Number.parseFloat(e),n=Number.parseFloat(i);return s||n?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(e)+5;let n=!1;const o=({target:i})=>{i===e&&(n=!0,e.removeEventListener("transitionend",o),v(t))};e.addEventListener("transitionend",o),setTimeout(()=>{n||r(e)},s)},w=(t,e,i,s)=>{let n=t.indexOf(e);if(-1===n)return t[!i&&s?t.length-1:0];const o=t.length;return n+=i?1:-1,s&&(n=(n+o)%o),t[Math.max(0,Math.min(n,o-1))]},E=/[^.]*(?=\..*)\.|.*/,A=/\..*/,T=/::\d+$/,C={};let k=1;const L={mouseenter:"mouseover",mouseleave:"mouseout"},S=/^(mouseenter|mouseleave)/i,O=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 N(t,e){return e&&`${e}::${k++}`||t.uidEvent||k++}function D(t){const e=N(t);return t.uidEvent=e,C[e]=C[e]||{},C[e]}function I(t,e,i=null){const s=Object.keys(t);for(let n=0,o=s.length;nfunction(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};s?s=t(s):i=t(i)}const[o,r,a]=x(e,i,s),l=D(t),c=l[a]||(l[a]={}),h=I(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&n);const d=N(r,e.replace(E,"")),u=o?function(t,e,i){return function s(n){const o=t.querySelectorAll(e);for(let{target:r}=n;r&&r!==this;r=r.parentNode)for(let a=o.length;a--;)if(o[a]===r)return n.delegateTarget=r,s.oneOff&&H.off(t,n.type,e,i),i.apply(r,[n]);return null}}(t,i,s):function(t,e){return function i(s){return s.delegateTarget=t,i.oneOff&&H.off(t,s.type,e),e.apply(t,[s])}}(t,i);u.delegationSelector=o?i:null,u.originalHandler=r,u.oneOff=n,u.uidEvent=d,c[d]=u,t.addEventListener(a,u,o)}function M(t,e,i,s,n){const o=I(e[i],s,n);o&&(t.removeEventListener(i,o,Boolean(n)),delete e[i][o.uidEvent])}function j(t){return t=t.replace(A,""),L[t]||t}const H={on(t,e,i,s){P(t,e,i,s,!1)},one(t,e,i,s){P(t,e,i,s,!0)},off(t,e,i,s){if("string"!=typeof e||!t)return;const[n,o,r]=x(e,i,s),a=r!==e,l=D(t),c=e.startsWith(".");if(void 0!==o){if(!l||!l[r])return;return void M(t,l,r,o,n?i:null)}c&&Object.keys(l).forEach(i=>{!function(t,e,i,s){const n=e[i]||{};Object.keys(n).forEach(o=>{if(o.includes(s)){const s=n[o];M(t,e,i,s.originalHandler,s.delegationSelector)}})}(t,l,i,e.slice(1))});const h=l[r]||{};Object.keys(h).forEach(i=>{const s=i.replace(T,"");if(!a||e.includes(s)){const e=h[i];M(t,l,r,e.originalHandler,e.delegationSelector)}})},trigger(t,e,i){if("string"!=typeof e||!t)return null;const s=f(),n=j(e),o=e!==n,r=O.has(n);let a,l=!0,c=!0,h=!1,d=null;return o&&s&&(a=s.Event(e,i),s(t).trigger(a),l=!a.isPropagationStopped(),c=!a.isImmediatePropagationStopped(),h=a.isDefaultPrevented()),r?(d=document.createEvent("HTMLEvents"),d.initEvent(n,l,!0)):d=new CustomEvent(e,{bubbles:l,cancelable:!0}),void 0!==i&&Object.keys(i).forEach(t=>{Object.defineProperty(d,t,{get:()=>i[t]})}),h&&d.preventDefault(),c&&t.dispatchEvent(d),d.defaultPrevented&&void 0!==a&&a.preventDefault(),d}},B=new Map;var z={set(t,e,i){B.has(t)||B.set(t,new Map);const s=B.get(t);s.has(e)||0===s.size?s.set(e,i):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(s.keys())[0]}.`)},get:(t,e)=>B.has(t)&&B.get(t).get(e)||null,remove(t,e){if(!B.has(t))return;const i=B.get(t);i.delete(e),0===i.size&&B.delete(t)}};class R{constructor(t){(t=l(t))&&(this._element=t,z.set(this._element,this.constructor.DATA_KEY,this))}dispose(){z.remove(this._element,this.constructor.DATA_KEY),H.off(this._element,this.constructor.EVENT_KEY),Object.getOwnPropertyNames(this).forEach(t=>{this[t]=null})}_queueCallback(t,e,i=!0){y(t,e,i)}static getInstance(t){return z.get(l(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.1.0"}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}static get DATA_KEY(){return"bs."+this.NAME}static get EVENT_KEY(){return"."+this.DATA_KEY}}const F=(t,e="hide")=>{const i="click.dismiss"+t.EVENT_KEY,s=t.NAME;H.on(document,i,`[data-bs-dismiss="${s}"]`,(function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),d(this))return;const n=o(this)||this.closest("."+s);t.getOrCreateInstance(n)[e]()}))};class W extends R{static get NAME(){return"alert"}close(){if(H.trigger(this._element,"close.bs.alert").defaultPrevented)return;this._element.classList.remove("show");const t=this._element.classList.contains("fade");this._queueCallback(()=>this._destroyElement(),this._element,t)}_destroyElement(){this._element.remove(),H.trigger(this._element,"closed.bs.alert"),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=W.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}F(W,"close"),b(W);class $ extends R{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each((function(){const e=$.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}function q(t){return"true"===t||"false"!==t&&(t===Number(t).toString()?Number(t):""===t||"null"===t?null:t)}function U(t){return t.replace(/[A-Z]/g,t=>"-"+t.toLowerCase())}H.on(document,"click.bs.button.data-api",'[data-bs-toggle="button"]',t=>{t.preventDefault();const e=t.target.closest('[data-bs-toggle="button"]');$.getOrCreateInstance(e).toggle()}),b($);const K={setDataAttribute(t,e,i){t.setAttribute("data-bs-"+U(e),i)},removeDataAttribute(t,e){t.removeAttribute("data-bs-"+U(e))},getDataAttributes(t){if(!t)return{};const e={};return Object.keys(t.dataset).filter(t=>t.startsWith("bs")).forEach(i=>{let s=i.replace(/^bs/,"");s=s.charAt(0).toLowerCase()+s.slice(1,s.length),e[s]=q(t.dataset[i])}),e},getDataAttribute:(t,e)=>q(t.getAttribute("data-bs-"+U(e))),offset(t){const e=t.getBoundingClientRect();return{top:e.top+window.pageYOffset,left:e.left+window.pageXOffset}},position:t=>({top:t.offsetTop,left:t.offsetLeft})},V={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter(t=>t.matches(e)),parents(t,e){const i=[];let s=t.parentNode;for(;s&&s.nodeType===Node.ELEMENT_NODE&&3!==s.nodeType;)s.matches(e)&&i.push(s),s=s.parentNode;return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]},focusableChildren(t){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map(t=>t+':not([tabindex^="-"])').join(", ");return this.find(e,t).filter(t=>!d(t)&&h(t))}},X={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},Y={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},Q="next",G="prev",Z="left",J="right",tt={ArrowLeft:J,ArrowRight:Z};class et extends R{constructor(t,e){super(t),this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(e),this._indicatorsElement=V.findOne(".carousel-indicators",this._element),this._touchSupported="ontouchstart"in document.documentElement||navigator.maxTouchPoints>0,this._pointerEvent=Boolean(window.PointerEvent),this._addEventListeners()}static get Default(){return X}static get NAME(){return"carousel"}next(){this._slide(Q)}nextWhenVisible(){!document.hidden&&h(this._element)&&this.next()}prev(){this._slide(G)}pause(t){t||(this._isPaused=!0),V.findOne(".carousel-item-next, .carousel-item-prev",this._element)&&(r(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null}cycle(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config&&this._config.interval&&!this._isPaused&&(this._updateInterval(),this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))}to(t){this._activeElement=V.findOne(".active.carousel-item",this._element);const e=this._getItemIndex(this._activeElement);if(t>this._items.length-1||t<0)return;if(this._isSliding)return void H.one(this._element,"slid.bs.carousel",()=>this.to(t));if(e===t)return this.pause(),void this.cycle();const i=t>e?Q:G;this._slide(i,this._items[t])}_getConfig(t){return t={...X,...K.getDataAttributes(this._element),..."object"==typeof t?t:{}},c("carousel",t,Y),t}_handleSwipe(){const t=Math.abs(this.touchDeltaX);if(t<=40)return;const e=t/this.touchDeltaX;this.touchDeltaX=0,e&&this._slide(e>0?J:Z)}_addEventListeners(){this._config.keyboard&&H.on(this._element,"keydown.bs.carousel",t=>this._keydown(t)),"hover"===this._config.pause&&(H.on(this._element,"mouseenter.bs.carousel",t=>this.pause(t)),H.on(this._element,"mouseleave.bs.carousel",t=>this.cycle(t))),this._config.touch&&this._touchSupported&&this._addTouchEventListeners()}_addTouchEventListeners(){const t=t=>{!this._pointerEvent||"pen"!==t.pointerType&&"touch"!==t.pointerType?this._pointerEvent||(this.touchStartX=t.touches[0].clientX):this.touchStartX=t.clientX},e=t=>{this.touchDeltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this.touchStartX},i=t=>{!this._pointerEvent||"pen"!==t.pointerType&&"touch"!==t.pointerType||(this.touchDeltaX=t.clientX-this.touchStartX),this._handleSwipe(),"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(t=>this.cycle(t),500+this._config.interval))};V.find(".carousel-item img",this._element).forEach(t=>{H.on(t,"dragstart.bs.carousel",t=>t.preventDefault())}),this._pointerEvent?(H.on(this._element,"pointerdown.bs.carousel",e=>t(e)),H.on(this._element,"pointerup.bs.carousel",t=>i(t)),this._element.classList.add("pointer-event")):(H.on(this._element,"touchstart.bs.carousel",e=>t(e)),H.on(this._element,"touchmove.bs.carousel",t=>e(t)),H.on(this._element,"touchend.bs.carousel",t=>i(t)))}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=tt[t.key];e&&(t.preventDefault(),this._slide(e))}_getItemIndex(t){return this._items=t&&t.parentNode?V.find(".carousel-item",t.parentNode):[],this._items.indexOf(t)}_getItemByOrder(t,e){const i=t===Q;return w(this._items,e,i,this._config.wrap)}_triggerSlideEvent(t,e){const i=this._getItemIndex(t),s=this._getItemIndex(V.findOne(".active.carousel-item",this._element));return H.trigger(this._element,"slide.bs.carousel",{relatedTarget:t,direction:e,from:s,to:i})}_setActiveIndicatorElement(t){if(this._indicatorsElement){const e=V.findOne(".active",this._indicatorsElement);e.classList.remove("active"),e.removeAttribute("aria-current");const i=V.find("[data-bs-target]",this._indicatorsElement);for(let e=0;e{H.trigger(this._element,"slid.bs.carousel",{relatedTarget:o,direction:d,from:n,to:r})};if(this._element.classList.contains("slide")){o.classList.add(h),p(o),s.classList.add(c),o.classList.add(c);const t=()=>{o.classList.remove(c,h),o.classList.add("active"),s.classList.remove("active",h,c),this._isSliding=!1,setTimeout(u,0)};this._queueCallback(t,s,!0)}else s.classList.remove("active"),o.classList.add("active"),this._isSliding=!1,u();a&&this.cycle()}_directionToOrder(t){return[J,Z].includes(t)?m()?t===Z?G:Q:t===Z?Q:G:t}_orderToDirection(t){return[Q,G].includes(t)?m()?t===G?Z:J:t===G?J:Z:t}static carouselInterface(t,e){const i=et.getOrCreateInstance(t,e);let{_config:s}=i;"object"==typeof e&&(s={...s,...e});const n="string"==typeof e?e:s.slide;if("number"==typeof e)i.to(e);else if("string"==typeof n){if(void 0===i[n])throw new TypeError(`No method named "${n}"`);i[n]()}else s.interval&&s.ride&&(i.pause(),i.cycle())}static jQueryInterface(t){return this.each((function(){et.carouselInterface(this,t)}))}static dataApiClickHandler(t){const e=o(this);if(!e||!e.classList.contains("carousel"))return;const i={...K.getDataAttributes(e),...K.getDataAttributes(this)},s=this.getAttribute("data-bs-slide-to");s&&(i.interval=!1),et.carouselInterface(e,i),s&&et.getInstance(e).to(s),t.preventDefault()}}H.on(document,"click.bs.carousel.data-api","[data-bs-slide], [data-bs-slide-to]",et.dataApiClickHandler),H.on(window,"load.bs.carousel.data-api",()=>{const t=V.find('[data-bs-ride="carousel"]');for(let e=0,i=t.length;et===this._element);null!==s&&o.length&&(this._selector=s,this._triggerArray.push(e))}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return it}static get NAME(){return"collapse"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t,e=[];if(this._config.parent){const t=V.find(".collapse .collapse",this._config.parent);e=V.find(".show, .collapsing",this._config.parent).filter(e=>!t.includes(e))}const i=V.findOne(this._selector);if(e.length){const s=e.find(t=>i!==t);if(t=s?nt.getInstance(s):null,t&&t._isTransitioning)return}if(H.trigger(this._element,"show.bs.collapse").defaultPrevented)return;e.forEach(e=>{i!==e&&nt.getOrCreateInstance(e,{toggle:!1}).hide(),t||z.set(e,"bs.collapse",null)});const s=this._getDimension();this._element.classList.remove("collapse"),this._element.classList.add("collapsing"),this._element.style[s]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const n="scroll"+(s[0].toUpperCase()+s.slice(1));this._queueCallback(()=>{this._isTransitioning=!1,this._element.classList.remove("collapsing"),this._element.classList.add("collapse","show"),this._element.style[s]="",H.trigger(this._element,"shown.bs.collapse")},this._element,!0),this._element.style[s]=this._element[n]+"px"}hide(){if(this._isTransitioning||!this._isShown())return;if(H.trigger(this._element,"hide.bs.collapse").defaultPrevented)return;const t=this._getDimension();this._element.style[t]=this._element.getBoundingClientRect()[t]+"px",p(this._element),this._element.classList.add("collapsing"),this._element.classList.remove("collapse","show");const e=this._triggerArray.length;for(let t=0;t{this._isTransitioning=!1,this._element.classList.remove("collapsing"),this._element.classList.add("collapse"),H.trigger(this._element,"hidden.bs.collapse")},this._element,!0)}_isShown(t=this._element){return t.classList.contains("show")}_getConfig(t){return(t={...it,...K.getDataAttributes(this._element),...t}).toggle=Boolean(t.toggle),t.parent=l(t.parent),c("collapse",t,st),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=V.find(".collapse .collapse",this._config.parent);V.find('[data-bs-toggle="collapse"]',this._config.parent).filter(e=>!t.includes(e)).forEach(t=>{const e=o(t);e&&this._addAriaAndCollapsedClass([t],this._isShown(e))})}_addAriaAndCollapsedClass(t,e){t.length&&t.forEach(t=>{e?t.classList.remove("collapsed"):t.classList.add("collapsed"),t.setAttribute("aria-expanded",e)})}static jQueryInterface(t){return this.each((function(){const e={};"string"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1);const i=nt.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}}))}}H.on(document,"click.bs.collapse.data-api",'[data-bs-toggle="collapse"]',(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();const e=n(this);V.find(e).forEach(t=>{nt.getOrCreateInstance(t,{toggle:!1}).toggle()})})),b(nt);const ot=new RegExp("ArrowUp|ArrowDown|Escape"),rt=m()?"top-end":"top-start",at=m()?"top-start":"top-end",lt=m()?"bottom-end":"bottom-start",ct=m()?"bottom-start":"bottom-end",ht=m()?"left-start":"right-start",dt=m()?"right-start":"left-start",ut={offset:[0,2],boundary:"clippingParents",reference:"toggle",display:"dynamic",popperConfig:null,autoClose:!0},gt={offset:"(array|string|function)",boundary:"(string|element)",reference:"(string|element|object)",display:"string",popperConfig:"(null|object|function)",autoClose:"(boolean|string)"};class pt extends R{constructor(t,e){super(t),this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar()}static get Default(){return ut}static get DefaultType(){return gt}static get NAME(){return"dropdown"}toggle(){return this._isShown()?this.hide():this.show()}show(){if(d(this._element)||this._isShown(this._menu))return;const t={relatedTarget:this._element};if(H.trigger(this._element,"show.bs.dropdown",t).defaultPrevented)return;const e=pt.getParentFromElement(this._element);this._inNavbar?K.setDataAttribute(this._menu,"popper","none"):this._createPopper(e),"ontouchstart"in document.documentElement&&!e.closest(".navbar-nav")&&[].concat(...document.body.children).forEach(t=>H.on(t,"mouseover",g)),this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add("show"),this._element.classList.add("show"),H.trigger(this._element,"shown.bs.dropdown",t)}hide(){if(d(this._element)||!this._isShown(this._menu))return;const t={relatedTarget:this._element};this._completeHide(t)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(t){H.trigger(this._element,"hide.bs.dropdown",t).defaultPrevented||("ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach(t=>H.off(t,"mouseover",g)),this._popper&&this._popper.destroy(),this._menu.classList.remove("show"),this._element.classList.remove("show"),this._element.setAttribute("aria-expanded","false"),K.removeDataAttribute(this._menu,"popper"),H.trigger(this._element,"hidden.bs.dropdown",t))}_getConfig(t){if(t={...this.constructor.Default,...K.getDataAttributes(this._element),...t},c("dropdown",t,this.constructor.DefaultType),"object"==typeof t.reference&&!a(t.reference)&&"function"!=typeof t.reference.getBoundingClientRect)throw new TypeError("dropdown".toUpperCase()+': Option "reference" provided type "object" without a required "getBoundingClientRect" method.');return t}_createPopper(t){if(void 0===i)throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let e=this._element;"parent"===this._config.reference?e=t:a(this._config.reference)?e=l(this._config.reference):"object"==typeof this._config.reference&&(e=this._config.reference);const s=this._getPopperConfig(),n=s.modifiers.find(t=>"applyStyles"===t.name&&!1===t.enabled);this._popper=i.createPopper(e,this._menu,s),n&&K.setDataAttribute(this._menu,"popper","static")}_isShown(t=this._element){return t.classList.contains("show")}_getMenuElement(){return V.next(this._element,".dropdown-menu")[0]}_getPlacement(){const t=this._element.parentNode;if(t.classList.contains("dropend"))return ht;if(t.classList.contains("dropstart"))return dt;const e="end"===getComputedStyle(this._menu).getPropertyValue("--bs-position").trim();return t.classList.contains("dropup")?e?at:rt:e?ct:lt}_detectNavbar(){return null!==this._element.closest(".navbar")}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map(t=>Number.parseInt(t,10)):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return"static"===this._config.display&&(t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,..."function"==typeof this._config.popperConfig?this._config.popperConfig(t):this._config.popperConfig}}_selectMenuItem({key:t,target:e}){const i=V.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter(h);i.length&&w(i,e,"ArrowDown"===t,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=pt.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}static clearMenus(t){if(t&&(2===t.button||"keyup"===t.type&&"Tab"!==t.key))return;const e=V.find('[data-bs-toggle="dropdown"]');for(let i=0,s=e.length;ie+t),this._setElementAttributes(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top","paddingRight",e=>e+t),this._setElementAttributes(".sticky-top","marginRight",e=>e-t)}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const s=this.getWidth();this._applyManipulationCallback(t,t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+s)return;this._saveInitialAttribute(t,e);const n=window.getComputedStyle(t)[e];t.style[e]=i(Number.parseFloat(n))+"px"})}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,"paddingRight"),this._resetElementAttributes(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top","paddingRight"),this._resetElementAttributes(".sticky-top","marginRight")}_saveInitialAttribute(t,e){const i=t.style[e];i&&K.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,t=>{const i=K.getDataAttribute(t,e);void 0===i?t.style.removeProperty(e):(K.removeDataAttribute(t,e),t.style[e]=i)})}_applyManipulationCallback(t,e){a(t)?e(t):V.find(t,this._element).forEach(e)}isOverflowing(){return this.getWidth()>0}}const _t={className:"modal-backdrop",isVisible:!0,isAnimated:!1,rootElement:"body",clickCallback:null},mt={className:"string",isVisible:"boolean",isAnimated:"boolean",rootElement:"(element|string)",clickCallback:"(function|null)"};class bt{constructor(t){this._config=this._getConfig(t),this._isAppended=!1,this._element=null}show(t){this._config.isVisible?(this._append(),this._config.isAnimated&&p(this._getElement()),this._getElement().classList.add("show"),this._emulateAnimation(()=>{v(t)})):v(t)}hide(t){this._config.isVisible?(this._getElement().classList.remove("show"),this._emulateAnimation(()=>{this.dispose(),v(t)})):v(t)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_getConfig(t){return(t={..._t,..."object"==typeof t?t:{}}).rootElement=l(t.rootElement),c("backdrop",t,mt),t}_append(){this._isAppended||(this._config.rootElement.append(this._getElement()),H.on(this._getElement(),"mousedown.bs.backdrop",()=>{v(this._config.clickCallback)}),this._isAppended=!0)}dispose(){this._isAppended&&(H.off(this._element,"mousedown.bs.backdrop"),this._element.remove(),this._isAppended=!1)}_emulateAnimation(t){y(t,this._getElement(),this._config.isAnimated)}}const vt={trapElement:null,autofocus:!0},yt={trapElement:"element",autofocus:"boolean"};class wt{constructor(t){this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}activate(){const{trapElement:t,autofocus:e}=this._config;this._isActive||(e&&t.focus(),H.off(document,".bs.focustrap"),H.on(document,"focusin.bs.focustrap",t=>this._handleFocusin(t)),H.on(document,"keydown.tab.bs.focustrap",t=>this._handleKeydown(t)),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,H.off(document,".bs.focustrap"))}_handleFocusin(t){const{target:e}=t,{trapElement:i}=this._config;if(e===document||e===i||i.contains(e))return;const s=V.focusableChildren(i);0===s.length?i.focus():"backward"===this._lastTabNavDirection?s[s.length-1].focus():s[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?"backward":"forward")}_getConfig(t){return t={...vt,..."object"==typeof t?t:{}},c("focustrap",t,yt),t}}const Et={backdrop:!0,keyboard:!0,focus:!0},At={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean"};class Tt extends R{constructor(t,e){super(t),this._config=this._getConfig(e),this._dialog=V.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollBar=new ft}static get Default(){return Et}static get NAME(){return"modal"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||H.trigger(this._element,"show.bs.modal",{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isAnimated()&&(this._isTransitioning=!0),this._scrollBar.hide(),document.body.classList.add("modal-open"),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),H.on(this._dialog,"mousedown.dismiss.bs.modal",()=>{H.one(this._element,"mouseup.dismiss.bs.modal",t=>{t.target===this._element&&(this._ignoreBackdropClick=!0)})}),this._showBackdrop(()=>this._showElement(t)))}hide(){if(!this._isShown||this._isTransitioning)return;if(H.trigger(this._element,"hide.bs.modal").defaultPrevented)return;this._isShown=!1;const t=this._isAnimated();t&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),this._focustrap.deactivate(),this._element.classList.remove("show"),H.off(this._element,"click.dismiss.bs.modal"),H.off(this._dialog,"mousedown.dismiss.bs.modal"),this._queueCallback(()=>this._hideModal(),this._element,t)}dispose(){[window,this._dialog].forEach(t=>H.off(t,".bs.modal")),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new bt({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new wt({trapElement:this._element})}_getConfig(t){return t={...Et,...K.getDataAttributes(this._element),..."object"==typeof t?t:{}},c("modal",t,At),t}_showElement(t){const e=this._isAnimated(),i=V.findOne(".modal-body",this._dialog);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||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,i&&(i.scrollTop=0),e&&p(this._element),this._element.classList.add("show"),this._queueCallback(()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,H.trigger(this._element,"shown.bs.modal",{relatedTarget:t})},this._dialog,e)}_setEscapeEvent(){this._isShown?H.on(this._element,"keydown.dismiss.bs.modal",t=>{this._config.keyboard&&"Escape"===t.key?(t.preventDefault(),this.hide()):this._config.keyboard||"Escape"!==t.key||this._triggerBackdropTransition()}):H.off(this._element,"keydown.dismiss.bs.modal")}_setResizeEvent(){this._isShown?H.on(window,"resize.bs.modal",()=>this._adjustDialog()):H.off(window,"resize.bs.modal")}_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("modal-open"),this._resetAdjustments(),this._scrollBar.reset(),H.trigger(this._element,"hidden.bs.modal")})}_showBackdrop(t){H.on(this._element,"click.dismiss.bs.modal",t=>{this._ignoreBackdropClick?this._ignoreBackdropClick=!1:t.target===t.currentTarget&&(!0===this._config.backdrop?this.hide():"static"===this._config.backdrop&&this._triggerBackdropTransition())}),this._backdrop.show(t)}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(H.trigger(this._element,"hidePrevented.bs.modal").defaultPrevented)return;const{classList:t,scrollHeight:e,style:i}=this._element,s=e>document.documentElement.clientHeight;!s&&"hidden"===i.overflowY||t.contains("modal-static")||(s||(i.overflowY="hidden"),t.add("modal-static"),this._queueCallback(()=>{t.remove("modal-static"),s||this._queueCallback(()=>{i.overflowY=""},this._dialog)},this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;(!i&&t&&!m()||i&&!t&&m())&&(this._element.style.paddingLeft=e+"px"),(i&&!t&&!m()||!i&&t&&m())&&(this._element.style.paddingRight=e+"px")}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const i=Tt.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}}))}}H.on(document,"click.bs.modal.data-api",'[data-bs-toggle="modal"]',(function(t){const e=o(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),H.one(e,"show.bs.modal",t=>{t.defaultPrevented||H.one(e,"hidden.bs.modal",()=>{h(this)&&this.focus()})}),Tt.getOrCreateInstance(e).toggle(this)})),F(Tt),b(Tt);const Ct={backdrop:!0,keyboard:!0,scroll:!1},kt={backdrop:"boolean",keyboard:"boolean",scroll:"boolean"};class Lt extends R{constructor(t,e){super(t),this._config=this._getConfig(e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get NAME(){return"offcanvas"}static get Default(){return Ct}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||H.trigger(this._element,"show.bs.offcanvas",{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._element.style.visibility="visible",this._backdrop.show(),this._config.scroll||(new ft).hide(),this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add("show"),this._queueCallback(()=>{this._config.scroll||this._focustrap.activate(),H.trigger(this._element,"shown.bs.offcanvas",{relatedTarget:t})},this._element,!0))}hide(){this._isShown&&(H.trigger(this._element,"hide.bs.offcanvas").defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.remove("show"),this._backdrop.hide(),this._queueCallback(()=>{this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._element.style.visibility="hidden",this._config.scroll||(new ft).reset(),H.trigger(this._element,"hidden.bs.offcanvas")},this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_getConfig(t){return t={...Ct,...K.getDataAttributes(this._element),..."object"==typeof t?t:{}},c("offcanvas",t,kt),t}_initializeBackDrop(){return new bt({className:"offcanvas-backdrop",isVisible:this._config.backdrop,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:()=>this.hide()})}_initializeFocusTrap(){return new wt({trapElement:this._element})}_addEventListeners(){H.on(this._element,"keydown.dismiss.bs.offcanvas",t=>{this._config.keyboard&&"Escape"===t.key&&this.hide()})}static jQueryInterface(t){return this.each((function(){const e=Lt.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}H.on(document,"click.bs.offcanvas.data-api",'[data-bs-toggle="offcanvas"]',(function(t){const e=o(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),d(this))return;H.one(e,"hidden.bs.offcanvas",()=>{h(this)&&this.focus()});const i=V.findOne(".offcanvas.show");i&&i!==e&&Lt.getInstance(i).hide(),Lt.getOrCreateInstance(e).toggle(this)})),H.on(window,"load.bs.offcanvas.data-api",()=>V.find(".offcanvas.show").forEach(t=>Lt.getOrCreateInstance(t).show())),F(Lt),b(Lt);const St=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Ot=/^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/i,Nt=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i,Dt=(t,e)=>{const i=t.nodeName.toLowerCase();if(e.includes(i))return!St.has(i)||Boolean(Ot.test(t.nodeValue)||Nt.test(t.nodeValue));const s=e.filter(t=>t instanceof RegExp);for(let t=0,e=s.length;t{Dt(t,a)||i.removeAttribute(t.nodeName)})}return s.body.innerHTML}const xt=new Set(["sanitize","allowList","sanitizeFn"]),Pt={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(array|string|function)",container:"(string|element|boolean)",fallbackPlacements:"array",boundary:"(string|element)",customClass:"(string|function)",sanitize:"boolean",sanitizeFn:"(null|function)",allowList:"object",popperConfig:"(null|object|function)"},Mt={AUTO:"auto",TOP:"top",RIGHT:m()?"left":"right",BOTTOM:"bottom",LEFT:m()?"right":"left"},jt={animation:!0,template:'',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:[0,0],container:!1,fallbackPlacements:["top","right","bottom","left"],boundary:"clippingParents",customClass:"",sanitize:!0,sanitizeFn:null,allowList:{"*":["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:[]},popperConfig:null},Ht={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"};class Bt extends R{constructor(t,e){if(void 0===i)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t),this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this._config=this._getConfig(e),this.tip=null,this._setListeners()}static get Default(){return jt}static get NAME(){return"tooltip"}static get Event(){return Ht}static get DefaultType(){return Pt}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(t){if(this._isEnabled)if(t){const e=this._initializeOnDelegatedTarget(t);e._activeTrigger.click=!e._activeTrigger.click,e._isWithActiveTrigger()?e._enter(null,e):e._leave(null,e)}else{if(this.getTipElement().classList.contains("show"))return void this._leave(null,this);this._enter(null,this)}}dispose(){clearTimeout(this._timeout),H.off(this._element.closest(".modal"),"hide.bs.modal",this._hideModalHandler),this.tip&&this.tip.remove(),this._popper&&this._popper.destroy(),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 t=H.trigger(this._element,this.constructor.Event.SHOW),e=u(this._element),s=null===e?this._element.ownerDocument.documentElement.contains(this._element):e.contains(this._element);if(t.defaultPrevented||!s)return;const n=this.getTipElement(),o=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME);n.setAttribute("id",o),this._element.setAttribute("aria-describedby",o),this._config.animation&&n.classList.add("fade");const r="function"==typeof this._config.placement?this._config.placement.call(this,n,this._element):this._config.placement,a=this._getAttachment(r);this._addAttachmentClass(a);const{container:l}=this._config;z.set(n,this.constructor.DATA_KEY,this),this._element.ownerDocument.documentElement.contains(this.tip)||(l.append(n),H.trigger(this._element,this.constructor.Event.INSERTED)),this._popper?this._popper.update():this._popper=i.createPopper(this._element,n,this._getPopperConfig(a)),n.classList.add("show");const c=this._resolvePossibleFunction(this._config.customClass);c&&n.classList.add(...c.split(" ")),"ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach(t=>{H.on(t,"mouseover",g)});const h=this.tip.classList.contains("fade");this._queueCallback(()=>{const t=this._hoverState;this._hoverState=null,H.trigger(this._element,this.constructor.Event.SHOWN),"out"===t&&this._leave(null,this)},this.tip,h)}hide(){if(!this._popper)return;const t=this.getTipElement();if(H.trigger(this._element,this.constructor.Event.HIDE).defaultPrevented)return;t.classList.remove("show"),"ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach(t=>H.off(t,"mouseover",g)),this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1;const e=this.tip.classList.contains("fade");this._queueCallback(()=>{this._isWithActiveTrigger()||("show"!==this._hoverState&&t.remove(),this._cleanTipClass(),this._element.removeAttribute("aria-describedby"),H.trigger(this._element,this.constructor.Event.HIDDEN),this._popper&&(this._popper.destroy(),this._popper=null))},this.tip,e),this._hoverState=""}update(){null!==this._popper&&this._popper.update()}isWithContent(){return Boolean(this.getTitle())}getTipElement(){if(this.tip)return this.tip;const t=document.createElement("div");t.innerHTML=this._config.template;const e=t.children[0];return this.setContent(e),e.classList.remove("fade","show"),this.tip=e,this.tip}setContent(t){this._sanitizeAndSetContent(t,this.getTitle(),".tooltip-inner")}_sanitizeAndSetContent(t,e,i){const s=V.findOne(i,t);e||!s?this.setElementContent(s,e):s.remove()}setElementContent(t,e){if(null!==t)return a(e)?(e=l(e),void(this._config.html?e.parentNode!==t&&(t.innerHTML="",t.append(e)):t.textContent=e.textContent)):void(this._config.html?(this._config.sanitize&&(e=It(e,this._config.allowList,this._config.sanitizeFn)),t.innerHTML=e):t.textContent=e)}getTitle(){const t=this._element.getAttribute("data-bs-original-title")||this._config.title;return this._resolvePossibleFunction(t)}updateAttachment(t){return"right"===t?"end":"left"===t?"start":t}_initializeOnDelegatedTarget(t,e){return e||this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map(t=>Number.parseInt(t,10)):"function"==typeof t?e=>t(e,this._element):t}_resolvePossibleFunction(t){return"function"==typeof t?t.call(this._element):t}_getPopperConfig(t){const e={placement:t,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:"onChange",enabled:!0,phase:"afterWrite",fn:t=>this._handlePopperPlacementChange(t)}],onFirstUpdate:t=>{t.options.placement!==t.placement&&this._handlePopperPlacementChange(t)}};return{...e,..."function"==typeof this._config.popperConfig?this._config.popperConfig(e):this._config.popperConfig}}_addAttachmentClass(t){this.getTipElement().classList.add(`${this._getBasicClassPrefix()}-${this.updateAttachment(t)}`)}_getAttachment(t){return Mt[t.toUpperCase()]}_setListeners(){this._config.trigger.split(" ").forEach(t=>{if("click"===t)H.on(this._element,this.constructor.Event.CLICK,this._config.selector,t=>this.toggle(t));else if("manual"!==t){const e="hover"===t?this.constructor.Event.MOUSEENTER:this.constructor.Event.FOCUSIN,i="hover"===t?this.constructor.Event.MOUSELEAVE:this.constructor.Event.FOCUSOUT;H.on(this._element,e,this._config.selector,t=>this._enter(t)),H.on(this._element,i,this._config.selector,t=>this._leave(t))}}),this._hideModalHandler=()=>{this._element&&this.hide()},H.on(this._element.closest(".modal"),"hide.bs.modal",this._hideModalHandler),this._config.selector?this._config={...this._config,trigger:"manual",selector:""}:this._fixTitle()}_fixTitle(){const t=this._element.getAttribute("title"),e=typeof this._element.getAttribute("data-bs-original-title");(t||"string"!==e)&&(this._element.setAttribute("data-bs-original-title",t||""),!t||this._element.getAttribute("aria-label")||this._element.textContent||this._element.setAttribute("aria-label",t),this._element.setAttribute("title",""))}_enter(t,e){e=this._initializeOnDelegatedTarget(t,e),t&&(e._activeTrigger["focusin"===t.type?"focus":"hover"]=!0),e.getTipElement().classList.contains("show")||"show"===e._hoverState?e._hoverState="show":(clearTimeout(e._timeout),e._hoverState="show",e._config.delay&&e._config.delay.show?e._timeout=setTimeout(()=>{"show"===e._hoverState&&e.show()},e._config.delay.show):e.show())}_leave(t,e){e=this._initializeOnDelegatedTarget(t,e),t&&(e._activeTrigger["focusout"===t.type?"focus":"hover"]=e._element.contains(t.relatedTarget)),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState="out",e._config.delay&&e._config.delay.hide?e._timeout=setTimeout(()=>{"out"===e._hoverState&&e.hide()},e._config.delay.hide):e.hide())}_isWithActiveTrigger(){for(const t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1}_getConfig(t){const e=K.getDataAttributes(this._element);return Object.keys(e).forEach(t=>{xt.has(t)&&delete e[t]}),(t={...this.constructor.Default,...e,..."object"==typeof t&&t?t:{}}).container=!1===t.container?document.body:l(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),c("tooltip",t,this.constructor.DefaultType),t.sanitize&&(t.template=It(t.template,t.allowList,t.sanitizeFn)),t}_getDelegateConfig(){const t={};for(const e in this._config)this.constructor.Default[e]!==this._config[e]&&(t[e]=this._config[e]);return t}_cleanTipClass(){const t=this.getTipElement(),e=new RegExp(`(^|\\s)${this._getBasicClassPrefix()}\\S+`,"g"),i=t.getAttribute("class").match(e);null!==i&&i.length>0&&i.map(t=>t.trim()).forEach(e=>t.classList.remove(e))}_getBasicClassPrefix(){return"bs-tooltip"}_handlePopperPlacementChange(t){const{state:e}=t;e&&(this.tip=e.elements.popper,this._cleanTipClass(),this._addAttachmentClass(this._getAttachment(e.placement)))}static jQueryInterface(t){return this.each((function(){const e=Bt.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}b(Bt);const zt={...Bt.Default,placement:"right",offset:[0,8],trigger:"click",content:"",template:''},Rt={...Bt.DefaultType,content:"(string|element|function)"},Ft={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"};class Wt extends Bt{static get Default(){return zt}static get NAME(){return"popover"}static get Event(){return Ft}static get DefaultType(){return Rt}isWithContent(){return this.getTitle()||this._getContent()}setContent(t){this._sanitizeAndSetContent(t,this.getTitle(),".popover-header"),this._sanitizeAndSetContent(t,this._getContent(),".popover-body")}_getContent(){return this._resolvePossibleFunction(this._config.content)}_getBasicClassPrefix(){return"bs-popover"}static jQueryInterface(t){return this.each((function(){const e=Wt.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}b(Wt);const $t={offset:10,method:"auto",target:""},qt={offset:"number",method:"string",target:"(string|element)"},Ut=".nav-link, .list-group-item, .dropdown-item";class Kt extends R{constructor(t,e){super(t),this._scrollElement="BODY"===this._element.tagName?window:this._element,this._config=this._getConfig(e),this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,H.on(this._scrollElement,"scroll.bs.scrollspy",()=>this._process()),this.refresh(),this._process()}static get Default(){return $t}static get NAME(){return"scrollspy"}refresh(){const t=this._scrollElement===this._scrollElement.window?"offset":"position",e="auto"===this._config.method?t:this._config.method,i="position"===e?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),V.find(Ut,this._config.target).map(t=>{const s=n(t),o=s?V.findOne(s):null;if(o){const t=o.getBoundingClientRect();if(t.width||t.height)return[K[e](o).top+i,s]}return null}).filter(t=>t).sort((t,e)=>t[0]-e[0]).forEach(t=>{this._offsets.push(t[0]),this._targets.push(t[1])})}dispose(){H.off(this._scrollElement,".bs.scrollspy"),super.dispose()}_getConfig(t){return(t={...$t,...K.getDataAttributes(this._element),..."object"==typeof t&&t?t:{}}).target=l(t.target)||document.documentElement,c("scrollspy",t,qt),t}_getScrollTop(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop}_getScrollHeight(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)}_getOffsetHeight(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height}_process(){const t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),i=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=i){const t=this._targets[this._targets.length-1];this._activeTarget!==t&&this._activate(t)}else{if(this._activeTarget&&t0)return this._activeTarget=null,void this._clear();for(let e=this._offsets.length;e--;)this._activeTarget!==this._targets[e]&&t>=this._offsets[e]&&(void 0===this._offsets[e+1]||t`${e}[data-bs-target="${t}"],${e}[href="${t}"]`),i=V.findOne(e.join(","),this._config.target);i.classList.add("active"),i.classList.contains("dropdown-item")?V.findOne(".dropdown-toggle",i.closest(".dropdown")).classList.add("active"):V.parents(i,".nav, .list-group").forEach(t=>{V.prev(t,".nav-link, .list-group-item").forEach(t=>t.classList.add("active")),V.prev(t,".nav-item").forEach(t=>{V.children(t,".nav-link").forEach(t=>t.classList.add("active"))})}),H.trigger(this._scrollElement,"activate.bs.scrollspy",{relatedTarget:t})}_clear(){V.find(Ut,this._config.target).filter(t=>t.classList.contains("active")).forEach(t=>t.classList.remove("active"))}static jQueryInterface(t){return this.each((function(){const e=Kt.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}H.on(window,"load.bs.scrollspy.data-api",()=>{V.find('[data-bs-spy="scroll"]').forEach(t=>new Kt(t))}),b(Kt);class Vt extends R{static get NAME(){return"tab"}show(){if(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&this._element.classList.contains("active"))return;let t;const e=o(this._element),i=this._element.closest(".nav, .list-group");if(i){const e="UL"===i.nodeName||"OL"===i.nodeName?":scope > li > .active":".active";t=V.find(e,i),t=t[t.length-1]}const s=t?H.trigger(t,"hide.bs.tab",{relatedTarget:this._element}):null;if(H.trigger(this._element,"show.bs.tab",{relatedTarget:t}).defaultPrevented||null!==s&&s.defaultPrevented)return;this._activate(this._element,i);const n=()=>{H.trigger(t,"hidden.bs.tab",{relatedTarget:this._element}),H.trigger(this._element,"shown.bs.tab",{relatedTarget:t})};e?this._activate(e,e.parentNode,n):n()}_activate(t,e,i){const s=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?V.children(e,".active"):V.find(":scope > li > .active",e))[0],n=i&&s&&s.classList.contains("fade"),o=()=>this._transitionComplete(t,s,i);s&&n?(s.classList.remove("show"),this._queueCallback(o,t,!0)):o()}_transitionComplete(t,e,i){if(e){e.classList.remove("active");const t=V.findOne(":scope > .dropdown-menu .active",e.parentNode);t&&t.classList.remove("active"),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}t.classList.add("active"),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),p(t),t.classList.contains("fade")&&t.classList.add("show");let s=t.parentNode;if(s&&"LI"===s.nodeName&&(s=s.parentNode),s&&s.classList.contains("dropdown-menu")){const e=t.closest(".dropdown");e&&V.find(".dropdown-toggle",e).forEach(t=>t.classList.add("active")),t.setAttribute("aria-expanded",!0)}i&&i()}static jQueryInterface(t){return this.each((function(){const e=Vt.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}H.on(document,"click.bs.tab.data-api",'[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),d(this)||Vt.getOrCreateInstance(this).show()})),b(Vt);const Xt={animation:"boolean",autohide:"boolean",delay:"number"},Yt={animation:!0,autohide:!0,delay:5e3};class Qt extends R{constructor(t,e){super(t),this._config=this._getConfig(e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get DefaultType(){return Xt}static get Default(){return Yt}static get NAME(){return"toast"}show(){H.trigger(this._element,"show.bs.toast").defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove("hide"),p(this._element),this._element.classList.add("show"),this._element.classList.add("showing"),this._queueCallback(()=>{this._element.classList.remove("showing"),H.trigger(this._element,"shown.bs.toast"),this._maybeScheduleHide()},this._element,this._config.animation))}hide(){this._element.classList.contains("show")&&(H.trigger(this._element,"hide.bs.toast").defaultPrevented||(this._element.classList.add("showing"),this._queueCallback(()=>{this._element.classList.add("hide"),this._element.classList.remove("showing"),this._element.classList.remove("show"),H.trigger(this._element,"hidden.bs.toast")},this._element,this._config.animation)))}dispose(){this._clearTimeout(),this._element.classList.contains("show")&&this._element.classList.remove("show"),super.dispose()}_getConfig(t){return t={...Yt,...K.getDataAttributes(this._element),..."object"==typeof t&&t?t:{}},c("toast",t,this.constructor.DefaultType),t}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){H.on(this._element,"mouseover.bs.toast",t=>this._onInteraction(t,!0)),H.on(this._element,"mouseout.bs.toast",t=>this._onInteraction(t,!1)),H.on(this._element,"focusin.bs.toast",t=>this._onInteraction(t,!0)),H.on(this._element,"focusout.bs.toast",t=>this._onInteraction(t,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=Qt.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}return F(Qt),b(Qt),{Alert:W,Button:$,Carousel:et,Collapse:nt,Dropdown:pt,Modal:Tt,Offcanvas:Lt,Popover:Wt,ScrollSpy:Kt,Tab:Vt,Toast:Qt,Tooltip:Bt}})); +//# sourceMappingURL=bootstrap.min.js.map \ No newline at end of file diff --git a/h5/dplayer/DPlayer.min.js b/h5/dplayer/DPlayer.min.js new file mode 100644 index 0000000..ea4d80d --- /dev/null +++ b/h5/dplayer/DPlayer.min.js @@ -0,0 +1,2 @@ +!function(n,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("DPlayer",[],e):"object"==typeof exports?exports.DPlayer=e():n.DPlayer=e()}(self,(()=>(()=>{var n={916:(n,e,t)=>{var a=t(140);n.exports=function(n){"use strict";var e,o="",r=(n=n||{}).video,i=n.options,l=a.$escape,s=n.tran,p=n.icons,d=n.index,c=a.$each;return n.$value,n.$index,o+='
\n
\n ',e=t(568)(r),o+=e,o+="\n ",i.logo&&(o+='\n \n '),o+='\n
\n
\n
\n
\n
\n \n ',i.danmaku&&(o+='\n ',o+=l(s("danmaku-loading")),o+="\n "),o+='\n ',o+=p.loading,o+='\n
\n
\n
\n
\n
\n \n
\n
\n
',o+=l(s("set-danmaku-color")),o+='
\n \n \n \n \n \n \n
\n
\n
',o+=l(s("set-danmaku-type")),o+='
\n \n \n \n
\n
\n \n ',o+=p.send,o+='\n \n
\n
\n \n
\n \n
\n
\n
\n \n
\n
\n
\n
\n \n 0:00 /\n 0:00\n \n ',i.live&&(o+='\n ',o+=l(s("live")),o+="\n "),o+='\n
\n
\n ',i.video.quality&&(o+='\n
\n \n
\n
\n ',c(i.video.quality,(function(n,e){o+='\n
',o+=l(n.name),o+="
\n "})),o+="\n
\n
\n
\n "),o+="\n ",i.screenshot&&(o+='\n
\n
\n "),o+="\n ",i.airplay&&(o+='\n
\n
\n "),o+="\n ",i.chromecast&&(o+='\n
\n
\n "),o+='\n
\n \n
\n ",i.subtitle&&(o+="\n ","string"==typeof i.subtitle.url?(o+='\n
\n \n
\n "):(o+='\n
\n \n
\n
\n ',c(i.subtitle.url,(function(n,e){o+='\n
\n \x3c!-- if lang, show tran(lang). if lang and name, show name + (tran(lang)). if name, show name. off option use lang for translation. --\x3e\n ',o+=l(n.lang?n.name?n.name+" ("+s(n.lang)+")":s(n.lang):n.name),o+="\n
\n "})),o+="\n
\n
\n
\n "),o+="\n "),o+='\n
\n \n
\n
\n
\n ',o+=l(s("speed")),o+='\n
',o+=p.right,o+='
\n
\n
\n ',o+=l(s("loop")),o+='\n
\n \n \n
\n
\n
\n ',o+=l(s("show-danmaku")),o+='\n
\n \n \n
\n
\n
\n ',o+=l(s("unlimited-danmaku")),o+='\n
\n \n \n
\n
\n
\n ',o+=l(s("opacity-danmaku")),o+='\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n ',c(i.playbackSpeed,(function(n,e){o+='\n
\n ',o+=l(1===n?s("normal"):n),o+="\n
\n "})),o+='\n
\n
\n
\n
\n \n \n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
[x]
\n
\n Player version\n \n
\n
\n Player FPS\n \n
\n
\n Video type\n \n
\n
\n Video url\n \n
\n
\n Video resolution\n \n
\n
\n Video duration\n \n
\n ',i.danmaku&&(o+='\n
\n Danmaku id\n \n
\n
\n Danmaku api\n \n
\n
\n Danmaku amount\n \n
\n '),o+='\n
\n
\n ',c(i.contextmenu,(function(n,e){o+='\n
\n ',n.key&&(o+=" ",o+=l(s(n.key))),n.text&&(o+=" ",o+=l(n.text)),o+="\n
\n "})),o+='\n
\n
\n"}},568:(n,e,t)=>{var a=t(140);n.exports=function(n){"use strict";var e="",t=(n=n||{}).enableSubtitle,o=n.subtitle,r=n.current,i=n.airplay,l=n.pic,s=a.$escape,p=n.screenshot,d=n.preload,c=n.url;return t=o&&"webvtt"===o.type,e+='\n\n '),e+="\n ",t&&(e+='\n "}},234:(n,e,t)=>{"use strict";t.d(e,{Z:()=>l});var a=t(189),o=t.n(a),r=t(291),i=t.n(r)()(o());i.push([n.id,':root {\n --balloon-border-radius: 2px;\n --balloon-color: rgba(16, 16, 16, 0.95);\n --balloon-text-color: #fff;\n --balloon-font-size: 12px;\n --balloon-move: 4px; }\n\nbutton[aria-label][data-balloon-pos] {\n overflow: visible; }\n\n[aria-label][data-balloon-pos] {\n position: relative;\n cursor: pointer; }\n [aria-label][data-balloon-pos]:after {\n opacity: 0;\n pointer-events: none;\n transition: all 0.18s ease-out 0.18s;\n text-indent: 0;\n font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;\n font-weight: normal;\n font-style: normal;\n text-shadow: none;\n font-size: 12px;\n font-size: var(--balloon-font-size);\n background: rgba(16, 16, 16, 0.95);\n background: var(--balloon-color);\n border-radius: 2px;\n color: #fff;\n color: var(--balloon-text-color);\n border-radius: var(--balloon-border-radius);\n content: attr(aria-label);\n padding: .5em 1em;\n position: absolute;\n white-space: nowrap;\n z-index: 10; }\n [aria-label][data-balloon-pos]:before {\n width: 0;\n height: 0;\n border: 5px solid transparent;\n border-top-color: rgba(16, 16, 16, 0.95);\n border-top-color: var(--balloon-color);\n opacity: 0;\n pointer-events: none;\n transition: all 0.18s ease-out 0.18s;\n content: "";\n position: absolute;\n z-index: 10; }\n [aria-label][data-balloon-pos]:hover:before, [aria-label][data-balloon-pos]:hover:after, [aria-label][data-balloon-pos][data-balloon-visible]:before, [aria-label][data-balloon-pos][data-balloon-visible]:after, [aria-label][data-balloon-pos]:not([data-balloon-nofocus]):focus:before, [aria-label][data-balloon-pos]:not([data-balloon-nofocus]):focus:after {\n opacity: 1;\n pointer-events: none; }\n [aria-label][data-balloon-pos].font-awesome:after {\n font-family: FontAwesome, -apple-system, BlinkMacSystemFont, \'Segoe UI\', Roboto, Oxygen, Ubuntu, Cantarell, \'Open Sans\', \'Helvetica Neue\', sans-serif; }\n [aria-label][data-balloon-pos][data-balloon-break]:after {\n white-space: pre; }\n [aria-label][data-balloon-pos][data-balloon-break][data-balloon-length]:after {\n white-space: pre-line;\n word-break: break-word; }\n [aria-label][data-balloon-pos][data-balloon-blunt]:before, [aria-label][data-balloon-pos][data-balloon-blunt]:after {\n transition: none; }\n [aria-label][data-balloon-pos][data-balloon-pos="up"]:hover:after, [aria-label][data-balloon-pos][data-balloon-pos="up"][data-balloon-visible]:after, [aria-label][data-balloon-pos][data-balloon-pos="down"]:hover:after, [aria-label][data-balloon-pos][data-balloon-pos="down"][data-balloon-visible]:after {\n transform: translate(-50%, 0); }\n [aria-label][data-balloon-pos][data-balloon-pos="up"]:hover:before, [aria-label][data-balloon-pos][data-balloon-pos="up"][data-balloon-visible]:before, [aria-label][data-balloon-pos][data-balloon-pos="down"]:hover:before, [aria-label][data-balloon-pos][data-balloon-pos="down"][data-balloon-visible]:before {\n transform: translate(-50%, 0); }\n [aria-label][data-balloon-pos][data-balloon-pos*="-left"]:after {\n left: 0; }\n [aria-label][data-balloon-pos][data-balloon-pos*="-left"]:before {\n left: 5px; }\n [aria-label][data-balloon-pos][data-balloon-pos*="-right"]:after {\n right: 0; }\n [aria-label][data-balloon-pos][data-balloon-pos*="-right"]:before {\n right: 5px; }\n [aria-label][data-balloon-pos][data-balloon-po*="-left"]:hover:after, [aria-label][data-balloon-pos][data-balloon-po*="-left"][data-balloon-visible]:after, [aria-label][data-balloon-pos][data-balloon-pos*="-right"]:hover:after, [aria-label][data-balloon-pos][data-balloon-pos*="-right"][data-balloon-visible]:after {\n transform: translate(0, 0); }\n [aria-label][data-balloon-pos][data-balloon-po*="-left"]:hover:before, [aria-label][data-balloon-pos][data-balloon-po*="-left"][data-balloon-visible]:before, [aria-label][data-balloon-pos][data-balloon-pos*="-right"]:hover:before, [aria-label][data-balloon-pos][data-balloon-pos*="-right"][data-balloon-visible]:before {\n transform: translate(0, 0); }\n [aria-label][data-balloon-pos][data-balloon-pos^="up"]:before, [aria-label][data-balloon-pos][data-balloon-pos^="up"]:after {\n bottom: 100%;\n transform-origin: top;\n transform: translate(0, 4px);\n transform: translate(0, var(--balloon-move)); }\n [aria-label][data-balloon-pos][data-balloon-pos^="up"]:after {\n margin-bottom: 10px; }\n [aria-label][data-balloon-pos][data-balloon-pos="up"]:before, [aria-label][data-balloon-pos][data-balloon-pos="up"]:after {\n left: 50%;\n transform: translate(-50%, 4px);\n transform: translate(-50%, var(--balloon-move)); }\n [aria-label][data-balloon-pos][data-balloon-pos^="down"]:before, [aria-label][data-balloon-pos][data-balloon-pos^="down"]:after {\n top: 100%;\n transform: translate(0, calc(4px * -1));\n transform: translate(0, calc(var(--balloon-move) * -1)); }\n [aria-label][data-balloon-pos][data-balloon-pos^="down"]:after {\n margin-top: 10px; }\n [aria-label][data-balloon-pos][data-balloon-pos^="down"]:before {\n width: 0;\n height: 0;\n border: 5px solid transparent;\n border-bottom-color: rgba(16, 16, 16, 0.95);\n border-bottom-color: var(--balloon-color); }\n [aria-label][data-balloon-pos][data-balloon-pos="down"]:after, [aria-label][data-balloon-pos][data-balloon-pos="down"]:before {\n left: 50%;\n transform: translate(-50%, calc(4px * -1));\n transform: translate(-50%, calc(var(--balloon-move) * -1)); }\n [aria-label][data-balloon-pos][data-balloon-pos="left"]:hover:after, [aria-label][data-balloon-pos][data-balloon-pos="left"][data-balloon-visible]:after, [aria-label][data-balloon-pos][data-balloon-pos="right"]:hover:after, [aria-label][data-balloon-pos][data-balloon-pos="right"][data-balloon-visible]:after {\n transform: translate(0, -50%); }\n [aria-label][data-balloon-pos][data-balloon-pos="left"]:hover:before, [aria-label][data-balloon-pos][data-balloon-pos="left"][data-balloon-visible]:before, [aria-label][data-balloon-pos][data-balloon-pos="right"]:hover:before, [aria-label][data-balloon-pos][data-balloon-pos="right"][data-balloon-visible]:before {\n transform: translate(0, -50%); }\n [aria-label][data-balloon-pos][data-balloon-pos="left"]:after, [aria-label][data-balloon-pos][data-balloon-pos="left"]:before {\n right: 100%;\n top: 50%;\n transform: translate(4px, -50%);\n transform: translate(var(--balloon-move), -50%); }\n [aria-label][data-balloon-pos][data-balloon-pos="left"]:after {\n margin-right: 10px; }\n [aria-label][data-balloon-pos][data-balloon-pos="left"]:before {\n width: 0;\n height: 0;\n border: 5px solid transparent;\n border-left-color: rgba(16, 16, 16, 0.95);\n border-left-color: var(--balloon-color); }\n [aria-label][data-balloon-pos][data-balloon-pos="right"]:after, [aria-label][data-balloon-pos][data-balloon-pos="right"]:before {\n left: 100%;\n top: 50%;\n transform: translate(calc(4px * -1), -50%);\n transform: translate(calc(var(--balloon-move) * -1), -50%); }\n [aria-label][data-balloon-pos][data-balloon-pos="right"]:after {\n margin-left: 10px; }\n [aria-label][data-balloon-pos][data-balloon-pos="right"]:before {\n width: 0;\n height: 0;\n border: 5px solid transparent;\n border-right-color: rgba(16, 16, 16, 0.95);\n border-right-color: var(--balloon-color); }\n [aria-label][data-balloon-pos][data-balloon-length]:after {\n white-space: normal; }\n [aria-label][data-balloon-pos][data-balloon-length="small"]:after {\n width: 80px; }\n [aria-label][data-balloon-pos][data-balloon-length="medium"]:after {\n width: 150px; }\n [aria-label][data-balloon-pos][data-balloon-length="large"]:after {\n width: 260px; }\n [aria-label][data-balloon-pos][data-balloon-length="xlarge"]:after {\n width: 380px; }\n @media screen and (max-width: 768px) {\n [aria-label][data-balloon-pos][data-balloon-length="xlarge"]:after {\n width: 90vw; } }\n [aria-label][data-balloon-pos][data-balloon-length="fit"]:after {\n width: 100%; }\n',"",{version:3,sources:["webpack://./node_modules/.pnpm/balloon-css@1.2.0/node_modules/balloon-css/balloon.css"],names:[],mappings:"AAAA;EACE,4BAA4B;EAC5B,uCAAuC;EACvC,0BAA0B;EAC1B,yBAAyB;EACzB,mBAAmB,EAAE;;AAEvB;EACE,iBAAiB,EAAE;;AAErB;EACE,kBAAkB;EAClB,eAAe,EAAE;EACjB;IACE,UAAU;IACV,oBAAoB;IACpB,oCAAoC;IACpC,cAAc;IACd,wIAAwI;IACxI,mBAAmB;IACnB,kBAAkB;IAClB,iBAAiB;IACjB,eAAmC;IAAnC,mCAAmC;IACnC,kCAAgC;IAAhC,gCAAgC;IAChC,kBAAkB;IAClB,WAAgC;IAAhC,gCAAgC;IAChC,2CAA2C;IAC3C,yBAAyB;IACzB,iBAAiB;IACjB,kBAAkB;IAClB,mBAAmB;IACnB,WAAW,EAAE;EACf;IACE,QAAQ;IACR,SAAS;IACT,6BAA6B;IAC7B,wCAAsC;IAAtC,sCAAsC;IACtC,UAAU;IACV,oBAAoB;IACpB,oCAAoC;IACpC,WAAW;IACX,kBAAkB;IAClB,WAAW,EAAE;EACf;IACE,UAAU;IACV,oBAAoB,EAAE;EACxB;IACE,qJAAqJ,EAAE;EACzJ;IACE,gBAAgB,EAAE;EACpB;IACE,qBAAqB;IACrB,sBAAsB,EAAE;EAC1B;IACE,gBAAgB,EAAE;EACpB;IACE,6BAA6B,EAAE;EACjC;IACE,6BAA6B,EAAE;EACjC;IACE,OAAO,EAAE;EACX;IACE,SAAS,EAAE;EACb;IACE,QAAQ,EAAE;EACZ;IACE,UAAU,EAAE;EACd;IACE,0BAA0B,EAAE;EAC9B;IACE,0BAA0B,EAAE;EAC9B;IACE,YAAY;IACZ,qBAAqB;IACrB,4BAA4C;IAA5C,4CAA4C,EAAE;EAChD;IACE,mBAAmB,EAAE;EACvB;IACE,SAAS;IACT,+BAA+C;IAA/C,+CAA+C,EAAE;EACnD;IACE,SAAS;IACT,uCAAuD;IAAvD,uDAAuD,EAAE;EAC3D;IACE,gBAAgB,EAAE;EACpB;IACE,QAAQ;IACR,SAAS;IACT,6BAA6B;IAC7B,2CAAyC;IAAzC,yCAAyC,EAAE;EAC7C;IACE,SAAS;IACT,0CAA0D;IAA1D,0DAA0D,EAAE;EAC9D;IACE,6BAA6B,EAAE;EACjC;IACE,6BAA6B,EAAE;EACjC;IACE,WAAW;IACX,QAAQ;IACR,+BAA+C;IAA/C,+CAA+C,EAAE;EACnD;IACE,kBAAkB,EAAE;EACtB;IACE,QAAQ;IACR,SAAS;IACT,6BAA6B;IAC7B,yCAAuC;IAAvC,uCAAuC,EAAE;EAC3C;IACE,UAAU;IACV,QAAQ;IACR,0CAA0D;IAA1D,0DAA0D,EAAE;EAC9D;IACE,iBAAiB,EAAE;EACrB;IACE,QAAQ;IACR,SAAS;IACT,6BAA6B;IAC7B,0CAAwC;IAAxC,wCAAwC,EAAE;EAC5C;IACE,mBAAmB,EAAE;EACvB;IACE,WAAW,EAAE;EACf;IACE,YAAY,EAAE;EAChB;IACE,YAAY,EAAE;EAChB;IACE,YAAY,EAAE;IACd;MACE;QACE,WAAW,EAAE,EAAE;EACrB;IACE,WAAW,EAAE",sourcesContent:[':root {\n --balloon-border-radius: 2px;\n --balloon-color: rgba(16, 16, 16, 0.95);\n --balloon-text-color: #fff;\n --balloon-font-size: 12px;\n --balloon-move: 4px; }\n\nbutton[aria-label][data-balloon-pos] {\n overflow: visible; }\n\n[aria-label][data-balloon-pos] {\n position: relative;\n cursor: pointer; }\n [aria-label][data-balloon-pos]:after {\n opacity: 0;\n pointer-events: none;\n transition: all 0.18s ease-out 0.18s;\n text-indent: 0;\n font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;\n font-weight: normal;\n font-style: normal;\n text-shadow: none;\n font-size: var(--balloon-font-size);\n background: var(--balloon-color);\n border-radius: 2px;\n color: var(--balloon-text-color);\n border-radius: var(--balloon-border-radius);\n content: attr(aria-label);\n padding: .5em 1em;\n position: absolute;\n white-space: nowrap;\n z-index: 10; }\n [aria-label][data-balloon-pos]:before {\n width: 0;\n height: 0;\n border: 5px solid transparent;\n border-top-color: var(--balloon-color);\n opacity: 0;\n pointer-events: none;\n transition: all 0.18s ease-out 0.18s;\n content: "";\n position: absolute;\n z-index: 10; }\n [aria-label][data-balloon-pos]:hover:before, [aria-label][data-balloon-pos]:hover:after, [aria-label][data-balloon-pos][data-balloon-visible]:before, [aria-label][data-balloon-pos][data-balloon-visible]:after, [aria-label][data-balloon-pos]:not([data-balloon-nofocus]):focus:before, [aria-label][data-balloon-pos]:not([data-balloon-nofocus]):focus:after {\n opacity: 1;\n pointer-events: none; }\n [aria-label][data-balloon-pos].font-awesome:after {\n font-family: FontAwesome, -apple-system, BlinkMacSystemFont, \'Segoe UI\', Roboto, Oxygen, Ubuntu, Cantarell, \'Open Sans\', \'Helvetica Neue\', sans-serif; }\n [aria-label][data-balloon-pos][data-balloon-break]:after {\n white-space: pre; }\n [aria-label][data-balloon-pos][data-balloon-break][data-balloon-length]:after {\n white-space: pre-line;\n word-break: break-word; }\n [aria-label][data-balloon-pos][data-balloon-blunt]:before, [aria-label][data-balloon-pos][data-balloon-blunt]:after {\n transition: none; }\n [aria-label][data-balloon-pos][data-balloon-pos="up"]:hover:after, [aria-label][data-balloon-pos][data-balloon-pos="up"][data-balloon-visible]:after, [aria-label][data-balloon-pos][data-balloon-pos="down"]:hover:after, [aria-label][data-balloon-pos][data-balloon-pos="down"][data-balloon-visible]:after {\n transform: translate(-50%, 0); }\n [aria-label][data-balloon-pos][data-balloon-pos="up"]:hover:before, [aria-label][data-balloon-pos][data-balloon-pos="up"][data-balloon-visible]:before, [aria-label][data-balloon-pos][data-balloon-pos="down"]:hover:before, [aria-label][data-balloon-pos][data-balloon-pos="down"][data-balloon-visible]:before {\n transform: translate(-50%, 0); }\n [aria-label][data-balloon-pos][data-balloon-pos*="-left"]:after {\n left: 0; }\n [aria-label][data-balloon-pos][data-balloon-pos*="-left"]:before {\n left: 5px; }\n [aria-label][data-balloon-pos][data-balloon-pos*="-right"]:after {\n right: 0; }\n [aria-label][data-balloon-pos][data-balloon-pos*="-right"]:before {\n right: 5px; }\n [aria-label][data-balloon-pos][data-balloon-po*="-left"]:hover:after, [aria-label][data-balloon-pos][data-balloon-po*="-left"][data-balloon-visible]:after, [aria-label][data-balloon-pos][data-balloon-pos*="-right"]:hover:after, [aria-label][data-balloon-pos][data-balloon-pos*="-right"][data-balloon-visible]:after {\n transform: translate(0, 0); }\n [aria-label][data-balloon-pos][data-balloon-po*="-left"]:hover:before, [aria-label][data-balloon-pos][data-balloon-po*="-left"][data-balloon-visible]:before, [aria-label][data-balloon-pos][data-balloon-pos*="-right"]:hover:before, [aria-label][data-balloon-pos][data-balloon-pos*="-right"][data-balloon-visible]:before {\n transform: translate(0, 0); }\n [aria-label][data-balloon-pos][data-balloon-pos^="up"]:before, [aria-label][data-balloon-pos][data-balloon-pos^="up"]:after {\n bottom: 100%;\n transform-origin: top;\n transform: translate(0, var(--balloon-move)); }\n [aria-label][data-balloon-pos][data-balloon-pos^="up"]:after {\n margin-bottom: 10px; }\n [aria-label][data-balloon-pos][data-balloon-pos="up"]:before, [aria-label][data-balloon-pos][data-balloon-pos="up"]:after {\n left: 50%;\n transform: translate(-50%, var(--balloon-move)); }\n [aria-label][data-balloon-pos][data-balloon-pos^="down"]:before, [aria-label][data-balloon-pos][data-balloon-pos^="down"]:after {\n top: 100%;\n transform: translate(0, calc(var(--balloon-move) * -1)); }\n [aria-label][data-balloon-pos][data-balloon-pos^="down"]:after {\n margin-top: 10px; }\n [aria-label][data-balloon-pos][data-balloon-pos^="down"]:before {\n width: 0;\n height: 0;\n border: 5px solid transparent;\n border-bottom-color: var(--balloon-color); }\n [aria-label][data-balloon-pos][data-balloon-pos="down"]:after, [aria-label][data-balloon-pos][data-balloon-pos="down"]:before {\n left: 50%;\n transform: translate(-50%, calc(var(--balloon-move) * -1)); }\n [aria-label][data-balloon-pos][data-balloon-pos="left"]:hover:after, [aria-label][data-balloon-pos][data-balloon-pos="left"][data-balloon-visible]:after, [aria-label][data-balloon-pos][data-balloon-pos="right"]:hover:after, [aria-label][data-balloon-pos][data-balloon-pos="right"][data-balloon-visible]:after {\n transform: translate(0, -50%); }\n [aria-label][data-balloon-pos][data-balloon-pos="left"]:hover:before, [aria-label][data-balloon-pos][data-balloon-pos="left"][data-balloon-visible]:before, [aria-label][data-balloon-pos][data-balloon-pos="right"]:hover:before, [aria-label][data-balloon-pos][data-balloon-pos="right"][data-balloon-visible]:before {\n transform: translate(0, -50%); }\n [aria-label][data-balloon-pos][data-balloon-pos="left"]:after, [aria-label][data-balloon-pos][data-balloon-pos="left"]:before {\n right: 100%;\n top: 50%;\n transform: translate(var(--balloon-move), -50%); }\n [aria-label][data-balloon-pos][data-balloon-pos="left"]:after {\n margin-right: 10px; }\n [aria-label][data-balloon-pos][data-balloon-pos="left"]:before {\n width: 0;\n height: 0;\n border: 5px solid transparent;\n border-left-color: var(--balloon-color); }\n [aria-label][data-balloon-pos][data-balloon-pos="right"]:after, [aria-label][data-balloon-pos][data-balloon-pos="right"]:before {\n left: 100%;\n top: 50%;\n transform: translate(calc(var(--balloon-move) * -1), -50%); }\n [aria-label][data-balloon-pos][data-balloon-pos="right"]:after {\n margin-left: 10px; }\n [aria-label][data-balloon-pos][data-balloon-pos="right"]:before {\n width: 0;\n height: 0;\n border: 5px solid transparent;\n border-right-color: var(--balloon-color); }\n [aria-label][data-balloon-pos][data-balloon-length]:after {\n white-space: normal; }\n [aria-label][data-balloon-pos][data-balloon-length="small"]:after {\n width: 80px; }\n [aria-label][data-balloon-pos][data-balloon-length="medium"]:after {\n width: 150px; }\n [aria-label][data-balloon-pos][data-balloon-length="large"]:after {\n width: 260px; }\n [aria-label][data-balloon-pos][data-balloon-length="xlarge"]:after {\n width: 380px; }\n @media screen and (max-width: 768px) {\n [aria-label][data-balloon-pos][data-balloon-length="xlarge"]:after {\n width: 90vw; } }\n [aria-label][data-balloon-pos][data-balloon-length="fit"]:after {\n width: 100%; }\n'],sourceRoot:""}]);const l=i},336:(n,e,t)=>{"use strict";t.d(e,{Z:()=>u});var a=t(189),o=t.n(a),r=t(291),i=t.n(r),l=t(234),s=t(943),p=t.n(s),d=new URL(t(831),t.b),c=i()(o());c.i(l.Z);var A=p()(d);c.push([n.id,`@keyframes my-face {\n 2% {\n transform: translate(0, 1.5px) rotate(1.5deg);\n }\n 4% {\n transform: translate(0, -1.5px) rotate(-0.5deg);\n }\n 6% {\n transform: translate(0, 1.5px) rotate(-1.5deg);\n }\n 8% {\n transform: translate(0, -1.5px) rotate(-1.5deg);\n }\n 10% {\n transform: translate(0, 2.5px) rotate(1.5deg);\n }\n 12% {\n transform: translate(0, -0.5px) rotate(1.5deg);\n }\n 14% {\n transform: translate(0, -1.5px) rotate(1.5deg);\n }\n 16% {\n transform: translate(0, -0.5px) rotate(-1.5deg);\n }\n 18% {\n transform: translate(0, 0.5px) rotate(-1.5deg);\n }\n 20% {\n transform: translate(0, -1.5px) rotate(2.5deg);\n }\n 22% {\n transform: translate(0, 0.5px) rotate(-1.5deg);\n }\n 24% {\n transform: translate(0, 1.5px) rotate(1.5deg);\n }\n 26% {\n transform: translate(0, 0.5px) rotate(0.5deg);\n }\n 28% {\n transform: translate(0, 0.5px) rotate(1.5deg);\n }\n 30% {\n transform: translate(0, -0.5px) rotate(2.5deg);\n }\n 32% {\n transform: translate(0, 1.5px) rotate(-0.5deg);\n }\n 34% {\n transform: translate(0, 1.5px) rotate(-0.5deg);\n }\n 36% {\n transform: translate(0, -1.5px) rotate(2.5deg);\n }\n 38% {\n transform: translate(0, 1.5px) rotate(-1.5deg);\n }\n 40% {\n transform: translate(0, -0.5px) rotate(2.5deg);\n }\n 42% {\n transform: translate(0, 2.5px) rotate(-1.5deg);\n }\n 44% {\n transform: translate(0, 1.5px) rotate(0.5deg);\n }\n 46% {\n transform: translate(0, -1.5px) rotate(2.5deg);\n }\n 48% {\n transform: translate(0, -0.5px) rotate(0.5deg);\n }\n 50% {\n transform: translate(0, 0.5px) rotate(0.5deg);\n }\n 52% {\n transform: translate(0, 2.5px) rotate(2.5deg);\n }\n 54% {\n transform: translate(0, -1.5px) rotate(1.5deg);\n }\n 56% {\n transform: translate(0, 2.5px) rotate(2.5deg);\n }\n 58% {\n transform: translate(0, 0.5px) rotate(2.5deg);\n }\n 60% {\n transform: translate(0, 2.5px) rotate(2.5deg);\n }\n 62% {\n transform: translate(0, -0.5px) rotate(2.5deg);\n }\n 64% {\n transform: translate(0, -0.5px) rotate(1.5deg);\n }\n 66% {\n transform: translate(0, 1.5px) rotate(-0.5deg);\n }\n 68% {\n transform: translate(0, -1.5px) rotate(-0.5deg);\n }\n 70% {\n transform: translate(0, 1.5px) rotate(0.5deg);\n }\n 72% {\n transform: translate(0, 2.5px) rotate(1.5deg);\n }\n 74% {\n transform: translate(0, -0.5px) rotate(0.5deg);\n }\n 76% {\n transform: translate(0, -0.5px) rotate(2.5deg);\n }\n 78% {\n transform: translate(0, -0.5px) rotate(1.5deg);\n }\n 80% {\n transform: translate(0, 1.5px) rotate(1.5deg);\n }\n 82% {\n transform: translate(0, -0.5px) rotate(0.5deg);\n }\n 84% {\n transform: translate(0, 1.5px) rotate(2.5deg);\n }\n 86% {\n transform: translate(0, -1.5px) rotate(-1.5deg);\n }\n 88% {\n transform: translate(0, -0.5px) rotate(2.5deg);\n }\n 90% {\n transform: translate(0, 2.5px) rotate(-0.5deg);\n }\n 92% {\n transform: translate(0, 0.5px) rotate(-0.5deg);\n }\n 94% {\n transform: translate(0, 2.5px) rotate(0.5deg);\n }\n 96% {\n transform: translate(0, -0.5px) rotate(1.5deg);\n }\n 98% {\n transform: translate(0, -1.5px) rotate(-0.5deg);\n }\n 0%,\n 100% {\n transform: translate(0, 0) rotate(0deg);\n }\n}\n.dplayer {\n position: relative;\n overflow: hidden;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n line-height: 1;\n}\n.dplayer * {\n box-sizing: content-box;\n}\n.dplayer svg {\n width: 100%;\n height: 100%;\n}\n.dplayer svg path,\n.dplayer svg circle {\n fill: #fff;\n}\n.dplayer:-webkit-full-screen {\n width: 100%;\n height: 100%;\n background: #000;\n position: fixed;\n z-index: 100000;\n left: 0;\n top: 0;\n margin: 0;\n padding: 0;\n transform: translate(0, 0);\n}\n.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-showdan,\n.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-danmaku,\n.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-danunlimit {\n display: none;\n}\n.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-comment {\n display: none;\n}\n.dplayer.dplayer-no-danmaku .dplayer-danmaku {\n display: none;\n}\n.dplayer.dplayer-live .dplayer-time {\n display: none;\n}\n.dplayer.dplayer-live .dplayer-bar-wrap {\n display: none;\n}\n.dplayer.dplayer-live .dplayer-setting-speed {\n display: none;\n}\n.dplayer.dplayer-live .dplayer-setting-loop {\n display: none;\n}\n.dplayer.dplayer-live.dplayer-no-danmaku .dplayer-setting {\n display: none;\n}\n.dplayer.dplayer-arrow .dplayer-danmaku {\n font-size: 18px;\n}\n.dplayer.dplayer-arrow .dplayer-icon {\n margin: 0 -3px;\n}\n.dplayer.dplayer-playing .dplayer-danmaku .dplayer-danmaku-move {\n animation-play-state: running;\n}\n@media (min-width: 900px) {\n .dplayer.dplayer-playing .dplayer-controller-mask {\n opacity: 0;\n }\n .dplayer.dplayer-playing .dplayer-controller {\n opacity: 0;\n }\n .dplayer.dplayer-playing:hover .dplayer-controller-mask {\n opacity: 1;\n }\n .dplayer.dplayer-playing:hover .dplayer-controller {\n opacity: 1;\n }\n}\n.dplayer.dplayer-loading .dplayer-bezel .diplayer-loading-icon {\n display: block;\n}\n.dplayer.dplayer-loading .dplayer-danmaku,\n.dplayer.dplayer-paused .dplayer-danmaku,\n.dplayer.dplayer-loading .dplayer-danmaku-move,\n.dplayer.dplayer-paused .dplayer-danmaku-move {\n animation-play-state: paused;\n}\n.dplayer.dplayer-hide-controller {\n cursor: none;\n}\n.dplayer.dplayer-hide-controller .dplayer-controller-mask {\n opacity: 0;\n transform: translateY(100%);\n}\n.dplayer.dplayer-hide-controller .dplayer-controller {\n opacity: 0;\n transform: translateY(100%);\n}\n.dplayer.dplayer-show-controller .dplayer-controller-mask {\n opacity: 1;\n}\n.dplayer.dplayer-show-controller .dplayer-controller {\n opacity: 1;\n}\n.dplayer.dplayer-fulled {\n width: 100% !important;\n height: 100% !important;\n}\n.dplayer.dplayer-fulled {\n position: fixed;\n z-index: 100000;\n left: 0;\n top: 0;\n}\n.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-volume,\n.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-camera-icon,\n.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-airplay-icon,\n.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-chromecast-icon,\n.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-play-icon {\n display: none;\n}\n.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-full .dplayer-full-in-icon {\n position: static;\n display: inline-block;\n}\n.dplayer.dplayer-mobile .dplayer-bar-time {\n display: none;\n}\n.dplayer.dplayer-mobile.dplayer-hide-controller .dplayer-mobile-play {\n display: none;\n}\n.dplayer.dplayer-mobile .dplayer-mobile-play {\n display: block;\n}\n.dplayer-web-fullscreen-fix {\n position: fixed;\n top: 0;\n left: 0;\n margin: 0;\n padding: 0;\n}\n[data-balloon]:before {\n display: none;\n}\n[data-balloon]:after {\n padding: 0.3em 0.7em;\n background: rgba(17, 17, 17, 0.7);\n}\n[data-balloon][data-balloon-pos="up"]:after {\n margin-bottom: 0;\n}\n.dplayer-bezel {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n font-size: 22px;\n color: #fff;\n pointer-events: none;\n}\n.dplayer-bezel .dplayer-bezel-icon {\n position: absolute;\n top: 50%;\n left: 50%;\n margin: -26px 0 0 -26px;\n height: 52px;\n width: 52px;\n padding: 12px;\n box-sizing: border-box;\n background: rgba(0, 0, 0, 0.5);\n border-radius: 50%;\n opacity: 0;\n pointer-events: none;\n}\n.dplayer-bezel .dplayer-bezel-icon.dplayer-bezel-transition {\n animation: bezel-hide 0.5s linear;\n}\n@keyframes bezel-hide {\n from {\n opacity: 1;\n transform: scale(1);\n }\n to {\n opacity: 0;\n transform: scale(2);\n }\n}\n.dplayer-bezel .dplayer-danloading {\n position: absolute;\n top: 50%;\n margin-top: -7px;\n width: 100%;\n text-align: center;\n font-size: 14px;\n line-height: 14px;\n animation: my-face 5s infinite ease-in-out;\n}\n.dplayer-bezel .diplayer-loading-icon {\n display: none;\n position: absolute;\n top: 50%;\n left: 50%;\n margin: -18px 0 0 -18px;\n height: 36px;\n width: 36px;\n pointer-events: none;\n}\n.dplayer-bezel .diplayer-loading-icon .diplayer-loading-hide {\n display: none;\n}\n.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot {\n animation: diplayer-loading-dot-fade 0.8s ease infinite;\n opacity: 0;\n transform-origin: 4px 4px;\n}\n.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-1 {\n animation-delay: 0.1s;\n}\n.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-2 {\n animation-delay: 0.2s;\n}\n.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-3 {\n animation-delay: 0.3s;\n}\n.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-4 {\n animation-delay: 0.4s;\n}\n.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-5 {\n animation-delay: 0.5s;\n}\n.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-6 {\n animation-delay: 0.6s;\n}\n.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-7 {\n animation-delay: 0.7s;\n}\n@keyframes diplayer-loading-dot-fade {\n 0% {\n opacity: 0.7;\n transform: scale(1.2, 1.2);\n }\n 50% {\n opacity: 0.25;\n transform: scale(0.9, 0.9);\n }\n to {\n opacity: 0.25;\n transform: scale(0.85, 0.85);\n }\n}\n.dplayer-controller-mask {\n background: url(${A}) repeat-x bottom;\n height: 98px;\n width: 100%;\n position: absolute;\n bottom: 0;\n transition: all 0.3s ease;\n}\n.dplayer-controller {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n height: 41px;\n padding: 0 20px;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n transition: all 0.3s ease;\n}\n.dplayer-controller.dplayer-controller-comment .dplayer-icons {\n display: none;\n}\n.dplayer-controller.dplayer-controller-comment .dplayer-icons.dplayer-comment-box {\n display: block;\n}\n.dplayer-controller .dplayer-bar-wrap {\n padding: 5px 0;\n cursor: pointer;\n position: absolute;\n bottom: 33px;\n width: calc(100% - 40px);\n height: 3px;\n}\n.dplayer-controller .dplayer-bar-wrap:hover .dplayer-bar .dplayer-played .dplayer-thumb {\n transform: scale(1);\n}\n.dplayer-controller .dplayer-bar-wrap:hover .dplayer-highlight {\n display: block;\n width: 8px;\n transform: translateX(-4px);\n top: 4px;\n height: 40%;\n}\n.dplayer-controller .dplayer-bar-wrap .dplayer-highlight {\n z-index: 12;\n position: absolute;\n top: 5px;\n width: 6px;\n height: 20%;\n border-radius: 6px;\n background-color: #fff;\n text-align: center;\n transform: translateX(-3px);\n transition: all 0.2s ease-in-out;\n}\n.dplayer-controller .dplayer-bar-wrap .dplayer-highlight:hover .dplayer-highlight-text {\n display: block;\n}\n.dplayer-controller .dplayer-bar-wrap .dplayer-highlight:hover ~ .dplayer-bar-preview {\n opacity: 0;\n}\n.dplayer-controller .dplayer-bar-wrap .dplayer-highlight:hover ~ .dplayer-bar-time {\n opacity: 0;\n}\n.dplayer-controller .dplayer-bar-wrap .dplayer-highlight .dplayer-highlight-text {\n display: none;\n position: absolute;\n left: 50%;\n top: -24px;\n padding: 5px 8px;\n background-color: rgba(0, 0, 0, 0.62);\n color: #fff;\n border-radius: 4px;\n font-size: 12px;\n white-space: nowrap;\n transform: translateX(-50%);\n}\n.dplayer-controller .dplayer-bar-wrap .dplayer-bar-preview {\n position: absolute;\n background: #fff;\n pointer-events: none;\n display: none;\n background-size: 16000px 100%;\n}\n.dplayer-controller .dplayer-bar-wrap .dplayer-bar-preview-canvas {\n position: absolute;\n width: 100%;\n height: 100%;\n z-index: 1;\n pointer-events: none;\n}\n.dplayer-controller .dplayer-bar-wrap .dplayer-bar-time {\n position: absolute;\n left: 0px;\n top: -20px;\n border-radius: 4px;\n padding: 5px 7px;\n background-color: rgba(0, 0, 0, 0.62);\n color: #fff;\n font-size: 12px;\n text-align: center;\n opacity: 1;\n transition: opacity 0.1s ease-in-out;\n word-wrap: normal;\n word-break: normal;\n z-index: 2;\n pointer-events: none;\n}\n.dplayer-controller .dplayer-bar-wrap .dplayer-bar-time.hidden {\n opacity: 0;\n}\n.dplayer-controller .dplayer-bar-wrap .dplayer-bar {\n position: relative;\n height: 3px;\n width: 100%;\n background: rgba(255, 255, 255, 0.2);\n cursor: pointer;\n}\n.dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-loaded {\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n background: rgba(255, 255, 255, 0.4);\n height: 3px;\n transition: all 0.5s ease;\n will-change: width;\n}\n.dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-played {\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n height: 3px;\n will-change: width;\n}\n.dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-played .dplayer-thumb {\n position: absolute;\n top: 0;\n right: 5px;\n margin-top: -4px;\n margin-right: -10px;\n height: 11px;\n width: 11px;\n border-radius: 50%;\n cursor: pointer;\n transition: all 0.3s ease-in-out;\n transform: scale(0);\n}\n.dplayer-controller .dplayer-icons {\n height: 38px;\n position: absolute;\n bottom: 0;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box {\n display: none;\n position: absolute;\n transition: all 0.3s ease-in-out;\n z-index: 2;\n height: 38px;\n bottom: 0;\n left: 20px;\n right: 20px;\n color: #fff;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-icon {\n padding: 7px;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-icon {\n position: absolute;\n left: 0;\n top: 0;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-send-icon {\n position: absolute;\n right: 0;\n top: 0;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box {\n position: absolute;\n background: rgba(28, 28, 28, 0.9);\n bottom: 41px;\n left: 0;\n box-shadow: 0 0 25px rgba(0, 0, 0, 0.3);\n border-radius: 4px;\n padding: 10px 10px 16px;\n font-size: 14px;\n width: 204px;\n transition: all 0.3s ease-in-out;\n transform: scale(0);\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box.dplayer-comment-setting-open {\n transform: scale(1);\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box input[type=radio] {\n display: none;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box label {\n cursor: pointer;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-title {\n font-size: 13px;\n color: #fff;\n line-height: 30px;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type {\n font-size: 0;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type .dplayer-comment-setting-title {\n margin-bottom: 6px;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type label:nth-child(2) span {\n border-radius: 4px 0 0 4px;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type label:nth-child(4) span {\n border-radius: 0 4px 4px 0;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type span {\n width: 33%;\n padding: 4px 6px;\n line-height: 16px;\n display: inline-block;\n font-size: 12px;\n color: #fff;\n border: 1px solid #fff;\n margin-right: -1px;\n box-sizing: border-box;\n text-align: center;\n cursor: pointer;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type input:checked + span {\n background: #E4E4E6;\n color: #1c1c1c;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color {\n font-size: 0;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color label {\n font-size: 0;\n padding: 6px;\n display: inline-block;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color span {\n width: 22px;\n height: 22px;\n display: inline-block;\n border-radius: 50%;\n box-sizing: border-box;\n cursor: pointer;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color span:hover {\n animation: my-face 5s infinite ease-in-out;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input {\n outline: none;\n border: none;\n padding: 8px 31px;\n font-size: 14px;\n line-height: 18px;\n text-align: center;\n border-radius: 4px;\n background: none;\n margin: 0;\n height: 100%;\n box-sizing: border-box;\n width: 100%;\n color: #fff;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input::-moz-placeholder {\n color: #fff;\n opacity: 0.8;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input::placeholder {\n color: #fff;\n opacity: 0.8;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input::-ms-clear {\n display: none;\n}\n.dplayer-controller .dplayer-icons.dplayer-icons-left .dplayer-icon {\n padding: 7px;\n}\n.dplayer-controller .dplayer-icons.dplayer-icons-right {\n right: 20px;\n}\n.dplayer-controller .dplayer-icons.dplayer-icons-right .dplayer-icon {\n padding: 8px;\n}\n.dplayer-controller .dplayer-icons .dplayer-time,\n.dplayer-controller .dplayer-icons .dplayer-live-badge {\n line-height: 38px;\n color: #eee;\n text-shadow: 0 0 2px rgba(0, 0, 0, 0.5);\n vertical-align: middle;\n font-size: 13px;\n cursor: default;\n}\n.dplayer-controller .dplayer-icons .dplayer-live-dot {\n display: inline-block;\n width: 6px;\n height: 6px;\n vertical-align: 4%;\n margin-right: 5px;\n content: '';\n border-radius: 6px;\n}\n.dplayer-controller .dplayer-icons .dplayer-icon {\n width: 40px;\n height: 100%;\n border: none;\n background-color: transparent;\n outline: none;\n cursor: pointer;\n vertical-align: middle;\n box-sizing: border-box;\n display: inline-block;\n}\n.dplayer-controller .dplayer-icons .dplayer-icon .dplayer-icon-content {\n transition: all 0.2s ease-in-out;\n opacity: 0.8;\n}\n.dplayer-controller .dplayer-icons .dplayer-icon:hover .dplayer-icon-content {\n opacity: 1;\n}\n.dplayer-controller .dplayer-icons .dplayer-icon.dplayer-quality-icon {\n color: #fff;\n width: auto;\n line-height: 22px;\n font-size: 14px;\n}\n.dplayer-controller .dplayer-icons .dplayer-icon.dplayer-comment-icon {\n padding: 10px 9px 9px;\n}\n.dplayer-controller .dplayer-icons .dplayer-icon.dplayer-setting-icon {\n padding-top: 8.5px;\n}\n.dplayer-controller .dplayer-icons .dplayer-icon.dplayer-volume-icon {\n width: 43px;\n}\n.dplayer-controller .dplayer-icons .dplayer-volume {\n position: relative;\n display: inline-block;\n cursor: pointer;\n height: 100%;\n}\n.dplayer-controller .dplayer-icons .dplayer-volume:hover .dplayer-volume-bar-wrap .dplayer-volume-bar {\n width: 45px;\n}\n.dplayer-controller .dplayer-icons .dplayer-volume:hover .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner .dplayer-thumb {\n transform: scale(1);\n}\n.dplayer-controller .dplayer-icons .dplayer-volume.dplayer-volume-active .dplayer-volume-bar-wrap .dplayer-volume-bar {\n width: 45px;\n}\n.dplayer-controller .dplayer-icons .dplayer-volume.dplayer-volume-active .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner .dplayer-thumb {\n transform: scale(1);\n}\n.dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap {\n display: inline-block;\n margin: 0 10px 0 -5px;\n vertical-align: middle;\n height: 100%;\n}\n.dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar {\n position: relative;\n top: 17px;\n width: 0;\n height: 3px;\n background: #aaa;\n transition: all 0.3s ease-in-out;\n}\n.dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner {\n position: absolute;\n bottom: 0;\n left: 0;\n height: 100%;\n transition: all 0.1s ease;\n will-change: width;\n}\n.dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner .dplayer-thumb {\n position: absolute;\n top: 0;\n right: 5px;\n margin-top: -4px;\n margin-right: -10px;\n height: 11px;\n width: 11px;\n border-radius: 50%;\n cursor: pointer;\n transition: all 0.3s ease-in-out;\n transform: scale(0);\n}\n.dplayer-controller .dplayer-icons .dplayer-subtitle-btn {\n display: inline-block;\n height: 100%;\n}\n.dplayer-controller .dplayer-icons .dplayer-subtitles {\n display: inline-block;\n height: 100%;\n}\n.dplayer-controller .dplayer-icons .dplayer-subtitles .dplayer-subtitles-box {\n position: absolute;\n right: 0;\n bottom: 50px;\n transform: scale(0);\n width: -moz-fit-content;\n width: fit-content;\n max-width: 240px;\n min-width: 120px;\n border-radius: 2px;\n background: rgba(28, 28, 28, 0.9);\n padding: 7px 0;\n transition: all 0.3s ease-in-out;\n overflow: auto;\n z-index: 2;\n}\n.dplayer-controller .dplayer-icons .dplayer-subtitles .dplayer-subtitles-box.dplayer-subtitles-panel {\n display: block;\n}\n.dplayer-controller .dplayer-icons .dplayer-subtitles .dplayer-subtitles-box.dplayer-subtitles-box-open {\n transform: scale(1);\n}\n.dplayer-controller .dplayer-icons .dplayer-subtitles .dplayer-subtitles-item {\n height: 30px;\n padding: 5px 10px;\n box-sizing: border-box;\n cursor: pointer;\n position: relative;\n}\n.dplayer-controller .dplayer-icons .dplayer-subtitles .dplayer-subtitles-item:hover {\n background-color: rgba(255, 255, 255, 0.1);\n}\n.dplayer-controller .dplayer-icons .dplayer-setting {\n display: inline-block;\n height: 100%;\n}\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box {\n position: absolute;\n right: 0;\n bottom: 50px;\n transform: scale(0);\n width: 150px;\n border-radius: 2px;\n background: rgba(28, 28, 28, 0.9);\n padding: 7px 0;\n transition: all 0.3s ease-in-out;\n overflow: hidden;\n z-index: 2;\n}\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box > div {\n display: none;\n}\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box > div.dplayer-setting-origin-panel {\n display: block;\n}\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-open {\n transform: scale(1);\n}\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-narrow {\n width: 70px;\n text-align: center;\n}\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-speed .dplayer-setting-origin-panel {\n display: none;\n}\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-speed .dplayer-setting-speed-panel {\n display: block;\n}\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-item,\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-speed-item {\n height: 30px;\n padding: 5px 10px;\n box-sizing: border-box;\n cursor: pointer;\n position: relative;\n}\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-item:hover,\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-speed-item:hover {\n background-color: rgba(255, 255, 255, 0.1);\n}\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku {\n padding: 5px 0;\n}\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-label {\n padding: 0 10px;\n display: inline;\n}\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku:hover .dplayer-label {\n display: none;\n}\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku:hover .dplayer-danmaku-bar-wrap {\n display: inline-block;\n}\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku.dplayer-setting-danmaku-active .dplayer-label {\n display: none;\n}\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku.dplayer-setting-danmaku-active .dplayer-danmaku-bar-wrap {\n display: inline-block;\n}\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap {\n padding: 0 10px;\n box-sizing: border-box;\n display: none;\n vertical-align: middle;\n height: 100%;\n width: 100%;\n}\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar {\n position: relative;\n top: 8.5px;\n width: 100%;\n height: 3px;\n background: #fff;\n transition: all 0.3s ease-in-out;\n}\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar .dplayer-danmaku-bar-inner {\n position: absolute;\n bottom: 0;\n left: 0;\n height: 100%;\n transition: all 0.1s ease;\n background: #aaa;\n will-change: width;\n}\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar .dplayer-danmaku-bar-inner .dplayer-thumb {\n position: absolute;\n top: 0;\n right: 5px;\n margin-top: -4px;\n margin-right: -10px;\n height: 11px;\n width: 11px;\n border-radius: 50%;\n cursor: pointer;\n transition: all 0.3s ease-in-out;\n background: #aaa;\n}\n.dplayer-controller .dplayer-icons .dplayer-full {\n display: inline-block;\n height: 100%;\n position: relative;\n}\n.dplayer-controller .dplayer-icons .dplayer-full:hover .dplayer-full-in-icon {\n display: block;\n}\n.dplayer-controller .dplayer-icons .dplayer-full .dplayer-full-in-icon {\n position: absolute;\n top: -30px;\n z-index: 1;\n display: none;\n}\n.dplayer-controller .dplayer-icons .dplayer-quality {\n position: relative;\n display: inline-block;\n height: 100%;\n z-index: 2;\n}\n.dplayer-controller .dplayer-icons .dplayer-quality:hover .dplayer-quality-list {\n display: block;\n}\n.dplayer-controller .dplayer-icons .dplayer-quality:hover .dplayer-quality-mask {\n display: block;\n}\n.dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-mask {\n display: none;\n position: absolute;\n bottom: 38px;\n left: -18px;\n width: 80px;\n padding-bottom: 12px;\n}\n.dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-list {\n display: none;\n font-size: 12px;\n width: 80px;\n border-radius: 2px;\n background: rgba(28, 28, 28, 0.9);\n padding: 5px 0;\n transition: all 0.3s ease-in-out;\n overflow: hidden;\n color: #fff;\n text-align: center;\n}\n.dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-item {\n height: 25px;\n box-sizing: border-box;\n cursor: pointer;\n line-height: 25px;\n}\n.dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-item:hover {\n background-color: rgba(255, 255, 255, 0.1);\n}\n.dplayer-controller .dplayer-icons .dplayer-comment {\n display: inline-block;\n height: 100%;\n}\n.dplayer-controller .dplayer-icons .dplayer-label {\n color: #eee;\n font-size: 13px;\n display: inline-block;\n vertical-align: middle;\n white-space: nowrap;\n}\n.dplayer-controller .dplayer-icons .dplayer-toggle {\n width: 32px;\n height: 20px;\n text-align: center;\n font-size: 0;\n vertical-align: middle;\n position: absolute;\n top: 5px;\n right: 10px;\n}\n.dplayer-controller .dplayer-icons .dplayer-toggle input {\n max-height: 0;\n max-width: 0;\n display: none;\n}\n.dplayer-controller .dplayer-icons .dplayer-toggle input + label {\n display: inline-block;\n position: relative;\n box-shadow: #dfdfdf 0 0 0 0 inset;\n border: 1px solid #dfdfdf;\n height: 20px;\n width: 32px;\n border-radius: 10px;\n box-sizing: border-box;\n cursor: pointer;\n transition: 0.2s ease-in-out;\n}\n.dplayer-controller .dplayer-icons .dplayer-toggle input + label:before {\n content: "";\n position: absolute;\n display: block;\n height: 18px;\n width: 18px;\n top: 0;\n left: 0;\n border-radius: 15px;\n transition: 0.2s ease-in-out;\n}\n.dplayer-controller .dplayer-icons .dplayer-toggle input + label:after {\n content: "";\n position: absolute;\n display: block;\n left: 0;\n top: 0;\n border-radius: 15px;\n background: #fff;\n transition: 0.2s ease-in-out;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);\n height: 18px;\n width: 18px;\n}\n.dplayer-controller .dplayer-icons .dplayer-toggle input:checked + label {\n border-color: rgba(255, 255, 255, 0.5);\n}\n.dplayer-controller .dplayer-icons .dplayer-toggle input:checked + label:before {\n width: 30px;\n background: rgba(255, 255, 255, 0.5);\n}\n.dplayer-controller .dplayer-icons .dplayer-toggle input:checked + label:after {\n left: 12px;\n}\n.dplayer-mobile-play {\n display: none;\n width: 50px;\n height: 50px;\n border: none;\n background-color: transparent;\n outline: none;\n cursor: pointer;\n box-sizing: border-box;\n bottom: 0;\n opacity: 0.8;\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n}\n.dplayer-danmaku {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n font-size: 22px;\n color: #fff;\n}\n.dplayer-danmaku .dplayer-danmaku-item {\n display: inline-block;\n pointer-events: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n cursor: default;\n white-space: nowrap;\n text-shadow: 0.5px 0.5px 0.5px rgba(0, 0, 0, 0.5);\n}\n.dplayer-danmaku .dplayer-danmaku-item--demo {\n position: absolute;\n visibility: hidden;\n}\n.dplayer-danmaku .dplayer-danmaku-right {\n position: absolute;\n right: 0;\n transform: translateX(100%);\n}\n.dplayer-danmaku .dplayer-danmaku-right.dplayer-danmaku-move {\n will-change: transform;\n animation-name: 'danmaku';\n animation-timing-function: linear;\n animation-play-state: paused;\n}\n@keyframes danmaku {\n from {\n transform: translateX(100%);\n }\n}\n.dplayer-danmaku .dplayer-danmaku-top,\n.dplayer-danmaku .dplayer-danmaku-bottom {\n position: absolute;\n width: 100%;\n text-align: center;\n visibility: hidden;\n}\n.dplayer-danmaku .dplayer-danmaku-top.dplayer-danmaku-move,\n.dplayer-danmaku .dplayer-danmaku-bottom.dplayer-danmaku-move {\n will-change: visibility;\n animation-name: 'danmaku-center';\n animation-timing-function: linear;\n animation-play-state: paused;\n}\n@keyframes danmaku-center {\n from {\n visibility: visible;\n }\n to {\n visibility: visible;\n }\n}\n.dplayer-logo {\n pointer-events: none;\n position: absolute;\n left: 20px;\n top: 20px;\n max-width: 50px;\n max-height: 50px;\n}\n.dplayer-logo img {\n max-width: 100%;\n max-height: 100%;\n background: none;\n}\n.dplayer-menu {\n position: absolute;\n width: 170px;\n border-radius: 2px;\n background: rgba(28, 28, 28, 0.85);\n padding: 5px 0;\n overflow: hidden;\n z-index: 3;\n display: none;\n}\n.dplayer-menu.dplayer-menu-show {\n display: block;\n}\n.dplayer-menu .dplayer-menu-item {\n height: 30px;\n box-sizing: border-box;\n cursor: pointer;\n}\n.dplayer-menu .dplayer-menu-item:hover {\n background-color: rgba(255, 255, 255, 0.1);\n}\n.dplayer-menu .dplayer-menu-item a {\n padding: 0 10px;\n line-height: 30px;\n color: #eee;\n font-size: 13px;\n display: inline-block;\n vertical-align: middle;\n width: 100%;\n box-sizing: border-box;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n.dplayer-menu .dplayer-menu-item a:hover {\n -webkit-text-decoration: none;\n text-decoration: none;\n}\n.dplayer-notice-list {\n position: absolute;\n bottom: 60px;\n left: 20px;\n}\n.dplayer-notice-list .dplayer-notice {\n border-radius: 2px;\n background: rgba(28, 28, 28, 0.9);\n transition: all 0.3s ease-in-out;\n overflow: hidden;\n color: #fff;\n display: table;\n pointer-events: none;\n animation: showNotice 0.3s ease 1 forwards;\n}\n.dplayer-notice-list .remove-notice {\n animation: removeNotice 0.3s ease 1 forwards;\n}\n@keyframes showNotice {\n from {\n padding: 0;\n font-size: 0;\n margin-top: 0;\n }\n to {\n padding: 7px 20px;\n font-size: 14px;\n margin-top: 5px;\n }\n}\n@keyframes removeNotice {\n 0% {\n padding: 7px 20px;\n font-size: 14px;\n margin-top: 5px;\n }\n 20% {\n font-size: 12px;\n }\n 21% {\n font-size: 0;\n padding: 7px 10px;\n }\n 100% {\n padding: 0;\n margin-top: 0;\n font-size: 0;\n }\n}\n.dplayer-subtitle {\n position: absolute;\n bottom: 40px;\n width: 90%;\n left: 5%;\n text-align: center;\n color: #fff;\n text-shadow: 0.5px 0.5px 0.5px rgba(0, 0, 0, 0.5);\n font-size: 20px;\n}\n.dplayer-subtitle.dplayer-subtitle-hide {\n display: none;\n}\n.dplayer-mask {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 1;\n display: none;\n}\n.dplayer-mask.dplayer-mask-show {\n display: block;\n}\n.dplayer-video-wrap {\n position: relative;\n background: #000;\n font-size: 0;\n width: 100%;\n height: 100%;\n}\n.dplayer-video-wrap .dplayer-video {\n width: 100%;\n height: 100%;\n display: none;\n}\n.dplayer-video-wrap .dplayer-video-current {\n display: block;\n}\n.dplayer-video-wrap .dplayer-video-prepare {\n display: none;\n}\n.dplayer-info-panel {\n position: absolute;\n top: 10px;\n left: 10px;\n width: 400px;\n background: rgba(28, 28, 28, 0.8);\n padding: 10px;\n color: #fff;\n font-size: 12px;\n border-radius: 2px;\n}\n.dplayer-info-panel-hide {\n display: none;\n}\n.dplayer-info-panel .dplayer-info-panel-close {\n cursor: pointer;\n position: absolute;\n right: 10px;\n top: 10px;\n}\n.dplayer-info-panel .dplayer-info-panel-item > span {\n display: inline-block;\n vertical-align: middle;\n line-height: 15px;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n.dplayer-info-panel .dplayer-info-panel-item-title {\n width: 100px;\n text-align: right;\n margin-right: 10px;\n}\n.dplayer-info-panel .dplayer-info-panel-item-data {\n width: 260px;\n}\n`,"",{version:3,sources:["webpack://./src/css/global.less","webpack://./src/css/index.less","webpack://./src/css/player.less","webpack://./src/css/balloon.less","webpack://./src/css/bezel.less","webpack://./src/css/controller.less","webpack://./src/css/danmaku.less","webpack://./src/css/logo.less","webpack://./src/css/menu.less","webpack://./src/css/notice.less","webpack://./src/css/subtitle.less","webpack://./src/css/video.less","webpack://./src/css/info-panel.less"],names:[],mappings:"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",sourcesContent:["@keyframes my-face {\n 2% {\n transform: translate(0, 1.5px) rotate(1.5deg);\n }\n 4% {\n transform: translate(0, -1.5px) rotate(-0.5deg);\n }\n 6% {\n transform: translate(0, 1.5px) rotate(-1.5deg);\n }\n 8% {\n transform: translate(0, -1.5px) rotate(-1.5deg);\n }\n 10% {\n transform: translate(0, 2.5px) rotate(1.5deg);\n }\n 12% {\n transform: translate(0, -0.5px) rotate(1.5deg);\n }\n 14% {\n transform: translate(0, -1.5px) rotate(1.5deg);\n }\n 16% {\n transform: translate(0, -0.5px) rotate(-1.5deg);\n }\n 18% {\n transform: translate(0, 0.5px) rotate(-1.5deg);\n }\n 20% {\n transform: translate(0, -1.5px) rotate(2.5deg);\n }\n 22% {\n transform: translate(0, 0.5px) rotate(-1.5deg);\n }\n 24% {\n transform: translate(0, 1.5px) rotate(1.5deg);\n }\n 26% {\n transform: translate(0, 0.5px) rotate(0.5deg);\n }\n 28% {\n transform: translate(0, 0.5px) rotate(1.5deg);\n }\n 30% {\n transform: translate(0, -0.5px) rotate(2.5deg);\n }\n 32% {\n transform: translate(0, 1.5px) rotate(-0.5deg);\n }\n 34% {\n transform: translate(0, 1.5px) rotate(-0.5deg);\n }\n 36% {\n transform: translate(0, -1.5px) rotate(2.5deg);\n }\n 38% {\n transform: translate(0, 1.5px) rotate(-1.5deg);\n }\n 40% {\n transform: translate(0, -0.5px) rotate(2.5deg);\n }\n 42% {\n transform: translate(0, 2.5px) rotate(-1.5deg);\n }\n 44% {\n transform: translate(0, 1.5px) rotate(0.5deg);\n }\n 46% {\n transform: translate(0, -1.5px) rotate(2.5deg);\n }\n 48% {\n transform: translate(0, -0.5px) rotate(0.5deg);\n }\n 50% {\n transform: translate(0, 0.5px) rotate(0.5deg);\n }\n 52% {\n transform: translate(0, 2.5px) rotate(2.5deg);\n }\n 54% {\n transform: translate(0, -1.5px) rotate(1.5deg);\n }\n 56% {\n transform: translate(0, 2.5px) rotate(2.5deg);\n }\n 58% {\n transform: translate(0, 0.5px) rotate(2.5deg);\n }\n 60% {\n transform: translate(0, 2.5px) rotate(2.5deg);\n }\n 62% {\n transform: translate(0, -0.5px) rotate(2.5deg);\n }\n 64% {\n transform: translate(0, -0.5px) rotate(1.5deg);\n }\n 66% {\n transform: translate(0, 1.5px) rotate(-0.5deg);\n }\n 68% {\n transform: translate(0, -1.5px) rotate(-0.5deg);\n }\n 70% {\n transform: translate(0, 1.5px) rotate(0.5deg);\n }\n 72% {\n transform: translate(0, 2.5px) rotate(1.5deg);\n }\n 74% {\n transform: translate(0, -0.5px) rotate(0.5deg);\n }\n 76% {\n transform: translate(0, -0.5px) rotate(2.5deg);\n }\n 78% {\n transform: translate(0, -0.5px) rotate(1.5deg);\n }\n 80% {\n transform: translate(0, 1.5px) rotate(1.5deg);\n }\n 82% {\n transform: translate(0, -0.5px) rotate(0.5deg);\n }\n 84% {\n transform: translate(0, 1.5px) rotate(2.5deg);\n }\n 86% {\n transform: translate(0, -1.5px) rotate(-1.5deg);\n }\n 88% {\n transform: translate(0, -0.5px) rotate(2.5deg);\n }\n 90% {\n transform: translate(0, 2.5px) rotate(-0.5deg);\n }\n 92% {\n transform: translate(0, 0.5px) rotate(-0.5deg);\n }\n 94% {\n transform: translate(0, 2.5px) rotate(0.5deg);\n }\n 96% {\n transform: translate(0, -0.5px) rotate(1.5deg);\n }\n 98% {\n transform: translate(0, -1.5px) rotate(-0.5deg);\n }\n 0%,\n 100% {\n transform: translate(0, 0) rotate(0deg);\n }\n}","@import '../../node_modules/balloon-css/balloon.css';\n@keyframes my-face {\n 2% {\n transform: translate(0, 1.5px) rotate(1.5deg);\n }\n 4% {\n transform: translate(0, -1.5px) rotate(-0.5deg);\n }\n 6% {\n transform: translate(0, 1.5px) rotate(-1.5deg);\n }\n 8% {\n transform: translate(0, -1.5px) rotate(-1.5deg);\n }\n 10% {\n transform: translate(0, 2.5px) rotate(1.5deg);\n }\n 12% {\n transform: translate(0, -0.5px) rotate(1.5deg);\n }\n 14% {\n transform: translate(0, -1.5px) rotate(1.5deg);\n }\n 16% {\n transform: translate(0, -0.5px) rotate(-1.5deg);\n }\n 18% {\n transform: translate(0, 0.5px) rotate(-1.5deg);\n }\n 20% {\n transform: translate(0, -1.5px) rotate(2.5deg);\n }\n 22% {\n transform: translate(0, 0.5px) rotate(-1.5deg);\n }\n 24% {\n transform: translate(0, 1.5px) rotate(1.5deg);\n }\n 26% {\n transform: translate(0, 0.5px) rotate(0.5deg);\n }\n 28% {\n transform: translate(0, 0.5px) rotate(1.5deg);\n }\n 30% {\n transform: translate(0, -0.5px) rotate(2.5deg);\n }\n 32% {\n transform: translate(0, 1.5px) rotate(-0.5deg);\n }\n 34% {\n transform: translate(0, 1.5px) rotate(-0.5deg);\n }\n 36% {\n transform: translate(0, -1.5px) rotate(2.5deg);\n }\n 38% {\n transform: translate(0, 1.5px) rotate(-1.5deg);\n }\n 40% {\n transform: translate(0, -0.5px) rotate(2.5deg);\n }\n 42% {\n transform: translate(0, 2.5px) rotate(-1.5deg);\n }\n 44% {\n transform: translate(0, 1.5px) rotate(0.5deg);\n }\n 46% {\n transform: translate(0, -1.5px) rotate(2.5deg);\n }\n 48% {\n transform: translate(0, -0.5px) rotate(0.5deg);\n }\n 50% {\n transform: translate(0, 0.5px) rotate(0.5deg);\n }\n 52% {\n transform: translate(0, 2.5px) rotate(2.5deg);\n }\n 54% {\n transform: translate(0, -1.5px) rotate(1.5deg);\n }\n 56% {\n transform: translate(0, 2.5px) rotate(2.5deg);\n }\n 58% {\n transform: translate(0, 0.5px) rotate(2.5deg);\n }\n 60% {\n transform: translate(0, 2.5px) rotate(2.5deg);\n }\n 62% {\n transform: translate(0, -0.5px) rotate(2.5deg);\n }\n 64% {\n transform: translate(0, -0.5px) rotate(1.5deg);\n }\n 66% {\n transform: translate(0, 1.5px) rotate(-0.5deg);\n }\n 68% {\n transform: translate(0, -1.5px) rotate(-0.5deg);\n }\n 70% {\n transform: translate(0, 1.5px) rotate(0.5deg);\n }\n 72% {\n transform: translate(0, 2.5px) rotate(1.5deg);\n }\n 74% {\n transform: translate(0, -0.5px) rotate(0.5deg);\n }\n 76% {\n transform: translate(0, -0.5px) rotate(2.5deg);\n }\n 78% {\n transform: translate(0, -0.5px) rotate(1.5deg);\n }\n 80% {\n transform: translate(0, 1.5px) rotate(1.5deg);\n }\n 82% {\n transform: translate(0, -0.5px) rotate(0.5deg);\n }\n 84% {\n transform: translate(0, 1.5px) rotate(2.5deg);\n }\n 86% {\n transform: translate(0, -1.5px) rotate(-1.5deg);\n }\n 88% {\n transform: translate(0, -0.5px) rotate(2.5deg);\n }\n 90% {\n transform: translate(0, 2.5px) rotate(-0.5deg);\n }\n 92% {\n transform: translate(0, 0.5px) rotate(-0.5deg);\n }\n 94% {\n transform: translate(0, 2.5px) rotate(0.5deg);\n }\n 96% {\n transform: translate(0, -0.5px) rotate(1.5deg);\n }\n 98% {\n transform: translate(0, -1.5px) rotate(-0.5deg);\n }\n 0%,\n 100% {\n transform: translate(0, 0) rotate(0deg);\n }\n}\n.dplayer {\n position: relative;\n overflow: hidden;\n user-select: none;\n line-height: 1;\n}\n.dplayer * {\n box-sizing: content-box;\n}\n.dplayer svg {\n width: 100%;\n height: 100%;\n}\n.dplayer svg path,\n.dplayer svg circle {\n fill: #fff;\n}\n.dplayer:-webkit-full-screen {\n width: 100%;\n height: 100%;\n background: #000;\n position: fixed;\n z-index: 100000;\n left: 0;\n top: 0;\n margin: 0;\n padding: 0;\n transform: translate(0, 0);\n}\n.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-showdan,\n.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-danmaku,\n.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-danunlimit {\n display: none;\n}\n.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-comment {\n display: none;\n}\n.dplayer.dplayer-no-danmaku .dplayer-danmaku {\n display: none;\n}\n.dplayer.dplayer-live .dplayer-time {\n display: none;\n}\n.dplayer.dplayer-live .dplayer-bar-wrap {\n display: none;\n}\n.dplayer.dplayer-live .dplayer-setting-speed {\n display: none;\n}\n.dplayer.dplayer-live .dplayer-setting-loop {\n display: none;\n}\n.dplayer.dplayer-live.dplayer-no-danmaku .dplayer-setting {\n display: none;\n}\n.dplayer.dplayer-arrow .dplayer-danmaku {\n font-size: 18px;\n}\n.dplayer.dplayer-arrow .dplayer-icon {\n margin: 0 -3px;\n}\n.dplayer.dplayer-playing .dplayer-danmaku .dplayer-danmaku-move {\n animation-play-state: running;\n}\n@media (min-width: 900px) {\n .dplayer.dplayer-playing .dplayer-controller-mask {\n opacity: 0;\n }\n .dplayer.dplayer-playing .dplayer-controller {\n opacity: 0;\n }\n .dplayer.dplayer-playing:hover .dplayer-controller-mask {\n opacity: 1;\n }\n .dplayer.dplayer-playing:hover .dplayer-controller {\n opacity: 1;\n }\n}\n.dplayer.dplayer-loading .dplayer-bezel .diplayer-loading-icon {\n display: block;\n}\n.dplayer.dplayer-loading .dplayer-danmaku,\n.dplayer.dplayer-paused .dplayer-danmaku,\n.dplayer.dplayer-loading .dplayer-danmaku-move,\n.dplayer.dplayer-paused .dplayer-danmaku-move {\n animation-play-state: paused;\n}\n.dplayer.dplayer-hide-controller {\n cursor: none;\n}\n.dplayer.dplayer-hide-controller .dplayer-controller-mask {\n opacity: 0;\n transform: translateY(100%);\n}\n.dplayer.dplayer-hide-controller .dplayer-controller {\n opacity: 0;\n transform: translateY(100%);\n}\n.dplayer.dplayer-show-controller .dplayer-controller-mask {\n opacity: 1;\n}\n.dplayer.dplayer-show-controller .dplayer-controller {\n opacity: 1;\n}\n.dplayer.dplayer-fulled {\n position: fixed;\n z-index: 100000;\n left: 0;\n top: 0;\n width: 100% !important;\n height: 100% !important;\n}\n.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-volume,\n.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-camera-icon,\n.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-airplay-icon,\n.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-chromecast-icon,\n.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-play-icon {\n display: none;\n}\n.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-full .dplayer-full-in-icon {\n position: static;\n display: inline-block;\n}\n.dplayer.dplayer-mobile .dplayer-bar-time {\n display: none;\n}\n.dplayer.dplayer-mobile.dplayer-hide-controller .dplayer-mobile-play {\n display: none;\n}\n.dplayer.dplayer-mobile .dplayer-mobile-play {\n display: block;\n}\n.dplayer-web-fullscreen-fix {\n position: fixed;\n top: 0;\n left: 0;\n margin: 0;\n padding: 0;\n}\n[data-balloon]:before {\n display: none;\n}\n[data-balloon]:after {\n padding: 0.3em 0.7em;\n background: rgba(17, 17, 17, 0.7);\n}\n[data-balloon][data-balloon-pos=\"up\"]:after {\n margin-bottom: 0;\n}\n.dplayer-bezel {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n font-size: 22px;\n color: #fff;\n pointer-events: none;\n}\n.dplayer-bezel .dplayer-bezel-icon {\n position: absolute;\n top: 50%;\n left: 50%;\n margin: -26px 0 0 -26px;\n height: 52px;\n width: 52px;\n padding: 12px;\n box-sizing: border-box;\n background: rgba(0, 0, 0, 0.5);\n border-radius: 50%;\n opacity: 0;\n pointer-events: none;\n}\n.dplayer-bezel .dplayer-bezel-icon.dplayer-bezel-transition {\n animation: bezel-hide 0.5s linear;\n}\n@keyframes bezel-hide {\n from {\n opacity: 1;\n transform: scale(1);\n }\n to {\n opacity: 0;\n transform: scale(2);\n }\n}\n.dplayer-bezel .dplayer-danloading {\n position: absolute;\n top: 50%;\n margin-top: -7px;\n width: 100%;\n text-align: center;\n font-size: 14px;\n line-height: 14px;\n animation: my-face 5s infinite ease-in-out;\n}\n.dplayer-bezel .diplayer-loading-icon {\n display: none;\n position: absolute;\n top: 50%;\n left: 50%;\n margin: -18px 0 0 -18px;\n height: 36px;\n width: 36px;\n pointer-events: none;\n}\n.dplayer-bezel .diplayer-loading-icon .diplayer-loading-hide {\n display: none;\n}\n.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot {\n animation: diplayer-loading-dot-fade 0.8s ease infinite;\n opacity: 0;\n transform-origin: 4px 4px;\n}\n.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-1 {\n animation-delay: 0.1s;\n}\n.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-2 {\n animation-delay: 0.2s;\n}\n.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-3 {\n animation-delay: 0.3s;\n}\n.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-4 {\n animation-delay: 0.4s;\n}\n.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-5 {\n animation-delay: 0.5s;\n}\n.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-6 {\n animation-delay: 0.6s;\n}\n.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-7 {\n animation-delay: 0.7s;\n}\n@keyframes diplayer-loading-dot-fade {\n 0% {\n opacity: 0.7;\n transform: scale(1.2, 1.2);\n }\n 50% {\n opacity: 0.25;\n transform: scale(0.9, 0.9);\n }\n to {\n opacity: 0.25;\n transform: scale(0.85, 0.85);\n }\n}\n.dplayer-controller-mask {\n background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==) repeat-x bottom;\n height: 98px;\n width: 100%;\n position: absolute;\n bottom: 0;\n transition: all 0.3s ease;\n}\n.dplayer-controller {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n height: 41px;\n padding: 0 20px;\n user-select: none;\n transition: all 0.3s ease;\n}\n.dplayer-controller.dplayer-controller-comment .dplayer-icons {\n display: none;\n}\n.dplayer-controller.dplayer-controller-comment .dplayer-icons.dplayer-comment-box {\n display: block;\n}\n.dplayer-controller .dplayer-bar-wrap {\n padding: 5px 0;\n cursor: pointer;\n position: absolute;\n bottom: 33px;\n width: calc(100% - 40px);\n height: 3px;\n}\n.dplayer-controller .dplayer-bar-wrap:hover .dplayer-bar .dplayer-played .dplayer-thumb {\n transform: scale(1);\n}\n.dplayer-controller .dplayer-bar-wrap:hover .dplayer-highlight {\n display: block;\n width: 8px;\n transform: translateX(-4px);\n top: 4px;\n height: 40%;\n}\n.dplayer-controller .dplayer-bar-wrap .dplayer-highlight {\n z-index: 12;\n position: absolute;\n top: 5px;\n width: 6px;\n height: 20%;\n border-radius: 6px;\n background-color: #fff;\n text-align: center;\n transform: translateX(-3px);\n transition: all 0.2s ease-in-out;\n}\n.dplayer-controller .dplayer-bar-wrap .dplayer-highlight:hover .dplayer-highlight-text {\n display: block;\n}\n.dplayer-controller .dplayer-bar-wrap .dplayer-highlight:hover ~ .dplayer-bar-preview {\n opacity: 0;\n}\n.dplayer-controller .dplayer-bar-wrap .dplayer-highlight:hover ~ .dplayer-bar-time {\n opacity: 0;\n}\n.dplayer-controller .dplayer-bar-wrap .dplayer-highlight .dplayer-highlight-text {\n display: none;\n position: absolute;\n left: 50%;\n top: -24px;\n padding: 5px 8px;\n background-color: rgba(0, 0, 0, 0.62);\n color: #fff;\n border-radius: 4px;\n font-size: 12px;\n white-space: nowrap;\n transform: translateX(-50%);\n}\n.dplayer-controller .dplayer-bar-wrap .dplayer-bar-preview {\n position: absolute;\n background: #fff;\n pointer-events: none;\n display: none;\n background-size: 16000px 100%;\n}\n.dplayer-controller .dplayer-bar-wrap .dplayer-bar-preview-canvas {\n position: absolute;\n width: 100%;\n height: 100%;\n z-index: 1;\n pointer-events: none;\n}\n.dplayer-controller .dplayer-bar-wrap .dplayer-bar-time {\n position: absolute;\n left: 0px;\n top: -20px;\n border-radius: 4px;\n padding: 5px 7px;\n background-color: rgba(0, 0, 0, 0.62);\n color: #fff;\n font-size: 12px;\n text-align: center;\n opacity: 1;\n transition: opacity 0.1s ease-in-out;\n word-wrap: normal;\n word-break: normal;\n z-index: 2;\n pointer-events: none;\n}\n.dplayer-controller .dplayer-bar-wrap .dplayer-bar-time.hidden {\n opacity: 0;\n}\n.dplayer-controller .dplayer-bar-wrap .dplayer-bar {\n position: relative;\n height: 3px;\n width: 100%;\n background: rgba(255, 255, 255, 0.2);\n cursor: pointer;\n}\n.dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-loaded {\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n background: rgba(255, 255, 255, 0.4);\n height: 3px;\n transition: all 0.5s ease;\n will-change: width;\n}\n.dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-played {\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n height: 3px;\n will-change: width;\n}\n.dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-played .dplayer-thumb {\n position: absolute;\n top: 0;\n right: 5px;\n margin-top: -4px;\n margin-right: -10px;\n height: 11px;\n width: 11px;\n border-radius: 50%;\n cursor: pointer;\n transition: all 0.3s ease-in-out;\n transform: scale(0);\n}\n.dplayer-controller .dplayer-icons {\n height: 38px;\n position: absolute;\n bottom: 0;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box {\n display: none;\n position: absolute;\n transition: all 0.3s ease-in-out;\n z-index: 2;\n height: 38px;\n bottom: 0;\n left: 20px;\n right: 20px;\n color: #fff;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-icon {\n padding: 7px;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-icon {\n position: absolute;\n left: 0;\n top: 0;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-send-icon {\n position: absolute;\n right: 0;\n top: 0;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box {\n position: absolute;\n background: rgba(28, 28, 28, 0.9);\n bottom: 41px;\n left: 0;\n box-shadow: 0 0 25px rgba(0, 0, 0, 0.3);\n border-radius: 4px;\n padding: 10px 10px 16px;\n font-size: 14px;\n width: 204px;\n transition: all 0.3s ease-in-out;\n transform: scale(0);\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box.dplayer-comment-setting-open {\n transform: scale(1);\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box input[type=radio] {\n display: none;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box label {\n cursor: pointer;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-title {\n font-size: 13px;\n color: #fff;\n line-height: 30px;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type {\n font-size: 0;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type .dplayer-comment-setting-title {\n margin-bottom: 6px;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type label:nth-child(2) span {\n border-radius: 4px 0 0 4px;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type label:nth-child(4) span {\n border-radius: 0 4px 4px 0;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type span {\n width: 33%;\n padding: 4px 6px;\n line-height: 16px;\n display: inline-block;\n font-size: 12px;\n color: #fff;\n border: 1px solid #fff;\n margin-right: -1px;\n box-sizing: border-box;\n text-align: center;\n cursor: pointer;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type input:checked + span {\n background: #E4E4E6;\n color: #1c1c1c;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color {\n font-size: 0;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color label {\n font-size: 0;\n padding: 6px;\n display: inline-block;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color span {\n width: 22px;\n height: 22px;\n display: inline-block;\n border-radius: 50%;\n box-sizing: border-box;\n cursor: pointer;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color span:hover {\n animation: my-face 5s infinite ease-in-out;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input {\n outline: none;\n border: none;\n padding: 8px 31px;\n font-size: 14px;\n line-height: 18px;\n text-align: center;\n border-radius: 4px;\n background: none;\n margin: 0;\n height: 100%;\n box-sizing: border-box;\n width: 100%;\n color: #fff;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input::placeholder {\n color: #fff;\n opacity: 0.8;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input::-ms-clear {\n display: none;\n}\n.dplayer-controller .dplayer-icons.dplayer-icons-left .dplayer-icon {\n padding: 7px;\n}\n.dplayer-controller .dplayer-icons.dplayer-icons-right {\n right: 20px;\n}\n.dplayer-controller .dplayer-icons.dplayer-icons-right .dplayer-icon {\n padding: 8px;\n}\n.dplayer-controller .dplayer-icons .dplayer-time,\n.dplayer-controller .dplayer-icons .dplayer-live-badge {\n line-height: 38px;\n color: #eee;\n text-shadow: 0 0 2px rgba(0, 0, 0, 0.5);\n vertical-align: middle;\n font-size: 13px;\n cursor: default;\n}\n.dplayer-controller .dplayer-icons .dplayer-live-dot {\n display: inline-block;\n width: 6px;\n height: 6px;\n vertical-align: 4%;\n margin-right: 5px;\n content: '';\n border-radius: 6px;\n}\n.dplayer-controller .dplayer-icons .dplayer-icon {\n width: 40px;\n height: 100%;\n border: none;\n background-color: transparent;\n outline: none;\n cursor: pointer;\n vertical-align: middle;\n box-sizing: border-box;\n display: inline-block;\n}\n.dplayer-controller .dplayer-icons .dplayer-icon .dplayer-icon-content {\n transition: all 0.2s ease-in-out;\n opacity: 0.8;\n}\n.dplayer-controller .dplayer-icons .dplayer-icon:hover .dplayer-icon-content {\n opacity: 1;\n}\n.dplayer-controller .dplayer-icons .dplayer-icon.dplayer-quality-icon {\n color: #fff;\n width: auto;\n line-height: 22px;\n font-size: 14px;\n}\n.dplayer-controller .dplayer-icons .dplayer-icon.dplayer-comment-icon {\n padding: 10px 9px 9px;\n}\n.dplayer-controller .dplayer-icons .dplayer-icon.dplayer-setting-icon {\n padding-top: 8.5px;\n}\n.dplayer-controller .dplayer-icons .dplayer-icon.dplayer-volume-icon {\n width: 43px;\n}\n.dplayer-controller .dplayer-icons .dplayer-volume {\n position: relative;\n display: inline-block;\n cursor: pointer;\n height: 100%;\n}\n.dplayer-controller .dplayer-icons .dplayer-volume:hover .dplayer-volume-bar-wrap .dplayer-volume-bar {\n width: 45px;\n}\n.dplayer-controller .dplayer-icons .dplayer-volume:hover .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner .dplayer-thumb {\n transform: scale(1);\n}\n.dplayer-controller .dplayer-icons .dplayer-volume.dplayer-volume-active .dplayer-volume-bar-wrap .dplayer-volume-bar {\n width: 45px;\n}\n.dplayer-controller .dplayer-icons .dplayer-volume.dplayer-volume-active .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner .dplayer-thumb {\n transform: scale(1);\n}\n.dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap {\n display: inline-block;\n margin: 0 10px 0 -5px;\n vertical-align: middle;\n height: 100%;\n}\n.dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar {\n position: relative;\n top: 17px;\n width: 0;\n height: 3px;\n background: #aaa;\n transition: all 0.3s ease-in-out;\n}\n.dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner {\n position: absolute;\n bottom: 0;\n left: 0;\n height: 100%;\n transition: all 0.1s ease;\n will-change: width;\n}\n.dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner .dplayer-thumb {\n position: absolute;\n top: 0;\n right: 5px;\n margin-top: -4px;\n margin-right: -10px;\n height: 11px;\n width: 11px;\n border-radius: 50%;\n cursor: pointer;\n transition: all 0.3s ease-in-out;\n transform: scale(0);\n}\n.dplayer-controller .dplayer-icons .dplayer-subtitle-btn {\n display: inline-block;\n height: 100%;\n}\n.dplayer-controller .dplayer-icons .dplayer-subtitles {\n display: inline-block;\n height: 100%;\n}\n.dplayer-controller .dplayer-icons .dplayer-subtitles .dplayer-subtitles-box {\n position: absolute;\n right: 0;\n bottom: 50px;\n transform: scale(0);\n width: fit-content;\n max-width: 240px;\n min-width: 120px;\n border-radius: 2px;\n background: rgba(28, 28, 28, 0.9);\n padding: 7px 0;\n transition: all 0.3s ease-in-out;\n overflow: auto;\n z-index: 2;\n}\n.dplayer-controller .dplayer-icons .dplayer-subtitles .dplayer-subtitles-box.dplayer-subtitles-panel {\n display: block;\n}\n.dplayer-controller .dplayer-icons .dplayer-subtitles .dplayer-subtitles-box.dplayer-subtitles-box-open {\n transform: scale(1);\n}\n.dplayer-controller .dplayer-icons .dplayer-subtitles .dplayer-subtitles-item {\n height: 30px;\n padding: 5px 10px;\n box-sizing: border-box;\n cursor: pointer;\n position: relative;\n}\n.dplayer-controller .dplayer-icons .dplayer-subtitles .dplayer-subtitles-item:hover {\n background-color: rgba(255, 255, 255, 0.1);\n}\n.dplayer-controller .dplayer-icons .dplayer-setting {\n display: inline-block;\n height: 100%;\n}\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box {\n position: absolute;\n right: 0;\n bottom: 50px;\n transform: scale(0);\n width: 150px;\n border-radius: 2px;\n background: rgba(28, 28, 28, 0.9);\n padding: 7px 0;\n transition: all 0.3s ease-in-out;\n overflow: hidden;\n z-index: 2;\n}\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box > div {\n display: none;\n}\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box > div.dplayer-setting-origin-panel {\n display: block;\n}\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-open {\n transform: scale(1);\n}\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-narrow {\n width: 70px;\n text-align: center;\n}\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-speed .dplayer-setting-origin-panel {\n display: none;\n}\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-speed .dplayer-setting-speed-panel {\n display: block;\n}\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-item,\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-speed-item {\n height: 30px;\n padding: 5px 10px;\n box-sizing: border-box;\n cursor: pointer;\n position: relative;\n}\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-item:hover,\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-speed-item:hover {\n background-color: rgba(255, 255, 255, 0.1);\n}\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku {\n padding: 5px 0;\n}\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-label {\n padding: 0 10px;\n display: inline;\n}\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku:hover .dplayer-label {\n display: none;\n}\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku:hover .dplayer-danmaku-bar-wrap {\n display: inline-block;\n}\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku.dplayer-setting-danmaku-active .dplayer-label {\n display: none;\n}\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku.dplayer-setting-danmaku-active .dplayer-danmaku-bar-wrap {\n display: inline-block;\n}\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap {\n padding: 0 10px;\n box-sizing: border-box;\n display: none;\n vertical-align: middle;\n height: 100%;\n width: 100%;\n}\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar {\n position: relative;\n top: 8.5px;\n width: 100%;\n height: 3px;\n background: #fff;\n transition: all 0.3s ease-in-out;\n}\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar .dplayer-danmaku-bar-inner {\n position: absolute;\n bottom: 0;\n left: 0;\n height: 100%;\n transition: all 0.1s ease;\n background: #aaa;\n will-change: width;\n}\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar .dplayer-danmaku-bar-inner .dplayer-thumb {\n position: absolute;\n top: 0;\n right: 5px;\n margin-top: -4px;\n margin-right: -10px;\n height: 11px;\n width: 11px;\n border-radius: 50%;\n cursor: pointer;\n transition: all 0.3s ease-in-out;\n background: #aaa;\n}\n.dplayer-controller .dplayer-icons .dplayer-full {\n display: inline-block;\n height: 100%;\n position: relative;\n}\n.dplayer-controller .dplayer-icons .dplayer-full:hover .dplayer-full-in-icon {\n display: block;\n}\n.dplayer-controller .dplayer-icons .dplayer-full .dplayer-full-in-icon {\n position: absolute;\n top: -30px;\n z-index: 1;\n display: none;\n}\n.dplayer-controller .dplayer-icons .dplayer-quality {\n position: relative;\n display: inline-block;\n height: 100%;\n z-index: 2;\n}\n.dplayer-controller .dplayer-icons .dplayer-quality:hover .dplayer-quality-list {\n display: block;\n}\n.dplayer-controller .dplayer-icons .dplayer-quality:hover .dplayer-quality-mask {\n display: block;\n}\n.dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-mask {\n display: none;\n position: absolute;\n bottom: 38px;\n left: -18px;\n width: 80px;\n padding-bottom: 12px;\n}\n.dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-list {\n display: none;\n font-size: 12px;\n width: 80px;\n border-radius: 2px;\n background: rgba(28, 28, 28, 0.9);\n padding: 5px 0;\n transition: all 0.3s ease-in-out;\n overflow: hidden;\n color: #fff;\n text-align: center;\n}\n.dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-item {\n height: 25px;\n box-sizing: border-box;\n cursor: pointer;\n line-height: 25px;\n}\n.dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-item:hover {\n background-color: rgba(255, 255, 255, 0.1);\n}\n.dplayer-controller .dplayer-icons .dplayer-comment {\n display: inline-block;\n height: 100%;\n}\n.dplayer-controller .dplayer-icons .dplayer-label {\n color: #eee;\n font-size: 13px;\n display: inline-block;\n vertical-align: middle;\n white-space: nowrap;\n}\n.dplayer-controller .dplayer-icons .dplayer-toggle {\n width: 32px;\n height: 20px;\n text-align: center;\n font-size: 0;\n vertical-align: middle;\n position: absolute;\n top: 5px;\n right: 10px;\n}\n.dplayer-controller .dplayer-icons .dplayer-toggle input {\n max-height: 0;\n max-width: 0;\n display: none;\n}\n.dplayer-controller .dplayer-icons .dplayer-toggle input + label {\n display: inline-block;\n position: relative;\n box-shadow: #dfdfdf 0 0 0 0 inset;\n border: 1px solid #dfdfdf;\n height: 20px;\n width: 32px;\n border-radius: 10px;\n box-sizing: border-box;\n cursor: pointer;\n transition: 0.2s ease-in-out;\n}\n.dplayer-controller .dplayer-icons .dplayer-toggle input + label:before {\n content: \"\";\n position: absolute;\n display: block;\n height: 18px;\n width: 18px;\n top: 0;\n left: 0;\n border-radius: 15px;\n transition: 0.2s ease-in-out;\n}\n.dplayer-controller .dplayer-icons .dplayer-toggle input + label:after {\n content: \"\";\n position: absolute;\n display: block;\n left: 0;\n top: 0;\n border-radius: 15px;\n background: #fff;\n transition: 0.2s ease-in-out;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);\n height: 18px;\n width: 18px;\n}\n.dplayer-controller .dplayer-icons .dplayer-toggle input:checked + label {\n border-color: rgba(255, 255, 255, 0.5);\n}\n.dplayer-controller .dplayer-icons .dplayer-toggle input:checked + label:before {\n width: 30px;\n background: rgba(255, 255, 255, 0.5);\n}\n.dplayer-controller .dplayer-icons .dplayer-toggle input:checked + label:after {\n left: 12px;\n}\n.dplayer-mobile-play {\n display: none;\n width: 50px;\n height: 50px;\n border: none;\n background-color: transparent;\n outline: none;\n cursor: pointer;\n box-sizing: border-box;\n bottom: 0;\n opacity: 0.8;\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n}\n.dplayer-danmaku {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n font-size: 22px;\n color: #fff;\n}\n.dplayer-danmaku .dplayer-danmaku-item {\n display: inline-block;\n pointer-events: none;\n user-select: none;\n cursor: default;\n white-space: nowrap;\n text-shadow: 0.5px 0.5px 0.5px rgba(0, 0, 0, 0.5);\n}\n.dplayer-danmaku .dplayer-danmaku-item--demo {\n position: absolute;\n visibility: hidden;\n}\n.dplayer-danmaku .dplayer-danmaku-right {\n position: absolute;\n right: 0;\n transform: translateX(100%);\n}\n.dplayer-danmaku .dplayer-danmaku-right.dplayer-danmaku-move {\n will-change: transform;\n animation-name: 'danmaku';\n animation-timing-function: linear;\n animation-play-state: paused;\n}\n@keyframes danmaku {\n from {\n transform: translateX(100%);\n }\n}\n.dplayer-danmaku .dplayer-danmaku-top,\n.dplayer-danmaku .dplayer-danmaku-bottom {\n position: absolute;\n width: 100%;\n text-align: center;\n visibility: hidden;\n}\n.dplayer-danmaku .dplayer-danmaku-top.dplayer-danmaku-move,\n.dplayer-danmaku .dplayer-danmaku-bottom.dplayer-danmaku-move {\n will-change: visibility;\n animation-name: 'danmaku-center';\n animation-timing-function: linear;\n animation-play-state: paused;\n}\n@keyframes danmaku-center {\n from {\n visibility: visible;\n }\n to {\n visibility: visible;\n }\n}\n.dplayer-logo {\n pointer-events: none;\n position: absolute;\n left: 20px;\n top: 20px;\n max-width: 50px;\n max-height: 50px;\n}\n.dplayer-logo img {\n max-width: 100%;\n max-height: 100%;\n background: none;\n}\n.dplayer-menu {\n position: absolute;\n width: 170px;\n border-radius: 2px;\n background: rgba(28, 28, 28, 0.85);\n padding: 5px 0;\n overflow: hidden;\n z-index: 3;\n display: none;\n}\n.dplayer-menu.dplayer-menu-show {\n display: block;\n}\n.dplayer-menu .dplayer-menu-item {\n height: 30px;\n box-sizing: border-box;\n cursor: pointer;\n}\n.dplayer-menu .dplayer-menu-item:hover {\n background-color: rgba(255, 255, 255, 0.1);\n}\n.dplayer-menu .dplayer-menu-item a {\n padding: 0 10px;\n line-height: 30px;\n color: #eee;\n font-size: 13px;\n display: inline-block;\n vertical-align: middle;\n width: 100%;\n box-sizing: border-box;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n.dplayer-menu .dplayer-menu-item a:hover {\n text-decoration: none;\n}\n.dplayer-notice-list {\n position: absolute;\n bottom: 60px;\n left: 20px;\n}\n.dplayer-notice-list .dplayer-notice {\n border-radius: 2px;\n background: rgba(28, 28, 28, 0.9);\n transition: all 0.3s ease-in-out;\n overflow: hidden;\n color: #fff;\n display: table;\n pointer-events: none;\n animation: showNotice 0.3s ease 1 forwards;\n}\n.dplayer-notice-list .remove-notice {\n animation: removeNotice 0.3s ease 1 forwards;\n}\n@keyframes showNotice {\n from {\n padding: 0;\n font-size: 0;\n margin-top: 0;\n }\n to {\n padding: 7px 20px;\n font-size: 14px;\n margin-top: 5px;\n }\n}\n@keyframes removeNotice {\n 0% {\n padding: 7px 20px;\n font-size: 14px;\n margin-top: 5px;\n }\n 20% {\n font-size: 12px;\n }\n 21% {\n font-size: 0;\n padding: 7px 10px;\n }\n 100% {\n padding: 0;\n margin-top: 0;\n font-size: 0;\n }\n}\n.dplayer-subtitle {\n position: absolute;\n bottom: 40px;\n width: 90%;\n left: 5%;\n text-align: center;\n color: #fff;\n text-shadow: 0.5px 0.5px 0.5px rgba(0, 0, 0, 0.5);\n font-size: 20px;\n}\n.dplayer-subtitle.dplayer-subtitle-hide {\n display: none;\n}\n.dplayer-mask {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 1;\n display: none;\n}\n.dplayer-mask.dplayer-mask-show {\n display: block;\n}\n.dplayer-video-wrap {\n position: relative;\n background: #000;\n font-size: 0;\n width: 100%;\n height: 100%;\n}\n.dplayer-video-wrap .dplayer-video {\n width: 100%;\n height: 100%;\n display: none;\n}\n.dplayer-video-wrap .dplayer-video-current {\n display: block;\n}\n.dplayer-video-wrap .dplayer-video-prepare {\n display: none;\n}\n.dplayer-info-panel {\n position: absolute;\n top: 10px;\n left: 10px;\n width: 400px;\n background: rgba(28, 28, 28, 0.8);\n padding: 10px;\n color: #fff;\n font-size: 12px;\n border-radius: 2px;\n}\n.dplayer-info-panel-hide {\n display: none;\n}\n.dplayer-info-panel .dplayer-info-panel-close {\n cursor: pointer;\n position: absolute;\n right: 10px;\n top: 10px;\n}\n.dplayer-info-panel .dplayer-info-panel-item > span {\n display: inline-block;\n vertical-align: middle;\n line-height: 15px;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n.dplayer-info-panel .dplayer-info-panel-item-title {\n width: 100px;\n text-align: right;\n margin-right: 10px;\n}\n.dplayer-info-panel .dplayer-info-panel-item-data {\n width: 260px;\n}\n",".dplayer {\n position: relative;\n overflow: hidden;\n user-select: none;\n line-height: 1;\n\n * {\n box-sizing: content-box;\n }\n\n svg {\n width: 100%;\n height: 100%;\n\n path,\n circle {\n fill: #fff;\n }\n }\n\n &:-webkit-full-screen {\n width: 100%;\n height: 100%;\n background: #000;\n position: fixed;\n z-index: 100000;\n left: 0;\n top: 0;\n margin: 0;\n padding: 0;\n transform: translate(0, 0);\n \n }\n\n &.dplayer-no-danmaku {\n .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box {\n .dplayer-setting-showdan,\n .dplayer-setting-danmaku,\n .dplayer-setting-danunlimit {\n display: none;\n }\n }\n\n .dplayer-controller .dplayer-icons .dplayer-comment {\n display: none;\n }\n\n .dplayer-danmaku {\n display: none;\n }\n }\n\n &.dplayer-live {\n .dplayer-time {\n display: none;\n }\n .dplayer-bar-wrap {\n display: none;\n }\n .dplayer-setting-speed {\n display: none;\n }\n .dplayer-setting-loop {\n display: none;\n }\n\n &.dplayer-no-danmaku {\n .dplayer-setting {\n display: none;\n }\n }\n }\n\n &.dplayer-arrow {\n .dplayer-danmaku {\n font-size: 18px;\n }\n .dplayer-icon {\n margin: 0 -3px;\n }\n }\n\n &.dplayer-playing {\n .dplayer-danmaku .dplayer-danmaku-move {\n animation-play-state: running;\n }\n\n @media (min-width: 900px) {\n .dplayer-controller-mask {\n opacity: 0;\n }\n .dplayer-controller {\n opacity: 0;\n }\n\n &:hover {\n .dplayer-controller-mask {\n opacity: 1;\n }\n .dplayer-controller {\n opacity: 1;\n }\n }\n }\n }\n\n &.dplayer-loading {\n .dplayer-bezel .diplayer-loading-icon {\n display: block;\n }\n }\n\n &.dplayer-loading,\n &.dplayer-paused {\n .dplayer-danmaku,\n .dplayer-danmaku-move {\n animation-play-state: paused;\n }\n }\n\n &.dplayer-hide-controller {\n cursor: none;\n\n .dplayer-controller-mask {\n opacity: 0;\n transform: translateY(100%);\n }\n .dplayer-controller {\n opacity: 0;\n transform: translateY(100%);\n }\n }\n &.dplayer-show-controller {\n .dplayer-controller-mask {\n opacity: 1;\n }\n .dplayer-controller {\n opacity: 1;\n }\n }\n &.dplayer-fulled {\n position: fixed;\n z-index: 100000;\n left: 0;\n top: 0;\n width: 100% !important;\n height: 100% !important;\n }\n &.dplayer-mobile {\n .dplayer-controller .dplayer-icons {\n .dplayer-volume,\n .dplayer-camera-icon,\n .dplayer-airplay-icon,\n .dplayer-chromecast-icon,\n .dplayer-play-icon {\n display: none;\n }\n .dplayer-full .dplayer-full-in-icon {\n position: static;\n display: inline-block;\n }\n }\n\n .dplayer-bar-time {\n display: none;\n }\n\n &.dplayer-hide-controller {\n .dplayer-mobile-play {\n display: none;\n }\n }\n\n .dplayer-mobile-play {\n display: block;\n }\n }\n}\n\n// To hide scroll bar, apply this class to \n.dplayer-web-fullscreen-fix {\n position: fixed;\n top: 0;\n left: 0;\n margin: 0;\n padding: 0;\n}\n","@import '../../node_modules/balloon-css/balloon.css';\n\n[data-balloon]:before {\n display: none;\n}\n\n[data-balloon]:after {\n padding: 0.3em 0.7em;\n background: rgba(17, 17, 17, 0.7);\n}\n\n[data-balloon][data-balloon-pos=\"up\"]:after {\n margin-bottom: 0;\n}",".dplayer-bezel {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n font-size: 22px;\n color: #fff;\n pointer-events: none;\n .dplayer-bezel-icon {\n position: absolute;\n top: 50%;\n left: 50%;\n margin: -26px 0 0 -26px;\n height: 52px;\n width: 52px;\n padding: 12px;\n box-sizing: border-box;\n background: rgba(0, 0, 0, .5);\n border-radius: 50%;\n opacity: 0;\n pointer-events: none;\n &.dplayer-bezel-transition {\n animation: bezel-hide .5s linear;\n }\n @keyframes bezel-hide {\n from {\n opacity: 1;\n transform: scale(1);\n }\n to {\n opacity: 0;\n transform: scale(2);\n }\n }\n }\n .dplayer-danloading {\n position: absolute;\n top: 50%;\n margin-top: -7px;\n width: 100%;\n text-align: center;\n font-size: 14px;\n line-height: 14px;\n animation: my-face 5s infinite ease-in-out;\n }\n .diplayer-loading-icon {\n display: none;\n position: absolute;\n top: 50%;\n left: 50%;\n margin: -18px 0 0 -18px;\n height: 36px;\n width: 36px;\n pointer-events: none;\n .diplayer-loading-hide {\n display: none;\n }\n .diplayer-loading-dot {\n animation: diplayer-loading-dot-fade .8s ease infinite;\n opacity: 0;\n transform-origin: 4px 4px;\n each(range(7), {\n &.diplayer-loading-dot-@{value} {\n animation-delay: (@value * 0.1s);\n }\n });\n }\n @keyframes diplayer-loading-dot-fade {\n 0% {\n opacity: .7;\n transform: scale(1.2, 1.2)\n }\n 50% {\n opacity: .25;\n transform: scale(.9, .9)\n }\n to {\n opacity: .25;\n transform: scale(.85, .85)\n }\n }\n }\n}",'.dplayer-controller-mask {\n background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==) repeat-x bottom;\n height: 98px;\n width: 100%;\n position: absolute;\n bottom: 0;\n transition: all 0.3s ease;\n}\n\n.dplayer-controller {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n height: 41px;\n padding: 0 20px;\n user-select: none;\n transition: all 0.3s ease;\n &.dplayer-controller-comment {\n .dplayer-icons {\n display: none;\n }\n .dplayer-icons.dplayer-comment-box {\n display: block;\n }\n }\n .dplayer-bar-wrap {\n padding: 5px 0;\n cursor: pointer;\n position: absolute;\n bottom: 33px;\n width: calc(100% - 40px);\n height: 3px;\n &:hover {\n .dplayer-bar .dplayer-played .dplayer-thumb {\n transform: scale(1);\n }\n .dplayer-highlight {\n display: block;\n width: 8px;\n transform: translateX(-4px);\n top: 4px;\n height: 40%;\n }\n }\n .dplayer-highlight {\n z-index: 12;\n position: absolute;\n top: 5px;\n width: 6px;\n height: 20%;\n border-radius: 6px;\n background-color: #fff;\n text-align: center;\n transform: translateX(-3px);\n transition: all .2s ease-in-out;\n &:hover {\n .dplayer-highlight-text {\n display: block;\n }\n &~.dplayer-bar-preview {\n opacity: 0;\n }\n &~.dplayer-bar-time {\n opacity: 0;\n }\n }\n .dplayer-highlight-text {\n display: none;\n position: absolute;\n left: 50%;\n top: -24px;\n padding: 5px 8px;\n background-color: rgba(0, 0, 0, .62);\n color: #fff;\n border-radius: 4px;\n font-size: 12px;\n white-space: nowrap;\n transform: translateX(-50%);\n }\n }\n .dplayer-bar-preview {\n position: absolute;\n background: #fff;\n pointer-events: none;\n display: none;\n background-size: 16000px 100%;\n }\n .dplayer-bar-preview-canvas {\n position: absolute;\n width: 100%;\n height: 100%;\n z-index: 1;\n pointer-events: none;\n }\n .dplayer-bar-time {\n &.hidden {\n opacity: 0;\n }\n position: absolute;\n left: 0px;\n top: -20px;\n border-radius: 4px;\n padding: 5px 7px;\n background-color: rgba(0, 0, 0, 0.62);\n color: #fff;\n font-size: 12px;\n text-align: center;\n opacity: 1;\n transition: opacity .1s ease-in-out;\n word-wrap: normal;\n word-break: normal;\n z-index: 2;\n pointer-events: none;\n }\n .dplayer-bar {\n position: relative;\n height: 3px;\n width: 100%;\n background: rgba(255, 255, 255, .2);\n cursor: pointer;\n .dplayer-loaded {\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n background: rgba(255, 255, 255, .4);\n height: 3px;\n transition: all 0.5s ease;\n will-change: width;\n }\n .dplayer-played {\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n height: 3px;\n will-change: width;\n .dplayer-thumb {\n position: absolute;\n top: 0;\n right: 5px;\n margin-top: -4px;\n margin-right: -10px;\n height: 11px;\n width: 11px;\n border-radius: 50%;\n cursor: pointer;\n transition: all .3s ease-in-out;\n transform: scale(0);\n }\n }\n }\n }\n .dplayer-icons {\n height: 38px;\n position: absolute;\n bottom: 0;\n &.dplayer-comment-box {\n display: none;\n position: absolute;\n transition: all .3s ease-in-out;\n z-index: 2;\n height: 38px;\n bottom: 0;\n left: 20px;\n right: 20px;\n color: #fff;\n .dplayer-icon {\n padding: 7px;\n }\n .dplayer-comment-setting-icon {\n position: absolute;\n left: 0;\n top: 0;\n }\n .dplayer-send-icon {\n position: absolute;\n right: 0;\n top: 0;\n }\n .dplayer-comment-setting-box {\n position: absolute;\n background: rgba(28, 28, 28, 0.9);\n bottom: 41px;\n left: 0;\n box-shadow: 0 0 25px rgba(0, 0, 0, .3);\n border-radius: 4px;\n padding: 10px 10px 16px;\n font-size: 14px;\n width: 204px;\n transition: all .3s ease-in-out;\n transform: scale(0);\n &.dplayer-comment-setting-open {\n transform: scale(1);\n }\n input[type=radio] {\n display: none;\n }\n label {\n cursor: pointer;\n }\n .dplayer-comment-setting-title {\n font-size: 13px;\n color: #fff;\n line-height: 30px;\n }\n .dplayer-comment-setting-type {\n font-size: 0;\n .dplayer-comment-setting-title {\n margin-bottom: 6px;\n }\n label {\n &:nth-child(2) {\n span {\n border-radius: 4px 0 0 4px;\n }\n }\n &:nth-child(4) {\n span {\n border-radius: 0 4px 4px 0;\n }\n }\n }\n span {\n width: 33%;\n padding: 4px 6px;\n line-height: 16px;\n display: inline-block;\n font-size: 12px;\n color: #fff;\n border: 1px solid #fff;\n margin-right: -1px;\n box-sizing: border-box;\n text-align: center;\n cursor: pointer;\n }\n input:checked+span {\n background: #E4E4E6;\n color: #1c1c1c;\n }\n }\n .dplayer-comment-setting-color {\n font-size: 0;\n label {\n font-size: 0;\n padding: 6px;\n display: inline-block;\n }\n span {\n width: 22px;\n height: 22px;\n display: inline-block;\n border-radius: 50%;\n box-sizing: border-box;\n cursor: pointer;\n &:hover {\n animation: my-face 5s infinite ease-in-out;\n }\n }\n }\n }\n .dplayer-comment-input {\n outline: none;\n border: none;\n padding: 8px 31px;\n font-size: 14px;\n line-height: 18px;\n text-align: center;\n border-radius: 4px;\n background: none;\n margin: 0;\n height: 100%;\n box-sizing: border-box;\n width: 100%;\n color: #fff;\n &::placeholder {\n color: #fff;\n opacity: 0.8;\n }\n &::-ms-clear {\n display: none;\n }\n }\n }\n &.dplayer-icons-left {\n .dplayer-icon {\n padding: 7px;\n }\n }\n &.dplayer-icons-right {\n right: 20px;\n .dplayer-icon {\n padding: 8px;\n }\n }\n .dplayer-time,\n .dplayer-live-badge {\n line-height: 38px;\n color: #eee;\n text-shadow: 0 0 2px rgba(0, 0, 0, .5);\n vertical-align: middle;\n font-size: 13px;\n cursor: default;\n }\n .dplayer-live-dot {\n display: inline-block;\n width: 6px;\n height: 6px;\n vertical-align: 4%;\n margin-right: 5px;\n content: \'\';\n border-radius: 6px;\n }\n .dplayer-icon {\n width: 40px;\n height: 100%;\n border: none;\n background-color: transparent;\n outline: none;\n cursor: pointer;\n vertical-align: middle;\n box-sizing: border-box;\n display: inline-block;\n .dplayer-icon-content {\n transition: all .2s ease-in-out;\n opacity: .8;\n }\n &:hover {\n .dplayer-icon-content {\n opacity: 1;\n }\n }\n &.dplayer-quality-icon {\n color: #fff;\n width: auto;\n line-height: 22px;\n font-size: 14px;\n }\n &.dplayer-comment-icon {\n padding: 10px 9px 9px;\n }\n &.dplayer-setting-icon {\n padding-top: 8.5px;\n }\n &.dplayer-volume-icon {\n width: 43px;\n }\n }\n .dplayer-volume {\n position: relative;\n display: inline-block;\n cursor: pointer;\n height: 100%;\n &:hover {\n .dplayer-volume-bar-wrap .dplayer-volume-bar {\n width: 45px;\n }\n .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner .dplayer-thumb {\n transform: scale(1);\n }\n }\n &.dplayer-volume-active {\n .dplayer-volume-bar-wrap .dplayer-volume-bar {\n width: 45px;\n }\n .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner .dplayer-thumb {\n transform: scale(1);\n }\n }\n .dplayer-volume-bar-wrap {\n display: inline-block;\n margin: 0 10px 0 -5px;\n vertical-align: middle;\n height: 100%;\n .dplayer-volume-bar {\n position: relative;\n top: 17px;\n width: 0;\n height: 3px;\n background: #aaa;\n transition: all 0.3s ease-in-out;\n .dplayer-volume-bar-inner {\n position: absolute;\n bottom: 0;\n left: 0;\n height: 100%;\n transition: all 0.1s ease;\n will-change: width;\n .dplayer-thumb {\n position: absolute;\n top: 0;\n right: 5px;\n margin-top: -4px;\n margin-right: -10px;\n height: 11px;\n width: 11px;\n border-radius: 50%;\n cursor: pointer;\n transition: all .3s ease-in-out;\n transform: scale(0);\n }\n }\n }\n }\n }\n .dplayer-subtitle-btn {\n display: inline-block;\n height: 100%;\n }\n .dplayer-subtitles {\n display: inline-block;\n height: 100%;\n .dplayer-subtitles-box {\n position: absolute;\n right: 0;\n bottom: 50px;\n transform: scale(0);\n width: fit-content;\n max-width: 240px;\n min-width: 120px;\n border-radius: 2px;\n background: rgba(28, 28, 28, 0.9);\n padding: 7px 0;\n transition: all .3s ease-in-out;\n overflow: auto;\n z-index: 2;\n &.dplayer-subtitles-panel {\n display: block;\n }\n &.dplayer-subtitles-box-open {\n transform: scale(1);\n }\n }\n .dplayer-subtitles-item {\n height: 30px;\n padding: 5px 10px;\n box-sizing: border-box;\n cursor: pointer;\n position: relative;\n &:hover {\n background-color: rgba(255, 255, 255, .1);\n }\n }\n }\n .dplayer-setting {\n display: inline-block;\n height: 100%;\n .dplayer-setting-box {\n position: absolute;\n right: 0;\n bottom: 50px;\n transform: scale(0);\n width: 150px;\n border-radius: 2px;\n background: rgba(28, 28, 28, 0.9);\n padding: 7px 0;\n transition: all .3s ease-in-out;\n overflow: hidden;\n z-index: 2;\n &>div {\n display: none;\n &.dplayer-setting-origin-panel {\n display: block;\n }\n }\n &.dplayer-setting-box-open {\n transform: scale(1);\n }\n &.dplayer-setting-box-narrow {\n width: 70px;\n text-align: center;\n }\n &.dplayer-setting-box-speed {\n .dplayer-setting-origin-panel {\n display: none;\n }\n .dplayer-setting-speed-panel {\n display: block;\n }\n }\n }\n .dplayer-setting-item,\n .dplayer-setting-speed-item {\n height: 30px;\n padding: 5px 10px;\n box-sizing: border-box;\n cursor: pointer;\n position: relative;\n &:hover {\n background-color: rgba(255, 255, 255, .1);\n }\n }\n .dplayer-setting-danmaku {\n padding: 5px 0;\n .dplayer-label {\n padding: 0 10px;\n display: inline;\n }\n &:hover {\n .dplayer-label {\n display: none;\n }\n .dplayer-danmaku-bar-wrap {\n display: inline-block;\n }\n }\n &.dplayer-setting-danmaku-active {\n .dplayer-label {\n display: none;\n }\n .dplayer-danmaku-bar-wrap {\n display: inline-block;\n }\n }\n .dplayer-danmaku-bar-wrap {\n padding: 0 10px;\n box-sizing: border-box;\n display: none;\n vertical-align: middle;\n height: 100%;\n width: 100%;\n .dplayer-danmaku-bar {\n position: relative;\n top: 8.5px;\n width: 100%;\n height: 3px;\n background: #fff;\n transition: all 0.3s ease-in-out;\n .dplayer-danmaku-bar-inner {\n position: absolute;\n bottom: 0;\n left: 0;\n height: 100%;\n transition: all 0.1s ease;\n background: #aaa;\n will-change: width;\n .dplayer-thumb {\n position: absolute;\n top: 0;\n right: 5px;\n margin-top: -4px;\n margin-right: -10px;\n height: 11px;\n width: 11px;\n border-radius: 50%;\n cursor: pointer;\n transition: all .3s ease-in-out;\n background: #aaa;\n }\n }\n }\n }\n }\n }\n .dplayer-full {\n display: inline-block;\n height: 100%;\n position: relative;\n &:hover {\n .dplayer-full-in-icon {\n display: block;\n }\n }\n .dplayer-full-in-icon {\n position: absolute;\n top: -30px;\n z-index: 1;\n display: none;\n }\n }\n .dplayer-quality {\n position: relative;\n display: inline-block;\n height: 100%;\n z-index: 2;\n &:hover {\n .dplayer-quality-list {\n display: block;\n }\n .dplayer-quality-mask {\n display: block;\n }\n }\n .dplayer-quality-mask {\n display: none;\n position: absolute;\n bottom: 38px;\n left: -18px;\n width: 80px;\n padding-bottom: 12px;\n }\n .dplayer-quality-list {\n display: none;\n font-size: 12px;\n width: 80px;\n border-radius: 2px;\n background: rgba(28, 28, 28, 0.9);\n padding: 5px 0;\n transition: all .3s ease-in-out;\n overflow: hidden;\n color: #fff;\n text-align: center;\n }\n .dplayer-quality-item {\n height: 25px;\n box-sizing: border-box;\n cursor: pointer;\n line-height: 25px;\n &:hover {\n background-color: rgba(255, 255, 255, .1);\n }\n }\n }\n .dplayer-comment {\n display: inline-block;\n height: 100%;\n }\n .dplayer-label {\n color: #eee;\n font-size: 13px;\n display: inline-block;\n vertical-align: middle;\n white-space: nowrap;\n }\n .dplayer-toggle {\n width: 32px;\n height: 20px;\n text-align: center;\n font-size: 0;\n vertical-align: middle;\n position: absolute;\n top: 5px;\n right: 10px;\n input {\n max-height: 0;\n max-width: 0;\n display: none;\n }\n input+label {\n display: inline-block;\n position: relative;\n box-shadow: rgb(223, 223, 223) 0 0 0 0 inset;\n border: 1px solid rgb(223, 223, 223);\n height: 20px;\n width: 32px;\n border-radius: 10px;\n box-sizing: border-box;\n cursor: pointer;\n transition: .2s ease-in-out;\n }\n input+label:before {\n content: "";\n position: absolute;\n display: block;\n height: 18px;\n width: 18px;\n top: 0;\n left: 0;\n border-radius: 15px;\n transition: .2s ease-in-out;\n }\n input+label:after {\n content: "";\n position: absolute;\n display: block;\n left: 0;\n top: 0;\n border-radius: 15px;\n background: #fff;\n transition: .2s ease-in-out;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);\n height: 18px;\n width: 18px;\n }\n input:checked+label {\n border-color: rgba(255, 255, 255, 0.5);\n }\n input:checked+label:before {\n width: 30px;\n background: rgba(255, 255, 255, 0.5);\n }\n input:checked+label:after {\n left: 12px;\n }\n }\n }\n}\n\n.dplayer-mobile-play {\n display: none;\n width: 50px;\n height: 50px;\n border: none;\n background-color: transparent;\n outline: none;\n cursor: pointer;\n box-sizing: border-box;\n position: absolute;\n bottom: 0;\n opacity: 0.8;\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n}',".dplayer-danmaku {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n font-size: 22px;\n color: #fff;\n .dplayer-danmaku-item {\n display: inline-block;\n pointer-events: none;\n user-select: none;\n cursor: default;\n white-space: nowrap;\n text-shadow: .5px .5px .5px rgba(0, 0, 0, .5);\n &--demo {\n position: absolute;\n visibility: hidden;\n }\n }\n .dplayer-danmaku-right {\n position: absolute;\n right: 0;\n transform: translateX(100%);\n &.dplayer-danmaku-move {\n will-change: transform;\n animation-name: 'danmaku';\n animation-timing-function: linear;\n animation-play-state: paused;\n }\n }\n @keyframes danmaku {\n from {\n transform: translateX(100%);\n }\n }\n .dplayer-danmaku-top,\n .dplayer-danmaku-bottom {\n position: absolute;\n width: 100%;\n text-align: center;\n visibility: hidden;\n &.dplayer-danmaku-move {\n will-change: visibility;\n animation-name: 'danmaku-center';\n animation-timing-function: linear;\n animation-play-state: paused;\n }\n }\n @keyframes danmaku-center {\n from {\n visibility: visible;\n }\n to {\n visibility: visible;\n }\n }\n}",".dplayer-logo {\n pointer-events: none;\n position: absolute;\n left: 20px;\n top: 20px;\n max-width: 50px;\n max-height: 50px;\n img {\n max-width: 100%;\n max-height: 100%;\n background: none;\n }\n}",".dplayer-menu {\n position: absolute;\n width: 170px;\n border-radius: 2px;\n background: rgba(28, 28, 28, 0.85);\n padding: 5px 0;\n overflow: hidden;\n z-index: 3;\n display: none;\n &.dplayer-menu-show {\n display: block;\n }\n .dplayer-menu-item {\n height: 30px;\n box-sizing: border-box;\n cursor: pointer;\n &:hover {\n background-color: rgba(255, 255, 255, .1);\n }\n a {\n display: inline-block;\n padding: 0 10px;\n line-height: 30px;\n color: #eee;\n font-size: 13px;\n display: inline-block;\n vertical-align: middle;\n width: 100%;\n box-sizing: border-box;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n &:hover {\n text-decoration: none;\n }\n }\n }\n}",".dplayer-notice-list{\n position: absolute;\n bottom: 60px;\n left: 20px;\n\n .dplayer-notice {\n border-radius: 2px;\n background: rgba(28, 28, 28, 0.9);\n transition: all .3s ease-in-out;\n overflow: hidden;\n color: #fff;\n display: table;\n pointer-events: none;\n animation: showNotice .3s ease 1 forwards;\n }\n\n .remove-notice{\n animation: removeNotice .3s ease 1 forwards;\n }\n}\n\n@keyframes showNotice {\n from {\n padding: 0;\n font-size: 0;\n margin-top: 0;\n }\n to {\n padding: 7px 20px;\n font-size: 14px;\n margin-top: 5px;\n }\n}\n\n@keyframes removeNotice {\n 0%{\n padding: 7px 20px;\n font-size: 14px;\n margin-top: 5px;\n }\n 20%{\n font-size: 12px;\n }\n 21%{\n font-size: 0;\n padding: 7px 10px;\n }\n 100%{\n padding: 0;\n margin-top: 0;\n font-size: 0;\n }\n}\n",".dplayer-subtitle {\n position: absolute;\n bottom: 40px;\n width: 90%;\n left: 5%;\n text-align: center;\n color: #fff;\n text-shadow: 0.5px 0.5px 0.5px rgba(0, 0, 0, 0.5);\n font-size: 20px;\n &.dplayer-subtitle-hide {\n display: none;\n }\n}",".dplayer-mask {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 1;\n display: none;\n &.dplayer-mask-show {\n display: block;\n }\n}\n\n.dplayer-video-wrap {\n position: relative;\n background: #000;\n font-size: 0;\n width: 100%;\n height: 100%;\n .dplayer-video {\n width: 100%;\n height: 100%;\n display: none;\n }\n .dplayer-video-current {\n display: block;\n }\n .dplayer-video-prepare {\n display: none;\n }\n}",".dplayer-info-panel {\n position: absolute;\n top: 10px;\n left: 10px;\n width: 400px;\n background: rgba(28, 28, 28, 0.8);\n padding: 10px;\n color: #fff;\n font-size: 12px;\n border-radius: 2px;\n\n &-hide {\n display: none;\n }\n\n .dplayer-info-panel-close {\n cursor: pointer;\n position: absolute;\n right: 10px;\n top: 10px;\n }\n\n .dplayer-info-panel-item {\n & > span {\n display: inline-block;\n vertical-align: middle;\n line-height: 15px;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n }\n }\n\n .dplayer-info-panel-item-title {\n width: 100px;\n text-align: right;\n margin-right: 10px;\n }\n \n .dplayer-info-panel-item-data {\n width: 260px;\n }\n}"],sourceRoot:""}]);const u=c},72:n=>{"use strict";var e=[];function t(n){for(var t=-1,a=0;a{"use strict";var e={};n.exports=function(n,t){var a=function(n){if(void 0===e[n]){var t=document.querySelector(n);if(window.HTMLIFrameElement&&t instanceof window.HTMLIFrameElement)try{t=t.contentDocument.head}catch(n){t=null}e[n]=t}return e[n]}(n);if(!a)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");a.appendChild(t)}},566:n=>{"use strict";n.exports=function(n){var e=document.createElement("style");return n.setAttributes(e,n.attributes),n.insert(e,n.options),e}},147:(n,e,t)=>{"use strict";n.exports=function(n){var e=t.nc;e&&n.setAttribute("nonce",e)}},298:n=>{"use strict";n.exports=function(n){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var e=n.insertStyleElement(n);return{update:function(t){!function(n,e,t){var a="";t.supports&&(a+="@supports (".concat(t.supports,") {")),t.media&&(a+="@media ".concat(t.media," {"));var o=void 0!==t.layer;o&&(a+="@layer".concat(t.layer.length>0?" ".concat(t.layer):""," {")),a+=t.css,o&&(a+="}"),t.media&&(a+="}"),t.supports&&(a+="}");var r=t.sourceMap;r&&"undefined"!=typeof btoa&&(a+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(r))))," */")),e.styleTagTransform(a,n,e.options)}(e,n,t)},remove:function(){!function(n){if(null===n.parentNode)return!1;n.parentNode.removeChild(n)}(e)}}}},396:n=>{"use strict";n.exports=function(n,e){if(e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}},251:n=>{n.exports=''},113:n=>{n.exports=''},193:n=>{n.exports=''},338:n=>{n.exports=''},807:n=>{n.exports=''},415:n=>{n.exports=''},574:n=>{n.exports=''},182:n=>{n.exports=''},965:n=>{n.exports=''},74:n=>{n.exports=''},730:n=>{n.exports=''},428:n=>{n.exports=''},254:n=>{n.exports=''},934:n=>{n.exports=''},410:n=>{n.exports=''},644:n=>{n.exports=''},324:n=>{n.exports=''},437:n=>{n.exports=''},175:(n,e,t)=>{"use strict";var a="undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==t.g?t.g:{},o=Object.create(a),r=/["&'<>]/;function i(n){return"string"!=typeof n&&(n=null==n?"":"function"==typeof n?i(n.call(n)):JSON.stringify(n)),n}o.$escape=function(n){return function(n){var e=""+n,t=r.exec(e);if(!t)return n;var a="",o=void 0,i=void 0,l=void 0;for(o=t.index,i=0;o{"use strict";n.exports=t(175)},291:n=>{"use strict";n.exports=function(n){var e=[];return e.toString=function(){return this.map((function(e){var t="",a=void 0!==e[5];return e[4]&&(t+="@supports (".concat(e[4],") {")),e[2]&&(t+="@media ".concat(e[2]," {")),a&&(t+="@layer".concat(e[5].length>0?" ".concat(e[5]):""," {")),t+=n(e),a&&(t+="}"),e[2]&&(t+="}"),e[4]&&(t+="}"),t})).join("")},e.i=function(n,t,a,o,r){"string"==typeof n&&(n=[[null,n,void 0]]);var i={};if(a)for(var l=0;l0?" ".concat(d[5]):""," {").concat(d[1],"}")),d[5]=r),t&&(d[2]?(d[1]="@media ".concat(d[2]," {").concat(d[1],"}"),d[2]=t):d[2]=t),o&&(d[4]?(d[1]="@supports (".concat(d[4],") {").concat(d[1],"}"),d[4]=o):d[4]="".concat(o)),e.push(d))}},e}},943:n=>{"use strict";n.exports=function(n,e){return e||(e={}),n?(n=String(n.__esModule?n.default:n),/^['"].*['"]$/.test(n)&&(n=n.slice(1,-1)),e.hash&&(n+=e.hash),/["'() \t\n]|(%20)/.test(n)||e.needQuotes?'"'.concat(n.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):n):n}},189:n=>{"use strict";n.exports=function(n){var e=n[1],t=n[3];if(!t)return e;if("function"==typeof btoa){var a=btoa(unescape(encodeURIComponent(JSON.stringify(t)))),o="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(a),r="/*# ".concat(o," */");return[e].concat([r]).join("\n")}return[e].join("\n")}},831:n=>{"use strict";n.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg=="}},e={};function t(a){var o=e[a];if(void 0!==o)return o.exports;var r=e[a]={id:a,exports:{}};return n[a](r,r.exports,t),r.exports}t.m=n,t.n=n=>{var e=n&&n.__esModule?()=>n.default:()=>n;return t.d(e,{a:e}),e},t.d=(n,e)=>{for(var a in e)t.o(e,a)&&!t.o(n,a)&&Object.defineProperty(n,a,{enumerable:!0,get:e[a]})},t.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(n){if("object"==typeof window)return window}}(),t.o=(n,e)=>Object.prototype.hasOwnProperty.call(n,e),t.b=document.baseURI||self.location.href,t.nc=void 0;var a={};return(()=>{"use strict";t.d(a,{default:()=>_a});var n=t(72),e=t.n(n),o=t(298),r=t.n(o),i=t(976),l=t.n(i),s=t(147),p=t.n(s),d=t(566),c=t.n(d),A=t(396),u=t.n(A),y=t(336),m={};m.styleTagTransform=u(),m.setAttributes=p(),m.insert=l().bind(null,"head"),m.domAPI=r(),m.insertStyleElement=c(),e()(y.Z,m),y.Z&&y.Z.locals&&y.Z.locals;function h(n){return h="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},h(n)}function f(n,e){this.name="AggregateError",this.errors=n,this.message=e||""}f.prototype=Error.prototype;function b(n){return b="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},b(n)}var g=setTimeout;function v(n){return Boolean(n&&void 0!==n.length)}function x(){}function E(n){if(!(this instanceof E))throw new TypeError("Promises must be constructed via new");if("function"!=typeof n)throw new TypeError("not a function");this._state=0,this._handled=!1,this._value=void 0,this._deferreds=[],I(n,this)}function w(n,e){for(;3===n._state;)n=n._value;0!==n._state?(n._handled=!0,E._immediateFn((function(){var t=1===n._state?e.onFulfilled:e.onRejected;if(null!==t){var a;try{a=t(n._value)}catch(n){return void k(e.promise,n)}C(e.promise,a)}else(1===n._state?C:k)(e.promise,n._value)}))):n._deferreds.push(e)}function C(n,e){try{if(e===n)throw new TypeError("A promise cannot be resolved with itself.");if(e&&("object"===b(e)||"function"==typeof e)){var t=e.then;if(e instanceof E)return n._state=3,n._value=e,void B(n);if("function"==typeof t)return void I((a=t,o=e,function(){a.apply(o,arguments)}),n)}n._state=1,n._value=e,B(n)}catch(e){k(n,e)}var a,o}function k(n,e){n._state=2,n._value=e,B(n)}function B(n){2===n._state&&0===n._deferreds.length&&E._immediateFn((function(){n._handled||E._unhandledRejectionFn(n._value)}));for(var e=0,t=n._deferreds.length;e0?[e,t,a]:[t,a]).map((function(n){return n<10?"0"+n:""+n})).join(":")},getElementViewLeft:function(n){var e=n.offsetLeft,t=n.offsetParent,a=document.body.scrollLeft+document.documentElement.scrollLeft;if(document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement)for(;null!==t&&t!==n;)e+=t.offsetLeft,t=t.offsetParent;else for(;null!==t;)e+=t.offsetLeft,t=t.offsetParent;return e-a},getBoundingClientRectViewLeft:function(n){var e=window.scrollY||window.pageYOffset||document.body.scrollTop+(document.documentElement&&document.documentElement.scrollTop||0);if(n.getBoundingClientRect){if("number"!=typeof this.getBoundingClientRectViewLeft.offset){var t=document.createElement("div");t.style.cssText="position:absolute;top:0;left:0;",document.body.appendChild(t),this.getBoundingClientRectViewLeft.offset=-t.getBoundingClientRect().top-e,document.body.removeChild(t),t=null}var a=n.getBoundingClientRect(),o=this.getBoundingClientRectViewLeft.offset;return a.left+o}return this.getElementViewLeft(n)},getScrollPosition:function(){return{left:window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0,top:window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0}},setScrollPosition:function(n){var e=n.left,t=void 0===e?0:e,a=n.top,o=void 0===a?0:a;this.isFirefox?(document.documentElement.scrollLeft=t,document.documentElement.scrollTop=o):window.scrollTo(t,o)},isMobile:T,isFirefox:/firefox/i.test(window.navigator.userAgent),isChrome:/chrome/i.test(window.navigator.userAgent),isSafari:/safari/i.test(window.navigator.userAgent),storage:{set:function(n,e){localStorage.setItem(n,e)},get:function(n){return localStorage.getItem(n)}},nameMap:{dragStart:T?"touchstart":"mousedown",dragMove:T?"touchmove":"mousemove",dragEnd:T?"touchend":"mouseup"},color2Number:function(n){return"#"===n[0]&&(n=n.substr(1)),3===n.length&&(n="".concat(n[0]).concat(n[0]).concat(n[1]).concat(n[1]).concat(n[2]).concat(n[2])),parseInt(n,16)+0&16777215},number2Color:function(n){return"#"+("00000"+n.toString(16)).slice(-6)},number2Type:function(n){switch(n){case 0:default:return"right";case 1:return"top";case 2:return"bottom"}}};function L(n,e){return function(){return n.apply(e,arguments)}}function O(n){return O="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},O(n)}var j,D=Object.prototype.toString,P=Object.getPrototypeOf,R=(j=Object.create(null),function(n){var e=D.call(n);return j[e]||(j[e]=e.slice(8,-1).toLowerCase())}),Y=function(n){return n=n.toLowerCase(),function(e){return R(e)===n}},M=function(n){return function(e){return O(e)===n}},F=Array.isArray,W=M("undefined"),U=Y("ArrayBuffer"),N=M("string"),J=M("function"),H=M("number"),Q=function(n){return null!==n&&"object"===O(n)},_=function(n){if("object"!==R(n))return!1;var e=P(n);return!(null!==e&&e!==Object.prototype&&null!==Object.getPrototypeOf(e)||Symbol.toStringTag in n||Symbol.iterator in n)},Z=Y("Date"),V=Y("File"),X=Y("Blob"),K=Y("FileList"),G=Y("URLSearchParams");function $(n,e){var t,a,o=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).allOwnKeys,r=void 0!==o&&o;if(null!=n)if("object"!==O(n)&&(n=[n]),F(n))for(t=0,a=n.length;t0;)if(e===(t=a[o]).toLowerCase())return t;return null}var en,tn,an="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,on=function(n){return!W(n)&&n!==an},rn=(en="undefined"!=typeof Uint8Array&&P(Uint8Array),function(n){return en&&n instanceof en}),ln=Y("HTMLFormElement"),sn=(tn=Object.prototype.hasOwnProperty,function(n,e){return tn.call(n,e)}),pn=Y("RegExp"),dn=function(n,e){var t=Object.getOwnPropertyDescriptors(n),a={};$(t,(function(t,o){!1!==e(t,o,n)&&(a[o]=t)})),Object.defineProperties(n,a)},cn="abcdefghijklmnopqrstuvwxyz",An="0123456789",un={DIGIT:An,ALPHA:cn,ALPHA_DIGIT:cn+cn.toUpperCase()+An},yn=Y("AsyncFunction");const mn={isArray:F,isArrayBuffer:U,isBuffer:function(n){return null!==n&&!W(n)&&null!==n.constructor&&!W(n.constructor)&&J(n.constructor.isBuffer)&&n.constructor.isBuffer(n)},isFormData:function(n){var e;return n&&("function"==typeof FormData&&n instanceof FormData||J(n.append)&&("formdata"===(e=R(n))||"object"===e&&J(n.toString)&&"[object FormData]"===n.toString()))},isArrayBufferView:function(n){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(n):n&&n.buffer&&U(n.buffer)},isString:N,isNumber:H,isBoolean:function(n){return!0===n||!1===n},isObject:Q,isPlainObject:_,isUndefined:W,isDate:Z,isFile:V,isBlob:X,isRegExp:pn,isFunction:J,isStream:function(n){return Q(n)&&J(n.pipe)},isURLSearchParams:G,isTypedArray:rn,isFileList:K,forEach:$,merge:function n(){for(var e=(on(this)&&this||{}).caseless,t={},a=function(a,o){var r=e&&nn(t,o)||o;_(t[r])&&_(a)?t[r]=n(t[r],a):_(a)?t[r]=n({},a):F(a)?t[r]=a.slice():t[r]=a},o=0,r=arguments.length;o3&&void 0!==arguments[3]?arguments[3]:{}).allOwnKeys}),n},trim:function(n){return n.trim?n.trim():n.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")},stripBOM:function(n){return 65279===n.charCodeAt(0)&&(n=n.slice(1)),n},inherits:function(n,e,t,a){n.prototype=Object.create(e.prototype,a),n.prototype.constructor=n,Object.defineProperty(n,"super",{value:e.prototype}),t&&Object.assign(n.prototype,t)},toFlatObject:function(n,e,t,a){var o,r,i,l={};if(e=e||{},null==n)return e;do{for(r=(o=Object.getOwnPropertyNames(n)).length;r-- >0;)i=o[r],a&&!a(i,n,e)||l[i]||(e[i]=n[i],l[i]=!0);n=!1!==t&&P(n)}while(n&&(!t||t(n,e))&&n!==Object.prototype);return e},kindOf:R,kindOfTest:Y,endsWith:function(n,e,t){n=String(n),(void 0===t||t>n.length)&&(t=n.length),t-=e.length;var a=n.indexOf(e,t);return-1!==a&&a===t},toArray:function(n){if(!n)return null;if(F(n))return n;var e=n.length;if(!H(e))return null;for(var t=new Array(e);e-- >0;)t[e]=n[e];return t},forEachEntry:function(n,e){for(var t,a=(n&&n[Symbol.iterator]).call(n);(t=a.next())&&!t.done;){var o=t.value;e.call(n,o[0],o[1])}},matchAll:function(n,e){for(var t,a=[];null!==(t=n.exec(e));)a.push(t);return a},isHTMLForm:ln,hasOwnProperty:sn,hasOwnProp:sn,reduceDescriptors:dn,freezeMethods:function(n){dn(n,(function(e,t){if(J(n)&&-1!==["arguments","caller","callee"].indexOf(t))return!1;var a=n[t];J(a)&&(e.enumerable=!1,"writable"in e?e.writable=!1:e.set||(e.set=function(){throw Error("Can not rewrite read-only method '"+t+"'")}))}))},toObjectSet:function(n,e){var t={},a=function(n){n.forEach((function(n){t[n]=!0}))};return F(n)?a(n):a(String(n).split(e)),t},toCamelCase:function(n){return n.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(n,e,t){return e.toUpperCase()+t}))},noop:function(){},toFiniteNumber:function(n,e){return n=+n,Number.isFinite(n)?n:e},findKey:nn,global:an,isContextDefined:on,ALPHABET:un,generateString:function(){for(var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:16,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:un.ALPHA_DIGIT,t="",a=e.length;n--;)t+=e[Math.random()*a|0];return t},isSpecCompliantForm:function(n){return!!(n&&J(n.append)&&"FormData"===n[Symbol.toStringTag]&&n[Symbol.iterator])},toJSONObject:function(n){var e=new Array(10);return function n(t,a){if(Q(t)){if(e.indexOf(t)>=0)return;if(!("toJSON"in t)){e[a]=t;var o=F(t)?[]:{};return $(t,(function(e,t){var r=n(e,a+1);!W(r)&&(o[t]=r)})),e[a]=void 0,o}}return t}(n,0)},isAsyncFn:yn,isThenable:function(n){return n&&(Q(n)||J(n))&&J(n.then)&&J(n.catch)}};function hn(n,e,t,a,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=n,this.name="AxiosError",e&&(this.code=e),t&&(this.config=t),a&&(this.request=a),o&&(this.response=o)}mn.inherits(hn,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:mn.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});var fn=hn.prototype,bn={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((function(n){bn[n]={value:n}})),Object.defineProperties(hn,bn),Object.defineProperty(fn,"isAxiosError",{value:!0}),hn.from=function(n,e,t,a,o,r){var i=Object.create(fn);return mn.toFlatObject(n,i,(function(n){return n!==Error.prototype}),(function(n){return"isAxiosError"!==n})),hn.call(i,n.message,e,t,a,o),i.cause=n,i.name=n.name,r&&Object.assign(i,r),i};const gn=hn;function vn(n){return vn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},vn(n)}function xn(n){return mn.isPlainObject(n)||mn.isArray(n)}function En(n){return mn.endsWith(n,"[]")?n.slice(0,-2):n}function wn(n,e,t){return n?n.concat(e).map((function(n,e){return n=En(n),!t&&e?"["+n+"]":n})).join(t?".":""):e}var Cn=mn.toFlatObject(mn,{},null,(function(n){return/^is[A-Z]/.test(n)}));const kn=function(n,e,t){if(!mn.isObject(n))throw new TypeError("target must be an object");e=e||new FormData;var a=(t=mn.toFlatObject(t,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(n,e){return!mn.isUndefined(e[n])}))).metaTokens,o=t.visitor||p,r=t.dots,i=t.indexes,l=(t.Blob||"undefined"!=typeof Blob&&Blob)&&mn.isSpecCompliantForm(e);if(!mn.isFunction(o))throw new TypeError("visitor must be a function");function s(n){if(null===n)return"";if(mn.isDate(n))return n.toISOString();if(!l&&mn.isBlob(n))throw new gn("Blob is not supported. Use a Buffer instead.");return mn.isArrayBuffer(n)||mn.isTypedArray(n)?l&&"function"==typeof Blob?new Blob([n]):Buffer.from(n):n}function p(n,t,o){var l=n;if(n&&!o&&"object"===vn(n))if(mn.endsWith(t,"{}"))t=a?t:t.slice(0,-2),n=JSON.stringify(n);else if(mn.isArray(n)&&function(n){return mn.isArray(n)&&!n.some(xn)}(n)||(mn.isFileList(n)||mn.endsWith(t,"[]"))&&(l=mn.toArray(n)))return t=En(t),l.forEach((function(n,a){!mn.isUndefined(n)&&null!==n&&e.append(!0===i?wn([t],a,r):null===i?t:t+"[]",s(n))})),!1;return!!xn(n)||(e.append(wn(o,t,r),s(n)),!1)}var d=[],c=Object.assign(Cn,{defaultVisitor:p,convertValue:s,isVisitable:xn});if(!mn.isObject(n))throw new TypeError("data must be an object");return function n(t,a){if(!mn.isUndefined(t)){if(-1!==d.indexOf(t))throw Error("Circular reference detected in "+a.join("."));d.push(t),mn.forEach(t,(function(t,r){!0===(!(mn.isUndefined(t)||null===t)&&o.call(e,t,mn.isString(r)?r.trim():r,a,c))&&n(t,a?a.concat(r):[r])})),d.pop()}}(n),e};function Bn(n){var e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(n).replace(/[!'()~]|%20|%00/g,(function(n){return e[n]}))}function Sn(n,e){this._pairs=[],n&&kn(n,this,e)}var In=Sn.prototype;In.append=function(n,e){this._pairs.push([n,e])},In.toString=function(n){var e=n?function(e){return n.call(this,e,Bn)}:Bn;return this._pairs.map((function(n){return e(n[0])+"="+e(n[1])}),"").join("&")};const zn=Sn;function Tn(n){return encodeURIComponent(n).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function qn(n,e,t){if(!e)return n;var a,o=t&&t.encode||Tn,r=t&&t.serialize;if(a=r?r(e,t):mn.isURLSearchParams(e)?e.toString():new zn(e,t).toString(o)){var i=n.indexOf("#");-1!==i&&(n=n.slice(0,i)),n+=(-1===n.indexOf("?")?"?":"&")+a}return n}function Ln(n){return Ln="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Ln(n)}function On(n,e){for(var t=0;t=n.length;return r=!r&&mn.isArray(a)?a.length:r,l?(mn.hasOwnProp(a,r)?a[r]=[a[r],t]:a[r]=t,!i):(a[r]&&mn.isObject(a[r])||(a[r]=[]),e(n,t,a[r],o)&&mn.isArray(a[r])&&(a[r]=function(n){var e,t,a={},o=Object.keys(n),r=o.length;for(e=0;e-1,r=mn.isObject(n);if(r&&mn.isHTMLForm(n)&&(n=new FormData(n)),mn.isFormData(n))return o&&o?JSON.stringify(Mn(n)):n;if(mn.isArrayBuffer(n)||mn.isBuffer(n)||mn.isStream(n)||mn.isFile(n)||mn.isBlob(n))return n;if(mn.isArrayBufferView(n))return n.buffer;if(mn.isURLSearchParams(n))return e.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),n.toString();if(r){if(a.indexOf("application/x-www-form-urlencoded")>-1)return function(n,e){return kn(n,new Yn.classes.URLSearchParams,Object.assign({visitor:function(n,e,t,a){return Yn.isNode&&mn.isBuffer(n)?(this.append(e,n.toString("base64")),!1):a.defaultVisitor.apply(this,arguments)}},e))}(n,this.formSerializer).toString();if((t=mn.isFileList(n))||a.indexOf("multipart/form-data")>-1){var i=this.env&&this.env.FormData;return kn(t?{"files[]":n}:n,i&&new i,this.formSerializer)}}return r||o?(e.setContentType("application/json",!1),function(n,e,t){if(mn.isString(n))try{return(0,JSON.parse)(n),mn.trim(n)}catch(n){if("SyntaxError"!==n.name)throw n}return(0,JSON.stringify)(n)}(n)):n}],transformResponse:[function(n){var e=this.transitional||Wn.transitional,t=e&&e.forcedJSONParsing,a="json"===this.responseType;if(n&&mn.isString(n)&&(t&&!this.responseType||a)){var o=!(e&&e.silentJSONParsing)&&a;try{return JSON.parse(n)}catch(n){if(o){if("SyntaxError"===n.name)throw gn.from(n,gn.ERR_BAD_RESPONSE,this,null,this.response);throw n}}}return n}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Yn.classes.FormData,Blob:Yn.classes.Blob},validateStatus:function(n){return n>=200&&n<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};mn.forEach(["delete","get","head"],(function(n){Wn.headers[n]={}})),mn.forEach(["post","put","patch"],(function(n){Wn.headers[n]=mn.merge(Fn)}));const Un=Wn;var Nn=mn.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]);function Jn(n){return Jn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Jn(n)}function Hn(n,e){(null==e||e>n.length)&&(e=n.length);for(var t=0,a=new Array(e);t1?t-1:0),o=1;o0;){var r=a[o],i=e[r];if(i){var l=n[r],s=void 0===l||i(l,r,n);if(!0!==s)throw new gn("option "+r+" must be "+s,gn.ERR_BAD_OPTION_VALUE)}else if(!0!==t)throw new gn("Unknown option "+r,gn.ERR_BAD_OPTION)}},validators:ye};function fe(n){return fe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},fe(n)}function be(n,e){for(var t=0;t0;)a._listeners[e](n);a._listeners=null}})),this.promise.then=function(n){var e,t=new Promise((function(n){a.subscribe(n),e=n})).then(n);return t.cancel=function(){a.unsubscribe(e)},t},e((function(n,e,o){a.reason||(a.reason=new te(n,e,o),t(a.reason))}))}var e,t,a;return e=n,t=[{key:"throwIfRequested",value:function(){if(this.reason)throw this.reason}},{key:"subscribe",value:function(n){this.reason?n(this.reason):this._listeners?this._listeners.push(n):this._listeners=[n]}},{key:"unsubscribe",value:function(n){if(this._listeners){var e=this._listeners.indexOf(n);-1!==e&&this._listeners.splice(e,1)}}}],a=[{key:"source",value:function(){var e;return{token:new n((function(n){e=n})),cancel:e}}}],t&&we(e.prototype,t),a&&we(e,a),Object.defineProperty(e,"prototype",{writable:!1}),n}();const ke=Ce;function Be(n,e){(null==e||e>n.length)&&(e=n.length);for(var t=0,a=new Array(e);tparseFloat(e.time);)t.push(e),e=this.dan[++this.danIndex];this.draw(t)}window.requestAnimationFrame((function(){n.frame()}))}},{key:"opacity",value:function(n){if(void 0!==n){for(var e=this.container.getElementsByClassName("dplayer-danmaku-item"),t=0;t').concat(n[c].text,""):o.innerHTML=n[c].text,o.style.opacity=e._opacity,o.style.color=q.number2Color(n[c].color),o.addEventListener("animationend",(function(){e.container.removeChild(o)}));var r,i=e._measure(n[c].text);switch(n[c].type){case"right":(r=s(o,n[c].type,i))>=0&&(o.style.width=i+1+"px",o.style.top=t*r+"px",o.style.transform="translateX(-".concat(a,"px)"));break;case"top":(r=s(o,n[c].type))>=0&&(o.style.top=t*r+"px");break;case"bottom":(r=s(o,n[c].type))>=0&&(o.style.bottom=t*r+"px");break;default:console.error("Can't handled danmaku type: ".concat(n[c].type))}r>=0&&(o.classList.add("dplayer-danmaku-move"),o.style.animationDuration=e._danAnimation(n[c].type),p.appendChild(o))},c=0;c=this.options.time()){this.danIndex=n;break}this.danIndex=this.dan.length}}},{key:"clear",value:function(){this.danTunnel={right:{},top:{},bottom:{}},this.danIndex=0,this.options.container.innerHTML="",this.events&&this.events.trigger("danmaku_clear")}},{key:"htmlEncode",value:function(n){return n.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")}},{key:"resize",value:function(){for(var n=this.container.offsetWidth,e=this.container.getElementsByClassName("dplayer-danmaku-item"),t=0;t0&&void 0!==arguments[0]?arguments[0]:"browser"){case"browser":return document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;case"web":return this.player.container.classList.contains("dplayer-fulled")}}},{key:"request",value:function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"browser",e="browser"===n?"web":"browser",t=this.isFullScreen(e);switch(t||(this.lastScrollPosition=q.getScrollPosition()),n){case"browser":this.player.container.requestFullscreen?this.player.container.requestFullscreen():this.player.container.mozRequestFullScreen?this.player.container.mozRequestFullScreen():this.player.container.webkitRequestFullscreen?this.player.container.webkitRequestFullscreen():this.player.video.webkitEnterFullscreen?this.player.video.webkitEnterFullscreen():this.player.video.webkitEnterFullScreen?this.player.video.webkitEnterFullScreen():this.player.container.msRequestFullscreen&&this.player.container.msRequestFullscreen();break;case"web":this.player.container.classList.add("dplayer-fulled"),document.body.classList.add("dplayer-web-fullscreen-fix"),this.player.events.trigger("webfullscreen")}t&&this.cancel(e)}},{key:"cancel",value:function(){switch(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"browser"){case"browser":document.cancelFullScreen?document.cancelFullScreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitCancelFullScreen?document.webkitCancelFullScreen():document.webkitCancelFullscreen?document.webkitCancelFullscreen():document.msCancelFullScreen?document.msCancelFullScreen():document.msExitFullscreen&&document.msExitFullscreen();break;case"web":this.player.container.classList.remove("dplayer-fulled"),document.body.classList.remove("dplayer-web-fullscreen-fix"),this.player.events.trigger("webfullscreen_cancel")}}},{key:"toggle",value:function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"browser";this.isFullScreen(n)?this.cancel(n):this.request(n)}},{key:"destroy",value:function(){/Firefox/.test(navigator.userAgent)?(document.removeEventListener("mozfullscreenchange",this.docfullscreenchange),document.removeEventListener("fullscreenchange",this.docfullscreenchange)):(this.player.container.removeEventListener("fullscreenchange",this.fullscreenchange),this.player.container.removeEventListener("webkitfullscreenchange",this.fullscreenchange),document.removeEventListener("msfullscreenchange",this.docfullscreenchange),document.removeEventListener("MSFullscreenChange",this.docfullscreenchange))}}],t&&Ot(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),n}();const Dt=jt;function Pt(n){return Pt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Pt(n)}function Rt(n,e){for(var t=0;t".concat(n,"

")})).join("");n.container.innerHTML=o}n.events.trigger("subtitle_change")}}}},{key:"show",value:function(){this.container.classList.remove("dplayer-subtitle-hide"),this.events.trigger("subtitle_show")}},{key:"hide",value:function(){this.container.classList.add("dplayer-subtitle-hide"),this.events.trigger("subtitle_hide")}},{key:"toggle",value:function(){this.container.classList.contains("dplayer-subtitle-hide")?this.show():this.hide()}}],t&&Wt(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),n}();const Nt=Ut;function Jt(n){return Jt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Jt(n)}function Ht(n,e){for(var t=0;t

",t.player.template.subtrack.src=t.player.template.subtitlesItem[n].dataset.subtitle,t.player.options.subtitle.index=n,t.player.template.subtitle.classList.contains("dplayer-subtitle-hide")&&t.subContainerShow())}))},r=0;r

",t.player.template.subtrack.src="",t.player.options.subtitle.index=a,t.subContainerHide())}))}var e,t;return e=n,(t=[{key:"subContainerShow",value:function(){this.player.template.subtitle.classList.remove("dplayer-subtitle-hide"),this.player.events.trigger("subtitle_show")}},{key:"subContainerHide",value:function(){this.player.template.subtitle.classList.add("dplayer-subtitle-hide"),this.player.events.trigger("subtitle_hide")}},{key:"hide",value:function(){this.player.template.subtitlesBox.classList.remove("dplayer-subtitles-box-open"),this.player.template.mask.classList.remove("dplayer-mask-show"),this.player.controller.disableAutoHide=!1}},{key:"show",value:function(){this.player.template.subtitlesBox.classList.add("dplayer-subtitles-box-open"),this.player.template.mask.classList.add("dplayer-mask-show"),this.player.controller.disableAutoHide=!0}},{key:"adaptiveHeight",value:function(){var n=30*this.player.template.subtitlesItem.length+14,e=.8*this.player.template.videoWrap.offsetHeight;n>=e-50?(this.player.template.subtitlesBox.style.bottom="8px",this.player.template.subtitlesBox.style["max-height"]=e-8+"px"):(this.player.template.subtitlesBox.style.bottom="50px",this.player.template.subtitlesBox.style["max-height"]=e-50+"px")}}])&&Ht(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),n}();const _t=Qt;function Zt(n){return Zt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Zt(n)}function Vt(n,e){for(var t=0;te&&!n.player.video.paused&&(n.player.container.classList.remove("dplayer-loading"),a=!1),e=t)}),100)}},{key:"initfpsChecker",value:function(){var n=this;window.requestAnimationFrame((function(){if(n.enablefpsChecker)if(n.initfpsChecker(),n.fpsStart){n.fpsIndex++;var e=new Date;e-n.fpsStart>1e3&&(n.player.infoPanel.fps(n.fpsIndex/(e-n.fpsStart)*1e3),n.fpsStart=new Date,n.fpsIndex=0)}else n.fpsStart=new Date,n.fpsIndex=0;else n.fpsStart=0,n.fpsIndex=0}))}},{key:"initinfoChecker",value:function(){var n=this;this.infoChecker=setInterval((function(){n.enableinfoChecker&&n.player.infoPanel.update()}),1e3)}},{key:"enable",value:function(n){this["enable".concat(n,"Checker")]=!0,"fps"===n&&this.initfpsChecker()}},{key:"disable",value:function(n){this["enable".concat(n,"Checker")]=!1}},{key:"destroy",value:function(){var n=this;this.types.map((function(e){return n["enable".concat(e,"Checker")]=!1,n["".concat(e,"Checker")]&&clearInterval(n["".concat(e,"Checker")]),e}))}}])&&$t(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),n}();const ea=na;function ta(n){return ta="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},ta(n)}function aa(n,e){for(var t=0;t'+n.player.options.highlight[t].text+"",n.player.template.playedBarWrap.insertBefore(a,n.player.template.playedBarTime)}}}))}},{key:"initThumbnails",value:function(){var n=this;this.player.options.video.thumbnails&&(this.thumbnails=new sa({container:this.player.template.barPreview,barWidth:this.player.template.barWrap.offsetWidth,url:this.player.options.video.thumbnails,events:this.player.events}),this.player.on("loadedmetadata",(function(){n.thumbnails.resize(160,n.player.video.videoHeight/n.player.video.videoWidth*160,n.player.template.barWrap.offsetWidth)})))}},{key:"initPlayedBar",value:function(){var n=this,e=function(e){var t=((e.clientX||e.changedTouches[0].clientX)-q.getBoundingClientRectViewLeft(n.player.template.playedBarWrap))/n.player.template.playedBarWrap.clientWidth;t=Math.max(t,0),t=Math.min(t,1),n.player.bar.set("played",t,"width"),n.player.template.ptime.innerHTML=q.secondToTime(t*n.player.video.duration)},t=function t(a){document.removeEventListener(q.nameMap.dragEnd,t),document.removeEventListener(q.nameMap.dragMove,e);var o=((a.clientX||a.changedTouches[0].clientX)-q.getBoundingClientRectViewLeft(n.player.template.playedBarWrap))/n.player.template.playedBarWrap.clientWidth;o=Math.max(o,0),o=Math.min(o,1),n.player.bar.set("played",o,"width"),n.player.seek(n.player.bar.get("played")*n.player.video.duration),n.player.moveBar=!1};this.player.template.playedBarWrap.addEventListener(q.nameMap.dragStart,(function(){n.player.moveBar=!0,document.addEventListener(q.nameMap.dragMove,e),document.addEventListener(q.nameMap.dragEnd,t)})),this.player.template.playedBarWrap.addEventListener(q.nameMap.dragMove,(function(e){if(n.player.video.duration){var t=n.player.template.playedBarWrap.getBoundingClientRect().left,a=(e.clientX||e.changedTouches[0].clientX)-t;if(a<0||a>n.player.template.playedBarWrap.offsetWidth)return;var o=n.player.video.duration*(a/n.player.template.playedBarWrap.offsetWidth);q.isMobile&&n.thumbnails&&n.thumbnails.show(),n.thumbnails&&n.thumbnails.move(a),n.player.template.playedBarTime.style.left="".concat(a-(o>=3600?25:20),"px"),n.player.template.playedBarTime.innerText=q.secondToTime(o),n.player.template.playedBarTime.classList.remove("hidden")}})),this.player.template.playedBarWrap.addEventListener(q.nameMap.dragEnd,(function(){q.isMobile&&n.thumbnails&&n.thumbnails.hide()})),q.isMobile||(this.player.template.playedBarWrap.addEventListener("mouseenter",(function(){n.player.video.duration&&(n.thumbnails&&n.thumbnails.show(),n.player.template.playedBarTime.classList.remove("hidden"))})),this.player.template.playedBarWrap.addEventListener("mouseleave",(function(){n.player.video.duration&&(n.thumbnails&&n.thumbnails.hide(),n.player.template.playedBarTime.classList.add("hidden"))})))}},{key:"initFullButton",value:function(){var n=this;this.player.template.browserFullButton.addEventListener("click",(function(){n.player.fullScreen.toggle("browser")})),this.player.template.webFullButton.addEventListener("click",(function(){n.player.fullScreen.toggle("web")}))}},{key:"initVolumeButton",value:function(){var n=this,e=function(e){var t=e||window.event,a=((t.clientX||t.changedTouches[0].clientX)-q.getBoundingClientRectViewLeft(n.player.template.volumeBarWrap)-5.5)/35;n.player.volume(a)},t=function t(){document.removeEventListener(q.nameMap.dragEnd,t),document.removeEventListener(q.nameMap.dragMove,e),n.player.template.volumeButton.classList.remove("dplayer-volume-active")};this.player.template.volumeBarWrapWrap.addEventListener("click",(function(e){var t=e||window.event,a=((t.clientX||t.changedTouches[0].clientX)-q.getBoundingClientRectViewLeft(n.player.template.volumeBarWrap)-5.5)/35;n.player.volume(a)})),this.player.template.volumeBarWrapWrap.addEventListener(q.nameMap.dragStart,(function(){document.addEventListener(q.nameMap.dragMove,e),document.addEventListener(q.nameMap.dragEnd,t),n.player.template.volumeButton.classList.add("dplayer-volume-active")})),this.player.template.volumeButtonIcon.addEventListener("click",(function(){n.player.video.muted?(n.player.video.muted=!1,n.player.switchVolumeIcon(),n.player.bar.set("volume",n.player.volume(),"width")):(n.player.video.muted=!0,n.player.template.volumeIcon.innerHTML=bt.volumeOff,n.player.bar.set("volume",0,"width"))}))}},{key:"initQualityButton",value:function(){var n=this;this.player.options.video.quality&&this.player.template.qualityList.addEventListener("click",(function(e){e.target.classList.contains("dplayer-quality-item")&&n.player.switchQuality(e.target.dataset.index)}))}},{key:"initScreenshotButton",value:function(){var n=this;this.player.options.screenshot&&this.player.template.camareButton.addEventListener("click",(function(){var e,t=document.createElement("canvas");t.width=n.player.video.videoWidth,t.height=n.player.video.videoHeight,t.getContext("2d").drawImage(n.player.video,0,0,t.width,t.height),t.toBlob((function(t){e=URL.createObjectURL(t);var a=document.createElement("a");a.href=e,a.download="DPlayer.png",a.style.display="none",document.body.appendChild(a),a.click(),document.body.removeChild(a),URL.revokeObjectURL(e),n.player.events.trigger("screenshot",e)}))}))}},{key:"initAirplayButton",value:function(){this.player.options.airplay&&(window.WebKitPlaybackTargetAvailabilityEvent?this.player.video.addEventListener("webkitplaybacktargetavailabilitychanged",function(n){"available"===n.availability?this.template.airplayButton.disable=!1:this.template.airplayButton.disable=!0,this.template.airplayButton.addEventListener("click",function(){this.video.webkitShowPlaybackTargetPicker()}.bind(this))}.bind(this.player)):this.player.template.airplayButton.style.display="none")}},{key:"initChromecast",value:function(){var n=window.document.createElement("script");n.setAttribute("type","text/javascript"),n.setAttribute("src","https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1"),window.document.body.appendChild(n),window.__onGCastApiAvailable=function(n){if(n){var e=new(ca=window.chrome.cast).SessionRequest(ca.media.DEFAULT_MEDIA_RECEIVER_APP_ID),t=new ca.ApiConfig(e,(function(){}),(function(n){n===ca.ReceiverAvailability.AVAILABLE&&console.log("chromecast: ",n)}));ca.initialize(t,(function(){}))}}}},{key:"initChromecastButton",value:function(){var n=this;if(this.player.options.chromecast){Aa&&(Aa=!1,this.initChromecast());var e=function(e,t){n.currentMedia=t},t=function(n){console.error("Error launching media",n)};this.player.template.chromecastButton.addEventListener("click",(function(){ua?(ua=!1,n.currentMedia.stop(),n.session.stop(),n.initChromecast()):(ua=!0,ca.requestSession((function(a){var o,r,i;n.session=a,o=n.player.options.video.url,r=new ca.media.MediaInfo(o),i=new ca.media.LoadRequest(r),n.session?n.session.loadMedia(i,e.bind(n,"loadMedia"),t).play():window.open(o)}),(function(e){"cancel"===e.code?n.session=void 0:console.error("Error selecting a cast device",e)})))}))}}},{key:"initSubtitleButton",value:function(){var n=this;this.player.events.on("subtitle_show",(function(){n.player.template.subtitleButton.dataset.balloon=n.player.tran("hide-subs"),n.player.template.subtitleButtonInner.style.opacity="",n.player.user.set("subtitle",1)})),this.player.events.on("subtitle_hide",(function(){n.player.template.subtitleButton.dataset.balloon=n.player.tran("show-subs"),n.player.template.subtitleButtonInner.style.opacity="0.4",n.player.user.set("subtitle",0)})),this.player.template.subtitleButton.addEventListener("click",(function(){n.player.subtitle.toggle()}))}},{key:"setAutoHide",value:function(){var n=this;this.show(),clearTimeout(this.autoHideTimer),this.autoHideTimer=setTimeout((function(){!n.player.video.played.length||n.player.paused||n.disableAutoHide||n.hide()}),3e3)}},{key:"show",value:function(){this.player.container.classList.remove("dplayer-hide-controller")}},{key:"hide",value:function(){this.player.container.classList.add("dplayer-hide-controller"),this.player.setting.hide(),this.player.comment&&this.player.comment.hide()}},{key:"isShow",value:function(){return!this.player.container.classList.contains("dplayer-hide-controller")}},{key:"toggle",value:function(){this.isShow()?this.hide():this.show()}},{key:"destroy",value:function(){q.isMobile||(this.player.container.removeEventListener("mousemove",this.setAutoHideHandler),this.player.container.removeEventListener("click",this.setAutoHideHandler)),clearTimeout(this.autoHideTimer)}}])&&da(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),n}();const ma=ya;function ha(n){return ha="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},ha(n)}function fa(n,e){for(var t=0;t=t.width?(this.player.template.menu.style.right=t.width-n+"px",this.player.template.menu.style.left="initial"):(this.player.template.menu.style.left=n+"px",this.player.template.menu.style.right="initial"),e+this.player.template.menu.offsetHeight>=t.height?(this.player.template.menu.style.bottom=t.height-e+"px",this.player.template.menu.style.top="initial"):(this.player.template.menu.style.top=e+"px",this.player.template.menu.style.bottom="initial"),this.player.template.mask.classList.add("dplayer-mask-show"),this.shown=!0,this.player.events.trigger("contextmenu_show")}},{key:"hide",value:function(){this.player.template.mask.classList.remove("dplayer-mask-show"),this.player.template.menu.classList.remove("dplayer-menu-show"),this.shown=!1,this.player.events.trigger("contextmenu_hide")}},{key:"destroy",value:function(){this.player.container.removeEventListener("contextmenu",this.contextmenuHandler)}}])&&za(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),n}();const qa=Ta;function La(n){return La="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},La(n)}function Oa(n,e){for(var t=0;tthis.options.subtitle.url.length-1)&&(this.options.subtitle.index=this.options.subtitle.url.findIndex((function(n){return n.lang===t.options.lang}))),-1===this.options.subtitle.index&&(this.options.subtitle.index=this.options.subtitle.url.length-1)),this.template=new Ct({container:this.container,options:this.options,index:Na,tran:this.tran}),this.video=this.template.video,this.bar=new Kt(this.template),this.bezel=new oa(this.template.bezel),this.fullScreen=new Dt(this),this.controller=new ma(this),this.options.danmaku&&(this.danmaku=new It({player:this,container:this.template.danmaku,opacity:this.user.get("opacity"),callback:function(){setTimeout((function(){t.template.danmakuLoading.style.display="none",t.options.autoplay&&t.play()}),0)},error:function(n){t.notice(n)},apiBackend:this.options.apiBackend,borderColor:this.options.theme,height:this.arrow?24:30,time:function(){return t.video.currentTime},unlimited:this.user.get("unlimited"),api:{id:this.options.danmaku.id,address:this.options.danmaku.api,token:this.options.danmaku.token,maximum:this.options.danmaku.maximum,addition:this.options.danmaku.addition,user:this.options.danmaku.user,speedRate:this.options.danmaku.speedRate},events:this.events,tran:function(n){return t.tran(n)}}),this.comment=new wa(this)),this.setting=new ga(this),this.plugins={},this.docClickFun=function(){t.focus=!1},this.containerClickFun=function(){t.focus=!0},document.addEventListener("click",this.docClickFun,!0),this.container.addEventListener("click",this.containerClickFun,!0),this.paused=!0,this.timer=new ea(this),this.hotkey=new Sa(this),this.contextmenu=new qa(this),this.initVideo(this.video,this.quality&&this.quality.type||this.options.video.type),this.infoPanel=new Da(this),!this.danmaku&&this.options.autoplay&&this.play(),this.moveBar=!1,Na++,Ja.push(this)}var e,t,a;return e=n,t=[{key:"seek",value:function(n){n=Math.max(n,0),this.video.duration&&(n=Math.min(n,this.video.duration)),this.video.currentTimen&&this.notice("".concat(this.tran("rew").replace("%s",(this.video.currentTime-n).toFixed(0)))),this.video.currentTime=n,this.danmaku&&this.danmaku.seek(),this.bar.set("played",n/this.video.duration,"width"),this.template.ptime.innerHTML=q.secondToTime(n)}},{key:"play",value:function(n){var e=this;if(this.paused=!1,this.video.paused&&!q.isMobile&&this.bezel.switch(bt.play),this.template.playButton.innerHTML=bt.pause,this.template.mobilePlayButton.innerHTML=bt.pause,n||z.resolve(this.video.play()).catch((function(){e.pause()})).then((function(){})),this.timer.enable("loading"),this.container.classList.remove("dplayer-paused"),this.container.classList.add("dplayer-playing"),this.danmaku&&this.danmaku.play(),this.options.mutex)for(var t=0;t=.95?this.template.volumeIcon.innerHTML=bt.volumeUp:this.volume()>0?this.template.volumeIcon.innerHTML=bt.volumeDown:this.template.volumeIcon.innerHTML=bt.volumeOff}},{key:"volume",value:function(n,e,t){if(n=parseFloat(n),!isNaN(n)){n=Math.max(n,0),n=Math.min(n,1),this.bar.set("volume",n,"width");var a="".concat((100*n).toFixed(0),"%");this.template.volumeBarWrapWrap.dataset.balloon=a,e||this.user.set("volume",n),t||this.notice("".concat(this.tran("volume")," ").concat((100*n).toFixed(0),"%"),void 0,void 0,"volume"),this.video.volume=n,this.video.muted&&(this.video.muted=!1),this.switchVolumeIcon()}return this.video.volume}},{key:"toggle",value:function(){this.video.paused?this.play():this.pause()}},{key:"on",value:function(n,e){this.events.on(n,e)}},{key:"switchVideo",value:function(n,e){this.pause(),this.video.poster=n.pic?n.pic:"",this.video.src=n.url,this.initMSE(this.video,n.type||"auto"),e&&(this.template.danmakuLoading.style.display="block",this.bar.set("played",0,"width"),this.bar.set("loaded",0,"width"),this.template.ptime.innerHTML="00:00",this.template.danmaku.innerHTML="",this.danmaku&&this.danmaku.reload({id:e.id,address:e.api,token:e.token,maximum:e.maximum,addition:e.addition,user:e.user}))}},{key:"initMSE",value:function(n,e){var t=this;if(this.type=e,this.options.video.customType&&this.options.video.customType[e])"[object Function]"===Object.prototype.toString.call(this.options.video.customType[e])?this.options.video.customType[e](this.video,this):console.error("Illegal customType: ".concat(e));else switch("auto"===this.type&&(/m3u8(#|\?|$)/i.exec(n.src)?this.type="hls":/.flv(#|\?|$)/i.exec(n.src)?this.type="flv":/.mpd(#|\?|$)/i.exec(n.src)?this.type="dash":this.type="normal"),"hls"===this.type&&(n.canPlayType("application/x-mpegURL")||n.canPlayType("application/vnd.apple.mpegURL"))&&(this.type="normal"),this.type){case"hls":if(window.Hls)if(window.Hls.isSupported()){var a=this.options.pluginOptions.hls,o=new window.Hls(a);this.plugins.hls=o,o.loadSource(n.src),o.attachMedia(n),this.events.on("destroy",(function(){o.destroy(),delete t.plugins.hls}))}else this.notice("Error: Hls is not supported.");else this.notice("Error: Can't find Hls.");break;case"flv":if(window.flvjs)if(window.flvjs.isSupported()){var r=window.flvjs.createPlayer(Object.assign(this.options.pluginOptions.flv.mediaDataSource||{},{type:"flv",url:n.src}),this.options.pluginOptions.flv.config);this.plugins.flvjs=r,r.attachMediaElement(n),r.load(),this.events.on("destroy",(function(){r.unload(),r.detachMediaElement(),r.destroy(),delete t.plugins.flvjs}))}else this.notice("Error: flvjs is not supported.");else this.notice("Error: Can't find flvjs.");break;case"dash":if(window.dashjs){var i=window.dashjs.MediaPlayer().create().initialize(n,n.src,!1),l=this.options.pluginOptions.dash;i.updateSettings(l),this.plugins.dash=i,this.events.on("destroy",(function(){window.dashjs.MediaPlayer().reset(),delete t.plugins.dash}))}else this.notice("Error: Can't find dashjs.");break;case"webtorrent":if(window.WebTorrent)if(window.WebTorrent.WEBRTC_SUPPORT){this.container.classList.add("dplayer-loading");var s=this.options.pluginOptions.webtorrent,p=new window.WebTorrent(s);this.plugins.webtorrent=p;var d=n.src;n.src="",n.preload="metadata",n.addEventListener("durationchange",(function(){return t.container.classList.remove("dplayer-loading")}),{once:!0}),p.add(d,(function(n){n.files.find((function(n){return n.name.endsWith(".mp4")})).renderTo(t.video,{autoplay:t.options.autoplay,controls:!1})})),this.events.on("destroy",(function(){p.remove(d),p.destroy(),delete t.plugins.webtorrent}))}else this.notice("Error: Webtorrent is not supported.");else this.notice("Error: Can't find Webtorrent.")}}},{key:"initVideo",value:function(n,e){var t=this;this.initMSE(n,e),this.on("durationchange",(function(){1!==n.duration&&n.duration!==1/0&&(t.template.dtime.innerHTML=q.secondToTime(n.duration))})),this.on("progress",(function(){var e=n.buffered.length?n.buffered.end(n.buffered.length-1)/n.duration:0;t.bar.set("loaded",e,"width")})),this.on("error",(function(){t.video.error&&t.tran&&t.notice&&"webtorrent"!==t.type&&t.notice(t.tran("video-failed"))})),this.on("ended",(function(){t.bar.set("played",1,"width"),t.setting.loop?(t.seek(0),t.play()):t.pause(),t.danmaku&&(t.danmaku.danIndex=0)})),this.on("play",(function(){t.paused&&t.play(!0)})),this.on("pause",(function(){t.paused||t.pause(!0)})),this.on("timeupdate",(function(){t.moveBar||t.bar.set("played",t.video.currentTime/t.video.duration,"width");var n=q.secondToTime(t.video.currentTime);t.template.ptime.innerHTML!==n&&(t.template.ptime.innerHTML=n)}));for(var a=function(e){n.addEventListener(t.events.videoEvents[e],(function(n){t.events.trigger(t.events.videoEvents[e],n)}))},o=0;o1&&void 0!==arguments[1]?arguments[1]:2e3,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:.8,i=arguments.length>3?arguments[3]:void 0;if(i&&((e=document.getElementById("dplayer-notice-".concat(i)))&&(e.innerHTML=n),this.noticeList[i]&&(clearTimeout(this.noticeList[i]),this.noticeList[i]=null)),!e){var l=Ct.NewNotice(n,r,i);this.template.noticeList.appendChild(l),e=l}this.events.trigger("notice_show",e),o>0&&(this.noticeList[i]=setTimeout((t=e,a=this,function(){t.addEventListener("animationend",(function(){a.template.noticeList.removeChild(t)})),t.classList.add("remove-notice"),a.events.trigger("notice_hide"),a.noticeList[i]=null}),o))}},{key:"resize",value:function(){this.danmaku&&this.danmaku.resize(),this.controller.thumbnails&&this.controller.thumbnails.resize(160,this.video.videoHeight/this.video.videoWidth*160,this.template.barWrap.offsetWidth),this.events.trigger("resize")}},{key:"speed",value:function(n){this.video.playbackRate=n}},{key:"destroy",value:function(){Ja.splice(Ja.indexOf(this),1),this.pause(),document.removeEventListener("click",this.docClickFun,!0),this.container.removeEventListener("click",this.containerClickFun,!0),this.fullScreen.destroy(),this.hotkey.destroy(),this.contextmenu.destroy(),this.controller.destroy(),this.timer.destroy(),this.video.src="",this.container.innerHTML="",this.events.trigger("destroy")}}],a=[{key:"version",get:function(){return"1.27.1"}}],t&&Wa(e.prototype,t),a&&Wa(e,a),Object.defineProperty(e,"prototype",{writable:!1}),n}();const Qa=Ha;console.log("\n".concat(" %c DPlayer v","1.27.1"," ").concat("v1.27.1-3-gb0ba40b"," %c https://dplayer.diygod.dev ","\n","\n"),"color: #fadfa3; background: #030307; padding:5px 0;","background: #fadfa3; padding:5px 0;");const _a=Qa})(),a.default})())); +//# sourceMappingURL=DPlayer.min.js.map \ No newline at end of file diff --git a/h5/dplayer/DPlayer.min.js.map b/h5/dplayer/DPlayer.min.js.map new file mode 100644 index 0000000..be208b9 --- /dev/null +++ b/h5/dplayer/DPlayer.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"DPlayer.min.js","mappings":"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","sources":["webpack://dplayer/webpack/universalModuleDefinition","webpack://dplayer/./Users/diygod/Code/Project/DPlayer/src/template/player.art","webpack://dplayer/./Users/diygod/Code/Project/DPlayer/src/template/video.art","webpack://dplayer/./node_modules/.pnpm/balloon-css@1.2.0/node_modules/balloon-css/balloon.css","webpack://dplayer/./src/css/index.less","webpack://dplayer/./node_modules/.pnpm/style-loader@3.3.3_webpack@5.88.2/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://dplayer/./node_modules/.pnpm/style-loader@3.3.3_webpack@5.88.2/node_modules/style-loader/dist/runtime/insertBySelector.js","webpack://dplayer/./node_modules/.pnpm/style-loader@3.3.3_webpack@5.88.2/node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack://dplayer/./node_modules/.pnpm/style-loader@3.3.3_webpack@5.88.2/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack://dplayer/./node_modules/.pnpm/style-loader@3.3.3_webpack@5.88.2/node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack://dplayer/./node_modules/.pnpm/style-loader@3.3.3_webpack@5.88.2/node_modules/style-loader/dist/runtime/styleTagTransform.js","webpack://dplayer/./src/assets/airplay.svg","webpack://dplayer/./src/assets/camera.svg","webpack://dplayer/./src/assets/chromecast.svg","webpack://dplayer/./src/assets/comment-off.svg","webpack://dplayer/./src/assets/comment.svg","webpack://dplayer/./src/assets/full-web.svg","webpack://dplayer/./src/assets/full.svg","webpack://dplayer/./src/assets/loading.svg","webpack://dplayer/./src/assets/pallette.svg","webpack://dplayer/./src/assets/pause.svg","webpack://dplayer/./src/assets/play.svg","webpack://dplayer/./src/assets/right.svg","webpack://dplayer/./src/assets/send.svg","webpack://dplayer/./src/assets/setting.svg","webpack://dplayer/./src/assets/subtitle.svg","webpack://dplayer/./src/assets/volume-down.svg","webpack://dplayer/./src/assets/volume-off.svg","webpack://dplayer/./src/assets/volume-up.svg","webpack://dplayer/./node_modules/.pnpm/art-template@4.13.2/node_modules/art-template/lib/compile/runtime.js","webpack://dplayer/./node_modules/.pnpm/art-template@4.13.2/node_modules/art-template/lib/runtime.js","webpack://dplayer/./node_modules/.pnpm/css-loader@6.8.1_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js","webpack://dplayer/./node_modules/.pnpm/css-loader@6.8.1_webpack@5.88.2/node_modules/css-loader/dist/runtime/getUrl.js","webpack://dplayer/./node_modules/.pnpm/css-loader@6.8.1_webpack@5.88.2/node_modules/css-loader/dist/runtime/sourceMaps.js","webpack://dplayer/webpack/bootstrap","webpack://dplayer/webpack/runtime/compat get default export","webpack://dplayer/webpack/runtime/define property getters","webpack://dplayer/webpack/runtime/global","webpack://dplayer/webpack/runtime/hasOwnProperty shorthand","webpack://dplayer/webpack/runtime/jsonp chunk loading","webpack://dplayer/webpack/runtime/nonce","webpack://dplayer/./src/css/index.less?3a16","webpack://dplayer/./node_modules/.pnpm/promise-polyfill@8.3.0/node_modules/promise-polyfill/src/allSettled.js","webpack://dplayer/./node_modules/.pnpm/promise-polyfill@8.3.0/node_modules/promise-polyfill/src/any.js","webpack://dplayer/./node_modules/.pnpm/promise-polyfill@8.3.0/node_modules/promise-polyfill/src/index.js","webpack://dplayer/./node_modules/.pnpm/promise-polyfill@8.3.0/node_modules/promise-polyfill/src/finally.js","webpack://dplayer/./src/js/utils.js","webpack://dplayer/./node_modules/.pnpm/axios@1.4.0/node_modules/axios/lib/helpers/bind.js","webpack://dplayer/./node_modules/.pnpm/axios@1.4.0/node_modules/axios/lib/utils.js","webpack://dplayer/./node_modules/.pnpm/axios@1.4.0/node_modules/axios/lib/core/AxiosError.js","webpack://dplayer/./node_modules/.pnpm/axios@1.4.0/node_modules/axios/lib/helpers/toFormData.js","webpack://dplayer/./node_modules/.pnpm/axios@1.4.0/node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://dplayer/./node_modules/.pnpm/axios@1.4.0/node_modules/axios/lib/helpers/buildURL.js","webpack://dplayer/./node_modules/.pnpm/axios@1.4.0/node_modules/axios/lib/core/InterceptorManager.js","webpack://dplayer/./node_modules/.pnpm/axios@1.4.0/node_modules/axios/lib/defaults/transitional.js","webpack://dplayer/./node_modules/.pnpm/axios@1.4.0/node_modules/axios/lib/platform/browser/index.js","webpack://dplayer/./node_modules/.pnpm/axios@1.4.0/node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://dplayer/./node_modules/.pnpm/axios@1.4.0/node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://dplayer/./node_modules/.pnpm/axios@1.4.0/node_modules/axios/lib/platform/browser/classes/Blob.js","webpack://dplayer/./node_modules/.pnpm/axios@1.4.0/node_modules/axios/lib/helpers/formDataToJSON.js","webpack://dplayer/./node_modules/.pnpm/axios@1.4.0/node_modules/axios/lib/defaults/index.js","webpack://dplayer/./node_modules/.pnpm/axios@1.4.0/node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://dplayer/./node_modules/.pnpm/axios@1.4.0/node_modules/axios/lib/helpers/parseHeaders.js","webpack://dplayer/./node_modules/.pnpm/axios@1.4.0/node_modules/axios/lib/core/AxiosHeaders.js","webpack://dplayer/./node_modules/.pnpm/axios@1.4.0/node_modules/axios/lib/core/transformData.js","webpack://dplayer/./node_modules/.pnpm/axios@1.4.0/node_modules/axios/lib/cancel/isCancel.js","webpack://dplayer/./node_modules/.pnpm/axios@1.4.0/node_modules/axios/lib/cancel/CanceledError.js","webpack://dplayer/./node_modules/.pnpm/axios@1.4.0/node_modules/axios/lib/helpers/cookies.js","webpack://dplayer/./node_modules/.pnpm/axios@1.4.0/node_modules/axios/lib/core/buildFullPath.js","webpack://dplayer/./node_modules/.pnpm/axios@1.4.0/node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://dplayer/./node_modules/.pnpm/axios@1.4.0/node_modules/axios/lib/helpers/combineURLs.js","webpack://dplayer/./node_modules/.pnpm/axios@1.4.0/node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://dplayer/./node_modules/.pnpm/axios@1.4.0/node_modules/axios/lib/adapters/xhr.js","webpack://dplayer/./node_modules/.pnpm/axios@1.4.0/node_modules/axios/lib/helpers/speedometer.js","webpack://dplayer/./node_modules/.pnpm/axios@1.4.0/node_modules/axios/lib/core/settle.js","webpack://dplayer/./node_modules/.pnpm/axios@1.4.0/node_modules/axios/lib/helpers/parseProtocol.js","webpack://dplayer/./node_modules/.pnpm/axios@1.4.0/node_modules/axios/lib/adapters/adapters.js","webpack://dplayer/./node_modules/.pnpm/axios@1.4.0/node_modules/axios/lib/helpers/null.js","webpack://dplayer/./node_modules/.pnpm/axios@1.4.0/node_modules/axios/lib/core/dispatchRequest.js","webpack://dplayer/./node_modules/.pnpm/axios@1.4.0/node_modules/axios/lib/core/mergeConfig.js","webpack://dplayer/./node_modules/.pnpm/axios@1.4.0/node_modules/axios/lib/helpers/validator.js","webpack://dplayer/./node_modules/.pnpm/axios@1.4.0/node_modules/axios/lib/core/Axios.js","webpack://dplayer/./node_modules/.pnpm/axios@1.4.0/node_modules/axios/lib/cancel/CancelToken.js","webpack://dplayer/./node_modules/.pnpm/axios@1.4.0/node_modules/axios/lib/helpers/HttpStatusCode.js","webpack://dplayer/./node_modules/.pnpm/axios@1.4.0/node_modules/axios/lib/axios.js","webpack://dplayer/./node_modules/.pnpm/axios@1.4.0/node_modules/axios/lib/env/data.js","webpack://dplayer/./node_modules/.pnpm/axios@1.4.0/node_modules/axios/lib/helpers/spread.js","webpack://dplayer/./node_modules/.pnpm/axios@1.4.0/node_modules/axios/lib/helpers/isAxiosError.js","webpack://dplayer/./src/js/api.js","webpack://dplayer/./src/js/options.js","webpack://dplayer/./src/js/i18n.js","webpack://dplayer/./src/js/icons.js","webpack://dplayer/./src/js/template.js","webpack://dplayer/./src/js/danmaku.js","webpack://dplayer/./src/js/events.js","webpack://dplayer/./src/js/fullscreen.js","webpack://dplayer/./src/js/user.js","webpack://dplayer/./src/js/subtitle.js","webpack://dplayer/./src/js/subtitles.js","webpack://dplayer/./src/js/bar.js","webpack://dplayer/./src/js/timer.js","webpack://dplayer/./src/js/bezel.js","webpack://dplayer/./src/js/thumbnails.js","webpack://dplayer/./src/js/controller.js","webpack://dplayer/./src/js/setting.js","webpack://dplayer/./src/js/comment.js","webpack://dplayer/./src/js/hotkey.js","webpack://dplayer/./src/js/contextmenu.js","webpack://dplayer/./src/js/info-panel.js","webpack://dplayer/./src/js/player.js","webpack://dplayer/./src/js/index.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"DPlayer\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"DPlayer\"] = factory();\n\telse\n\t\troot[\"DPlayer\"] = factory();\n})(self, () => {\nreturn ","
\n
\n {{ include './video.art' video }}\n {{ if options.logo }}\n
\n \n
\n {{ /if }}\n
\n
\n
\n
\n
\n \n {{ if options.danmaku }}\n {{ tran('danmaku-loading') }}\n {{ /if }}\n {{@ icons.loading }}\n
\n
\n
\n
\n
\n \n
\n
\n
{{ tran('set-danmaku-color') }}
\n \n \n \n \n \n \n
\n
\n
{{ tran('set-danmaku-type') }}
\n \n \n \n
\n
\n \n \n
\n
\n \n
\n \n
\n
\n
\n \n
\n
\n
\n
\n \n 0:00 /\n 0:00\n \n {{ if options.live }}\n {{ tran('live') }}\n {{ /if }}\n
\n
\n {{ if options.video.quality }}\n
\n \n
\n
\n {{ each options.video.quality }}\n
{{ $value.name }}
\n {{ /each }}\n
\n
\n
\n {{ /if }}\n {{ if options.screenshot }}\n
\n {{@ icons.camera }}\n
\n {{ /if }}\n {{ if options.airplay }}\n
\n {{@ icons.airplay }}\n
\n {{ /if }}\n {{ if options.chromecast }}\n
\n {{@ icons.chromecast }}\n
\n {{ /if }}\n
\n \n
\n {{ if options.subtitle }}\n {{ if (typeof options.subtitle.url === 'string') }}\n
\n \n
\n {{ else }}\n
\n \n
\n
\n {{ each options.subtitle.url }}\n
\n \n {{ $value.lang ? $value.name ? $value.name+' ('+tran($value.lang)+')' : tran($value.lang) : $value.name }}\n
\n {{ /each }}\n
\n
\n
\n {{ /if }}\n {{ /if }}\n
\n \n
\n
\n
\n {{ tran('speed') }}\n
{{@ icons.right }}
\n
\n
\n {{ tran('loop') }}\n
\n \n \n
\n
\n
\n {{ tran('show-danmaku') }}\n
\n \n \n
\n
\n
\n {{ tran('unlimited-danmaku') }}\n
\n \n \n
\n
\n
\n {{ tran('opacity-danmaku') }}\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n {{ each options.playbackSpeed }}\n
\n {{ $value === 1 ? tran('normal') : $value }}\n
\n {{ /each }}\n
\n
\n
\n
\n \n \n
\n
\n
\n
00:00
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
[x]
\n
\n Player version\n \n
\n
\n Player FPS\n \n
\n
\n Video type\n \n
\n
\n Video url\n \n
\n
\n Video resolution\n \n
\n
\n Video duration\n \n
\n {{ if options.danmaku }}\n
\n Danmaku id\n \n
\n
\n Danmaku api\n \n
\n
\n Danmaku amount\n \n
\n {{ /if }}\n
\n
\n {{ each options.contextmenu }}\n
\n {{ if $value.key }} {{ tran($value.key) }}{{ /if }}{{ if $value.text }} {{$value.text}}{{ /if }}\n
\n {{ /each }}\n
\n
\n","{{ set enableSubtitle = subtitle && subtitle.type === 'webvtt' }}\n\n {{ if airplay }}\n \n {{ /if}}\n {{ if enableSubtitle }}\n \n {{ /if }}\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../css-loader@6.8.1_webpack@5.88.2/node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../css-loader@6.8.1_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:root {\n --balloon-border-radius: 2px;\n --balloon-color: rgba(16, 16, 16, 0.95);\n --balloon-text-color: #fff;\n --balloon-font-size: 12px;\n --balloon-move: 4px; }\n\nbutton[aria-label][data-balloon-pos] {\n overflow: visible; }\n\n[aria-label][data-balloon-pos] {\n position: relative;\n cursor: pointer; }\n [aria-label][data-balloon-pos]:after {\n opacity: 0;\n pointer-events: none;\n transition: all 0.18s ease-out 0.18s;\n text-indent: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen, Ubuntu, Cantarell, \"Open Sans\", \"Helvetica Neue\", sans-serif;\n font-weight: normal;\n font-style: normal;\n text-shadow: none;\n font-size: 12px;\n font-size: var(--balloon-font-size);\n background: rgba(16, 16, 16, 0.95);\n background: var(--balloon-color);\n border-radius: 2px;\n color: #fff;\n color: var(--balloon-text-color);\n border-radius: var(--balloon-border-radius);\n content: attr(aria-label);\n padding: .5em 1em;\n position: absolute;\n white-space: nowrap;\n z-index: 10; }\n [aria-label][data-balloon-pos]:before {\n width: 0;\n height: 0;\n border: 5px solid transparent;\n border-top-color: rgba(16, 16, 16, 0.95);\n border-top-color: var(--balloon-color);\n opacity: 0;\n pointer-events: none;\n transition: all 0.18s ease-out 0.18s;\n content: \"\";\n position: absolute;\n z-index: 10; }\n [aria-label][data-balloon-pos]:hover:before, [aria-label][data-balloon-pos]:hover:after, [aria-label][data-balloon-pos][data-balloon-visible]:before, [aria-label][data-balloon-pos][data-balloon-visible]:after, [aria-label][data-balloon-pos]:not([data-balloon-nofocus]):focus:before, [aria-label][data-balloon-pos]:not([data-balloon-nofocus]):focus:after {\n opacity: 1;\n pointer-events: none; }\n [aria-label][data-balloon-pos].font-awesome:after {\n font-family: FontAwesome, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; }\n [aria-label][data-balloon-pos][data-balloon-break]:after {\n white-space: pre; }\n [aria-label][data-balloon-pos][data-balloon-break][data-balloon-length]:after {\n white-space: pre-line;\n word-break: break-word; }\n [aria-label][data-balloon-pos][data-balloon-blunt]:before, [aria-label][data-balloon-pos][data-balloon-blunt]:after {\n transition: none; }\n [aria-label][data-balloon-pos][data-balloon-pos=\"up\"]:hover:after, [aria-label][data-balloon-pos][data-balloon-pos=\"up\"][data-balloon-visible]:after, [aria-label][data-balloon-pos][data-balloon-pos=\"down\"]:hover:after, [aria-label][data-balloon-pos][data-balloon-pos=\"down\"][data-balloon-visible]:after {\n transform: translate(-50%, 0); }\n [aria-label][data-balloon-pos][data-balloon-pos=\"up\"]:hover:before, [aria-label][data-balloon-pos][data-balloon-pos=\"up\"][data-balloon-visible]:before, [aria-label][data-balloon-pos][data-balloon-pos=\"down\"]:hover:before, [aria-label][data-balloon-pos][data-balloon-pos=\"down\"][data-balloon-visible]:before {\n transform: translate(-50%, 0); }\n [aria-label][data-balloon-pos][data-balloon-pos*=\"-left\"]:after {\n left: 0; }\n [aria-label][data-balloon-pos][data-balloon-pos*=\"-left\"]:before {\n left: 5px; }\n [aria-label][data-balloon-pos][data-balloon-pos*=\"-right\"]:after {\n right: 0; }\n [aria-label][data-balloon-pos][data-balloon-pos*=\"-right\"]:before {\n right: 5px; }\n [aria-label][data-balloon-pos][data-balloon-po*=\"-left\"]:hover:after, [aria-label][data-balloon-pos][data-balloon-po*=\"-left\"][data-balloon-visible]:after, [aria-label][data-balloon-pos][data-balloon-pos*=\"-right\"]:hover:after, [aria-label][data-balloon-pos][data-balloon-pos*=\"-right\"][data-balloon-visible]:after {\n transform: translate(0, 0); }\n [aria-label][data-balloon-pos][data-balloon-po*=\"-left\"]:hover:before, [aria-label][data-balloon-pos][data-balloon-po*=\"-left\"][data-balloon-visible]:before, [aria-label][data-balloon-pos][data-balloon-pos*=\"-right\"]:hover:before, [aria-label][data-balloon-pos][data-balloon-pos*=\"-right\"][data-balloon-visible]:before {\n transform: translate(0, 0); }\n [aria-label][data-balloon-pos][data-balloon-pos^=\"up\"]:before, [aria-label][data-balloon-pos][data-balloon-pos^=\"up\"]:after {\n bottom: 100%;\n transform-origin: top;\n transform: translate(0, 4px);\n transform: translate(0, var(--balloon-move)); }\n [aria-label][data-balloon-pos][data-balloon-pos^=\"up\"]:after {\n margin-bottom: 10px; }\n [aria-label][data-balloon-pos][data-balloon-pos=\"up\"]:before, [aria-label][data-balloon-pos][data-balloon-pos=\"up\"]:after {\n left: 50%;\n transform: translate(-50%, 4px);\n transform: translate(-50%, var(--balloon-move)); }\n [aria-label][data-balloon-pos][data-balloon-pos^=\"down\"]:before, [aria-label][data-balloon-pos][data-balloon-pos^=\"down\"]:after {\n top: 100%;\n transform: translate(0, calc(4px * -1));\n transform: translate(0, calc(var(--balloon-move) * -1)); }\n [aria-label][data-balloon-pos][data-balloon-pos^=\"down\"]:after {\n margin-top: 10px; }\n [aria-label][data-balloon-pos][data-balloon-pos^=\"down\"]:before {\n width: 0;\n height: 0;\n border: 5px solid transparent;\n border-bottom-color: rgba(16, 16, 16, 0.95);\n border-bottom-color: var(--balloon-color); }\n [aria-label][data-balloon-pos][data-balloon-pos=\"down\"]:after, [aria-label][data-balloon-pos][data-balloon-pos=\"down\"]:before {\n left: 50%;\n transform: translate(-50%, calc(4px * -1));\n transform: translate(-50%, calc(var(--balloon-move) * -1)); }\n [aria-label][data-balloon-pos][data-balloon-pos=\"left\"]:hover:after, [aria-label][data-balloon-pos][data-balloon-pos=\"left\"][data-balloon-visible]:after, [aria-label][data-balloon-pos][data-balloon-pos=\"right\"]:hover:after, [aria-label][data-balloon-pos][data-balloon-pos=\"right\"][data-balloon-visible]:after {\n transform: translate(0, -50%); }\n [aria-label][data-balloon-pos][data-balloon-pos=\"left\"]:hover:before, [aria-label][data-balloon-pos][data-balloon-pos=\"left\"][data-balloon-visible]:before, [aria-label][data-balloon-pos][data-balloon-pos=\"right\"]:hover:before, [aria-label][data-balloon-pos][data-balloon-pos=\"right\"][data-balloon-visible]:before {\n transform: translate(0, -50%); }\n [aria-label][data-balloon-pos][data-balloon-pos=\"left\"]:after, [aria-label][data-balloon-pos][data-balloon-pos=\"left\"]:before {\n right: 100%;\n top: 50%;\n transform: translate(4px, -50%);\n transform: translate(var(--balloon-move), -50%); }\n [aria-label][data-balloon-pos][data-balloon-pos=\"left\"]:after {\n margin-right: 10px; }\n [aria-label][data-balloon-pos][data-balloon-pos=\"left\"]:before {\n width: 0;\n height: 0;\n border: 5px solid transparent;\n border-left-color: rgba(16, 16, 16, 0.95);\n border-left-color: var(--balloon-color); }\n [aria-label][data-balloon-pos][data-balloon-pos=\"right\"]:after, [aria-label][data-balloon-pos][data-balloon-pos=\"right\"]:before {\n left: 100%;\n top: 50%;\n transform: translate(calc(4px * -1), -50%);\n transform: translate(calc(var(--balloon-move) * -1), -50%); }\n [aria-label][data-balloon-pos][data-balloon-pos=\"right\"]:after {\n margin-left: 10px; }\n [aria-label][data-balloon-pos][data-balloon-pos=\"right\"]:before {\n width: 0;\n height: 0;\n border: 5px solid transparent;\n border-right-color: rgba(16, 16, 16, 0.95);\n border-right-color: var(--balloon-color); }\n [aria-label][data-balloon-pos][data-balloon-length]:after {\n white-space: normal; }\n [aria-label][data-balloon-pos][data-balloon-length=\"small\"]:after {\n width: 80px; }\n [aria-label][data-balloon-pos][data-balloon-length=\"medium\"]:after {\n width: 150px; }\n [aria-label][data-balloon-pos][data-balloon-length=\"large\"]:after {\n width: 260px; }\n [aria-label][data-balloon-pos][data-balloon-length=\"xlarge\"]:after {\n width: 380px; }\n @media screen and (max-width: 768px) {\n [aria-label][data-balloon-pos][data-balloon-length=\"xlarge\"]:after {\n width: 90vw; } }\n [aria-label][data-balloon-pos][data-balloon-length=\"fit\"]:after {\n width: 100%; }\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/.pnpm/balloon-css@1.2.0/node_modules/balloon-css/balloon.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,4BAA4B;EAC5B,uCAAuC;EACvC,0BAA0B;EAC1B,yBAAyB;EACzB,mBAAmB,EAAE;;AAEvB;EACE,iBAAiB,EAAE;;AAErB;EACE,kBAAkB;EAClB,eAAe,EAAE;EACjB;IACE,UAAU;IACV,oBAAoB;IACpB,oCAAoC;IACpC,cAAc;IACd,wIAAwI;IACxI,mBAAmB;IACnB,kBAAkB;IAClB,iBAAiB;IACjB,eAAmC;IAAnC,mCAAmC;IACnC,kCAAgC;IAAhC,gCAAgC;IAChC,kBAAkB;IAClB,WAAgC;IAAhC,gCAAgC;IAChC,2CAA2C;IAC3C,yBAAyB;IACzB,iBAAiB;IACjB,kBAAkB;IAClB,mBAAmB;IACnB,WAAW,EAAE;EACf;IACE,QAAQ;IACR,SAAS;IACT,6BAA6B;IAC7B,wCAAsC;IAAtC,sCAAsC;IACtC,UAAU;IACV,oBAAoB;IACpB,oCAAoC;IACpC,WAAW;IACX,kBAAkB;IAClB,WAAW,EAAE;EACf;IACE,UAAU;IACV,oBAAoB,EAAE;EACxB;IACE,qJAAqJ,EAAE;EACzJ;IACE,gBAAgB,EAAE;EACpB;IACE,qBAAqB;IACrB,sBAAsB,EAAE;EAC1B;IACE,gBAAgB,EAAE;EACpB;IACE,6BAA6B,EAAE;EACjC;IACE,6BAA6B,EAAE;EACjC;IACE,OAAO,EAAE;EACX;IACE,SAAS,EAAE;EACb;IACE,QAAQ,EAAE;EACZ;IACE,UAAU,EAAE;EACd;IACE,0BAA0B,EAAE;EAC9B;IACE,0BAA0B,EAAE;EAC9B;IACE,YAAY;IACZ,qBAAqB;IACrB,4BAA4C;IAA5C,4CAA4C,EAAE;EAChD;IACE,mBAAmB,EAAE;EACvB;IACE,SAAS;IACT,+BAA+C;IAA/C,+CAA+C,EAAE;EACnD;IACE,SAAS;IACT,uCAAuD;IAAvD,uDAAuD,EAAE;EAC3D;IACE,gBAAgB,EAAE;EACpB;IACE,QAAQ;IACR,SAAS;IACT,6BAA6B;IAC7B,2CAAyC;IAAzC,yCAAyC,EAAE;EAC7C;IACE,SAAS;IACT,0CAA0D;IAA1D,0DAA0D,EAAE;EAC9D;IACE,6BAA6B,EAAE;EACjC;IACE,6BAA6B,EAAE;EACjC;IACE,WAAW;IACX,QAAQ;IACR,+BAA+C;IAA/C,+CAA+C,EAAE;EACnD;IACE,kBAAkB,EAAE;EACtB;IACE,QAAQ;IACR,SAAS;IACT,6BAA6B;IAC7B,yCAAuC;IAAvC,uCAAuC,EAAE;EAC3C;IACE,UAAU;IACV,QAAQ;IACR,0CAA0D;IAA1D,0DAA0D,EAAE;EAC9D;IACE,iBAAiB,EAAE;EACrB;IACE,QAAQ;IACR,SAAS;IACT,6BAA6B;IAC7B,0CAAwC;IAAxC,wCAAwC,EAAE;EAC5C;IACE,mBAAmB,EAAE;EACvB;IACE,WAAW,EAAE;EACf;IACE,YAAY,EAAE;EAChB;IACE,YAAY,EAAE;EAChB;IACE,YAAY,EAAE;IACd;MACE;QACE,WAAW,EAAE,EAAE;EACrB;IACE,WAAW,EAAE\",\"sourcesContent\":[\":root {\\n --balloon-border-radius: 2px;\\n --balloon-color: rgba(16, 16, 16, 0.95);\\n --balloon-text-color: #fff;\\n --balloon-font-size: 12px;\\n --balloon-move: 4px; }\\n\\nbutton[aria-label][data-balloon-pos] {\\n overflow: visible; }\\n\\n[aria-label][data-balloon-pos] {\\n position: relative;\\n cursor: pointer; }\\n [aria-label][data-balloon-pos]:after {\\n opacity: 0;\\n pointer-events: none;\\n transition: all 0.18s ease-out 0.18s;\\n text-indent: 0;\\n font-family: -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, Oxygen, Ubuntu, Cantarell, \\\"Open Sans\\\", \\\"Helvetica Neue\\\", sans-serif;\\n font-weight: normal;\\n font-style: normal;\\n text-shadow: none;\\n font-size: var(--balloon-font-size);\\n background: var(--balloon-color);\\n border-radius: 2px;\\n color: var(--balloon-text-color);\\n border-radius: var(--balloon-border-radius);\\n content: attr(aria-label);\\n padding: .5em 1em;\\n position: absolute;\\n white-space: nowrap;\\n z-index: 10; }\\n [aria-label][data-balloon-pos]:before {\\n width: 0;\\n height: 0;\\n border: 5px solid transparent;\\n border-top-color: var(--balloon-color);\\n opacity: 0;\\n pointer-events: none;\\n transition: all 0.18s ease-out 0.18s;\\n content: \\\"\\\";\\n position: absolute;\\n z-index: 10; }\\n [aria-label][data-balloon-pos]:hover:before, [aria-label][data-balloon-pos]:hover:after, [aria-label][data-balloon-pos][data-balloon-visible]:before, [aria-label][data-balloon-pos][data-balloon-visible]:after, [aria-label][data-balloon-pos]:not([data-balloon-nofocus]):focus:before, [aria-label][data-balloon-pos]:not([data-balloon-nofocus]):focus:after {\\n opacity: 1;\\n pointer-events: none; }\\n [aria-label][data-balloon-pos].font-awesome:after {\\n font-family: FontAwesome, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; }\\n [aria-label][data-balloon-pos][data-balloon-break]:after {\\n white-space: pre; }\\n [aria-label][data-balloon-pos][data-balloon-break][data-balloon-length]:after {\\n white-space: pre-line;\\n word-break: break-word; }\\n [aria-label][data-balloon-pos][data-balloon-blunt]:before, [aria-label][data-balloon-pos][data-balloon-blunt]:after {\\n transition: none; }\\n [aria-label][data-balloon-pos][data-balloon-pos=\\\"up\\\"]:hover:after, [aria-label][data-balloon-pos][data-balloon-pos=\\\"up\\\"][data-balloon-visible]:after, [aria-label][data-balloon-pos][data-balloon-pos=\\\"down\\\"]:hover:after, [aria-label][data-balloon-pos][data-balloon-pos=\\\"down\\\"][data-balloon-visible]:after {\\n transform: translate(-50%, 0); }\\n [aria-label][data-balloon-pos][data-balloon-pos=\\\"up\\\"]:hover:before, [aria-label][data-balloon-pos][data-balloon-pos=\\\"up\\\"][data-balloon-visible]:before, [aria-label][data-balloon-pos][data-balloon-pos=\\\"down\\\"]:hover:before, [aria-label][data-balloon-pos][data-balloon-pos=\\\"down\\\"][data-balloon-visible]:before {\\n transform: translate(-50%, 0); }\\n [aria-label][data-balloon-pos][data-balloon-pos*=\\\"-left\\\"]:after {\\n left: 0; }\\n [aria-label][data-balloon-pos][data-balloon-pos*=\\\"-left\\\"]:before {\\n left: 5px; }\\n [aria-label][data-balloon-pos][data-balloon-pos*=\\\"-right\\\"]:after {\\n right: 0; }\\n [aria-label][data-balloon-pos][data-balloon-pos*=\\\"-right\\\"]:before {\\n right: 5px; }\\n [aria-label][data-balloon-pos][data-balloon-po*=\\\"-left\\\"]:hover:after, [aria-label][data-balloon-pos][data-balloon-po*=\\\"-left\\\"][data-balloon-visible]:after, [aria-label][data-balloon-pos][data-balloon-pos*=\\\"-right\\\"]:hover:after, [aria-label][data-balloon-pos][data-balloon-pos*=\\\"-right\\\"][data-balloon-visible]:after {\\n transform: translate(0, 0); }\\n [aria-label][data-balloon-pos][data-balloon-po*=\\\"-left\\\"]:hover:before, [aria-label][data-balloon-pos][data-balloon-po*=\\\"-left\\\"][data-balloon-visible]:before, [aria-label][data-balloon-pos][data-balloon-pos*=\\\"-right\\\"]:hover:before, [aria-label][data-balloon-pos][data-balloon-pos*=\\\"-right\\\"][data-balloon-visible]:before {\\n transform: translate(0, 0); }\\n [aria-label][data-balloon-pos][data-balloon-pos^=\\\"up\\\"]:before, [aria-label][data-balloon-pos][data-balloon-pos^=\\\"up\\\"]:after {\\n bottom: 100%;\\n transform-origin: top;\\n transform: translate(0, var(--balloon-move)); }\\n [aria-label][data-balloon-pos][data-balloon-pos^=\\\"up\\\"]:after {\\n margin-bottom: 10px; }\\n [aria-label][data-balloon-pos][data-balloon-pos=\\\"up\\\"]:before, [aria-label][data-balloon-pos][data-balloon-pos=\\\"up\\\"]:after {\\n left: 50%;\\n transform: translate(-50%, var(--balloon-move)); }\\n [aria-label][data-balloon-pos][data-balloon-pos^=\\\"down\\\"]:before, [aria-label][data-balloon-pos][data-balloon-pos^=\\\"down\\\"]:after {\\n top: 100%;\\n transform: translate(0, calc(var(--balloon-move) * -1)); }\\n [aria-label][data-balloon-pos][data-balloon-pos^=\\\"down\\\"]:after {\\n margin-top: 10px; }\\n [aria-label][data-balloon-pos][data-balloon-pos^=\\\"down\\\"]:before {\\n width: 0;\\n height: 0;\\n border: 5px solid transparent;\\n border-bottom-color: var(--balloon-color); }\\n [aria-label][data-balloon-pos][data-balloon-pos=\\\"down\\\"]:after, [aria-label][data-balloon-pos][data-balloon-pos=\\\"down\\\"]:before {\\n left: 50%;\\n transform: translate(-50%, calc(var(--balloon-move) * -1)); }\\n [aria-label][data-balloon-pos][data-balloon-pos=\\\"left\\\"]:hover:after, [aria-label][data-balloon-pos][data-balloon-pos=\\\"left\\\"][data-balloon-visible]:after, [aria-label][data-balloon-pos][data-balloon-pos=\\\"right\\\"]:hover:after, [aria-label][data-balloon-pos][data-balloon-pos=\\\"right\\\"][data-balloon-visible]:after {\\n transform: translate(0, -50%); }\\n [aria-label][data-balloon-pos][data-balloon-pos=\\\"left\\\"]:hover:before, [aria-label][data-balloon-pos][data-balloon-pos=\\\"left\\\"][data-balloon-visible]:before, [aria-label][data-balloon-pos][data-balloon-pos=\\\"right\\\"]:hover:before, [aria-label][data-balloon-pos][data-balloon-pos=\\\"right\\\"][data-balloon-visible]:before {\\n transform: translate(0, -50%); }\\n [aria-label][data-balloon-pos][data-balloon-pos=\\\"left\\\"]:after, [aria-label][data-balloon-pos][data-balloon-pos=\\\"left\\\"]:before {\\n right: 100%;\\n top: 50%;\\n transform: translate(var(--balloon-move), -50%); }\\n [aria-label][data-balloon-pos][data-balloon-pos=\\\"left\\\"]:after {\\n margin-right: 10px; }\\n [aria-label][data-balloon-pos][data-balloon-pos=\\\"left\\\"]:before {\\n width: 0;\\n height: 0;\\n border: 5px solid transparent;\\n border-left-color: var(--balloon-color); }\\n [aria-label][data-balloon-pos][data-balloon-pos=\\\"right\\\"]:after, [aria-label][data-balloon-pos][data-balloon-pos=\\\"right\\\"]:before {\\n left: 100%;\\n top: 50%;\\n transform: translate(calc(var(--balloon-move) * -1), -50%); }\\n [aria-label][data-balloon-pos][data-balloon-pos=\\\"right\\\"]:after {\\n margin-left: 10px; }\\n [aria-label][data-balloon-pos][data-balloon-pos=\\\"right\\\"]:before {\\n width: 0;\\n height: 0;\\n border: 5px solid transparent;\\n border-right-color: var(--balloon-color); }\\n [aria-label][data-balloon-pos][data-balloon-length]:after {\\n white-space: normal; }\\n [aria-label][data-balloon-pos][data-balloon-length=\\\"small\\\"]:after {\\n width: 80px; }\\n [aria-label][data-balloon-pos][data-balloon-length=\\\"medium\\\"]:after {\\n width: 150px; }\\n [aria-label][data-balloon-pos][data-balloon-length=\\\"large\\\"]:after {\\n width: 260px; }\\n [aria-label][data-balloon-pos][data-balloon-length=\\\"xlarge\\\"]:after {\\n width: 380px; }\\n @media screen and (max-width: 768px) {\\n [aria-label][data-balloon-pos][data-balloon-length=\\\"xlarge\\\"]:after {\\n width: 90vw; } }\\n [aria-label][data-balloon-pos][data-balloon-length=\\\"fit\\\"]:after {\\n width: 100%; }\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.8.1_webpack@5.88.2/node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.8.1_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../node_modules/.pnpm/css-loader@6.8.1_webpack@5.88.2/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../node_modules/.pnpm/postcss-loader@7.3.3_postcss@8.4.27_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!../../node_modules/.pnpm/balloon-css@1.2.0/node_modules/balloon-css/balloon.css\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.8.1_webpack@5.88.2/node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `@keyframes my-face {\n 2% {\n transform: translate(0, 1.5px) rotate(1.5deg);\n }\n 4% {\n transform: translate(0, -1.5px) rotate(-0.5deg);\n }\n 6% {\n transform: translate(0, 1.5px) rotate(-1.5deg);\n }\n 8% {\n transform: translate(0, -1.5px) rotate(-1.5deg);\n }\n 10% {\n transform: translate(0, 2.5px) rotate(1.5deg);\n }\n 12% {\n transform: translate(0, -0.5px) rotate(1.5deg);\n }\n 14% {\n transform: translate(0, -1.5px) rotate(1.5deg);\n }\n 16% {\n transform: translate(0, -0.5px) rotate(-1.5deg);\n }\n 18% {\n transform: translate(0, 0.5px) rotate(-1.5deg);\n }\n 20% {\n transform: translate(0, -1.5px) rotate(2.5deg);\n }\n 22% {\n transform: translate(0, 0.5px) rotate(-1.5deg);\n }\n 24% {\n transform: translate(0, 1.5px) rotate(1.5deg);\n }\n 26% {\n transform: translate(0, 0.5px) rotate(0.5deg);\n }\n 28% {\n transform: translate(0, 0.5px) rotate(1.5deg);\n }\n 30% {\n transform: translate(0, -0.5px) rotate(2.5deg);\n }\n 32% {\n transform: translate(0, 1.5px) rotate(-0.5deg);\n }\n 34% {\n transform: translate(0, 1.5px) rotate(-0.5deg);\n }\n 36% {\n transform: translate(0, -1.5px) rotate(2.5deg);\n }\n 38% {\n transform: translate(0, 1.5px) rotate(-1.5deg);\n }\n 40% {\n transform: translate(0, -0.5px) rotate(2.5deg);\n }\n 42% {\n transform: translate(0, 2.5px) rotate(-1.5deg);\n }\n 44% {\n transform: translate(0, 1.5px) rotate(0.5deg);\n }\n 46% {\n transform: translate(0, -1.5px) rotate(2.5deg);\n }\n 48% {\n transform: translate(0, -0.5px) rotate(0.5deg);\n }\n 50% {\n transform: translate(0, 0.5px) rotate(0.5deg);\n }\n 52% {\n transform: translate(0, 2.5px) rotate(2.5deg);\n }\n 54% {\n transform: translate(0, -1.5px) rotate(1.5deg);\n }\n 56% {\n transform: translate(0, 2.5px) rotate(2.5deg);\n }\n 58% {\n transform: translate(0, 0.5px) rotate(2.5deg);\n }\n 60% {\n transform: translate(0, 2.5px) rotate(2.5deg);\n }\n 62% {\n transform: translate(0, -0.5px) rotate(2.5deg);\n }\n 64% {\n transform: translate(0, -0.5px) rotate(1.5deg);\n }\n 66% {\n transform: translate(0, 1.5px) rotate(-0.5deg);\n }\n 68% {\n transform: translate(0, -1.5px) rotate(-0.5deg);\n }\n 70% {\n transform: translate(0, 1.5px) rotate(0.5deg);\n }\n 72% {\n transform: translate(0, 2.5px) rotate(1.5deg);\n }\n 74% {\n transform: translate(0, -0.5px) rotate(0.5deg);\n }\n 76% {\n transform: translate(0, -0.5px) rotate(2.5deg);\n }\n 78% {\n transform: translate(0, -0.5px) rotate(1.5deg);\n }\n 80% {\n transform: translate(0, 1.5px) rotate(1.5deg);\n }\n 82% {\n transform: translate(0, -0.5px) rotate(0.5deg);\n }\n 84% {\n transform: translate(0, 1.5px) rotate(2.5deg);\n }\n 86% {\n transform: translate(0, -1.5px) rotate(-1.5deg);\n }\n 88% {\n transform: translate(0, -0.5px) rotate(2.5deg);\n }\n 90% {\n transform: translate(0, 2.5px) rotate(-0.5deg);\n }\n 92% {\n transform: translate(0, 0.5px) rotate(-0.5deg);\n }\n 94% {\n transform: translate(0, 2.5px) rotate(0.5deg);\n }\n 96% {\n transform: translate(0, -0.5px) rotate(1.5deg);\n }\n 98% {\n transform: translate(0, -1.5px) rotate(-0.5deg);\n }\n 0%,\n 100% {\n transform: translate(0, 0) rotate(0deg);\n }\n}\n.dplayer {\n position: relative;\n overflow: hidden;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n line-height: 1;\n}\n.dplayer * {\n box-sizing: content-box;\n}\n.dplayer svg {\n width: 100%;\n height: 100%;\n}\n.dplayer svg path,\n.dplayer svg circle {\n fill: #fff;\n}\n.dplayer:-webkit-full-screen {\n width: 100%;\n height: 100%;\n background: #000;\n position: fixed;\n z-index: 100000;\n left: 0;\n top: 0;\n margin: 0;\n padding: 0;\n transform: translate(0, 0);\n}\n.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-showdan,\n.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-danmaku,\n.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-danunlimit {\n display: none;\n}\n.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-comment {\n display: none;\n}\n.dplayer.dplayer-no-danmaku .dplayer-danmaku {\n display: none;\n}\n.dplayer.dplayer-live .dplayer-time {\n display: none;\n}\n.dplayer.dplayer-live .dplayer-bar-wrap {\n display: none;\n}\n.dplayer.dplayer-live .dplayer-setting-speed {\n display: none;\n}\n.dplayer.dplayer-live .dplayer-setting-loop {\n display: none;\n}\n.dplayer.dplayer-live.dplayer-no-danmaku .dplayer-setting {\n display: none;\n}\n.dplayer.dplayer-arrow .dplayer-danmaku {\n font-size: 18px;\n}\n.dplayer.dplayer-arrow .dplayer-icon {\n margin: 0 -3px;\n}\n.dplayer.dplayer-playing .dplayer-danmaku .dplayer-danmaku-move {\n animation-play-state: running;\n}\n@media (min-width: 900px) {\n .dplayer.dplayer-playing .dplayer-controller-mask {\n opacity: 0;\n }\n .dplayer.dplayer-playing .dplayer-controller {\n opacity: 0;\n }\n .dplayer.dplayer-playing:hover .dplayer-controller-mask {\n opacity: 1;\n }\n .dplayer.dplayer-playing:hover .dplayer-controller {\n opacity: 1;\n }\n}\n.dplayer.dplayer-loading .dplayer-bezel .diplayer-loading-icon {\n display: block;\n}\n.dplayer.dplayer-loading .dplayer-danmaku,\n.dplayer.dplayer-paused .dplayer-danmaku,\n.dplayer.dplayer-loading .dplayer-danmaku-move,\n.dplayer.dplayer-paused .dplayer-danmaku-move {\n animation-play-state: paused;\n}\n.dplayer.dplayer-hide-controller {\n cursor: none;\n}\n.dplayer.dplayer-hide-controller .dplayer-controller-mask {\n opacity: 0;\n transform: translateY(100%);\n}\n.dplayer.dplayer-hide-controller .dplayer-controller {\n opacity: 0;\n transform: translateY(100%);\n}\n.dplayer.dplayer-show-controller .dplayer-controller-mask {\n opacity: 1;\n}\n.dplayer.dplayer-show-controller .dplayer-controller {\n opacity: 1;\n}\n.dplayer.dplayer-fulled {\n width: 100% !important;\n height: 100% !important;\n}\n.dplayer.dplayer-fulled {\n position: fixed;\n z-index: 100000;\n left: 0;\n top: 0;\n}\n.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-volume,\n.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-camera-icon,\n.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-airplay-icon,\n.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-chromecast-icon,\n.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-play-icon {\n display: none;\n}\n.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-full .dplayer-full-in-icon {\n position: static;\n display: inline-block;\n}\n.dplayer.dplayer-mobile .dplayer-bar-time {\n display: none;\n}\n.dplayer.dplayer-mobile.dplayer-hide-controller .dplayer-mobile-play {\n display: none;\n}\n.dplayer.dplayer-mobile .dplayer-mobile-play {\n display: block;\n}\n.dplayer-web-fullscreen-fix {\n position: fixed;\n top: 0;\n left: 0;\n margin: 0;\n padding: 0;\n}\n[data-balloon]:before {\n display: none;\n}\n[data-balloon]:after {\n padding: 0.3em 0.7em;\n background: rgba(17, 17, 17, 0.7);\n}\n[data-balloon][data-balloon-pos=\"up\"]:after {\n margin-bottom: 0;\n}\n.dplayer-bezel {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n font-size: 22px;\n color: #fff;\n pointer-events: none;\n}\n.dplayer-bezel .dplayer-bezel-icon {\n position: absolute;\n top: 50%;\n left: 50%;\n margin: -26px 0 0 -26px;\n height: 52px;\n width: 52px;\n padding: 12px;\n box-sizing: border-box;\n background: rgba(0, 0, 0, 0.5);\n border-radius: 50%;\n opacity: 0;\n pointer-events: none;\n}\n.dplayer-bezel .dplayer-bezel-icon.dplayer-bezel-transition {\n animation: bezel-hide 0.5s linear;\n}\n@keyframes bezel-hide {\n from {\n opacity: 1;\n transform: scale(1);\n }\n to {\n opacity: 0;\n transform: scale(2);\n }\n}\n.dplayer-bezel .dplayer-danloading {\n position: absolute;\n top: 50%;\n margin-top: -7px;\n width: 100%;\n text-align: center;\n font-size: 14px;\n line-height: 14px;\n animation: my-face 5s infinite ease-in-out;\n}\n.dplayer-bezel .diplayer-loading-icon {\n display: none;\n position: absolute;\n top: 50%;\n left: 50%;\n margin: -18px 0 0 -18px;\n height: 36px;\n width: 36px;\n pointer-events: none;\n}\n.dplayer-bezel .diplayer-loading-icon .diplayer-loading-hide {\n display: none;\n}\n.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot {\n animation: diplayer-loading-dot-fade 0.8s ease infinite;\n opacity: 0;\n transform-origin: 4px 4px;\n}\n.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-1 {\n animation-delay: 0.1s;\n}\n.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-2 {\n animation-delay: 0.2s;\n}\n.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-3 {\n animation-delay: 0.3s;\n}\n.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-4 {\n animation-delay: 0.4s;\n}\n.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-5 {\n animation-delay: 0.5s;\n}\n.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-6 {\n animation-delay: 0.6s;\n}\n.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-7 {\n animation-delay: 0.7s;\n}\n@keyframes diplayer-loading-dot-fade {\n 0% {\n opacity: 0.7;\n transform: scale(1.2, 1.2);\n }\n 50% {\n opacity: 0.25;\n transform: scale(0.9, 0.9);\n }\n to {\n opacity: 0.25;\n transform: scale(0.85, 0.85);\n }\n}\n.dplayer-controller-mask {\n background: url(${___CSS_LOADER_URL_REPLACEMENT_0___}) repeat-x bottom;\n height: 98px;\n width: 100%;\n position: absolute;\n bottom: 0;\n transition: all 0.3s ease;\n}\n.dplayer-controller {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n height: 41px;\n padding: 0 20px;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n transition: all 0.3s ease;\n}\n.dplayer-controller.dplayer-controller-comment .dplayer-icons {\n display: none;\n}\n.dplayer-controller.dplayer-controller-comment .dplayer-icons.dplayer-comment-box {\n display: block;\n}\n.dplayer-controller .dplayer-bar-wrap {\n padding: 5px 0;\n cursor: pointer;\n position: absolute;\n bottom: 33px;\n width: calc(100% - 40px);\n height: 3px;\n}\n.dplayer-controller .dplayer-bar-wrap:hover .dplayer-bar .dplayer-played .dplayer-thumb {\n transform: scale(1);\n}\n.dplayer-controller .dplayer-bar-wrap:hover .dplayer-highlight {\n display: block;\n width: 8px;\n transform: translateX(-4px);\n top: 4px;\n height: 40%;\n}\n.dplayer-controller .dplayer-bar-wrap .dplayer-highlight {\n z-index: 12;\n position: absolute;\n top: 5px;\n width: 6px;\n height: 20%;\n border-radius: 6px;\n background-color: #fff;\n text-align: center;\n transform: translateX(-3px);\n transition: all 0.2s ease-in-out;\n}\n.dplayer-controller .dplayer-bar-wrap .dplayer-highlight:hover .dplayer-highlight-text {\n display: block;\n}\n.dplayer-controller .dplayer-bar-wrap .dplayer-highlight:hover ~ .dplayer-bar-preview {\n opacity: 0;\n}\n.dplayer-controller .dplayer-bar-wrap .dplayer-highlight:hover ~ .dplayer-bar-time {\n opacity: 0;\n}\n.dplayer-controller .dplayer-bar-wrap .dplayer-highlight .dplayer-highlight-text {\n display: none;\n position: absolute;\n left: 50%;\n top: -24px;\n padding: 5px 8px;\n background-color: rgba(0, 0, 0, 0.62);\n color: #fff;\n border-radius: 4px;\n font-size: 12px;\n white-space: nowrap;\n transform: translateX(-50%);\n}\n.dplayer-controller .dplayer-bar-wrap .dplayer-bar-preview {\n position: absolute;\n background: #fff;\n pointer-events: none;\n display: none;\n background-size: 16000px 100%;\n}\n.dplayer-controller .dplayer-bar-wrap .dplayer-bar-preview-canvas {\n position: absolute;\n width: 100%;\n height: 100%;\n z-index: 1;\n pointer-events: none;\n}\n.dplayer-controller .dplayer-bar-wrap .dplayer-bar-time {\n position: absolute;\n left: 0px;\n top: -20px;\n border-radius: 4px;\n padding: 5px 7px;\n background-color: rgba(0, 0, 0, 0.62);\n color: #fff;\n font-size: 12px;\n text-align: center;\n opacity: 1;\n transition: opacity 0.1s ease-in-out;\n word-wrap: normal;\n word-break: normal;\n z-index: 2;\n pointer-events: none;\n}\n.dplayer-controller .dplayer-bar-wrap .dplayer-bar-time.hidden {\n opacity: 0;\n}\n.dplayer-controller .dplayer-bar-wrap .dplayer-bar {\n position: relative;\n height: 3px;\n width: 100%;\n background: rgba(255, 255, 255, 0.2);\n cursor: pointer;\n}\n.dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-loaded {\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n background: rgba(255, 255, 255, 0.4);\n height: 3px;\n transition: all 0.5s ease;\n will-change: width;\n}\n.dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-played {\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n height: 3px;\n will-change: width;\n}\n.dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-played .dplayer-thumb {\n position: absolute;\n top: 0;\n right: 5px;\n margin-top: -4px;\n margin-right: -10px;\n height: 11px;\n width: 11px;\n border-radius: 50%;\n cursor: pointer;\n transition: all 0.3s ease-in-out;\n transform: scale(0);\n}\n.dplayer-controller .dplayer-icons {\n height: 38px;\n position: absolute;\n bottom: 0;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box {\n display: none;\n position: absolute;\n transition: all 0.3s ease-in-out;\n z-index: 2;\n height: 38px;\n bottom: 0;\n left: 20px;\n right: 20px;\n color: #fff;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-icon {\n padding: 7px;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-icon {\n position: absolute;\n left: 0;\n top: 0;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-send-icon {\n position: absolute;\n right: 0;\n top: 0;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box {\n position: absolute;\n background: rgba(28, 28, 28, 0.9);\n bottom: 41px;\n left: 0;\n box-shadow: 0 0 25px rgba(0, 0, 0, 0.3);\n border-radius: 4px;\n padding: 10px 10px 16px;\n font-size: 14px;\n width: 204px;\n transition: all 0.3s ease-in-out;\n transform: scale(0);\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box.dplayer-comment-setting-open {\n transform: scale(1);\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box input[type=radio] {\n display: none;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box label {\n cursor: pointer;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-title {\n font-size: 13px;\n color: #fff;\n line-height: 30px;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type {\n font-size: 0;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type .dplayer-comment-setting-title {\n margin-bottom: 6px;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type label:nth-child(2) span {\n border-radius: 4px 0 0 4px;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type label:nth-child(4) span {\n border-radius: 0 4px 4px 0;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type span {\n width: 33%;\n padding: 4px 6px;\n line-height: 16px;\n display: inline-block;\n font-size: 12px;\n color: #fff;\n border: 1px solid #fff;\n margin-right: -1px;\n box-sizing: border-box;\n text-align: center;\n cursor: pointer;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type input:checked + span {\n background: #E4E4E6;\n color: #1c1c1c;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color {\n font-size: 0;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color label {\n font-size: 0;\n padding: 6px;\n display: inline-block;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color span {\n width: 22px;\n height: 22px;\n display: inline-block;\n border-radius: 50%;\n box-sizing: border-box;\n cursor: pointer;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color span:hover {\n animation: my-face 5s infinite ease-in-out;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input {\n outline: none;\n border: none;\n padding: 8px 31px;\n font-size: 14px;\n line-height: 18px;\n text-align: center;\n border-radius: 4px;\n background: none;\n margin: 0;\n height: 100%;\n box-sizing: border-box;\n width: 100%;\n color: #fff;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input::-moz-placeholder {\n color: #fff;\n opacity: 0.8;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input::placeholder {\n color: #fff;\n opacity: 0.8;\n}\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input::-ms-clear {\n display: none;\n}\n.dplayer-controller .dplayer-icons.dplayer-icons-left .dplayer-icon {\n padding: 7px;\n}\n.dplayer-controller .dplayer-icons.dplayer-icons-right {\n right: 20px;\n}\n.dplayer-controller .dplayer-icons.dplayer-icons-right .dplayer-icon {\n padding: 8px;\n}\n.dplayer-controller .dplayer-icons .dplayer-time,\n.dplayer-controller .dplayer-icons .dplayer-live-badge {\n line-height: 38px;\n color: #eee;\n text-shadow: 0 0 2px rgba(0, 0, 0, 0.5);\n vertical-align: middle;\n font-size: 13px;\n cursor: default;\n}\n.dplayer-controller .dplayer-icons .dplayer-live-dot {\n display: inline-block;\n width: 6px;\n height: 6px;\n vertical-align: 4%;\n margin-right: 5px;\n content: '';\n border-radius: 6px;\n}\n.dplayer-controller .dplayer-icons .dplayer-icon {\n width: 40px;\n height: 100%;\n border: none;\n background-color: transparent;\n outline: none;\n cursor: pointer;\n vertical-align: middle;\n box-sizing: border-box;\n display: inline-block;\n}\n.dplayer-controller .dplayer-icons .dplayer-icon .dplayer-icon-content {\n transition: all 0.2s ease-in-out;\n opacity: 0.8;\n}\n.dplayer-controller .dplayer-icons .dplayer-icon:hover .dplayer-icon-content {\n opacity: 1;\n}\n.dplayer-controller .dplayer-icons .dplayer-icon.dplayer-quality-icon {\n color: #fff;\n width: auto;\n line-height: 22px;\n font-size: 14px;\n}\n.dplayer-controller .dplayer-icons .dplayer-icon.dplayer-comment-icon {\n padding: 10px 9px 9px;\n}\n.dplayer-controller .dplayer-icons .dplayer-icon.dplayer-setting-icon {\n padding-top: 8.5px;\n}\n.dplayer-controller .dplayer-icons .dplayer-icon.dplayer-volume-icon {\n width: 43px;\n}\n.dplayer-controller .dplayer-icons .dplayer-volume {\n position: relative;\n display: inline-block;\n cursor: pointer;\n height: 100%;\n}\n.dplayer-controller .dplayer-icons .dplayer-volume:hover .dplayer-volume-bar-wrap .dplayer-volume-bar {\n width: 45px;\n}\n.dplayer-controller .dplayer-icons .dplayer-volume:hover .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner .dplayer-thumb {\n transform: scale(1);\n}\n.dplayer-controller .dplayer-icons .dplayer-volume.dplayer-volume-active .dplayer-volume-bar-wrap .dplayer-volume-bar {\n width: 45px;\n}\n.dplayer-controller .dplayer-icons .dplayer-volume.dplayer-volume-active .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner .dplayer-thumb {\n transform: scale(1);\n}\n.dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap {\n display: inline-block;\n margin: 0 10px 0 -5px;\n vertical-align: middle;\n height: 100%;\n}\n.dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar {\n position: relative;\n top: 17px;\n width: 0;\n height: 3px;\n background: #aaa;\n transition: all 0.3s ease-in-out;\n}\n.dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner {\n position: absolute;\n bottom: 0;\n left: 0;\n height: 100%;\n transition: all 0.1s ease;\n will-change: width;\n}\n.dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner .dplayer-thumb {\n position: absolute;\n top: 0;\n right: 5px;\n margin-top: -4px;\n margin-right: -10px;\n height: 11px;\n width: 11px;\n border-radius: 50%;\n cursor: pointer;\n transition: all 0.3s ease-in-out;\n transform: scale(0);\n}\n.dplayer-controller .dplayer-icons .dplayer-subtitle-btn {\n display: inline-block;\n height: 100%;\n}\n.dplayer-controller .dplayer-icons .dplayer-subtitles {\n display: inline-block;\n height: 100%;\n}\n.dplayer-controller .dplayer-icons .dplayer-subtitles .dplayer-subtitles-box {\n position: absolute;\n right: 0;\n bottom: 50px;\n transform: scale(0);\n width: -moz-fit-content;\n width: fit-content;\n max-width: 240px;\n min-width: 120px;\n border-radius: 2px;\n background: rgba(28, 28, 28, 0.9);\n padding: 7px 0;\n transition: all 0.3s ease-in-out;\n overflow: auto;\n z-index: 2;\n}\n.dplayer-controller .dplayer-icons .dplayer-subtitles .dplayer-subtitles-box.dplayer-subtitles-panel {\n display: block;\n}\n.dplayer-controller .dplayer-icons .dplayer-subtitles .dplayer-subtitles-box.dplayer-subtitles-box-open {\n transform: scale(1);\n}\n.dplayer-controller .dplayer-icons .dplayer-subtitles .dplayer-subtitles-item {\n height: 30px;\n padding: 5px 10px;\n box-sizing: border-box;\n cursor: pointer;\n position: relative;\n}\n.dplayer-controller .dplayer-icons .dplayer-subtitles .dplayer-subtitles-item:hover {\n background-color: rgba(255, 255, 255, 0.1);\n}\n.dplayer-controller .dplayer-icons .dplayer-setting {\n display: inline-block;\n height: 100%;\n}\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box {\n position: absolute;\n right: 0;\n bottom: 50px;\n transform: scale(0);\n width: 150px;\n border-radius: 2px;\n background: rgba(28, 28, 28, 0.9);\n padding: 7px 0;\n transition: all 0.3s ease-in-out;\n overflow: hidden;\n z-index: 2;\n}\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box > div {\n display: none;\n}\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box > div.dplayer-setting-origin-panel {\n display: block;\n}\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-open {\n transform: scale(1);\n}\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-narrow {\n width: 70px;\n text-align: center;\n}\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-speed .dplayer-setting-origin-panel {\n display: none;\n}\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-speed .dplayer-setting-speed-panel {\n display: block;\n}\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-item,\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-speed-item {\n height: 30px;\n padding: 5px 10px;\n box-sizing: border-box;\n cursor: pointer;\n position: relative;\n}\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-item:hover,\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-speed-item:hover {\n background-color: rgba(255, 255, 255, 0.1);\n}\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku {\n padding: 5px 0;\n}\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-label {\n padding: 0 10px;\n display: inline;\n}\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku:hover .dplayer-label {\n display: none;\n}\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku:hover .dplayer-danmaku-bar-wrap {\n display: inline-block;\n}\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku.dplayer-setting-danmaku-active .dplayer-label {\n display: none;\n}\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku.dplayer-setting-danmaku-active .dplayer-danmaku-bar-wrap {\n display: inline-block;\n}\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap {\n padding: 0 10px;\n box-sizing: border-box;\n display: none;\n vertical-align: middle;\n height: 100%;\n width: 100%;\n}\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar {\n position: relative;\n top: 8.5px;\n width: 100%;\n height: 3px;\n background: #fff;\n transition: all 0.3s ease-in-out;\n}\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar .dplayer-danmaku-bar-inner {\n position: absolute;\n bottom: 0;\n left: 0;\n height: 100%;\n transition: all 0.1s ease;\n background: #aaa;\n will-change: width;\n}\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar .dplayer-danmaku-bar-inner .dplayer-thumb {\n position: absolute;\n top: 0;\n right: 5px;\n margin-top: -4px;\n margin-right: -10px;\n height: 11px;\n width: 11px;\n border-radius: 50%;\n cursor: pointer;\n transition: all 0.3s ease-in-out;\n background: #aaa;\n}\n.dplayer-controller .dplayer-icons .dplayer-full {\n display: inline-block;\n height: 100%;\n position: relative;\n}\n.dplayer-controller .dplayer-icons .dplayer-full:hover .dplayer-full-in-icon {\n display: block;\n}\n.dplayer-controller .dplayer-icons .dplayer-full .dplayer-full-in-icon {\n position: absolute;\n top: -30px;\n z-index: 1;\n display: none;\n}\n.dplayer-controller .dplayer-icons .dplayer-quality {\n position: relative;\n display: inline-block;\n height: 100%;\n z-index: 2;\n}\n.dplayer-controller .dplayer-icons .dplayer-quality:hover .dplayer-quality-list {\n display: block;\n}\n.dplayer-controller .dplayer-icons .dplayer-quality:hover .dplayer-quality-mask {\n display: block;\n}\n.dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-mask {\n display: none;\n position: absolute;\n bottom: 38px;\n left: -18px;\n width: 80px;\n padding-bottom: 12px;\n}\n.dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-list {\n display: none;\n font-size: 12px;\n width: 80px;\n border-radius: 2px;\n background: rgba(28, 28, 28, 0.9);\n padding: 5px 0;\n transition: all 0.3s ease-in-out;\n overflow: hidden;\n color: #fff;\n text-align: center;\n}\n.dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-item {\n height: 25px;\n box-sizing: border-box;\n cursor: pointer;\n line-height: 25px;\n}\n.dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-item:hover {\n background-color: rgba(255, 255, 255, 0.1);\n}\n.dplayer-controller .dplayer-icons .dplayer-comment {\n display: inline-block;\n height: 100%;\n}\n.dplayer-controller .dplayer-icons .dplayer-label {\n color: #eee;\n font-size: 13px;\n display: inline-block;\n vertical-align: middle;\n white-space: nowrap;\n}\n.dplayer-controller .dplayer-icons .dplayer-toggle {\n width: 32px;\n height: 20px;\n text-align: center;\n font-size: 0;\n vertical-align: middle;\n position: absolute;\n top: 5px;\n right: 10px;\n}\n.dplayer-controller .dplayer-icons .dplayer-toggle input {\n max-height: 0;\n max-width: 0;\n display: none;\n}\n.dplayer-controller .dplayer-icons .dplayer-toggle input + label {\n display: inline-block;\n position: relative;\n box-shadow: #dfdfdf 0 0 0 0 inset;\n border: 1px solid #dfdfdf;\n height: 20px;\n width: 32px;\n border-radius: 10px;\n box-sizing: border-box;\n cursor: pointer;\n transition: 0.2s ease-in-out;\n}\n.dplayer-controller .dplayer-icons .dplayer-toggle input + label:before {\n content: \"\";\n position: absolute;\n display: block;\n height: 18px;\n width: 18px;\n top: 0;\n left: 0;\n border-radius: 15px;\n transition: 0.2s ease-in-out;\n}\n.dplayer-controller .dplayer-icons .dplayer-toggle input + label:after {\n content: \"\";\n position: absolute;\n display: block;\n left: 0;\n top: 0;\n border-radius: 15px;\n background: #fff;\n transition: 0.2s ease-in-out;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);\n height: 18px;\n width: 18px;\n}\n.dplayer-controller .dplayer-icons .dplayer-toggle input:checked + label {\n border-color: rgba(255, 255, 255, 0.5);\n}\n.dplayer-controller .dplayer-icons .dplayer-toggle input:checked + label:before {\n width: 30px;\n background: rgba(255, 255, 255, 0.5);\n}\n.dplayer-controller .dplayer-icons .dplayer-toggle input:checked + label:after {\n left: 12px;\n}\n.dplayer-mobile-play {\n display: none;\n width: 50px;\n height: 50px;\n border: none;\n background-color: transparent;\n outline: none;\n cursor: pointer;\n box-sizing: border-box;\n bottom: 0;\n opacity: 0.8;\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n}\n.dplayer-danmaku {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n font-size: 22px;\n color: #fff;\n}\n.dplayer-danmaku .dplayer-danmaku-item {\n display: inline-block;\n pointer-events: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n cursor: default;\n white-space: nowrap;\n text-shadow: 0.5px 0.5px 0.5px rgba(0, 0, 0, 0.5);\n}\n.dplayer-danmaku .dplayer-danmaku-item--demo {\n position: absolute;\n visibility: hidden;\n}\n.dplayer-danmaku .dplayer-danmaku-right {\n position: absolute;\n right: 0;\n transform: translateX(100%);\n}\n.dplayer-danmaku .dplayer-danmaku-right.dplayer-danmaku-move {\n will-change: transform;\n animation-name: 'danmaku';\n animation-timing-function: linear;\n animation-play-state: paused;\n}\n@keyframes danmaku {\n from {\n transform: translateX(100%);\n }\n}\n.dplayer-danmaku .dplayer-danmaku-top,\n.dplayer-danmaku .dplayer-danmaku-bottom {\n position: absolute;\n width: 100%;\n text-align: center;\n visibility: hidden;\n}\n.dplayer-danmaku .dplayer-danmaku-top.dplayer-danmaku-move,\n.dplayer-danmaku .dplayer-danmaku-bottom.dplayer-danmaku-move {\n will-change: visibility;\n animation-name: 'danmaku-center';\n animation-timing-function: linear;\n animation-play-state: paused;\n}\n@keyframes danmaku-center {\n from {\n visibility: visible;\n }\n to {\n visibility: visible;\n }\n}\n.dplayer-logo {\n pointer-events: none;\n position: absolute;\n left: 20px;\n top: 20px;\n max-width: 50px;\n max-height: 50px;\n}\n.dplayer-logo img {\n max-width: 100%;\n max-height: 100%;\n background: none;\n}\n.dplayer-menu {\n position: absolute;\n width: 170px;\n border-radius: 2px;\n background: rgba(28, 28, 28, 0.85);\n padding: 5px 0;\n overflow: hidden;\n z-index: 3;\n display: none;\n}\n.dplayer-menu.dplayer-menu-show {\n display: block;\n}\n.dplayer-menu .dplayer-menu-item {\n height: 30px;\n box-sizing: border-box;\n cursor: pointer;\n}\n.dplayer-menu .dplayer-menu-item:hover {\n background-color: rgba(255, 255, 255, 0.1);\n}\n.dplayer-menu .dplayer-menu-item a {\n padding: 0 10px;\n line-height: 30px;\n color: #eee;\n font-size: 13px;\n display: inline-block;\n vertical-align: middle;\n width: 100%;\n box-sizing: border-box;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n.dplayer-menu .dplayer-menu-item a:hover {\n -webkit-text-decoration: none;\n text-decoration: none;\n}\n.dplayer-notice-list {\n position: absolute;\n bottom: 60px;\n left: 20px;\n}\n.dplayer-notice-list .dplayer-notice {\n border-radius: 2px;\n background: rgba(28, 28, 28, 0.9);\n transition: all 0.3s ease-in-out;\n overflow: hidden;\n color: #fff;\n display: table;\n pointer-events: none;\n animation: showNotice 0.3s ease 1 forwards;\n}\n.dplayer-notice-list .remove-notice {\n animation: removeNotice 0.3s ease 1 forwards;\n}\n@keyframes showNotice {\n from {\n padding: 0;\n font-size: 0;\n margin-top: 0;\n }\n to {\n padding: 7px 20px;\n font-size: 14px;\n margin-top: 5px;\n }\n}\n@keyframes removeNotice {\n 0% {\n padding: 7px 20px;\n font-size: 14px;\n margin-top: 5px;\n }\n 20% {\n font-size: 12px;\n }\n 21% {\n font-size: 0;\n padding: 7px 10px;\n }\n 100% {\n padding: 0;\n margin-top: 0;\n font-size: 0;\n }\n}\n.dplayer-subtitle {\n position: absolute;\n bottom: 40px;\n width: 90%;\n left: 5%;\n text-align: center;\n color: #fff;\n text-shadow: 0.5px 0.5px 0.5px rgba(0, 0, 0, 0.5);\n font-size: 20px;\n}\n.dplayer-subtitle.dplayer-subtitle-hide {\n display: none;\n}\n.dplayer-mask {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 1;\n display: none;\n}\n.dplayer-mask.dplayer-mask-show {\n display: block;\n}\n.dplayer-video-wrap {\n position: relative;\n background: #000;\n font-size: 0;\n width: 100%;\n height: 100%;\n}\n.dplayer-video-wrap .dplayer-video {\n width: 100%;\n height: 100%;\n display: none;\n}\n.dplayer-video-wrap .dplayer-video-current {\n display: block;\n}\n.dplayer-video-wrap .dplayer-video-prepare {\n display: none;\n}\n.dplayer-info-panel {\n position: absolute;\n top: 10px;\n left: 10px;\n width: 400px;\n background: rgba(28, 28, 28, 0.8);\n padding: 10px;\n color: #fff;\n font-size: 12px;\n border-radius: 2px;\n}\n.dplayer-info-panel-hide {\n display: none;\n}\n.dplayer-info-panel .dplayer-info-panel-close {\n cursor: pointer;\n position: absolute;\n right: 10px;\n top: 10px;\n}\n.dplayer-info-panel .dplayer-info-panel-item > span {\n display: inline-block;\n vertical-align: middle;\n line-height: 15px;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n.dplayer-info-panel .dplayer-info-panel-item-title {\n width: 100px;\n text-align: right;\n margin-right: 10px;\n}\n.dplayer-info-panel .dplayer-info-panel-item-data {\n width: 260px;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/css/global.less\",\"webpack://./src/css/index.less\",\"webpack://./src/css/player.less\",\"webpack://./src/css/balloon.less\",\"webpack://./src/css/bezel.less\",\"webpack://./src/css/controller.less\",\"webpack://./src/css/danmaku.less\",\"webpack://./src/css/logo.less\",\"webpack://./src/css/menu.less\",\"webpack://./src/css/notice.less\",\"webpack://./src/css/subtitle.less\",\"webpack://./src/css/video.less\",\"webpack://./src/css/info-panel.less\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"@keyframes my-face {\\n 2% {\\n transform: translate(0, 1.5px) rotate(1.5deg);\\n }\\n 4% {\\n transform: translate(0, -1.5px) rotate(-0.5deg);\\n }\\n 6% {\\n transform: translate(0, 1.5px) rotate(-1.5deg);\\n }\\n 8% {\\n transform: translate(0, -1.5px) rotate(-1.5deg);\\n }\\n 10% {\\n transform: translate(0, 2.5px) rotate(1.5deg);\\n }\\n 12% {\\n transform: translate(0, -0.5px) rotate(1.5deg);\\n }\\n 14% {\\n transform: translate(0, -1.5px) rotate(1.5deg);\\n }\\n 16% {\\n transform: translate(0, -0.5px) rotate(-1.5deg);\\n }\\n 18% {\\n transform: translate(0, 0.5px) rotate(-1.5deg);\\n }\\n 20% {\\n transform: translate(0, -1.5px) rotate(2.5deg);\\n }\\n 22% {\\n transform: translate(0, 0.5px) rotate(-1.5deg);\\n }\\n 24% {\\n transform: translate(0, 1.5px) rotate(1.5deg);\\n }\\n 26% {\\n transform: translate(0, 0.5px) rotate(0.5deg);\\n }\\n 28% {\\n transform: translate(0, 0.5px) rotate(1.5deg);\\n }\\n 30% {\\n transform: translate(0, -0.5px) rotate(2.5deg);\\n }\\n 32% {\\n transform: translate(0, 1.5px) rotate(-0.5deg);\\n }\\n 34% {\\n transform: translate(0, 1.5px) rotate(-0.5deg);\\n }\\n 36% {\\n transform: translate(0, -1.5px) rotate(2.5deg);\\n }\\n 38% {\\n transform: translate(0, 1.5px) rotate(-1.5deg);\\n }\\n 40% {\\n transform: translate(0, -0.5px) rotate(2.5deg);\\n }\\n 42% {\\n transform: translate(0, 2.5px) rotate(-1.5deg);\\n }\\n 44% {\\n transform: translate(0, 1.5px) rotate(0.5deg);\\n }\\n 46% {\\n transform: translate(0, -1.5px) rotate(2.5deg);\\n }\\n 48% {\\n transform: translate(0, -0.5px) rotate(0.5deg);\\n }\\n 50% {\\n transform: translate(0, 0.5px) rotate(0.5deg);\\n }\\n 52% {\\n transform: translate(0, 2.5px) rotate(2.5deg);\\n }\\n 54% {\\n transform: translate(0, -1.5px) rotate(1.5deg);\\n }\\n 56% {\\n transform: translate(0, 2.5px) rotate(2.5deg);\\n }\\n 58% {\\n transform: translate(0, 0.5px) rotate(2.5deg);\\n }\\n 60% {\\n transform: translate(0, 2.5px) rotate(2.5deg);\\n }\\n 62% {\\n transform: translate(0, -0.5px) rotate(2.5deg);\\n }\\n 64% {\\n transform: translate(0, -0.5px) rotate(1.5deg);\\n }\\n 66% {\\n transform: translate(0, 1.5px) rotate(-0.5deg);\\n }\\n 68% {\\n transform: translate(0, -1.5px) rotate(-0.5deg);\\n }\\n 70% {\\n transform: translate(0, 1.5px) rotate(0.5deg);\\n }\\n 72% {\\n transform: translate(0, 2.5px) rotate(1.5deg);\\n }\\n 74% {\\n transform: translate(0, -0.5px) rotate(0.5deg);\\n }\\n 76% {\\n transform: translate(0, -0.5px) rotate(2.5deg);\\n }\\n 78% {\\n transform: translate(0, -0.5px) rotate(1.5deg);\\n }\\n 80% {\\n transform: translate(0, 1.5px) rotate(1.5deg);\\n }\\n 82% {\\n transform: translate(0, -0.5px) rotate(0.5deg);\\n }\\n 84% {\\n transform: translate(0, 1.5px) rotate(2.5deg);\\n }\\n 86% {\\n transform: translate(0, -1.5px) rotate(-1.5deg);\\n }\\n 88% {\\n transform: translate(0, -0.5px) rotate(2.5deg);\\n }\\n 90% {\\n transform: translate(0, 2.5px) rotate(-0.5deg);\\n }\\n 92% {\\n transform: translate(0, 0.5px) rotate(-0.5deg);\\n }\\n 94% {\\n transform: translate(0, 2.5px) rotate(0.5deg);\\n }\\n 96% {\\n transform: translate(0, -0.5px) rotate(1.5deg);\\n }\\n 98% {\\n transform: translate(0, -1.5px) rotate(-0.5deg);\\n }\\n 0%,\\n 100% {\\n transform: translate(0, 0) rotate(0deg);\\n }\\n}\",\"@import '../../node_modules/balloon-css/balloon.css';\\n@keyframes my-face {\\n 2% {\\n transform: translate(0, 1.5px) rotate(1.5deg);\\n }\\n 4% {\\n transform: translate(0, -1.5px) rotate(-0.5deg);\\n }\\n 6% {\\n transform: translate(0, 1.5px) rotate(-1.5deg);\\n }\\n 8% {\\n transform: translate(0, -1.5px) rotate(-1.5deg);\\n }\\n 10% {\\n transform: translate(0, 2.5px) rotate(1.5deg);\\n }\\n 12% {\\n transform: translate(0, -0.5px) rotate(1.5deg);\\n }\\n 14% {\\n transform: translate(0, -1.5px) rotate(1.5deg);\\n }\\n 16% {\\n transform: translate(0, -0.5px) rotate(-1.5deg);\\n }\\n 18% {\\n transform: translate(0, 0.5px) rotate(-1.5deg);\\n }\\n 20% {\\n transform: translate(0, -1.5px) rotate(2.5deg);\\n }\\n 22% {\\n transform: translate(0, 0.5px) rotate(-1.5deg);\\n }\\n 24% {\\n transform: translate(0, 1.5px) rotate(1.5deg);\\n }\\n 26% {\\n transform: translate(0, 0.5px) rotate(0.5deg);\\n }\\n 28% {\\n transform: translate(0, 0.5px) rotate(1.5deg);\\n }\\n 30% {\\n transform: translate(0, -0.5px) rotate(2.5deg);\\n }\\n 32% {\\n transform: translate(0, 1.5px) rotate(-0.5deg);\\n }\\n 34% {\\n transform: translate(0, 1.5px) rotate(-0.5deg);\\n }\\n 36% {\\n transform: translate(0, -1.5px) rotate(2.5deg);\\n }\\n 38% {\\n transform: translate(0, 1.5px) rotate(-1.5deg);\\n }\\n 40% {\\n transform: translate(0, -0.5px) rotate(2.5deg);\\n }\\n 42% {\\n transform: translate(0, 2.5px) rotate(-1.5deg);\\n }\\n 44% {\\n transform: translate(0, 1.5px) rotate(0.5deg);\\n }\\n 46% {\\n transform: translate(0, -1.5px) rotate(2.5deg);\\n }\\n 48% {\\n transform: translate(0, -0.5px) rotate(0.5deg);\\n }\\n 50% {\\n transform: translate(0, 0.5px) rotate(0.5deg);\\n }\\n 52% {\\n transform: translate(0, 2.5px) rotate(2.5deg);\\n }\\n 54% {\\n transform: translate(0, -1.5px) rotate(1.5deg);\\n }\\n 56% {\\n transform: translate(0, 2.5px) rotate(2.5deg);\\n }\\n 58% {\\n transform: translate(0, 0.5px) rotate(2.5deg);\\n }\\n 60% {\\n transform: translate(0, 2.5px) rotate(2.5deg);\\n }\\n 62% {\\n transform: translate(0, -0.5px) rotate(2.5deg);\\n }\\n 64% {\\n transform: translate(0, -0.5px) rotate(1.5deg);\\n }\\n 66% {\\n transform: translate(0, 1.5px) rotate(-0.5deg);\\n }\\n 68% {\\n transform: translate(0, -1.5px) rotate(-0.5deg);\\n }\\n 70% {\\n transform: translate(0, 1.5px) rotate(0.5deg);\\n }\\n 72% {\\n transform: translate(0, 2.5px) rotate(1.5deg);\\n }\\n 74% {\\n transform: translate(0, -0.5px) rotate(0.5deg);\\n }\\n 76% {\\n transform: translate(0, -0.5px) rotate(2.5deg);\\n }\\n 78% {\\n transform: translate(0, -0.5px) rotate(1.5deg);\\n }\\n 80% {\\n transform: translate(0, 1.5px) rotate(1.5deg);\\n }\\n 82% {\\n transform: translate(0, -0.5px) rotate(0.5deg);\\n }\\n 84% {\\n transform: translate(0, 1.5px) rotate(2.5deg);\\n }\\n 86% {\\n transform: translate(0, -1.5px) rotate(-1.5deg);\\n }\\n 88% {\\n transform: translate(0, -0.5px) rotate(2.5deg);\\n }\\n 90% {\\n transform: translate(0, 2.5px) rotate(-0.5deg);\\n }\\n 92% {\\n transform: translate(0, 0.5px) rotate(-0.5deg);\\n }\\n 94% {\\n transform: translate(0, 2.5px) rotate(0.5deg);\\n }\\n 96% {\\n transform: translate(0, -0.5px) rotate(1.5deg);\\n }\\n 98% {\\n transform: translate(0, -1.5px) rotate(-0.5deg);\\n }\\n 0%,\\n 100% {\\n transform: translate(0, 0) rotate(0deg);\\n }\\n}\\n.dplayer {\\n position: relative;\\n overflow: hidden;\\n user-select: none;\\n line-height: 1;\\n}\\n.dplayer * {\\n box-sizing: content-box;\\n}\\n.dplayer svg {\\n width: 100%;\\n height: 100%;\\n}\\n.dplayer svg path,\\n.dplayer svg circle {\\n fill: #fff;\\n}\\n.dplayer:-webkit-full-screen {\\n width: 100%;\\n height: 100%;\\n background: #000;\\n position: fixed;\\n z-index: 100000;\\n left: 0;\\n top: 0;\\n margin: 0;\\n padding: 0;\\n transform: translate(0, 0);\\n}\\n.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-showdan,\\n.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-danmaku,\\n.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-danunlimit {\\n display: none;\\n}\\n.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-comment {\\n display: none;\\n}\\n.dplayer.dplayer-no-danmaku .dplayer-danmaku {\\n display: none;\\n}\\n.dplayer.dplayer-live .dplayer-time {\\n display: none;\\n}\\n.dplayer.dplayer-live .dplayer-bar-wrap {\\n display: none;\\n}\\n.dplayer.dplayer-live .dplayer-setting-speed {\\n display: none;\\n}\\n.dplayer.dplayer-live .dplayer-setting-loop {\\n display: none;\\n}\\n.dplayer.dplayer-live.dplayer-no-danmaku .dplayer-setting {\\n display: none;\\n}\\n.dplayer.dplayer-arrow .dplayer-danmaku {\\n font-size: 18px;\\n}\\n.dplayer.dplayer-arrow .dplayer-icon {\\n margin: 0 -3px;\\n}\\n.dplayer.dplayer-playing .dplayer-danmaku .dplayer-danmaku-move {\\n animation-play-state: running;\\n}\\n@media (min-width: 900px) {\\n .dplayer.dplayer-playing .dplayer-controller-mask {\\n opacity: 0;\\n }\\n .dplayer.dplayer-playing .dplayer-controller {\\n opacity: 0;\\n }\\n .dplayer.dplayer-playing:hover .dplayer-controller-mask {\\n opacity: 1;\\n }\\n .dplayer.dplayer-playing:hover .dplayer-controller {\\n opacity: 1;\\n }\\n}\\n.dplayer.dplayer-loading .dplayer-bezel .diplayer-loading-icon {\\n display: block;\\n}\\n.dplayer.dplayer-loading .dplayer-danmaku,\\n.dplayer.dplayer-paused .dplayer-danmaku,\\n.dplayer.dplayer-loading .dplayer-danmaku-move,\\n.dplayer.dplayer-paused .dplayer-danmaku-move {\\n animation-play-state: paused;\\n}\\n.dplayer.dplayer-hide-controller {\\n cursor: none;\\n}\\n.dplayer.dplayer-hide-controller .dplayer-controller-mask {\\n opacity: 0;\\n transform: translateY(100%);\\n}\\n.dplayer.dplayer-hide-controller .dplayer-controller {\\n opacity: 0;\\n transform: translateY(100%);\\n}\\n.dplayer.dplayer-show-controller .dplayer-controller-mask {\\n opacity: 1;\\n}\\n.dplayer.dplayer-show-controller .dplayer-controller {\\n opacity: 1;\\n}\\n.dplayer.dplayer-fulled {\\n position: fixed;\\n z-index: 100000;\\n left: 0;\\n top: 0;\\n width: 100% !important;\\n height: 100% !important;\\n}\\n.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-volume,\\n.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-camera-icon,\\n.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-airplay-icon,\\n.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-chromecast-icon,\\n.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-play-icon {\\n display: none;\\n}\\n.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-full .dplayer-full-in-icon {\\n position: static;\\n display: inline-block;\\n}\\n.dplayer.dplayer-mobile .dplayer-bar-time {\\n display: none;\\n}\\n.dplayer.dplayer-mobile.dplayer-hide-controller .dplayer-mobile-play {\\n display: none;\\n}\\n.dplayer.dplayer-mobile .dplayer-mobile-play {\\n display: block;\\n}\\n.dplayer-web-fullscreen-fix {\\n position: fixed;\\n top: 0;\\n left: 0;\\n margin: 0;\\n padding: 0;\\n}\\n[data-balloon]:before {\\n display: none;\\n}\\n[data-balloon]:after {\\n padding: 0.3em 0.7em;\\n background: rgba(17, 17, 17, 0.7);\\n}\\n[data-balloon][data-balloon-pos=\\\"up\\\"]:after {\\n margin-bottom: 0;\\n}\\n.dplayer-bezel {\\n position: absolute;\\n left: 0;\\n right: 0;\\n top: 0;\\n bottom: 0;\\n font-size: 22px;\\n color: #fff;\\n pointer-events: none;\\n}\\n.dplayer-bezel .dplayer-bezel-icon {\\n position: absolute;\\n top: 50%;\\n left: 50%;\\n margin: -26px 0 0 -26px;\\n height: 52px;\\n width: 52px;\\n padding: 12px;\\n box-sizing: border-box;\\n background: rgba(0, 0, 0, 0.5);\\n border-radius: 50%;\\n opacity: 0;\\n pointer-events: none;\\n}\\n.dplayer-bezel .dplayer-bezel-icon.dplayer-bezel-transition {\\n animation: bezel-hide 0.5s linear;\\n}\\n@keyframes bezel-hide {\\n from {\\n opacity: 1;\\n transform: scale(1);\\n }\\n to {\\n opacity: 0;\\n transform: scale(2);\\n }\\n}\\n.dplayer-bezel .dplayer-danloading {\\n position: absolute;\\n top: 50%;\\n margin-top: -7px;\\n width: 100%;\\n text-align: center;\\n font-size: 14px;\\n line-height: 14px;\\n animation: my-face 5s infinite ease-in-out;\\n}\\n.dplayer-bezel .diplayer-loading-icon {\\n display: none;\\n position: absolute;\\n top: 50%;\\n left: 50%;\\n margin: -18px 0 0 -18px;\\n height: 36px;\\n width: 36px;\\n pointer-events: none;\\n}\\n.dplayer-bezel .diplayer-loading-icon .diplayer-loading-hide {\\n display: none;\\n}\\n.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot {\\n animation: diplayer-loading-dot-fade 0.8s ease infinite;\\n opacity: 0;\\n transform-origin: 4px 4px;\\n}\\n.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-1 {\\n animation-delay: 0.1s;\\n}\\n.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-2 {\\n animation-delay: 0.2s;\\n}\\n.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-3 {\\n animation-delay: 0.3s;\\n}\\n.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-4 {\\n animation-delay: 0.4s;\\n}\\n.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-5 {\\n animation-delay: 0.5s;\\n}\\n.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-6 {\\n animation-delay: 0.6s;\\n}\\n.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-7 {\\n animation-delay: 0.7s;\\n}\\n@keyframes diplayer-loading-dot-fade {\\n 0% {\\n opacity: 0.7;\\n transform: scale(1.2, 1.2);\\n }\\n 50% {\\n opacity: 0.25;\\n transform: scale(0.9, 0.9);\\n }\\n to {\\n opacity: 0.25;\\n transform: scale(0.85, 0.85);\\n }\\n}\\n.dplayer-controller-mask {\\n background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==) repeat-x bottom;\\n height: 98px;\\n width: 100%;\\n position: absolute;\\n bottom: 0;\\n transition: all 0.3s ease;\\n}\\n.dplayer-controller {\\n position: absolute;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n height: 41px;\\n padding: 0 20px;\\n user-select: none;\\n transition: all 0.3s ease;\\n}\\n.dplayer-controller.dplayer-controller-comment .dplayer-icons {\\n display: none;\\n}\\n.dplayer-controller.dplayer-controller-comment .dplayer-icons.dplayer-comment-box {\\n display: block;\\n}\\n.dplayer-controller .dplayer-bar-wrap {\\n padding: 5px 0;\\n cursor: pointer;\\n position: absolute;\\n bottom: 33px;\\n width: calc(100% - 40px);\\n height: 3px;\\n}\\n.dplayer-controller .dplayer-bar-wrap:hover .dplayer-bar .dplayer-played .dplayer-thumb {\\n transform: scale(1);\\n}\\n.dplayer-controller .dplayer-bar-wrap:hover .dplayer-highlight {\\n display: block;\\n width: 8px;\\n transform: translateX(-4px);\\n top: 4px;\\n height: 40%;\\n}\\n.dplayer-controller .dplayer-bar-wrap .dplayer-highlight {\\n z-index: 12;\\n position: absolute;\\n top: 5px;\\n width: 6px;\\n height: 20%;\\n border-radius: 6px;\\n background-color: #fff;\\n text-align: center;\\n transform: translateX(-3px);\\n transition: all 0.2s ease-in-out;\\n}\\n.dplayer-controller .dplayer-bar-wrap .dplayer-highlight:hover .dplayer-highlight-text {\\n display: block;\\n}\\n.dplayer-controller .dplayer-bar-wrap .dplayer-highlight:hover ~ .dplayer-bar-preview {\\n opacity: 0;\\n}\\n.dplayer-controller .dplayer-bar-wrap .dplayer-highlight:hover ~ .dplayer-bar-time {\\n opacity: 0;\\n}\\n.dplayer-controller .dplayer-bar-wrap .dplayer-highlight .dplayer-highlight-text {\\n display: none;\\n position: absolute;\\n left: 50%;\\n top: -24px;\\n padding: 5px 8px;\\n background-color: rgba(0, 0, 0, 0.62);\\n color: #fff;\\n border-radius: 4px;\\n font-size: 12px;\\n white-space: nowrap;\\n transform: translateX(-50%);\\n}\\n.dplayer-controller .dplayer-bar-wrap .dplayer-bar-preview {\\n position: absolute;\\n background: #fff;\\n pointer-events: none;\\n display: none;\\n background-size: 16000px 100%;\\n}\\n.dplayer-controller .dplayer-bar-wrap .dplayer-bar-preview-canvas {\\n position: absolute;\\n width: 100%;\\n height: 100%;\\n z-index: 1;\\n pointer-events: none;\\n}\\n.dplayer-controller .dplayer-bar-wrap .dplayer-bar-time {\\n position: absolute;\\n left: 0px;\\n top: -20px;\\n border-radius: 4px;\\n padding: 5px 7px;\\n background-color: rgba(0, 0, 0, 0.62);\\n color: #fff;\\n font-size: 12px;\\n text-align: center;\\n opacity: 1;\\n transition: opacity 0.1s ease-in-out;\\n word-wrap: normal;\\n word-break: normal;\\n z-index: 2;\\n pointer-events: none;\\n}\\n.dplayer-controller .dplayer-bar-wrap .dplayer-bar-time.hidden {\\n opacity: 0;\\n}\\n.dplayer-controller .dplayer-bar-wrap .dplayer-bar {\\n position: relative;\\n height: 3px;\\n width: 100%;\\n background: rgba(255, 255, 255, 0.2);\\n cursor: pointer;\\n}\\n.dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-loaded {\\n position: absolute;\\n left: 0;\\n top: 0;\\n bottom: 0;\\n background: rgba(255, 255, 255, 0.4);\\n height: 3px;\\n transition: all 0.5s ease;\\n will-change: width;\\n}\\n.dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-played {\\n position: absolute;\\n left: 0;\\n top: 0;\\n bottom: 0;\\n height: 3px;\\n will-change: width;\\n}\\n.dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-played .dplayer-thumb {\\n position: absolute;\\n top: 0;\\n right: 5px;\\n margin-top: -4px;\\n margin-right: -10px;\\n height: 11px;\\n width: 11px;\\n border-radius: 50%;\\n cursor: pointer;\\n transition: all 0.3s ease-in-out;\\n transform: scale(0);\\n}\\n.dplayer-controller .dplayer-icons {\\n height: 38px;\\n position: absolute;\\n bottom: 0;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box {\\n display: none;\\n position: absolute;\\n transition: all 0.3s ease-in-out;\\n z-index: 2;\\n height: 38px;\\n bottom: 0;\\n left: 20px;\\n right: 20px;\\n color: #fff;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-icon {\\n padding: 7px;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-icon {\\n position: absolute;\\n left: 0;\\n top: 0;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-send-icon {\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box {\\n position: absolute;\\n background: rgba(28, 28, 28, 0.9);\\n bottom: 41px;\\n left: 0;\\n box-shadow: 0 0 25px rgba(0, 0, 0, 0.3);\\n border-radius: 4px;\\n padding: 10px 10px 16px;\\n font-size: 14px;\\n width: 204px;\\n transition: all 0.3s ease-in-out;\\n transform: scale(0);\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box.dplayer-comment-setting-open {\\n transform: scale(1);\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box input[type=radio] {\\n display: none;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box label {\\n cursor: pointer;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-title {\\n font-size: 13px;\\n color: #fff;\\n line-height: 30px;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type {\\n font-size: 0;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type .dplayer-comment-setting-title {\\n margin-bottom: 6px;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type label:nth-child(2) span {\\n border-radius: 4px 0 0 4px;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type label:nth-child(4) span {\\n border-radius: 0 4px 4px 0;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type span {\\n width: 33%;\\n padding: 4px 6px;\\n line-height: 16px;\\n display: inline-block;\\n font-size: 12px;\\n color: #fff;\\n border: 1px solid #fff;\\n margin-right: -1px;\\n box-sizing: border-box;\\n text-align: center;\\n cursor: pointer;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type input:checked + span {\\n background: #E4E4E6;\\n color: #1c1c1c;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color {\\n font-size: 0;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color label {\\n font-size: 0;\\n padding: 6px;\\n display: inline-block;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color span {\\n width: 22px;\\n height: 22px;\\n display: inline-block;\\n border-radius: 50%;\\n box-sizing: border-box;\\n cursor: pointer;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color span:hover {\\n animation: my-face 5s infinite ease-in-out;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input {\\n outline: none;\\n border: none;\\n padding: 8px 31px;\\n font-size: 14px;\\n line-height: 18px;\\n text-align: center;\\n border-radius: 4px;\\n background: none;\\n margin: 0;\\n height: 100%;\\n box-sizing: border-box;\\n width: 100%;\\n color: #fff;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input::placeholder {\\n color: #fff;\\n opacity: 0.8;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input::-ms-clear {\\n display: none;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-icons-left .dplayer-icon {\\n padding: 7px;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-icons-right {\\n right: 20px;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-icons-right .dplayer-icon {\\n padding: 8px;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-time,\\n.dplayer-controller .dplayer-icons .dplayer-live-badge {\\n line-height: 38px;\\n color: #eee;\\n text-shadow: 0 0 2px rgba(0, 0, 0, 0.5);\\n vertical-align: middle;\\n font-size: 13px;\\n cursor: default;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-live-dot {\\n display: inline-block;\\n width: 6px;\\n height: 6px;\\n vertical-align: 4%;\\n margin-right: 5px;\\n content: '';\\n border-radius: 6px;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-icon {\\n width: 40px;\\n height: 100%;\\n border: none;\\n background-color: transparent;\\n outline: none;\\n cursor: pointer;\\n vertical-align: middle;\\n box-sizing: border-box;\\n display: inline-block;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-icon .dplayer-icon-content {\\n transition: all 0.2s ease-in-out;\\n opacity: 0.8;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-icon:hover .dplayer-icon-content {\\n opacity: 1;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-icon.dplayer-quality-icon {\\n color: #fff;\\n width: auto;\\n line-height: 22px;\\n font-size: 14px;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-icon.dplayer-comment-icon {\\n padding: 10px 9px 9px;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-icon.dplayer-setting-icon {\\n padding-top: 8.5px;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-icon.dplayer-volume-icon {\\n width: 43px;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-volume {\\n position: relative;\\n display: inline-block;\\n cursor: pointer;\\n height: 100%;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-volume:hover .dplayer-volume-bar-wrap .dplayer-volume-bar {\\n width: 45px;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-volume:hover .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner .dplayer-thumb {\\n transform: scale(1);\\n}\\n.dplayer-controller .dplayer-icons .dplayer-volume.dplayer-volume-active .dplayer-volume-bar-wrap .dplayer-volume-bar {\\n width: 45px;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-volume.dplayer-volume-active .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner .dplayer-thumb {\\n transform: scale(1);\\n}\\n.dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap {\\n display: inline-block;\\n margin: 0 10px 0 -5px;\\n vertical-align: middle;\\n height: 100%;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar {\\n position: relative;\\n top: 17px;\\n width: 0;\\n height: 3px;\\n background: #aaa;\\n transition: all 0.3s ease-in-out;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner {\\n position: absolute;\\n bottom: 0;\\n left: 0;\\n height: 100%;\\n transition: all 0.1s ease;\\n will-change: width;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner .dplayer-thumb {\\n position: absolute;\\n top: 0;\\n right: 5px;\\n margin-top: -4px;\\n margin-right: -10px;\\n height: 11px;\\n width: 11px;\\n border-radius: 50%;\\n cursor: pointer;\\n transition: all 0.3s ease-in-out;\\n transform: scale(0);\\n}\\n.dplayer-controller .dplayer-icons .dplayer-subtitle-btn {\\n display: inline-block;\\n height: 100%;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-subtitles {\\n display: inline-block;\\n height: 100%;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-subtitles .dplayer-subtitles-box {\\n position: absolute;\\n right: 0;\\n bottom: 50px;\\n transform: scale(0);\\n width: fit-content;\\n max-width: 240px;\\n min-width: 120px;\\n border-radius: 2px;\\n background: rgba(28, 28, 28, 0.9);\\n padding: 7px 0;\\n transition: all 0.3s ease-in-out;\\n overflow: auto;\\n z-index: 2;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-subtitles .dplayer-subtitles-box.dplayer-subtitles-panel {\\n display: block;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-subtitles .dplayer-subtitles-box.dplayer-subtitles-box-open {\\n transform: scale(1);\\n}\\n.dplayer-controller .dplayer-icons .dplayer-subtitles .dplayer-subtitles-item {\\n height: 30px;\\n padding: 5px 10px;\\n box-sizing: border-box;\\n cursor: pointer;\\n position: relative;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-subtitles .dplayer-subtitles-item:hover {\\n background-color: rgba(255, 255, 255, 0.1);\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting {\\n display: inline-block;\\n height: 100%;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box {\\n position: absolute;\\n right: 0;\\n bottom: 50px;\\n transform: scale(0);\\n width: 150px;\\n border-radius: 2px;\\n background: rgba(28, 28, 28, 0.9);\\n padding: 7px 0;\\n transition: all 0.3s ease-in-out;\\n overflow: hidden;\\n z-index: 2;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box > div {\\n display: none;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box > div.dplayer-setting-origin-panel {\\n display: block;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-open {\\n transform: scale(1);\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-narrow {\\n width: 70px;\\n text-align: center;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-speed .dplayer-setting-origin-panel {\\n display: none;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-speed .dplayer-setting-speed-panel {\\n display: block;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-item,\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-speed-item {\\n height: 30px;\\n padding: 5px 10px;\\n box-sizing: border-box;\\n cursor: pointer;\\n position: relative;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-item:hover,\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-speed-item:hover {\\n background-color: rgba(255, 255, 255, 0.1);\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku {\\n padding: 5px 0;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-label {\\n padding: 0 10px;\\n display: inline;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku:hover .dplayer-label {\\n display: none;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku:hover .dplayer-danmaku-bar-wrap {\\n display: inline-block;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku.dplayer-setting-danmaku-active .dplayer-label {\\n display: none;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku.dplayer-setting-danmaku-active .dplayer-danmaku-bar-wrap {\\n display: inline-block;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap {\\n padding: 0 10px;\\n box-sizing: border-box;\\n display: none;\\n vertical-align: middle;\\n height: 100%;\\n width: 100%;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar {\\n position: relative;\\n top: 8.5px;\\n width: 100%;\\n height: 3px;\\n background: #fff;\\n transition: all 0.3s ease-in-out;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar .dplayer-danmaku-bar-inner {\\n position: absolute;\\n bottom: 0;\\n left: 0;\\n height: 100%;\\n transition: all 0.1s ease;\\n background: #aaa;\\n will-change: width;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar .dplayer-danmaku-bar-inner .dplayer-thumb {\\n position: absolute;\\n top: 0;\\n right: 5px;\\n margin-top: -4px;\\n margin-right: -10px;\\n height: 11px;\\n width: 11px;\\n border-radius: 50%;\\n cursor: pointer;\\n transition: all 0.3s ease-in-out;\\n background: #aaa;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-full {\\n display: inline-block;\\n height: 100%;\\n position: relative;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-full:hover .dplayer-full-in-icon {\\n display: block;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-full .dplayer-full-in-icon {\\n position: absolute;\\n top: -30px;\\n z-index: 1;\\n display: none;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-quality {\\n position: relative;\\n display: inline-block;\\n height: 100%;\\n z-index: 2;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-quality:hover .dplayer-quality-list {\\n display: block;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-quality:hover .dplayer-quality-mask {\\n display: block;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-mask {\\n display: none;\\n position: absolute;\\n bottom: 38px;\\n left: -18px;\\n width: 80px;\\n padding-bottom: 12px;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-list {\\n display: none;\\n font-size: 12px;\\n width: 80px;\\n border-radius: 2px;\\n background: rgba(28, 28, 28, 0.9);\\n padding: 5px 0;\\n transition: all 0.3s ease-in-out;\\n overflow: hidden;\\n color: #fff;\\n text-align: center;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-item {\\n height: 25px;\\n box-sizing: border-box;\\n cursor: pointer;\\n line-height: 25px;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-item:hover {\\n background-color: rgba(255, 255, 255, 0.1);\\n}\\n.dplayer-controller .dplayer-icons .dplayer-comment {\\n display: inline-block;\\n height: 100%;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-label {\\n color: #eee;\\n font-size: 13px;\\n display: inline-block;\\n vertical-align: middle;\\n white-space: nowrap;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-toggle {\\n width: 32px;\\n height: 20px;\\n text-align: center;\\n font-size: 0;\\n vertical-align: middle;\\n position: absolute;\\n top: 5px;\\n right: 10px;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-toggle input {\\n max-height: 0;\\n max-width: 0;\\n display: none;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-toggle input + label {\\n display: inline-block;\\n position: relative;\\n box-shadow: #dfdfdf 0 0 0 0 inset;\\n border: 1px solid #dfdfdf;\\n height: 20px;\\n width: 32px;\\n border-radius: 10px;\\n box-sizing: border-box;\\n cursor: pointer;\\n transition: 0.2s ease-in-out;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-toggle input + label:before {\\n content: \\\"\\\";\\n position: absolute;\\n display: block;\\n height: 18px;\\n width: 18px;\\n top: 0;\\n left: 0;\\n border-radius: 15px;\\n transition: 0.2s ease-in-out;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-toggle input + label:after {\\n content: \\\"\\\";\\n position: absolute;\\n display: block;\\n left: 0;\\n top: 0;\\n border-radius: 15px;\\n background: #fff;\\n transition: 0.2s ease-in-out;\\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);\\n height: 18px;\\n width: 18px;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-toggle input:checked + label {\\n border-color: rgba(255, 255, 255, 0.5);\\n}\\n.dplayer-controller .dplayer-icons .dplayer-toggle input:checked + label:before {\\n width: 30px;\\n background: rgba(255, 255, 255, 0.5);\\n}\\n.dplayer-controller .dplayer-icons .dplayer-toggle input:checked + label:after {\\n left: 12px;\\n}\\n.dplayer-mobile-play {\\n display: none;\\n width: 50px;\\n height: 50px;\\n border: none;\\n background-color: transparent;\\n outline: none;\\n cursor: pointer;\\n box-sizing: border-box;\\n bottom: 0;\\n opacity: 0.8;\\n position: absolute;\\n left: 50%;\\n top: 50%;\\n transform: translate(-50%, -50%);\\n}\\n.dplayer-danmaku {\\n position: absolute;\\n left: 0;\\n right: 0;\\n top: 0;\\n bottom: 0;\\n font-size: 22px;\\n color: #fff;\\n}\\n.dplayer-danmaku .dplayer-danmaku-item {\\n display: inline-block;\\n pointer-events: none;\\n user-select: none;\\n cursor: default;\\n white-space: nowrap;\\n text-shadow: 0.5px 0.5px 0.5px rgba(0, 0, 0, 0.5);\\n}\\n.dplayer-danmaku .dplayer-danmaku-item--demo {\\n position: absolute;\\n visibility: hidden;\\n}\\n.dplayer-danmaku .dplayer-danmaku-right {\\n position: absolute;\\n right: 0;\\n transform: translateX(100%);\\n}\\n.dplayer-danmaku .dplayer-danmaku-right.dplayer-danmaku-move {\\n will-change: transform;\\n animation-name: 'danmaku';\\n animation-timing-function: linear;\\n animation-play-state: paused;\\n}\\n@keyframes danmaku {\\n from {\\n transform: translateX(100%);\\n }\\n}\\n.dplayer-danmaku .dplayer-danmaku-top,\\n.dplayer-danmaku .dplayer-danmaku-bottom {\\n position: absolute;\\n width: 100%;\\n text-align: center;\\n visibility: hidden;\\n}\\n.dplayer-danmaku .dplayer-danmaku-top.dplayer-danmaku-move,\\n.dplayer-danmaku .dplayer-danmaku-bottom.dplayer-danmaku-move {\\n will-change: visibility;\\n animation-name: 'danmaku-center';\\n animation-timing-function: linear;\\n animation-play-state: paused;\\n}\\n@keyframes danmaku-center {\\n from {\\n visibility: visible;\\n }\\n to {\\n visibility: visible;\\n }\\n}\\n.dplayer-logo {\\n pointer-events: none;\\n position: absolute;\\n left: 20px;\\n top: 20px;\\n max-width: 50px;\\n max-height: 50px;\\n}\\n.dplayer-logo img {\\n max-width: 100%;\\n max-height: 100%;\\n background: none;\\n}\\n.dplayer-menu {\\n position: absolute;\\n width: 170px;\\n border-radius: 2px;\\n background: rgba(28, 28, 28, 0.85);\\n padding: 5px 0;\\n overflow: hidden;\\n z-index: 3;\\n display: none;\\n}\\n.dplayer-menu.dplayer-menu-show {\\n display: block;\\n}\\n.dplayer-menu .dplayer-menu-item {\\n height: 30px;\\n box-sizing: border-box;\\n cursor: pointer;\\n}\\n.dplayer-menu .dplayer-menu-item:hover {\\n background-color: rgba(255, 255, 255, 0.1);\\n}\\n.dplayer-menu .dplayer-menu-item a {\\n padding: 0 10px;\\n line-height: 30px;\\n color: #eee;\\n font-size: 13px;\\n display: inline-block;\\n vertical-align: middle;\\n width: 100%;\\n box-sizing: border-box;\\n white-space: nowrap;\\n text-overflow: ellipsis;\\n overflow: hidden;\\n}\\n.dplayer-menu .dplayer-menu-item a:hover {\\n text-decoration: none;\\n}\\n.dplayer-notice-list {\\n position: absolute;\\n bottom: 60px;\\n left: 20px;\\n}\\n.dplayer-notice-list .dplayer-notice {\\n border-radius: 2px;\\n background: rgba(28, 28, 28, 0.9);\\n transition: all 0.3s ease-in-out;\\n overflow: hidden;\\n color: #fff;\\n display: table;\\n pointer-events: none;\\n animation: showNotice 0.3s ease 1 forwards;\\n}\\n.dplayer-notice-list .remove-notice {\\n animation: removeNotice 0.3s ease 1 forwards;\\n}\\n@keyframes showNotice {\\n from {\\n padding: 0;\\n font-size: 0;\\n margin-top: 0;\\n }\\n to {\\n padding: 7px 20px;\\n font-size: 14px;\\n margin-top: 5px;\\n }\\n}\\n@keyframes removeNotice {\\n 0% {\\n padding: 7px 20px;\\n font-size: 14px;\\n margin-top: 5px;\\n }\\n 20% {\\n font-size: 12px;\\n }\\n 21% {\\n font-size: 0;\\n padding: 7px 10px;\\n }\\n 100% {\\n padding: 0;\\n margin-top: 0;\\n font-size: 0;\\n }\\n}\\n.dplayer-subtitle {\\n position: absolute;\\n bottom: 40px;\\n width: 90%;\\n left: 5%;\\n text-align: center;\\n color: #fff;\\n text-shadow: 0.5px 0.5px 0.5px rgba(0, 0, 0, 0.5);\\n font-size: 20px;\\n}\\n.dplayer-subtitle.dplayer-subtitle-hide {\\n display: none;\\n}\\n.dplayer-mask {\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n z-index: 1;\\n display: none;\\n}\\n.dplayer-mask.dplayer-mask-show {\\n display: block;\\n}\\n.dplayer-video-wrap {\\n position: relative;\\n background: #000;\\n font-size: 0;\\n width: 100%;\\n height: 100%;\\n}\\n.dplayer-video-wrap .dplayer-video {\\n width: 100%;\\n height: 100%;\\n display: none;\\n}\\n.dplayer-video-wrap .dplayer-video-current {\\n display: block;\\n}\\n.dplayer-video-wrap .dplayer-video-prepare {\\n display: none;\\n}\\n.dplayer-info-panel {\\n position: absolute;\\n top: 10px;\\n left: 10px;\\n width: 400px;\\n background: rgba(28, 28, 28, 0.8);\\n padding: 10px;\\n color: #fff;\\n font-size: 12px;\\n border-radius: 2px;\\n}\\n.dplayer-info-panel-hide {\\n display: none;\\n}\\n.dplayer-info-panel .dplayer-info-panel-close {\\n cursor: pointer;\\n position: absolute;\\n right: 10px;\\n top: 10px;\\n}\\n.dplayer-info-panel .dplayer-info-panel-item > span {\\n display: inline-block;\\n vertical-align: middle;\\n line-height: 15px;\\n white-space: nowrap;\\n text-overflow: ellipsis;\\n overflow: hidden;\\n}\\n.dplayer-info-panel .dplayer-info-panel-item-title {\\n width: 100px;\\n text-align: right;\\n margin-right: 10px;\\n}\\n.dplayer-info-panel .dplayer-info-panel-item-data {\\n width: 260px;\\n}\\n\",\".dplayer {\\n position: relative;\\n overflow: hidden;\\n user-select: none;\\n line-height: 1;\\n\\n * {\\n box-sizing: content-box;\\n }\\n\\n svg {\\n width: 100%;\\n height: 100%;\\n\\n path,\\n circle {\\n fill: #fff;\\n }\\n }\\n\\n &:-webkit-full-screen {\\n width: 100%;\\n height: 100%;\\n background: #000;\\n position: fixed;\\n z-index: 100000;\\n left: 0;\\n top: 0;\\n margin: 0;\\n padding: 0;\\n transform: translate(0, 0);\\n \\n }\\n\\n &.dplayer-no-danmaku {\\n .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box {\\n .dplayer-setting-showdan,\\n .dplayer-setting-danmaku,\\n .dplayer-setting-danunlimit {\\n display: none;\\n }\\n }\\n\\n .dplayer-controller .dplayer-icons .dplayer-comment {\\n display: none;\\n }\\n\\n .dplayer-danmaku {\\n display: none;\\n }\\n }\\n\\n &.dplayer-live {\\n .dplayer-time {\\n display: none;\\n }\\n .dplayer-bar-wrap {\\n display: none;\\n }\\n .dplayer-setting-speed {\\n display: none;\\n }\\n .dplayer-setting-loop {\\n display: none;\\n }\\n\\n &.dplayer-no-danmaku {\\n .dplayer-setting {\\n display: none;\\n }\\n }\\n }\\n\\n &.dplayer-arrow {\\n .dplayer-danmaku {\\n font-size: 18px;\\n }\\n .dplayer-icon {\\n margin: 0 -3px;\\n }\\n }\\n\\n &.dplayer-playing {\\n .dplayer-danmaku .dplayer-danmaku-move {\\n animation-play-state: running;\\n }\\n\\n @media (min-width: 900px) {\\n .dplayer-controller-mask {\\n opacity: 0;\\n }\\n .dplayer-controller {\\n opacity: 0;\\n }\\n\\n &:hover {\\n .dplayer-controller-mask {\\n opacity: 1;\\n }\\n .dplayer-controller {\\n opacity: 1;\\n }\\n }\\n }\\n }\\n\\n &.dplayer-loading {\\n .dplayer-bezel .diplayer-loading-icon {\\n display: block;\\n }\\n }\\n\\n &.dplayer-loading,\\n &.dplayer-paused {\\n .dplayer-danmaku,\\n .dplayer-danmaku-move {\\n animation-play-state: paused;\\n }\\n }\\n\\n &.dplayer-hide-controller {\\n cursor: none;\\n\\n .dplayer-controller-mask {\\n opacity: 0;\\n transform: translateY(100%);\\n }\\n .dplayer-controller {\\n opacity: 0;\\n transform: translateY(100%);\\n }\\n }\\n &.dplayer-show-controller {\\n .dplayer-controller-mask {\\n opacity: 1;\\n }\\n .dplayer-controller {\\n opacity: 1;\\n }\\n }\\n &.dplayer-fulled {\\n position: fixed;\\n z-index: 100000;\\n left: 0;\\n top: 0;\\n width: 100% !important;\\n height: 100% !important;\\n }\\n &.dplayer-mobile {\\n .dplayer-controller .dplayer-icons {\\n .dplayer-volume,\\n .dplayer-camera-icon,\\n .dplayer-airplay-icon,\\n .dplayer-chromecast-icon,\\n .dplayer-play-icon {\\n display: none;\\n }\\n .dplayer-full .dplayer-full-in-icon {\\n position: static;\\n display: inline-block;\\n }\\n }\\n\\n .dplayer-bar-time {\\n display: none;\\n }\\n\\n &.dplayer-hide-controller {\\n .dplayer-mobile-play {\\n display: none;\\n }\\n }\\n\\n .dplayer-mobile-play {\\n display: block;\\n }\\n }\\n}\\n\\n// To hide scroll bar, apply this class to \\n.dplayer-web-fullscreen-fix {\\n position: fixed;\\n top: 0;\\n left: 0;\\n margin: 0;\\n padding: 0;\\n}\\n\",\"@import '../../node_modules/balloon-css/balloon.css';\\n\\n[data-balloon]:before {\\n display: none;\\n}\\n\\n[data-balloon]:after {\\n padding: 0.3em 0.7em;\\n background: rgba(17, 17, 17, 0.7);\\n}\\n\\n[data-balloon][data-balloon-pos=\\\"up\\\"]:after {\\n margin-bottom: 0;\\n}\",\".dplayer-bezel {\\n position: absolute;\\n left: 0;\\n right: 0;\\n top: 0;\\n bottom: 0;\\n font-size: 22px;\\n color: #fff;\\n pointer-events: none;\\n .dplayer-bezel-icon {\\n position: absolute;\\n top: 50%;\\n left: 50%;\\n margin: -26px 0 0 -26px;\\n height: 52px;\\n width: 52px;\\n padding: 12px;\\n box-sizing: border-box;\\n background: rgba(0, 0, 0, .5);\\n border-radius: 50%;\\n opacity: 0;\\n pointer-events: none;\\n &.dplayer-bezel-transition {\\n animation: bezel-hide .5s linear;\\n }\\n @keyframes bezel-hide {\\n from {\\n opacity: 1;\\n transform: scale(1);\\n }\\n to {\\n opacity: 0;\\n transform: scale(2);\\n }\\n }\\n }\\n .dplayer-danloading {\\n position: absolute;\\n top: 50%;\\n margin-top: -7px;\\n width: 100%;\\n text-align: center;\\n font-size: 14px;\\n line-height: 14px;\\n animation: my-face 5s infinite ease-in-out;\\n }\\n .diplayer-loading-icon {\\n display: none;\\n position: absolute;\\n top: 50%;\\n left: 50%;\\n margin: -18px 0 0 -18px;\\n height: 36px;\\n width: 36px;\\n pointer-events: none;\\n .diplayer-loading-hide {\\n display: none;\\n }\\n .diplayer-loading-dot {\\n animation: diplayer-loading-dot-fade .8s ease infinite;\\n opacity: 0;\\n transform-origin: 4px 4px;\\n each(range(7), {\\n &.diplayer-loading-dot-@{value} {\\n animation-delay: (@value * 0.1s);\\n }\\n });\\n }\\n @keyframes diplayer-loading-dot-fade {\\n 0% {\\n opacity: .7;\\n transform: scale(1.2, 1.2)\\n }\\n 50% {\\n opacity: .25;\\n transform: scale(.9, .9)\\n }\\n to {\\n opacity: .25;\\n transform: scale(.85, .85)\\n }\\n }\\n }\\n}\",\".dplayer-controller-mask {\\n background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==) repeat-x bottom;\\n height: 98px;\\n width: 100%;\\n position: absolute;\\n bottom: 0;\\n transition: all 0.3s ease;\\n}\\n\\n.dplayer-controller {\\n position: absolute;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n height: 41px;\\n padding: 0 20px;\\n user-select: none;\\n transition: all 0.3s ease;\\n &.dplayer-controller-comment {\\n .dplayer-icons {\\n display: none;\\n }\\n .dplayer-icons.dplayer-comment-box {\\n display: block;\\n }\\n }\\n .dplayer-bar-wrap {\\n padding: 5px 0;\\n cursor: pointer;\\n position: absolute;\\n bottom: 33px;\\n width: calc(100% - 40px);\\n height: 3px;\\n &:hover {\\n .dplayer-bar .dplayer-played .dplayer-thumb {\\n transform: scale(1);\\n }\\n .dplayer-highlight {\\n display: block;\\n width: 8px;\\n transform: translateX(-4px);\\n top: 4px;\\n height: 40%;\\n }\\n }\\n .dplayer-highlight {\\n z-index: 12;\\n position: absolute;\\n top: 5px;\\n width: 6px;\\n height: 20%;\\n border-radius: 6px;\\n background-color: #fff;\\n text-align: center;\\n transform: translateX(-3px);\\n transition: all .2s ease-in-out;\\n &:hover {\\n .dplayer-highlight-text {\\n display: block;\\n }\\n &~.dplayer-bar-preview {\\n opacity: 0;\\n }\\n &~.dplayer-bar-time {\\n opacity: 0;\\n }\\n }\\n .dplayer-highlight-text {\\n display: none;\\n position: absolute;\\n left: 50%;\\n top: -24px;\\n padding: 5px 8px;\\n background-color: rgba(0, 0, 0, .62);\\n color: #fff;\\n border-radius: 4px;\\n font-size: 12px;\\n white-space: nowrap;\\n transform: translateX(-50%);\\n }\\n }\\n .dplayer-bar-preview {\\n position: absolute;\\n background: #fff;\\n pointer-events: none;\\n display: none;\\n background-size: 16000px 100%;\\n }\\n .dplayer-bar-preview-canvas {\\n position: absolute;\\n width: 100%;\\n height: 100%;\\n z-index: 1;\\n pointer-events: none;\\n }\\n .dplayer-bar-time {\\n &.hidden {\\n opacity: 0;\\n }\\n position: absolute;\\n left: 0px;\\n top: -20px;\\n border-radius: 4px;\\n padding: 5px 7px;\\n background-color: rgba(0, 0, 0, 0.62);\\n color: #fff;\\n font-size: 12px;\\n text-align: center;\\n opacity: 1;\\n transition: opacity .1s ease-in-out;\\n word-wrap: normal;\\n word-break: normal;\\n z-index: 2;\\n pointer-events: none;\\n }\\n .dplayer-bar {\\n position: relative;\\n height: 3px;\\n width: 100%;\\n background: rgba(255, 255, 255, .2);\\n cursor: pointer;\\n .dplayer-loaded {\\n position: absolute;\\n left: 0;\\n top: 0;\\n bottom: 0;\\n background: rgba(255, 255, 255, .4);\\n height: 3px;\\n transition: all 0.5s ease;\\n will-change: width;\\n }\\n .dplayer-played {\\n position: absolute;\\n left: 0;\\n top: 0;\\n bottom: 0;\\n height: 3px;\\n will-change: width;\\n .dplayer-thumb {\\n position: absolute;\\n top: 0;\\n right: 5px;\\n margin-top: -4px;\\n margin-right: -10px;\\n height: 11px;\\n width: 11px;\\n border-radius: 50%;\\n cursor: pointer;\\n transition: all .3s ease-in-out;\\n transform: scale(0);\\n }\\n }\\n }\\n }\\n .dplayer-icons {\\n height: 38px;\\n position: absolute;\\n bottom: 0;\\n &.dplayer-comment-box {\\n display: none;\\n position: absolute;\\n transition: all .3s ease-in-out;\\n z-index: 2;\\n height: 38px;\\n bottom: 0;\\n left: 20px;\\n right: 20px;\\n color: #fff;\\n .dplayer-icon {\\n padding: 7px;\\n }\\n .dplayer-comment-setting-icon {\\n position: absolute;\\n left: 0;\\n top: 0;\\n }\\n .dplayer-send-icon {\\n position: absolute;\\n right: 0;\\n top: 0;\\n }\\n .dplayer-comment-setting-box {\\n position: absolute;\\n background: rgba(28, 28, 28, 0.9);\\n bottom: 41px;\\n left: 0;\\n box-shadow: 0 0 25px rgba(0, 0, 0, .3);\\n border-radius: 4px;\\n padding: 10px 10px 16px;\\n font-size: 14px;\\n width: 204px;\\n transition: all .3s ease-in-out;\\n transform: scale(0);\\n &.dplayer-comment-setting-open {\\n transform: scale(1);\\n }\\n input[type=radio] {\\n display: none;\\n }\\n label {\\n cursor: pointer;\\n }\\n .dplayer-comment-setting-title {\\n font-size: 13px;\\n color: #fff;\\n line-height: 30px;\\n }\\n .dplayer-comment-setting-type {\\n font-size: 0;\\n .dplayer-comment-setting-title {\\n margin-bottom: 6px;\\n }\\n label {\\n &:nth-child(2) {\\n span {\\n border-radius: 4px 0 0 4px;\\n }\\n }\\n &:nth-child(4) {\\n span {\\n border-radius: 0 4px 4px 0;\\n }\\n }\\n }\\n span {\\n width: 33%;\\n padding: 4px 6px;\\n line-height: 16px;\\n display: inline-block;\\n font-size: 12px;\\n color: #fff;\\n border: 1px solid #fff;\\n margin-right: -1px;\\n box-sizing: border-box;\\n text-align: center;\\n cursor: pointer;\\n }\\n input:checked+span {\\n background: #E4E4E6;\\n color: #1c1c1c;\\n }\\n }\\n .dplayer-comment-setting-color {\\n font-size: 0;\\n label {\\n font-size: 0;\\n padding: 6px;\\n display: inline-block;\\n }\\n span {\\n width: 22px;\\n height: 22px;\\n display: inline-block;\\n border-radius: 50%;\\n box-sizing: border-box;\\n cursor: pointer;\\n &:hover {\\n animation: my-face 5s infinite ease-in-out;\\n }\\n }\\n }\\n }\\n .dplayer-comment-input {\\n outline: none;\\n border: none;\\n padding: 8px 31px;\\n font-size: 14px;\\n line-height: 18px;\\n text-align: center;\\n border-radius: 4px;\\n background: none;\\n margin: 0;\\n height: 100%;\\n box-sizing: border-box;\\n width: 100%;\\n color: #fff;\\n &::placeholder {\\n color: #fff;\\n opacity: 0.8;\\n }\\n &::-ms-clear {\\n display: none;\\n }\\n }\\n }\\n &.dplayer-icons-left {\\n .dplayer-icon {\\n padding: 7px;\\n }\\n }\\n &.dplayer-icons-right {\\n right: 20px;\\n .dplayer-icon {\\n padding: 8px;\\n }\\n }\\n .dplayer-time,\\n .dplayer-live-badge {\\n line-height: 38px;\\n color: #eee;\\n text-shadow: 0 0 2px rgba(0, 0, 0, .5);\\n vertical-align: middle;\\n font-size: 13px;\\n cursor: default;\\n }\\n .dplayer-live-dot {\\n display: inline-block;\\n width: 6px;\\n height: 6px;\\n vertical-align: 4%;\\n margin-right: 5px;\\n content: '';\\n border-radius: 6px;\\n }\\n .dplayer-icon {\\n width: 40px;\\n height: 100%;\\n border: none;\\n background-color: transparent;\\n outline: none;\\n cursor: pointer;\\n vertical-align: middle;\\n box-sizing: border-box;\\n display: inline-block;\\n .dplayer-icon-content {\\n transition: all .2s ease-in-out;\\n opacity: .8;\\n }\\n &:hover {\\n .dplayer-icon-content {\\n opacity: 1;\\n }\\n }\\n &.dplayer-quality-icon {\\n color: #fff;\\n width: auto;\\n line-height: 22px;\\n font-size: 14px;\\n }\\n &.dplayer-comment-icon {\\n padding: 10px 9px 9px;\\n }\\n &.dplayer-setting-icon {\\n padding-top: 8.5px;\\n }\\n &.dplayer-volume-icon {\\n width: 43px;\\n }\\n }\\n .dplayer-volume {\\n position: relative;\\n display: inline-block;\\n cursor: pointer;\\n height: 100%;\\n &:hover {\\n .dplayer-volume-bar-wrap .dplayer-volume-bar {\\n width: 45px;\\n }\\n .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner .dplayer-thumb {\\n transform: scale(1);\\n }\\n }\\n &.dplayer-volume-active {\\n .dplayer-volume-bar-wrap .dplayer-volume-bar {\\n width: 45px;\\n }\\n .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner .dplayer-thumb {\\n transform: scale(1);\\n }\\n }\\n .dplayer-volume-bar-wrap {\\n display: inline-block;\\n margin: 0 10px 0 -5px;\\n vertical-align: middle;\\n height: 100%;\\n .dplayer-volume-bar {\\n position: relative;\\n top: 17px;\\n width: 0;\\n height: 3px;\\n background: #aaa;\\n transition: all 0.3s ease-in-out;\\n .dplayer-volume-bar-inner {\\n position: absolute;\\n bottom: 0;\\n left: 0;\\n height: 100%;\\n transition: all 0.1s ease;\\n will-change: width;\\n .dplayer-thumb {\\n position: absolute;\\n top: 0;\\n right: 5px;\\n margin-top: -4px;\\n margin-right: -10px;\\n height: 11px;\\n width: 11px;\\n border-radius: 50%;\\n cursor: pointer;\\n transition: all .3s ease-in-out;\\n transform: scale(0);\\n }\\n }\\n }\\n }\\n }\\n .dplayer-subtitle-btn {\\n display: inline-block;\\n height: 100%;\\n }\\n .dplayer-subtitles {\\n display: inline-block;\\n height: 100%;\\n .dplayer-subtitles-box {\\n position: absolute;\\n right: 0;\\n bottom: 50px;\\n transform: scale(0);\\n width: fit-content;\\n max-width: 240px;\\n min-width: 120px;\\n border-radius: 2px;\\n background: rgba(28, 28, 28, 0.9);\\n padding: 7px 0;\\n transition: all .3s ease-in-out;\\n overflow: auto;\\n z-index: 2;\\n &.dplayer-subtitles-panel {\\n display: block;\\n }\\n &.dplayer-subtitles-box-open {\\n transform: scale(1);\\n }\\n }\\n .dplayer-subtitles-item {\\n height: 30px;\\n padding: 5px 10px;\\n box-sizing: border-box;\\n cursor: pointer;\\n position: relative;\\n &:hover {\\n background-color: rgba(255, 255, 255, .1);\\n }\\n }\\n }\\n .dplayer-setting {\\n display: inline-block;\\n height: 100%;\\n .dplayer-setting-box {\\n position: absolute;\\n right: 0;\\n bottom: 50px;\\n transform: scale(0);\\n width: 150px;\\n border-radius: 2px;\\n background: rgba(28, 28, 28, 0.9);\\n padding: 7px 0;\\n transition: all .3s ease-in-out;\\n overflow: hidden;\\n z-index: 2;\\n &>div {\\n display: none;\\n &.dplayer-setting-origin-panel {\\n display: block;\\n }\\n }\\n &.dplayer-setting-box-open {\\n transform: scale(1);\\n }\\n &.dplayer-setting-box-narrow {\\n width: 70px;\\n text-align: center;\\n }\\n &.dplayer-setting-box-speed {\\n .dplayer-setting-origin-panel {\\n display: none;\\n }\\n .dplayer-setting-speed-panel {\\n display: block;\\n }\\n }\\n }\\n .dplayer-setting-item,\\n .dplayer-setting-speed-item {\\n height: 30px;\\n padding: 5px 10px;\\n box-sizing: border-box;\\n cursor: pointer;\\n position: relative;\\n &:hover {\\n background-color: rgba(255, 255, 255, .1);\\n }\\n }\\n .dplayer-setting-danmaku {\\n padding: 5px 0;\\n .dplayer-label {\\n padding: 0 10px;\\n display: inline;\\n }\\n &:hover {\\n .dplayer-label {\\n display: none;\\n }\\n .dplayer-danmaku-bar-wrap {\\n display: inline-block;\\n }\\n }\\n &.dplayer-setting-danmaku-active {\\n .dplayer-label {\\n display: none;\\n }\\n .dplayer-danmaku-bar-wrap {\\n display: inline-block;\\n }\\n }\\n .dplayer-danmaku-bar-wrap {\\n padding: 0 10px;\\n box-sizing: border-box;\\n display: none;\\n vertical-align: middle;\\n height: 100%;\\n width: 100%;\\n .dplayer-danmaku-bar {\\n position: relative;\\n top: 8.5px;\\n width: 100%;\\n height: 3px;\\n background: #fff;\\n transition: all 0.3s ease-in-out;\\n .dplayer-danmaku-bar-inner {\\n position: absolute;\\n bottom: 0;\\n left: 0;\\n height: 100%;\\n transition: all 0.1s ease;\\n background: #aaa;\\n will-change: width;\\n .dplayer-thumb {\\n position: absolute;\\n top: 0;\\n right: 5px;\\n margin-top: -4px;\\n margin-right: -10px;\\n height: 11px;\\n width: 11px;\\n border-radius: 50%;\\n cursor: pointer;\\n transition: all .3s ease-in-out;\\n background: #aaa;\\n }\\n }\\n }\\n }\\n }\\n }\\n .dplayer-full {\\n display: inline-block;\\n height: 100%;\\n position: relative;\\n &:hover {\\n .dplayer-full-in-icon {\\n display: block;\\n }\\n }\\n .dplayer-full-in-icon {\\n position: absolute;\\n top: -30px;\\n z-index: 1;\\n display: none;\\n }\\n }\\n .dplayer-quality {\\n position: relative;\\n display: inline-block;\\n height: 100%;\\n z-index: 2;\\n &:hover {\\n .dplayer-quality-list {\\n display: block;\\n }\\n .dplayer-quality-mask {\\n display: block;\\n }\\n }\\n .dplayer-quality-mask {\\n display: none;\\n position: absolute;\\n bottom: 38px;\\n left: -18px;\\n width: 80px;\\n padding-bottom: 12px;\\n }\\n .dplayer-quality-list {\\n display: none;\\n font-size: 12px;\\n width: 80px;\\n border-radius: 2px;\\n background: rgba(28, 28, 28, 0.9);\\n padding: 5px 0;\\n transition: all .3s ease-in-out;\\n overflow: hidden;\\n color: #fff;\\n text-align: center;\\n }\\n .dplayer-quality-item {\\n height: 25px;\\n box-sizing: border-box;\\n cursor: pointer;\\n line-height: 25px;\\n &:hover {\\n background-color: rgba(255, 255, 255, .1);\\n }\\n }\\n }\\n .dplayer-comment {\\n display: inline-block;\\n height: 100%;\\n }\\n .dplayer-label {\\n color: #eee;\\n font-size: 13px;\\n display: inline-block;\\n vertical-align: middle;\\n white-space: nowrap;\\n }\\n .dplayer-toggle {\\n width: 32px;\\n height: 20px;\\n text-align: center;\\n font-size: 0;\\n vertical-align: middle;\\n position: absolute;\\n top: 5px;\\n right: 10px;\\n input {\\n max-height: 0;\\n max-width: 0;\\n display: none;\\n }\\n input+label {\\n display: inline-block;\\n position: relative;\\n box-shadow: rgb(223, 223, 223) 0 0 0 0 inset;\\n border: 1px solid rgb(223, 223, 223);\\n height: 20px;\\n width: 32px;\\n border-radius: 10px;\\n box-sizing: border-box;\\n cursor: pointer;\\n transition: .2s ease-in-out;\\n }\\n input+label:before {\\n content: \\\"\\\";\\n position: absolute;\\n display: block;\\n height: 18px;\\n width: 18px;\\n top: 0;\\n left: 0;\\n border-radius: 15px;\\n transition: .2s ease-in-out;\\n }\\n input+label:after {\\n content: \\\"\\\";\\n position: absolute;\\n display: block;\\n left: 0;\\n top: 0;\\n border-radius: 15px;\\n background: #fff;\\n transition: .2s ease-in-out;\\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);\\n height: 18px;\\n width: 18px;\\n }\\n input:checked+label {\\n border-color: rgba(255, 255, 255, 0.5);\\n }\\n input:checked+label:before {\\n width: 30px;\\n background: rgba(255, 255, 255, 0.5);\\n }\\n input:checked+label:after {\\n left: 12px;\\n }\\n }\\n }\\n}\\n\\n.dplayer-mobile-play {\\n display: none;\\n width: 50px;\\n height: 50px;\\n border: none;\\n background-color: transparent;\\n outline: none;\\n cursor: pointer;\\n box-sizing: border-box;\\n position: absolute;\\n bottom: 0;\\n opacity: 0.8;\\n position: absolute;\\n left: 50%;\\n top: 50%;\\n transform: translate(-50%, -50%);\\n}\",\".dplayer-danmaku {\\n position: absolute;\\n left: 0;\\n right: 0;\\n top: 0;\\n bottom: 0;\\n font-size: 22px;\\n color: #fff;\\n .dplayer-danmaku-item {\\n display: inline-block;\\n pointer-events: none;\\n user-select: none;\\n cursor: default;\\n white-space: nowrap;\\n text-shadow: .5px .5px .5px rgba(0, 0, 0, .5);\\n &--demo {\\n position: absolute;\\n visibility: hidden;\\n }\\n }\\n .dplayer-danmaku-right {\\n position: absolute;\\n right: 0;\\n transform: translateX(100%);\\n &.dplayer-danmaku-move {\\n will-change: transform;\\n animation-name: 'danmaku';\\n animation-timing-function: linear;\\n animation-play-state: paused;\\n }\\n }\\n @keyframes danmaku {\\n from {\\n transform: translateX(100%);\\n }\\n }\\n .dplayer-danmaku-top,\\n .dplayer-danmaku-bottom {\\n position: absolute;\\n width: 100%;\\n text-align: center;\\n visibility: hidden;\\n &.dplayer-danmaku-move {\\n will-change: visibility;\\n animation-name: 'danmaku-center';\\n animation-timing-function: linear;\\n animation-play-state: paused;\\n }\\n }\\n @keyframes danmaku-center {\\n from {\\n visibility: visible;\\n }\\n to {\\n visibility: visible;\\n }\\n }\\n}\",\".dplayer-logo {\\n pointer-events: none;\\n position: absolute;\\n left: 20px;\\n top: 20px;\\n max-width: 50px;\\n max-height: 50px;\\n img {\\n max-width: 100%;\\n max-height: 100%;\\n background: none;\\n }\\n}\",\".dplayer-menu {\\n position: absolute;\\n width: 170px;\\n border-radius: 2px;\\n background: rgba(28, 28, 28, 0.85);\\n padding: 5px 0;\\n overflow: hidden;\\n z-index: 3;\\n display: none;\\n &.dplayer-menu-show {\\n display: block;\\n }\\n .dplayer-menu-item {\\n height: 30px;\\n box-sizing: border-box;\\n cursor: pointer;\\n &:hover {\\n background-color: rgba(255, 255, 255, .1);\\n }\\n a {\\n display: inline-block;\\n padding: 0 10px;\\n line-height: 30px;\\n color: #eee;\\n font-size: 13px;\\n display: inline-block;\\n vertical-align: middle;\\n width: 100%;\\n box-sizing: border-box;\\n white-space: nowrap;\\n text-overflow: ellipsis;\\n overflow: hidden;\\n &:hover {\\n text-decoration: none;\\n }\\n }\\n }\\n}\",\".dplayer-notice-list{\\n position: absolute;\\n bottom: 60px;\\n left: 20px;\\n\\n .dplayer-notice {\\n border-radius: 2px;\\n background: rgba(28, 28, 28, 0.9);\\n transition: all .3s ease-in-out;\\n overflow: hidden;\\n color: #fff;\\n display: table;\\n pointer-events: none;\\n animation: showNotice .3s ease 1 forwards;\\n }\\n\\n .remove-notice{\\n animation: removeNotice .3s ease 1 forwards;\\n }\\n}\\n\\n@keyframes showNotice {\\n from {\\n padding: 0;\\n font-size: 0;\\n margin-top: 0;\\n }\\n to {\\n padding: 7px 20px;\\n font-size: 14px;\\n margin-top: 5px;\\n }\\n}\\n\\n@keyframes removeNotice {\\n 0%{\\n padding: 7px 20px;\\n font-size: 14px;\\n margin-top: 5px;\\n }\\n 20%{\\n font-size: 12px;\\n }\\n 21%{\\n font-size: 0;\\n padding: 7px 10px;\\n }\\n 100%{\\n padding: 0;\\n margin-top: 0;\\n font-size: 0;\\n }\\n}\\n\",\".dplayer-subtitle {\\n position: absolute;\\n bottom: 40px;\\n width: 90%;\\n left: 5%;\\n text-align: center;\\n color: #fff;\\n text-shadow: 0.5px 0.5px 0.5px rgba(0, 0, 0, 0.5);\\n font-size: 20px;\\n &.dplayer-subtitle-hide {\\n display: none;\\n }\\n}\",\".dplayer-mask {\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n z-index: 1;\\n display: none;\\n &.dplayer-mask-show {\\n display: block;\\n }\\n}\\n\\n.dplayer-video-wrap {\\n position: relative;\\n background: #000;\\n font-size: 0;\\n width: 100%;\\n height: 100%;\\n .dplayer-video {\\n width: 100%;\\n height: 100%;\\n display: none;\\n }\\n .dplayer-video-current {\\n display: block;\\n }\\n .dplayer-video-prepare {\\n display: none;\\n }\\n}\",\".dplayer-info-panel {\\n position: absolute;\\n top: 10px;\\n left: 10px;\\n width: 400px;\\n background: rgba(28, 28, 28, 0.8);\\n padding: 10px;\\n color: #fff;\\n font-size: 12px;\\n border-radius: 2px;\\n\\n &-hide {\\n display: none;\\n }\\n\\n .dplayer-info-panel-close {\\n cursor: pointer;\\n position: absolute;\\n right: 10px;\\n top: 10px;\\n }\\n\\n .dplayer-info-panel-item {\\n & > span {\\n display: inline-block;\\n vertical-align: middle;\\n line-height: 15px;\\n white-space: nowrap;\\n text-overflow: ellipsis;\\n overflow: hidden;\\n }\\n }\\n\\n .dplayer-info-panel-item-title {\\n width: 100px;\\n text-align: right;\\n margin-right: 10px;\\n }\\n \\n .dplayer-info-panel-item-data {\\n width: 260px;\\n }\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\nvar stylesInDOM = [];\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n return result;\n}\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n identifiers.push(identifier);\n }\n return identifiers;\n}\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n return updater;\n}\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n var newLastIdentifiers = modulesToDom(newList, options);\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n var _index = getIndexByIdentifier(_identifier);\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n stylesInDOM.splice(_index, 1);\n }\n }\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\nvar memo = {};\n\n/* istanbul ignore next */\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target);\n\n // Special case to return head of iframe instead of iframe itself\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n memo[target] = styleTarget;\n }\n return memo[target];\n}\n\n/* istanbul ignore next */\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n target.appendChild(style);\n}\nmodule.exports = insertBySelector;","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\nmodule.exports = insertStyleElement;","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\nmodule.exports = setAttributesWithoutAttributes;","\"use strict\";\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n var needLayer = typeof obj.layer !== \"undefined\";\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n css += obj.css;\n if (needLayer) {\n css += \"}\";\n }\n if (obj.media) {\n css += \"}\";\n }\n if (obj.supports) {\n css += \"}\";\n }\n var sourceMap = obj.sourceMap;\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n }\n\n // For old IE\n /* istanbul ignore if */\n options.styleTagTransform(css, styleElement, options.options);\n}\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n styleElement.parentNode.removeChild(styleElement);\n}\n\n/* istanbul ignore next */\nfunction domAPI(options) {\n if (typeof document === \"undefined\") {\n return {\n update: function update() {},\n remove: function remove() {}\n };\n }\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\nmodule.exports = domAPI;","\"use strict\";\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n styleElement.appendChild(document.createTextNode(css));\n }\n}\nmodule.exports = styleTagTransform;","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","'use strict';\nvar globalThis = typeof self !== 'undefined' ? self : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : {};\nvar runtime = Object.create(globalThis);\nvar ESCAPE_REG = /[\"&'<>]/;\nruntime.$escape = function (content) {\n return xmlEscape(toString(content));\n};\nruntime.$each = function (data, callback) {\n if (Array.isArray(data)) {\n for (var i = 0, len = data.length; i < len; i++) {\n callback(data[i], i);\n }\n } else {\n for (var _i in data) {\n callback(data[_i], _i);\n }\n }\n};\nfunction toString(value) {\n if (typeof value !== 'string') {\n if (value === undefined || value === null) {\n value = '';\n } else if (typeof value === 'function') {\n value = toString(value.call(value));\n } else {\n value = JSON.stringify(value);\n }\n }\n return value;\n}\nfunction xmlEscape(content) {\n var html = '' + content;\n var regexResult = ESCAPE_REG.exec(html);\n if (!regexResult) {\n return content;\n }\n var result = '';\n var i = void 0, lastIndex = void 0, _char = void 0;\n for (i = regexResult.index, lastIndex = 0; i < html.length; i++) {\n switch (html.charCodeAt(i)) {\n case 34:\n _char = '"';\n break;\n case 38:\n _char = '&';\n break;\n case 39:\n _char = ''';\n break;\n case 60:\n _char = '<';\n break;\n case 62:\n _char = '>';\n break;\n default:\n continue;\n }\n if (lastIndex !== i) {\n result += html.substring(lastIndex, i);\n }\n lastIndex = i + 1;\n result += _char;\n }\n if (lastIndex !== i) {\n return result + html.substring(lastIndex, i);\n } else {\n return result;\n }\n}\nmodule.exports = runtime;","'use strict';\nmodule.exports = require('./compile/runtime');","'use strict';\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n list.toString = function toString() {\n return this.map(function (item) {\n var content = '';\n var needLayer = typeof item[5] !== 'undefined';\n if (item[4]) {\n content += '@supports ('.concat(item[4], ') {');\n }\n if (item[2]) {\n content += '@media '.concat(item[2], ' {');\n }\n if (needLayer) {\n content += '@layer'.concat(item[5].length > 0 ? ' '.concat(item[5]) : '', ' {');\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += '}';\n }\n if (item[2]) {\n content += '}';\n }\n if (item[4]) {\n content += '}';\n }\n return content;\n }).join('');\n };\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === 'string') {\n modules = [[\n null,\n modules,\n undefined\n ]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== 'undefined') {\n if (typeof item[5] === 'undefined') {\n item[5] = layer;\n } else {\n item[1] = '@layer'.concat(item[5].length > 0 ? ' '.concat(item[5]) : '', ' {').concat(item[1], '}');\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = '@media '.concat(item[2], ' {').concat(item[1], '}');\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = ''.concat(supports);\n } else {\n item[1] = '@supports ('.concat(item[4], ') {').concat(item[1], '}');\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","'use strict';\nmodule.exports = function (url, options) {\n if (!options) {\n options = {};\n }\n if (!url) {\n return url;\n }\n url = String(url.__esModule ? url['default'] : url);\n if (/^['\"].*['\"]$/.test(url)) {\n url = url.slice(1, -1);\n }\n if (options.hash) {\n url += options.hash;\n }\n if (/[\"'() \\t\\n]|(%20)/.test(url) || options.needQuotes) {\n return '\"'.concat(url.replace(/\"/g, '\\\\\"').replace(/\\n/g, '\\\\n'), '\"');\n }\n return url;\n};","'use strict';\nmodule.exports = function (item) {\n var content = item[1];\n var cssMapping = item[3];\n if (!cssMapping) {\n return content;\n }\n if (typeof btoa === 'function') {\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,'.concat(base64);\n var sourceMapping = '/*# '.concat(data, ' */');\n return [content].concat([sourceMapping]).join('\\n');\n }\n return [content].join('\\n');\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\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\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))","__webpack_require__.b = document.baseURI || self.location.href;\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\t957: 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// no on chunks loaded\n\n// no jsonp function","__webpack_require__.nc = undefined;","\n import API from \"!../../node_modules/.pnpm/style-loader@3.3.3_webpack@5.88.2/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../node_modules/.pnpm/style-loader@3.3.3_webpack@5.88.2/node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../node_modules/.pnpm/style-loader@3.3.3_webpack@5.88.2/node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../node_modules/.pnpm/style-loader@3.3.3_webpack@5.88.2/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../node_modules/.pnpm/style-loader@3.3.3_webpack@5.88.2/node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../node_modules/.pnpm/style-loader@3.3.3_webpack@5.88.2/node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../node_modules/.pnpm/css-loader@6.8.1_webpack@5.88.2/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../node_modules/.pnpm/postcss-loader@7.3.3_postcss@8.4.27_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!../../node_modules/.pnpm/less-loader@11.1.3_less@4.2.0_webpack@5.88.2/node_modules/less-loader/dist/cjs.js!./index.less\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/.pnpm/css-loader@6.8.1_webpack@5.88.2/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../node_modules/.pnpm/postcss-loader@7.3.3_postcss@8.4.27_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!../../node_modules/.pnpm/less-loader@11.1.3_less@4.2.0_webpack@5.88.2/node_modules/less-loader/dist/cjs.js!./index.less\";\n export default content && content.locals ? content.locals : undefined;\n","function _typeof(obj) {\n '@babel/helpers - typeof';\n return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n }, _typeof(obj);\n}\nfunction allSettled(arr) {\n var P = this;\n return new P(function (resolve, reject) {\n if (!(arr && typeof arr.length !== 'undefined')) {\n return reject(new TypeError(_typeof(arr) + ' ' + arr + ' is not iterable(cannot read property Symbol(Symbol.iterator))'));\n }\n var args = Array.prototype.slice.call(arr);\n if (args.length === 0)\n return resolve([]);\n var remaining = args.length;\n function res(i, val) {\n if (val && (_typeof(val) === 'object' || typeof val === 'function')) {\n var then = val.then;\n if (typeof then === 'function') {\n then.call(val, function (val) {\n res(i, val);\n }, function (e) {\n args[i] = {\n status: 'rejected',\n reason: e\n };\n if (--remaining === 0) {\n resolve(args);\n }\n });\n return;\n }\n }\n args[i] = {\n status: 'fulfilled',\n value: val\n };\n if (--remaining === 0) {\n resolve(args);\n }\n }\n for (var i = 0; i < args.length; i++) {\n res(i, args[i]);\n }\n });\n}\nexport default allSettled;","function AggregateError(errors, message) {\n this.name = 'AggregateError', this.errors = errors;\n this.message = message || '';\n}\nAggregateError.prototype = Error.prototype;\nfunction any(arr) {\n var P = this;\n return new P(function (resolve, reject) {\n if (!(arr && typeof arr.length !== 'undefined')) {\n return reject(new TypeError('Promise.any accepts an array'));\n }\n var args = Array.prototype.slice.call(arr);\n if (args.length === 0)\n return reject();\n var rejectionReasons = [];\n for (var i = 0; i < args.length; i++) {\n try {\n P.resolve(args[i]).then(resolve)['catch'](function (error) {\n rejectionReasons.push(error);\n if (rejectionReasons.length === args.length) {\n reject(new AggregateError(rejectionReasons, 'All promises were rejected'));\n }\n });\n } catch (ex) {\n reject(ex);\n }\n }\n });\n}\nexport default any;","function _typeof(obj) {\n '@babel/helpers - typeof';\n return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n }, _typeof(obj);\n}\nimport promiseFinally from './finally';\nimport allSettled from './allSettled';\nimport any from './any';\nvar setTimeoutFunc = setTimeout;\nfunction isArray(x) {\n return Boolean(x && typeof x.length !== 'undefined');\n}\nfunction noop() {\n}\nfunction bind(fn, thisArg) {\n return function () {\n fn.apply(thisArg, arguments);\n };\n}\nfunction Promise(fn) {\n if (!(this instanceof Promise))\n throw new TypeError('Promises must be constructed via new');\n if (typeof fn !== 'function')\n throw new TypeError('not a function');\n this._state = 0;\n this._handled = false;\n this._value = undefined;\n this._deferreds = [];\n doResolve(fn, this);\n}\nfunction handle(self, deferred) {\n while (self._state === 3) {\n self = self._value;\n }\n if (self._state === 0) {\n self._deferreds.push(deferred);\n return;\n }\n self._handled = true;\n Promise._immediateFn(function () {\n var cb = self._state === 1 ? deferred.onFulfilled : deferred.onRejected;\n if (cb === null) {\n (self._state === 1 ? resolve : reject)(deferred.promise, self._value);\n return;\n }\n var ret;\n try {\n ret = cb(self._value);\n } catch (e) {\n reject(deferred.promise, e);\n return;\n }\n resolve(deferred.promise, ret);\n });\n}\nfunction resolve(self, newValue) {\n try {\n if (newValue === self)\n throw new TypeError('A promise cannot be resolved with itself.');\n if (newValue && (_typeof(newValue) === 'object' || typeof newValue === 'function')) {\n var then = newValue.then;\n if (newValue instanceof Promise) {\n self._state = 3;\n self._value = newValue;\n finale(self);\n return;\n } else if (typeof then === 'function') {\n doResolve(bind(then, newValue), self);\n return;\n }\n }\n self._state = 1;\n self._value = newValue;\n finale(self);\n } catch (e) {\n reject(self, e);\n }\n}\nfunction reject(self, newValue) {\n self._state = 2;\n self._value = newValue;\n finale(self);\n}\nfunction finale(self) {\n if (self._state === 2 && self._deferreds.length === 0) {\n Promise._immediateFn(function () {\n if (!self._handled) {\n Promise._unhandledRejectionFn(self._value);\n }\n });\n }\n for (var i = 0, len = self._deferreds.length; i < len; i++) {\n handle(self, self._deferreds[i]);\n }\n self._deferreds = null;\n}\nfunction Handler(onFulfilled, onRejected, promise) {\n this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;\n this.onRejected = typeof onRejected === 'function' ? onRejected : null;\n this.promise = promise;\n}\nfunction doResolve(fn, self) {\n var done = false;\n try {\n fn(function (value) {\n if (done)\n return;\n done = true;\n resolve(self, value);\n }, function (reason) {\n if (done)\n return;\n done = true;\n reject(self, reason);\n });\n } catch (ex) {\n if (done)\n return;\n done = true;\n reject(self, ex);\n }\n}\nPromise.prototype['catch'] = function (onRejected) {\n return this.then(null, onRejected);\n};\nPromise.prototype.then = function (onFulfilled, onRejected) {\n var prom = new this.constructor(noop);\n handle(this, new Handler(onFulfilled, onRejected, prom));\n return prom;\n};\nPromise.prototype['finally'] = promiseFinally;\nPromise.all = function (arr) {\n return new Promise(function (resolve, reject) {\n if (!isArray(arr)) {\n return reject(new TypeError('Promise.all accepts an array'));\n }\n var args = Array.prototype.slice.call(arr);\n if (args.length === 0)\n return resolve([]);\n var remaining = args.length;\n function res(i, val) {\n try {\n if (val && (_typeof(val) === 'object' || typeof val === 'function')) {\n var then = val.then;\n if (typeof then === 'function') {\n then.call(val, function (val) {\n res(i, val);\n }, reject);\n return;\n }\n }\n args[i] = val;\n if (--remaining === 0) {\n resolve(args);\n }\n } catch (ex) {\n reject(ex);\n }\n }\n for (var i = 0; i < args.length; i++) {\n res(i, args[i]);\n }\n });\n};\nPromise.any = any;\nPromise.allSettled = allSettled;\nPromise.resolve = function (value) {\n if (value && _typeof(value) === 'object' && value.constructor === Promise) {\n return value;\n }\n return new Promise(function (resolve) {\n resolve(value);\n });\n};\nPromise.reject = function (value) {\n return new Promise(function (resolve, reject) {\n reject(value);\n });\n};\nPromise.race = function (arr) {\n return new Promise(function (resolve, reject) {\n if (!isArray(arr)) {\n return reject(new TypeError('Promise.race accepts an array'));\n }\n for (var i = 0, len = arr.length; i < len; i++) {\n Promise.resolve(arr[i]).then(resolve, reject);\n }\n });\n};\nPromise._immediateFn = typeof setImmediate === 'function' && function (fn) {\n setImmediate(fn);\n} || function (fn) {\n setTimeoutFunc(fn, 0);\n};\nPromise._unhandledRejectionFn = function _unhandledRejectionFn(err) {\n if (typeof console !== 'undefined' && console) {\n console.warn('Possible Unhandled Promise Rejection:', err);\n }\n};\nexport default Promise;","function finallyConstructor(callback) {\n var constructor = this.constructor;\n return this.then(function (value) {\n return constructor.resolve(callback()).then(function () {\n return value;\n });\n }, function (reason) {\n return constructor.resolve(callback()).then(function () {\n return constructor.reject(reason);\n });\n });\n}\nexport default finallyConstructor;","var isMobile = /mobile/i.test(window.navigator.userAgent);\nvar utils = {\n secondToTime: function secondToTime(second) {\n second = second || 0;\n if (second === 0 || second === Infinity || second.toString() === 'NaN') {\n return '00:00';\n }\n var add0 = function add0(num) {\n return num < 10 ? '0' + num : '' + num;\n };\n var hour = Math.floor(second / 3600);\n var min = Math.floor((second - hour * 3600) / 60);\n var sec = Math.floor(second - hour * 3600 - min * 60);\n return (hour > 0 ? [\n hour,\n min,\n sec\n ] : [\n min,\n sec\n ]).map(add0).join(':');\n },\n getElementViewLeft: function getElementViewLeft(element) {\n var actualLeft = element.offsetLeft;\n var current = element.offsetParent;\n var elementScrollLeft = document.body.scrollLeft + document.documentElement.scrollLeft;\n if (!document.fullscreenElement && !document.mozFullScreenElement && !document.webkitFullscreenElement) {\n while (current !== null) {\n actualLeft += current.offsetLeft;\n current = current.offsetParent;\n }\n } else {\n while (current !== null && current !== element) {\n actualLeft += current.offsetLeft;\n current = current.offsetParent;\n }\n }\n return actualLeft - elementScrollLeft;\n },\n getBoundingClientRectViewLeft: function getBoundingClientRectViewLeft(element) {\n var scrollTop = window.scrollY || window.pageYOffset || document.body.scrollTop + (document.documentElement && document.documentElement.scrollTop || 0);\n if (element.getBoundingClientRect) {\n if (typeof this.getBoundingClientRectViewLeft.offset !== 'number') {\n var temp = document.createElement('div');\n temp.style.cssText = 'position:absolute;top:0;left:0;';\n document.body.appendChild(temp);\n this.getBoundingClientRectViewLeft.offset = -temp.getBoundingClientRect().top - scrollTop;\n document.body.removeChild(temp);\n temp = null;\n }\n var rect = element.getBoundingClientRect();\n var offset = this.getBoundingClientRectViewLeft.offset;\n return rect.left + offset;\n } else {\n return this.getElementViewLeft(element);\n }\n },\n getScrollPosition: function getScrollPosition() {\n return {\n left: window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft || 0,\n top: window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0\n };\n },\n setScrollPosition: function setScrollPosition(_ref) {\n var _ref$left = _ref.left, left = _ref$left === void 0 ? 0 : _ref$left, _ref$top = _ref.top, top = _ref$top === void 0 ? 0 : _ref$top;\n if (this.isFirefox) {\n document.documentElement.scrollLeft = left;\n document.documentElement.scrollTop = top;\n } else {\n window.scrollTo(left, top);\n }\n },\n isMobile: isMobile,\n isFirefox: /firefox/i.test(window.navigator.userAgent),\n isChrome: /chrome/i.test(window.navigator.userAgent),\n isSafari: /safari/i.test(window.navigator.userAgent),\n storage: {\n set: function set(key, value) {\n localStorage.setItem(key, value);\n },\n get: function get(key) {\n return localStorage.getItem(key);\n }\n },\n nameMap: {\n dragStart: isMobile ? 'touchstart' : 'mousedown',\n dragMove: isMobile ? 'touchmove' : 'mousemove',\n dragEnd: isMobile ? 'touchend' : 'mouseup'\n },\n color2Number: function color2Number(color) {\n if (color[0] === '#') {\n color = color.substr(1);\n }\n if (color.length === 3) {\n color = ''.concat(color[0]).concat(color[0]).concat(color[1]).concat(color[1]).concat(color[2]).concat(color[2]);\n }\n return parseInt(color, 16) + 0 & 16777215;\n },\n number2Color: function number2Color(number) {\n return '#' + ('00000' + number.toString(16)).slice(-6);\n },\n number2Type: function number2Type(number) {\n switch (number) {\n case 0:\n return 'right';\n case 1:\n return 'top';\n case 2:\n return 'bottom';\n default:\n return 'right';\n }\n }\n};\nexport default utils;","'use strict';\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}","'use strict';\nfunction _typeof(obj) {\n '@babel/helpers - typeof';\n return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n }, _typeof(obj);\n}\nimport bind from './helpers/bind.js';\nvar toString = Object.prototype.toString;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar kindOf = function (cache) {\n return function (thing) {\n var str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n };\n}(Object.create(null));\nvar kindOfTest = function kindOfTest(type) {\n type = type.toLowerCase();\n return function (thing) {\n return kindOf(thing) === type;\n };\n};\nvar typeOfTest = function typeOfTest(type) {\n return function (thing) {\n return _typeof(thing) === type;\n };\n};\nvar isArray = Array.isArray;\nvar isUndefined = typeOfTest('undefined');\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\nvar isArrayBuffer = kindOfTest('ArrayBuffer');\nfunction isArrayBufferView(val) {\n var result;\n if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {\n result = ArrayBuffer.isView(val);\n } else {\n result = val && val.buffer && isArrayBuffer(val.buffer);\n }\n return result;\n}\nvar isString = typeOfTest('string');\nvar isFunction = typeOfTest('function');\nvar isNumber = typeOfTest('number');\nvar isObject = function isObject(thing) {\n return thing !== null && _typeof(thing) === 'object';\n};\nvar isBoolean = function isBoolean(thing) {\n return thing === true || thing === false;\n};\nvar isPlainObject = function isPlainObject(val) {\n if (kindOf(val) !== 'object') {\n return false;\n }\n var prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n};\nvar isDate = kindOfTest('Date');\nvar isFile = kindOfTest('File');\nvar isBlob = kindOfTest('Blob');\nvar isFileList = kindOfTest('FileList');\nvar isStream = function isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n};\nvar isFormData = function isFormData(thing) {\n var kind;\n return thing && (typeof FormData === 'function' && thing instanceof FormData || isFunction(thing.append) && ((kind = kindOf(thing)) === 'formdata' || kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]'));\n};\nvar isURLSearchParams = kindOfTest('URLSearchParams');\nvar trim = function trim(str) {\n return str.trim ? str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n};\nfunction forEach(obj, fn) {\n var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}, _ref$allOwnKeys = _ref.allOwnKeys, allOwnKeys = _ref$allOwnKeys === void 0 ? false : _ref$allOwnKeys;\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n var i;\n var l;\n if (_typeof(obj) !== 'object') {\n obj = [obj];\n }\n if (isArray(obj)) {\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n var keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n var len = keys.length;\n var key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n var keys = Object.keys(obj);\n var i = keys.length;\n var _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\nvar _global = function () {\n if (typeof globalThis !== 'undefined')\n return globalThis;\n return typeof self !== 'undefined' ? self : typeof window !== 'undefined' ? window : global;\n}();\nvar isContextDefined = function isContextDefined(context) {\n return !isUndefined(context) && context !== _global;\n};\nfunction merge() {\n var _ref2 = isContextDefined(this) && this || {}, caseless = _ref2.caseless;\n var result = {};\n var assignValue = function assignValue(val, key) {\n var targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n };\n for (var i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\nvar extend = function extend(a, b, thisArg) {\n var _ref3 = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}, allOwnKeys = _ref3.allOwnKeys;\n forEach(b, function (val, key) {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, { allOwnKeys: allOwnKeys });\n return a;\n};\nvar stripBOM = function stripBOM(content) {\n if (content.charCodeAt(0) === 65279) {\n content = content.slice(1);\n }\n return content;\n};\nvar inherits = function inherits(constructor, superConstructor, props, descriptors) {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', { value: superConstructor.prototype });\n props && Object.assign(constructor.prototype, props);\n};\nvar toFlatObject = function toFlatObject(sourceObj, destObj, filter, propFilter) {\n var props;\n var i;\n var prop;\n var merged = {};\n destObj = destObj || {};\n if (sourceObj == null)\n return destObj;\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n return destObj;\n};\nvar endsWith = function endsWith(str, searchString, position) {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n var lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n};\nvar toArray = function toArray(thing) {\n if (!thing)\n return null;\n if (isArray(thing))\n return thing;\n var i = thing.length;\n if (!isNumber(i))\n return null;\n var arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n};\nvar isTypedArray = function (TypedArray) {\n return function (thing) {\n return TypedArray && thing instanceof TypedArray;\n };\n}(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\nvar forEachEntry = function forEachEntry(obj, fn) {\n var generator = obj && obj[Symbol.iterator];\n var iterator = generator.call(obj);\n var result;\n while ((result = iterator.next()) && !result.done) {\n var pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n};\nvar matchAll = function matchAll(regExp, str) {\n var matches;\n var arr = [];\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n return arr;\n};\nvar isHTMLForm = kindOfTest('HTMLFormElement');\nvar toCamelCase = function toCamelCase(str) {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g, function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n });\n};\nvar hasOwnProperty = function (_ref4) {\n var hasOwnProperty = _ref4.hasOwnProperty;\n return function (obj, prop) {\n return hasOwnProperty.call(obj, prop);\n };\n}(Object.prototype);\nvar isRegExp = kindOfTest('RegExp');\nvar reduceDescriptors = function reduceDescriptors(obj, reducer) {\n var descriptors = Object.getOwnPropertyDescriptors(obj);\n var reducedDescriptors = {};\n forEach(descriptors, function (descriptor, name) {\n if (reducer(descriptor, name, obj) !== false) {\n reducedDescriptors[name] = descriptor;\n }\n });\n Object.defineProperties(obj, reducedDescriptors);\n};\nvar freezeMethods = function freezeMethods(obj) {\n reduceDescriptors(obj, function (descriptor, name) {\n if (isFunction(obj) && [\n 'arguments',\n 'caller',\n 'callee'\n ].indexOf(name) !== -1) {\n return false;\n }\n var value = obj[name];\n if (!isFunction(value))\n return;\n descriptor.enumerable = false;\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n if (!descriptor.set) {\n descriptor.set = function () {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n};\nvar toObjectSet = function toObjectSet(arrayOrString, delimiter) {\n var obj = {};\n var define = function define(arr) {\n arr.forEach(function (value) {\n obj[value] = true;\n });\n };\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n return obj;\n};\nvar noop = function noop() {\n};\nvar toFiniteNumber = function toFiniteNumber(value, defaultValue) {\n value = +value;\n return Number.isFinite(value) ? value : defaultValue;\n};\nvar ALPHA = 'abcdefghijklmnopqrstuvwxyz';\nvar DIGIT = '0123456789';\nvar ALPHABET = {\n DIGIT: DIGIT,\n ALPHA: ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n};\nvar generateString = function generateString() {\n var size = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 16;\n var alphabet = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ALPHABET.ALPHA_DIGIT;\n var str = '';\n var length = alphabet.length;\n while (size--) {\n str += alphabet[Math.random() * length | 0];\n }\n return str;\n};\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\nvar toJSONObject = function toJSONObject(obj) {\n var stack = new Array(10);\n var visit = function visit(source, i) {\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n if (!('toJSON' in source)) {\n stack[i] = source;\n var target = isArray(source) ? [] : {};\n forEach(source, function (value, key) {\n var reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n stack[i] = undefined;\n return target;\n }\n }\n return source;\n };\n return visit(obj, 0);\n};\nvar isAsyncFn = kindOfTest('AsyncFunction');\nvar isThenable = function isThenable(thing) {\n return thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing['catch']);\n};\nexport default {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isBoolean: isBoolean,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isRegExp: isRegExp,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isTypedArray: isTypedArray,\n isFileList: isFileList,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM,\n inherits: inherits,\n toFlatObject: toFlatObject,\n kindOf: kindOf,\n kindOfTest: kindOfTest,\n endsWith: endsWith,\n toArray: toArray,\n forEachEntry: forEachEntry,\n matchAll: matchAll,\n isHTMLForm: isHTMLForm,\n hasOwnProperty: hasOwnProperty,\n hasOwnProp: hasOwnProperty,\n reduceDescriptors: reduceDescriptors,\n freezeMethods: freezeMethods,\n toObjectSet: toObjectSet,\n toCamelCase: toCamelCase,\n noop: noop,\n toFiniteNumber: toFiniteNumber,\n findKey: findKey,\n global: _global,\n isContextDefined: isContextDefined,\n ALPHABET: ALPHABET,\n generateString: generateString,\n isSpecCompliantForm: isSpecCompliantForm,\n toJSONObject: toJSONObject,\n isAsyncFn: isAsyncFn,\n isThenable: isThenable\n};","'use strict';\nimport utils from '../utils.js';\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = new Error().stack;\n }\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n message: this.message,\n name: this.name,\n description: this.description,\n number: this.number,\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\nvar prototype = AxiosError.prototype;\nvar descriptors = {};\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n].forEach(function (code) {\n descriptors[code] = { value: code };\n});\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', { value: true });\nAxiosError.from = function (error, code, config, request, response, customProps) {\n var axiosError = Object.create(prototype);\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, function (prop) {\n return prop !== 'isAxiosError';\n });\n AxiosError.call(axiosError, error.message, code, config, request, response);\n axiosError.cause = error;\n axiosError.name = error.name;\n customProps && Object.assign(axiosError, customProps);\n return axiosError;\n};\nexport default AxiosError;","'use strict';\nfunction _typeof(obj) {\n '@babel/helpers - typeof';\n return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n }, _typeof(obj);\n}\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport PlatformFormData from '../platform/node/classes/FormData.js';\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\nfunction renderKey(path, key, dots) {\n if (!path)\n return key;\n return path.concat(key).map(function each(token, i) {\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\nvar predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n formData = formData || new (PlatformFormData || FormData)();\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n return !utils.isUndefined(source[option]);\n });\n var metaTokens = options.metaTokens;\n var visitor = options.visitor || defaultVisitor;\n var dots = options.dots;\n var indexes = options.indexes;\n var _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n var useBlob = _Blob && utils.isSpecCompliantForm(formData);\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n function convertValue(value) {\n if (value === null)\n return '';\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n return value;\n }\n function defaultVisitor(value, key, path) {\n var arr = value;\n if (value && !path && _typeof(value) === 'object') {\n if (utils.endsWith(key, '{}')) {\n key = metaTokens ? key : key.slice(0, -2);\n value = JSON.stringify(value);\n } else if (utils.isArray(value) && isFlatArray(value) || (utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))) {\n key = removeBrackets(key);\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(indexes === true ? renderKey([key], index, dots) : indexes === null ? key : key + '[]', convertValue(el));\n });\n return false;\n }\n }\n if (isVisitable(value)) {\n return true;\n }\n formData.append(renderKey(path, key, dots), convertValue(value));\n return false;\n }\n var stack = [];\n var exposedHelpers = Object.assign(predicates, {\n defaultVisitor: defaultVisitor,\n convertValue: convertValue,\n isVisitable: isVisitable\n });\n function build(value, path) {\n if (utils.isUndefined(value))\n return;\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n stack.push(value);\n utils.forEach(value, function each(el, key) {\n var result = !(utils.isUndefined(el) || el === null) && visitor.call(formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers);\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n stack.pop();\n }\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n build(obj);\n return formData;\n}\nexport default toFormData;","'use strict';\nimport toFormData from './toFormData.js';\nfunction encode(str) {\n var charMap = {\n '!': '%21',\n '\\'': '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\0'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n params && toFormData(params, this, options);\n}\nvar prototype = AxiosURLSearchParams.prototype;\nprototype.append = function append(name, value) {\n this._pairs.push([\n name,\n value\n ]);\n};\nprototype.toString = function toString(encoder) {\n var _encode = encoder ? function (value) {\n return encoder.call(this, value, encode);\n } : encode;\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\nexport default AxiosURLSearchParams;","'use strict';\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\nfunction encode(val) {\n return encodeURIComponent(val).replace(/%3A/gi, ':').replace(/%24/g, '$').replace(/%2C/gi, ',').replace(/%20/g, '+').replace(/%5B/gi, '[').replace(/%5D/gi, ']');\n}\nexport default function buildURL(url, params, options) {\n if (!params) {\n return url;\n }\n var _encode = options && options.encode || encode;\n var serializeFn = options && options.serialize;\n var serializedParams;\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ? params.toString() : new AxiosURLSearchParams(params, options).toString(_encode);\n }\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n return url;\n}","'use strict';\nfunction _typeof(obj) {\n '@babel/helpers - typeof';\n return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n }, _typeof(obj);\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, 'prototype', { writable: false });\n return Constructor;\n}\nfunction _toPropertyKey(arg) {\n var key = _toPrimitive(arg, 'string');\n return _typeof(key) === 'symbol' ? key : String(key);\n}\nfunction _toPrimitive(input, hint) {\n if (_typeof(input) !== 'object' || input === null)\n return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || 'default');\n if (_typeof(res) !== 'object')\n return res;\n throw new TypeError('@@toPrimitive must return a primitive value.');\n }\n return (hint === 'string' ? String : Number)(input);\n}\nimport utils from './../utils.js';\nvar InterceptorManager = function () {\n function InterceptorManager() {\n _classCallCheck(this, InterceptorManager);\n this.handlers = [];\n }\n _createClass(InterceptorManager, [\n {\n key: 'use',\n value: function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n },\n {\n key: 'eject',\n value: function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n },\n {\n key: 'clear',\n value: function clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n },\n {\n key: 'forEach',\n value: function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n }\n ]);\n return InterceptorManager;\n}();\nexport default InterceptorManager;","'use strict';\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};","import URLSearchParams from './classes/URLSearchParams.js';\nimport FormData from './classes/FormData.js';\nimport Blob from './classes/Blob.js';\nvar isStandardBrowserEnv = function () {\n var product;\n if (typeof navigator !== 'undefined' && ((product = navigator.product) === 'ReactNative' || product === 'NativeScript' || product === 'NS')) {\n return false;\n }\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n}();\nvar isStandardBrowserWebWorkerEnv = function () {\n return typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope && typeof self.importScripts === 'function';\n}();\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams: URLSearchParams,\n FormData: FormData,\n Blob: Blob\n },\n isStandardBrowserEnv: isStandardBrowserEnv,\n isStandardBrowserWebWorkerEnv: isStandardBrowserWebWorkerEnv,\n protocols: [\n 'http',\n 'https',\n 'file',\n 'blob',\n 'url',\n 'data'\n ]\n};","'use strict';\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;","'use strict';\nexport default typeof FormData !== 'undefined' ? FormData : null;","'use strict';\nexport default typeof Blob !== 'undefined' ? Blob : null;","'use strict';\nimport utils from '../utils.js';\nfunction parsePropPath(name) {\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(function (match) {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\nfunction arrayToObject(arr) {\n var obj = {};\n var keys = Object.keys(arr);\n var i;\n var len = keys.length;\n var key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n var name = path[index++];\n var isNumericKey = Number.isFinite(+name);\n var isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [\n target[name],\n value\n ];\n } else {\n target[name] = value;\n }\n return !isNumericKey;\n }\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n var result = buildPath(path, value, target[name], index);\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n return !isNumericKey;\n }\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n var obj = {};\n utils.forEachEntry(formData, function (name, value) {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n return obj;\n }\n return null;\n}\nexport default formDataToJSON;","'use strict';\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\nvar DEFAULT_CONTENT_TYPE = { 'Content-Type': undefined };\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n return (encoder || JSON.stringify)(rawValue);\n}\nvar defaults = {\n transitional: transitionalDefaults,\n adapter: [\n 'xhr',\n 'http'\n ],\n transformRequest: [function transformRequest(data, headers) {\n var contentType = headers.getContentType() || '';\n var hasJSONContentType = contentType.indexOf('application/json') > -1;\n var isObjectPayload = utils.isObject(data);\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n var isFormData = utils.isFormData(data);\n if (isFormData) {\n if (!hasJSONContentType) {\n return data;\n }\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n if (utils.isArrayBuffer(data) || utils.isBuffer(data) || utils.isStream(data) || utils.isFile(data) || utils.isBlob(data)) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n var isFileList;\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n var _FormData = this.env && this.env.FormData;\n return toFormData(isFileList ? { 'files[]': data } : data, _FormData && new _FormData(), this.formSerializer);\n }\n }\n if (isObjectPayload || hasJSONContentType) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n return data;\n }],\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional || defaults.transitional;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var JSONRequested = this.responseType === 'json';\n if (data && utils.isString(data) && (forcedJSONParsing && !this.responseType || JSONRequested)) {\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var strictJSONParsing = !silentJSONParsing && JSONRequested;\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n return data;\n }],\n timeout: 0,\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n maxContentLength: -1,\n maxBodyLength: -1,\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n headers: { common: { 'Accept': 'application/json, text/plain, */*' } }\n};\nutils.forEach([\n 'delete',\n 'get',\n 'head'\n], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\nutils.forEach([\n 'post',\n 'put',\n 'patch'\n], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\nexport default defaults;","'use strict';\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function visitor(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}","'use strict';\nimport utils from './../utils.js';\nvar ignoreDuplicateOf = utils.toObjectSet([\n 'age',\n 'authorization',\n 'content-length',\n 'content-type',\n 'etag',\n 'expires',\n 'from',\n 'host',\n 'if-modified-since',\n 'if-unmodified-since',\n 'last-modified',\n 'location',\n 'max-forwards',\n 'proxy-authorization',\n 'referer',\n 'retry-after',\n 'user-agent'\n]);\nexport default function (rawHeaders) {\n var parsed = {};\n var key;\n var val;\n var i;\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n if (!key || parsed[key] && ignoreDuplicateOf[key]) {\n return;\n }\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n return parsed;\n};","'use strict';\nfunction _typeof(obj) {\n '@babel/helpers - typeof';\n return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n }, _typeof(obj);\n}\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\nfunction _nonIterableRest() {\n throw new TypeError('Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.');\n}\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o)\n return;\n if (typeof o === 'string')\n return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === 'Object' && o.constructor)\n n = o.constructor.name;\n if (n === 'Map' || n === 'Set')\n return Array.from(o);\n if (n === 'Arguments' || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))\n return _arrayLikeToArray(o, minLen);\n}\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length)\n len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++)\n arr2[i] = arr[i];\n return arr2;\n}\nfunction _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : 'undefined' != typeof Symbol && arr[Symbol.iterator] || arr['@@iterator'];\n if (null != _i) {\n var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i)\n return;\n _n = !1;\n } else\n for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i['return'] && (_r = _i['return'](), Object(_r) !== _r))\n return;\n } finally {\n if (_d)\n throw _e;\n }\n }\n return _arr;\n }\n}\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr))\n return arr;\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, 'prototype', { writable: false });\n return Constructor;\n}\nfunction _toPropertyKey(arg) {\n var key = _toPrimitive(arg, 'string');\n return _typeof(key) === 'symbol' ? key : String(key);\n}\nfunction _toPrimitive(input, hint) {\n if (_typeof(input) !== 'object' || input === null)\n return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || 'default');\n if (_typeof(res) !== 'object')\n return res;\n throw new TypeError('@@toPrimitive must return a primitive value.');\n }\n return (hint === 'string' ? String : Number)(input);\n}\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\nvar $internals = Symbol('internals');\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\nfunction parseTokens(str) {\n var tokens = Object.create(null);\n var tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n var match;\n while (match = tokensRE.exec(str)) {\n tokens[match[1]] = match[2];\n }\n return tokens;\n}\nvar isValidHeaderName = function isValidHeaderName(str) {\n return /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n};\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n if (isHeaderNameFilter) {\n value = header;\n }\n if (!utils.isString(value))\n return;\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\nfunction formatHeader(header) {\n return header.trim().toLowerCase().replace(/([a-z\\d])(\\w*)/g, function (w, _char, str) {\n return _char.toUpperCase() + str;\n });\n}\nfunction buildAccessors(obj, header) {\n var accessorName = utils.toCamelCase(' ' + header);\n [\n 'get',\n 'set',\n 'has'\n ].forEach(function (methodName) {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function value(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\nvar AxiosHeaders = function (_Symbol$iterator, _Symbol$toStringTag) {\n function AxiosHeaders(headers) {\n _classCallCheck(this, AxiosHeaders);\n headers && this.set(headers);\n }\n _createClass(AxiosHeaders, [\n {\n key: 'set',\n value: function set(header, valueOrRewrite, rewrite) {\n var self = this;\n function setHeader(_value, _header, _rewrite) {\n var lHeader = normalizeHeader(_header);\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n var key = utils.findKey(self, lHeader);\n if (!key || self[key] === undefined || _rewrite === true || _rewrite === undefined && self[key] !== false) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n var setHeaders = function setHeaders(headers, _rewrite) {\n return utils.forEach(headers, function (_value, _header) {\n return setHeader(_value, _header, _rewrite);\n });\n };\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite);\n } else if (utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n return this;\n }\n },\n {\n key: 'get',\n value: function get(header, parser) {\n header = normalizeHeader(header);\n if (header) {\n var key = utils.findKey(this, header);\n if (key) {\n var value = this[key];\n if (!parser) {\n return value;\n }\n if (parser === true) {\n return parseTokens(value);\n }\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n },\n {\n key: 'has',\n value: function has(header, matcher) {\n header = normalizeHeader(header);\n if (header) {\n var key = utils.findKey(this, header);\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n return false;\n }\n },\n {\n key: 'delete',\n value: function _delete(header, matcher) {\n var self = this;\n var deleted = false;\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n if (_header) {\n var key = utils.findKey(self, _header);\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n deleted = true;\n }\n }\n }\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n return deleted;\n }\n },\n {\n key: 'clear',\n value: function clear(matcher) {\n var keys = Object.keys(this);\n var i = keys.length;\n var deleted = false;\n while (i--) {\n var key = keys[i];\n if (!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n return deleted;\n }\n },\n {\n key: 'normalize',\n value: function normalize(format) {\n var self = this;\n var headers = {};\n utils.forEach(this, function (value, header) {\n var key = utils.findKey(headers, header);\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n var normalized = format ? formatHeader(header) : String(header).trim();\n if (normalized !== header) {\n delete self[header];\n }\n self[normalized] = normalizeValue(value);\n headers[normalized] = true;\n });\n return this;\n }\n },\n {\n key: 'concat',\n value: function concat() {\n var _this$constructor;\n for (var _len = arguments.length, targets = new Array(_len), _key = 0; _key < _len; _key++) {\n targets[_key] = arguments[_key];\n }\n return (_this$constructor = this.constructor).concat.apply(_this$constructor, [this].concat(targets));\n }\n },\n {\n key: 'toJSON',\n value: function toJSON(asStrings) {\n var obj = Object.create(null);\n utils.forEach(this, function (value, header) {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n return obj;\n }\n },\n {\n key: _Symbol$iterator,\n value: function value() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n },\n {\n key: 'toString',\n value: function toString() {\n return Object.entries(this.toJSON()).map(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2), header = _ref2[0], value = _ref2[1];\n return header + ': ' + value;\n }).join('\\n');\n }\n },\n {\n key: _Symbol$toStringTag,\n get: function get() {\n return 'AxiosHeaders';\n }\n }\n ], [\n {\n key: 'from',\n value: function from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n },\n {\n key: 'concat',\n value: function concat(first) {\n var computed = new this(first);\n for (var _len2 = arguments.length, targets = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n targets[_key2 - 1] = arguments[_key2];\n }\n targets.forEach(function (target) {\n return computed.set(target);\n });\n return computed;\n }\n },\n {\n key: 'accessor',\n value: function accessor(header) {\n var internals = this[$internals] = this[$internals] = { accessors: {} };\n var accessors = internals.accessors;\n var prototype = this.prototype;\n function defineAccessor(_header) {\n var lHeader = normalizeHeader(_header);\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n return this;\n }\n }\n ]);\n return AxiosHeaders;\n}(Symbol.iterator, Symbol.toStringTag);\nAxiosHeaders.accessor([\n 'Content-Type',\n 'Content-Length',\n 'Accept',\n 'Accept-Encoding',\n 'User-Agent',\n 'Authorization'\n]);\nutils.freezeMethods(AxiosHeaders.prototype);\nutils.freezeMethods(AxiosHeaders);\nexport default AxiosHeaders;","'use strict';\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nexport default function transformData(fns, response) {\n var config = this || defaults;\n var context = response || config;\n var headers = AxiosHeaders.from(context.headers);\n var data = context.data;\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n headers.normalize();\n return data;\n}","'use strict';\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}","'use strict';\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\nfunction CanceledError(message, config, request) {\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\nutils.inherits(CanceledError, AxiosError, { __CANCEL__: true });\nexport default CanceledError;","'use strict';\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\nexport default platform.isStandardBrowserEnv ? function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n if (secure === true) {\n cookie.push('secure');\n }\n document.cookie = cookie.join('; ');\n },\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return match ? decodeURIComponent(match[3]) : null;\n },\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n}() : function nonStandardBrowserEnv() {\n return {\n write: function write() {\n },\n read: function read() {\n return null;\n },\n remove: function remove() {\n }\n };\n}();","'use strict';\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}","'use strict';\nexport default function isAbsoluteURL(url) {\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}","'use strict';\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '') : baseURL;\n}","'use strict';\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\nexport default platform.isStandardBrowserEnv ? function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n function resolveURL(url) {\n var href = url;\n if (msie) {\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n urlParsingNode.setAttribute('href', href);\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: urlParsingNode.pathname.charAt(0) === '/' ? urlParsingNode.pathname : '/' + urlParsingNode.pathname\n };\n }\n originURL = resolveURL(window.location.href);\n return function isURLSameOrigin(requestURL) {\n var parsed = utils.isString(requestURL) ? resolveURL(requestURL) : requestURL;\n return parsed.protocol === originURL.protocol && parsed.host === originURL.host;\n };\n}() : function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n}();","'use strict';\nimport utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport cookies from './../helpers/cookies.js';\nimport buildURL from './../helpers/buildURL.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport isURLSameOrigin from './../helpers/isURLSameOrigin.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport speedometer from '../helpers/speedometer.js';\nfunction progressEventReducer(listener, isDownloadStream) {\n var bytesNotified = 0;\n var _speedometer = speedometer(50, 250);\n return function (e) {\n var loaded = e.loaded;\n var total = e.lengthComputable ? e.total : undefined;\n var progressBytes = loaded - bytesNotified;\n var rate = _speedometer(progressBytes);\n var inRange = loaded <= total;\n bytesNotified = loaded;\n var data = {\n loaded: loaded,\n total: total,\n progress: total ? loaded / total : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e\n };\n data[isDownloadStream ? 'download' : 'upload'] = true;\n listener(data);\n };\n}\nvar isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = AxiosHeaders.from(config.headers).normalize();\n var responseType = config.responseType;\n var onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n if (utils.isFormData(requestData)) {\n if (platform.isStandardBrowserEnv || platform.isStandardBrowserWebWorkerEnv) {\n requestHeaders.setContentType(false);\n } else {\n requestHeaders.setContentType('multipart/form-data;', false);\n }\n }\n var request = new XMLHttpRequest();\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password));\n }\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n request.timeout = config.timeout;\n function onloadend() {\n if (!request) {\n return;\n }\n var responseHeaders = AxiosHeaders.from('getAllResponseHeaders' in request && request.getAllResponseHeaders());\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ? request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n request = null;\n }\n if ('onloadend' in request) {\n request.onloadend = onloadend;\n } else {\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n setTimeout(onloadend);\n };\n }\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n request = null;\n };\n request.onerror = function handleError() {\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n request = null;\n };\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n var transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(timeoutErrorMessage, transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED, config, request));\n request = null;\n };\n if (platform.isStandardBrowserEnv) {\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName && cookies.read(config.xsrfCookieName);\n if (xsrfValue) {\n requestHeaders.set(config.xsrfHeaderName, xsrfValue);\n }\n }\n requestData === undefined && requestHeaders.setContentType(null);\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(config.onDownloadProgress, true));\n }\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress));\n }\n if (config.cancelToken || config.signal) {\n onCanceled = function onCanceled(cancel) {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n var protocol = parseProtocol(fullPath);\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n request.send(requestData || null);\n });\n};","'use strict';\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n var bytes = new Array(samplesCount);\n var timestamps = new Array(samplesCount);\n var head = 0;\n var tail = 0;\n var firstSampleTS;\n min = min !== undefined ? min : 1000;\n return function push(chunkLength) {\n var now = Date.now();\n var startedAt = timestamps[tail];\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n bytes[head] = chunkLength;\n timestamps[head] = now;\n var i = tail;\n var bytesCount = 0;\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n head = (head + 1) % samplesCount;\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n if (now - firstSampleTS < min) {\n return;\n }\n var passed = startedAt && now - startedAt;\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\nexport default speedometer;","'use strict';\nimport AxiosError from './AxiosError.js';\nexport default function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError('Request failed with status code ' + response.status, [\n AxiosError.ERR_BAD_REQUEST,\n AxiosError.ERR_BAD_RESPONSE\n ][Math.floor(response.status / 100) - 4], response.config, response.request, response));\n }\n}","'use strict';\nexport default function parseProtocol(url) {\n var match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport AxiosError from '../core/AxiosError.js';\nvar knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter\n};\nutils.forEach(knownAdapters, function (fn, value) {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', { value: value });\n } catch (e) {\n }\n Object.defineProperty(fn, 'adapterName', { value: value });\n }\n});\nexport default {\n getAdapter: function getAdapter(adapters) {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n var _adapters = adapters, length = _adapters.length;\n var nameOrAdapter;\n var adapter;\n for (var i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n if (adapter = utils.isString(nameOrAdapter) ? knownAdapters[nameOrAdapter.toLowerCase()] : nameOrAdapter) {\n break;\n }\n }\n if (!adapter) {\n if (adapter === false) {\n throw new AxiosError('Adapter '.concat(nameOrAdapter, ' is not supported by the environment'), 'ERR_NOT_SUPPORT');\n }\n throw new Error(utils.hasOwnProp(knownAdapters, nameOrAdapter) ? 'Adapter \\''.concat(nameOrAdapter, '\\' is not available in the build') : 'Unknown adapter \\''.concat(nameOrAdapter, '\\''));\n }\n if (!utils.isFunction(adapter)) {\n throw new TypeError('adapter is not a function');\n }\n return adapter;\n },\n adapters: knownAdapters\n};","export default null;","'use strict';\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from '../adapters/adapters.js';\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n config.headers = AxiosHeaders.from(config.headers);\n config.data = transformData.call(config, config.transformRequest);\n if ([\n 'post',\n 'put',\n 'patch'\n ].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n var adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n response.data = transformData.call(config, config.transformResponse, response);\n response.headers = AxiosHeaders.from(response.headers);\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n if (reason && reason.response) {\n reason.response.data = transformData.call(config, config.transformResponse, reason.response);\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n return Promise.reject(reason);\n });\n}","'use strict';\nimport utils from '../utils.js';\nimport AxiosHeaders from './AxiosHeaders.js';\nvar headersToObject = function headersToObject(thing) {\n return thing instanceof AxiosHeaders ? thing.toJSON() : thing;\n};\nexport default function mergeConfig(config1, config2) {\n config2 = config2 || {};\n var config = {};\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({ caseless: caseless }, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n var mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: function headers(a, b) {\n return mergeDeepProperties(headersToObject(a), headersToObject(b), true);\n }\n };\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n var merge = mergeMap[prop] || mergeDeepProperties;\n var configValue = merge(config1[prop], config2[prop], prop);\n utils.isUndefined(configValue) && merge !== mergeDirectKeys || (config[prop] = configValue);\n });\n return config;\n}","'use strict';\nfunction _typeof(obj) {\n '@babel/helpers - typeof';\n return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n }, _typeof(obj);\n}\nimport { VERSION } from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\nvar validators = {};\n[\n 'object',\n 'boolean',\n 'number',\n 'function',\n 'string',\n 'symbol'\n].forEach(function (type, i) {\n validators[type] = function validator(thing) {\n return _typeof(thing) === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\nvar deprecatedWarnings = {};\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n return function (value, opt, opts) {\n if (validator === false) {\n throw new AxiosError(formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')), AxiosError.ERR_DEPRECATED);\n }\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n console.warn(formatMessage(opt, ' has been deprecated since v' + version + ' and will be removed in the near future'));\n }\n return validator ? validator(value, opt, opts) : true;\n };\n};\nfunction assertOptions(options, schema, allowUnknown) {\n if (_typeof(options) !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\nexport default {\n assertOptions: assertOptions,\n validators: validators\n};","'use strict';\nfunction _typeof(obj) {\n '@babel/helpers - typeof';\n return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n }, _typeof(obj);\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, 'prototype', { writable: false });\n return Constructor;\n}\nfunction _toPropertyKey(arg) {\n var key = _toPrimitive(arg, 'string');\n return _typeof(key) === 'symbol' ? key : String(key);\n}\nfunction _toPrimitive(input, hint) {\n if (_typeof(input) !== 'object' || input === null)\n return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || 'default');\n if (_typeof(res) !== 'object')\n return res;\n throw new TypeError('@@toPrimitive must return a primitive value.');\n }\n return (hint === 'string' ? String : Number)(input);\n}\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\nvar validators = validator.validators;\nvar Axios = function () {\n function Axios(instanceConfig) {\n _classCallCheck(this, Axios);\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n _createClass(Axios, [\n {\n key: 'request',\n value: function request(configOrUrl, config) {\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n config = mergeConfig(this.defaults, config);\n var _config = config, transitional = _config.transitional, paramsSerializer = _config.paramsSerializer, headers = _config.headers;\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators['boolean']),\n forcedJSONParsing: validators.transitional(validators['boolean']),\n clarifyTimeoutError: validators.transitional(validators['boolean'])\n }, false);\n }\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = { serialize: paramsSerializer };\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators['function'],\n serialize: validators['function']\n }, true);\n }\n }\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n var contextHeaders;\n contextHeaders = headers && utils.merge(headers.common, headers[config.method]);\n contextHeaders && utils.forEach([\n 'delete',\n 'get',\n 'head',\n 'post',\n 'put',\n 'patch',\n 'common'\n ], function (method) {\n delete headers[method];\n });\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n var promise;\n var i = 0;\n var len;\n if (!synchronousRequestInterceptors) {\n var chain = [\n dispatchRequest.bind(this),\n undefined\n ];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n promise = Promise.resolve(config);\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n return promise;\n }\n len = requestInterceptorChain.length;\n var newConfig = config;\n i = 0;\n while (i < len) {\n var onFulfilled = requestInterceptorChain[i++];\n var onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n i = 0;\n len = responseInterceptorChain.length;\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n return promise;\n }\n },\n {\n key: 'getUri',\n value: function getUri(config) {\n config = mergeConfig(this.defaults, config);\n var fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n }\n ]);\n return Axios;\n}();\nutils.forEach([\n 'delete',\n 'get',\n 'head',\n 'options'\n], function forEachMethodNoData(method) {\n Axios.prototype[method] = function (url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\nutils.forEach([\n 'post',\n 'put',\n 'patch'\n], function forEachMethodWithData(method) {\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n headers: isForm ? { 'Content-Type': 'multipart/form-data' } : {},\n url: url,\n data: data\n }));\n };\n }\n Axios.prototype[method] = generateHTTPMethod();\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\nexport default Axios;","'use strict';\nfunction _typeof(obj) {\n '@babel/helpers - typeof';\n return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n }, _typeof(obj);\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, 'prototype', { writable: false });\n return Constructor;\n}\nfunction _toPropertyKey(arg) {\n var key = _toPrimitive(arg, 'string');\n return _typeof(key) === 'symbol' ? key : String(key);\n}\nfunction _toPrimitive(input, hint) {\n if (_typeof(input) !== 'object' || input === null)\n return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || 'default');\n if (_typeof(res) !== 'object')\n return res;\n throw new TypeError('@@toPrimitive must return a primitive value.');\n }\n return (hint === 'string' ? String : Number)(input);\n}\nimport CanceledError from './CanceledError.js';\nvar CancelToken = function () {\n function CancelToken(executor) {\n _classCallCheck(this, CancelToken);\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n var token = this;\n this.promise.then(function (cancel) {\n if (!token._listeners)\n return;\n var i = token._listeners.length;\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n this.promise.then = function (onfulfilled) {\n var _resolve;\n var promise = new Promise(function (resolve) {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n return promise;\n };\n executor(function cancel(message, config, request) {\n if (token.reason) {\n return;\n }\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n _createClass(CancelToken, [\n {\n key: 'throwIfRequested',\n value: function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n },\n {\n key: 'subscribe',\n value: function subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n },\n {\n key: 'unsubscribe',\n value: function unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n var index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n }\n ], [{\n key: 'source',\n value: function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n }\n }]);\n return CancelToken;\n}();\nexport default CancelToken;","function _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\nfunction _nonIterableRest() {\n throw new TypeError('Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.');\n}\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o)\n return;\n if (typeof o === 'string')\n return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === 'Object' && o.constructor)\n n = o.constructor.name;\n if (n === 'Map' || n === 'Set')\n return Array.from(o);\n if (n === 'Arguments' || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))\n return _arrayLikeToArray(o, minLen);\n}\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length)\n len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++)\n arr2[i] = arr[i];\n return arr2;\n}\nfunction _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : 'undefined' != typeof Symbol && arr[Symbol.iterator] || arr['@@iterator'];\n if (null != _i) {\n var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i)\n return;\n _n = !1;\n } else\n for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i['return'] && (_r = _i['return'](), Object(_r) !== _r))\n return;\n } finally {\n if (_d)\n throw _e;\n }\n }\n return _arr;\n }\n}\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr))\n return arr;\n}\nvar HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511\n};\nObject.entries(HttpStatusCode).forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2), key = _ref2[0], value = _ref2[1];\n HttpStatusCode[value] = key;\n});\nexport default HttpStatusCode;","'use strict';\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport { VERSION } from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from './core/AxiosHeaders.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n utils.extend(instance, Axios.prototype, context, { allOwnKeys: true });\n utils.extend(instance, context, null, { allOwnKeys: true });\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n return instance;\n}\nvar axios = createInstance(defaults);\naxios.Axios = Axios;\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\naxios.AxiosError = AxiosError;\naxios.Cancel = axios.CanceledError;\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = spread;\naxios.isAxiosError = isAxiosError;\naxios.mergeConfig = mergeConfig;\naxios.AxiosHeaders = AxiosHeaders;\naxios.formToJSON = function (thing) {\n return formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n};\naxios.HttpStatusCode = HttpStatusCode;\naxios['default'] = axios;\nexport default axios;","export var VERSION = '1.4.0';","'use strict';\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}","'use strict';\nimport utils from './../utils.js';\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && payload.isAxiosError === true;\n}","import axios from 'axios';\nexport default {\n send: function send(options) {\n axios.post(options.url, options.data).then(function (response) {\n var data = response.data;\n if (!data || data.code !== 0) {\n options.error && options.error(data && data.msg);\n return;\n }\n options.success && options.success(data);\n })['catch'](function (e) {\n console.error(e);\n options.error && options.error();\n });\n },\n read: function read(options) {\n axios.get(options.url).then(function (response) {\n var data = response.data;\n if (!data || data.code !== 0) {\n options.error && options.error(data && data.msg);\n return;\n }\n options.success && options.success(data.data.map(function (item) {\n return {\n time: item[0],\n type: item[1],\n color: item[2],\n author: item[3],\n text: item[4]\n };\n }));\n })['catch'](function (e) {\n console.error(e);\n options.error && options.error();\n });\n }\n};","function _typeof(obj) {\n '@babel/helpers - typeof';\n return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n }, _typeof(obj);\n}\nimport defaultApiBackend from './api.js';\nexport default function (options) {\n var defaultOption = {\n container: options.element || document.getElementsByClassName('dplayer')[0],\n live: false,\n autoplay: false,\n theme: '#b7daff',\n loop: false,\n lang: (navigator.language || navigator.browserLanguage).toLowerCase(),\n screenshot: false,\n airplay: true,\n chromecast: false,\n hotkey: true,\n preload: 'metadata',\n volume: 0.7,\n playbackSpeed: [\n 0.5,\n 0.75,\n 1,\n 1.25,\n 1.5,\n 2\n ],\n apiBackend: defaultApiBackend,\n video: {},\n contextmenu: [],\n mutex: true,\n pluginOptions: {\n hls: {},\n flv: {},\n dash: {},\n webtorrent: {}\n },\n preventClickToggle: false\n };\n for (var defaultKey in defaultOption) {\n if (defaultOption.hasOwnProperty(defaultKey) && !options.hasOwnProperty(defaultKey)) {\n options[defaultKey] = defaultOption[defaultKey];\n }\n }\n if (options.video) {\n !options.video.type && (options.video.type = 'auto');\n }\n if (_typeof(options.danmaku) === 'object' && options.danmaku) {\n !options.danmaku.user && (options.danmaku.user = 'DIYgod');\n }\n if (options.subtitle) {\n !options.subtitle.type && (options.subtitle.type = 'webvtt');\n !options.subtitle.fontSize && (options.subtitle.fontSize = '20px');\n !options.subtitle.bottom && (options.subtitle.bottom = '40px');\n !options.subtitle.color && (options.subtitle.color = '#fff');\n }\n if (options.video.quality) {\n options.video.url = options.video.quality[options.video.defaultQuality].url;\n }\n if (options.lang) {\n options.lang = options.lang.toLowerCase();\n }\n options.contextmenu = options.contextmenu.concat([\n {\n key: 'video-info',\n click: function click(player) {\n player.infoPanel.triggle();\n }\n },\n {\n key: 'about-author',\n link: 'https://diygod.cc'\n },\n {\n text: 'DPlayer v'.concat(DPLAYER_VERSION),\n link: 'https://github.com/MoePlayer/DPlayer'\n }\n ]);\n return options;\n};","function i18n(lang) {\n var _this = this;\n this.lang = lang;\n this.fallbackLang = this.lang.includes('-') ? this.lang.split('-')[0] : this.lang;\n this.tran = function (key) {\n key = key.toLowerCase();\n if (tranTxt[_this.lang] && tranTxt[_this.lang][key]) {\n return tranTxt[_this.lang][key];\n } else if (tranTxt[_this.fallbackLang] && tranTxt[_this.fallbackLang][key]) {\n return tranTxt[_this.fallbackLang][key];\n } else if (standard[key]) {\n return standard[key];\n } else {\n return key;\n }\n };\n}\nvar standard = {\n 'danmaku-loading': 'Danmaku is loading',\n top: 'Top',\n bottom: 'Bottom',\n rolling: 'Rolling',\n 'input-danmaku-enter': 'Input danmaku, hit Enter',\n 'about-author': 'About author',\n 'dplayer-feedback': 'DPlayer feedback',\n 'about-dplayer': 'About DPlayer',\n loop: 'Loop',\n speed: 'Speed',\n 'opacity-danmaku': 'Opacity for danmaku',\n normal: 'Normal',\n 'please-input-danmaku': 'Please input danmaku content!',\n 'set-danmaku-color': 'Set danmaku color',\n 'set-danmaku-type': 'Set danmaku type',\n 'show-danmaku': 'Show danmaku',\n 'video-failed': 'Video load failed',\n 'danmaku-failed': 'Danmaku load failed',\n 'danmaku-send-failed': 'Danmaku send failed',\n 'switching-quality': 'Switching to %q quality',\n 'switched-quality': 'Switched to %q quality',\n ff: 'FF %s s',\n rew: 'REW %s s',\n 'unlimited-danmaku': 'Unlimited danmaku',\n 'send-danmaku': 'Send danmaku',\n setting: 'Setting',\n fullscreen: 'Full screen',\n 'web-fullscreen': 'Web full screen',\n send: 'Send',\n screenshot: 'Screenshot',\n airplay: 'AirPlay',\n chromecast: 'ChromeCast',\n subtitle: 'Subtitle',\n off: 'Off',\n 'show-subs': 'Show subtitle',\n 'hide-subs': 'Hide subtitle',\n volume: 'Volume',\n live: 'Live',\n 'video-info': 'Video info'\n};\nvar tranTxt = {\n en: standard,\n 'zh-cn': {\n 'danmaku-loading': '弹幕加载中',\n top: '顶部',\n bottom: '底部',\n rolling: '滚动',\n 'input-danmaku-enter': '输入弹幕\\uFF0C回车发送',\n 'about-author': '关于作者',\n 'dplayer-feedback': '播放器意见反馈',\n 'about-dplayer': '关于 DPlayer 播放器',\n loop: '洗脑循环',\n speed: '速度',\n 'opacity-danmaku': '弹幕透明度',\n normal: '正常',\n 'please-input-danmaku': '要输入弹幕内容啊喂\\uFF01',\n 'set-danmaku-color': '设置弹幕颜色',\n 'set-danmaku-type': '设置弹幕类型',\n 'show-danmaku': '显示弹幕',\n 'video-failed': '视频加载失败',\n 'danmaku-failed': '弹幕加载失败',\n 'danmaku-send-failed': '弹幕发送失败',\n 'switching-quality': '正在切换至 %q 画质',\n 'switched-quality': '已经切换至 %q 画质',\n ff: '快进 %s 秒',\n rew: '快退 %s 秒',\n 'unlimited-danmaku': '海量弹幕',\n 'send-danmaku': '发送弹幕',\n setting: '设置',\n fullscreen: '全屏',\n 'web-fullscreen': '页面全屏',\n send: '发送',\n screenshot: '截图',\n airplay: '无线投屏',\n chromecast: 'ChromeCast',\n subtitle: '字幕',\n off: '关闭',\n 'show-subs': '显示字幕',\n 'hide-subs': '隐藏字幕',\n volume: '音量',\n live: '直播',\n 'video-info': '视频统计信息'\n },\n 'zh-tw': {\n 'danmaku-loading': '彈幕載入中',\n top: '頂部',\n bottom: '底部',\n rolling: '滾動',\n 'input-danmaku-enter': '輸入彈幕\\uFF0CEnter 發送',\n 'about-author': '關於作者',\n 'dplayer-feedback': '播放器意見回饋',\n 'about-dplayer': '關於 DPlayer 播放器',\n loop: '循環播放',\n speed: '速度',\n 'opacity-danmaku': '彈幕透明度',\n normal: '正常',\n 'please-input-danmaku': '請輸入彈幕內容啊\\uFF01',\n 'set-danmaku-color': '設定彈幕顏色',\n 'set-danmaku-type': '設定彈幕類型',\n 'show-danmaku': '顯示彈幕',\n 'video-failed': '影片載入失敗',\n 'danmaku-failed': '彈幕載入失敗',\n 'danmaku-send-failed': '彈幕發送失敗',\n 'switching-quality': '正在切換至 %q 畫質',\n 'switched-quality': '已經切換至 %q 畫質',\n ff: '快進 %s 秒',\n rew: '快退 %s 秒',\n 'unlimited-danmaku': '巨量彈幕',\n 'send-danmaku': '發送彈幕',\n setting: '設定',\n fullscreen: '全螢幕',\n 'web-fullscreen': '頁面全螢幕',\n send: '發送',\n screenshot: '截圖',\n airplay: '無線投屏',\n chromecast: 'ChromeCast',\n subtitle: '字幕',\n off: '關閉',\n 'show-subs': '顯示字幕',\n 'hide-subs': '隱藏字幕',\n volume: '音量',\n live: '直播',\n 'video-info': '影片統計訊息'\n },\n 'ko-kr': {\n 'danmaku-loading': 'Danmaku를 불러오는 중입니다.',\n top: 'Top',\n bottom: 'Bottom',\n rolling: 'Rolling',\n 'input-danmaku-enter': 'Danmaku를 입력하고 Enter를 누르세요.',\n 'about-author': '만든이',\n 'dplayer-feedback': '피드백 보내기',\n 'about-dplayer': 'DPlayer 정보',\n loop: '반복',\n speed: '배속',\n 'opacity-danmaku': 'Danmaku 불투명도',\n normal: '표준',\n 'please-input-danmaku': 'Danmaku를 입력하세요!',\n 'set-danmaku-color': 'Danmaku 색상',\n 'set-danmaku-type': 'Danmaku 설정',\n 'show-danmaku': 'Danmaku 표시',\n 'video-failed': '비디오를 불러오지 못했습니다.',\n 'danmaku-failed': 'Danmaku를 불러오지 못했습니다.',\n 'danmaku-send-failed': 'Danmaku 전송에 실패했습니다.',\n 'Switching to': '',\n 'Switched to': '',\n 'switching-quality': '전환 %q 화질',\n 'switched-quality': '전환 됨 %q 화질',\n ff: '앞으로 %s 초',\n rew: '뒤로 %s 초',\n 'unlimited-danmaku': '끝없는 Danmaku',\n 'send-danmaku': 'Danmaku 보내기',\n setting: '설정',\n fullscreen: '전체 화면',\n 'web-fullscreen': '웹 내 전체화면',\n send: '보내기',\n screenshot: '화면 캡쳐',\n airplay: '에어플레이',\n chromecast: 'ChromeCast',\n subtitle: '부제',\n off: '끄다',\n 'show-subs': '자막 보이기',\n 'hide-subs': '자막 숨기기',\n Volume: '볼륨',\n live: '생방송',\n 'video-info': '비디오 정보'\n },\n de: {\n 'danmaku-loading': 'Danmaku lädt...',\n top: 'Oben',\n bottom: 'Unten',\n rolling: 'Rollend',\n 'input-danmaku-enter': 'Drücke Enter nach dem Einfügen vom Danmaku',\n 'about-author': 'Über den Autor',\n 'dplayer-feedback': 'DPlayer Feedback',\n 'about-dplayer': 'Über DPlayer',\n loop: 'Wiederholen',\n speed: 'Geschwindigkeit',\n 'opacity-danmaku': 'Transparenz für Danmaku',\n normal: 'Normal',\n 'please-input-danmaku': 'Bitte Danmaku Inhalt eingeben!',\n 'set-danmaku-color': 'Danmaku Farbe festlegen',\n 'set-danmaku-type': 'Danmaku Typ festlegen',\n 'show-danmaku': 'Zeige Danmaku',\n 'video-failed': 'Das Video konnte nicht geladen werden',\n 'danmaku-failed': 'Danmaku konnte nicht geladen werden',\n 'danmaku-send-failed': 'Das senden von Danmaku ist fehgeschlagen',\n 'switching-quality': 'Wechsle zur %q Qualität',\n 'switched-quality': 'Zur %q Qualität gewechselt',\n ff: '%s s Vorwärts',\n rew: '%s s Zurück',\n 'unlimited-danmaku': 'Unlimitiertes Danmaku',\n 'send-danmaku': 'Sende Danmaku',\n setting: 'Einstellungen',\n fullscreen: 'Vollbild',\n 'web-fullscreen': 'Browser Vollbild',\n send: 'Senden',\n screenshot: 'Screenshot',\n airplay: 'AirPlay',\n 'show-subs': 'Zeige Untertitel',\n chromecast: 'ChromeCast',\n subtitle: 'Untertitel',\n off: 'Schließung',\n 'hide-subs': 'Verstecke Untertitel',\n volume: 'Lautstärke',\n live: 'Live',\n 'video-info': 'Video Info'\n }\n};\nexport {\n i18n\n};","import play from '../assets/play.svg';\nimport pause from '../assets/pause.svg';\nimport volumeUp from '../assets/volume-up.svg';\nimport volumeDown from '../assets/volume-down.svg';\nimport volumeOff from '../assets/volume-off.svg';\nimport full from '../assets/full.svg';\nimport fullWeb from '../assets/full-web.svg';\nimport setting from '../assets/setting.svg';\nimport right from '../assets/right.svg';\nimport comment from '../assets/comment.svg';\nimport commentOff from '../assets/comment-off.svg';\nimport send from '../assets/send.svg';\nimport pallette from '../assets/pallette.svg';\nimport camera from '../assets/camera.svg';\nimport airplay from '../assets/airplay.svg';\nimport subtitle from '../assets/subtitle.svg';\nimport loading from '../assets/loading.svg';\nimport chromecast from '../assets/chromecast.svg';\nvar Icons = {\n play: play,\n pause: pause,\n volumeUp: volumeUp,\n volumeDown: volumeDown,\n volumeOff: volumeOff,\n full: full,\n fullWeb: fullWeb,\n setting: setting,\n right: right,\n comment: comment,\n commentOff: commentOff,\n send: send,\n pallette: pallette,\n camera: camera,\n subtitle: subtitle,\n loading: loading,\n airplay: airplay,\n chromecast: chromecast\n};\nexport default Icons;","function _typeof(obj) {\n '@babel/helpers - typeof';\n return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n }, _typeof(obj);\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, 'prototype', { writable: false });\n return Constructor;\n}\nfunction _toPropertyKey(arg) {\n var key = _toPrimitive(arg, 'string');\n return _typeof(key) === 'symbol' ? key : String(key);\n}\nfunction _toPrimitive(input, hint) {\n if (_typeof(input) !== 'object' || input === null)\n return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || 'default');\n if (_typeof(res) !== 'object')\n return res;\n throw new TypeError('@@toPrimitive must return a primitive value.');\n }\n return (hint === 'string' ? String : Number)(input);\n}\nimport Icons from './icons';\nimport tplPlayer from '../template/player.art';\nimport utils from './utils';\nvar Template = function () {\n function Template(options) {\n _classCallCheck(this, Template);\n this.container = options.container;\n this.options = options.options;\n this.index = options.index;\n this.tran = options.tran;\n this.init();\n }\n _createClass(Template, [{\n key: 'init',\n value: function init() {\n this.container.innerHTML = tplPlayer({\n options: this.options,\n index: this.index,\n tran: this.tran,\n icons: Icons,\n mobile: utils.isMobile,\n video: {\n current: true,\n pic: this.options.video.pic,\n screenshot: this.options.screenshot,\n airplay: utils.isSafari && !utils.isChrome ? this.options.airplay : false,\n chromecast: this.options.chromecast,\n preload: this.options.preload,\n url: this.options.video.url,\n subtitle: this.options.subtitle\n }\n });\n this.volumeBar = this.container.querySelector('.dplayer-volume-bar-inner');\n this.volumeBarWrap = this.container.querySelector('.dplayer-volume-bar');\n this.volumeBarWrapWrap = this.container.querySelector('.dplayer-volume-bar-wrap');\n this.volumeButton = this.container.querySelector('.dplayer-volume');\n this.volumeButtonIcon = this.container.querySelector('.dplayer-volume-icon');\n this.volumeIcon = this.container.querySelector('.dplayer-volume-icon .dplayer-icon-content');\n this.playedBar = this.container.querySelector('.dplayer-played');\n this.loadedBar = this.container.querySelector('.dplayer-loaded');\n this.playedBarWrap = this.container.querySelector('.dplayer-bar-wrap');\n this.playedBarTime = this.container.querySelector('.dplayer-bar-time');\n this.danmaku = this.container.querySelector('.dplayer-danmaku');\n this.danmakuLoading = this.container.querySelector('.dplayer-danloading');\n this.video = this.container.querySelector('.dplayer-video-current');\n this.bezel = this.container.querySelector('.dplayer-bezel-icon');\n this.playButton = this.container.querySelector('.dplayer-play-icon');\n this.mobilePlayButton = this.container.querySelector('.dplayer-mobile-play');\n this.videoWrap = this.container.querySelector('.dplayer-video-wrap');\n this.controllerMask = this.container.querySelector('.dplayer-controller-mask');\n this.ptime = this.container.querySelector('.dplayer-ptime');\n this.settingButton = this.container.querySelector('.dplayer-setting-icon');\n this.settingBox = this.container.querySelector('.dplayer-setting-box');\n this.mask = this.container.querySelector('.dplayer-mask');\n this.loop = this.container.querySelector('.dplayer-setting-loop');\n this.loopToggle = this.container.querySelector('.dplayer-setting-loop .dplayer-toggle-setting-input');\n this.showDanmaku = this.container.querySelector('.dplayer-setting-showdan');\n this.showDanmakuToggle = this.container.querySelector('.dplayer-showdan-setting-input');\n this.unlimitDanmaku = this.container.querySelector('.dplayer-setting-danunlimit');\n this.unlimitDanmakuToggle = this.container.querySelector('.dplayer-danunlimit-setting-input');\n this.speed = this.container.querySelector('.dplayer-setting-speed');\n this.speedItem = this.container.querySelectorAll('.dplayer-setting-speed-item');\n this.danmakuOpacityBar = this.container.querySelector('.dplayer-danmaku-bar-inner');\n this.danmakuOpacityBarWrap = this.container.querySelector('.dplayer-danmaku-bar');\n this.danmakuOpacityBarWrapWrap = this.container.querySelector('.dplayer-danmaku-bar-wrap');\n this.danmakuOpacityBox = this.container.querySelector('.dplayer-setting-danmaku');\n this.dtime = this.container.querySelector('.dplayer-dtime');\n this.controller = this.container.querySelector('.dplayer-controller');\n this.commentInput = this.container.querySelector('.dplayer-comment-input');\n this.commentButton = this.container.querySelector('.dplayer-comment-icon');\n this.commentSettingBox = this.container.querySelector('.dplayer-comment-setting-box');\n this.commentSettingButton = this.container.querySelector('.dplayer-comment-setting-icon');\n this.commentSettingFill = this.container.querySelector('.dplayer-comment-setting-icon path');\n this.commentSendButton = this.container.querySelector('.dplayer-send-icon');\n this.commentSendFill = this.container.querySelector('.dplayer-send-icon path');\n this.commentColorSettingBox = this.container.querySelector('.dplayer-comment-setting-color');\n this.browserFullButton = this.container.querySelector('.dplayer-full-icon');\n this.webFullButton = this.container.querySelector('.dplayer-full-in-icon');\n this.menu = this.container.querySelector('.dplayer-menu');\n this.menuItem = this.container.querySelectorAll('.dplayer-menu-item');\n this.qualityList = this.container.querySelector('.dplayer-quality-list');\n this.camareButton = this.container.querySelector('.dplayer-camera-icon');\n this.airplayButton = this.container.querySelector('.dplayer-airplay-icon');\n this.chromecastButton = this.container.querySelector('.dplayer-chromecast-icon');\n this.subtitleButton = this.container.querySelector('.dplayer-subtitle-icon');\n this.subtitleButtonInner = this.container.querySelector('.dplayer-subtitle-icon .dplayer-icon-content');\n this.subtitlesButton = this.container.querySelector('.dplayer-subtitles-icon');\n this.subtitlesBox = this.container.querySelector('.dplayer-subtitles-box');\n this.subtitlesItem = this.container.querySelectorAll('.dplayer-subtitles-item');\n this.subtitle = this.container.querySelector('.dplayer-subtitle');\n this.subtrack = this.container.querySelector('.dplayer-subtrack');\n this.qualityButton = this.container.querySelector('.dplayer-quality-icon');\n this.barPreview = this.container.querySelector('.dplayer-bar-preview');\n this.barWrap = this.container.querySelector('.dplayer-bar-wrap');\n this.noticeList = this.container.querySelector('.dplayer-notice-list');\n this.infoPanel = this.container.querySelector('.dplayer-info-panel');\n this.infoPanelClose = this.container.querySelector('.dplayer-info-panel-close');\n this.infoVersion = this.container.querySelector('.dplayer-info-panel-item-version .dplayer-info-panel-item-data');\n this.infoFPS = this.container.querySelector('.dplayer-info-panel-item-fps .dplayer-info-panel-item-data');\n this.infoType = this.container.querySelector('.dplayer-info-panel-item-type .dplayer-info-panel-item-data');\n this.infoUrl = this.container.querySelector('.dplayer-info-panel-item-url .dplayer-info-panel-item-data');\n this.infoResolution = this.container.querySelector('.dplayer-info-panel-item-resolution .dplayer-info-panel-item-data');\n this.infoDuration = this.container.querySelector('.dplayer-info-panel-item-duration .dplayer-info-panel-item-data');\n this.infoDanmakuId = this.container.querySelector('.dplayer-info-panel-item-danmaku-id .dplayer-info-panel-item-data');\n this.infoDanmakuApi = this.container.querySelector('.dplayer-info-panel-item-danmaku-api .dplayer-info-panel-item-data');\n this.infoDanmakuAmount = this.container.querySelector('.dplayer-info-panel-item-danmaku-amount .dplayer-info-panel-item-data');\n }\n }], [{\n key: 'NewNotice',\n value: function NewNotice(text, opacity, id) {\n var notice = document.createElement('div');\n notice.classList.add('dplayer-notice');\n notice.style.opacity = opacity;\n notice.innerText = text;\n if (id) {\n notice.id = 'dplayer-notice-'.concat(id);\n }\n return notice;\n }\n }]);\n return Template;\n}();\nexport default Template;","function _typeof(obj) {\n '@babel/helpers - typeof';\n return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n }, _typeof(obj);\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, 'prototype', { writable: false });\n return Constructor;\n}\nfunction _toPropertyKey(arg) {\n var key = _toPrimitive(arg, 'string');\n return _typeof(key) === 'symbol' ? key : String(key);\n}\nfunction _toPrimitive(input, hint) {\n if (_typeof(input) !== 'object' || input === null)\n return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || 'default');\n if (_typeof(res) !== 'object')\n return res;\n throw new TypeError('@@toPrimitive must return a primitive value.');\n }\n return (hint === 'string' ? String : Number)(input);\n}\nimport utils from './utils';\nvar Danmaku = function () {\n function Danmaku(options) {\n _classCallCheck(this, Danmaku);\n this.options = options;\n this.player = this.options.player;\n this.container = this.options.container;\n this.danTunnel = {\n right: {},\n top: {},\n bottom: {}\n };\n this.danIndex = 0;\n this.dan = [];\n this.showing = true;\n this._opacity = this.options.opacity;\n this.events = this.options.events;\n this.unlimited = this.options.unlimited;\n this._measure('');\n this.load();\n }\n _createClass(Danmaku, [\n {\n key: 'load',\n value: function load() {\n var _this = this;\n var apiurl;\n if (this.options.api.maximum) {\n apiurl = ''.concat(this.options.api.address, 'v3/?id=').concat(this.options.api.id, '&max=').concat(this.options.api.maximum);\n } else {\n apiurl = ''.concat(this.options.api.address, 'v3/?id=').concat(this.options.api.id);\n }\n var endpoints = (this.options.api.addition || []).slice(0);\n endpoints.push(apiurl);\n this.events && this.events.trigger('danmaku_load_start', endpoints);\n this._readAllEndpoints(endpoints, function (results) {\n _this.dan = [].concat.apply([], results).sort(function (a, b) {\n return a.time - b.time;\n });\n window.requestAnimationFrame(function () {\n _this.frame();\n });\n _this.options.callback();\n _this.events && _this.events.trigger('danmaku_load_end');\n });\n }\n },\n {\n key: 'reload',\n value: function reload(newAPI) {\n this.options.api = newAPI;\n this.dan = [];\n this.clear();\n this.load();\n }\n },\n {\n key: '_readAllEndpoints',\n value: function _readAllEndpoints(endpoints, callback) {\n var _this2 = this;\n var results = [];\n var readCount = 0;\n var _loop = function _loop(i) {\n _this2.options.apiBackend.read({\n url: endpoints[i],\n success: function success(data) {\n results[i] = data;\n ++readCount;\n if (readCount === endpoints.length) {\n callback(results);\n }\n },\n error: function error(msg) {\n _this2.options.error(msg || _this2.options.tran('danmaku-failed'));\n results[i] = [];\n ++readCount;\n if (readCount === endpoints.length) {\n callback(results);\n }\n }\n });\n };\n for (var i = 0; i < endpoints.length; ++i) {\n _loop(i);\n }\n }\n },\n {\n key: 'send',\n value: function send(dan, callback) {\n var _this3 = this;\n var danmakuData = {\n token: this.options.api.token,\n id: this.options.api.id,\n author: this.options.api.user,\n time: this.options.time(),\n text: dan.text,\n color: dan.color,\n type: dan.type\n };\n this.options.apiBackend.send({\n url: this.options.api.address + 'v3/',\n data: danmakuData,\n success: callback,\n error: function error(msg) {\n _this3.options.error(msg || _this3.options.tran('danmaku-failed'));\n }\n });\n this.dan.splice(this.danIndex, 0, danmakuData);\n this.danIndex++;\n var danmaku = {\n text: this.htmlEncode(danmakuData.text),\n color: danmakuData.color,\n type: danmakuData.type,\n border: '2px solid '.concat(this.options.borderColor)\n };\n this.draw(danmaku);\n this.events && this.events.trigger('danmaku_send', danmakuData);\n }\n },\n {\n key: 'frame',\n value: function frame() {\n var _this4 = this;\n if (this.dan.length && !this.paused && this.showing) {\n var item = this.dan[this.danIndex];\n var dan = [];\n while (item && this.options.time() > parseFloat(item.time)) {\n dan.push(item);\n item = this.dan[++this.danIndex];\n }\n this.draw(dan);\n }\n window.requestAnimationFrame(function () {\n _this4.frame();\n });\n }\n },\n {\n key: 'opacity',\n value: function opacity(percentage) {\n if (percentage !== undefined) {\n var items = this.container.getElementsByClassName('dplayer-danmaku-item');\n for (var i = 0; i < items.length; i++) {\n items[i].style.opacity = percentage;\n }\n this._opacity = percentage;\n this.events && this.events.trigger('danmaku_opacity', this._opacity);\n }\n return this._opacity;\n }\n },\n {\n key: 'draw',\n value: function draw(dan) {\n var _this5 = this;\n if (this.showing) {\n var itemHeight = this.options.height;\n var danWidth = this.container.offsetWidth;\n var danHeight = this.container.offsetHeight;\n var itemY = parseInt(danHeight / itemHeight);\n var danItemRight = function danItemRight(ele) {\n var eleWidth = ele.offsetWidth || parseInt(ele.style.width);\n var eleRight = ele.getBoundingClientRect().right || _this5.container.getBoundingClientRect().right + eleWidth;\n return _this5.container.getBoundingClientRect().right - eleRight;\n };\n var danSpeed = function danSpeed(width) {\n return (danWidth + width) / 5;\n };\n var getTunnel = function getTunnel(ele, type, width) {\n var tmp = danWidth / danSpeed(width);\n var _loop2 = function _loop2(i) {\n var item = _this5.danTunnel[type][i + ''];\n if (item && item.length) {\n if (type !== 'right') {\n return 0;\n }\n for (var j = 0; j < item.length; j++) {\n var danRight = danItemRight(item[j]) - 10;\n if (danRight <= danWidth - tmp * danSpeed(parseInt(item[j].style.width)) || danRight <= 0) {\n break;\n }\n if (j === item.length - 1) {\n _this5.danTunnel[type][i + ''].push(ele);\n ele.addEventListener('animationend', function () {\n _this5.danTunnel[type][i + ''].splice(0, 1);\n });\n return { v: i % itemY };\n }\n }\n } else {\n _this5.danTunnel[type][i + ''] = [ele];\n ele.addEventListener('animationend', function () {\n _this5.danTunnel[type][i + ''].splice(0, 1);\n });\n return { v: i % itemY };\n }\n }, _ret;\n for (var i = 0; _this5.unlimited || i < itemY; i++) {\n _ret = _loop2(i);\n if (_ret === 0)\n continue;\n if (_ret)\n return _ret.v;\n }\n return -1;\n };\n if (Object.prototype.toString.call(dan) !== '[object Array]') {\n dan = [dan];\n }\n var docFragment = document.createDocumentFragment();\n var _loop3 = function _loop3() {\n dan[i].type = utils.number2Type(dan[i].type);\n if (!dan[i].color) {\n dan[i].color = 16777215;\n }\n var item = document.createElement('div');\n item.classList.add('dplayer-danmaku-item');\n item.classList.add('dplayer-danmaku-'.concat(dan[i].type));\n if (dan[i].border) {\n item.innerHTML = '').concat(dan[i].text, '');\n } else {\n item.innerHTML = dan[i].text;\n }\n item.style.opacity = _this5._opacity;\n item.style.color = utils.number2Color(dan[i].color);\n item.addEventListener('animationend', function () {\n _this5.container.removeChild(item);\n });\n var itemWidth = _this5._measure(dan[i].text);\n var tunnel;\n switch (dan[i].type) {\n case 'right':\n tunnel = getTunnel(item, dan[i].type, itemWidth);\n if (tunnel >= 0) {\n item.style.width = itemWidth + 1 + 'px';\n item.style.top = itemHeight * tunnel + 'px';\n item.style.transform = 'translateX(-'.concat(danWidth, 'px)');\n }\n break;\n case 'top':\n tunnel = getTunnel(item, dan[i].type);\n if (tunnel >= 0) {\n item.style.top = itemHeight * tunnel + 'px';\n }\n break;\n case 'bottom':\n tunnel = getTunnel(item, dan[i].type);\n if (tunnel >= 0) {\n item.style.bottom = itemHeight * tunnel + 'px';\n }\n break;\n default:\n console.error('Can\\'t handled danmaku type: '.concat(dan[i].type));\n }\n if (tunnel >= 0) {\n item.classList.add('dplayer-danmaku-move');\n item.style.animationDuration = _this5._danAnimation(dan[i].type);\n docFragment.appendChild(item);\n }\n };\n for (var i = 0; i < dan.length; i++) {\n _loop3();\n }\n this.container.appendChild(docFragment);\n return docFragment;\n }\n }\n },\n {\n key: 'play',\n value: function play() {\n this.paused = false;\n }\n },\n {\n key: 'pause',\n value: function pause() {\n this.paused = true;\n }\n },\n {\n key: '_measure',\n value: function _measure(text) {\n if (!this.context) {\n var measureStyle = getComputedStyle(this.container.getElementsByClassName('dplayer-danmaku-item')[0], null);\n this.context = document.createElement('canvas').getContext('2d');\n this.context.font = measureStyle.getPropertyValue('font');\n }\n return this.context.measureText(text).width;\n }\n },\n {\n key: 'seek',\n value: function seek() {\n this.clear();\n for (var i = 0; i < this.dan.length; i++) {\n if (this.dan[i].time >= this.options.time()) {\n this.danIndex = i;\n break;\n }\n this.danIndex = this.dan.length;\n }\n }\n },\n {\n key: 'clear',\n value: function clear() {\n this.danTunnel = {\n right: {},\n top: {},\n bottom: {}\n };\n this.danIndex = 0;\n this.options.container.innerHTML = '';\n this.events && this.events.trigger('danmaku_clear');\n }\n },\n {\n key: 'htmlEncode',\n value: function htmlEncode(str) {\n return str.replace(/&/g, '&').replace(//g, '>').replace(/\"/g, '"').replace(/'/g, ''').replace(/\\//g, '/');\n }\n },\n {\n key: 'resize',\n value: function resize() {\n var danWidth = this.container.offsetWidth;\n var items = this.container.getElementsByClassName('dplayer-danmaku-item');\n for (var i = 0; i < items.length; i++) {\n items[i].style.transform = 'translateX(-'.concat(danWidth, 'px)');\n }\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.showing = false;\n this.pause();\n this.clear();\n this.events && this.events.trigger('danmaku_hide');\n }\n },\n {\n key: 'show',\n value: function show() {\n this.seek();\n this.showing = true;\n this.play();\n this.events && this.events.trigger('danmaku_show');\n }\n },\n {\n key: 'unlimit',\n value: function unlimit(_boolean) {\n this.unlimited = _boolean;\n }\n },\n {\n key: 'speed',\n value: function speed(rate) {\n this.options.api.speedRate = rate;\n }\n },\n {\n key: '_danAnimation',\n value: function _danAnimation(position) {\n var rate = this.options.api.speedRate || 1;\n var isFullScreen = !!this.player.fullScreen.isFullScreen();\n var animations = {\n top: ''.concat((isFullScreen ? 6 : 4) / rate, 's'),\n right: ''.concat((isFullScreen ? 8 : 5) / rate, 's'),\n bottom: ''.concat((isFullScreen ? 6 : 4) / rate, 's')\n };\n return animations[position];\n }\n }\n ]);\n return Danmaku;\n}();\nexport default Danmaku;","function _typeof(obj) {\n '@babel/helpers - typeof';\n return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n }, _typeof(obj);\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, 'prototype', { writable: false });\n return Constructor;\n}\nfunction _toPropertyKey(arg) {\n var key = _toPrimitive(arg, 'string');\n return _typeof(key) === 'symbol' ? key : String(key);\n}\nfunction _toPrimitive(input, hint) {\n if (_typeof(input) !== 'object' || input === null)\n return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || 'default');\n if (_typeof(res) !== 'object')\n return res;\n throw new TypeError('@@toPrimitive must return a primitive value.');\n }\n return (hint === 'string' ? String : Number)(input);\n}\nvar Events = function () {\n function Events() {\n _classCallCheck(this, Events);\n this.events = {};\n this.videoEvents = [\n 'abort',\n 'canplay',\n 'canplaythrough',\n 'durationchange',\n 'emptied',\n 'ended',\n 'error',\n 'loadeddata',\n 'loadedmetadata',\n 'loadstart',\n 'mozaudioavailable',\n 'pause',\n 'play',\n 'playing',\n 'progress',\n 'ratechange',\n 'seeked',\n 'seeking',\n 'stalled',\n 'suspend',\n 'timeupdate',\n 'volumechange',\n 'waiting'\n ];\n this.playerEvents = [\n 'screenshot',\n 'thumbnails_show',\n 'thumbnails_hide',\n 'danmaku_show',\n 'danmaku_hide',\n 'danmaku_clear',\n 'danmaku_loaded',\n 'danmaku_send',\n 'danmaku_opacity',\n 'contextmenu_show',\n 'contextmenu_hide',\n 'notice_show',\n 'notice_hide',\n 'quality_start',\n 'quality_end',\n 'destroy',\n 'resize',\n 'fullscreen',\n 'fullscreen_cancel',\n 'webfullscreen',\n 'webfullscreen_cancel',\n 'subtitle_show',\n 'subtitle_hide',\n 'subtitle_change'\n ];\n }\n _createClass(Events, [\n {\n key: 'on',\n value: function on(name, callback) {\n if (this.type(name) && typeof callback === 'function') {\n if (!this.events[name]) {\n this.events[name] = [];\n }\n this.events[name].push(callback);\n }\n }\n },\n {\n key: 'trigger',\n value: function trigger(name, info) {\n if (this.events[name] && this.events[name].length) {\n for (var i = 0; i < this.events[name].length; i++) {\n this.events[name][i](info);\n }\n }\n }\n },\n {\n key: 'type',\n value: function type(name) {\n if (this.playerEvents.indexOf(name) !== -1) {\n return 'player';\n } else if (this.videoEvents.indexOf(name) !== -1) {\n return 'video';\n }\n console.error('Unknown event name: '.concat(name));\n return null;\n }\n }\n ]);\n return Events;\n}();\nexport default Events;","function _typeof(obj) {\n '@babel/helpers - typeof';\n return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n }, _typeof(obj);\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, 'prototype', { writable: false });\n return Constructor;\n}\nfunction _toPropertyKey(arg) {\n var key = _toPrimitive(arg, 'string');\n return _typeof(key) === 'symbol' ? key : String(key);\n}\nfunction _toPrimitive(input, hint) {\n if (_typeof(input) !== 'object' || input === null)\n return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || 'default');\n if (_typeof(res) !== 'object')\n return res;\n throw new TypeError('@@toPrimitive must return a primitive value.');\n }\n return (hint === 'string' ? String : Number)(input);\n}\nimport utils from './utils';\nvar FullScreen = function () {\n function FullScreen(player) {\n var _this = this;\n _classCallCheck(this, FullScreen);\n this.player = player;\n this.lastScrollPosition = {\n left: 0,\n top: 0\n };\n this.player.events.on('webfullscreen', function () {\n _this.player.resize();\n });\n this.player.events.on('webfullscreen_cancel', function () {\n _this.player.resize();\n utils.setScrollPosition(_this.lastScrollPosition);\n });\n this.fullscreenchange = function () {\n _this.player.resize();\n if (_this.isFullScreen('browser')) {\n _this.player.events.trigger('fullscreen');\n } else {\n utils.setScrollPosition(_this.lastScrollPosition);\n _this.player.events.trigger('fullscreen_cancel');\n }\n };\n this.docfullscreenchange = function () {\n var fullEle = document.fullscreenElement || document.mozFullScreenElement || document.msFullscreenElement;\n if (fullEle && fullEle !== _this.player.container) {\n return;\n }\n _this.player.resize();\n if (fullEle) {\n _this.player.events.trigger('fullscreen');\n } else {\n utils.setScrollPosition(_this.lastScrollPosition);\n _this.player.events.trigger('fullscreen_cancel');\n }\n };\n if (/Firefox/.test(navigator.userAgent)) {\n document.addEventListener('mozfullscreenchange', this.docfullscreenchange);\n document.addEventListener('fullscreenchange', this.docfullscreenchange);\n } else {\n this.player.container.addEventListener('fullscreenchange', this.fullscreenchange);\n this.player.container.addEventListener('webkitfullscreenchange', this.fullscreenchange);\n document.addEventListener('msfullscreenchange', this.docfullscreenchange);\n document.addEventListener('MSFullscreenChange', this.docfullscreenchange);\n }\n }\n _createClass(FullScreen, [\n {\n key: 'isFullScreen',\n value: function isFullScreen() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'browser';\n switch (type) {\n case 'browser':\n return document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement;\n case 'web':\n return this.player.container.classList.contains('dplayer-fulled');\n }\n }\n },\n {\n key: 'request',\n value: function request() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'browser';\n var anotherType = type === 'browser' ? 'web' : 'browser';\n var anotherTypeOn = this.isFullScreen(anotherType);\n if (!anotherTypeOn) {\n this.lastScrollPosition = utils.getScrollPosition();\n }\n switch (type) {\n case 'browser':\n if (this.player.container.requestFullscreen) {\n this.player.container.requestFullscreen();\n } else if (this.player.container.mozRequestFullScreen) {\n this.player.container.mozRequestFullScreen();\n } else if (this.player.container.webkitRequestFullscreen) {\n this.player.container.webkitRequestFullscreen();\n } else if (this.player.video.webkitEnterFullscreen) {\n this.player.video.webkitEnterFullscreen();\n } else if (this.player.video.webkitEnterFullScreen) {\n this.player.video.webkitEnterFullScreen();\n } else if (this.player.container.msRequestFullscreen) {\n this.player.container.msRequestFullscreen();\n }\n break;\n case 'web':\n this.player.container.classList.add('dplayer-fulled');\n document.body.classList.add('dplayer-web-fullscreen-fix');\n this.player.events.trigger('webfullscreen');\n break;\n }\n if (anotherTypeOn) {\n this.cancel(anotherType);\n }\n }\n },\n {\n key: 'cancel',\n value: function cancel() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'browser';\n switch (type) {\n case 'browser':\n if (document.cancelFullScreen) {\n document.cancelFullScreen();\n } else if (document.mozCancelFullScreen) {\n document.mozCancelFullScreen();\n } else if (document.webkitCancelFullScreen) {\n document.webkitCancelFullScreen();\n } else if (document.webkitCancelFullscreen) {\n document.webkitCancelFullscreen();\n } else if (document.msCancelFullScreen) {\n document.msCancelFullScreen();\n } else if (document.msExitFullscreen) {\n document.msExitFullscreen();\n }\n break;\n case 'web':\n this.player.container.classList.remove('dplayer-fulled');\n document.body.classList.remove('dplayer-web-fullscreen-fix');\n this.player.events.trigger('webfullscreen_cancel');\n break;\n }\n }\n },\n {\n key: 'toggle',\n value: function toggle() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'browser';\n if (this.isFullScreen(type)) {\n this.cancel(type);\n } else {\n this.request(type);\n }\n }\n },\n {\n key: 'destroy',\n value: function destroy() {\n if (/Firefox/.test(navigator.userAgent)) {\n document.removeEventListener('mozfullscreenchange', this.docfullscreenchange);\n document.removeEventListener('fullscreenchange', this.docfullscreenchange);\n } else {\n this.player.container.removeEventListener('fullscreenchange', this.fullscreenchange);\n this.player.container.removeEventListener('webkitfullscreenchange', this.fullscreenchange);\n document.removeEventListener('msfullscreenchange', this.docfullscreenchange);\n document.removeEventListener('MSFullscreenChange', this.docfullscreenchange);\n }\n }\n }\n ]);\n return FullScreen;\n}();\nexport default FullScreen;","function _typeof(obj) {\n '@babel/helpers - typeof';\n return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n }, _typeof(obj);\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, 'prototype', { writable: false });\n return Constructor;\n}\nfunction _toPropertyKey(arg) {\n var key = _toPrimitive(arg, 'string');\n return _typeof(key) === 'symbol' ? key : String(key);\n}\nfunction _toPrimitive(input, hint) {\n if (_typeof(input) !== 'object' || input === null)\n return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || 'default');\n if (_typeof(res) !== 'object')\n return res;\n throw new TypeError('@@toPrimitive must return a primitive value.');\n }\n return (hint === 'string' ? String : Number)(input);\n}\nimport utils from './utils';\nvar User = function () {\n function User(player) {\n _classCallCheck(this, User);\n this.storageName = {\n opacity: 'dplayer-danmaku-opacity',\n volume: 'dplayer-volume',\n unlimited: 'dplayer-danmaku-unlimited',\n danmaku: 'dplayer-danmaku-show',\n subtitle: 'dplayer-subtitle-show'\n };\n this['default'] = {\n opacity: 0.7,\n volume: player.options.hasOwnProperty('volume') ? player.options.volume : 0.7,\n unlimited: (player.options.danmaku && player.options.danmaku.unlimited ? 1 : 0) || 0,\n danmaku: 1,\n subtitle: 1\n };\n this.data = {};\n this.init();\n }\n _createClass(User, [\n {\n key: 'init',\n value: function init() {\n for (var item in this.storageName) {\n var name = this.storageName[item];\n this.data[item] = parseFloat(utils.storage.get(name) || this['default'][item]);\n }\n }\n },\n {\n key: 'get',\n value: function get(key) {\n return this.data[key];\n }\n },\n {\n key: 'set',\n value: function set(key, value) {\n this.data[key] = value;\n utils.storage.set(this.storageName[key], value);\n }\n }\n ]);\n return User;\n}();\nexport default User;","function _typeof(obj) {\n '@babel/helpers - typeof';\n return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n }, _typeof(obj);\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, 'prototype', { writable: false });\n return Constructor;\n}\nfunction _toPropertyKey(arg) {\n var key = _toPrimitive(arg, 'string');\n return _typeof(key) === 'symbol' ? key : String(key);\n}\nfunction _toPrimitive(input, hint) {\n if (_typeof(input) !== 'object' || input === null)\n return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || 'default');\n if (_typeof(res) !== 'object')\n return res;\n throw new TypeError('@@toPrimitive must return a primitive value.');\n }\n return (hint === 'string' ? String : Number)(input);\n}\nvar Subtitle = function () {\n function Subtitle(container, video, options, events) {\n _classCallCheck(this, Subtitle);\n this.container = container;\n this.video = video;\n this.options = options;\n this.events = events;\n this.init();\n }\n _createClass(Subtitle, [\n {\n key: 'init',\n value: function init() {\n var _this = this;\n this.container.style.fontSize = this.options.fontSize;\n this.container.style.bottom = this.options.bottom;\n this.container.style.color = this.options.color;\n if (this.video.textTracks && this.video.textTracks[0]) {\n var track = this.video.textTracks[0];\n track.oncuechange = function () {\n var cue = track.activeCues[track.activeCues.length - 1];\n _this.container.innerHTML = '';\n if (cue) {\n var template = document.createElement('div');\n template.appendChild(cue.getCueAsHTML());\n var trackHtml = template.innerHTML.split(/\\r?\\n/).map(function (item) {\n return '

'.concat(item, '

');\n }).join('');\n _this.container.innerHTML = trackHtml;\n }\n _this.events.trigger('subtitle_change');\n };\n }\n }\n },\n {\n key: 'show',\n value: function show() {\n this.container.classList.remove('dplayer-subtitle-hide');\n this.events.trigger('subtitle_show');\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.container.classList.add('dplayer-subtitle-hide');\n this.events.trigger('subtitle_hide');\n }\n },\n {\n key: 'toggle',\n value: function toggle() {\n if (this.container.classList.contains('dplayer-subtitle-hide')) {\n this.show();\n } else {\n this.hide();\n }\n }\n }\n ]);\n return Subtitle;\n}();\nexport default Subtitle;","function _typeof(obj) {\n '@babel/helpers - typeof';\n return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n }, _typeof(obj);\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, 'prototype', { writable: false });\n return Constructor;\n}\nfunction _toPropertyKey(arg) {\n var key = _toPrimitive(arg, 'string');\n return _typeof(key) === 'symbol' ? key : String(key);\n}\nfunction _toPrimitive(input, hint) {\n if (_typeof(input) !== 'object' || input === null)\n return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || 'default');\n if (_typeof(res) !== 'object')\n return res;\n throw new TypeError('@@toPrimitive must return a primitive value.');\n }\n return (hint === 'string' ? String : Number)(input);\n}\nvar Subtitles = function () {\n function Subtitles(player) {\n var _this = this;\n _classCallCheck(this, Subtitles);\n this.player = player;\n this.player.template.mask.addEventListener('click', function () {\n _this.hide();\n });\n this.player.template.subtitlesButton.addEventListener('click', function () {\n _this.adaptiveHeight();\n _this.show();\n });\n var lastItemIndex = this.player.template.subtitlesItem.length - 1;\n var _loop = function _loop(i) {\n _this.player.template.subtitlesItem[i].addEventListener('click', function () {\n _this.hide();\n if (_this.player.options.subtitle.index !== i) {\n _this.player.template.subtitle.innerHTML = '

';\n _this.player.template.subtrack.src = _this.player.template.subtitlesItem[i].dataset.subtitle;\n _this.player.options.subtitle.index = i;\n if (_this.player.template.subtitle.classList.contains('dplayer-subtitle-hide')) {\n _this.subContainerShow();\n }\n }\n });\n };\n for (var i = 0; i < lastItemIndex; i++) {\n _loop(i);\n }\n this.player.template.subtitlesItem[lastItemIndex].addEventListener('click', function () {\n _this.hide();\n if (_this.player.options.subtitle.index !== lastItemIndex) {\n _this.player.template.subtitle.innerHTML = '

';\n _this.player.template.subtrack.src = '';\n _this.player.options.subtitle.index = lastItemIndex;\n _this.subContainerHide();\n }\n });\n }\n _createClass(Subtitles, [\n {\n key: 'subContainerShow',\n value: function subContainerShow() {\n this.player.template.subtitle.classList.remove('dplayer-subtitle-hide');\n this.player.events.trigger('subtitle_show');\n }\n },\n {\n key: 'subContainerHide',\n value: function subContainerHide() {\n this.player.template.subtitle.classList.add('dplayer-subtitle-hide');\n this.player.events.trigger('subtitle_hide');\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.player.template.subtitlesBox.classList.remove('dplayer-subtitles-box-open');\n this.player.template.mask.classList.remove('dplayer-mask-show');\n this.player.controller.disableAutoHide = false;\n }\n },\n {\n key: 'show',\n value: function show() {\n this.player.template.subtitlesBox.classList.add('dplayer-subtitles-box-open');\n this.player.template.mask.classList.add('dplayer-mask-show');\n this.player.controller.disableAutoHide = true;\n }\n },\n {\n key: 'adaptiveHeight',\n value: function adaptiveHeight() {\n var curBoxHeight = this.player.template.subtitlesItem.length * 30 + 14;\n var stdMaxHeight = this.player.template.videoWrap.offsetHeight * 0.8;\n if (curBoxHeight >= stdMaxHeight - 50) {\n this.player.template.subtitlesBox.style.bottom = '8px';\n this.player.template.subtitlesBox.style['max-height'] = stdMaxHeight - 8 + 'px';\n } else {\n this.player.template.subtitlesBox.style.bottom = '50px';\n this.player.template.subtitlesBox.style['max-height'] = stdMaxHeight - 50 + 'px';\n }\n }\n }\n ]);\n return Subtitles;\n}();\nexport default Subtitles;","function _typeof(obj) {\n '@babel/helpers - typeof';\n return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n }, _typeof(obj);\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, 'prototype', { writable: false });\n return Constructor;\n}\nfunction _toPropertyKey(arg) {\n var key = _toPrimitive(arg, 'string');\n return _typeof(key) === 'symbol' ? key : String(key);\n}\nfunction _toPrimitive(input, hint) {\n if (_typeof(input) !== 'object' || input === null)\n return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || 'default');\n if (_typeof(res) !== 'object')\n return res;\n throw new TypeError('@@toPrimitive must return a primitive value.');\n }\n return (hint === 'string' ? String : Number)(input);\n}\nvar Bar = function () {\n function Bar(template) {\n _classCallCheck(this, Bar);\n this.elements = {};\n this.elements.volume = template.volumeBar;\n this.elements.played = template.playedBar;\n this.elements.loaded = template.loadedBar;\n this.elements.danmaku = template.danmakuOpacityBar;\n }\n _createClass(Bar, [\n {\n key: 'set',\n value: function set(type, percentage, direction) {\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n this.elements[type].style[direction] = percentage * 100 + '%';\n }\n },\n {\n key: 'get',\n value: function get(type) {\n return parseFloat(this.elements[type].style.width) / 100;\n }\n }\n ]);\n return Bar;\n}();\nexport default Bar;","function _typeof(obj) {\n '@babel/helpers - typeof';\n return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n }, _typeof(obj);\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, 'prototype', { writable: false });\n return Constructor;\n}\nfunction _toPropertyKey(arg) {\n var key = _toPrimitive(arg, 'string');\n return _typeof(key) === 'symbol' ? key : String(key);\n}\nfunction _toPrimitive(input, hint) {\n if (_typeof(input) !== 'object' || input === null)\n return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || 'default');\n if (_typeof(res) !== 'object')\n return res;\n throw new TypeError('@@toPrimitive must return a primitive value.');\n }\n return (hint === 'string' ? String : Number)(input);\n}\nvar Timer = function () {\n function Timer(player) {\n _classCallCheck(this, Timer);\n this.player = player;\n window.requestAnimationFrame = function () {\n return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function (callback) {\n window.setTimeout(callback, 1000 / 60);\n };\n }();\n this.types = [\n 'loading',\n 'info',\n 'fps'\n ];\n this.init();\n }\n _createClass(Timer, [\n {\n key: 'init',\n value: function init() {\n var _this = this;\n this.types.map(function (item) {\n if (item !== 'fps') {\n _this['init'.concat(item, 'Checker')]();\n }\n return item;\n });\n }\n },\n {\n key: 'initloadingChecker',\n value: function initloadingChecker() {\n var _this2 = this;\n var lastPlayPos = 0;\n var currentPlayPos = 0;\n var bufferingDetected = false;\n this.loadingChecker = setInterval(function () {\n if (_this2.enableloadingChecker) {\n currentPlayPos = _this2.player.video.currentTime;\n if (!bufferingDetected && currentPlayPos === lastPlayPos && !_this2.player.video.paused) {\n _this2.player.container.classList.add('dplayer-loading');\n bufferingDetected = true;\n }\n if (bufferingDetected && currentPlayPos > lastPlayPos && !_this2.player.video.paused) {\n _this2.player.container.classList.remove('dplayer-loading');\n bufferingDetected = false;\n }\n lastPlayPos = currentPlayPos;\n }\n }, 100);\n }\n },\n {\n key: 'initfpsChecker',\n value: function initfpsChecker() {\n var _this3 = this;\n window.requestAnimationFrame(function () {\n if (_this3.enablefpsChecker) {\n _this3.initfpsChecker();\n if (!_this3.fpsStart) {\n _this3.fpsStart = new Date();\n _this3.fpsIndex = 0;\n } else {\n _this3.fpsIndex++;\n var fpsCurrent = new Date();\n if (fpsCurrent - _this3.fpsStart > 1000) {\n _this3.player.infoPanel.fps(_this3.fpsIndex / (fpsCurrent - _this3.fpsStart) * 1000);\n _this3.fpsStart = new Date();\n _this3.fpsIndex = 0;\n }\n }\n } else {\n _this3.fpsStart = 0;\n _this3.fpsIndex = 0;\n }\n });\n }\n },\n {\n key: 'initinfoChecker',\n value: function initinfoChecker() {\n var _this4 = this;\n this.infoChecker = setInterval(function () {\n if (_this4.enableinfoChecker) {\n _this4.player.infoPanel.update();\n }\n }, 1000);\n }\n },\n {\n key: 'enable',\n value: function enable(type) {\n this['enable'.concat(type, 'Checker')] = true;\n if (type === 'fps') {\n this.initfpsChecker();\n }\n }\n },\n {\n key: 'disable',\n value: function disable(type) {\n this['enable'.concat(type, 'Checker')] = false;\n }\n },\n {\n key: 'destroy',\n value: function destroy() {\n var _this5 = this;\n this.types.map(function (item) {\n _this5['enable'.concat(item, 'Checker')] = false;\n _this5[''.concat(item, 'Checker')] && clearInterval(_this5[''.concat(item, 'Checker')]);\n return item;\n });\n }\n }\n ]);\n return Timer;\n}();\nexport default Timer;","function _typeof(obj) {\n '@babel/helpers - typeof';\n return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n }, _typeof(obj);\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, 'prototype', { writable: false });\n return Constructor;\n}\nfunction _toPropertyKey(arg) {\n var key = _toPrimitive(arg, 'string');\n return _typeof(key) === 'symbol' ? key : String(key);\n}\nfunction _toPrimitive(input, hint) {\n if (_typeof(input) !== 'object' || input === null)\n return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || 'default');\n if (_typeof(res) !== 'object')\n return res;\n throw new TypeError('@@toPrimitive must return a primitive value.');\n }\n return (hint === 'string' ? String : Number)(input);\n}\nvar Bezel = function () {\n function Bezel(container) {\n var _this = this;\n _classCallCheck(this, Bezel);\n this.container = container;\n this.container.addEventListener('animationend', function () {\n _this.container.classList.remove('dplayer-bezel-transition');\n });\n }\n _createClass(Bezel, [{\n key: 'switch',\n value: function _switch(icon) {\n this.container.innerHTML = icon;\n this.container.classList.add('dplayer-bezel-transition');\n }\n }]);\n return Bezel;\n}();\nexport default Bezel;","function _typeof(obj) {\n '@babel/helpers - typeof';\n return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n }, _typeof(obj);\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, 'prototype', { writable: false });\n return Constructor;\n}\nfunction _toPropertyKey(arg) {\n var key = _toPrimitive(arg, 'string');\n return _typeof(key) === 'symbol' ? key : String(key);\n}\nfunction _toPrimitive(input, hint) {\n if (_typeof(input) !== 'object' || input === null)\n return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || 'default');\n if (_typeof(res) !== 'object')\n return res;\n throw new TypeError('@@toPrimitive must return a primitive value.');\n }\n return (hint === 'string' ? String : Number)(input);\n}\nvar Thumbnails = function () {\n function Thumbnails(options) {\n _classCallCheck(this, Thumbnails);\n this.container = options.container;\n this.barWidth = options.barWidth;\n this.container.style.backgroundImage = 'url(\\''.concat(options.url, '\\')');\n this.events = options.events;\n }\n _createClass(Thumbnails, [\n {\n key: 'resize',\n value: function resize(width, height, barWrapWidth) {\n this.container.style.width = ''.concat(width, 'px');\n this.container.style.height = ''.concat(height, 'px');\n this.container.style.top = ''.concat(-height + 2, 'px');\n this.barWidth = barWrapWidth;\n }\n },\n {\n key: 'show',\n value: function show() {\n this.container.style.display = 'block';\n this.events && this.events.trigger('thumbnails_show');\n }\n },\n {\n key: 'move',\n value: function move(position) {\n this.container.style.backgroundPosition = '-'.concat((Math.ceil(position / this.barWidth * 100) - 1) * 160, 'px 0');\n this.container.style.left = ''.concat(Math.min(Math.max(position - this.container.offsetWidth / 2, -10), this.barWidth - 150), 'px');\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.container.style.display = 'none';\n this.events && this.events.trigger('thumbnails_hide');\n }\n }\n ]);\n return Thumbnails;\n}();\nexport default Thumbnails;","function _typeof(obj) {\n '@babel/helpers - typeof';\n return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n }, _typeof(obj);\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, 'prototype', { writable: false });\n return Constructor;\n}\nfunction _toPropertyKey(arg) {\n var key = _toPrimitive(arg, 'string');\n return _typeof(key) === 'symbol' ? key : String(key);\n}\nfunction _toPrimitive(input, hint) {\n if (_typeof(input) !== 'object' || input === null)\n return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || 'default');\n if (_typeof(res) !== 'object')\n return res;\n throw new TypeError('@@toPrimitive must return a primitive value.');\n }\n return (hint === 'string' ? String : Number)(input);\n}\nimport utils from './utils';\nimport Thumbnails from './thumbnails';\nimport Icons from './icons';\nvar cast;\nvar runOnce = true;\nvar isCasting = false;\nvar Controller = function () {\n function Controller(player) {\n _classCallCheck(this, Controller);\n this.player = player;\n this.autoHideTimer = 0;\n if (!utils.isMobile) {\n this.setAutoHideHandler = this.setAutoHide.bind(this);\n this.player.container.addEventListener('mousemove', this.setAutoHideHandler);\n this.player.container.addEventListener('click', this.setAutoHideHandler);\n this.player.on('play', this.setAutoHideHandler);\n this.player.on('pause', this.setAutoHideHandler);\n }\n this.initPlayButton();\n this.initThumbnails();\n this.initPlayedBar();\n this.initFullButton();\n this.initQualityButton();\n this.initScreenshotButton();\n if (this.player.options.subtitle) {\n if (typeof this.player.options.subtitle.url === 'string') {\n this.initSubtitleButton();\n }\n }\n this.initHighlights();\n this.initAirplayButton();\n this.initChromecastButton();\n if (!utils.isMobile) {\n this.initVolumeButton();\n }\n }\n _createClass(Controller, [\n {\n key: 'initPlayButton',\n value: function initPlayButton() {\n var _this = this;\n this.player.template.playButton.addEventListener('click', function () {\n _this.player.toggle();\n });\n this.player.template.mobilePlayButton.addEventListener('click', function () {\n _this.player.toggle();\n });\n if (!utils.isMobile) {\n if (!this.player.options.preventClickToggle) {\n this.player.template.videoWrap.addEventListener('click', function () {\n _this.player.toggle();\n });\n this.player.template.controllerMask.addEventListener('click', function () {\n _this.player.toggle();\n });\n }\n } else {\n this.player.template.videoWrap.addEventListener('click', function () {\n _this.toggle();\n });\n this.player.template.controllerMask.addEventListener('click', function () {\n _this.toggle();\n });\n }\n }\n },\n {\n key: 'initHighlights',\n value: function initHighlights() {\n var _this2 = this;\n this.player.on('durationchange', function () {\n if (_this2.player.video.duration !== 1 && _this2.player.video.duration !== Infinity) {\n if (_this2.player.options.highlight) {\n var highlights = _this2.player.template.playedBarWrap.querySelectorAll('.dplayer-highlight');\n [].slice.call(highlights, 0).forEach(function (item) {\n _this2.player.template.playedBarWrap.removeChild(item);\n });\n for (var i = 0; i < _this2.player.options.highlight.length; i++) {\n if (!_this2.player.options.highlight[i].text || !_this2.player.options.highlight[i].time) {\n continue;\n }\n var p = document.createElement('div');\n p.classList.add('dplayer-highlight');\n p.style.left = _this2.player.options.highlight[i].time / _this2.player.video.duration * 100 + '%';\n p.innerHTML = '' + _this2.player.options.highlight[i].text + '';\n _this2.player.template.playedBarWrap.insertBefore(p, _this2.player.template.playedBarTime);\n }\n }\n }\n });\n }\n },\n {\n key: 'initThumbnails',\n value: function initThumbnails() {\n var _this3 = this;\n if (this.player.options.video.thumbnails) {\n this.thumbnails = new Thumbnails({\n container: this.player.template.barPreview,\n barWidth: this.player.template.barWrap.offsetWidth,\n url: this.player.options.video.thumbnails,\n events: this.player.events\n });\n this.player.on('loadedmetadata', function () {\n _this3.thumbnails.resize(160, _this3.player.video.videoHeight / _this3.player.video.videoWidth * 160, _this3.player.template.barWrap.offsetWidth);\n });\n }\n }\n },\n {\n key: 'initPlayedBar',\n value: function initPlayedBar() {\n var _this4 = this;\n var thumbMove = function thumbMove(e) {\n var percentage = ((e.clientX || e.changedTouches[0].clientX) - utils.getBoundingClientRectViewLeft(_this4.player.template.playedBarWrap)) / _this4.player.template.playedBarWrap.clientWidth;\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n _this4.player.bar.set('played', percentage, 'width');\n _this4.player.template.ptime.innerHTML = utils.secondToTime(percentage * _this4.player.video.duration);\n };\n var thumbUp = function thumbUp(e) {\n document.removeEventListener(utils.nameMap.dragEnd, thumbUp);\n document.removeEventListener(utils.nameMap.dragMove, thumbMove);\n var percentage = ((e.clientX || e.changedTouches[0].clientX) - utils.getBoundingClientRectViewLeft(_this4.player.template.playedBarWrap)) / _this4.player.template.playedBarWrap.clientWidth;\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n _this4.player.bar.set('played', percentage, 'width');\n _this4.player.seek(_this4.player.bar.get('played') * _this4.player.video.duration);\n _this4.player.moveBar = false;\n };\n this.player.template.playedBarWrap.addEventListener(utils.nameMap.dragStart, function () {\n _this4.player.moveBar = true;\n document.addEventListener(utils.nameMap.dragMove, thumbMove);\n document.addEventListener(utils.nameMap.dragEnd, thumbUp);\n });\n this.player.template.playedBarWrap.addEventListener(utils.nameMap.dragMove, function (e) {\n if (_this4.player.video.duration) {\n var px = _this4.player.template.playedBarWrap.getBoundingClientRect().left;\n var tx = (e.clientX || e.changedTouches[0].clientX) - px;\n if (tx < 0 || tx > _this4.player.template.playedBarWrap.offsetWidth) {\n return;\n }\n var time = _this4.player.video.duration * (tx / _this4.player.template.playedBarWrap.offsetWidth);\n if (utils.isMobile) {\n _this4.thumbnails && _this4.thumbnails.show();\n }\n _this4.thumbnails && _this4.thumbnails.move(tx);\n _this4.player.template.playedBarTime.style.left = ''.concat(tx - (time >= 3600 ? 25 : 20), 'px');\n _this4.player.template.playedBarTime.innerText = utils.secondToTime(time);\n _this4.player.template.playedBarTime.classList.remove('hidden');\n }\n });\n this.player.template.playedBarWrap.addEventListener(utils.nameMap.dragEnd, function () {\n if (utils.isMobile) {\n _this4.thumbnails && _this4.thumbnails.hide();\n }\n });\n if (!utils.isMobile) {\n this.player.template.playedBarWrap.addEventListener('mouseenter', function () {\n if (_this4.player.video.duration) {\n _this4.thumbnails && _this4.thumbnails.show();\n _this4.player.template.playedBarTime.classList.remove('hidden');\n }\n });\n this.player.template.playedBarWrap.addEventListener('mouseleave', function () {\n if (_this4.player.video.duration) {\n _this4.thumbnails && _this4.thumbnails.hide();\n _this4.player.template.playedBarTime.classList.add('hidden');\n }\n });\n }\n }\n },\n {\n key: 'initFullButton',\n value: function initFullButton() {\n var _this5 = this;\n this.player.template.browserFullButton.addEventListener('click', function () {\n _this5.player.fullScreen.toggle('browser');\n });\n this.player.template.webFullButton.addEventListener('click', function () {\n _this5.player.fullScreen.toggle('web');\n });\n }\n },\n {\n key: 'initVolumeButton',\n value: function initVolumeButton() {\n var _this6 = this;\n var vWidth = 35;\n var volumeMove = function volumeMove(event) {\n var e = event || window.event;\n var percentage = ((e.clientX || e.changedTouches[0].clientX) - utils.getBoundingClientRectViewLeft(_this6.player.template.volumeBarWrap) - 5.5) / vWidth;\n _this6.player.volume(percentage);\n };\n var volumeUp = function volumeUp() {\n document.removeEventListener(utils.nameMap.dragEnd, volumeUp);\n document.removeEventListener(utils.nameMap.dragMove, volumeMove);\n _this6.player.template.volumeButton.classList.remove('dplayer-volume-active');\n };\n this.player.template.volumeBarWrapWrap.addEventListener('click', function (event) {\n var e = event || window.event;\n var percentage = ((e.clientX || e.changedTouches[0].clientX) - utils.getBoundingClientRectViewLeft(_this6.player.template.volumeBarWrap) - 5.5) / vWidth;\n _this6.player.volume(percentage);\n });\n this.player.template.volumeBarWrapWrap.addEventListener(utils.nameMap.dragStart, function () {\n document.addEventListener(utils.nameMap.dragMove, volumeMove);\n document.addEventListener(utils.nameMap.dragEnd, volumeUp);\n _this6.player.template.volumeButton.classList.add('dplayer-volume-active');\n });\n this.player.template.volumeButtonIcon.addEventListener('click', function () {\n if (_this6.player.video.muted) {\n _this6.player.video.muted = false;\n _this6.player.switchVolumeIcon();\n _this6.player.bar.set('volume', _this6.player.volume(), 'width');\n } else {\n _this6.player.video.muted = true;\n _this6.player.template.volumeIcon.innerHTML = Icons.volumeOff;\n _this6.player.bar.set('volume', 0, 'width');\n }\n });\n }\n },\n {\n key: 'initQualityButton',\n value: function initQualityButton() {\n var _this7 = this;\n if (this.player.options.video.quality) {\n this.player.template.qualityList.addEventListener('click', function (e) {\n if (e.target.classList.contains('dplayer-quality-item')) {\n _this7.player.switchQuality(e.target.dataset.index);\n }\n });\n }\n }\n },\n {\n key: 'initScreenshotButton',\n value: function initScreenshotButton() {\n var _this8 = this;\n if (this.player.options.screenshot) {\n this.player.template.camareButton.addEventListener('click', function () {\n var canvas = document.createElement('canvas');\n canvas.width = _this8.player.video.videoWidth;\n canvas.height = _this8.player.video.videoHeight;\n canvas.getContext('2d').drawImage(_this8.player.video, 0, 0, canvas.width, canvas.height);\n var dataURL;\n canvas.toBlob(function (blob) {\n dataURL = URL.createObjectURL(blob);\n var link = document.createElement('a');\n link.href = dataURL;\n link.download = 'DPlayer.png';\n link.style.display = 'none';\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n URL.revokeObjectURL(dataURL);\n _this8.player.events.trigger('screenshot', dataURL);\n });\n });\n }\n }\n },\n {\n key: 'initAirplayButton',\n value: function initAirplayButton() {\n if (this.player.options.airplay) {\n if (window.WebKitPlaybackTargetAvailabilityEvent) {\n this.player.video.addEventListener('webkitplaybacktargetavailabilitychanged', function (event) {\n switch (event.availability) {\n case 'available':\n this.template.airplayButton.disable = false;\n break;\n default:\n this.template.airplayButton.disable = true;\n }\n this.template.airplayButton.addEventListener('click', function () {\n this.video.webkitShowPlaybackTargetPicker();\n }.bind(this));\n }.bind(this.player));\n } else {\n this.player.template.airplayButton.style.display = 'none';\n }\n }\n }\n },\n {\n key: 'initChromecast',\n value: function initChromecast() {\n var script = window.document.createElement('script');\n script.setAttribute('type', 'text/javascript');\n script.setAttribute('src', 'https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1');\n window.document.body.appendChild(script);\n window.__onGCastApiAvailable = function (isAvailable) {\n if (isAvailable) {\n cast = window.chrome.cast;\n var sessionRequest = new cast.SessionRequest(cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID);\n var apiConfig = new cast.ApiConfig(sessionRequest, function () {\n }, function (status) {\n if (status === cast.ReceiverAvailability.AVAILABLE) {\n console.log('chromecast: ', status);\n }\n });\n cast.initialize(apiConfig, function () {\n });\n }\n };\n }\n },\n {\n key: 'initChromecastButton',\n value: function initChromecastButton() {\n var _this9 = this;\n if (this.player.options.chromecast) {\n if (runOnce) {\n runOnce = false;\n this.initChromecast();\n }\n var discoverDevices = function discoverDevices() {\n cast.requestSession(function (s) {\n _this9.session = s;\n launchMedia(_this9.player.options.video.url);\n }, function (err) {\n if (err.code === 'cancel') {\n _this9.session = undefined;\n } else {\n console.error('Error selecting a cast device', err);\n }\n });\n };\n var launchMedia = function launchMedia(media) {\n var mediaInfo = new cast.media.MediaInfo(media);\n var request = new cast.media.LoadRequest(mediaInfo);\n if (!_this9.session) {\n window.open(media);\n return false;\n }\n _this9.session.loadMedia(request, onMediaDiscovered.bind(_this9, 'loadMedia'), onMediaError).play();\n return true;\n };\n var onMediaDiscovered = function onMediaDiscovered(how, media) {\n _this9.currentMedia = media;\n };\n var onMediaError = function onMediaError(err) {\n console.error('Error launching media', err);\n };\n this.player.template.chromecastButton.addEventListener('click', function () {\n if (isCasting) {\n isCasting = false;\n _this9.currentMedia.stop();\n _this9.session.stop();\n _this9.initChromecast();\n } else {\n isCasting = true;\n discoverDevices();\n }\n });\n }\n }\n },\n {\n key: 'initSubtitleButton',\n value: function initSubtitleButton() {\n var _this10 = this;\n this.player.events.on('subtitle_show', function () {\n _this10.player.template.subtitleButton.dataset.balloon = _this10.player.tran('hide-subs');\n _this10.player.template.subtitleButtonInner.style.opacity = '';\n _this10.player.user.set('subtitle', 1);\n });\n this.player.events.on('subtitle_hide', function () {\n _this10.player.template.subtitleButton.dataset.balloon = _this10.player.tran('show-subs');\n _this10.player.template.subtitleButtonInner.style.opacity = '0.4';\n _this10.player.user.set('subtitle', 0);\n });\n this.player.template.subtitleButton.addEventListener('click', function () {\n _this10.player.subtitle.toggle();\n });\n }\n },\n {\n key: 'setAutoHide',\n value: function setAutoHide() {\n var _this11 = this;\n this.show();\n clearTimeout(this.autoHideTimer);\n this.autoHideTimer = setTimeout(function () {\n if (_this11.player.video.played.length && !_this11.player.paused && !_this11.disableAutoHide) {\n _this11.hide();\n }\n }, 3000);\n }\n },\n {\n key: 'show',\n value: function show() {\n this.player.container.classList.remove('dplayer-hide-controller');\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.player.container.classList.add('dplayer-hide-controller');\n this.player.setting.hide();\n this.player.comment && this.player.comment.hide();\n }\n },\n {\n key: 'isShow',\n value: function isShow() {\n return !this.player.container.classList.contains('dplayer-hide-controller');\n }\n },\n {\n key: 'toggle',\n value: function toggle() {\n if (this.isShow()) {\n this.hide();\n } else {\n this.show();\n }\n }\n },\n {\n key: 'destroy',\n value: function destroy() {\n if (!utils.isMobile) {\n this.player.container.removeEventListener('mousemove', this.setAutoHideHandler);\n this.player.container.removeEventListener('click', this.setAutoHideHandler);\n }\n clearTimeout(this.autoHideTimer);\n }\n }\n ]);\n return Controller;\n}();\nexport default Controller;","function _typeof(obj) {\n '@babel/helpers - typeof';\n return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n }, _typeof(obj);\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, 'prototype', { writable: false });\n return Constructor;\n}\nfunction _toPropertyKey(arg) {\n var key = _toPrimitive(arg, 'string');\n return _typeof(key) === 'symbol' ? key : String(key);\n}\nfunction _toPrimitive(input, hint) {\n if (_typeof(input) !== 'object' || input === null)\n return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || 'default');\n if (_typeof(res) !== 'object')\n return res;\n throw new TypeError('@@toPrimitive must return a primitive value.');\n }\n return (hint === 'string' ? String : Number)(input);\n}\nimport utils from './utils';\nvar Setting = function () {\n function Setting(player) {\n var _this = this;\n _classCallCheck(this, Setting);\n this.player = player;\n this.player.template.mask.addEventListener('click', function () {\n _this.hide();\n });\n this.player.template.settingButton.addEventListener('click', function () {\n _this.show();\n });\n this.loop = this.player.options.loop;\n this.player.template.loopToggle.checked = this.loop;\n this.player.template.loop.addEventListener('click', function () {\n _this.player.template.loopToggle.checked = !_this.player.template.loopToggle.checked;\n if (_this.player.template.loopToggle.checked) {\n _this.loop = true;\n } else {\n _this.loop = false;\n }\n _this.hide();\n });\n this.showDanmaku = this.player.user.get('danmaku');\n if (!this.showDanmaku) {\n this.player.danmaku && this.player.danmaku.hide();\n }\n this.player.template.showDanmakuToggle.checked = this.showDanmaku;\n this.player.template.showDanmaku.addEventListener('click', function () {\n _this.player.template.showDanmakuToggle.checked = !_this.player.template.showDanmakuToggle.checked;\n if (_this.player.template.showDanmakuToggle.checked) {\n _this.showDanmaku = true;\n _this.player.danmaku.show();\n } else {\n _this.showDanmaku = false;\n _this.player.danmaku.hide();\n }\n _this.player.user.set('danmaku', _this.showDanmaku ? 1 : 0);\n _this.hide();\n });\n this.unlimitDanmaku = this.player.user.get('unlimited');\n this.player.template.unlimitDanmakuToggle.checked = this.unlimitDanmaku;\n this.player.template.unlimitDanmaku.addEventListener('click', function () {\n _this.player.template.unlimitDanmakuToggle.checked = !_this.player.template.unlimitDanmakuToggle.checked;\n if (_this.player.template.unlimitDanmakuToggle.checked) {\n _this.unlimitDanmaku = true;\n _this.player.danmaku.unlimit(true);\n } else {\n _this.unlimitDanmaku = false;\n _this.player.danmaku.unlimit(false);\n }\n _this.player.user.set('unlimited', _this.unlimitDanmaku ? 1 : 0);\n _this.hide();\n });\n this.player.template.speed.addEventListener('click', function () {\n _this.player.template.settingBox.classList.add('dplayer-setting-box-narrow');\n _this.player.template.settingBox.classList.add('dplayer-setting-box-speed');\n });\n var _loop = function _loop(i) {\n _this.player.template.speedItem[i].addEventListener('click', function () {\n _this.player.speed(_this.player.template.speedItem[i].dataset.speed);\n _this.hide();\n });\n };\n for (var i = 0; i < this.player.template.speedItem.length; i++) {\n _loop(i);\n }\n if (this.player.danmaku) {\n var dWidth = 130;\n this.player.on('danmaku_opacity', function (percentage) {\n _this.player.bar.set('danmaku', percentage, 'width');\n _this.player.user.set('opacity', percentage);\n });\n this.player.danmaku.opacity(this.player.user.get('opacity'));\n var danmakuMove = function danmakuMove(event) {\n var e = event || window.event;\n var percentage = ((e.clientX || e.changedTouches[0].clientX) - utils.getBoundingClientRectViewLeft(_this.player.template.danmakuOpacityBarWrap)) / dWidth;\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n _this.player.danmaku.opacity(percentage);\n };\n var danmakuUp = function danmakuUp() {\n document.removeEventListener(utils.nameMap.dragEnd, danmakuUp);\n document.removeEventListener(utils.nameMap.dragMove, danmakuMove);\n _this.player.template.danmakuOpacityBox.classList.remove('dplayer-setting-danmaku-active');\n };\n this.player.template.danmakuOpacityBarWrapWrap.addEventListener('click', function (event) {\n var e = event || window.event;\n var percentage = ((e.clientX || e.changedTouches[0].clientX) - utils.getBoundingClientRectViewLeft(_this.player.template.danmakuOpacityBarWrap)) / dWidth;\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n _this.player.danmaku.opacity(percentage);\n });\n this.player.template.danmakuOpacityBarWrapWrap.addEventListener(utils.nameMap.dragStart, function () {\n document.addEventListener(utils.nameMap.dragMove, danmakuMove);\n document.addEventListener(utils.nameMap.dragEnd, danmakuUp);\n _this.player.template.danmakuOpacityBox.classList.add('dplayer-setting-danmaku-active');\n });\n }\n }\n _createClass(Setting, [\n {\n key: 'hide',\n value: function hide() {\n var _this2 = this;\n this.player.template.settingBox.classList.remove('dplayer-setting-box-open');\n this.player.template.mask.classList.remove('dplayer-mask-show');\n setTimeout(function () {\n _this2.player.template.settingBox.classList.remove('dplayer-setting-box-narrow');\n _this2.player.template.settingBox.classList.remove('dplayer-setting-box-speed');\n }, 300);\n this.player.controller.disableAutoHide = false;\n }\n },\n {\n key: 'show',\n value: function show() {\n this.player.template.settingBox.classList.add('dplayer-setting-box-open');\n this.player.template.mask.classList.add('dplayer-mask-show');\n this.player.controller.disableAutoHide = true;\n }\n }\n ]);\n return Setting;\n}();\nexport default Setting;","function _typeof(obj) {\n '@babel/helpers - typeof';\n return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n }, _typeof(obj);\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, 'prototype', { writable: false });\n return Constructor;\n}\nfunction _toPropertyKey(arg) {\n var key = _toPrimitive(arg, 'string');\n return _typeof(key) === 'symbol' ? key : String(key);\n}\nfunction _toPrimitive(input, hint) {\n if (_typeof(input) !== 'object' || input === null)\n return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || 'default');\n if (_typeof(res) !== 'object')\n return res;\n throw new TypeError('@@toPrimitive must return a primitive value.');\n }\n return (hint === 'string' ? String : Number)(input);\n}\nimport utils from './utils';\nvar Comment = function () {\n function Comment(player) {\n var _this = this;\n _classCallCheck(this, Comment);\n this.player = player;\n this.player.template.mask.addEventListener('click', function () {\n _this.hide();\n });\n this.player.template.commentButton.addEventListener('click', function () {\n _this.show();\n });\n this.player.template.commentSettingButton.addEventListener('click', function () {\n _this.toggleSetting();\n });\n this.player.template.commentColorSettingBox.addEventListener('click', function () {\n var sele = _this.player.template.commentColorSettingBox.querySelector('input:checked+span');\n if (sele) {\n var color = _this.player.template.commentColorSettingBox.querySelector('input:checked').value;\n _this.player.template.commentSettingFill.style.fill = color;\n _this.player.template.commentInput.style.color = color;\n _this.player.template.commentSendFill.style.fill = color;\n }\n });\n this.player.template.commentInput.addEventListener('click', function () {\n _this.hideSetting();\n });\n this.player.template.commentInput.addEventListener('keydown', function (e) {\n var event = e || window.event;\n if (event.keyCode === 13) {\n _this.send();\n }\n });\n this.player.template.commentSendButton.addEventListener('click', function () {\n _this.send();\n });\n }\n _createClass(Comment, [\n {\n key: 'show',\n value: function show() {\n this.player.controller.disableAutoHide = true;\n this.player.template.controller.classList.add('dplayer-controller-comment');\n this.player.template.mask.classList.add('dplayer-mask-show');\n this.player.container.classList.add('dplayer-show-controller');\n this.player.template.commentInput.focus();\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.player.template.controller.classList.remove('dplayer-controller-comment');\n this.player.template.mask.classList.remove('dplayer-mask-show');\n this.player.container.classList.remove('dplayer-show-controller');\n this.player.controller.disableAutoHide = false;\n this.hideSetting();\n }\n },\n {\n key: 'showSetting',\n value: function showSetting() {\n this.player.template.commentSettingBox.classList.add('dplayer-comment-setting-open');\n }\n },\n {\n key: 'hideSetting',\n value: function hideSetting() {\n this.player.template.commentSettingBox.classList.remove('dplayer-comment-setting-open');\n }\n },\n {\n key: 'toggleSetting',\n value: function toggleSetting() {\n if (this.player.template.commentSettingBox.classList.contains('dplayer-comment-setting-open')) {\n this.hideSetting();\n } else {\n this.showSetting();\n }\n }\n },\n {\n key: 'send',\n value: function send() {\n var _this2 = this;\n this.player.template.commentInput.blur();\n if (!this.player.template.commentInput.value.replace(/^\\s+|\\s+$/g, '')) {\n this.player.notice(this.player.tran('please-input-danmaku'));\n return;\n }\n this.player.danmaku.send({\n text: this.player.template.commentInput.value,\n color: utils.color2Number(this.player.container.querySelector('.dplayer-comment-setting-color input:checked').value),\n type: parseInt(this.player.container.querySelector('.dplayer-comment-setting-type input:checked').value)\n }, function () {\n _this2.player.template.commentInput.value = '';\n _this2.hide();\n });\n }\n }\n ]);\n return Comment;\n}();\nexport default Comment;","function _typeof(obj) {\n '@babel/helpers - typeof';\n return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n }, _typeof(obj);\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, 'prototype', { writable: false });\n return Constructor;\n}\nfunction _toPropertyKey(arg) {\n var key = _toPrimitive(arg, 'string');\n return _typeof(key) === 'symbol' ? key : String(key);\n}\nfunction _toPrimitive(input, hint) {\n if (_typeof(input) !== 'object' || input === null)\n return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || 'default');\n if (_typeof(res) !== 'object')\n return res;\n throw new TypeError('@@toPrimitive must return a primitive value.');\n }\n return (hint === 'string' ? String : Number)(input);\n}\nvar HotKey = function () {\n function HotKey(player) {\n _classCallCheck(this, HotKey);\n this.player = player;\n this.doHotKeyHandler = this.doHotKey.bind(this);\n this.cancelFullScreenHandler = this.cancelFullScreen.bind(this);\n if (this.player.options.hotkey) {\n document.addEventListener('keydown', this.doHotKeyHandler);\n }\n document.addEventListener('keydown', this.cancelFullScreenHandler);\n }\n _createClass(HotKey, [\n {\n key: 'doHotKey',\n value: function doHotKey(e) {\n if (this.player.focus) {\n var tag = document.activeElement.tagName.toUpperCase();\n var editable = document.activeElement.getAttribute('contenteditable');\n if (tag !== 'INPUT' && tag !== 'TEXTAREA' && editable !== '' && editable !== 'true') {\n var event = e || window.event;\n var percentage;\n switch (event.keyCode) {\n case 32:\n event.preventDefault();\n this.player.toggle();\n break;\n case 37:\n event.preventDefault();\n if (this.player.options.live) {\n break;\n }\n this.player.seek(this.player.video.currentTime - 5);\n this.player.controller.setAutoHide();\n break;\n case 39:\n event.preventDefault();\n if (this.player.options.live) {\n break;\n }\n this.player.seek(this.player.video.currentTime + 5);\n this.player.controller.setAutoHide();\n break;\n case 38:\n event.preventDefault();\n percentage = this.player.volume() + 0.1;\n this.player.volume(percentage);\n break;\n case 40:\n event.preventDefault();\n percentage = this.player.volume() - 0.1;\n this.player.volume(percentage);\n break;\n }\n }\n }\n }\n },\n {\n key: 'cancelFullScreen',\n value: function cancelFullScreen(e) {\n var event = e || window.event;\n switch (event.keyCode) {\n case 27:\n if (this.player.fullScreen.isFullScreen('web')) {\n this.player.fullScreen.cancel('web');\n }\n break;\n }\n }\n },\n {\n key: 'destroy',\n value: function destroy() {\n if (this.player.options.hotkey) {\n document.removeEventListener('keydown', this.doHotKeyHandler);\n }\n document.removeEventListener('keydown', this.cancelFullScreenHandler);\n }\n }\n ]);\n return HotKey;\n}();\nexport default HotKey;","function _typeof(obj) {\n '@babel/helpers - typeof';\n return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n }, _typeof(obj);\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, 'prototype', { writable: false });\n return Constructor;\n}\nfunction _toPropertyKey(arg) {\n var key = _toPrimitive(arg, 'string');\n return _typeof(key) === 'symbol' ? key : String(key);\n}\nfunction _toPrimitive(input, hint) {\n if (_typeof(input) !== 'object' || input === null)\n return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || 'default');\n if (_typeof(res) !== 'object')\n return res;\n throw new TypeError('@@toPrimitive must return a primitive value.');\n }\n return (hint === 'string' ? String : Number)(input);\n}\nvar ContextMenu = function () {\n function ContextMenu(player) {\n var _this = this;\n _classCallCheck(this, ContextMenu);\n this.player = player;\n this.shown = false;\n Array.prototype.slice.call(this.player.template.menuItem).forEach(function (item, index) {\n if (_this.player.options.contextmenu[index].click) {\n item.addEventListener('click', function () {\n _this.player.options.contextmenu[index].click(_this.player);\n _this.hide();\n });\n }\n });\n this.contextmenuHandler = function (e) {\n if (_this.shown) {\n _this.hide();\n return;\n }\n var event = e || window.event;\n event.preventDefault();\n var clientRect = _this.player.container.getBoundingClientRect();\n _this.show(event.clientX - clientRect.left, event.clientY - clientRect.top);\n _this.player.template.mask.addEventListener('click', function () {\n _this.hide();\n });\n };\n this.player.container.addEventListener('contextmenu', this.contextmenuHandler);\n }\n _createClass(ContextMenu, [\n {\n key: 'show',\n value: function show(x, y) {\n this.player.template.menu.classList.add('dplayer-menu-show');\n var clientRect = this.player.container.getBoundingClientRect();\n if (x + this.player.template.menu.offsetWidth >= clientRect.width) {\n this.player.template.menu.style.right = clientRect.width - x + 'px';\n this.player.template.menu.style.left = 'initial';\n } else {\n this.player.template.menu.style.left = x + 'px';\n this.player.template.menu.style.right = 'initial';\n }\n if (y + this.player.template.menu.offsetHeight >= clientRect.height) {\n this.player.template.menu.style.bottom = clientRect.height - y + 'px';\n this.player.template.menu.style.top = 'initial';\n } else {\n this.player.template.menu.style.top = y + 'px';\n this.player.template.menu.style.bottom = 'initial';\n }\n this.player.template.mask.classList.add('dplayer-mask-show');\n this.shown = true;\n this.player.events.trigger('contextmenu_show');\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.player.template.mask.classList.remove('dplayer-mask-show');\n this.player.template.menu.classList.remove('dplayer-menu-show');\n this.shown = false;\n this.player.events.trigger('contextmenu_hide');\n }\n },\n {\n key: 'destroy',\n value: function destroy() {\n this.player.container.removeEventListener('contextmenu', this.contextmenuHandler);\n }\n }\n ]);\n return ContextMenu;\n}();\nexport default ContextMenu;","function _typeof(obj) {\n '@babel/helpers - typeof';\n return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n }, _typeof(obj);\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, 'prototype', { writable: false });\n return Constructor;\n}\nfunction _toPropertyKey(arg) {\n var key = _toPrimitive(arg, 'string');\n return _typeof(key) === 'symbol' ? key : String(key);\n}\nfunction _toPrimitive(input, hint) {\n if (_typeof(input) !== 'object' || input === null)\n return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || 'default');\n if (_typeof(res) !== 'object')\n return res;\n throw new TypeError('@@toPrimitive must return a primitive value.');\n }\n return (hint === 'string' ? String : Number)(input);\n}\nvar InfoPanel = function () {\n function InfoPanel(player) {\n var _this = this;\n _classCallCheck(this, InfoPanel);\n this.container = player.template.infoPanel;\n this.template = player.template;\n this.video = player.video;\n this.player = player;\n this.template.infoPanelClose.addEventListener('click', function () {\n _this.hide();\n });\n }\n _createClass(InfoPanel, [\n {\n key: 'show',\n value: function show() {\n this.beginTime = Date.now();\n this.update();\n this.player.timer.enable('info');\n this.player.timer.enable('fps');\n this.container.classList.remove('dplayer-info-panel-hide');\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.player.timer.disable('info');\n this.player.timer.disable('fps');\n this.container.classList.add('dplayer-info-panel-hide');\n }\n },\n {\n key: 'triggle',\n value: function triggle() {\n if (this.container.classList.contains('dplayer-info-panel-hide')) {\n this.show();\n } else {\n this.hide();\n }\n }\n },\n {\n key: 'update',\n value: function update() {\n this.template.infoVersion.innerHTML = 'v'.concat(DPLAYER_VERSION, ' ').concat(GIT_HASH);\n this.template.infoType.innerHTML = this.player.type;\n this.template.infoUrl.innerHTML = this.player.options.video.url;\n this.template.infoResolution.innerHTML = ''.concat(this.player.video.videoWidth, ' x ').concat(this.player.video.videoHeight);\n this.template.infoDuration.innerHTML = this.player.video.duration;\n if (this.player.options.danmaku) {\n this.template.infoDanmakuId.innerHTML = this.player.options.danmaku.id;\n this.template.infoDanmakuApi.innerHTML = this.player.options.danmaku.api;\n this.template.infoDanmakuAmount.innerHTML = this.player.danmaku.dan.length;\n }\n }\n },\n {\n key: 'fps',\n value: function fps(value) {\n this.template.infoFPS.innerHTML = ''.concat(value.toFixed(1));\n }\n }\n ]);\n return InfoPanel;\n}();\nexport default InfoPanel;","function _typeof(obj) {\n '@babel/helpers - typeof';\n return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n }, _typeof(obj);\n}\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nfunction _defineProperty(obj, key, value) {\n key = _toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, 'prototype', { writable: false });\n return Constructor;\n}\nfunction _toPropertyKey(arg) {\n var key = _toPrimitive(arg, 'string');\n return _typeof(key) === 'symbol' ? key : String(key);\n}\nfunction _toPrimitive(input, hint) {\n if (_typeof(input) !== 'object' || input === null)\n return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || 'default');\n if (_typeof(res) !== 'object')\n return res;\n throw new TypeError('@@toPrimitive must return a primitive value.');\n }\n return (hint === 'string' ? String : Number)(input);\n}\nimport Promise from 'promise-polyfill';\nimport utils from './utils';\nimport handleOption from './options';\nimport { i18n } from './i18n';\nimport Template from './template';\nimport Icons from './icons';\nimport Danmaku from './danmaku';\nimport Events from './events';\nimport FullScreen from './fullscreen';\nimport User from './user';\nimport Subtitle from './subtitle';\nimport Subtitles from './subtitles';\nimport Bar from './bar';\nimport Timer from './timer';\nimport Bezel from './bezel';\nimport Controller from './controller';\nimport Setting from './setting';\nimport Comment from './comment';\nimport HotKey from './hotkey';\nimport ContextMenu from './contextmenu';\nimport InfoPanel from './info-panel';\nimport tplVideo from '../template/video.art';\nvar index = 0;\nvar instances = [];\nvar DPlayer = function () {\n function DPlayer(options) {\n var _this = this;\n _classCallCheck(this, DPlayer);\n this.options = handleOption(_objectSpread({ preload: options.video.type === 'webtorrent' ? 'none' : 'metadata' }, options));\n if (this.options.video.quality) {\n this.qualityIndex = this.options.video.defaultQuality;\n this.quality = this.options.video.quality[this.options.video.defaultQuality];\n }\n this.tran = new i18n(this.options.lang).tran;\n this.events = new Events();\n this.user = new User(this);\n this.container = this.options.container;\n this.noticeList = {};\n this.container.classList.add('dplayer');\n if (!this.options.danmaku) {\n this.container.classList.add('dplayer-no-danmaku');\n }\n if (this.options.live) {\n this.container.classList.add('dplayer-live');\n } else {\n this.container.classList.remove('dplayer-live');\n }\n if (utils.isMobile) {\n this.container.classList.add('dplayer-mobile');\n }\n this.arrow = this.container.offsetWidth <= 500;\n if (this.arrow) {\n this.container.classList.add('dplayer-arrow');\n }\n if (this.options.subtitle) {\n if (Array.isArray(this.options.subtitle.url)) {\n var offSubtitle = {\n subtitle: '',\n lang: 'off'\n };\n this.options.subtitle.url.push(offSubtitle);\n if (this.options.subtitle.defaultSubtitle) {\n if (typeof this.options.subtitle.defaultSubtitle === 'string') {\n this.options.subtitle.index = this.options.subtitle.url.findIndex(function (sub) {\n return sub.lang === _this.options.subtitle.defaultSubtitle ? true : sub.name === _this.options.subtitle.defaultSubtitle ? true : false;\n });\n } else if (typeof this.options.subtitle.defaultSubtitle === 'number') {\n this.options.subtitle.index = this.options.subtitle.defaultSubtitle;\n }\n }\n if (this.options.subtitle.index === -1 || !this.options.subtitle.index || this.options.subtitle.index > this.options.subtitle.url.length - 1) {\n this.options.subtitle.index = this.options.subtitle.url.findIndex(function (sub) {\n return sub.lang === _this.options.lang;\n });\n }\n if (this.options.subtitle.index === -1) {\n this.options.subtitle.index = this.options.subtitle.url.length - 1;\n }\n }\n }\n this.template = new Template({\n container: this.container,\n options: this.options,\n index: index,\n tran: this.tran\n });\n this.video = this.template.video;\n this.bar = new Bar(this.template);\n this.bezel = new Bezel(this.template.bezel);\n this.fullScreen = new FullScreen(this);\n this.controller = new Controller(this);\n if (this.options.danmaku) {\n this.danmaku = new Danmaku({\n player: this,\n container: this.template.danmaku,\n opacity: this.user.get('opacity'),\n callback: function callback() {\n setTimeout(function () {\n _this.template.danmakuLoading.style.display = 'none';\n if (_this.options.autoplay) {\n _this.play();\n }\n }, 0);\n },\n error: function error(msg) {\n _this.notice(msg);\n },\n apiBackend: this.options.apiBackend,\n borderColor: this.options.theme,\n height: this.arrow ? 24 : 30,\n time: function time() {\n return _this.video.currentTime;\n },\n unlimited: this.user.get('unlimited'),\n api: {\n id: this.options.danmaku.id,\n address: this.options.danmaku.api,\n token: this.options.danmaku.token,\n maximum: this.options.danmaku.maximum,\n addition: this.options.danmaku.addition,\n user: this.options.danmaku.user,\n speedRate: this.options.danmaku.speedRate\n },\n events: this.events,\n tran: function tran(msg) {\n return _this.tran(msg);\n }\n });\n this.comment = new Comment(this);\n }\n this.setting = new Setting(this);\n this.plugins = {};\n this.docClickFun = function () {\n _this.focus = false;\n };\n this.containerClickFun = function () {\n _this.focus = true;\n };\n document.addEventListener('click', this.docClickFun, true);\n this.container.addEventListener('click', this.containerClickFun, true);\n this.paused = true;\n this.timer = new Timer(this);\n this.hotkey = new HotKey(this);\n this.contextmenu = new ContextMenu(this);\n this.initVideo(this.video, this.quality && this.quality.type || this.options.video.type);\n this.infoPanel = new InfoPanel(this);\n if (!this.danmaku && this.options.autoplay) {\n this.play();\n }\n this.moveBar = false;\n index++;\n instances.push(this);\n }\n _createClass(DPlayer, [\n {\n key: 'seek',\n value: function seek(time) {\n time = Math.max(time, 0);\n if (this.video.duration) {\n time = Math.min(time, this.video.duration);\n }\n if (this.video.currentTime < time) {\n this.notice(''.concat(this.tran('ff').replace('%s', (time - this.video.currentTime).toFixed(0))));\n } else if (this.video.currentTime > time) {\n this.notice(''.concat(this.tran('rew').replace('%s', (this.video.currentTime - time).toFixed(0))));\n }\n this.video.currentTime = time;\n if (this.danmaku) {\n this.danmaku.seek();\n }\n this.bar.set('played', time / this.video.duration, 'width');\n this.template.ptime.innerHTML = utils.secondToTime(time);\n }\n },\n {\n key: 'play',\n value: function play(fromNative) {\n var _this2 = this;\n this.paused = false;\n if (this.video.paused && !utils.isMobile) {\n this.bezel['switch'](Icons.play);\n }\n this.template.playButton.innerHTML = Icons.pause;\n this.template.mobilePlayButton.innerHTML = Icons.pause;\n if (!fromNative) {\n var playedPromise = Promise.resolve(this.video.play());\n playedPromise['catch'](function () {\n _this2.pause();\n }).then(function () {\n });\n }\n this.timer.enable('loading');\n this.container.classList.remove('dplayer-paused');\n this.container.classList.add('dplayer-playing');\n if (this.danmaku) {\n this.danmaku.play();\n }\n if (this.options.mutex) {\n for (var i = 0; i < instances.length; i++) {\n if (this !== instances[i]) {\n instances[i].pause();\n }\n }\n }\n }\n },\n {\n key: 'pause',\n value: function pause(fromNative) {\n this.paused = true;\n this.container.classList.remove('dplayer-loading');\n if (!this.video.paused && !utils.isMobile) {\n this.bezel['switch'](Icons.pause);\n }\n this.template.playButton.innerHTML = Icons.play;\n this.template.mobilePlayButton.innerHTML = Icons.play;\n if (!fromNative) {\n this.video.pause();\n }\n this.timer.disable('loading');\n this.container.classList.remove('dplayer-playing');\n this.container.classList.add('dplayer-paused');\n if (this.danmaku) {\n this.danmaku.pause();\n }\n }\n },\n {\n key: 'switchVolumeIcon',\n value: function switchVolumeIcon() {\n if (this.volume() >= 0.95) {\n this.template.volumeIcon.innerHTML = Icons.volumeUp;\n } else if (this.volume() > 0) {\n this.template.volumeIcon.innerHTML = Icons.volumeDown;\n } else {\n this.template.volumeIcon.innerHTML = Icons.volumeOff;\n }\n }\n },\n {\n key: 'volume',\n value: function volume(percentage, nostorage, nonotice) {\n percentage = parseFloat(percentage);\n if (!isNaN(percentage)) {\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n this.bar.set('volume', percentage, 'width');\n var formatPercentage = ''.concat((percentage * 100).toFixed(0), '%');\n this.template.volumeBarWrapWrap.dataset.balloon = formatPercentage;\n if (!nostorage) {\n this.user.set('volume', percentage);\n }\n if (!nonotice) {\n this.notice(''.concat(this.tran('volume'), ' ').concat((percentage * 100).toFixed(0), '%'), undefined, undefined, 'volume');\n }\n this.video.volume = percentage;\n if (this.video.muted) {\n this.video.muted = false;\n }\n this.switchVolumeIcon();\n }\n return this.video.volume;\n }\n },\n {\n key: 'toggle',\n value: function toggle() {\n if (this.video.paused) {\n this.play();\n } else {\n this.pause();\n }\n }\n },\n {\n key: 'on',\n value: function on(name, callback) {\n this.events.on(name, callback);\n }\n },\n {\n key: 'switchVideo',\n value: function switchVideo(video, danmakuAPI) {\n this.pause();\n this.video.poster = video.pic ? video.pic : '';\n this.video.src = video.url;\n this.initMSE(this.video, video.type || 'auto');\n if (danmakuAPI) {\n this.template.danmakuLoading.style.display = 'block';\n this.bar.set('played', 0, 'width');\n this.bar.set('loaded', 0, 'width');\n this.template.ptime.innerHTML = '00:00';\n this.template.danmaku.innerHTML = '';\n if (this.danmaku) {\n this.danmaku.reload({\n id: danmakuAPI.id,\n address: danmakuAPI.api,\n token: danmakuAPI.token,\n maximum: danmakuAPI.maximum,\n addition: danmakuAPI.addition,\n user: danmakuAPI.user\n });\n }\n }\n }\n },\n {\n key: 'initMSE',\n value: function initMSE(video, type) {\n var _this3 = this;\n this.type = type;\n if (this.options.video.customType && this.options.video.customType[type]) {\n if (Object.prototype.toString.call(this.options.video.customType[type]) === '[object Function]') {\n this.options.video.customType[type](this.video, this);\n } else {\n console.error('Illegal customType: '.concat(type));\n }\n } else {\n if (this.type === 'auto') {\n if (/m3u8(#|\\?|$)/i.exec(video.src)) {\n this.type = 'hls';\n } else if (/.flv(#|\\?|$)/i.exec(video.src)) {\n this.type = 'flv';\n } else if (/.mpd(#|\\?|$)/i.exec(video.src)) {\n this.type = 'dash';\n } else {\n this.type = 'normal';\n }\n }\n if (this.type === 'hls' && (video.canPlayType('application/x-mpegURL') || video.canPlayType('application/vnd.apple.mpegURL'))) {\n this.type = 'normal';\n }\n switch (this.type) {\n case 'hls':\n if (window.Hls) {\n if (window.Hls.isSupported()) {\n var options = this.options.pluginOptions.hls;\n var hls = new window.Hls(options);\n this.plugins.hls = hls;\n hls.loadSource(video.src);\n hls.attachMedia(video);\n this.events.on('destroy', function () {\n hls.destroy();\n delete _this3.plugins.hls;\n });\n } else {\n this.notice('Error: Hls is not supported.');\n }\n } else {\n this.notice('Error: Can\\'t find Hls.');\n }\n break;\n case 'flv':\n if (window.flvjs) {\n if (window.flvjs.isSupported()) {\n var flvPlayer = window.flvjs.createPlayer(Object.assign(this.options.pluginOptions.flv.mediaDataSource || {}, {\n type: 'flv',\n url: video.src\n }), this.options.pluginOptions.flv.config);\n this.plugins.flvjs = flvPlayer;\n flvPlayer.attachMediaElement(video);\n flvPlayer.load();\n this.events.on('destroy', function () {\n flvPlayer.unload();\n flvPlayer.detachMediaElement();\n flvPlayer.destroy();\n delete _this3.plugins.flvjs;\n });\n } else {\n this.notice('Error: flvjs is not supported.');\n }\n } else {\n this.notice('Error: Can\\'t find flvjs.');\n }\n break;\n case 'dash':\n if (window.dashjs) {\n var dashjsPlayer = window.dashjs.MediaPlayer().create().initialize(video, video.src, false);\n var _options = this.options.pluginOptions.dash;\n dashjsPlayer.updateSettings(_options);\n this.plugins.dash = dashjsPlayer;\n this.events.on('destroy', function () {\n window.dashjs.MediaPlayer().reset();\n delete _this3.plugins.dash;\n });\n } else {\n this.notice('Error: Can\\'t find dashjs.');\n }\n break;\n case 'webtorrent':\n if (window.WebTorrent) {\n if (window.WebTorrent.WEBRTC_SUPPORT) {\n this.container.classList.add('dplayer-loading');\n var _options2 = this.options.pluginOptions.webtorrent;\n var client = new window.WebTorrent(_options2);\n this.plugins.webtorrent = client;\n var torrentId = video.src;\n video.src = '';\n video.preload = 'metadata';\n video.addEventListener('durationchange', function () {\n return _this3.container.classList.remove('dplayer-loading');\n }, { once: true });\n client.add(torrentId, function (torrent) {\n var file = torrent.files.find(function (file) {\n return file.name.endsWith('.mp4');\n });\n file.renderTo(_this3.video, {\n autoplay: _this3.options.autoplay,\n controls: false\n });\n });\n this.events.on('destroy', function () {\n client.remove(torrentId);\n client.destroy();\n delete _this3.plugins.webtorrent;\n });\n } else {\n this.notice('Error: Webtorrent is not supported.');\n }\n } else {\n this.notice('Error: Can\\'t find Webtorrent.');\n }\n break;\n }\n }\n }\n },\n {\n key: 'initVideo',\n value: function initVideo(video, type) {\n var _this4 = this;\n this.initMSE(video, type);\n this.on('durationchange', function () {\n if (video.duration !== 1 && video.duration !== Infinity) {\n _this4.template.dtime.innerHTML = utils.secondToTime(video.duration);\n }\n });\n this.on('progress', function () {\n var percentage = video.buffered.length ? video.buffered.end(video.buffered.length - 1) / video.duration : 0;\n _this4.bar.set('loaded', percentage, 'width');\n });\n this.on('error', function () {\n if (!_this4.video.error) {\n return;\n }\n _this4.tran && _this4.notice && _this4.type !== 'webtorrent' && _this4.notice(_this4.tran('video-failed'));\n });\n this.on('ended', function () {\n _this4.bar.set('played', 1, 'width');\n if (!_this4.setting.loop) {\n _this4.pause();\n } else {\n _this4.seek(0);\n _this4.play();\n }\n if (_this4.danmaku) {\n _this4.danmaku.danIndex = 0;\n }\n });\n this.on('play', function () {\n if (_this4.paused) {\n _this4.play(true);\n }\n });\n this.on('pause', function () {\n if (!_this4.paused) {\n _this4.pause(true);\n }\n });\n this.on('timeupdate', function () {\n if (!_this4.moveBar) {\n _this4.bar.set('played', _this4.video.currentTime / _this4.video.duration, 'width');\n }\n var currentTime = utils.secondToTime(_this4.video.currentTime);\n if (_this4.template.ptime.innerHTML !== currentTime) {\n _this4.template.ptime.innerHTML = currentTime;\n }\n });\n var _loop = function _loop(i) {\n video.addEventListener(_this4.events.videoEvents[i], function (e) {\n _this4.events.trigger(_this4.events.videoEvents[i], e);\n });\n };\n for (var i = 0; i < this.events.videoEvents.length; i++) {\n _loop(i);\n }\n this.volume(this.user.get('volume'), true, true);\n if (this.options.subtitle) {\n this.subtitle = new Subtitle(this.template.subtitle, this.video, this.options.subtitle, this.events);\n if (Array.isArray(this.options.subtitle.url)) {\n this.subtitles = new Subtitles(this);\n }\n if (!this.user.get('subtitle')) {\n this.subtitle.hide();\n }\n }\n }\n },\n {\n key: 'switchQuality',\n value: function switchQuality(index) {\n var _this5 = this;\n index = typeof index === 'string' ? parseInt(index) : index;\n if (this.qualityIndex === index || this.switchingQuality) {\n return;\n } else {\n this.prevIndex = this.qualityIndex;\n this.qualityIndex = index;\n }\n this.switchingQuality = true;\n this.quality = this.options.video.quality[index];\n this.template.qualityButton.innerHTML = this.quality.name;\n var paused = this.video.paused;\n this.video.pause();\n var videoHTML = tplVideo({\n current: false,\n pic: null,\n screenshot: this.options.screenshot,\n preload: 'auto',\n url: this.quality.url,\n subtitle: this.options.subtitle\n });\n var videoEle = new DOMParser().parseFromString(videoHTML, 'text/html').body.firstChild;\n this.template.videoWrap.insertBefore(videoEle, this.template.videoWrap.getElementsByTagName('div')[0]);\n this.prevVideo = this.video;\n this.video = videoEle;\n this.initVideo(this.video, this.quality.type || this.options.video.type);\n this.seek(this.prevVideo.currentTime);\n this.notice(''.concat(this.tran('switching-quality').replace('%q', this.quality.name)), -1, undefined, 'switch-quality');\n this.events.trigger('quality_start', this.quality);\n this.on('canplay', function () {\n if (_this5.prevVideo) {\n if (_this5.video.currentTime !== _this5.prevVideo.currentTime) {\n _this5.seek(_this5.prevVideo.currentTime);\n return;\n }\n _this5.template.videoWrap.removeChild(_this5.prevVideo);\n _this5.video.classList.add('dplayer-video-current');\n if (!paused) {\n _this5.video.play();\n }\n _this5.prevVideo = null;\n _this5.notice(''.concat(_this5.tran('switched-quality').replace('%q', _this5.quality.name)), undefined, undefined, 'switch-quality');\n _this5.switchingQuality = false;\n _this5.events.trigger('quality_end');\n }\n });\n this.on('error', function () {\n if (!_this5.video.error) {\n return;\n }\n if (_this5.prevVideo) {\n _this5.template.videoWrap.removeChild(_this5.video);\n _this5.video = _this5.prevVideo;\n if (!paused) {\n _this5.video.play();\n }\n _this5.qualityIndex = _this5.prevIndex;\n _this5.quality = _this5.options.video.quality[_this5.qualityIndex];\n _this5.noticeTime = setTimeout(function () {\n _this5.template.notice.style.opacity = 0;\n _this5.events.trigger('notice_hide');\n }, 3000);\n _this5.prevVideo = null;\n _this5.switchingQuality = false;\n }\n });\n }\n },\n {\n key: 'notice',\n value: function notice(text) {\n var time = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2000;\n var opacity = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0.8;\n var id = arguments.length > 3 ? arguments[3] : undefined;\n var oldNoticeEle;\n if (id) {\n oldNoticeEle = document.getElementById('dplayer-notice-'.concat(id));\n if (oldNoticeEle) {\n oldNoticeEle.innerHTML = text;\n }\n if (this.noticeList[id]) {\n clearTimeout(this.noticeList[id]);\n this.noticeList[id] = null;\n }\n }\n if (!oldNoticeEle) {\n var notice = Template.NewNotice(text, opacity, id);\n this.template.noticeList.appendChild(notice);\n oldNoticeEle = notice;\n }\n this.events.trigger('notice_show', oldNoticeEle);\n if (time > 0) {\n this.noticeList[id] = setTimeout(function (e, dp) {\n return function () {\n e.addEventListener('animationend', function () {\n dp.template.noticeList.removeChild(e);\n });\n e.classList.add('remove-notice');\n dp.events.trigger('notice_hide');\n dp.noticeList[id] = null;\n };\n }(oldNoticeEle, this), time);\n }\n }\n },\n {\n key: 'resize',\n value: function resize() {\n if (this.danmaku) {\n this.danmaku.resize();\n }\n if (this.controller.thumbnails) {\n this.controller.thumbnails.resize(160, this.video.videoHeight / this.video.videoWidth * 160, this.template.barWrap.offsetWidth);\n }\n this.events.trigger('resize');\n }\n },\n {\n key: 'speed',\n value: function speed(rate) {\n this.video.playbackRate = rate;\n }\n },\n {\n key: 'destroy',\n value: function destroy() {\n instances.splice(instances.indexOf(this), 1);\n this.pause();\n document.removeEventListener('click', this.docClickFun, true);\n this.container.removeEventListener('click', this.containerClickFun, true);\n this.fullScreen.destroy();\n this.hotkey.destroy();\n this.contextmenu.destroy();\n this.controller.destroy();\n this.timer.destroy();\n this.video.src = '';\n this.container.innerHTML = '';\n this.events.trigger('destroy');\n }\n }\n ], [{\n key: 'version',\n get: function get() {\n return DPLAYER_VERSION;\n }\n }]);\n return DPlayer;\n}();\nexport default DPlayer;","import '../css/index.less';\nimport DPlayer from './player';\nconsole.log('\\n'.concat(' %c DPlayer v', DPLAYER_VERSION, ' ').concat(GIT_HASH, ' %c https://dplayer.diygod.dev ', '\\n', '\\n'), 'color: #fadfa3; background: #030307; padding:5px 0;', 'background: #fadfa3; padding:5px 0;');\nexport default DPlayer;"],"names":["root","factory","exports","module","define","amd","self","___CSS_LOADER_EXPORT___","push","id","___CSS_LOADER_URL_IMPORT_0___","URL","i","___CSS_LOADER_URL_REPLACEMENT_0___","stylesInDOM","getIndexByIdentifier","identifier","result","length","modulesToDom","list","options","idCountMap","identifiers","item","base","count","concat","indexByIdentifier","obj","css","media","sourceMap","supports","layer","references","updater","addElementStyle","byIndex","splice","api","domAPI","update","newObj","remove","lastIdentifiers","newList","index","newLastIdentifiers","_i","_index","memo","insert","style","target","styleTarget","document","querySelector","window","HTMLIFrameElement","contentDocument","head","e","getTarget","Error","appendChild","element","createElement","setAttributes","attributes","styleElement","nonce","setAttribute","insertStyleElement","needLayer","btoa","unescape","encodeURIComponent","JSON","stringify","styleTagTransform","apply","parentNode","removeChild","removeStyleElement","styleSheet","cssText","firstChild","createTextNode","globalThis","g","runtime","Object","create","ESCAPE_REG","toString","value","call","$escape","content","html","regexResult","exec","lastIndex","_char","charCodeAt","substring","xmlEscape","$each","data","callback","Array","isArray","len","cssWithMappingToString","this","map","join","modules","dedupe","undefined","alreadyImportedModules","k","_k","url","String","__esModule","test","slice","hash","needQuotes","replace","cssMapping","base64","sourceMapping","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","m","n","getter","d","a","definition","key","o","defineProperty","enumerable","get","Function","prop","prototype","hasOwnProperty","b","baseURI","location","href","nc","locals","_typeof","Symbol","iterator","constructor","AggregateError","errors","message","name","setTimeoutFunc","setTimeout","x","Boolean","noop","fn","TypeError","_state","_handled","_value","_deferreds","doResolve","handle","deferred","_immediateFn","cb","onFulfilled","onRejected","ret","reject","promise","resolve","newValue","then","finale","thisArg","arguments","_unhandledRejectionFn","Handler","done","reason","ex","prom","all","arr","args","remaining","res","val","any","P","rejectionReasons","error","allSettled","status","race","setImmediate","err","console","warn","isMobile","navigator","userAgent","secondToTime","second","Infinity","hour","Math","floor","min","sec","num","getElementViewLeft","actualLeft","offsetLeft","current","offsetParent","elementScrollLeft","body","scrollLeft","documentElement","fullscreenElement","mozFullScreenElement","webkitFullscreenElement","getBoundingClientRectViewLeft","scrollTop","scrollY","pageYOffset","getBoundingClientRect","offset","temp","top","rect","left","getScrollPosition","pageXOffset","setScrollPosition","_ref","_ref$left","_ref$top","isFirefox","scrollTo","isChrome","isSafari","storage","set","localStorage","setItem","getItem","nameMap","dragStart","dragMove","dragEnd","color2Number","color","substr","parseInt","number2Color","number","number2Type","cache","getPrototypeOf","kindOf","thing","str","toLowerCase","kindOfTest","type","typeOfTest","isUndefined","isArrayBuffer","isString","isFunction","isNumber","isObject","isPlainObject","toStringTag","isDate","isFile","isBlob","isFileList","isURLSearchParams","forEach","l","_ref$allOwnKeys","allOwnKeys","keys","getOwnPropertyNames","findKey","_key","TypedArray","_global","global","isContextDefined","context","isTypedArray","Uint8Array","isHTMLForm","isRegExp","reduceDescriptors","reducer","descriptors","getOwnPropertyDescriptors","reducedDescriptors","descriptor","defineProperties","ALPHA","DIGIT","ALPHABET","ALPHA_DIGIT","toUpperCase","isAsyncFn","isBuffer","isFormData","kind","FormData","append","isArrayBufferView","ArrayBuffer","isView","buffer","isBoolean","isStream","pipe","merge","caseless","assignValue","targetKey","extend","trim","stripBOM","inherits","superConstructor","props","assign","toFlatObject","sourceObj","destObj","filter","propFilter","merged","endsWith","searchString","position","indexOf","toArray","forEachEntry","next","pair","matchAll","regExp","matches","hasOwnProp","freezeMethods","writable","toObjectSet","arrayOrString","delimiter","split","toCamelCase","p1","p2","toFiniteNumber","defaultValue","Number","isFinite","generateString","size","alphabet","random","isSpecCompliantForm","toJSONObject","stack","visit","source","reducedValue","isThenable","AxiosError","code","config","request","response","captureStackTrace","toJSON","description","fileName","lineNumber","columnNumber","from","customProps","axiosError","cause","isVisitable","removeBrackets","renderKey","path","dots","token","predicates","formData","metaTokens","indexes","option","visitor","defaultVisitor","useBlob","Blob","convertValue","toISOString","Buffer","some","isFlatArray","el","exposedHelpers","build","pop","encode","charMap","match","AxiosURLSearchParams","params","_pairs","encoder","_encode","buildURL","serializedParams","serializeFn","serialize","hashmarkIndex","_defineProperties","configurable","input","hint","prim","toPrimitive","_toPrimitive","InterceptorManager","instance","Constructor","_classCallCheck","handlers","protoProps","fulfilled","rejected","synchronous","runWhen","h","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","product","isBrowser","classes","URLSearchParams","isStandardBrowserEnv","isStandardBrowserWebWorkerEnv","WorkerGlobalScope","importScripts","protocols","buildPath","isNumericKey","isLast","arrayToObject","entries","parsePropPath","DEFAULT_CONTENT_TYPE","defaults","transitional","adapter","transformRequest","headers","contentType","getContentType","hasJSONContentType","isObjectPayload","setContentType","helpers","isNode","toURLEncodedForm","formSerializer","_FormData","env","rawValue","parser","parse","stringifySafely","transformResponse","JSONRequested","responseType","strictJSONParsing","ERR_BAD_RESPONSE","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","method","ignoreDuplicateOf","_arrayLikeToArray","arr2","$internals","normalizeHeader","header","normalizeValue","matchHeaderValue","isHeaderNameFilter","AxiosHeaders","_Symbol$iterator","_Symbol$toStringTag","staticProps","valueOrRewrite","rewrite","setHeader","_header","_rewrite","lHeader","rawHeaders","parsed","setHeaders","line","tokens","tokensRE","parseTokens","matcher","deleted","deleteHeader","format","normalized","w","formatHeader","_this$constructor","_len","targets","asStrings","_ref2","_arrayWithHoles","_s","_e","_x","_r","_arr","_n","_d","_iterableToArrayLimit","minLen","_unsupportedIterableToArray","_nonIterableRest","first","computed","_len2","_key2","accessors","defineAccessor","accessorName","methodName","arg1","arg2","arg3","buildAccessors","accessor","transformData","fns","normalize","isCancel","__CANCEL__","CanceledError","ERR_CANCELED","write","expires","domain","secure","cookie","Date","toGMTString","read","RegExp","decodeURIComponent","now","buildFullPath","baseURL","requestedURL","relativeURL","combineURLs","originURL","msie","urlParsingNode","resolveURL","protocol","host","search","hostname","port","pathname","charAt","requestURL","progressEventReducer","listener","isDownloadStream","bytesNotified","_speedometer","samplesCount","firstSampleTS","bytes","timestamps","tail","chunkLength","startedAt","bytesCount","passed","round","loaded","total","lengthComputable","progressBytes","rate","progress","estimated","event","XMLHttpRequest","Promise","onCanceled","requestData","requestHeaders","cancelToken","unsubscribe","signal","removeEventListener","auth","username","password","fullPath","onloadend","responseHeaders","getAllResponseHeaders","ERR_BAD_REQUEST","settle","responseText","statusText","open","paramsSerializer","onreadystatechange","readyState","responseURL","onabort","ECONNABORTED","onerror","ERR_NETWORK","ontimeout","timeoutErrorMessage","ETIMEDOUT","xsrfValue","withCredentials","isURLSameOrigin","cookies","setRequestHeader","onDownloadProgress","addEventListener","onUploadProgress","upload","cancel","abort","subscribe","aborted","send","knownAdapters","http","xhr","throwIfCancellationRequested","throwIfRequested","dispatchRequest","adapters","nameOrAdapter","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","timeoutMessage","decompress","beforeRedirect","transport","httpAgent","httpsAgent","socketPath","responseEncoding","configValue","validators","deprecatedWarnings","validator","version","formatMessage","opt","desc","opts","ERR_DEPRECATED","assertOptions","schema","allowUnknown","ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","Axios","instanceConfig","interceptors","configOrUrl","contextHeaders","_config","requestInterceptorChain","synchronousRequestInterceptors","interceptor","unshift","responseInterceptorChain","chain","bind","newConfig","generateHTTPMethod","isForm","CancelToken","executor","resolvePromise","_listeners","onfulfilled","_resolve","c","HttpStatusCode","Continue","SwitchingProtocols","Processing","EarlyHints","Ok","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","axios","createInstance","defaultConfig","VERSION","toFormData","Cancel","promises","spread","isAxiosError","payload","formToJSON","post","success","msg","time","author","text","i18n","lang","_this","fallbackLang","includes","tran","tranTxt","standard","bottom","rolling","loop","speed","normal","ff","rew","setting","fullscreen","screenshot","airplay","chromecast","subtitle","off","volume","live","en","Volume","de","play","pause","volumeUp","volumeDown","volumeOff","full","fullWeb","right","comment","commentOff","pallette","camera","loading","Template","container","init","opacity","notice","classList","add","innerText","innerHTML","icons","mobile","video","pic","preload","volumeBar","volumeBarWrap","volumeBarWrapWrap","volumeButton","volumeButtonIcon","volumeIcon","playedBar","loadedBar","playedBarWrap","playedBarTime","danmaku","danmakuLoading","bezel","playButton","mobilePlayButton","videoWrap","controllerMask","ptime","settingButton","settingBox","mask","loopToggle","showDanmaku","showDanmakuToggle","unlimitDanmaku","unlimitDanmakuToggle","speedItem","querySelectorAll","danmakuOpacityBar","danmakuOpacityBarWrap","danmakuOpacityBarWrapWrap","danmakuOpacityBox","dtime","controller","commentInput","commentButton","commentSettingBox","commentSettingButton","commentSettingFill","commentSendButton","commentSendFill","commentColorSettingBox","browserFullButton","webFullButton","menu","menuItem","qualityList","camareButton","airplayButton","chromecastButton","subtitleButton","subtitleButtonInner","subtitlesButton","subtitlesBox","subtitlesItem","subtrack","qualityButton","barPreview","barWrap","noticeList","infoPanel","infoPanelClose","infoVersion","infoFPS","infoType","infoUrl","infoResolution","infoDuration","infoDanmakuId","infoDanmakuApi","infoDanmakuAmount","Danmaku","player","danTunnel","danIndex","dan","showing","_opacity","events","unlimited","_measure","load","apiurl","maximum","address","endpoints","addition","trigger","_readAllEndpoints","results","sort","requestAnimationFrame","frame","newAPI","clear","_this2","readCount","_loop","apiBackend","_this3","danmakuData","user","htmlEncode","border","borderColor","draw","_this4","paused","parseFloat","percentage","items","getElementsByClassName","_this5","itemHeight","height","danWidth","offsetWidth","danHeight","offsetHeight","itemY","danItemRight","ele","eleWidth","width","eleRight","danSpeed","getTunnel","_ret","tmp","_loop2","v","j","danRight","docFragment","createDocumentFragment","_loop3","tunnel","itemWidth","transform","animationDuration","_danAnimation","measureStyle","getComputedStyle","getContext","font","getPropertyValue","measureText","seek","_boolean","speedRate","isFullScreen","fullScreen","Events","videoEvents","playerEvents","info","FullScreen","lastScrollPosition","on","resize","fullscreenchange","docfullscreenchange","fullEle","msFullscreenElement","contains","anotherType","anotherTypeOn","requestFullscreen","mozRequestFullScreen","webkitRequestFullscreen","webkitEnterFullscreen","webkitEnterFullScreen","msRequestFullscreen","cancelFullScreen","mozCancelFullScreen","webkitCancelFullScreen","webkitCancelFullscreen","msCancelFullScreen","msExitFullscreen","User","storageName","Subtitle","fontSize","textTracks","track","oncuechange","cue","activeCues","template","getCueAsHTML","trackHtml","show","hide","Subtitles","adaptiveHeight","lastItemIndex","src","dataset","subContainerShow","subContainerHide","disableAutoHide","curBoxHeight","stdMaxHeight","Bar","elements","played","direction","max","Timer","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","types","lastPlayPos","currentPlayPos","bufferingDetected","loadingChecker","setInterval","enableloadingChecker","currentTime","enablefpsChecker","initfpsChecker","fpsStart","fpsIndex","fpsCurrent","fps","infoChecker","enableinfoChecker","clearInterval","Bezel","icon","Thumbnails","barWidth","backgroundImage","barWrapWidth","display","backgroundPosition","ceil","cast","runOnce","isCasting","Controller","autoHideTimer","setAutoHideHandler","setAutoHide","initPlayButton","initThumbnails","initPlayedBar","initFullButton","initQualityButton","initScreenshotButton","initSubtitleButton","initHighlights","initAirplayButton","initChromecastButton","initVolumeButton","toggle","preventClickToggle","duration","highlight","highlights","p","insertBefore","thumbnails","videoHeight","videoWidth","thumbMove","clientX","changedTouches","clientWidth","bar","thumbUp","moveBar","px","tx","move","_this6","volumeMove","muted","switchVolumeIcon","_this7","quality","switchQuality","_this8","dataURL","canvas","drawImage","toBlob","blob","createObjectURL","link","download","click","revokeObjectURL","WebKitPlaybackTargetAvailabilityEvent","availability","disable","webkitShowPlaybackTargetPicker","script","__onGCastApiAvailable","isAvailable","sessionRequest","chrome","SessionRequest","DEFAULT_MEDIA_RECEIVER_APP_ID","apiConfig","ApiConfig","ReceiverAvailability","AVAILABLE","log","initialize","_this9","initChromecast","onMediaDiscovered","how","currentMedia","onMediaError","stop","session","requestSession","s","mediaInfo","MediaInfo","LoadRequest","loadMedia","_this10","balloon","_this11","clearTimeout","isShow","Setting","checked","unlimit","danmakuMove","danmakuUp","Comment","toggleSetting","fill","hideSetting","keyCode","focus","showSetting","blur","HotKey","doHotKeyHandler","doHotKey","cancelFullScreenHandler","hotkey","tag","activeElement","tagName","editable","getAttribute","preventDefault","ContextMenu","shown","contextmenu","contextmenuHandler","clientRect","clientY","y","InfoPanel","beginTime","timer","enable","toFixed","ownKeys","object","enumerableOnly","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","_defineProperty","arg","instances","DPlayer","defaultOption","autoplay","theme","language","browserLanguage","playbackSpeed","mutex","pluginOptions","hls","flv","dash","webtorrent","defaultKey","defaultQuality","triggle","_objectSpread","qualityIndex","arrow","defaultSubtitle","findIndex","sub","plugins","docClickFun","containerClickFun","initVideo","fromNative","nostorage","nonotice","isNaN","formatPercentage","danmakuAPI","poster","initMSE","reload","customType","canPlayType","Hls","isSupported","loadSource","attachMedia","destroy","flvjs","flvPlayer","createPlayer","mediaDataSource","attachMediaElement","unload","detachMediaElement","dashjs","dashjsPlayer","MediaPlayer","_options","updateSettings","reset","WebTorrent","WEBRTC_SUPPORT","_options2","client","torrentId","once","torrent","files","find","file","renderTo","controls","buffered","end","subtitles","switchingQuality","prevIndex","videoHTML","videoEle","DOMParser","parseFromString","getElementsByTagName","prevVideo","noticeTime","oldNoticeEle","dp","getElementById","NewNotice","playbackRate"],"sourceRoot":""} \ No newline at end of file diff --git a/h5/vue/vue.global.js b/h5/vue/vue.global.js new file mode 100644 index 0000000..3587ac9 --- /dev/null +++ b/h5/vue/vue.global.js @@ -0,0 +1,16725 @@ +/** +* vue v3.4.27 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +var Vue = (function (exports) { + 'use strict'; + + /*! #__NO_SIDE_EFFECTS__ */ + // @__NO_SIDE_EFFECTS__ + function makeMap(str, expectsLowerCase) { + const set = new Set(str.split(",")); + return expectsLowerCase ? (val) => set.has(val.toLowerCase()) : (val) => set.has(val); + } + + const EMPTY_OBJ = Object.freeze({}) ; + const EMPTY_ARR = Object.freeze([]) ; + const NOOP = () => { + }; + const NO = () => false; + const isOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // uppercase letter + (key.charCodeAt(2) > 122 || key.charCodeAt(2) < 97); + const isModelListener = (key) => key.startsWith("onUpdate:"); + const extend = Object.assign; + const remove = (arr, el) => { + const i = arr.indexOf(el); + if (i > -1) { + arr.splice(i, 1); + } + }; + const hasOwnProperty$1 = Object.prototype.hasOwnProperty; + const hasOwn = (val, key) => hasOwnProperty$1.call(val, key); + const isArray = Array.isArray; + const isMap = (val) => toTypeString(val) === "[object Map]"; + const isSet = (val) => toTypeString(val) === "[object Set]"; + const isDate = (val) => toTypeString(val) === "[object Date]"; + const isRegExp = (val) => toTypeString(val) === "[object RegExp]"; + const isFunction = (val) => typeof val === "function"; + const isString = (val) => typeof val === "string"; + const isSymbol = (val) => typeof val === "symbol"; + const isObject = (val) => val !== null && typeof val === "object"; + const isPromise = (val) => { + return (isObject(val) || isFunction(val)) && isFunction(val.then) && isFunction(val.catch); + }; + const objectToString = Object.prototype.toString; + const toTypeString = (value) => objectToString.call(value); + const toRawType = (value) => { + return toTypeString(value).slice(8, -1); + }; + const isPlainObject = (val) => toTypeString(val) === "[object Object]"; + const isIntegerKey = (key) => isString(key) && key !== "NaN" && key[0] !== "-" && "" + parseInt(key, 10) === key; + const isReservedProp = /* @__PURE__ */ makeMap( + // the leading comma is intentional so empty string "" is also included + ",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted" + ); + const isBuiltInDirective = /* @__PURE__ */ makeMap( + "bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo" + ); + const cacheStringFunction = (fn) => { + const cache = /* @__PURE__ */ Object.create(null); + return (str) => { + const hit = cache[str]; + return hit || (cache[str] = fn(str)); + }; + }; + const camelizeRE = /-(\w)/g; + const camelize = cacheStringFunction((str) => { + return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : ""); + }); + const hyphenateRE = /\B([A-Z])/g; + const hyphenate = cacheStringFunction( + (str) => str.replace(hyphenateRE, "-$1").toLowerCase() + ); + const capitalize = cacheStringFunction((str) => { + return str.charAt(0).toUpperCase() + str.slice(1); + }); + const toHandlerKey = cacheStringFunction((str) => { + const s = str ? `on${capitalize(str)}` : ``; + return s; + }); + const hasChanged = (value, oldValue) => !Object.is(value, oldValue); + const invokeArrayFns = (fns, arg) => { + for (let i = 0; i < fns.length; i++) { + fns[i](arg); + } + }; + const def = (obj, key, value, writable = false) => { + Object.defineProperty(obj, key, { + configurable: true, + enumerable: false, + writable, + value + }); + }; + const looseToNumber = (val) => { + const n = parseFloat(val); + return isNaN(n) ? val : n; + }; + const toNumber = (val) => { + const n = isString(val) ? Number(val) : NaN; + return isNaN(n) ? val : n; + }; + let _globalThis; + const getGlobalThis = () => { + return _globalThis || (_globalThis = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {}); + }; + + const PatchFlagNames = { + [1]: `TEXT`, + [2]: `CLASS`, + [4]: `STYLE`, + [8]: `PROPS`, + [16]: `FULL_PROPS`, + [32]: `NEED_HYDRATION`, + [64]: `STABLE_FRAGMENT`, + [128]: `KEYED_FRAGMENT`, + [256]: `UNKEYED_FRAGMENT`, + [512]: `NEED_PATCH`, + [1024]: `DYNAMIC_SLOTS`, + [2048]: `DEV_ROOT_FRAGMENT`, + [-1]: `HOISTED`, + [-2]: `BAIL` + }; + + const slotFlagsText = { + [1]: "STABLE", + [2]: "DYNAMIC", + [3]: "FORWARDED" + }; + + const GLOBALS_ALLOWED = "Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error"; + const isGloballyAllowed = /* @__PURE__ */ makeMap(GLOBALS_ALLOWED); + + const range = 2; + function generateCodeFrame(source, start = 0, end = source.length) { + let lines = source.split(/(\r?\n)/); + const newlineSequences = lines.filter((_, idx) => idx % 2 === 1); + lines = lines.filter((_, idx) => idx % 2 === 0); + let count = 0; + const res = []; + for (let i = 0; i < lines.length; i++) { + count += lines[i].length + (newlineSequences[i] && newlineSequences[i].length || 0); + if (count >= start) { + for (let j = i - range; j <= i + range || end > count; j++) { + if (j < 0 || j >= lines.length) + continue; + const line = j + 1; + res.push( + `${line}${" ".repeat(Math.max(3 - String(line).length, 0))}| ${lines[j]}` + ); + const lineLength = lines[j].length; + const newLineSeqLength = newlineSequences[j] && newlineSequences[j].length || 0; + if (j === i) { + const pad = start - (count - (lineLength + newLineSeqLength)); + const length = Math.max( + 1, + end > count ? lineLength - pad : end - start + ); + res.push(` | ` + " ".repeat(pad) + "^".repeat(length)); + } else if (j > i) { + if (end > count) { + const length = Math.max(Math.min(end - count, lineLength), 1); + res.push(` | ` + "^".repeat(length)); + } + count += lineLength + newLineSeqLength; + } + } + break; + } + } + return res.join("\n"); + } + + function normalizeStyle(value) { + if (isArray(value)) { + const res = {}; + for (let i = 0; i < value.length; i++) { + const item = value[i]; + const normalized = isString(item) ? parseStringStyle(item) : normalizeStyle(item); + if (normalized) { + for (const key in normalized) { + res[key] = normalized[key]; + } + } + } + return res; + } else if (isString(value) || isObject(value)) { + return value; + } + } + const listDelimiterRE = /;(?![^(]*\))/g; + const propertyDelimiterRE = /:([^]+)/; + const styleCommentRE = /\/\*[^]*?\*\//g; + function parseStringStyle(cssText) { + const ret = {}; + cssText.replace(styleCommentRE, "").split(listDelimiterRE).forEach((item) => { + if (item) { + const tmp = item.split(propertyDelimiterRE); + tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim()); + } + }); + return ret; + } + function stringifyStyle(styles) { + let ret = ""; + if (!styles || isString(styles)) { + return ret; + } + for (const key in styles) { + const value = styles[key]; + if (isString(value) || typeof value === "number") { + const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key); + ret += `${normalizedKey}:${value};`; + } + } + return ret; + } + function normalizeClass(value) { + let res = ""; + if (isString(value)) { + res = value; + } else if (isArray(value)) { + for (let i = 0; i < value.length; i++) { + const normalized = normalizeClass(value[i]); + if (normalized) { + res += normalized + " "; + } + } + } else if (isObject(value)) { + for (const name in value) { + if (value[name]) { + res += name + " "; + } + } + } + return res.trim(); + } + function normalizeProps(props) { + if (!props) + return null; + let { class: klass, style } = props; + if (klass && !isString(klass)) { + props.class = normalizeClass(klass); + } + if (style) { + props.style = normalizeStyle(style); + } + return props; + } + + const HTML_TAGS = "html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot"; + const SVG_TAGS = "svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view"; + const MATH_TAGS = "annotation,annotation-xml,maction,maligngroup,malignmark,math,menclose,merror,mfenced,mfrac,mfraction,mglyph,mi,mlabeledtr,mlongdiv,mmultiscripts,mn,mo,mover,mpadded,mphantom,mprescripts,mroot,mrow,ms,mscarries,mscarry,msgroup,msline,mspace,msqrt,msrow,mstack,mstyle,msub,msubsup,msup,mtable,mtd,mtext,mtr,munder,munderover,none,semantics"; + const VOID_TAGS = "area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr"; + const isHTMLTag = /* @__PURE__ */ makeMap(HTML_TAGS); + const isSVGTag = /* @__PURE__ */ makeMap(SVG_TAGS); + const isMathMLTag = /* @__PURE__ */ makeMap(MATH_TAGS); + const isVoidTag = /* @__PURE__ */ makeMap(VOID_TAGS); + + const specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`; + const isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs); + const isBooleanAttr = /* @__PURE__ */ makeMap( + specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected` + ); + function includeBooleanAttr(value) { + return !!value || value === ""; + } + const isKnownHtmlAttr = /* @__PURE__ */ makeMap( + `accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,inert,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap` + ); + const isKnownSvgAttr = /* @__PURE__ */ makeMap( + `xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xmlns:xlink,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan` + ); + function isRenderableAttrValue(value) { + if (value == null) { + return false; + } + const type = typeof value; + return type === "string" || type === "number" || type === "boolean"; + } + + function looseCompareArrays(a, b) { + if (a.length !== b.length) + return false; + let equal = true; + for (let i = 0; equal && i < a.length; i++) { + equal = looseEqual(a[i], b[i]); + } + return equal; + } + function looseEqual(a, b) { + if (a === b) + return true; + let aValidType = isDate(a); + let bValidType = isDate(b); + if (aValidType || bValidType) { + return aValidType && bValidType ? a.getTime() === b.getTime() : false; + } + aValidType = isSymbol(a); + bValidType = isSymbol(b); + if (aValidType || bValidType) { + return a === b; + } + aValidType = isArray(a); + bValidType = isArray(b); + if (aValidType || bValidType) { + return aValidType && bValidType ? looseCompareArrays(a, b) : false; + } + aValidType = isObject(a); + bValidType = isObject(b); + if (aValidType || bValidType) { + if (!aValidType || !bValidType) { + return false; + } + const aKeysCount = Object.keys(a).length; + const bKeysCount = Object.keys(b).length; + if (aKeysCount !== bKeysCount) { + return false; + } + for (const key in a) { + const aHasKey = a.hasOwnProperty(key); + const bHasKey = b.hasOwnProperty(key); + if (aHasKey && !bHasKey || !aHasKey && bHasKey || !looseEqual(a[key], b[key])) { + return false; + } + } + } + return String(a) === String(b); + } + function looseIndexOf(arr, val) { + return arr.findIndex((item) => looseEqual(item, val)); + } + + const toDisplayString = (val) => { + return isString(val) ? val : val == null ? "" : isArray(val) || isObject(val) && (val.toString === objectToString || !isFunction(val.toString)) ? JSON.stringify(val, replacer, 2) : String(val); + }; + const replacer = (_key, val) => { + if (val && val.__v_isRef) { + return replacer(_key, val.value); + } else if (isMap(val)) { + return { + [`Map(${val.size})`]: [...val.entries()].reduce( + (entries, [key, val2], i) => { + entries[stringifySymbol(key, i) + " =>"] = val2; + return entries; + }, + {} + ) + }; + } else if (isSet(val)) { + return { + [`Set(${val.size})`]: [...val.values()].map((v) => stringifySymbol(v)) + }; + } else if (isSymbol(val)) { + return stringifySymbol(val); + } else if (isObject(val) && !isArray(val) && !isPlainObject(val)) { + return String(val); + } + return val; + }; + const stringifySymbol = (v, i = "") => { + var _a; + return ( + // Symbol.description in es2019+ so we need to cast here to pass + // the lib: es2016 check + isSymbol(v) ? `Symbol(${(_a = v.description) != null ? _a : i})` : v + ); + }; + + function warn$2(msg, ...args) { + console.warn(`[Vue warn] ${msg}`, ...args); + } + + let activeEffectScope; + class EffectScope { + constructor(detached = false) { + this.detached = detached; + /** + * @internal + */ + this._active = true; + /** + * @internal + */ + this.effects = []; + /** + * @internal + */ + this.cleanups = []; + this.parent = activeEffectScope; + if (!detached && activeEffectScope) { + this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push( + this + ) - 1; + } + } + get active() { + return this._active; + } + run(fn) { + if (this._active) { + const currentEffectScope = activeEffectScope; + try { + activeEffectScope = this; + return fn(); + } finally { + activeEffectScope = currentEffectScope; + } + } else { + warn$2(`cannot run an inactive effect scope.`); + } + } + /** + * This should only be called on non-detached scopes + * @internal + */ + on() { + activeEffectScope = this; + } + /** + * This should only be called on non-detached scopes + * @internal + */ + off() { + activeEffectScope = this.parent; + } + stop(fromParent) { + if (this._active) { + let i, l; + for (i = 0, l = this.effects.length; i < l; i++) { + this.effects[i].stop(); + } + for (i = 0, l = this.cleanups.length; i < l; i++) { + this.cleanups[i](); + } + if (this.scopes) { + for (i = 0, l = this.scopes.length; i < l; i++) { + this.scopes[i].stop(true); + } + } + if (!this.detached && this.parent && !fromParent) { + const last = this.parent.scopes.pop(); + if (last && last !== this) { + this.parent.scopes[this.index] = last; + last.index = this.index; + } + } + this.parent = void 0; + this._active = false; + } + } + } + function effectScope(detached) { + return new EffectScope(detached); + } + function recordEffectScope(effect, scope = activeEffectScope) { + if (scope && scope.active) { + scope.effects.push(effect); + } + } + function getCurrentScope() { + return activeEffectScope; + } + function onScopeDispose(fn) { + if (activeEffectScope) { + activeEffectScope.cleanups.push(fn); + } else { + warn$2( + `onScopeDispose() is called when there is no active effect scope to be associated with.` + ); + } + } + + let activeEffect; + class ReactiveEffect { + constructor(fn, trigger, scheduler, scope) { + this.fn = fn; + this.trigger = trigger; + this.scheduler = scheduler; + this.active = true; + this.deps = []; + /** + * @internal + */ + this._dirtyLevel = 4; + /** + * @internal + */ + this._trackId = 0; + /** + * @internal + */ + this._runnings = 0; + /** + * @internal + */ + this._shouldSchedule = false; + /** + * @internal + */ + this._depsLength = 0; + recordEffectScope(this, scope); + } + get dirty() { + if (this._dirtyLevel === 2 || this._dirtyLevel === 3) { + this._dirtyLevel = 1; + pauseTracking(); + for (let i = 0; i < this._depsLength; i++) { + const dep = this.deps[i]; + if (dep.computed) { + triggerComputed(dep.computed); + if (this._dirtyLevel >= 4) { + break; + } + } + } + if (this._dirtyLevel === 1) { + this._dirtyLevel = 0; + } + resetTracking(); + } + return this._dirtyLevel >= 4; + } + set dirty(v) { + this._dirtyLevel = v ? 4 : 0; + } + run() { + this._dirtyLevel = 0; + if (!this.active) { + return this.fn(); + } + let lastShouldTrack = shouldTrack; + let lastEffect = activeEffect; + try { + shouldTrack = true; + activeEffect = this; + this._runnings++; + preCleanupEffect(this); + return this.fn(); + } finally { + postCleanupEffect(this); + this._runnings--; + activeEffect = lastEffect; + shouldTrack = lastShouldTrack; + } + } + stop() { + if (this.active) { + preCleanupEffect(this); + postCleanupEffect(this); + this.onStop && this.onStop(); + this.active = false; + } + } + } + function triggerComputed(computed) { + return computed.value; + } + function preCleanupEffect(effect2) { + effect2._trackId++; + effect2._depsLength = 0; + } + function postCleanupEffect(effect2) { + if (effect2.deps.length > effect2._depsLength) { + for (let i = effect2._depsLength; i < effect2.deps.length; i++) { + cleanupDepEffect(effect2.deps[i], effect2); + } + effect2.deps.length = effect2._depsLength; + } + } + function cleanupDepEffect(dep, effect2) { + const trackId = dep.get(effect2); + if (trackId !== void 0 && effect2._trackId !== trackId) { + dep.delete(effect2); + if (dep.size === 0) { + dep.cleanup(); + } + } + } + function effect(fn, options) { + if (fn.effect instanceof ReactiveEffect) { + fn = fn.effect.fn; + } + const _effect = new ReactiveEffect(fn, NOOP, () => { + if (_effect.dirty) { + _effect.run(); + } + }); + if (options) { + extend(_effect, options); + if (options.scope) + recordEffectScope(_effect, options.scope); + } + if (!options || !options.lazy) { + _effect.run(); + } + const runner = _effect.run.bind(_effect); + runner.effect = _effect; + return runner; + } + function stop(runner) { + runner.effect.stop(); + } + let shouldTrack = true; + let pauseScheduleStack = 0; + const trackStack = []; + function pauseTracking() { + trackStack.push(shouldTrack); + shouldTrack = false; + } + function resetTracking() { + const last = trackStack.pop(); + shouldTrack = last === void 0 ? true : last; + } + function pauseScheduling() { + pauseScheduleStack++; + } + function resetScheduling() { + pauseScheduleStack--; + while (!pauseScheduleStack && queueEffectSchedulers.length) { + queueEffectSchedulers.shift()(); + } + } + function trackEffect(effect2, dep, debuggerEventExtraInfo) { + var _a; + if (dep.get(effect2) !== effect2._trackId) { + dep.set(effect2, effect2._trackId); + const oldDep = effect2.deps[effect2._depsLength]; + if (oldDep !== dep) { + if (oldDep) { + cleanupDepEffect(oldDep, effect2); + } + effect2.deps[effect2._depsLength++] = dep; + } else { + effect2._depsLength++; + } + { + (_a = effect2.onTrack) == null ? void 0 : _a.call(effect2, extend({ effect: effect2 }, debuggerEventExtraInfo)); + } + } + } + const queueEffectSchedulers = []; + function triggerEffects(dep, dirtyLevel, debuggerEventExtraInfo) { + var _a; + pauseScheduling(); + for (const effect2 of dep.keys()) { + let tracking; + if (effect2._dirtyLevel < dirtyLevel && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) { + effect2._shouldSchedule || (effect2._shouldSchedule = effect2._dirtyLevel === 0); + effect2._dirtyLevel = dirtyLevel; + } + if (effect2._shouldSchedule && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) { + { + (_a = effect2.onTrigger) == null ? void 0 : _a.call(effect2, extend({ effect: effect2 }, debuggerEventExtraInfo)); + } + effect2.trigger(); + if ((!effect2._runnings || effect2.allowRecurse) && effect2._dirtyLevel !== 2) { + effect2._shouldSchedule = false; + if (effect2.scheduler) { + queueEffectSchedulers.push(effect2.scheduler); + } + } + } + } + resetScheduling(); + } + + const createDep = (cleanup, computed) => { + const dep = /* @__PURE__ */ new Map(); + dep.cleanup = cleanup; + dep.computed = computed; + return dep; + }; + + const targetMap = /* @__PURE__ */ new WeakMap(); + const ITERATE_KEY = Symbol("iterate" ); + const MAP_KEY_ITERATE_KEY = Symbol("Map key iterate" ); + function track(target, type, key) { + if (shouldTrack && activeEffect) { + let depsMap = targetMap.get(target); + if (!depsMap) { + targetMap.set(target, depsMap = /* @__PURE__ */ new Map()); + } + let dep = depsMap.get(key); + if (!dep) { + depsMap.set(key, dep = createDep(() => depsMap.delete(key))); + } + trackEffect( + activeEffect, + dep, + { + target, + type, + key + } + ); + } + } + function trigger(target, type, key, newValue, oldValue, oldTarget) { + const depsMap = targetMap.get(target); + if (!depsMap) { + return; + } + let deps = []; + if (type === "clear") { + deps = [...depsMap.values()]; + } else if (key === "length" && isArray(target)) { + const newLength = Number(newValue); + depsMap.forEach((dep, key2) => { + if (key2 === "length" || !isSymbol(key2) && key2 >= newLength) { + deps.push(dep); + } + }); + } else { + if (key !== void 0) { + deps.push(depsMap.get(key)); + } + switch (type) { + case "add": + if (!isArray(target)) { + deps.push(depsMap.get(ITERATE_KEY)); + if (isMap(target)) { + deps.push(depsMap.get(MAP_KEY_ITERATE_KEY)); + } + } else if (isIntegerKey(key)) { + deps.push(depsMap.get("length")); + } + break; + case "delete": + if (!isArray(target)) { + deps.push(depsMap.get(ITERATE_KEY)); + if (isMap(target)) { + deps.push(depsMap.get(MAP_KEY_ITERATE_KEY)); + } + } + break; + case "set": + if (isMap(target)) { + deps.push(depsMap.get(ITERATE_KEY)); + } + break; + } + } + pauseScheduling(); + for (const dep of deps) { + if (dep) { + triggerEffects( + dep, + 4, + { + target, + type, + key, + newValue, + oldValue, + oldTarget + } + ); + } + } + resetScheduling(); + } + function getDepFromReactive(object, key) { + const depsMap = targetMap.get(object); + return depsMap && depsMap.get(key); + } + + const isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`); + const builtInSymbols = new Set( + /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(isSymbol) + ); + const arrayInstrumentations = /* @__PURE__ */ createArrayInstrumentations(); + function createArrayInstrumentations() { + const instrumentations = {}; + ["includes", "indexOf", "lastIndexOf"].forEach((key) => { + instrumentations[key] = function(...args) { + const arr = toRaw(this); + for (let i = 0, l = this.length; i < l; i++) { + track(arr, "get", i + ""); + } + const res = arr[key](...args); + if (res === -1 || res === false) { + return arr[key](...args.map(toRaw)); + } else { + return res; + } + }; + }); + ["push", "pop", "shift", "unshift", "splice"].forEach((key) => { + instrumentations[key] = function(...args) { + pauseTracking(); + pauseScheduling(); + const res = toRaw(this)[key].apply(this, args); + resetScheduling(); + resetTracking(); + return res; + }; + }); + return instrumentations; + } + function hasOwnProperty(key) { + if (!isSymbol(key)) + key = String(key); + const obj = toRaw(this); + track(obj, "has", key); + return obj.hasOwnProperty(key); + } + class BaseReactiveHandler { + constructor(_isReadonly = false, _isShallow = false) { + this._isReadonly = _isReadonly; + this._isShallow = _isShallow; + } + get(target, key, receiver) { + const isReadonly2 = this._isReadonly, isShallow2 = this._isShallow; + if (key === "__v_isReactive") { + return !isReadonly2; + } else if (key === "__v_isReadonly") { + return isReadonly2; + } else if (key === "__v_isShallow") { + return isShallow2; + } else if (key === "__v_raw") { + if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype + // this means the reciever is a user proxy of the reactive proxy + Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) { + return target; + } + return; + } + const targetIsArray = isArray(target); + if (!isReadonly2) { + if (targetIsArray && hasOwn(arrayInstrumentations, key)) { + return Reflect.get(arrayInstrumentations, key, receiver); + } + if (key === "hasOwnProperty") { + return hasOwnProperty; + } + } + const res = Reflect.get(target, key, receiver); + if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) { + return res; + } + if (!isReadonly2) { + track(target, "get", key); + } + if (isShallow2) { + return res; + } + if (isRef(res)) { + return targetIsArray && isIntegerKey(key) ? res : res.value; + } + if (isObject(res)) { + return isReadonly2 ? readonly(res) : reactive(res); + } + return res; + } + } + class MutableReactiveHandler extends BaseReactiveHandler { + constructor(isShallow2 = false) { + super(false, isShallow2); + } + set(target, key, value, receiver) { + let oldValue = target[key]; + if (!this._isShallow) { + const isOldValueReadonly = isReadonly(oldValue); + if (!isShallow(value) && !isReadonly(value)) { + oldValue = toRaw(oldValue); + value = toRaw(value); + } + if (!isArray(target) && isRef(oldValue) && !isRef(value)) { + if (isOldValueReadonly) { + return false; + } else { + oldValue.value = value; + return true; + } + } + } + const hadKey = isArray(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn(target, key); + const result = Reflect.set(target, key, value, receiver); + if (target === toRaw(receiver)) { + if (!hadKey) { + trigger(target, "add", key, value); + } else if (hasChanged(value, oldValue)) { + trigger(target, "set", key, value, oldValue); + } + } + return result; + } + deleteProperty(target, key) { + const hadKey = hasOwn(target, key); + const oldValue = target[key]; + const result = Reflect.deleteProperty(target, key); + if (result && hadKey) { + trigger(target, "delete", key, void 0, oldValue); + } + return result; + } + has(target, key) { + const result = Reflect.has(target, key); + if (!isSymbol(key) || !builtInSymbols.has(key)) { + track(target, "has", key); + } + return result; + } + ownKeys(target) { + track( + target, + "iterate", + isArray(target) ? "length" : ITERATE_KEY + ); + return Reflect.ownKeys(target); + } + } + class ReadonlyReactiveHandler extends BaseReactiveHandler { + constructor(isShallow2 = false) { + super(true, isShallow2); + } + set(target, key) { + { + warn$2( + `Set operation on key "${String(key)}" failed: target is readonly.`, + target + ); + } + return true; + } + deleteProperty(target, key) { + { + warn$2( + `Delete operation on key "${String(key)}" failed: target is readonly.`, + target + ); + } + return true; + } + } + const mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler(); + const readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(); + const shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler( + true + ); + const shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true); + + const toShallow = (value) => value; + const getProto = (v) => Reflect.getPrototypeOf(v); + function get(target, key, isReadonly = false, isShallow = false) { + target = target["__v_raw"]; + const rawTarget = toRaw(target); + const rawKey = toRaw(key); + if (!isReadonly) { + if (hasChanged(key, rawKey)) { + track(rawTarget, "get", key); + } + track(rawTarget, "get", rawKey); + } + const { has: has2 } = getProto(rawTarget); + const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive; + if (has2.call(rawTarget, key)) { + return wrap(target.get(key)); + } else if (has2.call(rawTarget, rawKey)) { + return wrap(target.get(rawKey)); + } else if (target !== rawTarget) { + target.get(key); + } + } + function has(key, isReadonly = false) { + const target = this["__v_raw"]; + const rawTarget = toRaw(target); + const rawKey = toRaw(key); + if (!isReadonly) { + if (hasChanged(key, rawKey)) { + track(rawTarget, "has", key); + } + track(rawTarget, "has", rawKey); + } + return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey); + } + function size(target, isReadonly = false) { + target = target["__v_raw"]; + !isReadonly && track(toRaw(target), "iterate", ITERATE_KEY); + return Reflect.get(target, "size", target); + } + function add(value) { + value = toRaw(value); + const target = toRaw(this); + const proto = getProto(target); + const hadKey = proto.has.call(target, value); + if (!hadKey) { + target.add(value); + trigger(target, "add", value, value); + } + return this; + } + function set(key, value) { + value = toRaw(value); + const target = toRaw(this); + const { has: has2, get: get2 } = getProto(target); + let hadKey = has2.call(target, key); + if (!hadKey) { + key = toRaw(key); + hadKey = has2.call(target, key); + } else { + checkIdentityKeys(target, has2, key); + } + const oldValue = get2.call(target, key); + target.set(key, value); + if (!hadKey) { + trigger(target, "add", key, value); + } else if (hasChanged(value, oldValue)) { + trigger(target, "set", key, value, oldValue); + } + return this; + } + function deleteEntry(key) { + const target = toRaw(this); + const { has: has2, get: get2 } = getProto(target); + let hadKey = has2.call(target, key); + if (!hadKey) { + key = toRaw(key); + hadKey = has2.call(target, key); + } else { + checkIdentityKeys(target, has2, key); + } + const oldValue = get2 ? get2.call(target, key) : void 0; + const result = target.delete(key); + if (hadKey) { + trigger(target, "delete", key, void 0, oldValue); + } + return result; + } + function clear() { + const target = toRaw(this); + const hadItems = target.size !== 0; + const oldTarget = isMap(target) ? new Map(target) : new Set(target) ; + const result = target.clear(); + if (hadItems) { + trigger(target, "clear", void 0, void 0, oldTarget); + } + return result; + } + function createForEach(isReadonly, isShallow) { + return function forEach(callback, thisArg) { + const observed = this; + const target = observed["__v_raw"]; + const rawTarget = toRaw(target); + const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive; + !isReadonly && track(rawTarget, "iterate", ITERATE_KEY); + return target.forEach((value, key) => { + return callback.call(thisArg, wrap(value), wrap(key), observed); + }); + }; + } + function createIterableMethod(method, isReadonly, isShallow) { + return function(...args) { + const target = this["__v_raw"]; + const rawTarget = toRaw(target); + const targetIsMap = isMap(rawTarget); + const isPair = method === "entries" || method === Symbol.iterator && targetIsMap; + const isKeyOnly = method === "keys" && targetIsMap; + const innerIterator = target[method](...args); + const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive; + !isReadonly && track( + rawTarget, + "iterate", + isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY + ); + return { + // iterator protocol + next() { + const { value, done } = innerIterator.next(); + return done ? { value, done } : { + value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value), + done + }; + }, + // iterable protocol + [Symbol.iterator]() { + return this; + } + }; + }; + } + function createReadonlyMethod(type) { + return function(...args) { + { + const key = args[0] ? `on key "${args[0]}" ` : ``; + warn$2( + `${capitalize(type)} operation ${key}failed: target is readonly.`, + toRaw(this) + ); + } + return type === "delete" ? false : type === "clear" ? void 0 : this; + }; + } + function createInstrumentations() { + const mutableInstrumentations2 = { + get(key) { + return get(this, key); + }, + get size() { + return size(this); + }, + has, + add, + set, + delete: deleteEntry, + clear, + forEach: createForEach(false, false) + }; + const shallowInstrumentations2 = { + get(key) { + return get(this, key, false, true); + }, + get size() { + return size(this); + }, + has, + add, + set, + delete: deleteEntry, + clear, + forEach: createForEach(false, true) + }; + const readonlyInstrumentations2 = { + get(key) { + return get(this, key, true); + }, + get size() { + return size(this, true); + }, + has(key) { + return has.call(this, key, true); + }, + add: createReadonlyMethod("add"), + set: createReadonlyMethod("set"), + delete: createReadonlyMethod("delete"), + clear: createReadonlyMethod("clear"), + forEach: createForEach(true, false) + }; + const shallowReadonlyInstrumentations2 = { + get(key) { + return get(this, key, true, true); + }, + get size() { + return size(this, true); + }, + has(key) { + return has.call(this, key, true); + }, + add: createReadonlyMethod("add"), + set: createReadonlyMethod("set"), + delete: createReadonlyMethod("delete"), + clear: createReadonlyMethod("clear"), + forEach: createForEach(true, true) + }; + const iteratorMethods = [ + "keys", + "values", + "entries", + Symbol.iterator + ]; + iteratorMethods.forEach((method) => { + mutableInstrumentations2[method] = createIterableMethod(method, false, false); + readonlyInstrumentations2[method] = createIterableMethod(method, true, false); + shallowInstrumentations2[method] = createIterableMethod(method, false, true); + shallowReadonlyInstrumentations2[method] = createIterableMethod( + method, + true, + true + ); + }); + return [ + mutableInstrumentations2, + readonlyInstrumentations2, + shallowInstrumentations2, + shallowReadonlyInstrumentations2 + ]; + } + const [ + mutableInstrumentations, + readonlyInstrumentations, + shallowInstrumentations, + shallowReadonlyInstrumentations + ] = /* @__PURE__ */ createInstrumentations(); + function createInstrumentationGetter(isReadonly, shallow) { + const instrumentations = shallow ? isReadonly ? shallowReadonlyInstrumentations : shallowInstrumentations : isReadonly ? readonlyInstrumentations : mutableInstrumentations; + return (target, key, receiver) => { + if (key === "__v_isReactive") { + return !isReadonly; + } else if (key === "__v_isReadonly") { + return isReadonly; + } else if (key === "__v_raw") { + return target; + } + return Reflect.get( + hasOwn(instrumentations, key) && key in target ? instrumentations : target, + key, + receiver + ); + }; + } + const mutableCollectionHandlers = { + get: /* @__PURE__ */ createInstrumentationGetter(false, false) + }; + const shallowCollectionHandlers = { + get: /* @__PURE__ */ createInstrumentationGetter(false, true) + }; + const readonlyCollectionHandlers = { + get: /* @__PURE__ */ createInstrumentationGetter(true, false) + }; + const shallowReadonlyCollectionHandlers = { + get: /* @__PURE__ */ createInstrumentationGetter(true, true) + }; + function checkIdentityKeys(target, has2, key) { + const rawKey = toRaw(key); + if (rawKey !== key && has2.call(target, rawKey)) { + const type = toRawType(target); + warn$2( + `Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.` + ); + } + } + + const reactiveMap = /* @__PURE__ */ new WeakMap(); + const shallowReactiveMap = /* @__PURE__ */ new WeakMap(); + const readonlyMap = /* @__PURE__ */ new WeakMap(); + const shallowReadonlyMap = /* @__PURE__ */ new WeakMap(); + function targetTypeMap(rawType) { + switch (rawType) { + case "Object": + case "Array": + return 1 /* COMMON */; + case "Map": + case "Set": + case "WeakMap": + case "WeakSet": + return 2 /* COLLECTION */; + default: + return 0 /* INVALID */; + } + } + function getTargetType(value) { + return value["__v_skip"] || !Object.isExtensible(value) ? 0 /* INVALID */ : targetTypeMap(toRawType(value)); + } + function reactive(target) { + if (isReadonly(target)) { + return target; + } + return createReactiveObject( + target, + false, + mutableHandlers, + mutableCollectionHandlers, + reactiveMap + ); + } + function shallowReactive(target) { + return createReactiveObject( + target, + false, + shallowReactiveHandlers, + shallowCollectionHandlers, + shallowReactiveMap + ); + } + function readonly(target) { + return createReactiveObject( + target, + true, + readonlyHandlers, + readonlyCollectionHandlers, + readonlyMap + ); + } + function shallowReadonly(target) { + return createReactiveObject( + target, + true, + shallowReadonlyHandlers, + shallowReadonlyCollectionHandlers, + shallowReadonlyMap + ); + } + function createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) { + if (!isObject(target)) { + { + warn$2(`value cannot be made reactive: ${String(target)}`); + } + return target; + } + if (target["__v_raw"] && !(isReadonly2 && target["__v_isReactive"])) { + return target; + } + const existingProxy = proxyMap.get(target); + if (existingProxy) { + return existingProxy; + } + const targetType = getTargetType(target); + if (targetType === 0 /* INVALID */) { + return target; + } + const proxy = new Proxy( + target, + targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers + ); + proxyMap.set(target, proxy); + return proxy; + } + function isReactive(value) { + if (isReadonly(value)) { + return isReactive(value["__v_raw"]); + } + return !!(value && value["__v_isReactive"]); + } + function isReadonly(value) { + return !!(value && value["__v_isReadonly"]); + } + function isShallow(value) { + return !!(value && value["__v_isShallow"]); + } + function isProxy(value) { + return value ? !!value["__v_raw"] : false; + } + function toRaw(observed) { + const raw = observed && observed["__v_raw"]; + return raw ? toRaw(raw) : observed; + } + function markRaw(value) { + if (Object.isExtensible(value)) { + def(value, "__v_skip", true); + } + return value; + } + const toReactive = (value) => isObject(value) ? reactive(value) : value; + const toReadonly = (value) => isObject(value) ? readonly(value) : value; + + const COMPUTED_SIDE_EFFECT_WARN = `Computed is still dirty after getter evaluation, likely because a computed is mutating its own dependency in its getter. State mutations in computed getters should be avoided. Check the docs for more details: https://vuejs.org/guide/essentials/computed.html#getters-should-be-side-effect-free`; + class ComputedRefImpl { + constructor(getter, _setter, isReadonly, isSSR) { + this.getter = getter; + this._setter = _setter; + this.dep = void 0; + this.__v_isRef = true; + this["__v_isReadonly"] = false; + this.effect = new ReactiveEffect( + () => getter(this._value), + () => triggerRefValue( + this, + this.effect._dirtyLevel === 2 ? 2 : 3 + ) + ); + this.effect.computed = this; + this.effect.active = this._cacheable = !isSSR; + this["__v_isReadonly"] = isReadonly; + } + get value() { + const self = toRaw(this); + if ((!self._cacheable || self.effect.dirty) && hasChanged(self._value, self._value = self.effect.run())) { + triggerRefValue(self, 4); + } + trackRefValue(self); + if (self.effect._dirtyLevel >= 2) { + if (this._warnRecursive) { + warn$2(COMPUTED_SIDE_EFFECT_WARN, ` + +getter: `, this.getter); + } + triggerRefValue(self, 2); + } + return self._value; + } + set value(newValue) { + this._setter(newValue); + } + // #region polyfill _dirty for backward compatibility third party code for Vue <= 3.3.x + get _dirty() { + return this.effect.dirty; + } + set _dirty(v) { + this.effect.dirty = v; + } + // #endregion + } + function computed$1(getterOrOptions, debugOptions, isSSR = false) { + let getter; + let setter; + const onlyGetter = isFunction(getterOrOptions); + if (onlyGetter) { + getter = getterOrOptions; + setter = () => { + warn$2("Write operation failed: computed value is readonly"); + } ; + } else { + getter = getterOrOptions.get; + setter = getterOrOptions.set; + } + const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR); + if (debugOptions && !isSSR) { + cRef.effect.onTrack = debugOptions.onTrack; + cRef.effect.onTrigger = debugOptions.onTrigger; + } + return cRef; + } + + function trackRefValue(ref2) { + var _a; + if (shouldTrack && activeEffect) { + ref2 = toRaw(ref2); + trackEffect( + activeEffect, + (_a = ref2.dep) != null ? _a : ref2.dep = createDep( + () => ref2.dep = void 0, + ref2 instanceof ComputedRefImpl ? ref2 : void 0 + ), + { + target: ref2, + type: "get", + key: "value" + } + ); + } + } + function triggerRefValue(ref2, dirtyLevel = 4, newVal) { + ref2 = toRaw(ref2); + const dep = ref2.dep; + if (dep) { + triggerEffects( + dep, + dirtyLevel, + { + target: ref2, + type: "set", + key: "value", + newValue: newVal + } + ); + } + } + function isRef(r) { + return !!(r && r.__v_isRef === true); + } + function ref(value) { + return createRef(value, false); + } + function shallowRef(value) { + return createRef(value, true); + } + function createRef(rawValue, shallow) { + if (isRef(rawValue)) { + return rawValue; + } + return new RefImpl(rawValue, shallow); + } + class RefImpl { + constructor(value, __v_isShallow) { + this.__v_isShallow = __v_isShallow; + this.dep = void 0; + this.__v_isRef = true; + this._rawValue = __v_isShallow ? value : toRaw(value); + this._value = __v_isShallow ? value : toReactive(value); + } + get value() { + trackRefValue(this); + return this._value; + } + set value(newVal) { + const useDirectValue = this.__v_isShallow || isShallow(newVal) || isReadonly(newVal); + newVal = useDirectValue ? newVal : toRaw(newVal); + if (hasChanged(newVal, this._rawValue)) { + this._rawValue = newVal; + this._value = useDirectValue ? newVal : toReactive(newVal); + triggerRefValue(this, 4, newVal); + } + } + } + function triggerRef(ref2) { + triggerRefValue(ref2, 4, ref2.value ); + } + function unref(ref2) { + return isRef(ref2) ? ref2.value : ref2; + } + function toValue(source) { + return isFunction(source) ? source() : unref(source); + } + const shallowUnwrapHandlers = { + get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)), + set: (target, key, value, receiver) => { + const oldValue = target[key]; + if (isRef(oldValue) && !isRef(value)) { + oldValue.value = value; + return true; + } else { + return Reflect.set(target, key, value, receiver); + } + } + }; + function proxyRefs(objectWithRefs) { + return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers); + } + class CustomRefImpl { + constructor(factory) { + this.dep = void 0; + this.__v_isRef = true; + const { get, set } = factory( + () => trackRefValue(this), + () => triggerRefValue(this) + ); + this._get = get; + this._set = set; + } + get value() { + return this._get(); + } + set value(newVal) { + this._set(newVal); + } + } + function customRef(factory) { + return new CustomRefImpl(factory); + } + function toRefs(object) { + if (!isProxy(object)) { + warn$2(`toRefs() expects a reactive object but received a plain one.`); + } + const ret = isArray(object) ? new Array(object.length) : {}; + for (const key in object) { + ret[key] = propertyToRef(object, key); + } + return ret; + } + class ObjectRefImpl { + constructor(_object, _key, _defaultValue) { + this._object = _object; + this._key = _key; + this._defaultValue = _defaultValue; + this.__v_isRef = true; + } + get value() { + const val = this._object[this._key]; + return val === void 0 ? this._defaultValue : val; + } + set value(newVal) { + this._object[this._key] = newVal; + } + get dep() { + return getDepFromReactive(toRaw(this._object), this._key); + } + } + class GetterRefImpl { + constructor(_getter) { + this._getter = _getter; + this.__v_isRef = true; + this.__v_isReadonly = true; + } + get value() { + return this._getter(); + } + } + function toRef(source, key, defaultValue) { + if (isRef(source)) { + return source; + } else if (isFunction(source)) { + return new GetterRefImpl(source); + } else if (isObject(source) && arguments.length > 1) { + return propertyToRef(source, key, defaultValue); + } else { + return ref(source); + } + } + function propertyToRef(source, key, defaultValue) { + const val = source[key]; + return isRef(val) ? val : new ObjectRefImpl(source, key, defaultValue); + } + + const TrackOpTypes = { + "GET": "get", + "HAS": "has", + "ITERATE": "iterate" + }; + const TriggerOpTypes = { + "SET": "set", + "ADD": "add", + "DELETE": "delete", + "CLEAR": "clear" + }; + + const stack$1 = []; + function pushWarningContext(vnode) { + stack$1.push(vnode); + } + function popWarningContext() { + stack$1.pop(); + } + function warn$1(msg, ...args) { + pauseTracking(); + const instance = stack$1.length ? stack$1[stack$1.length - 1].component : null; + const appWarnHandler = instance && instance.appContext.config.warnHandler; + const trace = getComponentTrace(); + if (appWarnHandler) { + callWithErrorHandling( + appWarnHandler, + instance, + 11, + [ + msg + args.map((a) => { + var _a, _b; + return (_b = (_a = a.toString) == null ? void 0 : _a.call(a)) != null ? _b : JSON.stringify(a); + }).join(""), + instance && instance.proxy, + trace.map( + ({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>` + ).join("\n"), + trace + ] + ); + } else { + const warnArgs = [`[Vue warn]: ${msg}`, ...args]; + if (trace.length && // avoid spamming console during tests + true) { + warnArgs.push(` +`, ...formatTrace(trace)); + } + console.warn(...warnArgs); + } + resetTracking(); + } + function getComponentTrace() { + let currentVNode = stack$1[stack$1.length - 1]; + if (!currentVNode) { + return []; + } + const normalizedStack = []; + while (currentVNode) { + const last = normalizedStack[0]; + if (last && last.vnode === currentVNode) { + last.recurseCount++; + } else { + normalizedStack.push({ + vnode: currentVNode, + recurseCount: 0 + }); + } + const parentInstance = currentVNode.component && currentVNode.component.parent; + currentVNode = parentInstance && parentInstance.vnode; + } + return normalizedStack; + } + function formatTrace(trace) { + const logs = []; + trace.forEach((entry, i) => { + logs.push(...i === 0 ? [] : [` +`], ...formatTraceEntry(entry)); + }); + return logs; + } + function formatTraceEntry({ vnode, recurseCount }) { + const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``; + const isRoot = vnode.component ? vnode.component.parent == null : false; + const open = ` at <${formatComponentName( + vnode.component, + vnode.type, + isRoot + )}`; + const close = `>` + postfix; + return vnode.props ? [open, ...formatProps(vnode.props), close] : [open + close]; + } + function formatProps(props) { + const res = []; + const keys = Object.keys(props); + keys.slice(0, 3).forEach((key) => { + res.push(...formatProp(key, props[key])); + }); + if (keys.length > 3) { + res.push(` ...`); + } + return res; + } + function formatProp(key, value, raw) { + if (isString(value)) { + value = JSON.stringify(value); + return raw ? value : [`${key}=${value}`]; + } else if (typeof value === "number" || typeof value === "boolean" || value == null) { + return raw ? value : [`${key}=${value}`]; + } else if (isRef(value)) { + value = formatProp(key, toRaw(value.value), true); + return raw ? value : [`${key}=Ref<`, value, `>`]; + } else if (isFunction(value)) { + return [`${key}=fn${value.name ? `<${value.name}>` : ``}`]; + } else { + value = toRaw(value); + return raw ? value : [`${key}=`, value]; + } + } + function assertNumber(val, type) { + if (val === void 0) { + return; + } else if (typeof val !== "number") { + warn$1(`${type} is not a valid number - got ${JSON.stringify(val)}.`); + } else if (isNaN(val)) { + warn$1(`${type} is NaN - the duration expression might be incorrect.`); + } + } + + const ErrorCodes = { + "SETUP_FUNCTION": 0, + "0": "SETUP_FUNCTION", + "RENDER_FUNCTION": 1, + "1": "RENDER_FUNCTION", + "WATCH_GETTER": 2, + "2": "WATCH_GETTER", + "WATCH_CALLBACK": 3, + "3": "WATCH_CALLBACK", + "WATCH_CLEANUP": 4, + "4": "WATCH_CLEANUP", + "NATIVE_EVENT_HANDLER": 5, + "5": "NATIVE_EVENT_HANDLER", + "COMPONENT_EVENT_HANDLER": 6, + "6": "COMPONENT_EVENT_HANDLER", + "VNODE_HOOK": 7, + "7": "VNODE_HOOK", + "DIRECTIVE_HOOK": 8, + "8": "DIRECTIVE_HOOK", + "TRANSITION_HOOK": 9, + "9": "TRANSITION_HOOK", + "APP_ERROR_HANDLER": 10, + "10": "APP_ERROR_HANDLER", + "APP_WARN_HANDLER": 11, + "11": "APP_WARN_HANDLER", + "FUNCTION_REF": 12, + "12": "FUNCTION_REF", + "ASYNC_COMPONENT_LOADER": 13, + "13": "ASYNC_COMPONENT_LOADER", + "SCHEDULER": 14, + "14": "SCHEDULER" + }; + const ErrorTypeStrings$1 = { + ["sp"]: "serverPrefetch hook", + ["bc"]: "beforeCreate hook", + ["c"]: "created hook", + ["bm"]: "beforeMount hook", + ["m"]: "mounted hook", + ["bu"]: "beforeUpdate hook", + ["u"]: "updated", + ["bum"]: "beforeUnmount hook", + ["um"]: "unmounted hook", + ["a"]: "activated hook", + ["da"]: "deactivated hook", + ["ec"]: "errorCaptured hook", + ["rtc"]: "renderTracked hook", + ["rtg"]: "renderTriggered hook", + [0]: "setup function", + [1]: "render function", + [2]: "watcher getter", + [3]: "watcher callback", + [4]: "watcher cleanup function", + [5]: "native event handler", + [6]: "component event handler", + [7]: "vnode hook", + [8]: "directive hook", + [9]: "transition hook", + [10]: "app errorHandler", + [11]: "app warnHandler", + [12]: "ref function", + [13]: "async component loader", + [14]: "scheduler flush. This is likely a Vue internals bug. Please open an issue at https://github.com/vuejs/core ." + }; + function callWithErrorHandling(fn, instance, type, args) { + try { + return args ? fn(...args) : fn(); + } catch (err) { + handleError(err, instance, type); + } + } + function callWithAsyncErrorHandling(fn, instance, type, args) { + if (isFunction(fn)) { + const res = callWithErrorHandling(fn, instance, type, args); + if (res && isPromise(res)) { + res.catch((err) => { + handleError(err, instance, type); + }); + } + return res; + } + if (isArray(fn)) { + const values = []; + for (let i = 0; i < fn.length; i++) { + values.push(callWithAsyncErrorHandling(fn[i], instance, type, args)); + } + return values; + } else { + warn$1( + `Invalid value type passed to callWithAsyncErrorHandling(): ${typeof fn}` + ); + } + } + function handleError(err, instance, type, throwInDev = true) { + const contextVNode = instance ? instance.vnode : null; + if (instance) { + let cur = instance.parent; + const exposedInstance = instance.proxy; + const errorInfo = ErrorTypeStrings$1[type] ; + while (cur) { + const errorCapturedHooks = cur.ec; + if (errorCapturedHooks) { + for (let i = 0; i < errorCapturedHooks.length; i++) { + if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) { + return; + } + } + } + cur = cur.parent; + } + const appErrorHandler = instance.appContext.config.errorHandler; + if (appErrorHandler) { + pauseTracking(); + callWithErrorHandling( + appErrorHandler, + null, + 10, + [err, exposedInstance, errorInfo] + ); + resetTracking(); + return; + } + } + logError(err, type, contextVNode, throwInDev); + } + function logError(err, type, contextVNode, throwInDev = true) { + { + const info = ErrorTypeStrings$1[type]; + if (contextVNode) { + pushWarningContext(contextVNode); + } + warn$1(`Unhandled error${info ? ` during execution of ${info}` : ``}`); + if (contextVNode) { + popWarningContext(); + } + if (throwInDev) { + throw err; + } else { + console.error(err); + } + } + } + + let isFlushing = false; + let isFlushPending = false; + const queue = []; + let flushIndex = 0; + const pendingPostFlushCbs = []; + let activePostFlushCbs = null; + let postFlushIndex = 0; + const resolvedPromise = /* @__PURE__ */ Promise.resolve(); + let currentFlushPromise = null; + const RECURSION_LIMIT = 100; + function nextTick(fn) { + const p = currentFlushPromise || resolvedPromise; + return fn ? p.then(this ? fn.bind(this) : fn) : p; + } + function findInsertionIndex(id) { + let start = flushIndex + 1; + let end = queue.length; + while (start < end) { + const middle = start + end >>> 1; + const middleJob = queue[middle]; + const middleJobId = getId(middleJob); + if (middleJobId < id || middleJobId === id && middleJob.pre) { + start = middle + 1; + } else { + end = middle; + } + } + return start; + } + function queueJob(job) { + if (!queue.length || !queue.includes( + job, + isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex + )) { + if (job.id == null) { + queue.push(job); + } else { + queue.splice(findInsertionIndex(job.id), 0, job); + } + queueFlush(); + } + } + function queueFlush() { + if (!isFlushing && !isFlushPending) { + isFlushPending = true; + currentFlushPromise = resolvedPromise.then(flushJobs); + } + } + function invalidateJob(job) { + const i = queue.indexOf(job); + if (i > flushIndex) { + queue.splice(i, 1); + } + } + function queuePostFlushCb(cb) { + if (!isArray(cb)) { + if (!activePostFlushCbs || !activePostFlushCbs.includes( + cb, + cb.allowRecurse ? postFlushIndex + 1 : postFlushIndex + )) { + pendingPostFlushCbs.push(cb); + } + } else { + pendingPostFlushCbs.push(...cb); + } + queueFlush(); + } + function flushPreFlushCbs(instance, seen, i = isFlushing ? flushIndex + 1 : 0) { + { + seen = seen || /* @__PURE__ */ new Map(); + } + for (; i < queue.length; i++) { + const cb = queue[i]; + if (cb && cb.pre) { + if (instance && cb.id !== instance.uid) { + continue; + } + if (checkRecursiveUpdates(seen, cb)) { + continue; + } + queue.splice(i, 1); + i--; + cb(); + } + } + } + function flushPostFlushCbs(seen) { + if (pendingPostFlushCbs.length) { + const deduped = [...new Set(pendingPostFlushCbs)].sort( + (a, b) => getId(a) - getId(b) + ); + pendingPostFlushCbs.length = 0; + if (activePostFlushCbs) { + activePostFlushCbs.push(...deduped); + return; + } + activePostFlushCbs = deduped; + { + seen = seen || /* @__PURE__ */ new Map(); + } + for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) { + if (checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex])) { + continue; + } + activePostFlushCbs[postFlushIndex](); + } + activePostFlushCbs = null; + postFlushIndex = 0; + } + } + const getId = (job) => job.id == null ? Infinity : job.id; + const comparator = (a, b) => { + const diff = getId(a) - getId(b); + if (diff === 0) { + if (a.pre && !b.pre) + return -1; + if (b.pre && !a.pre) + return 1; + } + return diff; + }; + function flushJobs(seen) { + isFlushPending = false; + isFlushing = true; + { + seen = seen || /* @__PURE__ */ new Map(); + } + queue.sort(comparator); + const check = (job) => checkRecursiveUpdates(seen, job) ; + try { + for (flushIndex = 0; flushIndex < queue.length; flushIndex++) { + const job = queue[flushIndex]; + if (job && job.active !== false) { + if (check(job)) { + continue; + } + callWithErrorHandling(job, null, 14); + } + } + } finally { + flushIndex = 0; + queue.length = 0; + flushPostFlushCbs(seen); + isFlushing = false; + currentFlushPromise = null; + if (queue.length || pendingPostFlushCbs.length) { + flushJobs(seen); + } + } + } + function checkRecursiveUpdates(seen, fn) { + if (!seen.has(fn)) { + seen.set(fn, 1); + } else { + const count = seen.get(fn); + if (count > RECURSION_LIMIT) { + const instance = fn.ownerInstance; + const componentName = instance && getComponentName(instance.type); + handleError( + `Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`, + null, + 10 + ); + return true; + } else { + seen.set(fn, count + 1); + } + } + } + + let isHmrUpdating = false; + const hmrDirtyComponents = /* @__PURE__ */ new Set(); + { + getGlobalThis().__VUE_HMR_RUNTIME__ = { + createRecord: tryWrap(createRecord), + rerender: tryWrap(rerender), + reload: tryWrap(reload) + }; + } + const map = /* @__PURE__ */ new Map(); + function registerHMR(instance) { + const id = instance.type.__hmrId; + let record = map.get(id); + if (!record) { + createRecord(id, instance.type); + record = map.get(id); + } + record.instances.add(instance); + } + function unregisterHMR(instance) { + map.get(instance.type.__hmrId).instances.delete(instance); + } + function createRecord(id, initialDef) { + if (map.has(id)) { + return false; + } + map.set(id, { + initialDef: normalizeClassComponent(initialDef), + instances: /* @__PURE__ */ new Set() + }); + return true; + } + function normalizeClassComponent(component) { + return isClassComponent(component) ? component.__vccOpts : component; + } + function rerender(id, newRender) { + const record = map.get(id); + if (!record) { + return; + } + record.initialDef.render = newRender; + [...record.instances].forEach((instance) => { + if (newRender) { + instance.render = newRender; + normalizeClassComponent(instance.type).render = newRender; + } + instance.renderCache = []; + isHmrUpdating = true; + instance.effect.dirty = true; + instance.update(); + isHmrUpdating = false; + }); + } + function reload(id, newComp) { + const record = map.get(id); + if (!record) + return; + newComp = normalizeClassComponent(newComp); + updateComponentDef(record.initialDef, newComp); + const instances = [...record.instances]; + for (const instance of instances) { + const oldComp = normalizeClassComponent(instance.type); + if (!hmrDirtyComponents.has(oldComp)) { + if (oldComp !== record.initialDef) { + updateComponentDef(oldComp, newComp); + } + hmrDirtyComponents.add(oldComp); + } + instance.appContext.propsCache.delete(instance.type); + instance.appContext.emitsCache.delete(instance.type); + instance.appContext.optionsCache.delete(instance.type); + if (instance.ceReload) { + hmrDirtyComponents.add(oldComp); + instance.ceReload(newComp.styles); + hmrDirtyComponents.delete(oldComp); + } else if (instance.parent) { + instance.parent.effect.dirty = true; + queueJob(instance.parent.update); + } else if (instance.appContext.reload) { + instance.appContext.reload(); + } else if (typeof window !== "undefined") { + window.location.reload(); + } else { + console.warn( + "[HMR] Root or manually mounted instance modified. Full reload required." + ); + } + } + queuePostFlushCb(() => { + for (const instance of instances) { + hmrDirtyComponents.delete( + normalizeClassComponent(instance.type) + ); + } + }); + } + function updateComponentDef(oldComp, newComp) { + extend(oldComp, newComp); + for (const key in oldComp) { + if (key !== "__file" && !(key in newComp)) { + delete oldComp[key]; + } + } + } + function tryWrap(fn) { + return (id, arg) => { + try { + return fn(id, arg); + } catch (e) { + console.error(e); + console.warn( + `[HMR] Something went wrong during Vue component hot-reload. Full reload required.` + ); + } + }; + } + + let devtools$1; + let buffer = []; + let devtoolsNotInstalled = false; + function emit$1(event, ...args) { + if (devtools$1) { + devtools$1.emit(event, ...args); + } else if (!devtoolsNotInstalled) { + buffer.push({ event, args }); + } + } + function setDevtoolsHook$1(hook, target) { + var _a, _b; + devtools$1 = hook; + if (devtools$1) { + devtools$1.enabled = true; + buffer.forEach(({ event, args }) => devtools$1.emit(event, ...args)); + buffer = []; + } else if ( + // handle late devtools injection - only do this if we are in an actual + // browser environment to avoid the timer handle stalling test runner exit + // (#4815) + typeof window !== "undefined" && // some envs mock window but not fully + window.HTMLElement && // also exclude jsdom + !((_b = (_a = window.navigator) == null ? void 0 : _a.userAgent) == null ? void 0 : _b.includes("jsdom")) + ) { + const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || []; + replay.push((newHook) => { + setDevtoolsHook$1(newHook, target); + }); + setTimeout(() => { + if (!devtools$1) { + target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null; + devtoolsNotInstalled = true; + buffer = []; + } + }, 3e3); + } else { + devtoolsNotInstalled = true; + buffer = []; + } + } + function devtoolsInitApp(app, version) { + emit$1("app:init" /* APP_INIT */, app, version, { + Fragment, + Text, + Comment, + Static + }); + } + function devtoolsUnmountApp(app) { + emit$1("app:unmount" /* APP_UNMOUNT */, app); + } + const devtoolsComponentAdded = /* @__PURE__ */ createDevtoolsComponentHook( + "component:added" /* COMPONENT_ADDED */ + ); + const devtoolsComponentUpdated = /* @__PURE__ */ createDevtoolsComponentHook("component:updated" /* COMPONENT_UPDATED */); + const _devtoolsComponentRemoved = /* @__PURE__ */ createDevtoolsComponentHook( + "component:removed" /* COMPONENT_REMOVED */ + ); + const devtoolsComponentRemoved = (component) => { + if (devtools$1 && typeof devtools$1.cleanupBuffer === "function" && // remove the component if it wasn't buffered + !devtools$1.cleanupBuffer(component)) { + _devtoolsComponentRemoved(component); + } + }; + /*! #__NO_SIDE_EFFECTS__ */ + // @__NO_SIDE_EFFECTS__ + function createDevtoolsComponentHook(hook) { + return (component) => { + emit$1( + hook, + component.appContext.app, + component.uid, + component.parent ? component.parent.uid : void 0, + component + ); + }; + } + const devtoolsPerfStart = /* @__PURE__ */ createDevtoolsPerformanceHook( + "perf:start" /* PERFORMANCE_START */ + ); + const devtoolsPerfEnd = /* @__PURE__ */ createDevtoolsPerformanceHook( + "perf:end" /* PERFORMANCE_END */ + ); + function createDevtoolsPerformanceHook(hook) { + return (component, type, time) => { + emit$1(hook, component.appContext.app, component.uid, component, type, time); + }; + } + function devtoolsComponentEmit(component, event, params) { + emit$1( + "component:emit" /* COMPONENT_EMIT */, + component.appContext.app, + component, + event, + params + ); + } + + function emit(instance, event, ...rawArgs) { + if (instance.isUnmounted) + return; + const props = instance.vnode.props || EMPTY_OBJ; + { + const { + emitsOptions, + propsOptions: [propsOptions] + } = instance; + if (emitsOptions) { + if (!(event in emitsOptions) && true) { + if (!propsOptions || !(toHandlerKey(event) in propsOptions)) { + warn$1( + `Component emitted event "${event}" but it is neither declared in the emits option nor as an "${toHandlerKey(event)}" prop.` + ); + } + } else { + const validator = emitsOptions[event]; + if (isFunction(validator)) { + const isValid = validator(...rawArgs); + if (!isValid) { + warn$1( + `Invalid event arguments: event validation failed for event "${event}".` + ); + } + } + } + } + } + let args = rawArgs; + const isModelListener = event.startsWith("update:"); + const modelArg = isModelListener && event.slice(7); + if (modelArg && modelArg in props) { + const modifiersKey = `${modelArg === "modelValue" ? "model" : modelArg}Modifiers`; + const { number, trim } = props[modifiersKey] || EMPTY_OBJ; + if (trim) { + args = rawArgs.map((a) => isString(a) ? a.trim() : a); + } + if (number) { + args = rawArgs.map(looseToNumber); + } + } + { + devtoolsComponentEmit(instance, event, args); + } + { + const lowerCaseEvent = event.toLowerCase(); + if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) { + warn$1( + `Event "${lowerCaseEvent}" is emitted in component ${formatComponentName( + instance, + instance.type + )} but the handler is registered for "${event}". Note that HTML attributes are case-insensitive and you cannot use v-on to listen to camelCase events when using in-DOM templates. You should probably use "${hyphenate( + event + )}" instead of "${event}".` + ); + } + } + let handlerName; + let handler = props[handlerName = toHandlerKey(event)] || // also try camelCase event handler (#2249) + props[handlerName = toHandlerKey(camelize(event))]; + if (!handler && isModelListener) { + handler = props[handlerName = toHandlerKey(hyphenate(event))]; + } + if (handler) { + callWithAsyncErrorHandling( + handler, + instance, + 6, + args + ); + } + const onceHandler = props[handlerName + `Once`]; + if (onceHandler) { + if (!instance.emitted) { + instance.emitted = {}; + } else if (instance.emitted[handlerName]) { + return; + } + instance.emitted[handlerName] = true; + callWithAsyncErrorHandling( + onceHandler, + instance, + 6, + args + ); + } + } + function normalizeEmitsOptions(comp, appContext, asMixin = false) { + const cache = appContext.emitsCache; + const cached = cache.get(comp); + if (cached !== void 0) { + return cached; + } + const raw = comp.emits; + let normalized = {}; + let hasExtends = false; + if (!isFunction(comp)) { + const extendEmits = (raw2) => { + const normalizedFromExtend = normalizeEmitsOptions(raw2, appContext, true); + if (normalizedFromExtend) { + hasExtends = true; + extend(normalized, normalizedFromExtend); + } + }; + if (!asMixin && appContext.mixins.length) { + appContext.mixins.forEach(extendEmits); + } + if (comp.extends) { + extendEmits(comp.extends); + } + if (comp.mixins) { + comp.mixins.forEach(extendEmits); + } + } + if (!raw && !hasExtends) { + if (isObject(comp)) { + cache.set(comp, null); + } + return null; + } + if (isArray(raw)) { + raw.forEach((key) => normalized[key] = null); + } else { + extend(normalized, raw); + } + if (isObject(comp)) { + cache.set(comp, normalized); + } + return normalized; + } + function isEmitListener(options, key) { + if (!options || !isOn(key)) { + return false; + } + key = key.slice(2).replace(/Once$/, ""); + return hasOwn(options, key[0].toLowerCase() + key.slice(1)) || hasOwn(options, hyphenate(key)) || hasOwn(options, key); + } + + let currentRenderingInstance = null; + let currentScopeId = null; + function setCurrentRenderingInstance(instance) { + const prev = currentRenderingInstance; + currentRenderingInstance = instance; + currentScopeId = instance && instance.type.__scopeId || null; + return prev; + } + function pushScopeId(id) { + currentScopeId = id; + } + function popScopeId() { + currentScopeId = null; + } + const withScopeId = (_id) => withCtx; + function withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) { + if (!ctx) + return fn; + if (fn._n) { + return fn; + } + const renderFnWithContext = (...args) => { + if (renderFnWithContext._d) { + setBlockTracking(-1); + } + const prevInstance = setCurrentRenderingInstance(ctx); + let res; + try { + res = fn(...args); + } finally { + setCurrentRenderingInstance(prevInstance); + if (renderFnWithContext._d) { + setBlockTracking(1); + } + } + { + devtoolsComponentUpdated(ctx); + } + return res; + }; + renderFnWithContext._n = true; + renderFnWithContext._c = true; + renderFnWithContext._d = true; + return renderFnWithContext; + } + + let accessedAttrs = false; + function markAttrsAccessed() { + accessedAttrs = true; + } + function renderComponentRoot(instance) { + const { + type: Component, + vnode, + proxy, + withProxy, + propsOptions: [propsOptions], + slots, + attrs, + emit, + render, + renderCache, + props, + data, + setupState, + ctx, + inheritAttrs + } = instance; + const prev = setCurrentRenderingInstance(instance); + let result; + let fallthroughAttrs; + { + accessedAttrs = false; + } + try { + if (vnode.shapeFlag & 4) { + const proxyToUse = withProxy || proxy; + const thisProxy = setupState.__isScriptSetup ? new Proxy(proxyToUse, { + get(target, key, receiver) { + warn$1( + `Property '${String( + key + )}' was accessed via 'this'. Avoid using 'this' in templates.` + ); + return Reflect.get(target, key, receiver); + } + }) : proxyToUse; + result = normalizeVNode( + render.call( + thisProxy, + proxyToUse, + renderCache, + true ? shallowReadonly(props) : props, + setupState, + data, + ctx + ) + ); + fallthroughAttrs = attrs; + } else { + const render2 = Component; + if (attrs === props) { + markAttrsAccessed(); + } + result = normalizeVNode( + render2.length > 1 ? render2( + true ? shallowReadonly(props) : props, + true ? { + get attrs() { + markAttrsAccessed(); + return shallowReadonly(attrs); + }, + slots, + emit + } : { attrs, slots, emit } + ) : render2( + true ? shallowReadonly(props) : props, + null + ) + ); + fallthroughAttrs = Component.props ? attrs : getFunctionalFallthrough(attrs); + } + } catch (err) { + blockStack.length = 0; + handleError(err, instance, 1); + result = createVNode(Comment); + } + let root = result; + let setRoot = void 0; + if (result.patchFlag > 0 && result.patchFlag & 2048) { + [root, setRoot] = getChildRoot(result); + } + if (fallthroughAttrs && inheritAttrs !== false) { + const keys = Object.keys(fallthroughAttrs); + const { shapeFlag } = root; + if (keys.length) { + if (shapeFlag & (1 | 6)) { + if (propsOptions && keys.some(isModelListener)) { + fallthroughAttrs = filterModelListeners( + fallthroughAttrs, + propsOptions + ); + } + root = cloneVNode(root, fallthroughAttrs, false, true); + } else if (!accessedAttrs && root.type !== Comment) { + const allAttrs = Object.keys(attrs); + const eventAttrs = []; + const extraAttrs = []; + for (let i = 0, l = allAttrs.length; i < l; i++) { + const key = allAttrs[i]; + if (isOn(key)) { + if (!isModelListener(key)) { + eventAttrs.push(key[2].toLowerCase() + key.slice(3)); + } + } else { + extraAttrs.push(key); + } + } + if (extraAttrs.length) { + warn$1( + `Extraneous non-props attributes (${extraAttrs.join(", ")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes.` + ); + } + if (eventAttrs.length) { + warn$1( + `Extraneous non-emits event listeners (${eventAttrs.join(", ")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes. If the listener is intended to be a component custom event listener only, declare it using the "emits" option.` + ); + } + } + } + } + if (vnode.dirs) { + if (!isElementRoot(root)) { + warn$1( + `Runtime directive used on component with non-element root node. The directives will not function as intended.` + ); + } + root = cloneVNode(root, null, false, true); + root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs; + } + if (vnode.transition) { + if (!isElementRoot(root)) { + warn$1( + `Component inside renders non-element root node that cannot be animated.` + ); + } + root.transition = vnode.transition; + } + if (setRoot) { + setRoot(root); + } else { + result = root; + } + setCurrentRenderingInstance(prev); + return result; + } + const getChildRoot = (vnode) => { + const rawChildren = vnode.children; + const dynamicChildren = vnode.dynamicChildren; + const childRoot = filterSingleRoot(rawChildren, false); + if (!childRoot) { + return [vnode, void 0]; + } else if (childRoot.patchFlag > 0 && childRoot.patchFlag & 2048) { + return getChildRoot(childRoot); + } + const index = rawChildren.indexOf(childRoot); + const dynamicIndex = dynamicChildren ? dynamicChildren.indexOf(childRoot) : -1; + const setRoot = (updatedRoot) => { + rawChildren[index] = updatedRoot; + if (dynamicChildren) { + if (dynamicIndex > -1) { + dynamicChildren[dynamicIndex] = updatedRoot; + } else if (updatedRoot.patchFlag > 0) { + vnode.dynamicChildren = [...dynamicChildren, updatedRoot]; + } + } + }; + return [normalizeVNode(childRoot), setRoot]; + }; + function filterSingleRoot(children, recurse = true) { + let singleRoot; + for (let i = 0; i < children.length; i++) { + const child = children[i]; + if (isVNode(child)) { + if (child.type !== Comment || child.children === "v-if") { + if (singleRoot) { + return; + } else { + singleRoot = child; + if (recurse && singleRoot.patchFlag > 0 && singleRoot.patchFlag & 2048) { + return filterSingleRoot(singleRoot.children); + } + } + } + } else { + return; + } + } + return singleRoot; + } + const getFunctionalFallthrough = (attrs) => { + let res; + for (const key in attrs) { + if (key === "class" || key === "style" || isOn(key)) { + (res || (res = {}))[key] = attrs[key]; + } + } + return res; + }; + const filterModelListeners = (attrs, props) => { + const res = {}; + for (const key in attrs) { + if (!isModelListener(key) || !(key.slice(9) in props)) { + res[key] = attrs[key]; + } + } + return res; + }; + const isElementRoot = (vnode) => { + return vnode.shapeFlag & (6 | 1) || vnode.type === Comment; + }; + function shouldUpdateComponent(prevVNode, nextVNode, optimized) { + const { props: prevProps, children: prevChildren, component } = prevVNode; + const { props: nextProps, children: nextChildren, patchFlag } = nextVNode; + const emits = component.emitsOptions; + if ((prevChildren || nextChildren) && isHmrUpdating) { + return true; + } + if (nextVNode.dirs || nextVNode.transition) { + return true; + } + if (optimized && patchFlag >= 0) { + if (patchFlag & 1024) { + return true; + } + if (patchFlag & 16) { + if (!prevProps) { + return !!nextProps; + } + return hasPropsChanged(prevProps, nextProps, emits); + } else if (patchFlag & 8) { + const dynamicProps = nextVNode.dynamicProps; + for (let i = 0; i < dynamicProps.length; i++) { + const key = dynamicProps[i]; + if (nextProps[key] !== prevProps[key] && !isEmitListener(emits, key)) { + return true; + } + } + } + } else { + if (prevChildren || nextChildren) { + if (!nextChildren || !nextChildren.$stable) { + return true; + } + } + if (prevProps === nextProps) { + return false; + } + if (!prevProps) { + return !!nextProps; + } + if (!nextProps) { + return true; + } + return hasPropsChanged(prevProps, nextProps, emits); + } + return false; + } + function hasPropsChanged(prevProps, nextProps, emitsOptions) { + const nextKeys = Object.keys(nextProps); + if (nextKeys.length !== Object.keys(prevProps).length) { + return true; + } + for (let i = 0; i < nextKeys.length; i++) { + const key = nextKeys[i]; + if (nextProps[key] !== prevProps[key] && !isEmitListener(emitsOptions, key)) { + return true; + } + } + return false; + } + function updateHOCHostEl({ vnode, parent }, el) { + while (parent) { + const root = parent.subTree; + if (root.suspense && root.suspense.activeBranch === vnode) { + root.el = vnode.el; + } + if (root === vnode) { + (vnode = parent.vnode).el = el; + parent = parent.parent; + } else { + break; + } + } + } + + const COMPONENTS = "components"; + const DIRECTIVES = "directives"; + function resolveComponent(name, maybeSelfReference) { + return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name; + } + const NULL_DYNAMIC_COMPONENT = Symbol.for("v-ndc"); + function resolveDynamicComponent(component) { + if (isString(component)) { + return resolveAsset(COMPONENTS, component, false) || component; + } else { + return component || NULL_DYNAMIC_COMPONENT; + } + } + function resolveDirective(name) { + return resolveAsset(DIRECTIVES, name); + } + function resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) { + const instance = currentRenderingInstance || currentInstance; + if (instance) { + const Component = instance.type; + if (type === COMPONENTS) { + const selfName = getComponentName( + Component, + false + ); + if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) { + return Component; + } + } + const res = ( + // local registration + // check instance[type] first which is resolved for options API + resolve(instance[type] || Component[type], name) || // global registration + resolve(instance.appContext[type], name) + ); + if (!res && maybeSelfReference) { + return Component; + } + if (warnMissing && !res) { + const extra = type === COMPONENTS ? ` +If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``; + warn$1(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`); + } + return res; + } else { + warn$1( + `resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().` + ); + } + } + function resolve(registry, name) { + return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]); + } + + const isSuspense = (type) => type.__isSuspense; + let suspenseId = 0; + const SuspenseImpl = { + name: "Suspense", + // In order to make Suspense tree-shakable, we need to avoid importing it + // directly in the renderer. The renderer checks for the __isSuspense flag + // on a vnode's type and calls the `process` method, passing in renderer + // internals. + __isSuspense: true, + process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals) { + if (n1 == null) { + mountSuspense( + n2, + container, + anchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized, + rendererInternals + ); + } else { + if (parentSuspense && parentSuspense.deps > 0 && !n1.suspense.isInFallback) { + n2.suspense = n1.suspense; + n2.suspense.vnode = n2; + n2.el = n1.el; + return; + } + patchSuspense( + n1, + n2, + container, + anchor, + parentComponent, + namespace, + slotScopeIds, + optimized, + rendererInternals + ); + } + }, + hydrate: hydrateSuspense, + create: createSuspenseBoundary, + normalize: normalizeSuspenseChildren + }; + const Suspense = SuspenseImpl ; + function triggerEvent(vnode, name) { + const eventListener = vnode.props && vnode.props[name]; + if (isFunction(eventListener)) { + eventListener(); + } + } + function mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals) { + const { + p: patch, + o: { createElement } + } = rendererInternals; + const hiddenContainer = createElement("div"); + const suspense = vnode.suspense = createSuspenseBoundary( + vnode, + parentSuspense, + parentComponent, + container, + hiddenContainer, + anchor, + namespace, + slotScopeIds, + optimized, + rendererInternals + ); + patch( + null, + suspense.pendingBranch = vnode.ssContent, + hiddenContainer, + null, + parentComponent, + suspense, + namespace, + slotScopeIds + ); + if (suspense.deps > 0) { + triggerEvent(vnode, "onPending"); + triggerEvent(vnode, "onFallback"); + patch( + null, + vnode.ssFallback, + container, + anchor, + parentComponent, + null, + // fallback tree will not have suspense context + namespace, + slotScopeIds + ); + setActiveBranch(suspense, vnode.ssFallback); + } else { + suspense.resolve(false, true); + } + } + function patchSuspense(n1, n2, container, anchor, parentComponent, namespace, slotScopeIds, optimized, { p: patch, um: unmount, o: { createElement } }) { + const suspense = n2.suspense = n1.suspense; + suspense.vnode = n2; + n2.el = n1.el; + const newBranch = n2.ssContent; + const newFallback = n2.ssFallback; + const { activeBranch, pendingBranch, isInFallback, isHydrating } = suspense; + if (pendingBranch) { + suspense.pendingBranch = newBranch; + if (isSameVNodeType(newBranch, pendingBranch)) { + patch( + pendingBranch, + newBranch, + suspense.hiddenContainer, + null, + parentComponent, + suspense, + namespace, + slotScopeIds, + optimized + ); + if (suspense.deps <= 0) { + suspense.resolve(); + } else if (isInFallback) { + if (!isHydrating) { + patch( + activeBranch, + newFallback, + container, + anchor, + parentComponent, + null, + // fallback tree will not have suspense context + namespace, + slotScopeIds, + optimized + ); + setActiveBranch(suspense, newFallback); + } + } + } else { + suspense.pendingId = suspenseId++; + if (isHydrating) { + suspense.isHydrating = false; + suspense.activeBranch = pendingBranch; + } else { + unmount(pendingBranch, parentComponent, suspense); + } + suspense.deps = 0; + suspense.effects.length = 0; + suspense.hiddenContainer = createElement("div"); + if (isInFallback) { + patch( + null, + newBranch, + suspense.hiddenContainer, + null, + parentComponent, + suspense, + namespace, + slotScopeIds, + optimized + ); + if (suspense.deps <= 0) { + suspense.resolve(); + } else { + patch( + activeBranch, + newFallback, + container, + anchor, + parentComponent, + null, + // fallback tree will not have suspense context + namespace, + slotScopeIds, + optimized + ); + setActiveBranch(suspense, newFallback); + } + } else if (activeBranch && isSameVNodeType(newBranch, activeBranch)) { + patch( + activeBranch, + newBranch, + container, + anchor, + parentComponent, + suspense, + namespace, + slotScopeIds, + optimized + ); + suspense.resolve(true); + } else { + patch( + null, + newBranch, + suspense.hiddenContainer, + null, + parentComponent, + suspense, + namespace, + slotScopeIds, + optimized + ); + if (suspense.deps <= 0) { + suspense.resolve(); + } + } + } + } else { + if (activeBranch && isSameVNodeType(newBranch, activeBranch)) { + patch( + activeBranch, + newBranch, + container, + anchor, + parentComponent, + suspense, + namespace, + slotScopeIds, + optimized + ); + setActiveBranch(suspense, newBranch); + } else { + triggerEvent(n2, "onPending"); + suspense.pendingBranch = newBranch; + if (newBranch.shapeFlag & 512) { + suspense.pendingId = newBranch.component.suspenseId; + } else { + suspense.pendingId = suspenseId++; + } + patch( + null, + newBranch, + suspense.hiddenContainer, + null, + parentComponent, + suspense, + namespace, + slotScopeIds, + optimized + ); + if (suspense.deps <= 0) { + suspense.resolve(); + } else { + const { timeout, pendingId } = suspense; + if (timeout > 0) { + setTimeout(() => { + if (suspense.pendingId === pendingId) { + suspense.fallback(newFallback); + } + }, timeout); + } else if (timeout === 0) { + suspense.fallback(newFallback); + } + } + } + } + } + let hasWarned = false; + function createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, namespace, slotScopeIds, optimized, rendererInternals, isHydrating = false) { + if (!hasWarned) { + hasWarned = true; + console[console.info ? "info" : "log"]( + ` is an experimental feature and its API will likely change.` + ); + } + const { + p: patch, + m: move, + um: unmount, + n: next, + o: { parentNode, remove } + } = rendererInternals; + let parentSuspenseId; + const isSuspensible = isVNodeSuspensible(vnode); + if (isSuspensible) { + if (parentSuspense && parentSuspense.pendingBranch) { + parentSuspenseId = parentSuspense.pendingId; + parentSuspense.deps++; + } + } + const timeout = vnode.props ? toNumber(vnode.props.timeout) : void 0; + { + assertNumber(timeout, `Suspense timeout`); + } + const initialAnchor = anchor; + const suspense = { + vnode, + parent: parentSuspense, + parentComponent, + namespace, + container, + hiddenContainer, + deps: 0, + pendingId: suspenseId++, + timeout: typeof timeout === "number" ? timeout : -1, + activeBranch: null, + pendingBranch: null, + isInFallback: !isHydrating, + isHydrating, + isUnmounted: false, + effects: [], + resolve(resume = false, sync = false) { + { + if (!resume && !suspense.pendingBranch) { + throw new Error( + `suspense.resolve() is called without a pending branch.` + ); + } + if (suspense.isUnmounted) { + throw new Error( + `suspense.resolve() is called on an already unmounted suspense boundary.` + ); + } + } + const { + vnode: vnode2, + activeBranch, + pendingBranch, + pendingId, + effects, + parentComponent: parentComponent2, + container: container2 + } = suspense; + let delayEnter = false; + if (suspense.isHydrating) { + suspense.isHydrating = false; + } else if (!resume) { + delayEnter = activeBranch && pendingBranch.transition && pendingBranch.transition.mode === "out-in"; + if (delayEnter) { + activeBranch.transition.afterLeave = () => { + if (pendingId === suspense.pendingId) { + move( + pendingBranch, + container2, + anchor === initialAnchor ? next(activeBranch) : anchor, + 0 + ); + queuePostFlushCb(effects); + } + }; + } + if (activeBranch) { + if (parentNode(activeBranch.el) !== suspense.hiddenContainer) { + anchor = next(activeBranch); + } + unmount(activeBranch, parentComponent2, suspense, true); + } + if (!delayEnter) { + move(pendingBranch, container2, anchor, 0); + } + } + setActiveBranch(suspense, pendingBranch); + suspense.pendingBranch = null; + suspense.isInFallback = false; + let parent = suspense.parent; + let hasUnresolvedAncestor = false; + while (parent) { + if (parent.pendingBranch) { + parent.effects.push(...effects); + hasUnresolvedAncestor = true; + break; + } + parent = parent.parent; + } + if (!hasUnresolvedAncestor && !delayEnter) { + queuePostFlushCb(effects); + } + suspense.effects = []; + if (isSuspensible) { + if (parentSuspense && parentSuspense.pendingBranch && parentSuspenseId === parentSuspense.pendingId) { + parentSuspense.deps--; + if (parentSuspense.deps === 0 && !sync) { + parentSuspense.resolve(); + } + } + } + triggerEvent(vnode2, "onResolve"); + }, + fallback(fallbackVNode) { + if (!suspense.pendingBranch) { + return; + } + const { vnode: vnode2, activeBranch, parentComponent: parentComponent2, container: container2, namespace: namespace2 } = suspense; + triggerEvent(vnode2, "onFallback"); + const anchor2 = next(activeBranch); + const mountFallback = () => { + if (!suspense.isInFallback) { + return; + } + patch( + null, + fallbackVNode, + container2, + anchor2, + parentComponent2, + null, + // fallback tree will not have suspense context + namespace2, + slotScopeIds, + optimized + ); + setActiveBranch(suspense, fallbackVNode); + }; + const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === "out-in"; + if (delayEnter) { + activeBranch.transition.afterLeave = mountFallback; + } + suspense.isInFallback = true; + unmount( + activeBranch, + parentComponent2, + null, + // no suspense so unmount hooks fire now + true + // shouldRemove + ); + if (!delayEnter) { + mountFallback(); + } + }, + move(container2, anchor2, type) { + suspense.activeBranch && move(suspense.activeBranch, container2, anchor2, type); + suspense.container = container2; + }, + next() { + return suspense.activeBranch && next(suspense.activeBranch); + }, + registerDep(instance, setupRenderEffect) { + const isInPendingSuspense = !!suspense.pendingBranch; + if (isInPendingSuspense) { + suspense.deps++; + } + const hydratedEl = instance.vnode.el; + instance.asyncDep.catch((err) => { + handleError(err, instance, 0); + }).then((asyncSetupResult) => { + if (instance.isUnmounted || suspense.isUnmounted || suspense.pendingId !== instance.suspenseId) { + return; + } + instance.asyncResolved = true; + const { vnode: vnode2 } = instance; + { + pushWarningContext(vnode2); + } + handleSetupResult(instance, asyncSetupResult, false); + if (hydratedEl) { + vnode2.el = hydratedEl; + } + const placeholder = !hydratedEl && instance.subTree.el; + setupRenderEffect( + instance, + vnode2, + // component may have been moved before resolve. + // if this is not a hydration, instance.subTree will be the comment + // placeholder. + parentNode(hydratedEl || instance.subTree.el), + // anchor will not be used if this is hydration, so only need to + // consider the comment placeholder case. + hydratedEl ? null : next(instance.subTree), + suspense, + namespace, + optimized + ); + if (placeholder) { + remove(placeholder); + } + updateHOCHostEl(instance, vnode2.el); + { + popWarningContext(); + } + if (isInPendingSuspense && --suspense.deps === 0) { + suspense.resolve(); + } + }); + }, + unmount(parentSuspense2, doRemove) { + suspense.isUnmounted = true; + if (suspense.activeBranch) { + unmount( + suspense.activeBranch, + parentComponent, + parentSuspense2, + doRemove + ); + } + if (suspense.pendingBranch) { + unmount( + suspense.pendingBranch, + parentComponent, + parentSuspense2, + doRemove + ); + } + } + }; + return suspense; + } + function hydrateSuspense(node, vnode, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals, hydrateNode) { + const suspense = vnode.suspense = createSuspenseBoundary( + vnode, + parentSuspense, + parentComponent, + node.parentNode, + // eslint-disable-next-line no-restricted-globals + document.createElement("div"), + null, + namespace, + slotScopeIds, + optimized, + rendererInternals, + true + ); + const result = hydrateNode( + node, + suspense.pendingBranch = vnode.ssContent, + parentComponent, + suspense, + slotScopeIds, + optimized + ); + if (suspense.deps === 0) { + suspense.resolve(false, true); + } + return result; + } + function normalizeSuspenseChildren(vnode) { + const { shapeFlag, children } = vnode; + const isSlotChildren = shapeFlag & 32; + vnode.ssContent = normalizeSuspenseSlot( + isSlotChildren ? children.default : children + ); + vnode.ssFallback = isSlotChildren ? normalizeSuspenseSlot(children.fallback) : createVNode(Comment); + } + function normalizeSuspenseSlot(s) { + let block; + if (isFunction(s)) { + const trackBlock = isBlockTreeEnabled && s._c; + if (trackBlock) { + s._d = false; + openBlock(); + } + s = s(); + if (trackBlock) { + s._d = true; + block = currentBlock; + closeBlock(); + } + } + if (isArray(s)) { + const singleChild = filterSingleRoot(s); + if (!singleChild && s.filter((child) => child !== NULL_DYNAMIC_COMPONENT).length > 0) { + warn$1(` slots expect a single root node.`); + } + s = singleChild; + } + s = normalizeVNode(s); + if (block && !s.dynamicChildren) { + s.dynamicChildren = block.filter((c) => c !== s); + } + return s; + } + function queueEffectWithSuspense(fn, suspense) { + if (suspense && suspense.pendingBranch) { + if (isArray(fn)) { + suspense.effects.push(...fn); + } else { + suspense.effects.push(fn); + } + } else { + queuePostFlushCb(fn); + } + } + function setActiveBranch(suspense, branch) { + suspense.activeBranch = branch; + const { vnode, parentComponent } = suspense; + let el = branch.el; + while (!el && branch.component) { + branch = branch.component.subTree; + el = branch.el; + } + vnode.el = el; + if (parentComponent && parentComponent.subTree === vnode) { + parentComponent.vnode.el = el; + updateHOCHostEl(parentComponent, el); + } + } + function isVNodeSuspensible(vnode) { + const suspensible = vnode.props && vnode.props.suspensible; + return suspensible != null && suspensible !== false; + } + + const ssrContextKey = Symbol.for("v-scx"); + const useSSRContext = () => { + { + warn$1(`useSSRContext() is not supported in the global build.`); + } + }; + + function watchEffect(effect, options) { + return doWatch(effect, null, options); + } + function watchPostEffect(effect, options) { + return doWatch( + effect, + null, + extend({}, options, { flush: "post" }) + ); + } + function watchSyncEffect(effect, options) { + return doWatch( + effect, + null, + extend({}, options, { flush: "sync" }) + ); + } + const INITIAL_WATCHER_VALUE = {}; + function watch(source, cb, options) { + if (!isFunction(cb)) { + warn$1( + `\`watch(fn, options?)\` signature has been moved to a separate API. Use \`watchEffect(fn, options?)\` instead. \`watch\` now only supports \`watch(source, cb, options?) signature.` + ); + } + return doWatch(source, cb, options); + } + function doWatch(source, cb, { + immediate, + deep, + flush, + once, + onTrack, + onTrigger + } = EMPTY_OBJ) { + if (cb && once) { + const _cb = cb; + cb = (...args) => { + _cb(...args); + unwatch(); + }; + } + if (deep !== void 0 && typeof deep === "number") { + warn$1( + `watch() "deep" option with number value will be used as watch depth in future versions. Please use a boolean instead to avoid potential breakage.` + ); + } + if (!cb) { + if (immediate !== void 0) { + warn$1( + `watch() "immediate" option is only respected when using the watch(source, callback, options?) signature.` + ); + } + if (deep !== void 0) { + warn$1( + `watch() "deep" option is only respected when using the watch(source, callback, options?) signature.` + ); + } + if (once !== void 0) { + warn$1( + `watch() "once" option is only respected when using the watch(source, callback, options?) signature.` + ); + } + } + const warnInvalidSource = (s) => { + warn$1( + `Invalid watch source: `, + s, + `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.` + ); + }; + const instance = currentInstance; + const reactiveGetter = (source2) => deep === true ? source2 : ( + // for deep: false, only traverse root-level properties + traverse(source2, deep === false ? 1 : void 0) + ); + let getter; + let forceTrigger = false; + let isMultiSource = false; + if (isRef(source)) { + getter = () => source.value; + forceTrigger = isShallow(source); + } else if (isReactive(source)) { + getter = () => reactiveGetter(source); + forceTrigger = true; + } else if (isArray(source)) { + isMultiSource = true; + forceTrigger = source.some((s) => isReactive(s) || isShallow(s)); + getter = () => source.map((s) => { + if (isRef(s)) { + return s.value; + } else if (isReactive(s)) { + return reactiveGetter(s); + } else if (isFunction(s)) { + return callWithErrorHandling(s, instance, 2); + } else { + warnInvalidSource(s); + } + }); + } else if (isFunction(source)) { + if (cb) { + getter = () => callWithErrorHandling(source, instance, 2); + } else { + getter = () => { + if (cleanup) { + cleanup(); + } + return callWithAsyncErrorHandling( + source, + instance, + 3, + [onCleanup] + ); + }; + } + } else { + getter = NOOP; + warnInvalidSource(source); + } + if (cb && deep) { + const baseGetter = getter; + getter = () => traverse(baseGetter()); + } + let cleanup; + let onCleanup = (fn) => { + cleanup = effect.onStop = () => { + callWithErrorHandling(fn, instance, 4); + cleanup = effect.onStop = void 0; + }; + }; + let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE; + const job = () => { + if (!effect.active || !effect.dirty) { + return; + } + if (cb) { + const newValue = effect.run(); + if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue)) || false) { + if (cleanup) { + cleanup(); + } + callWithAsyncErrorHandling(cb, instance, 3, [ + newValue, + // pass undefined as the old value when it's changed for the first time + oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue, + onCleanup + ]); + oldValue = newValue; + } + } else { + effect.run(); + } + }; + job.allowRecurse = !!cb; + let scheduler; + if (flush === "sync") { + scheduler = job; + } else if (flush === "post") { + scheduler = () => queuePostRenderEffect(job, instance && instance.suspense); + } else { + job.pre = true; + if (instance) + job.id = instance.uid; + scheduler = () => queueJob(job); + } + const effect = new ReactiveEffect(getter, NOOP, scheduler); + const scope = getCurrentScope(); + const unwatch = () => { + effect.stop(); + if (scope) { + remove(scope.effects, effect); + } + }; + { + effect.onTrack = onTrack; + effect.onTrigger = onTrigger; + } + if (cb) { + if (immediate) { + job(); + } else { + oldValue = effect.run(); + } + } else if (flush === "post") { + queuePostRenderEffect( + effect.run.bind(effect), + instance && instance.suspense + ); + } else { + effect.run(); + } + return unwatch; + } + function instanceWatch(source, value, options) { + const publicThis = this.proxy; + const getter = isString(source) ? source.includes(".") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis); + let cb; + if (isFunction(value)) { + cb = value; + } else { + cb = value.handler; + options = value; + } + const reset = setCurrentInstance(this); + const res = doWatch(getter, cb.bind(publicThis), options); + reset(); + return res; + } + function createPathGetter(ctx, path) { + const segments = path.split("."); + return () => { + let cur = ctx; + for (let i = 0; i < segments.length && cur; i++) { + cur = cur[segments[i]]; + } + return cur; + }; + } + function traverse(value, depth = Infinity, seen) { + if (depth <= 0 || !isObject(value) || value["__v_skip"]) { + return value; + } + seen = seen || /* @__PURE__ */ new Set(); + if (seen.has(value)) { + return value; + } + seen.add(value); + depth--; + if (isRef(value)) { + traverse(value.value, depth, seen); + } else if (isArray(value)) { + for (let i = 0; i < value.length; i++) { + traverse(value[i], depth, seen); + } + } else if (isSet(value) || isMap(value)) { + value.forEach((v) => { + traverse(v, depth, seen); + }); + } else if (isPlainObject(value)) { + for (const key in value) { + traverse(value[key], depth, seen); + } + } + return value; + } + + function validateDirectiveName(name) { + if (isBuiltInDirective(name)) { + warn$1("Do not use built-in directive ids as custom directive id: " + name); + } + } + function withDirectives(vnode, directives) { + if (currentRenderingInstance === null) { + warn$1(`withDirectives can only be used inside render functions.`); + return vnode; + } + const instance = getExposeProxy(currentRenderingInstance) || currentRenderingInstance.proxy; + const bindings = vnode.dirs || (vnode.dirs = []); + for (let i = 0; i < directives.length; i++) { + let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i]; + if (dir) { + if (isFunction(dir)) { + dir = { + mounted: dir, + updated: dir + }; + } + if (dir.deep) { + traverse(value); + } + bindings.push({ + dir, + instance, + value, + oldValue: void 0, + arg, + modifiers + }); + } + } + return vnode; + } + function invokeDirectiveHook(vnode, prevVNode, instance, name) { + const bindings = vnode.dirs; + const oldBindings = prevVNode && prevVNode.dirs; + for (let i = 0; i < bindings.length; i++) { + const binding = bindings[i]; + if (oldBindings) { + binding.oldValue = oldBindings[i].value; + } + let hook = binding.dir[name]; + if (hook) { + pauseTracking(); + callWithAsyncErrorHandling(hook, instance, 8, [ + vnode.el, + binding, + vnode, + prevVNode + ]); + resetTracking(); + } + } + } + + const leaveCbKey = Symbol("_leaveCb"); + const enterCbKey$1 = Symbol("_enterCb"); + function useTransitionState() { + const state = { + isMounted: false, + isLeaving: false, + isUnmounting: false, + leavingVNodes: /* @__PURE__ */ new Map() + }; + onMounted(() => { + state.isMounted = true; + }); + onBeforeUnmount(() => { + state.isUnmounting = true; + }); + return state; + } + const TransitionHookValidator = [Function, Array]; + const BaseTransitionPropsValidators = { + mode: String, + appear: Boolean, + persisted: Boolean, + // enter + onBeforeEnter: TransitionHookValidator, + onEnter: TransitionHookValidator, + onAfterEnter: TransitionHookValidator, + onEnterCancelled: TransitionHookValidator, + // leave + onBeforeLeave: TransitionHookValidator, + onLeave: TransitionHookValidator, + onAfterLeave: TransitionHookValidator, + onLeaveCancelled: TransitionHookValidator, + // appear + onBeforeAppear: TransitionHookValidator, + onAppear: TransitionHookValidator, + onAfterAppear: TransitionHookValidator, + onAppearCancelled: TransitionHookValidator + }; + const BaseTransitionImpl = { + name: `BaseTransition`, + props: BaseTransitionPropsValidators, + setup(props, { slots }) { + const instance = getCurrentInstance(); + const state = useTransitionState(); + return () => { + const children = slots.default && getTransitionRawChildren(slots.default(), true); + if (!children || !children.length) { + return; + } + let child = children[0]; + if (children.length > 1) { + let hasFound = false; + for (const c of children) { + if (c.type !== Comment) { + if (hasFound) { + warn$1( + " can only be used on a single element or component. Use for lists." + ); + break; + } + child = c; + hasFound = true; + } + } + } + const rawProps = toRaw(props); + const { mode } = rawProps; + if (mode && mode !== "in-out" && mode !== "out-in" && mode !== "default") { + warn$1(`invalid mode: ${mode}`); + } + if (state.isLeaving) { + return emptyPlaceholder(child); + } + const innerChild = getKeepAliveChild(child); + if (!innerChild) { + return emptyPlaceholder(child); + } + const enterHooks = resolveTransitionHooks( + innerChild, + rawProps, + state, + instance + ); + setTransitionHooks(innerChild, enterHooks); + const oldChild = instance.subTree; + const oldInnerChild = oldChild && getKeepAliveChild(oldChild); + if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(innerChild, oldInnerChild)) { + const leavingHooks = resolveTransitionHooks( + oldInnerChild, + rawProps, + state, + instance + ); + setTransitionHooks(oldInnerChild, leavingHooks); + if (mode === "out-in" && innerChild.type !== Comment) { + state.isLeaving = true; + leavingHooks.afterLeave = () => { + state.isLeaving = false; + if (instance.update.active !== false) { + instance.effect.dirty = true; + instance.update(); + } + }; + return emptyPlaceholder(child); + } else if (mode === "in-out" && innerChild.type !== Comment) { + leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => { + const leavingVNodesCache = getLeavingNodesForType( + state, + oldInnerChild + ); + leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild; + el[leaveCbKey] = () => { + earlyRemove(); + el[leaveCbKey] = void 0; + delete enterHooks.delayedLeave; + }; + enterHooks.delayedLeave = delayedLeave; + }; + } + } + return child; + }; + } + }; + const BaseTransition = BaseTransitionImpl; + function getLeavingNodesForType(state, vnode) { + const { leavingVNodes } = state; + let leavingVNodesCache = leavingVNodes.get(vnode.type); + if (!leavingVNodesCache) { + leavingVNodesCache = /* @__PURE__ */ Object.create(null); + leavingVNodes.set(vnode.type, leavingVNodesCache); + } + return leavingVNodesCache; + } + function resolveTransitionHooks(vnode, props, state, instance) { + const { + appear, + mode, + persisted = false, + onBeforeEnter, + onEnter, + onAfterEnter, + onEnterCancelled, + onBeforeLeave, + onLeave, + onAfterLeave, + onLeaveCancelled, + onBeforeAppear, + onAppear, + onAfterAppear, + onAppearCancelled + } = props; + const key = String(vnode.key); + const leavingVNodesCache = getLeavingNodesForType(state, vnode); + const callHook = (hook, args) => { + hook && callWithAsyncErrorHandling( + hook, + instance, + 9, + args + ); + }; + const callAsyncHook = (hook, args) => { + const done = args[1]; + callHook(hook, args); + if (isArray(hook)) { + if (hook.every((hook2) => hook2.length <= 1)) + done(); + } else if (hook.length <= 1) { + done(); + } + }; + const hooks = { + mode, + persisted, + beforeEnter(el) { + let hook = onBeforeEnter; + if (!state.isMounted) { + if (appear) { + hook = onBeforeAppear || onBeforeEnter; + } else { + return; + } + } + if (el[leaveCbKey]) { + el[leaveCbKey]( + true + /* cancelled */ + ); + } + const leavingVNode = leavingVNodesCache[key]; + if (leavingVNode && isSameVNodeType(vnode, leavingVNode) && leavingVNode.el[leaveCbKey]) { + leavingVNode.el[leaveCbKey](); + } + callHook(hook, [el]); + }, + enter(el) { + let hook = onEnter; + let afterHook = onAfterEnter; + let cancelHook = onEnterCancelled; + if (!state.isMounted) { + if (appear) { + hook = onAppear || onEnter; + afterHook = onAfterAppear || onAfterEnter; + cancelHook = onAppearCancelled || onEnterCancelled; + } else { + return; + } + } + let called = false; + const done = el[enterCbKey$1] = (cancelled) => { + if (called) + return; + called = true; + if (cancelled) { + callHook(cancelHook, [el]); + } else { + callHook(afterHook, [el]); + } + if (hooks.delayedLeave) { + hooks.delayedLeave(); + } + el[enterCbKey$1] = void 0; + }; + if (hook) { + callAsyncHook(hook, [el, done]); + } else { + done(); + } + }, + leave(el, remove) { + const key2 = String(vnode.key); + if (el[enterCbKey$1]) { + el[enterCbKey$1]( + true + /* cancelled */ + ); + } + if (state.isUnmounting) { + return remove(); + } + callHook(onBeforeLeave, [el]); + let called = false; + const done = el[leaveCbKey] = (cancelled) => { + if (called) + return; + called = true; + remove(); + if (cancelled) { + callHook(onLeaveCancelled, [el]); + } else { + callHook(onAfterLeave, [el]); + } + el[leaveCbKey] = void 0; + if (leavingVNodesCache[key2] === vnode) { + delete leavingVNodesCache[key2]; + } + }; + leavingVNodesCache[key2] = vnode; + if (onLeave) { + callAsyncHook(onLeave, [el, done]); + } else { + done(); + } + }, + clone(vnode2) { + return resolveTransitionHooks(vnode2, props, state, instance); + } + }; + return hooks; + } + function emptyPlaceholder(vnode) { + if (isKeepAlive(vnode)) { + vnode = cloneVNode(vnode); + vnode.children = null; + return vnode; + } + } + function getKeepAliveChild(vnode) { + if (!isKeepAlive(vnode)) { + return vnode; + } + if (vnode.component) { + return vnode.component.subTree; + } + const { shapeFlag, children } = vnode; + if (children) { + if (shapeFlag & 16) { + return children[0]; + } + if (shapeFlag & 32 && isFunction(children.default)) { + return children.default(); + } + } + } + function setTransitionHooks(vnode, hooks) { + if (vnode.shapeFlag & 6 && vnode.component) { + setTransitionHooks(vnode.component.subTree, hooks); + } else if (vnode.shapeFlag & 128) { + vnode.ssContent.transition = hooks.clone(vnode.ssContent); + vnode.ssFallback.transition = hooks.clone(vnode.ssFallback); + } else { + vnode.transition = hooks; + } + } + function getTransitionRawChildren(children, keepComment = false, parentKey) { + let ret = []; + let keyedFragmentCount = 0; + for (let i = 0; i < children.length; i++) { + let child = children[i]; + const key = parentKey == null ? child.key : String(parentKey) + String(child.key != null ? child.key : i); + if (child.type === Fragment) { + if (child.patchFlag & 128) + keyedFragmentCount++; + ret = ret.concat( + getTransitionRawChildren(child.children, keepComment, key) + ); + } else if (keepComment || child.type !== Comment) { + ret.push(key != null ? cloneVNode(child, { key }) : child); + } + } + if (keyedFragmentCount > 1) { + for (let i = 0; i < ret.length; i++) { + ret[i].patchFlag = -2; + } + } + return ret; + } + + /*! #__NO_SIDE_EFFECTS__ */ + // @__NO_SIDE_EFFECTS__ + function defineComponent(options, extraOptions) { + return isFunction(options) ? ( + // #8326: extend call and options.name access are considered side-effects + // by Rollup, so we have to wrap it in a pure-annotated IIFE. + /* @__PURE__ */ (() => extend({ name: options.name }, extraOptions, { setup: options }))() + ) : options; + } + + const isAsyncWrapper = (i) => !!i.type.__asyncLoader; + /*! #__NO_SIDE_EFFECTS__ */ + // @__NO_SIDE_EFFECTS__ + function defineAsyncComponent(source) { + if (isFunction(source)) { + source = { loader: source }; + } + const { + loader, + loadingComponent, + errorComponent, + delay = 200, + timeout, + // undefined = never times out + suspensible = true, + onError: userOnError + } = source; + let pendingRequest = null; + let resolvedComp; + let retries = 0; + const retry = () => { + retries++; + pendingRequest = null; + return load(); + }; + const load = () => { + let thisRequest; + return pendingRequest || (thisRequest = pendingRequest = loader().catch((err) => { + err = err instanceof Error ? err : new Error(String(err)); + if (userOnError) { + return new Promise((resolve, reject) => { + const userRetry = () => resolve(retry()); + const userFail = () => reject(err); + userOnError(err, userRetry, userFail, retries + 1); + }); + } else { + throw err; + } + }).then((comp) => { + if (thisRequest !== pendingRequest && pendingRequest) { + return pendingRequest; + } + if (!comp) { + warn$1( + `Async component loader resolved to undefined. If you are using retry(), make sure to return its return value.` + ); + } + if (comp && (comp.__esModule || comp[Symbol.toStringTag] === "Module")) { + comp = comp.default; + } + if (comp && !isObject(comp) && !isFunction(comp)) { + throw new Error(`Invalid async component load result: ${comp}`); + } + resolvedComp = comp; + return comp; + })); + }; + return defineComponent({ + name: "AsyncComponentWrapper", + __asyncLoader: load, + get __asyncResolved() { + return resolvedComp; + }, + setup() { + const instance = currentInstance; + if (resolvedComp) { + return () => createInnerComp(resolvedComp, instance); + } + const onError = (err) => { + pendingRequest = null; + handleError( + err, + instance, + 13, + !errorComponent + ); + }; + if (suspensible && instance.suspense || false) { + return load().then((comp) => { + return () => createInnerComp(comp, instance); + }).catch((err) => { + onError(err); + return () => errorComponent ? createVNode(errorComponent, { + error: err + }) : null; + }); + } + const loaded = ref(false); + const error = ref(); + const delayed = ref(!!delay); + if (delay) { + setTimeout(() => { + delayed.value = false; + }, delay); + } + if (timeout != null) { + setTimeout(() => { + if (!loaded.value && !error.value) { + const err = new Error( + `Async component timed out after ${timeout}ms.` + ); + onError(err); + error.value = err; + } + }, timeout); + } + load().then(() => { + loaded.value = true; + if (instance.parent && isKeepAlive(instance.parent.vnode)) { + instance.parent.effect.dirty = true; + queueJob(instance.parent.update); + } + }).catch((err) => { + onError(err); + error.value = err; + }); + return () => { + if (loaded.value && resolvedComp) { + return createInnerComp(resolvedComp, instance); + } else if (error.value && errorComponent) { + return createVNode(errorComponent, { + error: error.value + }); + } else if (loadingComponent && !delayed.value) { + return createVNode(loadingComponent); + } + }; + } + }); + } + function createInnerComp(comp, parent) { + const { ref: ref2, props, children, ce } = parent.vnode; + const vnode = createVNode(comp, props, children); + vnode.ref = ref2; + vnode.ce = ce; + delete parent.vnode.ce; + return vnode; + } + + const isKeepAlive = (vnode) => vnode.type.__isKeepAlive; + const KeepAliveImpl = { + name: `KeepAlive`, + // Marker for special handling inside the renderer. We are not using a === + // check directly on KeepAlive in the renderer, because importing it directly + // would prevent it from being tree-shaken. + __isKeepAlive: true, + props: { + include: [String, RegExp, Array], + exclude: [String, RegExp, Array], + max: [String, Number] + }, + setup(props, { slots }) { + const instance = getCurrentInstance(); + const sharedContext = instance.ctx; + const cache = /* @__PURE__ */ new Map(); + const keys = /* @__PURE__ */ new Set(); + let current = null; + { + instance.__v_cache = cache; + } + const parentSuspense = instance.suspense; + const { + renderer: { + p: patch, + m: move, + um: _unmount, + o: { createElement } + } + } = sharedContext; + const storageContainer = createElement("div"); + sharedContext.activate = (vnode, container, anchor, namespace, optimized) => { + const instance2 = vnode.component; + move(vnode, container, anchor, 0, parentSuspense); + patch( + instance2.vnode, + vnode, + container, + anchor, + instance2, + parentSuspense, + namespace, + vnode.slotScopeIds, + optimized + ); + queuePostRenderEffect(() => { + instance2.isDeactivated = false; + if (instance2.a) { + invokeArrayFns(instance2.a); + } + const vnodeHook = vnode.props && vnode.props.onVnodeMounted; + if (vnodeHook) { + invokeVNodeHook(vnodeHook, instance2.parent, vnode); + } + }, parentSuspense); + { + devtoolsComponentAdded(instance2); + } + }; + sharedContext.deactivate = (vnode) => { + const instance2 = vnode.component; + move(vnode, storageContainer, null, 1, parentSuspense); + queuePostRenderEffect(() => { + if (instance2.da) { + invokeArrayFns(instance2.da); + } + const vnodeHook = vnode.props && vnode.props.onVnodeUnmounted; + if (vnodeHook) { + invokeVNodeHook(vnodeHook, instance2.parent, vnode); + } + instance2.isDeactivated = true; + }, parentSuspense); + { + devtoolsComponentAdded(instance2); + } + }; + function unmount(vnode) { + resetShapeFlag(vnode); + _unmount(vnode, instance, parentSuspense, true); + } + function pruneCache(filter) { + cache.forEach((vnode, key) => { + const name = getComponentName(vnode.type); + if (name && (!filter || !filter(name))) { + pruneCacheEntry(key); + } + }); + } + function pruneCacheEntry(key) { + const cached = cache.get(key); + if (!current || !isSameVNodeType(cached, current)) { + unmount(cached); + } else if (current) { + resetShapeFlag(current); + } + cache.delete(key); + keys.delete(key); + } + watch( + () => [props.include, props.exclude], + ([include, exclude]) => { + include && pruneCache((name) => matches(include, name)); + exclude && pruneCache((name) => !matches(exclude, name)); + }, + // prune post-render after `current` has been updated + { flush: "post", deep: true } + ); + let pendingCacheKey = null; + const cacheSubtree = () => { + if (pendingCacheKey != null) { + cache.set(pendingCacheKey, getInnerChild(instance.subTree)); + } + }; + onMounted(cacheSubtree); + onUpdated(cacheSubtree); + onBeforeUnmount(() => { + cache.forEach((cached) => { + const { subTree, suspense } = instance; + const vnode = getInnerChild(subTree); + if (cached.type === vnode.type && cached.key === vnode.key) { + resetShapeFlag(vnode); + const da = vnode.component.da; + da && queuePostRenderEffect(da, suspense); + return; + } + unmount(cached); + }); + }); + return () => { + pendingCacheKey = null; + if (!slots.default) { + return null; + } + const children = slots.default(); + const rawVNode = children[0]; + if (children.length > 1) { + { + warn$1(`KeepAlive should contain exactly one component child.`); + } + current = null; + return children; + } else if (!isVNode(rawVNode) || !(rawVNode.shapeFlag & 4) && !(rawVNode.shapeFlag & 128)) { + current = null; + return rawVNode; + } + let vnode = getInnerChild(rawVNode); + const comp = vnode.type; + const name = getComponentName( + isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : comp + ); + const { include, exclude, max } = props; + if (include && (!name || !matches(include, name)) || exclude && name && matches(exclude, name)) { + current = vnode; + return rawVNode; + } + const key = vnode.key == null ? comp : vnode.key; + const cachedVNode = cache.get(key); + if (vnode.el) { + vnode = cloneVNode(vnode); + if (rawVNode.shapeFlag & 128) { + rawVNode.ssContent = vnode; + } + } + pendingCacheKey = key; + if (cachedVNode) { + vnode.el = cachedVNode.el; + vnode.component = cachedVNode.component; + if (vnode.transition) { + setTransitionHooks(vnode, vnode.transition); + } + vnode.shapeFlag |= 512; + keys.delete(key); + keys.add(key); + } else { + keys.add(key); + if (max && keys.size > parseInt(max, 10)) { + pruneCacheEntry(keys.values().next().value); + } + } + vnode.shapeFlag |= 256; + current = vnode; + return isSuspense(rawVNode.type) ? rawVNode : vnode; + }; + } + }; + const KeepAlive = KeepAliveImpl; + function matches(pattern, name) { + if (isArray(pattern)) { + return pattern.some((p) => matches(p, name)); + } else if (isString(pattern)) { + return pattern.split(",").includes(name); + } else if (isRegExp(pattern)) { + return pattern.test(name); + } + return false; + } + function onActivated(hook, target) { + registerKeepAliveHook(hook, "a", target); + } + function onDeactivated(hook, target) { + registerKeepAliveHook(hook, "da", target); + } + function registerKeepAliveHook(hook, type, target = currentInstance) { + const wrappedHook = hook.__wdc || (hook.__wdc = () => { + let current = target; + while (current) { + if (current.isDeactivated) { + return; + } + current = current.parent; + } + return hook(); + }); + injectHook(type, wrappedHook, target); + if (target) { + let current = target.parent; + while (current && current.parent) { + if (isKeepAlive(current.parent.vnode)) { + injectToKeepAliveRoot(wrappedHook, type, target, current); + } + current = current.parent; + } + } + } + function injectToKeepAliveRoot(hook, type, target, keepAliveRoot) { + const injected = injectHook( + type, + hook, + keepAliveRoot, + true + /* prepend */ + ); + onUnmounted(() => { + remove(keepAliveRoot[type], injected); + }, target); + } + function resetShapeFlag(vnode) { + vnode.shapeFlag &= ~256; + vnode.shapeFlag &= ~512; + } + function getInnerChild(vnode) { + return vnode.shapeFlag & 128 ? vnode.ssContent : vnode; + } + + function injectHook(type, hook, target = currentInstance, prepend = false) { + if (target) { + const hooks = target[type] || (target[type] = []); + const wrappedHook = hook.__weh || (hook.__weh = (...args) => { + if (target.isUnmounted) { + return; + } + pauseTracking(); + const reset = setCurrentInstance(target); + const res = callWithAsyncErrorHandling(hook, target, type, args); + reset(); + resetTracking(); + return res; + }); + if (prepend) { + hooks.unshift(wrappedHook); + } else { + hooks.push(wrappedHook); + } + return wrappedHook; + } else { + const apiName = toHandlerKey(ErrorTypeStrings$1[type].replace(/ hook$/, "")); + warn$1( + `${apiName} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup().` + (` If you are using async setup(), make sure to register lifecycle hooks before the first await statement.` ) + ); + } + } + const createHook = (lifecycle) => (hook, target = currentInstance) => ( + // post-create lifecycle registrations are noops during SSR (except for serverPrefetch) + (!isInSSRComponentSetup || lifecycle === "sp") && injectHook(lifecycle, (...args) => hook(...args), target) + ); + const onBeforeMount = createHook("bm"); + const onMounted = createHook("m"); + const onBeforeUpdate = createHook("bu"); + const onUpdated = createHook("u"); + const onBeforeUnmount = createHook("bum"); + const onUnmounted = createHook("um"); + const onServerPrefetch = createHook("sp"); + const onRenderTriggered = createHook( + "rtg" + ); + const onRenderTracked = createHook( + "rtc" + ); + function onErrorCaptured(hook, target = currentInstance) { + injectHook("ec", hook, target); + } + + function renderList(source, renderItem, cache, index) { + let ret; + const cached = cache && cache[index]; + if (isArray(source) || isString(source)) { + ret = new Array(source.length); + for (let i = 0, l = source.length; i < l; i++) { + ret[i] = renderItem(source[i], i, void 0, cached && cached[i]); + } + } else if (typeof source === "number") { + if (!Number.isInteger(source)) { + warn$1(`The v-for range expect an integer value but got ${source}.`); + } + ret = new Array(source); + for (let i = 0; i < source; i++) { + ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]); + } + } else if (isObject(source)) { + if (source[Symbol.iterator]) { + ret = Array.from( + source, + (item, i) => renderItem(item, i, void 0, cached && cached[i]) + ); + } else { + const keys = Object.keys(source); + ret = new Array(keys.length); + for (let i = 0, l = keys.length; i < l; i++) { + const key = keys[i]; + ret[i] = renderItem(source[key], key, i, cached && cached[i]); + } + } + } else { + ret = []; + } + if (cache) { + cache[index] = ret; + } + return ret; + } + + function createSlots(slots, dynamicSlots) { + for (let i = 0; i < dynamicSlots.length; i++) { + const slot = dynamicSlots[i]; + if (isArray(slot)) { + for (let j = 0; j < slot.length; j++) { + slots[slot[j].name] = slot[j].fn; + } + } else if (slot) { + slots[slot.name] = slot.key ? (...args) => { + const res = slot.fn(...args); + if (res) + res.key = slot.key; + return res; + } : slot.fn; + } + } + return slots; + } + + function renderSlot(slots, name, props = {}, fallback, noSlotted) { + if (currentRenderingInstance.isCE || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.isCE) { + if (name !== "default") + props.name = name; + return createVNode("slot", props, fallback && fallback()); + } + let slot = slots[name]; + if (slot && slot.length > 1) { + warn$1( + `SSR-optimized slot function detected in a non-SSR-optimized render function. You need to mark this component with $dynamic-slots in the parent template.` + ); + slot = () => []; + } + if (slot && slot._c) { + slot._d = false; + } + openBlock(); + const validSlotContent = slot && ensureValidVNode(slot(props)); + const rendered = createBlock( + Fragment, + { + key: props.key || // slot content array of a dynamic conditional slot may have a branch + // key attached in the `createSlots` helper, respect that + validSlotContent && validSlotContent.key || `_${name}` + }, + validSlotContent || (fallback ? fallback() : []), + validSlotContent && slots._ === 1 ? 64 : -2 + ); + if (!noSlotted && rendered.scopeId) { + rendered.slotScopeIds = [rendered.scopeId + "-s"]; + } + if (slot && slot._c) { + slot._d = true; + } + return rendered; + } + function ensureValidVNode(vnodes) { + return vnodes.some((child) => { + if (!isVNode(child)) + return true; + if (child.type === Comment) + return false; + if (child.type === Fragment && !ensureValidVNode(child.children)) + return false; + return true; + }) ? vnodes : null; + } + + function toHandlers(obj, preserveCaseIfNecessary) { + const ret = {}; + if (!isObject(obj)) { + warn$1(`v-on with no argument expects an object value.`); + return ret; + } + for (const key in obj) { + ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = obj[key]; + } + return ret; + } + + const getPublicInstance = (i) => { + if (!i) + return null; + if (isStatefulComponent(i)) + return getExposeProxy(i) || i.proxy; + return getPublicInstance(i.parent); + }; + const publicPropertiesMap = ( + // Move PURE marker to new line to workaround compiler discarding it + // due to type annotation + /* @__PURE__ */ extend(/* @__PURE__ */ Object.create(null), { + $: (i) => i, + $el: (i) => i.vnode.el, + $data: (i) => i.data, + $props: (i) => shallowReadonly(i.props) , + $attrs: (i) => shallowReadonly(i.attrs) , + $slots: (i) => shallowReadonly(i.slots) , + $refs: (i) => shallowReadonly(i.refs) , + $parent: (i) => getPublicInstance(i.parent), + $root: (i) => getPublicInstance(i.root), + $emit: (i) => i.emit, + $options: (i) => resolveMergedOptions(i) , + $forceUpdate: (i) => i.f || (i.f = () => { + i.effect.dirty = true; + queueJob(i.update); + }), + $nextTick: (i) => i.n || (i.n = nextTick.bind(i.proxy)), + $watch: (i) => instanceWatch.bind(i) + }) + ); + const isReservedPrefix = (key) => key === "_" || key === "$"; + const hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn(state, key); + const PublicInstanceProxyHandlers = { + get({ _: instance }, key) { + if (key === "__v_skip") { + return true; + } + const { ctx, setupState, data, props, accessCache, type, appContext } = instance; + if (key === "__isVue") { + return true; + } + let normalizedProps; + if (key[0] !== "$") { + const n = accessCache[key]; + if (n !== void 0) { + switch (n) { + case 1 /* SETUP */: + return setupState[key]; + case 2 /* DATA */: + return data[key]; + case 4 /* CONTEXT */: + return ctx[key]; + case 3 /* PROPS */: + return props[key]; + } + } else if (hasSetupBinding(setupState, key)) { + accessCache[key] = 1 /* SETUP */; + return setupState[key]; + } else if (data !== EMPTY_OBJ && hasOwn(data, key)) { + accessCache[key] = 2 /* DATA */; + return data[key]; + } else if ( + // only cache other properties when instance has declared (thus stable) + // props + (normalizedProps = instance.propsOptions[0]) && hasOwn(normalizedProps, key) + ) { + accessCache[key] = 3 /* PROPS */; + return props[key]; + } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) { + accessCache[key] = 4 /* CONTEXT */; + return ctx[key]; + } else if (shouldCacheAccess) { + accessCache[key] = 0 /* OTHER */; + } + } + const publicGetter = publicPropertiesMap[key]; + let cssModule, globalProperties; + if (publicGetter) { + if (key === "$attrs") { + track(instance.attrs, "get", ""); + markAttrsAccessed(); + } else if (key === "$slots") { + track(instance, "get", key); + } + return publicGetter(instance); + } else if ( + // css module (injected by vue-loader) + (cssModule = type.__cssModules) && (cssModule = cssModule[key]) + ) { + return cssModule; + } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) { + accessCache[key] = 4 /* CONTEXT */; + return ctx[key]; + } else if ( + // global properties + globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key) + ) { + { + return globalProperties[key]; + } + } else if (currentRenderingInstance && (!isString(key) || // #1091 avoid internal isRef/isVNode checks on component instance leading + // to infinite warning loop + key.indexOf("__v") !== 0)) { + if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn(data, key)) { + warn$1( + `Property ${JSON.stringify( + key + )} must be accessed via $data because it starts with a reserved character ("$" or "_") and is not proxied on the render context.` + ); + } else if (instance === currentRenderingInstance) { + warn$1( + `Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.` + ); + } + } + }, + set({ _: instance }, key, value) { + const { data, setupState, ctx } = instance; + if (hasSetupBinding(setupState, key)) { + setupState[key] = value; + return true; + } else if (setupState.__isScriptSetup && hasOwn(setupState, key)) { + warn$1(`Cannot mutate