diff --git a/frontend/builds/frontend/css/root.css b/frontend/builds/frontend/css/root.css index d485b27eb..150f57223 100644 --- a/frontend/builds/frontend/css/root.css +++ b/frontend/builds/frontend/css/root.css @@ -1,4 +1,4 @@ -.wrapper[data-v-26c9d5fe]{margin:5rem;text-align:center}body[data-v-0e2f9398]{padding-bottom:0}.wizard-container[data-v-0e2f9398]{padding:1.5rem .6rem 3rem}.feature-check[data-v-0e2f9398]{color:var(--color-primary)}.feature-text[data-v-0e2f9398]{margin-left:.5em}.authorization-successful[data-v-0e2f9398]{padding-top:6rem;text-align:center}.logo-img[data-v-0e2f9398]{max-height:4em;margin-bottom:2em}.logo-icon[data-v-0e2f9398]{max-height:50px;max-width:50px;margin:0 15px;border-radius:50%;-o-object-fit:cover;object-fit:cover}.logo-icon.obico[data-v-0e2f9398]{max-width:46px;color:var(--color-primary)}.account-details[data-v-0e2f9398]{background:var(--color-surface-secondary);border-radius:var(--border-radius-sm);padding:15px;margin-left:-15px;margin-right:-15px}.footer-note[data-v-0e2f9398]{margin:3rem 0 -1.5rem;text-align:right}.tunnel-iframe[data-v-36042095]{width:100%;height:100vh;background:var(--color-background);position:absolute;top:0;left:0}.floating-panel[data-v-36042095]{position:fixed;bottom:0;right:0;box-shadow:2px 2px 10px rgba(0,0,0,.3);background-color:var(--color-surface-primary);padding:10px;max-width:300px;z-index:10;display:flex;align-items:center}@media(pointer:coarse),(pointer:none){.swal2-popup.x150{transform:scale(1.5)}.floating-panel{transform:scale(2);transform-origin:right bottom}}.navigation-container[data-v-72de57d5]{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:-1.5em;margin-bottom:.5em;padding:1em 1.5em;background-color:var(--color-surface-primary)}.message-snippet{margin-top:50px;margin-left:100px}@media(max-width:768px){.message-snippet{margin-left:0}}.message-snippet.is-in-mobile{margin-left:0}.page-wrapper[data-v-5822eab8]{display:flex;padding-left:100px;background-color:var(--color-background)}.page-wrapper.is-in-mobile[data-v-5822eab8]{padding-left:0}.page-wrapper.is-in-mobile .content-wrapper.hide-top-nav .top-nav[data-v-5822eab8],.page-wrapper.is-in-mobile .side-nav[data-v-5822eab8],.page-wrapper.is-in-mobile .toggle-sidebar[data-v-5822eab8]{display:none}.page-wrapper.is-in-mobile .content-wrapper.hide-top-nav .page-content[data-v-5822eab8]{padding:15px 0}.page-wrapper.is-in-popup[data-v-5822eab8]{padding-left:0}.page-wrapper.is-in-popup .side-nav[data-v-5822eab8],.page-wrapper.is-in-popup .toggle-sidebar[data-v-5822eab8]{display:none}.page-wrapper.is-in-popup .top-nav[data-v-5822eab8]{position:relative;padding:0 15px}.page-wrapper.is-in-popup .page-content[data-v-5822eab8]{padding:15px 0;min-height:unset}.side-nav[data-v-5822eab8]{min-width:100px;max-width:100px;text-align:center;background:var(--color-surface-primary);position:fixed;left:0;top:0;height:100%;display:flex;flex-direction:column;z-index:1000;overflow-y:auto;transition:all .2s ease-out;border-right:1px solid var(--color-divider)}.side-nav .sidebar-header[data-v-5822eab8]{flex:0 0 50px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--color-divider)}.side-nav ul li a[data-v-5822eab8]{display:block;color:var(--color-text-primary);padding:10px 5px;margin:4px;border-radius:var(--border-radius-sm);text-align:center;font-size:.85em}.side-nav ul li a[aria-expanded=true][data-v-5822eab8],.side-nav ul li a[data-v-5822eab8]:hover{color:var(--color-text-primary)}.side-nav ul li a[data-v-5822eab8]:hover{background:var(--color-hover)}.side-nav ul li a.primary[data-v-5822eab8]{color:var(--color-primary)}.side-nav ul li a.dropdown-toggle[data-v-5822eab8]{cursor:pointer;padding-bottom:20px}.side-nav ul li a[data-v-5822eab8] .svg-inline--fa,.side-nav ul li a i[data-v-5822eab8]{margin-right:0;display:block;font-size:1.4em;margin-bottom:5px}.side-nav ul li a[data-v-5822eab8] .svg-inline--fa{margin:0 auto 5px}.side-nav ul li a .badge[data-v-5822eab8]{border-radius:2em;position:absolute;top:-.35em;right:2em;padding:.25em .3em;font-family:var(--default-font-family);font-size:.714rem;font-weight:700;color:var(--color-on-danger);background-color:var(--color-danger);min-width:1.6em}.side-nav ul li.active>a[data-v-5822eab8]{background:var(--color-hover)}.side-nav ul li.glowing[data-v-5822eab8]{text-shadow:0 0 10px #fff,0 0 20px #fff,0 0 30px #fff,0 0 40px var(--color-primary),0 0 70px var(--color-primary),0 0 80px var(--color-primary),0 0 100px var(--color-primary),0 0 150px var(--color-primary)}.side-nav ul ul a[data-v-5822eab8]{font-size:.9em!important;padding:10px!important}.side-nav ul .dropdown-toggle[data-v-5822eab8]:after{top:auto;bottom:10px;right:50%;transform:translateX(50%)}.side-nav ul.components[data-v-5822eab8]{padding:20px 0}.side-nav[data-v-5822eab8] .logo-small{width:30px;height:30px;color:var(--color-text-primary)}.side-nav .dropdown-toggle[data-v-5822eab8]{position:relative}.side-nav .dropdown-toggle[data-v-5822eab8]:after{display:block;position:absolute;top:50%;right:20px;transform:translateY(-50%)}.side-nav .side-nav-footer[data-v-5822eab8]{margin-top:auto}.side-nav .trim-text[data-v-5822eab8]{white-space:nowrap;text-overflow:ellipsis;display:inline-block;overflow:hidden;width:100%}.content-wrapper[data-v-5822eab8]{width:100%}.top-nav[data-v-5822eab8]{height:50px;background:var(--color-surface-primary)!important;position:fixed;top:0;left:0;width:100%;padding-left:115px;padding-right:32px;z-index:100;box-shadow:var(--shadow-top-nav);justify-content:space-between}.top-nav[data-v-5822eab8] .action-panel .action-btn{box-sizing:border-box;width:36px;padding-left:0;padding-right:0}@media(max-width:768px){.top-nav[data-v-5822eab8] .action-panel .action-btn{display:none}}.is-in-mobile .top-nav[data-v-5822eab8]{padding-left:15px;padding-right:15px;background:var(--color-surface-primary)!important}.toggle-sidebar[data-v-5822eab8]{color:var(--color-text-primary);display:none}.page-content[data-v-5822eab8]{padding:calc(50px + var(--gap-between-blocks)) calc(var(--gap-between-blocks) - 15px) var(--gap-between-blocks);display:flex;flex-direction:column;min-height:calc(100vh - 68px)}.content-overlay[data-v-5822eab8]{position:fixed;top:0;left:0;width:100%;height:100%;z-index:100;background:rgba(0,0,0,.5);display:none}[data-v-5822eab8] .search-input input{background-color:var(--color-surface-secondary);border-color:var(--color-surface-secondary)}.notification-dot[data-v-5822eab8]{height:50%;top:-9px;right:-3px;position:absolute;width:50%;color:var(--color-danger)}@media(min-width:769px){.content-wrapper.hide-top-nav .top-nav[data-v-5822eab8]{display:none}.content-wrapper.hide-top-nav .page-content[data-v-5822eab8]{padding-top:30px;min-height:calc(100vh - 68px)}}@media(max-width:768px){.page-wrapper[data-v-5822eab8]{padding-left:0}.page-wrapper:not(.collapsed) .content-overlay[data-v-5822eab8]{display:block}.page-wrapper.collapsed .side-nav[data-v-5822eab8]{transform:translateX(-100px)}.top-nav[data-v-5822eab8]{padding-left:15px;padding-right:15px;background:var(--color-surface-primary)!important}.toggle-sidebar[data-v-5822eab8]{display:block}.page-content[data-v-5822eab8]{padding:15px 0;padding-top:65px;justify-content:start}}[data-v-5822eab8] .dropdown-menu .dropdown-item{padding:.25rem .75rem}[data-v-5822eab8] .dropdown-menu .dropdown-item .clickable-area{margin:-.25rem -.75rem;padding:.25rem .75rem}[data-v-5822eab8] .dropdown-menu .dropdown-item .custom-svg-icon,[data-v-5822eab8] .dropdown-menu .dropdown-item i{width:20px;margin-right:.5rem}[data-v-5822eab8] .dropdown-menu .b-dropdown-text{padding-left:.75rem;padding-right:.75rem}.card-img-top[data-v-10df198e]{position:relative;background-color:#000}.card-img-top .buttons-container[data-v-10df198e]{position:absolute;top:0;right:0;padding:.5rem;background-color:rgba(0,0,0,.7)}.card-img-top a.action-btn[data-v-10df198e]{padding:.5rem;color:hsla(0,0%,100%,.5);font-size:1.5rem;transition:all .3s ease-out}.card-img-top a.action-btn[data-v-10df198e]:hover{color:hsla(0,0%,100%,.9)}.card-img-overlay[data-v-5e3b0b22]{display:flex;align-items:center;justify-content:center}.consent-section[data-v-c265fb70]{background:var(--color-surface-secondary)}.feedback-estimate[data-v-c265fb70]{font-size:1.2em;font-weight:bolder;color:var(--color-primary)}.prev-btn[data-v-65dd3f19]{display:inline;position:absolute;left:2%;top:40%;opacity:.5}.next-btn[data-v-65dd3f19]{display:inline;position:absolute;right:2%;top:40%;opacity:.5}.page-visiting[data-v-65dd3f19]{color:var(--color-primary)}.page-unvisited[data-v-65dd3f19]{color:var(--color-divider)}.feedback-container[data-v-65dd3f19]{padding-left:30px;padding-right:30px}.custom-svg-icon[data-v-2a5ecb65]{height:1.125rem;width:1.125rem}.checkmark-muted[data-v-687a0a02]{color:var(--color-divider)!important}.active-filter-notice[data-v-0aa31f4a]{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;background-color:var(--color-surface-secondary);margin:calc(var(--gap-between-blocks)*-1) -15px var(--gap-between-blocks)}.active-filter-notice .filter[data-v-0aa31f4a]{color:var(--color-primary)}.active-filter-notice .action-btn[data-v-0aa31f4a]{color:var(--color-text-primary);cursor:pointer}@media(max-width:768px){.active-filter-notice[data-v-0aa31f4a]{font-size:.875rem;margin-left:0;margin-right:0}}.print-container[data-v-11fbb7ad]{display:flex;background-color:var(--color-surface-secondary);border-radius:var(--border-radius-md);overflow:hidden;color:var(--color-text-primary)}.print-container[data-v-11fbb7ad]:hover{cursor:pointer;background:var(--color-hover-accent);transition:all .3s ease-out}.status-indicator[data-v-11fbb7ad]{flex:0 0 5px;margin-right:1rem}.checkbox-wrapper[data-v-11fbb7ad]{display:flex;align-items:flex-start;justify-content:flex-end;padding-top:1rem}.checkbox-wrapper[data-v-11fbb7ad] .custom-checkbox .custom-control-label:before{border-radius:var(--border-radius-xs);border-color:var(--color-divider)}.checkbox-wrapper.isSelected[data-v-11fbb7ad] .custom-checkbox .custom-control-label:before{border-color:#00c4b4}.main-content[data-v-11fbb7ad]{padding:1rem;padding-left:0;flex:1}.top[data-v-11fbb7ad]{display:flex;align-items:flex-end;margin-bottom:.25rem}.title[data-v-11fbb7ad]{font-weight:700}.bottom[data-v-11fbb7ad]{display:flex;align-items:center;justify-content:flex-start;gap:14px}@media(max-width:768px){.bottom[data-v-11fbb7ad]{flex-direction:column;gap:2px;align-items:flex-start}}.info[data-v-11fbb7ad]{display:flex;gap:.25em;align-items:center;font-size:.9375rem;overflow:hidden;max-width:50%}.info span[data-v-11fbb7ad]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media(max-width:768px){.info[data-v-11fbb7ad]{max-width:100%}}.icon[data-v-11fbb7ad]{color:var(--color-text-secondary);font-size:.8em;flex-shrink:0}.icon.fa-clock[data-v-11fbb7ad]{position:relative;top:1px}.feedback-info[data-v-11fbb7ad]{background-color:var(--color-surface-primary);padding:.0625em .625em;border-radius:var(--border-radius-xs);font-size:.8125rem;margin:2px 0}.feedback-info.focused[data-v-11fbb7ad]{background-color:var(--color-primary);color:var(--color-on-primary)}.poster[data-v-11fbb7ad]{margin-left:auto;background-color:var(--color-hover)}.poster .img[data-v-11fbb7ad]{background-size:cover;background-position:50%;height:100%;color:var(--color-text-secondary);font-size:.875rem}.poster .img[data-v-11fbb7ad],.poster.no-photo[data-v-11fbb7ad]{width:100px;display:flex;justify-content:center;align-items:center}.poster.no-photo svg[data-v-11fbb7ad]{width:3rem;height:3rem;color:var(--color-background)}.input-lg[data-v-3aeed230]{height:3rem;padding:.5rem 1rem;width:100%}.help-wrapper[data-v-8b03b208]{display:inline;position:relative}.help-wrapper.highlighted[data-v-8b03b208]{text-decoration:underline;-webkit-text-decoration-color:var(--color-text-help);text-decoration-color:var(--color-text-help)}.help-wrapper .text[data-v-8b03b208]{display:inline}.help-wrapper .text[data-v-8b03b208]:hover{cursor:pointer}.widget-wrapper[data-v-8b03b208]{position:relative;left:.1rem;top:.1rem;width:1rem;height:1rem;display:inline-block}.widget-wrapper .question-mark[data-v-8b03b208]{display:flex;color:var(--color-text-help);transition:all .2s ease-out;height:1rem}.widget-wrapper .question-mark[data-v-8b03b208]:hover{cursor:pointer}.widget-wrapper .question-mark svg[data-v-8b03b208]{width:1rem;height:1rem}.widget-wrapper .widget[data-v-8b03b208]{width:360px;z-index:10;position:absolute;box-shadow:0 0 0 9999px rgba(0,0,0,.5);border-radius:12px;background-color:var(--color-surface-primary);display:flex;flex-direction:column;color:var(--color-text-primary)}.widget-wrapper .widget .logo-icon[data-v-8b03b208]{max-height:50px;-o-object-fit:contain;object-fit:contain;border-radius:8px;margin:0 15px}@media(min-width:740px){.widget-wrapper .widget.left[data-v-8b03b208]{left:100%}.widget-wrapper .widget.right[data-v-8b03b208]{right:100%}.widget-wrapper .widget.bottom[data-v-8b03b208]{bottom:100%}.widget-wrapper .widget.top[data-v-8b03b208]{top:100%}}@media(max-width:740px){.widget-wrapper .widget[data-v-8b03b208]{left:0;right:0;top:5rem;margin:auto;position:fixed}}@media(max-width:380px){.widget-wrapper .widget[data-v-8b03b208]{left:1rem;right:1rem;width:auto}}.widget-wrapper .widget .close-button[data-v-8b03b208]{position:absolute;left:-12px;top:-12px;color:var(--color-text-primary);transition:all .2s ease-out}.widget-wrapper .widget .close-button[data-v-8b03b208]:hover{cursor:pointer;opacity:.7}.widget-wrapper .widget .close-button svg[data-v-8b03b208]{width:24px;height:24px}.widget-wrapper .widget .content[data-v-8b03b208]{padding:1rem .875rem;font-size:14px;font-weight:400}.widget-wrapper .widget .content>[data-v-8b03b208]{margin-bottom:1em;display:block}.widget-wrapper .widget .content h1[data-v-8b03b208],.widget-wrapper .widget .content h2[data-v-8b03b208],.widget-wrapper .widget .content h3[data-v-8b03b208]{font-weight:700}.widget-wrapper .widget .content h1[data-v-8b03b208]{font-size:1.3em}.widget-wrapper .widget .content h2[data-v-8b03b208]{font-size:1.2em}.widget-wrapper .widget .content h3[data-v-8b03b208]{font-size:1.1em}.widget-wrapper .widget .content ul[data-v-8b03b208]{padding-left:2em}.widget-wrapper .widget .content .video-wrapper[data-v-8b03b208]{position:relative;padding-bottom:56.25%;height:0}.widget-wrapper .widget .content .video-wrapper iframe[data-v-8b03b208]{position:absolute;top:0;left:0;width:100%;height:100%}.pop-up-enter-active[data-v-8b03b208]{transition:all .1s ease-out}.pop-up-leave-active[data-v-8b03b208]{transition:all .1s ease-in}.pop-up-enter[data-v-8b03b208],.pop-up-leave-to[data-v-8b03b208]{transform:translate(-2rem,-1rem) scale(.8);opacity:0}.print-item[data-v-4bb2d91a]{margin-bottom:10px}.prints-summary[data-v-4bb2d91a]{margin-bottom:var(--gap-between-blocks);border:1px solid var(--color-divider);border-radius:var(--border-radius-lg);padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:center}.prints-summary .summary-item[data-v-4bb2d91a]{display:flex;align-items:center;gap:1rem}.prints-summary .icon[data-v-4bb2d91a]{font-size:1.5rem;color:var(--color-divider)}.prints-summary .value[data-v-4bb2d91a]{font-weight:700}.prints-summary .btn[data-v-4bb2d91a]{display:inline-flex;gap:.5rem;align-items:center;justify-content:center}.prints-summary .btn .fa-arrow-right[data-v-4bb2d91a]{font-size:.8em}@media(max-width:768px){.prints-summary[data-v-4bb2d91a]{flex-direction:column;align-items:normal;gap:.25rem;padding:1rem}.prints-summary .summary-item[data-v-4bb2d91a]{gap:0}.prints-summary .summary-item .icon[data-v-4bb2d91a]{font-size:1rem;width:2rem;text-align:center}.prints-summary .summary-item .info[data-v-4bb2d91a]{flex:1;display:flex;justify-content:space-between}.prints-summary .btn-wrapper[data-v-4bb2d91a]{text-align:center}.prints-summary .btn[data-v-4bb2d91a]{margin-top:1rem;font-size:.875rem}}.actions-with-selected-desktop[data-v-4bb2d91a]{display:flex;align-items:center}.actions-with-selected-desktop .label[data-v-4bb2d91a]{cursor:pointer}.actions-with-selected-desktop[data-v-4bb2d91a] .custom-checkbox .custom-control-label:before{border-radius:var(--border-radius-xs)}.alert-wrapper[data-v-55bd9838]{border:1px solid var(--color-divider);border-radius:var(--border-radius-md);display:flex;align-items:center;padding:1em}.alert-wrapper .icon[data-v-55bd9838]{color:var(--color-divider)}.alert-wrapper .message[data-v-55bd9838]{margin:0;margin-left:.5em;line-height:1.3}@media(max-width:768px){.alert-wrapper[data-v-55bd9838]{font-size:.8rem}}.muted-alert[data-v-7397c062]{margin-bottom:var(--gap-between-blocks)}.stats-block[data-v-7397c062]{background-color:var(--color-surface-secondary);padding:1.75em 2.25em;border-radius:var(--border-radius-lg);height:280px;display:flex;flex-direction:column}.stats-block.bar-chart[data-v-7397c062]{height:auto}.stats-block.bar-chart .chart-wrapper[data-v-7397c062]{height:210px}@media(max-width:768px){.stats-block[data-v-7397c062]{padding:1.25em 1.5em}}.stats-block-title[data-v-7397c062]{font-size:1.125rem;color:var(--color-text-primary);font-weight:medium}.stats-block-title span[data-v-7397c062]{display:inline-block;margin-left:.5em}.stats-block-title i[data-v-7397c062]{color:var(--color-divider)}.print-time[data-v-7397c062]{justify-content:space-between}.print-time .title[data-v-7397c062]{font-size:1.125rem;color:var(--color-text-secondary)}.print-time .value[data-v-7397c062]{font-size:1.5rem;color:var(--color-text-primary)}.print-time .other-print-time-numbers[data-v-7397c062]{display:flex}.print-time .other-print-time-numbers .divider[data-v-7397c062]{width:1px;background-color:var(--color-divider);margin:0 2rem}.print-time .other-print-time-numbers .info .title[data-v-7397c062]{font-size:.875rem}.print-time .other-print-time-numbers .info .value[data-v-7397c062]{font-size:1.125rem}.total-prints .chart-wrapper[data-v-7397c062]{flex:1;display:flex;justify-content:space-between;align-items:center;gap:1rem}.total-prints .legend[data-v-7397c062]{display:flex;flex-direction:column;justify-content:center}.total-prints .line[data-v-7397c062]{display:flex;align-items:center;gap:.3rem;margin:.25rem 0}@media(max-width:768px){.total-prints .line[data-v-7397c062]{font-size:.875rem}}.total-prints .square[data-v-7397c062]{width:1.125rem;height:1.125rem;border-radius:var(--border-radius-xs);margin-right:.2rem}.total-prints .square.success[data-v-7397c062]{background-color:var(--color-success)}.total-prints .square.danger[data-v-7397c062]{background-color:var(--color-danger)}.total-prints .value[data-v-7397c062]{font-weight:700}.filament-used-groups .title-group[data-v-7397c062]{display:inline-flex;align-items:center;gap:.875rem}@media(max-width:768px){.filament-used-groups .title-group[data-v-7397c062]{margin-left:.5rem;flex-direction:column;align-items:flex-start;gap:0}.filament-used-groups .title-group .divider[data-v-7397c062]{display:none}.filament-used-groups .title-group span[data-v-7397c062]{margin-left:0}}.filament-used-groups .title-group .divider[data-v-7397c062]{width:1px;background-color:var(--color-divider);height:1.25rem}#title[data-v-465c0e04]{position:absolute;left:0;text-align:center;width:100%;top:50%}.obico-gauge-container[data-v-465c0e04]{position:relative;padding:0 16px}.obico-gauge-container .obico-gauge[data-v-465c0e04]{text-align:center;padding:8px;margin-bottom:-150px;pointer-events:none}.obico-gauge-container hr[data-v-465c0e04]{background-color:#ebebeb;height:1px;margin-top:15px}.print-card[data-v-5aae4a5a]{margin-top:var(--gap-between-blocks)}.print-card .card[data-v-5aae4a5a]{border-radius:var(--border-radius-lg);overflow:hidden}.card-header[data-v-5aae4a5a]{display:flex;flex-flow:row nowrap;justify-content:space-between;align-items:center}.seg-control-icon[data-v-5aae4a5a]{height:1.2rem;width:1.2rem}.seg-control-icon.double-hours-icon[data-v-5aae4a5a]{width:1.5rem}.feedback-section[data-v-5aae4a5a]{background-color:var(--color-surface-secondary)}.bounce-enter-active[data-v-5aae4a5a]{animation:bounce-in-5aae4a5a .5s}.bounce-leave-active[data-v-5aae4a5a]{animation:bounce-in-5aae4a5a .5s reverse}@keyframes bounce-in-5aae4a5a{0%{transform:scale(0)}50%{transform:scale(1.5)}to{transform:scale(1)}}.help-text[data-v-5aae4a5a]{line-height:1.2}.bg-warning.alert-banner[data-v-5aae4a5a]{position:static;display:block}.archived-info[data-v-5aae4a5a]{position:absolute;width:100%;z-index:10;bottom:0;left:0;background-color:rgba(0,0,0,.6);text-align:center;padding:10px 0}[data-v-5aae4a5a] .video-js,[data-v-5aae4a5a] .vjs-poster{background-color:#000}.poster-placeholder-wrapper[data-v-5aae4a5a]{height:250px;background-color:#000}.poster-placeholder-wrapper .poster-placeholder[data-v-5aae4a5a]{color:hsla(0,0%,100%,.2);width:100px;height:100px;position:absolute;left:calc(50% - 50px);top:calc(50% - 70px)}i.fas[data-v-5aae4a5a]{width:1em}.bg-warning.alert-banner[data-v-64113028]{position:static;display:block;padding:.3rem}.print-cards[data-v-7a698682]{margin-top:calc(var(--gap-between-blocks)*-1)}.menu-bar[data-v-7a698682]{background-color:var(--color-surface-secondary);padding:.75rem 1.25rem}#tl-fullscreen-modal .modal-full[data-v-7a698682]{max-width:100%}#tl-fullscreen-modal .modal-body[data-v-7a698682]{padding:0}#tl-fullscreen-modal .video-js[data-v-7a698682]{height:calc(100vh - 200px)}[data-v-7a698682] .btn-outline-secondary{color:var(--color-text-primary);border-color:var(--color-text-primary)}[data-v-7a698682] .btn-outline-secondary:hover{background:none;opacity:.8}.actions-with-selected-desktop[data-v-7a698682]{display:flex;align-items:center}.actions-with-selected-desktop .label[data-v-7a698682]{cursor:pointer}.actions-with-selected-desktop[data-v-7a698682] .actions-with-selected-btn{border-radius:0}.collapse-toggle[data-v-572cc95b]{width:100%;font-weight:700;display:flex;align-items:center;justify-content:center;gap:.5rem;background:none;border:none;color:var(--color-text-primary);margin-top:.5rem}.collapse-toggle svg[data-v-572cc95b]{transition:all .3s ease-in-out}.collapse-toggle svg.rotated[data-v-572cc95b]{transform:rotate(180deg)}.file[data-v-0991d3bd]{display:flex;flex-direction:column}.file-header[data-v-0991d3bd]{display:flex;align-items:center;gap:1rem}.file-header .info[data-v-0991d3bd]{flex:1}.file-header .icon[data-v-0991d3bd]{flex:0 0 2rem;text-align:center}.file-header .icon [data-v-0991d3bd]{font-size:2rem}.file-header .thumbnail-placeholder[data-v-0991d3bd],.file-header .thumbnail[data-v-0991d3bd]{width:100px;height:100px;border-radius:var(--border-radius-md);background-color:var(--color-surface-primary);display:flex;align-items:center;justify-content:center;overflow:hidden}.file-header .thumbnail-placeholder img[data-v-0991d3bd],.file-header .thumbnail img[data-v-0991d3bd]{height:100%;width:auto;border-radius:8px}.file-header .title[data-v-0991d3bd]{font-weight:700;font-size:1.25rem}.file-header .thumbnail-placeholder[data-v-0991d3bd]{position:relative;overflow:visible}.file-header .thumbnail-placeholder svg[data-v-0991d3bd]{width:3rem;height:3rem;color:var(--color-background)}.file-header .thumbnail-placeholder .help[data-v-0991d3bd]{position:absolute;top:4px;right:8px}.file-header.compact[data-v-0991d3bd]{gap:.7rem}.file-header.compact .thumbnail[data-v-0991d3bd]{width:52px;height:52px}.file-header.compact .title[data-v-0991d3bd]{font-size:1rem}.line[data-v-0991d3bd]{display:flex;align-items:center;justify-content:space-between;margin-bottm:6px;padding:6px 0;border-top:1px solid var(--color-divider-muted);gap:.5rem}.line .label[data-v-0991d3bd]{display:flex;align-items:center;flex:1;gap:.5rem;line-height:1.1}.line .label .icon[data-v-0991d3bd]{opacity:.5;width:1rem;text-align:center}.line .value[data-v-0991d3bd]{font-weight:700;text-align:right}@media(max-width:991px){.buttons-row[data-v-c7824f38]{margin-top:2em}}.heatmap-column[data-v-c7824f38]{display:flex;flex-direction:column;align-items:center}.heatmap-column .card[data-v-c7824f38]{background-color:var(--color-background);border-radius:var(--border-radius-lg)}.file-header[data-v-c7824f38]{display:flex;align-items:center;gap:1rem;padding-bottom:5px}.file-header .info[data-v-c7824f38]{flex:1}.file-header .icon[data-v-c7824f38]{flex:0 0 2rem;text-align:center}.file-header .icon [data-v-c7824f38]{font-size:2rem}.font-bold[data-v-c7824f38]{font-weight:700}.first-layer-report-info-line[data-v-c7824f38]{display:flex;align-items:center;justify-content:space-between;margin-bottm:6px;padding:6px 0;gap:.5rem;border-top:1px solid var(--color-divider-muted)}.first-layer-report-info-line[data-v-c7824f38]:first-of-type{border-top:none}.first-layer-report-info-line .label[data-v-c7824f38]{display:flex;align-items:center;flex:1;gap:.5rem;line-height:1.1}.first-layer-report-info-line .label .icon[data-v-c7824f38]{opacity:.5;width:1rem;text-align:center}.first-layer-report-info-line .value[data-v-c7824f38]{font-weight:700}.report-title[data-v-c7824f38]{padding-left:15px}.feedback-button[data-v-c7824f38]{border:1px solid var(--color-primary);display:block;text-align:center;border-radius:17px;padding:8px;color:var(--color-primary);background-color:transparent}.feedback-button[data-v-c7824f38]:hover{background-color:var(--color-hover)}hr[data-v-c7824f38]{width:100%;margin-top:7px;margin-bottom:7px}.notes-block[data-v-c7824f38]{background-color:var(--color-background);padding:1.5em;border-radius:var(--border-radius-lg);display:flex;flex-direction:column}.notes-block .title[data-v-c7824f38]{padding:0 1em}.notes-block .description[data-v-c7824f38]{padding:0 1em;font-size:.9em}.notes-block .description p[data-v-c7824f38]{margin:0}.notes-block .info[data-v-c7824f38]{padding:0 1em;font-size:.9em}.notes-block .info p[data-v-c7824f38]{margin:0}.notes-block .info ul[data-v-c7824f38]{margin:0 -15px}.notes-block .info ul li[data-v-c7824f38]{font-size:.9em}.file-block[data-v-c7824f38]{background-color:var(--color-background);padding:1.5em;border-radius:var(--border-radius-lg);display:flex;flex-direction:column}.file-block .title[data-v-c7824f38]{width:100%;display:flex;padding:0 1em;font-size:1.125rem;color:var(--color-text-primary);font-weight:medium}.file-block .title span[data-v-c7824f38]{margin-left:.5em}.file-block .title .icon[data-v-c7824f38]{flex:1;display:flex;align-items:center}.file-block .title .icon i[data-v-c7824f38]{font-size:2em}.file-block .title .info[data-v-c7824f38]{flex:15;font-size:1rem;grid-column:span 1}.file-block .title .info .file-size[data-v-c7824f38]{color:var(--color-divider)}.file-block .title .button[data-v-c7824f38]{display:flex;align-items:center;justify-content:flex-end}@media(max-width:768px){.file-block[data-v-c7824f38]{grid-template-columns:8% 60% 32%}}.file-block .first-layer-grade[data-v-c7824f38]{width:100%;display:flex;justify-content:space-between;align-items:center;padding:0 1em}.file-block .first-layer-grade .icon[data-v-c7824f38]{flex:1;display:flex;align-items:center;justify-content:center}.file-block .first-layer-grade .name[data-v-c7824f38]{flex:15}@media(max-width:768px){.file-block .first-layer-grade .name[data-v-c7824f38]{flex:11}}.file-block .first-layer-grade .status[data-v-c7824f38]{display:flex;justify-content:flex-end}.file-block .first-layer-print-time[data-v-c7824f38]{width:100%;display:flex;justify-content:space-between;padding:0 1em;grid-template-columns:3% 67% 30%}.file-block .first-layer-print-time .icon[data-v-c7824f38]{flex:1;display:flex;align-items:center;justify-content:center}.file-block .first-layer-print-time .name[data-v-c7824f38]{flex:18}@media(max-width:768px){.file-block .first-layer-print-time .name[data-v-c7824f38]{flex:15}}.file-block .first-layer-print-time .status[data-v-c7824f38]{display:flex;justify-content:flex-end}.file-block.bar-chart[data-v-c7824f38]{height:auto}.file-block.bar-chart .chart-wrapper[data-v-c7824f38]{height:210px}@media(max-width:768px){.file-block[data-v-c7824f38]{padding:1.25em 1.5em}}.dark-icon[data-v-c7824f38]{color:var(--color-divider)}.card-map[data-v-c7824f38]{border-radius:var(--border-radius-lg);background:#fff}@media(min-width:991px){.card-map[data-v-c7824f38]{max-width:490px}}.card-map .card-body[data-v-c7824f38]{padding:10%}.border-right[data-v-c7824f38]{border-right:1px solid #dee2e6}.transparent-button[data-v-c7824f38]{background-color:transparent;border-color:#007bff;color:#007bff}.transparent-button[data-v-c7824f38]:hover{background-color:rgba(0,123,255,.1)}@media(max-width:768px){.file-block-title[data-v-c7824f38]{grid-template-columns:7% 65% 28%}}@media(max-width:768px)and (max-width:1198px){.file-block-title[data-v-c7824f38]{grid-template-columns:7% 65% 28%}}.is-fullscreen[data-v-c7824f38]{position:fixed;top:0;left:0;bottom:0;right:0;z-index:9999;background-color:var(--color-background);display:flex;flex:1;order:1}.is-fullscreen[data-v-c7824f38] .video-js{height:100vh!important}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.carousel-active-tab{border:none!important;background-color:var(--color-background)!important}.carousel-tab{&:hover{background-color:var(--color-hover)}}div#carousal-modal{animation:swal2-show .3s!important}.modal-dialog.modal-lg,div#carousal-modal{transition:none!important}div#carousal-modal___BV_modal_outer_{z-index:1100!important}button.btn.feedback-button.btn-secondary{border:1px solid var(--color-primary)!important}.fade-enter-active[data-v-122a7196],.fade-leave-active[data-v-122a7196]{transition:opacity .5s}.fade-enter[data-v-122a7196],.fade-leave-to[data-v-122a7196]{opacity:0}.first-layer-info-column[data-v-122a7196]{display:flex;flex-direction:column;justify-content:space-between;height:240px;padding:0}@media(max-width:576px){.first-layer-info-column[data-v-122a7196]{height:auto;gap:1em}}@media(max-width:1198px)and (min-width:991px){.first-layer-info-column[data-v-122a7196]{height:auto;gap:1em}}.open-detailed-report-button[data-v-122a7196]{width:100%}.first-layer-report-block-video-container[data-v-122a7196]{display:flex;justify-content:flex-end;padding-right:0}@media(max-width:576px){.first-layer-report-block-video-container[data-v-122a7196]{padding:0;margin-top:1em;justify-content:center}}@media(max-width:577px)and (max-width:767px){.first-layer-report-block-video-container[data-v-122a7196]{padding:0 0 0 5px;justify-content:center}}@media(max-width:1198px)and (min-width:991px){.first-layer-report-block-video-container[data-v-122a7196]{margin-top:1em;padding:0;justify-content:center}}.heatmap-image-container[data-v-122a7196]{border-radius:var(--border-radius-lg);background:#fff;padding:32px}@media(max-width:576px){.heatmap-image-container[data-v-122a7196]{height:393px;width:100%;margin-top:1.4em}}@media(max-width:991px)and (min-width:577px){.heatmap-image-container[data-v-122a7196]{width:15em}}@media(max-width:1198px)and (min-width:992px){.heatmap-image-container[data-v-122a7196]{height:393px;width:100%;margin-top:.5em}}@media(min-width:1199px){.heatmap-image-container[data-v-122a7196]{width:15em}}.heatmap-image[data-v-122a7196]{border:1px solid #cac8c8;height:176px}@media(max-width:576px){.heatmap-image[data-v-122a7196]{height:330px;width:100%}}@media(max-width:1198px)and (min-width:991px){.heatmap-image[data-v-122a7196]{height:100%;width:100%}}.first-layer-print-time[data-v-122a7196]{width:100%;display:flex;justify-content:space-between;padding:0 1em;grid-template-columns:3% 67% 30%}.first-layer-print-time .icon[data-v-122a7196]{flex:1;display:flex;align-items:center;justify-content:center;opacity:.5}.first-layer-print-time .name[data-v-122a7196]{flex:12}@media(max-width:768px){.first-layer-print-time .name[data-v-122a7196]{flex:15}}.first-layer-print-time .status[data-v-122a7196]{display:flex;justify-content:flex-end}.first-layer-grade[data-v-122a7196]{width:100%;display:flex;justify-content:space-between;align-items:center;padding:0 1em}.first-layer-grade .icon[data-v-122a7196]{flex:1;display:flex;align-items:center;justify-content:center;opacity:.5}.first-layer-grade .name[data-v-122a7196]{flex:7}@media(max-width:768px){.first-layer-grade .name[data-v-122a7196]{flex:11}}.first-layer-grade .status[data-v-122a7196]{display:flex;justify-content:flex-end}.print-info[data-v-122a7196]{display:flex;flex-direction:column;gap:var(--gap-between-blocks)}.print-details[data-v-122a7196]{overflow:hidden;display:flex;flex-direction:column;gap:10px}.print-details .navigation-container[data-v-122a7196]{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:-1.5em;margin-bottom:.5em;padding:1em 1.5em;background-color:var(--color-surface-primary)}.print-details .navigation-container .btn[data-v-122a7196]{flex-shrink:0}.print-details .navigation-container .summary[data-v-122a7196]{text-align:center}@media(max-width:576px){.print-details .navigation-container .summary[data-v-122a7196]{display:none}}.print-details .info-line[data-v-122a7196]{display:flex;align-items:center;justify-content:space-between;margin-bottm:6px;padding:6px 0;gap:.5rem;border-top:1px solid var(--color-divider-muted)}.print-details .info-line[data-v-122a7196]:first-of-type{border-top:none}.print-details .info-line .label[data-v-122a7196]{display:flex;align-items:center;flex:1;gap:.5rem;line-height:1.1}.print-details .info-line .label .icon[data-v-122a7196]{opacity:.5;width:1rem;text-align:center}.print-details .info-line .value[data-v-122a7196]{font-weight:700}.first-layer-info-line[data-v-122a7196]{display:flex;align-items:center;justify-content:space-between;margin-bottm:6px;padding:6px 0;gap:.5rem;border-top:1px solid var(--color-divider-muted)}.first-layer-info-line[data-v-122a7196]:first-of-type{border-top:none}.first-layer-info-line .label[data-v-122a7196]{display:flex;align-items:center;flex:1;gap:.5rem;line-height:1.1}.first-layer-info-line .label .icon[data-v-122a7196]{opacity:.5;width:1rem;text-align:center}.first-layer-info-line .value[data-v-122a7196]{font-weight:700}.printer[data-v-122a7196]{display:flex;align-items:center;gap:.7rem;margin-bottom:var(--gap-between-blocks)}.printer .title[data-v-122a7196]{font-weight:700}.printer .info[data-v-122a7196]{flex:1}.printer .icon[data-v-122a7196]{flex:0 0 2rem;text-align:center}.printer .icon [data-v-122a7196]{font-size:2rem}.time-lapse .title[data-v-122a7196]{font-size:1.5rem;font-weight:400;margin-bottom:1rem}.time-lapse[data-v-122a7196] .card{border-radius:var(--border-radius-lg);border:none;background-color:var(--color-surface-secondary)}.time-lapse[data-v-122a7196] .nav-pills .nav-link{border-radius:var(--border-radius-sm)}.time-lapse[data-v-122a7196] .nav-pills .nav-link.active{background-color:var(--color-surface-primary)}.time-lapse[data-v-122a7196] .card-header{border-bottom:1px solid var(--color-divider-muted)}.video-wrapper[data-v-122a7196]{border-radius:var(--border-radius-md);overflow:hidden}.video-wrapper[data-v-122a7196] .video-js{height:500px!important}.video-wrapper[data-v-122a7196] video:focus-visible{outline:none!important;box-shadow:none!important;border:none!important}.detective-footer[data-v-122a7196]{margin-top:30px}.feedback-section[data-v-122a7196]{margin-top:30px;text-align:center}.about-feedback[data-v-122a7196]{max-width:600px;display:inline-block;margin-top:30px}.detective-placeholder[data-v-122a7196]{border-radius:var(--border-radius-md);overflow:hidden}.first-layer-video-wrapper.is-fullscreen[data-v-122a7196]{flex:1;order:1}.first-layer-video-wrapper.is-fullscreen[data-v-122a7196] .video-js{height:100vh!important}.is-fullscreen[data-v-122a7196]{position:fixed;top:0;left:0;bottom:0;right:0;z-index:9999;background-color:var(--color-background);padding:1rem;display:flex}.is-fullscreen .video-wrapper[data-v-122a7196]{flex:1;order:1}.is-fullscreen .video-wrapper[data-v-122a7196] .video-js{height:calc(100vh - 2rem)!important}.is-fullscreen .detective-footer[data-v-122a7196]{flex:0 0 200px;padding:0 1rem;display:flex;flex-direction:column;justify-content:center;position:relative}@media(max-width:996px){.is-fullscreen[data-v-122a7196]{flex-direction:column}.is-fullscreen .video-wrapper[data-v-122a7196]{order:0;flex:0 0 400px}.is-fullscreen .video-wrapper[data-v-122a7196] .video-js{height:400px!important}.is-fullscreen .detective-footer[data-v-122a7196]{flex:1}.is-fullscreen .detective-footer .feedback-section[data-v-122a7196]{display:none}}.is-fullscreen.original[data-v-122a7196]{padding:0}.is-fullscreen.original .video-wrapper[data-v-122a7196]{flex:1!important;border-radius:0}.is-fullscreen.original .video-wrapper[data-v-122a7196] .video-js{height:100vh!important}img.detective-working[data-v-13c6093e]{height:auto;width:12rem;border-radius:var(--border-radius-sm)}.webcam_container[data-v-7045853e]{width:100%;position:relative;outline:none;background-color:#000}.webcam_container .webcam_rotate_90[data-v-7045853e],.webcam_container .webcam_rotate_270[data-v-7045853e]{position:relative;width:100%;padding-bottom:100%}.webcam_container .webcam_rotate_90 .webcam_fixed_ratio[data-v-7045853e],.webcam_container .webcam_rotate_270 .webcam_fixed_ratio[data-v-7045853e]{display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.webcam_container .webcam_rotate_90 .webcam_fixed_ratio .webcam_fixed_ratio_inner.ontop[data-v-7045853e],.webcam_container .webcam_rotate_270 .webcam_fixed_ratio .webcam_fixed_ratio_inner.ontop[data-v-7045853e]{position:relative;top:0}.webcam_container .webcam_rotate_0 .webcam_fixed_ratio[data-v-7045853e],.webcam_container .webcam_rotate_180 .webcam_fixed_ratio[data-v-7045853e]{width:100%;padding-bottom:100%;position:relative}.webcam_container .webcam_rotate_0 .webcam_fixed_ratio.ratio43[data-v-7045853e],.webcam_container .webcam_rotate_180 .webcam_fixed_ratio.ratio43[data-v-7045853e]{padding-bottom:75%}.webcam_container .webcam_rotate_0 .webcam_fixed_ratio.ratio169[data-v-7045853e],.webcam_container .webcam_rotate_180 .webcam_fixed_ratio.ratio169[data-v-7045853e]{padding-bottom:56.25%}.webcam_container .webcam_rotate_0 .webcam_fixed_ratio.ratio1610[data-v-7045853e],.webcam_container .webcam_rotate_180 .webcam_fixed_ratio.ratio1610[data-v-7045853e]{padding-bottom:62.5%}.webcam_container .webcam_rotate_0 .webcam_fixed_ratio .webcam_fixed_ratio_inner[data-v-7045853e],.webcam_container .webcam_rotate_180 .webcam_fixed_ratio .webcam_fixed_ratio_inner[data-v-7045853e]{position:absolute;top:0;bottom:0;left:0;right:0}.webcam_container img[data-v-7045853e],.webcam_container video[data-v-7045853e]{-o-object-fit:contain;object-fit:contain;transition:all .3s cubic-bezier(.25,.8,.25,1);width:100%;height:100%;z-index:auto}.centered-element[data-v-7045853e]{position:absolute;width:3rem;height:3rem;top:calc(50% - 1.5rem);left:calc(50% - 1.5rem);z-index:99}.overlay-info[data-v-7045853e]{position:absolute;right:0;top:0;z-index:99;background-color:rgba(0,0,0,.5);padding:4px 8px}.streaming-info[data-v-7045853e]{text-align:right}.streaming-info.clickable[data-v-7045853e]{cursor:pointer}.streaming-guide[data-v-7045853e]{left:0;display:flex;justify-content:space-between;cursor:pointer}@media(max-width:576px){.streaming-guide[data-v-7045853e]{font-size:.8rem}}.streaming-guide:hover .learn-more[data-v-7045853e]{color:var(--color-primary-hover)}.slow-link-wrapper[data-v-7045853e]{position:absolute;height:24px;z-index:10;background-color:rgba(0,0,0,.2);border-radius:24px;top:10px;left:10px;padding-left:24px;line-height:24px;font-size:14px;width:auto}.slow-link-wrapper[data-v-7045853e]:hover{cursor:pointer}.slow-link-wrapper .text[data-v-7045853e]{width:0;height:24px;overflow:hidden;text-align:center;opacity:0}.slow-link-wrapper .text.show-and-hide[data-v-7045853e]{animation-name:showAndHideText-7045853e;animation-duration:3s}.slow-link-wrapper .text.showing[data-v-7045853e]{animation-name:showText-7045853e;animation-duration:.4s;animation-fill-mode:forwards}.slow-link-wrapper .text.hiding[data-v-7045853e]{animation-name:hideText-7045853e;animation-duration:.4s;animation-fill-mode:forwards}@keyframes showText-7045853e{0%{opacity:0}99%{width:160px;padding-right:10px;opacity:0}to{width:160px;padding-right:10px;opacity:1}}@keyframes hideText-7045853e{0%{opacity:1}1%{opacity:0}to{width:0;padding-right:0;opacity:0}}@keyframes showAndHideText-7045853e{0%{width:0;opacity:0}19%{width:160px;padding-right:10px;opacity:0}20%{opacity:1}80%{opacity:1;width:160px;padding-right:10px}81%{opacity:0}to{width:0;padding-right:0;opacity:0}}.slow-link-wrapper .icon[data-v-7045853e]{width:20px;height:20px;border-radius:10px;position:absolute;top:2px;left:2px;font-size:12px;line-height:20px;text-align:center;color:var(--color-on-warning)}.muted-status-wrapper[data-v-7045853e]{position:absolute;width:100%;z-index:10;bottom:0;left:0;background-color:var(--color-overlay);text-align:center;padding:10px 0}.poster-placeholder[data-v-7045853e]{color:hsla(0,0%,100%,.2);width:100px;height:100px;position:absolute;left:calc(50% - 50px);top:calc(50% - 50px)}.extra-controls[data-v-7045853e]{position:absolute;display:flex;flex-direction:row;right:0;bottom:0;padding:.5rem}.extra-controls .video-control-btn[data-v-7045853e]{width:2rem;height:2rem;margin:.1rem;border-radius:999px;background-color:var(--color-overlay);color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center}.extra-controls .video-control-btn[data-v-7045853e]:hover{color:var(--color-text-primary);cursor:pointer}.temp-item[data-v-6371ef1e]{display:flex;width:100%;background-color:var(--color-background);padding:.8125rem;border-radius:var(--border-radius-md);gap:1rem;align-items:center}.temp-item.editable[data-v-6371ef1e]{cursor:pointer}.icon[data-v-6371ef1e]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background-color:var(--color-primary);color:var(--color-on-primary);border-radius:var(--border-radius-sm)}.icon svg[data-v-6371ef1e]{width:20px;height:20px;color:var(--color-on-primary)}.value-wrapper[data-v-6371ef1e]{margin-left:auto;display:flex;gap:.375rem}.value[data-v-6371ef1e]{font-weight:700}.target[data-v-6371ef1e]{color:var(--color-text-secondary)}.wrapper[data-v-a51f3d38]{display:flex;flex-direction:column;align-items:center;gap:.825rem;padding:1rem 0 1rem}.slidecontainer[data-v-3dcc12a9]{width:100%}.slider[data-v-3dcc12a9]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:5px;background:var(--color-input-background);outline:none;border:none}.slider[data-v-3dcc12a9]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:25px;height:25px;border-radius:50%;background:var(--color-text-primary);cursor:pointer;border:none}.slider[data-v-3dcc12a9]::-moz-range-thumb{width:25px;height:25px;border-radius:50%;background:var(--color-text-primary);cursor:pointer;border:none}hr[data-v-1f31c9c1]{background-color:var(--color-divider)}.shared-link-text[data-v-1f31c9c1]{color:var(--text-primary)!important;height:40px;border-color:var(--color-divider);background-color:var(--color-input-background)!important}.copy-button[data-v-1f31c9c1]{color:var(--color-primary);border:2px solid var(--color-primary);border-radius:0 var(--border-radius-sm) var(--border-radius-sm) 0;background-color:transparent;display:inline-flex;align-items:center;justify-content:center;padding:0 .75rem;font-size:1rem;line-height:1.5}.copy-button[data-v-1f31c9c1]:hover{background-color:var(--color-primary);color:var(--color-on-primary);cursor:pointer}.widget[data-v-922c39c0]{position:relative;background-color:var(--color-surface-secondary);border-radius:var(--border-radius-md);margin-bottom:15px}.widget[data-v-922c39c0]:last-of-type{margin-bottom:0}.widget .widget-title[data-v-922c39c0]{padding:6px 12px;font-size:14px;color:var(--color-text-secondary)}.widget .widget-content[data-v-922c39c0]{padding:1.5rem 2rem 1rem}@media(max-width:510px){.widget .widget-content[data-v-922c39c0]{padding:1rem 1rem .5rem}}.widget.insideCard[data-v-922c39c0]{margin-bottom:0;border-radius:0;border-bottom:1px solid var(--color-divider)}.widget.insideCard .widget-title[data-v-922c39c0]{display:none}.widget.insideCard .widget-content[data-v-922c39c0]{padding-bottom:0}.search-wrapper[data-v-33fc3084]{position:relative}.search-wrapper .search-icon[data-v-33fc3084]{height:100%;display:flex;flex-direction:column;justify-content:center;position:absolute;top:0;left:.5em;opacity:.8}.search-wrapper input[data-v-33fc3084]{padding:.2em .5em .2em 2em;width:100%;height:100%;font-size:16px}.input-lg[data-v-47badcdc],.input-lg[data-v-bc4fae7e]{height:3rem;padding:.5rem 1rem;width:100%}.item[data-v-ad2c3ac6]{display:flex;align-items:center;padding:.6em 1em;border-bottom:1px solid var(--color-divider-muted)}.item[data-v-ad2c3ac6]:last-child{border-bottom:none}.item[data-v-ad2c3ac6]:hover{cursor:pointer;background-color:var(--color-hover)}.item.disabled[data-v-ad2c3ac6]{opacity:.5}.item.disabled[data-v-ad2c3ac6]:hover{cursor:default;background-color:transparent}.item.move-modal .item-info .size[data-v-ad2c3ac6]{text-align:right}.item .item-info[data-v-ad2c3ac6]{display:flex;width:100%;overflow:hidden;flex:1;font-size:.875rem;color:var(--color-text-secondary)}.item .item-info>div[data-v-ad2c3ac6]{flex:1;margin-left:30px}.item .item-info>div[data-v-ad2c3ac6]:first-child{font-size:1rem;color:var(--color-text-primary);margin-left:0}.item .item-info .thumbnail-wrapper[data-v-ad2c3ac6]{flex:0 0 32px;display:inline-flex;height:32px;border-radius:var(--border-radius-xs);background-color:var(--color-surface-primary);overflow:hidden;align-items:center;justify-content:center}.item .item-info .thumbnail-wrapper .thumbnail[data-v-ad2c3ac6]{width:100%;height:100%}.item .item-info .thumbnail-wrapper .thumbnail img[data-v-ad2c3ac6]{height:100%;width:auto}.item .item-info .thumbnail-wrapper.folder[data-v-ad2c3ac6]{background:none;font-size:1.25em}.item .item-info .filename[data-v-ad2c3ac6]{display:flex;align-items:center;gap:.5rem;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;width:100%;flex:3}.item .remove-button[data-v-ad2c3ac6]{width:30px;height:30px;text-align:center;line-height:30px;border-radius:50%;transition:background-color .2s ease-out}.item .remove-button[data-v-ad2c3ac6]:hover{background-color:var(--color-danger);color:var(--color-on-primary);cursor:pointer}@media(max-width:768px){.item[data-v-ad2c3ac6]{margin:0 -16px}.item .item-info[data-v-ad2c3ac6]{flex-direction:column;align-items:flex-start}.item .item-info>div[data-v-ad2c3ac6]{margin-left:0}.item .item-info .size[data-v-ad2c3ac6]:before{content:"Size: "}.item .item-info .uploaded[data-v-ad2c3ac6]:before{content:"Uploaded: "}.item .item-info .created[data-v-ad2c3ac6]:before{content:"Created: "}.item .item-info .last-printed[data-v-ad2c3ac6]:before{content:"Last print: "}}.circle-indicator[data-v-ad2c3ac6]{--size:6px;width:var(--size);height:var(--size);border-radius:var(--size);display:inline-block;margin-left:5px;position:relative;bottom:1px;background:var(--color-text-secondary)}.circle-indicator.cancelled[data-v-ad2c3ac6]{background:var(--color-danger)}.circle-indicator.finished[data-v-ad2c3ac6]{background:var(--color-success)}.checkbox-wrapper[data-v-ad2c3ac6]{display:flex;align-items:flex-start;justify-content:flex-end;margin-left:-.5rem;margin-right:.5rem}.checkbox-wrapper[data-v-ad2c3ac6] .custom-checkbox .custom-control-label:before{border-radius:var(--border-radius-xs);border-color:var(--color-divider)}.checkbox-wrapper.isSelected[data-v-ad2c3ac6] .custom-checkbox .custom-control-label:before{border-color:#00c4b4}@media(max-width:576px){.checkbox-wrapper[data-v-ad2c3ac6]{display:none}}.gcodes-wrapper[data-v-254b72e8]{background-color:var(--color-surface-secondary);padding:1em 2em;border-radius:var(--border-radius-lg)}.gcodes-wrapper.is-move-modal[data-v-254b72e8]{padding:0;border-radius:0}.header-panel[data-v-254b72e8]{display:flex;padding:1em calc(1em + 30px) 1em 1em;border-bottom:1px solid var(--color-divider);font-weight:700}.header-panel.without-action-buttons[data-v-254b72e8]{padding-right:1em}.header-panel>div[data-v-254b72e8]{flex:1;display:flex;justify-content:space-between;margin-left:30px;align-items:center;font-size:1rem}.header-panel>div[data-v-254b72e8]:first-child{margin-left:0;flex:3}@media(max-width:768px){.header-panel[data-v-254b72e8]{display:none}}.placeholder[data-v-254b72e8]{margin:5rem 0;text-align:center}.placeholder.text-secondary [data-v-254b72e8]{color:var(--color-text-secondary)}.title[data-v-3ff54ded]{display:flex;align-items:center}.title .icon-btn[data-v-3ff54ded]{padding-top:0;padding-bottom:0;padding-left:0}#b-modal-confirm-delete .modal-body{font-size:1.125rem;text-align:center}#b-modal-confirm-delete .modal-footer{justify-content:center}.upload-box[data-v-5d00d77d]{margin-bottom:var(--gap-between-blocks)!important}.search-input[data-v-5d00d77d]{height:30px}.search-input input[data-v-5d00d77d]{background-color:var(--color-surface-secondary);border:var(--color-surface-secondary)}.notice-block[data-v-5d00d77d]{border:1px solid var(--color-divider);border-radius:var(--border-radius-md);display:flex;align-items:center;padding:1rem 1.5rem;margin-bottom:var(--gap-between-blocks)}.notice-block .message[data-v-5d00d77d]{margin:0;margin-left:1rem}.actions-with-selected-desktop[data-v-5d00d77d]{display:flex;align-items:center;margin-right:1rem}.actions-with-selected-desktop .label[data-v-5d00d77d]{cursor:pointer}.actions-with-selected-desktop[data-v-5d00d77d] .custom-checkbox .custom-control-label:before{border-radius:var(--border-radius-xs)}@media(max-width:576px){.actions-with-selected-desktop[data-v-5d00d77d]{display:none}}.printer-item[data-v-77186cca]{display:flex;align-items:center;text-align:left;border-radius:var(--border-radius-sm);border:1px solid var(--color-divider);margin-bottom:.5rem;padding:.75rem}.printer-item[data-v-77186cca]:hover{background-color:var(--color-hover);cursor:pointer}.selected-indicator[data-v-77186cca]{--size:0.875rem;width:var(--size);height:var(--size);border-radius:var(--size);border:1px solid var(--color-text-secondary);margin-right:.5rem}.printer-item.active[data-v-77186cca]{background-color:var(--color-hover)}.printer-item.active .selected-indicator[data-v-77186cca]{border-color:var(--color-text-primary);border-width:3px}.printer-name[data-v-77186cca]{flex:1}.printer-status[data-v-77186cca]{font-size:.875rem;margin-left:.5rem}.btn[data-v-77186cca]{max-width:100%}.warning-block[data-v-0d6b7614]{margin-bottom:var(--gap-between-blocks)}.available-printers[data-v-0d6b7614]{margin-top:var(--gap-between-blocks)}.available-printers.full-width[data-v-0d6b7614]{margin-top:15px}.print-history.full-width[data-v-0d6b7614]{margin-top:30px}@media(max-width:991px){.print-history[data-v-0d6b7614]{margin-top:30px}}.file-name[data-v-0d6b7614]{font-size:1.25rem;margin-bottom:1rem;border-bottom:1px solid var(--color-divider);padding-bottom:1rem}.file-info-line[data-v-0d6b7614]{display:flex;justify-content:space-between;margin-bottom:.5rem}.file-info-line i[data-v-0d6b7614]{margin-right:.375rem}.file-info-line .value[data-v-0d6b7614]{font-weight:700}.section-title[data-v-0d6b7614]{font-size:1.25rem;margin-bottom:.5rem}.print-item[data-v-0d6b7614]{margin-bottom:10px}.wrapper[data-v-c7deff6e]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-bottom:2rem;gap:1rem}@media(max-width:480px){.wrapper[data-v-c7deff6e]{height:auto}}.error-container[data-v-c7deff6e],.warning-container[data-v-c7deff6e]{width:100%;background-color:var(--color-danger);color:var(--color-on-danger);padding:1rem;border-radius:var(--border-radius-sm);text-align:center;font-weight:400;margin-bottom:1rem}.error-container .title[data-v-c7deff6e],.warning-container .title[data-v-c7deff6e]{font-size:1rem;font-weight:700;margin-bottom:.5rem}.error-container p[data-v-c7deff6e],.warning-container p[data-v-c7deff6e]{font-size:1rem;font-weight:400}.error-container.warning-container[data-v-c7deff6e],.warning-container.warning-container[data-v-c7deff6e]{background-color:var(--color-warning);color:var(--color-on-warning)}p[data-v-c7deff6e]{margin:0;font-size:1.125rem;text-align:center}.buttons[data-v-c7deff6e]{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:.5rem;flex-wrap:wrap}.big-icon[data-v-c7deff6e]{font-size:2rem}.big-icon.warning[data-v-c7deff6e]{color:var(--color-warning)}.big-icon.danger[data-v-c7deff6e]{color:var(--color-danger)}.custom-svg-icon[data-v-c7deff6e]{height:1.125rem;width:1.125rem}.card[data-v-c6334924]{border-radius:var(--border-radius-lg);overflow:hidden}.card .setting-item[data-v-c6334924]{border-bottom:none!important}.menu-icon[data-v-c6334924]{width:20px;height:20px;margin-right:6px}.printer-list-page .consider-upgrade[data-v-fb278c80]{margin-bottom:var(--gap-between-blocks)}.printer-list-page .printer-cards[data-v-fb278c80]{margin-top:calc(var(--gap-between-blocks)*-1)}.printer-list-page .bottom-messages[data-v-fb278c80],.printer-list-page .printer-card-wrapper[data-v-fb278c80]{margin-top:var(--gap-between-blocks)}.printer-list-page .warning[data-v-fb278c80]{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:center}.printer-list-page .warning .warning-action[data-v-fb278c80]{padding:.25em 0;margin-left:auto;margin:0 5px 0 5px;cursor:pointer}.btn.hours-btn[data-v-fb278c80]{position:relative;color:var(--color-text-primary)}.btn.hours-btn .badge[data-v-fb278c80]{position:absolute;left:18px;top:4px;border-radius:var(--border-radius-sm);background-color:var(--color-primary);height:auto;font-size:.625rem}.custom-svg-icon[data-v-fb278c80]{height:1.3rem;width:1.3rem}[data-v-fb278c80] .dropdown-item .clickable-area{margin:-.25rem -1.5rem;padding:.25rem 1.5rem}div[id^=b-modal-gcodes] .modal-header{display:none}div[id^=b-modal-gcodes] .modal-body{padding:0}div[id^=b-modal-gcodes] .modal-footer{display:none}#new-printer{min-height:25em}#new-printer .new-printer-container{display:flex;flex-flow:column;align-items:center;justify-content:center;margin-top:6em}#new-printer .new-printer-container a{text-align:center;border:thin dashed;color:var(--color-primary);border-color:var(--color-primary);padding:4em 3em;border-radius:var(--border-radius-lg)}#new-printer .new-printer-container a:hover{text-decoration:none;background-color:var(--color-hover)}#new-printer .new-printer-container .icon{width:2rem;height:2rem;margin-bottom:1rem}[data-v-371280d8] .navbar{padding:.5rem 1rem}[data-v-371280d8] .navbar a.navbar-brand{margin-top:-3px}[data-v-371280d8] .navbar .navbar-toggler{color:var(--color-text-primary)}[data-v-371280d8] .navbar .nav-item{text-transform:uppercase}[data-v-371280d8] .navbar .user-menu{text-transform:none}[data-v-371280d8] .navbar .badge-btn{position:relative;height:1.8rem;margin-right:1.5em}[data-v-371280d8] .navbar .badge-btn img{height:1.3rem}[data-v-371280d8] .navbar .badge-btn .badge{position:absolute;left:22px;top:1px;height:18px;border-radius:4px;transition:transform .2s}[data-v-371280d8] .navbar .badge-btn .badge:hover{transform:scale(1.3)}@media(min-width:1200px){[data-v-371280d8] .navbar{padding:0 1rem}[data-v-371280d8] .navbar .nav-item{padding:.5rem .24rem}}#printer-list-page[data-v-1dd34976]{margin-top:1.5rem}.printer-card[data-v-1dd34976]{margin-bottom:1.5rem}.failed-to-save[data-v-2e4df370]:before,.saving-in-progress[data-v-2e4df370]:before,.successfully-saved[data-v-2e4df370]:before{content:"";background-size:16px 16px;width:16px;height:16px;display:block;position:absolute;top:0;bottom:0;right:-28px;margin:auto;z-index:9}.failed-to-save.saving-in-progress[data-v-2e4df370],.saving-in-progress.saving-in-progress[data-v-2e4df370],.successfully-saved.saving-in-progress[data-v-2e4df370]{position:relative}.failed-to-save.saving-in-progress[data-v-2e4df370]:before,.saving-in-progress.saving-in-progress[data-v-2e4df370]:before,.successfully-saved.saving-in-progress[data-v-2e4df370]:before{background-image:var(--url-loader)}.failed-to-save.successfully-saved[data-v-2e4df370],.saving-in-progress.successfully-saved[data-v-2e4df370],.successfully-saved.successfully-saved[data-v-2e4df370]{position:relative}.failed-to-save.successfully-saved[data-v-2e4df370]:before,.saving-in-progress.successfully-saved[data-v-2e4df370]:before,.successfully-saved.successfully-saved[data-v-2e4df370]:before{background-image:url(/static/img/tick.svg)}.failed-to-save.failed-to-save[data-v-2e4df370],.saving-in-progress.failed-to-save[data-v-2e4df370],.successfully-saved.failed-to-save[data-v-2e4df370]{position:relative}.failed-to-save.failed-to-save[data-v-2e4df370]:before,.saving-in-progress.failed-to-save[data-v-2e4df370]:before,.successfully-saved.failed-to-save[data-v-2e4df370]:before{background-image:url(/static/img/cross.svg)}.input-group.input-wrapper[data-v-66233dc0]{border-radius:var(--border-radius-sm);overflow:hidden;border:1px solid var(--color-divider)}.input-group.input-wrapper .control-button[data-v-66233dc0]{border:none}.input-group.input-wrapper .btn-outline-secondary[data-v-66233dc0]{background-color:var(--color-input-background)}.input-group.input-wrapper .btn-outline-secondary[data-v-66233dc0]:active,.input-group.input-wrapper .btn-outline-secondary[data-v-66233dc0]:focus,.input-group.input-wrapper .btn-outline-secondary[data-v-66233dc0]:hover{color:var(--color-text-primary);background-color:var(--color-input-background);opacity:.8;outline:none;box-shadow:none!important;border:none}.input-group.input-wrapper input.form-control[data-v-66233dc0]{background-color:var(--color-input-background);color:var(--color-text-primary);width:6rem;border:none;border-left:2px solid var(--color-divider);border-right:2px solid var(--color-divider)}.vue-slider-disabled[data-v-3d5060ec]{opacity:.5;cursor:not-allowed}.vue-slider-rail[data-v-3d5060ec]{background-color:#ccc;border-radius:15px}.vue-slider-process[data-v-3d5060ec]{background-color:#3498db;border-radius:15px}.vue-slider-mark[data-v-3d5060ec]{z-index:4}.vue-slider-mark:first-child .vue-slider-mark-step[data-v-3d5060ec],.vue-slider-mark:last-child .vue-slider-mark-step[data-v-3d5060ec]{display:none}.vue-slider-mark-step[data-v-3d5060ec]{width:100%;height:100%;border-radius:50%;background-color:rgba(0,0,0,.16)}.vue-slider-mark-label[data-v-3d5060ec]{font-size:14px;white-space:nowrap}.vue-slider-dot-handle[data-v-3d5060ec]{cursor:pointer;width:100%;height:100%;border-radius:50%;background-color:#fff;box-sizing:border-box;box-shadow:.5px .5px 2px 1px rgba(0,0,0,.32)}.vue-slider-dot-handle-focus[data-v-3d5060ec]{box-shadow:0 0 1px 2px rgba(52,152,219,.36)}.vue-slider-dot-handle-disabled[data-v-3d5060ec]{cursor:not-allowed;background-color:#ccc}.vue-slider-dot-tooltip-inner[data-v-3d5060ec]{font-size:14px;white-space:nowrap;padding:2px 5px;min-width:20px;text-align:center;color:#fff;border-radius:5px;border-color:#3498db;background-color:#3498db;box-sizing:content-box}.vue-slider-dot-tooltip-inner[data-v-3d5060ec]:after{content:"";position:absolute}.vue-slider-dot-tooltip-inner-top[data-v-3d5060ec]:after{top:100%;left:50%;transform:translate(-50%);height:0;width:0;border-color:transparent;border-style:solid;border-width:5px;border-top-color:inherit}.vue-slider-dot-tooltip-inner-bottom[data-v-3d5060ec]:after{bottom:100%;left:50%;transform:translate(-50%);height:0;width:0;border-color:transparent;border-style:solid;border-width:5px;border-bottom-color:inherit}.vue-slider-dot-tooltip-inner-left[data-v-3d5060ec]:after{left:100%;top:50%;transform:translateY(-50%);height:0;width:0;border-color:transparent;border-style:solid;border-width:5px;border-left-color:inherit}.vue-slider-dot-tooltip-inner-right[data-v-3d5060ec]:after{right:100%;top:50%;transform:translateY(-50%);height:0;width:0;border-color:transparent;border-style:solid;border-width:5px;border-right-color:inherit}.vue-slider-dot-tooltip-wrapper[data-v-3d5060ec]{opacity:0;transition:all .3s}.vue-slider-dot-tooltip-wrapper-show[data-v-3d5060ec]{opacity:1}.card[data-v-3d5060ec]{overflow:visible!important}.custom-control-label[data-v-3d5060ec]{font-size:16px}@media(max-width:768px){.mobile-full-width[data-v-3d5060ec]{width:100%;margin-top:.25em;margin-bottom:.4em}}.section-title[data-v-3d5060ec]{padding-bottom:10px;border-bottom:1px solid var(--color-text-primary)}.form-label[data-v-3d5060ec]{font-size:18px}section.danger .section-title[data-v-3d5060ec]{color:var(--color-danger);border-color:var(--color-danger)}.form-inline .wrappable-field[data-v-3d5060ec]{margin-left:1.5rem} +.wrapper[data-v-26c9d5fe]{margin:5rem;text-align:center}body[data-v-0e2f9398]{padding-bottom:0}.wizard-container[data-v-0e2f9398]{padding:1.5rem .6rem 3rem}.feature-check[data-v-0e2f9398]{color:var(--color-primary)}.feature-text[data-v-0e2f9398]{margin-left:.5em}.authorization-successful[data-v-0e2f9398]{padding-top:6rem;text-align:center}.logo-img[data-v-0e2f9398]{max-height:4em;margin-bottom:2em}.logo-icon[data-v-0e2f9398]{max-height:50px;max-width:50px;margin:0 15px;border-radius:50%;-o-object-fit:cover;object-fit:cover}.logo-icon.obico[data-v-0e2f9398]{max-width:46px;color:var(--color-primary)}.account-details[data-v-0e2f9398]{background:var(--color-surface-secondary);border-radius:var(--border-radius-sm);padding:15px;margin-left:-15px;margin-right:-15px}.footer-note[data-v-0e2f9398]{margin:3rem 0 -1.5rem;text-align:right}.tunnel-iframe[data-v-36042095]{width:100%;height:100vh;background:var(--color-background);position:absolute;top:0;left:0}.floating-panel[data-v-36042095]{position:fixed;bottom:0;right:0;box-shadow:2px 2px 10px rgba(0,0,0,.3);background-color:var(--color-surface-primary);padding:10px;max-width:300px;z-index:10;display:flex;align-items:center}@media(pointer:coarse),(pointer:none){.swal2-popup.x150{transform:scale(1.5)}.floating-panel{transform:scale(2);transform-origin:right bottom}}.navigation-container[data-v-72de57d5]{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:-1.5em;margin-bottom:.5em;padding:1em 1.5em;background-color:var(--color-surface-primary)}.message-snippet{margin-top:50px;margin-left:100px}@media(max-width:768px){.message-snippet{margin-left:0}}.message-snippet.is-in-mobile{margin-left:0}.page-wrapper[data-v-5822eab8]{display:flex;padding-left:100px;background-color:var(--color-background)}.page-wrapper.is-in-mobile[data-v-5822eab8]{padding-left:0}.page-wrapper.is-in-mobile .content-wrapper.hide-top-nav .top-nav[data-v-5822eab8],.page-wrapper.is-in-mobile .side-nav[data-v-5822eab8],.page-wrapper.is-in-mobile .toggle-sidebar[data-v-5822eab8]{display:none}.page-wrapper.is-in-mobile .content-wrapper.hide-top-nav .page-content[data-v-5822eab8]{padding:15px 0}.page-wrapper.is-in-popup[data-v-5822eab8]{padding-left:0}.page-wrapper.is-in-popup .side-nav[data-v-5822eab8],.page-wrapper.is-in-popup .toggle-sidebar[data-v-5822eab8]{display:none}.page-wrapper.is-in-popup .top-nav[data-v-5822eab8]{position:relative;padding:0 15px}.page-wrapper.is-in-popup .page-content[data-v-5822eab8]{padding:15px 0;min-height:unset}.side-nav[data-v-5822eab8]{min-width:100px;max-width:100px;text-align:center;background:var(--color-surface-primary);position:fixed;left:0;top:0;height:100%;display:flex;flex-direction:column;z-index:1000;overflow-y:auto;transition:all .2s ease-out;border-right:1px solid var(--color-divider)}.side-nav .sidebar-header[data-v-5822eab8]{flex:0 0 50px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--color-divider)}.side-nav ul li a[data-v-5822eab8]{display:block;color:var(--color-text-primary);padding:10px 5px;margin:4px;border-radius:var(--border-radius-sm);text-align:center;font-size:.85em}.side-nav ul li a[aria-expanded=true][data-v-5822eab8],.side-nav ul li a[data-v-5822eab8]:hover{color:var(--color-text-primary)}.side-nav ul li a[data-v-5822eab8]:hover{background:var(--color-hover)}.side-nav ul li a.primary[data-v-5822eab8]{color:var(--color-primary)}.side-nav ul li a.dropdown-toggle[data-v-5822eab8]{cursor:pointer;padding-bottom:20px}.side-nav ul li a[data-v-5822eab8] .svg-inline--fa,.side-nav ul li a i[data-v-5822eab8]{margin-right:0;display:block;font-size:1.4em;margin-bottom:5px}.side-nav ul li a[data-v-5822eab8] .svg-inline--fa{margin:0 auto 5px}.side-nav ul li a .badge[data-v-5822eab8]{border-radius:2em;position:absolute;top:-.35em;right:2em;padding:.25em .3em;font-family:var(--default-font-family);font-size:.714rem;font-weight:700;color:var(--color-on-danger);background-color:var(--color-danger);min-width:1.6em}.side-nav ul li.active>a[data-v-5822eab8]{background:var(--color-hover)}.side-nav ul li.glowing[data-v-5822eab8]{text-shadow:0 0 10px #fff,0 0 20px #fff,0 0 30px #fff,0 0 40px var(--color-primary),0 0 70px var(--color-primary),0 0 80px var(--color-primary),0 0 100px var(--color-primary),0 0 150px var(--color-primary)}.side-nav ul ul a[data-v-5822eab8]{font-size:.9em!important;padding:10px!important}.side-nav ul .dropdown-toggle[data-v-5822eab8]:after{top:auto;bottom:10px;right:50%;transform:translateX(50%)}.side-nav ul.components[data-v-5822eab8]{padding:20px 0}.side-nav[data-v-5822eab8] .logo-small{width:30px;height:30px;color:var(--color-text-primary)}.side-nav .dropdown-toggle[data-v-5822eab8]{position:relative}.side-nav .dropdown-toggle[data-v-5822eab8]:after{display:block;position:absolute;top:50%;right:20px;transform:translateY(-50%)}.side-nav .side-nav-footer[data-v-5822eab8]{margin-top:auto}.side-nav .trim-text[data-v-5822eab8]{white-space:nowrap;text-overflow:ellipsis;display:inline-block;overflow:hidden;width:100%}.content-wrapper[data-v-5822eab8]{width:100%}.top-nav[data-v-5822eab8]{height:50px;background:var(--color-surface-primary)!important;position:fixed;top:0;left:0;width:100%;padding-left:115px;padding-right:32px;z-index:100;box-shadow:var(--shadow-top-nav);justify-content:space-between}.top-nav[data-v-5822eab8] .action-panel .action-btn{box-sizing:border-box;width:36px;padding-left:0;padding-right:0}@media(max-width:768px){.top-nav[data-v-5822eab8] .action-panel .action-btn{display:none}}.is-in-mobile .top-nav[data-v-5822eab8]{padding-left:15px;padding-right:15px;background:var(--color-surface-primary)!important}.toggle-sidebar[data-v-5822eab8]{color:var(--color-text-primary);display:none}.page-content[data-v-5822eab8]{padding:calc(50px + var(--gap-between-blocks)) calc(var(--gap-between-blocks) - 15px) var(--gap-between-blocks);display:flex;flex-direction:column;min-height:calc(100vh - 68px)}.content-overlay[data-v-5822eab8]{position:fixed;top:0;left:0;width:100%;height:100%;z-index:100;background:rgba(0,0,0,.5);display:none}[data-v-5822eab8] .search-input input{background-color:var(--color-surface-secondary);border-color:var(--color-surface-secondary)}.notification-dot[data-v-5822eab8]{height:50%;top:-9px;right:-3px;position:absolute;width:50%;color:var(--color-danger)}@media(min-width:769px){.content-wrapper.hide-top-nav .top-nav[data-v-5822eab8]{display:none}.content-wrapper.hide-top-nav .page-content[data-v-5822eab8]{padding-top:30px;min-height:calc(100vh - 68px)}}@media(max-width:768px){.page-wrapper[data-v-5822eab8]{padding-left:0}.page-wrapper:not(.collapsed) .content-overlay[data-v-5822eab8]{display:block}.page-wrapper.collapsed .side-nav[data-v-5822eab8]{transform:translateX(-100px)}.top-nav[data-v-5822eab8]{padding-left:15px;padding-right:15px;background:var(--color-surface-primary)!important}.toggle-sidebar[data-v-5822eab8]{display:block}.page-content[data-v-5822eab8]{padding:15px 0;padding-top:65px;justify-content:start}}[data-v-5822eab8] .dropdown-menu .dropdown-item{padding:.25rem .75rem}[data-v-5822eab8] .dropdown-menu .dropdown-item .clickable-area{margin:-.25rem -.75rem;padding:.25rem .75rem}[data-v-5822eab8] .dropdown-menu .dropdown-item .custom-svg-icon,[data-v-5822eab8] .dropdown-menu .dropdown-item i{width:20px;margin-right:.5rem}[data-v-5822eab8] .dropdown-menu .b-dropdown-text{padding-left:.75rem;padding-right:.75rem}.card-img-top[data-v-10df198e]{position:relative;background-color:#000}.card-img-top .buttons-container[data-v-10df198e]{position:absolute;top:0;right:0;padding:.5rem;background-color:rgba(0,0,0,.7)}.card-img-top a.action-btn[data-v-10df198e]{padding:.5rem;color:hsla(0,0%,100%,.5);font-size:1.5rem;transition:all .3s ease-out}.card-img-top a.action-btn[data-v-10df198e]:hover{color:hsla(0,0%,100%,.9)}.card-img-overlay[data-v-5e3b0b22]{display:flex;align-items:center;justify-content:center}.consent-section[data-v-c265fb70]{background:var(--color-surface-secondary)}.feedback-estimate[data-v-c265fb70]{font-size:1.2em;font-weight:bolder;color:var(--color-primary)}.prev-btn[data-v-65dd3f19]{display:inline;position:absolute;left:2%;top:40%;opacity:.5}.next-btn[data-v-65dd3f19]{display:inline;position:absolute;right:2%;top:40%;opacity:.5}.page-visiting[data-v-65dd3f19]{color:var(--color-primary)}.page-unvisited[data-v-65dd3f19]{color:var(--color-divider)}.feedback-container[data-v-65dd3f19]{padding-left:30px;padding-right:30px}.custom-svg-icon[data-v-2a5ecb65]{height:1.125rem;width:1.125rem}.checkmark-muted[data-v-687a0a02]{color:var(--color-divider)!important}.active-filter-notice[data-v-0aa31f4a]{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;background-color:var(--color-surface-secondary);margin:calc(var(--gap-between-blocks)*-1) -15px var(--gap-between-blocks)}.active-filter-notice .filter[data-v-0aa31f4a]{color:var(--color-primary)}.active-filter-notice .action-btn[data-v-0aa31f4a]{color:var(--color-text-primary);cursor:pointer}@media(max-width:768px){.active-filter-notice[data-v-0aa31f4a]{font-size:.875rem;margin-left:0;margin-right:0}}.print-container[data-v-11fbb7ad]{display:flex;background-color:var(--color-surface-secondary);border-radius:var(--border-radius-md);overflow:hidden;color:var(--color-text-primary)}.print-container[data-v-11fbb7ad]:hover{cursor:pointer;background:var(--color-hover-accent);transition:all .3s ease-out}.status-indicator[data-v-11fbb7ad]{flex:0 0 5px;margin-right:1rem}.checkbox-wrapper[data-v-11fbb7ad]{display:flex;align-items:flex-start;justify-content:flex-end;padding-top:1rem}.checkbox-wrapper[data-v-11fbb7ad] .custom-checkbox .custom-control-label:before{border-radius:var(--border-radius-xs);border-color:var(--color-divider)}.checkbox-wrapper.isSelected[data-v-11fbb7ad] .custom-checkbox .custom-control-label:before{border-color:#00c4b4}.main-content[data-v-11fbb7ad]{padding:1rem;padding-left:0;flex:1}.top[data-v-11fbb7ad]{display:flex;align-items:flex-end;margin-bottom:.25rem}.title[data-v-11fbb7ad]{font-weight:700}.bottom[data-v-11fbb7ad]{display:flex;align-items:center;justify-content:flex-start;gap:14px}@media(max-width:768px){.bottom[data-v-11fbb7ad]{flex-direction:column;gap:2px;align-items:flex-start}}.info[data-v-11fbb7ad]{display:flex;gap:.25em;align-items:center;font-size:.9375rem;overflow:hidden;max-width:50%}.info span[data-v-11fbb7ad]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media(max-width:768px){.info[data-v-11fbb7ad]{max-width:100%}}.icon[data-v-11fbb7ad]{color:var(--color-text-secondary);font-size:.8em;flex-shrink:0}.icon.fa-clock[data-v-11fbb7ad]{position:relative;top:1px}.feedback-info[data-v-11fbb7ad]{background-color:var(--color-surface-primary);padding:.0625em .625em;border-radius:var(--border-radius-xs);font-size:.8125rem;margin:2px 0}.feedback-info.focused[data-v-11fbb7ad]{background-color:var(--color-primary);color:var(--color-on-primary)}.poster[data-v-11fbb7ad]{margin-left:auto;background-color:var(--color-hover)}.poster .img[data-v-11fbb7ad]{background-size:cover;background-position:50%;height:100%;color:var(--color-text-secondary);font-size:.875rem}.poster .img[data-v-11fbb7ad],.poster.no-photo[data-v-11fbb7ad]{width:100px;display:flex;justify-content:center;align-items:center}.poster.no-photo svg[data-v-11fbb7ad]{width:3rem;height:3rem;color:var(--color-background)}.input-lg[data-v-3aeed230]{height:3rem;padding:.5rem 1rem;width:100%}.help-wrapper[data-v-8b03b208]{display:inline;position:relative}.help-wrapper.highlighted[data-v-8b03b208]{text-decoration:underline;-webkit-text-decoration-color:var(--color-text-help);text-decoration-color:var(--color-text-help)}.help-wrapper .text[data-v-8b03b208]{display:inline}.help-wrapper .text[data-v-8b03b208]:hover{cursor:pointer}.widget-wrapper[data-v-8b03b208]{position:relative;left:.1rem;top:.1rem;width:1rem;height:1rem;display:inline-block}.widget-wrapper .question-mark[data-v-8b03b208]{display:flex;color:var(--color-text-help);transition:all .2s ease-out;height:1rem}.widget-wrapper .question-mark[data-v-8b03b208]:hover{cursor:pointer}.widget-wrapper .question-mark svg[data-v-8b03b208]{width:1rem;height:1rem}.widget-wrapper .widget[data-v-8b03b208]{width:360px;z-index:10;position:absolute;box-shadow:0 0 0 9999px rgba(0,0,0,.5);border-radius:12px;background-color:var(--color-surface-primary);display:flex;flex-direction:column;color:var(--color-text-primary)}.widget-wrapper .widget .logo-icon[data-v-8b03b208]{max-height:50px;-o-object-fit:contain;object-fit:contain;border-radius:8px;margin:0 15px}@media(min-width:740px){.widget-wrapper .widget.left[data-v-8b03b208]{left:100%}.widget-wrapper .widget.right[data-v-8b03b208]{right:100%}.widget-wrapper .widget.bottom[data-v-8b03b208]{bottom:100%}.widget-wrapper .widget.top[data-v-8b03b208]{top:100%}}@media(max-width:740px){.widget-wrapper .widget[data-v-8b03b208]{left:0;right:0;top:5rem;margin:auto;position:fixed}}@media(max-width:380px){.widget-wrapper .widget[data-v-8b03b208]{left:1rem;right:1rem;width:auto}}.widget-wrapper .widget .close-button[data-v-8b03b208]{position:absolute;left:-12px;top:-12px;color:var(--color-text-primary);transition:all .2s ease-out}.widget-wrapper .widget .close-button[data-v-8b03b208]:hover{cursor:pointer;opacity:.7}.widget-wrapper .widget .close-button svg[data-v-8b03b208]{width:24px;height:24px}.widget-wrapper .widget .content[data-v-8b03b208]{padding:1rem .875rem;font-size:14px;font-weight:400}.widget-wrapper .widget .content>[data-v-8b03b208]{margin-bottom:1em;display:block}.widget-wrapper .widget .content h1[data-v-8b03b208],.widget-wrapper .widget .content h2[data-v-8b03b208],.widget-wrapper .widget .content h3[data-v-8b03b208]{font-weight:700}.widget-wrapper .widget .content h1[data-v-8b03b208]{font-size:1.3em}.widget-wrapper .widget .content h2[data-v-8b03b208]{font-size:1.2em}.widget-wrapper .widget .content h3[data-v-8b03b208]{font-size:1.1em}.widget-wrapper .widget .content ul[data-v-8b03b208]{padding-left:2em}.widget-wrapper .widget .content .video-wrapper[data-v-8b03b208]{position:relative;padding-bottom:56.25%;height:0}.widget-wrapper .widget .content .video-wrapper iframe[data-v-8b03b208]{position:absolute;top:0;left:0;width:100%;height:100%}.pop-up-enter-active[data-v-8b03b208]{transition:all .1s ease-out}.pop-up-leave-active[data-v-8b03b208]{transition:all .1s ease-in}.pop-up-enter[data-v-8b03b208],.pop-up-leave-to[data-v-8b03b208]{transform:translate(-2rem,-1rem) scale(.8);opacity:0}.print-item[data-v-4bb2d91a]{margin-bottom:10px}.prints-summary[data-v-4bb2d91a]{margin-bottom:var(--gap-between-blocks);border:1px solid var(--color-divider);border-radius:var(--border-radius-lg);padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:center}.prints-summary .summary-item[data-v-4bb2d91a]{display:flex;align-items:center;gap:1rem}.prints-summary .icon[data-v-4bb2d91a]{font-size:1.5rem;color:var(--color-divider)}.prints-summary .value[data-v-4bb2d91a]{font-weight:700}.prints-summary .btn[data-v-4bb2d91a]{display:inline-flex;gap:.5rem;align-items:center;justify-content:center}.prints-summary .btn .fa-arrow-right[data-v-4bb2d91a]{font-size:.8em}@media(max-width:768px){.prints-summary[data-v-4bb2d91a]{flex-direction:column;align-items:normal;gap:.25rem;padding:1rem}.prints-summary .summary-item[data-v-4bb2d91a]{gap:0}.prints-summary .summary-item .icon[data-v-4bb2d91a]{font-size:1rem;width:2rem;text-align:center}.prints-summary .summary-item .info[data-v-4bb2d91a]{flex:1;display:flex;justify-content:space-between}.prints-summary .btn-wrapper[data-v-4bb2d91a]{text-align:center}.prints-summary .btn[data-v-4bb2d91a]{margin-top:1rem;font-size:.875rem}}.actions-with-selected-desktop[data-v-4bb2d91a]{display:flex;align-items:center}.actions-with-selected-desktop .label[data-v-4bb2d91a]{cursor:pointer}.actions-with-selected-desktop[data-v-4bb2d91a] .custom-checkbox .custom-control-label:before{border-radius:var(--border-radius-xs)}.alert-wrapper[data-v-55bd9838]{border:1px solid var(--color-divider);border-radius:var(--border-radius-md);display:flex;align-items:center;padding:1em}.alert-wrapper .icon[data-v-55bd9838]{color:var(--color-divider)}.alert-wrapper .message[data-v-55bd9838]{margin:0;margin-left:.5em;line-height:1.3}@media(max-width:768px){.alert-wrapper[data-v-55bd9838]{font-size:.8rem}}.muted-alert[data-v-7397c062]{margin-bottom:var(--gap-between-blocks)}.stats-block[data-v-7397c062]{background-color:var(--color-surface-secondary);padding:1.75em 2.25em;border-radius:var(--border-radius-lg);height:280px;display:flex;flex-direction:column}.stats-block.bar-chart[data-v-7397c062]{height:auto}.stats-block.bar-chart .chart-wrapper[data-v-7397c062]{height:210px}@media(max-width:768px){.stats-block[data-v-7397c062]{padding:1.25em 1.5em}}.stats-block-title[data-v-7397c062]{font-size:1.125rem;color:var(--color-text-primary);font-weight:medium}.stats-block-title span[data-v-7397c062]{display:inline-block;margin-left:.5em}.stats-block-title i[data-v-7397c062]{color:var(--color-divider)}.print-time[data-v-7397c062]{justify-content:space-between}.print-time .title[data-v-7397c062]{font-size:1.125rem;color:var(--color-text-secondary)}.print-time .value[data-v-7397c062]{font-size:1.5rem;color:var(--color-text-primary)}.print-time .other-print-time-numbers[data-v-7397c062]{display:flex}.print-time .other-print-time-numbers .divider[data-v-7397c062]{width:1px;background-color:var(--color-divider);margin:0 2rem}.print-time .other-print-time-numbers .info .title[data-v-7397c062]{font-size:.875rem}.print-time .other-print-time-numbers .info .value[data-v-7397c062]{font-size:1.125rem}.total-prints .chart-wrapper[data-v-7397c062]{flex:1;display:flex;justify-content:space-between;align-items:center;gap:1rem}.total-prints .legend[data-v-7397c062]{display:flex;flex-direction:column;justify-content:center}.total-prints .line[data-v-7397c062]{display:flex;align-items:center;gap:.3rem;margin:.25rem 0}@media(max-width:768px){.total-prints .line[data-v-7397c062]{font-size:.875rem}}.total-prints .square[data-v-7397c062]{width:1.125rem;height:1.125rem;border-radius:var(--border-radius-xs);margin-right:.2rem}.total-prints .square.success[data-v-7397c062]{background-color:var(--color-success)}.total-prints .square.danger[data-v-7397c062]{background-color:var(--color-danger)}.total-prints .value[data-v-7397c062]{font-weight:700}.filament-used-groups .title-group[data-v-7397c062]{display:inline-flex;align-items:center;gap:.875rem}@media(max-width:768px){.filament-used-groups .title-group[data-v-7397c062]{margin-left:.5rem;flex-direction:column;align-items:flex-start;gap:0}.filament-used-groups .title-group .divider[data-v-7397c062]{display:none}.filament-used-groups .title-group span[data-v-7397c062]{margin-left:0}}.filament-used-groups .title-group .divider[data-v-7397c062]{width:1px;background-color:var(--color-divider);height:1.25rem}#title[data-v-465c0e04]{position:absolute;left:0;text-align:center;width:100%;top:50%}.obico-gauge-container[data-v-465c0e04]{position:relative;padding:0 16px}.obico-gauge-container .obico-gauge[data-v-465c0e04]{text-align:center;padding:8px;margin-bottom:-150px;pointer-events:none}.obico-gauge-container hr[data-v-465c0e04]{background-color:#ebebeb;height:1px;margin-top:15px}.print-card[data-v-5aae4a5a]{margin-top:var(--gap-between-blocks)}.print-card .card[data-v-5aae4a5a]{border-radius:var(--border-radius-lg);overflow:hidden}.card-header[data-v-5aae4a5a]{display:flex;flex-flow:row nowrap;justify-content:space-between;align-items:center}.seg-control-icon[data-v-5aae4a5a]{height:1.2rem;width:1.2rem}.seg-control-icon.double-hours-icon[data-v-5aae4a5a]{width:1.5rem}.feedback-section[data-v-5aae4a5a]{background-color:var(--color-surface-secondary)}.bounce-enter-active[data-v-5aae4a5a]{animation:bounce-in-5aae4a5a .5s}.bounce-leave-active[data-v-5aae4a5a]{animation:bounce-in-5aae4a5a .5s reverse}@keyframes bounce-in-5aae4a5a{0%{transform:scale(0)}50%{transform:scale(1.5)}to{transform:scale(1)}}.help-text[data-v-5aae4a5a]{line-height:1.2}.bg-warning.alert-banner[data-v-5aae4a5a]{position:static;display:block}.archived-info[data-v-5aae4a5a]{position:absolute;width:100%;z-index:10;bottom:0;left:0;background-color:rgba(0,0,0,.6);text-align:center;padding:10px 0}[data-v-5aae4a5a] .video-js,[data-v-5aae4a5a] .vjs-poster{background-color:#000}.poster-placeholder-wrapper[data-v-5aae4a5a]{height:250px;background-color:#000}.poster-placeholder-wrapper .poster-placeholder[data-v-5aae4a5a]{color:hsla(0,0%,100%,.2);width:100px;height:100px;position:absolute;left:calc(50% - 50px);top:calc(50% - 70px)}i.fas[data-v-5aae4a5a]{width:1em}.bg-warning.alert-banner[data-v-64113028]{position:static;display:block;padding:.3rem}.print-cards[data-v-7a698682]{margin-top:calc(var(--gap-between-blocks)*-1)}.menu-bar[data-v-7a698682]{background-color:var(--color-surface-secondary);padding:.75rem 1.25rem}#tl-fullscreen-modal .modal-full[data-v-7a698682]{max-width:100%}#tl-fullscreen-modal .modal-body[data-v-7a698682]{padding:0}#tl-fullscreen-modal .video-js[data-v-7a698682]{height:calc(100vh - 200px)}[data-v-7a698682] .btn-outline-secondary{color:var(--color-text-primary);border-color:var(--color-text-primary)}[data-v-7a698682] .btn-outline-secondary:hover{background:none;opacity:.8}.actions-with-selected-desktop[data-v-7a698682]{display:flex;align-items:center}.actions-with-selected-desktop .label[data-v-7a698682]{cursor:pointer}.actions-with-selected-desktop[data-v-7a698682] .actions-with-selected-btn{border-radius:0}.collapse-toggle[data-v-572cc95b]{width:100%;font-weight:700;display:flex;align-items:center;justify-content:center;gap:.5rem;background:none;border:none;color:var(--color-text-primary);margin-top:.5rem}.collapse-toggle svg[data-v-572cc95b]{transition:all .3s ease-in-out}.collapse-toggle svg.rotated[data-v-572cc95b]{transform:rotate(180deg)}.file[data-v-0991d3bd]{display:flex;flex-direction:column}.file-header[data-v-0991d3bd]{display:flex;align-items:center;gap:1rem}.file-header .info[data-v-0991d3bd]{flex:1}.file-header .icon[data-v-0991d3bd]{flex:0 0 2rem;text-align:center}.file-header .icon [data-v-0991d3bd]{font-size:2rem}.file-header .thumbnail-placeholder[data-v-0991d3bd],.file-header .thumbnail[data-v-0991d3bd]{width:100px;height:100px;border-radius:var(--border-radius-md);background-color:var(--color-surface-primary);display:flex;align-items:center;justify-content:center;overflow:hidden}.file-header .thumbnail-placeholder img[data-v-0991d3bd],.file-header .thumbnail img[data-v-0991d3bd]{height:100%;width:auto;border-radius:8px}.file-header .title[data-v-0991d3bd]{font-weight:700;font-size:1.25rem}.file-header .thumbnail-placeholder[data-v-0991d3bd]{position:relative;overflow:visible}.file-header .thumbnail-placeholder svg[data-v-0991d3bd]{width:3rem;height:3rem;color:var(--color-background)}.file-header .thumbnail-placeholder .help[data-v-0991d3bd]{position:absolute;top:4px;right:8px}.file-header.compact[data-v-0991d3bd]{gap:.7rem}.file-header.compact .thumbnail[data-v-0991d3bd]{width:52px;height:52px}.file-header.compact .title[data-v-0991d3bd]{font-size:1rem}.line[data-v-0991d3bd]{display:flex;align-items:center;justify-content:space-between;margin-bottm:6px;padding:6px 0;border-top:1px solid var(--color-divider-muted);gap:.5rem}.line .label[data-v-0991d3bd]{display:flex;align-items:center;flex:1;gap:.5rem;line-height:1.1}.line .label .icon[data-v-0991d3bd]{opacity:.5;width:1rem;text-align:center}.line .value[data-v-0991d3bd]{font-weight:700;text-align:right}@media(max-width:991px){.buttons-row[data-v-c7824f38]{margin-top:2em}}.heatmap-column[data-v-c7824f38]{display:flex;flex-direction:column;align-items:center}.heatmap-column .card[data-v-c7824f38]{background-color:var(--color-background);border-radius:var(--border-radius-lg)}.file-header[data-v-c7824f38]{display:flex;align-items:center;gap:1rem;padding-bottom:5px}.file-header .info[data-v-c7824f38]{flex:1}.file-header .icon[data-v-c7824f38]{flex:0 0 2rem;text-align:center}.file-header .icon [data-v-c7824f38]{font-size:2rem}.font-bold[data-v-c7824f38]{font-weight:700}.first-layer-report-info-line[data-v-c7824f38]{display:flex;align-items:center;justify-content:space-between;margin-bottm:6px;padding:6px 0;gap:.5rem;border-top:1px solid var(--color-divider-muted)}.first-layer-report-info-line[data-v-c7824f38]:first-of-type{border-top:none}.first-layer-report-info-line .label[data-v-c7824f38]{display:flex;align-items:center;flex:1;gap:.5rem;line-height:1.1}.first-layer-report-info-line .label .icon[data-v-c7824f38]{opacity:.5;width:1rem;text-align:center}.first-layer-report-info-line .value[data-v-c7824f38]{font-weight:700}.report-title[data-v-c7824f38]{padding-left:15px}.feedback-button[data-v-c7824f38]{border:1px solid var(--color-primary);display:block;text-align:center;border-radius:17px;padding:8px;color:var(--color-primary);background-color:transparent}.feedback-button[data-v-c7824f38]:hover{background-color:var(--color-hover)}hr[data-v-c7824f38]{width:100%;margin-top:7px;margin-bottom:7px}.notes-block[data-v-c7824f38]{background-color:var(--color-background);padding:1.5em;border-radius:var(--border-radius-lg);display:flex;flex-direction:column}.notes-block .title[data-v-c7824f38]{padding:0 1em}.notes-block .description[data-v-c7824f38]{padding:0 1em;font-size:.9em}.notes-block .description p[data-v-c7824f38]{margin:0}.notes-block .info[data-v-c7824f38]{padding:0 1em;font-size:.9em}.notes-block .info p[data-v-c7824f38]{margin:0}.notes-block .info ul[data-v-c7824f38]{margin:0 -15px}.notes-block .info ul li[data-v-c7824f38]{font-size:.9em}.file-block[data-v-c7824f38]{background-color:var(--color-background);padding:1.5em;border-radius:var(--border-radius-lg);display:flex;flex-direction:column}.file-block .title[data-v-c7824f38]{width:100%;display:flex;padding:0 1em;font-size:1.125rem;color:var(--color-text-primary);font-weight:medium}.file-block .title span[data-v-c7824f38]{margin-left:.5em}.file-block .title .icon[data-v-c7824f38]{flex:1;display:flex;align-items:center}.file-block .title .icon i[data-v-c7824f38]{font-size:2em}.file-block .title .info[data-v-c7824f38]{flex:15;font-size:1rem;grid-column:span 1}.file-block .title .info .file-size[data-v-c7824f38]{color:var(--color-divider)}.file-block .title .button[data-v-c7824f38]{display:flex;align-items:center;justify-content:flex-end}@media(max-width:768px){.file-block[data-v-c7824f38]{grid-template-columns:8% 60% 32%}}.file-block .first-layer-grade[data-v-c7824f38]{width:100%;display:flex;justify-content:space-between;align-items:center;padding:0 1em}.file-block .first-layer-grade .icon[data-v-c7824f38]{flex:1;display:flex;align-items:center;justify-content:center}.file-block .first-layer-grade .name[data-v-c7824f38]{flex:15}@media(max-width:768px){.file-block .first-layer-grade .name[data-v-c7824f38]{flex:11}}.file-block .first-layer-grade .status[data-v-c7824f38]{display:flex;justify-content:flex-end}.file-block .first-layer-print-time[data-v-c7824f38]{width:100%;display:flex;justify-content:space-between;padding:0 1em;grid-template-columns:3% 67% 30%}.file-block .first-layer-print-time .icon[data-v-c7824f38]{flex:1;display:flex;align-items:center;justify-content:center}.file-block .first-layer-print-time .name[data-v-c7824f38]{flex:18}@media(max-width:768px){.file-block .first-layer-print-time .name[data-v-c7824f38]{flex:15}}.file-block .first-layer-print-time .status[data-v-c7824f38]{display:flex;justify-content:flex-end}.file-block.bar-chart[data-v-c7824f38]{height:auto}.file-block.bar-chart .chart-wrapper[data-v-c7824f38]{height:210px}@media(max-width:768px){.file-block[data-v-c7824f38]{padding:1.25em 1.5em}}.dark-icon[data-v-c7824f38]{color:var(--color-divider)}.card-map[data-v-c7824f38]{border-radius:var(--border-radius-lg);background:#fff}@media(min-width:991px){.card-map[data-v-c7824f38]{max-width:490px}}.card-map .card-body[data-v-c7824f38]{padding:10%}.border-right[data-v-c7824f38]{border-right:1px solid #dee2e6}.transparent-button[data-v-c7824f38]{background-color:transparent;border-color:#007bff;color:#007bff}.transparent-button[data-v-c7824f38]:hover{background-color:rgba(0,123,255,.1)}@media(max-width:768px){.file-block-title[data-v-c7824f38]{grid-template-columns:7% 65% 28%}}@media(max-width:768px)and (max-width:1198px){.file-block-title[data-v-c7824f38]{grid-template-columns:7% 65% 28%}}.is-fullscreen[data-v-c7824f38]{position:fixed;top:0;left:0;bottom:0;right:0;z-index:9999;background-color:var(--color-background);display:flex;flex:1;order:1}.is-fullscreen[data-v-c7824f38] .video-js{height:100vh!important}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.carousel-active-tab{border:none!important;background-color:var(--color-background)!important}.carousel-tab{&:hover{background-color:var(--color-hover)}}div#carousal-modal{animation:swal2-show .3s!important}.modal-dialog.modal-lg,div#carousal-modal{transition:none!important}div#carousal-modal___BV_modal_outer_{z-index:1100!important}button.btn.feedback-button.btn-secondary{border:1px solid var(--color-primary)!important}.fade-enter-active[data-v-122a7196],.fade-leave-active[data-v-122a7196]{transition:opacity .5s}.fade-enter[data-v-122a7196],.fade-leave-to[data-v-122a7196]{opacity:0}.first-layer-info-column[data-v-122a7196]{display:flex;flex-direction:column;justify-content:space-between;height:240px;padding:0}@media(max-width:576px){.first-layer-info-column[data-v-122a7196]{height:auto;gap:1em}}@media(max-width:1198px)and (min-width:991px){.first-layer-info-column[data-v-122a7196]{height:auto;gap:1em}}.open-detailed-report-button[data-v-122a7196]{width:100%}.first-layer-report-block-video-container[data-v-122a7196]{display:flex;justify-content:flex-end;padding-right:0}@media(max-width:576px){.first-layer-report-block-video-container[data-v-122a7196]{padding:0;margin-top:1em;justify-content:center}}@media(max-width:577px)and (max-width:767px){.first-layer-report-block-video-container[data-v-122a7196]{padding:0 0 0 5px;justify-content:center}}@media(max-width:1198px)and (min-width:991px){.first-layer-report-block-video-container[data-v-122a7196]{margin-top:1em;padding:0;justify-content:center}}.heatmap-image-container[data-v-122a7196]{border-radius:var(--border-radius-lg);background:#fff;padding:32px}@media(max-width:576px){.heatmap-image-container[data-v-122a7196]{height:393px;width:100%;margin-top:1.4em}}@media(max-width:991px)and (min-width:577px){.heatmap-image-container[data-v-122a7196]{width:15em}}@media(max-width:1198px)and (min-width:992px){.heatmap-image-container[data-v-122a7196]{height:393px;width:100%;margin-top:.5em}}@media(min-width:1199px){.heatmap-image-container[data-v-122a7196]{width:15em}}.heatmap-image[data-v-122a7196]{border:1px solid #cac8c8;height:176px}@media(max-width:576px){.heatmap-image[data-v-122a7196]{height:330px;width:100%}}@media(max-width:1198px)and (min-width:991px){.heatmap-image[data-v-122a7196]{height:100%;width:100%}}.first-layer-print-time[data-v-122a7196]{width:100%;display:flex;justify-content:space-between;padding:0 1em;grid-template-columns:3% 67% 30%}.first-layer-print-time .icon[data-v-122a7196]{flex:1;display:flex;align-items:center;justify-content:center;opacity:.5}.first-layer-print-time .name[data-v-122a7196]{flex:12}@media(max-width:768px){.first-layer-print-time .name[data-v-122a7196]{flex:15}}.first-layer-print-time .status[data-v-122a7196]{display:flex;justify-content:flex-end}.first-layer-grade[data-v-122a7196]{width:100%;display:flex;justify-content:space-between;align-items:center;padding:0 1em}.first-layer-grade .icon[data-v-122a7196]{flex:1;display:flex;align-items:center;justify-content:center;opacity:.5}.first-layer-grade .name[data-v-122a7196]{flex:7}@media(max-width:768px){.first-layer-grade .name[data-v-122a7196]{flex:11}}.first-layer-grade .status[data-v-122a7196]{display:flex;justify-content:flex-end}.print-info[data-v-122a7196]{display:flex;flex-direction:column;gap:var(--gap-between-blocks)}.print-details[data-v-122a7196]{overflow:hidden;display:flex;flex-direction:column;gap:10px}.print-details .navigation-container[data-v-122a7196]{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:-1.5em;margin-bottom:.5em;padding:1em 1.5em;background-color:var(--color-surface-primary)}.print-details .navigation-container .btn[data-v-122a7196]{flex-shrink:0}.print-details .navigation-container .summary[data-v-122a7196]{text-align:center}@media(max-width:576px){.print-details .navigation-container .summary[data-v-122a7196]{display:none}}.print-details .info-line[data-v-122a7196]{display:flex;align-items:center;justify-content:space-between;margin-bottm:6px;padding:6px 0;gap:.5rem;border-top:1px solid var(--color-divider-muted)}.print-details .info-line[data-v-122a7196]:first-of-type{border-top:none}.print-details .info-line .label[data-v-122a7196]{display:flex;align-items:center;flex:1;gap:.5rem;line-height:1.1}.print-details .info-line .label .icon[data-v-122a7196]{opacity:.5;width:1rem;text-align:center}.print-details .info-line .value[data-v-122a7196]{font-weight:700}.first-layer-info-line[data-v-122a7196]{display:flex;align-items:center;justify-content:space-between;margin-bottm:6px;padding:6px 0;gap:.5rem;border-top:1px solid var(--color-divider-muted)}.first-layer-info-line[data-v-122a7196]:first-of-type{border-top:none}.first-layer-info-line .label[data-v-122a7196]{display:flex;align-items:center;flex:1;gap:.5rem;line-height:1.1}.first-layer-info-line .label .icon[data-v-122a7196]{opacity:.5;width:1rem;text-align:center}.first-layer-info-line .value[data-v-122a7196]{font-weight:700}.printer[data-v-122a7196]{display:flex;align-items:center;gap:.7rem;margin-bottom:var(--gap-between-blocks)}.printer .title[data-v-122a7196]{font-weight:700}.printer .info[data-v-122a7196]{flex:1}.printer .icon[data-v-122a7196]{flex:0 0 2rem;text-align:center}.printer .icon [data-v-122a7196]{font-size:2rem}.time-lapse .title[data-v-122a7196]{font-size:1.5rem;font-weight:400;margin-bottom:1rem}.time-lapse[data-v-122a7196] .card{border-radius:var(--border-radius-lg);border:none;background-color:var(--color-surface-secondary)}.time-lapse[data-v-122a7196] .nav-pills .nav-link{border-radius:var(--border-radius-sm)}.time-lapse[data-v-122a7196] .nav-pills .nav-link.active{background-color:var(--color-surface-primary)}.time-lapse[data-v-122a7196] .card-header{border-bottom:1px solid var(--color-divider-muted)}.video-wrapper[data-v-122a7196]{border-radius:var(--border-radius-md);overflow:hidden}.video-wrapper[data-v-122a7196] .video-js{height:500px!important}.video-wrapper[data-v-122a7196] video:focus-visible{outline:none!important;box-shadow:none!important;border:none!important}.detective-footer[data-v-122a7196]{margin-top:30px}.feedback-section[data-v-122a7196]{margin-top:30px;text-align:center}.about-feedback[data-v-122a7196]{max-width:600px;display:inline-block;margin-top:30px}.detective-placeholder[data-v-122a7196]{border-radius:var(--border-radius-md);overflow:hidden}.first-layer-video-wrapper.is-fullscreen[data-v-122a7196]{flex:1;order:1}.first-layer-video-wrapper.is-fullscreen[data-v-122a7196] .video-js{height:100vh!important}.is-fullscreen[data-v-122a7196]{position:fixed;top:0;left:0;bottom:0;right:0;z-index:9999;background-color:var(--color-background);padding:1rem;display:flex}.is-fullscreen .video-wrapper[data-v-122a7196]{flex:1;order:1}.is-fullscreen .video-wrapper[data-v-122a7196] .video-js{height:calc(100vh - 2rem)!important}.is-fullscreen .detective-footer[data-v-122a7196]{flex:0 0 200px;padding:0 1rem;display:flex;flex-direction:column;justify-content:center;position:relative}@media(max-width:996px){.is-fullscreen[data-v-122a7196]{flex-direction:column}.is-fullscreen .video-wrapper[data-v-122a7196]{order:0;flex:0 0 400px}.is-fullscreen .video-wrapper[data-v-122a7196] .video-js{height:400px!important}.is-fullscreen .detective-footer[data-v-122a7196]{flex:1}.is-fullscreen .detective-footer .feedback-section[data-v-122a7196]{display:none}}.is-fullscreen.original[data-v-122a7196]{padding:0}.is-fullscreen.original .video-wrapper[data-v-122a7196]{flex:1!important;border-radius:0}.is-fullscreen.original .video-wrapper[data-v-122a7196] .video-js{height:100vh!important}img.detective-working[data-v-13c6093e]{height:auto;width:12rem;border-radius:var(--border-radius-sm)}.webcam_container[data-v-7045853e]{width:100%;position:relative;outline:none;background-color:#000}.webcam_container .webcam_rotate_90[data-v-7045853e],.webcam_container .webcam_rotate_270[data-v-7045853e]{position:relative;width:100%;padding-bottom:100%}.webcam_container .webcam_rotate_90 .webcam_fixed_ratio[data-v-7045853e],.webcam_container .webcam_rotate_270 .webcam_fixed_ratio[data-v-7045853e]{display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.webcam_container .webcam_rotate_90 .webcam_fixed_ratio .webcam_fixed_ratio_inner.ontop[data-v-7045853e],.webcam_container .webcam_rotate_270 .webcam_fixed_ratio .webcam_fixed_ratio_inner.ontop[data-v-7045853e]{position:relative;top:0}.webcam_container .webcam_rotate_0 .webcam_fixed_ratio[data-v-7045853e],.webcam_container .webcam_rotate_180 .webcam_fixed_ratio[data-v-7045853e]{width:100%;padding-bottom:100%;position:relative}.webcam_container .webcam_rotate_0 .webcam_fixed_ratio.ratio43[data-v-7045853e],.webcam_container .webcam_rotate_180 .webcam_fixed_ratio.ratio43[data-v-7045853e]{padding-bottom:75%}.webcam_container .webcam_rotate_0 .webcam_fixed_ratio.ratio169[data-v-7045853e],.webcam_container .webcam_rotate_180 .webcam_fixed_ratio.ratio169[data-v-7045853e]{padding-bottom:56.25%}.webcam_container .webcam_rotate_0 .webcam_fixed_ratio.ratio1610[data-v-7045853e],.webcam_container .webcam_rotate_180 .webcam_fixed_ratio.ratio1610[data-v-7045853e]{padding-bottom:62.5%}.webcam_container .webcam_rotate_0 .webcam_fixed_ratio .webcam_fixed_ratio_inner[data-v-7045853e],.webcam_container .webcam_rotate_180 .webcam_fixed_ratio .webcam_fixed_ratio_inner[data-v-7045853e]{position:absolute;top:0;bottom:0;left:0;right:0}.webcam_container img[data-v-7045853e],.webcam_container video[data-v-7045853e]{-o-object-fit:contain;object-fit:contain;transition:all .3s cubic-bezier(.25,.8,.25,1);width:100%;height:100%;z-index:auto}.centered-element[data-v-7045853e]{position:absolute;width:3rem;height:3rem;top:calc(50% - 1.5rem);left:calc(50% - 1.5rem);z-index:99}.overlay-info[data-v-7045853e]{position:absolute;right:0;top:0;z-index:99;background-color:rgba(0,0,0,.5);padding:4px 8px}.streaming-info[data-v-7045853e]{text-align:right}.streaming-info.clickable[data-v-7045853e]{cursor:pointer}.streaming-guide[data-v-7045853e]{left:0;display:flex;justify-content:space-between;cursor:pointer}@media(max-width:576px){.streaming-guide[data-v-7045853e]{font-size:.8rem}}.streaming-guide:hover .learn-more[data-v-7045853e]{color:var(--color-primary-hover)}.slow-link-wrapper[data-v-7045853e]{position:absolute;height:24px;z-index:10;background-color:rgba(0,0,0,.2);border-radius:24px;top:10px;left:10px;padding-left:24px;line-height:24px;font-size:14px;width:auto}.slow-link-wrapper[data-v-7045853e]:hover{cursor:pointer}.slow-link-wrapper .text[data-v-7045853e]{width:0;height:24px;overflow:hidden;text-align:center;opacity:0}.slow-link-wrapper .text.show-and-hide[data-v-7045853e]{animation-name:showAndHideText-7045853e;animation-duration:3s}.slow-link-wrapper .text.showing[data-v-7045853e]{animation-name:showText-7045853e;animation-duration:.4s;animation-fill-mode:forwards}.slow-link-wrapper .text.hiding[data-v-7045853e]{animation-name:hideText-7045853e;animation-duration:.4s;animation-fill-mode:forwards}@keyframes showText-7045853e{0%{opacity:0}99%{width:160px;padding-right:10px;opacity:0}to{width:160px;padding-right:10px;opacity:1}}@keyframes hideText-7045853e{0%{opacity:1}1%{opacity:0}to{width:0;padding-right:0;opacity:0}}@keyframes showAndHideText-7045853e{0%{width:0;opacity:0}19%{width:160px;padding-right:10px;opacity:0}20%{opacity:1}80%{opacity:1;width:160px;padding-right:10px}81%{opacity:0}to{width:0;padding-right:0;opacity:0}}.slow-link-wrapper .icon[data-v-7045853e]{width:20px;height:20px;border-radius:10px;position:absolute;top:2px;left:2px;font-size:12px;line-height:20px;text-align:center;color:var(--color-on-warning)}.muted-status-wrapper[data-v-7045853e]{position:absolute;width:100%;z-index:10;bottom:0;left:0;background-color:var(--color-overlay);text-align:center;padding:10px 0}.poster-placeholder[data-v-7045853e]{color:hsla(0,0%,100%,.2);width:100px;height:100px;position:absolute;left:calc(50% - 50px);top:calc(50% - 50px)}.extra-controls[data-v-7045853e]{position:absolute;display:flex;flex-direction:row;right:0;bottom:0;padding:.5rem}.extra-controls .video-control-btn[data-v-7045853e]{width:2rem;height:2rem;margin:.1rem;border-radius:999px;background-color:var(--color-overlay);color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center}.extra-controls .video-control-btn[data-v-7045853e]:hover{color:var(--color-text-primary);cursor:pointer}.temp-item[data-v-6371ef1e]{display:flex;width:100%;background-color:var(--color-background);padding:.8125rem;border-radius:var(--border-radius-md);gap:1rem;align-items:center}.temp-item.editable[data-v-6371ef1e]{cursor:pointer}.icon[data-v-6371ef1e]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background-color:var(--color-primary);color:var(--color-on-primary);border-radius:var(--border-radius-sm)}.icon svg[data-v-6371ef1e]{width:20px;height:20px;color:var(--color-on-primary)}.value-wrapper[data-v-6371ef1e]{margin-left:auto;display:flex;gap:.375rem}.value[data-v-6371ef1e]{font-weight:700}.target[data-v-6371ef1e]{color:var(--color-text-secondary)}.wrapper[data-v-a51f3d38]{display:flex;flex-direction:column;align-items:center;gap:.825rem;padding:1rem 0 1rem}.slidecontainer[data-v-3dcc12a9]{width:100%}.slider[data-v-3dcc12a9]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:5px;background:var(--color-input-background);outline:none;border:none}.slider[data-v-3dcc12a9]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:25px;height:25px;border-radius:50%;background:var(--color-text-primary);cursor:pointer;border:none}.slider[data-v-3dcc12a9]::-moz-range-thumb{width:25px;height:25px;border-radius:50%;background:var(--color-text-primary);cursor:pointer;border:none}hr[data-v-1f31c9c1]{background-color:var(--color-divider)}.shared-link-text[data-v-1f31c9c1]{color:var(--text-primary)!important;height:40px;border-color:var(--color-divider);background-color:var(--color-input-background)!important}.copy-button[data-v-1f31c9c1]{color:var(--color-primary);border:2px solid var(--color-primary);border-radius:0 var(--border-radius-sm) var(--border-radius-sm) 0;background-color:transparent;display:inline-flex;align-items:center;justify-content:center;padding:0 .75rem;font-size:1rem;line-height:1.5}.copy-button[data-v-1f31c9c1]:hover{background-color:var(--color-primary);color:var(--color-on-primary);cursor:pointer}.widget[data-v-922c39c0]{position:relative;background-color:var(--color-surface-secondary);border-radius:var(--border-radius-md);margin-bottom:15px}.widget[data-v-922c39c0]:last-of-type{margin-bottom:0}.widget .widget-title[data-v-922c39c0]{padding:6px 12px;font-size:14px;color:var(--color-text-secondary)}.widget .widget-content[data-v-922c39c0]{padding:1.5rem 2rem 1rem}@media(max-width:510px){.widget .widget-content[data-v-922c39c0]{padding:1rem 1rem .5rem}}.widget.insideCard[data-v-922c39c0]{margin-bottom:0;border-radius:0;border-bottom:1px solid var(--color-divider)}.widget.insideCard .widget-title[data-v-922c39c0]{display:none}.widget.insideCard .widget-content[data-v-922c39c0]{padding-bottom:0}.search-wrapper[data-v-33fc3084]{position:relative}.search-wrapper .search-icon[data-v-33fc3084]{height:100%;display:flex;flex-direction:column;justify-content:center;position:absolute;top:0;left:.5em;opacity:.8}.search-wrapper input[data-v-33fc3084]{padding:.2em .5em .2em 2em;width:100%;height:100%;font-size:16px}.input-lg[data-v-47badcdc],.input-lg[data-v-bc4fae7e]{height:3rem;padding:.5rem 1rem;width:100%}.item[data-v-ad2c3ac6]{display:flex;align-items:center;padding:.6em 1em;border-bottom:1px solid var(--color-divider-muted)}.item[data-v-ad2c3ac6]:last-child{border-bottom:none}.item[data-v-ad2c3ac6]:hover{cursor:pointer;background-color:var(--color-hover)}.item.disabled[data-v-ad2c3ac6]{opacity:.5}.item.disabled[data-v-ad2c3ac6]:hover{cursor:default;background-color:transparent}.item.move-modal .item-info .size[data-v-ad2c3ac6]{text-align:right}.item .item-info[data-v-ad2c3ac6]{display:flex;width:100%;overflow:hidden;flex:1;font-size:.875rem;color:var(--color-text-secondary)}.item .item-info>div[data-v-ad2c3ac6]{flex:1;margin-left:30px}.item .item-info>div[data-v-ad2c3ac6]:first-child{font-size:1rem;color:var(--color-text-primary);margin-left:0}.item .item-info .thumbnail-wrapper[data-v-ad2c3ac6]{flex:0 0 32px;display:inline-flex;height:32px;border-radius:var(--border-radius-xs);background-color:var(--color-surface-primary);overflow:hidden;align-items:center;justify-content:center}.item .item-info .thumbnail-wrapper .thumbnail[data-v-ad2c3ac6]{width:100%;height:100%}.item .item-info .thumbnail-wrapper .thumbnail img[data-v-ad2c3ac6]{height:100%;width:auto}.item .item-info .thumbnail-wrapper.folder[data-v-ad2c3ac6]{background:none;font-size:1.25em}.item .item-info .filename[data-v-ad2c3ac6]{display:flex;align-items:center;gap:.5rem;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;width:100%;flex:3}.item .remove-button[data-v-ad2c3ac6]{width:30px;height:30px;text-align:center;line-height:30px;border-radius:50%;transition:background-color .2s ease-out}.item .remove-button[data-v-ad2c3ac6]:hover{background-color:var(--color-danger);color:var(--color-on-primary);cursor:pointer}@media(max-width:768px){.item[data-v-ad2c3ac6]{margin:0 -16px}.item .item-info[data-v-ad2c3ac6]{flex-direction:column;align-items:flex-start}.item .item-info>div[data-v-ad2c3ac6]{margin-left:0}.item .item-info .size[data-v-ad2c3ac6]:before{content:"Size: "}.item .item-info .uploaded[data-v-ad2c3ac6]:before{content:"Uploaded: "}.item .item-info .created[data-v-ad2c3ac6]:before{content:"Created: "}.item .item-info .last-printed[data-v-ad2c3ac6]:before{content:"Last print: "}}.circle-indicator[data-v-ad2c3ac6]{--size:6px;width:var(--size);height:var(--size);border-radius:var(--size);display:inline-block;margin-left:5px;position:relative;bottom:1px;background:var(--color-text-secondary)}.circle-indicator.cancelled[data-v-ad2c3ac6]{background:var(--color-danger)}.circle-indicator.finished[data-v-ad2c3ac6]{background:var(--color-success)}.checkbox-wrapper[data-v-ad2c3ac6]{display:flex;align-items:flex-start;justify-content:flex-end;margin-left:-.5rem;margin-right:.5rem}.checkbox-wrapper[data-v-ad2c3ac6] .custom-checkbox .custom-control-label:before{border-radius:var(--border-radius-xs);border-color:var(--color-divider)}.checkbox-wrapper.isSelected[data-v-ad2c3ac6] .custom-checkbox .custom-control-label:before{border-color:#00c4b4}@media(max-width:576px){.checkbox-wrapper[data-v-ad2c3ac6]{display:none}}.gcodes-wrapper[data-v-254b72e8]{background-color:var(--color-surface-secondary);padding:1em 2em;border-radius:var(--border-radius-lg)}.gcodes-wrapper.is-move-modal[data-v-254b72e8]{padding:0;border-radius:0}.header-panel[data-v-254b72e8]{display:flex;padding:1em calc(1em + 30px) 1em 1em;border-bottom:1px solid var(--color-divider);font-weight:700}.header-panel.without-action-buttons[data-v-254b72e8]{padding-right:1em}.header-panel>div[data-v-254b72e8]{flex:1;display:flex;justify-content:space-between;margin-left:30px;align-items:center;font-size:1rem}.header-panel>div[data-v-254b72e8]:first-child{margin-left:0;flex:3}@media(max-width:768px){.header-panel[data-v-254b72e8]{display:none}}.placeholder[data-v-254b72e8]{margin:5rem 0;text-align:center}.placeholder.text-secondary [data-v-254b72e8]{color:var(--color-text-secondary)}.title[data-v-3ff54ded]{display:flex;align-items:center}.title .icon-btn[data-v-3ff54ded]{padding-top:0;padding-bottom:0;padding-left:0}#b-modal-confirm-delete .modal-body{font-size:1.125rem;text-align:center}#b-modal-confirm-delete .modal-footer{justify-content:center}.upload-box[data-v-5d00d77d]{margin-bottom:var(--gap-between-blocks)!important}.search-input[data-v-5d00d77d]{height:30px}.search-input input[data-v-5d00d77d]{background-color:var(--color-surface-secondary);border:var(--color-surface-secondary)}.notice-block[data-v-5d00d77d]{border:1px solid var(--color-divider);border-radius:var(--border-radius-md);display:flex;align-items:center;padding:1rem 1.5rem;margin-bottom:var(--gap-between-blocks)}.notice-block .message[data-v-5d00d77d]{margin:0;margin-left:1rem}.actions-with-selected-desktop[data-v-5d00d77d]{display:flex;align-items:center;margin-right:1rem}.actions-with-selected-desktop .label[data-v-5d00d77d]{cursor:pointer}.actions-with-selected-desktop[data-v-5d00d77d] .custom-checkbox .custom-control-label:before{border-radius:var(--border-radius-xs)}@media(max-width:576px){.actions-with-selected-desktop[data-v-5d00d77d]{display:none}}.printer-item[data-v-77186cca]{display:flex;align-items:center;text-align:left;border-radius:var(--border-radius-sm);border:1px solid var(--color-divider);margin-bottom:.5rem;padding:.75rem}.printer-item[data-v-77186cca]:hover{background-color:var(--color-hover);cursor:pointer}.selected-indicator[data-v-77186cca]{--size:0.875rem;width:var(--size);height:var(--size);border-radius:var(--size);border:1px solid var(--color-text-secondary);margin-right:.5rem}.printer-item.active[data-v-77186cca]{background-color:var(--color-hover)}.printer-item.active .selected-indicator[data-v-77186cca]{border-color:var(--color-text-primary);border-width:3px}.printer-name[data-v-77186cca]{flex:1}.printer-status[data-v-77186cca]{font-size:.875rem;margin-left:.5rem}.btn[data-v-77186cca]{max-width:100%}.warning-block[data-v-0d6b7614]{margin-bottom:var(--gap-between-blocks)}.available-printers[data-v-0d6b7614]{margin-top:var(--gap-between-blocks)}.available-printers.full-width[data-v-0d6b7614]{margin-top:15px}.print-history.full-width[data-v-0d6b7614]{margin-top:30px}@media(max-width:991px){.print-history[data-v-0d6b7614]{margin-top:30px}}.file-name[data-v-0d6b7614]{font-size:1.25rem;margin-bottom:1rem;border-bottom:1px solid var(--color-divider);padding-bottom:1rem}.file-info-line[data-v-0d6b7614]{display:flex;justify-content:space-between;margin-bottom:.5rem}.file-info-line i[data-v-0d6b7614]{margin-right:.375rem}.file-info-line .value[data-v-0d6b7614]{font-weight:700}.section-title[data-v-0d6b7614]{font-size:1.25rem;margin-bottom:.5rem}.print-item[data-v-0d6b7614]{margin-bottom:10px}.wrapper[data-v-c7deff6e]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-bottom:2rem;gap:1rem}@media(max-width:480px){.wrapper[data-v-c7deff6e]{height:auto}}.error-container[data-v-c7deff6e],.warning-container[data-v-c7deff6e]{width:100%;background-color:var(--color-danger);color:var(--color-on-danger);padding:1rem;border-radius:var(--border-radius-sm);text-align:center;font-weight:400;margin-bottom:1rem}.error-container .title[data-v-c7deff6e],.warning-container .title[data-v-c7deff6e]{font-size:1rem;font-weight:700;margin-bottom:.5rem}.error-container p[data-v-c7deff6e],.warning-container p[data-v-c7deff6e]{font-size:1rem;font-weight:400}.error-container.warning-container[data-v-c7deff6e],.warning-container.warning-container[data-v-c7deff6e]{background-color:var(--color-warning);color:var(--color-on-warning)}p[data-v-c7deff6e]{margin:0;font-size:1.125rem;text-align:center}.buttons[data-v-c7deff6e]{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:.5rem;flex-wrap:wrap}.big-icon[data-v-c7deff6e]{font-size:2rem}.big-icon.warning[data-v-c7deff6e]{color:var(--color-warning)}.big-icon.danger[data-v-c7deff6e]{color:var(--color-danger)}.custom-svg-icon[data-v-c7deff6e]{height:1.125rem;width:1.125rem}.card[data-v-88cd84ac]{border-radius:var(--border-radius-lg);overflow:hidden}.card .setting-item[data-v-88cd84ac]{border-bottom:none!important}.menu-icon[data-v-88cd84ac]{width:20px;height:20px;margin-right:6px}.printer-list-page .consider-upgrade[data-v-fb278c80]{margin-bottom:var(--gap-between-blocks)}.printer-list-page .printer-cards[data-v-fb278c80]{margin-top:calc(var(--gap-between-blocks)*-1)}.printer-list-page .bottom-messages[data-v-fb278c80],.printer-list-page .printer-card-wrapper[data-v-fb278c80]{margin-top:var(--gap-between-blocks)}.printer-list-page .warning[data-v-fb278c80]{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:center}.printer-list-page .warning .warning-action[data-v-fb278c80]{padding:.25em 0;margin-left:auto;margin:0 5px 0 5px;cursor:pointer}.btn.hours-btn[data-v-fb278c80]{position:relative;color:var(--color-text-primary)}.btn.hours-btn .badge[data-v-fb278c80]{position:absolute;left:18px;top:4px;border-radius:var(--border-radius-sm);background-color:var(--color-primary);height:auto;font-size:.625rem}.custom-svg-icon[data-v-fb278c80]{height:1.3rem;width:1.3rem}[data-v-fb278c80] .dropdown-item .clickable-area{margin:-.25rem -1.5rem;padding:.25rem 1.5rem}div[id^=b-modal-gcodes] .modal-header{display:none}div[id^=b-modal-gcodes] .modal-body{padding:0}div[id^=b-modal-gcodes] .modal-footer{display:none}#new-printer{min-height:25em}#new-printer .new-printer-container{display:flex;flex-flow:column;align-items:center;justify-content:center;margin-top:6em}#new-printer .new-printer-container a{text-align:center;border:thin dashed;color:var(--color-primary);border-color:var(--color-primary);padding:4em 3em;border-radius:var(--border-radius-lg)}#new-printer .new-printer-container a:hover{text-decoration:none;background-color:var(--color-hover)}#new-printer .new-printer-container .icon{width:2rem;height:2rem;margin-bottom:1rem}[data-v-371280d8] .navbar{padding:.5rem 1rem}[data-v-371280d8] .navbar a.navbar-brand{margin-top:-3px}[data-v-371280d8] .navbar .navbar-toggler{color:var(--color-text-primary)}[data-v-371280d8] .navbar .nav-item{text-transform:uppercase}[data-v-371280d8] .navbar .user-menu{text-transform:none}[data-v-371280d8] .navbar .badge-btn{position:relative;height:1.8rem;margin-right:1.5em}[data-v-371280d8] .navbar .badge-btn img{height:1.3rem}[data-v-371280d8] .navbar .badge-btn .badge{position:absolute;left:22px;top:1px;height:18px;border-radius:4px;transition:transform .2s}[data-v-371280d8] .navbar .badge-btn .badge:hover{transform:scale(1.3)}@media(min-width:1200px){[data-v-371280d8] .navbar{padding:0 1rem}[data-v-371280d8] .navbar .nav-item{padding:.5rem .24rem}}#printer-list-page[data-v-1dd34976]{margin-top:1.5rem}.printer-card[data-v-1dd34976]{margin-bottom:1.5rem}.failed-to-save[data-v-2e4df370]:before,.saving-in-progress[data-v-2e4df370]:before,.successfully-saved[data-v-2e4df370]:before{content:"";background-size:16px 16px;width:16px;height:16px;display:block;position:absolute;top:0;bottom:0;right:-28px;margin:auto;z-index:9}.failed-to-save.saving-in-progress[data-v-2e4df370],.saving-in-progress.saving-in-progress[data-v-2e4df370],.successfully-saved.saving-in-progress[data-v-2e4df370]{position:relative}.failed-to-save.saving-in-progress[data-v-2e4df370]:before,.saving-in-progress.saving-in-progress[data-v-2e4df370]:before,.successfully-saved.saving-in-progress[data-v-2e4df370]:before{background-image:var(--url-loader)}.failed-to-save.successfully-saved[data-v-2e4df370],.saving-in-progress.successfully-saved[data-v-2e4df370],.successfully-saved.successfully-saved[data-v-2e4df370]{position:relative}.failed-to-save.successfully-saved[data-v-2e4df370]:before,.saving-in-progress.successfully-saved[data-v-2e4df370]:before,.successfully-saved.successfully-saved[data-v-2e4df370]:before{background-image:url(/static/img/tick.svg)}.failed-to-save.failed-to-save[data-v-2e4df370],.saving-in-progress.failed-to-save[data-v-2e4df370],.successfully-saved.failed-to-save[data-v-2e4df370]{position:relative}.failed-to-save.failed-to-save[data-v-2e4df370]:before,.saving-in-progress.failed-to-save[data-v-2e4df370]:before,.successfully-saved.failed-to-save[data-v-2e4df370]:before{background-image:url(/static/img/cross.svg)}.input-group.input-wrapper[data-v-66233dc0]{border-radius:var(--border-radius-sm);overflow:hidden;border:1px solid var(--color-divider)}.input-group.input-wrapper .control-button[data-v-66233dc0]{border:none}.input-group.input-wrapper .btn-outline-secondary[data-v-66233dc0]{background-color:var(--color-input-background)}.input-group.input-wrapper .btn-outline-secondary[data-v-66233dc0]:active,.input-group.input-wrapper .btn-outline-secondary[data-v-66233dc0]:focus,.input-group.input-wrapper .btn-outline-secondary[data-v-66233dc0]:hover{color:var(--color-text-primary);background-color:var(--color-input-background);opacity:.8;outline:none;box-shadow:none!important;border:none}.input-group.input-wrapper input.form-control[data-v-66233dc0]{background-color:var(--color-input-background);color:var(--color-text-primary);width:6rem;border:none;border-left:2px solid var(--color-divider);border-right:2px solid var(--color-divider)}.vue-slider-disabled[data-v-3d5060ec]{opacity:.5;cursor:not-allowed}.vue-slider-rail[data-v-3d5060ec]{background-color:#ccc;border-radius:15px}.vue-slider-process[data-v-3d5060ec]{background-color:#3498db;border-radius:15px}.vue-slider-mark[data-v-3d5060ec]{z-index:4}.vue-slider-mark:first-child .vue-slider-mark-step[data-v-3d5060ec],.vue-slider-mark:last-child .vue-slider-mark-step[data-v-3d5060ec]{display:none}.vue-slider-mark-step[data-v-3d5060ec]{width:100%;height:100%;border-radius:50%;background-color:rgba(0,0,0,.16)}.vue-slider-mark-label[data-v-3d5060ec]{font-size:14px;white-space:nowrap}.vue-slider-dot-handle[data-v-3d5060ec]{cursor:pointer;width:100%;height:100%;border-radius:50%;background-color:#fff;box-sizing:border-box;box-shadow:.5px .5px 2px 1px rgba(0,0,0,.32)}.vue-slider-dot-handle-focus[data-v-3d5060ec]{box-shadow:0 0 1px 2px rgba(52,152,219,.36)}.vue-slider-dot-handle-disabled[data-v-3d5060ec]{cursor:not-allowed;background-color:#ccc}.vue-slider-dot-tooltip-inner[data-v-3d5060ec]{font-size:14px;white-space:nowrap;padding:2px 5px;min-width:20px;text-align:center;color:#fff;border-radius:5px;border-color:#3498db;background-color:#3498db;box-sizing:content-box}.vue-slider-dot-tooltip-inner[data-v-3d5060ec]:after{content:"";position:absolute}.vue-slider-dot-tooltip-inner-top[data-v-3d5060ec]:after{top:100%;left:50%;transform:translate(-50%);height:0;width:0;border-color:transparent;border-style:solid;border-width:5px;border-top-color:inherit}.vue-slider-dot-tooltip-inner-bottom[data-v-3d5060ec]:after{bottom:100%;left:50%;transform:translate(-50%);height:0;width:0;border-color:transparent;border-style:solid;border-width:5px;border-bottom-color:inherit}.vue-slider-dot-tooltip-inner-left[data-v-3d5060ec]:after{left:100%;top:50%;transform:translateY(-50%);height:0;width:0;border-color:transparent;border-style:solid;border-width:5px;border-left-color:inherit}.vue-slider-dot-tooltip-inner-right[data-v-3d5060ec]:after{right:100%;top:50%;transform:translateY(-50%);height:0;width:0;border-color:transparent;border-style:solid;border-width:5px;border-right-color:inherit}.vue-slider-dot-tooltip-wrapper[data-v-3d5060ec]{opacity:0;transition:all .3s}.vue-slider-dot-tooltip-wrapper-show[data-v-3d5060ec]{opacity:1}.card[data-v-3d5060ec]{overflow:visible!important}.custom-control-label[data-v-3d5060ec]{font-size:16px}@media(max-width:768px){.mobile-full-width[data-v-3d5060ec]{width:100%;margin-top:.25em;margin-bottom:.4em}}.section-title[data-v-3d5060ec]{padding-bottom:10px;border-bottom:1px solid var(--color-text-primary)}.form-label[data-v-3d5060ec]{font-size:18px}section.danger .section-title[data-v-3d5060ec]{color:var(--color-danger);border-color:var(--color-danger)}.form-inline .wrappable-field[data-v-3d5060ec]{margin-left:1.5rem} /*! * Bootstrap v4.6.2 (https://getbootstrap.com/) * Copyright 2011-2022 The Bootstrap Authors diff --git a/frontend/builds/frontend/js/root.js b/frontend/builds/frontend/js/root.js index b28dc97fa..1e69c23e2 100644 --- a/frontend/builds/frontend/js/root.js +++ b/frontend/builds/frontend/js/root.js @@ -1,2 +1,2 @@ -(function(e){function t(t){for(var n,a,o=t[0],l=t[1],c=t[2],d=0,u=[];dObject(l["b"])(),d=c(),u={en:{translation:{...a,...s}},zh:{translation:{...r,...o}}};n["a"].init({resources:u,lng:d,fallbackLng:["en"],interpolation:{escapeValue:!1},debug:!0,nsSeparator:!1}),t["a"]=n["a"]},"0714":function(e,t,i){"use strict";i("191b")},"071c":function(e,t,i){"use strict";i("9527")},"0886":function(e,t,i){e.exports=i.p+"img/klipperScreenMenu.png"},"092e":function(e,t,i){},"0b8b":function(e,t,i){},"0c5c":function(e,t,i){"use strict";i("b6d2")},"0dce":function(e,t,i){"use strict";i("5062")},"0ecc":function(e,t,i){e.exports=i.p+"img/bubbling-2.jpg"},"0eda":function(e,t,i){"use strict";i("214e")},"0f37":function(e,t,i){},"0f6a":function(e,t,i){"use strict";i("f8c9")},"0fb5":function(e,t,i){"use strict";i.d(t,"d",(function(){return s})),i.d(t,"a",(function(){return o})),i.d(t,"b",(function(){return l})),i.d(t,"c",(function(){return c}));var n=i("a026"),a=i("6c44"),r=i("59cf");const s=n["default"].observable({value:r["c"]});function o(){return Object(r["b"])(s)}function l(){return Object(r["d"])(o(),n["default"].prototype.$syndicate)}function c(e){s.value=e,Object(a["a"])()&&localStorage.setItem("colorTheme",s.value),l(n["default"].prototype.$syndicate)}},"0fcf":function(e,t,i){},1:function(e,t){},"11cb":function(e,t,i){"use strict";i("e4df")},1279:function(e,t,i){"use strict";i("30de")},"139b":function(e,t,i){},"141f":function(e,t,i){},1705:function(e,t,i){"use strict";i("2e60")},"17ae":function(e,t,i){var n={"./DiscordPlugin":["0f1e","chunk-148bd346"],"./DiscordPlugin.vue":["0f1e","chunk-148bd346"],"./EmailPlugin":["c308","chunk-97991682"],"./EmailPlugin.vue":["c308","chunk-97991682"],"./PushbulletPlugin":["1cfc","chunk-21c3a10b"],"./PushbulletPlugin.vue":["1cfc","chunk-21c3a10b"],"./PushoverPlugin":["46f8","chunk-747d5350"],"./PushoverPlugin.vue":["46f8","chunk-747d5350"],"./SlackPlugin":["ff58","chunk-5b348ede"],"./SlackPlugin.vue":["ff58","chunk-5b348ede"],"./TelegramPlugin":["814e","chunk-4735cf0b"],"./TelegramPlugin.vue":["814e","chunk-4735cf0b"],"./TwilioPlugin":["e2bc","chunk-44a38aaa"],"./TwilioPlugin.vue":["e2bc","chunk-44a38aaa"],"./WebhookPlugin":["e920","chunk-4c6d5824"],"./WebhookPlugin.vue":["e920","chunk-4c6d5824"]};function a(e){if(!i.o(n,e))return Promise.resolve().then((function(){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}));var t=n[e],a=t[0];return i.e(t[1]).then((function(){return i(a)}))}a.keys=function(){return Object.keys(n)},a.id="17ae",e.exports=a},"18bd":function(e,t,i){},"191b":function(e,t,i){},"1c3a":function(e,t,i){e.exports=i.p+"img/moonraker_verification_code.png"},"1c9d":function(e,t,i){"use strict";i.d(t,"c",(function(){return a})),i.d(t,"a",(function(){return r})),i.d(t,"f",(function(){return s})),i.d(t,"d",(function(){return o})),i.d(t,"e",(function(){return l})),i.d(t,"b",(function(){return c}));const n=()=>JSON.parse(document.querySelector("#page-context-json").text),a=()=>n()["app_platform"],r=()=>""!==a(),s=()=>JSON.parse(document.querySelector("#user-json").text),o=()=>JSON.parse(document.querySelector("#settings-json").text),l=()=>n()["syndicate"],c=()=>n()["language"]},"1cd0":function(e,t,i){},"1e2a":function(e,t,i){},"1f6a":function(e,t,i){e.exports=i.p+"img/mainsail_logo.png"},"214e":function(e,t,i){},"21a3":function(e,t,i){e.exports=i.p+"img/gaps-1.jpg"},"222b":function(e,t,i){e.exports=i.p+"img/octopod.webp"},"262b":function(e,t,i){"use strict";i("1e2a")},"26d7":function(e,t,i){},2814:function(e,t,i){e.exports=i.p+"img/install_plugin.png"},"295c":function(e,t,i){"use strict";i("092e")},"2a20":function(e,t,i){},"2bcb":function(e,t,i){},"2bfb":function(e,t,i){},"2c72":function(e,t,i){},"2e15":function(e){e.exports=JSON.parse('{"Printers":"打印机","Print History":"打印历史","G-Codes":"G-代码","Pricing":"定价","Help":"帮助","SIGN IN":"登录","SIGN UP":"注册","Preferences":"偏好设置","Log out":"登出","Welcome To":"欢迎来到","Your three-month Pro Plan Is Now Active":"您的三个月专业计划现已生效","Unlimited Premium Webcam Streaming":"无限制的高级网络摄像头流媒体","Unlimited AI Failure Detection":"无限AI故障检测","G-Code Remote Uploading and Printing":"G代码远程上传和打印","Unlimited Secure Tunnel to OctoPrint/Klipper":"无限安全隧道至OctoPrint/Klipper","Go To Printer Control Page":"转至打印机控制页面","Sign Up or Sign in to Your Obico Account":"注册或登录您的 Obico 帐户","And get instant access to":"并立即访问","Signup/Sign In":"注册登录","Create an account or Sign in to Choose Your plan":"创建帐户或登录以选择您的计划","AI Failure Detection":"人工智能故障检测","Create Account/Sign In":"创建帐户/登录","Create an account or Sign in to Choose Your plan and get":"创建帐户或登录以选择您的计划并获取","{name} AI Detection Hours / month pack":"{{name}} AI 检测小时数/月包","AI Detection Hour Pack not selected":"AI 检测小时包未选择","{name} AI Detection Hours / month":"{{name}} AI 检测小时数/月","No AI Detection Hour Pack":"没有 AI 检测小时包","You need to":"您需要","verify your primary email":"验证您的主要电子邮件","as it will be used for billing communication.":"因为它将被用于账单通讯。","Annual (SAVE 33%)":"年付(节省 33%)","Monthly":"每月","Number of printer(s)":"打印机数量","Add":"添加"," (No change) ":"(无变化)","Remove":"移除","Add Subscribe&Save AI Detection Hour Pack?":"添加订阅并保存 AI 检测小时包?","Popular":"流行","Current":"当前","Total":"总计","Pro plan":"专业计划","1st printer (included)":"第一台打印机(包含在内)","additional":"附加的","50 AI Detection Hours / month (included)":"50 AI 检测小时数/月(包含在内)","This is the total amount on your next bill. Click \'Checkout\' see how much is due today.":"这是您下一张账单的总金额。点击“结账”查看今天应付多少。","Cancel":"取消","Checkout":"结账","Questions You May Have":"您可能有的问题","What currency are your prices in?":"您的价格使用什么货币?","They’re in US dollars.":"它们是美元。","Which plan is right for me?":"哪个计划适合我?","It depends on how many 3D printers you have, and how often you print.":"这取决于您有多少台3D打印机,以及您打印的频率。","The Free plan is for users who print occasionally. Another reason why you may want to choose the Free plan is you don\'t mind slow webcam streaming (up to 1 FPS). The Free plan even comes with 100 free Basic AI Detection Hours per month. Hours don\'t roll over month to month.":"免费计划适用于偶尔打印的用户。 您可能想要选择免费计划的另一个原因是您不介意缓慢的网络摄像头流(高达 1 FPS)。 免费计划甚至还提供每月 100 个免费的基本 AI 检测小时。 工作时间不会逐月滚动。","The Pro plan is for users who print more often and want to enjoy additional features like watching the webcam feed at the slick 25 FPS rate. It also comes with 100 Advanced AI Detection Hours every month - giving you the ability to detect failures faster and more reliably. If you occasionally print more than 100 hours a month, you will most likely be ok because the Advanced AI Detection Hours roll over month to month.":"Pro 计划适用于经常打印并希望享受额外功能的用户,例如以 25 FPS 的流畅速率观看网络摄像头。 它还每月提供 100 个高级人工智能检测小时 - 让您能够更快、更可靠地检测故障。 如果您偶尔每月打印超过 100 小时,您很可能会没事,因为高级 AI 检测时间会逐月滚动。","Can I change my plan?":"我可以更改我的计划吗?","Of course! You can change the number of printers, add/change/remove Subcribe&Save AI Detection Hour Pack, or between annual and monthly, at any time as long as your subscription is still active.":"当然可以!只要您的订阅仍然有效,您可以随时更改打印机数量,添加/更改/删除订阅并保存AI检测小时包,或在年付和月付之间更改。","You will keep the unused AI Detection Hours when you change your subscription plan.":"当您更改订阅计划时,您将保留未使用的AI检测小时。","Can I cancel my plan?":"我可以取消我的计划吗?","Yes again! You can cancel your subscription any time.":"再次确认!您可以随时取消您的订阅。","However, the AI Detection Hours included in the plan will expire at the end of your subscription period.":"但是,该计划中包含的 AI 检测时间将在您的订阅期结束时到期。","What is your refund policy?":"您的退款政策是什么?","We offer a {localizedDom}":"我们提供一个{localizedDom}","30-Day Full Refund Policy":"30天全额退款政策","If you are not happy with the Pro plan, just {localizedDom} within 30 days and we will give you a full refund.":"如果您对专业计划不满意,只需在30天内{localizedDom},我们将给您全额退款。","email us":"给我们发邮件","After 30 days, you can still cancel the subscription at any time. However, we usually don\'t refund the payment, due to the nature of a subscription service. Instead, we will keep your subscription active until the end of the current billing cycle. This is also a common practice for virtually all other subscription services such as Netflix.":"30天后,您仍然可以随时取消订阅。然而,由于订阅服务的性质,我们通常不会退款。相反,我们将保持您的订阅活跃直到当前账单周期结束。这也是几乎所有其他订阅服务(如Netflix)的常见做法。","However, we are all human and we want to be reasonable. If you have a good reason why we should refund to you after 30 days, {localizedDom} and we will consider your request.":"然而,我们都是人类,我们希望保持合理。如果您有一个好的理由说明为什么我们应该在30天后退款给您,{localizedDom},我们将考虑您的请求。","Is it safe to give my credit card number to the Kingroon?":"将我的信用卡号码提供给 Kingroon 安全吗?","Wrong question! You will not give credit number to us. Instead, it\'s Chargebee, {localizedDom}, that takes your credit card number and safely stores it.":"问错了!您不会把信用卡号码给我们。相反,是Chargebee,{localizedDom},会接收您的信用卡号并安全存储。","a fully compliant billing service provider":"一个完全合规的账单服务提供商","Under no circumstances will Kingroon process or store your payment information.":"在任何情况下,Kingroon 都不会处理或存储您的付款信息。","I have many printers and print a lot. The Pro plan becomes really expensive. Can I still use the Kingroon app?":"我有很多打印机并且打印很多。 Pro 计划变得非常昂贵。 我还能使用 Kingroon 应用程序吗?","Please {localizedDom} to customize a plan that works for your budget.":"请{localizedDom}来定制一个符合您预算的计划。","contact us":"联系我们","I saw {brandName} mentioned somewhere. What does {brandName} have to do with Kingroon?":"我看到某处提到了{{brandName}}。 {{brandName}} 与 Kingroon 有什么关系?","{brandName} has partnered with Kingroon to provide Kingroon users with AI and a mobile app for Kingroon 3D printers. {brandName}, a US based company is the developer of the Kingroon App.":"{{brandName}} 与 Kingroon 合作,为 Kingroon 用户提供 AI 和适用于 Kingroon 3D 打印机的移动应用程序。 {{brandName}} 是一家美国公司,是 Kingroon 应用程序的开发商。","The Free plan is for users with only 1 printer and print very in-frequently. Another reason why you may want to choose the Free plan is you don\'t mind slow webcam streaming (up to 5 FPS). The Free plan even comes with 10 free AI Detection Hours per month. And you can get {localizedDom} if you need more.":"免费计划适用于只有1台打印机并且很少打印的用户。您可能想选择免费计划的另一个原因是您不介意慢速网络摄像头流(最高5 FPS)。免费计划甚至每月提供10个免费的AI检测小时。如果您需要更多,您可以获得{localizedDom}。","additional AI Detection Hours":"额外的 AI 检测小时","The Pro plan is for users who want to enjoy watching the webcam feed at the slick 25 FPS rate. It also comes with 50 AI Detection Hours every month. If you occasionally print more than 50 hours a month, you will most likely be ok because the {localizedDom}. When you upgrade to the Pro plan, you are also eligible to the {localizedDom2} at favorable rates.":"专业计划适用于希望以流畅的25 FPS速度观看网络摄像头视频的用户。它还每月提供50个AI检测小时。如果您偶尔一个月打印超过50小时,您最有可能会觉得还好,因为{localizedDom}。当您升级到专业计划时,您也有资格以优惠的价格获得{localizedDom2}。","Subscribe&Save AI Detection Hour Packs":"订阅并保存AI检测小时包","I have X printers and I print Y hours a month. Tell me exactly how much the Pro plan will cost me.":"我有X台打印机,一个月打印Y小时。告诉我专业计划将花费我多少钱。","Oops. We forgot to mention we have built a {localizedDom} for you.":"哎呀。我们忘了提我们为您构建了一个{localizedDom}。","price calculator":"价格计算器","However, the AI Detection Hours included in the plan and Subscribe&Save pack will expire at the end of your subscription period.":"但是,计划中包含的AI检测小时和订阅并保存包将在您的订阅期结束时到期。","Is it safe to give my credit card number to the {brandName} Cloud?":"将我的信用卡号码提供给 {{brandName}} Cloud安全吗?","Under no circumstances will the {brandName} Cloud process or store your payment information.":"在任何情况下,{{brandName}} Cloud都不会处理或存储您的支付信息。","I have many printers and print a lot. The Pro plan becomes really expensive. Can I still use the {brandName} Cloud?":"我有很多打印机并且打印很多。专业计划变得非常昂贵。我还能使用{{brandName}} Cloud吗?","Failed to cancel subscription":"取消订阅失败","Your subscription will expire at the end of current billing cycle.":"您的订阅将在当前账单周期结束时到期。","I understand I will {localizedDom} when my subscription expires.":"我明白当我的订阅到期时我将{localizedDom}。","lose the unused expirable AI Detection Hours":"失去未使用的可到期的AI检测小时","One last thing. Please tell us why you want to cancel your subscription":"最后一件事。请告诉我们您为什么要取消您的订阅","Other":"","I changed my mind. I\'ll keep my subscription":"我改变主意了。我会保留我的订阅","I still want to cancel my subscription":"我仍然想要取消我的订阅","Failed to delete account":"删除账户失败","Delete Account":"删除账户","Your account will be permanently deleted!":"您的账户将被永久删除!","I understand I will lose all data.":"我理解我将丢失所有数据。","One last thing. Please tell us why you want to delete your account":"最后一件事。请告诉我们您为什么要删除您的账户","Delete my account":"删除我的账户","You have an active subscription. If you want to delete your account, please {localizedDom}":"您有一个活跃的订阅。如果您想删除您的账户,请{localizedDom}","send us an email":"给我们发送一封邮件","AI Detection Hours":"AI 检测小时","Total AI Detection Hours ({localizedDom})":"总AI检测小时({localizedDom})","details":"详情"," Unlimited ":" 无限 ","Included in subscription plan or Subscribe&Save DH Pack.":"包含在订阅计划或订阅并保存DH包中。","Expires when subscription ends":"订阅结束时到期","Earned or bought with Pre-paid DH Pack.":"通过预付DH包赚取或购买。","(Never expires.)":"(永不过期。)","Running short of AI Detection Hours?":"AI检测小时不足?","Get more >>>":"获取更多 >>>","Renew your subscription plan":"续订您的订阅计划","Click":"点击","here":"这里","to open the billing portal.":"打开账单门户。","Click on your subscription.":"点击您的订阅。","Click \\"Remove scheduled cancellation\\"":"点击“移除预定取消”","It looks like you have a legacy DH Pack that we have discontinued.":"看起来您有一个我们已经停止的遗留DH包。","Please email {name} to change your subscription.":"请发邮件给{{name}}来更改您的订阅。","Subscription Plan":"订阅计划","You are currently on the Free plan.":"您目前处于免费计划。","You can still enjoy essential features such as the {localizedDom} and 10 free {localizedDom2} per month.":"您仍然可以享受基本功能,如{localizedDom}以及每月10个免费的{localizedDom2}。","Basic Webcam Streaming":"基础网络摄像头流","If you want to watch your webcam with the {localizedDom} and get more AI Detection Hours so that Obi can watch your prints for you, you can upgrade to the Pro plan.":"如果您想要用{localizedDom}观看您的网络摄像头并获取更多的AI检测小时,以便Obi可以为您监视您的打印,您可以升级到专业计划。","Premium Webcam Streaming":"高级网络摄像头流","Compare the plans":"比较计划","Your free trial of the Pro plan":"您的专业计划免费试用","will expire":"将会到期","AI Detection Hours will also expire with your free trial":"AI检测小时也将随您的免费试用到期","You can upgrade to Pro now to keep them.":"您现在可以升级到专业版以保留它们。","Upgrade to Pro Now (30-Day Money Back Guarantee)":"立即升级到专业版(30天退款保证)","About the free trial":"关于免费试用","During the 1 month trial period, you have access to all Pro features.":"在1个月的试用期内,您可以访问所有专业功能。","We also gave you 250 free {localizedDom}":"我们还给了您250个免费的{localizedDom}","so you would be able to fully experience the power of {brandName} without having to worry about running out.":"这样您就能充分体验{{brandName}}的力量而不必担心用完。","At the end of the free trial, you can continue the Pro plan with an annual or monthly subscription. Otherwise your account will be automatically converted to the Free plan.":"在免费试用结束时,您可以继续通过年付或月付订阅专业计划。否则您的账户将自动转换为免费计划。","You are currently on the complimentary Pro plan.":"您目前正在使用免费的专业计划。","It\'ll expire {localizedDom}":"它将在{localizedDom}到期","At that time, you can {localizedDom} or do nothing, in which case your account will be converted to Free plan automatically.":"届时,您可以{localizedDom}或什么都不做,在这种情况下,您的账户将自动转换为免费计划。","upgrade to the Pro plan":"升级到专业计划","Compare the plans >>>":"比较计划 >>>","Complimentary Pro plan doesn\'t allows Subscribe&Save AI Detection Hour Pack as add-ons. If you need more AI Detection Hours, you can get Pre-paid AI Detection Hour Pack.":"免费的专业计划不允许将订阅并保存AI检测小时包作为附加组件。如果您需要更多的AI检测小时,您可以获得预付AI检测小时包。","Your Pro plan will end {localizedDom}":"您的专业计划将在{localizedDom}结束","You will lose the remaining expirable AI Detection Hours when your plan ends (see {localizedDom} ).":"当您的计划结束时,您将失去剩余的可到期的AI检测小时(见{localizedDom})。","To avoid the loss":"为避免损失","renew the plan now":"现在续订计划","You are currently on the Pro plan.":"您目前在专业计划上。","Your next billing date is":"您的下一个账单日期是","Plan total":"计划总额","Plan base":"基础计划","Additional printer(s)":"额外的打印机","You have fewer printers than you subscribed for. You can change your subscription to save money.":"您的打印机数量少于您订阅的数量。您可以更改您的订阅以节省资金。","The total doesn\'t reflect the coupon you may have received. Check your invoice for the final amount you paid.":"总额不反映您可能收到的优惠券。检查您的发票以了解您支付的最终金额。","Change Subscription":"更改订阅","Cancel Subscription":"取消订阅","Need to view invoices or change payment method?":"需要查看发票或更改支付方式吗?","Open the billing portal":"打开账单门户","Subscription":"订阅","Oops...":"哎呀...","Something went wrong! Please":"出了些问题!请","Contact us":"联系我们","for help.":"寻求帮助。","Are you sure?":"你确定吗?","Delete {name} printer? This action can not be undone.":"删除{{name}}打印机?此操作不能撤销。","Yes":"是","No":"否","Printer deleted":"打印机已删除","{name} has been permanently deleted":"{{name}}已被永久删除","Archived Printers":"已存档的打印机","The following printers have been archived because you have more printers than your plan allows.":"以下打印机已被存档,因为您的打印机数量超过了计划允许的数量。","Un-archive":"取消存档","Delete":"删除","You have a few options to un-archive printer(s)":"您有几个选项可以取消存档打印机","Delete or archive the printers you no longer need.":"删除或存档您不再需要的打印机。","Upgrade to the Pro plan. Please remember the Free plan is limited to only 1 printer. Check out {localizedDom}.":"升级到专业计划。请记住免费计划仅限于1台打印机。查看{localizedDom}。","the Pro plan pricing":"专业计划定价","If you are already on the Pro plan, you can change the number of printers on {localizedDom}.":"如果您已经在专业计划上,您可以在{localizedDom}上更改打印机的数量。","your subscription page":"您的订阅页面","Once your account is set up to allow for more printers, come back and un-archive the printers here.":"一旦您的账户设置允许更多打印机,返回此处并取消存档打印机。","Questions on why your printers are archived?":"有关为什么您的打印机被存档的问题?","Contact us.":"联系我们。","You have no archived printers.":"您没有存档的打印机。","Go back to the printer page.":"返回打印机页面。","The {brandName} plugin version is too old to use this function. Please update it to the latest version to test camera!":"{{brandName}}插件版本太旧,无法使用此功能。请将其更新到最新版本以测试相机!","Please confirm the snapshot below came from a":"请确认下面的快照来自于","nozzle camera":"喷嘴相机","not a regular webcam. The AI will NOT function correctly on a regular camera.":"而不是常规网络摄像头。AI在常规摄像头上将无法正确工作。","Unable to connect to your nozzle camera using the URL you entered!":"无法使用您输入的URL连接到您的喷嘴相机!","Please check the instruction for how to find the correct URL for your nozzle camera.":"请检查如何找到喷嘴相机正确URL的说明。","Nozzle Ninja AI Configuration":"Nozzle Ninja AI 配置","Nozzle Ninja, {brandName}’s First Layer AI, Is Here!":"Nozzle Ninja,{{brandName}} 的第一层 AI,就在这里!","Configure a compatible nozzle camera to get started":"配置兼容的喷嘴摄像头即可开始使用","Update the {brandName} Plugin in OctoPrint or Fluidd/Mainsail":"更新 OctoPrint 或 Fluidd/Mainsail 中的 {{brandName}} 插件","Before you configure Nozzle Ninja, Update the {brandName} plugin in OctoPrint or Fluidd/Mainsail. Once the plugin is up-to-date, restart your printer or Raspberry, and then come back here.":"在配置 Nozzle Ninja 之前,请更新 OctoPrint 或 Fluidd/Mainsail 中的 {{brandName}} 插件。插件更新后,重新启动打印机或 Raspberry,然后返回此处。","Select the Printer You Want to Configure":"选择要配置的打印机","Printers Found":"找到的打印机","Select which printer(s) you want to configure. Note: AI detection hours are currently not impacted by first layer AI.":"选择您要配置的打印机。注意:AI 检测时间目前不受第一层 AI 的影响。","Please select a printer to configure":"请选择一个打印机进行配置","Nozzle camera URL saved!":"喷嘴相机 URL 已保存!","System: ":"系统:","Post first layer scan":"打印第一层扫描","Scan your print after your first layer is done at a lower speed. The scan will produce better images more in focus and with less motion blur. This is opted in by default but you can opt out of it.":"在第一层完成后以较低速度扫描您的打印。扫描将产生更清晰、运动模糊更少的更好图像。这是默认选择的,但您可以选择不使用它。","Note: Please make sure":"注意:请确保","the slicer correctly configured":"切片软件正确配置","Otherwise it won\'t scan.":"否则它不会扫描。","Enable post first layer scan":"启用打印第一层后扫描","Scan at height":"在特定高度扫描","Cooldown extruder":"冷却挤出机","Retract before scan":"扫描前回缩","Retraction speed":"回缩速度","No printers found!":"未找到打印机!","Nozzle Ninja Configuration":"喷嘴忍者配置","Follow the camera configuration guide to configure your nozzle camera with {brandName}":"按照相机配置指南使用{{brandName}}配置您的喷嘴相机","Nozzle Ninja configuration guide for Klipper ":"Klipper 的 Nozzle Ninja 配置指南 ","Nozzle Ninja configuration guide for Octoprint ":"Octoprint 的 Nozzle Ninja 配置指南 ","Slicer Configuration":"切片软件配置","Configure your slicer to send first layer information to {brandName} and optionally enable first layer scanning. First layer scanning is an experimental feature that enables a slow scan of the first layer. This feature requires some configureation to avoid impacting print quality.":"配置切片机以将第一层信息发送到 {{brandName}} 并可选择启用第一层扫描。第一层扫描是一项实验性功能,可对第一层进行慢速扫描。此功能需要进行一些配置以避免影响打印质量。","Currently, PrusaSlicer, SuperSlicer and OrcaSlicer are supported.":"目前支持PrusaSlicer、SuperSlicer和OrcaSlicer。","Slicer configuration guide ":"切片软件配置指南 ","Build Your Pro Plan":"构建您的专业计划","You have already redeemed this coupon.":"您已经兑换了这张优惠券。","Please contact Obico Support at":"请联系 Obico 支持:","Error":"错误","Failed to redeem the coupon code. Please try again later.":"兑换优惠券代码失败。 请稍后再试。","Oops! You already have an Obico Pro Plan...":"哎呀! 您已经有 Obico Pro 计划...","Contact obico support at":"联系 obico 支持:","Oops! Invalid Coupon!":"哎呀! 优惠券无效!","Activate Your Three-Month Obico Pro Plan":"激活您的三个月 Obico Pro 计划","As a valued Big Tree Tech customer, once your included plan expires, you can upgrade to a more advanced plan at a special discounted price. This offer is exclusively available for Big Tree Tech customers to ensure you continue to enjoy the benefits of Obico without interruption.":"作为 Big Tree Tech 的尊贵客户,一旦您包含的计划到期,您可以以特别折扣价格升级到更高级的计划。 此优惠专为 Big Tree Tech 客户提供,以确保您继续不间断地享受 Obico 的好处。","Redeem Plan":"兑换计划","Upgrade to an Obico Pro Plan and get a 25% discount as a valued BTT customer!":"升级到 Obico Pro 计划并作为 BTT 尊贵客户享受 25% 的折扣!","Obico has partnered with Big Tree Tech to give you an exclusive discount on an Obico Pro Plan. Get instant access to AI failure detection, first layer AI, webcam streaming, a highly rated mobile app and more for your 3D printer.":"Obico 与 Big Tree Tech 合作,为您提供 Obico Pro 计划的独家折扣。 即时访问适用于您的 3D 打印机的 AI 故障检测、第一层 AI、网络摄像头流、高评价的移动应用程序等。","Choose Plan":"选择计划","What\'s Included with Your Pro Plan":"您的专业计划包含哪些内容","Webcam Streaming":"网络摄像头流媒体","Full Remote Access":"完全远程访问","Mobile & Web App":"移动和网络应用程序","Printer Management":"打印机管理","Compatible with Your Favorite Software":"与您喜爱的软件兼容","Highly Rated Mobile App":"高评价的移动应用程序","Available for iOS and Android":"适用于 iOS 和 Android","Frequently Asked Questions":"经常问的问题","What happens when the three-month Pro Plan expires?":"三个月的专业计划到期后会发生什么?","When your three-month plan expires, you will have the change to upgrade to one of Obico’s Pro Plans at a special discounted rate. Learn more about the plan options":"当您的三个月计划到期时,您将可以以特别折扣价升级到 Obico 的 Pro 计划之一。 了解有关计划选项的更多信息","If you choose not to upgrade, your plan will be automatically reverted to an Obico Free Plan.":"如果您选择不升级,您的计划将自动恢复为 Obico 免费计划。","As a valued Mintion customer, once your included plan expires, you can upgrade to a more advanced plan at a special discounted price. This offer is exclusively available for Mintion customers to ensure you continue to enjoy the benefits of Obico without interruption.":"作为尊贵的 Mintion 客户,一旦您的套餐到期,您可以以特别折扣价升级到更高级的套餐。此优惠仅面向 Mintion 客户,以确保您继续享受 Obico 的优惠,不会中断。","When your three-month plan expires, you will have the chance to upgrade to one of Obico’s Pro Plans at a special discounted rate. Learn more about the plan options":"当您的三个月计划到期时,您将有机会以特别折扣价升级到 Obico 的专业计划之一。了解有关计划选项的更多信息","Invalid coupon code. Please make sure the coupon code has not been used, and has not expired. If you believe you have a valid coupon code, please ":"优惠券代码无效。请确保优惠券代码未使用且未过期。如果您认为优惠券代码有效,请","Oops! You already have an {brandName} Pro Plan...":"哎呀! 您已经有一个 {{brandName}} 专业计划...","Contact {brandName} support at":"请联系 {{brandName}} 支持人员:","Activate Your {brandName} Pro Plan":"激活您的 {{brandName}} 专业计划","As a valued Sovol customer, you are eligible for an exclusive Pro Plan discount. When you redeem your plan, you’ll be asked to enter your credit card so we can give you the exclusive 20% discount when your plan renews.":"作为 Sovol 的尊贵客户,您有资格享受专属 Pro 计划折扣。 当您兑换计划时,系统会要求您输入信用卡信息,以便我们在您的计划续订时为您提供 20% 的独家折扣。","If you don’t want your plan to renew, you can cancel the plan so that it will not renew at any time.":"如果您不希望您的计划续订,您可以取消该计划,这样它就不会随时续订。","I already paid for the Pro Plan. Why do I need to enter my credit card information again?":"我已经支付了专业计划的费用。 为什么我需要再次输入我的信用卡信息?","Your plan is fully covered for the first year. After the first year, the plan will renew with a special discount available exclusively for Sovol customers. You are free to cancel the plan at any time in the “Subscription” section of the {brandname} mobile or web app.":"您的计划在第一年得到全额承保。 第一年后,该计划将续订并提供专为 Sovol 客户提供的特别折扣。 您可以随时在 {{brandname}} 移动或网络应用程序的“订阅”部分取消该计划。","Still have questions?":"还有疑问吗?","Contact":"接触","{brandName} support.":"{{brandName}} 支持。"," for ${month} / month (${hour} / AI Detection Hour). Billed ${year} annually.":" 每月${{month}}(每个AI检测小时${{hour}})。每年账单${{year}}。"," for ${month} / month (${hour} / AI Detection Hour).":" 每月${{month}}(每个AI检测小时${{hour}})。","Calculate Plan Cost":"计算计划成本","Kingroon Connect Plans":"Kingroon 连接计划","Free":"免费","Print occasionally.":"偶尔打印。","Unlimited Kingroon printers allowed":"允许无限使用 Kingroon 打印机","Get Started":"开始","Basic webcam streaming":"基本网络摄像头流","100 {localizedDom} AI Detection Hours/month, 30s detection interval":"100 {localizedDom} AI 检测小时/月,检测间隔 30 秒","Basic":"基本的","300MB /mo tunnel data - Access Mainsail or Fluidd remotely":"300MB /mo 隧道数据 - 远程访问 Mainsail 或 Fluidd","200MB total G-code cloud storage":"200MB 总 G 代码云存储空间","Companion mobile app for {localizedDom} and {localizedDom2}":"用于{localizedDom}和{localizedDom2}的配套移动应用","Android":"安卓","iOS":"iOS","Remote printer access and control":"远程打印机访问和控制","Failure alerts and print status updates sent through push notification":"通过推送通知发送故障警报和打印状态更新","Community technical support":"社区技术支持","Pro":"专业版","Print every day. 2+ printers.":"每天打印。2台以上打印机。","$":"$","month":"每月","(Billed {name} annually)":"(每年账单{{name}})","1st printer included":"包括第1台打印机","2+ printers at $":"2台以上打印机每台$","month / printer":"每月/打印机","View/Change Subscription":"查看/更改订阅","Full refund within 30 days if you are not happy.":"如果您不满意,30天内全额退款。","Upgrade (30-Day Money Back Guarantee)":"升级(30天退款保证)","Start 1 month FREE trial":"开始1个月免费试用","Premium webcam streaming":"高级网络摄像头流","100 {localizedDom} AI Detection Hours per month, 10s detection interval":"每月 100 {localizedDom} AI 检测小时,检测间隔 10 秒","Advanced":"先进的","Unlimited tunnel data - Access Mainsail or fluidd remotely":"无限的隧道数据 - 远程访问 Mainsail 或 Fluidd","5GB total G-Code cloud storage":"总共 5GB G 代码云存储空间","Email technical support":"电子邮件技术支持","Printer feed sharing with premium streaming quality":"具有高级流媒体质量的打印机订阅共享","Cloud Plans":"云计划","Thinking about self-hosting {brandName} Server instead?":"考虑自托管{{brandName}}服务器吗?","Check out self-hosting vs {brandName} Cloud.":"查看自托管与{{brandName}}云的对比。","Limited to 1 printer.":"限于1台打印机。","10 free AI Detection Hours/month included":"包括每月10小时免费AI检测","300MB /mo tunnel data":"每月300MB隧道数据","G-Code cloud storage up to 50MB per file, 1GB total":"G-Code云存储最多每个文件50MB,总共1GB","Notifications via Email, mobile push notification, Telegram, and more.":"通过电子邮件、移动推送通知、Telegram等方式的通知。","300MB /mo integration with your favorite 3rd-party mobile apps":"每月300MB与您最喜爱的第三方移动应用的集成","Calculate cost":"计算成本","50 free AI Detection Hours/month included":"包括每月50小时免费AI检测","Unlimited tunnel data":"无限隧道数据","G-Code cloud storage up to 500MB per file, 50GB total":"G-Code云存储最多每个文件500MB,总共50GB","Unlimited integration with your favorite 3rd-party mobile apps":"与您最喜爱的第三方移动应用的无限集成","Failure alerts via SMS (text message)":"通过SMS(短信)的失败警报","AI Detection Hour Packs":"AI检测小时包","Need more AI Detection Hours? Add the right amount of AI Detection Hours without burning a hole on your wallet.":"需要更多AI检测小时吗?在不让您的钱包出现漏洞的情况下添加正确数量的AI检测小时。","Pre-paid Pack":"预付包","Turn on AI failure detection only for the prints.":"仅针对打印打开 AI 故障检测。","Available to all plans.":"适用于所有计划。","Pre-paid AI Detection Hours never expire.":"预付AI检测小时永不过期。","One Time Purchase.":"一次性购买。","for":"为","Start 1 month FREE trial + 250 FREE AI Detection Hours":"开始1个月免费试用+250个免费AI检测小时","Purchase Selected AI Detection Hour Pack":"购买选定的AI检测小时包","Subscribe&Save Packs":"订阅并保存包","AI failure detection for all prints.":"对所有打印进行AI故障检测。","Available only as add-on to the Pro plan.":"仅作为专业计划的附加项提供。","Subscribed AI Detection Hours roll over month to month.":"订阅的AI检测小时从月到月滚动。","Subscribed AI Detection Hours expire when subscription ends.":"订阅结束时,订阅的AI检测小时到期。","You can change AI Detection Hour Pack or remove it from your Pro plan any time you want.":"您随时可以更改AI检测小时包或从您的专业计划中移除它。","Upgrade to Pro with selected AI Detection Hour Pack":"升级至专业版并选择AI检测小时包","Calculate Cost >>>":"计算成本 >>>","The Spaghetti Gallery":"意大利面画廊","End of public time-lapse list.":"公开延时列表的结束。","Loading...":"正在加载...","Your 30-Day {localizedDom} Free Trial Has Started!":"您的30天{localizedDom}免费试用已经开始!","Pro Plan":"专业计划","{trialDaysLeft} Days Left on Your {localizedDom} Free Trial!":"您的{localizedDom}免费试用还剩{trialDaysLeft}天!","Unlimited, 25 FPS Premium Webcam Streaming":"无限制,25 FPS 高级网络摄像头流","250 Hours Watched by AI for Failure Detection":"250小时由AI观看以进行故障检测","G-Code Remote Upload and Printing":"G-Code远程上传和打印","Link your 3D printer now so that you can fully enjoy the 30-Day Free Trial":"现在链接您的3D打印机,以便您可以充分享受30天的免费试用","Link Printer":"链接打印机","It\'s as easy as 1-2-3":"就像1-2-3一样简单","Just Checking Out":"只是查看","Not a whole lot you can see without your printer linked":"如果没有链接您的打印机,您看不到太多内容","Not ready to start yet? {localizedDom} to pause your free trial.":"还没准备好开始?{localizedDom}暂停您的免费试用。","Email us":"给我们发邮件"}')},"2e60":function(e,t,i){},"2e7f":function(e,t,i){e.exports=i.p+"img/octoprint_logo.png"},"2f4c":function(e,t,i){},"30c2":function(e,t,i){},"30de":function(e,t,i){},3102:function(e,t,i){},"314a":function(e,t,i){e.exports=i.p+"img/detached-1.jpg"},3372:function(e,t,i){},"346f":function(e){e.exports=JSON.parse('{"Printers":"Printers","Print History":"Print History","G-Codes":"G-Codes","Pricing":"Pricing","Help":"Help","SIGN IN":"SIGN IN","SIGN UP":"SIGN UP","Preferences":"Preferences","Log out":"Log out","Welcome To":"Welcome To","Your three-month Pro Plan Is Now Active":"Your three-month Pro Plan Is Now Active","Unlimited Premium Webcam Streaming":"Unlimited Premium Webcam Streaming","Unlimited AI Failure Detection":"Unlimited AI Failure Detection","G-Code Remote Uploading and Printing":"G-Code Remote Uploading and Printing","Unlimited Secure Tunnel to OctoPrint/Klipper":"Unlimited Secure Tunnel to OctoPrint/Klipper","Go To Printer Control Page":"Go To Printer Control Page","Sign Up or Sign in to Your Obico Account":"Sign Up or Sign in to Your Obico Account","And get instant access to":"And get instant access to","Signup/Sign In":"Signup/Sign In","Create an account or Sign in to Choose Your plan":"Create an account or Sign in to Choose Your plan","AI Failure Detection":"AI Failure Detection","Create Account/Sign In":"Create Account/Sign In","Create an account or Sign in to Choose Your plan and get":"Create an account or Sign in to Choose Your plan and get","{name} AI Detection Hours / month pack":"{{name}} AI Detection Hours / month pack","AI Detection Hour Pack not selected":"AI Detection Hour Pack not selected","{name} AI Detection Hours / month":"{{name}} AI Detection Hours / month","No AI Detection Hour Pack":"No AI Detection Hour Pack","You need to":"You need to","verify your primary email":"verify your primary email","as it will be used for billing communication.":"as it will be used for billing communication.","Annual (SAVE 33%)":"Annual (SAVE 33%)","Monthly":"Monthly","Number of printer(s)":"Number of printer(s)","Add":"Add"," (No change) ":" (No change) ","Remove":"Remove","Add Subscribe&Save AI Detection Hour Pack?":"Add Subscribe&Save AI Detection Hour Pack?","Popular":"Popular","Current":"Current","Total":"Total","Pro plan":"Pro plan","1st printer (included)":"1st printer (included)","additional":"additional","50 AI Detection Hours / month (included)":"50 AI Detection Hours / month (included)","This is the total amount on your next bill. Click \'Checkout\' see how much is due today.":"This is the total amount on your next bill. Click \'Checkout\' see how much is due today.","Cancel":"Cancel","Checkout":"Checkout","Questions You May Have":"Questions You May Have","What currency are your prices in?":"What currency are your prices in?","They’re in US dollars.":"They’re in US dollars.","Which plan is right for me?":"Which plan is right for me?","It depends on how many 3D printers you have, and how often you print.":"It depends on how many 3D printers you have, and how often you print.","The Free plan is for users who print occasionally. Another reason why you may want to choose the Free plan is you don\'t mind slow webcam streaming (up to 1 FPS). The Free plan even comes with 100 free Basic AI Detection Hours per month. Hours don\'t roll over month to month.":"The Free plan is for users who print occasionally. Another reason why you may want to choose the Free plan is you don\'t mind slow webcam streaming (up to 1 FPS). The Free plan even comes with 100 free Basic AI Detection Hours per month. Hours don\'t roll over month to month.","The Pro plan is for users who print more often and want to enjoy additional features like watching the webcam feed at the slick 25 FPS rate. It also comes with 100 Advanced AI Detection Hours every month - giving you the ability to detect failures faster and more reliably. If you occasionally print more than 100 hours a month, you will most likely be ok because the Advanced AI Detection Hours roll over month to month.":"The Pro plan is for users who print more often and want to enjoy additional features like watching the webcam feed at the slick 25 FPS rate. It also comes with 100 Advanced AI Detection Hours every month - giving you the ability to detect failures faster and more reliably. If you occasionally print more than 100 hours a month, you will most likely be ok because the Advanced AI Detection Hours roll over month to month.","Can I change my plan?":"Can I change my plan?","Of course! You can change the number of printers, add/change/remove Subcribe&Save AI Detection Hour Pack, or between annual and monthly, at any time as long as your subscription is still active.":"Of course! You can change the number of printers, add/change/remove Subcribe&Save AI Detection Hour Pack, or between annual and monthly, at any time as long as your subscription is still active.","You will keep the unused AI Detection Hours when you change your subscription plan.":"You will keep the unused AI Detection Hours when you change your subscription plan.","Can I cancel my plan?":"Can I cancel my plan?","Yes again! You can cancel your subscription any time.":"Yes again! You can cancel your subscription any time.","However, the AI Detection Hours included in the plan will expire at the end of your subscription period.":"However, the AI Detection Hours included in the plan will expire at the end of your subscription period.","What is your refund policy?":"What is your refund policy?","We offer a {localizedDom}":"We offer a {localizedDom}","30-Day Full Refund Policy":"30-Day Full Refund Policy","If you are not happy with the Pro plan, just {localizedDom} within 30 days and we will give you a full refund.":"If you are not happy with the Pro plan, just {localizedDom} within 30 days and we will give you a full refund.","email us":"email us","After 30 days, you can still cancel the subscription at any time. However, we usually don\'t refund the payment, due to the nature of a subscription service. Instead, we will keep your subscription active until the end of the current billing cycle. This is also a common practice for virtually all other subscription services such as Netflix.":"After 30 days, you can still cancel the subscription at any time. However, we usually don\'t refund the payment, due to the nature of a subscription service. Instead, we will keep your subscription active until the end of the current billing cycle. This is also a common practice for virtually all other subscription services such as Netflix.","However, we are all human and we want to be reasonable. If you have a good reason why we should refund to you after 30 days, {localizedDom} and we will consider your request.":"However, we are all human and we want to be reasonable. If you have a good reason why we should refund to you after 30 days, {localizedDom} and we will consider your request.","Is it safe to give my credit card number to the Kingroon?":"Is it safe to give my credit card number to the Kingroon?","Wrong question! You will not give credit number to us. Instead, it\'s Chargebee, {localizedDom}, that takes your credit card number and safely stores it.":"Wrong question! You will not give credit number to us. Instead, it\'s Chargebee, {localizedDom}, that takes your credit card number and safely stores it.","a fully compliant billing service provider":"a fully compliant billing service provider","Under no circumstances will Kingroon process or store your payment information.":"Under no circumstances will Kingroon process or store your payment information.","I have many printers and print a lot. The Pro plan becomes really expensive. Can I still use the Kingroon app?":"I have many printers and print a lot. The Pro plan becomes really expensive. Can I still use the Kingroon app?","Please {localizedDom} to customize a plan that works for your budget.":"Please {localizedDom} to customize a plan that works for your budget.","contact us":"contact us","I saw {brandName} mentioned somewhere. What does {brandName} have to do with Kingroon?":"I saw {{brandName}} mentioned somewhere. What does {{brandName}} have to do with Kingroon?","{brandName} has partnered with Kingroon to provide Kingroon users with AI and a mobile app for Kingroon 3D printers. {brandName}, a US based company is the developer of the Kingroon App.":"{{brandName}} has partnered with Kingroon to provide Kingroon users with AI and a mobile app for Kingroon 3D printers. {{brandName}}, a US based company is the developer of the Kingroon App.","The Free plan is for users with only 1 printer and print very in-frequently. Another reason why you may want to choose the Free plan is you don\'t mind slow webcam streaming (up to 5 FPS). The Free plan even comes with 10 free AI Detection Hours per month. And you can get {localizedDom} if you need more.":"The Free plan is for users with only 1 printer and print very in-frequently. Another reason why you may want to choose the Free plan is you don\'t mind slow webcam streaming (up to 5 FPS). The Free plan even comes with 10 free AI Detection Hours per month. And you can get {localizedDom} if you need more.","additional AI Detection Hours":"additional AI Detection Hours","The Pro plan is for users who want to enjoy watching the webcam feed at the slick 25 FPS rate. It also comes with 50 AI Detection Hours every month. If you occasionally print more than 50 hours a month, you will most likely be ok because the {localizedDom}. When you upgrade to the Pro plan, you are also eligible to the {localizedDom2} at favorable rates.":"The Pro plan is for users who want to enjoy watching the webcam feed at the slick 25 FPS rate. It also comes with 50 AI Detection Hours every month. If you occasionally print more than 50 hours a month, you will most likely be ok because the {localizedDom}. When you upgrade to the Pro plan, you are also eligible to the {localizedDom2} at favorable rates.","Subscribe&Save AI Detection Hour Packs":"Subscribe&Save AI Detection Hour Packs","I have X printers and I print Y hours a month. Tell me exactly how much the Pro plan will cost me.":"I have X printers and I print Y hours a month. Tell me exactly how much the Pro plan will cost me.","Oops. We forgot to mention we have built a {localizedDom} for you.":"Oops. We forgot to mention we have built a {localizedDom} for you.","price calculator":"price calculator","However, the AI Detection Hours included in the plan and Subscribe&Save pack will expire at the end of your subscription period.":"However, the AI Detection Hours included in the plan and Subscribe&Save pack will expire at the end of your subscription period.","Is it safe to give my credit card number to the {brandName} Cloud?":"Is it safe to give my credit card number to the {{brandName}} Cloud?","Under no circumstances will the {brandName} Cloud process or store your payment information.":"Under no circumstances will the {{brandName}} Cloud process or store your payment information.","I have many printers and print a lot. The Pro plan becomes really expensive. Can I still use the {brandName} Cloud?":"I have many printers and print a lot. The Pro plan becomes really expensive. Can I still use the {{brandName}} Cloud?","Failed to cancel subscription":"Failed to cancel subscription","Your subscription will expire at the end of current billing cycle.":"Your subscription will expire at the end of current billing cycle.","I understand I will {localizedDom} when my subscription expires.":"I understand I will {localizedDom} when my subscription expires.","lose the unused expirable AI Detection Hours":"lose the unused expirable AI Detection Hours","One last thing. Please tell us why you want to cancel your subscription":"One last thing. Please tell us why you want to cancel your subscription","Other":"","I changed my mind. I\'ll keep my subscription":"I changed my mind. I\'ll keep my subscription","I still want to cancel my subscription":"I still want to cancel my subscription","Failed to delete account":"Failed to delete account","Delete Account":"Delete Account","Your account will be permanently deleted!":"Your account will be permanently deleted!","I understand I will lose all data.":"I understand I will lose all data.","One last thing. Please tell us why you want to delete your account":"One last thing. Please tell us why you want to delete your account","Delete my account":"Delete my account","You have an active subscription. If you want to delete your account, please {localizedDom}":"You have an active subscription. If you want to delete your account, please {localizedDom}","send us an email":"send us an email","AI Detection Hours":"AI Detection Hours","Total AI Detection Hours ({localizedDom})":"Total AI Detection Hours ({localizedDom})","details":"details"," Unlimited ":" Unlimited ","Included in subscription plan or Subscribe&Save DH Pack.":"Included in subscription plan or Subscribe&Save DH Pack.","Expires when subscription ends":"Expires when subscription ends","Earned or bought with Pre-paid DH Pack.":"Earned or bought with Pre-paid DH Pack.","(Never expires.)":"(Never expires.)","Running short of AI Detection Hours?":"Running short of AI Detection Hours?","Get more >>>":"Get more >>>","Renew your subscription plan":"Renew your subscription plan","Click":"Click","here":"here","to open the billing portal.":"to open the billing portal.","Click on your subscription.":"Click on your subscription.","Click \\"Remove scheduled cancellation\\"":"Click \\"Remove scheduled cancellation\\"","It looks like you have a legacy DH Pack that we have discontinued.":"It looks like you have a legacy DH Pack that we have discontinued.","Please email {name} to change your subscription.":"Please email {{name}} to change your subscription.","Subscription Plan":"Subscription Plan","You are currently on the Free plan.":"You are currently on the Free plan.","You can still enjoy essential features such as the {localizedDom} and 10 free {localizedDom2} per month.":"You can still enjoy essential features such as the {localizedDom} and 10 free {localizedDom2} per month.","Basic Webcam Streaming":"Basic Webcam Streaming","If you want to watch your webcam with the {localizedDom} and get more AI Detection Hours so that Obi can watch your prints for you, you can upgrade to the Pro plan.":"If you want to watch your webcam with the {localizedDom} and get more AI Detection Hours so that Obi can watch your prints for you, you can upgrade to the Pro plan.","Premium Webcam Streaming":"Premium Webcam Streaming","Compare the plans":"Compare the plans","Your free trial of the Pro plan":"Your free trial of the Pro plan","will expire":"will expire","AI Detection Hours will also expire with your free trial":"AI Detection Hours will also expire with your free trial","You can upgrade to Pro now to keep them.":"You can upgrade to Pro now to keep them.","Upgrade to Pro Now (30-Day Money Back Guarantee)":"Upgrade to Pro Now (30-Day Money Back Guarantee)","About the free trial":"About the free trial","During the 1 month trial period, you have access to all Pro features.":"During the 1 month trial period, you have access to all Pro features.","We also gave you 250 free {localizedDom}":"We also gave you 250 free {localizedDom}","so you would be able to fully experience the power of {brandName} without having to worry about running out.":"so you would be able to fully experience the power of {{brandName}} without having to worry about running out.","At the end of the free trial, you can continue the Pro plan with an annual or monthly subscription. Otherwise your account will be automatically converted to the Free plan.":"At the end of the free trial, you can continue the Pro plan with an annual or monthly subscription. Otherwise your account will be automatically converted to the Free plan.","You are currently on the complimentary Pro plan.":"You are currently on the complimentary Pro plan.","It\'ll expire {localizedDom}":"It\'ll expire {localizedDom}","At that time, you can {localizedDom} or do nothing, in which case your account will be converted to Free plan automatically.":"At that time, you can {localizedDom} or do nothing, in which case your account will be converted to Free plan automatically.","upgrade to the Pro plan":"upgrade to the Pro plan","Compare the plans >>>":"Compare the plans >>>","Complimentary Pro plan doesn\'t allows Subscribe&Save AI Detection Hour Pack as add-ons. If you need more AI Detection Hours, you can get Pre-paid AI Detection Hour Pack.":"Complimentary Pro plan doesn\'t allows Subscribe&Save AI Detection Hour Pack as add-ons. If you need more AI Detection Hours, you can get Pre-paid AI Detection Hour Pack.","Your Pro plan will end {localizedDom}":"Your Pro plan will end {localizedDom}","You will lose the remaining expirable AI Detection Hours when your plan ends (see {localizedDom} ).":"You will lose the remaining expirable AI Detection Hours when your plan ends (see {localizedDom} ).","To avoid the loss":"To avoid the loss","renew the plan now":"renew the plan now","You are currently on the Pro plan.":"You are currently on the Pro plan.","Your next billing date is":"Your next billing date is","Plan total":"Plan total","Plan base":"Plan base","Additional printer(s)":"Additional printer(s)","You have fewer printers than you subscribed for. You can change your subscription to save money.":"You have fewer printers than you subscribed for. You can change your subscription to save money.","The total doesn\'t reflect the coupon you may have received. Check your invoice for the final amount you paid.":"The total doesn\'t reflect the coupon you may have received. Check your invoice for the final amount you paid.","Change Subscription":"Change Subscription","Cancel Subscription":"Cancel Subscription","Need to view invoices or change payment method?":"Need to view invoices or change payment method?","Open the billing portal":"Open the billing portal","Subscription":"Subscription","Oops...":"Oops...","Something went wrong! Please":"Something went wrong! Please","Contact us":"Contact us","for help.":"for help.","Are you sure?":"Are you sure?","Delete {name} printer? This action can not be undone.":"Delete {{name}} printer? This action can not be undone.","Yes":"Yes","No":"No","Printer deleted":"Printer deleted","{name} has been permanently deleted":"{{name}} has been permanently deleted","Archived Printers":"Archived Printers","The following printers have been archived because you have more printers than your plan allows.":"The following printers have been archived because you have more printers than your plan allows.","Un-archive":"Un-archive","Delete":"Delete","You have a few options to un-archive printer(s)":"You have a few options to un-archive printer(s)","Delete or archive the printers you no longer need.":"Delete or archive the printers you no longer need.","Upgrade to the Pro plan. Please remember the Free plan is limited to only 1 printer. Check out {localizedDom}.":"Upgrade to the Pro plan. Please remember the Free plan is limited to only 1 printer. Check out {localizedDom}.","the Pro plan pricing":"the Pro plan pricing","If you are already on the Pro plan, you can change the number of printers on {localizedDom}.":"If you are already on the Pro plan, you can change the number of printers on {localizedDom}.","your subscription page":"your subscription page","Once your account is set up to allow for more printers, come back and un-archive the printers here.":"Once your account is set up to allow for more printers, come back and un-archive the printers here.","Questions on why your printers are archived?":"Questions on why your printers are archived?","Contact us.":"Contact us.","You have no archived printers.":"You have no archived printers.","Go back to the printer page.":"Go back to the printer page.","The {brandName} plugin version is too old to use this function. Please update it to the latest version to test camera!":"The {{brandName}} plugin version is too old to use this function. Please update it to the latest version to test camera!","Please confirm the snapshot below came from a":"Please confirm the snapshot below came from a","nozzle camera":"nozzle camera","not a regular webcam. The AI will NOT function correctly on a regular camera.":"not a regular webcam. The AI will NOT function correctly on a regular camera.","Unable to connect to your nozzle camera using the URL you entered!":"Unable to connect to your nozzle camera using the URL you entered!","Please check the instruction for how to find the correct URL for your nozzle camera.":"Please check the instruction for how to find the correct URL for your nozzle camera.","Nozzle Ninja AI Configuration":"Nozzle Ninja AI Configuration","Nozzle Ninja, {brandName}’s First Layer AI, Is Here!":"Nozzle Ninja, {{brandName}}’s First Layer AI, Is Here!","Configure a compatible nozzle camera to get started":"Configure a compatible nozzle camera to get started","Update the {brandName} Plugin in OctoPrint or Fluidd/Mainsail":"Update the {{brandName}} Plugin in OctoPrint or Fluidd/Mainsail","Before you configure Nozzle Ninja, Update the {brandName} plugin in OctoPrint or Fluidd/Mainsail. Once the plugin is up-to-date, restart your printer or Raspberry, and then come back here.":"Before you configure Nozzle Ninja, Update the {{brandName}} plugin in OctoPrint or Fluidd/Mainsail. Once the plugin is up-to-date, restart your printer or Raspberry, and then come back here.","Select the Printer You Want to Configure":"Select the Printer You Want to Configure","Printers Found":"Printers Found","Select which printer(s) you want to configure. Note: AI detection hours are currently not impacted by first layer AI.":"Select which printer(s) you want to configure. Note: AI detection hours are currently not impacted by first layer AI.","Please select a printer to configure":"Please select a printer to configure","Nozzle camera URL saved!":"Nozzle camera URL saved!","System: ":"System: ","Post first layer scan":"Post first layer scan","Scan your print after your first layer is done at a lower speed. The scan will produce better images more in focus and with less motion blur. This is opted in by default but you can opt out of it.":"Scan your print after your first layer is done at a lower speed. The scan will produce better images more in focus and with less motion blur. This is opted in by default but you can opt out of it.","Note: Please make sure":"Note: Please make sure","the slicer correctly configured":"the slicer correctly configured","Otherwise it won\'t scan.":"Otherwise it won\'t scan.","Enable post first layer scan":"Enable post first layer scan","Scan at height":"Scan at height","Cooldown extruder":"Cooldown extruder","Retract before scan":"Retract before scan","Retraction speed":"Retraction speed","No printers found!":"No printers found!","Nozzle Ninja Configuration":"Nozzle Ninja Configuration","Follow the camera configuration guide to configure your nozzle camera with {brandName}":"Follow the camera configuration guide to configure your nozzle camera with {{brandName}}","Nozzle Ninja configuration guide for Klipper ":"Nozzle Ninja configuration guide for Klipper ","Nozzle Ninja configuration guide for Octoprint ":"Nozzle Ninja configuration guide for Octoprint ","Slicer Configuration":"Slicer Configuration","Configure your slicer to send first layer information to {brandName} and optionally enable first layer scanning. First layer scanning is an experimental feature that enables a slow scan of the first layer. This feature requires some configureation to avoid impacting print quality.":"Configure your slicer to send first layer information to {{brandName}} and optionally enable first layer scanning. First layer scanning is an experimental feature that enables a slow scan of the first layer. This feature requires some configureation to avoid impacting print quality.","Currently, PrusaSlicer, SuperSlicer and OrcaSlicer are supported.":"Currently, PrusaSlicer, SuperSlicer and OrcaSlicer are supported.","Slicer configuration guide ":"Slicer configuration guide ","Build Your Pro Plan":"Build Your Pro Plan","You have already redeemed this coupon.":"You have already redeemed this coupon.","Please contact Obico Support at":"Please contact Obico Support at","Error":"Error","Failed to redeem the coupon code. Please try again later.":"Failed to redeem the coupon code. Please try again later.","Oops! You already have an Obico Pro Plan...":"Oops! You already have an Obico Pro Plan...","Contact obico support at":"Contact obico support at","Oops! Invalid Coupon!":"Oops! Invalid Coupon!","Activate Your Three-Month Obico Pro Plan":"Activate Your Three-Month Obico Pro Plan","As a valued Big Tree Tech customer, once your included plan expires, you can upgrade to a more advanced plan at a special discounted price. This offer is exclusively available for Big Tree Tech customers to ensure you continue to enjoy the benefits of Obico without interruption.":"As a valued Big Tree Tech customer, once your included plan expires, you can upgrade to a more advanced plan at a special discounted price. This offer is exclusively available for Big Tree Tech customers to ensure you continue to enjoy the benefits of Obico without interruption.","Redeem Plan":"Redeem Plan","Upgrade to an Obico Pro Plan and get a 25% discount as a valued BTT customer!":"Upgrade to an Obico Pro Plan and get a 25% discount as a valued BTT customer!","Obico has partnered with Big Tree Tech to give you an exclusive discount on an Obico Pro Plan. Get instant access to AI failure detection, first layer AI, webcam streaming, a highly rated mobile app and more for your 3D printer.":"Obico has partnered with Big Tree Tech to give you an exclusive discount on an Obico Pro Plan. Get instant access to AI failure detection, first layer AI, webcam streaming, a highly rated mobile app and more for your 3D printer.","Choose Plan":"Choose Plan","What\'s Included with Your Pro Plan":"What\'s Included with Your Pro Plan","Webcam Streaming":"Webcam Streaming","Full Remote Access":"Full Remote Access","Mobile & Web App":"Mobile & Web App","Printer Management":"Printer Management","Compatible with Your Favorite Software":"Compatible with Your Favorite Software","Highly Rated Mobile App":"Highly Rated Mobile App","Available for iOS and Android":"Available for iOS and Android","Frequently Asked Questions":"Frequently Asked Questions","What happens when the three-month Pro Plan expires?":"What happens when the three-month Pro Plan expires?","When your three-month plan expires, you will have the change to upgrade to one of Obico’s Pro Plans at a special discounted rate. Learn more about the plan options":"When your three-month plan expires, you will have the change to upgrade to one of Obico’s Pro Plans at a special discounted rate. Learn more about the plan options","If you choose not to upgrade, your plan will be automatically reverted to an Obico Free Plan.":"If you choose not to upgrade, your plan will be automatically reverted to an Obico Free Plan.","As a valued Mintion customer, once your included plan expires, you can upgrade to a more advanced plan at a special discounted price. This offer is exclusively available for Mintion customers to ensure you continue to enjoy the benefits of Obico without interruption.":"As a valued Mintion customer, once your included plan expires, you can upgrade to a more advanced plan at a special discounted price. This offer is exclusively available for Mintion customers to ensure you continue to enjoy the benefits of Obico without interruption.","When your three-month plan expires, you will have the chance to upgrade to one of Obico’s Pro Plans at a special discounted rate. Learn more about the plan options":"When your three-month plan expires, you will have the chance to upgrade to one of Obico’s Pro Plans at a special discounted rate. Learn more about the plan options","Invalid coupon code. Please make sure the coupon code has not been used, and has not expired. If you believe you have a valid coupon code, please ":"Invalid coupon code. Please make sure the coupon code has not been used, and has not expired. If you believe you have a valid coupon code, please ","Oops! You already have an {brandName} Pro Plan...":"Oops! You already have an {{brandName}} Pro Plan...","Contact {brandName} support at":"Contact {{brandName}} support at","Activate Your {brandName} Pro Plan":"Activate Your {{brandName}} Pro Plan","As a valued Sovol customer, you are eligible for an exclusive Pro Plan discount. When you redeem your plan, you’ll be asked to enter your credit card so we can give you the exclusive 20% discount when your plan renews.":"As a valued Sovol customer, you are eligible for an exclusive Pro Plan discount. When you redeem your plan, you’ll be asked to enter your credit card so we can give you the exclusive 20% discount when your plan renews.","If you don’t want your plan to renew, you can cancel the plan so that it will not renew at any time.":"If you don’t want your plan to renew, you can cancel the plan so that it will not renew at any time.","I already paid for the Pro Plan. Why do I need to enter my credit card information again?":"I already paid for the Pro Plan. Why do I need to enter my credit card information again?","Your plan is fully covered for the first year. After the first year, the plan will renew with a special discount available exclusively for Sovol customers. You are free to cancel the plan at any time in the “Subscription” section of the {brandname} mobile or web app.":"Your plan is fully covered for the first year. After the first year, the plan will renew with a special discount available exclusively for Sovol customers. You are free to cancel the plan at any time in the “Subscription” section of the {{brandname}} mobile or web app.","Still have questions?":"Still have questions?","Contact":"Contact","{brandName} support.":"{{brandName}} support."," for ${month} / month (${hour} / AI Detection Hour). Billed ${year} annually.":" for ${{month}} / month (${{hour}} / AI Detection Hour). Billed ${{year}} annually."," for ${month} / month (${hour} / AI Detection Hour).":" for ${{month}} / month (${{hour}} / AI Detection Hour).","Calculate Plan Cost":"Calculate Plan Cost","Kingroon Connect Plans":"Kingroon Connect Plans","Free":"Free","Print occasionally.":"Print occasionally.","Unlimited Kingroon printers allowed":"Unlimited Kingroon printers allowed","Get Started":"Get Started","Basic webcam streaming":"Basic webcam streaming","100 {localizedDom} AI Detection Hours/month, 30s detection interval":"100 {localizedDom} AI Detection Hours/month, 30s detection interval","Basic":"Basic","300MB /mo tunnel data - Access Mainsail or Fluidd remotely":"300MB /mo tunnel data - Access Mainsail or Fluidd remotely","200MB total G-code cloud storage":"200MB total G-code cloud storage","Companion mobile app for {localizedDom} and {localizedDom2}":"Companion mobile app for {localizedDom} and {localizedDom2}","Android":"Android","iOS":"iOS","Remote printer access and control":"Remote printer access and control","Failure alerts and print status updates sent through push notification":"Failure alerts and print status updates sent through push notification","Community technical support":"Community technical support","Pro":"Pro","Print every day. 2+ printers.":"Print every day. 2+ printers.","$":"$","month":"month","(Billed {name} annually)":"(Billed {{name}} annually)","1st printer included":"1st printer included","2+ printers at $":"2+ printers at $","month / printer":"month / printer","View/Change Subscription":"View/Change Subscription","Full refund within 30 days if you are not happy.":"Full refund within 30 days if you are not happy.","Upgrade (30-Day Money Back Guarantee)":"Upgrade (30-Day Money Back Guarantee)","Start 1 month FREE trial":"Start 1 month FREE trial","Premium webcam streaming":"Premium webcam streaming","100 {localizedDom} AI Detection Hours per month, 10s detection interval":"100 {localizedDom} AI Detection Hours per month, 10s detection interval","Advanced":"Advanced","Unlimited tunnel data - Access Mainsail or fluidd remotely":"Unlimited tunnel data - Access Mainsail or fluidd remotely","5GB total G-Code cloud storage":"5GB total G-Code cloud storage","Email technical support":"Email technical support","Printer feed sharing with premium streaming quality":"Printer feed sharing with premium streaming quality","Cloud Plans":"Cloud Plans","Thinking about self-hosting {brandName} Server instead?":"Thinking about self-hosting {{brandName}} Server instead?","Check out self-hosting vs {brandName} Cloud.":"Check out self-hosting vs {{brandName}} Cloud.","Limited to 1 printer.":"Limited to 1 printer.","10 free AI Detection Hours/month included":"10 free AI Detection Hours/month included","300MB /mo tunnel data":"300MB /mo tunnel data","G-Code cloud storage up to 50MB per file, 1GB total":"G-Code cloud storage up to 50MB per file, 1GB total","Notifications via Email, mobile push notification, Telegram, and more.":"Notifications via Email, mobile push notification, Telegram, and more.","300MB /mo integration with your favorite 3rd-party mobile apps":"300MB /mo integration with your favorite 3rd-party mobile apps","Calculate cost":"Calculate cost","50 free AI Detection Hours/month included":"50 free AI Detection Hours/month included","Unlimited tunnel data":"Unlimited tunnel data","G-Code cloud storage up to 500MB per file, 50GB total":"G-Code cloud storage up to 500MB per file, 50GB total","Unlimited integration with your favorite 3rd-party mobile apps":"Unlimited integration with your favorite 3rd-party mobile apps","Failure alerts via SMS (text message)":"Failure alerts via SMS (text message)","AI Detection Hour Packs":"AI Detection Hour Packs","Need more AI Detection Hours? Add the right amount of AI Detection Hours without burning a hole on your wallet.":"Need more AI Detection Hours? Add the right amount of AI Detection Hours without burning a hole on your wallet.","Pre-paid Pack":"Pre-paid Pack","Turn on AI failure detection only for the prints.":"Turn on AI failure detection only for the prints.","Available to all plans.":"Available to all plans.","Pre-paid AI Detection Hours never expire.":"Pre-paid AI Detection Hours never expire.","One Time Purchase.":"One Time Purchase.","for":"for","Start 1 month FREE trial + 250 FREE AI Detection Hours":"Start 1 month FREE trial + 250 FREE AI Detection Hours","Purchase Selected AI Detection Hour Pack":"Purchase Selected AI Detection Hour Pack","Subscribe&Save Packs":"Subscribe&Save Packs","AI failure detection for all prints.":"AI failure detection for all prints.","Available only as add-on to the Pro plan.":"Available only as add-on to the Pro plan.","Subscribed AI Detection Hours roll over month to month.":"Subscribed AI Detection Hours roll over month to month.","Subscribed AI Detection Hours expire when subscription ends.":"Subscribed AI Detection Hours expire when subscription ends.","You can change AI Detection Hour Pack or remove it from your Pro plan any time you want.":"You can change AI Detection Hour Pack or remove it from your Pro plan any time you want.","Upgrade to Pro with selected AI Detection Hour Pack":"Upgrade to Pro with selected AI Detection Hour Pack","Calculate Cost >>>":"Calculate Cost >>>","The Spaghetti Gallery":"The Spaghetti Gallery","End of public time-lapse list.":"End of public time-lapse list.","Loading...":"Loading...","Your 30-Day {localizedDom} Free Trial Has Started!":"Your 30-Day {localizedDom} Free Trial Has Started!","Pro Plan":"Pro Plan","{trialDaysLeft} Days Left on Your {localizedDom} Free Trial!":"{trialDaysLeft} Days Left on Your {localizedDom} Free Trial!","Unlimited, 25 FPS Premium Webcam Streaming":"Unlimited, 25 FPS Premium Webcam Streaming","250 Hours Watched by AI for Failure Detection":"250 Hours Watched by AI for Failure Detection","G-Code Remote Upload and Printing":"G-Code Remote Upload and Printing","Link your 3D printer now so that you can fully enjoy the 30-Day Free Trial":"Link your 3D printer now so that you can fully enjoy the 30-Day Free Trial","Link Printer":"Link Printer","It\'s as easy as 1-2-3":"It\'s as easy as 1-2-3","Just Checking Out":"Just Checking Out","Not a whole lot you can see without your printer linked":"Not a whole lot you can see without your printer linked","Not ready to start yet? {localizedDom} to pause your free trial.":"Not ready to start yet? {localizedDom} to pause your free trial.","Email us":"Email us"}')},3476:function(e,t,i){},"366c":function(e,t,i){"use strict";i("cc1d")},3957:function(e,t,i){e.exports=i.p+"img/polymer.webp"},"39be":function(e,t,i){"use strict";i("f064")},"3ad7":function(e,t,i){},"3c33":function(e,t,i){"use strict";i.d(t,"a",(function(){return a})),i.d(t,"b",(function(){return r}));var n=i("6c44");const a=(e,t,i=null)=>{const a=null===i?e:`${e}_${i}`;var r=Object(n["a"])()?localStorage.getItem(a):null,s=r||t;try{return JSON.parse(s)}catch(o){return s}},r=(e,t,i=null)=>{if(Object(n["a"])()){const n=null===i?e:`${e}_${i}`;localStorage.setItem(n,t)}}},"3ee0":function(e,t,i){e.exports=i.p+"img/printoid.webp"},"3fa0":function(e,t,i){},"42db":function(e,t,i){"use strict";i("18bd")},"438a":function(e,t,i){"use strict";i("d95b")},"439d":function(e,t,i){},"43f9":function(e,t,i){"use strict";i("3fa0")},"459e":function(e,t,i){"use strict";i("742c")},"45c5":function(e,t,i){"use strict";i("6005")},"45e1":function(e,t,i){"use strict";i("7ad3")},4650:function(e,t,i){},"47bd":function(e,t,i){"use strict";i("2bcb")},"49b1":function(e,t,i){"use strict";i("559c")},"4b61":function(e,t,i){"use strict";i("6333")},"4de7":function(e,t,i){e.exports=i.p+"img/webpage-multiple.svg"},5062:function(e,t,i){},"521d":function(e,t,i){},"559c":function(e,t,i){},"56d7":function(e,t,i){"use strict";i.r(t);var n=i("a026"),a=i("8c4f"),r=i("5886"),s=i("3c33");const o=(e,t,i)=>{let a=document.createElement("div");const r=new n["default"]({render:i=>i(e,{props:t})}).$mount(a);return n["default"].swal({...i,customClass:{container:"dark-backdrop"},html:'
Placeholder
',onBeforeOpen:e=>{e.querySelector("#replace-here").replaceWith(r.$el)},onDestroy:()=>{r.$destroy(),a.remove()}})},l=(e,t,i)=>n["default"].swal({...i,customClass:{container:"dark-backdrop"},html:'
Placeholder
',onBeforeOpen:t=>{t.querySelector("#replace-here").replaceWith(e)}}),c=(e,t)=>{e.use(r["a"],t);const i=e.swal.mixin({title:"Are you sure?",showCancelButton:!0,confirmButtonText:"Yes",cancelButtonText:"No",customClass:{container:"dark-backdrop"}}),n=e.swal.mixin({toast:!0,position:"top-end",showConfirmButton:!1,timer:5e3}),a=e.swal.mixin({icon:"error",customClass:{container:"dark-backdrop error-alert"}}),c=e.swal.mixin({customClass:{container:"dark-backdrop"}}),d=(t,i)=>{if(!Object(s["a"])(i,!1)){const n={...t,position:"top-end",confirmButtonText:"Gotcha! Don't show this again."};return e.swal(n).then((function(e){e.value&&(Object(s["b"])(i,!0),console.log(e))}))}};e.prototype.$swal["openModalWithComponent"]=o,e.prototype.$swal["openModalWithElement"]=l,e.prototype.$swal["Confirm"]=i,e.prototype.$swal["Toast"]=n,e.prototype.$swal["DismissableToast"]=d,e.prototype.$swal["Reject"]=a,e.prototype.$swal["Prompt"]=c};var d={install:c},u=i("5f5b"),p=i("c0eb"),h=i("2ead"),m=i.n(h);n["default"].filter("floor",e=>Math.floor(e));const f=/(?:^|[-_/])(\w)/g,g="root",v="anonymous component",b=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^/]+?|)(\.[^./]*|))(?:[/]*)$/,y=e=>{const t=b.exec(e);return t?t.slice(1):[]},w=(e,t)=>{let i=y(e)[2];return t&&i.substr(-1*t.length)===t&&(i=i.substr(0,i.length-t.length)),i},_=e=>{if(!e)return v;if(e.$root===e)return g;if(!e.$options)return v;if(e.$options.name)return e.$options.name;if(e.$options._componentTag)return e.$options._componentTag;if(e.$options.__file){const t=e.$options.__file.replace(/^[a-zA-Z]:/,"").replace(/\\/g,"/"),i=w(t,".vue");return i.replace(f,(e,t)=>t?t.toUpperCase():"")}return v},C=(e,t,i,n,a,r)=>{let s=0;for(let o in t){if(s+=1,s>r)break;"object"==typeof t[o]?a>n&&C(e,t[o],i+"."+o,n+1,a,r):e[i+"."+o]=t[o]}},k=e=>{const t=e.config.errorHandler;e.config.errorHandler=(i,n,a)=>{if(window.Sentry){const e={};let t=n;if(n._original&&(t=n._original),t)try{e.componentName=_(t),C(e,JSON.parse(JSON.stringify(t.$options.propsData)),"props",0,2,10)}catch(r){console.log("Unable to extract metadata from Vue component.")}a&&(e.lifecycleHook=a),setTimeout(()=>{window.Sentry.getCurrentHub().withScope(t=>{t.setContext("vue",e),window.Sentry.getCurrentHub().captureException(i)})})}"function"===typeof t&&t.call(e,i,n,a),e.util&&e.util.warn(`Error in ${a}: "${i.toString()}"`,n),console.error(i)}};var P=k,S=i("0fb5"),D=i("fc02"),x=i.n(D),T=i("eaf3"),I=i("67b0"),F=function(){var e=this,t=e._self._c;return t("div",{staticClass:"wrapper"},[t("b-spinner")],1)},A=[],$={name:"LoadingPlaceholder"},O=$,N=(i("0c5c"),i("2877")),L=Object(N["a"])(O,F,A,!1,null,"26c9d5fe",null),M=L.exports,E=function(){var e=this,t=e._self._c;return t("svg",e._b({},"svg",e.$attrs,!1),[t("use",{attrs:{"xlink:href":e.syndicateAwareHref}})])},R=[],z={name:"SyndicateAwareSVG",props:["href"],computed:{syndicateAwareHref(){return"base"===this.$syndicate?this.href:`#${this.$syndicate}-${this.href.slice(1)}`}}},B=z,U=Object(N["a"])(B,E,R,!1,null,null,null),j=U.exports,W=i("c1df"),H=i.n(W),V=i("be33"),Y=i("ad3d"),G=i("0692"),K=i("d2a3"),q=i.n(K),J=i("11ca"),Z=i("4ab5"),Q=i("1c9d");const X={base:{brandName:"Obico",docRoot:"https://www.obico.io/docs",appRoot:"https://app.obico.io"},yumi:{brandName:"Yumi",docRoot:"https://www.obico.io/docs",appRoot:"https://app.obico.io"},mintion:{brandName:"Mintion",docRoot:"https://www.obico.io/docs",appRoot:"https://app.obico.io"},kingroon:{brandName:"Kingroon",docRoot:"https://docs.kingroon.com/docs",appRoot:"https://app.kingroon.com"}};n["default"].prototype.$syndicate=Object(Q["e"])().name,n["default"].prototype.$syndicateText=X[Object(Q["e"])().name||"base"]||X.base;var ee=(e,t)=>{Object(S["b"])(),P(n["default"]),n["default"].use(a["a"]),n["default"].use(u["a"]),n["default"].use(d),n["default"].use(p["a"]),n["default"].use(m.a),n["default"].use(x.a),n["default"].use(T["a"]),n["default"].use(I["a"]),n["default"].use(q.a,{i18next:G["a"]}),n["default"].mixin({methods:{errorDialog:function(e,t){console.error("logError",e),t&&this.$swal.Reject.fire({title:""+this.$i18next.t("Error"),html:`

\n ${t}.\n ${this.$i18next.t("Get help from")} ${this.$i18next.t("the {brandName} for Klipper support forum",{brandName:this.$syndicateText.brandName})} ${this.$i18next.t("or")} ${this.$i18next.t("the {brandName} general support forum",{brandName:this.$syndicateText.brandName})} ${this.$i18next.t("if this error persists.")}\n

`,showConfirmButton:!1,showCancelButton:!0,cancelButtonText:"Close"})},getDocUrl(e){return this.$syndicateText.docRoot+e},getAppUrl(e){return e?this.$syndicateText.appRoot+e:this.$syndicateText.appRoot}}}),n["default"].component("LoadingPlaceholder",M),n["default"].component("SyndicateAwareSVG",j),V["c"].add(J["r"],J["k"],J["b"],J["c"],J["n"],J["h"],J["a"],J["j"],Z["a"],J["p"],J["f"],J["g"],J["i"],J["o"],J["l"],J["m"],J["e"],J["q"],J["d"]),n["default"].component("FontAwesomeIcon",Y["a"]),document.getElementById("app")&&new n["default"]({router:e,components:t}).$mount("#app"),H.a.updateLocale("en",{week:{dow:0}})},te=(i("13d5"),{email:{displayName:""+G["a"].t("Email"),componentName:"EmailPlugin"},twilio:{displayName:""+G["a"].t("SMS"),componentName:"TwilioPlugin"},pushbullet:{displayName:""+G["a"].t("Pushbullet"),componentName:"PushbulletPlugin"},discord:{displayName:""+G["a"].t("Discord"),componentName:"DiscordPlugin"},telegram:{displayName:""+G["a"].t("Telegram"),componentName:"TelegramPlugin"},pushover:{displayName:""+G["a"].t("Pushover"),componentName:"PushoverPlugin"},slack:{displayName:""+G["a"].t("Slack"),componentName:"SlackPlugin"},webhook:{displayName:""+G["a"].t("Webhook"),componentName:"WebhookPlugin"}});const ie={GeneralPreferences:"/user_preferences/general/",ThemePreferences:"/user_preferences/personalization/",ProfilePreferences:"/user_preferences/profile/",AuthorizedApps:"/user_preferences/authorized_apps/",GeneralNotifications:"/user_preferences/general_notifications/",PushNotifications:"/user_preferences/mobile_push_notifications/"},ne=Object.keys(te).reduce((e,t)=>Object.assign(e,{[t]:`/user_preferences/notification_${t}/`}),{});var ae={...ie,...ne},re=function(){var e=this,t=e._self._c;return t("b-container",[t("b-row",{staticClass:"justify-content-center"},[e.user?t("b-col",{staticClass:"mt-3",attrs:{lg:"8"}},[0===e.printersToShow.length?t("div",{staticClass:"wizard-container full-on-mobile"},[t("b-container",[t("b-row",[t("div",{staticClass:"col-sm-12 col-md-8 offset-md-2 col-lg-6 offset-lg-3"},[t("svg",{staticClass:"logo-img",attrs:{viewBox:"0 0 1965 240"}},[t("use",{attrs:{href:"#svg-logo-compact"}})])])]),t("b-row",[t("h1",{staticClass:"mx-auto"},[e._v(e._s(e.$t("Welcome To"))+" "+e._s(e.$syndicateText.brandName))])]),t("b-row",[t("b-col",[t("hr")])],1),e.isEnt&&e.trialDaysLeft>0?t("b-row",[t("b-col",[e.trialDaysLeft>=29?t("h3",{staticClass:"py-3"},[t("i18next",{attrs:{translation:e.$t("Your 30-Day {localizedDom} Free Trial Has Started!")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("a",{staticClass:"link",attrs:{target:"_blank",href:e.getDocUrl("/user-guides/upgrade-to-pro/")}},[e._v(e._s(e.$t("Pro Plan")))])]},proxy:!0}],null,!1,2641834975)})],1):t("h3",{staticClass:"py-3"},[t("i18next",{attrs:{translation:e.$t("{trialDaysLeft} Days Left on Your {localizedDom} Free Trial!")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("a",{staticClass:"link",attrs:{target:"_blank",href:e.getDocUrl("/user-guides/upgrade-to-pro/")}},[e._v(e._s(e.$t("Pro Plan"))+" ")])]},proxy:!0},{key:"trialDaysLeft",fn:function(){return[e._v(" "+e._s(e.trialDaysLeft)+" ")]},proxy:!0}],null,!1,1171636685)})],1),t("div",{staticClass:"pb-1"},[t("i",{staticClass:"feature-check fas fa-check-circle"}),t("span",{staticClass:"feature-text"},[e._v(e._s(e.$t("Unlimited Secure Tunnel to your {platformDisplayName}",{platformDisplayName:e.platformDisplayName})))])]),t("div",{staticClass:"pb-1"},[t("i",{staticClass:"feature-check fas fa-check-circle"}),t("span",{staticClass:"feature-text"},[e._v(e._s(e.$t("Premium 25 FPS Webcam Streaming")))])]),t("div",{staticClass:"pb-1"},[t("i",{staticClass:"feature-check fas fa-check-circle"}),t("span",{staticClass:"feature-text"},[e._v(e._s(e.$t("250 AI Failure Detection Hours")))])]),t("div",{staticClass:"pb-1"},[t("i",{staticClass:"feature-check fas fa-check-circle"}),t("span",{staticClass:"feature-text"},[e._v(e._s(e.$t("G-Code Remote Upload and Printing")))])]),t("div",{staticClass:"lead py-4"},[e._v(e._s(e.$t("{platformDisplayName} has not been linked to your {brandName} account.",{platformDisplayName:e.platformDisplayName,brandName:e.$syndicateText.brandName})))]),t("div",{staticClass:"d-flex flex-column align-center justify-content-center"},[t("div",[t("a",{staticClass:"btn btn-primary btn-block mx-auto btn-lg",attrs:{href:e.wizardUrl}},[e._v(e._s(e.$t("Link {platformDisplayName} Now",{platformDisplayName:e.platformDisplayName})))])]),t("div",[t("div",{staticClass:"text-muted mx-auto text-center font-weight-light"},[e._v(" "+e._s(e.$t("It's as easy as 1-2-3."))+" ")])])])])],1):e._e(),t("div",{staticClass:"footer-note small"},[t("i18next",{attrs:{translation:e.$t("Not ready to start yet? {localizedDom} to pause your free trial.")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("a",{attrs:{href:"mailto:support@obico.io?subject=Please%20pause%20my%20free%20trial"}},[e._v(e._s(e.$t("Email us")))])]},proxy:!0}],null,!1,51292438)})],1)],1)],1):t("div",[t("div",{staticClass:"text-center"},[t("svg",{attrs:{width:"100",height:"30"}},[t("use",{attrs:{href:"#svg-logo-full"}})])]),e.authorized?t("div",{staticClass:"authorization-successful"},[t("h4",{staticClass:"title"},[e._v(e._s(e.$t("Authorization Successful!")))]),t("p",[e._v(e._s(e.$t("You can close this page")))])]):t("div",[t("div",[t("div",{staticClass:"lead text-center mt-3 mb-5"},[e._v(e._s(e.$t("Tunnel Access Authorization")))]),t("h4",{staticClass:"my-4"},[t("span",{staticClass:"font-weight-bold"},[e._v(e._s(e.appDisplayName))]),e._v(" "+e._s(e.$t("is requesting to access you {platformDisplayName} Tunnel.",{platformDisplayName:e.platformDisplayName}))+" ")]),t("p",{staticClass:"text-muted"},[t("a",{attrs:{href:e.getDocUrl("/user-guides/octoprint-tunneling/"),target:"_blank"}},[e._v(e._s(e.platformDisplayName)+" "+e._s(e.$t("Tunnel")))]),t("i18next",{attrs:{translation:e.$t("is a secure way provided by {localizedDom} to remotely access your {platformDisplayName}. With the {platformDisplayName} Tunnel, you can use {appDisplayName} to access your {platformDisplayName} from anywhere.")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("a",{attrs:{href:"https://www.obico.io/",target:"_blank"}},[e._v(e._s(e.$syndicateText.brandName))])]},proxy:!0},{key:"platformDisplayName",fn:function(){return[e._v(" "+e._s(e.platformDisplayName)+" ")]},proxy:!0},{key:"appDisplayName",fn:function(){return[e._v(" "+e._s(e.appDisplayName)+" ")]},proxy:!0}],null,!1,145365998)})],1),e.user.is_pro?e._e():t("b-alert",{staticClass:"my-3",attrs:{variant:"warning",dismissible:"",show:""}},[t("div",[t("i",{staticClass:"fas fa-exclamation-triangle"}),t("i18next",{attrs:{translation:e.$t("Tunnel usage of a free account is {localizedDom} to enjoy unlimited tunnel usage.")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("a",{attrs:{href:e.getDocUrl("/user-guides/octoprint-tunneling/#why-is-the-limit-on-free-account-only-100mb"),target:"_blank"}},[e._v(e._s(e.$t("capped at 300MB per month")))]),e._v(". "+e._s(e.$t("You can"))+" "),t("a",{attrs:{href:e.getAppUrl("/ent_pub/pricing/"),target:"_blank"}},[e._v(e._s(e.$t("upgrade to the {brandName} app Pro plan for 1 Starbucks a month",{brandName:e.$syndicateText.brandName})))])]},proxy:!0}],null,!1,2385482320)})],1)]),e.user.is_pro&&e.trialDaysLeft>0?t("b-alert",{staticClass:"my-3",attrs:{variant:"warning",dismissible:"",show:""}},[t("div",[t("i",{staticClass:"fas fa-exclamation-triangle"}),t("i18next",{attrs:{translation:e.$t("After the Free trial expires, tunnel data usage will be {localizedDom} to continue enjoying unlimited tunnel usage.")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("a",{attrs:{href:e.getDocUrl("/user-guides/octoprint-tunneling/#why-is-the-limit-on-free-account-only-100mb"),target:"_blank"}},[e._v(e._s(e.$t("capped at 300MB per month")))]),e._v(". "+e._s(e.$t("You can"))+" "),t("a",{attrs:{href:e.getAppUrl("/ent_pub/pricing/"),target:"_blank"}},[e._v(e._s(e.$t("upgrade to the {brandName} app Pro plan for 1 Starbucks a month",{brandName:e.$syndicateText.brandName})))])]},proxy:!0}],null,!1,2385482320)})],1)]):e._e(),t("div",{staticClass:"mt-5"},[t("p",{staticClass:"lead"},[t("i18next",{attrs:{translation:e.$t("Tunnel access by {localizedDom} (make sure you trust it)")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("span",{staticClass:"font-weight-bold"},[e._v(e._s(e.appDisplayName))])]},proxy:!0}],null,!1,460061086)})],1),0===e.printersToShow.length?t("h5",[e._v(e._s(e.$t("You have 0 active printers")))]):1===e.printersToShow.length?t("h5",{staticClass:"font-weight-bold"},[e._v(" "+e._s(e.printersToShow[0].name)+" ")]):e.printersToShow.length>1?t("select",{directives:[{name:"model",rawName:"v-model",value:e.printerToAuthorize,expression:"printerToAuthorize"}],staticClass:"custom-select",on:{change:function(t){var i=Array.prototype.filter.call(t.target.options,(function(e){return e.selected})).map((function(e){var t="_value"in e?e._value:e.value;return t}));e.printerToAuthorize=t.target.multiple?i:i[0]}}},[t("option",{attrs:{selected:"",disabled:""},domProps:{value:null}},[e._v(e._s(e.$t("Please select a printer")))]),e._l(e.printersToShow,(function(i){return t("option",{key:i.id,domProps:{value:i.id}},[e._v(" "+e._s(i.name)+" ")])}))],2):e._e(),e.printersToShow.length?t("div",{staticClass:"d-flex mt-4 mb-3"},[t("button",{staticClass:"btn btn-primary",staticStyle:{flex:"1"},attrs:{disabled:!e.printerToAuthorize||e.performingAuthRequest},on:{click:e.authorize}},[e.performingAuthRequest?t("b-spinner",{attrs:{small:"",label:"Loading..."}}):t("span",[e._v(e._s(e.$t("Authorize")))])],1),t("a",{staticClass:"btn btn-outline-secondary ml-2",staticStyle:{flex:"1"},attrs:{href:"/user_preferences/authorized_apps"}},[e._v(e._s(e.$t("Manage Apps")))])]):e._e()])],1),t("div",{staticClass:"mt-4"},[t("p",{staticClass:"text-muted small mb-1"},[e._v(e._s(e.$t("Security notes"))+":")]),t("ul",{staticClass:"text-muted small pl-4"},[t("li",[e._v(" "+e._s(e.$t("The app can only access the tunnel, not your {brandName} account info such as your email address.",{brandName:e.$syndicateText.brandName}))+" ")]),t("li",[e._v(" "+e._s(e.$t("The access remains valid until explicitly revoked. You can revoke the access by going to Preferences -> Authorized Apps."))+" ")])])])])]),t("div",{staticClass:"text-center pt-3 w-100"},[t("a",{staticClass:"btn btn-secondary",attrs:{href:e.logoutUrl}},[e._v(e._s(e.$t("Log Out")))])])]):t("b-col",{staticClass:"mt-5"},[t("div",[t("b-container",[t("div",{staticClass:"d-flex justify-content-center align-items-center"},[t("img",{staticClass:"logo-icon",attrs:{src:e.appLogo}}),t("h3",[e._v("⇄")]),t("svg",{staticClass:"logo-icon obico"},[t("use",{attrs:{href:"#svg-logo-compact"}})]),t("h3",[e._v("⇄")]),t("img",{staticClass:"logo-icon",attrs:{src:e.platformLogo}})]),t("div",{staticClass:"my-4"},[t("div",{staticClass:"mx-auto text-center"},[t("h4",[e._v(e._s(e.$t("Free {platformDisplayName} Tunnel",{platformDisplayName:e.platformDisplayName})))]),t("div",{staticClass:"lead"},[e._v(e._s(e.$t("Powered by {brandName}",{brandName:e.$syndicateText.brandName})))])])]),t("div",{staticClass:"account-details"},[t("p",[e._v(" "+e._s(e.$t("With the Free {platformDisplayName} Tunnel by {brandName}, you can now use {appDisplayName} to",{platformDisplayName:e.platformDisplayName,brandName:e.$syndicateText.brandName,appDisplayName:e.appDisplayName}))+" "),t("a",{attrs:{href:e.getDocUrl("/user-guides/octoprint-tunneling/#why-is-the-limit-on-free-account-only-100mb"),target:"_blank"}},[e._v(" "+e._s(e.$t("securely control and monitor your printer from anywhere")))])]),t("ul",{staticClass:"text-muted"},[t("li",[e._v(e._s(e.$t("Unlimited realtime webcam at 0.1FPS.")))]),t("li",[e._v(e._s(e.$t("300MB monthly tunnel data cap (excluding webcam streaming).")))]),t("li",[e._v(e._s(e.$t("10 hours/mo AI failure detection.")))])]),t("div",[e._v(" 🔥🔥🔥 "),t("i18next",{attrs:{translation:e.$t("Upgrade to {brandName} Pro Account ({localizedDom}) to get premium features")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("a",{attrs:{href:e.getAppUrl("/ent_pub/pricing/"),target:"_blank"}},[e._v(e._s(e.$t("from $4/mo")))])]},proxy:!0},{key:"brandName",fn:function(){return[e._v(" "+e._s(e.$syndicateText.brandName)+" ")]},proxy:!0}])})],1),t("ul",[t("li",[e._v("📷"+e._s(e.$t("Unlimited realtime webcam streaming.")))]),t("li",[e._v("📶 "+e._s(e.$t("Unlimited tunnel data usage.")))]),t("li",[e._v("🤖 "+e._s(e.$t("50 hours/mo AI failure detection.")))]),t("li",[t("a",{attrs:{href:e.getAppUrl("/ent_pub/pricing/"),target:"_blank"}},[e._v(e._s(e.$t("And much more...")))])])])]),t("div",[t("div",{staticClass:"my-5 w-100"},[t("a",{staticClass:"btn btn-primary btn-block",attrs:{href:e.loginUrl}},[e._v(e._s(e.$t("SIGN IN ")))]),t("div",{staticClass:"text-center pt-3 w-100"},[t("div",{staticClass:"font-weight-light text-muted"},[e._v(e._s(e.$t("- OR -")))]),t("a",{staticClass:"btn",attrs:{href:e.signupUrl}},[e._v(e._s(e.$t("SIGN UP")))])])])])])],1)])],1)],1)},se=[],oe=(i("5494"),i("14d9"),i("cee4")),le=i("c7f6"),ce=i("9b02"),de=i.n(ce),ue=i("49d5"),pe=i.n(ue),he=i("0e49"),me=i.n(he);const fe=e=>{const t=Math.round(e||0),i=ge(t);if(0!==i.days){const e=i.hours+Math.round(i.minutes/60);return 24===e?i.days+1+"d 0h":`${i.days}d ${e}h`}if(0!==i.hours){if(60===i.minutes){const e=i.hours+1;return 24===e?"1d 0h":i.hours+1+"h 0m"}return`${i.hours}h ${i.minutes}m`}return i.minutes+"m"},ge=e=>{const t=H.a.duration(e||0,"seconds"),i=Math.floor(t.asDays()),n=t.hours(),a=t.minutes()+Math.round(t.seconds()/60);return{days:i,hours:n,minutes:a}},ve=e=>{const t=(e||0)/1e3,i=Math.round(100*t)/100;return i+"m"},be=(e,t="MMM D, h:mm a")=>{if(!e)return"-";let i=new Date,n=new Date(i.setSeconds(i.getSeconds()+e));return H()(n).format(t)},ye=[{name:"estimated_time",faIcon:"fas fa-clock",title:""+G["a"].t("Print duration estimate"),formatter:fe},{name:"filament_total",faIcon:"fas fa-ruler-horizontal",title:""+G["a"].t("Filament usage estimate"),formatter:ve},{name:"first_layer_bed_temp",svgIcon:"bed-temp",title:""+G["a"].t("First layer bed temperature"),formatter:e=>e+"°C"},{name:"first_layer_extr_temp",svgIcon:"extruder",title:""+G["a"].t("First layer extruder temperature"),formatter:e=>e+"°C"},{name:"first_layer_height",faIcon:"fas fa-layer-group",title:""+G["a"].t("First layer height"),formatter:e=>e+"mm"},{name:"layer_height",faIcon:"fas fa-layer-group",title:""+G["a"].t("Layer height"),formatter:e=>e+"mm"},{name:"object_height",faIcon:"fas fa-ruler-vertical",title:""+G["a"].t("Object height"),formatter:e=>Math.round(e)+"mm"},{name:"filament_type",svgIcon:"filament",title:""+G["a"].t("Filament type"),formatter:e=>e},{name:"filament_name",svgIcon:"filament",title:""+G["a"].t("Filament name"),formatter:e=>e},{name:"slicer",svgIcon:"slicer-program",title:""+G["a"].t("Slicer"),formatter:e=>e},{name:"slicer_version",svgIcon:"slicer-version",title:""+G["a"].t("Slicer version"),formatter:e=>e}];var we=i("6c44");const _e={"G-Code Downloading":{fromStates:["Operational"]},Starting:{fromStates:["Operational"]},Pausing:{fromStates:["Printing"]},Resuming:{fromStates:["Paused"]},Cancelling:{fromStates:["Printing","Paused"]}},Ce=(e,t)=>{const i=e.id;if(!Object(we["a"])())return;const n=`printer-${i}-state-transitioning`;localStorage.setItem(n+"-name",t);const a=new Date,r=e.isAgentVersionGte("2.3.7","1.4.2")?15:300,s=new Date(a.getTime()+1e3*r);localStorage.setItem(n+"-timeout",s)},ke=(e,t)=>{var i;const n=e.id;if(!Object(we["a"])())return t;if(!t)return Pe(n),null;const a=`printer-${n}-state-transitioning`,r=localStorage.getItem(a+"-name"),s=localStorage.getItem(a+"-timeout"),o=null===(i=_e[r])||void 0===i?void 0:i.fromStates;let l=t;return r&&s&&o&&(o.includes(t)?new Date>new Date(s)?(Pe(n),Se(e,r,t)):l=r:Pe(n)),l},Pe=e=>{Object(we["a"])()&&(localStorage.removeItem("printer-"+e+"-state-transitioning-name"),localStorage.removeItem("printer-"+e+"-state-transitioning-timeout"))},Se=(e,t,i)=>{var a;null===(a=window.Sentry)||void 0===a||a.captureMessage(`Transient state timeout: "${t}" -> "${i}" (printer ID: ${e.id})`),n["default"].swal.fire({icon:"error",title:""+G["a"].t("Printer not responding"),html:`${G["a"].t("The printer doesn't seem to be responding. Is it powered on and connected to the Internet? Please")} ${G["a"].t("report the problem to us")} ${G["a"].t("if this error repeats multiple times.")}`}).then(()=>{window.location.reload()})},De=e=>e?H()(e):null,xe={Printing:{key:"printing",title:"Printing...",isActive:!0},Paused:{key:"paused",title:"Paused",isActive:!0},Finished:{key:"finished",title:"Finished",isActive:!1},Cancelled:{key:"cancelled",title:"Cancelled",isActive:!1}},Te=e=>{if(e.started_at=De(e.started_at),e.uploaded_at=De(e.uploaded_at),e.finished_at=De(e.finished_at),e.cancelled_at=De(e.cancelled_at),e.ended_at=De(e.ended_at),e.ended_at){const t=H.a.duration(e.ended_at.diff(e.started_at));e.duration=fe(t.asSeconds())}return e.has_alerts=Boolean(e.alerted_at),e.printShotFeedbackEligible=e.printshotfeedback_set&&e.printshotfeedback_set.length>0,e.status=e.ended_at?e.cancelled_at?xe.Cancelled:xe.Finished:e.paused_at?xe.Paused:xe.Printing,e.printer&&(e.printer=Ae(e.printer)),e.g_code_file&&(e.g_code_file=Ie(e.g_code_file)),e},Ie=e=>{if(e){if(e.created_at=De(e.created_at),e.updated_at=De(e.updated_at),e.deleted=De(e.deleted),e.filesize=pe()(e.num_bytes),e.print_set&&(e.print_set.map(e=>Te(e)),e.print_set.sort((e,t)=>e.ended_at||t.ended_at?e.ended_at?t.ended_at?e.ended_at>t.ended_at?-1:e.ended_att.started_at?-1:e.started_ate.cancelled_at).length,e.successPrints=e.print_set.filter(e=>e.finished_at).length,e.totalPrints=e.print_set.length),e.metadata={},e.metadata_json)e.metadata=JSON.parse(e.metadata_json);else if(e.analysis){var t;let i;if(e.metadata.object_height=null===(t=e.analysis.dimensions)||void 0===t?void 0:t.height,e.metadata.estimated_time=e.analysis.estimatedPrintTime,e.analysis.filament){const t=Object.keys(e.analysis.filament);t.length&&(i=0,t.forEach(t=>{i+=e.analysis.filament[t].length}))}e.metadata.filament_total=i}else ye.forEach(t=>{e[t.name]&&(e.metadata[t.name]=e[t.name])});return Object.keys(e.metadata).forEach(t=>{null!==e.metadata[t]&&void 0!==e.metadata[t]||delete e.metadata[t]}),e.getBigThumbnailUrl=()=>e.thumbnail1_url||e.thumbnail2_url||e.thumbnail3_url,e.getSmallThumbnailUrl=()=>e.thumbnail3_url||e.thumbnail2_url||e.thumbnail1_url,e}},Fe=e=>(e.created_at=De(e.created_at),e.updated_at=De(e.updated_at),e.numItems=e.g_code_file_count+e.g_code_folder_count,e),Ae=(e,t)=>{const i={createdAt:function(){return De(this.created_at)},progressCompletion:function(){return de()(this,"status.progress.completion",0)},isOffline:function(){return null===de()(this,"status",null)},isPaused:function(){return de()(this,"status.state.flags.paused",!1)},isDisconnected:function(){return de()(this,"status.state.flags.closedOrError",!0)},isActive:function(){const e=de()(this,"status.state.flags");return Boolean(e&&e.operational&&(!e.ready||e.paused))||this.inTransientState()},inTransientState:function(){const e=this.calculatedState();return"Downloading G-Code"===e||e&&e.endsWith("ing")&&"Printing"!==e},calculatedState:function(){var e,t;return ke(this,null===(e=this.status)||void 0===e||null===(t=e.state)||void 0===t?void 0:t.text)},calculatedStateColor:function(){const e=this.calculatedState(),t={secondary:["Offline",void 0,null],success:["Operational"],neutral:["Printing","G-Code Downloading","Downloading G-Code","Starting"],warning:["Paused","Pausing","Resuming"],danger:["Cancelling"]};for(const[i,n]of Object.entries(t))if(n.includes(e))return i;return"neutral"},setTransientState:function(e){Ce(this,e),this.status&&(this.status={...this.status})},inUserInteractionRequired:function(){return de()(this,"status.user_interaction_required",!1)},hasError:function(){return de()(this,"status.state.flags.error")||de()(this,"status.state.text","").toLowerCase().includes("error")},isAgentMoonraker:function(){return"moonraker_obico"===de()(this,"agent_name","")},agentDisplayName:function(){return this.isAgentMoonraker()?"Klipper":"OctoPrint"},isAgentVersionGte:function(e,t){return"octoprint_obico"===de()(this,"settings.agent_name","")&&me()(de()(this,"settings.agent_version","0.0.0"),e)||"moonraker_obico"===de()(this,"settings.agent_name","")&&me()(de()(this,"settings.agent_version","0.0.0"),t)},alertUnacknowledged:function(){return de()(this,"current_print.alerted_at")&&H()(de()(this,"current_print.alerted_at")).isAfter(H()(de()(this,"current_print.alert_acknowledged_at")||0))},isPrintable:function(){return!this.isOffline()&&!this.isDisconnected()&&!this.isActive()&&!this.archived_at},printabilityText:function(){return this.isPrintable()?"Ready":"Unavailable"}};return t?(de()(t,"status._ts",-1)>de()(e,"status._ts",de()(t,"status._ts",0))&&delete e.status,{...t,...e,...i}):{...e,...i}},$e=e=>(e.created_at=De(e.created_at),e);var Oe=i("222b"),Ne=i.n(Oe),Le=i("ca14"),Me=i.n(Le),Ee=i("3957"),Re=i.n(Ee),ze=i("3ee0"),Be=i.n(ze),Ue=i("d61a"),je=i.n(Ue),We=i("d1d5"),He=i.n(We),Ve=i("2e7f"),Ye=i.n(Ve),Ge=i("886f"),Ke=i.n(Ge),qe={name:"NewOctoPrintTunnelPage",components:{},data(){return{user:null,printers:[],printerId:null,printerToAuthorize:null,performingAuthRequest:!1,authorized:!1}},computed:{printersToShow(){return this.printerId?this.printers.filter(e=>e.id==this.printerId):this.printers},loginUrl(){return"/accounts/login/?hide_navbar=true&next="+encodeURIComponent(window.location.pathname+window.location.search)},logoutUrl(){return"/accounts/logout/?hide_navbar=true&next="+encodeURIComponent(window.location.pathname+window.location.search)},signupUrl(){return"/accounts/signup/?hide_navbar=true&next="+encodeURIComponent(window.location.pathname+window.location.search)},wizardUrl(){return"/printers/wizard/?redirectToTunnelCreation="+encodeURIComponent(window.location.pathname+window.location.search)},appName(){return new URLSearchParams(window.location.search).get("app")||"Unknown App"},platform(){return new URLSearchParams(window.location.search).get("platform")},trialDaysLeft(){var e,t;return"pro-trial"!==(null===(e=this.user)||void 0===e||null===(t=e.subscription)||void 0===t?void 0:t.plan_id)?-1:H()(this.user.subscription.expired_at).diff(H()(),"days")+1},appLogo(){switch(this.appName.toLowerCase()){case"octopod":return Ne.a;case"printoid":return Be.a;case"polymer":return Re.a;case"octoapp":return Me.a;case"mobileraker-ios":return je.a;case"mobileraker-android":return je.a;default:return He.a}},appDisplayName(){return this.appName.toLowerCase().includes("mobileraker")?"Mobileraker":this.appName},isKlipper(){if(this.platform){if("klipper"===this.platform.toLowerCase())return!0}else if(this.appName.toLowerCase().includes("mobileraker"))return!0;return!1},platformLogo(){return this.isKlipper?Ke.a:Ye.a},platformDisplayName(){return this.isKlipper?"Klipper":"OctoPrint"}},created(){this.user=Object(Q["f"])();const{IS_ENT:e}=Object(Q["d"])();this.isEnt=!!e,this.printerId=new URLSearchParams(window.location.search).get("printer_id"),this.user&&this.fetchPrinters()},methods:{fetchPrinters(){return oe["a"].get(le["a"].printers()).then(e=>{e.data.forEach(e=>{this.printers.push(Ae(e))}),1==this.printersToShow.length&&(this.printerToAuthorize=this.printersToShow[0].id)})},authorize(){this.printersToShow.length&&(this.performingAuthRequest=!0,oe["a"].post(le["a"].tunnels(),{app_name:this.appName,target_printer_id:this.printerToAuthorize||this.printersToShow[0].id}).then(e=>{this.authorized=!0;const t=e.data.tunnel_endpoint,i=new URLSearchParams(window.location.search).get("success_redirect_url")||"/tunnels/succeeded/";window.location.replace(`${i}?tunnel_endpoint=${t}`)}).catch(e=>{this.performingAuthRequest=!1,this.errorDialog(e)}))}}},Je=qe,Ze=(i("94f0"),Object(N["a"])(Je,re,se,!1,null,"0e2f9398",null)),Qe=Ze.exports,Xe=function(){var e=this,t=e._self._c;return t("div",[!e.isPro&&e.usageFetched?t("div",{staticClass:"floating-panel"},[e.showDetails?t("div",{on:{click:function(t){e.showDetails=!1},mouseover:function(t){e.showDetails=!0},mouseleave:function(t){e.showDetails=!1}}},[t("div",{staticClass:"text-muted"},[t("i18next",{attrs:{translation:e.$t("Monthly data usage ({localizedDom})")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("a",{attrs:{href:e.getDocUrl("/user-guides/octoprint-tunneling/#is-octoprint-tunneling-free-to-all-users"),target:"_blank"}},[e._v(e._s(e.$t("Resets in {daysUntilReset} days",{daysUntilReset:e.daysUntilReset})))])]},proxy:!0}],null,!1,1207903965)})],1),t("div",{class:e.usageClass},[e._v(e._s(e.$t("Used {usageMTD} of {humanizedUsageCap}.",{usageMTD:e.usageMTD,humanizedUsageCap:e.humanizedUsageCap})))]),e.overage?t("div",[e._v(" "+e._s(e.$t("Your month-to-date tunnel data usage is over the Free plan limit."))+" "),t("a",{staticClass:"btn btn-sm btn-primary",attrs:{type:"button",href:"/ent_pub/pricing/"}},[e._v(e._s(e.$t("Get Unlimited Tunnel Data")))])]):e._e()]):t("div",{class:e.usageClass,on:{click:function(t){e.showDetails=!0},mouseover:function(t){e.showDetails=!0},mouseleave:function(t){e.showDetails=!1}}},[e._v(" "+e._s(e.percentage)+"% ")])]):e._e(),t("div",[e.printerId?t("iframe",{staticClass:"tunnel-iframe",attrs:{src:e.iframeUrl()+"#temp"}}):e._e()])])},et=[],tt=i("6625"),it=i.n(tt),nt={name:"OctoPrintTunnelPage",components:{},props:{},data:function(){return{bytesMTD:null,usageCap:null,usageFetched:!1,isPro:!0,printerId:null,showDetails:!1}},computed:{usageClass(){return{"text-success":this.bytesMTD<.8*this.usageCap,"text-warning":this.bytesMTD>=.8*this.usageCap&&this.bytesMTD=this.usageCap}},usageMTD(){return pe()(this.bytesMTD)},humanizedUsageCap(){return pe()(this.usageCap)},overage(){return this.bytesMTD>=this.usageCap},percentage(){return Math.round(this.bytesMTD/this.usageCap*100)},daysUntilReset(){const e=H()().endOf("month");return e.diff(H()(),"days")+1}},created(){this.isPro=Object(Q["f"])().is_pro,this.printerId=it()(window.location.pathname,"/").slice(-2,-1).pop()},mounted(){const e=Object(we["a"])()?localStorage.getItem("skip-tunneling-warning"):null;"yes"!==e&&(this.$swal.Prompt.fire({html:`\n

\n \n \n \n ${this.$i18next.t("OctoPrint/Klipper Secure Tunnel")}\n

\n
\n ${this.$i18next.t("It may take long time for OctoPrint/Mainsail/Fluidd page to load as it is securely tunneled via the {brandName} app server.",{brandName:this.$syndicateText.brandName})}\n
\n \n `,input:"checkbox",inputPlaceholder:""+this.$i18next.t("Don't show again")},"octoprint-tunnel.warning").then(e=>{e.isConfirmed&&e.value&&Object(we["a"])()&&localStorage.setItem("skip-tunneling-warning","yes")}),window.matchMedia("(pointer:none), (pointer:coarse)")&&document.querySelector(".swal2-popup").classList.add("x150"));const t=this,i=(e=!1)=>{oe["a"].get(le["a"].tunnelUsage()).then(i=>{t.bytesMTD=i.data.total,t.usageCap=i.data.monthly_cap,e&&(t.usageFetched=!0)})};setInterval(i,15e3),setTimeout(()=>{i(!0)},4e3)},methods:{iframeUrl(){return`/octoprint/${this.printerId}/`}}},at=nt,rt=(i("ee55"),i("b519"),Object(N["a"])(at,Xe,et,!1,null,"36042095",null)),st=rt.exports,ot=function(){var e=this,t=e._self._c;return t("page-layout",{scopedSlots:e._u([{key:"content",fn:function(){return[t("b-container",{staticClass:"feedback-container"},[t("b-row",{staticClass:"justify-content-center"},[t("b-col",{attrs:{lg:"8"}},[t("div",{staticClass:"card"},[t("h5",{staticClass:"card-header text-center"},[e._v(" F "),t("i",{staticClass:"fas fa-search focused-feedback-icon"}),e._v(e._s(e.$t("CUSED FEEDBACK"))+" ")]),t("loading",{attrs:{active:null===e.print,"is-full-page":!0}}),null!==e.print?t("div",[e.print.access_consented_at?t("div",[t("div",[t("vue-slick-carousel",{ref:"carousel",attrs:{arrows:!1,dots:!0},on:{afterChange:e.onNextShot},scopedSlots:e._u([{key:"customPaging",fn:function(i){return[t("div",{class:e.pageClass(i)},[e._v("•")])]}}],null,!1,3226812120)},e._l(e.shots,(function(i,n){return t("print-shot-card",{key:n,attrs:{shot:i},on:{shotChanged:e.onShotChanged,prev:e.onPrev,next:e.onNext}})})),1)],1),t("br"),t("div",{staticClass:"card-body p-3"},[t("a",{attrs:{href:`/print_history/${e.print.id}/`}},[t("i",{staticClass:"fas fa-chevron-left"}),e._v(" "+e._s(e.$t("Print Page"))+" ")])])]):t("focused-feedback-consent",{attrs:{print:e.print},on:{"continue-btn-pressed":e.consentBtnPressed}})],1):e._e()],1)])],1)],1)]},proxy:!0}])})},lt=[],ct=i("c707"),dt=i.n(ct),ut=i("51f5"),pt=i.n(ut),ht=i("a7ab"),mt=i.n(ht),ft=(i("7b8d"),i("6a2c"),i("18fa")),gt=i.n(ft),vt=(i("e40d"),function(){var e=this,t=e._self._c;return t("div",[t("img",{staticClass:"card-img-top",attrs:{src:e.shot.image_url}}),t("div",{staticClass:"px-3 pt-4"},[t("b-form-group",{attrs:{label:"Do you see any spaghetti in this picture?"}},[t("b-form-radio-group",{attrs:{options:e.options},on:{change:e.updateShot},model:{value:e.answer,callback:function(t){e.answer=t},expression:"answer"}})],1),t("small",{staticClass:"text-muted"},[e._v(" "+e._s(e.$t("Not sure? Look at"))+" "),t("a",{attrs:{target:"_blank",href:e.getDocUrl("/user-guides/how-does-credits-work#spaghetti-examples")}},[e._v(e._s(e.$t("some examples. "))),e._m(0)])]),t("div",{staticClass:"navigation-container my-4",staticStyle:{display:"flex"}},[t("b-button",{attrs:{variant:"outline-secondary"},on:{click:function(t){return e.$emit("prev")}}},[t("i",{staticClass:"fas fa-chevron-left"}),e._v("  "+e._s(e.$t("Previous"))+" ")]),t("b-button",{attrs:{variant:"outline-secondary"},on:{click:function(t){return e.$emit("next")}}},[e._v(" "+e._s(e.$t("Next"))+"  "),t("i",{staticClass:"fas fa-chevron-right"})])],1)],1)])}),bt=[function(){var e=this,t=e._self._c;return t("small",[t("i",{staticClass:"fas fa-external-link-alt"})])}],yt=i("8226"),wt=i("2924"),_t={name:"PrintShotCard",components:{BFormGroup:yt["a"],BFormRadioGroup:wt["a"]},props:{shot:{type:Object,required:!0}},data(){return{answer:this.shot.answer,options:[{text:"Yes",value:"LOOKS_BAD"},{text:"No",value:"LOOKS_OK"},{text:"I am not sure",value:"UNDECIDED"}]}},methods:{updateShot:function(e){oe["a"].put(le["a"].printShotFeedback(this.shot.id,this.shot.print_id),{answer:e}).then(e=>{const{instance:t,credited_dhs:i}=e.data;i>0?this.$swal.Prompt.fire({title:""+this.$i18next.t("You are awesome!"),html:`

${this.$i18next.t("The AI failure detection just got a little better because of your feedback!")}

${this.$i18next.t("You just earned 2 non-expirable AI Detection Hours - Yay!")}

`,confirmButtonText:""+this.$i18next.t("I'm done!"),showCancelButton:!0,cancelButtonText:""+this.$i18next.t("Change feedback")}).then(e=>{e.isConfirmed?window.location.href="/print_history/":this.$emit("shotChanged",t)}):this.$emit("shotChanged",t)})}}},Ct=_t,kt=(i("071c"),Object(N["a"])(Ct,vt,bt,!1,null,"72de57d5",null)),Pt=kt.exports,St=function(){var e=this,t=e._self._c;return t("div",{staticClass:"page-wrapper",class:{collapsed:e.collapsed,"is-in-mobile":e.inMobileWebView,"is-in-popup":e.isPopup}},[t("nav",{staticClass:"side-nav"},[t("a",{staticClass:"sidebar-header",attrs:{href:"/"}},[t("SyndicateAwareSVG",{attrs:{href:"#svg-logo-compact",width:"100",height:"30"}})],1),t("ul",{staticClass:"list-unstyled m-0"},[e.isEnt&&!e.user.is_pro?t("li",{class:{active:"/ent_pub/pricing/"===e.path}},[t("a",{staticClass:"primary",attrs:{href:"/ent_pub/pricing/"}},[t("font-awesome-icon",{attrs:{icon:"star"}}),e._v(" "+e._s(e.$t("Upgrade to Pro"))+" ")],1)]):e._e(),e.user?t("li",{class:{active:e.path.includes("/printers/")}},[t("a",{attrs:{href:"/printers/"}},[t("svg",{staticStyle:{"margin-bottom":"5px"},attrs:{width:"1.4em",height:"1.4em"}},[t("use",{attrs:{href:"#svg-3d-printer"}})]),t("br"),e._v(" "+e._s(e.$t("Printers"))+" ")])]):e._e(),e.user?t("li",{class:{active:e.path.includes("/g_code_")}},[t("a",{attrs:{href:"/g_code_folders/cloud/"}},[t("font-awesome-icon",{attrs:{icon:"fa-file-code"}}),e._v(" "+e._s(e.$t("G-Codes"))+" ")],1)]):e._e(),e.user?t("li",{class:{active:e.path.includes("/print_history/")||e.path.includes("/prints/")}},[t("a",{attrs:{href:"/print_history/"}},[t("font-awesome-icon",{attrs:{icon:"fa-calendar-days"}}),e._v(" "+e._s(e.$t("Print History"))+" ")],1)]):e._e(),e.user?t("li",{class:{active:e.path.includes("/stats/")}},[t("a",{attrs:{href:"/stats/"}},[t("font-awesome-icon",{attrs:{icon:"fa-chart-pie"}}),e._v(" "+e._s(e.$t("Statistics"))+" ")],1)]):e._e()]),t("div",{staticClass:"side-nav-footer"},[t("ul",{staticClass:"list-unstyled m-0"},[e.isEnt?t("li",{class:{active:"/ent_pub/pricing/"===e.path}},[t("a",{attrs:{href:"/ent_pub/pricing/"}},[t("font-awesome-icon",{attrs:{icon:"fa-money-check-dollar"}}),e._v(" "+e._s(e.$t("Pricing"))+" ")],1)]):e._e(),t("li",[t("a",{attrs:{href:"https://www.obico.io/help/",target:"_blank"}},[t("font-awesome-icon",{attrs:{icon:"fa-circle-question"}}),e._v(" "+e._s(e.$t("Help"))+" ")],1)]),t("li",[t("a",{attrs:{href:"https://obico.io/discord",target:"_blank"}},[t("font-awesome-icon",{attrs:{icon:"fa-brands fa-discord"}}),e._v(" "+e._s(e.$t("Community"))+" ")],1)]),e._m(0),e.user?t("li",{class:{active:"/printer_events/"===e.path}},[t("a",{attrs:{href:"/printer_events/"}},[t("div",{staticClass:"position-relative"},[t("font-awesome-icon",{attrs:{icon:"fas fa-bell"}}),e.hasUnseenPrinterEvents?t("span",{staticClass:"badge"},[e._v(e._s(e.unseenPrinterEventsDisplay))]):e._e()],1),t("span",{staticClass:"trim-text"},[e._v(e._s(e.$t("Notifications")))])])]):e._e(),e.user?t("li",{class:{active:e.path.includes("/user_preferences/")}},[t("a",{attrs:{href:"/user_preferences/"}},[t("font-awesome-icon",{attrs:{icon:"fas fa-cog"}}),t("span",{staticClass:"trim-text"},[e._v(e._s(e.$t("Preferences")))])],1)]):e._e()])])]),t("div",{staticClass:"content-wrapper",class:{"hide-top-nav":!e.$slots.topBarLeft&&!e.$slots.topBarRight||e.hideHeader}},[t("b-navbar",{staticClass:"top-nav"},[t("div",{staticClass:"d-flex align-items-center"},[t("b-button",{staticClass:"shadow-none p-0 mr-3 position-relative toggle-sidebar",attrs:{variant:"_"},on:{click:function(t){e.collapsed=!e.collapsed}}},[t("i",{staticClass:"fas fa-bars position-relative"},[e.hasUnseenPrinterEvents?t("div",{staticClass:"notification-dot"},[t("svg",{attrs:{width:"8px",height:"8px"}},[t("use",{attrs:{href:"#svg-circle-icon"}})])]):e._e()])]),e._t("topBarLeft")],2),e._t("topBarRight")],2),t("div",{staticClass:"page-content"},[e._t("content")],2)],1),t("div",{staticClass:"content-overlay",on:{click:function(t){e.collapsed=!0}}})])},Dt=[function(){var e=this,t=e._self._c;return t("li",[t("hr",{staticClass:"my-0 mx-2"})])}],xt={name:"PageLayout",props:{isPopup:{type:Boolean,default:!1}},data(){return{collapsed:!0,path:window.location.pathname,user:null,allowSignUp:!1,isEnt:!1}},computed:{inMobileWebView(){return Object(Q["a"])()},hideHeader(){const e=new URLSearchParams(window.location.search);return"true"===e.get("hide_header")},hasUnseenPrinterEvents(){return de()(this.user,"unseen_printer_events",0)>0},unseenPrinterEventsDisplay(){const e=de()(this.user,"unseen_printer_events",0);return e>99?"99+":e}},created(){const{ACCOUNT_ALLOW_SIGN_UP:e,IS_ENT:t}=Object(Q["d"])();this.allowSignUp=!!e,this.isEnt=!!t,this.user=Object(Q["f"])()},mounted(){const e=document.querySelector(".message-snippet");e&&this.inMobileWebView&&e.classList.add("is-in-mobile"),this.inMobileWebView&&(document.querySelector("body").style.paddingBottom=0)}},Tt=xt,It=(i("42db"),i("6f7a"),Object(N["a"])(Tt,St,Dt,!1,null,"5822eab8",null)),Ft=It.exports,At=function(){var e=this,t=e._self._c;return t("div",{staticClass:"card-body consent-section"},[t("div",[e._v(" "+e._s(e.$t("Number of snapshots"))+": "),t("span",{staticClass:"feedback-estimate"},[e._v(e._s(e.print.printshotfeedback_set.length))])]),t("p",[e._v(" "+e._s(e.$t("Estimated time to finish"))+": "),t("span",{staticClass:"feedback-estimate"},[e._v(e._s(e.estimatedFeedbackTime))])]),t("p",{staticClass:"font-weight-light"},[t("i18next",{attrs:{translation:e.$t("Help Obi get better at detecting failures by giving her in-depth feedback on the snapshots of the print. You will earn {localizedDom} after you finish this Focused Feedback. {localizedDom2}")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("strong",{staticClass:"text-light"},[e._v(e._s(e.$t("2 non-expirable AI Detection Hours")))])]},proxy:!0},{key:"localizedDom2",fn:function(){return[t("a",{attrs:{target:"_blank",href:e.getDocUrl("/user-guides/how-does-credits-work/")}},[e._v(e._s(e.$t("Learn more"))+". "),t("small",[t("i",{staticClass:"fas fa-external-link-alt"})])])]},proxy:!0}])})],1),t("br"),t("button",{staticClass:"btn btn-primary btn-block",attrs:{disabled:!e.consentChecked,type:"button"},on:{click:function(t){return e.$emit("continue-btn-pressed")}}},[e._v(" "+e._s(e.$t("Start Focused Feedback"))+" ")]),t("br"),t("div",{staticClass:"custom-control custom-checkbox form-check-inline"},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.consentChecked,expression:"consentChecked"}],staticClass:"custom-control-input",attrs:{id:"consented-checkbox",type:"checkbox",name:"consented"},domProps:{checked:Array.isArray(e.consentChecked)?e._i(e.consentChecked,null)>-1:e.consentChecked},on:{change:function(t){var i=e.consentChecked,n=t.target,a=!!n.checked;if(Array.isArray(i)){var r=null,s=e._i(i,r);n.checked?s<0&&(e.consentChecked=i.concat([r])):s>-1&&(e.consentChecked=i.slice(0,s).concat(i.slice(s+1)))}else e.consentChecked=a}}}),t("label",{staticClass:"custom-control-label",staticStyle:{"font-size":"16px"},attrs:{for:"consented-checkbox"}},[e._v(" "+e._s(e.$t("I grant the {brandName} app team members the permission to review the time-lapse video of the print shown on this page.",{brandName:e.$syndicateText.brandName}))+" "),t("a",{attrs:{target:"_blank",href:e.getDocUrl("/user-guides/how-does-credits-work#you-need-to-grant-permission-to-tsd-team-to-review-your-time-lapse")}},[e._v(e._s(e.$t("Why is this necessary? "))),e._m(0)])])]),t("br"),t("div",[t("span",{staticClass:"text-muted"},[e._v(e._s(e.$t("File"))+":")]),e._v(" "+e._s(e.print.filename)+" ")]),t("div",[t("span",{staticClass:"text-muted"},[e._v(e._s(e.$t("Printed"))+":")]),e._v(" "+e._s(e.print.started_at.fromNow())+" ")]),t("br"),e.print.video_url?t("video-box",{attrs:{"video-url":e.print.video_url,"poster-url":e.print.poster_url,"full-screen-btn":!1}}):t("div",[t("detective-working")],1)],1)},$t=[function(){var e=this,t=e._self._c;return t("small",[t("i",{staticClass:"fas fa-external-link-alt"})])}],Ot=function(){var e=this,t=e._self._c;return t("div",{staticClass:"card-img-top"},[t("video-player",{ref:"videoPlayer",staticClass:"vjs-default-skin vjs-big-play-centered",attrs:{options:e.playerOptions,playsinline:!0},on:{timeupdate:e.onTimeUpdate}}),t("div",{staticClass:"buttons-container"},[e.downloadBtn?t("a",{staticClass:"action-btn",attrs:{role:"button",title:"Download"},on:{click:function(t){return e.$emit("download")}}},[t("i",{staticClass:"fas fa-download",attrs:{"aria-hidden":"true"}})]):e._e(),e.fullscreenBtn?t("a",{staticClass:"action-btn",attrs:{role:"button",title:"Full screen"},on:{click:function(t){return e.$emit("fullscreen")}}},[t("i",{staticClass:"fa fa-expand",attrs:{"aria-hidden":"true"}})]):e._e(),e.exitFullscreenBtn?t("a",{staticClass:"action-btn",attrs:{role:"button",title:"Exit full screen"},on:{click:function(t){return e.$emit("exitFullscreen")}}},[t("i",{staticClass:"fa fa-times",attrs:{"aria-hidden":"true"}})]):e._e()])],1)},Nt=[],Lt=(i("fda2"),i("d6d3")),Mt={name:"VideoBox",components:{videoPlayer:Lt["videoPlayer"]},props:{videoUrl:{type:String,required:!0},posterUrl:{type:String,default:null},fullscreenBtn:{type:Boolean,default:!0},exitFullscreenBtn:{type:Boolean,default:!1},downloadBtn:{type:Boolean,default:!1},fluid:{type:Boolean,default:!0},autoplay:{type:Boolean,default:!1},defaultFullScreenToggle:{type:Boolean,default:!1}},computed:{playerOptions(){return{muted:!0,preload:"none",language:"en",playbackRates:[.5,1,1.5,2],fluid:this.fluid,fill:!this.fluid,autoplay:this.autoplay,sources:[{type:"video/mp4",src:this.videoUrl}],controlBar:{fullscreenToggle:this.defaultFullScreenToggle},poster:this.posterUrl}}},methods:{onTimeUpdate(e){this.$emit("timeupdate",e.currentTime()/e.duration())}}},Et=Mt,Rt=(i("58d0"),Object(N["a"])(Et,Ot,Nt,!1,null,"10df198e",null)),zt=Rt.exports,Bt=function(){var e=this,t=e._self._c;return t("div",{staticClass:"card bg-dark text-white"},[t("img",{staticClass:"card-img",attrs:{src:i("0469"),alt:"Obi is still working"}}),t("div",{staticClass:"card-img-overlay",staticStyle:{"background-color":"rgba(0, 0, 0, 0.6)"}},[t("h5",{staticClass:"card-title text-center"},[e._v(e._s(e.$t("Obi is still busy working on your time-lapse")))])])])},Ut=[],jt={name:"DetectiveWorking"},Wt=jt,Ht=(i("a6c8"),Object(N["a"])(Wt,Bt,Ut,!1,null,"5e3b0b22",null)),Vt=Ht.exports,Yt={name:"FocusedFeedbackConsent",components:{VideoBox:zt,DetectiveWorking:Vt},props:{print:{type:Object,required:!0}},data(){return{consentChecked:!1}},computed:{estimatedFeedbackTime(){const e=12*this.print.printshotfeedback_set.length;return e<60?`${e} ${this.$i18next.t("seconds")}`:H.a.duration(e,"seconds").humanize()}}},Gt=Yt,Kt=(i("9363"),Object(N["a"])(Gt,At,$t,!1,null,"c265fb70",null)),qt=Kt.exports,Jt={name:"PrintShotFeedbackApp",components:{FocusedFeedbackConsent:qt,Loading:gt.a,PrintShotCard:Pt,VueSlickCarousel:mt.a,PageLayout:Ft},props:{config:{default:()=>{},type:Object}},data:function(){return{shots:[],currentShot:0,print:null}},computed:{},mounted(){this.fetchData()},methods:{fetchData(){oe["a"].get(le["a"].print(this.config.printId)).then(e=>{this.print=Te(e.data),this.shots=dt()(this.print.printshotfeedback_set,"id")})},updatePrint(e){oe["a"].patch(le["a"].print(this.print.id),e).then(e=>this.print=e.data)},consentBtnPressed(){this.updatePrint({access_consented_at:H()()})},onShotChanged(e){const t=pt()(this.shots,t=>t.id==e.id);this.$set(this.shots,t,e),this.$refs.carousel.next()},onNextShot(e){this.currentShot=e},onPrev(){this.$refs.carousel.prev()},onNext(){this.$refs.carousel.next()},pageClass(e){return e===this.currentShot?"page-visiting":this.shots[e].answered_at?"text-success":"page-unvisited"}}},Zt=Jt,Qt=(i("86ab"),Object(N["a"])(Zt,ot,lt,!1,null,"65dd3f19",null)),Xt=Qt.exports,ei=function(){var e=this,t=e._self._c;return t("page-layout",{scopedSlots:e._u([{key:"topBarLeft",fn:function(){return[t("div",{staticClass:"actions-with-selected-desktop"},[t("b-form-group",{staticClass:"m-0"},[t("b-form-checkbox",{attrs:{size:"md"},model:{value:e.allPrintsSelected,callback:function(t){e.allPrintsSelected=t},expression:"allPrintsSelected"}})],1),t("div",[t("span",{directives:[{name:"show",rawName:"v-show",value:!e.selectedPrintIds.size,expression:"!selectedPrintIds.size"}],staticClass:"label",on:{click:function(t){e.allPrintsSelected=!e.allPrintsSelected}}},[e._v(e._s(e.$t("Select all")))]),t("b-dropdown",{directives:[{name:"show",rawName:"v-show",value:e.selectedPrintIds.size,expression:"selectedPrintIds.size"}],attrs:{"toggle-class":"btn btn-sm actions-with-selected-btn"},scopedSlots:e._u([{key:"button-content",fn:function(){return[e._v(" "+e._s(e.selectedPrintIds.size)+" item"+e._s(1===e.selectedPrintIds.size?"":"s")+" "+e._s(e.$t("selected"))+" ")]},proxy:!0}])},[t("b-dropdown-item",[t("div",{staticClass:"text-danger",on:{click:e.onDeleteBtnClick}},[t("i",{staticClass:"far fa-trash-alt"}),e._v(e._s(e.$t("Delete"))+" ")])])],1)],1)],1)]},proxy:!0},{key:"topBarRight",fn:function(){return[t("div",{staticClass:"action-panel"},[t("b-dropdown",{attrs:{right:"","no-caret":"","toggle-class":"action-btn icon-btn",title:e.$t("Sort By")},scopedSlots:e._u([{key:"button-content",fn:function(){return[t("i",{staticClass:"fas fa-sort-amount-down"})]},proxy:!0}])},[t("sorting-dropdown",{attrs:{"local-storage-prefix":e.sortingLocalStoragePrefix,"sorting-options":e.sortingOptions,"sorting-value":e.sortingValue},on:{onSortingUpdated:e.onSortingUpdated}})],1),t("b-dropdown",{attrs:{right:"","no-caret":"","toggle-class":"action-btn icon-btn","menu-class":"scrollable",title:e.$t("Filter")},scopedSlots:e._u([{key:"button-content",fn:function(){return[t("i",{staticClass:"fas fa-filter"})]},proxy:!0}])},[t("filtering-dropdown",{ref:"filteringDropdown1",attrs:{"local-storage-prefix":e.filterLocalStoragePrefix,"filter-options":e.filterOptions,"filter-values":e.filterValues,"filter-update-mixin":e.filterUpdateMixin},on:{onFilterUpdated:e.onFilterUpdated}})],1),t("b-dropdown",{attrs:{right:"","no-caret":"","toggle-class":"icon-btn d-md-none"},scopedSlots:e._u([{key:"button-content",fn:function(){return[t("i",{staticClass:"fas fa-ellipsis-v"})]},proxy:!0}])},[t("cascaded-dropdown",{ref:"cascadedDropdown",attrs:{"menu-options":[{key:"sorting",icon:"fas fa-sort-amount-down",title:e.$t("Sort"),expandable:!0},{key:"filtering",icon:"fas fa-filter",title:e.$t("Filter"),expandable:!0}]},scopedSlots:e._u([{key:"sorting",fn:function(){return[t("sorting-dropdown",{attrs:{"local-storage-prefix":e.sortingLocalStoragePrefix,"sorting-options":e.sortingOptions,"sorting-value":e.sortingValue},on:{onSortingUpdated:e.onSortingUpdated}})]},proxy:!0},{key:"filtering",fn:function(){return[t("filtering-dropdown",{ref:"filteringDropdown2",attrs:{"local-storage-prefix":e.filterLocalStoragePrefix,"filter-options":e.filterOptions,"filter-values":e.filterValues,"filter-update-mixin":e.filterUpdateMixin},on:{onFilterUpdated:e.onFilterUpdated}})]},proxy:!0}])})],1)],1)]},proxy:!0},{key:"content",fn:function(){return[t("active-filter-notice",{attrs:{"filter-values":e.filterValues},on:{onShowAllClicked:e.resetFilters}}),t("b-container",[t("b-row",[t("b-col",[e.prints.length&&!e.loading?t("div",{staticClass:"prints-summary"},[t("div",{staticClass:"summary-item"},[t("div",{staticClass:"icon"},[t("i",{staticClass:"fas fa-hashtag"})]),t("div",{staticClass:"info"},[t("div",{staticClass:"title"},[e._v(e._s(e.$t("Prints done")))]),t("div",{staticClass:"value"},[e._v(" "+e._s(e.stats.total_print_count)+" ("),t("span",{staticClass:"text-success"},[e._v(e._s(e.stats.total_succeeded_print_count))]),e._v(" / "),t("span",{staticClass:"text-danger"},[e._v(e._s(e.stats.total_cancelled_print_count))]),e._v(") ")])])]),t("div",{staticClass:"summary-item"},[t("div",{staticClass:"icon"},[t("i",{staticClass:"far fa-clock"})]),t("div",{staticClass:"info"},[t("div",{staticClass:"title"},[e._v(e._s(e.$t("Total print time")))]),t("div",{staticClass:"value"},[e._v(e._s(e.totalPrintTimeFormatted))])])]),t("div",{staticClass:"summary-item"},[t("div",{staticClass:"icon"},[t("i",{staticClass:"fas fa-ruler-horizontal"})]),t("div",{staticClass:"info"},[t("div",{staticClass:"title"},[t("help-widget",{attrs:{id:"filament-used-may-be-incorrect",highlight:!1,"show-close-button":!1}},[e._v(" "+e._s(e.$t("Filament used"))+" ")])],1),t("div",{staticClass:"value"},[e._v(e._s(e.totalFilamentUsedFormatted))])])]),t("div",{staticClass:"btn-wrapper"},[t("a",{staticClass:"btn btn-secondary",attrs:{href:"/stats/"}},[e._v(" "+e._s(e.$t("Full Stats"))+" "),t("i",{staticClass:"fas fa-arrow-right"})])])]):e._e()])],1),t("b-row",[e.prints.length||e.loading?t("b-col",[e._l(e.prints,(function(i,n){return t("print-history-item",{key:i.id,staticClass:"print-item",attrs:{print:i,index:n,selectable:!0,selected:e.selectedPrintIds.has(i.id)},on:{selectedChanged:e.onSelectedChanged}})})),t("mugen-scroll",{attrs:{handler:e.fetchMoreData,"should-handle":!e.loading}},[e.noMoreData?e._e():t("loading-placeholder")],1)],2):t("b-col",{staticClass:"text-center my-5"},[e._v(e._s(e.$t("No prints found")))])],1)],1),t("date-picker-modal",{ref:"datePickerModal",on:{picked:e.onDatesPicked}})]},proxy:!0}])})},ti=[],ii=i("996c"),ni=i.n(ii),ai=function(){var e=this,t=e._self._c;return t("div",[null===e.menuExpanded?e._l(e.menuOptions,(function(i){return t("b-dropdown-item",{key:i.key,attrs:{href:i.href},on:{click:function(t){return e.onClick(i)}}},[i.expandable?t("div",{staticClass:"d-flex justify-content-between clickable-area",on:{click:function(t){t.stopPropagation(),t.preventDefault(),e.menuExpanded=i.key}}},[t("div",[i.icon?t("i",{class:i.icon}):i.svgIcon?t("svg",{staticClass:"custom-svg-icon"},[t("use",{attrs:{href:"#"+i.svgIcon}})]):e._e(),t("span",[e._v(e._s(i.title))])]),t("div",[t("i",{staticClass:"fas fa-chevron-right m-0"})])]):t("div",{staticClass:"d-flex justify-content-between clickable-area"},[t("div",{class:i.customMenuOptionClass},[i.icon?t("i",{class:i.icon}):i.svgIcon?t("svg",{staticClass:"custom-svg-icon"},[t("use",{attrs:{href:"#"+i.svgIcon}})]):e._e(),t("span",[e._v(e._s(i.title))])])])])})):e._e(),null!==e.menuExpanded?[t("b-dropdown-item",[t("div",{staticClass:"clickable-area",on:{click:function(t){t.stopPropagation(),t.preventDefault(),e.menuExpanded=null}}},[t("i",{staticClass:"fas fa-chevron-left"}),e._v(e._s(e.$t("Back"))+" ")])]),t("b-dropdown-divider"),"sorting"===e.menuExpanded?t("div",[e._t("sorting")],2):e._e(),"filtering"===e.menuExpanded?t("div",[e._t("filtering")],2):e._e(),"storage"===e.menuExpanded?t("div",[e._t("storage")],2):e._e(),"grouping"===e.menuExpanded?t("div",[e._t("grouping")],2):e._e()]:e._e()],2)},ri=[],si={name:"CascadedDropdown",props:{menuOptions:{type:Array,required:!0}},data:function(){return{menuExpanded:null}},methods:{resetMenuExpanded(){this.menuExpanded=null},onClick(e){e.callback&&this.$emit("menuOptionClicked",e.key)}}},oi=si,li=(i("0714"),Object(N["a"])(oi,ai,ri,!1,null,"2a5ecb65",null)),ci=li.exports,di=function(){var e=this,t=e._self._c;return t("div",[t("b-dropdown-text",{staticClass:"small text-secondary"},[e._v(e._s(e.$t("SORT BY")))]),e._l(e.sortingOptions.options,(function(i){return t("b-dropdown-item",{key:"s_"+i.key,nativeOn:{"!click":function(t){return t.stopPropagation(),t.preventDefault(),e.updateSorting({sorting:i})}}},[t("i",{staticClass:"fas fa-check text-primary",style:{visibility:e.sortingValue.sorting.key===i.key?"visible":"hidden"}}),e._v(" "+e._s(i.title)+" ")])})),t("b-dropdown-divider"),t("b-dropdown-text",{staticClass:"small text-secondary"},[e._v(e._s(e.$t("DIRECTION")))]),e._l(e.sortingDirections,(function(i){return t("b-dropdown-item",{key:"d_"+i.key,nativeOn:{"!click":function(t){return t.stopPropagation(),t.preventDefault(),e.updateSorting({direction:i})}}},[t("i",{staticClass:"fas fa-check text-primary",style:{visibility:e.sortingValue.direction.key===i.key?"visible":"hidden"}}),e._v(" "+e._s(i.title)+" ")])}))],2)},ui=[];const pi=[{key:"asc",title:""+G["a"].t("Ascending")},{key:"desc",title:""+G["a"].t("Descending")}];var hi={name:"SortingDropdown",props:{localStoragePrefix:{type:String,required:!0},sortingOptions:{type:Object,required:!0},sortingValue:{type:Object,required:!0}},data:function(){return{sortingDirections:pi}},methods:{updateSorting({sorting:e,direction:t}){return e&&e.key!==this.sortingValue.sorting.key?(Object(s["b"])(this.localStoragePrefix+"-sorting",e.key),void this.$emit("onSortingUpdated",{...this.sortingValue,sorting:e})):t&&t.key!==this.sortingValue.direction.key?(Object(s["b"])(this.localStoragePrefix+"-direction",t.key),void this.$emit("onSortingUpdated",{...this.sortingValue,direction:t})):void 0}}};const mi=(e,t)=>{const i=Object(s["a"])(e+"-sorting",t.default.sorting),n=Object(s["a"])(e+"-direction",t.default.direction);return{sorting:t.options.find(e=>e.key===i),direction:pi.find(e=>e.key===n)}};var fi=hi,gi=Object(N["a"])(fi,di,ui,!1,null,null,null),vi=gi.exports,bi=function(){var e=this,t=e._self._c;return t("div",e._l(e.filterOptions,(function(i,n,a){return t("div",{key:n},[0!==a?t("b-dropdown-divider"):e._e(),t("b-dropdown-text",{staticClass:"small text-secondary"},[e._v(e._s(i.title.toUpperCase()))]),e._l(i.values,(function(a){return t("b-dropdown-item",{key:`f_${n}_${a.key}`,nativeOn:{"!click":function(t){return t.stopPropagation(),t.preventDefault(),e.updateFiltering({filterOptionKey:n,filterValueKey:a.key})}}},[t("div",{staticClass:"dropdown-text-group"},[t("i",{staticClass:"fas fa-check text-primary",class:{"checkmark-muted":i.multiple&&!a.includesAll&&(!Array.isArray(e.filterValues[n])||!e.filterValues[n].includes(a.key))},style:{visibility:Array.isArray(e.filterValues[n])&&e.filterValues[n].includes(a.key)||e.filterValues[n]===a.key||i.multiple&&!a.includesAll?"visible":"hidden"}}),t("div",{staticClass:"text"},[e._v(" "+e._s(a.title)+" "),a.subtitle?t("div",{staticClass:"subtitle"},[e._v(" "+e._s(a.subtitle)+" ")]):e._e()])])])}))],2)})),0)},yi=[],wi={name:"FilteringDropdown",props:{localStoragePrefix:{type:String,required:!0},filterOptions:{type:Object,required:!0},filterValues:{type:Object,required:!0},filterUpdateMixin:{type:Function,default:null}},methods:{updateFiltering({filterOptionKey:e,filterValueKey:t}){if(this.filterUpdateMixin){const i=this.filterUpdateMixin(e,t);if(!i)return}const i=this.filterOptions[e],n=i.values.find(e=>e.key===t),a=this.filterValues[e];let r;var o;i.multiple?n.includesAll?r=n.key:Array.isArray(a)?a.includes(t)?(r=a.filter(e=>e!==t),r.length||(r=(null===(o=i.values.find(e=>e.includesAll))||void 0===o?void 0:o.key)||[])):r=[...a,t]:r=[t]:r=t;r!==a&&(Object(s["b"])(`${this.localStoragePrefix}-${e}`,r),this.$emit("onFilterUpdated",e,r))}}};const _i=(e,t)=>{let i={};for(const[n,a]of Object.entries(t)){const t=String(Object(s["a"])(`${e}-${n}`,a.default));if(a.multiple){const e=a.values.find(e=>e.includesAll);t===e.key?i[n]=t:i[n]=t.split(",")}else i[n]=t}return i},Ci=(e,t,i)=>{let n={};for(const[a,r]of Object.entries(t)){const t=e[a];if(t.buildQueryParam){const e=i&&i(a,r);e&&(n={...n,...e})}else"none"!==r&&(n[t.queryParam]=r)}return n};var ki=wi,Pi=(i("5fdc"),Object(N["a"])(ki,bi,yi,!1,null,"687a0a02",null)),Si=Pi.exports,Di=function(){var e=this,t=e._self._c;return e.shouldShowFilterWarning?t("div",{staticClass:"active-filter-notice"},[t("div",{staticClass:"filter"},[t("i",{staticClass:"fas fa-filter mr-2"}),e._v(" "+e._s(e.$t("Filters applied"))+" ")]),t("div",{staticClass:"action-btn",on:{click:function(t){return e.$emit("onShowAllClicked")}}},[e._v(e._s(e.$t("SHOW ALL")))])]):e._e()},xi=[],Ti={name:"ActiveFilterNotice",props:{filterValues:{type:Object,required:!0}},computed:{activeFilters(){return Object.values(this.filterValues).filter(e=>"none"!==e)},shouldShowFilterWarning(){return 0!==this.activeFilters.length}}},Ii=Ti,Fi=(i("6912"),Object(N["a"])(Ii,Di,xi,!1,null,"0aa31f4a",null)),Ai=Fi.exports,$i=function(){var e=this,t=e._self._c;return t("a",{staticClass:"print-container",attrs:{href:`/prints/${e.print.id}/${null!==e.index?"?index="+e.index:""}`}},[t("div",{staticClass:"status-indicator print-status-bg",class:e.print.status.key}),e.selectable?t("div",{staticClass:"checkbox-wrapper",class:{isSelected:e.isSelected}},[t("b-form-checkbox",{attrs:{size:"md"},model:{value:e.isSelected,callback:function(t){e.isSelected=t},expression:"isSelected"}})],1):e._e(),t("div",{staticClass:"main-content truncated-wrapper"},[t("div",{staticClass:"top"},[t("div",{staticClass:"title truncated",attrs:{title:e.fileName}},[e._v(e._s(e.fileName))])]),t("div",{staticClass:"bottom"},[t("div",{staticClass:"info"},[t("svg",{staticClass:"icon",attrs:{width:"1em",height:"1em"}},[t("use",{attrs:{href:"#svg-3d-printer"}})]),t("span",[e._v(e._s(e.print.printer?e.print.printer.name:"Unavailable"))])]),t("div",{staticClass:"info"},[t("i",{staticClass:"fas fa-calendar-alt icon"}),t("span",[e._v(e._s(e.print.started_at.format("MMM D, YYYY")))])])])]),e.print.poster_url?t("div",{staticClass:"poster"},[t("div",{staticClass:"img",style:{backgroundImage:`url(${e.print.poster_url})`}})]):t("div",{staticClass:"poster no-photo"},[t("svg",[t("use",{attrs:{href:"#svg-no-photo"}})])])])},Oi=[],Ni={name:"PrintHistoryItem",components:{},props:{print:{type:Object,required:!0},index:{type:Number,default:null},selectable:{type:Boolean,default:!1},selected:{type:Boolean,default:!1}},data:function(){return{PrintStatus:xe,isSelected:this.selected}},computed:{fileName(){return null===this.print.g_code_file?this.print.filename:this.print.g_code_file.filename}},watch:{isSelected(e){this.$emit("selectedChanged",this.print.id,e)},selected(e){this.isSelected=e}}},Li=Ni,Mi=(i("1279"),Object(N["a"])(Li,$i,Oi,!1,null,"11fbb7ad",null)),Ei=Mi.exports,Ri=function(){var e=this,t=e._self._c;return t("b-modal",{attrs:{id:"b-modal-pick-dates",title:e.$t("Select Dates"),"ok-title":e.$t("Apply"),"cancel-title":e.$t("Cancel"),centered:""},on:{ok:e.handleOk,hidden:e.resetModal,shown:e.focusInput}},[t("form",{on:{submit:function(t){return t.preventDefault(),e.handleSubmit.apply(null,arguments)}}},[t("div",{staticClass:"my-2"},[t("b-form-group",{attrs:{label:e.$t("Date from"),"label-for":"date_from",description:e.$t("If empty, will default to your registration date")}},[t("b-form-input",{ref:"dateFrom",attrs:{id:"date_from",type:"date",placeholder:e.$t("Enter date")},model:{value:e.dateFrom,callback:function(t){e.dateFrom=t},expression:"dateFrom"}})],1),t("b-form-group",{attrs:{label:e.$t("Date to"),"label-for":"date_to",description:e.$t("If empty, will default to today")}},[t("b-form-input",{ref:"dateTo",attrs:{id:"date_to",type:"date",placeholder:e.$t("Enter date")},model:{value:e.dateTo,callback:function(t){e.dateTo=t},expression:"dateTo"}})],1),e.errorMessage?t("b-alert",{staticClass:"mt-3",attrs:{variant:"danger",show:""}},[e._v(" "+e._s(e.errorMessage)+" ")]):e._e()],1)])])},zi=[],Bi={name:"DatePickerModal",data(){return{dateFrom:"",dateTo:"",isOpen:!1,errorMessage:""}},methods:{show(e,t){this.dateFrom=e||"",this.dateTo=t||"",this.isOpen=!0,this.$bvModal.show("b-modal-pick-dates")},focusInput(){this.$refs.dateFrom.select()},close(){this.$bvModal.hide("b-modal-pick-dates"),this.resetModal()},resetModal(){this.isOpen=!1,this.errorMessage=""},handleOk(e){e.preventDefault(),this.handleSubmit()},async handleSubmit(){this.dateFrom||this.dateTo?(this.$emit("picked",this.dateFrom,this.dateTo),this.$nextTick(()=>{this.close()})):this.errorMessage=""+this.$i18next.t("At least one date is needed")}}},Ui=Bi,ji=(i("045b"),Object(N["a"])(Ui,Ri,zi,!1,null,"3aeed230",null)),Wi=ji.exports,Hi=function(){var e=this,t=e._self._c;return t("div",{directives:[{name:"click-outside",rawName:"v-click-outside",value:()=>e.show=!1,expression:"() => (show = false)"}],staticClass:"help-wrapper",class:{highlighted:e.highlight}},[t("div",{staticClass:"text",on:{click:function(t){e.positionWidget(),e.show=!e.show}}},[e._t("default")],2),t("div",{ref:"widgetWrapper",staticClass:"widget-wrapper"},[t("div",{staticClass:"question-mark",on:{click:function(t){e.positionWidget(),e.show=!e.show}}},[t("svg",[t("use",{attrs:{href:"#svg-question-icon"}})])]),t("transition",{attrs:{name:"pop-up"}},[t("div",{directives:[{name:"show",rawName:"v-show",value:e.show,expression:"show"}],ref:"widget",staticClass:"widget",class:[e.xDirection,e.yDirection]},[e.showCloseButton?t("div",{staticClass:"close-button",on:{click:function(t){e.show=!1}}},[t("svg",{attrs:{width:"16",height:"16"}},[t("use",{attrs:{href:"#svg-cross-icon"}})])]):e._e(),t("div",{staticClass:"content"},["basic-streaming-on-kingroon-pricing-page"===e.id?[t("div",[e._v(" "+e._s(e.$t("Basic Streaming"))+": "),t("ul",[t("li",[e._v(e._s(e.$t("1 FPS (frame-per-second), 100 hours of streaming per month")))])])]),t("div",[t("i18next",{attrs:{translation:e.$t("Learn more about {localizedDom}")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("a",{attrs:{href:"https://docs.kingroon.com/docs/user-guides/webcam-streaming-for-human-eyes/",target:"_blank"}},[e._v(e._s(e.$t("the differences between the Premium Streaming and the Basic Streaming"))+" "),t("i",{staticClass:"fas fa-external-link-alt"})])]},proxy:!0}],null,!1,1592606660)})],1)]:e._e(),"detective-hours-free-plan-on-kingroon-pricing-page"===e.id?[t("p",[e._v(e._s(e.$t("Basic AI Detection checks for failures every 30 seconds.")))]),t("p",[e._v(e._s(e.$t("AI usage is reset on the 1st of each month. Hours do not roll over month to month.")))]),t("p",[e._v(" "+e._s(e.$t("Learn more about"))+" "),t("a",{attrs:{href:"https://www.docs.kingroon.com/docs/user-guides/how-does-detective-hour-work/",target:"_blank"}},[e._v(e._s(e.$t("how the AI Detection Hour works "))),t("i",{staticClass:"fas fa-external-link-alt"})])])]:e._e(),"tunneling-free-plan-on-kingroon-pricing-page"===e.id?[t("p",[e._v(e._s(e.$t("Securely tunnel to your Mainsail or fluidd Klipper interface from anywhere.")))]),t("p",[e._v(" "+e._s(e.$t("Free plan is subject to 300MB/month data cap. Data usage is reset on the 1st day of each month."))+" ")]),t("p",[e._v(" "+e._s(e.$t("Learn more about"))+" "),t("a",{attrs:{href:"https://docs.kingroon.com/docs/user-guides/octoprint-tunneling/",target:"_blank"}},[e._v(e._s(e.$t("Klipper tunnel "))),t("i",{staticClass:"fas fa-external-link-alt"})])])]:e._e(),"premium-streaming-on-kingroon-pricing-page"===e.id?[t("div",[e._v(" "+e._s(e.$t("Premium Streaming"))+": "),t("ul",[t("li",[e._v(e._s(e.$t("Up to 25 FPS (frame-per-second)")))]),t("li",[e._v(e._s(e.$t("Up to 5 FPS with any webcam")))]),t("li",[e._v(e._s(e.$t("Up to 25 FPS with Kingroon H.264 Camera.")))])])]),t("p",[e._v(" "+e._s(e.$t("Learn more about"))+" "),t("a",{attrs:{href:"https://docs.kingroon.com/docs/user-guides/webcam-streaming-for-human-eyes/",target:"_blank"}},[e._v(e._s(e.$t("the differences between the Premium Streaming and the Basic Streaming"))+" "),t("i",{staticClass:"fas fa-external-link-alt"})])])]:e._e(),"detective-hours-pro-plan-on-kingroon-pricing-page"===e.id?[t("p",[e._v(e._s(e.$t("Advanced AI checks for failures more frequently - Catch failures up to 2X faster than Basic AI.")))]),t("p",[e._v(e._s(e.$t("Unused AI Detection Hours roll over month-to-month")))]),t("p",[e._v(" "+e._s(e.$t("Learn more about"))+" "),t("a",{attrs:{href:"https://www.docs.kingroon.com/docs/user-guides/how-does-detective-hour-work/",target:"_blank"}},[e._v(e._s(e.$t("how the AI Detection Hour works "))),t("i",{staticClass:"fas fa-external-link-alt"})])])]:e._e(),"tunneling-pro-plan-on-kingroon-pricing-page"===e.id?[t("div",[e._v(e._s(e.$t("Securely tunnel to your Mainsail or fluidd Klipper interface from anywhere. Unlimited.")))]),t("p",[e._v(" "+e._s(e.$t("Learn more about"))+" "),t("a",{attrs:{href:"https://docs.kingroon.com/docs/user-guides/octoprint-tunneling/",target:"_blank"}},[e._v(e._s(e.$t("Klipper tunnel "))),t("i",{staticClass:"fas fa-external-link-alt"})])])]:e._e(),"basic-streaming-on-pricing-page"===e.id?[t("div",[e._v(" "+e._s(e.$t("Basic Streaming"))+": "),t("ul",[t("li",[e._v(e._s(e.$t("Up to 5 FPS (frame-per-second)")))]),t("li",[e._v(e._s(e.$t("Throttled for 30 seconds every minute")))])])]),t("div",[t("i18next",{attrs:{translation:e.$t("Learn more about {localizedDom}")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("a",{attrs:{href:e.getDocUrl("/user-guides/webcam-streaming-for-human-eyes/"),target:"_blank"}},[e._v(e._s(e.$t("the differences between the Premium Streaming and the Basic Streaming"))+" "),t("i",{staticClass:"fas fa-external-link-alt"})])]},proxy:!0}],null,!1,3864550040)})],1)]:e._e(),"detective-hours-free-plan-on-pricing-page"===e.id?[t("h3",[e._v(e._s(e.$t("Yup! Even Free account gets 10 AI Detection Hours for FREE each month.")))]),t("ul",[t("li",[e._v(e._s(e.$t("Unused AI Detection Hours roll over month to month.")))]),t("li",[e._v(" "+e._s(e.$t("You can"))+" "),t("a",{attrs:{href:e.getDocUrl("/user-guides/how-does-credits-work/")}},[e._v(e._s(e.$t("earn free AI Detection Hours by helping her improve")))]),e._v(". ")]),t("li",[e._v(" "+e._s(e.$t("You can also"))+" "),t("a",{staticClass:"link",attrs:{href:"#need-more"}},[e._v(e._s(e.$t("purchase additional AI hours")))]),e._v(". ")])]),t("p",[e._v(" "+e._s(e.$t("Learn more about"))+" "),t("a",{attrs:{href:e.getDocUrl("/user-guides/how-does-detective-hour-work/"),target:"_blank"}},[e._v(e._s(e.$t("how the AI Detection Hour works "))),t("i",{staticClass:"fas fa-external-link-alt"})])])]:e._e(),"detective-hours-pro-plan-on-pricing-page"===e.id?[t("h3",[e._v(e._s(e.$t("Pro plan includes 50 AI Detection Hours each month.")))]),t("ul",[t("li",[e._v(e._s(e.$t("Unused AI Detection Hours roll over month to month.")))]),t("li",[e._v(e._s(e.$t("AI Detection Hours expire when subscription ends.")))]),t("li",[e._v(" "+e._s(e.$t("You can"))+" "),t("a",{attrs:{href:e.getDocUrl("/user-guides/how-does-credits-work/")}},[e._v(e._s(e.$t("earn more AI Detection Hours by helping her improve")))]),e._v(". ")]),t("li",[e._v(" "+e._s(e.$t("You can also"))+" "),t("a",{staticClass:"link",attrs:{href:"#need-more"}},[e._v(e._s(e.$t("purchase additional AI hours")))]),e._v(". ")])]),t("p",[e._v(" "+e._s(e.$t("Learn more about"))+" "),t("a",{attrs:{href:e.getDocUrl("/user-guides/how-does-detective-hour-work/"),target:"_blank"}},[e._v(e._s(e.$t("how the AI Detection Hour works "))),t("i",{staticClass:"fas fa-external-link-alt"})])])]:e._e(),"premium-streaming-on-pricing-page"===e.id?[t("div",[e._v(" "+e._s(e.$t("Premium Streaming"))+": "),t("ul",[t("li",[e._v(e._s(e.$t("Up to 25 FPS (frame-per-second)")))]),t("li",[e._v(e._s(e.$t("Un-throttled")))])])]),t("p",[e._v(" "+e._s(e.$t("Learn more about"))+" "),t("a",{attrs:{href:e.getDocUrl("/user-guides/webcam-streaming-for-human-eyes/"),target:"_blank"}},[e._v(e._s(e.$t("the differences between the Premium Streaming and the Basic Streaming"))+" "),t("i",{staticClass:"fas fa-external-link-alt"})])])]:e._e(),"tunneling-free-plan-on-pricing-page"===e.id?[t("p",[e._v(e._s(e.$t("Securely tunnel to your OctoPrint/Klipper from anywhere.")))]),t("p",[e._v(" "+e._s(e.$t("Free plan is subject to 300MB/month data cap. Data usage is reset on the 1st day of each month."))+" ")]),t("p",[e._v(" "+e._s(e.$t("Learn more about"))+" "),t("a",{attrs:{href:e.getDocUrl("/user-guides/octoprint-tunneling/"),target:"_blank"}},[e._v(e._s(e.$t("OctoPrint/Klipper tunnel "))),t("i",{staticClass:"fas fa-external-link-alt"})])])]:e._e(),"tunneling-pro-plan-on-pricing-page"===e.id?[t("div",[e._v(e._s(e.$t("Securely tunnel to your OctoPrint/Klipper from anywhere. Unlimited.")))]),t("p",[e._v(" "+e._s(e.$t("Learn more about"))+" "),t("a",{attrs:{href:e.getDocUrl("/user-guides/octoprint-tunneling/"),target:"_blank"}},[e._v(e._s(e.$t("OctoPrint/Klipper tunnel "))),t("i",{staticClass:"fas fa-external-link-alt"})])])]:e._e(),"3rd-party-app-integration-free-on-pricing-page"===e.id?[t("div",[t("div",[e._v(e._s(e.$t("The monthly cap is shared between 3rd-party app and OctoPrint tunnel"))+":")]),t("ul",[t("li",[e._v(e._s(e.$t("The combined usage can't exceed 300MB per month.")))]),t("li",[e._v(e._s(e.$t("Data usage is reset on the 1st day of each month.")))])]),t("p",[e._v(e._s(e.$t("Supported 3rd-party mobile apps"))+":")]),t("img",{staticClass:"logo-icon",attrs:{src:i("ca14")}}),t("img",{staticClass:"logo-icon",attrs:{src:i("3ee0")}}),t("img",{staticClass:"logo-icon",attrs:{src:i("222b")}}),t("img",{staticClass:"logo-icon",attrs:{src:i("3957")}})])]:e._e(),"3rd-party-app-integration-pro-on-pricing-page"===e.id?[t("div",[t("p",[e._v(e._s(e.$t("Supported 3rd-party mobile apps"))+":")]),t("img",{staticClass:"logo-icon",attrs:{src:i("ca14")}}),t("img",{staticClass:"logo-icon",attrs:{src:i("3ee0")}}),t("img",{staticClass:"logo-icon",attrs:{src:i("222b")}}),t("img",{staticClass:"logo-icon",attrs:{src:i("3957")}})])]:e._e(),"filament-change-on-notification-preferences"===e.id?[t("i",[t("ul",[e._v(" "+e._s(e.$t("Required versions"))+": "),t("li",[e._v(e._s(e.$t("OctoPrint 1.7.0 or higher")))]),t("li",[e._v(e._s(e.$t("The {brandName} plugin 1.8.11 or higher",{brandName:e.$syndicateText.brandName})))])])]),t("h3",[e._v(e._s(e.$t("Filament Runout Notifications")))]),t("p",[e._v(" "+e._s(e.$t("Host_action_commands must be enabled in your firmware to make it possible for your filament runout sensor to communicate with OctoPrint and the {brandName} app. If you enable action commands in your firmware, then the filament runout sensor can work properly and the {brandName} app can notify you when the filament runs out. Unfortunately, without host_action_commands enabled, OctoPrint is unable to communicate with the printer to know that a filament runout was detected.",{brandName:e.$syndicateText.brandName}))+" ")]),t("p",[e._v(e._s(e.$t("To enable support, you need to do the following"))+":")]),t("ul",[t("li",[e._v(" "+e._s(e.$t("Marlin: Uncomment #define HOST_ACTION_COMMANDS in Configuration_adv.h and recompile. See here for more information on host_action_commands."))+" ")])]),t("h3",[e._v(e._s(e.$t("Color Change Notifications")))]),t("p",[e._v(" "+e._s(e.$t("Notifications on color change will work with any printer that has M600 enabled in its firmware. You do not need host_action_commands enabled to get notified when a color change is needed."))+" ")])]:e._e(),"filament-used-may-be-incorrect"===e.id?[t("h3",[e._v(e._s(e.$t("Is filament usage inaccurate?")))]),t("p",[e._v(" "+e._s(e.$t("G-code files uploaded to your {brandName} account before upgrading to {brandName} for OctoPrint version 2.3.0 or {brandName} for Klipper version 1.2.0 do not include filament usage data.",{brandName:e.$syndicateText.brandName}))+" ")]),t("p",[t("strong",[e._v(e._s(e.$t("To ensure accurate filament usage and other statistics"))+":")])]),t("ul",[t("li",[e._v(" "+e._s(e.$t("Upload G-code files and start prints directly through {brandName} instead of OctoPrint/Klipper.",{brandName:e.$syndicateText.brandName}))+" ")]),t("li",[e._v(" "+e._s(e.$t("Use a slicer that supports filament usage parameters, such as Cura, Prusa Slicer, SuperSlicer, IdeaMaker, or Simplify3D."))+" ")]),t("li",[e._v(" "+e._s(e.$t("Print statistics for G-code files deleted before 12/20/2022 are not included. For files deleted after 12/20/2022, statistics are preserved."))+" ")])])]:e._e(),"thumbnail-setup-guide"===e.id?[t("p",[t("a",{attrs:{href:e.getDocUrl("/user-guides/enable-gcode-thumbnails/"),target:"_blank"}},[e._v(e._s(e.$t("Learn how to configure G-Code preview generation in your slicer"))+" "),t("i",{staticClass:"fas fa-external-link-alt"})])])]:e._e(),"fan-speed-widget-help"===e.id?[t("p",[e._v(" "+e._s(e.$t("Adjust the speed of the cooling fan by setting a percentage value between 0 and 100. The default value is usually 100, which means the fan will run at full speed. Lowering the fan speed can reduce noise and save energy, but may also affect print quality if the printer gets too hot."))+" ")])]:e._e(),"print-speed-widget-help"===e.id?[t("p",[e._v(" "+e._s(e.$t("Adjust the speed of your 3D printer by changing the speed of all movement commands by a specified factor. The default value is 100%, meaning that the printer will move at its standard speed. Lowering the print speed factor will slow down your print, while increasing it will speed it up. Value of 200% will double the speed."))+" ")])]:e._e(),"flow-rate-widget-help"===e.id?[t("p",[e._v(" "+e._s(e.$t("Flow rate is the speed at which the printer extrudes plastic. If the flow rate is too high, the printer may extrude too much plastic and create blobs or stringing, while too low flow rate may result in weak and brittle prints. Adjusting the flow rate can help achieve the optimal balance between speed and quality. The default value is 100%."))+" ")])]:e._e(),"coupon-entered-automatically"===e.id?[t("div",[t("p",[e._v(e._s(e.$t("No cost for three months. Plan renews after expiration. Cancel anytime.")))])])]:e._e()],2)])])],1)])},Vi=[],Yi=i("e67d"),Gi=i.n(Yi),Ki={name:"HelpWidget",directives:{ClickOutside:Gi.a},props:{id:{type:String,required:!0},highlight:{type:Boolean,default:!0},showCloseButton:{type:Boolean,default:!1},textBefore:{type:String,default:""}},data(){return{show:!1,xDirection:"left",yDirection:"top"}},methods:{positionWidget(){this.$nextTick(()=>{var e,t;const i=(null===(e=this.$refs.widget)||void 0===e?void 0:e.offsetWidth)||360,n=(null===(t=this.$refs.widget)||void 0===t?void 0:t.offsetHeight)||420,a=i+10,r=n+10,s=this.$refs.widgetWrapper.getBoundingClientRect(),o=window.innerWidth-(s.left+s.width),l=window.innerHeight-(s.top+s.height);this.xDirection=o({from_date:en(e,t,n).format(Qi),to_date:tn(e,i).format(Qi),timezone:Intl.DateTimeFormat().resolvedOptions().timeZone}),en=(e,t,i)=>{const n=new Date,a=new Date(n.setDate(n.getDate()-n.getDay())),r=new Date(n.getFullYear(),n.getMonth(),1),s=new Date(n.getFullYear(),0,1);switch(e){case"this_week":return H()(a);case"this_month":return H()(r);case"this_year":return H()(s);case"custom":if(t)return H()(t)}return H()(i.date_joined)},tn=(e,t)=>{const i=new Date,n=new Date(i.setDate(i.getDate()-i.getDay()+6)),a=new Date(i.getFullYear(),i.getMonth()+1,0),r=new Date(i.getFullYear(),11,31);switch(e){case"this_week":return H()(n);case"this_month":return H()(a);case"this_year":return H()(r);case"custom":if(t)return H()(t)}return H()()},nn=(e,t,i,n)=>{const a=en(e,t,n),r=tn(e,i),s=r.diff(a,"days");return s<=31?"day":s<=95?"week":s<=366?"month":"year"},an=24,rn="printsSorting",sn={options:[{title:""+G["a"].t("Date"),key:"date"}],default:{sorting:"date",direction:"desc"}},on="YYYY-MM-DD",ln="printsFiltering",cn={timePeriod:{title:""+G["a"].t("Time Period"),buildQueryParam:Xi,values:[{key:"none",title:""+G["a"].t("All")},{key:"this_week",title:""+G["a"].t("This Week")},{key:"this_month",title:""+G["a"].t("This Month")},{key:"this_year",title:""+G["a"].t("This Year")},{key:"custom",title:""+G["a"].t("Custom")}],default:"none"},printStatus:{title:""+G["a"].t("Print Status"),queryParam:"filter",values:[{key:"none",title:""+G["a"].t("All")},{key:"finished",title:""+G["a"].t("Finished")},{key:"cancelled",title:""+G["a"].t("Cancelled")}],default:"none"},feedbackNeeded:{title:""+G["a"].t("Feedback Needed"),queryParam:"feedback_needed",values:[{key:"none",title:""+G["a"].t("All")},{key:"need_alert_overwrite",title:""+G["a"].t("Review Needed")},{key:"need_print_shot_feedback",title:""+G["a"].t("Focused Feedback Needed")}],default:"none"},printers:{title:""+G["a"].t("Printers"),queryParam:"filter_by_printer_ids",multiple:!0,values:[{key:"none",title:""+G["a"].t("All"),includesAll:!0}],default:"none"}};var dn={name:"PrintHistoryPage",components:{MugenScroll:ni.a,PageLayout:Ft,CascadedDropdown:ci,DatePickerModal:Wi,SortingDropdown:vi,FilteringDropdown:Si,ActiveFilterNotice:Ai,PrintHistoryItem:Ei,HelpWidget:Zi},data:function(){return{stats:{},prints:[],loading:!1,noMoreData:!1,user:null,selectedPrintIds:new Set,sortingLocalStoragePrefix:rn,sortingOptions:sn,sortingValue:mi(rn,sn),filterLocalStoragePrefix:ln,filterOptions:cn,filterValues:_i(ln,cn)}},computed:{totalPrintTimeFormatted(){return fe(this.stats.total_print_time)},totalFilamentUsedFormatted(){var e;return ve(null===(e=this.stats)||void 0===e?void 0:e.total_filament_used)},defaultStatsParams(){return{timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,from_date:H()(this.user.date_joined).format(on),to_date:H()(new Date).format(on),group_by:"year"}},allPrintsSelected:{get:function(){return this.selectedPrintIds.size>=this.prints.length&&0!==this.prints.length},set:function(e){e?this.selectedPrintIds=new Set(this.prints.map(e=>e.id)):this.selectedPrintIds.size===this.prints.length&&(this.selectedPrintIds=new Set)}}},created(){this.user=Object(Q["f"])(),this.updateCustomPeriodFilterSubtitle(),oe["a"].get(le["a"].printers(),{params:{with_archived:!1}}).then(e=>{if(e.data.forEach(e=>{this.filterOptions.printers.values.push({key:String(e.id),title:e.name})}),"none"!==this.filterValues.printers){const t=e.data.map(e=>String(e.id));this.filterValues.printers=this.filterValues.printers.filter(e=>t.includes(e)),Object(s["b"])(ln+"-printers",this.filterValues.printers)}this.refetchData()})},methods:{fetchMoreData(){this.noMoreData||(this.loading=!0,oe["a"].get(le["a"].prints(),{params:{start:this.prints.length,limit:an,...Ci(this.filterOptions,this.filterValues,this.customFilterParamsBuilder),sorting:`${this.sortingValue.sorting.key}_${this.sortingValue.direction.key}`}}).then(e=>{this.loading=!1,this.noMoreData=e.data.lengthTe(e)))}).catch(e=>{this.errorDialog(e)}))},refetchData(){this.prints=[],this.selectedPrintIds=new Set,this.noMoreData=!1,this.fetchMoreData(),this.fetchStats()},fetchStats(){oe["a"].get(le["a"].stats(),{params:{...this.defaultStatsParams,...Ci(this.filterOptions,this.filterValues,this.customFilterParamsBuilder)}}).then(e=>{this.stats=e.data}).catch(e=>{this.errorDialog(e)})},onSelectedChanged(e,t){const i=new Set(this.selectedPrintIds);t?i.add(e):i.delete(e),this.selectedPrintIds=i},onDeleteBtnClick(){const e=Array.from(this.selectedPrintIds);this.$swal.Prompt.fire({title:""+this.$i18next.t("Are you sure?"),text:""+this.$i18next.t("Delete {name} print(s)? This action can not be undone.",{name:this.selectedPrintIds.size}),showCancelButton:!0,confirmButtonText:""+this.$i18next.t("Yes"),cancelButtonText:""+this.$i18next.t("No")}).then(t=>{t.isConfirmed&&oe["a"].post(le["a"].printsBulkDelete(),{print_ids:e}).then(()=>{this.refetchData()})})},onSortingUpdated(e){this.sortingValue=e,this.refetchData()},onFilterUpdated(e,t){this.filterValues[e]=t,this.refetchData()},resetFilters(){for(const e of Object.keys(this.filterValues))this.filterValues[e]="none",Object(s["b"])(`${ln}-${e}`,"none");this.updateCustomPeriodFilterSubtitle(),this.refetchData()},getCurrentDateFrom(){return Object(s["a"])(ln+"-timePeriod-dateFrom")||null},getCurrentDateTo(){return Object(s["a"])(ln+"-timePeriod-dateTo")||null},filterUpdateMixin(e,t){if("timePeriod"===e){if("custom"===t){if("custom"!==this.filterValues.timePeriod)this.$refs.datePickerModal.show();else{const e=this.getCurrentDateFrom(),t=this.getCurrentDateTo();this.$refs.datePickerModal.show(e,t)}return}this.$nextTick(()=>{this.updateCustomPeriodFilterSubtitle()})}return!0},onDatesPicked(e,t){(e||t)&&(this.filterValues.timePeriod="custom",Object(s["b"])(ln+"-timePeriod","custom"),Object(s["b"])(ln+"-timePeriod-dateFrom",e),Object(s["b"])(ln+"-timePeriod-dateTo",t),this.updateCustomPeriodFilterSubtitle(),this.refetchData())},customFilterParamsBuilder(e,t){if("timePeriod"===e)return this.filterOptions[e].buildQueryParam(t,this.getCurrentDateFrom(),this.getCurrentDateTo(),this.user)},updateCustomPeriodFilterSubtitle(){let e="";if("custom"===this.filterValues.timePeriod){const t="MMM D, YYYY",i=this.getCurrentDateFrom(),n=this.getCurrentDateTo(),a=i?H()(i).format(t):""+this.$i18next.t("Until"),r=n?H()(n).format(t):""+this.$i18next.t("and later");e=`${a}${i&&n?" - ":" "}${r}`}const t=this.filterOptions.timePeriod.values.findIndex(e=>"custom"===e.key);this.filterOptions.timePeriod.values[t].subtitle=e,this.$refs.filteringDropdown1&&this.$refs.filteringDropdown1.$forceUpdate(),this.$refs.filteringDropdown2&&this.$refs.filteringDropdown2.$forceUpdate()}}},un=dn,pn=(i("c991"),Object(N["a"])(un,ei,ti,!1,null,"4bb2d91a",null)),hn=pn.exports,mn=function(){var e=this,t=e._self._c;return t("page-layout",{scopedSlots:e._u([{key:"topBarRight",fn:function(){return[t("div",{staticClass:"action-panel"},[t("b-dropdown",{attrs:{right:"","no-caret":"","toggle-class":"action-btn icon-btn"},scopedSlots:e._u([{key:"button-content",fn:function(){return[t("i",{staticClass:"fas fa-chart-bar"})]},proxy:!0}])},[t("b-dropdown-text",{staticClass:"small text-secondary"},[e._v(e._s(e.$t("GROUP BY")))]),e._l(e.groupingOptions,(function(i){return t("b-dropdown-item",{key:i.key,nativeOn:{"!click":function(t){return t.stopPropagation(),t.preventDefault(),(()=>e.updateChartGrouping(i)).apply(null,arguments)}}},[t("i",{staticClass:"fas fa-check text-primary",style:{visibility:e.activeGrouping===i.key?"visible":"hidden"}}),t("span",[e._v(e._s(i.title))])])}))],2),t("b-dropdown",{attrs:{right:"","no-caret":"","toggle-class":"action-btn icon-btn","menu-class":"scrollable",title:e.$t("Filter")},scopedSlots:e._u([{key:"button-content",fn:function(){return[t("i",{staticClass:"fas fa-filter"})]},proxy:!0}])},[t("filtering-dropdown",{ref:"filteringDropdown1",attrs:{"local-storage-prefix":e.filterLocalStoragePrefix,"filter-options":e.filterOptions,"filter-values":e.filterValues,"filter-update-mixin":e.filterUpdateMixin},on:{onFilterUpdated:e.onFilterUpdated}})],1),t("b-dropdown",{attrs:{right:"","no-caret":"","toggle-class":"icon-btn d-md-none"},scopedSlots:e._u([{key:"button-content",fn:function(){return[t("i",{staticClass:"fas fa-ellipsis-v"})]},proxy:!0}])},[t("cascaded-dropdown",{ref:"cascadedDropdown",attrs:{"menu-options":[{key:"grouping",icon:"fas fa-chart-bar",title:e.$t("Group By"),expandable:!0},{key:"filtering",icon:"fas fa-filter",title:e.$t("Filter"),expandable:!0}]},scopedSlots:e._u([{key:"grouping",fn:function(){return[t("b-dropdown-text",{staticClass:"small text-secondary"},[e._v(e._s(e.$t("GROUP BY")))]),e._l(e.groupingOptions,(function(i){return t("b-dropdown-item",{key:i.key,nativeOn:{"!click":function(t){return t.stopPropagation(),t.preventDefault(),(()=>e.updateChartGrouping(i)).apply(null,arguments)}}},[t("i",{staticClass:"fas fa-check text-primary",style:{visibility:e.activeGrouping===i.key?"visible":"hidden"}}),t("span",[e._v(e._s(i.title))])])}))]},proxy:!0},{key:"filtering",fn:function(){return[t("filtering-dropdown",{ref:"filteringDropdown2",attrs:{"local-storage-prefix":e.filterLocalStoragePrefix,"filter-options":e.filterOptions,"filter-values":e.filterValues,"filter-update-mixin":e.filterUpdateMixin},on:{onFilterUpdated:e.onFilterUpdated}})]},proxy:!0}])})],1)],1)]},proxy:!0},{key:"content",fn:function(){return[t("active-filter-notice",{attrs:{"filter-values":e.filterValues},on:{onShowAllClicked:e.resetFilters}}),e.stats?t("b-container",[t("b-row",[t("b-col",[t("muted-alert",{staticClass:"muted-alert"},[e._v(e._s(e.$t("Statistics include deleted prints")))])],1)],1),t("b-row",[t("b-col",{staticClass:"mb-4 mb-lg-0",attrs:{lg:"6"}},[t("div",{staticClass:"stats-block total-prints"},[t("div",{staticClass:"stats-block-title"},[t("i",{staticClass:"fas fa-hashtag"}),t("span",[e._v(e._s(e.$t("Total Prints")))])]),t("div",{staticClass:"chart-wrapper"},[t("div",{staticClass:"legend"},[t("div",{staticClass:"line"},[t("div",{staticClass:"square success"}),t("div",{staticClass:"title"},[e._v(e._s(e.$t("Finished"))+":")]),t("div",{staticClass:"value"},[e._v(e._s(e.stats?e.stats.total_succeeded_print_count:""))])]),t("div",{staticClass:"line"},[t("div",{staticClass:"square danger"}),t("div",{staticClass:"title"},[e._v(e._s(e.$t("Cancelled"))+":")]),t("div",{staticClass:"value"},[e._v(e._s(e.stats?e.stats.total_cancelled_print_count:""))])])]),t("div",{ref:"totalPrintsDonutChart"})])])]),t("b-col",{attrs:{lg:"6"}},[t("div",{staticClass:"stats-block print-time"},[t("div",{staticClass:"stats-block-title"},[t("i",{staticClass:"far fa-clock"}),t("span",[e._v(e._s(e.$t("Print Time")))])]),t("div",{staticClass:"info total-print-time"},[t("div",{staticClass:"title"},[e._v(e._s(e.$t("Total print time")))]),t("div",{staticClass:"value"},[e._v(e._s(e.humanizedDuration(e.stats.total_print_time)))])]),t("div",{staticClass:"other-print-time-numbers"},[t("div",{staticClass:"info"},[t("div",{staticClass:"title"},[e._v(e._s(e.$t("Longest print")))]),t("div",{staticClass:"value"},[e._v(e._s(e.humanizedDuration(e.stats.longest_print_time)))])]),t("div",{staticClass:"divider"}),t("div",{staticClass:"info"},[t("div",{staticClass:"title"},[e._v(e._s(e.$t("Average print")))]),t("div",{staticClass:"value"},[e._v(e._s(e.humanizedDuration(e.stats.average_print_time)))])])])])])],1),t("b-row",{staticClass:"mt-4"},[t("b-col",[t("div",{staticClass:"stats-block bar-chart"},[t("div",{staticClass:"stats-block-title"},[t("i",{staticClass:"fas fa-hashtag"}),t("span",[e._v(e._s(e.$t("Prints Count")))])]),t("div",{ref:"printCountGroupsChart",staticClass:"bar-chart-wrapper"})])])],1),t("b-row",{staticClass:"mt-4"},[t("b-col",[t("div",{staticClass:"stats-block bar-chart"},[t("div",{staticClass:"stats-block-title"},[t("i",{staticClass:"far fa-clock"}),t("span",[e._v(e._s(e.$t("Print Time")))])]),t("div",{ref:"printTimeGroupsChart",staticClass:"bar-chart-wrapper"})])])],1),t("b-row",{staticClass:"mt-4"},[t("b-col",[t("div",{staticClass:"stats-block bar-chart filament-used-groups"},[t("div",{staticClass:"stats-block-title"},[t("i",{staticClass:"fas fa-ruler-horizontal"}),t("div",{staticClass:"title-group"},[t("span",[t("help-widget",{attrs:{id:"filament-used-may-be-incorrect",highlight:!1,"show-close-button":!1}},[e._v(" "+e._s(e.$t("Filament Usage"))+" ")])],1),t("div",{staticClass:"divider"}),t("div",{staticClass:"subtitle"},[e._v(e._s(e.totalFilamentUsedFormatted)+" "+e._s(e.$t("total")))])])]),t("div",{ref:"filamentUsedGroupsChart",staticClass:"bar-chart-wrapper"})])])],1)],1):t("loading-placeholder"),t("date-picker-modal",{ref:"datePickerModal",on:{picked:e.onDatesPicked}})]},proxy:!0}])})},fn=[],gn=function(){var e=this,t=e._self._c;return t("div",{staticClass:"alert-wrapper"},[e._m(0),t("p",{staticClass:"message"},[e._t("default")],2)])},vn=[function(){var e=this,t=e._self._c;return t("div",{staticClass:"icon"},[t("i",{staticClass:"fas fa-info-circle"})])}],bn={name:"MutedAlert"},yn=bn,wn=(i("b5c8"),Object(N["a"])(yn,gn,vn,!1,null,"55bd9838",null)),_n=wn.exports,Cn=i("898b");const kn=(e,{name:t=(([e])=>e),value:i=(([,e])=>e),totalValue:n=null,totalValueFormat:a=",",title:r,width:s=180,height:o=180,innerRadius:l=Math.min(s,o)/3.6,outerRadius:c=Math.min(s,o)/2,labelRadius:d=(l+c)/2,format:u=",",names:p,colors:h,stroke:m=(l>0?"none":"white"),strokeWidth:f=10,strokeLinejoin:g="round",padAngle:v=("none"===m?2/c:0),emptyState:b=!1}={})=>{const y=Cn["h"](e,t),w=Cn["h"](e,i),_=Cn["l"](y.length).filter(e=>!isNaN(w[e]));void 0===p&&(p=y),p=new Cn["a"](p),void 0===h&&(h=Cn["p"][p.size]),void 0===h&&(h=Cn["k"](e=>Cn["g"](.8*e+.1),p.size));const C=Cn["o"](p,h);if(void 0===r){const e=Cn["f"](u);r=t=>""+e(w[t])}else{const t=Cn["h"](e,e=>e),i=r;r=n=>i(t[n],n,e)}const k=Cn["j"]().padAngle(v).sort(null).value(e=>w[e])(_),P=Cn["b"]().innerRadius(l).outerRadius(c),S=Cn["b"]().innerRadius(d).outerRadius(d),D=Cn["e"]("svg").attr("width",s).attr("height",o).attr("viewBox",[-s/2,-o/2,s,o]).attr("style","max-width: 100%; height: auto; height: intrinsic;");if(D.append("g").attr("stroke",m).attr("stroke-width",f).attr("stroke-linejoin",g).selectAll("path").data(k).join("path").attr("fill",e=>C(y[e.data])).attr("d",P).append("title").text(e=>r(e.data)),D.append("g").attr("font-family","sans-serif").attr("font-size",14).attr("text-anchor","middle").selectAll("text").data(k).join("text").attr("transform",e=>`translate(${S.centroid(e)})`).selectAll("tspan").data(e=>{if(b)return["0%"];const t=(""+r(e.data)).split(/\n/);return e.endAngle-e.startAngle>.25?t:t.slice(0,1)}).join("tspan").attr("x",0).attr("y",(e,t)=>"0.3em").attr("font-weight",(e,t)=>t?null:"bold").attr("fill","#fff").text(e=>e),n){D.append("text").attr("font-size",12).attr("dy","-.75em").attr("text-anchor","middle").attr("fill","var(--color-text-secondary)").text("Total");const e=Cn["f"](a);D.append("text").attr("dy",".75em").attr("font-size",14).attr("text-anchor","middle").attr("font-weight","bold").attr("fill","var(--color-text-primary)").text(e(n))}return Object.assign(D.node(),{scales:{color:C}})};var Pn=i("b279");const Sn=(e,{x:t=((e,t)=>t),y:i=(e=>e),title:n,marginTop:a=20,marginRight:r=0,marginBottom:s=40,marginLeft:o=40,width:l=640,height:c=210,xDomain:d,xRange:u=[o,l-r],xLabelShow:p=(e=>!0),xLabelRotation:h=0,yType:m=Cn["n"],yDomain:f,yRange:g=[c-s,a],yTicks:v=c/40,xPadding:b=.1,yFormat:y,yTickFormat:w=null,yLabel:_,color:C="currentColor"}={})=>{const k=Cn["h"](e,t),P=Cn["h"](e,i);void 0===d&&(d=k),void 0===f&&(f=[0,Cn["i"](P)]),d=new Cn["a"](d);const S=Cn["l"](k.length).filter(e=>d.has(k[e])),D=Cn["m"](d,u).padding(b),x=m(f,g),T=Cn["c"](D).tickSizeOuter(0),I=Cn["d"](x).ticks(v,y);if(w&&I.tickFormat(w),void 0===n){const e=x.tickFormat(100,y);n=t=>`${k[t]}: ${e(P[t])}`}else{const t=Cn["h"](e,e=>e),i=n;n=n=>i(t[n],n,e)}const F=Cn["e"]("svg").attr("width",l).attr("height",c).attr("viewBox",[0,0,l,c]).attr("style","max-width: 100%; height: auto; height: intrinsic;");F.append("g").attr("transform",`translate(${o},0)`).call(I).call(e=>e.selectAll(".tick line").clone().attr("x2",l-o-r).attr("stroke-opacity",.1)).call(e=>e.selectAll("text").attr("font-size",11));const A=F.append("g").attr("fill",C).selectAll("rect").data(S).join("rect").attr("x",e=>D(k[e])).attr("y",e=>x(P[e])).attr("height",e=>x(0)-x(P[e])).attr("width",D.bandwidth()).attr("rx",2);return n&&A.append("title").text(n),F.append("g").attr("transform",`translate(0,${c-s})`).call(T).selectAll("text").attr("transform",h?`translate(-10,0)rotate(-${h})`:"").attr("font-size",11).call((function(e){e.each((function(e,t){var i=Cn["q"](this),n=i.text().split("\r")[0].split("\n");i.text(""),p(t)&&(i.append("tspan").attr("x",0).attr("dy","1em").attr("text-anchor",h?"end":"middle").text(n[0]),2===n.length&&i.append("tspan").attr("x",0).attr("dy","1.2em").text(n[1]))}))})),F.node()},Dn=(e,t,i="day",n)=>{const a=e/t,r="day"===i?30:"week"===i?70:35,s=20;let o,l;return a>=r?(o=1,l=0):(o=Math.ceil(s/a),l=45),{frequency:o,rotation:l,value:e=>{const t=H()(e.key);let a,r="";if("day"===i)a=Object(Pn["b"])(t,"M/D"),r=Object(Pn["b"])(t,"ddd");else if("week"===i){a=Object(Pn["b"])(t,"M/D");const e=t.clone().endOf("week"),i=e.isBefore(n)?e:n;a+="-"+(i.month()===t.month()?i.format("D"):i.format("M/D")),r=6===i.diff(t,"days")?"Week "+t.week():""}else"month"===i?(a=Object(Pn["b"])(t,"MMM"),r=Object(Pn["b"])(t,"YYYY")):a=Object(Pn["b"])(t,"YYYY");let s=a;0===l&&(s+="\n"+r);const o=Object(Pn["b"])(t,"M/D/YYYY");return s+="\r"+o,s},shouldShow:e=>e%o===0}},xn="statsGrouping",Tn="YYYY-MM-DD",In="statsFiltering",Fn={timePeriod:{title:""+G["a"].t("Time Period"),buildQueryParam:Xi,values:[{key:"none",title:""+G["a"].t("All")},{key:"this_week",title:""+G["a"].t("This Week")},{key:"this_month",title:""+G["a"].t("This Month")},{key:"this_year",title:""+G["a"].t("This Year")},{key:"custom",title:""+G["a"].t("Custom")}],default:"none"},printStatus:{title:""+G["a"].t("Print Status"),queryParam:"filter",values:[{key:"none",title:""+G["a"].t("All")},{key:"finished",title:""+G["a"].t("Finished")},{key:"cancelled",title:""+G["a"].t("Cancelled")}],default:"none"},printers:{title:""+G["a"].t("Printers"),queryParam:"filter_by_printer_ids",multiple:!0,values:[{key:"none",title:""+G["a"].t("All"),includesAll:!0}],default:"none"}};var An={name:"StatsPage",components:{PageLayout:Ft,MutedAlert:_n,CascadedDropdown:ci,FilteringDropdown:Si,ActiveFilterNotice:Ai,DatePickerModal:Wi,HelpWidget:Zi},data:function(){return{user:null,stats:null,groupingOptions:[{key:"auto",title:"Auto"},{key:"day",title:"Day"},{key:"week",title:"Week"},{key:"month",title:"Month"},{key:"year",title:"Year"}],activeGrouping:Object(s["a"])(xn,"auto"),filterLocalStoragePrefix:In,filterOptions:Fn,filterValues:_i(In,Fn)}},computed:{defaultStatsParams(){return{timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,from_date:H()(this.user.date_joined).format(Tn),to_date:H()(new Date).format(Tn),group_by:this.getActiveGrouping()}},isEmptyState(){var e;return!(null!==(e=this.stats)&&void 0!==e&&e.total_print_count)},finishedPrintsPercentage(){var e,t;const i=null===(e=this.stats)||void 0===e?void 0:e.total_succeeded_print_count,n=null===(t=this.stats)||void 0===t?void 0:t.total_print_count;return i&&n?Math.round(i/n*100):0},cancelledPrintsPercentage(){var e;const t=null===(e=this.stats)||void 0===e?void 0:e.total_print_count;return t?100-this.finishedPrintsPercentage:0},totalFilamentUsedFormatted(){var e;return ve(null===(e=this.stats)||void 0===e?void 0:e.total_filament_used)}},created(){this.user=Object(Q["f"])(),this.updateCustomPeriodFilterSubtitle(),oe["a"].get(le["a"].printers(),{params:{with_archived:!1}}).then(e=>{if(e.data.forEach(e=>{this.filterOptions.printers.values.push({key:String(e.id),title:e.name})}),"none"!==this.filterValues.printers){const t=e.data.map(e=>String(e.id));this.filterValues.printers=this.filterValues.printers.filter(e=>t.includes(e)),Object(s["b"])(In+"-printers",this.filterValues.printers)}this.fetchStats()})},mounted(){addEventListener("resize",this.drawCharts)},unmounted(){removeEventListener("resize",this.drawCharts)},methods:{getFilterParamsFromQuery(){let e={};const t=new URLSearchParams(window.location.search),i=t.entries(),n=["hide_header"];for(const[a,r]of i)a&&r&&!n.includes(a)&&(e[a]=e[a]?Array.isArray(e[a])?[...e[a],r]:[e[a],r]:r);return console.log("params",e),e},fetchStats(){oe["a"].get(le["a"].stats(),{params:{with_deleted:!0,...this.defaultStatsParams,...Ci(this.filterOptions,this.filterValues,this.customFilterParamsBuilder),...this.getFilterParamsFromQuery()}}).then(e=>{this.stats=e.data,this.$nextTick(this.drawCharts)}).catch(e=>{this.errorDialog(e,""+this.$i18next.t("Failed to fetch statistics"))})},updateChartGrouping(e){this.activeGrouping=e.key,Object(s["b"])(xn,e.key),this.fetchStats()},drawCharts(){if(!this.stats)return;this.$refs.totalPrintsDonutChart.replaceChildren(kn([{name:"Finished",value:this.isEmptyState?.5:this.finishedPrintsPercentage/100},{name:"Cancelled",value:this.isEmptyState?.5:this.cancelledPrintsPercentage/100}],{name:e=>e.name,value:e=>e.value,format:".0%",totalValue:this.isEmptyState?"0":this.stats.total_succeeded_print_count+this.stats.total_cancelled_print_count,names:["Finished","Cancelled"],colors:["var(--color-success)","var(--color-danger)"],emptyState:this.isEmptyState}));const e=Math.max(...this.stats.print_count_groups.map(e=>e.value));this.drawBarChart({data:this.stats.print_count_groups,ref:this.$refs.printCountGroupsChart,yFormat:"d",titleValue:e=>e+" print(s)",yDomain:[0,e||1],yTicks:Math.min(e||1,5)});const t=Math.max(...this.stats.print_time_groups.map(e=>e.value)),i=Math.round(t/3600);this.drawBarChart({data:this.stats.print_time_groups.map(e=>({...e,value:e.value/3600})),ref:this.$refs.printTimeGroupsChart,yFormat:"d",yTickFormat:e=>e>8760?Math.round(e/8760)+"y":e>=24?Math.round(e/24)+"d":e+"h",titleValue:e=>this.humanizedDuration(3600*e),yDomain:[0,i||1],yTicks:Math.min(i||1,5)});const n=Math.max(...this.stats.filament_used_groups.map(e=>e.value)),a=Math.round(n/1e3);this.drawBarChart({data:this.stats.filament_used_groups.map(e=>({...e,value:e.value/1e3})),ref:this.$refs.filamentUsedGroupsChart,yFormat:"d",yTickFormat:e=>e+"m",titleValue:e=>e>=1e3?Math.round(e/1e3)+"km":e+"m",yDomain:[0,a||1],yTicks:Math.min(a||1,5)})},drawBarChart({data:e,ref:t,yFormat:i,yTickFormat:n,yTicks:a,yDomain:r,titleValue:s}){var o;const l=t.offsetWidth,c=e.length,d=Dn(l,c,(null===(o=this.getFilterParamsFromQuery())||void 0===o?void 0:o.group_by)||this.getActiveGrouping(),tn(this.filterValues.timePeriod,this.getCurrentDateTo()));t.replaceChildren(Sn(e,{xLabelRotation:d.rotation,xLabelShow:d.shouldShow,x:d.value,y:e=>e.value,yFormat:i,yTickFormat:n,yDomain:r,yTicks:a,width:l,color:"var(--color-divider)",title:e=>{const t=d.value(e).split("\r")[0].split("\n");return`${t[0]+(t[1]?", "+t[1]:"")} — ${s?s(e.value):e.value}`},marginBottom:55}))},humanizedDuration:fe,onFilterUpdated(e,t){this.filterValues[e]=t,this.fetchStats()},resetFilters(){for(const e of Object.keys(this.filterValues))this.filterValues[e]="none",Object(s["b"])(`${In}-${e}`,"none");this.updateCustomPeriodFilterSubtitle(),this.fetchStats()},getActiveGrouping(){return"auto"===this.activeGrouping?nn(this.filterValues.timePeriod,this.getCurrentDateFrom(),this.getCurrentDateTo(),this.user):this.activeGrouping},getCurrentDateFrom(){return Object(s["a"])(In+"-timePeriod-dateFrom")||null},getCurrentDateTo(){return Object(s["a"])(In+"-timePeriod-dateTo")||null},filterUpdateMixin(e,t){if("timePeriod"===e){if("custom"===t){if("custom"!==this.filterValues.timePeriod)this.$refs.datePickerModal.show();else{const e=this.getCurrentDateFrom(),t=this.getCurrentDateTo();this.$refs.datePickerModal.show(e,t)}return}this.$nextTick(()=>{this.updateCustomPeriodFilterSubtitle()})}return!0},onDatesPicked(e,t){(e||t)&&(this.filterValues.timePeriod="custom",Object(s["b"])(In+"-timePeriod","custom"),Object(s["b"])(In+"-timePeriod-dateFrom",e),Object(s["b"])(In+"-timePeriod-dateTo",t),this.updateCustomPeriodFilterSubtitle(),this.fetchStats())},customFilterParamsBuilder(e,t){if("timePeriod"===e)return this.filterOptions[e].buildQueryParam(t,this.getCurrentDateFrom(),this.getCurrentDateTo(),this.user)},updateCustomPeriodFilterSubtitle(){let e="";if("custom"===this.filterValues.timePeriod){const t="MMM D, YYYY",i=this.getCurrentDateFrom(),n=this.getCurrentDateTo(),a=i?H()(i).format(t):"Until",r=n?H()(n).format(t):"and later";e=`${a}${i&&n?" - ":" "}${r}`}const t=this.filterOptions.timePeriod.values.findIndex(e=>"custom"===e.key);this.filterOptions.timePeriod.values[t].subtitle=e,this.$refs.filteringDropdown1&&this.$refs.filteringDropdown1.$forceUpdate(),this.$refs.filteringDropdown2&&this.$refs.filteringDropdown2.$forceUpdate()}}},$n=An,On=(i("a1cb"),Object(N["a"])($n,mn,fn,!1,null,"7397c062",null)),Nn=On.exports,Ln=function(){var e=this,t=e._self._c;return t("page-layout",{scopedSlots:e._u([{key:"topBarLeft",fn:function(){return[t("div",{staticClass:"actions-with-selected-desktop"},[t("b-form-group",{staticClass:"m-0"},[t("b-form-checkbox",{attrs:{size:"lg"},model:{value:e.allPrintsSelected,callback:function(t){e.allPrintsSelected=t},expression:"allPrintsSelected"}})],1),t("div",[t("span",{directives:[{name:"show",rawName:"v-show",value:!e.selectedPrintIds.size,expression:"!selectedPrintIds.size"}],staticClass:"label",on:{click:function(t){e.allPrintsSelected=!e.allPrintsSelected}}},[e._v(e._s(e.$t("Select all")))]),t("b-dropdown",{directives:[{name:"show",rawName:"v-show",value:e.selectedPrintIds.size,expression:"selectedPrintIds.size"}],attrs:{"toggle-class":"btn btn-sm actions-with-selected-btn"},scopedSlots:e._u([{key:"button-content",fn:function(){return[e._v(" "+e._s(e.selectedPrintIds.size)+" item"+e._s(1===e.selectedPrintIds.size?"":"s")+" "+e._s(e.$t("selected..."))+" ")]},proxy:!0}])},[t("b-dropdown-item",[t("div",{staticClass:"text-danger",on:{click:e.onDeleteBtnClick}},[t("i",{staticClass:"far fa-trash-alt"}),e._v(e._s(e.$t("Delete"))+" ")])])],1)],1)],1)]},proxy:!0},{key:"topBarRight",fn:function(){return[t("div",{staticClass:"action-panel"},[t("b-dropdown",{attrs:{right:"","no-caret":"","toggle-class":"action-btn icon-btn",title:e.$t("Sort By")},scopedSlots:e._u([{key:"button-content",fn:function(){return[t("i",{staticClass:"fas fa-sort-amount-down"})]},proxy:!0}])},[t("sorting-dropdown",{attrs:{"local-storage-prefix":e.sortingLocalStoragePrefix,"sorting-options":e.sortingOptions,"sorting-value":e.sortingValue},on:{onSortingUpdated:e.onSortingUpdated}})],1),t("b-dropdown",{attrs:{right:"","no-caret":"","toggle-class":"action-btn icon-btn","menu-class":"scrollable",title:e.$t("Filter")},scopedSlots:e._u([{key:"button-content",fn:function(){return[t("i",{staticClass:"fas fa-filter"})]},proxy:!0}])},[t("filtering-dropdown",{attrs:{"local-storage-prefix":e.filterLocalStoragePrefix,"filter-options":e.filterOptions,"filter-values":e.filterValues},on:{onFilterUpdated:e.onFilterUpdated}})],1),t("b-dropdown",{attrs:{right:"","no-caret":"","toggle-class":"icon-btn d-md-none"},scopedSlots:e._u([{key:"button-content",fn:function(){return[t("i",{staticClass:"fas fa-ellipsis-v"})]},proxy:!0}])},[t("cascaded-dropdown",{ref:"cascadedDropdown",attrs:{"menu-options":[{key:"sorting",icon:"fas fa-sort-amount-down",title:e.$t("Sort"),expandable:!0},{key:"filtering",icon:"fas fa-filter",title:e.$t("Filter"),expandable:!0}]},scopedSlots:e._u([{key:"sorting",fn:function(){return[t("sorting-dropdown",{attrs:{"local-storage-prefix":e.sortingLocalStoragePrefix,"sorting-options":e.sortingOptions,"sorting-value":e.sortingValue},on:{onSortingUpdated:e.onSortingUpdated}})]},proxy:!0},{key:"filtering",fn:function(){return[t("filtering-dropdown",{attrs:{"local-storage-prefix":e.filterLocalStoragePrefix,"filter-options":e.filterOptions,"filter-values":e.filterValues},on:{onFilterUpdated:e.onFilterUpdated}})]},proxy:!0}])})],1)],1)]},proxy:!0},{key:"content",fn:function(){return[t("active-filter-notice",{attrs:{"filter-values":e.filterValues},on:{onShowAllClicked:e.resetFilters}}),t("b-container",[t("b-row",{directives:[{name:"show",rawName:"v-show",value:e.prints.length,expression:"prints.length"}],staticClass:"print-cards"},e._l(e.visiblePrints,(function(i){return t("print-card",{key:i.id,attrs:{print:i,selected:e.selectedPrintIds.has(i.id)},on:{selectedChanged:e.onSelectedChanged,printDeleted:e.onPrintDeleted,printDataChanged:e.printDataChanged,fullscreen:e.openFullScreen}})})),1),t("mugen-scroll",{staticClass:"text-center p-4",attrs:{handler:e.fetchMoreData,"should-handle":!e.loading}},[e.noMoreData?t("div",{staticClass:"text-center p-2"},[e._v(e._s(e.$t("No more time-lapses.")))]):e._e(),e.noMoreData?e._e():t("b-spinner",{attrs:{label:e.$t("Loading...")}})],1),t("b-modal",{attrs:{id:"tl-fullscreen-modal",size:"full","hide-header":!0,"hide-footer":!0},on:{hidden:e.fullScreenClosed}},[t("FullScreenPrintCard",{attrs:{print:e.fullScreenPrint,"video-url":e.fullScreenPrintVideoUrl,autoplay:!0}})],1)],1)]},proxy:!0}])})},Mn=[],En=i("dd61"),Rn=i.n(En),zn=function(){var e=this,t=e._self._c;return t("div",{staticClass:"col-sm-12 col-md-6 col-lg-4 print-card"},[t("div",{staticClass:"card vld-parent"},[e.isPublic?t("div",{staticClass:"card-header"},[e._v("- By "+e._s(e.print.creator_name))]):t("div",{staticClass:"card-header"},[t("div",{style:{visibility:e.hasSelectedChangedListener?"visible":"hidden"}},[t("b-form-checkbox",{staticClass:"text-decoration-none",attrs:{size:"lg"},model:{value:e.isSelected,callback:function(t){e.isSelected=t},expression:"isSelected"}})],1),t("b-form-radio-group",{attrs:{buttons:"","button-variant":"outline-primary",name:"radio-btn-outline"},model:{value:e.selectedCardView,callback:function(t){e.selectedCardView=t},expression:"selectedCardView"}},[t("b-form-radio",{staticClass:"no-corner no-shadow",attrs:{value:"detective",disabled:!e.canShowDetectiveView}},[t("i",{staticClass:"fas fa-balance-scale"})]),t("b-form-radio",{staticClass:"no-corner no-shadow",attrs:{value:"info"}},[t("i",{staticClass:"fas fa-info"})])],1),t("b-dropdown",{attrs:{right:"","no-caret":"","toggle-class":"icon-btn"},scopedSlots:e._u([{key:"button-content",fn:function(){return[t("i",{staticClass:"fas fa-ellipsis-v"})]},proxy:!0}])},[e.print.video_url&&!e.print.video_archived_at?t("b-dropdown-item",{attrs:{href:e.print.video_url,target:"_blank"}},[t("i",{staticClass:"fas fa-download"}),e._v(e._s(e.$t("Download Original Time-lapse"))+" ")]):e._e(),e.print.tagged_video_url&&!e.print.video_archived_at?t("b-dropdown-item",{attrs:{href:e.print.tagged_video_url,target:"_blank"}},[t("i",{staticClass:"fas fa-download"}),e._v(e._s(e.$t("Download Detective Time-lapse"))+" ")]):e._e(),t("b-dropdown-divider"),t("b-dropdown-item",{on:{click:e.deleteVideo}},[t("span",{staticClass:"text-danger"},[e._v(e._s(e.$t(" "))),t("i",{staticClass:"fas fa-trash-alt"}),e._v(e._s(e.$t("Delete"))+" ")])])],1)],1),t("div",[e.print.video_archived_at?t("div",{staticClass:"position-relative"},[t("div",{staticClass:"poster-placeholder-wrapper"},[t("svg",{staticClass:"poster-placeholder"},[t("use",{attrs:{href:e.posterSrc}})])]),t("div",{staticClass:"archived-info"},[t("div",{staticClass:"text"},[e._v(" "+e._s(e.$t("Video file is deleted."))+" "),t("a",{attrs:{href:"#"},on:{click:function(t){return e.showVideoArchivedDescription(t)}}},[e._v(e._s(e.$t("Why?")))])])])]):t("div",[e.videoUrl?t("video-box",{attrs:{"video-url":e.videoUrl,"poster-url":e.print.poster_url,fluid:!0,"fullscreen-btn":e.hasFullscreenListener},on:{timeupdate:e.onTimeUpdate,fullscreen:function(t){return e.$emit("fullscreen",e.print.id,e.videoUrl)}}}):t("div",[t("detective-working")],1)],1),t("div",{directives:[{name:"show",rawName:"v-show",value:"info"==e.cardView&&!e.isPublic,expression:"cardView == 'info' && !isPublic"}]},[t("div",{staticClass:"card-body"},[t("div",{staticClass:"container"},[t("div",{staticClass:"row"},[t("div",{staticClass:"text-muted col-4"},[e._v(" "+e._s(e.$t("File"))+" "),t("span",{staticClass:"float-right"},[e._v(":")])]),t("div",{staticClass:"col-8"},[e._v(e._s(e.print.filename))])]),t("div",{directives:[{name:"b-tooltip",rawName:"v-b-tooltip.hover",modifiers:{hover:!0}}],staticClass:"row",attrs:{title:e.humanizedPrintedOrUploadedTime(e.longFormat=!0)}},[t("div",{staticClass:"text-muted col-4"},[e._v(" "+e._s(e.wasTimelapseUploaded?"Uploaded":"Printed")+" "),t("span",{staticClass:"float-right"},[e._v(":")])]),t("div",{staticClass:"col-8"},[e._v(e._s(e.humanizedPrintedOrUploadedTime())+" "+e._s(e.endStatus))])]),!e.wasTimelapseUploaded&&e.duration?t("div",{staticClass:"row",attrs:{id:"dur-"+e.print.id}},[t("b-tooltip",{attrs:{target:"dur-"+e.print.id,triggers:"hover"}},[e._v(" "+e._s(e._f("floor")(e._f("duration")(e.duration,"asHours")))+":"+e._s(e._f("duration")(e.duration,"minutes"))+":"+e._s(e._f("duration")(e.duration,"seconds"))+" ")]),t("div",{staticClass:"text-muted col-4"},[e._v(" "+e._s(e.$t("Duration"))+" "),t("span",{staticClass:"float-right"},[e._v(":")])]),t("div",{staticClass:"col-8"},[e._v(e._s(e.duration.humanize()))])],1):e._e()])])]),e.isPublic?t("div",{staticClass:"bg-warning alert-banner text-center",style:{opacity:e.normalizedP>.4?1:0}},[t("i",{staticClass:"fas fa-exclamation-triangle"}),e._v(" "+e._s(e.$t("Possible failure detected!"))+" ")]):e._e(),t("div",{directives:[{name:"show",rawName:"v-show",value:"detective"==e.cardView||e.isPublic,expression:"cardView == 'detective' || isPublic"}]},[e.print.prediction_json_url?t("failure-detection-gauge",{attrs:{"normalized-p":e.normalizedP}}):e._e(),e.isPublic?e._e():t("div",{staticClass:"feedback-section"},[t("div",{staticClass:"text-center py-2 px-3"},[t("div",{staticClass:"lead",class:[e.print.alerted_at?"text-danger":"text-success"]},[e._v(" "+e._s(e.print.alerted_at?"Failure detected":"No failure detected")+" ")]),t("div",{staticClass:"py-2"},[e._v(" "+e._s(e.$t("Did we get it right?"))+" "),t("b-button",{staticClass:"mx-2 btn-sm",attrs:{variant:e.thumbedUp?"primary":"outline"},on:{click:e.onThumbUpClick}},[e.inflightAlertOverwrite?t("b-spinner",{attrs:{type:"grow",small:""}}):t("i",{staticClass:"fas fa-thumbs-up"})],1),t("b-button",{staticClass:"mx-2 btn-sm",attrs:{variant:e.thumbedDown?"primary":"outline"},on:{click:e.onThumbDownClick}},[e.inflightAlertOverwrite?t("b-spinner",{attrs:{type:"grow",small:""}}):t("i",{staticClass:"fas fa-thumbs-down"})],1)],1),t("transition",{attrs:{name:"bounce"}},[e.print.printShotFeedbackEligible?t("div",{staticClass:"pt-2"},[t("a",{staticClass:"btn btn-sm btn-outline-primary px-4",attrs:{role:"button",href:e.focusedFeedbackLink}},[e._v(" F "),t("i",{staticClass:"fas fa-search focused-feedback-icon"}),e._v(e._s(e.$t("CUSED FEEDBACK"))+" "),e.print.need_print_shot_feedback?t("svg",{staticClass:"seg-control-icon ml-1 double-hours-icon"},[t("use",{attrs:{href:"#svg-hour-double"}})]):e._e()])]):e._e()])],1),t("div",{staticClass:"text-muted py-2 px-3 help-text"},[e.print.printShotFeedbackEligible?t("small",[e.print.need_print_shot_feedback?t("span",[e._v(" "+e._s(e.$t("With Focused Feedback, you can tell us exactly where we got it wrong. This is the most effective way to help us improve."))+" "),t("a",{attrs:{href:e.getDocUrl("/user-guides/how-does-credits-work#you-earn-detective-hours-for-giving-focused-feedback")}},[e._v(e._s(e.$t("You will earn 2 AI Detection Hours once you finish the Focused Feedback")))]),e._v(". ")]):t("span",[e._v(e._s(e.$t("Thank you for completing the Focused Feedback. You have earned 2 non-expirable AI Detection Hours. You can click the button again to change your feedback.")))])]):t("small",[e._v(" "+e._s(e.$t("Every time you give us feedback,"))+" "),t("a",{attrs:{href:e.getDocUrl("/user-guides/how-does-credits-work/")}},[e._v(e._s(e.$t("you help us get better at detecting failures")))]),e._v(". ")])])])],1)])])])},Bn=[],Un=function(){var e=this,t=e._self._c;return t("div",{staticClass:"obico-gauge-container"},[t("span",{style:{color:e.titleColor},attrs:{id:"title"}},[e._v(e._s(e.titleText))]),t("div",{staticClass:"obico-gauge"},[t("radial-gauge",{attrs:{value:e.value,options:e.computedOptions}})],1),t("hr")])},jn=[],Wn=i("7489"),Hn=i("59cf"),Vn={name:"FailureDetectionGauge",components:{RadialGauge:Wn["a"]},props:{normalizedP:{type:Number,required:!0},isWatching:{type:Boolean,default:!0},options:{type:Object,default:null}},computed:{computedOptions(){if(null!==this.options)return this.options;const e={highlight1:Object(S["a"])()===Hn["a"].Light?"#929292":"#8395a7",highlight2:Object(S["a"])()===Hn["a"].Light?"#b7b7b7":"#a8bacc",highlight3:Object(S["a"])()===Hn["a"].Light?"#7b7b7b":"#6c7e90",needle:Object(S["a"])()===Hn["a"].Light?"#2d3e4f":"#ffffff"};return{valueDec:0,valueInt:0,width:240,height:240,units:!1,box:!1,minValue:0,maxValue:100,majorTicks:["","","",""],minorTicks:4,highlights:[{from:0,to:33,color:this.isWatching?"#5cb85c":e.highlight1},{from:33,to:67,color:this.isWatching?"#f0ad4e":e.highlight2},{from:67,to:100,color:this.isWatching?"#d9534f":e.highlight3}],colorPlate:"rgba(255,255,255,.0)",colorTitle:"#5cb85c",colorStrokeTicks:"#EBEBEB",colorNeedleEnd:this.isWatching?"rgba(255, 160, 122, .9)":e.needle,colorNeedle:this.isWatching?"rgba(240, 128, 128, 1)":e.needle,colorNeedleShadowUp:this.isWatching?"rgba(2,255,255,0.2)":e.needle,valueBox:!1,animationRule:"bounce",animationDuration:500,animatedValue:!0,startAngle:90,ticksAngle:180,borders:!1}},value(){return 100*this.normalizedP},titleText(){if(!this.isWatching)return""+this.$i18next.t("Not Watching");switch(this.level()){case 0:return""+this.$i18next.t("Looking Good");case 1:return""+this.$i18next.t("Fishy...");case 2:return""+this.$i18next.t("Failing!");default:return""+this.$i18next.t("Looking Good")}},titleColor(){if(!this.isWatching)return"var(--color-text-secondary)";switch(this.level()){case 0:return"#5cb85c";case 1:return"#f0ad4e";case 2:return"#d9534f";default:return"#5cb85c"}}},methods:{level(){return this.value>66?2:this.value>33?1:0}}},Yn=Vn,Gn=(i("cf8b"),Object(N["a"])(Yn,Un,jn,!1,null,"465c0e04",null)),Kn=Gn.exports,qn={name:"PrintCard",components:{VideoBox:zt,FailureDetectionGauge:Kn,DetectiveWorking:Vt},props:{print:{type:Object,required:!0},isPublic:{type:Boolean,default:!1},selected:{type:Boolean,default:!1}},data:function(){return{ALERT_THRESHOLD:.4,currentPosition:0,predictions:[],selectedCardView:"detective",inflightAlertOverwrite:null,isSelected:this.selected}},computed:{wasTimelapseUploaded(){return null!==this.print.uploaded_at},endStatus(){return this.print.cancelled_at?""+this.$i18next.t("(Cancelled)"):""},duration(){return this.print.ended_at&&this.print.started_at?H.a.duration(this.print.ended_at.diff(this.print.started_at)):null},canShowDetectiveView(){return null!==this.print.prediction_json_url&&null!==this.print.tagged_video_url||!!(this.print.uploaded_at&&H()().diff(this.print.uploaded_at,"hours")<24)},cardView(){return this.canShowDetectiveView?this.selectedCardView:"info"},videoUrl(){return"info"==this.cardView?this.print.video_url:this.print.tagged_video_url},thumbedUp(){return!!this.print.alert_overwrite&&this.print.has_alerts^"NOT_FAILED"===this.print.alert_overwrite},thumbedDown(){return!!this.print.alert_overwrite&&this.print.has_alerts^"FAILED"===this.print.alert_overwrite},focusedFeedbackLink(){return`/prints/shot-feedback/${this.print.id}/`},hasSelectedChangedListener(){return Boolean(this.$listeners&&this.$listeners.selectedChanged)},hasFullscreenListener(){return Boolean(this.$listeners&&this.$listeners.fullscreen)},normalizedP(){return Object(Pn["d"])(this.predictions,this.currentPosition,this.isPublic)},posterSrc(){return this.print.poster_url||"#svg-3d-printer"}},watch:{isSelected(e){this.$emit("selectedChanged",this.print.id,e)}},mounted(){this.print.prediction_json_url&&this.fetchPredictions(),this.print.tagged_video_url||(this.selectedCardView="info")},methods:{onTimeUpdate(e){this.currentPosition=e},deleteVideo(){oe["a"].delete(le["a"].print(this.print.id)).then(()=>{this.$emit("printDeleted",this.print.id)})},onThumbUpClick(){this.inflightAlertOverwrite=this.print.has_alerts?"FAILED":"NOT_FAILED",this.alertOverwrite(this.inflightAlertOverwrite)},onThumbDownClick(){this.inflightAlertOverwrite=this.print.has_alerts?"NOT_FAILED":"FAILED",this.alertOverwrite(this.inflightAlertOverwrite)},alertOverwrite(e){oe["a"].patch(le["a"].print(this.print.id),{alert_overwrite:e}).then(e=>{this.$emit("printDataChanged",e.data),this.inflightAlertOverwrite=null})},fetchPredictions(){oe["a"].get(this.print.prediction_json_url).then(e=>{this.predictions=e.data})},humanizedPrintedOrUploadedTime(e=!1){if(!this.print.uploaded_at&&!this.print.ended_at)return"-";const t=this.wasTimelapseUploaded?this.print.uploaded_at:this.print.ended_at;return e?t.format("LLLL"):t.fromNow()},showVideoArchivedDescription(e){e.preventDefault(),this.$swal.Prompt.fire({title:""+this.$i18next.t("Time-lapse video deleted"),html:`\n

${this.$i18next.t("Time-lapse videos older than 6-months are deleted from the {brandName} app server as they are rarely needed and cost significant amount to store in the cloud.",{brandName:this.$syndicateText.brandName})}

\n

${this.$i18next.t("If you are a Pro subscriber and you don't want your time-lapse videos to be deleted, please ")}${this.$i18next.t("contact us")}.

\n `,showCloseButton:!0})}}},Jn=qn,Zn=(i("d70d"),Object(N["a"])(Jn,zn,Bn,!1,null,"5aae4a5a",null)),Qn=Zn.exports,Xn=function(){var e=this,t=e._self._c;return t("div",[t("video-box",{attrs:{"video-url":e.videoUrl,"poster-url":e.print.poster_url,fluid:!1,autoplay:e.autoplay,"fullscreen-btn":!1},on:{timeupdate:e.onTimeUpdate}}),e.isPublic?t("div",{staticClass:"bg-warning alert-banner text-center",style:{opacity:e.normalizedP>.4?1:0}},[t("i",{staticClass:"fas fa-exclamation-triangle"}),e._v(" "+e._s(e.$t("Possible failure detected!"))+" ")]):e._e(),t("failure-detection-gauge",{attrs:{"normalized-p":e.normalizedP}})],1)},ea=[],ta={name:"FullScreenPrintCard",components:{VideoBox:zt,FailureDetectionGauge:Kn},props:{print:{type:Object,required:!0},videoUrl:{type:String,required:!0},initialPosition:{type:Number,default:()=>0},autoplay:{type:Boolean,default:()=>!1},isPublic:{type:Boolean,default:!1}},data(){return{currentPosition:0,predictions:[]}},computed:{normalizedP(){return Object(Pn["d"])(this.predictions,this.currentPosition,this.isPublic)}},mounted(){this.print.prediction_json_url&&this.fetchPredictions()},methods:{onTimeUpdate(e){this.currentPosition=e},fetchPredictions(){oe["a"].get(this.print.prediction_json_url).then(e=>{this.predictions=e.data})}}},ia=ta,na=(i("459e"),Object(N["a"])(ia,Xn,ea,!1,null,"64113028",null)),aa=na.exports;const ra=6,sa="printsPageSorting",oa={options:[{title:""+G["a"].t("Date"),key:"date"}],default:{sorting:"date",direction:"desc"}},la="printsPageFiltering",ca={printStatus:{title:""+G["a"].t("Print Status"),queryParam:"filter",values:[{key:"none",title:""+G["a"].t("All")},{key:"finished",title:""+G["a"].t("Finished")},{key:"cancelled",title:""+G["a"].t("Cancelled")}],default:"none"},feedbackNeeded:{title:""+G["a"].t("Feedback Needed"),queryParam:"feedback_needed",values:[{key:"none",title:""+G["a"].t("All")},{key:"need_alert_overwrite",title:""+G["a"].t("Review Needed")},{key:"need_print_shot_feedback",title:""+G["a"].t("Focused Feedback Needed")}],default:"none"}};var da={name:"PrintsPage",components:{MugenScroll:ni.a,PrintCard:Qn,FullScreenPrintCard:aa,PageLayout:Ft,CascadedDropdown:ci,FilteringDropdown:Si,SortingDropdown:vi,ActiveFilterNotice:Ai},data:function(){return{prints:[],selectedPrintIds:new Set,loading:!1,noMoreData:!1,fullScreenPrint:null,fullScreenPrintVideoUrl:null,sortingLocalStoragePrefix:sa,sortingOptions:oa,sortingValue:mi(sa,oa),filterLocalStoragePrefix:la,filterOptions:ca,filterValues:_i(la,ca)}},computed:{visiblePrints(){return this.prints.filter(e=>e.ended_at)},allPrintsSelected:{get:function(){return this.selectedPrintIds.size>=this.prints.length&&0!==this.prints.length},set:function(e){this.selectedPrintIds=e?new Set(Rn()(this.prints,"id")):new Set}}},created(){this.refetchData()},methods:{fetchMoreData(){this.noMoreData||(this.loading=!0,oe["a"].get(le["a"].prints(),{params:{start:this.prints.length,limit:ra,...Ci(this.filterOptions,this.filterValues,this.customFilterParamsBuilder),sorting:`${this.sortingValue.sorting.key}_${this.sortingValue.direction.key}`}}).then(e=>{this.loading=!1,this.noMoreData=e.data.lengthTe(e)))}))},refetchData(){this.prints=[],this.selectedPrintIds=new Set,this.noMoreData=!1,this.fetchMoreData()},onSelectedChanged(e,t){const i=new Set(this.selectedPrintIds);t?i.add(e):i.delete(e),this.selectedPrintIds=i},onDeleteBtnClick(){const e=Array.from(this.selectedPrintIds);this.$swal.Prompt.fire({title:""+this.$i18next.t("Are you sure?"),text:""+this.$i18next.t("Delete {brandName} print(s)? This action can not be undone.",{brandName:this.$syndicateText.brandName}),showCancelButton:!0,confirmButtonText:""+this.$i18next.t("Yes"),cancelButtonText:""+this.$i18next.t("No")}).then(t=>{t.isConfirmed&&oe["a"].post(le["a"].printsBulkDelete(),{print_ids:e}).then(()=>{e.forEach(e=>this.onPrintDeleted(e,!1)),this.$swal.Toast.fire({title:""+this.$i18next.t("{name} time-lapse(s) deleted!",{name:e.length})}),this.selectedPrintIds=new Set})})},onPrintDeleted(e,t=!0){const i=pt()(this.prints,t=>t.id==e),n=this.prints[i];this.$delete(this.prints,i),t&&this.$swal.Toast.fire({title:""+this.$i18next.t("Time-lapse {name} deleted!",{name:n.filename})})},printDataChanged(e){const t=pt()(this.prints,t=>t.id==e.id);this.$set(this.prints,t,Te(e))},openFullScreen(e,t){const i=pt()(this.prints,t=>t.id==e);-1!=i&&(this.fullScreenPrint=this.prints[i],this.fullScreenPrintVideoUrl=t,this.$bvModal.show("tl-fullscreen-modal"))},fullScreenClosed(){this.fullScreenPrint=null,this.fullScreenPrintVideoUrl=null},onSortingUpdated(e){this.sortingValue=e,this.refetchData()},onFilterUpdated(e,t){this.filterValues[e]=t,this.refetchData()},resetFilters(){for(const e of Object.keys(this.filterValues))this.filterValues[e]="none",Object(s["b"])(`${la}-${e}`,"none");this.refetchData()}}},ua=da,pa=(i("366c"),Object(N["a"])(ua,Ln,Mn,!1,null,"7a698682",null)),ha=pa.exports,ma=function(){var e=this,t=e._self._c;return t("page-layout",{scopedSlots:e._u([{key:"content",fn:function(){return[e.isLoading?t("loading-placeholder"):t("b-container",{attrs:{fluid:""}},[t("b-row",[t("b-col",{attrs:{lg:"5"}},[t("div",{staticClass:"print-info"},[t("div",{staticClass:"card-container print-details"},[e.currentIndex||0===e.currentIndex?t("div",{staticClass:"navigation-container"},[t("b-button",{attrs:{variant:"outline-secondary",disabled:!e.prevPrint},on:{click:function(t){return t.preventDefault(),e.switchToPrint(e.prevPrint)}}},[t("i",{staticClass:"fas fa-chevron-left"}),e._v("  "+e._s(e.PrevPrintButtonTitle)+" ")]),t("div",{staticClass:"summary truncated-wrapper"},[t("div",{staticClass:"date truncated"},[e._v(" "+e._s(e.print.started_at.format(e.absoluteDateFormat))+" ")])]),t("b-button",{attrs:{variant:"outline-secondary",disabled:!e.nextPrint},on:{click:function(t){return t.preventDefault(),e.switchToPrint(e.nextPrint)}}},[e._v(" "+e._s(e.NextPrintButtonTitle)+"  "),t("i",{staticClass:"fas fa-chevron-right"})])],1):e._e(),t("div",[t("div",{staticClass:"info-line"},[t("div",{staticClass:"label"},[t("div",{staticClass:"icon"},[t("i",{staticClass:"fas fa-info"})]),t("div",{staticClass:"title"},[e._v(e._s(e.$t("Status")))])]),t("div",{staticClass:"value"},[t("div",{staticClass:"print-status-color",class:e.print.status.key},[e._v(" "+e._s(e.print.status.title)+" ")])])]),t("div",{staticClass:"info-line"},[t("div",{staticClass:"label"},[t("div",{staticClass:"icon"},[t("i",{staticClass:"far fa-clock"})]),t("div",{staticClass:"title"},[e._v(e._s(e.$t("Start time")))])]),t("div",{staticClass:"value"},[e._v(e._s(e.print.started_at.format(e.absoluteDateFormat)))])]),t("div",{staticClass:"info-line"},[t("div",{staticClass:"label"},[t("div",{staticClass:"icon"},[t("i",{staticClass:"far fa-clock"})]),t("div",{staticClass:"title"},[e._v(e._s(e.$t("End time")))])]),t("div",{staticClass:"value"},[e._v(" "+e._s(e.print.ended_at?e.print.ended_at.format(e.absoluteDateFormat):"-")+" ")])]),t("div",{staticClass:"info-line"},[t("div",{staticClass:"label"},[t("div",{staticClass:"icon"},[t("i",{staticClass:"fas fa-clock"})]),t("div",{staticClass:"title"},[e._v(e._s(e.$t("Duration")))])]),t("div",{staticClass:"value"},[e._v(e._s(e.print.duration||"-"))])]),t("div",{staticClass:"info-line"},[t("div",{staticClass:"label"},[t("div",{staticClass:"icon"},[t("i",{staticClass:"fas fa-ruler-horizontal"})]),t("div",{staticClass:"title"},[e._v(e._s(e.$t("Filament used")))])]),t("div",{staticClass:"value"},[e._v(" "+e._s(e.print.filament_used?e.humanizedFilamentUsage(e.print.filament_used):"-")+" ")])])])]),t("g-code-details",{attrs:{file:e.print.g_code_file||{filename:e.print.filename},"show-open-button":e.canOpenFile}}),t("div",{staticClass:"card-container printer"},[t("div",{staticClass:"icon"},[t("svg",{staticStyle:{"margin-bottom":"5px"},attrs:{width:"1em",height:"1em"}},[t("use",{attrs:{href:"#svg-3d-printer"}})])]),t("div",{staticClass:"info truncated-wrapper"},[t("div",{staticClass:"title truncated",attrs:{title:e.print.printer.name}},[e._v(" "+e._s(e.print.printer.name)+" ")]),t("div",{staticClass:"subtitle truncated",class:[e.printer?e.printer.isPrintable()&&!e.printer.inTransientState()?"text-success":"text-warning":"text-danger"]},[e._v(" "+e._s(e.printer?e.printer.printabilityText():"Deleted")+" ")])]),e.printer&&e.print.g_code_file&&!e.print.g_code_file.deleted&&e.print.g_code_file.url?t("div",{staticClass:"action"},[t("button",{staticClass:"btn btn-primary",attrs:{disabled:!e.printer.isPrintable()||e.printer.inTransientState()},on:{click:e.onRepeatPrintClicked}},[e.isSending?t("b-spinner",{staticClass:"mr-2",attrs:{small:""}}):e._e(),t("span",[e._v(e._s(e.$t("Reprint")))])],1)]):e._e()])],1)]),t("b-col",{attrs:{lg:"7"}},[t("div",{staticClass:"print-info"},[e.firstLayerInspection.id?t("div",{staticClass:"card-container"},[t("b-row",{staticClass:"m-0"},[t("b-col",{staticClass:"first-layer-info-column",attrs:{cols:"12",sm:"6",md:"6",lg:"12",xl:"6"}},[t("div",[t("b-row",{staticClass:"mb-4"},[t("span",{staticClass:"ml-3"},[e._v(e._s(e.$t("First Layer Report")))])]),t("div",{staticClass:"first-layer-info-line"},[t("div",{staticClass:"label"},[t("div",{staticClass:"icon"},[t("i",{staticClass:"fas fa-info"})]),t("div",{staticClass:"title"},[e._v(e._s(e.$t("First Layer Grade")))])]),t("div",{staticClass:"value"},[t("div",{staticClass:"print-status-color",class:e.gradeResult.gradeAccent},[e._v(" "+e._s(e.gradeResult.gradeTitle||" ")+" ")])])]),t("div",{staticClass:"first-layer-info-line"},[t("div",{staticClass:"label"},[t("div",{staticClass:"icon"},[t("i",{staticClass:"far fa-clock"})]),t("div",{staticClass:"title"},[e._v(e._s(e.$t("First Layer Print Time")))])]),t("div",{staticClass:"value"},[e._v(e._s(e.firstLayerPrintTime))])])],1),t("b-row",{staticClass:"m-0"},[t("b-button",{staticClass:"open-detailed-report-button",on:{click:e.onOpenDetailedReport}},[e._v(e._s(e.$t("Open Detailed Report")))])],1)],1),t("b-col",{staticClass:"first-layer-report-block-video-container",attrs:{cols:"12",sm:"6",md:"6",lg:"12",xl:"6"}},[t("div",{staticClass:"first-layer-video-wrapper",class:{"is-fullscreen original":!!e.fullscreenUrl&&e.fullscreenUrl===e.firstLayerInspection.tagged_video_url}},[t("video-box",{attrs:{"video-url":e.firstLayerInspection.tagged_video_url,"poster-url":e.aiTimeLapsePosterImageUrl,fluid:!1,"fullscreen-btn":null===e.fullscreenUrl,"exit-fullscreen-btn":null!==e.fullscreenUrl,"download-btn":!0},on:{fullscreen:()=>e.enterFullscreen(e.firstLayerInspection.tagged_video_url),exitFullscreen:e.exitFullscreen,download:()=>e.downloadFile(e.firstLayerInspection.tagged_video_url,e.print.id+"_tagged_video_inspection.mp4")}})],1)])],1)],1):e._e(),t("div",{staticClass:"time-lapse"},[e.print.video_archived_at?t("div",{staticClass:"card-container"},[t("h2",{staticClass:"title"},[e._v(e._s(e.$t("Time-Lapse video deleted")))]),t("p",[e._v(" "+e._s(e.$t("Time-lapse videos older than 6-months are deleted from the {brandName} app server as they are rarely needed and cost significant amount to store in the cloud.",{brandName:e.$syndicateText.brandName}))+" ")]),t("p",[t("i18next",{attrs:{translation:e.$t("If you are a Pro subscriber and you don't want your time-lapse videos to be deleted, please {localizedDom}")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("a",{attrs:{href:"mailto:support@obico.io?subject=Please%20keep%20my%20timelapse%20videos"}},[e._v(e._s(e.$t("contact us")))])]},proxy:!0}],null,!1,4060562873)}),e._v(" . ")],1)]):e.print.video_url||e.print.tagged_video_url?t("div",[t("b-card",{attrs:{"no-body":""}},[t("b-tabs",{attrs:{pills:"",card:""}},[t("b-tab",{attrs:{title:"Detective Time-Lapse",disabled:!e.canShowDetectiveView}},[t("b-card-text",[e.print.tagged_video_url?t("div",{class:{"is-fullscreen":!!e.fullscreenUrl&&e.fullscreenUrl===e.print.tagged_video_url}},[t("div",{staticClass:"video-wrapper"},[t("video-box",{attrs:{"video-url":e.print.tagged_video_url,"poster-url":e.print.poster_url,fluid:!1,"fullscreen-btn":null===e.fullscreenUrl,"exit-fullscreen-btn":null!==e.fullscreenUrl,"download-btn":!0},on:{timeupdate:e.onTimeUpdate,fullscreen:()=>e.enterFullscreen(e.print.tagged_video_url),exitFullscreen:e.exitFullscreen,download:()=>e.downloadFile(e.print.tagged_video_url,e.print.id+"_tagged.mp4")}})],1),t("div",{staticClass:"detective-footer"},[e.print.prediction_json_url?t("failure-detection-gauge",{attrs:{"normalized-p":e.normalizedP}}):e._e(),t("div",{staticClass:"feedback-section"},[t("div",{staticClass:"lead",class:[e.print.alerted_at?"text-danger":"text-success"]},[e._v(" "+e._s(e.print.alerted_at?"Failure detected":"No failure detected")+" ")]),t("div",{staticClass:"py-2"},[e._v(" "+e._s(e.$t("Did we get it right?"))+" "),t("b-button",{staticClass:"mx-2 btn-sm",attrs:{variant:e.thumbedUp?"primary":"outline"},on:{click:e.onThumbUpClick}},[e.inflightAlertOverwrite?t("b-spinner",{attrs:{type:"grow",small:""}}):t("i",{staticClass:"fas fa-thumbs-up"})],1),t("b-button",{staticClass:"mx-2 btn-sm",attrs:{variant:e.thumbedDown?"primary":"outline"},on:{click:e.onThumbDownClick}},[e.inflightAlertOverwrite?t("b-spinner",{attrs:{type:"grow",small:""}}):t("i",{staticClass:"fas fa-thumbs-down"})],1)],1),t("transition",{attrs:{name:"bounce"}},[e.print.printShotFeedbackEligible?t("div",{staticClass:"pt-2"},[t("b-button",{attrs:{variant:"outline-primary",size:"sm",href:`/prints/shot-feedback/${e.print.id}/`}},[e.print.need_print_shot_feedback?e._e():t("i",{staticClass:"fas fa-check mr-2"}),e._v(" "+e._s(e.$t("FOCUSED FEEDBACK"))+" ")])],1):e._e()]),t("div",{staticClass:"about-feedback"},[e.print.printShotFeedbackEligible?t("small",[e.print.need_print_shot_feedback?t("span",[e._v(" "+e._s(e.$t("With Focused Feedback, you can tell us exactly where we got it wrong. This is the most effective way to help us improve."))+" "),t("a",{attrs:{href:e.getDocUrl("/user-guides/how-does-credits-work#you-earn-detective-hours-for-giving-focused-feedback"),target:"_blank"}},[e._v(" "+e._s(e.$t("You will earn 2 AI Detection Hours once you finish the Focused Feedback"))+" ")])]):t("span",[e._v(" "+e._s(e.$t("Thank you for completing the Focused Feedback. You have earned 2 non-expirable AI Detection Hours. You can click the button again to change your feedback."))+" ")])]):t("small",[e._v(" "+e._s(e.$t("Every time you give us feedback,"))+" "),t("a",{attrs:{href:e.getDocUrl("/user-guides/how-does-credits-work/"),target:"_blank"}},[e._v(" "+e._s(e.$t("you help us get better at detecting failures"))+" ")])])])],1)],1)]):t("div",[t("detective-working",{staticClass:"detective-placeholder"})],1)])],1),e.print.video_url?t("b-tab",{attrs:{active:!e.print.tagged_video_url,title:"Original Time-Lapse"}},[t("b-card-text",[t("div",{class:{"is-fullscreen original":!!e.fullscreenUrl&&e.fullscreenUrl===e.print.video_url}},[t("div",{staticClass:"video-wrapper"},[t("video-box",{attrs:{"video-url":e.print.video_url,"poster-url":e.print.poster_url,fluid:!1,"fullscreen-btn":null===e.fullscreenUrl,"exit-fullscreen-btn":null!==e.fullscreenUrl,"download-btn":!0},on:{timeupdate:e.onTimeUpdate,fullscreen:()=>e.enterFullscreen(e.print.video_url),exitFullscreen:e.exitFullscreen,download:()=>e.downloadFile(e.print.video_url,e.print.id+".mp4")}})],1)])])],1):e._e()],1)],1)],1):t("div",{staticClass:"card-container"},[t("p",{staticClass:"text-secondary mt-3"},[e._v(e._s(e.$t("Time-Lapse video unavailable because"))+":")]),t("ul",[t("li",{staticClass:"text-secondary mt-3"},[e._v(" "+e._s(e.$t("The {brandName} server is still processing the time-lapse;",{brandName:e.$syndicateText.brandName}))+" ")]),t("li",{staticClass:"text-secondary mt-3"},[t("i18next",{attrs:{translation:e.$t("Or, the print time was shorter than the threshold. You can change the threshold in {localizedDom}")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("a",{attrs:{href:`/printers/${e.print.printer.id}/`}},[e._v(e._s(e.$t("the printer settings"))+".")])]},proxy:!0}])})],1)])])])])])],1)],1)]},proxy:!0}])})},fa=[],ga=(i("907a"),i("986a"),i("1d02"),i("3c5d"),i("6ce5"),i("2834"),i("4ea1"),i("dce5")),va=i.n(ga),ba=i("aaa7"),ya=i.n(ba),wa=i("acff");class _a{constructor(){return _a.instance||(this.printerCommMap=new Map,_a.instance=this),_a.instance}setPrinterComm(e,t){this.printerCommMap.set(e,t)}getPrinterComm(e){return this.printerCommMap.get(e)}getOrCreatePrinterComm(...e){const t=String(e[0]);return this.getPrinterComm(t)||this.setPrinterComm(t,ka(...e)),this.getPrinterComm(t)}closeConnection(e){const t=this.getPrinterComm(e);t&&(t.closeServerWebSocket(),t.webrtc&&t.webrtc.close(),this.printerCommMap.delete(e))}closeAllConnections(){this.printerCommMap.forEach((e,t)=>this.closeConnection(t))}}const Ca=new _a;function ka(e,t,i){const a={printerId:e,wsUri:t,...i};return a.ws=null,a.webrtc=null,a.passthruQueue=new Map,ya.a.on("blur",(function(){a.closeWebSocket()})),ya.a.on("focus",(function(){a.connect()})),a.onPassThruReceived=function(e){const t=e.ref;if(t&&a.passthruQueue.get(t)){const i=a.passthruQueue.get(t);a.passthruQueue.delete(t),i(e.error,e.ret)}else if("terminal_feed"in e)a.onTerminalFeedReceived&&a.onTerminalFeedReceived(e.terminal_feed);else if("printer_event"in e){const t=e.printer_event;n["default"].swal.Toast.fire({icon:t.event_class.toLowerCase(),title:t.event_title,html:t.event_text}).then(e=>{e.isDismissed&&"close"===e.dismiss&&(window.location.href="/printer_events/")})}},a.connect=function(e=null){a.ws&&a.ws.readyState===WebSocket.OPEN?e&&e():(a.ws=new WebSocket(window.location.protocol.replace("http","ws")+"//"+window.location.host+a.wsUri),a.ws.onmessage=function(e){let t={};try{t=JSON.parse(e.data)}catch(i){throw console.log(e.data),i}"passthru"in t?a.onPassThruReceived(t.passthru):a.onPrinterUpdateReceived&&a.onPrinterUpdateReceived(t)},e&&(a.ws.onopen=e),a.ensureWebsocketClosed(),setTimeout((function(){a.heartbeat()}),3e4))},a.setWebRTC=function(e){function t(e){let t={};try{t=JSON.parse(e)}catch(i){return}t&&"ref"in t&&"ret"in t?a.onPassThruReceived(t):a.onStatusReceived&&a.onStatusReceived(t)}a.webrtc=e,a.webrtc.setCallbacks({onData:e=>{"string"===typeof e||e instanceof String?t(e):Object(Pn["g"])(e,e=>{t(wa["a"].ungzip(new Uint8Array(e),{to:"string"}))})}})},a.passThruToPrinter=function(e,t){if(a.canSend()){var i=Math.random().toString();va()(e,{ref:i}),t&&(a.passthruQueue.set(i,t),setTimeout((function(){a.passthruQueue.has(i)&&(Pe(a.printerId),n["default"].swal.Toast.fire({icon:"error",title:""+G["a"].t("Failed to contact printer. Is it powered on and connected to Internet?")}))}),6e4)),a.webrtc&&a.webrtc.sendData(JSON.stringify(e)),a.ws.send(JSON.stringify({passthru:e}))}else t&&(Pe(a.printerId),t("Message not passed through. No suitable WebSocket."))},a.ensureWebsocketClosed=function(){a.ws.onclose=function(e){a.ws===e.target&&(a.ws=null)},a.ws.onerror=function(){a.ws&&a.ws.close()}},a.closeWebSocket=function(){a.ws&&a.ws.close()},a.heartbeat=function(){a.canSend()&&(a.ws.send(JSON.stringify({})),setTimeout((function(){a.heartbeat()}),3e4))},a.canSend=function(){return a.ws&&1===a.ws.readyState},a}Object.freeze(Ca);var Pa=i("2ef0"),Sa=i.n(Pa);function Da(e,t,i){const n=e=>{const t=[];for(const i of Object.values(e))i.children?t.push(...n(i.children)):t.push(i);return t};return new Promise((a,r)=>{let s;s=i?{filter:String(i),recursive:!0}:{path:t,recursive:!1,level:1},e.passThruToPrinter({func:"list_files",target:"_file_manager",kwargs:s},(e,t)=>{e&&r(e);let s=[],o=[];if(null===t||void 0===t||!t.local||!Object.keys(t.local).length)return void a();delete t.local.ObicoUpload;const l=i?n(t.local):Object.values(t.local);for(const i of l)"folder"===i.type?s.push({id:i.path,path:i.path,name:i.display,numItems:Object.keys(i.children).length}):o.push({...i,id:i.path,filename:i.name,num_bytes:i.size,filesize:pe()(i.size),created_at:De(new Date(1e3*i.date)),getBigThumbnailUrl:()=>null,getSmallThumbnailUrl:()=>null});a({folders:s,files:o})})})}function xa(e,t,i){return new Promise((n,a)=>{const r=null==t?"":t+"/";e.passThruToPrinter({target:"moonraker_api",func:"server/files/directory",kwargs:{path:"gcodes/"+(t||""),extended:!0}},(e,t)=>{e&&a(e);const s=i?[]:Sa.a.map(Sa.a.filter(Sa.a.get(t,"dirs",[]),e=>!e.dirname.startsWith(".")&&!e.dirname.startsWith("Obico_Upload")),e=>{const t=`${r}${e.dirname}`;return{name:e.dirname,id:t,path:t,children:[]}}),o=Sa.a.map(Sa.a.filter(Sa.a.get(t,"files",[]),e=>!e.filename.startsWith(".")&&(!i||e.filename.toLowerCase().includes(i.toLowerCase()))),e=>({...e,num_bytes:e.size,filesize:pe()(e.size),created_at:De(new Date(1e3*e.modified)),path:`${r}${e.filename}`,getBigThumbnailUrl:()=>null,getSmallThumbnailUrl:()=>null}));n({folders:s,files:o})})})}function Ta(e,t){return new Promise((i,n)=>{const a=t.path;e.passThruToPrinter({func:"select_file",target:"_printer",args:[""+a,null],kwargs:{printAfterSelect:"true"}},(e,t)=>{e?n(e):i()})})}function Ia(e,t){return new Promise((i,n)=>{const a=t.path;e.passThruToPrinter({target:"moonraker_api",func:"printer/print/start",kwargs:{verb:"post",filename:a}},(e,t)=>{e?n(e):i()})})}function Fa(e,t){return new Promise((i,n)=>{e.passThruToPrinter({target:"file_operations",func:"start_printer_local_print",args:[t]},(e,t)=>{e||null!==t&&void 0!==t&&t.error?n(e||(null===t||void 0===t?void 0:t.error)):i()})})}const Aa=(e,t)=>new Promise((i,a)=>{n["default"].swal.fire({html:`
${G["a"].t("Print")} "${e.filename}" on ${t.name}?
`,imageUrl:e.getBigThumbnailUrl&&e.getBigThumbnailUrl(),showCancelButton:!0,confirmButtonText:""+G["a"].t("Print!"),cancelButtonText:""+G["a"].t("Cancel"),reverseButtons:!0}).then(e=>{e.value&&i()})});function $a(e,t){return new Promise((i,n)=>{e.passThruToPrinter({func:"download",target:"file_downloader",args:[{id:t.id,url:t.url,filename:t.filename,safe_filename:t.safe_filename}]},(e,t)=>{e?n(e):i()})})}const Oa=e=>{const{printer:t,gcode:i,isCloud:n,Swal:a,onCommandSent:r,onPrinterStatusChanged:s}=e,o=t.id,l=t.isAgentMoonraker(),c=Ca.getOrCreatePrinterComm(o,le["a"].printerWebSocket(o));c.connect(()=>{const e=n?$a:i.path?l?Ia:Ta:Fa;t.setTransientState(n?"G-Code Downloading":"Starting"),e(c,i).catch(e=>{Pe(o),a.Toast.fire({icon:"error",title:e})})}),r&&r();const d=async()=>{let e;try{e=await oe["a"].get(le["a"].printer(o)),e=e.data}catch(t){return void console.error(t)}"Operational"===de()(e,"status.state.text")||"G-Code Downloading"===de()(e,"status.state.text")||"Downloading G-Code"===de()(e,"status.state.text")?setTimeout(d,1e3):s&&s()};d()},Na=3e3,La=(e,t,i)=>{let n;e.Prompt.fire({html:`\n
\n
\n ${G["a"].t("You'll be redirected to printers page in")} ${Math.round(Na/1e3)} ${G["a"].t("seconds")}\n
\n
\n `,timer:Na,showConfirmButton:!0,showCancelButton:!0,confirmButtonText:"Redirect now",onOpen:()=>{n=setInterval(()=>{const t=e.getHtmlContainer(),i=null===t||void 0===t?void 0:t.querySelector("strong");t&&i&&(i.textContent=(e.getTimerLeft()/1e3).toFixed(0))},1e3)},onClose:()=>{clearInterval(n),n=null}}).then(e=>{e.isConfirmed||"timer"===e.dismiss?window.location.assign(`/printers/${i}/control/`):t&&t()})};var Ma=function(){var e=this,t=e._self._c;return t("div",{staticClass:"card-container file"},[t("div",{staticClass:"file-header",class:{"mb-4":e.showDetails&&e.fileDetailsToShow.length>0,compact:e.compactView}},[e.showThumbnail?t("div",[e.bigThumbnailUrl?t("div",{staticClass:"thumbnail"},[t("img",{attrs:{src:e.bigThumbnailUrl}})]):t("div",{staticClass:"thumbnail-placeholder"},[t("span",{staticClass:"help"},[t("help-widget",{attrs:{id:"thumbnail-setup-guide",highlight:!1,"show-close-button":!1}})],1),t("svg",[t("use",{attrs:{href:"#svg-no-photo"}})])])]):t("div",{staticClass:"icon"},[t("i",{staticClass:"fas fa-file-code"})]),t("div",{staticClass:"info truncated-wrapper"},[t("div",{staticClass:"title truncated",attrs:{title:e.file.filename}},[e._v(" "+e._s(e.file.filename)+" ")]),e.file.filesize||e.file.deleted?t("div",{staticClass:"subtitle text-secondary truncated-wrapper"},[e.file.deleted?t("div",{staticClass:"truncated"},[t("span",{staticClass:"text-danger"},[e._v(e._s(e.$t("Deleted")))])]):t("div",{staticClass:"truncated"},[t("span",[e._v(e._s(e.file.filesize))])])]):e._e()]),e.showOpenButton&&e.file.id?t("div",{staticClass:"action"},[t("b-button",{staticClass:"custom-button",attrs:{variant:e.openButtonVariant,href:`/g_code_files/cloud/${e.file.id}/`}},[e._v(" "+e._s(e.openButtonText)+" ")])],1):e._e()]),e.showDetails?[e._l(e.fileDetailsToShow.slice(0,e.numberOfVisibleLines),(function(i){return t("div",{key:i.name},[t("div",{staticClass:"line"},[t("div",{staticClass:"label"},[t("div",{staticClass:"icon"},[i.faIcon?t("i",{class:i.faIcon}):i.svgIcon?t("svg",{attrs:{width:"16",height:"16"}},[t("use",{attrs:{href:"#"+i.svgIcon}})]):e._e()]),t("div",{staticClass:"title"},[e._v(e._s(i.title))])]),t("div",{staticClass:"value"},[t("span",{domProps:{innerHTML:e._s(i.value)}})])])])})),e.shouldShowDataNotice&&e.fileDetailsToShow.length<=e.numberOfVisibleLines?t("muted-alert",{staticClass:"mt-2 mb-1"},[e._v(" "+e._s(e.$t("Fields above were embedded in the G-Code file by your slicer. Consult your slicer's manual if some fields are not accurate or missing."))+" ")]):e._e(),e.fileDetailsToShow.length>e.numberOfVisibleLines?t("collapsable-details",[e._l(e.fileDetailsToShow.slice(e.numberOfVisibleLines),(function(i){return t("div",{key:i.name},[t("div",{staticClass:"line"},[t("div",{staticClass:"label"},[t("div",{staticClass:"icon"},[i.faIcon?t("i",{class:i.faIcon}):i.svgIcon?t("svg",{attrs:{width:"16",height:"16"}},[t("use",{attrs:{href:"#"+i.svgIcon}})]):e._e()]),t("div",{staticClass:"title"},[e._v(e._s(i.title))])]),t("div",{staticClass:"value"},[t("span",{domProps:{innerHTML:e._s(i.value)}})])])])})),e.shouldShowDataNotice&&e.fileDetailsToShow.length>e.numberOfVisibleLines?t("muted-alert",{staticClass:"mt-2 mb-1"},[e._v(" "+e._s(e.$t("Fields above were embedded in the G-Code file by your slicer. Consult your slicer's manual if some fields are not accurate or missing."))+" ")]):e._e()],2):e._e()]:e._e()],2)},Ea=[],Ra=function(){var e=this,t=e._self._c;return t("div",[t("b-collapse",{model:{value:e.expanded,callback:function(t){e.expanded=t},expression:"expanded"}},[e._t("default")],2),t("button",{staticClass:"collapse-toggle",class:e.expanded?"opened":"closed",on:{click:function(t){e.expanded=!e.expanded}}},[e.expanded?t("span",[e._v(e._s(e.$t("Show less")))]):t("span",[e._v(e._s(e.$t("Show more")))]),t("font-awesome-icon",{class:{rotated:e.expanded},attrs:{icon:["fas","chevron-down"]}})],1)],1)},za=[],Ba={name:"CollapsableDetails",data(){return{expanded:!1}}},Ua=Ba,ja=(i("d424"),Object(N["a"])(Ua,Ra,za,!1,null,"572cc95b",null)),Wa=ja.exports,Ha={name:"GCodeDetails",components:{MutedAlert:_n,HelpWidget:Zi,CollapsableDetails:Wa},props:{file:{type:Object,required:!0},showPrintStats:{type:Boolean,default:!1},showDetails:{type:Boolean,default:!0},showOpenButton:{type:Boolean,default:!1},compactView:{type:Boolean,default:!0},openButtonVariant:{type:String,default:"outline-secondary"},openButtonText:{type:String,default:"Open File"}},data(){return{numberOfVisibleLines:3}},computed:{bigThumbnailUrl(){return this.file.getBigThumbnailUrl&&this.file.getBigThumbnailUrl()},showThumbnail(){return!this.compactView||this.bigThumbnailUrl},fileDetailsToShow(){let e=[];return!this.file.deleted&&this.file.metadata&&(e=ye.filter(e=>this.file.metadata[e.name]).map(e=>({...e,value:e.formatter(this.file.metadata[e.name])}))),this.showPrintStats&&e.unshift({name:"total_prints",faIcon:"fas fa-hashtag",title:""+this.$i18next.t("Total prints"),value:`\n ${this.file.totalPrints||0}\n (${this.file.successPrints||0} /\n ${this.file.failedPrints||0})\n `}),this.file.created_at&&e.unshift({name:"created_at",faIcon:"fas fa-calendar-alt",title:""+this.$i18next.t("Uploaded"),value:this.file.created_at.fromNow()}),e},shouldShowDataNotice(){return!this.file.analysis&&0!==Object.keys(this.file.metadata||{}).length&&!this.file.deleted}}},Va=Ha,Ya=(i("dbc4"),Object(N["a"])(Va,Ma,Ea,!1,null,"0991d3bd",null)),Ga=Ya.exports,Ka=function(){var e=this,t=e._self._c;return t("div",{staticClass:"p-2"},[t("b-row",[t("h4",{staticClass:"mb-4 report-title"},[e._v(e._s(e.$t("First Layer Report")))])]),t("b-row",[t("b-col",{attrs:{lg:"7"}},[t("div",{staticClass:"file-block mb-3"},[t("div",{staticClass:"file-header compact",class:{compact:e.compactView}},[e.showIconThumbnail?t("div",[e.bigThumbnailUrl?t("div",{staticClass:"thumbnail"},[t("img",{attrs:{src:e.bigThumbnailUrl}})]):t("div",{staticClass:"thumbnail-placeholder"},[t("span",{staticClass:"help"},[t("help-widget",{attrs:{id:"thumbnail-setup-guide",highlight:!1,"show-close-button":!1}})],1),t("svg",[t("use",{attrs:{href:"#svg-no-photo"}})])])]):t("div",{staticClass:"icon"},[t("i",{staticClass:"fas fa-file-code"})]),t("div",{staticClass:"info truncated-wrapper"},[t("div",{staticClass:"truncated",attrs:{title:e.file.filename}},[e._v(" "+e._s(e.file.filename)+" ")]),e.file.filesize||e.file.deleted?t("div",{staticClass:"subtitle text-secondary truncated-wrapper"},[e.file.deleted?t("div",{staticClass:"truncated"},[t("span",{staticClass:"text-danger"},[e._v(e._s(e.$t("Deleted")))])]):t("div",{staticClass:"truncated"},[t("span",[e._v(e._s(e.file.filesize)+", "+e._s(e.$t("uploaded"))+" "+e._s(e.fileUploadedTime))])])]):e._e()]),t("div",{staticClass:"button"},[e.showOpenButton&&e.file.id?t("b-button",{attrs:{href:`/g_code_files/cloud/${e.file.id}/`}},[e._v(" "+e._s(e.$t("Open File"))+" ")]):e._e()],1)]),t("div",{staticClass:"first-layer-report-info-line"},[t("div",{staticClass:"label"},[t("div",{staticClass:"icon"},[t("i",{staticClass:"fas fa-info"})]),t("div",[e._v(e._s(e.$t("First Layer Grade")))])]),t("div",{staticClass:"value"},[t("div",{class:e.gradeResult.gradeAccent},[e._v(" "+e._s(e.gradeResult.gradeTitle||" ")+" ")])])]),t("div",{staticClass:"first-layer-report-info-line"},[t("div",{staticClass:"label"},[t("div",{staticClass:"icon"},[t("i",{staticClass:"far fa-clock"})]),t("div",[e._v(e._s(e.$t("First Layer Print Time")))])]),t("div",{staticClass:"value"},[e._v(e._s(e.firstLayerPrintTime))])])]),t("div",{staticClass:"notes-block mb-3"},[t("b-row",[t("span",{staticClass:"title"},[e._v(e._s(e.$t("First Layer Notes")))])]),t("hr"),t("b-row",[t("div",{staticClass:"description"},[t("p",[e._v(" "+e._s(e.$t("You're first layer score is"))+": "),t("span",{staticClass:"font-bold",class:e.gradeResult.gradeAccent},[e._v(e._s(e.gradeResult.grade))]),t("br"),e._v(" "+e._s(e.gradeResult.gradeRemarks)+" ")])])]),e.isGradeA?e._e():t("hr"),t("b-row",[e.isGradeA?e._e():t("div",{staticClass:"info"},[t("p",[t("i18next",{attrs:{translation:e.$t("Grade {localizedDom} usually means one of the following")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("span",{class:e.gradeResult.gradeAccent},[e._v(e._s(e.gradeResult.grade))])]},proxy:!0}],null,!1,3047815858)})],1),t("ul",e._l(e.gradeResult.gradeSuggestion,(function(i,n){return t("li",{key:n,domProps:{innerHTML:e._s(i)}})})),0)])])],1)]),t("b-col",{staticClass:"heatmap-column",attrs:{lg:"5"}},[t("b-card",{attrs:{"no-body":""}},[t("b-tabs",{attrs:{pills:"",card:""}},[t("b-tab",{attrs:{title:e.$t("AI Time-Lapse")}},[t("b-card-text",[t("div",{staticClass:"first-layer-modal-video-wrapper"},[t("video-box",{attrs:{"video-url":e.firstLayerInspection.tagged_video_url,"poster-url":e.aiTimeLapsePosterImageUrl,fluid:!1,"fullscreen-btn":!1,"download-btn":!0,"default-full-screen-toggle":!0},on:{download:()=>e.downloadFile(e.firstLayerInspection.tagged_video_url,e.print.id+"_tagged_video_inspection.mp4")}})],1)])],1),t("b-tab",{attrs:{title:e.$t("Original Time-Lapse")}},[t("b-card-text",[t("div",{staticClass:"first-layer-modal-video-wrapper"},[t("video-box",{attrs:{"video-url":e.firstLayerInspection.video_url,"poster-url":e.firstLayerInspection.images.length?e.firstLayerInspection.images[0].image_url:null,fluid:!1,"fullscreen-btn":!1,"download-btn":!0,"default-full-screen-toggle":!0},on:{download:()=>e.downloadFile(e.firstLayerInspection.video_url,e.print.id+"_video_inspection.mp4")}})],1)])],1)],1)],1)],1)],1),t("b-row",{staticClass:"buttons-row"},[t("b-col",{attrs:{cols:"12",lg:"7"}},[t("a",{staticClass:"feedback-button",attrs:{href:"/first_layer_inspection_images/?print_id="+e.print.id}},[e._v(e._s(e.$t("Give Feedback About This Report")))])])],1)],1)},qa=[],Ja={name:"FirstLayerReportModal",components:{VueSlickCarousel:mt.a,PageLayout:Ft,VideoBox:zt},data:function(){return{showCarouselAnimation:!0,first_layer_info:{},carouselItems:[],settings:{dots:!0,infinite:!0,speed:500,slidesToShow:1,slidesToScroll:1,adaptiveHeight:!0,initialSlide:0},activeTab:0,carouselKey:0,activeThumbnail:null,thumbnailStyle:{width:"150px",height:"150px",position:"absolute",zIndex:"1070"}}},props:{firstLayerInspection:{type:Object,required:!0},firstLayerPrintTime:{type:String,required:!0},gradeResult:{type:Object,required:!0},print:{type:Object,required:!0},showOpenButton:{type:Boolean,default:!1},compactView:{type:Boolean,default:!0}},computed:{aiTimeLapsePosterImageUrl(){var e;return this.firstLayerInspection.poster_url?this.firstLayerInspection.poster_url:null!==(e=this.firstLayerInspection.images)&&void 0!==e&&e.length?this.firstLayerInspection.images[0].image_url:null},file(){return this.print.g_code_file||{filename:this.print.filename}},isGradeA(){return"A"===this.gradeResult.grade},showIconThumbnail(){return!this.compactView||this.bigThumbnailUrl},bigThumbnailUrl(){return this.file.getBigThumbnailUrl&&this.file.getBigThumbnailUrl()},fileUploadedTime(){return this.file.created_at.fromNow()}},watch:{firstLayerInfo:{handler:function(e){e&&this.prepareFirstLayerInfo()},immediate:!0}},methods:{downloadFile:Pn["a"]}},Za=Ja,Qa=(i("4b61"),i("80ed"),Object(N["a"])(Za,Ka,qa,!1,null,"c7824f38",null)),Xa=Qa.exports;function er(e){return e>=80?{grade:"A",gradeTitle:"A - Flawless First Layer",gradeAccent:"text-success",gradeRemarks:"You have got a perfect first layer! Way to go!",gradeSuggestion:[]}:e>=60?{grade:"B",gradeTitle:"B - Barely a Blemish, Bravo!",gradeAccent:"text-success",gradeRemarks:"You’re first layer is almost perfect! The risk of the first layer to cause a failure later is VERY LOW.",gradeSuggestion:["Minor under-extrusion.","Minor over-extrusion.","Suboptimal z-offset setting that causes the material to not bond perfectly.","Uneven print bed coupled with suboptimal auto-bed-leveling.","Other problems that cause the first layer to have defects."]}:e>=40?{grade:"C",gradeTitle:"C - Okay First Layer",gradeAccent:"text-warning",gradeRemarks:"The risk for the first layer to cause your print to fail later is LOW. However, if you want a perfect bottom surface finish and structural strength, you can stop the print, perfect your first layer, and restart the print.",gradeSuggestion:["Under-extrusion.","Over-extrusion.","Suboptimal z-offset setting that causes the material to not bond perfectly.","Contaminated print bed that causes the material in some areas to slightly bubble or wrap.","Uneven print bed coupled with suboptimal auto-bed-leveling.","Other problems that cause the first layer to have defects."]}:e>=20?{grade:"D",gradeTitle:"D - Definitely Needs Tuning",gradeAccent:"text-danger",gradeRemarks:"It looks like your printer has run into some trouble on the first layer. The risk for the first layer to cause your print to failure later is MEDIUM. Although these first layer issues probably won't cause the print to fail later, you should consider fixing them and restarting the print, especially if you want to have a good bottom surface finish and structural strength.",gradeSuggestion:["Significant under-extrusion.","Uneven print bed coupled with suboptimal auto-bed-leveling.","Contaminated print bed that causes the material in some areas to bubble or wrap.","Other problems that cause the first layer to show serious defects."]}:{grade:"F",gradeTitle:"F - First Layer Fail",gradeAccent:"text-danger",gradeRemarks:"It looks like your printer has run into some trouble on the first layer. The risk for the first layer to cause your print to failure later is HIGH. I recommend you stop the print now and fix the problem.",gradeSuggestion:["Serious bed-leveling problems that cause material to detach from the print bed.","Wrong/suboptimal z-offset setting.","Serious bubbling or wrapping.","Other problems that will probably cause the print to fail later in the process."]}}var tr={name:"PrintPage",components:{PageLayout:Ft,VideoBox:zt,DetectiveWorking:Vt,FailureDetectionGauge:Kn,GCodeDetails:Ga},props:{printId:{type:Number,required:!0}},data:function(){return{image:"",gradeResult:{},firstLayerInspection:{},isFirstLayerReportModalOpen:!1,PrintStatus:xe,absoluteDateFormat:"MMM D, YYYY h:mm a",print:null,predictions:[],printer:null,isLoading:!0,currentPosition:0,inflightAlertOverwrite:null,fullscreenUrl:null,user:null,currentPrint:null,prevPrint:null,nextPrint:null,sortingValue:mi(rn,sn),filterLocalStoragePrefix:ln,filterOptions:cn,filterValues:_i(ln,cn),printerStateCheckInterval:null,firstLayerPrintTime:"-"}},computed:{aiTimeLapsePosterImageUrl(){var e;return this.firstLayerInspection.poster_url?this.firstLayerInspection.poster_url:null!==(e=this.firstLayerInspection.images)&&void 0!==e&&e.length?this.firstLayerInspection.images[0].image_url:null},canOpenFile(){return this.print.g_code_file&&!this.print.g_code_file.resident_printer&&!this.print.g_code_file.deleted},PrevPrintButtonTitle(){return"asc"===this.sortingValue.direction.key?""+this.$i18next.t("Older"):""+this.$i18next.t("Newer")},NextPrintButtonTitle(){return"asc"===this.sortingValue.direction.key?""+this.$i18next.t("Newer"):""+this.$i18next.t("Older")},fileName(){return null===this.print.g_code_file?this.print.filename:this.print.g_code_file.filename},currentPrintId(){var e;return(null===(e=this.currentPrint)||void 0===e?void 0:e.id)||this.printId},currentIndex(){if(this.currentPrint)return this.currentPrint.index;const e=new URLSearchParams(window.location.search);let t=e.get("index");return t?parseInt(t):void 0},normalizedP(){return Object(Pn["d"])(this.predictions,this.currentPosition,!1)},canShowDetectiveView(){return null!==this.print.prediction_json_url&&null!==this.print.tagged_video_url||!!(this.print.uploaded_at&&H()().diff(this.print.uploaded_at,"hours")<24)},thumbedUp(){return!!this.print.alert_overwrite&&this.print.has_alerts^"NOT_FAILED"===this.print.alert_overwrite},thumbedDown(){return!!this.print.alert_overwrite&&this.print.has_alerts^"FAILED"===this.print.alert_overwrite},isSending(){var e;const t=null===(e=this.printer)||void 0===e?void 0:e.calculatedState();return t&&["G-Code Downloading","Starting"].includes(t)}},created(){const{IS_ENT:e}=Object(Q["d"])();this.isEnt=!!e,this.user=Object(Q["f"])(),this.fetchData(),this.fetchSiblingPrints()},mounted(){const e=this.exitFullscreen;document.addEventListener("keydown",t=>{"Escape"===t.key&&e()})},unmounted(){clearInterval(this.printerStateCheckInterval)},methods:{downloadFile:Pn["a"],humanizedFilamentUsage:ve,async fetchData(e=!0){e&&(this.print=null,this.predictions=[],this.printer=null),this.isLoading=!0;try{const e=await oe["a"].get(le["a"].print(this.currentPrintId));this.print=Te(e.data),this.prepareFirstLayerReport(e.data.firstlayerinspection_set.length?e.data.firstlayerinspection_set[0]:{}),this.print.prediction_json_url&&oe["a"].get(this.print.prediction_json_url).then(e=>{this.predictions=e.data}),oe["a"].get(le["a"].printer(this.print.printer.id),{params:{with_archived:!0}}).then(e=>{this.printer=Ae(e.data),this.printerComm=Ca.getOrCreatePrinterComm(this.printer.id,le["a"].printerWebSocket(this.printer.id),{onPrinterUpdateReceived:e=>{this.printer=Ae(e,this.printer)}}),this.printerComm.connect()}).catch(e=>{var t;this.printer=null,404!==(null===e||void 0===e||null===(t=e.response)||void 0===t?void 0:t.status)&&this.errorDialog(e,""+this.$i18next.t("Failed to fetch printer information"))}).finally(()=>{this.isLoading=!1})}catch(t){console.log(t)}},prepareFirstLayerReport(e){if(this.firstLayerInspection=e,e.id){this.gradeResult=er(e.score);const t=De(this.firstLayerInspection.created_at),i=H.a.duration(t.diff(this.print.started_at));this.firstLayerPrintTime=fe(i.asSeconds())}},switchToPrint(e){this.currentPrint=e;const t=`/prints/${e.id}/?index=${e.index}`;window.history.replaceState({},"",t),this.fetchData(),this.fetchSiblingPrints()},fetchSiblingPrints(){if(!this.currentIndex&&0!==this.currentIndex)return;const e=this.currentIndex>0,t=e?this.currentIndex-1:0,i=e?3:2;oe["a"].get(le["a"].prints(),{params:{start:t,limit:i,...Ci(this.filterOptions,this.filterValues,(e,t)=>{if("timePeriod"===e)return this.filterOptions[e].buildQueryParam(t,Object(s["a"])(ln+"-timePeriod-dateFrom")||null,Object(s["a"])(ln+"-timePeriod-dateTo")||null,this.user)}),sorting:`${this.sortingValue.sorting.key}_${this.sortingValue.direction.key}`}}).then(t=>{const i=t.data;let n,a;if(e)if(3===i.length&&i[1].id===this.currentPrintId)n=i[0],a=i[2];else{if(2!==i.length||i[1].id!==this.currentPrintId)return;n=i[0]}else{if(2!==i.length||i[0].id!==this.currentPrintId)return;a=i[1]}this.prevPrint=n?{id:n.id,index:this.currentIndex-1}:null,this.nextPrint=a?{id:a.id,index:this.currentIndex+1}:null}).catch(e=>{this.errorDialog(e)})},onTimeUpdate(e){this.currentPosition=e},onThumbUpClick(){this.inflightAlertOverwrite=this.print.has_alerts?"FAILED":"NOT_FAILED",this.alertOverwrite(this.inflightAlertOverwrite)},onThumbDownClick(){this.inflightAlertOverwrite=this.print.has_alerts?"NOT_FAILED":"FAILED",this.alertOverwrite(this.inflightAlertOverwrite)},alertOverwrite(e){oe["a"].patch(le["a"].print(this.print.id),{alert_overwrite:e}).then(e=>{this.inflightAlertOverwrite=null,this.fetchData(!1)})},onRepeatPrintClicked(){Aa(this.print.g_code_file,this.printer).then(()=>{var e;Oa({printer:this.printer,gcode:this.print.g_code_file,isCloud:null===(null===(e=this.print.g_code_file)||void 0===e?void 0:e.resident_printer),Swal:this.$swal,onPrinterStatusChanged:()=>{La(this.$swal,()=>this.fetchData(),this.printer.id)}})})},enterFullscreen(e){this.fullscreenUrl=e},exitFullscreen(){this.fullscreenUrl=null},onOpenDetailedReport(){this.$swal.openModalWithComponent(Xa,{printer:this.printer,firstLayerInspection:this.firstLayerInspection,firstLayerPrintTime:this.firstLayerPrintTime,gradeResult:this.gradeResult,print:this.print,showOpenButton:this.canOpenFile},{showCloseButton:!0,showConfirmButton:!1,width:"75em"})}}},ir=tr,nr=(i("438a"),Object(N["a"])(ir,ma,fa,!1,null,"122a7196",null)),ar=nr.exports,rr=function(){var e=this,t=e._self._c;return t("page-layout",{scopedSlots:e._u([{key:"content",fn:function(){return[t("b-container",[t("b-row",{staticClass:"justify-content-center"},[t("b-col",{staticClass:"text-center",attrs:{lg:"8"}},[t("h1",{staticClass:"pb-2"},[e._v(e._s(e.$t("Upload Time-lapse")))]),t("p",{staticClass:"pb-2"},[e._v(e._s(e.$t("Upload time-lapse videos to test {brandName}'s AI failure detection.",{brandName:e.$syndicateText.brandName})))]),t("vue-dropzone",{staticClass:"upload-box",attrs:{id:"dropzone",options:e.dropzoneOptions,"use-custom-slot":!0},on:{"vdropzone-success":e.printUploadSuccess}},[t("div",{staticClass:"dz-message needsclick"},[t("i",{staticClass:"fas fa-upload fa-2x"}),e._v(" "),t("br"),e._v(" "+e._s(e.$t("Drop files here or click to upload."))),t("br"),e._v(" "+e._s(e.$t("*.mp4 or *.mpg files only. Up to 100MB each."))+" ")])]),t("div",{directives:[{name:"show",rawName:"v-show",value:e.uploaded,expression:"uploaded"}],staticClass:"pt-5"},[t("div",{attrs:{id:"tl-uploaded"}},[t("img",{staticClass:"detective-working",attrs:{src:i("0469")}}),t("div",{staticClass:"py-2 text-center"},[t("div",{staticClass:"py-2"},[e._v(" "+e._s(e.$t("The {brandName} Server is running failure detection on the time-lapse video(s) you uploaded.",{brandName:e.$syndicateText.brandName}))+" ")]),t("div",[e._v(e._s(e.$t("We will send you email when it is done.")))]),t("a",{attrs:{href:"/prints/"}},[e._v(e._s(e.$t("Check status now >>>")))])])])])],1)],1)],1)]},proxy:!0}])})},sr=[],or=i("92c3"),lr=i.n(or),cr=(i("1e3f"),{name:"UploadPrintPage",components:{vueDropzone:lr.a,PageLayout:Ft},props:{csrf:{type:String,required:!0}},data(){return{dropzoneOptions:{withCredentials:!0,maxFilesize:100,timeout:36e5,acceptedFiles:"video/mp4, video/mpeg",url:"?",headers:{"X-CSRFToken":this.csrf}},uploaded:!1}},methods:{printUploadSuccess(e){console.log(e),this.uploaded=!0}}}),dr=cr,ur=(i("050e"),Object(N["a"])(dr,rr,sr,!1,null,"13c6093e",null)),pr=ur.exports,hr=function(){var e=this,t=e._self._c;return t("page-layout",{scopedSlots:e._u([{key:"topBarRight",fn:function(){return[t("div",{staticClass:"action-panel"},[e.isEnt?t("a",{staticClass:"btn shadow-none action-btn icon-btn hours-btn",style:{marginRight:.25*String(e.dhBadgeNum).length+"rem"},attrs:{href:"/user_preferences/dh/",title:e.dhBadgeNum+" "+e.$t("AI Detection Hours")}},[t("svg",{staticClass:"custom-svg-icon"},[t("use",{attrs:{href:"#svg-hour-glass"}})]),t("span",{staticClass:"badge badge-light",attrs:{id:"user-credits"}},[e._v(e._s(e.dhBadgeNum))]),t("span",{staticClass:"sr-only"},[e._v(e._s(e.$t("AI Detection Hours")))])]):e._e(),t("b-dropdown",{attrs:{right:"","no-caret":"","toggle-class":"action-btn icon-btn",title:"Sort By"},scopedSlots:e._u([{key:"button-content",fn:function(){return[t("i",{staticClass:"fas fa-sort-amount-down"})]},proxy:!0}])},[t("sorting-dropdown",{attrs:{"local-storage-prefix":e.sortingLocalStoragePrefix,"sorting-options":e.sortingOptions,"sorting-value":e.sortingValue},on:{onSortingUpdated:e.onSortingUpdated}})],1),t("b-dropdown",{attrs:{right:"","no-caret":"","toggle-class":"action-btn icon-btn","menu-class":"scrollable",title:"Filter"},scopedSlots:e._u([{key:"button-content",fn:function(){return[t("i",{staticClass:"fas fa-filter"})]},proxy:!0}])},[t("filtering-dropdown",{attrs:{"local-storage-prefix":e.filterLocalStoragePrefix,"filter-options":e.filterOptions,"filter-values":e.filterValues},on:{onFilterUpdated:e.onFilterUpdated}})],1),t("b-dropdown",{attrs:{right:"","no-caret":"","toggle-class":"icon-btn d-md-none"},scopedSlots:e._u([{key:"button-content",fn:function(){return[t("i",{staticClass:"fas fa-ellipsis-v"})]},proxy:!0}])},[t("cascaded-dropdown",{ref:"cascadedDropdown",attrs:{"menu-options":e.mobileMenuOptions},scopedSlots:e._u([{key:"sorting",fn:function(){return[t("sorting-dropdown",{attrs:{"local-storage-prefix":e.sortingLocalStoragePrefix,"sorting-options":e.sortingOptions,"sorting-value":e.sortingValue},on:{onSortingUpdated:e.onSortingUpdated}})]},proxy:!0},{key:"filtering",fn:function(){return[t("filtering-dropdown",{attrs:{"local-storage-prefix":e.filterLocalStoragePrefix,"filter-options":e.filterOptions,"filter-values":e.filterValues},on:{onFilterUpdated:e.onFilterUpdated}})]},proxy:!0}])})],1)],1)]},proxy:!0},{key:"content",fn:function(){return[t("active-filter-notice",{attrs:{"filter-values":e.filterValues},on:{onShowAllClicked:e.resetFilters}}),t("b-container",{staticClass:"printer-list-page"},[e.loading?t("b-row",[t("b-col",{staticClass:"text-center"},[t("b-spinner",{staticClass:"my-5",attrs:{label:"Loading..."}})],1)],1):e._e(),e.visiblePrinters.length?t("b-row",{staticClass:"printer-cards justify-content-center"},e._l(e.visiblePrinters,(function(i){return t("printer-card",{key:i.id,staticClass:"printer-card-wrapper",attrs:{printer:i,"is-pro-account":e.user.is_pro},on:{PrinterUpdated:e.onPrinterUpdated}})})),1):e._e(),e.loading?e._e():t("div",{staticClass:"row justify-content-center"},[t("div",{staticClass:"col-sm-12 col-lg-6",attrs:{id:"new-printer"}},[t("div",{staticClass:"new-printer-container"},[t("a",{attrs:{href:"/printers/wizard/"}},[t("svg",{staticClass:"icon"},[t("use",{attrs:{href:"#svg-add-printer"}})]),t("div",[e._v(e._s(e.$t("Link New Printer")))])])])])]),e.loading?e._e():t("b-row",{directives:[{name:"show",rawName:"v-show",value:e.shouldShowArchiveWarning,expression:"shouldShowArchiveWarning"}],staticClass:"bottom-messages"},[t("b-col",[t("div",{staticClass:"alert alert-warning alert-dismissible fade show mb-3",attrs:{role:"alert"}},[t("div",{staticClass:"warning"},[t("div",[e._v(" "+e._s(e.archivedPrinterNum)+" "+e._s(e._f("pluralize")("printer",e.archivedPrinterNum))+" "+e._s(e.$t("have been archived."))+" ")]),t("div",[t("a",{staticClass:"warning-action",attrs:{href:"/ent/printers/archived/"}},[e._v(e._s(e.$t("Show Archived Printers")))]),t("a",{staticClass:"warning-action",on:{click:e.handleNeverShowAgain}},[e._v(e._s(e.$t("Never Show Again")))])])]),t("button",{staticClass:"close",attrs:{type:"button","data-dismiss":"alert","aria-label":"Close"}},[t("span",{attrs:{"aria-hidden":"true"}},[e._v("×")])])])])],1)],1)]},proxy:!0}])})},mr=[],fr=function(){var e=this,t=e._self._c;return t("div",{staticClass:"col-sm-12 col-lg-6 printer-card",attrs:{id:e.printer.id}},[t("div",{staticClass:"card"},[t("div",{staticClass:"card-header"},[t("div",{staticClass:"title-box"},[t("div",{staticClass:"printer-name"},[e._v(" "+e._s(e.printer.name)+" ")]),e.hasCurrentPrintFilename?t("div",{staticClass:"secondary-title print-filename"},[e._v(" "+e._s(e.printer.current_print.filename)+" ")]):t("div",{staticClass:"secondary-title",class:e.statusClass},[e._v(e._s(e.statusText))])]),t("div",{staticClass:"d-flex ml-2"},[t("b-button",{staticClass:"px-4 mr-2",attrs:{variant:"outline-secondary",href:`/printers/${e.printer.id}/control/`}},[e._v(e._s(e.$t("Open"))+" "+e._s(e.$t("Details"))+" ")]),t("b-dropdown",{attrs:{right:"","no-caret":"","toggle-class":"icon-btn"},scopedSlots:e._u([{key:"button-content",fn:function(){return[t("i",{staticClass:"fas fa-ellipsis-v"})]},proxy:!0}])},[t("b-dropdown-item",{attrs:{href:"#"},on:{click:function(t){return t.preventDefault(),e.onSharePrinter()}}},[t("i",{staticClass:"fas fa-share-alt fa-lg"}),e._v(e._s(e.$t("Share"))+" ")]),t("b-dropdown-item",{attrs:{href:e.octoPrintTunnelUrl()}},[t("svg",{staticClass:"menu-icon"},[t("use",{attrs:{href:"#svg-tunnel"}})]),e._v(" "+e._s(e.printer.agentDisplayName())+" "+e._s(e.$t("Tunnel"))+" ")]),t("div",{staticClass:"dropdown-divider"}),t("b-dropdown-item",{attrs:{href:e.settingsUrl()}},[t("i",{staticClass:"fas fa-wrench fa-lg"}),e._v(e._s(e.$t("Configure"))+" ")])],1)],1)]),t("streaming-box",{attrs:{printer:e.printer,webrtc:e.webrtc,autoplay:e.isProAccount,webcam:e.webcam}}),e.printer.alertUnacknowledged()?t("div",{staticClass:"failure-alert card-body bg-warning px-2 py-1"},[t("i",{staticClass:"fas fa-exclamation-triangle align-middle"}),t("span",{staticClass:"align-middle"},[e._v(e._s(e.$t("Failure Detected!")))]),t("button",{staticClass:"btn btn-outline-primary btn-sm float-right",attrs:{id:"not-a-failure",type:"button"},on:{click:function(t){return e.onNotAFailureClicked(t,!1)}}},[e._v(" "+e._s(e.$t("Not a failure?"))+" ")])]):e._e(),t("div",{staticClass:"card-body gauge-container",class:{overlay:!e.isWatching}},[e.isWatching?e._e():t("div",{staticClass:"overlay-top text-center",staticStyle:{left:"0",width:"100%",top:"50%","margin-top":"-55px"}},[t("H1",[t("i",{staticClass:"far fa-eye-slash"})]),t("h5",{staticClass:"text-warning"},[e._v(e._s(e.$t("Failure Detection is Off")))]),e.printer.not_watching_reason?t("small",[e._v(e._s(e.printer.not_watching_reason)+". "),t("a",{attrs:{href:e.getDocUrl("/user-guides/detective-not-watching/"),target:"_blank"}},[e._v(e._s(e.$t("Learn more. "))),e._m(0)])]):e._e(),t("div")],1),t("failure-detection-gauge",{attrs:{"normalized-p":e.printer.normalized_p,"is-watching":e.isWatching}}),t("hr")],1),t("print-job-control-widget",{attrs:{"inside-card":!0,printer:e.printer,"printer-comm":e.printerComm},on:{notAFailureClicked:e.onNotAFailureClicked,sendPrinterAction:e.sendPrinterAction}}),t("div",{staticClass:"info-section settings"},[t("button",{staticClass:"info-section-toggle btn btn-sm no-corner mx-2",class:{pressed:e.section_toggles.settings},attrs:{type:"button"},on:{click:function(t){return e.onSettingsToggleClicked()}}},[t("i",{staticClass:"fas fa-cog fa-lg"})]),t("button",{staticClass:"info-section-toggle btn btn-sm no-corner mx-2",class:{pressed:e.section_toggles.time},attrs:{type:"button"},on:{click:function(t){return e.onTimeToggleClicked()}}},[t("i",{staticClass:"fas fa-clock fa-lg"})]),t("button",{staticClass:"info-section-toggle btn btn-sm no-corner mx-2",class:{pressed:e.section_toggles.statusTemp},attrs:{type:"button"},on:{click:function(t){return e.onStatusTempToggleClicked()}}},[t("i",{staticClass:"fas fa-thermometer-half fa-lg"})])]),t("div",{staticClass:"info-section",staticStyle:{height:"0.3rem"}}),t("div",[t("div",{staticClass:"info-section container"},[e.section_toggles.settings?t("div",{attrs:{id:"panel-settings"}},[t("div",{staticClass:"pt-2 pb-3"},[t("div",{staticClass:"row justify-content-center px-3"},[t("div",{staticClass:"col-12 setting-item"},[t("label",{staticClass:"toggle-label",attrs:{for:"watching_enabled-toggle-"+e.printer.id}},[t("i18next",{attrs:{translation:e.$t("Enable AI failure detection {localizedDom}")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[e.watchForFailures?e._e():t("div",{staticClass:"text-muted font-weight-light font-size-sm"},[e._v(" "+e._s(e.$t("AI failure detection is disabled. You are on your own"))+".")])]},proxy:!0}],null,!1,2325561323)})],1),t("div",{staticClass:"custom-control custom-switch"},[t("input",{staticClass:"custom-control-input update-printer",attrs:{id:"watching_enabled-toggle-"+e.printer.id,type:"checkbox",name:"watching_enabled"},domProps:{checked:e.watchForFailures},on:{click:e.onWatchForFailuresToggled}}),t("label",{staticClass:"custom-control-label",staticStyle:{"font-size":"1rem"},attrs:{for:"watching_enabled-toggle-"+e.printer.id}})])])]),t("div",{staticClass:"row justify-content-center px-3"},[t("div",{staticClass:"col-12 setting-item"},[t("label",{staticClass:"toggle-label",attrs:{for:"pause-toggle-"+e.printer.id}},[t("i18next",{attrs:{translation:e.$t("Pause on detected failures {localizedDom}")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[e.pauseOnFailure?e._e():t("div",{staticClass:"text-muted font-weight-light font-size-sm"},[e._v(" "+e._s(e.$t("You will still be alerted via notifications")))])]},proxy:!0}],null,!1,4050608119)})],1),t("div",{staticClass:"custom-control custom-switch"},[t("input",{staticClass:"custom-control-input update-printer",attrs:{id:"pause-toggle-"+e.printer.id,type:"checkbox",name:"pause_on_failure"},domProps:{checked:e.pauseOnFailure},on:{click:e.onPauseOnFailureToggled}}),t("label",{staticClass:"custom-control-label",staticStyle:{"font-size":"1rem"},attrs:{for:"pause-toggle-"+e.printer.id}})])])])])]):e._e(),e.section_toggles.time?t("div",{attrs:{id:"print-time"}},[t("div",{staticClass:"py-2"},[t("div",{staticClass:"row text-muted"},[t("small",{staticClass:"col-5 offset-2"},[e._v(e._s(e.$t(" Remaining ")))]),t("small",{staticClass:"col-5"},[e._v(e._s(e.$t(" Total ")))])]),t("div",{staticClass:"row"},[e._m(1),t("duration-block",e._b({staticClass:"col-5 numbers",attrs:{id:"print-time-remaining"}},"duration-block",e.timeRemaining,!1)),t("duration-block",e._b({staticClass:"col-5 numbers",attrs:{id:"print-time-total"}},"duration-block",e.timeTotal,!1)),t("div",{staticClass:"col-12"},[t("div",{staticClass:"progress",staticStyle:{height:"2px"}},[t("div",{staticClass:"progress-bar",class:{"progress-bar-striped":e.progressPct<100,"progress-bar-animated":e.progressPct<100},style:`width: ${e.progressPct}%;`,attrs:{id:"print-progress",role:"progressbar","aria-valuenow":"0","aria-valuemin":"0","aria-valuemax":"100"}})])])],1)])]):e._e(),e.section_toggles.statusTemp&&e.tempProps.show?t("status-temp",e._b({attrs:{id:"status_temp_block"},on:{TempEditClicked:e.onTempEditClicked}},"status-temp",e.tempProps,!1)):e._e()],1)])],1)])},gr=[function(){var e=this,t=e._self._c;return t("small",[t("i",{staticClass:"fas fa-external-link-alt"})])},function(){var e=this,t=e._self._c;return t("div",{staticClass:"col-2 text-muted"},[t("i",{staticClass:"fas fa-clock"})])}],vr=i("2769"),br=i.n(vr),yr=(i("d9e2"),i("d093"));_r.sessions={},_r.isExtensionEnabled=function(){if(navigator.mediaDevices&&navigator.mediaDevices.getDisplayMedia)return!0;if(window.navigator.userAgent.match("Chrome")){var e=parseInt(window.navigator.userAgent.match(/Chrome\/(.*) /)[1],10),t=33;return window.navigator.userAgent.match("Linux")&&(t=35),e>=26&&e<=t||_r.extension.isInstalled()}return!0};var wr={extensionId:"hapfgfdkleiggjjpfpenajgdnfckjpaj",isInstalled:function(){return null!==document.querySelector("#janus-extension-installed")},getScreen:function(e){var t=window.setTimeout((function(){var t=new Error("NavigatorUserMediaError");return t.name='The required Chrome extension is not installed: click here to install it. (NOTE: this will need you to refresh the page)',e(t)}),1e3);this.cache[t]=e,window.postMessage({type:"janusGetScreen",id:t},"*")},init:function(){var e={};this.cache=e,window.addEventListener("message",(function(t){if(t.origin==window.location.origin)if("janusGotScreen"==t.data.type&&e[t.data.id]){var i=e[t.data.id];if(delete e[t.data.id],""===t.data.sourceId){var n=new Error("NavigatorUserMediaError");n.name="You cancelled the request for permission, giving up...",i(n)}else i(null,t.data.sourceId)}else"janusGetScreenPending"==t.data.type&&(console.log("clearing ",t.data.id),window.clearTimeout(t.data.id))}))}};function _r(e){if(e=e||{},e.success="function"==typeof e.success?e.success:_r.noop,e.error="function"==typeof e.error?e.error:_r.noop,e.wsopened="function"==typeof e.wsopened?e.wsopened:_r.noop,e.destroyed="function"==typeof e.destroyed?e.destroyed:_r.noop,!_r.initDone)return e.error("Library not initialized"),{};if(!_r.isWebrtcSupported())return e.error("WebRTC not supported by this browser"),{};if(_r.log("Library initialized: "+_r.initDone),!e.server)return e.error("Invalid server url"),{};var t=!1,i=null,n={},a=null,r=null,s=0,o=e.server;_r.isArray(o)?(_r.log("Multiple servers provided ("+o.length+"), will use the first that works"),o=null,r=e.server,_r.debug(r)):0===o.indexOf("ws")?(t=!0,_r.log("Using WebSockets to contact Janus: "+o)):(t=!1,_r.log("Using REST API to contact Janus: "+o));var l=e.iceServers||[{urls:"stun:stun.l.google.com:19302"}],c=e.iceTransportPolicy,d=e.bundlePolicy,u=!0===e.ipv6,p=!1;void 0!==e.withCredentials&&null!==e.withCredentials&&(p=!0===e.withCredentials);var h=10;void 0!==e.max_poll_events&&null!==e.max_poll_events&&(h=e.max_poll_events),h<1&&(h=1);var m=null;void 0!==e.token&&null!==e.token&&(m=e.token);var f=null;void 0!==e.apisecret&&null!==e.apisecret&&(f=e.apisecret),this.destroyOnUnload=!0,void 0!==e.destroyOnUnload&&null!==e.destroyOnUnload&&(this.destroyOnUnload=!0===e.destroyOnUnload);var g=25e3;void 0!==e.keepAlivePeriod&&null!==e.keepAlivePeriod&&(g=e.keepAlivePeriod),isNaN(g)&&(g=25e3);var v=6e4;function b(e){var t={high:9e5,medium:3e5,low:1e5};return void 0!==e&&null!==e&&(e.high&&(t.high=e.high),e.medium&&(t.medium=e.medium),e.low&&(t.low=e.low)),t}void 0!==e.longPollTimeout&&null!==e.longPollTimeout&&(v=e.longPollTimeout),isNaN(v)&&(v=6e4);var y=!1,w=null,_={},C=this,k=0,P={};function S(){if(null!=w)if(_r.debug("Long poll..."),y){var t=o+"/"+w+"?rid="+(new Date).getTime();h&&(t=t+"&maxev="+h),m&&(t=t+"&token="+encodeURIComponent(m)),f&&(t=t+"&apisecret="+encodeURIComponent(f)),_r.httpAPICall(t,{verb:"GET",withCredentials:p,success:D,timeout:v,error:function(t,i){if(_r.error(t+":",i),k++,k>3)return y=!1,void e.error("Lost connection to the server (is it down?)");S()}})}else _r.warn("Is the server down? (connected=false)")}function D(e,n){if(k=0,t||void 0===w||null===w||!0===n||S(),t||!_r.isArray(e)){if(!e.session_id||e.session_id===w)if("keepalive"!==e["janus"])if("server_info"!==e["janus"])if("ack"!==e["janus"])if("success"!==e["janus"])if("trickle"===e["janus"]){var a=e["sender"];if(!a)return void _r.warn("Missing sender...");var r=_[a];if(!r)return void _r.debug("This handle is not attached to this session");var s=e["candidate"];_r.debug("Got a trickled candidate on session "+w),_r.debug(s);var o=r.webrtcStuff;o.pc&&o.remoteSdp?(_r.debug("Adding remote candidate:",s),s&&!0!==s.completed?o.pc.addIceCandidate(s):o.pc.addIceCandidate(_r.endOfCandidates)):(_r.debug("We didn't do setRemoteDescription (trickle got here before the offer?), caching candidate"),o.candidates||(o.candidates=[]),o.candidates.push(s),_r.debug(o.candidates))}else{if("webrtcup"===e["janus"]){_r.debug("Got a webrtcup event on session "+w),_r.debug(e);a=e["sender"];if(!a)return void _r.warn("Missing sender...");r=_[a];return r?void r.webrtcState(!0):void _r.debug("This handle is not attached to this session")}if("hangup"===e["janus"]){_r.debug("Got a hangup event on session "+w),_r.debug(e);a=e["sender"];if(!a)return void _r.warn("Missing sender...");r=_[a];if(!r)return void _r.debug("This handle is not attached to this session");r.webrtcState(!1,e["reason"]),r.hangup()}else if("detached"===e["janus"]){_r.debug("Got a detached event on session "+w),_r.debug(e);a=e["sender"];if(!a)return void _r.warn("Missing sender...");r=_[a];if(!r)return;r.detached=!0,r.ondetached(),r.detach()}else if("media"===e["janus"]){_r.debug("Got a media event on session "+w),_r.debug(e);a=e["sender"];if(!a)return void _r.warn("Missing sender...");r=_[a];if(!r)return void _r.debug("This handle is not attached to this session");r.mediaState(e["type"],e["receiving"])}else if("slowlink"===e["janus"]){_r.debug("Got a slowlink event on session "+w),_r.debug(e);a=e["sender"];if(!a)return void _r.warn("Missing sender...");r=_[a];if(!r)return void _r.debug("This handle is not attached to this session");r.slowLink(e["uplink"],e["lost"])}else{if("error"===e["janus"]){_r.error("Ooops: "+e["error"].code+" "+e["error"].reason),_r.debug(e);p=e["transaction"];if(p){h=P[p];h&&h(e),delete P[p]}return void(458===e.error.code&&t&&i.close(3505,"No such session"))}if("event"===e["janus"]){_r.debug("Got a plugin event on session "+w),_r.debug(e);a=e["sender"];if(!a)return void _r.warn("Missing sender...");var l=e["plugindata"];if(!l)return void _r.warn("Missing plugindata...");_r.debug(" -- Event is coming from "+a+" ("+l["plugin"]+")");var c=l["data"];_r.debug(c);r=_[a];if(!r)return void _r.warn("This handle is not attached to this session");var d=e["jsep"];d&&(_r.debug("Handling SDP as well..."),_r.debug(d));var u=r.onmessage;u?(_r.debug("Notifying application..."),u(c,d)):_r.debug("No provided notification callback")}else{if("timeout"===e["janus"])return _r.error("Timeout on session "+w),_r.debug(e),void(t&&i.close(3504,"Gateway timeout"));_r.warn("Unknown message/event '"+e["janus"]+"' on session "+w),_r.debug(e)}}}else{_r.debug("Got a success on session "+w),_r.debug(e);p=e["transaction"];if(p){h=P[p];h&&h(e),delete P[p]}}else{_r.debug("Got an ack on session "+w),_r.debug(e);var p=e["transaction"];if(p){var h=P[p];h&&h(e),delete P[p]}}else{_r.debug("Got info on the Janus instance"),_r.debug(e);var p=e["transaction"];if(p){var h=P[p];h&&h(e),delete P[p]}}else _r.vdebug("Got a keepalive on session "+w)}else for(var m=0;m data channel: "+n),"open"===n){if(s.dataChannel[t].pending&&s.dataChannel[t].pending.length>0){for(var a of(_r.log("Sending pending messages on <"+t+">:",s.dataChannel[t].pending.length),s.dataChannel[t].pending))_r.log("Sending data on data channel <"+t+">"),_r.debug(a),s.dataChannel[t].send(a);s.dataChannel[t].pending=[]}r.ondataopen(t,i)}},c=function(e){_r.error("Got error on data channel:",e)};if(n)s.dataChannel[t]=n;else{var d={ordered:!0};i&&(d.protocol=i),s.dataChannel[t]=s.pc.createDataChannel(t,d)}s.dataChannel[t].onmessage=o,s.dataChannel[t].onopen=l,s.dataChannel[t].onclose=l,s.dataChannel[t].onerror=c,s.dataChannel[t].pending=[],a&&s.dataChannel[t].pending.push(a)}else _r.warn("Invalid PeerConnection")}else _r.warn("Invalid handle")}function L(e,t){t=t||{},t.success="function"==typeof t.success?t.success:_r.noop,t.error="function"==typeof t.error?t.error:_r.noop;var i=_[e];if(!i||!i.webrtcStuff)return _r.warn("Invalid handle"),void t.error("Invalid handle");var n=i.webrtcStuff,a=t.text||t.data;if(!a)return _r.warn("Invalid data"),void t.error("Invalid data");var r=t.label?t.label:_r.dataChanDefaultLabel;return n.dataChannel[r]?"open"!==n.dataChannel[r].readyState?(n.dataChannel[r].pending.push(a),void t.success()):(_r.log("Sending data on data channel <"+r+">"),_r.debug(a),n.dataChannel[r].send(a),void t.success()):(N(e,r,t.protocol,!1,a,t.protocol),void t.success())}function M(e,t){t=t||{},t.success="function"==typeof t.success?t.success:_r.noop,t.error="function"==typeof t.error?t.error:_r.noop;var i=_[e];if(!i||!i.webrtcStuff)return _r.warn("Invalid handle"),void t.error("Invalid handle");var n=i.webrtcStuff;if(!n.dtmfSender){if(n.pc){var a=n.pc.getSenders(),r=a.find((function(e){return e.track&&"audio"===e.track.kind}));if(!r)return _r.warn("Invalid DTMF configuration (no audio track)"),void t.error("Invalid DTMF configuration (no audio track)");n.dtmfSender=r.dtmf,n.dtmfSender&&(_r.log("Created DTMF Sender"),n.dtmfSender.ontonechange=function(e){_r.debug("Sent DTMF tone: "+e.tone)})}if(!n.dtmfSender)return _r.warn("Invalid DTMF configuration"),void t.error("Invalid DTMF configuration")}var s=t.dtmf;if(!s)return _r.warn("Invalid DTMF parameters"),void t.error("Invalid DTMF parameters");var o=s.tones;if(!o)return _r.warn("Invalid DTMF string"),void t.error("Invalid DTMF string");var l="number"===typeof s.duration?s.duration:500,c="number"===typeof s.gap?s.gap:50;_r.debug("Sending DTMF string "+o+" (duration "+l+"ms, gap "+c+"ms)"),n.dtmfSender.insertDTMF(o,l,c),t.success()}function E(e,n){n=n||{},n.success="function"==typeof n.success?n.success:_r.noop,n.error="function"==typeof n.error?n.error:_r.noop;var a=!0===n.noRequest;_r.log("Destroying handle "+e+" (only-locally="+a+")"),q(e);var r=_[e];if(!r||r.detached)return delete _[e],void n.success();if(r.detached=!0,a)return delete _[e],void n.success();if(!y)return _r.warn("Is the server down? (connected=false)"),void n.error("Is the server down? (connected=false)");var s={janus:"detach",transaction:_r.randomString(12)};if(r.token&&(s["token"]=r.token),f&&(s["apisecret"]=f),t)return s["session_id"]=w,s["handle_id"]=e,i.send(JSON.stringify(s)),delete _[e],void n.success();_r.httpAPICall(o+"/"+w+"/"+e,{verb:"POST",withCredentials:p,body:s,success:function(t){_r.log("Destroyed handle:"),_r.debug(t),"success"!==t["janus"]&&_r.error("Ooops: "+t["error"].code+" "+t["error"].reason),delete _[e],n.success()},error:function(t,i){_r.error(t+":",i),delete _[e],n.success()}})}function R(e,t,i,n,a){var r=_[e];if(!r||!r.webrtcStuff)return _r.warn("Invalid handle"),n.stream||_r.stopAllTracks(a),void n.error("Invalid handle");var s=r.webrtcStuff;_r.debug("streamsDone:",a),a&&(_r.debug(" -- Audio tracks:",a.getAudioTracks()),_r.debug(" -- Video tracks:",a.getVideoTracks()));var o=!1;if(s.myStream&&i.update&&(!s.streamExternal||i.replaceAudio||i.replaceVideo)){if((!i.update&&Z(i)||i.update&&(i.addAudio||i.replaceAudio))&&a.getAudioTracks()&&a.getAudioTracks().length)if(s.myStream.addTrack(a.getAudioTracks()[0]),_r.unifiedPlan){_r.log((i.replaceAudio?"Replacing":"Adding")+" audio track:",a.getAudioTracks()[0]);var p=null,h=s.pc.getTransceivers();if(h&&h.length>0)for(var m of h)if(m.sender&&m.sender.track&&"audio"===m.sender.track.kind||m.receiver&&m.receiver.track&&"audio"===m.receiver.track.kind){p=m;break}p&&p.sender?p.sender.replaceTrack(a.getAudioTracks()[0]):s.pc.addTrack(a.getAudioTracks()[0],a)}else _r.log((i.replaceAudio?"Replacing":"Adding")+" audio track:",a.getAudioTracks()[0]),s.pc.addTrack(a.getAudioTracks()[0],a);if((!i.update&&ee(i)||i.update&&(i.addVideo||i.replaceVideo))&&a.getVideoTracks()&&a.getVideoTracks().length)if(s.myStream.addTrack(a.getVideoTracks()[0]),_r.unifiedPlan){_r.log((i.replaceVideo?"Replacing":"Adding")+" video track:",a.getVideoTracks()[0]);var f=null;h=s.pc.getTransceivers();if(h&&h.length>0)for(var m of h)if(m.sender&&m.sender.track&&"video"===m.sender.track.kind||m.receiver&&m.receiver.track&&"video"===m.receiver.track.kind){f=m;break}f&&f.sender?f.sender.replaceTrack(a.getVideoTracks()[0]):s.pc.addTrack(a.getVideoTracks()[0],a)}else _r.log((i.replaceVideo?"Replacing":"Adding")+" video track:",a.getVideoTracks()[0]),s.pc.addTrack(a.getVideoTracks()[0],a)}else s.myStream=a,o=!0;if(!s.pc){var g={iceServers:l,iceTransportPolicy:c,bundlePolicy:d};"chrome"===_r.webRTCAdapter.browserDetails.browser&&(g["sdpSemantics"]=_r.webRTCAdapter.browserDetails.version<72?"plan-b":"unified-plan");var v={optional:[{DtlsSrtpKeyAgreement:!0}]};if(u&&v.optional.push({googIPv6:!0}),n.rtcConstraints&&"object"===typeof n.rtcConstraints)for(var y in _r.debug("Adding custom PeerConnection constraints:",n.rtcConstraints),n.rtcConstraints)v.optional.push(n.rtcConstraints[y]);"edge"===_r.webRTCAdapter.browserDetails.browser&&(g.bundlePolicy="max-bundle"),RTCRtpSender&&(RTCRtpSender.prototype.createEncodedStreams||RTCRtpSender.prototype.createEncodedAudioStreams&&RTCRtpSender.prototype.createEncodedVideoStreams)&&(n.senderTransforms||n.receiverTransforms)&&(s.senderTransforms=n.senderTransforms,s.receiverTransforms=n.receiverTransforms,g["forceEncodedAudioInsertableStreams"]=!0,g["forceEncodedVideoInsertableStreams"]=!0,g["encodedInsertableStreams"]=!0),_r.log("Creating PeerConnection"),_r.debug(v),s.pc=new RTCPeerConnection(g,v),_r.debug(s.pc),s.pc.getStats&&(s.volume={}),_r.log("Preparing local SDP and gathering candidates (trickle="+s.trickle+")"),s.pc.oniceconnectionstatechange=function(e){s.pc&&r.iceState(s.pc.iceConnectionState)},s.pc.onicecandidate=function(t){if(!t.candidate||"edge"===_r.webRTCAdapter.browserDetails.browser&&t.candidate.candidate.indexOf("endOfCandidates")>0)_r.log("End of candidates."),s.iceDone=!0,!0===s.trickle?O(e,{completed:!0}):W(e,n);else{var i={candidate:t.candidate.candidate,sdpMid:t.candidate.sdpMid,sdpMLineIndex:t.candidate.sdpMLineIndex};!0===s.trickle&&O(e,i)}},s.pc.ontrack=function(e){if(_r.log("Handling Remote Track"),_r.debug(e),e.streams&&(s.remoteStream=e.streams[0],r.onremotestream(s.remoteStream),!e.track.onended)){if(s.receiverTransforms){var t=null;RTCRtpSender.prototype.createEncodedStreams?t=e.receiver.createEncodedStreams():(RTCRtpSender.prototype.createAudioEncodedStreams||RTCRtpSender.prototype.createEncodedVideoStreams)&&("audio"===e.track.kind&&s.receiverTransforms["audio"]?t=e.receiver.createEncodedAudioStreams():"video"===e.track.kind&&s.receiverTransforms["video"]&&(t=e.receiver.createEncodedVideoStreams())),t&&(console.log(t),t.readableStream&&t.writableStream?t.readableStream.pipeThrough(s.receiverTransforms[e.track.kind]).pipeTo(t.writableStream):t.readable&&t.writable&&t.readable.pipeThrough(s.receiverTransforms[e.track.kind]).pipeTo(t.writable))}var i=null;_r.log("Adding onended callback to track:",e.track),e.track.onended=function(e){_r.log("Remote track removed:",e),s.remoteStream&&(clearTimeout(i),s.remoteStream.removeTrack(e.target),r.onremotestream(s.remoteStream))},e.track.onmute=function(e){_r.log("Remote track muted:",e),s.remoteStream&&null==i&&(i=setTimeout((function(){_r.log("Removing remote track"),s.remoteStream&&(s.remoteStream.removeTrack(e.target),r.onremotestream(s.remoteStream),r.ontrackmuted()),i=null}),2520))},e.track.onunmute=function(e){if(_r.log("Remote track flowing again:",e),null!=i)clearTimeout(i),i=null;else try{s.remoteStream.addTrack(e.target),r.onremotestream(s.remoteStream),r.ontrackunmuted()}catch(t){_r.error(t)}}}}}if(o&&a){_r.log("Adding local stream");var w=!0===n.simulcast2;a.getTracks().forEach((function(e){_r.log("Adding local track:",e);var t=null;if(w&&"audio"!==e.kind){_r.log("Enabling rid-based simulcasting:",e);var i=b(n.simulcastMaxBitrates),r=s.pc.addTransceiver(e,{direction:"sendrecv",streams:[a],sendEncodings:n.sendEncodings||[{rid:"h",active:!0,maxBitrate:i.high},{rid:"m",active:!0,maxBitrate:i.medium,scaleResolutionDownBy:2},{rid:"l",active:!0,maxBitrate:i.low,scaleResolutionDownBy:4}]});r&&(t=r.sender)}else t=s.pc.addTrack(e,a);if(t&&s.senderTransforms){var o=null;RTCRtpSender.prototype.createEncodedStreams?o=t.createEncodedStreams():(RTCRtpSender.prototype.createAudioEncodedStreams||RTCRtpSender.prototype.createEncodedVideoStreams)&&("audio"===t.track.kind&&s.senderTransforms["audio"]?o=t.createEncodedAudioStreams():"video"===t.track.kind&&s.senderTransforms["video"]&&(o=t.createEncodedVideoStreams())),o&&(console.log(o),o.readableStream&&o.writableStream?o.readableStream.pipeThrough(s.senderTransforms[t.track.kind]).pipeTo(o.writableStream):o.readable&&o.writable&&o.readable.pipeThrough(s.senderTransforms[t.track.kind]).pipeTo(o.writable))}}))}if(ae(i)&&!s.dataChannel[_r.dataChanDefaultLabel]&&(_r.log("Creating default data channel"),N(e,_r.dataChanDefaultLabel,null,!1),s.pc.ondatachannel=function(t){_r.log("Data channel created by Janus:",t),N(e,t.channel.label,t.channel.protocol,t.channel)}),s.myStream&&r.onlocalstream(s.myStream),t){var C=t["sdp"],k=/420029/gi,P=C.replace(k,"42e01f");_r.log(P),t["sdp"]=P,s.pc.setRemoteDescription(t).then((function(){if(_r.log("Remote description accepted!"),s.remoteSdp=t.sdp,s.candidates&&s.candidates.length>0){for(var a=0;a=26&&P<=S?(m={video:{mandatory:{googLeakyBucket:!0,maxWidth:window.screen.width,maxHeight:window.screen.height,minFrameRate:a.screenshareFrameRate,maxFrameRate:a.screenshareFrameRate,chromeMediaSource:"screen"}},audio:Z(a)&&!a.keepAudio},k(m,C)):_r.extension.getScreen((function(e,t){if(e)return r.consentDialog(!1),i.error(e);m={audio:!1,video:{mandatory:{chromeMediaSource:"desktop",maxWidth:window.screen.width,maxHeight:window.screen.height,minFrameRate:a.screenshareFrameRate,maxFrameRate:a.screenshareFrameRate},optional:[{googLeakyBucket:!0},{googTemporalLayeredScreencast:!0}]}},m.video.mandatory.chromeMediaSourceId=t,k(m,C,Z(a)&&!a.keepAudio)}))}else if("firefox"===_r.webRTCAdapter.browserDetails.browser){if(!(_r.webRTCAdapter.browserDetails.version>=33)){var D=new Error("NavigatorUserMediaError");return D.name="Your version of Firefox does not support screen sharing, please install Firefox 33 (or more recent versions)",r.consentDialog(!1),void i.error(D)}m={video:{mozMediaSource:a.video,mediaSource:a.video},audio:Z(a)&&!a.keepAudio},k(m,(function(e,t){if(C(e,t),!e)var i=t.currentTime,n=window.setInterval((function(){t||window.clearInterval(n),t.currentTime==i&&(window.clearInterval(n),t.onended&&t.onended()),i=t.currentTime}),500)}))}return}}a&&"screen"===a.video||navigator.mediaDevices.enumerateDevices().then((function(t){var s=t.some((function(e){return"audioinput"===e.kind})),o=ne(a)||t.some((function(e){return"videoinput"===e.kind})),l=Z(a),c=ee(a),d=Q(a),u=te(a);if(l||c||d||u){var p=!!l&&s,m=!!c&&o;if(!p&&!m)return r.consentDialog(!1),i.error("No capture device found"),!1;if(!p&&d)return r.consentDialog(!1),i.error("Audio capture is required, but no capture device found"),!1;if(!m&&u)return r.consentDialog(!1),i.error("Video capture is required, but no capture device found"),!1}var v={audio:!(!s||a.keepAudio)&&f,video:!(!o||a.keepVideo)&&g};_r.debug("getUserMedia constraints",v),v.audio||v.video?navigator.mediaDevices.getUserMedia(v).then((function(t){r.consentDialog(!1),R(e,n,a,i,t)})).catch((function(e){r.consentDialog(!1),i.error({code:e.code,name:e.name,message:e.message})})):(r.consentDialog(!1),R(e,n,a,i,h))})).catch((function(e){r.consentDialog(!1),i.error(e)}))}else R(e,n,a,i)}function B(e,t){t=t||{},t.success="function"==typeof t.success?t.success:_r.noop,t.error="function"==typeof t.error?t.error:K,t.customizeSdp="function"==typeof t.customizeSdp?t.customizeSdp:_r.noop;var i=t.jsep,n=_[e];if(!n||!n.webrtcStuff)return _r.warn("Invalid handle"),void t.error("Invalid handle");var a=n.webrtcStuff;if(i){if(!a.pc)return _r.warn("Wait, no PeerConnection?? if this is an answer, use createAnswer and not handleRemoteJsep"),void t.error("No PeerConnection: if this is an answer, use createAnswer and not handleRemoteJsep");t.customizeSdp(i),a.pc.setRemoteDescription(i).then((function(){if(_r.log("Remote description accepted!"),a.remoteSdp=i.sdp,a.candidates&&a.candidates.length>0){for(var e=0;e0)for(var d of c)d.sender&&d.sender.track&&"audio"===d.sender.track.kind||d.receiver&&d.receiver.track&&"audio"===d.receiver.track.kind?o||(o=d):(d.sender&&d.sender.track&&"video"===d.sender.track.kind||d.receiver&&d.receiver.track&&"video"===d.receiver.track.kind)&&(l||(l=d));var u=Z(t),p=X(t);u||p?u&&p?o&&(o.setDirection?o.setDirection("sendrecv"):o.direction="sendrecv",_r.log("Setting audio transceiver to sendrecv:",o)):u&&!p?o&&(o.setDirection?o.setDirection("sendonly"):o.direction="sendonly",_r.log("Setting audio transceiver to sendonly:",o)):!u&&p&&(o?(o.setDirection?o.setDirection("recvonly"):o.direction="recvonly",_r.log("Setting audio transceiver to recvonly:",o)):(o=a.pc.addTransceiver("audio",{direction:"recvonly"}),_r.log("Adding recvonly audio transceiver:",o))):t.removeAudio&&o&&(o.setDirection?o.setDirection("inactive"):o.direction="inactive",_r.log("Setting audio transceiver to inactive:",o));var h=ee(t),m=ie(t);h||m?h&&m?l&&(l.setDirection?l.setDirection("sendrecv"):l.direction="sendrecv",_r.log("Setting video transceiver to sendrecv:",l)):h&&!m?l&&(l.setDirection?l.setDirection("sendonly"):l.direction="sendonly",_r.log("Setting video transceiver to sendonly:",l)):!h&&m&&(l?(l.setDirection?l.setDirection("recvonly"):l.direction="recvonly",_r.log("Setting video transceiver to recvonly:",l)):(l=a.pc.addTransceiver("video",{direction:"recvonly"}),_r.log("Adding recvonly video transceiver:",l))):t.removeVideo&&l&&(l.setDirection?l.setDirection("inactive"):l.direction="inactive",_r.log("Setting video transceiver to inactive:",l))}else s["offerToReceiveAudio"]=X(t),s["offerToReceiveVideo"]=ie(t);var f=!0===i.iceRestart;f&&(s["iceRestart"]=!0),_r.debug(s);var g=ee(t);if(g&&r&&"firefox"===_r.webRTCAdapter.browserDetails.browser){_r.log("Enabling Simulcasting for Firefox (RID)");var v=a.pc.getSenders().find((function(e){return e.track&&"video"===e.track.kind}));if(v){var y=v.getParameters();y||(y={});var w=b(i.simulcastMaxBitrates);y.encodings=i.sendEncodings||[{rid:"h",active:!0,maxBitrate:w.high},{rid:"m",active:!0,maxBitrate:w.medium,scaleResolutionDownBy:2},{rid:"l",active:!0,maxBitrate:w.low,scaleResolutionDownBy:4}],v.setParameters(y)}}a.pc.createOffer(s).then((function(e){_r.debug(e);var t={type:e.type,sdp:e.sdp};i.customizeSdp(t),e.sdp=t.sdp,_r.log("Setting local description"),g&&r&&("chrome"===_r.webRTCAdapter.browserDetails.browser||"safari"===_r.webRTCAdapter.browserDetails.browser?(_r.log("Enabling Simulcasting for Chrome (SDP munging)"),e.sdp=J(e.sdp)):"firefox"!==_r.webRTCAdapter.browserDetails.browser&&_r.warn("simulcast=true, but this is not Chrome nor Firefox, ignoring")),a.mySdp={type:"offer",sdp:e.sdp},a.pc.setLocalDescription(e).catch(i.error),a.mediaConstraints=s,a.iceDone||a.trickle?((a.senderTransforms||a.receiverTransforms)&&(e["e2ee"]=!0),i.success(e)):_r.log("Waiting for all candidates...")}),i.error)}function j(e,t,i){i=i||{},i.success="function"==typeof i.success?i.success:_r.noop,i.error="function"==typeof i.error?i.error:_r.noop,i.customizeSdp="function"==typeof i.customizeSdp?i.customizeSdp:_r.noop;var n=_[e];if(!n||!n.webrtcStuff)return _r.warn("Invalid handle"),void i.error("Invalid handle");var a=n.webrtcStuff,r=!0===i.simulcast;r?_r.log("Creating answer (iceDone="+a.iceDone+", simulcast="+r+")"):_r.log("Creating answer (iceDone="+a.iceDone+")");var s=null;if(_r.unifiedPlan){s={};var o=null,l=null,c=a.pc.getTransceivers();if(c&&c.length>0)for(var d of c)d.sender&&d.sender.track&&"audio"===d.sender.track.kind||d.receiver&&d.receiver.track&&"audio"===d.receiver.track.kind?o||(o=d):(d.sender&&d.sender.track&&"video"===d.sender.track.kind||d.receiver&&d.receiver.track&&"video"===d.receiver.track.kind)&&(l||(l=d));var u=Z(t),p=X(t);if(u||p){if(u&&p){if(o)try{o.setDirection?o.setDirection("sendrecv"):o.direction="sendrecv",_r.log("Setting audio transceiver to sendrecv:",o)}catch(w){_r.error(w)}}else if(u&&!p)try{o&&(o.setDirection?o.setDirection("sendonly"):o.direction="sendonly",_r.log("Setting audio transceiver to sendonly:",o))}catch(w){_r.error(w)}else if(!u&&p)if(o)try{o.setDirection?o.setDirection("recvonly"):o.direction="recvonly",_r.log("Setting audio transceiver to recvonly:",o)}catch(w){_r.error(w)}else o=a.pc.addTransceiver("audio",{direction:"recvonly"}),_r.log("Adding recvonly audio transceiver:",o)}else if(t.removeAudio&&o)try{o.setDirection?o.setDirection("inactive"):o.direction="inactive",_r.log("Setting audio transceiver to inactive:",o)}catch(w){_r.error(w)}var h=ee(t),m=ie(t);if(h||m){if(h&&m){if(l)try{l.setDirection?l.setDirection("sendrecv"):l.direction="sendrecv",_r.log("Setting video transceiver to sendrecv:",l)}catch(w){_r.error(w)}}else if(h&&!m){if(l)try{l.setDirection?l.setDirection("sendonly"):l.direction="sendonly",_r.log("Setting video transceiver to sendonly:",l)}catch(w){_r.error(w)}}else if(!h&&m)if(l)try{l.setDirection?l.setDirection("recvonly"):l.direction="recvonly",_r.log("Setting video transceiver to recvonly:",l)}catch(w){_r.error(w)}else l=a.pc.addTransceiver("video",{direction:"recvonly"}),_r.log("Adding recvonly video transceiver:",l)}else if(t.removeVideo&&l)try{l.setDirection?l.setDirection("inactive"):l.direction="inactive",_r.log("Setting video transceiver to inactive:",l)}catch(w){_r.error(w)}}else s="firefox"===_r.webRTCAdapter.browserDetails.browser||"edge"===_r.webRTCAdapter.browserDetails.browser?{offerToReceiveAudio:X(t),offerToReceiveVideo:ie(t)}:{mandatory:{OfferToReceiveAudio:X(t),OfferToReceiveVideo:ie(t)}};_r.debug(s);var f=ee(t);if(f&&r&&"firefox"===_r.webRTCAdapter.browserDetails.browser){_r.log("Enabling Simulcasting for Firefox (RID)");var g=a.pc.getSenders()[1];_r.log(g);var v=g.getParameters();_r.log(v);var y=b(i.simulcastMaxBitrates);g.setParameters({encodings:i.sendEncodings||[{rid:"h",active:!0,maxBitrate:y.high},{rid:"m",active:!0,maxBitrate:y.medium,scaleResolutionDownBy:2},{rid:"l",active:!0,maxBitrate:y.low,scaleResolutionDownBy:4}]})}a.pc.createAnswer(s).then((function(e){_r.debug(e);var t={type:e.type,sdp:e.sdp};i.customizeSdp(t),e.sdp=t.sdp,_r.log("Setting local description"),f&&r&&("chrome"===_r.webRTCAdapter.browserDetails.browser?_r.warn("simulcast=true, but this is an answer, and video breaks in Chrome if we enable it"):"firefox"!==_r.webRTCAdapter.browserDetails.browser&&_r.warn("simulcast=true, but this is not Chrome nor Firefox, ignoring")),a.mySdp={type:"answer",sdp:e.sdp},a.pc.setLocalDescription(e).catch(i.error),a.mediaConstraints=s,a.iceDone||a.trickle?((a.senderTransforms||a.receiverTransforms)&&(e["e2ee"]=!0),i.success(e)):_r.log("Waiting for all candidates...")}),i.error)}function W(e,t){t=t||{},t.success="function"==typeof t.success?t.success:_r.noop,t.error="function"==typeof t.error?t.error:_r.noop;var i=_[e];if(i&&i.webrtcStuff){var n=i.webrtcStuff;_r.log("Sending offer/answer SDP..."),n.mySdp?(n.mySdp={type:n.pc.localDescription.type,sdp:n.pc.localDescription.sdp},!1===n.trickle&&(n.mySdp["trickle"]=!1),_r.debug(t),n.sdpSent=!0,t.success(n.mySdp)):_r.warn("Local SDP instance is invalid, not sending anything...")}else _r.warn("Invalid handle, not sending anything")}function H(e,t){var i=_[e];if(!i||!i.webrtcStuff)return _r.warn("Invalid handle"),0;var n=t?"remote":"local",a=i.webrtcStuff;return a.volume[n]||(a.volume[n]={value:0}),!a.pc.getStats||"chrome"!==_r.webRTCAdapter.browserDetails.browser&&"safari"!==_r.webRTCAdapter.browserDetails.browser?(_r.warn("Getting the "+n+" volume unsupported by browser"),0):t&&!a.remoteStream?(_r.warn("Remote stream unavailable"),0):t||a.myStream?a.volume[n].timer?a.volume[n].value:(_r.log("Starting "+n+" volume monitor"),a.volume[n].timer=setInterval((function(){a.pc.getStats().then((function(e){e.forEach((function(e){e&&"audio"===e.kind&&(t&&!e.remoteSource||!t&&"media-source"!==e.type||(a.volume[n].value=e.audioLevel?e.audioLevel:0))}))}))}),200),0):(_r.warn("Local stream unavailable"),0)}function V(e,t){var i=_[e];if(!i||!i.webrtcStuff)return _r.warn("Invalid handle"),!0;var n=i.webrtcStuff;return n.pc?n.myStream?t?n.myStream.getVideoTracks()&&0!==n.myStream.getVideoTracks().length?!n.myStream.getVideoTracks()[0].enabled:(_r.warn("No video track"),!0):n.myStream.getAudioTracks()&&0!==n.myStream.getAudioTracks().length?!n.myStream.getAudioTracks()[0].enabled:(_r.warn("No audio track"),!0):(_r.warn("Invalid local MediaStream"),!0):(_r.warn("Invalid PeerConnection"),!0)}function Y(e,t,i){var n=_[e];if(!n||!n.webrtcStuff)return _r.warn("Invalid handle"),!1;var a=n.webrtcStuff;return a.pc?a.myStream?t?a.myStream.getVideoTracks()&&0!==a.myStream.getVideoTracks().length?(a.myStream.getVideoTracks()[0].enabled=!i,!0):(_r.warn("No video track"),!1):a.myStream.getAudioTracks()&&0!==a.myStream.getAudioTracks().length?(a.myStream.getAudioTracks()[0].enabled=!i,!0):(_r.warn("No audio track"),!1):(_r.warn("Invalid local MediaStream"),!1):(_r.warn("Invalid PeerConnection"),!1)}function G(e){var t=_[e];if(!t||!t.webrtcStuff)return _r.warn("Invalid handle"),"Invalid handle";var i=t.webrtcStuff;return i.pc?i.pc.getStats?(i.bitrate.timer||(_r.log("Starting bitrate timer (via getStats)"),i.bitrate.timer=setInterval((function(){i.pc.getStats().then((function(e){e.forEach((function(e){if(e){var t=!1;if(("video"===e.mediaType||e.id.toLowerCase().indexOf("video")>-1)&&"inbound-rtp"===e.type&&e.id.indexOf("rtcp")<0?t=!0:"ssrc"!=e.type||!e.bytesReceived||"VP8"!==e.googCodecName&&""!==e.googCodecName||(t=!0),t)if(i.bitrate.fps=e.framesPerSecond,i.bitrate.bsnow=e.bytesReceived,i.bitrate.tsnow=e.timestamp,null===i.bitrate.bsbefore||null===i.bitrate.tsbefore)i.bitrate.bsbefore=i.bitrate.bsnow,i.bitrate.tsbefore=i.bitrate.tsnow;else{var n=i.bitrate.tsnow-i.bitrate.tsbefore;"safari"===_r.webRTCAdapter.browserDetails.browser&&(n/=1e3);var a=Math.round(8*(i.bitrate.bsnow-i.bitrate.bsbefore)/n);"safari"===_r.webRTCAdapter.browserDetails.browser&&(a=parseInt(a/1e3)),i.bitrate.value=a+" kbps",i.bitrate.bsbefore=i.bitrate.bsnow,i.bitrate.tsbefore=i.bitrate.tsnow}}}))}))}),1e3)),i.bitrate):(_r.warn("Getting the video bitrate unsupported by browser"),"Feature unsupported by browser"):"Invalid PeerConnection"}function K(e){_r.error("WebRTC error:",e)}function q(e,n){_r.log("Cleaning WebRTC stuff");var a=_[e];if(a){var r=a.webrtcStuff;if(r){if(!0===n){var s={janus:"hangup",transaction:_r.randomString(12)};a.token&&(s["token"]=a.token),f&&(s["apisecret"]=f),_r.debug("Sending hangup request (handle="+e+"):"),_r.debug(s),t?(s["session_id"]=w,s["handle_id"]=e,i.send(JSON.stringify(s))):_r.httpAPICall(o+"/"+w+"/"+e,{verb:"POST",withCredentials:p,body:s})}r.remoteStream=null,r.volume&&(r.volume["local"]&&r.volume["local"].timer&&clearInterval(r.volume["local"].timer),r.volume["remote"]&&r.volume["remote"].timer&&clearInterval(r.volume["remote"].timer)),r.volume={},r.bitrate.timer&&clearInterval(r.bitrate.timer),r.bitrate.timer=null,r.bitrate.bsnow=null,r.bitrate.bsbefore=null,r.bitrate.tsnow=null,r.bitrate.tsbefore=null,r.bitrate.value=null,!r.streamExternal&&r.myStream&&(_r.log("Stopping local stream tracks"),_r.stopAllTracks(r.myStream)),r.streamExternal=!1,r.myStream=null;try{r.pc.close()}catch(l){}r.pc=null,r.candidates=null,r.mySdp=null,r.remoteSdp=null,r.iceDone=!1,r.dataChannel={},r.dtmfSender=null,r.senderTransforms=null,r.receiverTransforms=null}a.oncleanup()}}function J(e){for(var t=e.split("\r\n"),i=!1,n=[-1],a=[-1],r=null,s=null,o=null,l=null,c=-1,d=0;d-1){c=d;break}}else if(i){var h=t[d].match(/a=ssrc-group:SIM (\d+) (\d+) (\d+)/);if(h)return _r.warn("The SDP already contains a SIM attribute, munging will be skipped"),e;var m=t[d].match(/a=ssrc-group:FID (\d+) (\d+)/);if(m)n[0]=m[1],a[0]=m[2],t.splice(d,1),d--;else{if(n[0]){var f=t[d].match("a=ssrc:"+n[0]+" cname:(.+)");if(f&&(r=f[1]),f=t[d].match("a=ssrc:"+n[0]+" msid:(.+)"),f&&(s=f[1]),f=t[d].match("a=ssrc:"+n[0]+" mslabel:(.+)"),f&&(o=f[1]),f=t[d].match("a=ssrc:"+n[0]+" label:(.+)"),f&&(l=f[1]),0===t[d].indexOf("a=ssrc:"+a[0])){t.splice(d,1),d--;continue}if(0===t[d].indexOf("a=ssrc:"+n[0])){t.splice(d,1),d--;continue}}0!=t[d].length||(t.splice(d,1),d--)}}}if(n[0]<0){c=-1,i=!1;for(d=0;d-1){c=d;break}}else if(i){if(n[0]<0){var g=t[d].match(/a=ssrc:(\d+)/);if(g){n[0]=g[1],t.splice(d,1),d--;continue}}else{f=t[d].match("a=ssrc:"+n[0]+" cname:(.+)");if(f&&(r=f[1]),f=t[d].match("a=ssrc:"+n[0]+" msid:(.+)"),f&&(s=f[1]),f=t[d].match("a=ssrc:"+n[0]+" mslabel:(.+)"),f&&(o=f[1]),f=t[d].match("a=ssrc:"+n[0]+" label:(.+)"),f&&(l=f[1]),0===t[d].indexOf("a=ssrc:"+a[0])){t.splice(d,1),d--;continue}if(0===t[d].indexOf("a=ssrc:"+n[0])){t.splice(d,1),d--;continue}}0!==t[d].length||(t.splice(d,1),d--)}}}if(n[0]<0)return _r.warn("Couldn't find the video SSRC, simulcasting NOT enabled"),e;c<0&&(c=t.length),n[1]=Math.floor(4294967295*Math.random()),n[2]=Math.floor(4294967295*Math.random()),a[1]=Math.floor(4294967295*Math.random()),a[2]=Math.floor(4294967295*Math.random());for(d=0;d>",e)})),r}}},_r.useOldDependencies=function(e){var t=e&&e.jQuery||jQuery,i=e&&e.WebSocket||WebSocket;return{newWebSocket:function(e,t){return new i(e,t)},isArray:function(e){return t.isArray(e)},extension:e&&e.extension||wr,webRTCAdapter:e&&e.adapter||yr["a"],httpAPICall:function(e,i){var n=void 0!==i.body?{contentType:"application/json",data:JSON.stringify(i.body)}:{},a=void 0!==i.withCredentials?{xhrFields:{withCredentials:i.withCredentials}}:{};return t.ajax(t.extend(n,a,{url:e,type:i.verb,cache:!1,dataType:"json",async:i.async,timeout:i.timeout,success:function(e){typeof i.success===typeof _r.noop&&i.success(e)},error:function(e,t,n){typeof i.error===typeof _r.noop&&i.error(t,n)}}))}}},_r.noop=function(){},_r.dataChanDefaultLabel="JanusDataChannel",_r.endOfCandidates=null,_r.stopAllTracks=function(e){try{var t=e.getTracks();for(var i of t)_r.log(i),i&&i.stop()}catch(n){}},_r.init=function(e){if(e=e||{},e.callback="function"==typeof e.callback?e.callback:_r.noop,_r.initDone)e.callback();else{if("undefined"!=typeof console&&"undefined"!=typeof console.log||(console={log:function(){}}),_r.trace=_r.noop,_r.debug=_r.noop,_r.vdebug=_r.noop,_r.log=_r.noop,_r.warn=_r.noop,_r.error=_r.noop,!0===e.debug||"all"===e.debug)_r.trace=console.trace.bind(console),_r.debug=console.debug.bind(console),_r.vdebug=console.debug.bind(console),_r.log=console.log.bind(console),_r.warn=console.warn.bind(console),_r.error=console.error.bind(console);else if(Array.isArray(e.debug))for(var t of e.debug)switch(t){case"trace":_r.trace=console.trace.bind(console);break;case"debug":_r.debug=console.debug.bind(console);break;case"vdebug":_r.vdebug=console.debug.bind(console);break;case"log":_r.log=console.log.bind(console);break;case"warn":_r.warn=console.warn.bind(console);break;case"error":_r.error=console.error.bind(console);break;default:console.error("Unknown debugging option '"+t+"' (supported: 'trace', 'debug', 'vdebug', 'log', warn', 'error')");break}_r.log("Initializing library");var i=e.dependencies||_r.useDefaultDependencies();_r.isArray=i.isArray,_r.webRTCAdapter=i.webRTCAdapter,_r.httpAPICall=i.httpAPICall,_r.newWebSocket=i.newWebSocket,_r.extension=i.extension,_r.extension.init(),_r.listDevices=function(e,t){e="function"==typeof e?e:_r.noop,null==t&&(t={audio:!0,video:!0}),_r.isGetUserMediaAvailable()?navigator.mediaDevices.getUserMedia(t).then((function(t){navigator.mediaDevices.enumerateDevices().then((function(i){_r.debug(i),e(i),_r.stopAllTracks(t)}))})).catch((function(t){_r.error(t),e([])})):(_r.warn("navigator.mediaDevices unavailable"),e([]))},_r.attachMediaStream=function(e,t){try{e.srcObject=t}catch(i){try{e.src=URL.createObjectURL(t)}catch(i){_r.error("Error attaching stream to element")}}},_r.reattachMediaStream=function(e,t){try{e.srcObject=t.srcObject}catch(i){try{e.src=t.src}catch(i){_r.error("Error reattaching stream to element")}}};var n=["iPad","iPhone","iPod"].indexOf(navigator.platform)>=0,a=n?"pagehide":"beforeunload",r=window["on"+a];if(window.addEventListener(a,(function(e){for(var t in _r.log("Closing window"),_r.sessions)_r.sessions[t]&&_r.sessions[t].destroyOnUnload&&(_r.log("Destroying session "+t),_r.sessions[t].destroy({unload:!0,notifyDestroyed:!1}));r&&"function"==typeof r&&r()})),_r.safariVp8=!1,"safari"===_r.webRTCAdapter.browserDetails.browser&&_r.webRTCAdapter.browserDetails.version>=605)if(RTCRtpSender&&RTCRtpSender.getCapabilities&&RTCRtpSender.getCapabilities("video")&&RTCRtpSender.getCapabilities("video").codecs&&RTCRtpSender.getCapabilities("video").codecs.length){for(var s of RTCRtpSender.getCapabilities("video").codecs)if(s&&s.mimeType&&"video/vp8"===s.mimeType.toLowerCase()){_r.safariVp8=!0;break}_r.safariVp8?_r.log("This version of Safari supports VP8"):_r.warn("This version of Safari does NOT support VP8: if you're using a Technology Preview, try enabling the 'WebRTC VP8 codec' setting in the 'Experimental Features' Develop menu")}else{var o=new RTCPeerConnection({});o.createOffer({offerToReceiveVideo:!0}).then((function(e){_r.safariVp8=-1!==e.sdp.indexOf("VP8"),_r.safariVp8?_r.log("This version of Safari supports VP8"):_r.warn("This version of Safari does NOT support VP8: if you're using a Technology Preview, try enabling the 'WebRTC VP8 codec' setting in the 'Experimental Features' Develop menu"),o.close(),o=null}))}if(_r.unifiedPlan=!1,"firefox"===_r.webRTCAdapter.browserDetails.browser&&_r.webRTCAdapter.browserDetails.version>=59)_r.unifiedPlan=!0;else if("chrome"===_r.webRTCAdapter.browserDetails.browser&&_r.webRTCAdapter.browserDetails.version>=72)_r.unifiedPlan=!0;else if(window.RTCRtpTransceiver&&"currentDirection"in RTCRtpTransceiver.prototype){var l=new RTCPeerConnection;try{l.addTransceiver("audio"),_r.unifiedPlan=!0}catch(c){}l.close()}else _r.unifiedPlan=!1;_r.initDone=!0,e.callback()}},_r.isWebrtcSupported=function(){return!!window.RTCPeerConnection},_r.isGetUserMediaAvailable=function(){return navigator.mediaDevices&&navigator.mediaDevices.getUserMedia},_r.randomString=function(e){for(var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",i="",n=0;n`/ws/janus/${e}/`,Pr=e=>`/ws/share_token/janus/${e}/`;function Sr(e){var t;const i=null===(t=Object(Q["e"])())||void 0===t?void 0:t.turn_server,n=[{urls:["stun:stun.l.google.com:19302"]}];return i&&n.push({urls:`turn:${i}:80?transport=udp`,credential:e,username:e},{urls:`turn:${i}:80?transport=tcp`,credential:e,username:e}),n}function Dr(e,t){let i,n;void 0===e&&void 0===t?(i=Tr([0,1]),n=xr(2)):e.includes("h264")?i=Tr([t]):e.includes("mjpeg")&&(n=xr(t));let a={callbacks:{},initialized:!1,h264WebRTCConn:i,mjpegWebRTCConn:n,openForShareToken(e){a.connect(Pr(e),e)},openForPrinter(e,t){a.connect(kr(e),t)},connect(e,t){a.initialized=!0,a.h264WebRTCConn&&a.h264WebRTCConn.connect(e,t),a.mjpegWebRTCConn&&a.mjpegWebRTCConn.connect(e,t)},disconnect(){a.h264WebRTCConn&&a.h264WebRTCConn.janus.destroy(),a.mjpegWebRTCConn&&a.mjpegWebRTCConn.janus.destroy()},stopStream(){a.h264WebRTCConn&&a.h264WebRTCConn.stopStream(),a.mjpegWebRTCConn&&a.mjpegWebRTCConn.stopStream()},sendData(e){a.h264WebRTCConn&&a.h264WebRTCConn.sendData(e)},startStream(){a.h264WebRTCConn&&a.h264WebRTCConn.startStream(),a.mjpegWebRTCConn&&a.mjpegWebRTCConn.startStream()},setCallbacks(e){a.callbacks={...a.callbacks,...e},a.h264WebRTCConn&&(a.h264WebRTCConn.callbacks=a.callbacks),a.mjpegWebRTCConn&&(a.mjpegWebRTCConn.callbacks=a.callbacks)}};return a}function xr(e){let t={callbacks:{},streamId:void 0,streaming:void 0,bitrateInterval:null,connect(e,i){Cr.init({debug:"all",callback:()=>{Cr.isWebrtcSupported()&&t.connectJanusWebSocket(e,i)}})},connectJanusWebSocket(i,n){t.janus=new Cr({server:window.location.protocol.replace("http","ws")+"//"+window.location.host+i,iceServers:Sr(n),ipv6:!0,success:()=>{t.janus.attach({plugin:"janus.plugin.streaming",opaqueId:"streamingtest-"+Cr.randomString(12),success:function(i){Cr.log("Plugin attached! ("+i.getPlugin()+", id="+i.getId()+")");const n={request:"info",id:e};Cr.debug("Sending message ("+JSON.stringify(n)+")"),i.send({message:n,success:function(e){let n=de()(e,"info");if(n){t.streamId=n.id,t.streaming=i;const e=de()(n,"data")||br()(de()(n,"media",[]),{type:"data"});e&&t.callbacks.onStreamAvailable(t)}else t.janus.destroy()}})},error:function(e){Cr.error(" -- Error attaching plugin... ",e),janus.destroy()},onmessage:function(e,i){t.onMessage(e,i)},onremotestream:function(e){},ondataopen:function(){},ondata:function(e){"onMJpegData"in t.callbacks&&t.callbacks.onMJpegData(e)},oncleanup:function(){}})},error(e){Cr.error(" -- Error -- ",e),t.janus.destroy()},destroyed(){t.streaming=void 0,t.streamId=void 0}})},onMessage(e,t){let i=this;Cr.debug(" ::: Got a message :::"),Cr.debug(e);let n=e["result"];if(null!==n&&void 0!==n){if(void 0!==n["status"]&&null!==n["status"]){var a=n["status"];"starting"===a?console.log("Starting"):"started"===a?console.log("Started"):"stopped"===a&&i.stopStream()}}else if(void 0!==e["error"]&&null!==e["error"])return Cr.error(e),void i.stopStream();var r;void 0!==t&&null!==t&&(null===(r=i.streaming)||void 0===r||r.createAnswer({jsep:t,media:{audioSend:!1,videoSend:!1,data:!0},success:function(e){var t;Cr.debug("Got SDP!"),Cr.debug(e);var n={request:"start"};null===(t=i.streaming)||void 0===t||t.send({message:n,jsep:e})},error:function(e){Cr.error("WebRTC error:",e)}}))},channelOpen(){return!(void 0===t.streamId||void 0===t.streaming)},startStream(){var e;if(!t.channelOpen())return;const i={request:"watch",offer_video:!1,id:parseInt(t.streamId)};null===(e=t.streaming)||void 0===e||e.send({message:i})},stopStream(){var e,i;const n={request:"stop"};null===(e=t.streaming)||void 0===e||e.send({message:n}),null===(i=t.streaming)||void 0===i||i.hangup()}};return t}function Tr(e){let t={callbacks:{},streamId:void 0,streaming:void 0,bitrateInterval:null,connect(e,i){Cr.init({debug:"all",callback:()=>{Cr.isWebrtcSupported()&&t.connectJanusWebSocket(e,i)}})},connectJanusWebSocket(i,n){t.janus=new Cr({server:window.location.protocol.replace("http","ws")+"//"+window.location.host+i,iceServers:Sr(n),ipv6:!0,success:()=>{t.janus.attach({plugin:"janus.plugin.streaming",opaqueId:"streamingtest-"+Cr.randomString(12),success:function(i){e.forEach(e=>{const n={request:"info",id:e};Cr.debug("Sending message ("+JSON.stringify(n)+")"),i.send({message:n,success:function(e){let n=de()(e,"info");if(n){t.streamId=n.id,t.streaming=i;const e=de()(n,"video")||br()(de()(n,"media",[]),{type:"video"});e&&t.callbacks.onStreamAvailable(t)}}})})},error:function(e){Cr.error(" -- Error attaching plugin... ",e),t.janus.destroy()},onmessage:function(e,i){t.onMessage(e,i)},onremotestream:function(e){Cr.debug(" ::: Got a remote stream :::"),Cr.debug(e),"onRemoteStream"in t.callbacks&&t.callbacks.onRemoteStream(e)},ontrackmuted:function(){"onTrackMuted"in t.callbacks&&t.callbacks.onTrackMuted()},ontrackunmuted:function(){"onTrackUnmuted"in t.callbacks&&t.callbacks.onTrackUnmuted()},slowLink:function(e,i){"onSlowLink"in t.callbacks&&t.callbacks.onSlowLink(i)},ondataopen:function(){},ondata:function(e){"onData"in t.callbacks&&t.callbacks.onData(e)},oncleanup:function(){"onDefaultStreamCleanup"in t.callbacks&&t.callbacks.onDefaultStreamCleanup()}})},error(e){Cr.error(" -- Error -- ",e),t.janus.destroy()},destroyed(){t.streaming=void 0,t.streamId=void 0,t.clearBitrateInterval()}})},onMessage(e,t){let i=this;Cr.debug(" ::: Got a message :::"),Cr.debug(e);let n=e["result"];if(null!==n&&void 0!==n){if(void 0!==n["status"]&&null!==n["status"]){var a=n["status"];"starting"===a?console.log("Starting"):"started"===a?console.log("Started"):"stopped"===a&&i.stopStream()}}else if(void 0!==e["error"]&&null!==e["error"])return Cr.error(e),void i.stopStream();var r;void 0!==t&&null!==t&&(null===(r=i.streaming)||void 0===r||r.createAnswer({jsep:t,media:{audioSend:!1,videoSend:!1,data:!0},success:function(e){var t;Cr.debug("Got SDP!"),Cr.debug(e);var n={request:"start"};null===(t=i.streaming)||void 0===t||t.send({message:n,jsep:e})},error:function(e){Cr.error("WebRTC error:",e)}}))},channelOpen(){return!(void 0===t.streamId||void 0===t.streaming)},startStream(){var e;if(!t.channelOpen())return;const i={request:"watch",offer_video:!0,id:parseInt(t.streamId)};null===(e=t.streaming)||void 0===e||e.send({message:i}),t.clearBitrateInterval(),t.bitrateInterval=setInterval((function(){if(t.streaming){const e=t.streaming.getBitrate();e&&e.value?t.callbacks.onBitrateUpdated(t.streaming.getBitrate()):t.callbacks.onBitrateUpdated({value:null})}else t.callbacks.onBitrateUpdated({value:null})}),5e3)},stopStream(){var e,i;if(t.clearBitrateInterval(),!t.channelOpen())return;const n={request:"stop"};null===(e=t.streaming)||void 0===e||e.send({message:n}),null===(i=t.streaming)||void 0===i||i.hangup()},sendData(e){var i;t.channelOpen()&&(null===(i=t.streaming)||void 0===i||i.data({text:e,success:()=>{}}))},clearBitrateInterval(){t.bitrateInterval&&(clearInterval(t.bitrateInterval),t.bitrateInterval=null,t.callbacks.onBitrateUpdated({value:null}))}};return t}var Ir=function(){var e=this,t=e._self._c;return t("div",{staticClass:"card-img-top webcam_container"},[t("div",{directives:[{name:"show",rawName:"v-show",value:e.slowLinkLoss>50,expression:"slowLinkLoss > 50"}],ref:"slowLinkWrapper",staticClass:"slow-link-wrapper",on:{click:e.slowLinkClicked,mouseenter:function(t){e.fixSlowLinkTextWidth(),e.slowLinkShowing=!0,e.slowLinkHiding=!1},mouseleave:function(t){e.fixSlowLinkTextWidth(),e.slowLinkShowing=!1,e.slowLinkHiding=!0}}},[e._m(0),t("div",{ref:"slowLinkText",staticClass:"text",class:{"show-and-hide":!e.slowLinkShowing&&!e.slowLinkHiding,showing:e.slowLinkShowing&&!e.slowLinkHiding,hiding:!e.slowLinkShowing&&e.slowLinkHiding}},[e._v(" "+e._s(e.$t("Video frames dropped"))+" ")])]),t("div",{directives:[{name:"show",rawName:"v-show",value:e.trackMuted,expression:"trackMuted"}],staticClass:"muted-status-wrapper"},[t("div",{staticClass:"text"},[e._v(e._s(e.$t("Buffering...")))]),t("a",{attrs:{href:"#"},on:{click:function(t){return e.showMutedStatusDescription(t)}}},[e._v(e._s(e.$t("Why is it stuck?")))])]),e.isVideoAvailable&&!e.autoplay&&(e.isBasicStreamingReadyToPlay||e.isBasicStreamingFrozen)?t("b-button",{staticClass:"centered-element p-0",attrs:{disabled:e.isBasicStreamingFrozen},on:{click:e.onPlayBtnClicked}},[e.isBasicStreamingReadyToPlay?t("i",{staticClass:"fas fa-play ml-1"}):e._e(),e.isBasicStreamingFrozen?t("span",{staticClass:"medium"},[e._v(e._s(e.remainingSecondsUntilNextCycle)+"s")]):e._e()]):e._e(),e.trackMuted||e.videoLoading?t("b-spinner",{staticClass:"centered-element",attrs:{label:"Buffering..."}}):e._e(),e.isVideoAvailable?t("div",[!e.autoplay&&e.isBasicStreamingInProgress||e.currentBitrate?t("div",{staticClass:"streaming-info overlay-info small",class:{clickable:e.isBasicStreamingInProgress},on:{click:e.onInfoClicked}},[e.isBasicStreamingInProgress?t("div",{staticClass:"text-success"},[e._v(" "+e._s(e.remainingSecondsCurrentVideoCycle)+" ")]):e._e(),e.currentBitrate?t("div",[e._v(e._s(e.currentBitrate))]):e._e()]):e._e(),e.autoplay||!e.isBasicStreamingReadyToPlay&&!e.isBasicStreamingFrozen?e._e():t("div",{staticClass:"streaming-guide overlay-info",on:{click:e.onInfoClicked}},[e.isBasicStreamingReadyToPlay?t("div",{staticClass:"message"},[e._v(" "+e._s(e.$t("Webcam streams up to 5 FPS for Free"))+" ")]):e._e(),e.isBasicStreamingFrozen?t("div",{staticClass:"message text-warning"},[e._v(" "+e._s(e.remainingSecondsUntilNextCycle)+"s left in the cooldown period ")]):e._e(),t("a",{staticClass:"learn-more",attrs:{href:"#"}},[e._v(e._s(e.$t("Learn more...")))])])]):e._e(),t("div",{class:e.webcamRotateClass},[t("div",{staticClass:"webcam_fixed_ratio",class:e.webcamRatioClass,style:{transform:e.imageTransformStyle}},[e.taggedSrc?t("img",{staticStyle:{position:"absolute"},attrs:{src:e.taggedSrc,alt:e.printer.name+" current image"}}):e._e(),t("div",{directives:[{name:"show",rawName:"v-show",value:e.showMJpeg,expression:"showMJpeg"}],staticClass:"webcam_fixed_ratio_inner ontop"},[t("img",{attrs:{src:e.mjpgSrc}})]),t("div",{directives:[{name:"show",rawName:"v-show",value:e.showVideo,expression:"showVideo"}],staticClass:"webcam_fixed_ratio_inner ontop"},[t("video",{ref:"video",staticClass:"remote-video",attrs:{width:"960",height:e.webcamVideoHeight,poster:e.taggedSrc,autoplay:"",muted:"",playsinline:""},domProps:{muted:!0},on:{loadstart:function(t){return e.onLoadStart()},canplay:function(t){return e.onCanPlay()}}})])])]),t("div",{staticClass:"extra-controls"},[e.showVideo||e.showVideo||e.taggedSrc?t("div",{staticClass:"video-control-btn",on:{click:e.onRotateRightClicked}},[t("font-awesome-icon",{attrs:{icon:"fa-solid fa-rotate-right"}})],1):e._e()])],1)},Fr=[function(){var e=this,t=e._self._c;return t("div",{staticClass:"icon bg-warning"},[t("i",{staticClass:"fas fa-exclamation"})])}];function Ar(e,t){const i="tsNextVideoCycle-"+e;let n,a={countDownTimer:null};if(a.startOrResumeVideoCycle=function(){a.countDownTimer||(a.countDownTimer=setInterval(()=>a.countDown(),1e3))},a.resumeVideoCycle=function(){n<60&&!a.countDownTimer&&(a.countDownTimer=setInterval(()=>a.countDown(),1e3))},a.countDown=function(){a.updateRemainingSeconds(n-1),Object(we["a"])()&&localStorage.setItem(i,(new Date).getTime()/1e3+n),n<0&&(a.updateRemainingSeconds(60),clearInterval(this.countDownTimer),this.countDownTimer=null)},a.updateRemainingSeconds=function(e){n=e;const i=n-30,a=n>30?-1:n;t(i,a)},Object(we["a"])()){const e=parseFloat(localStorage.getItem(i)),t=(new Date).getTime()/1e3;!e||t>e?a.updateRemainingSeconds(60):a.updateRemainingSeconds(Math.round(e-t))}else a.updateRemainingSeconds(60);return a}function $r(e){const t={onFrame:e,contentLength:NaN,imageBuffer:"",bytesRead:0,originalJpgLength:0,onMJpegChunk:function(e){Object(Pn["g"])(e,e=>{const i=new TextDecoder("utf-8").decode(new Uint8Array(e));if(t.contentLength){if(t.imageBuffer+=i,t.bytesRead+=i.length,t.bytesRead>=t.contentLength){const e=t.imageBuffer,i=t.originalJpgLength;t.contentLength=NaN,t.imageBuffer="",t.bytesRead=0,t.originalJpgLength=0,t.onFrame(e,i)}}else if("\r\n"==i.slice(0,2)&&"\r\n"==i.slice(i.length-2)){const e=i.slice(2,i.length-2).split(":");t.contentLength=parseInt(e[0]),t.originalJpgLength=parseInt(e[1])}})}};return t}var Or={name:"StreamingBox",props:{printer:{type:Object,required:!0},webrtc:{type:Object,default:null},webcam:{type:Object,default:null},autoplay:{type:Boolean,required:!0}},data(){var e;return{stickyStreamingSrc:null,isVideoAvailable:!1,isVideoVisible:!1,remainingSecondsCurrentVideoCycle:30,remainingSecondsUntilNextCycle:-1,currentBitrate:null,slowLinkLoss:0,slowLinkShowing:!1,slowLinkHiding:!1,trackMuted:!1,videoLoading:!1,mjpgSrc:null,localStorageRotationKey:`${this.printer.id}_${(null===(e=this.webcam)||void 0===e?void 0:e.stream_id)||0}`,customRotationDeg:0}},computed:{imageTransformStyle(){var e,t;let i="";return null!==(e=this.webcam)&&void 0!==e&&e.flipH&&(i+=" scaleX(-1)"),null!==(t=this.webcam)&&void 0!==t&&t.flipV&&(i+=" scaleY(-1)"),i+=`rotate(${this.videoRotationDeg}deg)`,i},showVideo(){return this.isVideoVisible&&"IMAGE"!==this.stickyStreamingSrc},showMJpeg(){return this.mjpgSrc&&"IMAGE"!==this.stickyStreamingSrc},videoRotationDeg(){var e;const t=+((null===(e=this.webcam)||void 0===e?void 0:e.rotation)||0)+this.customRotationDeg;return t%360},webcamRotateClass(){return"webcam_rotate_"+this.videoRotationDeg},webcamRatioClass(){switch(this.printer.settings.ratio169){case!0:return"ratio169";case!1:return"ratio43";default:return"ratio43"}},webcamVideoHeight(){switch(this.printer.settings.ratio169){case!0:return 540;case!1:return 720;default:return 720}},taggedSrc(){var e;return null!==(e=this.webcam)&&void 0!==e&&e.is_primary_camera?de()(this.printer,"pic.img_url",null):null},isBasicStreamingInProgress(){return this.remainingSecondsCurrentVideoCycle>0&&this.remainingSecondsCurrentVideoCycle<30},isBasicStreamingReadyToPlay(){return!this.isVideoVisible&&!this.trackMuted&&!this.videoLoading&&(30==this.remainingSecondsCurrentVideoCycle||0==this.remainingSecondsUntilNextCycle)},isBasicStreamingFrozen(){return this.remainingSecondsUntilNextCycle>0&&!this.isVideoVisible},basicStreamingInWebrtc(){return this.printer.isAgentVersionGte("2.1.0","0.3.0")}},watch:{webrtc:{handler:"initWebRTC"}},created(){this.customRotationDeg=Object(s["a"])("webcamRotationDeg",0,this.localStorageRotationKey),this.mjpegStreamDecoder=new $r((e,t)=>{this.mjpgSrc="data:image/jpg;base64,"+e,this.onCanPlay()}),this.autoplay||(this.videoLimit=Ar(this.printer.id,this.countDownCallback)),this.initWebRTC(),ya.a.on("blur",()=>{this.webrtc&&this.webrtc.stopStream()}),ya.a.on("focus",()=>{this.webrtc&&this.autoplay&&this.webrtc.startStream()})},methods:{initWebRTC(){this.webrtc&&this.webrtc.setCallbacks({onStreamAvailable:this.onStreamAvailable,onRemoteStream:this.onWebRTCRemoteStream,onDefaultStreamCleanup:()=>this.isVideoVisible=!1,onSlowLink:this.onSlowLink,onTrackMuted:()=>this.trackMuted=!0,onTrackUnmuted:()=>this.trackMuted=!1,onBitrateUpdated:e=>{this.currentBitrate=e.value},onMJpegData:this.mjpegStreamDecoder.onMJpegChunk})},onRotateRightClicked(){this.customRotationDeg=this.customRotationDeg+90,Object(s["b"])("webcamRotationDeg",this.customRotationDeg%360,this.localStorageRotationKey),this.$emit("onRotateRightClicked",this.customRotationDeg)},onCanPlay(){this.videoLoading=!1,this.autoplay||this.videoLimit.startOrResumeVideoCycle()},onLoadStart(){this.videoLoading=!0},onStreamAvailable(e){if(this.autoplay)e.startStream();else{if(!this.basicStreamingInWebrtc)return;!this.autoplay&&this.isBasicStreamingInProgress&&e.startStream(),this.videoLimit.resumeVideoCycle()}this.isVideoAvailable=!0},onWebRTCRemoteStream(e){Cr.attachMediaStream(this.$refs.video,e);const t=e.getVideoTracks();null===t||void 0===t||0===t.length?this.isVideoVisible=!1:this.isVideoVisible=!0},countDownCallback(e,t){this.remainingSecondsCurrentVideoCycle>0&&e<=0&&this.webrtc.stopStream(),this.remainingSecondsCurrentVideoCycle=e,this.remainingSecondsUntilNextCycle=t},onInfoClicked(){this.autoplay||this.$swal.Prompt.fire({title:""+this.$i18next.t("Upgrade for Better Streaming"),html:`\n

${this.$i18next.t("Because you are now on the")} ${this.$i18next.t("{brandName} Cloud Free plan",{brandName:this.$syndicateText.brandName})}:

\n
    \n
  • ${this.$i18next.t("Streaming is limited to 5 FPS (frames per second).")}
  • \n
  • ${this.$i18next.t("After 30 seconds of streaming there is a 30-second cooldown before you can resume streaming.")}
  • \n
\n

${this.$i18next.t("Support the {brandName} project by",{brandName:this.$syndicateText.brandName})} ${this.$i18next.t("upgrading to the Pro plan for little more than 1 Starbucks a month.")}

${this.$i18next.t("The Pro plan offers many perks, including the")} ${this.$i18next.t("Premium Streaming")}:

\n
    \n
  • ${this.$i18next.t("Smooth 25 FPS.")}
  • \n
  • ${this.$i18next.t("Unlimited streaming with no cooldowns.")}
  • \n
\n `,showCloseButton:!0})},onPlayBtnClicked(){this.webrtc.startStream()},fixSlowLinkTextWidth(){const e=window.getComputedStyle(this.$refs.slowLinkText).width;this.$refs.slowLinkText.style.width=e},onSlowLink(e){this.slowLinkLoss+=e},slowLinkClicked(){this.slowLinkShowing=!1,this.slowLinkHiding=!1,this.slowLinkLoss=0,this.$swal.Prompt.fire({title:""+this.$i18next.t("Video frames dropped"),html:`\n

${this.$i18next.t("The video frames are getting dropped because there is most likely a bandwidth bottleneck along the route they travel from your Raspberry Pi to your computer. The bottleneck can be anywhere, but in most cases,")} ${this.$i18next.t("it is either your computer's internet connection, or your Raspberry Pi's")}.

\n

${this.$i18next.t("Make sure your computer is connected to the same network as your Pi. If you still see this warning, you need to trouble-shoot your computer's Wi-Fi connection, probably by moving closer to the Wi-Fi router.")}

\n

${this.$i18next.t("If the webcam stream is smooth when your computer is on the same Wi-Fi network as your Pi, the bottleneck is likely with the upload speed of your internet connection. You need to run a speed test to make sure you have high-enough upload speed, as well as")} ${this.$i18next.t("low latency (ping)")}.

\n

${this.$i18next.t("Check out")} ${this.$i18next.t("the step-by-step trouble-shooting guide.")}

\n `,showCloseButton:!0})},showMutedStatusDescription(e){e.preventDefault(),this.$swal.Prompt.fire({title:""+this.$i18next.t("Webcam stream buffering"),html:`\n

${this.$i18next.t("When you see the messaging about webcam stream is 'buffering' occasionally, you can just reload the page. If this message repeatedly appears, it may indicate one of the problems")}:

\n

${this.$i18next.t("1. A constricted video stream on your Raspberry Pi. The most common reasons are")}:

\n
    \n
  • ${this.$i18next.t("Camera resolution is set too high.")}
  • \n
  • ${this.$i18next.t("Camera framerate is set too high.")}
  • \n
  • ${this.$i18next.t("The upload speed of your Raspberry Pi is too low.")}
  • \n
\n

${this.$i18next.t("2. The internet connection of your computer or phone is not fast enough.")}

\n

${this.$i18next.t("3. Your webcam is not properly connected to your Raspberry Pi.")}

\n
\n

${this.$i18next.t("Check")} ${this.$i18next.t("this step-by-step troubleshooting guide")}.

\n `,showCloseButton:!0})}}},Nr=Or,Lr=(i("0321"),Object(N["a"])(Nr,Ir,Fr,!1,null,"7045853e",null)),Mr=Lr.exports,Er=function(){var e=this,t=e._self._c;return t("div",[e.valid||e.printing?e._e():t("span",[e._v("-")]),!e.valid&&e.printing?t("b-spinner",{attrs:{small:"",type:"grow",label:"Calculating..."}}):e._e(),e.valid&&e.showHours?t("span",[e._v(" "+e._s(e.hours)),t("span",{staticClass:"text-subscript text-muted"},[e._v("h")])]):e._e(),e.valid&&e.showMinutes?t("span",[e._v(" "+e._s(e.minutes)),t("span",{staticClass:"text-subscript text-muted"},[e._v("m")])]):e._e(),e.valid&&e.showSeconds?t("span",[e._v(" "+e._s(e.seconds)),t("span",{staticClass:"text-subscript text-muted"},[e._v("s")])]):e._e()],1)},Rr=[],zr={name:"DurationBlock",props:{valid:{type:Boolean,required:!0},printing:{type:Boolean,required:!0},hours:{type:Number,default(){return 0}},showHours:{type:Boolean,default(){return!1}},minutes:{type:Number,default(){return 0}},showMinutes:{type:Boolean,default(){return!1}},seconds:{type:Number,default(){return 0}},showSeconds:{type:Boolean,default(){return!1}}}},Br=zr,Ur=Object(N["a"])(Br,Er,Rr,!1,null,null,null),jr=Ur.exports,Wr=function(){var e=this,t=e._self._c;return t("div",{staticClass:"wrapper"},e._l(e.temperatures,(function(i,n){return t("temperature-item",{key:n,attrs:{"temp-key":n,"temp-item":i,"is-plugin-version-sufficient":e.isPluginVersionSufficient},on:{TempEditClicked:function(t){return e.onEditClicked(n,i)}}})})),1)},Hr=[],Vr=function(){var e=this,t=e._self._c;return t("div",{staticClass:"temp-item",class:{editable:e.editable},on:{click:function(t){return e.onEditClicked(e.tempKey,e.tempItem)}}},[t("div",{staticClass:"icon"},[e.heaterIcon?t("svg",[t("use",{attrs:{href:e.heaterIcon}})]):t("i",{staticClass:"fas fa-thermometer-empty"})]),t("div",{staticClass:"title"},[e._v(e._s(e.temperatureDisplayName(e.tempKey)))]),t("div",{staticClass:"value-wrapper"},[t("div",{staticClass:"value"},[e._v(e._s(parseFloat(e.tempItem.actual).toFixed(1))+" °C")]),e.editable?t("div",{staticClass:"target"},[e._v("/ "+e._s(Math.round(e.tempItem.target))+" °C")]):e._e()])])},Yr=[],Gr={name:"TemperatureItem",props:{tempItem:{type:Object,required:!0},tempKey:{type:String,required:!0},isPluginVersionSufficient:{type:Boolean,required:!0}},computed:{heaterIcon(){const e=this.tempKey.toLowerCase();return e.includes("bed")?"#bed-temp":e.includes("tool")||e.includes("extruder")?"#extruder":null},editable(){return this.isPluginVersionSufficient&&null!==this.tempItem.target}},methods:{onEditClicked(e,t){this.editable&&this.$emit("TempEditClicked",e,t)},temperatureDisplayName:Pn["f"]}},Kr=Gr,qr=(i("47bd"),Object(N["a"])(Kr,Vr,Yr,!1,null,"6371ef1e",null)),Jr=qr.exports,Zr={name:"StatusTemp",components:{TemperatureItem:Jr},props:{temperatures:{type:Object,required:!0},isPluginVersionSufficient:{type:Boolean,required:!0}},methods:{onEditClicked(e,t){this.isPluginVersionSufficient&&null!==t.target&&this.$emit("TempEditClicked",e,t)}}},Qr=Zr,Xr=(i("800e"),Object(N["a"])(Qr,Wr,Hr,!1,null,"a51f3d38",null)),es=Xr.exports,ts=function(){var e=this,t=e._self._c;return t("div",[t("div",{staticClass:"text-center"},[e.value>0?t("h1",{staticClass:"target-temp-degree"},[e._v(" "+e._s(e.value)+" "),t("span",{staticClass:"text-subscript text-muted"},[e._v("°C")])]):e._e(),e.value<1?t("h1",{staticClass:"target-temp-degree"},[e._v(e._s(e.$t("OFF")))]):e._e()]),t("br"),t("div",{staticClass:"mb-5"},[t("div",[t("h5",[e._v(e._s(e.$t("Presets"))+":")])]),t("div",[t("b-form-select",{staticClass:"form-control",attrs:{id:"id_preset"},on:{change:e.onPresetChanged},model:{value:e.preset,callback:function(t){e.preset=t},expression:"preset"}},e._l(e.allPresets,(function(i){return t("b-form-select-option",{key:i.name,attrs:{value:parseInt(i.value)}},[e._v(" "+e._s(i.title)+" ")])})),1)],1),t("br"),t("h5",[e._v(e._s(e.$t("Manual"))+":")]),t("div",[t("slider-input",{attrs:{min:0,max:e.maxTemp,step:1},on:{change:e.onSliderChanged},model:{value:e.value,callback:function(t){e.value=t},expression:"value"}}),t("input",{directives:[{name:"model",rawName:"v-model",value:e.value,expression:"value"}],attrs:{id:"target-temp",type:"hidden"},domProps:{value:e.value},on:{input:function(t){t.target.composing||(e.value=t.target.value)}}})],1)])])},is=[],ns=function(){var e=this,t=e._self._c;return t("div",{staticClass:"slidecontainer"},[t("input",{staticClass:"slider",attrs:{type:"range",min:e.min,max:e.max,step:e.step},domProps:{value:e.value},on:{change:function(t){e.$emit("change",Number(t.target.value))},input:function(t){e.$emit("input",Number(t.target.value))}}})])},as=[],rs={name:"SliderInput",props:{value:{type:Number,default:0},max:{type:Number,default:100},min:{type:Number,default:0},step:{type:Number,default:1}},computed:{},methods:{}},ss=rs,os=(i("0334"),Object(N["a"])(ss,ns,as,!1,null,"3dcc12a9",null)),ls=os.exports,cs={name:"TempTargetEditor",components:{SliderInput:ls},props:{presets:{type:Array,required:!0},maxTemp:{type:Number,required:!0},curTarget:{type:Number,required:!0}},data(){let e=this.presets.find(e=>e.target==this.curTarget)||{target:0!=this.curTarget?-1:0};return{value:this.curTarget,preset:e.target}},computed:{allPresets(){let e=[];return e.push({value:-1,title:"Manual",name:"manual"}),e.push({value:0,title:"OFF",name:"off"}),this.presets.forEach(t=>{t.target&&e.push({value:t.target,name:t.name,title:`${t.name} (${t.target}°C)`})}),e}},methods:{onPresetChanged(){this.preset>-1&&(this.value=this.preset)},onSliderChanged(){0==this.value?this.preset=0:this.preset=-1}}},ds=cs,us=Object(N["a"])(ds,ts,is,!1,null,null,null),ps=us.exports,hs=function(){var e=this,t=e._self._c;return t("div",[t("h2",{staticClass:"text-center"},[e._v(e._s(e.$t("Printer Feed Sharing")))]),t("hr"),e.isProAccount?t("div",[t("div",{staticClass:"py-3"},[t("div",{staticClass:"custom-control custom-switch"},[t("input",{staticClass:"custom-control-input update-printer",attrs:{id:"sharing_enabled-toggle-"+e.printer.id,type:"checkbox"},domProps:{checked:e.sharedResource},on:{click:e.onSharingToggled}}),t("label",{staticClass:"custom-control-label",staticStyle:{"font-size":"1rem"},attrs:{for:"sharing_enabled-toggle-"+e.printer.id}},[e._v(e._s(e.$t("Share live feed for printer "))+'"'),t("b",[e._v(e._s(e.printer.name))]),e._v('"')])]),t("div",{staticClass:"form-group"},[t("div",{directives:[{name:"show",rawName:"v-show",value:e.sharedLink,expression:"sharedLink"}]},[t("div",{staticClass:"input-group mt-4 mb-2"},[t("input",{ref:"sharedLink",staticClass:"form-control shared-link-text",attrs:{id:"secret-token-input",type:"text","aria-label":"Secret token",readonly:""},domProps:{value:e.sharedLink}}),t("div",{staticClass:"input-group-append"},[t("div",{staticClass:"copy-button",attrs:{id:"copy-link","data-clipboard-target":"#secret-token-input","aria-label":"Copy secure link to clipboard"},on:{click:e.copyToClipboard}},[t("i",{staticClass:"fas fa-clipboard"})]),t("b-tooltip",{attrs:{show:e.copyStatus,target:"copy-link",triggers:"click",placement:"bottom"},on:{"update:show":function(t){e.copyStatus=t}}},[e._v(e._s(e.copyMessage))])],1)]),t("div",{staticClass:"my-1"},[e._v(" "+e._s(e.$t("Click the clipboard icon above to copy the secure shareable link to your clipboard."))+" ")]),t("div",{staticClass:"my-1"},[t("i18next",{attrs:{translation:e.$t("You can test the shareable link by right-clicking {localizedDom} and select 'Open Link in Incognito Window'.")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("a",{attrs:{href:e.sharedLink}},[e._v(e._s(e.$t("here")))])]},proxy:!0}])})],1),t("br"),t("em",{staticClass:"text-muted"},[t("small",[t("div",[e._v(e._s(e.$t("Notes"))+":")]),t("ul",[t("li",[e._v(" "+e._s(e.$t("Send the secure link to anyone you want to share your printer feed with. They do NOT need the {brandName} account to see your printer feed.",{brandName:e.$syndicateText.brandName}))+" ")]),t("li",[e._v(" "+e._s(e.$t("Anyone with this shareable link will be able to see your printer feed."))+" "),t("a",{attrs:{href:e.getDocUrl("/user-guides/printer-feed-sharing/")}},[e._v(e._s(e.$t("Learn more about what they can see.")))])])])])])])]),t("br")])]):t("div",[t("h5",{staticClass:"mb-5"},[t("i18next",{attrs:{translation:e.$t("Wait! You need to {localizedDom} to enable Printer feed.")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("a",{attrs:{href:"/ent_pub/pricing/"}},[e._v(e._s(e.$t("upgrade to the Pro plan")))])]},proxy:!0}],null,!1,3414343479)})],1),t("p",[e._v(e._s(e.$t("Printer feed sharing is a Pro feature.")))]),t("p",[t("a",{attrs:{href:e.getDocUrl("/user-guides/upgrade-to-pro#why-cant-the-detective-just-work-for-free-people-love-free-you-know")}},[e._v(" "+e._s(e.$t("Running the {brandName} app incurs non-trivial amount of costs",{brandName:e.$syndicateText.brandName}))+" ")]),e._v(". "+e._s(e.$t("With little more than 1 Starbucks per month, you can upgrade to a Pro account and help us run the {brandName} app smoothly.",{brandName:e.$syndicateText.brandName}))+" ")]),t("p",[t("a",{attrs:{href:"/ent_pub/pricing/"}},[e._v(e._s(e.$t("Check out Pro pricing >>>")))])])])])},ms=[],fs={props:{isProAccount:{type:Boolean,default:!1},printer:{type:Object,required:!0}},data(){return{share:!1,sharedResource:null,copyStatus:!1,copyMessage:""}},computed:{sharedLink(){if(this.sharedResource){const e=window.location;return`${e.protocol}//${e.host}/printers/share_token/${this.sharedResource.share_token}/`}return""}},created(){this.fetchSharedResources()},methods:{fetchSharedResources(){return oe["a"].get(le["a"].sharedResources({printer_id:this.printer.id})).then(e=>{e.data.length>0&&(this.sharedResource=e.data[0])})},postSharedResources(){return oe["a"].post(le["a"].sharedResources({printer_id:this.printer.id})).then(e=>{e.data.length>0&&(this.sharedResource=e.data[0])})},deleteSharedResources(){return oe["a"].delete(le["a"].sharedResource(this.sharedResource.id)).then(()=>{this.sharedResource=null})},onSharingToggled(){this.sharedResource?this.deleteSharedResources():this.postSharedResources()},copyToClipboard(){this.copyStatus=!0,this.$refs.sharedLink.focus(),this.$refs.sharedLink.select();try{document.execCommand("copy"),this.copyMessage="Copied!"}catch(e){console.error("Fallback: Oops, unable to copy",e),this.copyMessage="Failed!"}}}},gs=fs,vs=(i("7cd5"),Object(N["a"])(gs,hs,ms,!1,null,"1f31c9c1",null)),bs=vs.exports,ys=function(){var e=this,t=e._self._c;return t("widget-template",{attrs:{"inside-card":e.insideCard},scopedSlots:e._u([{key:"title",fn:function(){return[e._v(e._s(e.$t("Print Job Control")))]},proxy:!0},{key:"content",fn:function(){return[t("div",{staticClass:"wrapper"},[!e.printer.isOffline()&&e.printer.hasError()?t("div",{staticClass:"error-container"},[t("div",{staticClass:"title"},[e._v(e._s(e.printer.agentDisplayName())+" "+e._s(e.$t("Error")))]),t("p",{staticClass:"text"},[e._v(" "+e._s(e.printer.status.state.error)+" ")])]):e._e(),e.printer.inUserInteractionRequired()?t("div",{staticClass:"warning-container"},[t("p",{staticClass:"text"},[e._v(e._s(e.$t("Filament Change or User Interaction Required")))])]):e._e(),e.printer.inTransientState()?[t("b-spinner",{attrs:{label:"Processing..."}}),t("p",[e._v(e._s(e.printer.calculatedState())+"...")])]:[e.printer.isOffline()||e.printer.isDisconnected()||!e.printer.isActive()?e._e():[t("p",[e.printer.isPaused()?t("span",[e._v(e._s(e.$t("Print is Paused")))]):t("span",[e._v(e._s(e.$t("Printer is Currently Printing")))])]),t("div",{staticClass:"buttons"},[e.printer.isPaused()?t("b-button",{staticClass:"custom-button",attrs:{variant:"success"},on:{click:function(t){return e.onPauseToggled(t)}}},[t("font-awesome-icon",{attrs:{icon:"fa-solid fa-circle-play"}}),e._v(" "+e._s(e.$t("Resume"))+" ")],1):t("b-button",{staticClass:"custom-button",attrs:{variant:"warning"},on:{click:function(t){return e.onPauseToggled(t)}}},[t("font-awesome-icon",{attrs:{icon:"fa-solid fa-circle-pause"}}),e._v(" "+e._s(e.$t("Pause"))+" ")],1),t("b-button",{staticClass:"custom-button",attrs:{variant:"danger"},on:{click:e.onCancelClicked}},[t("font-awesome-icon",{attrs:{icon:"fa-solid fa-circle-xmark"}}),e._v(" "+e._s(e.$t("Cancel"))+" ")],1)],1)],e.printer.isOffline()||e.printer.isDisconnected()||e.printer.isActive()?e._e():[t("p",[e._v(e._s(e.$t("Open G-Code File to Start Printing")))]),t("div",{staticClass:"buttons"},[t("b-button",{staticClass:"custom-button",attrs:{variant:"outline-primary"},on:{click:e.openObicoFiles}},[t("svg",{staticClass:"logo-small custom-svg-icon"},[t("use",{attrs:{href:"#svg-logo-compact"}})]),e._v(" "+e._s(e.$syndicateText.brandName)+" "+e._s(e.$t("Files"))+" ")]),e.printer.isAgentMoonraker()?t("b-button",{staticClass:"custom-button",attrs:{variant:"outline-secondary"},on:{click:e.openPrinterFiles}},[e._v("   "),t("svg",{staticClass:"logo-small custom-svg-icon"},[t("use",{attrs:{href:"#svg-klipper-logo"}})]),t("svg",{staticClass:"logo-small custom-svg-icon"},[t("use",{attrs:{href:"#svg-fluidd-logo"}})]),t("svg",{staticClass:"logo-small custom-svg-icon"},[t("use",{attrs:{href:"#svg-mainsail-logo"}})]),e._v("   ")]):t("b-button",{staticClass:"custom-button",attrs:{variant:"outline-secondary"},on:{click:e.openPrinterFiles}},[t("svg",{staticClass:"logo-small custom-svg-icon"},[t("use",{attrs:{href:"#svg-octoprint-logo"}})]),e._v(" OctoPrint ")])],1)]],!e.printer.isOffline()&&e.printer.isDisconnected()?[t("p",[e._v(e._s(e.$t("Printer Not Connected at the Serial Port")))]),t("div",{staticClass:"buttons"},[e.printer.isAgentMoonraker()?e._e():t("b-button",{attrs:{variant:"outline-primary",disabled:e.connecting},on:{click:e.onConnectClicked}},[e.connecting?t("b-spinner",{attrs:{small:""}}):t("i",{staticClass:"fab fa-usb"}),e._v(" "+e._s(e.connecting?e.$t("Contacting OctoPrint"):e.$t("Connect"))+" ")],1)],1)]:e.printer.isOffline()?[t("i",{staticClass:"fas fa-exclamation-triangle big-icon warning"}),t("p",[e._v(" "+e._s(e.$t("{brandName} for {name} is Offline.",{brandName:e.$syndicateText.brandName,name:e.printer.isAgentMoonraker()?"Klipper":"OctoPrint"}))+" "),t("a",{attrs:{target:"_blank",href:e.getDocUrl("/user-guides/troubleshoot-server-connection-issues/")}},[e._v(e._s(e.$t("Why?")))])])]:e._e(),e.printer?t("b-modal",{attrs:{id:e.modalId,size:"lg"},on:{hidden:e.resetGcodesModal}},[e.selectedGcodeId?t("g-code-file-page",{attrs:{"is-popup":!0,"target-printer-id":e.printer.id,"route-params":{fileId:e.selectedGcodeId,printerId:e.printerFiles?e.printer.id:null},"on-close":()=>e.$bvModal.hide(e.modalId)},on:{goBack:()=>{e.selectedGcodeId=null,e.scrollToTop()}}}):t("g-code-folders-page",{attrs:{"is-popup":!0,"target-printer":e.printer,"route-params":{printerId:e.printerFiles?e.printer.id:null,parentFolder:null},"on-close":()=>e.$bvModal.hide(e.modalId),"saved-path":e.savedPath,"scroll-container-id":e.modalId},on:{openFile:(t,i,n)=>{e.selectedGcodeId=t,e.savedPath=n,e.scrollToTop()}}})],1):e._e()],2)]},proxy:!0}])})},ws=[],_s=function(){var e=this,t=e._self._c;return t("div",{staticClass:"widget",class:{insideCard:e.insideCard}},[t("div",{staticClass:"widget-title"},[e._t("title")],2),t("div",{staticClass:"widget-content"},[e._t("content")],2)])},Cs=[],ks={name:"WidgetTemplate",props:{insideCard:{type:Boolean,default:!1}}},Ps=ks,Ss=(i("0dce"),Object(N["a"])(Ps,_s,Cs,!1,null,"922c39c0",null)),Ds=Ss.exports,xs=function(){var e=this,t=e._self._c;return t("page-layout",{attrs:{"is-popup":e.isPopup},scopedSlots:e._u([{key:"topBarLeft",fn:function(){return[e.isPopup&&null!==e.parentFolder?t("a",{staticClass:"btn shadow-none icon-btn d-inline",attrs:{href:"#",title:"Go Back"},on:{click:function(t){return t.preventDefault(),e.goBack.apply(null,arguments)}}},[t("i",{staticClass:"fas fa-chevron-left"})]):e._e(),!e.isPopup&&e.isCloud?t("div",{staticClass:"actions-with-selected-desktop"},[t("b-form-group",{staticClass:"m-0"},[t("b-form-checkbox",{attrs:{checked:e.allSelected,size:"md"},nativeOn:{"!click":function(t){return t.stopPropagation(),t.preventDefault(),e.toggleSelectAll.apply(null,arguments)}}})],1),t("div",[t("span",{directives:[{name:"show",rawName:"v-show",value:!e.selectedItemsCount,expression:"!selectedItemsCount"}],staticClass:"label",on:{click:e.toggleSelectAll}},[e._v(e._s(e.$t("Select all")))]),t("b-dropdown",{directives:[{name:"show",rawName:"v-show",value:e.selectedItemsCount,expression:"selectedItemsCount"}],attrs:{"toggle-class":"btn btn-sm actions-with-selected-btn"},scopedSlots:e._u([{key:"button-content",fn:function(){return[e._v(" "+e._s(e.selectedItemsCount)+" item"+e._s(1===e.selectedItemsCount?"":"s")+" "+e._s(e.$t("selected"))+" ")]},proxy:!0}],null,!1,4258773973)},[t("b-dropdown-item",[t("div",{on:{click:e.moveSelectedItems}},[t("i",{staticClass:"fas fa-arrows-alt"}),e._v(e._s(e.$t("Move")))])]),t("b-dropdown-item",[t("div",{staticClass:"text-danger",on:{click:e.deleteSelectedItems}},[t("i",{staticClass:"far fa-trash-alt"}),e._v(e._s(e.$t("Delete"))+" ")])])],1)],1)],1):e._e(),t("search-input",{staticClass:"search-input mr-3",on:{input:e.updateSearch}})]},proxy:!0},{key:"topBarRight",fn:function(){return[t("div",{staticClass:"action-panel"},[e.isCloud?t("a",{staticClass:"btn shadow-none icon-btn d-none d-md-inline",attrs:{href:"#",title:"Create folder"},on:{click:function(t){return t.preventDefault(),e.createFolder.apply(null,arguments)}}},[t("i",{staticClass:"fas fa-folder-plus"})]):e._e(),t("b-dropdown",{attrs:{right:"","no-caret":"","toggle-class":"action-btn icon-btn"},scopedSlots:e._u([{key:"button-content",fn:function(){return[t("i",{staticClass:"fas fa-server"})]},proxy:!0}])},[t("b-dropdown-text",{staticClass:"small text-secondary"},[e._v(e._s(e.$t("STORAGE")))]),t("b-dropdown-item",{on:{click:e.switchToCloudStorage}},[t("div",{staticClass:"dropdown-text-group"},[t("i",{staticClass:"fas fa-check text-primary",style:{visibility:e.isCloud?"visible":"hidden"}}),t("div",{staticClass:"text"},[t("div",{staticClass:"title"},[e._v(e._s(e.$syndicateText.brandName)+" "+e._s(e.$t("Cloud")))])])])]),e._l(e.printers,(function(i){return t("b-dropdown-item",{key:i.id,on:{click:()=>e.switchToPrinterStorage(i)}},[t("div",{staticClass:"dropdown-text-group"},[t("i",{staticClass:"fas fa-check text-primary",style:{visibility:e.selectedPrinterId===i.id?"visible":"hidden"}}),t("div",{staticClass:"text"},[t("div",{staticClass:"title"},[e._v(e._s(i.name))]),t("div",{staticClass:"subtitle",class:[e.isPrinterBrowsable(i)?"text-success":"text-warning"]},[e._v(" "+e._s(e.printerBrowsabilityText(i))+" ")])])])])}))],2),t("b-dropdown",{attrs:{right:"","no-caret":"","toggle-class":"action-btn icon-btn",title:"Sort By"},scopedSlots:e._u([{key:"button-content",fn:function(){return[t("i",{staticClass:"fas fa-sort-amount-down"})]},proxy:!0}])},[t("sorting-dropdown",{attrs:{"local-storage-prefix":e.sortingLocalStoragePrefix,"sorting-options":e.sortingOptions,"sorting-value":e.sortingValue},on:{onSortingUpdated:e.onSortingUpdated}})],1),t("b-dropdown",{attrs:{right:"","no-caret":"","toggle-class":"icon-btn d-md-none"},scopedSlots:e._u([{key:"button-content",fn:function(){return[t("i",{staticClass:"fas fa-ellipsis-v"})]},proxy:!0}])},[t("cascaded-dropdown",{ref:"cascadedDropdown",attrs:{"menu-options":e.mobileMenuOptions},on:{menuOptionClicked:e.onMenuOptionClicked},scopedSlots:e._u([{key:"sorting",fn:function(){return[t("sorting-dropdown",{attrs:{"local-storage-prefix":e.sortingLocalStoragePrefix,"sorting-options":e.sortingOptions,"sorting-value":e.sortingValue},on:{onSortingUpdated:e.onSortingUpdated}})]},proxy:!0},{key:"storage",fn:function(){return[t("b-dropdown-text",{staticClass:"small text-secondary"},[e._v(e._s(e.$t("STORAGE")))]),t("b-dropdown-item",{on:{click:()=>{e.switchToCloudStorage(),e.$refs.cascadedDropdown.resetMenuExpanded()}}},[t("div",{staticClass:"dropdown-text-group"},[t("i",{staticClass:"fas fa-check text-primary",style:{visibility:e.isCloud?"visible":"hidden"}}),t("div",{staticClass:"text"},[t("div",{staticClass:"title"},[e._v(e._s(e.$syndicateText.brandName)+" "+e._s(e.$t("Cloud")))])])])]),e._l(e.printers,(function(i){return t("b-dropdown-item",{key:i.id,on:{click:()=>{e.switchToPrinterStorage(i),e.$refs.cascadedDropdown.resetMenuExpanded()}}},[t("div",{staticClass:"dropdown-text-group"},[t("i",{staticClass:"fas fa-check text-primary",style:{visibility:e.selectedPrinterId===i.id?"visible":"hidden"}}),t("div",{staticClass:"text"},[t("div",{staticClass:"title"},[e._v(e._s(i.name))]),t("div",{staticClass:"subtitle",class:[e.isPrinterBrowsable(i)?"text-success":"text-warning"]},[e._v(" "+e._s(e.printerBrowsabilityText(i))+" ")])])])])}))]},proxy:!0}])})],1),e.onClose?t("a",{staticClass:"btn shadow-none icon-btn d-inline",attrs:{href:"#",title:"Close"},on:{click:function(t){return t.preventDefault(),e.onClose.apply(null,arguments)}}},[t("i",{staticClass:"fas fa-times text-danger"})]):e._e()],1)]},proxy:!0},{key:"content",fn:function(){return[t("b-container",[t("b-row",[t("b-col",[e.isCloud?t("vue-dropzone",{ref:"gcodesDropzone",staticClass:"upload-box",attrs:{id:"dropzone",options:e.dropzoneOptions,"use-custom-slot":!0},on:{"vdropzone-queue-complete":e.gcodeUploadSuccess,"vdropzone-error":e.gcodeUploadError,"vdropzone-sending":e.addParentFolderParam}},[t("div",{staticClass:"dz-message needsclick"},[t("i",{staticClass:"fas fa-upload fa-2x"}),e._v(" "),t("br"),t("div",[e._v(e._s(e.$t("G-Code file (*.gcode, *.gco, or *.g) only.")))]),t("div",[e._v(e._s(e.$t("Up to {maxFilesize} MB each file, {maxTotalFilesize} GB total.",{maxFilesize:e.maxFilesize,maxTotalFilesize:e.maxTotalFilesize})))])])]):e._e(),!e.isCloud&&e.isAgentMoonraker&&e.searchStateIsActive?t("div",{staticClass:"notice-block"},[t("div",{staticClass:"icon"},[t("i",{staticClass:"fas fa-info"})]),t("p",{staticClass:"message"},[e._v(e._s(e.$t("Search in Klipper printers works only for current directory")))])]):e._e(),t("g-code-file-structure",{ref:"gCodeFileStructure",attrs:{"is-cloud":e.isCloud,"is-popup":e.isPopup,"search-state-is-active":e.searchStateIsActive,"search-in-progress":e.searchInProgress,folders:e.folders,files:e.files,"target-printer":e.targetPrinter,"nothing-found":e.nothingFound,loading:e.loading,"scroll-container-id":e.scrollContainerId,"no-more-folders":e.noMoreFolders,"no-more-files":e.noMoreFiles,"local-files-loading":e.localFilesLoading},on:{openFolder:e.openFolder,openFile:e.openFile,renameItem:e.renameItem,moveItem:e.moveItem,deleteItem:e.deleteItem,print:e.onPrintClicked,fetchMore:e.fetchFilesAndFolders,selectFiles:e.onSelectFiles,selectFolders:e.onSelectFolders}})],1)],1)],1),t("rename-modal",{ref:"renameModal",attrs:{item:e.activeItem,"pre-confirm":e.verifyItemRename},on:{renamed:e.onItemRenamed}}),t("move-modal",{ref:"moveModal",attrs:{item:e.activeItem,items:e.activeItems,"item-parent-folder-id":e.parentFolder,"target-printer":e.targetPrinter,"scroll-container-id":e.scrollContainerId,"sorting-value":e.sortingValue},on:{moved:e.onItemMoved}}),t("delete-confirmation-modal",{ref:"deleteConfirmationModal",attrs:{item:e.activeItem},on:{deleted:e.onItemDeleted}}),t("new-folder-modal",{ref:"newFolderModal",attrs:{"pre-confirm":e.verifyNewFolder,"parent-folder-id":e.parentFolder},on:{created:e.onFolderCreated}})]},proxy:!0}])})},Ts=[],Is=(i("33d1"),i("ea98"),function(){var e=this,t=e._self._c;return t("div",{staticClass:"search-wrapper"},[e._m(0),t("input",{staticClass:"dark",attrs:{type:"text",placeholder:e.$t("Search")},domProps:{value:e.value},on:{input:function(t){return e.$emit("input",t.target.value)},focus:function(t){return e.$emit("focus")},blur:function(t){return e.$emit("blur")}}})])}),Fs=[function(){var e=this,t=e._self._c;return t("div",{staticClass:"search-icon"},[t("i",{staticClass:"fas fa-search"})])}],As={name:"SearchInput",props:{value:{type:String,default:""}}},$s=As,Os=(i("ebf7"),Object(N["a"])($s,Is,Fs,!1,null,"33fc3084",null)),Ns=Os.exports,Ls=function(){var e=this,t=e._self._c;return t("b-modal",{attrs:{id:"b-modal-new-folder",title:e.$t("Enter new folder name"),"ok-title":e.$t("Create"),"cancel-title":e.$t("Cancel"),"ok-disabled":!e.newFolderName.length,centered:""},on:{ok:e.handleOk,hidden:e.resetModal,shown:e.focusInput}},[t("form",{on:{submit:function(t){return t.preventDefault(),e.handleSubmit.apply(null,arguments)}}},[t("div",{staticClass:"my-2"},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.newFolderName,expression:"newFolderName"}],ref:"input",staticClass:"input-lg",attrs:{type:"text",name:"name",placeholder:e.$t("Folder name"),required:"required"},domProps:{value:e.newFolderName},on:{input:function(t){t.target.composing||(e.newFolderName=t.target.value)}}}),e.errorMessage?t("b-alert",{staticClass:"mt-3",attrs:{variant:"danger",show:""}},[e._v(" "+e._s(e.errorMessage)+" ")]):e._e()],1)])])},Ms=[],Es={name:"NewFolderModal",props:{preConfirm:{type:Function,default:null},parentFolderId:{type:String,default:null}},data(){return{newFolderName:"",errorMessage:"",isOpen:!1}},methods:{show(){this.isOpen=!0,this.$bvModal.show("b-modal-new-folder")},focusInput(){this.$refs.input.select()},resetModal(){this.isOpen=!1,this.newFolderName="",this.errorMessage=""},handleOk(e){e.preventDefault(),this.handleSubmit()},async handleSubmit(){if(this.newFolderName){if(this.preConfirm){const e=this.preConfirm(this.newFolderName);if(!0!==e)return void(this.errorMessage=e)}try{const e=await oe["a"].post(le["a"].gcodeFolders(),{name:this.newFolderName,parent_folder:this.parentFolderId});this.$emit("created",e.data.id),this.$bvModal.hide("b-modal-new-folder")}catch(e){return void console.log(e)}}}}},Rs=Es,zs=(i("295c"),Object(N["a"])(Rs,Ls,Ms,!1,null,"47badcdc",null)),Bs=zs.exports,Us=function(){var e=this,t=e._self._c;return t("b-modal",{attrs:{id:"b-modal-rename",title:e.$t("Enter new name"),"ok-title":e.$t("Rename"),"cancel-title":e.$t("Cancel"),centered:""},on:{ok:e.handleOk,hidden:e.resetModal,shown:e.focusInput}},[t("form",{on:{submit:function(t){return t.preventDefault(),e.handleSubmit.apply(null,arguments)}}},[t("div",{staticClass:"my-2"},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.newItemName,expression:"newItemName"}],ref:"input",staticClass:"input-lg",attrs:{type:"text",name:"name",placeholder:e.$t("New name"),required:"required"},domProps:{value:e.newItemName},on:{input:function(t){t.target.composing||(e.newItemName=t.target.value)}}}),e.errorMessage?t("b-alert",{staticClass:"mt-3",attrs:{variant:"danger",show:""}},[e._v(" "+e._s(e.errorMessage)+" ")]):e._e()],1)])])},js=[],Ws={name:"RenameModal",components:{},props:{item:{type:Object,default:null},preConfirm:{type:Function,default:null}},data(){return{newItemName:"",errorMessage:"",isOpen:!1}},computed:{itemType(){return this.item.filename?"file":"folder"},fullName(){return"file"===this.itemType?`${this.newItemName}.${this.fileExt}`:this.newItemName},fileExt(){return"folder"===this.itemType?null:this.item.filename.split(".").at(-1)},nameWithoutExt(){if("folder"===this.itemType)return this.item.name;{const e=this.item.filename;return e.slice(0,e.length-this.fileExt.length-1)}},newNameWithExt(){return"folder"===this.itemType?this.newItemName:`${this.newItemName}.${this.fileExt}`}},methods:{show(){this.isOpen=!0,this.$nextTick(()=>{this.item?(this.newItemName=this.nameWithoutExt,this.$bvModal.show("b-modal-rename")):this.isOpen=!1})},focusInput(){this.$refs.input.select()},close(){this.$bvModal.hide("b-modal-rename"),this.resetModal()},resetModal(){this.isOpen=!1,this.newItemName="",this.errorMessage=""},handleOk(e){this.newNameWithExt!==(this.item.filename||this.item.name)?(e.preventDefault(),this.handleSubmit()):this.close()},async handleSubmit(){const e=this.item.id;if(this.newItemName)if(this.newNameWithExt!==(this.item.filename||this.item.name)){if(this.preConfirm){const e=this.preConfirm(this.newNameWithExt);if(!0!==e)return void(this.errorMessage=e)}try{const t="file"===this.itemType?le["a"].gcodeFile(e):le["a"].gcodeFolder(e);await oe["a"].patch(t,`${"file"===this.itemType?"filename":"name"}=${this.newNameWithExt}`)}catch(t){return this.errorMessage=""+this.$i18next.t("Server error"),void console.log(t)}this.$emit("renamed",this.newNameWithExt),this.close()}else this.close()}}},Hs=Ws,Vs=(i("49b1"),Object(N["a"])(Hs,Us,js,!1,null,"bc4fae7e",null)),Ys=Vs.exports,Gs=function(){var e=this,t=e._self._c;return t("b-modal",{attrs:{id:"b-modal-move",title:e.$t("Move item"),"ok-title":e.$t("Place Here"),"cancel-title":e.$t("Cancel"),"ok-disabled":e.isSameDir||e.patchLoading,scrollable:""},on:{ok:e.handleOk,hidden:e.resetModal},scopedSlots:e._u([{key:"modal-title",fn:function(){return[t("div",{staticClass:"title"},[null!==e.parentFolder?t("a",{staticClass:"btn shadow-none icon-btn d-inline",attrs:{href:"#",title:e.$t("Go Back")},on:{click:function(t){return t.preventDefault(),e.goBack.apply(null,arguments)}}},[t("i",{staticClass:"fas fa-chevron-left"})]):e._e(),t("h5",{staticClass:"modal-title"},[e._v(e._s(e.$t("Move item")))])])]},proxy:!0}])},[t("form",{on:{submit:function(t){return t.preventDefault(),e.handleSubmit.apply(null,arguments)}}},[t("g-code-file-structure",{attrs:{folders:e.folders,files:e.files,"target-printer":e.targetPrinter,loading:e.loading,"scroll-container-id":"b-modal-move___BV_modal_body_","no-more-folders":e.noMoreFolders,"no-more-files":!0,"is-move-modal":!0,"disabled-items":e.disabledItems},on:{openFolder:e.openFolder,fetchMore:e.fetchFilesAndFolders}})],1)])},Ks=[],qs=function(){var e=this,t=e._self._c;return t("div",{staticClass:"gcodes-wrapper",class:{"is-move-modal":e.isMoveModal}},[e.isMoveModal?e._e():t("div",{staticClass:"header-panel",class:{"without-action-buttons":!e.isCloud&&!e.targetPrinter}},[t("div",{staticClass:"text"},[e._v(e._s(e.$t("Name")))]),t("div",{staticClass:"text"},[e._v(e._s(e.$t("Size")))]),t("div",{staticClass:"text"},[e._v(e._s(e.$t("Created")))]),e.isCloud?t("div",{staticClass:"text"},[e._v(e._s(e.$t("Last Printed")))]):e._e()]),t("div",{staticClass:"gcode-items-wrapper"},[t("div",e._l([...e.folders,...e.files],(function(i,n){return t("file-structure-item",{directives:[{name:"show",rawName:"v-show",value:e.isFolder(i)&&!e.searchStateIsActive||!e.isFolder(i)&&!e.searchInProgress,expression:"\n (isFolder(item) && !searchStateIsActive) || (!isFolder(item) && !searchInProgress)\n "}],key:`${e.isFolder(i)?"folder":"file"}_${n}`,attrs:{item:i,"is-cloud":e.isCloud,"target-printer":e.targetPrinter,"is-move-modal":e.isMoveModal,disabled:e.isFolder(i)?e.disabledItems.folders.includes(i.id):e.disabledItems.files.includes(i.id),selectable:!e.isMoveModal&&e.isCloud&&!e.isPopup,selected:e.isFolder(i)?e.selectedFolders.has(i.id):e.selectedFiles.has(i.id)},on:{click:function(t){e.isFolder(i)?e.$emit("openFolder",i):e.$emit("openFile",i)},renameItem:function(t){return e.$emit("renameItem",i)},moveItem:function(t){return e.$emit("moveItem",i)},deleteItem:function(t){return e.$emit("deleteItem",i)},print:function(t){return e.$emit("print",i)},selectedChanged:e.onSelectedChanged}})})),1),e.isCloud?t("mugen-scroll",{staticClass:"text-center",attrs:{"v-show":!e.isFolderEmpty,handler:()=>e.$emit("fetchMore"),"should-handle":!e.loading,"scroll-container":e.scrollContainerId}},[e.noMoreFolders&&e.noMoreFiles&&!e.searchInProgress?e._e():t("div",{staticClass:"py-5"},[t("b-spinner",{attrs:{label:e.$t("Loading...")}})],1)]):e._e(),e.isCloud||!e.localFilesLoading&&!e.searchInProgress?t("div",[e.isFolderEmpty?t("div",{staticClass:"placeholder text-secondary"},[t("span",[e._v(e._s(e.$t("Nothing here yet")))])]):e.nothingFound?t("div",{staticClass:"placeholder text-secondary"},[t("span",[e._v(e._s(e.$t("Nothing found")))])]):e._e()]):t("div",{staticClass:"text-center py-5"},[t("b-spinner",{attrs:{label:e.$t("Loading...")}})],1)],1)])},Js=[],Zs=function(){var e=this,t=e._self._c;return t("div",{staticClass:"item",class:{disabled:e.isDisabled,"move-modal":e.isMoveModal},on:{click:()=>!e.isDisabled&&e.$emit("click")}},[e.selectable?t("div",{staticClass:"checkbox-wrapper",class:{isSelected:e.isSelected}},[t("b-form-checkbox",{attrs:{size:"md",checked:e.isSelected},nativeOn:{"!click":function(t){t.stopPropagation(),t.preventDefault(),e.isSelected=!e.isSelected}}})],1):e._e(),t("div",{staticClass:"item-info"},[t("div",{staticClass:"filename"},[t("div",{staticClass:"thumbnail-wrapper",class:{folder:e.isFolder}},[!e.isFolder&&e.item.getSmallThumbnailUrl()?t("div",{staticClass:"thumbnail"},[t("img",{attrs:{src:e.item.getSmallThumbnailUrl()}})]):t("div",{staticClass:"placeholder"},[e.isFolder?t("i",{staticClass:"fas fa-folder"}):t("i",{staticClass:"fas fa-file-code"})])]),t("span",{staticClass:"truncated"},[e._v(e._s(e.isFolder?e.item.name:e.item.filename))])]),t("div",{staticClass:"size"},[e.isFolder?e._e():t("span",[e._v(e._s(e.item.filesize))]),e.isFolder?t("span",[e._v(e._s(e.item.numItems)+" item(s)")]):e._e()]),e.isMoveModal?e._e():t("div",{staticClass:"created"},[e._v(" "+e._s(e.item.created_at?e.item.created_at.fromNow():"-")+" ")]),e.isMoveModal?e._e():[!e.isFolder&&e.isCloud?t("div",{staticClass:"last-printed"},[e.item.print_set?e.item.print_set.length?e.item.last_print?t("span",[e._v(e._s(e.item.last_print.ended_at?e.item.last_print.ended_at.fromNow():e.$t("Printing...")))]):e._e():t("span",[e._v(e._s(e.$t("No prints yet")))]):t("span",[e._v("-")]),e.item.last_print&&e.item.last_print.ended_at?t("div",{staticClass:"circle-indicator",class:{cancelled:e.item.last_print.cancelled_at,finished:e.item.last_print.finished_at}}):e._e()]):e._e(),e.isFolder&&e.isCloud?t("div",{staticClass:"d-none d-md-block"}):e._e()]],2),!e.isMoveModal&&(!e.isFolder&&(e.isCloud||e.targetPrinter)||e.isFolder&&e.isCloud)?t("div",[t("b-dropdown",{attrs:{right:"","no-caret":"","toggle-class":"icon-btn py-0"},scopedSlots:e._u([{key:"button-content",fn:function(){return[t("i",{staticClass:"fas fa-ellipsis-v"})]},proxy:!0}],null,!1,3452768261)},[!e.isFolder&&e.targetPrinter?t("b-dropdown-item",{on:{click:function(t){return t.stopPropagation(),e.$emit("print",e.item)}}},[t("span",{staticClass:"text-primary"},[t("i",{staticClass:"fas fa-play-circle"}),e._v(e._s(e.$t("Print on"))+" "+e._s(e.targetPrinter.name)+" ")])]):e._e(),e.isCloud?t("b-dropdown-item",{on:{click:function(t){return t.stopPropagation(),e.$emit("renameItem",e.item)}}},[t("i",{staticClass:"fas fa-edit"}),e._v(e._s(e.$t("Rename"))+" ")]):e._e(),e.isCloud?t("b-dropdown-item",{on:{click:function(t){return t.stopPropagation(),e.$emit("moveItem",e.item)}}},[t("i",{staticClass:"fas fa-arrows-alt"}),e._v(e._s(e.$t("Move"))+" ")]):e._e(),e.isCloud?t("b-dropdown-item",{on:{click:function(t){return t.stopPropagation(),e.$emit("deleteItem",e.item)}}},[t("span",{staticClass:"text-danger"},[t("i",{staticClass:"fas fa-trash-alt"}),e._v(e._s(e.$t("Delete"))+" ")])]):e._e()],1)],1):e._e()])},Qs=[],Xs={name:"FileStructureItem",props:{item:{type:Object,required:!0},isCloud:{type:Boolean,default:!0},targetPrinter:{type:Object,default:null},isMoveModal:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},selected:{type:Boolean,default:!1},selectable:{type:Boolean,default:!1}},data:function(){return{isSelected:this.selected}},computed:{isFolder(){return!this.item.filename},isDisabled(){return this.isMoveModal&&!this.isFolder||this.disabled}},watch:{isSelected(e){this.$emit("selectedChanged",this.item,e)},selected(e){this.isSelected=e}}},eo=Xs,to=(i("c9b4"),Object(N["a"])(eo,Zs,Qs,!1,null,"ad2c3ac6",null)),io=to.exports,no={name:"GCodeFileStructure",components:{MugenScroll:ni.a,FileStructureItem:io},props:{folders:{type:Array,default:()=>[]},files:{type:Array,default:()=>[]},noMoreFolders:{type:Boolean,default:!1},noMoreFiles:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},localFilesLoading:{type:Boolean,default:!1},isCloud:{type:Boolean,default:!0},isPopup:{type:Boolean,default:!1},searchStateIsActive:{type:Boolean,default:!1},searchInProgress:{type:Boolean,default:!1},nothingFound:{type:Boolean,default:!1},targetPrinter:{type:Object,default:null},scrollContainerId:{type:String,default:null},isMoveModal:{type:Boolean,default:!1},disabledItems:{type:Object,default:()=>({folders:[],files:[]})}},data:function(){return{selectedFiles:new Set,selectedFolders:new Set}},computed:{isFolderEmpty(){return!this.searchStateIsActive&&!this.loading&&!this.files.length&&!this.folders.length}},methods:{onSelectedChanged(e,t){const i=this.isFolder(e)?new Set(this.selectedFolders):new Set(this.selectedFiles);t?i.add(e.id):i.delete(e.id),this.isFolder(e)?(this.selectedFolders=i,this.$emit("selectFolders",this.selectedFolders)):(this.selectedFiles=i,this.$emit("selectFiles",this.selectedFiles))},isFolder(e){return!e.filename},selectAll(){this.selectedFolders=new Set(this.folders.map(e=>e.id)),this.selectedFiles=new Set(this.files.map(e=>e.id)),this.$emit("selectFolders",this.selectedFolders),this.$emit("selectFiles",this.selectedFiles)},unselectAll(){this.selectedFolders=new Set,this.selectedFiles=new Set,this.$emit("selectFolders",this.selectedFolders),this.$emit("selectFiles",this.selectedFiles)}}},ao=no,ro=(i("e1a7"),Object(N["a"])(ao,qs,Js,!1,null,"254b72e8",null)),so=ro.exports;const oo=24;var lo={name:"MoveModal",components:{GCodeFileStructure:so},props:{item:{type:Object,default:null},items:{type:Object,default:null},targetPrinter:{type:Object,default:null},scrollContainerId:{type:String,default:null},sortingValue:{type:Object,required:!0},itemParentFolderId:{type:String,default:""}},data(){return{path:[],isOpen:!1,loading:!1,patchLoading:!1,folders:[],files:[],noMoreFolders:!1,currentFoldersPage:1,currentFilesPage:1}},computed:{disabledItems(){const e={files:[],folders:[]};return this.item&&"file"===this.itemType?e.files=[this.item.id]:this.item&&"folder"===this.itemType?e.folders=[this.item.id]:this.items&&(e.files=this.items.files,e.folders=this.items.folders),e},itemType(){return this.item?this.item.filename?"file":"folder":null},parentFolder(){return this.path&&this.path.length>0?this.path.at(-1):null},isSameDir(){return null===this.parentFolder&&!this.itemParentFolderId||parseInt(this.itemParentFolderId)===this.parentFolder}},methods:{goBack(){this.path.pop(),this.fetchFilesAndFolders(!0)},openFolder(e){this.path.push(e.id),this.fetchFilesAndFolders(!0)},resetFiles(){this.folders=[],this.files=[],this.noMoreFolders=!1,this.currentFoldersPage=1,this.currentFilesPage=1},async fetchFilesAndFolders(e=!1){if(this.loading)return;if(e&&this.resetFiles(),this.noMoreFolders)return;this.loading=!0;let t=[];if(!this.noMoreFolders){try{var i,n;const e={parent_folder:this.parentFolder||"null",page:this.currentFoldersPage,page_size:oo};this.sortingValue.sorting.folderKey&&(e.sorting=`${this.sortingValue.sorting.folderKey}_${this.sortingValue.direction.key}`);let a=await oe["a"].get(le["a"].gcodeFolders(),{params:e});a=a.data,this.noMoreFolders=null===(null===(i=a)||void 0===i?void 0:i.next),t=(null===(n=a)||void 0===n?void 0:n.results)||[]}catch(a){this.loading=!1,this.errorDialog(a)}this.folders.push(...t.map(e=>Fe(e))),this.currentFoldersPage+=1}this.loading=!1},show(){this.isOpen=!0,this.fetchFilesAndFolders(),this.$nextTick(()=>{this.item||this.items?this.$bvModal.show("b-modal-move"):this.isOpen=!1})},close(){this.$bvModal.hide("b-modal-move"),this.resetModal()},resetModal(){this.isOpen=!1,this.path=[],this.resetFiles()},handleOk(e){e.preventDefault(),this.handleSubmit()},async handleSubmit(){this.patchLoading=!0;const e=this.parentFolder||"";try{if(this.item){const t=this.item.id,i="file"===this.itemType?le["a"].gcodeFile(t):le["a"].gcodeFolder(t);await oe["a"].patch(i,"parent_folder="+e)}else this.items&&(this.items.folders.length&&await oe["a"].post(le["a"].gcodeFolderBulkMove(),{folder_ids:this.items.folders,parent_folder:e}),this.items.files.length&&await oe["a"].post(le["a"].gcodeFileBulkMove(),{file_ids:this.items.files,parent_folder:e}))}catch(t){this.errorDialog(t,""+this.$i18next.t("Failed to move item(s)"))}this.patchLoading=!1,this.$emit("moved"),this.close()}}},co=lo,uo=(i("5fad"),Object(N["a"])(co,Gs,Ks,!1,null,"3ff54ded",null)),po=uo.exports,ho=function(){var e=this,t=e._self._c;return t("div")},mo=[],fo={name:"RenameModal",props:{item:{type:Object,default:null}},data(){return{isOpen:!1}},created(){},mounted(){},methods:{show(){this.isOpen=!0,this.$bvModal.msgBoxConfirm(""+this.$i18next.t("Are you sure?"),{id:"b-modal-confirm-delete",centered:!0,okTitle:""+this.$i18next.t("Delete"),okVariant:"danger",size:"sm",autoFocusButton:"ok"}).then(async e=>{if(this.isOpen=!1,e){try{const e=this.item.filename?le["a"].gcodeFile(this.item.id):le["a"].gcodeFolder(this.item.id);await oe["a"].delete(e)}catch(t){return void console.log(t)}this.$emit("deleted")}}).catch(e=>{this.errorDialog(e,""+this.$i18next.t("Failed to delete item"))})}}},go=fo,vo=(i("1705"),Object(N["a"])(go,ho,mo,!1,null,null,null)),bo=vo.exports;const yo=1e3,wo=24,_o="gcodesSorting",Co={options:[{title:""+G["a"].t("Name"),key:"filename",folderKey:"name"},{title:""+G["a"].t("Size"),key:"num_bytes"},{title:""+G["a"].t("Created"),key:"created_at",folderKey:"created_at"}],default:{sorting:"created_at",direction:"desc"}};var ko={name:"GCodeFoldersPage",components:{PageLayout:Ft,SearchInput:Ns,vueDropzone:lr.a,GCodeFileStructure:so,RenameModal:Ys,MoveModal:po,DeleteConfirmationModal:bo,NewFolderModal:Bs,SortingDropdown:vi,CascadedDropdown:ci},props:{isPopup:{type:Boolean,default:!1},onClose:{type:Function,default:null},scrollContainerId:{type:String,default:null},targetPrinter:{type:Object,default:null},savedPath:{type:Array,default:()=>[]},routeParams:{type:Object,default:()=>({printerId:null,parentFolder:null})}},data(){return{PrintStatus:xe,csrf:null,user:null,loading:!1,parentFolder:null,path:[],files:[],folders:[],noMoreFolders:!1,noMoreFiles:!1,currentFoldersPage:1,currentFilesPage:1,sortingLocalStoragePrefix:_o,sortingOptions:Co,sortingValue:mi(_o,Co),searchQuery:null,searchStateIsActive:!1,searchTimeoutId:null,activeItem:null,activeItems:null,printers:[],selectedPrinterId:void 0,selectedPrinterComm:void 0,localFilesLoading:!1,selectedFolders:new Set,selectedFiles:new Set}},computed:{selectedItemsCount(){return this.selectedFiles.size+this.selectedFolders.size},allSelected(){const e=this.files.length+this.folders.length;return this.selectedItemsCount===e&&0!==e},mobileMenuOptions(){const e=[{key:"storage",icon:"fas fa-server",title:""+this.$i18next.t("File storage"),expandable:!0},{key:"sorting",icon:"fas fa-sort-amount-down",title:""+this.$i18next.t("Sort"),expandable:!0}];return this.isCloud&&e.unshift({key:"createFolder",icon:"fas fa-folder-plus",title:""+this.$i18next.t("Create folder"),callback:!0}),e},isAgentMoonraker(){const e=this.printers.find(e=>e.id===this.selectedPrinterId);return!e||e.isAgentMoonraker()},isCloud(){return!this.selectedPrinterId},nothingFound(){return this.searchStateIsActive&&!this.searchTimeoutId&&!this.files.length},searchInProgress(){return this.searchStateIsActive&&!!this.searchTimeoutId},maxFilesize(){return this.user.is_pro?500:50},maxTotalFilesize(){return this.user.is_pro?50:1},dropzoneOptions(){return{withCredentials:!0,maxFilesize:this.maxFilesize,timeout:36e5,acceptedFiles:".g,.gcode,.gco",url:le["a"].gcodeFiles(),headers:{"X-CSRFToken":this.csrf}}}},async created(){this.csrf=Object(Pn["c"])(),this.user=Object(Q["f"])(),this.savedPath&&this.savedPath.length>=1?(this.parentFolder=this.savedPath.at(-1),this.path=this.savedPath.slice(0,this.savedPath.length-1)):this.parentFolder=this.getRouteParam("parentFolder")||null,this.selectedPrinterId=Number(this.getRouteParam("printerId"))||null,this.isPopup||this.$watch(()=>this.$route.params,(e,t)=>{this.parentFolder=e.parentFolder||null,this.selectedPrinterId=Number(this.getRouteParam("printerId"))||null,this.fetchFilesAndFolders(!0)}),await this.fetchPrinters(),this.fetchFilesAndFolders(!0)},methods:{isPrinterBrowsable(e){return!(e.isOffline()||!e.isAgentVersionGte("2.3.0","1.2.0"))},printerBrowsabilityText(e){return this.isPrinterBrowsable(e)?""+this.$i18next.t("Available to browse files"):""+this.$i18next.t("Unable to browse files")},toggleSelectAll(){this.allSelected?this.$refs.gCodeFileStructure.unselectAll():this.$refs.gCodeFileStructure.selectAll()},onSelectFiles(e){this.selectedFiles=e},onSelectFolders(e){this.selectedFolders=e},moveSelectedItems(){this.activeItems={files:Array.from(this.selectedFiles),folders:Array.from(this.selectedFolders)},this.$refs.moveModal.show()},deleteSelectedItems(){const e=Array.from(this.selectedFolders),t=Array.from(this.selectedFiles);this.$swal.Prompt.fire({title:""+this.$i18next.t("Are you sure?"),text:""+this.$i18next.t("Delete {name} item(s)? This action can not be undone.",{name:e.length+t.length}),showCancelButton:!0,confirmButtonText:""+this.$i18next.t("Yes"),cancelButtonText:""+this.$i18next.t("No")}).then(async i=>{if(i.isConfirmed)try{e.length&&await oe["a"].post(le["a"].gcodeFolderBulkDelete(),{folder_ids:e}),t.length&&await oe["a"].post(le["a"].gcodeFileBulkDelete(),{file_ids:t})}catch(n){this.errorDialog(n,""+this.$i18next.t("Failed to delete files and folders"))}finally{this.fetchFilesAndFolders(!0)}})},switchToCloudStorage(){this.parentFolder=null,this.path=[],this.selectedPrinterId=null,this.selectedPrinterComm=null,this.isPopup?this.fetchFilesAndFolders(!0):"/g_code_folders/cloud/"!==this.$route.path&&this.$router.replace("/g_code_folders/cloud/")},switchToPrinterStorage(e){this.isPrinterBrowsable(e)?(this.parentFolder=null,this.path=[],this.selectedPrinterId=e.id,this.selectedPrinterComm=null,this.isPopup?this.fetchFilesAndFolders(!0):Number(this.getRouteParam("printerId"))!==e.id&&this.$router.replace(`/g_code_folders/local/${e.id}/`)):this.$swal.Reject.fire({title:this.$i18next.t("{name} isn't available for browsing files for one of the following reasons",{name:e.name})+":",html:`
    \n
  • ${this.$i18next.t("{name} is powered off or not connected to the Internet",{name:e.agentDisplayName()})}
  • \n
  • ${this.$i18next.t("Printer is not connected to {name}",{name:e.agentDisplayName()})}
  • \n
  • ${this.$i18next.t("{brandName} for {name} plugin is outdated (you need version {version} or later)",{brandName:this.$syndicateText.brandName,name:e.agentDisplayName(),version:e.browsabilityMinPluginVersion()})}
  • \n
`})},getRouteParam(e){return this.isPopup?this.routeParams[e]:this.$route.params[e]},goBack(){this.path.length&&(this.parentFolder=this.path.pop(),this.fetchFilesAndFolders(!0))},resetFiles(){this.folders=[],this.files=[],this.$refs.gCodeFileStructure.unselectAll(),this.noMoreFolders=!1,this.noMoreFiles=!1,this.currentFoldersPage=1,this.currentFilesPage=1},async fetchPrinters(){let e;try{e=await oe["a"].get(le["a"].printers()),e=e.data}catch(t){console.error(t)}e&&(e=e.map(e=>Ae(e)),e=e.sort((e,t)=>Number(this.isPrinterBrowsable(t))-Number(this.isPrinterBrowsable(e))),this.printers=this.targetPrinter?e.filter(e=>e.id===this.targetPrinter.id):e)},async fetchLocalFiles(){if(!this.selectedPrinterComm)return;this.localFilesLoading=!0;const e=this.isAgentMoonraker?xa:Da;e(this.selectedPrinterComm,this.parentFolder?decodeURIComponent(this.parentFolder):null,this.searchQuery).then(e=>{if(this.localFilesLoading=!1,e){const{folders:t,files:i}=e;this.folders=t,this.files=i}})},async fetchFilesAndFolders(e=!1,t=!1){if(this.loading)return;if(e&&this.resetFiles(),this.selectedPrinterId)return this.printers.find(e=>e.id===this.selectedPrinterId)||this.$swal.Reject.fire({title:""+this.$i18next.t("Error"),text:""+this.$i18next.t("Printer not found or unavailable")}).then(()=>{this.isPopup&&this.onClose?this.onClose():window.location.assign("/g_code_folders/cloud/")}),this.localFilesLoading=!0,void(this.selectedPrinterComm?this.fetchLocalFiles():(this.selectedPrinterComm=Ca.getOrCreatePrinterComm(this.selectedPrinterId,le["a"].printerWebSocket(this.selectedPrinterId)),this.selectedPrinterComm.connect(this.fetchLocalFiles)));if(this.searchQuery&&(this.noMoreFolders=!0),this.noMoreFolders&&this.noMoreFiles)return;this.loading=!0;let i=[],n=[];if(!this.noMoreFolders){try{var a,r;const e={parent_folder:this.parentFolder||"null",page:this.currentFoldersPage,page_size:wo};this.sortingValue.sorting.folderKey&&(e.sorting=`${this.sortingValue.sorting.folderKey}_${this.sortingValue.direction.key}`);let t=await oe["a"].get(le["a"].gcodeFolders(),{params:e});t=t.data,this.noMoreFolders=null===(null===(a=t)||void 0===a?void 0:a.next),i=(null===(r=t)||void 0===r?void 0:r.results)||[]}catch(c){this.loading=!1,this.errorDialog(c)}this.currentFoldersPage+=1}if(!this.noMoreFiles&&i.lengthFe(e))),this.files.push(...n.map(e=>Ie(e))),this.loading=!1},updateSearch(e){if(clearTimeout(this.searchTimeoutId),this.searchTimeoutId=null,this.searchStateIsActive=!!e,!this.searchStateIsActive)return this.searchQuery=null,void this.fetchFilesAndFolders(!0);this.searchTimeoutId=setTimeout(async()=>{this.searchQuery=e,this.fetchFilesAndFolders(!0),this.searchTimeoutId=null},yo)},addParentFolderParam(e,t,i){i.append("filename",e.name),null!==this.parentFolder&&i.append("parent_folder",this.parentFolder)},gcodeUploadSuccess(){const e=this.targetPrinter&&1===this.$refs.gcodesDropzone.getAcceptedFiles().length&&0===this.$refs.gcodesDropzone.getRejectedFiles().length;this.$refs.gcodesDropzone.removeAllFiles(),this.files=[],this.fetchFilesAndFolders(!0,e)},gcodeUploadError(e,t){this.$swal.Reject.fire({html:`

${t}

`})},renameItem(e){this.activeItem=e,this.$refs.renameModal.show()},verifyItemRename(e){return!(!this.activeItem.filename&&this.folders.find(t=>t.name===e))||""+this.$i18next.t("Folder with this name already exists")},onItemRenamed(e){if(!this.activeItem)return;const t=this.activeItem.filename?this.files:this.folders;for(let i in t)if(t[i].id===this.activeItem.id){if(this.activeItem.filename){this.files[i].filename=e;break}this.folders[i].name=e;break}this.activeItem=null},moveItem(e){this.activeItem=e,this.$refs.moveModal.show()},onItemMoved(){(this.activeItem||this.activeItems)&&(this.activeItem=null,this.activeItems=null,this.fetchFilesAndFolders(!0))},deleteItem(e){this.activeItem=e,this.$refs.deleteConfirmationModal.show()},onItemDeleted(){if(!this.activeItem)return;const e=this.activeItem.filename?this.files:this.folders;for(let t in e)if(e[t].id===this.activeItem.id){if(this.activeItem.filename){this.files.splice(t,1);break}this.folders.splice(t,1);break}this.activeItem=null},createFolder(){this.$refs.newFolderModal.show()},onMenuOptionClicked(e){"createFolder"===e&&this.createFolder()},verifyNewFolder(e){return!this.folders.find(t=>t.name===e)||""+this.$i18next.t("Folder with this name already exists")},onFolderCreated(e){this.fetchFilesAndFolders(!0)},openFolder(e){this.isPopup?(this.path.push(this.parentFolder),this.parentFolder=String(e.id),this.fetchFilesAndFolders(!0)):this.selectedPrinterId?this.$router.push(`/g_code_folders/local/${this.selectedPrinterId}/${encodeURIComponent(e.path)}/`):this.$router.push(`/g_code_folders/cloud/${e.id}/`)},openFile(e){this.isPopup?this.$emit("openFile",this.selectedPrinterId?encodeURIComponent(e.path):e.id,this.selectedPrinterId,[...this.path,this.parentFolder]):this.selectedPrinterId?window.location.assign(`/g_code_files/local/${this.selectedPrinterId}/${encodeURIComponent(e.path)}/`):window.location.assign(`/g_code_files/cloud/${e.id}/`)},onPrintClicked(e){Aa(e,this.targetPrinter).then(()=>{Oa({printer:this.targetPrinter,gcode:e,isCloud:this.isCloud,Swal:this.$swal,onCommandSent:()=>{this.isPopup&&this.$bvModal.hide("b-modal-gcodes"+this.targetPrinter.id)}})})},onSortingUpdated(e){this.sortingValue=e,this.fetchFilesAndFolders(!0)}}},Po=ko,So=(i("6f88"),Object(N["a"])(Po,xs,Ts,!1,null,"5d00d77d",null)),Do=So.exports,xo=function(){var e=this,t=e._self._c;return t("page-layout",{attrs:{"is-popup":e.isPopup},scopedSlots:e._u([{key:"topBarLeft",fn:function(){return[e.isPopup?t("a",{staticClass:"btn shadow-none icon-btn d-inline",attrs:{href:"#",title:e.$t("Go Back")},on:{click:function(t){return t.preventDefault(),e.goBack.apply(null,arguments)}}},[t("i",{staticClass:"fas fa-chevron-left"})]):e._e()]},proxy:!0},{key:"topBarRight",fn:function(){return[t("div",{staticClass:"action-panel"},[e.isCloud?t("a",{staticClass:"btn shadow-none icon-btn action-btn",attrs:{href:"#",title:e.$t("Rename file")},on:{click:function(t){return t.preventDefault(),e.renameFile.apply(null,arguments)}}},[t("i",{staticClass:"fas fa-edit"})]):e._e(),e.isCloud?t("a",{staticClass:"text-danger btn shadow-none icon-btn action-btn",attrs:{href:"#",title:e.$t("Delete file")},on:{click:function(t){return t.preventDefault(),e.deleteFile.apply(null,arguments)}}},[t("i",{staticClass:"fas fa-trash-alt"})]):e._e(),t("b-dropdown",{attrs:{right:"","no-caret":"","toggle-class":"icon-btn d-md-none"},scopedSlots:e._u([{key:"button-content",fn:function(){return[t("i",{staticClass:"fas fa-ellipsis-v"})]},proxy:!0}])},[t("cascaded-dropdown",{ref:"cascadedDropdown",attrs:{"menu-options":[{key:"renameFile",icon:"fas fa-edit",title:e.$t("Rename file"),callback:!0},{key:"deleteFile",icon:"fas fa-trash-alt",customMenuOptionClass:"text-danger",title:e.$t("Delete file"),callback:!0}]},on:{menuOptionClicked:e.onMenuOptionClicked}})],1),e.onClose?t("a",{staticClass:"btn shadow-none icon-btn d-inline",attrs:{href:"#",title:"Close"},on:{click:function(t){return t.preventDefault(),e.onClose.apply(null,arguments)}}},[t("i",{staticClass:"fas fa-times text-danger"})]):e._e()],1)]},proxy:!0},{key:"content",fn:function(){return[e.loading||e.gcodeNotFound?t("b-container",[t("b-row",[t("b-col",{staticClass:"text-center mt-5"},[e.gcodeNotFound?t("div",[t("p",[e._v(e._s(e.$t("This G-Code file doesn't exists")))])]):t("div",[t("b-spinner")],1)])],1)],1):t("b-container",{attrs:{fluid:""}},[t("b-row",[t("b-col",{attrs:{lg:e.isPopup?12:5}},[t("b-alert",{attrs:{show:e.isDeleted,variant:"warning warning-block"}},[e._v(" "+e._s(e.$t("This file is deleted and unavailable for print"))+" ")]),t("g-code-details",{attrs:{file:e.gcode,"show-print-stats":!0,"compact-view":!1}}),e.isDeleted?e._e():t("available-printers",{staticClass:"card-container available-printers",class:{"full-width":e.isPopup},attrs:{"is-popup":e.isPopup,"target-printer-id":e.targetPrinterId||e.selectedPrinterId,gcode:e.gcode,"is-cloud":e.isCloud},on:{refresh:e.onRefresh}})],1),t("b-col",{attrs:{lg:e.isPopup?12:7}},[t("div",{staticClass:"print-history",class:{"full-width":e.isPopup||e.isDeleted}},[t("h2",{staticClass:"section-title mb-3"},[e._v(e._s(e.$t("Print History")))]),e.gcode.print_set.length?t("div",e._l(e.gcode.print_set,(function(e){return t("print-history-item",{key:"print_"+e.id,staticClass:"print-item",attrs:{print:e}})})),1):t("div",[t("div",{staticClass:"card-container p-4 justify-content-center text-secondary"},[e._v(" "+e._s(e.$t("This file doesn't have any prints yet"))+" ")])])])])],1)],1),t("rename-modal",{ref:"renameModal",attrs:{item:e.gcode},on:{renamed:e.onItemRenamed}}),t("delete-confirmation-modal",{ref:"deleteConfirmationModal",attrs:{item:e.gcode},on:{deleted:e.onItemDeleted}})]},proxy:!0}])})},To=[],Io=i("9380"),Fo=i.n(Io),Ao=function(){var e=this,t=e._self._c;return t("div",[e.printersLoading||!e.gcode?t("div",{staticClass:"my-5 text-center"},[t("b-spinner")],1):t("div",{staticClass:"text-center"},[e.targetPrinterId?e._e():t("div",{staticClass:"mb-3"},[e._l(e.printers,(function(i){return t("div",{key:"printer_"+i.id,staticClass:"printer-item",class:{active:e.selectedPrinter&&i.id===e.selectedPrinter.id},on:{click:function(t){return e.selectPrinter(i)}}},[t("div",{staticClass:"selected-indicator"}),t("div",{staticClass:"printer-name truncated",attrs:{title:i.name}},[e._v(e._s(i.name))]),t("div",{staticClass:"printer-status",class:[i.isPrintable()?"text-success":"text-warning"]},[e._v(" "+e._s(i.printabilityText())+" ")])])})),e.printersLoading||e.printers.length?e._e():t("p",{staticClass:"text-center text-secondary mt-3 mb-3"},[e._v(" "+e._s(e.$t("No available printers"))+" ")])],2),t("button",{staticClass:"btn btn-primary d-inline-flex align-items-center justify-content-center",attrs:{disabled:!e.selectedPrinter||e.isSending||!e.selectedPrinter.isPrintable()},on:{click:e.onPrintClicked}},[e.isSending?t("b-spinner",{staticClass:"mr-1",attrs:{small:""}}):e._e(),e.selectedPrinter?t("div",{staticClass:"truncated"},[e._v(e._s(e.$t("Print on"))+" "+e._s(e.selectedPrinter.name))]):t("div",{staticClass:"truncated"},[e._v(e._s(e.$t("Print")))])],1)])])},$o=[],Oo={name:"AvailablePrinters",components:{},props:{isPopup:{type:Boolean,default:!1},targetPrinterId:{type:Number,required:!1,default:null},gcode:{type:Object,default:null},isCloud:{type:Boolean,default:!0}},data(){return{printers:[],selectedPrinter:null,printersLoading:!0,printerStateCheckInterval:null,printerComms:{}}},computed:{isSending(){return this.printers.some(e=>"Starting"===e.calculatedState()||"G-Code Downloading"===e.calculatedState())}},created(){this.fetchPrinters()},methods:{async fetchPrinters(){this.printersLoading=!0;const e=await oe["a"].get(le["a"].printers());if(null===e||void 0===e||!e.data)return void(this.printersLoading=!1);const t=null===e||void 0===e?void 0:e.data.map(e=>Ae(e));if(this.targetPrinterId){const e=t.find(e=>e.id===this.targetPrinterId);this.printers=[e],e.isPrintable()&&(this.selectedPrinter=e)}else this.printers=t,this.selectedPrinter=t.find(e=>e.isPrintable())||null;for(const i of this.printers)this.printerComms[i.id]=Ca.getOrCreatePrinterComm(i.id,le["a"].printerWebSocket(i.id),{onPrinterUpdateReceived:e=>{const t=this.printers.findIndex(e=>e.id===i.id);this.$set(this.printers,t,Ae(e,this.printers[t]))}}),this.printerComms[i.id].connect();this.printersLoading=!1},selectPrinter(e){e.isPrintable()?this.selectedPrinter=e:this.$swal.Reject.fire({title:this.$i18next.t("{name} isn't ready for print for one of the following reasons",{name:e.name})+":",html:`
    \n
  • ${this.$i18next.t("{name} is powered off or not connected to the Internet",{name:e.agentDisplayName()})}
  • \n
  • ${this.$i18next.t("Printer is not connected to {name}",{name:e.agentDisplayName()})}
  • \n
  • ${this.$i18next.t("Printer is currently busy")}
  • \n
`})},onPrintClicked(){var e;null!==(e=this.selectedPrinter)&&void 0!==e&&e.id&&Aa(this.gcode,this.selectedPrinter).then(()=>{Oa({printer:this.selectedPrinter,gcode:this.gcode,isCloud:this.isCloud,Swal:this.$swal,onCommandSent:()=>{this.isPopup&&this.$bvModal.hide("b-modal-gcodes"+this.selectedPrinter.id)},onPrinterStatusChanged:()=>{this.isPopup||La(this.$swal,()=>this.$emit("refresh"),this.selectedPrinter.id),this.fetchPrinters()}})})}}},No=Oo,Lo=(i("cdd3"),Object(N["a"])(No,Ao,$o,!1,null,"77186cca",null)),Mo=Lo.exports,Eo={name:"GCodeFilePage",components:{PageLayout:Ft,RenameModal:Ys,DeleteConfirmationModal:bo,availablePrinters:Mo,PrintHistoryItem:Ei,CascadedDropdown:ci,GCodeDetails:Ga},props:{isPopup:{type:Boolean,default:!1},targetPrinterId:{type:Number,default:null},onClose:{type:Function,default:null},routeParams:{type:Object,default:()=>({fileId:null,printerId:null})}},data(){return{gcode:null,printer:null,loading:!0,gcodeNotFound:!1}},computed:{isCloud(){return!this.selectedPrinterId},isDeleted(){var e;return!(null===(e=this.gcode)||void 0===e||!e.deleted)}},async created(){this.selectedPrinterId=Number(this.getRouteParam("printerId"))||null,this.selectedPrinterId&&await this.fetchPrinter(),this.gcodeId=this.getRouteParam("fileId"),this.fetchGcode()},methods:{onMenuOptionClicked(e){"renameFile"===e?this.renameFile():"deleteFile"===e&&this.deleteFile()},getRouteParam(e){return this.isPopup?this.routeParams[e]:this.$route.params[e]},goBack(){this.$emit("goBack")},async fetchPrinter(){return oe["a"].get(le["a"].printer(this.selectedPrinterId)).then(e=>{this.printer=Ae(e.data)}).catch(e=>{this.errorDialog(e,""+this.$i18next.t("Host printer for this gcode not found"))})},async fetchLocalFile(){if(!this.printerComm)return;this.loading=!0;const e=decodeURIComponent(this.gcodeId),t=e.split("/").at(-1),i=t===e?"":e.slice(0,e.length-t.length-1),n=this.printer.isAgentMoonraker()?xa:Da;n(this.printerComm,i,null).then(e=>({files:Fo()(de()(e,"files",[]),e=>e.filename==t)})).then(async e=>{var t;if(this.loading=!1,0===(null===e||void 0===e||null===(t=e.files)||void 0===t?void 0:t.length))return void(this.gcodeNotFound=!0);const i=null===e||void 0===e?void 0:e.files[0];if(this.gcode={...Ie(i),print_set:[]},i.path&&i.hash&&this.getRouteParam("printerId")){const e=i.path.replace(/^.*[\\/]/,"");try{let t=await oe["a"].get(le["a"].gcodeFiles(),{params:{resident_printer:this.getRouteParam("printerId"),safe_filename:e,agent_signature:"md5:"+i.hash}});const n=de()(t,"data.results[0]");if(n){const e=Ie(n);this.gcode.print_set=e.print_set}}catch(n){console.error(n)}}}).catch(e=>{this.gcodeNotFound=!0})},async fetchGcode(){var e,t;if(this.selectedPrinterId)return this.printerComm=Ca.getOrCreatePrinterComm(this.selectedPrinterId,le["a"].printerWebSocket(this.selectedPrinterId)),void this.printerComm.connect(this.fetchLocalFile);this.loading=!0;const i=this.getRouteParam("fileId");let n;try{n=await oe["a"].get(le["a"].gcodeFile(i))}catch(a){this.loading=!1,console.error(a)}if(null===(e=n)||void 0===e||!e.data)return this.loading=!1,void(this.gcodeNotFound=!0);n=null===(t=n)||void 0===t?void 0:t.data,this.gcode=Ie(n),this.loading=!1},renameFile(){this.$refs.renameModal.show()},onItemRenamed(e){this.gcode.filename=e},deleteFile(){this.$refs.deleteConfirmationModal.show()},onItemDeleted(){this.isPopup?this.$emit("goBack"):window.location.replace("/g_code_folders/cloud/")},onRefresh(){this.$router.go()}}},Ro=Eo,zo=(i("c0a8"),Object(N["a"])(Ro,xo,To,!1,null,"0d6b7614",null)),Bo=zo.exports,Uo=function(){var e=this,t=e._self._c;return t("div",[t("div",[t("h5",[e._v(e._s(e.$t("Serial Port"))+":")])]),t("div",[t("b-form-select",{staticClass:"form-control",attrs:{id:"connect-port"},model:{value:e.selectedPort,callback:function(t){e.selectedPort=t},expression:"selectedPort"}},e._l(e.connectionOptions.ports,(function(i){return t("b-form-select-option",{key:i,attrs:{value:i}},[e._v(" "+e._s(i)+" ")])})),1)],1),t("br"),t("div",[t("h5",[e._v(e._s(e.$t("Baudrate"))+":")])]),t("div",[t("b-form-select",{staticClass:"form-control",attrs:{id:"connect-baudrate"},model:{value:e.selectedBaudrate,callback:function(t){e.selectedBaudrate=t},expression:"selectedBaudrate"}},[t("b-form-select-option",{attrs:{value:""}},[e._v(e._s(e.$t("Auto")))]),e._l(e.connectionOptions.baudrates,(function(i){return t("b-form-select-option",{key:i,attrs:{value:i}},[e._v(" "+e._s(i)+" ")])}))],2)],1)])},jo=[],Wo={name:"ConnectPrinter",props:{connectionOptions:{type:Object,required:!0}},data(){return{selectedPort:this.connectionOptions.ports[0],selectedBaudrate:""}}},Ho=Wo,Vo=Object(N["a"])(Ho,Uo,jo,!1,null,null,null),Yo=Vo.exports;const Go="/pause_print/",Ko="/resume_print/",qo="/cancel_print/";var Jo={name:"PrintJobControlWidget",components:{WidgetTemplate:Ds,GCodeFoldersPage:Do,GCodeFilePage:Bo},props:{printer:{type:Object,required:!0},printerComm:{type:Object,required:!0},insideCard:{type:Boolean,default:!1}},data(){return{connectBtnClicked:!1,selectedGcodeId:null,savedPath:[null],printerFiles:!1}},computed:{connecting(){return this.connectBtnClicked&&this.printer.isDisconnected()},modalId(){return"b-modal-gcodes"+this.printer.id}},methods:{openObicoFiles(){this.printerFiles=!1,this.$bvModal.show(this.modalId)},openPrinterFiles(){this.printerFiles=!0,this.$bvModal.show(this.modalId)},scrollToTop(){document.querySelector("#"+this.modalId).scrollTo(0,0)},resetGcodesModal(){this.selectedGcodeId=null},onConnectClicked(){this.printerComm.passThruToPrinter({func:"get_connection_options",target:"_printer"},(e,t)=>{e?this.$swal.Toast.fire({icon:"error",title:e}):t.ports.length<1?this.$swal.Toast.fire({icon:"error",title:""+this.$i18next.t("Uh-Oh. No printer is found on the serial port.")}):this.$swal.openModalWithComponent(Yo,{connectionOptions:t},{confirmButtonText:"Connect",showCancelButton:!0,preConfirm:()=>({port:document.getElementById("connect-port").value,baudrate:document.getElementById("connect-baudrate").value})}).then(e=>{if(e.value){let t=[e.value.port,e.value.baudrate];this.printerComm.passThruToPrinter({func:"connect",target:"_printer",args:t})}})}),this.connectBtnClicked=!0,setTimeout(()=>{this.connectBtnClicked=!1},1e4)},onPauseToggled(e){this.printer.isPaused()?this.printer.alertUnacknowledged()?this.$emit("notAFailureClicked",e,!0):(this.$emit("sendPrinterAction",this.printer.id,Ko),this.printer.setTransientState("Resuming")):this.$swal.Confirm.fire({html:`If you haven't changed the default configuration, the heaters will be turned off, and the print head will be z-lifted. The reversed will be performed before the print is resumed. Learn more. `}).then(e=>{e.value&&(this.$emit("sendPrinterAction",this.printer.id,Go),this.printer.setTransientState("Pausing"))})},onCancelClicked(){this.$swal.Confirm.fire({text:""+this.$i18next.t("Once cancelled, the print can no longer be resumed.")}).then(e=>{e.value&&(this.$emit("sendPrinterAction",this.printer.id,qo),this.printer.setTransientState("Cancelling"))})}}},Zo=Jo,Qo=(i("da56"),Object(N["a"])(Zo,ys,ws,!1,null,"c7deff6e",null)),Xo=Qo.exports;const el="/resume_print/",tl="/mute_current_print/?mute_alert=true",il="/acknowledge_alert/?alert_overwrite=NOT_FAILED",nl=!0,al=!1,rl={Settings:"panel-settings",Time:"print-time",StatusTemp:"status_temp_block"};var sl={name:"PrinterCard",components:{StreamingBox:Mr,FailureDetectionGauge:Kn,DurationBlock:jr,StatusTemp:es,PrintJobControlWidget:Xo},props:{printer:{type:Object,required:!0},isProAccount:{type:Boolean,required:!0}},data(){return{section_toggles:{settings:Object(s["a"])(rl.Settings+String(this.printer.id),nl),time:Object(s["a"])(rl.Time+String(this.printer.id),al),statusTemp:Object(s["a"])(rl.StatusTemp+String(this.printer.id),nl)},webrtc:null,webcam:null}},computed:{isWatching(){return!this.printer.not_watching_reason},timeRemaining(){return this.toDuration(this.secondsLeft,this.printer.isActive())},timeTotal(){let e=null;return this.secondsPrinted&&this.secondsLeft&&(e=this.secondsPrinted+this.secondsLeft),this.toDuration(e,this.printer.isActive())},secondsLeft(){return de()(this.printer,"status.progress.printTimeLeft")},secondsPrinted(){return de()(this.printer,"status.progress.printTime")},watchForFailures(){return this.printer.watching_enabled},pauseOnFailure(){return"PAUSE"==this.printer.action_on_failure},hasCurrentPrintFilename(){return!(!this.printer.current_print||!this.printer.current_print.filename)},actionsProps(){return{printer:this.printer}},progressPct(){return de()(this.printer,"status.progress.completion")||0},tempProps(){let e=void 0!=de()(this.printer,"settings.temp_profiles");const t={};for(const[i,n]of Object.entries(de()(this.printer,"status.temperatures",{})))Boolean(n.actual)&&!isNaN(n.actual)&&(t[i]=n);return{temperatures:t,show:Object.keys(t).length>0,isPluginVersionSufficient:e}},statusText(){return this.printer.calculatedState()||"Offline"},statusClass(){return this.printer.hasError()?"text-danger":this.printer.isOffline()||this.printer.isDisconnected()||this.printer.inTransientState()?"text-warning":"text-success"}},created(){this.printerComm=Ca.getOrCreatePrinterComm(this.printer.id,le["a"].printerWebSocket(this.printer.id),{onPrinterUpdateReceived:e=>{var t,i,n;(this.$emit("PrinterUpdated",this.updatedPrinter(e)),!this.webrtc&&((null===e||void 0===e||null===(t=e.settings)||void 0===t?void 0:t.webcams)||[]).length>0)&&(this.webcam=null===(i=e.settings)||void 0===i||null===(n=i.webcams)||void 0===n?void 0:n.find(e=>!0===e.is_primary_camera),this.webrtc=Dr(this.webcam.stream_mode,this.webcam.stream_id),this.webrtc.openForPrinter(this.printer.id,this.printer.auth_token))},onStatusReceived:e=>{const t=e.status||e.octoprint_data;this.$emit("PrinterUpdated",this.updatedPrinter({status:t}))}}),this.printerComm.connect()},methods:{updatedPrinter(e){return Ae(e,this.printer)},settingsUrl(){return`/printers/${this.printer.id}/`},octoPrintTunnelUrl(){return`/tunnels/${this.printer.id}/`},onSettingsToggleClicked(){this.section_toggles.settings=!this.section_toggles.settings,Object(s["b"])(rl.Settings+String(this.printer.id),this.section_toggles.settings)},onTimeToggleClicked(){this.section_toggles.time=!this.section_toggles.time,Object(s["b"])(rl.Time+String(this.printer.id),this.section_toggles.time)},onStatusTempToggleClicked(){this.section_toggles.statusTemp=!this.section_toggles.statusTemp,Object(s["b"])(rl.StatusTemp+String(this.printer.id),this.section_toggles.statusTemp)},onNotAFailureClicked(e,t){this.$swal.Confirm.fire({title:""+this.$i18next.t("Noted!"),html:`

${this.$i18next.t("Do you want to mute failure detection on for this print?")}

${this.$i18next.t("If you select 'Mute', failure detection will be turned off for this print, but will be automatically turned on for your next print.")}`,confirmButtonText:""+this.$i18next.t("Mute"),cancelButtonText:""+this.$i18next.t("Cancel")}).then(e=>{e.isConfirmed&&setTimeout(()=>{this.sendPrinterAction(this.printer.id,tl)},1e3),t?(this.printer.setTransientState("Resuming"),this.sendPrinterAction(this.printer.id,el)):this.sendPrinterAction(this.printer.id,il)}),e.preventDefault()},onWatchForFailuresToggled(){this.printer.watching_enabled=!this.printer.watching_enabled,this.updatePrinter(this.printer)},onPauseOnFailureToggled(){this.printer.action_on_failure="PAUSE"==this.printer.action_on_failure?"NONE":"PAUSE",this.updatePrinter(this.printer)},onTempEditClicked(e,t){let i,n=de()(this.printer,"settings.temp_profiles",[]),a=350;e.search(/bed|chamber/)>-1&&(a=140),i=e.search(/tool/)>-1?n.map(e=>({name:e.name,target:e["extruder"]})):n.map(t=>({name:t.name,target:t[e]})),this.$swal.openModalWithComponent(ps,{presets:i,maxTemp:a,curTarget:t.target},{title:"Set "+Object(Pn["f"])(e)+" Temperature",confirmButtonText:"Confirm",showCancelButton:!0,preConfirm:()=>({target:parseInt(document.getElementById("target-temp").value)})}).then(t=>{if(t.value){let i=t.value.target;this.printerComm.passThruToPrinter({func:"set_temperature",target:"_printer",args:[e,i]})}})},updatePrinter(e){return oe["a"].patch(le["a"].printer(e.id),{watching_enabled:e.watching_enabled,action_on_failure:e.action_on_failure}).then(e=>{if(!e.data.succeeded)throw e;this.$emit("PrinterUpdated",Ae(e.data.printer,this.printer))}).catch(e=>{this.errorDialog(e,""+this.$i18next.t("Failed to update printer"))})},sendPrinterAction(e,t){oe["a"].post(le["a"].printerAction(e,t))},shouldVideoBeFull(e){let t=de()(e,"pic.img_url"),i=e.alertUnacknowledged()&&t;return!i},toDuration(e,t){if(null==e||0==e)return{valid:!1,printing:Boolean(t)};var i=H.a.duration(e,"seconds"),n=Math.floor(i.asHours()),a=i.minutes(),r=i.seconds();return{valid:!0,printing:Boolean(t),hours:n,showHours:n>0,minutes:a,showMinutes:n>0||a>0,seconds:r,showSeconds:0==n&&0==a}},onSharePrinter(){this.$swal.openModalWithComponent(bs,{isProAccount:this.isProAccount,printer:this.printer},{confirmButtonText:"Close"})}}},ol=sl,ll=(i("7254"),Object(N["a"])(ol,fr,gr,!1,null,"c6334924",null)),cl=ll.exports;const dl="printersSorting",ul={options:[{title:""+G["a"].t("Name"),key:"name"},{title:""+G["a"].t("Created at"),key:"created_at"}],default:{sorting:"created_at",direction:"desc"}},pl="printersFiltering",hl={status:{title:""+G["a"].t("Print Status"),queryParam:"status",values:[{key:"none",title:""+G["a"].t("All Printers")},{key:"online",title:""+G["a"].t("Online Printers")},{key:"active",title:""+G["a"].t("Active Printers")}],default:"none"}};var ml={name:"PrinterListPage",components:{PrinterCard:cl,PageLayout:Ft,CascadedDropdown:ci,SortingDropdown:vi,FilteringDropdown:Si,ActiveFilterNotice:Ai},data:function(){return{user:null,printers:[],loading:!0,isEnt:!1,archivedPrinterNum:0,shouldShowArchiveWarning:!1,sortingLocalStoragePrefix:dl,sortingOptions:ul,sortingValue:mi(dl,ul),filterLocalStoragePrefix:pl,filterOptions:hl,filterValues:_i(pl,hl)}},computed:{dhBadgeNum(){return this.user&&this.user.is_dh_unlimited?"∞":Math.round(this.user.dh_balance)},mobileMenuOptions(){const e=[{key:"sorting",icon:"fas fa-sort-amount-down",title:""+this.$i18next.t("Sort"),expandable:!0},{key:"filtering",icon:"fas fa-filter",title:""+this.$i18next.t("Filter"),expandable:!0}];return this.isEnt&&e.unshift({key:"dh",svgIcon:"svg-hour-glass",title:""+this.$i18next.t("{name} AI Detection Hours",{name:this.dhBadgeNum}),href:"/user_preferences/dh/"}),e},visiblePrinters(){let e=this.printers;switch(this.filterValues.status){case"online":e=e.filter(e=>!e.isDisconnected());break;case"active":e=e.filter(e=>e.isActive());break;case"none":break}return"created_at"===this.sortingValue.sorting.key?e=dt()(e,e=>e.createdAt()):"name"===this.sortingValue.sorting.key&&(e=dt()(e,e=>e.name)),"desc"===this.sortingValue.direction.key&&e.reverse(),e},hiddenPrinterCount(){return this.printers.length-this.visiblePrinters.length}},created(){const{IS_ENT:e}=Object(Q["d"])();this.isEnt=!!e,this.user=Object(Q["f"])(),this.fetchPrinters()},methods:{fetchPrinters(){return this.loading=!0,oe["a"].get(le["a"].printers(),{params:{with_archived:!0}}).then(e=>{const t=e.data;!Object(s["a"])("single-printer-redirect-enabled",!0)||1!=t.length||t[0].archived_at?(this.loading=!1,e.data.forEach(e=>{e.archived_at?this.archivedPrinterNum+=1:this.insertPrinter(Ae(e))}),this.shouldShowArchiveWarningFunc()):window.location.href=`/printers/${t[0].id}/control/`})},insertPrinter(e){this.printers.push(e)},onPrinterUpdated(e){let t=this.printers.findIndex(t=>t.id==e.id);t<0||this.$set(this.printers,t,e)},resetGcodesModal(){this.selectedGcodeId=null,this.targetPrinter=null},onSortingUpdated(e){this.sortingValue=e},onFilterUpdated(e,t){this.filterValues[e]=t},resetFilters(){for(const e of Object.keys(this.filterValues))this.filterValues[e]="none",Object(s["b"])(`${pl}-${e}`,"none")},handleNeverShowAgain(){this.$swal.Prompt.fire({title:""+this.$i18next.t("Are you sure?"),html:`

${this.$i18next.t("You can always view your archived printers in by navigating to the General tab within Preferences.")}

`,showCancelButton:!0,confirmButtonText:""+this.$i18next.t("Yes"),cancelButtonText:""+this.$i18next.t("No")}).then(e=>{e.isConfirmed&&(localStorage.setItem("shouldNeverShowArchived",JSON.stringify(!0)),this.shouldShowArchiveWarning=!1)})},shouldShowArchiveWarningFunc(){const e=localStorage.getItem("shouldNeverShowArchived");!0===JSON.parse(e)?this.shouldShowArchiveWarning=!1:this.shouldShowArchiveWarning=this.archivedPrinterNum>0}}},fl=ml,gl=(i("11cb"),i("45c5"),Object(N["a"])(fl,hr,mr,!1,null,"fb278c80",null)),vl=gl.exports,bl=function(){var e=this,t=e._self._c;return t("div",[t("nav-bar",{attrs:{"view-name":"printer_shared"}}),t("div",{staticClass:"row justify-content-center"},[e.loading?t("b-spinner",{staticClass:"mt-5",attrs:{label:"Loading..."}}):e._e(),e.printer?t("div",{staticClass:"col-sm-12 col-lg-6 printer-card"},[t("div",{staticClass:"card"},[t("div",{staticClass:"card-header"},[t("div",[e._v(e._s(e.printer.name))])]),t("streaming-box",{attrs:{printer:e.printer,webrtc:e.webrtc,autoplay:!0}}),t("div",{staticClass:"p-3 p-md-5"},[t("p",{staticClass:"text-center"},[e._v(" "+e._s(e.$t("You are viewing an awesome 3D print your friend shared specifically with you on"))+" ")]),t("a",{attrs:{href:"https://www.obico.io/"}},[t("svg",{staticClass:"logo-img",attrs:{width:"100%"}},[t("use",{attrs:{href:"#svg-logo-full"}})])]),t("hr"),t("br"),t("br"),t("p",{staticClass:"text-center"},[e._v(" "+e._s(e.$syndicateText.brandName)+" "+e._s(e.$t("lets you monitor and control your printer from anywhere, on your phone."))+" ")]),t("a",{staticClass:"btn btn-block btn-primary",attrs:{href:"/accounts/signup/"}},[e._v(e._s(e.$t("Sign up for a free {brandName} account",{brandName:e.$syndicateText.brandName})))])])],1)]):e._e()],1)],1)},yl=[],wl=function(){var e=this,t=e._self._c;return t("div",[e.inMobileWebView?e._e():t("b-navbar",{class:{"navbar-dark":e.theme===e.themes.Dark,"navbar-light":e.theme===e.themes.Light},attrs:{toggleable:"xl"}},[t("b-container",{staticClass:"p-0"},[t("b-navbar-brand",{attrs:{href:"/"}},[t("SyndicateAwareSVG",{attrs:{href:"#svg-logo-compact",width:"100",height:"30"}})],1),t("b-navbar-toggle",{attrs:{target:"navbar-toggle-collapse"}},[t("span",{staticClass:"navbar-toggler-icon"})]),t("b-collapse",{attrs:{id:"navbar-toggle-collapse","is-nav":""},model:{value:e.showMainMenu,callback:function(t){e.showMainMenu=t},expression:"showMainMenu"}},[t("b-navbar-nav",[e.user?t("b-nav-item",{class:{active:e.viewName.includes("printers")},attrs:{href:"/printers/"}},[e._v(e._s(e.$t("Printers")))]):e._e(),e.user?t("b-nav-item",{class:{active:e.viewName.includes("print_history")},attrs:{href:"/print_history/"}},[e._v(e._s(e.$t("Print History")))]):e._e(),e.user?t("b-nav-item",{class:{active:e.viewName.includes("g_code_folders")},attrs:{href:"/g_code_folders/cloud/"}},[e._v(e._s(e.$t("G-Codes")))]):e._e(),e.isEnt&&!e.user?t("b-nav-item",{staticClass:"glowing",class:{active:"publictimelapse_list"===e.viewName},attrs:{href:"/ent_pub/publictimelapses/"}},[e._v(e._s(e.$t("Spaghetti Gallery")))]):e._e(),e.isEnt?t("b-nav-item",{class:{active:"pricing"===e.viewName},attrs:{href:"/ent_pub/pricing/"}},[e._v(e._s(e.$t("Pricing")))]):e._e(),t("b-nav-item",{attrs:{href:"https://www.obico.io/help/"}},[e._v(e._s(e.$t("Help")))]),t("b-nav-item",{attrs:{href:"https://obico.io/discord"}},[e._v(e._s(e.$t("Community")))])],1),t("b-navbar-nav",{staticClass:"ml-auto"},[e.user?e._e():t("b-nav-item",{attrs:{href:"/accounts/login/"}},[e._v(e._s(e.$t("SIGN IN")))]),!e.user&&e.allowSignUp?t("b-nav-item",{attrs:{href:"/accounts/signup/"}},[e._v(e._s(e.$t("SIGN UP")))]):e._e(),e.user?t("b-nav-item-dropdown",{ref:"accountDropdown",attrs:{right:"","toggle-class":"user-menu",text:e.user.first_name||e.user.email}},[t("b-dropdown-item",{attrs:{href:"/user_preferences/"}},[t("i",{staticClass:"fas fa-cog mr-2"}),e._v(e._s(e.$t("Preferences"))+" ")]),t("b-dropdown-divider"),t("b-dropdown-item",{attrs:{href:"/accounts/logout/"}},[t("i",{staticClass:"fas fa-sign-out-alt mr-2"}),e._v(e._s(e.$t("Log out"))+" ")])],1):e._e()],1)],1)],1)],1)],1)},_l=[],Cl={name:"NavBar",components:{},props:{viewName:{default(){return""},type:String}},data(){return{user:null,allowSignUp:!1,isEnt:!1,themes:Hn["a"],showMainMenu:!1}},computed:{inMobileWebView(){return Object(Q["a"])()},theme(){return Object(S["a"])()}},created(){const{ACCOUNT_ALLOW_SIGN_UP:e,IS_ENT:t}=Object(Q["d"])();this.allowSignUp=!!e,this.isEnt=!!t,this.user=Object(Q["f"])()},methods:{hideDropdowns(){this.showMainMenu=!1;const e=this.$refs.accountDropdown;e&&e.hide()}}},kl=Cl,Pl=(i("0585"),Object(N["a"])(kl,wl,_l,!1,null,"371280d8",null)),Sl=Pl.exports,Dl={name:"SharedPrinterPage",components:{StreamingBox:Mr,NavBar:Sl},data:function(){return{printer:null,shareToken:null,videoAvailable:{},loading:!0,isWebrtcOpened:!1,webrtc:Dr()}},created(){this.shareToken=it()(window.location.pathname,"/").slice(-2,-1).pop(),this.printerComm=Ca.getOrCreatePrinterComm(this.shareToken,le["a"].printerSharedWebSocket(this.shareToken),{onPrinterUpdateReceived:e=>{this.printer=Ae(e,this.printer),this.loading=!1,this.isWebrtcOpened||(this.webrtc.openForShareToken(this.shareToken),this.isWebrtcOpened=!0)}}),this.printerComm.connect()}},xl=Dl,Tl=(i("9da9"),Object(N["a"])(xl,bl,yl,!1,null,"1dd34976",null)),Il=Tl.exports,Fl=function(){var e=this,t=e._self._c;return t("page-layout",{scopedSlots:e._u([{key:"content",fn:function(){return[t("b-container",[t("b-row",{staticClass:"justify-content-center"},[t("b-col",{attrs:{lg:"8"}},[e.printer?t("div",{staticClass:"surface with-loading-animation full-on-mobile"},[t("section",{staticClass:"settings"},[t("h2",{staticClass:"section-title"},[e._v(e._s(e.$t("Settings")))]),t("div",{staticClass:"form-group mb-4 mt-4"},[t("div",{staticClass:"form-label text-muted mb-2"},[e._v(e._s(e.$t("Give your shiny new printer a name")))]),t("saving-animation",{attrs:{errors:e.errorMessages.name,saving:e.saving.name}},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.printer.name,expression:"printer.name"}],staticClass:"form-control field_required",attrs:{id:"id_name",type:"text",name:"name",maxlength:"200",placeholder:"",required:"required"},domProps:{value:e.printer.name},on:{input:function(t){t.target.composing||e.$set(e.printer,"name",t.target.value)}}})])],1),t("div",{staticClass:"failure-notification"},[t("div",{staticClass:"form-group mt-4 mb-4"},[t("div",{staticClass:"form-label text-muted"},[e._v(e._s(e.$t("When a potential failure is detected"))+":")]),t("saving-animation",{attrs:{errors:e.errorMessages.action_on_failure_NONE,saving:e.saving.action_on_failure_NONE}},[t("div",{staticClass:"custom-control custom-radio mt-1 radio"},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.printer.action_on_failure,expression:"printer.action_on_failure"}],staticClass:"custom-control-input field_required",attrs:{id:"id_action_on_failure_0",type:"radio",name:"action_on_failure",value:"NONE"},domProps:{checked:e._q(e.printer.action_on_failure,"NONE")},on:{change:[function(t){return e.$set(e.printer,"action_on_failure","NONE")},function(t){return e.updateSetting("action_on_failure")}]}}),t("label",{staticClass:"custom-control-label",attrs:{for:"id_action_on_failure_0"}},[e._v(e._s(e.$t("Just notify me")))])])]),t("saving-animation",{attrs:{errors:e.errorMessages.action_on_failure_PAUSE,saving:e.saving.action_on_failure_PAUSE}},[t("div",{staticClass:"custom-control custom-radio mt-1 radio",attrs:{id:"action_on_failure_PAUSE"}},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.printer.action_on_failure,expression:"printer.action_on_failure"}],staticClass:"custom-control-input field_required",attrs:{id:"id_action_on_failure_1",type:"radio",name:"action_on_failure",value:"PAUSE"},domProps:{checked:e._q(e.printer.action_on_failure,"PAUSE")},on:{change:[function(t){return e.$set(e.printer,"action_on_failure","PAUSE")},function(t){return e.updateSetting("action_on_failure")}]}}),t("label",{staticClass:"custom-control-label",attrs:{for:"id_action_on_failure_1"}},[e._v(e._s(e.$t("Pause the printer and notify me")))])])])],1)])]),t("section",{staticClass:"mt-5"},[t("h2",{staticClass:"section-title"},[e._v(e._s(e.$t("Failure Detection")))]),t("div",{staticClass:"card-body p-0 pt-3"},[t("p",{staticClass:"text-warning"},[t("i",{staticClass:"fas fa-exclamation-triangle"}),e._v(" "+e._s(e.$t("If you are not sure about the settings below, leave the default values to minimize surprises."))+" ")]),t("div",{staticClass:"form-group mt-4"},[t("div",{staticClass:"form-label text-muted"},[e._v(e._s(e.$t("When print is paused,")))]),t("saving-animation",{attrs:{errors:e.errorMessages.tools_off_on_pause,saving:e.saving.tools_off_on_pause}},[t("div",{staticClass:"custom-control custom-checkbox mt-2 checkbox"},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.printer.tools_off_on_pause,expression:"printer.tools_off_on_pause"}],staticClass:"custom-control-input",attrs:{id:"id_tools_off_on_pause",type:"checkbox",name:"tools_off_on_pause"},domProps:{checked:Array.isArray(e.printer.tools_off_on_pause)?e._i(e.printer.tools_off_on_pause,null)>-1:e.printer.tools_off_on_pause},on:{change:[function(t){var i=e.printer.tools_off_on_pause,n=t.target,a=!!n.checked;if(Array.isArray(i)){var r=null,s=e._i(i,r);n.checked?s<0&&e.$set(e.printer,"tools_off_on_pause",i.concat([r])):s>-1&&e.$set(e.printer,"tools_off_on_pause",i.slice(0,s).concat(i.slice(s+1)))}else e.$set(e.printer,"tools_off_on_pause",a)},function(t){return e.updateSetting("tools_off_on_pause")}]}}),t("label",{staticClass:"custom-control-label",attrs:{for:"id_tools_off_on_pause"}},[e._v(" "+e._s(e.$t("Turn off hotend heater(s)"))+" ")])])]),t("saving-animation",{attrs:{errors:e.errorMessages.bed_off_on_pause,saving:e.saving.bed_off_on_pause}},[t("div",{staticClass:"custom-control custom-checkbox mt-2 checkbox"},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.printer.bed_off_on_pause,expression:"printer.bed_off_on_pause"}],staticClass:"custom-control-input",attrs:{id:"id_bed_off_on_pause",type:"checkbox",name:"bed_off_on_pause"},domProps:{checked:Array.isArray(e.printer.bed_off_on_pause)?e._i(e.printer.bed_off_on_pause,null)>-1:e.printer.bed_off_on_pause},on:{change:[function(t){var i=e.printer.bed_off_on_pause,n=t.target,a=!!n.checked;if(Array.isArray(i)){var r=null,s=e._i(i,r);n.checked?s<0&&e.$set(e.printer,"bed_off_on_pause",i.concat([r])):s>-1&&e.$set(e.printer,"bed_off_on_pause",i.slice(0,s).concat(i.slice(s+1)))}else e.$set(e.printer,"bed_off_on_pause",a)},function(t){return e.updateSetting("bed_off_on_pause")}]}}),t("label",{staticClass:"custom-control-label",attrs:{for:"id_bed_off_on_pause"}},[e._v(" "+e._s(e.$t("Turn off bed heater"))+" ")])])]),t("saving-animation",{staticClass:"mobile-full-width",attrs:{errors:e.errorMessages.retract_on_pause,saving:e.saving.retract_on_pause}},[t("div",{staticClass:"form-inline my-1 checkbox-with-input"},[t("div",{staticClass:"custom-control custom-checkbox"},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.retractFilamentByEnabled,expression:"retractFilamentByEnabled"}],staticClass:"custom-control-input",attrs:{id:"retract-checkbox",type:"checkbox"},domProps:{checked:Array.isArray(e.retractFilamentByEnabled)?e._i(e.retractFilamentByEnabled,null)>-1:e.retractFilamentByEnabled},on:{change:function(t){var i=e.retractFilamentByEnabled,n=t.target,a=!!n.checked;if(Array.isArray(i)){var r=null,s=e._i(i,r);n.checked?s<0&&(e.retractFilamentByEnabled=i.concat([r])):s>-1&&(e.retractFilamentByEnabled=i.slice(0,s).concat(i.slice(s+1)))}else e.retractFilamentByEnabled=a}}}),t("label",{staticClass:"custom-control-label",attrs:{for:"retract-checkbox"}},[e._v(e._s(e.$t("Retract filament by")))])]),t("number-input",{staticClass:"wrappable-field",attrs:{step:.5,disable:!e.retractFilamentByEnabled},model:{value:e.retractOnPause,callback:function(t){e.retractOnPause=t},expression:"retractOnPause"}})],1)]),t("saving-animation",{staticClass:"mobile-full-width",attrs:{errors:e.errorMessages.lift_z_on_pause,saving:e.saving.lift_z_on_pause}},[t("div",{staticClass:"form-inline my-1 checkbox-with-input"},[t("div",{staticClass:"custom-control custom-checkbox"},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.liftExtruderByEnabled,expression:"liftExtruderByEnabled"}],staticClass:"custom-control-input",attrs:{id:"lift-z-checkbox",type:"checkbox"},domProps:{checked:Array.isArray(e.liftExtruderByEnabled)?e._i(e.liftExtruderByEnabled,null)>-1:e.liftExtruderByEnabled},on:{change:function(t){var i=e.liftExtruderByEnabled,n=t.target,a=!!n.checked;if(Array.isArray(i)){var r=null,s=e._i(i,r);n.checked?s<0&&(e.liftExtruderByEnabled=i.concat([r])):s>-1&&(e.liftExtruderByEnabled=i.slice(0,s).concat(i.slice(s+1)))}else e.liftExtruderByEnabled=a}}}),t("label",{staticClass:"custom-control-label",attrs:{for:"lift-z-checkbox"}},[e._v(e._s(e.$t("Lift extruder along Z axis by")))])]),t("number-input",{staticClass:"wrappable-field",attrs:{step:.5,disable:!e.liftExtruderByEnabled},model:{value:e.liftExtruderBy,callback:function(t){e.liftExtruderBy=t},expression:"liftExtruderBy"}})],1)])],1),t("div",{staticClass:"form-group sensitivity my-4"},[t("div",{staticClass:"form-label text-muted"},[e._v(e._s(e.$t("AI failure detection sensitivity")))]),t("saving-animation",{attrs:{errors:e.errorMessages.detective_sensitivity,saving:e.saving.detective_sensitivity}},[t("div",{staticClass:"my-2 sensitivity-slider"},[t("vue-slider",{attrs:{lazy:!0,min:.8,max:1.2,interval:.05,"tooltip-formatter":e.sensitivityTooltipFormatter},model:{value:e.detectiveSensitivity,callback:function(t){e.detectiveSensitivity=t},expression:"detectiveSensitivity"}})],1)]),"Low"===e.sensitivityTooltipFormatter(e.printer.detective_sensitivity)?t("div",[e._v(" "+e._s(e.$t("Low - I don't want a lot of false alarms. Only alert me when you are absolutely sure."))+" ")]):"Medium"===e.sensitivityTooltipFormatter(e.printer.detective_sensitivity)?t("div",[e._v(" "+e._s(e.$t("Medium - A few false alarms won't bother me. But some well-disguised spaghetti will be missed."))+" ")]):t("div",[e._v(" "+e._s(e.$t("High - Hit me with all the false alarms. I want to catch as many failures as possible."))+" ")])],1)])]),t("section",{staticClass:"mt-5"},[t("h2",{staticClass:"section-title"},[e._v(e._s(e.$t("Time-lapse")))]),e.timelapseOnFinishEnabled&&e.timelapseOnCancelEnabled?e._e():t("p",{staticClass:"text-warning"},[t("i",{staticClass:"fas fa-exclamation-triangle"}),t("i18next",{attrs:{translation:e.$t("Focused Feedback won't be available when time-lapse recording is turned off. You won't be able to {localizedDom}")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("a",{attrs:{href:e.getDocUrl("/user-guides/how-does-credits-work/")}},[e._v(e._s(e.$t("help us get better while earning AI Detection Hours for yourself")))])]},proxy:!0}],null,!1,2529399454)})],1),t("div",{staticClass:"form-group mt-4"},[t("saving-animation",{staticClass:"mobile-full-width",attrs:{errors:e.errorMessages.min_timelapse_secs_on_finish,saving:e.saving.min_timelapse_secs_on_finish}},[t("div",{staticClass:"form-inline my-1 checkbox-with-input"},[t("div",{staticClass:"custom-control custom-checkbox"},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.timelapseOnFinishEnabled,expression:"timelapseOnFinishEnabled"}],staticClass:"custom-control-input",attrs:{id:"timelapseOnFinishEnabled",type:"checkbox"},domProps:{checked:Array.isArray(e.timelapseOnFinishEnabled)?e._i(e.timelapseOnFinishEnabled,null)>-1:e.timelapseOnFinishEnabled},on:{change:function(t){var i=e.timelapseOnFinishEnabled,n=t.target,a=!!n.checked;if(Array.isArray(i)){var r=null,s=e._i(i,r);n.checked?s<0&&(e.timelapseOnFinishEnabled=i.concat([r])):s>-1&&(e.timelapseOnFinishEnabled=i.slice(0,s).concat(i.slice(s+1)))}else e.timelapseOnFinishEnabled=a}}}),t("label",{staticClass:"custom-control-label",attrs:{for:"timelapseOnFinishEnabled"}},[e._v(e._s(e.$t("Record time-lapse when a print finishes successfully.")))])])]),e.timelapseOnFinishEnabled?t("div",{staticClass:"form-inline my-1 checkbox-with-input"},[t("div",{staticClass:"custom-control custom-checkbox"},[e._v(" "+e._s(e.$t("Skip if the print is finished in less than"))+" ")]),t("number-input",{staticClass:"wrappable-field",attrs:{step:5,unit:"minutes"},model:{value:e.minTimelapseMinutesOnFinish,callback:function(t){e.minTimelapseMinutesOnFinish=t},expression:"minTimelapseMinutesOnFinish"}})],1):e._e()]),t("saving-animation",{staticClass:"mobile-full-width",attrs:{errors:e.errorMessages.min_timelapse_secs_on_cancel,saving:e.saving.min_timelapse_secs_on_cancel}},[t("div",{staticClass:"form-inline mt-3 mb-1 checkbox-with-input"},[t("div",{staticClass:"custom-control custom-checkbox"},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.timelapseOnCancelEnabled,expression:"timelapseOnCancelEnabled"}],staticClass:"custom-control-input",attrs:{id:"timelapseOnCancelEnabled",type:"checkbox"},domProps:{checked:Array.isArray(e.timelapseOnCancelEnabled)?e._i(e.timelapseOnCancelEnabled,null)>-1:e.timelapseOnCancelEnabled},on:{change:function(t){var i=e.timelapseOnCancelEnabled,n=t.target,a=!!n.checked;if(Array.isArray(i)){var r=null,s=e._i(i,r);n.checked?s<0&&(e.timelapseOnCancelEnabled=i.concat([r])):s>-1&&(e.timelapseOnCancelEnabled=i.slice(0,s).concat(i.slice(s+1)))}else e.timelapseOnCancelEnabled=a}}}),t("label",{staticClass:"custom-control-label",attrs:{for:"timelapseOnCancelEnabled"}},[e._v(e._s(e.$t("Record time-lapse when a print is cancelled.")))])])]),e.timelapseOnCancelEnabled?t("div",{staticClass:"form-inline my-1 checkbox-with-input"},[t("div",{staticClass:"custom-control custom-checkbox"},[e._v(" "+e._s(e.$t("Skip if the print is cancelled in less than"))+" ")]),t("number-input",{staticClass:"wrappable-field",attrs:{step:5,unit:"minutes"},model:{value:e.minTimelapseMinutesOnCancel,callback:function(t){e.minTimelapseMinutesOnCancel=t},expression:"minTimelapseMinutesOnCancel"}})],1):e._e()])],1)]),t("section",{staticClass:"danger mt-5"},[t("h2",{staticClass:"section-title"},[e._v(e._s(e.$t("Danger Zone")))]),t("div",{staticClass:"mt-4"},[t("a",{staticClass:"btn btn-outline-secondary",attrs:{href:e.printerWizardUrl}},[e._v(" "+e._s(e.$t("Re-Link Printer"))+" ")]),t("div",{staticClass:"text-muted mt-1"},[t("small",[t("i18next",{attrs:{translation:e.$t("If your printer is always showing as 'offline', and you have gone through {localizedDom}, you can try to re-link printer as the last resort.")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("a",{attrs:{href:e.getDocUrl("/user-guides/troubleshoot-server-connection-issues/")}},[e._v(e._s(e.$t("all the trouble-shooting steps")))])]},proxy:!0}])})],1)])]),e.isEnt?t("div",{staticClass:"mt-4"},[t("button",{staticClass:"btn btn-outline-warning",on:{click:e.archivePrinter}},[e._v(" "+e._s(e.$t("Archive Printer"))+" ")]),t("div",{staticClass:"text-muted mt-1"},[t("small",[t("i18next",{attrs:{translation:e.$t("Archived printers are not counted toward your subscription plan. You won't see them in the app either. Go to {localizedDom} to find all archived printers and/or un-archive them.")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("a",{attrs:{href:"/ent/printers/archived/"}},[e._v(e._s(e.$t("this page")))])]},proxy:!0}],null,!1,2102701858)})],1)])]):e._e(),t("div",{staticClass:"mt-4"},[t("button",{staticClass:"btn btn-outline-danger",on:{click:e.deletePrinter}},[e._v(" "+e._s(e.$t("Delete Printer"))+" ")]),t("div",{staticClass:"text-muted mt-1"},[t("small",[e._v(e._s(e.$t("Bye-bye printer.")))])])])])]):t("loading-placeholder")],1)],1)],1)]},proxy:!0}])})},Al=[],$l=i("4971"),Ol=i.n($l),Nl=i("847e"),Ll=function(){var e=this,t=e._self._c;return t("div",{staticClass:"input-group input-group-sm input-wrapper"},[t("div",{staticClass:"input-group-prepend"},[t("button",{staticClass:"btn btn-outline-secondary control-button",attrs:{type:"button",disabled:e.disable},on:{click:function(t){e.inputValue=e.inputValue>0?Math.round(10*(e.inputValue-e.step))/10:0,e.$emit("input",e.inputValue)}}},[e._v(" ↓ ")])]),t("input",{staticClass:"form-control text-center field_required",style:{opacity:e.disable?.3:1},attrs:{type:"text",disabled:"","aria-describedby":"basic-addon1"},domProps:{value:e.inputValue+" "+e.unit}}),t("div",{staticClass:"input-group-append"},[t("button",{staticClass:"btn btn-outline-secondary control-button",attrs:{type:"button",disabled:e.disable},on:{click:function(t){e.inputValue=Math.round(10*(e.inputValue+e.step))/10,e.$emit("input",e.inputValue)}}},[e._v(" ↑ ")])])])},Ml=[],El={name:"NumberInput",props:{value:{type:Number,default:0},step:{type:Number,default:.5},disable:{type:Boolean,default:!1},unit:{type:String,default:"mm"}},data(){return{inputValue:this.value}},watch:{value(e){this.inputValue=e}}},Rl=El,zl=(i("587d"),Object(N["a"])(Rl,Ll,Ml,!1,null,"66233dc0",null)),Bl=zl.exports,Ul={components:{SavingAnimation:Nl["a"],NumberInput:Bl,PageLayout:Ft,VueSlider:Ol.a},data(){return{isEnt:!1,printer:null,printerId:"",saving:{},errorMessages:{},delayedSubmit:{name:{delay:1e3,timeoutId:null},retract_on_pause:{delay:1e3,timeoutId:null},lift_z_on_pause:{delay:1e3,timeoutId:null},min_timelapse_secs_on_finish:{delay:1e3,timeoutId:null},min_timelapse_secs_on_cancel:{delay:1e3,timeoutId:null}}}},computed:{retractFilamentByEnabled:{get(){return this.printer.retract_on_pause>0},set(e){this.printer.retract_on_pause=e?6.5:0}},retractOnPause:{get(){return this.printer?this.printer.retract_on_pause:void 0},set(e){this.printer&&(this.printer.retract_on_pause=e)}},liftExtruderByEnabled:{get(){return this.printer.lift_z_on_pause>0},set(e){this.printer.lift_z_on_pause=e?2.5:0}},liftExtruderBy:{get(){return this.printer?this.printer.lift_z_on_pause:void 0},set(e){this.printer&&(this.printer.lift_z_on_pause=e)}},timelapseOnFinishEnabled:{get(){return this.printer.min_timelapse_secs_on_finish>=0},set(e){this.printer.min_timelapse_secs_on_finish=e?600:-1}},minTimelapseMinutesOnFinish:{get(){return this.printer?this.printer.min_timelapse_secs_on_finish/60:void 0},set(e){this.printer&&(this.printer.min_timelapse_secs_on_finish=60*e)}},timelapseOnCancelEnabled:{get(){return this.printer.min_timelapse_secs_on_cancel>=0},set(e){this.printer.min_timelapse_secs_on_cancel=e?300:-1}},minTimelapseMinutesOnCancel:{get(){return this.printer?this.printer.min_timelapse_secs_on_cancel/60:void 0},set(e){this.printer&&(this.printer.min_timelapse_secs_on_cancel=60*e)}},printerWizardUrl(){return le["a"].printerWizard(this.printer.id)},printerName:{get:function(){return this.printer?this.printer.name:void 0},set:function(e){this.printer.name=e}},detectiveSensitivity:{get(){return this.printer.detective_sensitivity},set(e){this.printer.detective_sensitivity=e,this.updateSetting("detective_sensitivity")}}},watch:{printerName:function(e,t){void 0!==t&&this.updateSetting("name")},retractOnPause:function(e,t){void 0!==t&&this.changeRetractOnPause(e)},liftExtruderBy:function(e,t){void 0!==t&&this.changeLiftExtruderBy(e)},minTimelapseMinutesOnFinish:function(e,t){void 0!==t&&this.updateSetting("min_timelapse_secs_on_finish")},minTimelapseMinutesOnCancel:function(e,t){void 0!==t&&this.updateSetting("min_timelapse_secs_on_cancel")}},created(){const{IS_ENT:e}=Object(Q["d"])();this.isEnt=!!e,this.printerId=it()(window.location.pathname,"/").slice(-2,-1).pop(),this.fetchPrinter()},methods:{fetchPrinter(){return oe["a"].get(le["a"].printer(this.printerId)).then(e=>{this.printer=Ae(e.data,this.printer)}).catch(e=>{this.errorDialog(e,""+this.$i18next.t("Printer not found"))})},patchPrinter(e,t){const i=this.getSettingsItemInput(e,t);return this.setSavingStatus(i,!0),oe["a"].patch(le["a"].printer(this.printerId),{[e]:t}).catch(e=>{if(e.response&&e.response.data&&"object"===typeof e.response.data)if(e.response.data.non_field_errors)this.errorAlert(e.response.data.non_field_errors);else for(const t in e.response.data)this.errorMessages[i]=e.response.data[t];else this.errorAlert()}).then(()=>{this.setSavingStatus(i,!1)})},errorAlert(){this.$swal.Toast.fire({icon:"error",html:`
${this.$i18next.t("Can not update printer settings.")}
`})},updateSetting(e){if(e in this.delayedSubmit){const t=this.delayedSubmit[e];return t["timeoutId"]&&clearTimeout(t["timeoutId"]),void(this.delayedSubmit[e]["timeoutId"]=setTimeout(()=>{this.patchPrinter(e,this.printer[e])},t["delay"]))}this.patchPrinter(e,this.printer[e])},sensitivityTooltipFormatter:function(e){return e<.95?"Low":e>1.05?"High":"Medium"},deletePrinter(e){this.$swal.Prompt.fire({title:""+this.$i18next.t("Are you sure?"),text:""+this.$i18next.t("Delete {name} printer? This action can not be undone.",{name:this.printer.name}),showCancelButton:!0,confirmButtonText:""+this.$i18next.t("Yes"),cancelButtonText:""+this.$i18next.t("No")}).then(e=>{e.isConfirmed&&oe["a"].delete(le["a"].printer(this.printerId)+"?with_archived=true").then(()=>{window.location.href="/printers/"})})},archivePrinter(){this.$swal.Confirm.fire().then(e=>{e.isConfirmed&&oe["a"].post(le["a"].printerAction(this.printerId,"/archive/")).then(()=>{this.$swal.Prompt.fire({title:""+this.$i18next.t("Printer archived"),html:`

${this.$i18next.t("{name} is archived.",{name:this.printer.name})}

${this.$i18next.t("You can find it on")} ${this.$i18next.t("this page")} ${this.$i18next.t("and un-archive it")}.

`,confirmButtonText:""+this.$i18next.t("Go to the printer page")}).then(()=>{window.location.href="/printers/"})})})},getSettingsItemInput:function(e,t=""){switch(e){case"action_on_failure":return`${e}_${t}`;default:return""+e}},setSavingStatus(e,t){t&&delete this.errorMessages[e],this.$set(this.saving,e,t)},changeRetractOnPause(e){this.printer.retract_on_pause=e,this.updateSetting("retract_on_pause")},changeLiftExtruderBy(e){this.printer.lift_z_on_pause=e,this.updateSetting("lift_z_on_pause")}}},jl=Ul,Wl=(i("906f"),Object(N["a"])(jl,Fl,Al,!1,null,"3d5060ec",null)),Hl=Wl.exports,Vl=function(){var e=this,t=e._self._c;return t("page-layout",{scopedSlots:e._u([{key:"content",fn:function(){return[t("b-container",[t("b-row",[t("b-col",[t("div",{staticClass:"form-container full-on-mobile border-radius-lg"},[t("div",{staticClass:"row"},[t("h3",{staticClass:"col-sm-12 text-center p-3 wizard-page-title-font"},[e._v(e._s(e.$t("Link Printer")))])]),t("b-row",{staticClass:"center mt-3 mb-5"},[t("div",{staticClass:"col-sm-12 col-lg-8"},[t("PrinterProgress",{attrs:{step:2}})],1)]),t("b-row",{staticClass:"center py-5"},[t("div",{staticClass:"col-sm-12 col-lg-8"},[t("loading",{attrs:{active:null!=e.chosenDeviceId,"can-cancel":!1}}),e.discoveryEnabled?t("div",{staticClass:"discover"},[t("div",{staticClass:"discover-body"},[e.canStartLinking?t("div",[t("div",{staticClass:"lead my-3"},[t("div",{staticClass:"spinner-border",attrs:{role:"status"}},[t("span",{staticClass:"sr-only"})]),t("span",{staticClass:"sr-only"}),e._v(" "+e._s(e.$t("Scanning..., {name} printer(s) found on your local network:",{name:e.discoveredPrinters.length}))+" ")]),e._l(e.discoveredPrinters,(function(i){return t("discovered-printer",{key:i.device_id,attrs:{"discovered-printer":i},on:{"auto-link-printer":e.autoLinkPrinter}})}))],2):t("div",{staticStyle:{"text-align":"center"}},[t("div",{staticClass:"spinner-border big",attrs:{role:"status"}},[t("span",{staticClass:"sr-only"})]),t("div",{staticClass:"lead"},[e._v(e._s(e.$t("Scanning...")))])]),e.discoveryCount>=2?t("div",{staticClass:"text-muted pt-4"},[t("div",[e._v(e._s(e.$t("To link your printer, please make sure:")))]),t("ul",[t("li",[e._v(e._s(e.$t("The printer is powered on. If you are using an external SBC such as a Raspberry Pi, make sure it's powered on as well.")))]),t("li",[e._v(" "+e._s(e.$t("The printer or SBC is connected to the same local network as your phone/computer."))+" ")]),e.targetOctoPrint?t("li",[e._v(e._s(e.$t("{brandName} for OctoPrint is 1.8.0 or above.",{brandName:e.$syndicateText.brandName})))]):e._e()])]):e._e(),t("div",{staticClass:"d-flex flex-column align-items-center"},[t("div",{staticClass:"mt-5 mb-3"},[e._v(" "+e._s(e.$t("Can’t find the printer you want to link? Switch to Manual Linking instead."))+" ")]),t("button",{staticClass:"btn btn-outline-secondary",attrs:{type:"button"},on:{click:function(t){e.discoveryEnabled=!1}}},[e._v(" "+e._s(e.$t("Switch to Manual Linking"))+" ")])])])]):e.useLegacyVerificationCode?t("div",{staticClass:"container"},[t("div",{staticClass:"row justify-content-center pb-3"},[t("div",{staticClass:"col-sm-12 col-lg-8 d-flex flex-column align-items-center"},[t("input",{ref:"code",staticClass:"code-btn",attrs:{disabled:""},domProps:{value:""+(e.verificationCode&&e.verificationCode.code)}}),t("small",{staticClass:"mx-auto py-1",class:{"text-muted":!e.copied}},[e._v(e._s(e.copied?e.$t("Code copied to system clipboard"):e.$t("Ctrl-C/Cmd-C to copy the code")))]),t("div",{staticClass:"mx-auto pt-1 pb-4"},[t("span",{staticClass:"text-muted"},[e._v(e._s(e.$t("Code will expire in ")))]),e._v(e._s(e.timeToExpire)+" ")]),t("div",{staticClass:"lead"},[t("i18next",{attrs:{translation:e.$t("Enter the {localizedDom}")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("strong",[e._v(e._s(e.$t("6-digit verification code")))])]},proxy:!0}])})],1)])]),t("div",{staticClass:"row justify-content-center"},[t("div",{staticClass:"col-sm-12 col-lg-8 img-container"},[e.targetOctoPrint?t("img",{staticClass:"screenshot",attrs:{src:i("f1f6")},on:{click:function(t){return e.zoomIn(t)}}}):e._e(),e.targetKlipper?t("img",{staticClass:"screenshot",attrs:{src:i("1c3a")},on:{click:function(t){return e.zoomIn(t)}}}):e._e(),t("div",{staticClass:"helper mx-auto py-2"},[t("a",{staticClass:"link font-weight-bold",on:{click:e.showVerificationCodeHelpModal}},[e._v(e._s(e.$t("Can't find the page to enter the 6-digit code?")))])])])])]):t("div",{staticClass:"container pt-5"},[t("div",{staticClass:"row justify-content-center pb-1"},[t("div",{staticClass:"col-sm-12 col-md-8 col-lg-6 d-flex flex-column align-items-center"},[t("div",{staticClass:"d-flex align-items-center"},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.oneTimePasscode,expression:"oneTimePasscode"}],staticClass:"form-control code-btn",attrs:{type:"text","aria-label":"One-time Passcode",disabled:"inprogress"===e.oneTimePasscodeStatus},domProps:{value:e.oneTimePasscode},on:{input:[function(t){t.target.composing||(e.oneTimePasscode=t.target.value)},e.oneTimePasscodeChanged]}}),"inprogress"===e.oneTimePasscodeStatus?t("div",{staticClass:"spinner-border text-primary ml-2",attrs:{role:"status"}},[t("span",{staticClass:"sr-only"},[e._v("Loading...")])]):e._e()])])]),t("div",{staticClass:"row justify-content-center pb-3"},["failed"===e.oneTimePasscodeStatus?t("div",{staticClass:"text-danger col-sm-12 d-flex flex-column align-items-center wizard-secondary-text-font text-secondary"},[e._v(" "+e._s(e.$t("Invalid code. Is it expired?"))+" ")]):t("div",{staticClass:"col-sm-12 d-flex flex-column align-items-center wizard-secondary-text-font text-secondary"},[e._v(" "+e._s(e.$t("Enter the One-time Passcode"))+" ")])]),t("div",{staticClass:"mt-4"},[t("muted-alert",{staticClass:"muted-alert wizard-secondary-text-font text-secondary"},[t("i18next",{attrs:{translation:e.$t("If you using Obico for OctoPrint older than 2.5.0, or Obico for Klipper older than 1.6.0, switch to {localizedDom}.")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("a",{staticClass:"link",on:{click:function(t){e.useLegacyVerificationCode=!0}}},[e._v(e._s(e.$t("6-digit verification code")))])]},proxy:!0}])})],1)],1)])],1)]),e.discoveryEnabled||e.useLegacyVerificationCode?e._e():t("b-row",{staticClass:"mt-3 mb-5"},[t("div",{staticClass:"col-md-4 p-4 method-block"},[t("h4",{staticClass:"text-center font-weight-bold wizard-page-title-font"},[e._v(e._s(e.$t("Touch Screen")))]),t("div",{staticClass:"image-block"},[t("img",{staticStyle:{"max-width":"80%"},attrs:{src:i("0886"),alt:""}})]),t("ol",[t("li",[e._v(e._s(e.$t("Check to see if your printer already has Obico installed your printer screen.")))]),t("li",[e._v(e._s(e.$t("Navigate to the settings menu on the LCD screen of your printer.")))]),t("li",[e._v(e._s(e.$t("Find the “Link Obico” menu item and tap it to open the connection screen.")))])])]),t("div",{staticClass:"col-md-4 p-4 method-block"},[t("h4",{staticClass:"text-center font-weight-bold wizard-page-title-font"},[e._v(e._s(e.$t("LCD Screen ")))]),t("div",{staticClass:"image-block"},[t("img",{staticStyle:{"max-width":"80%"},attrs:{src:i("c914"),alt:""}})]),t("ol",[t("li",[e._v(e._s(e.$t("Check to see if your printer already has Obico Easy Link installed on the LCD menu.")))]),t("li",[e._v(e._s(e.$t("Navigate to the settings menu on the LCD screen of your printer.")))]),t("li",[e._v(e._s(e.$t("Find the “Link Obico” menu item.")))])])]),t("div",{staticClass:"col-md-4 p-4 method-block"},[t("h4",{staticClass:"text-center font-weight-bold wizard-page-title-font"},[e._v(e._s(e.$t("Install Via SSH")))]),t("div",{staticClass:"image-block"},[t("img",{staticStyle:{"max-width":"80%"},attrs:{src:i("777a"),alt:""}})]),t("ol",[t("li",[e._v(e._s(e.$t("If you can't find Obico Easy Link, you will need to SSH to your printer to install Obico. You will need to find a guide that works for your printer.")))])]),t("div",[t("a",{attrs:{target:"_blank",href:e.getDocUrl("/user-guides/klipper-setup/")}},[e._v(e._s(e.$t("Show me how")))])])])]),t("div",{staticClass:"d-flex justify-content-between align-items-center button-wrap"},[t("div",{staticClass:"back",on:{click:function(t){return e.$router.back()}}},[t("i",{staticClass:"fas fa-chevron-left"}),t("span",[e._v(" "+e._s(e.$t("Back")))])])]),t("div",{staticClass:"text-center mt-5 wizard-default-font"},[t("i18next",{attrs:{translation:e.$t("Need help? Check out the {localizedDom}")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("a",{attrs:{target:"_blank",href:e.targetKlipper?e.getDocUrl("/user-guides/klipper-setup/"):e.getDocUrl("/user-guides/octoprint-plugin-setup/")}},[e._v(e._s(e.$t("step-by-step set up guide"))+".")])]},proxy:!0}])})],1)],1)])],1)],1)]},proxy:!0}])})},Yl=[],Gl=i("ccf6"),Kl=i("767e"),ql=i.n(Kl),Jl=function(){var e=this,t=e._self._c;return t("div",{staticClass:"discovered-printers mt-4"},[t("div",{staticClass:"flex-grow-0 pt-1 mr-2"},[e.discoveredPrinter.agent.toLowerCase().includes("octoprint")?t("img",{staticClass:"logo-img",attrs:{src:i("2e7f")}}):e.discoveredPrinter.agent.toLowerCase().includes("klipper")?t("img",{staticClass:"logo-img",attrs:{src:i("886f")}}):t("img",{staticClass:"logo-img",attrs:{src:i("9605")}})]),t("div",{staticClass:"row flex-grow-1 ml-1 link-action"},[t("div",{staticClass:"col-sm-12 col-md-10 pb-2"},[e.discoveredPrinter.rpi_model?t("div",[e._v(" "+e._s(e.discoveredPrinter.rpi_model)+" ")]):e._e(),e.discoveredPrinter.machine_type?t("div",[e._v(" "+e._s(e.discoveredPrinter.machine_type)+" ")]):e._e(),e.discoveredPrinter.agent?t("div",{staticClass:"text-muted small"},[e._v(" "+e._s(e.$t("Platform"))+": "+e._s(e.discoveredPrinter.agent)+" ")]):e._e(),e.discoveredPrinter.host_or_ip?t("div",{staticClass:"text-muted small"},[e._v(" "+e._s(e.$t("IP address"))+": "+e._s(e.discoveredPrinter.host_or_ip)+" ")]):e._e(),e.discoveredPrinter.hostname?t("div",{staticClass:"text-muted small"},[e._v(" "+e._s(e.$t("Hostname"))+": "+e._s(e.discoveredPrinter.hostname)+" ")]):e._e(),e.discoveredPrinter.octopi_version?t("div",{staticClass:"text-muted small"},[e._v(" "+e._s(e.$t("OctoPi"))+": "+e._s(e.discoveredPrinter.octopi_version)+" ")]):e._e(),!e.discoveredPrinter.octopi_version&&e.discoveredPrinter.os?t("div",{staticClass:"text-muted small"},[e._v(" "+e._s(e.$t("OS"))+": "+e._s(e.discoveredPrinter.os)+" ")]):e._e()]),t("div",{staticClass:"col-sm-12 col-md-2 center px-3"},[t("button",{staticClass:"btn btn-block btn-primary",on:{click:function(t){return e.$emit("auto-link-printer",{...e.discoveredPrinter})}}},[e._v(" "+e._s(e.$t("Link"))+" ")])])])])},Zl=[],Ql={name:"DiscoveredPrinter",props:{discoveredPrinter:{type:Object,required:!0}}},Xl=Ql,ec=(i("262b"),Object(N["a"])(Xl,Jl,Zl,!1,null,null,null)),tc=ec.exports,ic=function(){var e=this,t=e._self._c;return t("div",{staticClass:"px-2"},[t("div",{staticClass:"title-pic"},[t("img",{staticClass:"pic-item",attrs:{src:i("4de7")}}),e._m(0),t("img",{staticClass:"pic-item",attrs:{src:i("67e8")}})]),t("div",{staticClass:"my-4"},[t("p",[e._v(e._s(e.$t("The {brandName} app needs to make sure you have access to selected printer.",{brandName:e.$syndicateText.brandName})))]),t("p",[e._v(" "+e._s(e.$t("When you press 'Link Now' button below, a new browser window will pop up to finish a handshake with this printer."))+" ")])]),t("div",[t("div",{staticClass:"row my-2"},[t("div",{staticClass:"col-sm-6"},[t("button",{staticClass:"btn btn-block btn-primary mt-2",attrs:{disabled:e.linking},on:{click:e.autoLinkPrinter}},[e.linking?t("b-spinner",{attrs:{small:""}}):e._e(),e._v(e._s(e.$t("Link Now"))+" "),t("i",{staticClass:"fas fa-external-link-alt"})],1)]),t("div",{staticClass:"col-sm-6"},[t("button",{staticClass:"btn btn-block btn-secondary mt-2",on:{click:e.cancel}},[e._v(e._s(e.$t("Cancel")))])])])])])},nc=[function(){var e=this,t=e._self._c;return t("div",{staticClass:"pic-item"},[t("i",{staticClass:"fas fa-ellipsis-h fa-2x"}),t("i",{staticClass:"fas fa-ellipsis-h fa-2x"})])}],ac={name:"AutoLinkPopup",props:{discoveredPrinter:{type:Object,required:!0},switchToManualLinking:{type:Function,required:!0},secretObtained:{type:Function,required:!0}},data(){return{linking:!1}},mounted(){window.addEventListener("message",this.gotWindowMessage)},beforeDestroy(){window.removeEventListener("message",this.gotWindowMessage)},methods:{autoLinkPrinter(){if(this.linking=!0,this.gotSecret=null,this.obicoDiscoveryPopup=window.open(this.destUrl(),"_blank","toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no,width=500,height=100"),!this.obicoDiscoveryPopup)return this.cancel(),void this.$swal.Prompt.fire({icon:"error",title:""+this.$i18next.t("Oops!"),html:`

${this.$i18next.t("Handshake failed because the pop-up was blcoked.")}

${this.$i18next.t("Please unblock the pop-up in your browser and try it again.")}

`,confirmButtonText:""+this.$i18next.t("Okay!"),showCancelButton:!0,cancelButtonText:""+this.$i18next.t("Switch to Manual Setup")}).then(e=>{e.isDismissed&&"cancel"===e.dismiss&&this.switchToManualLinking()});setTimeout(()=>{this.closeDiscoveryPopup(),this.gotSecret||(this.cancel(),this.$swal.Prompt.fire({icon:"error",title:""+this.$i18next.t("Handshake failed!"),html:`

${this.$i18next.t("Please make sure")}:

\n
    \n
  • ${this.$i18next.t("The OctoPrint you want to link is at {host}:{port}, and it's connected to the same local network as your computer/phone.",{host:this.discoveredPrinter.host_or_ip,port:this.discoveredPrinter.port})}
  • \n
  • ${this.$i18next.t("The version of plugin is 1.8.0 or above.")}
  • \n
`,confirmButtonText:""+this.$i18next.t("Okay!"),showCancelButton:!0,cancelButtonText:""+this.$i18next.t("Switch to Manual Setup")}).then(e=>{e.isDismissed&&"cancel"===e.dismiss&&this.switchToManualLinking()}))},5e3)},destUrl(){const e=this.discoveredPrinter.agent?"obico":"thespaghettidetective";return`http://${this.discoveredPrinter.host_or_ip}:${this.discoveredPrinter.port||"80"}/plugin/${e}/grab-discovery-secret?device_id=${this.discoveredPrinter.device_id}`},switchToManual(){this.cancel(),this.switchToManualLinking()},closeDiscoveryPopup(){this.obicoDiscoveryPopup&&(this.obicoDiscoveryPopup.close(),this.obicoDiscoveryPopup=null)},gotWindowMessage(e){const t={...(null===e||void 0===e?void 0:e.data)||{}};!this.gotSecret&&this.discoveredPrinter.device_id&&t.device_secret?(this.gotSecret=t,this.secretObtained(this.discoveredPrinter.device_id,t.device_secret),this.cancel()):console.log("Ignored message",e)},cancel(){this.closeDiscoveryPopup(),this.$swal.close()}}},rc=ac,sc=(i("b223"),Object(N["a"])(rc,ic,nc,!1,null,"18c57e6c",null)),oc=sc.exports,lc=function(){var e=this,t=e._self._c;return t("div",{staticClass:"printer-progress"},[t("div",{staticClass:"circle",class:{active:0===e.step,done:e.step>0}},[t("font-awesome-icon",{attrs:{icon:"fa-check"}}),t("p",[e._v(" "+e._s(e.$t("Device Selection"))+" ")])],1),t("div",{staticClass:"line",class:{active:e.step>=1}}),t("div",{staticClass:"circle",class:{active:1===e.step,done:e.step>1}},[t("font-awesome-icon",{attrs:{icon:["fas","check"]}}),t("p",[e._v(" "+e._s(e.$t("Install Obico"))+" ")])],1),t("div",{staticClass:"line",class:{active:2===e.step}}),t("div",{staticClass:"circle",class:{active:2===e.step,done:3===e.step}},[t("font-awesome-icon",{attrs:{icon:["fas","check"]}}),t("p",[e._v(" "+e._s(e.$t("Link Printer"))+" ")])],1)])},cc=[],dc={components:{},props:{step:{default:0,type:Number}},data(){return{}},computed:{},created(){},mounted(){},watch:{},methods:{}},uc=dc,pc=(i("7c3e"),Object(N["a"])(uc,lc,cc,!1,null,"09cdf468",null)),hc=pc.exports,mc={components:{Loading:gt.a,PageLayout:Ft,DiscoveredPrinter:tc,PrinterProgress:hc,MutedAlert:_n},data(){return{theme:ql.a,verificationCode:null,verifiedPrinter:null,copied:!1,oneTimePasscode:"",oneTimePasscodeStatus:null,useLegacyVerificationCode:!1,discoveryEnabled:!0,discoveryCount:0,discoveredPrinters:[],chosenDeviceId:null,gotSecret:null,obicoDiscoveryPopup:null,apiCallIntervalId:null}},computed:{printerIdToLink(){return this.$route.query.printerId},title(){return this.printerIdToLink?"Re-Link Printer":"Link Printer"},expiryMoment(){return this.verificationCode?H()(this.verificationCode.expired_at):null},timeToExpire(){return this.expiryMoment?H.a.duration(this.expiryMoment.diff(H()())).humanize():"-"},canStartLinking(){var e,t;return(null===(e=this.verificationCode)||void 0===e?void 0:e.code)&&(null===(t=this.discoveredPrinters)||void 0===t?void 0:t.length)>0},targetOctoPrint(){return"octoprint"===this.$route.params.targetPlatform},targetKlipper(){return this.$route.params.targetPlatform.startsWith("klipper-")}},created(){this.targetOctoPrint&&(this.useLegacyVerificationCode=!0),this.getVerificationCode(),this.discoverPrinter()},methods:{oneTimePasscodeChanged(){this.oneTimePasscode=this.oneTimePasscode.toLowerCase(),5===this.oneTimePasscode.length&&(this.oneTimePasscodeStatus="inprogress",oe["a"].post(le["a"].oneTimePasscodes(),{one_time_passcode:this.oneTimePasscode,verification_code:this.verificationCode.code}).then(e=>{200!==e.status&&(this.oneTimePasscodeStatus="failed")}).catch(e=>{this.oneTimePasscodeStatus="failed"}))},verificationCodeUrl(){const e=le["a"].verificationCode();return this.verificationCode?this.verificationCode.verified_at||H()().isBefore(this.expiryMoment)?`${e}${this.verificationCode.id}/`:e:this.printerIdToLink?`${e}?printer_id=${this.printerIdToLink}`:e},callVerificationCodeApi(){oe["a"].get(this.verificationCodeUrl()).then(e=>{e.data&&(this.verificationCode=e.data,this.verificationCode.verified_at&&(this.verifiedPrinter=e.data.printer,Gl["onPrinterLinked"]&&Object(Gl["onPrinterLinked"])(),this.$router.push({path:`/printers/wizard/success/${this.verifiedPrinter.id}/`,query:{...this.$route.query}})))})},getVerificationCode(){this.callVerificationCodeApi(),this.apiCallIntervalId=setInterval(()=>{this.verifiedPrinter?clearInterval(this.apiCallIntervalId):this.callVerificationCodeApi()},5e3)},showVerificationCodeHelpModal(){let e=`

${this.$i18next.t("The 6-digit code needs to be entered in the Obico plugin in OctoPrint. There are a few reasons why you can't find this page:",{brandName:this.$syndicateText.brandName})}

\n

    \n
  • ${this.$i18next.t("You don't have the plugin installed or you haven't restarted OctoPrint after installation. Click")} here ${this.$i18next.t("to walk through the process again.")}
  • \n
  • ${this.$i18next.t("The installed plugin is on a version earlier than 1.5.0. You need to upgrade the plugin to")} 1.5.0 ${this.$i18next.t("or later.")}
  • \n
  • ${this.$i18next.t("Still no dice? Check out the step-by-step")} ${this.$i18next.t("set up guide")}.
  • \n

`;this.targetOctoPrint||(e=`

${this.$i18next.t("The 6-digit code needs to be entered to the Obico for Klipper installation script.")}

\n

${this.$i18next.t("Check")} ${this.$i18next.t("for detailed instructions.")}

`),this.$swal.fire({title:""+this.$i18next.t("Can't find the page to enter the 6-digit code?"),html:e,customClass:{container:"dark-backdrop"}})},zoomIn(e){e.target.classList.toggle("zoomedIn")},callPrinterDiscoveryApi(){this.discoveryEnabled&&(this.discoveryCount+=1,oe["a"].get(le["a"].printerDiscovery()).then(e=>{this.discoveredPrinters=dt()(e.data,e=>e.device_id)}))},discoverPrinter(){this.discoveryEnabled&&!this.verifiedPrinter&&(this.callPrinterDiscoveryApi(),setTimeout(()=>{this.discoverPrinter()},5e3))},autoLinkPrinter(e){this.$swal.openModalWithComponent(oc,{discoveredPrinter:e,switchToManualLinking:()=>this.discoveryEnabled=!1,secretObtained:(e,t)=>this.secretObtained(e,t)},{title:"Browser Pop-up",showConfirmButton:!1,allowOutsideClick:!1})},secretObtained(e,t){this.chosenDeviceId=e,oe["a"].post(le["a"].printerDiscovery(),{code:this.verificationCode.code,device_id:this.chosenDeviceId,device_secret:t}),setTimeout(()=>{this.chosenDeviceId&&!this.verifiedPrinter&&(this.chosenDeviceId=null,this.$swal.Toast.fire({icon:"error",title:"Something went wrong. Switched to using 6-digit code to link OctoPrint."}),this.discoveryEnabled=!1),this.chosenDeviceId=null},2e4)}}},fc=mc,gc=(i("83d4"),i("39be"),Object(N["a"])(fc,Vl,Yl,!1,null,"47ff6d0e",null)),vc=gc.exports,bc=function(){var e=this,t=e._self._c;return t("page-layout",{scopedSlots:e._u([{key:"content",fn:function(){return[t("b-container",[t("b-row",[t("b-col",[t("div",{staticClass:"form-container full-on-mobile border-radius-lg"},[e.printerIdToLink?t("b-row",[t("div",{staticClass:"col-sm-12 col-lg-8"},[t("div",{staticClass:"text-warning"},[t("i18next",{attrs:{translation:e.$t("Warning: Re-Linking OctoPrint should be your last resort to solve issues. Please make sure you have exhausted all options on {localizedDom}.")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("a",{attrs:{href:"https://www.obico.io/help/"}},[e._v(e._s(e.$t("{brandName}'s help website",{brandName:e.$syndicateText.brandName})))])]},proxy:!0}],null,!1,3291268443)})],1)])]):e._e(),t("div",{staticClass:"row"},[t("h1",{staticClass:"col-sm-12 text-center p-3 wizard-page-title-font"},[e._v(e._s(e.$t("Device Selection")))])]),t("b-row",{staticClass:"center mt-3 mb-5 pb-5"},[t("div",{staticClass:"col-sm-12 col-lg-8"},[t("PrinterProgress",{attrs:{step:0}})],1)]),e.devicesWithObicoPreInstalled.length>0?t("div",{staticClass:"row"},[t("div",{staticClass:"col-sm-12 col-lg-6 py-4"},[t("h4",{staticClass:"py-3"},[e._v(e._s(e.$t("Devices with Obico Pre-installed")))]),t("div",{staticClass:"printer-list"},e._l(e.devicesWithObicoPreInstalled,(function(i){return t("div",{key:i.id,staticClass:"printer-item",on:{click:function(t){return e.targetPlatformClicked("klipper-obico-enabled",i)}}},[t("div",{staticClass:"img-wrap clickable"},[t("img",{attrs:{src:i.image_url,alt:""}})]),t("div",{staticClass:"item-label"},[e._v(e._s(i.brand))]),t("h5",{staticClass:"item-label"},[t("b",[e._v(e._s(i.model))])])])})),0)])]):e._e(),t("div",{staticClass:"wizard-card-list py-4"},[t("div",{staticClass:"wizard-card-horizontal",on:{click:function(t){return e.targetPlatformClicked("klipper-preinstalled")}}},[t("div",{staticClass:"img-wrap"},[t("img",{attrs:{src:i("886f")}})]),t("div",{staticClass:"text-wrap"},[t("h3",{staticClass:"wizard-default-font"},[e._v(e._s(e.$t("Pre-Installed Klipper Printer")))]),t("h4",{staticClass:"wizard-secondary-text-font text-secondary"},[e._v(e._s(e.$t("Creality K1, Sonic Pad, Sovol SV07, Kingroon KLP1, Elegoo Neptune 4, etc...")))])])]),t("div",{staticClass:"wizard-card-horizontal",on:{click:function(t){return e.targetPlatformClicked("klipper-generic")}}},[t("div",{staticClass:"img-wrap"},[t("img",{attrs:{src:i("886f")}}),t("div",{staticClass:"img-tip"},[t("img",{attrs:{src:i("1f6a")}}),t("img",{attrs:{src:i("a085")}})])]),t("div",{staticClass:"text-wrap"},[t("h3",{staticClass:"wizard-default-font"},[e._v(e._s(e.$t("Generic Klipper - Self Installed")))]),t("h4",{staticClass:"wizard-secondary-text-font text-secondary"},[e._v(e._s(e.$t("If you installed Klipper yourself on a Raspberry Pi or other linux device. E.g., Voron, RatRig")))])])]),t("div",{staticClass:"wizard-card-horizontal",on:{click:function(t){return e.targetPlatformClicked("octoprint")}}},[t("div",{staticClass:"img-wrap"},[t("img",{attrs:{src:i("2e7f")}})]),t("div",{staticClass:"text-wrap"},[t("h3",{staticClass:"wizard-default-font"},[e._v("OctoPrint")]),t("h4",{staticClass:"wizard-secondary-text-font text-secondary"},[e._v(e._s(e.$t("Including OctoPrint for Klipper such as OctoKlipper.")))])])])])],1)])],1)],1)]},proxy:!0}])})},yc=[],wc={components:{PageLayout:Ft,PrinterProgress:hc},data(){return{devicesWithObicoPreInstalled:[]}},computed:{printerIdToLink(){return this.$route.query.printerId}},async created(){const e=await fetch("https://storage.googleapis.com/public-versioned/devices_with_obico_preinstalled.json?ts="+Date.now());this.devicesWithObicoPreInstalled=await e.json()},methods:{targetPlatformClicked(e,t){this.$router.push({path:`/printers/wizard/guide/${e}/`,query:{...this.$route.query,printerItem:t?JSON.stringify(t):void 0}})}}},_c=wc,Cc=(i("f18e"),Object(N["a"])(_c,bc,yc,!1,null,"292aad3e",null)),kc=Cc.exports,Pc=function(){var e=this,t=e._self._c;return t("page-layout",{scopedSlots:e._u([{key:"content",fn:function(){return[t("b-container",[t("b-row",[t("b-col",[t("div",{staticClass:"form-container full-on-mobile border-radius-lg"},[t("div",{staticClass:"row"},[t("h1",{staticClass:"col-sm-12 text-center p-3 wizard-page-title-font"},[e._v(e._s(e.$t("Install Obico")))])]),t("b-row",{staticClass:"center mt-3 mb-5 pb-5"},[t("div",{staticClass:"col-sm-12 col-lg-8"},[t("PrinterProgress",{attrs:{step:1}})],1)]),t("div",[e.targetKlipperPreInstall?t("div",{staticClass:"klipper-pre-install-wrap"},[t("img",{attrs:{src:i("777a"),alt:""}}),t("div",{staticClass:"text-wrap"},[t("h3",[e._v(e._s(e.$t("Install Obico for Klipper")))]),t("ol",{staticClass:"secondary-font"},[t("li",[t("a",{attrs:{href:e.getDocUrl("/user-guides/klipper-setup/"),target:"_blank"}},[e._v(e._s(e.$t("Find the Guide for Your Printer to install Obico for Klipper.")))])]),t("li",[e._v(e._s(e.$t("SSH to your device.")))]),t("li",[e._v(e._s(e.$t("Enter the installation commands.")))]),t("li",[e._v(e._s(e.$t("Alternatively, you can use KIAUH to install Obico.")))]),t("li",[e._v(e._s(e.$t('Upon "Scanning the networking...", come back here and click "Next".')))])])])]):e._e(),e.targetOctoPrint?t("div",{staticClass:"kilpper-pre-install-wrap"},[t("img",{staticClass:"octoprint-image",attrs:{src:i("2814"),alt:""}}),t("div",{staticClass:"text-wrap"},[t("h3",[e._v(e._s(e.$t("Install Obico for OctoPrint")))]),t("ol",{staticClass:"secondary-font"},[t("li",[e._v(e._s(e.$t("Open OctoPrint in another browser tab.")))]),t("li",[e._v(" "+e._s(e.$t("Select"))+" "),t("em",[e._v('"'+e._s(e.$t("OctoPrint settings menu → Plugin Manager → Get More..."))+'"')]),e._v(". ")]),t("li",[e._v(e._s(e.$t("Enter '{brandName}' to locate the plugin. Click",{brandName:e.$syndicateText.brandName}))+" "),t("em",[e._v('"'+e._s(e.$t("Install"))+'"')]),e._v(".")]),t("li",[e._v(e._s(e.$t("Restart OctoPrint when prompted.")))])])])]):e._e()]),e.targetKlipperGeneric?t("div",{staticClass:"kilpper-pre-install-wrap"},[t("img",{attrs:{src:i("886f"),alt:""}}),t("div",{staticClass:"text-wrap"},[t("h3",[e._v(e._s(e.$t("Install Obico for Klipper")))]),t("ol",{staticClass:"secondary-font"},[t("li",[e._v(e._s(e.$t("SSH to the Raspberry Pi (or other SBC) your Klipper runs on.")))]),t("li",[t("div",[e._v(e._s(e.$t("Run:")))]),t("pre",{staticClass:"mt-2"},[e._v(" cd ~\n git clone https://github.com/TheSpaghettiDetective/moonraker-obico.git\n cd moonraker-obico\n ./install.sh\n ")])]),t("li",[e._v(e._s(e.$t("Alternatively, you can use KIAUH to install Obico.")))]),t("li",[e._v(e._s(e.$t('Upon "Scanning the networking...", come back here and click "Next".')))])])])]):e._e(),e.printerItem?t("div",{staticClass:"printer-item"},[t("div",{staticClass:"printer-left"},[t("h5",[e._v(e._s(e.printerItem.brand+" "+e.printerItem.model))]),t("div",{staticClass:"img-wrap"},[t("img",{attrs:{src:e.printerItem.image_url,alt:""}})])]),t("div",{staticClass:"line"}),t("div",{staticClass:"printer-right"},[t("ol",[t("li",[e._v(e._s(e.$t("1. Unbox and assemble the 3D printer following the manufacturers instructions")))]),t("li",[e._v(e._s(e.$t("2. Power on the 3D printer and make sure it is connected to WiFi.")))]),t("li",[e._v(e._s(e.$t("3. Tap “Next” when you are ready.")))])])])]):e._e(),t("div",{staticClass:"d-flex justify-content-between align-items-center button-wrap"},[t("div",{staticClass:"back",on:{click:function(t){return e.$router.back()}}},[t("i",{staticClass:"fas fa-chevron-left"}),t("span",[e._v(" "+e._s(e.$t("Back")))])]),t("b-button",{attrs:{variant:"primary"},on:{click:e.goForward}},[e._v(" "+e._s(e.$t("Next"))+" ")])],1),t("div",{staticClass:"text-center mt-5 wizard-default-font"},[t("i18next",{attrs:{translation:e.$t("Need help? Check out the {localizedDom}")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("a",{attrs:{target:"_blank",href:e.targetKlipper?e.getDocUrl("/user-guides/klipper-setup/"):e.getDocUrl("/user-guides/octoprint-plugin-setup/")}},[e._v(e._s(e.$t("step-by-step set up guide"))+".")])]},proxy:!0}])})],1)],1)])],1)],1)]},proxy:!0}])})},Sc=[],Dc={components:{PageLayout:Ft,PrinterProgress:hc},computed:{printerItem(){if(this.$route.query.printerItem)return JSON.parse(this.$route.query.printerItem)},targetOctoPrint(){return"octoprint"===this.$route.params.targetPlatform},targetKlipperPreInstall(){return"klipper-preinstalled"===this.$route.params.targetPlatform},targetKlipperGeneric(){return"klipper-generic"===this.$route.params.targetPlatform},targetKlipper(){return this.$route.params.targetPlatform.startsWith("klipper-")}},methods:{goForward(){this.$router.push({path:`/printers/wizard/link/${this.$route.params.targetPlatform}/`,query:{...this.$route.query}})}}},xc=Dc,Tc=(i("d205"),Object(N["a"])(xc,Pc,Sc,!1,null,"0503971a",null)),Ic=Tc.exports,Fc=function(){var e=this,t=e._self._c;return t("page-layout",{scopedSlots:e._u([{key:"content",fn:function(){return[t("div",{staticClass:"container"},[t("div",{staticClass:"row"},[t("div",{staticClass:"col-sm-12 p-4"},[t("div",{staticClass:"form-container full-on-mobile border-radius-lg"},[e.verifiedPrinter?t("div",{staticClass:"text-center py-5"},[t("svg",{staticClass:"success-checkmark"},[t("use",{attrs:{href:"#svg-success-checkmark"}})]),t("h3",{staticClass:"pb-4"},[e._v(e._s(e.$t("Successfully linked to your account!")))]),t("div",{staticClass:"col-sm-12 col-md-8 offset-md-2 col-lg-6 offset-lg-3 d-flex flex-column align-center justify-content-center"},[t("saving-animation",{attrs:{errors:e.errorMessages.printer_name,saving:e.saving.printer_name}},[t("div",{staticClass:"printer-name-input"},[t("div",{staticClass:"edit-icon"},[t("i",{staticClass:"fas fa-pen"})]),t("input",{directives:[{name:"model",rawName:"v-model",value:e.verifiedPrinter.name,expression:"verifiedPrinter.name"}],staticClass:"dark",attrs:{type:"text",placeholder:e.$t("Printer name")},domProps:{value:e.verifiedPrinter.name},on:{input:[function(t){t.target.composing||e.$set(e.verifiedPrinter,"name",t.target.value)},e.updatePrinterName]}})])]),t("div",[t("div",{staticClass:"text-muted mx-auto text-center font-weight-light"},[e._v(" "+e._s(e.$t("Give your printer a shiny name."))+" ")])])],1),t("br"),t("br"),t("div",{staticClass:"col-sm-12 col-md-8 offset-md-2 col-lg-6 offset-lg-3 d-flex flex-column align-center justify-content-center"},[e.redirectToTunnelCreation?t("div",{staticClass:"mt-4"},[t("a",{staticClass:"btn btn-primary btn-block mx-auto btn-lg",attrs:{href:e.redirectToTunnelCreation}},[e._v(e._s(e.$t("Authorize App Access")))])]):t("div",[t("div",{staticClass:"mt-4"},[t("a",{staticClass:"btn btn-primary btn-block mx-auto btn-lg",attrs:{href:"/printers/"}},[e._v(e._s(e.$t("Go Check Out Printer Feed!")))])]),t("div",{staticClass:"mt-5"},[t("a",{staticClass:"btn btn-outline-secondary btn-block mx-auto",attrs:{href:"/user_preferences/notification_twilio/"}},[e._v(e._s(e.$t("Add Phone Number")))])]),t("div",[t("div",{staticClass:"text-muted mx-auto text-center font-weight-light"},[e._v(" "+e._s(e.$t("Receive text (SMS) in case of print failures."))+" ")])]),t("div",{staticClass:"mt-4"},[t("a",{staticClass:"btn btn-outline-secondary btn-block mx-auto",attrs:{href:e.editPrinterUrl}},[e._v(e._s(e.$t("Change Printer Settings")))])]),t("div",[t("div",{staticClass:"text-muted mx-auto text-center font-weight-light"},[e._v(" "+e._s(e.$t("You can always change it later."))+" ")])])])])]):e._e()])])])])]},proxy:!0}])})},Ac=[],$c={components:{PageLayout:Ft,SavingAnimation:Nl["a"]},data(){return{verifiedPrinter:null,saving:{},errorMessages:{},delayedSubmit:{printer_name:{delay:1e3,timeoutId:null}}}},computed:{redirectToTunnelCreation(){return new URLSearchParams(window.location.search).get("redirectToTunnelCreation")},editPrinterUrl(){return`/printers/${this.verifiedPrinter.id}/`}},created(){this.fetchPrinter()},methods:{async fetchPrinter(){const e=await oe["a"].get(le["a"].printer(this.$route.params.printerId));this.verifiedPrinter=e.data},setSavingStatus(e,t){t&&delete this.errorMessages[e],this.$set(this.saving,e,t)},updatePrinterName(){if("name"in this.verifiedPrinter&&this.verifiedPrinter.name){const e=this.delayedSubmit["printer_name"];return e["timeoutId"]&&clearTimeout(e["timeoutId"]),void(this.delayedSubmit["printer_name"]["timeoutId"]=setTimeout(()=>(this.setSavingStatus("printer_name",!0),oe["a"].patch(le["a"].printer(this.verifiedPrinter.id),{name:this.verifiedPrinter.name}).then(()=>{this.setSavingStatus("printer_name",!1)}).catch(e=>{this.errorDialog(e,"Failed to update printer name")})),e["delay"]))}{const e=this.delayedSubmit["printer_name"];e["timeoutId"]&&clearTimeout(e["timeoutId"])}}}},Oc=$c,Nc=Object(N["a"])(Oc,Fc,Ac,!1,null,"d840a164",null),Lc=Nc.exports,Mc=function(){var e=this,t=e._self._c;return t("page-layout",{scopedSlots:e._u([{key:"topBarLeft",fn:function(){return[t("div",{staticClass:"printer-name truncated"},[e._v(" "+e._s(e.printer?e.printer.name:"")+" ")])]},proxy:!0},{key:"topBarRight",fn:function(){return[e.printer?t("div",{staticClass:"action-panel"},[t("a",{staticClass:"btn shadow-none action-btn icon-btn",attrs:{href:"#",title:"Share"},on:{click:function(t){return t.preventDefault(),e.onSharePrinter()}}},[t("i",{staticClass:"fas fa-share-alt fa-lg"}),t("span",{staticClass:"sr-only"},[e._v(e._s(e.$t("Share")))])]),t("a",{staticClass:"btn shadow-none action-btn icon-btn",attrs:{href:`/tunnels/${e.printer.id}/`,title:"OctoPrint Tunnel"}},[t("svg",{staticClass:"custom-svg-icon"},[t("use",{attrs:{href:"#svg-tunnel"}})]),t("span",{staticClass:"sr-only"},[e._v(e._s(e.$t("OctoPrint Tunnel")))])]),t("a",{staticClass:"btn shadow-none action-btn icon-btn",attrs:{href:`/printers/${e.printer.id}/`,title:"Configure"}},[t("i",{staticClass:"fas fa-wrench"}),t("span",{staticClass:"sr-only"},[e._v(e._s(e.$t("Configure")))])]),t("b-dropdown",{attrs:{right:"","no-caret":"","toggle-class":"icon-btn d-md-none"},scopedSlots:e._u([{key:"button-content",fn:function(){return[t("i",{staticClass:"fas fa-ellipsis-v"})]},proxy:!0}],null,!1,3452768261)},[t("cascaded-dropdown",{ref:"cascadedDropdown",attrs:{"menu-options":[{key:"share",icon:"fas fa-share-alt fa-lg",title:e.$t("Share"),callback:!0},{key:"tunnel",svgIcon:"svg-tunnel",title:e.$t("OctoPrint Tunnel"),href:`/tunnels/${e.printer.id}/`},{key:"settings",icon:"fas fa-wrench",title:e.$t("Configure"),href:`/printers/${e.printer.id}/`}]},on:{menuOptionClicked:e.onMenuOptionClicked}})],1)],1):e._e()]},proxy:!0},{key:"content",fn:function(){return[e.printer?t("div",{staticClass:"page-container",attrs:{fluid:""}},[t("div",{staticClass:"widgets-container"},[e._l(e.widgets,(function(i){return[!i.enabled||(e.printer.isOffline()||e.printer.isDisconnected())&&"PrintJobControlWidget"!==i.component?e._e():t(i.component,{key:i.id,tag:"component",attrs:{printer:e.printer,"printer-comm":e.printerComm,print:e.lastPrint},on:{sendPrinterAction:e.onSendPrinterAction,notAFailureClicked:e.onNotAFailureClicked,updateSettings:e.onUpdateSettings}})]})),t("div",{staticClass:"extra-actions"},[t("h2",{staticClass:"section-title"},[e._v(e._s(e.$t("Additional Actions")))]),t("b-button",{staticClass:"custom-button",attrs:{variant:"outline-secondary"},on:{click:e.onReorderClicked}},[t("i",{staticClass:"fas fa-arrows-alt-v"}),e._v(" "+e._s(e.$t("Reorder"))+" & "+e._s(e.$t("Hide"))+" ")]),t("div",{staticClass:"text-muted extra-actions-explanation"},[t("small",[e._v(e._s(e.$t("Customize this page for each of your printers by reodering or hiding cards above.")))])]),t("b-button",{staticClass:"custom-button",attrs:{variant:"outline-primary",href:"/printers/wizard/"}},[t("i",{staticClass:"fas fa-plus"}),e._v(" "+e._s(e.$t("Add Printer"))+" ")]),t("div",{staticClass:"text-muted extra-actions-explanation"},[t("small",[e._v(e._s(e.$t("Link another printer to {brandName}.",{brandName:e.$syndicateText.brandName})))])])],1)],2),t("div",{staticClass:"stream-container"},[t("div",{staticClass:"header-container"},[t("div",{staticClass:"title"},[e._v(e._s(e.$t("Webcam")))]),t("div",{staticClass:"d-flex align-items-center"},[e.webcams.length>1?t("b-dropdown",{staticClass:"webcam-dropdown",attrs:{block:"",size:"sm",variant:"link","toggle-class":"text-decoration-none","no-caret":""},scopedSlots:e._u([{key:"button-content",fn:function(){return[t("i",{staticClass:"fa fa-camera",attrs:{"aria-hidden":"true"}}),e._v(" "+e._s(e.isAllWebcamSelected?"All":e.selectedWebcam.name||"Primary")+" "),t("i",{staticClass:"fa fa-chevron-down",attrs:{"aria-hidden":"true"}})]},proxy:!0}],null,!1,223123733)},[t("b-dropdown-text",{staticClass:"small text-secondary"},[e._v(e._s(e.$t("WEBCAM SELECTION")))]),e._l(e.webcams,(function(i,n){return t("b-dropdown-item",{key:n,attrs:{href:"#"},on:{click:function(t){return e.chooseWebcam(n,i.stream_id)}}},[e._v(e._s(i.name||"Primary"))])})),t("b-dropdown-item",{on:{click:function(t){return e.chooseWebcam("all")}}},[e._v(e._s(e.$t("All")))])],2):t("div",{staticClass:"mr-3"},[t("i",{staticClass:"fa fa-camera",attrs:{"aria-hidden":"true"}}),e._v(" "+e._s(e.webcams.length?e.webcams[0].name||"Primary":"")+" ")])],1)]),t("div",{staticClass:"webcam-main",class:{"justify-center":e.isAllWebcamSelected,"webcam-more-than-two":e.isAllWebcamSelected&&e.webcams.length>2}},e._l(e.webcams,(function(i,n){return t("div",{directives:[{name:"show",rawName:"v-show",value:!!e.isAllWebcamSelected||n===e.selectedWebcamIndex,expression:"isAllWebcamSelected ? true : (index === selectedWebcamIndex)"}],key:n,ref:"streamInner",refInFor:!0,staticClass:"stream-inner",class:e.isAllWebcamSelected?e.isAtleastOnePrinterPortrait?"two-webcam-portrait":"two-webcam-landscape":90===e.videoRotationDeg||270===e.videoRotationDeg?"single-webcam-portrait":""},[t("streaming-box",{attrs:{printer:e.printer,webrtc:i.webrtc,autoplay:e.user.is_pro,webcam:i},on:{onRotateRightClicked:t=>e.handleRotateRightClicked(t,i.stream_id)}})],1)})),0)])]):t("loading-placeholder")]},proxy:!0}])})},Ec=[],Rc=function(){var e=this,t=e._self._c;return t("widget-template",{scopedSlots:e._u([{key:"title",fn:function(){return[e._v(e._s(e.isPrinting?e.$t("Print Progress"):e.$t("Last Print")))]},proxy:!0},{key:"content",fn:function(){return[t("div",{staticClass:"wrapper"},[e.print?[t("div",{staticClass:"header"},[t("g-code-details",{staticClass:"g-code-details",attrs:{file:e.print.g_code_file||{filename:e.print.filename},"show-open-button":e.print.g_code_file&&!e.print.g_code_file.resident_printer&&!e.print.g_code_file.deleted,"show-details":!1}})],1),t("div",{staticClass:"content"},[t("div",{staticClass:"details"},[e.isPrinting?[e.isPrinting?t("div",{staticClass:"progress-container"},[t("div",{staticClass:"progress-bar-wrapper"},[t("div",{staticClass:"progress-bar-inner",style:`width: ${e.printProgressPercentage}%`})]),t("div",{staticClass:"percentage-progress"},[e._v(e._s(e.printProgressPercentage)+"%")])]):e._e(),t("div",{staticClass:"info-line no-border"},[t("div",{staticClass:"label"},[t("div",{staticClass:"icon"},[t("i",{staticClass:"fas fa-info"})]),t("div",{staticClass:"title"},[e._v(e._s(e.$t("Status")))])]),t("div",{staticClass:"value",class:"text-"+e.printer.calculatedStateColor()},[e._v(" "+e._s(e.printer.calculatedState())+" ")])]),t("div",{staticClass:"info-line"},[t("div",{staticClass:"label"},[t("div",{staticClass:"icon"},[t("font-awesome-icon",{attrs:{icon:["fas","layer-group"]}})],1),t("div",{staticClass:"title"},[e._v(e._s(e.$t("Layer")))])]),t("div",{staticClass:"value"},[e._v(" "+e._s(e.layerProgress)+" ")])]),t("div",{staticClass:"info-line"},[t("div",{staticClass:"label"},[t("div",{staticClass:"icon"},[t("i",{staticClass:"fas fa-stopwatch"})]),t("div",{staticClass:"title"},[e._v(e._s(e.$t("Remaining")))])]),t("div",{staticClass:"value"},[e.secondsLeft?t("span",[e._v(e._s(e.humanizedDuration(e.secondsLeft)))]):t("span",{staticClass:"text-secondary"},[e._v(e._s(e.$t("Calculating...")))])])]),t("div",{staticClass:"info-line"},[t("div",{staticClass:"label"},[t("div",{staticClass:"icon"},[t("i",{staticClass:"fas fa-flag-checkered"})]),t("div",{staticClass:"title"},[e._v(e._s(e.$t("Finishing at")))])]),t("div",{staticClass:"value"},[e.finishingAt?t("span",[e._v(e._s(e.finishingAt))]):t("span",{staticClass:"text-secondary"},[e._v(e._s(e.$t("Calculating...")))])])]),t("collapsable-details",[t("div",{staticClass:"info-line"},[t("div",{staticClass:"label"},[t("div",{staticClass:"icon"},[t("i",{staticClass:"fas fa-clock"})]),t("div",{staticClass:"title"},[e._v(e._s(e.$t("Started")))])]),t("div",{staticClass:"value"},[e._v(" "+e._s(e.print.started_at.format(e.DATE_TIME_FORMAT))+" ")])]),t("div",{staticClass:"info-line"},[t("div",{staticClass:"label"},[t("div",{staticClass:"icon"},[t("i",{staticClass:"fas fa-stopwatch"})]),t("div",{staticClass:"title"},[e._v(e._s(e.$t("Elapsed")))])]),t("div",{staticClass:"value"},[e.timeElapsed?t("span",[e._v(e._s(e.timeElapsed))]):t("b-spinner",{attrs:{small:""}})],1)]),t("div",{staticClass:"info-line"},[t("div",{staticClass:"label"},[t("div",{staticClass:"icon"},[t("font-awesome-icon",{attrs:{icon:["fas","ruler-vertical"]}})],1),t("div",{staticClass:"title"},[e._v(e._s(e.$t("Z-height")))])]),t("div",{staticClass:"value"},[e._v(" "+e._s(e.mmProgress)+" ")])]),t("div",{staticClass:"info-line"},[t("div",{staticClass:"label"},[t("div",{staticClass:"icon"},[t("i",{staticClass:"fas fa-stopwatch"})]),t("div",{staticClass:"title"},[e._v(e._s(e.$t("Total time")))])]),e.timeTotal?t("div",{staticClass:"value"},[e._v(" "+e._s(e.timeTotal)+" ")]):t("span",{staticClass:"text-secondary"},[e._v(e._s(e.$t("Calculating...")))])]),e.print.filament_used?t("div",{staticClass:"info-line"},[t("div",{staticClass:"label"},[t("div",{staticClass:"icon"},[t("font-awesome-icon",{attrs:{icon:["fas","ruler-vertical"]}})],1),t("div",{staticClass:"title"},[e._v(e._s(e.$t("Total filament")))])]),t("div",{staticClass:"value"},[e._v(" "+e._s(e.humanizedFilamentUsage(e.print.filament_used))+" ")])]):e._e()])]:[t("div",{staticClass:"info-line no-border"},[t("div",{staticClass:"label"},[t("div",{staticClass:"icon"},[t("i",{staticClass:"fas fa-info"})]),t("div",{staticClass:"title"},[e._v(e._s(e.$t("Status")))])]),t("div",{staticClass:"value"},[e.print.status.isActive?t("b-spinner",{attrs:{small:""}}):t("div",{staticClass:"print-status-color",class:e.print.status.key},[e._v(" "+e._s(e.print.status.title)+" ")])],1)]),t("div",{staticClass:"info-line"},[t("div",{staticClass:"label"},[t("div",{staticClass:"icon"},[t("i",{staticClass:"far fa-clock"})]),t("div",{staticClass:"title"},[e._v(e._s(e.$t("Started")))])]),t("div",{staticClass:"value"},[e._v(e._s(e.print.started_at.format("MMM D, YYYY h:mm a")))])]),t("div",{staticClass:"info-line"},[t("div",{staticClass:"label"},[t("div",{staticClass:"icon"},[t("i",{staticClass:"fas fa-clock"})]),t("div",{staticClass:"title"},[e._v(e._s(e.$t("Duration")))])]),e.print.status.isActive?t("b-spinner",{attrs:{small:""}}):t("div",{staticClass:"value"},[e._v(" "+e._s(e.print.duration||"-")+" ")])],1)]],2),e.isPrinting?e._e():t("div",{staticClass:"actions"},[t("b-button",{staticClass:"custom-button",attrs:{variant:"outline-secondary",href:"/prints/"+e.print.id}},[e._v(" "+e._s(e.$t("Open Print"))+" ")]),e.file.url?t("b-button",{staticClass:"custom-button",attrs:{variant:"secondary",disabled:e.isPrintStarting},on:{click:e.onRepeatClicked}},[e.isPrintStarting?t("b-spinner",{attrs:{small:""}}):t("i",{staticClass:"fas fa-redo"}),e._v(" "+e._s(e.$t("Reprint"))+" ")],1):e._e()],1)])]:[t("p",{staticClass:"empty-state-text"},[e._v(e._s(e.$t("No prints found")))])]],2)]},proxy:!0}])})},zc=[];const Bc="MMM D, h:mm a";var Uc={name:"PrintProgressWidget",components:{WidgetTemplate:Ds,GCodeDetails:Ga,CollapsableDetails:Wa},props:{printer:{type:Object,required:!0},print:{type:Object,default:null}},data(){return{DATE_TIME_FORMAT:Bc,timeElapsed:null,finishingAt:null,startedAt:null,printProgressPercentage:0,extraVisible:!1}},computed:{file(){var e;return(null===(e=this.print)||void 0===e?void 0:e.g_code_file)||{}},isPrinting(){return this.printer.isActive()&&this.printer.progressCompletion()<100},isPrintStarting(){return this.printer.inTransientState()},mmProgress(){var e,t,i,n,a;let r;const s=null===(e=this.printer.status)||void 0===e?void 0:e.currentZ,o=null===(t=this.printer.status)||void 0===t||null===(i=t.file_metadata)||void 0===i||null===(n=i.analysis)||void 0===n||null===(a=n.printingArea)||void 0===a?void 0:a.maxZ;return(s||0==s)&&o&&(r=`${s.toFixed(2)}/${o.toFixed(2)} mm`),r||"--/--"},layerProgress(){var e,t,i,n;let a;const r=null===(e=this.printer.status)||void 0===e?void 0:e.currentLayerHeight,s=null===(t=this.printer.status)||void 0===t||null===(i=t.file_metadata)||void 0===i||null===(n=i.obico)||void 0===n?void 0:n.totalLayerCount;return(r||0==r)&&s&&(a=`${Math.round(r)}/${Math.round(s)}`),a||"--/--"},timeTotal(){let e=null;return this.secondsPrinted&&this.secondsLeft?(e=this.secondsPrinted+this.secondsLeft,fe(e)):null},secondsPrinted(){var e,t,i,n;return null!==(e=null===(t=this.printer)||void 0===t||null===(i=t.status)||void 0===i||null===(n=i.progress)||void 0===n?void 0:n.printTime)&&void 0!==e?e:null},secondsLeft(){var e,t,i,n;return null!==(e=null===(t=this.printer)||void 0===t||null===(i=t.status)||void 0===i||null===(n=i.progress)||void 0===n?void 0:n.printTimeLeft)&&void 0!==e?e:null}},watch:{printer:{handler:function(e,t){this.isPrinting&&this.updatePrintProgress()},deep:!0}},mounted(){this.isPrinting&&this.updatePrintProgress()},unmounted(){clearInterval(this.printerStateCheckInterval)},methods:{humanizedDuration:fe,humanizedFilamentUsage:ve,toggleZHeightProgressType(){this.preferZHeightProgressInLayers=!this.preferZHeightProgressInLayers,Object(s["b"])("preferZHeightProgressInLayers",this.preferZHeightProgressInLayers)},updatePrintProgress(){var e,t,i,n,a;if(!this.isPrinting)return;if(!this.print)return;const r=H.a.duration(H()().diff(this.print.started_at));this.timeElapsed=this.print.status.isActive?fe(r.asSeconds()):null,this.finishingAt="number"===typeof this.secondsLeft?be(this.secondsLeft,Bc):null,this.printProgressPercentage=Math.round(this.printer.progressCompletion()),this.printProgressMillimeters=Math.round((null===(e=this.printer.status)||void 0===e?void 0:e.currentZ)||0),this.printMillimetersTotal=Math.round((null===(t=this.printer.status)||void 0===t||null===(i=t.file_metadata)||void 0===i||null===(n=i.analysis)||void 0===n||null===(a=n.printingArea)||void 0===a?void 0:a.maxZ)||0)},onRepeatClicked(){this.isPrinting||(this.print?this.print.g_code_file.deleted?console.error("Can't repeat last print: G-Code deleted"):this.print.g_code_file.url?Aa(this.print.g_code_file,this.printer).then(()=>{var e;Oa({printer:this.printer,gcode:this.print.g_code_file,isCloud:null===(null===(e=this.print.g_code_file)||void 0===e?void 0:e.resident_printer),Swal:this.$swal})}):console.error("Can't repeat last print: no G-Code file in storage"):console.error("Can't repeat last print: no last print"))}}},jc=Uc,Wc=(i("9eda"),Object(N["a"])(jc,Rc,zc,!1,null,"951008e4",null)),Hc=Wc.exports,Vc=function(){var e=this,t=e._self._c;return t("widget-template",{scopedSlots:e._u([{key:"title",fn:function(){return[e._v(e._s(e.$t("Failure Detection")))]},proxy:!0},{key:"content",fn:function(){return[t("div",{staticClass:"wrapper"},[e.isEnt?t("div",{staticClass:"dh-balance-wrapper"},[t("a",{staticClass:"btn shadow-none action-btn icon-btn hours-btn",style:{marginRight:.25*String(e.dhBadgeNum).length+"rem"},attrs:{href:"/user_preferences/dh/",title:e.dhBadgeNum+" "+e.$t("AI Detection Hours")}},[t("svg",{staticClass:"custom-svg-icon"},[t("use",{attrs:{href:"#svg-hour-glass"}})]),t("span",{staticClass:"badge badge-light",attrs:{id:"user-credits"}},[e._v(e._s(e.dhBadgeNum))]),t("span",{staticClass:"sr-only"},[e._v(e._s(e.$t("AI Detection Hours")))])])]):e._e(),t("div",{staticClass:"header"},[t("div",{staticClass:"gauge-wrapper"},[t("failure-detection-gauge",{attrs:{"normalized-p":e.printer.normalized_p,"is-watching":e.isWatching}})],1),e.printer.not_watching_reason?t("div",{staticClass:"overlay-info"},[t("muted-alert",{staticClass:"muted-alert"},[t("span",[e._v(e._s(e.$t("Not watching"))+" ("+e._s(e.printer.not_watching_reason)+"). "),t("a",{attrs:{href:e.getDocUrl("/user-guides/detective-not-watching/"),target:"_blank"}},[e._v(e._s(e.$t("Learn all possible reasons"))+" "),t("small",[t("i",{staticClass:"fas fa-external-link-alt"})])])])])],1):e._e()]),t("div",{staticClass:"controls"},[t("div",{staticClass:"line"},[t("label",{staticClass:"label",attrs:{for:"watching_enabled-toggle-"+e.printer.id}},[e._v(" "+e._s(e.$t("Enable AI failure detection"))+" "),e.enableFailureDetection?e._e():t("div",{staticClass:"text-muted"},[e._v(" "+e._s(e.$t("AI failure detection is disabled. You are on your own."))+" ")])]),t("div",{staticClass:"switch"},[t("div",{staticClass:"custom-control custom-switch"},[t("input",{staticClass:"custom-control-input update-printer",attrs:{id:"watching_enabled-toggle-"+e.printer.id,type:"checkbox",name:"watching_enabled"},domProps:{checked:e.enableFailureDetection},on:{click:e.onFailureDetectionToggled}}),t("label",{staticClass:"custom-control-label",staticStyle:{"font-size":"1rem"},attrs:{for:"watching_enabled-toggle-"+e.printer.id}})])])]),t("div",{staticClass:"line"},[t("label",{staticClass:"label",attrs:{for:"pause_on_failure-toggle-"+e.printer.id}},[e._v(" "+e._s(e.$t("Pause on detected failures"))+" "),e.pauseOnFailure?e._e():t("div",{staticClass:"text-muted"},[e._v(" "+e._s(e.$t("You will still be alerted via notifications."))+" ")])]),t("div",{staticClass:"switch"},[t("div",{staticClass:"custom-control custom-switch"},[t("input",{staticClass:"custom-control-input update-printer",attrs:{id:"pause_on_failure-toggle-"+e.printer.id,type:"checkbox",name:"pause_on_failure"},domProps:{checked:e.pauseOnFailure},on:{click:e.onPauseOnFailureToggled}}),t("label",{staticClass:"custom-control-label",staticStyle:{"font-size":"1rem"},attrs:{for:"pause_on_failure-toggle-"+e.printer.id}})])])])]),e.printer.alertUnacknowledged()?t("div",{staticClass:"failure-detected-message"},[t("div",{staticClass:"warning-message"},[t("i",{staticClass:"fas fa-exclamation-triangle"}),e._v(" "+e._s(e.$t("Failure Detected!"))+" ")]),t("b-button",{attrs:{variant:"outline-warning custom-button"},on:{click:function(t){return e.onNotAFailureClicked(t)}}},[e._v(e._s(e.$t("Not a Failure?")))])],1):e._e()])]},proxy:!0}])})},Yc=[],Gc={name:"FailureDetectionWidget",components:{WidgetTemplate:Ds,FailureDetectionGauge:Kn,MutedAlert:_n},props:{printer:{type:Object,required:!0}},data(){return{user:null,enableFailureDetection:!1,pauseOnFailure:!1,isEnt:!1}},computed:{dhBadgeNum(){return this.user&&this.user.is_dh_unlimited?"Unlimited":Math.round(this.user.dh_balance)},isWatching(){return!this.printer.not_watching_reason},notWatchingExplanation(){if(this.isWatching)return"";let e=this.printer.not_watching_reason;return""+e}},created(){this.user=Object(Q["f"])();const{IS_ENT:e}=Object(Q["d"])();this.isEnt=!!e,this.enableFailureDetection=this.printer.watching_enabled,this.pauseOnFailure="PAUSE"===this.printer.action_on_failure},methods:{onFailureDetectionToggled(){this.enableFailureDetection=!this.enableFailureDetection,this.$emit("updateSettings",{settingName:"watching_enabled",settingValue:this.enableFailureDetection})},onPauseOnFailureToggled(){this.pauseOnFailure=!this.pauseOnFailure,this.$emit("updateSettings",{settingName:"action_on_failure",settingValue:this.pauseOnFailure?"PAUSE":"NONE"})},onNotAFailureClicked(e){this.$emit("notAFailureClicked",e,!1)}}},Kc=Gc,qc=(i("0eda"),Object(N["a"])(Kc,Vc,Yc,!1,null,"6fe2ac18",null)),Jc=qc.exports,Zc=function(){var e=this,t=e._self._c;return t("widget-template",{scopedSlots:e._u([{key:"title",fn:function(){return[e._v(e._s(e.$t("Temperature Controls")))]},proxy:!0},{key:"content",fn:function(){return[e._t("content",(function(){return[t("div",{staticClass:"wrapper"},[e.show?[e._l(e.temperatures,(function(i,n){return t("temperature-item",{key:n,attrs:{"temp-key":n,"temp-item":i,"is-plugin-version-sufficient":e.isPluginVersionSufficient},on:{TempEditClicked:function(t){return e.onEditClicked(n,i)}}})})),e.isPluginVersionSufficient?t("b-button",{staticClass:"custom-button",attrs:{variant:"outline-primary"},on:{click:e.onTemperaturePresetsClicked}},[e._v(" "+e._s(e.$t("Temperature Presets"))+" ")]):e._e()]:[t("div",{staticClass:"text-center mt-4"},[t("b-spinner"),t("p",{staticClass:"mt-2"},[e._v(e._s(e.$t("Loading temperature...")))])],1)]],2)]}))]},proxy:!0}],null,!0)})},Qc=[],Xc=function(){var e=this,t=e._self._c;return t("div",[t("div",[t("h5",[e._v(e._s(e.$t("Presets"))+":")])]),t("div",[t("b-form-select",{staticClass:"form-control",attrs:{id:"id_preset"},model:{value:e.currentPreset,callback:function(t){e.currentPreset=t},expression:"currentPreset"}},e._l(e.allPresets,(function(i){return t("b-form-select-option",{key:i.name,attrs:{value:i.name}},[e._v(" "+e._s(i.name)+" ")])})),1)],1),t("muted-alert",{staticClass:"mt-4 mb-1"},[e._v(" "+e._s(e.$t("Temperature presets can be edited or added in {agentName} settings.",{agentName:e.agentName}))+" ")]),t("input",{directives:[{name:"model",rawName:"v-model",value:e.currentPreset,expression:"currentPreset"}],attrs:{id:"selected-preset",type:"hidden"},domProps:{value:e.currentPreset},on:{input:function(t){t.target.composing||(e.currentPreset=t.target.value)}}})],1)},ed=[],td={name:"TempPresets",components:{MutedAlert:_n},props:{presets:{type:Array,required:!0},printer:{type:Object,required:!0}},data:function(){return{currentPreset:null}},computed:{allPresets(){let e=[...this.presets];return e.push({value:0,name:"OFF"}),e},agentName(){return this.printer.agentDisplayName()}},mounted(){this.currentPreset=this.allPresets[0].name},methods:{}},id=td,nd=Object(N["a"])(id,Xc,ed,!1,null,null,null),ad=nd.exports,rd={name:"TemperatureWidget",components:{WidgetTemplate:Ds,TemperatureItem:Jr},props:{printer:{type:Object,required:!0},printerComm:{type:Object,required:!0}},computed:{temperatures(){const e={};for(const[t,i]of Object.entries(de()(this.printer,"status.temperatures",{})))Boolean(i.actual)&&!isNaN(i.actual)&&(e[t]=i);return e},isPluginVersionSufficient(){return void 0!=de()(this.printer,"settings.temp_profiles")},show(){return Object.keys(this.temperatures).length>0}},methods:{temperatureDisplayName:Pn["f"],onEditClicked(e,t){if(!this.isPluginVersionSufficient||null===t.target)return;let i,n=de()(this.printer,"settings.temp_profiles",[]),a=350;e.search(/bed|chamber/)>-1&&(a=140),i=e.search(/tool/)>-1?n.map(e=>({name:e.name,target:e["extruder"]})):n.map(t=>({name:t.name,target:t[e]})),this.$swal.openModalWithComponent(ps,{presets:i,maxTemp:a,curTarget:t.target},{title:"Set "+Object(Pn["f"])(e)+" Temperature",confirmButtonText:"Confirm",showCancelButton:!0,preConfirm:()=>({target:parseInt(document.getElementById("target-temp").value)})}).then(t=>{if(t.value){let i=t.value.target;this.handleSetTemp(e,i)}})},onTemperaturePresetsClicked(){let e=de()(this.printer,"settings.temp_profiles",[]);this.$swal.openModalWithComponent(ad,{presets:e,printer:this.printer},{title:""+this.$i18next.t("Temperature Presets"),confirmButtonText:"Apply",showCancelButton:!0,preConfirm:()=>({preset:document.getElementById("selected-preset").value})}).then(e=>{var t;null!==(t=e.value)&&void 0!==t&&t.preset&&this.applyTempPreset(e.value.preset)})},applyTempPreset(e){const t=de()(this.printer,"settings.temp_profiles",[]);let i=t.find(t=>t.name===e);const n={};if(i)Object.entries(i).forEach(e=>{const t=e[0];t.toLowerCase().includes("bed")?n.bed=e[1]:t.toLowerCase().includes("tool")||t.toLowerCase().includes("extruder")?n.extruder=e[1]:t.toLowerCase().includes("chamber")&&(n.chamber=e[1])});else{if("OFF"!==e)return;n.bed=0,n.extruder=0,n.chamber=0}const a=de()(this.printer,"status.temperatures",[]);Object.entries(a).forEach(e=>{const t=e[0];t.toLowerCase().includes("bed")?this.handleSetTemp(t,n.bed):t.toLowerCase().includes("tool")||t.toLowerCase().includes("extruder")?this.handleSetTemp(t,n.extruder):t.toLowerCase().includes("chamber")&&n.chamber&&this.handleSetTemp(t,n.chamber)})},handleSetTemp(e,t){this.printerComm.passThruToPrinter({func:"set_temperature",target:"_printer",args:[e,t]})}}},sd=rd,od=(i("f086"),Object(N["a"])(sd,Zc,Qc,!1,null,"6556ed7d",null)),ld=od.exports,cd=function(){var e=this,t=e._self._c;return t("widget-template",{scopedSlots:e._u([{key:"title",fn:function(){return[e.activeMenu?t("div",{staticClass:"nav-btn",on:{click:function(t){e.activeMenu=null}}},[t("i",{staticClass:"fas fa-arrow-left"}),e._v("  "+e._s(e.$t("Back"))+" ")]):t("span",[e._v(e._s(e.$t("Printer Controls")))])]},proxy:!0},{key:"content",fn:function(){return[t("div",{staticClass:"wrapper"},[t("div",{directives:[{name:"show",rawName:"v-show",value:!e.activeMenu,expression:"!activeMenu"}],staticClass:"home-menu"},[t("button",{staticClass:"menu-button",attrs:{disabled:e.printer.isActive()},on:{click:function(t){e.activeMenu="move-head"}}},[t("svg",{staticClass:"icon move-xy"},[t("use",{attrs:{href:"#svg-move-xy"}})]),t("div",{staticClass:"title"},[e._v(e._s(e.$t("Move Head")))])]),t("button",{staticClass:"menu-button",attrs:{disabled:e.printer.isActive()},on:{click:function(t){e.activeMenu="extrude"}}},[t("svg",{staticClass:"icon extruder"},[t("use",{attrs:{href:"#extruder"}})]),t("div",{staticClass:"title"},[e._v(e._s(e.$t("Extrude")))])]),e.printer.isAgentMoonraker()?t("button",{staticClass:"menu-button",on:{click:function(t){e.activeMenu="baby-step-z"}}},[t("svg",{staticClass:"icon move-z"},[t("use",{attrs:{href:"#svg-move-z"}})]),t("div",{staticClass:"title"},[e._v(e._s(e.$t("Baby Step Z")))])]):e._e(),e.hideTunePrinter?e._e():t("button",{staticClass:"menu-button",on:{click:function(t){e.activeMenu="tune-printer"}}},[t("font-awesome-icon",{attrs:{icon:["fas","gear"]}}),t("div",{staticClass:"title"},[e._v(e._s(e.$t("Tune Printer")))])],1),e.powerDevices.length?t("button",{staticClass:"menu-button",on:{click:function(t){e.activeMenu="power-control"}}},[t("font-awesome-icon",{attrs:{icon:["fas","power-off"]}}),t("div",{staticClass:"title"},[e._v(e._s(e.$t("Power")))])],1):e._e()]),t("div",{directives:[{name:"show",rawName:"v-show",value:"move-head"===e.activeMenu,expression:"activeMenu === 'move-head'"}],staticClass:"control-panel move-head"},[t("div",{staticClass:"main"},[t("div",{staticClass:"toggles"},e._l(e.xyzJogDistance.options,(function(i){return t("div",{key:"xyz-"+i,staticClass:"pill",class:{active:i===e.xyzJogDistance.value},on:{click:function(t){e.xyzJogDistance.value=i}}},[e._v(" "+e._s(i)+" ")])})),0),t("div",{staticClass:"xy-move"},[t("div",{staticClass:"left",on:{click:function(t){return e.xyzControl(e.axis.x,e.directions.down)}}},[t("i",{staticClass:"fas fa-arrow-left"})]),t("div",{staticClass:"right",on:{click:function(t){return e.xyzControl(e.axis.x,e.directions.up)}}},[t("i",{staticClass:"fas fa-arrow-right"})]),t("div",{staticClass:"up",on:{click:function(t){return e.xyzControl(e.axis.y,e.directions.up)}}},[t("i",{staticClass:"fas fa-arrow-up"})]),t("div",{staticClass:"down",on:{click:function(t){return e.xyzControl(e.axis.y,e.directions.down)}}},[t("i",{staticClass:"fas fa-arrow-down"})]),t("div",{staticClass:"home",on:{click:function(t){return e.xyzControl(e.axis.xy,e.directions.home)}}},[t("i",{staticClass:"fas fa-home"})])]),t("div",{staticClass:"z-move"},[t("div",{staticClass:"up",on:{click:function(t){return e.xyzControl(e.axis.z,e.directions.up)}}},[t("i",{staticClass:"fas fa-arrow-up"})]),t("div",{staticClass:"down",on:{click:function(t){return e.xyzControl(e.axis.z,e.directions.down)}}},[t("i",{staticClass:"fas fa-arrow-down"})]),t("div",{staticClass:"home",on:{click:function(t){return e.xyzControl(e.axis.z,e.directions.home)}}},[t("i",{staticClass:"fas fa-home"})])])]),t("div",{staticClass:"additional"},[t("div",{staticClass:"control-btn",on:{click:e.homeAll}},[t("i",{staticClass:"fas fa-home"}),e._v(e._s(e.$t(" Home All")))]),t("div",{staticClass:"control-btn",on:{click:e.disableSteppers}},[t("i",{staticClass:"fas fa-power-off"}),e._v(" "+e._s(e.$t("Disable Steppers"))+" ")])])]),t("div",{directives:[{name:"show",rawName:"v-show",value:"extrude"===e.activeMenu,expression:"activeMenu === 'extrude'"}],staticClass:"control-panel extrude"},[t("div",{staticClass:"main"},[e.showExtrudeControl?[t("div",{staticClass:"toggles"},e._l(e.extrudeJogDistance.options,(function(i){return t("div",{key:"xyz-"+i,staticClass:"pill",class:{active:i===e.extrudeJogDistance.value},on:{click:function(t){e.extrudeJogDistance.value=i}}},[e._v(" "+e._s(i)+" ")])})),0),t("div",{staticClass:"main-buttons"},[t("div",{staticClass:"control-btn",on:{click:function(t){return e.handleFilament(e.filamentDirections.retract)}}},[t("i",{staticClass:"fas fa-minus"}),e._v(" "+e._s(e.$t("Retract"))+" ")]),t("div",{staticClass:"control-btn",on:{click:function(t){return e.handleFilament(e.filamentDirections.extrude)}}},[t("i",{staticClass:"fas fa-plus"}),e._v(" "+e._s(e.$t("Extrude"))+" ")])])]:[t("div",{staticClass:"text-center mt-4"},[t("b-spinner"),t("p",{staticClass:"mt-2"},[e._v(e._s(e.$t("Loading tools...")))])],1)]],2),e.showToolsSelector?t("div",{staticClass:"additional"},[t("b-form-select",{staticClass:"form-control tool-select",model:{value:e.activeTool,callback:function(t){e.activeTool=t},expression:"activeTool"}},e._l(e.tools,(function(i,n){return t("b-form-select-option",{key:n,attrs:{value:n}},[e._v(" "+e._s(e.temperatureDisplayName(n))+" ")])})),1)],1):e._e()]),t("div",{directives:[{name:"show",rawName:"v-show",value:"baby-step-z"===e.activeMenu,expression:"activeMenu === 'baby-step-z'"}],staticClass:"control-panel baby-step-z"},[t("div",{staticClass:"main"},[t("div",{staticClass:"toggles"},e._l(e.zOffsetJogDistance.options,(function(i){return t("div",{key:"xyz-"+i,staticClass:"pill",class:{active:i===e.zOffsetJogDistance.value},on:{click:function(t){e.zOffsetJogDistance.value=i}}},[e._v(" "+e._s(i)+" ")])})),0),t("div",{staticClass:"z-move"},[t("div",{staticClass:"up",on:{click:function(t){return e.controlZOffset(e.directions.up)}}},[t("i",{staticClass:"fas fa-arrow-up"})]),t("div",{staticClass:"down",on:{click:function(t){return e.controlZOffset(e.directions.down)}}},[t("i",{staticClass:"fas fa-arrow-down"})])])]),t("div",{staticClass:"additional"},[t("div",{staticClass:"current-offset"},[t("div",{staticClass:"label"},[e._v(e._s(e.$t("Current Offset")))]),t("div",{staticClass:"value"},[e.currentZOffset||"number"===typeof e.currentZOffset?t("span",[e._v(" "+e._s(e.currentZOffset)+" ")]):t("span",[t("b-spinner",{attrs:{small:""}})],1)])])])]),t("div",{directives:[{name:"show",rawName:"v-show",value:"tune-printer"===e.activeMenu,expression:"activeMenu === 'tune-printer'"}],staticClass:"control-panel tune-printer"},[e.printer.isAgentMoonraker()&&null===e.currentFeedRate?e._e():[t("div",{staticClass:"controls-title"},[t("span",[e._v(e._s(e.$t("Feed Rate / Speed")))]),t("help-widget",{staticClass:"help-message",attrs:{id:"print-speed-widget-help"}})],1),t("div",{staticClass:"controls"},[t("div",{staticClass:"custom"},[t("b-input-group",{attrs:{prepend:"%"},scopedSlots:e._u([{key:"append",fn:function(){return[t("b-button",{attrs:{variant:"background",disabled:null===e.customFeedRateFactor||parseInt(e.customFeedRateFactor)<1},on:{click:function(t){return e.setPrintSpeed(e.customFeedRateFactor)}}},[e._v(e._s(e.$t("Apply")))])]},proxy:!0}],null,!1,3696614275)},[t("b-form-input",{attrs:{placeholder:"100",type:"number"},on:{focus:function(e){return e.target.select()}},model:{value:e.customFeedRateFactor,callback:function(t){e.customFeedRateFactor=t},expression:"customFeedRateFactor"}})],1)],1)])],e.printer.isAgentMoonraker()&&null===e.currentFlowRate?e._e():[t("div",{staticClass:"controls-title"},[t("span",[e._v(e._s(e.$t("Flow Rate")))]),t("help-widget",{staticClass:"help-message",attrs:{id:"flow-rate-widget-help"}})],1),t("div",{staticClass:"controls"},[t("div",{staticClass:"custom"},[t("b-input-group",{attrs:{prepend:"%"},scopedSlots:e._u([{key:"append",fn:function(){return[t("b-button",{attrs:{variant:"background",disabled:null===e.customFlowRateFactor||parseInt(e.customFlowRateFactor)<1},on:{click:function(t){return e.setFlowRate(e.customFlowRateFactor)}}},[e._v(e._s(e.$t("Apply")))])]},proxy:!0}],null,!1,4188500917)},[t("b-form-input",{attrs:{placeholder:"100",type:"number"},on:{focus:function(e){return e.target.select()}},model:{value:e.customFlowRateFactor,callback:function(t){e.customFlowRateFactor=t},expression:"customFlowRateFactor"}})],1)],1)])],e.printer.isAgentMoonraker()&&null===e.currentFanSpeed?e._e():[t("div",{staticClass:"controls-title"},[t("span",[e._v(e._s(e.$t("Fan Speed")))]),t("help-widget",{staticClass:"help-message",attrs:{id:"fan-speed-widget-help"}})],1),t("div",{staticClass:"controls"},[t("b-button",{staticClass:"off",attrs:{variant:"background",small:""},on:{click:function(t){e.customFanSpeed=0,e.setFanSpeed(0)}}},[e._v(e._s(e.$t("0% (Off)")))]),t("div",{staticClass:"custom"},[t("b-input-group",{attrs:{prepend:"%"},scopedSlots:e._u([{key:"append",fn:function(){return[t("b-button",{attrs:{variant:"background",disabled:null===e.customFanSpeed||parseInt(e.customFanSpeed)>100||parseInt(e.customFanSpeed)<0},on:{click:function(t){return e.setFanSpeed(e.customFanSpeed)}}},[e._v(e._s(e.$t("Apply")))])]},proxy:!0}],null,!1,22301740)},[t("b-form-input",{attrs:{placeholder:"0-100",type:"number"},on:{focus:function(e){return e.target.select()}},model:{value:e.customFanSpeed,callback:function(t){e.customFanSpeed=t},expression:"customFanSpeed"}})],1)],1),t("b-button",{staticClass:"btn",attrs:{variant:"background",small:""},on:{click:function(t){e.customFanSpeed=100,e.setFanSpeed(100)}}},[e._v("100%")])],1)],e.printer.isAgentMoonraker()?e._e():t("muted-alert",{staticClass:"info-block"},[e._v(" "+e._s(e.$t("These settings can only be set. They can't be read back from the firmware due to a limitation of the communication protocol."))+" ")])],2),t("div",{directives:[{name:"show",rawName:"v-show",value:"power-control"===e.activeMenu,expression:"activeMenu === 'power-control'"}],staticClass:"control-panel power-control"},[e._l(e.powerDevices,(function(i,n){return t("div",{key:n,staticClass:"power-item"},[t("div",{staticClass:"title"},[t("div",{staticClass:"name"},[e._v(e._s(i.device))]),t("div",{staticClass:"status text-danger",class:{"text-success":"ON"===i.status.toUpperCase()}},[e._v(" • "+e._s(i.status.toUpperCase())+" ")])]),t("b-button",{attrs:{variant:"outline-primary"},on:{click:function(t){return e.togglePower(i)}}},[e._v(e._s(e.$t(" Toggle Power ")))])],1)})),e.powerDevices.length>1?t("div",{staticClass:"bulk-actions"},[t("b-button",{attrs:{variant:"success"},on:{click:function(t){return e.batchPowerControl("on")}}},[e._v(e._s(e.$t(" Power On All ")))]),t("b-button",{attrs:{variant:"danger"},on:{click:function(t){return e.batchPowerControl("off")}}},[e._v(e._s(e.$t(" Power Off All ")))])],1):e._e(),t("muted-alert",{staticClass:"info-block"},[e._v(" "+e._s(e.$t("Rapid toggling power may result in error. Please allow a cooldown period."))+" ")])],2)])]},proxy:!0}])})},dd=[];const ud={x:"x",y:"y",z:"z",xy:["x","y"],xyz:["x","y","z"]},pd={up:1,down:-1,home:0},hd={retract:-1,extrude:1};var md={name:"PrinterControlWidget",components:{WidgetTemplate:Ds,HelpWidget:Zi,MutedAlert:_n},props:{printer:{type:Object,required:!0},printerComm:{type:Object,required:!0}},data(){return{activeMenu:null,axis:ud,directions:pd,filamentDirections:hd,xyzJogDistance:{value:10,options:[1,10,50,100]},extrudeJogDistance:{value:10,options:[1,10,50]},zOffsetJogDistance:{value:.01,options:[.005,.01,.05,.1]},activeTool:null,currentZOffset:null,customFeedRateFactor:null,customFlowRateFactor:null,customFanSpeed:null,powerDevices:[]}},computed:{tools(){const e={};for(const[t,i]of Object.entries(de()(this.printer,"status.temperatures",{})))Boolean(i.actual)&&!isNaN(i.actual)&&(t.toLowerCase().includes("tool")||t.toLowerCase().includes("extruder"))&&(e[t]=i);return e},showExtrudeControl(){return Object.keys(this.tools).length>0},showToolsSelector(){return Object.keys(this.tools).length>1},currentFeedRate(){var e;const t=null===(e=this.printer.status)||void 0===e?void 0:e.currentFeedRate;return void 0!==t?t:null},currentFlowRate(){var e;const t=null===(e=this.printer.status)||void 0===e?void 0:e.currentFlowRate;return void 0!==t?t:null},currentFanSpeed(){var e;const t=null===(e=this.printer.status)||void 0===e?void 0:e.currentFanSpeed;return void 0!==t?t:null},hideTunePrinter(){return this.printer.isAgentMoonraker()&&null===this.currentFlowRate&&null===this.currentFanSpeed&&null===this.currentFeedRate}},watch:{tools:{handler:function(e,t){e&&(this.activeTool=Object.keys(e)[0])},immediate:!0},printer:{handler:function(e,t){e.isActive()&&["move-head","extrude"].includes(this.activeMenu)&&(this.activeMenu=null)},deep:!0},xyzJogDistance:{handler:function(e,t){Object(we["a"])()&&localStorage.setItem("xyz-mm-per-step-"+this.printer.id,e.value)},deep:!0},extrudeJogDistance:{handler:function(e,t){Object(we["a"])()&&localStorage.setItem("extrude-mm-per-step-"+this.printer.id,e.value)},deep:!0},zOffsetJogDistance:{handler:function(e,t){Object(we["a"])()&&localStorage.setItem("z-offset-mm-per-step-"+this.printer.id,e.value)},deep:!0},activeMenu(e,t){"baby-step-z"===e?this.getCurrentZOffset():"tune-printer"===e&&(this.customFeedRateFactor=null!==this.currentFeedRate?Math.round(100*this.currentFeedRate):null,this.customFlowRateFactor=null!==this.currentFlowRate?Math.round(100*this.currentFlowRate):null,this.customFanSpeed=null!==this.currentFanSpeed?Math.round(100*this.currentFanSpeed):null)}},created(){this.getPowerDevices(),Object(we["a"])()&&(this.xyzJogDistance.value=+localStorage.getItem("xyz-mm-per-step-"+this.printer.id)||this.xyzJogDistance.value,this.extrudeJogDistance.value=+localStorage.getItem("extrude-mm-per-step-"+this.printer.id)||this.extrudeJogDistance.value,this.zOffsetJogDistance.value=+localStorage.getItem("z-offset-mm-per-step-"+this.printer.id)||this.zOffsetJogDistance.value);const e=e=>{27===e.keyCode&&(this.activeMenu=null)};document.addEventListener("keydown",e),this.$once("hook:destroyed",()=>{document.removeEventListener("keydown",e)})},methods:{xyzControl(e,t){let i=[],n="jog";t===this.directions.home?(i.push(e),n="home"):i.push({[e]:t*this.xyzJogDistance.value});const a={func:n,target:"_printer",args:i};this.printerComm.passThruToPrinter(a,(e,t)=>{e&&this.$swal.Toast.fire({icon:"error",title:e})})},getCurrentZOffset(){const e={func:"printer/objects/query?gcode_move",target:"moonraker_api"};this.printerComm.passThruToPrinter(e,(e,t)=>{if(e)this.currentZOffset="no reading";else{const e=t.status.gcode_move.homing_origin[2],i=parseFloat(e.toFixed(3));this.currentZOffset=i}})},homeAll(){this.xyzControl(this.axis.xyz,this.directions.home)},disableSteppers(){const e={func:"commands",target:"_printer",args:["M18"]},t={func:"printer/gcode/script",target:"moonraker_api",kwargs:{script:"M18"}},i=this.printer.isAgentMoonraker()?t:e;this.printerComm.passThruToPrinter(i,(e,t)=>{e&&this.$swal.Toast.fire({icon:"error",title:e})})},temperatureDisplayName:Pn["f"],handleFilament(e){const t=this.tools[this.activeTool].actual;if(t<179)return void this.$swal.Confirm.fire({title:""+this.$i18next.t("Unable to extrude / retract"),html:`

${this.$i18next.t("The hotend is below the minimum temperature")}

`,confirmButtonText:""+this.$i18next.t("Heat to 180°C"),cancelButtonText:""+this.$i18next.t("Cancel")}).then(e=>{e.isConfirmed&&this.printerComm.passThruToPrinter({func:"set_temperature",target:"_printer",args:[this.activeTool,180]},(e,t)=>{e&&this.$swal.Toast.fire({icon:"error",title:e})})});const i=Object.entries(this.tools).findIndex(e=>e[0]===this.activeTool),n=e*this.extrudeJogDistance.value,a=`M83\nT${i}\nG1 E${n} F300`,r={func:"commands",target:"_printer",args:[a]},s={func:"printer/gcode/script",target:"moonraker_api",kwargs:{script:a}},o=this.printer.isAgentMoonraker()?s:r;this.printerComm.passThruToPrinter(o,(e,t)=>{e&&this.$swal.Toast.fire({icon:"error",title:e})})},controlZOffset(e){const t=this.zOffsetJogDistance.value*e,i=Math.round(1e4*t)/1e4,n=i>0?"+"+i:""+i,a={func:"commands",target:"_printer",args:["M290 Z "+i],force:!0},r={func:"printer/gcode/script",target:"moonraker_api",kwargs:{script:"SET_GCODE_OFFSET Z_ADJUST="+n}},s=this.printer.isAgentMoonraker()?r:a;this.currentZOffset=null,this.printerComm.passThruToPrinter(s,(e,t)=>{e?this.$swal.Toast.fire({icon:"error",title:e}):this.getCurrentZOffset()})},setPrintSpeed(e){null===e||e<1||this.sendCommandToPrinter("M220 S"+Math.round(e))},setFlowRate(e){null===e||e<1||this.sendCommandToPrinter("M221 S"+Math.round(e))},setFanSpeed(e){if(null===e||e<0||e>100)return;let t=0===e?"M107":"M106 S"+Math.round(e/100*255);this.sendCommandToPrinter(t)},sendCommandToPrinter(e,{onError:t,onSuccess:i}={}){const n=this.printer.isAgentMoonraker()?{func:"printer/gcode/script",target:"moonraker_api",kwargs:{script:e}}:{func:"commands",target:"_printer",args:[e]};this.printerComm.passThruToPrinter(n,(e,n)=>{e?t?t(e,n):this.$swal.Toast.fire({icon:"error",title:e}):i?i(e,n):this.$swal.Toast.fire({icon:"success",title:""+this.$i18next.t("Command successfully sent!")})})},getPowerDevices(){if(!this.printer.isAgentMoonraker())return;const e={func:"machine/device_power/devices",target:"moonraker_api",args:[]};this.printerComm.passThruToPrinter(e,(e,t)=>{e?this.$swal.Toast.fire({icon:"error",title:e}):this.powerDevices=(null===t||void 0===t?void 0:t.devices)||[]})},togglePower(e){const t="ON"===e.status.toUpperCase()?"off":"on",i=`device=${e.device}&action=${t}`,n={func:"machine/device_power/device?"+i,target:"moonraker_api",kwargs:{verb:"post"}};this.printerComm.passThruToPrinter(n,(e,t)=>{this.getPowerDevices(),e&&this.$swal.Toast.fire({icon:"error",title:e})})},batchPowerControl(e){if(!this.powerDevices.length)return;const t=""+this.powerDevices.map(e=>e.device).join("&"),i={func:`machine/device_power/${e}?${t}`,target:"moonraker_api",kwargs:{verb:"post"}};this.printerComm.passThruToPrinter(i,(e,t)=>{this.getPowerDevices(),e&&this.$swal.Toast.fire({icon:"error",title:e})})}}},fd=md,gd=(i("0f6a"),Object(N["a"])(fd,cd,dd,!1,null,"ca2fb97c",null)),vd=gd.exports,bd=function(){var e=this,t=e._self._c;return t("div",{staticClass:"wrapper"},[t("draggable",{attrs:{"ghost-class":"ghost",handle:".handle"},on:{start:function(t){e.dragging=!0},end:function(t){e.dragging=!1}},model:{value:e.currentItems,callback:function(t){e.currentItems=t},expression:"currentItems"}},e._l(e.currentItems,(function(i){return t("div",{key:i.id,staticClass:"item"},[t("div",{staticClass:"handle"},[t("i",{staticClass:"fas fa-grip-lines"})]),t("div",{staticClass:"title"},[t("span",[e._v(e._s(e.getTitle(i.id)))])]),t("div",{staticClass:"switch"},[t("div",{staticClass:"custom-control custom-switch"},[t("input",{staticClass:"custom-control-input update-printer",attrs:{id:"widget-toggle-"+i.id,type:"checkbox",name:"pause_on_failure"},domProps:{checked:i.enabled},on:{click:function(t){return e.toggleItemEnabled(i)}}}),t("label",{staticClass:"custom-control-label",staticStyle:{"font-size":"1rem"},attrs:{for:"widget-toggle-"+i.id}})])])])})),0),t("input",{ref:"sortingConfig",attrs:{id:"sorting-config",type:"hidden"}})],1)},yd=[],wd=i("b76a"),_d=i.n(wd),Cd={name:"ReorderModal",components:{draggable:_d.a},props:{items:{type:Array,required:!0},extraInfo:{type:Array,required:!0}},data(){return{dragging:!1,currentItems:[]}},watch:{dragging(e,t){e||this.saveNewOrder()}},created(){this.currentItems=JSON.parse(JSON.stringify(this.items))},mounted(){},methods:{getTitle(e){return this.extraInfo.find(t=>t.id===e).title},toggleItemEnabled(e){e.enabled=!e.enabled,this.saveNewOrder()},saveNewOrder(){this.$refs.sortingConfig.value=JSON.stringify(this.currentItems)}}},kd=Cd,Pd=(i("89d8"),Object(N["a"])(kd,bd,yd,!1,null,"825483f2",null)),Sd=Pd.exports,Dd=function(){var e=this,t=e._self._c;return t("widget-template",{scopedSlots:e._u([{key:"title",fn:function(){return[e._v(e._s(e.$t("Printer Terminal")))]},proxy:!0},{key:"content",fn:function(){return[t("div",{staticClass:"terminal-widget"},[t("printer-terminal",{attrs:{printer:e.printer,"printer-comm":e.printerComm,"show-full-screen-opt":!0}})],1)]},proxy:!0}])})},xd=[],Td=function(){var e=this,t=e._self._c;return t("div",{class:["wrapper",{"full-screen-height":e.fullScreenHeight}]},[t("div",{staticClass:"actionWrap"},[e.showFullScreenOpt?t("a",{attrs:{href:`/printers/${e.printer.id}/terminal/`}},[t("b-button",{staticClass:"actionBtn",attrs:{disabled:!e.feedIsOn}},[t("i",{staticClass:"fas fa-expand actionIcon"})])],1):e._e(),e.canToggleFeed?t("b-button",{staticClass:"actionBtn",on:{click:e.toggleTerminalPower}},[null===e.feedIsOn?t("b-spinner",{attrs:{small:""}}):t("i",{class:["fas","fa-power-off","actionIcon",{"text-primary":!e.feedIsOn}]})],1):e._e(),t("b-button",{staticClass:"actionBtn",attrs:{disabled:!e.feedIsOn},on:{click:e.clearFeed}},[t("i",{staticClass:"fas fa-trash actionIcon"})]),t("b-dropdown",{staticClass:"actionBtnNoP",attrs:{disabled:!e.feedIsOn,right:"","no-caret":"","toggle-class":"action-btn icon-btn","menu-class":"scrollable",title:"Filter"},scopedSlots:e._u([{key:"button-content",fn:function(){return[t("i",{staticClass:"fas fa-filter"})]},proxy:!0}])},[t("div",[t("div",[t("b-dropdown-text",{staticClass:"small text-secondary"},[e._v(e._s(e.$t("Filter")))]),t("b-dropdown-item",{nativeOn:{"!click":function(t){return t.stopPropagation(),t.preventDefault(),e.updateFilterPrefs("temperature",!e.hideTempMessages)}}},[t("div",{staticClass:"dropdown-text-group"},[t("i",{staticClass:"fas fa-check text-primary",style:{visibility:e.hideTempMessages?"visible":"hidden"}}),t("div",{staticClass:"filterItemH"},[t("i",{staticClass:"fas fa-fire"}),t("div",{staticClass:"text"},[e._v(e._s(e.$t("Suppress Temperature")))])])])]),t("b-dropdown-item",{nativeOn:{"!click":function(t){return t.stopPropagation(),t.preventDefault(),e.updateFilterPrefs("sd",!e.hideSDMessages)}}},[t("div",{staticClass:"dropdown-text-group"},[t("i",{staticClass:"fas fa-check text-primary",style:{visibility:e.hideSDMessages?"visible":"hidden"}}),t("div",{staticClass:"filterItemH"},[t("i",{staticClass:"fas fa-sd-card"}),t("div",{staticClass:"text"},[e._v(e._s(e.$t("Suppress SD Status Messages")))])])])]),t("b-dropdown-item",{nativeOn:{"!click":function(t){return t.stopPropagation(),t.preventDefault(),e.updateFilterPrefs("gcode",!e.hideGCodeMessages)}}},[t("div",{staticClass:"dropdown-text-group"},[t("i",{staticClass:"fas fa-check text-primary",style:{visibility:e.hideGCodeMessages?"visible":"hidden"}}),t("div",{staticClass:"filterItemH"},[t("i",{staticClass:"fas fa-code"}),t("div",{staticClass:"text"},[e._v(e._s(e.$t("Suppress Position Messages")))])])])]),t("b-dropdown-item",{nativeOn:{"!click":function(t){return t.stopPropagation(),t.preventDefault(),e.updateFilterPrefs("ok",!e.hideOKMessages)}}},[t("div",{staticClass:"dropdown-text-group"},[t("i",{staticClass:"fas fa-check text-primary",style:{visibility:e.hideOKMessages?"visible":"hidden"}}),t("div",{staticClass:"filterItemH"},[t("i",{staticClass:"fas fa-thumbs-up"}),t("div",{staticClass:"text"},[e._v(e._s(e.$t("Suppress 'OK' Messages")))])])])])],1)])])],1),t("terminal-feed-view",{staticClass:"feedWrap",attrs:{"terminal-feed-array":e.terminalFeedArray,"feed-is-on":e.feedIsOn}}),t("div",{staticClass:"inputWrap"},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.inputValue,expression:"inputValue"}],staticClass:"textInput",attrs:{disabled:!e.feedIsOn,type:"text",placeholder:e.$t("Enter code...")},domProps:{value:e.inputValue},on:{keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.sendMessage.apply(null,arguments)},input:function(t){t.target.composing||(e.inputValue=t.target.value)}}}),t("b-button",{staticClass:"sendBtn",attrs:{disabled:!e.feedIsOn,variant:"outline-primary"},on:{click:e.sendMessage}},[t("i",{staticClass:"fas fa-chevron-right text-primary-icon"})])],1)],1)},Id=[],Fd=function(){var e=this,t=e._self._c;return t("div",{staticClass:"feedWrap",attrs:{colorScheme:"background"}},[e.feedIsOn?e._l(e.terminalFeedArray,(function(i,n){return t("div",{key:n,staticClass:"itemWrap"},[null!==i&&void 0!==i&&i.msg?t("div",{staticClass:"terminalText"},[t("p",{staticClass:"messageTimeStamp"},[e._v(" "+e._s(i.normalTimeStamp)+" ")]),t("p",{staticClass:"messageText"},[e._v(" "+e._s(i.msg)+" ")])]):e._e(),t("div",{staticClass:"divider"})])})):t("div",{staticStyle:{width:"100%"}},[t("p",{staticStyle:{margin:"0","margin-top":"5px","text-align":"center"}},[t("i",{staticClass:"fas fa-power-off",staticStyle:{"margin-right":"5px"}}),e._v(e._s(e.$t("Terminal feed is off"))+" ")])])],2)},Ad=[],$d={name:"TerminalFeedView",components:{},props:{terminalFeedArray:{type:Array,required:!0},feedIsOn:{type:Boolean,required:!0}},methods:{onMenuOptionClicked(e){"share"===e&&this.onSharePrinter()}}},Od=$d,Nd=(i("da42"),Object(N["a"])(Od,Fd,Ad,!1,null,"e788be14",null)),Ld=Nd.exports,Md={name:"PrinterTerminal",components:{TerminalFeedView:Ld},props:{printer:{type:Object,required:!0},printerComm:{type:Object,required:!0},fullScreenHeight:{type:Boolean,required:!1,default:!1},showFullScreenOpt:{type:Boolean,required:!0,default:!0}},data(){return{oldTerminalFeed:null,terminalFeedArray:[],inputValue:"",hideTempMessages:!0,hideSDMessages:!0,hideOKMessages:!0,hideGCodeMessages:!0,feedIsOn:!0}},computed:{canToggleFeed(){return!this.printer.isAgentMoonraker()&&this.printer.isAgentVersionGte("2.4.7","0.0.0")}},created(){this.printerComm.onTerminalFeedReceived=this.onNextTerminalFeed,this.terminalSetup()},mounted(){const e=localStorage.getItem("printer-terminal-filter-prefs-temperature"),t=localStorage.getItem("printer-terminal-filter-prefs-sd"),i=localStorage.getItem("printer-terminal-filter-prefs-ok"),n=localStorage.getItem("printer-terminal-filter-prefs-gcode");e&&(this.hideTempMessages=JSON.parse(e)),t&&(this.hideSDMessages=JSON.parse(t)),n&&(this.hideGCodeMessages=JSON.parse(n)),i&&(this.hideOKMessages=JSON.parse(i))},methods:{onNextTerminalFeed(e){var t,i;const n=(null===e||void 0===e?void 0:e.msg)===(null===(t=this.oldTerminalFeed)||void 0===t?void 0:t.msg),a=(null===e||void 0===e?void 0:e._ts)===(null===(i=this.oldTerminalFeed)||void 0===i?void 0:i._ts),r=null===e||void 0===e?void 0:e.msg;this.oldTerminalFeed=e;const s=/((N\d+\s+)?M105)|((ok\s+([PBN]\d+\s+)*)?([BCLPR]|T\d*):-?\d+)/g,o=/((N\d+\s+)?M27)|(SD printing byte)|(Not SD printing)/g,l=/^G[0-3].*$/g;this.hideSDMessages&&o.test(r)||this.hideTempMessages&&s.test(r)||this.hideGCodeMessages&&l.test(r)||this.hideOKMessages&&"ok"===r.toLowerCase().trim()||n||a||(e.normalTimeStamp=H()().format("h:mm:ssa"),e.msg=r.trim(),this.terminalFeedArray.unshift(e))},sendMessage(){if(!this.inputValue.length)return;if(!this.feedIsOn)return;const e=this.inputValue.toUpperCase();this.printer.isAgentMoonraker()&&this.onNextTerminalFeed({msg:e,_ts:new Date});const t={func:"printer/gcode/script",target:"moonraker_api",kwargs:{script:""+e}},i={func:"commands",target:"_printer",args:[""+e],force:!0},n=this.printer.isAgentMoonraker()?t:i;this.printerComm.passThruToPrinter(n,(e,t)=>{e&&this.$swal.Toast.fire({icon:"error",title:e})}),this.inputValue=""},clearFeed(){this.terminalFeedArray=[]},updateFilterPrefs(e,t){localStorage.setItem("printer-terminal-filter-prefs-"+e,JSON.stringify(t)),"temperature"===e?this.hideTempMessages=t:"gcode"===e?this.hideGCodeMessages=t:"ok"===e?this.hideOKMessages=t:this.hideSDMessages=t},async terminalSetup(){this.canToggleFeed?this.printerComm.passThruToPrinter({func:"toggle_terminal_feed",target:"gcode_hooks",args:["get"]},(e,t)=>{this.feedIsOn=t||!1}):this.feedIsOn=!0},async toggleTerminalPower(){const e=this.feedIsOn?"off":"on";this.feedIsOn=null,this.clearFeed(),this.printerComm.passThruToPrinter({func:"toggle_terminal_feed",target:"gcode_hooks",args:[e]},(e,t)=>{this.feedIsOn=t||!1})}}},Ed=Md,Rd=(i("45e1"),Object(N["a"])(Ed,Td,Id,!1,null,"e9a802f6",null)),zd=Rd.exports,Bd={name:"TerminalWidget",components:{WidgetTemplate:Ds,PrinterTerminal:zd},props:{printer:{type:Object,required:!0},printerComm:{type:Object,required:!0}}},Ud=Bd,jd=(i("6984"),Object(N["a"])(Ud,Dd,xd,!1,null,"4fa56247",null)),Wd=jd.exports;const Hd="/resume_print/",Vd="/mute_current_print/?mute_alert=true",Yd="/acknowledge_alert/?alert_overwrite=NOT_FAILED",Gd=[{id:1,title:"Print Job Control",component:"PrintJobControlWidget"},{id:2,title:"Last Print / Progress",component:"PrintProgressWidget"},{id:3,title:"Failure Detection",component:"FailureDetectionWidget"},{id:4,title:"Temperature Controls",component:"TemperatureWidget"},{id:5,title:"Printer Controls",component:"PrinterControlWidget"},{id:6,title:"Terminal Widget",component:"TerminalWidget"}];var Kd={name:"PrinterControlPage",components:{StreamingBox:Mr,PageLayout:Ft,CascadedDropdown:ci,PrintJobControlWidget:Xo,PrintProgressWidget:Hc,FailureDetectionWidget:Jc,TemperatureWidget:ld,PrinterControlWidget:vd,TerminalWidget:Wd},data(){return{user:null,printerId:null,printer:null,webcams:[],selectedWebcamIndex:0,currentBitrate:null,lastPrint:null,lastPrintFetchCounter:0,widgetsConfig:null,customRotationDeg:0,isAllWebcamSelected:!1,customRotationData:[]}},computed:{widgets(){if(this.widgetsConfig)return this.widgetsConfig.map(e=>{const t=Gd.find(t=>t.id===e.id);return{...e,...t}})},videoRotationDeg(){var e,t,i;const n=+(null!==(e=null===(t=this.printer)||void 0===t||null===(i=t.settings)||void 0===i?void 0:i.webcam_rotation)&&void 0!==e?e:0)+this.customRotationDeg;return n%360},selectedWebcam(){return this.webcams[this.selectedWebcamIndex]},isAtleastOnePrinterPortrait(){let e=!1;return this.webcams.forEach(t=>{var i;const n=t.stream_id,a=this.customRotationData.find(e=>e.streamId==n)||null,r=a?Number(a.customRotation):0,s=+(null!==(i=t.rotation)&&void 0!==i?i:0)+r,o=s%360;90!==o&&270!==o||(e=!0)}),e}},watch:{printer:{handler(e,t){var i,n;e&&null===t?(this.$nextTick(this.resizeStream),this.widgetsConfig=this.restoreWidgets()):(null===e||void 0===e?void 0:e.isActive())===(null===t||void 0===t?void 0:t.isActive())&&(null===e||void 0===e||null===(i=e.current_print)||void 0===i?void 0:i.started_at)===(null===t||void 0===t||null===(n=t.current_print)||void 0===n?void 0:n.started_at)||this.fetchLastPrint({pollForCorrect:!0})},deep:!0},videoRotationDeg(){this.resizeStream()}},created(){var e;this.customRotationDeg=Object(s["a"])("webcamRotationDeg",0,`${null===(e=this.printer)||void 0===e?void 0:e.id}_${this.webcams.length?this.webcams[0].stream_id:0}`),this.user=Object(Q["f"])(),this.printerId=it()(window.location.pathname,"/").slice(-3,-2).pop(),this.fetchLastPrint(),this.printerComm=Ca.getOrCreatePrinterComm(this.printerId,le["a"].printerWebSocket(this.printerId),{onPrinterUpdateReceived:e=>{var t,i;if(this.printer=Ae(e,this.printer),0===this.webcams.length&&((null===(t=this.printer)||void 0===t||null===(i=t.settings)||void 0===i?void 0:i.webcams)||[]).length>0){var n,a;const e=null===(n=this.printer)||void 0===n||null===(a=n.settings)||void 0===a?void 0:a.webcams;let t=!1;for(const n of e)n.webrtc=Dr(n.stream_mode,n.stream_id),this.webcams.push(n),n.webrtc.openForPrinter(this.printer.id,this.printer.auth_token),n.data_channel_available&&(this.printerComm.setWebRTC(n.webrtc),t=!0);if(!t){const e=this.webcams.find(e=>!0===e.is_primary_camera);e&&this.printerComm.setWebRTC(e.webrtc)}this.webcams.length>0&&(this.selectedWebcamIndex=this.webcams.findIndex(e=>!0===e.is_primary_camera));const i=Object(s["a"])("preferredWebcam",null,this.printer.id);if(i)if("all"===i)this.isAllWebcamSelected=!0;else{const e=this.webcams.findIndex(e=>e.stream_id==i);-1!==e&&(this.selectedWebcamIndex=e)}}},onStatusReceived:e=>{const t=e.status||e.octoprint_data;this.printer=Ae({status:t},this.printer)}}),this.printerComm.connect()},mounted(){document.querySelector("body").style.paddingBottom=0,addEventListener("resize",this.resizeStream)},methods:{handleRotateRightClicked(e,t){const i=this.customRotationData.findIndex(e=>e.streamId===t);-1===i?this.customRotationData.push({streamId:t,customRotation:e}):this.customRotationData[i].customRotation=e,this.customRotationDeg=e},chooseWebcam(e,t="all"){"all"==e?this.isAllWebcamSelected=!0:(this.selectedWebcamIndex=e,this.isAllWebcamSelected=!1),Object(s["b"])("preferredWebcam",t,this.printer.id)},onMenuOptionClicked(e){"share"===e&&this.onSharePrinter()},onSharePrinter(){this.$swal.openModalWithComponent(bs,{isProAccount:this.user.is_pro,printer:this.printer},{confirmButtonText:"Close"})},restoreWidgets(){let e=Gd.map(e=>({id:e.id,enabled:!0}));Object(we["a"])()&&(e=JSON.parse(localStorage.getItem("printer-control-widgets-"+this.printer.id))||e);for(const i of Gd)e.find(e=>e.id===i.id)||e.push({id:i.id,enabled:!0});for(const i of e)Gd.find(e=>e.id===i.id)||e.splice(e.indexOf(i),1);const t=e.find(e=>6===e.id);return t&&!this.printer.isAgentVersionGte("2.3.11","1.4.4")&&e.splice(e.indexOf(t),1),Object(we["a"])()&&localStorage.setItem("printer-control-widgets-"+this.printer.id,JSON.stringify(e)),e},onUpdateSettings(e){const{settingName:t,settingValue:i}=e;this.printer[t]=i,oe["a"].patch(le["a"].printer(this.printer.id),{[t]:i}).catch(e=>{console.error("Failed to update printer settings: ",e)})},fetchLastPrint(e){const t={pollForCorrect:!1},{pollForCorrect:i}=e||t;oe["a"].get(le["a"].prints(),{params:{start:0,limit:1,filter_by_printer_ids:[this.printerId],sorting:"date_desc"}}).then(e=>{if(e.data.length&&(this.lastPrint=Te(e.data[0])),i){let e=!1;if(this.lastPrint&&this.printer.isActive()===this.lastPrint.status.isActive||(e=!0),e&&this.lastPrintFetchCounter<5){const e=1e3*(this.lastPrintFetchCounter+1);setTimeout(()=>this.fetchLastPrint({pollForCorrect:!0}),e),this.lastPrintFetchCounter+=1}else this.lastPrintFetchCounter=0}}).catch(e=>{console.error("Error fetching last print: ",e)})},resizeStream(){const e=this.$refs.streamInner;if(e)for(const t of e){const e=t.parentElement,i=window.getComputedStyle(e),n=i.getPropertyValue("position");if("fixed"!==n)return t.style.width="100%",void(t.style.height="auto");const a=e.getBoundingClientRect(),r=a.width,s=a.height,o=this.videoRotationDeg%180!==0,l=this.printer.settings.ratio169,c=l?o?16/9:9/16:o?4/3:3/4;let d=r,u=d*c;u>s&&(u=s,d=u/c),o&&(d=Math.max(d,u),u=Math.max(d,u)),t.style.width=d+"px",t.style.height=u+"px"}},onNotAFailureClicked(e,t){this.$swal.Confirm.fire({title:""+this.$i18next.t("Noted!"),html:`

${this.$i18next.t("Do you want to mute failure detection on for this print?")}

${this.$i18next.t("If you select 'Mute', failure detection will be turned off for this print, but will be automatically turned on for your next print.")}`,confirmButtonText:""+this.$i18next.t("Mute"),cancelButtonText:""+this.$i18next.t("Cancel")}).then(e=>{e.isConfirmed&&setTimeout(()=>{this.onSendPrinterAction(this.printer.id,Vd)},1e3),t?(this.printer.setTransientState("Resuming"),this.onSendPrinterAction(this.printer.id,Hd)):this.onSendPrinterAction(this.printer.id,Yd)}),e.preventDefault()},onSendPrinterAction(e,t,i){oe["a"].post(le["a"].printerAction(e,t))},onReorderClicked(){this.$swal.openModalWithComponent(Sd,{items:[...this.widgetsConfig],extraInfo:Gd},{confirmButtonText:""+this.$i18next.t("Save"),showCancelButton:!0,preConfirm:()=>({config:document.getElementById("sorting-config").value})}).then(e=>{var t;if(null!==(t=e.value)&&void 0!==t&&t.config){const t=JSON.parse(e.value.config);this.widgetsConfig=t,Object(we["a"])()&&localStorage.setItem("printer-control-widgets-"+this.printer.id,JSON.stringify(t))}})}}},qd=Kd,Jd=(i("eac9"),Object(N["a"])(qd,Mc,Ec,!1,null,"5dd1d5bb",null)),Zd=Jd.exports,Qd=function(){var e=this,t=e._self._c;return t("page-layout",{scopedSlots:e._u([{key:"content",fn:function(){return[t("b-container",{staticClass:"flex-full-size",class:{"is-in-mobile":e.useMobileLayout},attrs:{fluid:"xl"}},[t("b-row",{staticClass:"flex-full-size"},[t("b-col",{staticClass:"flex-full-size"},[e.user?t("div",{staticClass:"flex-full-size"},[e.useMobileLayout?t("div",{staticClass:"mobile-settings-wrapper full-on-mobile"},["/user_preferences/"===e.$route.path?t("div",{staticClass:"mobile-settings-categories"},[t("h2",{directives:[{name:"show",rawName:"v-show",value:!e.onlyNotifications,expression:"!onlyNotifications"}],staticClass:"categories-title section-title"},[e._v(" "+e._s(e.$t("Account"))+" ")]),e._l(e.sections,(function(i,n){return[i.isHidden?e._e():t("router-link",{key:n,class:i.isSubcategory?"subcategory":"",attrs:{to:i.route}},[t("span",[i.faIcon?t("i",{class:[i.faIcon,"mr-2"],staticStyle:{"font-size":"1.125rem"}}):e._e(),t("span",[e._v(e._s(i.title))])]),t("i",{staticClass:"fas fa-arrow-right"})])]})),e.onlyNotifications?e._e():t("a",{attrs:{href:"#"},on:{click:function(t){return t.preventDefault(),e.logout.apply(null,arguments)}}},[t("span",[t("i",{class:["fas fa-sign-out-alt","mr-2"],staticStyle:{"font-size":"1.125rem"}}),e._v(" "+e._s(e.$t("Logout"))+" ")])])],2):t("div",{staticClass:"mobile-settings-content",class:{"is-in-mobile":e.useMobileLayout}},[!e.currentSection||e.currentSection.isNotificationChannel&&!e.availableNotificationPlugins?e._e():t(e.currentRouteComponent,{tag:"component",attrs:{user:e.user,"error-messages":e.errorMessages,saving:e.saving,config:e.config,"notification-channel":e.currentSection&&e.currentSection.isNotificationChannel?e.currentSection:{}},on:{createNotificationChannel:e.createNotificationChannel,updateNotificationChannel:e.patchNotificationChannel,deleteNotificationChannel:e.deleteNotificationChannel,clearErrorMessages:e.clearErrorMessages,addErrorMessage:e.addErrorMessage,updateSetting:e.updateSetting}})],1)]):t("b-tabs",{staticClass:"desktop-settings-wrapper",attrs:{vertical:!0,"nav-wrapper-class":"settings-nav","active-nav-item-class":"","content-class":"desktop-settings-content"},on:{"activate-tab":e.updateRoute},scopedSlots:e._u([{key:"tabs-end",fn:function(){return[t("li",{staticClass:"nav-item"},[t("a",{staticClass:"nav-link",attrs:{href:"#"},on:{click:function(t){return t.preventDefault(),e.logout.apply(null,arguments)}}},[t("i",{class:["fas fa-sign-out-alt","mr-2"]}),e._v(" "+e._s(e.$t("Logout"))+" ")])])]},proxy:!0}],null,!1,2570481543)},[e._l(e.sections,(function(i,n){return[i.isHidden?e._e():t("b-tab",{key:n,attrs:{"title-item-class":i.isSubcategory?"subcategory":"",active:e.$route.path===i.route,disabled:i.isNotificationChannel&&!e.user.notification_enabled},scopedSlots:e._u([{key:"title",fn:function(){return[i.faIcon?t("i",{class:[i.faIcon,"mr-2"]}):e._e(),e._v(" "+e._s(i.title)+" ")]},proxy:!0}],null,!0)},[!i.isNotificationChannel||e.availableNotificationPlugins?t(n,{tag:"component",attrs:{user:e.user,"error-messages":e.errorMessages,saving:e.saving,config:e.config,"notification-channel":i.isNotificationChannel?i:{}},on:{createNotificationChannel:e.createNotificationChannel,updateNotificationChannel:e.patchNotificationChannel,deleteNotificationChannel:e.deleteNotificationChannel,clearErrorMessages:e.clearErrorMessages,addErrorMessage:e.addErrorMessage,updateSetting:e.updateSetting}}):e._e()],1)]}))],2)],1):t("div",{staticClass:"text-center"},[t("b-spinner",{staticClass:"mt-5",attrs:{label:e.$t("Loading...")}})],1)])],1)],1)]},proxy:!0}])})},Xd=[];const eu="true"===new URLSearchParams(window.location.search).get("onlyNotifications"),tu={GeneralPreferences:{title:""+G["a"].t("General"),faIcon:"fas fa-cog",importComponent:()=>i.e("chunk-2d0d5f72").then(i.bind(null,"7113")),route:ae.GeneralPreferences,isHidden:Object(Q["a"])()||eu},ThemePreferences:{title:""+G["a"].t("Appearance"),faIcon:"fas fa-magic",importComponent:()=>i.e("chunk-63df7391").then(i.bind(null,"3922")),route:ae.ThemePreferences,isHidden:Object(Q["a"])()&&!("true"===new URLSearchParams(window.location.search).get("themeable"))||eu},ProfilePreferences:{title:""+G["a"].t("Profile"),faIcon:"fas fa-user-edit",importComponent:()=>i.e("chunk-2d22c522").then(i.bind(null,"f376")),route:ae.ProfilePreferences,isHidden:eu},AuthorizedApps:{title:""+G["a"].t("Authorized Apps"),faIcon:"fas fa-check-circle",importComponent:()=>i.e("chunk-2d21a9b7").then(i.bind(null,"bbde")),route:ae.AuthorizedApps,isHidden:eu},GeneralNotifications:{title:""+G["a"].t("Notifications"),faIcon:"fas fa-bell",importComponent:()=>i.e("chunk-d085a80a").then(i.bind(null,"9c95")),route:ae.GeneralNotifications},PushNotifications:{title:""+G["a"].t("Push Notification"),isSubcategory:!0,isNotificationChannel:!0,importComponent:()=>({}),route:ae.PushNotifications,isHidden:!Object(Q["a"])()}},iu=Object.keys(te).reduce((e,t)=>Object.assign(e,{[t]:{title:te[t].displayName,channelName:t,isSubcategory:!0,isNotificationChannel:!0,route:ae[t],importComponent:()=>i("17ae")("./"+te[t].componentName)}}),{});var nu={...tu,...iu},au={name:"UserPreferencesPage",components:{PageLayout:Ft,...Object.keys(nu).reduce((e,t)=>Object.assign(e,{[t]:nu[t].importComponent}),{})},props:{config:{default(){return{}},type:Object}},data(){return{sections:nu,availableNotificationPlugins:null,configuredNotificationChannels:null,user:null,saving:{},errorMessages:{},delayedSubmit:{first_name:{delay:1e3,timeoutId:null},last_name:{delay:1e3,timeoutId:null}},combinedInputs:{},useMobileLayout:!1}},computed:{visibleSections(){return Object.values(nu).filter(e=>!e.isHidden)},currentRouteComponent(){for(const[e,t]of Object.entries(ae))if(this.$route.path===t)return e;return null},currentSection(){for(const e of Object.values(this.sections))if(e.route===this.$route.path)return e;return null},inMobileWebView(){return Object(Q["a"])()},clientIsThemeable(){return!Object(Q["a"])()||"true"===new URLSearchParams(window.location.search).get("themeable")},onlyNotifications(){return"true"===new URLSearchParams(window.location.search).get("onlyNotifications")}},created(){this.fetchNotificationPlugins(),this.fetchNotificationChannels(),this.fetchUser()},mounted(){this.checkMobileLayout(),window.onresize=this.checkMobileLayout,this.useMobileLayout&&(document.querySelector("body").style.paddingTop="0px")},methods:{updateRoute(e){const t=Object.values(this.visibleSections)[e];this.$router.replace({path:t.route})},logout(){this.$swal.Confirm.fire({title:""+this.$i18next.t("Confirmation"),html:`

${this.$i18next.t("You a going to logout from your account")}

`,confirmButtonText:""+this.$i18next.t("Logout"),cancelButtonText:""+this.$i18next.t("Cancel")}).then(e=>{e.isConfirmed&&window.location.replace("/accounts/logout/")})},checkMobileLayout(){const e=Math.max(document.documentElement.clientWidth||0,window.innerWidth||0);this.useMobileLayout=Object(Q["a"])()||e<1140},fetchUser(){return oe["a"].get(le["a"].user()).then(e=>{this.user=e.data})},fetchNotificationPlugins(){return oe["a"].get(le["a"].notificationPlugins()).then(e=>{const t=e.data.plugins||{};this.availableNotificationPlugins=t;for(const[i,n]of Object.entries(this.sections))if(n.isNotificationChannel&&(this.sections[i].pluginInfo=t[n.channelName]),n.channelName&&t[n.channelName]&&t[n.channelName].env_vars){const e=t[n.channelName].env_vars,a=Object.values(e).some(e=>e.is_required&&!e.is_set);a&&this.$set(this.sections,i,{...this.sections[i],isHidden:!0})}})},fetchNotificationChannels(){return oe["a"].get(le["a"].notificationChannels()).then(e=>{const t=e.data;this.configuredNotificationChannels=t;for(const[i,n]of Object.entries(this.sections))n.isNotificationChannel&&(this.sections[i].channelInfo=t.find(e=>e.name===n.channelName))})},createNotificationChannel({section:e,config:t,opts:i={}}){const n={user:this.user.id,name:e.channelName,config:t,...i},a=Object(Pn["e"])(e,"config");return this.setSavingStatus(a,!0),oe["a"].post(le["a"].notificationChannels(),n).then(()=>{this.setSavingStatus(a,!1),this.$router.go()}).catch(t=>{if(this.setSavingStatus(a,!1),t.response&&t.response.data&&"object"===typeof t.response.data){let i=[];for(const e of Object.values(t.response.data))if("object"===typeof e)for(const t of Object.values(e))i.push(t);else"string"===typeof e?i.push(e):(console.warn("Undefined error object structure"),console.log(t.response));const n=Object(Pn["e"])(e,"config");this.$set(this.errorMessages,n,i)}else this.errorDialog(t,""+this.$i18next.t("Can not update your preferences"))})},patchNotificationChannel({section:e,propNames:t,propValues:i}){void 0!==i&&i.forEach((i,n)=>{const a=t[n];this.sections[e.channelName].channelInfo[a]=i});let n={name:e.channelName};for(const a of t)n[a]=e.channelInfo[a];for(const a of t){const t=Object(Pn["e"])(e,a);this.setSavingStatus(t,!0)}return oe["a"].patch(le["a"].updateNotificationChannel(e.channelInfo.id),n).then(()=>{for(const i of t){const t=Object(Pn["e"])(e,i);this.setSavingStatus(t,!1)}}).catch(i=>{for(const n of t){const t=Object(Pn["e"])(e,n);this.setSavingStatus(t,!1)}if(i.response&&i.response.data&&"object"===typeof i.response.data){let n=[];for(const e of Object.values(i.response.data))if("object"===typeof e)for(const t of Object.values(e))n.push(t);else"string"===typeof e?n.push(e):(console.warn("Undefined error object structure"),console.log(i.response));for(const i of t){const t=Object(Pn["e"])(e,i);this.$set(this.errorMessages,t,n)}}else this.errorDialog(i,""+this.$i18next.t("Can not update your preferences"))})},deleteNotificationChannel(e){return oe["a"].delete(le["a"].updateNotificationChannel(e.channelInfo.id)).then(()=>{this.$router.go()}).catch(e=>{this.errorDialog(e,""+this.$i18next.t("Can not update your preferences"))})},clearErrorMessages(e){this.errorMessages[e]=[]},addErrorMessage(e,t){this.errorMessages[e]?this.errorMessages[e].push(t):this.errorMessages[e]=[t]},patchUser(e,t){let i={},n=e;const a=this.checkForCombinedValues(e);if(a){for(const r of a.inputs){n=a.key;const e=this.user[r];i[r]=e}const e=Object.values(i),t=e.filter(e=>!e);if(t.length!==e.length&&0!==t.length)return}else i={[e]:t};return this.setSavingStatus(n,!0),oe["a"].patch(le["a"].user(),i).catch(e=>{if(e.response&&e.response.data&&"object"===typeof e.response.data)if(e.response.data.non_field_errors)this.errorDialog(e,e.response.data.non_field_errors);else for(const t in e.response.data)this.errorMessages[n]=e.response.data[t];else this.errorDialog(e,""+this.$i18next.t("Can not update your preferences"))}).then(()=>{window.ReactNativeWebView&&("first_name"===n?window.ReactNativeWebView.postMessage(JSON.stringify({firstName:this.user.first_name})):"last_name"===n&&window.ReactNativeWebView.postMessage(JSON.stringify({lastName:this.user.last_name}))),this.setSavingStatus(n,!1)})},checkForCombinedValues(e){for(const[t,i]of Object.entries(this.combinedInputs))if(i.includes(e))return{inputs:i,key:t};return null},setSavingStatus(e,t){t&&delete this.errorMessages[e],this.$set(this.saving,e,t)},updateSetting(e,t){if(void 0!==t&&(this.user[e]=t),e in this.delayedSubmit){const t=this.delayedSubmit[e];return t["timeoutId"]&&clearTimeout(t["timeoutId"]),void(this.delayedSubmit[e]["timeoutId"]=setTimeout(()=>{this.patchUser(e,this.user[e])},t["delay"]))}this.patchUser(e,this.user[e])}}},ru=au,su=(i("883d"),Object(N["a"])(ru,Qd,Xd,!1,null,"720acc46",null)),ou=su.exports,lu=function(){var e=this,t=e._self._c;return t("page-layout",{scopedSlots:e._u([{key:"topBarRight",fn:function(){return[t("div",[t("b-dropdown",{attrs:{right:"","no-caret":"","toggle-class":"icon-btn"},scopedSlots:e._u([{key:"button-content",fn:function(){return[t("i",{staticClass:"fas fa-filter"})]},proxy:!0}])},[e._l(e.eventClassFiltering,(function(i){return t("b-dropdown-item",{key:i.key,on:{click:function(t){return e.toggleEventFiltering("eventClassFiltering",i.key)}}},[t("i",{staticClass:"fas fa-check text-primary",style:{visibility:i.selected?"visible":"hidden"}}),t("span",{class:e.cssClassFromEventClass(i.key)},[e._v(e._s(i.title))])])})),t("b-dropdown-divider"),e._l(e.eventTypeFiltering,(function(i){return t("b-dropdown-item",{key:i.key,on:{click:function(t){return e.toggleEventFiltering("eventTypeFiltering",i.key)}}},[t("i",{staticClass:"fas fa-check text-primary",style:{visibility:i.selected?"visible":"hidden"}}),e._v(e._s(i.title)+" ")])}))],2)],1)]},proxy:!0},{key:"content",fn:function(){return[t("b-container",[t("b-row",{staticClass:"justify-content-center"},[t("div",{staticClass:"col-sm-12 col-md-10 col-lg-8"},[e.loading||0!==e.printerEvents.length?t("div",[e._l(e.printerEvents,(function(e){return t("printer-event-card",{key:e.id,attrs:{"printer-event":e}})})),t("mugen-scroll",{staticClass:"text-center p-4",attrs:{handler:e.fetchMoreData,"should-handle":!e.loading}},[e.noMoreData?t("div",{staticClass:"text-center p-2"},[e._v(e._s(e.$t("No more notifications.")))]):e._e(),e.noMoreData?e._e():t("b-spinner",{attrs:{label:"Loading..."}})],1)],2):t("div",{staticClass:"text-center"},[t("img",{staticClass:"w-25 my-4",attrs:{src:i("f23d")}}),t("h5",{staticClass:"text-primary"},[e._v(e._s(e.$t("Nothing to look here. Enjoy your vacation!")))])])])])],1)]},proxy:!0}])})},cu=[],du=function(){var e=this,t=e._self._c;return t("div",{staticClass:"printer-event-card my-3",class:e.tintBorderClass},[t("div",{staticClass:"printer-event-text",class:{link:e.printerEvent.info_url},on:{click:e.onTextClick}},[t("div",{staticClass:"title font-weight-bold my-2",class:e.tintClass},[e._v(" "+e._s(e.eventTitle)+" "),e.printerEvent.info_url?t("i",{staticClass:"fas fa-external-link-alt"}):e._e()]),t("div",{staticClass:"description",domProps:{innerHTML:e._s(e.printerEvent.event_text)}}),t("div",{staticClass:"my-2 text-muted font-weight-light small"},[e._v(" "+e._s(e.printerEvent.created_at.format("LLLL"))+" ")])]),e.printerEvent.image_url?t("div",{staticClass:"printer-event-snapshot",style:{backgroundImage:`url(${e.printerEvent.image_url})`}}):e._e()])},uu=[],pu={name:"PrinterEventCard",components:{},props:{printerEvent:{type:Object,required:!0}},computed:{eventTitle(){return this.printerEvent.event_title||""+this.$i18next.t("Unknown event")},tintClass(){switch(this.printerEvent.event_class){case"ERROR":return"text-danger";case"WARNING":return"text-warning";case"SUCCESS":return"text-success";default:return""}},tintBorderClass(){switch(this.printerEvent.event_class){case"ERROR":return"border-danger";case"WARNING":return"border-warning";case"SUCCESS":return"border-success";default:return""}}},methods:{onTextClick(){this.printerEvent.info_url&&window.open(this.printerEvent.info_url,"_blank")}}},hu=pu,mu=(i("59d9"),Object(N["a"])(hu,du,uu,!1,null,"4f0efb80",null)),fu=mu.exports;const gu={eventClassFiltering:"printer-event-class-filtering",eventTypeFiltering:"printer-event-type-filtering"},vu=(e,t)=>`${gu["prefix"]}.${t}`,bu=(e,t,i)=>Object(s["a"])(vu(e,t),i),yu=12;var wu={name:"PrinterEventsPage",components:{MugenScroll:ni.a,PageLayout:Ft,PrinterEventCard:fu},props:{},data(){return{printerEvents:[],loading:!1,noMoreData:!1,eventClassFiltering:[{key:"ERROR",title:"Error",selected:bu("eventClassFiltering","ERROR",!0)},{key:"WARNING",title:"Warning",selected:bu("eventClassFiltering","WARNING",!0)},{key:"SUCCESS",title:"Successs",selected:bu("eventClassFiltering","SUCCESS",!0)},{key:"INFO",title:"Other",selected:bu("eventClassFiltering","INFO",!0)}],eventTypeFiltering:[{key:"ALERT",title:"Failure Detection",selected:bu("eventTypeFiltering","ALERT",!0)},{key:"ENDED",title:"Print Job Ended",selected:bu("eventTypeFiltering","ENDED",!0)},{key:"STARTED",title:"Print Job Started",selected:bu("eventTypeFiltering","STARTED",!0)},{key:"PAUSE_RESUME",title:"Print Job Paused/Resumed",selected:bu("eventTypeFiltering","PAUSE_RESUME",!0)},{key:"FILAMENT_CHANGE",title:"Filament Change",selected:bu("eventTypeFiltering","FILAMENT_CHANGE",!0)},{key:"PRINTER_ERROR",title:"Printer Error",selected:bu("eventTypeFiltering","PRINTER_ERROR",!0)}]}},created(){this.refetchData()},methods:{fetchMoreData(){if(this.noMoreData)return;this.loading=!0;const e=Rn()(Fo()(this.eventClassFiltering,"selected"),"key"),t=Rn()(Fo()(this.eventTypeFiltering,"selected"),"key");oe["a"].get(le["a"].printerEvents(),{params:{start:this.printerEvents.length,limit:yu,filter_by_classes:e,filter_by_types:t}}).then(e=>{this.loading=!1,this.noMoreData=e.data.length$e(e)))})},refetchData(){this.printerEvents=[],this.noMoreData=!1,this.fetchMoreData()},cssClassFromEventClass(e){switch(e){case"ERROR":return"text-danger";case"INFO":return"";default:return"text-"+e.toLowerCase()}},toggleEventFiltering(e,t){const i=pt()(this[e],e=>e.key==t),n=this[e][i];this.$set(this[e],i,{...n,selected:!n.selected}),Object(s["b"])(vu("eventClassFiltering",e.key),!n.selected),this.refetchData()}}},_u=wu,Cu=Object(N["a"])(_u,lu,cu,!1,null,"4c7d7dc7",null),ku=Cu.exports,Pu=function(){var e=this,t=e._self._c;return t("page-layout",{scopedSlots:e._u([{key:"topBarLeft",fn:function(){return[t("div",{staticClass:"printer-name truncated"},[e._v(" "+e._s(e.printer?e.printer.name:"")+" ")])]},proxy:!0},{key:"topBarRight",fn:function(){return[e.printer?t("div",{staticClass:"action-panel"},[t("a",{staticClass:"btn shadow-none action-btn icon-btn",attrs:{href:`/tunnels/${e.printer.id}/`,title:e.$t("OctoPrint Tunnel")}},[t("svg",{staticClass:"custom-svg-icon"},[t("use",{attrs:{href:"#svg-tunnel"}})]),t("span",{staticClass:"sr-only"},[e._v(e._s(e.$t("OctoPrint Tunnel")))])]),t("a",{staticClass:"btn shadow-none action-btn icon-btn",attrs:{href:`/printers/${e.printer.id}/`,title:e.$t("Configure")}},[t("i",{staticClass:"fas fa-wrench"}),t("span",{staticClass:"sr-only"},[e._v(e._s(e.$t("Configure")))])]),t("b-dropdown",{attrs:{right:"","no-caret":"","toggle-class":"icon-btn d-md-none"},scopedSlots:e._u([{key:"button-content",fn:function(){return[t("i",{staticClass:"fas fa-ellipsis-v"})]},proxy:!0}],null,!1,3452768261)},[t("cascaded-dropdown",{ref:"cascadedDropdown",attrs:{"menu-options":[{key:"tunnel",svgIcon:"svg-tunnel",title:e.$t("OctoPrint Tunnel"),href:`/tunnels/${e.printer.id}/`},{key:"settings",icon:"fas fa-wrench",title:e.$t("Configure"),href:`/printers/${e.printer.id}/`}]},on:{menuOptionClicked:e.onMenuOptionClicked}})],1)],1):e._e()]},proxy:!0},{key:"content",fn:function(){return[t("div",{staticClass:"contentWrap"},[null!==e.printerComm&&null!==e.printer?t("printer-terminal",{attrs:{printer:e.printer,"printer-comm":e.printerComm,"full-screen-height":!0,"show-full-screen-opt":!1}}):e._e()],1)]},proxy:!0}])})},Su=[],Du={name:"PrinterTerminalPage",components:{PageLayout:Ft,CascadedDropdown:ci,PrinterTerminal:zd},data:function(){return{user:null,printerId:null,printer:null,printerComm:null}},created(){this.user=Object(Q["f"])(),this.printerId=it()(window.location.pathname,"/").slice(-3,-2).pop(),this.printerComm=Ca.getOrCreatePrinterComm(this.printerId,le["a"].printerWebSocket(this.printerId),{onPrinterUpdateReceived:e=>{this.printer=Ae(e,this.printer),this.webrtc&&!this.webrtc.initialized&&(this.webrtc.openForPrinter(this.printer.id,this.printer.auth_token),this.printerComm.setWebRTC(this.webrtc))},onTerminalFeedReceived:this.onNextTerminalFeed}),this.printerComm.connect()},methods:{onMenuOptionClicked(e){"share"===e&&this.onSharePrinter()}}},xu=Du,Tu=(i("5782"),Object(N["a"])(xu,Pu,Su,!1,null,"249551ea",null)),Iu=Tu.exports,Fu=function(){var e=this,t=e._self._c;return t("page-layout",{scopedSlots:e._u([{key:"content",fn:function(){return[t("b-container",[t("b-row",[t("b-col",[t("h2",{staticClass:"text-center"},[e._v(e._s(e.$t("First Layer Snapshots")))]),t("p",{staticClass:"my-4"},[e._v(" "+e._s(e.$t("Help {brandName}'s First Layer AI (codename: Celestrius) learn and improve quickly by telling her what issues exist in each of these snapshots.",{brandName:e.$syndicateText.brandName}))+" ")]),t("p",{staticClass:"text-secondary"},[e._v(e._s(e.$t("Why should I do this?")))]),t("p",{staticClass:"text-secondary small"},[e._v(" "+e._s(e.$t("{brandName}'s First Layer AI is still in her infant time. Just like a human baby, the only way she can learn is to be told by adults what is good and what is bad. By telling her what issues exist in these snapshots, you will help her get better at telling a good first layer apart from a bad one.",{brandName:e.$syndicateText.brandName}))+" ")]),t("p",{staticClass:"small"},[t("i",[e._v(" "+e._s(e.$t("Privacy Notice: By participating in this survey, you grant the {brandName} team members the permission to review all snapshots below.",{brandName:e.$syndicateText.brandName}))+" ")])]),t("h5",{staticClass:"text-primary mt-4"},[e._v(e._s(e.$t("Earn 3 AI Detection Hours!")))]),t("p",{staticClass:"text-primary mb-5"},[e._v(" "+e._s(e.$t("{name} snapshots were selected from your first layer print. Earn 3 AI Detection Hours by telling us if you see any printing issues with these snapshots!",{name:e.shots.length}))+" ")])])],1),t("b-row",{staticClass:"feedback-card"},[t("b-col",{attrs:{md:"8",lg:"6"}},[t("div",{staticClass:"card"},[t("loading",{attrs:{active:null===e.firstLayerInspection,"is-full-page":!0}}),null!==e.firstLayerInspection?t("div",[t("div",[t("div",[t("vue-slick-carousel",{ref:"carousel",attrs:{arrows:!1,dots:!0},on:{afterChange:e.onNextShot},scopedSlots:e._u([{key:"customPaging",fn:function(i){return[t("div",{class:e.pageClass(i)},[e._v("•")])]}}],null,!1,3226812120)},e._l(e.shots,(function(i,n){return t("first-layer-shot-card",{key:n,attrs:{shot:i,"shot-index":n,"total-shots":e.shots.length},on:{imageUpdated:e.onImageUpdated,prev:e.onPrev,next:e.onNext}})})),1)],1),t("br"),t("div",{staticClass:"card-body p-3"})])]):e._e()],1)])],1)],1)]},proxy:!0}])})},Au=[],$u=function(){var e=this,t=e._self._c;return t("div",[t("img",{staticClass:"card-img-top",attrs:{src:e.shot.image_url}}),t("div",{staticClass:"px-3 pt-4"},[t("p",[e._v(e._s(e.$t("What issues do you see in this snapshot? Select all that apply.")))]),t("div",{staticClass:"mb-4"},[t("b-form",[t("b-form-checkbox",{staticClass:"pr-5",model:{value:e.labels.raisedRipples,callback:function(t){e.$set(e.labels,"raisedRipples",t)},expression:"labels.raisedRipples"}},[t("i18next",{attrs:{translation:e.$t("Raised ripples ({localizedDom})")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("a",{attrs:{href:"#"},on:{click:function(t){return t.preventDefault(),(()=>e.openExample("raised","Raised ripples")).apply(null,arguments)}}},[e._v(e._s(e.$t("examples")))])]},proxy:!0}])})],1),t("b-form-checkbox",{staticClass:"pr-5",model:{value:e.labels.bubbling,callback:function(t){e.$set(e.labels,"bubbling",t)},expression:"labels.bubbling"}},[t("i18next",{attrs:{translation:e.$t("Bubbling ({localizedDom})")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("a",{attrs:{href:"#"},on:{click:function(t){return t.preventDefault(),(()=>e.openExample("bubbling","Bubbling")).apply(null,arguments)}}},[e._v(e._s(e.$t("examples")))])]},proxy:!0}])})],1),t("b-form-checkbox",{staticClass:"pr-5",model:{value:e.labels.bumpsAndRoughSurface,callback:function(t){e.$set(e.labels,"bumpsAndRoughSurface",t)},expression:"labels.bumpsAndRoughSurface"}},[t("i18next",{attrs:{translation:e.$t("Bumps or rough surfaces ({localizedDom})")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("a",{attrs:{href:"#"},on:{click:function(t){return t.preventDefault(),(()=>e.openExample("bumps","Bumps or rough surfaces")).apply(null,arguments)}}},[e._v(e._s(e.$t("examples")))])]},proxy:!0}])})],1),t("b-form-checkbox",{staticClass:"pr-5",model:{value:e.labels.detached,callback:function(t){e.$set(e.labels,"detached",t)},expression:"labels.detached"}},[t("i18next",{attrs:{translation:e.$t("Detached or warping ({localizedDom})")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("a",{attrs:{href:"#"},on:{click:function(t){return t.preventDefault(),(()=>e.openExample("detached","Detached or warping")).apply(null,arguments)}}},[e._v(e._s(e.$t("examples")))])]},proxy:!0}])})],1),t("b-form-checkbox",{staticClass:"pr-5",model:{value:e.labels.gaps,callback:function(t){e.$set(e.labels,"gaps",t)},expression:"labels.gaps"}},[t("i18next",{attrs:{translation:e.$t("Gaps between lines ({localizedDom})")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("a",{attrs:{href:"#"},on:{click:function(t){return t.preventDefault(),(()=>e.openExample("gaps","Gaps between lines")).apply(null,arguments)}}},[e._v(e._s(e.$t("examples")))])]},proxy:!0}])})],1),t("b-form-checkbox",{staticClass:"pr-5",model:{value:e.labels.other,callback:function(t){e.$set(e.labels,"other",t)},expression:"labels.other"}},[e._v(e._s(e.$t("Other")))]),t("b-form-checkbox",{staticClass:"pr-5",model:{value:e.labels.noIssues,callback:function(t){e.$set(e.labels,"noIssues",t)},expression:"labels.noIssues"}},[e._v(e._s(e.$t("No issues")))]),t("b-form-checkbox",{staticClass:"pr-5",model:{value:e.labels.notANozzleCam,callback:function(t){e.$set(e.labels,"notANozzleCam",t)},expression:"labels.notANozzleCam"}},[t("i18next",{attrs:{translation:e.$t("Oops, this is {localizedDom}")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("a",{attrs:{href:e.getDocUrl("/user-guides/nozzle-camera-configuration"),target:"_blank"}},[e._v(" "+e._s(e.$t("not a nozzle camera")))])]},proxy:!0}])})],1)],1)],1),t("div",{staticClass:"navigation-container my-4"},[t("b-button",{attrs:{disabled:e.isFirst,variant:"outline-secondary"},on:{click:function(t){return e.$emit("prev")}}},[t("i",{staticClass:"fas fa-chevron-left"}),e._v("  "+e._s(e.$t("Previous"))+" ")]),t("b-button",{attrs:{disabled:!e.labelsSelected,variant:"outline-secondary"},on:{click:e.onNext}},[e._v(" "+e._s(e.isLast?e.$t("Finish"):e.$t("Next"))+"  "),t("i",{staticClass:"fas fa-chevron-right"})])],1)])])},Ou=[],Nu=i("b54f"),Lu=i.n(Nu),Mu=i("a7dc"),Eu=i.n(Mu),Ru=i("ca65"),zu=i.n(Ru),Bu=i("0ecc"),Uu=i.n(Bu),ju=i("fe33"),Wu=i.n(ju),Hu=i("f830"),Vu=i.n(Hu),Yu=i("314a"),Gu=i.n(Yu),Ku=i("caaf"),qu=i.n(Ku),Ju=i("21a3"),Zu=i.n(Ju),Qu=i("8d81"),Xu=i.n(Qu),ep={name:"FirstLayerShotCard",props:{shot:{type:Object,required:!0},totalShots:{type:Number,required:!0},shotIndex:{type:Number,required:!0}},computed:{labelsSelected(){return""!==this.labelsToString(this.labels)},isFirst(){return 0===this.shotIndex},isLast(){return this.totalShots-1===this.shotIndex}},watch:{shot:{immediate:!0,handler(e){this.parseLabelsString(e.labels)}}},data(){return{answer:this.shot.answer,labels:{bubbling:!1,raisedRipples:!1,bumpsAndRoughSurface:!1,detached:!1,gaps:!1,other:!1,noIssues:!1,notANozzleCam:!1}}},methods:{labelsToString:function(e){return Object.keys(e).filter(t=>e[t]).join("|")},onNext:function(){this.updateLabels(),this.$emit("next")},updateLabels:function(){const e=this.labelsToString(this.labels);oe["a"].patch(`/ent/api/first_layer_inspection_image/${this.shot.id}/`,{labels:e}).then(e=>{this.$emit("imageUpdated",e.data)})},parseLabelsString(e){const t=e.split("|");for(const i in this.labels)this.$set(this.labels,i,t.includes(i))},openExample(e,t){const i={raised:[Lu.a,Eu.a],bubbling:[zu.a,Uu.a],bumps:[Wu.a,Vu.a],detached:[Gu.a,qu.a],gaps:[Zu.a,Xu.a]};this.$swal.fire({title:`

${t}

`,html:`\n
\n ${e} example 1\n ${e} example 2\n
\n `,customClass:{container:"dark-backdrop"}})}}},tp=ep,ip=(i("43f9"),Object(N["a"])(tp,$u,Ou,!1,null,"b52f1894",null)),np=ip.exports,ap={name:"FirstLayerInspectionImagePage",components:{Loading:gt.a,FirstLayerShotCard:np,VueSlickCarousel:mt.a,PageLayout:Ft},data:function(){return{shots:[],currentShot:0,firstLayerInspection:null,inspectionId:null}},computed:{},mounted(){this.fetchData()},methods:{fetchData(){const e=window.location.pathname.split("/");this.inspectionId=e[e.length-2];const t=new URLSearchParams(window.location.search);this.inspectionId=t.get("print_id"),oe["a"].get(le["a"].firstLayerInspection(this.inspectionId)).then(e=>{e.data.length&&(this.firstLayerInspection=e.data[0],this.shots=this.firstLayerInspection.images.sort((e,t)=>e.id-t.id))})},onImageUpdated(e){const t=pt()(this.shots,t=>t.id==e.id);this.$set(this.shots,t,e);const{credited_dhs:i}=e;i>0&&this.$swal.Prompt.fire({title:""+this.$i18next.t("You just earned 3 AI Detection Hours!"),html:`

${this.$i18next.t("Having more training data is crucial for a better First Layer AI. Thank you!")}

${this.$i18next.t("You can now close this page")}.

`,confirmButtonText:""+this.$i18next.t("Okay!")})},onNextShot(e){this.currentShot=e},onPrev(){this.$refs.carousel.prev()},onNext(){this.$refs.carousel.next()},pageClass(e){return e===this.currentShot?"page-visiting":this.shots[e].answered_at?"text-success":"page-unvisited"}}},rp=ap,sp=(i("586d"),Object(N["a"])(rp,Fu,Au,!1,null,"f7847cd8",null)),op=sp.exports;const lp=new a["a"]({mode:"history",routes:[{path:"/g_code_folders/cloud/:parentFolder",component:Do},{path:"/g_code_folders/local/:printerId/:parentFolder?",component:Do},{path:"/g_code_files/cloud/:fileId",component:Bo},{path:"/g_code_files/local/:printerId/:fileId",component:Bo},{path:"/user_preferences",component:ou},{path:"/printers/wizard/",component:kc},{path:"/printers/wizard/guide/:targetPlatform/",component:Ic},{path:"/printers/wizard/link/:targetPlatform/",component:vc},{path:"/printers/wizard/success/:printerId/",component:Lc},...Object.values(ae).map(e=>({path:e,component:ou}))]}),cp={NewOctoPrintTunnelPage:Qe,OctoPrintTunnelPage:st,PrintShotFeedbackApp:Xt,PrinterListPage:vl,SharedPrinterPage:Il,PrinterSettingsPage:Hl,PrinterLinkingPage:vc,PrinterControlPage:Zd,GCodeFoldersPage:Do,GCodeFilePage:Bo,PrintsPage:ha,PrintPage:ar,PrintHistoryPage:hn,StatsPage:Nn,UploadPrintPage:pr,UserPreferencesPage:ou,PrinterEventsPage:ku,PrinterTerminalPage:Iu,FirstLayerInspectionImagePage:op};ee(lp,cp)},5782:function(e,t,i){"use strict";i("aca5")},"586d":function(e,t,i){"use strict";i("521d")},"587d":function(e,t,i){"use strict";i("9135")},"58d0":function(e,t,i){"use strict";i("30c2")},"59cf":function(e,t,i){"use strict";i.d(t,"a",(function(){return d})),i.d(t,"c",(function(){return u})),i.d(t,"b",(function(){return f})),i.d(t,"d",(function(){return v}));var n={};i.r(n),i.d(n,"yumi",(function(){return s})),i.d(n,"kingroon",(function(){return o})),i.d(n,"mintion",(function(){return l})),i.d(n,"biqu",(function(){return c}));var a=i("6c44");const r={Light:"Light",Dark:"Dark",System:"System"},s={colors:[{name:"primary",values:{[r.Light]:"#078ED3",[r.Dark]:"#FFCC2E"}},{name:"primary-hover",values:{[r.Light]:"#0B88C8",[r.Dark]:"#FFCC2E"}},{name:"primary-muted",values:{[r.Light]:"#24A8EC",[r.Dark]:"#018786"}},{name:"on-primary",values:{[r.Light]:"#FFFFFF",[r.Dark]:"#001210"}},{name:"secondary",values:{[r.Light]:"#28303A",[r.Dark]:"#AAACB0"}},{name:"secondary-hover",values:{[r.Light]:"#424A54",[r.Dark]:"#D0D0D0"}},{name:"on-secondary",values:{[r.Light]:"#EBEBEB",[r.Dark]:"#28303A"}},{name:"success",values:{[r.Light]:"#5CB85C",[r.Dark]:"#5CB85C"}},{name:"success-hover",values:{[r.Light]:"#4CAE4C",[r.Dark]:"#4CAE4C"}},{name:"on-success",values:{[r.Light]:"#ffffff",[r.Dark]:"#ffffff"}},{name:"danger",values:{[r.Light]:"#D9534F",[r.Dark]:"#D9534F"}},{name:"danger-hover",values:{[r.Light]:"#C2413D",[r.Dark]:"#C2413D"}},{name:"on-danger",values:{[r.Light]:"#ffffff",[r.Dark]:"#ffffff"}},{name:"warning",values:{[r.Light]:"#F0AD4E",[r.Dark]:"#F0AD4E"}},{name:"warning-hover",values:{[r.Light]:"#DB9A3F",[r.Dark]:"#DB9A3F"}},{name:"on-warning",values:{[r.Light]:"#ffffff",[r.Dark]:"#ffffff"}},{name:"on-warning-2",values:{[r.Light]:"#000000",[r.Dark]:"#000000"}},{name:"background",values:{[r.Light]:"#EBEBEB",[r.Dark]:"#212224"}},{name:"surface-primary",values:{[r.Light]:"#ffffff",[r.Dark]:"#131920"}},{name:"surface-secondary",values:{[r.Light]:"#F5F5F5",[r.Dark]:"#000000"}},{name:"overlay",values:{[r.Light]:"#F5F5F5CC",[r.Dark]:"#000000CC"}},{name:"hover",values:{[r.Light]:"#66666613",[r.Dark]:"#FFFFFF13"}},{name:"hover-accent",values:{[r.Light]:"#66666626",[r.Dark]:"#C9E0FA26"}},{name:"divider",values:{[r.Light]:"#ABB6C2",[r.Dark]:"#6A7B8A"}},{name:"divider-muted",values:{[r.Light]:"#ABB6C266",[r.Dark]:"#6A7B8A66"}},{name:"text-primary",values:{[r.Light]:"#28303A",[r.Dark]:"#FFFFFF"}},{name:"text-secondary",values:{[r.Light]:"#8A94A2",[r.Dark]:"#AAACB0"}},{name:"text-help",values:{[r.Light]:"#4C9BE8",[r.Dark]:"#4C9BE8"}},{name:"input-background",values:{[r.Light]:"#E2E8ED",[r.Dark]:"#42566B"}},{name:"input-placeholder",values:{[r.Light]:"#28303A80",[r.Dark]:"#EBEBEB80"}},{name:"table-accent",values:{[r.Light]:"#E3E3E3",[r.Dark]:"#283848"}},{name:"icon-tunneling-1",values:{[r.Light]:"#4E5D6C",[r.Dark]:"#EAEAEA"}},{name:"icon-tunneling-2",values:{[r.Light]:"#1D2935",[r.Dark]:"#CDCDCD"}}]},o={colors:[{name:"primary",values:{[r.Light]:"#ED7100",[r.Dark]:"#ED7100"}},{name:"primary-hover",values:{[r.Light]:"#fb7a00",[r.Dark]:"#fb7a00"}},{name:"primary-muted",values:{[r.Light]:"#24A8EC",[r.Dark]:"#018786"}},{name:"on-primary",values:{[r.Light]:"#FFFFFF",[r.Dark]:"#001210"}},{name:"secondary",values:{[r.Light]:"#28303A",[r.Dark]:"#AAACB0"}},{name:"secondary-hover",values:{[r.Light]:"#424A54",[r.Dark]:"#D0D0D0"}},{name:"on-secondary",values:{[r.Light]:"#EBEBEB",[r.Dark]:"#28303A"}},{name:"success",values:{[r.Light]:"#5CB85C",[r.Dark]:"#5CB85C"}},{name:"success-hover",values:{[r.Light]:"#4CAE4C",[r.Dark]:"#4CAE4C"}},{name:"on-success",values:{[r.Light]:"#ffffff",[r.Dark]:"#ffffff"}},{name:"danger",values:{[r.Light]:"#D9534F",[r.Dark]:"#D9534F"}},{name:"danger-hover",values:{[r.Light]:"#C2413D",[r.Dark]:"#C2413D"}},{name:"on-danger",values:{[r.Light]:"#ffffff",[r.Dark]:"#ffffff"}},{name:"warning",values:{[r.Light]:"#F0AD4E",[r.Dark]:"#F0AD4E"}},{name:"warning-hover",values:{[r.Light]:"#DB9A3F",[r.Dark]:"#DB9A3F"}},{name:"on-warning",values:{[r.Light]:"#ffffff",[r.Dark]:"#ffffff"}},{name:"on-warning-2",values:{[r.Light]:"#000000",[r.Dark]:"#000000"}},{name:"background",values:{[r.Light]:"#EBEBEB",[r.Dark]:"#212224"}},{name:"surface-primary",values:{[r.Light]:"#ffffff",[r.Dark]:"#131920"}},{name:"surface-secondary",values:{[r.Light]:"#F5F5F5",[r.Dark]:"#000000"}},{name:"overlay",values:{[r.Light]:"#F5F5F5CC",[r.Dark]:"#000000CC"}},{name:"hover",values:{[r.Light]:"#66666613",[r.Dark]:"#FFFFFF13"}},{name:"hover-accent",values:{[r.Light]:"#66666626",[r.Dark]:"#C9E0FA26"}},{name:"divider",values:{[r.Light]:"#ABB6C2",[r.Dark]:"#6A7B8A"}},{name:"divider-muted",values:{[r.Light]:"#ABB6C266",[r.Dark]:"#6A7B8A66"}},{name:"text-primary",values:{[r.Light]:"#28303A",[r.Dark]:"#FFFFFF"}},{name:"text-secondary",values:{[r.Light]:"#8A94A2",[r.Dark]:"#AAACB0"}},{name:"text-help",values:{[r.Light]:"#4C9BE8",[r.Dark]:"#4C9BE8"}},{name:"input-background",values:{[r.Light]:"#E2E8ED",[r.Dark]:"#42566B"}},{name:"input-placeholder",values:{[r.Light]:"#28303A80",[r.Dark]:"#EBEBEB80"}},{name:"table-accent",values:{[r.Light]:"#E3E3E3",[r.Dark]:"#283848"}},{name:"icon-tunneling-1",values:{[r.Light]:"#4E5D6C",[r.Dark]:"#EAEAEA"}},{name:"icon-tunneling-2",values:{[r.Light]:"#1D2935",[r.Dark]:"#CDCDCD"}}]},l={colors:[{name:"primary",values:{[r.Light]:"#75C4FE",[r.Dark]:"#75C4FE"}},{name:"primary-hover",values:{[r.Light]:"#35A9FD",[r.Dark]:"#35A9FD"}},{name:"primary-muted",values:{[r.Light]:"#03DAC5",[r.Dark]:"#03DAC5"}},{name:"on-primary",values:{[r.Light]:"#FFFFFF",[r.Dark]:"#FFFFFF"}},{name:"secondary",values:{[r.Light]:"#28303A",[r.Dark]:"#28303A"}},{name:"secondary-hover",values:{[r.Light]:"#424A54",[r.Dark]:"#424A54"}},{name:"on-secondary",values:{[r.Light]:"#EBEBEB",[r.Dark]:"#EBEBEB"}},{name:"success",values:{[r.Light]:"#5CB85C",[r.Dark]:"#5CB85C"}},{name:"success-hover",values:{[r.Light]:"#4CAE4C",[r.Dark]:"#4CAE4C"}},{name:"on-success",values:{[r.Light]:"#ffffff",[r.Dark]:"#ffffff"}},{name:"danger",values:{[r.Light]:"#D9534F",[r.Dark]:"#D9534F"}},{name:"danger-hover",values:{[r.Light]:"#C2413D",[r.Dark]:"#C2413D"}},{name:"on-danger",values:{[r.Light]:"#ffffff",[r.Dark]:"#ffffff"}},{name:"warning",values:{[r.Light]:"#F0AD4E",[r.Dark]:"#F0AD4E"}},{name:"warning-hover",values:{[r.Light]:"#DB9A3F",[r.Dark]:"#DB9A3F"}},{name:"on-warning",values:{[r.Light]:"#ffffff",[r.Dark]:"#ffffff"}},{name:"on-warning-2",values:{[r.Light]:"#000000",[r.Dark]:"#000000"}},{name:"background",values:{[r.Light]:"#EBEBEB",[r.Dark]:"#EBEBEB"}},{name:"surface-primary",values:{[r.Light]:"#ffffff",[r.Dark]:"#ffffff"}},{name:"surface-secondary",values:{[r.Light]:"#F5F5F5",[r.Dark]:"#F5F5F5"}},{name:"overlay",values:{[r.Light]:"#F5F5F5CC",[r.Dark]:"#F5F5F5CC"}},{name:"hover",values:{[r.Light]:"#66666613",[r.Dark]:"#66666613"}},{name:"hover-accent",values:{[r.Light]:"#66666626",[r.Dark]:"#66666626"}},{name:"divider",values:{[r.Light]:"#ABB6C2",[r.Dark]:"#ABB6C2"}},{name:"divider-muted",values:{[r.Light]:"#ABB6C266",[r.Dark]:"#ABB6C266"}},{name:"text-primary",values:{[r.Light]:"#28303A",[r.Dark]:"#28303A"}},{name:"text-secondary",values:{[r.Light]:"#8A94A2",[r.Dark]:"#8A94A2"}},{name:"text-help",values:{[r.Light]:"#4C9BE8",[r.Dark]:"#4C9BE8"}},{name:"input-background",values:{[r.Light]:"#E2E8ED",[r.Dark]:"#E2E8ED"}},{name:"input-placeholder",values:{[r.Light]:"#28303A80",[r.Dark]:"#28303A80"}},{name:"table-accent",values:{[r.Light]:"#E3E3E3",[r.Dark]:"#E3E3E3"}},{name:"icon-tunneling-1",values:{[r.Light]:"#4E5D6C",[r.Dark]:"#4E5D6C"}},{name:"icon-tunneling-2",values:{[r.Light]:"#1D2935",[r.Dark]:"#1D2935"}}]},c={colors:[{name:"primary",values:{[r.Light]:"#3596f3",[r.Dark]:"#3596f3"}},{name:"primary-hover",values:{[r.Light]:"#70EFDE",[r.Dark]:"#70EFDE"}},{name:"primary-muted",values:{[r.Light]:"#018786",[r.Dark]:"#018786"}},{name:"on-primary",values:{[r.Light]:"#001210",[r.Dark]:"#001210"}},{name:"secondary",values:{[r.Light]:"#EBEBEB",[r.Dark]:"#EBEBEB"}},{name:"secondary-hover",values:{[r.Light]:"#D0D0D0",[r.Dark]:"#D0D0D0"}},{name:"on-secondary",values:{[r.Light]:"#28303A",[r.Dark]:"#28303A"}},{name:"success",values:{[r.Light]:"#5CB85C",[r.Dark]:"#5CB85C"}},{name:"success-hover",values:{[r.Light]:"#4CAE4C",[r.Dark]:"#4CAE4C"}},{name:"on-success",values:{[r.Light]:"#ffffff",[r.Dark]:"#ffffff"}},{name:"danger",values:{[r.Light]:"#D9534F",[r.Dark]:"#D9534F"}},{name:"danger-hover",values:{[r.Light]:"#C2413D",[r.Dark]:"#C2413D"}},{name:"on-danger",values:{[r.Light]:"#ffffff",[r.Dark]:"#ffffff"}},{name:"warning",values:{[r.Light]:"#F0AD4E",[r.Dark]:"#F0AD4E"}},{name:"warning-hover",values:{[r.Light]:"#DB9A3F",[r.Dark]:"#DB9A3F"}},{name:"on-warning",values:{[r.Light]:"#ffffff",[r.Dark]:"#ffffff"}},{name:"on-warning-2",values:{[r.Light]:"#000000",[r.Dark]:"#000000"}},{name:"background",values:{[r.Light]:"#0a0c22",[r.Dark]:"#0a0c22"}},{name:"surface-primary",values:{[r.Light]:"#20274f",[r.Dark]:"#20274f"}},{name:"surface-secondary",values:{[r.Light]:"#0c1239",[r.Dark]:"#0c1239"}},{name:"overlay",values:{[r.Light]:"#F5F5F5CC",[r.Dark]:"#F5F5F5CC"}},{name:"hover",values:{[r.Light]:"#66666613",[r.Dark]:"#66666613"}},{name:"hover-accent",values:{[r.Light]:"#66666626",[r.Dark]:"#66666626"}},{name:"divider",values:{[r.Light]:"#6A7B8A",[r.Dark]:"#6A7B8A"}},{name:"divider-muted",values:{[r.Light]:"#ABB6C266",[r.Dark]:"#ABB6C266"}},{name:"text-primary",values:{[r.Light]:"#EBEBEB",[r.Dark]:"#EBEBEB"}},{name:"text-secondary",values:{[r.Light]:"#AAACB0",[r.Dark]:"#AAACB0"}},{name:"text-help",values:{[r.Light]:"#283848",[r.Dark]:"#283848"}},{name:"input-background",values:{[r.Light]:"#42566B",[r.Dark]:"#000000"}},{name:"input-placeholder",values:{[r.Light]:"#28303A80",[r.Dark]:"#28303A80"}},{name:"table-accent",values:{[r.Light]:"#E3E3E3",[r.Dark]:"#E3E3E3"}},{name:"icon-tunneling-1",values:{[r.Light]:"#4E5D6C",[r.Dark]:"#4E5D6C"}},{name:"icon-tunneling-2",values:{[r.Light]:"#1D2935",[r.Dark]:"#1D2935"}}]},d={Light:"Light",Dark:"Dark",System:"System"},u=(Object(a["a"])()?localStorage.getItem("colorTheme"):d.Dark)||d.Dark,p=[{name:"primary",values:{[d.Light]:"#01A299",[d.Dark]:"#03DAC5"}},{name:"primary-hover",values:{[d.Light]:"#019592",[d.Dark]:"#70EFDE"}},{name:"primary-muted",values:{[d.Light]:"#03DAC5",[d.Dark]:"#018786"}},{name:"on-primary",values:{[d.Light]:"#FFFFFF",[d.Dark]:"#001210"}},{name:"secondary",values:{[d.Light]:"#28303A",[d.Dark]:"#EBEBEB"}},{name:"secondary-hover",values:{[d.Light]:"#424A54",[d.Dark]:"#D0D0D0"}},{name:"on-secondary",values:{[d.Light]:"#EBEBEB",[d.Dark]:"#28303A"}},{name:"success",values:{[d.Light]:"#5CB85C",[d.Dark]:"#5CB85C"}},{name:"success-hover",values:{[d.Light]:"#4CAE4C",[d.Dark]:"#4CAE4C"}},{name:"on-success",values:{[d.Light]:"#ffffff",[d.Dark]:"#ffffff"}},{name:"danger",values:{[d.Light]:"#D9534F",[d.Dark]:"#D9534F"}},{name:"danger-hover",values:{[d.Light]:"#C2413D",[d.Dark]:"#C2413D"}},{name:"on-danger",values:{[d.Light]:"#ffffff",[d.Dark]:"#ffffff"}},{name:"warning",values:{[d.Light]:"#F0AD4E",[d.Dark]:"#F0AD4E"}},{name:"warning-hover",values:{[d.Light]:"#DB9A3F",[d.Dark]:"#DB9A3F"}},{name:"on-warning",values:{[d.Light]:"#ffffff",[d.Dark]:"#ffffff"}},{name:"on-warning-2",values:{[d.Light]:"#000000",[d.Dark]:"#000000"}},{name:"background",values:{[d.Light]:"#EBEBEB",[d.Dark]:"#233141"}},{name:"surface-primary",values:{[d.Light]:"#ffffff",[d.Dark]:"#485B71"}},{name:"surface-secondary",values:{[d.Light]:"#F5F5F5",[d.Dark]:"#2D3E4F"}},{name:"overlay",values:{[d.Light]:"#F5F5F5CC",[d.Dark]:"#000000CC"}},{name:"hover",values:{[d.Light]:"#66666613",[d.Dark]:"#FFFFFF13"}},{name:"hover-accent",values:{[d.Light]:"#66666626",[d.Dark]:"#C9E0FA26"}},{name:"divider",values:{[d.Light]:"#ABB6C2",[d.Dark]:"#6A7B8A"}},{name:"divider-muted",values:{[d.Light]:"#ABB6C266",[d.Dark]:"#6A7B8A66"}},{name:"text-primary",values:{[d.Light]:"#28303A",[d.Dark]:"#EBEBEB"}},{name:"text-secondary",values:{[d.Light]:"#8A94A2",[d.Dark]:"#AAACB0"}},{name:"text-help",values:{[d.Light]:"#4C9BE8",[d.Dark]:"#4C9BE8"}},{name:"input-background",values:{[d.Light]:"#E2E8ED",[d.Dark]:"#42566B"}},{name:"input-placeholder",values:{[d.Light]:"#28303A80",[d.Dark]:"#EBEBEB80"}},{name:"table-accent",values:{[d.Light]:"#E3E3E3",[d.Dark]:"#283848"}},{name:"icon-tunneling-1",values:{[d.Light]:"#4E5D6C",[d.Dark]:"#EAEAEA"}},{name:"icon-tunneling-2",values:{[d.Light]:"#1D2935",[d.Dark]:"#CDCDCD"}}],h=[{name:"loader",values:{[d.Light]:'url("/static/img/loader/loader_light-scheme.svg")',[d.Dark]:'url("/static/img/loader/loader_dark-scheme.svg")'}}],m=[{name:"top-nav",values:{[d.Light]:"0px 2px 10px rgb(0 0 0 / .1)",[d.Dark]:"0px 2px 10px rgb(0 0 0 / .3)"}}];function f(e){return e.value===d.System?"not all"!==window.matchMedia("(prefers-color-scheme)").media&&window.matchMedia("(prefers-color-scheme: light)").matches?d.Light:d.Dark:e.value}function g(e,t){const i=new Map(e.map(e=>[e.name,e]));return t.forEach(e=>{i.set(e.name,e)}),Array.from(i.values())}function v(e,t){const i=t&&n[t]?g(p,n[t].colors):p;i.forEach((function(t){if(document.documentElement.style.setProperty("--color-"+t.name,t.values[e]),"surface-secondary"===t.name){let i=document.querySelector('meta[name="theme-color"]');i.content=t.values[e]}})),h.forEach((function(t){document.documentElement.style.setProperty("--url-"+t.name,t.values[e])})),m.forEach((function(t){document.documentElement.style.setProperty("--shadow-"+t.name,t.values[e])}))}},"59d9":function(e,t,i){"use strict";i("9650")},"5ce2":function(e,t,i){},"5fad":function(e,t,i){"use strict";i("6736")},"5fdc":function(e,t,i){"use strict";i("bc75")},6005:function(e,t,i){},"60f8":function(e,t,i){},"60fa":function(e,t,i){},6333:function(e,t,i){},6736:function(e,t,i){},"67e8":function(e,t,i){e.exports=i.p+"img/printer.png"},6912:function(e,t,i){"use strict";i("3476")},6984:function(e,t,i){"use strict";i("b49d")},"6c44":function(e,t,i){"use strict";function n(){try{const e="__random_key_we_are_not_going_to_use__";return localStorage.setItem(e,e),localStorage.removeItem(e),!0}catch(e){return!1}}i.d(t,"a",(function(){return n}))},"6dfa":function(e,t,i){},"6f7a":function(e,t,i){"use strict";i("6dfa")},"6f88":function(e,t,i){"use strict";i("02c7")},7254:function(e,t,i){"use strict";i("1cd0")},"73f2":function(e,t,i){},"742c":function(e,t,i){},7566:function(e,t,i){},"767e":function(e,t,i){e.exports={primary:"#00c4b4",white:"#fff"}},"777a":function(e,t,i){e.exports=i.p+"img/commandLinePrompt.png"},"7ad3":function(e,t,i){},"7c3e":function(e,t,i){"use strict";i("d681")},"7cd5":function(e,t,i){"use strict";i("0f37")},"7eaa":function(e,t,i){},"800e":function(e,t,i){"use strict";i("60f8")},"80ed":function(e,t,i){"use strict";i("8d2c")},"83d4":function(e,t,i){"use strict";i("73f2")},"847e":function(e,t,i){"use strict";var n=function(){var e=this,t=e._self._c;return t("div",[t("div",{class:{"saving-in-progress":e.savingClass,"successfully-saved":e.savingDoneClass,"failed-to-save":e.savingFailedClass,"small-height":e.smallHeightClass}},[e._t("default")],2),e.errors&&e.errors.length>0?t("small",{staticClass:"text-danger"},[e._v(e._s(e.errorMsg))]):e._e()])},a=[],r={name:"SavingAnimation",props:{saving:{default(){return!1},type:Boolean},errors:{type:Array,default:null},height:{default(){return"normal"},type:String}},data(){return{savingTimeout:null,savingDoneTimeout:null}},computed:{savingClass(){return this.saving&&this.savingTimeout},savingDoneClass(){return!this.saving&&this.savingDoneTimeout&&!this.errors},savingFailedClass(){return!this.saving&&this.savingDoneTimeout&&this.errors&&this.errors.length>0},smallHeightClass(){return"small"===this.height},errorMsg(){return this.errors?this.errors.join(" "):""}},watch:{saving:function(e,t){!t&&e?(this.clearSavingTimeout(),this.savingTimeout=setTimeout(this.clearSavingTimeout,15e3)):t&&!e&&(this.clearSavingTimeout(),this.savingDoneTimeout=setTimeout(()=>{clearTimeout(this.savingDoneTimeout),this.savingDoneTimeout=null},2e3))}},methods:{clearSavingTimeout(){this.savingTimeout&&(clearTimeout(this.savingTimeout),this.savingTimeout=null)}}},s=r,o=(i("8a34"),i("2877")),l=Object(o["a"])(s,n,a,!1,null,"2e4df370",null);t["a"]=l.exports},"862f":function(e,t,i){},"86ab":function(e,t,i){"use strict";i("e008")},"86e2":function(e,t,i){},"883d":function(e,t,i){"use strict";i("60fa")},"886f":function(e,t,i){e.exports=i.p+"img/klipper_logo.jpg"},"89d8":function(e,t,i){"use strict";i("7eaa")},"8a34":function(e,t,i){"use strict";i("0fcf")},"8d2c":function(e,t,i){},"8d81":function(e,t,i){e.exports=i.p+"img/gaps-2.jpg"},"906f":function(e,t,i){"use strict";i("0b8b")},9135:function(e,t,i){},9363:function(e,t,i){"use strict";i("041a")},"94f0":function(e,t,i){"use strict";i("26d7")},9527:function(e,t,i){},"955c":function(e,t,i){"use strict";i("c4df")},9605:function(e,t,i){e.exports=i.p+"img/raspberry_pi.png"},"964f":function(e,t,i){},9650:function(e,t,i){},"9da6":function(e,t,i){},"9da9":function(e,t,i){"use strict";i("2bfb")},"9eda":function(e,t,i){"use strict";i("ced1")},a085:function(e,t,i){e.exports=i.p+"img/fluidd_logo.png"},a1cb:function(e,t,i){"use strict";i("4650")},a525:function(e,t,i){},a6c8:function(e,t,i){"use strict";i("439d")},a7dc:function(e,t,i){e.exports=i.p+"img/raisedRipples-3.jpg"},aca5:function(e,t,i){},ade1:function(e,t,i){},b223:function(e,t,i){"use strict";i("2a20")},b279:function(e,t,i){"use strict";i.d(t,"e",(function(){return u})),i.d(t,"f",(function(){return p})),i.d(t,"d",(function(){return h})),i.d(t,"g",(function(){return m})),i.d(t,"c",(function(){return f})),i.d(t,"a",(function(){return g})),i.d(t,"b",(function(){return v}));i("5494");var n=i("e740c"),a=i.n(n),r=i("2f9f"),s=i.n(r),o=i("6373"),l=i.n(o),c=i("9b02"),d=i.n(c);function u(e,t){return`${e.channelName}_${t}`}function p(e){return a()(s()(l()(e,/_/g," ")))}const h=(e,t,i)=>{const n=Math.round(e.length*t),a=i?"p":"fields.normalized_p";return d()(e[n],""+a,0)},m=(e,t)=>{if(e)if(e instanceof Blob){const i=new FileReader;i.addEventListener("loadend",e=>{e.srcElement&&t(e.srcElement.result)}),i.readAsArrayBuffer(e)}else t(e)},f=()=>{var e;return null===(e=document.getElementsByName("csrfmiddlewaretoken")[0])||void 0===e?void 0:e.value},g=(e,t)=>{fetch(e).then(e=>e.blob()).then(e=>{const i=document.createElement("a");i.setAttribute("download",t);const n=URL.createObjectURL(e);i.href=n,i.setAttribute("target","_blank"),i.click(),URL.revokeObjectURL(n)})},v=(e,t)=>e.utcOffset(e._tzm).format(t)},b3d0:function(e,t,i){},b49d:function(e,t,i){},b519:function(e,t,i){"use strict";i("ade1")},b54f:function(e,t,i){e.exports=i.p+"img/raisedRipples-2.jpg"},b579:function(e){e.exports=JSON.parse('{"Filters applied":"已应用的过滤器","SHOW ALL":"显示全部","Back":"返回","Show less":"显示较少","Show more":"显示更多","At least one date is needed":"至少需要一个日期","Select Dates":"选择日期","Apply":"应用","Cancel":"取消","Date from":"起始日期","If empty, will default to your registration date":"如果为空,则默认为您的注册日期","Enter date":"输入日期","Date to":"结束日期","If empty, will default to today":"如果为空,则默认为今天","Obi is still busy working on your time-lapse":"Obi仍在忙于处理您的延时摄影","Not Watching":"未观看","Looking Good":"看起来不错","Fishy...":"有点可疑...","Failing!":"失败!","What issues do you see in this snapshot? Select all that apply.":"您在这个快照中看到了什么问题?选择所有适用的。","Raised ripples ({localizedDom})":"凸起的波纹 ({localizedDom})","examples":"示例","Bubbling ({localizedDom})":"起泡 ({localizedDom})","Bumps or rough surfaces ({localizedDom})":"凸起或粗糙表面 ({localizedDom})","Detached or warping ({localizedDom})":"脱落或翘曲 ({localizedDom})","Gaps between lines ({localizedDom})":"线条之间的间隙 ({localizedDom})","Other":"其他","No issues":"没有问题","Oops, this is {localizedDom}":"哎呀,这是 {localizedDom}","not a nozzle camera":"不是喷嘴相机","Previous":"上一个","Finish":"完成","Next":"下一个","{name} isn\'t ready for print for one of the following reasons":"{{name}} 因以下原因之一未准备好打印","{name} is powered off or not connected to the Internet":"{{name}} 已关闭电源或未连接到互联网","Printer is not connected to {name}":"打印机未连接到 {{name}}","Printer is currently busy":"打印机当前正忙","No available printers":"没有可用的打印机","Print on":"打印于","Print":"打印","Are you sure?":"你确定吗?","Delete":"删除","Failed to delete item":"删除项目失败","No prints yet":"尚无打印","Printing...":"打印中...","Rename":"重命名","Move":"移动","Print duration estimate":"打印持续时间预估","Filament usage estimate":"耗材使用预估","First layer bed temperature":"首层床温","First layer extruder temperature":"首层挤出机温度","First layer height":"首层高度","Layer height":"层高","Object height":"对象高度","Filament type":"耗材类型","Filament name":"耗材名称","Slicer":"切片器","Slicer version":"切片器版本","Name":"名称","Size":"大小","Created":"已创建","Last Printed":"最后打印","Loading...":"加载中...","Nothing here yet":"这里还什么都没有","Nothing found":"未找到任何内容","Failed to move item(s)":"移动项目失败","Move item":"移动项目","Place Here":"放置在这里","Go Back":"返回","Enter new folder name":"输入新文件夹名称","Create":"创建","Folder name":"文件夹名称","Server error":"服务器错误","Enter new name":"输入新名称","New name":"新名称","Print!":"打印!","You\'ll be redirected to printers page in":"您将在以下时间后重定向到打印机页面","seconds":"秒","Total prints":"总打印量","Uploaded":"已上传","Deleted":"已删除","Fields above were embedded in the G-Code file by your slicer. Consult your slicer\'s manual if some fields are not accurate or missing.":"上述字段由您的切片器嵌入到G-Code文件中。如果某些字段不准确或缺失,请咨询您的切片器手册。","Basic Streaming":"基础流媒体","1 FPS (frame-per-second), 100 hours of streaming per month":"1 FPS(每秒帧数),每月 100 小时的流媒体","Learn more about {localizedDom}":"了解更多关于 {localizedDom} 的信息","the differences between the Premium Streaming and the Basic Streaming":"高级流媒体与基础流媒体之间的差异","Basic AI Detection checks for failures every 30 seconds.":"基本 AI 检测每 30 秒检查一次故障。","AI usage is reset on the 1st of each month. Hours do not roll over month to month.":"AI 使用量于每月 1 日重置。 工作时间不会逐月滚动。","Learn more about":"了解更多关于","how the AI Detection Hour works ":"AI检测小时如何工作","Securely tunnel to your Mainsail or fluidd Klipper interface from anywhere.":"从任何地方安全地连接到您的 Mainsail 或 Fluid Klipper 接口。","Free plan is subject to 300MB/month data cap. Data usage is reset on the 1st day of each month.":"免费计划受到每月300MB数据上限的限制。数据使用量将在每月的第一天重置。","Klipper tunnel ":"快艇隧道 ","Premium Streaming":"高级流媒体","Up to 25 FPS (frame-per-second)":"最高25 FPS(每秒帧数)","Up to 5 FPS with any webcam":"任何网络摄像头均可达到 5 FPS","Up to 25 FPS with Kingroon H.264 Camera.":"使用 Kingroon H.264 相机时高达 25 FPS。","Advanced AI checks for failures more frequently - Catch failures up to 2X faster than Basic AI.":"高级 AI 更频繁地检查故障 - 捕获故障的速度比基本 AI 快 2 倍。","Unused AI Detection Hours roll over month-to-month":"未使用的人工智能检测时间按月滚动","Securely tunnel to your Mainsail or fluidd Klipper interface from anywhere. Unlimited.":"从任何地方安全地连接到您的 Mainsail 或 Fluid Klipper 接口。 无限。","Up to 5 FPS (frame-per-second)":"最高5 FPS(每秒帧数)","Throttled for 30 seconds every minute":"每分钟限流30秒","Yup! Even Free account gets 10 AI Detection Hours for FREE each month.":"是的!即使是免费账户每月也可以免费获得10小时的AI检测时间。","Unused AI Detection Hours roll over month to month.":"未使用的AI检测时间可以月累月滚动。","You can":"您可以","earn free AI Detection Hours by helping her improve":"通过帮助她改进赚取免费AI检测时间","You can also":"您也可以","purchase additional AI hours":"购买额外的AI小时","Pro plan includes 50 AI Detection Hours each month.":"Pro计划每月包括50小时AI检测时间。","AI Detection Hours expire when subscription ends.":"订阅结束时,AI检测时间将过期。","earn more AI Detection Hours by helping her improve":"通过帮助她改进赚取更多AI检测时间","Un-throttled":"未限流","Securely tunnel to your OctoPrint/Klipper from anywhere.":"从任何地方安全地隧道连接到您的OctoPrint/Klipper。","OctoPrint/Klipper tunnel ":"OctoPrint/Klipper隧道","Securely tunnel to your OctoPrint/Klipper from anywhere. Unlimited.":"从任何地方安全地隧道连接到您的OctoPrint/Klipper。不限量。","The monthly cap is shared between 3rd-party app and OctoPrint tunnel":"月度上限在第三方应用和OctoPrint隧道之间共享","The combined usage can\'t exceed 300MB per month.":"合并使用量每月不能超过300MB。","Data usage is reset on the 1st day of each month.":"数据使用量将在每月的第一天重置。","Supported 3rd-party mobile apps":"支持的第三方移动应用","Required versions":"所需版本","OctoPrint 1.7.0 or higher":"OctoPrint 1.7.0或更高","The {brandName} plugin 1.8.11 or higher":"The {{brandName}} 插件 1.8.11 或更高","Filament Runout Notifications":"耗材用尽通知","Host_action_commands must be enabled in your firmware to make it possible for your filament runout sensor to communicate with OctoPrint and the {brandName} app. If you enable action commands in your firmware, then the filament runout sensor can work properly and the {brandName} app can notify you when the filament runs out. Unfortunately, without host_action_commands enabled, OctoPrint is unable to communicate with the printer to know that a filament runout was detected.":"您的固件中必须启用 Host_action_commands,以便您的耗材用尽传感器能够与 OctoPrint 和 {{brandName}} 应用通信。如果您在固件中启用动作命令,那么耗材用尽传感器可以正常工作,并且 {{brandName}} 应用可以在耗材用尽时通知您。不幸的是,如果没有启用 host_action_commands,OctoPrint 将无法与打印机通信以知道检测到耗材用尽。","To enable support, you need to do the following":"要启用支持,您需要执行以下操作","Marlin: Uncomment #define HOST_ACTION_COMMANDS in Configuration_adv.h and recompile. See here for more information on host_action_commands.":"Marlin:在Configuration_adv.h中取消注释#define HOST_ACTION_COMMANDS并重新编译。有关host_action_commands的更多信息,请参见此处。","Color Change Notifications":"颜色变更通知","Notifications on color change will work with any printer that has M600 enabled in its firmware. You do not need host_action_commands enabled to get notified when a color change is needed.":"只要打印机的固件中启用了M600,颜色变更通知就会工作。您不需要启用host_action_commands就可以在需要颜色变更时收到通知。","Is filament usage inaccurate?":"耗材使用是否不准确?","G-code files uploaded to your {brandName} account before upgrading to {brandName} for OctoPrint version 2.3.0 or {brandName} for Klipper version 1.2.0 do not include filament usage data.":"在升级到OctoPrint版本2.3.0或Klipper版本1.2.0的{{brandName}}之前上传到您的{{brandName}}账户的G-code文件不包括耗材使用数据。","To ensure accurate filament usage and other statistics":"为确保耗材使用和其他统计数据的准确性","Upload G-code files and start prints directly through {brandName} instead of OctoPrint/Klipper.":"通过{{brandName}}直接上传G-code文件并开始打印,而不是通过OctoPrint/Klipper。","Use a slicer that supports filament usage parameters, such as Cura, Prusa Slicer, SuperSlicer, IdeaMaker, or Simplify3D.":"使用支持耗材使用参数的切片软件,如Cura、Prusa Slicer、SuperSlicer、IdeaMaker或Simplify3D。","Print statistics for G-code files deleted before 12/20/2022 are not included. For files deleted after 12/20/2022, statistics are preserved.":"2022年12月20日之前删除的G-code文件的打印统计数据不包括在内。对于2022年12月20日之后删除的文件,统计数据将被保留。","Learn how to configure G-Code preview generation in your slicer":"了解如何在您的切片软件中配置G-Code预览生成","Adjust the speed of the cooling fan by setting a percentage value between 0 and 100. The default value is usually 100, which means the fan will run at full speed. Lowering the fan speed can reduce noise and save energy, but may also affect print quality if the printer gets too hot.":"通过设置0到100之间的百分比值来调整冷却风扇的速度。默认值通常为100,这意味着风扇将以全速运行。降低风扇速度可以减少噪音并节省能源,但如果打印机过热,也可能影响打印质量。","Adjust the speed of your 3D printer by changing the speed of all movement commands by a specified factor. The default value is 100%, meaning that the printer will move at its standard speed. Lowering the print speed factor will slow down your print, while increasing it will speed it up. Value of 200% will double the speed.":"通过按指定因素更改所有移动命令的速度来调整3D打印机的速度。默认值为100%,意味着打印机将以其标准速度移动。降低打印速度因子将减慢打印速度,增加则会加快速度。200%的值将使速度加倍。","Flow rate is the speed at which the printer extrudes plastic. If the flow rate is too high, the printer may extrude too much plastic and create blobs or stringing, while too low flow rate may result in weak and brittle prints. Adjusting the flow rate can help achieve the optimal balance between speed and quality. The default value is 100%.":"流速是打印机挤出塑料的速度。如果流速过高,打印机可能会挤出过多的塑料,造成滴落或拉丝现象;而流速过低可能导致打印物脆弱易断。调整流速可以帮助在速度和质量之间达到最佳平衡。默认值为100%。","No cost for three months. Plan renews after expiration. Cancel anytime.":"三个月不用花钱。 计划到期后续订。 随时取消。","Printers":"打印机","Print History":"打印历史","G-Codes":"G-代码","Spaghetti Gallery":"意大利面画廊","Pricing":"定价","Help":"帮助","Community":"社区","SIGN IN":"登录","SIGN UP":"注册","Preferences":"偏好设置","Log out":"登出","Upgrade to Pro":"升级到专业版","Statistics":"统计","Notifications":"通知","Number of snapshots":"快照数量","Estimated time to finish":"预计完成时间","Help Obi get better at detecting failures by giving her in-depth feedback on the snapshots of the print. You will earn {localizedDom} after you finish this Focused Feedback. {localizedDom2}":"通过对打印快照提供深入反馈,帮助Obi更好地检测失败。完成这次专注反馈后,您将获得 {localizedDom}。{localizedDom2}","2 non-expirable AI Detection Hours":"2小时不过期的AI检测时间","Learn more":"了解更多","Start Focused Feedback":"开始专注反馈","I grant the {brandName} app team members the permission to review the time-lapse video of the print shown on this page.":"我授权 {{brandName}} 应用团队成员查看此页面上显示的打印延时视频的权限。","Why is this necessary? ":"为什么这是必要的?","File":"文件","Printed":"已打印","You are awesome!":"你太棒了!","The AI failure detection just got a little better because of your feedback!":"因为你的反馈,AI失败检测刚刚变得更好了!","You just earned 2 non-expirable AI Detection Hours - Yay!":"你刚刚获得了2小时不过期的AI检测时间 - 赞!","I\'m done!":"我完成了!","Change feedback":"更改反馈","Not sure? Look at":"不确定?看看","some examples. ":"一些例子。","Failure Detection":"故障检测","AI Detection Hours":"AI检测小时","Not watching":"未观看","Learn all possible reasons":"了解所有可能的原因","Enable AI failure detection":"启用AI故障检测","AI failure detection is disabled. You are on your own.":"AI故障检测已禁用。你得自己来。","Pause on detected failures":"检测到故障时暂停","You will still be alerted via notifications.":"你仍然会通过通知被提醒。","Failure Detected!":"检测到故障!","Not a Failure?":"不是故障?","Unable to extrude / retract":"无法挤出/回收","The hotend is below the minimum temperature":"热端温度低于最低温度","Heat to 180°C":"加热至180°C","Command successfully sent!":"命令成功发送!","Printer Controls":"打印机控制","Move Head":"移动喷头","Extrude":"挤出","Baby Step Z":"微调Z轴","Tune Printer":"调整打印机","Power":"电源"," Home All":"回归原点","Disable Steppers":"禁用步进电机","Retract":"回抽","Loading tools...":"加载工具...","Current Offset":"当前偏移","Feed Rate / Speed":"进给率/速度","Flow Rate":"流量","Fan Speed":"风扇速度","0% (Off)":"0%(关闭)","These settings can only be set. They can\'t be read back from the firmware due to a limitation of the communication protocol.":"这些设置只能被设定。由于通信协议的限制,它们无法从固件中读回。"," Toggle Power ":" 切换电源 "," Power On All ":" 全部开机 "," Power Off All ":" 全部关机 ","Rapid toggling power may result in error. Please allow a cooldown period.":"快速切换电源可能会导致错误。请允许一个冷却期。","Uh-Oh. No printer is found on the serial port.":"哦哦。在串行端口上找不到打印机。","Once cancelled, the print can no longer be resumed.":"一旦取消,打印就无法再恢复了。","Print Job Control":"打印任务控制","Error":"错误","Filament Change or User Interaction Required":"需要更换耗材或用户互动","Printer is Currently Printing":"打印机当前正在打印","Print is Paused":"打印已暂停","Pause":"暂停","Resume":"恢复","Open G-Code File to Start Printing":"打开G-Code文件开始打印","Files":"文件","Printer Not Connected at the Serial Port":"打印机未在串行端口连接","Contacting OctoPrint":"正在联系OctoPrint","Connect":"连接","{brandName} for {name} is Offline.":"{{brandName}} 为 {{name}} 处于离线状态。","Why?":"为什么?","Print Progress":"打印进度","Last Print":"上次打印","Status":"状态","Started":"已开始","Duration":"持续时间","Layer":"层","Remaining":"剩余","Calculating...":"正在计算...","Finishing at":"完成于","Elapsed":"已过去","Z-height":"Z高度","Total time":"总时间","Total filament":"总耗材","Open Print":"打开打印","Reprint":"重新打印","No prints found":"未找到打印","Temperature Presets":"温度预设","Temperature Controls":"温度控制","Loading temperature...":"加载温度...","Printer Terminal":"打印机终端","Unknown event":"未知事件","Serial Port":"串行端口","Baudrate":"波特率","Auto":"自动","Noted!":"已记录!","Do you want to mute failure detection on for this print?":"您是否希望对这次打印关闭故障检测?","If you select \'Mute\', failure detection will be turned off for this print, but will be automatically turned on for your next print.":"如果您选择\'静音\',故障检测将为这次打印关闭,但会在您的下次打印时自动开启。","Mute":"静音","Failed to update printer":"更新打印机失败","Open":"打开","Details":"详情","Share":"分享","Tunnel":"隧道","Configure":"配置","Not a failure?":"不是故障?","Failure Detection is Off":"故障检测已关闭","Learn more. ":"了解更多。","Enable AI failure detection {localizedDom}":"启用AI故障检测 {localizedDom}","AI failure detection is disabled. You are on your own":"AI故障检测已禁用。您需要自己判断","Pause on detected failures {localizedDom}":"在检测到故障时暂停 {localizedDom}","You will still be alerted via notifications":"您仍然会通过通知被提醒"," Remaining ":" 剩余 "," Total ":" 总计 ","Printer Feed Sharing":"打印机源分享","Wait! You need to {localizedDom} to enable Printer feed.":"等一下!您需要 {localizedDom} 来启用打印机源。","upgrade to the Pro plan":"升级到专业计划","Printer feed sharing is a Pro feature.":"打印机源分享是专业版功能。","Running the {brandName} app incurs non-trivial amount of costs":"运行 {{brandName}} 应用产生了相当数量的成本","With little more than 1 Starbucks per month, you can upgrade to a Pro account and help us run the {brandName} app smoothly.":"仅需每月1杯星巴克的费用,您就可以升级到专业账户,并帮助我们顺利运行 {{brandName}} 应用。","Check out Pro pricing >>>":"查看专业版价格 >>>","Share live feed for printer ":"分享打印机实时源 ","Click the clipboard icon above to copy the secure shareable link to your clipboard.":"点击上方的剪贴板图标,将安全可分享的链接复制到您的剪贴板。","You can test the shareable link by right-clicking {localizedDom} and select \'Open Link in Incognito Window\'.":"您可以通过右键点击 {localizedDom} 并选择\'在隐身窗口中打开链接\'来测试可分享链接。","here":"这里","Notes":"备注","Send the secure link to anyone you want to share your printer feed with. They do NOT need the {brandName} account to see your printer feed.":"将安全链接发送给任何您想与之分享打印机源的人。他们不需要 {{brandName}} 账户就可以查看您的打印机源。","Anyone with this shareable link will be able to see your printer feed.":"任何拥有此可分享链接的人都将能够查看您的打印机源。","Learn more about what they can see.":"了解更多关于他们能看到什么。","Presets":"预设","Temperature presets can be edited or added in {agentName} settings.":"温度预设可以在 {{agentName}} 设置中被编辑或添加。","OFF":"关闭","Manual":"手动","Oops!":"哎呀!","Handshake failed because the pop-up was blcoked.":"由于弹出窗口被阻止,握手失败。","Please unblock the pop-up in your browser and try it again.":"请在浏览器中解除弹出窗口阻止,然后再试一次。","Okay!":"好的!","Switch to Manual Setup":"切换到手动设置","Handshake failed!":"握手失败!","Please make sure":"请确保","The OctoPrint you want to link is at {host}:{port}, and it\'s connected to the same local network as your computer/phone.":"您要链接的OctoPrint位于{{host}}:{{port}},并且与您的计算机/手机连接到同一局域网。","The version of plugin is 1.8.0 or above.":"插件版本为1.8.0或以上。","The {brandName} app needs to make sure you have access to selected printer.":"{{brandName}} 应用需要确保您可以访问所选的打印机。","When you press \'Link Now\' button below, a new browser window will pop up to finish a handshake with this printer.":"当您点击下面的\'立即链接\'按钮时,将弹出一个新的浏览器窗口来完成与此打印机的握手。","Link Now":"立即链接","Platform":"平台","IP address":"IP地址","Hostname":"主机名","OctoPi":"OctoPi","OS":"操作系统","Link":"链接","Device Selection":"设备选择","Install Obico":"安装 Obico","Link Printer":"链接打印机","First Layer Report":"首层报告","uploaded":"已上传","Open File":"打开文件","First Layer Grade":"首层等级","First Layer Print Time":"首层打印时间","First Layer Notes":"首层备注","You\'re first layer score is":"您的首层得分是","Grade {localizedDom} usually means one of the following":"等级 {localizedDom} 通常意味着以下之一:","AI Time-Lapse":"人工智能延时摄影","Original Time-Lapse":"原始延时拍摄","Give Feedback About This Report":"提供关于此报告的反馈","Possible failure detected!":"可能检测到故障!","(Cancelled)":"(已取消)","Time-lapse video deleted":"时间延迟视频已删除","Time-lapse videos older than 6-months are deleted from the {brandName} app server as they are rarely needed and cost significant amount to store in the cloud.":"超过6个月的时间延迟视频将从 {{brandName}} 应用服务器中删除,因为它们很少被需要且在云端存储成本很高。","If you are a Pro subscriber and you don\'t want your time-lapse videos to be deleted, please ":"如果您是专业订阅者并且不希望您的时间延迟视频被删除,请","contact us":"联系我们","Download Original Time-lapse":"下载原始时间延迟视频","Download Detective Time-lapse":"下载侦探时间延迟视频"," ":" ","Video file is deleted.":"视频文件已删除。","Did we get it right?":"我们做对了吗?","CUSED FEEDBACK":"专注反馈","Thank you for completing the Focused Feedback. You have earned 2 non-expirable AI Detection Hours. You can click the button again to change your feedback.":"感谢您完成专注反馈。您已赚取2小时不过期的AI检测时间。您可以再次点击按钮来更改您的反馈。","With Focused Feedback, you can tell us exactly where we got it wrong. This is the most effective way to help us improve.":"通过专注反馈,您可以准确告诉我们我们哪里做错了。这是帮助我们改进的最有效方式。","You will earn 2 AI Detection Hours once you finish the Focused Feedback":"完成专注反馈后,您将获得2小时AI检测时间","Every time you give us feedback,":"每次您给我们反馈,","you help us get better at detecting failures":"您帮助我们更好地检测失败","Search":"搜索","Ascending":"升序","Descending":"降序","SORT BY":"排序方式","DIRECTION":"方向","Upgrade for Better Streaming":"升级以获得更好的流媒体","Because you are now on the":"因为您现在处于","{brandName} Cloud Free plan":"{{brandName}} 云免费计划","Streaming is limited to 5 FPS (frames per second).":"流媒体限制为5 FPS(每秒帧数)。","After 30 seconds of streaming there is a 30-second cooldown before you can resume streaming.":"流媒体30秒后,您需要等待30秒冷却时间才能继续流媒体。","Support the {brandName} project by":"通过以下方式支持 {{brandName}} 项目","upgrading to the Pro plan for little more than 1 Starbucks a month.":"每月仅需略高于1杯星巴克的费用即可升级到专业计划。","The Pro plan offers many perks, including the":"专业计划提供许多特权,包括","Smooth 25 FPS.":"平滑的25 FPS。","Unlimited streaming with no cooldowns.":"无限流媒体,无需冷却。","Video frames dropped":"视频帧丢失","The video frames are getting dropped because there is most likely a bandwidth bottleneck along the route they travel from your Raspberry Pi to your computer. The bottleneck can be anywhere, but in most cases,":"视频帧丢失可能是因为从您的树莓派到您的计算机的路由上存在带宽瓶颈。瓶颈可以在任何地方,但在大多数情况下,","it is either your computer\'s internet connection, or your Raspberry Pi\'s":"要么是您计算机的互联网连接,要么是您的树莓派的","Make sure your computer is connected to the same network as your Pi. If you still see this warning, you need to trouble-shoot your computer\'s Wi-Fi connection, probably by moving closer to the Wi-Fi router.":"确保您的计算机与您的Pi连接到同一网络。如果您仍然看到这个警告,您需要对您的计算机的Wi-Fi连接进行故障排除,可能通过靠近Wi-Fi路由器来解决。","If the webcam stream is smooth when your computer is on the same Wi-Fi network as your Pi, the bottleneck is likely with the upload speed of your internet connection. You need to run a speed test to make sure you have high-enough upload speed, as well as":"如果当您的计算机与您的Pi在同一个Wi-Fi网络上时,摄像头流畅,则瓶颈可能在于您的互联网连接的上传速度。您需要进行速度测试,以确保您有足够高的上传速度,以及","low latency (ping)":"低延迟(ping)","Check out":"查看","the step-by-step trouble-shooting guide.":"逐步故障排除指南。","Webcam stream buffering":"网络摄像头流缓冲","When you see the messaging about webcam stream is \'buffering\' occasionally, you can just reload the page. If this message repeatedly appears, it may indicate one of the problems":"当您偶尔看到有关网络摄像头流“缓冲”的消息时,您可以重新加载页面。如果这个消息反复出现,它可能表明存在以下问题之一","1. A constricted video stream on your Raspberry Pi. The most common reasons are":"1. 您的树莓派上的视频流受限。最常见的原因是","Camera resolution is set too high.":"摄像头分辨率设置过高。","Camera framerate is set too high.":"摄像头帧率设置过高。","The upload speed of your Raspberry Pi is too low.":"您的树莓派的上传速度太低。","2. The internet connection of your computer or phone is not fast enough.":"2. 您的计算机或手机的互联网连接不够快。","3. Your webcam is not properly connected to your Raspberry Pi.":"3. 您的网络摄像头未正确连接到您的树莓派。","Check":"检查","this step-by-step troubleshooting guide":"这个逐步故障排除指南","Buffering...":"缓冲中...","Why is it stuck?":"为什么会卡住?","Webcam streams up to 5 FPS for Free":"免费提供高达5 FPS的网络摄像头流","Learn more...":"了解更多...","Filter":"过滤器","Suppress Temperature":"抑制温度消息","Suppress SD Status Messages":"抑制SD状态消息","Suppress Position Messages":"抑制位置消息","Suppress \'OK\' Messages":"抑制\'OK\'消息","Enter code...":"输入代码...","Terminal feed is off":"终端输出已关闭","Failed to fetch authorized apps":"获取授权应用失败","Failed to remove access":"移除访问权限失败","Authorized Apps":"授权应用","App Name":"应用名称","Printer to Access":"访问打印机","Remove Access":"移除访问权限","General":"通用","Land directly on the printer control page if I have only 1 printer":"如果我只有一台打印机,则直接进入打印机控制页面","This option will be ignored if you have multiple printers. In this case, you will always land on the printer overview page.":"如果您有多台打印机,此选项将被忽略。在这种情况下,您将始终进入打印机概览页面。","View Archived Printers":"查看已归档打印机","Enable notifications":"启用通知","Enable notification":"启用通知","Please configure the following variables in the \'.env\' file":"请在\'.env\'文件中配置以下变量","Edit Name":"编辑名称","Profile":"个人资料","First Name":"名字","Last Name":"姓","Primary Email":"主要电子邮箱","Manage email addresses":"管理电子邮箱地址","Password":"密码","Change":"更改","Appearance":"外观","Theme":"主题","DARK":"暗色","LIGHT":"亮色","Sync theme with system settings":"与系统设置同步主题","Failure alerts":"故障警报","When possible failures are detected":"当检测到可能的故障时","Print job events":"打印任务事件","Upon start/end/cancellation of a print job":"在打印任务开始/结束/取消时","When print is done":"当打印完成时","When print is cancelled":"当打印被取消时","When printer needs attention":"当打印机需要注意时","Such as filament change or run-out":"例如耗材更换或用尽","When print is started":"当打印开始时","When print is paused":"当打印暂停时","Note: this event may be triggered by other plugins that pause the print frequently, such as the timelapse plugin":"注意:此事件可能由其他经常暂停打印的插件触发,例如延时摄影插件","When print is resumed":"当打印恢复时","Heater status change":"加热器状态变化","Heater reached target or cooled down":"加热器达到目标温度或已冷却","Push Notification":"推送通知","Failed to contact printer. Is it powered on and connected to Internet?":"无法联系到打印机。它是否已开机并连接到互联网?","Printer not responding":"打印机无响应","The printer doesn\'t seem to be responding. Is it powered on and connected to the Internet? Please":"打印机似乎没有响应。它是否已开机并连接到互联网?请","report the problem to us":"向我们报告问题","if this error repeats multiple times.":"如果这个错误多次重复。","Get help from":"获取帮助来自","the {brandName} for Klipper support forum":"{{brandName}} Klipper 支持论坛","or":"或","the {brandName} general support forum":"{{brandName}} 通用支持论坛","if this error persists.":"如果这个错误持续存在。","Email":"电子邮件","SMS":"短信","Pushbullet":"Pushbullet","Discord":"Discord","Telegram":"Telegram","Pushover":"Pushover","Slack":"Slack","Webhook":"Webhook","Webhook URL":"Webhook URL","Discord Webhook":"Discord Webhook","If you have a Discord channel you wish to receive notifications on, you can {localizedDom} and enter it here.":"如果您有希望接收通知的Discord频道,您可以{localizedDom}然后在这里输入。","generate webhook url":"生成webhook网址","Notifications are sent to verified email addresses only.":"通知仅发送至已验证的电子邮件地址。","Account events {localizedDom}":"账户事件 {localizedDom}","Plan changed; AI Detection Hours running low; etc.":"计划变更;AI检测时间不足;等。","Access Token":"访问令牌","Pushbullet Access Token":"Pushbullet访问令牌","If you have a Pushbullet account, you can {localizedDom} and enter it here.":"如果您有一个Pushbullet账户,您可以{localizedDom}然后在这里输入。","generate an access token":"生成一个访问令牌","User Key":"用户密钥","Pushover User Key":"Pushover用户密钥","If you have a Pushover account, you can {localizedDom} and enter it here.":"如果您有一个Pushover账户,您可以{localizedDom}然后在这里输入。","get your User Key":"获取您的用户密钥","Slack test failed":"Slack测试失败","Close":"关闭","{brandName} Messenger has been successfully added to your workspace.":"{{brandName}} Messenger 已成功添加到您的工作区。","What\'s Next?":"下一步是什么?"," 1. Make sure {brandName} Messenger is added to the channels you want the notifications to be sent to.":" 1. 确保 {{brandName}} Messenger 已添加到您希望发送通知的频道。","2. There is no 2. You are all set. It\'s this simple. 😀":"2. 没有第二步。您已全部设置好。就是这么简单。😀","Click the button below to add the {brandName} Slack App into your workspace":"点击下面的按钮将 {{brandName}} Slack 应用添加到您的工作区","Test Notifications":"测试通知","Test Slack Notification":"测试Slack通知","Questions?":"有问题?","Q: How do I remove the {brandName} Slack App from a slack channel so that it won\'t send notifications to that channel?":"Q: 我如何从Slack频道中移除 {{brandName}} Slack 应用,以便它不会向该频道发送通知?","Q: How do I remove the {brandName} Slack App from the entire workspace?":"Q: 我如何从整个工作区中移除 {{brandName}} Slack 应用?","A: Please follow the instructions in {localizedDom}.":"A: 请按照 {localizedDom} 中的说明操作。","this Slack help doc":"这个Slack帮助文档","Telegram test failed":"Telegram测试失败","Login to be notified by our Telegram bot.":"登录以接收我们Telegram机器人的通知。","Telegram in the mobile app is very finicky. Please open a browser, and log into {localizedDom} using the same credential to set up Telegram.":"移动应用中的Telegram非常挑剔。请打开浏览器,并使用相同的凭据登录到 {localizedDom} 来设置Telegram。","the {brandName} web app":"{{brandName}} 网络应用","Once set up, Telegram notification will work properly on your phone.":"一旦设置完成,Telegram通知将在您的手机上正常工作。","If you see \'Bot domain invalid\', please hard-refresh the browser a few times. I know it\'s annoying. But Telegram API has a very high failure rate.":"如果您看到\'Bot域无效\',请对浏览器进行几次硬刷新。我知道这很烦人。但Telegram API的失败率非常高。","If you press the \'Test Telegram Notification\' button and see an error, please hard-refresh the browser a few times and press the test button again.":"如果您按下\'测试Telegram通知\'按钮并看到错误,请对浏览器进行几次硬刷新并再次按测试按钮。","Unlink Telegram":"取消链接Telegram","Test Telegram Notification":"测试Telegram通知","Oops, we don\'t send SMS to this country code":"哎呀,我们不向这个国家代码发送短信","Phone Number":"电话号码","Country Code":"国家代码","Custom Webhook URL":"自定义Webhook URL","Enter a custom webhook URL at which to receive notifications.":"输入一个自定义的webhook URL来接收通知。","You just earned 3 AI Detection Hours!":"您刚刚获得了3个AI检测小时!","Having more training data is crucial for a better First Layer AI. Thank you!":"拥有更多的训练数据对于更好的第一层AI至关重要。谢谢您!","You can now close this page":"您现在可以关闭此页面","First Layer Snapshots":"第一层快照","Help {brandName}\'s First Layer AI (codename: Celestrius) learn and improve quickly by telling her what issues exist in each of these snapshots.":"通过告诉她每个快照中存在的问题,帮助{{brandName}}的第一层AI(代号:Celestrius)快速学习和改进。","Why should I do this?":"我为什么要这么做?","{brandName}\'s First Layer AI is still in her infant time. Just like a human baby, the only way she can learn is to be told by adults what is good and what is bad. By telling her what issues exist in these snapshots, you will help her get better at telling a good first layer apart from a bad one.":"{{brandName}}的第一层AI还处于初期阶段。就像一个人类婴儿,她能学习的唯一方式是被成年人告知什么是好的,什么是坏的。通过告诉她这些快照中存在的问题,您将帮助她更好地区分好的和坏的第一层。","Privacy Notice: By participating in this survey, you grant the {brandName} team members the permission to review all snapshots below.":"隐私声明:通过参与这项调查,您授权{{brandName}}团队成员审查下面的所有快照。","Earn 3 AI Detection Hours!":"赚取3个AI检测小时!","{name} snapshots were selected from your first layer print. Earn 3 AI Detection Hours by telling us if you see any printing issues with these snapshots!":"从您的第一层打印中选择了{{name}}个快照。通过告诉我们您是否在这些快照中看到任何打印问题来赚取3个AI检测小时!","Host printer for this gcode not found":"未找到此gcode的宿主打印机","Rename file":"重命名文件","Delete file":"删除文件","This G-Code file doesn\'t exists":"此G-Code文件不存在","This file is deleted and unavailable for print":"该文件已被删除,无法打印","This file doesn\'t have any prints yet":"这个文件还没有任何打印","File storage":"文件存储","Sort":"排序","Create folder":"创建文件夹","Available to browse files":"可浏览文件","Unable to browse files":"无法浏览文件","Delete {name} item(s)? This action can not be undone.":"删除 {{name}} 项?此操作无法撤销。","Yes":"是","No":"否","Failed to delete files and folders":"删除文件和文件夹失败","{name} isn\'t available for browsing files for one of the following reasons":"{{name}} 由于以下原因之一,无法浏览文件","{brandName} for {name} plugin is outdated (you need version {version} or later)":"{{brandName}} 适用于 {{name}} 的插件已过时(您需要 {{version}} 版本或更高)","Printer not found or unavailable":"找不到打印机或不可用","Folder with this name already exists":"已存在同名文件夹","Select all":"全选","selected":"已选","STORAGE":"存储","Cloud":"云","G-Code file (*.gcode, *.gco, or *.g) only.":"仅限G-Code文件(*.gcode、*.gco或*.g)。","Up to {maxFilesize} MB each file, {maxTotalFilesize} GB total.":"每个文件最多 {{maxFilesize}} MB,总计 {{maxTotalFilesize}} GB。","Search in Klipper printers works only for current directory":"在Klipper打印机中搜索仅适用于当前目录","Welcome To":"欢迎来到","Your 30-Day {localizedDom} Free Trial Has Started!":"您的30天 {localizedDom} 免费试用已开始!","Pro Plan":"专业计划","{trialDaysLeft} Days Left on Your {localizedDom} Free Trial!":"您的 {localizedDom} 免费试用还剩 {trialDaysLeft} 天!","Unlimited Secure Tunnel to your {platformDisplayName}":"无限安全隧道至您的 {{platformDisplayName}}","Premium 25 FPS Webcam Streaming":"高级25 FPS网络摄像头流媒体","250 AI Failure Detection Hours":"250小时AI故障检测","G-Code Remote Upload and Printing":"G-Code远程上传和打印","{platformDisplayName} has not been linked to your {brandName} account.":"{{platformDisplayName}} 尚未与您的 {{brandName}} 账户链接。","Link {platformDisplayName} Now":"立即链接 {{platformDisplayName}}","It\'s as easy as 1-2-3.":"简单如1-2-3。","Not ready to start yet? {localizedDom} to pause your free trial.":"还没准备好开始?{localizedDom} 来暂停您的免费试用。","Email us":"给我们发送电子邮件","Authorization Successful!":"授权成功!","You can close this page":"您可以关闭此页面","Tunnel Access Authorization":"隧道访问授权","is requesting to access you {platformDisplayName} Tunnel.":"正在请求访问您的 {{platformDisplayName}} 隧道。","is a secure way provided by {localizedDom} to remotely access your {platformDisplayName}. With the {platformDisplayName} Tunnel, you can use {appDisplayName} to access your {platformDisplayName} from anywhere.":"是由 {localizedDom} 提供的一种安全方式,用于远程访问您的 {platformDisplayName}。通过 {platformDisplayName} 隧道,您可以从任何地方使用 {appDisplayName} 访问您的 {platformDisplayName}。","Tunnel usage of a free account is {localizedDom} to enjoy unlimited tunnel usage.":"免费账户的隧道使用是 {localizedDom},以享受无限的隧道使用。","capped at 300MB per month":"每月上限为300MB","upgrade to the {brandName} app Pro plan for 1 Starbucks a month":"每月1星巴克的价格升级到 {{brandName}} 应用的Pro计划","After the Free trial expires, tunnel data usage will be {localizedDom} to continue enjoying unlimited tunnel usage.":"免费试用结束后,隧道数据使用将被 {localizedDom},以继续享受无限的隧道使用。","Tunnel access by {localizedDom} (make sure you trust it)":"隧道访问由 {localizedDom} 提供(确保您信任它):","You have 0 active printers":"您有0台活跃的打印机","Please select a printer":"请选择一台打印机","Authorize":"授权","Manage Apps":"管理应用","Security notes":"安全说明","The app can only access the tunnel, not your {brandName} account info such as your email address.":"应用只能访问隧道,无法访问您的 {{brandName}} 账户信息,如您的电子邮件地址。","The access remains valid until explicitly revoked. You can revoke the access by going to Preferences -> Authorized Apps.":"访问权限将保持有效,直到明确撤销。您可以通过前往偏好设置 -> 授权应用来撤销访问权限。","Log Out":"登出","Free {platformDisplayName} Tunnel":"免费的 {{platformDisplayName}} 隧道","Powered by {brandName}":"由 {{brandName}} 提供支持","With the Free {platformDisplayName} Tunnel by {brandName}, you can now use {appDisplayName} to":"通过 {{brandName}} 提供的免费 {{platformDisplayName}} 隧道,您现在可以使用 {{appDisplayName}} 来","securely control and monitor your printer from anywhere":"从任何地方安全地控制和监视您的打印机","Unlimited realtime webcam at 0.1FPS.":"无限实时网络摄像头,0.1FPS。","300MB monthly tunnel data cap (excluding webcam streaming).":"每月300MB隧道数据上限(不包括网络摄像头流媒体)。","10 hours/mo AI failure detection.":"每月10小时AI故障检测。","Upgrade to {brandName} Pro Account ({localizedDom}) to get premium features":"升级到 {brandName} Pro账户 ({localizedDom}) 以获取高级功能:","from $4/mo":"从 $4/月起","Unlimited realtime webcam streaming.":"无限实时网络摄像头流媒体。","Unlimited tunnel data usage.":"无限隧道数据使用。","50 hours/mo AI failure detection.":"每月50小时AI故障检测。","And much more...":"还有更多...","SIGN IN ":"登录 ","- OR -":"- 或 -","OctoPrint/Klipper Secure Tunnel":"OctoPrint/Klipper 安全隧道","It may take long time for OctoPrint/Mainsail/Fluidd page to load as it is securely tunneled via the {brandName} app server.":"由于通过 {{brandName}} 应用服务器安全隧道传输,加载 OctoPrint/Mainsail/Fluidd 页面可能需要较长时间。","Learn more about OctoPrint/Klipper tunnel\'s security and page load speed.":"了解更多关于 OctoPrint/Klipper 隧道的安全性和页面加载速度。","Don\'t show again":"不再显示","Monthly data usage ({localizedDom})":"每月数据使用情况 ({localizedDom})","Resets in {daysUntilReset} days":"{{daysUntilReset}} 天后重置","Used {usageMTD} of {humanizedUsageCap}.":"已使用 {{usageMTD}},共 {{humanizedUsageCap}}。","Your month-to-date tunnel data usage is over the Free plan limit.":"您到目前为止的本月隧道数据使用量已超过免费计划限制。","Get Unlimited Tunnel Data":"获取无限隧道数据","Successfully linked to your account!":"成功链接到您的账户!","Printer name":"打印机名称","Give your printer a shiny name.":"给您的打印机一个闪亮的名称。","Authorize App Access":"授权应用访问","Go Check Out Printer Feed!":"去查看打印机源!","Add Phone Number":"添加电话号码","Receive text (SMS) in case of print failures.":"在打印失败时接收文本(短信)。","Change Printer Settings":"更改打印机设置","You can always change it later.":"您可以稍后再更改。","Install Obico for Klipper":"安装 Obico for Klipper","Find the Guide for Your Printer to install Obico for Klipper.":"查找打印机指南以安装 Obico for Klipper。","SSH to your device.":"通过 SSH 连接到您的设备。","Enter the installation commands.":"输入安装命令。","Alternatively, you can use KIAUH to install Obico.":"或者,您可以使用 KIAUH 安装 Obico。","Upon \\"Scanning the networking...\\", come back here and click \\"Next\\".":"在“扫描网络...”后,返回此处并单击“下一步”。","Install Obico for OctoPrint":"安装 Obico for OctoPrint","Open OctoPrint in another browser tab.":"在另一个浏览器标签页中打开OctoPrint。","Select":"选择","OctoPrint settings menu → Plugin Manager → Get More...":"OctoPrint设置菜单 → 插件管理器 → 获取更多...","Enter \'{brandName}\' to locate the plugin. Click":"输入\'{{brandName}}\'来定位插件。点击","Install":"安装","Restart OctoPrint when prompted.":"根据提示重启OctoPrint。","SSH to the Raspberry Pi (or other SBC) your Klipper runs on.":"SSH到运行Klipper的树莓派。","Run:":"运行:","1. Unbox and assemble the 3D printer following the manufacturers instructions":"1. 按照制造商的说明拆箱并组装 3D 打印机","2. Power on the 3D printer and make sure it is connected to WiFi.":"2. 打开3D打印机电源并确保其连接到WiFi。","3. Tap “Next” when you are ready.":"3. 准备好后,点击“下一步”。","Need help? Check out the {localizedDom}":"需要帮助?查看{localizedDom}","step-by-step set up guide":"逐步设置指南","The 6-digit code needs to be entered in the Obico plugin in OctoPrint. There are a few reasons why you can\'t find this page:":"需要在 OctoPrint 的 Obico 插件中输入 6 位代码。 找不到此页面有以下几个原因:","You don\'t have the plugin installed or you haven\'t restarted OctoPrint after installation. Click":"您没有安装插件,或者安装后没有重启 OctoPrint。点击","to walk through the process again.":"再次走过这个过程。","The installed plugin is on a version earlier than 1.5.0. You need to upgrade the plugin to":"已安装的插件版本早于 1.5.0。您需要将插件升级到","or later.":"或更高版本。","Still no dice? Check out the step-by-step":"仍然不行?查看逐步","set up guide":"设置指南","The 6-digit code needs to be entered to the Obico for Klipper installation script.":"需要将 6 位代码输入到 Obico for Klipper 安装脚本中。","this set up guide":"这个设置指南","for detailed instructions.":"获取详细说明。","Can\'t find the page to enter the 6-digit code?":"找不到输入6位数代码的页面?","Scanning...":"正在扫描...","Scanning..., {name} printer(s) found on your local network:":"正在扫描...,在您的本地网络上发现了{{name}}台打印机:","To link your printer, please make sure:":"要链接您的打印机,请确保:","The printer is powered on. If you are using an external SBC such as a Raspberry Pi, make sure it\'s powered on as well.":"打印机已开机。如果您正在使用外部SBC,如树莓派,请确保它也已开机。","The printer or SBC is connected to the same local network as your phone/computer.":"打印机或SBC与您的手机/计算机连接到同一局域网。","{brandName} for OctoPrint is 1.8.0 or above.":"{{brandName}}适用于OctoPrint的版本为1.8.0或以上。","Can’t find the printer you want to link? Switch to Manual Linking instead.":"找不到您要链接的打印机? 改为手动链接。","Switch to Manual Linking":"切换到手动链接","Code copied to system clipboard":"代码已复制到系统剪贴板","Ctrl-C/Cmd-C to copy the code":"使用Ctrl-C/Cmd-C复制代码","Code will expire in ":"代码将在以下时间后过期:","Enter the {localizedDom}":"输入{localizedDom}","6-digit verification code":"6位验证码","Invalid code. Is it expired?":"无效代码。它是否已过期?","Enter the One-time Passcode":"输入一次性密码","If you using Obico for OctoPrint older than 2.5.0, or Obico for Klipper older than 1.6.0, switch to {localizedDom}.":"如果您使用 Obico for OctoPrint 早于 2.5.0 的版本,或 Obico for Klipper 早于 1.6.0 的版本,请切换到 {localizedDom}。","Touch Screen":"触摸屏","Check to see if your printer already has Obico installed your printer screen.":"检查您的打印机是否已安装 Obico 打印机屏幕。","Navigate to the settings menu on the LCD screen of your printer.":"导航至打印机 LCD 屏幕上的设置菜单。","Find the “Link Obico” menu item and tap it to open the connection screen.":"找到“Link Obico”菜单项并点击它以打开连接屏幕。","LCD Screen ":"液晶屏","Check to see if your printer already has Obico Easy Link installed on the LCD menu.":"检查您的打印机的 LCD 菜单上是否已安装 Obico Easy Link。","Find the “Link Obico” menu item.":"找到“链接 Obico”菜单项。","Install Via SSH":"通过 SSH 安装","If you can\'t find Obico Easy Link, you will need to SSH to your printer to install Obico. You will need to find a guide that works for your printer.":"如果找不到 Obico Easy Link,则需要通过 SSH 连接到打印机才能安装 Obico。 您需要找到适合您的打印机的指南。","Show me how":"告诉我怎么做","Warning: Re-Linking OctoPrint should be your last resort to solve issues. Please make sure you have exhausted all options on {localizedDom}.":"警告:重新链接 OctoPrint 应该是解决问题的最后手段。 请确保您已用尽 {localizedDom} 上的所有选项。","{brandName}\'s help website":"{{brandName}}的帮助网站","Devices with Obico Pre-installed":"预装 Obico 的设备","Pre-Installed Klipper Printer":"预装 Klipper 打印机","Creality K1, Sonic Pad, Sovol SV07, Kingroon KLP1, Elegoo Neptune 4, etc...":"Creality K1、Sonic Pad、Sovol SV07、Kingroon KLP1、Elegoo Neptune 4 等...","Generic Klipper - Self Installed":"通用 Klipper - 自安装","If you installed Klipper yourself on a Raspberry Pi or other linux device. E.g., Voron, RatRig":"如果您自己在 Raspberry Pi 或其他 Linux 设备上安装了 Klipper。 例如,Voron、RatRig","Including OctoPrint for Klipper such as OctoKlipper.":"包括适用于Klipper的OctoPrint,如OctoKlipper。","Save":"保存","OctoPrint Tunnel":"OctoPrint隧道","Additional Actions":"额外操作","Reorder":"重新排序","Hide":"隐藏","Customize this page for each of your printers by reodering or hiding cards above.":"通过重新排序或隐藏上面的卡片,为您的每台打印机自定义此页面。","Add Printer":"添加打印机","Link another printer to {brandName}.":"将另一台打印机链接到{{brandName}}。","Webcam":"摄像头","WEBCAM SELECTION":"网络摄像头选择","All":"全部","Nothing to look here. Enjoy your vacation!":"这里没有什么可看的。享受您的假期!","No more notifications.":"没有更多通知。","Created at":"创建于","Print Status":"打印状态","All Printers":"所有打印机","Online Printers":"在线打印机","Active Printers":"活跃打印机","{name} AI Detection Hours":"{{name}} AI检测小时","You can always view your archived printers in by navigating to the General tab within Preferences.":"您可以通过导航至偏好设置中的“通用”标签页随时查看已存档的打印机。","Link New Printer":"链接新打印机","have been archived.":"已被归档。","Show Archived Printers":"显示已归档的打印机","Never Show Again":"不再显示","Printer not found":"未找到打印机","Can not update printer settings.":"无法更新打印机设置。","{brandName} for klipper support forum":"klipper 支持论坛的 {{brandName}}","Delete {name} printer? This action can not be undone.":"删除{{name}}打印机?此操作无法撤销。","Printer archived":"打印机已归档","{name} is archived.":"{{name}}已被归档。","You can find it on":"您可以在此找到它","this page":"这个页面","and un-archive it":"并取消其归档","Go to the printer page":"前往打印机页面","Settings":"设置","Give your shiny new printer a name":"给您的全新打印机起个亮眼的名字","When a potential failure is detected":"当检测到潜在故障时","Just notify me":"只需通知我","Pause the printer and notify me":"暂停打印机并通知我","If you are not sure about the settings below, leave the default values to minimize surprises.":"如果您不确定以下设置,请保留默认值以尽量减少意外。","When print is paused,":"当打印暂停时,","Turn off hotend heater(s)":"关闭热端加热器","Turn off bed heater":"关闭热床加热器","Retract filament by":"回抽耗材","Lift extruder along Z axis by":"沿Z轴提升挤出机","AI failure detection sensitivity":"AI故障检测灵敏度","Low - I don\'t want a lot of false alarms. Only alert me when you are absolutely sure.":"低 - 我不想要很多误报。只有在你绝对确定时才提醒我。","Medium - A few false alarms won\'t bother me. But some well-disguised spaghetti will be missed.":"中 - 一些误报不会打扰我。但是一些伪装得很好的意大利面条会被错过。","High - Hit me with all the false alarms. I want to catch as many failures as possible.":"高 - 给我所有的误报。我想尽可能捕捉到更多的失败。","Time-lapse":"延时摄影","Focused Feedback won\'t be available when time-lapse recording is turned off. You won\'t be able to {localizedDom}":"关闭延时摄影录制时,将无法使用专注反馈。您将无法 {localizedDom}","help us get better while earning AI Detection Hours for yourself":"在为自己赚取AI检测时间的同时帮助我们变得更好","Record time-lapse when a print finishes successfully.":"打印成功完成时记录延时摄影。","Skip if the print is finished in less than":"如果打印在少于以下时间内完成则跳过","Record time-lapse when a print is cancelled.":"打印被取消时记录延时摄影。","Skip if the print is cancelled in less than":"如果打印在少于以下时间内取消则跳过","Danger Zone":"危险区","Re-Link Printer":"重新链接打印机","If your printer is always showing as \'offline\', and you have gone through {localizedDom}, you can try to re-link printer as the last resort.":"如果您的打印机始终显示为\'离线\',并且您已经尝试了 {localizedDom},您可以将重新链接打印机作为最后的手段。","all the trouble-shooting steps":"所有故障排除步骤","Archive Printer":"归档打印机","Archived printers are not counted toward your subscription plan. You won\'t see them in the app either. Go to {localizedDom} to find all archived printers and/or un-archive them.":"归档的打印机不计入您的订阅计划。您在应用程序中也看不到它们。前往 {localizedDom} 查找所有归档的打印机并/或取消归档它们。","Delete Printer":"删除打印机","Bye-bye printer.":"再见,打印机。","Date":"日期","Time Period":"时间段","This Week":"本周","This Month":"本月","This Year":"今年","Custom":"自定义","Finished":"已完成","Cancelled":"已取消","Feedback Needed":"需要反馈","Review Needed":"需要审查","Focused Feedback Needed":"需要专注反馈","Delete {name} print(s)? This action can not be undone.":"删除 {{name}} 打印?此操作无法撤销。","Until":"直到","and later":"及以后","Sort By":"排序方式","Prints done":"完成的打印","Total print time":"总打印时间","Filament used":"使用的耗材","Full Stats":"完整统计","Older":"较旧","Newer":"较新","Failed to fetch printer information":"获取打印机信息失败","Start time":"开始时间","End time":"结束时间","Open Detailed Report":"打开详细报告","Time-Lapse video deleted":"时间延迟视频已删除","If you are a Pro subscriber and you don\'t want your time-lapse videos to be deleted, please {localizedDom}":"如果您是Pro订阅者并且不希望您的时间延迟视频被删除,请{localizedDom}","FOCUSED FEEDBACK":"专注反馈","Time-Lapse video unavailable because":"时间延迟视频不可用,因为","The {brandName} server is still processing the time-lapse;":"{{brandName}} 服务器仍在处理时间延迟;","Or, the print time was shorter than the threshold. You can change the threshold in {localizedDom}":"或者,打印时间短于阈值。您可以在 {localizedDom} 中更改阈值","the printer settings":"打印机设置","Print Page":"打印页面","Delete {brandName} print(s)? This action can not be undone.":"删除{{brandName}}印刷品吗? 此操作无法撤消。","{name} time-lapse(s) deleted!":"{{name}} 时间延迟视频已删除!","Time-lapse {name} deleted!":"时间延迟视频 {{name}} 已删除!","selected...":"已选择...","No more time-lapses.":"没有更多时间延迟视频。","You are viewing an awesome 3D print your friend shared specifically with you on":"您正在查看您的朋友在以下平台上特别与您分享的精彩3D打印:","lets you monitor and control your printer from anywhere, on your phone.":"让您可以在任何地方通过手机监控和控制您的打印机。","Sign up for a free {brandName} account":"注册免费的 {{brandName}} 账户","Failed to fetch statistics":"获取统计数据失败","GROUP BY":"分组依据","Group By":"分组依据","Statistics include deleted prints":"统计包括已删除的打印","Total Prints":"总打印数","Print Time":"打印时间","Longest print":"最长打印","Average print":"平均打印","Prints Count":"打印计数","Filament Usage":"耗材使用","total":"总计","Upload Time-lapse":"上传时间延迟","Upload time-lapse videos to test {brandName}\'s AI failure detection.":"上传时间延迟视频以测试 {{brandName}} 的AI故障检测。","Drop files here or click to upload.":"将文件拖放到此处或点击上传。","*.mp4 or *.mpg files only. Up to 100MB each.":"仅限 *.mp4 或 *.mpg 文件。每个文件最多 100MB。","The {brandName} Server is running failure detection on the time-lapse video(s) you uploaded.":"{{brandName}} 服务器正在您上传的时间延迟视频上运行故障检测。","We will send you email when it is done.":"完成后我们将通过电子邮件通知您。","Check status now >>>":"立即检查状态 >>>","Confirmation":"确认","You a going to logout from your account":"您即将从您的账户登出","Logout":"登出","Can not update your preferences":"无法更新您的偏好设置","Account":"账户"}')},b5c8:function(e,t,i){"use strict";i("b3d0")},b6d2:function(e,t,i){},bb69:function(e){e.exports=JSON.parse('{"Filters applied":"Filters applied","SHOW ALL":"SHOW ALL","Back":"Back","Show less":"Show less","Show more":"Show more","At least one date is needed":"At least one date is needed","Select Dates":"Select Dates","Apply":"Apply","Cancel":"Cancel","Date from":"Date from","If empty, will default to your registration date":"If empty, will default to your registration date","Enter date":"Enter date","Date to":"Date to","If empty, will default to today":"If empty, will default to today","Obi is still busy working on your time-lapse":"Obi is still busy working on your time-lapse","Not Watching":"Not Watching","Looking Good":"Looking Good","Fishy...":"Fishy...","Failing!":"Failing!","What issues do you see in this snapshot? Select all that apply.":"What issues do you see in this snapshot? Select all that apply.","Raised ripples ({localizedDom})":"Raised ripples ({localizedDom})","examples":"examples","Bubbling ({localizedDom})":"Bubbling ({localizedDom})","Bumps or rough surfaces ({localizedDom})":"Bumps or rough surfaces ({localizedDom})","Detached or warping ({localizedDom})":"Detached or warping ({localizedDom})","Gaps between lines ({localizedDom})":"Gaps between lines ({localizedDom})","Other":"Other","No issues":"No issues","Oops, this is {localizedDom}":"Oops, this is {localizedDom}","not a nozzle camera":"not a nozzle camera","Previous":"Previous","Finish":"Finish","Next":"Next","{name} isn\'t ready for print for one of the following reasons":"{{name}} isn\'t ready for print for one of the following reasons","{name} is powered off or not connected to the Internet":"{{name}} is powered off or not connected to the Internet","Printer is not connected to {name}":"Printer is not connected to {{name}}","Printer is currently busy":"Printer is currently busy","No available printers":"No available printers","Print on":"Print on","Print":"Print","Are you sure?":"Are you sure?","Delete":"Delete","Failed to delete item":"Failed to delete item","No prints yet":"No prints yet","Printing...":"Printing...","Rename":"Rename","Move":"Move","Print duration estimate":"Print duration estimate","Filament usage estimate":"Filament usage estimate","First layer bed temperature":"First layer bed temperature","First layer extruder temperature":"First layer extruder temperature","First layer height":"First layer height","Layer height":"Layer height","Object height":"Object height","Filament type":"Filament type","Filament name":"Filament name","Slicer":"Slicer","Slicer version":"Slicer version","Name":"Name","Size":"Size","Created":"Created","Last Printed":"Last Printed","Loading...":"Loading...","Nothing here yet":"Nothing here yet","Nothing found":"Nothing found","Failed to move item(s)":"Failed to move item(s)","Move item":"Move item","Place Here":"Place Here","Go Back":"Go Back","Enter new folder name":"Enter new folder name","Create":"Create","Folder name":"Folder name","Server error":"Server error","Enter new name":"Enter new name","New name":"New name","Print!":"Print!","You\'ll be redirected to printers page in":"You\'ll be redirected to printers page in","seconds":"seconds","Total prints":"Total prints","Uploaded":"Uploaded","Deleted":"Deleted","Fields above were embedded in the G-Code file by your slicer. Consult your slicer\'s manual if some fields are not accurate or missing.":"Fields above were embedded in the G-Code file by your slicer. Consult your slicer\'s manual if some fields are not accurate or missing.","Basic Streaming":"Basic Streaming","1 FPS (frame-per-second), 100 hours of streaming per month":"1 FPS (frame-per-second), 100 hours of streaming per month","Learn more about {localizedDom}":"Learn more about {localizedDom}","the differences between the Premium Streaming and the Basic Streaming":"the differences between the Premium Streaming and the Basic Streaming","Basic AI Detection checks for failures every 30 seconds.":"Basic AI Detection checks for failures every 30 seconds.","AI usage is reset on the 1st of each month. Hours do not roll over month to month.":"AI usage is reset on the 1st of each month. Hours do not roll over month to month.","Learn more about":"Learn more about","how the AI Detection Hour works ":"how the AI Detection Hour works ","Securely tunnel to your Mainsail or fluidd Klipper interface from anywhere.":"Securely tunnel to your Mainsail or fluidd Klipper interface from anywhere.","Free plan is subject to 300MB/month data cap. Data usage is reset on the 1st day of each month.":"Free plan is subject to 300MB/month data cap. Data usage is reset on the 1st day of each month.","Klipper tunnel ":"Klipper tunnel ","Premium Streaming":"Premium Streaming","Up to 25 FPS (frame-per-second)":"Up to 25 FPS (frame-per-second)","Up to 5 FPS with any webcam":"Up to 5 FPS with any webcam","Up to 25 FPS with Kingroon H.264 Camera.":"Up to 25 FPS with Kingroon H.264 Camera.","Advanced AI checks for failures more frequently - Catch failures up to 2X faster than Basic AI.":"Advanced AI checks for failures more frequently - Catch failures up to 2X faster than Basic AI.","Unused AI Detection Hours roll over month-to-month":"Unused AI Detection Hours roll over month-to-month","Securely tunnel to your Mainsail or fluidd Klipper interface from anywhere. Unlimited.":"Securely tunnel to your Mainsail or fluidd Klipper interface from anywhere. Unlimited.","Up to 5 FPS (frame-per-second)":"Up to 5 FPS (frame-per-second)","Throttled for 30 seconds every minute":"Throttled for 30 seconds every minute","Yup! Even Free account gets 10 AI Detection Hours for FREE each month.":"Yup! Even Free account gets 10 AI Detection Hours for FREE each month.","Unused AI Detection Hours roll over month to month.":"Unused AI Detection Hours roll over month to month.","You can":"You can","earn free AI Detection Hours by helping her improve":"earn free AI Detection Hours by helping her improve","You can also":"You can also","purchase additional AI hours":"purchase additional AI hours","Pro plan includes 50 AI Detection Hours each month.":"Pro plan includes 50 AI Detection Hours each month.","AI Detection Hours expire when subscription ends.":"AI Detection Hours expire when subscription ends.","earn more AI Detection Hours by helping her improve":"earn more AI Detection Hours by helping her improve","Un-throttled":"Un-throttled","Securely tunnel to your OctoPrint/Klipper from anywhere.":"Securely tunnel to your OctoPrint/Klipper from anywhere.","OctoPrint/Klipper tunnel ":"OctoPrint/Klipper tunnel ","Securely tunnel to your OctoPrint/Klipper from anywhere. Unlimited.":"Securely tunnel to your OctoPrint/Klipper from anywhere. Unlimited.","The monthly cap is shared between 3rd-party app and OctoPrint tunnel":"The monthly cap is shared between 3rd-party app and OctoPrint tunnel","The combined usage can\'t exceed 300MB per month.":"The combined usage can\'t exceed 300MB per month.","Data usage is reset on the 1st day of each month.":"Data usage is reset on the 1st day of each month.","Supported 3rd-party mobile apps":"Supported 3rd-party mobile apps","Required versions":"Required versions","OctoPrint 1.7.0 or higher":"OctoPrint 1.7.0 or higher","The {brandName} plugin 1.8.11 or higher":"The {{brandName}} plugin 1.8.11 or higher","Filament Runout Notifications":"Filament Runout Notifications","Host_action_commands must be enabled in your firmware to make it possible for your filament runout sensor to communicate with OctoPrint and the {brandName} app. If you enable action commands in your firmware, then the filament runout sensor can work properly and the {brandName} app can notify you when the filament runs out. Unfortunately, without host_action_commands enabled, OctoPrint is unable to communicate with the printer to know that a filament runout was detected.":"Host_action_commands must be enabled in your firmware to make it possible for your filament runout sensor to communicate with OctoPrint and the {{brandName}} app. If you enable action commands in your firmware, then the filament runout sensor can work properly and the {{brandName}} app can notify you when the filament runs out. Unfortunately, without host_action_commands enabled, OctoPrint is unable to communicate with the printer to know that a filament runout was detected.","To enable support, you need to do the following":"To enable support, you need to do the following","Marlin: Uncomment #define HOST_ACTION_COMMANDS in Configuration_adv.h and recompile. See here for more information on host_action_commands.":"Marlin: Uncomment #define HOST_ACTION_COMMANDS in Configuration_adv.h and recompile. See here for more information on host_action_commands.","Color Change Notifications":"Color Change Notifications","Notifications on color change will work with any printer that has M600 enabled in its firmware. You do not need host_action_commands enabled to get notified when a color change is needed.":"Notifications on color change will work with any printer that has M600 enabled in its firmware. You do not need host_action_commands enabled to get notified when a color change is needed.","Is filament usage inaccurate?":"Is filament usage inaccurate?","G-code files uploaded to your {brandName} account before upgrading to {brandName} for OctoPrint version 2.3.0 or {brandName} for Klipper version 1.2.0 do not include filament usage data.":"G-code files uploaded to your {{brandName}} account before upgrading to {{brandName}} for OctoPrint version 2.3.0 or {{brandName}} for Klipper version 1.2.0 do not include filament usage data.","To ensure accurate filament usage and other statistics":"To ensure accurate filament usage and other statistics","Upload G-code files and start prints directly through {brandName} instead of OctoPrint/Klipper.":"Upload G-code files and start prints directly through {{brandName}} instead of OctoPrint/Klipper.","Use a slicer that supports filament usage parameters, such as Cura, Prusa Slicer, SuperSlicer, IdeaMaker, or Simplify3D.":"Use a slicer that supports filament usage parameters, such as Cura, Prusa Slicer, SuperSlicer, IdeaMaker, or Simplify3D.","Print statistics for G-code files deleted before 12/20/2022 are not included. For files deleted after 12/20/2022, statistics are preserved.":"Print statistics for G-code files deleted before 12/20/2022 are not included. For files deleted after 12/20/2022, statistics are preserved.","Learn how to configure G-Code preview generation in your slicer":"Learn how to configure G-Code preview generation in your slicer","Adjust the speed of the cooling fan by setting a percentage value between 0 and 100. The default value is usually 100, which means the fan will run at full speed. Lowering the fan speed can reduce noise and save energy, but may also affect print quality if the printer gets too hot.":"Adjust the speed of the cooling fan by setting a percentage value between 0 and 100. The default value is usually 100, which means the fan will run at full speed. Lowering the fan speed can reduce noise and save energy, but may also affect print quality if the printer gets too hot.","Adjust the speed of your 3D printer by changing the speed of all movement commands by a specified factor. The default value is 100%, meaning that the printer will move at its standard speed. Lowering the print speed factor will slow down your print, while increasing it will speed it up. Value of 200% will double the speed.":"Adjust the speed of your 3D printer by changing the speed of all movement commands by a specified factor. The default value is 100%, meaning that the printer will move at its standard speed. Lowering the print speed factor will slow down your print, while increasing it will speed it up. Value of 200% will double the speed.","Flow rate is the speed at which the printer extrudes plastic. If the flow rate is too high, the printer may extrude too much plastic and create blobs or stringing, while too low flow rate may result in weak and brittle prints. Adjusting the flow rate can help achieve the optimal balance between speed and quality. The default value is 100%.":"Flow rate is the speed at which the printer extrudes plastic. If the flow rate is too high, the printer may extrude too much plastic and create blobs or stringing, while too low flow rate may result in weak and brittle prints. Adjusting the flow rate can help achieve the optimal balance between speed and quality. The default value is 100%.","No cost for three months. Plan renews after expiration. Cancel anytime.":"No cost for three months. Plan renews after expiration. Cancel anytime.","Printers":"Printers","Print History":"Print History","G-Codes":"G-Codes","Spaghetti Gallery":"Spaghetti Gallery","Pricing":"Pricing","Help":"Help","Community":"Community","SIGN IN":"SIGN IN","SIGN UP":"SIGN UP","Preferences":"Preferences","Log out":"Log out","Upgrade to Pro":"Upgrade to Pro","Statistics":"Statistics","Notifications":"Notifications","Number of snapshots":"Number of snapshots","Estimated time to finish":"Estimated time to finish","Help Obi get better at detecting failures by giving her in-depth feedback on the snapshots of the print. You will earn {localizedDom} after you finish this Focused Feedback. {localizedDom2}":"Help Obi get better at detecting failures by giving her in-depth feedback on the snapshots of the print. You will earn {localizedDom} after you finish this Focused Feedback. {localizedDom2}","2 non-expirable AI Detection Hours":"2 non-expirable AI Detection Hours","Learn more":"Learn more","Start Focused Feedback":"Start Focused Feedback","I grant the {brandName} app team members the permission to review the time-lapse video of the print shown on this page.":"I grant the {{brandName}} app team members the permission to review the time-lapse video of the print shown on this page.","Why is this necessary? ":"Why is this necessary? ","File":"File","Printed":"Printed","You are awesome!":"You are awesome!","The AI failure detection just got a little better because of your feedback!":"The AI failure detection just got a little better because of your feedback!","You just earned 2 non-expirable AI Detection Hours - Yay!":"You just earned 2 non-expirable AI Detection Hours - Yay!","I\'m done!":"I\'m done!","Change feedback":"Change feedback","Not sure? Look at":"Not sure? Look at","some examples. ":"some examples. ","Failure Detection":"Failure Detection","AI Detection Hours":"AI Detection Hours","Not watching":"Not watching","Learn all possible reasons":"Learn all possible reasons","Enable AI failure detection":"Enable AI failure detection","AI failure detection is disabled. You are on your own.":"AI failure detection is disabled. You are on your own.","Pause on detected failures":"Pause on detected failures","You will still be alerted via notifications.":"You will still be alerted via notifications.","Failure Detected!":"Failure Detected!","Not a Failure?":"Not a Failure?","Unable to extrude / retract":"Unable to extrude / retract","The hotend is below the minimum temperature":"The hotend is below the minimum temperature","Heat to 180°C":"Heat to 180°C","Command successfully sent!":"Command successfully sent!","Printer Controls":"Printer Controls","Move Head":"Move Head","Extrude":"Extrude","Baby Step Z":"Baby Step Z","Tune Printer":"Tune Printer","Power":"Power"," Home All":" Home All","Disable Steppers":"Disable Steppers","Retract":"Retract","Loading tools...":"Loading tools...","Current Offset":"Current Offset","Feed Rate / Speed":"Feed Rate / Speed","Flow Rate":"Flow Rate","Fan Speed":"Fan Speed","0% (Off)":"0% (Off)","These settings can only be set. They can\'t be read back from the firmware due to a limitation of the communication protocol.":"These settings can only be set. They can\'t be read back from the firmware due to a limitation of the communication protocol."," Toggle Power ":" Toggle Power "," Power On All ":" Power On All "," Power Off All ":" Power Off All ","Rapid toggling power may result in error. Please allow a cooldown period.":"Rapid toggling power may result in error. Please allow a cooldown period.","Uh-Oh. No printer is found on the serial port.":"Uh-Oh. No printer is found on the serial port.","Once cancelled, the print can no longer be resumed.":"Once cancelled, the print can no longer be resumed.","Print Job Control":"Print Job Control","Error":"Error","Filament Change or User Interaction Required":"Filament Change or User Interaction Required","Printer is Currently Printing":"Printer is Currently Printing","Print is Paused":"Print is Paused","Pause":"Pause","Resume":"Resume","Open G-Code File to Start Printing":"Open G-Code File to Start Printing","Files":"Files","Printer Not Connected at the Serial Port":"Printer Not Connected at the Serial Port","Contacting OctoPrint":"Contacting OctoPrint","Connect":"Connect","{brandName} for {name} is Offline.":"{{brandName}} for {{name}} is Offline.","Why?":"Why?","Print Progress":"Print Progress","Last Print":"Last Print","Status":"Status","Started":"Started","Duration":"Duration","Layer":"Layer","Remaining":"Remaining","Calculating...":"Calculating...","Finishing at":"Finishing at","Elapsed":"Elapsed","Z-height":"Z-height","Total time":"Total time","Total filament":"Total filament","Open Print":"Open Print","Reprint":"Reprint","No prints found":"No prints found","Temperature Presets":"Temperature Presets","Temperature Controls":"Temperature Controls","Loading temperature...":"Loading temperature...","Printer Terminal":"Printer Terminal","Unknown event":"Unknown event","Serial Port":"Serial Port","Baudrate":"Baudrate","Auto":"Auto","Noted!":"Noted!","Do you want to mute failure detection on for this print?":"Do you want to mute failure detection on for this print?","If you select \'Mute\', failure detection will be turned off for this print, but will be automatically turned on for your next print.":"If you select \'Mute\', failure detection will be turned off for this print, but will be automatically turned on for your next print.","Mute":"Mute","Failed to update printer":"Failed to update printer","Open":"Open","Details":"Details","Share":"Share","Tunnel":"Tunnel","Configure":"Configure","Not a failure?":"Not a failure?","Failure Detection is Off":"Failure Detection is Off","Learn more. ":"Learn more. ","Enable AI failure detection {localizedDom}":"Enable AI failure detection {localizedDom}","AI failure detection is disabled. You are on your own":"AI failure detection is disabled. You are on your own","Pause on detected failures {localizedDom}":"Pause on detected failures {localizedDom}","You will still be alerted via notifications":"You will still be alerted via notifications"," Remaining ":" Remaining "," Total ":" Total ","Printer Feed Sharing":"Printer Feed Sharing","Wait! You need to {localizedDom} to enable Printer feed.":"Wait! You need to {localizedDom} to enable Printer feed.","upgrade to the Pro plan":"upgrade to the Pro plan","Printer feed sharing is a Pro feature.":"Printer feed sharing is a Pro feature.","Running the {brandName} app incurs non-trivial amount of costs":"Running the {{brandName}} app incurs non-trivial amount of costs","With little more than 1 Starbucks per month, you can upgrade to a Pro account and help us run the {brandName} app smoothly.":"With little more than 1 Starbucks per month, you can upgrade to a Pro account and help us run the {{brandName}} app smoothly.","Check out Pro pricing >>>":"Check out Pro pricing >>>","Share live feed for printer ":"Share live feed for printer ","Click the clipboard icon above to copy the secure shareable link to your clipboard.":"Click the clipboard icon above to copy the secure shareable link to your clipboard.","You can test the shareable link by right-clicking {localizedDom} and select \'Open Link in Incognito Window\'.":"You can test the shareable link by right-clicking {localizedDom} and select \'Open Link in Incognito Window\'.","here":"here","Notes":"Notes","Send the secure link to anyone you want to share your printer feed with. They do NOT need the {brandName} account to see your printer feed.":"Send the secure link to anyone you want to share your printer feed with. They do NOT need the {{brandName}} account to see your printer feed.","Anyone with this shareable link will be able to see your printer feed.":"Anyone with this shareable link will be able to see your printer feed.","Learn more about what they can see.":"Learn more about what they can see.","Presets":"Presets","Temperature presets can be edited or added in {agentName} settings.":"Temperature presets can be edited or added in {{agentName}} settings.","OFF":"OFF","Manual":"Manual","Oops!":"Oops!","Handshake failed because the pop-up was blcoked.":"Handshake failed because the pop-up was blcoked.","Please unblock the pop-up in your browser and try it again.":"Please unblock the pop-up in your browser and try it again.","Okay!":"Okay!","Switch to Manual Setup":"Switch to Manual Setup","Handshake failed!":"Handshake failed!","Please make sure":"Please make sure","The OctoPrint you want to link is at {host}:{port}, and it\'s connected to the same local network as your computer/phone.":"The OctoPrint you want to link is at {{host}}:{{port}}, and it\'s connected to the same local network as your computer/phone.","The version of plugin is 1.8.0 or above.":"The version of plugin is 1.8.0 or above.","The {brandName} app needs to make sure you have access to selected printer.":"The {{brandName}} app needs to make sure you have access to selected printer.","When you press \'Link Now\' button below, a new browser window will pop up to finish a handshake with this printer.":"When you press \'Link Now\' button below, a new browser window will pop up to finish a handshake with this printer.","Link Now":"Link Now","Platform":"Platform","IP address":"IP address","Hostname":"Hostname","OctoPi":"OctoPi","OS":"OS","Link":"Link","Device Selection":"Device Selection","Install Obico":"Install Obico","Link Printer":"Link Printer","First Layer Report":"First Layer Report","uploaded":"uploaded","Open File":"Open File","First Layer Grade":"First Layer Grade","First Layer Print Time":"First Layer Print Time","First Layer Notes":"First Layer Notes","You\'re first layer score is":"You\'re first layer score is","Grade {localizedDom} usually means one of the following":"Grade {localizedDom} usually means one of the following:","AI Time-Lapse":"AI Time-Lapse","Original Time-Lapse":"Original Time-Lapse","Give Feedback About This Report":"Give Feedback About This Report","Possible failure detected!":"Possible failure detected!","(Cancelled)":"(Cancelled)","Time-lapse video deleted":"Time-lapse video deleted","Time-lapse videos older than 6-months are deleted from the {brandName} app server as they are rarely needed and cost significant amount to store in the cloud.":"Time-lapse videos older than 6-months are deleted from the {{brandName}} app server as they are rarely needed and cost significant amount to store in the cloud.","If you are a Pro subscriber and you don\'t want your time-lapse videos to be deleted, please ":"If you are a Pro subscriber and you don\'t want your time-lapse videos to be deleted, please ","contact us":"contact us","Download Original Time-lapse":"Download Original Time-lapse","Download Detective Time-lapse":"Download Detective Time-lapse"," ":" ","Video file is deleted.":"Video file is deleted.","Did we get it right?":"Did we get it right?","CUSED FEEDBACK":"CUSED FEEDBACK","Thank you for completing the Focused Feedback. You have earned 2 non-expirable AI Detection Hours. You can click the button again to change your feedback.":"Thank you for completing the Focused Feedback. You have earned 2 non-expirable AI Detection Hours. You can click the button again to change your feedback.","With Focused Feedback, you can tell us exactly where we got it wrong. This is the most effective way to help us improve.":"With Focused Feedback, you can tell us exactly where we got it wrong. This is the most effective way to help us improve.","You will earn 2 AI Detection Hours once you finish the Focused Feedback":"You will earn 2 AI Detection Hours once you finish the Focused Feedback","Every time you give us feedback,":"Every time you give us feedback,","you help us get better at detecting failures":"you help us get better at detecting failures","Search":"Search","Ascending":"Ascending","Descending":"Descending","SORT BY":"SORT BY","DIRECTION":"DIRECTION","Upgrade for Better Streaming":"Upgrade for Better Streaming","Because you are now on the":"Because you are now on the","{brandName} Cloud Free plan":"{{brandName}} Cloud Free plan","Streaming is limited to 5 FPS (frames per second).":"Streaming is limited to 5 FPS (frames per second).","After 30 seconds of streaming there is a 30-second cooldown before you can resume streaming.":"After 30 seconds of streaming there is a 30-second cooldown before you can resume streaming.","Support the {brandName} project by":"Support the {{brandName}} project by","upgrading to the Pro plan for little more than 1 Starbucks a month.":"upgrading to the Pro plan for little more than 1 Starbucks a month.","The Pro plan offers many perks, including the":"The Pro plan offers many perks, including the","Smooth 25 FPS.":"Smooth 25 FPS.","Unlimited streaming with no cooldowns.":"Unlimited streaming with no cooldowns.","Video frames dropped":"Video frames dropped","The video frames are getting dropped because there is most likely a bandwidth bottleneck along the route they travel from your Raspberry Pi to your computer. The bottleneck can be anywhere, but in most cases,":"The video frames are getting dropped because there is most likely a bandwidth bottleneck along the route they travel from your Raspberry Pi to your computer. The bottleneck can be anywhere, but in most cases,","it is either your computer\'s internet connection, or your Raspberry Pi\'s":"it is either your computer\'s internet connection, or your Raspberry Pi\'s","Make sure your computer is connected to the same network as your Pi. If you still see this warning, you need to trouble-shoot your computer\'s Wi-Fi connection, probably by moving closer to the Wi-Fi router.":"Make sure your computer is connected to the same network as your Pi. If you still see this warning, you need to trouble-shoot your computer\'s Wi-Fi connection, probably by moving closer to the Wi-Fi router.","If the webcam stream is smooth when your computer is on the same Wi-Fi network as your Pi, the bottleneck is likely with the upload speed of your internet connection. You need to run a speed test to make sure you have high-enough upload speed, as well as":"If the webcam stream is smooth when your computer is on the same Wi-Fi network as your Pi, the bottleneck is likely with the upload speed of your internet connection. You need to run a speed test to make sure you have high-enough upload speed, as well as","low latency (ping)":"low latency (ping)","Check out":"Check out","the step-by-step trouble-shooting guide.":"the step-by-step trouble-shooting guide.","Webcam stream buffering":"Webcam stream buffering","When you see the messaging about webcam stream is \'buffering\' occasionally, you can just reload the page. If this message repeatedly appears, it may indicate one of the problems":"When you see the messaging about webcam stream is \'buffering\' occasionally, you can just reload the page. If this message repeatedly appears, it may indicate one of the problems","1. A constricted video stream on your Raspberry Pi. The most common reasons are":"1. A constricted video stream on your Raspberry Pi. The most common reasons are","Camera resolution is set too high.":"Camera resolution is set too high.","Camera framerate is set too high.":"Camera framerate is set too high.","The upload speed of your Raspberry Pi is too low.":"The upload speed of your Raspberry Pi is too low.","2. The internet connection of your computer or phone is not fast enough.":"2. The internet connection of your computer or phone is not fast enough.","3. Your webcam is not properly connected to your Raspberry Pi.":"3. Your webcam is not properly connected to your Raspberry Pi.","Check":"Check","this step-by-step troubleshooting guide":"this step-by-step troubleshooting guide","Buffering...":"Buffering...","Why is it stuck?":"Why is it stuck?","Webcam streams up to 5 FPS for Free":"Webcam streams up to 5 FPS for Free","Learn more...":"Learn more...","Filter":"Filter","Suppress Temperature":"Suppress Temperature","Suppress SD Status Messages":"Suppress SD Status Messages","Suppress Position Messages":"Suppress Position Messages","Suppress \'OK\' Messages":"Suppress \'OK\' Messages","Enter code...":"Enter code...","Terminal feed is off":"Terminal feed is off","Failed to fetch authorized apps":"Failed to fetch authorized apps","Failed to remove access":"Failed to remove access","Authorized Apps":"Authorized Apps","App Name":"App Name","Printer to Access":"Printer to Access","Remove Access":"Remove Access","General":"General","Land directly on the printer control page if I have only 1 printer":"Land directly on the printer control page if I have only 1 printer","This option will be ignored if you have multiple printers. In this case, you will always land on the printer overview page.":"This option will be ignored if you have multiple printers. In this case, you will always land on the printer overview page.","View Archived Printers":"View Archived Printers","Enable notifications":"Enable notifications","Enable notification":"Enable notification","Please configure the following variables in the \'.env\' file":"Please configure the following variables in the \'.env\' file","Edit Name":"Edit Name","Profile":"Profile","First Name":"First Name","Last Name":"Last Name","Primary Email":"Primary Email","Manage email addresses":"Manage email addresses","Password":"Password","Change":"Change","Appearance":"Appearance","Theme":"Theme","DARK":"DARK","LIGHT":"LIGHT","Sync theme with system settings":"Sync theme with system settings","Failure alerts":"Failure alerts","When possible failures are detected":"When possible failures are detected","Print job events":"Print job events","Upon start/end/cancellation of a print job":"Upon start/end/cancellation of a print job","When print is done":"When print is done","When print is cancelled":"When print is cancelled","When printer needs attention":"When printer needs attention","Such as filament change or run-out":"Such as filament change or run-out","When print is started":"When print is started","When print is paused":"When print is paused","Note: this event may be triggered by other plugins that pause the print frequently, such as the timelapse plugin":"Note: this event may be triggered by other plugins that pause the print frequently, such as the timelapse plugin","When print is resumed":"When print is resumed","Heater status change":"Heater status change","Heater reached target or cooled down":"Heater reached target or cooled down","Push Notification":"Push Notification","Failed to contact printer. Is it powered on and connected to Internet?":"Failed to contact printer. Is it powered on and connected to Internet?","Printer not responding":"Printer not responding","The printer doesn\'t seem to be responding. Is it powered on and connected to the Internet? Please":"The printer doesn\'t seem to be responding. Is it powered on and connected to the Internet? Please","report the problem to us":"report the problem to us","if this error repeats multiple times.":"if this error repeats multiple times.","Get help from":"Get help from","the {brandName} for Klipper support forum":"the {{brandName}} for Klipper support forum","or":"or","the {brandName} general support forum":"the {{brandName}} general support forum","if this error persists.":"if this error persists.","Email":"Email","SMS":"SMS","Pushbullet":"Pushbullet","Discord":"Discord","Telegram":"Telegram","Pushover":"Pushover","Slack":"Slack","Webhook":"Webhook","Webhook URL":"Webhook URL","Discord Webhook":"Discord Webhook","If you have a Discord channel you wish to receive notifications on, you can {localizedDom} and enter it here.":"If you have a Discord channel you wish to receive notifications on, you can {localizedDom} and enter it here.","generate webhook url":"generate webhook url","Notifications are sent to verified email addresses only.":"Notifications are sent to verified email addresses only.","Account events {localizedDom}":"Account events {localizedDom}","Plan changed; AI Detection Hours running low; etc.":"Plan changed; AI Detection Hours running low; etc.","Access Token":"Access Token","Pushbullet Access Token":"Pushbullet Access Token","If you have a Pushbullet account, you can {localizedDom} and enter it here.":"If you have a Pushbullet account, you can {localizedDom} and enter it here.","generate an access token":"generate an access token","User Key":"User Key","Pushover User Key":"Pushover User Key","If you have a Pushover account, you can {localizedDom} and enter it here.":"If you have a Pushover account, you can {localizedDom} and enter it here.","get your User Key":"get your User Key","Slack test failed":"Slack test failed","Close":"Close","{brandName} Messenger has been successfully added to your workspace.":"{{brandName}} Messenger has been successfully added to your workspace.","What\'s Next?":"What\'s Next?"," 1. Make sure {brandName} Messenger is added to the channels you want the notifications to be sent to.":" 1. Make sure {{brandName}} Messenger is added to the channels you want the notifications to be sent to.","2. There is no 2. You are all set. It\'s this simple. 😀":"2. There is no 2. You are all set. It\'s this simple. 😀","Click the button below to add the {brandName} Slack App into your workspace":"Click the button below to add the {{brandName}} Slack App into your workspace","Test Notifications":"Test Notifications","Test Slack Notification":"Test Slack Notification","Questions?":"Questions?","Q: How do I remove the {brandName} Slack App from a slack channel so that it won\'t send notifications to that channel?":"Q: How do I remove the {{brandName}} Slack App from a slack channel so that it won\'t send notifications to that channel?","Q: How do I remove the {brandName} Slack App from the entire workspace?":"Q: How do I remove the {{brandName}} Slack App from the entire workspace?","A: Please follow the instructions in {localizedDom}.":"A: Please follow the instructions in {localizedDom}.","this Slack help doc":"this Slack help doc","Telegram test failed":"Telegram test failed","Login to be notified by our Telegram bot.":"Login to be notified by our Telegram bot.","Telegram in the mobile app is very finicky. Please open a browser, and log into {localizedDom} using the same credential to set up Telegram.":"Telegram in the mobile app is very finicky. Please open a browser, and log into {localizedDom} using the same credential to set up Telegram.","the {brandName} web app":"the {{brandName}} web app","Once set up, Telegram notification will work properly on your phone.":"Once set up, Telegram notification will work properly on your phone.","If you see \'Bot domain invalid\', please hard-refresh the browser a few times. I know it\'s annoying. But Telegram API has a very high failure rate.":"If you see \'Bot domain invalid\', please hard-refresh the browser a few times. I know it\'s annoying. But Telegram API has a very high failure rate.","If you press the \'Test Telegram Notification\' button and see an error, please hard-refresh the browser a few times and press the test button again.":"If you press the \'Test Telegram Notification\' button and see an error, please hard-refresh the browser a few times and press the test button again.","Unlink Telegram":"Unlink Telegram","Test Telegram Notification":"Test Telegram Notification","Oops, we don\'t send SMS to this country code":"Oops, we don\'t send SMS to this country code","Phone Number":"Phone Number","Country Code":"Country Code","Custom Webhook URL":"Custom Webhook URL","Enter a custom webhook URL at which to receive notifications.":"Enter a custom webhook URL at which to receive notifications.","You just earned 3 AI Detection Hours!":"You just earned 3 AI Detection Hours!","Having more training data is crucial for a better First Layer AI. Thank you!":"Having more training data is crucial for a better First Layer AI. Thank you!","You can now close this page":"You can now close this page","First Layer Snapshots":"First Layer Snapshots","Help {brandName}\'s First Layer AI (codename: Celestrius) learn and improve quickly by telling her what issues exist in each of these snapshots.":"Help {{brandName}}\'s First Layer AI (codename: Celestrius) learn and improve quickly by telling her what issues exist in each of these snapshots.","Why should I do this?":"Why should I do this?","{brandName}\'s First Layer AI is still in her infant time. Just like a human baby, the only way she can learn is to be told by adults what is good and what is bad. By telling her what issues exist in these snapshots, you will help her get better at telling a good first layer apart from a bad one.":"{{brandName}}\'s First Layer AI is still in her infant time. Just like a human baby, the only way she can learn is to be told by adults what is good and what is bad. By telling her what issues exist in these snapshots, you will help her get better at telling a good first layer apart from a bad one.","Privacy Notice: By participating in this survey, you grant the {brandName} team members the permission to review all snapshots below.":"Privacy Notice: By participating in this survey, you grant the {{brandName}} team members the permission to review all snapshots below.","Earn 3 AI Detection Hours!":"Earn 3 AI Detection Hours!","{name} snapshots were selected from your first layer print. Earn 3 AI Detection Hours by telling us if you see any printing issues with these snapshots!":"{{name}} snapshots were selected from your first layer print. Earn 3 AI Detection Hours by telling us if you see any printing issues with these snapshots!","Host printer for this gcode not found":"Host printer for this gcode not found","Rename file":"Rename file","Delete file":"Delete file","This G-Code file doesn\'t exists":"This G-Code file doesn\'t exists","This file is deleted and unavailable for print":"This file is deleted and unavailable for print","This file doesn\'t have any prints yet":"This file doesn\'t have any prints yet","File storage":"File storage","Sort":"Sort","Create folder":"Create folder","Available to browse files":"Available to browse files","Unable to browse files":"Unable to browse files","Delete {name} item(s)? This action can not be undone.":"Delete {{name}} item(s)? This action can not be undone.","Yes":"Yes","No":"No","Failed to delete files and folders":"Failed to delete files and folders","{name} isn\'t available for browsing files for one of the following reasons":"{{name}} isn\'t available for browsing files for one of the following reasons","{brandName} for {name} plugin is outdated (you need version {version} or later)":"{{brandName}} for {{name}} plugin is outdated (you need version {{version}} or later)","Printer not found or unavailable":"Printer not found or unavailable","Folder with this name already exists":"Folder with this name already exists","Select all":"Select all","selected":"selected","STORAGE":"STORAGE","Cloud":"Cloud","G-Code file (*.gcode, *.gco, or *.g) only.":"G-Code file (*.gcode, *.gco, or *.g) only.","Up to {maxFilesize} MB each file, {maxTotalFilesize} GB total.":"Up to {{maxFilesize}} MB each file, {{maxTotalFilesize}} GB total.","Search in Klipper printers works only for current directory":"Search in Klipper printers works only for current directory","Welcome To":"Welcome To","Your 30-Day {localizedDom} Free Trial Has Started!":"Your 30-Day {localizedDom} Free Trial Has Started!","Pro Plan":"Pro Plan","{trialDaysLeft} Days Left on Your {localizedDom} Free Trial!":"{trialDaysLeft} Days Left on Your {localizedDom} Free Trial!","Unlimited Secure Tunnel to your {platformDisplayName}":"Unlimited Secure Tunnel to your {{platformDisplayName}}","Premium 25 FPS Webcam Streaming":"Premium 25 FPS Webcam Streaming","250 AI Failure Detection Hours":"250 AI Failure Detection Hours","G-Code Remote Upload and Printing":"G-Code Remote Upload and Printing","{platformDisplayName} has not been linked to your {brandName} account.":"{{platformDisplayName}} has not been linked to your {{brandName}} account.","Link {platformDisplayName} Now":"Link {{platformDisplayName}} Now","It\'s as easy as 1-2-3.":"It\'s as easy as 1-2-3.","Not ready to start yet? {localizedDom} to pause your free trial.":"Not ready to start yet? {localizedDom} to pause your free trial.","Email us":"Email us","Authorization Successful!":"Authorization Successful!","You can close this page":"You can close this page","Tunnel Access Authorization":"Tunnel Access Authorization","is requesting to access you {platformDisplayName} Tunnel.":"is requesting to access you {{platformDisplayName}} Tunnel.","is a secure way provided by {localizedDom} to remotely access your {platformDisplayName}. With the {platformDisplayName} Tunnel, you can use {appDisplayName} to access your {platformDisplayName} from anywhere.":"is a secure way provided by {localizedDom} to remotely access your {platformDisplayName}. With the {platformDisplayName} Tunnel, you can use {appDisplayName} to access your {platformDisplayName} from anywhere.","Tunnel usage of a free account is {localizedDom} to enjoy unlimited tunnel usage.":"Tunnel usage of a free account is {localizedDom} to enjoy unlimited tunnel usage.","capped at 300MB per month":"capped at 300MB per month","upgrade to the {brandName} app Pro plan for 1 Starbucks a month":"upgrade to the {{brandName}} app Pro plan for 1 Starbucks a month","After the Free trial expires, tunnel data usage will be {localizedDom} to continue enjoying unlimited tunnel usage.":"After the Free trial expires, tunnel data usage will be {localizedDom} to continue enjoying unlimited tunnel usage.","Tunnel access by {localizedDom} (make sure you trust it)":"Tunnel access by {localizedDom} (make sure you trust it):","You have 0 active printers":"You have 0 active printers","Please select a printer":"Please select a printer","Authorize":"Authorize","Manage Apps":"Manage Apps","Security notes":"Security notes","The app can only access the tunnel, not your {brandName} account info such as your email address.":"The app can only access the tunnel, not your {{brandName}} account info such as your email address.","The access remains valid until explicitly revoked. You can revoke the access by going to Preferences -> Authorized Apps.":"The access remains valid until explicitly revoked. You can revoke the access by going to Preferences -> Authorized Apps.","Log Out":"Log Out","Free {platformDisplayName} Tunnel":"Free {{platformDisplayName}} Tunnel","Powered by {brandName}":"Powered by {{brandName}}","With the Free {platformDisplayName} Tunnel by {brandName}, you can now use {appDisplayName} to":"With the Free {{platformDisplayName}} Tunnel by {{brandName}}, you can now use {{appDisplayName}} to","securely control and monitor your printer from anywhere":"securely control and monitor your printer from anywhere","Unlimited realtime webcam at 0.1FPS.":"Unlimited realtime webcam at 0.1FPS.","300MB monthly tunnel data cap (excluding webcam streaming).":"300MB monthly tunnel data cap (excluding webcam streaming).","10 hours/mo AI failure detection.":"10 hours/mo AI failure detection.","Upgrade to {brandName} Pro Account ({localizedDom}) to get premium features":"Upgrade to {brandName} Pro Account ({localizedDom}) to get premium features:","from $4/mo":"from $4/mo","Unlimited realtime webcam streaming.":"Unlimited realtime webcam streaming.","Unlimited tunnel data usage.":"Unlimited tunnel data usage.","50 hours/mo AI failure detection.":"50 hours/mo AI failure detection.","And much more...":"And much more...","SIGN IN ":"SIGN IN ","- OR -":"- OR -","OctoPrint/Klipper Secure Tunnel":"OctoPrint/Klipper Secure Tunnel","It may take long time for OctoPrint/Mainsail/Fluidd page to load as it is securely tunneled via the {brandName} app server.":"It may take long time for OctoPrint/Mainsail/Fluidd page to load as it is securely tunneled via the {{brandName}} app server.","Learn more about OctoPrint/Klipper tunnel\'s security and page load speed.":"Learn more about OctoPrint/Klipper tunnel\'s security and page load speed.","Don\'t show again":"Don\'t show again","Monthly data usage ({localizedDom})":"Monthly data usage ({localizedDom})","Resets in {daysUntilReset} days":"Resets in {{daysUntilReset}} days","Used {usageMTD} of {humanizedUsageCap}.":"Used {{usageMTD}} of {{humanizedUsageCap}}.","Your month-to-date tunnel data usage is over the Free plan limit.":"Your month-to-date tunnel data usage is over the Free plan limit.","Get Unlimited Tunnel Data":"Get Unlimited Tunnel Data","Successfully linked to your account!":"Successfully linked to your account!","Printer name":"Printer name","Give your printer a shiny name.":"Give your printer a shiny name.","Authorize App Access":"Authorize App Access","Go Check Out Printer Feed!":"Go Check Out Printer Feed!","Add Phone Number":"Add Phone Number","Receive text (SMS) in case of print failures.":"Receive text (SMS) in case of print failures.","Change Printer Settings":"Change Printer Settings","You can always change it later.":"You can always change it later.","Install Obico for Klipper":"Install Obico for Klipper","Find the Guide for Your Printer to install Obico for Klipper.":"Find the Guide for Your Printer to install Obico for Klipper.","SSH to your device.":"SSH to your device.","Enter the installation commands.":"Enter the installation commands.","Alternatively, you can use KIAUH to install Obico.":"Alternatively, you can use KIAUH to install Obico.","Upon \\"Scanning the networking...\\", come back here and click \\"Next\\".":"Upon \\"Scanning the networking...\\", come back here and click \\"Next\\".","Install Obico for OctoPrint":"Install Obico for OctoPrint","Open OctoPrint in another browser tab.":"Open OctoPrint in another browser tab.","Select":"Select","OctoPrint settings menu → Plugin Manager → Get More...":"OctoPrint settings menu → Plugin Manager → Get More...","Enter \'{brandName}\' to locate the plugin. Click":"Enter \'{{brandName}}\' to locate the plugin. Click","Install":"Install","Restart OctoPrint when prompted.":"Restart OctoPrint when prompted.","SSH to the Raspberry Pi (or other SBC) your Klipper runs on.":"SSH to the Raspberry Pi (or other SBC) your Klipper runs on.","Run:":"Run:","1. Unbox and assemble the 3D printer following the manufacturers instructions":"1. Unbox and assemble the 3D printer following the manufacturers instructions","2. Power on the 3D printer and make sure it is connected to WiFi.":"2. Power on the 3D printer and make sure it is connected to WiFi.","3. Tap “Next” when you are ready.":"3. Tap “Next” when you are ready.","Need help? Check out the {localizedDom}":"Need help? Check out the {localizedDom}","step-by-step set up guide":"step-by-step set up guide","The 6-digit code needs to be entered in the Obico plugin in OctoPrint. There are a few reasons why you can\'t find this page:":"The 6-digit code needs to be entered in the Obico plugin in OctoPrint. There are a few reasons why you can\'t find this page:","You don\'t have the plugin installed or you haven\'t restarted OctoPrint after installation. Click":"You don\'t have the plugin installed or you haven\'t restarted OctoPrint after installation. Click","to walk through the process again.":"to walk through the process again.","The installed plugin is on a version earlier than 1.5.0. You need to upgrade the plugin to":"The installed plugin is on a version earlier than 1.5.0. You need to upgrade the plugin to","or later.":"or later.","Still no dice? Check out the step-by-step":"Still no dice? Check out the step-by-step","set up guide":"set up guide","The 6-digit code needs to be entered to the Obico for Klipper installation script.":"The 6-digit code needs to be entered to the Obico for Klipper installation script.","this set up guide":"this set up guide","for detailed instructions.":"for detailed instructions.","Can\'t find the page to enter the 6-digit code?":"Can\'t find the page to enter the 6-digit code?","Scanning...":"Scanning...","Scanning..., {name} printer(s) found on your local network:":"Scanning..., {{name}} printer(s) found on your local network:","To link your printer, please make sure:":"To link your printer, please make sure:","The printer is powered on. If you are using an external SBC such as a Raspberry Pi, make sure it\'s powered on as well.":"The printer is powered on. If you are using an external SBC such as a Raspberry Pi, make sure it\'s powered on as well.","The printer or SBC is connected to the same local network as your phone/computer.":"The printer or SBC is connected to the same local network as your phone/computer.","{brandName} for OctoPrint is 1.8.0 or above.":"{{brandName}} for OctoPrint is 1.8.0 or above.","Can’t find the printer you want to link? Switch to Manual Linking instead.":"Can’t find the printer you want to link? Switch to Manual Linking instead.","Switch to Manual Linking":"Switch to Manual Linking","Code copied to system clipboard":"Code copied to system clipboard","Ctrl-C/Cmd-C to copy the code":"Ctrl-C/Cmd-C to copy the code","Code will expire in ":"Code will expire in ","Enter the {localizedDom}":"Enter the {localizedDom}","6-digit verification code":"6-digit verification code","Invalid code. Is it expired?":"Invalid code. Is it expired?","Enter the One-time Passcode":"Enter the One-time Passcode","If you using Obico for OctoPrint older than 2.5.0, or Obico for Klipper older than 1.6.0, switch to {localizedDom}.":"If you using Obico for OctoPrint older than 2.5.0, or Obico for Klipper older than 1.6.0, switch to {localizedDom}.","Touch Screen":"Touch Screen","Check to see if your printer already has Obico installed your printer screen.":"Check to see if your printer already has Obico installed your printer screen.","Navigate to the settings menu on the LCD screen of your printer.":"Navigate to the settings menu on the LCD screen of your printer.","Find the “Link Obico” menu item and tap it to open the connection screen.":"Find the “Link Obico” menu item and tap it to open the connection screen.","LCD Screen ":"LCD Screen ","Check to see if your printer already has Obico Easy Link installed on the LCD menu.":"Check to see if your printer already has Obico Easy Link installed on the LCD menu.","Find the “Link Obico” menu item.":"Find the “Link Obico” menu item.","Install Via SSH":"Install Via SSH","If you can\'t find Obico Easy Link, you will need to SSH to your printer to install Obico. You will need to find a guide that works for your printer.":"If you can\'t find Obico Easy Link, you will need to SSH to your printer to install Obico. You will need to find a guide that works for your printer.","Show me how":"Show me how","Warning: Re-Linking OctoPrint should be your last resort to solve issues. Please make sure you have exhausted all options on {localizedDom}.":"Warning: Re-Linking OctoPrint should be your last resort to solve issues. Please make sure you have exhausted all options on {localizedDom}.","{brandName}\'s help website":"{{brandName}}\'s help website","Devices with Obico Pre-installed":"Devices with Obico Pre-installed","Pre-Installed Klipper Printer":"Pre-Installed Klipper Printer","Creality K1, Sonic Pad, Sovol SV07, Kingroon KLP1, Elegoo Neptune 4, etc...":"Creality K1, Sonic Pad, Sovol SV07, Kingroon KLP1, Elegoo Neptune 4, etc...","Generic Klipper - Self Installed":"Generic Klipper - Self Installed","If you installed Klipper yourself on a Raspberry Pi or other linux device. E.g., Voron, RatRig":"If you installed Klipper yourself on a Raspberry Pi or other linux device. E.g., Voron, RatRig","Including OctoPrint for Klipper such as OctoKlipper.":"Including OctoPrint for Klipper such as OctoKlipper.","Save":"Save","OctoPrint Tunnel":"OctoPrint Tunnel","Additional Actions":"Additional Actions","Reorder":"Reorder","Hide":"Hide","Customize this page for each of your printers by reodering or hiding cards above.":"Customize this page for each of your printers by reodering or hiding cards above.","Add Printer":"Add Printer","Link another printer to {brandName}.":"Link another printer to {{brandName}}.","Webcam":"Webcam","WEBCAM SELECTION":"WEBCAM SELECTION","All":"All","Nothing to look here. Enjoy your vacation!":"Nothing to look here. Enjoy your vacation!","No more notifications.":"No more notifications.","Created at":"Created at","Print Status":"Print Status","All Printers":"All Printers","Online Printers":"Online Printers","Active Printers":"Active Printers","{name} AI Detection Hours":"{{name}} AI Detection Hours","You can always view your archived printers in by navigating to the General tab within Preferences.":"You can always view your archived printers in by navigating to the General tab within Preferences.","Link New Printer":"Link New Printer","have been archived.":"have been archived.","Show Archived Printers":"Show Archived Printers","Never Show Again":"Never Show Again","Printer not found":"Printer not found","Can not update printer settings.":"Can not update printer settings.","{brandName} for klipper support forum":"{{brandName}} for klipper support forum","Delete {name} printer? This action can not be undone.":"Delete {{name}} printer? This action can not be undone.","Printer archived":"Printer archived","{name} is archived.":"{{name}} is archived.","You can find it on":"You can find it on","this page":"this page","and un-archive it":"and un-archive it","Go to the printer page":"Go to the printer page","Settings":"Settings","Give your shiny new printer a name":"Give your shiny new printer a name","When a potential failure is detected":"When a potential failure is detected","Just notify me":"Just notify me","Pause the printer and notify me":"Pause the printer and notify me","If you are not sure about the settings below, leave the default values to minimize surprises.":"If you are not sure about the settings below, leave the default values to minimize surprises.","When print is paused,":"When print is paused,","Turn off hotend heater(s)":"Turn off hotend heater(s)","Turn off bed heater":"Turn off bed heater","Retract filament by":"Retract filament by","Lift extruder along Z axis by":"Lift extruder along Z axis by","AI failure detection sensitivity":"AI failure detection sensitivity","Low - I don\'t want a lot of false alarms. Only alert me when you are absolutely sure.":"Low - I don\'t want a lot of false alarms. Only alert me when you are absolutely sure.","Medium - A few false alarms won\'t bother me. But some well-disguised spaghetti will be missed.":"Medium - A few false alarms won\'t bother me. But some well-disguised spaghetti will be missed.","High - Hit me with all the false alarms. I want to catch as many failures as possible.":"High - Hit me with all the false alarms. I want to catch as many failures as possible.","Time-lapse":"Time-lapse","Focused Feedback won\'t be available when time-lapse recording is turned off. You won\'t be able to {localizedDom}":"Focused Feedback won\'t be available when time-lapse recording is turned off. You won\'t be able to {localizedDom}","help us get better while earning AI Detection Hours for yourself":"help us get better while earning AI Detection Hours for yourself","Record time-lapse when a print finishes successfully.":"Record time-lapse when a print finishes successfully.","Skip if the print is finished in less than":"Skip if the print is finished in less than","Record time-lapse when a print is cancelled.":"Record time-lapse when a print is cancelled.","Skip if the print is cancelled in less than":"Skip if the print is cancelled in less than","Danger Zone":"Danger Zone","Re-Link Printer":"Re-Link Printer","If your printer is always showing as \'offline\', and you have gone through {localizedDom}, you can try to re-link printer as the last resort.":"If your printer is always showing as \'offline\', and you have gone through {localizedDom}, you can try to re-link printer as the last resort.","all the trouble-shooting steps":"all the trouble-shooting steps","Archive Printer":"Archive Printer","Archived printers are not counted toward your subscription plan. You won\'t see them in the app either. Go to {localizedDom} to find all archived printers and/or un-archive them.":"Archived printers are not counted toward your subscription plan. You won\'t see them in the app either. Go to {localizedDom} to find all archived printers and/or un-archive them.","Delete Printer":"Delete Printer","Bye-bye printer.":"Bye-bye printer.","Date":"Date","Time Period":"Time Period","This Week":"This Week","This Month":"This Month","This Year":"This Year","Custom":"Custom","Finished":"Finished","Cancelled":"Cancelled","Feedback Needed":"Feedback Needed","Review Needed":"Review Needed","Focused Feedback Needed":"Focused Feedback Needed","Delete {name} print(s)? This action can not be undone.":"Delete {{name}} print(s)? This action can not be undone.","Until":"Until","and later":"and later","Sort By":"Sort By","Prints done":"Prints done","Total print time":"Total print time","Filament used":"Filament used","Full Stats":"Full Stats","Older":"Older","Newer":"Newer","Failed to fetch printer information":"Failed to fetch printer information","Start time":"Start time","End time":"End time","Open Detailed Report":"Open Detailed Report","Time-Lapse video deleted":"Time-Lapse video deleted","If you are a Pro subscriber and you don\'t want your time-lapse videos to be deleted, please {localizedDom}":"If you are a Pro subscriber and you don\'t want your time-lapse videos to be deleted, please {localizedDom}","FOCUSED FEEDBACK":"FOCUSED FEEDBACK","Time-Lapse video unavailable because":"Time-Lapse video unavailable because","The {brandName} server is still processing the time-lapse;":"The {{brandName}} server is still processing the time-lapse;","Or, the print time was shorter than the threshold. You can change the threshold in {localizedDom}":"Or, the print time was shorter than the threshold. You can change the threshold in {localizedDom}","the printer settings":"the printer settings","Print Page":"Print Page","Delete {brandName} print(s)? This action can not be undone.":"Delete {{brandName}} print(s)? This action can not be undone.","{name} time-lapse(s) deleted!":"{{name}} time-lapse(s) deleted!","Time-lapse {name} deleted!":"Time-lapse {{name}} deleted!","selected...":"selected...","No more time-lapses.":"No more time-lapses.","You are viewing an awesome 3D print your friend shared specifically with you on":"You are viewing an awesome 3D print your friend shared specifically with you on","lets you monitor and control your printer from anywhere, on your phone.":"lets you monitor and control your printer from anywhere, on your phone.","Sign up for a free {brandName} account":"Sign up for a free {{brandName}} account","Failed to fetch statistics":"Failed to fetch statistics","GROUP BY":"GROUP BY","Group By":"Group By","Statistics include deleted prints":"Statistics include deleted prints","Total Prints":"Total Prints","Print Time":"Print Time","Longest print":"Longest print","Average print":"Average print","Prints Count":"Prints Count","Filament Usage":"Filament Usage","total":"total","Upload Time-lapse":"Upload Time-lapse","Upload time-lapse videos to test {brandName}\'s AI failure detection.":"Upload time-lapse videos to test {{brandName}}\'s AI failure detection.","Drop files here or click to upload.":"Drop files here or click to upload.","*.mp4 or *.mpg files only. Up to 100MB each.":"*.mp4 or *.mpg files only. Up to 100MB each.","The {brandName} Server is running failure detection on the time-lapse video(s) you uploaded.":"The {{brandName}} Server is running failure detection on the time-lapse video(s) you uploaded.","We will send you email when it is done.":"We will send you email when it is done.","Check status now >>>":"Check status now >>>","Confirmation":"Confirmation","You a going to logout from your account":"You a going to logout from your account","Logout":"Logout","Can not update your preferences":"Can not update your preferences","Account":"Account"}')},bc75:function(e,t,i){},bf61:function(e,t,i){},c0a8:function(e,t,i){"use strict";i("7566")},c4df:function(e,t,i){},c7f6:function(e,t,i){"use strict";var n=i("0b49"),a=i.n(n),r=i("dd61"),s=i.n(r);t["a"]={printShotFeedback:(e,t)=>`/api/v1/printshotfeedbacks/${e}/?print_id=${t}`,print:e=>`/api/v1/prints/${e}/`,prints:()=>"/api/v1/prints/",printsBulkDelete:()=>"/api/v1/prints/bulk_delete/",stats:()=>"/api/v1/prints/stats/",printers:()=>"/api/v1/printers/",printer:e=>`/api/v1/printers/${e}/`,printerAction:(e,t)=>`/api/v1/printers/${e}${t}`,pubPrinter:()=>"/api/v1p/printer/",tunnels:()=>"/api/v1/tunnels/",tunnel:e=>`/api/v1/tunnels/${e}/`,tunnelUsage:()=>"/api/v1/tunnelusage/",verificationCode:()=>"/api/v1/onetimeverificationcodes/",user:()=>"/api/v1/users/me/",sharedResources:e=>"/api/v1/sharedresources/?"+s()(a()(e),e=>e.join("=")).join("&"),sharedResource:e=>`/api/v1/sharedresources/${e}/`,printerDiscovery:()=>"/api/v1/printer_discovery/",oneTimePasscodes:()=>"/api/v1/one_time_passcodes/",printerEvents:()=>"/api/v1/printer_events/",notificationPlugins:()=>"/api/v1/notification_settings/available_plugins/",notificationChannels:()=>"/api/v1/notification_settings/",updateNotificationChannel:e=>`/api/v1/notification_settings/${e}/`,testNotificationChannel:e=>`/api/v1/notification_settings/${e}/send_test_message/`,printerControl:e=>`/printers/${e}/control/`,printerWebSocket:e=>`/ws/web/${e}/`,printerSharedWebSocket:e=>`/ws/share_token/web/${e}/`,printerWizard:e=>"/printers/wizard/?printerId="+e,gcodeFile:e=>`/api/v1/g_code_files/${e}/`,gcodeFiles:()=>"/api/v1/g_code_files/",gcodeFolder:e=>`/api/v1/g_code_folders/${e}/`,gcodeFolders:()=>"/api/v1/g_code_folders/",gcode:e=>`/api/v1/g_code_files/${e}/`,gcodeFolderBulkDelete:()=>"/api/v1/g_code_folders/bulk_delete/",gcodeFileBulkDelete:()=>"/api/v1/g_code_files/bulk_delete/",gcodeFolderBulkMove:()=>"/api/v1/g_code_folders/bulk_move/",gcodeFileBulkMove:()=>"/api/v1/g_code_files/bulk_move/"}},c865:function(e,t,i){},c914:function(e,t,i){e.exports=i.p+"img/lcdScreenLarge.png"},c991:function(e,t,i){"use strict";i("d3a5")},c9b4:function(e,t,i){"use strict";i("2c72")},ca14:function(e,t,i){e.exports=i.p+"img/octoapp.webp"},ca65:function(e,t,i){e.exports=i.p+"img/bubbling-1.jpg"},caaf:function(e,t,i){e.exports=i.p+"img/detached-2.jpg"},cc1d:function(e,t,i){},ccf6:function(e,t){},cdd3:function(e,t,i){"use strict";i("5ce2")},ced1:function(e,t,i){},cf8b:function(e,t,i){"use strict";i("9da6")},d1d5:function(e,t,i){e.exports=i.p+"img/generic-app.png"},d205:function(e,t,i){"use strict";i("141f")},d3a5:function(e,t,i){},d424:function(e,t,i){"use strict";i("fbd2")},d61a:function(e,t,i){e.exports=i.p+"img/mobileraker.webp"},d681:function(e,t,i){},d70c:function(e,t,i){},d70d:function(e,t,i){"use strict";i("fce0")},d95b:function(e,t,i){},da42:function(e,t,i){"use strict";i("3ad7")},da56:function(e,t,i){"use strict";i("c865")},dbc4:function(e,t,i){"use strict";i("d70c")},e008:function(e,t,i){},e1a7:function(e,t,i){"use strict";i("86e2")},e4df:function(e,t,i){},eac9:function(e,t,i){"use strict";i("964f")},ebf7:function(e,t,i){"use strict";i("f837")},ec79:function(e,t,i){},ee55:function(e,t,i){"use strict";i("3372")},f064:function(e,t,i){},f086:function(e,t,i){"use strict";i("2f4c")},f18e:function(e,t,i){"use strict";i("bf61")},f1f6:function(e,t,i){e.exports=i.p+"img/plugin_verification_code.png"},f23d:function(e,t,i){e.exports=i.p+"img/vacation.gif"},f830:function(e,t,i){e.exports=i.p+"img/bumpsAndRoughSurface-2.jpg"},f837:function(e,t,i){},f8c9:function(e,t,i){},f9b8:function(e,t,i){},fbd2:function(e,t,i){},fce0:function(e,t,i){},fdf0:function(e,t,i){"use strict";i("139b")},fe33:function(e,t,i){e.exports=i.p+"img/bumpsAndRoughSurface-1.jpg"}}); +(function(e){function t(t){for(var n,a,o=t[0],l=t[1],c=t[2],d=0,u=[];dObject(l["b"])(),d=c(),u={en:{translation:{...a,...s}},zh:{translation:{...r,...o}}};n["a"].init({resources:u,lng:d,fallbackLng:["en"],interpolation:{escapeValue:!1},debug:!0,nsSeparator:!1}),t["a"]=n["a"]},"0714":function(e,t,i){"use strict";i("191b")},"071c":function(e,t,i){"use strict";i("9527")},"0886":function(e,t,i){e.exports=i.p+"img/klipperScreenMenu.png"},"092e":function(e,t,i){},"0b8b":function(e,t,i){},"0c5c":function(e,t,i){"use strict";i("b6d2")},"0dce":function(e,t,i){"use strict";i("5062")},"0ecc":function(e,t,i){e.exports=i.p+"img/bubbling-2.jpg"},"0eda":function(e,t,i){"use strict";i("214e")},"0f37":function(e,t,i){},"0f6a":function(e,t,i){"use strict";i("f8c9")},"0fb5":function(e,t,i){"use strict";i.d(t,"d",(function(){return s})),i.d(t,"a",(function(){return o})),i.d(t,"b",(function(){return l})),i.d(t,"c",(function(){return c}));var n=i("a026"),a=i("6c44"),r=i("59cf");const s=n["default"].observable({value:r["c"]});function o(){return Object(r["b"])(s)}function l(){return Object(r["d"])(o(),n["default"].prototype.$syndicate)}function c(e){s.value=e,Object(a["a"])()&&localStorage.setItem("colorTheme",s.value),l(n["default"].prototype.$syndicate)}},"0fcf":function(e,t,i){},1:function(e,t){},"11cb":function(e,t,i){"use strict";i("e4df")},1279:function(e,t,i){"use strict";i("30de")},"139b":function(e,t,i){},"141f":function(e,t,i){},1705:function(e,t,i){"use strict";i("2e60")},"17ae":function(e,t,i){var n={"./DiscordPlugin":["0f1e","chunk-148bd346"],"./DiscordPlugin.vue":["0f1e","chunk-148bd346"],"./EmailPlugin":["c308","chunk-97991682"],"./EmailPlugin.vue":["c308","chunk-97991682"],"./PushbulletPlugin":["1cfc","chunk-21c3a10b"],"./PushbulletPlugin.vue":["1cfc","chunk-21c3a10b"],"./PushoverPlugin":["46f8","chunk-747d5350"],"./PushoverPlugin.vue":["46f8","chunk-747d5350"],"./SlackPlugin":["ff58","chunk-5b348ede"],"./SlackPlugin.vue":["ff58","chunk-5b348ede"],"./TelegramPlugin":["814e","chunk-4735cf0b"],"./TelegramPlugin.vue":["814e","chunk-4735cf0b"],"./TwilioPlugin":["e2bc","chunk-44a38aaa"],"./TwilioPlugin.vue":["e2bc","chunk-44a38aaa"],"./WebhookPlugin":["e920","chunk-4c6d5824"],"./WebhookPlugin.vue":["e920","chunk-4c6d5824"]};function a(e){if(!i.o(n,e))return Promise.resolve().then((function(){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}));var t=n[e],a=t[0];return i.e(t[1]).then((function(){return i(a)}))}a.keys=function(){return Object.keys(n)},a.id="17ae",e.exports=a},"18bd":function(e,t,i){},"191b":function(e,t,i){},"1afa":function(e,t,i){},"1c3a":function(e,t,i){e.exports=i.p+"img/moonraker_verification_code.png"},"1c9d":function(e,t,i){"use strict";i.d(t,"c",(function(){return a})),i.d(t,"a",(function(){return r})),i.d(t,"f",(function(){return s})),i.d(t,"d",(function(){return o})),i.d(t,"e",(function(){return l})),i.d(t,"b",(function(){return c}));const n=()=>JSON.parse(document.querySelector("#page-context-json").text),a=()=>n()["app_platform"],r=()=>""!==a(),s=()=>JSON.parse(document.querySelector("#user-json").text),o=()=>JSON.parse(document.querySelector("#settings-json").text),l=()=>n()["syndicate"],c=()=>n()["language"]},"1e2a":function(e,t,i){},"1f6a":function(e,t,i){e.exports=i.p+"img/mainsail_logo.png"},"214e":function(e,t,i){},"21a3":function(e,t,i){e.exports=i.p+"img/gaps-1.jpg"},"222b":function(e,t,i){e.exports=i.p+"img/octopod.webp"},"262b":function(e,t,i){"use strict";i("1e2a")},"26d7":function(e,t,i){},2814:function(e,t,i){e.exports=i.p+"img/install_plugin.png"},"295c":function(e,t,i){"use strict";i("092e")},"2a20":function(e,t,i){},"2bcb":function(e,t,i){},"2bfb":function(e,t,i){},"2c72":function(e,t,i){},"2e15":function(e){e.exports=JSON.parse('{"Printers":"打印机","Print History":"打印历史","G-Codes":"G-代码","Pricing":"定价","Help":"帮助","SIGN IN":"登录","SIGN UP":"注册","Preferences":"偏好设置","Log out":"登出","Welcome To":"欢迎来到","Your three-month Pro Plan Is Now Active":"您的三个月专业计划现已生效","Unlimited Premium Webcam Streaming":"无限制的高级网络摄像头流媒体","Unlimited AI Failure Detection":"无限AI故障检测","G-Code Remote Uploading and Printing":"G代码远程上传和打印","Unlimited Secure Tunnel to OctoPrint/Klipper":"无限安全隧道至OctoPrint/Klipper","Go To Printer Control Page":"转至打印机控制页面","Sign Up or Sign in to Your Obico Account":"注册或登录您的 Obico 帐户","And get instant access to":"并立即访问","Signup/Sign In":"注册登录","Create an account or Sign in to Choose Your plan":"创建帐户或登录以选择您的计划","AI Failure Detection":"人工智能故障检测","Create Account/Sign In":"创建帐户/登录","Create an account or Sign in to Choose Your plan and get":"创建帐户或登录以选择您的计划并获取","{name} AI Detection Hours / month pack":"{{name}} AI 检测小时数/月包","AI Detection Hour Pack not selected":"AI 检测小时包未选择","{name} AI Detection Hours / month":"{{name}} AI 检测小时数/月","No AI Detection Hour Pack":"没有 AI 检测小时包","You need to":"您需要","verify your primary email":"验证您的主要电子邮件","as it will be used for billing communication.":"因为它将被用于账单通讯。","Annual (SAVE 33%)":"年付(节省 33%)","Monthly":"每月","Number of printer(s)":"打印机数量","Add":"添加"," (No change) ":"(无变化)","Remove":"移除","Add Subscribe&Save AI Detection Hour Pack?":"添加订阅并保存 AI 检测小时包?","Popular":"流行","Current":"当前","Total":"总计","Pro plan":"专业计划","1st printer (included)":"第一台打印机(包含在内)","additional":"附加的","50 AI Detection Hours / month (included)":"50 AI 检测小时数/月(包含在内)","This is the total amount on your next bill. Click \'Checkout\' see how much is due today.":"这是您下一张账单的总金额。点击“结账”查看今天应付多少。","Cancel":"取消","Checkout":"结账","Questions You May Have":"您可能有的问题","What currency are your prices in?":"您的价格使用什么货币?","They’re in US dollars.":"它们是美元。","Which plan is right for me?":"哪个计划适合我?","It depends on how many 3D printers you have, and how often you print.":"这取决于您有多少台3D打印机,以及您打印的频率。","The Free plan is for users who print occasionally. Another reason why you may want to choose the Free plan is you don\'t mind slow webcam streaming (up to 1 FPS). The Free plan even comes with 100 free Basic AI Detection Hours per month. Hours don\'t roll over month to month.":"免费计划适用于偶尔打印的用户。 您可能想要选择免费计划的另一个原因是您不介意缓慢的网络摄像头流(高达 1 FPS)。 免费计划甚至还提供每月 100 个免费的基本 AI 检测小时。 工作时间不会逐月滚动。","The Pro plan is for users who print more often and want to enjoy additional features like watching the webcam feed at the slick 25 FPS rate. It also comes with 100 Advanced AI Detection Hours every month - giving you the ability to detect failures faster and more reliably. If you occasionally print more than 100 hours a month, you will most likely be ok because the Advanced AI Detection Hours roll over month to month.":"Pro 计划适用于经常打印并希望享受额外功能的用户,例如以 25 FPS 的流畅速率观看网络摄像头。 它还每月提供 100 个高级人工智能检测小时 - 让您能够更快、更可靠地检测故障。 如果您偶尔每月打印超过 100 小时,您很可能会没事,因为高级 AI 检测时间会逐月滚动。","Can I change my plan?":"我可以更改我的计划吗?","Of course! You can change the number of printers, add/change/remove Subcribe&Save AI Detection Hour Pack, or between annual and monthly, at any time as long as your subscription is still active.":"当然可以!只要您的订阅仍然有效,您可以随时更改打印机数量,添加/更改/删除订阅并保存AI检测小时包,或在年付和月付之间更改。","You will keep the unused AI Detection Hours when you change your subscription plan.":"当您更改订阅计划时,您将保留未使用的AI检测小时。","Can I cancel my plan?":"我可以取消我的计划吗?","Yes again! You can cancel your subscription any time.":"再次确认!您可以随时取消您的订阅。","However, the AI Detection Hours included in the plan will expire at the end of your subscription period.":"但是,该计划中包含的 AI 检测时间将在您的订阅期结束时到期。","What is your refund policy?":"您的退款政策是什么?","We offer a {localizedDom}":"我们提供一个{localizedDom}","30-Day Full Refund Policy":"30天全额退款政策","If you are not happy with the Pro plan, just {localizedDom} within 30 days and we will give you a full refund.":"如果您对专业计划不满意,只需在30天内{localizedDom},我们将给您全额退款。","email us":"给我们发邮件","After 30 days, you can still cancel the subscription at any time. However, we usually don\'t refund the payment, due to the nature of a subscription service. Instead, we will keep your subscription active until the end of the current billing cycle. This is also a common practice for virtually all other subscription services such as Netflix.":"30天后,您仍然可以随时取消订阅。然而,由于订阅服务的性质,我们通常不会退款。相反,我们将保持您的订阅活跃直到当前账单周期结束。这也是几乎所有其他订阅服务(如Netflix)的常见做法。","However, we are all human and we want to be reasonable. If you have a good reason why we should refund to you after 30 days, {localizedDom} and we will consider your request.":"然而,我们都是人类,我们希望保持合理。如果您有一个好的理由说明为什么我们应该在30天后退款给您,{localizedDom},我们将考虑您的请求。","Is it safe to give my credit card number to the Kingroon?":"将我的信用卡号码提供给 Kingroon 安全吗?","Wrong question! You will not give credit number to us. Instead, it\'s Chargebee, {localizedDom}, that takes your credit card number and safely stores it.":"问错了!您不会把信用卡号码给我们。相反,是Chargebee,{localizedDom},会接收您的信用卡号并安全存储。","a fully compliant billing service provider":"一个完全合规的账单服务提供商","Under no circumstances will Kingroon process or store your payment information.":"在任何情况下,Kingroon 都不会处理或存储您的付款信息。","I have many printers and print a lot. The Pro plan becomes really expensive. Can I still use the Kingroon app?":"我有很多打印机并且打印很多。 Pro 计划变得非常昂贵。 我还能使用 Kingroon 应用程序吗?","Please {localizedDom} to customize a plan that works for your budget.":"请{localizedDom}来定制一个符合您预算的计划。","contact us":"联系我们","I saw {brandName} mentioned somewhere. What does {brandName} have to do with Kingroon?":"我看到某处提到了{{brandName}}。 {{brandName}} 与 Kingroon 有什么关系?","{brandName} has partnered with Kingroon to provide Kingroon users with AI and a mobile app for Kingroon 3D printers. {brandName}, a US based company is the developer of the Kingroon App.":"{{brandName}} 与 Kingroon 合作,为 Kingroon 用户提供 AI 和适用于 Kingroon 3D 打印机的移动应用程序。 {{brandName}} 是一家美国公司,是 Kingroon 应用程序的开发商。","The Free plan is for users with only 1 printer and print very in-frequently. Another reason why you may want to choose the Free plan is you don\'t mind slow webcam streaming (up to 5 FPS). The Free plan even comes with 10 free AI Detection Hours per month. And you can get {localizedDom} if you need more.":"免费计划适用于只有1台打印机并且很少打印的用户。您可能想选择免费计划的另一个原因是您不介意慢速网络摄像头流(最高5 FPS)。免费计划甚至每月提供10个免费的AI检测小时。如果您需要更多,您可以获得{localizedDom}。","additional AI Detection Hours":"额外的 AI 检测小时","The Pro plan is for users who want to enjoy watching the webcam feed at the slick 25 FPS rate. It also comes with 50 AI Detection Hours every month. If you occasionally print more than 50 hours a month, you will most likely be ok because the {localizedDom}. When you upgrade to the Pro plan, you are also eligible to the {localizedDom2} at favorable rates.":"专业计划适用于希望以流畅的25 FPS速度观看网络摄像头视频的用户。它还每月提供50个AI检测小时。如果您偶尔一个月打印超过50小时,您最有可能会觉得还好,因为{localizedDom}。当您升级到专业计划时,您也有资格以优惠的价格获得{localizedDom2}。","Subscribe&Save AI Detection Hour Packs":"订阅并保存AI检测小时包","I have X printers and I print Y hours a month. Tell me exactly how much the Pro plan will cost me.":"我有X台打印机,一个月打印Y小时。告诉我专业计划将花费我多少钱。","Oops. We forgot to mention we have built a {localizedDom} for you.":"哎呀。我们忘了提我们为您构建了一个{localizedDom}。","price calculator":"价格计算器","However, the AI Detection Hours included in the plan and Subscribe&Save pack will expire at the end of your subscription period.":"但是,计划中包含的AI检测小时和订阅并保存包将在您的订阅期结束时到期。","Is it safe to give my credit card number to the {brandName} Cloud?":"将我的信用卡号码提供给 {{brandName}} Cloud安全吗?","Under no circumstances will the {brandName} Cloud process or store your payment information.":"在任何情况下,{{brandName}} Cloud都不会处理或存储您的支付信息。","I have many printers and print a lot. The Pro plan becomes really expensive. Can I still use the {brandName} Cloud?":"我有很多打印机并且打印很多。专业计划变得非常昂贵。我还能使用{{brandName}} Cloud吗?","Failed to cancel subscription":"取消订阅失败","Your subscription will expire at the end of current billing cycle.":"您的订阅将在当前账单周期结束时到期。","I understand I will {localizedDom} when my subscription expires.":"我明白当我的订阅到期时我将{localizedDom}。","lose the unused expirable AI Detection Hours":"失去未使用的可到期的AI检测小时","One last thing. Please tell us why you want to cancel your subscription":"最后一件事。请告诉我们您为什么要取消您的订阅","Other":"其他","I changed my mind. I\'ll keep my subscription":"我改变主意了。我会保留我的订阅","I still want to cancel my subscription":"我仍然想要取消我的订阅","Failed to delete account":"删除账户失败","Delete Account":"删除账户","Your account will be permanently deleted!":"您的账户将被永久删除!","I understand I will lose all data.":"我理解我将丢失所有数据。","One last thing. Please tell us why you want to delete your account":"最后一件事。请告诉我们您为什么要删除您的账户","Delete my account":"删除我的账户","You have an active subscription. If you want to delete your account, please {localizedDom}":"您有一个活跃的订阅。如果您想删除您的账户,请{localizedDom}","send us an email":"给我们发送一封邮件","AI Detection Hours":"AI 检测小时","Total AI Detection Hours ({localizedDom})":"总AI检测小时({localizedDom})","details":"详情"," Unlimited ":" 无限 ","Included in subscription plan or Subscribe&Save DH Pack.":"包含在订阅计划或订阅并保存DH包中。","Expires when subscription ends":"订阅结束时到期","Earned or bought with Pre-paid DH Pack.":"通过预付DH包赚取或购买。","(Never expires.)":"(永不过期。)","Running short of AI Detection Hours?":"AI检测小时不足?","Get more >>>":"获取更多 >>>","Renew your subscription plan":"续订您的订阅计划","Click":"点击","here":"这里","to open the billing portal.":"打开账单门户。","Click on your subscription.":"点击您的订阅。","Click \\"Remove scheduled cancellation\\"":"点击“移除预定取消”","It looks like you have a legacy DH Pack that we have discontinued.":"看起来您有一个我们已经停止的遗留DH包。","Please email {name} to change your subscription.":"请发邮件给{{name}}来更改您的订阅。","Subscription Plan":"订阅计划","You are currently on the Free plan.":"您目前处于免费计划。","You can still enjoy essential features such as the {localizedDom} and 10 free {localizedDom2} per month.":"您仍然可以享受基本功能,如{localizedDom}以及每月10个免费的{localizedDom2}。","Basic Webcam Streaming":"基础网络摄像头流","If you want to watch your webcam with the {localizedDom} and get more AI Detection Hours so that Obi can watch your prints for you, you can upgrade to the Pro plan.":"如果您想要用{localizedDom}观看您的网络摄像头并获取更多的AI检测小时,以便Obi可以为您监视您的打印,您可以升级到专业计划。","Premium Webcam Streaming":"高级网络摄像头流","Compare the plans":"比较计划","Your free trial of the Pro plan":"您的专业计划免费试用","will expire":"将会到期","AI Detection Hours will also expire with your free trial":"AI检测小时也将随您的免费试用到期","You can upgrade to Pro now to keep them.":"您现在可以升级到专业版以保留它们。","Upgrade to Pro Now (30-Day Money Back Guarantee)":"立即升级到专业版(30天退款保证)","About the free trial":"关于免费试用","During the 1 month trial period, you have access to all Pro features.":"在1个月的试用期内,您可以访问所有专业功能。","We also gave you 250 free {localizedDom}":"我们还给了您250个免费的{localizedDom}","so you would be able to fully experience the power of {brandName} without having to worry about running out.":"这样您就能充分体验{{brandName}}的力量而不必担心用完。","At the end of the free trial, you can continue the Pro plan with an annual or monthly subscription. Otherwise your account will be automatically converted to the Free plan.":"在免费试用结束时,您可以继续通过年付或月付订阅专业计划。否则您的账户将自动转换为免费计划。","You are currently on the complimentary Pro plan.":"您目前正在使用免费的专业计划。","It\'ll expire {localizedDom}":"它将在{localizedDom}到期","At that time, you can {localizedDom} or do nothing, in which case your account will be converted to Free plan automatically.":"届时,您可以{localizedDom}或什么都不做,在这种情况下,您的账户将自动转换为免费计划。","upgrade to the Pro plan":"升级到专业计划","Compare the plans >>>":"比较计划 >>>","Complimentary Pro plan doesn\'t allows Subscribe&Save AI Detection Hour Pack as add-ons. If you need more AI Detection Hours, you can get Pre-paid AI Detection Hour Pack.":"免费的专业计划不允许将订阅并保存AI检测小时包作为附加组件。如果您需要更多的AI检测小时,您可以获得预付AI检测小时包。","Your Pro plan will end {localizedDom}":"您的专业计划将在{localizedDom}结束","You will lose the remaining expirable AI Detection Hours when your plan ends (see {localizedDom} ).":"当您的计划结束时,您将失去剩余的可到期的AI检测小时(见{localizedDom})。","To avoid the loss":"为避免损失","renew the plan now":"现在续订计划","You are currently on the Pro plan.":"您目前在专业计划上。","Your next billing date is":"您的下一个账单日期是","Plan total":"计划总额","Plan base":"基础计划","Additional printer(s)":"额外的打印机","You have fewer printers than you subscribed for. You can change your subscription to save money.":"您的打印机数量少于您订阅的数量。您可以更改您的订阅以节省资金。","The total doesn\'t reflect the coupon you may have received. Check your invoice for the final amount you paid.":"总额不反映您可能收到的优惠券。检查您的发票以了解您支付的最终金额。","Change Subscription":"更改订阅","Cancel Subscription":"取消订阅","Need to view invoices or change payment method?":"需要查看发票或更改支付方式吗?","Open the billing portal":"打开账单门户","Subscription":"订阅","Oops...":"哎呀...","Something went wrong! Please":"出了些问题!请","Contact us":"联系我们","for help.":"寻求帮助。","Are you sure?":"你确定吗?","Delete {name} printer? This action can not be undone.":"删除{{name}}打印机?此操作不能撤销。","Yes":"是","No":"否","Printer deleted":"打印机已删除","{name} has been permanently deleted":"{{name}}已被永久删除","Archived Printers":"已存档的打印机","The following printers have been archived because you have more printers than your plan allows.":"以下打印机已被存档,因为您的打印机数量超过了计划允许的数量。","Un-archive":"取消存档","Delete":"删除","You have a few options to un-archive printer(s)":"您有几个选项可以取消存档打印机","Delete or archive the printers you no longer need.":"删除或存档您不再需要的打印机。","Upgrade to the Pro plan. Please remember the Free plan is limited to only 1 printer. Check out {localizedDom}.":"升级到专业计划。请记住免费计划仅限于1台打印机。查看{localizedDom}。","the Pro plan pricing":"专业计划定价","If you are already on the Pro plan, you can change the number of printers on {localizedDom}.":"如果您已经在专业计划上,您可以在{localizedDom}上更改打印机的数量。","your subscription page":"您的订阅页面","Once your account is set up to allow for more printers, come back and un-archive the printers here.":"一旦您的账户设置允许更多打印机,返回此处并取消存档打印机。","Questions on why your printers are archived?":"有关为什么您的打印机被存档的问题?","Contact us.":"联系我们。","You have no archived printers.":"您没有存档的打印机。","Go back to the printer page.":"返回打印机页面。","The {brandName} plugin version is too old to use this function. Please update it to the latest version to test camera!":"{{brandName}}插件版本太旧,无法使用此功能。请将其更新到最新版本以测试相机!","Please confirm the snapshot below came from a":"请确认下面的快照来自于","nozzle camera":"喷嘴相机","not a regular webcam. The AI will NOT function correctly on a regular camera.":"而不是常规网络摄像头。AI在常规摄像头上将无法正确工作。","Unable to connect to your nozzle camera using the URL you entered!":"无法使用您输入的URL连接到您的喷嘴相机!","Please check the instruction for how to find the correct URL for your nozzle camera.":"请检查如何找到喷嘴相机正确URL的说明。","Nozzle Ninja AI Configuration":"Nozzle Ninja AI 配置","Nozzle Ninja, {brandName}’s First Layer AI, Is Here!":"Nozzle Ninja,{{brandName}} 的第一层 AI,就在这里!","Configure a compatible nozzle camera to get started":"配置兼容的喷嘴摄像头即可开始使用","Update the {brandName} Plugin in OctoPrint or Fluidd/Mainsail":"更新 OctoPrint 或 Fluidd/Mainsail 中的 {{brandName}} 插件","Before you configure Nozzle Ninja, Update the {brandName} plugin in OctoPrint or Fluidd/Mainsail. Once the plugin is up-to-date, restart your printer or Raspberry, and then come back here.":"在配置 Nozzle Ninja 之前,请更新 OctoPrint 或 Fluidd/Mainsail 中的 {{brandName}} 插件。插件更新后,重新启动打印机或 Raspberry,然后返回此处。","Select the Printer You Want to Configure":"选择要配置的打印机","Printers Found":"找到的打印机","Select which printer(s) you want to configure. Note: AI detection hours are currently not impacted by first layer AI.":"选择您要配置的打印机。注意:AI 检测时间目前不受第一层 AI 的影响。","Please select a printer to configure":"请选择一个打印机进行配置","Nozzle camera URL saved!":"喷嘴相机 URL 已保存!","System: ":"系统:","Post first layer scan":"打印第一层扫描","Scan your print after your first layer is done at a lower speed. The scan will produce better images more in focus and with less motion blur. This is opted in by default but you can opt out of it.":"在第一层完成后以较低速度扫描您的打印。扫描将产生更清晰、运动模糊更少的更好图像。这是默认选择的,但您可以选择不使用它。","Note: Please make sure":"注意:请确保","the slicer correctly configured":"切片软件正确配置","Otherwise it won\'t scan.":"否则它不会扫描。","Enable post first layer scan":"启用打印第一层后扫描","Scan at height":"在特定高度扫描","Cooldown extruder":"冷却挤出机","Retract before scan":"扫描前回缩","Retraction speed":"回缩速度","No printers found!":"未找到打印机!","Nozzle Ninja Configuration":"喷嘴忍者配置","Follow the camera configuration guide to configure your nozzle camera with {brandName}":"按照相机配置指南使用{{brandName}}配置您的喷嘴相机","Nozzle Ninja configuration guide for Klipper ":"Klipper 的 Nozzle Ninja 配置指南 ","Nozzle Ninja configuration guide for Octoprint ":"Octoprint 的 Nozzle Ninja 配置指南 ","Slicer Configuration":"切片软件配置","Configure your slicer to send first layer information to {brandName} and optionally enable first layer scanning. First layer scanning is an experimental feature that enables a slow scan of the first layer. This feature requires some configureation to avoid impacting print quality.":"配置切片机以将第一层信息发送到 {{brandName}} 并可选择启用第一层扫描。第一层扫描是一项实验性功能,可对第一层进行慢速扫描。此功能需要进行一些配置以避免影响打印质量。","Currently, PrusaSlicer, SuperSlicer and OrcaSlicer are supported.":"目前支持PrusaSlicer、SuperSlicer和OrcaSlicer。","Slicer configuration guide ":"切片软件配置指南 ","Build Your Pro Plan":"构建您的专业计划","You have already redeemed this coupon.":"您已经兑换了这张优惠券。","Please contact Obico Support at":"请联系 Obico 支持:","Error":"错误","Failed to redeem the coupon code. Please try again later.":"兑换优惠券代码失败。 请稍后再试。","Oops! You already have an Obico Pro Plan...":"哎呀! 您已经有 Obico Pro 计划...","Contact obico support at":"联系 obico 支持:","Oops! Invalid Coupon!":"哎呀! 优惠券无效!","Activate Your Three-Month Obico Pro Plan":"激活您的三个月 Obico Pro 计划","As a valued Big Tree Tech customer, once your included plan expires, you can upgrade to a more advanced plan at a special discounted price. This offer is exclusively available for Big Tree Tech customers to ensure you continue to enjoy the benefits of Obico without interruption.":"作为 Big Tree Tech 的尊贵客户,一旦您包含的计划到期,您可以以特别折扣价格升级到更高级的计划。 此优惠专为 Big Tree Tech 客户提供,以确保您继续不间断地享受 Obico 的好处。","Redeem Plan":"兑换计划","Upgrade to an Obico Pro Plan and get a 25% discount as a valued BTT customer!":"升级到 Obico Pro 计划并作为 BTT 尊贵客户享受 25% 的折扣!","Obico has partnered with Big Tree Tech to give you an exclusive discount on an Obico Pro Plan. Get instant access to AI failure detection, first layer AI, webcam streaming, a highly rated mobile app and more for your 3D printer.":"Obico 与 Big Tree Tech 合作,为您提供 Obico Pro 计划的独家折扣。 即时访问适用于您的 3D 打印机的 AI 故障检测、第一层 AI、网络摄像头流、高评价的移动应用程序等。","Choose Plan":"选择计划","What\'s Included with Your Pro Plan":"您的专业计划包含哪些内容","Webcam Streaming":"网络摄像头流媒体","Full Remote Access":"完全远程访问","Mobile & Web App":"移动和网络应用程序","Printer Management":"打印机管理","Compatible with Your Favorite Software":"与您喜爱的软件兼容","Highly Rated Mobile App":"高评价的移动应用程序","Available for iOS and Android":"适用于 iOS 和 Android","Frequently Asked Questions":"经常问的问题","What happens when the three-month Pro Plan expires?":"三个月的专业计划到期后会发生什么?","When your three-month plan expires, you will have the change to upgrade to one of Obico’s Pro Plans at a special discounted rate. Learn more about the plan options":"当您的三个月计划到期时,您将可以以特别折扣价升级到 Obico 的 Pro 计划之一。 了解有关计划选项的更多信息","If you choose not to upgrade, your plan will be automatically reverted to an Obico Free Plan.":"如果您选择不升级,您的计划将自动恢复为 Obico 免费计划。","Invalid coupon code. Please make sure the coupon code has not been used, and has not expired. If you believe you have a valid coupon code, please ":"优惠券代码无效。请确保优惠券代码未使用且未过期。如果您认为优惠券代码有效,请","As a valued Mintion customer, once your included plan expires, you can upgrade to a more advanced plan at a special discounted price. This offer is exclusively available for Mintion customers to ensure you continue to enjoy the benefits of Obico without interruption.":"作为尊贵的 Mintion 客户,一旦您的套餐到期,您可以以特别折扣价升级到更高级的套餐。此优惠仅面向 Mintion 客户,以确保您继续享受 Obico 的优惠,不会中断。","Activate Your One Year Obico Pro Plan":"激活您的一年 Obico Pro 计划","As a valued Mintion customer, you are eligible for an exclusive life-time Pro Plan discount. When you redeem your plan, you’ll be asked to enter your credit card so we can give you the exclusive 20% discount when your plan renews.":"作为 Mintion 的尊贵客户,您有资格享受专属终身 Pro Plan 折扣。当您兑换计划时,系统会要求您输入信用卡信息,以便我们在您的计划续订时为您提供 20% 的独家折扣。","If you don’t want your plan to renew, you can cancel the plan so that it will not renew at any time. ":"如果您不希望您的计划续订,您可以取消该计划,这样它就不会随时续订。","When your three-month plan expires, you will have the chance to upgrade to one of Obico’s Pro Plans at a special discounted rate. Learn more about the plan options":"当您的三个月计划到期时,您将有机会以特别折扣价升级到 Obico 的专业计划之一。了解有关计划选项的更多信息","I already paid for the Pro Plan. Why do I need to enter my credit card information again?":"我已经支付了专业计划的费用。 为什么我需要再次输入我的信用卡信息?","Your plan is fully covered for the first one year. After the first one year, the plan will renew with a special discount available exclusively for Mintion customers. You are free to cancel the plan at any time in the “Subscription” section of the Obico mobile or web app.":"您的计划在第一年内完全受保。第一年之后,该计划将续订,并享受 Mintion 客户专享的特殊折扣。您可以随时在 Obico 移动或网络应用程序的“订阅”部分取消该计划。","Still have questions?":"还有疑问吗?","Contact":"接触","{brandName} support.":"{{brandName}} 支持。","Oops! You already have an {brandName} Pro Plan...":"哎呀! 您已经有一个 {{brandName}} 专业计划...","Contact {brandName} support at":"请联系 {{brandName}} 支持人员:","Activate Your {brandName} Pro Plan":"激活您的 {{brandName}} 专业计划","As a valued Sovol customer, you are eligible for an exclusive Pro Plan discount. When you redeem your plan, you’ll be asked to enter your credit card so we can give you the exclusive 20% discount when your plan renews.":"作为 Sovol 的尊贵客户,您有资格享受专属 Pro 计划折扣。 当您兑换计划时,系统会要求您输入信用卡信息,以便我们在您的计划续订时为您提供 20% 的独家折扣。","If you don’t want your plan to renew, you can cancel the plan so that it will not renew at any time.":"如果您不希望您的计划续订,您可以取消该计划,这样它就不会随时续订。","Your plan is fully covered for the first year. After the first year, the plan will renew with a special discount available exclusively for Sovol customers. You are free to cancel the plan at any time in the “Subscription” section of the {brandname} mobile or web app.":"您的计划在第一年得到全额承保。 第一年后,该计划将续订并提供专为 Sovol 客户提供的特别折扣。 您可以随时在 {{brandname}} 移动或网络应用程序的“订阅”部分取消该计划。"," for ${month} / month (${hour} / AI Detection Hour). Billed ${year} annually.":" 每月${{month}}(每个AI检测小时${{hour}})。每年账单${{year}}。"," for ${month} / month (${hour} / AI Detection Hour).":" 每月${{month}}(每个AI检测小时${{hour}})。","Calculate Plan Cost":"计算计划成本","Kingroon Connect Plans":"Kingroon 连接计划","Free":"免费","Print occasionally.":"偶尔打印。","Unlimited Kingroon printers allowed":"允许无限使用 Kingroon 打印机","Get Started":"开始","Basic webcam streaming":"基本网络摄像头流","100 {localizedDom} AI Detection Hours/month, 30s detection interval":"100 {localizedDom} AI 检测小时/月,检测间隔 30 秒","Basic":"基本的","300MB /mo tunnel data - Access Mainsail or Fluidd remotely":"300MB /mo 隧道数据 - 远程访问 Mainsail 或 Fluidd","200MB total G-code cloud storage":"200MB 总 G 代码云存储空间","Companion mobile app for {localizedDom} and {localizedDom2}":"用于{localizedDom}和{localizedDom2}的配套移动应用","Android":"安卓","iOS":"iOS","Remote printer access and control":"远程打印机访问和控制","Failure alerts and print status updates sent through push notification":"通过推送通知发送故障警报和打印状态更新","Community technical support":"社区技术支持","Pro":"专业版","Print every day. 2+ printers.":"每天打印。2台以上打印机。","$":"$","month":"每月","(Billed {name} annually)":"(每年账单{{name}})","1st printer included":"包括第1台打印机","2+ printers at $":"2台以上打印机每台$","month / printer":"每月/打印机","View/Change Subscription":"查看/更改订阅","Full refund within 30 days if you are not happy.":"如果您不满意,30天内全额退款。","Upgrade (30-Day Money Back Guarantee)":"升级(30天退款保证)","Start 1 month FREE trial":"开始1个月免费试用","Premium webcam streaming":"高级网络摄像头流","100 {localizedDom} AI Detection Hours per month, 10s detection interval":"每月 100 {localizedDom} AI 检测小时,检测间隔 10 秒","Advanced":"先进的","Unlimited tunnel data - Access Mainsail or fluidd remotely":"无限的隧道数据 - 远程访问 Mainsail 或 Fluidd","5GB total G-Code cloud storage":"总共 5GB G 代码云存储空间","Email technical support":"电子邮件技术支持","Printer feed sharing with premium streaming quality":"具有高级流媒体质量的打印机订阅共享","Cloud Plans":"云计划","Thinking about self-hosting {brandName} Server instead?":"考虑自托管{{brandName}}服务器吗?","Check out self-hosting vs {brandName} Cloud.":"查看自托管与{{brandName}}云的对比。","Limited to 1 printer.":"限于1台打印机。","10 free AI Detection Hours/month included":"包括每月10小时免费AI检测","300MB /mo tunnel data":"每月300MB隧道数据","G-Code cloud storage up to 50MB per file, 1GB total":"G-Code云存储最多每个文件50MB,总共1GB","Notifications via Email, mobile push notification, Telegram, and more.":"通过电子邮件、移动推送通知、Telegram等方式的通知。","300MB /mo integration with your favorite 3rd-party mobile apps":"每月300MB与您最喜爱的第三方移动应用的集成","Calculate cost":"计算成本","50 free AI Detection Hours/month included":"包括每月50小时免费AI检测","Unlimited tunnel data":"无限隧道数据","G-Code cloud storage up to 500MB per file, 50GB total":"G-Code云存储最多每个文件500MB,总共50GB","Unlimited integration with your favorite 3rd-party mobile apps":"与您最喜爱的第三方移动应用的无限集成","Failure alerts via SMS (text message)":"通过SMS(短信)的失败警报","AI Detection Hour Packs":"AI检测小时包","Need more AI Detection Hours? Add the right amount of AI Detection Hours without burning a hole on your wallet.":"需要更多AI检测小时吗?在不让您的钱包出现漏洞的情况下添加正确数量的AI检测小时。","Pre-paid Pack":"预付包","Turn on AI failure detection only for the prints.":"仅针对打印打开 AI 故障检测。","Available to all plans.":"适用于所有计划。","Pre-paid AI Detection Hours never expire.":"预付AI检测小时永不过期。","One Time Purchase.":"一次性购买。","for":"为","Start 1 month FREE trial + 250 FREE AI Detection Hours":"开始1个月免费试用+250个免费AI检测小时","Purchase Selected AI Detection Hour Pack":"购买选定的AI检测小时包","Subscribe&Save Packs":"订阅并保存包","AI failure detection for all prints.":"对所有打印进行AI故障检测。","Available only as add-on to the Pro plan.":"仅作为专业计划的附加项提供。","Subscribed AI Detection Hours roll over month to month.":"订阅的AI检测小时从月到月滚动。","Subscribed AI Detection Hours expire when subscription ends.":"订阅结束时,订阅的AI检测小时到期。","You can change AI Detection Hour Pack or remove it from your Pro plan any time you want.":"您随时可以更改AI检测小时包或从您的专业计划中移除它。","Upgrade to Pro with selected AI Detection Hour Pack":"升级至专业版并选择AI检测小时包","Calculate Cost >>>":"计算成本 >>>","The Spaghetti Gallery":"意大利面画廊","End of public time-lapse list.":"公开延时列表的结束。","Loading...":"正在加载...","Your 30-Day {localizedDom} Free Trial Has Started!":"您的30天{localizedDom}免费试用已经开始!","Pro Plan":"专业计划","{trialDaysLeft} Days Left on Your {localizedDom} Free Trial!":"您的{localizedDom}免费试用还剩{trialDaysLeft}天!","Unlimited, 25 FPS Premium Webcam Streaming":"无限制,25 FPS 高级网络摄像头流","250 Hours Watched by AI for Failure Detection":"250小时由AI观看以进行故障检测","G-Code Remote Upload and Printing":"G-Code远程上传和打印","Link your 3D printer now so that you can fully enjoy the 30-Day Free Trial":"现在链接您的3D打印机,以便您可以充分享受30天的免费试用","Link Printer":"链接打印机","It\'s as easy as 1-2-3":"就像1-2-3一样简单","Just Checking Out":"只是查看","Not a whole lot you can see without your printer linked":"如果没有链接您的打印机,您看不到太多内容","Not ready to start yet? {localizedDom} to pause your free trial.":"还没准备好开始?{localizedDom}暂停您的免费试用。","Email us":"给我们发邮件"}')},"2e60":function(e,t,i){},"2e7f":function(e,t,i){e.exports=i.p+"img/octoprint_logo.png"},"2f4c":function(e,t,i){},"30c2":function(e,t,i){},"30de":function(e,t,i){},3102:function(e,t,i){},"314a":function(e,t,i){e.exports=i.p+"img/detached-1.jpg"},3372:function(e,t,i){},"346f":function(e){e.exports=JSON.parse('{"Printers":"Printers","Print History":"Print History","G-Codes":"G-Codes","Pricing":"Pricing","Help":"Help","SIGN IN":"SIGN IN","SIGN UP":"SIGN UP","Preferences":"Preferences","Log out":"Log out","Welcome To":"Welcome To","Your three-month Pro Plan Is Now Active":"Your three-month Pro Plan Is Now Active","Unlimited Premium Webcam Streaming":"Unlimited Premium Webcam Streaming","Unlimited AI Failure Detection":"Unlimited AI Failure Detection","G-Code Remote Uploading and Printing":"G-Code Remote Uploading and Printing","Unlimited Secure Tunnel to OctoPrint/Klipper":"Unlimited Secure Tunnel to OctoPrint/Klipper","Go To Printer Control Page":"Go To Printer Control Page","Sign Up or Sign in to Your Obico Account":"Sign Up or Sign in to Your Obico Account","And get instant access to":"And get instant access to","Signup/Sign In":"Signup/Sign In","Create an account or Sign in to Choose Your plan":"Create an account or Sign in to Choose Your plan","AI Failure Detection":"AI Failure Detection","Create Account/Sign In":"Create Account/Sign In","Create an account or Sign in to Choose Your plan and get":"Create an account or Sign in to Choose Your plan and get","{name} AI Detection Hours / month pack":"{{name}} AI Detection Hours / month pack","AI Detection Hour Pack not selected":"AI Detection Hour Pack not selected","{name} AI Detection Hours / month":"{{name}} AI Detection Hours / month","No AI Detection Hour Pack":"No AI Detection Hour Pack","You need to":"You need to","verify your primary email":"verify your primary email","as it will be used for billing communication.":"as it will be used for billing communication.","Annual (SAVE 33%)":"Annual (SAVE 33%)","Monthly":"Monthly","Number of printer(s)":"Number of printer(s)","Add":"Add"," (No change) ":" (No change) ","Remove":"Remove","Add Subscribe&Save AI Detection Hour Pack?":"Add Subscribe&Save AI Detection Hour Pack?","Popular":"Popular","Current":"Current","Total":"Total","Pro plan":"Pro plan","1st printer (included)":"1st printer (included)","additional":"additional","50 AI Detection Hours / month (included)":"50 AI Detection Hours / month (included)","This is the total amount on your next bill. Click \'Checkout\' see how much is due today.":"This is the total amount on your next bill. Click \'Checkout\' see how much is due today.","Cancel":"Cancel","Checkout":"Checkout","Questions You May Have":"Questions You May Have","What currency are your prices in?":"What currency are your prices in?","They’re in US dollars.":"They’re in US dollars.","Which plan is right for me?":"Which plan is right for me?","It depends on how many 3D printers you have, and how often you print.":"It depends on how many 3D printers you have, and how often you print.","The Free plan is for users who print occasionally. Another reason why you may want to choose the Free plan is you don\'t mind slow webcam streaming (up to 1 FPS). The Free plan even comes with 100 free Basic AI Detection Hours per month. Hours don\'t roll over month to month.":"The Free plan is for users who print occasionally. Another reason why you may want to choose the Free plan is you don\'t mind slow webcam streaming (up to 1 FPS). The Free plan even comes with 100 free Basic AI Detection Hours per month. Hours don\'t roll over month to month.","The Pro plan is for users who print more often and want to enjoy additional features like watching the webcam feed at the slick 25 FPS rate. It also comes with 100 Advanced AI Detection Hours every month - giving you the ability to detect failures faster and more reliably. If you occasionally print more than 100 hours a month, you will most likely be ok because the Advanced AI Detection Hours roll over month to month.":"The Pro plan is for users who print more often and want to enjoy additional features like watching the webcam feed at the slick 25 FPS rate. It also comes with 100 Advanced AI Detection Hours every month - giving you the ability to detect failures faster and more reliably. If you occasionally print more than 100 hours a month, you will most likely be ok because the Advanced AI Detection Hours roll over month to month.","Can I change my plan?":"Can I change my plan?","Of course! You can change the number of printers, add/change/remove Subcribe&Save AI Detection Hour Pack, or between annual and monthly, at any time as long as your subscription is still active.":"Of course! You can change the number of printers, add/change/remove Subcribe&Save AI Detection Hour Pack, or between annual and monthly, at any time as long as your subscription is still active.","You will keep the unused AI Detection Hours when you change your subscription plan.":"You will keep the unused AI Detection Hours when you change your subscription plan.","Can I cancel my plan?":"Can I cancel my plan?","Yes again! You can cancel your subscription any time.":"Yes again! You can cancel your subscription any time.","However, the AI Detection Hours included in the plan will expire at the end of your subscription period.":"However, the AI Detection Hours included in the plan will expire at the end of your subscription period.","What is your refund policy?":"What is your refund policy?","We offer a {localizedDom}":"We offer a {localizedDom}","30-Day Full Refund Policy":"30-Day Full Refund Policy","If you are not happy with the Pro plan, just {localizedDom} within 30 days and we will give you a full refund.":"If you are not happy with the Pro plan, just {localizedDom} within 30 days and we will give you a full refund.","email us":"email us","After 30 days, you can still cancel the subscription at any time. However, we usually don\'t refund the payment, due to the nature of a subscription service. Instead, we will keep your subscription active until the end of the current billing cycle. This is also a common practice for virtually all other subscription services such as Netflix.":"After 30 days, you can still cancel the subscription at any time. However, we usually don\'t refund the payment, due to the nature of a subscription service. Instead, we will keep your subscription active until the end of the current billing cycle. This is also a common practice for virtually all other subscription services such as Netflix.","However, we are all human and we want to be reasonable. If you have a good reason why we should refund to you after 30 days, {localizedDom} and we will consider your request.":"However, we are all human and we want to be reasonable. If you have a good reason why we should refund to you after 30 days, {localizedDom} and we will consider your request.","Is it safe to give my credit card number to the Kingroon?":"Is it safe to give my credit card number to the Kingroon?","Wrong question! You will not give credit number to us. Instead, it\'s Chargebee, {localizedDom}, that takes your credit card number and safely stores it.":"Wrong question! You will not give credit number to us. Instead, it\'s Chargebee, {localizedDom}, that takes your credit card number and safely stores it.","a fully compliant billing service provider":"a fully compliant billing service provider","Under no circumstances will Kingroon process or store your payment information.":"Under no circumstances will Kingroon process or store your payment information.","I have many printers and print a lot. The Pro plan becomes really expensive. Can I still use the Kingroon app?":"I have many printers and print a lot. The Pro plan becomes really expensive. Can I still use the Kingroon app?","Please {localizedDom} to customize a plan that works for your budget.":"Please {localizedDom} to customize a plan that works for your budget.","contact us":"contact us","I saw {brandName} mentioned somewhere. What does {brandName} have to do with Kingroon?":"I saw {{brandName}} mentioned somewhere. What does {{brandName}} have to do with Kingroon?","{brandName} has partnered with Kingroon to provide Kingroon users with AI and a mobile app for Kingroon 3D printers. {brandName}, a US based company is the developer of the Kingroon App.":"{{brandName}} has partnered with Kingroon to provide Kingroon users with AI and a mobile app for Kingroon 3D printers. {{brandName}}, a US based company is the developer of the Kingroon App.","The Free plan is for users with only 1 printer and print very in-frequently. Another reason why you may want to choose the Free plan is you don\'t mind slow webcam streaming (up to 5 FPS). The Free plan even comes with 10 free AI Detection Hours per month. And you can get {localizedDom} if you need more.":"The Free plan is for users with only 1 printer and print very in-frequently. Another reason why you may want to choose the Free plan is you don\'t mind slow webcam streaming (up to 5 FPS). The Free plan even comes with 10 free AI Detection Hours per month. And you can get {localizedDom} if you need more.","additional AI Detection Hours":"additional AI Detection Hours","The Pro plan is for users who want to enjoy watching the webcam feed at the slick 25 FPS rate. It also comes with 50 AI Detection Hours every month. If you occasionally print more than 50 hours a month, you will most likely be ok because the {localizedDom}. When you upgrade to the Pro plan, you are also eligible to the {localizedDom2} at favorable rates.":"The Pro plan is for users who want to enjoy watching the webcam feed at the slick 25 FPS rate. It also comes with 50 AI Detection Hours every month. If you occasionally print more than 50 hours a month, you will most likely be ok because the {localizedDom}. When you upgrade to the Pro plan, you are also eligible to the {localizedDom2} at favorable rates.","Subscribe&Save AI Detection Hour Packs":"Subscribe&Save AI Detection Hour Packs","I have X printers and I print Y hours a month. Tell me exactly how much the Pro plan will cost me.":"I have X printers and I print Y hours a month. Tell me exactly how much the Pro plan will cost me.","Oops. We forgot to mention we have built a {localizedDom} for you.":"Oops. We forgot to mention we have built a {localizedDom} for you.","price calculator":"price calculator","However, the AI Detection Hours included in the plan and Subscribe&Save pack will expire at the end of your subscription period.":"However, the AI Detection Hours included in the plan and Subscribe&Save pack will expire at the end of your subscription period.","Is it safe to give my credit card number to the {brandName} Cloud?":"Is it safe to give my credit card number to the {{brandName}} Cloud?","Under no circumstances will the {brandName} Cloud process or store your payment information.":"Under no circumstances will the {{brandName}} Cloud process or store your payment information.","I have many printers and print a lot. The Pro plan becomes really expensive. Can I still use the {brandName} Cloud?":"I have many printers and print a lot. The Pro plan becomes really expensive. Can I still use the {{brandName}} Cloud?","Failed to cancel subscription":"Failed to cancel subscription","Your subscription will expire at the end of current billing cycle.":"Your subscription will expire at the end of current billing cycle.","I understand I will {localizedDom} when my subscription expires.":"I understand I will {localizedDom} when my subscription expires.","lose the unused expirable AI Detection Hours":"lose the unused expirable AI Detection Hours","One last thing. Please tell us why you want to cancel your subscription":"One last thing. Please tell us why you want to cancel your subscription","Other":"Other","I changed my mind. I\'ll keep my subscription":"I changed my mind. I\'ll keep my subscription","I still want to cancel my subscription":"I still want to cancel my subscription","Failed to delete account":"Failed to delete account","Delete Account":"Delete Account","Your account will be permanently deleted!":"Your account will be permanently deleted!","I understand I will lose all data.":"I understand I will lose all data.","One last thing. Please tell us why you want to delete your account":"One last thing. Please tell us why you want to delete your account","Delete my account":"Delete my account","You have an active subscription. If you want to delete your account, please {localizedDom}":"You have an active subscription. If you want to delete your account, please {localizedDom}","send us an email":"send us an email","AI Detection Hours":"AI Detection Hours","Total AI Detection Hours ({localizedDom})":"Total AI Detection Hours ({localizedDom})","details":"details"," Unlimited ":" Unlimited ","Included in subscription plan or Subscribe&Save DH Pack.":"Included in subscription plan or Subscribe&Save DH Pack.","Expires when subscription ends":"Expires when subscription ends","Earned or bought with Pre-paid DH Pack.":"Earned or bought with Pre-paid DH Pack.","(Never expires.)":"(Never expires.)","Running short of AI Detection Hours?":"Running short of AI Detection Hours?","Get more >>>":"Get more >>>","Renew your subscription plan":"Renew your subscription plan","Click":"Click","here":"here","to open the billing portal.":"to open the billing portal.","Click on your subscription.":"Click on your subscription.","Click \\"Remove scheduled cancellation\\"":"Click \\"Remove scheduled cancellation\\"","It looks like you have a legacy DH Pack that we have discontinued.":"It looks like you have a legacy DH Pack that we have discontinued.","Please email {name} to change your subscription.":"Please email {{name}} to change your subscription.","Subscription Plan":"Subscription Plan","You are currently on the Free plan.":"You are currently on the Free plan.","You can still enjoy essential features such as the {localizedDom} and 10 free {localizedDom2} per month.":"You can still enjoy essential features such as the {localizedDom} and 10 free {localizedDom2} per month.","Basic Webcam Streaming":"Basic Webcam Streaming","If you want to watch your webcam with the {localizedDom} and get more AI Detection Hours so that Obi can watch your prints for you, you can upgrade to the Pro plan.":"If you want to watch your webcam with the {localizedDom} and get more AI Detection Hours so that Obi can watch your prints for you, you can upgrade to the Pro plan.","Premium Webcam Streaming":"Premium Webcam Streaming","Compare the plans":"Compare the plans","Your free trial of the Pro plan":"Your free trial of the Pro plan","will expire":"will expire","AI Detection Hours will also expire with your free trial":"AI Detection Hours will also expire with your free trial","You can upgrade to Pro now to keep them.":"You can upgrade to Pro now to keep them.","Upgrade to Pro Now (30-Day Money Back Guarantee)":"Upgrade to Pro Now (30-Day Money Back Guarantee)","About the free trial":"About the free trial","During the 1 month trial period, you have access to all Pro features.":"During the 1 month trial period, you have access to all Pro features.","We also gave you 250 free {localizedDom}":"We also gave you 250 free {localizedDom}","so you would be able to fully experience the power of {brandName} without having to worry about running out.":"so you would be able to fully experience the power of {{brandName}} without having to worry about running out.","At the end of the free trial, you can continue the Pro plan with an annual or monthly subscription. Otherwise your account will be automatically converted to the Free plan.":"At the end of the free trial, you can continue the Pro plan with an annual or monthly subscription. Otherwise your account will be automatically converted to the Free plan.","You are currently on the complimentary Pro plan.":"You are currently on the complimentary Pro plan.","It\'ll expire {localizedDom}":"It\'ll expire {localizedDom}","At that time, you can {localizedDom} or do nothing, in which case your account will be converted to Free plan automatically.":"At that time, you can {localizedDom} or do nothing, in which case your account will be converted to Free plan automatically.","upgrade to the Pro plan":"upgrade to the Pro plan","Compare the plans >>>":"Compare the plans >>>","Complimentary Pro plan doesn\'t allows Subscribe&Save AI Detection Hour Pack as add-ons. If you need more AI Detection Hours, you can get Pre-paid AI Detection Hour Pack.":"Complimentary Pro plan doesn\'t allows Subscribe&Save AI Detection Hour Pack as add-ons. If you need more AI Detection Hours, you can get Pre-paid AI Detection Hour Pack.","Your Pro plan will end {localizedDom}":"Your Pro plan will end {localizedDom}","You will lose the remaining expirable AI Detection Hours when your plan ends (see {localizedDom} ).":"You will lose the remaining expirable AI Detection Hours when your plan ends (see {localizedDom} ).","To avoid the loss":"To avoid the loss","renew the plan now":"renew the plan now","You are currently on the Pro plan.":"You are currently on the Pro plan.","Your next billing date is":"Your next billing date is","Plan total":"Plan total","Plan base":"Plan base","Additional printer(s)":"Additional printer(s)","You have fewer printers than you subscribed for. You can change your subscription to save money.":"You have fewer printers than you subscribed for. You can change your subscription to save money.","The total doesn\'t reflect the coupon you may have received. Check your invoice for the final amount you paid.":"The total doesn\'t reflect the coupon you may have received. Check your invoice for the final amount you paid.","Change Subscription":"Change Subscription","Cancel Subscription":"Cancel Subscription","Need to view invoices or change payment method?":"Need to view invoices or change payment method?","Open the billing portal":"Open the billing portal","Subscription":"Subscription","Oops...":"Oops...","Something went wrong! Please":"Something went wrong! Please","Contact us":"Contact us","for help.":"for help.","Are you sure?":"Are you sure?","Delete {name} printer? This action can not be undone.":"Delete {{name}} printer? This action can not be undone.","Yes":"Yes","No":"No","Printer deleted":"Printer deleted","{name} has been permanently deleted":"{{name}} has been permanently deleted","Archived Printers":"Archived Printers","The following printers have been archived because you have more printers than your plan allows.":"The following printers have been archived because you have more printers than your plan allows.","Un-archive":"Un-archive","Delete":"Delete","You have a few options to un-archive printer(s)":"You have a few options to un-archive printer(s)","Delete or archive the printers you no longer need.":"Delete or archive the printers you no longer need.","Upgrade to the Pro plan. Please remember the Free plan is limited to only 1 printer. Check out {localizedDom}.":"Upgrade to the Pro plan. Please remember the Free plan is limited to only 1 printer. Check out {localizedDom}.","the Pro plan pricing":"the Pro plan pricing","If you are already on the Pro plan, you can change the number of printers on {localizedDom}.":"If you are already on the Pro plan, you can change the number of printers on {localizedDom}.","your subscription page":"your subscription page","Once your account is set up to allow for more printers, come back and un-archive the printers here.":"Once your account is set up to allow for more printers, come back and un-archive the printers here.","Questions on why your printers are archived?":"Questions on why your printers are archived?","Contact us.":"Contact us.","You have no archived printers.":"You have no archived printers.","Go back to the printer page.":"Go back to the printer page.","The {brandName} plugin version is too old to use this function. Please update it to the latest version to test camera!":"The {{brandName}} plugin version is too old to use this function. Please update it to the latest version to test camera!","Please confirm the snapshot below came from a":"Please confirm the snapshot below came from a","nozzle camera":"nozzle camera","not a regular webcam. The AI will NOT function correctly on a regular camera.":"not a regular webcam. The AI will NOT function correctly on a regular camera.","Unable to connect to your nozzle camera using the URL you entered!":"Unable to connect to your nozzle camera using the URL you entered!","Please check the instruction for how to find the correct URL for your nozzle camera.":"Please check the instruction for how to find the correct URL for your nozzle camera.","Nozzle Ninja AI Configuration":"Nozzle Ninja AI Configuration","Nozzle Ninja, {brandName}’s First Layer AI, Is Here!":"Nozzle Ninja, {{brandName}}’s First Layer AI, Is Here!","Configure a compatible nozzle camera to get started":"Configure a compatible nozzle camera to get started","Update the {brandName} Plugin in OctoPrint or Fluidd/Mainsail":"Update the {{brandName}} Plugin in OctoPrint or Fluidd/Mainsail","Before you configure Nozzle Ninja, Update the {brandName} plugin in OctoPrint or Fluidd/Mainsail. Once the plugin is up-to-date, restart your printer or Raspberry, and then come back here.":"Before you configure Nozzle Ninja, Update the {{brandName}} plugin in OctoPrint or Fluidd/Mainsail. Once the plugin is up-to-date, restart your printer or Raspberry, and then come back here.","Select the Printer You Want to Configure":"Select the Printer You Want to Configure","Printers Found":"Printers Found","Select which printer(s) you want to configure. Note: AI detection hours are currently not impacted by first layer AI.":"Select which printer(s) you want to configure. Note: AI detection hours are currently not impacted by first layer AI.","Please select a printer to configure":"Please select a printer to configure","Nozzle camera URL saved!":"Nozzle camera URL saved!","System: ":"System: ","Post first layer scan":"Post first layer scan","Scan your print after your first layer is done at a lower speed. The scan will produce better images more in focus and with less motion blur. This is opted in by default but you can opt out of it.":"Scan your print after your first layer is done at a lower speed. The scan will produce better images more in focus and with less motion blur. This is opted in by default but you can opt out of it.","Note: Please make sure":"Note: Please make sure","the slicer correctly configured":"the slicer correctly configured","Otherwise it won\'t scan.":"Otherwise it won\'t scan.","Enable post first layer scan":"Enable post first layer scan","Scan at height":"Scan at height","Cooldown extruder":"Cooldown extruder","Retract before scan":"Retract before scan","Retraction speed":"Retraction speed","No printers found!":"No printers found!","Nozzle Ninja Configuration":"Nozzle Ninja Configuration","Follow the camera configuration guide to configure your nozzle camera with {brandName}":"Follow the camera configuration guide to configure your nozzle camera with {{brandName}}","Nozzle Ninja configuration guide for Klipper ":"Nozzle Ninja configuration guide for Klipper ","Nozzle Ninja configuration guide for Octoprint ":"Nozzle Ninja configuration guide for Octoprint ","Slicer Configuration":"Slicer Configuration","Configure your slicer to send first layer information to {brandName} and optionally enable first layer scanning. First layer scanning is an experimental feature that enables a slow scan of the first layer. This feature requires some configureation to avoid impacting print quality.":"Configure your slicer to send first layer information to {{brandName}} and optionally enable first layer scanning. First layer scanning is an experimental feature that enables a slow scan of the first layer. This feature requires some configureation to avoid impacting print quality.","Currently, PrusaSlicer, SuperSlicer and OrcaSlicer are supported.":"Currently, PrusaSlicer, SuperSlicer and OrcaSlicer are supported.","Slicer configuration guide ":"Slicer configuration guide ","Build Your Pro Plan":"Build Your Pro Plan","You have already redeemed this coupon.":"You have already redeemed this coupon.","Please contact Obico Support at":"Please contact Obico Support at","Error":"Error","Failed to redeem the coupon code. Please try again later.":"Failed to redeem the coupon code. Please try again later.","Oops! You already have an Obico Pro Plan...":"Oops! You already have an Obico Pro Plan...","Contact obico support at":"Contact obico support at","Oops! Invalid Coupon!":"Oops! Invalid Coupon!","Activate Your Three-Month Obico Pro Plan":"Activate Your Three-Month Obico Pro Plan","As a valued Big Tree Tech customer, once your included plan expires, you can upgrade to a more advanced plan at a special discounted price. This offer is exclusively available for Big Tree Tech customers to ensure you continue to enjoy the benefits of Obico without interruption.":"As a valued Big Tree Tech customer, once your included plan expires, you can upgrade to a more advanced plan at a special discounted price. This offer is exclusively available for Big Tree Tech customers to ensure you continue to enjoy the benefits of Obico without interruption.","Redeem Plan":"Redeem Plan","Upgrade to an Obico Pro Plan and get a 25% discount as a valued BTT customer!":"Upgrade to an Obico Pro Plan and get a 25% discount as a valued BTT customer!","Obico has partnered with Big Tree Tech to give you an exclusive discount on an Obico Pro Plan. Get instant access to AI failure detection, first layer AI, webcam streaming, a highly rated mobile app and more for your 3D printer.":"Obico has partnered with Big Tree Tech to give you an exclusive discount on an Obico Pro Plan. Get instant access to AI failure detection, first layer AI, webcam streaming, a highly rated mobile app and more for your 3D printer.","Choose Plan":"Choose Plan","What\'s Included with Your Pro Plan":"What\'s Included with Your Pro Plan","Webcam Streaming":"Webcam Streaming","Full Remote Access":"Full Remote Access","Mobile & Web App":"Mobile & Web App","Printer Management":"Printer Management","Compatible with Your Favorite Software":"Compatible with Your Favorite Software","Highly Rated Mobile App":"Highly Rated Mobile App","Available for iOS and Android":"Available for iOS and Android","Frequently Asked Questions":"Frequently Asked Questions","What happens when the three-month Pro Plan expires?":"What happens when the three-month Pro Plan expires?","When your three-month plan expires, you will have the change to upgrade to one of Obico’s Pro Plans at a special discounted rate. Learn more about the plan options":"When your three-month plan expires, you will have the change to upgrade to one of Obico’s Pro Plans at a special discounted rate. Learn more about the plan options","If you choose not to upgrade, your plan will be automatically reverted to an Obico Free Plan.":"If you choose not to upgrade, your plan will be automatically reverted to an Obico Free Plan.","Invalid coupon code. Please make sure the coupon code has not been used, and has not expired. If you believe you have a valid coupon code, please ":"Invalid coupon code. Please make sure the coupon code has not been used, and has not expired. If you believe you have a valid coupon code, please ","As a valued Mintion customer, once your included plan expires, you can upgrade to a more advanced plan at a special discounted price. This offer is exclusively available for Mintion customers to ensure you continue to enjoy the benefits of Obico without interruption.":"As a valued Mintion customer, once your included plan expires, you can upgrade to a more advanced plan at a special discounted price. This offer is exclusively available for Mintion customers to ensure you continue to enjoy the benefits of Obico without interruption.","Activate Your One Year Obico Pro Plan":"Activate Your One Year Obico Pro Plan","As a valued Mintion customer, you are eligible for an exclusive life-time Pro Plan discount. When you redeem your plan, you’ll be asked to enter your credit card so we can give you the exclusive 20% discount when your plan renews.":"As a valued Mintion customer, you are eligible for an exclusive life-time Pro Plan discount. When you redeem your plan, you’ll be asked to enter your credit card so we can give you the exclusive 20% discount when your plan renews.","If you don’t want your plan to renew, you can cancel the plan so that it will not renew at any time. ":"If you don’t want your plan to renew, you can cancel the plan so that it will not renew at any time. ","When your three-month plan expires, you will have the chance to upgrade to one of Obico’s Pro Plans at a special discounted rate. Learn more about the plan options":"When your three-month plan expires, you will have the chance to upgrade to one of Obico’s Pro Plans at a special discounted rate. Learn more about the plan options","I already paid for the Pro Plan. Why do I need to enter my credit card information again?":"I already paid for the Pro Plan. Why do I need to enter my credit card information again?","Your plan is fully covered for the first one year. After the first one year, the plan will renew with a special discount available exclusively for Mintion customers. You are free to cancel the plan at any time in the “Subscription” section of the Obico mobile or web app.":"Your plan is fully covered for the first one year. After the first one year, the plan will renew with a special discount available exclusively for Mintion customers. You are free to cancel the plan at any time in the “Subscription” section of the Obico mobile or web app.","Still have questions?":"Still have questions?","Contact":"Contact","{brandName} support.":"{{brandName}} support.","Oops! You already have an {brandName} Pro Plan...":"Oops! You already have an {{brandName}} Pro Plan...","Contact {brandName} support at":"Contact {{brandName}} support at","Activate Your {brandName} Pro Plan":"Activate Your {{brandName}} Pro Plan","As a valued Sovol customer, you are eligible for an exclusive Pro Plan discount. When you redeem your plan, you’ll be asked to enter your credit card so we can give you the exclusive 20% discount when your plan renews.":"As a valued Sovol customer, you are eligible for an exclusive Pro Plan discount. When you redeem your plan, you’ll be asked to enter your credit card so we can give you the exclusive 20% discount when your plan renews.","If you don’t want your plan to renew, you can cancel the plan so that it will not renew at any time.":"If you don’t want your plan to renew, you can cancel the plan so that it will not renew at any time.","Your plan is fully covered for the first year. After the first year, the plan will renew with a special discount available exclusively for Sovol customers. You are free to cancel the plan at any time in the “Subscription” section of the {brandname} mobile or web app.":"Your plan is fully covered for the first year. After the first year, the plan will renew with a special discount available exclusively for Sovol customers. You are free to cancel the plan at any time in the “Subscription” section of the {{brandname}} mobile or web app."," for ${month} / month (${hour} / AI Detection Hour). Billed ${year} annually.":" for ${{month}} / month (${{hour}} / AI Detection Hour). Billed ${{year}} annually."," for ${month} / month (${hour} / AI Detection Hour).":" for ${{month}} / month (${{hour}} / AI Detection Hour).","Calculate Plan Cost":"Calculate Plan Cost","Kingroon Connect Plans":"Kingroon Connect Plans","Free":"Free","Print occasionally.":"Print occasionally.","Unlimited Kingroon printers allowed":"Unlimited Kingroon printers allowed","Get Started":"Get Started","Basic webcam streaming":"Basic webcam streaming","100 {localizedDom} AI Detection Hours/month, 30s detection interval":"100 {localizedDom} AI Detection Hours/month, 30s detection interval","Basic":"Basic","300MB /mo tunnel data - Access Mainsail or Fluidd remotely":"300MB /mo tunnel data - Access Mainsail or Fluidd remotely","200MB total G-code cloud storage":"200MB total G-code cloud storage","Companion mobile app for {localizedDom} and {localizedDom2}":"Companion mobile app for {localizedDom} and {localizedDom2}","Android":"Android","iOS":"iOS","Remote printer access and control":"Remote printer access and control","Failure alerts and print status updates sent through push notification":"Failure alerts and print status updates sent through push notification","Community technical support":"Community technical support","Pro":"Pro","Print every day. 2+ printers.":"Print every day. 2+ printers.","$":"$","month":"month","(Billed {name} annually)":"(Billed {{name}} annually)","1st printer included":"1st printer included","2+ printers at $":"2+ printers at $","month / printer":"month / printer","View/Change Subscription":"View/Change Subscription","Full refund within 30 days if you are not happy.":"Full refund within 30 days if you are not happy.","Upgrade (30-Day Money Back Guarantee)":"Upgrade (30-Day Money Back Guarantee)","Start 1 month FREE trial":"Start 1 month FREE trial","Premium webcam streaming":"Premium webcam streaming","100 {localizedDom} AI Detection Hours per month, 10s detection interval":"100 {localizedDom} AI Detection Hours per month, 10s detection interval","Advanced":"Advanced","Unlimited tunnel data - Access Mainsail or fluidd remotely":"Unlimited tunnel data - Access Mainsail or fluidd remotely","5GB total G-Code cloud storage":"5GB total G-Code cloud storage","Email technical support":"Email technical support","Printer feed sharing with premium streaming quality":"Printer feed sharing with premium streaming quality","Cloud Plans":"Cloud Plans","Thinking about self-hosting {brandName} Server instead?":"Thinking about self-hosting {{brandName}} Server instead?","Check out self-hosting vs {brandName} Cloud.":"Check out self-hosting vs {{brandName}} Cloud.","Limited to 1 printer.":"Limited to 1 printer.","10 free AI Detection Hours/month included":"10 free AI Detection Hours/month included","300MB /mo tunnel data":"300MB /mo tunnel data","G-Code cloud storage up to 50MB per file, 1GB total":"G-Code cloud storage up to 50MB per file, 1GB total","Notifications via Email, mobile push notification, Telegram, and more.":"Notifications via Email, mobile push notification, Telegram, and more.","300MB /mo integration with your favorite 3rd-party mobile apps":"300MB /mo integration with your favorite 3rd-party mobile apps","Calculate cost":"Calculate cost","50 free AI Detection Hours/month included":"50 free AI Detection Hours/month included","Unlimited tunnel data":"Unlimited tunnel data","G-Code cloud storage up to 500MB per file, 50GB total":"G-Code cloud storage up to 500MB per file, 50GB total","Unlimited integration with your favorite 3rd-party mobile apps":"Unlimited integration with your favorite 3rd-party mobile apps","Failure alerts via SMS (text message)":"Failure alerts via SMS (text message)","AI Detection Hour Packs":"AI Detection Hour Packs","Need more AI Detection Hours? Add the right amount of AI Detection Hours without burning a hole on your wallet.":"Need more AI Detection Hours? Add the right amount of AI Detection Hours without burning a hole on your wallet.","Pre-paid Pack":"Pre-paid Pack","Turn on AI failure detection only for the prints.":"Turn on AI failure detection only for the prints.","Available to all plans.":"Available to all plans.","Pre-paid AI Detection Hours never expire.":"Pre-paid AI Detection Hours never expire.","One Time Purchase.":"One Time Purchase.","for":"for","Start 1 month FREE trial + 250 FREE AI Detection Hours":"Start 1 month FREE trial + 250 FREE AI Detection Hours","Purchase Selected AI Detection Hour Pack":"Purchase Selected AI Detection Hour Pack","Subscribe&Save Packs":"Subscribe&Save Packs","AI failure detection for all prints.":"AI failure detection for all prints.","Available only as add-on to the Pro plan.":"Available only as add-on to the Pro plan.","Subscribed AI Detection Hours roll over month to month.":"Subscribed AI Detection Hours roll over month to month.","Subscribed AI Detection Hours expire when subscription ends.":"Subscribed AI Detection Hours expire when subscription ends.","You can change AI Detection Hour Pack or remove it from your Pro plan any time you want.":"You can change AI Detection Hour Pack or remove it from your Pro plan any time you want.","Upgrade to Pro with selected AI Detection Hour Pack":"Upgrade to Pro with selected AI Detection Hour Pack","Calculate Cost >>>":"Calculate Cost >>>","The Spaghetti Gallery":"The Spaghetti Gallery","End of public time-lapse list.":"End of public time-lapse list.","Loading...":"Loading...","Your 30-Day {localizedDom} Free Trial Has Started!":"Your 30-Day {localizedDom} Free Trial Has Started!","Pro Plan":"Pro Plan","{trialDaysLeft} Days Left on Your {localizedDom} Free Trial!":"{trialDaysLeft} Days Left on Your {localizedDom} Free Trial!","Unlimited, 25 FPS Premium Webcam Streaming":"Unlimited, 25 FPS Premium Webcam Streaming","250 Hours Watched by AI for Failure Detection":"250 Hours Watched by AI for Failure Detection","G-Code Remote Upload and Printing":"G-Code Remote Upload and Printing","Link your 3D printer now so that you can fully enjoy the 30-Day Free Trial":"Link your 3D printer now so that you can fully enjoy the 30-Day Free Trial","Link Printer":"Link Printer","It\'s as easy as 1-2-3":"It\'s as easy as 1-2-3","Just Checking Out":"Just Checking Out","Not a whole lot you can see without your printer linked":"Not a whole lot you can see without your printer linked","Not ready to start yet? {localizedDom} to pause your free trial.":"Not ready to start yet? {localizedDom} to pause your free trial.","Email us":"Email us"}')},3476:function(e,t,i){},"366c":function(e,t,i){"use strict";i("cc1d")},3957:function(e,t,i){e.exports=i.p+"img/polymer.webp"},"39be":function(e,t,i){"use strict";i("f064")},"3ad7":function(e,t,i){},"3c33":function(e,t,i){"use strict";i.d(t,"a",(function(){return a})),i.d(t,"b",(function(){return r}));var n=i("6c44");const a=(e,t,i=null)=>{const a=null===i?e:`${e}_${i}`;var r=Object(n["a"])()?localStorage.getItem(a):null,s=r||t;try{return JSON.parse(s)}catch(o){return s}},r=(e,t,i=null)=>{if(Object(n["a"])()){const n=null===i?e:`${e}_${i}`;localStorage.setItem(n,t)}}},"3ee0":function(e,t,i){e.exports=i.p+"img/printoid.webp"},"3fa0":function(e,t,i){},"42db":function(e,t,i){"use strict";i("18bd")},"438a":function(e,t,i){"use strict";i("d95b")},"439d":function(e,t,i){},"43f9":function(e,t,i){"use strict";i("3fa0")},"459e":function(e,t,i){"use strict";i("742c")},"45c5":function(e,t,i){"use strict";i("6005")},"45e1":function(e,t,i){"use strict";i("7ad3")},4650:function(e,t,i){},"47bd":function(e,t,i){"use strict";i("2bcb")},"49b1":function(e,t,i){"use strict";i("559c")},"4b61":function(e,t,i){"use strict";i("6333")},"4de7":function(e,t,i){e.exports=i.p+"img/webpage-multiple.svg"},5062:function(e,t,i){},"521d":function(e,t,i){},"559c":function(e,t,i){},"56d7":function(e,t,i){"use strict";i.r(t);var n=i("a026"),a=i("8c4f"),r=i("5886"),s=i("3c33");const o=(e,t,i)=>{let a=document.createElement("div");const r=new n["default"]({render:i=>i(e,{props:t})}).$mount(a);return n["default"].swal({...i,customClass:{container:"dark-backdrop"},html:'
Placeholder
',onBeforeOpen:e=>{e.querySelector("#replace-here").replaceWith(r.$el)},onDestroy:()=>{r.$destroy(),a.remove()}})},l=(e,t,i)=>n["default"].swal({...i,customClass:{container:"dark-backdrop"},html:'
Placeholder
',onBeforeOpen:t=>{t.querySelector("#replace-here").replaceWith(e)}}),c=(e,t)=>{e.use(r["a"],t);const i=e.swal.mixin({title:"Are you sure?",showCancelButton:!0,confirmButtonText:"Yes",cancelButtonText:"No",customClass:{container:"dark-backdrop"}}),n=e.swal.mixin({toast:!0,position:"top-end",showConfirmButton:!1,timer:5e3}),a=e.swal.mixin({icon:"error",customClass:{container:"dark-backdrop error-alert"}}),c=e.swal.mixin({customClass:{container:"dark-backdrop"}}),d=(t,i)=>{if(!Object(s["a"])(i,!1)){const n={...t,position:"top-end",confirmButtonText:"Gotcha! Don't show this again."};return e.swal(n).then((function(e){e.value&&(Object(s["b"])(i,!0),console.log(e))}))}};e.prototype.$swal["openModalWithComponent"]=o,e.prototype.$swal["openModalWithElement"]=l,e.prototype.$swal["Confirm"]=i,e.prototype.$swal["Toast"]=n,e.prototype.$swal["DismissableToast"]=d,e.prototype.$swal["Reject"]=a,e.prototype.$swal["Prompt"]=c};var d={install:c},u=i("5f5b"),p=i("c0eb"),h=i("2ead"),m=i.n(h);n["default"].filter("floor",e=>Math.floor(e));const f=/(?:^|[-_/])(\w)/g,g="root",v="anonymous component",b=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^/]+?|)(\.[^./]*|))(?:[/]*)$/,y=e=>{const t=b.exec(e);return t?t.slice(1):[]},w=(e,t)=>{let i=y(e)[2];return t&&i.substr(-1*t.length)===t&&(i=i.substr(0,i.length-t.length)),i},_=e=>{if(!e)return v;if(e.$root===e)return g;if(!e.$options)return v;if(e.$options.name)return e.$options.name;if(e.$options._componentTag)return e.$options._componentTag;if(e.$options.__file){const t=e.$options.__file.replace(/^[a-zA-Z]:/,"").replace(/\\/g,"/"),i=w(t,".vue");return i.replace(f,(e,t)=>t?t.toUpperCase():"")}return v},C=(e,t,i,n,a,r)=>{let s=0;for(let o in t){if(s+=1,s>r)break;"object"==typeof t[o]?a>n&&C(e,t[o],i+"."+o,n+1,a,r):e[i+"."+o]=t[o]}},k=e=>{const t=e.config.errorHandler;e.config.errorHandler=(i,n,a)=>{if(window.Sentry){const e={};let t=n;if(n._original&&(t=n._original),t)try{e.componentName=_(t),C(e,JSON.parse(JSON.stringify(t.$options.propsData)),"props",0,2,10)}catch(r){console.log("Unable to extract metadata from Vue component.")}a&&(e.lifecycleHook=a),setTimeout(()=>{window.Sentry.getCurrentHub().withScope(t=>{t.setContext("vue",e),window.Sentry.getCurrentHub().captureException(i)})})}"function"===typeof t&&t.call(e,i,n,a),e.util&&e.util.warn(`Error in ${a}: "${i.toString()}"`,n),console.error(i)}};var P=k,S=i("0fb5"),D=i("fc02"),x=i.n(D),T=i("eaf3"),I=i("67b0"),F=function(){var e=this,t=e._self._c;return t("div",{staticClass:"wrapper"},[t("b-spinner")],1)},A=[],$={name:"LoadingPlaceholder"},O=$,N=(i("0c5c"),i("2877")),L=Object(N["a"])(O,F,A,!1,null,"26c9d5fe",null),M=L.exports,E=function(){var e=this,t=e._self._c;return t("svg",e._b({},"svg",e.$attrs,!1),[t("use",{attrs:{"xlink:href":e.syndicateAwareHref}})])},R=[],z={name:"SyndicateAwareSVG",props:["href"],computed:{syndicateAwareHref(){return"base"===this.$syndicate?this.href:`#${this.$syndicate}-${this.href.slice(1)}`}}},B=z,U=Object(N["a"])(B,E,R,!1,null,null,null),j=U.exports,W=i("c1df"),H=i.n(W),V=i("be33"),Y=i("ad3d"),G=i("0692"),K=i("d2a3"),q=i.n(K),J=i("11ca"),Z=i("4ab5"),Q=i("1c9d");const X={base:{brandName:"Obico",docRoot:"https://www.obico.io/docs",appRoot:"https://app.obico.io"},yumi:{brandName:"Yumi",docRoot:"https://www.obico.io/docs",appRoot:"https://app.obico.io"},mintion:{brandName:"Mintion",docRoot:"https://www.obico.io/docs",appRoot:"https://app.obico.io"},kingroon:{brandName:"Kingroon",docRoot:"https://docs.kingroon.com/docs",appRoot:"https://app.kingroon.com"}};n["default"].prototype.$syndicate=Object(Q["e"])().name,n["default"].prototype.$syndicateText=X[Object(Q["e"])().name||"base"]||X.base;var ee=(e,t)=>{Object(S["b"])(),P(n["default"]),n["default"].use(a["a"]),n["default"].use(u["a"]),n["default"].use(d),n["default"].use(p["a"]),n["default"].use(m.a),n["default"].use(x.a),n["default"].use(T["a"]),n["default"].use(I["a"]),n["default"].use(q.a,{i18next:G["a"]}),n["default"].mixin({methods:{errorDialog:function(e,t){console.error("logError",e),t&&this.$swal.Reject.fire({title:""+this.$i18next.t("Error"),html:`

\n ${t}.\n ${this.$i18next.t("Get help from")} ${this.$i18next.t("the {brandName} for Klipper support forum",{brandName:this.$syndicateText.brandName})} ${this.$i18next.t("or")} ${this.$i18next.t("the {brandName} general support forum",{brandName:this.$syndicateText.brandName})} ${this.$i18next.t("if this error persists.")}\n

`,showConfirmButton:!1,showCancelButton:!0,cancelButtonText:"Close"})},getDocUrl(e){return this.$syndicateText.docRoot+e},getAppUrl(e){return e?this.$syndicateText.appRoot+e:this.$syndicateText.appRoot}}}),n["default"].component("LoadingPlaceholder",M),n["default"].component("SyndicateAwareSVG",j),V["c"].add(J["r"],J["k"],J["b"],J["c"],J["n"],J["h"],J["a"],J["j"],Z["a"],J["p"],J["f"],J["g"],J["i"],J["o"],J["l"],J["m"],J["e"],J["q"],J["d"]),n["default"].component("FontAwesomeIcon",Y["a"]),document.getElementById("app")&&new n["default"]({router:e,components:t}).$mount("#app"),H.a.updateLocale("en",{week:{dow:0}})},te=(i("13d5"),{email:{displayName:""+G["a"].t("Email"),componentName:"EmailPlugin"},twilio:{displayName:""+G["a"].t("SMS"),componentName:"TwilioPlugin"},pushbullet:{displayName:""+G["a"].t("Pushbullet"),componentName:"PushbulletPlugin"},discord:{displayName:""+G["a"].t("Discord"),componentName:"DiscordPlugin"},telegram:{displayName:""+G["a"].t("Telegram"),componentName:"TelegramPlugin"},pushover:{displayName:""+G["a"].t("Pushover"),componentName:"PushoverPlugin"},slack:{displayName:""+G["a"].t("Slack"),componentName:"SlackPlugin"},webhook:{displayName:""+G["a"].t("Webhook"),componentName:"WebhookPlugin"}});const ie={GeneralPreferences:"/user_preferences/general/",ThemePreferences:"/user_preferences/personalization/",ProfilePreferences:"/user_preferences/profile/",AuthorizedApps:"/user_preferences/authorized_apps/",GeneralNotifications:"/user_preferences/general_notifications/",PushNotifications:"/user_preferences/mobile_push_notifications/"},ne=Object.keys(te).reduce((e,t)=>Object.assign(e,{[t]:`/user_preferences/notification_${t}/`}),{});var ae={...ie,...ne},re=function(){var e=this,t=e._self._c;return t("b-container",[t("b-row",{staticClass:"justify-content-center"},[e.user?t("b-col",{staticClass:"mt-3",attrs:{lg:"8"}},[0===e.printersToShow.length?t("div",{staticClass:"wizard-container full-on-mobile"},[t("b-container",[t("b-row",[t("div",{staticClass:"col-sm-12 col-md-8 offset-md-2 col-lg-6 offset-lg-3"},[t("svg",{staticClass:"logo-img",attrs:{viewBox:"0 0 1965 240"}},[t("use",{attrs:{href:"#svg-logo-compact"}})])])]),t("b-row",[t("h1",{staticClass:"mx-auto"},[e._v(e._s(e.$t("Welcome To"))+" "+e._s(e.$syndicateText.brandName))])]),t("b-row",[t("b-col",[t("hr")])],1),e.isEnt&&e.trialDaysLeft>0?t("b-row",[t("b-col",[e.trialDaysLeft>=29?t("h3",{staticClass:"py-3"},[t("i18next",{attrs:{translation:e.$t("Your 30-Day {localizedDom} Free Trial Has Started!")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("a",{staticClass:"link",attrs:{target:"_blank",href:e.getDocUrl("/user-guides/upgrade-to-pro/")}},[e._v(e._s(e.$t("Pro Plan")))])]},proxy:!0}],null,!1,2641834975)})],1):t("h3",{staticClass:"py-3"},[t("i18next",{attrs:{translation:e.$t("{trialDaysLeft} Days Left on Your {localizedDom} Free Trial!")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("a",{staticClass:"link",attrs:{target:"_blank",href:e.getDocUrl("/user-guides/upgrade-to-pro/")}},[e._v(e._s(e.$t("Pro Plan"))+" ")])]},proxy:!0},{key:"trialDaysLeft",fn:function(){return[e._v(" "+e._s(e.trialDaysLeft)+" ")]},proxy:!0}],null,!1,1171636685)})],1),t("div",{staticClass:"pb-1"},[t("i",{staticClass:"feature-check fas fa-check-circle"}),t("span",{staticClass:"feature-text"},[e._v(e._s(e.$t("Unlimited Secure Tunnel to your {platformDisplayName}",{platformDisplayName:e.platformDisplayName})))])]),t("div",{staticClass:"pb-1"},[t("i",{staticClass:"feature-check fas fa-check-circle"}),t("span",{staticClass:"feature-text"},[e._v(e._s(e.$t("Premium 25 FPS Webcam Streaming")))])]),t("div",{staticClass:"pb-1"},[t("i",{staticClass:"feature-check fas fa-check-circle"}),t("span",{staticClass:"feature-text"},[e._v(e._s(e.$t("250 AI Failure Detection Hours")))])]),t("div",{staticClass:"pb-1"},[t("i",{staticClass:"feature-check fas fa-check-circle"}),t("span",{staticClass:"feature-text"},[e._v(e._s(e.$t("G-Code Remote Upload and Printing")))])]),t("div",{staticClass:"lead py-4"},[e._v(e._s(e.$t("{platformDisplayName} has not been linked to your {brandName} account.",{platformDisplayName:e.platformDisplayName,brandName:e.$syndicateText.brandName})))]),t("div",{staticClass:"d-flex flex-column align-center justify-content-center"},[t("div",[t("a",{staticClass:"btn btn-primary btn-block mx-auto btn-lg",attrs:{href:e.wizardUrl}},[e._v(e._s(e.$t("Link {platformDisplayName} Now",{platformDisplayName:e.platformDisplayName})))])]),t("div",[t("div",{staticClass:"text-muted mx-auto text-center font-weight-light"},[e._v(" "+e._s(e.$t("It's as easy as 1-2-3."))+" ")])])])])],1):e._e(),t("div",{staticClass:"footer-note small"},[t("i18next",{attrs:{translation:e.$t("Not ready to start yet? {localizedDom} to pause your free trial.")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("a",{attrs:{href:"mailto:support@obico.io?subject=Please%20pause%20my%20free%20trial"}},[e._v(e._s(e.$t("Email us")))])]},proxy:!0}],null,!1,51292438)})],1)],1)],1):t("div",[t("div",{staticClass:"text-center"},[t("svg",{attrs:{width:"100",height:"30"}},[t("use",{attrs:{href:"#svg-logo-full"}})])]),e.authorized?t("div",{staticClass:"authorization-successful"},[t("h4",{staticClass:"title"},[e._v(e._s(e.$t("Authorization Successful!")))]),t("p",[e._v(e._s(e.$t("You can close this page")))])]):t("div",[t("div",[t("div",{staticClass:"lead text-center mt-3 mb-5"},[e._v(e._s(e.$t("Tunnel Access Authorization")))]),t("h4",{staticClass:"my-4"},[t("span",{staticClass:"font-weight-bold"},[e._v(e._s(e.appDisplayName))]),e._v(" "+e._s(e.$t("is requesting to access you {platformDisplayName} Tunnel.",{platformDisplayName:e.platformDisplayName}))+" ")]),t("p",{staticClass:"text-muted"},[t("a",{attrs:{href:e.getDocUrl("/user-guides/octoprint-tunneling/"),target:"_blank"}},[e._v(e._s(e.platformDisplayName)+" "+e._s(e.$t("Tunnel")))]),t("i18next",{attrs:{translation:e.$t("is a secure way provided by {localizedDom} to remotely access your {platformDisplayName}. With the {platformDisplayName} Tunnel, you can use {appDisplayName} to access your {platformDisplayName} from anywhere.")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("a",{attrs:{href:"https://www.obico.io/",target:"_blank"}},[e._v(e._s(e.$syndicateText.brandName))])]},proxy:!0},{key:"platformDisplayName",fn:function(){return[e._v(" "+e._s(e.platformDisplayName)+" ")]},proxy:!0},{key:"appDisplayName",fn:function(){return[e._v(" "+e._s(e.appDisplayName)+" ")]},proxy:!0}],null,!1,145365998)})],1),e.user.is_pro?e._e():t("b-alert",{staticClass:"my-3",attrs:{variant:"warning",dismissible:"",show:""}},[t("div",[t("i",{staticClass:"fas fa-exclamation-triangle"}),t("i18next",{attrs:{translation:e.$t("Tunnel usage of a free account is {localizedDom} to enjoy unlimited tunnel usage.")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("a",{attrs:{href:e.getDocUrl("/user-guides/octoprint-tunneling/#why-is-the-limit-on-free-account-only-100mb"),target:"_blank"}},[e._v(e._s(e.$t("capped at 300MB per month")))]),e._v(". "+e._s(e.$t("You can"))+" "),t("a",{attrs:{href:e.getAppUrl("/ent_pub/pricing/"),target:"_blank"}},[e._v(e._s(e.$t("upgrade to the {brandName} app Pro plan for 1 Starbucks a month",{brandName:e.$syndicateText.brandName})))])]},proxy:!0}],null,!1,2385482320)})],1)]),e.user.is_pro&&e.trialDaysLeft>0?t("b-alert",{staticClass:"my-3",attrs:{variant:"warning",dismissible:"",show:""}},[t("div",[t("i",{staticClass:"fas fa-exclamation-triangle"}),t("i18next",{attrs:{translation:e.$t("After the Free trial expires, tunnel data usage will be {localizedDom} to continue enjoying unlimited tunnel usage.")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("a",{attrs:{href:e.getDocUrl("/user-guides/octoprint-tunneling/#why-is-the-limit-on-free-account-only-100mb"),target:"_blank"}},[e._v(e._s(e.$t("capped at 300MB per month")))]),e._v(". "+e._s(e.$t("You can"))+" "),t("a",{attrs:{href:e.getAppUrl("/ent_pub/pricing/"),target:"_blank"}},[e._v(e._s(e.$t("upgrade to the {brandName} app Pro plan for 1 Starbucks a month",{brandName:e.$syndicateText.brandName})))])]},proxy:!0}],null,!1,2385482320)})],1)]):e._e(),t("div",{staticClass:"mt-5"},[t("p",{staticClass:"lead"},[t("i18next",{attrs:{translation:e.$t("Tunnel access by {localizedDom} (make sure you trust it)")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("span",{staticClass:"font-weight-bold"},[e._v(e._s(e.appDisplayName))])]},proxy:!0}],null,!1,460061086)})],1),0===e.printersToShow.length?t("h5",[e._v(e._s(e.$t("You have 0 active printers")))]):1===e.printersToShow.length?t("h5",{staticClass:"font-weight-bold"},[e._v(" "+e._s(e.printersToShow[0].name)+" ")]):e.printersToShow.length>1?t("select",{directives:[{name:"model",rawName:"v-model",value:e.printerToAuthorize,expression:"printerToAuthorize"}],staticClass:"custom-select",on:{change:function(t){var i=Array.prototype.filter.call(t.target.options,(function(e){return e.selected})).map((function(e){var t="_value"in e?e._value:e.value;return t}));e.printerToAuthorize=t.target.multiple?i:i[0]}}},[t("option",{attrs:{selected:"",disabled:""},domProps:{value:null}},[e._v(e._s(e.$t("Please select a printer")))]),e._l(e.printersToShow,(function(i){return t("option",{key:i.id,domProps:{value:i.id}},[e._v(" "+e._s(i.name)+" ")])}))],2):e._e(),e.printersToShow.length?t("div",{staticClass:"d-flex mt-4 mb-3"},[t("button",{staticClass:"btn btn-primary",staticStyle:{flex:"1"},attrs:{disabled:!e.printerToAuthorize||e.performingAuthRequest},on:{click:e.authorize}},[e.performingAuthRequest?t("b-spinner",{attrs:{small:"",label:"Loading..."}}):t("span",[e._v(e._s(e.$t("Authorize")))])],1),t("a",{staticClass:"btn btn-outline-secondary ml-2",staticStyle:{flex:"1"},attrs:{href:"/user_preferences/authorized_apps"}},[e._v(e._s(e.$t("Manage Apps")))])]):e._e()])],1),t("div",{staticClass:"mt-4"},[t("p",{staticClass:"text-muted small mb-1"},[e._v(e._s(e.$t("Security notes"))+":")]),t("ul",{staticClass:"text-muted small pl-4"},[t("li",[e._v(" "+e._s(e.$t("The app can only access the tunnel, not your {brandName} account info such as your email address.",{brandName:e.$syndicateText.brandName}))+" ")]),t("li",[e._v(" "+e._s(e.$t("The access remains valid until explicitly revoked. You can revoke the access by going to Preferences -> Authorized Apps."))+" ")])])])])]),t("div",{staticClass:"text-center pt-3 w-100"},[t("a",{staticClass:"btn btn-secondary",attrs:{href:e.logoutUrl}},[e._v(e._s(e.$t("Log Out")))])])]):t("b-col",{staticClass:"mt-5"},[t("div",[t("b-container",[t("div",{staticClass:"d-flex justify-content-center align-items-center"},[t("img",{staticClass:"logo-icon",attrs:{src:e.appLogo}}),t("h3",[e._v("⇄")]),t("svg",{staticClass:"logo-icon obico"},[t("use",{attrs:{href:"#svg-logo-compact"}})]),t("h3",[e._v("⇄")]),t("img",{staticClass:"logo-icon",attrs:{src:e.platformLogo}})]),t("div",{staticClass:"my-4"},[t("div",{staticClass:"mx-auto text-center"},[t("h4",[e._v(e._s(e.$t("Free {platformDisplayName} Tunnel",{platformDisplayName:e.platformDisplayName})))]),t("div",{staticClass:"lead"},[e._v(e._s(e.$t("Powered by {brandName}",{brandName:e.$syndicateText.brandName})))])])]),t("div",{staticClass:"account-details"},[t("p",[e._v(" "+e._s(e.$t("With the Free {platformDisplayName} Tunnel by {brandName}, you can now use {appDisplayName} to",{platformDisplayName:e.platformDisplayName,brandName:e.$syndicateText.brandName,appDisplayName:e.appDisplayName}))+" "),t("a",{attrs:{href:e.getDocUrl("/user-guides/octoprint-tunneling/#why-is-the-limit-on-free-account-only-100mb"),target:"_blank"}},[e._v(" "+e._s(e.$t("securely control and monitor your printer from anywhere")))])]),t("ul",{staticClass:"text-muted"},[t("li",[e._v(e._s(e.$t("Unlimited realtime webcam at 0.1FPS.")))]),t("li",[e._v(e._s(e.$t("300MB monthly tunnel data cap (excluding webcam streaming).")))]),t("li",[e._v(e._s(e.$t("10 hours/mo AI failure detection.")))])]),t("div",[e._v(" 🔥🔥🔥 "),t("i18next",{attrs:{translation:e.$t("Upgrade to {brandName} Pro Account ({localizedDom}) to get premium features")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("a",{attrs:{href:e.getAppUrl("/ent_pub/pricing/"),target:"_blank"}},[e._v(e._s(e.$t("from $4/mo")))])]},proxy:!0},{key:"brandName",fn:function(){return[e._v(" "+e._s(e.$syndicateText.brandName)+" ")]},proxy:!0}])})],1),t("ul",[t("li",[e._v("📷"+e._s(e.$t("Unlimited realtime webcam streaming.")))]),t("li",[e._v("📶 "+e._s(e.$t("Unlimited tunnel data usage.")))]),t("li",[e._v("🤖 "+e._s(e.$t("50 hours/mo AI failure detection.")))]),t("li",[t("a",{attrs:{href:e.getAppUrl("/ent_pub/pricing/"),target:"_blank"}},[e._v(e._s(e.$t("And much more...")))])])])]),t("div",[t("div",{staticClass:"my-5 w-100"},[t("a",{staticClass:"btn btn-primary btn-block",attrs:{href:e.loginUrl}},[e._v(e._s(e.$t("SIGN IN ")))]),t("div",{staticClass:"text-center pt-3 w-100"},[t("div",{staticClass:"font-weight-light text-muted"},[e._v(e._s(e.$t("- OR -")))]),t("a",{staticClass:"btn",attrs:{href:e.signupUrl}},[e._v(e._s(e.$t("SIGN UP")))])])])])])],1)])],1)],1)},se=[],oe=(i("5494"),i("14d9"),i("cee4")),le=i("c7f6"),ce=i("9b02"),de=i.n(ce),ue=i("49d5"),pe=i.n(ue),he=i("0e49"),me=i.n(he);const fe=e=>{const t=Math.round(e||0),i=ge(t);if(0!==i.days){const e=i.hours+Math.round(i.minutes/60);return 24===e?i.days+1+"d 0h":`${i.days}d ${e}h`}if(0!==i.hours){if(60===i.minutes){const e=i.hours+1;return 24===e?"1d 0h":i.hours+1+"h 0m"}return`${i.hours}h ${i.minutes}m`}return i.minutes+"m"},ge=e=>{const t=H.a.duration(e||0,"seconds"),i=Math.floor(t.asDays()),n=t.hours(),a=t.minutes()+Math.round(t.seconds()/60);return{days:i,hours:n,minutes:a}},ve=e=>{const t=(e||0)/1e3,i=Math.round(100*t)/100;return i+"m"},be=(e,t="MMM D, h:mm a")=>{if(!e)return"-";let i=new Date,n=new Date(i.setSeconds(i.getSeconds()+e));return H()(n).format(t)},ye=[{name:"estimated_time",faIcon:"fas fa-clock",title:""+G["a"].t("Print duration estimate"),formatter:fe},{name:"filament_total",faIcon:"fas fa-ruler-horizontal",title:""+G["a"].t("Filament usage estimate"),formatter:ve},{name:"first_layer_bed_temp",svgIcon:"bed-temp",title:""+G["a"].t("First layer bed temperature"),formatter:e=>e+"°C"},{name:"first_layer_extr_temp",svgIcon:"extruder",title:""+G["a"].t("First layer extruder temperature"),formatter:e=>e+"°C"},{name:"first_layer_height",faIcon:"fas fa-layer-group",title:""+G["a"].t("First layer height"),formatter:e=>e+"mm"},{name:"layer_height",faIcon:"fas fa-layer-group",title:""+G["a"].t("Layer height"),formatter:e=>e+"mm"},{name:"object_height",faIcon:"fas fa-ruler-vertical",title:""+G["a"].t("Object height"),formatter:e=>Math.round(e)+"mm"},{name:"filament_type",svgIcon:"filament",title:""+G["a"].t("Filament type"),formatter:e=>e},{name:"filament_name",svgIcon:"filament",title:""+G["a"].t("Filament name"),formatter:e=>e},{name:"slicer",svgIcon:"slicer-program",title:""+G["a"].t("Slicer"),formatter:e=>e},{name:"slicer_version",svgIcon:"slicer-version",title:""+G["a"].t("Slicer version"),formatter:e=>e}];var we=i("6c44");const _e={"G-Code Downloading":{fromStates:["Operational"]},Starting:{fromStates:["Operational"]},Pausing:{fromStates:["Printing"]},Resuming:{fromStates:["Paused"]},Cancelling:{fromStates:["Printing","Paused"]}},Ce=(e,t)=>{const i=e.id;if(!Object(we["a"])())return;const n=`printer-${i}-state-transitioning`;localStorage.setItem(n+"-name",t);const a=new Date,r=e.isAgentVersionGte("2.3.7","1.4.2")?15:300,s=new Date(a.getTime()+1e3*r);localStorage.setItem(n+"-timeout",s)},ke=(e,t)=>{var i;const n=e.id;if(!Object(we["a"])())return t;if(!t)return Pe(n),null;const a=`printer-${n}-state-transitioning`,r=localStorage.getItem(a+"-name"),s=localStorage.getItem(a+"-timeout"),o=null===(i=_e[r])||void 0===i?void 0:i.fromStates;let l=t;return r&&s&&o&&(o.includes(t)?new Date>new Date(s)?(Pe(n),Se(e,r,t)):l=r:Pe(n)),l},Pe=e=>{Object(we["a"])()&&(localStorage.removeItem("printer-"+e+"-state-transitioning-name"),localStorage.removeItem("printer-"+e+"-state-transitioning-timeout"))},Se=(e,t,i)=>{var a;null===(a=window.Sentry)||void 0===a||a.captureMessage(`Transient state timeout: "${t}" -> "${i}" (printer ID: ${e.id})`),n["default"].swal.fire({icon:"error",title:""+G["a"].t("Printer not responding"),html:`${G["a"].t("The printer doesn't seem to be responding. Is it powered on and connected to the Internet? Please")} ${G["a"].t("report the problem to us")} ${G["a"].t("if this error repeats multiple times.")}`}).then(()=>{window.location.reload()})},De=e=>e?H()(e):null,xe={Printing:{key:"printing",title:"Printing...",isActive:!0},Paused:{key:"paused",title:"Paused",isActive:!0},Finished:{key:"finished",title:"Finished",isActive:!1},Cancelled:{key:"cancelled",title:"Cancelled",isActive:!1}},Te=e=>{if(e.started_at=De(e.started_at),e.uploaded_at=De(e.uploaded_at),e.finished_at=De(e.finished_at),e.cancelled_at=De(e.cancelled_at),e.ended_at=De(e.ended_at),e.ended_at){const t=H.a.duration(e.ended_at.diff(e.started_at));e.duration=fe(t.asSeconds())}return e.has_alerts=Boolean(e.alerted_at),e.printShotFeedbackEligible=e.printshotfeedback_set&&e.printshotfeedback_set.length>0,e.status=e.ended_at?e.cancelled_at?xe.Cancelled:xe.Finished:e.paused_at?xe.Paused:xe.Printing,e.printer&&(e.printer=Ae(e.printer)),e.g_code_file&&(e.g_code_file=Ie(e.g_code_file)),e},Ie=e=>{if(e){if(e.created_at=De(e.created_at),e.updated_at=De(e.updated_at),e.deleted=De(e.deleted),e.filesize=pe()(e.num_bytes),e.print_set&&(e.print_set.map(e=>Te(e)),e.print_set.sort((e,t)=>e.ended_at||t.ended_at?e.ended_at?t.ended_at?e.ended_at>t.ended_at?-1:e.ended_att.started_at?-1:e.started_ate.cancelled_at).length,e.successPrints=e.print_set.filter(e=>e.finished_at).length,e.totalPrints=e.print_set.length),e.metadata={},e.metadata_json)e.metadata=JSON.parse(e.metadata_json);else if(e.analysis){var t;let i;if(e.metadata.object_height=null===(t=e.analysis.dimensions)||void 0===t?void 0:t.height,e.metadata.estimated_time=e.analysis.estimatedPrintTime,e.analysis.filament){const t=Object.keys(e.analysis.filament);t.length&&(i=0,t.forEach(t=>{i+=e.analysis.filament[t].length}))}e.metadata.filament_total=i}else ye.forEach(t=>{e[t.name]&&(e.metadata[t.name]=e[t.name])});return Object.keys(e.metadata).forEach(t=>{null!==e.metadata[t]&&void 0!==e.metadata[t]||delete e.metadata[t]}),e.getBigThumbnailUrl=()=>e.thumbnail1_url||e.thumbnail2_url||e.thumbnail3_url,e.getSmallThumbnailUrl=()=>e.thumbnail3_url||e.thumbnail2_url||e.thumbnail1_url,e}},Fe=e=>(e.created_at=De(e.created_at),e.updated_at=De(e.updated_at),e.numItems=e.g_code_file_count+e.g_code_folder_count,e),Ae=(e,t)=>{const i={createdAt:function(){return De(this.created_at)},progressCompletion:function(){return de()(this,"status.progress.completion",0)},isOffline:function(){return null===de()(this,"status",null)},isPaused:function(){return de()(this,"status.state.flags.paused",!1)},isDisconnected:function(){return de()(this,"status.state.flags.closedOrError",!0)},isActive:function(){const e=de()(this,"status.state.flags");return Boolean(e&&e.operational&&(!e.ready||e.paused))||this.inTransientState()},inTransientState:function(){const e=this.calculatedState();return"Downloading G-Code"===e||e&&e.endsWith("ing")&&"Printing"!==e},calculatedState:function(){var e,t;return ke(this,null===(e=this.status)||void 0===e||null===(t=e.state)||void 0===t?void 0:t.text)},calculatedStateColor:function(){const e=this.calculatedState(),t={secondary:["Offline",void 0,null],success:["Operational"],neutral:["Printing","G-Code Downloading","Downloading G-Code","Starting"],warning:["Paused","Pausing","Resuming"],danger:["Cancelling"]};for(const[i,n]of Object.entries(t))if(n.includes(e))return i;return"neutral"},setTransientState:function(e){Ce(this,e),this.status&&(this.status={...this.status})},inUserInteractionRequired:function(){return de()(this,"status.user_interaction_required",!1)},hasError:function(){return de()(this,"status.state.flags.error")||de()(this,"status.state.text","").toLowerCase().includes("error")},isAgentMoonraker:function(){return"moonraker_obico"===de()(this,"agent_name","")},agentDisplayName:function(){return this.isAgentMoonraker()?"Klipper":"OctoPrint"},isAgentVersionGte:function(e,t){return"octoprint_obico"===de()(this,"settings.agent_name","")&&me()(de()(this,"settings.agent_version","0.0.0"),e)||"moonraker_obico"===de()(this,"settings.agent_name","")&&me()(de()(this,"settings.agent_version","0.0.0"),t)},alertUnacknowledged:function(){return de()(this,"current_print.alerted_at")&&H()(de()(this,"current_print.alerted_at")).isAfter(H()(de()(this,"current_print.alert_acknowledged_at")||0))},isPrintable:function(){return!this.isOffline()&&!this.isDisconnected()&&!this.isActive()&&!this.archived_at},printabilityText:function(){return this.isPrintable()?"Ready":"Unavailable"}};return t?(de()(t,"status._ts",-1)>de()(e,"status._ts",de()(t,"status._ts",0))&&delete e.status,{...t,...e,...i}):{...e,...i}},$e=e=>(e.created_at=De(e.created_at),e);var Oe=i("222b"),Ne=i.n(Oe),Le=i("ca14"),Me=i.n(Le),Ee=i("3957"),Re=i.n(Ee),ze=i("3ee0"),Be=i.n(ze),Ue=i("d61a"),je=i.n(Ue),We=i("d1d5"),He=i.n(We),Ve=i("2e7f"),Ye=i.n(Ve),Ge=i("886f"),Ke=i.n(Ge),qe={name:"NewOctoPrintTunnelPage",components:{},data(){return{user:null,printers:[],printerId:null,printerToAuthorize:null,performingAuthRequest:!1,authorized:!1}},computed:{printersToShow(){return this.printerId?this.printers.filter(e=>e.id==this.printerId):this.printers},loginUrl(){return"/accounts/login/?hide_navbar=true&next="+encodeURIComponent(window.location.pathname+window.location.search)},logoutUrl(){return"/accounts/logout/?hide_navbar=true&next="+encodeURIComponent(window.location.pathname+window.location.search)},signupUrl(){return"/accounts/signup/?hide_navbar=true&next="+encodeURIComponent(window.location.pathname+window.location.search)},wizardUrl(){return"/printers/wizard/?redirectToTunnelCreation="+encodeURIComponent(window.location.pathname+window.location.search)},appName(){return new URLSearchParams(window.location.search).get("app")||"Unknown App"},platform(){return new URLSearchParams(window.location.search).get("platform")},trialDaysLeft(){var e,t;return"pro-trial"!==(null===(e=this.user)||void 0===e||null===(t=e.subscription)||void 0===t?void 0:t.plan_id)?-1:H()(this.user.subscription.expired_at).diff(H()(),"days")+1},appLogo(){switch(this.appName.toLowerCase()){case"octopod":return Ne.a;case"printoid":return Be.a;case"polymer":return Re.a;case"octoapp":return Me.a;case"mobileraker-ios":return je.a;case"mobileraker-android":return je.a;default:return He.a}},appDisplayName(){return this.appName.toLowerCase().includes("mobileraker")?"Mobileraker":this.appName},isKlipper(){if(this.platform){if("klipper"===this.platform.toLowerCase())return!0}else if(this.appName.toLowerCase().includes("mobileraker"))return!0;return!1},platformLogo(){return this.isKlipper?Ke.a:Ye.a},platformDisplayName(){return this.isKlipper?"Klipper":"OctoPrint"}},created(){this.user=Object(Q["f"])();const{IS_ENT:e}=Object(Q["d"])();this.isEnt=!!e,this.printerId=new URLSearchParams(window.location.search).get("printer_id"),this.user&&this.fetchPrinters()},methods:{fetchPrinters(){return oe["a"].get(le["a"].printers()).then(e=>{e.data.forEach(e=>{this.printers.push(Ae(e))}),1==this.printersToShow.length&&(this.printerToAuthorize=this.printersToShow[0].id)})},authorize(){this.printersToShow.length&&(this.performingAuthRequest=!0,oe["a"].post(le["a"].tunnels(),{app_name:this.appName,target_printer_id:this.printerToAuthorize||this.printersToShow[0].id}).then(e=>{this.authorized=!0;const t=e.data.tunnel_endpoint,i=new URLSearchParams(window.location.search).get("success_redirect_url")||"/tunnels/succeeded/";window.location.replace(`${i}?tunnel_endpoint=${t}`)}).catch(e=>{this.performingAuthRequest=!1,this.errorDialog(e)}))}}},Je=qe,Ze=(i("94f0"),Object(N["a"])(Je,re,se,!1,null,"0e2f9398",null)),Qe=Ze.exports,Xe=function(){var e=this,t=e._self._c;return t("div",[!e.isPro&&e.usageFetched?t("div",{staticClass:"floating-panel"},[e.showDetails?t("div",{on:{click:function(t){e.showDetails=!1},mouseover:function(t){e.showDetails=!0},mouseleave:function(t){e.showDetails=!1}}},[t("div",{staticClass:"text-muted"},[t("i18next",{attrs:{translation:e.$t("Monthly data usage ({localizedDom})")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("a",{attrs:{href:e.getDocUrl("/user-guides/octoprint-tunneling/#is-octoprint-tunneling-free-to-all-users"),target:"_blank"}},[e._v(e._s(e.$t("Resets in {daysUntilReset} days",{daysUntilReset:e.daysUntilReset})))])]},proxy:!0}],null,!1,1207903965)})],1),t("div",{class:e.usageClass},[e._v(e._s(e.$t("Used {usageMTD} of {humanizedUsageCap}.",{usageMTD:e.usageMTD,humanizedUsageCap:e.humanizedUsageCap})))]),e.overage?t("div",[e._v(" "+e._s(e.$t("Your month-to-date tunnel data usage is over the Free plan limit."))+" "),t("a",{staticClass:"btn btn-sm btn-primary",attrs:{type:"button",href:"/ent_pub/pricing/"}},[e._v(e._s(e.$t("Get Unlimited Tunnel Data")))])]):e._e()]):t("div",{class:e.usageClass,on:{click:function(t){e.showDetails=!0},mouseover:function(t){e.showDetails=!0},mouseleave:function(t){e.showDetails=!1}}},[e._v(" "+e._s(e.percentage)+"% ")])]):e._e(),t("div",[e.printerId?t("iframe",{staticClass:"tunnel-iframe",attrs:{src:e.iframeUrl()+"#temp"}}):e._e()])])},et=[],tt=i("6625"),it=i.n(tt),nt={name:"OctoPrintTunnelPage",components:{},props:{},data:function(){return{bytesMTD:null,usageCap:null,usageFetched:!1,isPro:!0,printerId:null,showDetails:!1}},computed:{usageClass(){return{"text-success":this.bytesMTD<.8*this.usageCap,"text-warning":this.bytesMTD>=.8*this.usageCap&&this.bytesMTD=this.usageCap}},usageMTD(){return pe()(this.bytesMTD)},humanizedUsageCap(){return pe()(this.usageCap)},overage(){return this.bytesMTD>=this.usageCap},percentage(){return Math.round(this.bytesMTD/this.usageCap*100)},daysUntilReset(){const e=H()().endOf("month");return e.diff(H()(),"days")+1}},created(){this.isPro=Object(Q["f"])().is_pro,this.printerId=it()(window.location.pathname,"/").slice(-2,-1).pop()},mounted(){const e=Object(we["a"])()?localStorage.getItem("skip-tunneling-warning"):null;"yes"!==e&&(this.$swal.Prompt.fire({html:`\n

\n \n \n \n ${this.$i18next.t("OctoPrint/Klipper Secure Tunnel")}\n

\n
\n ${this.$i18next.t("It may take long time for OctoPrint/Mainsail/Fluidd page to load as it is securely tunneled via the {brandName} app server.",{brandName:this.$syndicateText.brandName})}\n
\n \n `,input:"checkbox",inputPlaceholder:""+this.$i18next.t("Don't show again")},"octoprint-tunnel.warning").then(e=>{e.isConfirmed&&e.value&&Object(we["a"])()&&localStorage.setItem("skip-tunneling-warning","yes")}),window.matchMedia("(pointer:none), (pointer:coarse)")&&document.querySelector(".swal2-popup").classList.add("x150"));const t=this,i=(e=!1)=>{oe["a"].get(le["a"].tunnelUsage()).then(i=>{t.bytesMTD=i.data.total,t.usageCap=i.data.monthly_cap,e&&(t.usageFetched=!0)})};setInterval(i,15e3),setTimeout(()=>{i(!0)},4e3)},methods:{iframeUrl(){return`/octoprint/${this.printerId}/`}}},at=nt,rt=(i("ee55"),i("b519"),Object(N["a"])(at,Xe,et,!1,null,"36042095",null)),st=rt.exports,ot=function(){var e=this,t=e._self._c;return t("page-layout",{scopedSlots:e._u([{key:"content",fn:function(){return[t("b-container",{staticClass:"feedback-container"},[t("b-row",{staticClass:"justify-content-center"},[t("b-col",{attrs:{lg:"8"}},[t("div",{staticClass:"card"},[t("h5",{staticClass:"card-header text-center"},[e._v(" F "),t("i",{staticClass:"fas fa-search focused-feedback-icon"}),e._v(e._s(e.$t("CUSED FEEDBACK"))+" ")]),t("loading",{attrs:{active:null===e.print,"is-full-page":!0}}),null!==e.print?t("div",[e.print.access_consented_at?t("div",[t("div",[t("vue-slick-carousel",{ref:"carousel",attrs:{arrows:!1,dots:!0},on:{afterChange:e.onNextShot},scopedSlots:e._u([{key:"customPaging",fn:function(i){return[t("div",{class:e.pageClass(i)},[e._v("•")])]}}],null,!1,3226812120)},e._l(e.shots,(function(i,n){return t("print-shot-card",{key:n,attrs:{shot:i},on:{shotChanged:e.onShotChanged,prev:e.onPrev,next:e.onNext}})})),1)],1),t("br"),t("div",{staticClass:"card-body p-3"},[t("a",{attrs:{href:`/print_history/${e.print.id}/`}},[t("i",{staticClass:"fas fa-chevron-left"}),e._v(" "+e._s(e.$t("Print Page"))+" ")])])]):t("focused-feedback-consent",{attrs:{print:e.print},on:{"continue-btn-pressed":e.consentBtnPressed}})],1):e._e()],1)])],1)],1)]},proxy:!0}])})},lt=[],ct=i("c707"),dt=i.n(ct),ut=i("51f5"),pt=i.n(ut),ht=i("a7ab"),mt=i.n(ht),ft=(i("7b8d"),i("6a2c"),i("18fa")),gt=i.n(ft),vt=(i("e40d"),function(){var e=this,t=e._self._c;return t("div",[t("img",{staticClass:"card-img-top",attrs:{src:e.shot.image_url}}),t("div",{staticClass:"px-3 pt-4"},[t("b-form-group",{attrs:{label:"Do you see any spaghetti in this picture?"}},[t("b-form-radio-group",{attrs:{options:e.options},on:{change:e.updateShot},model:{value:e.answer,callback:function(t){e.answer=t},expression:"answer"}})],1),t("small",{staticClass:"text-muted"},[e._v(" "+e._s(e.$t("Not sure? Look at"))+" "),t("a",{attrs:{target:"_blank",href:e.getDocUrl("/user-guides/how-does-credits-work#spaghetti-examples")}},[e._v(e._s(e.$t("some examples. "))),e._m(0)])]),t("div",{staticClass:"navigation-container my-4",staticStyle:{display:"flex"}},[t("b-button",{attrs:{variant:"outline-secondary"},on:{click:function(t){return e.$emit("prev")}}},[t("i",{staticClass:"fas fa-chevron-left"}),e._v("  "+e._s(e.$t("Previous"))+" ")]),t("b-button",{attrs:{variant:"outline-secondary"},on:{click:function(t){return e.$emit("next")}}},[e._v(" "+e._s(e.$t("Next"))+"  "),t("i",{staticClass:"fas fa-chevron-right"})])],1)],1)])}),bt=[function(){var e=this,t=e._self._c;return t("small",[t("i",{staticClass:"fas fa-external-link-alt"})])}],yt=i("8226"),wt=i("2924"),_t={name:"PrintShotCard",components:{BFormGroup:yt["a"],BFormRadioGroup:wt["a"]},props:{shot:{type:Object,required:!0}},data(){return{answer:this.shot.answer,options:[{text:"Yes",value:"LOOKS_BAD"},{text:"No",value:"LOOKS_OK"},{text:"I am not sure",value:"UNDECIDED"}]}},methods:{updateShot:function(e){oe["a"].put(le["a"].printShotFeedback(this.shot.id,this.shot.print_id),{answer:e}).then(e=>{const{instance:t,credited_dhs:i}=e.data;i>0?this.$swal.Prompt.fire({title:""+this.$i18next.t("You are awesome!"),html:`

${this.$i18next.t("The AI failure detection just got a little better because of your feedback!")}

${this.$i18next.t("You just earned 2 non-expirable AI Detection Hours - Yay!")}

`,confirmButtonText:""+this.$i18next.t("I'm done!"),showCancelButton:!0,cancelButtonText:""+this.$i18next.t("Change feedback")}).then(e=>{e.isConfirmed?window.location.href="/print_history/":this.$emit("shotChanged",t)}):this.$emit("shotChanged",t)})}}},Ct=_t,kt=(i("071c"),Object(N["a"])(Ct,vt,bt,!1,null,"72de57d5",null)),Pt=kt.exports,St=function(){var e=this,t=e._self._c;return t("div",{staticClass:"page-wrapper",class:{collapsed:e.collapsed,"is-in-mobile":e.inMobileWebView,"is-in-popup":e.isPopup}},[t("nav",{staticClass:"side-nav"},[t("a",{staticClass:"sidebar-header",attrs:{href:"/"}},[t("SyndicateAwareSVG",{attrs:{href:"#svg-logo-compact",width:"100",height:"30"}})],1),t("ul",{staticClass:"list-unstyled m-0"},[e.isEnt&&!e.user.is_pro?t("li",{class:{active:"/ent_pub/pricing/"===e.path}},[t("a",{staticClass:"primary",attrs:{href:"/ent_pub/pricing/"}},[t("font-awesome-icon",{attrs:{icon:"star"}}),e._v(" "+e._s(e.$t("Upgrade to Pro"))+" ")],1)]):e._e(),e.user?t("li",{class:{active:e.path.includes("/printers/")}},[t("a",{attrs:{href:"/printers/"}},[t("svg",{staticStyle:{"margin-bottom":"5px"},attrs:{width:"1.4em",height:"1.4em"}},[t("use",{attrs:{href:"#svg-3d-printer"}})]),t("br"),e._v(" "+e._s(e.$t("Printers"))+" ")])]):e._e(),e.user?t("li",{class:{active:e.path.includes("/g_code_")}},[t("a",{attrs:{href:"/g_code_folders/cloud/"}},[t("font-awesome-icon",{attrs:{icon:"fa-file-code"}}),e._v(" "+e._s(e.$t("G-Codes"))+" ")],1)]):e._e(),e.user?t("li",{class:{active:e.path.includes("/print_history/")||e.path.includes("/prints/")}},[t("a",{attrs:{href:"/print_history/"}},[t("font-awesome-icon",{attrs:{icon:"fa-calendar-days"}}),e._v(" "+e._s(e.$t("Print History"))+" ")],1)]):e._e(),e.user?t("li",{class:{active:e.path.includes("/stats/")}},[t("a",{attrs:{href:"/stats/"}},[t("font-awesome-icon",{attrs:{icon:"fa-chart-pie"}}),e._v(" "+e._s(e.$t("Statistics"))+" ")],1)]):e._e()]),t("div",{staticClass:"side-nav-footer"},[t("ul",{staticClass:"list-unstyled m-0"},[e.isEnt?t("li",{class:{active:"/ent_pub/pricing/"===e.path}},[t("a",{attrs:{href:"/ent_pub/pricing/"}},[t("font-awesome-icon",{attrs:{icon:"fa-money-check-dollar"}}),e._v(" "+e._s(e.$t("Pricing"))+" ")],1)]):e._e(),t("li",[t("a",{attrs:{href:"https://www.obico.io/help/",target:"_blank"}},[t("font-awesome-icon",{attrs:{icon:"fa-circle-question"}}),e._v(" "+e._s(e.$t("Help"))+" ")],1)]),t("li",[t("a",{attrs:{href:"https://obico.io/discord",target:"_blank"}},[t("font-awesome-icon",{attrs:{icon:"fa-brands fa-discord"}}),e._v(" "+e._s(e.$t("Community"))+" ")],1)]),e._m(0),e.user?t("li",{class:{active:"/printer_events/"===e.path}},[t("a",{attrs:{href:"/printer_events/"}},[t("div",{staticClass:"position-relative"},[t("font-awesome-icon",{attrs:{icon:"fas fa-bell"}}),e.hasUnseenPrinterEvents?t("span",{staticClass:"badge"},[e._v(e._s(e.unseenPrinterEventsDisplay))]):e._e()],1),t("span",{staticClass:"trim-text"},[e._v(e._s(e.$t("Notifications")))])])]):e._e(),e.user?t("li",{class:{active:e.path.includes("/user_preferences/")}},[t("a",{attrs:{href:"/user_preferences/"}},[t("font-awesome-icon",{attrs:{icon:"fas fa-cog"}}),t("span",{staticClass:"trim-text"},[e._v(e._s(e.$t("Preferences")))])],1)]):e._e()])])]),t("div",{staticClass:"content-wrapper",class:{"hide-top-nav":!e.$slots.topBarLeft&&!e.$slots.topBarRight||e.hideHeader}},[t("b-navbar",{staticClass:"top-nav"},[t("div",{staticClass:"d-flex align-items-center"},[t("b-button",{staticClass:"shadow-none p-0 mr-3 position-relative toggle-sidebar",attrs:{variant:"_"},on:{click:function(t){e.collapsed=!e.collapsed}}},[t("i",{staticClass:"fas fa-bars position-relative"},[e.hasUnseenPrinterEvents?t("div",{staticClass:"notification-dot"},[t("svg",{attrs:{width:"8px",height:"8px"}},[t("use",{attrs:{href:"#svg-circle-icon"}})])]):e._e()])]),e._t("topBarLeft")],2),e._t("topBarRight")],2),t("div",{staticClass:"page-content"},[e._t("content")],2)],1),t("div",{staticClass:"content-overlay",on:{click:function(t){e.collapsed=!0}}})])},Dt=[function(){var e=this,t=e._self._c;return t("li",[t("hr",{staticClass:"my-0 mx-2"})])}],xt={name:"PageLayout",props:{isPopup:{type:Boolean,default:!1}},data(){return{collapsed:!0,path:window.location.pathname,user:null,allowSignUp:!1,isEnt:!1}},computed:{inMobileWebView(){return Object(Q["a"])()},hideHeader(){const e=new URLSearchParams(window.location.search);return"true"===e.get("hide_header")},hasUnseenPrinterEvents(){return de()(this.user,"unseen_printer_events",0)>0},unseenPrinterEventsDisplay(){const e=de()(this.user,"unseen_printer_events",0);return e>99?"99+":e}},created(){const{ACCOUNT_ALLOW_SIGN_UP:e,IS_ENT:t}=Object(Q["d"])();this.allowSignUp=!!e,this.isEnt=!!t,this.user=Object(Q["f"])()},mounted(){const e=document.querySelector(".message-snippet");e&&this.inMobileWebView&&e.classList.add("is-in-mobile"),this.inMobileWebView&&(document.querySelector("body").style.paddingBottom=0)}},Tt=xt,It=(i("42db"),i("6f7a"),Object(N["a"])(Tt,St,Dt,!1,null,"5822eab8",null)),Ft=It.exports,At=function(){var e=this,t=e._self._c;return t("div",{staticClass:"card-body consent-section"},[t("div",[e._v(" "+e._s(e.$t("Number of snapshots"))+": "),t("span",{staticClass:"feedback-estimate"},[e._v(e._s(e.print.printshotfeedback_set.length))])]),t("p",[e._v(" "+e._s(e.$t("Estimated time to finish"))+": "),t("span",{staticClass:"feedback-estimate"},[e._v(e._s(e.estimatedFeedbackTime))])]),t("p",{staticClass:"font-weight-light"},[t("i18next",{attrs:{translation:e.$t("Help Obi get better at detecting failures by giving her in-depth feedback on the snapshots of the print. You will earn {localizedDom} after you finish this Focused Feedback. {localizedDom2}")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("strong",{staticClass:"text-light"},[e._v(e._s(e.$t("2 non-expirable AI Detection Hours")))])]},proxy:!0},{key:"localizedDom2",fn:function(){return[t("a",{attrs:{target:"_blank",href:e.getDocUrl("/user-guides/how-does-credits-work/")}},[e._v(e._s(e.$t("Learn more"))+". "),t("small",[t("i",{staticClass:"fas fa-external-link-alt"})])])]},proxy:!0}])})],1),t("br"),t("button",{staticClass:"btn btn-primary btn-block",attrs:{disabled:!e.consentChecked,type:"button"},on:{click:function(t){return e.$emit("continue-btn-pressed")}}},[e._v(" "+e._s(e.$t("Start Focused Feedback"))+" ")]),t("br"),t("div",{staticClass:"custom-control custom-checkbox form-check-inline"},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.consentChecked,expression:"consentChecked"}],staticClass:"custom-control-input",attrs:{id:"consented-checkbox",type:"checkbox",name:"consented"},domProps:{checked:Array.isArray(e.consentChecked)?e._i(e.consentChecked,null)>-1:e.consentChecked},on:{change:function(t){var i=e.consentChecked,n=t.target,a=!!n.checked;if(Array.isArray(i)){var r=null,s=e._i(i,r);n.checked?s<0&&(e.consentChecked=i.concat([r])):s>-1&&(e.consentChecked=i.slice(0,s).concat(i.slice(s+1)))}else e.consentChecked=a}}}),t("label",{staticClass:"custom-control-label",staticStyle:{"font-size":"16px"},attrs:{for:"consented-checkbox"}},[e._v(" "+e._s(e.$t("I grant the {brandName} app team members the permission to review the time-lapse video of the print shown on this page.",{brandName:e.$syndicateText.brandName}))+" "),t("a",{attrs:{target:"_blank",href:e.getDocUrl("/user-guides/how-does-credits-work#you-need-to-grant-permission-to-tsd-team-to-review-your-time-lapse")}},[e._v(e._s(e.$t("Why is this necessary? "))),e._m(0)])])]),t("br"),t("div",[t("span",{staticClass:"text-muted"},[e._v(e._s(e.$t("File"))+":")]),e._v(" "+e._s(e.print.filename)+" ")]),t("div",[t("span",{staticClass:"text-muted"},[e._v(e._s(e.$t("Printed"))+":")]),e._v(" "+e._s(e.print.started_at.fromNow())+" ")]),t("br"),e.print.video_url?t("video-box",{attrs:{"video-url":e.print.video_url,"poster-url":e.print.poster_url,"full-screen-btn":!1}}):t("div",[t("detective-working")],1)],1)},$t=[function(){var e=this,t=e._self._c;return t("small",[t("i",{staticClass:"fas fa-external-link-alt"})])}],Ot=function(){var e=this,t=e._self._c;return t("div",{staticClass:"card-img-top"},[t("video-player",{ref:"videoPlayer",staticClass:"vjs-default-skin vjs-big-play-centered",attrs:{options:e.playerOptions,playsinline:!0},on:{timeupdate:e.onTimeUpdate}}),t("div",{staticClass:"buttons-container"},[e.downloadBtn?t("a",{staticClass:"action-btn",attrs:{role:"button",title:"Download"},on:{click:function(t){return e.$emit("download")}}},[t("i",{staticClass:"fas fa-download",attrs:{"aria-hidden":"true"}})]):e._e(),e.fullscreenBtn?t("a",{staticClass:"action-btn",attrs:{role:"button",title:"Full screen"},on:{click:function(t){return e.$emit("fullscreen")}}},[t("i",{staticClass:"fa fa-expand",attrs:{"aria-hidden":"true"}})]):e._e(),e.exitFullscreenBtn?t("a",{staticClass:"action-btn",attrs:{role:"button",title:"Exit full screen"},on:{click:function(t){return e.$emit("exitFullscreen")}}},[t("i",{staticClass:"fa fa-times",attrs:{"aria-hidden":"true"}})]):e._e()])],1)},Nt=[],Lt=(i("fda2"),i("d6d3")),Mt={name:"VideoBox",components:{videoPlayer:Lt["videoPlayer"]},props:{videoUrl:{type:String,required:!0},posterUrl:{type:String,default:null},fullscreenBtn:{type:Boolean,default:!0},exitFullscreenBtn:{type:Boolean,default:!1},downloadBtn:{type:Boolean,default:!1},fluid:{type:Boolean,default:!0},autoplay:{type:Boolean,default:!1},defaultFullScreenToggle:{type:Boolean,default:!1}},computed:{playerOptions(){return{muted:!0,preload:"none",language:"en",playbackRates:[.5,1,1.5,2],fluid:this.fluid,fill:!this.fluid,autoplay:this.autoplay,sources:[{type:"video/mp4",src:this.videoUrl}],controlBar:{fullscreenToggle:this.defaultFullScreenToggle},poster:this.posterUrl}}},methods:{onTimeUpdate(e){this.$emit("timeupdate",e.currentTime()/e.duration())}}},Et=Mt,Rt=(i("58d0"),Object(N["a"])(Et,Ot,Nt,!1,null,"10df198e",null)),zt=Rt.exports,Bt=function(){var e=this,t=e._self._c;return t("div",{staticClass:"card bg-dark text-white"},[t("img",{staticClass:"card-img",attrs:{src:i("0469"),alt:"Obi is still working"}}),t("div",{staticClass:"card-img-overlay",staticStyle:{"background-color":"rgba(0, 0, 0, 0.6)"}},[t("h5",{staticClass:"card-title text-center"},[e._v(e._s(e.$t("Obi is still busy working on your time-lapse")))])])])},Ut=[],jt={name:"DetectiveWorking"},Wt=jt,Ht=(i("a6c8"),Object(N["a"])(Wt,Bt,Ut,!1,null,"5e3b0b22",null)),Vt=Ht.exports,Yt={name:"FocusedFeedbackConsent",components:{VideoBox:zt,DetectiveWorking:Vt},props:{print:{type:Object,required:!0}},data(){return{consentChecked:!1}},computed:{estimatedFeedbackTime(){const e=12*this.print.printshotfeedback_set.length;return e<60?`${e} ${this.$i18next.t("seconds")}`:H.a.duration(e,"seconds").humanize()}}},Gt=Yt,Kt=(i("9363"),Object(N["a"])(Gt,At,$t,!1,null,"c265fb70",null)),qt=Kt.exports,Jt={name:"PrintShotFeedbackApp",components:{FocusedFeedbackConsent:qt,Loading:gt.a,PrintShotCard:Pt,VueSlickCarousel:mt.a,PageLayout:Ft},props:{config:{default:()=>{},type:Object}},data:function(){return{shots:[],currentShot:0,print:null}},computed:{},mounted(){this.fetchData()},methods:{fetchData(){oe["a"].get(le["a"].print(this.config.printId)).then(e=>{this.print=Te(e.data),this.shots=dt()(this.print.printshotfeedback_set,"id")})},updatePrint(e){oe["a"].patch(le["a"].print(this.print.id),e).then(e=>this.print=e.data)},consentBtnPressed(){this.updatePrint({access_consented_at:H()()})},onShotChanged(e){const t=pt()(this.shots,t=>t.id==e.id);this.$set(this.shots,t,e),this.$refs.carousel.next()},onNextShot(e){this.currentShot=e},onPrev(){this.$refs.carousel.prev()},onNext(){this.$refs.carousel.next()},pageClass(e){return e===this.currentShot?"page-visiting":this.shots[e].answered_at?"text-success":"page-unvisited"}}},Zt=Jt,Qt=(i("86ab"),Object(N["a"])(Zt,ot,lt,!1,null,"65dd3f19",null)),Xt=Qt.exports,ei=function(){var e=this,t=e._self._c;return t("page-layout",{scopedSlots:e._u([{key:"topBarLeft",fn:function(){return[t("div",{staticClass:"actions-with-selected-desktop"},[t("b-form-group",{staticClass:"m-0"},[t("b-form-checkbox",{attrs:{size:"md"},model:{value:e.allPrintsSelected,callback:function(t){e.allPrintsSelected=t},expression:"allPrintsSelected"}})],1),t("div",[t("span",{directives:[{name:"show",rawName:"v-show",value:!e.selectedPrintIds.size,expression:"!selectedPrintIds.size"}],staticClass:"label",on:{click:function(t){e.allPrintsSelected=!e.allPrintsSelected}}},[e._v(e._s(e.$t("Select all")))]),t("b-dropdown",{directives:[{name:"show",rawName:"v-show",value:e.selectedPrintIds.size,expression:"selectedPrintIds.size"}],attrs:{"toggle-class":"btn btn-sm actions-with-selected-btn"},scopedSlots:e._u([{key:"button-content",fn:function(){return[e._v(" "+e._s(e.selectedPrintIds.size)+" item"+e._s(1===e.selectedPrintIds.size?"":"s")+" "+e._s(e.$t("selected"))+" ")]},proxy:!0}])},[t("b-dropdown-item",[t("div",{staticClass:"text-danger",on:{click:e.onDeleteBtnClick}},[t("i",{staticClass:"far fa-trash-alt"}),e._v(e._s(e.$t("Delete"))+" ")])])],1)],1)],1)]},proxy:!0},{key:"topBarRight",fn:function(){return[t("div",{staticClass:"action-panel"},[t("b-dropdown",{attrs:{right:"","no-caret":"","toggle-class":"action-btn icon-btn",title:e.$t("Sort By")},scopedSlots:e._u([{key:"button-content",fn:function(){return[t("i",{staticClass:"fas fa-sort-amount-down"})]},proxy:!0}])},[t("sorting-dropdown",{attrs:{"local-storage-prefix":e.sortingLocalStoragePrefix,"sorting-options":e.sortingOptions,"sorting-value":e.sortingValue},on:{onSortingUpdated:e.onSortingUpdated}})],1),t("b-dropdown",{attrs:{right:"","no-caret":"","toggle-class":"action-btn icon-btn","menu-class":"scrollable",title:e.$t("Filter")},scopedSlots:e._u([{key:"button-content",fn:function(){return[t("i",{staticClass:"fas fa-filter"})]},proxy:!0}])},[t("filtering-dropdown",{ref:"filteringDropdown1",attrs:{"local-storage-prefix":e.filterLocalStoragePrefix,"filter-options":e.filterOptions,"filter-values":e.filterValues,"filter-update-mixin":e.filterUpdateMixin},on:{onFilterUpdated:e.onFilterUpdated}})],1),t("b-dropdown",{attrs:{right:"","no-caret":"","toggle-class":"icon-btn d-md-none"},scopedSlots:e._u([{key:"button-content",fn:function(){return[t("i",{staticClass:"fas fa-ellipsis-v"})]},proxy:!0}])},[t("cascaded-dropdown",{ref:"cascadedDropdown",attrs:{"menu-options":[{key:"sorting",icon:"fas fa-sort-amount-down",title:e.$t("Sort"),expandable:!0},{key:"filtering",icon:"fas fa-filter",title:e.$t("Filter"),expandable:!0}]},scopedSlots:e._u([{key:"sorting",fn:function(){return[t("sorting-dropdown",{attrs:{"local-storage-prefix":e.sortingLocalStoragePrefix,"sorting-options":e.sortingOptions,"sorting-value":e.sortingValue},on:{onSortingUpdated:e.onSortingUpdated}})]},proxy:!0},{key:"filtering",fn:function(){return[t("filtering-dropdown",{ref:"filteringDropdown2",attrs:{"local-storage-prefix":e.filterLocalStoragePrefix,"filter-options":e.filterOptions,"filter-values":e.filterValues,"filter-update-mixin":e.filterUpdateMixin},on:{onFilterUpdated:e.onFilterUpdated}})]},proxy:!0}])})],1)],1)]},proxy:!0},{key:"content",fn:function(){return[t("active-filter-notice",{attrs:{"filter-values":e.filterValues},on:{onShowAllClicked:e.resetFilters}}),t("b-container",[t("b-row",[t("b-col",[e.prints.length&&!e.loading?t("div",{staticClass:"prints-summary"},[t("div",{staticClass:"summary-item"},[t("div",{staticClass:"icon"},[t("i",{staticClass:"fas fa-hashtag"})]),t("div",{staticClass:"info"},[t("div",{staticClass:"title"},[e._v(e._s(e.$t("Prints done")))]),t("div",{staticClass:"value"},[e._v(" "+e._s(e.stats.total_print_count)+" ("),t("span",{staticClass:"text-success"},[e._v(e._s(e.stats.total_succeeded_print_count))]),e._v(" / "),t("span",{staticClass:"text-danger"},[e._v(e._s(e.stats.total_cancelled_print_count))]),e._v(") ")])])]),t("div",{staticClass:"summary-item"},[t("div",{staticClass:"icon"},[t("i",{staticClass:"far fa-clock"})]),t("div",{staticClass:"info"},[t("div",{staticClass:"title"},[e._v(e._s(e.$t("Total print time")))]),t("div",{staticClass:"value"},[e._v(e._s(e.totalPrintTimeFormatted))])])]),t("div",{staticClass:"summary-item"},[t("div",{staticClass:"icon"},[t("i",{staticClass:"fas fa-ruler-horizontal"})]),t("div",{staticClass:"info"},[t("div",{staticClass:"title"},[t("help-widget",{attrs:{id:"filament-used-may-be-incorrect",highlight:!1,"show-close-button":!1}},[e._v(" "+e._s(e.$t("Filament used"))+" ")])],1),t("div",{staticClass:"value"},[e._v(e._s(e.totalFilamentUsedFormatted))])])]),t("div",{staticClass:"btn-wrapper"},[t("a",{staticClass:"btn btn-secondary",attrs:{href:"/stats/"}},[e._v(" "+e._s(e.$t("Full Stats"))+" "),t("i",{staticClass:"fas fa-arrow-right"})])])]):e._e()])],1),t("b-row",[e.prints.length||e.loading?t("b-col",[e._l(e.prints,(function(i,n){return t("print-history-item",{key:i.id,staticClass:"print-item",attrs:{print:i,index:n,selectable:!0,selected:e.selectedPrintIds.has(i.id)},on:{selectedChanged:e.onSelectedChanged}})})),t("mugen-scroll",{attrs:{handler:e.fetchMoreData,"should-handle":!e.loading}},[e.noMoreData?e._e():t("loading-placeholder")],1)],2):t("b-col",{staticClass:"text-center my-5"},[e._v(e._s(e.$t("No prints found")))])],1)],1),t("date-picker-modal",{ref:"datePickerModal",on:{picked:e.onDatesPicked}})]},proxy:!0}])})},ti=[],ii=i("996c"),ni=i.n(ii),ai=function(){var e=this,t=e._self._c;return t("div",[null===e.menuExpanded?e._l(e.menuOptions,(function(i){return t("b-dropdown-item",{key:i.key,attrs:{href:i.href},on:{click:function(t){return e.onClick(i)}}},[i.expandable?t("div",{staticClass:"d-flex justify-content-between clickable-area",on:{click:function(t){t.stopPropagation(),t.preventDefault(),e.menuExpanded=i.key}}},[t("div",[i.icon?t("i",{class:i.icon}):i.svgIcon?t("svg",{staticClass:"custom-svg-icon"},[t("use",{attrs:{href:"#"+i.svgIcon}})]):e._e(),t("span",[e._v(e._s(i.title))])]),t("div",[t("i",{staticClass:"fas fa-chevron-right m-0"})])]):t("div",{staticClass:"d-flex justify-content-between clickable-area"},[t("div",{class:i.customMenuOptionClass},[i.icon?t("i",{class:i.icon}):i.svgIcon?t("svg",{staticClass:"custom-svg-icon"},[t("use",{attrs:{href:"#"+i.svgIcon}})]):e._e(),t("span",[e._v(e._s(i.title))])])])])})):e._e(),null!==e.menuExpanded?[t("b-dropdown-item",[t("div",{staticClass:"clickable-area",on:{click:function(t){t.stopPropagation(),t.preventDefault(),e.menuExpanded=null}}},[t("i",{staticClass:"fas fa-chevron-left"}),e._v(e._s(e.$t("Back"))+" ")])]),t("b-dropdown-divider"),"sorting"===e.menuExpanded?t("div",[e._t("sorting")],2):e._e(),"filtering"===e.menuExpanded?t("div",[e._t("filtering")],2):e._e(),"storage"===e.menuExpanded?t("div",[e._t("storage")],2):e._e(),"grouping"===e.menuExpanded?t("div",[e._t("grouping")],2):e._e()]:e._e()],2)},ri=[],si={name:"CascadedDropdown",props:{menuOptions:{type:Array,required:!0}},data:function(){return{menuExpanded:null}},methods:{resetMenuExpanded(){this.menuExpanded=null},onClick(e){e.callback&&this.$emit("menuOptionClicked",e.key)}}},oi=si,li=(i("0714"),Object(N["a"])(oi,ai,ri,!1,null,"2a5ecb65",null)),ci=li.exports,di=function(){var e=this,t=e._self._c;return t("div",[t("b-dropdown-text",{staticClass:"small text-secondary"},[e._v(e._s(e.$t("SORT BY")))]),e._l(e.sortingOptions.options,(function(i){return t("b-dropdown-item",{key:"s_"+i.key,nativeOn:{"!click":function(t){return t.stopPropagation(),t.preventDefault(),e.updateSorting({sorting:i})}}},[t("i",{staticClass:"fas fa-check text-primary",style:{visibility:e.sortingValue.sorting.key===i.key?"visible":"hidden"}}),e._v(" "+e._s(i.title)+" ")])})),t("b-dropdown-divider"),t("b-dropdown-text",{staticClass:"small text-secondary"},[e._v(e._s(e.$t("DIRECTION")))]),e._l(e.sortingDirections,(function(i){return t("b-dropdown-item",{key:"d_"+i.key,nativeOn:{"!click":function(t){return t.stopPropagation(),t.preventDefault(),e.updateSorting({direction:i})}}},[t("i",{staticClass:"fas fa-check text-primary",style:{visibility:e.sortingValue.direction.key===i.key?"visible":"hidden"}}),e._v(" "+e._s(i.title)+" ")])}))],2)},ui=[];const pi=[{key:"asc",title:""+G["a"].t("Ascending")},{key:"desc",title:""+G["a"].t("Descending")}];var hi={name:"SortingDropdown",props:{localStoragePrefix:{type:String,required:!0},sortingOptions:{type:Object,required:!0},sortingValue:{type:Object,required:!0}},data:function(){return{sortingDirections:pi}},methods:{updateSorting({sorting:e,direction:t}){return e&&e.key!==this.sortingValue.sorting.key?(Object(s["b"])(this.localStoragePrefix+"-sorting",e.key),void this.$emit("onSortingUpdated",{...this.sortingValue,sorting:e})):t&&t.key!==this.sortingValue.direction.key?(Object(s["b"])(this.localStoragePrefix+"-direction",t.key),void this.$emit("onSortingUpdated",{...this.sortingValue,direction:t})):void 0}}};const mi=(e,t)=>{const i=Object(s["a"])(e+"-sorting",t.default.sorting),n=Object(s["a"])(e+"-direction",t.default.direction);return{sorting:t.options.find(e=>e.key===i),direction:pi.find(e=>e.key===n)}};var fi=hi,gi=Object(N["a"])(fi,di,ui,!1,null,null,null),vi=gi.exports,bi=function(){var e=this,t=e._self._c;return t("div",e._l(e.filterOptions,(function(i,n,a){return t("div",{key:n},[0!==a?t("b-dropdown-divider"):e._e(),t("b-dropdown-text",{staticClass:"small text-secondary"},[e._v(e._s(i.title.toUpperCase()))]),e._l(i.values,(function(a){return t("b-dropdown-item",{key:`f_${n}_${a.key}`,nativeOn:{"!click":function(t){return t.stopPropagation(),t.preventDefault(),e.updateFiltering({filterOptionKey:n,filterValueKey:a.key})}}},[t("div",{staticClass:"dropdown-text-group"},[t("i",{staticClass:"fas fa-check text-primary",class:{"checkmark-muted":i.multiple&&!a.includesAll&&(!Array.isArray(e.filterValues[n])||!e.filterValues[n].includes(a.key))},style:{visibility:Array.isArray(e.filterValues[n])&&e.filterValues[n].includes(a.key)||e.filterValues[n]===a.key||i.multiple&&!a.includesAll?"visible":"hidden"}}),t("div",{staticClass:"text"},[e._v(" "+e._s(a.title)+" "),a.subtitle?t("div",{staticClass:"subtitle"},[e._v(" "+e._s(a.subtitle)+" ")]):e._e()])])])}))],2)})),0)},yi=[],wi={name:"FilteringDropdown",props:{localStoragePrefix:{type:String,required:!0},filterOptions:{type:Object,required:!0},filterValues:{type:Object,required:!0},filterUpdateMixin:{type:Function,default:null}},methods:{updateFiltering({filterOptionKey:e,filterValueKey:t}){if(this.filterUpdateMixin){const i=this.filterUpdateMixin(e,t);if(!i)return}const i=this.filterOptions[e],n=i.values.find(e=>e.key===t),a=this.filterValues[e];let r;var o;i.multiple?n.includesAll?r=n.key:Array.isArray(a)?a.includes(t)?(r=a.filter(e=>e!==t),r.length||(r=(null===(o=i.values.find(e=>e.includesAll))||void 0===o?void 0:o.key)||[])):r=[...a,t]:r=[t]:r=t;r!==a&&(Object(s["b"])(`${this.localStoragePrefix}-${e}`,r),this.$emit("onFilterUpdated",e,r))}}};const _i=(e,t)=>{let i={};for(const[n,a]of Object.entries(t)){const t=String(Object(s["a"])(`${e}-${n}`,a.default));if(a.multiple){const e=a.values.find(e=>e.includesAll);t===e.key?i[n]=t:i[n]=t.split(",")}else i[n]=t}return i},Ci=(e,t,i)=>{let n={};for(const[a,r]of Object.entries(t)){const t=e[a];if(t.buildQueryParam){const e=i&&i(a,r);e&&(n={...n,...e})}else"none"!==r&&(n[t.queryParam]=r)}return n};var ki=wi,Pi=(i("5fdc"),Object(N["a"])(ki,bi,yi,!1,null,"687a0a02",null)),Si=Pi.exports,Di=function(){var e=this,t=e._self._c;return e.shouldShowFilterWarning?t("div",{staticClass:"active-filter-notice"},[t("div",{staticClass:"filter"},[t("i",{staticClass:"fas fa-filter mr-2"}),e._v(" "+e._s(e.$t("Filters applied"))+" ")]),t("div",{staticClass:"action-btn",on:{click:function(t){return e.$emit("onShowAllClicked")}}},[e._v(e._s(e.$t("SHOW ALL")))])]):e._e()},xi=[],Ti={name:"ActiveFilterNotice",props:{filterValues:{type:Object,required:!0}},computed:{activeFilters(){return Object.values(this.filterValues).filter(e=>"none"!==e)},shouldShowFilterWarning(){return 0!==this.activeFilters.length}}},Ii=Ti,Fi=(i("6912"),Object(N["a"])(Ii,Di,xi,!1,null,"0aa31f4a",null)),Ai=Fi.exports,$i=function(){var e=this,t=e._self._c;return t("a",{staticClass:"print-container",attrs:{href:`/prints/${e.print.id}/${null!==e.index?"?index="+e.index:""}`}},[t("div",{staticClass:"status-indicator print-status-bg",class:e.print.status.key}),e.selectable?t("div",{staticClass:"checkbox-wrapper",class:{isSelected:e.isSelected}},[t("b-form-checkbox",{attrs:{size:"md"},model:{value:e.isSelected,callback:function(t){e.isSelected=t},expression:"isSelected"}})],1):e._e(),t("div",{staticClass:"main-content truncated-wrapper"},[t("div",{staticClass:"top"},[t("div",{staticClass:"title truncated",attrs:{title:e.fileName}},[e._v(e._s(e.fileName))])]),t("div",{staticClass:"bottom"},[t("div",{staticClass:"info"},[t("svg",{staticClass:"icon",attrs:{width:"1em",height:"1em"}},[t("use",{attrs:{href:"#svg-3d-printer"}})]),t("span",[e._v(e._s(e.print.printer?e.print.printer.name:"Unavailable"))])]),t("div",{staticClass:"info"},[t("i",{staticClass:"fas fa-calendar-alt icon"}),t("span",[e._v(e._s(e.print.started_at.format("MMM D, YYYY")))])])])]),e.print.poster_url?t("div",{staticClass:"poster"},[t("div",{staticClass:"img",style:{backgroundImage:`url(${e.print.poster_url})`}})]):t("div",{staticClass:"poster no-photo"},[t("svg",[t("use",{attrs:{href:"#svg-no-photo"}})])])])},Oi=[],Ni={name:"PrintHistoryItem",components:{},props:{print:{type:Object,required:!0},index:{type:Number,default:null},selectable:{type:Boolean,default:!1},selected:{type:Boolean,default:!1}},data:function(){return{PrintStatus:xe,isSelected:this.selected}},computed:{fileName(){return null===this.print.g_code_file?this.print.filename:this.print.g_code_file.filename}},watch:{isSelected(e){this.$emit("selectedChanged",this.print.id,e)},selected(e){this.isSelected=e}}},Li=Ni,Mi=(i("1279"),Object(N["a"])(Li,$i,Oi,!1,null,"11fbb7ad",null)),Ei=Mi.exports,Ri=function(){var e=this,t=e._self._c;return t("b-modal",{attrs:{id:"b-modal-pick-dates",title:e.$t("Select Dates"),"ok-title":e.$t("Apply"),"cancel-title":e.$t("Cancel"),centered:""},on:{ok:e.handleOk,hidden:e.resetModal,shown:e.focusInput}},[t("form",{on:{submit:function(t){return t.preventDefault(),e.handleSubmit.apply(null,arguments)}}},[t("div",{staticClass:"my-2"},[t("b-form-group",{attrs:{label:e.$t("Date from"),"label-for":"date_from",description:e.$t("If empty, will default to your registration date")}},[t("b-form-input",{ref:"dateFrom",attrs:{id:"date_from",type:"date",placeholder:e.$t("Enter date")},model:{value:e.dateFrom,callback:function(t){e.dateFrom=t},expression:"dateFrom"}})],1),t("b-form-group",{attrs:{label:e.$t("Date to"),"label-for":"date_to",description:e.$t("If empty, will default to today")}},[t("b-form-input",{ref:"dateTo",attrs:{id:"date_to",type:"date",placeholder:e.$t("Enter date")},model:{value:e.dateTo,callback:function(t){e.dateTo=t},expression:"dateTo"}})],1),e.errorMessage?t("b-alert",{staticClass:"mt-3",attrs:{variant:"danger",show:""}},[e._v(" "+e._s(e.errorMessage)+" ")]):e._e()],1)])])},zi=[],Bi={name:"DatePickerModal",data(){return{dateFrom:"",dateTo:"",isOpen:!1,errorMessage:""}},methods:{show(e,t){this.dateFrom=e||"",this.dateTo=t||"",this.isOpen=!0,this.$bvModal.show("b-modal-pick-dates")},focusInput(){this.$refs.dateFrom.select()},close(){this.$bvModal.hide("b-modal-pick-dates"),this.resetModal()},resetModal(){this.isOpen=!1,this.errorMessage=""},handleOk(e){e.preventDefault(),this.handleSubmit()},async handleSubmit(){this.dateFrom||this.dateTo?(this.$emit("picked",this.dateFrom,this.dateTo),this.$nextTick(()=>{this.close()})):this.errorMessage=""+this.$i18next.t("At least one date is needed")}}},Ui=Bi,ji=(i("045b"),Object(N["a"])(Ui,Ri,zi,!1,null,"3aeed230",null)),Wi=ji.exports,Hi=function(){var e=this,t=e._self._c;return t("div",{directives:[{name:"click-outside",rawName:"v-click-outside",value:()=>e.show=!1,expression:"() => (show = false)"}],staticClass:"help-wrapper",class:{highlighted:e.highlight}},[t("div",{staticClass:"text",on:{click:function(t){e.positionWidget(),e.show=!e.show}}},[e._t("default")],2),t("div",{ref:"widgetWrapper",staticClass:"widget-wrapper"},[t("div",{staticClass:"question-mark",on:{click:function(t){e.positionWidget(),e.show=!e.show}}},[t("svg",[t("use",{attrs:{href:"#svg-question-icon"}})])]),t("transition",{attrs:{name:"pop-up"}},[t("div",{directives:[{name:"show",rawName:"v-show",value:e.show,expression:"show"}],ref:"widget",staticClass:"widget",class:[e.xDirection,e.yDirection]},[e.showCloseButton?t("div",{staticClass:"close-button",on:{click:function(t){e.show=!1}}},[t("svg",{attrs:{width:"16",height:"16"}},[t("use",{attrs:{href:"#svg-cross-icon"}})])]):e._e(),t("div",{staticClass:"content"},["basic-streaming-on-kingroon-pricing-page"===e.id?[t("div",[e._v(" "+e._s(e.$t("Basic Streaming"))+": "),t("ul",[t("li",[e._v(e._s(e.$t("1 FPS (frame-per-second), 100 hours of streaming per month")))])])]),t("div",[t("i18next",{attrs:{translation:e.$t("Learn more about {localizedDom}")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("a",{attrs:{href:"https://docs.kingroon.com/docs/user-guides/webcam-streaming-for-human-eyes/",target:"_blank"}},[e._v(e._s(e.$t("the differences between the Premium Streaming and the Basic Streaming"))+" "),t("i",{staticClass:"fas fa-external-link-alt"})])]},proxy:!0}],null,!1,1592606660)})],1)]:e._e(),"detective-hours-free-plan-on-kingroon-pricing-page"===e.id?[t("p",[e._v(e._s(e.$t("Basic AI Detection checks for failures every 30 seconds.")))]),t("p",[e._v(e._s(e.$t("AI usage is reset on the 1st of each month. Hours do not roll over month to month.")))]),t("p",[e._v(" "+e._s(e.$t("Learn more about"))+" "),t("a",{attrs:{href:"https://www.docs.kingroon.com/docs/user-guides/how-does-detective-hour-work/",target:"_blank"}},[e._v(e._s(e.$t("how the AI Detection Hour works "))),t("i",{staticClass:"fas fa-external-link-alt"})])])]:e._e(),"tunneling-free-plan-on-kingroon-pricing-page"===e.id?[t("p",[e._v(e._s(e.$t("Securely tunnel to your Mainsail or fluidd Klipper interface from anywhere.")))]),t("p",[e._v(" "+e._s(e.$t("Free plan is subject to 300MB/month data cap. Data usage is reset on the 1st day of each month."))+" ")]),t("p",[e._v(" "+e._s(e.$t("Learn more about"))+" "),t("a",{attrs:{href:"https://docs.kingroon.com/docs/user-guides/octoprint-tunneling/",target:"_blank"}},[e._v(e._s(e.$t("Klipper tunnel "))),t("i",{staticClass:"fas fa-external-link-alt"})])])]:e._e(),"premium-streaming-on-kingroon-pricing-page"===e.id?[t("div",[e._v(" "+e._s(e.$t("Premium Streaming"))+": "),t("ul",[t("li",[e._v(e._s(e.$t("Up to 25 FPS (frame-per-second)")))]),t("li",[e._v(e._s(e.$t("Up to 5 FPS with any webcam")))]),t("li",[e._v(e._s(e.$t("Up to 25 FPS with Kingroon H.264 Camera.")))])])]),t("p",[e._v(" "+e._s(e.$t("Learn more about"))+" "),t("a",{attrs:{href:"https://docs.kingroon.com/docs/user-guides/webcam-streaming-for-human-eyes/",target:"_blank"}},[e._v(e._s(e.$t("the differences between the Premium Streaming and the Basic Streaming"))+" "),t("i",{staticClass:"fas fa-external-link-alt"})])])]:e._e(),"detective-hours-pro-plan-on-kingroon-pricing-page"===e.id?[t("p",[e._v(e._s(e.$t("Advanced AI checks for failures more frequently - Catch failures up to 2X faster than Basic AI.")))]),t("p",[e._v(e._s(e.$t("Unused AI Detection Hours roll over month-to-month")))]),t("p",[e._v(" "+e._s(e.$t("Learn more about"))+" "),t("a",{attrs:{href:"https://www.docs.kingroon.com/docs/user-guides/how-does-detective-hour-work/",target:"_blank"}},[e._v(e._s(e.$t("how the AI Detection Hour works "))),t("i",{staticClass:"fas fa-external-link-alt"})])])]:e._e(),"tunneling-pro-plan-on-kingroon-pricing-page"===e.id?[t("div",[e._v(e._s(e.$t("Securely tunnel to your Mainsail or fluidd Klipper interface from anywhere. Unlimited.")))]),t("p",[e._v(" "+e._s(e.$t("Learn more about"))+" "),t("a",{attrs:{href:"https://docs.kingroon.com/docs/user-guides/octoprint-tunneling/",target:"_blank"}},[e._v(e._s(e.$t("Klipper tunnel "))),t("i",{staticClass:"fas fa-external-link-alt"})])])]:e._e(),"basic-streaming-on-pricing-page"===e.id?[t("div",[e._v(" "+e._s(e.$t("Basic Streaming"))+": "),t("ul",[t("li",[e._v(e._s(e.$t("Up to 5 FPS (frame-per-second)")))]),t("li",[e._v(e._s(e.$t("Throttled for 30 seconds every minute")))])])]),t("div",[t("i18next",{attrs:{translation:e.$t("Learn more about {localizedDom}")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("a",{attrs:{href:e.getDocUrl("/user-guides/webcam-streaming-for-human-eyes/"),target:"_blank"}},[e._v(e._s(e.$t("the differences between the Premium Streaming and the Basic Streaming"))+" "),t("i",{staticClass:"fas fa-external-link-alt"})])]},proxy:!0}],null,!1,3864550040)})],1)]:e._e(),"detective-hours-free-plan-on-pricing-page"===e.id?[t("h3",[e._v(e._s(e.$t("Yup! Even Free account gets 10 AI Detection Hours for FREE each month.")))]),t("ul",[t("li",[e._v(e._s(e.$t("Unused AI Detection Hours roll over month to month.")))]),t("li",[e._v(" "+e._s(e.$t("You can"))+" "),t("a",{attrs:{href:e.getDocUrl("/user-guides/how-does-credits-work/")}},[e._v(e._s(e.$t("earn free AI Detection Hours by helping her improve")))]),e._v(". ")]),t("li",[e._v(" "+e._s(e.$t("You can also"))+" "),t("a",{staticClass:"link",attrs:{href:"#need-more"}},[e._v(e._s(e.$t("purchase additional AI hours")))]),e._v(". ")])]),t("p",[e._v(" "+e._s(e.$t("Learn more about"))+" "),t("a",{attrs:{href:e.getDocUrl("/user-guides/how-does-detective-hour-work/"),target:"_blank"}},[e._v(e._s(e.$t("how the AI Detection Hour works "))),t("i",{staticClass:"fas fa-external-link-alt"})])])]:e._e(),"detective-hours-pro-plan-on-pricing-page"===e.id?[t("h3",[e._v(e._s(e.$t("Pro plan includes 50 AI Detection Hours each month.")))]),t("ul",[t("li",[e._v(e._s(e.$t("Unused AI Detection Hours roll over month to month.")))]),t("li",[e._v(e._s(e.$t("AI Detection Hours expire when subscription ends.")))]),t("li",[e._v(" "+e._s(e.$t("You can"))+" "),t("a",{attrs:{href:e.getDocUrl("/user-guides/how-does-credits-work/")}},[e._v(e._s(e.$t("earn more AI Detection Hours by helping her improve")))]),e._v(". ")]),t("li",[e._v(" "+e._s(e.$t("You can also"))+" "),t("a",{staticClass:"link",attrs:{href:"#need-more"}},[e._v(e._s(e.$t("purchase additional AI hours")))]),e._v(". ")])]),t("p",[e._v(" "+e._s(e.$t("Learn more about"))+" "),t("a",{attrs:{href:e.getDocUrl("/user-guides/how-does-detective-hour-work/"),target:"_blank"}},[e._v(e._s(e.$t("how the AI Detection Hour works "))),t("i",{staticClass:"fas fa-external-link-alt"})])])]:e._e(),"premium-streaming-on-pricing-page"===e.id?[t("div",[e._v(" "+e._s(e.$t("Premium Streaming"))+": "),t("ul",[t("li",[e._v(e._s(e.$t("Up to 25 FPS (frame-per-second)")))]),t("li",[e._v(e._s(e.$t("Un-throttled")))])])]),t("p",[e._v(" "+e._s(e.$t("Learn more about"))+" "),t("a",{attrs:{href:e.getDocUrl("/user-guides/webcam-streaming-for-human-eyes/"),target:"_blank"}},[e._v(e._s(e.$t("the differences between the Premium Streaming and the Basic Streaming"))+" "),t("i",{staticClass:"fas fa-external-link-alt"})])])]:e._e(),"tunneling-free-plan-on-pricing-page"===e.id?[t("p",[e._v(e._s(e.$t("Securely tunnel to your OctoPrint/Klipper from anywhere.")))]),t("p",[e._v(" "+e._s(e.$t("Free plan is subject to 300MB/month data cap. Data usage is reset on the 1st day of each month."))+" ")]),t("p",[e._v(" "+e._s(e.$t("Learn more about"))+" "),t("a",{attrs:{href:e.getDocUrl("/user-guides/octoprint-tunneling/"),target:"_blank"}},[e._v(e._s(e.$t("OctoPrint/Klipper tunnel "))),t("i",{staticClass:"fas fa-external-link-alt"})])])]:e._e(),"tunneling-pro-plan-on-pricing-page"===e.id?[t("div",[e._v(e._s(e.$t("Securely tunnel to your OctoPrint/Klipper from anywhere. Unlimited.")))]),t("p",[e._v(" "+e._s(e.$t("Learn more about"))+" "),t("a",{attrs:{href:e.getDocUrl("/user-guides/octoprint-tunneling/"),target:"_blank"}},[e._v(e._s(e.$t("OctoPrint/Klipper tunnel "))),t("i",{staticClass:"fas fa-external-link-alt"})])])]:e._e(),"3rd-party-app-integration-free-on-pricing-page"===e.id?[t("div",[t("div",[e._v(e._s(e.$t("The monthly cap is shared between 3rd-party app and OctoPrint tunnel"))+":")]),t("ul",[t("li",[e._v(e._s(e.$t("The combined usage can't exceed 300MB per month.")))]),t("li",[e._v(e._s(e.$t("Data usage is reset on the 1st day of each month.")))])]),t("p",[e._v(e._s(e.$t("Supported 3rd-party mobile apps"))+":")]),t("img",{staticClass:"logo-icon",attrs:{src:i("ca14")}}),t("img",{staticClass:"logo-icon",attrs:{src:i("3ee0")}}),t("img",{staticClass:"logo-icon",attrs:{src:i("222b")}}),t("img",{staticClass:"logo-icon",attrs:{src:i("3957")}})])]:e._e(),"3rd-party-app-integration-pro-on-pricing-page"===e.id?[t("div",[t("p",[e._v(e._s(e.$t("Supported 3rd-party mobile apps"))+":")]),t("img",{staticClass:"logo-icon",attrs:{src:i("ca14")}}),t("img",{staticClass:"logo-icon",attrs:{src:i("3ee0")}}),t("img",{staticClass:"logo-icon",attrs:{src:i("222b")}}),t("img",{staticClass:"logo-icon",attrs:{src:i("3957")}})])]:e._e(),"filament-change-on-notification-preferences"===e.id?[t("i",[t("ul",[e._v(" "+e._s(e.$t("Required versions"))+": "),t("li",[e._v(e._s(e.$t("OctoPrint 1.7.0 or higher")))]),t("li",[e._v(e._s(e.$t("The {brandName} plugin 1.8.11 or higher",{brandName:e.$syndicateText.brandName})))])])]),t("h3",[e._v(e._s(e.$t("Filament Runout Notifications")))]),t("p",[e._v(" "+e._s(e.$t("Host_action_commands must be enabled in your firmware to make it possible for your filament runout sensor to communicate with OctoPrint and the {brandName} app. If you enable action commands in your firmware, then the filament runout sensor can work properly and the {brandName} app can notify you when the filament runs out. Unfortunately, without host_action_commands enabled, OctoPrint is unable to communicate with the printer to know that a filament runout was detected.",{brandName:e.$syndicateText.brandName}))+" ")]),t("p",[e._v(e._s(e.$t("To enable support, you need to do the following"))+":")]),t("ul",[t("li",[e._v(" "+e._s(e.$t("Marlin: Uncomment #define HOST_ACTION_COMMANDS in Configuration_adv.h and recompile. See here for more information on host_action_commands."))+" ")])]),t("h3",[e._v(e._s(e.$t("Color Change Notifications")))]),t("p",[e._v(" "+e._s(e.$t("Notifications on color change will work with any printer that has M600 enabled in its firmware. You do not need host_action_commands enabled to get notified when a color change is needed."))+" ")])]:e._e(),"filament-used-may-be-incorrect"===e.id?[t("h3",[e._v(e._s(e.$t("Is filament usage inaccurate?")))]),t("p",[e._v(" "+e._s(e.$t("G-code files uploaded to your {brandName} account before upgrading to {brandName} for OctoPrint version 2.3.0 or {brandName} for Klipper version 1.2.0 do not include filament usage data.",{brandName:e.$syndicateText.brandName}))+" ")]),t("p",[t("strong",[e._v(e._s(e.$t("To ensure accurate filament usage and other statistics"))+":")])]),t("ul",[t("li",[e._v(" "+e._s(e.$t("Upload G-code files and start prints directly through {brandName} instead of OctoPrint/Klipper.",{brandName:e.$syndicateText.brandName}))+" ")]),t("li",[e._v(" "+e._s(e.$t("Use a slicer that supports filament usage parameters, such as Cura, Prusa Slicer, SuperSlicer, IdeaMaker, or Simplify3D."))+" ")]),t("li",[e._v(" "+e._s(e.$t("Print statistics for G-code files deleted before 12/20/2022 are not included. For files deleted after 12/20/2022, statistics are preserved."))+" ")])])]:e._e(),"thumbnail-setup-guide"===e.id?[t("p",[t("a",{attrs:{href:e.getDocUrl("/user-guides/enable-gcode-thumbnails/"),target:"_blank"}},[e._v(e._s(e.$t("Learn how to configure G-Code preview generation in your slicer"))+" "),t("i",{staticClass:"fas fa-external-link-alt"})])])]:e._e(),"fan-speed-widget-help"===e.id?[t("p",[e._v(" "+e._s(e.$t("Adjust the speed of the cooling fan by setting a percentage value between 0 and 100. The default value is usually 100, which means the fan will run at full speed. Lowering the fan speed can reduce noise and save energy, but may also affect print quality if the printer gets too hot."))+" ")])]:e._e(),"print-speed-widget-help"===e.id?[t("p",[e._v(" "+e._s(e.$t("Adjust the speed of your 3D printer by changing the speed of all movement commands by a specified factor. The default value is 100%, meaning that the printer will move at its standard speed. Lowering the print speed factor will slow down your print, while increasing it will speed it up. Value of 200% will double the speed."))+" ")])]:e._e(),"flow-rate-widget-help"===e.id?[t("p",[e._v(" "+e._s(e.$t("Flow rate is the speed at which the printer extrudes plastic. If the flow rate is too high, the printer may extrude too much plastic and create blobs or stringing, while too low flow rate may result in weak and brittle prints. Adjusting the flow rate can help achieve the optimal balance between speed and quality. The default value is 100%."))+" ")])]:e._e(),"coupon-entered-automatically"===e.id?[t("div",[t("p",[e._v(e._s(e.$t("No cost for three months. Plan renews after expiration. Cancel anytime.")))])])]:e._e()],2)])])],1)])},Vi=[],Yi=i("e67d"),Gi=i.n(Yi),Ki={name:"HelpWidget",directives:{ClickOutside:Gi.a},props:{id:{type:String,required:!0},highlight:{type:Boolean,default:!0},showCloseButton:{type:Boolean,default:!1},textBefore:{type:String,default:""}},data(){return{show:!1,xDirection:"left",yDirection:"top"}},methods:{positionWidget(){this.$nextTick(()=>{var e,t;const i=(null===(e=this.$refs.widget)||void 0===e?void 0:e.offsetWidth)||360,n=(null===(t=this.$refs.widget)||void 0===t?void 0:t.offsetHeight)||420,a=i+10,r=n+10,s=this.$refs.widgetWrapper.getBoundingClientRect(),o=window.innerWidth-(s.left+s.width),l=window.innerHeight-(s.top+s.height);this.xDirection=o({from_date:en(e,t,n).format(Qi),to_date:tn(e,i).format(Qi),timezone:Intl.DateTimeFormat().resolvedOptions().timeZone}),en=(e,t,i)=>{const n=new Date,a=new Date(n.setDate(n.getDate()-n.getDay())),r=new Date(n.getFullYear(),n.getMonth(),1),s=new Date(n.getFullYear(),0,1);switch(e){case"this_week":return H()(a);case"this_month":return H()(r);case"this_year":return H()(s);case"custom":if(t)return H()(t)}return H()(i.date_joined)},tn=(e,t)=>{const i=new Date,n=new Date(i.setDate(i.getDate()-i.getDay()+6)),a=new Date(i.getFullYear(),i.getMonth()+1,0),r=new Date(i.getFullYear(),11,31);switch(e){case"this_week":return H()(n);case"this_month":return H()(a);case"this_year":return H()(r);case"custom":if(t)return H()(t)}return H()()},nn=(e,t,i,n)=>{const a=en(e,t,n),r=tn(e,i),s=r.diff(a,"days");return s<=31?"day":s<=95?"week":s<=366?"month":"year"},an=24,rn="printsSorting",sn={options:[{title:""+G["a"].t("Date"),key:"date"}],default:{sorting:"date",direction:"desc"}},on="YYYY-MM-DD",ln="printsFiltering",cn={timePeriod:{title:""+G["a"].t("Time Period"),buildQueryParam:Xi,values:[{key:"none",title:""+G["a"].t("All")},{key:"this_week",title:""+G["a"].t("This Week")},{key:"this_month",title:""+G["a"].t("This Month")},{key:"this_year",title:""+G["a"].t("This Year")},{key:"custom",title:""+G["a"].t("Custom")}],default:"none"},printStatus:{title:""+G["a"].t("Print Status"),queryParam:"filter",values:[{key:"none",title:""+G["a"].t("All")},{key:"finished",title:""+G["a"].t("Finished")},{key:"cancelled",title:""+G["a"].t("Cancelled")}],default:"none"},feedbackNeeded:{title:""+G["a"].t("Feedback Needed"),queryParam:"feedback_needed",values:[{key:"none",title:""+G["a"].t("All")},{key:"need_alert_overwrite",title:""+G["a"].t("Review Needed")},{key:"need_print_shot_feedback",title:""+G["a"].t("Focused Feedback Needed")}],default:"none"},printers:{title:""+G["a"].t("Printers"),queryParam:"filter_by_printer_ids",multiple:!0,values:[{key:"none",title:""+G["a"].t("All"),includesAll:!0}],default:"none"}};var dn={name:"PrintHistoryPage",components:{MugenScroll:ni.a,PageLayout:Ft,CascadedDropdown:ci,DatePickerModal:Wi,SortingDropdown:vi,FilteringDropdown:Si,ActiveFilterNotice:Ai,PrintHistoryItem:Ei,HelpWidget:Zi},data:function(){return{stats:{},prints:[],loading:!1,noMoreData:!1,user:null,selectedPrintIds:new Set,sortingLocalStoragePrefix:rn,sortingOptions:sn,sortingValue:mi(rn,sn),filterLocalStoragePrefix:ln,filterOptions:cn,filterValues:_i(ln,cn)}},computed:{totalPrintTimeFormatted(){return fe(this.stats.total_print_time)},totalFilamentUsedFormatted(){var e;return ve(null===(e=this.stats)||void 0===e?void 0:e.total_filament_used)},defaultStatsParams(){return{timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,from_date:H()(this.user.date_joined).format(on),to_date:H()(new Date).format(on),group_by:"year"}},allPrintsSelected:{get:function(){return this.selectedPrintIds.size>=this.prints.length&&0!==this.prints.length},set:function(e){e?this.selectedPrintIds=new Set(this.prints.map(e=>e.id)):this.selectedPrintIds.size===this.prints.length&&(this.selectedPrintIds=new Set)}}},created(){this.user=Object(Q["f"])(),this.updateCustomPeriodFilterSubtitle(),oe["a"].get(le["a"].printers(),{params:{with_archived:!1}}).then(e=>{if(e.data.forEach(e=>{this.filterOptions.printers.values.push({key:String(e.id),title:e.name})}),"none"!==this.filterValues.printers){const t=e.data.map(e=>String(e.id));this.filterValues.printers=this.filterValues.printers.filter(e=>t.includes(e)),Object(s["b"])(ln+"-printers",this.filterValues.printers)}this.refetchData()})},methods:{fetchMoreData(){this.noMoreData||(this.loading=!0,oe["a"].get(le["a"].prints(),{params:{start:this.prints.length,limit:an,...Ci(this.filterOptions,this.filterValues,this.customFilterParamsBuilder),sorting:`${this.sortingValue.sorting.key}_${this.sortingValue.direction.key}`}}).then(e=>{this.loading=!1,this.noMoreData=e.data.lengthTe(e)))}).catch(e=>{this.errorDialog(e)}))},refetchData(){this.prints=[],this.selectedPrintIds=new Set,this.noMoreData=!1,this.fetchMoreData(),this.fetchStats()},fetchStats(){oe["a"].get(le["a"].stats(),{params:{...this.defaultStatsParams,...Ci(this.filterOptions,this.filterValues,this.customFilterParamsBuilder)}}).then(e=>{this.stats=e.data}).catch(e=>{this.errorDialog(e)})},onSelectedChanged(e,t){const i=new Set(this.selectedPrintIds);t?i.add(e):i.delete(e),this.selectedPrintIds=i},onDeleteBtnClick(){const e=Array.from(this.selectedPrintIds);this.$swal.Prompt.fire({title:""+this.$i18next.t("Are you sure?"),text:""+this.$i18next.t("Delete {name} print(s)? This action can not be undone.",{name:this.selectedPrintIds.size}),showCancelButton:!0,confirmButtonText:""+this.$i18next.t("Yes"),cancelButtonText:""+this.$i18next.t("No")}).then(t=>{t.isConfirmed&&oe["a"].post(le["a"].printsBulkDelete(),{print_ids:e}).then(()=>{this.refetchData()})})},onSortingUpdated(e){this.sortingValue=e,this.refetchData()},onFilterUpdated(e,t){this.filterValues[e]=t,this.refetchData()},resetFilters(){for(const e of Object.keys(this.filterValues))this.filterValues[e]="none",Object(s["b"])(`${ln}-${e}`,"none");this.updateCustomPeriodFilterSubtitle(),this.refetchData()},getCurrentDateFrom(){return Object(s["a"])(ln+"-timePeriod-dateFrom")||null},getCurrentDateTo(){return Object(s["a"])(ln+"-timePeriod-dateTo")||null},filterUpdateMixin(e,t){if("timePeriod"===e){if("custom"===t){if("custom"!==this.filterValues.timePeriod)this.$refs.datePickerModal.show();else{const e=this.getCurrentDateFrom(),t=this.getCurrentDateTo();this.$refs.datePickerModal.show(e,t)}return}this.$nextTick(()=>{this.updateCustomPeriodFilterSubtitle()})}return!0},onDatesPicked(e,t){(e||t)&&(this.filterValues.timePeriod="custom",Object(s["b"])(ln+"-timePeriod","custom"),Object(s["b"])(ln+"-timePeriod-dateFrom",e),Object(s["b"])(ln+"-timePeriod-dateTo",t),this.updateCustomPeriodFilterSubtitle(),this.refetchData())},customFilterParamsBuilder(e,t){if("timePeriod"===e)return this.filterOptions[e].buildQueryParam(t,this.getCurrentDateFrom(),this.getCurrentDateTo(),this.user)},updateCustomPeriodFilterSubtitle(){let e="";if("custom"===this.filterValues.timePeriod){const t="MMM D, YYYY",i=this.getCurrentDateFrom(),n=this.getCurrentDateTo(),a=i?H()(i).format(t):""+this.$i18next.t("Until"),r=n?H()(n).format(t):""+this.$i18next.t("and later");e=`${a}${i&&n?" - ":" "}${r}`}const t=this.filterOptions.timePeriod.values.findIndex(e=>"custom"===e.key);this.filterOptions.timePeriod.values[t].subtitle=e,this.$refs.filteringDropdown1&&this.$refs.filteringDropdown1.$forceUpdate(),this.$refs.filteringDropdown2&&this.$refs.filteringDropdown2.$forceUpdate()}}},un=dn,pn=(i("c991"),Object(N["a"])(un,ei,ti,!1,null,"4bb2d91a",null)),hn=pn.exports,mn=function(){var e=this,t=e._self._c;return t("page-layout",{scopedSlots:e._u([{key:"topBarRight",fn:function(){return[t("div",{staticClass:"action-panel"},[t("b-dropdown",{attrs:{right:"","no-caret":"","toggle-class":"action-btn icon-btn"},scopedSlots:e._u([{key:"button-content",fn:function(){return[t("i",{staticClass:"fas fa-chart-bar"})]},proxy:!0}])},[t("b-dropdown-text",{staticClass:"small text-secondary"},[e._v(e._s(e.$t("GROUP BY")))]),e._l(e.groupingOptions,(function(i){return t("b-dropdown-item",{key:i.key,nativeOn:{"!click":function(t){return t.stopPropagation(),t.preventDefault(),(()=>e.updateChartGrouping(i)).apply(null,arguments)}}},[t("i",{staticClass:"fas fa-check text-primary",style:{visibility:e.activeGrouping===i.key?"visible":"hidden"}}),t("span",[e._v(e._s(i.title))])])}))],2),t("b-dropdown",{attrs:{right:"","no-caret":"","toggle-class":"action-btn icon-btn","menu-class":"scrollable",title:e.$t("Filter")},scopedSlots:e._u([{key:"button-content",fn:function(){return[t("i",{staticClass:"fas fa-filter"})]},proxy:!0}])},[t("filtering-dropdown",{ref:"filteringDropdown1",attrs:{"local-storage-prefix":e.filterLocalStoragePrefix,"filter-options":e.filterOptions,"filter-values":e.filterValues,"filter-update-mixin":e.filterUpdateMixin},on:{onFilterUpdated:e.onFilterUpdated}})],1),t("b-dropdown",{attrs:{right:"","no-caret":"","toggle-class":"icon-btn d-md-none"},scopedSlots:e._u([{key:"button-content",fn:function(){return[t("i",{staticClass:"fas fa-ellipsis-v"})]},proxy:!0}])},[t("cascaded-dropdown",{ref:"cascadedDropdown",attrs:{"menu-options":[{key:"grouping",icon:"fas fa-chart-bar",title:e.$t("Group By"),expandable:!0},{key:"filtering",icon:"fas fa-filter",title:e.$t("Filter"),expandable:!0}]},scopedSlots:e._u([{key:"grouping",fn:function(){return[t("b-dropdown-text",{staticClass:"small text-secondary"},[e._v(e._s(e.$t("GROUP BY")))]),e._l(e.groupingOptions,(function(i){return t("b-dropdown-item",{key:i.key,nativeOn:{"!click":function(t){return t.stopPropagation(),t.preventDefault(),(()=>e.updateChartGrouping(i)).apply(null,arguments)}}},[t("i",{staticClass:"fas fa-check text-primary",style:{visibility:e.activeGrouping===i.key?"visible":"hidden"}}),t("span",[e._v(e._s(i.title))])])}))]},proxy:!0},{key:"filtering",fn:function(){return[t("filtering-dropdown",{ref:"filteringDropdown2",attrs:{"local-storage-prefix":e.filterLocalStoragePrefix,"filter-options":e.filterOptions,"filter-values":e.filterValues,"filter-update-mixin":e.filterUpdateMixin},on:{onFilterUpdated:e.onFilterUpdated}})]},proxy:!0}])})],1)],1)]},proxy:!0},{key:"content",fn:function(){return[t("active-filter-notice",{attrs:{"filter-values":e.filterValues},on:{onShowAllClicked:e.resetFilters}}),e.stats?t("b-container",[t("b-row",[t("b-col",[t("muted-alert",{staticClass:"muted-alert"},[e._v(e._s(e.$t("Statistics include deleted prints")))])],1)],1),t("b-row",[t("b-col",{staticClass:"mb-4 mb-lg-0",attrs:{lg:"6"}},[t("div",{staticClass:"stats-block total-prints"},[t("div",{staticClass:"stats-block-title"},[t("i",{staticClass:"fas fa-hashtag"}),t("span",[e._v(e._s(e.$t("Total Prints")))])]),t("div",{staticClass:"chart-wrapper"},[t("div",{staticClass:"legend"},[t("div",{staticClass:"line"},[t("div",{staticClass:"square success"}),t("div",{staticClass:"title"},[e._v(e._s(e.$t("Finished"))+":")]),t("div",{staticClass:"value"},[e._v(e._s(e.stats?e.stats.total_succeeded_print_count:""))])]),t("div",{staticClass:"line"},[t("div",{staticClass:"square danger"}),t("div",{staticClass:"title"},[e._v(e._s(e.$t("Cancelled"))+":")]),t("div",{staticClass:"value"},[e._v(e._s(e.stats?e.stats.total_cancelled_print_count:""))])])]),t("div",{ref:"totalPrintsDonutChart"})])])]),t("b-col",{attrs:{lg:"6"}},[t("div",{staticClass:"stats-block print-time"},[t("div",{staticClass:"stats-block-title"},[t("i",{staticClass:"far fa-clock"}),t("span",[e._v(e._s(e.$t("Print Time")))])]),t("div",{staticClass:"info total-print-time"},[t("div",{staticClass:"title"},[e._v(e._s(e.$t("Total print time")))]),t("div",{staticClass:"value"},[e._v(e._s(e.humanizedDuration(e.stats.total_print_time)))])]),t("div",{staticClass:"other-print-time-numbers"},[t("div",{staticClass:"info"},[t("div",{staticClass:"title"},[e._v(e._s(e.$t("Longest print")))]),t("div",{staticClass:"value"},[e._v(e._s(e.humanizedDuration(e.stats.longest_print_time)))])]),t("div",{staticClass:"divider"}),t("div",{staticClass:"info"},[t("div",{staticClass:"title"},[e._v(e._s(e.$t("Average print")))]),t("div",{staticClass:"value"},[e._v(e._s(e.humanizedDuration(e.stats.average_print_time)))])])])])])],1),t("b-row",{staticClass:"mt-4"},[t("b-col",[t("div",{staticClass:"stats-block bar-chart"},[t("div",{staticClass:"stats-block-title"},[t("i",{staticClass:"fas fa-hashtag"}),t("span",[e._v(e._s(e.$t("Prints Count")))])]),t("div",{ref:"printCountGroupsChart",staticClass:"bar-chart-wrapper"})])])],1),t("b-row",{staticClass:"mt-4"},[t("b-col",[t("div",{staticClass:"stats-block bar-chart"},[t("div",{staticClass:"stats-block-title"},[t("i",{staticClass:"far fa-clock"}),t("span",[e._v(e._s(e.$t("Print Time")))])]),t("div",{ref:"printTimeGroupsChart",staticClass:"bar-chart-wrapper"})])])],1),t("b-row",{staticClass:"mt-4"},[t("b-col",[t("div",{staticClass:"stats-block bar-chart filament-used-groups"},[t("div",{staticClass:"stats-block-title"},[t("i",{staticClass:"fas fa-ruler-horizontal"}),t("div",{staticClass:"title-group"},[t("span",[t("help-widget",{attrs:{id:"filament-used-may-be-incorrect",highlight:!1,"show-close-button":!1}},[e._v(" "+e._s(e.$t("Filament Usage"))+" ")])],1),t("div",{staticClass:"divider"}),t("div",{staticClass:"subtitle"},[e._v(e._s(e.totalFilamentUsedFormatted)+" "+e._s(e.$t("total")))])])]),t("div",{ref:"filamentUsedGroupsChart",staticClass:"bar-chart-wrapper"})])])],1)],1):t("loading-placeholder"),t("date-picker-modal",{ref:"datePickerModal",on:{picked:e.onDatesPicked}})]},proxy:!0}])})},fn=[],gn=function(){var e=this,t=e._self._c;return t("div",{staticClass:"alert-wrapper"},[e._m(0),t("p",{staticClass:"message"},[e._t("default")],2)])},vn=[function(){var e=this,t=e._self._c;return t("div",{staticClass:"icon"},[t("i",{staticClass:"fas fa-info-circle"})])}],bn={name:"MutedAlert"},yn=bn,wn=(i("b5c8"),Object(N["a"])(yn,gn,vn,!1,null,"55bd9838",null)),_n=wn.exports,Cn=i("898b");const kn=(e,{name:t=(([e])=>e),value:i=(([,e])=>e),totalValue:n=null,totalValueFormat:a=",",title:r,width:s=180,height:o=180,innerRadius:l=Math.min(s,o)/3.6,outerRadius:c=Math.min(s,o)/2,labelRadius:d=(l+c)/2,format:u=",",names:p,colors:h,stroke:m=(l>0?"none":"white"),strokeWidth:f=10,strokeLinejoin:g="round",padAngle:v=("none"===m?2/c:0),emptyState:b=!1}={})=>{const y=Cn["h"](e,t),w=Cn["h"](e,i),_=Cn["l"](y.length).filter(e=>!isNaN(w[e]));void 0===p&&(p=y),p=new Cn["a"](p),void 0===h&&(h=Cn["p"][p.size]),void 0===h&&(h=Cn["k"](e=>Cn["g"](.8*e+.1),p.size));const C=Cn["o"](p,h);if(void 0===r){const e=Cn["f"](u);r=t=>""+e(w[t])}else{const t=Cn["h"](e,e=>e),i=r;r=n=>i(t[n],n,e)}const k=Cn["j"]().padAngle(v).sort(null).value(e=>w[e])(_),P=Cn["b"]().innerRadius(l).outerRadius(c),S=Cn["b"]().innerRadius(d).outerRadius(d),D=Cn["e"]("svg").attr("width",s).attr("height",o).attr("viewBox",[-s/2,-o/2,s,o]).attr("style","max-width: 100%; height: auto; height: intrinsic;");if(D.append("g").attr("stroke",m).attr("stroke-width",f).attr("stroke-linejoin",g).selectAll("path").data(k).join("path").attr("fill",e=>C(y[e.data])).attr("d",P).append("title").text(e=>r(e.data)),D.append("g").attr("font-family","sans-serif").attr("font-size",14).attr("text-anchor","middle").selectAll("text").data(k).join("text").attr("transform",e=>`translate(${S.centroid(e)})`).selectAll("tspan").data(e=>{if(b)return["0%"];const t=(""+r(e.data)).split(/\n/);return e.endAngle-e.startAngle>.25?t:t.slice(0,1)}).join("tspan").attr("x",0).attr("y",(e,t)=>"0.3em").attr("font-weight",(e,t)=>t?null:"bold").attr("fill","#fff").text(e=>e),n){D.append("text").attr("font-size",12).attr("dy","-.75em").attr("text-anchor","middle").attr("fill","var(--color-text-secondary)").text("Total");const e=Cn["f"](a);D.append("text").attr("dy",".75em").attr("font-size",14).attr("text-anchor","middle").attr("font-weight","bold").attr("fill","var(--color-text-primary)").text(e(n))}return Object.assign(D.node(),{scales:{color:C}})};var Pn=i("b279");const Sn=(e,{x:t=((e,t)=>t),y:i=(e=>e),title:n,marginTop:a=20,marginRight:r=0,marginBottom:s=40,marginLeft:o=40,width:l=640,height:c=210,xDomain:d,xRange:u=[o,l-r],xLabelShow:p=(e=>!0),xLabelRotation:h=0,yType:m=Cn["n"],yDomain:f,yRange:g=[c-s,a],yTicks:v=c/40,xPadding:b=.1,yFormat:y,yTickFormat:w=null,yLabel:_,color:C="currentColor"}={})=>{const k=Cn["h"](e,t),P=Cn["h"](e,i);void 0===d&&(d=k),void 0===f&&(f=[0,Cn["i"](P)]),d=new Cn["a"](d);const S=Cn["l"](k.length).filter(e=>d.has(k[e])),D=Cn["m"](d,u).padding(b),x=m(f,g),T=Cn["c"](D).tickSizeOuter(0),I=Cn["d"](x).ticks(v,y);if(w&&I.tickFormat(w),void 0===n){const e=x.tickFormat(100,y);n=t=>`${k[t]}: ${e(P[t])}`}else{const t=Cn["h"](e,e=>e),i=n;n=n=>i(t[n],n,e)}const F=Cn["e"]("svg").attr("width",l).attr("height",c).attr("viewBox",[0,0,l,c]).attr("style","max-width: 100%; height: auto; height: intrinsic;");F.append("g").attr("transform",`translate(${o},0)`).call(I).call(e=>e.selectAll(".tick line").clone().attr("x2",l-o-r).attr("stroke-opacity",.1)).call(e=>e.selectAll("text").attr("font-size",11));const A=F.append("g").attr("fill",C).selectAll("rect").data(S).join("rect").attr("x",e=>D(k[e])).attr("y",e=>x(P[e])).attr("height",e=>x(0)-x(P[e])).attr("width",D.bandwidth()).attr("rx",2);return n&&A.append("title").text(n),F.append("g").attr("transform",`translate(0,${c-s})`).call(T).selectAll("text").attr("transform",h?`translate(-10,0)rotate(-${h})`:"").attr("font-size",11).call((function(e){e.each((function(e,t){var i=Cn["q"](this),n=i.text().split("\r")[0].split("\n");i.text(""),p(t)&&(i.append("tspan").attr("x",0).attr("dy","1em").attr("text-anchor",h?"end":"middle").text(n[0]),2===n.length&&i.append("tspan").attr("x",0).attr("dy","1.2em").text(n[1]))}))})),F.node()},Dn=(e,t,i="day",n)=>{const a=e/t,r="day"===i?30:"week"===i?70:35,s=20;let o,l;return a>=r?(o=1,l=0):(o=Math.ceil(s/a),l=45),{frequency:o,rotation:l,value:e=>{const t=H()(e.key);let a,r="";if("day"===i)a=Object(Pn["b"])(t,"M/D"),r=Object(Pn["b"])(t,"ddd");else if("week"===i){a=Object(Pn["b"])(t,"M/D");const e=t.clone().endOf("week"),i=e.isBefore(n)?e:n;a+="-"+(i.month()===t.month()?i.format("D"):i.format("M/D")),r=6===i.diff(t,"days")?"Week "+t.week():""}else"month"===i?(a=Object(Pn["b"])(t,"MMM"),r=Object(Pn["b"])(t,"YYYY")):a=Object(Pn["b"])(t,"YYYY");let s=a;0===l&&(s+="\n"+r);const o=Object(Pn["b"])(t,"M/D/YYYY");return s+="\r"+o,s},shouldShow:e=>e%o===0}},xn="statsGrouping",Tn="YYYY-MM-DD",In="statsFiltering",Fn={timePeriod:{title:""+G["a"].t("Time Period"),buildQueryParam:Xi,values:[{key:"none",title:""+G["a"].t("All")},{key:"this_week",title:""+G["a"].t("This Week")},{key:"this_month",title:""+G["a"].t("This Month")},{key:"this_year",title:""+G["a"].t("This Year")},{key:"custom",title:""+G["a"].t("Custom")}],default:"none"},printStatus:{title:""+G["a"].t("Print Status"),queryParam:"filter",values:[{key:"none",title:""+G["a"].t("All")},{key:"finished",title:""+G["a"].t("Finished")},{key:"cancelled",title:""+G["a"].t("Cancelled")}],default:"none"},printers:{title:""+G["a"].t("Printers"),queryParam:"filter_by_printer_ids",multiple:!0,values:[{key:"none",title:""+G["a"].t("All"),includesAll:!0}],default:"none"}};var An={name:"StatsPage",components:{PageLayout:Ft,MutedAlert:_n,CascadedDropdown:ci,FilteringDropdown:Si,ActiveFilterNotice:Ai,DatePickerModal:Wi,HelpWidget:Zi},data:function(){return{user:null,stats:null,groupingOptions:[{key:"auto",title:"Auto"},{key:"day",title:"Day"},{key:"week",title:"Week"},{key:"month",title:"Month"},{key:"year",title:"Year"}],activeGrouping:Object(s["a"])(xn,"auto"),filterLocalStoragePrefix:In,filterOptions:Fn,filterValues:_i(In,Fn)}},computed:{defaultStatsParams(){return{timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,from_date:H()(this.user.date_joined).format(Tn),to_date:H()(new Date).format(Tn),group_by:this.getActiveGrouping()}},isEmptyState(){var e;return!(null!==(e=this.stats)&&void 0!==e&&e.total_print_count)},finishedPrintsPercentage(){var e,t;const i=null===(e=this.stats)||void 0===e?void 0:e.total_succeeded_print_count,n=null===(t=this.stats)||void 0===t?void 0:t.total_print_count;return i&&n?Math.round(i/n*100):0},cancelledPrintsPercentage(){var e;const t=null===(e=this.stats)||void 0===e?void 0:e.total_print_count;return t?100-this.finishedPrintsPercentage:0},totalFilamentUsedFormatted(){var e;return ve(null===(e=this.stats)||void 0===e?void 0:e.total_filament_used)}},created(){this.user=Object(Q["f"])(),this.updateCustomPeriodFilterSubtitle(),oe["a"].get(le["a"].printers(),{params:{with_archived:!1}}).then(e=>{if(e.data.forEach(e=>{this.filterOptions.printers.values.push({key:String(e.id),title:e.name})}),"none"!==this.filterValues.printers){const t=e.data.map(e=>String(e.id));this.filterValues.printers=this.filterValues.printers.filter(e=>t.includes(e)),Object(s["b"])(In+"-printers",this.filterValues.printers)}this.fetchStats()})},mounted(){addEventListener("resize",this.drawCharts)},unmounted(){removeEventListener("resize",this.drawCharts)},methods:{getFilterParamsFromQuery(){let e={};const t=new URLSearchParams(window.location.search),i=t.entries(),n=["hide_header"];for(const[a,r]of i)a&&r&&!n.includes(a)&&(e[a]=e[a]?Array.isArray(e[a])?[...e[a],r]:[e[a],r]:r);return console.log("params",e),e},fetchStats(){oe["a"].get(le["a"].stats(),{params:{with_deleted:!0,...this.defaultStatsParams,...Ci(this.filterOptions,this.filterValues,this.customFilterParamsBuilder),...this.getFilterParamsFromQuery()}}).then(e=>{this.stats=e.data,this.$nextTick(this.drawCharts)}).catch(e=>{this.errorDialog(e,""+this.$i18next.t("Failed to fetch statistics"))})},updateChartGrouping(e){this.activeGrouping=e.key,Object(s["b"])(xn,e.key),this.fetchStats()},drawCharts(){if(!this.stats)return;this.$refs.totalPrintsDonutChart.replaceChildren(kn([{name:"Finished",value:this.isEmptyState?.5:this.finishedPrintsPercentage/100},{name:"Cancelled",value:this.isEmptyState?.5:this.cancelledPrintsPercentage/100}],{name:e=>e.name,value:e=>e.value,format:".0%",totalValue:this.isEmptyState?"0":this.stats.total_succeeded_print_count+this.stats.total_cancelled_print_count,names:["Finished","Cancelled"],colors:["var(--color-success)","var(--color-danger)"],emptyState:this.isEmptyState}));const e=Math.max(...this.stats.print_count_groups.map(e=>e.value));this.drawBarChart({data:this.stats.print_count_groups,ref:this.$refs.printCountGroupsChart,yFormat:"d",titleValue:e=>e+" print(s)",yDomain:[0,e||1],yTicks:Math.min(e||1,5)});const t=Math.max(...this.stats.print_time_groups.map(e=>e.value)),i=Math.round(t/3600);this.drawBarChart({data:this.stats.print_time_groups.map(e=>({...e,value:e.value/3600})),ref:this.$refs.printTimeGroupsChart,yFormat:"d",yTickFormat:e=>e>8760?Math.round(e/8760)+"y":e>=24?Math.round(e/24)+"d":e+"h",titleValue:e=>this.humanizedDuration(3600*e),yDomain:[0,i||1],yTicks:Math.min(i||1,5)});const n=Math.max(...this.stats.filament_used_groups.map(e=>e.value)),a=Math.round(n/1e3);this.drawBarChart({data:this.stats.filament_used_groups.map(e=>({...e,value:e.value/1e3})),ref:this.$refs.filamentUsedGroupsChart,yFormat:"d",yTickFormat:e=>e+"m",titleValue:e=>e>=1e3?Math.round(e/1e3)+"km":e+"m",yDomain:[0,a||1],yTicks:Math.min(a||1,5)})},drawBarChart({data:e,ref:t,yFormat:i,yTickFormat:n,yTicks:a,yDomain:r,titleValue:s}){var o;const l=t.offsetWidth,c=e.length,d=Dn(l,c,(null===(o=this.getFilterParamsFromQuery())||void 0===o?void 0:o.group_by)||this.getActiveGrouping(),tn(this.filterValues.timePeriod,this.getCurrentDateTo()));t.replaceChildren(Sn(e,{xLabelRotation:d.rotation,xLabelShow:d.shouldShow,x:d.value,y:e=>e.value,yFormat:i,yTickFormat:n,yDomain:r,yTicks:a,width:l,color:"var(--color-divider)",title:e=>{const t=d.value(e).split("\r")[0].split("\n");return`${t[0]+(t[1]?", "+t[1]:"")} — ${s?s(e.value):e.value}`},marginBottom:55}))},humanizedDuration:fe,onFilterUpdated(e,t){this.filterValues[e]=t,this.fetchStats()},resetFilters(){for(const e of Object.keys(this.filterValues))this.filterValues[e]="none",Object(s["b"])(`${In}-${e}`,"none");this.updateCustomPeriodFilterSubtitle(),this.fetchStats()},getActiveGrouping(){return"auto"===this.activeGrouping?nn(this.filterValues.timePeriod,this.getCurrentDateFrom(),this.getCurrentDateTo(),this.user):this.activeGrouping},getCurrentDateFrom(){return Object(s["a"])(In+"-timePeriod-dateFrom")||null},getCurrentDateTo(){return Object(s["a"])(In+"-timePeriod-dateTo")||null},filterUpdateMixin(e,t){if("timePeriod"===e){if("custom"===t){if("custom"!==this.filterValues.timePeriod)this.$refs.datePickerModal.show();else{const e=this.getCurrentDateFrom(),t=this.getCurrentDateTo();this.$refs.datePickerModal.show(e,t)}return}this.$nextTick(()=>{this.updateCustomPeriodFilterSubtitle()})}return!0},onDatesPicked(e,t){(e||t)&&(this.filterValues.timePeriod="custom",Object(s["b"])(In+"-timePeriod","custom"),Object(s["b"])(In+"-timePeriod-dateFrom",e),Object(s["b"])(In+"-timePeriod-dateTo",t),this.updateCustomPeriodFilterSubtitle(),this.fetchStats())},customFilterParamsBuilder(e,t){if("timePeriod"===e)return this.filterOptions[e].buildQueryParam(t,this.getCurrentDateFrom(),this.getCurrentDateTo(),this.user)},updateCustomPeriodFilterSubtitle(){let e="";if("custom"===this.filterValues.timePeriod){const t="MMM D, YYYY",i=this.getCurrentDateFrom(),n=this.getCurrentDateTo(),a=i?H()(i).format(t):"Until",r=n?H()(n).format(t):"and later";e=`${a}${i&&n?" - ":" "}${r}`}const t=this.filterOptions.timePeriod.values.findIndex(e=>"custom"===e.key);this.filterOptions.timePeriod.values[t].subtitle=e,this.$refs.filteringDropdown1&&this.$refs.filteringDropdown1.$forceUpdate(),this.$refs.filteringDropdown2&&this.$refs.filteringDropdown2.$forceUpdate()}}},$n=An,On=(i("a1cb"),Object(N["a"])($n,mn,fn,!1,null,"7397c062",null)),Nn=On.exports,Ln=function(){var e=this,t=e._self._c;return t("page-layout",{scopedSlots:e._u([{key:"topBarLeft",fn:function(){return[t("div",{staticClass:"actions-with-selected-desktop"},[t("b-form-group",{staticClass:"m-0"},[t("b-form-checkbox",{attrs:{size:"lg"},model:{value:e.allPrintsSelected,callback:function(t){e.allPrintsSelected=t},expression:"allPrintsSelected"}})],1),t("div",[t("span",{directives:[{name:"show",rawName:"v-show",value:!e.selectedPrintIds.size,expression:"!selectedPrintIds.size"}],staticClass:"label",on:{click:function(t){e.allPrintsSelected=!e.allPrintsSelected}}},[e._v(e._s(e.$t("Select all")))]),t("b-dropdown",{directives:[{name:"show",rawName:"v-show",value:e.selectedPrintIds.size,expression:"selectedPrintIds.size"}],attrs:{"toggle-class":"btn btn-sm actions-with-selected-btn"},scopedSlots:e._u([{key:"button-content",fn:function(){return[e._v(" "+e._s(e.selectedPrintIds.size)+" item"+e._s(1===e.selectedPrintIds.size?"":"s")+" "+e._s(e.$t("selected..."))+" ")]},proxy:!0}])},[t("b-dropdown-item",[t("div",{staticClass:"text-danger",on:{click:e.onDeleteBtnClick}},[t("i",{staticClass:"far fa-trash-alt"}),e._v(e._s(e.$t("Delete"))+" ")])])],1)],1)],1)]},proxy:!0},{key:"topBarRight",fn:function(){return[t("div",{staticClass:"action-panel"},[t("b-dropdown",{attrs:{right:"","no-caret":"","toggle-class":"action-btn icon-btn",title:e.$t("Sort By")},scopedSlots:e._u([{key:"button-content",fn:function(){return[t("i",{staticClass:"fas fa-sort-amount-down"})]},proxy:!0}])},[t("sorting-dropdown",{attrs:{"local-storage-prefix":e.sortingLocalStoragePrefix,"sorting-options":e.sortingOptions,"sorting-value":e.sortingValue},on:{onSortingUpdated:e.onSortingUpdated}})],1),t("b-dropdown",{attrs:{right:"","no-caret":"","toggle-class":"action-btn icon-btn","menu-class":"scrollable",title:e.$t("Filter")},scopedSlots:e._u([{key:"button-content",fn:function(){return[t("i",{staticClass:"fas fa-filter"})]},proxy:!0}])},[t("filtering-dropdown",{attrs:{"local-storage-prefix":e.filterLocalStoragePrefix,"filter-options":e.filterOptions,"filter-values":e.filterValues},on:{onFilterUpdated:e.onFilterUpdated}})],1),t("b-dropdown",{attrs:{right:"","no-caret":"","toggle-class":"icon-btn d-md-none"},scopedSlots:e._u([{key:"button-content",fn:function(){return[t("i",{staticClass:"fas fa-ellipsis-v"})]},proxy:!0}])},[t("cascaded-dropdown",{ref:"cascadedDropdown",attrs:{"menu-options":[{key:"sorting",icon:"fas fa-sort-amount-down",title:e.$t("Sort"),expandable:!0},{key:"filtering",icon:"fas fa-filter",title:e.$t("Filter"),expandable:!0}]},scopedSlots:e._u([{key:"sorting",fn:function(){return[t("sorting-dropdown",{attrs:{"local-storage-prefix":e.sortingLocalStoragePrefix,"sorting-options":e.sortingOptions,"sorting-value":e.sortingValue},on:{onSortingUpdated:e.onSortingUpdated}})]},proxy:!0},{key:"filtering",fn:function(){return[t("filtering-dropdown",{attrs:{"local-storage-prefix":e.filterLocalStoragePrefix,"filter-options":e.filterOptions,"filter-values":e.filterValues},on:{onFilterUpdated:e.onFilterUpdated}})]},proxy:!0}])})],1)],1)]},proxy:!0},{key:"content",fn:function(){return[t("active-filter-notice",{attrs:{"filter-values":e.filterValues},on:{onShowAllClicked:e.resetFilters}}),t("b-container",[t("b-row",{directives:[{name:"show",rawName:"v-show",value:e.prints.length,expression:"prints.length"}],staticClass:"print-cards"},e._l(e.visiblePrints,(function(i){return t("print-card",{key:i.id,attrs:{print:i,selected:e.selectedPrintIds.has(i.id)},on:{selectedChanged:e.onSelectedChanged,printDeleted:e.onPrintDeleted,printDataChanged:e.printDataChanged,fullscreen:e.openFullScreen}})})),1),t("mugen-scroll",{staticClass:"text-center p-4",attrs:{handler:e.fetchMoreData,"should-handle":!e.loading}},[e.noMoreData?t("div",{staticClass:"text-center p-2"},[e._v(e._s(e.$t("No more time-lapses.")))]):e._e(),e.noMoreData?e._e():t("b-spinner",{attrs:{label:e.$t("Loading...")}})],1),t("b-modal",{attrs:{id:"tl-fullscreen-modal",size:"full","hide-header":!0,"hide-footer":!0},on:{hidden:e.fullScreenClosed}},[t("FullScreenPrintCard",{attrs:{print:e.fullScreenPrint,"video-url":e.fullScreenPrintVideoUrl,autoplay:!0}})],1)],1)]},proxy:!0}])})},Mn=[],En=i("dd61"),Rn=i.n(En),zn=function(){var e=this,t=e._self._c;return t("div",{staticClass:"col-sm-12 col-md-6 col-lg-4 print-card"},[t("div",{staticClass:"card vld-parent"},[e.isPublic?t("div",{staticClass:"card-header"},[e._v("- By "+e._s(e.print.creator_name))]):t("div",{staticClass:"card-header"},[t("div",{style:{visibility:e.hasSelectedChangedListener?"visible":"hidden"}},[t("b-form-checkbox",{staticClass:"text-decoration-none",attrs:{size:"lg"},model:{value:e.isSelected,callback:function(t){e.isSelected=t},expression:"isSelected"}})],1),t("b-form-radio-group",{attrs:{buttons:"","button-variant":"outline-primary",name:"radio-btn-outline"},model:{value:e.selectedCardView,callback:function(t){e.selectedCardView=t},expression:"selectedCardView"}},[t("b-form-radio",{staticClass:"no-corner no-shadow",attrs:{value:"detective",disabled:!e.canShowDetectiveView}},[t("i",{staticClass:"fas fa-balance-scale"})]),t("b-form-radio",{staticClass:"no-corner no-shadow",attrs:{value:"info"}},[t("i",{staticClass:"fas fa-info"})])],1),t("b-dropdown",{attrs:{right:"","no-caret":"","toggle-class":"icon-btn"},scopedSlots:e._u([{key:"button-content",fn:function(){return[t("i",{staticClass:"fas fa-ellipsis-v"})]},proxy:!0}])},[e.print.video_url&&!e.print.video_archived_at?t("b-dropdown-item",{attrs:{href:e.print.video_url,target:"_blank"}},[t("i",{staticClass:"fas fa-download"}),e._v(e._s(e.$t("Download Original Time-lapse"))+" ")]):e._e(),e.print.tagged_video_url&&!e.print.video_archived_at?t("b-dropdown-item",{attrs:{href:e.print.tagged_video_url,target:"_blank"}},[t("i",{staticClass:"fas fa-download"}),e._v(e._s(e.$t("Download Detective Time-lapse"))+" ")]):e._e(),t("b-dropdown-divider"),t("b-dropdown-item",{on:{click:e.deleteVideo}},[t("span",{staticClass:"text-danger"},[e._v(e._s(e.$t(" "))),t("i",{staticClass:"fas fa-trash-alt"}),e._v(e._s(e.$t("Delete"))+" ")])])],1)],1),t("div",[e.print.video_archived_at?t("div",{staticClass:"position-relative"},[t("div",{staticClass:"poster-placeholder-wrapper"},[t("svg",{staticClass:"poster-placeholder"},[t("use",{attrs:{href:e.posterSrc}})])]),t("div",{staticClass:"archived-info"},[t("div",{staticClass:"text"},[e._v(" "+e._s(e.$t("Video file is deleted."))+" "),t("a",{attrs:{href:"#"},on:{click:function(t){return e.showVideoArchivedDescription(t)}}},[e._v(e._s(e.$t("Why?")))])])])]):t("div",[e.videoUrl?t("video-box",{attrs:{"video-url":e.videoUrl,"poster-url":e.print.poster_url,fluid:!0,"fullscreen-btn":e.hasFullscreenListener},on:{timeupdate:e.onTimeUpdate,fullscreen:function(t){return e.$emit("fullscreen",e.print.id,e.videoUrl)}}}):t("div",[t("detective-working")],1)],1),t("div",{directives:[{name:"show",rawName:"v-show",value:"info"==e.cardView&&!e.isPublic,expression:"cardView == 'info' && !isPublic"}]},[t("div",{staticClass:"card-body"},[t("div",{staticClass:"container"},[t("div",{staticClass:"row"},[t("div",{staticClass:"text-muted col-4"},[e._v(" "+e._s(e.$t("File"))+" "),t("span",{staticClass:"float-right"},[e._v(":")])]),t("div",{staticClass:"col-8"},[e._v(e._s(e.print.filename))])]),t("div",{directives:[{name:"b-tooltip",rawName:"v-b-tooltip.hover",modifiers:{hover:!0}}],staticClass:"row",attrs:{title:e.humanizedPrintedOrUploadedTime(e.longFormat=!0)}},[t("div",{staticClass:"text-muted col-4"},[e._v(" "+e._s(e.wasTimelapseUploaded?"Uploaded":"Printed")+" "),t("span",{staticClass:"float-right"},[e._v(":")])]),t("div",{staticClass:"col-8"},[e._v(e._s(e.humanizedPrintedOrUploadedTime())+" "+e._s(e.endStatus))])]),!e.wasTimelapseUploaded&&e.duration?t("div",{staticClass:"row",attrs:{id:"dur-"+e.print.id}},[t("b-tooltip",{attrs:{target:"dur-"+e.print.id,triggers:"hover"}},[e._v(" "+e._s(e._f("floor")(e._f("duration")(e.duration,"asHours")))+":"+e._s(e._f("duration")(e.duration,"minutes"))+":"+e._s(e._f("duration")(e.duration,"seconds"))+" ")]),t("div",{staticClass:"text-muted col-4"},[e._v(" "+e._s(e.$t("Duration"))+" "),t("span",{staticClass:"float-right"},[e._v(":")])]),t("div",{staticClass:"col-8"},[e._v(e._s(e.duration.humanize()))])],1):e._e()])])]),e.isPublic?t("div",{staticClass:"bg-warning alert-banner text-center",style:{opacity:e.normalizedP>.4?1:0}},[t("i",{staticClass:"fas fa-exclamation-triangle"}),e._v(" "+e._s(e.$t("Possible failure detected!"))+" ")]):e._e(),t("div",{directives:[{name:"show",rawName:"v-show",value:"detective"==e.cardView||e.isPublic,expression:"cardView == 'detective' || isPublic"}]},[e.print.prediction_json_url?t("failure-detection-gauge",{attrs:{"normalized-p":e.normalizedP}}):e._e(),e.isPublic?e._e():t("div",{staticClass:"feedback-section"},[t("div",{staticClass:"text-center py-2 px-3"},[t("div",{staticClass:"lead",class:[e.print.alerted_at?"text-danger":"text-success"]},[e._v(" "+e._s(e.print.alerted_at?"Failure detected":"No failure detected")+" ")]),t("div",{staticClass:"py-2"},[e._v(" "+e._s(e.$t("Did we get it right?"))+" "),t("b-button",{staticClass:"mx-2 btn-sm",attrs:{variant:e.thumbedUp?"primary":"outline"},on:{click:e.onThumbUpClick}},[e.inflightAlertOverwrite?t("b-spinner",{attrs:{type:"grow",small:""}}):t("i",{staticClass:"fas fa-thumbs-up"})],1),t("b-button",{staticClass:"mx-2 btn-sm",attrs:{variant:e.thumbedDown?"primary":"outline"},on:{click:e.onThumbDownClick}},[e.inflightAlertOverwrite?t("b-spinner",{attrs:{type:"grow",small:""}}):t("i",{staticClass:"fas fa-thumbs-down"})],1)],1),t("transition",{attrs:{name:"bounce"}},[e.print.printShotFeedbackEligible?t("div",{staticClass:"pt-2"},[t("a",{staticClass:"btn btn-sm btn-outline-primary px-4",attrs:{role:"button",href:e.focusedFeedbackLink}},[e._v(" F "),t("i",{staticClass:"fas fa-search focused-feedback-icon"}),e._v(e._s(e.$t("CUSED FEEDBACK"))+" "),e.print.need_print_shot_feedback?t("svg",{staticClass:"seg-control-icon ml-1 double-hours-icon"},[t("use",{attrs:{href:"#svg-hour-double"}})]):e._e()])]):e._e()])],1),t("div",{staticClass:"text-muted py-2 px-3 help-text"},[e.print.printShotFeedbackEligible?t("small",[e.print.need_print_shot_feedback?t("span",[e._v(" "+e._s(e.$t("With Focused Feedback, you can tell us exactly where we got it wrong. This is the most effective way to help us improve."))+" "),t("a",{attrs:{href:e.getDocUrl("/user-guides/how-does-credits-work#you-earn-detective-hours-for-giving-focused-feedback")}},[e._v(e._s(e.$t("You will earn 2 AI Detection Hours once you finish the Focused Feedback")))]),e._v(". ")]):t("span",[e._v(e._s(e.$t("Thank you for completing the Focused Feedback. You have earned 2 non-expirable AI Detection Hours. You can click the button again to change your feedback.")))])]):t("small",[e._v(" "+e._s(e.$t("Every time you give us feedback,"))+" "),t("a",{attrs:{href:e.getDocUrl("/user-guides/how-does-credits-work/")}},[e._v(e._s(e.$t("you help us get better at detecting failures")))]),e._v(". ")])])])],1)])])])},Bn=[],Un=function(){var e=this,t=e._self._c;return t("div",{staticClass:"obico-gauge-container"},[t("span",{style:{color:e.titleColor},attrs:{id:"title"}},[e._v(e._s(e.titleText))]),t("div",{staticClass:"obico-gauge"},[t("radial-gauge",{attrs:{value:e.value,options:e.computedOptions}})],1),t("hr")])},jn=[],Wn=i("7489"),Hn=i("59cf"),Vn={name:"FailureDetectionGauge",components:{RadialGauge:Wn["a"]},props:{normalizedP:{type:Number,required:!0},isWatching:{type:Boolean,default:!0},options:{type:Object,default:null}},computed:{computedOptions(){if(null!==this.options)return this.options;const e={highlight1:Object(S["a"])()===Hn["a"].Light?"#929292":"#8395a7",highlight2:Object(S["a"])()===Hn["a"].Light?"#b7b7b7":"#a8bacc",highlight3:Object(S["a"])()===Hn["a"].Light?"#7b7b7b":"#6c7e90",needle:Object(S["a"])()===Hn["a"].Light?"#2d3e4f":"#ffffff"};return{valueDec:0,valueInt:0,width:240,height:240,units:!1,box:!1,minValue:0,maxValue:100,majorTicks:["","","",""],minorTicks:4,highlights:[{from:0,to:33,color:this.isWatching?"#5cb85c":e.highlight1},{from:33,to:67,color:this.isWatching?"#f0ad4e":e.highlight2},{from:67,to:100,color:this.isWatching?"#d9534f":e.highlight3}],colorPlate:"rgba(255,255,255,.0)",colorTitle:"#5cb85c",colorStrokeTicks:"#EBEBEB",colorNeedleEnd:this.isWatching?"rgba(255, 160, 122, .9)":e.needle,colorNeedle:this.isWatching?"rgba(240, 128, 128, 1)":e.needle,colorNeedleShadowUp:this.isWatching?"rgba(2,255,255,0.2)":e.needle,valueBox:!1,animationRule:"bounce",animationDuration:500,animatedValue:!0,startAngle:90,ticksAngle:180,borders:!1}},value(){return 100*this.normalizedP},titleText(){if(!this.isWatching)return""+this.$i18next.t("Not Watching");switch(this.level()){case 0:return""+this.$i18next.t("Looking Good");case 1:return""+this.$i18next.t("Fishy...");case 2:return""+this.$i18next.t("Failing!");default:return""+this.$i18next.t("Looking Good")}},titleColor(){if(!this.isWatching)return"var(--color-text-secondary)";switch(this.level()){case 0:return"#5cb85c";case 1:return"#f0ad4e";case 2:return"#d9534f";default:return"#5cb85c"}}},methods:{level(){return this.value>66?2:this.value>33?1:0}}},Yn=Vn,Gn=(i("cf8b"),Object(N["a"])(Yn,Un,jn,!1,null,"465c0e04",null)),Kn=Gn.exports,qn={name:"PrintCard",components:{VideoBox:zt,FailureDetectionGauge:Kn,DetectiveWorking:Vt},props:{print:{type:Object,required:!0},isPublic:{type:Boolean,default:!1},selected:{type:Boolean,default:!1}},data:function(){return{ALERT_THRESHOLD:.4,currentPosition:0,predictions:[],selectedCardView:"detective",inflightAlertOverwrite:null,isSelected:this.selected}},computed:{wasTimelapseUploaded(){return null!==this.print.uploaded_at},endStatus(){return this.print.cancelled_at?""+this.$i18next.t("(Cancelled)"):""},duration(){return this.print.ended_at&&this.print.started_at?H.a.duration(this.print.ended_at.diff(this.print.started_at)):null},canShowDetectiveView(){return null!==this.print.prediction_json_url&&null!==this.print.tagged_video_url||!!(this.print.uploaded_at&&H()().diff(this.print.uploaded_at,"hours")<24)},cardView(){return this.canShowDetectiveView?this.selectedCardView:"info"},videoUrl(){return"info"==this.cardView?this.print.video_url:this.print.tagged_video_url},thumbedUp(){return!!this.print.alert_overwrite&&this.print.has_alerts^"NOT_FAILED"===this.print.alert_overwrite},thumbedDown(){return!!this.print.alert_overwrite&&this.print.has_alerts^"FAILED"===this.print.alert_overwrite},focusedFeedbackLink(){return`/prints/shot-feedback/${this.print.id}/`},hasSelectedChangedListener(){return Boolean(this.$listeners&&this.$listeners.selectedChanged)},hasFullscreenListener(){return Boolean(this.$listeners&&this.$listeners.fullscreen)},normalizedP(){return Object(Pn["d"])(this.predictions,this.currentPosition,this.isPublic)},posterSrc(){return this.print.poster_url||"#svg-3d-printer"}},watch:{isSelected(e){this.$emit("selectedChanged",this.print.id,e)}},mounted(){this.print.prediction_json_url&&this.fetchPredictions(),this.print.tagged_video_url||(this.selectedCardView="info")},methods:{onTimeUpdate(e){this.currentPosition=e},deleteVideo(){oe["a"].delete(le["a"].print(this.print.id)).then(()=>{this.$emit("printDeleted",this.print.id)})},onThumbUpClick(){this.inflightAlertOverwrite=this.print.has_alerts?"FAILED":"NOT_FAILED",this.alertOverwrite(this.inflightAlertOverwrite)},onThumbDownClick(){this.inflightAlertOverwrite=this.print.has_alerts?"NOT_FAILED":"FAILED",this.alertOverwrite(this.inflightAlertOverwrite)},alertOverwrite(e){oe["a"].patch(le["a"].print(this.print.id),{alert_overwrite:e}).then(e=>{this.$emit("printDataChanged",e.data),this.inflightAlertOverwrite=null})},fetchPredictions(){oe["a"].get(this.print.prediction_json_url).then(e=>{this.predictions=e.data})},humanizedPrintedOrUploadedTime(e=!1){if(!this.print.uploaded_at&&!this.print.ended_at)return"-";const t=this.wasTimelapseUploaded?this.print.uploaded_at:this.print.ended_at;return e?t.format("LLLL"):t.fromNow()},showVideoArchivedDescription(e){e.preventDefault(),this.$swal.Prompt.fire({title:""+this.$i18next.t("Time-lapse video deleted"),html:`\n

${this.$i18next.t("Time-lapse videos older than 6-months are deleted from the {brandName} app server as they are rarely needed and cost significant amount to store in the cloud.",{brandName:this.$syndicateText.brandName})}

\n

${this.$i18next.t("If you are a Pro subscriber and you don't want your time-lapse videos to be deleted, please ")}${this.$i18next.t("contact us")}.

\n `,showCloseButton:!0})}}},Jn=qn,Zn=(i("d70d"),Object(N["a"])(Jn,zn,Bn,!1,null,"5aae4a5a",null)),Qn=Zn.exports,Xn=function(){var e=this,t=e._self._c;return t("div",[t("video-box",{attrs:{"video-url":e.videoUrl,"poster-url":e.print.poster_url,fluid:!1,autoplay:e.autoplay,"fullscreen-btn":!1},on:{timeupdate:e.onTimeUpdate}}),e.isPublic?t("div",{staticClass:"bg-warning alert-banner text-center",style:{opacity:e.normalizedP>.4?1:0}},[t("i",{staticClass:"fas fa-exclamation-triangle"}),e._v(" "+e._s(e.$t("Possible failure detected!"))+" ")]):e._e(),t("failure-detection-gauge",{attrs:{"normalized-p":e.normalizedP}})],1)},ea=[],ta={name:"FullScreenPrintCard",components:{VideoBox:zt,FailureDetectionGauge:Kn},props:{print:{type:Object,required:!0},videoUrl:{type:String,required:!0},initialPosition:{type:Number,default:()=>0},autoplay:{type:Boolean,default:()=>!1},isPublic:{type:Boolean,default:!1}},data(){return{currentPosition:0,predictions:[]}},computed:{normalizedP(){return Object(Pn["d"])(this.predictions,this.currentPosition,this.isPublic)}},mounted(){this.print.prediction_json_url&&this.fetchPredictions()},methods:{onTimeUpdate(e){this.currentPosition=e},fetchPredictions(){oe["a"].get(this.print.prediction_json_url).then(e=>{this.predictions=e.data})}}},ia=ta,na=(i("459e"),Object(N["a"])(ia,Xn,ea,!1,null,"64113028",null)),aa=na.exports;const ra=6,sa="printsPageSorting",oa={options:[{title:""+G["a"].t("Date"),key:"date"}],default:{sorting:"date",direction:"desc"}},la="printsPageFiltering",ca={printStatus:{title:""+G["a"].t("Print Status"),queryParam:"filter",values:[{key:"none",title:""+G["a"].t("All")},{key:"finished",title:""+G["a"].t("Finished")},{key:"cancelled",title:""+G["a"].t("Cancelled")}],default:"none"},feedbackNeeded:{title:""+G["a"].t("Feedback Needed"),queryParam:"feedback_needed",values:[{key:"none",title:""+G["a"].t("All")},{key:"need_alert_overwrite",title:""+G["a"].t("Review Needed")},{key:"need_print_shot_feedback",title:""+G["a"].t("Focused Feedback Needed")}],default:"none"}};var da={name:"PrintsPage",components:{MugenScroll:ni.a,PrintCard:Qn,FullScreenPrintCard:aa,PageLayout:Ft,CascadedDropdown:ci,FilteringDropdown:Si,SortingDropdown:vi,ActiveFilterNotice:Ai},data:function(){return{prints:[],selectedPrintIds:new Set,loading:!1,noMoreData:!1,fullScreenPrint:null,fullScreenPrintVideoUrl:null,sortingLocalStoragePrefix:sa,sortingOptions:oa,sortingValue:mi(sa,oa),filterLocalStoragePrefix:la,filterOptions:ca,filterValues:_i(la,ca)}},computed:{visiblePrints(){return this.prints.filter(e=>e.ended_at)},allPrintsSelected:{get:function(){return this.selectedPrintIds.size>=this.prints.length&&0!==this.prints.length},set:function(e){this.selectedPrintIds=e?new Set(Rn()(this.prints,"id")):new Set}}},created(){this.refetchData()},methods:{fetchMoreData(){this.noMoreData||(this.loading=!0,oe["a"].get(le["a"].prints(),{params:{start:this.prints.length,limit:ra,...Ci(this.filterOptions,this.filterValues,this.customFilterParamsBuilder),sorting:`${this.sortingValue.sorting.key}_${this.sortingValue.direction.key}`}}).then(e=>{this.loading=!1,this.noMoreData=e.data.lengthTe(e)))}))},refetchData(){this.prints=[],this.selectedPrintIds=new Set,this.noMoreData=!1,this.fetchMoreData()},onSelectedChanged(e,t){const i=new Set(this.selectedPrintIds);t?i.add(e):i.delete(e),this.selectedPrintIds=i},onDeleteBtnClick(){const e=Array.from(this.selectedPrintIds);this.$swal.Prompt.fire({title:""+this.$i18next.t("Are you sure?"),text:""+this.$i18next.t("Delete {brandName} print(s)? This action can not be undone.",{brandName:this.$syndicateText.brandName}),showCancelButton:!0,confirmButtonText:""+this.$i18next.t("Yes"),cancelButtonText:""+this.$i18next.t("No")}).then(t=>{t.isConfirmed&&oe["a"].post(le["a"].printsBulkDelete(),{print_ids:e}).then(()=>{e.forEach(e=>this.onPrintDeleted(e,!1)),this.$swal.Toast.fire({title:""+this.$i18next.t("{name} time-lapse(s) deleted!",{name:e.length})}),this.selectedPrintIds=new Set})})},onPrintDeleted(e,t=!0){const i=pt()(this.prints,t=>t.id==e),n=this.prints[i];this.$delete(this.prints,i),t&&this.$swal.Toast.fire({title:""+this.$i18next.t("Time-lapse {name} deleted!",{name:n.filename})})},printDataChanged(e){const t=pt()(this.prints,t=>t.id==e.id);this.$set(this.prints,t,Te(e))},openFullScreen(e,t){const i=pt()(this.prints,t=>t.id==e);-1!=i&&(this.fullScreenPrint=this.prints[i],this.fullScreenPrintVideoUrl=t,this.$bvModal.show("tl-fullscreen-modal"))},fullScreenClosed(){this.fullScreenPrint=null,this.fullScreenPrintVideoUrl=null},onSortingUpdated(e){this.sortingValue=e,this.refetchData()},onFilterUpdated(e,t){this.filterValues[e]=t,this.refetchData()},resetFilters(){for(const e of Object.keys(this.filterValues))this.filterValues[e]="none",Object(s["b"])(`${la}-${e}`,"none");this.refetchData()}}},ua=da,pa=(i("366c"),Object(N["a"])(ua,Ln,Mn,!1,null,"7a698682",null)),ha=pa.exports,ma=function(){var e=this,t=e._self._c;return t("page-layout",{scopedSlots:e._u([{key:"content",fn:function(){return[e.isLoading?t("loading-placeholder"):t("b-container",{attrs:{fluid:""}},[t("b-row",[t("b-col",{attrs:{lg:"5"}},[t("div",{staticClass:"print-info"},[t("div",{staticClass:"card-container print-details"},[e.currentIndex||0===e.currentIndex?t("div",{staticClass:"navigation-container"},[t("b-button",{attrs:{variant:"outline-secondary",disabled:!e.prevPrint},on:{click:function(t){return t.preventDefault(),e.switchToPrint(e.prevPrint)}}},[t("i",{staticClass:"fas fa-chevron-left"}),e._v("  "+e._s(e.PrevPrintButtonTitle)+" ")]),t("div",{staticClass:"summary truncated-wrapper"},[t("div",{staticClass:"date truncated"},[e._v(" "+e._s(e.print.started_at.format(e.absoluteDateFormat))+" ")])]),t("b-button",{attrs:{variant:"outline-secondary",disabled:!e.nextPrint},on:{click:function(t){return t.preventDefault(),e.switchToPrint(e.nextPrint)}}},[e._v(" "+e._s(e.NextPrintButtonTitle)+"  "),t("i",{staticClass:"fas fa-chevron-right"})])],1):e._e(),t("div",[t("div",{staticClass:"info-line"},[t("div",{staticClass:"label"},[t("div",{staticClass:"icon"},[t("i",{staticClass:"fas fa-info"})]),t("div",{staticClass:"title"},[e._v(e._s(e.$t("Status")))])]),t("div",{staticClass:"value"},[t("div",{staticClass:"print-status-color",class:e.print.status.key},[e._v(" "+e._s(e.print.status.title)+" ")])])]),t("div",{staticClass:"info-line"},[t("div",{staticClass:"label"},[t("div",{staticClass:"icon"},[t("i",{staticClass:"far fa-clock"})]),t("div",{staticClass:"title"},[e._v(e._s(e.$t("Start time")))])]),t("div",{staticClass:"value"},[e._v(e._s(e.print.started_at.format(e.absoluteDateFormat)))])]),t("div",{staticClass:"info-line"},[t("div",{staticClass:"label"},[t("div",{staticClass:"icon"},[t("i",{staticClass:"far fa-clock"})]),t("div",{staticClass:"title"},[e._v(e._s(e.$t("End time")))])]),t("div",{staticClass:"value"},[e._v(" "+e._s(e.print.ended_at?e.print.ended_at.format(e.absoluteDateFormat):"-")+" ")])]),t("div",{staticClass:"info-line"},[t("div",{staticClass:"label"},[t("div",{staticClass:"icon"},[t("i",{staticClass:"fas fa-clock"})]),t("div",{staticClass:"title"},[e._v(e._s(e.$t("Duration")))])]),t("div",{staticClass:"value"},[e._v(e._s(e.print.duration||"-"))])]),t("div",{staticClass:"info-line"},[t("div",{staticClass:"label"},[t("div",{staticClass:"icon"},[t("i",{staticClass:"fas fa-ruler-horizontal"})]),t("div",{staticClass:"title"},[e._v(e._s(e.$t("Filament used")))])]),t("div",{staticClass:"value"},[e._v(" "+e._s(e.print.filament_used?e.humanizedFilamentUsage(e.print.filament_used):"-")+" ")])])])]),t("g-code-details",{attrs:{file:e.print.g_code_file||{filename:e.print.filename},"show-open-button":e.canOpenFile}}),t("div",{staticClass:"card-container printer"},[t("div",{staticClass:"icon"},[t("svg",{staticStyle:{"margin-bottom":"5px"},attrs:{width:"1em",height:"1em"}},[t("use",{attrs:{href:"#svg-3d-printer"}})])]),t("div",{staticClass:"info truncated-wrapper"},[t("div",{staticClass:"title truncated",attrs:{title:e.print.printer.name}},[e._v(" "+e._s(e.print.printer.name)+" ")]),t("div",{staticClass:"subtitle truncated",class:[e.printer?e.printer.isPrintable()&&!e.printer.inTransientState()?"text-success":"text-warning":"text-danger"]},[e._v(" "+e._s(e.printer?e.printer.printabilityText():"Deleted")+" ")])]),e.printer&&e.print.g_code_file&&!e.print.g_code_file.deleted&&e.print.g_code_file.url?t("div",{staticClass:"action"},[t("button",{staticClass:"btn btn-primary",attrs:{disabled:!e.printer.isPrintable()||e.printer.inTransientState()},on:{click:e.onRepeatPrintClicked}},[e.isSending?t("b-spinner",{staticClass:"mr-2",attrs:{small:""}}):e._e(),t("span",[e._v(e._s(e.$t("Reprint")))])],1)]):e._e()])],1)]),t("b-col",{attrs:{lg:"7"}},[t("div",{staticClass:"print-info"},[e.firstLayerInspection.id?t("div",{staticClass:"card-container"},[t("b-row",{staticClass:"m-0"},[t("b-col",{staticClass:"first-layer-info-column",attrs:{cols:"12",sm:"6",md:"6",lg:"12",xl:"6"}},[t("div",[t("b-row",{staticClass:"mb-4"},[t("span",{staticClass:"ml-3"},[e._v(e._s(e.$t("First Layer Report")))])]),t("div",{staticClass:"first-layer-info-line"},[t("div",{staticClass:"label"},[t("div",{staticClass:"icon"},[t("i",{staticClass:"fas fa-info"})]),t("div",{staticClass:"title"},[e._v(e._s(e.$t("First Layer Grade")))])]),t("div",{staticClass:"value"},[t("div",{staticClass:"print-status-color",class:e.gradeResult.gradeAccent},[e._v(" "+e._s(e.gradeResult.gradeTitle||" ")+" ")])])]),t("div",{staticClass:"first-layer-info-line"},[t("div",{staticClass:"label"},[t("div",{staticClass:"icon"},[t("i",{staticClass:"far fa-clock"})]),t("div",{staticClass:"title"},[e._v(e._s(e.$t("First Layer Print Time")))])]),t("div",{staticClass:"value"},[e._v(e._s(e.firstLayerPrintTime))])])],1),t("b-row",{staticClass:"m-0"},[t("b-button",{staticClass:"open-detailed-report-button",on:{click:e.onOpenDetailedReport}},[e._v(e._s(e.$t("Open Detailed Report")))])],1)],1),t("b-col",{staticClass:"first-layer-report-block-video-container",attrs:{cols:"12",sm:"6",md:"6",lg:"12",xl:"6"}},[t("div",{staticClass:"first-layer-video-wrapper",class:{"is-fullscreen original":!!e.fullscreenUrl&&e.fullscreenUrl===e.firstLayerInspection.tagged_video_url}},[t("video-box",{attrs:{"video-url":e.firstLayerInspection.tagged_video_url,"poster-url":e.aiTimeLapsePosterImageUrl,fluid:!1,"fullscreen-btn":null===e.fullscreenUrl,"exit-fullscreen-btn":null!==e.fullscreenUrl,"download-btn":!0},on:{fullscreen:()=>e.enterFullscreen(e.firstLayerInspection.tagged_video_url),exitFullscreen:e.exitFullscreen,download:()=>e.downloadFile(e.firstLayerInspection.tagged_video_url,e.print.id+"_tagged_video_inspection.mp4")}})],1)])],1)],1):e._e(),t("div",{staticClass:"time-lapse"},[e.print.video_archived_at?t("div",{staticClass:"card-container"},[t("h2",{staticClass:"title"},[e._v(e._s(e.$t("Time-Lapse video deleted")))]),t("p",[e._v(" "+e._s(e.$t("Time-lapse videos older than 6-months are deleted from the {brandName} app server as they are rarely needed and cost significant amount to store in the cloud.",{brandName:e.$syndicateText.brandName}))+" ")]),t("p",[t("i18next",{attrs:{translation:e.$t("If you are a Pro subscriber and you don't want your time-lapse videos to be deleted, please {localizedDom}")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("a",{attrs:{href:"mailto:support@obico.io?subject=Please%20keep%20my%20timelapse%20videos"}},[e._v(e._s(e.$t("contact us")))])]},proxy:!0}],null,!1,4060562873)}),e._v(" . ")],1)]):e.print.video_url||e.print.tagged_video_url?t("div",[t("b-card",{attrs:{"no-body":""}},[t("b-tabs",{attrs:{pills:"",card:""}},[t("b-tab",{attrs:{title:"Detective Time-Lapse",disabled:!e.canShowDetectiveView}},[t("b-card-text",[e.print.tagged_video_url?t("div",{class:{"is-fullscreen":!!e.fullscreenUrl&&e.fullscreenUrl===e.print.tagged_video_url}},[t("div",{staticClass:"video-wrapper"},[t("video-box",{attrs:{"video-url":e.print.tagged_video_url,"poster-url":e.print.poster_url,fluid:!1,"fullscreen-btn":null===e.fullscreenUrl,"exit-fullscreen-btn":null!==e.fullscreenUrl,"download-btn":!0},on:{timeupdate:e.onTimeUpdate,fullscreen:()=>e.enterFullscreen(e.print.tagged_video_url),exitFullscreen:e.exitFullscreen,download:()=>e.downloadFile(e.print.tagged_video_url,e.print.id+"_tagged.mp4")}})],1),t("div",{staticClass:"detective-footer"},[e.print.prediction_json_url?t("failure-detection-gauge",{attrs:{"normalized-p":e.normalizedP}}):e._e(),t("div",{staticClass:"feedback-section"},[t("div",{staticClass:"lead",class:[e.print.alerted_at?"text-danger":"text-success"]},[e._v(" "+e._s(e.print.alerted_at?"Failure detected":"No failure detected")+" ")]),t("div",{staticClass:"py-2"},[e._v(" "+e._s(e.$t("Did we get it right?"))+" "),t("b-button",{staticClass:"mx-2 btn-sm",attrs:{variant:e.thumbedUp?"primary":"outline"},on:{click:e.onThumbUpClick}},[e.inflightAlertOverwrite?t("b-spinner",{attrs:{type:"grow",small:""}}):t("i",{staticClass:"fas fa-thumbs-up"})],1),t("b-button",{staticClass:"mx-2 btn-sm",attrs:{variant:e.thumbedDown?"primary":"outline"},on:{click:e.onThumbDownClick}},[e.inflightAlertOverwrite?t("b-spinner",{attrs:{type:"grow",small:""}}):t("i",{staticClass:"fas fa-thumbs-down"})],1)],1),t("transition",{attrs:{name:"bounce"}},[e.print.printShotFeedbackEligible?t("div",{staticClass:"pt-2"},[t("b-button",{attrs:{variant:"outline-primary",size:"sm",href:`/prints/shot-feedback/${e.print.id}/`}},[e.print.need_print_shot_feedback?e._e():t("i",{staticClass:"fas fa-check mr-2"}),e._v(" "+e._s(e.$t("FOCUSED FEEDBACK"))+" ")])],1):e._e()]),t("div",{staticClass:"about-feedback"},[e.print.printShotFeedbackEligible?t("small",[e.print.need_print_shot_feedback?t("span",[e._v(" "+e._s(e.$t("With Focused Feedback, you can tell us exactly where we got it wrong. This is the most effective way to help us improve."))+" "),t("a",{attrs:{href:e.getDocUrl("/user-guides/how-does-credits-work#you-earn-detective-hours-for-giving-focused-feedback"),target:"_blank"}},[e._v(" "+e._s(e.$t("You will earn 2 AI Detection Hours once you finish the Focused Feedback"))+" ")])]):t("span",[e._v(" "+e._s(e.$t("Thank you for completing the Focused Feedback. You have earned 2 non-expirable AI Detection Hours. You can click the button again to change your feedback."))+" ")])]):t("small",[e._v(" "+e._s(e.$t("Every time you give us feedback,"))+" "),t("a",{attrs:{href:e.getDocUrl("/user-guides/how-does-credits-work/"),target:"_blank"}},[e._v(" "+e._s(e.$t("you help us get better at detecting failures"))+" ")])])])],1)],1)]):t("div",[t("detective-working",{staticClass:"detective-placeholder"})],1)])],1),e.print.video_url?t("b-tab",{attrs:{active:!e.print.tagged_video_url,title:"Original Time-Lapse"}},[t("b-card-text",[t("div",{class:{"is-fullscreen original":!!e.fullscreenUrl&&e.fullscreenUrl===e.print.video_url}},[t("div",{staticClass:"video-wrapper"},[t("video-box",{attrs:{"video-url":e.print.video_url,"poster-url":e.print.poster_url,fluid:!1,"fullscreen-btn":null===e.fullscreenUrl,"exit-fullscreen-btn":null!==e.fullscreenUrl,"download-btn":!0},on:{timeupdate:e.onTimeUpdate,fullscreen:()=>e.enterFullscreen(e.print.video_url),exitFullscreen:e.exitFullscreen,download:()=>e.downloadFile(e.print.video_url,e.print.id+".mp4")}})],1)])])],1):e._e()],1)],1)],1):t("div",{staticClass:"card-container"},[t("p",{staticClass:"text-secondary mt-3"},[e._v(e._s(e.$t("Time-Lapse video unavailable because"))+":")]),t("ul",[t("li",{staticClass:"text-secondary mt-3"},[e._v(" "+e._s(e.$t("The {brandName} server is still processing the time-lapse;",{brandName:e.$syndicateText.brandName}))+" ")]),t("li",{staticClass:"text-secondary mt-3"},[t("i18next",{attrs:{translation:e.$t("Or, the print time was shorter than the threshold. You can change the threshold in {localizedDom}")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("a",{attrs:{href:`/printers/${e.print.printer.id}/`}},[e._v(e._s(e.$t("the printer settings"))+".")])]},proxy:!0}])})],1)])])])])])],1)],1)]},proxy:!0}])})},fa=[],ga=(i("907a"),i("986a"),i("1d02"),i("3c5d"),i("6ce5"),i("2834"),i("4ea1"),i("dce5")),va=i.n(ga),ba=i("aaa7"),ya=i.n(ba),wa=i("acff");class _a{constructor(){return _a.instance||(this.printerCommMap=new Map,_a.instance=this),_a.instance}setPrinterComm(e,t){this.printerCommMap.set(e,t)}getPrinterComm(e){return this.printerCommMap.get(e)}getOrCreatePrinterComm(...e){const t=String(e[0]);return this.getPrinterComm(t)||this.setPrinterComm(t,ka(...e)),this.getPrinterComm(t)}closeConnection(e){const t=this.getPrinterComm(e);t&&(t.closeServerWebSocket(),t.webrtc&&t.webrtc.close(),this.printerCommMap.delete(e))}closeAllConnections(){this.printerCommMap.forEach((e,t)=>this.closeConnection(t))}}const Ca=new _a;function ka(e,t,i){const a={printerId:e,wsUri:t,...i};return a.ws=null,a.webrtc=null,a.passthruQueue=new Map,ya.a.on("blur",(function(){a.closeWebSocket()})),ya.a.on("focus",(function(){a.connect()})),a.onPassThruReceived=function(e){const t=e.ref;if(t&&a.passthruQueue.get(t)){const i=a.passthruQueue.get(t);a.passthruQueue.delete(t),i(e.error,e.ret)}else if("terminal_feed"in e)a.onTerminalFeedReceived&&a.onTerminalFeedReceived(e.terminal_feed);else if("printer_event"in e){const t=e.printer_event;n["default"].swal.Toast.fire({icon:t.event_class.toLowerCase(),title:t.event_title,html:t.event_text}).then(e=>{e.isDismissed&&"close"===e.dismiss&&(window.location.href="/printer_events/")})}},a.connect=function(e=null){a.ws&&a.ws.readyState===WebSocket.OPEN?e&&e():(a.ws=new WebSocket(window.location.protocol.replace("http","ws")+"//"+window.location.host+a.wsUri),a.ws.onmessage=function(e){let t={};try{t=JSON.parse(e.data)}catch(i){throw console.log(e.data),i}"passthru"in t?a.onPassThruReceived(t.passthru):a.onPrinterUpdateReceived&&a.onPrinterUpdateReceived(t)},e&&(a.ws.onopen=e),a.ensureWebsocketClosed(),setTimeout((function(){a.heartbeat()}),3e4))},a.setWebRTC=function(e){function t(e){let t={};try{t=JSON.parse(e)}catch(i){return}t&&"ref"in t&&"ret"in t?a.onPassThruReceived(t):a.onStatusReceived&&a.onStatusReceived(t)}a.webrtc=e,a.webrtc.setCallbacks({onData:e=>{"string"===typeof e||e instanceof String?t(e):Object(Pn["g"])(e,e=>{t(wa["a"].ungzip(new Uint8Array(e),{to:"string"}))})}})},a.passThruToPrinter=function(e,t){if(a.canSend()){var i=Math.random().toString();va()(e,{ref:i}),t&&(a.passthruQueue.set(i,t),setTimeout((function(){a.passthruQueue.has(i)&&(Pe(a.printerId),n["default"].swal.Toast.fire({icon:"error",title:""+G["a"].t("Failed to contact printer. Is it powered on and connected to Internet?")}))}),6e4)),a.webrtc&&a.webrtc.sendData(JSON.stringify(e)),a.ws.send(JSON.stringify({passthru:e}))}else t&&(Pe(a.printerId),t("Message not passed through. No suitable WebSocket."))},a.ensureWebsocketClosed=function(){a.ws.onclose=function(e){a.ws===e.target&&(a.ws=null)},a.ws.onerror=function(){a.ws&&a.ws.close()}},a.closeWebSocket=function(){a.ws&&a.ws.close()},a.heartbeat=function(){a.canSend()&&(a.ws.send(JSON.stringify({})),setTimeout((function(){a.heartbeat()}),3e4))},a.canSend=function(){return a.ws&&1===a.ws.readyState},a}Object.freeze(Ca);var Pa=i("2ef0"),Sa=i.n(Pa);function Da(e,t,i){const n=e=>{const t=[];for(const i of Object.values(e))i.children?t.push(...n(i.children)):t.push(i);return t};return new Promise((a,r)=>{let s;s=i?{filter:String(i),recursive:!0}:{path:t,recursive:!1,level:1},e.passThruToPrinter({func:"list_files",target:"_file_manager",kwargs:s},(e,t)=>{e&&r(e);let s=[],o=[];if(null===t||void 0===t||!t.local||!Object.keys(t.local).length)return void a();delete t.local.ObicoUpload;const l=i?n(t.local):Object.values(t.local);for(const i of l)"folder"===i.type?s.push({id:i.path,path:i.path,name:i.display,numItems:Object.keys(i.children).length}):o.push({...i,id:i.path,filename:i.name,num_bytes:i.size,filesize:pe()(i.size),created_at:De(new Date(1e3*i.date)),getBigThumbnailUrl:()=>null,getSmallThumbnailUrl:()=>null});a({folders:s,files:o})})})}function xa(e,t,i){return new Promise((n,a)=>{const r=null==t?"":t+"/";e.passThruToPrinter({target:"moonraker_api",func:"server/files/directory",kwargs:{path:"gcodes/"+(t||""),extended:!0}},(e,t)=>{e&&a(e);const s=i?[]:Sa.a.map(Sa.a.filter(Sa.a.get(t,"dirs",[]),e=>!e.dirname.startsWith(".")&&!e.dirname.startsWith("Obico_Upload")),e=>{const t=`${r}${e.dirname}`;return{name:e.dirname,id:t,path:t,children:[]}}),o=Sa.a.map(Sa.a.filter(Sa.a.get(t,"files",[]),e=>!e.filename.startsWith(".")&&(!i||e.filename.toLowerCase().includes(i.toLowerCase()))),e=>({...e,num_bytes:e.size,filesize:pe()(e.size),created_at:De(new Date(1e3*e.modified)),path:`${r}${e.filename}`,getBigThumbnailUrl:()=>null,getSmallThumbnailUrl:()=>null}));n({folders:s,files:o})})})}function Ta(e,t){return new Promise((i,n)=>{const a=t.path;e.passThruToPrinter({func:"select_file",target:"_printer",args:[""+a,null],kwargs:{printAfterSelect:"true"}},(e,t)=>{e?n(e):i()})})}function Ia(e,t){return new Promise((i,n)=>{const a=t.path;e.passThruToPrinter({target:"moonraker_api",func:"printer/print/start",kwargs:{verb:"post",filename:a}},(e,t)=>{e?n(e):i()})})}function Fa(e,t){return new Promise((i,n)=>{e.passThruToPrinter({target:"file_operations",func:"start_printer_local_print",args:[t]},(e,t)=>{e||null!==t&&void 0!==t&&t.error?n(e||(null===t||void 0===t?void 0:t.error)):i()})})}const Aa=(e,t)=>new Promise((i,a)=>{n["default"].swal.fire({html:`
${G["a"].t("Print")} "${e.filename}" on ${t.name}?
`,imageUrl:e.getBigThumbnailUrl&&e.getBigThumbnailUrl(),showCancelButton:!0,confirmButtonText:""+G["a"].t("Print!"),cancelButtonText:""+G["a"].t("Cancel"),reverseButtons:!0}).then(e=>{e.value&&i()})});function $a(e,t){return new Promise((i,n)=>{e.passThruToPrinter({func:"download",target:"file_downloader",args:[{id:t.id,url:t.url,filename:t.filename,safe_filename:t.safe_filename}]},(e,t)=>{e?n(e):i()})})}const Oa=e=>{const{printer:t,gcode:i,isCloud:n,Swal:a,onCommandSent:r,onPrinterStatusChanged:s}=e,o=t.id,l=t.isAgentMoonraker(),c=Ca.getOrCreatePrinterComm(o,le["a"].printerWebSocket(o));c.connect(()=>{const e=n?$a:i.path?l?Ia:Ta:Fa;t.setTransientState(n?"G-Code Downloading":"Starting"),e(c,i).catch(e=>{Pe(o),a.Toast.fire({icon:"error",title:e})})}),r&&r();const d=async()=>{let e;try{e=await oe["a"].get(le["a"].printer(o)),e=e.data}catch(t){return void console.error(t)}"Operational"===de()(e,"status.state.text")||"G-Code Downloading"===de()(e,"status.state.text")||"Downloading G-Code"===de()(e,"status.state.text")?setTimeout(d,1e3):s&&s()};d()},Na=3e3,La=(e,t,i)=>{let n;e.Prompt.fire({html:`\n
\n
\n ${G["a"].t("You'll be redirected to printers page in")} ${Math.round(Na/1e3)} ${G["a"].t("seconds")}\n
\n
\n `,timer:Na,showConfirmButton:!0,showCancelButton:!0,confirmButtonText:"Redirect now",onOpen:()=>{n=setInterval(()=>{const t=e.getHtmlContainer(),i=null===t||void 0===t?void 0:t.querySelector("strong");t&&i&&(i.textContent=(e.getTimerLeft()/1e3).toFixed(0))},1e3)},onClose:()=>{clearInterval(n),n=null}}).then(e=>{e.isConfirmed||"timer"===e.dismiss?window.location.assign(`/printers/${i}/control/`):t&&t()})};var Ma=function(){var e=this,t=e._self._c;return t("div",{staticClass:"card-container file"},[t("div",{staticClass:"file-header",class:{"mb-4":e.showDetails&&e.fileDetailsToShow.length>0,compact:e.compactView}},[e.showThumbnail?t("div",[e.bigThumbnailUrl?t("div",{staticClass:"thumbnail"},[t("img",{attrs:{src:e.bigThumbnailUrl}})]):t("div",{staticClass:"thumbnail-placeholder"},[t("span",{staticClass:"help"},[t("help-widget",{attrs:{id:"thumbnail-setup-guide",highlight:!1,"show-close-button":!1}})],1),t("svg",[t("use",{attrs:{href:"#svg-no-photo"}})])])]):t("div",{staticClass:"icon"},[t("i",{staticClass:"fas fa-file-code"})]),t("div",{staticClass:"info truncated-wrapper"},[t("div",{staticClass:"title truncated",attrs:{title:e.file.filename}},[e._v(" "+e._s(e.file.filename)+" ")]),e.file.filesize||e.file.deleted?t("div",{staticClass:"subtitle text-secondary truncated-wrapper"},[e.file.deleted?t("div",{staticClass:"truncated"},[t("span",{staticClass:"text-danger"},[e._v(e._s(e.$t("Deleted")))])]):t("div",{staticClass:"truncated"},[t("span",[e._v(e._s(e.file.filesize))])])]):e._e()]),e.showOpenButton&&e.file.id?t("div",{staticClass:"action"},[t("b-button",{staticClass:"custom-button",attrs:{variant:e.openButtonVariant,href:`/g_code_files/cloud/${e.file.id}/`}},[e._v(" "+e._s(e.openButtonText)+" ")])],1):e._e()]),e.showDetails?[e._l(e.fileDetailsToShow.slice(0,e.numberOfVisibleLines),(function(i){return t("div",{key:i.name},[t("div",{staticClass:"line"},[t("div",{staticClass:"label"},[t("div",{staticClass:"icon"},[i.faIcon?t("i",{class:i.faIcon}):i.svgIcon?t("svg",{attrs:{width:"16",height:"16"}},[t("use",{attrs:{href:"#"+i.svgIcon}})]):e._e()]),t("div",{staticClass:"title"},[e._v(e._s(i.title))])]),t("div",{staticClass:"value"},[t("span",{domProps:{innerHTML:e._s(i.value)}})])])])})),e.shouldShowDataNotice&&e.fileDetailsToShow.length<=e.numberOfVisibleLines?t("muted-alert",{staticClass:"mt-2 mb-1"},[e._v(" "+e._s(e.$t("Fields above were embedded in the G-Code file by your slicer. Consult your slicer's manual if some fields are not accurate or missing."))+" ")]):e._e(),e.fileDetailsToShow.length>e.numberOfVisibleLines?t("collapsable-details",[e._l(e.fileDetailsToShow.slice(e.numberOfVisibleLines),(function(i){return t("div",{key:i.name},[t("div",{staticClass:"line"},[t("div",{staticClass:"label"},[t("div",{staticClass:"icon"},[i.faIcon?t("i",{class:i.faIcon}):i.svgIcon?t("svg",{attrs:{width:"16",height:"16"}},[t("use",{attrs:{href:"#"+i.svgIcon}})]):e._e()]),t("div",{staticClass:"title"},[e._v(e._s(i.title))])]),t("div",{staticClass:"value"},[t("span",{domProps:{innerHTML:e._s(i.value)}})])])])})),e.shouldShowDataNotice&&e.fileDetailsToShow.length>e.numberOfVisibleLines?t("muted-alert",{staticClass:"mt-2 mb-1"},[e._v(" "+e._s(e.$t("Fields above were embedded in the G-Code file by your slicer. Consult your slicer's manual if some fields are not accurate or missing."))+" ")]):e._e()],2):e._e()]:e._e()],2)},Ea=[],Ra=function(){var e=this,t=e._self._c;return t("div",[t("b-collapse",{model:{value:e.expanded,callback:function(t){e.expanded=t},expression:"expanded"}},[e._t("default")],2),t("button",{staticClass:"collapse-toggle",class:e.expanded?"opened":"closed",on:{click:function(t){e.expanded=!e.expanded}}},[e.expanded?t("span",[e._v(e._s(e.$t("Show less")))]):t("span",[e._v(e._s(e.$t("Show more")))]),t("font-awesome-icon",{class:{rotated:e.expanded},attrs:{icon:["fas","chevron-down"]}})],1)],1)},za=[],Ba={name:"CollapsableDetails",data(){return{expanded:!1}}},Ua=Ba,ja=(i("d424"),Object(N["a"])(Ua,Ra,za,!1,null,"572cc95b",null)),Wa=ja.exports,Ha={name:"GCodeDetails",components:{MutedAlert:_n,HelpWidget:Zi,CollapsableDetails:Wa},props:{file:{type:Object,required:!0},showPrintStats:{type:Boolean,default:!1},showDetails:{type:Boolean,default:!0},showOpenButton:{type:Boolean,default:!1},compactView:{type:Boolean,default:!0},openButtonVariant:{type:String,default:"outline-secondary"},openButtonText:{type:String,default:"Open File"}},data(){return{numberOfVisibleLines:3}},computed:{bigThumbnailUrl(){return this.file.getBigThumbnailUrl&&this.file.getBigThumbnailUrl()},showThumbnail(){return!this.compactView||this.bigThumbnailUrl},fileDetailsToShow(){let e=[];return!this.file.deleted&&this.file.metadata&&(e=ye.filter(e=>this.file.metadata[e.name]).map(e=>({...e,value:e.formatter(this.file.metadata[e.name])}))),this.showPrintStats&&e.unshift({name:"total_prints",faIcon:"fas fa-hashtag",title:""+this.$i18next.t("Total prints"),value:`\n ${this.file.totalPrints||0}\n (${this.file.successPrints||0} /\n ${this.file.failedPrints||0})\n `}),this.file.created_at&&e.unshift({name:"created_at",faIcon:"fas fa-calendar-alt",title:""+this.$i18next.t("Uploaded"),value:this.file.created_at.fromNow()}),e},shouldShowDataNotice(){return!this.file.analysis&&0!==Object.keys(this.file.metadata||{}).length&&!this.file.deleted}}},Va=Ha,Ya=(i("dbc4"),Object(N["a"])(Va,Ma,Ea,!1,null,"0991d3bd",null)),Ga=Ya.exports,Ka=function(){var e=this,t=e._self._c;return t("div",{staticClass:"p-2"},[t("b-row",[t("h4",{staticClass:"mb-4 report-title"},[e._v(e._s(e.$t("First Layer Report")))])]),t("b-row",[t("b-col",{attrs:{lg:"7"}},[t("div",{staticClass:"file-block mb-3"},[t("div",{staticClass:"file-header compact",class:{compact:e.compactView}},[e.showIconThumbnail?t("div",[e.bigThumbnailUrl?t("div",{staticClass:"thumbnail"},[t("img",{attrs:{src:e.bigThumbnailUrl}})]):t("div",{staticClass:"thumbnail-placeholder"},[t("span",{staticClass:"help"},[t("help-widget",{attrs:{id:"thumbnail-setup-guide",highlight:!1,"show-close-button":!1}})],1),t("svg",[t("use",{attrs:{href:"#svg-no-photo"}})])])]):t("div",{staticClass:"icon"},[t("i",{staticClass:"fas fa-file-code"})]),t("div",{staticClass:"info truncated-wrapper"},[t("div",{staticClass:"truncated",attrs:{title:e.file.filename}},[e._v(" "+e._s(e.file.filename)+" ")]),e.file.filesize||e.file.deleted?t("div",{staticClass:"subtitle text-secondary truncated-wrapper"},[e.file.deleted?t("div",{staticClass:"truncated"},[t("span",{staticClass:"text-danger"},[e._v(e._s(e.$t("Deleted")))])]):t("div",{staticClass:"truncated"},[t("span",[e._v(e._s(e.file.filesize)+", "+e._s(e.$t("uploaded"))+" "+e._s(e.fileUploadedTime))])])]):e._e()]),t("div",{staticClass:"button"},[e.showOpenButton&&e.file.id?t("b-button",{attrs:{href:`/g_code_files/cloud/${e.file.id}/`}},[e._v(" "+e._s(e.$t("Open File"))+" ")]):e._e()],1)]),t("div",{staticClass:"first-layer-report-info-line"},[t("div",{staticClass:"label"},[t("div",{staticClass:"icon"},[t("i",{staticClass:"fas fa-info"})]),t("div",[e._v(e._s(e.$t("First Layer Grade")))])]),t("div",{staticClass:"value"},[t("div",{class:e.gradeResult.gradeAccent},[e._v(" "+e._s(e.gradeResult.gradeTitle||" ")+" ")])])]),t("div",{staticClass:"first-layer-report-info-line"},[t("div",{staticClass:"label"},[t("div",{staticClass:"icon"},[t("i",{staticClass:"far fa-clock"})]),t("div",[e._v(e._s(e.$t("First Layer Print Time")))])]),t("div",{staticClass:"value"},[e._v(e._s(e.firstLayerPrintTime))])])]),t("div",{staticClass:"notes-block mb-3"},[t("b-row",[t("span",{staticClass:"title"},[e._v(e._s(e.$t("First Layer Notes")))])]),t("hr"),t("b-row",[t("div",{staticClass:"description"},[t("p",[e._v(" "+e._s(e.$t("You're first layer score is"))+": "),t("span",{staticClass:"font-bold",class:e.gradeResult.gradeAccent},[e._v(e._s(e.gradeResult.grade))]),t("br"),e._v(" "+e._s(e.gradeResult.gradeRemarks)+" ")])])]),e.isGradeA?e._e():t("hr"),t("b-row",[e.isGradeA?e._e():t("div",{staticClass:"info"},[t("p",[t("i18next",{attrs:{translation:e.$t("Grade {localizedDom} usually means one of the following")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("span",{class:e.gradeResult.gradeAccent},[e._v(e._s(e.gradeResult.grade))])]},proxy:!0}],null,!1,3047815858)})],1),t("ul",e._l(e.gradeResult.gradeSuggestion,(function(i,n){return t("li",{key:n,domProps:{innerHTML:e._s(i)}})})),0)])])],1)]),t("b-col",{staticClass:"heatmap-column",attrs:{lg:"5"}},[t("b-card",{attrs:{"no-body":""}},[t("b-tabs",{attrs:{pills:"",card:""}},[t("b-tab",{attrs:{title:e.$t("AI Time-Lapse")}},[t("b-card-text",[t("div",{staticClass:"first-layer-modal-video-wrapper"},[t("video-box",{attrs:{"video-url":e.firstLayerInspection.tagged_video_url,"poster-url":e.aiTimeLapsePosterImageUrl,fluid:!1,"fullscreen-btn":!1,"download-btn":!0,"default-full-screen-toggle":!0},on:{download:()=>e.downloadFile(e.firstLayerInspection.tagged_video_url,e.print.id+"_tagged_video_inspection.mp4")}})],1)])],1),t("b-tab",{attrs:{title:e.$t("Original Time-Lapse")}},[t("b-card-text",[t("div",{staticClass:"first-layer-modal-video-wrapper"},[t("video-box",{attrs:{"video-url":e.firstLayerInspection.video_url,"poster-url":e.firstLayerInspection.images.length?e.firstLayerInspection.images[0].image_url:null,fluid:!1,"fullscreen-btn":!1,"download-btn":!0,"default-full-screen-toggle":!0},on:{download:()=>e.downloadFile(e.firstLayerInspection.video_url,e.print.id+"_video_inspection.mp4")}})],1)])],1)],1)],1)],1)],1),t("b-row",{staticClass:"buttons-row"},[t("b-col",{attrs:{cols:"12",lg:"7"}},[t("a",{staticClass:"feedback-button",attrs:{href:"/first_layer_inspection_images/?print_id="+e.print.id}},[e._v(e._s(e.$t("Give Feedback About This Report")))])])],1)],1)},qa=[],Ja={name:"FirstLayerReportModal",components:{VueSlickCarousel:mt.a,PageLayout:Ft,VideoBox:zt},data:function(){return{showCarouselAnimation:!0,first_layer_info:{},carouselItems:[],settings:{dots:!0,infinite:!0,speed:500,slidesToShow:1,slidesToScroll:1,adaptiveHeight:!0,initialSlide:0},activeTab:0,carouselKey:0,activeThumbnail:null,thumbnailStyle:{width:"150px",height:"150px",position:"absolute",zIndex:"1070"}}},props:{firstLayerInspection:{type:Object,required:!0},firstLayerPrintTime:{type:String,required:!0},gradeResult:{type:Object,required:!0},print:{type:Object,required:!0},showOpenButton:{type:Boolean,default:!1},compactView:{type:Boolean,default:!0}},computed:{aiTimeLapsePosterImageUrl(){var e;return this.firstLayerInspection.poster_url?this.firstLayerInspection.poster_url:null!==(e=this.firstLayerInspection.images)&&void 0!==e&&e.length?this.firstLayerInspection.images[0].image_url:null},file(){return this.print.g_code_file||{filename:this.print.filename}},isGradeA(){return"A"===this.gradeResult.grade},showIconThumbnail(){return!this.compactView||this.bigThumbnailUrl},bigThumbnailUrl(){return this.file.getBigThumbnailUrl&&this.file.getBigThumbnailUrl()},fileUploadedTime(){return this.file.created_at.fromNow()}},watch:{firstLayerInfo:{handler:function(e){e&&this.prepareFirstLayerInfo()},immediate:!0}},methods:{downloadFile:Pn["a"]}},Za=Ja,Qa=(i("4b61"),i("80ed"),Object(N["a"])(Za,Ka,qa,!1,null,"c7824f38",null)),Xa=Qa.exports;function er(e){return e>=80?{grade:"A",gradeTitle:"A - Flawless First Layer",gradeAccent:"text-success",gradeRemarks:"You have got a perfect first layer! Way to go!",gradeSuggestion:[]}:e>=60?{grade:"B",gradeTitle:"B - Barely a Blemish, Bravo!",gradeAccent:"text-success",gradeRemarks:"You’re first layer is almost perfect! The risk of the first layer to cause a failure later is VERY LOW.",gradeSuggestion:["Minor under-extrusion.","Minor over-extrusion.","Suboptimal z-offset setting that causes the material to not bond perfectly.","Uneven print bed coupled with suboptimal auto-bed-leveling.","Other problems that cause the first layer to have defects."]}:e>=40?{grade:"C",gradeTitle:"C - Okay First Layer",gradeAccent:"text-warning",gradeRemarks:"The risk for the first layer to cause your print to fail later is LOW. However, if you want a perfect bottom surface finish and structural strength, you can stop the print, perfect your first layer, and restart the print.",gradeSuggestion:["Under-extrusion.","Over-extrusion.","Suboptimal z-offset setting that causes the material to not bond perfectly.","Contaminated print bed that causes the material in some areas to slightly bubble or wrap.","Uneven print bed coupled with suboptimal auto-bed-leveling.","Other problems that cause the first layer to have defects."]}:e>=20?{grade:"D",gradeTitle:"D - Definitely Needs Tuning",gradeAccent:"text-danger",gradeRemarks:"It looks like your printer has run into some trouble on the first layer. The risk for the first layer to cause your print to failure later is MEDIUM. Although these first layer issues probably won't cause the print to fail later, you should consider fixing them and restarting the print, especially if you want to have a good bottom surface finish and structural strength.",gradeSuggestion:["Significant under-extrusion.","Uneven print bed coupled with suboptimal auto-bed-leveling.","Contaminated print bed that causes the material in some areas to bubble or wrap.","Other problems that cause the first layer to show serious defects."]}:{grade:"F",gradeTitle:"F - First Layer Fail",gradeAccent:"text-danger",gradeRemarks:"It looks like your printer has run into some trouble on the first layer. The risk for the first layer to cause your print to failure later is HIGH. I recommend you stop the print now and fix the problem.",gradeSuggestion:["Serious bed-leveling problems that cause material to detach from the print bed.","Wrong/suboptimal z-offset setting.","Serious bubbling or wrapping.","Other problems that will probably cause the print to fail later in the process."]}}var tr={name:"PrintPage",components:{PageLayout:Ft,VideoBox:zt,DetectiveWorking:Vt,FailureDetectionGauge:Kn,GCodeDetails:Ga},props:{printId:{type:Number,required:!0}},data:function(){return{image:"",gradeResult:{},firstLayerInspection:{},isFirstLayerReportModalOpen:!1,PrintStatus:xe,absoluteDateFormat:"MMM D, YYYY h:mm a",print:null,predictions:[],printer:null,isLoading:!0,currentPosition:0,inflightAlertOverwrite:null,fullscreenUrl:null,user:null,currentPrint:null,prevPrint:null,nextPrint:null,sortingValue:mi(rn,sn),filterLocalStoragePrefix:ln,filterOptions:cn,filterValues:_i(ln,cn),printerStateCheckInterval:null,firstLayerPrintTime:"-"}},computed:{aiTimeLapsePosterImageUrl(){var e;return this.firstLayerInspection.poster_url?this.firstLayerInspection.poster_url:null!==(e=this.firstLayerInspection.images)&&void 0!==e&&e.length?this.firstLayerInspection.images[0].image_url:null},canOpenFile(){return this.print.g_code_file&&!this.print.g_code_file.resident_printer&&!this.print.g_code_file.deleted},PrevPrintButtonTitle(){return"asc"===this.sortingValue.direction.key?""+this.$i18next.t("Older"):""+this.$i18next.t("Newer")},NextPrintButtonTitle(){return"asc"===this.sortingValue.direction.key?""+this.$i18next.t("Newer"):""+this.$i18next.t("Older")},fileName(){return null===this.print.g_code_file?this.print.filename:this.print.g_code_file.filename},currentPrintId(){var e;return(null===(e=this.currentPrint)||void 0===e?void 0:e.id)||this.printId},currentIndex(){if(this.currentPrint)return this.currentPrint.index;const e=new URLSearchParams(window.location.search);let t=e.get("index");return t?parseInt(t):void 0},normalizedP(){return Object(Pn["d"])(this.predictions,this.currentPosition,!1)},canShowDetectiveView(){return null!==this.print.prediction_json_url&&null!==this.print.tagged_video_url||!!(this.print.uploaded_at&&H()().diff(this.print.uploaded_at,"hours")<24)},thumbedUp(){return!!this.print.alert_overwrite&&this.print.has_alerts^"NOT_FAILED"===this.print.alert_overwrite},thumbedDown(){return!!this.print.alert_overwrite&&this.print.has_alerts^"FAILED"===this.print.alert_overwrite},isSending(){var e;const t=null===(e=this.printer)||void 0===e?void 0:e.calculatedState();return t&&["G-Code Downloading","Starting"].includes(t)}},created(){const{IS_ENT:e}=Object(Q["d"])();this.isEnt=!!e,this.user=Object(Q["f"])(),this.fetchData(),this.fetchSiblingPrints()},mounted(){const e=this.exitFullscreen;document.addEventListener("keydown",t=>{"Escape"===t.key&&e()})},unmounted(){clearInterval(this.printerStateCheckInterval)},methods:{downloadFile:Pn["a"],humanizedFilamentUsage:ve,async fetchData(e=!0){e&&(this.print=null,this.predictions=[],this.printer=null),this.isLoading=!0;try{const e=await oe["a"].get(le["a"].print(this.currentPrintId));this.print=Te(e.data),this.prepareFirstLayerReport(e.data.firstlayerinspection_set.length?e.data.firstlayerinspection_set[0]:{}),this.print.prediction_json_url&&oe["a"].get(this.print.prediction_json_url).then(e=>{this.predictions=e.data}),oe["a"].get(le["a"].printer(this.print.printer.id),{params:{with_archived:!0}}).then(e=>{this.printer=Ae(e.data),this.printerComm=Ca.getOrCreatePrinterComm(this.printer.id,le["a"].printerWebSocket(this.printer.id),{onPrinterUpdateReceived:e=>{this.printer=Ae(e,this.printer)}}),this.printerComm.connect()}).catch(e=>{var t;this.printer=null,404!==(null===e||void 0===e||null===(t=e.response)||void 0===t?void 0:t.status)&&this.errorDialog(e,""+this.$i18next.t("Failed to fetch printer information"))}).finally(()=>{this.isLoading=!1})}catch(t){console.log(t)}},prepareFirstLayerReport(e){if(this.firstLayerInspection=e,e.id){this.gradeResult=er(e.score);const t=De(this.firstLayerInspection.created_at),i=H.a.duration(t.diff(this.print.started_at));this.firstLayerPrintTime=fe(i.asSeconds())}},switchToPrint(e){this.currentPrint=e;const t=`/prints/${e.id}/?index=${e.index}`;window.history.replaceState({},"",t),this.fetchData(),this.fetchSiblingPrints()},fetchSiblingPrints(){if(!this.currentIndex&&0!==this.currentIndex)return;const e=this.currentIndex>0,t=e?this.currentIndex-1:0,i=e?3:2;oe["a"].get(le["a"].prints(),{params:{start:t,limit:i,...Ci(this.filterOptions,this.filterValues,(e,t)=>{if("timePeriod"===e)return this.filterOptions[e].buildQueryParam(t,Object(s["a"])(ln+"-timePeriod-dateFrom")||null,Object(s["a"])(ln+"-timePeriod-dateTo")||null,this.user)}),sorting:`${this.sortingValue.sorting.key}_${this.sortingValue.direction.key}`}}).then(t=>{const i=t.data;let n,a;if(e)if(3===i.length&&i[1].id===this.currentPrintId)n=i[0],a=i[2];else{if(2!==i.length||i[1].id!==this.currentPrintId)return;n=i[0]}else{if(2!==i.length||i[0].id!==this.currentPrintId)return;a=i[1]}this.prevPrint=n?{id:n.id,index:this.currentIndex-1}:null,this.nextPrint=a?{id:a.id,index:this.currentIndex+1}:null}).catch(e=>{this.errorDialog(e)})},onTimeUpdate(e){this.currentPosition=e},onThumbUpClick(){this.inflightAlertOverwrite=this.print.has_alerts?"FAILED":"NOT_FAILED",this.alertOverwrite(this.inflightAlertOverwrite)},onThumbDownClick(){this.inflightAlertOverwrite=this.print.has_alerts?"NOT_FAILED":"FAILED",this.alertOverwrite(this.inflightAlertOverwrite)},alertOverwrite(e){oe["a"].patch(le["a"].print(this.print.id),{alert_overwrite:e}).then(e=>{this.inflightAlertOverwrite=null,this.fetchData(!1)})},onRepeatPrintClicked(){Aa(this.print.g_code_file,this.printer).then(()=>{var e;Oa({printer:this.printer,gcode:this.print.g_code_file,isCloud:null===(null===(e=this.print.g_code_file)||void 0===e?void 0:e.resident_printer),Swal:this.$swal,onPrinterStatusChanged:()=>{La(this.$swal,()=>this.fetchData(),this.printer.id)}})})},enterFullscreen(e){this.fullscreenUrl=e},exitFullscreen(){this.fullscreenUrl=null},onOpenDetailedReport(){this.$swal.openModalWithComponent(Xa,{printer:this.printer,firstLayerInspection:this.firstLayerInspection,firstLayerPrintTime:this.firstLayerPrintTime,gradeResult:this.gradeResult,print:this.print,showOpenButton:this.canOpenFile},{showCloseButton:!0,showConfirmButton:!1,width:"75em"})}}},ir=tr,nr=(i("438a"),Object(N["a"])(ir,ma,fa,!1,null,"122a7196",null)),ar=nr.exports,rr=function(){var e=this,t=e._self._c;return t("page-layout",{scopedSlots:e._u([{key:"content",fn:function(){return[t("b-container",[t("b-row",{staticClass:"justify-content-center"},[t("b-col",{staticClass:"text-center",attrs:{lg:"8"}},[t("h1",{staticClass:"pb-2"},[e._v(e._s(e.$t("Upload Time-lapse")))]),t("p",{staticClass:"pb-2"},[e._v(e._s(e.$t("Upload time-lapse videos to test {brandName}'s AI failure detection.",{brandName:e.$syndicateText.brandName})))]),t("vue-dropzone",{staticClass:"upload-box",attrs:{id:"dropzone",options:e.dropzoneOptions,"use-custom-slot":!0},on:{"vdropzone-success":e.printUploadSuccess}},[t("div",{staticClass:"dz-message needsclick"},[t("i",{staticClass:"fas fa-upload fa-2x"}),e._v(" "),t("br"),e._v(" "+e._s(e.$t("Drop files here or click to upload."))),t("br"),e._v(" "+e._s(e.$t("*.mp4 or *.mpg files only. Up to 100MB each."))+" ")])]),t("div",{directives:[{name:"show",rawName:"v-show",value:e.uploaded,expression:"uploaded"}],staticClass:"pt-5"},[t("div",{attrs:{id:"tl-uploaded"}},[t("img",{staticClass:"detective-working",attrs:{src:i("0469")}}),t("div",{staticClass:"py-2 text-center"},[t("div",{staticClass:"py-2"},[e._v(" "+e._s(e.$t("The {brandName} Server is running failure detection on the time-lapse video(s) you uploaded.",{brandName:e.$syndicateText.brandName}))+" ")]),t("div",[e._v(e._s(e.$t("We will send you email when it is done.")))]),t("a",{attrs:{href:"/prints/"}},[e._v(e._s(e.$t("Check status now >>>")))])])])])],1)],1)],1)]},proxy:!0}])})},sr=[],or=i("92c3"),lr=i.n(or),cr=(i("1e3f"),{name:"UploadPrintPage",components:{vueDropzone:lr.a,PageLayout:Ft},props:{csrf:{type:String,required:!0}},data(){return{dropzoneOptions:{withCredentials:!0,maxFilesize:100,timeout:36e5,acceptedFiles:"video/mp4, video/mpeg",url:"?",headers:{"X-CSRFToken":this.csrf}},uploaded:!1}},methods:{printUploadSuccess(e){console.log(e),this.uploaded=!0}}}),dr=cr,ur=(i("050e"),Object(N["a"])(dr,rr,sr,!1,null,"13c6093e",null)),pr=ur.exports,hr=function(){var e=this,t=e._self._c;return t("page-layout",{scopedSlots:e._u([{key:"topBarRight",fn:function(){return[t("div",{staticClass:"action-panel"},[e.isEnt?t("a",{staticClass:"btn shadow-none action-btn icon-btn hours-btn",style:{marginRight:.25*String(e.dhBadgeNum).length+"rem"},attrs:{href:"/user_preferences/dh/",title:e.dhBadgeNum+" "+e.$t("AI Detection Hours")}},[t("svg",{staticClass:"custom-svg-icon"},[t("use",{attrs:{href:"#svg-hour-glass"}})]),t("span",{staticClass:"badge badge-light",attrs:{id:"user-credits"}},[e._v(e._s(e.dhBadgeNum))]),t("span",{staticClass:"sr-only"},[e._v(e._s(e.$t("AI Detection Hours")))])]):e._e(),t("b-dropdown",{attrs:{right:"","no-caret":"","toggle-class":"action-btn icon-btn",title:"Sort By"},scopedSlots:e._u([{key:"button-content",fn:function(){return[t("i",{staticClass:"fas fa-sort-amount-down"})]},proxy:!0}])},[t("sorting-dropdown",{attrs:{"local-storage-prefix":e.sortingLocalStoragePrefix,"sorting-options":e.sortingOptions,"sorting-value":e.sortingValue},on:{onSortingUpdated:e.onSortingUpdated}})],1),t("b-dropdown",{attrs:{right:"","no-caret":"","toggle-class":"action-btn icon-btn","menu-class":"scrollable",title:"Filter"},scopedSlots:e._u([{key:"button-content",fn:function(){return[t("i",{staticClass:"fas fa-filter"})]},proxy:!0}])},[t("filtering-dropdown",{attrs:{"local-storage-prefix":e.filterLocalStoragePrefix,"filter-options":e.filterOptions,"filter-values":e.filterValues},on:{onFilterUpdated:e.onFilterUpdated}})],1),t("b-dropdown",{attrs:{right:"","no-caret":"","toggle-class":"icon-btn d-md-none"},scopedSlots:e._u([{key:"button-content",fn:function(){return[t("i",{staticClass:"fas fa-ellipsis-v"})]},proxy:!0}])},[t("cascaded-dropdown",{ref:"cascadedDropdown",attrs:{"menu-options":e.mobileMenuOptions},scopedSlots:e._u([{key:"sorting",fn:function(){return[t("sorting-dropdown",{attrs:{"local-storage-prefix":e.sortingLocalStoragePrefix,"sorting-options":e.sortingOptions,"sorting-value":e.sortingValue},on:{onSortingUpdated:e.onSortingUpdated}})]},proxy:!0},{key:"filtering",fn:function(){return[t("filtering-dropdown",{attrs:{"local-storage-prefix":e.filterLocalStoragePrefix,"filter-options":e.filterOptions,"filter-values":e.filterValues},on:{onFilterUpdated:e.onFilterUpdated}})]},proxy:!0}])})],1)],1)]},proxy:!0},{key:"content",fn:function(){return[t("active-filter-notice",{attrs:{"filter-values":e.filterValues},on:{onShowAllClicked:e.resetFilters}}),t("b-container",{staticClass:"printer-list-page"},[e.loading?t("b-row",[t("b-col",{staticClass:"text-center"},[t("b-spinner",{staticClass:"my-5",attrs:{label:"Loading..."}})],1)],1):e._e(),e.visiblePrinters.length?t("b-row",{staticClass:"printer-cards justify-content-center"},e._l(e.visiblePrinters,(function(i){return t("printer-card",{key:i.id,staticClass:"printer-card-wrapper",attrs:{printer:i,"is-pro-account":e.user.is_pro},on:{PrinterUpdated:e.onPrinterUpdated}})})),1):e._e(),e.loading?e._e():t("div",{staticClass:"row justify-content-center"},[t("div",{staticClass:"col-sm-12 col-lg-6",attrs:{id:"new-printer"}},[t("div",{staticClass:"new-printer-container"},[t("a",{attrs:{href:"/printers/wizard/"}},[t("svg",{staticClass:"icon"},[t("use",{attrs:{href:"#svg-add-printer"}})]),t("div",[e._v(e._s(e.$t("Link New Printer")))])])])])]),e.loading?e._e():t("b-row",{directives:[{name:"show",rawName:"v-show",value:e.shouldShowArchiveWarning,expression:"shouldShowArchiveWarning"}],staticClass:"bottom-messages"},[t("b-col",[t("div",{staticClass:"alert alert-warning alert-dismissible fade show mb-3",attrs:{role:"alert"}},[t("div",{staticClass:"warning"},[t("div",[e._v(" "+e._s(e.archivedPrinterNum)+" "+e._s(e._f("pluralize")("printer",e.archivedPrinterNum))+" "+e._s(e.$t("have been archived."))+" ")]),t("div",[t("a",{staticClass:"warning-action",attrs:{href:"/ent/printers/archived/"}},[e._v(e._s(e.$t("Show Archived Printers")))]),t("a",{staticClass:"warning-action",on:{click:e.handleNeverShowAgain}},[e._v(e._s(e.$t("Never Show Again")))])])]),t("button",{staticClass:"close",attrs:{type:"button","data-dismiss":"alert","aria-label":"Close"}},[t("span",{attrs:{"aria-hidden":"true"}},[e._v("×")])])])])],1)],1)]},proxy:!0}])})},mr=[],fr=function(){var e=this,t=e._self._c;return t("div",{staticClass:"col-sm-12 col-lg-6 printer-card",attrs:{id:e.printer.id}},[t("div",{staticClass:"card"},[t("div",{staticClass:"card-header"},[t("div",{staticClass:"title-box"},[t("div",{staticClass:"printer-name"},[e._v(" "+e._s(e.printer.name)+" ")]),e.hasCurrentPrintFilename?t("div",{staticClass:"secondary-title print-filename"},[e._v(" "+e._s(e.printer.current_print.filename)+" ")]):t("div",{staticClass:"secondary-title",class:e.statusClass},[e._v(e._s(e.statusText))])]),t("div",{staticClass:"d-flex ml-2"},[t("b-button",{staticClass:"px-4 mr-2",attrs:{variant:"outline-secondary",href:`/printers/${e.printer.id}/control/`}},[e._v(e._s(e.$t("Open"))+" "+e._s(e.$t("Details"))+" ")]),t("b-dropdown",{attrs:{right:"","no-caret":"","toggle-class":"icon-btn"},scopedSlots:e._u([{key:"button-content",fn:function(){return[t("i",{staticClass:"fas fa-ellipsis-v"})]},proxy:!0}])},[t("b-dropdown-item",{attrs:{href:"#"},on:{click:function(t){return t.preventDefault(),e.onSharePrinter()}}},[t("i",{staticClass:"fas fa-share-alt fa-lg"}),e._v(e._s(e.$t("Share"))+" ")]),t("b-dropdown-item",{attrs:{href:e.octoPrintTunnelUrl()}},[t("svg",{staticClass:"menu-icon"},[t("use",{attrs:{href:"#svg-tunnel"}})]),e._v(" "+e._s(e.printer.agentDisplayName())+" "+e._s(e.$t("Tunnel"))+" ")]),t("div",{staticClass:"dropdown-divider"}),t("b-dropdown-item",{attrs:{href:e.settingsUrl()}},[t("i",{staticClass:"fas fa-wrench fa-lg"}),e._v(e._s(e.$t("Configure"))+" ")])],1)],1)]),t("streaming-box",{attrs:{printer:e.printer,webrtc:e.webrtc,autoplay:e.isProAccount,webcam:e.webcam}}),e.printer.alertUnacknowledged()?t("div",{staticClass:"failure-alert card-body bg-warning px-2 py-1"},[t("i",{staticClass:"fas fa-exclamation-triangle align-middle"}),t("span",{staticClass:"align-middle"},[e._v(e._s(e.$t("Failure Detected!")))]),t("button",{staticClass:"btn btn-outline-primary btn-sm float-right",attrs:{id:"not-a-failure",type:"button"},on:{click:function(t){return e.onNotAFailureClicked(t,!1)}}},[e._v(" "+e._s(e.$t("Not a failure?"))+" ")])]):e._e(),t("div",{staticClass:"card-body gauge-container",class:{overlay:!e.isWatching}},[e.isWatching?e._e():t("div",{staticClass:"overlay-top text-center",staticStyle:{left:"0",width:"100%",top:"50%","margin-top":"-55px"}},[t("H1",[t("i",{staticClass:"far fa-eye-slash"})]),t("h5",{staticClass:"text-warning"},[e._v(e._s(e.$t("Failure Detection is Off")))]),e.printer.not_watching_reason?t("small",[e._v(e._s(e.printer.not_watching_reason)+". "),t("a",{attrs:{href:e.getDocUrl("/user-guides/detective-not-watching/"),target:"_blank"}},[e._v(e._s(e.$t("Learn more. "))),e._m(0)])]):e._e(),t("div")],1),t("failure-detection-gauge",{attrs:{"normalized-p":e.printer.normalized_p,"is-watching":e.isWatching}}),t("hr")],1),t("print-job-control-widget",{attrs:{"inside-card":!0,printer:e.printer,"printer-comm":e.printerComm},on:{notAFailureClicked:e.onNotAFailureClicked,sendPrinterAction:e.sendPrinterAction}}),t("div",{staticClass:"info-section settings"},[t("button",{staticClass:"info-section-toggle btn btn-sm no-corner mx-2",class:{pressed:e.section_toggles.settings},attrs:{type:"button"},on:{click:function(t){return e.onSettingsToggleClicked()}}},[t("i",{staticClass:"fas fa-cog fa-lg"})]),t("button",{staticClass:"info-section-toggle btn btn-sm no-corner mx-2",class:{pressed:e.section_toggles.time},attrs:{type:"button"},on:{click:function(t){return e.onTimeToggleClicked()}}},[t("i",{staticClass:"fas fa-clock fa-lg"})]),t("button",{staticClass:"info-section-toggle btn btn-sm no-corner mx-2",class:{pressed:e.section_toggles.statusTemp},attrs:{type:"button"},on:{click:function(t){return e.onStatusTempToggleClicked()}}},[t("i",{staticClass:"fas fa-thermometer-half fa-lg"})])]),t("div",{staticClass:"info-section",staticStyle:{height:"0.3rem"}}),t("div",[t("div",{staticClass:"info-section container"},[e.section_toggles.settings?t("div",{attrs:{id:"panel-settings"}},[t("div",{staticClass:"pt-2 pb-3"},[t("div",{staticClass:"row justify-content-center px-3"},[t("div",{staticClass:"col-12 setting-item"},[t("label",{staticClass:"toggle-label",attrs:{for:"watching_enabled-toggle-"+e.printer.id}},[t("i18next",{attrs:{translation:e.$t("Enable AI failure detection {localizedDom}")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[e.watchForFailures?e._e():t("div",{staticClass:"text-muted font-weight-light font-size-sm"},[e._v(" "+e._s(e.$t("AI failure detection is disabled. You are on your own"))+".")])]},proxy:!0}],null,!1,2325561323)})],1),t("div",{staticClass:"custom-control custom-switch"},[t("input",{staticClass:"custom-control-input update-printer",attrs:{id:"watching_enabled-toggle-"+e.printer.id,type:"checkbox",name:"watching_enabled"},domProps:{checked:e.watchForFailures},on:{click:e.onWatchForFailuresToggled}}),t("label",{staticClass:"custom-control-label",staticStyle:{"font-size":"1rem"},attrs:{for:"watching_enabled-toggle-"+e.printer.id}})])])]),t("div",{staticClass:"row justify-content-center px-3"},[t("div",{staticClass:"col-12 setting-item"},[t("label",{staticClass:"toggle-label",attrs:{for:"pause-toggle-"+e.printer.id}},[t("i18next",{attrs:{translation:e.$t("Pause on detected failures {localizedDom}")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[e.pauseOnFailure?e._e():t("div",{staticClass:"text-muted font-weight-light font-size-sm"},[e._v(" "+e._s(e.$t("You will still be alerted via notifications")))])]},proxy:!0}],null,!1,4050608119)})],1),t("div",{staticClass:"custom-control custom-switch"},[t("input",{staticClass:"custom-control-input update-printer",attrs:{id:"pause-toggle-"+e.printer.id,type:"checkbox",name:"pause_on_failure"},domProps:{checked:e.pauseOnFailure},on:{click:e.onPauseOnFailureToggled}}),t("label",{staticClass:"custom-control-label",staticStyle:{"font-size":"1rem"},attrs:{for:"pause-toggle-"+e.printer.id}})])])])])]):e._e(),e.section_toggles.time?t("div",{attrs:{id:"print-time"}},[t("div",{staticClass:"py-2"},[t("div",{staticClass:"row text-muted"},[t("small",{staticClass:"col-5 offset-2"},[e._v(e._s(e.$t(" Remaining ")))]),t("small",{staticClass:"col-5"},[e._v(e._s(e.$t(" Total ")))])]),t("div",{staticClass:"row"},[e._m(1),t("duration-block",e._b({staticClass:"col-5 numbers",attrs:{id:"print-time-remaining"}},"duration-block",e.timeRemaining,!1)),t("duration-block",e._b({staticClass:"col-5 numbers",attrs:{id:"print-time-total"}},"duration-block",e.timeTotal,!1)),t("div",{staticClass:"col-12"},[t("div",{staticClass:"progress",staticStyle:{height:"2px"}},[t("div",{staticClass:"progress-bar",class:{"progress-bar-striped":e.progressPct<100,"progress-bar-animated":e.progressPct<100},style:`width: ${e.progressPct}%;`,attrs:{id:"print-progress",role:"progressbar","aria-valuenow":"0","aria-valuemin":"0","aria-valuemax":"100"}})])])],1)])]):e._e(),e.section_toggles.statusTemp&&e.tempProps.show?t("status-temp",e._b({attrs:{id:"status_temp_block"},on:{TempEditClicked:e.onTempEditClicked}},"status-temp",e.tempProps,!1)):e._e()],1)])],1)])},gr=[function(){var e=this,t=e._self._c;return t("small",[t("i",{staticClass:"fas fa-external-link-alt"})])},function(){var e=this,t=e._self._c;return t("div",{staticClass:"col-2 text-muted"},[t("i",{staticClass:"fas fa-clock"})])}],vr=i("2769"),br=i.n(vr),yr=(i("d9e2"),i("d093"));_r.sessions={},_r.isExtensionEnabled=function(){if(navigator.mediaDevices&&navigator.mediaDevices.getDisplayMedia)return!0;if(window.navigator.userAgent.match("Chrome")){var e=parseInt(window.navigator.userAgent.match(/Chrome\/(.*) /)[1],10),t=33;return window.navigator.userAgent.match("Linux")&&(t=35),e>=26&&e<=t||_r.extension.isInstalled()}return!0};var wr={extensionId:"hapfgfdkleiggjjpfpenajgdnfckjpaj",isInstalled:function(){return null!==document.querySelector("#janus-extension-installed")},getScreen:function(e){var t=window.setTimeout((function(){var t=new Error("NavigatorUserMediaError");return t.name='The required Chrome extension is not installed: click here to install it. (NOTE: this will need you to refresh the page)',e(t)}),1e3);this.cache[t]=e,window.postMessage({type:"janusGetScreen",id:t},"*")},init:function(){var e={};this.cache=e,window.addEventListener("message",(function(t){if(t.origin==window.location.origin)if("janusGotScreen"==t.data.type&&e[t.data.id]){var i=e[t.data.id];if(delete e[t.data.id],""===t.data.sourceId){var n=new Error("NavigatorUserMediaError");n.name="You cancelled the request for permission, giving up...",i(n)}else i(null,t.data.sourceId)}else"janusGetScreenPending"==t.data.type&&(console.log("clearing ",t.data.id),window.clearTimeout(t.data.id))}))}};function _r(e){if(e=e||{},e.success="function"==typeof e.success?e.success:_r.noop,e.error="function"==typeof e.error?e.error:_r.noop,e.wsopened="function"==typeof e.wsopened?e.wsopened:_r.noop,e.destroyed="function"==typeof e.destroyed?e.destroyed:_r.noop,!_r.initDone)return e.error("Library not initialized"),{};if(!_r.isWebrtcSupported())return e.error("WebRTC not supported by this browser"),{};if(_r.log("Library initialized: "+_r.initDone),!e.server)return e.error("Invalid server url"),{};var t=!1,i=null,n={},a=null,r=null,s=0,o=e.server;_r.isArray(o)?(_r.log("Multiple servers provided ("+o.length+"), will use the first that works"),o=null,r=e.server,_r.debug(r)):0===o.indexOf("ws")?(t=!0,_r.log("Using WebSockets to contact Janus: "+o)):(t=!1,_r.log("Using REST API to contact Janus: "+o));var l=e.iceServers||[{urls:"stun:stun.l.google.com:19302"}],c=e.iceTransportPolicy,d=e.bundlePolicy,u=!0===e.ipv6,p=!1;void 0!==e.withCredentials&&null!==e.withCredentials&&(p=!0===e.withCredentials);var h=10;void 0!==e.max_poll_events&&null!==e.max_poll_events&&(h=e.max_poll_events),h<1&&(h=1);var m=null;void 0!==e.token&&null!==e.token&&(m=e.token);var f=null;void 0!==e.apisecret&&null!==e.apisecret&&(f=e.apisecret),this.destroyOnUnload=!0,void 0!==e.destroyOnUnload&&null!==e.destroyOnUnload&&(this.destroyOnUnload=!0===e.destroyOnUnload);var g=25e3;void 0!==e.keepAlivePeriod&&null!==e.keepAlivePeriod&&(g=e.keepAlivePeriod),isNaN(g)&&(g=25e3);var v=6e4;function b(e){var t={high:9e5,medium:3e5,low:1e5};return void 0!==e&&null!==e&&(e.high&&(t.high=e.high),e.medium&&(t.medium=e.medium),e.low&&(t.low=e.low)),t}void 0!==e.longPollTimeout&&null!==e.longPollTimeout&&(v=e.longPollTimeout),isNaN(v)&&(v=6e4);var y=!1,w=null,_={},C=this,k=0,P={};function S(){if(null!=w)if(_r.debug("Long poll..."),y){var t=o+"/"+w+"?rid="+(new Date).getTime();h&&(t=t+"&maxev="+h),m&&(t=t+"&token="+encodeURIComponent(m)),f&&(t=t+"&apisecret="+encodeURIComponent(f)),_r.httpAPICall(t,{verb:"GET",withCredentials:p,success:D,timeout:v,error:function(t,i){if(_r.error(t+":",i),k++,k>3)return y=!1,void e.error("Lost connection to the server (is it down?)");S()}})}else _r.warn("Is the server down? (connected=false)")}function D(e,n){if(k=0,t||void 0===w||null===w||!0===n||S(),t||!_r.isArray(e)){if(!e.session_id||e.session_id===w)if("keepalive"!==e["janus"])if("server_info"!==e["janus"])if("ack"!==e["janus"])if("success"!==e["janus"])if("trickle"===e["janus"]){var a=e["sender"];if(!a)return void _r.warn("Missing sender...");var r=_[a];if(!r)return void _r.debug("This handle is not attached to this session");var s=e["candidate"];_r.debug("Got a trickled candidate on session "+w),_r.debug(s);var o=r.webrtcStuff;o.pc&&o.remoteSdp?(_r.debug("Adding remote candidate:",s),s&&!0!==s.completed?o.pc.addIceCandidate(s):o.pc.addIceCandidate(_r.endOfCandidates)):(_r.debug("We didn't do setRemoteDescription (trickle got here before the offer?), caching candidate"),o.candidates||(o.candidates=[]),o.candidates.push(s),_r.debug(o.candidates))}else{if("webrtcup"===e["janus"]){_r.debug("Got a webrtcup event on session "+w),_r.debug(e);a=e["sender"];if(!a)return void _r.warn("Missing sender...");r=_[a];return r?void r.webrtcState(!0):void _r.debug("This handle is not attached to this session")}if("hangup"===e["janus"]){_r.debug("Got a hangup event on session "+w),_r.debug(e);a=e["sender"];if(!a)return void _r.warn("Missing sender...");r=_[a];if(!r)return void _r.debug("This handle is not attached to this session");r.webrtcState(!1,e["reason"]),r.hangup()}else if("detached"===e["janus"]){_r.debug("Got a detached event on session "+w),_r.debug(e);a=e["sender"];if(!a)return void _r.warn("Missing sender...");r=_[a];if(!r)return;r.detached=!0,r.ondetached(),r.detach()}else if("media"===e["janus"]){_r.debug("Got a media event on session "+w),_r.debug(e);a=e["sender"];if(!a)return void _r.warn("Missing sender...");r=_[a];if(!r)return void _r.debug("This handle is not attached to this session");r.mediaState(e["type"],e["receiving"])}else if("slowlink"===e["janus"]){_r.debug("Got a slowlink event on session "+w),_r.debug(e);a=e["sender"];if(!a)return void _r.warn("Missing sender...");r=_[a];if(!r)return void _r.debug("This handle is not attached to this session");r.slowLink(e["uplink"],e["lost"])}else{if("error"===e["janus"]){_r.error("Ooops: "+e["error"].code+" "+e["error"].reason),_r.debug(e);p=e["transaction"];if(p){h=P[p];h&&h(e),delete P[p]}return void(458===e.error.code&&t&&i.close(3505,"No such session"))}if("event"===e["janus"]){_r.debug("Got a plugin event on session "+w),_r.debug(e);a=e["sender"];if(!a)return void _r.warn("Missing sender...");var l=e["plugindata"];if(!l)return void _r.warn("Missing plugindata...");_r.debug(" -- Event is coming from "+a+" ("+l["plugin"]+")");var c=l["data"];_r.debug(c);r=_[a];if(!r)return void _r.warn("This handle is not attached to this session");var d=e["jsep"];d&&(_r.debug("Handling SDP as well..."),_r.debug(d));var u=r.onmessage;u?(_r.debug("Notifying application..."),u(c,d)):_r.debug("No provided notification callback")}else{if("timeout"===e["janus"])return _r.error("Timeout on session "+w),_r.debug(e),void(t&&i.close(3504,"Gateway timeout"));_r.warn("Unknown message/event '"+e["janus"]+"' on session "+w),_r.debug(e)}}}else{_r.debug("Got a success on session "+w),_r.debug(e);p=e["transaction"];if(p){h=P[p];h&&h(e),delete P[p]}}else{_r.debug("Got an ack on session "+w),_r.debug(e);var p=e["transaction"];if(p){var h=P[p];h&&h(e),delete P[p]}}else{_r.debug("Got info on the Janus instance"),_r.debug(e);var p=e["transaction"];if(p){var h=P[p];h&&h(e),delete P[p]}}else _r.vdebug("Got a keepalive on session "+w)}else for(var m=0;m data channel: "+n),"open"===n){if(s.dataChannel[t].pending&&s.dataChannel[t].pending.length>0){for(var a of(_r.log("Sending pending messages on <"+t+">:",s.dataChannel[t].pending.length),s.dataChannel[t].pending))_r.log("Sending data on data channel <"+t+">"),_r.debug(a),s.dataChannel[t].send(a);s.dataChannel[t].pending=[]}r.ondataopen(t,i)}},c=function(e){_r.error("Got error on data channel:",e)};if(n)s.dataChannel[t]=n;else{var d={ordered:!0};i&&(d.protocol=i),s.dataChannel[t]=s.pc.createDataChannel(t,d)}s.dataChannel[t].onmessage=o,s.dataChannel[t].onopen=l,s.dataChannel[t].onclose=l,s.dataChannel[t].onerror=c,s.dataChannel[t].pending=[],a&&s.dataChannel[t].pending.push(a)}else _r.warn("Invalid PeerConnection")}else _r.warn("Invalid handle")}function L(e,t){t=t||{},t.success="function"==typeof t.success?t.success:_r.noop,t.error="function"==typeof t.error?t.error:_r.noop;var i=_[e];if(!i||!i.webrtcStuff)return _r.warn("Invalid handle"),void t.error("Invalid handle");var n=i.webrtcStuff,a=t.text||t.data;if(!a)return _r.warn("Invalid data"),void t.error("Invalid data");var r=t.label?t.label:_r.dataChanDefaultLabel;return n.dataChannel[r]?"open"!==n.dataChannel[r].readyState?(n.dataChannel[r].pending.push(a),void t.success()):(_r.log("Sending data on data channel <"+r+">"),_r.debug(a),n.dataChannel[r].send(a),void t.success()):(N(e,r,t.protocol,!1,a,t.protocol),void t.success())}function M(e,t){t=t||{},t.success="function"==typeof t.success?t.success:_r.noop,t.error="function"==typeof t.error?t.error:_r.noop;var i=_[e];if(!i||!i.webrtcStuff)return _r.warn("Invalid handle"),void t.error("Invalid handle");var n=i.webrtcStuff;if(!n.dtmfSender){if(n.pc){var a=n.pc.getSenders(),r=a.find((function(e){return e.track&&"audio"===e.track.kind}));if(!r)return _r.warn("Invalid DTMF configuration (no audio track)"),void t.error("Invalid DTMF configuration (no audio track)");n.dtmfSender=r.dtmf,n.dtmfSender&&(_r.log("Created DTMF Sender"),n.dtmfSender.ontonechange=function(e){_r.debug("Sent DTMF tone: "+e.tone)})}if(!n.dtmfSender)return _r.warn("Invalid DTMF configuration"),void t.error("Invalid DTMF configuration")}var s=t.dtmf;if(!s)return _r.warn("Invalid DTMF parameters"),void t.error("Invalid DTMF parameters");var o=s.tones;if(!o)return _r.warn("Invalid DTMF string"),void t.error("Invalid DTMF string");var l="number"===typeof s.duration?s.duration:500,c="number"===typeof s.gap?s.gap:50;_r.debug("Sending DTMF string "+o+" (duration "+l+"ms, gap "+c+"ms)"),n.dtmfSender.insertDTMF(o,l,c),t.success()}function E(e,n){n=n||{},n.success="function"==typeof n.success?n.success:_r.noop,n.error="function"==typeof n.error?n.error:_r.noop;var a=!0===n.noRequest;_r.log("Destroying handle "+e+" (only-locally="+a+")"),q(e);var r=_[e];if(!r||r.detached)return delete _[e],void n.success();if(r.detached=!0,a)return delete _[e],void n.success();if(!y)return _r.warn("Is the server down? (connected=false)"),void n.error("Is the server down? (connected=false)");var s={janus:"detach",transaction:_r.randomString(12)};if(r.token&&(s["token"]=r.token),f&&(s["apisecret"]=f),t)return s["session_id"]=w,s["handle_id"]=e,i.send(JSON.stringify(s)),delete _[e],void n.success();_r.httpAPICall(o+"/"+w+"/"+e,{verb:"POST",withCredentials:p,body:s,success:function(t){_r.log("Destroyed handle:"),_r.debug(t),"success"!==t["janus"]&&_r.error("Ooops: "+t["error"].code+" "+t["error"].reason),delete _[e],n.success()},error:function(t,i){_r.error(t+":",i),delete _[e],n.success()}})}function R(e,t,i,n,a){var r=_[e];if(!r||!r.webrtcStuff)return _r.warn("Invalid handle"),n.stream||_r.stopAllTracks(a),void n.error("Invalid handle");var s=r.webrtcStuff;_r.debug("streamsDone:",a),a&&(_r.debug(" -- Audio tracks:",a.getAudioTracks()),_r.debug(" -- Video tracks:",a.getVideoTracks()));var o=!1;if(s.myStream&&i.update&&(!s.streamExternal||i.replaceAudio||i.replaceVideo)){if((!i.update&&Z(i)||i.update&&(i.addAudio||i.replaceAudio))&&a.getAudioTracks()&&a.getAudioTracks().length)if(s.myStream.addTrack(a.getAudioTracks()[0]),_r.unifiedPlan){_r.log((i.replaceAudio?"Replacing":"Adding")+" audio track:",a.getAudioTracks()[0]);var p=null,h=s.pc.getTransceivers();if(h&&h.length>0)for(var m of h)if(m.sender&&m.sender.track&&"audio"===m.sender.track.kind||m.receiver&&m.receiver.track&&"audio"===m.receiver.track.kind){p=m;break}p&&p.sender?p.sender.replaceTrack(a.getAudioTracks()[0]):s.pc.addTrack(a.getAudioTracks()[0],a)}else _r.log((i.replaceAudio?"Replacing":"Adding")+" audio track:",a.getAudioTracks()[0]),s.pc.addTrack(a.getAudioTracks()[0],a);if((!i.update&&ee(i)||i.update&&(i.addVideo||i.replaceVideo))&&a.getVideoTracks()&&a.getVideoTracks().length)if(s.myStream.addTrack(a.getVideoTracks()[0]),_r.unifiedPlan){_r.log((i.replaceVideo?"Replacing":"Adding")+" video track:",a.getVideoTracks()[0]);var f=null;h=s.pc.getTransceivers();if(h&&h.length>0)for(var m of h)if(m.sender&&m.sender.track&&"video"===m.sender.track.kind||m.receiver&&m.receiver.track&&"video"===m.receiver.track.kind){f=m;break}f&&f.sender?f.sender.replaceTrack(a.getVideoTracks()[0]):s.pc.addTrack(a.getVideoTracks()[0],a)}else _r.log((i.replaceVideo?"Replacing":"Adding")+" video track:",a.getVideoTracks()[0]),s.pc.addTrack(a.getVideoTracks()[0],a)}else s.myStream=a,o=!0;if(!s.pc){var g={iceServers:l,iceTransportPolicy:c,bundlePolicy:d};"chrome"===_r.webRTCAdapter.browserDetails.browser&&(g["sdpSemantics"]=_r.webRTCAdapter.browserDetails.version<72?"plan-b":"unified-plan");var v={optional:[{DtlsSrtpKeyAgreement:!0}]};if(u&&v.optional.push({googIPv6:!0}),n.rtcConstraints&&"object"===typeof n.rtcConstraints)for(var y in _r.debug("Adding custom PeerConnection constraints:",n.rtcConstraints),n.rtcConstraints)v.optional.push(n.rtcConstraints[y]);"edge"===_r.webRTCAdapter.browserDetails.browser&&(g.bundlePolicy="max-bundle"),RTCRtpSender&&(RTCRtpSender.prototype.createEncodedStreams||RTCRtpSender.prototype.createEncodedAudioStreams&&RTCRtpSender.prototype.createEncodedVideoStreams)&&(n.senderTransforms||n.receiverTransforms)&&(s.senderTransforms=n.senderTransforms,s.receiverTransforms=n.receiverTransforms,g["forceEncodedAudioInsertableStreams"]=!0,g["forceEncodedVideoInsertableStreams"]=!0,g["encodedInsertableStreams"]=!0),_r.log("Creating PeerConnection"),_r.debug(v),s.pc=new RTCPeerConnection(g,v),_r.debug(s.pc),s.pc.getStats&&(s.volume={}),_r.log("Preparing local SDP and gathering candidates (trickle="+s.trickle+")"),s.pc.oniceconnectionstatechange=function(e){s.pc&&r.iceState(s.pc.iceConnectionState)},s.pc.onicecandidate=function(t){if(!t.candidate||"edge"===_r.webRTCAdapter.browserDetails.browser&&t.candidate.candidate.indexOf("endOfCandidates")>0)_r.log("End of candidates."),s.iceDone=!0,!0===s.trickle?O(e,{completed:!0}):W(e,n);else{var i={candidate:t.candidate.candidate,sdpMid:t.candidate.sdpMid,sdpMLineIndex:t.candidate.sdpMLineIndex};!0===s.trickle&&O(e,i)}},s.pc.ontrack=function(e){if(_r.log("Handling Remote Track"),_r.debug(e),e.streams&&(s.remoteStream=e.streams[0],r.onremotestream(s.remoteStream),!e.track.onended)){if(s.receiverTransforms){var t=null;RTCRtpSender.prototype.createEncodedStreams?t=e.receiver.createEncodedStreams():(RTCRtpSender.prototype.createAudioEncodedStreams||RTCRtpSender.prototype.createEncodedVideoStreams)&&("audio"===e.track.kind&&s.receiverTransforms["audio"]?t=e.receiver.createEncodedAudioStreams():"video"===e.track.kind&&s.receiverTransforms["video"]&&(t=e.receiver.createEncodedVideoStreams())),t&&(console.log(t),t.readableStream&&t.writableStream?t.readableStream.pipeThrough(s.receiverTransforms[e.track.kind]).pipeTo(t.writableStream):t.readable&&t.writable&&t.readable.pipeThrough(s.receiverTransforms[e.track.kind]).pipeTo(t.writable))}var i=null;_r.log("Adding onended callback to track:",e.track),e.track.onended=function(e){_r.log("Remote track removed:",e),s.remoteStream&&(clearTimeout(i),s.remoteStream.removeTrack(e.target),r.onremotestream(s.remoteStream))},e.track.onmute=function(e){_r.log("Remote track muted:",e),s.remoteStream&&null==i&&(i=setTimeout((function(){_r.log("Removing remote track"),s.remoteStream&&(s.remoteStream.removeTrack(e.target),r.onremotestream(s.remoteStream),r.ontrackmuted()),i=null}),2520))},e.track.onunmute=function(e){if(_r.log("Remote track flowing again:",e),null!=i)clearTimeout(i),i=null;else try{s.remoteStream.addTrack(e.target),r.onremotestream(s.remoteStream),r.ontrackunmuted()}catch(t){_r.error(t)}}}}}if(o&&a){_r.log("Adding local stream");var w=!0===n.simulcast2;a.getTracks().forEach((function(e){_r.log("Adding local track:",e);var t=null;if(w&&"audio"!==e.kind){_r.log("Enabling rid-based simulcasting:",e);var i=b(n.simulcastMaxBitrates),r=s.pc.addTransceiver(e,{direction:"sendrecv",streams:[a],sendEncodings:n.sendEncodings||[{rid:"h",active:!0,maxBitrate:i.high},{rid:"m",active:!0,maxBitrate:i.medium,scaleResolutionDownBy:2},{rid:"l",active:!0,maxBitrate:i.low,scaleResolutionDownBy:4}]});r&&(t=r.sender)}else t=s.pc.addTrack(e,a);if(t&&s.senderTransforms){var o=null;RTCRtpSender.prototype.createEncodedStreams?o=t.createEncodedStreams():(RTCRtpSender.prototype.createAudioEncodedStreams||RTCRtpSender.prototype.createEncodedVideoStreams)&&("audio"===t.track.kind&&s.senderTransforms["audio"]?o=t.createEncodedAudioStreams():"video"===t.track.kind&&s.senderTransforms["video"]&&(o=t.createEncodedVideoStreams())),o&&(console.log(o),o.readableStream&&o.writableStream?o.readableStream.pipeThrough(s.senderTransforms[t.track.kind]).pipeTo(o.writableStream):o.readable&&o.writable&&o.readable.pipeThrough(s.senderTransforms[t.track.kind]).pipeTo(o.writable))}}))}if(ae(i)&&!s.dataChannel[_r.dataChanDefaultLabel]&&(_r.log("Creating default data channel"),N(e,_r.dataChanDefaultLabel,null,!1),s.pc.ondatachannel=function(t){_r.log("Data channel created by Janus:",t),N(e,t.channel.label,t.channel.protocol,t.channel)}),s.myStream&&r.onlocalstream(s.myStream),t){var C=t["sdp"],k=/420029/gi,P=C.replace(k,"42e01f");_r.log(P),t["sdp"]=P,s.pc.setRemoteDescription(t).then((function(){if(_r.log("Remote description accepted!"),s.remoteSdp=t.sdp,s.candidates&&s.candidates.length>0){for(var a=0;a=26&&P<=S?(m={video:{mandatory:{googLeakyBucket:!0,maxWidth:window.screen.width,maxHeight:window.screen.height,minFrameRate:a.screenshareFrameRate,maxFrameRate:a.screenshareFrameRate,chromeMediaSource:"screen"}},audio:Z(a)&&!a.keepAudio},k(m,C)):_r.extension.getScreen((function(e,t){if(e)return r.consentDialog(!1),i.error(e);m={audio:!1,video:{mandatory:{chromeMediaSource:"desktop",maxWidth:window.screen.width,maxHeight:window.screen.height,minFrameRate:a.screenshareFrameRate,maxFrameRate:a.screenshareFrameRate},optional:[{googLeakyBucket:!0},{googTemporalLayeredScreencast:!0}]}},m.video.mandatory.chromeMediaSourceId=t,k(m,C,Z(a)&&!a.keepAudio)}))}else if("firefox"===_r.webRTCAdapter.browserDetails.browser){if(!(_r.webRTCAdapter.browserDetails.version>=33)){var D=new Error("NavigatorUserMediaError");return D.name="Your version of Firefox does not support screen sharing, please install Firefox 33 (or more recent versions)",r.consentDialog(!1),void i.error(D)}m={video:{mozMediaSource:a.video,mediaSource:a.video},audio:Z(a)&&!a.keepAudio},k(m,(function(e,t){if(C(e,t),!e)var i=t.currentTime,n=window.setInterval((function(){t||window.clearInterval(n),t.currentTime==i&&(window.clearInterval(n),t.onended&&t.onended()),i=t.currentTime}),500)}))}return}}a&&"screen"===a.video||navigator.mediaDevices.enumerateDevices().then((function(t){var s=t.some((function(e){return"audioinput"===e.kind})),o=ne(a)||t.some((function(e){return"videoinput"===e.kind})),l=Z(a),c=ee(a),d=Q(a),u=te(a);if(l||c||d||u){var p=!!l&&s,m=!!c&&o;if(!p&&!m)return r.consentDialog(!1),i.error("No capture device found"),!1;if(!p&&d)return r.consentDialog(!1),i.error("Audio capture is required, but no capture device found"),!1;if(!m&&u)return r.consentDialog(!1),i.error("Video capture is required, but no capture device found"),!1}var v={audio:!(!s||a.keepAudio)&&f,video:!(!o||a.keepVideo)&&g};_r.debug("getUserMedia constraints",v),v.audio||v.video?navigator.mediaDevices.getUserMedia(v).then((function(t){r.consentDialog(!1),R(e,n,a,i,t)})).catch((function(e){r.consentDialog(!1),i.error({code:e.code,name:e.name,message:e.message})})):(r.consentDialog(!1),R(e,n,a,i,h))})).catch((function(e){r.consentDialog(!1),i.error(e)}))}else R(e,n,a,i)}function B(e,t){t=t||{},t.success="function"==typeof t.success?t.success:_r.noop,t.error="function"==typeof t.error?t.error:K,t.customizeSdp="function"==typeof t.customizeSdp?t.customizeSdp:_r.noop;var i=t.jsep,n=_[e];if(!n||!n.webrtcStuff)return _r.warn("Invalid handle"),void t.error("Invalid handle");var a=n.webrtcStuff;if(i){if(!a.pc)return _r.warn("Wait, no PeerConnection?? if this is an answer, use createAnswer and not handleRemoteJsep"),void t.error("No PeerConnection: if this is an answer, use createAnswer and not handleRemoteJsep");t.customizeSdp(i),a.pc.setRemoteDescription(i).then((function(){if(_r.log("Remote description accepted!"),a.remoteSdp=i.sdp,a.candidates&&a.candidates.length>0){for(var e=0;e0)for(var d of c)d.sender&&d.sender.track&&"audio"===d.sender.track.kind||d.receiver&&d.receiver.track&&"audio"===d.receiver.track.kind?o||(o=d):(d.sender&&d.sender.track&&"video"===d.sender.track.kind||d.receiver&&d.receiver.track&&"video"===d.receiver.track.kind)&&(l||(l=d));var u=Z(t),p=X(t);u||p?u&&p?o&&(o.setDirection?o.setDirection("sendrecv"):o.direction="sendrecv",_r.log("Setting audio transceiver to sendrecv:",o)):u&&!p?o&&(o.setDirection?o.setDirection("sendonly"):o.direction="sendonly",_r.log("Setting audio transceiver to sendonly:",o)):!u&&p&&(o?(o.setDirection?o.setDirection("recvonly"):o.direction="recvonly",_r.log("Setting audio transceiver to recvonly:",o)):(o=a.pc.addTransceiver("audio",{direction:"recvonly"}),_r.log("Adding recvonly audio transceiver:",o))):t.removeAudio&&o&&(o.setDirection?o.setDirection("inactive"):o.direction="inactive",_r.log("Setting audio transceiver to inactive:",o));var h=ee(t),m=ie(t);h||m?h&&m?l&&(l.setDirection?l.setDirection("sendrecv"):l.direction="sendrecv",_r.log("Setting video transceiver to sendrecv:",l)):h&&!m?l&&(l.setDirection?l.setDirection("sendonly"):l.direction="sendonly",_r.log("Setting video transceiver to sendonly:",l)):!h&&m&&(l?(l.setDirection?l.setDirection("recvonly"):l.direction="recvonly",_r.log("Setting video transceiver to recvonly:",l)):(l=a.pc.addTransceiver("video",{direction:"recvonly"}),_r.log("Adding recvonly video transceiver:",l))):t.removeVideo&&l&&(l.setDirection?l.setDirection("inactive"):l.direction="inactive",_r.log("Setting video transceiver to inactive:",l))}else s["offerToReceiveAudio"]=X(t),s["offerToReceiveVideo"]=ie(t);var f=!0===i.iceRestart;f&&(s["iceRestart"]=!0),_r.debug(s);var g=ee(t);if(g&&r&&"firefox"===_r.webRTCAdapter.browserDetails.browser){_r.log("Enabling Simulcasting for Firefox (RID)");var v=a.pc.getSenders().find((function(e){return e.track&&"video"===e.track.kind}));if(v){var y=v.getParameters();y||(y={});var w=b(i.simulcastMaxBitrates);y.encodings=i.sendEncodings||[{rid:"h",active:!0,maxBitrate:w.high},{rid:"m",active:!0,maxBitrate:w.medium,scaleResolutionDownBy:2},{rid:"l",active:!0,maxBitrate:w.low,scaleResolutionDownBy:4}],v.setParameters(y)}}a.pc.createOffer(s).then((function(e){_r.debug(e);var t={type:e.type,sdp:e.sdp};i.customizeSdp(t),e.sdp=t.sdp,_r.log("Setting local description"),g&&r&&("chrome"===_r.webRTCAdapter.browserDetails.browser||"safari"===_r.webRTCAdapter.browserDetails.browser?(_r.log("Enabling Simulcasting for Chrome (SDP munging)"),e.sdp=J(e.sdp)):"firefox"!==_r.webRTCAdapter.browserDetails.browser&&_r.warn("simulcast=true, but this is not Chrome nor Firefox, ignoring")),a.mySdp={type:"offer",sdp:e.sdp},a.pc.setLocalDescription(e).catch(i.error),a.mediaConstraints=s,a.iceDone||a.trickle?((a.senderTransforms||a.receiverTransforms)&&(e["e2ee"]=!0),i.success(e)):_r.log("Waiting for all candidates...")}),i.error)}function j(e,t,i){i=i||{},i.success="function"==typeof i.success?i.success:_r.noop,i.error="function"==typeof i.error?i.error:_r.noop,i.customizeSdp="function"==typeof i.customizeSdp?i.customizeSdp:_r.noop;var n=_[e];if(!n||!n.webrtcStuff)return _r.warn("Invalid handle"),void i.error("Invalid handle");var a=n.webrtcStuff,r=!0===i.simulcast;r?_r.log("Creating answer (iceDone="+a.iceDone+", simulcast="+r+")"):_r.log("Creating answer (iceDone="+a.iceDone+")");var s=null;if(_r.unifiedPlan){s={};var o=null,l=null,c=a.pc.getTransceivers();if(c&&c.length>0)for(var d of c)d.sender&&d.sender.track&&"audio"===d.sender.track.kind||d.receiver&&d.receiver.track&&"audio"===d.receiver.track.kind?o||(o=d):(d.sender&&d.sender.track&&"video"===d.sender.track.kind||d.receiver&&d.receiver.track&&"video"===d.receiver.track.kind)&&(l||(l=d));var u=Z(t),p=X(t);if(u||p){if(u&&p){if(o)try{o.setDirection?o.setDirection("sendrecv"):o.direction="sendrecv",_r.log("Setting audio transceiver to sendrecv:",o)}catch(w){_r.error(w)}}else if(u&&!p)try{o&&(o.setDirection?o.setDirection("sendonly"):o.direction="sendonly",_r.log("Setting audio transceiver to sendonly:",o))}catch(w){_r.error(w)}else if(!u&&p)if(o)try{o.setDirection?o.setDirection("recvonly"):o.direction="recvonly",_r.log("Setting audio transceiver to recvonly:",o)}catch(w){_r.error(w)}else o=a.pc.addTransceiver("audio",{direction:"recvonly"}),_r.log("Adding recvonly audio transceiver:",o)}else if(t.removeAudio&&o)try{o.setDirection?o.setDirection("inactive"):o.direction="inactive",_r.log("Setting audio transceiver to inactive:",o)}catch(w){_r.error(w)}var h=ee(t),m=ie(t);if(h||m){if(h&&m){if(l)try{l.setDirection?l.setDirection("sendrecv"):l.direction="sendrecv",_r.log("Setting video transceiver to sendrecv:",l)}catch(w){_r.error(w)}}else if(h&&!m){if(l)try{l.setDirection?l.setDirection("sendonly"):l.direction="sendonly",_r.log("Setting video transceiver to sendonly:",l)}catch(w){_r.error(w)}}else if(!h&&m)if(l)try{l.setDirection?l.setDirection("recvonly"):l.direction="recvonly",_r.log("Setting video transceiver to recvonly:",l)}catch(w){_r.error(w)}else l=a.pc.addTransceiver("video",{direction:"recvonly"}),_r.log("Adding recvonly video transceiver:",l)}else if(t.removeVideo&&l)try{l.setDirection?l.setDirection("inactive"):l.direction="inactive",_r.log("Setting video transceiver to inactive:",l)}catch(w){_r.error(w)}}else s="firefox"===_r.webRTCAdapter.browserDetails.browser||"edge"===_r.webRTCAdapter.browserDetails.browser?{offerToReceiveAudio:X(t),offerToReceiveVideo:ie(t)}:{mandatory:{OfferToReceiveAudio:X(t),OfferToReceiveVideo:ie(t)}};_r.debug(s);var f=ee(t);if(f&&r&&"firefox"===_r.webRTCAdapter.browserDetails.browser){_r.log("Enabling Simulcasting for Firefox (RID)");var g=a.pc.getSenders()[1];_r.log(g);var v=g.getParameters();_r.log(v);var y=b(i.simulcastMaxBitrates);g.setParameters({encodings:i.sendEncodings||[{rid:"h",active:!0,maxBitrate:y.high},{rid:"m",active:!0,maxBitrate:y.medium,scaleResolutionDownBy:2},{rid:"l",active:!0,maxBitrate:y.low,scaleResolutionDownBy:4}]})}a.pc.createAnswer(s).then((function(e){_r.debug(e);var t={type:e.type,sdp:e.sdp};i.customizeSdp(t),e.sdp=t.sdp,_r.log("Setting local description"),f&&r&&("chrome"===_r.webRTCAdapter.browserDetails.browser?_r.warn("simulcast=true, but this is an answer, and video breaks in Chrome if we enable it"):"firefox"!==_r.webRTCAdapter.browserDetails.browser&&_r.warn("simulcast=true, but this is not Chrome nor Firefox, ignoring")),a.mySdp={type:"answer",sdp:e.sdp},a.pc.setLocalDescription(e).catch(i.error),a.mediaConstraints=s,a.iceDone||a.trickle?((a.senderTransforms||a.receiverTransforms)&&(e["e2ee"]=!0),i.success(e)):_r.log("Waiting for all candidates...")}),i.error)}function W(e,t){t=t||{},t.success="function"==typeof t.success?t.success:_r.noop,t.error="function"==typeof t.error?t.error:_r.noop;var i=_[e];if(i&&i.webrtcStuff){var n=i.webrtcStuff;_r.log("Sending offer/answer SDP..."),n.mySdp?(n.mySdp={type:n.pc.localDescription.type,sdp:n.pc.localDescription.sdp},!1===n.trickle&&(n.mySdp["trickle"]=!1),_r.debug(t),n.sdpSent=!0,t.success(n.mySdp)):_r.warn("Local SDP instance is invalid, not sending anything...")}else _r.warn("Invalid handle, not sending anything")}function H(e,t){var i=_[e];if(!i||!i.webrtcStuff)return _r.warn("Invalid handle"),0;var n=t?"remote":"local",a=i.webrtcStuff;return a.volume[n]||(a.volume[n]={value:0}),!a.pc.getStats||"chrome"!==_r.webRTCAdapter.browserDetails.browser&&"safari"!==_r.webRTCAdapter.browserDetails.browser?(_r.warn("Getting the "+n+" volume unsupported by browser"),0):t&&!a.remoteStream?(_r.warn("Remote stream unavailable"),0):t||a.myStream?a.volume[n].timer?a.volume[n].value:(_r.log("Starting "+n+" volume monitor"),a.volume[n].timer=setInterval((function(){a.pc.getStats().then((function(e){e.forEach((function(e){e&&"audio"===e.kind&&(t&&!e.remoteSource||!t&&"media-source"!==e.type||(a.volume[n].value=e.audioLevel?e.audioLevel:0))}))}))}),200),0):(_r.warn("Local stream unavailable"),0)}function V(e,t){var i=_[e];if(!i||!i.webrtcStuff)return _r.warn("Invalid handle"),!0;var n=i.webrtcStuff;return n.pc?n.myStream?t?n.myStream.getVideoTracks()&&0!==n.myStream.getVideoTracks().length?!n.myStream.getVideoTracks()[0].enabled:(_r.warn("No video track"),!0):n.myStream.getAudioTracks()&&0!==n.myStream.getAudioTracks().length?!n.myStream.getAudioTracks()[0].enabled:(_r.warn("No audio track"),!0):(_r.warn("Invalid local MediaStream"),!0):(_r.warn("Invalid PeerConnection"),!0)}function Y(e,t,i){var n=_[e];if(!n||!n.webrtcStuff)return _r.warn("Invalid handle"),!1;var a=n.webrtcStuff;return a.pc?a.myStream?t?a.myStream.getVideoTracks()&&0!==a.myStream.getVideoTracks().length?(a.myStream.getVideoTracks()[0].enabled=!i,!0):(_r.warn("No video track"),!1):a.myStream.getAudioTracks()&&0!==a.myStream.getAudioTracks().length?(a.myStream.getAudioTracks()[0].enabled=!i,!0):(_r.warn("No audio track"),!1):(_r.warn("Invalid local MediaStream"),!1):(_r.warn("Invalid PeerConnection"),!1)}function G(e){var t=_[e];if(!t||!t.webrtcStuff)return _r.warn("Invalid handle"),"Invalid handle";var i=t.webrtcStuff;return i.pc?i.pc.getStats?(i.bitrate.timer||(_r.log("Starting bitrate timer (via getStats)"),i.bitrate.timer=setInterval((function(){i.pc.getStats().then((function(e){e.forEach((function(e){if(e){var t=!1;if(("video"===e.mediaType||e.id.toLowerCase().indexOf("video")>-1)&&"inbound-rtp"===e.type&&e.id.indexOf("rtcp")<0?t=!0:"ssrc"!=e.type||!e.bytesReceived||"VP8"!==e.googCodecName&&""!==e.googCodecName||(t=!0),t)if(i.bitrate.fps=e.framesPerSecond,i.bitrate.bsnow=e.bytesReceived,i.bitrate.tsnow=e.timestamp,null===i.bitrate.bsbefore||null===i.bitrate.tsbefore)i.bitrate.bsbefore=i.bitrate.bsnow,i.bitrate.tsbefore=i.bitrate.tsnow;else{var n=i.bitrate.tsnow-i.bitrate.tsbefore;"safari"===_r.webRTCAdapter.browserDetails.browser&&(n/=1e3);var a=Math.round(8*(i.bitrate.bsnow-i.bitrate.bsbefore)/n);"safari"===_r.webRTCAdapter.browserDetails.browser&&(a=parseInt(a/1e3)),i.bitrate.value=a+" kbps",i.bitrate.bsbefore=i.bitrate.bsnow,i.bitrate.tsbefore=i.bitrate.tsnow}}}))}))}),1e3)),i.bitrate):(_r.warn("Getting the video bitrate unsupported by browser"),"Feature unsupported by browser"):"Invalid PeerConnection"}function K(e){_r.error("WebRTC error:",e)}function q(e,n){_r.log("Cleaning WebRTC stuff");var a=_[e];if(a){var r=a.webrtcStuff;if(r){if(!0===n){var s={janus:"hangup",transaction:_r.randomString(12)};a.token&&(s["token"]=a.token),f&&(s["apisecret"]=f),_r.debug("Sending hangup request (handle="+e+"):"),_r.debug(s),t?(s["session_id"]=w,s["handle_id"]=e,i.send(JSON.stringify(s))):_r.httpAPICall(o+"/"+w+"/"+e,{verb:"POST",withCredentials:p,body:s})}r.remoteStream=null,r.volume&&(r.volume["local"]&&r.volume["local"].timer&&clearInterval(r.volume["local"].timer),r.volume["remote"]&&r.volume["remote"].timer&&clearInterval(r.volume["remote"].timer)),r.volume={},r.bitrate.timer&&clearInterval(r.bitrate.timer),r.bitrate.timer=null,r.bitrate.bsnow=null,r.bitrate.bsbefore=null,r.bitrate.tsnow=null,r.bitrate.tsbefore=null,r.bitrate.value=null,!r.streamExternal&&r.myStream&&(_r.log("Stopping local stream tracks"),_r.stopAllTracks(r.myStream)),r.streamExternal=!1,r.myStream=null;try{r.pc.close()}catch(l){}r.pc=null,r.candidates=null,r.mySdp=null,r.remoteSdp=null,r.iceDone=!1,r.dataChannel={},r.dtmfSender=null,r.senderTransforms=null,r.receiverTransforms=null}a.oncleanup()}}function J(e){for(var t=e.split("\r\n"),i=!1,n=[-1],a=[-1],r=null,s=null,o=null,l=null,c=-1,d=0;d-1){c=d;break}}else if(i){var h=t[d].match(/a=ssrc-group:SIM (\d+) (\d+) (\d+)/);if(h)return _r.warn("The SDP already contains a SIM attribute, munging will be skipped"),e;var m=t[d].match(/a=ssrc-group:FID (\d+) (\d+)/);if(m)n[0]=m[1],a[0]=m[2],t.splice(d,1),d--;else{if(n[0]){var f=t[d].match("a=ssrc:"+n[0]+" cname:(.+)");if(f&&(r=f[1]),f=t[d].match("a=ssrc:"+n[0]+" msid:(.+)"),f&&(s=f[1]),f=t[d].match("a=ssrc:"+n[0]+" mslabel:(.+)"),f&&(o=f[1]),f=t[d].match("a=ssrc:"+n[0]+" label:(.+)"),f&&(l=f[1]),0===t[d].indexOf("a=ssrc:"+a[0])){t.splice(d,1),d--;continue}if(0===t[d].indexOf("a=ssrc:"+n[0])){t.splice(d,1),d--;continue}}0!=t[d].length||(t.splice(d,1),d--)}}}if(n[0]<0){c=-1,i=!1;for(d=0;d-1){c=d;break}}else if(i){if(n[0]<0){var g=t[d].match(/a=ssrc:(\d+)/);if(g){n[0]=g[1],t.splice(d,1),d--;continue}}else{f=t[d].match("a=ssrc:"+n[0]+" cname:(.+)");if(f&&(r=f[1]),f=t[d].match("a=ssrc:"+n[0]+" msid:(.+)"),f&&(s=f[1]),f=t[d].match("a=ssrc:"+n[0]+" mslabel:(.+)"),f&&(o=f[1]),f=t[d].match("a=ssrc:"+n[0]+" label:(.+)"),f&&(l=f[1]),0===t[d].indexOf("a=ssrc:"+a[0])){t.splice(d,1),d--;continue}if(0===t[d].indexOf("a=ssrc:"+n[0])){t.splice(d,1),d--;continue}}0!==t[d].length||(t.splice(d,1),d--)}}}if(n[0]<0)return _r.warn("Couldn't find the video SSRC, simulcasting NOT enabled"),e;c<0&&(c=t.length),n[1]=Math.floor(4294967295*Math.random()),n[2]=Math.floor(4294967295*Math.random()),a[1]=Math.floor(4294967295*Math.random()),a[2]=Math.floor(4294967295*Math.random());for(d=0;d>",e)})),r}}},_r.useOldDependencies=function(e){var t=e&&e.jQuery||jQuery,i=e&&e.WebSocket||WebSocket;return{newWebSocket:function(e,t){return new i(e,t)},isArray:function(e){return t.isArray(e)},extension:e&&e.extension||wr,webRTCAdapter:e&&e.adapter||yr["a"],httpAPICall:function(e,i){var n=void 0!==i.body?{contentType:"application/json",data:JSON.stringify(i.body)}:{},a=void 0!==i.withCredentials?{xhrFields:{withCredentials:i.withCredentials}}:{};return t.ajax(t.extend(n,a,{url:e,type:i.verb,cache:!1,dataType:"json",async:i.async,timeout:i.timeout,success:function(e){typeof i.success===typeof _r.noop&&i.success(e)},error:function(e,t,n){typeof i.error===typeof _r.noop&&i.error(t,n)}}))}}},_r.noop=function(){},_r.dataChanDefaultLabel="JanusDataChannel",_r.endOfCandidates=null,_r.stopAllTracks=function(e){try{var t=e.getTracks();for(var i of t)_r.log(i),i&&i.stop()}catch(n){}},_r.init=function(e){if(e=e||{},e.callback="function"==typeof e.callback?e.callback:_r.noop,_r.initDone)e.callback();else{if("undefined"!=typeof console&&"undefined"!=typeof console.log||(console={log:function(){}}),_r.trace=_r.noop,_r.debug=_r.noop,_r.vdebug=_r.noop,_r.log=_r.noop,_r.warn=_r.noop,_r.error=_r.noop,!0===e.debug||"all"===e.debug)_r.trace=console.trace.bind(console),_r.debug=console.debug.bind(console),_r.vdebug=console.debug.bind(console),_r.log=console.log.bind(console),_r.warn=console.warn.bind(console),_r.error=console.error.bind(console);else if(Array.isArray(e.debug))for(var t of e.debug)switch(t){case"trace":_r.trace=console.trace.bind(console);break;case"debug":_r.debug=console.debug.bind(console);break;case"vdebug":_r.vdebug=console.debug.bind(console);break;case"log":_r.log=console.log.bind(console);break;case"warn":_r.warn=console.warn.bind(console);break;case"error":_r.error=console.error.bind(console);break;default:console.error("Unknown debugging option '"+t+"' (supported: 'trace', 'debug', 'vdebug', 'log', warn', 'error')");break}_r.log("Initializing library");var i=e.dependencies||_r.useDefaultDependencies();_r.isArray=i.isArray,_r.webRTCAdapter=i.webRTCAdapter,_r.httpAPICall=i.httpAPICall,_r.newWebSocket=i.newWebSocket,_r.extension=i.extension,_r.extension.init(),_r.listDevices=function(e,t){e="function"==typeof e?e:_r.noop,null==t&&(t={audio:!0,video:!0}),_r.isGetUserMediaAvailable()?navigator.mediaDevices.getUserMedia(t).then((function(t){navigator.mediaDevices.enumerateDevices().then((function(i){_r.debug(i),e(i),_r.stopAllTracks(t)}))})).catch((function(t){_r.error(t),e([])})):(_r.warn("navigator.mediaDevices unavailable"),e([]))},_r.attachMediaStream=function(e,t){try{e.srcObject=t}catch(i){try{e.src=URL.createObjectURL(t)}catch(i){_r.error("Error attaching stream to element")}}},_r.reattachMediaStream=function(e,t){try{e.srcObject=t.srcObject}catch(i){try{e.src=t.src}catch(i){_r.error("Error reattaching stream to element")}}};var n=["iPad","iPhone","iPod"].indexOf(navigator.platform)>=0,a=n?"pagehide":"beforeunload",r=window["on"+a];if(window.addEventListener(a,(function(e){for(var t in _r.log("Closing window"),_r.sessions)_r.sessions[t]&&_r.sessions[t].destroyOnUnload&&(_r.log("Destroying session "+t),_r.sessions[t].destroy({unload:!0,notifyDestroyed:!1}));r&&"function"==typeof r&&r()})),_r.safariVp8=!1,"safari"===_r.webRTCAdapter.browserDetails.browser&&_r.webRTCAdapter.browserDetails.version>=605)if(RTCRtpSender&&RTCRtpSender.getCapabilities&&RTCRtpSender.getCapabilities("video")&&RTCRtpSender.getCapabilities("video").codecs&&RTCRtpSender.getCapabilities("video").codecs.length){for(var s of RTCRtpSender.getCapabilities("video").codecs)if(s&&s.mimeType&&"video/vp8"===s.mimeType.toLowerCase()){_r.safariVp8=!0;break}_r.safariVp8?_r.log("This version of Safari supports VP8"):_r.warn("This version of Safari does NOT support VP8: if you're using a Technology Preview, try enabling the 'WebRTC VP8 codec' setting in the 'Experimental Features' Develop menu")}else{var o=new RTCPeerConnection({});o.createOffer({offerToReceiveVideo:!0}).then((function(e){_r.safariVp8=-1!==e.sdp.indexOf("VP8"),_r.safariVp8?_r.log("This version of Safari supports VP8"):_r.warn("This version of Safari does NOT support VP8: if you're using a Technology Preview, try enabling the 'WebRTC VP8 codec' setting in the 'Experimental Features' Develop menu"),o.close(),o=null}))}if(_r.unifiedPlan=!1,"firefox"===_r.webRTCAdapter.browserDetails.browser&&_r.webRTCAdapter.browserDetails.version>=59)_r.unifiedPlan=!0;else if("chrome"===_r.webRTCAdapter.browserDetails.browser&&_r.webRTCAdapter.browserDetails.version>=72)_r.unifiedPlan=!0;else if(window.RTCRtpTransceiver&&"currentDirection"in RTCRtpTransceiver.prototype){var l=new RTCPeerConnection;try{l.addTransceiver("audio"),_r.unifiedPlan=!0}catch(c){}l.close()}else _r.unifiedPlan=!1;_r.initDone=!0,e.callback()}},_r.isWebrtcSupported=function(){return!!window.RTCPeerConnection},_r.isGetUserMediaAvailable=function(){return navigator.mediaDevices&&navigator.mediaDevices.getUserMedia},_r.randomString=function(e){for(var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",i="",n=0;n`/ws/janus/${e}/`,Pr=e=>`/ws/share_token/janus/${e}/`;function Sr(e){var t;const i=null===(t=Object(Q["e"])())||void 0===t?void 0:t.turn_server,n=[{urls:["stun:stun.l.google.com:19302"]}];return i&&n.push({urls:`turn:${i}:80?transport=udp`,credential:e,username:e},{urls:`turn:${i}:80?transport=tcp`,credential:e,username:e}),n}function Dr(e,t){let i,n;void 0===e&&void 0===t?(i=Tr([0,1]),n=xr(2)):e.includes("h264")?i=Tr([t]):e.includes("mjpeg")&&(n=xr(t));let a={callbacks:{},initialized:!1,h264WebRTCConn:i,mjpegWebRTCConn:n,openForShareToken(e){a.connect(Pr(e),e)},openForPrinter(e,t){a.connect(kr(e),t)},connect(e,t){a.initialized=!0,a.h264WebRTCConn&&a.h264WebRTCConn.connect(e,t),a.mjpegWebRTCConn&&a.mjpegWebRTCConn.connect(e,t)},disconnect(){a.h264WebRTCConn&&a.h264WebRTCConn.janus.destroy(),a.mjpegWebRTCConn&&a.mjpegWebRTCConn.janus.destroy()},stopStream(){a.h264WebRTCConn&&a.h264WebRTCConn.stopStream(),a.mjpegWebRTCConn&&a.mjpegWebRTCConn.stopStream()},sendData(e){a.h264WebRTCConn&&a.h264WebRTCConn.sendData(e)},startStream(){a.h264WebRTCConn&&a.h264WebRTCConn.startStream(),a.mjpegWebRTCConn&&a.mjpegWebRTCConn.startStream()},setCallbacks(e){a.callbacks={...a.callbacks,...e},a.h264WebRTCConn&&(a.h264WebRTCConn.callbacks=a.callbacks),a.mjpegWebRTCConn&&(a.mjpegWebRTCConn.callbacks=a.callbacks)}};return a}function xr(e){let t={callbacks:{},streamId:void 0,streaming:void 0,bitrateInterval:null,connect(e,i){Cr.init({debug:"all",callback:()=>{Cr.isWebrtcSupported()&&t.connectJanusWebSocket(e,i)}})},connectJanusWebSocket(i,n){t.janus=new Cr({server:window.location.protocol.replace("http","ws")+"//"+window.location.host+i,iceServers:Sr(n),ipv6:!0,success:()=>{t.janus.attach({plugin:"janus.plugin.streaming",opaqueId:"streamingtest-"+Cr.randomString(12),success:function(i){Cr.log("Plugin attached! ("+i.getPlugin()+", id="+i.getId()+")");const n={request:"info",id:e};Cr.debug("Sending message ("+JSON.stringify(n)+")"),i.send({message:n,success:function(e){let n=de()(e,"info");if(n){t.streamId=n.id,t.streaming=i;const e=de()(n,"data")||br()(de()(n,"media",[]),{type:"data"});e&&t.callbacks.onStreamAvailable(t)}else t.janus.destroy()}})},error:function(e){Cr.error(" -- Error attaching plugin... ",e),janus.destroy()},onmessage:function(e,i){t.onMessage(e,i)},onremotestream:function(e){},ondataopen:function(){},ondata:function(e){"onMJpegData"in t.callbacks&&t.callbacks.onMJpegData(e)},oncleanup:function(){}})},error(e){Cr.error(" -- Error -- ",e),t.janus.destroy()},destroyed(){t.streaming=void 0,t.streamId=void 0}})},onMessage(e,t){let i=this;Cr.debug(" ::: Got a message :::"),Cr.debug(e);let n=e["result"];if(null!==n&&void 0!==n){if(void 0!==n["status"]&&null!==n["status"]){var a=n["status"];"starting"===a?console.log("Starting"):"started"===a?console.log("Started"):"stopped"===a&&i.stopStream()}}else if(void 0!==e["error"]&&null!==e["error"])return Cr.error(e),void i.stopStream();var r;void 0!==t&&null!==t&&(null===(r=i.streaming)||void 0===r||r.createAnswer({jsep:t,media:{audioSend:!1,videoSend:!1,data:!0},success:function(e){var t;Cr.debug("Got SDP!"),Cr.debug(e);var n={request:"start"};null===(t=i.streaming)||void 0===t||t.send({message:n,jsep:e})},error:function(e){Cr.error("WebRTC error:",e)}}))},channelOpen(){return!(void 0===t.streamId||void 0===t.streaming)},startStream(){var e;if(!t.channelOpen())return;const i={request:"watch",offer_video:!1,id:parseInt(t.streamId)};null===(e=t.streaming)||void 0===e||e.send({message:i})},stopStream(){var e,i;const n={request:"stop"};null===(e=t.streaming)||void 0===e||e.send({message:n}),null===(i=t.streaming)||void 0===i||i.hangup()}};return t}function Tr(e){let t={callbacks:{},streamId:void 0,streaming:void 0,bitrateInterval:null,connect(e,i){Cr.init({debug:"all",callback:()=>{Cr.isWebrtcSupported()&&t.connectJanusWebSocket(e,i)}})},connectJanusWebSocket(i,n){t.janus=new Cr({server:window.location.protocol.replace("http","ws")+"//"+window.location.host+i,iceServers:Sr(n),ipv6:!0,success:()=>{t.janus.attach({plugin:"janus.plugin.streaming",opaqueId:"streamingtest-"+Cr.randomString(12),success:function(i){e.forEach(e=>{const n={request:"info",id:e};Cr.debug("Sending message ("+JSON.stringify(n)+")"),i.send({message:n,success:function(e){let n=de()(e,"info");if(n){t.streamId=n.id,t.streaming=i;const e=de()(n,"video")||br()(de()(n,"media",[]),{type:"video"});e&&t.callbacks.onStreamAvailable(t)}}})})},error:function(e){Cr.error(" -- Error attaching plugin... ",e),t.janus.destroy()},onmessage:function(e,i){t.onMessage(e,i)},onremotestream:function(e){Cr.debug(" ::: Got a remote stream :::"),Cr.debug(e),"onRemoteStream"in t.callbacks&&t.callbacks.onRemoteStream(e)},ontrackmuted:function(){"onTrackMuted"in t.callbacks&&t.callbacks.onTrackMuted()},ontrackunmuted:function(){"onTrackUnmuted"in t.callbacks&&t.callbacks.onTrackUnmuted()},slowLink:function(e,i){"onSlowLink"in t.callbacks&&t.callbacks.onSlowLink(i)},ondataopen:function(){},ondata:function(e){"onData"in t.callbacks&&t.callbacks.onData(e)},oncleanup:function(){"onDefaultStreamCleanup"in t.callbacks&&t.callbacks.onDefaultStreamCleanup()}})},error(e){Cr.error(" -- Error -- ",e),t.janus.destroy()},destroyed(){t.streaming=void 0,t.streamId=void 0,t.clearBitrateInterval()}})},onMessage(e,t){let i=this;Cr.debug(" ::: Got a message :::"),Cr.debug(e);let n=e["result"];if(null!==n&&void 0!==n){if(void 0!==n["status"]&&null!==n["status"]){var a=n["status"];"starting"===a?console.log("Starting"):"started"===a?console.log("Started"):"stopped"===a&&i.stopStream()}}else if(void 0!==e["error"]&&null!==e["error"])return Cr.error(e),void i.stopStream();var r;void 0!==t&&null!==t&&(null===(r=i.streaming)||void 0===r||r.createAnswer({jsep:t,media:{audioSend:!1,videoSend:!1,data:!0},success:function(e){var t;Cr.debug("Got SDP!"),Cr.debug(e);var n={request:"start"};null===(t=i.streaming)||void 0===t||t.send({message:n,jsep:e})},error:function(e){Cr.error("WebRTC error:",e)}}))},channelOpen(){return!(void 0===t.streamId||void 0===t.streaming)},startStream(){var e;if(!t.channelOpen())return;const i={request:"watch",offer_video:!0,id:parseInt(t.streamId)};null===(e=t.streaming)||void 0===e||e.send({message:i}),t.clearBitrateInterval(),t.bitrateInterval=setInterval((function(){if(t.streaming){const e=t.streaming.getBitrate();e&&e.value?t.callbacks.onBitrateUpdated(t.streaming.getBitrate()):t.callbacks.onBitrateUpdated({value:null})}else t.callbacks.onBitrateUpdated({value:null})}),5e3)},stopStream(){var e,i;if(t.clearBitrateInterval(),!t.channelOpen())return;const n={request:"stop"};null===(e=t.streaming)||void 0===e||e.send({message:n}),null===(i=t.streaming)||void 0===i||i.hangup()},sendData(e){var i;t.channelOpen()&&(null===(i=t.streaming)||void 0===i||i.data({text:e,success:()=>{}}))},clearBitrateInterval(){t.bitrateInterval&&(clearInterval(t.bitrateInterval),t.bitrateInterval=null,t.callbacks.onBitrateUpdated({value:null}))}};return t}var Ir=function(){var e=this,t=e._self._c;return t("div",{staticClass:"card-img-top webcam_container"},[t("div",{directives:[{name:"show",rawName:"v-show",value:e.slowLinkLoss>50,expression:"slowLinkLoss > 50"}],ref:"slowLinkWrapper",staticClass:"slow-link-wrapper",on:{click:e.slowLinkClicked,mouseenter:function(t){e.fixSlowLinkTextWidth(),e.slowLinkShowing=!0,e.slowLinkHiding=!1},mouseleave:function(t){e.fixSlowLinkTextWidth(),e.slowLinkShowing=!1,e.slowLinkHiding=!0}}},[e._m(0),t("div",{ref:"slowLinkText",staticClass:"text",class:{"show-and-hide":!e.slowLinkShowing&&!e.slowLinkHiding,showing:e.slowLinkShowing&&!e.slowLinkHiding,hiding:!e.slowLinkShowing&&e.slowLinkHiding}},[e._v(" "+e._s(e.$t("Video frames dropped"))+" ")])]),t("div",{directives:[{name:"show",rawName:"v-show",value:e.trackMuted,expression:"trackMuted"}],staticClass:"muted-status-wrapper"},[t("div",{staticClass:"text"},[e._v(e._s(e.$t("Buffering...")))]),t("a",{attrs:{href:"#"},on:{click:function(t){return e.showMutedStatusDescription(t)}}},[e._v(e._s(e.$t("Why is it stuck?")))])]),e.isVideoAvailable&&!e.autoplay&&(e.isBasicStreamingReadyToPlay||e.isBasicStreamingFrozen)?t("b-button",{staticClass:"centered-element p-0",attrs:{disabled:e.isBasicStreamingFrozen},on:{click:e.onPlayBtnClicked}},[e.isBasicStreamingReadyToPlay?t("i",{staticClass:"fas fa-play ml-1"}):e._e(),e.isBasicStreamingFrozen?t("span",{staticClass:"medium"},[e._v(e._s(e.remainingSecondsUntilNextCycle)+"s")]):e._e()]):e._e(),e.trackMuted||e.videoLoading?t("b-spinner",{staticClass:"centered-element",attrs:{label:"Buffering..."}}):e._e(),e.isVideoAvailable?t("div",[!e.autoplay&&e.isBasicStreamingInProgress||e.currentBitrate?t("div",{staticClass:"streaming-info overlay-info small",class:{clickable:e.isBasicStreamingInProgress},on:{click:e.onInfoClicked}},[e.isBasicStreamingInProgress?t("div",{staticClass:"text-success"},[e._v(" "+e._s(e.remainingSecondsCurrentVideoCycle)+" ")]):e._e(),e.currentBitrate?t("div",[e._v(e._s(e.currentBitrate))]):e._e()]):e._e(),e.autoplay||!e.isBasicStreamingReadyToPlay&&!e.isBasicStreamingFrozen?e._e():t("div",{staticClass:"streaming-guide overlay-info",on:{click:e.onInfoClicked}},[e.isBasicStreamingReadyToPlay?t("div",{staticClass:"message"},[e._v(" "+e._s(e.$t("Webcam streams up to 5 FPS for Free"))+" ")]):e._e(),e.isBasicStreamingFrozen?t("div",{staticClass:"message text-warning"},[e._v(" "+e._s(e.remainingSecondsUntilNextCycle)+"s left in the cooldown period ")]):e._e(),t("a",{staticClass:"learn-more",attrs:{href:"#"}},[e._v(e._s(e.$t("Learn more...")))])])]):e._e(),t("div",{class:e.webcamRotateClass},[t("div",{staticClass:"webcam_fixed_ratio",class:e.webcamRatioClass,style:{transform:e.imageTransformStyle}},[e.taggedSrc?t("img",{staticStyle:{position:"absolute"},attrs:{src:e.taggedSrc,alt:e.printer.name+" current image"}}):e._e(),t("div",{directives:[{name:"show",rawName:"v-show",value:e.showMJpeg,expression:"showMJpeg"}],staticClass:"webcam_fixed_ratio_inner ontop"},[t("img",{attrs:{src:e.mjpgSrc}})]),t("div",{directives:[{name:"show",rawName:"v-show",value:e.showVideo,expression:"showVideo"}],staticClass:"webcam_fixed_ratio_inner ontop"},[t("video",{ref:"video",staticClass:"remote-video",attrs:{width:"960",height:e.webcamVideoHeight,poster:e.taggedSrc,autoplay:"",muted:"",playsinline:""},domProps:{muted:!0},on:{loadstart:function(t){return e.onLoadStart()},canplay:function(t){return e.onCanPlay()}}})])])]),t("div",{staticClass:"extra-controls"},[e.showVideo||e.showVideo||e.taggedSrc?t("div",{staticClass:"video-control-btn",on:{click:e.onRotateRightClicked}},[t("font-awesome-icon",{attrs:{icon:"fa-solid fa-rotate-right"}})],1):e._e()])],1)},Fr=[function(){var e=this,t=e._self._c;return t("div",{staticClass:"icon bg-warning"},[t("i",{staticClass:"fas fa-exclamation"})])}];function Ar(e,t){const i="tsNextVideoCycle-"+e;let n,a={countDownTimer:null};if(a.startOrResumeVideoCycle=function(){a.countDownTimer||(a.countDownTimer=setInterval(()=>a.countDown(),1e3))},a.resumeVideoCycle=function(){n<60&&!a.countDownTimer&&(a.countDownTimer=setInterval(()=>a.countDown(),1e3))},a.countDown=function(){a.updateRemainingSeconds(n-1),Object(we["a"])()&&localStorage.setItem(i,(new Date).getTime()/1e3+n),n<0&&(a.updateRemainingSeconds(60),clearInterval(this.countDownTimer),this.countDownTimer=null)},a.updateRemainingSeconds=function(e){n=e;const i=n-30,a=n>30?-1:n;t(i,a)},Object(we["a"])()){const e=parseFloat(localStorage.getItem(i)),t=(new Date).getTime()/1e3;!e||t>e?a.updateRemainingSeconds(60):a.updateRemainingSeconds(Math.round(e-t))}else a.updateRemainingSeconds(60);return a}function $r(e){const t={onFrame:e,contentLength:NaN,imageBuffer:"",bytesRead:0,originalJpgLength:0,onMJpegChunk:function(e){Object(Pn["g"])(e,e=>{const i=new TextDecoder("utf-8").decode(new Uint8Array(e));if(t.contentLength){if(t.imageBuffer+=i,t.bytesRead+=i.length,t.bytesRead>=t.contentLength){const e=t.imageBuffer,i=t.originalJpgLength;t.contentLength=NaN,t.imageBuffer="",t.bytesRead=0,t.originalJpgLength=0,t.onFrame(e,i)}}else if("\r\n"==i.slice(0,2)&&"\r\n"==i.slice(i.length-2)){const e=i.slice(2,i.length-2).split(":");t.contentLength=parseInt(e[0]),t.originalJpgLength=parseInt(e[1])}})}};return t}var Or={name:"StreamingBox",props:{printer:{type:Object,required:!0},webrtc:{type:Object,default:null},webcam:{type:Object,default:null},autoplay:{type:Boolean,required:!0}},data(){var e;return{stickyStreamingSrc:null,isVideoAvailable:!1,isVideoVisible:!1,remainingSecondsCurrentVideoCycle:30,remainingSecondsUntilNextCycle:-1,currentBitrate:null,slowLinkLoss:0,slowLinkShowing:!1,slowLinkHiding:!1,trackMuted:!1,videoLoading:!1,mjpgSrc:null,localStorageRotationKey:`${this.printer.id}_${(null===(e=this.webcam)||void 0===e?void 0:e.stream_id)||0}`,customRotationDeg:0}},computed:{imageTransformStyle(){var e,t;let i="";return null!==(e=this.webcam)&&void 0!==e&&e.flipH&&(i+=" scaleX(-1)"),null!==(t=this.webcam)&&void 0!==t&&t.flipV&&(i+=" scaleY(-1)"),i+=`rotate(${this.videoRotationDeg}deg)`,i},showVideo(){return this.isVideoVisible&&"IMAGE"!==this.stickyStreamingSrc},showMJpeg(){return this.mjpgSrc&&"IMAGE"!==this.stickyStreamingSrc},videoRotationDeg(){var e;const t=+((null===(e=this.webcam)||void 0===e?void 0:e.rotation)||0)+this.customRotationDeg;return t%360},webcamRotateClass(){return"webcam_rotate_"+this.videoRotationDeg},webcamRatioClass(){switch(this.printer.settings.ratio169){case!0:return"ratio169";case!1:return"ratio43";default:return"ratio43"}},webcamVideoHeight(){switch(this.printer.settings.ratio169){case!0:return 540;case!1:return 720;default:return 720}},taggedSrc(){var e;return null!==(e=this.webcam)&&void 0!==e&&e.is_primary_camera?de()(this.printer,"pic.img_url",null):null},isBasicStreamingInProgress(){return this.remainingSecondsCurrentVideoCycle>0&&this.remainingSecondsCurrentVideoCycle<30},isBasicStreamingReadyToPlay(){return!this.isVideoVisible&&!this.trackMuted&&!this.videoLoading&&(30==this.remainingSecondsCurrentVideoCycle||0==this.remainingSecondsUntilNextCycle)},isBasicStreamingFrozen(){return this.remainingSecondsUntilNextCycle>0&&!this.isVideoVisible},basicStreamingInWebrtc(){return this.printer.isAgentVersionGte("2.1.0","0.3.0")}},watch:{webrtc:{handler:"initWebRTC"}},created(){this.customRotationDeg=Object(s["a"])("webcamRotationDeg",0,this.localStorageRotationKey),this.mjpegStreamDecoder=new $r((e,t)=>{this.mjpgSrc="data:image/jpg;base64,"+e,this.onCanPlay()}),this.autoplay||(this.videoLimit=Ar(this.printer.id,this.countDownCallback)),this.initWebRTC(),ya.a.on("blur",()=>{this.webrtc&&this.webrtc.stopStream()}),ya.a.on("focus",()=>{this.webrtc&&this.autoplay&&this.webrtc.startStream()})},methods:{initWebRTC(){this.webrtc&&this.webrtc.setCallbacks({onStreamAvailable:this.onStreamAvailable,onRemoteStream:this.onWebRTCRemoteStream,onDefaultStreamCleanup:()=>this.isVideoVisible=!1,onSlowLink:this.onSlowLink,onTrackMuted:()=>this.trackMuted=!0,onTrackUnmuted:()=>this.trackMuted=!1,onBitrateUpdated:e=>{this.currentBitrate=e.value},onMJpegData:this.mjpegStreamDecoder.onMJpegChunk})},onRotateRightClicked(){this.customRotationDeg=this.customRotationDeg+90,Object(s["b"])("webcamRotationDeg",this.customRotationDeg%360,this.localStorageRotationKey),this.$emit("onRotateRightClicked",this.customRotationDeg)},onCanPlay(){this.videoLoading=!1,this.autoplay||this.videoLimit.startOrResumeVideoCycle()},onLoadStart(){this.videoLoading=!0},onStreamAvailable(e){if(this.autoplay)e.startStream();else{if(!this.basicStreamingInWebrtc)return;!this.autoplay&&this.isBasicStreamingInProgress&&e.startStream(),this.videoLimit.resumeVideoCycle()}this.isVideoAvailable=!0},onWebRTCRemoteStream(e){Cr.attachMediaStream(this.$refs.video,e);const t=e.getVideoTracks();null===t||void 0===t||0===t.length?this.isVideoVisible=!1:this.isVideoVisible=!0},countDownCallback(e,t){this.remainingSecondsCurrentVideoCycle>0&&e<=0&&this.webrtc.stopStream(),this.remainingSecondsCurrentVideoCycle=e,this.remainingSecondsUntilNextCycle=t},onInfoClicked(){this.autoplay||this.$swal.Prompt.fire({title:""+this.$i18next.t("Upgrade for Better Streaming"),html:`\n

${this.$i18next.t("Because you are now on the")} ${this.$i18next.t("{brandName} Cloud Free plan",{brandName:this.$syndicateText.brandName})}:

\n
    \n
  • ${this.$i18next.t("Streaming is limited to 5 FPS (frames per second).")}
  • \n
  • ${this.$i18next.t("After 30 seconds of streaming there is a 30-second cooldown before you can resume streaming.")}
  • \n
\n

${this.$i18next.t("Support the {brandName} project by",{brandName:this.$syndicateText.brandName})} ${this.$i18next.t("upgrading to the Pro plan for little more than 1 Starbucks a month.")}

${this.$i18next.t("The Pro plan offers many perks, including the")} ${this.$i18next.t("Premium Streaming")}:

\n
    \n
  • ${this.$i18next.t("Smooth 25 FPS.")}
  • \n
  • ${this.$i18next.t("Unlimited streaming with no cooldowns.")}
  • \n
\n `,showCloseButton:!0})},onPlayBtnClicked(){this.webrtc.startStream()},fixSlowLinkTextWidth(){const e=window.getComputedStyle(this.$refs.slowLinkText).width;this.$refs.slowLinkText.style.width=e},onSlowLink(e){this.slowLinkLoss+=e},slowLinkClicked(){this.slowLinkShowing=!1,this.slowLinkHiding=!1,this.slowLinkLoss=0,this.$swal.Prompt.fire({title:""+this.$i18next.t("Video frames dropped"),html:`\n

${this.$i18next.t("The video frames are getting dropped because there is most likely a bandwidth bottleneck along the route they travel from your Raspberry Pi to your computer. The bottleneck can be anywhere, but in most cases,")} ${this.$i18next.t("it is either your computer's internet connection, or your Raspberry Pi's")}.

\n

${this.$i18next.t("Make sure your computer is connected to the same network as your Pi. If you still see this warning, you need to trouble-shoot your computer's Wi-Fi connection, probably by moving closer to the Wi-Fi router.")}

\n

${this.$i18next.t("If the webcam stream is smooth when your computer is on the same Wi-Fi network as your Pi, the bottleneck is likely with the upload speed of your internet connection. You need to run a speed test to make sure you have high-enough upload speed, as well as")} ${this.$i18next.t("low latency (ping)")}.

\n

${this.$i18next.t("Check out")} ${this.$i18next.t("the step-by-step trouble-shooting guide.")}

\n `,showCloseButton:!0})},showMutedStatusDescription(e){e.preventDefault(),this.$swal.Prompt.fire({title:""+this.$i18next.t("Webcam stream buffering"),html:`\n

${this.$i18next.t("When you see the messaging about webcam stream is 'buffering' occasionally, you can just reload the page. If this message repeatedly appears, it may indicate one of the problems")}:

\n

${this.$i18next.t("1. A constricted video stream on your Raspberry Pi. The most common reasons are")}:

\n
    \n
  • ${this.$i18next.t("Camera resolution is set too high.")}
  • \n
  • ${this.$i18next.t("Camera framerate is set too high.")}
  • \n
  • ${this.$i18next.t("The upload speed of your Raspberry Pi is too low.")}
  • \n
\n

${this.$i18next.t("2. The internet connection of your computer or phone is not fast enough.")}

\n

${this.$i18next.t("3. Your webcam is not properly connected to your Raspberry Pi.")}

\n
\n

${this.$i18next.t("Check")} ${this.$i18next.t("this step-by-step troubleshooting guide")}.

\n `,showCloseButton:!0})}}},Nr=Or,Lr=(i("0321"),Object(N["a"])(Nr,Ir,Fr,!1,null,"7045853e",null)),Mr=Lr.exports,Er=function(){var e=this,t=e._self._c;return t("div",[e.valid||e.printing?e._e():t("span",[e._v("-")]),!e.valid&&e.printing?t("b-spinner",{attrs:{small:"",type:"grow",label:"Calculating..."}}):e._e(),e.valid&&e.showHours?t("span",[e._v(" "+e._s(e.hours)),t("span",{staticClass:"text-subscript text-muted"},[e._v("h")])]):e._e(),e.valid&&e.showMinutes?t("span",[e._v(" "+e._s(e.minutes)),t("span",{staticClass:"text-subscript text-muted"},[e._v("m")])]):e._e(),e.valid&&e.showSeconds?t("span",[e._v(" "+e._s(e.seconds)),t("span",{staticClass:"text-subscript text-muted"},[e._v("s")])]):e._e()],1)},Rr=[],zr={name:"DurationBlock",props:{valid:{type:Boolean,required:!0},printing:{type:Boolean,required:!0},hours:{type:Number,default(){return 0}},showHours:{type:Boolean,default(){return!1}},minutes:{type:Number,default(){return 0}},showMinutes:{type:Boolean,default(){return!1}},seconds:{type:Number,default(){return 0}},showSeconds:{type:Boolean,default(){return!1}}}},Br=zr,Ur=Object(N["a"])(Br,Er,Rr,!1,null,null,null),jr=Ur.exports,Wr=function(){var e=this,t=e._self._c;return t("div",{staticClass:"wrapper"},e._l(e.temperatures,(function(i,n){return t("temperature-item",{key:n,attrs:{"temp-key":n,"temp-item":i,"is-plugin-version-sufficient":e.isPluginVersionSufficient},on:{TempEditClicked:function(t){return e.onEditClicked(n,i)}}})})),1)},Hr=[],Vr=function(){var e=this,t=e._self._c;return t("div",{staticClass:"temp-item",class:{editable:e.editable},on:{click:function(t){return e.onEditClicked(e.tempKey,e.tempItem)}}},[t("div",{staticClass:"icon"},[e.heaterIcon?t("svg",[t("use",{attrs:{href:e.heaterIcon}})]):t("i",{staticClass:"fas fa-thermometer-empty"})]),t("div",{staticClass:"title"},[e._v(e._s(e.temperatureDisplayName(e.tempKey)))]),t("div",{staticClass:"value-wrapper"},[t("div",{staticClass:"value"},[e._v(e._s(parseFloat(e.tempItem.actual).toFixed(1))+" °C")]),e.editable?t("div",{staticClass:"target"},[e._v("/ "+e._s(Math.round(e.tempItem.target))+" °C")]):e._e()])])},Yr=[],Gr={name:"TemperatureItem",props:{tempItem:{type:Object,required:!0},tempKey:{type:String,required:!0},isPluginVersionSufficient:{type:Boolean,required:!0}},computed:{heaterIcon(){const e=this.tempKey.toLowerCase();return e.includes("bed")?"#bed-temp":e.includes("tool")||e.includes("extruder")?"#extruder":null},editable(){return this.isPluginVersionSufficient&&null!==this.tempItem.target}},methods:{onEditClicked(e,t){this.editable&&this.$emit("TempEditClicked",e,t)},temperatureDisplayName:Pn["f"]}},Kr=Gr,qr=(i("47bd"),Object(N["a"])(Kr,Vr,Yr,!1,null,"6371ef1e",null)),Jr=qr.exports,Zr={name:"StatusTemp",components:{TemperatureItem:Jr},props:{temperatures:{type:Object,required:!0},isPluginVersionSufficient:{type:Boolean,required:!0}},methods:{onEditClicked(e,t){this.isPluginVersionSufficient&&null!==t.target&&this.$emit("TempEditClicked",e,t)}}},Qr=Zr,Xr=(i("800e"),Object(N["a"])(Qr,Wr,Hr,!1,null,"a51f3d38",null)),es=Xr.exports,ts=function(){var e=this,t=e._self._c;return t("div",[t("div",{staticClass:"text-center"},[e.value>0?t("h1",{staticClass:"target-temp-degree"},[e._v(" "+e._s(e.value)+" "),t("span",{staticClass:"text-subscript text-muted"},[e._v("°C")])]):e._e(),e.value<1?t("h1",{staticClass:"target-temp-degree"},[e._v(e._s(e.$t("OFF")))]):e._e()]),t("br"),t("div",{staticClass:"mb-5"},[t("div",[t("h5",[e._v(e._s(e.$t("Presets"))+":")])]),t("div",[t("b-form-select",{staticClass:"form-control",attrs:{id:"id_preset"},on:{change:e.onPresetChanged},model:{value:e.preset,callback:function(t){e.preset=t},expression:"preset"}},e._l(e.allPresets,(function(i){return t("b-form-select-option",{key:i.name,attrs:{value:parseInt(i.value)}},[e._v(" "+e._s(i.title)+" ")])})),1)],1),t("br"),t("h5",[e._v(e._s(e.$t("Manual"))+":")]),t("div",[t("slider-input",{attrs:{min:0,max:e.maxTemp,step:1},on:{change:e.onSliderChanged},model:{value:e.value,callback:function(t){e.value=t},expression:"value"}}),t("input",{directives:[{name:"model",rawName:"v-model",value:e.value,expression:"value"}],attrs:{id:"target-temp",type:"hidden"},domProps:{value:e.value},on:{input:function(t){t.target.composing||(e.value=t.target.value)}}})],1)])])},is=[],ns=function(){var e=this,t=e._self._c;return t("div",{staticClass:"slidecontainer"},[t("input",{staticClass:"slider",attrs:{type:"range",min:e.min,max:e.max,step:e.step},domProps:{value:e.value},on:{change:function(t){e.$emit("change",Number(t.target.value))},input:function(t){e.$emit("input",Number(t.target.value))}}})])},as=[],rs={name:"SliderInput",props:{value:{type:Number,default:0},max:{type:Number,default:100},min:{type:Number,default:0},step:{type:Number,default:1}},computed:{},methods:{}},ss=rs,os=(i("0334"),Object(N["a"])(ss,ns,as,!1,null,"3dcc12a9",null)),ls=os.exports,cs={name:"TempTargetEditor",components:{SliderInput:ls},props:{presets:{type:Array,required:!0},maxTemp:{type:Number,required:!0},curTarget:{type:Number,required:!0}},data(){let e=this.presets.find(e=>e.target==this.curTarget)||{target:0!=this.curTarget?-1:0};return{value:this.curTarget,preset:e.target}},computed:{allPresets(){let e=[];return e.push({value:-1,title:"Manual",name:"manual"}),e.push({value:0,title:"OFF",name:"off"}),this.presets.forEach(t=>{t.target&&e.push({value:t.target,name:t.name,title:`${t.name} (${t.target}°C)`})}),e}},methods:{onPresetChanged(){this.preset>-1&&(this.value=this.preset)},onSliderChanged(){0==this.value?this.preset=0:this.preset=-1}}},ds=cs,us=Object(N["a"])(ds,ts,is,!1,null,null,null),ps=us.exports,hs=function(){var e=this,t=e._self._c;return t("div",[t("h2",{staticClass:"text-center"},[e._v(e._s(e.$t("Printer Feed Sharing")))]),t("hr"),e.isProAccount?t("div",[t("div",{staticClass:"py-3"},[t("div",{staticClass:"custom-control custom-switch"},[t("input",{staticClass:"custom-control-input update-printer",attrs:{id:"sharing_enabled-toggle-"+e.printer.id,type:"checkbox"},domProps:{checked:e.sharedResource},on:{click:e.onSharingToggled}}),t("label",{staticClass:"custom-control-label",staticStyle:{"font-size":"1rem"},attrs:{for:"sharing_enabled-toggle-"+e.printer.id}},[e._v(e._s(e.$t("Share live feed for printer "))+'"'),t("b",[e._v(e._s(e.printer.name))]),e._v('"')])]),t("div",{staticClass:"form-group"},[t("div",{directives:[{name:"show",rawName:"v-show",value:e.sharedLink,expression:"sharedLink"}]},[t("div",{staticClass:"input-group mt-4 mb-2"},[t("input",{ref:"sharedLink",staticClass:"form-control shared-link-text",attrs:{id:"secret-token-input",type:"text","aria-label":"Secret token",readonly:""},domProps:{value:e.sharedLink}}),t("div",{staticClass:"input-group-append"},[t("div",{staticClass:"copy-button",attrs:{id:"copy-link","data-clipboard-target":"#secret-token-input","aria-label":"Copy secure link to clipboard"},on:{click:e.copyToClipboard}},[t("i",{staticClass:"fas fa-clipboard"})]),t("b-tooltip",{attrs:{show:e.copyStatus,target:"copy-link",triggers:"click",placement:"bottom"},on:{"update:show":function(t){e.copyStatus=t}}},[e._v(e._s(e.copyMessage))])],1)]),t("div",{staticClass:"my-1"},[e._v(" "+e._s(e.$t("Click the clipboard icon above to copy the secure shareable link to your clipboard."))+" ")]),t("div",{staticClass:"my-1"},[t("i18next",{attrs:{translation:e.$t("You can test the shareable link by right-clicking {localizedDom} and select 'Open Link in Incognito Window'.")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("a",{attrs:{href:e.sharedLink}},[e._v(e._s(e.$t("here")))])]},proxy:!0}])})],1),t("br"),t("em",{staticClass:"text-muted"},[t("small",[t("div",[e._v(e._s(e.$t("Notes"))+":")]),t("ul",[t("li",[e._v(" "+e._s(e.$t("Send the secure link to anyone you want to share your printer feed with. They do NOT need the {brandName} account to see your printer feed.",{brandName:e.$syndicateText.brandName}))+" ")]),t("li",[e._v(" "+e._s(e.$t("Anyone with this shareable link will be able to see your printer feed."))+" "),t("a",{attrs:{href:e.getDocUrl("/user-guides/printer-feed-sharing/")}},[e._v(e._s(e.$t("Learn more about what they can see.")))])])])])])])]),t("br")])]):t("div",[t("h5",{staticClass:"mb-5"},[t("i18next",{attrs:{translation:e.$t("Wait! You need to {localizedDom} to enable Printer feed.")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("a",{attrs:{href:"/ent_pub/pricing/"}},[e._v(e._s(e.$t("upgrade to the Pro plan")))])]},proxy:!0}],null,!1,3414343479)})],1),t("p",[e._v(e._s(e.$t("Printer feed sharing is a Pro feature.")))]),t("p",[t("a",{attrs:{href:e.getDocUrl("/user-guides/upgrade-to-pro#why-cant-the-detective-just-work-for-free-people-love-free-you-know")}},[e._v(" "+e._s(e.$t("Running the {brandName} app incurs non-trivial amount of costs",{brandName:e.$syndicateText.brandName}))+" ")]),e._v(". "+e._s(e.$t("With little more than 1 Starbucks per month, you can upgrade to a Pro account and help us run the {brandName} app smoothly.",{brandName:e.$syndicateText.brandName}))+" ")]),t("p",[t("a",{attrs:{href:"/ent_pub/pricing/"}},[e._v(e._s(e.$t("Check out Pro pricing >>>")))])])])])},ms=[],fs={props:{isProAccount:{type:Boolean,default:!1},printer:{type:Object,required:!0}},data(){return{share:!1,sharedResource:null,copyStatus:!1,copyMessage:""}},computed:{sharedLink(){if(this.sharedResource){const e=window.location;return`${e.protocol}//${e.host}/printers/share_token/${this.sharedResource.share_token}/`}return""}},created(){this.fetchSharedResources()},methods:{fetchSharedResources(){return oe["a"].get(le["a"].sharedResources({printer_id:this.printer.id})).then(e=>{e.data.length>0&&(this.sharedResource=e.data[0])})},postSharedResources(){return oe["a"].post(le["a"].sharedResources({printer_id:this.printer.id})).then(e=>{e.data.length>0&&(this.sharedResource=e.data[0])})},deleteSharedResources(){return oe["a"].delete(le["a"].sharedResource(this.sharedResource.id)).then(()=>{this.sharedResource=null})},onSharingToggled(){this.sharedResource?this.deleteSharedResources():this.postSharedResources()},copyToClipboard(){this.copyStatus=!0,this.$refs.sharedLink.focus(),this.$refs.sharedLink.select();try{document.execCommand("copy"),this.copyMessage="Copied!"}catch(e){console.error("Fallback: Oops, unable to copy",e),this.copyMessage="Failed!"}}}},gs=fs,vs=(i("7cd5"),Object(N["a"])(gs,hs,ms,!1,null,"1f31c9c1",null)),bs=vs.exports,ys=function(){var e=this,t=e._self._c;return t("widget-template",{attrs:{"inside-card":e.insideCard},scopedSlots:e._u([{key:"title",fn:function(){return[e._v(e._s(e.$t("Print Job Control")))]},proxy:!0},{key:"content",fn:function(){return[t("div",{staticClass:"wrapper"},[!e.printer.isOffline()&&e.printer.hasError()?t("div",{staticClass:"error-container"},[t("div",{staticClass:"title"},[e._v(e._s(e.printer.agentDisplayName())+" "+e._s(e.$t("Error")))]),t("p",{staticClass:"text"},[e._v(" "+e._s(e.printer.status.state.error)+" ")])]):e._e(),e.printer.inUserInteractionRequired()?t("div",{staticClass:"warning-container"},[t("p",{staticClass:"text"},[e._v(e._s(e.$t("Filament Change or User Interaction Required")))])]):e._e(),e.printer.inTransientState()?[t("b-spinner",{attrs:{label:"Processing..."}}),t("p",[e._v(e._s(e.printer.calculatedState())+"...")])]:[e.printer.isOffline()||e.printer.isDisconnected()||!e.printer.isActive()?e._e():[t("p",[e.printer.isPaused()?t("span",[e._v(e._s(e.$t("Print is Paused")))]):t("span",[e._v(e._s(e.$t("Printer is Currently Printing")))])]),t("div",{staticClass:"buttons"},[e.printer.isPaused()?t("b-button",{staticClass:"custom-button",attrs:{variant:"success"},on:{click:function(t){return e.onPauseToggled(t)}}},[t("font-awesome-icon",{attrs:{icon:"fa-solid fa-circle-play"}}),e._v(" "+e._s(e.$t("Resume"))+" ")],1):t("b-button",{staticClass:"custom-button",attrs:{variant:"warning"},on:{click:function(t){return e.onPauseToggled(t)}}},[t("font-awesome-icon",{attrs:{icon:"fa-solid fa-circle-pause"}}),e._v(" "+e._s(e.$t("Pause"))+" ")],1),t("b-button",{staticClass:"custom-button",attrs:{variant:"danger"},on:{click:e.onCancelClicked}},[t("font-awesome-icon",{attrs:{icon:"fa-solid fa-circle-xmark"}}),e._v(" "+e._s(e.$t("Cancel"))+" ")],1)],1)],e.printer.isOffline()||e.printer.isDisconnected()||e.printer.isActive()?e._e():[t("p",[e._v(e._s(e.$t("Open G-Code File to Start Printing")))]),t("div",{staticClass:"buttons"},[t("b-button",{staticClass:"custom-button",attrs:{variant:"outline-primary"},on:{click:e.openObicoFiles}},[t("svg",{staticClass:"logo-small custom-svg-icon"},[t("use",{attrs:{href:"#svg-logo-compact"}})]),e._v(" "+e._s(e.$syndicateText.brandName)+" "+e._s(e.$t("Files"))+" ")]),e.printer.isAgentMoonraker()?t("b-button",{staticClass:"custom-button",attrs:{variant:"outline-secondary"},on:{click:e.openPrinterFiles}},[e._v("   "),t("svg",{staticClass:"logo-small custom-svg-icon"},[t("use",{attrs:{href:"#svg-klipper-logo"}})]),t("svg",{staticClass:"logo-small custom-svg-icon"},[t("use",{attrs:{href:"#svg-fluidd-logo"}})]),t("svg",{staticClass:"logo-small custom-svg-icon"},[t("use",{attrs:{href:"#svg-mainsail-logo"}})]),e._v("   ")]):t("b-button",{staticClass:"custom-button",attrs:{variant:"outline-secondary"},on:{click:e.openPrinterFiles}},[t("svg",{staticClass:"logo-small custom-svg-icon"},[t("use",{attrs:{href:"#svg-octoprint-logo"}})]),e._v(" OctoPrint ")])],1)]],!e.printer.isOffline()&&e.printer.isDisconnected()?[t("p",[e._v(e._s(e.$t("Printer Not Connected at the Serial Port")))]),t("div",{staticClass:"buttons"},[e.printer.isAgentMoonraker()?e._e():t("b-button",{attrs:{variant:"outline-primary",disabled:e.connecting},on:{click:e.onConnectClicked}},[e.connecting?t("b-spinner",{attrs:{small:""}}):t("i",{staticClass:"fab fa-usb"}),e._v(" "+e._s(e.connecting?e.$t("Contacting OctoPrint"):e.$t("Connect"))+" ")],1)],1)]:e.printer.isOffline()?[t("i",{staticClass:"fas fa-exclamation-triangle big-icon warning"}),t("p",[e._v(" "+e._s(e.$t("{brandName} for {name} is Offline.",{brandName:e.$syndicateText.brandName,name:e.printer.isAgentMoonraker()?"Klipper":"OctoPrint"}))+" "),t("a",{attrs:{target:"_blank",href:e.getDocUrl("/user-guides/troubleshoot-server-connection-issues/")}},[e._v(e._s(e.$t("Why?")))])])]:e._e(),e.printer?t("b-modal",{attrs:{id:e.modalId,size:"lg"},on:{hidden:e.resetGcodesModal}},[e.selectedGcodeId?t("g-code-file-page",{attrs:{"is-popup":!0,"target-printer-id":e.printer.id,"route-params":{fileId:e.selectedGcodeId,printerId:e.printerFiles?e.printer.id:null},"on-close":()=>e.$bvModal.hide(e.modalId)},on:{goBack:()=>{e.selectedGcodeId=null,e.scrollToTop()}}}):t("g-code-folders-page",{attrs:{"is-popup":!0,"target-printer":e.printer,"route-params":{printerId:e.printerFiles?e.printer.id:null,parentFolder:null},"on-close":()=>e.$bvModal.hide(e.modalId),"saved-path":e.savedPath,"scroll-container-id":e.modalId},on:{openFile:(t,i,n)=>{e.selectedGcodeId=t,e.savedPath=n,e.scrollToTop()}}})],1):e._e()],2)]},proxy:!0}])})},ws=[],_s=function(){var e=this,t=e._self._c;return t("div",{staticClass:"widget",class:{insideCard:e.insideCard}},[t("div",{staticClass:"widget-title"},[e._t("title")],2),t("div",{staticClass:"widget-content"},[e._t("content")],2)])},Cs=[],ks={name:"WidgetTemplate",props:{insideCard:{type:Boolean,default:!1}}},Ps=ks,Ss=(i("0dce"),Object(N["a"])(Ps,_s,Cs,!1,null,"922c39c0",null)),Ds=Ss.exports,xs=function(){var e=this,t=e._self._c;return t("page-layout",{attrs:{"is-popup":e.isPopup},scopedSlots:e._u([{key:"topBarLeft",fn:function(){return[e.isPopup&&null!==e.parentFolder?t("a",{staticClass:"btn shadow-none icon-btn d-inline",attrs:{href:"#",title:"Go Back"},on:{click:function(t){return t.preventDefault(),e.goBack.apply(null,arguments)}}},[t("i",{staticClass:"fas fa-chevron-left"})]):e._e(),!e.isPopup&&e.isCloud?t("div",{staticClass:"actions-with-selected-desktop"},[t("b-form-group",{staticClass:"m-0"},[t("b-form-checkbox",{attrs:{checked:e.allSelected,size:"md"},nativeOn:{"!click":function(t){return t.stopPropagation(),t.preventDefault(),e.toggleSelectAll.apply(null,arguments)}}})],1),t("div",[t("span",{directives:[{name:"show",rawName:"v-show",value:!e.selectedItemsCount,expression:"!selectedItemsCount"}],staticClass:"label",on:{click:e.toggleSelectAll}},[e._v(e._s(e.$t("Select all")))]),t("b-dropdown",{directives:[{name:"show",rawName:"v-show",value:e.selectedItemsCount,expression:"selectedItemsCount"}],attrs:{"toggle-class":"btn btn-sm actions-with-selected-btn"},scopedSlots:e._u([{key:"button-content",fn:function(){return[e._v(" "+e._s(e.selectedItemsCount)+" item"+e._s(1===e.selectedItemsCount?"":"s")+" "+e._s(e.$t("selected"))+" ")]},proxy:!0}],null,!1,4258773973)},[t("b-dropdown-item",[t("div",{on:{click:e.moveSelectedItems}},[t("i",{staticClass:"fas fa-arrows-alt"}),e._v(e._s(e.$t("Move")))])]),t("b-dropdown-item",[t("div",{staticClass:"text-danger",on:{click:e.deleteSelectedItems}},[t("i",{staticClass:"far fa-trash-alt"}),e._v(e._s(e.$t("Delete"))+" ")])])],1)],1)],1):e._e(),t("search-input",{staticClass:"search-input mr-3",on:{input:e.updateSearch}})]},proxy:!0},{key:"topBarRight",fn:function(){return[t("div",{staticClass:"action-panel"},[e.isCloud?t("a",{staticClass:"btn shadow-none icon-btn d-none d-md-inline",attrs:{href:"#",title:"Create folder"},on:{click:function(t){return t.preventDefault(),e.createFolder.apply(null,arguments)}}},[t("i",{staticClass:"fas fa-folder-plus"})]):e._e(),t("b-dropdown",{attrs:{right:"","no-caret":"","toggle-class":"action-btn icon-btn"},scopedSlots:e._u([{key:"button-content",fn:function(){return[t("i",{staticClass:"fas fa-server"})]},proxy:!0}])},[t("b-dropdown-text",{staticClass:"small text-secondary"},[e._v(e._s(e.$t("STORAGE")))]),t("b-dropdown-item",{on:{click:e.switchToCloudStorage}},[t("div",{staticClass:"dropdown-text-group"},[t("i",{staticClass:"fas fa-check text-primary",style:{visibility:e.isCloud?"visible":"hidden"}}),t("div",{staticClass:"text"},[t("div",{staticClass:"title"},[e._v(e._s(e.$syndicateText.brandName)+" "+e._s(e.$t("Cloud")))])])])]),e._l(e.printers,(function(i){return t("b-dropdown-item",{key:i.id,on:{click:()=>e.switchToPrinterStorage(i)}},[t("div",{staticClass:"dropdown-text-group"},[t("i",{staticClass:"fas fa-check text-primary",style:{visibility:e.selectedPrinterId===i.id?"visible":"hidden"}}),t("div",{staticClass:"text"},[t("div",{staticClass:"title"},[e._v(e._s(i.name))]),t("div",{staticClass:"subtitle",class:[e.isPrinterBrowsable(i)?"text-success":"text-warning"]},[e._v(" "+e._s(e.printerBrowsabilityText(i))+" ")])])])])}))],2),t("b-dropdown",{attrs:{right:"","no-caret":"","toggle-class":"action-btn icon-btn",title:"Sort By"},scopedSlots:e._u([{key:"button-content",fn:function(){return[t("i",{staticClass:"fas fa-sort-amount-down"})]},proxy:!0}])},[t("sorting-dropdown",{attrs:{"local-storage-prefix":e.sortingLocalStoragePrefix,"sorting-options":e.sortingOptions,"sorting-value":e.sortingValue},on:{onSortingUpdated:e.onSortingUpdated}})],1),t("b-dropdown",{attrs:{right:"","no-caret":"","toggle-class":"icon-btn d-md-none"},scopedSlots:e._u([{key:"button-content",fn:function(){return[t("i",{staticClass:"fas fa-ellipsis-v"})]},proxy:!0}])},[t("cascaded-dropdown",{ref:"cascadedDropdown",attrs:{"menu-options":e.mobileMenuOptions},on:{menuOptionClicked:e.onMenuOptionClicked},scopedSlots:e._u([{key:"sorting",fn:function(){return[t("sorting-dropdown",{attrs:{"local-storage-prefix":e.sortingLocalStoragePrefix,"sorting-options":e.sortingOptions,"sorting-value":e.sortingValue},on:{onSortingUpdated:e.onSortingUpdated}})]},proxy:!0},{key:"storage",fn:function(){return[t("b-dropdown-text",{staticClass:"small text-secondary"},[e._v(e._s(e.$t("STORAGE")))]),t("b-dropdown-item",{on:{click:()=>{e.switchToCloudStorage(),e.$refs.cascadedDropdown.resetMenuExpanded()}}},[t("div",{staticClass:"dropdown-text-group"},[t("i",{staticClass:"fas fa-check text-primary",style:{visibility:e.isCloud?"visible":"hidden"}}),t("div",{staticClass:"text"},[t("div",{staticClass:"title"},[e._v(e._s(e.$syndicateText.brandName)+" "+e._s(e.$t("Cloud")))])])])]),e._l(e.printers,(function(i){return t("b-dropdown-item",{key:i.id,on:{click:()=>{e.switchToPrinterStorage(i),e.$refs.cascadedDropdown.resetMenuExpanded()}}},[t("div",{staticClass:"dropdown-text-group"},[t("i",{staticClass:"fas fa-check text-primary",style:{visibility:e.selectedPrinterId===i.id?"visible":"hidden"}}),t("div",{staticClass:"text"},[t("div",{staticClass:"title"},[e._v(e._s(i.name))]),t("div",{staticClass:"subtitle",class:[e.isPrinterBrowsable(i)?"text-success":"text-warning"]},[e._v(" "+e._s(e.printerBrowsabilityText(i))+" ")])])])])}))]},proxy:!0}])})],1),e.onClose?t("a",{staticClass:"btn shadow-none icon-btn d-inline",attrs:{href:"#",title:"Close"},on:{click:function(t){return t.preventDefault(),e.onClose.apply(null,arguments)}}},[t("i",{staticClass:"fas fa-times text-danger"})]):e._e()],1)]},proxy:!0},{key:"content",fn:function(){return[t("b-container",[t("b-row",[t("b-col",[e.isCloud?t("vue-dropzone",{ref:"gcodesDropzone",staticClass:"upload-box",attrs:{id:"dropzone",options:e.dropzoneOptions,"use-custom-slot":!0},on:{"vdropzone-queue-complete":e.gcodeUploadSuccess,"vdropzone-error":e.gcodeUploadError,"vdropzone-sending":e.addParentFolderParam}},[t("div",{staticClass:"dz-message needsclick"},[t("i",{staticClass:"fas fa-upload fa-2x"}),e._v(" "),t("br"),t("div",[e._v(e._s(e.$t("G-Code file (*.gcode, *.gco, or *.g) only.")))]),t("div",[e._v(e._s(e.$t("Up to {maxFilesize} MB each file, {maxTotalFilesize} GB total.",{maxFilesize:e.maxFilesize,maxTotalFilesize:e.maxTotalFilesize})))])])]):e._e(),!e.isCloud&&e.isAgentMoonraker&&e.searchStateIsActive?t("div",{staticClass:"notice-block"},[t("div",{staticClass:"icon"},[t("i",{staticClass:"fas fa-info"})]),t("p",{staticClass:"message"},[e._v(e._s(e.$t("Search in Klipper printers works only for current directory")))])]):e._e(),t("g-code-file-structure",{ref:"gCodeFileStructure",attrs:{"is-cloud":e.isCloud,"is-popup":e.isPopup,"search-state-is-active":e.searchStateIsActive,"search-in-progress":e.searchInProgress,folders:e.folders,files:e.files,"target-printer":e.targetPrinter,"nothing-found":e.nothingFound,loading:e.loading,"scroll-container-id":e.scrollContainerId,"no-more-folders":e.noMoreFolders,"no-more-files":e.noMoreFiles,"local-files-loading":e.localFilesLoading},on:{openFolder:e.openFolder,openFile:e.openFile,renameItem:e.renameItem,moveItem:e.moveItem,deleteItem:e.deleteItem,print:e.onPrintClicked,fetchMore:e.fetchFilesAndFolders,selectFiles:e.onSelectFiles,selectFolders:e.onSelectFolders}})],1)],1)],1),t("rename-modal",{ref:"renameModal",attrs:{item:e.activeItem,"pre-confirm":e.verifyItemRename},on:{renamed:e.onItemRenamed}}),t("move-modal",{ref:"moveModal",attrs:{item:e.activeItem,items:e.activeItems,"item-parent-folder-id":e.parentFolder,"target-printer":e.targetPrinter,"scroll-container-id":e.scrollContainerId,"sorting-value":e.sortingValue},on:{moved:e.onItemMoved}}),t("delete-confirmation-modal",{ref:"deleteConfirmationModal",attrs:{item:e.activeItem},on:{deleted:e.onItemDeleted}}),t("new-folder-modal",{ref:"newFolderModal",attrs:{"pre-confirm":e.verifyNewFolder,"parent-folder-id":e.parentFolder},on:{created:e.onFolderCreated}})]},proxy:!0}])})},Ts=[],Is=(i("33d1"),i("ea98"),function(){var e=this,t=e._self._c;return t("div",{staticClass:"search-wrapper"},[e._m(0),t("input",{staticClass:"dark",attrs:{type:"text",placeholder:e.$t("Search")},domProps:{value:e.value},on:{input:function(t){return e.$emit("input",t.target.value)},focus:function(t){return e.$emit("focus")},blur:function(t){return e.$emit("blur")}}})])}),Fs=[function(){var e=this,t=e._self._c;return t("div",{staticClass:"search-icon"},[t("i",{staticClass:"fas fa-search"})])}],As={name:"SearchInput",props:{value:{type:String,default:""}}},$s=As,Os=(i("ebf7"),Object(N["a"])($s,Is,Fs,!1,null,"33fc3084",null)),Ns=Os.exports,Ls=function(){var e=this,t=e._self._c;return t("b-modal",{attrs:{id:"b-modal-new-folder",title:e.$t("Enter new folder name"),"ok-title":e.$t("Create"),"cancel-title":e.$t("Cancel"),"ok-disabled":!e.newFolderName.length,centered:""},on:{ok:e.handleOk,hidden:e.resetModal,shown:e.focusInput}},[t("form",{on:{submit:function(t){return t.preventDefault(),e.handleSubmit.apply(null,arguments)}}},[t("div",{staticClass:"my-2"},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.newFolderName,expression:"newFolderName"}],ref:"input",staticClass:"input-lg",attrs:{type:"text",name:"name",placeholder:e.$t("Folder name"),required:"required"},domProps:{value:e.newFolderName},on:{input:function(t){t.target.composing||(e.newFolderName=t.target.value)}}}),e.errorMessage?t("b-alert",{staticClass:"mt-3",attrs:{variant:"danger",show:""}},[e._v(" "+e._s(e.errorMessage)+" ")]):e._e()],1)])])},Ms=[],Es={name:"NewFolderModal",props:{preConfirm:{type:Function,default:null},parentFolderId:{type:String,default:null}},data(){return{newFolderName:"",errorMessage:"",isOpen:!1}},methods:{show(){this.isOpen=!0,this.$bvModal.show("b-modal-new-folder")},focusInput(){this.$refs.input.select()},resetModal(){this.isOpen=!1,this.newFolderName="",this.errorMessage=""},handleOk(e){e.preventDefault(),this.handleSubmit()},async handleSubmit(){if(this.newFolderName){if(this.preConfirm){const e=this.preConfirm(this.newFolderName);if(!0!==e)return void(this.errorMessage=e)}try{const e=await oe["a"].post(le["a"].gcodeFolders(),{name:this.newFolderName,parent_folder:this.parentFolderId});this.$emit("created",e.data.id),this.$bvModal.hide("b-modal-new-folder")}catch(e){return void console.log(e)}}}}},Rs=Es,zs=(i("295c"),Object(N["a"])(Rs,Ls,Ms,!1,null,"47badcdc",null)),Bs=zs.exports,Us=function(){var e=this,t=e._self._c;return t("b-modal",{attrs:{id:"b-modal-rename",title:e.$t("Enter new name"),"ok-title":e.$t("Rename"),"cancel-title":e.$t("Cancel"),centered:""},on:{ok:e.handleOk,hidden:e.resetModal,shown:e.focusInput}},[t("form",{on:{submit:function(t){return t.preventDefault(),e.handleSubmit.apply(null,arguments)}}},[t("div",{staticClass:"my-2"},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.newItemName,expression:"newItemName"}],ref:"input",staticClass:"input-lg",attrs:{type:"text",name:"name",placeholder:e.$t("New name"),required:"required"},domProps:{value:e.newItemName},on:{input:function(t){t.target.composing||(e.newItemName=t.target.value)}}}),e.errorMessage?t("b-alert",{staticClass:"mt-3",attrs:{variant:"danger",show:""}},[e._v(" "+e._s(e.errorMessage)+" ")]):e._e()],1)])])},js=[],Ws={name:"RenameModal",components:{},props:{item:{type:Object,default:null},preConfirm:{type:Function,default:null}},data(){return{newItemName:"",errorMessage:"",isOpen:!1}},computed:{itemType(){return this.item.filename?"file":"folder"},fullName(){return"file"===this.itemType?`${this.newItemName}.${this.fileExt}`:this.newItemName},fileExt(){return"folder"===this.itemType?null:this.item.filename.split(".").at(-1)},nameWithoutExt(){if("folder"===this.itemType)return this.item.name;{const e=this.item.filename;return e.slice(0,e.length-this.fileExt.length-1)}},newNameWithExt(){return"folder"===this.itemType?this.newItemName:`${this.newItemName}.${this.fileExt}`}},methods:{show(){this.isOpen=!0,this.$nextTick(()=>{this.item?(this.newItemName=this.nameWithoutExt,this.$bvModal.show("b-modal-rename")):this.isOpen=!1})},focusInput(){this.$refs.input.select()},close(){this.$bvModal.hide("b-modal-rename"),this.resetModal()},resetModal(){this.isOpen=!1,this.newItemName="",this.errorMessage=""},handleOk(e){this.newNameWithExt!==(this.item.filename||this.item.name)?(e.preventDefault(),this.handleSubmit()):this.close()},async handleSubmit(){const e=this.item.id;if(this.newItemName)if(this.newNameWithExt!==(this.item.filename||this.item.name)){if(this.preConfirm){const e=this.preConfirm(this.newNameWithExt);if(!0!==e)return void(this.errorMessage=e)}try{const t="file"===this.itemType?le["a"].gcodeFile(e):le["a"].gcodeFolder(e);await oe["a"].patch(t,`${"file"===this.itemType?"filename":"name"}=${this.newNameWithExt}`)}catch(t){return this.errorMessage=""+this.$i18next.t("Server error"),void console.log(t)}this.$emit("renamed",this.newNameWithExt),this.close()}else this.close()}}},Hs=Ws,Vs=(i("49b1"),Object(N["a"])(Hs,Us,js,!1,null,"bc4fae7e",null)),Ys=Vs.exports,Gs=function(){var e=this,t=e._self._c;return t("b-modal",{attrs:{id:"b-modal-move",title:e.$t("Move item"),"ok-title":e.$t("Place Here"),"cancel-title":e.$t("Cancel"),"ok-disabled":e.isSameDir||e.patchLoading,scrollable:""},on:{ok:e.handleOk,hidden:e.resetModal},scopedSlots:e._u([{key:"modal-title",fn:function(){return[t("div",{staticClass:"title"},[null!==e.parentFolder?t("a",{staticClass:"btn shadow-none icon-btn d-inline",attrs:{href:"#",title:e.$t("Go Back")},on:{click:function(t){return t.preventDefault(),e.goBack.apply(null,arguments)}}},[t("i",{staticClass:"fas fa-chevron-left"})]):e._e(),t("h5",{staticClass:"modal-title"},[e._v(e._s(e.$t("Move item")))])])]},proxy:!0}])},[t("form",{on:{submit:function(t){return t.preventDefault(),e.handleSubmit.apply(null,arguments)}}},[t("g-code-file-structure",{attrs:{folders:e.folders,files:e.files,"target-printer":e.targetPrinter,loading:e.loading,"scroll-container-id":"b-modal-move___BV_modal_body_","no-more-folders":e.noMoreFolders,"no-more-files":!0,"is-move-modal":!0,"disabled-items":e.disabledItems},on:{openFolder:e.openFolder,fetchMore:e.fetchFilesAndFolders}})],1)])},Ks=[],qs=function(){var e=this,t=e._self._c;return t("div",{staticClass:"gcodes-wrapper",class:{"is-move-modal":e.isMoveModal}},[e.isMoveModal?e._e():t("div",{staticClass:"header-panel",class:{"without-action-buttons":!e.isCloud&&!e.targetPrinter}},[t("div",{staticClass:"text"},[e._v(e._s(e.$t("Name")))]),t("div",{staticClass:"text"},[e._v(e._s(e.$t("Size")))]),t("div",{staticClass:"text"},[e._v(e._s(e.$t("Created")))]),e.isCloud?t("div",{staticClass:"text"},[e._v(e._s(e.$t("Last Printed")))]):e._e()]),t("div",{staticClass:"gcode-items-wrapper"},[t("div",e._l([...e.folders,...e.files],(function(i,n){return t("file-structure-item",{directives:[{name:"show",rawName:"v-show",value:e.isFolder(i)&&!e.searchStateIsActive||!e.isFolder(i)&&!e.searchInProgress,expression:"\n (isFolder(item) && !searchStateIsActive) || (!isFolder(item) && !searchInProgress)\n "}],key:`${e.isFolder(i)?"folder":"file"}_${n}`,attrs:{item:i,"is-cloud":e.isCloud,"target-printer":e.targetPrinter,"is-move-modal":e.isMoveModal,disabled:e.isFolder(i)?e.disabledItems.folders.includes(i.id):e.disabledItems.files.includes(i.id),selectable:!e.isMoveModal&&e.isCloud&&!e.isPopup,selected:e.isFolder(i)?e.selectedFolders.has(i.id):e.selectedFiles.has(i.id)},on:{click:function(t){e.isFolder(i)?e.$emit("openFolder",i):e.$emit("openFile",i)},renameItem:function(t){return e.$emit("renameItem",i)},moveItem:function(t){return e.$emit("moveItem",i)},deleteItem:function(t){return e.$emit("deleteItem",i)},print:function(t){return e.$emit("print",i)},selectedChanged:e.onSelectedChanged}})})),1),e.isCloud?t("mugen-scroll",{staticClass:"text-center",attrs:{"v-show":!e.isFolderEmpty,handler:()=>e.$emit("fetchMore"),"should-handle":!e.loading,"scroll-container":e.scrollContainerId}},[e.noMoreFolders&&e.noMoreFiles&&!e.searchInProgress?e._e():t("div",{staticClass:"py-5"},[t("b-spinner",{attrs:{label:e.$t("Loading...")}})],1)]):e._e(),e.isCloud||!e.localFilesLoading&&!e.searchInProgress?t("div",[e.isFolderEmpty?t("div",{staticClass:"placeholder text-secondary"},[t("span",[e._v(e._s(e.$t("Nothing here yet")))])]):e.nothingFound?t("div",{staticClass:"placeholder text-secondary"},[t("span",[e._v(e._s(e.$t("Nothing found")))])]):e._e()]):t("div",{staticClass:"text-center py-5"},[t("b-spinner",{attrs:{label:e.$t("Loading...")}})],1)],1)])},Js=[],Zs=function(){var e=this,t=e._self._c;return t("div",{staticClass:"item",class:{disabled:e.isDisabled,"move-modal":e.isMoveModal},on:{click:()=>!e.isDisabled&&e.$emit("click")}},[e.selectable?t("div",{staticClass:"checkbox-wrapper",class:{isSelected:e.isSelected}},[t("b-form-checkbox",{attrs:{size:"md",checked:e.isSelected},nativeOn:{"!click":function(t){t.stopPropagation(),t.preventDefault(),e.isSelected=!e.isSelected}}})],1):e._e(),t("div",{staticClass:"item-info"},[t("div",{staticClass:"filename"},[t("div",{staticClass:"thumbnail-wrapper",class:{folder:e.isFolder}},[!e.isFolder&&e.item.getSmallThumbnailUrl()?t("div",{staticClass:"thumbnail"},[t("img",{attrs:{src:e.item.getSmallThumbnailUrl()}})]):t("div",{staticClass:"placeholder"},[e.isFolder?t("i",{staticClass:"fas fa-folder"}):t("i",{staticClass:"fas fa-file-code"})])]),t("span",{staticClass:"truncated"},[e._v(e._s(e.isFolder?e.item.name:e.item.filename))])]),t("div",{staticClass:"size"},[e.isFolder?e._e():t("span",[e._v(e._s(e.item.filesize))]),e.isFolder?t("span",[e._v(e._s(e.item.numItems)+" item(s)")]):e._e()]),e.isMoveModal?e._e():t("div",{staticClass:"created"},[e._v(" "+e._s(e.item.created_at?e.item.created_at.fromNow():"-")+" ")]),e.isMoveModal?e._e():[!e.isFolder&&e.isCloud?t("div",{staticClass:"last-printed"},[e.item.print_set?e.item.print_set.length?e.item.last_print?t("span",[e._v(e._s(e.item.last_print.ended_at?e.item.last_print.ended_at.fromNow():e.$t("Printing...")))]):e._e():t("span",[e._v(e._s(e.$t("No prints yet")))]):t("span",[e._v("-")]),e.item.last_print&&e.item.last_print.ended_at?t("div",{staticClass:"circle-indicator",class:{cancelled:e.item.last_print.cancelled_at,finished:e.item.last_print.finished_at}}):e._e()]):e._e(),e.isFolder&&e.isCloud?t("div",{staticClass:"d-none d-md-block"}):e._e()]],2),!e.isMoveModal&&(!e.isFolder&&(e.isCloud||e.targetPrinter)||e.isFolder&&e.isCloud)?t("div",[t("b-dropdown",{attrs:{right:"","no-caret":"","toggle-class":"icon-btn py-0"},scopedSlots:e._u([{key:"button-content",fn:function(){return[t("i",{staticClass:"fas fa-ellipsis-v"})]},proxy:!0}],null,!1,3452768261)},[!e.isFolder&&e.targetPrinter?t("b-dropdown-item",{on:{click:function(t){return t.stopPropagation(),e.$emit("print",e.item)}}},[t("span",{staticClass:"text-primary"},[t("i",{staticClass:"fas fa-play-circle"}),e._v(e._s(e.$t("Print on"))+" "+e._s(e.targetPrinter.name)+" ")])]):e._e(),e.isCloud?t("b-dropdown-item",{on:{click:function(t){return t.stopPropagation(),e.$emit("renameItem",e.item)}}},[t("i",{staticClass:"fas fa-edit"}),e._v(e._s(e.$t("Rename"))+" ")]):e._e(),e.isCloud?t("b-dropdown-item",{on:{click:function(t){return t.stopPropagation(),e.$emit("moveItem",e.item)}}},[t("i",{staticClass:"fas fa-arrows-alt"}),e._v(e._s(e.$t("Move"))+" ")]):e._e(),e.isCloud?t("b-dropdown-item",{on:{click:function(t){return t.stopPropagation(),e.$emit("deleteItem",e.item)}}},[t("span",{staticClass:"text-danger"},[t("i",{staticClass:"fas fa-trash-alt"}),e._v(e._s(e.$t("Delete"))+" ")])]):e._e()],1)],1):e._e()])},Qs=[],Xs={name:"FileStructureItem",props:{item:{type:Object,required:!0},isCloud:{type:Boolean,default:!0},targetPrinter:{type:Object,default:null},isMoveModal:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},selected:{type:Boolean,default:!1},selectable:{type:Boolean,default:!1}},data:function(){return{isSelected:this.selected}},computed:{isFolder(){return!this.item.filename},isDisabled(){return this.isMoveModal&&!this.isFolder||this.disabled}},watch:{isSelected(e){this.$emit("selectedChanged",this.item,e)},selected(e){this.isSelected=e}}},eo=Xs,to=(i("c9b4"),Object(N["a"])(eo,Zs,Qs,!1,null,"ad2c3ac6",null)),io=to.exports,no={name:"GCodeFileStructure",components:{MugenScroll:ni.a,FileStructureItem:io},props:{folders:{type:Array,default:()=>[]},files:{type:Array,default:()=>[]},noMoreFolders:{type:Boolean,default:!1},noMoreFiles:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},localFilesLoading:{type:Boolean,default:!1},isCloud:{type:Boolean,default:!0},isPopup:{type:Boolean,default:!1},searchStateIsActive:{type:Boolean,default:!1},searchInProgress:{type:Boolean,default:!1},nothingFound:{type:Boolean,default:!1},targetPrinter:{type:Object,default:null},scrollContainerId:{type:String,default:null},isMoveModal:{type:Boolean,default:!1},disabledItems:{type:Object,default:()=>({folders:[],files:[]})}},data:function(){return{selectedFiles:new Set,selectedFolders:new Set}},computed:{isFolderEmpty(){return!this.searchStateIsActive&&!this.loading&&!this.files.length&&!this.folders.length}},methods:{onSelectedChanged(e,t){const i=this.isFolder(e)?new Set(this.selectedFolders):new Set(this.selectedFiles);t?i.add(e.id):i.delete(e.id),this.isFolder(e)?(this.selectedFolders=i,this.$emit("selectFolders",this.selectedFolders)):(this.selectedFiles=i,this.$emit("selectFiles",this.selectedFiles))},isFolder(e){return!e.filename},selectAll(){this.selectedFolders=new Set(this.folders.map(e=>e.id)),this.selectedFiles=new Set(this.files.map(e=>e.id)),this.$emit("selectFolders",this.selectedFolders),this.$emit("selectFiles",this.selectedFiles)},unselectAll(){this.selectedFolders=new Set,this.selectedFiles=new Set,this.$emit("selectFolders",this.selectedFolders),this.$emit("selectFiles",this.selectedFiles)}}},ao=no,ro=(i("e1a7"),Object(N["a"])(ao,qs,Js,!1,null,"254b72e8",null)),so=ro.exports;const oo=24;var lo={name:"MoveModal",components:{GCodeFileStructure:so},props:{item:{type:Object,default:null},items:{type:Object,default:null},targetPrinter:{type:Object,default:null},scrollContainerId:{type:String,default:null},sortingValue:{type:Object,required:!0},itemParentFolderId:{type:String,default:""}},data(){return{path:[],isOpen:!1,loading:!1,patchLoading:!1,folders:[],files:[],noMoreFolders:!1,currentFoldersPage:1,currentFilesPage:1}},computed:{disabledItems(){const e={files:[],folders:[]};return this.item&&"file"===this.itemType?e.files=[this.item.id]:this.item&&"folder"===this.itemType?e.folders=[this.item.id]:this.items&&(e.files=this.items.files,e.folders=this.items.folders),e},itemType(){return this.item?this.item.filename?"file":"folder":null},parentFolder(){return this.path&&this.path.length>0?this.path.at(-1):null},isSameDir(){return null===this.parentFolder&&!this.itemParentFolderId||parseInt(this.itemParentFolderId)===this.parentFolder}},methods:{goBack(){this.path.pop(),this.fetchFilesAndFolders(!0)},openFolder(e){this.path.push(e.id),this.fetchFilesAndFolders(!0)},resetFiles(){this.folders=[],this.files=[],this.noMoreFolders=!1,this.currentFoldersPage=1,this.currentFilesPage=1},async fetchFilesAndFolders(e=!1){if(this.loading)return;if(e&&this.resetFiles(),this.noMoreFolders)return;this.loading=!0;let t=[];if(!this.noMoreFolders){try{var i,n;const e={parent_folder:this.parentFolder||"null",page:this.currentFoldersPage,page_size:oo};this.sortingValue.sorting.folderKey&&(e.sorting=`${this.sortingValue.sorting.folderKey}_${this.sortingValue.direction.key}`);let a=await oe["a"].get(le["a"].gcodeFolders(),{params:e});a=a.data,this.noMoreFolders=null===(null===(i=a)||void 0===i?void 0:i.next),t=(null===(n=a)||void 0===n?void 0:n.results)||[]}catch(a){this.loading=!1,this.errorDialog(a)}this.folders.push(...t.map(e=>Fe(e))),this.currentFoldersPage+=1}this.loading=!1},show(){this.isOpen=!0,this.fetchFilesAndFolders(),this.$nextTick(()=>{this.item||this.items?this.$bvModal.show("b-modal-move"):this.isOpen=!1})},close(){this.$bvModal.hide("b-modal-move"),this.resetModal()},resetModal(){this.isOpen=!1,this.path=[],this.resetFiles()},handleOk(e){e.preventDefault(),this.handleSubmit()},async handleSubmit(){this.patchLoading=!0;const e=this.parentFolder||"";try{if(this.item){const t=this.item.id,i="file"===this.itemType?le["a"].gcodeFile(t):le["a"].gcodeFolder(t);await oe["a"].patch(i,"parent_folder="+e)}else this.items&&(this.items.folders.length&&await oe["a"].post(le["a"].gcodeFolderBulkMove(),{folder_ids:this.items.folders,parent_folder:e}),this.items.files.length&&await oe["a"].post(le["a"].gcodeFileBulkMove(),{file_ids:this.items.files,parent_folder:e}))}catch(t){this.errorDialog(t,""+this.$i18next.t("Failed to move item(s)"))}this.patchLoading=!1,this.$emit("moved"),this.close()}}},co=lo,uo=(i("5fad"),Object(N["a"])(co,Gs,Ks,!1,null,"3ff54ded",null)),po=uo.exports,ho=function(){var e=this,t=e._self._c;return t("div")},mo=[],fo={name:"RenameModal",props:{item:{type:Object,default:null}},data(){return{isOpen:!1}},created(){},mounted(){},methods:{show(){this.isOpen=!0,this.$bvModal.msgBoxConfirm(""+this.$i18next.t("Are you sure?"),{id:"b-modal-confirm-delete",centered:!0,okTitle:""+this.$i18next.t("Delete"),okVariant:"danger",size:"sm",autoFocusButton:"ok"}).then(async e=>{if(this.isOpen=!1,e){try{const e=this.item.filename?le["a"].gcodeFile(this.item.id):le["a"].gcodeFolder(this.item.id);await oe["a"].delete(e)}catch(t){return void console.log(t)}this.$emit("deleted")}}).catch(e=>{this.errorDialog(e,""+this.$i18next.t("Failed to delete item"))})}}},go=fo,vo=(i("1705"),Object(N["a"])(go,ho,mo,!1,null,null,null)),bo=vo.exports;const yo=1e3,wo=24,_o="gcodesSorting",Co={options:[{title:""+G["a"].t("Name"),key:"filename",folderKey:"name"},{title:""+G["a"].t("Size"),key:"num_bytes"},{title:""+G["a"].t("Created"),key:"created_at",folderKey:"created_at"}],default:{sorting:"created_at",direction:"desc"}};var ko={name:"GCodeFoldersPage",components:{PageLayout:Ft,SearchInput:Ns,vueDropzone:lr.a,GCodeFileStructure:so,RenameModal:Ys,MoveModal:po,DeleteConfirmationModal:bo,NewFolderModal:Bs,SortingDropdown:vi,CascadedDropdown:ci},props:{isPopup:{type:Boolean,default:!1},onClose:{type:Function,default:null},scrollContainerId:{type:String,default:null},targetPrinter:{type:Object,default:null},savedPath:{type:Array,default:()=>[]},routeParams:{type:Object,default:()=>({printerId:null,parentFolder:null})}},data(){return{PrintStatus:xe,csrf:null,user:null,loading:!1,parentFolder:null,path:[],files:[],folders:[],noMoreFolders:!1,noMoreFiles:!1,currentFoldersPage:1,currentFilesPage:1,sortingLocalStoragePrefix:_o,sortingOptions:Co,sortingValue:mi(_o,Co),searchQuery:null,searchStateIsActive:!1,searchTimeoutId:null,activeItem:null,activeItems:null,printers:[],selectedPrinterId:void 0,selectedPrinterComm:void 0,localFilesLoading:!1,selectedFolders:new Set,selectedFiles:new Set}},computed:{selectedItemsCount(){return this.selectedFiles.size+this.selectedFolders.size},allSelected(){const e=this.files.length+this.folders.length;return this.selectedItemsCount===e&&0!==e},mobileMenuOptions(){const e=[{key:"storage",icon:"fas fa-server",title:""+this.$i18next.t("File storage"),expandable:!0},{key:"sorting",icon:"fas fa-sort-amount-down",title:""+this.$i18next.t("Sort"),expandable:!0}];return this.isCloud&&e.unshift({key:"createFolder",icon:"fas fa-folder-plus",title:""+this.$i18next.t("Create folder"),callback:!0}),e},isAgentMoonraker(){const e=this.printers.find(e=>e.id===this.selectedPrinterId);return!e||e.isAgentMoonraker()},isCloud(){return!this.selectedPrinterId},nothingFound(){return this.searchStateIsActive&&!this.searchTimeoutId&&!this.files.length},searchInProgress(){return this.searchStateIsActive&&!!this.searchTimeoutId},maxFilesize(){return this.user.is_pro?500:50},maxTotalFilesize(){return this.user.is_pro?50:1},dropzoneOptions(){return{withCredentials:!0,maxFilesize:this.maxFilesize,timeout:36e5,acceptedFiles:".g,.gcode,.gco",url:le["a"].gcodeFiles(),headers:{"X-CSRFToken":this.csrf}}}},async created(){this.csrf=Object(Pn["c"])(),this.user=Object(Q["f"])(),this.savedPath&&this.savedPath.length>=1?(this.parentFolder=this.savedPath.at(-1),this.path=this.savedPath.slice(0,this.savedPath.length-1)):this.parentFolder=this.getRouteParam("parentFolder")||null,this.selectedPrinterId=Number(this.getRouteParam("printerId"))||null,this.isPopup||this.$watch(()=>this.$route.params,(e,t)=>{this.parentFolder=e.parentFolder||null,this.selectedPrinterId=Number(this.getRouteParam("printerId"))||null,this.fetchFilesAndFolders(!0)}),await this.fetchPrinters(),this.fetchFilesAndFolders(!0)},methods:{isPrinterBrowsable(e){return!(e.isOffline()||!e.isAgentVersionGte("2.3.0","1.2.0"))},printerBrowsabilityText(e){return this.isPrinterBrowsable(e)?""+this.$i18next.t("Available to browse files"):""+this.$i18next.t("Unable to browse files")},toggleSelectAll(){this.allSelected?this.$refs.gCodeFileStructure.unselectAll():this.$refs.gCodeFileStructure.selectAll()},onSelectFiles(e){this.selectedFiles=e},onSelectFolders(e){this.selectedFolders=e},moveSelectedItems(){this.activeItems={files:Array.from(this.selectedFiles),folders:Array.from(this.selectedFolders)},this.$refs.moveModal.show()},deleteSelectedItems(){const e=Array.from(this.selectedFolders),t=Array.from(this.selectedFiles);this.$swal.Prompt.fire({title:""+this.$i18next.t("Are you sure?"),text:""+this.$i18next.t("Delete {name} item(s)? This action can not be undone.",{name:e.length+t.length}),showCancelButton:!0,confirmButtonText:""+this.$i18next.t("Yes"),cancelButtonText:""+this.$i18next.t("No")}).then(async i=>{if(i.isConfirmed)try{e.length&&await oe["a"].post(le["a"].gcodeFolderBulkDelete(),{folder_ids:e}),t.length&&await oe["a"].post(le["a"].gcodeFileBulkDelete(),{file_ids:t})}catch(n){this.errorDialog(n,""+this.$i18next.t("Failed to delete files and folders"))}finally{this.fetchFilesAndFolders(!0)}})},switchToCloudStorage(){this.parentFolder=null,this.path=[],this.selectedPrinterId=null,this.selectedPrinterComm=null,this.isPopup?this.fetchFilesAndFolders(!0):"/g_code_folders/cloud/"!==this.$route.path&&this.$router.replace("/g_code_folders/cloud/")},switchToPrinterStorage(e){this.isPrinterBrowsable(e)?(this.parentFolder=null,this.path=[],this.selectedPrinterId=e.id,this.selectedPrinterComm=null,this.isPopup?this.fetchFilesAndFolders(!0):Number(this.getRouteParam("printerId"))!==e.id&&this.$router.replace(`/g_code_folders/local/${e.id}/`)):this.$swal.Reject.fire({title:this.$i18next.t("{name} isn't available for browsing files for one of the following reasons",{name:e.name})+":",html:`
    \n
  • ${this.$i18next.t("{name} is powered off or not connected to the Internet",{name:e.agentDisplayName()})}
  • \n
  • ${this.$i18next.t("Printer is not connected to {name}",{name:e.agentDisplayName()})}
  • \n
  • ${this.$i18next.t("{brandName} for {name} plugin is outdated (you need version {version} or later)",{brandName:this.$syndicateText.brandName,name:e.agentDisplayName(),version:e.browsabilityMinPluginVersion()})}
  • \n
`})},getRouteParam(e){return this.isPopup?this.routeParams[e]:this.$route.params[e]},goBack(){this.path.length&&(this.parentFolder=this.path.pop(),this.fetchFilesAndFolders(!0))},resetFiles(){this.folders=[],this.files=[],this.$refs.gCodeFileStructure.unselectAll(),this.noMoreFolders=!1,this.noMoreFiles=!1,this.currentFoldersPage=1,this.currentFilesPage=1},async fetchPrinters(){let e;try{e=await oe["a"].get(le["a"].printers()),e=e.data}catch(t){console.error(t)}e&&(e=e.map(e=>Ae(e)),e=e.sort((e,t)=>Number(this.isPrinterBrowsable(t))-Number(this.isPrinterBrowsable(e))),this.printers=this.targetPrinter?e.filter(e=>e.id===this.targetPrinter.id):e)},async fetchLocalFiles(){if(!this.selectedPrinterComm)return;this.localFilesLoading=!0;const e=this.isAgentMoonraker?xa:Da;e(this.selectedPrinterComm,this.parentFolder?decodeURIComponent(this.parentFolder):null,this.searchQuery).then(e=>{if(this.localFilesLoading=!1,e){const{folders:t,files:i}=e;this.folders=t,this.files=i}})},async fetchFilesAndFolders(e=!1,t=!1){if(this.loading)return;if(e&&this.resetFiles(),this.selectedPrinterId)return this.printers.find(e=>e.id===this.selectedPrinterId)||this.$swal.Reject.fire({title:""+this.$i18next.t("Error"),text:""+this.$i18next.t("Printer not found or unavailable")}).then(()=>{this.isPopup&&this.onClose?this.onClose():window.location.assign("/g_code_folders/cloud/")}),this.localFilesLoading=!0,void(this.selectedPrinterComm?this.fetchLocalFiles():(this.selectedPrinterComm=Ca.getOrCreatePrinterComm(this.selectedPrinterId,le["a"].printerWebSocket(this.selectedPrinterId)),this.selectedPrinterComm.connect(this.fetchLocalFiles)));if(this.searchQuery&&(this.noMoreFolders=!0),this.noMoreFolders&&this.noMoreFiles)return;this.loading=!0;let i=[],n=[];if(!this.noMoreFolders){try{var a,r;const e={parent_folder:this.parentFolder||"null",page:this.currentFoldersPage,page_size:wo};this.sortingValue.sorting.folderKey&&(e.sorting=`${this.sortingValue.sorting.folderKey}_${this.sortingValue.direction.key}`);let t=await oe["a"].get(le["a"].gcodeFolders(),{params:e});t=t.data,this.noMoreFolders=null===(null===(a=t)||void 0===a?void 0:a.next),i=(null===(r=t)||void 0===r?void 0:r.results)||[]}catch(c){this.loading=!1,this.errorDialog(c)}this.currentFoldersPage+=1}if(!this.noMoreFiles&&i.lengthFe(e))),this.files.push(...n.map(e=>Ie(e))),this.loading=!1},updateSearch(e){if(clearTimeout(this.searchTimeoutId),this.searchTimeoutId=null,this.searchStateIsActive=!!e,!this.searchStateIsActive)return this.searchQuery=null,void this.fetchFilesAndFolders(!0);this.searchTimeoutId=setTimeout(async()=>{this.searchQuery=e,this.fetchFilesAndFolders(!0),this.searchTimeoutId=null},yo)},addParentFolderParam(e,t,i){i.append("filename",e.name),null!==this.parentFolder&&i.append("parent_folder",this.parentFolder)},gcodeUploadSuccess(){const e=this.targetPrinter&&1===this.$refs.gcodesDropzone.getAcceptedFiles().length&&0===this.$refs.gcodesDropzone.getRejectedFiles().length;this.$refs.gcodesDropzone.removeAllFiles(),this.files=[],this.fetchFilesAndFolders(!0,e)},gcodeUploadError(e,t){this.$swal.Reject.fire({html:`

${t}

`})},renameItem(e){this.activeItem=e,this.$refs.renameModal.show()},verifyItemRename(e){return!(!this.activeItem.filename&&this.folders.find(t=>t.name===e))||""+this.$i18next.t("Folder with this name already exists")},onItemRenamed(e){if(!this.activeItem)return;const t=this.activeItem.filename?this.files:this.folders;for(let i in t)if(t[i].id===this.activeItem.id){if(this.activeItem.filename){this.files[i].filename=e;break}this.folders[i].name=e;break}this.activeItem=null},moveItem(e){this.activeItem=e,this.$refs.moveModal.show()},onItemMoved(){(this.activeItem||this.activeItems)&&(this.activeItem=null,this.activeItems=null,this.fetchFilesAndFolders(!0))},deleteItem(e){this.activeItem=e,this.$refs.deleteConfirmationModal.show()},onItemDeleted(){if(!this.activeItem)return;const e=this.activeItem.filename?this.files:this.folders;for(let t in e)if(e[t].id===this.activeItem.id){if(this.activeItem.filename){this.files.splice(t,1);break}this.folders.splice(t,1);break}this.activeItem=null},createFolder(){this.$refs.newFolderModal.show()},onMenuOptionClicked(e){"createFolder"===e&&this.createFolder()},verifyNewFolder(e){return!this.folders.find(t=>t.name===e)||""+this.$i18next.t("Folder with this name already exists")},onFolderCreated(e){this.fetchFilesAndFolders(!0)},openFolder(e){this.isPopup?(this.path.push(this.parentFolder),this.parentFolder=String(e.id),this.fetchFilesAndFolders(!0)):this.selectedPrinterId?this.$router.push(`/g_code_folders/local/${this.selectedPrinterId}/${encodeURIComponent(e.path)}/`):this.$router.push(`/g_code_folders/cloud/${e.id}/`)},openFile(e){this.isPopup?this.$emit("openFile",this.selectedPrinterId?encodeURIComponent(e.path):e.id,this.selectedPrinterId,[...this.path,this.parentFolder]):this.selectedPrinterId?window.location.assign(`/g_code_files/local/${this.selectedPrinterId}/${encodeURIComponent(e.path)}/`):window.location.assign(`/g_code_files/cloud/${e.id}/`)},onPrintClicked(e){Aa(e,this.targetPrinter).then(()=>{Oa({printer:this.targetPrinter,gcode:e,isCloud:this.isCloud,Swal:this.$swal,onCommandSent:()=>{this.isPopup&&this.$bvModal.hide("b-modal-gcodes"+this.targetPrinter.id)}})})},onSortingUpdated(e){this.sortingValue=e,this.fetchFilesAndFolders(!0)}}},Po=ko,So=(i("6f88"),Object(N["a"])(Po,xs,Ts,!1,null,"5d00d77d",null)),Do=So.exports,xo=function(){var e=this,t=e._self._c;return t("page-layout",{attrs:{"is-popup":e.isPopup},scopedSlots:e._u([{key:"topBarLeft",fn:function(){return[e.isPopup?t("a",{staticClass:"btn shadow-none icon-btn d-inline",attrs:{href:"#",title:e.$t("Go Back")},on:{click:function(t){return t.preventDefault(),e.goBack.apply(null,arguments)}}},[t("i",{staticClass:"fas fa-chevron-left"})]):e._e()]},proxy:!0},{key:"topBarRight",fn:function(){return[t("div",{staticClass:"action-panel"},[e.isCloud?t("a",{staticClass:"btn shadow-none icon-btn action-btn",attrs:{href:"#",title:e.$t("Rename file")},on:{click:function(t){return t.preventDefault(),e.renameFile.apply(null,arguments)}}},[t("i",{staticClass:"fas fa-edit"})]):e._e(),e.isCloud?t("a",{staticClass:"text-danger btn shadow-none icon-btn action-btn",attrs:{href:"#",title:e.$t("Delete file")},on:{click:function(t){return t.preventDefault(),e.deleteFile.apply(null,arguments)}}},[t("i",{staticClass:"fas fa-trash-alt"})]):e._e(),t("b-dropdown",{attrs:{right:"","no-caret":"","toggle-class":"icon-btn d-md-none"},scopedSlots:e._u([{key:"button-content",fn:function(){return[t("i",{staticClass:"fas fa-ellipsis-v"})]},proxy:!0}])},[t("cascaded-dropdown",{ref:"cascadedDropdown",attrs:{"menu-options":[{key:"renameFile",icon:"fas fa-edit",title:e.$t("Rename file"),callback:!0},{key:"deleteFile",icon:"fas fa-trash-alt",customMenuOptionClass:"text-danger",title:e.$t("Delete file"),callback:!0}]},on:{menuOptionClicked:e.onMenuOptionClicked}})],1),e.onClose?t("a",{staticClass:"btn shadow-none icon-btn d-inline",attrs:{href:"#",title:"Close"},on:{click:function(t){return t.preventDefault(),e.onClose.apply(null,arguments)}}},[t("i",{staticClass:"fas fa-times text-danger"})]):e._e()],1)]},proxy:!0},{key:"content",fn:function(){return[e.loading||e.gcodeNotFound?t("b-container",[t("b-row",[t("b-col",{staticClass:"text-center mt-5"},[e.gcodeNotFound?t("div",[t("p",[e._v(e._s(e.$t("This G-Code file doesn't exists")))])]):t("div",[t("b-spinner")],1)])],1)],1):t("b-container",{attrs:{fluid:""}},[t("b-row",[t("b-col",{attrs:{lg:e.isPopup?12:5}},[t("b-alert",{attrs:{show:e.isDeleted,variant:"warning warning-block"}},[e._v(" "+e._s(e.$t("This file is deleted and unavailable for print"))+" ")]),t("g-code-details",{attrs:{file:e.gcode,"show-print-stats":!0,"compact-view":!1}}),e.isDeleted?e._e():t("available-printers",{staticClass:"card-container available-printers",class:{"full-width":e.isPopup},attrs:{"is-popup":e.isPopup,"target-printer-id":e.targetPrinterId||e.selectedPrinterId,gcode:e.gcode,"is-cloud":e.isCloud},on:{refresh:e.onRefresh}})],1),t("b-col",{attrs:{lg:e.isPopup?12:7}},[t("div",{staticClass:"print-history",class:{"full-width":e.isPopup||e.isDeleted}},[t("h2",{staticClass:"section-title mb-3"},[e._v(e._s(e.$t("Print History")))]),e.gcode.print_set.length?t("div",e._l(e.gcode.print_set,(function(e){return t("print-history-item",{key:"print_"+e.id,staticClass:"print-item",attrs:{print:e}})})),1):t("div",[t("div",{staticClass:"card-container p-4 justify-content-center text-secondary"},[e._v(" "+e._s(e.$t("This file doesn't have any prints yet"))+" ")])])])])],1)],1),t("rename-modal",{ref:"renameModal",attrs:{item:e.gcode},on:{renamed:e.onItemRenamed}}),t("delete-confirmation-modal",{ref:"deleteConfirmationModal",attrs:{item:e.gcode},on:{deleted:e.onItemDeleted}})]},proxy:!0}])})},To=[],Io=i("9380"),Fo=i.n(Io),Ao=function(){var e=this,t=e._self._c;return t("div",[e.printersLoading||!e.gcode?t("div",{staticClass:"my-5 text-center"},[t("b-spinner")],1):t("div",{staticClass:"text-center"},[e.targetPrinterId?e._e():t("div",{staticClass:"mb-3"},[e._l(e.printers,(function(i){return t("div",{key:"printer_"+i.id,staticClass:"printer-item",class:{active:e.selectedPrinter&&i.id===e.selectedPrinter.id},on:{click:function(t){return e.selectPrinter(i)}}},[t("div",{staticClass:"selected-indicator"}),t("div",{staticClass:"printer-name truncated",attrs:{title:i.name}},[e._v(e._s(i.name))]),t("div",{staticClass:"printer-status",class:[i.isPrintable()?"text-success":"text-warning"]},[e._v(" "+e._s(i.printabilityText())+" ")])])})),e.printersLoading||e.printers.length?e._e():t("p",{staticClass:"text-center text-secondary mt-3 mb-3"},[e._v(" "+e._s(e.$t("No available printers"))+" ")])],2),t("button",{staticClass:"btn btn-primary d-inline-flex align-items-center justify-content-center",attrs:{disabled:!e.selectedPrinter||e.isSending||!e.selectedPrinter.isPrintable()},on:{click:e.onPrintClicked}},[e.isSending?t("b-spinner",{staticClass:"mr-1",attrs:{small:""}}):e._e(),e.selectedPrinter?t("div",{staticClass:"truncated"},[e._v(e._s(e.$t("Print on"))+" "+e._s(e.selectedPrinter.name))]):t("div",{staticClass:"truncated"},[e._v(e._s(e.$t("Print")))])],1)])])},$o=[],Oo={name:"AvailablePrinters",components:{},props:{isPopup:{type:Boolean,default:!1},targetPrinterId:{type:Number,required:!1,default:null},gcode:{type:Object,default:null},isCloud:{type:Boolean,default:!0}},data(){return{printers:[],selectedPrinter:null,printersLoading:!0,printerStateCheckInterval:null,printerComms:{}}},computed:{isSending(){return this.printers.some(e=>"Starting"===e.calculatedState()||"G-Code Downloading"===e.calculatedState())}},created(){this.fetchPrinters()},methods:{async fetchPrinters(){this.printersLoading=!0;const e=await oe["a"].get(le["a"].printers());if(null===e||void 0===e||!e.data)return void(this.printersLoading=!1);const t=null===e||void 0===e?void 0:e.data.map(e=>Ae(e));if(this.targetPrinterId){const e=t.find(e=>e.id===this.targetPrinterId);this.printers=[e],e.isPrintable()&&(this.selectedPrinter=e)}else this.printers=t,this.selectedPrinter=t.find(e=>e.isPrintable())||null;for(const i of this.printers)this.printerComms[i.id]=Ca.getOrCreatePrinterComm(i.id,le["a"].printerWebSocket(i.id),{onPrinterUpdateReceived:e=>{const t=this.printers.findIndex(e=>e.id===i.id);this.$set(this.printers,t,Ae(e,this.printers[t]))}}),this.printerComms[i.id].connect();this.printersLoading=!1},selectPrinter(e){e.isPrintable()?this.selectedPrinter=e:this.$swal.Reject.fire({title:this.$i18next.t("{name} isn't ready for print for one of the following reasons",{name:e.name})+":",html:`
    \n
  • ${this.$i18next.t("{name} is powered off or not connected to the Internet",{name:e.agentDisplayName()})}
  • \n
  • ${this.$i18next.t("Printer is not connected to {name}",{name:e.agentDisplayName()})}
  • \n
  • ${this.$i18next.t("Printer is currently busy")}
  • \n
`})},onPrintClicked(){var e;null!==(e=this.selectedPrinter)&&void 0!==e&&e.id&&Aa(this.gcode,this.selectedPrinter).then(()=>{Oa({printer:this.selectedPrinter,gcode:this.gcode,isCloud:this.isCloud,Swal:this.$swal,onCommandSent:()=>{this.isPopup&&this.$bvModal.hide("b-modal-gcodes"+this.selectedPrinter.id)},onPrinterStatusChanged:()=>{this.isPopup||La(this.$swal,()=>this.$emit("refresh"),this.selectedPrinter.id),this.fetchPrinters()}})})}}},No=Oo,Lo=(i("cdd3"),Object(N["a"])(No,Ao,$o,!1,null,"77186cca",null)),Mo=Lo.exports,Eo={name:"GCodeFilePage",components:{PageLayout:Ft,RenameModal:Ys,DeleteConfirmationModal:bo,availablePrinters:Mo,PrintHistoryItem:Ei,CascadedDropdown:ci,GCodeDetails:Ga},props:{isPopup:{type:Boolean,default:!1},targetPrinterId:{type:Number,default:null},onClose:{type:Function,default:null},routeParams:{type:Object,default:()=>({fileId:null,printerId:null})}},data(){return{gcode:null,printer:null,loading:!0,gcodeNotFound:!1}},computed:{isCloud(){return!this.selectedPrinterId},isDeleted(){var e;return!(null===(e=this.gcode)||void 0===e||!e.deleted)}},async created(){this.selectedPrinterId=Number(this.getRouteParam("printerId"))||null,this.selectedPrinterId&&await this.fetchPrinter(),this.gcodeId=this.getRouteParam("fileId"),this.fetchGcode()},methods:{onMenuOptionClicked(e){"renameFile"===e?this.renameFile():"deleteFile"===e&&this.deleteFile()},getRouteParam(e){return this.isPopup?this.routeParams[e]:this.$route.params[e]},goBack(){this.$emit("goBack")},async fetchPrinter(){return oe["a"].get(le["a"].printer(this.selectedPrinterId)).then(e=>{this.printer=Ae(e.data)}).catch(e=>{this.errorDialog(e,""+this.$i18next.t("Host printer for this gcode not found"))})},async fetchLocalFile(){if(!this.printerComm)return;this.loading=!0;const e=decodeURIComponent(this.gcodeId),t=e.split("/").at(-1),i=t===e?"":e.slice(0,e.length-t.length-1),n=this.printer.isAgentMoonraker()?xa:Da;n(this.printerComm,i,null).then(e=>({files:Fo()(de()(e,"files",[]),e=>e.filename==t)})).then(async e=>{var t;if(this.loading=!1,0===(null===e||void 0===e||null===(t=e.files)||void 0===t?void 0:t.length))return void(this.gcodeNotFound=!0);const i=null===e||void 0===e?void 0:e.files[0];if(this.gcode={...Ie(i),print_set:[]},i.path&&i.hash&&this.getRouteParam("printerId")){const e=i.path.replace(/^.*[\\/]/,"");try{let t=await oe["a"].get(le["a"].gcodeFiles(),{params:{resident_printer:this.getRouteParam("printerId"),safe_filename:e,agent_signature:"md5:"+i.hash}});const n=de()(t,"data.results[0]");if(n){const e=Ie(n);this.gcode.print_set=e.print_set}}catch(n){console.error(n)}}}).catch(e=>{this.gcodeNotFound=!0})},async fetchGcode(){var e,t;if(this.selectedPrinterId)return this.printerComm=Ca.getOrCreatePrinterComm(this.selectedPrinterId,le["a"].printerWebSocket(this.selectedPrinterId)),void this.printerComm.connect(this.fetchLocalFile);this.loading=!0;const i=this.getRouteParam("fileId");let n;try{n=await oe["a"].get(le["a"].gcodeFile(i))}catch(a){this.loading=!1,console.error(a)}if(null===(e=n)||void 0===e||!e.data)return this.loading=!1,void(this.gcodeNotFound=!0);n=null===(t=n)||void 0===t?void 0:t.data,this.gcode=Ie(n),this.loading=!1},renameFile(){this.$refs.renameModal.show()},onItemRenamed(e){this.gcode.filename=e},deleteFile(){this.$refs.deleteConfirmationModal.show()},onItemDeleted(){this.isPopup?this.$emit("goBack"):window.location.replace("/g_code_folders/cloud/")},onRefresh(){this.$router.go()}}},Ro=Eo,zo=(i("c0a8"),Object(N["a"])(Ro,xo,To,!1,null,"0d6b7614",null)),Bo=zo.exports,Uo=function(){var e=this,t=e._self._c;return t("div",[t("div",[t("h5",[e._v(e._s(e.$t("Serial Port"))+":")])]),t("div",[t("b-form-select",{staticClass:"form-control",attrs:{id:"connect-port"},model:{value:e.selectedPort,callback:function(t){e.selectedPort=t},expression:"selectedPort"}},e._l(e.connectionOptions.ports,(function(i){return t("b-form-select-option",{key:i,attrs:{value:i}},[e._v(" "+e._s(i)+" ")])})),1)],1),t("br"),t("div",[t("h5",[e._v(e._s(e.$t("Baudrate"))+":")])]),t("div",[t("b-form-select",{staticClass:"form-control",attrs:{id:"connect-baudrate"},model:{value:e.selectedBaudrate,callback:function(t){e.selectedBaudrate=t},expression:"selectedBaudrate"}},[t("b-form-select-option",{attrs:{value:""}},[e._v(e._s(e.$t("Auto")))]),e._l(e.connectionOptions.baudrates,(function(i){return t("b-form-select-option",{key:i,attrs:{value:i}},[e._v(" "+e._s(i)+" ")])}))],2)],1)])},jo=[],Wo={name:"ConnectPrinter",props:{connectionOptions:{type:Object,required:!0}},data(){return{selectedPort:this.connectionOptions.ports[0],selectedBaudrate:""}}},Ho=Wo,Vo=Object(N["a"])(Ho,Uo,jo,!1,null,null,null),Yo=Vo.exports;const Go="/pause_print/",Ko="/resume_print/",qo="/cancel_print/";var Jo={name:"PrintJobControlWidget",components:{WidgetTemplate:Ds,GCodeFoldersPage:Do,GCodeFilePage:Bo},props:{printer:{type:Object,required:!0},printerComm:{type:Object,required:!0},insideCard:{type:Boolean,default:!1}},data(){return{connectBtnClicked:!1,selectedGcodeId:null,savedPath:[null],printerFiles:!1}},computed:{connecting(){return this.connectBtnClicked&&this.printer.isDisconnected()},modalId(){return"b-modal-gcodes"+this.printer.id}},methods:{openObicoFiles(){this.printerFiles=!1,this.$bvModal.show(this.modalId)},openPrinterFiles(){this.printerFiles=!0,this.$bvModal.show(this.modalId)},scrollToTop(){document.querySelector("#"+this.modalId).scrollTo(0,0)},resetGcodesModal(){this.selectedGcodeId=null},onConnectClicked(){this.printerComm.passThruToPrinter({func:"get_connection_options",target:"_printer"},(e,t)=>{e?this.$swal.Toast.fire({icon:"error",title:e}):t.ports.length<1?this.$swal.Toast.fire({icon:"error",title:""+this.$i18next.t("Uh-Oh. No printer is found on the serial port.")}):this.$swal.openModalWithComponent(Yo,{connectionOptions:t},{confirmButtonText:"Connect",showCancelButton:!0,preConfirm:()=>({port:document.getElementById("connect-port").value,baudrate:document.getElementById("connect-baudrate").value})}).then(e=>{if(e.value){let t=[e.value.port,e.value.baudrate];this.printerComm.passThruToPrinter({func:"connect",target:"_printer",args:t})}})}),this.connectBtnClicked=!0,setTimeout(()=>{this.connectBtnClicked=!1},1e4)},onPauseToggled(e){this.printer.isPaused()?this.printer.alertUnacknowledged()?this.$emit("notAFailureClicked",e,!0):(this.$emit("sendPrinterAction",this.printer.id,Ko),this.printer.setTransientState("Resuming")):this.$swal.Confirm.fire({html:`If you haven't changed the default configuration, the heaters will be turned off, and the print head will be z-lifted. The reversed will be performed before the print is resumed. Learn more. `}).then(e=>{e.value&&(this.$emit("sendPrinterAction",this.printer.id,Go),this.printer.setTransientState("Pausing"))})},onCancelClicked(){this.$swal.Confirm.fire({text:""+this.$i18next.t("Once cancelled, the print can no longer be resumed.")}).then(e=>{e.value&&(this.$emit("sendPrinterAction",this.printer.id,qo),this.printer.setTransientState("Cancelling"))})}}},Zo=Jo,Qo=(i("da56"),Object(N["a"])(Zo,ys,ws,!1,null,"c7deff6e",null)),Xo=Qo.exports;const el="/resume_print/",tl="/mute_current_print/?mute_alert=true",il="/acknowledge_alert/?alert_overwrite=NOT_FAILED",nl=!0,al=!1,rl={Settings:"panel-settings",Time:"print-time",StatusTemp:"status_temp_block"};var sl={name:"PrinterCard",components:{StreamingBox:Mr,FailureDetectionGauge:Kn,DurationBlock:jr,StatusTemp:es,PrintJobControlWidget:Xo},props:{printer:{type:Object,required:!0},isProAccount:{type:Boolean,required:!0}},data(){return{section_toggles:{settings:Object(s["a"])(rl.Settings+String(this.printer.id),nl),time:Object(s["a"])(rl.Time+String(this.printer.id),al),statusTemp:Object(s["a"])(rl.StatusTemp+String(this.printer.id),nl)},webrtc:null,webcam:null}},computed:{isWatching(){return!this.printer.not_watching_reason},timeRemaining(){return this.toDuration(this.secondsLeft,this.printer.isActive())},timeTotal(){let e=null;return this.secondsPrinted&&this.secondsLeft&&(e=this.secondsPrinted+this.secondsLeft),this.toDuration(e,this.printer.isActive())},secondsLeft(){return de()(this.printer,"status.progress.printTimeLeft")},secondsPrinted(){return de()(this.printer,"status.progress.printTime")},watchForFailures(){return this.printer.watching_enabled},pauseOnFailure(){return"PAUSE"==this.printer.action_on_failure},hasCurrentPrintFilename(){return!(!this.printer.current_print||!this.printer.current_print.filename)},actionsProps(){return{printer:this.printer}},progressPct(){return de()(this.printer,"status.progress.completion")||0},tempProps(){let e=void 0!=de()(this.printer,"settings.temp_profiles");const t={};for(const[i,n]of Object.entries(de()(this.printer,"status.temperatures",{})))Boolean(n.actual)&&!isNaN(n.actual)&&(t[i]=n);return{temperatures:t,show:Object.keys(t).length>0,isPluginVersionSufficient:e}},statusText(){return this.printer.calculatedState()||"Offline"},statusClass(){return this.printer.hasError()?"text-danger":this.printer.isOffline()||this.printer.isDisconnected()||this.printer.inTransientState()?"text-warning":"text-success"}},created(){this.printerComm=Ca.getOrCreatePrinterComm(this.printer.id,le["a"].printerWebSocket(this.printer.id),{onPrinterUpdateReceived:e=>{var t;if(this.$emit("PrinterUpdated",this.updatedPrinter(e)),!this.webrtc&&((null===e||void 0===e||null===(t=e.settings)||void 0===t?void 0:t.webcams)||[]).length>0){var i;const t=null===(i=e.settings)||void 0===i?void 0:i.webcams;this.webcam=null===t||void 0===t?void 0:t.find(e=>!0===e.is_primary_camera),this.webcam&&(this.webrtc=Dr(this.webcam.stream_mode,this.webcam.stream_id),this.webrtc.openForPrinter(this.printer.id,this.printer.auth_token),this.printerComm.setWebRTC(this.webrtc))}},onStatusReceived:e=>{const t=e.status||e.octoprint_data;this.$emit("PrinterUpdated",this.updatedPrinter({status:t}))}}),this.printerComm.connect()},methods:{updatedPrinter(e){return Ae(e,this.printer)},settingsUrl(){return`/printers/${this.printer.id}/`},octoPrintTunnelUrl(){return`/tunnels/${this.printer.id}/`},onSettingsToggleClicked(){this.section_toggles.settings=!this.section_toggles.settings,Object(s["b"])(rl.Settings+String(this.printer.id),this.section_toggles.settings)},onTimeToggleClicked(){this.section_toggles.time=!this.section_toggles.time,Object(s["b"])(rl.Time+String(this.printer.id),this.section_toggles.time)},onStatusTempToggleClicked(){this.section_toggles.statusTemp=!this.section_toggles.statusTemp,Object(s["b"])(rl.StatusTemp+String(this.printer.id),this.section_toggles.statusTemp)},onNotAFailureClicked(e,t){this.$swal.Confirm.fire({title:""+this.$i18next.t("Noted!"),html:`

${this.$i18next.t("Do you want to mute failure detection on for this print?")}

${this.$i18next.t("If you select 'Mute', failure detection will be turned off for this print, but will be automatically turned on for your next print.")}`,confirmButtonText:""+this.$i18next.t("Mute"),cancelButtonText:""+this.$i18next.t("Cancel")}).then(e=>{e.isConfirmed&&setTimeout(()=>{this.sendPrinterAction(this.printer.id,tl)},1e3),t?(this.printer.setTransientState("Resuming"),this.sendPrinterAction(this.printer.id,el)):this.sendPrinterAction(this.printer.id,il)}),e.preventDefault()},onWatchForFailuresToggled(){this.printer.watching_enabled=!this.printer.watching_enabled,this.updatePrinter(this.printer)},onPauseOnFailureToggled(){this.printer.action_on_failure="PAUSE"==this.printer.action_on_failure?"NONE":"PAUSE",this.updatePrinter(this.printer)},onTempEditClicked(e,t){let i,n=de()(this.printer,"settings.temp_profiles",[]),a=350;e.search(/bed|chamber/)>-1&&(a=140),i=e.search(/tool/)>-1?n.map(e=>({name:e.name,target:e["extruder"]})):n.map(t=>({name:t.name,target:t[e]})),this.$swal.openModalWithComponent(ps,{presets:i,maxTemp:a,curTarget:t.target},{title:"Set "+Object(Pn["f"])(e)+" Temperature",confirmButtonText:"Confirm",showCancelButton:!0,preConfirm:()=>({target:parseInt(document.getElementById("target-temp").value)})}).then(t=>{if(t.value){let i=t.value.target;this.printerComm.passThruToPrinter({func:"set_temperature",target:"_printer",args:[e,i]})}})},updatePrinter(e){return oe["a"].patch(le["a"].printer(e.id),{watching_enabled:e.watching_enabled,action_on_failure:e.action_on_failure}).then(e=>{if(!e.data.succeeded)throw e;this.$emit("PrinterUpdated",Ae(e.data.printer,this.printer))}).catch(e=>{this.errorDialog(e,""+this.$i18next.t("Failed to update printer"))})},sendPrinterAction(e,t){oe["a"].post(le["a"].printerAction(e,t))},shouldVideoBeFull(e){let t=de()(e,"pic.img_url"),i=e.alertUnacknowledged()&&t;return!i},toDuration(e,t){if(null==e||0==e)return{valid:!1,printing:Boolean(t)};var i=H.a.duration(e,"seconds"),n=Math.floor(i.asHours()),a=i.minutes(),r=i.seconds();return{valid:!0,printing:Boolean(t),hours:n,showHours:n>0,minutes:a,showMinutes:n>0||a>0,seconds:r,showSeconds:0==n&&0==a}},onSharePrinter(){this.$swal.openModalWithComponent(bs,{isProAccount:this.isProAccount,printer:this.printer},{confirmButtonText:"Close"})}}},ol=sl,ll=(i("7492"),Object(N["a"])(ol,fr,gr,!1,null,"88cd84ac",null)),cl=ll.exports;const dl="printersSorting",ul={options:[{title:""+G["a"].t("Name"),key:"name"},{title:""+G["a"].t("Created at"),key:"created_at"}],default:{sorting:"created_at",direction:"desc"}},pl="printersFiltering",hl={status:{title:""+G["a"].t("Print Status"),queryParam:"status",values:[{key:"none",title:""+G["a"].t("All Printers")},{key:"online",title:""+G["a"].t("Online Printers")},{key:"active",title:""+G["a"].t("Active Printers")}],default:"none"}};var ml={name:"PrinterListPage",components:{PrinterCard:cl,PageLayout:Ft,CascadedDropdown:ci,SortingDropdown:vi,FilteringDropdown:Si,ActiveFilterNotice:Ai},data:function(){return{user:null,printers:[],loading:!0,isEnt:!1,archivedPrinterNum:0,shouldShowArchiveWarning:!1,sortingLocalStoragePrefix:dl,sortingOptions:ul,sortingValue:mi(dl,ul),filterLocalStoragePrefix:pl,filterOptions:hl,filterValues:_i(pl,hl)}},computed:{dhBadgeNum(){return this.user&&this.user.is_dh_unlimited?"∞":Math.round(this.user.dh_balance)},mobileMenuOptions(){const e=[{key:"sorting",icon:"fas fa-sort-amount-down",title:""+this.$i18next.t("Sort"),expandable:!0},{key:"filtering",icon:"fas fa-filter",title:""+this.$i18next.t("Filter"),expandable:!0}];return this.isEnt&&e.unshift({key:"dh",svgIcon:"svg-hour-glass",title:""+this.$i18next.t("{name} AI Detection Hours",{name:this.dhBadgeNum}),href:"/user_preferences/dh/"}),e},visiblePrinters(){let e=this.printers;switch(this.filterValues.status){case"online":e=e.filter(e=>!e.isDisconnected());break;case"active":e=e.filter(e=>e.isActive());break;case"none":break}return"created_at"===this.sortingValue.sorting.key?e=dt()(e,e=>e.createdAt()):"name"===this.sortingValue.sorting.key&&(e=dt()(e,e=>e.name)),"desc"===this.sortingValue.direction.key&&e.reverse(),e},hiddenPrinterCount(){return this.printers.length-this.visiblePrinters.length}},created(){const{IS_ENT:e}=Object(Q["d"])();this.isEnt=!!e,this.user=Object(Q["f"])(),this.fetchPrinters()},methods:{fetchPrinters(){return this.loading=!0,oe["a"].get(le["a"].printers(),{params:{with_archived:!0}}).then(e=>{const t=e.data;!Object(s["a"])("single-printer-redirect-enabled",!0)||1!=t.length||t[0].archived_at?(this.loading=!1,e.data.forEach(e=>{e.archived_at?this.archivedPrinterNum+=1:this.insertPrinter(Ae(e))}),this.shouldShowArchiveWarningFunc()):window.location.href=`/printers/${t[0].id}/control/`})},insertPrinter(e){this.printers.push(e)},onPrinterUpdated(e){let t=this.printers.findIndex(t=>t.id==e.id);t<0||this.$set(this.printers,t,e)},resetGcodesModal(){this.selectedGcodeId=null,this.targetPrinter=null},onSortingUpdated(e){this.sortingValue=e},onFilterUpdated(e,t){this.filterValues[e]=t},resetFilters(){for(const e of Object.keys(this.filterValues))this.filterValues[e]="none",Object(s["b"])(`${pl}-${e}`,"none")},handleNeverShowAgain(){this.$swal.Prompt.fire({title:""+this.$i18next.t("Are you sure?"),html:`

${this.$i18next.t("You can always view your archived printers in by navigating to the General tab within Preferences.")}

`,showCancelButton:!0,confirmButtonText:""+this.$i18next.t("Yes"),cancelButtonText:""+this.$i18next.t("No")}).then(e=>{e.isConfirmed&&(localStorage.setItem("shouldNeverShowArchived",JSON.stringify(!0)),this.shouldShowArchiveWarning=!1)})},shouldShowArchiveWarningFunc(){const e=localStorage.getItem("shouldNeverShowArchived");!0===JSON.parse(e)?this.shouldShowArchiveWarning=!1:this.shouldShowArchiveWarning=this.archivedPrinterNum>0}}},fl=ml,gl=(i("11cb"),i("45c5"),Object(N["a"])(fl,hr,mr,!1,null,"fb278c80",null)),vl=gl.exports,bl=function(){var e=this,t=e._self._c;return t("div",[t("nav-bar",{attrs:{"view-name":"printer_shared"}}),t("div",{staticClass:"row justify-content-center"},[e.loading?t("b-spinner",{staticClass:"mt-5",attrs:{label:"Loading..."}}):e._e(),e.printer?t("div",{staticClass:"col-sm-12 col-lg-6 printer-card"},[t("div",{staticClass:"card"},[t("div",{staticClass:"card-header"},[t("div",[e._v(e._s(e.printer.name))])]),t("streaming-box",{attrs:{printer:e.printer,webrtc:e.webrtc,autoplay:!0}}),t("div",{staticClass:"p-3 p-md-5"},[t("p",{staticClass:"text-center"},[e._v(" "+e._s(e.$t("You are viewing an awesome 3D print your friend shared specifically with you on"))+" ")]),t("a",{attrs:{href:"https://www.obico.io/"}},[t("svg",{staticClass:"logo-img",attrs:{width:"100%"}},[t("use",{attrs:{href:"#svg-logo-full"}})])]),t("hr"),t("br"),t("br"),t("p",{staticClass:"text-center"},[e._v(" "+e._s(e.$syndicateText.brandName)+" "+e._s(e.$t("lets you monitor and control your printer from anywhere, on your phone."))+" ")]),t("a",{staticClass:"btn btn-block btn-primary",attrs:{href:"/accounts/signup/"}},[e._v(e._s(e.$t("Sign up for a free {brandName} account",{brandName:e.$syndicateText.brandName})))])])],1)]):e._e()],1)],1)},yl=[],wl=function(){var e=this,t=e._self._c;return t("div",[e.inMobileWebView?e._e():t("b-navbar",{class:{"navbar-dark":e.theme===e.themes.Dark,"navbar-light":e.theme===e.themes.Light},attrs:{toggleable:"xl"}},[t("b-container",{staticClass:"p-0"},[t("b-navbar-brand",{attrs:{href:"/"}},[t("SyndicateAwareSVG",{attrs:{href:"#svg-logo-compact",width:"100",height:"30"}})],1),t("b-navbar-toggle",{attrs:{target:"navbar-toggle-collapse"}},[t("span",{staticClass:"navbar-toggler-icon"})]),t("b-collapse",{attrs:{id:"navbar-toggle-collapse","is-nav":""},model:{value:e.showMainMenu,callback:function(t){e.showMainMenu=t},expression:"showMainMenu"}},[t("b-navbar-nav",[e.user?t("b-nav-item",{class:{active:e.viewName.includes("printers")},attrs:{href:"/printers/"}},[e._v(e._s(e.$t("Printers")))]):e._e(),e.user?t("b-nav-item",{class:{active:e.viewName.includes("print_history")},attrs:{href:"/print_history/"}},[e._v(e._s(e.$t("Print History")))]):e._e(),e.user?t("b-nav-item",{class:{active:e.viewName.includes("g_code_folders")},attrs:{href:"/g_code_folders/cloud/"}},[e._v(e._s(e.$t("G-Codes")))]):e._e(),e.isEnt&&!e.user?t("b-nav-item",{staticClass:"glowing",class:{active:"publictimelapse_list"===e.viewName},attrs:{href:"/ent_pub/publictimelapses/"}},[e._v(e._s(e.$t("Spaghetti Gallery")))]):e._e(),e.isEnt?t("b-nav-item",{class:{active:"pricing"===e.viewName},attrs:{href:"/ent_pub/pricing/"}},[e._v(e._s(e.$t("Pricing")))]):e._e(),t("b-nav-item",{attrs:{href:"https://www.obico.io/help/"}},[e._v(e._s(e.$t("Help")))]),t("b-nav-item",{attrs:{href:"https://obico.io/discord"}},[e._v(e._s(e.$t("Community")))])],1),t("b-navbar-nav",{staticClass:"ml-auto"},[e.user?e._e():t("b-nav-item",{attrs:{href:"/accounts/login/"}},[e._v(e._s(e.$t("SIGN IN")))]),!e.user&&e.allowSignUp?t("b-nav-item",{attrs:{href:"/accounts/signup/"}},[e._v(e._s(e.$t("SIGN UP")))]):e._e(),e.user?t("b-nav-item-dropdown",{ref:"accountDropdown",attrs:{right:"","toggle-class":"user-menu",text:e.user.first_name||e.user.email}},[t("b-dropdown-item",{attrs:{href:"/user_preferences/"}},[t("i",{staticClass:"fas fa-cog mr-2"}),e._v(e._s(e.$t("Preferences"))+" ")]),t("b-dropdown-divider"),t("b-dropdown-item",{attrs:{href:"/accounts/logout/"}},[t("i",{staticClass:"fas fa-sign-out-alt mr-2"}),e._v(e._s(e.$t("Log out"))+" ")])],1):e._e()],1)],1)],1)],1)],1)},_l=[],Cl={name:"NavBar",components:{},props:{viewName:{default(){return""},type:String}},data(){return{user:null,allowSignUp:!1,isEnt:!1,themes:Hn["a"],showMainMenu:!1}},computed:{inMobileWebView(){return Object(Q["a"])()},theme(){return Object(S["a"])()}},created(){const{ACCOUNT_ALLOW_SIGN_UP:e,IS_ENT:t}=Object(Q["d"])();this.allowSignUp=!!e,this.isEnt=!!t,this.user=Object(Q["f"])()},methods:{hideDropdowns(){this.showMainMenu=!1;const e=this.$refs.accountDropdown;e&&e.hide()}}},kl=Cl,Pl=(i("0585"),Object(N["a"])(kl,wl,_l,!1,null,"371280d8",null)),Sl=Pl.exports,Dl={name:"SharedPrinterPage",components:{StreamingBox:Mr,NavBar:Sl},data:function(){return{printer:null,shareToken:null,videoAvailable:{},loading:!0,isWebrtcOpened:!1,webrtc:Dr()}},created(){this.shareToken=it()(window.location.pathname,"/").slice(-2,-1).pop(),this.printerComm=Ca.getOrCreatePrinterComm(this.shareToken,le["a"].printerSharedWebSocket(this.shareToken),{onPrinterUpdateReceived:e=>{this.printer=Ae(e,this.printer),this.loading=!1,this.isWebrtcOpened||(this.webrtc.openForShareToken(this.shareToken),this.isWebrtcOpened=!0)}}),this.printerComm.connect()}},xl=Dl,Tl=(i("9da9"),Object(N["a"])(xl,bl,yl,!1,null,"1dd34976",null)),Il=Tl.exports,Fl=function(){var e=this,t=e._self._c;return t("page-layout",{scopedSlots:e._u([{key:"content",fn:function(){return[t("b-container",[t("b-row",{staticClass:"justify-content-center"},[t("b-col",{attrs:{lg:"8"}},[e.printer?t("div",{staticClass:"surface with-loading-animation full-on-mobile"},[t("section",{staticClass:"settings"},[t("h2",{staticClass:"section-title"},[e._v(e._s(e.$t("Settings")))]),t("div",{staticClass:"form-group mb-4 mt-4"},[t("div",{staticClass:"form-label text-muted mb-2"},[e._v(e._s(e.$t("Give your shiny new printer a name")))]),t("saving-animation",{attrs:{errors:e.errorMessages.name,saving:e.saving.name}},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.printer.name,expression:"printer.name"}],staticClass:"form-control field_required",attrs:{id:"id_name",type:"text",name:"name",maxlength:"200",placeholder:"",required:"required"},domProps:{value:e.printer.name},on:{input:function(t){t.target.composing||e.$set(e.printer,"name",t.target.value)}}})])],1),t("div",{staticClass:"failure-notification"},[t("div",{staticClass:"form-group mt-4 mb-4"},[t("div",{staticClass:"form-label text-muted"},[e._v(e._s(e.$t("When a potential failure is detected"))+":")]),t("saving-animation",{attrs:{errors:e.errorMessages.action_on_failure_NONE,saving:e.saving.action_on_failure_NONE}},[t("div",{staticClass:"custom-control custom-radio mt-1 radio"},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.printer.action_on_failure,expression:"printer.action_on_failure"}],staticClass:"custom-control-input field_required",attrs:{id:"id_action_on_failure_0",type:"radio",name:"action_on_failure",value:"NONE"},domProps:{checked:e._q(e.printer.action_on_failure,"NONE")},on:{change:[function(t){return e.$set(e.printer,"action_on_failure","NONE")},function(t){return e.updateSetting("action_on_failure")}]}}),t("label",{staticClass:"custom-control-label",attrs:{for:"id_action_on_failure_0"}},[e._v(e._s(e.$t("Just notify me")))])])]),t("saving-animation",{attrs:{errors:e.errorMessages.action_on_failure_PAUSE,saving:e.saving.action_on_failure_PAUSE}},[t("div",{staticClass:"custom-control custom-radio mt-1 radio",attrs:{id:"action_on_failure_PAUSE"}},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.printer.action_on_failure,expression:"printer.action_on_failure"}],staticClass:"custom-control-input field_required",attrs:{id:"id_action_on_failure_1",type:"radio",name:"action_on_failure",value:"PAUSE"},domProps:{checked:e._q(e.printer.action_on_failure,"PAUSE")},on:{change:[function(t){return e.$set(e.printer,"action_on_failure","PAUSE")},function(t){return e.updateSetting("action_on_failure")}]}}),t("label",{staticClass:"custom-control-label",attrs:{for:"id_action_on_failure_1"}},[e._v(e._s(e.$t("Pause the printer and notify me")))])])])],1)])]),t("section",{staticClass:"mt-5"},[t("h2",{staticClass:"section-title"},[e._v(e._s(e.$t("Failure Detection")))]),t("div",{staticClass:"card-body p-0 pt-3"},[t("p",{staticClass:"text-warning"},[t("i",{staticClass:"fas fa-exclamation-triangle"}),e._v(" "+e._s(e.$t("If you are not sure about the settings below, leave the default values to minimize surprises."))+" ")]),t("div",{staticClass:"form-group mt-4"},[t("div",{staticClass:"form-label text-muted"},[e._v(e._s(e.$t("When print is paused,")))]),t("saving-animation",{attrs:{errors:e.errorMessages.tools_off_on_pause,saving:e.saving.tools_off_on_pause}},[t("div",{staticClass:"custom-control custom-checkbox mt-2 checkbox"},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.printer.tools_off_on_pause,expression:"printer.tools_off_on_pause"}],staticClass:"custom-control-input",attrs:{id:"id_tools_off_on_pause",type:"checkbox",name:"tools_off_on_pause"},domProps:{checked:Array.isArray(e.printer.tools_off_on_pause)?e._i(e.printer.tools_off_on_pause,null)>-1:e.printer.tools_off_on_pause},on:{change:[function(t){var i=e.printer.tools_off_on_pause,n=t.target,a=!!n.checked;if(Array.isArray(i)){var r=null,s=e._i(i,r);n.checked?s<0&&e.$set(e.printer,"tools_off_on_pause",i.concat([r])):s>-1&&e.$set(e.printer,"tools_off_on_pause",i.slice(0,s).concat(i.slice(s+1)))}else e.$set(e.printer,"tools_off_on_pause",a)},function(t){return e.updateSetting("tools_off_on_pause")}]}}),t("label",{staticClass:"custom-control-label",attrs:{for:"id_tools_off_on_pause"}},[e._v(" "+e._s(e.$t("Turn off hotend heater(s)"))+" ")])])]),t("saving-animation",{attrs:{errors:e.errorMessages.bed_off_on_pause,saving:e.saving.bed_off_on_pause}},[t("div",{staticClass:"custom-control custom-checkbox mt-2 checkbox"},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.printer.bed_off_on_pause,expression:"printer.bed_off_on_pause"}],staticClass:"custom-control-input",attrs:{id:"id_bed_off_on_pause",type:"checkbox",name:"bed_off_on_pause"},domProps:{checked:Array.isArray(e.printer.bed_off_on_pause)?e._i(e.printer.bed_off_on_pause,null)>-1:e.printer.bed_off_on_pause},on:{change:[function(t){var i=e.printer.bed_off_on_pause,n=t.target,a=!!n.checked;if(Array.isArray(i)){var r=null,s=e._i(i,r);n.checked?s<0&&e.$set(e.printer,"bed_off_on_pause",i.concat([r])):s>-1&&e.$set(e.printer,"bed_off_on_pause",i.slice(0,s).concat(i.slice(s+1)))}else e.$set(e.printer,"bed_off_on_pause",a)},function(t){return e.updateSetting("bed_off_on_pause")}]}}),t("label",{staticClass:"custom-control-label",attrs:{for:"id_bed_off_on_pause"}},[e._v(" "+e._s(e.$t("Turn off bed heater"))+" ")])])]),t("saving-animation",{staticClass:"mobile-full-width",attrs:{errors:e.errorMessages.retract_on_pause,saving:e.saving.retract_on_pause}},[t("div",{staticClass:"form-inline my-1 checkbox-with-input"},[t("div",{staticClass:"custom-control custom-checkbox"},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.retractFilamentByEnabled,expression:"retractFilamentByEnabled"}],staticClass:"custom-control-input",attrs:{id:"retract-checkbox",type:"checkbox"},domProps:{checked:Array.isArray(e.retractFilamentByEnabled)?e._i(e.retractFilamentByEnabled,null)>-1:e.retractFilamentByEnabled},on:{change:function(t){var i=e.retractFilamentByEnabled,n=t.target,a=!!n.checked;if(Array.isArray(i)){var r=null,s=e._i(i,r);n.checked?s<0&&(e.retractFilamentByEnabled=i.concat([r])):s>-1&&(e.retractFilamentByEnabled=i.slice(0,s).concat(i.slice(s+1)))}else e.retractFilamentByEnabled=a}}}),t("label",{staticClass:"custom-control-label",attrs:{for:"retract-checkbox"}},[e._v(e._s(e.$t("Retract filament by")))])]),t("number-input",{staticClass:"wrappable-field",attrs:{step:.5,disable:!e.retractFilamentByEnabled},model:{value:e.retractOnPause,callback:function(t){e.retractOnPause=t},expression:"retractOnPause"}})],1)]),t("saving-animation",{staticClass:"mobile-full-width",attrs:{errors:e.errorMessages.lift_z_on_pause,saving:e.saving.lift_z_on_pause}},[t("div",{staticClass:"form-inline my-1 checkbox-with-input"},[t("div",{staticClass:"custom-control custom-checkbox"},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.liftExtruderByEnabled,expression:"liftExtruderByEnabled"}],staticClass:"custom-control-input",attrs:{id:"lift-z-checkbox",type:"checkbox"},domProps:{checked:Array.isArray(e.liftExtruderByEnabled)?e._i(e.liftExtruderByEnabled,null)>-1:e.liftExtruderByEnabled},on:{change:function(t){var i=e.liftExtruderByEnabled,n=t.target,a=!!n.checked;if(Array.isArray(i)){var r=null,s=e._i(i,r);n.checked?s<0&&(e.liftExtruderByEnabled=i.concat([r])):s>-1&&(e.liftExtruderByEnabled=i.slice(0,s).concat(i.slice(s+1)))}else e.liftExtruderByEnabled=a}}}),t("label",{staticClass:"custom-control-label",attrs:{for:"lift-z-checkbox"}},[e._v(e._s(e.$t("Lift extruder along Z axis by")))])]),t("number-input",{staticClass:"wrappable-field",attrs:{step:.5,disable:!e.liftExtruderByEnabled},model:{value:e.liftExtruderBy,callback:function(t){e.liftExtruderBy=t},expression:"liftExtruderBy"}})],1)])],1),t("div",{staticClass:"form-group sensitivity my-4"},[t("div",{staticClass:"form-label text-muted"},[e._v(e._s(e.$t("AI failure detection sensitivity")))]),t("saving-animation",{attrs:{errors:e.errorMessages.detective_sensitivity,saving:e.saving.detective_sensitivity}},[t("div",{staticClass:"my-2 sensitivity-slider"},[t("vue-slider",{attrs:{lazy:!0,min:.8,max:1.2,interval:.05,"tooltip-formatter":e.sensitivityTooltipFormatter},model:{value:e.detectiveSensitivity,callback:function(t){e.detectiveSensitivity=t},expression:"detectiveSensitivity"}})],1)]),"Low"===e.sensitivityTooltipFormatter(e.printer.detective_sensitivity)?t("div",[e._v(" "+e._s(e.$t("Low - I don't want a lot of false alarms. Only alert me when you are absolutely sure."))+" ")]):"Medium"===e.sensitivityTooltipFormatter(e.printer.detective_sensitivity)?t("div",[e._v(" "+e._s(e.$t("Medium - A few false alarms won't bother me. But some well-disguised spaghetti will be missed."))+" ")]):t("div",[e._v(" "+e._s(e.$t("High - Hit me with all the false alarms. I want to catch as many failures as possible."))+" ")])],1)])]),t("section",{staticClass:"mt-5"},[t("h2",{staticClass:"section-title"},[e._v(e._s(e.$t("Time-lapse")))]),e.timelapseOnFinishEnabled&&e.timelapseOnCancelEnabled?e._e():t("p",{staticClass:"text-warning"},[t("i",{staticClass:"fas fa-exclamation-triangle"}),t("i18next",{attrs:{translation:e.$t("Focused Feedback won't be available when time-lapse recording is turned off. You won't be able to {localizedDom}")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("a",{attrs:{href:e.getDocUrl("/user-guides/how-does-credits-work/")}},[e._v(e._s(e.$t("help us get better while earning AI Detection Hours for yourself")))])]},proxy:!0}],null,!1,2529399454)})],1),t("div",{staticClass:"form-group mt-4"},[t("saving-animation",{staticClass:"mobile-full-width",attrs:{errors:e.errorMessages.min_timelapse_secs_on_finish,saving:e.saving.min_timelapse_secs_on_finish}},[t("div",{staticClass:"form-inline my-1 checkbox-with-input"},[t("div",{staticClass:"custom-control custom-checkbox"},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.timelapseOnFinishEnabled,expression:"timelapseOnFinishEnabled"}],staticClass:"custom-control-input",attrs:{id:"timelapseOnFinishEnabled",type:"checkbox"},domProps:{checked:Array.isArray(e.timelapseOnFinishEnabled)?e._i(e.timelapseOnFinishEnabled,null)>-1:e.timelapseOnFinishEnabled},on:{change:function(t){var i=e.timelapseOnFinishEnabled,n=t.target,a=!!n.checked;if(Array.isArray(i)){var r=null,s=e._i(i,r);n.checked?s<0&&(e.timelapseOnFinishEnabled=i.concat([r])):s>-1&&(e.timelapseOnFinishEnabled=i.slice(0,s).concat(i.slice(s+1)))}else e.timelapseOnFinishEnabled=a}}}),t("label",{staticClass:"custom-control-label",attrs:{for:"timelapseOnFinishEnabled"}},[e._v(e._s(e.$t("Record time-lapse when a print finishes successfully.")))])])]),e.timelapseOnFinishEnabled?t("div",{staticClass:"form-inline my-1 checkbox-with-input"},[t("div",{staticClass:"custom-control custom-checkbox"},[e._v(" "+e._s(e.$t("Skip if the print is finished in less than"))+" ")]),t("number-input",{staticClass:"wrappable-field",attrs:{step:5,unit:"minutes"},model:{value:e.minTimelapseMinutesOnFinish,callback:function(t){e.minTimelapseMinutesOnFinish=t},expression:"minTimelapseMinutesOnFinish"}})],1):e._e()]),t("saving-animation",{staticClass:"mobile-full-width",attrs:{errors:e.errorMessages.min_timelapse_secs_on_cancel,saving:e.saving.min_timelapse_secs_on_cancel}},[t("div",{staticClass:"form-inline mt-3 mb-1 checkbox-with-input"},[t("div",{staticClass:"custom-control custom-checkbox"},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.timelapseOnCancelEnabled,expression:"timelapseOnCancelEnabled"}],staticClass:"custom-control-input",attrs:{id:"timelapseOnCancelEnabled",type:"checkbox"},domProps:{checked:Array.isArray(e.timelapseOnCancelEnabled)?e._i(e.timelapseOnCancelEnabled,null)>-1:e.timelapseOnCancelEnabled},on:{change:function(t){var i=e.timelapseOnCancelEnabled,n=t.target,a=!!n.checked;if(Array.isArray(i)){var r=null,s=e._i(i,r);n.checked?s<0&&(e.timelapseOnCancelEnabled=i.concat([r])):s>-1&&(e.timelapseOnCancelEnabled=i.slice(0,s).concat(i.slice(s+1)))}else e.timelapseOnCancelEnabled=a}}}),t("label",{staticClass:"custom-control-label",attrs:{for:"timelapseOnCancelEnabled"}},[e._v(e._s(e.$t("Record time-lapse when a print is cancelled.")))])])]),e.timelapseOnCancelEnabled?t("div",{staticClass:"form-inline my-1 checkbox-with-input"},[t("div",{staticClass:"custom-control custom-checkbox"},[e._v(" "+e._s(e.$t("Skip if the print is cancelled in less than"))+" ")]),t("number-input",{staticClass:"wrappable-field",attrs:{step:5,unit:"minutes"},model:{value:e.minTimelapseMinutesOnCancel,callback:function(t){e.minTimelapseMinutesOnCancel=t},expression:"minTimelapseMinutesOnCancel"}})],1):e._e()])],1)]),t("section",{staticClass:"danger mt-5"},[t("h2",{staticClass:"section-title"},[e._v(e._s(e.$t("Danger Zone")))]),t("div",{staticClass:"mt-4"},[t("a",{staticClass:"btn btn-outline-secondary",attrs:{href:e.printerWizardUrl}},[e._v(" "+e._s(e.$t("Re-Link Printer"))+" ")]),t("div",{staticClass:"text-muted mt-1"},[t("small",[t("i18next",{attrs:{translation:e.$t("If your printer is always showing as 'offline', and you have gone through {localizedDom}, you can try to re-link printer as the last resort.")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("a",{attrs:{href:e.getDocUrl("/user-guides/troubleshoot-server-connection-issues/")}},[e._v(e._s(e.$t("all the trouble-shooting steps")))])]},proxy:!0}])})],1)])]),e.isEnt?t("div",{staticClass:"mt-4"},[t("button",{staticClass:"btn btn-outline-warning",on:{click:e.archivePrinter}},[e._v(" "+e._s(e.$t("Archive Printer"))+" ")]),t("div",{staticClass:"text-muted mt-1"},[t("small",[t("i18next",{attrs:{translation:e.$t("Archived printers are not counted toward your subscription plan. You won't see them in the app either. Go to {localizedDom} to find all archived printers and/or un-archive them.")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("a",{attrs:{href:"/ent/printers/archived/"}},[e._v(e._s(e.$t("this page")))])]},proxy:!0}],null,!1,2102701858)})],1)])]):e._e(),t("div",{staticClass:"mt-4"},[t("button",{staticClass:"btn btn-outline-danger",on:{click:e.deletePrinter}},[e._v(" "+e._s(e.$t("Delete Printer"))+" ")]),t("div",{staticClass:"text-muted mt-1"},[t("small",[e._v(e._s(e.$t("Bye-bye printer.")))])])])])]):t("loading-placeholder")],1)],1)],1)]},proxy:!0}])})},Al=[],$l=i("4971"),Ol=i.n($l),Nl=i("847e"),Ll=function(){var e=this,t=e._self._c;return t("div",{staticClass:"input-group input-group-sm input-wrapper"},[t("div",{staticClass:"input-group-prepend"},[t("button",{staticClass:"btn btn-outline-secondary control-button",attrs:{type:"button",disabled:e.disable},on:{click:function(t){e.inputValue=e.inputValue>0?Math.round(10*(e.inputValue-e.step))/10:0,e.$emit("input",e.inputValue)}}},[e._v(" ↓ ")])]),t("input",{staticClass:"form-control text-center field_required",style:{opacity:e.disable?.3:1},attrs:{type:"text",disabled:"","aria-describedby":"basic-addon1"},domProps:{value:e.inputValue+" "+e.unit}}),t("div",{staticClass:"input-group-append"},[t("button",{staticClass:"btn btn-outline-secondary control-button",attrs:{type:"button",disabled:e.disable},on:{click:function(t){e.inputValue=Math.round(10*(e.inputValue+e.step))/10,e.$emit("input",e.inputValue)}}},[e._v(" ↑ ")])])])},Ml=[],El={name:"NumberInput",props:{value:{type:Number,default:0},step:{type:Number,default:.5},disable:{type:Boolean,default:!1},unit:{type:String,default:"mm"}},data(){return{inputValue:this.value}},watch:{value(e){this.inputValue=e}}},Rl=El,zl=(i("587d"),Object(N["a"])(Rl,Ll,Ml,!1,null,"66233dc0",null)),Bl=zl.exports,Ul={components:{SavingAnimation:Nl["a"],NumberInput:Bl,PageLayout:Ft,VueSlider:Ol.a},data(){return{isEnt:!1,printer:null,printerId:"",saving:{},errorMessages:{},delayedSubmit:{name:{delay:1e3,timeoutId:null},retract_on_pause:{delay:1e3,timeoutId:null},lift_z_on_pause:{delay:1e3,timeoutId:null},min_timelapse_secs_on_finish:{delay:1e3,timeoutId:null},min_timelapse_secs_on_cancel:{delay:1e3,timeoutId:null}}}},computed:{retractFilamentByEnabled:{get(){return this.printer.retract_on_pause>0},set(e){this.printer.retract_on_pause=e?6.5:0}},retractOnPause:{get(){return this.printer?this.printer.retract_on_pause:void 0},set(e){this.printer&&(this.printer.retract_on_pause=e)}},liftExtruderByEnabled:{get(){return this.printer.lift_z_on_pause>0},set(e){this.printer.lift_z_on_pause=e?2.5:0}},liftExtruderBy:{get(){return this.printer?this.printer.lift_z_on_pause:void 0},set(e){this.printer&&(this.printer.lift_z_on_pause=e)}},timelapseOnFinishEnabled:{get(){return this.printer.min_timelapse_secs_on_finish>=0},set(e){this.printer.min_timelapse_secs_on_finish=e?600:-1}},minTimelapseMinutesOnFinish:{get(){return this.printer?this.printer.min_timelapse_secs_on_finish/60:void 0},set(e){this.printer&&(this.printer.min_timelapse_secs_on_finish=60*e)}},timelapseOnCancelEnabled:{get(){return this.printer.min_timelapse_secs_on_cancel>=0},set(e){this.printer.min_timelapse_secs_on_cancel=e?300:-1}},minTimelapseMinutesOnCancel:{get(){return this.printer?this.printer.min_timelapse_secs_on_cancel/60:void 0},set(e){this.printer&&(this.printer.min_timelapse_secs_on_cancel=60*e)}},printerWizardUrl(){return le["a"].printerWizard(this.printer.id)},printerName:{get:function(){return this.printer?this.printer.name:void 0},set:function(e){this.printer.name=e}},detectiveSensitivity:{get(){return this.printer.detective_sensitivity},set(e){this.printer.detective_sensitivity=e,this.updateSetting("detective_sensitivity")}}},watch:{printerName:function(e,t){void 0!==t&&this.updateSetting("name")},retractOnPause:function(e,t){void 0!==t&&this.changeRetractOnPause(e)},liftExtruderBy:function(e,t){void 0!==t&&this.changeLiftExtruderBy(e)},minTimelapseMinutesOnFinish:function(e,t){void 0!==t&&this.updateSetting("min_timelapse_secs_on_finish")},minTimelapseMinutesOnCancel:function(e,t){void 0!==t&&this.updateSetting("min_timelapse_secs_on_cancel")}},created(){const{IS_ENT:e}=Object(Q["d"])();this.isEnt=!!e,this.printerId=it()(window.location.pathname,"/").slice(-2,-1).pop(),this.fetchPrinter()},methods:{fetchPrinter(){return oe["a"].get(le["a"].printer(this.printerId)).then(e=>{this.printer=Ae(e.data,this.printer)}).catch(e=>{this.errorDialog(e,""+this.$i18next.t("Printer not found"))})},patchPrinter(e,t){const i=this.getSettingsItemInput(e,t);return this.setSavingStatus(i,!0),oe["a"].patch(le["a"].printer(this.printerId),{[e]:t}).catch(e=>{if(e.response&&e.response.data&&"object"===typeof e.response.data)if(e.response.data.non_field_errors)this.errorAlert(e.response.data.non_field_errors);else for(const t in e.response.data)this.errorMessages[i]=e.response.data[t];else this.errorAlert()}).then(()=>{this.setSavingStatus(i,!1)})},errorAlert(){this.$swal.Toast.fire({icon:"error",html:`
${this.$i18next.t("Can not update printer settings.")}
`})},updateSetting(e){if(e in this.delayedSubmit){const t=this.delayedSubmit[e];return t["timeoutId"]&&clearTimeout(t["timeoutId"]),void(this.delayedSubmit[e]["timeoutId"]=setTimeout(()=>{this.patchPrinter(e,this.printer[e])},t["delay"]))}this.patchPrinter(e,this.printer[e])},sensitivityTooltipFormatter:function(e){return e<.95?"Low":e>1.05?"High":"Medium"},deletePrinter(e){this.$swal.Prompt.fire({title:""+this.$i18next.t("Are you sure?"),text:""+this.$i18next.t("Delete {name} printer? This action can not be undone.",{name:this.printer.name}),showCancelButton:!0,confirmButtonText:""+this.$i18next.t("Yes"),cancelButtonText:""+this.$i18next.t("No")}).then(e=>{e.isConfirmed&&oe["a"].delete(le["a"].printer(this.printerId)+"?with_archived=true").then(()=>{window.location.href="/printers/"})})},archivePrinter(){this.$swal.Confirm.fire().then(e=>{e.isConfirmed&&oe["a"].post(le["a"].printerAction(this.printerId,"/archive/")).then(()=>{this.$swal.Prompt.fire({title:""+this.$i18next.t("Printer archived"),html:`

${this.$i18next.t("{name} is archived.",{name:this.printer.name})}

${this.$i18next.t("You can find it on")} ${this.$i18next.t("this page")} ${this.$i18next.t("and un-archive it")}.

`,confirmButtonText:""+this.$i18next.t("Go to the printer page")}).then(()=>{window.location.href="/printers/"})})})},getSettingsItemInput:function(e,t=""){switch(e){case"action_on_failure":return`${e}_${t}`;default:return""+e}},setSavingStatus(e,t){t&&delete this.errorMessages[e],this.$set(this.saving,e,t)},changeRetractOnPause(e){this.printer.retract_on_pause=e,this.updateSetting("retract_on_pause")},changeLiftExtruderBy(e){this.printer.lift_z_on_pause=e,this.updateSetting("lift_z_on_pause")}}},jl=Ul,Wl=(i("906f"),Object(N["a"])(jl,Fl,Al,!1,null,"3d5060ec",null)),Hl=Wl.exports,Vl=function(){var e=this,t=e._self._c;return t("page-layout",{scopedSlots:e._u([{key:"content",fn:function(){return[t("b-container",[t("b-row",[t("b-col",[t("div",{staticClass:"form-container full-on-mobile border-radius-lg"},[t("div",{staticClass:"row"},[t("h3",{staticClass:"col-sm-12 text-center p-3 wizard-page-title-font"},[e._v(e._s(e.$t("Link Printer")))])]),t("b-row",{staticClass:"center mt-3 mb-5"},[t("div",{staticClass:"col-sm-12 col-lg-8"},[t("PrinterProgress",{attrs:{step:2}})],1)]),t("b-row",{staticClass:"center py-5"},[t("div",{staticClass:"col-sm-12 col-lg-8"},[t("loading",{attrs:{active:null!=e.chosenDeviceId,"can-cancel":!1}}),e.discoveryEnabled?t("div",{staticClass:"discover"},[t("div",{staticClass:"discover-body"},[e.canStartLinking?t("div",[t("div",{staticClass:"lead my-3"},[t("div",{staticClass:"spinner-border",attrs:{role:"status"}},[t("span",{staticClass:"sr-only"})]),t("span",{staticClass:"sr-only"}),e._v(" "+e._s(e.$t("Scanning..., {name} printer(s) found on your local network:",{name:e.discoveredPrinters.length}))+" ")]),e._l(e.discoveredPrinters,(function(i){return t("discovered-printer",{key:i.device_id,attrs:{"discovered-printer":i},on:{"auto-link-printer":e.autoLinkPrinter}})}))],2):t("div",{staticStyle:{"text-align":"center"}},[t("div",{staticClass:"spinner-border big",attrs:{role:"status"}},[t("span",{staticClass:"sr-only"})]),t("div",{staticClass:"lead"},[e._v(e._s(e.$t("Scanning...")))])]),e.discoveryCount>=2?t("div",{staticClass:"text-muted pt-4"},[t("div",[e._v(e._s(e.$t("To link your printer, please make sure:")))]),t("ul",[t("li",[e._v(e._s(e.$t("The printer is powered on. If you are using an external SBC such as a Raspberry Pi, make sure it's powered on as well.")))]),t("li",[e._v(" "+e._s(e.$t("The printer or SBC is connected to the same local network as your phone/computer."))+" ")]),e.targetOctoPrint?t("li",[e._v(e._s(e.$t("{brandName} for OctoPrint is 1.8.0 or above.",{brandName:e.$syndicateText.brandName})))]):e._e()])]):e._e(),t("div",{staticClass:"d-flex flex-column align-items-center"},[t("div",{staticClass:"mt-5 mb-3"},[e._v(" "+e._s(e.$t("Can’t find the printer you want to link? Switch to Manual Linking instead."))+" ")]),t("button",{staticClass:"btn btn-outline-secondary",attrs:{type:"button"},on:{click:function(t){e.discoveryEnabled=!1}}},[e._v(" "+e._s(e.$t("Switch to Manual Linking"))+" ")])])])]):e.useLegacyVerificationCode?t("div",{staticClass:"container"},[t("div",{staticClass:"row justify-content-center pb-3"},[t("div",{staticClass:"col-sm-12 col-lg-8 d-flex flex-column align-items-center"},[t("input",{ref:"code",staticClass:"code-btn",attrs:{disabled:""},domProps:{value:""+(e.verificationCode&&e.verificationCode.code)}}),t("small",{staticClass:"mx-auto py-1",class:{"text-muted":!e.copied}},[e._v(e._s(e.copied?e.$t("Code copied to system clipboard"):e.$t("Ctrl-C/Cmd-C to copy the code")))]),t("div",{staticClass:"mx-auto pt-1 pb-4"},[t("span",{staticClass:"text-muted"},[e._v(e._s(e.$t("Code will expire in ")))]),e._v(e._s(e.timeToExpire)+" ")]),t("div",{staticClass:"lead"},[t("i18next",{attrs:{translation:e.$t("Enter the {localizedDom}")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("strong",[e._v(e._s(e.$t("6-digit verification code")))])]},proxy:!0}])})],1)])]),t("div",{staticClass:"row justify-content-center"},[t("div",{staticClass:"col-sm-12 col-lg-8 img-container"},[e.targetOctoPrint?t("img",{staticClass:"screenshot",attrs:{src:i("f1f6")},on:{click:function(t){return e.zoomIn(t)}}}):e._e(),e.targetKlipper?t("img",{staticClass:"screenshot",attrs:{src:i("1c3a")},on:{click:function(t){return e.zoomIn(t)}}}):e._e(),t("div",{staticClass:"helper mx-auto py-2"},[t("a",{staticClass:"link font-weight-bold",on:{click:e.showVerificationCodeHelpModal}},[e._v(e._s(e.$t("Can't find the page to enter the 6-digit code?")))])])])])]):t("div",{staticClass:"container pt-5"},[t("div",{staticClass:"row justify-content-center pb-1"},[t("div",{staticClass:"col-sm-12 col-md-8 col-lg-6 d-flex flex-column align-items-center"},[t("div",{staticClass:"d-flex align-items-center"},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.oneTimePasscode,expression:"oneTimePasscode"}],staticClass:"form-control code-btn",attrs:{type:"text","aria-label":"One-time Passcode",disabled:"inprogress"===e.oneTimePasscodeStatus},domProps:{value:e.oneTimePasscode},on:{input:[function(t){t.target.composing||(e.oneTimePasscode=t.target.value)},e.oneTimePasscodeChanged]}}),"inprogress"===e.oneTimePasscodeStatus?t("div",{staticClass:"spinner-border text-primary ml-2",attrs:{role:"status"}},[t("span",{staticClass:"sr-only"},[e._v("Loading...")])]):e._e()])])]),t("div",{staticClass:"row justify-content-center pb-3"},["failed"===e.oneTimePasscodeStatus?t("div",{staticClass:"text-danger col-sm-12 d-flex flex-column align-items-center wizard-secondary-text-font text-secondary"},[e._v(" "+e._s(e.$t("Invalid code. Is it expired?"))+" ")]):t("div",{staticClass:"col-sm-12 d-flex flex-column align-items-center wizard-secondary-text-font text-secondary"},[e._v(" "+e._s(e.$t("Enter the One-time Passcode"))+" ")])]),t("div",{staticClass:"mt-4"},[t("muted-alert",{staticClass:"muted-alert wizard-secondary-text-font text-secondary"},[t("i18next",{attrs:{translation:e.$t("If you using Obico for OctoPrint older than 2.5.0, or Obico for Klipper older than 1.6.0, switch to {localizedDom}.")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("a",{staticClass:"link",on:{click:function(t){e.useLegacyVerificationCode=!0}}},[e._v(e._s(e.$t("6-digit verification code")))])]},proxy:!0}])})],1)],1)])],1)]),e.discoveryEnabled||e.useLegacyVerificationCode?e._e():t("b-row",{staticClass:"mt-3 mb-5"},[t("div",{staticClass:"col-md-4 p-4 method-block"},[t("h4",{staticClass:"text-center font-weight-bold wizard-page-title-font"},[e._v(e._s(e.$t("Touch Screen")))]),t("div",{staticClass:"image-block"},[t("img",{staticStyle:{"max-width":"80%"},attrs:{src:i("0886"),alt:""}})]),t("ol",[t("li",[e._v(e._s(e.$t("Check to see if your printer already has Obico installed your printer screen.")))]),t("li",[e._v(e._s(e.$t("Navigate to the settings menu on the LCD screen of your printer.")))]),t("li",[e._v(e._s(e.$t("Find the “Link Obico” menu item and tap it to open the connection screen.")))])])]),t("div",{staticClass:"col-md-4 p-4 method-block"},[t("h4",{staticClass:"text-center font-weight-bold wizard-page-title-font"},[e._v(e._s(e.$t("LCD Screen ")))]),t("div",{staticClass:"image-block"},[t("img",{staticStyle:{"max-width":"80%"},attrs:{src:i("c914"),alt:""}})]),t("ol",[t("li",[e._v(e._s(e.$t("Check to see if your printer already has Obico Easy Link installed on the LCD menu.")))]),t("li",[e._v(e._s(e.$t("Navigate to the settings menu on the LCD screen of your printer.")))]),t("li",[e._v(e._s(e.$t("Find the “Link Obico” menu item.")))])])]),t("div",{staticClass:"col-md-4 p-4 method-block"},[t("h4",{staticClass:"text-center font-weight-bold wizard-page-title-font"},[e._v(e._s(e.$t("Install Via SSH")))]),t("div",{staticClass:"image-block"},[t("img",{staticStyle:{"max-width":"80%"},attrs:{src:i("777a"),alt:""}})]),t("ol",[t("li",[e._v(e._s(e.$t("If you can't find Obico Easy Link, you will need to SSH to your printer to install Obico. You will need to find a guide that works for your printer.")))])]),t("div",[t("a",{attrs:{target:"_blank",href:e.getDocUrl("/user-guides/klipper-setup/")}},[e._v(e._s(e.$t("Show me how")))])])])]),t("div",{staticClass:"d-flex justify-content-between align-items-center button-wrap"},[t("div",{staticClass:"back",on:{click:function(t){return e.$router.back()}}},[t("i",{staticClass:"fas fa-chevron-left"}),t("span",[e._v(" "+e._s(e.$t("Back")))])])]),t("div",{staticClass:"text-center mt-5 wizard-default-font"},[t("i18next",{attrs:{translation:e.$t("Need help? Check out the {localizedDom}")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("a",{attrs:{target:"_blank",href:e.targetKlipper?e.getDocUrl("/user-guides/klipper-setup/"):e.getDocUrl("/user-guides/octoprint-plugin-setup/")}},[e._v(e._s(e.$t("step-by-step set up guide"))+".")])]},proxy:!0}])})],1)],1)])],1)],1)]},proxy:!0}])})},Yl=[],Gl=i("ccf6"),Kl=i("767e"),ql=i.n(Kl),Jl=function(){var e=this,t=e._self._c;return t("div",{staticClass:"discovered-printers mt-4"},[t("div",{staticClass:"flex-grow-0 pt-1 mr-2"},[e.discoveredPrinter.agent.toLowerCase().includes("octoprint")?t("img",{staticClass:"logo-img",attrs:{src:i("2e7f")}}):e.discoveredPrinter.agent.toLowerCase().includes("klipper")?t("img",{staticClass:"logo-img",attrs:{src:i("886f")}}):t("img",{staticClass:"logo-img",attrs:{src:i("9605")}})]),t("div",{staticClass:"row flex-grow-1 ml-1 link-action"},[t("div",{staticClass:"col-sm-12 col-md-10 pb-2"},[e.discoveredPrinter.rpi_model?t("div",[e._v(" "+e._s(e.discoveredPrinter.rpi_model)+" ")]):e._e(),e.discoveredPrinter.machine_type?t("div",[e._v(" "+e._s(e.discoveredPrinter.machine_type)+" ")]):e._e(),e.discoveredPrinter.agent?t("div",{staticClass:"text-muted small"},[e._v(" "+e._s(e.$t("Platform"))+": "+e._s(e.discoveredPrinter.agent)+" ")]):e._e(),e.discoveredPrinter.host_or_ip?t("div",{staticClass:"text-muted small"},[e._v(" "+e._s(e.$t("IP address"))+": "+e._s(e.discoveredPrinter.host_or_ip)+" ")]):e._e(),e.discoveredPrinter.hostname?t("div",{staticClass:"text-muted small"},[e._v(" "+e._s(e.$t("Hostname"))+": "+e._s(e.discoveredPrinter.hostname)+" ")]):e._e(),e.discoveredPrinter.octopi_version?t("div",{staticClass:"text-muted small"},[e._v(" "+e._s(e.$t("OctoPi"))+": "+e._s(e.discoveredPrinter.octopi_version)+" ")]):e._e(),!e.discoveredPrinter.octopi_version&&e.discoveredPrinter.os?t("div",{staticClass:"text-muted small"},[e._v(" "+e._s(e.$t("OS"))+": "+e._s(e.discoveredPrinter.os)+" ")]):e._e()]),t("div",{staticClass:"col-sm-12 col-md-2 center px-3"},[t("button",{staticClass:"btn btn-block btn-primary",on:{click:function(t){return e.$emit("auto-link-printer",{...e.discoveredPrinter})}}},[e._v(" "+e._s(e.$t("Link"))+" ")])])])])},Zl=[],Ql={name:"DiscoveredPrinter",props:{discoveredPrinter:{type:Object,required:!0}}},Xl=Ql,ec=(i("262b"),Object(N["a"])(Xl,Jl,Zl,!1,null,null,null)),tc=ec.exports,ic=function(){var e=this,t=e._self._c;return t("div",{staticClass:"px-2"},[t("div",{staticClass:"title-pic"},[t("img",{staticClass:"pic-item",attrs:{src:i("4de7")}}),e._m(0),t("img",{staticClass:"pic-item",attrs:{src:i("67e8")}})]),t("div",{staticClass:"my-4"},[t("p",[e._v(e._s(e.$t("The {brandName} app needs to make sure you have access to selected printer.",{brandName:e.$syndicateText.brandName})))]),t("p",[e._v(" "+e._s(e.$t("When you press 'Link Now' button below, a new browser window will pop up to finish a handshake with this printer."))+" ")])]),t("div",[t("div",{staticClass:"row my-2"},[t("div",{staticClass:"col-sm-6"},[t("button",{staticClass:"btn btn-block btn-primary mt-2",attrs:{disabled:e.linking},on:{click:e.autoLinkPrinter}},[e.linking?t("b-spinner",{attrs:{small:""}}):e._e(),e._v(e._s(e.$t("Link Now"))+" "),t("i",{staticClass:"fas fa-external-link-alt"})],1)]),t("div",{staticClass:"col-sm-6"},[t("button",{staticClass:"btn btn-block btn-secondary mt-2",on:{click:e.cancel}},[e._v(e._s(e.$t("Cancel")))])])])])])},nc=[function(){var e=this,t=e._self._c;return t("div",{staticClass:"pic-item"},[t("i",{staticClass:"fas fa-ellipsis-h fa-2x"}),t("i",{staticClass:"fas fa-ellipsis-h fa-2x"})])}],ac={name:"AutoLinkPopup",props:{discoveredPrinter:{type:Object,required:!0},switchToManualLinking:{type:Function,required:!0},secretObtained:{type:Function,required:!0}},data(){return{linking:!1}},mounted(){window.addEventListener("message",this.gotWindowMessage)},beforeDestroy(){window.removeEventListener("message",this.gotWindowMessage)},methods:{autoLinkPrinter(){if(this.linking=!0,this.gotSecret=null,this.obicoDiscoveryPopup=window.open(this.destUrl(),"_blank","toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no,width=500,height=100"),!this.obicoDiscoveryPopup)return this.cancel(),void this.$swal.Prompt.fire({icon:"error",title:""+this.$i18next.t("Oops!"),html:`

${this.$i18next.t("Handshake failed because the pop-up was blcoked.")}

${this.$i18next.t("Please unblock the pop-up in your browser and try it again.")}

`,confirmButtonText:""+this.$i18next.t("Okay!"),showCancelButton:!0,cancelButtonText:""+this.$i18next.t("Switch to Manual Setup")}).then(e=>{e.isDismissed&&"cancel"===e.dismiss&&this.switchToManualLinking()});setTimeout(()=>{this.closeDiscoveryPopup(),this.gotSecret||(this.cancel(),this.$swal.Prompt.fire({icon:"error",title:""+this.$i18next.t("Handshake failed!"),html:`

${this.$i18next.t("Please make sure")}:

\n
    \n
  • ${this.$i18next.t("The OctoPrint you want to link is at {host}:{port}, and it's connected to the same local network as your computer/phone.",{host:this.discoveredPrinter.host_or_ip,port:this.discoveredPrinter.port})}
  • \n
  • ${this.$i18next.t("The version of plugin is 1.8.0 or above.")}
  • \n
`,confirmButtonText:""+this.$i18next.t("Okay!"),showCancelButton:!0,cancelButtonText:""+this.$i18next.t("Switch to Manual Setup")}).then(e=>{e.isDismissed&&"cancel"===e.dismiss&&this.switchToManualLinking()}))},5e3)},destUrl(){const e=this.discoveredPrinter.agent?"obico":"thespaghettidetective";return`http://${this.discoveredPrinter.host_or_ip}:${this.discoveredPrinter.port||"80"}/plugin/${e}/grab-discovery-secret?device_id=${this.discoveredPrinter.device_id}`},switchToManual(){this.cancel(),this.switchToManualLinking()},closeDiscoveryPopup(){this.obicoDiscoveryPopup&&(this.obicoDiscoveryPopup.close(),this.obicoDiscoveryPopup=null)},gotWindowMessage(e){const t={...(null===e||void 0===e?void 0:e.data)||{}};!this.gotSecret&&this.discoveredPrinter.device_id&&t.device_secret?(this.gotSecret=t,this.secretObtained(this.discoveredPrinter.device_id,t.device_secret),this.cancel()):console.log("Ignored message",e)},cancel(){this.closeDiscoveryPopup(),this.$swal.close()}}},rc=ac,sc=(i("b223"),Object(N["a"])(rc,ic,nc,!1,null,"18c57e6c",null)),oc=sc.exports,lc=function(){var e=this,t=e._self._c;return t("div",{staticClass:"printer-progress"},[t("div",{staticClass:"circle",class:{active:0===e.step,done:e.step>0}},[t("font-awesome-icon",{attrs:{icon:"fa-check"}}),t("p",[e._v(" "+e._s(e.$t("Device Selection"))+" ")])],1),t("div",{staticClass:"line",class:{active:e.step>=1}}),t("div",{staticClass:"circle",class:{active:1===e.step,done:e.step>1}},[t("font-awesome-icon",{attrs:{icon:["fas","check"]}}),t("p",[e._v(" "+e._s(e.$t("Install Obico"))+" ")])],1),t("div",{staticClass:"line",class:{active:2===e.step}}),t("div",{staticClass:"circle",class:{active:2===e.step,done:3===e.step}},[t("font-awesome-icon",{attrs:{icon:["fas","check"]}}),t("p",[e._v(" "+e._s(e.$t("Link Printer"))+" ")])],1)])},cc=[],dc={components:{},props:{step:{default:0,type:Number}},data(){return{}},computed:{},created(){},mounted(){},watch:{},methods:{}},uc=dc,pc=(i("7c3e"),Object(N["a"])(uc,lc,cc,!1,null,"09cdf468",null)),hc=pc.exports,mc={components:{Loading:gt.a,PageLayout:Ft,DiscoveredPrinter:tc,PrinterProgress:hc,MutedAlert:_n},data(){return{theme:ql.a,verificationCode:null,verifiedPrinter:null,copied:!1,oneTimePasscode:"",oneTimePasscodeStatus:null,useLegacyVerificationCode:!1,discoveryEnabled:!0,discoveryCount:0,discoveredPrinters:[],chosenDeviceId:null,gotSecret:null,obicoDiscoveryPopup:null,apiCallIntervalId:null}},computed:{printerIdToLink(){return this.$route.query.printerId},title(){return this.printerIdToLink?"Re-Link Printer":"Link Printer"},expiryMoment(){return this.verificationCode?H()(this.verificationCode.expired_at):null},timeToExpire(){return this.expiryMoment?H.a.duration(this.expiryMoment.diff(H()())).humanize():"-"},canStartLinking(){var e,t;return(null===(e=this.verificationCode)||void 0===e?void 0:e.code)&&(null===(t=this.discoveredPrinters)||void 0===t?void 0:t.length)>0},targetOctoPrint(){return"octoprint"===this.$route.params.targetPlatform},targetKlipper(){return this.$route.params.targetPlatform.startsWith("klipper-")}},created(){this.targetOctoPrint&&(this.useLegacyVerificationCode=!0),this.getVerificationCode(),this.discoverPrinter()},methods:{oneTimePasscodeChanged(){this.oneTimePasscode=this.oneTimePasscode.toLowerCase(),5===this.oneTimePasscode.length&&(this.oneTimePasscodeStatus="inprogress",oe["a"].post(le["a"].oneTimePasscodes(),{one_time_passcode:this.oneTimePasscode,verification_code:this.verificationCode.code}).then(e=>{200!==e.status&&(this.oneTimePasscodeStatus="failed")}).catch(e=>{this.oneTimePasscodeStatus="failed"}))},verificationCodeUrl(){const e=le["a"].verificationCode();return this.verificationCode?this.verificationCode.verified_at||H()().isBefore(this.expiryMoment)?`${e}${this.verificationCode.id}/`:e:this.printerIdToLink?`${e}?printer_id=${this.printerIdToLink}`:e},callVerificationCodeApi(){oe["a"].get(this.verificationCodeUrl()).then(e=>{e.data&&(this.verificationCode=e.data,this.verificationCode.verified_at&&(this.verifiedPrinter=e.data.printer,Gl["onPrinterLinked"]&&Object(Gl["onPrinterLinked"])(),this.$router.push({path:`/printers/wizard/success/${this.verifiedPrinter.id}/`,query:{...this.$route.query}})))})},getVerificationCode(){this.callVerificationCodeApi(),this.apiCallIntervalId=setInterval(()=>{this.verifiedPrinter?clearInterval(this.apiCallIntervalId):this.callVerificationCodeApi()},5e3)},showVerificationCodeHelpModal(){let e=`

${this.$i18next.t("The 6-digit code needs to be entered in the Obico plugin in OctoPrint. There are a few reasons why you can't find this page:",{brandName:this.$syndicateText.brandName})}

\n

    \n
  • ${this.$i18next.t("You don't have the plugin installed or you haven't restarted OctoPrint after installation. Click")} here ${this.$i18next.t("to walk through the process again.")}
  • \n
  • ${this.$i18next.t("The installed plugin is on a version earlier than 1.5.0. You need to upgrade the plugin to")} 1.5.0 ${this.$i18next.t("or later.")}
  • \n
  • ${this.$i18next.t("Still no dice? Check out the step-by-step")} ${this.$i18next.t("set up guide")}.
  • \n

`;this.targetOctoPrint||(e=`

${this.$i18next.t("The 6-digit code needs to be entered to the Obico for Klipper installation script.")}

\n

${this.$i18next.t("Check")} ${this.$i18next.t("for detailed instructions.")}

`),this.$swal.fire({title:""+this.$i18next.t("Can't find the page to enter the 6-digit code?"),html:e,customClass:{container:"dark-backdrop"}})},zoomIn(e){e.target.classList.toggle("zoomedIn")},callPrinterDiscoveryApi(){this.discoveryEnabled&&(this.discoveryCount+=1,oe["a"].get(le["a"].printerDiscovery()).then(e=>{this.discoveredPrinters=dt()(e.data,e=>e.device_id)}))},discoverPrinter(){this.discoveryEnabled&&!this.verifiedPrinter&&(this.callPrinterDiscoveryApi(),setTimeout(()=>{this.discoverPrinter()},5e3))},autoLinkPrinter(e){this.$swal.openModalWithComponent(oc,{discoveredPrinter:e,switchToManualLinking:()=>this.discoveryEnabled=!1,secretObtained:(e,t)=>this.secretObtained(e,t)},{title:"Browser Pop-up",showConfirmButton:!1,allowOutsideClick:!1})},secretObtained(e,t){this.chosenDeviceId=e,oe["a"].post(le["a"].printerDiscovery(),{code:this.verificationCode.code,device_id:this.chosenDeviceId,device_secret:t}),setTimeout(()=>{this.chosenDeviceId&&!this.verifiedPrinter&&(this.chosenDeviceId=null,this.$swal.Toast.fire({icon:"error",title:"Something went wrong. Switched to using 6-digit code to link OctoPrint."}),this.discoveryEnabled=!1),this.chosenDeviceId=null},2e4)}}},fc=mc,gc=(i("83d4"),i("39be"),Object(N["a"])(fc,Vl,Yl,!1,null,"47ff6d0e",null)),vc=gc.exports,bc=function(){var e=this,t=e._self._c;return t("page-layout",{scopedSlots:e._u([{key:"content",fn:function(){return[t("b-container",[t("b-row",[t("b-col",[t("div",{staticClass:"form-container full-on-mobile border-radius-lg"},[e.printerIdToLink?t("b-row",[t("div",{staticClass:"col-sm-12 col-lg-8"},[t("div",{staticClass:"text-warning"},[t("i18next",{attrs:{translation:e.$t("Warning: Re-Linking OctoPrint should be your last resort to solve issues. Please make sure you have exhausted all options on {localizedDom}.")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("a",{attrs:{href:"https://www.obico.io/help/"}},[e._v(e._s(e.$t("{brandName}'s help website",{brandName:e.$syndicateText.brandName})))])]},proxy:!0}],null,!1,3291268443)})],1)])]):e._e(),t("div",{staticClass:"row"},[t("h1",{staticClass:"col-sm-12 text-center p-3 wizard-page-title-font"},[e._v(e._s(e.$t("Device Selection")))])]),t("b-row",{staticClass:"center mt-3 mb-5 pb-5"},[t("div",{staticClass:"col-sm-12 col-lg-8"},[t("PrinterProgress",{attrs:{step:0}})],1)]),e.devicesWithObicoPreInstalled.length>0?t("div",{staticClass:"row"},[t("div",{staticClass:"col-sm-12 col-lg-6 py-4"},[t("h4",{staticClass:"py-3"},[e._v(e._s(e.$t("Devices with Obico Pre-installed")))]),t("div",{staticClass:"printer-list"},e._l(e.devicesWithObicoPreInstalled,(function(i){return t("div",{key:i.id,staticClass:"printer-item",on:{click:function(t){return e.targetPlatformClicked("klipper-obico-enabled",i)}}},[t("div",{staticClass:"img-wrap clickable"},[t("img",{attrs:{src:i.image_url,alt:""}})]),t("div",{staticClass:"item-label"},[e._v(e._s(i.brand))]),t("h5",{staticClass:"item-label"},[t("b",[e._v(e._s(i.model))])])])})),0)])]):e._e(),t("div",{staticClass:"wizard-card-list py-4"},[t("div",{staticClass:"wizard-card-horizontal",on:{click:function(t){return e.targetPlatformClicked("klipper-preinstalled")}}},[t("div",{staticClass:"img-wrap"},[t("img",{attrs:{src:i("886f")}})]),t("div",{staticClass:"text-wrap"},[t("h3",{staticClass:"wizard-default-font"},[e._v(e._s(e.$t("Pre-Installed Klipper Printer")))]),t("h4",{staticClass:"wizard-secondary-text-font text-secondary"},[e._v(e._s(e.$t("Creality K1, Sonic Pad, Sovol SV07, Kingroon KLP1, Elegoo Neptune 4, etc...")))])])]),t("div",{staticClass:"wizard-card-horizontal",on:{click:function(t){return e.targetPlatformClicked("klipper-generic")}}},[t("div",{staticClass:"img-wrap"},[t("img",{attrs:{src:i("886f")}}),t("div",{staticClass:"img-tip"},[t("img",{attrs:{src:i("1f6a")}}),t("img",{attrs:{src:i("a085")}})])]),t("div",{staticClass:"text-wrap"},[t("h3",{staticClass:"wizard-default-font"},[e._v(e._s(e.$t("Generic Klipper - Self Installed")))]),t("h4",{staticClass:"wizard-secondary-text-font text-secondary"},[e._v(e._s(e.$t("If you installed Klipper yourself on a Raspberry Pi or other linux device. E.g., Voron, RatRig")))])])]),t("div",{staticClass:"wizard-card-horizontal",on:{click:function(t){return e.targetPlatformClicked("octoprint")}}},[t("div",{staticClass:"img-wrap"},[t("img",{attrs:{src:i("2e7f")}})]),t("div",{staticClass:"text-wrap"},[t("h3",{staticClass:"wizard-default-font"},[e._v("OctoPrint")]),t("h4",{staticClass:"wizard-secondary-text-font text-secondary"},[e._v(e._s(e.$t("Including OctoPrint for Klipper such as OctoKlipper.")))])])])])],1)])],1)],1)]},proxy:!0}])})},yc=[],wc={components:{PageLayout:Ft,PrinterProgress:hc},data(){return{devicesWithObicoPreInstalled:[]}},computed:{printerIdToLink(){return this.$route.query.printerId}},async created(){const e=await fetch("https://storage.googleapis.com/public-versioned/devices_with_obico_preinstalled.json?ts="+Date.now());this.devicesWithObicoPreInstalled=await e.json()},methods:{targetPlatformClicked(e,t){this.$router.push({path:`/printers/wizard/guide/${e}/`,query:{...this.$route.query,printerItem:t?JSON.stringify(t):void 0}})}}},_c=wc,Cc=(i("f18e"),Object(N["a"])(_c,bc,yc,!1,null,"292aad3e",null)),kc=Cc.exports,Pc=function(){var e=this,t=e._self._c;return t("page-layout",{scopedSlots:e._u([{key:"content",fn:function(){return[t("b-container",[t("b-row",[t("b-col",[t("div",{staticClass:"form-container full-on-mobile border-radius-lg"},[t("div",{staticClass:"row"},[t("h1",{staticClass:"col-sm-12 text-center p-3 wizard-page-title-font"},[e._v(e._s(e.$t("Install Obico")))])]),t("b-row",{staticClass:"center mt-3 mb-5 pb-5"},[t("div",{staticClass:"col-sm-12 col-lg-8"},[t("PrinterProgress",{attrs:{step:1}})],1)]),t("div",[e.targetKlipperPreInstall?t("div",{staticClass:"klipper-pre-install-wrap"},[t("img",{attrs:{src:i("777a"),alt:""}}),t("div",{staticClass:"text-wrap"},[t("h3",[e._v(e._s(e.$t("Install Obico for Klipper")))]),t("ol",{staticClass:"secondary-font"},[t("li",[t("a",{attrs:{href:e.getDocUrl("/user-guides/klipper-setup/"),target:"_blank"}},[e._v(e._s(e.$t("Find the Guide for Your Printer to install Obico for Klipper.")))])]),t("li",[e._v(e._s(e.$t("SSH to your device.")))]),t("li",[e._v(e._s(e.$t("Enter the installation commands.")))]),t("li",[e._v(e._s(e.$t("Alternatively, you can use KIAUH to install Obico.")))]),t("li",[e._v(e._s(e.$t('Upon "Scanning the networking...", come back here and click "Next".')))])])])]):e._e(),e.targetOctoPrint?t("div",{staticClass:"kilpper-pre-install-wrap"},[t("img",{staticClass:"octoprint-image",attrs:{src:i("2814"),alt:""}}),t("div",{staticClass:"text-wrap"},[t("h3",[e._v(e._s(e.$t("Install Obico for OctoPrint")))]),t("ol",{staticClass:"secondary-font"},[t("li",[e._v(e._s(e.$t("Open OctoPrint in another browser tab.")))]),t("li",[e._v(" "+e._s(e.$t("Select"))+" "),t("em",[e._v('"'+e._s(e.$t("OctoPrint settings menu → Plugin Manager → Get More..."))+'"')]),e._v(". ")]),t("li",[e._v(e._s(e.$t("Enter '{brandName}' to locate the plugin. Click",{brandName:e.$syndicateText.brandName}))+" "),t("em",[e._v('"'+e._s(e.$t("Install"))+'"')]),e._v(".")]),t("li",[e._v(e._s(e.$t("Restart OctoPrint when prompted.")))])])])]):e._e()]),e.targetKlipperGeneric?t("div",{staticClass:"kilpper-pre-install-wrap"},[t("img",{attrs:{src:i("886f"),alt:""}}),t("div",{staticClass:"text-wrap"},[t("h3",[e._v(e._s(e.$t("Install Obico for Klipper")))]),t("ol",{staticClass:"secondary-font"},[t("li",[e._v(e._s(e.$t("SSH to the Raspberry Pi (or other SBC) your Klipper runs on.")))]),t("li",[t("div",[e._v(e._s(e.$t("Run:")))]),t("pre",{staticClass:"mt-2"},[e._v(" cd ~\n git clone https://github.com/TheSpaghettiDetective/moonraker-obico.git\n cd moonraker-obico\n ./install.sh\n ")])]),t("li",[e._v(e._s(e.$t("Alternatively, you can use KIAUH to install Obico.")))]),t("li",[e._v(e._s(e.$t('Upon "Scanning the networking...", come back here and click "Next".')))])])])]):e._e(),e.printerItem?t("div",{staticClass:"printer-item"},[t("div",{staticClass:"printer-left"},[t("h5",[e._v(e._s(e.printerItem.brand+" "+e.printerItem.model))]),t("div",{staticClass:"img-wrap"},[t("img",{attrs:{src:e.printerItem.image_url,alt:""}})])]),t("div",{staticClass:"line"}),t("div",{staticClass:"printer-right"},[t("ol",[t("li",[e._v(e._s(e.$t("1. Unbox and assemble the 3D printer following the manufacturers instructions")))]),t("li",[e._v(e._s(e.$t("2. Power on the 3D printer and make sure it is connected to WiFi.")))]),t("li",[e._v(e._s(e.$t("3. Tap “Next” when you are ready.")))])])])]):e._e(),t("div",{staticClass:"d-flex justify-content-between align-items-center button-wrap"},[t("div",{staticClass:"back",on:{click:function(t){return e.$router.back()}}},[t("i",{staticClass:"fas fa-chevron-left"}),t("span",[e._v(" "+e._s(e.$t("Back")))])]),t("b-button",{attrs:{variant:"primary"},on:{click:e.goForward}},[e._v(" "+e._s(e.$t("Next"))+" ")])],1),t("div",{staticClass:"text-center mt-5 wizard-default-font"},[t("i18next",{attrs:{translation:e.$t("Need help? Check out the {localizedDom}")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("a",{attrs:{target:"_blank",href:e.targetKlipper?e.getDocUrl("/user-guides/klipper-setup/"):e.getDocUrl("/user-guides/octoprint-plugin-setup/")}},[e._v(e._s(e.$t("step-by-step set up guide"))+".")])]},proxy:!0}])})],1)],1)])],1)],1)]},proxy:!0}])})},Sc=[],Dc={components:{PageLayout:Ft,PrinterProgress:hc},computed:{printerItem(){if(this.$route.query.printerItem)return JSON.parse(this.$route.query.printerItem)},targetOctoPrint(){return"octoprint"===this.$route.params.targetPlatform},targetKlipperPreInstall(){return"klipper-preinstalled"===this.$route.params.targetPlatform},targetKlipperGeneric(){return"klipper-generic"===this.$route.params.targetPlatform},targetKlipper(){return this.$route.params.targetPlatform.startsWith("klipper-")}},methods:{goForward(){this.$router.push({path:`/printers/wizard/link/${this.$route.params.targetPlatform}/`,query:{...this.$route.query}})}}},xc=Dc,Tc=(i("d205"),Object(N["a"])(xc,Pc,Sc,!1,null,"0503971a",null)),Ic=Tc.exports,Fc=function(){var e=this,t=e._self._c;return t("page-layout",{scopedSlots:e._u([{key:"content",fn:function(){return[t("div",{staticClass:"container"},[t("div",{staticClass:"row"},[t("div",{staticClass:"col-sm-12 p-4"},[t("div",{staticClass:"form-container full-on-mobile border-radius-lg"},[e.verifiedPrinter?t("div",{staticClass:"text-center py-5"},[t("svg",{staticClass:"success-checkmark"},[t("use",{attrs:{href:"#svg-success-checkmark"}})]),t("h3",{staticClass:"pb-4"},[e._v(e._s(e.$t("Successfully linked to your account!")))]),t("div",{staticClass:"col-sm-12 col-md-8 offset-md-2 col-lg-6 offset-lg-3 d-flex flex-column align-center justify-content-center"},[t("saving-animation",{attrs:{errors:e.errorMessages.printer_name,saving:e.saving.printer_name}},[t("div",{staticClass:"printer-name-input"},[t("div",{staticClass:"edit-icon"},[t("i",{staticClass:"fas fa-pen"})]),t("input",{directives:[{name:"model",rawName:"v-model",value:e.verifiedPrinter.name,expression:"verifiedPrinter.name"}],staticClass:"dark",attrs:{type:"text",placeholder:e.$t("Printer name")},domProps:{value:e.verifiedPrinter.name},on:{input:[function(t){t.target.composing||e.$set(e.verifiedPrinter,"name",t.target.value)},e.updatePrinterName]}})])]),t("div",[t("div",{staticClass:"text-muted mx-auto text-center font-weight-light"},[e._v(" "+e._s(e.$t("Give your printer a shiny name."))+" ")])])],1),t("br"),t("br"),t("div",{staticClass:"col-sm-12 col-md-8 offset-md-2 col-lg-6 offset-lg-3 d-flex flex-column align-center justify-content-center"},[e.redirectToTunnelCreation?t("div",{staticClass:"mt-4"},[t("a",{staticClass:"btn btn-primary btn-block mx-auto btn-lg",attrs:{href:e.redirectToTunnelCreation}},[e._v(e._s(e.$t("Authorize App Access")))])]):t("div",[t("div",{staticClass:"mt-4"},[t("a",{staticClass:"btn btn-primary btn-block mx-auto btn-lg",attrs:{href:"/printers/"}},[e._v(e._s(e.$t("Go Check Out Printer Feed!")))])]),t("div",{staticClass:"mt-5"},[t("a",{staticClass:"btn btn-outline-secondary btn-block mx-auto",attrs:{href:"/user_preferences/notification_twilio/"}},[e._v(e._s(e.$t("Add Phone Number")))])]),t("div",[t("div",{staticClass:"text-muted mx-auto text-center font-weight-light"},[e._v(" "+e._s(e.$t("Receive text (SMS) in case of print failures."))+" ")])]),t("div",{staticClass:"mt-4"},[t("a",{staticClass:"btn btn-outline-secondary btn-block mx-auto",attrs:{href:e.editPrinterUrl}},[e._v(e._s(e.$t("Change Printer Settings")))])]),t("div",[t("div",{staticClass:"text-muted mx-auto text-center font-weight-light"},[e._v(" "+e._s(e.$t("You can always change it later."))+" ")])])])])]):e._e()])])])])]},proxy:!0}])})},Ac=[],$c={components:{PageLayout:Ft,SavingAnimation:Nl["a"]},data(){return{verifiedPrinter:null,saving:{},errorMessages:{},delayedSubmit:{printer_name:{delay:1e3,timeoutId:null}}}},computed:{redirectToTunnelCreation(){return new URLSearchParams(window.location.search).get("redirectToTunnelCreation")},editPrinterUrl(){return`/printers/${this.verifiedPrinter.id}/`}},created(){this.fetchPrinter()},methods:{async fetchPrinter(){const e=await oe["a"].get(le["a"].printer(this.$route.params.printerId));this.verifiedPrinter=e.data},setSavingStatus(e,t){t&&delete this.errorMessages[e],this.$set(this.saving,e,t)},updatePrinterName(){if("name"in this.verifiedPrinter&&this.verifiedPrinter.name){const e=this.delayedSubmit["printer_name"];return e["timeoutId"]&&clearTimeout(e["timeoutId"]),void(this.delayedSubmit["printer_name"]["timeoutId"]=setTimeout(()=>(this.setSavingStatus("printer_name",!0),oe["a"].patch(le["a"].printer(this.verifiedPrinter.id),{name:this.verifiedPrinter.name}).then(()=>{this.setSavingStatus("printer_name",!1)}).catch(e=>{this.errorDialog(e,"Failed to update printer name")})),e["delay"]))}{const e=this.delayedSubmit["printer_name"];e["timeoutId"]&&clearTimeout(e["timeoutId"])}}}},Oc=$c,Nc=Object(N["a"])(Oc,Fc,Ac,!1,null,"d840a164",null),Lc=Nc.exports,Mc=function(){var e=this,t=e._self._c;return t("page-layout",{scopedSlots:e._u([{key:"topBarLeft",fn:function(){return[t("div",{staticClass:"printer-name truncated"},[e._v(" "+e._s(e.printer?e.printer.name:"")+" ")])]},proxy:!0},{key:"topBarRight",fn:function(){return[e.printer?t("div",{staticClass:"action-panel"},[t("a",{staticClass:"btn shadow-none action-btn icon-btn",attrs:{href:"#",title:"Share"},on:{click:function(t){return t.preventDefault(),e.onSharePrinter()}}},[t("i",{staticClass:"fas fa-share-alt fa-lg"}),t("span",{staticClass:"sr-only"},[e._v(e._s(e.$t("Share")))])]),t("a",{staticClass:"btn shadow-none action-btn icon-btn",attrs:{href:`/tunnels/${e.printer.id}/`,title:"OctoPrint Tunnel"}},[t("svg",{staticClass:"custom-svg-icon"},[t("use",{attrs:{href:"#svg-tunnel"}})]),t("span",{staticClass:"sr-only"},[e._v(e._s(e.$t("OctoPrint Tunnel")))])]),t("a",{staticClass:"btn shadow-none action-btn icon-btn",attrs:{href:`/printers/${e.printer.id}/`,title:"Configure"}},[t("i",{staticClass:"fas fa-wrench"}),t("span",{staticClass:"sr-only"},[e._v(e._s(e.$t("Configure")))])]),t("b-dropdown",{attrs:{right:"","no-caret":"","toggle-class":"icon-btn d-md-none"},scopedSlots:e._u([{key:"button-content",fn:function(){return[t("i",{staticClass:"fas fa-ellipsis-v"})]},proxy:!0}],null,!1,3452768261)},[t("cascaded-dropdown",{ref:"cascadedDropdown",attrs:{"menu-options":[{key:"share",icon:"fas fa-share-alt fa-lg",title:e.$t("Share"),callback:!0},{key:"tunnel",svgIcon:"svg-tunnel",title:e.$t("OctoPrint Tunnel"),href:`/tunnels/${e.printer.id}/`},{key:"settings",icon:"fas fa-wrench",title:e.$t("Configure"),href:`/printers/${e.printer.id}/`}]},on:{menuOptionClicked:e.onMenuOptionClicked}})],1)],1):e._e()]},proxy:!0},{key:"content",fn:function(){return[e.printer?t("div",{staticClass:"page-container",attrs:{fluid:""}},[t("div",{staticClass:"widgets-container"},[e._l(e.widgets,(function(i){return[!i.enabled||(e.printer.isOffline()||e.printer.isDisconnected())&&"PrintJobControlWidget"!==i.component?e._e():t(i.component,{key:i.id,tag:"component",attrs:{printer:e.printer,"printer-comm":e.printerComm,print:e.lastPrint},on:{sendPrinterAction:e.onSendPrinterAction,notAFailureClicked:e.onNotAFailureClicked,updateSettings:e.onUpdateSettings}})]})),t("div",{staticClass:"extra-actions"},[t("h2",{staticClass:"section-title"},[e._v(e._s(e.$t("Additional Actions")))]),t("b-button",{staticClass:"custom-button",attrs:{variant:"outline-secondary"},on:{click:e.onReorderClicked}},[t("i",{staticClass:"fas fa-arrows-alt-v"}),e._v(" "+e._s(e.$t("Reorder"))+" & "+e._s(e.$t("Hide"))+" ")]),t("div",{staticClass:"text-muted extra-actions-explanation"},[t("small",[e._v(e._s(e.$t("Customize this page for each of your printers by reodering or hiding cards above.")))])]),t("b-button",{staticClass:"custom-button",attrs:{variant:"outline-primary",href:"/printers/wizard/"}},[t("i",{staticClass:"fas fa-plus"}),e._v(" "+e._s(e.$t("Add Printer"))+" ")]),t("div",{staticClass:"text-muted extra-actions-explanation"},[t("small",[e._v(e._s(e.$t("Link another printer to {brandName}.",{brandName:e.$syndicateText.brandName})))])])],1)],2),t("div",{staticClass:"stream-container"},[t("div",{staticClass:"header-container"},[t("div",{staticClass:"title"},[e._v(e._s(e.$t("Webcam")))]),t("div",{staticClass:"d-flex align-items-center"},[e.webcams.length>1?t("b-dropdown",{staticClass:"webcam-dropdown",attrs:{block:"",size:"sm",variant:"link","toggle-class":"text-decoration-none","no-caret":""},scopedSlots:e._u([{key:"button-content",fn:function(){return[t("i",{staticClass:"fa fa-camera",attrs:{"aria-hidden":"true"}}),e._v(" "+e._s(e.isAllWebcamSelected?"All":e.selectedWebcam.name||"Primary")+" "),t("i",{staticClass:"fa fa-chevron-down",attrs:{"aria-hidden":"true"}})]},proxy:!0}],null,!1,223123733)},[t("b-dropdown-text",{staticClass:"small text-secondary"},[e._v(e._s(e.$t("WEBCAM SELECTION")))]),e._l(e.webcams,(function(i,n){return t("b-dropdown-item",{key:n,attrs:{href:"#"},on:{click:function(t){return e.chooseWebcam(n,i.stream_id)}}},[e._v(e._s(i.name||"Primary"))])})),t("b-dropdown-item",{on:{click:function(t){return e.chooseWebcam("all")}}},[e._v(e._s(e.$t("All")))])],2):t("div",{staticClass:"mr-3"},[t("i",{staticClass:"fa fa-camera",attrs:{"aria-hidden":"true"}}),e._v(" "+e._s(e.webcams.length?e.webcams[0].name||"Primary":"")+" ")])],1)]),t("div",{staticClass:"webcam-main",class:{"justify-center":e.isAllWebcamSelected,"webcam-more-than-two":e.isAllWebcamSelected&&e.webcams.length>2}},e._l(e.webcams,(function(i,n){return t("div",{directives:[{name:"show",rawName:"v-show",value:!!e.isAllWebcamSelected||n===e.selectedWebcamIndex,expression:"isAllWebcamSelected ? true : (index === selectedWebcamIndex)"}],key:n,ref:"streamInner",refInFor:!0,staticClass:"stream-inner",class:e.isAllWebcamSelected?e.isAtleastOnePrinterPortrait?"two-webcam-portrait":"two-webcam-landscape":90===e.videoRotationDeg||270===e.videoRotationDeg?"single-webcam-portrait":""},[t("streaming-box",{attrs:{printer:e.printer,webrtc:i.webrtc,autoplay:e.user.is_pro,webcam:i},on:{onRotateRightClicked:t=>e.handleRotateRightClicked(t,i.stream_id)}})],1)})),0)])]):t("loading-placeholder")]},proxy:!0}])})},Ec=[],Rc=function(){var e=this,t=e._self._c;return t("widget-template",{scopedSlots:e._u([{key:"title",fn:function(){return[e._v(e._s(e.isPrinting?e.$t("Print Progress"):e.$t("Last Print")))]},proxy:!0},{key:"content",fn:function(){return[t("div",{staticClass:"wrapper"},[e.print?[t("div",{staticClass:"header"},[t("g-code-details",{staticClass:"g-code-details",attrs:{file:e.print.g_code_file||{filename:e.print.filename},"show-open-button":e.print.g_code_file&&!e.print.g_code_file.resident_printer&&!e.print.g_code_file.deleted,"show-details":!1}})],1),t("div",{staticClass:"content"},[t("div",{staticClass:"details"},[e.isPrinting?[e.isPrinting?t("div",{staticClass:"progress-container"},[t("div",{staticClass:"progress-bar-wrapper"},[t("div",{staticClass:"progress-bar-inner",style:`width: ${e.printProgressPercentage}%`})]),t("div",{staticClass:"percentage-progress"},[e._v(e._s(e.printProgressPercentage)+"%")])]):e._e(),t("div",{staticClass:"info-line no-border"},[t("div",{staticClass:"label"},[t("div",{staticClass:"icon"},[t("i",{staticClass:"fas fa-info"})]),t("div",{staticClass:"title"},[e._v(e._s(e.$t("Status")))])]),t("div",{staticClass:"value",class:"text-"+e.printer.calculatedStateColor()},[e._v(" "+e._s(e.printer.calculatedState())+" ")])]),t("div",{staticClass:"info-line"},[t("div",{staticClass:"label"},[t("div",{staticClass:"icon"},[t("font-awesome-icon",{attrs:{icon:["fas","layer-group"]}})],1),t("div",{staticClass:"title"},[e._v(e._s(e.$t("Layer")))])]),t("div",{staticClass:"value"},[e._v(" "+e._s(e.layerProgress)+" ")])]),t("div",{staticClass:"info-line"},[t("div",{staticClass:"label"},[t("div",{staticClass:"icon"},[t("i",{staticClass:"fas fa-stopwatch"})]),t("div",{staticClass:"title"},[e._v(e._s(e.$t("Remaining")))])]),t("div",{staticClass:"value"},[e.secondsLeft?t("span",[e._v(e._s(e.humanizedDuration(e.secondsLeft)))]):t("span",{staticClass:"text-secondary"},[e._v(e._s(e.$t("Calculating...")))])])]),t("div",{staticClass:"info-line"},[t("div",{staticClass:"label"},[t("div",{staticClass:"icon"},[t("i",{staticClass:"fas fa-flag-checkered"})]),t("div",{staticClass:"title"},[e._v(e._s(e.$t("Finishing at")))])]),t("div",{staticClass:"value"},[e.finishingAt?t("span",[e._v(e._s(e.finishingAt))]):t("span",{staticClass:"text-secondary"},[e._v(e._s(e.$t("Calculating...")))])])]),t("collapsable-details",[t("div",{staticClass:"info-line"},[t("div",{staticClass:"label"},[t("div",{staticClass:"icon"},[t("i",{staticClass:"fas fa-clock"})]),t("div",{staticClass:"title"},[e._v(e._s(e.$t("Started")))])]),t("div",{staticClass:"value"},[e._v(" "+e._s(e.print.started_at.format(e.DATE_TIME_FORMAT))+" ")])]),t("div",{staticClass:"info-line"},[t("div",{staticClass:"label"},[t("div",{staticClass:"icon"},[t("i",{staticClass:"fas fa-stopwatch"})]),t("div",{staticClass:"title"},[e._v(e._s(e.$t("Elapsed")))])]),t("div",{staticClass:"value"},[e.timeElapsed?t("span",[e._v(e._s(e.timeElapsed))]):t("b-spinner",{attrs:{small:""}})],1)]),t("div",{staticClass:"info-line"},[t("div",{staticClass:"label"},[t("div",{staticClass:"icon"},[t("font-awesome-icon",{attrs:{icon:["fas","ruler-vertical"]}})],1),t("div",{staticClass:"title"},[e._v(e._s(e.$t("Z-height")))])]),t("div",{staticClass:"value"},[e._v(" "+e._s(e.mmProgress)+" ")])]),t("div",{staticClass:"info-line"},[t("div",{staticClass:"label"},[t("div",{staticClass:"icon"},[t("i",{staticClass:"fas fa-stopwatch"})]),t("div",{staticClass:"title"},[e._v(e._s(e.$t("Total time")))])]),e.timeTotal?t("div",{staticClass:"value"},[e._v(" "+e._s(e.timeTotal)+" ")]):t("span",{staticClass:"text-secondary"},[e._v(e._s(e.$t("Calculating...")))])]),e.print.filament_used?t("div",{staticClass:"info-line"},[t("div",{staticClass:"label"},[t("div",{staticClass:"icon"},[t("font-awesome-icon",{attrs:{icon:["fas","ruler-vertical"]}})],1),t("div",{staticClass:"title"},[e._v(e._s(e.$t("Total filament")))])]),t("div",{staticClass:"value"},[e._v(" "+e._s(e.humanizedFilamentUsage(e.print.filament_used))+" ")])]):e._e()])]:[t("div",{staticClass:"info-line no-border"},[t("div",{staticClass:"label"},[t("div",{staticClass:"icon"},[t("i",{staticClass:"fas fa-info"})]),t("div",{staticClass:"title"},[e._v(e._s(e.$t("Status")))])]),t("div",{staticClass:"value"},[e.print.status.isActive?t("b-spinner",{attrs:{small:""}}):t("div",{staticClass:"print-status-color",class:e.print.status.key},[e._v(" "+e._s(e.print.status.title)+" ")])],1)]),t("div",{staticClass:"info-line"},[t("div",{staticClass:"label"},[t("div",{staticClass:"icon"},[t("i",{staticClass:"far fa-clock"})]),t("div",{staticClass:"title"},[e._v(e._s(e.$t("Started")))])]),t("div",{staticClass:"value"},[e._v(e._s(e.print.started_at.format("MMM D, YYYY h:mm a")))])]),t("div",{staticClass:"info-line"},[t("div",{staticClass:"label"},[t("div",{staticClass:"icon"},[t("i",{staticClass:"fas fa-clock"})]),t("div",{staticClass:"title"},[e._v(e._s(e.$t("Duration")))])]),e.print.status.isActive?t("b-spinner",{attrs:{small:""}}):t("div",{staticClass:"value"},[e._v(" "+e._s(e.print.duration||"-")+" ")])],1)]],2),e.isPrinting?e._e():t("div",{staticClass:"actions"},[t("b-button",{staticClass:"custom-button",attrs:{variant:"outline-secondary",href:"/prints/"+e.print.id}},[e._v(" "+e._s(e.$t("Open Print"))+" ")]),e.file.url?t("b-button",{staticClass:"custom-button",attrs:{variant:"secondary",disabled:e.isPrintStarting},on:{click:e.onRepeatClicked}},[e.isPrintStarting?t("b-spinner",{attrs:{small:""}}):t("i",{staticClass:"fas fa-redo"}),e._v(" "+e._s(e.$t("Reprint"))+" ")],1):e._e()],1)])]:[t("p",{staticClass:"empty-state-text"},[e._v(e._s(e.$t("No prints found")))])]],2)]},proxy:!0}])})},zc=[];const Bc="MMM D, h:mm a";var Uc={name:"PrintProgressWidget",components:{WidgetTemplate:Ds,GCodeDetails:Ga,CollapsableDetails:Wa},props:{printer:{type:Object,required:!0},print:{type:Object,default:null}},data(){return{DATE_TIME_FORMAT:Bc,timeElapsed:null,finishingAt:null,startedAt:null,printProgressPercentage:0,extraVisible:!1}},computed:{file(){var e;return(null===(e=this.print)||void 0===e?void 0:e.g_code_file)||{}},isPrinting(){return this.printer.isActive()&&this.printer.progressCompletion()<100},isPrintStarting(){return this.printer.inTransientState()},mmProgress(){var e,t,i,n,a;let r;const s=null===(e=this.printer.status)||void 0===e?void 0:e.currentZ,o=null===(t=this.printer.status)||void 0===t||null===(i=t.file_metadata)||void 0===i||null===(n=i.analysis)||void 0===n||null===(a=n.printingArea)||void 0===a?void 0:a.maxZ;return(s||0==s)&&o&&(r=`${s.toFixed(2)}/${o.toFixed(2)} mm`),r||"--/--"},layerProgress(){var e,t,i,n;let a;const r=null===(e=this.printer.status)||void 0===e?void 0:e.currentLayerHeight,s=null===(t=this.printer.status)||void 0===t||null===(i=t.file_metadata)||void 0===i||null===(n=i.obico)||void 0===n?void 0:n.totalLayerCount;return(r||0==r)&&s&&(a=`${Math.round(r)}/${Math.round(s)}`),a||"--/--"},timeTotal(){let e=null;return this.secondsPrinted&&this.secondsLeft?(e=this.secondsPrinted+this.secondsLeft,fe(e)):null},secondsPrinted(){var e,t,i,n;return null!==(e=null===(t=this.printer)||void 0===t||null===(i=t.status)||void 0===i||null===(n=i.progress)||void 0===n?void 0:n.printTime)&&void 0!==e?e:null},secondsLeft(){var e,t,i,n;return null!==(e=null===(t=this.printer)||void 0===t||null===(i=t.status)||void 0===i||null===(n=i.progress)||void 0===n?void 0:n.printTimeLeft)&&void 0!==e?e:null}},watch:{printer:{handler:function(e,t){this.isPrinting&&this.updatePrintProgress()},deep:!0}},mounted(){this.isPrinting&&this.updatePrintProgress()},unmounted(){clearInterval(this.printerStateCheckInterval)},methods:{humanizedDuration:fe,humanizedFilamentUsage:ve,toggleZHeightProgressType(){this.preferZHeightProgressInLayers=!this.preferZHeightProgressInLayers,Object(s["b"])("preferZHeightProgressInLayers",this.preferZHeightProgressInLayers)},updatePrintProgress(){var e,t,i,n,a;if(!this.isPrinting)return;if(!this.print)return;const r=H.a.duration(H()().diff(this.print.started_at));this.timeElapsed=this.print.status.isActive?fe(r.asSeconds()):null,this.finishingAt="number"===typeof this.secondsLeft?be(this.secondsLeft,Bc):null,this.printProgressPercentage=Math.round(this.printer.progressCompletion()),this.printProgressMillimeters=Math.round((null===(e=this.printer.status)||void 0===e?void 0:e.currentZ)||0),this.printMillimetersTotal=Math.round((null===(t=this.printer.status)||void 0===t||null===(i=t.file_metadata)||void 0===i||null===(n=i.analysis)||void 0===n||null===(a=n.printingArea)||void 0===a?void 0:a.maxZ)||0)},onRepeatClicked(){this.isPrinting||(this.print?this.print.g_code_file.deleted?console.error("Can't repeat last print: G-Code deleted"):this.print.g_code_file.url?Aa(this.print.g_code_file,this.printer).then(()=>{var e;Oa({printer:this.printer,gcode:this.print.g_code_file,isCloud:null===(null===(e=this.print.g_code_file)||void 0===e?void 0:e.resident_printer),Swal:this.$swal})}):console.error("Can't repeat last print: no G-Code file in storage"):console.error("Can't repeat last print: no last print"))}}},jc=Uc,Wc=(i("9eda"),Object(N["a"])(jc,Rc,zc,!1,null,"951008e4",null)),Hc=Wc.exports,Vc=function(){var e=this,t=e._self._c;return t("widget-template",{scopedSlots:e._u([{key:"title",fn:function(){return[e._v(e._s(e.$t("Failure Detection")))]},proxy:!0},{key:"content",fn:function(){return[t("div",{staticClass:"wrapper"},[e.isEnt?t("div",{staticClass:"dh-balance-wrapper"},[t("a",{staticClass:"btn shadow-none action-btn icon-btn hours-btn",style:{marginRight:.25*String(e.dhBadgeNum).length+"rem"},attrs:{href:"/user_preferences/dh/",title:e.dhBadgeNum+" "+e.$t("AI Detection Hours")}},[t("svg",{staticClass:"custom-svg-icon"},[t("use",{attrs:{href:"#svg-hour-glass"}})]),t("span",{staticClass:"badge badge-light",attrs:{id:"user-credits"}},[e._v(e._s(e.dhBadgeNum))]),t("span",{staticClass:"sr-only"},[e._v(e._s(e.$t("AI Detection Hours")))])])]):e._e(),t("div",{staticClass:"header"},[t("div",{staticClass:"gauge-wrapper"},[t("failure-detection-gauge",{attrs:{"normalized-p":e.printer.normalized_p,"is-watching":e.isWatching}})],1),e.printer.not_watching_reason?t("div",{staticClass:"overlay-info"},[t("muted-alert",{staticClass:"muted-alert"},[t("span",[e._v(e._s(e.$t("Not watching"))+" ("+e._s(e.printer.not_watching_reason)+"). "),t("a",{attrs:{href:e.getDocUrl("/user-guides/detective-not-watching/"),target:"_blank"}},[e._v(e._s(e.$t("Learn all possible reasons"))+" "),t("small",[t("i",{staticClass:"fas fa-external-link-alt"})])])])])],1):e._e()]),t("div",{staticClass:"controls"},[t("div",{staticClass:"line"},[t("label",{staticClass:"label",attrs:{for:"watching_enabled-toggle-"+e.printer.id}},[e._v(" "+e._s(e.$t("Enable AI failure detection"))+" "),e.enableFailureDetection?e._e():t("div",{staticClass:"text-muted"},[e._v(" "+e._s(e.$t("AI failure detection is disabled. You are on your own."))+" ")])]),t("div",{staticClass:"switch"},[t("div",{staticClass:"custom-control custom-switch"},[t("input",{staticClass:"custom-control-input update-printer",attrs:{id:"watching_enabled-toggle-"+e.printer.id,type:"checkbox",name:"watching_enabled"},domProps:{checked:e.enableFailureDetection},on:{click:e.onFailureDetectionToggled}}),t("label",{staticClass:"custom-control-label",staticStyle:{"font-size":"1rem"},attrs:{for:"watching_enabled-toggle-"+e.printer.id}})])])]),t("div",{staticClass:"line"},[t("label",{staticClass:"label",attrs:{for:"pause_on_failure-toggle-"+e.printer.id}},[e._v(" "+e._s(e.$t("Pause on detected failures"))+" "),e.pauseOnFailure?e._e():t("div",{staticClass:"text-muted"},[e._v(" "+e._s(e.$t("You will still be alerted via notifications."))+" ")])]),t("div",{staticClass:"switch"},[t("div",{staticClass:"custom-control custom-switch"},[t("input",{staticClass:"custom-control-input update-printer",attrs:{id:"pause_on_failure-toggle-"+e.printer.id,type:"checkbox",name:"pause_on_failure"},domProps:{checked:e.pauseOnFailure},on:{click:e.onPauseOnFailureToggled}}),t("label",{staticClass:"custom-control-label",staticStyle:{"font-size":"1rem"},attrs:{for:"pause_on_failure-toggle-"+e.printer.id}})])])])]),e.printer.alertUnacknowledged()?t("div",{staticClass:"failure-detected-message"},[t("div",{staticClass:"warning-message"},[t("i",{staticClass:"fas fa-exclamation-triangle"}),e._v(" "+e._s(e.$t("Failure Detected!"))+" ")]),t("b-button",{attrs:{variant:"outline-warning custom-button"},on:{click:function(t){return e.onNotAFailureClicked(t)}}},[e._v(e._s(e.$t("Not a Failure?")))])],1):e._e()])]},proxy:!0}])})},Yc=[],Gc={name:"FailureDetectionWidget",components:{WidgetTemplate:Ds,FailureDetectionGauge:Kn,MutedAlert:_n},props:{printer:{type:Object,required:!0}},data(){return{user:null,enableFailureDetection:!1,pauseOnFailure:!1,isEnt:!1}},computed:{dhBadgeNum(){return this.user&&this.user.is_dh_unlimited?"Unlimited":Math.round(this.user.dh_balance)},isWatching(){return!this.printer.not_watching_reason},notWatchingExplanation(){if(this.isWatching)return"";let e=this.printer.not_watching_reason;return""+e}},created(){this.user=Object(Q["f"])();const{IS_ENT:e}=Object(Q["d"])();this.isEnt=!!e,this.enableFailureDetection=this.printer.watching_enabled,this.pauseOnFailure="PAUSE"===this.printer.action_on_failure},methods:{onFailureDetectionToggled(){this.enableFailureDetection=!this.enableFailureDetection,this.$emit("updateSettings",{settingName:"watching_enabled",settingValue:this.enableFailureDetection})},onPauseOnFailureToggled(){this.pauseOnFailure=!this.pauseOnFailure,this.$emit("updateSettings",{settingName:"action_on_failure",settingValue:this.pauseOnFailure?"PAUSE":"NONE"})},onNotAFailureClicked(e){this.$emit("notAFailureClicked",e,!1)}}},Kc=Gc,qc=(i("0eda"),Object(N["a"])(Kc,Vc,Yc,!1,null,"6fe2ac18",null)),Jc=qc.exports,Zc=function(){var e=this,t=e._self._c;return t("widget-template",{scopedSlots:e._u([{key:"title",fn:function(){return[e._v(e._s(e.$t("Temperature Controls")))]},proxy:!0},{key:"content",fn:function(){return[e._t("content",(function(){return[t("div",{staticClass:"wrapper"},[e.show?[e._l(e.temperatures,(function(i,n){return t("temperature-item",{key:n,attrs:{"temp-key":n,"temp-item":i,"is-plugin-version-sufficient":e.isPluginVersionSufficient},on:{TempEditClicked:function(t){return e.onEditClicked(n,i)}}})})),e.isPluginVersionSufficient?t("b-button",{staticClass:"custom-button",attrs:{variant:"outline-primary"},on:{click:e.onTemperaturePresetsClicked}},[e._v(" "+e._s(e.$t("Temperature Presets"))+" ")]):e._e()]:[t("div",{staticClass:"text-center mt-4"},[t("b-spinner"),t("p",{staticClass:"mt-2"},[e._v(e._s(e.$t("Loading temperature...")))])],1)]],2)]}))]},proxy:!0}],null,!0)})},Qc=[],Xc=function(){var e=this,t=e._self._c;return t("div",[t("div",[t("h5",[e._v(e._s(e.$t("Presets"))+":")])]),t("div",[t("b-form-select",{staticClass:"form-control",attrs:{id:"id_preset"},model:{value:e.currentPreset,callback:function(t){e.currentPreset=t},expression:"currentPreset"}},e._l(e.allPresets,(function(i){return t("b-form-select-option",{key:i.name,attrs:{value:i.name}},[e._v(" "+e._s(i.name)+" ")])})),1)],1),t("muted-alert",{staticClass:"mt-4 mb-1"},[e._v(" "+e._s(e.$t("Temperature presets can be edited or added in {agentName} settings.",{agentName:e.agentName}))+" ")]),t("input",{directives:[{name:"model",rawName:"v-model",value:e.currentPreset,expression:"currentPreset"}],attrs:{id:"selected-preset",type:"hidden"},domProps:{value:e.currentPreset},on:{input:function(t){t.target.composing||(e.currentPreset=t.target.value)}}})],1)},ed=[],td={name:"TempPresets",components:{MutedAlert:_n},props:{presets:{type:Array,required:!0},printer:{type:Object,required:!0}},data:function(){return{currentPreset:null}},computed:{allPresets(){let e=[...this.presets];return e.push({value:0,name:"OFF"}),e},agentName(){return this.printer.agentDisplayName()}},mounted(){this.currentPreset=this.allPresets[0].name},methods:{}},id=td,nd=Object(N["a"])(id,Xc,ed,!1,null,null,null),ad=nd.exports,rd={name:"TemperatureWidget",components:{WidgetTemplate:Ds,TemperatureItem:Jr},props:{printer:{type:Object,required:!0},printerComm:{type:Object,required:!0}},computed:{temperatures(){const e={};for(const[t,i]of Object.entries(de()(this.printer,"status.temperatures",{})))Boolean(i.actual)&&!isNaN(i.actual)&&(e[t]=i);return e},isPluginVersionSufficient(){return void 0!=de()(this.printer,"settings.temp_profiles")},show(){return Object.keys(this.temperatures).length>0}},methods:{temperatureDisplayName:Pn["f"],onEditClicked(e,t){if(!this.isPluginVersionSufficient||null===t.target)return;let i,n=de()(this.printer,"settings.temp_profiles",[]),a=350;e.search(/bed|chamber/)>-1&&(a=140),i=e.search(/tool/)>-1?n.map(e=>({name:e.name,target:e["extruder"]})):n.map(t=>({name:t.name,target:t[e]})),this.$swal.openModalWithComponent(ps,{presets:i,maxTemp:a,curTarget:t.target},{title:"Set "+Object(Pn["f"])(e)+" Temperature",confirmButtonText:"Confirm",showCancelButton:!0,preConfirm:()=>({target:parseInt(document.getElementById("target-temp").value)})}).then(t=>{if(t.value){let i=t.value.target;this.handleSetTemp(e,i)}})},onTemperaturePresetsClicked(){let e=de()(this.printer,"settings.temp_profiles",[]);this.$swal.openModalWithComponent(ad,{presets:e,printer:this.printer},{title:""+this.$i18next.t("Temperature Presets"),confirmButtonText:"Apply",showCancelButton:!0,preConfirm:()=>({preset:document.getElementById("selected-preset").value})}).then(e=>{var t;null!==(t=e.value)&&void 0!==t&&t.preset&&this.applyTempPreset(e.value.preset)})},applyTempPreset(e){const t=de()(this.printer,"settings.temp_profiles",[]);let i=t.find(t=>t.name===e);const n={};if(i)Object.entries(i).forEach(e=>{const t=e[0];t.toLowerCase().includes("bed")?n.bed=e[1]:t.toLowerCase().includes("tool")||t.toLowerCase().includes("extruder")?n.extruder=e[1]:t.toLowerCase().includes("chamber")&&(n.chamber=e[1])});else{if("OFF"!==e)return;n.bed=0,n.extruder=0,n.chamber=0}const a=de()(this.printer,"status.temperatures",[]);Object.entries(a).forEach(e=>{const t=e[0];t.toLowerCase().includes("bed")?this.handleSetTemp(t,n.bed):t.toLowerCase().includes("tool")||t.toLowerCase().includes("extruder")?this.handleSetTemp(t,n.extruder):t.toLowerCase().includes("chamber")&&n.chamber&&this.handleSetTemp(t,n.chamber)})},handleSetTemp(e,t){this.printerComm.passThruToPrinter({func:"set_temperature",target:"_printer",args:[e,t]})}}},sd=rd,od=(i("f086"),Object(N["a"])(sd,Zc,Qc,!1,null,"6556ed7d",null)),ld=od.exports,cd=function(){var e=this,t=e._self._c;return t("widget-template",{scopedSlots:e._u([{key:"title",fn:function(){return[e.activeMenu?t("div",{staticClass:"nav-btn",on:{click:function(t){e.activeMenu=null}}},[t("i",{staticClass:"fas fa-arrow-left"}),e._v("  "+e._s(e.$t("Back"))+" ")]):t("span",[e._v(e._s(e.$t("Printer Controls")))])]},proxy:!0},{key:"content",fn:function(){return[t("div",{staticClass:"wrapper"},[t("div",{directives:[{name:"show",rawName:"v-show",value:!e.activeMenu,expression:"!activeMenu"}],staticClass:"home-menu"},[t("button",{staticClass:"menu-button",attrs:{disabled:e.printer.isActive()},on:{click:function(t){e.activeMenu="move-head"}}},[t("svg",{staticClass:"icon move-xy"},[t("use",{attrs:{href:"#svg-move-xy"}})]),t("div",{staticClass:"title"},[e._v(e._s(e.$t("Move Head")))])]),t("button",{staticClass:"menu-button",attrs:{disabled:e.printer.isActive()},on:{click:function(t){e.activeMenu="extrude"}}},[t("svg",{staticClass:"icon extruder"},[t("use",{attrs:{href:"#extruder"}})]),t("div",{staticClass:"title"},[e._v(e._s(e.$t("Extrude")))])]),e.printer.isAgentMoonraker()?t("button",{staticClass:"menu-button",on:{click:function(t){e.activeMenu="baby-step-z"}}},[t("svg",{staticClass:"icon move-z"},[t("use",{attrs:{href:"#svg-move-z"}})]),t("div",{staticClass:"title"},[e._v(e._s(e.$t("Baby Step Z")))])]):e._e(),e.hideTunePrinter?e._e():t("button",{staticClass:"menu-button",on:{click:function(t){e.activeMenu="tune-printer"}}},[t("font-awesome-icon",{attrs:{icon:["fas","gear"]}}),t("div",{staticClass:"title"},[e._v(e._s(e.$t("Tune Printer")))])],1),e.powerDevices.length?t("button",{staticClass:"menu-button",on:{click:function(t){e.activeMenu="power-control"}}},[t("font-awesome-icon",{attrs:{icon:["fas","power-off"]}}),t("div",{staticClass:"title"},[e._v(e._s(e.$t("Power")))])],1):e._e()]),t("div",{directives:[{name:"show",rawName:"v-show",value:"move-head"===e.activeMenu,expression:"activeMenu === 'move-head'"}],staticClass:"control-panel move-head"},[t("div",{staticClass:"main"},[t("div",{staticClass:"toggles"},e._l(e.xyzJogDistance.options,(function(i){return t("div",{key:"xyz-"+i,staticClass:"pill",class:{active:i===e.xyzJogDistance.value},on:{click:function(t){e.xyzJogDistance.value=i}}},[e._v(" "+e._s(i)+" ")])})),0),t("div",{staticClass:"xy-move"},[t("div",{staticClass:"left",on:{click:function(t){return e.xyzControl(e.axis.x,e.directions.down)}}},[t("i",{staticClass:"fas fa-arrow-left"})]),t("div",{staticClass:"right",on:{click:function(t){return e.xyzControl(e.axis.x,e.directions.up)}}},[t("i",{staticClass:"fas fa-arrow-right"})]),t("div",{staticClass:"up",on:{click:function(t){return e.xyzControl(e.axis.y,e.directions.up)}}},[t("i",{staticClass:"fas fa-arrow-up"})]),t("div",{staticClass:"down",on:{click:function(t){return e.xyzControl(e.axis.y,e.directions.down)}}},[t("i",{staticClass:"fas fa-arrow-down"})]),t("div",{staticClass:"home",on:{click:function(t){return e.xyzControl(e.axis.xy,e.directions.home)}}},[t("i",{staticClass:"fas fa-home"})])]),t("div",{staticClass:"z-move"},[t("div",{staticClass:"up",on:{click:function(t){return e.xyzControl(e.axis.z,e.directions.up)}}},[t("i",{staticClass:"fas fa-arrow-up"})]),t("div",{staticClass:"down",on:{click:function(t){return e.xyzControl(e.axis.z,e.directions.down)}}},[t("i",{staticClass:"fas fa-arrow-down"})]),t("div",{staticClass:"home",on:{click:function(t){return e.xyzControl(e.axis.z,e.directions.home)}}},[t("i",{staticClass:"fas fa-home"})])])]),t("div",{staticClass:"additional"},[t("div",{staticClass:"control-btn",on:{click:e.homeAll}},[t("i",{staticClass:"fas fa-home"}),e._v(e._s(e.$t(" Home All")))]),t("div",{staticClass:"control-btn",on:{click:e.disableSteppers}},[t("i",{staticClass:"fas fa-power-off"}),e._v(" "+e._s(e.$t("Disable Steppers"))+" ")])])]),t("div",{directives:[{name:"show",rawName:"v-show",value:"extrude"===e.activeMenu,expression:"activeMenu === 'extrude'"}],staticClass:"control-panel extrude"},[t("div",{staticClass:"main"},[e.showExtrudeControl?[t("div",{staticClass:"toggles"},e._l(e.extrudeJogDistance.options,(function(i){return t("div",{key:"xyz-"+i,staticClass:"pill",class:{active:i===e.extrudeJogDistance.value},on:{click:function(t){e.extrudeJogDistance.value=i}}},[e._v(" "+e._s(i)+" ")])})),0),t("div",{staticClass:"main-buttons"},[t("div",{staticClass:"control-btn",on:{click:function(t){return e.handleFilament(e.filamentDirections.retract)}}},[t("i",{staticClass:"fas fa-minus"}),e._v(" "+e._s(e.$t("Retract"))+" ")]),t("div",{staticClass:"control-btn",on:{click:function(t){return e.handleFilament(e.filamentDirections.extrude)}}},[t("i",{staticClass:"fas fa-plus"}),e._v(" "+e._s(e.$t("Extrude"))+" ")])])]:[t("div",{staticClass:"text-center mt-4"},[t("b-spinner"),t("p",{staticClass:"mt-2"},[e._v(e._s(e.$t("Loading tools...")))])],1)]],2),e.showToolsSelector?t("div",{staticClass:"additional"},[t("b-form-select",{staticClass:"form-control tool-select",model:{value:e.activeTool,callback:function(t){e.activeTool=t},expression:"activeTool"}},e._l(e.tools,(function(i,n){return t("b-form-select-option",{key:n,attrs:{value:n}},[e._v(" "+e._s(e.temperatureDisplayName(n))+" ")])})),1)],1):e._e()]),t("div",{directives:[{name:"show",rawName:"v-show",value:"baby-step-z"===e.activeMenu,expression:"activeMenu === 'baby-step-z'"}],staticClass:"control-panel baby-step-z"},[t("div",{staticClass:"main"},[t("div",{staticClass:"toggles"},e._l(e.zOffsetJogDistance.options,(function(i){return t("div",{key:"xyz-"+i,staticClass:"pill",class:{active:i===e.zOffsetJogDistance.value},on:{click:function(t){e.zOffsetJogDistance.value=i}}},[e._v(" "+e._s(i)+" ")])})),0),t("div",{staticClass:"z-move"},[t("div",{staticClass:"up",on:{click:function(t){return e.controlZOffset(e.directions.up)}}},[t("i",{staticClass:"fas fa-arrow-up"})]),t("div",{staticClass:"down",on:{click:function(t){return e.controlZOffset(e.directions.down)}}},[t("i",{staticClass:"fas fa-arrow-down"})])])]),t("div",{staticClass:"additional"},[t("div",{staticClass:"current-offset"},[t("div",{staticClass:"label"},[e._v(e._s(e.$t("Current Offset")))]),t("div",{staticClass:"value"},[e.currentZOffset||"number"===typeof e.currentZOffset?t("span",[e._v(" "+e._s(e.currentZOffset)+" ")]):t("span",[t("b-spinner",{attrs:{small:""}})],1)])])])]),t("div",{directives:[{name:"show",rawName:"v-show",value:"tune-printer"===e.activeMenu,expression:"activeMenu === 'tune-printer'"}],staticClass:"control-panel tune-printer"},[e.printer.isAgentMoonraker()&&null===e.currentFeedRate?e._e():[t("div",{staticClass:"controls-title"},[t("span",[e._v(e._s(e.$t("Feed Rate / Speed")))]),t("help-widget",{staticClass:"help-message",attrs:{id:"print-speed-widget-help"}})],1),t("div",{staticClass:"controls"},[t("div",{staticClass:"custom"},[t("b-input-group",{attrs:{prepend:"%"},scopedSlots:e._u([{key:"append",fn:function(){return[t("b-button",{attrs:{variant:"background",disabled:null===e.customFeedRateFactor||parseInt(e.customFeedRateFactor)<1},on:{click:function(t){return e.setPrintSpeed(e.customFeedRateFactor)}}},[e._v(e._s(e.$t("Apply")))])]},proxy:!0}],null,!1,3696614275)},[t("b-form-input",{attrs:{placeholder:"100",type:"number"},on:{focus:function(e){return e.target.select()}},model:{value:e.customFeedRateFactor,callback:function(t){e.customFeedRateFactor=t},expression:"customFeedRateFactor"}})],1)],1)])],e.printer.isAgentMoonraker()&&null===e.currentFlowRate?e._e():[t("div",{staticClass:"controls-title"},[t("span",[e._v(e._s(e.$t("Flow Rate")))]),t("help-widget",{staticClass:"help-message",attrs:{id:"flow-rate-widget-help"}})],1),t("div",{staticClass:"controls"},[t("div",{staticClass:"custom"},[t("b-input-group",{attrs:{prepend:"%"},scopedSlots:e._u([{key:"append",fn:function(){return[t("b-button",{attrs:{variant:"background",disabled:null===e.customFlowRateFactor||parseInt(e.customFlowRateFactor)<1},on:{click:function(t){return e.setFlowRate(e.customFlowRateFactor)}}},[e._v(e._s(e.$t("Apply")))])]},proxy:!0}],null,!1,4188500917)},[t("b-form-input",{attrs:{placeholder:"100",type:"number"},on:{focus:function(e){return e.target.select()}},model:{value:e.customFlowRateFactor,callback:function(t){e.customFlowRateFactor=t},expression:"customFlowRateFactor"}})],1)],1)])],e.printer.isAgentMoonraker()&&null===e.currentFanSpeed?e._e():[t("div",{staticClass:"controls-title"},[t("span",[e._v(e._s(e.$t("Fan Speed")))]),t("help-widget",{staticClass:"help-message",attrs:{id:"fan-speed-widget-help"}})],1),t("div",{staticClass:"controls"},[t("b-button",{staticClass:"off",attrs:{variant:"background",small:""},on:{click:function(t){e.customFanSpeed=0,e.setFanSpeed(0)}}},[e._v(e._s(e.$t("0% (Off)")))]),t("div",{staticClass:"custom"},[t("b-input-group",{attrs:{prepend:"%"},scopedSlots:e._u([{key:"append",fn:function(){return[t("b-button",{attrs:{variant:"background",disabled:null===e.customFanSpeed||parseInt(e.customFanSpeed)>100||parseInt(e.customFanSpeed)<0},on:{click:function(t){return e.setFanSpeed(e.customFanSpeed)}}},[e._v(e._s(e.$t("Apply")))])]},proxy:!0}],null,!1,22301740)},[t("b-form-input",{attrs:{placeholder:"0-100",type:"number"},on:{focus:function(e){return e.target.select()}},model:{value:e.customFanSpeed,callback:function(t){e.customFanSpeed=t},expression:"customFanSpeed"}})],1)],1),t("b-button",{staticClass:"btn",attrs:{variant:"background",small:""},on:{click:function(t){e.customFanSpeed=100,e.setFanSpeed(100)}}},[e._v("100%")])],1)],e.printer.isAgentMoonraker()?e._e():t("muted-alert",{staticClass:"info-block"},[e._v(" "+e._s(e.$t("These settings can only be set. They can't be read back from the firmware due to a limitation of the communication protocol."))+" ")])],2),t("div",{directives:[{name:"show",rawName:"v-show",value:"power-control"===e.activeMenu,expression:"activeMenu === 'power-control'"}],staticClass:"control-panel power-control"},[e._l(e.powerDevices,(function(i,n){return t("div",{key:n,staticClass:"power-item"},[t("div",{staticClass:"title"},[t("div",{staticClass:"name"},[e._v(e._s(i.device))]),t("div",{staticClass:"status text-danger",class:{"text-success":"ON"===i.status.toUpperCase()}},[e._v(" • "+e._s(i.status.toUpperCase())+" ")])]),t("b-button",{attrs:{variant:"outline-primary"},on:{click:function(t){return e.togglePower(i)}}},[e._v(e._s(e.$t(" Toggle Power ")))])],1)})),e.powerDevices.length>1?t("div",{staticClass:"bulk-actions"},[t("b-button",{attrs:{variant:"success"},on:{click:function(t){return e.batchPowerControl("on")}}},[e._v(e._s(e.$t(" Power On All ")))]),t("b-button",{attrs:{variant:"danger"},on:{click:function(t){return e.batchPowerControl("off")}}},[e._v(e._s(e.$t(" Power Off All ")))])],1):e._e(),t("muted-alert",{staticClass:"info-block"},[e._v(" "+e._s(e.$t("Rapid toggling power may result in error. Please allow a cooldown period."))+" ")])],2)])]},proxy:!0}])})},dd=[];const ud={x:"x",y:"y",z:"z",xy:["x","y"],xyz:["x","y","z"]},pd={up:1,down:-1,home:0},hd={retract:-1,extrude:1};var md={name:"PrinterControlWidget",components:{WidgetTemplate:Ds,HelpWidget:Zi,MutedAlert:_n},props:{printer:{type:Object,required:!0},printerComm:{type:Object,required:!0}},data(){return{activeMenu:null,axis:ud,directions:pd,filamentDirections:hd,xyzJogDistance:{value:10,options:[1,10,50,100]},extrudeJogDistance:{value:10,options:[1,10,50]},zOffsetJogDistance:{value:.01,options:[.005,.01,.05,.1]},activeTool:null,currentZOffset:null,customFeedRateFactor:null,customFlowRateFactor:null,customFanSpeed:null,powerDevices:[]}},computed:{tools(){const e={};for(const[t,i]of Object.entries(de()(this.printer,"status.temperatures",{})))Boolean(i.actual)&&!isNaN(i.actual)&&(t.toLowerCase().includes("tool")||t.toLowerCase().includes("extruder"))&&(e[t]=i);return e},showExtrudeControl(){return Object.keys(this.tools).length>0},showToolsSelector(){return Object.keys(this.tools).length>1},currentFeedRate(){var e;const t=null===(e=this.printer.status)||void 0===e?void 0:e.currentFeedRate;return void 0!==t?t:null},currentFlowRate(){var e;const t=null===(e=this.printer.status)||void 0===e?void 0:e.currentFlowRate;return void 0!==t?t:null},currentFanSpeed(){var e;const t=null===(e=this.printer.status)||void 0===e?void 0:e.currentFanSpeed;return void 0!==t?t:null},hideTunePrinter(){return this.printer.isAgentMoonraker()&&null===this.currentFlowRate&&null===this.currentFanSpeed&&null===this.currentFeedRate}},watch:{tools:{handler:function(e,t){e&&(this.activeTool=Object.keys(e)[0])},immediate:!0},printer:{handler:function(e,t){e.isActive()&&["move-head","extrude"].includes(this.activeMenu)&&(this.activeMenu=null)},deep:!0},xyzJogDistance:{handler:function(e,t){Object(we["a"])()&&localStorage.setItem("xyz-mm-per-step-"+this.printer.id,e.value)},deep:!0},extrudeJogDistance:{handler:function(e,t){Object(we["a"])()&&localStorage.setItem("extrude-mm-per-step-"+this.printer.id,e.value)},deep:!0},zOffsetJogDistance:{handler:function(e,t){Object(we["a"])()&&localStorage.setItem("z-offset-mm-per-step-"+this.printer.id,e.value)},deep:!0},activeMenu(e,t){"baby-step-z"===e?this.getCurrentZOffset():"tune-printer"===e&&(this.customFeedRateFactor=null!==this.currentFeedRate?Math.round(100*this.currentFeedRate):null,this.customFlowRateFactor=null!==this.currentFlowRate?Math.round(100*this.currentFlowRate):null,this.customFanSpeed=null!==this.currentFanSpeed?Math.round(100*this.currentFanSpeed):null)}},created(){this.getPowerDevices(),Object(we["a"])()&&(this.xyzJogDistance.value=+localStorage.getItem("xyz-mm-per-step-"+this.printer.id)||this.xyzJogDistance.value,this.extrudeJogDistance.value=+localStorage.getItem("extrude-mm-per-step-"+this.printer.id)||this.extrudeJogDistance.value,this.zOffsetJogDistance.value=+localStorage.getItem("z-offset-mm-per-step-"+this.printer.id)||this.zOffsetJogDistance.value);const e=e=>{27===e.keyCode&&(this.activeMenu=null)};document.addEventListener("keydown",e),this.$once("hook:destroyed",()=>{document.removeEventListener("keydown",e)})},methods:{xyzControl(e,t){let i=[],n="jog";t===this.directions.home?(i.push(e),n="home"):i.push({[e]:t*this.xyzJogDistance.value});const a={func:n,target:"_printer",args:i};this.printerComm.passThruToPrinter(a,(e,t)=>{e&&this.$swal.Toast.fire({icon:"error",title:e})})},getCurrentZOffset(){const e={func:"printer/objects/query?gcode_move",target:"moonraker_api"};this.printerComm.passThruToPrinter(e,(e,t)=>{if(e)this.currentZOffset="no reading";else{const e=t.status.gcode_move.homing_origin[2],i=parseFloat(e.toFixed(3));this.currentZOffset=i}})},homeAll(){this.xyzControl(this.axis.xyz,this.directions.home)},disableSteppers(){const e={func:"commands",target:"_printer",args:["M18"]},t={func:"printer/gcode/script",target:"moonraker_api",kwargs:{script:"M18"}},i=this.printer.isAgentMoonraker()?t:e;this.printerComm.passThruToPrinter(i,(e,t)=>{e&&this.$swal.Toast.fire({icon:"error",title:e})})},temperatureDisplayName:Pn["f"],handleFilament(e){const t=this.tools[this.activeTool].actual;if(t<179)return void this.$swal.Confirm.fire({title:""+this.$i18next.t("Unable to extrude / retract"),html:`

${this.$i18next.t("The hotend is below the minimum temperature")}

`,confirmButtonText:""+this.$i18next.t("Heat to 180°C"),cancelButtonText:""+this.$i18next.t("Cancel")}).then(e=>{e.isConfirmed&&this.printerComm.passThruToPrinter({func:"set_temperature",target:"_printer",args:[this.activeTool,180]},(e,t)=>{e&&this.$swal.Toast.fire({icon:"error",title:e})})});const i=Object.entries(this.tools).findIndex(e=>e[0]===this.activeTool),n=e*this.extrudeJogDistance.value,a=`M83\nT${i}\nG1 E${n} F300`,r={func:"commands",target:"_printer",args:[a]},s={func:"printer/gcode/script",target:"moonraker_api",kwargs:{script:a}},o=this.printer.isAgentMoonraker()?s:r;this.printerComm.passThruToPrinter(o,(e,t)=>{e&&this.$swal.Toast.fire({icon:"error",title:e})})},controlZOffset(e){const t=this.zOffsetJogDistance.value*e,i=Math.round(1e4*t)/1e4,n=i>0?"+"+i:""+i,a={func:"commands",target:"_printer",args:["M290 Z "+i],force:!0},r={func:"printer/gcode/script",target:"moonraker_api",kwargs:{script:"SET_GCODE_OFFSET Z_ADJUST="+n}},s=this.printer.isAgentMoonraker()?r:a;this.currentZOffset=null,this.printerComm.passThruToPrinter(s,(e,t)=>{e?this.$swal.Toast.fire({icon:"error",title:e}):this.getCurrentZOffset()})},setPrintSpeed(e){null===e||e<1||this.sendCommandToPrinter("M220 S"+Math.round(e))},setFlowRate(e){null===e||e<1||this.sendCommandToPrinter("M221 S"+Math.round(e))},setFanSpeed(e){if(null===e||e<0||e>100)return;let t=0===e?"M107":"M106 S"+Math.round(e/100*255);this.sendCommandToPrinter(t)},sendCommandToPrinter(e,{onError:t,onSuccess:i}={}){const n=this.printer.isAgentMoonraker()?{func:"printer/gcode/script",target:"moonraker_api",kwargs:{script:e}}:{func:"commands",target:"_printer",args:[e]};this.printerComm.passThruToPrinter(n,(e,n)=>{e?t?t(e,n):this.$swal.Toast.fire({icon:"error",title:e}):i?i(e,n):this.$swal.Toast.fire({icon:"success",title:""+this.$i18next.t("Command successfully sent!")})})},getPowerDevices(){if(!this.printer.isAgentMoonraker())return;const e={func:"machine/device_power/devices",target:"moonraker_api",args:[]};this.printerComm.passThruToPrinter(e,(e,t)=>{e?this.$swal.Toast.fire({icon:"error",title:e}):this.powerDevices=(null===t||void 0===t?void 0:t.devices)||[]})},togglePower(e){const t="ON"===e.status.toUpperCase()?"off":"on",i=`device=${e.device}&action=${t}`,n={func:"machine/device_power/device?"+i,target:"moonraker_api",kwargs:{verb:"post"}};this.printerComm.passThruToPrinter(n,(e,t)=>{this.getPowerDevices(),e&&this.$swal.Toast.fire({icon:"error",title:e})})},batchPowerControl(e){if(!this.powerDevices.length)return;const t=""+this.powerDevices.map(e=>e.device).join("&"),i={func:`machine/device_power/${e}?${t}`,target:"moonraker_api",kwargs:{verb:"post"}};this.printerComm.passThruToPrinter(i,(e,t)=>{this.getPowerDevices(),e&&this.$swal.Toast.fire({icon:"error",title:e})})}}},fd=md,gd=(i("0f6a"),Object(N["a"])(fd,cd,dd,!1,null,"ca2fb97c",null)),vd=gd.exports,bd=function(){var e=this,t=e._self._c;return t("div",{staticClass:"wrapper"},[t("draggable",{attrs:{"ghost-class":"ghost",handle:".handle"},on:{start:function(t){e.dragging=!0},end:function(t){e.dragging=!1}},model:{value:e.currentItems,callback:function(t){e.currentItems=t},expression:"currentItems"}},e._l(e.currentItems,(function(i){return t("div",{key:i.id,staticClass:"item"},[t("div",{staticClass:"handle"},[t("i",{staticClass:"fas fa-grip-lines"})]),t("div",{staticClass:"title"},[t("span",[e._v(e._s(e.getTitle(i.id)))])]),t("div",{staticClass:"switch"},[t("div",{staticClass:"custom-control custom-switch"},[t("input",{staticClass:"custom-control-input update-printer",attrs:{id:"widget-toggle-"+i.id,type:"checkbox",name:"pause_on_failure"},domProps:{checked:i.enabled},on:{click:function(t){return e.toggleItemEnabled(i)}}}),t("label",{staticClass:"custom-control-label",staticStyle:{"font-size":"1rem"},attrs:{for:"widget-toggle-"+i.id}})])])])})),0),t("input",{ref:"sortingConfig",attrs:{id:"sorting-config",type:"hidden"}})],1)},yd=[],wd=i("b76a"),_d=i.n(wd),Cd={name:"ReorderModal",components:{draggable:_d.a},props:{items:{type:Array,required:!0},extraInfo:{type:Array,required:!0}},data(){return{dragging:!1,currentItems:[]}},watch:{dragging(e,t){e||this.saveNewOrder()}},created(){this.currentItems=JSON.parse(JSON.stringify(this.items))},mounted(){},methods:{getTitle(e){return this.extraInfo.find(t=>t.id===e).title},toggleItemEnabled(e){e.enabled=!e.enabled,this.saveNewOrder()},saveNewOrder(){this.$refs.sortingConfig.value=JSON.stringify(this.currentItems)}}},kd=Cd,Pd=(i("89d8"),Object(N["a"])(kd,bd,yd,!1,null,"825483f2",null)),Sd=Pd.exports,Dd=function(){var e=this,t=e._self._c;return t("widget-template",{scopedSlots:e._u([{key:"title",fn:function(){return[e._v(e._s(e.$t("Printer Terminal")))]},proxy:!0},{key:"content",fn:function(){return[t("div",{staticClass:"terminal-widget"},[t("printer-terminal",{attrs:{printer:e.printer,"printer-comm":e.printerComm,"show-full-screen-opt":!0}})],1)]},proxy:!0}])})},xd=[],Td=function(){var e=this,t=e._self._c;return t("div",{class:["wrapper",{"full-screen-height":e.fullScreenHeight}]},[t("div",{staticClass:"actionWrap"},[e.showFullScreenOpt?t("a",{attrs:{href:`/printers/${e.printer.id}/terminal/`}},[t("b-button",{staticClass:"actionBtn",attrs:{disabled:!e.feedIsOn}},[t("i",{staticClass:"fas fa-expand actionIcon"})])],1):e._e(),e.canToggleFeed?t("b-button",{staticClass:"actionBtn",on:{click:e.toggleTerminalPower}},[null===e.feedIsOn?t("b-spinner",{attrs:{small:""}}):t("i",{class:["fas","fa-power-off","actionIcon",{"text-primary":!e.feedIsOn}]})],1):e._e(),t("b-button",{staticClass:"actionBtn",attrs:{disabled:!e.feedIsOn},on:{click:e.clearFeed}},[t("i",{staticClass:"fas fa-trash actionIcon"})]),t("b-dropdown",{staticClass:"actionBtnNoP",attrs:{disabled:!e.feedIsOn,right:"","no-caret":"","toggle-class":"action-btn icon-btn","menu-class":"scrollable",title:"Filter"},scopedSlots:e._u([{key:"button-content",fn:function(){return[t("i",{staticClass:"fas fa-filter"})]},proxy:!0}])},[t("div",[t("div",[t("b-dropdown-text",{staticClass:"small text-secondary"},[e._v(e._s(e.$t("Filter")))]),t("b-dropdown-item",{nativeOn:{"!click":function(t){return t.stopPropagation(),t.preventDefault(),e.updateFilterPrefs("temperature",!e.hideTempMessages)}}},[t("div",{staticClass:"dropdown-text-group"},[t("i",{staticClass:"fas fa-check text-primary",style:{visibility:e.hideTempMessages?"visible":"hidden"}}),t("div",{staticClass:"filterItemH"},[t("i",{staticClass:"fas fa-fire"}),t("div",{staticClass:"text"},[e._v(e._s(e.$t("Suppress Temperature")))])])])]),t("b-dropdown-item",{nativeOn:{"!click":function(t){return t.stopPropagation(),t.preventDefault(),e.updateFilterPrefs("sd",!e.hideSDMessages)}}},[t("div",{staticClass:"dropdown-text-group"},[t("i",{staticClass:"fas fa-check text-primary",style:{visibility:e.hideSDMessages?"visible":"hidden"}}),t("div",{staticClass:"filterItemH"},[t("i",{staticClass:"fas fa-sd-card"}),t("div",{staticClass:"text"},[e._v(e._s(e.$t("Suppress SD Status Messages")))])])])]),t("b-dropdown-item",{nativeOn:{"!click":function(t){return t.stopPropagation(),t.preventDefault(),e.updateFilterPrefs("gcode",!e.hideGCodeMessages)}}},[t("div",{staticClass:"dropdown-text-group"},[t("i",{staticClass:"fas fa-check text-primary",style:{visibility:e.hideGCodeMessages?"visible":"hidden"}}),t("div",{staticClass:"filterItemH"},[t("i",{staticClass:"fas fa-code"}),t("div",{staticClass:"text"},[e._v(e._s(e.$t("Suppress Position Messages")))])])])]),t("b-dropdown-item",{nativeOn:{"!click":function(t){return t.stopPropagation(),t.preventDefault(),e.updateFilterPrefs("ok",!e.hideOKMessages)}}},[t("div",{staticClass:"dropdown-text-group"},[t("i",{staticClass:"fas fa-check text-primary",style:{visibility:e.hideOKMessages?"visible":"hidden"}}),t("div",{staticClass:"filterItemH"},[t("i",{staticClass:"fas fa-thumbs-up"}),t("div",{staticClass:"text"},[e._v(e._s(e.$t("Suppress 'OK' Messages")))])])])])],1)])])],1),t("terminal-feed-view",{staticClass:"feedWrap",attrs:{"terminal-feed-array":e.terminalFeedArray,"feed-is-on":e.feedIsOn}}),t("div",{staticClass:"inputWrap"},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.inputValue,expression:"inputValue"}],staticClass:"textInput",attrs:{disabled:!e.feedIsOn,type:"text",placeholder:e.$t("Enter code...")},domProps:{value:e.inputValue},on:{keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.sendMessage.apply(null,arguments)},input:function(t){t.target.composing||(e.inputValue=t.target.value)}}}),t("b-button",{staticClass:"sendBtn",attrs:{disabled:!e.feedIsOn,variant:"outline-primary"},on:{click:e.sendMessage}},[t("i",{staticClass:"fas fa-chevron-right text-primary-icon"})])],1)],1)},Id=[],Fd=function(){var e=this,t=e._self._c;return t("div",{staticClass:"feedWrap",attrs:{colorScheme:"background"}},[e.feedIsOn?e._l(e.terminalFeedArray,(function(i,n){return t("div",{key:n,staticClass:"itemWrap"},[null!==i&&void 0!==i&&i.msg?t("div",{staticClass:"terminalText"},[t("p",{staticClass:"messageTimeStamp"},[e._v(" "+e._s(i.normalTimeStamp)+" ")]),t("p",{staticClass:"messageText"},[e._v(" "+e._s(i.msg)+" ")])]):e._e(),t("div",{staticClass:"divider"})])})):t("div",{staticStyle:{width:"100%"}},[t("p",{staticStyle:{margin:"0","margin-top":"5px","text-align":"center"}},[t("i",{staticClass:"fas fa-power-off",staticStyle:{"margin-right":"5px"}}),e._v(e._s(e.$t("Terminal feed is off"))+" ")])])],2)},Ad=[],$d={name:"TerminalFeedView",components:{},props:{terminalFeedArray:{type:Array,required:!0},feedIsOn:{type:Boolean,required:!0}},methods:{onMenuOptionClicked(e){"share"===e&&this.onSharePrinter()}}},Od=$d,Nd=(i("da42"),Object(N["a"])(Od,Fd,Ad,!1,null,"e788be14",null)),Ld=Nd.exports,Md={name:"PrinterTerminal",components:{TerminalFeedView:Ld},props:{printer:{type:Object,required:!0},printerComm:{type:Object,required:!0},fullScreenHeight:{type:Boolean,required:!1,default:!1},showFullScreenOpt:{type:Boolean,required:!0,default:!0}},data(){return{oldTerminalFeed:null,terminalFeedArray:[],inputValue:"",hideTempMessages:!0,hideSDMessages:!0,hideOKMessages:!0,hideGCodeMessages:!0,feedIsOn:!0}},computed:{canToggleFeed(){return!this.printer.isAgentMoonraker()&&this.printer.isAgentVersionGte("2.4.7","0.0.0")}},created(){this.printerComm.onTerminalFeedReceived=this.onNextTerminalFeed,this.terminalSetup()},mounted(){const e=localStorage.getItem("printer-terminal-filter-prefs-temperature"),t=localStorage.getItem("printer-terminal-filter-prefs-sd"),i=localStorage.getItem("printer-terminal-filter-prefs-ok"),n=localStorage.getItem("printer-terminal-filter-prefs-gcode");e&&(this.hideTempMessages=JSON.parse(e)),t&&(this.hideSDMessages=JSON.parse(t)),n&&(this.hideGCodeMessages=JSON.parse(n)),i&&(this.hideOKMessages=JSON.parse(i))},methods:{onNextTerminalFeed(e){var t,i;const n=(null===e||void 0===e?void 0:e.msg)===(null===(t=this.oldTerminalFeed)||void 0===t?void 0:t.msg),a=(null===e||void 0===e?void 0:e._ts)===(null===(i=this.oldTerminalFeed)||void 0===i?void 0:i._ts),r=null===e||void 0===e?void 0:e.msg;this.oldTerminalFeed=e;const s=/((N\d+\s+)?M105)|((ok\s+([PBN]\d+\s+)*)?([BCLPR]|T\d*):-?\d+)/g,o=/((N\d+\s+)?M27)|(SD printing byte)|(Not SD printing)/g,l=/^G[0-3].*$/g;this.hideSDMessages&&o.test(r)||this.hideTempMessages&&s.test(r)||this.hideGCodeMessages&&l.test(r)||this.hideOKMessages&&"ok"===r.toLowerCase().trim()||n||a||(e.normalTimeStamp=H()().format("h:mm:ssa"),e.msg=r.trim(),this.terminalFeedArray.unshift(e))},sendMessage(){if(!this.inputValue.length)return;if(!this.feedIsOn)return;const e=this.inputValue.toUpperCase();this.printer.isAgentMoonraker()&&this.onNextTerminalFeed({msg:e,_ts:new Date});const t={func:"printer/gcode/script",target:"moonraker_api",kwargs:{script:""+e}},i={func:"commands",target:"_printer",args:[""+e],force:!0},n=this.printer.isAgentMoonraker()?t:i;this.printerComm.passThruToPrinter(n,(e,t)=>{e&&this.$swal.Toast.fire({icon:"error",title:e})}),this.inputValue=""},clearFeed(){this.terminalFeedArray=[]},updateFilterPrefs(e,t){localStorage.setItem("printer-terminal-filter-prefs-"+e,JSON.stringify(t)),"temperature"===e?this.hideTempMessages=t:"gcode"===e?this.hideGCodeMessages=t:"ok"===e?this.hideOKMessages=t:this.hideSDMessages=t},async terminalSetup(){this.canToggleFeed?this.printerComm.passThruToPrinter({func:"toggle_terminal_feed",target:"gcode_hooks",args:["get"]},(e,t)=>{this.feedIsOn=t||!1}):this.feedIsOn=!0},async toggleTerminalPower(){const e=this.feedIsOn?"off":"on";this.feedIsOn=null,this.clearFeed(),this.printerComm.passThruToPrinter({func:"toggle_terminal_feed",target:"gcode_hooks",args:[e]},(e,t)=>{this.feedIsOn=t||!1})}}},Ed=Md,Rd=(i("45e1"),Object(N["a"])(Ed,Td,Id,!1,null,"e9a802f6",null)),zd=Rd.exports,Bd={name:"TerminalWidget",components:{WidgetTemplate:Ds,PrinterTerminal:zd},props:{printer:{type:Object,required:!0},printerComm:{type:Object,required:!0}}},Ud=Bd,jd=(i("6984"),Object(N["a"])(Ud,Dd,xd,!1,null,"4fa56247",null)),Wd=jd.exports;const Hd="/resume_print/",Vd="/mute_current_print/?mute_alert=true",Yd="/acknowledge_alert/?alert_overwrite=NOT_FAILED",Gd=[{id:1,title:"Print Job Control",component:"PrintJobControlWidget"},{id:2,title:"Last Print / Progress",component:"PrintProgressWidget"},{id:3,title:"Failure Detection",component:"FailureDetectionWidget"},{id:4,title:"Temperature Controls",component:"TemperatureWidget"},{id:5,title:"Printer Controls",component:"PrinterControlWidget"},{id:6,title:"Terminal Widget",component:"TerminalWidget"}];var Kd={name:"PrinterControlPage",components:{StreamingBox:Mr,PageLayout:Ft,CascadedDropdown:ci,PrintJobControlWidget:Xo,PrintProgressWidget:Hc,FailureDetectionWidget:Jc,TemperatureWidget:ld,PrinterControlWidget:vd,TerminalWidget:Wd},data(){return{user:null,printerId:null,printer:null,webcams:[],selectedWebcamIndex:0,currentBitrate:null,lastPrint:null,lastPrintFetchCounter:0,widgetsConfig:null,customRotationDeg:0,isAllWebcamSelected:!1,customRotationData:[]}},computed:{widgets(){if(this.widgetsConfig)return this.widgetsConfig.map(e=>{const t=Gd.find(t=>t.id===e.id);return{...e,...t}})},videoRotationDeg(){var e,t,i;const n=+(null!==(e=null===(t=this.printer)||void 0===t||null===(i=t.settings)||void 0===i?void 0:i.webcam_rotation)&&void 0!==e?e:0)+this.customRotationDeg;return n%360},selectedWebcam(){return this.webcams[this.selectedWebcamIndex]},isAtleastOnePrinterPortrait(){let e=!1;return this.webcams.forEach(t=>{var i;const n=t.stream_id,a=this.customRotationData.find(e=>e.streamId==n)||null,r=a?Number(a.customRotation):0,s=+(null!==(i=t.rotation)&&void 0!==i?i:0)+r,o=s%360;90!==o&&270!==o||(e=!0)}),e}},watch:{printer:{handler(e,t){var i,n;e&&null===t?(this.$nextTick(this.resizeStream),this.widgetsConfig=this.restoreWidgets()):(null===e||void 0===e?void 0:e.isActive())===(null===t||void 0===t?void 0:t.isActive())&&(null===e||void 0===e||null===(i=e.current_print)||void 0===i?void 0:i.started_at)===(null===t||void 0===t||null===(n=t.current_print)||void 0===n?void 0:n.started_at)||this.fetchLastPrint({pollForCorrect:!0})},deep:!0},videoRotationDeg(){this.resizeStream()}},created(){var e;this.customRotationDeg=Object(s["a"])("webcamRotationDeg",0,`${null===(e=this.printer)||void 0===e?void 0:e.id}_${this.webcams.length?this.webcams[0].stream_id:0}`),this.user=Object(Q["f"])(),this.printerId=it()(window.location.pathname,"/").slice(-3,-2).pop(),this.fetchLastPrint(),this.printerComm=Ca.getOrCreatePrinterComm(this.printerId,le["a"].printerWebSocket(this.printerId),{onPrinterUpdateReceived:e=>{var t,i;if(this.printer=Ae(e,this.printer),0===this.webcams.length&&((null===(t=this.printer)||void 0===t||null===(i=t.settings)||void 0===i?void 0:i.webcams)||[]).length>0){var n,a;const e=null===(n=this.printer)||void 0===n||null===(a=n.settings)||void 0===a?void 0:a.webcams;let t=!1;for(const n of e)n.webrtc=Dr(n.stream_mode,n.stream_id),this.webcams.push(n),n.webrtc.openForPrinter(this.printer.id,this.printer.auth_token),n.data_channel_available&&(this.printerComm.setWebRTC(n.webrtc),t=!0);if(!t){const e=this.webcams.find(e=>!0===e.is_primary_camera);e&&this.printerComm.setWebRTC(e.webrtc)}this.webcams.length>0&&(this.selectedWebcamIndex=this.webcams.findIndex(e=>!0===e.is_primary_camera));const i=Object(s["a"])("preferredWebcam",null,this.printer.id);if(i)if("all"===i)this.isAllWebcamSelected=!0;else{const e=this.webcams.findIndex(e=>e.stream_id==i);-1!==e&&(this.selectedWebcamIndex=e)}}},onStatusReceived:e=>{const t=e.status||e.octoprint_data;this.printer=Ae({status:t},this.printer)}}),this.printerComm.connect()},mounted(){document.querySelector("body").style.paddingBottom=0,addEventListener("resize",this.resizeStream)},methods:{handleRotateRightClicked(e,t){const i=this.customRotationData.findIndex(e=>e.streamId===t);-1===i?this.customRotationData.push({streamId:t,customRotation:e}):this.customRotationData[i].customRotation=e,this.customRotationDeg=e},chooseWebcam(e,t="all"){"all"==e?this.isAllWebcamSelected=!0:(this.selectedWebcamIndex=e,this.isAllWebcamSelected=!1),Object(s["b"])("preferredWebcam",t,this.printer.id)},onMenuOptionClicked(e){"share"===e&&this.onSharePrinter()},onSharePrinter(){this.$swal.openModalWithComponent(bs,{isProAccount:this.user.is_pro,printer:this.printer},{confirmButtonText:"Close"})},restoreWidgets(){let e=Gd.map(e=>({id:e.id,enabled:!0}));Object(we["a"])()&&(e=JSON.parse(localStorage.getItem("printer-control-widgets-"+this.printer.id))||e);for(const i of Gd)e.find(e=>e.id===i.id)||e.push({id:i.id,enabled:!0});for(const i of e)Gd.find(e=>e.id===i.id)||e.splice(e.indexOf(i),1);const t=e.find(e=>6===e.id);return t&&!this.printer.isAgentVersionGte("2.3.11","1.4.4")&&e.splice(e.indexOf(t),1),Object(we["a"])()&&localStorage.setItem("printer-control-widgets-"+this.printer.id,JSON.stringify(e)),e},onUpdateSettings(e){const{settingName:t,settingValue:i}=e;this.printer[t]=i,oe["a"].patch(le["a"].printer(this.printer.id),{[t]:i}).catch(e=>{console.error("Failed to update printer settings: ",e)})},fetchLastPrint(e){const t={pollForCorrect:!1},{pollForCorrect:i}=e||t;oe["a"].get(le["a"].prints(),{params:{start:0,limit:1,filter_by_printer_ids:[this.printerId],sorting:"date_desc"}}).then(e=>{if(e.data.length&&(this.lastPrint=Te(e.data[0])),i){let e=!1;if(this.lastPrint&&this.printer.isActive()===this.lastPrint.status.isActive||(e=!0),e&&this.lastPrintFetchCounter<5){const e=1e3*(this.lastPrintFetchCounter+1);setTimeout(()=>this.fetchLastPrint({pollForCorrect:!0}),e),this.lastPrintFetchCounter+=1}else this.lastPrintFetchCounter=0}}).catch(e=>{console.error("Error fetching last print: ",e)})},resizeStream(){const e=this.$refs.streamInner;if(e)for(const t of e){const e=t.parentElement,i=window.getComputedStyle(e),n=i.getPropertyValue("position");if("fixed"!==n)return t.style.width="100%",void(t.style.height="auto");const a=e.getBoundingClientRect(),r=a.width,s=a.height,o=this.videoRotationDeg%180!==0,l=this.printer.settings.ratio169,c=l?o?16/9:9/16:o?4/3:3/4;let d=r,u=d*c;u>s&&(u=s,d=u/c),o&&(d=Math.max(d,u),u=Math.max(d,u)),t.style.width=d+"px",t.style.height=u+"px"}},onNotAFailureClicked(e,t){this.$swal.Confirm.fire({title:""+this.$i18next.t("Noted!"),html:`

${this.$i18next.t("Do you want to mute failure detection on for this print?")}

${this.$i18next.t("If you select 'Mute', failure detection will be turned off for this print, but will be automatically turned on for your next print.")}`,confirmButtonText:""+this.$i18next.t("Mute"),cancelButtonText:""+this.$i18next.t("Cancel")}).then(e=>{e.isConfirmed&&setTimeout(()=>{this.onSendPrinterAction(this.printer.id,Vd)},1e3),t?(this.printer.setTransientState("Resuming"),this.onSendPrinterAction(this.printer.id,Hd)):this.onSendPrinterAction(this.printer.id,Yd)}),e.preventDefault()},onSendPrinterAction(e,t,i){oe["a"].post(le["a"].printerAction(e,t))},onReorderClicked(){this.$swal.openModalWithComponent(Sd,{items:[...this.widgetsConfig],extraInfo:Gd},{confirmButtonText:""+this.$i18next.t("Save"),showCancelButton:!0,preConfirm:()=>({config:document.getElementById("sorting-config").value})}).then(e=>{var t;if(null!==(t=e.value)&&void 0!==t&&t.config){const t=JSON.parse(e.value.config);this.widgetsConfig=t,Object(we["a"])()&&localStorage.setItem("printer-control-widgets-"+this.printer.id,JSON.stringify(t))}})}}},qd=Kd,Jd=(i("eac9"),Object(N["a"])(qd,Mc,Ec,!1,null,"5dd1d5bb",null)),Zd=Jd.exports,Qd=function(){var e=this,t=e._self._c;return t("page-layout",{scopedSlots:e._u([{key:"content",fn:function(){return[t("b-container",{staticClass:"flex-full-size",class:{"is-in-mobile":e.useMobileLayout},attrs:{fluid:"xl"}},[t("b-row",{staticClass:"flex-full-size"},[t("b-col",{staticClass:"flex-full-size"},[e.user?t("div",{staticClass:"flex-full-size"},[e.useMobileLayout?t("div",{staticClass:"mobile-settings-wrapper full-on-mobile"},["/user_preferences/"===e.$route.path?t("div",{staticClass:"mobile-settings-categories"},[t("h2",{directives:[{name:"show",rawName:"v-show",value:!e.onlyNotifications,expression:"!onlyNotifications"}],staticClass:"categories-title section-title"},[e._v(" "+e._s(e.$t("Account"))+" ")]),e._l(e.sections,(function(i,n){return[i.isHidden?e._e():t("router-link",{key:n,class:i.isSubcategory?"subcategory":"",attrs:{to:i.route}},[t("span",[i.faIcon?t("i",{class:[i.faIcon,"mr-2"],staticStyle:{"font-size":"1.125rem"}}):e._e(),t("span",[e._v(e._s(i.title))])]),t("i",{staticClass:"fas fa-arrow-right"})])]})),e.onlyNotifications?e._e():t("a",{attrs:{href:"#"},on:{click:function(t){return t.preventDefault(),e.logout.apply(null,arguments)}}},[t("span",[t("i",{class:["fas fa-sign-out-alt","mr-2"],staticStyle:{"font-size":"1.125rem"}}),e._v(" "+e._s(e.$t("Logout"))+" ")])])],2):t("div",{staticClass:"mobile-settings-content",class:{"is-in-mobile":e.useMobileLayout}},[!e.currentSection||e.currentSection.isNotificationChannel&&!e.availableNotificationPlugins?e._e():t(e.currentRouteComponent,{tag:"component",attrs:{user:e.user,"error-messages":e.errorMessages,saving:e.saving,config:e.config,"notification-channel":e.currentSection&&e.currentSection.isNotificationChannel?e.currentSection:{}},on:{createNotificationChannel:e.createNotificationChannel,updateNotificationChannel:e.patchNotificationChannel,deleteNotificationChannel:e.deleteNotificationChannel,clearErrorMessages:e.clearErrorMessages,addErrorMessage:e.addErrorMessage,updateSetting:e.updateSetting}})],1)]):t("b-tabs",{staticClass:"desktop-settings-wrapper",attrs:{vertical:!0,"nav-wrapper-class":"settings-nav","active-nav-item-class":"","content-class":"desktop-settings-content"},on:{"activate-tab":e.updateRoute},scopedSlots:e._u([{key:"tabs-end",fn:function(){return[t("li",{staticClass:"nav-item"},[t("a",{staticClass:"nav-link",attrs:{href:"#"},on:{click:function(t){return t.preventDefault(),e.logout.apply(null,arguments)}}},[t("i",{class:["fas fa-sign-out-alt","mr-2"]}),e._v(" "+e._s(e.$t("Logout"))+" ")])])]},proxy:!0}],null,!1,2570481543)},[e._l(e.sections,(function(i,n){return[i.isHidden?e._e():t("b-tab",{key:n,attrs:{"title-item-class":i.isSubcategory?"subcategory":"",active:e.$route.path===i.route,disabled:i.isNotificationChannel&&!e.user.notification_enabled},scopedSlots:e._u([{key:"title",fn:function(){return[i.faIcon?t("i",{class:[i.faIcon,"mr-2"]}):e._e(),e._v(" "+e._s(i.title)+" ")]},proxy:!0}],null,!0)},[!i.isNotificationChannel||e.availableNotificationPlugins?t(n,{tag:"component",attrs:{user:e.user,"error-messages":e.errorMessages,saving:e.saving,config:e.config,"notification-channel":i.isNotificationChannel?i:{}},on:{createNotificationChannel:e.createNotificationChannel,updateNotificationChannel:e.patchNotificationChannel,deleteNotificationChannel:e.deleteNotificationChannel,clearErrorMessages:e.clearErrorMessages,addErrorMessage:e.addErrorMessage,updateSetting:e.updateSetting}}):e._e()],1)]}))],2)],1):t("div",{staticClass:"text-center"},[t("b-spinner",{staticClass:"mt-5",attrs:{label:e.$t("Loading...")}})],1)])],1)],1)]},proxy:!0}])})},Xd=[];const eu="true"===new URLSearchParams(window.location.search).get("onlyNotifications"),tu={GeneralPreferences:{title:""+G["a"].t("General"),faIcon:"fas fa-cog",importComponent:()=>i.e("chunk-2d0d5f72").then(i.bind(null,"7113")),route:ae.GeneralPreferences,isHidden:Object(Q["a"])()||eu},ThemePreferences:{title:""+G["a"].t("Appearance"),faIcon:"fas fa-magic",importComponent:()=>i.e("chunk-63df7391").then(i.bind(null,"3922")),route:ae.ThemePreferences,isHidden:Object(Q["a"])()&&!("true"===new URLSearchParams(window.location.search).get("themeable"))||eu},ProfilePreferences:{title:""+G["a"].t("Profile"),faIcon:"fas fa-user-edit",importComponent:()=>i.e("chunk-2d22c522").then(i.bind(null,"f376")),route:ae.ProfilePreferences,isHidden:eu},AuthorizedApps:{title:""+G["a"].t("Authorized Apps"),faIcon:"fas fa-check-circle",importComponent:()=>i.e("chunk-2d21a9b7").then(i.bind(null,"bbde")),route:ae.AuthorizedApps,isHidden:eu},GeneralNotifications:{title:""+G["a"].t("Notifications"),faIcon:"fas fa-bell",importComponent:()=>i.e("chunk-d085a80a").then(i.bind(null,"9c95")),route:ae.GeneralNotifications},PushNotifications:{title:""+G["a"].t("Push Notification"),isSubcategory:!0,isNotificationChannel:!0,importComponent:()=>({}),route:ae.PushNotifications,isHidden:!Object(Q["a"])()}},iu=Object.keys(te).reduce((e,t)=>Object.assign(e,{[t]:{title:te[t].displayName,channelName:t,isSubcategory:!0,isNotificationChannel:!0,route:ae[t],importComponent:()=>i("17ae")("./"+te[t].componentName)}}),{});var nu={...tu,...iu},au={name:"UserPreferencesPage",components:{PageLayout:Ft,...Object.keys(nu).reduce((e,t)=>Object.assign(e,{[t]:nu[t].importComponent}),{})},props:{config:{default(){return{}},type:Object}},data(){return{sections:nu,availableNotificationPlugins:null,configuredNotificationChannels:null,user:null,saving:{},errorMessages:{},delayedSubmit:{first_name:{delay:1e3,timeoutId:null},last_name:{delay:1e3,timeoutId:null}},combinedInputs:{},useMobileLayout:!1}},computed:{visibleSections(){return Object.values(nu).filter(e=>!e.isHidden)},currentRouteComponent(){for(const[e,t]of Object.entries(ae))if(this.$route.path===t)return e;return null},currentSection(){for(const e of Object.values(this.sections))if(e.route===this.$route.path)return e;return null},inMobileWebView(){return Object(Q["a"])()},clientIsThemeable(){return!Object(Q["a"])()||"true"===new URLSearchParams(window.location.search).get("themeable")},onlyNotifications(){return"true"===new URLSearchParams(window.location.search).get("onlyNotifications")}},created(){this.fetchNotificationPlugins(),this.fetchNotificationChannels(),this.fetchUser()},mounted(){this.checkMobileLayout(),window.onresize=this.checkMobileLayout,this.useMobileLayout&&(document.querySelector("body").style.paddingTop="0px")},methods:{updateRoute(e){const t=Object.values(this.visibleSections)[e];this.$router.replace({path:t.route})},logout(){this.$swal.Confirm.fire({title:""+this.$i18next.t("Confirmation"),html:`

${this.$i18next.t("You a going to logout from your account")}

`,confirmButtonText:""+this.$i18next.t("Logout"),cancelButtonText:""+this.$i18next.t("Cancel")}).then(e=>{e.isConfirmed&&window.location.replace("/accounts/logout/")})},checkMobileLayout(){const e=Math.max(document.documentElement.clientWidth||0,window.innerWidth||0);this.useMobileLayout=Object(Q["a"])()||e<1140},fetchUser(){return oe["a"].get(le["a"].user()).then(e=>{this.user=e.data})},fetchNotificationPlugins(){return oe["a"].get(le["a"].notificationPlugins()).then(e=>{const t=e.data.plugins||{};this.availableNotificationPlugins=t;for(const[i,n]of Object.entries(this.sections))if(n.isNotificationChannel&&(this.sections[i].pluginInfo=t[n.channelName]),n.channelName&&t[n.channelName]&&t[n.channelName].env_vars){const e=t[n.channelName].env_vars,a=Object.values(e).some(e=>e.is_required&&!e.is_set);a&&this.$set(this.sections,i,{...this.sections[i],isHidden:!0})}})},fetchNotificationChannels(){return oe["a"].get(le["a"].notificationChannels()).then(e=>{const t=e.data;this.configuredNotificationChannels=t;for(const[i,n]of Object.entries(this.sections))n.isNotificationChannel&&(this.sections[i].channelInfo=t.find(e=>e.name===n.channelName))})},createNotificationChannel({section:e,config:t,opts:i={}}){const n={user:this.user.id,name:e.channelName,config:t,...i},a=Object(Pn["e"])(e,"config");return this.setSavingStatus(a,!0),oe["a"].post(le["a"].notificationChannels(),n).then(()=>{this.setSavingStatus(a,!1),this.$router.go()}).catch(t=>{if(this.setSavingStatus(a,!1),t.response&&t.response.data&&"object"===typeof t.response.data){let i=[];for(const e of Object.values(t.response.data))if("object"===typeof e)for(const t of Object.values(e))i.push(t);else"string"===typeof e?i.push(e):(console.warn("Undefined error object structure"),console.log(t.response));const n=Object(Pn["e"])(e,"config");this.$set(this.errorMessages,n,i)}else this.errorDialog(t,""+this.$i18next.t("Can not update your preferences"))})},patchNotificationChannel({section:e,propNames:t,propValues:i}){void 0!==i&&i.forEach((i,n)=>{const a=t[n];this.sections[e.channelName].channelInfo[a]=i});let n={name:e.channelName};for(const a of t)n[a]=e.channelInfo[a];for(const a of t){const t=Object(Pn["e"])(e,a);this.setSavingStatus(t,!0)}return oe["a"].patch(le["a"].updateNotificationChannel(e.channelInfo.id),n).then(()=>{for(const i of t){const t=Object(Pn["e"])(e,i);this.setSavingStatus(t,!1)}}).catch(i=>{for(const n of t){const t=Object(Pn["e"])(e,n);this.setSavingStatus(t,!1)}if(i.response&&i.response.data&&"object"===typeof i.response.data){let n=[];for(const e of Object.values(i.response.data))if("object"===typeof e)for(const t of Object.values(e))n.push(t);else"string"===typeof e?n.push(e):(console.warn("Undefined error object structure"),console.log(i.response));for(const i of t){const t=Object(Pn["e"])(e,i);this.$set(this.errorMessages,t,n)}}else this.errorDialog(i,""+this.$i18next.t("Can not update your preferences"))})},deleteNotificationChannel(e){return oe["a"].delete(le["a"].updateNotificationChannel(e.channelInfo.id)).then(()=>{this.$router.go()}).catch(e=>{this.errorDialog(e,""+this.$i18next.t("Can not update your preferences"))})},clearErrorMessages(e){this.errorMessages[e]=[]},addErrorMessage(e,t){this.errorMessages[e]?this.errorMessages[e].push(t):this.errorMessages[e]=[t]},patchUser(e,t){let i={},n=e;const a=this.checkForCombinedValues(e);if(a){for(const r of a.inputs){n=a.key;const e=this.user[r];i[r]=e}const e=Object.values(i),t=e.filter(e=>!e);if(t.length!==e.length&&0!==t.length)return}else i={[e]:t};return this.setSavingStatus(n,!0),oe["a"].patch(le["a"].user(),i).catch(e=>{if(e.response&&e.response.data&&"object"===typeof e.response.data)if(e.response.data.non_field_errors)this.errorDialog(e,e.response.data.non_field_errors);else for(const t in e.response.data)this.errorMessages[n]=e.response.data[t];else this.errorDialog(e,""+this.$i18next.t("Can not update your preferences"))}).then(()=>{window.ReactNativeWebView&&("first_name"===n?window.ReactNativeWebView.postMessage(JSON.stringify({firstName:this.user.first_name})):"last_name"===n&&window.ReactNativeWebView.postMessage(JSON.stringify({lastName:this.user.last_name}))),this.setSavingStatus(n,!1)})},checkForCombinedValues(e){for(const[t,i]of Object.entries(this.combinedInputs))if(i.includes(e))return{inputs:i,key:t};return null},setSavingStatus(e,t){t&&delete this.errorMessages[e],this.$set(this.saving,e,t)},updateSetting(e,t){if(void 0!==t&&(this.user[e]=t),e in this.delayedSubmit){const t=this.delayedSubmit[e];return t["timeoutId"]&&clearTimeout(t["timeoutId"]),void(this.delayedSubmit[e]["timeoutId"]=setTimeout(()=>{this.patchUser(e,this.user[e])},t["delay"]))}this.patchUser(e,this.user[e])}}},ru=au,su=(i("883d"),Object(N["a"])(ru,Qd,Xd,!1,null,"720acc46",null)),ou=su.exports,lu=function(){var e=this,t=e._self._c;return t("page-layout",{scopedSlots:e._u([{key:"topBarRight",fn:function(){return[t("div",[t("b-dropdown",{attrs:{right:"","no-caret":"","toggle-class":"icon-btn"},scopedSlots:e._u([{key:"button-content",fn:function(){return[t("i",{staticClass:"fas fa-filter"})]},proxy:!0}])},[e._l(e.eventClassFiltering,(function(i){return t("b-dropdown-item",{key:i.key,on:{click:function(t){return e.toggleEventFiltering("eventClassFiltering",i.key)}}},[t("i",{staticClass:"fas fa-check text-primary",style:{visibility:i.selected?"visible":"hidden"}}),t("span",{class:e.cssClassFromEventClass(i.key)},[e._v(e._s(i.title))])])})),t("b-dropdown-divider"),e._l(e.eventTypeFiltering,(function(i){return t("b-dropdown-item",{key:i.key,on:{click:function(t){return e.toggleEventFiltering("eventTypeFiltering",i.key)}}},[t("i",{staticClass:"fas fa-check text-primary",style:{visibility:i.selected?"visible":"hidden"}}),e._v(e._s(i.title)+" ")])}))],2)],1)]},proxy:!0},{key:"content",fn:function(){return[t("b-container",[t("b-row",{staticClass:"justify-content-center"},[t("div",{staticClass:"col-sm-12 col-md-10 col-lg-8"},[e.loading||0!==e.printerEvents.length?t("div",[e._l(e.printerEvents,(function(e){return t("printer-event-card",{key:e.id,attrs:{"printer-event":e}})})),t("mugen-scroll",{staticClass:"text-center p-4",attrs:{handler:e.fetchMoreData,"should-handle":!e.loading}},[e.noMoreData?t("div",{staticClass:"text-center p-2"},[e._v(e._s(e.$t("No more notifications.")))]):e._e(),e.noMoreData?e._e():t("b-spinner",{attrs:{label:"Loading..."}})],1)],2):t("div",{staticClass:"text-center"},[t("img",{staticClass:"w-25 my-4",attrs:{src:i("f23d")}}),t("h5",{staticClass:"text-primary"},[e._v(e._s(e.$t("Nothing to look here. Enjoy your vacation!")))])])])])],1)]},proxy:!0}])})},cu=[],du=function(){var e=this,t=e._self._c;return t("div",{staticClass:"printer-event-card my-3",class:e.tintBorderClass},[t("div",{staticClass:"printer-event-text",class:{link:e.printerEvent.info_url},on:{click:e.onTextClick}},[t("div",{staticClass:"title font-weight-bold my-2",class:e.tintClass},[e._v(" "+e._s(e.eventTitle)+" "),e.printerEvent.info_url?t("i",{staticClass:"fas fa-external-link-alt"}):e._e()]),t("div",{staticClass:"description",domProps:{innerHTML:e._s(e.printerEvent.event_text)}}),t("div",{staticClass:"my-2 text-muted font-weight-light small"},[e._v(" "+e._s(e.printerEvent.created_at.format("LLLL"))+" ")])]),e.printerEvent.image_url?t("div",{staticClass:"printer-event-snapshot",style:{backgroundImage:`url(${e.printerEvent.image_url})`}}):e._e()])},uu=[],pu={name:"PrinterEventCard",components:{},props:{printerEvent:{type:Object,required:!0}},computed:{eventTitle(){return this.printerEvent.event_title||""+this.$i18next.t("Unknown event")},tintClass(){switch(this.printerEvent.event_class){case"ERROR":return"text-danger";case"WARNING":return"text-warning";case"SUCCESS":return"text-success";default:return""}},tintBorderClass(){switch(this.printerEvent.event_class){case"ERROR":return"border-danger";case"WARNING":return"border-warning";case"SUCCESS":return"border-success";default:return""}}},methods:{onTextClick(){this.printerEvent.info_url&&window.open(this.printerEvent.info_url,"_blank")}}},hu=pu,mu=(i("59d9"),Object(N["a"])(hu,du,uu,!1,null,"4f0efb80",null)),fu=mu.exports;const gu={eventClassFiltering:"printer-event-class-filtering",eventTypeFiltering:"printer-event-type-filtering"},vu=(e,t)=>`${gu["prefix"]}.${t}`,bu=(e,t,i)=>Object(s["a"])(vu(e,t),i),yu=12;var wu={name:"PrinterEventsPage",components:{MugenScroll:ni.a,PageLayout:Ft,PrinterEventCard:fu},props:{},data(){return{printerEvents:[],loading:!1,noMoreData:!1,eventClassFiltering:[{key:"ERROR",title:"Error",selected:bu("eventClassFiltering","ERROR",!0)},{key:"WARNING",title:"Warning",selected:bu("eventClassFiltering","WARNING",!0)},{key:"SUCCESS",title:"Successs",selected:bu("eventClassFiltering","SUCCESS",!0)},{key:"INFO",title:"Other",selected:bu("eventClassFiltering","INFO",!0)}],eventTypeFiltering:[{key:"ALERT",title:"Failure Detection",selected:bu("eventTypeFiltering","ALERT",!0)},{key:"ENDED",title:"Print Job Ended",selected:bu("eventTypeFiltering","ENDED",!0)},{key:"STARTED",title:"Print Job Started",selected:bu("eventTypeFiltering","STARTED",!0)},{key:"PAUSE_RESUME",title:"Print Job Paused/Resumed",selected:bu("eventTypeFiltering","PAUSE_RESUME",!0)},{key:"FILAMENT_CHANGE",title:"Filament Change",selected:bu("eventTypeFiltering","FILAMENT_CHANGE",!0)},{key:"PRINTER_ERROR",title:"Printer Error",selected:bu("eventTypeFiltering","PRINTER_ERROR",!0)}]}},created(){this.refetchData()},methods:{fetchMoreData(){if(this.noMoreData)return;this.loading=!0;const e=Rn()(Fo()(this.eventClassFiltering,"selected"),"key"),t=Rn()(Fo()(this.eventTypeFiltering,"selected"),"key");oe["a"].get(le["a"].printerEvents(),{params:{start:this.printerEvents.length,limit:yu,filter_by_classes:e,filter_by_types:t}}).then(e=>{this.loading=!1,this.noMoreData=e.data.length$e(e)))})},refetchData(){this.printerEvents=[],this.noMoreData=!1,this.fetchMoreData()},cssClassFromEventClass(e){switch(e){case"ERROR":return"text-danger";case"INFO":return"";default:return"text-"+e.toLowerCase()}},toggleEventFiltering(e,t){const i=pt()(this[e],e=>e.key==t),n=this[e][i];this.$set(this[e],i,{...n,selected:!n.selected}),Object(s["b"])(vu("eventClassFiltering",e.key),!n.selected),this.refetchData()}}},_u=wu,Cu=Object(N["a"])(_u,lu,cu,!1,null,"4c7d7dc7",null),ku=Cu.exports,Pu=function(){var e=this,t=e._self._c;return t("page-layout",{scopedSlots:e._u([{key:"topBarLeft",fn:function(){return[t("div",{staticClass:"printer-name truncated"},[e._v(" "+e._s(e.printer?e.printer.name:"")+" ")])]},proxy:!0},{key:"topBarRight",fn:function(){return[e.printer?t("div",{staticClass:"action-panel"},[t("a",{staticClass:"btn shadow-none action-btn icon-btn",attrs:{href:`/tunnels/${e.printer.id}/`,title:e.$t("OctoPrint Tunnel")}},[t("svg",{staticClass:"custom-svg-icon"},[t("use",{attrs:{href:"#svg-tunnel"}})]),t("span",{staticClass:"sr-only"},[e._v(e._s(e.$t("OctoPrint Tunnel")))])]),t("a",{staticClass:"btn shadow-none action-btn icon-btn",attrs:{href:`/printers/${e.printer.id}/`,title:e.$t("Configure")}},[t("i",{staticClass:"fas fa-wrench"}),t("span",{staticClass:"sr-only"},[e._v(e._s(e.$t("Configure")))])]),t("b-dropdown",{attrs:{right:"","no-caret":"","toggle-class":"icon-btn d-md-none"},scopedSlots:e._u([{key:"button-content",fn:function(){return[t("i",{staticClass:"fas fa-ellipsis-v"})]},proxy:!0}],null,!1,3452768261)},[t("cascaded-dropdown",{ref:"cascadedDropdown",attrs:{"menu-options":[{key:"tunnel",svgIcon:"svg-tunnel",title:e.$t("OctoPrint Tunnel"),href:`/tunnels/${e.printer.id}/`},{key:"settings",icon:"fas fa-wrench",title:e.$t("Configure"),href:`/printers/${e.printer.id}/`}]},on:{menuOptionClicked:e.onMenuOptionClicked}})],1)],1):e._e()]},proxy:!0},{key:"content",fn:function(){return[t("div",{staticClass:"contentWrap"},[null!==e.printerComm&&null!==e.printer?t("printer-terminal",{attrs:{printer:e.printer,"printer-comm":e.printerComm,"full-screen-height":!0,"show-full-screen-opt":!1}}):e._e()],1)]},proxy:!0}])})},Su=[],Du={name:"PrinterTerminalPage",components:{PageLayout:Ft,CascadedDropdown:ci,PrinterTerminal:zd},data:function(){return{user:null,printerId:null,printer:null,printerComm:null}},created(){this.user=Object(Q["f"])(),this.printerId=it()(window.location.pathname,"/").slice(-3,-2).pop(),this.printerComm=Ca.getOrCreatePrinterComm(this.printerId,le["a"].printerWebSocket(this.printerId),{onPrinterUpdateReceived:e=>{this.printer=Ae(e,this.printer),this.webrtc&&!this.webrtc.initialized&&(this.webrtc.openForPrinter(this.printer.id,this.printer.auth_token),this.printerComm.setWebRTC(this.webrtc))},onTerminalFeedReceived:this.onNextTerminalFeed}),this.printerComm.connect()},methods:{onMenuOptionClicked(e){"share"===e&&this.onSharePrinter()}}},xu=Du,Tu=(i("5782"),Object(N["a"])(xu,Pu,Su,!1,null,"249551ea",null)),Iu=Tu.exports,Fu=function(){var e=this,t=e._self._c;return t("page-layout",{scopedSlots:e._u([{key:"content",fn:function(){return[t("b-container",[t("b-row",[t("b-col",[t("h2",{staticClass:"text-center"},[e._v(e._s(e.$t("First Layer Snapshots")))]),t("p",{staticClass:"my-4"},[e._v(" "+e._s(e.$t("Help {brandName}'s First Layer AI (codename: Celestrius) learn and improve quickly by telling her what issues exist in each of these snapshots.",{brandName:e.$syndicateText.brandName}))+" ")]),t("p",{staticClass:"text-secondary"},[e._v(e._s(e.$t("Why should I do this?")))]),t("p",{staticClass:"text-secondary small"},[e._v(" "+e._s(e.$t("{brandName}'s First Layer AI is still in her infant time. Just like a human baby, the only way she can learn is to be told by adults what is good and what is bad. By telling her what issues exist in these snapshots, you will help her get better at telling a good first layer apart from a bad one.",{brandName:e.$syndicateText.brandName}))+" ")]),t("p",{staticClass:"small"},[t("i",[e._v(" "+e._s(e.$t("Privacy Notice: By participating in this survey, you grant the {brandName} team members the permission to review all snapshots below.",{brandName:e.$syndicateText.brandName}))+" ")])]),t("h5",{staticClass:"text-primary mt-4"},[e._v(e._s(e.$t("Earn 3 AI Detection Hours!")))]),t("p",{staticClass:"text-primary mb-5"},[e._v(" "+e._s(e.$t("{name} snapshots were selected from your first layer print. Earn 3 AI Detection Hours by telling us if you see any printing issues with these snapshots!",{name:e.shots.length}))+" ")])])],1),t("b-row",{staticClass:"feedback-card"},[t("b-col",{attrs:{md:"8",lg:"6"}},[t("div",{staticClass:"card"},[t("loading",{attrs:{active:null===e.firstLayerInspection,"is-full-page":!0}}),null!==e.firstLayerInspection?t("div",[t("div",[t("div",[t("vue-slick-carousel",{ref:"carousel",attrs:{arrows:!1,dots:!0},on:{afterChange:e.onNextShot},scopedSlots:e._u([{key:"customPaging",fn:function(i){return[t("div",{class:e.pageClass(i)},[e._v("•")])]}}],null,!1,3226812120)},e._l(e.shots,(function(i,n){return t("first-layer-shot-card",{key:n,attrs:{shot:i,"shot-index":n,"total-shots":e.shots.length},on:{imageUpdated:e.onImageUpdated,prev:e.onPrev,next:e.onNext}})})),1)],1),t("br"),t("div",{staticClass:"card-body p-3"})])]):e._e()],1)])],1)],1)]},proxy:!0}])})},Au=[],$u=function(){var e=this,t=e._self._c;return t("div",[t("img",{staticClass:"card-img-top",attrs:{src:e.shot.image_url}}),t("div",{staticClass:"px-3 pt-4"},[t("p",[e._v(e._s(e.$t("What issues do you see in this snapshot? Select all that apply.")))]),t("div",{staticClass:"mb-4"},[t("b-form",[t("b-form-checkbox",{staticClass:"pr-5",model:{value:e.labels.raisedRipples,callback:function(t){e.$set(e.labels,"raisedRipples",t)},expression:"labels.raisedRipples"}},[t("i18next",{attrs:{translation:e.$t("Raised ripples ({localizedDom})")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("a",{attrs:{href:"#"},on:{click:function(t){return t.preventDefault(),(()=>e.openExample("raised","Raised ripples")).apply(null,arguments)}}},[e._v(e._s(e.$t("examples")))])]},proxy:!0}])})],1),t("b-form-checkbox",{staticClass:"pr-5",model:{value:e.labels.bubbling,callback:function(t){e.$set(e.labels,"bubbling",t)},expression:"labels.bubbling"}},[t("i18next",{attrs:{translation:e.$t("Bubbling ({localizedDom})")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("a",{attrs:{href:"#"},on:{click:function(t){return t.preventDefault(),(()=>e.openExample("bubbling","Bubbling")).apply(null,arguments)}}},[e._v(e._s(e.$t("examples")))])]},proxy:!0}])})],1),t("b-form-checkbox",{staticClass:"pr-5",model:{value:e.labels.bumpsAndRoughSurface,callback:function(t){e.$set(e.labels,"bumpsAndRoughSurface",t)},expression:"labels.bumpsAndRoughSurface"}},[t("i18next",{attrs:{translation:e.$t("Bumps or rough surfaces ({localizedDom})")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("a",{attrs:{href:"#"},on:{click:function(t){return t.preventDefault(),(()=>e.openExample("bumps","Bumps or rough surfaces")).apply(null,arguments)}}},[e._v(e._s(e.$t("examples")))])]},proxy:!0}])})],1),t("b-form-checkbox",{staticClass:"pr-5",model:{value:e.labels.detached,callback:function(t){e.$set(e.labels,"detached",t)},expression:"labels.detached"}},[t("i18next",{attrs:{translation:e.$t("Detached or warping ({localizedDom})")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("a",{attrs:{href:"#"},on:{click:function(t){return t.preventDefault(),(()=>e.openExample("detached","Detached or warping")).apply(null,arguments)}}},[e._v(e._s(e.$t("examples")))])]},proxy:!0}])})],1),t("b-form-checkbox",{staticClass:"pr-5",model:{value:e.labels.gaps,callback:function(t){e.$set(e.labels,"gaps",t)},expression:"labels.gaps"}},[t("i18next",{attrs:{translation:e.$t("Gaps between lines ({localizedDom})")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("a",{attrs:{href:"#"},on:{click:function(t){return t.preventDefault(),(()=>e.openExample("gaps","Gaps between lines")).apply(null,arguments)}}},[e._v(e._s(e.$t("examples")))])]},proxy:!0}])})],1),t("b-form-checkbox",{staticClass:"pr-5",model:{value:e.labels.other,callback:function(t){e.$set(e.labels,"other",t)},expression:"labels.other"}},[e._v(e._s(e.$t("Other")))]),t("b-form-checkbox",{staticClass:"pr-5",model:{value:e.labels.noIssues,callback:function(t){e.$set(e.labels,"noIssues",t)},expression:"labels.noIssues"}},[e._v(e._s(e.$t("No issues")))]),t("b-form-checkbox",{staticClass:"pr-5",model:{value:e.labels.notANozzleCam,callback:function(t){e.$set(e.labels,"notANozzleCam",t)},expression:"labels.notANozzleCam"}},[t("i18next",{attrs:{translation:e.$t("Oops, this is {localizedDom}")},scopedSlots:e._u([{key:"localizedDom",fn:function(){return[t("a",{attrs:{href:e.getDocUrl("/user-guides/nozzle-camera-configuration"),target:"_blank"}},[e._v(" "+e._s(e.$t("not a nozzle camera")))])]},proxy:!0}])})],1)],1)],1),t("div",{staticClass:"navigation-container my-4"},[t("b-button",{attrs:{disabled:e.isFirst,variant:"outline-secondary"},on:{click:function(t){return e.$emit("prev")}}},[t("i",{staticClass:"fas fa-chevron-left"}),e._v("  "+e._s(e.$t("Previous"))+" ")]),t("b-button",{attrs:{disabled:!e.labelsSelected,variant:"outline-secondary"},on:{click:e.onNext}},[e._v(" "+e._s(e.isLast?e.$t("Finish"):e.$t("Next"))+"  "),t("i",{staticClass:"fas fa-chevron-right"})])],1)])])},Ou=[],Nu=i("b54f"),Lu=i.n(Nu),Mu=i("a7dc"),Eu=i.n(Mu),Ru=i("ca65"),zu=i.n(Ru),Bu=i("0ecc"),Uu=i.n(Bu),ju=i("fe33"),Wu=i.n(ju),Hu=i("f830"),Vu=i.n(Hu),Yu=i("314a"),Gu=i.n(Yu),Ku=i("caaf"),qu=i.n(Ku),Ju=i("21a3"),Zu=i.n(Ju),Qu=i("8d81"),Xu=i.n(Qu),ep={name:"FirstLayerShotCard",props:{shot:{type:Object,required:!0},totalShots:{type:Number,required:!0},shotIndex:{type:Number,required:!0}},computed:{labelsSelected(){return""!==this.labelsToString(this.labels)},isFirst(){return 0===this.shotIndex},isLast(){return this.totalShots-1===this.shotIndex}},watch:{shot:{immediate:!0,handler(e){this.parseLabelsString(e.labels)}}},data(){return{answer:this.shot.answer,labels:{bubbling:!1,raisedRipples:!1,bumpsAndRoughSurface:!1,detached:!1,gaps:!1,other:!1,noIssues:!1,notANozzleCam:!1}}},methods:{labelsToString:function(e){return Object.keys(e).filter(t=>e[t]).join("|")},onNext:function(){this.updateLabels(),this.$emit("next")},updateLabels:function(){const e=this.labelsToString(this.labels);oe["a"].patch(`/ent/api/first_layer_inspection_image/${this.shot.id}/`,{labels:e}).then(e=>{this.$emit("imageUpdated",e.data)})},parseLabelsString(e){const t=e.split("|");for(const i in this.labels)this.$set(this.labels,i,t.includes(i))},openExample(e,t){const i={raised:[Lu.a,Eu.a],bubbling:[zu.a,Uu.a],bumps:[Wu.a,Vu.a],detached:[Gu.a,qu.a],gaps:[Zu.a,Xu.a]};this.$swal.fire({title:`

${t}

`,html:`\n
\n ${e} example 1\n ${e} example 2\n
\n `,customClass:{container:"dark-backdrop"}})}}},tp=ep,ip=(i("43f9"),Object(N["a"])(tp,$u,Ou,!1,null,"b52f1894",null)),np=ip.exports,ap={name:"FirstLayerInspectionImagePage",components:{Loading:gt.a,FirstLayerShotCard:np,VueSlickCarousel:mt.a,PageLayout:Ft},data:function(){return{shots:[],currentShot:0,firstLayerInspection:null,inspectionId:null}},computed:{},mounted(){this.fetchData()},methods:{fetchData(){const e=window.location.pathname.split("/");this.inspectionId=e[e.length-2];const t=new URLSearchParams(window.location.search);this.inspectionId=t.get("print_id"),oe["a"].get(le["a"].firstLayerInspection(this.inspectionId)).then(e=>{e.data.length&&(this.firstLayerInspection=e.data[0],this.shots=this.firstLayerInspection.images.sort((e,t)=>e.id-t.id))})},onImageUpdated(e){const t=pt()(this.shots,t=>t.id==e.id);this.$set(this.shots,t,e);const{credited_dhs:i}=e;i>0&&this.$swal.Prompt.fire({title:""+this.$i18next.t("You just earned 3 AI Detection Hours!"),html:`

${this.$i18next.t("Having more training data is crucial for a better First Layer AI. Thank you!")}

${this.$i18next.t("You can now close this page")}.

`,confirmButtonText:""+this.$i18next.t("Okay!")})},onNextShot(e){this.currentShot=e},onPrev(){this.$refs.carousel.prev()},onNext(){this.$refs.carousel.next()},pageClass(e){return e===this.currentShot?"page-visiting":this.shots[e].answered_at?"text-success":"page-unvisited"}}},rp=ap,sp=(i("586d"),Object(N["a"])(rp,Fu,Au,!1,null,"f7847cd8",null)),op=sp.exports;const lp=new a["a"]({mode:"history",routes:[{path:"/g_code_folders/cloud/:parentFolder",component:Do},{path:"/g_code_folders/local/:printerId/:parentFolder?",component:Do},{path:"/g_code_files/cloud/:fileId",component:Bo},{path:"/g_code_files/local/:printerId/:fileId",component:Bo},{path:"/user_preferences",component:ou},{path:"/printers/wizard/",component:kc},{path:"/printers/wizard/guide/:targetPlatform/",component:Ic},{path:"/printers/wizard/link/:targetPlatform/",component:vc},{path:"/printers/wizard/success/:printerId/",component:Lc},...Object.values(ae).map(e=>({path:e,component:ou}))]}),cp={NewOctoPrintTunnelPage:Qe,OctoPrintTunnelPage:st,PrintShotFeedbackApp:Xt,PrinterListPage:vl,SharedPrinterPage:Il,PrinterSettingsPage:Hl,PrinterLinkingPage:vc,PrinterControlPage:Zd,GCodeFoldersPage:Do,GCodeFilePage:Bo,PrintsPage:ha,PrintPage:ar,PrintHistoryPage:hn,StatsPage:Nn,UploadPrintPage:pr,UserPreferencesPage:ou,PrinterEventsPage:ku,PrinterTerminalPage:Iu,FirstLayerInspectionImagePage:op};ee(lp,cp)},5782:function(e,t,i){"use strict";i("aca5")},"586d":function(e,t,i){"use strict";i("521d")},"587d":function(e,t,i){"use strict";i("9135")},"58d0":function(e,t,i){"use strict";i("30c2")},"59cf":function(e,t,i){"use strict";i.d(t,"a",(function(){return d})),i.d(t,"c",(function(){return u})),i.d(t,"b",(function(){return f})),i.d(t,"d",(function(){return v}));var n={};i.r(n),i.d(n,"yumi",(function(){return s})),i.d(n,"kingroon",(function(){return o})),i.d(n,"mintion",(function(){return l})),i.d(n,"biqu",(function(){return c}));var a=i("6c44");const r={Light:"Light",Dark:"Dark",System:"System"},s={colors:[{name:"primary",values:{[r.Light]:"#078ED3",[r.Dark]:"#FFCC2E"}},{name:"primary-hover",values:{[r.Light]:"#0B88C8",[r.Dark]:"#FFCC2E"}},{name:"primary-muted",values:{[r.Light]:"#24A8EC",[r.Dark]:"#018786"}},{name:"on-primary",values:{[r.Light]:"#FFFFFF",[r.Dark]:"#001210"}},{name:"secondary",values:{[r.Light]:"#28303A",[r.Dark]:"#AAACB0"}},{name:"secondary-hover",values:{[r.Light]:"#424A54",[r.Dark]:"#D0D0D0"}},{name:"on-secondary",values:{[r.Light]:"#EBEBEB",[r.Dark]:"#28303A"}},{name:"success",values:{[r.Light]:"#5CB85C",[r.Dark]:"#5CB85C"}},{name:"success-hover",values:{[r.Light]:"#4CAE4C",[r.Dark]:"#4CAE4C"}},{name:"on-success",values:{[r.Light]:"#ffffff",[r.Dark]:"#ffffff"}},{name:"danger",values:{[r.Light]:"#D9534F",[r.Dark]:"#D9534F"}},{name:"danger-hover",values:{[r.Light]:"#C2413D",[r.Dark]:"#C2413D"}},{name:"on-danger",values:{[r.Light]:"#ffffff",[r.Dark]:"#ffffff"}},{name:"warning",values:{[r.Light]:"#F0AD4E",[r.Dark]:"#F0AD4E"}},{name:"warning-hover",values:{[r.Light]:"#DB9A3F",[r.Dark]:"#DB9A3F"}},{name:"on-warning",values:{[r.Light]:"#ffffff",[r.Dark]:"#ffffff"}},{name:"on-warning-2",values:{[r.Light]:"#000000",[r.Dark]:"#000000"}},{name:"background",values:{[r.Light]:"#EBEBEB",[r.Dark]:"#212224"}},{name:"surface-primary",values:{[r.Light]:"#ffffff",[r.Dark]:"#131920"}},{name:"surface-secondary",values:{[r.Light]:"#F5F5F5",[r.Dark]:"#000000"}},{name:"overlay",values:{[r.Light]:"#F5F5F5CC",[r.Dark]:"#000000CC"}},{name:"hover",values:{[r.Light]:"#66666613",[r.Dark]:"#FFFFFF13"}},{name:"hover-accent",values:{[r.Light]:"#66666626",[r.Dark]:"#C9E0FA26"}},{name:"divider",values:{[r.Light]:"#ABB6C2",[r.Dark]:"#6A7B8A"}},{name:"divider-muted",values:{[r.Light]:"#ABB6C266",[r.Dark]:"#6A7B8A66"}},{name:"text-primary",values:{[r.Light]:"#28303A",[r.Dark]:"#FFFFFF"}},{name:"text-secondary",values:{[r.Light]:"#8A94A2",[r.Dark]:"#AAACB0"}},{name:"text-help",values:{[r.Light]:"#4C9BE8",[r.Dark]:"#4C9BE8"}},{name:"input-background",values:{[r.Light]:"#E2E8ED",[r.Dark]:"#42566B"}},{name:"input-placeholder",values:{[r.Light]:"#28303A80",[r.Dark]:"#EBEBEB80"}},{name:"table-accent",values:{[r.Light]:"#E3E3E3",[r.Dark]:"#283848"}},{name:"icon-tunneling-1",values:{[r.Light]:"#4E5D6C",[r.Dark]:"#EAEAEA"}},{name:"icon-tunneling-2",values:{[r.Light]:"#1D2935",[r.Dark]:"#CDCDCD"}}]},o={colors:[{name:"primary",values:{[r.Light]:"#ED7100",[r.Dark]:"#ED7100"}},{name:"primary-hover",values:{[r.Light]:"#fb7a00",[r.Dark]:"#fb7a00"}},{name:"primary-muted",values:{[r.Light]:"#24A8EC",[r.Dark]:"#018786"}},{name:"on-primary",values:{[r.Light]:"#FFFFFF",[r.Dark]:"#001210"}},{name:"secondary",values:{[r.Light]:"#28303A",[r.Dark]:"#AAACB0"}},{name:"secondary-hover",values:{[r.Light]:"#424A54",[r.Dark]:"#D0D0D0"}},{name:"on-secondary",values:{[r.Light]:"#EBEBEB",[r.Dark]:"#28303A"}},{name:"success",values:{[r.Light]:"#5CB85C",[r.Dark]:"#5CB85C"}},{name:"success-hover",values:{[r.Light]:"#4CAE4C",[r.Dark]:"#4CAE4C"}},{name:"on-success",values:{[r.Light]:"#ffffff",[r.Dark]:"#ffffff"}},{name:"danger",values:{[r.Light]:"#D9534F",[r.Dark]:"#D9534F"}},{name:"danger-hover",values:{[r.Light]:"#C2413D",[r.Dark]:"#C2413D"}},{name:"on-danger",values:{[r.Light]:"#ffffff",[r.Dark]:"#ffffff"}},{name:"warning",values:{[r.Light]:"#F0AD4E",[r.Dark]:"#F0AD4E"}},{name:"warning-hover",values:{[r.Light]:"#DB9A3F",[r.Dark]:"#DB9A3F"}},{name:"on-warning",values:{[r.Light]:"#ffffff",[r.Dark]:"#ffffff"}},{name:"on-warning-2",values:{[r.Light]:"#000000",[r.Dark]:"#000000"}},{name:"background",values:{[r.Light]:"#EBEBEB",[r.Dark]:"#212224"}},{name:"surface-primary",values:{[r.Light]:"#ffffff",[r.Dark]:"#131920"}},{name:"surface-secondary",values:{[r.Light]:"#F5F5F5",[r.Dark]:"#000000"}},{name:"overlay",values:{[r.Light]:"#F5F5F5CC",[r.Dark]:"#000000CC"}},{name:"hover",values:{[r.Light]:"#66666613",[r.Dark]:"#FFFFFF13"}},{name:"hover-accent",values:{[r.Light]:"#66666626",[r.Dark]:"#C9E0FA26"}},{name:"divider",values:{[r.Light]:"#ABB6C2",[r.Dark]:"#6A7B8A"}},{name:"divider-muted",values:{[r.Light]:"#ABB6C266",[r.Dark]:"#6A7B8A66"}},{name:"text-primary",values:{[r.Light]:"#28303A",[r.Dark]:"#FFFFFF"}},{name:"text-secondary",values:{[r.Light]:"#8A94A2",[r.Dark]:"#AAACB0"}},{name:"text-help",values:{[r.Light]:"#4C9BE8",[r.Dark]:"#4C9BE8"}},{name:"input-background",values:{[r.Light]:"#E2E8ED",[r.Dark]:"#42566B"}},{name:"input-placeholder",values:{[r.Light]:"#28303A80",[r.Dark]:"#EBEBEB80"}},{name:"table-accent",values:{[r.Light]:"#E3E3E3",[r.Dark]:"#283848"}},{name:"icon-tunneling-1",values:{[r.Light]:"#4E5D6C",[r.Dark]:"#EAEAEA"}},{name:"icon-tunneling-2",values:{[r.Light]:"#1D2935",[r.Dark]:"#CDCDCD"}}]},l={colors:[{name:"primary",values:{[r.Light]:"#75C4FE",[r.Dark]:"#75C4FE"}},{name:"primary-hover",values:{[r.Light]:"#35A9FD",[r.Dark]:"#35A9FD"}},{name:"primary-muted",values:{[r.Light]:"#03DAC5",[r.Dark]:"#03DAC5"}},{name:"on-primary",values:{[r.Light]:"#FFFFFF",[r.Dark]:"#FFFFFF"}},{name:"secondary",values:{[r.Light]:"#28303A",[r.Dark]:"#28303A"}},{name:"secondary-hover",values:{[r.Light]:"#424A54",[r.Dark]:"#424A54"}},{name:"on-secondary",values:{[r.Light]:"#EBEBEB",[r.Dark]:"#EBEBEB"}},{name:"success",values:{[r.Light]:"#5CB85C",[r.Dark]:"#5CB85C"}},{name:"success-hover",values:{[r.Light]:"#4CAE4C",[r.Dark]:"#4CAE4C"}},{name:"on-success",values:{[r.Light]:"#ffffff",[r.Dark]:"#ffffff"}},{name:"danger",values:{[r.Light]:"#D9534F",[r.Dark]:"#D9534F"}},{name:"danger-hover",values:{[r.Light]:"#C2413D",[r.Dark]:"#C2413D"}},{name:"on-danger",values:{[r.Light]:"#ffffff",[r.Dark]:"#ffffff"}},{name:"warning",values:{[r.Light]:"#F0AD4E",[r.Dark]:"#F0AD4E"}},{name:"warning-hover",values:{[r.Light]:"#DB9A3F",[r.Dark]:"#DB9A3F"}},{name:"on-warning",values:{[r.Light]:"#ffffff",[r.Dark]:"#ffffff"}},{name:"on-warning-2",values:{[r.Light]:"#000000",[r.Dark]:"#000000"}},{name:"background",values:{[r.Light]:"#EBEBEB",[r.Dark]:"#EBEBEB"}},{name:"surface-primary",values:{[r.Light]:"#ffffff",[r.Dark]:"#ffffff"}},{name:"surface-secondary",values:{[r.Light]:"#F5F5F5",[r.Dark]:"#F5F5F5"}},{name:"overlay",values:{[r.Light]:"#F5F5F5CC",[r.Dark]:"#F5F5F5CC"}},{name:"hover",values:{[r.Light]:"#66666613",[r.Dark]:"#66666613"}},{name:"hover-accent",values:{[r.Light]:"#66666626",[r.Dark]:"#66666626"}},{name:"divider",values:{[r.Light]:"#ABB6C2",[r.Dark]:"#ABB6C2"}},{name:"divider-muted",values:{[r.Light]:"#ABB6C266",[r.Dark]:"#ABB6C266"}},{name:"text-primary",values:{[r.Light]:"#28303A",[r.Dark]:"#28303A"}},{name:"text-secondary",values:{[r.Light]:"#8A94A2",[r.Dark]:"#8A94A2"}},{name:"text-help",values:{[r.Light]:"#4C9BE8",[r.Dark]:"#4C9BE8"}},{name:"input-background",values:{[r.Light]:"#E2E8ED",[r.Dark]:"#E2E8ED"}},{name:"input-placeholder",values:{[r.Light]:"#28303A80",[r.Dark]:"#28303A80"}},{name:"table-accent",values:{[r.Light]:"#E3E3E3",[r.Dark]:"#E3E3E3"}},{name:"icon-tunneling-1",values:{[r.Light]:"#4E5D6C",[r.Dark]:"#4E5D6C"}},{name:"icon-tunneling-2",values:{[r.Light]:"#1D2935",[r.Dark]:"#1D2935"}}]},c={colors:[{name:"primary",values:{[r.Light]:"#3596f3",[r.Dark]:"#3596f3"}},{name:"primary-hover",values:{[r.Light]:"#70EFDE",[r.Dark]:"#70EFDE"}},{name:"primary-muted",values:{[r.Light]:"#018786",[r.Dark]:"#018786"}},{name:"on-primary",values:{[r.Light]:"#001210",[r.Dark]:"#001210"}},{name:"secondary",values:{[r.Light]:"#EBEBEB",[r.Dark]:"#EBEBEB"}},{name:"secondary-hover",values:{[r.Light]:"#D0D0D0",[r.Dark]:"#D0D0D0"}},{name:"on-secondary",values:{[r.Light]:"#28303A",[r.Dark]:"#28303A"}},{name:"success",values:{[r.Light]:"#5CB85C",[r.Dark]:"#5CB85C"}},{name:"success-hover",values:{[r.Light]:"#4CAE4C",[r.Dark]:"#4CAE4C"}},{name:"on-success",values:{[r.Light]:"#ffffff",[r.Dark]:"#ffffff"}},{name:"danger",values:{[r.Light]:"#D9534F",[r.Dark]:"#D9534F"}},{name:"danger-hover",values:{[r.Light]:"#C2413D",[r.Dark]:"#C2413D"}},{name:"on-danger",values:{[r.Light]:"#ffffff",[r.Dark]:"#ffffff"}},{name:"warning",values:{[r.Light]:"#F0AD4E",[r.Dark]:"#F0AD4E"}},{name:"warning-hover",values:{[r.Light]:"#DB9A3F",[r.Dark]:"#DB9A3F"}},{name:"on-warning",values:{[r.Light]:"#ffffff",[r.Dark]:"#ffffff"}},{name:"on-warning-2",values:{[r.Light]:"#000000",[r.Dark]:"#000000"}},{name:"background",values:{[r.Light]:"#0a0c22",[r.Dark]:"#0a0c22"}},{name:"surface-primary",values:{[r.Light]:"#20274f",[r.Dark]:"#20274f"}},{name:"surface-secondary",values:{[r.Light]:"#0c1239",[r.Dark]:"#0c1239"}},{name:"overlay",values:{[r.Light]:"#F5F5F5CC",[r.Dark]:"#F5F5F5CC"}},{name:"hover",values:{[r.Light]:"#66666613",[r.Dark]:"#66666613"}},{name:"hover-accent",values:{[r.Light]:"#66666626",[r.Dark]:"#66666626"}},{name:"divider",values:{[r.Light]:"#6A7B8A",[r.Dark]:"#6A7B8A"}},{name:"divider-muted",values:{[r.Light]:"#ABB6C266",[r.Dark]:"#ABB6C266"}},{name:"text-primary",values:{[r.Light]:"#EBEBEB",[r.Dark]:"#EBEBEB"}},{name:"text-secondary",values:{[r.Light]:"#AAACB0",[r.Dark]:"#AAACB0"}},{name:"text-help",values:{[r.Light]:"#283848",[r.Dark]:"#283848"}},{name:"input-background",values:{[r.Light]:"#42566B",[r.Dark]:"#000000"}},{name:"input-placeholder",values:{[r.Light]:"#28303A80",[r.Dark]:"#28303A80"}},{name:"table-accent",values:{[r.Light]:"#E3E3E3",[r.Dark]:"#E3E3E3"}},{name:"icon-tunneling-1",values:{[r.Light]:"#4E5D6C",[r.Dark]:"#4E5D6C"}},{name:"icon-tunneling-2",values:{[r.Light]:"#1D2935",[r.Dark]:"#1D2935"}}]},d={Light:"Light",Dark:"Dark",System:"System"},u=(Object(a["a"])()?localStorage.getItem("colorTheme"):d.Dark)||d.Dark,p=[{name:"primary",values:{[d.Light]:"#01A299",[d.Dark]:"#03DAC5"}},{name:"primary-hover",values:{[d.Light]:"#019592",[d.Dark]:"#70EFDE"}},{name:"primary-muted",values:{[d.Light]:"#03DAC5",[d.Dark]:"#018786"}},{name:"on-primary",values:{[d.Light]:"#FFFFFF",[d.Dark]:"#001210"}},{name:"secondary",values:{[d.Light]:"#28303A",[d.Dark]:"#EBEBEB"}},{name:"secondary-hover",values:{[d.Light]:"#424A54",[d.Dark]:"#D0D0D0"}},{name:"on-secondary",values:{[d.Light]:"#EBEBEB",[d.Dark]:"#28303A"}},{name:"success",values:{[d.Light]:"#5CB85C",[d.Dark]:"#5CB85C"}},{name:"success-hover",values:{[d.Light]:"#4CAE4C",[d.Dark]:"#4CAE4C"}},{name:"on-success",values:{[d.Light]:"#ffffff",[d.Dark]:"#ffffff"}},{name:"danger",values:{[d.Light]:"#D9534F",[d.Dark]:"#D9534F"}},{name:"danger-hover",values:{[d.Light]:"#C2413D",[d.Dark]:"#C2413D"}},{name:"on-danger",values:{[d.Light]:"#ffffff",[d.Dark]:"#ffffff"}},{name:"warning",values:{[d.Light]:"#F0AD4E",[d.Dark]:"#F0AD4E"}},{name:"warning-hover",values:{[d.Light]:"#DB9A3F",[d.Dark]:"#DB9A3F"}},{name:"on-warning",values:{[d.Light]:"#ffffff",[d.Dark]:"#ffffff"}},{name:"on-warning-2",values:{[d.Light]:"#000000",[d.Dark]:"#000000"}},{name:"background",values:{[d.Light]:"#EBEBEB",[d.Dark]:"#233141"}},{name:"surface-primary",values:{[d.Light]:"#ffffff",[d.Dark]:"#485B71"}},{name:"surface-secondary",values:{[d.Light]:"#F5F5F5",[d.Dark]:"#2D3E4F"}},{name:"overlay",values:{[d.Light]:"#F5F5F5CC",[d.Dark]:"#000000CC"}},{name:"hover",values:{[d.Light]:"#66666613",[d.Dark]:"#FFFFFF13"}},{name:"hover-accent",values:{[d.Light]:"#66666626",[d.Dark]:"#C9E0FA26"}},{name:"divider",values:{[d.Light]:"#ABB6C2",[d.Dark]:"#6A7B8A"}},{name:"divider-muted",values:{[d.Light]:"#ABB6C266",[d.Dark]:"#6A7B8A66"}},{name:"text-primary",values:{[d.Light]:"#28303A",[d.Dark]:"#EBEBEB"}},{name:"text-secondary",values:{[d.Light]:"#8A94A2",[d.Dark]:"#AAACB0"}},{name:"text-help",values:{[d.Light]:"#4C9BE8",[d.Dark]:"#4C9BE8"}},{name:"input-background",values:{[d.Light]:"#E2E8ED",[d.Dark]:"#42566B"}},{name:"input-placeholder",values:{[d.Light]:"#28303A80",[d.Dark]:"#EBEBEB80"}},{name:"table-accent",values:{[d.Light]:"#E3E3E3",[d.Dark]:"#283848"}},{name:"icon-tunneling-1",values:{[d.Light]:"#4E5D6C",[d.Dark]:"#EAEAEA"}},{name:"icon-tunneling-2",values:{[d.Light]:"#1D2935",[d.Dark]:"#CDCDCD"}}],h=[{name:"loader",values:{[d.Light]:'url("/static/img/loader/loader_light-scheme.svg")',[d.Dark]:'url("/static/img/loader/loader_dark-scheme.svg")'}}],m=[{name:"top-nav",values:{[d.Light]:"0px 2px 10px rgb(0 0 0 / .1)",[d.Dark]:"0px 2px 10px rgb(0 0 0 / .3)"}}];function f(e){return e.value===d.System?"not all"!==window.matchMedia("(prefers-color-scheme)").media&&window.matchMedia("(prefers-color-scheme: light)").matches?d.Light:d.Dark:e.value}function g(e,t){const i=new Map(e.map(e=>[e.name,e]));return t.forEach(e=>{i.set(e.name,e)}),Array.from(i.values())}function v(e,t){const i=t&&n[t]?g(p,n[t].colors):p;i.forEach((function(t){if(document.documentElement.style.setProperty("--color-"+t.name,t.values[e]),"surface-secondary"===t.name){let i=document.querySelector('meta[name="theme-color"]');i.content=t.values[e]}})),h.forEach((function(t){document.documentElement.style.setProperty("--url-"+t.name,t.values[e])})),m.forEach((function(t){document.documentElement.style.setProperty("--shadow-"+t.name,t.values[e])}))}},"59d9":function(e,t,i){"use strict";i("9650")},"5ce2":function(e,t,i){},"5fad":function(e,t,i){"use strict";i("6736")},"5fdc":function(e,t,i){"use strict";i("bc75")},6005:function(e,t,i){},"60f8":function(e,t,i){},"60fa":function(e,t,i){},6333:function(e,t,i){},6736:function(e,t,i){},"67e8":function(e,t,i){e.exports=i.p+"img/printer.png"},6912:function(e,t,i){"use strict";i("3476")},6984:function(e,t,i){"use strict";i("b49d")},"6c44":function(e,t,i){"use strict";function n(){try{const e="__random_key_we_are_not_going_to_use__";return localStorage.setItem(e,e),localStorage.removeItem(e),!0}catch(e){return!1}}i.d(t,"a",(function(){return n}))},"6dfa":function(e,t,i){},"6f7a":function(e,t,i){"use strict";i("6dfa")},"6f88":function(e,t,i){"use strict";i("02c7")},"73f2":function(e,t,i){},"742c":function(e,t,i){},7492:function(e,t,i){"use strict";i("1afa")},7566:function(e,t,i){},"767e":function(e,t,i){e.exports={primary:"#00c4b4",white:"#fff"}},"777a":function(e,t,i){e.exports=i.p+"img/commandLinePrompt.png"},"7ad3":function(e,t,i){},"7c3e":function(e,t,i){"use strict";i("d681")},"7cd5":function(e,t,i){"use strict";i("0f37")},"7eaa":function(e,t,i){},"800e":function(e,t,i){"use strict";i("60f8")},"80ed":function(e,t,i){"use strict";i("8d2c")},"83d4":function(e,t,i){"use strict";i("73f2")},"847e":function(e,t,i){"use strict";var n=function(){var e=this,t=e._self._c;return t("div",[t("div",{class:{"saving-in-progress":e.savingClass,"successfully-saved":e.savingDoneClass,"failed-to-save":e.savingFailedClass,"small-height":e.smallHeightClass}},[e._t("default")],2),e.errors&&e.errors.length>0?t("small",{staticClass:"text-danger"},[e._v(e._s(e.errorMsg))]):e._e()])},a=[],r={name:"SavingAnimation",props:{saving:{default(){return!1},type:Boolean},errors:{type:Array,default:null},height:{default(){return"normal"},type:String}},data(){return{savingTimeout:null,savingDoneTimeout:null}},computed:{savingClass(){return this.saving&&this.savingTimeout},savingDoneClass(){return!this.saving&&this.savingDoneTimeout&&!this.errors},savingFailedClass(){return!this.saving&&this.savingDoneTimeout&&this.errors&&this.errors.length>0},smallHeightClass(){return"small"===this.height},errorMsg(){return this.errors?this.errors.join(" "):""}},watch:{saving:function(e,t){!t&&e?(this.clearSavingTimeout(),this.savingTimeout=setTimeout(this.clearSavingTimeout,15e3)):t&&!e&&(this.clearSavingTimeout(),this.savingDoneTimeout=setTimeout(()=>{clearTimeout(this.savingDoneTimeout),this.savingDoneTimeout=null},2e3))}},methods:{clearSavingTimeout(){this.savingTimeout&&(clearTimeout(this.savingTimeout),this.savingTimeout=null)}}},s=r,o=(i("8a34"),i("2877")),l=Object(o["a"])(s,n,a,!1,null,"2e4df370",null);t["a"]=l.exports},"862f":function(e,t,i){},"86ab":function(e,t,i){"use strict";i("e008")},"86e2":function(e,t,i){},"883d":function(e,t,i){"use strict";i("60fa")},"886f":function(e,t,i){e.exports=i.p+"img/klipper_logo.jpg"},"89d8":function(e,t,i){"use strict";i("7eaa")},"8a34":function(e,t,i){"use strict";i("0fcf")},"8d2c":function(e,t,i){},"8d81":function(e,t,i){e.exports=i.p+"img/gaps-2.jpg"},"906f":function(e,t,i){"use strict";i("0b8b")},9135:function(e,t,i){},9363:function(e,t,i){"use strict";i("041a")},"94f0":function(e,t,i){"use strict";i("26d7")},9527:function(e,t,i){},"955c":function(e,t,i){"use strict";i("c4df")},9605:function(e,t,i){e.exports=i.p+"img/raspberry_pi.png"},"964f":function(e,t,i){},9650:function(e,t,i){},"9da6":function(e,t,i){},"9da9":function(e,t,i){"use strict";i("2bfb")},"9eda":function(e,t,i){"use strict";i("ced1")},a085:function(e,t,i){e.exports=i.p+"img/fluidd_logo.png"},a1cb:function(e,t,i){"use strict";i("4650")},a525:function(e,t,i){},a6c8:function(e,t,i){"use strict";i("439d")},a7dc:function(e,t,i){e.exports=i.p+"img/raisedRipples-3.jpg"},aca5:function(e,t,i){},ade1:function(e,t,i){},b223:function(e,t,i){"use strict";i("2a20")},b279:function(e,t,i){"use strict";i.d(t,"e",(function(){return u})),i.d(t,"f",(function(){return p})),i.d(t,"d",(function(){return h})),i.d(t,"g",(function(){return m})),i.d(t,"c",(function(){return f})),i.d(t,"a",(function(){return g})),i.d(t,"b",(function(){return v}));i("5494");var n=i("e740c"),a=i.n(n),r=i("2f9f"),s=i.n(r),o=i("6373"),l=i.n(o),c=i("9b02"),d=i.n(c);function u(e,t){return`${e.channelName}_${t}`}function p(e){return a()(s()(l()(e,/_/g," ")))}const h=(e,t,i)=>{const n=Math.round(e.length*t),a=i?"p":"fields.normalized_p";return d()(e[n],""+a,0)},m=(e,t)=>{if(e)if(e instanceof Blob){const i=new FileReader;i.addEventListener("loadend",e=>{e.srcElement&&t(e.srcElement.result)}),i.readAsArrayBuffer(e)}else t(e)},f=()=>{var e;return null===(e=document.getElementsByName("csrfmiddlewaretoken")[0])||void 0===e?void 0:e.value},g=(e,t)=>{fetch(e).then(e=>e.blob()).then(e=>{const i=document.createElement("a");i.setAttribute("download",t);const n=URL.createObjectURL(e);i.href=n,i.setAttribute("target","_blank"),i.click(),URL.revokeObjectURL(n)})},v=(e,t)=>e.utcOffset(e._tzm).format(t)},b3d0:function(e,t,i){},b49d:function(e,t,i){},b519:function(e,t,i){"use strict";i("ade1")},b54f:function(e,t,i){e.exports=i.p+"img/raisedRipples-2.jpg"},b579:function(e){e.exports=JSON.parse('{"Filters applied":"已应用的过滤器","SHOW ALL":"显示全部","Back":"返回","Show less":"显示较少","Show more":"显示更多","At least one date is needed":"至少需要一个日期","Select Dates":"选择日期","Apply":"应用","Cancel":"取消","Date from":"起始日期","If empty, will default to your registration date":"如果为空,则默认为您的注册日期","Enter date":"输入日期","Date to":"结束日期","If empty, will default to today":"如果为空,则默认为今天","Obi is still busy working on your time-lapse":"Obi仍在忙于处理您的延时摄影","Not Watching":"未观看","Looking Good":"看起来不错","Fishy...":"有点可疑...","Failing!":"失败!","What issues do you see in this snapshot? Select all that apply.":"您在这个快照中看到了什么问题?选择所有适用的。","Raised ripples ({localizedDom})":"凸起的波纹 ({localizedDom})","examples":"示例","Bubbling ({localizedDom})":"起泡 ({localizedDom})","Bumps or rough surfaces ({localizedDom})":"凸起或粗糙表面 ({localizedDom})","Detached or warping ({localizedDom})":"脱落或翘曲 ({localizedDom})","Gaps between lines ({localizedDom})":"线条之间的间隙 ({localizedDom})","Other":"其他","No issues":"没有问题","Oops, this is {localizedDom}":"哎呀,这是 {localizedDom}","not a nozzle camera":"不是喷嘴相机","Previous":"上一个","Finish":"完成","Next":"下一个","{name} isn\'t ready for print for one of the following reasons":"{{name}} 因以下原因之一未准备好打印","{name} is powered off or not connected to the Internet":"{{name}} 已关闭电源或未连接到互联网","Printer is not connected to {name}":"打印机未连接到 {{name}}","Printer is currently busy":"打印机当前正忙","No available printers":"没有可用的打印机","Print on":"打印于","Print":"打印","Are you sure?":"你确定吗?","Delete":"删除","Failed to delete item":"删除项目失败","No prints yet":"尚无打印","Printing...":"打印中...","Rename":"重命名","Move":"移动","Print duration estimate":"打印持续时间预估","Filament usage estimate":"耗材使用预估","First layer bed temperature":"首层床温","First layer extruder temperature":"首层挤出机温度","First layer height":"首层高度","Layer height":"层高","Object height":"对象高度","Filament type":"耗材类型","Filament name":"耗材名称","Slicer":"切片器","Slicer version":"切片器版本","Name":"名称","Size":"大小","Created":"已创建","Last Printed":"最后打印","Loading...":"加载中...","Nothing here yet":"这里还什么都没有","Nothing found":"未找到任何内容","Failed to move item(s)":"移动项目失败","Move item":"移动项目","Place Here":"放置在这里","Go Back":"返回","Enter new folder name":"输入新文件夹名称","Create":"创建","Folder name":"文件夹名称","Server error":"服务器错误","Enter new name":"输入新名称","New name":"新名称","Print!":"打印!","You\'ll be redirected to printers page in":"您将在以下时间后重定向到打印机页面","seconds":"秒","Total prints":"总打印量","Uploaded":"已上传","Deleted":"已删除","Fields above were embedded in the G-Code file by your slicer. Consult your slicer\'s manual if some fields are not accurate or missing.":"上述字段由您的切片器嵌入到G-Code文件中。如果某些字段不准确或缺失,请咨询您的切片器手册。","Basic Streaming":"基础流媒体","1 FPS (frame-per-second), 100 hours of streaming per month":"1 FPS(每秒帧数),每月 100 小时的流媒体","Learn more about {localizedDom}":"了解更多关于 {localizedDom} 的信息","the differences between the Premium Streaming and the Basic Streaming":"高级流媒体与基础流媒体之间的差异","Basic AI Detection checks for failures every 30 seconds.":"基本 AI 检测每 30 秒检查一次故障。","AI usage is reset on the 1st of each month. Hours do not roll over month to month.":"AI 使用量于每月 1 日重置。 工作时间不会逐月滚动。","Learn more about":"了解更多关于","how the AI Detection Hour works ":"AI检测小时如何工作","Securely tunnel to your Mainsail or fluidd Klipper interface from anywhere.":"从任何地方安全地连接到您的 Mainsail 或 Fluid Klipper 接口。","Free plan is subject to 300MB/month data cap. Data usage is reset on the 1st day of each month.":"免费计划受到每月300MB数据上限的限制。数据使用量将在每月的第一天重置。","Klipper tunnel ":"快艇隧道 ","Premium Streaming":"高级流媒体","Up to 25 FPS (frame-per-second)":"最高25 FPS(每秒帧数)","Up to 5 FPS with any webcam":"任何网络摄像头均可达到 5 FPS","Up to 25 FPS with Kingroon H.264 Camera.":"使用 Kingroon H.264 相机时高达 25 FPS。","Advanced AI checks for failures more frequently - Catch failures up to 2X faster than Basic AI.":"高级 AI 更频繁地检查故障 - 捕获故障的速度比基本 AI 快 2 倍。","Unused AI Detection Hours roll over month-to-month":"未使用的人工智能检测时间按月滚动","Securely tunnel to your Mainsail or fluidd Klipper interface from anywhere. Unlimited.":"从任何地方安全地连接到您的 Mainsail 或 Fluid Klipper 接口。 无限。","Up to 5 FPS (frame-per-second)":"最高5 FPS(每秒帧数)","Throttled for 30 seconds every minute":"每分钟限流30秒","Yup! Even Free account gets 10 AI Detection Hours for FREE each month.":"是的!即使是免费账户每月也可以免费获得10小时的AI检测时间。","Unused AI Detection Hours roll over month to month.":"未使用的AI检测时间可以月累月滚动。","You can":"您可以","earn free AI Detection Hours by helping her improve":"通过帮助她改进赚取免费AI检测时间","You can also":"您也可以","purchase additional AI hours":"购买额外的AI小时","Pro plan includes 50 AI Detection Hours each month.":"Pro计划每月包括50小时AI检测时间。","AI Detection Hours expire when subscription ends.":"订阅结束时,AI检测时间将过期。","earn more AI Detection Hours by helping her improve":"通过帮助她改进赚取更多AI检测时间","Un-throttled":"未限流","Securely tunnel to your OctoPrint/Klipper from anywhere.":"从任何地方安全地隧道连接到您的OctoPrint/Klipper。","OctoPrint/Klipper tunnel ":"OctoPrint/Klipper隧道","Securely tunnel to your OctoPrint/Klipper from anywhere. Unlimited.":"从任何地方安全地隧道连接到您的OctoPrint/Klipper。不限量。","The monthly cap is shared between 3rd-party app and OctoPrint tunnel":"月度上限在第三方应用和OctoPrint隧道之间共享","The combined usage can\'t exceed 300MB per month.":"合并使用量每月不能超过300MB。","Data usage is reset on the 1st day of each month.":"数据使用量将在每月的第一天重置。","Supported 3rd-party mobile apps":"支持的第三方移动应用","Required versions":"所需版本","OctoPrint 1.7.0 or higher":"OctoPrint 1.7.0或更高","The {brandName} plugin 1.8.11 or higher":"The {{brandName}} 插件 1.8.11 或更高","Filament Runout Notifications":"耗材用尽通知","Host_action_commands must be enabled in your firmware to make it possible for your filament runout sensor to communicate with OctoPrint and the {brandName} app. If you enable action commands in your firmware, then the filament runout sensor can work properly and the {brandName} app can notify you when the filament runs out. Unfortunately, without host_action_commands enabled, OctoPrint is unable to communicate with the printer to know that a filament runout was detected.":"您的固件中必须启用 Host_action_commands,以便您的耗材用尽传感器能够与 OctoPrint 和 {{brandName}} 应用通信。如果您在固件中启用动作命令,那么耗材用尽传感器可以正常工作,并且 {{brandName}} 应用可以在耗材用尽时通知您。不幸的是,如果没有启用 host_action_commands,OctoPrint 将无法与打印机通信以知道检测到耗材用尽。","To enable support, you need to do the following":"要启用支持,您需要执行以下操作","Marlin: Uncomment #define HOST_ACTION_COMMANDS in Configuration_adv.h and recompile. See here for more information on host_action_commands.":"Marlin:在Configuration_adv.h中取消注释#define HOST_ACTION_COMMANDS并重新编译。有关host_action_commands的更多信息,请参见此处。","Color Change Notifications":"颜色变更通知","Notifications on color change will work with any printer that has M600 enabled in its firmware. You do not need host_action_commands enabled to get notified when a color change is needed.":"只要打印机的固件中启用了M600,颜色变更通知就会工作。您不需要启用host_action_commands就可以在需要颜色变更时收到通知。","Is filament usage inaccurate?":"耗材使用是否不准确?","G-code files uploaded to your {brandName} account before upgrading to {brandName} for OctoPrint version 2.3.0 or {brandName} for Klipper version 1.2.0 do not include filament usage data.":"在升级到OctoPrint版本2.3.0或Klipper版本1.2.0的{{brandName}}之前上传到您的{{brandName}}账户的G-code文件不包括耗材使用数据。","To ensure accurate filament usage and other statistics":"为确保耗材使用和其他统计数据的准确性","Upload G-code files and start prints directly through {brandName} instead of OctoPrint/Klipper.":"通过{{brandName}}直接上传G-code文件并开始打印,而不是通过OctoPrint/Klipper。","Use a slicer that supports filament usage parameters, such as Cura, Prusa Slicer, SuperSlicer, IdeaMaker, or Simplify3D.":"使用支持耗材使用参数的切片软件,如Cura、Prusa Slicer、SuperSlicer、IdeaMaker或Simplify3D。","Print statistics for G-code files deleted before 12/20/2022 are not included. For files deleted after 12/20/2022, statistics are preserved.":"2022年12月20日之前删除的G-code文件的打印统计数据不包括在内。对于2022年12月20日之后删除的文件,统计数据将被保留。","Learn how to configure G-Code preview generation in your slicer":"了解如何在您的切片软件中配置G-Code预览生成","Adjust the speed of the cooling fan by setting a percentage value between 0 and 100. The default value is usually 100, which means the fan will run at full speed. Lowering the fan speed can reduce noise and save energy, but may also affect print quality if the printer gets too hot.":"通过设置0到100之间的百分比值来调整冷却风扇的速度。默认值通常为100,这意味着风扇将以全速运行。降低风扇速度可以减少噪音并节省能源,但如果打印机过热,也可能影响打印质量。","Adjust the speed of your 3D printer by changing the speed of all movement commands by a specified factor. The default value is 100%, meaning that the printer will move at its standard speed. Lowering the print speed factor will slow down your print, while increasing it will speed it up. Value of 200% will double the speed.":"通过按指定因素更改所有移动命令的速度来调整3D打印机的速度。默认值为100%,意味着打印机将以其标准速度移动。降低打印速度因子将减慢打印速度,增加则会加快速度。200%的值将使速度加倍。","Flow rate is the speed at which the printer extrudes plastic. If the flow rate is too high, the printer may extrude too much plastic and create blobs or stringing, while too low flow rate may result in weak and brittle prints. Adjusting the flow rate can help achieve the optimal balance between speed and quality. The default value is 100%.":"流速是打印机挤出塑料的速度。如果流速过高,打印机可能会挤出过多的塑料,造成滴落或拉丝现象;而流速过低可能导致打印物脆弱易断。调整流速可以帮助在速度和质量之间达到最佳平衡。默认值为100%。","No cost for three months. Plan renews after expiration. Cancel anytime.":"三个月不用花钱。 计划到期后续订。 随时取消。","Printers":"打印机","Print History":"打印历史","G-Codes":"G-代码","Spaghetti Gallery":"意大利面画廊","Pricing":"定价","Help":"帮助","Community":"社区","SIGN IN":"登录","SIGN UP":"注册","Preferences":"偏好设置","Log out":"登出","Upgrade to Pro":"升级到专业版","Statistics":"统计","Notifications":"通知","Number of snapshots":"快照数量","Estimated time to finish":"预计完成时间","Help Obi get better at detecting failures by giving her in-depth feedback on the snapshots of the print. You will earn {localizedDom} after you finish this Focused Feedback. {localizedDom2}":"通过对打印快照提供深入反馈,帮助Obi更好地检测失败。完成这次专注反馈后,您将获得 {localizedDom}。{localizedDom2}","2 non-expirable AI Detection Hours":"2小时不过期的AI检测时间","Learn more":"了解更多","Start Focused Feedback":"开始专注反馈","I grant the {brandName} app team members the permission to review the time-lapse video of the print shown on this page.":"我授权 {{brandName}} 应用团队成员查看此页面上显示的打印延时视频的权限。","Why is this necessary? ":"为什么这是必要的?","File":"文件","Printed":"已打印","You are awesome!":"你太棒了!","The AI failure detection just got a little better because of your feedback!":"因为你的反馈,AI失败检测刚刚变得更好了!","You just earned 2 non-expirable AI Detection Hours - Yay!":"你刚刚获得了2小时不过期的AI检测时间 - 赞!","I\'m done!":"我完成了!","Change feedback":"更改反馈","Not sure? Look at":"不确定?看看","some examples. ":"一些例子。","Failure Detection":"故障检测","AI Detection Hours":"AI检测小时","Not watching":"未观看","Learn all possible reasons":"了解所有可能的原因","Enable AI failure detection":"启用AI故障检测","AI failure detection is disabled. You are on your own.":"AI故障检测已禁用。你得自己来。","Pause on detected failures":"检测到故障时暂停","You will still be alerted via notifications.":"你仍然会通过通知被提醒。","Failure Detected!":"检测到故障!","Not a Failure?":"不是故障?","Unable to extrude / retract":"无法挤出/回收","The hotend is below the minimum temperature":"热端温度低于最低温度","Heat to 180°C":"加热至180°C","Command successfully sent!":"命令成功发送!","Printer Controls":"打印机控制","Move Head":"移动喷头","Extrude":"挤出","Baby Step Z":"微调Z轴","Tune Printer":"调整打印机","Power":"电源"," Home All":"回归原点","Disable Steppers":"禁用步进电机","Retract":"回抽","Loading tools...":"加载工具...","Current Offset":"当前偏移","Feed Rate / Speed":"进给率/速度","Flow Rate":"流量","Fan Speed":"风扇速度","0% (Off)":"0%(关闭)","These settings can only be set. They can\'t be read back from the firmware due to a limitation of the communication protocol.":"这些设置只能被设定。由于通信协议的限制,它们无法从固件中读回。"," Toggle Power ":" 切换电源 "," Power On All ":" 全部开机 "," Power Off All ":" 全部关机 ","Rapid toggling power may result in error. Please allow a cooldown period.":"快速切换电源可能会导致错误。请允许一个冷却期。","Uh-Oh. No printer is found on the serial port.":"哦哦。在串行端口上找不到打印机。","Once cancelled, the print can no longer be resumed.":"一旦取消,打印就无法再恢复了。","Print Job Control":"打印任务控制","Error":"错误","Filament Change or User Interaction Required":"需要更换耗材或用户互动","Printer is Currently Printing":"打印机当前正在打印","Print is Paused":"打印已暂停","Pause":"暂停","Resume":"恢复","Open G-Code File to Start Printing":"打开G-Code文件开始打印","Files":"文件","Printer Not Connected at the Serial Port":"打印机未在串行端口连接","Contacting OctoPrint":"正在联系OctoPrint","Connect":"连接","{brandName} for {name} is Offline.":"{{brandName}} 为 {{name}} 处于离线状态。","Why?":"为什么?","Print Progress":"打印进度","Last Print":"上次打印","Status":"状态","Started":"已开始","Duration":"持续时间","Layer":"层","Remaining":"剩余","Calculating...":"正在计算...","Finishing at":"完成于","Elapsed":"已过去","Z-height":"Z高度","Total time":"总时间","Total filament":"总耗材","Open Print":"打开打印","Reprint":"重新打印","No prints found":"未找到打印","Temperature Presets":"温度预设","Temperature Controls":"温度控制","Loading temperature...":"加载温度...","Printer Terminal":"打印机终端","Unknown event":"未知事件","Serial Port":"串行端口","Baudrate":"波特率","Auto":"自动","Noted!":"已记录!","Do you want to mute failure detection on for this print?":"您是否希望对这次打印关闭故障检测?","If you select \'Mute\', failure detection will be turned off for this print, but will be automatically turned on for your next print.":"如果您选择\'静音\',故障检测将为这次打印关闭,但会在您的下次打印时自动开启。","Mute":"静音","Failed to update printer":"更新打印机失败","Open":"打开","Details":"详情","Share":"分享","Tunnel":"隧道","Configure":"配置","Not a failure?":"不是故障?","Failure Detection is Off":"故障检测已关闭","Learn more. ":"了解更多。","Enable AI failure detection {localizedDom}":"启用AI故障检测 {localizedDom}","AI failure detection is disabled. You are on your own":"AI故障检测已禁用。您需要自己判断","Pause on detected failures {localizedDom}":"在检测到故障时暂停 {localizedDom}","You will still be alerted via notifications":"您仍然会通过通知被提醒"," Remaining ":" 剩余 "," Total ":" 总计 ","Printer Feed Sharing":"打印机源分享","Wait! You need to {localizedDom} to enable Printer feed.":"等一下!您需要 {localizedDom} 来启用打印机源。","upgrade to the Pro plan":"升级到专业计划","Printer feed sharing is a Pro feature.":"打印机源分享是专业版功能。","Running the {brandName} app incurs non-trivial amount of costs":"运行 {{brandName}} 应用产生了相当数量的成本","With little more than 1 Starbucks per month, you can upgrade to a Pro account and help us run the {brandName} app smoothly.":"仅需每月1杯星巴克的费用,您就可以升级到专业账户,并帮助我们顺利运行 {{brandName}} 应用。","Check out Pro pricing >>>":"查看专业版价格 >>>","Share live feed for printer ":"分享打印机实时源 ","Click the clipboard icon above to copy the secure shareable link to your clipboard.":"点击上方的剪贴板图标,将安全可分享的链接复制到您的剪贴板。","You can test the shareable link by right-clicking {localizedDom} and select \'Open Link in Incognito Window\'.":"您可以通过右键点击 {localizedDom} 并选择\'在隐身窗口中打开链接\'来测试可分享链接。","here":"这里","Notes":"备注","Send the secure link to anyone you want to share your printer feed with. They do NOT need the {brandName} account to see your printer feed.":"将安全链接发送给任何您想与之分享打印机源的人。他们不需要 {{brandName}} 账户就可以查看您的打印机源。","Anyone with this shareable link will be able to see your printer feed.":"任何拥有此可分享链接的人都将能够查看您的打印机源。","Learn more about what they can see.":"了解更多关于他们能看到什么。","Presets":"预设","Temperature presets can be edited or added in {agentName} settings.":"温度预设可以在 {{agentName}} 设置中被编辑或添加。","OFF":"关闭","Manual":"手动","Oops!":"哎呀!","Handshake failed because the pop-up was blcoked.":"由于弹出窗口被阻止,握手失败。","Please unblock the pop-up in your browser and try it again.":"请在浏览器中解除弹出窗口阻止,然后再试一次。","Okay!":"好的!","Switch to Manual Setup":"切换到手动设置","Handshake failed!":"握手失败!","Please make sure":"请确保","The OctoPrint you want to link is at {host}:{port}, and it\'s connected to the same local network as your computer/phone.":"您要链接的OctoPrint位于{{host}}:{{port}},并且与您的计算机/手机连接到同一局域网。","The version of plugin is 1.8.0 or above.":"插件版本为1.8.0或以上。","The {brandName} app needs to make sure you have access to selected printer.":"{{brandName}} 应用需要确保您可以访问所选的打印机。","When you press \'Link Now\' button below, a new browser window will pop up to finish a handshake with this printer.":"当您点击下面的\'立即链接\'按钮时,将弹出一个新的浏览器窗口来完成与此打印机的握手。","Link Now":"立即链接","Platform":"平台","IP address":"IP地址","Hostname":"主机名","OctoPi":"OctoPi","OS":"操作系统","Link":"链接","Device Selection":"设备选择","Install Obico":"安装 Obico","Link Printer":"链接打印机","First Layer Report":"首层报告","uploaded":"已上传","Open File":"打开文件","First Layer Grade":"首层等级","First Layer Print Time":"首层打印时间","First Layer Notes":"首层备注","You\'re first layer score is":"您的首层得分是","Grade {localizedDom} usually means one of the following":"等级 {localizedDom} 通常意味着以下之一:","AI Time-Lapse":"人工智能延时摄影","Original Time-Lapse":"原始延时拍摄","Give Feedback About This Report":"提供关于此报告的反馈","Possible failure detected!":"可能检测到故障!","(Cancelled)":"(已取消)","Time-lapse video deleted":"时间延迟视频已删除","Time-lapse videos older than 6-months are deleted from the {brandName} app server as they are rarely needed and cost significant amount to store in the cloud.":"超过6个月的时间延迟视频将从 {{brandName}} 应用服务器中删除,因为它们很少被需要且在云端存储成本很高。","If you are a Pro subscriber and you don\'t want your time-lapse videos to be deleted, please ":"如果您是专业订阅者并且不希望您的时间延迟视频被删除,请","contact us":"联系我们","Download Original Time-lapse":"下载原始时间延迟视频","Download Detective Time-lapse":"下载侦探时间延迟视频"," ":" ","Video file is deleted.":"视频文件已删除。","Did we get it right?":"我们做对了吗?","CUSED FEEDBACK":"专注反馈","Thank you for completing the Focused Feedback. You have earned 2 non-expirable AI Detection Hours. You can click the button again to change your feedback.":"感谢您完成专注反馈。您已赚取2小时不过期的AI检测时间。您可以再次点击按钮来更改您的反馈。","With Focused Feedback, you can tell us exactly where we got it wrong. This is the most effective way to help us improve.":"通过专注反馈,您可以准确告诉我们我们哪里做错了。这是帮助我们改进的最有效方式。","You will earn 2 AI Detection Hours once you finish the Focused Feedback":"完成专注反馈后,您将获得2小时AI检测时间","Every time you give us feedback,":"每次您给我们反馈,","you help us get better at detecting failures":"您帮助我们更好地检测失败","Search":"搜索","Ascending":"升序","Descending":"降序","SORT BY":"排序方式","DIRECTION":"方向","Upgrade for Better Streaming":"升级以获得更好的流媒体","Because you are now on the":"因为您现在处于","{brandName} Cloud Free plan":"{{brandName}} 云免费计划","Streaming is limited to 5 FPS (frames per second).":"流媒体限制为5 FPS(每秒帧数)。","After 30 seconds of streaming there is a 30-second cooldown before you can resume streaming.":"流媒体30秒后,您需要等待30秒冷却时间才能继续流媒体。","Support the {brandName} project by":"通过以下方式支持 {{brandName}} 项目","upgrading to the Pro plan for little more than 1 Starbucks a month.":"每月仅需略高于1杯星巴克的费用即可升级到专业计划。","The Pro plan offers many perks, including the":"专业计划提供许多特权,包括","Smooth 25 FPS.":"平滑的25 FPS。","Unlimited streaming with no cooldowns.":"无限流媒体,无需冷却。","Video frames dropped":"视频帧丢失","The video frames are getting dropped because there is most likely a bandwidth bottleneck along the route they travel from your Raspberry Pi to your computer. The bottleneck can be anywhere, but in most cases,":"视频帧丢失可能是因为从您的树莓派到您的计算机的路由上存在带宽瓶颈。瓶颈可以在任何地方,但在大多数情况下,","it is either your computer\'s internet connection, or your Raspberry Pi\'s":"要么是您计算机的互联网连接,要么是您的树莓派的","Make sure your computer is connected to the same network as your Pi. If you still see this warning, you need to trouble-shoot your computer\'s Wi-Fi connection, probably by moving closer to the Wi-Fi router.":"确保您的计算机与您的Pi连接到同一网络。如果您仍然看到这个警告,您需要对您的计算机的Wi-Fi连接进行故障排除,可能通过靠近Wi-Fi路由器来解决。","If the webcam stream is smooth when your computer is on the same Wi-Fi network as your Pi, the bottleneck is likely with the upload speed of your internet connection. You need to run a speed test to make sure you have high-enough upload speed, as well as":"如果当您的计算机与您的Pi在同一个Wi-Fi网络上时,摄像头流畅,则瓶颈可能在于您的互联网连接的上传速度。您需要进行速度测试,以确保您有足够高的上传速度,以及","low latency (ping)":"低延迟(ping)","Check out":"查看","the step-by-step trouble-shooting guide.":"逐步故障排除指南。","Webcam stream buffering":"网络摄像头流缓冲","When you see the messaging about webcam stream is \'buffering\' occasionally, you can just reload the page. If this message repeatedly appears, it may indicate one of the problems":"当您偶尔看到有关网络摄像头流“缓冲”的消息时,您可以重新加载页面。如果这个消息反复出现,它可能表明存在以下问题之一","1. A constricted video stream on your Raspberry Pi. The most common reasons are":"1. 您的树莓派上的视频流受限。最常见的原因是","Camera resolution is set too high.":"摄像头分辨率设置过高。","Camera framerate is set too high.":"摄像头帧率设置过高。","The upload speed of your Raspberry Pi is too low.":"您的树莓派的上传速度太低。","2. The internet connection of your computer or phone is not fast enough.":"2. 您的计算机或手机的互联网连接不够快。","3. Your webcam is not properly connected to your Raspberry Pi.":"3. 您的网络摄像头未正确连接到您的树莓派。","Check":"检查","this step-by-step troubleshooting guide":"这个逐步故障排除指南","Buffering...":"缓冲中...","Why is it stuck?":"为什么会卡住?","Webcam streams up to 5 FPS for Free":"免费提供高达5 FPS的网络摄像头流","Learn more...":"了解更多...","Filter":"过滤器","Suppress Temperature":"抑制温度消息","Suppress SD Status Messages":"抑制SD状态消息","Suppress Position Messages":"抑制位置消息","Suppress \'OK\' Messages":"抑制\'OK\'消息","Enter code...":"输入代码...","Terminal feed is off":"终端输出已关闭","Failed to fetch authorized apps":"获取授权应用失败","Failed to remove access":"移除访问权限失败","Authorized Apps":"授权应用","App Name":"应用名称","Printer to Access":"访问打印机","Remove Access":"移除访问权限","General":"通用","Land directly on the printer control page if I have only 1 printer":"如果我只有一台打印机,则直接进入打印机控制页面","This option will be ignored if you have multiple printers. In this case, you will always land on the printer overview page.":"如果您有多台打印机,此选项将被忽略。在这种情况下,您将始终进入打印机概览页面。","View Archived Printers":"查看已归档打印机","Enable notifications":"启用通知","Enable notification":"启用通知","Please configure the following variables in the \'.env\' file":"请在\'.env\'文件中配置以下变量","Edit Name":"编辑名称","Profile":"个人资料","First Name":"名字","Last Name":"姓","Primary Email":"主要电子邮箱","Manage email addresses":"管理电子邮箱地址","Password":"密码","Change":"更改","Appearance":"外观","Theme":"主题","DARK":"暗色","LIGHT":"亮色","Sync theme with system settings":"与系统设置同步主题","Failure alerts":"故障警报","When possible failures are detected":"当检测到可能的故障时","Print job events":"打印任务事件","Upon start/end/cancellation of a print job":"在打印任务开始/结束/取消时","When print is done":"当打印完成时","When print is cancelled":"当打印被取消时","When printer needs attention":"当打印机需要注意时","Such as filament change or run-out":"例如耗材更换或用尽","When print is started":"当打印开始时","When print is paused":"当打印暂停时","Note: this event may be triggered by other plugins that pause the print frequently, such as the timelapse plugin":"注意:此事件可能由其他经常暂停打印的插件触发,例如延时摄影插件","When print is resumed":"当打印恢复时","Heater status change":"加热器状态变化","Heater reached target or cooled down":"加热器达到目标温度或已冷却","Push Notification":"推送通知","Failed to contact printer. Is it powered on and connected to Internet?":"无法联系到打印机。它是否已开机并连接到互联网?","Printer not responding":"打印机无响应","The printer doesn\'t seem to be responding. Is it powered on and connected to the Internet? Please":"打印机似乎没有响应。它是否已开机并连接到互联网?请","report the problem to us":"向我们报告问题","if this error repeats multiple times.":"如果这个错误多次重复。","Get help from":"获取帮助来自","the {brandName} for Klipper support forum":"{{brandName}} Klipper 支持论坛","or":"或","the {brandName} general support forum":"{{brandName}} 通用支持论坛","if this error persists.":"如果这个错误持续存在。","Email":"电子邮件","SMS":"短信","Pushbullet":"Pushbullet","Discord":"Discord","Telegram":"Telegram","Pushover":"Pushover","Slack":"Slack","Webhook":"Webhook","Webhook URL":"Webhook URL","Discord Webhook":"Discord Webhook","If you have a Discord channel you wish to receive notifications on, you can {localizedDom} and enter it here.":"如果您有希望接收通知的Discord频道,您可以{localizedDom}然后在这里输入。","generate webhook url":"生成webhook网址","Notifications are sent to verified email addresses only.":"通知仅发送至已验证的电子邮件地址。","Account events {localizedDom}":"账户事件 {localizedDom}","Plan changed; AI Detection Hours running low; etc.":"计划变更;AI检测时间不足;等。","Access Token":"访问令牌","Pushbullet Access Token":"Pushbullet访问令牌","If you have a Pushbullet account, you can {localizedDom} and enter it here.":"如果您有一个Pushbullet账户,您可以{localizedDom}然后在这里输入。","generate an access token":"生成一个访问令牌","User Key":"用户密钥","Pushover User Key":"Pushover用户密钥","If you have a Pushover account, you can {localizedDom} and enter it here.":"如果您有一个Pushover账户,您可以{localizedDom}然后在这里输入。","get your User Key":"获取您的用户密钥","Slack test failed":"Slack测试失败","Close":"关闭","{brandName} Messenger has been successfully added to your workspace.":"{{brandName}} Messenger 已成功添加到您的工作区。","What\'s Next?":"下一步是什么?"," 1. Make sure {brandName} Messenger is added to the channels you want the notifications to be sent to.":" 1. 确保 {{brandName}} Messenger 已添加到您希望发送通知的频道。","2. There is no 2. You are all set. It\'s this simple. 😀":"2. 没有第二步。您已全部设置好。就是这么简单。😀","Click the button below to add the {brandName} Slack App into your workspace":"点击下面的按钮将 {{brandName}} Slack 应用添加到您的工作区","Test Notifications":"测试通知","Test Slack Notification":"测试Slack通知","Questions?":"有问题?","Q: How do I remove the {brandName} Slack App from a slack channel so that it won\'t send notifications to that channel?":"Q: 我如何从Slack频道中移除 {{brandName}} Slack 应用,以便它不会向该频道发送通知?","Q: How do I remove the {brandName} Slack App from the entire workspace?":"Q: 我如何从整个工作区中移除 {{brandName}} Slack 应用?","A: Please follow the instructions in {localizedDom}.":"A: 请按照 {localizedDom} 中的说明操作。","this Slack help doc":"这个Slack帮助文档","Telegram test failed":"Telegram测试失败","Login to be notified by our Telegram bot.":"登录以接收我们Telegram机器人的通知。","Telegram in the mobile app is very finicky. Please open a browser, and log into {localizedDom} using the same credential to set up Telegram.":"移动应用中的Telegram非常挑剔。请打开浏览器,并使用相同的凭据登录到 {localizedDom} 来设置Telegram。","the {brandName} web app":"{{brandName}} 网络应用","Once set up, Telegram notification will work properly on your phone.":"一旦设置完成,Telegram通知将在您的手机上正常工作。","If you see \'Bot domain invalid\', please hard-refresh the browser a few times. I know it\'s annoying. But Telegram API has a very high failure rate.":"如果您看到\'Bot域无效\',请对浏览器进行几次硬刷新。我知道这很烦人。但Telegram API的失败率非常高。","If you press the \'Test Telegram Notification\' button and see an error, please hard-refresh the browser a few times and press the test button again.":"如果您按下\'测试Telegram通知\'按钮并看到错误,请对浏览器进行几次硬刷新并再次按测试按钮。","Unlink Telegram":"取消链接Telegram","Test Telegram Notification":"测试Telegram通知","Oops, we don\'t send SMS to this country code":"哎呀,我们不向这个国家代码发送短信","Phone Number":"电话号码","Country Code":"国家代码","Custom Webhook URL":"自定义Webhook URL","Enter a custom webhook URL at which to receive notifications.":"输入一个自定义的webhook URL来接收通知。","You just earned 3 AI Detection Hours!":"您刚刚获得了3个AI检测小时!","Having more training data is crucial for a better First Layer AI. Thank you!":"拥有更多的训练数据对于更好的第一层AI至关重要。谢谢您!","You can now close this page":"您现在可以关闭此页面","First Layer Snapshots":"第一层快照","Help {brandName}\'s First Layer AI (codename: Celestrius) learn and improve quickly by telling her what issues exist in each of these snapshots.":"通过告诉她每个快照中存在的问题,帮助{{brandName}}的第一层AI(代号:Celestrius)快速学习和改进。","Why should I do this?":"我为什么要这么做?","{brandName}\'s First Layer AI is still in her infant time. Just like a human baby, the only way she can learn is to be told by adults what is good and what is bad. By telling her what issues exist in these snapshots, you will help her get better at telling a good first layer apart from a bad one.":"{{brandName}}的第一层AI还处于初期阶段。就像一个人类婴儿,她能学习的唯一方式是被成年人告知什么是好的,什么是坏的。通过告诉她这些快照中存在的问题,您将帮助她更好地区分好的和坏的第一层。","Privacy Notice: By participating in this survey, you grant the {brandName} team members the permission to review all snapshots below.":"隐私声明:通过参与这项调查,您授权{{brandName}}团队成员审查下面的所有快照。","Earn 3 AI Detection Hours!":"赚取3个AI检测小时!","{name} snapshots were selected from your first layer print. Earn 3 AI Detection Hours by telling us if you see any printing issues with these snapshots!":"从您的第一层打印中选择了{{name}}个快照。通过告诉我们您是否在这些快照中看到任何打印问题来赚取3个AI检测小时!","Host printer for this gcode not found":"未找到此gcode的宿主打印机","Rename file":"重命名文件","Delete file":"删除文件","This G-Code file doesn\'t exists":"此G-Code文件不存在","This file is deleted and unavailable for print":"该文件已被删除,无法打印","This file doesn\'t have any prints yet":"这个文件还没有任何打印","File storage":"文件存储","Sort":"排序","Create folder":"创建文件夹","Available to browse files":"可浏览文件","Unable to browse files":"无法浏览文件","Delete {name} item(s)? This action can not be undone.":"删除 {{name}} 项?此操作无法撤销。","Yes":"是","No":"否","Failed to delete files and folders":"删除文件和文件夹失败","{name} isn\'t available for browsing files for one of the following reasons":"{{name}} 由于以下原因之一,无法浏览文件","{brandName} for {name} plugin is outdated (you need version {version} or later)":"{{brandName}} 适用于 {{name}} 的插件已过时(您需要 {{version}} 版本或更高)","Printer not found or unavailable":"找不到打印机或不可用","Folder with this name already exists":"已存在同名文件夹","Select all":"全选","selected":"已选","STORAGE":"存储","Cloud":"云","G-Code file (*.gcode, *.gco, or *.g) only.":"仅限G-Code文件(*.gcode、*.gco或*.g)。","Up to {maxFilesize} MB each file, {maxTotalFilesize} GB total.":"每个文件最多 {{maxFilesize}} MB,总计 {{maxTotalFilesize}} GB。","Search in Klipper printers works only for current directory":"在Klipper打印机中搜索仅适用于当前目录","Welcome To":"欢迎来到","Your 30-Day {localizedDom} Free Trial Has Started!":"您的30天 {localizedDom} 免费试用已开始!","Pro Plan":"专业计划","{trialDaysLeft} Days Left on Your {localizedDom} Free Trial!":"您的 {localizedDom} 免费试用还剩 {trialDaysLeft} 天!","Unlimited Secure Tunnel to your {platformDisplayName}":"无限安全隧道至您的 {{platformDisplayName}}","Premium 25 FPS Webcam Streaming":"高级25 FPS网络摄像头流媒体","250 AI Failure Detection Hours":"250小时AI故障检测","G-Code Remote Upload and Printing":"G-Code远程上传和打印","{platformDisplayName} has not been linked to your {brandName} account.":"{{platformDisplayName}} 尚未与您的 {{brandName}} 账户链接。","Link {platformDisplayName} Now":"立即链接 {{platformDisplayName}}","It\'s as easy as 1-2-3.":"简单如1-2-3。","Not ready to start yet? {localizedDom} to pause your free trial.":"还没准备好开始?{localizedDom} 来暂停您的免费试用。","Email us":"给我们发送电子邮件","Authorization Successful!":"授权成功!","You can close this page":"您可以关闭此页面","Tunnel Access Authorization":"隧道访问授权","is requesting to access you {platformDisplayName} Tunnel.":"正在请求访问您的 {{platformDisplayName}} 隧道。","is a secure way provided by {localizedDom} to remotely access your {platformDisplayName}. With the {platformDisplayName} Tunnel, you can use {appDisplayName} to access your {platformDisplayName} from anywhere.":"是由 {localizedDom} 提供的一种安全方式,用于远程访问您的 {platformDisplayName}。通过 {platformDisplayName} 隧道,您可以从任何地方使用 {appDisplayName} 访问您的 {platformDisplayName}。","Tunnel usage of a free account is {localizedDom} to enjoy unlimited tunnel usage.":"免费账户的隧道使用是 {localizedDom},以享受无限的隧道使用。","capped at 300MB per month":"每月上限为300MB","upgrade to the {brandName} app Pro plan for 1 Starbucks a month":"每月1星巴克的价格升级到 {{brandName}} 应用的Pro计划","After the Free trial expires, tunnel data usage will be {localizedDom} to continue enjoying unlimited tunnel usage.":"免费试用结束后,隧道数据使用将被 {localizedDom},以继续享受无限的隧道使用。","Tunnel access by {localizedDom} (make sure you trust it)":"隧道访问由 {localizedDom} 提供(确保您信任它):","You have 0 active printers":"您有0台活跃的打印机","Please select a printer":"请选择一台打印机","Authorize":"授权","Manage Apps":"管理应用","Security notes":"安全说明","The app can only access the tunnel, not your {brandName} account info such as your email address.":"应用只能访问隧道,无法访问您的 {{brandName}} 账户信息,如您的电子邮件地址。","The access remains valid until explicitly revoked. You can revoke the access by going to Preferences -> Authorized Apps.":"访问权限将保持有效,直到明确撤销。您可以通过前往偏好设置 -> 授权应用来撤销访问权限。","Log Out":"登出","Free {platformDisplayName} Tunnel":"免费的 {{platformDisplayName}} 隧道","Powered by {brandName}":"由 {{brandName}} 提供支持","With the Free {platformDisplayName} Tunnel by {brandName}, you can now use {appDisplayName} to":"通过 {{brandName}} 提供的免费 {{platformDisplayName}} 隧道,您现在可以使用 {{appDisplayName}} 来","securely control and monitor your printer from anywhere":"从任何地方安全地控制和监视您的打印机","Unlimited realtime webcam at 0.1FPS.":"无限实时网络摄像头,0.1FPS。","300MB monthly tunnel data cap (excluding webcam streaming).":"每月300MB隧道数据上限(不包括网络摄像头流媒体)。","10 hours/mo AI failure detection.":"每月10小时AI故障检测。","Upgrade to {brandName} Pro Account ({localizedDom}) to get premium features":"升级到 {brandName} Pro账户 ({localizedDom}) 以获取高级功能:","from $4/mo":"从 $4/月起","Unlimited realtime webcam streaming.":"无限实时网络摄像头流媒体。","Unlimited tunnel data usage.":"无限隧道数据使用。","50 hours/mo AI failure detection.":"每月50小时AI故障检测。","And much more...":"还有更多...","SIGN IN ":"登录 ","- OR -":"- 或 -","OctoPrint/Klipper Secure Tunnel":"OctoPrint/Klipper 安全隧道","It may take long time for OctoPrint/Mainsail/Fluidd page to load as it is securely tunneled via the {brandName} app server.":"由于通过 {{brandName}} 应用服务器安全隧道传输,加载 OctoPrint/Mainsail/Fluidd 页面可能需要较长时间。","Learn more about OctoPrint/Klipper tunnel\'s security and page load speed.":"了解更多关于 OctoPrint/Klipper 隧道的安全性和页面加载速度。","Don\'t show again":"不再显示","Monthly data usage ({localizedDom})":"每月数据使用情况 ({localizedDom})","Resets in {daysUntilReset} days":"{{daysUntilReset}} 天后重置","Used {usageMTD} of {humanizedUsageCap}.":"已使用 {{usageMTD}},共 {{humanizedUsageCap}}。","Your month-to-date tunnel data usage is over the Free plan limit.":"您到目前为止的本月隧道数据使用量已超过免费计划限制。","Get Unlimited Tunnel Data":"获取无限隧道数据","Successfully linked to your account!":"成功链接到您的账户!","Printer name":"打印机名称","Give your printer a shiny name.":"给您的打印机一个闪亮的名称。","Authorize App Access":"授权应用访问","Go Check Out Printer Feed!":"去查看打印机源!","Add Phone Number":"添加电话号码","Receive text (SMS) in case of print failures.":"在打印失败时接收文本(短信)。","Change Printer Settings":"更改打印机设置","You can always change it later.":"您可以稍后再更改。","Install Obico for Klipper":"安装 Obico for Klipper","Find the Guide for Your Printer to install Obico for Klipper.":"查找打印机指南以安装 Obico for Klipper。","SSH to your device.":"通过 SSH 连接到您的设备。","Enter the installation commands.":"输入安装命令。","Alternatively, you can use KIAUH to install Obico.":"或者,您可以使用 KIAUH 安装 Obico。","Upon \\"Scanning the networking...\\", come back here and click \\"Next\\".":"在“扫描网络...”后,返回此处并单击“下一步”。","Install Obico for OctoPrint":"安装 Obico for OctoPrint","Open OctoPrint in another browser tab.":"在另一个浏览器标签页中打开OctoPrint。","Select":"选择","OctoPrint settings menu → Plugin Manager → Get More...":"OctoPrint设置菜单 → 插件管理器 → 获取更多...","Enter \'{brandName}\' to locate the plugin. Click":"输入\'{{brandName}}\'来定位插件。点击","Install":"安装","Restart OctoPrint when prompted.":"根据提示重启OctoPrint。","SSH to the Raspberry Pi (or other SBC) your Klipper runs on.":"SSH到运行Klipper的树莓派。","Run:":"运行:","1. Unbox and assemble the 3D printer following the manufacturers instructions":"1. 按照制造商的说明拆箱并组装 3D 打印机","2. Power on the 3D printer and make sure it is connected to WiFi.":"2. 打开3D打印机电源并确保其连接到WiFi。","3. Tap “Next” when you are ready.":"3. 准备好后,点击“下一步”。","Need help? Check out the {localizedDom}":"需要帮助?查看{localizedDom}","step-by-step set up guide":"逐步设置指南","The 6-digit code needs to be entered in the Obico plugin in OctoPrint. There are a few reasons why you can\'t find this page:":"需要在 OctoPrint 的 Obico 插件中输入 6 位代码。 找不到此页面有以下几个原因:","You don\'t have the plugin installed or you haven\'t restarted OctoPrint after installation. Click":"您没有安装插件,或者安装后没有重启 OctoPrint。点击","to walk through the process again.":"再次走过这个过程。","The installed plugin is on a version earlier than 1.5.0. You need to upgrade the plugin to":"已安装的插件版本早于 1.5.0。您需要将插件升级到","or later.":"或更高版本。","Still no dice? Check out the step-by-step":"仍然不行?查看逐步","set up guide":"设置指南","The 6-digit code needs to be entered to the Obico for Klipper installation script.":"需要将 6 位代码输入到 Obico for Klipper 安装脚本中。","this set up guide":"这个设置指南","for detailed instructions.":"获取详细说明。","Can\'t find the page to enter the 6-digit code?":"找不到输入6位数代码的页面?","Scanning...":"正在扫描...","Scanning..., {name} printer(s) found on your local network:":"正在扫描...,在您的本地网络上发现了{{name}}台打印机:","To link your printer, please make sure:":"要链接您的打印机,请确保:","The printer is powered on. If you are using an external SBC such as a Raspberry Pi, make sure it\'s powered on as well.":"打印机已开机。如果您正在使用外部SBC,如树莓派,请确保它也已开机。","The printer or SBC is connected to the same local network as your phone/computer.":"打印机或SBC与您的手机/计算机连接到同一局域网。","{brandName} for OctoPrint is 1.8.0 or above.":"{{brandName}}适用于OctoPrint的版本为1.8.0或以上。","Can’t find the printer you want to link? Switch to Manual Linking instead.":"找不到您要链接的打印机? 改为手动链接。","Switch to Manual Linking":"切换到手动链接","Code copied to system clipboard":"代码已复制到系统剪贴板","Ctrl-C/Cmd-C to copy the code":"使用Ctrl-C/Cmd-C复制代码","Code will expire in ":"代码将在以下时间后过期:","Enter the {localizedDom}":"输入{localizedDom}","6-digit verification code":"6位验证码","Invalid code. Is it expired?":"无效代码。它是否已过期?","Enter the One-time Passcode":"输入一次性密码","If you using Obico for OctoPrint older than 2.5.0, or Obico for Klipper older than 1.6.0, switch to {localizedDom}.":"如果您使用 Obico for OctoPrint 早于 2.5.0 的版本,或 Obico for Klipper 早于 1.6.0 的版本,请切换到 {localizedDom}。","Touch Screen":"触摸屏","Check to see if your printer already has Obico installed your printer screen.":"检查您的打印机是否已安装 Obico 打印机屏幕。","Navigate to the settings menu on the LCD screen of your printer.":"导航至打印机 LCD 屏幕上的设置菜单。","Find the “Link Obico” menu item and tap it to open the connection screen.":"找到“Link Obico”菜单项并点击它以打开连接屏幕。","LCD Screen ":"液晶屏","Check to see if your printer already has Obico Easy Link installed on the LCD menu.":"检查您的打印机的 LCD 菜单上是否已安装 Obico Easy Link。","Find the “Link Obico” menu item.":"找到“链接 Obico”菜单项。","Install Via SSH":"通过 SSH 安装","If you can\'t find Obico Easy Link, you will need to SSH to your printer to install Obico. You will need to find a guide that works for your printer.":"如果找不到 Obico Easy Link,则需要通过 SSH 连接到打印机才能安装 Obico。 您需要找到适合您的打印机的指南。","Show me how":"告诉我怎么做","Warning: Re-Linking OctoPrint should be your last resort to solve issues. Please make sure you have exhausted all options on {localizedDom}.":"警告:重新链接 OctoPrint 应该是解决问题的最后手段。 请确保您已用尽 {localizedDom} 上的所有选项。","{brandName}\'s help website":"{{brandName}}的帮助网站","Devices with Obico Pre-installed":"预装 Obico 的设备","Pre-Installed Klipper Printer":"预装 Klipper 打印机","Creality K1, Sonic Pad, Sovol SV07, Kingroon KLP1, Elegoo Neptune 4, etc...":"Creality K1、Sonic Pad、Sovol SV07、Kingroon KLP1、Elegoo Neptune 4 等...","Generic Klipper - Self Installed":"通用 Klipper - 自安装","If you installed Klipper yourself on a Raspberry Pi or other linux device. E.g., Voron, RatRig":"如果您自己在 Raspberry Pi 或其他 Linux 设备上安装了 Klipper。 例如,Voron、RatRig","Including OctoPrint for Klipper such as OctoKlipper.":"包括适用于Klipper的OctoPrint,如OctoKlipper。","Save":"保存","OctoPrint Tunnel":"OctoPrint隧道","Additional Actions":"额外操作","Reorder":"重新排序","Hide":"隐藏","Customize this page for each of your printers by reodering or hiding cards above.":"通过重新排序或隐藏上面的卡片,为您的每台打印机自定义此页面。","Add Printer":"添加打印机","Link another printer to {brandName}.":"将另一台打印机链接到{{brandName}}。","Webcam":"摄像头","WEBCAM SELECTION":"网络摄像头选择","All":"全部","Nothing to look here. Enjoy your vacation!":"这里没有什么可看的。享受您的假期!","No more notifications.":"没有更多通知。","Created at":"创建于","Print Status":"打印状态","All Printers":"所有打印机","Online Printers":"在线打印机","Active Printers":"活跃打印机","{name} AI Detection Hours":"{{name}} AI检测小时","You can always view your archived printers in by navigating to the General tab within Preferences.":"您可以通过导航至偏好设置中的“通用”标签页随时查看已存档的打印机。","Link New Printer":"链接新打印机","have been archived.":"已被归档。","Show Archived Printers":"显示已归档的打印机","Never Show Again":"不再显示","Printer not found":"未找到打印机","Can not update printer settings.":"无法更新打印机设置。","{brandName} for klipper support forum":"klipper 支持论坛的 {{brandName}}","Delete {name} printer? This action can not be undone.":"删除{{name}}打印机?此操作无法撤销。","Printer archived":"打印机已归档","{name} is archived.":"{{name}}已被归档。","You can find it on":"您可以在此找到它","this page":"这个页面","and un-archive it":"并取消其归档","Go to the printer page":"前往打印机页面","Settings":"设置","Give your shiny new printer a name":"给您的全新打印机起个亮眼的名字","When a potential failure is detected":"当检测到潜在故障时","Just notify me":"只需通知我","Pause the printer and notify me":"暂停打印机并通知我","If you are not sure about the settings below, leave the default values to minimize surprises.":"如果您不确定以下设置,请保留默认值以尽量减少意外。","When print is paused,":"当打印暂停时,","Turn off hotend heater(s)":"关闭热端加热器","Turn off bed heater":"关闭热床加热器","Retract filament by":"回抽耗材","Lift extruder along Z axis by":"沿Z轴提升挤出机","AI failure detection sensitivity":"AI故障检测灵敏度","Low - I don\'t want a lot of false alarms. Only alert me when you are absolutely sure.":"低 - 我不想要很多误报。只有在你绝对确定时才提醒我。","Medium - A few false alarms won\'t bother me. But some well-disguised spaghetti will be missed.":"中 - 一些误报不会打扰我。但是一些伪装得很好的意大利面条会被错过。","High - Hit me with all the false alarms. I want to catch as many failures as possible.":"高 - 给我所有的误报。我想尽可能捕捉到更多的失败。","Time-lapse":"延时摄影","Focused Feedback won\'t be available when time-lapse recording is turned off. You won\'t be able to {localizedDom}":"关闭延时摄影录制时,将无法使用专注反馈。您将无法 {localizedDom}","help us get better while earning AI Detection Hours for yourself":"在为自己赚取AI检测时间的同时帮助我们变得更好","Record time-lapse when a print finishes successfully.":"打印成功完成时记录延时摄影。","Skip if the print is finished in less than":"如果打印在少于以下时间内完成则跳过","Record time-lapse when a print is cancelled.":"打印被取消时记录延时摄影。","Skip if the print is cancelled in less than":"如果打印在少于以下时间内取消则跳过","Danger Zone":"危险区","Re-Link Printer":"重新链接打印机","If your printer is always showing as \'offline\', and you have gone through {localizedDom}, you can try to re-link printer as the last resort.":"如果您的打印机始终显示为\'离线\',并且您已经尝试了 {localizedDom},您可以将重新链接打印机作为最后的手段。","all the trouble-shooting steps":"所有故障排除步骤","Archive Printer":"归档打印机","Archived printers are not counted toward your subscription plan. You won\'t see them in the app either. Go to {localizedDom} to find all archived printers and/or un-archive them.":"归档的打印机不计入您的订阅计划。您在应用程序中也看不到它们。前往 {localizedDom} 查找所有归档的打印机并/或取消归档它们。","Delete Printer":"删除打印机","Bye-bye printer.":"再见,打印机。","Date":"日期","Time Period":"时间段","This Week":"本周","This Month":"本月","This Year":"今年","Custom":"自定义","Finished":"已完成","Cancelled":"已取消","Feedback Needed":"需要反馈","Review Needed":"需要审查","Focused Feedback Needed":"需要专注反馈","Delete {name} print(s)? This action can not be undone.":"删除 {{name}} 打印?此操作无法撤销。","Until":"直到","and later":"及以后","Sort By":"排序方式","Prints done":"完成的打印","Total print time":"总打印时间","Filament used":"使用的耗材","Full Stats":"完整统计","Older":"较旧","Newer":"较新","Failed to fetch printer information":"获取打印机信息失败","Start time":"开始时间","End time":"结束时间","Open Detailed Report":"打开详细报告","Time-Lapse video deleted":"时间延迟视频已删除","If you are a Pro subscriber and you don\'t want your time-lapse videos to be deleted, please {localizedDom}":"如果您是Pro订阅者并且不希望您的时间延迟视频被删除,请{localizedDom}","FOCUSED FEEDBACK":"专注反馈","Time-Lapse video unavailable because":"时间延迟视频不可用,因为","The {brandName} server is still processing the time-lapse;":"{{brandName}} 服务器仍在处理时间延迟;","Or, the print time was shorter than the threshold. You can change the threshold in {localizedDom}":"或者,打印时间短于阈值。您可以在 {localizedDom} 中更改阈值","the printer settings":"打印机设置","Print Page":"打印页面","Delete {brandName} print(s)? This action can not be undone.":"删除{{brandName}}印刷品吗? 此操作无法撤消。","{name} time-lapse(s) deleted!":"{{name}} 时间延迟视频已删除!","Time-lapse {name} deleted!":"时间延迟视频 {{name}} 已删除!","selected...":"已选择...","No more time-lapses.":"没有更多时间延迟视频。","You are viewing an awesome 3D print your friend shared specifically with you on":"您正在查看您的朋友在以下平台上特别与您分享的精彩3D打印:","lets you monitor and control your printer from anywhere, on your phone.":"让您可以在任何地方通过手机监控和控制您的打印机。","Sign up for a free {brandName} account":"注册免费的 {{brandName}} 账户","Failed to fetch statistics":"获取统计数据失败","GROUP BY":"分组依据","Group By":"分组依据","Statistics include deleted prints":"统计包括已删除的打印","Total Prints":"总打印数","Print Time":"打印时间","Longest print":"最长打印","Average print":"平均打印","Prints Count":"打印计数","Filament Usage":"耗材使用","total":"总计","Upload Time-lapse":"上传时间延迟","Upload time-lapse videos to test {brandName}\'s AI failure detection.":"上传时间延迟视频以测试 {{brandName}} 的AI故障检测。","Drop files here or click to upload.":"将文件拖放到此处或点击上传。","*.mp4 or *.mpg files only. Up to 100MB each.":"仅限 *.mp4 或 *.mpg 文件。每个文件最多 100MB。","The {brandName} Server is running failure detection on the time-lapse video(s) you uploaded.":"{{brandName}} 服务器正在您上传的时间延迟视频上运行故障检测。","We will send you email when it is done.":"完成后我们将通过电子邮件通知您。","Check status now >>>":"立即检查状态 >>>","Confirmation":"确认","You a going to logout from your account":"您即将从您的账户登出","Logout":"登出","Can not update your preferences":"无法更新您的偏好设置","Account":"账户"}')},b5c8:function(e,t,i){"use strict";i("b3d0")},b6d2:function(e,t,i){},bb69:function(e){e.exports=JSON.parse('{"Filters applied":"Filters applied","SHOW ALL":"SHOW ALL","Back":"Back","Show less":"Show less","Show more":"Show more","At least one date is needed":"At least one date is needed","Select Dates":"Select Dates","Apply":"Apply","Cancel":"Cancel","Date from":"Date from","If empty, will default to your registration date":"If empty, will default to your registration date","Enter date":"Enter date","Date to":"Date to","If empty, will default to today":"If empty, will default to today","Obi is still busy working on your time-lapse":"Obi is still busy working on your time-lapse","Not Watching":"Not Watching","Looking Good":"Looking Good","Fishy...":"Fishy...","Failing!":"Failing!","What issues do you see in this snapshot? Select all that apply.":"What issues do you see in this snapshot? Select all that apply.","Raised ripples ({localizedDom})":"Raised ripples ({localizedDom})","examples":"examples","Bubbling ({localizedDom})":"Bubbling ({localizedDom})","Bumps or rough surfaces ({localizedDom})":"Bumps or rough surfaces ({localizedDom})","Detached or warping ({localizedDom})":"Detached or warping ({localizedDom})","Gaps between lines ({localizedDom})":"Gaps between lines ({localizedDom})","Other":"Other","No issues":"No issues","Oops, this is {localizedDom}":"Oops, this is {localizedDom}","not a nozzle camera":"not a nozzle camera","Previous":"Previous","Finish":"Finish","Next":"Next","{name} isn\'t ready for print for one of the following reasons":"{{name}} isn\'t ready for print for one of the following reasons","{name} is powered off or not connected to the Internet":"{{name}} is powered off or not connected to the Internet","Printer is not connected to {name}":"Printer is not connected to {{name}}","Printer is currently busy":"Printer is currently busy","No available printers":"No available printers","Print on":"Print on","Print":"Print","Are you sure?":"Are you sure?","Delete":"Delete","Failed to delete item":"Failed to delete item","No prints yet":"No prints yet","Printing...":"Printing...","Rename":"Rename","Move":"Move","Print duration estimate":"Print duration estimate","Filament usage estimate":"Filament usage estimate","First layer bed temperature":"First layer bed temperature","First layer extruder temperature":"First layer extruder temperature","First layer height":"First layer height","Layer height":"Layer height","Object height":"Object height","Filament type":"Filament type","Filament name":"Filament name","Slicer":"Slicer","Slicer version":"Slicer version","Name":"Name","Size":"Size","Created":"Created","Last Printed":"Last Printed","Loading...":"Loading...","Nothing here yet":"Nothing here yet","Nothing found":"Nothing found","Failed to move item(s)":"Failed to move item(s)","Move item":"Move item","Place Here":"Place Here","Go Back":"Go Back","Enter new folder name":"Enter new folder name","Create":"Create","Folder name":"Folder name","Server error":"Server error","Enter new name":"Enter new name","New name":"New name","Print!":"Print!","You\'ll be redirected to printers page in":"You\'ll be redirected to printers page in","seconds":"seconds","Total prints":"Total prints","Uploaded":"Uploaded","Deleted":"Deleted","Fields above were embedded in the G-Code file by your slicer. Consult your slicer\'s manual if some fields are not accurate or missing.":"Fields above were embedded in the G-Code file by your slicer. Consult your slicer\'s manual if some fields are not accurate or missing.","Basic Streaming":"Basic Streaming","1 FPS (frame-per-second), 100 hours of streaming per month":"1 FPS (frame-per-second), 100 hours of streaming per month","Learn more about {localizedDom}":"Learn more about {localizedDom}","the differences between the Premium Streaming and the Basic Streaming":"the differences between the Premium Streaming and the Basic Streaming","Basic AI Detection checks for failures every 30 seconds.":"Basic AI Detection checks for failures every 30 seconds.","AI usage is reset on the 1st of each month. Hours do not roll over month to month.":"AI usage is reset on the 1st of each month. Hours do not roll over month to month.","Learn more about":"Learn more about","how the AI Detection Hour works ":"how the AI Detection Hour works ","Securely tunnel to your Mainsail or fluidd Klipper interface from anywhere.":"Securely tunnel to your Mainsail or fluidd Klipper interface from anywhere.","Free plan is subject to 300MB/month data cap. Data usage is reset on the 1st day of each month.":"Free plan is subject to 300MB/month data cap. Data usage is reset on the 1st day of each month.","Klipper tunnel ":"Klipper tunnel ","Premium Streaming":"Premium Streaming","Up to 25 FPS (frame-per-second)":"Up to 25 FPS (frame-per-second)","Up to 5 FPS with any webcam":"Up to 5 FPS with any webcam","Up to 25 FPS with Kingroon H.264 Camera.":"Up to 25 FPS with Kingroon H.264 Camera.","Advanced AI checks for failures more frequently - Catch failures up to 2X faster than Basic AI.":"Advanced AI checks for failures more frequently - Catch failures up to 2X faster than Basic AI.","Unused AI Detection Hours roll over month-to-month":"Unused AI Detection Hours roll over month-to-month","Securely tunnel to your Mainsail or fluidd Klipper interface from anywhere. Unlimited.":"Securely tunnel to your Mainsail or fluidd Klipper interface from anywhere. Unlimited.","Up to 5 FPS (frame-per-second)":"Up to 5 FPS (frame-per-second)","Throttled for 30 seconds every minute":"Throttled for 30 seconds every minute","Yup! Even Free account gets 10 AI Detection Hours for FREE each month.":"Yup! Even Free account gets 10 AI Detection Hours for FREE each month.","Unused AI Detection Hours roll over month to month.":"Unused AI Detection Hours roll over month to month.","You can":"You can","earn free AI Detection Hours by helping her improve":"earn free AI Detection Hours by helping her improve","You can also":"You can also","purchase additional AI hours":"purchase additional AI hours","Pro plan includes 50 AI Detection Hours each month.":"Pro plan includes 50 AI Detection Hours each month.","AI Detection Hours expire when subscription ends.":"AI Detection Hours expire when subscription ends.","earn more AI Detection Hours by helping her improve":"earn more AI Detection Hours by helping her improve","Un-throttled":"Un-throttled","Securely tunnel to your OctoPrint/Klipper from anywhere.":"Securely tunnel to your OctoPrint/Klipper from anywhere.","OctoPrint/Klipper tunnel ":"OctoPrint/Klipper tunnel ","Securely tunnel to your OctoPrint/Klipper from anywhere. Unlimited.":"Securely tunnel to your OctoPrint/Klipper from anywhere. Unlimited.","The monthly cap is shared between 3rd-party app and OctoPrint tunnel":"The monthly cap is shared between 3rd-party app and OctoPrint tunnel","The combined usage can\'t exceed 300MB per month.":"The combined usage can\'t exceed 300MB per month.","Data usage is reset on the 1st day of each month.":"Data usage is reset on the 1st day of each month.","Supported 3rd-party mobile apps":"Supported 3rd-party mobile apps","Required versions":"Required versions","OctoPrint 1.7.0 or higher":"OctoPrint 1.7.0 or higher","The {brandName} plugin 1.8.11 or higher":"The {{brandName}} plugin 1.8.11 or higher","Filament Runout Notifications":"Filament Runout Notifications","Host_action_commands must be enabled in your firmware to make it possible for your filament runout sensor to communicate with OctoPrint and the {brandName} app. If you enable action commands in your firmware, then the filament runout sensor can work properly and the {brandName} app can notify you when the filament runs out. Unfortunately, without host_action_commands enabled, OctoPrint is unable to communicate with the printer to know that a filament runout was detected.":"Host_action_commands must be enabled in your firmware to make it possible for your filament runout sensor to communicate with OctoPrint and the {{brandName}} app. If you enable action commands in your firmware, then the filament runout sensor can work properly and the {{brandName}} app can notify you when the filament runs out. Unfortunately, without host_action_commands enabled, OctoPrint is unable to communicate with the printer to know that a filament runout was detected.","To enable support, you need to do the following":"To enable support, you need to do the following","Marlin: Uncomment #define HOST_ACTION_COMMANDS in Configuration_adv.h and recompile. See here for more information on host_action_commands.":"Marlin: Uncomment #define HOST_ACTION_COMMANDS in Configuration_adv.h and recompile. See here for more information on host_action_commands.","Color Change Notifications":"Color Change Notifications","Notifications on color change will work with any printer that has M600 enabled in its firmware. You do not need host_action_commands enabled to get notified when a color change is needed.":"Notifications on color change will work with any printer that has M600 enabled in its firmware. You do not need host_action_commands enabled to get notified when a color change is needed.","Is filament usage inaccurate?":"Is filament usage inaccurate?","G-code files uploaded to your {brandName} account before upgrading to {brandName} for OctoPrint version 2.3.0 or {brandName} for Klipper version 1.2.0 do not include filament usage data.":"G-code files uploaded to your {{brandName}} account before upgrading to {{brandName}} for OctoPrint version 2.3.0 or {{brandName}} for Klipper version 1.2.0 do not include filament usage data.","To ensure accurate filament usage and other statistics":"To ensure accurate filament usage and other statistics","Upload G-code files and start prints directly through {brandName} instead of OctoPrint/Klipper.":"Upload G-code files and start prints directly through {{brandName}} instead of OctoPrint/Klipper.","Use a slicer that supports filament usage parameters, such as Cura, Prusa Slicer, SuperSlicer, IdeaMaker, or Simplify3D.":"Use a slicer that supports filament usage parameters, such as Cura, Prusa Slicer, SuperSlicer, IdeaMaker, or Simplify3D.","Print statistics for G-code files deleted before 12/20/2022 are not included. For files deleted after 12/20/2022, statistics are preserved.":"Print statistics for G-code files deleted before 12/20/2022 are not included. For files deleted after 12/20/2022, statistics are preserved.","Learn how to configure G-Code preview generation in your slicer":"Learn how to configure G-Code preview generation in your slicer","Adjust the speed of the cooling fan by setting a percentage value between 0 and 100. The default value is usually 100, which means the fan will run at full speed. Lowering the fan speed can reduce noise and save energy, but may also affect print quality if the printer gets too hot.":"Adjust the speed of the cooling fan by setting a percentage value between 0 and 100. The default value is usually 100, which means the fan will run at full speed. Lowering the fan speed can reduce noise and save energy, but may also affect print quality if the printer gets too hot.","Adjust the speed of your 3D printer by changing the speed of all movement commands by a specified factor. The default value is 100%, meaning that the printer will move at its standard speed. Lowering the print speed factor will slow down your print, while increasing it will speed it up. Value of 200% will double the speed.":"Adjust the speed of your 3D printer by changing the speed of all movement commands by a specified factor. The default value is 100%, meaning that the printer will move at its standard speed. Lowering the print speed factor will slow down your print, while increasing it will speed it up. Value of 200% will double the speed.","Flow rate is the speed at which the printer extrudes plastic. If the flow rate is too high, the printer may extrude too much plastic and create blobs or stringing, while too low flow rate may result in weak and brittle prints. Adjusting the flow rate can help achieve the optimal balance between speed and quality. The default value is 100%.":"Flow rate is the speed at which the printer extrudes plastic. If the flow rate is too high, the printer may extrude too much plastic and create blobs or stringing, while too low flow rate may result in weak and brittle prints. Adjusting the flow rate can help achieve the optimal balance between speed and quality. The default value is 100%.","No cost for three months. Plan renews after expiration. Cancel anytime.":"No cost for three months. Plan renews after expiration. Cancel anytime.","Printers":"Printers","Print History":"Print History","G-Codes":"G-Codes","Spaghetti Gallery":"Spaghetti Gallery","Pricing":"Pricing","Help":"Help","Community":"Community","SIGN IN":"SIGN IN","SIGN UP":"SIGN UP","Preferences":"Preferences","Log out":"Log out","Upgrade to Pro":"Upgrade to Pro","Statistics":"Statistics","Notifications":"Notifications","Number of snapshots":"Number of snapshots","Estimated time to finish":"Estimated time to finish","Help Obi get better at detecting failures by giving her in-depth feedback on the snapshots of the print. You will earn {localizedDom} after you finish this Focused Feedback. {localizedDom2}":"Help Obi get better at detecting failures by giving her in-depth feedback on the snapshots of the print. You will earn {localizedDom} after you finish this Focused Feedback. {localizedDom2}","2 non-expirable AI Detection Hours":"2 non-expirable AI Detection Hours","Learn more":"Learn more","Start Focused Feedback":"Start Focused Feedback","I grant the {brandName} app team members the permission to review the time-lapse video of the print shown on this page.":"I grant the {{brandName}} app team members the permission to review the time-lapse video of the print shown on this page.","Why is this necessary? ":"Why is this necessary? ","File":"File","Printed":"Printed","You are awesome!":"You are awesome!","The AI failure detection just got a little better because of your feedback!":"The AI failure detection just got a little better because of your feedback!","You just earned 2 non-expirable AI Detection Hours - Yay!":"You just earned 2 non-expirable AI Detection Hours - Yay!","I\'m done!":"I\'m done!","Change feedback":"Change feedback","Not sure? Look at":"Not sure? Look at","some examples. ":"some examples. ","Failure Detection":"Failure Detection","AI Detection Hours":"AI Detection Hours","Not watching":"Not watching","Learn all possible reasons":"Learn all possible reasons","Enable AI failure detection":"Enable AI failure detection","AI failure detection is disabled. You are on your own.":"AI failure detection is disabled. You are on your own.","Pause on detected failures":"Pause on detected failures","You will still be alerted via notifications.":"You will still be alerted via notifications.","Failure Detected!":"Failure Detected!","Not a Failure?":"Not a Failure?","Unable to extrude / retract":"Unable to extrude / retract","The hotend is below the minimum temperature":"The hotend is below the minimum temperature","Heat to 180°C":"Heat to 180°C","Command successfully sent!":"Command successfully sent!","Printer Controls":"Printer Controls","Move Head":"Move Head","Extrude":"Extrude","Baby Step Z":"Baby Step Z","Tune Printer":"Tune Printer","Power":"Power"," Home All":" Home All","Disable Steppers":"Disable Steppers","Retract":"Retract","Loading tools...":"Loading tools...","Current Offset":"Current Offset","Feed Rate / Speed":"Feed Rate / Speed","Flow Rate":"Flow Rate","Fan Speed":"Fan Speed","0% (Off)":"0% (Off)","These settings can only be set. They can\'t be read back from the firmware due to a limitation of the communication protocol.":"These settings can only be set. They can\'t be read back from the firmware due to a limitation of the communication protocol."," Toggle Power ":" Toggle Power "," Power On All ":" Power On All "," Power Off All ":" Power Off All ","Rapid toggling power may result in error. Please allow a cooldown period.":"Rapid toggling power may result in error. Please allow a cooldown period.","Uh-Oh. No printer is found on the serial port.":"Uh-Oh. No printer is found on the serial port.","Once cancelled, the print can no longer be resumed.":"Once cancelled, the print can no longer be resumed.","Print Job Control":"Print Job Control","Error":"Error","Filament Change or User Interaction Required":"Filament Change or User Interaction Required","Printer is Currently Printing":"Printer is Currently Printing","Print is Paused":"Print is Paused","Pause":"Pause","Resume":"Resume","Open G-Code File to Start Printing":"Open G-Code File to Start Printing","Files":"Files","Printer Not Connected at the Serial Port":"Printer Not Connected at the Serial Port","Contacting OctoPrint":"Contacting OctoPrint","Connect":"Connect","{brandName} for {name} is Offline.":"{{brandName}} for {{name}} is Offline.","Why?":"Why?","Print Progress":"Print Progress","Last Print":"Last Print","Status":"Status","Started":"Started","Duration":"Duration","Layer":"Layer","Remaining":"Remaining","Calculating...":"Calculating...","Finishing at":"Finishing at","Elapsed":"Elapsed","Z-height":"Z-height","Total time":"Total time","Total filament":"Total filament","Open Print":"Open Print","Reprint":"Reprint","No prints found":"No prints found","Temperature Presets":"Temperature Presets","Temperature Controls":"Temperature Controls","Loading temperature...":"Loading temperature...","Printer Terminal":"Printer Terminal","Unknown event":"Unknown event","Serial Port":"Serial Port","Baudrate":"Baudrate","Auto":"Auto","Noted!":"Noted!","Do you want to mute failure detection on for this print?":"Do you want to mute failure detection on for this print?","If you select \'Mute\', failure detection will be turned off for this print, but will be automatically turned on for your next print.":"If you select \'Mute\', failure detection will be turned off for this print, but will be automatically turned on for your next print.","Mute":"Mute","Failed to update printer":"Failed to update printer","Open":"Open","Details":"Details","Share":"Share","Tunnel":"Tunnel","Configure":"Configure","Not a failure?":"Not a failure?","Failure Detection is Off":"Failure Detection is Off","Learn more. ":"Learn more. ","Enable AI failure detection {localizedDom}":"Enable AI failure detection {localizedDom}","AI failure detection is disabled. You are on your own":"AI failure detection is disabled. You are on your own","Pause on detected failures {localizedDom}":"Pause on detected failures {localizedDom}","You will still be alerted via notifications":"You will still be alerted via notifications"," Remaining ":" Remaining "," Total ":" Total ","Printer Feed Sharing":"Printer Feed Sharing","Wait! You need to {localizedDom} to enable Printer feed.":"Wait! You need to {localizedDom} to enable Printer feed.","upgrade to the Pro plan":"upgrade to the Pro plan","Printer feed sharing is a Pro feature.":"Printer feed sharing is a Pro feature.","Running the {brandName} app incurs non-trivial amount of costs":"Running the {{brandName}} app incurs non-trivial amount of costs","With little more than 1 Starbucks per month, you can upgrade to a Pro account and help us run the {brandName} app smoothly.":"With little more than 1 Starbucks per month, you can upgrade to a Pro account and help us run the {{brandName}} app smoothly.","Check out Pro pricing >>>":"Check out Pro pricing >>>","Share live feed for printer ":"Share live feed for printer ","Click the clipboard icon above to copy the secure shareable link to your clipboard.":"Click the clipboard icon above to copy the secure shareable link to your clipboard.","You can test the shareable link by right-clicking {localizedDom} and select \'Open Link in Incognito Window\'.":"You can test the shareable link by right-clicking {localizedDom} and select \'Open Link in Incognito Window\'.","here":"here","Notes":"Notes","Send the secure link to anyone you want to share your printer feed with. They do NOT need the {brandName} account to see your printer feed.":"Send the secure link to anyone you want to share your printer feed with. They do NOT need the {{brandName}} account to see your printer feed.","Anyone with this shareable link will be able to see your printer feed.":"Anyone with this shareable link will be able to see your printer feed.","Learn more about what they can see.":"Learn more about what they can see.","Presets":"Presets","Temperature presets can be edited or added in {agentName} settings.":"Temperature presets can be edited or added in {{agentName}} settings.","OFF":"OFF","Manual":"Manual","Oops!":"Oops!","Handshake failed because the pop-up was blcoked.":"Handshake failed because the pop-up was blcoked.","Please unblock the pop-up in your browser and try it again.":"Please unblock the pop-up in your browser and try it again.","Okay!":"Okay!","Switch to Manual Setup":"Switch to Manual Setup","Handshake failed!":"Handshake failed!","Please make sure":"Please make sure","The OctoPrint you want to link is at {host}:{port}, and it\'s connected to the same local network as your computer/phone.":"The OctoPrint you want to link is at {{host}}:{{port}}, and it\'s connected to the same local network as your computer/phone.","The version of plugin is 1.8.0 or above.":"The version of plugin is 1.8.0 or above.","The {brandName} app needs to make sure you have access to selected printer.":"The {{brandName}} app needs to make sure you have access to selected printer.","When you press \'Link Now\' button below, a new browser window will pop up to finish a handshake with this printer.":"When you press \'Link Now\' button below, a new browser window will pop up to finish a handshake with this printer.","Link Now":"Link Now","Platform":"Platform","IP address":"IP address","Hostname":"Hostname","OctoPi":"OctoPi","OS":"OS","Link":"Link","Device Selection":"Device Selection","Install Obico":"Install Obico","Link Printer":"Link Printer","First Layer Report":"First Layer Report","uploaded":"uploaded","Open File":"Open File","First Layer Grade":"First Layer Grade","First Layer Print Time":"First Layer Print Time","First Layer Notes":"First Layer Notes","You\'re first layer score is":"You\'re first layer score is","Grade {localizedDom} usually means one of the following":"Grade {localizedDom} usually means one of the following:","AI Time-Lapse":"AI Time-Lapse","Original Time-Lapse":"Original Time-Lapse","Give Feedback About This Report":"Give Feedback About This Report","Possible failure detected!":"Possible failure detected!","(Cancelled)":"(Cancelled)","Time-lapse video deleted":"Time-lapse video deleted","Time-lapse videos older than 6-months are deleted from the {brandName} app server as they are rarely needed and cost significant amount to store in the cloud.":"Time-lapse videos older than 6-months are deleted from the {{brandName}} app server as they are rarely needed and cost significant amount to store in the cloud.","If you are a Pro subscriber and you don\'t want your time-lapse videos to be deleted, please ":"If you are a Pro subscriber and you don\'t want your time-lapse videos to be deleted, please ","contact us":"contact us","Download Original Time-lapse":"Download Original Time-lapse","Download Detective Time-lapse":"Download Detective Time-lapse"," ":" ","Video file is deleted.":"Video file is deleted.","Did we get it right?":"Did we get it right?","CUSED FEEDBACK":"CUSED FEEDBACK","Thank you for completing the Focused Feedback. You have earned 2 non-expirable AI Detection Hours. You can click the button again to change your feedback.":"Thank you for completing the Focused Feedback. You have earned 2 non-expirable AI Detection Hours. You can click the button again to change your feedback.","With Focused Feedback, you can tell us exactly where we got it wrong. This is the most effective way to help us improve.":"With Focused Feedback, you can tell us exactly where we got it wrong. This is the most effective way to help us improve.","You will earn 2 AI Detection Hours once you finish the Focused Feedback":"You will earn 2 AI Detection Hours once you finish the Focused Feedback","Every time you give us feedback,":"Every time you give us feedback,","you help us get better at detecting failures":"you help us get better at detecting failures","Search":"Search","Ascending":"Ascending","Descending":"Descending","SORT BY":"SORT BY","DIRECTION":"DIRECTION","Upgrade for Better Streaming":"Upgrade for Better Streaming","Because you are now on the":"Because you are now on the","{brandName} Cloud Free plan":"{{brandName}} Cloud Free plan","Streaming is limited to 5 FPS (frames per second).":"Streaming is limited to 5 FPS (frames per second).","After 30 seconds of streaming there is a 30-second cooldown before you can resume streaming.":"After 30 seconds of streaming there is a 30-second cooldown before you can resume streaming.","Support the {brandName} project by":"Support the {{brandName}} project by","upgrading to the Pro plan for little more than 1 Starbucks a month.":"upgrading to the Pro plan for little more than 1 Starbucks a month.","The Pro plan offers many perks, including the":"The Pro plan offers many perks, including the","Smooth 25 FPS.":"Smooth 25 FPS.","Unlimited streaming with no cooldowns.":"Unlimited streaming with no cooldowns.","Video frames dropped":"Video frames dropped","The video frames are getting dropped because there is most likely a bandwidth bottleneck along the route they travel from your Raspberry Pi to your computer. The bottleneck can be anywhere, but in most cases,":"The video frames are getting dropped because there is most likely a bandwidth bottleneck along the route they travel from your Raspberry Pi to your computer. The bottleneck can be anywhere, but in most cases,","it is either your computer\'s internet connection, or your Raspberry Pi\'s":"it is either your computer\'s internet connection, or your Raspberry Pi\'s","Make sure your computer is connected to the same network as your Pi. If you still see this warning, you need to trouble-shoot your computer\'s Wi-Fi connection, probably by moving closer to the Wi-Fi router.":"Make sure your computer is connected to the same network as your Pi. If you still see this warning, you need to trouble-shoot your computer\'s Wi-Fi connection, probably by moving closer to the Wi-Fi router.","If the webcam stream is smooth when your computer is on the same Wi-Fi network as your Pi, the bottleneck is likely with the upload speed of your internet connection. You need to run a speed test to make sure you have high-enough upload speed, as well as":"If the webcam stream is smooth when your computer is on the same Wi-Fi network as your Pi, the bottleneck is likely with the upload speed of your internet connection. You need to run a speed test to make sure you have high-enough upload speed, as well as","low latency (ping)":"low latency (ping)","Check out":"Check out","the step-by-step trouble-shooting guide.":"the step-by-step trouble-shooting guide.","Webcam stream buffering":"Webcam stream buffering","When you see the messaging about webcam stream is \'buffering\' occasionally, you can just reload the page. If this message repeatedly appears, it may indicate one of the problems":"When you see the messaging about webcam stream is \'buffering\' occasionally, you can just reload the page. If this message repeatedly appears, it may indicate one of the problems","1. A constricted video stream on your Raspberry Pi. The most common reasons are":"1. A constricted video stream on your Raspberry Pi. The most common reasons are","Camera resolution is set too high.":"Camera resolution is set too high.","Camera framerate is set too high.":"Camera framerate is set too high.","The upload speed of your Raspberry Pi is too low.":"The upload speed of your Raspberry Pi is too low.","2. The internet connection of your computer or phone is not fast enough.":"2. The internet connection of your computer or phone is not fast enough.","3. Your webcam is not properly connected to your Raspberry Pi.":"3. Your webcam is not properly connected to your Raspberry Pi.","Check":"Check","this step-by-step troubleshooting guide":"this step-by-step troubleshooting guide","Buffering...":"Buffering...","Why is it stuck?":"Why is it stuck?","Webcam streams up to 5 FPS for Free":"Webcam streams up to 5 FPS for Free","Learn more...":"Learn more...","Filter":"Filter","Suppress Temperature":"Suppress Temperature","Suppress SD Status Messages":"Suppress SD Status Messages","Suppress Position Messages":"Suppress Position Messages","Suppress \'OK\' Messages":"Suppress \'OK\' Messages","Enter code...":"Enter code...","Terminal feed is off":"Terminal feed is off","Failed to fetch authorized apps":"Failed to fetch authorized apps","Failed to remove access":"Failed to remove access","Authorized Apps":"Authorized Apps","App Name":"App Name","Printer to Access":"Printer to Access","Remove Access":"Remove Access","General":"General","Land directly on the printer control page if I have only 1 printer":"Land directly on the printer control page if I have only 1 printer","This option will be ignored if you have multiple printers. In this case, you will always land on the printer overview page.":"This option will be ignored if you have multiple printers. In this case, you will always land on the printer overview page.","View Archived Printers":"View Archived Printers","Enable notifications":"Enable notifications","Enable notification":"Enable notification","Please configure the following variables in the \'.env\' file":"Please configure the following variables in the \'.env\' file","Edit Name":"Edit Name","Profile":"Profile","First Name":"First Name","Last Name":"Last Name","Primary Email":"Primary Email","Manage email addresses":"Manage email addresses","Password":"Password","Change":"Change","Appearance":"Appearance","Theme":"Theme","DARK":"DARK","LIGHT":"LIGHT","Sync theme with system settings":"Sync theme with system settings","Failure alerts":"Failure alerts","When possible failures are detected":"When possible failures are detected","Print job events":"Print job events","Upon start/end/cancellation of a print job":"Upon start/end/cancellation of a print job","When print is done":"When print is done","When print is cancelled":"When print is cancelled","When printer needs attention":"When printer needs attention","Such as filament change or run-out":"Such as filament change or run-out","When print is started":"When print is started","When print is paused":"When print is paused","Note: this event may be triggered by other plugins that pause the print frequently, such as the timelapse plugin":"Note: this event may be triggered by other plugins that pause the print frequently, such as the timelapse plugin","When print is resumed":"When print is resumed","Heater status change":"Heater status change","Heater reached target or cooled down":"Heater reached target or cooled down","Push Notification":"Push Notification","Failed to contact printer. Is it powered on and connected to Internet?":"Failed to contact printer. Is it powered on and connected to Internet?","Printer not responding":"Printer not responding","The printer doesn\'t seem to be responding. Is it powered on and connected to the Internet? Please":"The printer doesn\'t seem to be responding. Is it powered on and connected to the Internet? Please","report the problem to us":"report the problem to us","if this error repeats multiple times.":"if this error repeats multiple times.","Get help from":"Get help from","the {brandName} for Klipper support forum":"the {{brandName}} for Klipper support forum","or":"or","the {brandName} general support forum":"the {{brandName}} general support forum","if this error persists.":"if this error persists.","Email":"Email","SMS":"SMS","Pushbullet":"Pushbullet","Discord":"Discord","Telegram":"Telegram","Pushover":"Pushover","Slack":"Slack","Webhook":"Webhook","Webhook URL":"Webhook URL","Discord Webhook":"Discord Webhook","If you have a Discord channel you wish to receive notifications on, you can {localizedDom} and enter it here.":"If you have a Discord channel you wish to receive notifications on, you can {localizedDom} and enter it here.","generate webhook url":"generate webhook url","Notifications are sent to verified email addresses only.":"Notifications are sent to verified email addresses only.","Account events {localizedDom}":"Account events {localizedDom}","Plan changed; AI Detection Hours running low; etc.":"Plan changed; AI Detection Hours running low; etc.","Access Token":"Access Token","Pushbullet Access Token":"Pushbullet Access Token","If you have a Pushbullet account, you can {localizedDom} and enter it here.":"If you have a Pushbullet account, you can {localizedDom} and enter it here.","generate an access token":"generate an access token","User Key":"User Key","Pushover User Key":"Pushover User Key","If you have a Pushover account, you can {localizedDom} and enter it here.":"If you have a Pushover account, you can {localizedDom} and enter it here.","get your User Key":"get your User Key","Slack test failed":"Slack test failed","Close":"Close","{brandName} Messenger has been successfully added to your workspace.":"{{brandName}} Messenger has been successfully added to your workspace.","What\'s Next?":"What\'s Next?"," 1. Make sure {brandName} Messenger is added to the channels you want the notifications to be sent to.":" 1. Make sure {{brandName}} Messenger is added to the channels you want the notifications to be sent to.","2. There is no 2. You are all set. It\'s this simple. 😀":"2. There is no 2. You are all set. It\'s this simple. 😀","Click the button below to add the {brandName} Slack App into your workspace":"Click the button below to add the {{brandName}} Slack App into your workspace","Test Notifications":"Test Notifications","Test Slack Notification":"Test Slack Notification","Questions?":"Questions?","Q: How do I remove the {brandName} Slack App from a slack channel so that it won\'t send notifications to that channel?":"Q: How do I remove the {{brandName}} Slack App from a slack channel so that it won\'t send notifications to that channel?","Q: How do I remove the {brandName} Slack App from the entire workspace?":"Q: How do I remove the {{brandName}} Slack App from the entire workspace?","A: Please follow the instructions in {localizedDom}.":"A: Please follow the instructions in {localizedDom}.","this Slack help doc":"this Slack help doc","Telegram test failed":"Telegram test failed","Login to be notified by our Telegram bot.":"Login to be notified by our Telegram bot.","Telegram in the mobile app is very finicky. Please open a browser, and log into {localizedDom} using the same credential to set up Telegram.":"Telegram in the mobile app is very finicky. Please open a browser, and log into {localizedDom} using the same credential to set up Telegram.","the {brandName} web app":"the {{brandName}} web app","Once set up, Telegram notification will work properly on your phone.":"Once set up, Telegram notification will work properly on your phone.","If you see \'Bot domain invalid\', please hard-refresh the browser a few times. I know it\'s annoying. But Telegram API has a very high failure rate.":"If you see \'Bot domain invalid\', please hard-refresh the browser a few times. I know it\'s annoying. But Telegram API has a very high failure rate.","If you press the \'Test Telegram Notification\' button and see an error, please hard-refresh the browser a few times and press the test button again.":"If you press the \'Test Telegram Notification\' button and see an error, please hard-refresh the browser a few times and press the test button again.","Unlink Telegram":"Unlink Telegram","Test Telegram Notification":"Test Telegram Notification","Oops, we don\'t send SMS to this country code":"Oops, we don\'t send SMS to this country code","Phone Number":"Phone Number","Country Code":"Country Code","Custom Webhook URL":"Custom Webhook URL","Enter a custom webhook URL at which to receive notifications.":"Enter a custom webhook URL at which to receive notifications.","You just earned 3 AI Detection Hours!":"You just earned 3 AI Detection Hours!","Having more training data is crucial for a better First Layer AI. Thank you!":"Having more training data is crucial for a better First Layer AI. Thank you!","You can now close this page":"You can now close this page","First Layer Snapshots":"First Layer Snapshots","Help {brandName}\'s First Layer AI (codename: Celestrius) learn and improve quickly by telling her what issues exist in each of these snapshots.":"Help {{brandName}}\'s First Layer AI (codename: Celestrius) learn and improve quickly by telling her what issues exist in each of these snapshots.","Why should I do this?":"Why should I do this?","{brandName}\'s First Layer AI is still in her infant time. Just like a human baby, the only way she can learn is to be told by adults what is good and what is bad. By telling her what issues exist in these snapshots, you will help her get better at telling a good first layer apart from a bad one.":"{{brandName}}\'s First Layer AI is still in her infant time. Just like a human baby, the only way she can learn is to be told by adults what is good and what is bad. By telling her what issues exist in these snapshots, you will help her get better at telling a good first layer apart from a bad one.","Privacy Notice: By participating in this survey, you grant the {brandName} team members the permission to review all snapshots below.":"Privacy Notice: By participating in this survey, you grant the {{brandName}} team members the permission to review all snapshots below.","Earn 3 AI Detection Hours!":"Earn 3 AI Detection Hours!","{name} snapshots were selected from your first layer print. Earn 3 AI Detection Hours by telling us if you see any printing issues with these snapshots!":"{{name}} snapshots were selected from your first layer print. Earn 3 AI Detection Hours by telling us if you see any printing issues with these snapshots!","Host printer for this gcode not found":"Host printer for this gcode not found","Rename file":"Rename file","Delete file":"Delete file","This G-Code file doesn\'t exists":"This G-Code file doesn\'t exists","This file is deleted and unavailable for print":"This file is deleted and unavailable for print","This file doesn\'t have any prints yet":"This file doesn\'t have any prints yet","File storage":"File storage","Sort":"Sort","Create folder":"Create folder","Available to browse files":"Available to browse files","Unable to browse files":"Unable to browse files","Delete {name} item(s)? This action can not be undone.":"Delete {{name}} item(s)? This action can not be undone.","Yes":"Yes","No":"No","Failed to delete files and folders":"Failed to delete files and folders","{name} isn\'t available for browsing files for one of the following reasons":"{{name}} isn\'t available for browsing files for one of the following reasons","{brandName} for {name} plugin is outdated (you need version {version} or later)":"{{brandName}} for {{name}} plugin is outdated (you need version {{version}} or later)","Printer not found or unavailable":"Printer not found or unavailable","Folder with this name already exists":"Folder with this name already exists","Select all":"Select all","selected":"selected","STORAGE":"STORAGE","Cloud":"Cloud","G-Code file (*.gcode, *.gco, or *.g) only.":"G-Code file (*.gcode, *.gco, or *.g) only.","Up to {maxFilesize} MB each file, {maxTotalFilesize} GB total.":"Up to {{maxFilesize}} MB each file, {{maxTotalFilesize}} GB total.","Search in Klipper printers works only for current directory":"Search in Klipper printers works only for current directory","Welcome To":"Welcome To","Your 30-Day {localizedDom} Free Trial Has Started!":"Your 30-Day {localizedDom} Free Trial Has Started!","Pro Plan":"Pro Plan","{trialDaysLeft} Days Left on Your {localizedDom} Free Trial!":"{trialDaysLeft} Days Left on Your {localizedDom} Free Trial!","Unlimited Secure Tunnel to your {platformDisplayName}":"Unlimited Secure Tunnel to your {{platformDisplayName}}","Premium 25 FPS Webcam Streaming":"Premium 25 FPS Webcam Streaming","250 AI Failure Detection Hours":"250 AI Failure Detection Hours","G-Code Remote Upload and Printing":"G-Code Remote Upload and Printing","{platformDisplayName} has not been linked to your {brandName} account.":"{{platformDisplayName}} has not been linked to your {{brandName}} account.","Link {platformDisplayName} Now":"Link {{platformDisplayName}} Now","It\'s as easy as 1-2-3.":"It\'s as easy as 1-2-3.","Not ready to start yet? {localizedDom} to pause your free trial.":"Not ready to start yet? {localizedDom} to pause your free trial.","Email us":"Email us","Authorization Successful!":"Authorization Successful!","You can close this page":"You can close this page","Tunnel Access Authorization":"Tunnel Access Authorization","is requesting to access you {platformDisplayName} Tunnel.":"is requesting to access you {{platformDisplayName}} Tunnel.","is a secure way provided by {localizedDom} to remotely access your {platformDisplayName}. With the {platformDisplayName} Tunnel, you can use {appDisplayName} to access your {platformDisplayName} from anywhere.":"is a secure way provided by {localizedDom} to remotely access your {platformDisplayName}. With the {platformDisplayName} Tunnel, you can use {appDisplayName} to access your {platformDisplayName} from anywhere.","Tunnel usage of a free account is {localizedDom} to enjoy unlimited tunnel usage.":"Tunnel usage of a free account is {localizedDom} to enjoy unlimited tunnel usage.","capped at 300MB per month":"capped at 300MB per month","upgrade to the {brandName} app Pro plan for 1 Starbucks a month":"upgrade to the {{brandName}} app Pro plan for 1 Starbucks a month","After the Free trial expires, tunnel data usage will be {localizedDom} to continue enjoying unlimited tunnel usage.":"After the Free trial expires, tunnel data usage will be {localizedDom} to continue enjoying unlimited tunnel usage.","Tunnel access by {localizedDom} (make sure you trust it)":"Tunnel access by {localizedDom} (make sure you trust it):","You have 0 active printers":"You have 0 active printers","Please select a printer":"Please select a printer","Authorize":"Authorize","Manage Apps":"Manage Apps","Security notes":"Security notes","The app can only access the tunnel, not your {brandName} account info such as your email address.":"The app can only access the tunnel, not your {{brandName}} account info such as your email address.","The access remains valid until explicitly revoked. You can revoke the access by going to Preferences -> Authorized Apps.":"The access remains valid until explicitly revoked. You can revoke the access by going to Preferences -> Authorized Apps.","Log Out":"Log Out","Free {platformDisplayName} Tunnel":"Free {{platformDisplayName}} Tunnel","Powered by {brandName}":"Powered by {{brandName}}","With the Free {platformDisplayName} Tunnel by {brandName}, you can now use {appDisplayName} to":"With the Free {{platformDisplayName}} Tunnel by {{brandName}}, you can now use {{appDisplayName}} to","securely control and monitor your printer from anywhere":"securely control and monitor your printer from anywhere","Unlimited realtime webcam at 0.1FPS.":"Unlimited realtime webcam at 0.1FPS.","300MB monthly tunnel data cap (excluding webcam streaming).":"300MB monthly tunnel data cap (excluding webcam streaming).","10 hours/mo AI failure detection.":"10 hours/mo AI failure detection.","Upgrade to {brandName} Pro Account ({localizedDom}) to get premium features":"Upgrade to {brandName} Pro Account ({localizedDom}) to get premium features:","from $4/mo":"from $4/mo","Unlimited realtime webcam streaming.":"Unlimited realtime webcam streaming.","Unlimited tunnel data usage.":"Unlimited tunnel data usage.","50 hours/mo AI failure detection.":"50 hours/mo AI failure detection.","And much more...":"And much more...","SIGN IN ":"SIGN IN ","- OR -":"- OR -","OctoPrint/Klipper Secure Tunnel":"OctoPrint/Klipper Secure Tunnel","It may take long time for OctoPrint/Mainsail/Fluidd page to load as it is securely tunneled via the {brandName} app server.":"It may take long time for OctoPrint/Mainsail/Fluidd page to load as it is securely tunneled via the {{brandName}} app server.","Learn more about OctoPrint/Klipper tunnel\'s security and page load speed.":"Learn more about OctoPrint/Klipper tunnel\'s security and page load speed.","Don\'t show again":"Don\'t show again","Monthly data usage ({localizedDom})":"Monthly data usage ({localizedDom})","Resets in {daysUntilReset} days":"Resets in {{daysUntilReset}} days","Used {usageMTD} of {humanizedUsageCap}.":"Used {{usageMTD}} of {{humanizedUsageCap}}.","Your month-to-date tunnel data usage is over the Free plan limit.":"Your month-to-date tunnel data usage is over the Free plan limit.","Get Unlimited Tunnel Data":"Get Unlimited Tunnel Data","Successfully linked to your account!":"Successfully linked to your account!","Printer name":"Printer name","Give your printer a shiny name.":"Give your printer a shiny name.","Authorize App Access":"Authorize App Access","Go Check Out Printer Feed!":"Go Check Out Printer Feed!","Add Phone Number":"Add Phone Number","Receive text (SMS) in case of print failures.":"Receive text (SMS) in case of print failures.","Change Printer Settings":"Change Printer Settings","You can always change it later.":"You can always change it later.","Install Obico for Klipper":"Install Obico for Klipper","Find the Guide for Your Printer to install Obico for Klipper.":"Find the Guide for Your Printer to install Obico for Klipper.","SSH to your device.":"SSH to your device.","Enter the installation commands.":"Enter the installation commands.","Alternatively, you can use KIAUH to install Obico.":"Alternatively, you can use KIAUH to install Obico.","Upon \\"Scanning the networking...\\", come back here and click \\"Next\\".":"Upon \\"Scanning the networking...\\", come back here and click \\"Next\\".","Install Obico for OctoPrint":"Install Obico for OctoPrint","Open OctoPrint in another browser tab.":"Open OctoPrint in another browser tab.","Select":"Select","OctoPrint settings menu → Plugin Manager → Get More...":"OctoPrint settings menu → Plugin Manager → Get More...","Enter \'{brandName}\' to locate the plugin. Click":"Enter \'{{brandName}}\' to locate the plugin. Click","Install":"Install","Restart OctoPrint when prompted.":"Restart OctoPrint when prompted.","SSH to the Raspberry Pi (or other SBC) your Klipper runs on.":"SSH to the Raspberry Pi (or other SBC) your Klipper runs on.","Run:":"Run:","1. Unbox and assemble the 3D printer following the manufacturers instructions":"1. Unbox and assemble the 3D printer following the manufacturers instructions","2. Power on the 3D printer and make sure it is connected to WiFi.":"2. Power on the 3D printer and make sure it is connected to WiFi.","3. Tap “Next” when you are ready.":"3. Tap “Next” when you are ready.","Need help? Check out the {localizedDom}":"Need help? Check out the {localizedDom}","step-by-step set up guide":"step-by-step set up guide","The 6-digit code needs to be entered in the Obico plugin in OctoPrint. There are a few reasons why you can\'t find this page:":"The 6-digit code needs to be entered in the Obico plugin in OctoPrint. There are a few reasons why you can\'t find this page:","You don\'t have the plugin installed or you haven\'t restarted OctoPrint after installation. Click":"You don\'t have the plugin installed or you haven\'t restarted OctoPrint after installation. Click","to walk through the process again.":"to walk through the process again.","The installed plugin is on a version earlier than 1.5.0. You need to upgrade the plugin to":"The installed plugin is on a version earlier than 1.5.0. You need to upgrade the plugin to","or later.":"or later.","Still no dice? Check out the step-by-step":"Still no dice? Check out the step-by-step","set up guide":"set up guide","The 6-digit code needs to be entered to the Obico for Klipper installation script.":"The 6-digit code needs to be entered to the Obico for Klipper installation script.","this set up guide":"this set up guide","for detailed instructions.":"for detailed instructions.","Can\'t find the page to enter the 6-digit code?":"Can\'t find the page to enter the 6-digit code?","Scanning...":"Scanning...","Scanning..., {name} printer(s) found on your local network:":"Scanning..., {{name}} printer(s) found on your local network:","To link your printer, please make sure:":"To link your printer, please make sure:","The printer is powered on. If you are using an external SBC such as a Raspberry Pi, make sure it\'s powered on as well.":"The printer is powered on. If you are using an external SBC such as a Raspberry Pi, make sure it\'s powered on as well.","The printer or SBC is connected to the same local network as your phone/computer.":"The printer or SBC is connected to the same local network as your phone/computer.","{brandName} for OctoPrint is 1.8.0 or above.":"{{brandName}} for OctoPrint is 1.8.0 or above.","Can’t find the printer you want to link? Switch to Manual Linking instead.":"Can’t find the printer you want to link? Switch to Manual Linking instead.","Switch to Manual Linking":"Switch to Manual Linking","Code copied to system clipboard":"Code copied to system clipboard","Ctrl-C/Cmd-C to copy the code":"Ctrl-C/Cmd-C to copy the code","Code will expire in ":"Code will expire in ","Enter the {localizedDom}":"Enter the {localizedDom}","6-digit verification code":"6-digit verification code","Invalid code. Is it expired?":"Invalid code. Is it expired?","Enter the One-time Passcode":"Enter the One-time Passcode","If you using Obico for OctoPrint older than 2.5.0, or Obico for Klipper older than 1.6.0, switch to {localizedDom}.":"If you using Obico for OctoPrint older than 2.5.0, or Obico for Klipper older than 1.6.0, switch to {localizedDom}.","Touch Screen":"Touch Screen","Check to see if your printer already has Obico installed your printer screen.":"Check to see if your printer already has Obico installed your printer screen.","Navigate to the settings menu on the LCD screen of your printer.":"Navigate to the settings menu on the LCD screen of your printer.","Find the “Link Obico” menu item and tap it to open the connection screen.":"Find the “Link Obico” menu item and tap it to open the connection screen.","LCD Screen ":"LCD Screen ","Check to see if your printer already has Obico Easy Link installed on the LCD menu.":"Check to see if your printer already has Obico Easy Link installed on the LCD menu.","Find the “Link Obico” menu item.":"Find the “Link Obico” menu item.","Install Via SSH":"Install Via SSH","If you can\'t find Obico Easy Link, you will need to SSH to your printer to install Obico. You will need to find a guide that works for your printer.":"If you can\'t find Obico Easy Link, you will need to SSH to your printer to install Obico. You will need to find a guide that works for your printer.","Show me how":"Show me how","Warning: Re-Linking OctoPrint should be your last resort to solve issues. Please make sure you have exhausted all options on {localizedDom}.":"Warning: Re-Linking OctoPrint should be your last resort to solve issues. Please make sure you have exhausted all options on {localizedDom}.","{brandName}\'s help website":"{{brandName}}\'s help website","Devices with Obico Pre-installed":"Devices with Obico Pre-installed","Pre-Installed Klipper Printer":"Pre-Installed Klipper Printer","Creality K1, Sonic Pad, Sovol SV07, Kingroon KLP1, Elegoo Neptune 4, etc...":"Creality K1, Sonic Pad, Sovol SV07, Kingroon KLP1, Elegoo Neptune 4, etc...","Generic Klipper - Self Installed":"Generic Klipper - Self Installed","If you installed Klipper yourself on a Raspberry Pi or other linux device. E.g., Voron, RatRig":"If you installed Klipper yourself on a Raspberry Pi or other linux device. E.g., Voron, RatRig","Including OctoPrint for Klipper such as OctoKlipper.":"Including OctoPrint for Klipper such as OctoKlipper.","Save":"Save","OctoPrint Tunnel":"OctoPrint Tunnel","Additional Actions":"Additional Actions","Reorder":"Reorder","Hide":"Hide","Customize this page for each of your printers by reodering or hiding cards above.":"Customize this page for each of your printers by reodering or hiding cards above.","Add Printer":"Add Printer","Link another printer to {brandName}.":"Link another printer to {{brandName}}.","Webcam":"Webcam","WEBCAM SELECTION":"WEBCAM SELECTION","All":"All","Nothing to look here. Enjoy your vacation!":"Nothing to look here. Enjoy your vacation!","No more notifications.":"No more notifications.","Created at":"Created at","Print Status":"Print Status","All Printers":"All Printers","Online Printers":"Online Printers","Active Printers":"Active Printers","{name} AI Detection Hours":"{{name}} AI Detection Hours","You can always view your archived printers in by navigating to the General tab within Preferences.":"You can always view your archived printers in by navigating to the General tab within Preferences.","Link New Printer":"Link New Printer","have been archived.":"have been archived.","Show Archived Printers":"Show Archived Printers","Never Show Again":"Never Show Again","Printer not found":"Printer not found","Can not update printer settings.":"Can not update printer settings.","{brandName} for klipper support forum":"{{brandName}} for klipper support forum","Delete {name} printer? This action can not be undone.":"Delete {{name}} printer? This action can not be undone.","Printer archived":"Printer archived","{name} is archived.":"{{name}} is archived.","You can find it on":"You can find it on","this page":"this page","and un-archive it":"and un-archive it","Go to the printer page":"Go to the printer page","Settings":"Settings","Give your shiny new printer a name":"Give your shiny new printer a name","When a potential failure is detected":"When a potential failure is detected","Just notify me":"Just notify me","Pause the printer and notify me":"Pause the printer and notify me","If you are not sure about the settings below, leave the default values to minimize surprises.":"If you are not sure about the settings below, leave the default values to minimize surprises.","When print is paused,":"When print is paused,","Turn off hotend heater(s)":"Turn off hotend heater(s)","Turn off bed heater":"Turn off bed heater","Retract filament by":"Retract filament by","Lift extruder along Z axis by":"Lift extruder along Z axis by","AI failure detection sensitivity":"AI failure detection sensitivity","Low - I don\'t want a lot of false alarms. Only alert me when you are absolutely sure.":"Low - I don\'t want a lot of false alarms. Only alert me when you are absolutely sure.","Medium - A few false alarms won\'t bother me. But some well-disguised spaghetti will be missed.":"Medium - A few false alarms won\'t bother me. But some well-disguised spaghetti will be missed.","High - Hit me with all the false alarms. I want to catch as many failures as possible.":"High - Hit me with all the false alarms. I want to catch as many failures as possible.","Time-lapse":"Time-lapse","Focused Feedback won\'t be available when time-lapse recording is turned off. You won\'t be able to {localizedDom}":"Focused Feedback won\'t be available when time-lapse recording is turned off. You won\'t be able to {localizedDom}","help us get better while earning AI Detection Hours for yourself":"help us get better while earning AI Detection Hours for yourself","Record time-lapse when a print finishes successfully.":"Record time-lapse when a print finishes successfully.","Skip if the print is finished in less than":"Skip if the print is finished in less than","Record time-lapse when a print is cancelled.":"Record time-lapse when a print is cancelled.","Skip if the print is cancelled in less than":"Skip if the print is cancelled in less than","Danger Zone":"Danger Zone","Re-Link Printer":"Re-Link Printer","If your printer is always showing as \'offline\', and you have gone through {localizedDom}, you can try to re-link printer as the last resort.":"If your printer is always showing as \'offline\', and you have gone through {localizedDom}, you can try to re-link printer as the last resort.","all the trouble-shooting steps":"all the trouble-shooting steps","Archive Printer":"Archive Printer","Archived printers are not counted toward your subscription plan. You won\'t see them in the app either. Go to {localizedDom} to find all archived printers and/or un-archive them.":"Archived printers are not counted toward your subscription plan. You won\'t see them in the app either. Go to {localizedDom} to find all archived printers and/or un-archive them.","Delete Printer":"Delete Printer","Bye-bye printer.":"Bye-bye printer.","Date":"Date","Time Period":"Time Period","This Week":"This Week","This Month":"This Month","This Year":"This Year","Custom":"Custom","Finished":"Finished","Cancelled":"Cancelled","Feedback Needed":"Feedback Needed","Review Needed":"Review Needed","Focused Feedback Needed":"Focused Feedback Needed","Delete {name} print(s)? This action can not be undone.":"Delete {{name}} print(s)? This action can not be undone.","Until":"Until","and later":"and later","Sort By":"Sort By","Prints done":"Prints done","Total print time":"Total print time","Filament used":"Filament used","Full Stats":"Full Stats","Older":"Older","Newer":"Newer","Failed to fetch printer information":"Failed to fetch printer information","Start time":"Start time","End time":"End time","Open Detailed Report":"Open Detailed Report","Time-Lapse video deleted":"Time-Lapse video deleted","If you are a Pro subscriber and you don\'t want your time-lapse videos to be deleted, please {localizedDom}":"If you are a Pro subscriber and you don\'t want your time-lapse videos to be deleted, please {localizedDom}","FOCUSED FEEDBACK":"FOCUSED FEEDBACK","Time-Lapse video unavailable because":"Time-Lapse video unavailable because","The {brandName} server is still processing the time-lapse;":"The {{brandName}} server is still processing the time-lapse;","Or, the print time was shorter than the threshold. You can change the threshold in {localizedDom}":"Or, the print time was shorter than the threshold. You can change the threshold in {localizedDom}","the printer settings":"the printer settings","Print Page":"Print Page","Delete {brandName} print(s)? This action can not be undone.":"Delete {{brandName}} print(s)? This action can not be undone.","{name} time-lapse(s) deleted!":"{{name}} time-lapse(s) deleted!","Time-lapse {name} deleted!":"Time-lapse {{name}} deleted!","selected...":"selected...","No more time-lapses.":"No more time-lapses.","You are viewing an awesome 3D print your friend shared specifically with you on":"You are viewing an awesome 3D print your friend shared specifically with you on","lets you monitor and control your printer from anywhere, on your phone.":"lets you monitor and control your printer from anywhere, on your phone.","Sign up for a free {brandName} account":"Sign up for a free {{brandName}} account","Failed to fetch statistics":"Failed to fetch statistics","GROUP BY":"GROUP BY","Group By":"Group By","Statistics include deleted prints":"Statistics include deleted prints","Total Prints":"Total Prints","Print Time":"Print Time","Longest print":"Longest print","Average print":"Average print","Prints Count":"Prints Count","Filament Usage":"Filament Usage","total":"total","Upload Time-lapse":"Upload Time-lapse","Upload time-lapse videos to test {brandName}\'s AI failure detection.":"Upload time-lapse videos to test {{brandName}}\'s AI failure detection.","Drop files here or click to upload.":"Drop files here or click to upload.","*.mp4 or *.mpg files only. Up to 100MB each.":"*.mp4 or *.mpg files only. Up to 100MB each.","The {brandName} Server is running failure detection on the time-lapse video(s) you uploaded.":"The {{brandName}} Server is running failure detection on the time-lapse video(s) you uploaded.","We will send you email when it is done.":"We will send you email when it is done.","Check status now >>>":"Check status now >>>","Confirmation":"Confirmation","You a going to logout from your account":"You a going to logout from your account","Logout":"Logout","Can not update your preferences":"Can not update your preferences","Account":"Account"}')},bc75:function(e,t,i){},bf61:function(e,t,i){},c0a8:function(e,t,i){"use strict";i("7566")},c4df:function(e,t,i){},c7f6:function(e,t,i){"use strict";var n=i("0b49"),a=i.n(n),r=i("dd61"),s=i.n(r);t["a"]={printShotFeedback:(e,t)=>`/api/v1/printshotfeedbacks/${e}/?print_id=${t}`,print:e=>`/api/v1/prints/${e}/`,prints:()=>"/api/v1/prints/",printsBulkDelete:()=>"/api/v1/prints/bulk_delete/",stats:()=>"/api/v1/prints/stats/",printers:()=>"/api/v1/printers/",printer:e=>`/api/v1/printers/${e}/`,printerAction:(e,t)=>`/api/v1/printers/${e}${t}`,pubPrinter:()=>"/api/v1p/printer/",tunnels:()=>"/api/v1/tunnels/",tunnel:e=>`/api/v1/tunnels/${e}/`,tunnelUsage:()=>"/api/v1/tunnelusage/",verificationCode:()=>"/api/v1/onetimeverificationcodes/",user:()=>"/api/v1/users/me/",sharedResources:e=>"/api/v1/sharedresources/?"+s()(a()(e),e=>e.join("=")).join("&"),sharedResource:e=>`/api/v1/sharedresources/${e}/`,printerDiscovery:()=>"/api/v1/printer_discovery/",oneTimePasscodes:()=>"/api/v1/one_time_passcodes/",printerEvents:()=>"/api/v1/printer_events/",notificationPlugins:()=>"/api/v1/notification_settings/available_plugins/",notificationChannels:()=>"/api/v1/notification_settings/",updateNotificationChannel:e=>`/api/v1/notification_settings/${e}/`,testNotificationChannel:e=>`/api/v1/notification_settings/${e}/send_test_message/`,printerControl:e=>`/printers/${e}/control/`,printerWebSocket:e=>`/ws/web/${e}/`,printerSharedWebSocket:e=>`/ws/share_token/web/${e}/`,printerWizard:e=>"/printers/wizard/?printerId="+e,gcodeFile:e=>`/api/v1/g_code_files/${e}/`,gcodeFiles:()=>"/api/v1/g_code_files/",gcodeFolder:e=>`/api/v1/g_code_folders/${e}/`,gcodeFolders:()=>"/api/v1/g_code_folders/",gcode:e=>`/api/v1/g_code_files/${e}/`,gcodeFolderBulkDelete:()=>"/api/v1/g_code_folders/bulk_delete/",gcodeFileBulkDelete:()=>"/api/v1/g_code_files/bulk_delete/",gcodeFolderBulkMove:()=>"/api/v1/g_code_folders/bulk_move/",gcodeFileBulkMove:()=>"/api/v1/g_code_files/bulk_move/"}},c865:function(e,t,i){},c914:function(e,t,i){e.exports=i.p+"img/lcdScreenLarge.png"},c991:function(e,t,i){"use strict";i("d3a5")},c9b4:function(e,t,i){"use strict";i("2c72")},ca14:function(e,t,i){e.exports=i.p+"img/octoapp.webp"},ca65:function(e,t,i){e.exports=i.p+"img/bubbling-1.jpg"},caaf:function(e,t,i){e.exports=i.p+"img/detached-2.jpg"},cc1d:function(e,t,i){},ccf6:function(e,t){},cdd3:function(e,t,i){"use strict";i("5ce2")},ced1:function(e,t,i){},cf8b:function(e,t,i){"use strict";i("9da6")},d1d5:function(e,t,i){e.exports=i.p+"img/generic-app.png"},d205:function(e,t,i){"use strict";i("141f")},d3a5:function(e,t,i){},d424:function(e,t,i){"use strict";i("fbd2")},d61a:function(e,t,i){e.exports=i.p+"img/mobileraker.webp"},d681:function(e,t,i){},d70c:function(e,t,i){},d70d:function(e,t,i){"use strict";i("fce0")},d95b:function(e,t,i){},da42:function(e,t,i){"use strict";i("3ad7")},da56:function(e,t,i){"use strict";i("c865")},dbc4:function(e,t,i){"use strict";i("d70c")},e008:function(e,t,i){},e1a7:function(e,t,i){"use strict";i("86e2")},e4df:function(e,t,i){},eac9:function(e,t,i){"use strict";i("964f")},ebf7:function(e,t,i){"use strict";i("f837")},ec79:function(e,t,i){},ee55:function(e,t,i){"use strict";i("3372")},f064:function(e,t,i){},f086:function(e,t,i){"use strict";i("2f4c")},f18e:function(e,t,i){"use strict";i("bf61")},f1f6:function(e,t,i){e.exports=i.p+"img/plugin_verification_code.png"},f23d:function(e,t,i){e.exports=i.p+"img/vacation.gif"},f830:function(e,t,i){e.exports=i.p+"img/bumpsAndRoughSurface-2.jpg"},f837:function(e,t,i){},f8c9:function(e,t,i){},f9b8:function(e,t,i){},fbd2:function(e,t,i){},fce0:function(e,t,i){},fdf0:function(e,t,i){"use strict";i("139b")},fe33:function(e,t,i){e.exports=i.p+"img/bumpsAndRoughSurface-1.jpg"}}); //# sourceMappingURL=root.js.map \ No newline at end of file diff --git a/frontend/builds/frontend/js/root.js.map b/frontend/builds/frontend/js/root.js.map index 7c748137b..f5274f1aa 100644 --- a/frontend/builds/frontend/js/root.js.map +++ b/frontend/builds/frontend/js/root.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/components/StreamingBox.vue?7c05","webpack:///./src/components/SliderInput.vue?eb34","webpack:///./src/components/DatePickerModal.vue?13c6","webpack:///./static/img/detective-working.gif","webpack:///./src/views/UploadPrintPage.vue?e1ee","webpack:///./src/components/NavBar.vue?680d","webpack:///./src/i18n/i18n.js","webpack:///./src/components/CascadedDropdown.vue?a9dc","webpack:///./src/components/print-shot-feedback/PrintShotCard.vue?3c3a","webpack:///./static/img/printer-wizard/klipperScreenMenu.png","webpack:///./src/components/LoadingPlaceholder.vue?7e92","webpack:///./src/components/printer-control/WidgetTemplate.vue?b2f6","webpack:///./src/components/first-layer-review/example-images/bubbling-2.jpg","webpack:///./src/components/printer-control/FailureDetectionWidget.vue?7b86","webpack:///./src/components/printer-control/PrinterControlWidget.vue?18b1","webpack:///./src/lib/color-scheme-controller.js","webpack:///./src/views/PrinterListPage.vue?9364","webpack:///./src/components/prints/PrintHistoryItem.vue?4a8b","webpack:///./src/components/g-codes/DeleteConfirmationModal.vue?c1fd","webpack:///./src/notifications/plugins lazy ^\\.\\/.*$ namespace object","webpack:///./static/img/octoprint-plugin-guide/moonraker_verification_code.png","webpack:///./src/lib/page-context.js","webpack:///./static/img/mainsail_logo.png","webpack:///./src/components/first-layer-review/example-images/gaps-1.jpg","webpack:///./static/img/octopod.webp","webpack:///./src/components/printers/wizard/DiscoveredPrinter.vue?3169","webpack:///./static/img/octoprint-plugin-guide/install_plugin.png","webpack:///./src/components/g-codes/NewFolderModal.vue?7594","webpack:///./static/img/octoprint_logo.png","webpack:///./src/components/first-layer-review/example-images/detached-1.jpg","webpack:///./src/views/PrintsPage.vue?dfeb","webpack:///./static/img/polymer.webp","webpack:///./src/views/printer-wizard/PrinterLinkingPage.vue?81ad","webpack:///./src/lib/pref.js","webpack:///./static/img/printoid.webp","webpack:///./src/components/PageLayout.vue?7269","webpack:///./src/views/PrintPage.vue?b0a4","webpack:///./src/components/first-layer-review/FirstLayerShotCard.vue?f9e2","webpack:///./src/components/prints/FullScreenPrintCard.vue?58c5","webpack:///./src/views/PrinterListPage.vue?24e8","webpack:///./src/components/terminal/PrinterTerminal.vue?4c74","webpack:///./src/components/printers/TemperatureItem.vue?339e","webpack:///./src/components/g-codes/RenameModal.vue?d1d9","webpack:///./src/components/prints/FirstLayerReportModal.vue?798c","webpack:///./static/img/webpage-multiple.svg","webpack:///./src/lib/vue-swal.js","webpack:///./src/lib/filters.js","webpack:///./src/lib/sentry.js","webpack:///./src/components/LoadingPlaceholder.vue","webpack:///src/components/LoadingPlaceholder.vue","webpack:///./src/components/LoadingPlaceholder.vue?6b7e","webpack:///./src/components/LoadingPlaceholder.vue?e935","webpack:///./src/components/SyndicateAwareSVG.vue","webpack:///src/components/SyndicateAwareSVG.vue","webpack:///./src/components/SyndicateAwareSVG.vue?69fa","webpack:///./src/components/SyndicateAwareSVG.vue?00f5","webpack:///./src/config/syndicateText.js","webpack:///./src/mount.js","webpack:///./src/notifications/plugins.js","webpack:///./src/config/user-preferences/pref-routes.js","webpack:///./src/views/NewOctoPrintTunnelPage.vue","webpack:///./src/lib/formatters.js","webpack:///./src/components/g-codes/gcode-metadata.js","webpack:///./src/lib/printer-transient-state.js","webpack:///./src/lib/normalizers.js","webpack:///src/views/NewOctoPrintTunnelPage.vue","webpack:///./src/views/NewOctoPrintTunnelPage.vue?74f1","webpack:///./src/views/NewOctoPrintTunnelPage.vue?183e","webpack:///./src/views/OctoPrintTunnelPage.vue","webpack:///src/views/OctoPrintTunnelPage.vue","webpack:///./src/views/OctoPrintTunnelPage.vue?0454","webpack:///./src/views/OctoPrintTunnelPage.vue?f879","webpack:///./src/views/PrintShotFeedbackApp.vue","webpack:///./src/components/print-shot-feedback/PrintShotCard.vue","webpack:///src/components/print-shot-feedback/PrintShotCard.vue","webpack:///./src/components/print-shot-feedback/PrintShotCard.vue?779c","webpack:///./src/components/print-shot-feedback/PrintShotCard.vue?e9e2","webpack:///./src/components/PageLayout.vue","webpack:///src/components/PageLayout.vue","webpack:///./src/components/PageLayout.vue?b5a4","webpack:///./src/components/PageLayout.vue?7327","webpack:///./src/components/print-shot-feedback/FocusedFeedbackConsent.vue","webpack:///./src/components/VideoBox.vue","webpack:///src/components/VideoBox.vue","webpack:///./src/components/VideoBox.vue?597a","webpack:///./src/components/VideoBox.vue?f9fb","webpack:///./src/components/DetectiveWorking.vue","webpack:///src/components/DetectiveWorking.vue","webpack:///./src/components/DetectiveWorking.vue?b8d3","webpack:///./src/components/DetectiveWorking.vue?6c85","webpack:///src/components/print-shot-feedback/FocusedFeedbackConsent.vue","webpack:///./src/components/print-shot-feedback/FocusedFeedbackConsent.vue?5645","webpack:///./src/components/print-shot-feedback/FocusedFeedbackConsent.vue?55b1","webpack:///src/views/PrintShotFeedbackApp.vue","webpack:///./src/views/PrintShotFeedbackApp.vue?4003","webpack:///./src/views/PrintShotFeedbackApp.vue?c1dc","webpack:///./src/views/PrintHistoryPage.vue","webpack:///./src/components/CascadedDropdown.vue","webpack:///src/components/CascadedDropdown.vue","webpack:///./src/components/CascadedDropdown.vue?77f8","webpack:///./src/components/CascadedDropdown.vue?182f","webpack:///./src/components/SortingDropdown.vue","webpack:///src/components/SortingDropdown.vue","webpack:///./src/components/SortingDropdown.vue?f1f4","webpack:///./src/components/SortingDropdown.vue?a076","webpack:///./src/components/FilteringDropdown.vue","webpack:///src/components/FilteringDropdown.vue","webpack:///./src/components/FilteringDropdown.vue?ac64","webpack:///./src/components/FilteringDropdown.vue?35b3","webpack:///./src/components/ActiveFilterNotice.vue","webpack:///src/components/ActiveFilterNotice.vue","webpack:///./src/components/ActiveFilterNotice.vue?837e","webpack:///./src/components/ActiveFilterNotice.vue?03f3","webpack:///./src/components/prints/PrintHistoryItem.vue","webpack:///src/components/prints/PrintHistoryItem.vue","webpack:///./src/components/prints/PrintHistoryItem.vue?73e1","webpack:///./src/components/prints/PrintHistoryItem.vue?a1f8","webpack:///./src/components/DatePickerModal.vue","webpack:///src/components/DatePickerModal.vue","webpack:///./src/components/DatePickerModal.vue?5d48","webpack:///./src/components/DatePickerModal.vue?c483","webpack:///./src/components/HelpWidget.vue","webpack:///src/components/HelpWidget.vue","webpack:///./src/components/HelpWidget.vue?0baa","webpack:///./src/components/HelpWidget.vue?d088","webpack:///./src/lib/time-period-filtering.js","webpack:///src/views/PrintHistoryPage.vue","webpack:///./src/views/PrintHistoryPage.vue?7ee8","webpack:///./src/views/PrintHistoryPage.vue?850b","webpack:///./src/views/StatsPage.vue","webpack:///./src/components/MutedAlert.vue","webpack:///src/components/MutedAlert.vue","webpack:///./src/components/MutedAlert.vue?28b5","webpack:///./src/components/MutedAlert.vue?bc9b","webpack:///./src/lib/charts/donut-chart.js","webpack:///./src/lib/charts/bar-chart.js","webpack:///src/views/StatsPage.vue","webpack:///./src/views/StatsPage.vue?85e0","webpack:///./src/views/StatsPage.vue?84e5","webpack:///./src/views/PrintsPage.vue","webpack:///./src/components/prints/PrintCard.vue","webpack:///./src/components/FailureDetectionGauge.vue","webpack:///src/components/FailureDetectionGauge.vue","webpack:///./src/components/FailureDetectionGauge.vue?61ad","webpack:///./src/components/FailureDetectionGauge.vue?3aec","webpack:///src/components/prints/PrintCard.vue","webpack:///./src/components/prints/PrintCard.vue?cf6f","webpack:///./src/components/prints/PrintCard.vue?37e3","webpack:///./src/components/prints/FullScreenPrintCard.vue","webpack:///src/components/prints/FullScreenPrintCard.vue","webpack:///./src/components/prints/FullScreenPrintCard.vue?6e57","webpack:///./src/components/prints/FullScreenPrintCard.vue?7223","webpack:///src/views/PrintsPage.vue","webpack:///./src/views/PrintsPage.vue?ebf0","webpack:///./src/views/PrintsPage.vue?fd79","webpack:///./src/views/PrintPage.vue","webpack:///./src/lib/printer-comm.js","webpack:///./src/lib/printer-local-comm.js","webpack:///./src/components/g-codes/sendToPrint.js","webpack:///./src/components/GCodeDetails.vue","webpack:///./src/components/CollapsableDetails.vue","webpack:///src/components/CollapsableDetails.vue","webpack:///./src/components/CollapsableDetails.vue?d5a5","webpack:///./src/components/CollapsableDetails.vue?0324","webpack:///src/components/GCodeDetails.vue","webpack:///./src/components/GCodeDetails.vue?63cf","webpack:///./src/components/GCodeDetails.vue?8488","webpack:///./src/components/prints/FirstLayerReportModal.vue","webpack:///src/components/prints/FirstLayerReportModal.vue","webpack:///./src/components/prints/FirstLayerReportModal.vue?f9f0","webpack:///./src/components/prints/FirstLayerReportModal.vue?e0df","webpack:///./src/services/gradeCalculator.js","webpack:///src/views/PrintPage.vue","webpack:///./src/views/PrintPage.vue?25fb","webpack:///./src/views/PrintPage.vue?3139","webpack:///./src/views/UploadPrintPage.vue","webpack:///src/views/UploadPrintPage.vue","webpack:///./src/views/UploadPrintPage.vue?90e9","webpack:///./src/views/UploadPrintPage.vue?aa99","webpack:///./src/views/PrinterListPage.vue","webpack:///./src/components/printers/PrinterCard.vue","webpack:///./src/lib/janus.js","webpack:///./src/lib/webrtc.js","webpack:///./src/components/StreamingBox.vue","webpack:///./src/lib/viewing-throttle.js","webpack:///src/components/StreamingBox.vue","webpack:///./src/components/StreamingBox.vue?c6cb","webpack:///./src/components/StreamingBox.vue?674b","webpack:///./src/components/printers/DurationBlock.vue","webpack:///src/components/printers/DurationBlock.vue","webpack:///./src/components/printers/DurationBlock.vue?6128","webpack:///./src/components/printers/DurationBlock.vue?a08f","webpack:///./src/components/printers/StatusTemp.vue","webpack:///./src/components/printers/TemperatureItem.vue","webpack:///src/components/printers/TemperatureItem.vue","webpack:///./src/components/printers/TemperatureItem.vue?e89f","webpack:///./src/components/printers/TemperatureItem.vue?ecf4","webpack:///src/components/printers/StatusTemp.vue","webpack:///./src/components/printers/StatusTemp.vue?4222","webpack:///./src/components/printers/StatusTemp.vue?b56c","webpack:///./src/components/printers/TempTargetEditor.vue","webpack:///./src/components/SliderInput.vue","webpack:///src/components/SliderInput.vue","webpack:///./src/components/SliderInput.vue?4680","webpack:///./src/components/SliderInput.vue?a3c1","webpack:///src/components/printers/TempTargetEditor.vue","webpack:///./src/components/printers/TempTargetEditor.vue?43fe","webpack:///./src/components/printers/TempTargetEditor.vue?5d73","webpack:///./src/components/printers/SharePrinter.vue","webpack:///src/components/printers/SharePrinter.vue","webpack:///./src/components/printers/SharePrinter.vue?3b36","webpack:///./src/components/printers/SharePrinter.vue?9250","webpack:///./src/components/printer-control/PrintJobControlWidget.vue","webpack:///./src/components/printer-control/WidgetTemplate.vue","webpack:///src/components/printer-control/WidgetTemplate.vue","webpack:///./src/components/printer-control/WidgetTemplate.vue?aa10","webpack:///./src/components/printer-control/WidgetTemplate.vue?0729","webpack:///./src/views/GCodeFoldersPage.vue","webpack:///./src/components/SearchInput.vue","webpack:///src/components/SearchInput.vue","webpack:///./src/components/SearchInput.vue?8cb6","webpack:///./src/components/SearchInput.vue?c4fb","webpack:///./src/components/g-codes/NewFolderModal.vue","webpack:///src/components/g-codes/NewFolderModal.vue","webpack:///./src/components/g-codes/NewFolderModal.vue?6d52","webpack:///./src/components/g-codes/NewFolderModal.vue?53ec","webpack:///./src/components/g-codes/RenameModal.vue","webpack:///src/components/g-codes/RenameModal.vue","webpack:///./src/components/g-codes/RenameModal.vue?5aa0","webpack:///./src/components/g-codes/RenameModal.vue?2362","webpack:///./src/components/g-codes/MoveModal.vue","webpack:///./src/components/g-codes/GCodeFileStructure.vue","webpack:///./src/components/g-codes/FileStructureItem.vue","webpack:///src/components/g-codes/FileStructureItem.vue","webpack:///./src/components/g-codes/FileStructureItem.vue?5ad0","webpack:///./src/components/g-codes/FileStructureItem.vue?314a","webpack:///src/components/g-codes/GCodeFileStructure.vue","webpack:///./src/components/g-codes/GCodeFileStructure.vue?3ab7","webpack:///./src/components/g-codes/GCodeFileStructure.vue?91e1","webpack:///src/components/g-codes/MoveModal.vue","webpack:///./src/components/g-codes/MoveModal.vue?83a9","webpack:///./src/components/g-codes/MoveModal.vue?95f8","webpack:///./src/components/g-codes/DeleteConfirmationModal.vue","webpack:///src/components/g-codes/DeleteConfirmationModal.vue","webpack:///./src/components/g-codes/DeleteConfirmationModal.vue?384b","webpack:///./src/components/g-codes/DeleteConfirmationModal.vue?7cfc","webpack:///src/views/GCodeFoldersPage.vue","webpack:///./src/views/GCodeFoldersPage.vue?aeba","webpack:///./src/views/GCodeFoldersPage.vue?1860","webpack:///./src/views/GCodeFilePage.vue","webpack:///./src/components/g-codes/AvailablePrinters.vue","webpack:///src/components/g-codes/AvailablePrinters.vue","webpack:///./src/components/g-codes/AvailablePrinters.vue?8eeb","webpack:///./src/components/g-codes/AvailablePrinters.vue?7f70","webpack:///src/views/GCodeFilePage.vue","webpack:///./src/views/GCodeFilePage.vue?3865","webpack:///./src/views/GCodeFilePage.vue?231b","webpack:///./src/components/printers/ConnectPrinter.vue","webpack:///src/components/printers/ConnectPrinter.vue","webpack:///./src/components/printers/ConnectPrinter.vue?8ff4","webpack:///./src/components/printers/ConnectPrinter.vue?2187","webpack:///src/components/printer-control/PrintJobControlWidget.vue","webpack:///./src/components/printer-control/PrintJobControlWidget.vue?1234","webpack:///./src/components/printer-control/PrintJobControlWidget.vue?4773","webpack:///src/components/printers/PrinterCard.vue","webpack:///./src/components/printers/PrinterCard.vue?c939","webpack:///./src/components/printers/PrinterCard.vue?6a73","webpack:///src/views/PrinterListPage.vue","webpack:///./src/views/PrinterListPage.vue?b402","webpack:///./src/views/PrinterListPage.vue?5799","webpack:///./src/views/SharedPrinterPage.vue","webpack:///./src/components/NavBar.vue","webpack:///src/components/NavBar.vue","webpack:///./src/components/NavBar.vue?29e7","webpack:///./src/components/NavBar.vue?5c6d","webpack:///src/views/SharedPrinterPage.vue","webpack:///./src/views/SharedPrinterPage.vue?ba3e","webpack:///./src/views/SharedPrinterPage.vue?efd5","webpack:///./src/views/PrinterSettingsPage.vue","webpack:///./src/components/NumberInput.vue","webpack:///src/components/NumberInput.vue","webpack:///./src/components/NumberInput.vue?f6fb","webpack:///./src/components/NumberInput.vue?8f60","webpack:///src/views/PrinterSettingsPage.vue","webpack:///./src/views/PrinterSettingsPage.vue?6beb","webpack:///./src/views/PrinterSettingsPage.vue?6820","webpack:///./src/views/printer-wizard/PrinterLinkingPage.vue","webpack:///./src/components/printers/wizard/DiscoveredPrinter.vue","webpack:///src/components/printers/wizard/DiscoveredPrinter.vue","webpack:///./src/components/printers/wizard/DiscoveredPrinter.vue?3035","webpack:///./src/components/printers/wizard/DiscoveredPrinter.vue?d01f","webpack:///./src/components/printers/wizard/AutoLinkPopup.vue","webpack:///src/components/printers/wizard/AutoLinkPopup.vue","webpack:///./src/components/printers/wizard/AutoLinkPopup.vue?26a4","webpack:///./src/components/printers/wizard/AutoLinkPopup.vue?8eaa","webpack:///./src/components/printers/wizard/PrinterProgress.vue","webpack:///src/components/printers/wizard/PrinterProgress.vue","webpack:///./src/components/printers/wizard/PrinterProgress.vue?d77d","webpack:///./src/components/printers/wizard/PrinterProgress.vue?080e","webpack:///src/views/printer-wizard/PrinterLinkingPage.vue","webpack:///./src/views/printer-wizard/PrinterLinkingPage.vue?c27b","webpack:///./src/views/printer-wizard/PrinterLinkingPage.vue?349b","webpack:///./src/views/printer-wizard/TargetPlatformSelectionPage.vue","webpack:///src/views/printer-wizard/TargetPlatformSelectionPage.vue","webpack:///./src/views/printer-wizard/TargetPlatformSelectionPage.vue?d95d","webpack:///./src/views/printer-wizard/TargetPlatformSelectionPage.vue?15a4","webpack:///./src/views/printer-wizard/ObicoInstallationGuidePage.vue","webpack:///src/views/printer-wizard/ObicoInstallationGuidePage.vue","webpack:///./src/views/printer-wizard/ObicoInstallationGuidePage.vue?4a99","webpack:///./src/views/printer-wizard/ObicoInstallationGuidePage.vue?ff8c","webpack:///./src/views/printer-wizard/AddPrinterSuccessPage.vue","webpack:///src/views/printer-wizard/AddPrinterSuccessPage.vue","webpack:///./src/views/printer-wizard/AddPrinterSuccessPage.vue?39f0","webpack:///./src/views/printer-wizard/AddPrinterSuccessPage.vue?73f0","webpack:///./src/views/PrinterControlPage.vue","webpack:///./src/components/printer-control/PrintProgressWidget.vue","webpack:///src/components/printer-control/PrintProgressWidget.vue","webpack:///./src/components/printer-control/PrintProgressWidget.vue?d058","webpack:///./src/components/printer-control/PrintProgressWidget.vue?474e","webpack:///./src/components/printer-control/FailureDetectionWidget.vue","webpack:///src/components/printer-control/FailureDetectionWidget.vue","webpack:///./src/components/printer-control/FailureDetectionWidget.vue?50b7","webpack:///./src/components/printer-control/FailureDetectionWidget.vue?8838","webpack:///./src/components/printer-control/TemperatureWidget.vue","webpack:///./src/components/printers/TempPresets.vue","webpack:///src/components/printers/TempPresets.vue","webpack:///./src/components/printers/TempPresets.vue?74e3","webpack:///./src/components/printers/TempPresets.vue?5d62","webpack:///src/components/printer-control/TemperatureWidget.vue","webpack:///./src/components/printer-control/TemperatureWidget.vue?6d0d","webpack:///./src/components/printer-control/TemperatureWidget.vue?288d","webpack:///./src/components/printer-control/PrinterControlWidget.vue","webpack:///src/components/printer-control/PrinterControlWidget.vue","webpack:///./src/components/printer-control/PrinterControlWidget.vue?dad7","webpack:///./src/components/printer-control/PrinterControlWidget.vue?5829","webpack:///./src/components/ReorderModal.vue","webpack:///src/components/ReorderModal.vue","webpack:///./src/components/ReorderModal.vue?3618","webpack:///./src/components/ReorderModal.vue?69bf","webpack:///./src/components/printer-control/TerminalWidget.vue","webpack:///./src/components/terminal/PrinterTerminal.vue","webpack:///./src/components/terminal/TerminalFeedView.vue","webpack:///src/components/terminal/TerminalFeedView.vue","webpack:///./src/components/terminal/TerminalFeedView.vue?07a8","webpack:///./src/components/terminal/TerminalFeedView.vue?31d9","webpack:///src/components/terminal/PrinterTerminal.vue","webpack:///./src/components/terminal/PrinterTerminal.vue?71bb","webpack:///./src/components/terminal/PrinterTerminal.vue?6156","webpack:///src/components/printer-control/TerminalWidget.vue","webpack:///./src/components/printer-control/TerminalWidget.vue?7c2d","webpack:///./src/components/printer-control/TerminalWidget.vue?dbfc","webpack:///src/views/PrinterControlPage.vue","webpack:///./src/views/PrinterControlPage.vue?e17e","webpack:///./src/views/PrinterControlPage.vue?1081","webpack:///./src/views/UserPreferencesPage.vue","webpack:///./src/config/user-preferences/sections.js","webpack:///src/views/UserPreferencesPage.vue","webpack:///./src/views/UserPreferencesPage.vue?9ec7","webpack:///./src/views/UserPreferencesPage.vue?c574","webpack:///./src/views/PrinterEventsPage.vue","webpack:///./src/components/printer-events/PrinterEventCard.vue","webpack:///src/components/printer-events/PrinterEventCard.vue","webpack:///./src/components/printer-events/PrinterEventCard.vue?af32","webpack:///./src/components/printer-events/PrinterEventCard.vue?bdf2","webpack:///src/views/PrinterEventsPage.vue","webpack:///./src/views/PrinterEventsPage.vue?bfa3","webpack:///./src/views/PrinterEventsPage.vue?98b0","webpack:///./src/views/PrinterTerminalPage.vue","webpack:///src/views/PrinterTerminalPage.vue","webpack:///./src/views/PrinterTerminalPage.vue?3381","webpack:///./src/views/PrinterTerminalPage.vue?8d4d","webpack:///./src/views/FirstLayerInspectionImagePage.vue","webpack:///./src/components/first-layer-review/FirstLayerShotCard.vue","webpack:///src/components/first-layer-review/FirstLayerShotCard.vue","webpack:///./src/components/first-layer-review/FirstLayerShotCard.vue?3970","webpack:///./src/components/first-layer-review/FirstLayerShotCard.vue?1a73","webpack:///src/views/FirstLayerInspectionImagePage.vue","webpack:///./src/views/FirstLayerInspectionImagePage.vue?b6eb","webpack:///./src/views/FirstLayerInspectionImagePage.vue?1c7a","webpack:///./src/pages.js","webpack:///./src/main.js","webpack:///./src/views/PrinterTerminalPage.vue?9ba7","webpack:///./src/views/FirstLayerInspectionImagePage.vue?996f","webpack:///./src/components/NumberInput.vue?e1d0","webpack:///./src/components/VideoBox.vue?1758","webpack:///./static/js/syndicate.js","webpack:///./static/js/color-scheme.js","webpack:///./src/components/printer-events/PrinterEventCard.vue?9aec","webpack:///./src/components/g-codes/MoveModal.vue?2254","webpack:///./src/components/FilteringDropdown.vue?0f5f","webpack:///./static/img/printer.png","webpack:///./src/components/ActiveFilterNotice.vue?a0ad","webpack:///./src/components/printer-control/TerminalWidget.vue?35db","webpack:///./static/js/utils.js","webpack:///./src/components/PageLayout.vue?3b28","webpack:///./src/views/GCodeFoldersPage.vue?b570","webpack:///./src/components/printers/PrinterCard.vue?f791","webpack:///./src/styles/main.sass?967e","webpack:///./static/img/printer-wizard/commandLinePrompt.png","webpack:///./src/components/printers/wizard/PrinterProgress.vue?8337","webpack:///./src/components/printers/SharePrinter.vue?ce82","webpack:///./src/components/printers/StatusTemp.vue?de0b","webpack:///./src/components/prints/FirstLayerReportModal.vue?fb5c","webpack:///./src/views/printer-wizard/PrinterLinkingPage.vue?0fe8","webpack:///./src/components/SavingAnimation.vue","webpack:///src/components/SavingAnimation.vue","webpack:///./src/components/SavingAnimation.vue?6e6a","webpack:///./src/components/SavingAnimation.vue?3c7d","webpack:///./src/views/PrintShotFeedbackApp.vue?fe4e","webpack:///./src/views/UserPreferencesPage.vue?e957","webpack:///./static/img/klipper_logo.jpg","webpack:///./src/components/ReorderModal.vue?f9ca","webpack:///./src/components/SavingAnimation.vue?a520","webpack:///./src/components/first-layer-review/example-images/gaps-2.jpg","webpack:///./src/views/PrinterSettingsPage.vue?da3d","webpack:///./src/components/print-shot-feedback/FocusedFeedbackConsent.vue?0208","webpack:///./src/views/NewOctoPrintTunnelPage.vue?55ac","webpack:///./src/components/HelpWidget.vue?1afb","webpack:///./static/img/raspberry_pi.png","webpack:///./src/views/SharedPrinterPage.vue?6402","webpack:///./src/components/printer-control/PrintProgressWidget.vue?9148","webpack:///./static/img/fluidd_logo.png","webpack:///./src/views/StatsPage.vue?b24f","webpack:///./src/components/DetectiveWorking.vue?14e2","webpack:///./src/components/first-layer-review/example-images/raisedRipples-3.jpg","webpack:///./src/components/printers/wizard/AutoLinkPopup.vue?fd6b","webpack:///./src/lib/utils.js","webpack:///./src/views/OctoPrintTunnelPage.vue?5916","webpack:///./src/components/first-layer-review/example-images/raisedRipples-2.jpg","webpack:///./src/components/MutedAlert.vue?5793","webpack:///./src/views/GCodeFilePage.vue?a4a5","webpack:///./src/config/server-urls.js","webpack:///./static/img/printer-wizard/lcdScreenLarge.png","webpack:///./src/views/PrintHistoryPage.vue?2314","webpack:///./src/components/g-codes/FileStructureItem.vue?a40f","webpack:///./static/img/octoapp.webp","webpack:///./src/components/first-layer-review/example-images/bubbling-1.jpg","webpack:///./src/components/first-layer-review/example-images/detached-2.jpg","webpack:///./src/components/g-codes/AvailablePrinters.vue?34ef","webpack:///./src/components/FailureDetectionGauge.vue?847f","webpack:///./static/img/generic-app.png","webpack:///./src/views/printer-wizard/ObicoInstallationGuidePage.vue?0929","webpack:///./src/components/CollapsableDetails.vue?531d","webpack:///./static/img/mobileraker.webp","webpack:///./src/components/prints/PrintCard.vue?b2da","webpack:///./src/components/terminal/TerminalFeedView.vue?a945","webpack:///./src/components/printer-control/PrintJobControlWidget.vue?e5fd","webpack:///./src/components/GCodeDetails.vue?4a10","webpack:///./src/components/g-codes/GCodeFileStructure.vue?579a","webpack:///./src/views/PrinterControlPage.vue?3d57","webpack:///./src/components/SearchInput.vue?b9cd","webpack:///./src/views/OctoPrintTunnelPage.vue?d6d3","webpack:///./src/components/printer-control/TemperatureWidget.vue?bbd8","webpack:///./src/views/printer-wizard/TargetPlatformSelectionPage.vue?a1fe","webpack:///./static/img/octoprint-plugin-guide/plugin_verification_code.png","webpack:///./static/img/vacation.gif","webpack:///./src/components/first-layer-review/example-images/bumpsAndRoughSurface-2.jpg","webpack:///./src/components/HelpWidget.vue?0de9","webpack:///./src/components/first-layer-review/example-images/bumpsAndRoughSurface-1.jpg"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","getCurrentLanguage","language","currentLanguage","resources","translation","baseEn","entBaseEn","baseZh","entBaseZh","i18n","init","lng","fallbackLng","interpolation","escapeValue","debug","nsSeparator","theme","Vue","observable","defaultTheme","currentThemeValue","themeValue","initTheme","$syndicate","setTheme","newTheme","isLocalStorageSupported","localStorage","setItem","map","webpackAsyncContext","req","ids","id","keys","pageContext","JSON","parse","querySelector","text","mobilePlatform","inMobileWebView","user","settings","syndicate","getLocalPref","prefId","defaultValue","printerId","storageKey","savedVal","getItem","val","setLocalPref","openModalWithComponent","C","props","modalOptions","wrapper","render","h","$mount","swal","customClass","container","html","onBeforeOpen","el","replaceWith","$el","onDestroy","$destroy","remove","openModalWithElement","element","install","options","use","VueSwal","Confirm","mixin","title","showCancelButton","confirmButtonText","cancelButtonText","Toast","toast","position","showConfirmButton","timer","Reject","icon","Prompt","DismissableToast","swalOpt","dismissKey","opt","log","$swal","filter","Math","floor","COMPONENT_NAME_REGEXP","ROOT_COMPONENT_NAME","ANONYMOUS_COMPONENT_NAME","splitPathRe","splitPath","filename","parts","exec","basename","path","ext","f","substr","getComponentName","vm","$root","$options","_componentTag","__file","unifiedFile","replace","_","toUpperCase","build","to","from","prefix","depth","maxDepth","maxKeys","setup","defaultErrorHandler","config","errorHandler","info","Sentry","metadata","obj","_original","componentName","stringify","propsData","_oO","lifecycleHook","getCurrentHub","withScope","scope","setContext","captureException","util","warn","toString","_vm","this","_c","_self","staticClass","staticRenderFns","_b","$attrs","attrs","syndicateAwareHref","computed","syndicateTextConstant","base","brandName","docRoot","appRoot","yumi","mintion","kingroon","$syndicateText","router","components","setupSentry","VueRouter","BootstrapVue","Sticky","VueMoment","VuePluralize","OnoffToggle","LoadScript","I18NextVue","i18next","methods","errorDialog","errorObj","userMessage","fire","$i18next","getDocUrl","getAppUrl","component","LoadingPlaceholder","SyndicateAwareSVG","library","add","faStar","faFileCode","faCalendarDays","faChartPie","faMoneyCheckDollar","faCircleQuestion","faBell","faCog","faDiscord","faRotateRight","faCirclePause","faCirclePlay","faCircleXmark","faPowerOff","faGear","faLayerGroup","faChevronDown","faRulerVertical","faCheck","FontAwesomeIcon","getElementById","moment","updateLocale","week","dow","email","displayName","twilio","pushbullet","discord","telegram","pushover","slack","webhook","defaultRoutes","GeneralPreferences","ThemePreferences","ProfilePreferences","AuthorizedApps","GeneralNotifications","PushNotifications","notificationRoutes","notificationPlugins","reduce","assign","printersToShow","_v","_s","$t","isEnt","trialDaysLeft","scopedSlots","_u","fn","proxy","platformDisplayName","wizardUrl","_e","authorized","appDisplayName","is_pro","directives","rawName","printerToAuthorize","expression","on","$event","$$selectedVal","Array","selected","_value","multiple","domProps","_l","printer","staticStyle","performingAuthRequest","authorize","logoutUrl","appLogo","platformLogo","loginUrl","signupUrl","humanizedDuration","durationInSeconds","seconds","round","getDurationComponents","days","hoursRounded","hours","minutes","duration","asDays","humanizedFilamentUsage","millimeters","meters","twoDecimal","timeFromNow","timeFormat","date","Date","newDate","setSeconds","getSeconds","format","gcodeMetadata","faIcon","formatter","formatters","svgIcon","v","TRANSIENT_STATES","fromStates","Starting","Pausing","Resuming","Cancelling","setPrinterTransientState","transientStateName","currentTime","timeOutInSeconds","isAgentVersionGte","getTime","getPrinterCalculatedState","underlinedState","_TRANSIENT_STATES$per","clearPrinterTransientState","persistedTransientState","calculatedState","includes","showTimeoutError","removeItem","localTransientState","newPrinterState","_window$Sentry","captureMessage","location","reload","toMomentOrNull","datetimeStr","PrintStatus","Printing","isActive","Paused","Finished","Cancelled","normalizedPrint","print","started_at","uploaded_at","finished_at","cancelled_at","ended_at","diff","asSeconds","has_alerts","Boolean","alerted_at","printShotFeedbackEligible","printshotfeedback_set","status","paused_at","normalizedPrinter","g_code_file","normalizedGcode","gcode","created_at","updated_at","deleted","filesize","num_bytes","print_set","sort","a","b","last_print","failedPrints","successPrints","totalPrints","metadata_json","analysis","_gcode$analysis$dimen","filament_total","object_height","dimensions","height","estimated_time","estimatedPrintTime","filament","tools","forEach","getBigThumbnailUrl","thumbnail1_url","thumbnail2_url","thumbnail3_url","getSmallThumbnailUrl","normalizedGcodeFolder","folder","numItems","g_code_file_count","g_code_folder_count","newData","oldData","printerMixin","createdAt","progressCompletion","isOffline","isPaused","isDisconnected","flags","operational","ready","paused","inTransientState","endsWith","_this$status","_this$status$state","state","calculatedStateColor","calcState","colorMapping","secondary","success","neutral","warning","danger","color","states","entries","setTransientState","stateText","inUserInteractionRequired","hasError","toLowerCase","isAgentMoonraker","agentDisplayName","minOctoPrintAgentVersion","minMoonrakerAgentVersion","semverGte","alertUnacknowledged","isAfter","isPrintable","archived_at","printabilityText","normalizedPrinterEvent","printerEvent","printers","encodeURIComponent","pathname","search","appName","URLSearchParams","platform","_this$user","_this$user$subscripti","subscription","plan_id","expired_at","octopodLogo","printoidLogo","polymerLogo","octoappLogo","mobilerakerLogo","genericAppLogo","isKlipper","klipperLogo","octoprintLogo","created","IS_ENT","fetchPrinters","axios","urls","response","post","tunnels","app_name","target_printer_id","tunnelEndpoint","tunnel_endpoint","redirectUrl","catch","isPro","usageFetched","showDetails","daysUntilReset","class","usageClass","usageMTD","humanizedUsageCap","overage","percentage","iframeUrl","bytesMTD","usageCap","endOfMonth","endOf","split","pop","mounted","skipWarning","input","inputPlaceholder","isConfirmed","matchMedia","classList","self","fetchUsage","firstFetch","tunnelUsage","resp","total","monthly_cap","setInterval","access_consented_at","ref","onNextShot","page","pageClass","shots","shot","onShotChanged","onPrev","onNext","consentBtnPressed","image_url","updateShot","model","answer","callback","$$v","_m","$emit","BFormGroup","BFormRadioGroup","required","put","printShotFeedback","print_id","instance","credited_dhs","collapsed","isPopup","active","hasUnseenPrinterEvents","unseenPrinterEventsDisplay","$slots","topBarLeft","topBarRight","hideHeader","_t","default","allowSignUp","urlParams","num","ACCOUNT_ALLOW_SIGN_UP","staticAlert","style","paddingBottom","estimatedFeedbackTime","consentChecked","isArray","_i","$$a","$$el","$$c","checked","$$i","concat","fromNow","video_url","poster_url","playerOptions","onTimeUpdate","downloadBtn","fullscreenBtn","exitFullscreenBtn","videoPlayer","videoUrl","String","posterUrl","fluid","autoplay","defaultFullScreenToggle","muted","preload","playbackRates","fill","sources","controlBar","fullscreenToggle","poster","require","VideoBox","DetectiveWorking","humanize","FocusedFeedbackConsent","Loading","PrintShotCard","VueSlickCarousel","PageLayout","currentShot","fetchData","printId","sortBy","updatePrint","patch","findIndex","$set","$refs","carousel","next","shotIndex","prev","answered_at","allPrintsSelected","selectedPrintIds","size","onDeleteBtnClick","sortingLocalStoragePrefix","sortingOptions","sortingValue","onSortingUpdated","filterLocalStoragePrefix","filterOptions","filterValues","filterUpdateMixin","onFilterUpdated","expandable","resetFilters","prints","loading","stats","total_print_count","total_succeeded_print_count","total_cancelled_print_count","totalPrintTimeFormatted","totalFilamentUsedFormatted","index","has","onSelectedChanged","fetchMoreData","noMoreData","onDatesPicked","menuExpanded","menuOptions","option","onClick","stopPropagation","preventDefault","customMenuOptionClass","resetMenuExpanded","menuOption","sorting","nativeOn","updateSorting","visibility","sortingDirections","direction","SortingDirections","localStoragePrefix","restoreSortingValue","sortingKey","directionKey","find","values","updateFiltering","filterOptionKey","filterValueKey","includesAll","subtitle","Function","filterOption","filterValue","currentFilterValue","newFilterValue","_filterOption$values$","restoreFilterValues","allOption","getFilterParams","customFilterParamsBuilder","params","buildQueryParam","customParams","queryParam","shouldShowFilterWarning","activeFilters","selectable","isSelected","fileName","backgroundImage","Number","watch","newValue","handleOk","resetModal","focusInput","handleSubmit","arguments","dateFrom","dateTo","errorMessage","isOpen","show","initDateFrom","initDateTo","$bvModal","select","close","hide","bvModalEvent","$nextTick","highlighted","highlight","positionWidget","xDirection","yDirection","showCloseButton","ClickOutside","textBefore","_this$$refs$widget","_this$$refs$widget2","widgetWidth","widget","offsetWidth","widgetHeight","offsetHeight","minHorizontalSpace","minVerticalSpace","helpIconPosition","widgetWrapper","getBoundingClientRect","distanceFromRightEdge","innerWidth","left","width","distanceFromBottomEdge","innerHeight","top","DateParamFormat","queryBuilder","customDateFrom","customDateTo","from_date","getDateFrom","to_date","getDateTo","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","today","firstDayOfWeek","setDate","getDate","getDay","firstDayOfMonth","getFullYear","getMonth","firstDayOfYear","date_joined","lastDayOfWeek","lastDayOfMonth","lastDayOfYear","getRecommendedGrouping","fromDate","toDate","PAGE_SIZE","SortingLocalStoragePrefix","SortingOptions","FilterLocalStoragePrefix","FilterOptions","timePeriod","printStatus","feedbackNeeded","MugenScroll","CascadedDropdown","DatePickerModal","SortingDropdown","FilteringDropdown","ActiveFilterNotice","PrintHistoryItem","HelpWidget","Set","total_print_time","_this$stats","total_filament_used","defaultStatsParams","group_by","set","updateCustomPeriodFilterSubtitle","with_archived","validPrinterIds","refetchData","start","limit","fetchStats","selectedPrintIdsClone","delete","userAction","printsBulkDelete","print_ids","filterOptionValue","getCurrentDateFrom","getCurrentDateTo","datePickerModal","newTitle","dateFormat","currentDateFrom","currentDateTo","dateFromFormatted","dateToFormatted","filteringDropdown1","$forceUpdate","filteringDropdown2","groupingOptions","grouping","updateChartGrouping","activeGrouping","longest_print_time","average_print_time","DonutChart","x","y","totalValue","totalValueFormat","innerRadius","min","outerRadius","labelRadius","names","colors","stroke","strokeWidth","strokeLinejoin","padAngle","emptyState","N","d3","V","I","isNaN","formatValue","O","T","arcs","arc","arcLabel","svg","attr","append","selectAll","join","centroid","lines","endAngle","startAngle","formatTotalValue","node","scales","BarChart","marginTop","marginRight","marginBottom","marginLeft","xDomain","xRange","xLabelShow","xLabelRotation","yType","yDomain","yRange","yTicks","xPadding","yFormat","yTickFormat","yLabel","X","Y","xScale","padding","yScale","xAxis","tickSizeOuter","yAxis","ticks","tickFormat","g","clone","bar","bandwidth","each","xAxisLabelsFormat","wrapperWidth","barsCount","lastDayInDataset","barWidth","horizontalLabelRequiredWidth","rotatedLabelRequiredWidth","frequency","rotation","ceil","firstLine","secondLine","endOfWeek","isBefore","month","label","uniqueDateKey","shouldShow","GroupingLocalStorageKey","MutedAlert","getActiveGrouping","isEmptyState","finishedPrintsPercentage","_this$stats2","_this$stats3","finished","cancelledPrintsPercentage","_this$stats4","_this$stats5","addEventListener","drawCharts","unmounted","removeEventListener","getFilterParamsFromQuery","excludeParams","with_deleted","totalPrintsDonutChart","replaceChildren","printCountMaxValue","max","print_count_groups","drawBarChart","printCountGroupsChart","titleValue","printTimeMaxValue","print_time_groups","printTimeMaxvalueHours","printTimeGroupsChart","filamentUsedMaxValue","filament_used_groups","filamentUsedMaxvalueMeters","filamentUsedGroupsChart","_this$getFilterParams","chartWidth","xLabelsFormat","visiblePrints","onPrintDeleted","printDataChanged","openFullScreen","fullScreenClosed","fullScreenPrint","fullScreenPrintVideoUrl","isPublic","creator_name","hasSelectedChangedListener","selectedCardView","canShowDetectiveView","video_archived_at","tagged_video_url","deleteVideo","posterSrc","showVideoArchivedDescription","hasFullscreenListener","cardView","modifiers","humanizedPrintedOrUploadedTime","longFormat","wasTimelapseUploaded","endStatus","_f","opacity","normalizedP","prediction_json_url","thumbedUp","onThumbUpClick","inflightAlertOverwrite","thumbedDown","onThumbDownClick","focusedFeedbackLink","need_print_shot_feedback","titleColor","titleText","computedOptions","RadialGauge","isWatching","inactiveColor","highlight1","Themes","Light","highlight2","highlight3","needle","valueDec","valueInt","units","box","minValue","maxValue","majorTicks","minorTicks","highlights","colorPlate","colorTitle","colorStrokeTicks","colorNeedleEnd","colorNeedle","colorNeedleShadowUp","valueBox","animationRule","animationDuration","animatedValue","ticksAngle","borders","level","FailureDetectionGauge","ALERT_THRESHOLD","currentPosition","predictions","alert_overwrite","$listeners","selectedChanged","fullscreen","getNormalizedP","fetchPredictions","alertOverwrite","ts","initialPosition","PrintCard","FullScreenPrintCard","$delete","isLoading","currentIndex","prevPrint","switchToPrint","PrevPrintButtonTitle","absoluteDateFormat","nextPrint","NextPrintButtonTitle","filament_used","canOpenFile","url","onRepeatPrintClicked","isSending","firstLayerInspection","gradeResult","gradeAccent","gradeTitle","firstLayerPrintTime","onOpenDetailedReport","fullscreenUrl","aiTimeLapsePosterImageUrl","enterFullscreen","exitFullscreen","download","downloadFile","PrinterCommManager","constructor","printerCommMap","Map","setPrinterComm","printerComm","getPrinterComm","getOrCreatePrinterComm","PrinterComm","closeConnection","closeServerWebSocket","webrtc","closeAllConnections","token","printerCommManager","wsUri","callbacks","ws","passthruQueue","ifvisible","closeWebSocket","connect","onPassThruReceived","msg","refId","ret","onTerminalFeedReceived","terminal_feed","printer_event","event_class","event_title","event_text","isDismissed","dismiss","onOpenCallback","readyState","WebSocket","OPEN","protocol","host","onmessage","passthru","onPrinterUpdateReceived","onopen","ensureWebsocketClosed","heartbeat","setWebRTC","parseJsonData","jsonData","onStatusReceived","setCallbacks","onData","maybeBin","toArrayBuffer","arrayBuffer","pako","ungzip","Uint8Array","passThruToPrinter","canSend","random","sendData","send","onclose","ev","freeze","listPrinterLocalGCodesOctoPrint","searchKeyword","listRecoursively","fileObj","fileList","item","children","kwargs","recursive","func","folders","files","local","ObicoUpload","items","display","listPrinterLocalGCodesMoonraker","pathPrefix","extended","dirsInServerFormat","dirname","startsWith","filesInServerFormat","modified","printPrinterLocalGCodeOctoPrint","args","printAfterSelect","printPrinterLocalGCodeMoonraker","verb","repeatPrinterLocalGCode","confirmPrint","imageUrl","reverseButtons","printCloudGCode","safe_filename","sendToPrint","isCloud","Swal","onCommandSent","onPrinterStatusChanged","printerWebSocket","printGCode","checkPrinterStatus","async","REDIRECT_TIMER","showRedirectModal","onClose","timerInterval","onOpen","htmlContainer","getHtmlContainer","timerElement","textContent","getTimerLeft","toFixed","clearInterval","fileDetailsToShow","compact","compactView","showThumbnail","bigThumbnailUrl","file","showOpenButton","openButtonVariant","openButtonText","numberOfVisibleLines","shouldShowDataNotice","expanded","rotated","CollapsableDetails","showPrintStats","unshift","showIconThumbnail","fileUploadedTime","grade","gradeRemarks","isGradeA","gradeSuggestion","suggestion","images","showCarouselAnimation","first_layer_info","carouselItems","dots","infinite","speed","slidesToShow","slidesToScroll","adaptiveHeight","initialSlide","activeTab","carouselKey","activeThumbnail","thumbnailStyle","zIndex","_this$firstLayerInspe","firstLayerInfo","handler","prepareFirstLayerInfo","immediate","calculateGrade","score","GCodeDetails","image","isFirstLayerReportModalOpen","currentPrint","printerStateCheckInterval","resident_printer","currentPrintId","_this$currentPrint","indexParam","parseInt","_this$printer","printerState","fetchSiblingPrints","clearPreviousData","printResponse","prepareFirstLayerReport","firstlayerinspection_set","_error$response","finally","firstLayerInspectionData","newUrl","history","replaceState","prevExists","_this$print$g_code_fi","FirstLayerReportModal","dropzoneOptions","printUploadSuccess","uploaded","vueDropzone","vue2Dropzone","csrf","withCredentials","maxFilesize","acceptedFiles","headers","dhBadgeNum","mobileMenuOptions","visiblePrinters","onPrinterUpdated","shouldShowArchiveWarning","archivedPrinterNum","handleNeverShowAgain","hasCurrentPrintFilename","current_print","statusClass","statusText","onSharePrinter","octoPrintTunnelUrl","settingsUrl","isProAccount","webcam","onNotAFailureClicked","overlay","not_watching_reason","normalized_p","sendPrinterAction","pressed","section_toggles","onSettingsToggleClicked","time","onTimeToggleClicked","statusTemp","onStatusTempToggleClicked","watchForFailures","onWatchForFailuresToggled","pauseOnFailure","onPauseOnFailureToggled","timeRemaining","timeTotal","progressPct","tempProps","onTempEditClicked","Janus","sessions","isExtensionEnabled","navigator","mediaDevices","getDisplayMedia","userAgent","match","chromever","maxver","extension","isInstalled","defaultExtension","extensionId","getScreen","pending","cache","postMessage","origin","sourceId","gatewayCallbacks","noop","wsopened","destroyed","initDone","isWebrtcSupported","server","websockets","wsHandlers","wsKeepaliveTimeoutId","servers","serversIndex","indexOf","iceServers","iceTransportPolicy","bundlePolicy","ipv6Support","ipv6","maxev","max_poll_events","apisecret","destroyOnUnload","keepAlivePeriod","longPollTimeout","getMaxBitrates","simulcastMaxBitrates","maxBitrates","high","medium","low","connected","sessionId","pluginHandles","that","retries","transactions","eventHandler","longpoll","httpAPICall","handleEvent","textStatus","errorThrown","json","skipTimeout","session_id","sender","pluginHandle","candidate","webrtcStuff","pc","remoteSdp","completed","addIceCandidate","endOfCandidates","candidates","webrtcState","hangup","detached","ondetached","detach","mediaState","slowLink","reason","transaction","reportSuccess","plugindata","jsep","vdebug","keepAlive","randomString","createSession","eventName","newWebSocket","body","getInfo","destroySession","unload","notifyDestroyed","cleanupHandles","handleId","destroyHandle","noRequest","sendBeacon","unbindWebSocket","onUnbindMessage","onUnbindError","createHandle","consentDialog","iceState","onlocalstream","onremotestream","ondata","ondataopen","oncleanup","plugin","opaqueId","handleToken","session","started","myStream","streamExternal","remoteStream","mySdp","mediaConstraints","dataChannel","dtmfSender","trickle","iceDone","volume","bitrate","bsnow","bsbefore","tsnow","tsbefore","getId","getPlugin","getVolume","getRemoteVolume","getLocalVolume","isAudioMuted","isMuted","muteAudio","mute","unmuteAudio","isVideoMuted","muteVideo","unmuteVideo","getBitrate","sendMessage","dtmf","sendDtmf","createOffer","prepareWebrtc","createAnswer","handleRemoteJsep","prepareWebrtcPeer","ontrackmuted","ontrackunmuted","sendRequest","cleanupWebrtc","sdp","e2ee","rid_order","sendTrickleCandidate","createDataChannel","dclabel","dcprotocol","incoming","pendingData","onDataChannelMessage","onDataChannelStateChange","dcState","onDataChannelError","dcoptions","ordered","dataChanDefaultLabel","senders","getSenders","audioSender","track","kind","ontonechange","tone","tones","gap","insertDTMF","streamsDone","media","stream","stopAllTracks","getAudioTracks","getVideoTracks","addTracks","update","replaceAudio","replaceVideo","isAudioSendEnabled","addAudio","addTrack","unifiedPlan","audioTransceiver","transceivers","getTransceivers","receiver","replaceTrack","isVideoSendEnabled","addVideo","videoTransceiver","pc_config","webRTCAdapter","browserDetails","browser","version","pc_constraints","optional","rtcConstraints","RTCRtpSender","createEncodedStreams","createEncodedAudioStreams","createEncodedVideoStreams","senderTransforms","receiverTransforms","RTCPeerConnection","getStats","oniceconnectionstatechange","iceConnectionState","onicecandidate","sendSDP","sdpMid","sdpMLineIndex","ontrack","streams","onended","receiverStreams","createAudioEncodedStreams","readableStream","writableStream","pipeThrough","pipeTo","readable","writable","trackMutedTimeoutId","removeTrack","onmute","onunmute","simulcast2","getTracks","tr","addTransceiver","sendEncodings","rid","maxBitrate","scaleResolutionDownBy","senderStreams","isDataEnabled","ondatachannel","channel","oldsdp","pattern","newsdp","setRemoteDescription","offer","webrtcError","audio","video","isTrickleEnabled","keepAudio","removeAudio","audioSend","keepVideo","removeVideo","videoSend","addData","at","stop","ra","asnd","vt","rv","vsnd","isGetUserMediaAvailable","constraints","mandatory","audioSupport","videoSupport","simulcast","screenshareFrameRate","frameRate","screenshareHeight","screenshareWidth","captureDesktopAudio","getUserMedia","audioStream","callbackUserMedia","getScreenMedia","gsmCallback","useAudio","googLeakyBucket","maxWidth","screen","maxHeight","minFrameRate","maxFrameRate","chromeMediaSource","googTemporalLayeredScreencast","chromeMediaSourceId","mozMediaSource","mediaSource","lastTime","polly","enumerateDevices","devices","audioExist","some","device","videoExist","isScreenSendEnabled","needAudioDevice","isAudioSendRequired","needVideoDevice","isVideoSendRequired","haveAudioDevice","haveVideoDevice","gumConstraints","customizeSdp","audioRecv","isAudioRecvEnabled","setDirection","videoRecv","isVideoRecvEnabled","iceRestart","sendVideo","parameters","getParameters","encodings","setParameters","mungeSdpForSimulcasting","setLocalDescription","offerToReceiveAudio","offerToReceiveVideo","OfferToReceiveAudio","OfferToReceiveVideo","localDescription","sdpSent","remote","res","remoteSource","audioLevel","enabled","inStats","mediaType","bytesReceived","googCodecName","fps","framesPerSecond","timestamp","timePassed","bitRate","hangupRequest","ssrc","ssrc_fid","cname","msid","mslabel","insertAt","mline","sim","fid","failIfNoAudio","failIfNoVideo","getServer","isConnected","reconnect","getSessionId","destroy","attach","useDefaultDependencies","deps","fetch","socketCls","proto","arr","adapter","fetchOptions","method","credentials","fetching","timerId","race","ok","parsed","useOldDependencies","jq","jQuery","payload","contentType","xhrFields","ajax","extend","dataType","xhr","tracks","mst","trace","usedDependencies","dependencies","listDevices","attachMediaStream","srcObject","URL","createObjectURL","reattachMediaStream","iOS","oldOBF","safariVp8","getCapabilities","codecs","codec","mimeType","testpc","RTCRtpTransceiver","tempPc","len","charSet","randomPoz","substring","printerWebRTCUrl","printerSharedWebRTCUrl","authToken","_syndicate","turnServer","turn_server","credential","username","WebRTCConnection","streamMode","streamIdToTest","h264Webrtc","mjpegWebrtc","H264WebRTCConnection","MJpegWebRTCConnection","initialized","h264WebRTCConn","mjpegWebRTCConn","openForShareToken","shareToken","openForPrinter","disconnect","janus","stopStream","startStream","streamId","streaming","bitrateInterval","connectJanusWebSocket","mjpegStreamExisting","onStreamAvailable","onMessage","rawData","onMJpegData","_self$streaming","_self$streaming2","channelOpen","_self$streaming3","offer_video","_self$streaming4","_self$streaming5","streamIdsToTest","videoStreamExisting","onRemoteStream","onTrackMuted","onTrackUnmuted","uplink","lost","onSlowLink","onDefaultStreamCleanup","clearBitrateInterval","_self$streaming6","_self$streaming7","_self$streaming8","onBitrateUpdated","_self$streaming9","_self$streaming10","_self$streaming11","slowLinkLoss","slowLinkClicked","fixSlowLinkTextWidth","slowLinkShowing","slowLinkHiding","showing","hiding","trackMuted","showMutedStatusDescription","isVideoAvailable","isBasicStreamingReadyToPlay","isBasicStreamingFrozen","onPlayBtnClicked","remainingSecondsUntilNextCycle","videoLoading","isBasicStreamingInProgress","currentBitrate","clickable","onInfoClicked","remainingSecondsCurrentVideoCycle","webcamRotateClass","webcamRatioClass","transform","imageTransformStyle","taggedSrc","showMJpeg","mjpgSrc","showVideo","webcamVideoHeight","onLoadStart","onCanPlay","onRotateRightClicked","ViewingThrottle","countDownCallback","localStorageItemId","remainingSeconds","countDownTimer","startOrResumeVideoCycle","countDown","resumeVideoCycle","updateRemainingSeconds","remainingViewableSeconds","tsNextVideoCycle","parseFloat","now","MJpegStreamDecoder","onFrame","contentLength","NaN","imageBuffer","bytesRead","originalJpgLength","TextDecoder","decode","jpg","jpgLength","lengthHeaders","_this$webcam","stickyStreamingSrc","isVideoVisible","localStorageRotationKey","stream_id","customRotationDeg","_this$webcam2","_this$webcam3","flipH","flipV","videoRotationDeg","_this$webcam4","ratio169","_this$webcam5","is_primary_camera","basicStreamingInWebrtc","mjpegStreamDecoder","videoLimit","initWebRTC","onWebRTCRemoteStream","onMJpegChunk","webrtcConn","videoTracks","getComputedStyle","slowLinkText","loss","valid","printing","showHours","showMinutes","showSeconds","temperatures","isPluginVersionSufficient","onEditClicked","editable","tempKey","tempItem","heaterIcon","temperatureDisplayName","actual","TemperatureItem","onPresetChanged","preset","allPresets","pre","maxTemp","onSliderChanged","composing","step","SliderInput","presets","curTarget","curPreset","sharedResource","onSharingToggled","sharedLink","copyToClipboard","copyStatus","copyMessage","share","share_token","fetchSharedResources","sharedResources","printer_id","postSharedResources","deleteSharedResources","focus","execCommand","insideCard","onPauseToggled","onCancelClicked","openObicoFiles","openPrinterFiles","connecting","onConnectClicked","modalId","resetGcodesModal","selectedGcodeId","fileId","printerFiles","on-close","goBack","scrollToTop","parentFolder","savedPath","openFile","allSelected","toggleSelectAll","selectedItemsCount","moveSelectedItems","deleteSelectedItems","updateSearch","createFolder","switchToCloudStorage","click","switchToPrinterStorage","selectedPrinterId","isPrinterBrowsable","printerBrowsabilityText","onMenuOptionClicked","cascadedDropdown","gcodeUploadSuccess","gcodeUploadError","addParentFolderParam","maxTotalFilesize","searchStateIsActive","searchInProgress","targetPrinter","nothingFound","scrollContainerId","noMoreFolders","noMoreFiles","localFilesLoading","openFolder","renameItem","moveItem","deleteItem","onPrintClicked","fetchFilesAndFolders","onSelectFiles","onSelectFolders","activeItem","verifyItemRename","onItemRenamed","activeItems","onItemMoved","onItemDeleted","verifyNewFolder","onFolderCreated","newFolderName","preConfirm","parentFolderId","newFolder","gcodeFolders","parent_folder","newItemName","itemType","fullName","fileExt","nameWithoutExt","newNameWithExt","gcodeFile","gcodeFolder","isSameDir","patchLoading","disabledItems","isMoveModal","isFolder","selectedFolders","selectedFiles","isFolderEmpty","disabled","isDisabled","cancelled","FileStructureItem","selectedItemsCopy","unselectAll","GCodeFileStructure","itemParentFolderId","currentFoldersPage","currentFilesPage","resetFiles","reset","_response","_response2","page_size","folderKey","results","gcodeFolderBulkMove","folder_ids","gcodeFileBulkMove","file_ids","msgBoxConfirm","centered","okTitle","okVariant","autoFocusButton","SEARCH_API_CALL_DELAY","SearchInput","RenameModal","MoveModal","DeleteConfirmationModal","NewFolderModal","routeParams","searchQuery","searchTimeoutId","selectedPrinterComm","itemsCount","selectedPrinter","gcodeFiles","getCsrfFromDocument","getRouteParam","$watch","$route","toParams","previousParams","gCodeFileStructure","moveModal","selectedFolderIds","selectedFileIds","gcodeFolderBulkDelete","gcodeFileBulkDelete","$router","browsabilityMinPluginVersion","listPrinterLocalGCodes","decodeURIComponent","printLastUploadedFile","fetchLocalFiles","_response3","_response4","q","_response5","formData","printAfterUpload","gcodesDropzone","getAcceptedFiles","getRejectedFiles","removeAllFiles","renameModal","newName","targetArr","deleteConfirmationModal","newFolderModal","menuOptionKey","newFolderId","renameFile","deleteFile","gcodeNotFound","isDeleted","targetPrinterId","onRefresh","printersLoading","selectPrinter","printerComms","_this$selectedPrinter","availablePrinters","_this$gcode","fetchPrinter","gcodeId","fetchGcode","decodedPath","dir_path","getPrinterLocalGCode","_result$files","hash","safeFilename","agent_signature","gcodeFileOnServer","cloudCopy","_file","_file2","fetchLocalFile","go","selectedPort","connectionOptions","ports","port","selectedBaudrate","baudrates","baudrate","PAUSE_PRINT","RESUME_PRINT","CANCEL_PRINT","WidgetTemplate","GCodeFoldersPage","GCodeFilePage","connectBtnClicked","scrollTo","ConnectPrinter","MUTE_CURRENT_PRINT","ACK_ALERT_NOT_FAILED","Show","Hide","LocalPrefNames","Settings","Time","StatusTemp","StreamingBox","DurationBlock","PrintJobControlWidget","toDuration","secondsLeft","secs","secondsPrinted","watching_enabled","action_on_failure","actionsProps","_data$settings","_data$settings2","_data$settings2$webca","updatedPrinter","webcams","stream_mode","auth_token","printerStatus","octoprint_data","resumePrint","updatePrinter","tempProfiles","TempTargetEditor","targetTemp","succeeded","printerAction","shouldVideoBeFull","hasImage","shouldBeThumb","asHours","SharePrinter","PrinterCard","is_dh_unlimited","dh_balance","reverse","hiddenPrinterCount","insertPrinter","shouldShowArchiveWarningFunc","shouldNeverShow","themes","Dark","showMainMenu","viewName","first_name","hideDropdowns","accountDropdown","NavBar","videoAvailable","isWebrtcOpened","printerSharedWebSocket","errorMessages","saving","action_on_failure_NONE","_q","updateSetting","action_on_failure_PAUSE","tools_off_on_pause","bed_off_on_pause","retract_on_pause","retractFilamentByEnabled","retractOnPause","lift_z_on_pause","liftExtruderByEnabled","liftExtruderBy","detective_sensitivity","sensitivityTooltipFormatter","detectiveSensitivity","timelapseOnFinishEnabled","timelapseOnCancelEnabled","min_timelapse_secs_on_finish","minTimelapseMinutesOnFinish","min_timelapse_secs_on_cancel","minTimelapseMinutesOnCancel","printerWizardUrl","archivePrinter","deletePrinter","disable","inputValue","unit","SavingAnimation","NumberInput","VueSlider","delayedSubmit","delay","timeoutId","printerWizard","printerName","oldValue","changeRetractOnPause","changeLiftExtruderBy","patchPrinter","propName","propValue","inputElem","getSettingsItemInput","setSavingStatus","non_field_errors","errorAlert","settingsItem","delayInfo","chosenDeviceId","discoveryEnabled","canStartLinking","discoveredPrinters","discoveredPrinter","device_id","autoLinkPrinter","discoveryCount","targetOctoPrint","useLegacyVerificationCode","verificationCode","copied","timeToExpire","zoomIn","targetKlipper","showVerificationCodeHelpModal","oneTimePasscode","oneTimePasscodeStatus","oneTimePasscodeChanged","back","agent","rpi_model","machine_type","host_or_ip","hostname","octopi_version","os","linking","cancel","switchToManualLinking","secretObtained","gotWindowMessage","beforeDestroy","gotSecret","obicoDiscoveryPopup","open","destUrl","closeDiscoveryPopup","pluginName","switchToManual","device_secret","done","DiscoveredPrinter","PrinterProgress","verifiedPrinter","apiCallIntervalId","printerIdToLink","query","expiryMoment","_this$verificationCod","_this$discoveredPrint","targetPlatform","getVerificationCode","discoverPrinter","oneTimePasscodes","one_time_passcode","verification_code","verificationCodeUrl","baseUrl","verified_at","callVerificationCodeApi","onPrinterLinked","toggle","callPrinterDiscoveryApi","printerDiscovery","AutoLinkPopup","secret","allowOutsideClick","devicesWithObicoPreInstalled","targetPlatformClicked","brand","printerItem","targetKlipperPreInstall","targetKlipperGeneric","goForward","printer_name","updatePrinterName","redirectToTunnelCreation","editPrinterUrl","widgets","lastPrint","onSendPrinterAction","onUpdateSettings","onReorderClicked","isAllWebcamSelected","selectedWebcam","chooseWebcam","selectedWebcamIndex","refInFor","isAtleastOnePrinterPortrait","deg","handleRotateRightClicked","isPrinting","printProgressPercentage","layerProgress","finishingAt","DATE_TIME_FORMAT","timeElapsed","mmProgress","isPrintStarting","onRepeatClicked","startedAt","extraVisible","_this$print","_this$printer$status","_this$printer$status2","_this$printer$status3","_this$printer$status4","_this$printer$status5","progressInMillimeters","progressMillimeters","currentZ","totalMillimeters","file_metadata","printingArea","maxZ","_this$printer$status6","_this$printer$status7","_this$printer$status8","_this$printer$status9","progressInLayers","progressLayers","currentLayerHeight","totalLayers","obico","totalLayerCount","_this$printer$status$","_this$printer$status10","_this$printer$status11","progress","printTime","_this$printer$status$2","_this$printer2","_this$printer2$status","_this$printer2$status2","printTimeLeft","updatePrintProgress","deep","toggleZHeightProgressType","preferZHeightProgressInLayers","_this$printer$status12","_this$printer$status13","_this$printer$status14","_this$printer$status15","_this$printer$status16","elapsed","printProgressMillimeters","printMillimetersTotal","enableFailureDetection","onFailureDetectionToggled","notWatchingExplanation","settingName","settingValue","onTemperaturePresetsClicked","currentPreset","agentName","handleSetTemp","TempPresets","_result$value","applyTempPreset","profile","presetObj","presetName","bed","extruder","chamber","toolName","temp","activeMenu","hideTunePrinter","powerDevices","xyzJogDistance","xyzControl","axis","directions","down","up","xy","home","z","homeAll","disableSteppers","showExtrudeControl","extrudeJogDistance","handleFilament","filamentDirections","retract","extrude","showToolsSelector","activeTool","zOffsetJogDistance","controlZOffset","currentZOffset","currentFeedRate","customFeedRateFactor","setPrintSpeed","currentFlowRate","customFlowRateFactor","setFlowRate","currentFanSpeed","customFanSpeed","setFanSpeed","togglePower","batchPowerControl","AXIS","xyz","DIRECTIONS","FILAMENT_DIRECTIONS","extruders","prevValue","getCurrentZOffset","getPowerDevices","onEscape","keyCode","$once","moonrakerPayload","offset","gcode_move","homing_origin","cleanOffset","octoPayload","currentToolTemp","toolNum","changeAmount","commandScript","octoVal","moonrakerVal","force","sendCommandToPrinter","command","onError","onSuccess","actionString","deviceStr","action","str","dragging","currentItems","getTitle","toggleItemEnabled","draggable","extraInfo","newVal","oldVal","saveNewOrder","sortingConfig","fullScreenHeight","showFullScreenOpt","feedIsOn","canToggleFeed","toggleTerminalPower","clearFeed","updateFilterPrefs","hideTempMessages","hideSDMessages","hideGCodeMessages","hideOKMessages","terminalFeedArray","_k","feed","normalTimeStamp","TerminalFeedView","oldTerminalFeed","onNextTerminalFeed","terminalSetup","hideTempPref","hideSDPref","hideOKPref","hideGCodePref","newTerminalFeed","_this$oldTerminalFeed","_this$oldTerminalFeed2","sameMsg","same_ts","_ts","newMsg","tempRegex","SDRegex","gCodeRegex","test","trim","newString","PrinterTerminal","WIDGETS","PrintProgressWidget","FailureDetectionWidget","TemperatureWidget","PrinterControlWidget","TerminalWidget","lastPrintFetchCounter","widgetsConfig","customRotationData","configItem","w","_this$printer$setting","_this$printer$setting2","webcam_rotation","isPortrait","_webcam$rotation","custom","customRotation","degree","_newValue$current_pri","_oldValue$current_pri","resizeStream","restoreWidgets","fetchLastPrint","pollForCorrect","_this$printer3","_this$printer3$settin","_this$printer4","_this$printer4$settin","dataChannelFound","data_channel_available","primaryWebcam","preferredWebcam","preferredWebcamIndex","customRotationIndex","WIDGET","terminalWidget","defaultProps","filter_by_printer_ids","retry","newDelay","streamInners","streamInner","streamContainer","parentElement","getPropertyValue","streamContainerRect","streamContainerWidth","streamContainerHeight","isVertical","isRatio169","multiplier","isOctoPrintCommand","ReorderModal","useMobileLayout","onlyNotifications","sections","isHidden","isSubcategory","route","logout","currentSection","isNotificationChannel","availableNotificationPlugins","currentRouteComponent","createNotificationChannel","patchNotificationChannel","deleteNotificationChannel","clearErrorMessages","addErrorMessage","updateRoute","notification_enabled","defaultSections","importComponent","routes","notificationSections","channelName","configuredNotificationChannels","last_name","combinedInputs","visibleSections","section","clientIsThemeable","fetchNotificationPlugins","fetchNotificationChannels","fetchUser","checkMobileLayout","onresize","paddingTop","newTabIndex","vw","documentElement","clientWidth","plugins","pluginInfo","env_vars","needHidden","envItem","is_required","is_set","notificationChannels","channels","channelInfo","opts","getNotificationSettingKey","errors","innnerError","propNames","propValues","prop","updateNotificationChannel","patchUser","checkForCombinedValues","inputs","emptyValues","ReactNativeWebView","firstName","lastName","eventClassFiltering","eventClass","toggleEventFiltering","cssClassFromEventClass","eventTypeFiltering","eventType","printerEvents","tintBorderClass","link","info_url","onTextClick","tintClass","eventTitle","LOCAL_PREF_NAMES","localPrefKey","localPref","PrinterEventCard","filter_by_classes","filter_by_types","original","onImageUpdated","labels","raisedRipples","openExample","bubbling","bumpsAndRoughSurface","gaps","other","noIssues","notANozzleCam","isFirst","labelsSelected","isLast","totalShots","labelsToString","parseLabelsString","updateLabels","labelsString","labelArray","desc","imageUrls","raised","raised1","raised2","bubbling1","bubbling2","bumps","bumps1","bumps2","detached1","detached2","gaps1","gaps2","FirstLayerShotCard","inspectionId","urlParts","UserPreferencesPage","TargetPlatformSelectionPage","ObicoInstallationGuidePage","PrinterLinkingPage","AddPrinterSuccessPage","prefRoutes","NewOctoPrintTunnelPage","OctoPrintTunnelPage","PrintShotFeedbackApp","PrinterListPage","SharedPrinterPage","PrinterSettingsPage","PrinterControlPage","PrintsPage","PrintPage","PrintHistoryPage","StatsPage","UploadPrintPage","PrinterEventsPage","PrinterTerminalPage","FirstLayerInspectionImagePage","mountVue","System","biqu","shadows","matches","mergeColorOverrides","defaultColors","syndicateColors","merged","finalColors","syndicates","setProperty","meta","content","shadow","savingClass","savingDoneClass","savingFailedClass","smallHeightClass","errorMsg","savingTimeout","savingDoneTimeout","nowSaving","prevSaving","clearSavingTimeout","notificationChannel","startCase","toLower","Blob","reader","FileReader","srcElement","readAsArrayBuffer","_document$getElements","getElementsByName","blob","aElement","revokeObjectURL","formatWithoutDaylightSavingShift","formattingStr","utcOffset","_tzm","shotId","pubPrinter","tunnel","paramsObj","entry","resourceId","testNotificationChannel","printerControl"],"mappings":"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","file":"js/root.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"root\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"root\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-148bd346\":1,\"chunk-21c3a10b\":1,\"chunk-44a38aaa\":1,\"chunk-4735cf0b\":1,\"chunk-4c6d5824\":1,\"chunk-5b348ede\":1,\"chunk-63df7391\":1,\"chunk-747d5350\":1,\"chunk-97991682\":1,\"chunk-d085a80a\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/static/frontend/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StreamingBox.vue?vue&type=style&index=0&id=7045853e&prod&lang=sass&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SliderInput.vue?vue&type=style&index=0&id=3dcc12a9&prod&lang=sass&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DatePickerModal.vue?vue&type=style&index=0&id=3aeed230&prod&lang=sass&scoped=true&\"","module.exports = __webpack_public_path__ + \"img/detective-working.gif\";","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UploadPrintPage.vue?vue&type=style&index=0&id=13c6093e&prod&lang=sass&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavBar.vue?vue&type=style&index=0&id=371280d8&prod&lang=sass&scoped=true&\"","import i18n from 'i18next';\n\nimport baseEn from './locales/en.json';\nimport baseZh from './locales/zh.json';\nimport entBaseEn from './locales/ent_en.json';\nimport entBaseZh from './locales/ent_zh.json';\n\nimport {language} from '@src/lib/page-context'\n\nconst getCurrentLanguage = () => {\n return language()\n};\n\n\nconst currentLanguage = getCurrentLanguage()\n\n\nconst resources = {\n 'en': {\n translation: {\n ...baseEn,\n ...entBaseEn\n }\n },\n 'zh': {\n translation: {\n ...baseZh,\n ...entBaseZh\n }\n },\n\n};\n\ni18n\n .init({\n resources,\n lng: currentLanguage,\n fallbackLng: ['en'],\n interpolation: {\n escapeValue: false,\n },\n debug: true,\n nsSeparator:false\n });\n\nexport default i18n;\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CascadedDropdown.vue?vue&type=style&index=0&id=2a5ecb65&prod&lang=sass&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintShotCard.vue?vue&type=style&index=0&id=72de57d5&prod&lang=sass&scoped=true&\"","module.exports = __webpack_public_path__ + \"img/klipperScreenMenu.png\";","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadingPlaceholder.vue?vue&type=style&index=0&id=26c9d5fe&prod&lang=sass&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetTemplate.vue?vue&type=style&index=0&id=922c39c0&prod&lang=sass&scoped=true&\"","module.exports = __webpack_public_path__ + \"img/bubbling-2.jpg\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FailureDetectionWidget.vue?vue&type=style&index=0&id=6fe2ac18&prod&lang=sass&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterControlWidget.vue?vue&type=style&index=0&id=ca2fb97c&prod&lang=sass&scoped=true&\"","import Vue from 'vue'\nimport { isLocalStorageSupported } from '@static/js/utils'\nimport {\n currentThemeValue as themeValue,\n defaultTheme,\n initTheme as init,\n} from '@static/js/color-scheme'\n\nexport const theme = Vue.observable({\n value: defaultTheme,\n})\n\nexport function currentThemeValue() {\n return themeValue(theme)\n}\n\nexport function initTheme() {\n return init(currentThemeValue(), Vue.prototype.$syndicate)\n}\n\nexport function setTheme(newTheme) {\n theme.value = newTheme\n if (isLocalStorageSupported()) {\n localStorage.setItem('colorTheme', theme.value)\n }\n initTheme(Vue.prototype.$syndicate)\n}\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterListPage.vue?vue&type=style&index=0&id=fb278c80&prod&lang=sass&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintHistoryItem.vue?vue&type=style&index=0&id=11fbb7ad&prod&lang=sass&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeleteConfirmationModal.vue?vue&type=style&index=0&id=930ed162&prod&lang=sass&\"","var map = {\n\t\"./DiscordPlugin\": [\n\t\t\"0f1e\",\n\t\t\"chunk-148bd346\"\n\t],\n\t\"./DiscordPlugin.vue\": [\n\t\t\"0f1e\",\n\t\t\"chunk-148bd346\"\n\t],\n\t\"./EmailPlugin\": [\n\t\t\"c308\",\n\t\t\"chunk-97991682\"\n\t],\n\t\"./EmailPlugin.vue\": [\n\t\t\"c308\",\n\t\t\"chunk-97991682\"\n\t],\n\t\"./PushbulletPlugin\": [\n\t\t\"1cfc\",\n\t\t\"chunk-21c3a10b\"\n\t],\n\t\"./PushbulletPlugin.vue\": [\n\t\t\"1cfc\",\n\t\t\"chunk-21c3a10b\"\n\t],\n\t\"./PushoverPlugin\": [\n\t\t\"46f8\",\n\t\t\"chunk-747d5350\"\n\t],\n\t\"./PushoverPlugin.vue\": [\n\t\t\"46f8\",\n\t\t\"chunk-747d5350\"\n\t],\n\t\"./SlackPlugin\": [\n\t\t\"ff58\",\n\t\t\"chunk-5b348ede\"\n\t],\n\t\"./SlackPlugin.vue\": [\n\t\t\"ff58\",\n\t\t\"chunk-5b348ede\"\n\t],\n\t\"./TelegramPlugin\": [\n\t\t\"814e\",\n\t\t\"chunk-4735cf0b\"\n\t],\n\t\"./TelegramPlugin.vue\": [\n\t\t\"814e\",\n\t\t\"chunk-4735cf0b\"\n\t],\n\t\"./TwilioPlugin\": [\n\t\t\"e2bc\",\n\t\t\"chunk-44a38aaa\"\n\t],\n\t\"./TwilioPlugin.vue\": [\n\t\t\"e2bc\",\n\t\t\"chunk-44a38aaa\"\n\t],\n\t\"./WebhookPlugin\": [\n\t\t\"e920\",\n\t\t\"chunk-4c6d5824\"\n\t],\n\t\"./WebhookPlugin.vue\": [\n\t\t\"e920\",\n\t\t\"chunk-4c6d5824\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = \"17ae\";\nmodule.exports = webpackAsyncContext;","module.exports = __webpack_public_path__ + \"img/moonraker_verification_code.png\";","export const pageContext = () => {\n return JSON.parse(document.querySelector('#page-context-json').text)\n}\n\nexport const mobilePlatform = () => {\n return pageContext()['app_platform']\n}\n\nexport const inMobileWebView = () => {\n return mobilePlatform() !== ''\n}\n\nexport const user = () => {\n return JSON.parse(document.querySelector('#user-json').text)\n}\n\nexport const settings = () => {\n return JSON.parse(document.querySelector('#settings-json').text)\n}\n\nexport const syndicate = () => {\n return pageContext()['syndicate']\n}\n\nexport const language = () => {\n return pageContext()['language']\n}","module.exports = __webpack_public_path__ + \"img/mainsail_logo.png\";","module.exports = __webpack_public_path__ + \"img/gaps-1.jpg\";","module.exports = __webpack_public_path__ + \"img/octopod.webp\";","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DiscoveredPrinter.vue?vue&type=style&index=0&id=0a48d7b0&prod&lang=sass&\"","module.exports = __webpack_public_path__ + \"img/install_plugin.png\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewFolderModal.vue?vue&type=style&index=0&id=47badcdc&prod&lang=sass&scoped=true&\"","module.exports = __webpack_public_path__ + \"img/octoprint_logo.png\";","module.exports = __webpack_public_path__ + \"img/detached-1.jpg\";","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintsPage.vue?vue&type=style&index=0&id=7a698682&prod&lang=sass&scoped=true&\"","module.exports = __webpack_public_path__ + \"img/polymer.webp\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterLinkingPage.vue?vue&type=style&index=1&id=47ff6d0e&prod&lang=sass&\"","import { isLocalStorageSupported } from '@static/js/utils'\n\nexport const getLocalPref = (prefId, defaultValue, printerId = null) => {\n const storageKey = printerId === null ? prefId : `${prefId}_${printerId}`;\n var savedVal = isLocalStorageSupported() ? localStorage.getItem(storageKey) : null\n var val = savedVal || defaultValue\n // Hack to deal with data type such as boolean and number\n try {\n return JSON.parse(val)\n } catch (e) {\n return val\n }\n}\n\nexport const setLocalPref = (prefId, value, printerId = null) => {\n if (isLocalStorageSupported()) {\n const storageKey = printerId === null ? prefId : `${prefId}_${printerId}`;\n localStorage.setItem(storageKey, value);\n }\n}","module.exports = __webpack_public_path__ + \"img/printoid.webp\";","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PageLayout.vue?vue&type=style&index=0&id=5822eab8&prod&lang=sass&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintPage.vue?vue&type=style&index=0&id=122a7196&prod&lang=sass&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FirstLayerShotCard.vue?vue&type=style&index=0&id=b52f1894&prod&lang=sass&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FullScreenPrintCard.vue?vue&type=style&index=0&id=64113028&prod&lang=sass&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterListPage.vue?vue&type=style&index=1&id=fb278c80&prod&lang=sass&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterTerminal.vue?vue&type=style&index=0&id=e9a802f6&prod&lang=sass&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TemperatureItem.vue?vue&type=style&index=0&id=6371ef1e&prod&lang=sass&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RenameModal.vue?vue&type=style&index=0&id=bc4fae7e&prod&lang=sass&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FirstLayerReportModal.vue?vue&type=style&index=0&id=c7824f38&prod&lang=sass&scoped=true&\"","module.exports = __webpack_public_path__ + \"img/webpage-multiple.svg\";","import Vue from 'vue'\nimport VueSwal from 'vue-sweetalert2'\n\nimport { getLocalPref, setLocalPref } from '@src/lib/pref'\n\nconst openModalWithComponent = (C, props, modalOptions) => {\n let wrapper = document.createElement('div')\n const c = new Vue({\n render: (h) => h(C, { props: props }),\n }).$mount(wrapper)\n\n return Vue.swal({\n ...modalOptions,\n customClass: {\n container: 'dark-backdrop',\n },\n html: '
Placeholder
',\n onBeforeOpen: (el) => {\n el.querySelector('#replace-here').replaceWith(c.$el)\n },\n onDestroy: () => {\n c.$destroy()\n wrapper.remove()\n },\n })\n}\n\nconst openModalWithElement = (element, props, modalOptions) => {\n return Vue.swal({\n ...modalOptions,\n customClass: {\n container: 'dark-backdrop',\n },\n html: '
Placeholder
',\n onBeforeOpen: (el) => {\n el.querySelector('#replace-here').replaceWith(element)\n },\n })\n}\n\nconst install = (Vue, options) => {\n Vue.use(VueSwal, options)\n\n const Confirm = Vue.swal.mixin({\n title: 'Are you sure?',\n showCancelButton: true,\n confirmButtonText: 'Yes',\n cancelButtonText: 'No',\n customClass: {\n container: 'dark-backdrop',\n },\n })\n\n const Toast = Vue.swal.mixin({\n toast: true,\n position: 'top-end',\n showConfirmButton: false,\n timer: 5000,\n })\n\n const Reject = Vue.swal.mixin({\n icon: 'error',\n customClass: {\n container: 'dark-backdrop error-alert',\n },\n })\n\n const Prompt = Vue.swal.mixin({\n customClass: {\n container: 'dark-backdrop',\n },\n })\n\n const DismissableToast = (swalOpt, dismissKey) => {\n if (!getLocalPref(dismissKey, false)) {\n const opt = {\n ...swalOpt,\n position: 'top-end',\n confirmButtonText: \"Gotcha! Don't show this again.\",\n }\n return Vue.swal(opt).then(function (result) {\n if (result.value) {\n setLocalPref(dismissKey, true)\n console.log(result)\n }\n })\n }\n }\n\n Vue.prototype.$swal['openModalWithComponent'] = openModalWithComponent\n Vue.prototype.$swal['openModalWithElement'] = openModalWithElement\n Vue.prototype.$swal['Confirm'] = Confirm\n Vue.prototype.$swal['Toast'] = Toast\n Vue.prototype.$swal['DismissableToast'] = DismissableToast\n Vue.prototype.$swal['Reject'] = Reject\n Vue.prototype.$swal['Prompt'] = Prompt\n}\n\nexport default { install: install }\n","import Vue from 'vue'\n\nVue.filter('floor', (value) => Math.floor(value))\n","// extract from @sentry/vue package\n\nconst COMPONENT_NAME_REGEXP = /(?:^|[-_/])(\\w)/g\nconst ROOT_COMPONENT_NAME = 'root'\nconst ANONYMOUS_COMPONENT_NAME = 'anonymous component'\n\nconst splitPathRe = /^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^/]+?|)(\\.[^./]*|))(?:[/]*)$/\nconst splitPath = (filename) => {\n const parts = splitPathRe.exec(filename)\n return parts ? parts.slice(1) : []\n}\n\nconst basename = (path, ext) => {\n let f = splitPath(path)[2]\n if (ext && f.substr(ext.length * -1) === ext) {\n f = f.substr(0, f.length - ext.length)\n }\n return f\n}\n\nconst getComponentName = (vm) => {\n if (!vm) {\n return ANONYMOUS_COMPONENT_NAME\n }\n\n if (vm.$root === vm) {\n return ROOT_COMPONENT_NAME\n }\n\n if (!vm.$options) {\n return ANONYMOUS_COMPONENT_NAME\n }\n\n if (vm.$options.name) {\n return vm.$options.name\n }\n\n if (vm.$options._componentTag) {\n return vm.$options._componentTag\n }\n\n // injected by vue-loader\n if (vm.$options.__file) {\n const unifiedFile = vm.$options.__file.replace(/^[a-zA-Z]:/, '').replace(/\\\\/g, '/')\n const filename = basename(unifiedFile, '.vue')\n return filename.replace(COMPONENT_NAME_REGEXP, (_, c) =>\n c ? c.toUpperCase() : '',\n )\n }\n\n return ANONYMOUS_COMPONENT_NAME\n}\n\nconst build = (to, from, prefix, depth, maxDepth, maxKeys) => {\n let c = 0\n for (let key in from) {\n c += 1\n if (c > maxKeys) {\n break\n }\n if (typeof from[key] == 'object') {\n if (maxDepth > depth) {\n build(to, from[key], prefix + '.' + key, depth + 1, maxDepth, maxKeys)\n }\n } else {\n to[prefix + '.' + key] = from[key]\n }\n }\n}\n\nconst setup = (Vue) => {\n const defaultErrorHandler = Vue.config.errorHandler\n\n Vue.config.errorHandler = (error, vm, info) => {\n if (window.Sentry) {\n const metadata = {}\n\n let obj = vm\n if (vm._original) {\n obj = vm._original\n }\n\n if (obj) {\n\n try {\n metadata.componentName = getComponentName(obj)\n build(metadata, JSON.parse(JSON.stringify(obj.$options.propsData)), 'props', 0, 2, 10)\n } catch (_oO) {\n console.log('Unable to extract metadata from Vue component.')\n }\n }\n\n if (info) {\n metadata.lifecycleHook = info\n }\n\n // Capture exception in the next event loop, to make sure that all breadcrumbs are recorded in time.\n setTimeout(() => {\n window.Sentry.getCurrentHub().withScope(scope => {\n scope.setContext('vue', metadata)\n window.Sentry.getCurrentHub().captureException(error)\n })\n })\n }\n\n if (typeof defaultErrorHandler === 'function') {\n defaultErrorHandler.call(Vue, error, vm, info)\n }\n\n if (Vue.util) {\n Vue.util.warn(`Error in ${info}: \"${error.toString()}\"`, vm)\n }\n console.error(error)\n }\n}\n\nexport default setup\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"wrapper\"},[_c('b-spinner')],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadingPlaceholder.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadingPlaceholder.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LoadingPlaceholder.vue?vue&type=template&id=26c9d5fe&scoped=true&\"\nimport script from \"./LoadingPlaceholder.vue?vue&type=script&lang=js&\"\nexport * from \"./LoadingPlaceholder.vue?vue&type=script&lang=js&\"\nimport style0 from \"./LoadingPlaceholder.vue?vue&type=style&index=0&id=26c9d5fe&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"26c9d5fe\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('svg',_vm._b({},'svg',_vm.$attrs,false),[_c('use',{attrs:{\"xlink:href\":_vm.syndicateAwareHref}})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n ","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SyndicateAwareSVG.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SyndicateAwareSVG.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SyndicateAwareSVG.vue?vue&type=template&id=a2f87050&\"\nimport script from \"./SyndicateAwareSVG.vue?vue&type=script&lang=js&\"\nexport * from \"./SyndicateAwareSVG.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export const syndicateTextConstant = {\n base:{\n brandName: 'Obico',\n docRoot: 'https://www.obico.io/docs',\n appRoot: 'https://app.obico.io',\n },\n yumi:{\n brandName: 'Yumi',\n docRoot: 'https://www.obico.io/docs',\n appRoot: 'https://app.obico.io',\n },\n mintion:{\n brandName: 'Mintion',\n docRoot: 'https://www.obico.io/docs',\n appRoot: 'https://app.obico.io',\n },\n kingroon:{\n brandName: 'Kingroon',\n docRoot: 'https://docs.kingroon.com/docs',\n appRoot: 'https://app.kingroon.com',\n },\n};\n","import Vue from 'vue'\nimport VueRouter from 'vue-router'\nimport VueSwal from '@src/lib/vue-swal'\nimport { BootstrapVue } from 'bootstrap-vue'\nimport Sticky from 'vue-sticky-directive'\nimport VueMoment from 'vue-moment'\nimport '@src/lib/filters'\nimport setupSentry from '@src/lib/sentry'\nimport { initTheme } from '@src/lib/color-scheme-controller'\nimport VuePluralize from 'vue-pluralize'\nimport OnoffToggle from 'vue-onoff-toggle'\nimport LoadScript from 'vue-plugin-load-script'\nimport LoadingPlaceholder from '@src/components/LoadingPlaceholder.vue'\nimport SyndicateAwareSVG from '@src/components/SyndicateAwareSVG.vue'\nimport moment from 'moment'\n\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'\nimport i18next from \"@src/i18n/i18n.js\";\nimport I18NextVue from \"i18next-vue\";\nimport {\n faStar,\n faFileCode,\n faCalendarDays,\n faChartPie,\n faMoneyCheckDollar,\n faCircleQuestion,\n faBell,\n faCog,\n faCirclePause,\n faCirclePlay,\n faCircleXmark,\n faPowerOff,\n faGear,\n faRotateRight,\n faLayerGroup,\n faChevronDown,\n faRulerVertical,\n faCheck\n} from '@fortawesome/free-solid-svg-icons'\nimport { faDiscord } from '@fortawesome/free-brands-svg-icons'\nimport { syndicate, language } from '@src/lib/page-context'\nimport { syndicateTextConstant } from '@src/config/syndicateText'\n\nVue.prototype.$syndicate = syndicate().name\nVue.prototype.$syndicateText = syndicateTextConstant[syndicate().name||'base'] || syndicateTextConstant.base\n\nexport default (router, components) => {\n initTheme()\n setupSentry(Vue)\n Vue.use(VueRouter)\n Vue.use(BootstrapVue)\n Vue.use(VueSwal)\n Vue.use(Sticky)\n Vue.use(VueMoment)\n Vue.use(VuePluralize)\n Vue.use(OnoffToggle)\n Vue.use(LoadScript)\n Vue.use(I18NextVue, { i18next });\n Vue.mixin({\n methods: {\n errorDialog: function (errorObj, userMessage) {\n console.error('logError', errorObj)\n if (userMessage) {\n this.$swal.Reject.fire({\n title: `${this.$i18next.t('Error')}`,\n html: `

\n ${userMessage}.\n ${this.$i18next.t(\"Get help from\")} ${this.$i18next.t(\"the {brandName} for Klipper support forum\",{brandName:this.$syndicateText.brandName})} ${this.$i18next.t(\"or\")} ${this.$i18next.t('the {brandName} general support forum',{brandName:this.$syndicateText.brandName})} ${this.$i18next.t(\"if this error persists.\")}\n

`,\n showConfirmButton: false,\n showCancelButton: true,\n cancelButtonText: 'Close',\n })\n }\n },\n getDocUrl(path) {\n return this.$syndicateText.docRoot + path;\n },\n getAppUrl(path) {\n if(path)\n return this.$syndicateText.appRoot + path;\n else\n return this.$syndicateText.appRoot;\n }\n },\n })\n\n Vue.component('LoadingPlaceholder', LoadingPlaceholder)\n Vue.component('SyndicateAwareSVG', SyndicateAwareSVG)\n\n library.add(\n faStar,\n faFileCode,\n faCalendarDays,\n faChartPie,\n faMoneyCheckDollar,\n faCircleQuestion,\n faBell,\n faCog,\n faDiscord,\n faRotateRight,\n faCirclePause,\n faCirclePlay,\n faCircleXmark,\n faPowerOff,\n faGear,\n faLayerGroup,\n faChevronDown,\n faRulerVertical,\n faCheck\n )\n Vue.component('FontAwesomeIcon', FontAwesomeIcon)\n\n if (document.getElementById('app')) {\n new Vue({\n router,\n components,\n }).$mount('#app')\n }\n\n // FIXME: make start of the week dynamic when/if it will be done in the backend\n moment.updateLocale('en', {\n week: {\n dow: 0, // Sunday is the first day of the week.\n },\n })\n}\n","import i18n from '@src/i18n/i18n.js'\n\nexport default {\n email: {\n displayName: `${i18n.t('Email')}`,\n componentName: 'EmailPlugin',\n },\n twilio: {\n displayName: `${i18n.t('SMS')}`,\n componentName: 'TwilioPlugin',\n },\n pushbullet: {\n displayName: `${i18n.t('Pushbullet')}`,\n componentName: 'PushbulletPlugin',\n },\n discord: {\n displayName: `${i18n.t('Discord')}`,\n componentName: 'DiscordPlugin',\n },\n telegram: {\n displayName: `${i18n.t('Telegram')}`,\n componentName: 'TelegramPlugin',\n },\n pushover: {\n displayName: `${i18n.t('Pushover')}`,\n componentName: 'PushoverPlugin',\n },\n slack: {\n displayName: `${i18n.t('Slack')}`,\n componentName: 'SlackPlugin',\n },\n webhook: {\n displayName: `${i18n.t('Webhook')}`,\n componentName: 'WebhookPlugin',\n },\n}\n","import notificationPlugins from '@src/notifications/plugins'\n\nconst defaultRoutes = {\n GeneralPreferences: '/user_preferences/general/',\n ThemePreferences: '/user_preferences/personalization/',\n ProfilePreferences: '/user_preferences/profile/',\n AuthorizedApps: '/user_preferences/authorized_apps/',\n GeneralNotifications: '/user_preferences/general_notifications/',\n PushNotifications: '/user_preferences/mobile_push_notifications/',\n}\n\nconst notificationRoutes = Object.keys(notificationPlugins).reduce((obj, name) => {\n return Object.assign(obj, { [name]: `/user_preferences/notification_${name}/` })\n}, {})\n\nexport default {\n ...defaultRoutes,\n ...notificationRoutes,\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('b-container',[_c('b-row',{staticClass:\"justify-content-center\"},[(_vm.user)?_c('b-col',{staticClass:\"mt-3\",attrs:{\"lg\":\"8\"}},[(_vm.printersToShow.length === 0)?_c('div',{staticClass:\"wizard-container full-on-mobile\"},[_c('b-container',[_c('b-row',[_c('div',{staticClass:\"col-sm-12 col-md-8 offset-md-2 col-lg-6 offset-lg-3\"},[_c('svg',{staticClass:\"logo-img\",attrs:{\"viewBox\":\"0 0 1965 240\"}},[_c('use',{attrs:{\"href\":\"#svg-logo-compact\"}})])])]),_c('b-row',[_c('h1',{staticClass:\"mx-auto\"},[_vm._v(_vm._s(_vm.$t(\"Welcome To\"))+\" \"+_vm._s(_vm.$syndicateText.brandName))])]),_c('b-row',[_c('b-col',[_c('hr')])],1),(_vm.isEnt && _vm.trialDaysLeft > 0)?_c('b-row',[_c('b-col',[(_vm.trialDaysLeft >= 29)?_c('h3',{staticClass:\"py-3\"},[_c('i18next',{attrs:{\"translation\":_vm.$t('Your 30-Day {localizedDom} Free Trial Has Started!')},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('a',{staticClass:\"link\",attrs:{\"target\":\"_blank\",\"href\":_vm.getDocUrl('/user-guides/upgrade-to-pro/')}},[_vm._v(_vm._s(_vm.$t(\"Pro Plan\")))])]},proxy:true}],null,false,2641834975)})],1):_c('h3',{staticClass:\"py-3\"},[_c('i18next',{attrs:{\"translation\":_vm.$t('{trialDaysLeft} Days Left on Your {localizedDom} Free Trial!')},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('a',{staticClass:\"link\",attrs:{\"target\":\"_blank\",\"href\":_vm.getDocUrl('/user-guides/upgrade-to-pro/')}},[_vm._v(_vm._s(_vm.$t(\"Pro Plan\"))+\" \")])]},proxy:true},{key:\"trialDaysLeft\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.trialDaysLeft)+\" \")]},proxy:true}],null,false,1171636685)})],1),_c('div',{staticClass:\"pb-1\"},[_c('i',{staticClass:\"feature-check fas fa-check-circle\"}),_c('span',{staticClass:\"feature-text\"},[_vm._v(_vm._s(_vm.$t('Unlimited Secure Tunnel to your {platformDisplayName}',{platformDisplayName: _vm.platformDisplayName})))])]),_c('div',{staticClass:\"pb-1\"},[_c('i',{staticClass:\"feature-check fas fa-check-circle\"}),_c('span',{staticClass:\"feature-text\"},[_vm._v(_vm._s(_vm.$t(\"Premium 25 FPS Webcam Streaming\")))])]),_c('div',{staticClass:\"pb-1\"},[_c('i',{staticClass:\"feature-check fas fa-check-circle\"}),_c('span',{staticClass:\"feature-text\"},[_vm._v(_vm._s(_vm.$t(\"250 AI Failure Detection Hours\")))])]),_c('div',{staticClass:\"pb-1\"},[_c('i',{staticClass:\"feature-check fas fa-check-circle\"}),_c('span',{staticClass:\"feature-text\"},[_vm._v(_vm._s(_vm.$t(\"G-Code Remote Upload and Printing\")))])]),_c('div',{staticClass:\"lead py-4\"},[_vm._v(_vm._s(_vm.$t(\"{platformDisplayName} has not been linked to your {brandName} account.\",{platformDisplayName: _vm.platformDisplayName,brandName:_vm.$syndicateText.brandName})))]),_c('div',{staticClass:\"d-flex flex-column align-center justify-content-center\"},[_c('div',[_c('a',{staticClass:\"btn btn-primary btn-block mx-auto btn-lg\",attrs:{\"href\":_vm.wizardUrl}},[_vm._v(_vm._s(_vm.$t(\"Link {platformDisplayName} Now\",{platformDisplayName: _vm.platformDisplayName})))])]),_c('div',[_c('div',{staticClass:\"text-muted mx-auto text-center font-weight-light\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"It's as easy as 1-2-3.\"))+\" \")])])])])],1):_vm._e(),_c('div',{staticClass:\"footer-note small\"},[_c('i18next',{attrs:{\"translation\":_vm.$t('Not ready to start yet? {localizedDom} to pause your free trial.')},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('a',{attrs:{\"href\":\"mailto:support@obico.io?subject=Please%20pause%20my%20free%20trial\"}},[_vm._v(_vm._s(_vm.$t(\"Email us\")))])]},proxy:true}],null,false,51292438)})],1)],1)],1):_c('div',[_c('div',{staticClass:\"text-center\"},[_c('svg',{attrs:{\"width\":\"100\",\"height\":\"30\"}},[_c('use',{attrs:{\"href\":\"#svg-logo-full\"}})])]),(_vm.authorized)?_c('div',{staticClass:\"authorization-successful\"},[_c('h4',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Authorization Successful!\")))]),_c('p',[_vm._v(_vm._s(_vm.$t(\"You can close this page\")))])]):_c('div',[_c('div',[_c('div',{staticClass:\"lead text-center mt-3 mb-5\"},[_vm._v(_vm._s(_vm.$t(\"Tunnel Access Authorization\")))]),_c('h4',{staticClass:\"my-4\"},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(_vm.appDisplayName))]),_vm._v(\" \"+_vm._s(_vm.$t('is requesting to access you {platformDisplayName} Tunnel.',{platformDisplayName: _vm.platformDisplayName}))+\" \")]),_c('p',{staticClass:\"text-muted\"},[_c('a',{attrs:{\"href\":_vm.getDocUrl('/user-guides/octoprint-tunneling/'),\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.platformDisplayName)+\" \"+_vm._s(_vm.$t(\"Tunnel\")))]),_c('i18next',{attrs:{\"translation\":_vm.$t('is a secure way provided by {localizedDom} to remotely access your {platformDisplayName}. With the {platformDisplayName} Tunnel, you can use {appDisplayName} to access your {platformDisplayName} from anywhere.')},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('a',{attrs:{\"href\":\"https://www.obico.io/\",\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$syndicateText.brandName))])]},proxy:true},{key:\"platformDisplayName\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.platformDisplayName)+\" \")]},proxy:true},{key:\"appDisplayName\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.appDisplayName)+\" \")]},proxy:true}],null,false,145365998)})],1),(!_vm.user.is_pro)?_c('b-alert',{staticClass:\"my-3\",attrs:{\"variant\":\"warning\",\"dismissible\":\"\",\"show\":\"\"}},[_c('div',[_c('i',{staticClass:\"fas fa-exclamation-triangle\"}),_c('i18next',{attrs:{\"translation\":_vm.$t('Tunnel usage of a free account is {localizedDom} to enjoy unlimited tunnel usage.')},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('a',{attrs:{\"href\":_vm.getDocUrl('/user-guides/octoprint-tunneling/#why-is-the-limit-on-free-account-only-100mb'),\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t(\"capped at 300MB per month\")))]),_vm._v(\". \"+_vm._s(_vm.$t(\"You can\"))+\" \"),_c('a',{attrs:{\"href\":_vm.getAppUrl('/ent_pub/pricing/'),\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t(\"upgrade to the {brandName} app Pro plan for 1 Starbucks a month\",{brandName:_vm.$syndicateText.brandName})))])]},proxy:true}],null,false,2385482320)})],1)]):_vm._e(),(_vm.user.is_pro && _vm.trialDaysLeft > 0)?_c('b-alert',{staticClass:\"my-3\",attrs:{\"variant\":\"warning\",\"dismissible\":\"\",\"show\":\"\"}},[_c('div',[_c('i',{staticClass:\"fas fa-exclamation-triangle\"}),_c('i18next',{attrs:{\"translation\":_vm.$t('After the Free trial expires, tunnel data usage will be {localizedDom} to continue enjoying unlimited tunnel usage.')},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('a',{attrs:{\"href\":_vm.getDocUrl('/user-guides/octoprint-tunneling/#why-is-the-limit-on-free-account-only-100mb'),\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t(\"capped at 300MB per month\")))]),_vm._v(\". \"+_vm._s(_vm.$t(\"You can\"))+\" \"),_c('a',{attrs:{\"href\":_vm.getAppUrl('/ent_pub/pricing/'),\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t(\"upgrade to the {brandName} app Pro plan for 1 Starbucks a month\",{brandName:_vm.$syndicateText.brandName})))])]},proxy:true}],null,false,2385482320)})],1)]):_vm._e(),_c('div',{staticClass:\"mt-5\"},[_c('p',{staticClass:\"lead\"},[_c('i18next',{attrs:{\"translation\":_vm.$t('Tunnel access by {localizedDom} (make sure you trust it)')},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(_vm.appDisplayName))])]},proxy:true}],null,false,460061086)})],1),(_vm.printersToShow.length === 0)?_c('h5',[_vm._v(_vm._s(_vm.$t(\"You have 0 active printers\")))]):(_vm.printersToShow.length === 1)?_c('h5',{staticClass:\"font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.printersToShow[0].name)+\" \")]):(_vm.printersToShow.length > 1)?_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.printerToAuthorize),expression:\"printerToAuthorize\"}],staticClass:\"custom-select\",on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.printerToAuthorize=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{attrs:{\"selected\":\"\",\"disabled\":\"\"},domProps:{\"value\":null}},[_vm._v(_vm._s(_vm.$t(\"Please select a printer\")))]),_vm._l((_vm.printersToShow),function(printer){return _c('option',{key:printer.id,domProps:{\"value\":printer.id}},[_vm._v(\" \"+_vm._s(printer.name)+\" \")])})],2):_vm._e(),(_vm.printersToShow.length)?_c('div',{staticClass:\"d-flex mt-4 mb-3\"},[_c('button',{staticClass:\"btn btn-primary\",staticStyle:{\"flex\":\"1\"},attrs:{\"disabled\":!_vm.printerToAuthorize || _vm.performingAuthRequest},on:{\"click\":_vm.authorize}},[(_vm.performingAuthRequest)?_c('b-spinner',{attrs:{\"small\":\"\",\"label\":\"Loading...\"}}):_c('span',[_vm._v(_vm._s(_vm.$t(\"Authorize\")))])],1),_c('a',{staticClass:\"btn btn-outline-secondary ml-2\",staticStyle:{\"flex\":\"1\"},attrs:{\"href\":\"/user_preferences/authorized_apps\"}},[_vm._v(_vm._s(_vm.$t(\"Manage Apps\")))])]):_vm._e()])],1),_c('div',{staticClass:\"mt-4\"},[_c('p',{staticClass:\"text-muted small mb-1\"},[_vm._v(_vm._s(_vm.$t(\"Security notes\"))+\":\")]),_c('ul',{staticClass:\"text-muted small pl-4\"},[_c('li',[_vm._v(\" \"+_vm._s(_vm.$t(\"The app can only access the tunnel, not your {brandName} account info such as your email address.\",{brandName:_vm.$syndicateText.brandName}))+\" \")]),_c('li',[_vm._v(\" \"+_vm._s(_vm.$t(\"The access remains valid until explicitly revoked. You can revoke the access by going to Preferences -> Authorized Apps.\"))+\" \")])])])])]),_c('div',{staticClass:\"text-center pt-3 w-100\"},[_c('a',{staticClass:\"btn btn-secondary\",attrs:{\"href\":_vm.logoutUrl}},[_vm._v(_vm._s(_vm.$t(\"Log Out\")))])])]):_c('b-col',{staticClass:\"mt-5\"},[_c('div',[_c('b-container',[_c('div',{staticClass:\"d-flex justify-content-center align-items-center\"},[_c('img',{staticClass:\"logo-icon\",attrs:{\"src\":_vm.appLogo}}),_c('h3',[_vm._v(\"⇄\")]),_c('svg',{staticClass:\"logo-icon obico\"},[_c('use',{attrs:{\"href\":\"#svg-logo-compact\"}})]),_c('h3',[_vm._v(\"⇄\")]),_c('img',{staticClass:\"logo-icon\",attrs:{\"src\":_vm.platformLogo}})]),_c('div',{staticClass:\"my-4\"},[_c('div',{staticClass:\"mx-auto text-center\"},[_c('h4',[_vm._v(_vm._s(_vm.$t(\"Free {platformDisplayName} Tunnel\",{platformDisplayName: _vm.platformDisplayName})))]),_c('div',{staticClass:\"lead\"},[_vm._v(_vm._s(_vm.$t(\"Powered by {brandName}\",{brandName:_vm.$syndicateText.brandName})))])])]),_c('div',{staticClass:\"account-details\"},[_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"With the Free {platformDisplayName} Tunnel by {brandName}, you can now use {appDisplayName} to\",{platformDisplayName: _vm.platformDisplayName,brandName:_vm.$syndicateText.brandName,appDisplayName: _vm.appDisplayName}))+\" \"),_c('a',{attrs:{\"href\":_vm.getDocUrl('/user-guides/octoprint-tunneling/#why-is-the-limit-on-free-account-only-100mb'),\"target\":\"_blank\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"securely control and monitor your printer from anywhere\")))])]),_c('ul',{staticClass:\"text-muted\"},[_c('li',[_vm._v(_vm._s(_vm.$t(\"Unlimited realtime webcam at 0.1FPS.\")))]),_c('li',[_vm._v(_vm._s(_vm.$t(\"300MB monthly tunnel data cap (excluding webcam streaming).\")))]),_c('li',[_vm._v(_vm._s(_vm.$t(\"10 hours/mo AI failure detection.\")))])]),_c('div',[_vm._v(\" 🔥🔥🔥 \"),_c('i18next',{attrs:{\"translation\":_vm.$t('Upgrade to {brandName} Pro Account ({localizedDom}) to get premium features')},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('a',{attrs:{\"href\":_vm.getAppUrl('/ent_pub/pricing/'),\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t(\"from $4/mo\")))])]},proxy:true},{key:\"brandName\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$syndicateText.brandName)+\" \")]},proxy:true}])})],1),_c('ul',[_c('li',[_vm._v(\"📷\"+_vm._s(_vm.$t(\"Unlimited realtime webcam streaming.\")))]),_c('li',[_vm._v(\"📶 \"+_vm._s(_vm.$t(\"Unlimited tunnel data usage.\")))]),_c('li',[_vm._v(\"🤖 \"+_vm._s(_vm.$t(\"50 hours/mo AI failure detection.\")))]),_c('li',[_c('a',{attrs:{\"href\":_vm.getAppUrl('/ent_pub/pricing/'),\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t(\"And much more...\")))])])])]),_c('div',[_c('div',{staticClass:\"my-5 w-100\"},[_c('a',{staticClass:\"btn btn-primary btn-block\",attrs:{\"href\":_vm.loginUrl}},[_vm._v(_vm._s(_vm.$t(\"SIGN IN \")))]),_c('div',{staticClass:\"text-center pt-3 w-100\"},[_c('div',{staticClass:\"font-weight-light text-muted\"},[_vm._v(_vm._s(_vm.$t(\"- OR -\")))]),_c('a',{staticClass:\"btn\",attrs:{\"href\":_vm.signupUrl}},[_vm._v(_vm._s(_vm.$t(\"SIGN UP\")))])])])])])],1)])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import moment from 'moment'\n\nexport const humanizedDuration = (durationInSeconds) => {\n const seconds = Math.round(durationInSeconds || 0)\n const components = getDurationComponents(seconds)\n\n if (components.days !== 0) {\n const hoursRounded = components.hours + Math.round(components.minutes / 60)\n if (hoursRounded === 24) {\n return `${components.days + 1}d ${0}h`\n } else {\n return `${components.days}d ${hoursRounded}h`\n }\n } else if (components.hours !== 0) {\n if (components.minutes === 60) {\n const hoursRounded = components.hours + 1\n if (hoursRounded === 24) {\n return `${1}d ${0}h`\n } else {\n return `${components.hours + 1}h ${0}m`\n }\n } else {\n return `${components.hours}h ${components.minutes}m`\n }\n } else {\n return `${components.minutes}m`\n }\n}\n\nexport const getDurationComponents = (durationInSeconds) => {\n const duration = moment.duration(durationInSeconds || 0, 'seconds')\n const days = Math.floor(duration.asDays())\n const hours = duration.hours()\n const minutes = duration.minutes() + Math.round(duration.seconds() / 60)\n return {\n days,\n hours,\n minutes,\n }\n}\n\nexport const humanizedFilamentUsage = (millimeters) => {\n const meters = (millimeters || 0) / 1000\n const twoDecimal = Math.round(meters * 100) / 100\n return `${twoDecimal}m`\n}\n\nexport const timeFromNow = (duration, timeFormat = 'MMM D, h:mm a') => {\n if (!duration) {\n return '-'\n }\n let date = new Date()\n let newDate = new Date(date.setSeconds(date.getSeconds() + duration))\n return moment(newDate).format(timeFormat)\n}\n","import * as formatters from '@src/lib/formatters'\nimport i18n from '@src/i18n/i18n.js'\n\nexport const gcodeMetadata = [\n {\n name: 'estimated_time',\n faIcon: 'fas fa-clock',\n title: `${i18n.t('Print duration estimate')}`,\n formatter: formatters.humanizedDuration,\n },\n {\n name: 'filament_total',\n faIcon: 'fas fa-ruler-horizontal',\n title: `${i18n.t('Filament usage estimate')}`,\n formatter: formatters.humanizedFilamentUsage,\n },\n {\n name: 'first_layer_bed_temp',\n svgIcon: 'bed-temp',\n title: `${i18n.t('First layer bed temperature')}`,\n formatter: (v) => `${v}°C`,\n },\n {\n name: 'first_layer_extr_temp',\n svgIcon: 'extruder',\n title: `${i18n.t('First layer extruder temperature')}`,\n formatter: (v) => `${v}°C`,\n },\n {\n name: 'first_layer_height',\n faIcon: 'fas fa-layer-group',\n title: `${i18n.t('First layer height')}`,\n formatter: (v) => `${v}mm`,\n },\n {\n name: 'layer_height',\n faIcon: 'fas fa-layer-group',\n title: `${i18n.t('Layer height')}`,\n formatter: (v) => `${v}mm`,\n },\n {\n name: 'object_height',\n faIcon: 'fas fa-ruler-vertical',\n title: `${i18n.t('Object height')}`,\n formatter: (v) => `${Math.round(v)}mm`,\n },\n {\n name: 'filament_type',\n svgIcon: 'filament',\n title: `${i18n.t('Filament type')}`,\n formatter: (v) => v,\n },\n {\n name: 'filament_name',\n svgIcon: 'filament',\n title: `${i18n.t('Filament name')}`,\n formatter: (v) => v,\n },\n {\n name: 'slicer',\n svgIcon: 'slicer-program',\n title: `${i18n.t('Slicer')}`,\n formatter: (v) => v,\n },\n {\n name: 'slicer_version',\n svgIcon: 'slicer-version',\n title: `${i18n.t('Slicer version')}`,\n formatter: (v) => v,\n },\n]\n","import Vue from 'vue'\nimport { isLocalStorageSupported } from '@static/js/utils'\nimport i18n from '@src/i18n/i18n.js'\n\nconst TRANSIENT_STATES = {\n 'G-Code Downloading': {\n fromStates: ['Operational'],\n },\n Starting: {\n fromStates: ['Operational'],\n },\n Pausing: {\n fromStates: ['Printing'],\n },\n Resuming: {\n fromStates: ['Paused'],\n },\n Cancelling: {\n fromStates: ['Printing', 'Paused'],\n },\n}\n\nexport const setPrinterTransientState = (printer, transientStateName) => {\n const printerId = printer.id\n if (!isLocalStorageSupported()) return\n const prefix = `printer-${printerId}-state-transitioning`\n localStorage.setItem(`${prefix}-name`, transientStateName)\n\n const currentTime = new Date()\n // Agents in older versions didn't have all transient states implemented. So we make it more forgiving even if it increases the chance for app to be stuck in a transient state.\n const timeOutInSeconds = printer.isAgentVersionGte('2.3.7', '1.4.2') ? 15 : 5 * 60\n const timeout = new Date(currentTime.getTime() + timeOutInSeconds * 1000)\n localStorage.setItem(`${prefix}-timeout`, timeout)\n}\n\nexport const getPrinterCalculatedState = (printer, underlinedState) => {\n const printerId = printer.id\n\n if (!isLocalStorageSupported()) return underlinedState\n\n if (!underlinedState) {\n // Printer is offline or disconnected, clear transient state if any\n clearPrinterTransientState(printerId)\n return null\n }\n\n const prefix = `printer-${printerId}-state-transitioning`\n const persistedTransientState = localStorage.getItem(`${prefix}-name`)\n const timeout = localStorage.getItem(`${prefix}-timeout`)\n const fromStates = TRANSIENT_STATES[persistedTransientState]?.fromStates\n\n let calculatedState = underlinedState\n if (persistedTransientState && timeout && fromStates) {\n if (fromStates.includes(underlinedState)) {\n if (new Date() > new Date(timeout)) {\n clearPrinterTransientState(printerId)\n showTimeoutError(printer, persistedTransientState, underlinedState)\n } else {\n // underlinedState is still the previous state. Transition not finished\n calculatedState = persistedTransientState\n }\n } else {\n clearPrinterTransientState(printerId)\n }\n }\n\n return calculatedState\n}\n\nexport const clearPrinterTransientState = (printerId) => {\n if (!isLocalStorageSupported()) return\n localStorage.removeItem('printer-' + printerId + '-state-transitioning-name')\n localStorage.removeItem('printer-' + printerId + '-state-transitioning-timeout')\n}\n\nexport const showTimeoutError = (printer, localTransientState, newPrinterState) => {\n window.Sentry?.captureMessage(\n `Transient state timeout: \"${localTransientState}\" -> \"${newPrinterState}\" (printer ID: ${printer.id})`\n )\n\n Vue.swal\n .fire({\n icon: 'error',\n title: `${i18n.t('Printer not responding')}`,\n html: `${i18n.t(\"The printer doesn't seem to be responding. Is it powered on and connected to the Internet? Please\")} ${i18n.t(\"report the problem to us\")} ${i18n.t(\"if this error repeats multiple times.\")}`,\n })\n .then(() => {\n window.location.reload()\n })\n}\n","import moment from 'moment'\nimport get from 'lodash/get'\nimport filesize from 'filesize'\nimport semverGte from 'semver/functions/gte'\nimport { humanizedDuration } from '@src/lib/formatters'\nimport { gcodeMetadata } from '@src/components/g-codes/gcode-metadata'\nimport {\n setPrinterTransientState,\n getPrinterCalculatedState,\n} from '@src/lib/printer-transient-state'\n\nexport const toMomentOrNull = (datetimeStr) => {\n if (!datetimeStr) {\n return null\n }\n return moment(datetimeStr)\n}\n\nexport const PrintStatus = {\n Printing: { key: 'printing', title: 'Printing...', isActive: true },\n Paused: { key: 'paused', title: 'Paused', isActive: true },\n Finished: { key: 'finished', title: 'Finished', isActive: false },\n Cancelled: { key: 'cancelled', title: 'Cancelled', isActive: false },\n}\n\n// ––––––––––––––––––––––\n\nexport const normalizedPrint = (print) => {\n print.started_at = toMomentOrNull(print.started_at)\n print.uploaded_at = toMomentOrNull(print.uploaded_at)\n print.finished_at = toMomentOrNull(print.finished_at)\n print.cancelled_at = toMomentOrNull(print.cancelled_at)\n print.ended_at = toMomentOrNull(print.ended_at)\n if (print.ended_at) {\n const duration = moment.duration(print.ended_at.diff(print.started_at))\n print.duration = humanizedDuration(duration.asSeconds())\n }\n print.has_alerts = Boolean(print.alerted_at)\n print.printShotFeedbackEligible =\n print.printshotfeedback_set && print.printshotfeedback_set.length > 0\n print.status = print.ended_at\n ? print.cancelled_at\n ? PrintStatus.Cancelled\n : PrintStatus.Finished\n : print.paused_at\n ? PrintStatus.Paused\n : PrintStatus.Printing\n if (print.printer) {\n print.printer = normalizedPrinter(print.printer)\n }\n if (print.g_code_file) {\n print.g_code_file = normalizedGcode(print.g_code_file)\n }\n return print\n}\n\nexport const normalizedGcode = (gcode) => {\n if (!gcode) {\n return\n }\n\n gcode.created_at = toMomentOrNull(gcode.created_at)\n gcode.updated_at = toMomentOrNull(gcode.updated_at)\n gcode.deleted = toMomentOrNull(gcode.deleted)\n gcode.filesize = filesize(gcode.num_bytes)\n\n if (gcode.print_set) {\n gcode.print_set.map((p) => normalizedPrint(p))\n gcode.print_set.sort((a, b) => {\n if (!a.ended_at && !b.ended_at) {\n // if both in progress, sort by started_at\n if (a.started_at > b.started_at) {\n return -1\n } else if (a.started_at < b.started_at) {\n return 1\n } else {\n return 0\n }\n } else if (!a.ended_at) {\n return -1\n } else if (!b.ended_at) {\n return 1\n } else {\n if (a.ended_at > b.ended_at) {\n return -1\n } else if (a.ended_at < b.ended_at) {\n return 1\n } else {\n return 0\n }\n }\n })\n gcode.last_print = gcode.print_set[0]\n\n gcode.failedPrints = gcode.print_set.filter((p) => p.cancelled_at).length\n gcode.successPrints = gcode.print_set.filter((p) => p.finished_at).length\n gcode.totalPrints = gcode.print_set.length\n }\n\n // Normalize metadata\n gcode.metadata = {}\n\n if (gcode.metadata_json) {\n // obico file with metadata\n gcode.metadata = JSON.parse(gcode.metadata_json)\n } else if (gcode.analysis) {\n // octoprint file\n gcode.metadata.object_height = gcode.analysis.dimensions?.height\n gcode.metadata.estimated_time = gcode.analysis.estimatedPrintTime\n\n let filament_total\n if (gcode.analysis.filament) {\n const tools = Object.keys(gcode.analysis.filament)\n if (tools.length) {\n filament_total = 0\n tools.forEach((key) => {\n filament_total += gcode.analysis.filament[key].length\n })\n }\n }\n gcode.metadata.filament_total = filament_total\n } else {\n // either obico file without metadata or klipper file\n gcodeMetadata.forEach((v) => {\n if (gcode[v.name]) {\n gcode.metadata[v.name] = gcode[v.name]\n }\n })\n }\n\n // leave only non-null metadata\n Object.keys(gcode.metadata).forEach((key) => {\n if (gcode.metadata[key] === null || gcode.metadata[key] === undefined) {\n delete gcode.metadata[key]\n }\n })\n\n // Normalize thumbnail\n gcode.getBigThumbnailUrl = () => {\n return gcode.thumbnail1_url || gcode.thumbnail2_url || gcode.thumbnail3_url\n }\n gcode.getSmallThumbnailUrl = () => {\n return gcode.thumbnail3_url || gcode.thumbnail2_url || gcode.thumbnail1_url\n }\n\n return gcode\n}\n\nexport const normalizedGcodeFolder = (folder) => {\n folder.created_at = toMomentOrNull(folder.created_at)\n folder.updated_at = toMomentOrNull(folder.updated_at)\n folder.numItems = folder.g_code_file_count + folder.g_code_folder_count\n return folder\n}\n\nexport const normalizedPrinter = (newData, oldData) => {\n const printerMixin = {\n createdAt: function () {\n return toMomentOrNull(this.created_at)\n },\n progressCompletion: function () {\n return get(this, 'status.progress.completion', 0)\n },\n isOffline: function () {\n return get(this, 'status', null) === null\n },\n isPaused: function () {\n return get(this, 'status.state.flags.paused', false)\n },\n isDisconnected: function () {\n return get(this, 'status.state.flags.closedOrError', true)\n },\n isActive: function () {\n const flags = get(this, 'status.state.flags')\n // https://discord.com/channels/704958479194128507/705047010641838211/1013193281280159875\n return (\n Boolean(flags && flags.operational && (!flags.ready || flags.paused)) ||\n this.inTransientState()\n )\n },\n inTransientState: function () {\n const calculatedState = this.calculatedState()\n // Backward compatibility with OctoPrint-Obico 2.3.7 - 2.3.9\n if (calculatedState === 'Downloading G-Code') {\n return true\n }\n\n return calculatedState && calculatedState.endsWith('ing') && calculatedState !== 'Printing'\n },\n calculatedState: function () {\n return getPrinterCalculatedState(this, this.status?.state?.text)\n },\n calculatedStateColor: function () {\n const calcState = this.calculatedState()\n const colorMapping = {\n secondary: ['Offline', undefined, null],\n success: ['Operational'],\n neutral: ['Printing', 'G-Code Downloading', 'Downloading G-Code', 'Starting'],\n warning: ['Paused', 'Pausing', 'Resuming'],\n danger: ['Cancelling'],\n }\n\n for (const [color, states] of Object.entries(colorMapping)) {\n if (states.includes(calcState)) {\n return color\n }\n }\n return 'neutral' // fallback\n },\n setTransientState: function (stateText) {\n setPrinterTransientState(this, stateText)\n if (this.status) this.status = { ...this.status } // clone status to trigger immidiate UI update\n },\n inUserInteractionRequired: function () {\n return get(this, 'status.user_interaction_required', false)\n },\n hasError: function () {\n return (\n get(this, 'status.state.flags.error') ||\n get(this, 'status.state.text', '').toLowerCase().includes('error')\n )\n },\n isAgentMoonraker: function () {\n return get(this, 'agent_name', '') === 'moonraker_obico'\n },\n agentDisplayName: function () {\n return this.isAgentMoonraker() ? 'Klipper' : 'OctoPrint'\n },\n isAgentVersionGte: function (minOctoPrintAgentVersion, minMoonrakerAgentVersion) {\n return (\n (get(this, 'settings.agent_name', '') === 'octoprint_obico' &&\n semverGte(get(this, 'settings.agent_version', '0.0.0'), minOctoPrintAgentVersion)) ||\n (get(this, 'settings.agent_name', '') === 'moonraker_obico' &&\n semverGte(get(this, 'settings.agent_version', '0.0.0'), minMoonrakerAgentVersion))\n )\n },\n alertUnacknowledged: function () {\n return (\n get(this, 'current_print.alerted_at') &&\n moment(get(this, 'current_print.alerted_at')).isAfter(\n moment(get(this, 'current_print.alert_acknowledged_at') || 0)\n )\n )\n },\n // Printing availability\n isPrintable: function () {\n return !this.isOffline() && !this.isDisconnected() && !this.isActive() && !this.archived_at\n },\n printabilityText: function () {\n return this.isPrintable() ? 'Ready' : 'Unavailable'\n },\n }\n if (oldData) {\n if (\n get(oldData, 'status._ts', -1) > get(newData, 'status._ts', get(oldData, 'status._ts', 0))\n ) {\n delete newData.status\n }\n return {\n ...oldData,\n ...newData,\n ...printerMixin,\n }\n } else {\n return {\n ...newData,\n ...printerMixin,\n }\n }\n}\n\nexport const normalizedPrinterEvent = (printerEvent) => {\n printerEvent.created_at = toMomentOrNull(printerEvent.created_at)\n return printerEvent\n}\n","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewOctoPrintTunnelPage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewOctoPrintTunnelPage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./NewOctoPrintTunnelPage.vue?vue&type=template&id=0e2f9398&scoped=true&\"\nimport script from \"./NewOctoPrintTunnelPage.vue?vue&type=script&lang=js&\"\nexport * from \"./NewOctoPrintTunnelPage.vue?vue&type=script&lang=js&\"\nimport style0 from \"./NewOctoPrintTunnelPage.vue?vue&type=style&index=0&id=0e2f9398&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0e2f9398\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[(!_vm.isPro && _vm.usageFetched)?_c('div',{staticClass:\"floating-panel\"},[(_vm.showDetails)?_c('div',{on:{\"click\":function($event){_vm.showDetails = false},\"mouseover\":function($event){_vm.showDetails = true},\"mouseleave\":function($event){_vm.showDetails = false}}},[_c('div',{staticClass:\"text-muted\"},[_c('i18next',{attrs:{\"translation\":_vm.$t('Monthly data usage ({localizedDom})')},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('a',{attrs:{\"href\":_vm.getDocUrl('/user-guides/octoprint-tunneling/#is-octoprint-tunneling-free-to-all-users'),\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t(\"Resets in {daysUntilReset} days\",{daysUntilReset: _vm.daysUntilReset})))])]},proxy:true}],null,false,1207903965)})],1),_c('div',{class:_vm.usageClass},[_vm._v(_vm._s(_vm.$t(\"Used {usageMTD} of {humanizedUsageCap}.\",{usageMTD: _vm.usageMTD,humanizedUsageCap: _vm.humanizedUsageCap})))]),(_vm.overage)?_c('div',[_vm._v(\" \"+_vm._s(_vm.$t(\"Your month-to-date tunnel data usage is over the Free plan limit.\"))+\" \"),_c('a',{staticClass:\"btn btn-sm btn-primary\",attrs:{\"type\":\"button\",\"href\":\"/ent_pub/pricing/\"}},[_vm._v(_vm._s(_vm.$t(\"Get Unlimited Tunnel Data\")))])]):_vm._e()]):_c('div',{class:_vm.usageClass,on:{\"click\":function($event){_vm.showDetails = true},\"mouseover\":function($event){_vm.showDetails = true},\"mouseleave\":function($event){_vm.showDetails = false}}},[_vm._v(\" \"+_vm._s(_vm.percentage)+\"% \")])]):_vm._e(),_c('div',[(_vm.printerId)?_c('iframe',{staticClass:\"tunnel-iframe\",attrs:{\"src\":_vm.iframeUrl() + '#temp'}}):_vm._e()])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OctoPrintTunnelPage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OctoPrintTunnelPage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./OctoPrintTunnelPage.vue?vue&type=template&id=36042095&scoped=true&\"\nimport script from \"./OctoPrintTunnelPage.vue?vue&type=script&lang=js&\"\nexport * from \"./OctoPrintTunnelPage.vue?vue&type=script&lang=js&\"\nimport style0 from \"./OctoPrintTunnelPage.vue?vue&type=style&index=0&id=36042095&prod&lang=sass&scoped=true&\"\nimport style1 from \"./OctoPrintTunnelPage.vue?vue&type=style&index=1&id=36042095&prod&lang=sass&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"36042095\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('page-layout',{scopedSlots:_vm._u([{key:\"content\",fn:function(){return [_c('b-container',{staticClass:\"feedback-container\"},[_c('b-row',{staticClass:\"justify-content-center\"},[_c('b-col',{attrs:{\"lg\":\"8\"}},[_c('div',{staticClass:\"card\"},[_c('h5',{staticClass:\"card-header text-center\"},[_vm._v(\" F \"),_c('i',{staticClass:\"fas fa-search focused-feedback-icon\"}),_vm._v(_vm._s(_vm.$t(\"CUSED FEEDBACK\"))+\" \")]),_c('loading',{attrs:{\"active\":_vm.print === null,\"is-full-page\":true}}),(_vm.print !== null)?_c('div',[(!_vm.print.access_consented_at)?_c('focused-feedback-consent',{attrs:{\"print\":_vm.print},on:{\"continue-btn-pressed\":_vm.consentBtnPressed}}):_c('div',[_c('div',[_c('vue-slick-carousel',{ref:\"carousel\",attrs:{\"arrows\":false,\"dots\":true},on:{\"afterChange\":_vm.onNextShot},scopedSlots:_vm._u([{key:\"customPaging\",fn:function(page){return [_c('div',{class:_vm.pageClass(page)},[_vm._v(\"•\")])]}}],null,false,3226812120)},_vm._l((_vm.shots),function(shot,i){return _c('print-shot-card',{key:i,attrs:{\"shot\":shot},on:{\"shotChanged\":_vm.onShotChanged,\"prev\":_vm.onPrev,\"next\":_vm.onNext}})}),1)],1),_c('br'),_c('div',{staticClass:\"card-body p-3\"},[_c('a',{attrs:{\"href\":`/print_history/${_vm.print.id}/`}},[_c('i',{staticClass:\"fas fa-chevron-left\"}),_vm._v(\" \"+_vm._s(_vm.$t(\"Print Page\"))+\" \")])])])],1):_vm._e()],1)])],1)],1)]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('img',{staticClass:\"card-img-top\",attrs:{\"src\":_vm.shot.image_url}}),_c('div',{staticClass:\"px-3 pt-4\"},[_c('b-form-group',{attrs:{\"label\":\"Do you see any spaghetti in this picture?\"}},[_c('b-form-radio-group',{attrs:{\"options\":_vm.options},on:{\"change\":_vm.updateShot},model:{value:(_vm.answer),callback:function ($$v) {_vm.answer=$$v},expression:\"answer\"}})],1),_c('small',{staticClass:\"text-muted\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Not sure? Look at\"))+\" \"),_c('a',{attrs:{\"target\":\"_blank\",\"href\":_vm.getDocUrl('/user-guides/how-does-credits-work#spaghetti-examples')}},[_vm._v(_vm._s(_vm.$t(\"some examples. \"))),_vm._m(0)])]),_c('div',{staticClass:\"navigation-container my-4\",staticStyle:{\"display\":\"flex\"}},[_c('b-button',{attrs:{\"variant\":\"outline-secondary\"},on:{\"click\":function($event){return _vm.$emit('prev')}}},[_c('i',{staticClass:\"fas fa-chevron-left\"}),_vm._v(\"  \"+_vm._s(_vm.$t(\"Previous\"))+\" \")]),_c('b-button',{attrs:{\"variant\":\"outline-secondary\"},on:{\"click\":function($event){return _vm.$emit('next')}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Next\"))+\"  \"),_c('i',{staticClass:\"fas fa-chevron-right\"})])],1)],1)])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('small',[_c('i',{staticClass:\"fas fa-external-link-alt\"})])\n}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintShotCard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintShotCard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PrintShotCard.vue?vue&type=template&id=72de57d5&scoped=true&\"\nimport script from \"./PrintShotCard.vue?vue&type=script&lang=js&\"\nexport * from \"./PrintShotCard.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PrintShotCard.vue?vue&type=style&index=0&id=72de57d5&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"72de57d5\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"page-wrapper\",class:{ collapsed: _vm.collapsed, 'is-in-mobile': _vm.inMobileWebView, 'is-in-popup': _vm.isPopup }},[_c('nav',{staticClass:\"side-nav\"},[_c('a',{staticClass:\"sidebar-header\",attrs:{\"href\":\"/\"}},[_c('SyndicateAwareSVG',{attrs:{\"href\":\"#svg-logo-compact\",\"width\":\"100\",\"height\":\"30\"}})],1),_c('ul',{staticClass:\"list-unstyled m-0\"},[(_vm.isEnt && !_vm.user.is_pro)?_c('li',{class:{ active: _vm.path === '/ent_pub/pricing/' }},[_c('a',{staticClass:\"primary\",attrs:{\"href\":\"/ent_pub/pricing/\"}},[_c('font-awesome-icon',{attrs:{\"icon\":\"star\"}}),_vm._v(\" \"+_vm._s(_vm.$t(\"Upgrade to Pro\"))+\" \")],1)]):_vm._e(),(_vm.user)?_c('li',{class:{ active: _vm.path.includes('/printers/') }},[_c('a',{attrs:{\"href\":\"/printers/\"}},[_c('svg',{staticStyle:{\"margin-bottom\":\"5px\"},attrs:{\"width\":\"1.4em\",\"height\":\"1.4em\"}},[_c('use',{attrs:{\"href\":\"#svg-3d-printer\"}})]),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t(\"Printers\"))+\" \")])]):_vm._e(),(_vm.user)?_c('li',{class:{ active: _vm.path.includes('/g_code_') }},[_c('a',{attrs:{\"href\":\"/g_code_folders/cloud/\"}},[_c('font-awesome-icon',{attrs:{\"icon\":\"fa-file-code\"}}),_vm._v(\" \"+_vm._s(_vm.$t(\"G-Codes\"))+\" \")],1)]):_vm._e(),(_vm.user)?_c('li',{class:{ active: _vm.path.includes('/print_history/') || _vm.path.includes('/prints/') }},[_c('a',{attrs:{\"href\":\"/print_history/\"}},[_c('font-awesome-icon',{attrs:{\"icon\":\"fa-calendar-days\"}}),_vm._v(\" \"+_vm._s(_vm.$t(\"Print History\"))+\" \")],1)]):_vm._e(),(_vm.user)?_c('li',{class:{ active: _vm.path.includes('/stats/') }},[_c('a',{attrs:{\"href\":\"/stats/\"}},[_c('font-awesome-icon',{attrs:{\"icon\":\"fa-chart-pie\"}}),_vm._v(\" \"+_vm._s(_vm.$t(\"Statistics\"))+\" \")],1)]):_vm._e()]),_c('div',{staticClass:\"side-nav-footer\"},[_c('ul',{staticClass:\"list-unstyled m-0\"},[(_vm.isEnt)?_c('li',{class:{ active: _vm.path === '/ent_pub/pricing/' }},[_c('a',{attrs:{\"href\":\"/ent_pub/pricing/\"}},[_c('font-awesome-icon',{attrs:{\"icon\":\"fa-money-check-dollar\"}}),_vm._v(\" \"+_vm._s(_vm.$t(\"Pricing\"))+\" \")],1)]):_vm._e(),_c('li',[_c('a',{attrs:{\"href\":\"https://www.obico.io/help/\",\"target\":\"_blank\"}},[_c('font-awesome-icon',{attrs:{\"icon\":\"fa-circle-question\"}}),_vm._v(\" \"+_vm._s(_vm.$t(\"Help\"))+\" \")],1)]),_c('li',[_c('a',{attrs:{\"href\":\"https://obico.io/discord\",\"target\":\"_blank\"}},[_c('font-awesome-icon',{attrs:{\"icon\":\"fa-brands fa-discord\"}}),_vm._v(\" \"+_vm._s(_vm.$t(\"Community\"))+\" \")],1)]),_vm._m(0),(_vm.user)?_c('li',{class:{ active: _vm.path === '/printer_events/' }},[_c('a',{attrs:{\"href\":\"/printer_events/\"}},[_c('div',{staticClass:\"position-relative\"},[_c('font-awesome-icon',{attrs:{\"icon\":\"fas fa-bell\"}}),(_vm.hasUnseenPrinterEvents)?_c('span',{staticClass:\"badge\"},[_vm._v(_vm._s(_vm.unseenPrinterEventsDisplay))]):_vm._e()],1),_c('span',{staticClass:\"trim-text\"},[_vm._v(_vm._s(_vm.$t(\"Notifications\")))])])]):_vm._e(),(_vm.user)?_c('li',{class:{ active: _vm.path.includes('/user_preferences/') }},[_c('a',{attrs:{\"href\":\"/user_preferences/\"}},[_c('font-awesome-icon',{attrs:{\"icon\":\"fas fa-cog\"}}),_c('span',{staticClass:\"trim-text\"},[_vm._v(_vm._s(_vm.$t(\"Preferences\")))])],1)]):_vm._e()])])]),_c('div',{staticClass:\"content-wrapper\",class:{\n 'hide-top-nav': (!_vm.$slots.topBarLeft && !_vm.$slots.topBarRight) || _vm.hideHeader,\n }},[_c('b-navbar',{staticClass:\"top-nav\"},[_c('div',{staticClass:\"d-flex align-items-center\"},[_c('b-button',{staticClass:\"shadow-none p-0 mr-3 position-relative toggle-sidebar\",attrs:{\"variant\":\"_\"},on:{\"click\":function($event){_vm.collapsed = !_vm.collapsed}}},[_c('i',{staticClass:\"fas fa-bars position-relative\"},[(_vm.hasUnseenPrinterEvents)?_c('div',{staticClass:\"notification-dot\"},[_c('svg',{attrs:{\"width\":\"8px\",\"height\":\"8px\"}},[_c('use',{attrs:{\"href\":\"#svg-circle-icon\"}})])]):_vm._e()])]),_vm._t(\"topBarLeft\")],2),_vm._t(\"topBarRight\")],2),_c('div',{staticClass:\"page-content\"},[_vm._t(\"content\")],2)],1),_c('div',{staticClass:\"content-overlay\",on:{\"click\":function($event){_vm.collapsed = true}}})])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('li',[_c('hr',{staticClass:\"my-0 mx-2\"})])\n}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PageLayout.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PageLayout.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PageLayout.vue?vue&type=template&id=5822eab8&scoped=true&\"\nimport script from \"./PageLayout.vue?vue&type=script&lang=js&\"\nexport * from \"./PageLayout.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PageLayout.vue?vue&type=style&index=0&id=5822eab8&prod&lang=sass&\"\nimport style1 from \"./PageLayout.vue?vue&type=style&index=1&id=5822eab8&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5822eab8\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"card-body consent-section\"},[_c('div',[_vm._v(\" \"+_vm._s(_vm.$t(\"Number of snapshots\"))+\": \"),_c('span',{staticClass:\"feedback-estimate\"},[_vm._v(_vm._s(_vm.print.printshotfeedback_set.length))])]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"Estimated time to finish\"))+\": \"),_c('span',{staticClass:\"feedback-estimate\"},[_vm._v(_vm._s(_vm.estimatedFeedbackTime))])]),_c('p',{staticClass:\"font-weight-light\"},[_c('i18next',{attrs:{\"translation\":_vm.$t('Help Obi get better at detecting failures by giving her in-depth feedback on the snapshots of the print. You will earn {localizedDom} after you finish this Focused Feedback. {localizedDom2}')},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('strong',{staticClass:\"text-light\"},[_vm._v(_vm._s(_vm.$t(\"2 non-expirable AI Detection Hours\")))])]},proxy:true},{key:\"localizedDom2\",fn:function(){return [_c('a',{attrs:{\"target\":\"_blank\",\"href\":_vm.getDocUrl('/user-guides/how-does-credits-work/')}},[_vm._v(_vm._s(_vm.$t('Learn more'))+\". \"),_c('small',[_c('i',{staticClass:\"fas fa-external-link-alt\"})])])]},proxy:true}])})],1),_c('br'),_c('button',{staticClass:\"btn btn-primary btn-block\",attrs:{\"disabled\":!_vm.consentChecked,\"type\":\"button\"},on:{\"click\":function($event){return _vm.$emit('continue-btn-pressed')}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Start Focused Feedback\"))+\" \")]),_c('br'),_c('div',{staticClass:\"custom-control custom-checkbox form-check-inline\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.consentChecked),expression:\"consentChecked\"}],staticClass:\"custom-control-input\",attrs:{\"id\":\"consented-checkbox\",\"type\":\"checkbox\",\"name\":\"consented\"},domProps:{\"checked\":Array.isArray(_vm.consentChecked)?_vm._i(_vm.consentChecked,null)>-1:(_vm.consentChecked)},on:{\"change\":function($event){var $$a=_vm.consentChecked,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.consentChecked=$$a.concat([$$v]))}else{$$i>-1&&(_vm.consentChecked=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.consentChecked=$$c}}}}),_c('label',{staticClass:\"custom-control-label\",staticStyle:{\"font-size\":\"16px\"},attrs:{\"for\":\"consented-checkbox\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"I grant the {brandName} app team members the permission to review the time-lapse video of the print shown on this page.\", {brandName:_vm.$syndicateText.brandName}))+\" \"),_c('a',{attrs:{\"target\":\"_blank\",\"href\":_vm.getDocUrl('/user-guides/how-does-credits-work#you-need-to-grant-permission-to-tsd-team-to-review-your-time-lapse')}},[_vm._v(_vm._s(_vm.$t(\"Why is this necessary? \"))),_vm._m(0)])])]),_c('br'),_c('div',[_c('span',{staticClass:\"text-muted\"},[_vm._v(_vm._s(_vm.$t(\"File\"))+\":\")]),_vm._v(\" \"+_vm._s(_vm.print.filename)+\" \")]),_c('div',[_c('span',{staticClass:\"text-muted\"},[_vm._v(_vm._s(_vm.$t(\"Printed\"))+\":\")]),_vm._v(\" \"+_vm._s(_vm.print.started_at.fromNow())+\" \")]),_c('br'),(_vm.print.video_url)?_c('video-box',{attrs:{\"video-url\":_vm.print.video_url,\"poster-url\":_vm.print.poster_url,\"full-screen-btn\":false}}):_c('div',[_c('detective-working')],1)],1)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('small',[_c('i',{staticClass:\"fas fa-external-link-alt\"})])\n}]\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"card-img-top\"},[_c('video-player',{ref:\"videoPlayer\",staticClass:\"vjs-default-skin vjs-big-play-centered\",attrs:{\"options\":_vm.playerOptions,\"playsinline\":true},on:{\"timeupdate\":_vm.onTimeUpdate}}),_c('div',{staticClass:\"buttons-container\"},[(_vm.downloadBtn)?_c('a',{staticClass:\"action-btn\",attrs:{\"role\":\"button\",\"title\":\"Download\"},on:{\"click\":function($event){return _vm.$emit('download')}}},[_c('i',{staticClass:\"fas fa-download\",attrs:{\"aria-hidden\":\"true\"}})]):_vm._e(),(_vm.fullscreenBtn)?_c('a',{staticClass:\"action-btn\",attrs:{\"role\":\"button\",\"title\":\"Full screen\"},on:{\"click\":function($event){return _vm.$emit('fullscreen')}}},[_c('i',{staticClass:\"fa fa-expand\",attrs:{\"aria-hidden\":\"true\"}})]):_vm._e(),(_vm.exitFullscreenBtn)?_c('a',{staticClass:\"action-btn\",attrs:{\"role\":\"button\",\"title\":\"Exit full screen\"},on:{\"click\":function($event){return _vm.$emit('exitFullscreen')}}},[_c('i',{staticClass:\"fa fa-times\",attrs:{\"aria-hidden\":\"true\"}})]):_vm._e()])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VideoBox.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VideoBox.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./VideoBox.vue?vue&type=template&id=10df198e&scoped=true&\"\nimport script from \"./VideoBox.vue?vue&type=script&lang=js&\"\nexport * from \"./VideoBox.vue?vue&type=script&lang=js&\"\nimport style0 from \"./VideoBox.vue?vue&type=style&index=0&id=10df198e&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"10df198e\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"card bg-dark text-white\"},[_c('img',{staticClass:\"card-img\",attrs:{\"src\":require('@static/img/detective-working.gif'),\"alt\":\"Obi is still working\"}}),_c('div',{staticClass:\"card-img-overlay\",staticStyle:{\"background-color\":\"rgba(0, 0, 0, 0.6)\"}},[_c('h5',{staticClass:\"card-title text-center\"},[_vm._v(_vm._s(_vm.$t(\"Obi is still busy working on your time-lapse\")))])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetectiveWorking.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetectiveWorking.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DetectiveWorking.vue?vue&type=template&id=5e3b0b22&scoped=true&\"\nimport script from \"./DetectiveWorking.vue?vue&type=script&lang=js&\"\nexport * from \"./DetectiveWorking.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DetectiveWorking.vue?vue&type=style&index=0&id=5e3b0b22&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5e3b0b22\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FocusedFeedbackConsent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FocusedFeedbackConsent.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FocusedFeedbackConsent.vue?vue&type=template&id=c265fb70&scoped=true&\"\nimport script from \"./FocusedFeedbackConsent.vue?vue&type=script&lang=js&\"\nexport * from \"./FocusedFeedbackConsent.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FocusedFeedbackConsent.vue?vue&type=style&index=0&id=c265fb70&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"c265fb70\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintShotFeedbackApp.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintShotFeedbackApp.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PrintShotFeedbackApp.vue?vue&type=template&id=65dd3f19&scoped=true&\"\nimport script from \"./PrintShotFeedbackApp.vue?vue&type=script&lang=js&\"\nexport * from \"./PrintShotFeedbackApp.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PrintShotFeedbackApp.vue?vue&type=style&index=0&id=65dd3f19&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"65dd3f19\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('page-layout',{scopedSlots:_vm._u([{key:\"topBarLeft\",fn:function(){return [_c('div',{staticClass:\"actions-with-selected-desktop\"},[_c('b-form-group',{staticClass:\"m-0\"},[_c('b-form-checkbox',{attrs:{\"size\":\"md\"},model:{value:(_vm.allPrintsSelected),callback:function ($$v) {_vm.allPrintsSelected=$$v},expression:\"allPrintsSelected\"}})],1),_c('div',[_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.selectedPrintIds.size),expression:\"!selectedPrintIds.size\"}],staticClass:\"label\",on:{\"click\":function($event){_vm.allPrintsSelected = !_vm.allPrintsSelected}}},[_vm._v(_vm._s(_vm.$t(\"Select all\")))]),_c('b-dropdown',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selectedPrintIds.size),expression:\"selectedPrintIds.size\"}],attrs:{\"toggle-class\":\"btn btn-sm actions-with-selected-btn\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.selectedPrintIds.size)+\" item\"+_vm._s(_vm.selectedPrintIds.size === 1 ? '' : 's')+\" \"+_vm._s(_vm.$t(\"selected\"))+\" \")]},proxy:true}])},[_c('b-dropdown-item',[_c('div',{staticClass:\"text-danger\",on:{\"click\":_vm.onDeleteBtnClick}},[_c('i',{staticClass:\"far fa-trash-alt\"}),_vm._v(_vm._s(_vm.$t(\"Delete\"))+\" \")])])],1)],1)],1)]},proxy:true},{key:\"topBarRight\",fn:function(){return [_c('div',{staticClass:\"action-panel\"},[_c('b-dropdown',{attrs:{\"right\":\"\",\"no-caret\":\"\",\"toggle-class\":\"action-btn icon-btn\",\"title\":_vm.$t('Sort By')},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('i',{staticClass:\"fas fa-sort-amount-down\"})]},proxy:true}])},[_c('sorting-dropdown',{attrs:{\"local-storage-prefix\":_vm.sortingLocalStoragePrefix,\"sorting-options\":_vm.sortingOptions,\"sorting-value\":_vm.sortingValue},on:{\"onSortingUpdated\":_vm.onSortingUpdated}})],1),_c('b-dropdown',{attrs:{\"right\":\"\",\"no-caret\":\"\",\"toggle-class\":\"action-btn icon-btn\",\"menu-class\":\"scrollable\",\"title\":_vm.$t('Filter')},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('i',{staticClass:\"fas fa-filter\"})]},proxy:true}])},[_c('filtering-dropdown',{ref:\"filteringDropdown1\",attrs:{\"local-storage-prefix\":_vm.filterLocalStoragePrefix,\"filter-options\":_vm.filterOptions,\"filter-values\":_vm.filterValues,\"filter-update-mixin\":_vm.filterUpdateMixin},on:{\"onFilterUpdated\":_vm.onFilterUpdated}})],1),_c('b-dropdown',{attrs:{\"right\":\"\",\"no-caret\":\"\",\"toggle-class\":\"icon-btn d-md-none\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('i',{staticClass:\"fas fa-ellipsis-v\"})]},proxy:true}])},[_c('cascaded-dropdown',{ref:\"cascadedDropdown\",attrs:{\"menu-options\":[\n {\n key: 'sorting',\n icon: 'fas fa-sort-amount-down',\n title: _vm.$t(`Sort`),\n expandable: true,\n },\n {\n key: 'filtering',\n icon: 'fas fa-filter',\n title: _vm.$t(`Filter`),\n expandable: true,\n },\n ]},scopedSlots:_vm._u([{key:\"sorting\",fn:function(){return [_c('sorting-dropdown',{attrs:{\"local-storage-prefix\":_vm.sortingLocalStoragePrefix,\"sorting-options\":_vm.sortingOptions,\"sorting-value\":_vm.sortingValue},on:{\"onSortingUpdated\":_vm.onSortingUpdated}})]},proxy:true},{key:\"filtering\",fn:function(){return [_c('filtering-dropdown',{ref:\"filteringDropdown2\",attrs:{\"local-storage-prefix\":_vm.filterLocalStoragePrefix,\"filter-options\":_vm.filterOptions,\"filter-values\":_vm.filterValues,\"filter-update-mixin\":_vm.filterUpdateMixin},on:{\"onFilterUpdated\":_vm.onFilterUpdated}})]},proxy:true}])})],1)],1)]},proxy:true},{key:\"content\",fn:function(){return [_c('active-filter-notice',{attrs:{\"filter-values\":_vm.filterValues},on:{\"onShowAllClicked\":_vm.resetFilters}}),_c('b-container',[_c('b-row',[_c('b-col',[(_vm.prints.length && !_vm.loading)?_c('div',{staticClass:\"prints-summary\"},[_c('div',{staticClass:\"summary-item\"},[_c('div',{staticClass:\"icon\"},[_c('i',{staticClass:\"fas fa-hashtag\"})]),_c('div',{staticClass:\"info\"},[_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Prints done\")))]),_c('div',{staticClass:\"value\"},[_vm._v(\" \"+_vm._s(_vm.stats.total_print_count)+\" (\"),_c('span',{staticClass:\"text-success\"},[_vm._v(_vm._s(_vm.stats.total_succeeded_print_count))]),_vm._v(\" / \"),_c('span',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.stats.total_cancelled_print_count))]),_vm._v(\") \")])])]),_c('div',{staticClass:\"summary-item\"},[_c('div',{staticClass:\"icon\"},[_c('i',{staticClass:\"far fa-clock\"})]),_c('div',{staticClass:\"info\"},[_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Total print time\")))]),_c('div',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.totalPrintTimeFormatted))])])]),_c('div',{staticClass:\"summary-item\"},[_c('div',{staticClass:\"icon\"},[_c('i',{staticClass:\"fas fa-ruler-horizontal\"})]),_c('div',{staticClass:\"info\"},[_c('div',{staticClass:\"title\"},[_c('help-widget',{attrs:{\"id\":\"filament-used-may-be-incorrect\",\"highlight\":false,\"show-close-button\":false}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Filament used\"))+\" \")])],1),_c('div',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.totalFilamentUsedFormatted))])])]),_c('div',{staticClass:\"btn-wrapper\"},[_c('a',{staticClass:\"btn btn-secondary\",attrs:{\"href\":`/stats/`}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Full Stats\"))+\" \"),_c('i',{staticClass:\"fas fa-arrow-right\"})])])]):_vm._e()])],1),_c('b-row',[(_vm.prints.length || _vm.loading)?_c('b-col',[_vm._l((_vm.prints),function(print,index){return _c('print-history-item',{key:print.id,staticClass:\"print-item\",attrs:{\"print\":print,\"index\":index,\"selectable\":true,\"selected\":_vm.selectedPrintIds.has(print.id)},on:{\"selectedChanged\":_vm.onSelectedChanged}})}),_c('mugen-scroll',{attrs:{\"handler\":_vm.fetchMoreData,\"should-handle\":!_vm.loading}},[(!_vm.noMoreData)?_c('loading-placeholder'):_vm._e()],1)],2):_c('b-col',{staticClass:\"text-center my-5\"},[_vm._v(_vm._s(_vm.$t(\"No prints found\")))])],1)],1),_c('date-picker-modal',{ref:\"datePickerModal\",on:{\"picked\":_vm.onDatesPicked}})]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[(_vm.menuExpanded === null)?_vm._l((_vm.menuOptions),function(option){return _c('b-dropdown-item',{key:option.key,attrs:{\"href\":option.href},on:{\"click\":function($event){return _vm.onClick(option)}}},[(option.expandable)?_c('div',{staticClass:\"d-flex justify-content-between clickable-area\",on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();_vm.menuExpanded = option.key}}},[_c('div',[(option.icon)?_c('i',{class:option.icon}):(option.svgIcon)?_c('svg',{staticClass:\"custom-svg-icon\"},[_c('use',{attrs:{\"href\":`#${option.svgIcon}`}})]):_vm._e(),_c('span',[_vm._v(_vm._s(option.title))])]),_c('div',[_c('i',{staticClass:\"fas fa-chevron-right m-0\"})])]):_c('div',{staticClass:\"d-flex justify-content-between clickable-area\"},[_c('div',{class:option.customMenuOptionClass},[(option.icon)?_c('i',{class:option.icon}):(option.svgIcon)?_c('svg',{staticClass:\"custom-svg-icon\"},[_c('use',{attrs:{\"href\":`#${option.svgIcon}`}})]):_vm._e(),_c('span',[_vm._v(_vm._s(option.title))])])])])}):_vm._e(),(_vm.menuExpanded !== null)?[_c('b-dropdown-item',[_c('div',{staticClass:\"clickable-area\",on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();_vm.menuExpanded = null}}},[_c('i',{staticClass:\"fas fa-chevron-left\"}),_vm._v(_vm._s(_vm.$t(\"Back\"))+\" \")])]),_c('b-dropdown-divider'),(_vm.menuExpanded === 'sorting')?_c('div',[_vm._t(\"sorting\")],2):_vm._e(),(_vm.menuExpanded === 'filtering')?_c('div',[_vm._t(\"filtering\")],2):_vm._e(),(_vm.menuExpanded === 'storage')?_c('div',[_vm._t(\"storage\")],2):_vm._e(),(_vm.menuExpanded === 'grouping')?_c('div',[_vm._t(\"grouping\")],2):_vm._e()]:_vm._e()],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CascadedDropdown.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CascadedDropdown.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CascadedDropdown.vue?vue&type=template&id=2a5ecb65&scoped=true&\"\nimport script from \"./CascadedDropdown.vue?vue&type=script&lang=js&\"\nexport * from \"./CascadedDropdown.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CascadedDropdown.vue?vue&type=style&index=0&id=2a5ecb65&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2a5ecb65\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('b-dropdown-text',{staticClass:\"small text-secondary\"},[_vm._v(_vm._s(_vm.$t(\"SORT BY\")))]),_vm._l((_vm.sortingOptions.options),function(sorting){return _c('b-dropdown-item',{key:`s_${sorting.key}`,nativeOn:{\"!click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.updateSorting({ sorting })}}},[_c('i',{staticClass:\"fas fa-check text-primary\",style:({\n visibility: _vm.sortingValue.sorting.key === sorting.key ? 'visible' : 'hidden',\n })}),_vm._v(\" \"+_vm._s(sorting.title)+\" \")])}),_c('b-dropdown-divider'),_c('b-dropdown-text',{staticClass:\"small text-secondary\"},[_vm._v(_vm._s(_vm.$t(\"DIRECTION\")))]),_vm._l((_vm.sortingDirections),function(direction){return _c('b-dropdown-item',{key:`d_${direction.key}`,nativeOn:{\"!click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.updateSorting({ direction })}}},[_c('i',{staticClass:\"fas fa-check text-primary\",style:({\n visibility: _vm.sortingValue.direction.key === direction.key ? 'visible' : 'hidden',\n })}),_vm._v(\" \"+_vm._s(direction.title)+\" \")])})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SortingDropdown.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SortingDropdown.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SortingDropdown.vue?vue&type=template&id=1436d304&\"\nimport script from \"./SortingDropdown.vue?vue&type=script&lang=js&\"\nexport * from \"./SortingDropdown.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',_vm._l((_vm.filterOptions),function(option,key,index){return _c('div',{key:key},[(index !== 0)?_c('b-dropdown-divider'):_vm._e(),_c('b-dropdown-text',{staticClass:\"small text-secondary\"},[_vm._v(_vm._s(option.title.toUpperCase()))]),_vm._l((option.values),function(val){return _c('b-dropdown-item',{key:`f_${key}_${val.key}`,nativeOn:{\"!click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.updateFiltering({ filterOptionKey: key, filterValueKey: val.key })}}},[_c('div',{staticClass:\"dropdown-text-group\"},[_c('i',{staticClass:\"fas fa-check text-primary\",class:{\n 'checkmark-muted':\n option.multiple &&\n !val.includesAll &&\n (!Array.isArray(_vm.filterValues[key]) || !_vm.filterValues[key].includes(val.key)),\n },style:({\n visibility:\n (Array.isArray(_vm.filterValues[key]) && _vm.filterValues[key].includes(val.key)) ||\n _vm.filterValues[key] === val.key ||\n (option.multiple && !val.includesAll)\n ? 'visible'\n : 'hidden',\n })}),_c('div',{staticClass:\"text\"},[_vm._v(\" \"+_vm._s(val.title)+\" \"),(val.subtitle)?_c('div',{staticClass:\"subtitle\"},[_vm._v(\" \"+_vm._s(val.subtitle)+\" \")]):_vm._e()])])])})],2)}),0)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilteringDropdown.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilteringDropdown.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FilteringDropdown.vue?vue&type=template&id=687a0a02&scoped=true&\"\nimport script from \"./FilteringDropdown.vue?vue&type=script&lang=js&\"\nexport * from \"./FilteringDropdown.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FilteringDropdown.vue?vue&type=style&index=0&id=687a0a02&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"687a0a02\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.shouldShowFilterWarning)?_c('div',{staticClass:\"active-filter-notice\"},[_c('div',{staticClass:\"filter\"},[_c('i',{staticClass:\"fas fa-filter mr-2\"}),_vm._v(\" \"+_vm._s(_vm.$t(\"Filters applied\"))+\" \")]),_c('div',{staticClass:\"action-btn\",on:{\"click\":function($event){return _vm.$emit('onShowAllClicked')}}},[_vm._v(_vm._s(_vm.$t(\"SHOW ALL\")))])]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActiveFilterNotice.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActiveFilterNotice.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ActiveFilterNotice.vue?vue&type=template&id=0aa31f4a&scoped=true&\"\nimport script from \"./ActiveFilterNotice.vue?vue&type=script&lang=js&\"\nexport * from \"./ActiveFilterNotice.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ActiveFilterNotice.vue?vue&type=style&index=0&id=0aa31f4a&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0aa31f4a\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('a',{staticClass:\"print-container\",attrs:{\"href\":`/prints/${_vm.print.id}/${_vm.index !== null ? '?index=' + _vm.index : ''}`}},[_c('div',{staticClass:\"status-indicator print-status-bg\",class:_vm.print.status.key}),(_vm.selectable)?_c('div',{staticClass:\"checkbox-wrapper\",class:{ isSelected: _vm.isSelected }},[_c('b-form-checkbox',{attrs:{\"size\":\"md\"},model:{value:(_vm.isSelected),callback:function ($$v) {_vm.isSelected=$$v},expression:\"isSelected\"}})],1):_vm._e(),_c('div',{staticClass:\"main-content truncated-wrapper\"},[_c('div',{staticClass:\"top\"},[_c('div',{staticClass:\"title truncated\",attrs:{\"title\":_vm.fileName}},[_vm._v(_vm._s(_vm.fileName))])]),_c('div',{staticClass:\"bottom\"},[_c('div',{staticClass:\"info\"},[_c('svg',{staticClass:\"icon\",attrs:{\"width\":\"1em\",\"height\":\"1em\"}},[_c('use',{attrs:{\"href\":\"#svg-3d-printer\"}})]),_c('span',[_vm._v(_vm._s(_vm.print.printer ? _vm.print.printer.name : 'Unavailable'))])]),_c('div',{staticClass:\"info\"},[_c('i',{staticClass:\"fas fa-calendar-alt icon\"}),_c('span',[_vm._v(_vm._s(_vm.print.started_at.format('MMM D, YYYY')))])])])]),(_vm.print.poster_url)?_c('div',{staticClass:\"poster\"},[_c('div',{staticClass:\"img\",style:({ backgroundImage: `url(${_vm.print.poster_url})` })})]):_c('div',{staticClass:\"poster no-photo\"},[_c('svg',[_c('use',{attrs:{\"href\":\"#svg-no-photo\"}})])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintHistoryItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintHistoryItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PrintHistoryItem.vue?vue&type=template&id=11fbb7ad&scoped=true&\"\nimport script from \"./PrintHistoryItem.vue?vue&type=script&lang=js&\"\nexport * from \"./PrintHistoryItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PrintHistoryItem.vue?vue&type=style&index=0&id=11fbb7ad&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"11fbb7ad\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('b-modal',{attrs:{\"id\":\"b-modal-pick-dates\",\"title\":_vm.$t('Select Dates'),\"ok-title\":_vm.$t('Apply'),\"cancel-title\":_vm.$t('Cancel'),\"centered\":\"\"},on:{\"ok\":_vm.handleOk,\"hidden\":_vm.resetModal,\"shown\":_vm.focusInput}},[_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.handleSubmit.apply(null, arguments)}}},[_c('div',{staticClass:\"my-2\"},[_c('b-form-group',{attrs:{\"label\":_vm.$t('Date from'),\"label-for\":\"date_from\",\"description\":_vm.$t('If empty, will default to your registration date')}},[_c('b-form-input',{ref:\"dateFrom\",attrs:{\"id\":\"date_from\",\"type\":\"date\",\"placeholder\":_vm.$t('Enter date')},model:{value:(_vm.dateFrom),callback:function ($$v) {_vm.dateFrom=$$v},expression:\"dateFrom\"}})],1),_c('b-form-group',{attrs:{\"label\":_vm.$t('Date to'),\"label-for\":\"date_to\",\"description\":_vm.$t('If empty, will default to today')}},[_c('b-form-input',{ref:\"dateTo\",attrs:{\"id\":\"date_to\",\"type\":\"date\",\"placeholder\":_vm.$t('Enter date')},model:{value:(_vm.dateTo),callback:function ($$v) {_vm.dateTo=$$v},expression:\"dateTo\"}})],1),(_vm.errorMessage)?_c('b-alert',{staticClass:\"mt-3\",attrs:{\"variant\":\"danger\",\"show\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.errorMessage)+\" \")]):_vm._e()],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DatePickerModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DatePickerModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DatePickerModal.vue?vue&type=template&id=3aeed230&scoped=true&\"\nimport script from \"./DatePickerModal.vue?vue&type=script&lang=js&\"\nexport * from \"./DatePickerModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DatePickerModal.vue?vue&type=style&index=0&id=3aeed230&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3aeed230\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(() => (_vm.show = false)),expression:\"() => (show = false)\"}],staticClass:\"help-wrapper\",class:{ highlighted: _vm.highlight }},[_c('div',{staticClass:\"text\",on:{\"click\":function($event){_vm.positionWidget()\n _vm.show = !_vm.show}}},[_vm._t(\"default\")],2),_c('div',{ref:\"widgetWrapper\",staticClass:\"widget-wrapper\"},[_c('div',{staticClass:\"question-mark\",on:{\"click\":function($event){_vm.positionWidget()\n _vm.show = !_vm.show}}},[_c('svg',[_c('use',{attrs:{\"href\":\"#svg-question-icon\"}})])]),_c('transition',{attrs:{\"name\":\"pop-up\"}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.show),expression:\"show\"}],ref:\"widget\",staticClass:\"widget\",class:[_vm.xDirection, _vm.yDirection]},[(_vm.showCloseButton)?_c('div',{staticClass:\"close-button\",on:{\"click\":function($event){_vm.show = false}}},[_c('svg',{attrs:{\"width\":\"16\",\"height\":\"16\"}},[_c('use',{attrs:{\"href\":\"#svg-cross-icon\"}})])]):_vm._e(),_c('div',{staticClass:\"content\"},[(_vm.id === 'basic-streaming-on-kingroon-pricing-page')?[_c('div',[_vm._v(\" \"+_vm._s(_vm.$t(\"Basic Streaming\"))+\": \"),_c('ul',[_c('li',[_vm._v(_vm._s(_vm.$t(\"1 FPS (frame-per-second), 100 hours of streaming per month\")))])])]),_c('div',[_c('i18next',{attrs:{\"translation\":_vm.$t('Learn more about {localizedDom}')},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('a',{attrs:{\"href\":\"https://docs.kingroon.com/docs/user-guides/webcam-streaming-for-human-eyes/\",\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t(\"the differences between the Premium Streaming and the Basic Streaming\"))+\" \"),_c('i',{staticClass:\"fas fa-external-link-alt\"})])]},proxy:true}],null,false,1592606660)})],1)]:_vm._e(),(_vm.id === 'detective-hours-free-plan-on-kingroon-pricing-page')?[_c('p',[_vm._v(_vm._s(_vm.$t(\"Basic AI Detection checks for failures every 30 seconds.\")))]),_c('p',[_vm._v(_vm._s(_vm.$t(\"AI usage is reset on the 1st of each month. Hours do not roll over month to month.\")))]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"Learn more about\"))+\" \"),_c('a',{attrs:{\"href\":\"https://www.docs.kingroon.com/docs/user-guides/how-does-detective-hour-work/\",\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t(\"how the AI Detection Hour works \"))),_c('i',{staticClass:\"fas fa-external-link-alt\"})])])]:_vm._e(),(_vm.id === 'tunneling-free-plan-on-kingroon-pricing-page')?[_c('p',[_vm._v(_vm._s(_vm.$t(\"Securely tunnel to your Mainsail or fluidd Klipper interface from anywhere.\")))]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"Free plan is subject to 300MB/month data cap. Data usage is reset on the 1st day of each month.\"))+\" \")]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"Learn more about\"))+\" \"),_c('a',{attrs:{\"href\":\"https://docs.kingroon.com/docs/user-guides/octoprint-tunneling/\",\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t(\"Klipper tunnel \"))),_c('i',{staticClass:\"fas fa-external-link-alt\"})])])]:_vm._e(),(_vm.id === 'premium-streaming-on-kingroon-pricing-page')?[_c('div',[_vm._v(\" \"+_vm._s(_vm.$t(\"Premium Streaming\"))+\": \"),_c('ul',[_c('li',[_vm._v(_vm._s(_vm.$t(\"Up to 25 FPS (frame-per-second)\")))]),_c('li',[_vm._v(_vm._s(_vm.$t(\"Up to 5 FPS with any webcam\")))]),_c('li',[_vm._v(_vm._s(_vm.$t(\"Up to 25 FPS with Kingroon H.264 Camera.\")))])])]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"Learn more about\"))+\" \"),_c('a',{attrs:{\"href\":\"https://docs.kingroon.com/docs/user-guides/webcam-streaming-for-human-eyes/\",\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t(\"the differences between the Premium Streaming and the Basic Streaming\"))+\" \"),_c('i',{staticClass:\"fas fa-external-link-alt\"})])])]:_vm._e(),(_vm.id === 'detective-hours-pro-plan-on-kingroon-pricing-page')?[_c('p',[_vm._v(_vm._s(_vm.$t(\"Advanced AI checks for failures more frequently - Catch failures up to 2X faster than Basic AI.\")))]),_c('p',[_vm._v(_vm._s(_vm.$t(\"Unused AI Detection Hours roll over month-to-month\")))]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"Learn more about\"))+\" \"),_c('a',{attrs:{\"href\":\"https://www.docs.kingroon.com/docs/user-guides/how-does-detective-hour-work/\",\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t(\"how the AI Detection Hour works \"))),_c('i',{staticClass:\"fas fa-external-link-alt\"})])])]:_vm._e(),(_vm.id === 'tunneling-pro-plan-on-kingroon-pricing-page')?[_c('div',[_vm._v(_vm._s(_vm.$t(\"Securely tunnel to your Mainsail or fluidd Klipper interface from anywhere. Unlimited.\")))]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"Learn more about\"))+\" \"),_c('a',{attrs:{\"href\":\"https://docs.kingroon.com/docs/user-guides/octoprint-tunneling/\",\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t(\"Klipper tunnel \"))),_c('i',{staticClass:\"fas fa-external-link-alt\"})])])]:_vm._e(),(_vm.id === 'basic-streaming-on-pricing-page')?[_c('div',[_vm._v(\" \"+_vm._s(_vm.$t(\"Basic Streaming\"))+\": \"),_c('ul',[_c('li',[_vm._v(_vm._s(_vm.$t(\"Up to 5 FPS (frame-per-second)\")))]),_c('li',[_vm._v(_vm._s(_vm.$t(\"Throttled for 30 seconds every minute\")))])])]),_c('div',[_c('i18next',{attrs:{\"translation\":_vm.$t('Learn more about {localizedDom}')},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('a',{attrs:{\"href\":_vm.getDocUrl('/user-guides/webcam-streaming-for-human-eyes/'),\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t(\"the differences between the Premium Streaming and the Basic Streaming\"))+\" \"),_c('i',{staticClass:\"fas fa-external-link-alt\"})])]},proxy:true}],null,false,3864550040)})],1)]:_vm._e(),(_vm.id === 'detective-hours-free-plan-on-pricing-page')?[_c('h3',[_vm._v(_vm._s(_vm.$t(\"Yup! Even Free account gets 10 AI Detection Hours for FREE each month.\")))]),_c('ul',[_c('li',[_vm._v(_vm._s(_vm.$t(\"Unused AI Detection Hours roll over month to month.\")))]),_c('li',[_vm._v(\" \"+_vm._s(_vm.$t(\"You can\"))+\" \"),_c('a',{attrs:{\"href\":_vm.getDocUrl('/user-guides/how-does-credits-work/')}},[_vm._v(_vm._s(_vm.$t(\"earn free AI Detection Hours by helping her improve\")))]),_vm._v(\". \")]),_c('li',[_vm._v(\" \"+_vm._s(_vm.$t(\"You can also\"))+\" \"),_c('a',{staticClass:\"link\",attrs:{\"href\":\"#need-more\"}},[_vm._v(_vm._s(_vm.$t(\"purchase additional AI hours\")))]),_vm._v(\". \")])]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"Learn more about\"))+\" \"),_c('a',{attrs:{\"href\":_vm.getDocUrl('/user-guides/how-does-detective-hour-work/'),\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t(\"how the AI Detection Hour works \"))),_c('i',{staticClass:\"fas fa-external-link-alt\"})])])]:_vm._e(),(_vm.id === 'detective-hours-pro-plan-on-pricing-page')?[_c('h3',[_vm._v(_vm._s(_vm.$t(\"Pro plan includes 50 AI Detection Hours each month.\")))]),_c('ul',[_c('li',[_vm._v(_vm._s(_vm.$t(\"Unused AI Detection Hours roll over month to month.\")))]),_c('li',[_vm._v(_vm._s(_vm.$t(\"AI Detection Hours expire when subscription ends.\")))]),_c('li',[_vm._v(\" \"+_vm._s(_vm.$t(\"You can\"))+\" \"),_c('a',{attrs:{\"href\":_vm.getDocUrl('/user-guides/how-does-credits-work/')}},[_vm._v(_vm._s(_vm.$t(\"earn more AI Detection Hours by helping her improve\")))]),_vm._v(\". \")]),_c('li',[_vm._v(\" \"+_vm._s(_vm.$t(\"You can also\"))+\" \"),_c('a',{staticClass:\"link\",attrs:{\"href\":\"#need-more\"}},[_vm._v(_vm._s(_vm.$t(\"purchase additional AI hours\")))]),_vm._v(\". \")])]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"Learn more about\"))+\" \"),_c('a',{attrs:{\"href\":_vm.getDocUrl('/user-guides/how-does-detective-hour-work/'),\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t(\"how the AI Detection Hour works \"))),_c('i',{staticClass:\"fas fa-external-link-alt\"})])])]:_vm._e(),(_vm.id === 'premium-streaming-on-pricing-page')?[_c('div',[_vm._v(\" \"+_vm._s(_vm.$t(\"Premium Streaming\"))+\": \"),_c('ul',[_c('li',[_vm._v(_vm._s(_vm.$t(\"Up to 25 FPS (frame-per-second)\")))]),_c('li',[_vm._v(_vm._s(_vm.$t(\"Un-throttled\")))])])]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"Learn more about\"))+\" \"),_c('a',{attrs:{\"href\":_vm.getDocUrl('/user-guides/webcam-streaming-for-human-eyes/'),\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t(\"the differences between the Premium Streaming and the Basic Streaming\"))+\" \"),_c('i',{staticClass:\"fas fa-external-link-alt\"})])])]:_vm._e(),(_vm.id === 'tunneling-free-plan-on-pricing-page')?[_c('p',[_vm._v(_vm._s(_vm.$t(\"Securely tunnel to your OctoPrint/Klipper from anywhere.\")))]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"Free plan is subject to 300MB/month data cap. Data usage is reset on the 1st day of each month.\"))+\" \")]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"Learn more about\"))+\" \"),_c('a',{attrs:{\"href\":_vm.getDocUrl('/user-guides/octoprint-tunneling/'),\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t(\"OctoPrint/Klipper tunnel \"))),_c('i',{staticClass:\"fas fa-external-link-alt\"})])])]:_vm._e(),(_vm.id === 'tunneling-pro-plan-on-pricing-page')?[_c('div',[_vm._v(_vm._s(_vm.$t(\"Securely tunnel to your OctoPrint/Klipper from anywhere. Unlimited.\")))]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"Learn more about\"))+\" \"),_c('a',{attrs:{\"href\":_vm.getDocUrl('/user-guides/octoprint-tunneling/'),\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t(\"OctoPrint/Klipper tunnel \"))),_c('i',{staticClass:\"fas fa-external-link-alt\"})])])]:_vm._e(),(_vm.id === '3rd-party-app-integration-free-on-pricing-page')?[_c('div',[_c('div',[_vm._v(_vm._s(_vm.$t(\"The monthly cap is shared between 3rd-party app and OctoPrint tunnel\"))+\":\")]),_c('ul',[_c('li',[_vm._v(_vm._s(_vm.$t(\"The combined usage can't exceed 300MB per month.\")))]),_c('li',[_vm._v(_vm._s(_vm.$t(\"Data usage is reset on the 1st day of each month.\")))])]),_c('p',[_vm._v(_vm._s(_vm.$t(\"Supported 3rd-party mobile apps\"))+\":\")]),_c('img',{staticClass:\"logo-icon\",attrs:{\"src\":require('@static/img/octoapp.webp')}}),_c('img',{staticClass:\"logo-icon\",attrs:{\"src\":require('@static/img/printoid.webp')}}),_c('img',{staticClass:\"logo-icon\",attrs:{\"src\":require('@static/img/octopod.webp')}}),_c('img',{staticClass:\"logo-icon\",attrs:{\"src\":require('@static/img/polymer.webp')}})])]:_vm._e(),(_vm.id === '3rd-party-app-integration-pro-on-pricing-page')?[_c('div',[_c('p',[_vm._v(_vm._s(_vm.$t(\"Supported 3rd-party mobile apps\"))+\":\")]),_c('img',{staticClass:\"logo-icon\",attrs:{\"src\":require('@static/img/octoapp.webp')}}),_c('img',{staticClass:\"logo-icon\",attrs:{\"src\":require('@static/img/printoid.webp')}}),_c('img',{staticClass:\"logo-icon\",attrs:{\"src\":require('@static/img/octopod.webp')}}),_c('img',{staticClass:\"logo-icon\",attrs:{\"src\":require('@static/img/polymer.webp')}})])]:_vm._e(),(_vm.id === 'filament-change-on-notification-preferences')?[_c('i',[_c('ul',[_vm._v(\" \"+_vm._s(_vm.$t(\"Required versions\"))+\": \"),_c('li',[_vm._v(_vm._s(_vm.$t(\"OctoPrint 1.7.0 or higher\")))]),_c('li',[_vm._v(_vm._s(_vm.$t(\"The {brandName} plugin 1.8.11 or higher\",{brandName: _vm.$syndicateText.brandName })))])])]),_c('h3',[_vm._v(_vm._s(_vm.$t(\"Filament Runout Notifications\")))]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('Host_action_commands must be enabled in your firmware to make it possible for your filament runout sensor to communicate with OctoPrint and the {brandName} app. If you enable action commands in your firmware, then the filament runout sensor can work properly and the {brandName} app can notify you when the filament runs out. Unfortunately, without host_action_commands enabled, OctoPrint is unable to communicate with the printer to know that a filament runout was detected.',{brandName:_vm.$syndicateText.brandName}))+\" \")]),_c('p',[_vm._v(_vm._s(_vm.$t(\"To enable support, you need to do the following\"))+\":\")]),_c('ul',[_c('li',[_vm._v(\" \"+_vm._s(_vm.$t(\"Marlin: Uncomment #define HOST_ACTION_COMMANDS in Configuration_adv.h and recompile. See here for more information on host_action_commands.\"))+\" \")])]),_c('h3',[_vm._v(_vm._s(_vm.$t(\"Color Change Notifications\")))]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"Notifications on color change will work with any printer that has M600 enabled in its firmware. You do not need host_action_commands enabled to get notified when a color change is needed.\"))+\" \")])]:_vm._e(),(_vm.id === 'filament-used-may-be-incorrect')?[_c('h3',[_vm._v(_vm._s(_vm.$t(\"Is filament usage inaccurate?\")))]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('G-code files uploaded to your {brandName} account before upgrading to {brandName} for OctoPrint version 2.3.0 or {brandName} for Klipper version 1.2.0 do not include filament usage data.',{brandName:_vm.$syndicateText.brandName}))+\" \")]),_c('p',[_c('strong',[_vm._v(_vm._s(_vm.$t(\"To ensure accurate filament usage and other statistics\"))+\":\")])]),_c('ul',[_c('li',[_vm._v(\" \"+_vm._s(_vm.$t('Upload G-code files and start prints directly through {brandName} instead of OctoPrint/Klipper.',{brandName:_vm.$syndicateText.brandName}))+\" \")]),_c('li',[_vm._v(\" \"+_vm._s(_vm.$t(\"Use a slicer that supports filament usage parameters, such as Cura, Prusa Slicer, SuperSlicer, IdeaMaker, or Simplify3D.\"))+\" \")]),_c('li',[_vm._v(\" \"+_vm._s(_vm.$t(\"Print statistics for G-code files deleted before 12/20/2022 are not included. For files deleted after 12/20/2022, statistics are preserved.\"))+\" \")])])]:_vm._e(),(_vm.id === 'thumbnail-setup-guide')?[_c('p',[_c('a',{attrs:{\"href\":_vm.getDocUrl('/user-guides/enable-gcode-thumbnails/'),\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t(\"Learn how to configure G-Code preview generation in your slicer\"))+\" \"),_c('i',{staticClass:\"fas fa-external-link-alt\"})])])]:_vm._e(),(_vm.id === 'fan-speed-widget-help')?[_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"Adjust the speed of the cooling fan by setting a percentage value between 0 and 100. The default value is usually 100, which means the fan will run at full speed. Lowering the fan speed can reduce noise and save energy, but may also affect print quality if the printer gets too hot.\"))+\" \")])]:_vm._e(),(_vm.id === 'print-speed-widget-help')?[_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"Adjust the speed of your 3D printer by changing the speed of all movement commands by a specified factor. The default value is 100%, meaning that the printer will move at its standard speed. Lowering the print speed factor will slow down your print, while increasing it will speed it up. Value of 200% will double the speed.\"))+\" \")])]:_vm._e(),(_vm.id === 'flow-rate-widget-help')?[_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"Flow rate is the speed at which the printer extrudes plastic. If the flow rate is too high, the printer may extrude too much plastic and create blobs or stringing, while too low flow rate may result in weak and brittle prints. Adjusting the flow rate can help achieve the optimal balance between speed and quality. The default value is 100%.\"))+\" \")])]:_vm._e(),(_vm.id === 'coupon-entered-automatically')?[_c('div',[_c('p',[_vm._v(_vm._s(_vm.$t('No cost for three months. Plan renews after expiration. Cancel anytime.')))])])]:_vm._e()],2)])])],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HelpWidget.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HelpWidget.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./HelpWidget.vue?vue&type=template&id=8b03b208&scoped=true&\"\nimport script from \"./HelpWidget.vue?vue&type=script&lang=js&\"\nexport * from \"./HelpWidget.vue?vue&type=script&lang=js&\"\nimport style0 from \"./HelpWidget.vue?vue&type=style&index=0&id=8b03b208&prod&lang=sass&scoped=true&\"\nimport style1 from \"./HelpWidget.vue?vue&type=style&index=1&id=8b03b208&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"8b03b208\",\n null\n \n)\n\nexport default component.exports","import moment from 'moment'\n\nconst DateParamFormat = 'YYYY-MM-DD'\n\nexport const queryBuilder = (filterValue, customDateFrom, customDateTo, user) => {\n return {\n from_date: getDateFrom(filterValue, customDateFrom, user).format(DateParamFormat),\n to_date: getDateTo(filterValue, customDateTo).format(DateParamFormat),\n timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,\n }\n}\n\nexport const getDateFrom = (filterValue, customDateFrom, user) => {\n const today = new Date()\n const firstDayOfWeek = new Date(today.setDate(today.getDate() - today.getDay()))\n const firstDayOfMonth = new Date(today.getFullYear(), today.getMonth(), 1)\n const firstDayOfYear = new Date(today.getFullYear(), 0, 1)\n\n switch (filterValue) {\n case 'this_week':\n return moment(firstDayOfWeek)\n case 'this_month':\n return moment(firstDayOfMonth)\n case 'this_year':\n return moment(firstDayOfYear)\n case 'custom':\n if (customDateFrom) {\n return moment(customDateFrom)\n }\n }\n return moment(user.date_joined)\n}\n\nexport const getDateTo = (filterValue, customDateTo) => {\n const today = new Date()\n const lastDayOfWeek = new Date(today.setDate(today.getDate() - today.getDay() + 6))\n const lastDayOfMonth = new Date(today.getFullYear(), today.getMonth() + 1, 0)\n const lastDayOfYear = new Date(today.getFullYear(), 11, 31)\n\n switch (filterValue) {\n case 'this_week':\n return moment(lastDayOfWeek)\n case 'this_month':\n return moment(lastDayOfMonth)\n case 'this_year':\n return moment(lastDayOfYear)\n case 'custom':\n if (customDateTo) {\n return moment(customDateTo)\n }\n }\n return moment()\n}\n\nexport const getRecommendedGrouping = (filterValue, customDateFrom, customDateTo, user) => {\n const fromDate = getDateFrom(filterValue, customDateFrom, user)\n const toDate = getDateTo(filterValue, customDateTo)\n const diff = toDate.diff(fromDate, 'days')\n if (diff <= 31) {\n return 'day'\n } else if (diff <= 95) {\n return 'week'\n } else if (diff <= 366) {\n return 'month'\n } else {\n return 'year'\n }\n}\n","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintHistoryPage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintHistoryPage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PrintHistoryPage.vue?vue&type=template&id=4bb2d91a&scoped=true&\"\nimport script from \"./PrintHistoryPage.vue?vue&type=script&lang=js&\"\nexport * from \"./PrintHistoryPage.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PrintHistoryPage.vue?vue&type=style&index=0&id=4bb2d91a&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4bb2d91a\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('page-layout',{scopedSlots:_vm._u([{key:\"topBarRight\",fn:function(){return [_c('div',{staticClass:\"action-panel\"},[_c('b-dropdown',{attrs:{\"right\":\"\",\"no-caret\":\"\",\"toggle-class\":\"action-btn icon-btn\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('i',{staticClass:\"fas fa-chart-bar\"})]},proxy:true}])},[_c('b-dropdown-text',{staticClass:\"small text-secondary\"},[_vm._v(_vm._s(_vm.$t(\"GROUP BY\")))]),_vm._l((_vm.groupingOptions),function(grouping){return _c('b-dropdown-item',{key:grouping.key,nativeOn:{\"!click\":function($event){$event.stopPropagation();$event.preventDefault();return (() => _vm.updateChartGrouping(grouping)).apply(null, arguments)}}},[_c('i',{staticClass:\"fas fa-check text-primary\",style:({ visibility: _vm.activeGrouping === grouping.key ? 'visible' : 'hidden' })}),_c('span',[_vm._v(_vm._s(grouping.title))])])})],2),_c('b-dropdown',{attrs:{\"right\":\"\",\"no-caret\":\"\",\"toggle-class\":\"action-btn icon-btn\",\"menu-class\":\"scrollable\",\"title\":_vm.$t('Filter')},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('i',{staticClass:\"fas fa-filter\"})]},proxy:true}])},[_c('filtering-dropdown',{ref:\"filteringDropdown1\",attrs:{\"local-storage-prefix\":_vm.filterLocalStoragePrefix,\"filter-options\":_vm.filterOptions,\"filter-values\":_vm.filterValues,\"filter-update-mixin\":_vm.filterUpdateMixin},on:{\"onFilterUpdated\":_vm.onFilterUpdated}})],1),_c('b-dropdown',{attrs:{\"right\":\"\",\"no-caret\":\"\",\"toggle-class\":\"icon-btn d-md-none\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('i',{staticClass:\"fas fa-ellipsis-v\"})]},proxy:true}])},[_c('cascaded-dropdown',{ref:\"cascadedDropdown\",attrs:{\"menu-options\":[\n {\n key: 'grouping',\n icon: 'fas fa-chart-bar',\n title: _vm.$t(`Group By`),\n expandable: true,\n },\n {\n key: 'filtering',\n icon: 'fas fa-filter',\n title: _vm.$t(`Filter`),\n expandable: true,\n },\n ]},scopedSlots:_vm._u([{key:\"grouping\",fn:function(){return [_c('b-dropdown-text',{staticClass:\"small text-secondary\"},[_vm._v(_vm._s(_vm.$t(\"GROUP BY\")))]),_vm._l((_vm.groupingOptions),function(grouping){return _c('b-dropdown-item',{key:grouping.key,nativeOn:{\"!click\":function($event){$event.stopPropagation();$event.preventDefault();return (() => _vm.updateChartGrouping(grouping)).apply(null, arguments)}}},[_c('i',{staticClass:\"fas fa-check text-primary\",style:({ visibility: _vm.activeGrouping === grouping.key ? 'visible' : 'hidden' })}),_c('span',[_vm._v(_vm._s(grouping.title))])])})]},proxy:true},{key:\"filtering\",fn:function(){return [_c('filtering-dropdown',{ref:\"filteringDropdown2\",attrs:{\"local-storage-prefix\":_vm.filterLocalStoragePrefix,\"filter-options\":_vm.filterOptions,\"filter-values\":_vm.filterValues,\"filter-update-mixin\":_vm.filterUpdateMixin},on:{\"onFilterUpdated\":_vm.onFilterUpdated}})]},proxy:true}])})],1)],1)]},proxy:true},{key:\"content\",fn:function(){return [_c('active-filter-notice',{attrs:{\"filter-values\":_vm.filterValues},on:{\"onShowAllClicked\":_vm.resetFilters}}),(!_vm.stats)?_c('loading-placeholder'):_c('b-container',[_c('b-row',[_c('b-col',[_c('muted-alert',{staticClass:\"muted-alert\"},[_vm._v(_vm._s(_vm.$t(\"Statistics include deleted prints\")))])],1)],1),_c('b-row',[_c('b-col',{staticClass:\"mb-4 mb-lg-0\",attrs:{\"lg\":\"6\"}},[_c('div',{staticClass:\"stats-block total-prints\"},[_c('div',{staticClass:\"stats-block-title\"},[_c('i',{staticClass:\"fas fa-hashtag\"}),_c('span',[_vm._v(_vm._s(_vm.$t(\"Total Prints\")))])]),_c('div',{staticClass:\"chart-wrapper\"},[_c('div',{staticClass:\"legend\"},[_c('div',{staticClass:\"line\"},[_c('div',{staticClass:\"square success\"}),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Finished\"))+\":\")]),_c('div',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.stats ? _vm.stats.total_succeeded_print_count : ''))])]),_c('div',{staticClass:\"line\"},[_c('div',{staticClass:\"square danger\"}),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Cancelled\"))+\":\")]),_c('div',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.stats ? _vm.stats.total_cancelled_print_count : ''))])])]),_c('div',{ref:\"totalPrintsDonutChart\"})])])]),_c('b-col',{attrs:{\"lg\":\"6\"}},[_c('div',{staticClass:\"stats-block print-time\"},[_c('div',{staticClass:\"stats-block-title\"},[_c('i',{staticClass:\"far fa-clock\"}),_c('span',[_vm._v(_vm._s(_vm.$t(\"Print Time\")))])]),_c('div',{staticClass:\"info total-print-time\"},[_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Total print time\")))]),_c('div',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.humanizedDuration(_vm.stats.total_print_time)))])]),_c('div',{staticClass:\"other-print-time-numbers\"},[_c('div',{staticClass:\"info\"},[_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Longest print\")))]),_c('div',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.humanizedDuration(_vm.stats.longest_print_time)))])]),_c('div',{staticClass:\"divider\"}),_c('div',{staticClass:\"info\"},[_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Average print\")))]),_c('div',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.humanizedDuration(_vm.stats.average_print_time)))])])])])])],1),_c('b-row',{staticClass:\"mt-4\"},[_c('b-col',[_c('div',{staticClass:\"stats-block bar-chart\"},[_c('div',{staticClass:\"stats-block-title\"},[_c('i',{staticClass:\"fas fa-hashtag\"}),_c('span',[_vm._v(_vm._s(_vm.$t(\"Prints Count\")))])]),_c('div',{ref:\"printCountGroupsChart\",staticClass:\"bar-chart-wrapper\"})])])],1),_c('b-row',{staticClass:\"mt-4\"},[_c('b-col',[_c('div',{staticClass:\"stats-block bar-chart\"},[_c('div',{staticClass:\"stats-block-title\"},[_c('i',{staticClass:\"far fa-clock\"}),_c('span',[_vm._v(_vm._s(_vm.$t(\"Print Time\")))])]),_c('div',{ref:\"printTimeGroupsChart\",staticClass:\"bar-chart-wrapper\"})])])],1),_c('b-row',{staticClass:\"mt-4\"},[_c('b-col',[_c('div',{staticClass:\"stats-block bar-chart filament-used-groups\"},[_c('div',{staticClass:\"stats-block-title\"},[_c('i',{staticClass:\"fas fa-ruler-horizontal\"}),_c('div',{staticClass:\"title-group\"},[_c('span',[_c('help-widget',{attrs:{\"id\":\"filament-used-may-be-incorrect\",\"highlight\":false,\"show-close-button\":false}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Filament Usage\"))+\" \")])],1),_c('div',{staticClass:\"divider\"}),_c('div',{staticClass:\"subtitle\"},[_vm._v(_vm._s(_vm.totalFilamentUsedFormatted)+\" \"+_vm._s(_vm.$t(\"total\")))])])]),_c('div',{ref:\"filamentUsedGroupsChart\",staticClass:\"bar-chart-wrapper\"})])])],1)],1),_c('date-picker-modal',{ref:\"datePickerModal\",on:{\"picked\":_vm.onDatesPicked}})]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"alert-wrapper\"},[_vm._m(0),_c('p',{staticClass:\"message\"},[_vm._t(\"default\")],2)])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"icon\"},[_c('i',{staticClass:\"fas fa-info-circle\"})])\n}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MutedAlert.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MutedAlert.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MutedAlert.vue?vue&type=template&id=55bd9838&scoped=true&\"\nimport script from \"./MutedAlert.vue?vue&type=script&lang=js&\"\nexport * from \"./MutedAlert.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MutedAlert.vue?vue&type=style&index=0&id=55bd9838&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"55bd9838\",\n null\n \n)\n\nexport default component.exports","// Credit: https://observablehq.com/@d3/donut-chart\n\nimport * as d3 from 'd3'\n\nexport const DonutChart = (\n data,\n {\n name = ([x]) => x, // given d in data, returns the (ordinal) label\n value = ([, y]) => y, // given d in data, returns the (quantitative) value\n totalValue = null, // to show in the middle\n totalValueFormat = ',', // a format specifier for total value\n title, // given d in data, returns the title text\n width = 180, // outer width, in pixels\n height = 180, // outer height, in pixels\n innerRadius = Math.min(width, height) / 3.6, // inner radius of pie, in pixels (non-zero for donut)\n outerRadius = Math.min(width, height) / 2, // outer radius of pie, in pixels\n labelRadius = (innerRadius + outerRadius) / 2, // center radius of labels\n format = ',', // a format specifier for values (in the label)\n names, // array of names (the domain of the color scale)\n colors, // array of colors for names\n stroke = innerRadius > 0 ? 'none' : 'white', // stroke separating widths\n strokeWidth = 10, // width of stroke separating wedges\n strokeLinejoin = 'round', // line join of stroke separating wedges\n padAngle = stroke === 'none' ? 2 / outerRadius : 0, // angular separation between wedges\n emptyState = false, // if true, show empty state\n } = {}\n) => {\n // Compute values\n const N = d3.map(data, name)\n const V = d3.map(data, value)\n const I = d3.range(N.length).filter((i) => !isNaN(V[i]))\n\n // Unique the names\n if (names === undefined) names = N\n names = new d3.InternSet(names)\n\n // Chose a default color scheme based on cardinality\n if (colors === undefined) colors = d3.schemeSpectral[names.size]\n if (colors === undefined)\n colors = d3.quantize((t) => d3.interpolateSpectral(t * 0.8 + 0.1), names.size)\n\n // Construct scales\n const color = d3.scaleOrdinal(names, colors)\n\n // Compute titles\n if (title === undefined) {\n const formatValue = d3.format(format)\n title = (i) => `${formatValue(V[i])}`\n } else {\n const O = d3.map(data, (d) => d)\n const T = title\n title = (i) => T(O[i], i, data)\n }\n\n // Construct arcs\n const arcs = d3\n .pie()\n .padAngle(padAngle)\n .sort(null)\n .value((i) => V[i])(I)\n const arc = d3.arc().innerRadius(innerRadius).outerRadius(outerRadius)\n const arcLabel = d3.arc().innerRadius(labelRadius).outerRadius(labelRadius)\n\n const svg = d3\n .create('svg')\n .attr('width', width)\n .attr('height', height)\n .attr('viewBox', [-width / 2, -height / 2, width, height])\n .attr('style', 'max-width: 100%; height: auto; height: intrinsic;')\n\n svg\n .append('g')\n .attr('stroke', stroke)\n .attr('stroke-width', strokeWidth)\n .attr('stroke-linejoin', strokeLinejoin)\n .selectAll('path')\n .data(arcs)\n .join('path')\n .attr('fill', (d) => color(N[d.data]))\n .attr('d', arc)\n .append('title')\n .text((d) => title(d.data))\n\n svg\n .append('g')\n .attr('font-family', 'sans-serif')\n .attr('font-size', 14)\n .attr('text-anchor', 'middle')\n .selectAll('text')\n .data(arcs)\n .join('text')\n .attr('transform', (d) => `translate(${arcLabel.centroid(d)})`)\n .selectAll('tspan')\n .data((d) => {\n if (emptyState) return ['0%']\n const lines = `${title(d.data)}`.split(/\\n/)\n return d.endAngle - d.startAngle > 0.25 ? lines : lines.slice(0, 1)\n })\n .join('tspan')\n .attr('x', 0)\n .attr('y', (_, i) => `${0.3}em`)\n .attr('font-weight', (_, i) => (i ? null : 'bold'))\n .attr('fill', '#fff')\n .text((d) => d)\n\n // Total value at the center\n if (totalValue) {\n svg\n .append('text')\n .attr('font-size', 12)\n .attr('dy', '-.75em')\n .attr('text-anchor', 'middle')\n .attr('fill', 'var(--color-text-secondary)')\n .text('Total')\n\n const formatTotalValue = d3.format(totalValueFormat)\n\n svg\n .append('text')\n .attr('dy', '.75em')\n .attr('font-size', 14)\n .attr('text-anchor', 'middle')\n .attr('font-weight', 'bold')\n .attr('fill', 'var(--color-text-primary)')\n .text(formatTotalValue(totalValue))\n }\n\n return Object.assign(svg.node(), { scales: { color } })\n}\n","// Credit: https://observablehq.com/@d3/bar-chart\n\nimport * as d3 from 'd3'\nimport moment from 'moment'\nimport { formatWithoutDaylightSavingShift as format } from '@src/lib/utils'\n\nexport const BarChart = (\n data,\n {\n x = (d, i) => i, // given d in data, returns the (ordinal) x-value\n y = (d) => d, // given d in data, returns the (quantitative) y-value\n title, // given d in data, returns the title text\n marginTop = 20, // the top margin, in pixels\n marginRight = 0, // the right margin, in pixels\n marginBottom = 40, // the bottom margin, in pixels\n marginLeft = 40, // the left margin, in pixels\n width = 640, // the outer width of the chart, in pixels\n height = 210, // the outer height of the chart, in pixels\n xDomain, // an array of (ordinal) x-values\n xRange = [marginLeft, width - marginRight], // [left, right]\n xLabelShow = (i) => true, // whether to show the x-axis label\n xLabelRotation = 0, // the rotation of the x-axis label, in degrees\n yType = d3.scaleLinear, // y-scale type\n yDomain, // [ymin, ymax]\n yRange = [height - marginBottom, marginTop], // [bottom, top]\n yTicks = height / 40,\n xPadding = 0.1, // amount of x-range to reserve to separate bars\n yFormat, // a format specifier string for the y-axis\n yTickFormat = null,\n yLabel, // a label for the y-axis\n color = 'currentColor', // bar fill color\n } = {}\n) => {\n // Compute values\n const X = d3.map(data, x)\n const Y = d3.map(data, y)\n\n // Compute default domains, and unique the x-domain\n if (xDomain === undefined) xDomain = X\n if (yDomain === undefined) yDomain = [0, d3.max(Y)]\n xDomain = new d3.InternSet(xDomain)\n\n // Omit any data not present in the x-domain\n const I = d3.range(X.length).filter((i) => xDomain.has(X[i]))\n\n // Construct scales, axes, and formats\n const xScale = d3.scaleBand(xDomain, xRange).padding(xPadding)\n const yScale = yType(yDomain, yRange)\n const xAxis = d3.axisBottom(xScale).tickSizeOuter(0)\n const yAxis = d3.axisLeft(yScale).ticks(yTicks, yFormat)\n if (yTickFormat) {\n yAxis.tickFormat(yTickFormat)\n }\n\n // Compute titles\n if (title === undefined) {\n const formatValue = yScale.tickFormat(100, yFormat)\n title = (i) => `${X[i]}: ${formatValue(Y[i])}`\n } else {\n const O = d3.map(data, (d) => d)\n const T = title\n title = (i) => T(O[i], i, data)\n }\n\n const svg = d3\n .create('svg')\n .attr('width', width)\n .attr('height', height)\n .attr('viewBox', [0, 0, width, height])\n .attr('style', 'max-width: 100%; height: auto; height: intrinsic;')\n\n svg\n .append('g')\n .attr('transform', `translate(${marginLeft},0)`)\n .call(yAxis)\n .call((g) =>\n g\n .selectAll('.tick line')\n .clone()\n .attr('x2', width - marginLeft - marginRight)\n .attr('stroke-opacity', 0.1)\n )\n .call((g) => g.selectAll('text').attr('font-size', 11))\n\n const bar = svg\n .append('g')\n .attr('fill', color)\n .selectAll('rect')\n .data(I)\n .join('rect')\n .attr('x', (i) => xScale(X[i]))\n .attr('y', (i) => yScale(Y[i]))\n .attr('height', (i) => yScale(0) - yScale(Y[i]))\n .attr('width', xScale.bandwidth())\n .attr('rx', 2)\n\n if (title) bar.append('title').text(title)\n\n svg\n .append('g')\n .attr('transform', `translate(0,${height - marginBottom})`)\n .call(xAxis)\n .selectAll('text')\n .attr('transform', xLabelRotation ? `translate(-10,0)rotate(-${xLabelRotation})` : '')\n .attr('font-size', 11)\n .call(function (t) {\n t.each(function (d, i) {\n var self = d3.select(this)\n var lines = self.text().split('\\r')[0].split('\\n') // get the text and split it\n self.text('') // clear it out\n\n if (xLabelShow(i)) {\n self\n .append('tspan')\n .attr('x', 0)\n .attr('dy', '1em')\n .attr('text-anchor', xLabelRotation ? 'end' : 'middle')\n .text(lines[0])\n\n if (lines.length === 2) {\n self.append('tspan').attr('x', 0).attr('dy', '1.2em').text(lines[1])\n }\n }\n })\n })\n\n return svg.node()\n}\n\n// Adaptive x-axis labels based on the width of the chart and number of bars\nexport const xAxisLabelsFormat = (wrapperWidth, barsCount, grouping = 'day', lastDayInDataset) => {\n const barWidth = wrapperWidth / barsCount\n\n const horizontalLabelRequiredWidth = grouping === 'day' ? 30 : grouping === 'week' ? 70 : 35\n const rotatedLabelRequiredWidth = 20\n\n let frequency, rotation\n if (barWidth >= horizontalLabelRequiredWidth) {\n frequency = 1\n rotation = 0\n } else {\n frequency = Math.ceil(rotatedLabelRequiredWidth / barWidth)\n rotation = 45\n }\n\n return {\n frequency,\n rotation,\n\n value: (d) => {\n const date = moment(d.key)\n\n let firstLine,\n secondLine = ''\n if (grouping === 'day') {\n firstLine = format(date, 'M/D')\n secondLine = format(date, 'ddd')\n } else if (grouping === 'week') {\n firstLine = format(date, 'M/D')\n\n const endOfWeek = date.clone().endOf('week')\n const lastDayOfWeek = endOfWeek.isBefore(lastDayInDataset) ? endOfWeek : lastDayInDataset\n\n firstLine += `-${\n lastDayOfWeek.month() === date.month()\n ? lastDayOfWeek.format('D')\n : lastDayOfWeek.format('M/D')\n }`\n secondLine = lastDayOfWeek.diff(date, 'days') === 6 ? `Week ${date.week()}` : ''\n } else if (grouping === 'month') {\n firstLine = format(date, 'MMM')\n secondLine = format(date, 'YYYY')\n } else {\n firstLine = format(date, 'YYYY')\n }\n\n let label = firstLine\n if (rotation === 0) {\n label += `\\n${secondLine}`\n }\n\n const uniqueDateKey = format(date, 'M/D/YYYY')\n label += `\\r${uniqueDateKey}` // so d3 won't skip same labels\n\n return label\n },\n\n shouldShow: (index) => {\n return index % frequency === 0\n },\n }\n}\n","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StatsPage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StatsPage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./StatsPage.vue?vue&type=template&id=7397c062&scoped=true&\"\nimport script from \"./StatsPage.vue?vue&type=script&lang=js&\"\nexport * from \"./StatsPage.vue?vue&type=script&lang=js&\"\nimport style0 from \"./StatsPage.vue?vue&type=style&index=0&id=7397c062&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7397c062\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('page-layout',{scopedSlots:_vm._u([{key:\"topBarLeft\",fn:function(){return [_c('div',{staticClass:\"actions-with-selected-desktop\"},[_c('b-form-group',{staticClass:\"m-0\"},[_c('b-form-checkbox',{attrs:{\"size\":\"lg\"},model:{value:(_vm.allPrintsSelected),callback:function ($$v) {_vm.allPrintsSelected=$$v},expression:\"allPrintsSelected\"}})],1),_c('div',[_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.selectedPrintIds.size),expression:\"!selectedPrintIds.size\"}],staticClass:\"label\",on:{\"click\":function($event){_vm.allPrintsSelected = !_vm.allPrintsSelected}}},[_vm._v(_vm._s(_vm.$t(\"Select all\")))]),_c('b-dropdown',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selectedPrintIds.size),expression:\"selectedPrintIds.size\"}],attrs:{\"toggle-class\":\"btn btn-sm actions-with-selected-btn\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.selectedPrintIds.size)+\" item\"+_vm._s(_vm.selectedPrintIds.size === 1 ? '' : 's')+\" \"+_vm._s(_vm.$t(\"selected...\"))+\" \")]},proxy:true}])},[_c('b-dropdown-item',[_c('div',{staticClass:\"text-danger\",on:{\"click\":_vm.onDeleteBtnClick}},[_c('i',{staticClass:\"far fa-trash-alt\"}),_vm._v(_vm._s(_vm.$t(\"Delete\"))+\" \")])])],1)],1)],1)]},proxy:true},{key:\"topBarRight\",fn:function(){return [_c('div',{staticClass:\"action-panel\"},[_c('b-dropdown',{attrs:{\"right\":\"\",\"no-caret\":\"\",\"toggle-class\":\"action-btn icon-btn\",\"title\":_vm.$t('Sort By')},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('i',{staticClass:\"fas fa-sort-amount-down\"})]},proxy:true}])},[_c('sorting-dropdown',{attrs:{\"local-storage-prefix\":_vm.sortingLocalStoragePrefix,\"sorting-options\":_vm.sortingOptions,\"sorting-value\":_vm.sortingValue},on:{\"onSortingUpdated\":_vm.onSortingUpdated}})],1),_c('b-dropdown',{attrs:{\"right\":\"\",\"no-caret\":\"\",\"toggle-class\":\"action-btn icon-btn\",\"menu-class\":\"scrollable\",\"title\":_vm.$t('Filter')},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('i',{staticClass:\"fas fa-filter\"})]},proxy:true}])},[_c('filtering-dropdown',{attrs:{\"local-storage-prefix\":_vm.filterLocalStoragePrefix,\"filter-options\":_vm.filterOptions,\"filter-values\":_vm.filterValues},on:{\"onFilterUpdated\":_vm.onFilterUpdated}})],1),_c('b-dropdown',{attrs:{\"right\":\"\",\"no-caret\":\"\",\"toggle-class\":\"icon-btn d-md-none\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('i',{staticClass:\"fas fa-ellipsis-v\"})]},proxy:true}])},[_c('cascaded-dropdown',{ref:\"cascadedDropdown\",attrs:{\"menu-options\":[\n {\n key: 'sorting',\n icon: 'fas fa-sort-amount-down',\n title: _vm.$t(`Sort`),\n expandable: true,\n },\n {\n key: 'filtering',\n icon: 'fas fa-filter',\n title: _vm.$t(`Filter`),\n expandable: true,\n },\n ]},scopedSlots:_vm._u([{key:\"sorting\",fn:function(){return [_c('sorting-dropdown',{attrs:{\"local-storage-prefix\":_vm.sortingLocalStoragePrefix,\"sorting-options\":_vm.sortingOptions,\"sorting-value\":_vm.sortingValue},on:{\"onSortingUpdated\":_vm.onSortingUpdated}})]},proxy:true},{key:\"filtering\",fn:function(){return [_c('filtering-dropdown',{attrs:{\"local-storage-prefix\":_vm.filterLocalStoragePrefix,\"filter-options\":_vm.filterOptions,\"filter-values\":_vm.filterValues},on:{\"onFilterUpdated\":_vm.onFilterUpdated}})]},proxy:true}])})],1)],1)]},proxy:true},{key:\"content\",fn:function(){return [_c('active-filter-notice',{attrs:{\"filter-values\":_vm.filterValues},on:{\"onShowAllClicked\":_vm.resetFilters}}),_c('b-container',[_c('b-row',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.prints.length),expression:\"prints.length\"}],staticClass:\"print-cards\"},_vm._l((_vm.visiblePrints),function(print){return _c('print-card',{key:print.id,attrs:{\"print\":print,\"selected\":_vm.selectedPrintIds.has(print.id)},on:{\"selectedChanged\":_vm.onSelectedChanged,\"printDeleted\":_vm.onPrintDeleted,\"printDataChanged\":_vm.printDataChanged,\"fullscreen\":_vm.openFullScreen}})}),1),_c('mugen-scroll',{staticClass:\"text-center p-4\",attrs:{\"handler\":_vm.fetchMoreData,\"should-handle\":!_vm.loading}},[(_vm.noMoreData)?_c('div',{staticClass:\"text-center p-2\"},[_vm._v(_vm._s(_vm.$t(\"No more time-lapses.\")))]):_vm._e(),(!_vm.noMoreData)?_c('b-spinner',{attrs:{\"label\":_vm.$t('Loading...')}}):_vm._e()],1),_c('b-modal',{attrs:{\"id\":\"tl-fullscreen-modal\",\"size\":\"full\",\"hide-header\":true,\"hide-footer\":true},on:{\"hidden\":_vm.fullScreenClosed}},[_c('FullScreenPrintCard',{attrs:{\"print\":_vm.fullScreenPrint,\"video-url\":_vm.fullScreenPrintVideoUrl,\"autoplay\":true}})],1)],1)]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"col-sm-12 col-md-6 col-lg-4 print-card\"},[_c('div',{staticClass:\"card vld-parent\"},[(_vm.isPublic)?_c('div',{staticClass:\"card-header\"},[_vm._v(\"- By \"+_vm._s(_vm.print.creator_name))]):_c('div',{staticClass:\"card-header\"},[_c('div',{style:({ visibility: _vm.hasSelectedChangedListener ? 'visible' : 'hidden' })},[_c('b-form-checkbox',{staticClass:\"text-decoration-none\",attrs:{\"size\":\"lg\"},model:{value:(_vm.isSelected),callback:function ($$v) {_vm.isSelected=$$v},expression:\"isSelected\"}})],1),_c('b-form-radio-group',{attrs:{\"buttons\":\"\",\"button-variant\":\"outline-primary\",\"name\":\"radio-btn-outline\"},model:{value:(_vm.selectedCardView),callback:function ($$v) {_vm.selectedCardView=$$v},expression:\"selectedCardView\"}},[_c('b-form-radio',{staticClass:\"no-corner no-shadow\",attrs:{\"value\":\"detective\",\"disabled\":!_vm.canShowDetectiveView}},[_c('i',{staticClass:\"fas fa-balance-scale\"})]),_c('b-form-radio',{staticClass:\"no-corner no-shadow\",attrs:{\"value\":\"info\"}},[_c('i',{staticClass:\"fas fa-info\"})])],1),_c('b-dropdown',{attrs:{\"right\":\"\",\"no-caret\":\"\",\"toggle-class\":\"icon-btn\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('i',{staticClass:\"fas fa-ellipsis-v\"})]},proxy:true}])},[(_vm.print.video_url && !_vm.print.video_archived_at)?_c('b-dropdown-item',{attrs:{\"href\":_vm.print.video_url,\"target\":\"_blank\"}},[_c('i',{staticClass:\"fas fa-download\"}),_vm._v(_vm._s(_vm.$t(\"Download Original Time-lapse\"))+\" \")]):_vm._e(),(_vm.print.tagged_video_url && !_vm.print.video_archived_at)?_c('b-dropdown-item',{attrs:{\"href\":_vm.print.tagged_video_url,\"target\":\"_blank\"}},[_c('i',{staticClass:\"fas fa-download\"}),_vm._v(_vm._s(_vm.$t(\"Download Detective Time-lapse\"))+\" \")]):_vm._e(),_c('b-dropdown-divider'),_c('b-dropdown-item',{on:{\"click\":_vm.deleteVideo}},[_c('span',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.$t(\" \"))),_c('i',{staticClass:\"fas fa-trash-alt\"}),_vm._v(_vm._s(_vm.$t(\"Delete\"))+\" \")])])],1)],1),_c('div',[(_vm.print.video_archived_at)?_c('div',{staticClass:\"position-relative\"},[_c('div',{staticClass:\"poster-placeholder-wrapper\"},[_c('svg',{staticClass:\"poster-placeholder\"},[_c('use',{attrs:{\"href\":_vm.posterSrc}})])]),_c('div',{staticClass:\"archived-info\"},[_c('div',{staticClass:\"text\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Video file is deleted.\"))+\" \"),_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.showVideoArchivedDescription($event)}}},[_vm._v(_vm._s(_vm.$t(\"Why?\")))])])])]):_c('div',[(_vm.videoUrl)?_c('video-box',{attrs:{\"video-url\":_vm.videoUrl,\"poster-url\":_vm.print.poster_url,\"fluid\":true,\"fullscreen-btn\":_vm.hasFullscreenListener},on:{\"timeupdate\":_vm.onTimeUpdate,\"fullscreen\":function($event){return _vm.$emit('fullscreen', _vm.print.id, _vm.videoUrl)}}}):_c('div',[_c('detective-working')],1)],1),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.cardView == 'info' && !_vm.isPublic),expression:\"cardView == 'info' && !isPublic\"}]},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"text-muted col-4\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"File\"))+\" \"),_c('span',{staticClass:\"float-right\"},[_vm._v(\":\")])]),_c('div',{staticClass:\"col-8\"},[_vm._v(_vm._s(_vm.print.filename))])]),_c('div',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",modifiers:{\"hover\":true}}],staticClass:\"row\",attrs:{\"title\":_vm.humanizedPrintedOrUploadedTime((_vm.longFormat = true))}},[_c('div',{staticClass:\"text-muted col-4\"},[_vm._v(\" \"+_vm._s(_vm.wasTimelapseUploaded ? 'Uploaded' : 'Printed')+\" \"),_c('span',{staticClass:\"float-right\"},[_vm._v(\":\")])]),_c('div',{staticClass:\"col-8\"},[_vm._v(_vm._s(_vm.humanizedPrintedOrUploadedTime())+\" \"+_vm._s(_vm.endStatus))])]),(!_vm.wasTimelapseUploaded && _vm.duration)?_c('div',{staticClass:\"row\",attrs:{\"id\":'dur-' + _vm.print.id}},[_c('b-tooltip',{attrs:{\"target\":'dur-' + _vm.print.id,\"triggers\":\"hover\"}},[_vm._v(\" \"+_vm._s(_vm._f(\"floor\")(_vm._f(\"duration\")(_vm.duration,'asHours')))+\":\"+_vm._s(_vm._f(\"duration\")(_vm.duration,'minutes'))+\":\"+_vm._s(_vm._f(\"duration\")(_vm.duration,'seconds'))+\" \")]),_c('div',{staticClass:\"text-muted col-4\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Duration\"))+\" \"),_c('span',{staticClass:\"float-right\"},[_vm._v(\":\")])]),_c('div',{staticClass:\"col-8\"},[_vm._v(_vm._s(_vm.duration.humanize()))])],1):_vm._e()])])]),(_vm.isPublic)?_c('div',{staticClass:\"bg-warning alert-banner text-center\",style:({ opacity: _vm.normalizedP > 0.4 ? 1 : 0 })},[_c('i',{staticClass:\"fas fa-exclamation-triangle\"}),_vm._v(\" \"+_vm._s(_vm.$t(\"Possible failure detected!\"))+\" \")]):_vm._e(),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.cardView == 'detective' || _vm.isPublic),expression:\"cardView == 'detective' || isPublic\"}]},[(_vm.print.prediction_json_url)?_c('failure-detection-gauge',{attrs:{\"normalized-p\":_vm.normalizedP}}):_vm._e(),(!_vm.isPublic)?_c('div',{staticClass:\"feedback-section\"},[_c('div',{staticClass:\"text-center py-2 px-3\"},[_c('div',{staticClass:\"lead\",class:[_vm.print.alerted_at ? 'text-danger' : 'text-success']},[_vm._v(\" \"+_vm._s(_vm.print.alerted_at ? 'Failure detected' : 'No failure detected')+\" \")]),_c('div',{staticClass:\"py-2\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Did we get it right?\"))+\" \"),_c('b-button',{staticClass:\"mx-2 btn-sm\",attrs:{\"variant\":_vm.thumbedUp ? 'primary' : 'outline'},on:{\"click\":_vm.onThumbUpClick}},[(_vm.inflightAlertOverwrite)?_c('b-spinner',{attrs:{\"type\":\"grow\",\"small\":\"\"}}):_c('i',{staticClass:\"fas fa-thumbs-up\"})],1),_c('b-button',{staticClass:\"mx-2 btn-sm\",attrs:{\"variant\":_vm.thumbedDown ? 'primary' : 'outline'},on:{\"click\":_vm.onThumbDownClick}},[(_vm.inflightAlertOverwrite)?_c('b-spinner',{attrs:{\"type\":\"grow\",\"small\":\"\"}}):_c('i',{staticClass:\"fas fa-thumbs-down\"})],1)],1),_c('transition',{attrs:{\"name\":\"bounce\"}},[(_vm.print.printShotFeedbackEligible)?_c('div',{staticClass:\"pt-2\"},[_c('a',{staticClass:\"btn btn-sm btn-outline-primary px-4\",attrs:{\"role\":\"button\",\"href\":_vm.focusedFeedbackLink}},[_vm._v(\" F \"),_c('i',{staticClass:\"fas fa-search focused-feedback-icon\"}),_vm._v(_vm._s(_vm.$t(\"CUSED FEEDBACK\"))+\" \"),(_vm.print.need_print_shot_feedback)?_c('svg',{staticClass:\"seg-control-icon ml-1 double-hours-icon\"},[_c('use',{attrs:{\"href\":\"#svg-hour-double\"}})]):_vm._e()])]):_vm._e()])],1),_c('div',{staticClass:\"text-muted py-2 px-3 help-text\"},[(_vm.print.printShotFeedbackEligible)?_c('small',[(!_vm.print.need_print_shot_feedback)?_c('span',[_vm._v(_vm._s(_vm.$t(\"Thank you for completing the Focused Feedback. You have earned 2 non-expirable AI Detection Hours. You can click the button again to change your feedback.\")))]):_c('span',[_vm._v(\" \"+_vm._s(_vm.$t(\"With Focused Feedback, you can tell us exactly where we got it wrong. This is the most effective way to help us improve.\"))+\" \"),_c('a',{attrs:{\"href\":_vm.getDocUrl('/user-guides/how-does-credits-work#you-earn-detective-hours-for-giving-focused-feedback')}},[_vm._v(_vm._s(_vm.$t(\"You will earn 2 AI Detection Hours once you finish the Focused Feedback\")))]),_vm._v(\". \")])]):_c('small',[_vm._v(\" \"+_vm._s(_vm.$t(\"Every time you give us feedback,\"))+\" \"),_c('a',{attrs:{\"href\":_vm.getDocUrl('/user-guides/how-does-credits-work/')}},[_vm._v(_vm._s(_vm.$t(\"you help us get better at detecting failures\")))]),_vm._v(\". \")])])]):_vm._e()],1)])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"obico-gauge-container\"},[_c('span',{style:({ color: _vm.titleColor }),attrs:{\"id\":\"title\"}},[_vm._v(_vm._s(_vm.titleText))]),_c('div',{staticClass:\"obico-gauge\"},[_c('radial-gauge',{attrs:{\"value\":_vm.value,\"options\":_vm.computedOptions}})],1),_c('hr')])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FailureDetectionGauge.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FailureDetectionGauge.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FailureDetectionGauge.vue?vue&type=template&id=465c0e04&scoped=true&\"\nimport script from \"./FailureDetectionGauge.vue?vue&type=script&lang=js&\"\nexport * from \"./FailureDetectionGauge.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FailureDetectionGauge.vue?vue&type=style&index=0&id=465c0e04&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"465c0e04\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintCard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintCard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PrintCard.vue?vue&type=template&id=5aae4a5a&scoped=true&\"\nimport script from \"./PrintCard.vue?vue&type=script&lang=js&\"\nexport * from \"./PrintCard.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PrintCard.vue?vue&type=style&index=0&id=5aae4a5a&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5aae4a5a\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('video-box',{attrs:{\"video-url\":_vm.videoUrl,\"poster-url\":_vm.print.poster_url,\"fluid\":false,\"autoplay\":_vm.autoplay,\"fullscreen-btn\":false},on:{\"timeupdate\":_vm.onTimeUpdate}}),(_vm.isPublic)?_c('div',{staticClass:\"bg-warning alert-banner text-center\",style:({ opacity: _vm.normalizedP > 0.4 ? 1 : 0 })},[_c('i',{staticClass:\"fas fa-exclamation-triangle\"}),_vm._v(\" \"+_vm._s(_vm.$t(\"Possible failure detected!\"))+\" \")]):_vm._e(),_c('failure-detection-gauge',{attrs:{\"normalized-p\":_vm.normalizedP}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FullScreenPrintCard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FullScreenPrintCard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FullScreenPrintCard.vue?vue&type=template&id=64113028&scoped=true&\"\nimport script from \"./FullScreenPrintCard.vue?vue&type=script&lang=js&\"\nexport * from \"./FullScreenPrintCard.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FullScreenPrintCard.vue?vue&type=style&index=0&id=64113028&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"64113028\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintsPage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintsPage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PrintsPage.vue?vue&type=template&id=7a698682&scoped=true&\"\nimport script from \"./PrintsPage.vue?vue&type=script&lang=js&\"\nexport * from \"./PrintsPage.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PrintsPage.vue?vue&type=style&index=0&id=7a698682&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7a698682\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('page-layout',{scopedSlots:_vm._u([{key:\"content\",fn:function(){return [(_vm.isLoading)?_c('loading-placeholder'):_c('b-container',{attrs:{\"fluid\":\"\"}},[_c('b-row',[_c('b-col',{attrs:{\"lg\":\"5\"}},[_c('div',{staticClass:\"print-info\"},[_c('div',{staticClass:\"card-container print-details\"},[(_vm.currentIndex || _vm.currentIndex === 0)?_c('div',{staticClass:\"navigation-container\"},[_c('b-button',{attrs:{\"variant\":\"outline-secondary\",\"disabled\":!_vm.prevPrint},on:{\"click\":function($event){$event.preventDefault();return _vm.switchToPrint(_vm.prevPrint)}}},[_c('i',{staticClass:\"fas fa-chevron-left\"}),_vm._v(\"  \"+_vm._s(_vm.PrevPrintButtonTitle)+\" \")]),_c('div',{staticClass:\"summary truncated-wrapper\"},[_c('div',{staticClass:\"date truncated\"},[_vm._v(\" \"+_vm._s(_vm.print.started_at.format(_vm.absoluteDateFormat))+\" \")])]),_c('b-button',{attrs:{\"variant\":\"outline-secondary\",\"disabled\":!_vm.nextPrint},on:{\"click\":function($event){$event.preventDefault();return _vm.switchToPrint(_vm.nextPrint)}}},[_vm._v(\" \"+_vm._s(_vm.NextPrintButtonTitle)+\"  \"),_c('i',{staticClass:\"fas fa-chevron-right\"})])],1):_vm._e(),_c('div',[_c('div',{staticClass:\"info-line\"},[_c('div',{staticClass:\"label\"},[_c('div',{staticClass:\"icon\"},[_c('i',{staticClass:\"fas fa-info\"})]),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Status\")))])]),_c('div',{staticClass:\"value\"},[_c('div',{staticClass:\"print-status-color\",class:_vm.print.status.key},[_vm._v(\" \"+_vm._s(_vm.print.status.title)+\" \")])])]),_c('div',{staticClass:\"info-line\"},[_c('div',{staticClass:\"label\"},[_c('div',{staticClass:\"icon\"},[_c('i',{staticClass:\"far fa-clock\"})]),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Start time\")))])]),_c('div',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.print.started_at.format(_vm.absoluteDateFormat)))])]),_c('div',{staticClass:\"info-line\"},[_c('div',{staticClass:\"label\"},[_c('div',{staticClass:\"icon\"},[_c('i',{staticClass:\"far fa-clock\"})]),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"End time\")))])]),_c('div',{staticClass:\"value\"},[_vm._v(\" \"+_vm._s(_vm.print.ended_at ? _vm.print.ended_at.format(_vm.absoluteDateFormat) : '-')+\" \")])]),_c('div',{staticClass:\"info-line\"},[_c('div',{staticClass:\"label\"},[_c('div',{staticClass:\"icon\"},[_c('i',{staticClass:\"fas fa-clock\"})]),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Duration\")))])]),_c('div',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.print.duration || '-'))])]),_c('div',{staticClass:\"info-line\"},[_c('div',{staticClass:\"label\"},[_c('div',{staticClass:\"icon\"},[_c('i',{staticClass:\"fas fa-ruler-horizontal\"})]),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Filament used\")))])]),_c('div',{staticClass:\"value\"},[_vm._v(\" \"+_vm._s(_vm.print.filament_used ? _vm.humanizedFilamentUsage(_vm.print.filament_used) : '-')+\" \")])])])]),_c('g-code-details',{attrs:{\"file\":_vm.print.g_code_file || { filename: _vm.print.filename },\"show-open-button\":_vm.canOpenFile}}),_c('div',{staticClass:\"card-container printer\"},[_c('div',{staticClass:\"icon\"},[_c('svg',{staticStyle:{\"margin-bottom\":\"5px\"},attrs:{\"width\":\"1em\",\"height\":\"1em\"}},[_c('use',{attrs:{\"href\":\"#svg-3d-printer\"}})])]),_c('div',{staticClass:\"info truncated-wrapper\"},[_c('div',{staticClass:\"title truncated\",attrs:{\"title\":_vm.print.printer.name}},[_vm._v(\" \"+_vm._s(_vm.print.printer.name)+\" \")]),_c('div',{staticClass:\"subtitle truncated\",class:[\n _vm.printer\n ? _vm.printer.isPrintable() && !_vm.printer.inTransientState()\n ? 'text-success'\n : 'text-warning'\n : 'text-danger',\n ]},[_vm._v(\" \"+_vm._s(_vm.printer ? _vm.printer.printabilityText() : 'Deleted')+\" \")])]),(\n _vm.printer &&\n _vm.print.g_code_file &&\n !_vm.print.g_code_file.deleted &&\n _vm.print.g_code_file.url\n )?_c('div',{staticClass:\"action\"},[_c('button',{staticClass:\"btn btn-primary\",attrs:{\"disabled\":!_vm.printer.isPrintable() || _vm.printer.inTransientState()},on:{\"click\":_vm.onRepeatPrintClicked}},[(_vm.isSending)?_c('b-spinner',{staticClass:\"mr-2\",attrs:{\"small\":\"\"}}):_vm._e(),_c('span',[_vm._v(_vm._s(_vm.$t(\"Reprint\")))])],1)]):_vm._e()])],1)]),_c('b-col',{attrs:{\"lg\":\"7\"}},[_c('div',{staticClass:\"print-info\"},[(_vm.firstLayerInspection.id)?_c('div',{staticClass:\"card-container\"},[_c('b-row',{staticClass:\"m-0\"},[_c('b-col',{staticClass:\"first-layer-info-column\",attrs:{\"cols\":\"12\",\"sm\":\"6\",\"md\":\"6\",\"lg\":\"12\",\"xl\":\"6\"}},[_c('div',[_c('b-row',{staticClass:\"mb-4\"},[_c('span',{staticClass:\"ml-3\"},[_vm._v(_vm._s(_vm.$t(\"First Layer Report\")))])]),_c('div',{staticClass:\"first-layer-info-line\"},[_c('div',{staticClass:\"label\"},[_c('div',{staticClass:\"icon\"},[_c('i',{staticClass:\"fas fa-info\"})]),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"First Layer Grade\")))])]),_c('div',{staticClass:\"value\"},[_c('div',{staticClass:\"print-status-color\",class:_vm.gradeResult.gradeAccent},[_vm._v(\" \"+_vm._s(_vm.gradeResult.gradeTitle || ' ')+\" \")])])]),_c('div',{staticClass:\"first-layer-info-line\"},[_c('div',{staticClass:\"label\"},[_c('div',{staticClass:\"icon\"},[_c('i',{staticClass:\"far fa-clock\"})]),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"First Layer Print Time\")))])]),_c('div',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.firstLayerPrintTime))])])],1),_c('b-row',{staticClass:\"m-0\"},[_c('b-button',{staticClass:\"open-detailed-report-button\",on:{\"click\":_vm.onOpenDetailedReport}},[_vm._v(_vm._s(_vm.$t(\"Open Detailed Report\")))])],1)],1),_c('b-col',{staticClass:\"first-layer-report-block-video-container\",attrs:{\"cols\":\"12\",\"sm\":\"6\",\"md\":\"6\",\"lg\":\"12\",\"xl\":\"6\"}},[_c('div',{staticClass:\"first-layer-video-wrapper\",class:{\n 'is-fullscreen original':\n !!_vm.fullscreenUrl && _vm.fullscreenUrl === _vm.firstLayerInspection.tagged_video_url,\n }},[_c('video-box',{attrs:{\"video-url\":_vm.firstLayerInspection.tagged_video_url,\"poster-url\":_vm.aiTimeLapsePosterImageUrl,\"fluid\":false,\"fullscreen-btn\":_vm.fullscreenUrl === null,\"exit-fullscreen-btn\":_vm.fullscreenUrl !== null,\"download-btn\":true},on:{\"fullscreen\":() => _vm.enterFullscreen(_vm.firstLayerInspection.tagged_video_url),\"exitFullscreen\":_vm.exitFullscreen,\"download\":() => _vm.downloadFile(_vm.firstLayerInspection.tagged_video_url, `${_vm.print.id}_tagged_video_inspection.mp4`)}})],1)])],1)],1):_vm._e(),_c('div',{staticClass:\"time-lapse\"},[(_vm.print.video_archived_at)?_c('div',{staticClass:\"card-container\"},[_c('h2',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Time-Lapse video deleted\")))]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"Time-lapse videos older than 6-months are deleted from the {brandName} app server as they are rarely needed and cost significant amount to store in the cloud.\",{brandName:_vm.$syndicateText.brandName}))+\" \")]),_c('p',[_c('i18next',{attrs:{\"translation\":_vm.$t(`If you are a Pro subscriber and you don't want your time-lapse videos to be deleted, please {localizedDom}`)},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('a',{attrs:{\"href\":\"mailto:support@obico.io?subject=Please%20keep%20my%20timelapse%20videos\"}},[_vm._v(_vm._s(_vm.$t(\"contact us\")))])]},proxy:true}],null,false,4060562873)}),_vm._v(\" . \")],1)]):(_vm.print.video_url || _vm.print.tagged_video_url)?_c('div',[_c('b-card',{attrs:{\"no-body\":\"\"}},[_c('b-tabs',{attrs:{\"pills\":\"\",\"card\":\"\"}},[_c('b-tab',{attrs:{\"title\":\"Detective Time-Lapse\",\"disabled\":!_vm.canShowDetectiveView}},[_c('b-card-text',[(_vm.print.tagged_video_url)?_c('div',{class:{\n 'is-fullscreen':\n !!_vm.fullscreenUrl && _vm.fullscreenUrl === _vm.print.tagged_video_url,\n }},[_c('div',{staticClass:\"video-wrapper\"},[_c('video-box',{attrs:{\"video-url\":_vm.print.tagged_video_url,\"poster-url\":_vm.print.poster_url,\"fluid\":false,\"fullscreen-btn\":_vm.fullscreenUrl === null,\"exit-fullscreen-btn\":_vm.fullscreenUrl !== null,\"download-btn\":true},on:{\"timeupdate\":_vm.onTimeUpdate,\"fullscreen\":() => _vm.enterFullscreen(_vm.print.tagged_video_url),\"exitFullscreen\":_vm.exitFullscreen,\"download\":() => _vm.downloadFile(_vm.print.tagged_video_url, `${_vm.print.id}_tagged.mp4`)}})],1),_c('div',{staticClass:\"detective-footer\"},[(_vm.print.prediction_json_url)?_c('failure-detection-gauge',{attrs:{\"normalized-p\":_vm.normalizedP}}):_vm._e(),_c('div',{staticClass:\"feedback-section\"},[_c('div',{staticClass:\"lead\",class:[_vm.print.alerted_at ? 'text-danger' : 'text-success']},[_vm._v(\" \"+_vm._s(_vm.print.alerted_at ? 'Failure detected' : 'No failure detected')+\" \")]),_c('div',{staticClass:\"py-2\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Did we get it right?\"))+\" \"),_c('b-button',{staticClass:\"mx-2 btn-sm\",attrs:{\"variant\":_vm.thumbedUp ? 'primary' : 'outline'},on:{\"click\":_vm.onThumbUpClick}},[(_vm.inflightAlertOverwrite)?_c('b-spinner',{attrs:{\"type\":\"grow\",\"small\":\"\"}}):_c('i',{staticClass:\"fas fa-thumbs-up\"})],1),_c('b-button',{staticClass:\"mx-2 btn-sm\",attrs:{\"variant\":_vm.thumbedDown ? 'primary' : 'outline'},on:{\"click\":_vm.onThumbDownClick}},[(_vm.inflightAlertOverwrite)?_c('b-spinner',{attrs:{\"type\":\"grow\",\"small\":\"\"}}):_c('i',{staticClass:\"fas fa-thumbs-down\"})],1)],1),_c('transition',{attrs:{\"name\":\"bounce\"}},[(_vm.print.printShotFeedbackEligible)?_c('div',{staticClass:\"pt-2\"},[_c('b-button',{attrs:{\"variant\":\"outline-primary\",\"size\":\"sm\",\"href\":`/prints/shot-feedback/${_vm.print.id}/`}},[(!_vm.print.need_print_shot_feedback)?_c('i',{staticClass:\"fas fa-check mr-2\"}):_vm._e(),_vm._v(\" \"+_vm._s(_vm.$t(\"FOCUSED FEEDBACK\"))+\" \")])],1):_vm._e()]),_c('div',{staticClass:\"about-feedback\"},[(_vm.print.printShotFeedbackEligible)?_c('small',[(!_vm.print.need_print_shot_feedback)?_c('span',[_vm._v(\" \"+_vm._s(_vm.$t(\"Thank you for completing the Focused Feedback. You have earned 2 non-expirable AI Detection Hours. You can click the button again to change your feedback.\"))+\" \")]):_c('span',[_vm._v(\" \"+_vm._s(_vm.$t(\"With Focused Feedback, you can tell us exactly where we got it wrong. This is the most effective way to help us improve.\"))+\" \"),_c('a',{attrs:{\"href\":_vm.getDocUrl('/user-guides/how-does-credits-work#you-earn-detective-hours-for-giving-focused-feedback'),\"target\":\"_blank\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"You will earn 2 AI Detection Hours once you finish the Focused Feedback\"))+\" \")])])]):_c('small',[_vm._v(\" \"+_vm._s(_vm.$t(\"Every time you give us feedback,\"))+\" \"),_c('a',{attrs:{\"href\":_vm.getDocUrl('/user-guides/how-does-credits-work/'),\"target\":\"_blank\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"you help us get better at detecting failures\"))+\" \")])])])],1)],1)]):_c('div',[_c('detective-working',{staticClass:\"detective-placeholder\"})],1)])],1),(_vm.print.video_url)?_c('b-tab',{attrs:{\"active\":!_vm.print.tagged_video_url,\"title\":\"Original Time-Lapse\"}},[_c('b-card-text',[_c('div',{class:{\n 'is-fullscreen original':\n !!_vm.fullscreenUrl && _vm.fullscreenUrl === _vm.print.video_url,\n }},[_c('div',{staticClass:\"video-wrapper\"},[_c('video-box',{attrs:{\"video-url\":_vm.print.video_url,\"poster-url\":_vm.print.poster_url,\"fluid\":false,\"fullscreen-btn\":_vm.fullscreenUrl === null,\"exit-fullscreen-btn\":_vm.fullscreenUrl !== null,\"download-btn\":true},on:{\"timeupdate\":_vm.onTimeUpdate,\"fullscreen\":() => _vm.enterFullscreen(_vm.print.video_url),\"exitFullscreen\":_vm.exitFullscreen,\"download\":() => _vm.downloadFile(_vm.print.video_url, `${_vm.print.id}.mp4`)}})],1)])])],1):_vm._e()],1)],1)],1):_c('div',{staticClass:\"card-container\"},[_c('p',{staticClass:\"text-secondary mt-3\"},[_vm._v(_vm._s(_vm.$t(\"Time-Lapse video unavailable because\"))+\":\")]),_c('ul',[_c('li',{staticClass:\"text-secondary mt-3\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"The {brandName} server is still processing the time-lapse;\",{brandName:_vm.$syndicateText.brandName}))+\" \")]),_c('li',{staticClass:\"text-secondary mt-3\"},[_c('i18next',{attrs:{\"translation\":_vm.$t(`Or, the print time was shorter than the threshold. You can change the threshold in {localizedDom}`)},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('a',{attrs:{\"href\":`/printers/${_vm.print.printer.id}/`}},[_vm._v(_vm._s(_vm.$t(\"the printer settings\"))+\".\")])]},proxy:true}])})],1)])])])])])],1)],1)]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","'use strict'\nimport assign from 'lodash/assign'\nimport Vue from 'vue'\nimport ifvisible from 'ifvisible'\nimport pako from 'pako'\nimport { toArrayBuffer } from '@src/lib/utils'\nimport { clearPrinterTransientState } from '@src/lib/printer-transient-state'\nimport i18n from '@src/i18n/i18n.js'\n\n// PrinterCommManager is a singleton: https://www.sitepoint.com/javascript-design-patterns-singleton/\nclass PrinterCommManager {\n constructor() {\n if (!PrinterCommManager.instance) {\n this.printerCommMap = new Map()\n PrinterCommManager.instance = this\n }\n return PrinterCommManager.instance\n }\n\n setPrinterComm(printerId, printerComm) {\n this.printerCommMap.set(printerId, printerComm)\n }\n\n getPrinterComm(printerId) {\n return this.printerCommMap.get(printerId)\n }\n\n getOrCreatePrinterComm(...props) {\n const printerId = String(props[0]) // assuming same args as for PrinterComm function\n if (!this.getPrinterComm(printerId)) {\n this.setPrinterComm(printerId, PrinterComm(...props))\n }\n return this.getPrinterComm(printerId)\n }\n\n closeConnection(printerId) {\n const printerComm = this.getPrinterComm(printerId)\n if (printerComm) {\n printerComm.closeServerWebSocket()\n if (printerComm.webrtc) printerComm.webrtc.close()\n this.printerCommMap.delete(printerId)\n }\n }\n\n closeAllConnections() {\n this.printerCommMap.forEach((_, token) => this.closeConnection(token))\n }\n}\n\nexport const printerCommManager = new PrinterCommManager()\nObject.freeze(printerCommManager)\n\nexport default function PrinterComm(printerId, wsUri, callbacks) {\n const self = { printerId, wsUri, ...callbacks }\n\n self.ws = null\n self.webrtc = null\n self.passthruQueue = new Map()\n ifvisible.on('blur', function () {\n self.closeWebSocket()\n })\n\n ifvisible.on('focus', function () {\n self.connect()\n })\n\n self.onPassThruReceived = function (msg) {\n const refId = msg.ref\n if (refId && self.passthruQueue.get(refId)) {\n const callback = self.passthruQueue.get(refId)\n self.passthruQueue.delete(refId)\n callback(msg.error, msg.ret)\n } else if ('terminal_feed' in msg) {\n self.onTerminalFeedReceived && self.onTerminalFeedReceived(msg.terminal_feed)\n } else if ('printer_event' in msg) {\n const printerEvent = msg.printer_event\n Vue.swal.Toast.fire({\n icon: printerEvent.event_class.toLowerCase(),\n title: printerEvent.event_title,\n html: printerEvent.event_text,\n }).then((result) => {\n if (result.isDismissed && result.dismiss === 'close') {\n // SWAL returns 'close' as the reason when user clicks on the toast\n window.location.href = '/printer_events/'\n }\n })\n }\n }\n\n self.connect = function (onOpenCallback = null) {\n if (self.ws && self.ws.readyState === WebSocket.OPEN) {\n onOpenCallback && onOpenCallback()\n return\n }\n\n self.ws = new WebSocket(\n window.location.protocol.replace('http', 'ws') + '//' + window.location.host + self.wsUri\n )\n self.ws.onmessage = function (e) {\n let msg = {}\n try {\n msg = JSON.parse(e.data)\n } catch (error) {\n console.log(e.data)\n throw error\n }\n if ('passthru' in msg) {\n self.onPassThruReceived(msg.passthru)\n } else {\n self.onPrinterUpdateReceived && self.onPrinterUpdateReceived(msg)\n }\n }\n\n if (onOpenCallback) {\n self.ws.onopen = onOpenCallback\n }\n\n self.ensureWebsocketClosed()\n setTimeout(function () {\n self.heartbeat()\n }, 30 * 1000)\n }\n\n self.setWebRTC = function (webrtc) {\n self.webrtc = webrtc\n\n function parseJsonData(jsonData) {\n let msg = {}\n try {\n msg = JSON.parse(jsonData)\n } catch (error) {\n // Any garbage sent to the Janus UDP port will be forwarded here.\n return\n }\n\n if (msg && 'ref' in msg && 'ret' in msg) {\n self.onPassThruReceived(msg)\n return\n }\n\n self.onStatusReceived && self.onStatusReceived(msg)\n }\n\n self.webrtc.setCallbacks({\n onData: (maybeBin) => {\n if (typeof maybeBin === 'string' || maybeBin instanceof String) {\n parseJsonData(maybeBin)\n } else {\n toArrayBuffer(maybeBin, (arrayBuffer) => {\n parseJsonData(pako.ungzip(new Uint8Array(arrayBuffer), { to: 'string' }))\n })\n }\n },\n })\n }\n\n self.passThruToPrinter = function (msg, callback) {\n if (self.canSend()) {\n var refId = Math.random().toString()\n assign(msg, { ref: refId })\n if (callback) {\n self.passthruQueue.set(refId, callback)\n setTimeout(function () {\n if (self.passthruQueue.has(refId)) {\n clearPrinterTransientState(self.printerId)\n Vue.swal.Toast.fire({\n icon: 'error',\n title: `${i18n.t('Failed to contact printer. Is it powered on and connected to Internet?')}`,\n })\n }\n }, 60 * 1000)\n }\n if (self.webrtc) {\n self.webrtc.sendData(JSON.stringify(msg))\n }\n self.ws.send(JSON.stringify({ passthru: msg }))\n } else {\n if (callback) {\n clearPrinterTransientState(self.printerId)\n callback('Message not passed through. No suitable WebSocket.')\n }\n }\n }\n\n // Helper methods\n\n self.ensureWebsocketClosed = function () {\n self.ws.onclose = function (ev) {\n if (self.ws === ev.target) {\n self.ws = null\n }\n }\n self.ws.onerror = function () {\n if (self.ws) {\n self.ws.close()\n }\n }\n }\n\n self.closeWebSocket = function () {\n if (self.ws) {\n self.ws.close()\n }\n }\n\n // Heartbeat to maintain the presence of connection\n // Adapted from https://stackoverflow.com/questions/50876766/how-to-implement-ping-pong-request-for-websocket-connection-alive-in-javascript\n\n self.heartbeat = function () {\n if (!self.canSend()) {\n return\n }\n self.ws.send(JSON.stringify({}))\n setTimeout(function () {\n self.heartbeat()\n }, 30 * 1000)\n }\n\n self.canSend = function () {\n return self.ws && self.ws.readyState === 1\n }\n\n return self\n}\n","import { toMomentOrNull } from '@src/lib/normalizers'\nimport filesize from 'filesize'\nimport _ from 'lodash'\n\nexport function listPrinterLocalGCodesOctoPrint(printerComm, path, searchKeyword) {\n const listRecoursively = (fileObj) => {\n const fileList = []\n for (const item of Object.values(fileObj)) {\n if (item.children) {\n fileList.push(...listRecoursively(item.children))\n } else {\n fileList.push(item)\n }\n }\n return fileList\n }\n\n return new Promise((resolve, reject) => {\n let kwargs\n if (searchKeyword) {\n // In OctoPrint we can do global search for better user experience. Hence path is ignored\n kwargs = { filter: String(searchKeyword), recursive: true }\n } else {\n kwargs = { path: path, recursive: false, level: 1 } // Return 1 level children so that we can do item count\n }\n\n printerComm.passThruToPrinter(\n {\n func: 'list_files',\n target: '_file_manager',\n kwargs,\n },\n (err, ret) => {\n if (err) {\n reject(err)\n }\n\n let folders = []\n let files = []\n\n if (!ret?.local || !Object.keys(ret.local).length) {\n resolve()\n return\n }\n\n // ObicoUpload is used to cache Obico Cloud files and should be hidden from the users\n delete ret.local.ObicoUpload\n\n const items = searchKeyword ? listRecoursively(ret.local) : Object.values(ret.local)\n for (const item of items) {\n if (item.type === 'folder') {\n folders.push({\n id: item.path,\n path: item.path,\n name: item.display,\n numItems: Object.keys(item.children).length,\n })\n } else {\n files.push({\n ...item,\n id: item.path,\n filename: item.name,\n num_bytes: item.size,\n filesize: filesize(item.size),\n created_at: toMomentOrNull(new Date(item.date * 1000)),\n getBigThumbnailUrl: () => null,\n getSmallThumbnailUrl: () => null,\n })\n }\n }\n resolve({ folders, files })\n }\n )\n })\n}\n\nexport function listPrinterLocalGCodesMoonraker(printerComm, path, searchKeyword) {\n return new Promise((resolve, reject) => {\n const pathPrefix = path == null ? '' : `${path}/`\n printerComm.passThruToPrinter(\n {\n target: 'moonraker_api',\n func: 'server/files/directory',\n kwargs: {\n path: `gcodes/${path ? path : ''}`,\n extended: true,\n },\n },\n (err, ret) => {\n if (err) {\n reject(err)\n }\n // subdirs should be ignored when user is searching\n const dirsInServerFormat = searchKeyword\n ? []\n : _.map(\n _.filter(\n _.get(ret, 'dirs', []),\n (d) => !d.dirname.startsWith('.') && !d.dirname.startsWith('Obico_Upload')\n ),\n (d) => {\n const path = `${pathPrefix}${d.dirname}`\n return {\n name: d.dirname,\n id: path,\n path,\n children: [], // To signify this is a folder, not a file\n }\n }\n )\n\n const filesInServerFormat = _.map(\n _.filter(\n _.get(ret, 'files', []),\n (f) =>\n !f.filename.startsWith('.') &&\n (!searchKeyword || f.filename.toLowerCase().includes(searchKeyword.toLowerCase()))\n ),\n (f) => {\n return {\n ...f,\n num_bytes: f.size,\n filesize: filesize(f.size),\n created_at: toMomentOrNull(new Date(f.modified * 1000)),\n path: `${pathPrefix}${f.filename}`,\n getBigThumbnailUrl: () => null,\n getSmallThumbnailUrl: () => null,\n }\n }\n )\n resolve({ folders: dirsInServerFormat, files: filesInServerFormat })\n }\n )\n })\n}\n\nexport function printPrinterLocalGCodeOctoPrint(printerComm, gcode) {\n return new Promise((resolve, reject) => {\n const path = gcode.path\n printerComm.passThruToPrinter(\n {\n func: 'select_file',\n target: '_printer',\n args: [`${path}`, null],\n kwargs: { printAfterSelect: 'true' },\n },\n (err, ret) => {\n if (err) {\n reject(err)\n } else {\n resolve()\n }\n }\n )\n })\n}\n\nexport function printPrinterLocalGCodeMoonraker(printerComm, gcode) {\n return new Promise((resolve, reject) => {\n const path = gcode.path\n printerComm.passThruToPrinter(\n {\n target: 'moonraker_api',\n func: 'printer/print/start',\n kwargs: {\n verb: 'post',\n filename: path,\n },\n },\n (err, ret) => {\n if (err) {\n reject(err)\n } else {\n resolve()\n }\n }\n )\n })\n}\n\nexport function repeatPrinterLocalGCode(printerComm, gcode) {\n return new Promise((resolve, reject) => {\n printerComm.passThruToPrinter(\n {\n target: 'file_operations',\n func: 'start_printer_local_print',\n args: [gcode],\n },\n (err, ret) => {\n if (err || ret?.error) {\n reject(err || ret?.error)\n } else {\n resolve()\n }\n }\n )\n })\n}\n\nexport function getMoonrakerWebcams(printerComm) {\n return new Promise((resolve, reject) => {\n printerComm.passThruToPrinter(\n {\n func: `server/webcams/list`,\n target: 'moonraker_api',\n },\n (err, ret) => {\n if (err || ret?.error) {\n reject(err || ret?.error)\n } else {\n resolve(ret?.webcams)\n }\n }\n )\n })\n}\n\nexport function requestSnapshot(printerComm, url) {\n return new Promise((resolve, reject) => {\n printerComm.passThruToPrinter(\n {\n func: `web_snapshot_request`,\n target: 'jpeg_poster',\n args: [url],\n },\n (err, ret) => {\n if (err || ret?.error) {\n reject(err || ret?.error)\n } else {\n resolve(ret.pic)\n }\n }\n )\n })\n}\n","import Vue from 'vue'\nimport axios from 'axios'\nimport get from 'lodash/get'\nimport { clearPrinterTransientState } from '@src/lib/printer-transient-state'\n\nimport { printerCommManager } from '@src/lib/printer-comm'\nimport {\n printPrinterLocalGCodeOctoPrint,\n printPrinterLocalGCodeMoonraker,\n} from '@src/lib/printer-local-comm'\nimport urls from '@config/server-urls'\nimport { repeatPrinterLocalGCode } from '../../lib/printer-local-comm'\nimport i18n from \"@src/i18n/i18n.js\"\n\nexport const confirmPrint = (gcode, printer) => {\n return new Promise((resolve, reject) => {\n Vue.swal\n .fire({\n html: `
${i18n.t(\"Print\")} \"${gcode.filename}\" on ${printer.name}?
`,\n imageUrl: gcode.getBigThumbnailUrl && gcode.getBigThumbnailUrl(),\n showCancelButton: true,\n confirmButtonText: `${i18n.t('Print!')}`,\n cancelButtonText: `${i18n.t('Cancel')}`,\n reverseButtons: true,\n })\n .then((result) => {\n if (result.value) {\n resolve()\n }\n })\n })\n}\n\nexport function printCloudGCode(printerComm, gcode) {\n return new Promise((resolve, reject) => {\n printerComm.passThruToPrinter(\n {\n func: 'download',\n target: 'file_downloader',\n args: [\n {\n id: gcode.id,\n url: gcode.url,\n filename: gcode.filename,\n safe_filename: gcode.safe_filename,\n },\n ],\n },\n (err, ret) => {\n if (err) {\n reject(err)\n } else {\n resolve()\n }\n }\n )\n })\n}\n\nexport const sendToPrint = (args) => {\n const { printer, gcode, isCloud, Swal, onCommandSent, onPrinterStatusChanged } = args\n\n const printerId = printer.id\n const isAgentMoonraker = printer.isAgentMoonraker()\n\n const printerComm = printerCommManager.getOrCreatePrinterComm(\n printerId,\n urls.printerWebSocket(printerId)\n )\n\n printerComm.connect(() => {\n const printGCode = isCloud\n ? printCloudGCode\n : !gcode.path\n ? repeatPrinterLocalGCode\n : isAgentMoonraker\n ? printPrinterLocalGCodeMoonraker\n : printPrinterLocalGCodeOctoPrint\n\n printer.setTransientState(isCloud ? 'G-Code Downloading' : 'Starting')\n printGCode(printerComm, gcode).catch((err) => {\n clearPrinterTransientState(printerId)\n Swal.Toast.fire({\n icon: 'error',\n title: err,\n })\n })\n })\n\n onCommandSent && onCommandSent()\n\n const checkPrinterStatus = async () => {\n let printer\n try {\n printer = await axios.get(urls.printer(printerId))\n printer = printer.data\n } catch (e) {\n console.error(e)\n return\n }\n\n if (\n get(printer, 'status.state.text') === 'Operational' ||\n get(printer, 'status.state.text') === 'G-Code Downloading' ||\n get(printer, 'status.state.text') === 'Downloading G-Code' // Backward compatibility with OctoPrint-Obico 2.3.7 - 2.3.9\n ) {\n setTimeout(checkPrinterStatus, 1000)\n } else {\n onPrinterStatusChanged && onPrinterStatusChanged()\n }\n }\n\n checkPrinterStatus()\n}\n\nconst REDIRECT_TIMER = 3000\nexport const showRedirectModal = (Swal, onClose, printerId) => {\n let timerInterval\n Swal.Prompt.fire({\n html: `\n
\n
\n ${i18n.t(\"You'll be redirected to printers page in\")} ${Math.round(\n REDIRECT_TIMER / 1000\n )} ${i18n.t(\"seconds\")}\n
\n
\n `,\n timer: REDIRECT_TIMER,\n showConfirmButton: true,\n showCancelButton: true,\n confirmButtonText: 'Redirect now',\n onOpen: () => {\n timerInterval = setInterval(() => {\n const htmlContainer = Swal.getHtmlContainer()\n const timerElement = htmlContainer?.querySelector('strong')\n if (!htmlContainer || !timerElement) return\n timerElement.textContent = (Swal.getTimerLeft() / 1000).toFixed(0)\n }, 1000)\n },\n onClose: () => {\n clearInterval(timerInterval)\n timerInterval = null\n },\n }).then((result) => {\n if (result.isConfirmed || result.dismiss === 'timer') {\n window.location.assign(`/printers/${printerId}/control/`)\n } else {\n onClose && onClose()\n }\n })\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"card-container file\"},[_c('div',{staticClass:\"file-header\",class:{\n 'mb-4': _vm.showDetails && _vm.fileDetailsToShow.length > 0,\n compact: _vm.compactView,\n }},[(_vm.showThumbnail)?_c('div',[(_vm.bigThumbnailUrl)?_c('div',{staticClass:\"thumbnail\"},[_c('img',{attrs:{\"src\":_vm.bigThumbnailUrl}})]):_c('div',{staticClass:\"thumbnail-placeholder\"},[_c('span',{staticClass:\"help\"},[_c('help-widget',{attrs:{\"id\":\"thumbnail-setup-guide\",\"highlight\":false,\"show-close-button\":false}})],1),_c('svg',[_c('use',{attrs:{\"href\":\"#svg-no-photo\"}})])])]):_c('div',{staticClass:\"icon\"},[_c('i',{staticClass:\"fas fa-file-code\"})]),_c('div',{staticClass:\"info truncated-wrapper\"},[_c('div',{staticClass:\"title truncated\",attrs:{\"title\":_vm.file.filename}},[_vm._v(\" \"+_vm._s(_vm.file.filename)+\" \")]),(_vm.file.filesize || _vm.file.deleted)?_c('div',{staticClass:\"subtitle text-secondary truncated-wrapper\"},[(_vm.file.deleted)?_c('div',{staticClass:\"truncated\"},[_c('span',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.$t(\"Deleted\")))])]):_c('div',{staticClass:\"truncated\"},[_c('span',[_vm._v(_vm._s(_vm.file.filesize))])])]):_vm._e()]),(_vm.showOpenButton && _vm.file.id)?_c('div',{staticClass:\"action\"},[_c('b-button',{staticClass:\"custom-button\",attrs:{\"variant\":_vm.openButtonVariant,\"href\":`/g_code_files/cloud/${_vm.file.id}/`}},[_vm._v(\" \"+_vm._s(_vm.openButtonText)+\" \")])],1):_vm._e()]),(_vm.showDetails)?[_vm._l((_vm.fileDetailsToShow.slice(0, _vm.numberOfVisibleLines)),function(item){return _c('div',{key:item.name},[_c('div',{staticClass:\"line\"},[_c('div',{staticClass:\"label\"},[_c('div',{staticClass:\"icon\"},[(item.faIcon)?_c('i',{class:item.faIcon}):(item.svgIcon)?_c('svg',{attrs:{\"width\":\"16\",\"height\":\"16\"}},[_c('use',{attrs:{\"href\":`#${item.svgIcon}`}})]):_vm._e()]),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(item.title))])]),_c('div',{staticClass:\"value\"},[_c('span',{domProps:{\"innerHTML\":_vm._s(item.value)}})])])])}),(_vm.shouldShowDataNotice && _vm.fileDetailsToShow.length <= _vm.numberOfVisibleLines)?_c('muted-alert',{staticClass:\"mt-2 mb-1\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Fields above were embedded in the G-Code file by your slicer. Consult your slicer's manual if some fields are not accurate or missing.\"))+\" \")]):_vm._e(),(_vm.fileDetailsToShow.length > _vm.numberOfVisibleLines)?_c('collapsable-details',[_vm._l((_vm.fileDetailsToShow.slice(_vm.numberOfVisibleLines)),function(item){return _c('div',{key:item.name},[_c('div',{staticClass:\"line\"},[_c('div',{staticClass:\"label\"},[_c('div',{staticClass:\"icon\"},[(item.faIcon)?_c('i',{class:item.faIcon}):(item.svgIcon)?_c('svg',{attrs:{\"width\":\"16\",\"height\":\"16\"}},[_c('use',{attrs:{\"href\":`#${item.svgIcon}`}})]):_vm._e()]),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(item.title))])]),_c('div',{staticClass:\"value\"},[_c('span',{domProps:{\"innerHTML\":_vm._s(item.value)}})])])])}),(_vm.shouldShowDataNotice && _vm.fileDetailsToShow.length > _vm.numberOfVisibleLines)?_c('muted-alert',{staticClass:\"mt-2 mb-1\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Fields above were embedded in the G-Code file by your slicer. Consult your slicer's manual if some fields are not accurate or missing.\"))+\" \")]):_vm._e()],2):_vm._e()]:_vm._e()],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('b-collapse',{model:{value:(_vm.expanded),callback:function ($$v) {_vm.expanded=$$v},expression:\"expanded\"}},[_vm._t(\"default\")],2),_c('button',{staticClass:\"collapse-toggle\",class:_vm.expanded ? 'opened' : 'closed',on:{\"click\":function($event){_vm.expanded = !_vm.expanded}}},[(_vm.expanded)?_c('span',[_vm._v(_vm._s(_vm.$t(\"Show less\")))]):_c('span',[_vm._v(_vm._s(_vm.$t(\"Show more\")))]),_c('font-awesome-icon',{class:{ rotated: _vm.expanded },attrs:{\"icon\":['fas', 'chevron-down']}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CollapsableDetails.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CollapsableDetails.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CollapsableDetails.vue?vue&type=template&id=572cc95b&scoped=true&\"\nimport script from \"./CollapsableDetails.vue?vue&type=script&lang=js&\"\nexport * from \"./CollapsableDetails.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CollapsableDetails.vue?vue&type=style&index=0&id=572cc95b&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"572cc95b\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GCodeDetails.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GCodeDetails.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./GCodeDetails.vue?vue&type=template&id=0991d3bd&scoped=true&\"\nimport script from \"./GCodeDetails.vue?vue&type=script&lang=js&\"\nexport * from \"./GCodeDetails.vue?vue&type=script&lang=js&\"\nimport style0 from \"./GCodeDetails.vue?vue&type=style&index=0&id=0991d3bd&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0991d3bd\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"p-2\"},[_c('b-row',[_c('h4',{staticClass:\"mb-4 report-title\"},[_vm._v(_vm._s(_vm.$t(\"First Layer Report\")))])]),_c('b-row',[_c('b-col',{attrs:{\"lg\":\"7\"}},[_c('div',{staticClass:\"file-block mb-3\"},[_c('div',{staticClass:\"file-header compact\",class:{compact: _vm.compactView}},[(_vm.showIconThumbnail)?_c('div',[(_vm.bigThumbnailUrl)?_c('div',{staticClass:\"thumbnail\"},[_c('img',{attrs:{\"src\":_vm.bigThumbnailUrl}})]):_c('div',{staticClass:\"thumbnail-placeholder\"},[_c('span',{staticClass:\"help\"},[_c('help-widget',{attrs:{\"id\":\"thumbnail-setup-guide\",\"highlight\":false,\"show-close-button\":false}})],1),_c('svg',[_c('use',{attrs:{\"href\":\"#svg-no-photo\"}})])])]):_c('div',{staticClass:\"icon\"},[_c('i',{staticClass:\"fas fa-file-code\"})]),_c('div',{staticClass:\"info truncated-wrapper\"},[_c('div',{staticClass:\"truncated\",attrs:{\"title\":_vm.file.filename}},[_vm._v(\" \"+_vm._s(_vm.file.filename)+\" \")]),(_vm.file.filesize || _vm.file.deleted)?_c('div',{staticClass:\"subtitle text-secondary truncated-wrapper\"},[(_vm.file.deleted)?_c('div',{staticClass:\"truncated\"},[_c('span',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.$t(\"Deleted\")))])]):_c('div',{staticClass:\"truncated\"},[_c('span',[_vm._v(_vm._s(_vm.file.filesize)+\", \"+_vm._s(_vm.$t(\"uploaded\"))+\" \"+_vm._s(_vm.fileUploadedTime))])])]):_vm._e()]),_c('div',{staticClass:\"button\"},[(_vm.showOpenButton && _vm.file.id)?_c('b-button',{attrs:{\"href\":`/g_code_files/cloud/${_vm.file.id}/`}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Open File\"))+\" \")]):_vm._e()],1)]),_c('div',{staticClass:\"first-layer-report-info-line\"},[_c('div',{staticClass:\"label\"},[_c('div',{staticClass:\"icon\"},[_c('i',{staticClass:\"fas fa-info\"})]),_c('div',[_vm._v(_vm._s(_vm.$t(\"First Layer Grade\")))])]),_c('div',{staticClass:\"value\"},[_c('div',{class:_vm.gradeResult.gradeAccent},[_vm._v(\" \"+_vm._s(_vm.gradeResult.gradeTitle || ' ')+\" \")])])]),_c('div',{staticClass:\"first-layer-report-info-line\"},[_c('div',{staticClass:\"label\"},[_c('div',{staticClass:\"icon\"},[_c('i',{staticClass:\"far fa-clock\"})]),_c('div',[_vm._v(_vm._s(_vm.$t(\"First Layer Print Time\")))])]),_c('div',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.firstLayerPrintTime))])])]),_c('div',{staticClass:\"notes-block mb-3\"},[_c('b-row',[_c('span',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"First Layer Notes\")))])]),_c('hr'),_c('b-row',[_c('div',{staticClass:\"description\"},[_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"You're first layer score is\"))+\": \"),_c('span',{staticClass:\"font-bold\",class:_vm.gradeResult.gradeAccent},[_vm._v(_vm._s(_vm.gradeResult.grade))]),_c('br'),_vm._v(\" \"+_vm._s(_vm.gradeResult.gradeRemarks)+\" \")])])]),(!_vm.isGradeA)?_c('hr'):_vm._e(),_c('b-row',[(!_vm.isGradeA)?_c('div',{staticClass:\"info\"},[_c('p',[_c('i18next',{attrs:{\"translation\":_vm.$t(`Grade {localizedDom} usually means one of the following`)},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('span',{class:_vm.gradeResult.gradeAccent},[_vm._v(_vm._s(_vm.gradeResult.grade))])]},proxy:true}],null,false,3047815858)})],1),_c('ul',_vm._l((_vm.gradeResult.gradeSuggestion),function(suggestion,index){return _c('li',{key:index,domProps:{\"innerHTML\":_vm._s(suggestion)}})}),0)]):_vm._e()])],1)]),_c('b-col',{staticClass:\"heatmap-column\",attrs:{\"lg\":\"5\"}},[_c('b-card',{attrs:{\"no-body\":\"\"}},[_c('b-tabs',{attrs:{\"pills\":\"\",\"card\":\"\"}},[_c('b-tab',{attrs:{\"title\":_vm.$t('AI Time-Lapse')}},[_c('b-card-text',[_c('div',{staticClass:\"first-layer-modal-video-wrapper\"},[_c('video-box',{attrs:{\"video-url\":_vm.firstLayerInspection.tagged_video_url,\"poster-url\":_vm.aiTimeLapsePosterImageUrl,\"fluid\":false,\"fullscreen-btn\":false,\"download-btn\":true,\"default-full-screen-toggle\":true},on:{\"download\":() => _vm.downloadFile(_vm.firstLayerInspection.tagged_video_url, `${_vm.print.id}_tagged_video_inspection.mp4`)}})],1)])],1),_c('b-tab',{attrs:{\"title\":_vm.$t('Original Time-Lapse')}},[_c('b-card-text',[_c('div',{staticClass:\"first-layer-modal-video-wrapper\"},[_c('video-box',{attrs:{\"video-url\":_vm.firstLayerInspection.video_url,\"poster-url\":_vm.firstLayerInspection.images.length ? _vm.firstLayerInspection.images[0].image_url : null,\"fluid\":false,\"fullscreen-btn\":false,\"download-btn\":true,\"default-full-screen-toggle\":true},on:{\"download\":() => _vm.downloadFile(_vm.firstLayerInspection.video_url, `${_vm.print.id}_video_inspection.mp4`)}})],1)])],1)],1)],1)],1)],1),_c('b-row',{staticClass:\"buttons-row\"},[_c('b-col',{attrs:{\"cols\":\"12\",\"lg\":\"7\"}},[_c('a',{staticClass:\"feedback-button\",attrs:{\"href\":`/first_layer_inspection_images/?print_id=${_vm.print.id}`}},[_vm._v(_vm._s(_vm.$t(\"Give Feedback About This Report\")))])])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FirstLayerReportModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FirstLayerReportModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FirstLayerReportModal.vue?vue&type=template&id=c7824f38&scoped=true&\"\nimport script from \"./FirstLayerReportModal.vue?vue&type=script&lang=js&\"\nexport * from \"./FirstLayerReportModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FirstLayerReportModal.vue?vue&type=style&index=0&id=c7824f38&prod&lang=sass&scoped=true&\"\nimport style1 from \"./FirstLayerReportModal.vue?vue&type=style&index=1&id=c7824f38&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"c7824f38\",\n null\n \n)\n\nexport default component.exports","export function calculateGrade(score) {\n if (score >= 80) {\n return {\n grade: 'A',\n gradeTitle: 'A - Flawless First Layer',\n gradeAccent: 'text-success',\n gradeRemarks: \"You have got a perfect first layer! Way to go!\",\n gradeSuggestion: [],\n }\n } else if (score >= 60) {\n return {\n grade: 'B',\n gradeTitle: 'B - Barely a Blemish, Bravo!',\n gradeAccent: 'text-success',\n gradeRemarks: \"You’re first layer is almost perfect! The risk of the first layer to cause a failure later is VERY LOW.\",\n gradeSuggestion: [\n \"Minor under-extrusion.\",\n \"Minor over-extrusion.\",\n \"Suboptimal z-offset setting that causes the material to not bond perfectly.\",\n \"Uneven print bed coupled with suboptimal auto-bed-leveling.\",\n \"Other problems that cause the first layer to have defects.\"\n ],\n }\n } else if (score >= 40) {\n return {\n grade: 'C',\n gradeTitle: 'C - Okay First Layer',\n gradeAccent: 'text-warning',\n gradeRemarks: \"The risk for the first layer to cause your print to fail later is LOW. However, if you want a perfect bottom surface finish and structural strength, you can stop the print, perfect your first layer, and restart the print.\",\n gradeSuggestion: [\n \"Under-extrusion.\",\n \"Over-extrusion.\",\n \"Suboptimal z-offset setting that causes the material to not bond perfectly.\",\n \"Contaminated print bed that causes the material in some areas to slightly bubble or wrap.\",\n \"Uneven print bed coupled with suboptimal auto-bed-leveling.\",\n \"Other problems that cause the first layer to have defects.\"\n ],\n }\n } else if (score >= 20) {\n return {\n grade: 'D',\n gradeTitle: 'D - Definitely Needs Tuning',\n gradeAccent: 'text-danger',\n gradeRemarks: \"It looks like your printer has run into some trouble on the first layer. The risk for the first layer to cause your print to failure later is MEDIUM. Although these first layer issues probably won't cause the print to fail later, you should consider fixing them and restarting the print, especially if you want to have a good bottom surface finish and structural strength.\",\n gradeSuggestion: [\n \"Significant under-extrusion.\",\n \"Uneven print bed coupled with suboptimal auto-bed-leveling.\",\n \"Contaminated print bed that causes the material in some areas to bubble or wrap.\",\n \"Other problems that cause the first layer to show serious defects.\"\n ],\n }\n } else {\n return {\n grade: 'F',\n gradeTitle: 'F - First Layer Fail',\n gradeAccent: 'text-danger',\n gradeRemarks: \"It looks like your printer has run into some trouble on the first layer. The risk for the first layer to cause your print to failure later is HIGH. I recommend you stop the print now and fix the problem.\",\n gradeSuggestion: [\n \"Serious bed-leveling problems that cause material to detach from the print bed.\",\n \"Wrong/suboptimal z-offset setting.\",\n \"Serious bubbling or wrapping.\",\n \"Other problems that will probably cause the print to fail later in the process.\"\n ]\n }\n }\n}","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintPage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintPage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PrintPage.vue?vue&type=template&id=122a7196&scoped=true&\"\nimport script from \"./PrintPage.vue?vue&type=script&lang=js&\"\nexport * from \"./PrintPage.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PrintPage.vue?vue&type=style&index=0&id=122a7196&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"122a7196\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('page-layout',{scopedSlots:_vm._u([{key:\"content\",fn:function(){return [_c('b-container',[_c('b-row',{staticClass:\"justify-content-center\"},[_c('b-col',{staticClass:\"text-center\",attrs:{\"lg\":\"8\"}},[_c('h1',{staticClass:\"pb-2\"},[_vm._v(_vm._s(_vm.$t(\"Upload Time-lapse\")))]),_c('p',{staticClass:\"pb-2\"},[_vm._v(_vm._s(_vm.$t(\"Upload time-lapse videos to test {brandName}'s AI failure detection.\",{brandName:_vm.$syndicateText.brandName})))]),_c('vue-dropzone',{staticClass:\"upload-box\",attrs:{\"id\":\"dropzone\",\"options\":_vm.dropzoneOptions,\"use-custom-slot\":true},on:{\"vdropzone-success\":_vm.printUploadSuccess}},[_c('div',{staticClass:\"dz-message needsclick\"},[_c('i',{staticClass:\"fas fa-upload fa-2x\"}),_vm._v(\" \"),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t(\"Drop files here or click to upload.\"))),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t(\"*.mp4 or *.mpg files only. Up to 100MB each.\"))+\" \")])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.uploaded),expression:\"uploaded\"}],staticClass:\"pt-5\"},[_c('div',{attrs:{\"id\":\"tl-uploaded\"}},[_c('img',{staticClass:\"detective-working\",attrs:{\"src\":require('@static/img/detective-working.gif')}}),_c('div',{staticClass:\"py-2 text-center\"},[_c('div',{staticClass:\"py-2\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"The {brandName} Server is running failure detection on the time-lapse video(s) you uploaded.\",{brandName:_vm.$syndicateText.brandName}))+\" \")]),_c('div',[_vm._v(_vm._s(_vm.$t(\"We will send you email when it is done.\")))]),_c('a',{attrs:{\"href\":\"/prints/\"}},[_vm._v(_vm._s(_vm.$t(\"Check status now >>>\")))])])])])],1)],1)],1)]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UploadPrintPage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UploadPrintPage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UploadPrintPage.vue?vue&type=template&id=13c6093e&scoped=true&\"\nimport script from \"./UploadPrintPage.vue?vue&type=script&lang=js&\"\nexport * from \"./UploadPrintPage.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UploadPrintPage.vue?vue&type=style&index=0&id=13c6093e&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"13c6093e\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('page-layout',{scopedSlots:_vm._u([{key:\"topBarRight\",fn:function(){return [_c('div',{staticClass:\"action-panel\"},[(_vm.isEnt)?_c('a',{staticClass:\"btn shadow-none action-btn icon-btn hours-btn\",style:({ marginRight: `${String(_vm.dhBadgeNum).length * 0.25}rem` }),attrs:{\"href\":\"/user_preferences/dh/\",\"title\":_vm.dhBadgeNum + ' ' + _vm.$t('AI Detection Hours')}},[_c('svg',{staticClass:\"custom-svg-icon\"},[_c('use',{attrs:{\"href\":\"#svg-hour-glass\"}})]),_c('span',{staticClass:\"badge badge-light\",attrs:{\"id\":\"user-credits\"}},[_vm._v(_vm._s(_vm.dhBadgeNum))]),_c('span',{staticClass:\"sr-only\"},[_vm._v(_vm._s(_vm.$t(\"AI Detection Hours\")))])]):_vm._e(),_c('b-dropdown',{attrs:{\"right\":\"\",\"no-caret\":\"\",\"toggle-class\":\"action-btn icon-btn\",\"title\":\"Sort By\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('i',{staticClass:\"fas fa-sort-amount-down\"})]},proxy:true}])},[_c('sorting-dropdown',{attrs:{\"local-storage-prefix\":_vm.sortingLocalStoragePrefix,\"sorting-options\":_vm.sortingOptions,\"sorting-value\":_vm.sortingValue},on:{\"onSortingUpdated\":_vm.onSortingUpdated}})],1),_c('b-dropdown',{attrs:{\"right\":\"\",\"no-caret\":\"\",\"toggle-class\":\"action-btn icon-btn\",\"menu-class\":\"scrollable\",\"title\":\"Filter\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('i',{staticClass:\"fas fa-filter\"})]},proxy:true}])},[_c('filtering-dropdown',{attrs:{\"local-storage-prefix\":_vm.filterLocalStoragePrefix,\"filter-options\":_vm.filterOptions,\"filter-values\":_vm.filterValues},on:{\"onFilterUpdated\":_vm.onFilterUpdated}})],1),_c('b-dropdown',{attrs:{\"right\":\"\",\"no-caret\":\"\",\"toggle-class\":\"icon-btn d-md-none\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('i',{staticClass:\"fas fa-ellipsis-v\"})]},proxy:true}])},[_c('cascaded-dropdown',{ref:\"cascadedDropdown\",attrs:{\"menu-options\":_vm.mobileMenuOptions},scopedSlots:_vm._u([{key:\"sorting\",fn:function(){return [_c('sorting-dropdown',{attrs:{\"local-storage-prefix\":_vm.sortingLocalStoragePrefix,\"sorting-options\":_vm.sortingOptions,\"sorting-value\":_vm.sortingValue},on:{\"onSortingUpdated\":_vm.onSortingUpdated}})]},proxy:true},{key:\"filtering\",fn:function(){return [_c('filtering-dropdown',{attrs:{\"local-storage-prefix\":_vm.filterLocalStoragePrefix,\"filter-options\":_vm.filterOptions,\"filter-values\":_vm.filterValues},on:{\"onFilterUpdated\":_vm.onFilterUpdated}})]},proxy:true}])})],1)],1)]},proxy:true},{key:\"content\",fn:function(){return [_c('active-filter-notice',{attrs:{\"filter-values\":_vm.filterValues},on:{\"onShowAllClicked\":_vm.resetFilters}}),_c('b-container',{staticClass:\"printer-list-page\"},[(_vm.loading)?_c('b-row',[_c('b-col',{staticClass:\"text-center\"},[_c('b-spinner',{staticClass:\"my-5\",attrs:{\"label\":\"Loading...\"}})],1)],1):_vm._e(),(_vm.visiblePrinters.length)?_c('b-row',{staticClass:\"printer-cards justify-content-center\"},_vm._l((_vm.visiblePrinters),function(printer){return _c('printer-card',{key:printer.id,staticClass:\"printer-card-wrapper\",attrs:{\"printer\":printer,\"is-pro-account\":_vm.user.is_pro},on:{\"PrinterUpdated\":_vm.onPrinterUpdated}})}),1):_vm._e(),(!_vm.loading)?_c('div',{staticClass:\"row justify-content-center\"},[_c('div',{staticClass:\"col-sm-12 col-lg-6\",attrs:{\"id\":\"new-printer\"}},[_c('div',{staticClass:\"new-printer-container\"},[_c('a',{attrs:{\"href\":\"/printers/wizard/\"}},[_c('svg',{staticClass:\"icon\"},[_c('use',{attrs:{\"href\":\"#svg-add-printer\"}})]),_c('div',[_vm._v(_vm._s(_vm.$t(\"Link New Printer\")))])])])])]):_vm._e(),(!_vm.loading)?_c('b-row',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.shouldShowArchiveWarning),expression:\"shouldShowArchiveWarning\"}],staticClass:\"bottom-messages\"},[_c('b-col',[_c('div',{staticClass:\"alert alert-warning alert-dismissible fade show mb-3\",attrs:{\"role\":\"alert\"}},[_c('div',{staticClass:\"warning\"},[_c('div',[_vm._v(\" \"+_vm._s(_vm.archivedPrinterNum)+\" \"+_vm._s(_vm._f(\"pluralize\")('printer',_vm.archivedPrinterNum))+\" \"+_vm._s(_vm.$t(\"have been archived.\"))+\" \")]),_c('div',[_c('a',{staticClass:\"warning-action\",attrs:{\"href\":\"/ent/printers/archived/\"}},[_vm._v(_vm._s(_vm.$t(\"Show Archived Printers\")))]),_c('a',{staticClass:\"warning-action\",on:{\"click\":_vm.handleNeverShowAgain}},[_vm._v(_vm._s(_vm.$t(\"Never Show Again\")))])])]),_c('button',{staticClass:\"close\",attrs:{\"type\":\"button\",\"data-dismiss\":\"alert\",\"aria-label\":\"Close\"}},[_c('span',{attrs:{\"aria-hidden\":\"true\"}},[_vm._v(\"×\")])])])])],1):_vm._e()],1)]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"col-sm-12 col-lg-6 printer-card\",attrs:{\"id\":_vm.printer.id}},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-header\"},[_c('div',{staticClass:\"title-box\"},[_c('div',{staticClass:\"printer-name\"},[_vm._v(\" \"+_vm._s(_vm.printer.name)+\" \")]),(_vm.hasCurrentPrintFilename)?_c('div',{staticClass:\"secondary-title print-filename\"},[_vm._v(\" \"+_vm._s(_vm.printer.current_print.filename)+\" \")]):_c('div',{staticClass:\"secondary-title\",class:_vm.statusClass},[_vm._v(_vm._s(_vm.statusText))])]),_c('div',{staticClass:\"d-flex ml-2\"},[_c('b-button',{staticClass:\"px-4 mr-2\",attrs:{\"variant\":\"outline-secondary\",\"href\":`/printers/${_vm.printer.id}/control/`}},[_vm._v(_vm._s(_vm.$t(\"Open\"))+\" \"+_vm._s(_vm.$t(\"Details\"))+\" \")]),_c('b-dropdown',{attrs:{\"right\":\"\",\"no-caret\":\"\",\"toggle-class\":\"icon-btn\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('i',{staticClass:\"fas fa-ellipsis-v\"})]},proxy:true}])},[_c('b-dropdown-item',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();return _vm.onSharePrinter()}}},[_c('i',{staticClass:\"fas fa-share-alt fa-lg\"}),_vm._v(_vm._s(_vm.$t(\"Share\"))+\" \")]),_c('b-dropdown-item',{attrs:{\"href\":_vm.octoPrintTunnelUrl()}},[_c('svg',{staticClass:\"menu-icon\"},[_c('use',{attrs:{\"href\":\"#svg-tunnel\"}})]),_vm._v(\" \"+_vm._s(_vm.printer.agentDisplayName())+\" \"+_vm._s(_vm.$t(\"Tunnel\"))+\" \")]),_c('div',{staticClass:\"dropdown-divider\"}),_c('b-dropdown-item',{attrs:{\"href\":_vm.settingsUrl()}},[_c('i',{staticClass:\"fas fa-wrench fa-lg\"}),_vm._v(_vm._s(_vm.$t(\"Configure\"))+\" \")])],1)],1)]),_c('streaming-box',{attrs:{\"printer\":_vm.printer,\"webrtc\":_vm.webrtc,\"autoplay\":_vm.isProAccount,\"webcam\":_vm.webcam}}),(_vm.printer.alertUnacknowledged())?_c('div',{staticClass:\"failure-alert card-body bg-warning px-2 py-1\"},[_c('i',{staticClass:\"fas fa-exclamation-triangle align-middle\"}),_c('span',{staticClass:\"align-middle\"},[_vm._v(_vm._s(_vm.$t(\"Failure Detected!\")))]),_c('button',{staticClass:\"btn btn-outline-primary btn-sm float-right\",attrs:{\"id\":\"not-a-failure\",\"type\":\"button\"},on:{\"click\":function($event){return _vm.onNotAFailureClicked($event, false)}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Not a failure?\"))+\" \")])]):_vm._e(),_c('div',{staticClass:\"card-body gauge-container\",class:{ overlay: !_vm.isWatching }},[(!_vm.isWatching)?_c('div',{staticClass:\"overlay-top text-center\",staticStyle:{\"left\":\"0\",\"width\":\"100%\",\"top\":\"50%\",\"margin-top\":\"-55px\"}},[_c('H1',[_c('i',{staticClass:\"far fa-eye-slash\"})]),_c('h5',{staticClass:\"text-warning\"},[_vm._v(_vm._s(_vm.$t(\"Failure Detection is Off\")))]),(_vm.printer.not_watching_reason)?_c('small',[_vm._v(_vm._s(_vm.printer.not_watching_reason)+\". \"),_c('a',{attrs:{\"href\":_vm.getDocUrl('/user-guides/detective-not-watching/'),\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t(\"Learn more. \"))),_vm._m(0)])]):_vm._e(),_c('div')],1):_vm._e(),_c('failure-detection-gauge',{attrs:{\"normalized-p\":_vm.printer.normalized_p,\"is-watching\":_vm.isWatching}}),_c('hr')],1),_c('print-job-control-widget',{attrs:{\"inside-card\":true,\"printer\":_vm.printer,\"printer-comm\":_vm.printerComm},on:{\"notAFailureClicked\":_vm.onNotAFailureClicked,\"sendPrinterAction\":_vm.sendPrinterAction}}),_c('div',{staticClass:\"info-section settings\"},[_c('button',{staticClass:\"info-section-toggle btn btn-sm no-corner mx-2\",class:{ pressed: _vm.section_toggles.settings },attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.onSettingsToggleClicked()}}},[_c('i',{staticClass:\"fas fa-cog fa-lg\"})]),_c('button',{staticClass:\"info-section-toggle btn btn-sm no-corner mx-2\",class:{ pressed: _vm.section_toggles.time },attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.onTimeToggleClicked()}}},[_c('i',{staticClass:\"fas fa-clock fa-lg\"})]),_c('button',{staticClass:\"info-section-toggle btn btn-sm no-corner mx-2\",class:{ pressed: _vm.section_toggles.statusTemp },attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.onStatusTempToggleClicked()}}},[_c('i',{staticClass:\"fas fa-thermometer-half fa-lg\"})])]),_c('div',{staticClass:\"info-section\",staticStyle:{\"height\":\"0.3rem\"}}),_c('div',[_c('div',{staticClass:\"info-section container\"},[(_vm.section_toggles.settings)?_c('div',{attrs:{\"id\":\"panel-settings\"}},[_c('div',{staticClass:\"pt-2 pb-3\"},[_c('div',{staticClass:\"row justify-content-center px-3\"},[_c('div',{staticClass:\"col-12 setting-item\"},[_c('label',{staticClass:\"toggle-label\",attrs:{\"for\":'watching_enabled-toggle-' + _vm.printer.id}},[_c('i18next',{attrs:{\"translation\":_vm.$t('Enable AI failure detection {localizedDom}')},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [(!_vm.watchForFailures)?_c('div',{staticClass:\"text-muted font-weight-light font-size-sm\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"AI failure detection is disabled. You are on your own\"))+\".\")]):_vm._e()]},proxy:true}],null,false,2325561323)})],1),_c('div',{staticClass:\"custom-control custom-switch\"},[_c('input',{staticClass:\"custom-control-input update-printer\",attrs:{\"id\":'watching_enabled-toggle-' + _vm.printer.id,\"type\":\"checkbox\",\"name\":\"watching_enabled\"},domProps:{\"checked\":_vm.watchForFailures},on:{\"click\":_vm.onWatchForFailuresToggled}}),_c('label',{staticClass:\"custom-control-label\",staticStyle:{\"font-size\":\"1rem\"},attrs:{\"for\":'watching_enabled-toggle-' + _vm.printer.id}})])])]),_c('div',{staticClass:\"row justify-content-center px-3\"},[_c('div',{staticClass:\"col-12 setting-item\"},[_c('label',{staticClass:\"toggle-label\",attrs:{\"for\":'pause-toggle-' + _vm.printer.id}},[_c('i18next',{attrs:{\"translation\":_vm.$t('Pause on detected failures {localizedDom}')},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [(!_vm.pauseOnFailure)?_c('div',{staticClass:\"text-muted font-weight-light font-size-sm\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"You will still be alerted via notifications\")))]):_vm._e()]},proxy:true}],null,false,4050608119)})],1),_c('div',{staticClass:\"custom-control custom-switch\"},[_c('input',{staticClass:\"custom-control-input update-printer\",attrs:{\"id\":'pause-toggle-' + _vm.printer.id,\"type\":\"checkbox\",\"name\":\"pause_on_failure\"},domProps:{\"checked\":_vm.pauseOnFailure},on:{\"click\":_vm.onPauseOnFailureToggled}}),_c('label',{staticClass:\"custom-control-label\",staticStyle:{\"font-size\":\"1rem\"},attrs:{\"for\":'pause-toggle-' + _vm.printer.id}})])])])])]):_vm._e(),(_vm.section_toggles.time)?_c('div',{attrs:{\"id\":\"print-time\"}},[_c('div',{staticClass:\"py-2\"},[_c('div',{staticClass:\"row text-muted\"},[_c('small',{staticClass:\"col-5 offset-2\"},[_vm._v(_vm._s(_vm.$t(\" Remaining \")))]),_c('small',{staticClass:\"col-5\"},[_vm._v(_vm._s(_vm.$t(\" Total \")))])]),_c('div',{staticClass:\"row\"},[_vm._m(1),_c('duration-block',_vm._b({staticClass:\"col-5 numbers\",attrs:{\"id\":\"print-time-remaining\"}},'duration-block',_vm.timeRemaining,false)),_c('duration-block',_vm._b({staticClass:\"col-5 numbers\",attrs:{\"id\":\"print-time-total\"}},'duration-block',_vm.timeTotal,false)),_c('div',{staticClass:\"col-12\"},[_c('div',{staticClass:\"progress\",staticStyle:{\"height\":\"2px\"}},[_c('div',{staticClass:\"progress-bar\",class:{\n 'progress-bar-striped': _vm.progressPct < 100,\n 'progress-bar-animated': _vm.progressPct < 100,\n },style:(`width: ${_vm.progressPct}%;`),attrs:{\"id\":\"print-progress\",\"role\":\"progressbar\",\"aria-valuenow\":\"0\",\"aria-valuemin\":\"0\",\"aria-valuemax\":\"100\"}})])])],1)])]):_vm._e(),(_vm.section_toggles.statusTemp && _vm.tempProps.show)?_c('status-temp',_vm._b({attrs:{\"id\":\"status_temp_block\"},on:{\"TempEditClicked\":_vm.onTempEditClicked}},'status-temp',_vm.tempProps,false)):_vm._e()],1)])],1)])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('small',[_c('i',{staticClass:\"fas fa-external-link-alt\"})])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"col-2 text-muted\"},[_c('i',{staticClass:\"fas fa-clock\"})])\n}]\n\nexport { render, staticRenderFns }","/*\n The MIT License (MIT)\n\n Copyright (c) 2016 Meetecho\n\n Permission is hereby granted, free of charge, to any person obtaining\n a copy of this software and associated documentation files (the \"Software\"),\n to deal in the Software without restriction, including without limitation\n the rights to use, copy, modify, merge, publish, distribute, sublicense,\n and/or sell copies of the Software, and to permit persons to whom the\n Software is furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included\n in all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL\n THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR\n OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,\n ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n OTHER DEALINGS IN THE SOFTWARE.\n */\n\n/* eslint-disable no-global-assign, no-redeclare, no-unused-vars, no-empty, no-inner-declarations */\n\nimport adapter from 'webrtc-adapter'\n\n// List of sessions\nJanus.sessions = {}\n\nJanus.isExtensionEnabled = function() {\n if(navigator.mediaDevices && navigator.mediaDevices.getDisplayMedia) {\n // No need for the extension, getDisplayMedia is supported\n return true\n }\n if(window.navigator.userAgent.match('Chrome')) {\n var chromever = parseInt(window.navigator.userAgent.match(/Chrome\\/(.*) /)[1], 10)\n var maxver = 33\n if(window.navigator.userAgent.match('Linux'))\n maxver = 35 // \"known\" crash in chrome 34 and 35 on linux\n if(chromever >= 26 && chromever <= maxver) {\n // Older versions of Chrome don't support this extension-based approach, so lie\n return true\n }\n return Janus.extension.isInstalled()\n } else {\n // Firefox and others, no need for the extension (but this doesn't mean it will work)\n return true\n }\n}\n\nvar defaultExtension = {\n // Screensharing Chrome Extension ID\n extensionId: 'hapfgfdkleiggjjpfpenajgdnfckjpaj',\n isInstalled: function() { return document.querySelector('#janus-extension-installed') !== null },\n getScreen: function (callback) {\n var pending = window.setTimeout(function () {\n var error = new Error('NavigatorUserMediaError')\n error.name = 'The required Chrome extension is not installed: click here to install it. (NOTE: this will need you to refresh the page)'\n return callback(error)\n }, 1000)\n this.cache[pending] = callback\n window.postMessage({ type: 'janusGetScreen', id: pending }, '*')\n },\n init: function () {\n var cache = {}\n this.cache = cache\n // Wait for events from the Chrome Extension\n window.addEventListener('message', function (event) {\n if(event.origin != window.location.origin)\n return\n if(event.data.type == 'janusGotScreen' && cache[event.data.id]) {\n var callback = cache[event.data.id]\n delete cache[event.data.id]\n\n if (event.data.sourceId === '') {\n // user canceled\n var error = new Error('NavigatorUserMediaError')\n error.name = 'You cancelled the request for permission, giving up...'\n callback(error)\n } else {\n callback(null, event.data.sourceId)\n }\n } else if (event.data.type == 'janusGetScreenPending') {\n console.log('clearing ', event.data.id)\n window.clearTimeout(event.data.id)\n }\n })\n }\n}\n\nJanus.useDefaultDependencies = function (deps) {\n var f = (deps && deps.fetch) || fetch\n var p = (deps && deps.Promise) || Promise\n var socketCls = (deps && deps.WebSocket) || WebSocket\n\n return {\n newWebSocket: function(server, proto) { return new socketCls(server, proto) },\n extension: (deps && deps.extension) || defaultExtension,\n isArray: function(arr) { return Array.isArray(arr) },\n webRTCAdapter: (deps && deps.adapter) || adapter,\n httpAPICall: function(url, options) {\n var fetchOptions = {\n method: options.verb,\n headers: {\n 'Accept': 'application/json, text/plain, */*'\n },\n cache: 'no-cache'\n }\n if(options.verb === 'POST') {\n fetchOptions.headers['Content-Type'] = 'application/json'\n }\n if(options.withCredentials !== undefined) {\n fetchOptions.credentials = options.withCredentials === true ? 'include' : (options.withCredentials ? options.withCredentials : 'omit')\n }\n if(options.body) {\n fetchOptions.body = JSON.stringify(options.body)\n }\n\n var fetching = f(url, fetchOptions).catch(function(error) {\n return p.reject({message: 'Probably a network error, is the server down?', error: error})\n })\n\n /*\n * fetch() does not natively support timeouts.\n * Work around this by starting a timeout manually, and racing it agains the fetch() to see which thing resolves first.\n */\n\n if(options.timeout) {\n var timeout = new p(function(resolve, reject) {\n var timerId = setTimeout(function() {\n clearTimeout(timerId)\n return reject({message: 'Request timed out', timeout: options.timeout})\n }, options.timeout)\n })\n fetching = p.race([fetching, timeout])\n }\n\n fetching.then(function(response) {\n if(response.ok) {\n if(typeof(options.success) === typeof(Janus.noop)) {\n return response.json().then(function(parsed) {\n try {\n options.success(parsed)\n } catch(error) {\n Janus.error('Unhandled httpAPICall success callback error', error)\n }\n }, function(error) {\n return p.reject({message: 'Failed to parse response body', error: error, response: response})\n })\n }\n }\n else {\n return p.reject({message: 'API call failed', response: response})\n }\n }).catch(function(error) {\n if(typeof(options.error) === typeof(Janus.noop)) {\n options.error(error.message || '<< internal error >>', error)\n }\n })\n\n return fetching\n }\n }\n}\n\nJanus.useOldDependencies = function (deps) {\n var jq = (deps && deps.jQuery) || jQuery // eslint-disable-line no-undef\n var socketCls = (deps && deps.WebSocket) || WebSocket\n return {\n newWebSocket: function(server, proto) { return new socketCls(server, proto) },\n isArray: function(arr) { return jq.isArray(arr) },\n extension: (deps && deps.extension) || defaultExtension,\n webRTCAdapter: (deps && deps.adapter) || adapter,\n httpAPICall: function(url, options) {\n var payload = options.body !== undefined ? {\n contentType: 'application/json',\n data: JSON.stringify(options.body)\n } : {}\n var credentials = options.withCredentials !== undefined ? {xhrFields: {withCredentials: options.withCredentials}} : {}\n\n return jq.ajax(jq.extend(payload, credentials, {\n url: url,\n type: options.verb,\n cache: false,\n dataType: 'json',\n async: options.async,\n timeout: options.timeout,\n success: function(result) {\n if(typeof(options.success) === typeof(Janus.noop)) {\n options.success(result)\n }\n },\n error: function(xhr, status, err) {\n if(typeof(options.error) === typeof(Janus.noop)) {\n options.error(status, err)\n }\n }\n }))\n }\n }\n}\n\nJanus.noop = function() {}\n\nJanus.dataChanDefaultLabel = 'JanusDataChannel'\n\n// Note: in the future we may want to change this, e.g., as was\n// attempted in https://github.com/meetecho/janus-gateway/issues/1670\nJanus.endOfCandidates = null\n\n// Stop all tracks from a given stream\nJanus.stopAllTracks = function(stream) {\n try {\n // Try a MediaStreamTrack.stop() for each track\n var tracks = stream.getTracks()\n for(var mst of tracks) {\n Janus.log(mst)\n if(mst) {\n mst.stop()\n }\n }\n } catch(e) {\n // Do nothing if this fails\n }\n}\n\n// Initialization\nJanus.init = function(options) {\n options = options || {}\n options.callback = (typeof options.callback == 'function') ? options.callback : Janus.noop\n if(Janus.initDone) {\n // Already initialized\n options.callback()\n } else {\n if(typeof console == 'undefined' || typeof console.log == 'undefined') {\n console = { log: function() {} }\n }\n // Console logging (all debugging disabled by default)\n Janus.trace = Janus.noop\n Janus.debug = Janus.noop\n Janus.vdebug = Janus.noop\n Janus.log = Janus.noop\n Janus.warn = Janus.noop\n Janus.error = Janus.noop\n if(options.debug === true || options.debug === 'all') {\n // Enable all debugging levels\n Janus.trace = console.trace.bind(console)\n Janus.debug = console.debug.bind(console)\n Janus.vdebug = console.debug.bind(console)\n Janus.log = console.log.bind(console)\n Janus.warn = console.warn.bind(console)\n Janus.error = console.error.bind(console)\n } else if(Array.isArray(options.debug)) {\n for(var d of options.debug) {\n switch(d) {\n case 'trace':\n Janus.trace = console.trace.bind(console)\n break\n case 'debug':\n Janus.debug = console.debug.bind(console)\n break\n case 'vdebug':\n Janus.vdebug = console.debug.bind(console)\n break\n case 'log':\n Janus.log = console.log.bind(console)\n break\n case 'warn':\n Janus.warn = console.warn.bind(console)\n break\n case 'error':\n Janus.error = console.error.bind(console)\n break\n default:\n console.error('Unknown debugging option \\'' + d + '\\' (supported: \\'trace\\', \\'debug\\', \\'vdebug\\', \\'log\\', warn\\', \\'error\\')')\n break\n }\n }\n }\n Janus.log('Initializing library')\n\n var usedDependencies = options.dependencies || Janus.useDefaultDependencies()\n Janus.isArray = usedDependencies.isArray\n Janus.webRTCAdapter = usedDependencies.webRTCAdapter\n Janus.httpAPICall = usedDependencies.httpAPICall\n Janus.newWebSocket = usedDependencies.newWebSocket\n Janus.extension = usedDependencies.extension\n Janus.extension.init()\n\n // Helper method to enumerate devices\n Janus.listDevices = function(callback, config) {\n callback = (typeof callback == 'function') ? callback : Janus.noop\n if (config == null) config = { audio: true, video: true }\n if(Janus.isGetUserMediaAvailable()) {\n navigator.mediaDevices.getUserMedia(config)\n .then(function(stream) {\n navigator.mediaDevices.enumerateDevices().then(function(devices) {\n Janus.debug(devices)\n callback(devices)\n // Get rid of the now useless stream\n Janus.stopAllTracks(stream)\n })\n })\n .catch(function(err) {\n Janus.error(err)\n callback([])\n })\n } else {\n Janus.warn('navigator.mediaDevices unavailable')\n callback([])\n }\n }\n // Helper methods to attach/reattach a stream to a video element (previously part of adapter.js)\n Janus.attachMediaStream = function(element, stream) {\n try {\n element.srcObject = stream\n } catch (e) {\n try {\n element.src = URL.createObjectURL(stream)\n } catch (e) {\n Janus.error('Error attaching stream to element')\n }\n }\n }\n Janus.reattachMediaStream = function(to, from) {\n try {\n to.srcObject = from.srcObject\n } catch (e) {\n try {\n to.src = from.src\n } catch (e) {\n Janus.error('Error reattaching stream to element')\n }\n }\n }\n // Detect tab close: make sure we don't loose existing onbeforeunload handlers\n // (note: for iOS we need to subscribe to a different event, 'pagehide', see\n // https://gist.github.com/thehunmonkgroup/6bee8941a49b86be31a787fe8f4b8cfe)\n var iOS = ['iPad', 'iPhone', 'iPod'].indexOf(navigator.platform) >= 0\n var eventName = iOS ? 'pagehide' : 'beforeunload'\n var oldOBF = window['on' + eventName]\n window.addEventListener(eventName, function(event) {\n Janus.log('Closing window')\n for(var s in Janus.sessions) {\n if(Janus.sessions[s] && Janus.sessions[s].destroyOnUnload) {\n Janus.log('Destroying session ' + s)\n Janus.sessions[s].destroy({unload: true, notifyDestroyed: false})\n }\n }\n if(oldOBF && typeof oldOBF == 'function') {\n oldOBF()\n }\n })\n // If this is a Safari Technology Preview, check if VP8 is supported\n Janus.safariVp8 = false\n if(Janus.webRTCAdapter.browserDetails.browser === 'safari' &&\n Janus.webRTCAdapter.browserDetails.version >= 605) {\n // Let's see if RTCRtpSender.getCapabilities() is there\n if(RTCRtpSender && RTCRtpSender.getCapabilities && RTCRtpSender.getCapabilities('video') &&\n RTCRtpSender.getCapabilities('video').codecs && RTCRtpSender.getCapabilities('video').codecs.length) {\n for(var codec of RTCRtpSender.getCapabilities('video').codecs) {\n if(codec && codec.mimeType && codec.mimeType.toLowerCase() === 'video/vp8') {\n Janus.safariVp8 = true\n break\n }\n }\n if(Janus.safariVp8) {\n Janus.log('This version of Safari supports VP8')\n } else {\n Janus.warn('This version of Safari does NOT support VP8: if you\\'re using a Technology Preview, ' +\n 'try enabling the \\'WebRTC VP8 codec\\' setting in the \\'Experimental Features\\' Develop menu')\n }\n } else {\n // We do it in a very ugly way, as there's no alternative...\n // We create a PeerConnection to see if VP8 is in an offer\n var testpc = new RTCPeerConnection({})\n testpc.createOffer({offerToReceiveVideo: true}).then(function(offer) {\n Janus.safariVp8 = offer.sdp.indexOf('VP8') !== -1\n if(Janus.safariVp8) {\n Janus.log('This version of Safari supports VP8')\n } else {\n Janus.warn('This version of Safari does NOT support VP8: if you\\'re using a Technology Preview, ' +\n 'try enabling the \\'WebRTC VP8 codec\\' setting in the \\'Experimental Features\\' Develop menu')\n }\n testpc.close()\n testpc = null\n })\n }\n }\n // Check if this browser supports Unified Plan and transceivers\n // Based on https://codepen.io/anon/pen/ZqLwWV?editors=0010\n Janus.unifiedPlan = false\n if(Janus.webRTCAdapter.browserDetails.browser === 'firefox' &&\n Janus.webRTCAdapter.browserDetails.version >= 59) {\n // Firefox definitely does, starting from version 59\n Janus.unifiedPlan = true\n } else if(Janus.webRTCAdapter.browserDetails.browser === 'chrome' &&\n Janus.webRTCAdapter.browserDetails.version >= 72) {\n // Chrome does, but it's only usable from version 72 on\n Janus.unifiedPlan = true\n } else if(!window.RTCRtpTransceiver || !('currentDirection' in RTCRtpTransceiver.prototype)) { // eslint-disable-line no-undef\n // Safari supports addTransceiver() but not Unified Plan when\n // currentDirection is not defined (see codepen above).\n Janus.unifiedPlan = false\n } else {\n // Check if addTransceiver() throws an exception\n var tempPc = new RTCPeerConnection()\n try {\n tempPc.addTransceiver('audio')\n Janus.unifiedPlan = true\n } catch (e) {}\n tempPc.close()\n }\n Janus.initDone = true\n options.callback()\n }\n}\n\n// Helper method to check whether WebRTC is supported by this browser\nJanus.isWebrtcSupported = function() {\n return !!window.RTCPeerConnection\n}\n// Helper method to check whether devices can be accessed by this browser (e.g., not possible via plain HTTP)\nJanus.isGetUserMediaAvailable = function() {\n return navigator.mediaDevices && navigator.mediaDevices.getUserMedia\n}\n\n// Helper method to create random identifiers (e.g., transaction)\nJanus.randomString = function(len) {\n var charSet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'\n var randomString = ''\n for (var i = 0; i < len; i++) {\n var randomPoz = Math.floor(Math.random() * charSet.length)\n randomString += charSet.substring(randomPoz,randomPoz+1)\n }\n return randomString\n}\n\nfunction Janus(gatewayCallbacks) {\n gatewayCallbacks = gatewayCallbacks || {}\n gatewayCallbacks.success = (typeof gatewayCallbacks.success == 'function') ? gatewayCallbacks.success : Janus.noop\n gatewayCallbacks.error = (typeof gatewayCallbacks.error == 'function') ? gatewayCallbacks.error : Janus.noop\n gatewayCallbacks.wsopened = (typeof gatewayCallbacks.wsopened == 'function') ? gatewayCallbacks.wsopened : Janus.noop\n gatewayCallbacks.destroyed = (typeof gatewayCallbacks.destroyed == 'function') ? gatewayCallbacks.destroyed : Janus.noop\n if(!Janus.initDone) {\n gatewayCallbacks.error('Library not initialized')\n return {}\n }\n if(!Janus.isWebrtcSupported()) {\n gatewayCallbacks.error('WebRTC not supported by this browser')\n return {}\n }\n Janus.log('Library initialized: ' + Janus.initDone)\n if(!gatewayCallbacks.server) {\n gatewayCallbacks.error('Invalid server url')\n return {}\n }\n var websockets = false\n var ws = null\n var wsHandlers = {}\n var wsKeepaliveTimeoutId = null\n var servers = null\n var serversIndex = 0\n var server = gatewayCallbacks.server\n if(Janus.isArray(server)) {\n Janus.log('Multiple servers provided (' + server.length + '), will use the first that works')\n server = null\n servers = gatewayCallbacks.server\n Janus.debug(servers)\n } else {\n if(server.indexOf('ws') === 0) {\n websockets = true\n Janus.log('Using WebSockets to contact Janus: ' + server)\n } else {\n websockets = false\n Janus.log('Using REST API to contact Janus: ' + server)\n }\n }\n var iceServers = gatewayCallbacks.iceServers || [{urls: 'stun:stun.l.google.com:19302'}]\n var iceTransportPolicy = gatewayCallbacks.iceTransportPolicy\n var bundlePolicy = gatewayCallbacks.bundlePolicy\n // Whether IPv6 candidates should be gathered\n var ipv6Support = (gatewayCallbacks.ipv6 === true)\n // Whether we should enable the withCredentials flag for XHR requests\n var withCredentials = false\n if(gatewayCallbacks.withCredentials !== undefined && gatewayCallbacks.withCredentials !== null)\n withCredentials = gatewayCallbacks.withCredentials === true\n // Optional max events\n var maxev = 10\n if(gatewayCallbacks.max_poll_events !== undefined && gatewayCallbacks.max_poll_events !== null)\n maxev = gatewayCallbacks.max_poll_events\n if(maxev < 1)\n maxev = 1\n // Token to use (only if the token based authentication mechanism is enabled)\n var token = null\n if(gatewayCallbacks.token !== undefined && gatewayCallbacks.token !== null)\n token = gatewayCallbacks.token\n // API secret to use (only if the shared API secret is enabled)\n var apisecret = null\n if(gatewayCallbacks.apisecret !== undefined && gatewayCallbacks.apisecret !== null)\n apisecret = gatewayCallbacks.apisecret\n // Whether we should destroy this session when onbeforeunload is called\n this.destroyOnUnload = true\n if(gatewayCallbacks.destroyOnUnload !== undefined && gatewayCallbacks.destroyOnUnload !== null)\n this.destroyOnUnload = (gatewayCallbacks.destroyOnUnload === true)\n // Some timeout-related values\n var keepAlivePeriod = 25000\n if(gatewayCallbacks.keepAlivePeriod !== undefined && gatewayCallbacks.keepAlivePeriod !== null)\n keepAlivePeriod = gatewayCallbacks.keepAlivePeriod\n if(isNaN(keepAlivePeriod))\n keepAlivePeriod = 25000\n var longPollTimeout = 60000\n if(gatewayCallbacks.longPollTimeout !== undefined && gatewayCallbacks.longPollTimeout !== null)\n longPollTimeout = gatewayCallbacks.longPollTimeout\n if(isNaN(longPollTimeout))\n longPollTimeout = 60000\n\n // overrides for default maxBitrate values for simulcasting\n function getMaxBitrates(simulcastMaxBitrates) {\n var maxBitrates = {\n high: 900000,\n medium: 300000,\n low: 100000,\n }\n\n if (simulcastMaxBitrates !== undefined && simulcastMaxBitrates !== null) {\n if (simulcastMaxBitrates.high)\n maxBitrates.high = simulcastMaxBitrates.high\n if (simulcastMaxBitrates.medium)\n maxBitrates.medium = simulcastMaxBitrates.medium\n if (simulcastMaxBitrates.low)\n maxBitrates.low = simulcastMaxBitrates.low\n }\n\n return maxBitrates\n }\n\n var connected = false\n var sessionId = null\n var pluginHandles = {}\n var that = this\n var retries = 0\n var transactions = {}\n createSession(gatewayCallbacks)\n\n // Public methods\n this.getServer = function() { return server }\n this.isConnected = function() { return connected }\n this.reconnect = function(callbacks) {\n callbacks = callbacks || {}\n callbacks.success = (typeof callbacks.success == 'function') ? callbacks.success : Janus.noop\n callbacks.error = (typeof callbacks.error == 'function') ? callbacks.error : Janus.noop\n callbacks['reconnect'] = true\n createSession(callbacks)\n }\n this.getSessionId = function() { return sessionId }\n this.getInfo = function(callbacks) { getInfo(callbacks) }\n this.destroy = function(callbacks) { destroySession(callbacks) }\n this.attach = function(callbacks) { createHandle(callbacks) }\n\n function eventHandler() {\n if(sessionId == null)\n return\n Janus.debug('Long poll...')\n if(!connected) {\n Janus.warn('Is the server down? (connected=false)')\n return\n }\n var longpoll = server + '/' + sessionId + '?rid=' + new Date().getTime()\n if(maxev)\n longpoll = longpoll + '&maxev=' + maxev\n if(token)\n longpoll = longpoll + '&token=' + encodeURIComponent(token)\n if(apisecret)\n longpoll = longpoll + '&apisecret=' + encodeURIComponent(apisecret)\n Janus.httpAPICall(longpoll, {\n verb: 'GET',\n withCredentials: withCredentials,\n success: handleEvent,\n timeout: longPollTimeout,\n error: function(textStatus, errorThrown) {\n Janus.error(textStatus + ':', errorThrown)\n retries++\n if(retries > 3) {\n // Did we just lose the server? :-(\n connected = false\n gatewayCallbacks.error('Lost connection to the server (is it down?)')\n return\n }\n eventHandler()\n }\n })\n }\n\n // Private event handler: this will trigger plugin callbacks, if set\n function handleEvent(json, skipTimeout) {\n retries = 0\n if(!websockets && sessionId !== undefined && sessionId !== null && skipTimeout !== true)\n eventHandler()\n if(!websockets && Janus.isArray(json)) {\n // We got an array: it means we passed a maxev > 1, iterate on all objects\n for(var i=0; i data channel: ' + dcState)\n if(dcState === 'open') {\n // Any pending messages to send?\n if(config.dataChannel[label].pending && config.dataChannel[label].pending.length > 0) {\n Janus.log('Sending pending messages on <' + label + '>:', config.dataChannel[label].pending.length)\n for(var data of config.dataChannel[label].pending) {\n Janus.log('Sending data on data channel <' + label + '>')\n Janus.debug(data)\n config.dataChannel[label].send(data)\n }\n config.dataChannel[label].pending = []\n }\n // Notify the open data channel\n pluginHandle.ondataopen(label, protocol)\n }\n }\n var onDataChannelError = function(error) {\n Janus.error('Got error on data channel:', error)\n // TODO\n }\n if(!incoming) {\n // FIXME Add options (ordered, maxRetransmits, etc.)\n var dcoptions = { ordered: true }\n if(dcprotocol)\n dcoptions.protocol = dcprotocol\n config.dataChannel[dclabel] = config.pc.createDataChannel(dclabel, dcoptions)\n } else {\n // The channel was created by Janus\n config.dataChannel[dclabel] = incoming\n }\n config.dataChannel[dclabel].onmessage = onDataChannelMessage\n config.dataChannel[dclabel].onopen = onDataChannelStateChange\n config.dataChannel[dclabel].onclose = onDataChannelStateChange\n config.dataChannel[dclabel].onerror = onDataChannelError\n config.dataChannel[dclabel].pending = []\n if(pendingData)\n config.dataChannel[dclabel].pending.push(pendingData)\n }\n\n // Private method to send a data channel message\n function sendData(handleId, callbacks) {\n callbacks = callbacks || {}\n callbacks.success = (typeof callbacks.success == 'function') ? callbacks.success : Janus.noop\n callbacks.error = (typeof callbacks.error == 'function') ? callbacks.error : Janus.noop\n var pluginHandle = pluginHandles[handleId]\n if(!pluginHandle || !pluginHandle.webrtcStuff) {\n Janus.warn('Invalid handle')\n callbacks.error('Invalid handle')\n return\n }\n var config = pluginHandle.webrtcStuff\n var data = callbacks.text || callbacks.data\n if(!data) {\n Janus.warn('Invalid data')\n callbacks.error('Invalid data')\n return\n }\n var label = callbacks.label ? callbacks.label : Janus.dataChanDefaultLabel\n if(!config.dataChannel[label]) {\n // Create new data channel and wait for it to open\n createDataChannel(handleId, label, callbacks.protocol, false, data, callbacks.protocol)\n callbacks.success()\n return\n }\n if(config.dataChannel[label].readyState !== 'open') {\n config.dataChannel[label].pending.push(data)\n callbacks.success()\n return\n }\n Janus.log('Sending data on data channel <' + label + '>')\n Janus.debug(data)\n config.dataChannel[label].send(data)\n callbacks.success()\n }\n\n // Private method to send a DTMF tone\n function sendDtmf(handleId, callbacks) {\n callbacks = callbacks || {}\n callbacks.success = (typeof callbacks.success == 'function') ? callbacks.success : Janus.noop\n callbacks.error = (typeof callbacks.error == 'function') ? callbacks.error : Janus.noop\n var pluginHandle = pluginHandles[handleId]\n if(!pluginHandle || !pluginHandle.webrtcStuff) {\n Janus.warn('Invalid handle')\n callbacks.error('Invalid handle')\n return\n }\n var config = pluginHandle.webrtcStuff\n if(!config.dtmfSender) {\n // Create the DTMF sender the proper way, if possible\n if(config.pc) {\n var senders = config.pc.getSenders()\n var audioSender = senders.find(function(sender) {\n return sender.track && sender.track.kind === 'audio'\n })\n if(!audioSender) {\n Janus.warn('Invalid DTMF configuration (no audio track)')\n callbacks.error('Invalid DTMF configuration (no audio track)')\n return\n }\n config.dtmfSender = audioSender.dtmf\n if(config.dtmfSender) {\n Janus.log('Created DTMF Sender')\n config.dtmfSender.ontonechange = function(tone) { Janus.debug('Sent DTMF tone: ' + tone.tone) }\n }\n }\n if(!config.dtmfSender) {\n Janus.warn('Invalid DTMF configuration')\n callbacks.error('Invalid DTMF configuration')\n return\n }\n }\n var dtmf = callbacks.dtmf\n if(!dtmf) {\n Janus.warn('Invalid DTMF parameters')\n callbacks.error('Invalid DTMF parameters')\n return\n }\n var tones = dtmf.tones\n if(!tones) {\n Janus.warn('Invalid DTMF string')\n callbacks.error('Invalid DTMF string')\n return\n }\n var duration = (typeof dtmf.duration === 'number') ? dtmf.duration : 500 // We choose 500ms as the default duration for a tone\n var gap = (typeof dtmf.gap === 'number') ? dtmf.gap : 50 // We choose 50ms as the default gap between tones\n Janus.debug('Sending DTMF string ' + tones + ' (duration ' + duration + 'ms, gap ' + gap + 'ms)')\n config.dtmfSender.insertDTMF(tones, duration, gap)\n callbacks.success()\n }\n\n // Private method to destroy a plugin handle\n function destroyHandle(handleId, callbacks) {\n callbacks = callbacks || {}\n callbacks.success = (typeof callbacks.success == 'function') ? callbacks.success : Janus.noop\n callbacks.error = (typeof callbacks.error == 'function') ? callbacks.error : Janus.noop\n var noRequest = (callbacks.noRequest === true)\n Janus.log('Destroying handle ' + handleId + ' (only-locally=' + noRequest + ')')\n cleanupWebrtc(handleId)\n var pluginHandle = pluginHandles[handleId]\n if(!pluginHandle || pluginHandle.detached) {\n // Plugin was already detached by Janus, calling detach again will return a handle not found error, so just exit here\n delete pluginHandles[handleId]\n callbacks.success()\n return\n }\n pluginHandle.detached = true\n if(noRequest) {\n // We're only removing the handle locally\n delete pluginHandles[handleId]\n callbacks.success()\n return\n }\n if(!connected) {\n Janus.warn('Is the server down? (connected=false)')\n callbacks.error('Is the server down? (connected=false)')\n return\n }\n var request = { 'janus': 'detach', 'transaction': Janus.randomString(12) }\n if(pluginHandle.token)\n request['token'] = pluginHandle.token\n if(apisecret)\n request['apisecret'] = apisecret\n if(websockets) {\n request['session_id'] = sessionId\n request['handle_id'] = handleId\n ws.send(JSON.stringify(request))\n delete pluginHandles[handleId]\n callbacks.success()\n return\n }\n Janus.httpAPICall(server + '/' + sessionId + '/' + handleId, {\n verb: 'POST',\n withCredentials: withCredentials,\n body: request,\n success: function(json) {\n Janus.log('Destroyed handle:')\n Janus.debug(json)\n if(json['janus'] !== 'success') {\n Janus.error('Ooops: ' + json['error'].code + ' ' + json['error'].reason) // FIXME\n }\n delete pluginHandles[handleId]\n callbacks.success()\n },\n error: function(textStatus, errorThrown) {\n Janus.error(textStatus + ':', errorThrown) // FIXME\n // We cleanup anyway\n delete pluginHandles[handleId]\n callbacks.success()\n }\n })\n }\n\n // WebRTC stuff\n function streamsDone(handleId, jsep, media, callbacks, stream) {\n var pluginHandle = pluginHandles[handleId]\n if(!pluginHandle || !pluginHandle.webrtcStuff) {\n Janus.warn('Invalid handle')\n // Close all tracks if the given stream has been created internally\n if(!callbacks.stream) {\n Janus.stopAllTracks(stream)\n }\n callbacks.error('Invalid handle')\n return\n }\n var config = pluginHandle.webrtcStuff\n Janus.debug('streamsDone:', stream)\n if(stream) {\n Janus.debug(' -- Audio tracks:', stream.getAudioTracks())\n Janus.debug(' -- Video tracks:', stream.getVideoTracks())\n }\n // We're now capturing the new stream: check if we're updating or if it's a new thing\n var addTracks = false\n if(!config.myStream || !media.update || (config.streamExternal && !media.replaceAudio && !media.replaceVideo)) {\n config.myStream = stream\n addTracks = true\n } else {\n // We only need to update the existing stream\n if(((!media.update && isAudioSendEnabled(media)) || (media.update && (media.addAudio || media.replaceAudio))) &&\n stream.getAudioTracks() && stream.getAudioTracks().length) {\n config.myStream.addTrack(stream.getAudioTracks()[0])\n if(Janus.unifiedPlan) {\n // Use Transceivers\n Janus.log((media.replaceAudio ? 'Replacing' : 'Adding') + ' audio track:', stream.getAudioTracks()[0])\n var audioTransceiver = null\n var transceivers = config.pc.getTransceivers()\n if(transceivers && transceivers.length > 0) {\n for(var t of transceivers) {\n if((t.sender && t.sender.track && t.sender.track.kind === 'audio') ||\n (t.receiver && t.receiver.track && t.receiver.track.kind === 'audio')) {\n audioTransceiver = t\n break\n }\n }\n }\n if(audioTransceiver && audioTransceiver.sender) {\n audioTransceiver.sender.replaceTrack(stream.getAudioTracks()[0])\n } else {\n config.pc.addTrack(stream.getAudioTracks()[0], stream)\n }\n } else {\n Janus.log((media.replaceAudio ? 'Replacing' : 'Adding') + ' audio track:', stream.getAudioTracks()[0])\n config.pc.addTrack(stream.getAudioTracks()[0], stream)\n }\n }\n if(((!media.update && isVideoSendEnabled(media)) || (media.update && (media.addVideo || media.replaceVideo))) &&\n stream.getVideoTracks() && stream.getVideoTracks().length) {\n config.myStream.addTrack(stream.getVideoTracks()[0])\n if(Janus.unifiedPlan) {\n // Use Transceivers\n Janus.log((media.replaceVideo ? 'Replacing' : 'Adding') + ' video track:', stream.getVideoTracks()[0])\n var videoTransceiver = null\n var transceivers = config.pc.getTransceivers()\n if(transceivers && transceivers.length > 0) {\n for(var t of transceivers) {\n if((t.sender && t.sender.track && t.sender.track.kind === 'video') ||\n (t.receiver && t.receiver.track && t.receiver.track.kind === 'video')) {\n videoTransceiver = t\n break\n }\n }\n }\n if(videoTransceiver && videoTransceiver.sender) {\n videoTransceiver.sender.replaceTrack(stream.getVideoTracks()[0])\n } else {\n config.pc.addTrack(stream.getVideoTracks()[0], stream)\n }\n } else {\n Janus.log((media.replaceVideo ? 'Replacing' : 'Adding') + ' video track:', stream.getVideoTracks()[0])\n config.pc.addTrack(stream.getVideoTracks()[0], stream)\n }\n }\n }\n // If we still need to create a PeerConnection, let's do that\n if(!config.pc) {\n var pc_config = {'iceServers': iceServers, 'iceTransportPolicy': iceTransportPolicy, 'bundlePolicy': bundlePolicy}\n if(Janus.webRTCAdapter.browserDetails.browser === 'chrome') {\n // For Chrome versions before 72, we force a plan-b semantic, and unified-plan otherwise\n pc_config['sdpSemantics'] = (Janus.webRTCAdapter.browserDetails.version < 72) ? 'plan-b' : 'unified-plan'\n }\n var pc_constraints = {\n 'optional': [{'DtlsSrtpKeyAgreement': true}]\n }\n if(ipv6Support) {\n pc_constraints.optional.push({'googIPv6':true})\n }\n // Any custom constraint to add?\n if(callbacks.rtcConstraints && typeof callbacks.rtcConstraints === 'object') {\n Janus.debug('Adding custom PeerConnection constraints:', callbacks.rtcConstraints)\n for(var i in callbacks.rtcConstraints) {\n pc_constraints.optional.push(callbacks.rtcConstraints[i])\n }\n }\n if(Janus.webRTCAdapter.browserDetails.browser === 'edge') {\n // This is Edge, enable BUNDLE explicitly\n pc_config.bundlePolicy = 'max-bundle'\n }\n // Check if a sender or receiver transform has been provided\n if(RTCRtpSender && (RTCRtpSender.prototype.createEncodedStreams ||\n (RTCRtpSender.prototype.createEncodedAudioStreams &&\n RTCRtpSender.prototype.createEncodedVideoStreams)) &&\n (callbacks.senderTransforms || callbacks.receiverTransforms)) {\n config.senderTransforms = callbacks.senderTransforms\n config.receiverTransforms = callbacks.receiverTransforms\n pc_config['forceEncodedAudioInsertableStreams'] = true\n pc_config['forceEncodedVideoInsertableStreams'] = true\n pc_config['encodedInsertableStreams'] = true\n }\n Janus.log('Creating PeerConnection')\n Janus.debug(pc_constraints)\n config.pc = new RTCPeerConnection(pc_config, pc_constraints)\n Janus.debug(config.pc)\n if(config.pc.getStats) { // FIXME\n config.volume = {}\n }\n Janus.log('Preparing local SDP and gathering candidates (trickle=' + config.trickle + ')')\n config.pc.oniceconnectionstatechange = function(e) {\n if(config.pc)\n pluginHandle.iceState(config.pc.iceConnectionState)\n }\n config.pc.onicecandidate = function(event) {\n if (!event.candidate ||\n (Janus.webRTCAdapter.browserDetails.browser === 'edge' && event.candidate.candidate.indexOf('endOfCandidates') > 0)) {\n Janus.log('End of candidates.')\n config.iceDone = true\n if(config.trickle === true) {\n // Notify end of candidates\n sendTrickleCandidate(handleId, {'completed': true})\n } else {\n // No trickle, time to send the complete SDP (including all candidates)\n sendSDP(handleId, callbacks)\n }\n } else {\n // JSON.stringify doesn't work on some WebRTC objects anymore\n // See https://code.google.com/p/chromium/issues/detail?id=467366\n var candidate = {\n 'candidate': event.candidate.candidate,\n 'sdpMid': event.candidate.sdpMid,\n 'sdpMLineIndex': event.candidate.sdpMLineIndex\n }\n if(config.trickle === true) {\n // Send candidate\n sendTrickleCandidate(handleId, candidate)\n }\n }\n }\n config.pc.ontrack = function(event) {\n Janus.log('Handling Remote Track')\n Janus.debug(event)\n if(!event.streams)\n return\n config.remoteStream = event.streams[0]\n pluginHandle.onremotestream(config.remoteStream)\n if(event.track.onended)\n return\n if(config.receiverTransforms) {\n var receiverStreams = null\n if(RTCRtpSender.prototype.createEncodedStreams) {\n receiverStreams = event.receiver.createEncodedStreams()\n } else if(RTCRtpSender.prototype.createAudioEncodedStreams || RTCRtpSender.prototype.createEncodedVideoStreams) {\n if(event.track.kind === 'audio' && config.receiverTransforms['audio']) {\n receiverStreams = event.receiver.createEncodedAudioStreams()\n } else if(event.track.kind === 'video' && config.receiverTransforms['video']) {\n receiverStreams = event.receiver.createEncodedVideoStreams()\n }\n }\n if(receiverStreams) {\n console.log(receiverStreams)\n if(receiverStreams.readableStream && receiverStreams.writableStream) {\n receiverStreams.readableStream\n .pipeThrough(config.receiverTransforms[event.track.kind])\n .pipeTo(receiverStreams.writableStream)\n } else if(receiverStreams.readable && receiverStreams.writable) {\n receiverStreams.readable\n .pipeThrough(config.receiverTransforms[event.track.kind])\n .pipeTo(receiverStreams.writable)\n }\n }\n }\n var trackMutedTimeoutId = null\n Janus.log('Adding onended callback to track:', event.track)\n event.track.onended = function(ev) {\n Janus.log('Remote track removed:', ev)\n if(config.remoteStream) {\n clearTimeout(trackMutedTimeoutId)\n config.remoteStream.removeTrack(ev.target)\n pluginHandle.onremotestream(config.remoteStream)\n }\n }\n event.track.onmute = function(ev) {\n Janus.log('Remote track muted:', ev)\n if(config.remoteStream && trackMutedTimeoutId == null) {\n trackMutedTimeoutId = setTimeout(function() {\n Janus.log('Removing remote track')\n if (config.remoteStream) {\n config.remoteStream.removeTrack(ev.target)\n pluginHandle.onremotestream(config.remoteStream)\n pluginHandle.ontrackmuted()\n }\n trackMutedTimeoutId = null\n // Chrome seems to raise mute events only at multiples of 834ms;\n // we set the timeout to three times this value (rounded to 840ms)\n }, 3 * 840)\n }\n }\n event.track.onunmute = function(ev) {\n Janus.log('Remote track flowing again:', ev)\n if(trackMutedTimeoutId != null) {\n clearTimeout(trackMutedTimeoutId)\n trackMutedTimeoutId = null\n } else {\n try {\n config.remoteStream.addTrack(ev.target)\n pluginHandle.onremotestream(config.remoteStream)\n pluginHandle.ontrackunmuted()\n } catch(e) {\n Janus.error(e)\n }\n }\n }\n }\n }\n if(addTracks && stream) {\n Janus.log('Adding local stream')\n var simulcast2 = (callbacks.simulcast2 === true)\n stream.getTracks().forEach(function(track) {\n Janus.log('Adding local track:', track)\n var sender = null\n if(!simulcast2 || track.kind === 'audio') {\n sender = config.pc.addTrack(track, stream)\n } else {\n Janus.log('Enabling rid-based simulcasting:', track)\n var maxBitrates = getMaxBitrates(callbacks.simulcastMaxBitrates)\n var tr = config.pc.addTransceiver(track, {\n direction: 'sendrecv',\n streams: [stream],\n sendEncodings: callbacks.sendEncodings || [\n { rid: 'h', active: true, maxBitrate: maxBitrates.high },\n { rid: 'm', active: true, maxBitrate: maxBitrates.medium, scaleResolutionDownBy: 2 },\n { rid: 'l', active: true, maxBitrate: maxBitrates.low, scaleResolutionDownBy: 4 }\n ]\n })\n if(tr)\n sender = tr.sender\n }\n // Check if insertable streams are involved\n if(sender && config.senderTransforms) {\n var senderStreams = null\n if(RTCRtpSender.prototype.createEncodedStreams) {\n senderStreams = sender.createEncodedStreams()\n } else if(RTCRtpSender.prototype.createAudioEncodedStreams || RTCRtpSender.prototype.createEncodedVideoStreams) {\n if(sender.track.kind === 'audio' && config.senderTransforms['audio']) {\n senderStreams = sender.createEncodedAudioStreams()\n } else if(sender.track.kind === 'video' && config.senderTransforms['video']) {\n senderStreams = sender.createEncodedVideoStreams()\n }\n }\n if(senderStreams) {\n console.log(senderStreams)\n if(senderStreams.readableStream && senderStreams.writableStream) {\n senderStreams.readableStream\n .pipeThrough(config.senderTransforms[sender.track.kind])\n .pipeTo(senderStreams.writableStream)\n } else if(senderStreams.readable && senderStreams.writable) {\n senderStreams.readable\n .pipeThrough(config.senderTransforms[sender.track.kind])\n .pipeTo(senderStreams.writable)\n }\n }\n }\n })\n }\n // Any data channel to create?\n if(isDataEnabled(media) && !config.dataChannel[Janus.dataChanDefaultLabel]) {\n Janus.log('Creating default data channel')\n createDataChannel(handleId, Janus.dataChanDefaultLabel, null, false)\n config.pc.ondatachannel = function(event) {\n Janus.log('Data channel created by Janus:', event)\n createDataChannel(handleId, event.channel.label, event.channel.protocol, event.channel)\n }\n }\n // If there's a new local stream, let's notify the application\n if(config.myStream) {\n pluginHandle.onlocalstream(config.myStream)\n }\n // Create offer/answer now\n if(!jsep) {\n createOffer(handleId, media, callbacks)\n } else {\n // some firefox vs 420029 fix here, copied from our prev custom release\n var oldsdp = jsep['sdp']\n var pattern = /420029/gi\n var newsdp = oldsdp.replace(pattern,'42e01f')\n Janus.log(newsdp)\n jsep['sdp'] = newsdp\n config.pc.setRemoteDescription(jsep)\n .then(function() {\n Janus.log('Remote description accepted!')\n config.remoteSdp = jsep.sdp\n // Any trickle candidate we cached?\n if(config.candidates && config.candidates.length > 0) {\n for(var i = 0; i< config.candidates.length; i++) {\n var candidate = config.candidates[i]\n Janus.debug('Adding remote candidate:', candidate)\n if(!candidate || candidate.completed === true) {\n // end-of-candidates\n config.pc.addIceCandidate(Janus.endOfCandidates)\n } else {\n // New candidate\n config.pc.addIceCandidate(candidate)\n }\n }\n config.candidates = []\n }\n // Create the answer now\n createAnswer(handleId, media, callbacks)\n }, callbacks.error)\n }\n }\n\n function prepareWebrtc(handleId, offer, callbacks) {\n callbacks = callbacks || {}\n callbacks.success = (typeof callbacks.success == 'function') ? callbacks.success : Janus.noop\n callbacks.error = (typeof callbacks.error == 'function') ? callbacks.error : webrtcError\n var jsep = callbacks.jsep\n if(offer && jsep) {\n Janus.error('Provided a JSEP to a createOffer')\n callbacks.error('Provided a JSEP to a createOffer')\n return\n } else if(!offer && (!jsep || !jsep.type || !jsep.sdp)) {\n Janus.error('A valid JSEP is required for createAnswer')\n callbacks.error('A valid JSEP is required for createAnswer')\n return\n }\n /* Check that callbacks.media is a (not null) Object */\n callbacks.media = (typeof callbacks.media === 'object' && callbacks.media) ? callbacks.media : { audio: true, video: true }\n var media = callbacks.media\n var pluginHandle = pluginHandles[handleId]\n if(!pluginHandle || !pluginHandle.webrtcStuff) {\n Janus.warn('Invalid handle')\n callbacks.error('Invalid handle')\n return\n }\n var config = pluginHandle.webrtcStuff\n config.trickle = isTrickleEnabled(callbacks.trickle)\n // Are we updating a session?\n if(!config.pc) {\n // Nope, new PeerConnection\n media.update = false\n media.keepAudio = false\n media.keepVideo = false\n } else {\n Janus.log('Updating existing media session')\n media.update = true\n // Check if there's anything to add/remove/replace, or if we\n // can go directly to preparing the new SDP offer or answer\n if(callbacks.stream) {\n // External stream: is this the same as the one we were using before?\n if(callbacks.stream !== config.myStream) {\n Janus.log('Renegotiation involves a new external stream')\n }\n } else {\n // Check if there are changes on audio\n if(media.addAudio) {\n media.keepAudio = false\n media.replaceAudio = false\n media.removeAudio = false\n media.audioSend = true\n if(config.myStream && config.myStream.getAudioTracks() && config.myStream.getAudioTracks().length) {\n Janus.error('Can\\'t add audio stream, there already is one')\n callbacks.error('Can\\'t add audio stream, there already is one')\n return\n }\n } else if(media.removeAudio) {\n media.keepAudio = false\n media.replaceAudio = false\n media.addAudio = false\n media.audioSend = false\n } else if(media.replaceAudio) {\n media.keepAudio = false\n media.addAudio = false\n media.removeAudio = false\n media.audioSend = true\n }\n if(!config.myStream) {\n // No media stream: if we were asked to replace, it's actually an \"add\"\n if(media.replaceAudio) {\n media.keepAudio = false\n media.replaceAudio = false\n media.addAudio = true\n media.audioSend = true\n }\n if(isAudioSendEnabled(media)) {\n media.keepAudio = false\n media.addAudio = true\n }\n } else {\n if(!config.myStream.getAudioTracks() || config.myStream.getAudioTracks().length === 0) {\n // No audio track: if we were asked to replace, it's actually an \"add\"\n if(media.replaceAudio) {\n media.keepAudio = false\n media.replaceAudio = false\n media.addAudio = true\n media.audioSend = true\n }\n if(isAudioSendEnabled(media)) {\n media.keepAudio = false\n media.addAudio = true\n }\n } else {\n // We have an audio track: should we keep it as it is?\n if(isAudioSendEnabled(media) &&\n !media.removeAudio && !media.replaceAudio) {\n media.keepAudio = true\n }\n }\n }\n // Check if there are changes on video\n if(media.addVideo) {\n media.keepVideo = false\n media.replaceVideo = false\n media.removeVideo = false\n media.videoSend = true\n if(config.myStream && config.myStream.getVideoTracks() && config.myStream.getVideoTracks().length) {\n Janus.error('Can\\'t add video stream, there already is one')\n callbacks.error('Can\\'t add video stream, there already is one')\n return\n }\n } else if(media.removeVideo) {\n media.keepVideo = false\n media.replaceVideo = false\n media.addVideo = false\n media.videoSend = false\n } else if(media.replaceVideo) {\n media.keepVideo = false\n media.addVideo = false\n media.removeVideo = false\n media.videoSend = true\n }\n if(!config.myStream) {\n // No media stream: if we were asked to replace, it's actually an \"add\"\n if(media.replaceVideo) {\n media.keepVideo = false\n media.replaceVideo = false\n media.addVideo = true\n media.videoSend = true\n }\n if(isVideoSendEnabled(media)) {\n media.keepVideo = false\n media.addVideo = true\n }\n } else {\n if(!config.myStream.getVideoTracks() || config.myStream.getVideoTracks().length === 0) {\n // No video track: if we were asked to replace, it's actually an \"add\"\n if(media.replaceVideo) {\n media.keepVideo = false\n media.replaceVideo = false\n media.addVideo = true\n media.videoSend = true\n }\n if(isVideoSendEnabled(media)) {\n media.keepVideo = false\n media.addVideo = true\n }\n } else {\n // We have a video track: should we keep it as it is?\n if(isVideoSendEnabled(media) && !media.removeVideo && !media.replaceVideo) {\n media.keepVideo = true\n }\n }\n }\n // Data channels can only be added\n if(media.addData) {\n media.data = true\n }\n }\n // If we're updating and keeping all tracks, let's skip the getUserMedia part\n if((isAudioSendEnabled(media) && media.keepAudio) &&\n (isVideoSendEnabled(media) && media.keepVideo)) {\n pluginHandle.consentDialog(false)\n streamsDone(handleId, jsep, media, callbacks, config.myStream)\n return\n }\n }\n // If we're updating, check if we need to remove/replace one of the tracks\n if(media.update && (!config.streamExternal || (config.streamExternal && (media.replaceAudio || media.replaceVideo)))) {\n if(media.removeAudio || media.replaceAudio) {\n if(config.myStream && config.myStream.getAudioTracks() && config.myStream.getAudioTracks().length) {\n var at = config.myStream.getAudioTracks()[0]\n Janus.log('Removing audio track:', at)\n config.myStream.removeTrack(at)\n try {\n at.stop()\n } catch(e) {}\n }\n if(config.pc.getSenders() && config.pc.getSenders().length) {\n var ra = true\n if(media.replaceAudio && Janus.unifiedPlan) {\n // We can use replaceTrack\n ra = false\n }\n if(ra) {\n for(var asnd of config.pc.getSenders()) {\n if(asnd && asnd.track && asnd.track.kind === 'audio') {\n Janus.log('Removing audio sender:', asnd)\n config.pc.removeTrack(asnd)\n }\n }\n }\n }\n }\n if(media.removeVideo || media.replaceVideo) {\n if(config.myStream && config.myStream.getVideoTracks() && config.myStream.getVideoTracks().length) {\n var vt = config.myStream.getVideoTracks()[0]\n Janus.log('Removing video track:', vt)\n config.myStream.removeTrack(vt)\n try {\n vt.stop()\n } catch(e) {}\n }\n if(config.pc.getSenders() && config.pc.getSenders().length) {\n var rv = true\n if(media.replaceVideo && Janus.unifiedPlan) {\n // We can use replaceTrack\n rv = false\n }\n if(rv) {\n for(var vsnd of config.pc.getSenders()) {\n if(vsnd && vsnd.track && vsnd.track.kind === 'video') {\n Janus.log('Removing video sender:', vsnd)\n config.pc.removeTrack(vsnd)\n }\n }\n }\n }\n }\n }\n // Was a MediaStream object passed, or do we need to take care of that?\n if(callbacks.stream) {\n var stream = callbacks.stream\n Janus.log('MediaStream provided by the application')\n Janus.debug(stream)\n // If this is an update, let's check if we need to release the previous stream\n if(media.update && config.myStream && config.myStream !== callbacks.stream && !config.streamExternal && !media.replaceAudio && !media.replaceVideo) {\n // We're replacing a stream we captured ourselves with an external one\n Janus.stopAllTracks(config.myStream)\n config.myStream = null\n }\n // Skip the getUserMedia part\n config.streamExternal = true\n pluginHandle.consentDialog(false)\n streamsDone(handleId, jsep, media, callbacks, stream)\n return\n }\n if(isAudioSendEnabled(media) || isVideoSendEnabled(media)) {\n if(!Janus.isGetUserMediaAvailable()) {\n callbacks.error('getUserMedia not available')\n return\n }\n var constraints = { mandatory: {}, optional: []}\n pluginHandle.consentDialog(true)\n var audioSupport = isAudioSendEnabled(media)\n if(audioSupport && media && typeof media.audio === 'object')\n audioSupport = media.audio\n var videoSupport = isVideoSendEnabled(media)\n if(videoSupport && media) {\n var simulcast = (callbacks.simulcast === true)\n var simulcast2 = (callbacks.simulcast2 === true)\n if((simulcast || simulcast2) && !jsep && !media.video)\n media.video = 'hires'\n if(media.video && media.video != 'screen' && media.video != 'window') {\n if(typeof media.video === 'object') {\n videoSupport = media.video\n } else {\n var width = 0\n var height = 0, maxHeight = 0\n if(media.video === 'lowres') {\n // Small resolution, 4:3\n height = 240\n maxHeight = 240\n width = 320\n } else if(media.video === 'lowres-16:9') {\n // Small resolution, 16:9\n height = 180\n maxHeight = 180\n width = 320\n } else if(media.video === 'hires' || media.video === 'hires-16:9' || media.video === 'hdres') {\n // High(HD) resolution is only 16:9\n height = 720\n maxHeight = 720\n width = 1280\n } else if(media.video === 'fhdres') {\n // Full HD resolution is only 16:9\n height = 1080\n maxHeight = 1080\n width = 1920\n } else if(media.video === '4kres') {\n // 4K resolution is only 16:9\n height = 2160\n maxHeight = 2160\n width = 3840\n } else if(media.video === 'stdres') {\n // Normal resolution, 4:3\n height = 480\n maxHeight = 480\n width = 640\n } else if(media.video === 'stdres-16:9') {\n // Normal resolution, 16:9\n height = 360\n maxHeight = 360\n width = 640\n } else {\n Janus.log('Default video setting is stdres 4:3')\n height = 480\n maxHeight = 480\n width = 640\n }\n Janus.log('Adding media constraint:', media.video)\n videoSupport = {\n 'height': {'ideal': height},\n 'width': {'ideal': width}\n }\n Janus.log('Adding video constraint:', videoSupport)\n }\n } else if(media.video === 'screen' || media.video === 'window') {\n if(navigator.mediaDevices && navigator.mediaDevices.getDisplayMedia) {\n // The new experimental getDisplayMedia API is available, let's use that\n // https://groups.google.com/forum/#!topic/discuss-webrtc/Uf0SrR4uxzk\n // https://webrtchacks.com/chrome-screensharing-getdisplaymedia/\n constraints.video = {}\n if(media.screenshareFrameRate) {\n constraints.video.frameRate = media.screenshareFrameRate\n }\n if(media.screenshareHeight) {\n constraints.video.height = media.screenshareHeight\n }\n if(media.screenshareWidth) {\n constraints.video.width = media.screenshareWidth\n }\n constraints.audio = media.captureDesktopAudio\n navigator.mediaDevices.getDisplayMedia(constraints)\n .then(function(stream) {\n pluginHandle.consentDialog(false)\n if(isAudioSendEnabled(media) && !media.keepAudio) {\n navigator.mediaDevices.getUserMedia({ audio: true, video: false })\n .then(function (audioStream) {\n stream.addTrack(audioStream.getAudioTracks()[0])\n streamsDone(handleId, jsep, media, callbacks, stream)\n })\n } else {\n streamsDone(handleId, jsep, media, callbacks, stream)\n }\n }, function (error) {\n pluginHandle.consentDialog(false)\n callbacks.error(error)\n })\n return\n }\n // We're going to try and use the extension for Chrome 34+, the old approach\n // for older versions of Chrome, or the experimental support in Firefox 33+\n function callbackUserMedia (error, stream) {\n pluginHandle.consentDialog(false)\n if(error) {\n callbacks.error(error)\n } else {\n streamsDone(handleId, jsep, media, callbacks, stream)\n }\n }\n function getScreenMedia(constraints, gsmCallback, useAudio) {\n Janus.log('Adding media constraint (screen capture)')\n Janus.debug(constraints)\n navigator.mediaDevices.getUserMedia(constraints)\n .then(function(stream) {\n if(useAudio) {\n navigator.mediaDevices.getUserMedia({ audio: true, video: false })\n .then(function (audioStream) {\n stream.addTrack(audioStream.getAudioTracks()[0])\n gsmCallback(null, stream)\n })\n } else {\n gsmCallback(null, stream)\n }\n })\n .catch(function(error) { pluginHandle.consentDialog(false); gsmCallback(error) })\n }\n if(Janus.webRTCAdapter.browserDetails.browser === 'chrome') {\n var chromever = Janus.webRTCAdapter.browserDetails.version\n var maxver = 33\n if(window.navigator.userAgent.match('Linux'))\n maxver = 35 // \"known\" crash in chrome 34 and 35 on linux\n if(chromever >= 26 && chromever <= maxver) {\n // Chrome 26->33 requires some awkward chrome://flags manipulation\n constraints = {\n video: {\n mandatory: {\n googLeakyBucket: true,\n maxWidth: window.screen.width,\n maxHeight: window.screen.height,\n minFrameRate: media.screenshareFrameRate,\n maxFrameRate: media.screenshareFrameRate,\n chromeMediaSource: 'screen'\n }\n },\n audio: isAudioSendEnabled(media) && !media.keepAudio\n }\n getScreenMedia(constraints, callbackUserMedia)\n } else {\n // Chrome 34+ requires an extension\n Janus.extension.getScreen(function (error, sourceId) {\n if (error) {\n pluginHandle.consentDialog(false)\n return callbacks.error(error)\n }\n constraints = {\n audio: false,\n video: {\n mandatory: {\n chromeMediaSource: 'desktop',\n maxWidth: window.screen.width,\n maxHeight: window.screen.height,\n minFrameRate: media.screenshareFrameRate,\n maxFrameRate: media.screenshareFrameRate,\n },\n optional: [\n {googLeakyBucket: true},\n {googTemporalLayeredScreencast: true}\n ]\n }\n }\n constraints.video.mandatory.chromeMediaSourceId = sourceId\n getScreenMedia(constraints, callbackUserMedia,\n isAudioSendEnabled(media) && !media.keepAudio)\n })\n }\n } else if(Janus.webRTCAdapter.browserDetails.browser === 'firefox') {\n if(Janus.webRTCAdapter.browserDetails.version >= 33) {\n // Firefox 33+ has experimental support for screen sharing\n constraints = {\n video: {\n mozMediaSource: media.video,\n mediaSource: media.video\n },\n audio: isAudioSendEnabled(media) && !media.keepAudio\n }\n getScreenMedia(constraints, function (err, stream) {\n callbackUserMedia(err, stream)\n // Workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=1045810\n if (!err) {\n var lastTime = stream.currentTime\n var polly = window.setInterval(function () {\n if(!stream)\n window.clearInterval(polly)\n if(stream.currentTime == lastTime) {\n window.clearInterval(polly)\n if(stream.onended) {\n stream.onended()\n }\n }\n lastTime = stream.currentTime\n }, 500)\n }\n })\n } else {\n var error = new Error('NavigatorUserMediaError')\n error.name = 'Your version of Firefox does not support screen sharing, please install Firefox 33 (or more recent versions)'\n pluginHandle.consentDialog(false)\n callbacks.error(error)\n return\n }\n }\n return\n }\n }\n // If we got here, we're not screensharing\n if(!media || media.video !== 'screen') {\n // Check whether all media sources are actually available or not\n navigator.mediaDevices.enumerateDevices().then(function(devices) {\n var audioExist = devices.some(function(device) {\n return device.kind === 'audioinput'\n }),\n videoExist = isScreenSendEnabled(media) || devices.some(function(device) {\n return device.kind === 'videoinput'\n })\n\n // Check whether a missing device is really a problem\n var audioSend = isAudioSendEnabled(media)\n var videoSend = isVideoSendEnabled(media)\n var needAudioDevice = isAudioSendRequired(media)\n var needVideoDevice = isVideoSendRequired(media)\n if(audioSend || videoSend || needAudioDevice || needVideoDevice) {\n // We need to send either audio or video\n var haveAudioDevice = audioSend ? audioExist : false\n var haveVideoDevice = videoSend ? videoExist : false\n if(!haveAudioDevice && !haveVideoDevice) {\n // FIXME Should we really give up, or just assume recvonly for both?\n pluginHandle.consentDialog(false)\n callbacks.error('No capture device found')\n return false\n } else if(!haveAudioDevice && needAudioDevice) {\n pluginHandle.consentDialog(false)\n callbacks.error('Audio capture is required, but no capture device found')\n return false\n } else if(!haveVideoDevice && needVideoDevice) {\n pluginHandle.consentDialog(false)\n callbacks.error('Video capture is required, but no capture device found')\n return false\n }\n }\n\n var gumConstraints = {\n audio: (audioExist && !media.keepAudio) ? audioSupport : false,\n video: (videoExist && !media.keepVideo) ? videoSupport : false\n }\n Janus.debug('getUserMedia constraints', gumConstraints)\n if (!gumConstraints.audio && !gumConstraints.video) {\n pluginHandle.consentDialog(false)\n streamsDone(handleId, jsep, media, callbacks, stream)\n } else {\n navigator.mediaDevices.getUserMedia(gumConstraints)\n .then(function(stream) {\n pluginHandle.consentDialog(false)\n streamsDone(handleId, jsep, media, callbacks, stream)\n }).catch(function(error) {\n pluginHandle.consentDialog(false)\n callbacks.error({code: error.code, name: error.name, message: error.message})\n })\n }\n })\n .catch(function(error) {\n pluginHandle.consentDialog(false)\n callbacks.error(error)\n })\n }\n } else {\n // No need to do a getUserMedia, create offer/answer right away\n streamsDone(handleId, jsep, media, callbacks)\n }\n }\n\n function prepareWebrtcPeer(handleId, callbacks) {\n callbacks = callbacks || {}\n callbacks.success = (typeof callbacks.success == 'function') ? callbacks.success : Janus.noop\n callbacks.error = (typeof callbacks.error == 'function') ? callbacks.error : webrtcError\n callbacks.customizeSdp = (typeof callbacks.customizeSdp == 'function') ? callbacks.customizeSdp : Janus.noop\n var jsep = callbacks.jsep\n var pluginHandle = pluginHandles[handleId]\n if(!pluginHandle || !pluginHandle.webrtcStuff) {\n Janus.warn('Invalid handle')\n callbacks.error('Invalid handle')\n return\n }\n var config = pluginHandle.webrtcStuff\n if(jsep) {\n if(!config.pc) {\n Janus.warn('Wait, no PeerConnection?? if this is an answer, use createAnswer and not handleRemoteJsep')\n callbacks.error('No PeerConnection: if this is an answer, use createAnswer and not handleRemoteJsep')\n return\n }\n callbacks.customizeSdp(jsep)\n config.pc.setRemoteDescription(jsep)\n .then(function() {\n Janus.log('Remote description accepted!')\n config.remoteSdp = jsep.sdp\n // Any trickle candidate we cached?\n if(config.candidates && config.candidates.length > 0) {\n for(var i = 0; i< config.candidates.length; i++) {\n var candidate = config.candidates[i]\n Janus.debug('Adding remote candidate:', candidate)\n if(!candidate || candidate.completed === true) {\n // end-of-candidates\n config.pc.addIceCandidate(Janus.endOfCandidates)\n } else {\n // New candidate\n config.pc.addIceCandidate(candidate)\n }\n }\n config.candidates = []\n }\n // Done\n callbacks.success()\n }, callbacks.error)\n } else {\n callbacks.error('Invalid JSEP')\n }\n }\n\n function createOffer(handleId, media, callbacks) {\n callbacks = callbacks || {}\n callbacks.success = (typeof callbacks.success == 'function') ? callbacks.success : Janus.noop\n callbacks.error = (typeof callbacks.error == 'function') ? callbacks.error : Janus.noop\n callbacks.customizeSdp = (typeof callbacks.customizeSdp == 'function') ? callbacks.customizeSdp : Janus.noop\n var pluginHandle = pluginHandles[handleId]\n if(!pluginHandle || !pluginHandle.webrtcStuff) {\n Janus.warn('Invalid handle')\n callbacks.error('Invalid handle')\n return\n }\n var config = pluginHandle.webrtcStuff\n var simulcast = (callbacks.simulcast === true)\n if(!simulcast) {\n Janus.log('Creating offer (iceDone=' + config.iceDone + ')')\n } else {\n Janus.log('Creating offer (iceDone=' + config.iceDone + ', simulcast=' + simulcast + ')')\n }\n // https://code.google.com/p/webrtc/issues/detail?id=3508\n var mediaConstraints = {}\n if(Janus.unifiedPlan) {\n // We can use Transceivers\n var audioTransceiver = null, videoTransceiver = null\n var transceivers = config.pc.getTransceivers()\n if(transceivers && transceivers.length > 0) {\n for(var t of transceivers) {\n if((t.sender && t.sender.track && t.sender.track.kind === 'audio') ||\n (t.receiver && t.receiver.track && t.receiver.track.kind === 'audio')) {\n if(!audioTransceiver) {\n audioTransceiver = t\n }\n continue\n }\n if((t.sender && t.sender.track && t.sender.track.kind === 'video') ||\n (t.receiver && t.receiver.track && t.receiver.track.kind === 'video')) {\n if(!videoTransceiver) {\n videoTransceiver = t\n }\n continue\n }\n }\n }\n // Handle audio (and related changes, if any)\n var audioSend = isAudioSendEnabled(media)\n var audioRecv = isAudioRecvEnabled(media)\n if(!audioSend && !audioRecv) {\n // Audio disabled: have we removed it?\n if(media.removeAudio && audioTransceiver) {\n if (audioTransceiver.setDirection) {\n audioTransceiver.setDirection('inactive')\n } else {\n audioTransceiver.direction = 'inactive'\n }\n Janus.log('Setting audio transceiver to inactive:', audioTransceiver)\n }\n } else {\n // Take care of audio m-line\n if(audioSend && audioRecv) {\n if(audioTransceiver) {\n if (audioTransceiver.setDirection) {\n audioTransceiver.setDirection('sendrecv')\n } else {\n audioTransceiver.direction = 'sendrecv'\n }\n Janus.log('Setting audio transceiver to sendrecv:', audioTransceiver)\n }\n } else if(audioSend && !audioRecv) {\n if(audioTransceiver) {\n if (audioTransceiver.setDirection) {\n audioTransceiver.setDirection('sendonly')\n } else {\n audioTransceiver.direction = 'sendonly'\n }\n Janus.log('Setting audio transceiver to sendonly:', audioTransceiver)\n }\n } else if(!audioSend && audioRecv) {\n if(audioTransceiver) {\n if (audioTransceiver.setDirection) {\n audioTransceiver.setDirection('recvonly')\n } else {\n audioTransceiver.direction = 'recvonly'\n }\n Janus.log('Setting audio transceiver to recvonly:', audioTransceiver)\n } else {\n // In theory, this is the only case where we might not have a transceiver yet\n audioTransceiver = config.pc.addTransceiver('audio', { direction: 'recvonly' })\n Janus.log('Adding recvonly audio transceiver:', audioTransceiver)\n }\n }\n }\n // Handle video (and related changes, if any)\n var videoSend = isVideoSendEnabled(media)\n var videoRecv = isVideoRecvEnabled(media)\n if(!videoSend && !videoRecv) {\n // Video disabled: have we removed it?\n if(media.removeVideo && videoTransceiver) {\n if (videoTransceiver.setDirection) {\n videoTransceiver.setDirection('inactive')\n } else {\n videoTransceiver.direction = 'inactive'\n }\n Janus.log('Setting video transceiver to inactive:', videoTransceiver)\n }\n } else {\n // Take care of video m-line\n if(videoSend && videoRecv) {\n if(videoTransceiver) {\n if (videoTransceiver.setDirection) {\n videoTransceiver.setDirection('sendrecv')\n } else {\n videoTransceiver.direction = 'sendrecv'\n }\n Janus.log('Setting video transceiver to sendrecv:', videoTransceiver)\n }\n } else if(videoSend && !videoRecv) {\n if(videoTransceiver) {\n if (videoTransceiver.setDirection) {\n videoTransceiver.setDirection('sendonly')\n } else {\n videoTransceiver.direction = 'sendonly'\n }\n Janus.log('Setting video transceiver to sendonly:', videoTransceiver)\n }\n } else if(!videoSend && videoRecv) {\n if(videoTransceiver) {\n if (videoTransceiver.setDirection) {\n videoTransceiver.setDirection('recvonly')\n } else {\n videoTransceiver.direction = 'recvonly'\n }\n Janus.log('Setting video transceiver to recvonly:', videoTransceiver)\n } else {\n // In theory, this is the only case where we might not have a transceiver yet\n videoTransceiver = config.pc.addTransceiver('video', { direction: 'recvonly' })\n Janus.log('Adding recvonly video transceiver:', videoTransceiver)\n }\n }\n }\n } else {\n mediaConstraints['offerToReceiveAudio'] = isAudioRecvEnabled(media)\n mediaConstraints['offerToReceiveVideo'] = isVideoRecvEnabled(media)\n }\n var iceRestart = (callbacks.iceRestart === true)\n if(iceRestart) {\n mediaConstraints['iceRestart'] = true\n }\n Janus.debug(mediaConstraints)\n // Check if this is Firefox and we've been asked to do simulcasting\n var sendVideo = isVideoSendEnabled(media)\n if(sendVideo && simulcast && Janus.webRTCAdapter.browserDetails.browser === 'firefox') {\n // FIXME Based on https://gist.github.com/voluntas/088bc3cc62094730647b\n Janus.log('Enabling Simulcasting for Firefox (RID)')\n var sender = config.pc.getSenders().find(function(s) {return s.track && s.track.kind === 'video'})\n if(sender) {\n var parameters = sender.getParameters()\n if(!parameters) {\n parameters = {}\n }\n var maxBitrates = getMaxBitrates(callbacks.simulcastMaxBitrates)\n parameters.encodings = callbacks.sendEncodings || [\n { rid: 'h', active: true, maxBitrate: maxBitrates.high },\n { rid: 'm', active: true, maxBitrate: maxBitrates.medium, scaleResolutionDownBy: 2 },\n { rid: 'l', active: true, maxBitrate: maxBitrates.low, scaleResolutionDownBy: 4 }\n ]\n sender.setParameters(parameters)\n }\n }\n config.pc.createOffer(mediaConstraints)\n .then(function(offer) {\n Janus.debug(offer)\n // JSON.stringify doesn't work on some WebRTC objects anymore\n // See https://code.google.com/p/chromium/issues/detail?id=467366\n var jsep = {\n 'type': offer.type,\n 'sdp': offer.sdp\n }\n callbacks.customizeSdp(jsep)\n offer.sdp = jsep.sdp\n Janus.log('Setting local description')\n if(sendVideo && simulcast) {\n // This SDP munging only works with Chrome (Safari STP may support it too)\n if(Janus.webRTCAdapter.browserDetails.browser === 'chrome' ||\n Janus.webRTCAdapter.browserDetails.browser === 'safari') {\n Janus.log('Enabling Simulcasting for Chrome (SDP munging)')\n offer.sdp = mungeSdpForSimulcasting(offer.sdp)\n } else if(Janus.webRTCAdapter.browserDetails.browser !== 'firefox') {\n Janus.warn('simulcast=true, but this is not Chrome nor Firefox, ignoring')\n }\n }\n config.mySdp = {\n type: 'offer',\n sdp: offer.sdp\n }\n config.pc.setLocalDescription(offer)\n .catch(callbacks.error)\n config.mediaConstraints = mediaConstraints\n if(!config.iceDone && !config.trickle) {\n // Don't do anything until we have all candidates\n Janus.log('Waiting for all candidates...')\n return\n }\n // If transforms are present, notify Janus that the media is end-to-end encrypted\n if(config.senderTransforms || config.receiverTransforms) {\n offer['e2ee'] = true\n }\n callbacks.success(offer)\n }, callbacks.error)\n }\n\n function createAnswer(handleId, media, callbacks) {\n callbacks = callbacks || {}\n callbacks.success = (typeof callbacks.success == 'function') ? callbacks.success : Janus.noop\n callbacks.error = (typeof callbacks.error == 'function') ? callbacks.error : Janus.noop\n callbacks.customizeSdp = (typeof callbacks.customizeSdp == 'function') ? callbacks.customizeSdp : Janus.noop\n var pluginHandle = pluginHandles[handleId]\n if(!pluginHandle || !pluginHandle.webrtcStuff) {\n Janus.warn('Invalid handle')\n callbacks.error('Invalid handle')\n return\n }\n var config = pluginHandle.webrtcStuff\n var simulcast = (callbacks.simulcast === true)\n if(!simulcast) {\n Janus.log('Creating answer (iceDone=' + config.iceDone + ')')\n } else {\n Janus.log('Creating answer (iceDone=' + config.iceDone + ', simulcast=' + simulcast + ')')\n }\n var mediaConstraints = null\n if(Janus.unifiedPlan) {\n // We can use Transceivers\n mediaConstraints = {}\n var audioTransceiver = null, videoTransceiver = null\n var transceivers = config.pc.getTransceivers()\n if(transceivers && transceivers.length > 0) {\n for(var t of transceivers) {\n if((t.sender && t.sender.track && t.sender.track.kind === 'audio') ||\n (t.receiver && t.receiver.track && t.receiver.track.kind === 'audio')) {\n if(!audioTransceiver)\n audioTransceiver = t\n continue\n }\n if((t.sender && t.sender.track && t.sender.track.kind === 'video') ||\n (t.receiver && t.receiver.track && t.receiver.track.kind === 'video')) {\n if(!videoTransceiver)\n videoTransceiver = t\n continue\n }\n }\n }\n // Handle audio (and related changes, if any)\n var audioSend = isAudioSendEnabled(media)\n var audioRecv = isAudioRecvEnabled(media)\n if(!audioSend && !audioRecv) {\n // Audio disabled: have we removed it?\n if(media.removeAudio && audioTransceiver) {\n try {\n if (audioTransceiver.setDirection) {\n audioTransceiver.setDirection('inactive')\n } else {\n audioTransceiver.direction = 'inactive'\n }\n Janus.log('Setting audio transceiver to inactive:', audioTransceiver)\n } catch(e) {\n Janus.error(e)\n }\n }\n } else {\n // Take care of audio m-line\n if(audioSend && audioRecv) {\n if(audioTransceiver) {\n try {\n if (audioTransceiver.setDirection) {\n audioTransceiver.setDirection('sendrecv')\n } else {\n audioTransceiver.direction = 'sendrecv'\n }\n Janus.log('Setting audio transceiver to sendrecv:', audioTransceiver)\n } catch(e) {\n Janus.error(e)\n }\n }\n } else if(audioSend && !audioRecv) {\n try {\n if(audioTransceiver) {\n if (audioTransceiver.setDirection) {\n audioTransceiver.setDirection('sendonly')\n } else {\n audioTransceiver.direction = 'sendonly'\n }\n Janus.log('Setting audio transceiver to sendonly:', audioTransceiver)\n }\n } catch(e) {\n Janus.error(e)\n }\n } else if(!audioSend && audioRecv) {\n if(audioTransceiver) {\n try {\n if (audioTransceiver.setDirection) {\n audioTransceiver.setDirection('recvonly')\n } else {\n audioTransceiver.direction = 'recvonly'\n }\n Janus.log('Setting audio transceiver to recvonly:', audioTransceiver)\n } catch(e) {\n Janus.error(e)\n }\n } else {\n // In theory, this is the only case where we might not have a transceiver yet\n audioTransceiver = config.pc.addTransceiver('audio', { direction: 'recvonly' })\n Janus.log('Adding recvonly audio transceiver:', audioTransceiver)\n }\n }\n }\n // Handle video (and related changes, if any)\n var videoSend = isVideoSendEnabled(media)\n var videoRecv = isVideoRecvEnabled(media)\n if(!videoSend && !videoRecv) {\n // Video disabled: have we removed it?\n if(media.removeVideo && videoTransceiver) {\n try {\n if (videoTransceiver.setDirection) {\n videoTransceiver.setDirection('inactive')\n } else {\n videoTransceiver.direction = 'inactive'\n }\n Janus.log('Setting video transceiver to inactive:', videoTransceiver)\n } catch(e) {\n Janus.error(e)\n }\n }\n } else {\n // Take care of video m-line\n if(videoSend && videoRecv) {\n if(videoTransceiver) {\n try {\n if (videoTransceiver.setDirection) {\n videoTransceiver.setDirection('sendrecv')\n } else {\n videoTransceiver.direction = 'sendrecv'\n }\n Janus.log('Setting video transceiver to sendrecv:', videoTransceiver)\n } catch(e) {\n Janus.error(e)\n }\n }\n } else if(videoSend && !videoRecv) {\n if(videoTransceiver) {\n try {\n if (videoTransceiver.setDirection) {\n videoTransceiver.setDirection('sendonly')\n } else {\n videoTransceiver.direction = 'sendonly'\n }\n Janus.log('Setting video transceiver to sendonly:', videoTransceiver)\n } catch(e) {\n Janus.error(e)\n }\n }\n } else if(!videoSend && videoRecv) {\n if(videoTransceiver) {\n try {\n if (videoTransceiver.setDirection) {\n videoTransceiver.setDirection('recvonly')\n } else {\n videoTransceiver.direction = 'recvonly'\n }\n Janus.log('Setting video transceiver to recvonly:', videoTransceiver)\n } catch(e) {\n Janus.error(e)\n }\n } else {\n // In theory, this is the only case where we might not have a transceiver yet\n videoTransceiver = config.pc.addTransceiver('video', { direction: 'recvonly' })\n Janus.log('Adding recvonly video transceiver:', videoTransceiver)\n }\n }\n }\n } else {\n if(Janus.webRTCAdapter.browserDetails.browser === 'firefox' || Janus.webRTCAdapter.browserDetails.browser === 'edge') {\n mediaConstraints = {\n offerToReceiveAudio: isAudioRecvEnabled(media),\n offerToReceiveVideo: isVideoRecvEnabled(media)\n }\n } else {\n mediaConstraints = {\n mandatory: {\n OfferToReceiveAudio: isAudioRecvEnabled(media),\n OfferToReceiveVideo: isVideoRecvEnabled(media)\n }\n }\n }\n }\n Janus.debug(mediaConstraints)\n // Check if this is Firefox and we've been asked to do simulcasting\n var sendVideo = isVideoSendEnabled(media)\n if(sendVideo && simulcast && Janus.webRTCAdapter.browserDetails.browser === 'firefox') {\n // FIXME Based on https://gist.github.com/voluntas/088bc3cc62094730647b\n Janus.log('Enabling Simulcasting for Firefox (RID)')\n var sender = config.pc.getSenders()[1]\n Janus.log(sender)\n var parameters = sender.getParameters()\n Janus.log(parameters)\n\n var maxBitrates = getMaxBitrates(callbacks.simulcastMaxBitrates)\n sender.setParameters({encodings: callbacks.sendEncodings || [\n { rid: 'h', active: true, maxBitrate: maxBitrates.high },\n { rid: 'm', active: true, maxBitrate: maxBitrates.medium, scaleResolutionDownBy: 2},\n { rid: 'l', active: true, maxBitrate: maxBitrates.low, scaleResolutionDownBy: 4}\n ]})\n }\n config.pc.createAnswer(mediaConstraints)\n .then(function(answer) {\n Janus.debug(answer)\n // JSON.stringify doesn't work on some WebRTC objects anymore\n // See https://code.google.com/p/chromium/issues/detail?id=467366\n var jsep = {\n 'type': answer.type,\n 'sdp': answer.sdp\n }\n callbacks.customizeSdp(jsep)\n answer.sdp = jsep.sdp\n Janus.log('Setting local description')\n if(sendVideo && simulcast) {\n // This SDP munging only works with Chrome\n if(Janus.webRTCAdapter.browserDetails.browser === 'chrome') {\n // FIXME Apparently trying to simulcast when answering breaks video in Chrome...\n //~ Janus.log(\"Enabling Simulcasting for Chrome (SDP munging)\");\n //~ answer.sdp = mungeSdpForSimulcasting(answer.sdp);\n Janus.warn('simulcast=true, but this is an answer, and video breaks in Chrome if we enable it')\n } else if(Janus.webRTCAdapter.browserDetails.browser !== 'firefox') {\n Janus.warn('simulcast=true, but this is not Chrome nor Firefox, ignoring')\n }\n }\n config.mySdp = {\n type: 'answer',\n sdp: answer.sdp\n }\n config.pc.setLocalDescription(answer)\n .catch(callbacks.error)\n config.mediaConstraints = mediaConstraints\n if(!config.iceDone && !config.trickle) {\n // Don't do anything until we have all candidates\n Janus.log('Waiting for all candidates...')\n return\n }\n // If transforms are present, notify Janus that the media is end-to-end encrypted\n if(config.senderTransforms || config.receiverTransforms) {\n answer['e2ee'] = true\n }\n callbacks.success(answer)\n }, callbacks.error)\n }\n\n function sendSDP(handleId, callbacks) {\n callbacks = callbacks || {}\n callbacks.success = (typeof callbacks.success == 'function') ? callbacks.success : Janus.noop\n callbacks.error = (typeof callbacks.error == 'function') ? callbacks.error : Janus.noop\n var pluginHandle = pluginHandles[handleId]\n if(!pluginHandle || !pluginHandle.webrtcStuff) {\n Janus.warn('Invalid handle, not sending anything')\n return\n }\n var config = pluginHandle.webrtcStuff\n Janus.log('Sending offer/answer SDP...')\n if(!config.mySdp) {\n Janus.warn('Local SDP instance is invalid, not sending anything...')\n return\n }\n config.mySdp = {\n 'type': config.pc.localDescription.type,\n 'sdp': config.pc.localDescription.sdp\n }\n if(config.trickle === false)\n config.mySdp['trickle'] = false\n Janus.debug(callbacks)\n config.sdpSent = true\n callbacks.success(config.mySdp)\n }\n\n function getVolume(handleId, remote) {\n var pluginHandle = pluginHandles[handleId]\n if(!pluginHandle || !pluginHandle.webrtcStuff) {\n Janus.warn('Invalid handle')\n return 0\n }\n var stream = remote ? 'remote' : 'local'\n var config = pluginHandle.webrtcStuff\n if(!config.volume[stream])\n config.volume[stream] = { value: 0 }\n // Start getting the volume, if audioLevel in getStats is supported (apparently\n // they're only available in Chrome/Safari right now: https://webrtc-stats.callstats.io/)\n if(config.pc.getStats && (Janus.webRTCAdapter.browserDetails.browser === 'chrome' ||\n Janus.webRTCAdapter.browserDetails.browser === 'safari')) {\n if(remote && !config.remoteStream) {\n Janus.warn('Remote stream unavailable')\n return 0\n } else if(!remote && !config.myStream) {\n Janus.warn('Local stream unavailable')\n return 0\n }\n if(!config.volume[stream].timer) {\n Janus.log('Starting ' + stream + ' volume monitor')\n config.volume[stream].timer = setInterval(function() {\n config.pc.getStats()\n .then(function(stats) {\n stats.forEach(function (res) {\n if(!res || res.kind !== 'audio')\n return\n if((remote && !res.remoteSource) || (!remote && res.type !== 'media-source'))\n return\n config.volume[stream].value = (res.audioLevel ? res.audioLevel : 0)\n })\n })\n }, 200)\n return 0 // We don't have a volume to return yet\n }\n return config.volume[stream].value\n } else {\n // audioInputLevel and audioOutputLevel seem only available in Chrome? audioLevel\n // seems to be available on Chrome and Firefox, but they don't seem to work\n Janus.warn('Getting the ' + stream + ' volume unsupported by browser')\n return 0\n }\n }\n\n function isMuted(handleId, video) {\n var pluginHandle = pluginHandles[handleId]\n if(!pluginHandle || !pluginHandle.webrtcStuff) {\n Janus.warn('Invalid handle')\n return true\n }\n var config = pluginHandle.webrtcStuff\n if(!config.pc) {\n Janus.warn('Invalid PeerConnection')\n return true\n }\n if(!config.myStream) {\n Janus.warn('Invalid local MediaStream')\n return true\n }\n if(video) {\n // Check video track\n if(!config.myStream.getVideoTracks() || config.myStream.getVideoTracks().length === 0) {\n Janus.warn('No video track')\n return true\n }\n return !config.myStream.getVideoTracks()[0].enabled\n } else {\n // Check audio track\n if(!config.myStream.getAudioTracks() || config.myStream.getAudioTracks().length === 0) {\n Janus.warn('No audio track')\n return true\n }\n return !config.myStream.getAudioTracks()[0].enabled\n }\n }\n\n function mute(handleId, video, mute) {\n var pluginHandle = pluginHandles[handleId]\n if(!pluginHandle || !pluginHandle.webrtcStuff) {\n Janus.warn('Invalid handle')\n return false\n }\n var config = pluginHandle.webrtcStuff\n if(!config.pc) {\n Janus.warn('Invalid PeerConnection')\n return false\n }\n if(!config.myStream) {\n Janus.warn('Invalid local MediaStream')\n return false\n }\n if(video) {\n // Mute/unmute video track\n if(!config.myStream.getVideoTracks() || config.myStream.getVideoTracks().length === 0) {\n Janus.warn('No video track')\n return false\n }\n config.myStream.getVideoTracks()[0].enabled = !mute\n return true\n } else {\n // Mute/unmute audio track\n if(!config.myStream.getAudioTracks() || config.myStream.getAudioTracks().length === 0) {\n Janus.warn('No audio track')\n return false\n }\n config.myStream.getAudioTracks()[0].enabled = !mute\n return true\n }\n }\n\n function getBitrate(handleId) {\n var pluginHandle = pluginHandles[handleId]\n if(!pluginHandle || !pluginHandle.webrtcStuff) {\n Janus.warn('Invalid handle')\n return 'Invalid handle'\n }\n var config = pluginHandle.webrtcStuff\n if(!config.pc)\n return 'Invalid PeerConnection'\n // Start getting the bitrate, if getStats is supported\n if(config.pc.getStats) {\n if(!config.bitrate.timer) {\n Janus.log('Starting bitrate timer (via getStats)')\n config.bitrate.timer = setInterval(function() {\n config.pc.getStats()\n .then(function(stats) {\n stats.forEach(function (res) {\n if(!res)\n return\n var inStats = false\n // Check if these are statistics on incoming media\n if((res.mediaType === 'video' || res.id.toLowerCase().indexOf('video') > -1) &&\n res.type === 'inbound-rtp' && res.id.indexOf('rtcp') < 0) {\n // New stats\n inStats = true\n } else if(res.type == 'ssrc' && res.bytesReceived &&\n (res.googCodecName === 'VP8' || res.googCodecName === '')) {\n // Older Chromer versions\n inStats = true\n }\n // Parse stats now\n if(inStats) {\n config.bitrate.fps = res.framesPerSecond\n config.bitrate.bsnow = res.bytesReceived\n config.bitrate.tsnow = res.timestamp\n if(config.bitrate.bsbefore === null || config.bitrate.tsbefore === null) {\n // Skip this round\n config.bitrate.bsbefore = config.bitrate.bsnow\n config.bitrate.tsbefore = config.bitrate.tsnow\n } else {\n // Calculate bitrate\n var timePassed = config.bitrate.tsnow - config.bitrate.tsbefore\n if(Janus.webRTCAdapter.browserDetails.browser === 'safari')\n timePassed = timePassed/1000 // Apparently the timestamp is in microseconds, in Safari\n var bitRate = Math.round((config.bitrate.bsnow - config.bitrate.bsbefore) * 8 / timePassed)\n if(Janus.webRTCAdapter.browserDetails.browser === 'safari')\n bitRate = parseInt(bitRate/1000)\n config.bitrate.value = bitRate + ' kbps'\n //~ Janus.log(\"Estimated bitrate is \" + config.bitrate.value);\n config.bitrate.bsbefore = config.bitrate.bsnow\n config.bitrate.tsbefore = config.bitrate.tsnow\n }\n }\n })\n })\n }, 1000)\n }\n return config.bitrate\n } else {\n Janus.warn('Getting the video bitrate unsupported by browser')\n return 'Feature unsupported by browser'\n }\n }\n\n function webrtcError(error) {\n Janus.error('WebRTC error:', error)\n }\n\n function cleanupWebrtc(handleId, hangupRequest) {\n Janus.log('Cleaning WebRTC stuff')\n var pluginHandle = pluginHandles[handleId]\n if(!pluginHandle) {\n // Nothing to clean\n return\n }\n var config = pluginHandle.webrtcStuff\n if(config) {\n if(hangupRequest === true) {\n // Send a hangup request (we don't really care about the response)\n var request = { 'janus': 'hangup', 'transaction': Janus.randomString(12) }\n if(pluginHandle.token)\n request['token'] = pluginHandle.token\n if(apisecret)\n request['apisecret'] = apisecret\n Janus.debug('Sending hangup request (handle=' + handleId + '):')\n Janus.debug(request)\n if(websockets) {\n request['session_id'] = sessionId\n request['handle_id'] = handleId\n ws.send(JSON.stringify(request))\n } else {\n Janus.httpAPICall(server + '/' + sessionId + '/' + handleId, {\n verb: 'POST',\n withCredentials: withCredentials,\n body: request\n })\n }\n }\n // Cleanup stack\n config.remoteStream = null\n if(config.volume) {\n if(config.volume['local'] && config.volume['local'].timer)\n clearInterval(config.volume['local'].timer)\n if(config.volume['remote'] && config.volume['remote'].timer)\n clearInterval(config.volume['remote'].timer)\n }\n config.volume = {}\n if(config.bitrate.timer)\n clearInterval(config.bitrate.timer)\n config.bitrate.timer = null\n config.bitrate.bsnow = null\n config.bitrate.bsbefore = null\n config.bitrate.tsnow = null\n config.bitrate.tsbefore = null\n config.bitrate.value = null\n if(!config.streamExternal && config.myStream) {\n Janus.log('Stopping local stream tracks')\n Janus.stopAllTracks(config.myStream)\n }\n config.streamExternal = false\n config.myStream = null\n // Close PeerConnection\n try {\n config.pc.close()\n } catch(e) {\n // Do nothing\n }\n config.pc = null\n config.candidates = null\n config.mySdp = null\n config.remoteSdp = null\n config.iceDone = false\n config.dataChannel = {}\n config.dtmfSender = null\n config.senderTransforms = null\n config.receiverTransforms = null\n }\n pluginHandle.oncleanup()\n }\n\n // Helper method to munge an SDP to enable simulcasting (Chrome only)\n function mungeSdpForSimulcasting(sdp) {\n // Let's munge the SDP to add the attributes for enabling simulcasting\n // (based on https://gist.github.com/ggarber/a19b4c33510028b9c657)\n var lines = sdp.split('\\r\\n')\n var video = false\n var ssrc = [ -1 ], ssrc_fid = [ -1 ]\n var cname = null, msid = null, mslabel = null, label = null\n var insertAt = -1\n for(var i=0; i -1) {\n // We're done, let's add the new attributes here\n insertAt = i\n break\n }\n }\n continue\n }\n if(!video)\n continue\n var sim = lines[i].match(/a=ssrc-group:SIM (\\d+) (\\d+) (\\d+)/)\n if(sim) {\n Janus.warn('The SDP already contains a SIM attribute, munging will be skipped')\n return sdp\n }\n var fid = lines[i].match(/a=ssrc-group:FID (\\d+) (\\d+)/)\n if(fid) {\n ssrc[0] = fid[1]\n ssrc_fid[0] = fid[2]\n lines.splice(i, 1); i--\n continue\n }\n if(ssrc[0]) {\n var match = lines[i].match('a=ssrc:' + ssrc[0] + ' cname:(.+)')\n if(match) {\n cname = match[1]\n }\n match = lines[i].match('a=ssrc:' + ssrc[0] + ' msid:(.+)')\n if(match) {\n msid = match[1]\n }\n match = lines[i].match('a=ssrc:' + ssrc[0] + ' mslabel:(.+)')\n if(match) {\n mslabel = match[1]\n }\n match = lines[i].match('a=ssrc:' + ssrc[0] + ' label:(.+)')\n if(match) {\n label = match[1]\n }\n if(lines[i].indexOf('a=ssrc:' + ssrc_fid[0]) === 0) {\n lines.splice(i, 1); i--\n continue\n }\n if(lines[i].indexOf('a=ssrc:' + ssrc[0]) === 0) {\n lines.splice(i, 1); i--\n continue\n }\n }\n if(lines[i].length == 0) {\n lines.splice(i, 1); i--\n continue\n }\n }\n if(ssrc[0] < 0) {\n // Couldn't find a FID attribute, let's just take the first video SSRC we find\n insertAt = -1\n video = false\n for(var i=0; i -1) {\n // We're done, let's add the new attributes here\n insertAt = i\n break\n }\n }\n continue\n }\n if(!video)\n continue\n if(ssrc[0] < 0) {\n var value = lines[i].match(/a=ssrc:(\\d+)/)\n if(value) {\n ssrc[0] = value[1]\n lines.splice(i, 1); i--\n continue\n }\n } else {\n var match = lines[i].match('a=ssrc:' + ssrc[0] + ' cname:(.+)')\n if(match) {\n cname = match[1]\n }\n match = lines[i].match('a=ssrc:' + ssrc[0] + ' msid:(.+)')\n if(match) {\n msid = match[1]\n }\n match = lines[i].match('a=ssrc:' + ssrc[0] + ' mslabel:(.+)')\n if(match) {\n mslabel = match[1]\n }\n match = lines[i].match('a=ssrc:' + ssrc[0] + ' label:(.+)')\n if(match) {\n label = match[1]\n }\n if(lines[i].indexOf('a=ssrc:' + ssrc_fid[0]) === 0) {\n lines.splice(i, 1); i--\n continue\n }\n if(lines[i].indexOf('a=ssrc:' + ssrc[0]) === 0) {\n lines.splice(i, 1); i--\n continue\n }\n }\n if(lines[i].length === 0) {\n lines.splice(i, 1); i--\n continue\n }\n }\n }\n if(ssrc[0] < 0) {\n // Still nothing, let's just return the SDP we were asked to munge\n Janus.warn('Couldn\\'t find the video SSRC, simulcasting NOT enabled')\n return sdp\n }\n if(insertAt < 0) {\n // Append at the end\n insertAt = lines.length\n }\n // Generate a couple of SSRCs (for retransmissions too)\n // Note: should we check if there are conflicts, here?\n ssrc[1] = Math.floor(Math.random()*0xFFFFFFFF)\n ssrc[2] = Math.floor(Math.random()*0xFFFFFFFF)\n ssrc_fid[1] = Math.floor(Math.random()*0xFFFFFFFF)\n ssrc_fid[2] = Math.floor(Math.random()*0xFFFFFFFF)\n // Add attributes to the SDP\n for(var i=0; i `/ws/janus/${printerId}/`\nlet printerSharedWebRTCUrl = (token) => `/ws/share_token/janus/${token}/`\n\nfunction iceServers(authToken) {\n const turnServer = syndicate()?.turn_server\n const servers = [\n {\n urls: ['stun:stun.l.google.com:19302'],\n }\n ]\n\n if (turnServer) {\n servers.push(\n {\n urls: `turn:${turnServer}:80?transport=udp`,\n credential: authToken,\n username: authToken,\n },\n {\n urls: `turn:${turnServer}:80?transport=tcp`,\n credential: authToken,\n username: authToken,\n }\n );\n }\n\n return servers\n}\n\nexport default function WebRTCConnection(streamMode, streamIdToTest) {\n let h264Webrtc, mjpegWebrtc\n if (streamMode === undefined && streamIdToTest === undefined) {\n // The agent is an old version that doesn't support dynamic streaming\n h264Webrtc = H264WebRTCConnection([0, 1])\n mjpegWebrtc = MJpegWebRTCConnection(2)\n } else if (streamMode.includes('h264')) {\n h264Webrtc = H264WebRTCConnection([streamIdToTest])\n } else if (streamMode.includes('mjpeg')) {\n mjpegWebrtc = MJpegWebRTCConnection(streamIdToTest)\n }\n\n let self = {\n callbacks: {},\n initialized: false,\n h264WebRTCConn: h264Webrtc,\n mjpegWebRTCConn: mjpegWebrtc,\n\n openForShareToken(shareToken) {\n self.connect(printerSharedWebRTCUrl(shareToken), shareToken)\n },\n\n openForPrinter(printerId, authToken) {\n self.connect(printerWebRTCUrl(printerId), authToken)\n },\n connect(wsUri, token) {\n self.initialized = true\n if (self.h264WebRTCConn) self.h264WebRTCConn.connect(wsUri, token)\n if (self.mjpegWebRTCConn) self.mjpegWebRTCConn.connect(wsUri, token)\n },\n disconnect() {\n if (self.h264WebRTCConn) self.h264WebRTCConn.janus.destroy()\n if (self.mjpegWebRTCConn) self.mjpegWebRTCConn.janus.destroy()\n },\n stopStream() {\n if (self.h264WebRTCConn) self.h264WebRTCConn.stopStream()\n if (self.mjpegWebRTCConn) self.mjpegWebRTCConn.stopStream()\n },\n sendData(data) {\n if (self.h264WebRTCConn) self.h264WebRTCConn.sendData(data) // Data channel in the default stream is used to pass data from client to agent\n },\n startStream() {\n if (self.h264WebRTCConn) self.h264WebRTCConn.startStream()\n if (self.mjpegWebRTCConn) self.mjpegWebRTCConn.startStream()\n },\n setCallbacks(callbacks) {\n self.callbacks = { ...self.callbacks, ...callbacks }\n if (self.h264WebRTCConn) self.h264WebRTCConn.callbacks = self.callbacks\n if (self.mjpegWebRTCConn) self.mjpegWebRTCConn.callbacks = self.callbacks\n },\n }\n return self\n}\n\nfunction MJpegWebRTCConnection(streamIdToTest) {\n let self = {\n callbacks: {},\n streamId: undefined,\n streaming: undefined,\n bitrateInterval: null,\n\n connect(wsUri, token) {\n Janus.init({\n debug: 'all',\n callback: () => {\n if (!Janus.isWebrtcSupported()) {\n return\n }\n self.connectJanusWebSocket(wsUri, token)\n },\n })\n },\n\n connectJanusWebSocket(wsUri, token) {\n self.janus = new Janus({\n server:\n window.location.protocol.replace('http', 'ws') + '//' + window.location.host + wsUri,\n iceServers: iceServers(token),\n ipv6: true,\n success: () => {\n self.janus.attach({\n plugin: 'janus.plugin.streaming',\n opaqueId: 'streamingtest-' + Janus.randomString(12),\n success: function (pluginHandle) {\n Janus.log(\n 'Plugin attached! (' +\n pluginHandle.getPlugin() +\n ', id=' +\n pluginHandle.getId() +\n ')'\n )\n const body = { request: 'info', id: streamIdToTest } // id=2 is for mjpeg stream. This stream may not exist in the agent.\n Janus.debug('Sending message (' + JSON.stringify(body) + ')')\n pluginHandle.send({\n message: body,\n success: function (result) {\n let stream = get(result, 'info')\n if (stream) {\n self.streamId = stream.id\n self.streaming = pluginHandle\n\n const mjpegStreamExisting =\n get(stream, 'data') || // Janus 0.x format\n find(get(stream, 'media', []), { type: 'data' }) // Janus 1.x format\n\n if (mjpegStreamExisting) {\n self.callbacks.onStreamAvailable(self)\n }\n } else {\n self.janus.destroy()\n }\n },\n })\n },\n error: function (error) {\n Janus.error(' -- Error attaching plugin... ', error)\n janus.destroy()\n },\n onmessage: function (msg, jsep) {\n self.onMessage(msg, jsep)\n },\n onremotestream: function (stream) {},\n ondataopen: function () {},\n ondata: function (rawData) {\n if ('onMJpegData' in self.callbacks) {\n self.callbacks.onMJpegData(rawData)\n }\n },\n oncleanup: function () {},\n })\n },\n error(e) {\n Janus.error(' -- Error -- ', e)\n self.janus.destroy()\n },\n destroyed() {\n self.streaming = undefined\n self.streamId = undefined\n },\n })\n },\n onMessage(msg, jsep) {\n let self = this\n Janus.debug(' ::: Got a message :::')\n Janus.debug(msg)\n let result = msg['result']\n if (result !== null && result !== undefined) {\n if (result['status'] !== undefined && result['status'] !== null) {\n var status = result['status']\n if (status === 'starting') console.log('Starting')\n else if (status === 'started') console.log('Started')\n else if (status === 'stopped') {\n self.stopStream()\n }\n }\n } else if (msg['error'] !== undefined && msg['error'] !== null) {\n Janus.error(msg)\n self.stopStream()\n return\n }\n if (jsep !== undefined && jsep !== null) {\n // Offer from the plugin, let's answer\n self.streaming?.createAnswer({\n jsep: jsep,\n // We want recvonly audio/video and, if negotiated, datachannels\n media: { audioSend: false, videoSend: false, data: true },\n success: function (jsep) {\n Janus.debug('Got SDP!')\n Janus.debug(jsep)\n var body = { request: 'start' }\n self.streaming?.send({ message: body, jsep: jsep })\n },\n error: function (error) {\n Janus.error('WebRTC error:', error)\n },\n })\n }\n },\n channelOpen() {\n return !(self.streamId === undefined || self.streaming === undefined)\n },\n startStream() {\n if (!self.channelOpen()) {\n return\n }\n const body = { request: 'watch', offer_video: false, id: parseInt(self.streamId) }\n self.streaming?.send({ message: body })\n },\n stopStream() {\n const body = { request: 'stop' }\n self.streaming?.send({ message: body })\n self.streaming?.hangup()\n },\n }\n\n return self\n}\n\nfunction H264WebRTCConnection(streamIdsToTest) {\n let self = {\n callbacks: {},\n streamId: undefined,\n streaming: undefined,\n bitrateInterval: null,\n\n connect(wsUri, token) {\n Janus.init({\n debug: 'all',\n callback: () => {\n if (!Janus.isWebrtcSupported()) {\n return\n }\n self.connectJanusWebSocket(wsUri, token)\n },\n })\n },\n\n connectJanusWebSocket(wsUri, token) {\n self.janus = new Janus({\n server:\n window.location.protocol.replace('http', 'ws') + '//' + window.location.host + wsUri,\n iceServers: iceServers(token),\n ipv6: true,\n success: () => {\n self.janus.attach({\n plugin: 'janus.plugin.streaming',\n opaqueId: 'streamingtest-' + Janus.randomString(12),\n success: function (pluginHandle) {\n // Janus.log('Plugin attached! (' + pluginHandle.getPlugin() + ', id=' + pluginHandle.getId() + ')')\n\n // Old plugin versions use stream_id=0, which is no longer valid in Janus 1.x so plugin 2.2.x switched to stream_id=1\n // Both ides are tried. The invalid one will return a failure and ignored.\n streamIdsToTest.forEach((streamIdToTest) => {\n const body = { request: 'info', id: streamIdToTest }\n Janus.debug('Sending message (' + JSON.stringify(body) + ')')\n pluginHandle.send({\n message: body,\n success: function (result) {\n let stream = get(result, 'info')\n if (stream) {\n self.streamId = stream.id\n self.streaming = pluginHandle\n\n const videoStreamExisting =\n get(stream, 'video') || // Janus 0.x format\n find(get(stream, 'media', []), { type: 'video' }) // Janus 1.x format\n\n if (videoStreamExisting) {\n self.callbacks.onStreamAvailable(self)\n }\n }\n },\n })\n })\n },\n error: function (error) {\n Janus.error(' -- Error attaching plugin... ', error)\n self.janus.destroy()\n },\n onmessage: function (msg, jsep) {\n self.onMessage(msg, jsep)\n },\n onremotestream: function (stream) {\n Janus.debug(' ::: Got a remote stream :::')\n Janus.debug(stream)\n if ('onRemoteStream' in self.callbacks) {\n self.callbacks.onRemoteStream(stream)\n }\n },\n ontrackmuted: function () {\n if ('onTrackMuted' in self.callbacks) {\n self.callbacks.onTrackMuted()\n }\n },\n ontrackunmuted: function () {\n if ('onTrackUnmuted' in self.callbacks) {\n self.callbacks.onTrackUnmuted()\n }\n },\n slowLink: function (uplink, lost) {\n if ('onSlowLink' in self.callbacks) {\n self.callbacks.onSlowLink(lost)\n }\n },\n ondataopen: function () {},\n ondata: function (rawData) {\n if ('onData' in self.callbacks) {\n self.callbacks.onData(rawData)\n }\n },\n oncleanup: function () {\n if ('onDefaultStreamCleanup' in self.callbacks) {\n self.callbacks.onDefaultStreamCleanup()\n }\n },\n })\n },\n error(e) {\n Janus.error(' -- Error -- ', e)\n self.janus.destroy()\n },\n destroyed() {\n self.streaming = undefined\n self.streamId = undefined\n self.clearBitrateInterval()\n },\n })\n },\n onMessage(msg, jsep) {\n let self = this\n Janus.debug(' ::: Got a message :::')\n Janus.debug(msg)\n let result = msg['result']\n if (result !== null && result !== undefined) {\n if (result['status'] !== undefined && result['status'] !== null) {\n var status = result['status']\n if (status === 'starting') console.log('Starting')\n else if (status === 'started') console.log('Started')\n else if (status === 'stopped') {\n self.stopStream()\n }\n }\n } else if (msg['error'] !== undefined && msg['error'] !== null) {\n Janus.error(msg)\n self.stopStream()\n return\n }\n if (jsep !== undefined && jsep !== null) {\n // Offer from the plugin, let's answer\n self.streaming?.createAnswer({\n jsep: jsep,\n // We want recvonly audio/video and, if negotiated, datachannels\n media: { audioSend: false, videoSend: false, data: true },\n success: function (jsep) {\n Janus.debug('Got SDP!')\n Janus.debug(jsep)\n var body = { request: 'start' }\n self.streaming?.send({ message: body, jsep: jsep })\n },\n error: function (error) {\n Janus.error('WebRTC error:', error)\n },\n })\n }\n },\n channelOpen() {\n return !(self.streamId === undefined || self.streaming === undefined)\n },\n startStream() {\n if (!self.channelOpen()) {\n return\n }\n const body = { request: 'watch', offer_video: true, id: parseInt(self.streamId) }\n self.streaming?.send({ message: body })\n\n self.clearBitrateInterval()\n self.bitrateInterval = setInterval(function () {\n if (self.streaming) {\n const bitrate = self.streaming.getBitrate()\n if (bitrate && bitrate.value) {\n self.callbacks.onBitrateUpdated(self.streaming.getBitrate())\n } else {\n self.callbacks.onBitrateUpdated({ value: null })\n }\n } else {\n self.callbacks.onBitrateUpdated({ value: null })\n }\n }, 5000)\n },\n stopStream() {\n self.clearBitrateInterval()\n if (!self.channelOpen()) {\n return\n }\n const body = { request: 'stop' }\n self.streaming?.send({ message: body })\n self.streaming?.hangup()\n },\n\n sendData(data) {\n if (self.channelOpen()) {\n self.streaming?.data({ text: data, success: () => {} })\n }\n },\n\n clearBitrateInterval() {\n if (self.bitrateInterval) {\n clearInterval(self.bitrateInterval)\n self.bitrateInterval = null\n self.callbacks.onBitrateUpdated({ value: null })\n }\n },\n }\n\n return self\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"card-img-top webcam_container\"},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.slowLinkLoss > 50),expression:\"slowLinkLoss > 50\"}],ref:\"slowLinkWrapper\",staticClass:\"slow-link-wrapper\",on:{\"click\":_vm.slowLinkClicked,\"mouseenter\":function($event){_vm.fixSlowLinkTextWidth()\n _vm.slowLinkShowing = true\n _vm.slowLinkHiding = false},\"mouseleave\":function($event){_vm.fixSlowLinkTextWidth()\n _vm.slowLinkShowing = false\n _vm.slowLinkHiding = true}}},[_vm._m(0),_c('div',{ref:\"slowLinkText\",staticClass:\"text\",class:{\n 'show-and-hide': !_vm.slowLinkShowing && !_vm.slowLinkHiding,\n showing: _vm.slowLinkShowing && !_vm.slowLinkHiding,\n hiding: !_vm.slowLinkShowing && _vm.slowLinkHiding,\n }},[_vm._v(\" \"+_vm._s(_vm.$t(\"Video frames dropped\"))+\" \")])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.trackMuted),expression:\"trackMuted\"}],staticClass:\"muted-status-wrapper\"},[_c('div',{staticClass:\"text\"},[_vm._v(_vm._s(_vm.$t(\"Buffering...\")))]),_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.showMutedStatusDescription($event)}}},[_vm._v(_vm._s(_vm.$t(\"Why is it stuck?\")))])]),(\n _vm.isVideoAvailable && !_vm.autoplay && (_vm.isBasicStreamingReadyToPlay || _vm.isBasicStreamingFrozen)\n )?_c('b-button',{staticClass:\"centered-element p-0\",attrs:{\"disabled\":_vm.isBasicStreamingFrozen},on:{\"click\":_vm.onPlayBtnClicked}},[(_vm.isBasicStreamingReadyToPlay)?_c('i',{staticClass:\"fas fa-play ml-1\"}):_vm._e(),(_vm.isBasicStreamingFrozen)?_c('span',{staticClass:\"medium\"},[_vm._v(_vm._s(_vm.remainingSecondsUntilNextCycle)+\"s\")]):_vm._e()]):_vm._e(),(_vm.trackMuted || _vm.videoLoading)?_c('b-spinner',{staticClass:\"centered-element\",attrs:{\"label\":\"Buffering...\"}}):_vm._e(),(_vm.isVideoAvailable)?_c('div',[((!_vm.autoplay && _vm.isBasicStreamingInProgress) || _vm.currentBitrate)?_c('div',{staticClass:\"streaming-info overlay-info small\",class:{ clickable: _vm.isBasicStreamingInProgress },on:{\"click\":_vm.onInfoClicked}},[(_vm.isBasicStreamingInProgress)?_c('div',{staticClass:\"text-success\"},[_vm._v(\" \"+_vm._s(_vm.remainingSecondsCurrentVideoCycle)+\" \")]):_vm._e(),(_vm.currentBitrate)?_c('div',[_vm._v(_vm._s(_vm.currentBitrate))]):_vm._e()]):_vm._e(),(!_vm.autoplay && (_vm.isBasicStreamingReadyToPlay || _vm.isBasicStreamingFrozen))?_c('div',{staticClass:\"streaming-guide overlay-info\",on:{\"click\":_vm.onInfoClicked}},[(_vm.isBasicStreamingReadyToPlay)?_c('div',{staticClass:\"message\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Webcam streams up to 5 FPS for Free\"))+\" \")]):_vm._e(),(_vm.isBasicStreamingFrozen)?_c('div',{staticClass:\"message text-warning\"},[_vm._v(\" \"+_vm._s(_vm.remainingSecondsUntilNextCycle)+\"s left in the cooldown period \")]):_vm._e(),_c('a',{staticClass:\"learn-more\",attrs:{\"href\":\"#\"}},[_vm._v(_vm._s(_vm.$t(\"Learn more...\")))])]):_vm._e()]):_vm._e(),_c('div',{class:_vm.webcamRotateClass},[_c('div',{staticClass:\"webcam_fixed_ratio\",class:_vm.webcamRatioClass,style:({ transform: _vm.imageTransformStyle })},[(_vm.taggedSrc)?_c('img',{staticStyle:{\"position\":\"absolute\"},attrs:{\"src\":_vm.taggedSrc,\"alt\":_vm.printer.name + ' current image'}}):_vm._e(),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showMJpeg),expression:\"showMJpeg\"}],staticClass:\"webcam_fixed_ratio_inner ontop\"},[_c('img',{attrs:{\"src\":_vm.mjpgSrc}})]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showVideo),expression:\"showVideo\"}],staticClass:\"webcam_fixed_ratio_inner ontop\"},[_c('video',{ref:\"video\",staticClass:\"remote-video\",attrs:{\"width\":\"960\",\"height\":_vm.webcamVideoHeight,\"poster\":_vm.taggedSrc,\"autoplay\":\"\",\"muted\":\"\",\"playsinline\":\"\"},domProps:{\"muted\":true},on:{\"loadstart\":function($event){return _vm.onLoadStart()},\"canplay\":function($event){return _vm.onCanPlay()}}})])])]),_c('div',{staticClass:\"extra-controls\"},[(_vm.showVideo || _vm.showVideo || _vm.taggedSrc)?_c('div',{staticClass:\"video-control-btn\",on:{\"click\":_vm.onRotateRightClicked}},[_c('font-awesome-icon',{attrs:{\"icon\":\"fa-solid fa-rotate-right\"}})],1):_vm._e()])],1)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"icon bg-warning\"},[_c('i',{staticClass:\"fas fa-exclamation\"})])\n}]\n\nexport { render, staticRenderFns }","import { isLocalStorageSupported } from '@static/js/utils'\n\nexport default function ViewingThrottle(printerId, countDownCallback) {\n const localStorageItemId = `tsNextVideoCycle-${printerId}`\n let self = {\n countDownTimer: null,\n }\n\n self.startOrResumeVideoCycle = function () {\n if (!self.countDownTimer) {\n self.countDownTimer = setInterval(() => self.countDown(), 1000)\n }\n }\n\n self.resumeVideoCycle = function () {\n if (remainingSeconds < 60 && !self.countDownTimer) {\n self.countDownTimer = setInterval(() => self.countDown(), 1000)\n }\n }\n\n self.countDown = function () {\n self.updateRemainingSeconds(remainingSeconds - 1)\n\n if (isLocalStorageSupported()) {\n localStorage.setItem(localStorageItemId, new Date().getTime() / 1000 + remainingSeconds)\n }\n\n if (remainingSeconds < 0) {\n self.updateRemainingSeconds(60)\n clearInterval(this.countDownTimer)\n this.countDownTimer = null\n }\n }\n\n self.updateRemainingSeconds = function (newValue) {\n remainingSeconds = newValue\n const remainingViewableSeconds = remainingSeconds - 30\n const remainingSecondsUntilNextCycle = remainingSeconds > 30 ? -1 : remainingSeconds\n countDownCallback(remainingViewableSeconds, remainingSecondsUntilNextCycle)\n }\n\n let remainingSeconds\n if (isLocalStorageSupported()) {\n const tsNextVideoCycle = parseFloat(localStorage.getItem(localStorageItemId))\n const now = new Date().getTime() / 1000\n if (!tsNextVideoCycle || now > tsNextVideoCycle) {\n self.updateRemainingSeconds(60)\n } else {\n self.updateRemainingSeconds(Math.round(tsNextVideoCycle - now))\n }\n } else {\n self.updateRemainingSeconds(60)\n }\n\n return self\n}\n","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StreamingBox.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StreamingBox.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./StreamingBox.vue?vue&type=template&id=7045853e&scoped=true&\"\nimport script from \"./StreamingBox.vue?vue&type=script&lang=js&\"\nexport * from \"./StreamingBox.vue?vue&type=script&lang=js&\"\nimport style0 from \"./StreamingBox.vue?vue&type=style&index=0&id=7045853e&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7045853e\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[(!_vm.valid && !_vm.printing)?_c('span',[_vm._v(\"-\")]):_vm._e(),(!_vm.valid && _vm.printing)?_c('b-spinner',{attrs:{\"small\":\"\",\"type\":\"grow\",\"label\":\"Calculating...\"}}):_vm._e(),(_vm.valid && _vm.showHours)?_c('span',[_vm._v(\" \"+_vm._s(_vm.hours)),_c('span',{staticClass:\"text-subscript text-muted\"},[_vm._v(\"h\")])]):_vm._e(),(_vm.valid && _vm.showMinutes)?_c('span',[_vm._v(\" \"+_vm._s(_vm.minutes)),_c('span',{staticClass:\"text-subscript text-muted\"},[_vm._v(\"m\")])]):_vm._e(),(_vm.valid && _vm.showSeconds)?_c('span',[_vm._v(\" \"+_vm._s(_vm.seconds)),_c('span',{staticClass:\"text-subscript text-muted\"},[_vm._v(\"s\")])]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DurationBlock.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DurationBlock.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DurationBlock.vue?vue&type=template&id=439126f6&\"\nimport script from \"./DurationBlock.vue?vue&type=script&lang=js&\"\nexport * from \"./DurationBlock.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"wrapper\"},_vm._l((_vm.temperatures),function(item,key){return _c('temperature-item',{key:key,attrs:{\"temp-key\":key,\"temp-item\":item,\"is-plugin-version-sufficient\":_vm.isPluginVersionSufficient},on:{\"TempEditClicked\":function($event){return _vm.onEditClicked(key, item)}}})}),1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"temp-item\",class:{ editable: _vm.editable },on:{\"click\":function($event){return _vm.onEditClicked(_vm.tempKey, _vm.tempItem)}}},[_c('div',{staticClass:\"icon\"},[(_vm.heaterIcon)?_c('svg',[_c('use',{attrs:{\"href\":_vm.heaterIcon}})]):_c('i',{staticClass:\"fas fa-thermometer-empty\"})]),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.temperatureDisplayName(_vm.tempKey)))]),_c('div',{staticClass:\"value-wrapper\"},[_c('div',{staticClass:\"value\"},[_vm._v(_vm._s(parseFloat(_vm.tempItem.actual).toFixed(1))+\" °C\")]),(_vm.editable)?_c('div',{staticClass:\"target\"},[_vm._v(\"/ \"+_vm._s(Math.round(_vm.tempItem.target))+\" °C\")]):_vm._e()])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TemperatureItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TemperatureItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TemperatureItem.vue?vue&type=template&id=6371ef1e&scoped=true&\"\nimport script from \"./TemperatureItem.vue?vue&type=script&lang=js&\"\nexport * from \"./TemperatureItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TemperatureItem.vue?vue&type=style&index=0&id=6371ef1e&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6371ef1e\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StatusTemp.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StatusTemp.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./StatusTemp.vue?vue&type=template&id=a51f3d38&scoped=true&\"\nimport script from \"./StatusTemp.vue?vue&type=script&lang=js&\"\nexport * from \"./StatusTemp.vue?vue&type=script&lang=js&\"\nimport style0 from \"./StatusTemp.vue?vue&type=style&index=0&id=a51f3d38&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a51f3d38\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',{staticClass:\"text-center\"},[(_vm.value > 0)?_c('h1',{staticClass:\"target-temp-degree\"},[_vm._v(\" \"+_vm._s(_vm.value)+\" \"),_c('span',{staticClass:\"text-subscript text-muted\"},[_vm._v(\"°C\")])]):_vm._e(),(_vm.value < 1)?_c('h1',{staticClass:\"target-temp-degree\"},[_vm._v(_vm._s(_vm.$t(\"OFF\")))]):_vm._e()]),_c('br'),_c('div',{staticClass:\"mb-5\"},[_c('div',[_c('h5',[_vm._v(_vm._s(_vm.$t(\"Presets\"))+\":\")])]),_c('div',[_c('b-form-select',{staticClass:\"form-control\",attrs:{\"id\":\"id_preset\"},on:{\"change\":_vm.onPresetChanged},model:{value:(_vm.preset),callback:function ($$v) {_vm.preset=$$v},expression:\"preset\"}},_vm._l((_vm.allPresets),function(pre){return _c('b-form-select-option',{key:pre.name,attrs:{\"value\":parseInt(pre.value)}},[_vm._v(\" \"+_vm._s(pre.title)+\" \")])}),1)],1),_c('br'),_c('h5',[_vm._v(_vm._s(_vm.$t(\"Manual\"))+\":\")]),_c('div',[_c('slider-input',{attrs:{\"min\":0,\"max\":_vm.maxTemp,\"step\":1},on:{\"change\":_vm.onSliderChanged},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.value),expression:\"value\"}],attrs:{\"id\":\"target-temp\",\"type\":\"hidden\"},domProps:{\"value\":(_vm.value)},on:{\"input\":function($event){if($event.target.composing)return;_vm.value=$event.target.value}}})],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"slidecontainer\"},[_c('input',{staticClass:\"slider\",attrs:{\"type\":\"range\",\"min\":_vm.min,\"max\":_vm.max,\"step\":_vm.step},domProps:{\"value\":_vm.value},on:{\"change\":function($event){_vm.$emit('change', Number($event.target.value))},\"input\":function($event){_vm.$emit('input', Number($event.target.value))}}})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SliderInput.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SliderInput.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SliderInput.vue?vue&type=template&id=3dcc12a9&scoped=true&\"\nimport script from \"./SliderInput.vue?vue&type=script&lang=js&\"\nexport * from \"./SliderInput.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SliderInput.vue?vue&type=style&index=0&id=3dcc12a9&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3dcc12a9\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TempTargetEditor.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TempTargetEditor.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TempTargetEditor.vue?vue&type=template&id=7b29805e&\"\nimport script from \"./TempTargetEditor.vue?vue&type=script&lang=js&\"\nexport * from \"./TempTargetEditor.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('h2',{staticClass:\"text-center\"},[_vm._v(_vm._s(_vm.$t(\"Printer Feed Sharing\")))]),_c('hr'),(!_vm.isProAccount)?_c('div',[_c('h5',{staticClass:\"mb-5\"},[_c('i18next',{attrs:{\"translation\":_vm.$t('Wait! You need to {localizedDom} to enable Printer feed.')},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('a',{attrs:{\"href\":\"/ent_pub/pricing/\"}},[_vm._v(_vm._s(_vm.$t(\"upgrade to the Pro plan\")))])]},proxy:true}],null,false,3414343479)})],1),_c('p',[_vm._v(_vm._s(_vm.$t(\"Printer feed sharing is a Pro feature.\")))]),_c('p',[_c('a',{attrs:{\"href\":_vm.getDocUrl('/user-guides/upgrade-to-pro#why-cant-the-detective-just-work-for-free-people-love-free-you-know')}},[_vm._v(\" \"+_vm._s(_vm.$t('Running the {brandName} app incurs non-trivial amount of costs',{brandName:_vm.$syndicateText.brandName}))+\" \")]),_vm._v(\". \"+_vm._s(_vm.$t('With little more than 1 Starbucks per month, you can upgrade to a Pro account and help us run the {brandName} app smoothly.',{brandName:_vm.$syndicateText.brandName}))+\" \")]),_c('p',[_c('a',{attrs:{\"href\":\"/ent_pub/pricing/\"}},[_vm._v(_vm._s(_vm.$t(\"Check out Pro pricing >>>\")))])])]):_c('div',[_c('div',{staticClass:\"py-3\"},[_c('div',{staticClass:\"custom-control custom-switch\"},[_c('input',{staticClass:\"custom-control-input update-printer\",attrs:{\"id\":'sharing_enabled-toggle-' + _vm.printer.id,\"type\":\"checkbox\"},domProps:{\"checked\":_vm.sharedResource},on:{\"click\":_vm.onSharingToggled}}),_c('label',{staticClass:\"custom-control-label\",staticStyle:{\"font-size\":\"1rem\"},attrs:{\"for\":'sharing_enabled-toggle-' + _vm.printer.id}},[_vm._v(_vm._s(_vm.$t(\"Share live feed for printer \"))+\"\\\"\"),_c('b',[_vm._v(_vm._s(_vm.printer.name))]),_vm._v(\"\\\"\")])]),_c('div',{staticClass:\"form-group\"},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.sharedLink),expression:\"sharedLink\"}]},[_c('div',{staticClass:\"input-group mt-4 mb-2\"},[_c('input',{ref:\"sharedLink\",staticClass:\"form-control shared-link-text\",attrs:{\"id\":\"secret-token-input\",\"type\":\"text\",\"aria-label\":\"Secret token\",\"readonly\":\"\"},domProps:{\"value\":_vm.sharedLink}}),_c('div',{staticClass:\"input-group-append\"},[_c('div',{staticClass:\"copy-button\",attrs:{\"id\":\"copy-link\",\"data-clipboard-target\":\"#secret-token-input\",\"aria-label\":\"Copy secure link to clipboard\"},on:{\"click\":_vm.copyToClipboard}},[_c('i',{staticClass:\"fas fa-clipboard\"})]),_c('b-tooltip',{attrs:{\"show\":_vm.copyStatus,\"target\":\"copy-link\",\"triggers\":\"click\",\"placement\":\"bottom\"},on:{\"update:show\":function($event){_vm.copyStatus=$event}}},[_vm._v(_vm._s(_vm.copyMessage))])],1)]),_c('div',{staticClass:\"my-1\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Click the clipboard icon above to copy the secure shareable link to your clipboard.\"))+\" \")]),_c('div',{staticClass:\"my-1\"},[_c('i18next',{attrs:{\"translation\":_vm.$t(`You can test the shareable link by right-clicking {localizedDom} and select 'Open Link in Incognito Window'.`)},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('a',{attrs:{\"href\":_vm.sharedLink}},[_vm._v(_vm._s(_vm.$t(\"here\")))])]},proxy:true}])})],1),_c('br'),_c('em',{staticClass:\"text-muted\"},[_c('small',[_c('div',[_vm._v(_vm._s(_vm.$t(\"Notes\"))+\":\")]),_c('ul',[_c('li',[_vm._v(\" \"+_vm._s(_vm.$t('Send the secure link to anyone you want to share your printer feed with. They do NOT need the {brandName} account to see your printer feed.',{brandName:_vm.$syndicateText.brandName}))+\" \")]),_c('li',[_vm._v(\" \"+_vm._s(_vm.$t(\"Anyone with this shareable link will be able to see your printer feed.\"))+\" \"),_c('a',{attrs:{\"href\":_vm.getDocUrl('/user-guides/printer-feed-sharing/')}},[_vm._v(_vm._s(_vm.$t(\"Learn more about what they can see.\")))])])])])])])]),_c('br')])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharePrinter.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharePrinter.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SharePrinter.vue?vue&type=template&id=1f31c9c1&scoped=true&\"\nimport script from \"./SharePrinter.vue?vue&type=script&lang=js&\"\nexport * from \"./SharePrinter.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SharePrinter.vue?vue&type=style&index=0&id=1f31c9c1&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1f31c9c1\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('widget-template',{attrs:{\"inside-card\":_vm.insideCard},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_vm._v(_vm._s(_vm.$t(\"Print Job Control\")))]},proxy:true},{key:\"content\",fn:function(){return [_c('div',{staticClass:\"wrapper\"},[(!_vm.printer.isOffline() && _vm.printer.hasError())?_c('div',{staticClass:\"error-container\"},[_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.printer.agentDisplayName())+\" \"+_vm._s(_vm.$t('Error')))]),_c('p',{staticClass:\"text\"},[_vm._v(\" \"+_vm._s(_vm.printer.status.state.error)+\" \")])]):_vm._e(),(_vm.printer.inUserInteractionRequired())?_c('div',{staticClass:\"warning-container\"},[_c('p',{staticClass:\"text\"},[_vm._v(_vm._s(_vm.$t(\"Filament Change or User Interaction Required\")))])]):_vm._e(),(_vm.printer.inTransientState())?[_c('b-spinner',{attrs:{\"label\":\"Processing...\"}}),_c('p',[_vm._v(_vm._s(_vm.printer.calculatedState())+\"...\")])]:[(!_vm.printer.isOffline() && !_vm.printer.isDisconnected() && _vm.printer.isActive())?[_c('p',[(!_vm.printer.isPaused())?_c('span',[_vm._v(_vm._s(_vm.$t(\"Printer is Currently Printing\")))]):_c('span',[_vm._v(_vm._s(_vm.$t(\"Print is Paused\")))])]),_c('div',{staticClass:\"buttons\"},[(!_vm.printer.isPaused())?_c('b-button',{staticClass:\"custom-button\",attrs:{\"variant\":\"warning\"},on:{\"click\":function($event){return _vm.onPauseToggled($event)}}},[_c('font-awesome-icon',{attrs:{\"icon\":\"fa-solid fa-circle-pause\"}}),_vm._v(\" \"+_vm._s(_vm.$t(\"Pause\"))+\" \")],1):_c('b-button',{staticClass:\"custom-button\",attrs:{\"variant\":\"success\"},on:{\"click\":function($event){return _vm.onPauseToggled($event)}}},[_c('font-awesome-icon',{attrs:{\"icon\":\"fa-solid fa-circle-play\"}}),_vm._v(\" \"+_vm._s(_vm.$t(\"Resume\"))+\" \")],1),_c('b-button',{staticClass:\"custom-button\",attrs:{\"variant\":\"danger\"},on:{\"click\":_vm.onCancelClicked}},[_c('font-awesome-icon',{attrs:{\"icon\":\"fa-solid fa-circle-xmark\"}}),_vm._v(\" \"+_vm._s(_vm.$t(\"Cancel\"))+\" \")],1)],1)]:_vm._e(),(!_vm.printer.isOffline() && !_vm.printer.isDisconnected() && !_vm.printer.isActive())?[_c('p',[_vm._v(_vm._s(_vm.$t(\"Open G-Code File to Start Printing\")))]),_c('div',{staticClass:\"buttons\"},[_c('b-button',{staticClass:\"custom-button\",attrs:{\"variant\":\"outline-primary\"},on:{\"click\":_vm.openObicoFiles}},[_c('svg',{staticClass:\"logo-small custom-svg-icon\"},[_c('use',{attrs:{\"href\":\"#svg-logo-compact\"}})]),_vm._v(\" \"+_vm._s(_vm.$syndicateText.brandName)+\" \"+_vm._s(_vm.$t(\"Files\"))+\" \")]),(_vm.printer.isAgentMoonraker())?_c('b-button',{staticClass:\"custom-button\",attrs:{\"variant\":\"outline-secondary\"},on:{\"click\":_vm.openPrinterFiles}},[_vm._v(\"   \"),_c('svg',{staticClass:\"logo-small custom-svg-icon\"},[_c('use',{attrs:{\"href\":\"#svg-klipper-logo\"}})]),_c('svg',{staticClass:\"logo-small custom-svg-icon\"},[_c('use',{attrs:{\"href\":\"#svg-fluidd-logo\"}})]),_c('svg',{staticClass:\"logo-small custom-svg-icon\"},[_c('use',{attrs:{\"href\":\"#svg-mainsail-logo\"}})]),_vm._v(\"   \")]):_c('b-button',{staticClass:\"custom-button\",attrs:{\"variant\":\"outline-secondary\"},on:{\"click\":_vm.openPrinterFiles}},[_c('svg',{staticClass:\"logo-small custom-svg-icon\"},[_c('use',{attrs:{\"href\":\"#svg-octoprint-logo\"}})]),_vm._v(\" OctoPrint \")])],1)]:_vm._e()],(!_vm.printer.isOffline() && _vm.printer.isDisconnected())?[_c('p',[_vm._v(_vm._s(_vm.$t(\"Printer Not Connected at the Serial Port\")))]),_c('div',{staticClass:\"buttons\"},[(!_vm.printer.isAgentMoonraker())?_c('b-button',{attrs:{\"variant\":\"outline-primary\",\"disabled\":_vm.connecting},on:{\"click\":_vm.onConnectClicked}},[(_vm.connecting)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_c('i',{staticClass:\"fab fa-usb\"}),_vm._v(\" \"+_vm._s(_vm.connecting ? _vm.$t('Contacting OctoPrint') : _vm.$t('Connect'))+\" \")],1):_vm._e()],1)]:(_vm.printer.isOffline())?[_c('i',{staticClass:\"fas fa-exclamation-triangle big-icon warning\"}),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"{brandName} for {name} is Offline.\",{brandName:_vm.$syndicateText.brandName,name:_vm.printer.isAgentMoonraker() ? 'Klipper' : 'OctoPrint'}))+\" \"),_c('a',{attrs:{\"target\":\"_blank\",\"href\":_vm.getDocUrl('/user-guides/troubleshoot-server-connection-issues/')}},[_vm._v(_vm._s(_vm.$t(\"Why?\")))])])]:_vm._e(),(_vm.printer)?_c('b-modal',{attrs:{\"id\":_vm.modalId,\"size\":\"lg\"},on:{\"hidden\":_vm.resetGcodesModal}},[(_vm.selectedGcodeId)?_c('g-code-file-page',{attrs:{\"is-popup\":true,\"target-printer-id\":_vm.printer.id,\"route-params\":{\n fileId: _vm.selectedGcodeId,\n printerId: _vm.printerFiles ? _vm.printer.id : null,\n },\"on-close\":() => _vm.$bvModal.hide(_vm.modalId)},on:{\"goBack\":() => {\n _vm.selectedGcodeId = null\n _vm.scrollToTop()\n }}}):_c('g-code-folders-page',{attrs:{\"is-popup\":true,\"target-printer\":_vm.printer,\"route-params\":{\n printerId: _vm.printerFiles ? _vm.printer.id : null,\n parentFolder: null,\n },\"on-close\":() => _vm.$bvModal.hide(_vm.modalId),\"saved-path\":_vm.savedPath,\"scroll-container-id\":_vm.modalId},on:{\"openFile\":(fileId, printerId, path) => {\n _vm.selectedGcodeId = fileId\n _vm.savedPath = path\n _vm.scrollToTop()\n }}})],1):_vm._e()],2)]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"widget\",class:{ insideCard: _vm.insideCard }},[_c('div',{staticClass:\"widget-title\"},[_vm._t(\"title\")],2),_c('div',{staticClass:\"widget-content\"},[_vm._t(\"content\")],2)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetTemplate.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetTemplate.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./WidgetTemplate.vue?vue&type=template&id=922c39c0&scoped=true&\"\nimport script from \"./WidgetTemplate.vue?vue&type=script&lang=js&\"\nexport * from \"./WidgetTemplate.vue?vue&type=script&lang=js&\"\nimport style0 from \"./WidgetTemplate.vue?vue&type=style&index=0&id=922c39c0&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"922c39c0\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('page-layout',{attrs:{\"is-popup\":_vm.isPopup},scopedSlots:_vm._u([{key:\"topBarLeft\",fn:function(){return [(_vm.isPopup && _vm.parentFolder !== null)?_c('a',{staticClass:\"btn shadow-none icon-btn d-inline\",attrs:{\"href\":\"#\",\"title\":\"Go Back\"},on:{\"click\":function($event){$event.preventDefault();return _vm.goBack.apply(null, arguments)}}},[_c('i',{staticClass:\"fas fa-chevron-left\"})]):_vm._e(),(!_vm.isPopup && _vm.isCloud)?_c('div',{staticClass:\"actions-with-selected-desktop\"},[_c('b-form-group',{staticClass:\"m-0\"},[_c('b-form-checkbox',{attrs:{\"checked\":_vm.allSelected,\"size\":\"md\"},nativeOn:{\"!click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.toggleSelectAll.apply(null, arguments)}}})],1),_c('div',[_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.selectedItemsCount),expression:\"!selectedItemsCount\"}],staticClass:\"label\",on:{\"click\":_vm.toggleSelectAll}},[_vm._v(_vm._s(_vm.$t(\"Select all\")))]),_c('b-dropdown',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selectedItemsCount),expression:\"selectedItemsCount\"}],attrs:{\"toggle-class\":\"btn btn-sm actions-with-selected-btn\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.selectedItemsCount)+\" item\"+_vm._s(_vm.selectedItemsCount === 1 ? '' : 's')+\" \"+_vm._s(_vm.$t(\"selected\"))+\" \")]},proxy:true}],null,false,4258773973)},[_c('b-dropdown-item',[_c('div',{on:{\"click\":_vm.moveSelectedItems}},[_c('i',{staticClass:\"fas fa-arrows-alt\"}),_vm._v(_vm._s(_vm.$t(\"Move\")))])]),_c('b-dropdown-item',[_c('div',{staticClass:\"text-danger\",on:{\"click\":_vm.deleteSelectedItems}},[_c('i',{staticClass:\"far fa-trash-alt\"}),_vm._v(_vm._s(_vm.$t(\"Delete\"))+\" \")])])],1)],1)],1):_vm._e(),_c('search-input',{staticClass:\"search-input mr-3\",on:{\"input\":_vm.updateSearch}})]},proxy:true},{key:\"topBarRight\",fn:function(){return [_c('div',{staticClass:\"action-panel\"},[(_vm.isCloud)?_c('a',{staticClass:\"btn shadow-none icon-btn d-none d-md-inline\",attrs:{\"href\":\"#\",\"title\":\"Create folder\"},on:{\"click\":function($event){$event.preventDefault();return _vm.createFolder.apply(null, arguments)}}},[_c('i',{staticClass:\"fas fa-folder-plus\"})]):_vm._e(),_c('b-dropdown',{attrs:{\"right\":\"\",\"no-caret\":\"\",\"toggle-class\":\"action-btn icon-btn\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('i',{staticClass:\"fas fa-server\"})]},proxy:true}])},[_c('b-dropdown-text',{staticClass:\"small text-secondary\"},[_vm._v(_vm._s(_vm.$t(\"STORAGE\")))]),_c('b-dropdown-item',{on:{\"click\":_vm.switchToCloudStorage}},[_c('div',{staticClass:\"dropdown-text-group\"},[_c('i',{staticClass:\"fas fa-check text-primary\",style:({ visibility: _vm.isCloud ? 'visible' : 'hidden' })}),_c('div',{staticClass:\"text\"},[_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$syndicateText.brandName)+\" \"+_vm._s(_vm.$t(\"Cloud\")))])])])]),_vm._l((_vm.printers),function(printer){return _c('b-dropdown-item',{key:printer.id,on:{\"click\":() => _vm.switchToPrinterStorage(printer)}},[_c('div',{staticClass:\"dropdown-text-group\"},[_c('i',{staticClass:\"fas fa-check text-primary\",style:({ visibility: _vm.selectedPrinterId === printer.id ? 'visible' : 'hidden' })}),_c('div',{staticClass:\"text\"},[_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(printer.name))]),_c('div',{staticClass:\"subtitle\",class:[_vm.isPrinterBrowsable(printer) ? 'text-success' : 'text-warning']},[_vm._v(\" \"+_vm._s(_vm.printerBrowsabilityText(printer))+\" \")])])])])})],2),_c('b-dropdown',{attrs:{\"right\":\"\",\"no-caret\":\"\",\"toggle-class\":\"action-btn icon-btn\",\"title\":\"Sort By\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('i',{staticClass:\"fas fa-sort-amount-down\"})]},proxy:true}])},[_c('sorting-dropdown',{attrs:{\"local-storage-prefix\":_vm.sortingLocalStoragePrefix,\"sorting-options\":_vm.sortingOptions,\"sorting-value\":_vm.sortingValue},on:{\"onSortingUpdated\":_vm.onSortingUpdated}})],1),_c('b-dropdown',{attrs:{\"right\":\"\",\"no-caret\":\"\",\"toggle-class\":\"icon-btn d-md-none\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('i',{staticClass:\"fas fa-ellipsis-v\"})]},proxy:true}])},[_c('cascaded-dropdown',{ref:\"cascadedDropdown\",attrs:{\"menu-options\":_vm.mobileMenuOptions},on:{\"menuOptionClicked\":_vm.onMenuOptionClicked},scopedSlots:_vm._u([{key:\"sorting\",fn:function(){return [_c('sorting-dropdown',{attrs:{\"local-storage-prefix\":_vm.sortingLocalStoragePrefix,\"sorting-options\":_vm.sortingOptions,\"sorting-value\":_vm.sortingValue},on:{\"onSortingUpdated\":_vm.onSortingUpdated}})]},proxy:true},{key:\"storage\",fn:function(){return [_c('b-dropdown-text',{staticClass:\"small text-secondary\"},[_vm._v(_vm._s(_vm.$t(\"STORAGE\")))]),_c('b-dropdown-item',{on:{\"click\":() => {\n _vm.switchToCloudStorage()\n _vm.$refs.cascadedDropdown.resetMenuExpanded()\n }}},[_c('div',{staticClass:\"dropdown-text-group\"},[_c('i',{staticClass:\"fas fa-check text-primary\",style:({ visibility: _vm.isCloud ? 'visible' : 'hidden' })}),_c('div',{staticClass:\"text\"},[_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$syndicateText.brandName)+\" \"+_vm._s(_vm.$t(\"Cloud\")))])])])]),_vm._l((_vm.printers),function(printer){return _c('b-dropdown-item',{key:printer.id,on:{\"click\":() => {\n _vm.switchToPrinterStorage(printer)\n _vm.$refs.cascadedDropdown.resetMenuExpanded()\n }}},[_c('div',{staticClass:\"dropdown-text-group\"},[_c('i',{staticClass:\"fas fa-check text-primary\",style:({ visibility: _vm.selectedPrinterId === printer.id ? 'visible' : 'hidden' })}),_c('div',{staticClass:\"text\"},[_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(printer.name))]),_c('div',{staticClass:\"subtitle\",class:[_vm.isPrinterBrowsable(printer) ? 'text-success' : 'text-warning']},[_vm._v(\" \"+_vm._s(_vm.printerBrowsabilityText(printer))+\" \")])])])])})]},proxy:true}])})],1),(_vm.onClose)?_c('a',{staticClass:\"btn shadow-none icon-btn d-inline\",attrs:{\"href\":\"#\",\"title\":\"Close\"},on:{\"click\":function($event){$event.preventDefault();return _vm.onClose.apply(null, arguments)}}},[_c('i',{staticClass:\"fas fa-times text-danger\"})]):_vm._e()],1)]},proxy:true},{key:\"content\",fn:function(){return [_c('b-container',[_c('b-row',[_c('b-col',[(_vm.isCloud)?_c('vue-dropzone',{ref:\"gcodesDropzone\",staticClass:\"upload-box\",attrs:{\"id\":\"dropzone\",\"options\":_vm.dropzoneOptions,\"use-custom-slot\":true},on:{\"vdropzone-queue-complete\":_vm.gcodeUploadSuccess,\"vdropzone-error\":_vm.gcodeUploadError,\"vdropzone-sending\":_vm.addParentFolderParam}},[_c('div',{staticClass:\"dz-message needsclick\"},[_c('i',{staticClass:\"fas fa-upload fa-2x\"}),_vm._v(\" \"),_c('br'),_c('div',[_vm._v(_vm._s(_vm.$t(\"G-Code file (*.gcode, *.gco, or *.g) only.\")))]),_c('div',[_vm._v(_vm._s(_vm.$t('Up to {maxFilesize} MB each file, {maxTotalFilesize} GB total.',{maxFilesize: _vm.maxFilesize,maxTotalFilesize: _vm.maxTotalFilesize})))])])]):_vm._e(),(!_vm.isCloud && _vm.isAgentMoonraker && _vm.searchStateIsActive)?_c('div',{staticClass:\"notice-block\"},[_c('div',{staticClass:\"icon\"},[_c('i',{staticClass:\"fas fa-info\"})]),_c('p',{staticClass:\"message\"},[_vm._v(_vm._s(_vm.$t(\"Search in Klipper printers works only for current directory\")))])]):_vm._e(),_c('g-code-file-structure',{ref:\"gCodeFileStructure\",attrs:{\"is-cloud\":_vm.isCloud,\"is-popup\":_vm.isPopup,\"search-state-is-active\":_vm.searchStateIsActive,\"search-in-progress\":_vm.searchInProgress,\"folders\":_vm.folders,\"files\":_vm.files,\"target-printer\":_vm.targetPrinter,\"nothing-found\":_vm.nothingFound,\"loading\":_vm.loading,\"scroll-container-id\":_vm.scrollContainerId,\"no-more-folders\":_vm.noMoreFolders,\"no-more-files\":_vm.noMoreFiles,\"local-files-loading\":_vm.localFilesLoading},on:{\"openFolder\":_vm.openFolder,\"openFile\":_vm.openFile,\"renameItem\":_vm.renameItem,\"moveItem\":_vm.moveItem,\"deleteItem\":_vm.deleteItem,\"print\":_vm.onPrintClicked,\"fetchMore\":_vm.fetchFilesAndFolders,\"selectFiles\":_vm.onSelectFiles,\"selectFolders\":_vm.onSelectFolders}})],1)],1)],1),_c('rename-modal',{ref:\"renameModal\",attrs:{\"item\":_vm.activeItem,\"pre-confirm\":_vm.verifyItemRename},on:{\"renamed\":_vm.onItemRenamed}}),_c('move-modal',{ref:\"moveModal\",attrs:{\"item\":_vm.activeItem,\"items\":_vm.activeItems,\"item-parent-folder-id\":_vm.parentFolder,\"target-printer\":_vm.targetPrinter,\"scroll-container-id\":_vm.scrollContainerId,\"sorting-value\":_vm.sortingValue},on:{\"moved\":_vm.onItemMoved}}),_c('delete-confirmation-modal',{ref:\"deleteConfirmationModal\",attrs:{\"item\":_vm.activeItem},on:{\"deleted\":_vm.onItemDeleted}}),_c('new-folder-modal',{ref:\"newFolderModal\",attrs:{\"pre-confirm\":_vm.verifyNewFolder,\"parent-folder-id\":_vm.parentFolder},on:{\"created\":_vm.onFolderCreated}})]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"search-wrapper\"},[_vm._m(0),_c('input',{staticClass:\"dark\",attrs:{\"type\":\"text\",\"placeholder\":_vm.$t('Search')},domProps:{\"value\":_vm.value},on:{\"input\":function($event){return _vm.$emit('input', $event.target.value)},\"focus\":function($event){return _vm.$emit('focus')},\"blur\":function($event){return _vm.$emit('blur')}}})])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"search-icon\"},[_c('i',{staticClass:\"fas fa-search\"})])\n}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchInput.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchInput.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SearchInput.vue?vue&type=template&id=33fc3084&scoped=true&\"\nimport script from \"./SearchInput.vue?vue&type=script&lang=js&\"\nexport * from \"./SearchInput.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SearchInput.vue?vue&type=style&index=0&id=33fc3084&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"33fc3084\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('b-modal',{attrs:{\"id\":\"b-modal-new-folder\",\"title\":_vm.$t('Enter new folder name'),\"ok-title\":_vm.$t('Create'),\"cancel-title\":_vm.$t('Cancel'),\"ok-disabled\":!_vm.newFolderName.length,\"centered\":\"\"},on:{\"ok\":_vm.handleOk,\"hidden\":_vm.resetModal,\"shown\":_vm.focusInput}},[_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.handleSubmit.apply(null, arguments)}}},[_c('div',{staticClass:\"my-2\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newFolderName),expression:\"newFolderName\"}],ref:\"input\",staticClass:\"input-lg\",attrs:{\"type\":\"text\",\"name\":\"name\",\"placeholder\":_vm.$t('Folder name'),\"required\":\"required\"},domProps:{\"value\":(_vm.newFolderName)},on:{\"input\":function($event){if($event.target.composing)return;_vm.newFolderName=$event.target.value}}}),(_vm.errorMessage)?_c('b-alert',{staticClass:\"mt-3\",attrs:{\"variant\":\"danger\",\"show\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.errorMessage)+\" \")]):_vm._e()],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewFolderModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewFolderModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./NewFolderModal.vue?vue&type=template&id=47badcdc&scoped=true&\"\nimport script from \"./NewFolderModal.vue?vue&type=script&lang=js&\"\nexport * from \"./NewFolderModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./NewFolderModal.vue?vue&type=style&index=0&id=47badcdc&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"47badcdc\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('b-modal',{attrs:{\"id\":\"b-modal-rename\",\"title\":_vm.$t('Enter new name'),\"ok-title\":_vm.$t('Rename'),\"cancel-title\":_vm.$t('Cancel'),\"centered\":\"\"},on:{\"ok\":_vm.handleOk,\"hidden\":_vm.resetModal,\"shown\":_vm.focusInput}},[_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.handleSubmit.apply(null, arguments)}}},[_c('div',{staticClass:\"my-2\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newItemName),expression:\"newItemName\"}],ref:\"input\",staticClass:\"input-lg\",attrs:{\"type\":\"text\",\"name\":\"name\",\"placeholder\":_vm.$t('New name'),\"required\":\"required\"},domProps:{\"value\":(_vm.newItemName)},on:{\"input\":function($event){if($event.target.composing)return;_vm.newItemName=$event.target.value}}}),(_vm.errorMessage)?_c('b-alert',{staticClass:\"mt-3\",attrs:{\"variant\":\"danger\",\"show\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.errorMessage)+\" \")]):_vm._e()],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RenameModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RenameModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RenameModal.vue?vue&type=template&id=bc4fae7e&scoped=true&\"\nimport script from \"./RenameModal.vue?vue&type=script&lang=js&\"\nexport * from \"./RenameModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./RenameModal.vue?vue&type=style&index=0&id=bc4fae7e&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"bc4fae7e\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('b-modal',{attrs:{\"id\":\"b-modal-move\",\"title\":_vm.$t('Move item'),\"ok-title\":_vm.$t('Place Here'),\"cancel-title\":_vm.$t('Cancel'),\"ok-disabled\":_vm.isSameDir || _vm.patchLoading,\"scrollable\":\"\"},on:{\"ok\":_vm.handleOk,\"hidden\":_vm.resetModal},scopedSlots:_vm._u([{key:\"modal-title\",fn:function(){return [_c('div',{staticClass:\"title\"},[(_vm.parentFolder !== null)?_c('a',{staticClass:\"btn shadow-none icon-btn d-inline\",attrs:{\"href\":\"#\",\"title\":_vm.$t('Go Back')},on:{\"click\":function($event){$event.preventDefault();return _vm.goBack.apply(null, arguments)}}},[_c('i',{staticClass:\"fas fa-chevron-left\"})]):_vm._e(),_c('h5',{staticClass:\"modal-title\"},[_vm._v(_vm._s(_vm.$t(\"Move item\")))])])]},proxy:true}])},[_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.handleSubmit.apply(null, arguments)}}},[_c('g-code-file-structure',{attrs:{\"folders\":_vm.folders,\"files\":_vm.files,\"target-printer\":_vm.targetPrinter,\"loading\":_vm.loading,\"scroll-container-id\":\"b-modal-move___BV_modal_body_\",\"no-more-folders\":_vm.noMoreFolders,\"no-more-files\":true,\"is-move-modal\":true,\"disabled-items\":_vm.disabledItems},on:{\"openFolder\":_vm.openFolder,\"fetchMore\":_vm.fetchFilesAndFolders}})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"gcodes-wrapper\",class:{ 'is-move-modal': _vm.isMoveModal }},[(!_vm.isMoveModal)?_c('div',{staticClass:\"header-panel\",class:{ 'without-action-buttons': !_vm.isCloud && !_vm.targetPrinter }},[_c('div',{staticClass:\"text\"},[_vm._v(_vm._s(_vm.$t(\"Name\")))]),_c('div',{staticClass:\"text\"},[_vm._v(_vm._s(_vm.$t('Size')))]),_c('div',{staticClass:\"text\"},[_vm._v(_vm._s(_vm.$t(\"Created\")))]),(_vm.isCloud)?_c('div',{staticClass:\"text\"},[_vm._v(_vm._s(_vm.$t(\"Last Printed\")))]):_vm._e()]):_vm._e(),_c('div',{staticClass:\"gcode-items-wrapper\"},[_c('div',_vm._l(([..._vm.folders, ..._vm.files]),function(item,key){return _c('file-structure-item',{directives:[{name:\"show\",rawName:\"v-show\",value:(\n (_vm.isFolder(item) && !_vm.searchStateIsActive) || (!_vm.isFolder(item) && !_vm.searchInProgress)\n ),expression:\"\\n (isFolder(item) && !searchStateIsActive) || (!isFolder(item) && !searchInProgress)\\n \"}],key:`${_vm.isFolder(item) ? 'folder' : 'file'}_${key}`,attrs:{\"item\":item,\"is-cloud\":_vm.isCloud,\"target-printer\":_vm.targetPrinter,\"is-move-modal\":_vm.isMoveModal,\"disabled\":_vm.isFolder(item)\n ? _vm.disabledItems.folders.includes(item.id)\n : _vm.disabledItems.files.includes(item.id),\"selectable\":!_vm.isMoveModal && _vm.isCloud && !_vm.isPopup,\"selected\":_vm.isFolder(item) ? _vm.selectedFolders.has(item.id) : _vm.selectedFiles.has(item.id)},on:{\"click\":function($event){_vm.isFolder(item) ? _vm.$emit('openFolder', item) : _vm.$emit('openFile', item)},\"renameItem\":function($event){return _vm.$emit('renameItem', item)},\"moveItem\":function($event){return _vm.$emit('moveItem', item)},\"deleteItem\":function($event){return _vm.$emit('deleteItem', item)},\"print\":function($event){return _vm.$emit('print', item)},\"selectedChanged\":_vm.onSelectedChanged}})}),1),(_vm.isCloud)?_c('mugen-scroll',{staticClass:\"text-center\",attrs:{\"v-show\":!_vm.isFolderEmpty,\"handler\":() => _vm.$emit('fetchMore'),\"should-handle\":!_vm.loading,\"scroll-container\":_vm.scrollContainerId}},[(!_vm.noMoreFolders || !_vm.noMoreFiles || _vm.searchInProgress)?_c('div',{staticClass:\"py-5\"},[_c('b-spinner',{attrs:{\"label\":_vm.$t('Loading...')}})],1):_vm._e()]):_vm._e(),(!_vm.isCloud && (_vm.localFilesLoading || _vm.searchInProgress))?_c('div',{staticClass:\"text-center py-5\"},[_c('b-spinner',{attrs:{\"label\":_vm.$t('Loading...')}})],1):_c('div',[(_vm.isFolderEmpty)?_c('div',{staticClass:\"placeholder text-secondary\"},[_c('span',[_vm._v(_vm._s(_vm.$t(\"Nothing here yet\")))])]):(_vm.nothingFound)?_c('div',{staticClass:\"placeholder text-secondary\"},[_c('span',[_vm._v(_vm._s(_vm.$t(\"Nothing found\")))])]):_vm._e()])],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"item\",class:{ disabled: _vm.isDisabled, 'move-modal': _vm.isMoveModal },on:{\"click\":() => !_vm.isDisabled && _vm.$emit('click')}},[(_vm.selectable)?_c('div',{staticClass:\"checkbox-wrapper\",class:{ isSelected: _vm.isSelected }},[_c('b-form-checkbox',{attrs:{\"size\":\"md\",\"checked\":_vm.isSelected},nativeOn:{\"!click\":function($event){$event.stopPropagation();$event.preventDefault();_vm.isSelected = !_vm.isSelected}}})],1):_vm._e(),_c('div',{staticClass:\"item-info\"},[_c('div',{staticClass:\"filename\"},[_c('div',{staticClass:\"thumbnail-wrapper\",class:{ folder: _vm.isFolder }},[(!_vm.isFolder && _vm.item.getSmallThumbnailUrl())?_c('div',{staticClass:\"thumbnail\"},[_c('img',{attrs:{\"src\":_vm.item.getSmallThumbnailUrl()}})]):_c('div',{staticClass:\"placeholder\"},[(_vm.isFolder)?_c('i',{staticClass:\"fas fa-folder\"}):_c('i',{staticClass:\"fas fa-file-code\"})])]),_c('span',{staticClass:\"truncated\"},[_vm._v(_vm._s(_vm.isFolder ? _vm.item.name : _vm.item.filename))])]),_c('div',{staticClass:\"size\"},[(!_vm.isFolder)?_c('span',[_vm._v(_vm._s(_vm.item.filesize))]):_vm._e(),(_vm.isFolder)?_c('span',[_vm._v(_vm._s(_vm.item.numItems)+\" item(s)\")]):_vm._e()]),(!_vm.isMoveModal)?_c('div',{staticClass:\"created\"},[_vm._v(\" \"+_vm._s(_vm.item.created_at ? _vm.item.created_at.fromNow() : '-')+\" \")]):_vm._e(),(!_vm.isMoveModal)?[(!_vm.isFolder && _vm.isCloud)?_c('div',{staticClass:\"last-printed\"},[(!_vm.item.print_set)?_c('span',[_vm._v(\"-\")]):(!_vm.item.print_set.length)?_c('span',[_vm._v(_vm._s(_vm.$t('No prints yet')))]):(_vm.item.last_print)?_c('span',[_vm._v(_vm._s(_vm.item.last_print.ended_at ? _vm.item.last_print.ended_at.fromNow() : _vm.$t('Printing...')))]):_vm._e(),(_vm.item.last_print && _vm.item.last_print.ended_at)?_c('div',{staticClass:\"circle-indicator\",class:{\n cancelled: _vm.item.last_print.cancelled_at,\n finished: _vm.item.last_print.finished_at,\n }}):_vm._e()]):_vm._e(),(_vm.isFolder && _vm.isCloud)?_c('div',{staticClass:\"d-none d-md-block\"}):_vm._e()]:_vm._e()],2),(!_vm.isMoveModal && ((!_vm.isFolder && (_vm.isCloud || _vm.targetPrinter)) || (_vm.isFolder && _vm.isCloud)))?_c('div',[_c('b-dropdown',{attrs:{\"right\":\"\",\"no-caret\":\"\",\"toggle-class\":\"icon-btn py-0\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('i',{staticClass:\"fas fa-ellipsis-v\"})]},proxy:true}],null,false,3452768261)},[(!_vm.isFolder && _vm.targetPrinter)?_c('b-dropdown-item',{on:{\"click\":function($event){$event.stopPropagation();return _vm.$emit('print', _vm.item)}}},[_c('span',{staticClass:\"text-primary\"},[_c('i',{staticClass:\"fas fa-play-circle\"}),_vm._v(_vm._s(_vm.$t(\"Print on\"))+\" \"+_vm._s(_vm.targetPrinter.name)+\" \")])]):_vm._e(),(_vm.isCloud)?_c('b-dropdown-item',{on:{\"click\":function($event){$event.stopPropagation();return _vm.$emit('renameItem', _vm.item)}}},[_c('i',{staticClass:\"fas fa-edit\"}),_vm._v(_vm._s(_vm.$t('Rename'))+\" \")]):_vm._e(),(_vm.isCloud)?_c('b-dropdown-item',{on:{\"click\":function($event){$event.stopPropagation();return _vm.$emit('moveItem', _vm.item)}}},[_c('i',{staticClass:\"fas fa-arrows-alt\"}),_vm._v(_vm._s(_vm.$t('Move'))+\" \")]):_vm._e(),(_vm.isCloud)?_c('b-dropdown-item',{on:{\"click\":function($event){$event.stopPropagation();return _vm.$emit('deleteItem', _vm.item)}}},[_c('span',{staticClass:\"text-danger\"},[_c('i',{staticClass:\"fas fa-trash-alt\"}),_vm._v(_vm._s(_vm.$t('Delete'))+\" \")])]):_vm._e()],1)],1):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileStructureItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileStructureItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FileStructureItem.vue?vue&type=template&id=ad2c3ac6&scoped=true&\"\nimport script from \"./FileStructureItem.vue?vue&type=script&lang=js&\"\nexport * from \"./FileStructureItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FileStructureItem.vue?vue&type=style&index=0&id=ad2c3ac6&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"ad2c3ac6\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GCodeFileStructure.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GCodeFileStructure.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./GCodeFileStructure.vue?vue&type=template&id=254b72e8&scoped=true&\"\nimport script from \"./GCodeFileStructure.vue?vue&type=script&lang=js&\"\nexport * from \"./GCodeFileStructure.vue?vue&type=script&lang=js&\"\nimport style0 from \"./GCodeFileStructure.vue?vue&type=style&index=0&id=254b72e8&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"254b72e8\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MoveModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MoveModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MoveModal.vue?vue&type=template&id=3ff54ded&scoped=true&\"\nimport script from \"./MoveModal.vue?vue&type=script&lang=js&\"\nexport * from \"./MoveModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MoveModal.vue?vue&type=style&index=0&id=3ff54ded&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3ff54ded\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div')\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeleteConfirmationModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeleteConfirmationModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DeleteConfirmationModal.vue?vue&type=template&id=930ed162&\"\nimport script from \"./DeleteConfirmationModal.vue?vue&type=script&lang=js&\"\nexport * from \"./DeleteConfirmationModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DeleteConfirmationModal.vue?vue&type=style&index=0&id=930ed162&prod&lang=sass&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GCodeFoldersPage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GCodeFoldersPage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./GCodeFoldersPage.vue?vue&type=template&id=5d00d77d&scoped=true&\"\nimport script from \"./GCodeFoldersPage.vue?vue&type=script&lang=js&\"\nexport * from \"./GCodeFoldersPage.vue?vue&type=script&lang=js&\"\nimport style0 from \"./GCodeFoldersPage.vue?vue&type=style&index=0&id=5d00d77d&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5d00d77d\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('page-layout',{attrs:{\"is-popup\":_vm.isPopup},scopedSlots:_vm._u([{key:\"topBarLeft\",fn:function(){return [(_vm.isPopup)?_c('a',{staticClass:\"btn shadow-none icon-btn d-inline\",attrs:{\"href\":\"#\",\"title\":_vm.$t('Go Back')},on:{\"click\":function($event){$event.preventDefault();return _vm.goBack.apply(null, arguments)}}},[_c('i',{staticClass:\"fas fa-chevron-left\"})]):_vm._e()]},proxy:true},{key:\"topBarRight\",fn:function(){return [_c('div',{staticClass:\"action-panel\"},[(_vm.isCloud)?_c('a',{staticClass:\"btn shadow-none icon-btn action-btn\",attrs:{\"href\":\"#\",\"title\":_vm.$t('Rename file')},on:{\"click\":function($event){$event.preventDefault();return _vm.renameFile.apply(null, arguments)}}},[_c('i',{staticClass:\"fas fa-edit\"})]):_vm._e(),(_vm.isCloud)?_c('a',{staticClass:\"text-danger btn shadow-none icon-btn action-btn\",attrs:{\"href\":\"#\",\"title\":_vm.$t('Delete file')},on:{\"click\":function($event){$event.preventDefault();return _vm.deleteFile.apply(null, arguments)}}},[_c('i',{staticClass:\"fas fa-trash-alt\"})]):_vm._e(),_c('b-dropdown',{attrs:{\"right\":\"\",\"no-caret\":\"\",\"toggle-class\":\"icon-btn d-md-none\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('i',{staticClass:\"fas fa-ellipsis-v\"})]},proxy:true}])},[_c('cascaded-dropdown',{ref:\"cascadedDropdown\",attrs:{\"menu-options\":[\n {\n key: 'renameFile',\n icon: 'fas fa-edit',\n title: _vm.$t(`Rename file`),\n callback: true,\n },\n {\n key: 'deleteFile',\n icon: 'fas fa-trash-alt',\n customMenuOptionClass: 'text-danger',\n title: _vm.$t(`Delete file`),\n callback: true,\n },\n ]},on:{\"menuOptionClicked\":_vm.onMenuOptionClicked}})],1),(_vm.onClose)?_c('a',{staticClass:\"btn shadow-none icon-btn d-inline\",attrs:{\"href\":\"#\",\"title\":\"Close\"},on:{\"click\":function($event){$event.preventDefault();return _vm.onClose.apply(null, arguments)}}},[_c('i',{staticClass:\"fas fa-times text-danger\"})]):_vm._e()],1)]},proxy:true},{key:\"content\",fn:function(){return [(_vm.loading || _vm.gcodeNotFound)?_c('b-container',[_c('b-row',[_c('b-col',{staticClass:\"text-center mt-5\"},[(_vm.gcodeNotFound)?_c('div',[_c('p',[_vm._v(_vm._s(_vm.$t(\"This G-Code file doesn't exists\")))])]):_c('div',[_c('b-spinner')],1)])],1)],1):_c('b-container',{attrs:{\"fluid\":\"\"}},[_c('b-row',[_c('b-col',{attrs:{\"lg\":_vm.isPopup ? 12 : 5}},[_c('b-alert',{attrs:{\"show\":_vm.isDeleted,\"variant\":\"warning warning-block\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"This file is deleted and unavailable for print\"))+\" \")]),_c('g-code-details',{attrs:{\"file\":_vm.gcode,\"show-print-stats\":true,\"compact-view\":false}}),(!_vm.isDeleted)?_c('available-printers',{staticClass:\"card-container available-printers\",class:{ 'full-width': _vm.isPopup },attrs:{\"is-popup\":_vm.isPopup,\"target-printer-id\":_vm.targetPrinterId || _vm.selectedPrinterId,\"gcode\":_vm.gcode,\"is-cloud\":_vm.isCloud},on:{\"refresh\":_vm.onRefresh}}):_vm._e()],1),_c('b-col',{attrs:{\"lg\":_vm.isPopup ? 12 : 7}},[_c('div',{staticClass:\"print-history\",class:{ 'full-width': _vm.isPopup || _vm.isDeleted }},[_c('h2',{staticClass:\"section-title mb-3\"},[_vm._v(_vm._s(_vm.$t(\"Print History\")))]),(_vm.gcode.print_set.length)?_c('div',_vm._l((_vm.gcode.print_set),function(print){return _c('print-history-item',{key:`print_${print.id}`,staticClass:\"print-item\",attrs:{\"print\":print}})}),1):_c('div',[_c('div',{staticClass:\"card-container p-4 justify-content-center text-secondary\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"This file doesn't have any prints yet\"))+\" \")])])])])],1)],1),_c('rename-modal',{ref:\"renameModal\",attrs:{\"item\":_vm.gcode},on:{\"renamed\":_vm.onItemRenamed}}),_c('delete-confirmation-modal',{ref:\"deleteConfirmationModal\",attrs:{\"item\":_vm.gcode},on:{\"deleted\":_vm.onItemDeleted}})]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[(_vm.printersLoading || !_vm.gcode)?_c('div',{staticClass:\"my-5 text-center\"},[_c('b-spinner')],1):_c('div',{staticClass:\"text-center\"},[(!_vm.targetPrinterId)?_c('div',{staticClass:\"mb-3\"},[_vm._l((_vm.printers),function(printer){return _c('div',{key:`printer_${printer.id}`,staticClass:\"printer-item\",class:{ active: _vm.selectedPrinter && printer.id === _vm.selectedPrinter.id },on:{\"click\":function($event){return _vm.selectPrinter(printer)}}},[_c('div',{staticClass:\"selected-indicator\"}),_c('div',{staticClass:\"printer-name truncated\",attrs:{\"title\":printer.name}},[_vm._v(_vm._s(printer.name))]),_c('div',{staticClass:\"printer-status\",class:[printer.isPrintable() ? 'text-success' : 'text-warning']},[_vm._v(\" \"+_vm._s(printer.printabilityText())+\" \")])])}),(!_vm.printersLoading && !_vm.printers.length)?_c('p',{staticClass:\"text-center text-secondary mt-3 mb-3\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"No available printers\"))+\" \")]):_vm._e()],2):_vm._e(),_c('button',{staticClass:\"btn btn-primary d-inline-flex align-items-center justify-content-center\",attrs:{\"disabled\":!_vm.selectedPrinter || _vm.isSending || !_vm.selectedPrinter.isPrintable()},on:{\"click\":_vm.onPrintClicked}},[(_vm.isSending)?_c('b-spinner',{staticClass:\"mr-1\",attrs:{\"small\":\"\"}}):_vm._e(),(_vm.selectedPrinter)?_c('div',{staticClass:\"truncated\"},[_vm._v(_vm._s(_vm.$t('Print on'))+\" \"+_vm._s(_vm.selectedPrinter.name))]):_c('div',{staticClass:\"truncated\"},[_vm._v(_vm._s(_vm.$t(\"Print\")))])],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\nimport { _ } from 'core-js'\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvailablePrinters.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvailablePrinters.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AvailablePrinters.vue?vue&type=template&id=77186cca&scoped=true&\"\nimport script from \"./AvailablePrinters.vue?vue&type=script&lang=js&\"\nexport * from \"./AvailablePrinters.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AvailablePrinters.vue?vue&type=style&index=0&id=77186cca&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"77186cca\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GCodeFilePage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GCodeFilePage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./GCodeFilePage.vue?vue&type=template&id=0d6b7614&scoped=true&\"\nimport script from \"./GCodeFilePage.vue?vue&type=script&lang=js&\"\nexport * from \"./GCodeFilePage.vue?vue&type=script&lang=js&\"\nimport style0 from \"./GCodeFilePage.vue?vue&type=style&index=0&id=0d6b7614&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0d6b7614\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',[_c('h5',[_vm._v(_vm._s(_vm.$t(\"Serial Port\"))+\":\")])]),_c('div',[_c('b-form-select',{staticClass:\"form-control\",attrs:{\"id\":\"connect-port\"},model:{value:(_vm.selectedPort),callback:function ($$v) {_vm.selectedPort=$$v},expression:\"selectedPort\"}},_vm._l((_vm.connectionOptions.ports),function(port){return _c('b-form-select-option',{key:port,attrs:{\"value\":port}},[_vm._v(\" \"+_vm._s(port)+\" \")])}),1)],1),_c('br'),_c('div',[_c('h5',[_vm._v(_vm._s(_vm.$t(\"Baudrate\"))+\":\")])]),_c('div',[_c('b-form-select',{staticClass:\"form-control\",attrs:{\"id\":\"connect-baudrate\"},model:{value:(_vm.selectedBaudrate),callback:function ($$v) {_vm.selectedBaudrate=$$v},expression:\"selectedBaudrate\"}},[_c('b-form-select-option',{attrs:{\"value\":\"\"}},[_vm._v(_vm._s(_vm.$t(\"Auto\")))]),_vm._l((_vm.connectionOptions.baudrates),function(baudrate){return _c('b-form-select-option',{key:baudrate,attrs:{\"value\":baudrate}},[_vm._v(\" \"+_vm._s(baudrate)+\" \")])})],2)],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConnectPrinter.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConnectPrinter.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ConnectPrinter.vue?vue&type=template&id=3fe2371b&\"\nimport script from \"./ConnectPrinter.vue?vue&type=script&lang=js&\"\nexport * from \"./ConnectPrinter.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintJobControlWidget.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintJobControlWidget.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PrintJobControlWidget.vue?vue&type=template&id=c7deff6e&scoped=true&\"\nimport script from \"./PrintJobControlWidget.vue?vue&type=script&lang=js&\"\nexport * from \"./PrintJobControlWidget.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PrintJobControlWidget.vue?vue&type=style&index=0&id=c7deff6e&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"c7deff6e\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterCard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterCard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PrinterCard.vue?vue&type=template&id=c6334924&scoped=true&\"\nimport script from \"./PrinterCard.vue?vue&type=script&lang=js&\"\nexport * from \"./PrinterCard.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PrinterCard.vue?vue&type=style&index=0&id=c6334924&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"c6334924\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterListPage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterListPage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PrinterListPage.vue?vue&type=template&id=fb278c80&scoped=true&\"\nimport script from \"./PrinterListPage.vue?vue&type=script&lang=js&\"\nexport * from \"./PrinterListPage.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PrinterListPage.vue?vue&type=style&index=0&id=fb278c80&prod&lang=sass&scoped=true&\"\nimport style1 from \"./PrinterListPage.vue?vue&type=style&index=1&id=fb278c80&prod&lang=sass&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"fb278c80\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('nav-bar',{attrs:{\"view-name\":\"printer_shared\"}}),_c('div',{staticClass:\"row justify-content-center\"},[(_vm.loading)?_c('b-spinner',{staticClass:\"mt-5\",attrs:{\"label\":\"Loading...\"}}):_vm._e(),(_vm.printer)?_c('div',{staticClass:\"col-sm-12 col-lg-6 printer-card\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-header\"},[_c('div',[_vm._v(_vm._s(_vm.printer.name))])]),_c('streaming-box',{attrs:{\"printer\":_vm.printer,\"webrtc\":_vm.webrtc,\"autoplay\":true}}),_c('div',{staticClass:\"p-3 p-md-5\"},[_c('p',{staticClass:\"text-center\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"You are viewing an awesome 3D print your friend shared specifically with you on\"))+\" \")]),_c('a',{attrs:{\"href\":\"https://www.obico.io/\"}},[_c('svg',{staticClass:\"logo-img\",attrs:{\"width\":\"100%\"}},[_c('use',{attrs:{\"href\":\"#svg-logo-full\"}})])]),_c('hr'),_c('br'),_c('br'),_c('p',{staticClass:\"text-center\"},[_vm._v(\" \"+_vm._s(_vm.$syndicateText.brandName)+\" \"+_vm._s(_vm.$t(\"lets you monitor and control your printer from anywhere, on your phone.\"))+\" \")]),_c('a',{staticClass:\"btn btn-block btn-primary\",attrs:{\"href\":\"/accounts/signup/\"}},[_vm._v(_vm._s(_vm.$t(\"Sign up for a free {brandName} account\",{brandName:_vm.$syndicateText.brandName})))])])],1)]):_vm._e()],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[(!_vm.inMobileWebView)?_c('b-navbar',{class:{\n 'navbar-dark': _vm.theme === _vm.themes.Dark,\n 'navbar-light': _vm.theme === _vm.themes.Light,\n },attrs:{\"toggleable\":\"xl\"}},[_c('b-container',{staticClass:\"p-0\"},[_c('b-navbar-brand',{attrs:{\"href\":\"/\"}},[_c('SyndicateAwareSVG',{attrs:{\"href\":\"#svg-logo-compact\",\"width\":\"100\",\"height\":\"30\"}})],1),_c('b-navbar-toggle',{attrs:{\"target\":\"navbar-toggle-collapse\"}},[_c('span',{staticClass:\"navbar-toggler-icon\"})]),_c('b-collapse',{attrs:{\"id\":\"navbar-toggle-collapse\",\"is-nav\":\"\"},model:{value:(_vm.showMainMenu),callback:function ($$v) {_vm.showMainMenu=$$v},expression:\"showMainMenu\"}},[_c('b-navbar-nav',[(_vm.user)?_c('b-nav-item',{class:{ active: _vm.viewName.includes('printers') },attrs:{\"href\":\"/printers/\"}},[_vm._v(_vm._s(_vm.$t(\"Printers\")))]):_vm._e(),(_vm.user)?_c('b-nav-item',{class:{ active: _vm.viewName.includes('print_history') },attrs:{\"href\":\"/print_history/\"}},[_vm._v(_vm._s(_vm.$t(\"Print History\")))]):_vm._e(),(_vm.user)?_c('b-nav-item',{class:{ active: _vm.viewName.includes('g_code_folders') },attrs:{\"href\":\"/g_code_folders/cloud/\"}},[_vm._v(_vm._s(_vm.$t(\"G-Codes\")))]):_vm._e(),(_vm.isEnt && !_vm.user)?_c('b-nav-item',{staticClass:\"glowing\",class:{ active: _vm.viewName === 'publictimelapse_list' },attrs:{\"href\":\"/ent_pub/publictimelapses/\"}},[_vm._v(_vm._s(_vm.$t(\"Spaghetti Gallery\")))]):_vm._e(),(_vm.isEnt)?_c('b-nav-item',{class:{ active: _vm.viewName === 'pricing' },attrs:{\"href\":\"/ent_pub/pricing/\"}},[_vm._v(_vm._s(_vm.$t(\"Pricing\")))]):_vm._e(),_c('b-nav-item',{attrs:{\"href\":\"https://www.obico.io/help/\"}},[_vm._v(_vm._s(_vm.$t(\"Help\")))]),_c('b-nav-item',{attrs:{\"href\":\"https://obico.io/discord\"}},[_vm._v(_vm._s(_vm.$t(\"Community\")))])],1),_c('b-navbar-nav',{staticClass:\"ml-auto\"},[(!_vm.user)?_c('b-nav-item',{attrs:{\"href\":\"/accounts/login/\"}},[_vm._v(_vm._s(_vm.$t(\"SIGN IN\")))]):_vm._e(),(!_vm.user && _vm.allowSignUp)?_c('b-nav-item',{attrs:{\"href\":\"/accounts/signup/\"}},[_vm._v(_vm._s(_vm.$t(\"SIGN UP\")))]):_vm._e(),(_vm.user)?_c('b-nav-item-dropdown',{ref:\"accountDropdown\",attrs:{\"right\":\"\",\"toggle-class\":\"user-menu\",\"text\":_vm.user.first_name || _vm.user.email}},[_c('b-dropdown-item',{attrs:{\"href\":\"/user_preferences/\"}},[_c('i',{staticClass:\"fas fa-cog mr-2\"}),_vm._v(_vm._s(_vm.$t(\"Preferences\"))+\" \")]),_c('b-dropdown-divider'),_c('b-dropdown-item',{attrs:{\"href\":\"/accounts/logout/\"}},[_c('i',{staticClass:\"fas fa-sign-out-alt mr-2\"}),_vm._v(_vm._s(_vm.$t(\"Log out\"))+\" \")])],1):_vm._e()],1)],1)],1)],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavBar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavBar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./NavBar.vue?vue&type=template&id=371280d8&scoped=true&\"\nimport script from \"./NavBar.vue?vue&type=script&lang=js&\"\nexport * from \"./NavBar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./NavBar.vue?vue&type=style&index=0&id=371280d8&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"371280d8\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharedPrinterPage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharedPrinterPage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SharedPrinterPage.vue?vue&type=template&id=1dd34976&scoped=true&\"\nimport script from \"./SharedPrinterPage.vue?vue&type=script&lang=js&\"\nexport * from \"./SharedPrinterPage.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SharedPrinterPage.vue?vue&type=style&index=0&id=1dd34976&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1dd34976\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('page-layout',{scopedSlots:_vm._u([{key:\"content\",fn:function(){return [_c('b-container',[_c('b-row',{staticClass:\"justify-content-center\"},[_c('b-col',{attrs:{\"lg\":\"8\"}},[(!_vm.printer)?_c('loading-placeholder'):_c('div',{staticClass:\"surface with-loading-animation full-on-mobile\"},[_c('section',{staticClass:\"settings\"},[_c('h2',{staticClass:\"section-title\"},[_vm._v(_vm._s(_vm.$t(\"Settings\")))]),_c('div',{staticClass:\"form-group mb-4 mt-4\"},[_c('div',{staticClass:\"form-label text-muted mb-2\"},[_vm._v(_vm._s(_vm.$t(\"Give your shiny new printer a name\")))]),_c('saving-animation',{attrs:{\"errors\":_vm.errorMessages.name,\"saving\":_vm.saving.name}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.printer.name),expression:\"printer.name\"}],staticClass:\"form-control field_required\",attrs:{\"id\":\"id_name\",\"type\":\"text\",\"name\":\"name\",\"maxlength\":\"200\",\"placeholder\":\"\",\"required\":\"required\"},domProps:{\"value\":(_vm.printer.name)},on:{\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.printer, \"name\", $event.target.value)}}})])],1),_c('div',{staticClass:\"failure-notification\"},[_c('div',{staticClass:\"form-group mt-4 mb-4\"},[_c('div',{staticClass:\"form-label text-muted\"},[_vm._v(_vm._s(_vm.$t(\"When a potential failure is detected\"))+\":\")]),_c('saving-animation',{attrs:{\"errors\":_vm.errorMessages.action_on_failure_NONE,\"saving\":_vm.saving.action_on_failure_NONE}},[_c('div',{staticClass:\"custom-control custom-radio mt-1 radio\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.printer.action_on_failure),expression:\"printer.action_on_failure\"}],staticClass:\"custom-control-input field_required\",attrs:{\"id\":\"id_action_on_failure_0\",\"type\":\"radio\",\"name\":\"action_on_failure\",\"value\":\"NONE\"},domProps:{\"checked\":_vm._q(_vm.printer.action_on_failure,\"NONE\")},on:{\"change\":[function($event){return _vm.$set(_vm.printer, \"action_on_failure\", \"NONE\")},function($event){return _vm.updateSetting('action_on_failure')}]}}),_c('label',{staticClass:\"custom-control-label\",attrs:{\"for\":\"id_action_on_failure_0\"}},[_vm._v(_vm._s(_vm.$t(\"Just notify me\")))])])]),_c('saving-animation',{attrs:{\"errors\":_vm.errorMessages.action_on_failure_PAUSE,\"saving\":_vm.saving.action_on_failure_PAUSE}},[_c('div',{staticClass:\"custom-control custom-radio mt-1 radio\",attrs:{\"id\":\"action_on_failure_PAUSE\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.printer.action_on_failure),expression:\"printer.action_on_failure\"}],staticClass:\"custom-control-input field_required\",attrs:{\"id\":\"id_action_on_failure_1\",\"type\":\"radio\",\"name\":\"action_on_failure\",\"value\":\"PAUSE\"},domProps:{\"checked\":_vm._q(_vm.printer.action_on_failure,\"PAUSE\")},on:{\"change\":[function($event){return _vm.$set(_vm.printer, \"action_on_failure\", \"PAUSE\")},function($event){return _vm.updateSetting('action_on_failure')}]}}),_c('label',{staticClass:\"custom-control-label\",attrs:{\"for\":\"id_action_on_failure_1\"}},[_vm._v(_vm._s(_vm.$t(\"Pause the printer and notify me\")))])])])],1)])]),_c('section',{staticClass:\"mt-5\"},[_c('h2',{staticClass:\"section-title\"},[_vm._v(_vm._s(_vm.$t(\"Failure Detection\")))]),_c('div',{staticClass:\"card-body p-0 pt-3\"},[_c('p',{staticClass:\"text-warning\"},[_c('i',{staticClass:\"fas fa-exclamation-triangle\"}),_vm._v(\" \"+_vm._s(_vm.$t(\"If you are not sure about the settings below, leave the default values to minimize surprises.\"))+\" \")]),_c('div',{staticClass:\"form-group mt-4\"},[_c('div',{staticClass:\"form-label text-muted\"},[_vm._v(_vm._s(_vm.$t(\"When print is paused,\")))]),_c('saving-animation',{attrs:{\"errors\":_vm.errorMessages.tools_off_on_pause,\"saving\":_vm.saving.tools_off_on_pause}},[_c('div',{staticClass:\"custom-control custom-checkbox mt-2 checkbox\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.printer.tools_off_on_pause),expression:\"printer.tools_off_on_pause\"}],staticClass:\"custom-control-input\",attrs:{\"id\":\"id_tools_off_on_pause\",\"type\":\"checkbox\",\"name\":\"tools_off_on_pause\"},domProps:{\"checked\":Array.isArray(_vm.printer.tools_off_on_pause)?_vm._i(_vm.printer.tools_off_on_pause,null)>-1:(_vm.printer.tools_off_on_pause)},on:{\"change\":[function($event){var $$a=_vm.printer.tools_off_on_pause,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.printer, \"tools_off_on_pause\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.printer, \"tools_off_on_pause\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.printer, \"tools_off_on_pause\", $$c)}},function($event){return _vm.updateSetting('tools_off_on_pause')}]}}),_c('label',{staticClass:\"custom-control-label\",attrs:{\"for\":\"id_tools_off_on_pause\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Turn off hotend heater(s)\"))+\" \")])])]),_c('saving-animation',{attrs:{\"errors\":_vm.errorMessages.bed_off_on_pause,\"saving\":_vm.saving.bed_off_on_pause}},[_c('div',{staticClass:\"custom-control custom-checkbox mt-2 checkbox\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.printer.bed_off_on_pause),expression:\"printer.bed_off_on_pause\"}],staticClass:\"custom-control-input\",attrs:{\"id\":\"id_bed_off_on_pause\",\"type\":\"checkbox\",\"name\":\"bed_off_on_pause\"},domProps:{\"checked\":Array.isArray(_vm.printer.bed_off_on_pause)?_vm._i(_vm.printer.bed_off_on_pause,null)>-1:(_vm.printer.bed_off_on_pause)},on:{\"change\":[function($event){var $$a=_vm.printer.bed_off_on_pause,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.printer, \"bed_off_on_pause\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.printer, \"bed_off_on_pause\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.printer, \"bed_off_on_pause\", $$c)}},function($event){return _vm.updateSetting('bed_off_on_pause')}]}}),_c('label',{staticClass:\"custom-control-label\",attrs:{\"for\":\"id_bed_off_on_pause\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Turn off bed heater\"))+\" \")])])]),_c('saving-animation',{staticClass:\"mobile-full-width\",attrs:{\"errors\":_vm.errorMessages.retract_on_pause,\"saving\":_vm.saving.retract_on_pause}},[_c('div',{staticClass:\"form-inline my-1 checkbox-with-input\"},[_c('div',{staticClass:\"custom-control custom-checkbox\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.retractFilamentByEnabled),expression:\"retractFilamentByEnabled\"}],staticClass:\"custom-control-input\",attrs:{\"id\":\"retract-checkbox\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.retractFilamentByEnabled)?_vm._i(_vm.retractFilamentByEnabled,null)>-1:(_vm.retractFilamentByEnabled)},on:{\"change\":function($event){var $$a=_vm.retractFilamentByEnabled,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.retractFilamentByEnabled=$$a.concat([$$v]))}else{$$i>-1&&(_vm.retractFilamentByEnabled=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.retractFilamentByEnabled=$$c}}}}),_c('label',{staticClass:\"custom-control-label\",attrs:{\"for\":\"retract-checkbox\"}},[_vm._v(_vm._s(_vm.$t(\"Retract filament by\")))])]),_c('number-input',{staticClass:\"wrappable-field\",attrs:{\"step\":0.5,\"disable\":!_vm.retractFilamentByEnabled},model:{value:(_vm.retractOnPause),callback:function ($$v) {_vm.retractOnPause=$$v},expression:\"retractOnPause\"}})],1)]),_c('saving-animation',{staticClass:\"mobile-full-width\",attrs:{\"errors\":_vm.errorMessages.lift_z_on_pause,\"saving\":_vm.saving.lift_z_on_pause}},[_c('div',{staticClass:\"form-inline my-1 checkbox-with-input\"},[_c('div',{staticClass:\"custom-control custom-checkbox\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.liftExtruderByEnabled),expression:\"liftExtruderByEnabled\"}],staticClass:\"custom-control-input\",attrs:{\"id\":\"lift-z-checkbox\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.liftExtruderByEnabled)?_vm._i(_vm.liftExtruderByEnabled,null)>-1:(_vm.liftExtruderByEnabled)},on:{\"change\":function($event){var $$a=_vm.liftExtruderByEnabled,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.liftExtruderByEnabled=$$a.concat([$$v]))}else{$$i>-1&&(_vm.liftExtruderByEnabled=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.liftExtruderByEnabled=$$c}}}}),_c('label',{staticClass:\"custom-control-label\",attrs:{\"for\":\"lift-z-checkbox\"}},[_vm._v(_vm._s(_vm.$t(\"Lift extruder along Z axis by\")))])]),_c('number-input',{staticClass:\"wrappable-field\",attrs:{\"step\":0.5,\"disable\":!_vm.liftExtruderByEnabled},model:{value:(_vm.liftExtruderBy),callback:function ($$v) {_vm.liftExtruderBy=$$v},expression:\"liftExtruderBy\"}})],1)])],1),_c('div',{staticClass:\"form-group sensitivity my-4\"},[_c('div',{staticClass:\"form-label text-muted\"},[_vm._v(_vm._s(_vm.$t(\"AI failure detection sensitivity\")))]),_c('saving-animation',{attrs:{\"errors\":_vm.errorMessages.detective_sensitivity,\"saving\":_vm.saving.detective_sensitivity}},[_c('div',{staticClass:\"my-2 sensitivity-slider\"},[_c('vue-slider',{attrs:{\"lazy\":true,\"min\":0.8,\"max\":1.2,\"interval\":0.05,\"tooltip-formatter\":_vm.sensitivityTooltipFormatter},model:{value:(_vm.detectiveSensitivity),callback:function ($$v) {_vm.detectiveSensitivity=$$v},expression:\"detectiveSensitivity\"}})],1)]),(_vm.sensitivityTooltipFormatter(_vm.printer.detective_sensitivity) === 'Low')?_c('div',[_vm._v(\" \"+_vm._s(_vm.$t(\"Low - I don't want a lot of false alarms. Only alert me when you are absolutely sure.\"))+\" \")]):(\n _vm.sensitivityTooltipFormatter(_vm.printer.detective_sensitivity) === 'Medium'\n )?_c('div',[_vm._v(\" \"+_vm._s(_vm.$t(\"Medium - A few false alarms won't bother me. But some well-disguised spaghetti will be missed.\"))+\" \")]):_c('div',[_vm._v(\" \"+_vm._s(_vm.$t(\"High - Hit me with all the false alarms. I want to catch as many failures as possible.\"))+\" \")])],1)])]),_c('section',{staticClass:\"mt-5\"},[_c('h2',{staticClass:\"section-title\"},[_vm._v(_vm._s(_vm.$t(\"Time-lapse\")))]),(!(_vm.timelapseOnFinishEnabled && _vm.timelapseOnCancelEnabled))?_c('p',{staticClass:\"text-warning\"},[_c('i',{staticClass:\"fas fa-exclamation-triangle\"}),_c('i18next',{attrs:{\"translation\":_vm.$t(`Focused Feedback won't be available when time-lapse recording is turned off. You won't be able to {localizedDom}`)},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('a',{attrs:{\"href\":_vm.getDocUrl('/user-guides/how-does-credits-work/')}},[_vm._v(_vm._s(_vm.$t(\"help us get better while earning AI Detection Hours for yourself\")))])]},proxy:true}],null,false,2529399454)})],1):_vm._e(),_c('div',{staticClass:\"form-group mt-4\"},[_c('saving-animation',{staticClass:\"mobile-full-width\",attrs:{\"errors\":_vm.errorMessages.min_timelapse_secs_on_finish,\"saving\":_vm.saving.min_timelapse_secs_on_finish}},[_c('div',{staticClass:\"form-inline my-1 checkbox-with-input\"},[_c('div',{staticClass:\"custom-control custom-checkbox\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.timelapseOnFinishEnabled),expression:\"timelapseOnFinishEnabled\"}],staticClass:\"custom-control-input\",attrs:{\"id\":\"timelapseOnFinishEnabled\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.timelapseOnFinishEnabled)?_vm._i(_vm.timelapseOnFinishEnabled,null)>-1:(_vm.timelapseOnFinishEnabled)},on:{\"change\":function($event){var $$a=_vm.timelapseOnFinishEnabled,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.timelapseOnFinishEnabled=$$a.concat([$$v]))}else{$$i>-1&&(_vm.timelapseOnFinishEnabled=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.timelapseOnFinishEnabled=$$c}}}}),_c('label',{staticClass:\"custom-control-label\",attrs:{\"for\":\"timelapseOnFinishEnabled\"}},[_vm._v(_vm._s(_vm.$t(\"Record time-lapse when a print finishes successfully.\")))])])]),(_vm.timelapseOnFinishEnabled)?_c('div',{staticClass:\"form-inline my-1 checkbox-with-input\"},[_c('div',{staticClass:\"custom-control custom-checkbox\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Skip if the print is finished in less than\"))+\" \")]),_c('number-input',{staticClass:\"wrappable-field\",attrs:{\"step\":5,\"unit\":\"minutes\"},model:{value:(_vm.minTimelapseMinutesOnFinish),callback:function ($$v) {_vm.minTimelapseMinutesOnFinish=$$v},expression:\"minTimelapseMinutesOnFinish\"}})],1):_vm._e()]),_c('saving-animation',{staticClass:\"mobile-full-width\",attrs:{\"errors\":_vm.errorMessages.min_timelapse_secs_on_cancel,\"saving\":_vm.saving.min_timelapse_secs_on_cancel}},[_c('div',{staticClass:\"form-inline mt-3 mb-1 checkbox-with-input\"},[_c('div',{staticClass:\"custom-control custom-checkbox\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.timelapseOnCancelEnabled),expression:\"timelapseOnCancelEnabled\"}],staticClass:\"custom-control-input\",attrs:{\"id\":\"timelapseOnCancelEnabled\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.timelapseOnCancelEnabled)?_vm._i(_vm.timelapseOnCancelEnabled,null)>-1:(_vm.timelapseOnCancelEnabled)},on:{\"change\":function($event){var $$a=_vm.timelapseOnCancelEnabled,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.timelapseOnCancelEnabled=$$a.concat([$$v]))}else{$$i>-1&&(_vm.timelapseOnCancelEnabled=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.timelapseOnCancelEnabled=$$c}}}}),_c('label',{staticClass:\"custom-control-label\",attrs:{\"for\":\"timelapseOnCancelEnabled\"}},[_vm._v(_vm._s(_vm.$t(\"Record time-lapse when a print is cancelled.\")))])])]),(_vm.timelapseOnCancelEnabled)?_c('div',{staticClass:\"form-inline my-1 checkbox-with-input\"},[_c('div',{staticClass:\"custom-control custom-checkbox\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Skip if the print is cancelled in less than\"))+\" \")]),_c('number-input',{staticClass:\"wrappable-field\",attrs:{\"step\":5,\"unit\":\"minutes\"},model:{value:(_vm.minTimelapseMinutesOnCancel),callback:function ($$v) {_vm.minTimelapseMinutesOnCancel=$$v},expression:\"minTimelapseMinutesOnCancel\"}})],1):_vm._e()])],1)]),_c('section',{staticClass:\"danger mt-5\"},[_c('h2',{staticClass:\"section-title\"},[_vm._v(_vm._s(_vm.$t(\"Danger Zone\")))]),_c('div',{staticClass:\"mt-4\"},[_c('a',{staticClass:\"btn btn-outline-secondary\",attrs:{\"href\":_vm.printerWizardUrl}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Re-Link Printer\"))+\" \")]),_c('div',{staticClass:\"text-muted mt-1\"},[_c('small',[_c('i18next',{attrs:{\"translation\":_vm.$t(`If your printer is always showing as 'offline', and you have gone through {localizedDom}, you can try to re-link printer as the last resort.`)},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('a',{attrs:{\"href\":_vm.getDocUrl('/user-guides/troubleshoot-server-connection-issues/')}},[_vm._v(_vm._s(_vm.$t(\"all the trouble-shooting steps\")))])]},proxy:true}])})],1)])]),(_vm.isEnt)?_c('div',{staticClass:\"mt-4\"},[_c('button',{staticClass:\"btn btn-outline-warning\",on:{\"click\":_vm.archivePrinter}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Archive Printer\"))+\" \")]),_c('div',{staticClass:\"text-muted mt-1\"},[_c('small',[_c('i18next',{attrs:{\"translation\":_vm.$t(`Archived printers are not counted toward your subscription plan. You won't see them in the app either. Go to {localizedDom} to find all archived printers and/or un-archive them.`)},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('a',{attrs:{\"href\":\"/ent/printers/archived/\"}},[_vm._v(_vm._s(_vm.$t(\"this page\")))])]},proxy:true}],null,false,2102701858)})],1)])]):_vm._e(),_c('div',{staticClass:\"mt-4\"},[_c('button',{staticClass:\"btn btn-outline-danger\",on:{\"click\":_vm.deletePrinter}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Delete Printer\"))+\" \")]),_c('div',{staticClass:\"text-muted mt-1\"},[_c('small',[_vm._v(_vm._s(_vm.$t(\"Bye-bye printer.\")))])])])])])],1)],1)],1)]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"input-group input-group-sm input-wrapper\"},[_c('div',{staticClass:\"input-group-prepend\"},[_c('button',{staticClass:\"btn btn-outline-secondary control-button\",attrs:{\"type\":\"button\",\"disabled\":_vm.disable},on:{\"click\":function($event){_vm.inputValue = _vm.inputValue > 0 ? Math.round((_vm.inputValue - _vm.step) * 10) / 10 : 0\n _vm.$emit('input', _vm.inputValue)}}},[_vm._v(\" ↓ \")])]),_c('input',{staticClass:\"form-control text-center field_required\",style:({ opacity: _vm.disable ? 0.3 : 1 }),attrs:{\"type\":\"text\",\"disabled\":\"\",\"aria-describedby\":\"basic-addon1\"},domProps:{\"value\":_vm.inputValue + ' ' + _vm.unit}}),_c('div',{staticClass:\"input-group-append\"},[_c('button',{staticClass:\"btn btn-outline-secondary control-button\",attrs:{\"type\":\"button\",\"disabled\":_vm.disable},on:{\"click\":function($event){_vm.inputValue = Math.round((_vm.inputValue + _vm.step) * 10) / 10\n _vm.$emit('input', _vm.inputValue)}}},[_vm._v(\" ↑ \")])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NumberInput.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NumberInput.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./NumberInput.vue?vue&type=template&id=66233dc0&scoped=true&\"\nimport script from \"./NumberInput.vue?vue&type=script&lang=js&\"\nexport * from \"./NumberInput.vue?vue&type=script&lang=js&\"\nimport style0 from \"./NumberInput.vue?vue&type=style&index=0&id=66233dc0&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"66233dc0\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterSettingsPage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterSettingsPage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PrinterSettingsPage.vue?vue&type=template&id=3d5060ec&scoped=true&\"\nimport script from \"./PrinterSettingsPage.vue?vue&type=script&lang=js&\"\nexport * from \"./PrinterSettingsPage.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PrinterSettingsPage.vue?vue&type=style&index=0&id=3d5060ec&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3d5060ec\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('page-layout',{scopedSlots:_vm._u([{key:\"content\",fn:function(){return [_c('b-container',[_c('b-row',[_c('b-col',[_c('div',{staticClass:\"form-container full-on-mobile border-radius-lg\"},[_c('div',{staticClass:\"row\"},[_c('h3',{staticClass:\"col-sm-12 text-center p-3 wizard-page-title-font\"},[_vm._v(_vm._s(_vm.$t(\"Link Printer\")))])]),_c('b-row',{staticClass:\"center mt-3 mb-5\"},[_c('div',{staticClass:\"col-sm-12 col-lg-8\"},[_c('PrinterProgress',{attrs:{\"step\":2}})],1)]),_c('b-row',{staticClass:\"center py-5\"},[_c('div',{staticClass:\"col-sm-12 col-lg-8\"},[_c('loading',{attrs:{\"active\":_vm.chosenDeviceId != null,\"can-cancel\":false}}),(_vm.discoveryEnabled)?_c('div',{staticClass:\"discover\"},[_c('div',{staticClass:\"discover-body\"},[(!_vm.canStartLinking)?_c('div',{staticStyle:{\"text-align\":\"center\"}},[_c('div',{staticClass:\"spinner-border big\",attrs:{\"role\":\"status\"}},[_c('span',{staticClass:\"sr-only\"})]),_c('div',{staticClass:\"lead\"},[_vm._v(_vm._s(_vm.$t(\"Scanning...\")))])]):_c('div',[_c('div',{staticClass:\"lead my-3\"},[_c('div',{staticClass:\"spinner-border\",attrs:{\"role\":\"status\"}},[_c('span',{staticClass:\"sr-only\"})]),_c('span',{staticClass:\"sr-only\"}),_vm._v(\" \"+_vm._s(_vm.$t(\"Scanning..., {name} printer(s) found on your local network:\",{name:_vm.discoveredPrinters.length}))+\" \")]),_vm._l((_vm.discoveredPrinters),function(discoveredPrinter){return _c('discovered-printer',{key:discoveredPrinter.device_id,attrs:{\"discovered-printer\":discoveredPrinter},on:{\"auto-link-printer\":_vm.autoLinkPrinter}})})],2),(_vm.discoveryCount >= 2)?_c('div',{staticClass:\"text-muted pt-4\"},[_c('div',[_vm._v(_vm._s(_vm.$t(\"To link your printer, please make sure:\")))]),_c('ul',[_c('li',[_vm._v(_vm._s(_vm.$t(\"The printer is powered on. If you are using an external SBC such as a Raspberry Pi, make sure it's powered on as well.\")))]),_c('li',[_vm._v(\" \"+_vm._s(_vm.$t(\"The printer or SBC is connected to the same local network as your phone/computer.\"))+\" \")]),(_vm.targetOctoPrint)?_c('li',[_vm._v(_vm._s(_vm.$t(\"{brandName} for OctoPrint is 1.8.0 or above.\",{brandName:_vm.$syndicateText.brandName})))]):_vm._e()])]):_vm._e(),_c('div',{staticClass:\"d-flex flex-column align-items-center\"},[_c('div',{staticClass:\"mt-5 mb-3\"},[_vm._v(\" \"+_vm._s(_vm.$t(`Can’t find the printer you want to link? Switch to Manual Linking instead.`))+\" \")]),_c('button',{staticClass:\"btn btn-outline-secondary\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){_vm.discoveryEnabled = false}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Switch to Manual Linking\"))+\" \")])])])]):(_vm.useLegacyVerificationCode)?_c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"row justify-content-center pb-3\"},[_c('div',{staticClass:\"col-sm-12 col-lg-8 d-flex flex-column align-items-center\"},[_c('input',{ref:\"code\",staticClass:\"code-btn\",attrs:{\"disabled\":\"\"},domProps:{\"value\":`${_vm.verificationCode && _vm.verificationCode.code}`}}),_c('small',{staticClass:\"mx-auto py-1\",class:{ 'text-muted': !_vm.copied }},[_vm._v(_vm._s(_vm.copied ? _vm.$t('Code copied to system clipboard') : _vm.$t('Ctrl-C/Cmd-C to copy the code')))]),_c('div',{staticClass:\"mx-auto pt-1 pb-4\"},[_c('span',{staticClass:\"text-muted\"},[_vm._v(_vm._s(_vm.$t(\"Code will expire in \")))]),_vm._v(_vm._s(_vm.timeToExpire)+\" \")]),_c('div',{staticClass:\"lead\"},[_c('i18next',{attrs:{\"translation\":_vm.$t(`Enter the {localizedDom}`)},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('strong',[_vm._v(_vm._s(_vm.$t(\"6-digit verification code\")))])]},proxy:true}])})],1)])]),_c('div',{staticClass:\"row justify-content-center\"},[_c('div',{staticClass:\"col-sm-12 col-lg-8 img-container\"},[(_vm.targetOctoPrint)?_c('img',{staticClass:\"screenshot\",attrs:{\"src\":require('@static/img/octoprint-plugin-guide/plugin_verification_code.png')},on:{\"click\":function($event){return _vm.zoomIn($event)}}}):_vm._e(),(_vm.targetKlipper)?_c('img',{staticClass:\"screenshot\",attrs:{\"src\":require('@static/img/octoprint-plugin-guide/moonraker_verification_code.png')},on:{\"click\":function($event){return _vm.zoomIn($event)}}}):_vm._e(),_c('div',{staticClass:\"helper mx-auto py-2\"},[_c('a',{staticClass:\"link font-weight-bold\",on:{\"click\":_vm.showVerificationCodeHelpModal}},[_vm._v(_vm._s(_vm.$t(\"Can't find the page to enter the 6-digit code?\")))])])])])]):_c('div',{staticClass:\"container pt-5\"},[_c('div',{staticClass:\"row justify-content-center pb-1\"},[_c('div',{staticClass:\"col-sm-12 col-md-8 col-lg-6 d-flex flex-column align-items-center\"},[_c('div',{staticClass:\"d-flex align-items-center\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.oneTimePasscode),expression:\"oneTimePasscode\"}],staticClass:\"form-control code-btn\",attrs:{\"type\":\"text\",\"aria-label\":\"One-time Passcode\",\"disabled\":_vm.oneTimePasscodeStatus === 'inprogress'},domProps:{\"value\":(_vm.oneTimePasscode)},on:{\"input\":[function($event){if($event.target.composing)return;_vm.oneTimePasscode=$event.target.value},_vm.oneTimePasscodeChanged]}}),(_vm.oneTimePasscodeStatus === 'inprogress')?_c('div',{staticClass:\"spinner-border text-primary ml-2\",attrs:{\"role\":\"status\"}},[_c('span',{staticClass:\"sr-only\"},[_vm._v(\"Loading...\")])]):_vm._e()])])]),_c('div',{staticClass:\"row justify-content-center pb-3\"},[(_vm.oneTimePasscodeStatus === 'failed')?_c('div',{staticClass:\"text-danger col-sm-12 d-flex flex-column align-items-center wizard-secondary-text-font text-secondary\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Invalid code. Is it expired?\"))+\" \")]):_c('div',{staticClass:\"col-sm-12 d-flex flex-column align-items-center wizard-secondary-text-font text-secondary\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Enter the One-time Passcode\"))+\" \")])]),_c('div',{staticClass:\"mt-4\"},[_c('muted-alert',{staticClass:\"muted-alert wizard-secondary-text-font text-secondary\"},[_c('i18next',{attrs:{\"translation\":_vm.$t(`If you using Obico for OctoPrint older than 2.5.0, or Obico for Klipper older than 1.6.0, switch to {localizedDom}.`)},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('a',{staticClass:\"link\",on:{\"click\":function($event){_vm.useLegacyVerificationCode = true}}},[_vm._v(_vm._s(_vm.$t(\"6-digit verification code\")))])]},proxy:true}])})],1)],1)])],1)]),(!_vm.discoveryEnabled && !_vm.useLegacyVerificationCode)?_c('b-row',{staticClass:\"mt-3 mb-5\"},[_c('div',{staticClass:\"col-md-4 p-4 method-block\"},[_c('h4',{staticClass:\"text-center font-weight-bold wizard-page-title-font\"},[_vm._v(_vm._s(_vm.$t(\"Touch Screen\")))]),_c('div',{staticClass:\"image-block\"},[_c('img',{staticStyle:{\"max-width\":\"80%\"},attrs:{\"src\":require(\"@static/img/printer-wizard/klipperScreenMenu.png\"),\"alt\":\"\"}})]),_c('ol',[_c('li',[_vm._v(_vm._s(_vm.$t(\"Check to see if your printer already has Obico installed your printer screen.\")))]),_c('li',[_vm._v(_vm._s(_vm.$t(\"Navigate to the settings menu on the LCD screen of your printer.\")))]),_c('li',[_vm._v(_vm._s(_vm.$t(\"Find the “Link Obico” menu item and tap it to open the connection screen.\")))])])]),_c('div',{staticClass:\"col-md-4 p-4 method-block\"},[_c('h4',{staticClass:\"text-center font-weight-bold wizard-page-title-font\"},[_vm._v(_vm._s(_vm.$t(\"LCD Screen \")))]),_c('div',{staticClass:\"image-block\"},[_c('img',{staticStyle:{\"max-width\":\"80%\"},attrs:{\"src\":require(\"@static/img/printer-wizard/lcdScreenLarge.png\"),\"alt\":\"\"}})]),_c('ol',[_c('li',[_vm._v(_vm._s(_vm.$t(\"Check to see if your printer already has Obico Easy Link installed on the LCD menu.\")))]),_c('li',[_vm._v(_vm._s(_vm.$t(\"Navigate to the settings menu on the LCD screen of your printer.\")))]),_c('li',[_vm._v(_vm._s(_vm.$t(\"Find the “Link Obico” menu item.\")))])])]),_c('div',{staticClass:\"col-md-4 p-4 method-block\"},[_c('h4',{staticClass:\"text-center font-weight-bold wizard-page-title-font\"},[_vm._v(_vm._s(_vm.$t(\"Install Via SSH\")))]),_c('div',{staticClass:\"image-block\"},[_c('img',{staticStyle:{\"max-width\":\"80%\"},attrs:{\"src\":require(\"@static/img/printer-wizard/commandLinePrompt.png\"),\"alt\":\"\"}})]),_c('ol',[_c('li',[_vm._v(_vm._s(_vm.$t(\"If you can't find Obico Easy Link, you will need to SSH to your printer to install Obico. You will need to find a guide that works for your printer.\")))])]),_c('div',[_c('a',{attrs:{\"target\":\"_blank\",\"href\":_vm.getDocUrl('/user-guides/klipper-setup/')}},[_vm._v(_vm._s(_vm.$t(\"Show me how\")))])])])]):_vm._e(),_c('div',{staticClass:\"d-flex justify-content-between align-items-center button-wrap\"},[_c('div',{staticClass:\"back\",on:{\"click\":function($event){return _vm.$router.back()}}},[_c('i',{staticClass:\"fas fa-chevron-left\"}),_c('span',[_vm._v(\" \"+_vm._s(_vm.$t(\"Back\")))])])]),_c('div',{staticClass:\"text-center mt-5 wizard-default-font\"},[_c('i18next',{attrs:{\"translation\":_vm.$t(`Need help? Check out the {localizedDom}`)},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('a',{attrs:{\"target\":\"_blank\",\"href\":_vm.targetKlipper? _vm.getDocUrl('/user-guides/klipper-setup/'):_vm.getDocUrl('/user-guides/octoprint-plugin-setup/')}},[_vm._v(_vm._s(_vm.$t(\"step-by-step set up guide\"))+\".\")])]},proxy:true}])})],1)],1)])],1)],1)]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"discovered-printers mt-4\"},[_c('div',{staticClass:\"flex-grow-0 pt-1 mr-2\"},[(_vm.discoveredPrinter.agent.toLowerCase().includes('octoprint'))?_c('img',{staticClass:\"logo-img\",attrs:{\"src\":require('@static/img/octoprint_logo.png')}}):(_vm.discoveredPrinter.agent.toLowerCase().includes('klipper'))?_c('img',{staticClass:\"logo-img\",attrs:{\"src\":require('@static/img/klipper_logo.jpg')}}):_c('img',{staticClass:\"logo-img\",attrs:{\"src\":require('@static/img/raspberry_pi.png')}})]),_c('div',{staticClass:\"row flex-grow-1 ml-1 link-action\"},[_c('div',{staticClass:\"col-sm-12 col-md-10 pb-2\"},[(_vm.discoveredPrinter.rpi_model)?_c('div',[_vm._v(\" \"+_vm._s(_vm.discoveredPrinter.rpi_model)+\" \")]):_vm._e(),(_vm.discoveredPrinter.machine_type)?_c('div',[_vm._v(\" \"+_vm._s(_vm.discoveredPrinter.machine_type)+\" \")]):_vm._e(),(_vm.discoveredPrinter.agent)?_c('div',{staticClass:\"text-muted small\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Platform\"))+\": \"+_vm._s(_vm.discoveredPrinter.agent)+\" \")]):_vm._e(),(_vm.discoveredPrinter.host_or_ip)?_c('div',{staticClass:\"text-muted small\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"IP address\"))+\": \"+_vm._s(_vm.discoveredPrinter.host_or_ip)+\" \")]):_vm._e(),(_vm.discoveredPrinter.hostname)?_c('div',{staticClass:\"text-muted small\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Hostname\"))+\": \"+_vm._s(_vm.discoveredPrinter.hostname)+\" \")]):_vm._e(),(_vm.discoveredPrinter.octopi_version)?_c('div',{staticClass:\"text-muted small\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"OctoPi\"))+\": \"+_vm._s(_vm.discoveredPrinter.octopi_version)+\" \")]):_vm._e(),(!_vm.discoveredPrinter.octopi_version && _vm.discoveredPrinter.os)?_c('div',{staticClass:\"text-muted small\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"OS\"))+\": \"+_vm._s(_vm.discoveredPrinter.os)+\" \")]):_vm._e()]),_c('div',{staticClass:\"col-sm-12 col-md-2 center px-3\"},[_c('button',{staticClass:\"btn btn-block btn-primary\",on:{\"click\":function($event){return _vm.$emit('auto-link-printer', { ..._vm.discoveredPrinter })}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Link\"))+\" \")])])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DiscoveredPrinter.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DiscoveredPrinter.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DiscoveredPrinter.vue?vue&type=template&id=0a48d7b0&\"\nimport script from \"./DiscoveredPrinter.vue?vue&type=script&lang=js&\"\nexport * from \"./DiscoveredPrinter.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DiscoveredPrinter.vue?vue&type=style&index=0&id=0a48d7b0&prod&lang=sass&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"px-2\"},[_c('div',{staticClass:\"title-pic\"},[_c('img',{staticClass:\"pic-item\",attrs:{\"src\":require('@static/img/webpage-multiple.svg')}}),_vm._m(0),_c('img',{staticClass:\"pic-item\",attrs:{\"src\":require('@static/img/printer.png')}})]),_c('div',{staticClass:\"my-4\"},[_c('p',[_vm._v(_vm._s(_vm.$t(\"The {brandName} app needs to make sure you have access to selected printer.\",{brandName:_vm.$syndicateText.brandName})))]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"When you press 'Link Now' button below, a new browser window will pop up to finish a handshake with this printer.\"))+\" \")])]),_c('div',[_c('div',{staticClass:\"row my-2\"},[_c('div',{staticClass:\"col-sm-6\"},[_c('button',{staticClass:\"btn btn-block btn-primary mt-2\",attrs:{\"disabled\":_vm.linking},on:{\"click\":_vm.autoLinkPrinter}},[(_vm.linking)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e(),_vm._v(_vm._s(_vm.$t(\"Link Now\"))+\" \"),_c('i',{staticClass:\"fas fa-external-link-alt\"})],1)]),_c('div',{staticClass:\"col-sm-6\"},[_c('button',{staticClass:\"btn btn-block btn-secondary mt-2\",on:{\"click\":_vm.cancel}},[_vm._v(_vm._s(_vm.$t(\"Cancel\")))])])])])])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"pic-item\"},[_c('i',{staticClass:\"fas fa-ellipsis-h fa-2x\"}),_c('i',{staticClass:\"fas fa-ellipsis-h fa-2x\"})])\n}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AutoLinkPopup.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AutoLinkPopup.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AutoLinkPopup.vue?vue&type=template&id=18c57e6c&scoped=true&\"\nimport script from \"./AutoLinkPopup.vue?vue&type=script&lang=js&\"\nexport * from \"./AutoLinkPopup.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AutoLinkPopup.vue?vue&type=style&index=0&id=18c57e6c&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"18c57e6c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"printer-progress\"},[_c('div',{staticClass:\"circle\",class:{active:_vm.step===0, done:_vm.step>0}},[_c('font-awesome-icon',{attrs:{\"icon\":\"fa-check\"}}),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"Device Selection\"))+\" \")])],1),_c('div',{staticClass:\"line\",class:{active:_vm.step>=1}}),_c('div',{staticClass:\"circle\",class:{active:_vm.step===1, done:_vm.step>1}},[_c('font-awesome-icon',{attrs:{\"icon\":['fas', 'check']}}),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"Install Obico\"))+\" \")])],1),_c('div',{staticClass:\"line\",class:{active:_vm.step===2}}),_c('div',{staticClass:\"circle\",class:{active:_vm.step===2,done:_vm.step===3}},[_c('font-awesome-icon',{attrs:{\"icon\":['fas', 'check']}}),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"Link Printer\"))+\" \")])],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterProgress.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterProgress.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PrinterProgress.vue?vue&type=template&id=09cdf468&scoped=true&\"\nimport script from \"./PrinterProgress.vue?vue&type=script&lang=js&\"\nexport * from \"./PrinterProgress.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PrinterProgress.vue?vue&type=style&index=0&id=09cdf468&prod&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"09cdf468\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterLinkingPage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterLinkingPage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PrinterLinkingPage.vue?vue&type=template&id=47ff6d0e&scoped=true&\"\nimport script from \"./PrinterLinkingPage.vue?vue&type=script&lang=js&\"\nexport * from \"./PrinterLinkingPage.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PrinterLinkingPage.vue?vue&type=style&index=0&id=47ff6d0e&prod&lang=sass&scoped=true&\"\nimport style1 from \"./PrinterLinkingPage.vue?vue&type=style&index=1&id=47ff6d0e&prod&lang=sass&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"47ff6d0e\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('page-layout',{scopedSlots:_vm._u([{key:\"content\",fn:function(){return [_c('b-container',[_c('b-row',[_c('b-col',[_c('div',{staticClass:\"form-container full-on-mobile border-radius-lg\"},[(_vm.printerIdToLink)?_c('b-row',[_c('div',{staticClass:\"col-sm-12 col-lg-8\"},[_c('div',{staticClass:\"text-warning\"},[_c('i18next',{attrs:{\"translation\":_vm.$t(`Warning: Re-Linking OctoPrint should be your last resort to solve issues. Please make sure you have exhausted all options on {localizedDom}.`)},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('a',{attrs:{\"href\":\"https://www.obico.io/help/\"}},[_vm._v(_vm._s(_vm.$t(\"{brandName}'s help website\",{brandName:_vm.$syndicateText.brandName})))])]},proxy:true}],null,false,3291268443)})],1)])]):_vm._e(),_c('div',{staticClass:\"row\"},[_c('h1',{staticClass:\"col-sm-12 text-center p-3 wizard-page-title-font\"},[_vm._v(_vm._s(_vm.$t(\"Device Selection\")))])]),_c('b-row',{staticClass:\"center mt-3 mb-5 pb-5\"},[_c('div',{staticClass:\"col-sm-12 col-lg-8\"},[_c('PrinterProgress',{attrs:{\"step\":0}})],1)]),(_vm.devicesWithObicoPreInstalled.length > 0)?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-12 col-lg-6 py-4\"},[_c('h4',{staticClass:\"py-3\"},[_vm._v(_vm._s(_vm.$t(\"Devices with Obico Pre-installed\")))]),_c('div',{staticClass:\"printer-list\"},_vm._l((_vm.devicesWithObicoPreInstalled),function(item){return _c('div',{key:item.id,staticClass:\"printer-item\",on:{\"click\":function($event){return _vm.targetPlatformClicked('klipper-obico-enabled',item)}}},[_c('div',{staticClass:\"img-wrap clickable\"},[_c('img',{attrs:{\"src\":item.image_url,\"alt\":\"\"}})]),_c('div',{staticClass:\"item-label\"},[_vm._v(_vm._s(item.brand))]),_c('h5',{staticClass:\"item-label\"},[_c('b',[_vm._v(_vm._s(item.model))])])])}),0)])]):_vm._e(),_c('div',{staticClass:\"wizard-card-list py-4\"},[_c('div',{staticClass:\"wizard-card-horizontal\",on:{\"click\":function($event){return _vm.targetPlatformClicked('klipper-preinstalled')}}},[_c('div',{staticClass:\"img-wrap\"},[_c('img',{attrs:{\"src\":require('@static/img/klipper_logo.jpg')}})]),_c('div',{staticClass:\"text-wrap\"},[_c('h3',{staticClass:\"wizard-default-font\"},[_vm._v(_vm._s(_vm.$t(\"Pre-Installed Klipper Printer\")))]),_c('h4',{staticClass:\"wizard-secondary-text-font text-secondary\"},[_vm._v(_vm._s(_vm.$t(\"Creality K1, Sonic Pad, Sovol SV07, Kingroon KLP1, Elegoo Neptune 4, etc...\")))])])]),_c('div',{staticClass:\"wizard-card-horizontal\",on:{\"click\":function($event){return _vm.targetPlatformClicked('klipper-generic')}}},[_c('div',{staticClass:\"img-wrap\"},[_c('img',{attrs:{\"src\":require('@static/img/klipper_logo.jpg')}}),_c('div',{staticClass:\"img-tip\"},[_c('img',{attrs:{\"src\":require('@static/img/mainsail_logo.png')}}),_c('img',{attrs:{\"src\":require('@static/img/fluidd_logo.png')}})])]),_c('div',{staticClass:\"text-wrap\"},[_c('h3',{staticClass:\"wizard-default-font\"},[_vm._v(_vm._s(_vm.$t(\"Generic Klipper - Self Installed\")))]),_c('h4',{staticClass:\"wizard-secondary-text-font text-secondary\"},[_vm._v(_vm._s(_vm.$t(\"If you installed Klipper yourself on a Raspberry Pi or other linux device. E.g., Voron, RatRig\")))])])]),_c('div',{staticClass:\"wizard-card-horizontal\",on:{\"click\":function($event){return _vm.targetPlatformClicked('octoprint')}}},[_c('div',{staticClass:\"img-wrap\"},[_c('img',{attrs:{\"src\":require('@static/img/octoprint_logo.png')}})]),_c('div',{staticClass:\"text-wrap\"},[_c('h3',{staticClass:\"wizard-default-font\"},[_vm._v(\"OctoPrint\")]),_c('h4',{staticClass:\"wizard-secondary-text-font text-secondary\"},[_vm._v(_vm._s(_vm.$t(\"Including OctoPrint for Klipper such as OctoKlipper.\")))])])])])],1)])],1)],1)]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TargetPlatformSelectionPage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TargetPlatformSelectionPage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TargetPlatformSelectionPage.vue?vue&type=template&id=292aad3e&scoped=true&\"\nimport script from \"./TargetPlatformSelectionPage.vue?vue&type=script&lang=js&\"\nexport * from \"./TargetPlatformSelectionPage.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TargetPlatformSelectionPage.vue?vue&type=style&index=0&id=292aad3e&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"292aad3e\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('page-layout',{scopedSlots:_vm._u([{key:\"content\",fn:function(){return [_c('b-container',[_c('b-row',[_c('b-col',[_c('div',{staticClass:\"form-container full-on-mobile border-radius-lg\"},[_c('div',{staticClass:\"row\"},[_c('h1',{staticClass:\"col-sm-12 text-center p-3 wizard-page-title-font\"},[_vm._v(_vm._s(_vm.$t(\"Install Obico\")))])]),_c('b-row',{staticClass:\"center mt-3 mb-5 pb-5\"},[_c('div',{staticClass:\"col-sm-12 col-lg-8\"},[_c('PrinterProgress',{attrs:{\"step\":1}})],1)]),_c('div',[(_vm.targetKlipperPreInstall)?_c('div',{staticClass:\"klipper-pre-install-wrap\"},[_c('img',{attrs:{\"src\":require(\"@static/img/printer-wizard/commandLinePrompt.png\"),\"alt\":\"\"}}),_c('div',{staticClass:\"text-wrap\"},[_c('h3',[_vm._v(_vm._s(_vm.$t(\"Install Obico for Klipper\")))]),_c('ol',{staticClass:\"secondary-font\"},[_c('li',[_c('a',{attrs:{\"href\":_vm.getDocUrl('/user-guides/klipper-setup/'),\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t(\"Find the Guide for Your Printer to install Obico for Klipper.\")))])]),_c('li',[_vm._v(_vm._s(_vm.$t('SSH to your device.')))]),_c('li',[_vm._v(_vm._s(_vm.$t('Enter the installation commands.')))]),_c('li',[_vm._v(_vm._s(_vm.$t('Alternatively, you can use KIAUH to install Obico.')))]),_c('li',[_vm._v(_vm._s(_vm.$t('Upon \"Scanning the networking...\", come back here and click \"Next\".')))])])])]):_vm._e(),(_vm.targetOctoPrint)?_c('div',{staticClass:\"kilpper-pre-install-wrap\"},[_c('img',{staticClass:\"octoprint-image\",attrs:{\"src\":require(\"@static/img/octoprint-plugin-guide/install_plugin.png\"),\"alt\":\"\"}}),_c('div',{staticClass:\"text-wrap\"},[_c('h3',[_vm._v(_vm._s(_vm.$t(\"Install Obico for OctoPrint\")))]),_c('ol',{staticClass:\"secondary-font\"},[_c('li',[_vm._v(_vm._s(_vm.$t(\"Open OctoPrint in another browser tab.\")))]),_c('li',[_vm._v(\" \"+_vm._s(_vm.$t(\"Select\"))+\" \"),_c('em',[_vm._v(\"\\\"\"+_vm._s(_vm.$t(\"OctoPrint settings menu → Plugin Manager → Get More...\"))+\"\\\"\")]),_vm._v(\". \")]),_c('li',[_vm._v(_vm._s(_vm.$t(\"Enter '{brandName}' to locate the plugin. Click\", { brandName: _vm.$syndicateText.brandName }))+\" \"),_c('em',[_vm._v(\"\\\"\"+_vm._s(_vm.$t(\"Install\"))+\"\\\"\")]),_vm._v(\".\")]),_c('li',[_vm._v(_vm._s(_vm.$t(\"Restart OctoPrint when prompted.\")))])])])]):_vm._e()]),(_vm.targetKlipperGeneric)?_c('div',{staticClass:\"kilpper-pre-install-wrap\"},[_c('img',{attrs:{\"src\":require(\"@static/img/klipper_logo.jpg\"),\"alt\":\"\"}}),_c('div',{staticClass:\"text-wrap\"},[_c('h3',[_vm._v(_vm._s(_vm.$t(\"Install Obico for Klipper\")))]),_c('ol',{staticClass:\"secondary-font\"},[_c('li',[_vm._v(_vm._s(_vm.$t(\"SSH to the Raspberry Pi (or other SBC) your Klipper runs on.\")))]),_c('li',[_c('div',[_vm._v(_vm._s(_vm.$t(\"Run:\")))]),_c('pre',{staticClass:\"mt-2\"},[_vm._v(\" cd ~\\n git clone https://github.com/TheSpaghettiDetective/moonraker-obico.git\\n cd moonraker-obico\\n ./install.sh\\n \")])]),_c('li',[_vm._v(_vm._s(_vm.$t('Alternatively, you can use KIAUH to install Obico.')))]),_c('li',[_vm._v(_vm._s(_vm.$t('Upon \"Scanning the networking...\", come back here and click \"Next\".')))])])])]):_vm._e(),(_vm.printerItem)?_c('div',{staticClass:\"printer-item\"},[_c('div',{staticClass:\"printer-left\"},[_c('h5',[_vm._v(_vm._s(_vm.printerItem.brand +\" \" + _vm.printerItem.model))]),_c('div',{staticClass:\"img-wrap\"},[_c('img',{attrs:{\"src\":_vm.printerItem.image_url,\"alt\":\"\"}})])]),_c('div',{staticClass:\"line\"}),_c('div',{staticClass:\"printer-right\"},[_c('ol',[_c('li',[_vm._v(_vm._s(_vm.$t('1. Unbox and assemble the 3D printer following the manufacturers instructions')))]),_c('li',[_vm._v(_vm._s(_vm.$t('2. Power on the 3D printer and make sure it is connected to WiFi.')))]),_c('li',[_vm._v(_vm._s(_vm.$t('3. Tap “Next” when you are ready.')))])])])]):_vm._e(),_c('div',{staticClass:\"d-flex justify-content-between align-items-center button-wrap\"},[_c('div',{staticClass:\"back\",on:{\"click\":function($event){return _vm.$router.back()}}},[_c('i',{staticClass:\"fas fa-chevron-left\"}),_c('span',[_vm._v(\" \"+_vm._s(_vm.$t(\"Back\")))])]),_c('b-button',{attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.goForward}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Next\"))+\" \")])],1),_c('div',{staticClass:\"text-center mt-5 wizard-default-font\"},[_c('i18next',{attrs:{\"translation\":_vm.$t(`Need help? Check out the {localizedDom}`)},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('a',{attrs:{\"target\":\"_blank\",\"href\":_vm.targetKlipper? _vm.getDocUrl('/user-guides/klipper-setup/'):_vm.getDocUrl('/user-guides/octoprint-plugin-setup/')}},[_vm._v(_vm._s(_vm.$t(\"step-by-step set up guide\"))+\".\")])]},proxy:true}])})],1)],1)])],1)],1)]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ObicoInstallationGuidePage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ObicoInstallationGuidePage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ObicoInstallationGuidePage.vue?vue&type=template&id=0503971a&scoped=true&\"\nimport script from \"./ObicoInstallationGuidePage.vue?vue&type=script&lang=js&\"\nexport * from \"./ObicoInstallationGuidePage.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ObicoInstallationGuidePage.vue?vue&type=style&index=0&id=0503971a&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0503971a\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('page-layout',{scopedSlots:_vm._u([{key:\"content\",fn:function(){return [_c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-12 p-4\"},[_c('div',{staticClass:\"form-container full-on-mobile border-radius-lg\"},[(_vm.verifiedPrinter)?_c('div',{staticClass:\"text-center py-5\"},[_c('svg',{staticClass:\"success-checkmark\"},[_c('use',{attrs:{\"href\":\"#svg-success-checkmark\"}})]),_c('h3',{staticClass:\"pb-4\"},[_vm._v(_vm._s(_vm.$t(\"Successfully linked to your account!\")))]),_c('div',{staticClass:\"col-sm-12 col-md-8 offset-md-2 col-lg-6 offset-lg-3 d-flex flex-column align-center justify-content-center\"},[_c('saving-animation',{attrs:{\"errors\":_vm.errorMessages.printer_name,\"saving\":_vm.saving.printer_name}},[_c('div',{staticClass:\"printer-name-input\"},[_c('div',{staticClass:\"edit-icon\"},[_c('i',{staticClass:\"fas fa-pen\"})]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.verifiedPrinter.name),expression:\"verifiedPrinter.name\"}],staticClass:\"dark\",attrs:{\"type\":\"text\",\"placeholder\":_vm.$t('Printer name')},domProps:{\"value\":(_vm.verifiedPrinter.name)},on:{\"input\":[function($event){if($event.target.composing)return;_vm.$set(_vm.verifiedPrinter, \"name\", $event.target.value)},_vm.updatePrinterName]}})])]),_c('div',[_c('div',{staticClass:\"text-muted mx-auto text-center font-weight-light\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Give your printer a shiny name.\"))+\" \")])])],1),_c('br'),_c('br'),_c('div',{staticClass:\"col-sm-12 col-md-8 offset-md-2 col-lg-6 offset-lg-3 d-flex flex-column align-center justify-content-center\"},[(_vm.redirectToTunnelCreation)?_c('div',{staticClass:\"mt-4\"},[_c('a',{staticClass:\"btn btn-primary btn-block mx-auto btn-lg\",attrs:{\"href\":_vm.redirectToTunnelCreation}},[_vm._v(_vm._s(_vm.$t(\"Authorize App Access\")))])]):_c('div',[_c('div',{staticClass:\"mt-4\"},[_c('a',{staticClass:\"btn btn-primary btn-block mx-auto btn-lg\",attrs:{\"href\":\"/printers/\"}},[_vm._v(_vm._s(_vm.$t(\"Go Check Out Printer Feed!\")))])]),_c('div',{staticClass:\"mt-5\"},[_c('a',{staticClass:\"btn btn-outline-secondary btn-block mx-auto\",attrs:{\"href\":\"/user_preferences/notification_twilio/\"}},[_vm._v(_vm._s(_vm.$t(\"Add Phone Number\")))])]),_c('div',[_c('div',{staticClass:\"text-muted mx-auto text-center font-weight-light\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Receive text (SMS) in case of print failures.\"))+\" \")])]),_c('div',{staticClass:\"mt-4\"},[_c('a',{staticClass:\"btn btn-outline-secondary btn-block mx-auto\",attrs:{\"href\":_vm.editPrinterUrl}},[_vm._v(_vm._s(_vm.$t(\"Change Printer Settings\")))])]),_c('div',[_c('div',{staticClass:\"text-muted mx-auto text-center font-weight-light\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"You can always change it later.\"))+\" \")])])])])]):_vm._e()])])])])]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddPrinterSuccessPage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddPrinterSuccessPage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AddPrinterSuccessPage.vue?vue&type=template&id=d840a164&scoped=true&\"\nimport script from \"./AddPrinterSuccessPage.vue?vue&type=script&lang=js&\"\nexport * from \"./AddPrinterSuccessPage.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d840a164\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('page-layout',{scopedSlots:_vm._u([{key:\"topBarLeft\",fn:function(){return [_c('div',{staticClass:\"printer-name truncated\"},[_vm._v(\" \"+_vm._s(_vm.printer ? _vm.printer.name : '')+\" \")])]},proxy:true},{key:\"topBarRight\",fn:function(){return [(_vm.printer)?_c('div',{staticClass:\"action-panel\"},[_c('a',{staticClass:\"btn shadow-none action-btn icon-btn\",attrs:{\"href\":\"#\",\"title\":\"Share\"},on:{\"click\":function($event){$event.preventDefault();return _vm.onSharePrinter()}}},[_c('i',{staticClass:\"fas fa-share-alt fa-lg\"}),_c('span',{staticClass:\"sr-only\"},[_vm._v(_vm._s(_vm.$t(\"Share\")))])]),_c('a',{staticClass:\"btn shadow-none action-btn icon-btn\",attrs:{\"href\":`/tunnels/${_vm.printer.id}/`,\"title\":\"OctoPrint Tunnel\"}},[_c('svg',{staticClass:\"custom-svg-icon\"},[_c('use',{attrs:{\"href\":\"#svg-tunnel\"}})]),_c('span',{staticClass:\"sr-only\"},[_vm._v(_vm._s(_vm.$t(\"OctoPrint Tunnel\")))])]),_c('a',{staticClass:\"btn shadow-none action-btn icon-btn\",attrs:{\"href\":`/printers/${_vm.printer.id}/`,\"title\":\"Configure\"}},[_c('i',{staticClass:\"fas fa-wrench\"}),_c('span',{staticClass:\"sr-only\"},[_vm._v(_vm._s(_vm.$t(\"Configure\")))])]),_c('b-dropdown',{attrs:{\"right\":\"\",\"no-caret\":\"\",\"toggle-class\":\"icon-btn d-md-none\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('i',{staticClass:\"fas fa-ellipsis-v\"})]},proxy:true}],null,false,3452768261)},[_c('cascaded-dropdown',{ref:\"cascadedDropdown\",attrs:{\"menu-options\":[\n {\n key: 'share',\n icon: 'fas fa-share-alt fa-lg',\n title: _vm.$t('Share'),\n callback: true,\n },\n {\n key: 'tunnel',\n svgIcon: 'svg-tunnel',\n title: _vm.$t('OctoPrint Tunnel'),\n href: `/tunnels/${_vm.printer.id}/`,\n },\n {\n key: 'settings',\n icon: 'fas fa-wrench',\n title: _vm.$t('Configure'),\n href: `/printers/${_vm.printer.id}/`,\n },\n ]},on:{\"menuOptionClicked\":_vm.onMenuOptionClicked}})],1)],1):_vm._e()]},proxy:true},{key:\"content\",fn:function(){return [(!_vm.printer)?_c('loading-placeholder'):_c('div',{staticClass:\"page-container\",attrs:{\"fluid\":\"\"}},[_c('div',{staticClass:\"widgets-container\"},[_vm._l((_vm.widgets),function(widget){return [(\n widget.enabled &&\n ((!_vm.printer.isOffline() && !_vm.printer.isDisconnected()) ||\n widget.component === 'PrintJobControlWidget')\n )?_c(widget.component,{key:widget.id,tag:\"component\",attrs:{\"printer\":_vm.printer,\"printer-comm\":_vm.printerComm,\"print\":_vm.lastPrint},on:{\"sendPrinterAction\":_vm.onSendPrinterAction,\"notAFailureClicked\":_vm.onNotAFailureClicked,\"updateSettings\":_vm.onUpdateSettings}}):_vm._e()]}),_c('div',{staticClass:\"extra-actions\"},[_c('h2',{staticClass:\"section-title\"},[_vm._v(_vm._s(_vm.$t(\"Additional Actions\")))]),_c('b-button',{staticClass:\"custom-button\",attrs:{\"variant\":\"outline-secondary\"},on:{\"click\":_vm.onReorderClicked}},[_c('i',{staticClass:\"fas fa-arrows-alt-v\"}),_vm._v(\" \"+_vm._s(_vm.$t(\"Reorder\"))+\" & \"+_vm._s(_vm.$t(\"Hide\"))+\" \")]),_c('div',{staticClass:\"text-muted extra-actions-explanation\"},[_c('small',[_vm._v(_vm._s(_vm.$t(\"Customize this page for each of your printers by reodering or hiding cards above.\")))])]),_c('b-button',{staticClass:\"custom-button\",attrs:{\"variant\":\"outline-primary\",\"href\":\"/printers/wizard/\"}},[_c('i',{staticClass:\"fas fa-plus\"}),_vm._v(\" \"+_vm._s(_vm.$t(\"Add Printer\"))+\" \")]),_c('div',{staticClass:\"text-muted extra-actions-explanation\"},[_c('small',[_vm._v(_vm._s(_vm.$t(\"Link another printer to {brandName}.\",{brandName:_vm.$syndicateText.brandName})))])])],1)],2),_c('div',{staticClass:\"stream-container\"},[_c('div',{staticClass:\"header-container\"},[_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t('Webcam')))]),_c('div',{staticClass:\"d-flex align-items-center\"},[(_vm.webcams.length > 1)?_c('b-dropdown',{staticClass:\"webcam-dropdown\",attrs:{\"block\":\"\",\"size\":\"sm\",\"variant\":\"link\",\"toggle-class\":\"text-decoration-none\",\"no-caret\":\"\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('i',{staticClass:\"fa fa-camera\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"+_vm._s(_vm.isAllWebcamSelected ? 'All' : _vm.selectedWebcam.name || 'Primary')+\" \"),_c('i',{staticClass:\"fa fa-chevron-down\",attrs:{\"aria-hidden\":\"true\"}})]},proxy:true}],null,false,223123733)},[_c('b-dropdown-text',{staticClass:\"small text-secondary\"},[_vm._v(_vm._s(_vm.$t(\"WEBCAM SELECTION\")))]),_vm._l((_vm.webcams),function(webcam,index){return _c('b-dropdown-item',{key:index,attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.chooseWebcam(index, webcam.stream_id)}}},[_vm._v(_vm._s(webcam.name || 'Primary'))])}),_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.chooseWebcam('all')}}},[_vm._v(_vm._s(_vm.$t('All')))])],2):_c('div',{staticClass:\"mr-3\"},[_c('i',{staticClass:\"fa fa-camera\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"+_vm._s(_vm.webcams.length ? _vm.webcams[0].name || 'Primary' : '')+\" \")])],1)]),_c('div',{staticClass:\"webcam-main\",class:{ 'justify-center' : _vm.isAllWebcamSelected, 'webcam-more-than-two' : _vm.isAllWebcamSelected && _vm.webcams.length > 2 }},_vm._l((_vm.webcams),function(webcam,index){return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isAllWebcamSelected ? true : (index === _vm.selectedWebcamIndex)),expression:\"isAllWebcamSelected ? true : (index === selectedWebcamIndex)\"}],key:index,ref:\"streamInner\",refInFor:true,staticClass:\"stream-inner\",class:_vm.isAllWebcamSelected ? (_vm.isAtleastOnePrinterPortrait ? 'two-webcam-portrait' : 'two-webcam-landscape') : (_vm.videoRotationDeg === 90 || _vm.videoRotationDeg === 270 ? 'single-webcam-portrait' : '')},[_c('streaming-box',{attrs:{\"printer\":_vm.printer,\"webrtc\":webcam.webrtc,\"autoplay\":_vm.user.is_pro,\"webcam\":webcam},on:{\"onRotateRightClicked\":(deg) => _vm.handleRotateRightClicked(deg, webcam.stream_id)}})],1)}),0)])])]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('widget-template',{scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_vm._v(_vm._s(_vm.isPrinting ? _vm.$t('Print Progress') : _vm.$t('Last Print')))]},proxy:true},{key:\"content\",fn:function(){return [_c('div',{staticClass:\"wrapper\"},[(_vm.print)?[_c('div',{staticClass:\"header\"},[_c('g-code-details',{staticClass:\"g-code-details\",attrs:{\"file\":_vm.print.g_code_file || { filename: _vm.print.filename },\"show-open-button\":_vm.print.g_code_file &&\n !_vm.print.g_code_file.resident_printer &&\n !_vm.print.g_code_file.deleted,\"show-details\":false}})],1),_c('div',{staticClass:\"content\"},[_c('div',{staticClass:\"details\"},[(!_vm.isPrinting)?[_c('div',{staticClass:\"info-line no-border\"},[_c('div',{staticClass:\"label\"},[_c('div',{staticClass:\"icon\"},[_c('i',{staticClass:\"fas fa-info\"})]),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Status\")))])]),_c('div',{staticClass:\"value\"},[(!_vm.print.status.isActive)?_c('div',{staticClass:\"print-status-color\",class:_vm.print.status.key},[_vm._v(\" \"+_vm._s(_vm.print.status.title)+\" \")]):_c('b-spinner',{attrs:{\"small\":\"\"}})],1)]),_c('div',{staticClass:\"info-line\"},[_c('div',{staticClass:\"label\"},[_c('div',{staticClass:\"icon\"},[_c('i',{staticClass:\"far fa-clock\"})]),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Started\")))])]),_c('div',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.print.started_at.format('MMM D, YYYY h:mm a')))])]),_c('div',{staticClass:\"info-line\"},[_c('div',{staticClass:\"label\"},[_c('div',{staticClass:\"icon\"},[_c('i',{staticClass:\"fas fa-clock\"})]),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Duration\")))])]),(!_vm.print.status.isActive)?_c('div',{staticClass:\"value\"},[_vm._v(\" \"+_vm._s(_vm.print.duration || '-')+\" \")]):_c('b-spinner',{attrs:{\"small\":\"\"}})],1)]:[(_vm.isPrinting)?_c('div',{staticClass:\"progress-container\"},[_c('div',{staticClass:\"progress-bar-wrapper\"},[_c('div',{staticClass:\"progress-bar-inner\",style:(`width: ${_vm.printProgressPercentage}%`)})]),_c('div',{staticClass:\"percentage-progress\"},[_vm._v(_vm._s(_vm.printProgressPercentage)+\"%\")])]):_vm._e(),_c('div',{staticClass:\"info-line no-border\"},[_c('div',{staticClass:\"label\"},[_c('div',{staticClass:\"icon\"},[_c('i',{staticClass:\"fas fa-info\"})]),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Status\")))])]),_c('div',{staticClass:\"value\",class:'text-' + _vm.printer.calculatedStateColor()},[_vm._v(\" \"+_vm._s(_vm.printer.calculatedState())+\" \")])]),_c('div',{staticClass:\"info-line\"},[_c('div',{staticClass:\"label\"},[_c('div',{staticClass:\"icon\"},[_c('font-awesome-icon',{attrs:{\"icon\":['fas', 'layer-group']}})],1),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Layer\")))])]),_c('div',{staticClass:\"value\"},[_vm._v(\" \"+_vm._s(_vm.layerProgress)+\" \")])]),_c('div',{staticClass:\"info-line\"},[_c('div',{staticClass:\"label\"},[_c('div',{staticClass:\"icon\"},[_c('i',{staticClass:\"fas fa-stopwatch\"})]),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Remaining\")))])]),_c('div',{staticClass:\"value\"},[(_vm.secondsLeft)?_c('span',[_vm._v(_vm._s(_vm.humanizedDuration(_vm.secondsLeft)))]):_c('span',{staticClass:\"text-secondary\"},[_vm._v(_vm._s(_vm.$t(\"Calculating...\")))])])]),_c('div',{staticClass:\"info-line\"},[_c('div',{staticClass:\"label\"},[_c('div',{staticClass:\"icon\"},[_c('i',{staticClass:\"fas fa-flag-checkered\"})]),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Finishing at\")))])]),_c('div',{staticClass:\"value\"},[(_vm.finishingAt)?_c('span',[_vm._v(_vm._s(_vm.finishingAt))]):_c('span',{staticClass:\"text-secondary\"},[_vm._v(_vm._s(_vm.$t(\"Calculating...\")))])])]),_c('collapsable-details',[_c('div',{staticClass:\"info-line\"},[_c('div',{staticClass:\"label\"},[_c('div',{staticClass:\"icon\"},[_c('i',{staticClass:\"fas fa-clock\"})]),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Started\")))])]),_c('div',{staticClass:\"value\"},[_vm._v(\" \"+_vm._s(_vm.print.started_at.format(_vm.DATE_TIME_FORMAT))+\" \")])]),_c('div',{staticClass:\"info-line\"},[_c('div',{staticClass:\"label\"},[_c('div',{staticClass:\"icon\"},[_c('i',{staticClass:\"fas fa-stopwatch\"})]),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Elapsed\")))])]),_c('div',{staticClass:\"value\"},[(_vm.timeElapsed)?_c('span',[_vm._v(_vm._s(_vm.timeElapsed))]):_c('b-spinner',{attrs:{\"small\":\"\"}})],1)]),_c('div',{staticClass:\"info-line\"},[_c('div',{staticClass:\"label\"},[_c('div',{staticClass:\"icon\"},[_c('font-awesome-icon',{attrs:{\"icon\":['fas', 'ruler-vertical']}})],1),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Z-height\")))])]),_c('div',{staticClass:\"value\"},[_vm._v(\" \"+_vm._s(_vm.mmProgress)+\" \")])]),_c('div',{staticClass:\"info-line\"},[_c('div',{staticClass:\"label\"},[_c('div',{staticClass:\"icon\"},[_c('i',{staticClass:\"fas fa-stopwatch\"})]),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Total time\")))])]),(_vm.timeTotal)?_c('div',{staticClass:\"value\"},[_vm._v(\" \"+_vm._s(_vm.timeTotal)+\" \")]):_c('span',{staticClass:\"text-secondary\"},[_vm._v(_vm._s(_vm.$t(\"Calculating...\")))])]),(_vm.print.filament_used)?_c('div',{staticClass:\"info-line\"},[_c('div',{staticClass:\"label\"},[_c('div',{staticClass:\"icon\"},[_c('font-awesome-icon',{attrs:{\"icon\":['fas', 'ruler-vertical']}})],1),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Total filament\")))])]),_c('div',{staticClass:\"value\"},[_vm._v(\" \"+_vm._s(_vm.humanizedFilamentUsage(_vm.print.filament_used))+\" \")])]):_vm._e()])]],2),(!_vm.isPrinting)?_c('div',{staticClass:\"actions\"},[_c('b-button',{staticClass:\"custom-button\",attrs:{\"variant\":\"outline-secondary\",\"href\":`/prints/${_vm.print.id}`}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Open Print\"))+\" \")]),(_vm.file.url)?_c('b-button',{staticClass:\"custom-button\",attrs:{\"variant\":\"secondary\",\"disabled\":_vm.isPrintStarting},on:{\"click\":_vm.onRepeatClicked}},[(_vm.isPrintStarting)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_c('i',{staticClass:\"fas fa-redo\"}),_vm._v(\" \"+_vm._s(_vm.$t(\"Reprint\"))+\" \")],1):_vm._e()],1):_vm._e()])]:[_c('p',{staticClass:\"empty-state-text\"},[_vm._v(_vm._s(_vm.$t(\"No prints found\")))])]],2)]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintProgressWidget.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintProgressWidget.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PrintProgressWidget.vue?vue&type=template&id=951008e4&scoped=true&\"\nimport script from \"./PrintProgressWidget.vue?vue&type=script&lang=js&\"\nexport * from \"./PrintProgressWidget.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PrintProgressWidget.vue?vue&type=style&index=0&id=951008e4&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"951008e4\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('widget-template',{scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_vm._v(_vm._s(_vm.$t(\"Failure Detection\")))]},proxy:true},{key:\"content\",fn:function(){return [_c('div',{staticClass:\"wrapper\"},[(_vm.isEnt)?_c('div',{staticClass:\"dh-balance-wrapper\"},[_c('a',{staticClass:\"btn shadow-none action-btn icon-btn hours-btn\",style:({ marginRight: `${String(_vm.dhBadgeNum).length * 0.25}rem` }),attrs:{\"href\":\"/user_preferences/dh/\",\"title\":_vm.dhBadgeNum + ' '+_vm.$t('AI Detection Hours')}},[_c('svg',{staticClass:\"custom-svg-icon\"},[_c('use',{attrs:{\"href\":\"#svg-hour-glass\"}})]),_c('span',{staticClass:\"badge badge-light\",attrs:{\"id\":\"user-credits\"}},[_vm._v(_vm._s(_vm.dhBadgeNum))]),_c('span',{staticClass:\"sr-only\"},[_vm._v(_vm._s(_vm.$t(\"AI Detection Hours\")))])])]):_vm._e(),_c('div',{staticClass:\"header\"},[_c('div',{staticClass:\"gauge-wrapper\"},[_c('failure-detection-gauge',{attrs:{\"normalized-p\":_vm.printer.normalized_p,\"is-watching\":_vm.isWatching}})],1),(_vm.printer.not_watching_reason)?_c('div',{staticClass:\"overlay-info\"},[_c('muted-alert',{staticClass:\"muted-alert\"},[_c('span',[_vm._v(_vm._s(_vm.$t(\"Not watching\"))+\" (\"+_vm._s(_vm.printer.not_watching_reason)+\"). \"),_c('a',{attrs:{\"href\":_vm.getDocUrl('/user-guides/detective-not-watching/'),\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t(\"Learn all possible reasons\"))+\" \"),_c('small',[_c('i',{staticClass:\"fas fa-external-link-alt\"})])])])])],1):_vm._e()]),_c('div',{staticClass:\"controls\"},[_c('div',{staticClass:\"line\"},[_c('label',{staticClass:\"label\",attrs:{\"for\":'watching_enabled-toggle-' + _vm.printer.id}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Enable AI failure detection\"))+\" \"),(!_vm.enableFailureDetection)?_c('div',{staticClass:\"text-muted\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"AI failure detection is disabled. You are on your own.\"))+\" \")]):_vm._e()]),_c('div',{staticClass:\"switch\"},[_c('div',{staticClass:\"custom-control custom-switch\"},[_c('input',{staticClass:\"custom-control-input update-printer\",attrs:{\"id\":'watching_enabled-toggle-' + _vm.printer.id,\"type\":\"checkbox\",\"name\":\"watching_enabled\"},domProps:{\"checked\":_vm.enableFailureDetection},on:{\"click\":_vm.onFailureDetectionToggled}}),_c('label',{staticClass:\"custom-control-label\",staticStyle:{\"font-size\":\"1rem\"},attrs:{\"for\":'watching_enabled-toggle-' + _vm.printer.id}})])])]),_c('div',{staticClass:\"line\"},[_c('label',{staticClass:\"label\",attrs:{\"for\":'pause_on_failure-toggle-' + _vm.printer.id}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Pause on detected failures\"))+\" \"),(!_vm.pauseOnFailure)?_c('div',{staticClass:\"text-muted\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"You will still be alerted via notifications.\"))+\" \")]):_vm._e()]),_c('div',{staticClass:\"switch\"},[_c('div',{staticClass:\"custom-control custom-switch\"},[_c('input',{staticClass:\"custom-control-input update-printer\",attrs:{\"id\":'pause_on_failure-toggle-' + _vm.printer.id,\"type\":\"checkbox\",\"name\":\"pause_on_failure\"},domProps:{\"checked\":_vm.pauseOnFailure},on:{\"click\":_vm.onPauseOnFailureToggled}}),_c('label',{staticClass:\"custom-control-label\",staticStyle:{\"font-size\":\"1rem\"},attrs:{\"for\":'pause_on_failure-toggle-' + _vm.printer.id}})])])])]),(_vm.printer.alertUnacknowledged())?_c('div',{staticClass:\"failure-detected-message\"},[_c('div',{staticClass:\"warning-message\"},[_c('i',{staticClass:\"fas fa-exclamation-triangle\"}),_vm._v(\" \"+_vm._s(_vm.$t(\"Failure Detected!\"))+\" \")]),_c('b-button',{attrs:{\"variant\":\"outline-warning custom-button\"},on:{\"click\":function($event){return _vm.onNotAFailureClicked($event)}}},[_vm._v(_vm._s(_vm.$t(\"Not a Failure?\")))])],1):_vm._e()])]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FailureDetectionWidget.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FailureDetectionWidget.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FailureDetectionWidget.vue?vue&type=template&id=6fe2ac18&scoped=true&\"\nimport script from \"./FailureDetectionWidget.vue?vue&type=script&lang=js&\"\nexport * from \"./FailureDetectionWidget.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FailureDetectionWidget.vue?vue&type=style&index=0&id=6fe2ac18&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6fe2ac18\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('widget-template',{scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_vm._v(_vm._s(_vm.$t(\"Temperature Controls\")))]},proxy:true},{key:\"content\",fn:function(){return [_vm._t(\"content\",function(){return [_c('div',{staticClass:\"wrapper\"},[(_vm.show)?[_vm._l((_vm.temperatures),function(item,key){return _c('temperature-item',{key:key,attrs:{\"temp-key\":key,\"temp-item\":item,\"is-plugin-version-sufficient\":_vm.isPluginVersionSufficient},on:{\"TempEditClicked\":function($event){return _vm.onEditClicked(key, item)}}})}),(_vm.isPluginVersionSufficient)?_c('b-button',{staticClass:\"custom-button\",attrs:{\"variant\":\"outline-primary\"},on:{\"click\":_vm.onTemperaturePresetsClicked}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Temperature Presets\"))+\" \")]):_vm._e()]:[_c('div',{staticClass:\"text-center mt-4\"},[_c('b-spinner'),_c('p',{staticClass:\"mt-2\"},[_vm._v(_vm._s(_vm.$t(\"Loading temperature...\")))])],1)]],2)]})]},proxy:true}],null,true)})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',[_c('h5',[_vm._v(_vm._s(_vm.$t(\"Presets\"))+\":\")])]),_c('div',[_c('b-form-select',{staticClass:\"form-control\",attrs:{\"id\":\"id_preset\"},model:{value:(_vm.currentPreset),callback:function ($$v) {_vm.currentPreset=$$v},expression:\"currentPreset\"}},_vm._l((_vm.allPresets),function(pre){return _c('b-form-select-option',{key:pre.name,attrs:{\"value\":pre.name}},[_vm._v(\" \"+_vm._s(pre.name)+\" \")])}),1)],1),_c('muted-alert',{staticClass:\"mt-4 mb-1\"},[_vm._v(\" \"+_vm._s(_vm.$t('Temperature presets can be edited or added in {agentName} settings.',{agentName: _vm.agentName}))+\" \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.currentPreset),expression:\"currentPreset\"}],attrs:{\"id\":\"selected-preset\",\"type\":\"hidden\"},domProps:{\"value\":(_vm.currentPreset)},on:{\"input\":function($event){if($event.target.composing)return;_vm.currentPreset=$event.target.value}}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TempPresets.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TempPresets.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TempPresets.vue?vue&type=template&id=e2a0ab0e&\"\nimport script from \"./TempPresets.vue?vue&type=script&lang=js&\"\nexport * from \"./TempPresets.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TemperatureWidget.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TemperatureWidget.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TemperatureWidget.vue?vue&type=template&id=6556ed7d&scoped=true&\"\nimport script from \"./TemperatureWidget.vue?vue&type=script&lang=js&\"\nexport * from \"./TemperatureWidget.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TemperatureWidget.vue?vue&type=style&index=0&id=6556ed7d&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6556ed7d\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('widget-template',{scopedSlots:_vm._u([{key:\"title\",fn:function(){return [(_vm.activeMenu)?_c('div',{staticClass:\"nav-btn\",on:{\"click\":function($event){_vm.activeMenu = null}}},[_c('i',{staticClass:\"fas fa-arrow-left\"}),_vm._v(\"  \"+_vm._s(_vm.$t(\"Back\"))+\" \")]):_c('span',[_vm._v(_vm._s(_vm.$t(\"Printer Controls\")))])]},proxy:true},{key:\"content\",fn:function(){return [_c('div',{staticClass:\"wrapper\"},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.activeMenu),expression:\"!activeMenu\"}],staticClass:\"home-menu\"},[_c('button',{staticClass:\"menu-button\",attrs:{\"disabled\":_vm.printer.isActive()},on:{\"click\":function($event){_vm.activeMenu = 'move-head'}}},[_c('svg',{staticClass:\"icon move-xy\"},[_c('use',{attrs:{\"href\":\"#svg-move-xy\"}})]),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Move Head\")))])]),_c('button',{staticClass:\"menu-button\",attrs:{\"disabled\":_vm.printer.isActive()},on:{\"click\":function($event){_vm.activeMenu = 'extrude'}}},[_c('svg',{staticClass:\"icon extruder\"},[_c('use',{attrs:{\"href\":\"#extruder\"}})]),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Extrude\")))])]),(_vm.printer.isAgentMoonraker())?_c('button',{staticClass:\"menu-button\",on:{\"click\":function($event){_vm.activeMenu = 'baby-step-z'}}},[_c('svg',{staticClass:\"icon move-z\"},[_c('use',{attrs:{\"href\":\"#svg-move-z\"}})]),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Baby Step Z\")))])]):_vm._e(),(!_vm.hideTunePrinter)?_c('button',{staticClass:\"menu-button\",on:{\"click\":function($event){_vm.activeMenu = 'tune-printer'}}},[_c('font-awesome-icon',{attrs:{\"icon\":['fas', 'gear']}}),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Tune Printer\")))])],1):_vm._e(),(_vm.powerDevices.length)?_c('button',{staticClass:\"menu-button\",on:{\"click\":function($event){_vm.activeMenu = 'power-control'}}},[_c('font-awesome-icon',{attrs:{\"icon\":['fas', 'power-off']}}),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Power\")))])],1):_vm._e()]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.activeMenu === 'move-head'),expression:\"activeMenu === 'move-head'\"}],staticClass:\"control-panel move-head\"},[_c('div',{staticClass:\"main\"},[_c('div',{staticClass:\"toggles\"},_vm._l((_vm.xyzJogDistance.options),function(option){return _c('div',{key:'xyz-' + option,staticClass:\"pill\",class:{ active: option === _vm.xyzJogDistance.value },on:{\"click\":function($event){_vm.xyzJogDistance.value = option}}},[_vm._v(\" \"+_vm._s(option)+\" \")])}),0),_c('div',{staticClass:\"xy-move\"},[_c('div',{staticClass:\"left\",on:{\"click\":function($event){return _vm.xyzControl(_vm.axis.x, _vm.directions.down)}}},[_c('i',{staticClass:\"fas fa-arrow-left\"})]),_c('div',{staticClass:\"right\",on:{\"click\":function($event){return _vm.xyzControl(_vm.axis.x, _vm.directions.up)}}},[_c('i',{staticClass:\"fas fa-arrow-right\"})]),_c('div',{staticClass:\"up\",on:{\"click\":function($event){return _vm.xyzControl(_vm.axis.y, _vm.directions.up)}}},[_c('i',{staticClass:\"fas fa-arrow-up\"})]),_c('div',{staticClass:\"down\",on:{\"click\":function($event){return _vm.xyzControl(_vm.axis.y, _vm.directions.down)}}},[_c('i',{staticClass:\"fas fa-arrow-down\"})]),_c('div',{staticClass:\"home\",on:{\"click\":function($event){return _vm.xyzControl(_vm.axis.xy, _vm.directions.home)}}},[_c('i',{staticClass:\"fas fa-home\"})])]),_c('div',{staticClass:\"z-move\"},[_c('div',{staticClass:\"up\",on:{\"click\":function($event){return _vm.xyzControl(_vm.axis.z, _vm.directions.up)}}},[_c('i',{staticClass:\"fas fa-arrow-up\"})]),_c('div',{staticClass:\"down\",on:{\"click\":function($event){return _vm.xyzControl(_vm.axis.z, _vm.directions.down)}}},[_c('i',{staticClass:\"fas fa-arrow-down\"})]),_c('div',{staticClass:\"home\",on:{\"click\":function($event){return _vm.xyzControl(_vm.axis.z, _vm.directions.home)}}},[_c('i',{staticClass:\"fas fa-home\"})])])]),_c('div',{staticClass:\"additional\"},[_c('div',{staticClass:\"control-btn\",on:{\"click\":_vm.homeAll}},[_c('i',{staticClass:\"fas fa-home\"}),_vm._v(_vm._s(_vm.$t(\" Home All\")))]),_c('div',{staticClass:\"control-btn\",on:{\"click\":_vm.disableSteppers}},[_c('i',{staticClass:\"fas fa-power-off\"}),_vm._v(\" \"+_vm._s(_vm.$t(\"Disable Steppers\"))+\" \")])])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.activeMenu === 'extrude'),expression:\"activeMenu === 'extrude'\"}],staticClass:\"control-panel extrude\"},[_c('div',{staticClass:\"main\"},[(_vm.showExtrudeControl)?[_c('div',{staticClass:\"toggles\"},_vm._l((_vm.extrudeJogDistance.options),function(option){return _c('div',{key:'xyz-' + option,staticClass:\"pill\",class:{ active: option === _vm.extrudeJogDistance.value },on:{\"click\":function($event){_vm.extrudeJogDistance.value = option}}},[_vm._v(\" \"+_vm._s(option)+\" \")])}),0),_c('div',{staticClass:\"main-buttons\"},[_c('div',{staticClass:\"control-btn\",on:{\"click\":function($event){return _vm.handleFilament(_vm.filamentDirections.retract)}}},[_c('i',{staticClass:\"fas fa-minus\"}),_vm._v(\" \"+_vm._s(_vm.$t(\"Retract\"))+\" \")]),_c('div',{staticClass:\"control-btn\",on:{\"click\":function($event){return _vm.handleFilament(_vm.filamentDirections.extrude)}}},[_c('i',{staticClass:\"fas fa-plus\"}),_vm._v(\" \"+_vm._s(_vm.$t(\"Extrude\"))+\" \")])])]:[_c('div',{staticClass:\"text-center mt-4\"},[_c('b-spinner'),_c('p',{staticClass:\"mt-2\"},[_vm._v(_vm._s(_vm.$t(\"Loading tools...\")))])],1)]],2),(_vm.showToolsSelector)?_c('div',{staticClass:\"additional\"},[_c('b-form-select',{staticClass:\"form-control tool-select\",model:{value:(_vm.activeTool),callback:function ($$v) {_vm.activeTool=$$v},expression:\"activeTool\"}},_vm._l((_vm.tools),function(item,key){return _c('b-form-select-option',{key:key,attrs:{\"value\":key}},[_vm._v(\" \"+_vm._s(_vm.temperatureDisplayName(key))+\" \")])}),1)],1):_vm._e()]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.activeMenu === 'baby-step-z'),expression:\"activeMenu === 'baby-step-z'\"}],staticClass:\"control-panel baby-step-z\"},[_c('div',{staticClass:\"main\"},[_c('div',{staticClass:\"toggles\"},_vm._l((_vm.zOffsetJogDistance.options),function(option){return _c('div',{key:'xyz-' + option,staticClass:\"pill\",class:{ active: option === _vm.zOffsetJogDistance.value },on:{\"click\":function($event){_vm.zOffsetJogDistance.value = option}}},[_vm._v(\" \"+_vm._s(option)+\" \")])}),0),_c('div',{staticClass:\"z-move\"},[_c('div',{staticClass:\"up\",on:{\"click\":function($event){return _vm.controlZOffset(_vm.directions.up)}}},[_c('i',{staticClass:\"fas fa-arrow-up\"})]),_c('div',{staticClass:\"down\",on:{\"click\":function($event){return _vm.controlZOffset(_vm.directions.down)}}},[_c('i',{staticClass:\"fas fa-arrow-down\"})])])]),_c('div',{staticClass:\"additional\"},[_c('div',{staticClass:\"current-offset\"},[_c('div',{staticClass:\"label\"},[_vm._v(_vm._s(_vm.$t(\"Current Offset\")))]),_c('div',{staticClass:\"value\"},[(_vm.currentZOffset || typeof _vm.currentZOffset === 'number')?_c('span',[_vm._v(\" \"+_vm._s(_vm.currentZOffset)+\" \")]):_c('span',[_c('b-spinner',{attrs:{\"small\":\"\"}})],1)])])])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.activeMenu === 'tune-printer'),expression:\"activeMenu === 'tune-printer'\"}],staticClass:\"control-panel tune-printer\"},[(!_vm.printer.isAgentMoonraker() || _vm.currentFeedRate !== null)?[_c('div',{staticClass:\"controls-title\"},[_c('span',[_vm._v(_vm._s(_vm.$t(\"Feed Rate / Speed\")))]),_c('help-widget',{staticClass:\"help-message\",attrs:{\"id\":\"print-speed-widget-help\"}})],1),_c('div',{staticClass:\"controls\"},[_c('div',{staticClass:\"custom\"},[_c('b-input-group',{attrs:{\"prepend\":\"%\"},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('b-button',{attrs:{\"variant\":\"background\",\"disabled\":_vm.customFeedRateFactor === null || parseInt(_vm.customFeedRateFactor) < 1},on:{\"click\":function($event){return _vm.setPrintSpeed(_vm.customFeedRateFactor)}}},[_vm._v(_vm._s(_vm.$t(\"Apply\")))])]},proxy:true}],null,false,3696614275)},[_c('b-form-input',{attrs:{\"placeholder\":\"100\",\"type\":\"number\"},on:{\"focus\":function($event){return $event.target.select()}},model:{value:(_vm.customFeedRateFactor),callback:function ($$v) {_vm.customFeedRateFactor=$$v},expression:\"customFeedRateFactor\"}})],1)],1)])]:_vm._e(),(!_vm.printer.isAgentMoonraker() || _vm.currentFlowRate !== null)?[_c('div',{staticClass:\"controls-title\"},[_c('span',[_vm._v(_vm._s(_vm.$t(\"Flow Rate\")))]),_c('help-widget',{staticClass:\"help-message\",attrs:{\"id\":\"flow-rate-widget-help\"}})],1),_c('div',{staticClass:\"controls\"},[_c('div',{staticClass:\"custom\"},[_c('b-input-group',{attrs:{\"prepend\":\"%\"},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('b-button',{attrs:{\"variant\":\"background\",\"disabled\":_vm.customFlowRateFactor === null || parseInt(_vm.customFlowRateFactor) < 1},on:{\"click\":function($event){return _vm.setFlowRate(_vm.customFlowRateFactor)}}},[_vm._v(_vm._s(_vm.$t(\"Apply\")))])]},proxy:true}],null,false,4188500917)},[_c('b-form-input',{attrs:{\"placeholder\":\"100\",\"type\":\"number\"},on:{\"focus\":function($event){return $event.target.select()}},model:{value:(_vm.customFlowRateFactor),callback:function ($$v) {_vm.customFlowRateFactor=$$v},expression:\"customFlowRateFactor\"}})],1)],1)])]:_vm._e(),(!_vm.printer.isAgentMoonraker() || _vm.currentFanSpeed !== null)?[_c('div',{staticClass:\"controls-title\"},[_c('span',[_vm._v(_vm._s(_vm.$t(\"Fan Speed\")))]),_c('help-widget',{staticClass:\"help-message\",attrs:{\"id\":\"fan-speed-widget-help\"}})],1),_c('div',{staticClass:\"controls\"},[_c('b-button',{staticClass:\"off\",attrs:{\"variant\":\"background\",\"small\":\"\"},on:{\"click\":function($event){{\n _vm.customFanSpeed = 0\n _vm.setFanSpeed(0)\n }}}},[_vm._v(_vm._s(_vm.$t(\"0% (Off)\")))]),_c('div',{staticClass:\"custom\"},[_c('b-input-group',{attrs:{\"prepend\":\"%\"},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('b-button',{attrs:{\"variant\":\"background\",\"disabled\":_vm.customFanSpeed === null ||\n parseInt(_vm.customFanSpeed) > 100 ||\n parseInt(_vm.customFanSpeed) < 0},on:{\"click\":function($event){return _vm.setFanSpeed(_vm.customFanSpeed)}}},[_vm._v(_vm._s(_vm.$t(\"Apply\")))])]},proxy:true}],null,false,22301740)},[_c('b-form-input',{attrs:{\"placeholder\":\"0-100\",\"type\":\"number\"},on:{\"focus\":function($event){return $event.target.select()}},model:{value:(_vm.customFanSpeed),callback:function ($$v) {_vm.customFanSpeed=$$v},expression:\"customFanSpeed\"}})],1)],1),_c('b-button',{staticClass:\"btn\",attrs:{\"variant\":\"background\",\"small\":\"\"},on:{\"click\":function($event){{\n _vm.customFanSpeed = 100\n _vm.setFanSpeed(100)\n }}}},[_vm._v(\"100%\")])],1)]:_vm._e(),(!_vm.printer.isAgentMoonraker())?_c('muted-alert',{staticClass:\"info-block\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"These settings can only be set. They can't be read back from the firmware due to a limitation of the communication protocol.\"))+\" \")]):_vm._e()],2),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.activeMenu === 'power-control'),expression:\"activeMenu === 'power-control'\"}],staticClass:\"control-panel power-control\"},[_vm._l((_vm.powerDevices),function(item,index){return _c('div',{key:index,staticClass:\"power-item\"},[_c('div',{staticClass:\"title\"},[_c('div',{staticClass:\"name\"},[_vm._v(_vm._s(item.device))]),_c('div',{staticClass:\"status text-danger\",class:{ 'text-success': item.status.toUpperCase() === 'ON' }},[_vm._v(\" • \"+_vm._s(item.status.toUpperCase())+\" \")])]),_c('b-button',{attrs:{\"variant\":\"outline-primary\"},on:{\"click\":function($event){return _vm.togglePower(item)}}},[_vm._v(_vm._s(_vm.$t(\" Toggle Power \")))])],1)}),(_vm.powerDevices.length > 1)?_c('div',{staticClass:\"bulk-actions\"},[_c('b-button',{attrs:{\"variant\":\"success\"},on:{\"click\":function($event){return _vm.batchPowerControl('on')}}},[_vm._v(_vm._s(_vm.$t(\" Power On All \")))]),_c('b-button',{attrs:{\"variant\":\"danger\"},on:{\"click\":function($event){return _vm.batchPowerControl('off')}}},[_vm._v(_vm._s(_vm.$t(\" Power Off All \")))])],1):_vm._e(),_c('muted-alert',{staticClass:\"info-block\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Rapid toggling power may result in error. Please allow a cooldown period.\"))+\" \")])],2)])]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterControlWidget.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterControlWidget.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PrinterControlWidget.vue?vue&type=template&id=ca2fb97c&scoped=true&\"\nimport script from \"./PrinterControlWidget.vue?vue&type=script&lang=js&\"\nexport * from \"./PrinterControlWidget.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PrinterControlWidget.vue?vue&type=style&index=0&id=ca2fb97c&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"ca2fb97c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"wrapper\"},[_c('draggable',{attrs:{\"ghost-class\":\"ghost\",\"handle\":\".handle\"},on:{\"start\":function($event){_vm.dragging = true},\"end\":function($event){_vm.dragging = false}},model:{value:(_vm.currentItems),callback:function ($$v) {_vm.currentItems=$$v},expression:\"currentItems\"}},_vm._l((_vm.currentItems),function(item){return _c('div',{key:item.id,staticClass:\"item\"},[_c('div',{staticClass:\"handle\"},[_c('i',{staticClass:\"fas fa-grip-lines\"})]),_c('div',{staticClass:\"title\"},[_c('span',[_vm._v(_vm._s(_vm.getTitle(item.id)))])]),_c('div',{staticClass:\"switch\"},[_c('div',{staticClass:\"custom-control custom-switch\"},[_c('input',{staticClass:\"custom-control-input update-printer\",attrs:{\"id\":'widget-toggle-' + item.id,\"type\":\"checkbox\",\"name\":\"pause_on_failure\"},domProps:{\"checked\":item.enabled},on:{\"click\":function($event){return _vm.toggleItemEnabled(item)}}}),_c('label',{staticClass:\"custom-control-label\",staticStyle:{\"font-size\":\"1rem\"},attrs:{\"for\":'widget-toggle-' + item.id}})])])])}),0),_c('input',{ref:\"sortingConfig\",attrs:{\"id\":\"sorting-config\",\"type\":\"hidden\"}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReorderModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReorderModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ReorderModal.vue?vue&type=template&id=825483f2&scoped=true&\"\nimport script from \"./ReorderModal.vue?vue&type=script&lang=js&\"\nexport * from \"./ReorderModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ReorderModal.vue?vue&type=style&index=0&id=825483f2&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"825483f2\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('widget-template',{scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_vm._v(_vm._s(_vm.$t(\"Printer Terminal\")))]},proxy:true},{key:\"content\",fn:function(){return [_c('div',{staticClass:\"terminal-widget\"},[_c('printer-terminal',{attrs:{\"printer\":_vm.printer,\"printer-comm\":_vm.printerComm,\"show-full-screen-opt\":true}})],1)]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{class:['wrapper', { 'full-screen-height': _vm.fullScreenHeight }]},[_c('div',{staticClass:\"actionWrap\"},[(_vm.showFullScreenOpt)?_c('a',{attrs:{\"href\":`/printers/${_vm.printer.id}/terminal/`}},[_c('b-button',{staticClass:\"actionBtn\",attrs:{\"disabled\":!_vm.feedIsOn}},[_c('i',{staticClass:\"fas fa-expand actionIcon\"})])],1):_vm._e(),(_vm.canToggleFeed)?_c('b-button',{staticClass:\"actionBtn\",on:{\"click\":_vm.toggleTerminalPower}},[(_vm.feedIsOn === null)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_c('i',{class:['fas', 'fa-power-off', 'actionIcon', { 'text-primary': !_vm.feedIsOn }]})],1):_vm._e(),_c('b-button',{staticClass:\"actionBtn\",attrs:{\"disabled\":!_vm.feedIsOn},on:{\"click\":_vm.clearFeed}},[_c('i',{staticClass:\"fas fa-trash actionIcon\"})]),_c('b-dropdown',{staticClass:\"actionBtnNoP\",attrs:{\"disabled\":!_vm.feedIsOn,\"right\":\"\",\"no-caret\":\"\",\"toggle-class\":\"action-btn icon-btn\",\"menu-class\":\"scrollable\",\"title\":\"Filter\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('i',{staticClass:\"fas fa-filter\"})]},proxy:true}])},[_c('div',[_c('div',[_c('b-dropdown-text',{staticClass:\"small text-secondary\"},[_vm._v(_vm._s(_vm.$t(\"Filter\")))]),_c('b-dropdown-item',{nativeOn:{\"!click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.updateFilterPrefs('temperature', !_vm.hideTempMessages)}}},[_c('div',{staticClass:\"dropdown-text-group\"},[_c('i',{staticClass:\"fas fa-check text-primary\",style:({ visibility: _vm.hideTempMessages ? 'visible' : 'hidden' })}),_c('div',{staticClass:\"filterItemH\"},[_c('i',{staticClass:\"fas fa-fire\"}),_c('div',{staticClass:\"text\"},[_vm._v(_vm._s(_vm.$t(\"Suppress Temperature\")))])])])]),_c('b-dropdown-item',{nativeOn:{\"!click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.updateFilterPrefs('sd', !_vm.hideSDMessages)}}},[_c('div',{staticClass:\"dropdown-text-group\"},[_c('i',{staticClass:\"fas fa-check text-primary\",style:({ visibility: _vm.hideSDMessages ? 'visible' : 'hidden' })}),_c('div',{staticClass:\"filterItemH\"},[_c('i',{staticClass:\"fas fa-sd-card\"}),_c('div',{staticClass:\"text\"},[_vm._v(_vm._s(_vm.$t(\"Suppress SD Status Messages\")))])])])]),_c('b-dropdown-item',{nativeOn:{\"!click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.updateFilterPrefs('gcode', !_vm.hideGCodeMessages)}}},[_c('div',{staticClass:\"dropdown-text-group\"},[_c('i',{staticClass:\"fas fa-check text-primary\",style:({ visibility: _vm.hideGCodeMessages ? 'visible' : 'hidden' })}),_c('div',{staticClass:\"filterItemH\"},[_c('i',{staticClass:\"fas fa-code\"}),_c('div',{staticClass:\"text\"},[_vm._v(_vm._s(_vm.$t(\"Suppress Position Messages\")))])])])]),_c('b-dropdown-item',{nativeOn:{\"!click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.updateFilterPrefs('ok', !_vm.hideOKMessages)}}},[_c('div',{staticClass:\"dropdown-text-group\"},[_c('i',{staticClass:\"fas fa-check text-primary\",style:({ visibility: _vm.hideOKMessages ? 'visible' : 'hidden' })}),_c('div',{staticClass:\"filterItemH\"},[_c('i',{staticClass:\"fas fa-thumbs-up\"}),_c('div',{staticClass:\"text\"},[_vm._v(_vm._s(_vm.$t(\"Suppress 'OK' Messages\")))])])])])],1)])])],1),_c('terminal-feed-view',{staticClass:\"feedWrap\",attrs:{\"terminal-feed-array\":_vm.terminalFeedArray,\"feed-is-on\":_vm.feedIsOn}}),_c('div',{staticClass:\"inputWrap\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.inputValue),expression:\"inputValue\"}],staticClass:\"textInput\",attrs:{\"disabled\":!_vm.feedIsOn,\"type\":\"text\",\"placeholder\":_vm.$t('Enter code...')},domProps:{\"value\":(_vm.inputValue)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _vm.sendMessage.apply(null, arguments)},\"input\":function($event){if($event.target.composing)return;_vm.inputValue=$event.target.value}}}),_c('b-button',{staticClass:\"sendBtn\",attrs:{\"disabled\":!_vm.feedIsOn,\"variant\":\"outline-primary\"},on:{\"click\":_vm.sendMessage}},[_c('i',{staticClass:\"fas fa-chevron-right text-primary-icon\"})])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"feedWrap\",attrs:{\"colorScheme\":\"background\"}},[(!_vm.feedIsOn)?_c('div',{staticStyle:{\"width\":\"100%\"}},[_c('p',{staticStyle:{\"margin\":\"0\",\"margin-top\":\"5px\",\"text-align\":\"center\"}},[_c('i',{staticClass:\"fas fa-power-off\",staticStyle:{\"margin-right\":\"5px\"}}),_vm._v(_vm._s(_vm.$t(\"Terminal feed is off\"))+\" \")])]):_vm._l((_vm.terminalFeedArray),function(feed,index){return _c('div',{key:index,staticClass:\"itemWrap\"},[(feed?.msg)?_c('div',{staticClass:\"terminalText\"},[_c('p',{staticClass:\"messageTimeStamp\"},[_vm._v(\" \"+_vm._s(feed.normalTimeStamp)+\" \")]),_c('p',{staticClass:\"messageText\"},[_vm._v(\" \"+_vm._s(feed.msg)+\" \")])]):_vm._e(),_c('div',{staticClass:\"divider\"})])})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TerminalFeedView.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TerminalFeedView.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TerminalFeedView.vue?vue&type=template&id=e788be14&scoped=true&\"\nimport script from \"./TerminalFeedView.vue?vue&type=script&lang=js&\"\nexport * from \"./TerminalFeedView.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TerminalFeedView.vue?vue&type=style&index=0&id=e788be14&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"e788be14\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterTerminal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterTerminal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PrinterTerminal.vue?vue&type=template&id=e9a802f6&scoped=true&\"\nimport script from \"./PrinterTerminal.vue?vue&type=script&lang=js&\"\nexport * from \"./PrinterTerminal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PrinterTerminal.vue?vue&type=style&index=0&id=e9a802f6&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"e9a802f6\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TerminalWidget.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TerminalWidget.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TerminalWidget.vue?vue&type=template&id=4fa56247&scoped=true&\"\nimport script from \"./TerminalWidget.vue?vue&type=script&lang=js&\"\nexport * from \"./TerminalWidget.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TerminalWidget.vue?vue&type=style&index=0&id=4fa56247&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4fa56247\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterControlPage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterControlPage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PrinterControlPage.vue?vue&type=template&id=5dd1d5bb&scoped=true&\"\nimport script from \"./PrinterControlPage.vue?vue&type=script&lang=js&\"\nexport * from \"./PrinterControlPage.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PrinterControlPage.vue?vue&type=style&index=0&id=5dd1d5bb&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5dd1d5bb\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('page-layout',{scopedSlots:_vm._u([{key:\"content\",fn:function(){return [_c('b-container',{staticClass:\"flex-full-size\",class:{ 'is-in-mobile': _vm.useMobileLayout },attrs:{\"fluid\":\"xl\"}},[_c('b-row',{staticClass:\"flex-full-size\"},[_c('b-col',{staticClass:\"flex-full-size\"},[(_vm.user)?_c('div',{staticClass:\"flex-full-size\"},[(_vm.useMobileLayout)?_c('div',{staticClass:\"mobile-settings-wrapper full-on-mobile\"},[(_vm.$route.path === '/user_preferences/')?_c('div',{staticClass:\"mobile-settings-categories\"},[_c('h2',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.onlyNotifications),expression:\"!onlyNotifications\"}],staticClass:\"categories-title section-title\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Account\"))+\" \")]),_vm._l((_vm.sections),function(value,name){return [(!value.isHidden)?_c('router-link',{key:name,class:value.isSubcategory ? 'subcategory' : '',attrs:{\"to\":value.route}},[_c('span',[(value.faIcon)?_c('i',{class:[value.faIcon, 'mr-2'],staticStyle:{\"font-size\":\"1.125rem\"}}):_vm._e(),_c('span',[_vm._v(_vm._s(value.title))])]),_c('i',{staticClass:\"fas fa-arrow-right\"})]):_vm._e()]}),(!_vm.onlyNotifications)?_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();return _vm.logout.apply(null, arguments)}}},[_c('span',[_c('i',{class:['fas fa-sign-out-alt', 'mr-2'],staticStyle:{\"font-size\":\"1.125rem\"}}),_vm._v(\" \"+_vm._s(_vm.$t('Logout'))+\" \")])]):_vm._e()],2):_c('div',{staticClass:\"mobile-settings-content\",class:{ 'is-in-mobile': _vm.useMobileLayout }},[(\n _vm.currentSection &&\n (!_vm.currentSection.isNotificationChannel || _vm.availableNotificationPlugins)\n )?_c(_vm.currentRouteComponent,{tag:\"component\",attrs:{\"user\":_vm.user,\"error-messages\":_vm.errorMessages,\"saving\":_vm.saving,\"config\":_vm.config,\"notification-channel\":_vm.currentSection && _vm.currentSection.isNotificationChannel ? _vm.currentSection : {}},on:{\"createNotificationChannel\":_vm.createNotificationChannel,\"updateNotificationChannel\":_vm.patchNotificationChannel,\"deleteNotificationChannel\":_vm.deleteNotificationChannel,\"clearErrorMessages\":_vm.clearErrorMessages,\"addErrorMessage\":_vm.addErrorMessage,\"updateSetting\":_vm.updateSetting}}):_vm._e()],1)]):_c('b-tabs',{staticClass:\"desktop-settings-wrapper\",attrs:{\"vertical\":true,\"nav-wrapper-class\":\"settings-nav\",\"active-nav-item-class\":\"\",\"content-class\":\"desktop-settings-content\"},on:{\"activate-tab\":_vm.updateRoute},scopedSlots:_vm._u([{key:\"tabs-end\",fn:function(){return [_c('li',{staticClass:\"nav-item\"},[_c('a',{staticClass:\"nav-link\",attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();return _vm.logout.apply(null, arguments)}}},[_c('i',{class:['fas fa-sign-out-alt', 'mr-2']}),_vm._v(\" \"+_vm._s(_vm.$t('Logout'))+\" \")])])]},proxy:true}],null,false,2570481543)},[_vm._l((_vm.sections),function(value,name){return [(!value.isHidden)?_c('b-tab',{key:name,attrs:{\"title-item-class\":value.isSubcategory ? 'subcategory' : '',\"active\":_vm.$route.path === value.route,\"disabled\":value.isNotificationChannel && !_vm.user.notification_enabled},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [(value.faIcon)?_c('i',{class:[value.faIcon, 'mr-2']}):_vm._e(),_vm._v(\" \"+_vm._s(value.title)+\" \")]},proxy:true}],null,true)},[(!value.isNotificationChannel || _vm.availableNotificationPlugins)?_c(name,{tag:\"component\",attrs:{\"user\":_vm.user,\"error-messages\":_vm.errorMessages,\"saving\":_vm.saving,\"config\":_vm.config,\"notification-channel\":value.isNotificationChannel ? value : {}},on:{\"createNotificationChannel\":_vm.createNotificationChannel,\"updateNotificationChannel\":_vm.patchNotificationChannel,\"deleteNotificationChannel\":_vm.deleteNotificationChannel,\"clearErrorMessages\":_vm.clearErrorMessages,\"addErrorMessage\":_vm.addErrorMessage,\"updateSetting\":_vm.updateSetting}}):_vm._e()],1):_vm._e()]})],2)],1):_c('div',{staticClass:\"text-center\"},[_c('b-spinner',{staticClass:\"mt-5\",attrs:{\"label\":_vm.$t('Loading...')}})],1)])],1)],1)]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import routes from '@config/user-preferences/pref-routes'\nimport notificationPlugins from '@src/notifications/plugins'\nimport { inMobileWebView } from '@src/lib/page-context'\nimport i18n from '@src/i18n/i18n.js'\n\nconst onlyNotifications =\n new URLSearchParams(window.location.search).get('onlyNotifications') === 'true'\n\nconst defaultSections = {\n GeneralPreferences: {\n title: `${i18n.t('General')}`,\n faIcon: 'fas fa-cog',\n importComponent: () => import('@src/components/user-preferences/GeneralPreferences'),\n route: routes.GeneralPreferences,\n isHidden: inMobileWebView() || onlyNotifications,\n },\n ThemePreferences: {\n title: `${i18n.t('Appearance')}`,\n faIcon: 'fas fa-magic',\n importComponent: () => import('@src/components/user-preferences/ThemePreferences'),\n route: routes.ThemePreferences,\n isHidden:\n (inMobileWebView() &&\n !(new URLSearchParams(window.location.search).get('themeable') === 'true')) ||\n onlyNotifications,\n },\n ProfilePreferences: {\n title: `${i18n.t('Profile')}`,\n faIcon: 'fas fa-user-edit',\n importComponent: () => import('@src/components/user-preferences/ProfilePreferences'),\n route: routes.ProfilePreferences,\n isHidden: onlyNotifications,\n },\n AuthorizedApps: {\n title: `${i18n.t('Authorized Apps')}`,\n faIcon: 'fas fa-check-circle',\n importComponent: () => import('@src/components/user-preferences/AuthorizedApps'),\n route: routes.AuthorizedApps,\n isHidden: onlyNotifications,\n },\n\n // Notifications\n GeneralNotifications: {\n title: `${i18n.t('Notifications')}`,\n faIcon: 'fas fa-bell',\n importComponent: () =>\n import('@src/components/user-preferences/notifications/GeneralNotifications'),\n route: routes.GeneralNotifications,\n },\n PushNotifications: {\n title: `${i18n.t('Push Notification')}`,\n isSubcategory: true,\n isNotificationChannel: true,\n importComponent: () => ({}),\n route: routes.PushNotifications,\n isHidden: !inMobileWebView(),\n },\n}\n\nconst notificationSections = Object.keys(notificationPlugins).reduce((obj, name) => {\n return Object.assign(obj, {\n [name]: {\n title: notificationPlugins[name].displayName,\n channelName: name,\n isSubcategory: true,\n isNotificationChannel: true,\n route: routes[name],\n importComponent: () =>\n import('@src/notifications/plugins/' + notificationPlugins[name].componentName),\n },\n })\n}, {})\n\nexport default {\n ...defaultSections,\n ...notificationSections,\n}\n","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserPreferencesPage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserPreferencesPage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UserPreferencesPage.vue?vue&type=template&id=720acc46&scoped=true&\"\nimport script from \"./UserPreferencesPage.vue?vue&type=script&lang=js&\"\nexport * from \"./UserPreferencesPage.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UserPreferencesPage.vue?vue&type=style&index=0&id=720acc46&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"720acc46\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('page-layout',{scopedSlots:_vm._u([{key:\"topBarRight\",fn:function(){return [_c('div',[_c('b-dropdown',{attrs:{\"right\":\"\",\"no-caret\":\"\",\"toggle-class\":\"icon-btn\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('i',{staticClass:\"fas fa-filter\"})]},proxy:true}])},[_vm._l((_vm.eventClassFiltering),function(eventClass){return _c('b-dropdown-item',{key:eventClass.key,on:{\"click\":function($event){return _vm.toggleEventFiltering('eventClassFiltering', eventClass.key)}}},[_c('i',{staticClass:\"fas fa-check text-primary\",style:({ visibility: eventClass.selected ? 'visible' : 'hidden' })}),_c('span',{class:_vm.cssClassFromEventClass(eventClass.key)},[_vm._v(_vm._s(eventClass.title))])])}),_c('b-dropdown-divider'),_vm._l((_vm.eventTypeFiltering),function(eventType){return _c('b-dropdown-item',{key:eventType.key,on:{\"click\":function($event){return _vm.toggleEventFiltering('eventTypeFiltering', eventType.key)}}},[_c('i',{staticClass:\"fas fa-check text-primary\",style:({ visibility: eventType.selected ? 'visible' : 'hidden' })}),_vm._v(_vm._s(eventType.title)+\" \")])})],2)],1)]},proxy:true},{key:\"content\",fn:function(){return [_c('b-container',[_c('b-row',{staticClass:\"justify-content-center\"},[_c('div',{staticClass:\"col-sm-12 col-md-10 col-lg-8\"},[(!_vm.loading && _vm.printerEvents.length === 0)?_c('div',{staticClass:\"text-center\"},[_c('img',{staticClass:\"w-25 my-4\",attrs:{\"src\":require('@static/img/vacation.gif')}}),_c('h5',{staticClass:\"text-primary\"},[_vm._v(_vm._s(_vm.$t(\"Nothing to look here. Enjoy your vacation!\")))])]):_c('div',[_vm._l((_vm.printerEvents),function(item){return _c('printer-event-card',{key:item.id,attrs:{\"printer-event\":item}})}),_c('mugen-scroll',{staticClass:\"text-center p-4\",attrs:{\"handler\":_vm.fetchMoreData,\"should-handle\":!_vm.loading}},[(_vm.noMoreData)?_c('div',{staticClass:\"text-center p-2\"},[_vm._v(_vm._s(_vm.$t(\"No more notifications.\")))]):_vm._e(),(!_vm.noMoreData)?_c('b-spinner',{attrs:{\"label\":\"Loading...\"}}):_vm._e()],1)],2)])])],1)]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"printer-event-card my-3\",class:_vm.tintBorderClass},[_c('div',{staticClass:\"printer-event-text\",class:{ link: _vm.printerEvent.info_url },on:{\"click\":_vm.onTextClick}},[_c('div',{staticClass:\"title font-weight-bold my-2\",class:_vm.tintClass},[_vm._v(\" \"+_vm._s(_vm.eventTitle)+\" \"),(_vm.printerEvent.info_url)?_c('i',{staticClass:\"fas fa-external-link-alt\"}):_vm._e()]),_c('div',{staticClass:\"description\",domProps:{\"innerHTML\":_vm._s(_vm.printerEvent.event_text)}}),_c('div',{staticClass:\"my-2 text-muted font-weight-light small\"},[_vm._v(\" \"+_vm._s(_vm.printerEvent.created_at.format('LLLL'))+\" \")])]),(_vm.printerEvent.image_url)?_c('div',{staticClass:\"printer-event-snapshot\",style:({ backgroundImage: `url(${_vm.printerEvent.image_url})` })}):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterEventCard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterEventCard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PrinterEventCard.vue?vue&type=template&id=4f0efb80&scoped=true&\"\nimport script from \"./PrinterEventCard.vue?vue&type=script&lang=js&\"\nexport * from \"./PrinterEventCard.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PrinterEventCard.vue?vue&type=style&index=0&id=4f0efb80&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4f0efb80\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterEventsPage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterEventsPage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PrinterEventsPage.vue?vue&type=template&id=4c7d7dc7&scoped=true&\"\nimport script from \"./PrinterEventsPage.vue?vue&type=script&lang=js&\"\nexport * from \"./PrinterEventsPage.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4c7d7dc7\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('page-layout',{scopedSlots:_vm._u([{key:\"topBarLeft\",fn:function(){return [_c('div',{staticClass:\"printer-name truncated\"},[_vm._v(\" \"+_vm._s(_vm.printer ? _vm.printer.name : '')+\" \")])]},proxy:true},{key:\"topBarRight\",fn:function(){return [(_vm.printer)?_c('div',{staticClass:\"action-panel\"},[_c('a',{staticClass:\"btn shadow-none action-btn icon-btn\",attrs:{\"href\":`/tunnels/${_vm.printer.id}/`,\"title\":_vm.$t('OctoPrint Tunnel')}},[_c('svg',{staticClass:\"custom-svg-icon\"},[_c('use',{attrs:{\"href\":\"#svg-tunnel\"}})]),_c('span',{staticClass:\"sr-only\"},[_vm._v(_vm._s(_vm.$t(\"OctoPrint Tunnel\")))])]),_c('a',{staticClass:\"btn shadow-none action-btn icon-btn\",attrs:{\"href\":`/printers/${_vm.printer.id}/`,\"title\":_vm.$t('Configure')}},[_c('i',{staticClass:\"fas fa-wrench\"}),_c('span',{staticClass:\"sr-only\"},[_vm._v(_vm._s(_vm.$t(\"Configure\")))])]),_c('b-dropdown',{attrs:{\"right\":\"\",\"no-caret\":\"\",\"toggle-class\":\"icon-btn d-md-none\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('i',{staticClass:\"fas fa-ellipsis-v\"})]},proxy:true}],null,false,3452768261)},[_c('cascaded-dropdown',{ref:\"cascadedDropdown\",attrs:{\"menu-options\":[\n {\n key: 'tunnel',\n svgIcon: 'svg-tunnel',\n title: _vm.$t('OctoPrint Tunnel'),\n href: `/tunnels/${_vm.printer.id}/`,\n },\n {\n key: 'settings',\n icon: 'fas fa-wrench',\n title: _vm.$t('Configure'),\n href: `/printers/${_vm.printer.id}/`,\n },\n ]},on:{\"menuOptionClicked\":_vm.onMenuOptionClicked}})],1)],1):_vm._e()]},proxy:true},{key:\"content\",fn:function(){return [_c('div',{staticClass:\"contentWrap\"},[(_vm.printerComm !== null && _vm.printer !== null)?_c('printer-terminal',{attrs:{\"printer\":_vm.printer,\"printer-comm\":_vm.printerComm,\"full-screen-height\":true,\"show-full-screen-opt\":false}}):_vm._e()],1)]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterTerminalPage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterTerminalPage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PrinterTerminalPage.vue?vue&type=template&id=249551ea&scoped=true&\"\nimport script from \"./PrinterTerminalPage.vue?vue&type=script&lang=js&\"\nexport * from \"./PrinterTerminalPage.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PrinterTerminalPage.vue?vue&type=style&index=0&id=249551ea&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"249551ea\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('page-layout',{scopedSlots:_vm._u([{key:\"content\",fn:function(){return [_c('b-container',[_c('b-row',[_c('b-col',[_c('h2',{staticClass:\"text-center\"},[_vm._v(_vm._s(_vm.$t('First Layer Snapshots')))]),_c('p',{staticClass:\"my-4\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Help {brandName}'s First Layer AI (codename: Celestrius) learn and improve quickly by telling her what issues exist in each of these snapshots.\",{brandName:_vm.$syndicateText.brandName}))+\" \")]),_c('p',{staticClass:\"text-secondary\"},[_vm._v(_vm._s(_vm.$t('Why should I do this?')))]),_c('p',{staticClass:\"text-secondary small\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"{brandName}'s First Layer AI is still in her infant time. Just like a human baby, the only way she can learn is to be told by adults what is good and what is bad. By telling her what issues exist in these snapshots, you will help her get better at telling a good first layer apart from a bad one.\",{brandName:_vm.$syndicateText.brandName}))+\" \")]),_c('p',{staticClass:\"small\"},[_c('i',[_vm._v(\" \"+_vm._s(_vm.$t(\"Privacy Notice: By participating in this survey, you grant the {brandName} team members the permission to review all snapshots below.\",{brandName:_vm.$syndicateText.brandName}))+\" \")])]),_c('h5',{staticClass:\"text-primary mt-4\"},[_vm._v(_vm._s(_vm.$t('Earn 3 AI Detection Hours!')))]),_c('p',{staticClass:\"text-primary mb-5\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"{name} snapshots were selected from your first layer print. Earn 3 AI Detection Hours by telling us if you see any printing issues with these snapshots!\",{name:_vm.shots.length}))+\" \")])])],1),_c('b-row',{staticClass:\"feedback-card\"},[_c('b-col',{attrs:{\"md\":\"8\",\"lg\":\"6\"}},[_c('div',{staticClass:\"card\"},[_c('loading',{attrs:{\"active\":_vm.firstLayerInspection === null,\"is-full-page\":true}}),(_vm.firstLayerInspection !== null)?_c('div',[_c('div',[_c('div',[_c('vue-slick-carousel',{ref:\"carousel\",attrs:{\"arrows\":false,\"dots\":true},on:{\"afterChange\":_vm.onNextShot},scopedSlots:_vm._u([{key:\"customPaging\",fn:function(page){return [_c('div',{class:_vm.pageClass(page)},[_vm._v(\"•\")])]}}],null,false,3226812120)},_vm._l((_vm.shots),function(shot,i){return _c('first-layer-shot-card',{key:i,attrs:{\"shot\":shot,\"shot-index\":i,\"total-shots\":_vm.shots.length},on:{\"imageUpdated\":_vm.onImageUpdated,\"prev\":_vm.onPrev,\"next\":_vm.onNext}})}),1)],1),_c('br'),_c('div',{staticClass:\"card-body p-3\"})])]):_vm._e()],1)])],1)],1)]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('img',{staticClass:\"card-img-top\",attrs:{\"src\":_vm.shot.image_url}}),_c('div',{staticClass:\"px-3 pt-4\"},[_c('p',[_vm._v(_vm._s(_vm.$t('What issues do you see in this snapshot? Select all that apply.')))]),_c('div',{staticClass:\"mb-4\"},[_c('b-form',[_c('b-form-checkbox',{staticClass:\"pr-5\",model:{value:(_vm.labels.raisedRipples),callback:function ($$v) {_vm.$set(_vm.labels, \"raisedRipples\", $$v)},expression:\"labels.raisedRipples\"}},[_c('i18next',{attrs:{\"translation\":_vm.$t(`Raised ripples ({localizedDom})`)},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();return (() => _vm.openExample('raised', 'Raised ripples')).apply(null, arguments)}}},[_vm._v(_vm._s(_vm.$t('examples')))])]},proxy:true}])})],1),_c('b-form-checkbox',{staticClass:\"pr-5\",model:{value:(_vm.labels.bubbling),callback:function ($$v) {_vm.$set(_vm.labels, \"bubbling\", $$v)},expression:\"labels.bubbling\"}},[_c('i18next',{attrs:{\"translation\":_vm.$t(`Bubbling ({localizedDom})`)},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();return (() => _vm.openExample('bubbling', 'Bubbling')).apply(null, arguments)}}},[_vm._v(_vm._s(_vm.$t('examples')))])]},proxy:true}])})],1),_c('b-form-checkbox',{staticClass:\"pr-5\",model:{value:(_vm.labels.bumpsAndRoughSurface),callback:function ($$v) {_vm.$set(_vm.labels, \"bumpsAndRoughSurface\", $$v)},expression:\"labels.bumpsAndRoughSurface\"}},[_c('i18next',{attrs:{\"translation\":_vm.$t(`Bumps or rough surfaces ({localizedDom})`)},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();return (() => _vm.openExample('bumps', 'Bumps or rough surfaces')).apply(null, arguments)}}},[_vm._v(_vm._s(_vm.$t('examples')))])]},proxy:true}])})],1),_c('b-form-checkbox',{staticClass:\"pr-5\",model:{value:(_vm.labels.detached),callback:function ($$v) {_vm.$set(_vm.labels, \"detached\", $$v)},expression:\"labels.detached\"}},[_c('i18next',{attrs:{\"translation\":_vm.$t(`Detached or warping ({localizedDom})`)},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();return (() => _vm.openExample('detached', 'Detached or warping')).apply(null, arguments)}}},[_vm._v(_vm._s(_vm.$t('examples')))])]},proxy:true}])})],1),_c('b-form-checkbox',{staticClass:\"pr-5\",model:{value:(_vm.labels.gaps),callback:function ($$v) {_vm.$set(_vm.labels, \"gaps\", $$v)},expression:\"labels.gaps\"}},[_c('i18next',{attrs:{\"translation\":_vm.$t(`Gaps between lines ({localizedDom})`)},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();return (() => _vm.openExample('gaps', 'Gaps between lines')).apply(null, arguments)}}},[_vm._v(_vm._s(_vm.$t('examples')))])]},proxy:true}])})],1),_c('b-form-checkbox',{staticClass:\"pr-5\",model:{value:(_vm.labels.other),callback:function ($$v) {_vm.$set(_vm.labels, \"other\", $$v)},expression:\"labels.other\"}},[_vm._v(_vm._s(_vm.$t('Other')))]),_c('b-form-checkbox',{staticClass:\"pr-5\",model:{value:(_vm.labels.noIssues),callback:function ($$v) {_vm.$set(_vm.labels, \"noIssues\", $$v)},expression:\"labels.noIssues\"}},[_vm._v(_vm._s(_vm.$t('No issues')))]),_c('b-form-checkbox',{staticClass:\"pr-5\",model:{value:(_vm.labels.notANozzleCam),callback:function ($$v) {_vm.$set(_vm.labels, \"notANozzleCam\", $$v)},expression:\"labels.notANozzleCam\"}},[_c('i18next',{attrs:{\"translation\":_vm.$t(`Oops, this is {localizedDom}`)},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('a',{attrs:{\"href\":_vm.getDocUrl('/user-guides/nozzle-camera-configuration'),\"target\":\"_blank\"}},[_vm._v(\" \"+_vm._s(_vm.$t('not a nozzle camera')))])]},proxy:true}])})],1)],1)],1),_c('div',{staticClass:\"navigation-container my-4\"},[_c('b-button',{attrs:{\"disabled\":_vm.isFirst,\"variant\":\"outline-secondary\"},on:{\"click\":function($event){return _vm.$emit('prev')}}},[_c('i',{staticClass:\"fas fa-chevron-left\"}),_vm._v(\"  \"+_vm._s(_vm.$t('Previous'))+\" \")]),_c('b-button',{attrs:{\"disabled\":!_vm.labelsSelected,\"variant\":\"outline-secondary\"},on:{\"click\":_vm.onNext}},[_vm._v(\" \"+_vm._s(_vm.isLast ? _vm.$t('Finish') : _vm.$t('Next'))+\"  \"),_c('i',{staticClass:\"fas fa-chevron-right\"})])],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FirstLayerShotCard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FirstLayerShotCard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FirstLayerShotCard.vue?vue&type=template&id=b52f1894&scoped=true&\"\nimport script from \"./FirstLayerShotCard.vue?vue&type=script&lang=js&\"\nexport * from \"./FirstLayerShotCard.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FirstLayerShotCard.vue?vue&type=style&index=0&id=b52f1894&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b52f1894\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FirstLayerInspectionImagePage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FirstLayerInspectionImagePage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FirstLayerInspectionImagePage.vue?vue&type=template&id=f7847cd8&scoped=true&\"\nimport script from \"./FirstLayerInspectionImagePage.vue?vue&type=script&lang=js&\"\nexport * from \"./FirstLayerInspectionImagePage.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FirstLayerInspectionImagePage.vue?vue&type=style&index=0&id=f7847cd8&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"f7847cd8\",\n null\n \n)\n\nexport default component.exports","import VueRouter from 'vue-router'\nimport prefRoutes from '@config/user-preferences/pref-routes'\n\nimport NewOctoPrintTunnelPage from '@src/views/NewOctoPrintTunnelPage.vue'\nimport OctoPrintTunnelPage from '@src/views/OctoPrintTunnelPage.vue'\nimport PrintShotFeedbackApp from '@src/views/PrintShotFeedbackApp.vue'\nimport PrintHistoryPage from '@src/views/PrintHistoryPage.vue'\nimport StatsPage from '@src/views/StatsPage.vue'\nimport PrintsPage from '@src/views/PrintsPage.vue'\nimport PrintPage from '@src/views/PrintPage.vue'\nimport UploadPrintPage from '@src/views/UploadPrintPage.vue'\nimport PrinterListPage from '@src/views/PrinterListPage.vue'\nimport SharedPrinterPage from '@src/views/SharedPrinterPage.vue'\nimport PrinterSettingsPage from '@src/views/PrinterSettingsPage.vue'\nimport PrinterLinkingPage from '@src/views/printer-wizard/PrinterLinkingPage.vue'\nimport TargetPlatformSelectionPage from '@src/views/printer-wizard/TargetPlatformSelectionPage.vue'\nimport ObicoInstallationGuidePage from '@src/views/printer-wizard/ObicoInstallationGuidePage.vue'\nimport AddPrinterSuccessPage from '@src/views/printer-wizard/AddPrinterSuccessPage.vue'\nimport PrinterControlPage from '@src/views/PrinterControlPage.vue'\nimport GCodeFoldersPage from '@src/views/GCodeFoldersPage.vue'\nimport GCodeFilePage from '@src/views/GCodeFilePage.vue'\nimport UserPreferencesPage from '@src/views/UserPreferencesPage.vue'\nimport PrinterEventsPage from '@src/views/PrinterEventsPage.vue'\nimport PrinterTerminalPage from '@src/views/PrinterTerminalPage.vue'\nimport FirstLayerInspectionImagePage from '@src/views/FirstLayerInspectionImagePage.vue'\n\n\nconst router = new VueRouter({\n mode: 'history',\n routes: [\n {\n path: '/g_code_folders/cloud/:parentFolder',\n component: GCodeFoldersPage,\n },\n {\n path: '/g_code_folders/local/:printerId/:parentFolder?',\n component: GCodeFoldersPage,\n },\n {\n path: '/g_code_files/cloud/:fileId',\n component: GCodeFilePage,\n },\n {\n path: '/g_code_files/local/:printerId/:fileId',\n component: GCodeFilePage,\n },\n {\n path: '/user_preferences',\n component: UserPreferencesPage,\n },\n {\n path: '/printers/wizard/',\n component: TargetPlatformSelectionPage,\n },\n {\n path: '/printers/wizard/guide/:targetPlatform/',\n component: ObicoInstallationGuidePage,\n },\n {\n path: '/printers/wizard/link/:targetPlatform/',\n component: PrinterLinkingPage,\n },\n {\n path: '/printers/wizard/success/:printerId/',\n component: AddPrinterSuccessPage,\n },\n ...Object.values(prefRoutes).map((route) => ({\n path: route,\n component: UserPreferencesPage,\n })),\n ],\n})\n\nconst components = {\n NewOctoPrintTunnelPage,\n OctoPrintTunnelPage,\n PrintShotFeedbackApp,\n PrinterListPage,\n SharedPrinterPage,\n PrinterSettingsPage,\n PrinterLinkingPage,\n PrinterControlPage,\n GCodeFoldersPage,\n GCodeFilePage,\n PrintsPage,\n PrintPage,\n PrintHistoryPage,\n StatsPage,\n UploadPrintPage,\n UserPreferencesPage,\n PrinterEventsPage,\n PrinterTerminalPage,\n FirstLayerInspectionImagePage,\n}\n\nexport { router, components }\n","import mountVue from '@src/mount'\nimport { router, components } from '@src/pages'\n\nmountVue(router, components)\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterTerminalPage.vue?vue&type=style&index=0&id=249551ea&prod&lang=sass&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FirstLayerInspectionImagePage.vue?vue&type=style&index=0&id=f7847cd8&prod&lang=sass&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NumberInput.vue?vue&type=style&index=0&id=66233dc0&prod&lang=sass&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VideoBox.vue?vue&type=style&index=0&id=10df198e&prod&lang=sass&scoped=true&\"","const Themes = {\n Light: 'Light',\n Dark: 'Dark',\n System: 'System',\n}\n\nexport const yumi = {\n // only light theme is supported for now\n colors: [\n {\n name: 'primary',\n values: {[Themes.Light]: '#078ED3', [Themes.Dark]: '#FFCC2E'},\n },\n {\n name: 'primary-hover',\n values: {[Themes.Light]: '#0B88C8', [Themes.Dark]: '#FFCC2E'},\n },\n {\n name: 'primary-muted',\n values: {[Themes.Light]: '#24A8EC', [Themes.Dark]: '#018786'},\n },\n {\n name: 'on-primary',\n values: {[Themes.Light]: '#FFFFFF', [Themes.Dark]: '#001210'},\n },\n {\n name: 'secondary',\n values: {[Themes.Light]: '#28303A', [Themes.Dark]: '#AAACB0'},\n },\n {\n name: 'secondary-hover',\n values: {[Themes.Light]: '#424A54', [Themes.Dark]: '#D0D0D0'},\n },\n {\n name: 'on-secondary',\n values: {[Themes.Light]: '#EBEBEB', [Themes.Dark]: '#28303A'},\n },\n {\n name: 'success',\n values: {[Themes.Light]: '#5CB85C', [Themes.Dark]: '#5CB85C'},\n },\n {\n name: 'success-hover',\n values: {[Themes.Light]: '#4CAE4C', [Themes.Dark]: '#4CAE4C'},\n },\n {\n name: 'on-success',\n values: {[Themes.Light]: '#ffffff', [Themes.Dark]: '#ffffff'},\n },\n {\n name: 'danger',\n values: {[Themes.Light]: '#D9534F', [Themes.Dark]: '#D9534F'},\n },\n {\n name: 'danger-hover',\n values: {[Themes.Light]: '#C2413D', [Themes.Dark]: '#C2413D'},\n },\n {\n name: 'on-danger',\n values: {[Themes.Light]: '#ffffff', [Themes.Dark]: '#ffffff'},\n },\n {\n name: 'warning',\n values: {[Themes.Light]: '#F0AD4E', [Themes.Dark]: '#F0AD4E'},\n },\n {\n name: 'warning-hover',\n values: {[Themes.Light]: '#DB9A3F', [Themes.Dark]: '#DB9A3F'},\n },\n {\n name: 'on-warning',\n values: {[Themes.Light]: '#ffffff', [Themes.Dark]: '#ffffff'},\n },\n {\n name: 'on-warning-2',\n values: {[Themes.Light]: '#000000', [Themes.Dark]: '#000000'},\n },\n {\n name: 'background',\n values: {[Themes.Light]: '#EBEBEB', [Themes.Dark]: '#212224'},\n },\n {\n name: 'surface-primary',\n values: {[Themes.Light]: '#ffffff', [Themes.Dark]: '#131920'},\n },\n {\n name: 'surface-secondary',\n values: {[Themes.Light]: '#F5F5F5', [Themes.Dark]: '#000000'},\n },\n {\n name: 'overlay',\n values: {[Themes.Light]: '#F5F5F5CC', [Themes.Dark]: '#000000CC'},\n },\n {\n name: 'hover',\n values: {[Themes.Light]: '#66666613', [Themes.Dark]: '#FFFFFF13'},\n },\n {\n name: 'hover-accent',\n values: {[Themes.Light]: '#66666626', [Themes.Dark]: '#C9E0FA26'},\n },\n {\n name: 'divider',\n values: {[Themes.Light]: '#ABB6C2', [Themes.Dark]: '#6A7B8A'},\n },\n {\n name: 'divider-muted',\n values: {[Themes.Light]: '#ABB6C266', [Themes.Dark]: '#6A7B8A66'},\n },\n {\n name: 'text-primary',\n values: {[Themes.Light]: '#28303A', [Themes.Dark]: '#FFFFFF'},\n },\n {\n name: 'text-secondary',\n values: {[Themes.Light]: '#8A94A2', [Themes.Dark]: '#AAACB0'},\n },\n {\n name: 'text-help',\n values: {[Themes.Light]: '#4C9BE8', [Themes.Dark]: '#4C9BE8'},\n },\n\n {\n name: 'input-background',\n values: {[Themes.Light]: '#E2E8ED', [Themes.Dark]: '#42566B'},\n },\n {\n name: 'input-placeholder',\n values: {[Themes.Light]: '#28303A80', [Themes.Dark]: '#EBEBEB80'},\n },\n\n {\n name: 'table-accent',\n values: {[Themes.Light]: '#E3E3E3', [Themes.Dark]: '#283848'},\n },\n\n // Icon colors\n {\n name: 'icon-tunneling-1',\n values: {[Themes.Light]: '#4E5D6C', [Themes.Dark]: '#EAEAEA'},\n },\n {\n name: 'icon-tunneling-2',\n values: {[Themes.Light]: '#1D2935', [Themes.Dark]: '#CDCDCD'},\n },\n ],\n}\n\nexport const kingroon = {\n // only light theme is supported for now\n colors: [\n {\n name: 'primary',\n values: {[Themes.Light]: '#ED7100', [Themes.Dark]: '#ED7100'},\n },\n {\n name: 'primary-hover',\n values: {[Themes.Light]: '#fb7a00', [Themes.Dark]: '#fb7a00'},\n },\n {\n name: 'primary-muted',\n values: {[Themes.Light]: '#24A8EC', [Themes.Dark]: '#018786'},\n },\n {\n name: 'on-primary',\n values: {[Themes.Light]: '#FFFFFF', [Themes.Dark]: '#001210'},\n },\n {\n name: 'secondary',\n values: {[Themes.Light]: '#28303A', [Themes.Dark]: '#AAACB0'},\n },\n {\n name: 'secondary-hover',\n values: {[Themes.Light]: '#424A54', [Themes.Dark]: '#D0D0D0'},\n },\n {\n name: 'on-secondary',\n values: {[Themes.Light]: '#EBEBEB', [Themes.Dark]: '#28303A'},\n },\n {\n name: 'success',\n values: {[Themes.Light]: '#5CB85C', [Themes.Dark]: '#5CB85C'},\n },\n {\n name: 'success-hover',\n values: {[Themes.Light]: '#4CAE4C', [Themes.Dark]: '#4CAE4C'},\n },\n {\n name: 'on-success',\n values: {[Themes.Light]: '#ffffff', [Themes.Dark]: '#ffffff'},\n },\n {\n name: 'danger',\n values: {[Themes.Light]: '#D9534F', [Themes.Dark]: '#D9534F'},\n },\n {\n name: 'danger-hover',\n values: {[Themes.Light]: '#C2413D', [Themes.Dark]: '#C2413D'},\n },\n {\n name: 'on-danger',\n values: {[Themes.Light]: '#ffffff', [Themes.Dark]: '#ffffff'},\n },\n {\n name: 'warning',\n values: {[Themes.Light]: '#F0AD4E', [Themes.Dark]: '#F0AD4E'},\n },\n {\n name: 'warning-hover',\n values: {[Themes.Light]: '#DB9A3F', [Themes.Dark]: '#DB9A3F'},\n },\n {\n name: 'on-warning',\n values: {[Themes.Light]: '#ffffff', [Themes.Dark]: '#ffffff'},\n },\n {\n name: 'on-warning-2',\n values: {[Themes.Light]: '#000000', [Themes.Dark]: '#000000'},\n },\n {\n name: 'background',\n values: {[Themes.Light]: '#EBEBEB', [Themes.Dark]: '#212224'},\n },\n {\n name: 'surface-primary',\n values: {[Themes.Light]: '#ffffff', [Themes.Dark]: '#131920'},\n },\n {\n name: 'surface-secondary',\n values: {[Themes.Light]: '#F5F5F5', [Themes.Dark]: '#000000'},\n },\n {\n name: 'overlay',\n values: {[Themes.Light]: '#F5F5F5CC', [Themes.Dark]: '#000000CC'},\n },\n {\n name: 'hover',\n values: {[Themes.Light]: '#66666613', [Themes.Dark]: '#FFFFFF13'},\n },\n {\n name: 'hover-accent',\n values: {[Themes.Light]: '#66666626', [Themes.Dark]: '#C9E0FA26'},\n },\n {\n name: 'divider',\n values: {[Themes.Light]: '#ABB6C2', [Themes.Dark]: '#6A7B8A'},\n },\n {\n name: 'divider-muted',\n values: {[Themes.Light]: '#ABB6C266', [Themes.Dark]: '#6A7B8A66'},\n },\n {\n name: 'text-primary',\n values: {[Themes.Light]: '#28303A', [Themes.Dark]: '#FFFFFF'},\n },\n {\n name: 'text-secondary',\n values: {[Themes.Light]: '#8A94A2', [Themes.Dark]: '#AAACB0'},\n },\n {\n name: 'text-help',\n values: {[Themes.Light]: '#4C9BE8', [Themes.Dark]: '#4C9BE8'},\n },\n\n {\n name: 'input-background',\n values: {[Themes.Light]: '#E2E8ED', [Themes.Dark]: '#42566B'},\n },\n {\n name: 'input-placeholder',\n values: {[Themes.Light]: '#28303A80', [Themes.Dark]: '#EBEBEB80'},\n },\n\n {\n name: 'table-accent',\n values: {[Themes.Light]: '#E3E3E3', [Themes.Dark]: '#283848'},\n },\n\n // Icon colors\n {\n name: 'icon-tunneling-1',\n values: {[Themes.Light]: '#4E5D6C', [Themes.Dark]: '#EAEAEA'},\n },\n {\n name: 'icon-tunneling-2',\n values: {[Themes.Light]: '#1D2935', [Themes.Dark]: '#CDCDCD'},\n },\n ],\n}\n\nexport const mintion = {\n // only light theme is supported for now\n colors: [\n {\n name: 'primary',\n values: {[Themes.Light]: '#75C4FE', [Themes.Dark]: '#75C4FE'},\n },\n {\n name: 'primary-hover',\n values: {[Themes.Light]: '#35A9FD', [Themes.Dark]: '#35A9FD'},\n },\n {\n name: 'primary-muted',\n values: {[Themes.Light]: '#03DAC5', [Themes.Dark]: '#03DAC5'},\n },\n {\n name: 'on-primary',\n values: {[Themes.Light]: '#FFFFFF', [Themes.Dark]: '#FFFFFF'},\n },\n {\n name: 'secondary',\n values: {[Themes.Light]: '#28303A', [Themes.Dark]: '#28303A'},\n },\n {\n name: 'secondary-hover',\n values: {[Themes.Light]: '#424A54', [Themes.Dark]: '#424A54'},\n },\n {\n name: 'on-secondary',\n values: {[Themes.Light]: '#EBEBEB', [Themes.Dark]: '#EBEBEB'},\n },\n {\n name: 'success',\n values: {[Themes.Light]: '#5CB85C', [Themes.Dark]: '#5CB85C'},\n },\n {\n name: 'success-hover',\n values: {[Themes.Light]: '#4CAE4C', [Themes.Dark]: '#4CAE4C'},\n },\n {\n name: 'on-success',\n values: {[Themes.Light]: '#ffffff', [Themes.Dark]: '#ffffff'},\n },\n {\n name: 'danger',\n values: {[Themes.Light]: '#D9534F', [Themes.Dark]: '#D9534F'},\n },\n {\n name: 'danger-hover',\n values: {[Themes.Light]: '#C2413D', [Themes.Dark]: '#C2413D'},\n },\n {\n name: 'on-danger',\n values: {[Themes.Light]: '#ffffff', [Themes.Dark]: '#ffffff'},\n },\n {\n name: 'warning',\n values: {[Themes.Light]: '#F0AD4E', [Themes.Dark]: '#F0AD4E'},\n },\n {\n name: 'warning-hover',\n values: {[Themes.Light]: '#DB9A3F', [Themes.Dark]: '#DB9A3F'},\n },\n {\n name: 'on-warning',\n values: {[Themes.Light]: '#ffffff', [Themes.Dark]: '#ffffff'},\n },\n {\n name: 'on-warning-2',\n values: {[Themes.Light]: '#000000', [Themes.Dark]: '#000000'},\n },\n {\n name: 'background',\n values: {[Themes.Light]: '#EBEBEB', [Themes.Dark]: '#EBEBEB'},\n },\n {\n name: 'surface-primary',\n values: {[Themes.Light]: '#ffffff', [Themes.Dark]: '#ffffff'},\n },\n {\n name: 'surface-secondary',\n values: {[Themes.Light]: '#F5F5F5', [Themes.Dark]: '#F5F5F5'},\n },\n {\n name: 'overlay',\n values: {[Themes.Light]: '#F5F5F5CC', [Themes.Dark]: '#F5F5F5CC'},\n },\n {\n name: 'hover',\n values: {[Themes.Light]: '#66666613', [Themes.Dark]: '#66666613'},\n },\n {\n name: 'hover-accent',\n values: {[Themes.Light]: '#66666626', [Themes.Dark]: '#66666626'},\n },\n {\n name: 'divider',\n values: {[Themes.Light]: '#ABB6C2', [Themes.Dark]: '#ABB6C2'},\n },\n {\n name: 'divider-muted',\n values: {[Themes.Light]: '#ABB6C266', [Themes.Dark]: '#ABB6C266'},\n },\n {\n name: 'text-primary',\n values: {[Themes.Light]: '#28303A', [Themes.Dark]: '#28303A'},\n },\n {\n name: 'text-secondary',\n values: {[Themes.Light]: '#8A94A2', [Themes.Dark]: '#8A94A2'},\n },\n {\n name: 'text-help',\n values: {[Themes.Light]: '#4C9BE8', [Themes.Dark]: '#4C9BE8'},\n },\n\n {\n name: 'input-background',\n values: {[Themes.Light]: '#E2E8ED', [Themes.Dark]: '#E2E8ED'},\n },\n {\n name: 'input-placeholder',\n values: {[Themes.Light]: '#28303A80', [Themes.Dark]: '#28303A80'},\n },\n\n {\n name: 'table-accent',\n values: {[Themes.Light]: '#E3E3E3', [Themes.Dark]: '#E3E3E3'},\n },\n\n // Icon colors\n {\n name: 'icon-tunneling-1',\n values: {[Themes.Light]: '#4E5D6C', [Themes.Dark]: '#4E5D6C'},\n },\n {\n name: 'icon-tunneling-2',\n values: {[Themes.Light]: '#1D2935', [Themes.Dark]: '#1D2935'},\n },\n ],\n}\n\n\nexport const biqu = {\n // only dark theme is supported for now\n colors: [\n {\n name: 'primary',\n values: {[Themes.Light]: '#3596f3', [Themes.Dark]: '#3596f3'},\n },\n {\n name: 'primary-hover',\n values: {[Themes.Light]: '#70EFDE', [Themes.Dark]: '#70EFDE'},\n },\n {\n name: 'primary-muted',\n values: {[Themes.Light]: '#018786', [Themes.Dark]: '#018786'},\n },\n {\n name: 'on-primary',\n values: {[Themes.Light]: '#001210', [Themes.Dark]: '#001210'},\n },\n {\n name: 'secondary',\n values: {[Themes.Light]: '#EBEBEB', [Themes.Dark]: '#EBEBEB'},\n },\n {\n name: 'secondary-hover',\n values: {[Themes.Light]: '#D0D0D0', [Themes.Dark]: '#D0D0D0'},\n },\n {\n name: 'on-secondary',\n values: {[Themes.Light]: '#28303A', [Themes.Dark]: '#28303A'},\n },\n {\n name: 'success',\n values: {[Themes.Light]: '#5CB85C', [Themes.Dark]: '#5CB85C'},\n },\n {\n name: 'success-hover',\n values: {[Themes.Light]: '#4CAE4C', [Themes.Dark]: '#4CAE4C'},\n },\n {\n name: 'on-success',\n values: {[Themes.Light]: '#ffffff', [Themes.Dark]: '#ffffff'},\n },\n {\n name: 'danger',\n values: {[Themes.Light]: '#D9534F', [Themes.Dark]: '#D9534F'},\n },\n {\n name: 'danger-hover',\n values: {[Themes.Light]: '#C2413D', [Themes.Dark]: '#C2413D'},\n },\n {\n name: 'on-danger',\n values: {[Themes.Light]: '#ffffff', [Themes.Dark]: '#ffffff'},\n },\n {\n name: 'warning',\n values: {[Themes.Light]: '#F0AD4E', [Themes.Dark]: '#F0AD4E'},\n },\n {\n name: 'warning-hover',\n values: {[Themes.Light]: '#DB9A3F', [Themes.Dark]: '#DB9A3F'},\n },\n {\n name: 'on-warning',\n values: {[Themes.Light]: '#ffffff', [Themes.Dark]: '#ffffff'},\n },\n {\n name: 'on-warning-2',\n values: {[Themes.Light]: '#000000', [Themes.Dark]: '#000000'},\n },\n {\n name: 'background',\n values: {[Themes.Light]: '#0a0c22', [Themes.Dark]: '#0a0c22'},\n },\n {\n name: 'surface-primary',\n values: {[Themes.Light]: '#20274f', [Themes.Dark]: '#20274f'},\n },\n {\n name: 'surface-secondary',\n values: {[Themes.Light]: '#0c1239', [Themes.Dark]: '#0c1239'},\n },\n {\n name: 'overlay',\n values: {[Themes.Light]: '#F5F5F5CC', [Themes.Dark]: '#F5F5F5CC'},\n },\n {\n name: 'hover',\n values: {[Themes.Light]: '#66666613', [Themes.Dark]: '#66666613'},\n },\n {\n name: 'hover-accent',\n values: {[Themes.Light]: '#66666626', [Themes.Dark]: '#66666626'},\n },\n {\n name: 'divider',\n values: {[Themes.Light]: '#6A7B8A', [Themes.Dark]: '#6A7B8A'},\n },\n {\n name: 'divider-muted',\n values: {[Themes.Light]: '#ABB6C266', [Themes.Dark]: '#ABB6C266'},\n },\n {\n name: 'text-primary',\n values: {[Themes.Light]: '#EBEBEB', [Themes.Dark]: '#EBEBEB'},\n },\n {\n name: 'text-secondary',\n values: {[Themes.Light]: '#AAACB0', [Themes.Dark]: '#AAACB0'},\n },\n {\n name: 'text-help',\n values: {[Themes.Light]: '#283848', [Themes.Dark]: '#283848'},\n },\n\n {\n name: 'input-background',\n values: {[Themes.Light]: '#42566B', [Themes.Dark]: '#000000'},\n },\n {\n name: 'input-placeholder',\n values: {[Themes.Light]: '#28303A80', [Themes.Dark]: '#28303A80'},\n },\n\n {\n name: 'table-accent',\n values: {[Themes.Light]: '#E3E3E3', [Themes.Dark]: '#E3E3E3'},\n },\n\n // Icon colors\n {\n name: 'icon-tunneling-1',\n values: {[Themes.Light]: '#4E5D6C', [Themes.Dark]: '#4E5D6C'},\n },\n {\n name: 'icon-tunneling-2',\n values: {[Themes.Light]: '#1D2935', [Themes.Dark]: '#1D2935'},\n },\n ],\n}\n","import { isLocalStorageSupported } from './utils.js'\nimport * as syndicates from './syndicate.js'\n\n\nconst Themes = {\n Light: 'Light',\n Dark: 'Dark',\n System: 'System',\n}\n\nconst defaultTheme = (isLocalStorageSupported() ? localStorage.getItem('colorTheme') : Themes.Dark) || Themes.Dark\n\n// CSS Vars\n\nconst colors = [\n {\n name: 'primary',\n values: {[Themes.Light]: '#01A299', [Themes.Dark]: '#03DAC5'},\n },\n {\n name: 'primary-hover',\n values: {[Themes.Light]: '#019592', [Themes.Dark]: '#70EFDE'},\n },\n {\n name: 'primary-muted',\n values: {[Themes.Light]: '#03DAC5', [Themes.Dark]: '#018786'},\n },\n {\n name: 'on-primary',\n values: {[Themes.Light]: '#FFFFFF', [Themes.Dark]: '#001210'},\n },\n {\n name: 'secondary',\n values: {[Themes.Light]: '#28303A', [Themes.Dark]: '#EBEBEB'},\n },\n {\n name: 'secondary-hover',\n values: {[Themes.Light]: '#424A54', [Themes.Dark]: '#D0D0D0'},\n },\n {\n name: 'on-secondary',\n values: {[Themes.Light]: '#EBEBEB', [Themes.Dark]: '#28303A'},\n },\n {\n name: 'success',\n values: {[Themes.Light]: '#5CB85C', [Themes.Dark]: '#5CB85C'},\n },\n {\n name: 'success-hover',\n values: {[Themes.Light]: '#4CAE4C', [Themes.Dark]: '#4CAE4C'},\n },\n {\n name: 'on-success',\n values: {[Themes.Light]: '#ffffff', [Themes.Dark]: '#ffffff'},\n },\n {\n name: 'danger',\n values: {[Themes.Light]: '#D9534F', [Themes.Dark]: '#D9534F'},\n },\n {\n name: 'danger-hover',\n values: {[Themes.Light]: '#C2413D', [Themes.Dark]: '#C2413D'},\n },\n {\n name: 'on-danger',\n values: {[Themes.Light]: '#ffffff', [Themes.Dark]: '#ffffff'},\n },\n {\n name: 'warning',\n values: {[Themes.Light]: '#F0AD4E', [Themes.Dark]: '#F0AD4E'},\n },\n {\n name: 'warning-hover',\n values: {[Themes.Light]: '#DB9A3F', [Themes.Dark]: '#DB9A3F'},\n },\n {\n name: 'on-warning',\n values: {[Themes.Light]: '#ffffff', [Themes.Dark]: '#ffffff'},\n },\n {\n name: 'on-warning-2',\n values: {[Themes.Light]: '#000000', [Themes.Dark]: '#000000'},\n },\n {\n name: 'background',\n values: {[Themes.Light]: '#EBEBEB', [Themes.Dark]: '#233141'},\n },\n {\n name: 'surface-primary',\n values: {[Themes.Light]: '#ffffff', [Themes.Dark]: '#485B71'},\n },\n {\n name: 'surface-secondary',\n values: {[Themes.Light]: '#F5F5F5', [Themes.Dark]: '#2D3E4F'},\n },\n {\n name: 'overlay',\n values: {[Themes.Light]: '#F5F5F5CC', [Themes.Dark]: '#000000CC'},\n },\n {\n name: 'hover',\n values: {[Themes.Light]: '#66666613', [Themes.Dark]: '#FFFFFF13'},\n },\n {\n name: 'hover-accent',\n values: {[Themes.Light]: '#66666626', [Themes.Dark]: '#C9E0FA26'},\n },\n {\n name: 'divider',\n values: {[Themes.Light]: '#ABB6C2', [Themes.Dark]: '#6A7B8A'},\n },\n {\n name: 'divider-muted',\n values: {[Themes.Light]: '#ABB6C266', [Themes.Dark]: '#6A7B8A66'},\n },\n {\n name: 'text-primary',\n values: {[Themes.Light]: '#28303A', [Themes.Dark]: '#EBEBEB'},\n },\n {\n name: 'text-secondary',\n values: {[Themes.Light]: '#8A94A2', [Themes.Dark]: '#AAACB0'},\n },\n {\n name: 'text-help',\n values: {[Themes.Light]: '#4C9BE8', [Themes.Dark]: '#4C9BE8'},\n },\n\n {\n name: 'input-background',\n values: {[Themes.Light]: '#E2E8ED', [Themes.Dark]: '#42566B'},\n },\n {\n name: 'input-placeholder',\n values: {[Themes.Light]: '#28303A80', [Themes.Dark]: '#EBEBEB80'},\n },\n\n {\n name: 'table-accent',\n values: {[Themes.Light]: '#E3E3E3', [Themes.Dark]: '#283848'},\n },\n\n // Icon colors\n {\n name: 'icon-tunneling-1',\n values: {[Themes.Light]: '#4E5D6C', [Themes.Dark]: '#EAEAEA'},\n },\n {\n name: 'icon-tunneling-2',\n values: {[Themes.Light]: '#1D2935', [Themes.Dark]: '#CDCDCD'},\n },\n]\n\nconst urls = [\n {\n name: 'loader',\n values: {[Themes.Light]: 'url(\"/static/img/loader/loader_light-scheme.svg\")', [Themes.Dark]: 'url(\"/static/img/loader/loader_dark-scheme.svg\")'},\n },\n]\n\nconst shadows = [\n {\n name: 'top-nav',\n values: {[Themes.Light]: '0px 2px 10px rgb(0 0 0 / .1)', [Themes.Dark]: '0px 2px 10px rgb(0 0 0 / .3)'},\n },\n]\n\n\n// Get theme value (exclude \"System\")\nfunction currentThemeValue(theme) {\n // Get system settings\n if (theme.value === Themes.System) {\n if (window.matchMedia('(prefers-color-scheme)').media !== 'not all' && window.matchMedia('(prefers-color-scheme: light)').matches) {\n return Themes.Light\n } else {\n return Themes.Dark\n }\n }\n // Return saved value since it's not \"System\"\n return theme.value\n}\n\nfunction mergeColorOverrides(defaultColors, syndicateColors) {\n const merged = new Map(defaultColors.map(color => [color.name, color]));\n\n syndicateColors.forEach(color => {\n merged.set(color.name, color);\n });\n\n return Array.from(merged.values());\n}\n\n\nfunction initTheme(themeValue, syndicate) {\n const finalColors = syndicate && syndicates[syndicate]\n ? mergeColorOverrides(colors, syndicates[syndicate].colors)\n : colors;\n\n finalColors.forEach(function(color) {\n document.documentElement.style.setProperty(`--color-${color.name}`, color.values[themeValue])\n\n if (color.name === 'surface-secondary') {\n // Set the tag to theme the browser nav bar (Safari)\n let meta = document.querySelector('meta[name=\"theme-color\"]')\n meta.content = color.values[themeValue]\n }\n })\n\n urls.forEach(function(url) {\n document.documentElement.style.setProperty(`--url-${url.name}`, url.values[themeValue])\n })\n\n shadows.forEach(function(shadow) {\n document.documentElement.style.setProperty(`--shadow-${shadow.name}`, shadow.values[themeValue])\n })\n}\n\n\nexport {\n Themes,\n defaultTheme,\n\n colors,\n urls,\n shadows,\n\n currentThemeValue,\n initTheme,\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterEventCard.vue?vue&type=style&index=0&id=4f0efb80&prod&lang=sass&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MoveModal.vue?vue&type=style&index=0&id=3ff54ded&prod&lang=sass&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilteringDropdown.vue?vue&type=style&index=0&id=687a0a02&prod&lang=sass&scoped=true&\"","module.exports = __webpack_public_path__ + \"img/printer.png\";","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActiveFilterNotice.vue?vue&type=style&index=0&id=0aa31f4a&prod&lang=sass&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TerminalWidget.vue?vue&type=style&index=0&id=4fa56247&prod&lang=sass&scoped=true&\"","// Check if localStorage available\nexport function isLocalStorageSupported() {\n try {\n const key = '__random_key_we_are_not_going_to_use__'\n localStorage.setItem(key, key)\n localStorage.removeItem(key)\n return true\n } catch (e) {\n return false\n }\n}\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PageLayout.vue?vue&type=style&index=1&id=5822eab8&prod&lang=sass&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GCodeFoldersPage.vue?vue&type=style&index=0&id=5d00d77d&prod&lang=sass&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterCard.vue?vue&type=style&index=0&id=c6334924&prod&lang=sass&scoped=true&\"","// extracted by mini-css-extract-plugin\nmodule.exports = {\"primary\":\"#00c4b4\",\"white\":\"#fff\"};","module.exports = __webpack_public_path__ + \"img/commandLinePrompt.png\";","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterProgress.vue?vue&type=style&index=0&id=09cdf468&prod&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharePrinter.vue?vue&type=style&index=0&id=1f31c9c1&prod&lang=sass&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StatusTemp.vue?vue&type=style&index=0&id=a51f3d38&prod&lang=sass&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FirstLayerReportModal.vue?vue&type=style&index=1&id=c7824f38&prod&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterLinkingPage.vue?vue&type=style&index=0&id=47ff6d0e&prod&lang=sass&scoped=true&\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',{class:{\n 'saving-in-progress': _vm.savingClass,\n 'successfully-saved': _vm.savingDoneClass,\n 'failed-to-save': _vm.savingFailedClass,\n 'small-height': _vm.smallHeightClass,\n }},[_vm._t(\"default\")],2),(_vm.errors && _vm.errors.length > 0)?_c('small',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.errorMsg))]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SavingAnimation.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SavingAnimation.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SavingAnimation.vue?vue&type=template&id=2e4df370&scoped=true&\"\nimport script from \"./SavingAnimation.vue?vue&type=script&lang=js&\"\nexport * from \"./SavingAnimation.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SavingAnimation.vue?vue&type=style&index=0&id=2e4df370&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2e4df370\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintShotFeedbackApp.vue?vue&type=style&index=0&id=65dd3f19&prod&lang=sass&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserPreferencesPage.vue?vue&type=style&index=0&id=720acc46&prod&lang=sass&scoped=true&\"","module.exports = __webpack_public_path__ + \"img/klipper_logo.jpg\";","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReorderModal.vue?vue&type=style&index=0&id=825483f2&prod&lang=sass&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SavingAnimation.vue?vue&type=style&index=0&id=2e4df370&prod&lang=sass&scoped=true&\"","module.exports = __webpack_public_path__ + \"img/gaps-2.jpg\";","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterSettingsPage.vue?vue&type=style&index=0&id=3d5060ec&prod&lang=sass&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FocusedFeedbackConsent.vue?vue&type=style&index=0&id=c265fb70&prod&lang=sass&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewOctoPrintTunnelPage.vue?vue&type=style&index=0&id=0e2f9398&prod&lang=sass&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HelpWidget.vue?vue&type=style&index=1&id=8b03b208&prod&scoped=true&lang=css&\"","module.exports = __webpack_public_path__ + \"img/raspberry_pi.png\";","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharedPrinterPage.vue?vue&type=style&index=0&id=1dd34976&prod&lang=sass&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintProgressWidget.vue?vue&type=style&index=0&id=951008e4&prod&lang=sass&scoped=true&\"","module.exports = __webpack_public_path__ + \"img/fluidd_logo.png\";","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StatsPage.vue?vue&type=style&index=0&id=7397c062&prod&lang=sass&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetectiveWorking.vue?vue&type=style&index=0&id=5e3b0b22&prod&lang=sass&scoped=true&\"","module.exports = __webpack_public_path__ + \"img/raisedRipples-3.jpg\";","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AutoLinkPopup.vue?vue&type=style&index=0&id=18c57e6c&prod&lang=sass&scoped=true&\"","import startCase from 'lodash/startCase'\nimport toLower from 'lodash/toLower'\nimport replace from 'lodash/replace'\nimport get from 'lodash/get'\n\nexport function getNotificationSettingKey(notificationChannel, key) {\n return `${notificationChannel.channelName}_${key}`\n}\n\nexport function temperatureDisplayName(name) {\n return startCase(toLower(replace(name, /_/g, ' ')))\n}\n\nexport const getNormalizedP = (predictions, currentPosition, isPublic) => {\n const num = Math.round(predictions.length * currentPosition)\n const propName = isPublic ? 'p' : 'fields.normalized_p'\n return get(predictions[num], `${propName}`, 0)\n}\n\nexport const toArrayBuffer = (maybeBin, onData) => {\n if (!maybeBin) {\n return\n }\n\n if (maybeBin instanceof Blob) {\n const reader = new FileReader()\n reader.addEventListener('loadend', (e) => {\n if (!e.srcElement) {\n return\n }\n onData(e.srcElement.result)\n })\n reader.readAsArrayBuffer(maybeBin)\n } else {\n onData(maybeBin)\n }\n}\n\nexport const getCsrfFromDocument = () => {\n return document.getElementsByName('csrfmiddlewaretoken')[0]?.value\n}\n\nexport const downloadFile = (url, filename) => {\n fetch(url)\n .then((res) => res.blob())\n .then((res) => {\n const aElement = document.createElement('a')\n aElement.setAttribute('download', filename)\n const href = URL.createObjectURL(res)\n aElement.href = href\n aElement.setAttribute('target', '_blank')\n aElement.click()\n URL.revokeObjectURL(href)\n })\n}\n\nexport const formatWithoutDaylightSavingShift = (date, formattingStr) => {\n return date.utcOffset(date._tzm).format(formattingStr)\n}\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OctoPrintTunnelPage.vue?vue&type=style&index=1&id=36042095&prod&lang=sass&\"","module.exports = __webpack_public_path__ + \"img/raisedRipples-2.jpg\";","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MutedAlert.vue?vue&type=style&index=0&id=55bd9838&prod&lang=sass&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GCodeFilePage.vue?vue&type=style&index=0&id=0d6b7614&prod&lang=sass&scoped=true&\"","import entries from 'lodash/entries'\nimport map from 'lodash/map'\n\nexport default {\n // APIs\n printShotFeedback: (shotId, printId) =>\n `/api/v1/printshotfeedbacks/${shotId}/?print_id=${printId}`,\n print: (printId) => `/api/v1/prints/${printId}/`,\n prints: () => '/api/v1/prints/',\n printsBulkDelete: () => '/api/v1/prints/bulk_delete/',\n stats: () => `/api/v1/prints/stats/`,\n\n printers: () => '/api/v1/printers/',\n printer: (printerId) => `/api/v1/printers/${printerId}/`,\n printerAction: (printerId, path) => `/api/v1/printers/${printerId}${path}`,\n pubPrinter: () => '/api/v1p/printer/',\n\n tunnels: () => '/api/v1/tunnels/',\n tunnel: (id) => `/api/v1/tunnels/${id}/`,\n tunnelUsage: () => '/api/v1/tunnelusage/',\n verificationCode: () => '/api/v1/onetimeverificationcodes/',\n user: () => '/api/v1/users/me/',\n sharedResources: (paramsObj) =>\n '/api/v1/sharedresources/?' + map(entries(paramsObj), (entry) => entry.join('=')).join('&'),\n sharedResource: (resourceId) => `/api/v1/sharedresources/${resourceId}/`,\n printerDiscovery: () => '/api/v1/printer_discovery/',\n oneTimePasscodes: () => '/api/v1/one_time_passcodes/',\n\n printerEvents: () => '/api/v1/printer_events/',\n\n // Notifications\n notificationPlugins: () => '/api/v1/notification_settings/available_plugins/',\n notificationChannels: () => '/api/v1/notification_settings/',\n updateNotificationChannel: (id) => `/api/v1/notification_settings/${id}/`,\n testNotificationChannel: (id) => `/api/v1/notification_settings/${id}/send_test_message/`,\n\n // App urls\n printerControl: (printerId) => `/printers/${printerId}/control/`,\n printerWebSocket: (printerId) => `/ws/web/${printerId}/`,\n printerSharedWebSocket: (token) => `/ws/share_token/web/${token}/`,\n printerWizard: (printerId) => `/printers/wizard/?printerId=${printerId}`,\n\n // Gcodes\n gcodeFile: (id) => `/api/v1/g_code_files/${id}/`,\n gcodeFiles: () => '/api/v1/g_code_files/',\n gcodeFolder: (id) => `/api/v1/g_code_folders/${id}/`,\n gcodeFolders: () => '/api/v1/g_code_folders/',\n gcode: (gcodeId) => `/api/v1/g_code_files/${gcodeId}/`,\n gcodeFolderBulkDelete: () => '/api/v1/g_code_folders/bulk_delete/',\n gcodeFileBulkDelete: () => '/api/v1/g_code_files/bulk_delete/',\n gcodeFolderBulkMove: () => '/api/v1/g_code_folders/bulk_move/',\n gcodeFileBulkMove: () => '/api/v1/g_code_files/bulk_move/',\n}\n","module.exports = __webpack_public_path__ + \"img/lcdScreenLarge.png\";","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintHistoryPage.vue?vue&type=style&index=0&id=4bb2d91a&prod&lang=sass&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileStructureItem.vue?vue&type=style&index=0&id=ad2c3ac6&prod&lang=sass&scoped=true&\"","module.exports = __webpack_public_path__ + \"img/octoapp.webp\";","module.exports = __webpack_public_path__ + \"img/bubbling-1.jpg\";","module.exports = __webpack_public_path__ + \"img/detached-2.jpg\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvailablePrinters.vue?vue&type=style&index=0&id=77186cca&prod&lang=sass&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FailureDetectionGauge.vue?vue&type=style&index=0&id=465c0e04&prod&lang=sass&scoped=true&\"","module.exports = __webpack_public_path__ + \"img/generic-app.png\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ObicoInstallationGuidePage.vue?vue&type=style&index=0&id=0503971a&prod&lang=scss&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CollapsableDetails.vue?vue&type=style&index=0&id=572cc95b&prod&lang=sass&scoped=true&\"","module.exports = __webpack_public_path__ + \"img/mobileraker.webp\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintCard.vue?vue&type=style&index=0&id=5aae4a5a&prod&lang=sass&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TerminalFeedView.vue?vue&type=style&index=0&id=e788be14&prod&lang=sass&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintJobControlWidget.vue?vue&type=style&index=0&id=c7deff6e&prod&lang=sass&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GCodeDetails.vue?vue&type=style&index=0&id=0991d3bd&prod&lang=sass&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GCodeFileStructure.vue?vue&type=style&index=0&id=254b72e8&prod&lang=sass&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterControlPage.vue?vue&type=style&index=0&id=5dd1d5bb&prod&lang=sass&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchInput.vue?vue&type=style&index=0&id=33fc3084&prod&lang=sass&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OctoPrintTunnelPage.vue?vue&type=style&index=0&id=36042095&prod&lang=sass&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TemperatureWidget.vue?vue&type=style&index=0&id=6556ed7d&prod&lang=sass&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TargetPlatformSelectionPage.vue?vue&type=style&index=0&id=292aad3e&prod&lang=scss&scoped=true&\"","module.exports = __webpack_public_path__ + \"img/plugin_verification_code.png\";","module.exports = __webpack_public_path__ + \"img/vacation.gif\";","module.exports = __webpack_public_path__ + \"img/bumpsAndRoughSurface-2.jpg\";","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HelpWidget.vue?vue&type=style&index=0&id=8b03b208&prod&lang=sass&scoped=true&\"","module.exports = __webpack_public_path__ + \"img/bumpsAndRoughSurface-1.jpg\";"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/components/StreamingBox.vue?7c05","webpack:///./src/components/SliderInput.vue?eb34","webpack:///./src/components/DatePickerModal.vue?13c6","webpack:///./static/img/detective-working.gif","webpack:///./src/views/UploadPrintPage.vue?e1ee","webpack:///./src/components/NavBar.vue?680d","webpack:///./src/i18n/i18n.js","webpack:///./src/components/CascadedDropdown.vue?a9dc","webpack:///./src/components/print-shot-feedback/PrintShotCard.vue?3c3a","webpack:///./static/img/printer-wizard/klipperScreenMenu.png","webpack:///./src/components/LoadingPlaceholder.vue?7e92","webpack:///./src/components/printer-control/WidgetTemplate.vue?b2f6","webpack:///./src/components/first-layer-review/example-images/bubbling-2.jpg","webpack:///./src/components/printer-control/FailureDetectionWidget.vue?7b86","webpack:///./src/components/printer-control/PrinterControlWidget.vue?18b1","webpack:///./src/lib/color-scheme-controller.js","webpack:///./src/views/PrinterListPage.vue?9364","webpack:///./src/components/prints/PrintHistoryItem.vue?4a8b","webpack:///./src/components/g-codes/DeleteConfirmationModal.vue?c1fd","webpack:///./src/notifications/plugins lazy ^\\.\\/.*$ namespace object","webpack:///./static/img/octoprint-plugin-guide/moonraker_verification_code.png","webpack:///./src/lib/page-context.js","webpack:///./static/img/mainsail_logo.png","webpack:///./src/components/first-layer-review/example-images/gaps-1.jpg","webpack:///./static/img/octopod.webp","webpack:///./src/components/printers/wizard/DiscoveredPrinter.vue?3169","webpack:///./static/img/octoprint-plugin-guide/install_plugin.png","webpack:///./src/components/g-codes/NewFolderModal.vue?7594","webpack:///./static/img/octoprint_logo.png","webpack:///./src/components/first-layer-review/example-images/detached-1.jpg","webpack:///./src/views/PrintsPage.vue?dfeb","webpack:///./static/img/polymer.webp","webpack:///./src/views/printer-wizard/PrinterLinkingPage.vue?81ad","webpack:///./src/lib/pref.js","webpack:///./static/img/printoid.webp","webpack:///./src/components/PageLayout.vue?7269","webpack:///./src/views/PrintPage.vue?b0a4","webpack:///./src/components/first-layer-review/FirstLayerShotCard.vue?f9e2","webpack:///./src/components/prints/FullScreenPrintCard.vue?58c5","webpack:///./src/views/PrinterListPage.vue?24e8","webpack:///./src/components/terminal/PrinterTerminal.vue?4c74","webpack:///./src/components/printers/TemperatureItem.vue?339e","webpack:///./src/components/g-codes/RenameModal.vue?d1d9","webpack:///./src/components/prints/FirstLayerReportModal.vue?798c","webpack:///./static/img/webpage-multiple.svg","webpack:///./src/lib/vue-swal.js","webpack:///./src/lib/filters.js","webpack:///./src/lib/sentry.js","webpack:///./src/components/LoadingPlaceholder.vue","webpack:///src/components/LoadingPlaceholder.vue","webpack:///./src/components/LoadingPlaceholder.vue?6b7e","webpack:///./src/components/LoadingPlaceholder.vue?e935","webpack:///./src/components/SyndicateAwareSVG.vue","webpack:///src/components/SyndicateAwareSVG.vue","webpack:///./src/components/SyndicateAwareSVG.vue?69fa","webpack:///./src/components/SyndicateAwareSVG.vue?00f5","webpack:///./src/config/syndicateText.js","webpack:///./src/mount.js","webpack:///./src/notifications/plugins.js","webpack:///./src/config/user-preferences/pref-routes.js","webpack:///./src/views/NewOctoPrintTunnelPage.vue","webpack:///./src/lib/formatters.js","webpack:///./src/components/g-codes/gcode-metadata.js","webpack:///./src/lib/printer-transient-state.js","webpack:///./src/lib/normalizers.js","webpack:///src/views/NewOctoPrintTunnelPage.vue","webpack:///./src/views/NewOctoPrintTunnelPage.vue?74f1","webpack:///./src/views/NewOctoPrintTunnelPage.vue?183e","webpack:///./src/views/OctoPrintTunnelPage.vue","webpack:///src/views/OctoPrintTunnelPage.vue","webpack:///./src/views/OctoPrintTunnelPage.vue?0454","webpack:///./src/views/OctoPrintTunnelPage.vue?f879","webpack:///./src/views/PrintShotFeedbackApp.vue","webpack:///./src/components/print-shot-feedback/PrintShotCard.vue","webpack:///src/components/print-shot-feedback/PrintShotCard.vue","webpack:///./src/components/print-shot-feedback/PrintShotCard.vue?779c","webpack:///./src/components/print-shot-feedback/PrintShotCard.vue?e9e2","webpack:///./src/components/PageLayout.vue","webpack:///src/components/PageLayout.vue","webpack:///./src/components/PageLayout.vue?b5a4","webpack:///./src/components/PageLayout.vue?7327","webpack:///./src/components/print-shot-feedback/FocusedFeedbackConsent.vue","webpack:///./src/components/VideoBox.vue","webpack:///src/components/VideoBox.vue","webpack:///./src/components/VideoBox.vue?597a","webpack:///./src/components/VideoBox.vue?f9fb","webpack:///./src/components/DetectiveWorking.vue","webpack:///src/components/DetectiveWorking.vue","webpack:///./src/components/DetectiveWorking.vue?b8d3","webpack:///./src/components/DetectiveWorking.vue?6c85","webpack:///src/components/print-shot-feedback/FocusedFeedbackConsent.vue","webpack:///./src/components/print-shot-feedback/FocusedFeedbackConsent.vue?5645","webpack:///./src/components/print-shot-feedback/FocusedFeedbackConsent.vue?55b1","webpack:///src/views/PrintShotFeedbackApp.vue","webpack:///./src/views/PrintShotFeedbackApp.vue?4003","webpack:///./src/views/PrintShotFeedbackApp.vue?c1dc","webpack:///./src/views/PrintHistoryPage.vue","webpack:///./src/components/CascadedDropdown.vue","webpack:///src/components/CascadedDropdown.vue","webpack:///./src/components/CascadedDropdown.vue?77f8","webpack:///./src/components/CascadedDropdown.vue?182f","webpack:///./src/components/SortingDropdown.vue","webpack:///src/components/SortingDropdown.vue","webpack:///./src/components/SortingDropdown.vue?f1f4","webpack:///./src/components/SortingDropdown.vue?a076","webpack:///./src/components/FilteringDropdown.vue","webpack:///src/components/FilteringDropdown.vue","webpack:///./src/components/FilteringDropdown.vue?ac64","webpack:///./src/components/FilteringDropdown.vue?35b3","webpack:///./src/components/ActiveFilterNotice.vue","webpack:///src/components/ActiveFilterNotice.vue","webpack:///./src/components/ActiveFilterNotice.vue?837e","webpack:///./src/components/ActiveFilterNotice.vue?03f3","webpack:///./src/components/prints/PrintHistoryItem.vue","webpack:///src/components/prints/PrintHistoryItem.vue","webpack:///./src/components/prints/PrintHistoryItem.vue?73e1","webpack:///./src/components/prints/PrintHistoryItem.vue?a1f8","webpack:///./src/components/DatePickerModal.vue","webpack:///src/components/DatePickerModal.vue","webpack:///./src/components/DatePickerModal.vue?5d48","webpack:///./src/components/DatePickerModal.vue?c483","webpack:///./src/components/HelpWidget.vue","webpack:///src/components/HelpWidget.vue","webpack:///./src/components/HelpWidget.vue?0baa","webpack:///./src/components/HelpWidget.vue?d088","webpack:///./src/lib/time-period-filtering.js","webpack:///src/views/PrintHistoryPage.vue","webpack:///./src/views/PrintHistoryPage.vue?7ee8","webpack:///./src/views/PrintHistoryPage.vue?850b","webpack:///./src/views/StatsPage.vue","webpack:///./src/components/MutedAlert.vue","webpack:///src/components/MutedAlert.vue","webpack:///./src/components/MutedAlert.vue?28b5","webpack:///./src/components/MutedAlert.vue?bc9b","webpack:///./src/lib/charts/donut-chart.js","webpack:///./src/lib/charts/bar-chart.js","webpack:///src/views/StatsPage.vue","webpack:///./src/views/StatsPage.vue?85e0","webpack:///./src/views/StatsPage.vue?84e5","webpack:///./src/views/PrintsPage.vue","webpack:///./src/components/prints/PrintCard.vue","webpack:///./src/components/FailureDetectionGauge.vue","webpack:///src/components/FailureDetectionGauge.vue","webpack:///./src/components/FailureDetectionGauge.vue?61ad","webpack:///./src/components/FailureDetectionGauge.vue?3aec","webpack:///src/components/prints/PrintCard.vue","webpack:///./src/components/prints/PrintCard.vue?cf6f","webpack:///./src/components/prints/PrintCard.vue?37e3","webpack:///./src/components/prints/FullScreenPrintCard.vue","webpack:///src/components/prints/FullScreenPrintCard.vue","webpack:///./src/components/prints/FullScreenPrintCard.vue?6e57","webpack:///./src/components/prints/FullScreenPrintCard.vue?7223","webpack:///src/views/PrintsPage.vue","webpack:///./src/views/PrintsPage.vue?ebf0","webpack:///./src/views/PrintsPage.vue?fd79","webpack:///./src/views/PrintPage.vue","webpack:///./src/lib/printer-comm.js","webpack:///./src/lib/printer-local-comm.js","webpack:///./src/components/g-codes/sendToPrint.js","webpack:///./src/components/GCodeDetails.vue","webpack:///./src/components/CollapsableDetails.vue","webpack:///src/components/CollapsableDetails.vue","webpack:///./src/components/CollapsableDetails.vue?d5a5","webpack:///./src/components/CollapsableDetails.vue?0324","webpack:///src/components/GCodeDetails.vue","webpack:///./src/components/GCodeDetails.vue?63cf","webpack:///./src/components/GCodeDetails.vue?8488","webpack:///./src/components/prints/FirstLayerReportModal.vue","webpack:///src/components/prints/FirstLayerReportModal.vue","webpack:///./src/components/prints/FirstLayerReportModal.vue?f9f0","webpack:///./src/components/prints/FirstLayerReportModal.vue?e0df","webpack:///./src/services/gradeCalculator.js","webpack:///src/views/PrintPage.vue","webpack:///./src/views/PrintPage.vue?25fb","webpack:///./src/views/PrintPage.vue?3139","webpack:///./src/views/UploadPrintPage.vue","webpack:///src/views/UploadPrintPage.vue","webpack:///./src/views/UploadPrintPage.vue?90e9","webpack:///./src/views/UploadPrintPage.vue?aa99","webpack:///./src/views/PrinterListPage.vue","webpack:///./src/components/printers/PrinterCard.vue","webpack:///./src/lib/janus.js","webpack:///./src/lib/webrtc.js","webpack:///./src/components/StreamingBox.vue","webpack:///./src/lib/viewing-throttle.js","webpack:///src/components/StreamingBox.vue","webpack:///./src/components/StreamingBox.vue?c6cb","webpack:///./src/components/StreamingBox.vue?674b","webpack:///./src/components/printers/DurationBlock.vue","webpack:///src/components/printers/DurationBlock.vue","webpack:///./src/components/printers/DurationBlock.vue?6128","webpack:///./src/components/printers/DurationBlock.vue?a08f","webpack:///./src/components/printers/StatusTemp.vue","webpack:///./src/components/printers/TemperatureItem.vue","webpack:///src/components/printers/TemperatureItem.vue","webpack:///./src/components/printers/TemperatureItem.vue?e89f","webpack:///./src/components/printers/TemperatureItem.vue?ecf4","webpack:///src/components/printers/StatusTemp.vue","webpack:///./src/components/printers/StatusTemp.vue?4222","webpack:///./src/components/printers/StatusTemp.vue?b56c","webpack:///./src/components/printers/TempTargetEditor.vue","webpack:///./src/components/SliderInput.vue","webpack:///src/components/SliderInput.vue","webpack:///./src/components/SliderInput.vue?4680","webpack:///./src/components/SliderInput.vue?a3c1","webpack:///src/components/printers/TempTargetEditor.vue","webpack:///./src/components/printers/TempTargetEditor.vue?43fe","webpack:///./src/components/printers/TempTargetEditor.vue?5d73","webpack:///./src/components/printers/SharePrinter.vue","webpack:///src/components/printers/SharePrinter.vue","webpack:///./src/components/printers/SharePrinter.vue?3b36","webpack:///./src/components/printers/SharePrinter.vue?9250","webpack:///./src/components/printer-control/PrintJobControlWidget.vue","webpack:///./src/components/printer-control/WidgetTemplate.vue","webpack:///src/components/printer-control/WidgetTemplate.vue","webpack:///./src/components/printer-control/WidgetTemplate.vue?aa10","webpack:///./src/components/printer-control/WidgetTemplate.vue?0729","webpack:///./src/views/GCodeFoldersPage.vue","webpack:///./src/components/SearchInput.vue","webpack:///src/components/SearchInput.vue","webpack:///./src/components/SearchInput.vue?8cb6","webpack:///./src/components/SearchInput.vue?c4fb","webpack:///./src/components/g-codes/NewFolderModal.vue","webpack:///src/components/g-codes/NewFolderModal.vue","webpack:///./src/components/g-codes/NewFolderModal.vue?6d52","webpack:///./src/components/g-codes/NewFolderModal.vue?53ec","webpack:///./src/components/g-codes/RenameModal.vue","webpack:///src/components/g-codes/RenameModal.vue","webpack:///./src/components/g-codes/RenameModal.vue?5aa0","webpack:///./src/components/g-codes/RenameModal.vue?2362","webpack:///./src/components/g-codes/MoveModal.vue","webpack:///./src/components/g-codes/GCodeFileStructure.vue","webpack:///./src/components/g-codes/FileStructureItem.vue","webpack:///src/components/g-codes/FileStructureItem.vue","webpack:///./src/components/g-codes/FileStructureItem.vue?5ad0","webpack:///./src/components/g-codes/FileStructureItem.vue?314a","webpack:///src/components/g-codes/GCodeFileStructure.vue","webpack:///./src/components/g-codes/GCodeFileStructure.vue?3ab7","webpack:///./src/components/g-codes/GCodeFileStructure.vue?91e1","webpack:///src/components/g-codes/MoveModal.vue","webpack:///./src/components/g-codes/MoveModal.vue?83a9","webpack:///./src/components/g-codes/MoveModal.vue?95f8","webpack:///./src/components/g-codes/DeleteConfirmationModal.vue","webpack:///src/components/g-codes/DeleteConfirmationModal.vue","webpack:///./src/components/g-codes/DeleteConfirmationModal.vue?384b","webpack:///./src/components/g-codes/DeleteConfirmationModal.vue?7cfc","webpack:///src/views/GCodeFoldersPage.vue","webpack:///./src/views/GCodeFoldersPage.vue?aeba","webpack:///./src/views/GCodeFoldersPage.vue?1860","webpack:///./src/views/GCodeFilePage.vue","webpack:///./src/components/g-codes/AvailablePrinters.vue","webpack:///src/components/g-codes/AvailablePrinters.vue","webpack:///./src/components/g-codes/AvailablePrinters.vue?8eeb","webpack:///./src/components/g-codes/AvailablePrinters.vue?7f70","webpack:///src/views/GCodeFilePage.vue","webpack:///./src/views/GCodeFilePage.vue?3865","webpack:///./src/views/GCodeFilePage.vue?231b","webpack:///./src/components/printers/ConnectPrinter.vue","webpack:///src/components/printers/ConnectPrinter.vue","webpack:///./src/components/printers/ConnectPrinter.vue?8ff4","webpack:///./src/components/printers/ConnectPrinter.vue?2187","webpack:///src/components/printer-control/PrintJobControlWidget.vue","webpack:///./src/components/printer-control/PrintJobControlWidget.vue?1234","webpack:///./src/components/printer-control/PrintJobControlWidget.vue?4773","webpack:///src/components/printers/PrinterCard.vue","webpack:///./src/components/printers/PrinterCard.vue?c939","webpack:///./src/components/printers/PrinterCard.vue?6a73","webpack:///src/views/PrinterListPage.vue","webpack:///./src/views/PrinterListPage.vue?b402","webpack:///./src/views/PrinterListPage.vue?5799","webpack:///./src/views/SharedPrinterPage.vue","webpack:///./src/components/NavBar.vue","webpack:///src/components/NavBar.vue","webpack:///./src/components/NavBar.vue?29e7","webpack:///./src/components/NavBar.vue?5c6d","webpack:///src/views/SharedPrinterPage.vue","webpack:///./src/views/SharedPrinterPage.vue?ba3e","webpack:///./src/views/SharedPrinterPage.vue?efd5","webpack:///./src/views/PrinterSettingsPage.vue","webpack:///./src/components/NumberInput.vue","webpack:///src/components/NumberInput.vue","webpack:///./src/components/NumberInput.vue?f6fb","webpack:///./src/components/NumberInput.vue?8f60","webpack:///src/views/PrinterSettingsPage.vue","webpack:///./src/views/PrinterSettingsPage.vue?6beb","webpack:///./src/views/PrinterSettingsPage.vue?6820","webpack:///./src/views/printer-wizard/PrinterLinkingPage.vue","webpack:///./src/components/printers/wizard/DiscoveredPrinter.vue","webpack:///src/components/printers/wizard/DiscoveredPrinter.vue","webpack:///./src/components/printers/wizard/DiscoveredPrinter.vue?3035","webpack:///./src/components/printers/wizard/DiscoveredPrinter.vue?d01f","webpack:///./src/components/printers/wizard/AutoLinkPopup.vue","webpack:///src/components/printers/wizard/AutoLinkPopup.vue","webpack:///./src/components/printers/wizard/AutoLinkPopup.vue?26a4","webpack:///./src/components/printers/wizard/AutoLinkPopup.vue?8eaa","webpack:///./src/components/printers/wizard/PrinterProgress.vue","webpack:///src/components/printers/wizard/PrinterProgress.vue","webpack:///./src/components/printers/wizard/PrinterProgress.vue?d77d","webpack:///./src/components/printers/wizard/PrinterProgress.vue?080e","webpack:///src/views/printer-wizard/PrinterLinkingPage.vue","webpack:///./src/views/printer-wizard/PrinterLinkingPage.vue?c27b","webpack:///./src/views/printer-wizard/PrinterLinkingPage.vue?349b","webpack:///./src/views/printer-wizard/TargetPlatformSelectionPage.vue","webpack:///src/views/printer-wizard/TargetPlatformSelectionPage.vue","webpack:///./src/views/printer-wizard/TargetPlatformSelectionPage.vue?d95d","webpack:///./src/views/printer-wizard/TargetPlatformSelectionPage.vue?15a4","webpack:///./src/views/printer-wizard/ObicoInstallationGuidePage.vue","webpack:///src/views/printer-wizard/ObicoInstallationGuidePage.vue","webpack:///./src/views/printer-wizard/ObicoInstallationGuidePage.vue?4a99","webpack:///./src/views/printer-wizard/ObicoInstallationGuidePage.vue?ff8c","webpack:///./src/views/printer-wizard/AddPrinterSuccessPage.vue","webpack:///src/views/printer-wizard/AddPrinterSuccessPage.vue","webpack:///./src/views/printer-wizard/AddPrinterSuccessPage.vue?39f0","webpack:///./src/views/printer-wizard/AddPrinterSuccessPage.vue?73f0","webpack:///./src/views/PrinterControlPage.vue","webpack:///./src/components/printer-control/PrintProgressWidget.vue","webpack:///src/components/printer-control/PrintProgressWidget.vue","webpack:///./src/components/printer-control/PrintProgressWidget.vue?d058","webpack:///./src/components/printer-control/PrintProgressWidget.vue?474e","webpack:///./src/components/printer-control/FailureDetectionWidget.vue","webpack:///src/components/printer-control/FailureDetectionWidget.vue","webpack:///./src/components/printer-control/FailureDetectionWidget.vue?50b7","webpack:///./src/components/printer-control/FailureDetectionWidget.vue?8838","webpack:///./src/components/printer-control/TemperatureWidget.vue","webpack:///./src/components/printers/TempPresets.vue","webpack:///src/components/printers/TempPresets.vue","webpack:///./src/components/printers/TempPresets.vue?74e3","webpack:///./src/components/printers/TempPresets.vue?5d62","webpack:///src/components/printer-control/TemperatureWidget.vue","webpack:///./src/components/printer-control/TemperatureWidget.vue?6d0d","webpack:///./src/components/printer-control/TemperatureWidget.vue?288d","webpack:///./src/components/printer-control/PrinterControlWidget.vue","webpack:///src/components/printer-control/PrinterControlWidget.vue","webpack:///./src/components/printer-control/PrinterControlWidget.vue?dad7","webpack:///./src/components/printer-control/PrinterControlWidget.vue?5829","webpack:///./src/components/ReorderModal.vue","webpack:///src/components/ReorderModal.vue","webpack:///./src/components/ReorderModal.vue?3618","webpack:///./src/components/ReorderModal.vue?69bf","webpack:///./src/components/printer-control/TerminalWidget.vue","webpack:///./src/components/terminal/PrinterTerminal.vue","webpack:///./src/components/terminal/TerminalFeedView.vue","webpack:///src/components/terminal/TerminalFeedView.vue","webpack:///./src/components/terminal/TerminalFeedView.vue?07a8","webpack:///./src/components/terminal/TerminalFeedView.vue?31d9","webpack:///src/components/terminal/PrinterTerminal.vue","webpack:///./src/components/terminal/PrinterTerminal.vue?71bb","webpack:///./src/components/terminal/PrinterTerminal.vue?6156","webpack:///src/components/printer-control/TerminalWidget.vue","webpack:///./src/components/printer-control/TerminalWidget.vue?7c2d","webpack:///./src/components/printer-control/TerminalWidget.vue?dbfc","webpack:///src/views/PrinterControlPage.vue","webpack:///./src/views/PrinterControlPage.vue?e17e","webpack:///./src/views/PrinterControlPage.vue?1081","webpack:///./src/views/UserPreferencesPage.vue","webpack:///./src/config/user-preferences/sections.js","webpack:///src/views/UserPreferencesPage.vue","webpack:///./src/views/UserPreferencesPage.vue?9ec7","webpack:///./src/views/UserPreferencesPage.vue?c574","webpack:///./src/views/PrinterEventsPage.vue","webpack:///./src/components/printer-events/PrinterEventCard.vue","webpack:///src/components/printer-events/PrinterEventCard.vue","webpack:///./src/components/printer-events/PrinterEventCard.vue?af32","webpack:///./src/components/printer-events/PrinterEventCard.vue?bdf2","webpack:///src/views/PrinterEventsPage.vue","webpack:///./src/views/PrinterEventsPage.vue?bfa3","webpack:///./src/views/PrinterEventsPage.vue?98b0","webpack:///./src/views/PrinterTerminalPage.vue","webpack:///src/views/PrinterTerminalPage.vue","webpack:///./src/views/PrinterTerminalPage.vue?3381","webpack:///./src/views/PrinterTerminalPage.vue?8d4d","webpack:///./src/views/FirstLayerInspectionImagePage.vue","webpack:///./src/components/first-layer-review/FirstLayerShotCard.vue","webpack:///src/components/first-layer-review/FirstLayerShotCard.vue","webpack:///./src/components/first-layer-review/FirstLayerShotCard.vue?3970","webpack:///./src/components/first-layer-review/FirstLayerShotCard.vue?1a73","webpack:///src/views/FirstLayerInspectionImagePage.vue","webpack:///./src/views/FirstLayerInspectionImagePage.vue?b6eb","webpack:///./src/views/FirstLayerInspectionImagePage.vue?1c7a","webpack:///./src/pages.js","webpack:///./src/main.js","webpack:///./src/views/PrinterTerminalPage.vue?9ba7","webpack:///./src/views/FirstLayerInspectionImagePage.vue?996f","webpack:///./src/components/NumberInput.vue?e1d0","webpack:///./src/components/VideoBox.vue?1758","webpack:///./static/js/syndicate.js","webpack:///./static/js/color-scheme.js","webpack:///./src/components/printer-events/PrinterEventCard.vue?9aec","webpack:///./src/components/g-codes/MoveModal.vue?2254","webpack:///./src/components/FilteringDropdown.vue?0f5f","webpack:///./static/img/printer.png","webpack:///./src/components/ActiveFilterNotice.vue?a0ad","webpack:///./src/components/printer-control/TerminalWidget.vue?35db","webpack:///./static/js/utils.js","webpack:///./src/components/PageLayout.vue?3b28","webpack:///./src/views/GCodeFoldersPage.vue?b570","webpack:///./src/components/printers/PrinterCard.vue?6e2d","webpack:///./src/styles/main.sass?967e","webpack:///./static/img/printer-wizard/commandLinePrompt.png","webpack:///./src/components/printers/wizard/PrinterProgress.vue?8337","webpack:///./src/components/printers/SharePrinter.vue?ce82","webpack:///./src/components/printers/StatusTemp.vue?de0b","webpack:///./src/components/prints/FirstLayerReportModal.vue?fb5c","webpack:///./src/views/printer-wizard/PrinterLinkingPage.vue?0fe8","webpack:///./src/components/SavingAnimation.vue","webpack:///src/components/SavingAnimation.vue","webpack:///./src/components/SavingAnimation.vue?6e6a","webpack:///./src/components/SavingAnimation.vue?3c7d","webpack:///./src/views/PrintShotFeedbackApp.vue?fe4e","webpack:///./src/views/UserPreferencesPage.vue?e957","webpack:///./static/img/klipper_logo.jpg","webpack:///./src/components/ReorderModal.vue?f9ca","webpack:///./src/components/SavingAnimation.vue?a520","webpack:///./src/components/first-layer-review/example-images/gaps-2.jpg","webpack:///./src/views/PrinterSettingsPage.vue?da3d","webpack:///./src/components/print-shot-feedback/FocusedFeedbackConsent.vue?0208","webpack:///./src/views/NewOctoPrintTunnelPage.vue?55ac","webpack:///./src/components/HelpWidget.vue?1afb","webpack:///./static/img/raspberry_pi.png","webpack:///./src/views/SharedPrinterPage.vue?6402","webpack:///./src/components/printer-control/PrintProgressWidget.vue?9148","webpack:///./static/img/fluidd_logo.png","webpack:///./src/views/StatsPage.vue?b24f","webpack:///./src/components/DetectiveWorking.vue?14e2","webpack:///./src/components/first-layer-review/example-images/raisedRipples-3.jpg","webpack:///./src/components/printers/wizard/AutoLinkPopup.vue?fd6b","webpack:///./src/lib/utils.js","webpack:///./src/views/OctoPrintTunnelPage.vue?5916","webpack:///./src/components/first-layer-review/example-images/raisedRipples-2.jpg","webpack:///./src/components/MutedAlert.vue?5793","webpack:///./src/views/GCodeFilePage.vue?a4a5","webpack:///./src/config/server-urls.js","webpack:///./static/img/printer-wizard/lcdScreenLarge.png","webpack:///./src/views/PrintHistoryPage.vue?2314","webpack:///./src/components/g-codes/FileStructureItem.vue?a40f","webpack:///./static/img/octoapp.webp","webpack:///./src/components/first-layer-review/example-images/bubbling-1.jpg","webpack:///./src/components/first-layer-review/example-images/detached-2.jpg","webpack:///./src/components/g-codes/AvailablePrinters.vue?34ef","webpack:///./src/components/FailureDetectionGauge.vue?847f","webpack:///./static/img/generic-app.png","webpack:///./src/views/printer-wizard/ObicoInstallationGuidePage.vue?0929","webpack:///./src/components/CollapsableDetails.vue?531d","webpack:///./static/img/mobileraker.webp","webpack:///./src/components/prints/PrintCard.vue?b2da","webpack:///./src/components/terminal/TerminalFeedView.vue?a945","webpack:///./src/components/printer-control/PrintJobControlWidget.vue?e5fd","webpack:///./src/components/GCodeDetails.vue?4a10","webpack:///./src/components/g-codes/GCodeFileStructure.vue?579a","webpack:///./src/views/PrinterControlPage.vue?3d57","webpack:///./src/components/SearchInput.vue?b9cd","webpack:///./src/views/OctoPrintTunnelPage.vue?d6d3","webpack:///./src/components/printer-control/TemperatureWidget.vue?bbd8","webpack:///./src/views/printer-wizard/TargetPlatformSelectionPage.vue?a1fe","webpack:///./static/img/octoprint-plugin-guide/plugin_verification_code.png","webpack:///./static/img/vacation.gif","webpack:///./src/components/first-layer-review/example-images/bumpsAndRoughSurface-2.jpg","webpack:///./src/components/HelpWidget.vue?0de9","webpack:///./src/components/first-layer-review/example-images/bumpsAndRoughSurface-1.jpg"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","getCurrentLanguage","language","currentLanguage","resources","translation","baseEn","entBaseEn","baseZh","entBaseZh","i18n","init","lng","fallbackLng","interpolation","escapeValue","debug","nsSeparator","theme","Vue","observable","defaultTheme","currentThemeValue","themeValue","initTheme","$syndicate","setTheme","newTheme","isLocalStorageSupported","localStorage","setItem","map","webpackAsyncContext","req","ids","id","keys","pageContext","JSON","parse","querySelector","text","mobilePlatform","inMobileWebView","user","settings","syndicate","getLocalPref","prefId","defaultValue","printerId","storageKey","savedVal","getItem","val","setLocalPref","openModalWithComponent","C","props","modalOptions","wrapper","render","h","$mount","swal","customClass","container","html","onBeforeOpen","el","replaceWith","$el","onDestroy","$destroy","remove","openModalWithElement","element","install","options","use","VueSwal","Confirm","mixin","title","showCancelButton","confirmButtonText","cancelButtonText","Toast","toast","position","showConfirmButton","timer","Reject","icon","Prompt","DismissableToast","swalOpt","dismissKey","opt","log","$swal","filter","Math","floor","COMPONENT_NAME_REGEXP","ROOT_COMPONENT_NAME","ANONYMOUS_COMPONENT_NAME","splitPathRe","splitPath","filename","parts","exec","basename","path","ext","f","substr","getComponentName","vm","$root","$options","_componentTag","__file","unifiedFile","replace","_","toUpperCase","build","to","from","prefix","depth","maxDepth","maxKeys","setup","defaultErrorHandler","config","errorHandler","info","Sentry","metadata","obj","_original","componentName","stringify","propsData","_oO","lifecycleHook","getCurrentHub","withScope","scope","setContext","captureException","util","warn","toString","_vm","this","_c","_self","staticClass","staticRenderFns","_b","$attrs","attrs","syndicateAwareHref","computed","syndicateTextConstant","base","brandName","docRoot","appRoot","yumi","mintion","kingroon","$syndicateText","router","components","setupSentry","VueRouter","BootstrapVue","Sticky","VueMoment","VuePluralize","OnoffToggle","LoadScript","I18NextVue","i18next","methods","errorDialog","errorObj","userMessage","fire","$i18next","getDocUrl","getAppUrl","component","LoadingPlaceholder","SyndicateAwareSVG","library","add","faStar","faFileCode","faCalendarDays","faChartPie","faMoneyCheckDollar","faCircleQuestion","faBell","faCog","faDiscord","faRotateRight","faCirclePause","faCirclePlay","faCircleXmark","faPowerOff","faGear","faLayerGroup","faChevronDown","faRulerVertical","faCheck","FontAwesomeIcon","getElementById","moment","updateLocale","week","dow","email","displayName","twilio","pushbullet","discord","telegram","pushover","slack","webhook","defaultRoutes","GeneralPreferences","ThemePreferences","ProfilePreferences","AuthorizedApps","GeneralNotifications","PushNotifications","notificationRoutes","notificationPlugins","reduce","assign","printersToShow","_v","_s","$t","isEnt","trialDaysLeft","scopedSlots","_u","fn","proxy","platformDisplayName","wizardUrl","_e","authorized","appDisplayName","is_pro","directives","rawName","printerToAuthorize","expression","on","$event","$$selectedVal","Array","selected","_value","multiple","domProps","_l","printer","staticStyle","performingAuthRequest","authorize","logoutUrl","appLogo","platformLogo","loginUrl","signupUrl","humanizedDuration","durationInSeconds","seconds","round","getDurationComponents","days","hoursRounded","hours","minutes","duration","asDays","humanizedFilamentUsage","millimeters","meters","twoDecimal","timeFromNow","timeFormat","date","Date","newDate","setSeconds","getSeconds","format","gcodeMetadata","faIcon","formatter","formatters","svgIcon","v","TRANSIENT_STATES","fromStates","Starting","Pausing","Resuming","Cancelling","setPrinterTransientState","transientStateName","currentTime","timeOutInSeconds","isAgentVersionGte","getTime","getPrinterCalculatedState","underlinedState","_TRANSIENT_STATES$per","clearPrinterTransientState","persistedTransientState","calculatedState","includes","showTimeoutError","removeItem","localTransientState","newPrinterState","_window$Sentry","captureMessage","location","reload","toMomentOrNull","datetimeStr","PrintStatus","Printing","isActive","Paused","Finished","Cancelled","normalizedPrint","print","started_at","uploaded_at","finished_at","cancelled_at","ended_at","diff","asSeconds","has_alerts","Boolean","alerted_at","printShotFeedbackEligible","printshotfeedback_set","status","paused_at","normalizedPrinter","g_code_file","normalizedGcode","gcode","created_at","updated_at","deleted","filesize","num_bytes","print_set","sort","a","b","last_print","failedPrints","successPrints","totalPrints","metadata_json","analysis","_gcode$analysis$dimen","filament_total","object_height","dimensions","height","estimated_time","estimatedPrintTime","filament","tools","forEach","getBigThumbnailUrl","thumbnail1_url","thumbnail2_url","thumbnail3_url","getSmallThumbnailUrl","normalizedGcodeFolder","folder","numItems","g_code_file_count","g_code_folder_count","newData","oldData","printerMixin","createdAt","progressCompletion","isOffline","isPaused","isDisconnected","flags","operational","ready","paused","inTransientState","endsWith","_this$status","_this$status$state","state","calculatedStateColor","calcState","colorMapping","secondary","success","neutral","warning","danger","color","states","entries","setTransientState","stateText","inUserInteractionRequired","hasError","toLowerCase","isAgentMoonraker","agentDisplayName","minOctoPrintAgentVersion","minMoonrakerAgentVersion","semverGte","alertUnacknowledged","isAfter","isPrintable","archived_at","printabilityText","normalizedPrinterEvent","printerEvent","printers","encodeURIComponent","pathname","search","appName","URLSearchParams","platform","_this$user","_this$user$subscripti","subscription","plan_id","expired_at","octopodLogo","printoidLogo","polymerLogo","octoappLogo","mobilerakerLogo","genericAppLogo","isKlipper","klipperLogo","octoprintLogo","created","IS_ENT","fetchPrinters","axios","urls","response","post","tunnels","app_name","target_printer_id","tunnelEndpoint","tunnel_endpoint","redirectUrl","catch","isPro","usageFetched","showDetails","daysUntilReset","class","usageClass","usageMTD","humanizedUsageCap","overage","percentage","iframeUrl","bytesMTD","usageCap","endOfMonth","endOf","split","pop","mounted","skipWarning","input","inputPlaceholder","isConfirmed","matchMedia","classList","self","fetchUsage","firstFetch","tunnelUsage","resp","total","monthly_cap","setInterval","access_consented_at","ref","onNextShot","page","pageClass","shots","shot","onShotChanged","onPrev","onNext","consentBtnPressed","image_url","updateShot","model","answer","callback","$$v","_m","$emit","BFormGroup","BFormRadioGroup","required","put","printShotFeedback","print_id","instance","credited_dhs","collapsed","isPopup","active","hasUnseenPrinterEvents","unseenPrinterEventsDisplay","$slots","topBarLeft","topBarRight","hideHeader","_t","default","allowSignUp","urlParams","num","ACCOUNT_ALLOW_SIGN_UP","staticAlert","style","paddingBottom","estimatedFeedbackTime","consentChecked","isArray","_i","$$a","$$el","$$c","checked","$$i","concat","fromNow","video_url","poster_url","playerOptions","onTimeUpdate","downloadBtn","fullscreenBtn","exitFullscreenBtn","videoPlayer","videoUrl","String","posterUrl","fluid","autoplay","defaultFullScreenToggle","muted","preload","playbackRates","fill","sources","controlBar","fullscreenToggle","poster","require","VideoBox","DetectiveWorking","humanize","FocusedFeedbackConsent","Loading","PrintShotCard","VueSlickCarousel","PageLayout","currentShot","fetchData","printId","sortBy","updatePrint","patch","findIndex","$set","$refs","carousel","next","shotIndex","prev","answered_at","allPrintsSelected","selectedPrintIds","size","onDeleteBtnClick","sortingLocalStoragePrefix","sortingOptions","sortingValue","onSortingUpdated","filterLocalStoragePrefix","filterOptions","filterValues","filterUpdateMixin","onFilterUpdated","expandable","resetFilters","prints","loading","stats","total_print_count","total_succeeded_print_count","total_cancelled_print_count","totalPrintTimeFormatted","totalFilamentUsedFormatted","index","has","onSelectedChanged","fetchMoreData","noMoreData","onDatesPicked","menuExpanded","menuOptions","option","onClick","stopPropagation","preventDefault","customMenuOptionClass","resetMenuExpanded","menuOption","sorting","nativeOn","updateSorting","visibility","sortingDirections","direction","SortingDirections","localStoragePrefix","restoreSortingValue","sortingKey","directionKey","find","values","updateFiltering","filterOptionKey","filterValueKey","includesAll","subtitle","Function","filterOption","filterValue","currentFilterValue","newFilterValue","_filterOption$values$","restoreFilterValues","allOption","getFilterParams","customFilterParamsBuilder","params","buildQueryParam","customParams","queryParam","shouldShowFilterWarning","activeFilters","selectable","isSelected","fileName","backgroundImage","Number","watch","newValue","handleOk","resetModal","focusInput","handleSubmit","arguments","dateFrom","dateTo","errorMessage","isOpen","show","initDateFrom","initDateTo","$bvModal","select","close","hide","bvModalEvent","$nextTick","highlighted","highlight","positionWidget","xDirection","yDirection","showCloseButton","ClickOutside","textBefore","_this$$refs$widget","_this$$refs$widget2","widgetWidth","widget","offsetWidth","widgetHeight","offsetHeight","minHorizontalSpace","minVerticalSpace","helpIconPosition","widgetWrapper","getBoundingClientRect","distanceFromRightEdge","innerWidth","left","width","distanceFromBottomEdge","innerHeight","top","DateParamFormat","queryBuilder","customDateFrom","customDateTo","from_date","getDateFrom","to_date","getDateTo","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","today","firstDayOfWeek","setDate","getDate","getDay","firstDayOfMonth","getFullYear","getMonth","firstDayOfYear","date_joined","lastDayOfWeek","lastDayOfMonth","lastDayOfYear","getRecommendedGrouping","fromDate","toDate","PAGE_SIZE","SortingLocalStoragePrefix","SortingOptions","FilterLocalStoragePrefix","FilterOptions","timePeriod","printStatus","feedbackNeeded","MugenScroll","CascadedDropdown","DatePickerModal","SortingDropdown","FilteringDropdown","ActiveFilterNotice","PrintHistoryItem","HelpWidget","Set","total_print_time","_this$stats","total_filament_used","defaultStatsParams","group_by","set","updateCustomPeriodFilterSubtitle","with_archived","validPrinterIds","refetchData","start","limit","fetchStats","selectedPrintIdsClone","delete","userAction","printsBulkDelete","print_ids","filterOptionValue","getCurrentDateFrom","getCurrentDateTo","datePickerModal","newTitle","dateFormat","currentDateFrom","currentDateTo","dateFromFormatted","dateToFormatted","filteringDropdown1","$forceUpdate","filteringDropdown2","groupingOptions","grouping","updateChartGrouping","activeGrouping","longest_print_time","average_print_time","DonutChart","x","y","totalValue","totalValueFormat","innerRadius","min","outerRadius","labelRadius","names","colors","stroke","strokeWidth","strokeLinejoin","padAngle","emptyState","N","d3","V","I","isNaN","formatValue","O","T","arcs","arc","arcLabel","svg","attr","append","selectAll","join","centroid","lines","endAngle","startAngle","formatTotalValue","node","scales","BarChart","marginTop","marginRight","marginBottom","marginLeft","xDomain","xRange","xLabelShow","xLabelRotation","yType","yDomain","yRange","yTicks","xPadding","yFormat","yTickFormat","yLabel","X","Y","xScale","padding","yScale","xAxis","tickSizeOuter","yAxis","ticks","tickFormat","g","clone","bar","bandwidth","each","xAxisLabelsFormat","wrapperWidth","barsCount","lastDayInDataset","barWidth","horizontalLabelRequiredWidth","rotatedLabelRequiredWidth","frequency","rotation","ceil","firstLine","secondLine","endOfWeek","isBefore","month","label","uniqueDateKey","shouldShow","GroupingLocalStorageKey","MutedAlert","getActiveGrouping","isEmptyState","finishedPrintsPercentage","_this$stats2","_this$stats3","finished","cancelledPrintsPercentage","_this$stats4","_this$stats5","addEventListener","drawCharts","unmounted","removeEventListener","getFilterParamsFromQuery","excludeParams","with_deleted","totalPrintsDonutChart","replaceChildren","printCountMaxValue","max","print_count_groups","drawBarChart","printCountGroupsChart","titleValue","printTimeMaxValue","print_time_groups","printTimeMaxvalueHours","printTimeGroupsChart","filamentUsedMaxValue","filament_used_groups","filamentUsedMaxvalueMeters","filamentUsedGroupsChart","_this$getFilterParams","chartWidth","xLabelsFormat","visiblePrints","onPrintDeleted","printDataChanged","openFullScreen","fullScreenClosed","fullScreenPrint","fullScreenPrintVideoUrl","isPublic","creator_name","hasSelectedChangedListener","selectedCardView","canShowDetectiveView","video_archived_at","tagged_video_url","deleteVideo","posterSrc","showVideoArchivedDescription","hasFullscreenListener","cardView","modifiers","humanizedPrintedOrUploadedTime","longFormat","wasTimelapseUploaded","endStatus","_f","opacity","normalizedP","prediction_json_url","thumbedUp","onThumbUpClick","inflightAlertOverwrite","thumbedDown","onThumbDownClick","focusedFeedbackLink","need_print_shot_feedback","titleColor","titleText","computedOptions","RadialGauge","isWatching","inactiveColor","highlight1","Themes","Light","highlight2","highlight3","needle","valueDec","valueInt","units","box","minValue","maxValue","majorTicks","minorTicks","highlights","colorPlate","colorTitle","colorStrokeTicks","colorNeedleEnd","colorNeedle","colorNeedleShadowUp","valueBox","animationRule","animationDuration","animatedValue","ticksAngle","borders","level","FailureDetectionGauge","ALERT_THRESHOLD","currentPosition","predictions","alert_overwrite","$listeners","selectedChanged","fullscreen","getNormalizedP","fetchPredictions","alertOverwrite","ts","initialPosition","PrintCard","FullScreenPrintCard","$delete","isLoading","currentIndex","prevPrint","switchToPrint","PrevPrintButtonTitle","absoluteDateFormat","nextPrint","NextPrintButtonTitle","filament_used","canOpenFile","url","onRepeatPrintClicked","isSending","firstLayerInspection","gradeResult","gradeAccent","gradeTitle","firstLayerPrintTime","onOpenDetailedReport","fullscreenUrl","aiTimeLapsePosterImageUrl","enterFullscreen","exitFullscreen","download","downloadFile","PrinterCommManager","constructor","printerCommMap","Map","setPrinterComm","printerComm","getPrinterComm","getOrCreatePrinterComm","PrinterComm","closeConnection","closeServerWebSocket","webrtc","closeAllConnections","token","printerCommManager","wsUri","callbacks","ws","passthruQueue","ifvisible","closeWebSocket","connect","onPassThruReceived","msg","refId","ret","onTerminalFeedReceived","terminal_feed","printer_event","event_class","event_title","event_text","isDismissed","dismiss","onOpenCallback","readyState","WebSocket","OPEN","protocol","host","onmessage","passthru","onPrinterUpdateReceived","onopen","ensureWebsocketClosed","heartbeat","setWebRTC","parseJsonData","jsonData","onStatusReceived","setCallbacks","onData","maybeBin","toArrayBuffer","arrayBuffer","pako","ungzip","Uint8Array","passThruToPrinter","canSend","random","sendData","send","onclose","ev","freeze","listPrinterLocalGCodesOctoPrint","searchKeyword","listRecoursively","fileObj","fileList","item","children","kwargs","recursive","func","folders","files","local","ObicoUpload","items","display","listPrinterLocalGCodesMoonraker","pathPrefix","extended","dirsInServerFormat","dirname","startsWith","filesInServerFormat","modified","printPrinterLocalGCodeOctoPrint","args","printAfterSelect","printPrinterLocalGCodeMoonraker","verb","repeatPrinterLocalGCode","confirmPrint","imageUrl","reverseButtons","printCloudGCode","safe_filename","sendToPrint","isCloud","Swal","onCommandSent","onPrinterStatusChanged","printerWebSocket","printGCode","checkPrinterStatus","async","REDIRECT_TIMER","showRedirectModal","onClose","timerInterval","onOpen","htmlContainer","getHtmlContainer","timerElement","textContent","getTimerLeft","toFixed","clearInterval","fileDetailsToShow","compact","compactView","showThumbnail","bigThumbnailUrl","file","showOpenButton","openButtonVariant","openButtonText","numberOfVisibleLines","shouldShowDataNotice","expanded","rotated","CollapsableDetails","showPrintStats","unshift","showIconThumbnail","fileUploadedTime","grade","gradeRemarks","isGradeA","gradeSuggestion","suggestion","images","showCarouselAnimation","first_layer_info","carouselItems","dots","infinite","speed","slidesToShow","slidesToScroll","adaptiveHeight","initialSlide","activeTab","carouselKey","activeThumbnail","thumbnailStyle","zIndex","_this$firstLayerInspe","firstLayerInfo","handler","prepareFirstLayerInfo","immediate","calculateGrade","score","GCodeDetails","image","isFirstLayerReportModalOpen","currentPrint","printerStateCheckInterval","resident_printer","currentPrintId","_this$currentPrint","indexParam","parseInt","_this$printer","printerState","fetchSiblingPrints","clearPreviousData","printResponse","prepareFirstLayerReport","firstlayerinspection_set","_error$response","finally","firstLayerInspectionData","newUrl","history","replaceState","prevExists","_this$print$g_code_fi","FirstLayerReportModal","dropzoneOptions","printUploadSuccess","uploaded","vueDropzone","vue2Dropzone","csrf","withCredentials","maxFilesize","acceptedFiles","headers","dhBadgeNum","mobileMenuOptions","visiblePrinters","onPrinterUpdated","shouldShowArchiveWarning","archivedPrinterNum","handleNeverShowAgain","hasCurrentPrintFilename","current_print","statusClass","statusText","onSharePrinter","octoPrintTunnelUrl","settingsUrl","isProAccount","webcam","onNotAFailureClicked","overlay","not_watching_reason","normalized_p","sendPrinterAction","pressed","section_toggles","onSettingsToggleClicked","time","onTimeToggleClicked","statusTemp","onStatusTempToggleClicked","watchForFailures","onWatchForFailuresToggled","pauseOnFailure","onPauseOnFailureToggled","timeRemaining","timeTotal","progressPct","tempProps","onTempEditClicked","Janus","sessions","isExtensionEnabled","navigator","mediaDevices","getDisplayMedia","userAgent","match","chromever","maxver","extension","isInstalled","defaultExtension","extensionId","getScreen","pending","cache","postMessage","origin","sourceId","gatewayCallbacks","noop","wsopened","destroyed","initDone","isWebrtcSupported","server","websockets","wsHandlers","wsKeepaliveTimeoutId","servers","serversIndex","indexOf","iceServers","iceTransportPolicy","bundlePolicy","ipv6Support","ipv6","maxev","max_poll_events","apisecret","destroyOnUnload","keepAlivePeriod","longPollTimeout","getMaxBitrates","simulcastMaxBitrates","maxBitrates","high","medium","low","connected","sessionId","pluginHandles","that","retries","transactions","eventHandler","longpoll","httpAPICall","handleEvent","textStatus","errorThrown","json","skipTimeout","session_id","sender","pluginHandle","candidate","webrtcStuff","pc","remoteSdp","completed","addIceCandidate","endOfCandidates","candidates","webrtcState","hangup","detached","ondetached","detach","mediaState","slowLink","reason","transaction","reportSuccess","plugindata","jsep","vdebug","keepAlive","randomString","createSession","eventName","newWebSocket","body","getInfo","destroySession","unload","notifyDestroyed","cleanupHandles","handleId","destroyHandle","noRequest","sendBeacon","unbindWebSocket","onUnbindMessage","onUnbindError","createHandle","consentDialog","iceState","onlocalstream","onremotestream","ondata","ondataopen","oncleanup","plugin","opaqueId","handleToken","session","started","myStream","streamExternal","remoteStream","mySdp","mediaConstraints","dataChannel","dtmfSender","trickle","iceDone","volume","bitrate","bsnow","bsbefore","tsnow","tsbefore","getId","getPlugin","getVolume","getRemoteVolume","getLocalVolume","isAudioMuted","isMuted","muteAudio","mute","unmuteAudio","isVideoMuted","muteVideo","unmuteVideo","getBitrate","sendMessage","dtmf","sendDtmf","createOffer","prepareWebrtc","createAnswer","handleRemoteJsep","prepareWebrtcPeer","ontrackmuted","ontrackunmuted","sendRequest","cleanupWebrtc","sdp","e2ee","rid_order","sendTrickleCandidate","createDataChannel","dclabel","dcprotocol","incoming","pendingData","onDataChannelMessage","onDataChannelStateChange","dcState","onDataChannelError","dcoptions","ordered","dataChanDefaultLabel","senders","getSenders","audioSender","track","kind","ontonechange","tone","tones","gap","insertDTMF","streamsDone","media","stream","stopAllTracks","getAudioTracks","getVideoTracks","addTracks","update","replaceAudio","replaceVideo","isAudioSendEnabled","addAudio","addTrack","unifiedPlan","audioTransceiver","transceivers","getTransceivers","receiver","replaceTrack","isVideoSendEnabled","addVideo","videoTransceiver","pc_config","webRTCAdapter","browserDetails","browser","version","pc_constraints","optional","rtcConstraints","RTCRtpSender","createEncodedStreams","createEncodedAudioStreams","createEncodedVideoStreams","senderTransforms","receiverTransforms","RTCPeerConnection","getStats","oniceconnectionstatechange","iceConnectionState","onicecandidate","sendSDP","sdpMid","sdpMLineIndex","ontrack","streams","onended","receiverStreams","createAudioEncodedStreams","readableStream","writableStream","pipeThrough","pipeTo","readable","writable","trackMutedTimeoutId","removeTrack","onmute","onunmute","simulcast2","getTracks","tr","addTransceiver","sendEncodings","rid","maxBitrate","scaleResolutionDownBy","senderStreams","isDataEnabled","ondatachannel","channel","oldsdp","pattern","newsdp","setRemoteDescription","offer","webrtcError","audio","video","isTrickleEnabled","keepAudio","removeAudio","audioSend","keepVideo","removeVideo","videoSend","addData","at","stop","ra","asnd","vt","rv","vsnd","isGetUserMediaAvailable","constraints","mandatory","audioSupport","videoSupport","simulcast","screenshareFrameRate","frameRate","screenshareHeight","screenshareWidth","captureDesktopAudio","getUserMedia","audioStream","callbackUserMedia","getScreenMedia","gsmCallback","useAudio","googLeakyBucket","maxWidth","screen","maxHeight","minFrameRate","maxFrameRate","chromeMediaSource","googTemporalLayeredScreencast","chromeMediaSourceId","mozMediaSource","mediaSource","lastTime","polly","enumerateDevices","devices","audioExist","some","device","videoExist","isScreenSendEnabled","needAudioDevice","isAudioSendRequired","needVideoDevice","isVideoSendRequired","haveAudioDevice","haveVideoDevice","gumConstraints","customizeSdp","audioRecv","isAudioRecvEnabled","setDirection","videoRecv","isVideoRecvEnabled","iceRestart","sendVideo","parameters","getParameters","encodings","setParameters","mungeSdpForSimulcasting","setLocalDescription","offerToReceiveAudio","offerToReceiveVideo","OfferToReceiveAudio","OfferToReceiveVideo","localDescription","sdpSent","remote","res","remoteSource","audioLevel","enabled","inStats","mediaType","bytesReceived","googCodecName","fps","framesPerSecond","timestamp","timePassed","bitRate","hangupRequest","ssrc","ssrc_fid","cname","msid","mslabel","insertAt","mline","sim","fid","failIfNoAudio","failIfNoVideo","getServer","isConnected","reconnect","getSessionId","destroy","attach","useDefaultDependencies","deps","fetch","socketCls","proto","arr","adapter","fetchOptions","method","credentials","fetching","timerId","race","ok","parsed","useOldDependencies","jq","jQuery","payload","contentType","xhrFields","ajax","extend","dataType","xhr","tracks","mst","trace","usedDependencies","dependencies","listDevices","attachMediaStream","srcObject","URL","createObjectURL","reattachMediaStream","iOS","oldOBF","safariVp8","getCapabilities","codecs","codec","mimeType","testpc","RTCRtpTransceiver","tempPc","len","charSet","randomPoz","substring","printerWebRTCUrl","printerSharedWebRTCUrl","authToken","_syndicate","turnServer","turn_server","credential","username","WebRTCConnection","streamMode","streamIdToTest","h264Webrtc","mjpegWebrtc","H264WebRTCConnection","MJpegWebRTCConnection","initialized","h264WebRTCConn","mjpegWebRTCConn","openForShareToken","shareToken","openForPrinter","disconnect","janus","stopStream","startStream","streamId","streaming","bitrateInterval","connectJanusWebSocket","mjpegStreamExisting","onStreamAvailable","onMessage","rawData","onMJpegData","_self$streaming","_self$streaming2","channelOpen","_self$streaming3","offer_video","_self$streaming4","_self$streaming5","streamIdsToTest","videoStreamExisting","onRemoteStream","onTrackMuted","onTrackUnmuted","uplink","lost","onSlowLink","onDefaultStreamCleanup","clearBitrateInterval","_self$streaming6","_self$streaming7","_self$streaming8","onBitrateUpdated","_self$streaming9","_self$streaming10","_self$streaming11","slowLinkLoss","slowLinkClicked","fixSlowLinkTextWidth","slowLinkShowing","slowLinkHiding","showing","hiding","trackMuted","showMutedStatusDescription","isVideoAvailable","isBasicStreamingReadyToPlay","isBasicStreamingFrozen","onPlayBtnClicked","remainingSecondsUntilNextCycle","videoLoading","isBasicStreamingInProgress","currentBitrate","clickable","onInfoClicked","remainingSecondsCurrentVideoCycle","webcamRotateClass","webcamRatioClass","transform","imageTransformStyle","taggedSrc","showMJpeg","mjpgSrc","showVideo","webcamVideoHeight","onLoadStart","onCanPlay","onRotateRightClicked","ViewingThrottle","countDownCallback","localStorageItemId","remainingSeconds","countDownTimer","startOrResumeVideoCycle","countDown","resumeVideoCycle","updateRemainingSeconds","remainingViewableSeconds","tsNextVideoCycle","parseFloat","now","MJpegStreamDecoder","onFrame","contentLength","NaN","imageBuffer","bytesRead","originalJpgLength","TextDecoder","decode","jpg","jpgLength","lengthHeaders","_this$webcam","stickyStreamingSrc","isVideoVisible","localStorageRotationKey","stream_id","customRotationDeg","_this$webcam2","_this$webcam3","flipH","flipV","videoRotationDeg","_this$webcam4","ratio169","_this$webcam5","is_primary_camera","basicStreamingInWebrtc","mjpegStreamDecoder","videoLimit","initWebRTC","onWebRTCRemoteStream","onMJpegChunk","webrtcConn","videoTracks","getComputedStyle","slowLinkText","loss","valid","printing","showHours","showMinutes","showSeconds","temperatures","isPluginVersionSufficient","onEditClicked","editable","tempKey","tempItem","heaterIcon","temperatureDisplayName","actual","TemperatureItem","onPresetChanged","preset","allPresets","pre","maxTemp","onSliderChanged","composing","step","SliderInput","presets","curTarget","curPreset","sharedResource","onSharingToggled","sharedLink","copyToClipboard","copyStatus","copyMessage","share","share_token","fetchSharedResources","sharedResources","printer_id","postSharedResources","deleteSharedResources","focus","execCommand","insideCard","onPauseToggled","onCancelClicked","openObicoFiles","openPrinterFiles","connecting","onConnectClicked","modalId","resetGcodesModal","selectedGcodeId","fileId","printerFiles","on-close","goBack","scrollToTop","parentFolder","savedPath","openFile","allSelected","toggleSelectAll","selectedItemsCount","moveSelectedItems","deleteSelectedItems","updateSearch","createFolder","switchToCloudStorage","click","switchToPrinterStorage","selectedPrinterId","isPrinterBrowsable","printerBrowsabilityText","onMenuOptionClicked","cascadedDropdown","gcodeUploadSuccess","gcodeUploadError","addParentFolderParam","maxTotalFilesize","searchStateIsActive","searchInProgress","targetPrinter","nothingFound","scrollContainerId","noMoreFolders","noMoreFiles","localFilesLoading","openFolder","renameItem","moveItem","deleteItem","onPrintClicked","fetchFilesAndFolders","onSelectFiles","onSelectFolders","activeItem","verifyItemRename","onItemRenamed","activeItems","onItemMoved","onItemDeleted","verifyNewFolder","onFolderCreated","newFolderName","preConfirm","parentFolderId","newFolder","gcodeFolders","parent_folder","newItemName","itemType","fullName","fileExt","nameWithoutExt","newNameWithExt","gcodeFile","gcodeFolder","isSameDir","patchLoading","disabledItems","isMoveModal","isFolder","selectedFolders","selectedFiles","isFolderEmpty","disabled","isDisabled","cancelled","FileStructureItem","selectedItemsCopy","unselectAll","GCodeFileStructure","itemParentFolderId","currentFoldersPage","currentFilesPage","resetFiles","reset","_response","_response2","page_size","folderKey","results","gcodeFolderBulkMove","folder_ids","gcodeFileBulkMove","file_ids","msgBoxConfirm","centered","okTitle","okVariant","autoFocusButton","SEARCH_API_CALL_DELAY","SearchInput","RenameModal","MoveModal","DeleteConfirmationModal","NewFolderModal","routeParams","searchQuery","searchTimeoutId","selectedPrinterComm","itemsCount","selectedPrinter","gcodeFiles","getCsrfFromDocument","getRouteParam","$watch","$route","toParams","previousParams","gCodeFileStructure","moveModal","selectedFolderIds","selectedFileIds","gcodeFolderBulkDelete","gcodeFileBulkDelete","$router","browsabilityMinPluginVersion","listPrinterLocalGCodes","decodeURIComponent","printLastUploadedFile","fetchLocalFiles","_response3","_response4","q","_response5","formData","printAfterUpload","gcodesDropzone","getAcceptedFiles","getRejectedFiles","removeAllFiles","renameModal","newName","targetArr","deleteConfirmationModal","newFolderModal","menuOptionKey","newFolderId","renameFile","deleteFile","gcodeNotFound","isDeleted","targetPrinterId","onRefresh","printersLoading","selectPrinter","printerComms","_this$selectedPrinter","availablePrinters","_this$gcode","fetchPrinter","gcodeId","fetchGcode","decodedPath","dir_path","getPrinterLocalGCode","_result$files","hash","safeFilename","agent_signature","gcodeFileOnServer","cloudCopy","_file","_file2","fetchLocalFile","go","selectedPort","connectionOptions","ports","port","selectedBaudrate","baudrates","baudrate","PAUSE_PRINT","RESUME_PRINT","CANCEL_PRINT","WidgetTemplate","GCodeFoldersPage","GCodeFilePage","connectBtnClicked","scrollTo","ConnectPrinter","MUTE_CURRENT_PRINT","ACK_ALERT_NOT_FAILED","Show","Hide","LocalPrefNames","Settings","Time","StatusTemp","StreamingBox","DurationBlock","PrintJobControlWidget","toDuration","secondsLeft","secs","secondsPrinted","watching_enabled","action_on_failure","actionsProps","_data$settings","updatedPrinter","webcams","_data$settings2","stream_mode","auth_token","printerStatus","octoprint_data","resumePrint","updatePrinter","tempProfiles","TempTargetEditor","targetTemp","succeeded","printerAction","shouldVideoBeFull","hasImage","shouldBeThumb","asHours","SharePrinter","PrinterCard","is_dh_unlimited","dh_balance","reverse","hiddenPrinterCount","insertPrinter","shouldShowArchiveWarningFunc","shouldNeverShow","themes","Dark","showMainMenu","viewName","first_name","hideDropdowns","accountDropdown","NavBar","videoAvailable","isWebrtcOpened","printerSharedWebSocket","errorMessages","saving","action_on_failure_NONE","_q","updateSetting","action_on_failure_PAUSE","tools_off_on_pause","bed_off_on_pause","retract_on_pause","retractFilamentByEnabled","retractOnPause","lift_z_on_pause","liftExtruderByEnabled","liftExtruderBy","detective_sensitivity","sensitivityTooltipFormatter","detectiveSensitivity","timelapseOnFinishEnabled","timelapseOnCancelEnabled","min_timelapse_secs_on_finish","minTimelapseMinutesOnFinish","min_timelapse_secs_on_cancel","minTimelapseMinutesOnCancel","printerWizardUrl","archivePrinter","deletePrinter","disable","inputValue","unit","SavingAnimation","NumberInput","VueSlider","delayedSubmit","delay","timeoutId","printerWizard","printerName","oldValue","changeRetractOnPause","changeLiftExtruderBy","patchPrinter","propName","propValue","inputElem","getSettingsItemInput","setSavingStatus","non_field_errors","errorAlert","settingsItem","delayInfo","chosenDeviceId","discoveryEnabled","canStartLinking","discoveredPrinters","discoveredPrinter","device_id","autoLinkPrinter","discoveryCount","targetOctoPrint","useLegacyVerificationCode","verificationCode","copied","timeToExpire","zoomIn","targetKlipper","showVerificationCodeHelpModal","oneTimePasscode","oneTimePasscodeStatus","oneTimePasscodeChanged","back","agent","rpi_model","machine_type","host_or_ip","hostname","octopi_version","os","linking","cancel","switchToManualLinking","secretObtained","gotWindowMessage","beforeDestroy","gotSecret","obicoDiscoveryPopup","open","destUrl","closeDiscoveryPopup","pluginName","switchToManual","device_secret","done","DiscoveredPrinter","PrinterProgress","verifiedPrinter","apiCallIntervalId","printerIdToLink","query","expiryMoment","_this$verificationCod","_this$discoveredPrint","targetPlatform","getVerificationCode","discoverPrinter","oneTimePasscodes","one_time_passcode","verification_code","verificationCodeUrl","baseUrl","verified_at","callVerificationCodeApi","onPrinterLinked","toggle","callPrinterDiscoveryApi","printerDiscovery","AutoLinkPopup","secret","allowOutsideClick","devicesWithObicoPreInstalled","targetPlatformClicked","brand","printerItem","targetKlipperPreInstall","targetKlipperGeneric","goForward","printer_name","updatePrinterName","redirectToTunnelCreation","editPrinterUrl","widgets","lastPrint","onSendPrinterAction","onUpdateSettings","onReorderClicked","isAllWebcamSelected","selectedWebcam","chooseWebcam","selectedWebcamIndex","refInFor","isAtleastOnePrinterPortrait","deg","handleRotateRightClicked","isPrinting","printProgressPercentage","layerProgress","finishingAt","DATE_TIME_FORMAT","timeElapsed","mmProgress","isPrintStarting","onRepeatClicked","startedAt","extraVisible","_this$print","_this$printer$status","_this$printer$status2","_this$printer$status3","_this$printer$status4","_this$printer$status5","progressInMillimeters","progressMillimeters","currentZ","totalMillimeters","file_metadata","printingArea","maxZ","_this$printer$status6","_this$printer$status7","_this$printer$status8","_this$printer$status9","progressInLayers","progressLayers","currentLayerHeight","totalLayers","obico","totalLayerCount","_this$printer$status$","_this$printer$status10","_this$printer$status11","progress","printTime","_this$printer$status$2","_this$printer2","_this$printer2$status","_this$printer2$status2","printTimeLeft","updatePrintProgress","deep","toggleZHeightProgressType","preferZHeightProgressInLayers","_this$printer$status12","_this$printer$status13","_this$printer$status14","_this$printer$status15","_this$printer$status16","elapsed","printProgressMillimeters","printMillimetersTotal","enableFailureDetection","onFailureDetectionToggled","notWatchingExplanation","settingName","settingValue","onTemperaturePresetsClicked","currentPreset","agentName","handleSetTemp","TempPresets","_result$value","applyTempPreset","profile","presetObj","presetName","bed","extruder","chamber","toolName","temp","activeMenu","hideTunePrinter","powerDevices","xyzJogDistance","xyzControl","axis","directions","down","up","xy","home","z","homeAll","disableSteppers","showExtrudeControl","extrudeJogDistance","handleFilament","filamentDirections","retract","extrude","showToolsSelector","activeTool","zOffsetJogDistance","controlZOffset","currentZOffset","currentFeedRate","customFeedRateFactor","setPrintSpeed","currentFlowRate","customFlowRateFactor","setFlowRate","currentFanSpeed","customFanSpeed","setFanSpeed","togglePower","batchPowerControl","AXIS","xyz","DIRECTIONS","FILAMENT_DIRECTIONS","extruders","prevValue","getCurrentZOffset","getPowerDevices","onEscape","keyCode","$once","moonrakerPayload","offset","gcode_move","homing_origin","cleanOffset","octoPayload","currentToolTemp","toolNum","changeAmount","commandScript","octoVal","moonrakerVal","force","sendCommandToPrinter","command","onError","onSuccess","actionString","deviceStr","action","str","dragging","currentItems","getTitle","toggleItemEnabled","draggable","extraInfo","newVal","oldVal","saveNewOrder","sortingConfig","fullScreenHeight","showFullScreenOpt","feedIsOn","canToggleFeed","toggleTerminalPower","clearFeed","updateFilterPrefs","hideTempMessages","hideSDMessages","hideGCodeMessages","hideOKMessages","terminalFeedArray","_k","feed","normalTimeStamp","TerminalFeedView","oldTerminalFeed","onNextTerminalFeed","terminalSetup","hideTempPref","hideSDPref","hideOKPref","hideGCodePref","newTerminalFeed","_this$oldTerminalFeed","_this$oldTerminalFeed2","sameMsg","same_ts","_ts","newMsg","tempRegex","SDRegex","gCodeRegex","test","trim","newString","PrinterTerminal","WIDGETS","PrintProgressWidget","FailureDetectionWidget","TemperatureWidget","PrinterControlWidget","TerminalWidget","lastPrintFetchCounter","widgetsConfig","customRotationData","configItem","w","_this$printer$setting","_this$printer$setting2","webcam_rotation","isPortrait","_webcam$rotation","custom","customRotation","degree","_newValue$current_pri","_oldValue$current_pri","resizeStream","restoreWidgets","fetchLastPrint","pollForCorrect","_this$printer3","_this$printer3$settin","_this$printer4","_this$printer4$settin","dataChannelFound","data_channel_available","primaryWebcam","preferredWebcam","preferredWebcamIndex","customRotationIndex","WIDGET","terminalWidget","defaultProps","filter_by_printer_ids","retry","newDelay","streamInners","streamInner","streamContainer","parentElement","getPropertyValue","streamContainerRect","streamContainerWidth","streamContainerHeight","isVertical","isRatio169","multiplier","isOctoPrintCommand","ReorderModal","useMobileLayout","onlyNotifications","sections","isHidden","isSubcategory","route","logout","currentSection","isNotificationChannel","availableNotificationPlugins","currentRouteComponent","createNotificationChannel","patchNotificationChannel","deleteNotificationChannel","clearErrorMessages","addErrorMessage","updateRoute","notification_enabled","defaultSections","importComponent","routes","notificationSections","channelName","configuredNotificationChannels","last_name","combinedInputs","visibleSections","section","clientIsThemeable","fetchNotificationPlugins","fetchNotificationChannels","fetchUser","checkMobileLayout","onresize","paddingTop","newTabIndex","vw","documentElement","clientWidth","plugins","pluginInfo","env_vars","needHidden","envItem","is_required","is_set","notificationChannels","channels","channelInfo","opts","getNotificationSettingKey","errors","innnerError","propNames","propValues","prop","updateNotificationChannel","patchUser","checkForCombinedValues","inputs","emptyValues","ReactNativeWebView","firstName","lastName","eventClassFiltering","eventClass","toggleEventFiltering","cssClassFromEventClass","eventTypeFiltering","eventType","printerEvents","tintBorderClass","link","info_url","onTextClick","tintClass","eventTitle","LOCAL_PREF_NAMES","localPrefKey","localPref","PrinterEventCard","filter_by_classes","filter_by_types","original","onImageUpdated","labels","raisedRipples","openExample","bubbling","bumpsAndRoughSurface","gaps","other","noIssues","notANozzleCam","isFirst","labelsSelected","isLast","totalShots","labelsToString","parseLabelsString","updateLabels","labelsString","labelArray","desc","imageUrls","raised","raised1","raised2","bubbling1","bubbling2","bumps","bumps1","bumps2","detached1","detached2","gaps1","gaps2","FirstLayerShotCard","inspectionId","urlParts","UserPreferencesPage","TargetPlatformSelectionPage","ObicoInstallationGuidePage","PrinterLinkingPage","AddPrinterSuccessPage","prefRoutes","NewOctoPrintTunnelPage","OctoPrintTunnelPage","PrintShotFeedbackApp","PrinterListPage","SharedPrinterPage","PrinterSettingsPage","PrinterControlPage","PrintsPage","PrintPage","PrintHistoryPage","StatsPage","UploadPrintPage","PrinterEventsPage","PrinterTerminalPage","FirstLayerInspectionImagePage","mountVue","System","biqu","shadows","matches","mergeColorOverrides","defaultColors","syndicateColors","merged","finalColors","syndicates","setProperty","meta","content","shadow","savingClass","savingDoneClass","savingFailedClass","smallHeightClass","errorMsg","savingTimeout","savingDoneTimeout","nowSaving","prevSaving","clearSavingTimeout","notificationChannel","startCase","toLower","Blob","reader","FileReader","srcElement","readAsArrayBuffer","_document$getElements","getElementsByName","blob","aElement","revokeObjectURL","formatWithoutDaylightSavingShift","formattingStr","utcOffset","_tzm","shotId","pubPrinter","tunnel","paramsObj","entry","resourceId","testNotificationChannel","printerControl"],"mappings":"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","file":"js/root.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"root\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"root\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-148bd346\":1,\"chunk-21c3a10b\":1,\"chunk-44a38aaa\":1,\"chunk-4735cf0b\":1,\"chunk-4c6d5824\":1,\"chunk-5b348ede\":1,\"chunk-63df7391\":1,\"chunk-747d5350\":1,\"chunk-97991682\":1,\"chunk-d085a80a\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/static/frontend/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StreamingBox.vue?vue&type=style&index=0&id=7045853e&prod&lang=sass&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SliderInput.vue?vue&type=style&index=0&id=3dcc12a9&prod&lang=sass&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DatePickerModal.vue?vue&type=style&index=0&id=3aeed230&prod&lang=sass&scoped=true&\"","module.exports = __webpack_public_path__ + \"img/detective-working.gif\";","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UploadPrintPage.vue?vue&type=style&index=0&id=13c6093e&prod&lang=sass&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavBar.vue?vue&type=style&index=0&id=371280d8&prod&lang=sass&scoped=true&\"","import i18n from 'i18next';\n\nimport baseEn from './locales/en.json';\nimport baseZh from './locales/zh.json';\nimport entBaseEn from './locales/ent_en.json';\nimport entBaseZh from './locales/ent_zh.json';\n\nimport {language} from '@src/lib/page-context'\n\nconst getCurrentLanguage = () => {\n return language()\n};\n\n\nconst currentLanguage = getCurrentLanguage()\n\n\nconst resources = {\n 'en': {\n translation: {\n ...baseEn,\n ...entBaseEn\n }\n },\n 'zh': {\n translation: {\n ...baseZh,\n ...entBaseZh\n }\n },\n\n};\n\ni18n\n .init({\n resources,\n lng: currentLanguage,\n fallbackLng: ['en'],\n interpolation: {\n escapeValue: false,\n },\n debug: true,\n nsSeparator:false\n });\n\nexport default i18n;\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CascadedDropdown.vue?vue&type=style&index=0&id=2a5ecb65&prod&lang=sass&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintShotCard.vue?vue&type=style&index=0&id=72de57d5&prod&lang=sass&scoped=true&\"","module.exports = __webpack_public_path__ + \"img/klipperScreenMenu.png\";","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadingPlaceholder.vue?vue&type=style&index=0&id=26c9d5fe&prod&lang=sass&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetTemplate.vue?vue&type=style&index=0&id=922c39c0&prod&lang=sass&scoped=true&\"","module.exports = __webpack_public_path__ + \"img/bubbling-2.jpg\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FailureDetectionWidget.vue?vue&type=style&index=0&id=6fe2ac18&prod&lang=sass&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterControlWidget.vue?vue&type=style&index=0&id=ca2fb97c&prod&lang=sass&scoped=true&\"","import Vue from 'vue'\nimport { isLocalStorageSupported } from '@static/js/utils'\nimport {\n currentThemeValue as themeValue,\n defaultTheme,\n initTheme as init,\n} from '@static/js/color-scheme'\n\nexport const theme = Vue.observable({\n value: defaultTheme,\n})\n\nexport function currentThemeValue() {\n return themeValue(theme)\n}\n\nexport function initTheme() {\n return init(currentThemeValue(), Vue.prototype.$syndicate)\n}\n\nexport function setTheme(newTheme) {\n theme.value = newTheme\n if (isLocalStorageSupported()) {\n localStorage.setItem('colorTheme', theme.value)\n }\n initTheme(Vue.prototype.$syndicate)\n}\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterListPage.vue?vue&type=style&index=0&id=fb278c80&prod&lang=sass&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintHistoryItem.vue?vue&type=style&index=0&id=11fbb7ad&prod&lang=sass&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeleteConfirmationModal.vue?vue&type=style&index=0&id=930ed162&prod&lang=sass&\"","var map = {\n\t\"./DiscordPlugin\": [\n\t\t\"0f1e\",\n\t\t\"chunk-148bd346\"\n\t],\n\t\"./DiscordPlugin.vue\": [\n\t\t\"0f1e\",\n\t\t\"chunk-148bd346\"\n\t],\n\t\"./EmailPlugin\": [\n\t\t\"c308\",\n\t\t\"chunk-97991682\"\n\t],\n\t\"./EmailPlugin.vue\": [\n\t\t\"c308\",\n\t\t\"chunk-97991682\"\n\t],\n\t\"./PushbulletPlugin\": [\n\t\t\"1cfc\",\n\t\t\"chunk-21c3a10b\"\n\t],\n\t\"./PushbulletPlugin.vue\": [\n\t\t\"1cfc\",\n\t\t\"chunk-21c3a10b\"\n\t],\n\t\"./PushoverPlugin\": [\n\t\t\"46f8\",\n\t\t\"chunk-747d5350\"\n\t],\n\t\"./PushoverPlugin.vue\": [\n\t\t\"46f8\",\n\t\t\"chunk-747d5350\"\n\t],\n\t\"./SlackPlugin\": [\n\t\t\"ff58\",\n\t\t\"chunk-5b348ede\"\n\t],\n\t\"./SlackPlugin.vue\": [\n\t\t\"ff58\",\n\t\t\"chunk-5b348ede\"\n\t],\n\t\"./TelegramPlugin\": [\n\t\t\"814e\",\n\t\t\"chunk-4735cf0b\"\n\t],\n\t\"./TelegramPlugin.vue\": [\n\t\t\"814e\",\n\t\t\"chunk-4735cf0b\"\n\t],\n\t\"./TwilioPlugin\": [\n\t\t\"e2bc\",\n\t\t\"chunk-44a38aaa\"\n\t],\n\t\"./TwilioPlugin.vue\": [\n\t\t\"e2bc\",\n\t\t\"chunk-44a38aaa\"\n\t],\n\t\"./WebhookPlugin\": [\n\t\t\"e920\",\n\t\t\"chunk-4c6d5824\"\n\t],\n\t\"./WebhookPlugin.vue\": [\n\t\t\"e920\",\n\t\t\"chunk-4c6d5824\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = \"17ae\";\nmodule.exports = webpackAsyncContext;","module.exports = __webpack_public_path__ + \"img/moonraker_verification_code.png\";","export const pageContext = () => {\n return JSON.parse(document.querySelector('#page-context-json').text)\n}\n\nexport const mobilePlatform = () => {\n return pageContext()['app_platform']\n}\n\nexport const inMobileWebView = () => {\n return mobilePlatform() !== ''\n}\n\nexport const user = () => {\n return JSON.parse(document.querySelector('#user-json').text)\n}\n\nexport const settings = () => {\n return JSON.parse(document.querySelector('#settings-json').text)\n}\n\nexport const syndicate = () => {\n return pageContext()['syndicate']\n}\n\nexport const language = () => {\n return pageContext()['language']\n}","module.exports = __webpack_public_path__ + \"img/mainsail_logo.png\";","module.exports = __webpack_public_path__ + \"img/gaps-1.jpg\";","module.exports = __webpack_public_path__ + \"img/octopod.webp\";","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DiscoveredPrinter.vue?vue&type=style&index=0&id=0a48d7b0&prod&lang=sass&\"","module.exports = __webpack_public_path__ + \"img/install_plugin.png\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewFolderModal.vue?vue&type=style&index=0&id=47badcdc&prod&lang=sass&scoped=true&\"","module.exports = __webpack_public_path__ + \"img/octoprint_logo.png\";","module.exports = __webpack_public_path__ + \"img/detached-1.jpg\";","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintsPage.vue?vue&type=style&index=0&id=7a698682&prod&lang=sass&scoped=true&\"","module.exports = __webpack_public_path__ + \"img/polymer.webp\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterLinkingPage.vue?vue&type=style&index=1&id=47ff6d0e&prod&lang=sass&\"","import { isLocalStorageSupported } from '@static/js/utils'\n\nexport const getLocalPref = (prefId, defaultValue, printerId = null) => {\n const storageKey = printerId === null ? prefId : `${prefId}_${printerId}`;\n var savedVal = isLocalStorageSupported() ? localStorage.getItem(storageKey) : null\n var val = savedVal || defaultValue\n // Hack to deal with data type such as boolean and number\n try {\n return JSON.parse(val)\n } catch (e) {\n return val\n }\n}\n\nexport const setLocalPref = (prefId, value, printerId = null) => {\n if (isLocalStorageSupported()) {\n const storageKey = printerId === null ? prefId : `${prefId}_${printerId}`;\n localStorage.setItem(storageKey, value);\n }\n}","module.exports = __webpack_public_path__ + \"img/printoid.webp\";","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PageLayout.vue?vue&type=style&index=0&id=5822eab8&prod&lang=sass&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintPage.vue?vue&type=style&index=0&id=122a7196&prod&lang=sass&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FirstLayerShotCard.vue?vue&type=style&index=0&id=b52f1894&prod&lang=sass&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FullScreenPrintCard.vue?vue&type=style&index=0&id=64113028&prod&lang=sass&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterListPage.vue?vue&type=style&index=1&id=fb278c80&prod&lang=sass&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterTerminal.vue?vue&type=style&index=0&id=e9a802f6&prod&lang=sass&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TemperatureItem.vue?vue&type=style&index=0&id=6371ef1e&prod&lang=sass&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RenameModal.vue?vue&type=style&index=0&id=bc4fae7e&prod&lang=sass&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FirstLayerReportModal.vue?vue&type=style&index=0&id=c7824f38&prod&lang=sass&scoped=true&\"","module.exports = __webpack_public_path__ + \"img/webpage-multiple.svg\";","import Vue from 'vue'\nimport VueSwal from 'vue-sweetalert2'\n\nimport { getLocalPref, setLocalPref } from '@src/lib/pref'\n\nconst openModalWithComponent = (C, props, modalOptions) => {\n let wrapper = document.createElement('div')\n const c = new Vue({\n render: (h) => h(C, { props: props }),\n }).$mount(wrapper)\n\n return Vue.swal({\n ...modalOptions,\n customClass: {\n container: 'dark-backdrop',\n },\n html: '
Placeholder
',\n onBeforeOpen: (el) => {\n el.querySelector('#replace-here').replaceWith(c.$el)\n },\n onDestroy: () => {\n c.$destroy()\n wrapper.remove()\n },\n })\n}\n\nconst openModalWithElement = (element, props, modalOptions) => {\n return Vue.swal({\n ...modalOptions,\n customClass: {\n container: 'dark-backdrop',\n },\n html: '
Placeholder
',\n onBeforeOpen: (el) => {\n el.querySelector('#replace-here').replaceWith(element)\n },\n })\n}\n\nconst install = (Vue, options) => {\n Vue.use(VueSwal, options)\n\n const Confirm = Vue.swal.mixin({\n title: 'Are you sure?',\n showCancelButton: true,\n confirmButtonText: 'Yes',\n cancelButtonText: 'No',\n customClass: {\n container: 'dark-backdrop',\n },\n })\n\n const Toast = Vue.swal.mixin({\n toast: true,\n position: 'top-end',\n showConfirmButton: false,\n timer: 5000,\n })\n\n const Reject = Vue.swal.mixin({\n icon: 'error',\n customClass: {\n container: 'dark-backdrop error-alert',\n },\n })\n\n const Prompt = Vue.swal.mixin({\n customClass: {\n container: 'dark-backdrop',\n },\n })\n\n const DismissableToast = (swalOpt, dismissKey) => {\n if (!getLocalPref(dismissKey, false)) {\n const opt = {\n ...swalOpt,\n position: 'top-end',\n confirmButtonText: \"Gotcha! Don't show this again.\",\n }\n return Vue.swal(opt).then(function (result) {\n if (result.value) {\n setLocalPref(dismissKey, true)\n console.log(result)\n }\n })\n }\n }\n\n Vue.prototype.$swal['openModalWithComponent'] = openModalWithComponent\n Vue.prototype.$swal['openModalWithElement'] = openModalWithElement\n Vue.prototype.$swal['Confirm'] = Confirm\n Vue.prototype.$swal['Toast'] = Toast\n Vue.prototype.$swal['DismissableToast'] = DismissableToast\n Vue.prototype.$swal['Reject'] = Reject\n Vue.prototype.$swal['Prompt'] = Prompt\n}\n\nexport default { install: install }\n","import Vue from 'vue'\n\nVue.filter('floor', (value) => Math.floor(value))\n","// extract from @sentry/vue package\n\nconst COMPONENT_NAME_REGEXP = /(?:^|[-_/])(\\w)/g\nconst ROOT_COMPONENT_NAME = 'root'\nconst ANONYMOUS_COMPONENT_NAME = 'anonymous component'\n\nconst splitPathRe = /^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^/]+?|)(\\.[^./]*|))(?:[/]*)$/\nconst splitPath = (filename) => {\n const parts = splitPathRe.exec(filename)\n return parts ? parts.slice(1) : []\n}\n\nconst basename = (path, ext) => {\n let f = splitPath(path)[2]\n if (ext && f.substr(ext.length * -1) === ext) {\n f = f.substr(0, f.length - ext.length)\n }\n return f\n}\n\nconst getComponentName = (vm) => {\n if (!vm) {\n return ANONYMOUS_COMPONENT_NAME\n }\n\n if (vm.$root === vm) {\n return ROOT_COMPONENT_NAME\n }\n\n if (!vm.$options) {\n return ANONYMOUS_COMPONENT_NAME\n }\n\n if (vm.$options.name) {\n return vm.$options.name\n }\n\n if (vm.$options._componentTag) {\n return vm.$options._componentTag\n }\n\n // injected by vue-loader\n if (vm.$options.__file) {\n const unifiedFile = vm.$options.__file.replace(/^[a-zA-Z]:/, '').replace(/\\\\/g, '/')\n const filename = basename(unifiedFile, '.vue')\n return filename.replace(COMPONENT_NAME_REGEXP, (_, c) =>\n c ? c.toUpperCase() : '',\n )\n }\n\n return ANONYMOUS_COMPONENT_NAME\n}\n\nconst build = (to, from, prefix, depth, maxDepth, maxKeys) => {\n let c = 0\n for (let key in from) {\n c += 1\n if (c > maxKeys) {\n break\n }\n if (typeof from[key] == 'object') {\n if (maxDepth > depth) {\n build(to, from[key], prefix + '.' + key, depth + 1, maxDepth, maxKeys)\n }\n } else {\n to[prefix + '.' + key] = from[key]\n }\n }\n}\n\nconst setup = (Vue) => {\n const defaultErrorHandler = Vue.config.errorHandler\n\n Vue.config.errorHandler = (error, vm, info) => {\n if (window.Sentry) {\n const metadata = {}\n\n let obj = vm\n if (vm._original) {\n obj = vm._original\n }\n\n if (obj) {\n\n try {\n metadata.componentName = getComponentName(obj)\n build(metadata, JSON.parse(JSON.stringify(obj.$options.propsData)), 'props', 0, 2, 10)\n } catch (_oO) {\n console.log('Unable to extract metadata from Vue component.')\n }\n }\n\n if (info) {\n metadata.lifecycleHook = info\n }\n\n // Capture exception in the next event loop, to make sure that all breadcrumbs are recorded in time.\n setTimeout(() => {\n window.Sentry.getCurrentHub().withScope(scope => {\n scope.setContext('vue', metadata)\n window.Sentry.getCurrentHub().captureException(error)\n })\n })\n }\n\n if (typeof defaultErrorHandler === 'function') {\n defaultErrorHandler.call(Vue, error, vm, info)\n }\n\n if (Vue.util) {\n Vue.util.warn(`Error in ${info}: \"${error.toString()}\"`, vm)\n }\n console.error(error)\n }\n}\n\nexport default setup\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"wrapper\"},[_c('b-spinner')],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadingPlaceholder.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadingPlaceholder.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LoadingPlaceholder.vue?vue&type=template&id=26c9d5fe&scoped=true&\"\nimport script from \"./LoadingPlaceholder.vue?vue&type=script&lang=js&\"\nexport * from \"./LoadingPlaceholder.vue?vue&type=script&lang=js&\"\nimport style0 from \"./LoadingPlaceholder.vue?vue&type=style&index=0&id=26c9d5fe&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"26c9d5fe\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('svg',_vm._b({},'svg',_vm.$attrs,false),[_c('use',{attrs:{\"xlink:href\":_vm.syndicateAwareHref}})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n ","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SyndicateAwareSVG.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SyndicateAwareSVG.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SyndicateAwareSVG.vue?vue&type=template&id=a2f87050&\"\nimport script from \"./SyndicateAwareSVG.vue?vue&type=script&lang=js&\"\nexport * from \"./SyndicateAwareSVG.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export const syndicateTextConstant = {\n base:{\n brandName: 'Obico',\n docRoot: 'https://www.obico.io/docs',\n appRoot: 'https://app.obico.io',\n },\n yumi:{\n brandName: 'Yumi',\n docRoot: 'https://www.obico.io/docs',\n appRoot: 'https://app.obico.io',\n },\n mintion:{\n brandName: 'Mintion',\n docRoot: 'https://www.obico.io/docs',\n appRoot: 'https://app.obico.io',\n },\n kingroon:{\n brandName: 'Kingroon',\n docRoot: 'https://docs.kingroon.com/docs',\n appRoot: 'https://app.kingroon.com',\n },\n};\n","import Vue from 'vue'\nimport VueRouter from 'vue-router'\nimport VueSwal from '@src/lib/vue-swal'\nimport { BootstrapVue } from 'bootstrap-vue'\nimport Sticky from 'vue-sticky-directive'\nimport VueMoment from 'vue-moment'\nimport '@src/lib/filters'\nimport setupSentry from '@src/lib/sentry'\nimport { initTheme } from '@src/lib/color-scheme-controller'\nimport VuePluralize from 'vue-pluralize'\nimport OnoffToggle from 'vue-onoff-toggle'\nimport LoadScript from 'vue-plugin-load-script'\nimport LoadingPlaceholder from '@src/components/LoadingPlaceholder.vue'\nimport SyndicateAwareSVG from '@src/components/SyndicateAwareSVG.vue'\nimport moment from 'moment'\n\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'\nimport i18next from \"@src/i18n/i18n.js\";\nimport I18NextVue from \"i18next-vue\";\nimport {\n faStar,\n faFileCode,\n faCalendarDays,\n faChartPie,\n faMoneyCheckDollar,\n faCircleQuestion,\n faBell,\n faCog,\n faCirclePause,\n faCirclePlay,\n faCircleXmark,\n faPowerOff,\n faGear,\n faRotateRight,\n faLayerGroup,\n faChevronDown,\n faRulerVertical,\n faCheck\n} from '@fortawesome/free-solid-svg-icons'\nimport { faDiscord } from '@fortawesome/free-brands-svg-icons'\nimport { syndicate, language } from '@src/lib/page-context'\nimport { syndicateTextConstant } from '@src/config/syndicateText'\n\nVue.prototype.$syndicate = syndicate().name\nVue.prototype.$syndicateText = syndicateTextConstant[syndicate().name||'base'] || syndicateTextConstant.base\n\nexport default (router, components) => {\n initTheme()\n setupSentry(Vue)\n Vue.use(VueRouter)\n Vue.use(BootstrapVue)\n Vue.use(VueSwal)\n Vue.use(Sticky)\n Vue.use(VueMoment)\n Vue.use(VuePluralize)\n Vue.use(OnoffToggle)\n Vue.use(LoadScript)\n Vue.use(I18NextVue, { i18next });\n Vue.mixin({\n methods: {\n errorDialog: function (errorObj, userMessage) {\n console.error('logError', errorObj)\n if (userMessage) {\n this.$swal.Reject.fire({\n title: `${this.$i18next.t('Error')}`,\n html: `

\n ${userMessage}.\n ${this.$i18next.t(\"Get help from\")} ${this.$i18next.t(\"the {brandName} for Klipper support forum\",{brandName:this.$syndicateText.brandName})} ${this.$i18next.t(\"or\")} ${this.$i18next.t('the {brandName} general support forum',{brandName:this.$syndicateText.brandName})} ${this.$i18next.t(\"if this error persists.\")}\n

`,\n showConfirmButton: false,\n showCancelButton: true,\n cancelButtonText: 'Close',\n })\n }\n },\n getDocUrl(path) {\n return this.$syndicateText.docRoot + path;\n },\n getAppUrl(path) {\n if(path)\n return this.$syndicateText.appRoot + path;\n else\n return this.$syndicateText.appRoot;\n }\n },\n })\n\n Vue.component('LoadingPlaceholder', LoadingPlaceholder)\n Vue.component('SyndicateAwareSVG', SyndicateAwareSVG)\n\n library.add(\n faStar,\n faFileCode,\n faCalendarDays,\n faChartPie,\n faMoneyCheckDollar,\n faCircleQuestion,\n faBell,\n faCog,\n faDiscord,\n faRotateRight,\n faCirclePause,\n faCirclePlay,\n faCircleXmark,\n faPowerOff,\n faGear,\n faLayerGroup,\n faChevronDown,\n faRulerVertical,\n faCheck\n )\n Vue.component('FontAwesomeIcon', FontAwesomeIcon)\n\n if (document.getElementById('app')) {\n new Vue({\n router,\n components,\n }).$mount('#app')\n }\n\n // FIXME: make start of the week dynamic when/if it will be done in the backend\n moment.updateLocale('en', {\n week: {\n dow: 0, // Sunday is the first day of the week.\n },\n })\n}\n","import i18n from '@src/i18n/i18n.js'\n\nexport default {\n email: {\n displayName: `${i18n.t('Email')}`,\n componentName: 'EmailPlugin',\n },\n twilio: {\n displayName: `${i18n.t('SMS')}`,\n componentName: 'TwilioPlugin',\n },\n pushbullet: {\n displayName: `${i18n.t('Pushbullet')}`,\n componentName: 'PushbulletPlugin',\n },\n discord: {\n displayName: `${i18n.t('Discord')}`,\n componentName: 'DiscordPlugin',\n },\n telegram: {\n displayName: `${i18n.t('Telegram')}`,\n componentName: 'TelegramPlugin',\n },\n pushover: {\n displayName: `${i18n.t('Pushover')}`,\n componentName: 'PushoverPlugin',\n },\n slack: {\n displayName: `${i18n.t('Slack')}`,\n componentName: 'SlackPlugin',\n },\n webhook: {\n displayName: `${i18n.t('Webhook')}`,\n componentName: 'WebhookPlugin',\n },\n}\n","import notificationPlugins from '@src/notifications/plugins'\n\nconst defaultRoutes = {\n GeneralPreferences: '/user_preferences/general/',\n ThemePreferences: '/user_preferences/personalization/',\n ProfilePreferences: '/user_preferences/profile/',\n AuthorizedApps: '/user_preferences/authorized_apps/',\n GeneralNotifications: '/user_preferences/general_notifications/',\n PushNotifications: '/user_preferences/mobile_push_notifications/',\n}\n\nconst notificationRoutes = Object.keys(notificationPlugins).reduce((obj, name) => {\n return Object.assign(obj, { [name]: `/user_preferences/notification_${name}/` })\n}, {})\n\nexport default {\n ...defaultRoutes,\n ...notificationRoutes,\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('b-container',[_c('b-row',{staticClass:\"justify-content-center\"},[(_vm.user)?_c('b-col',{staticClass:\"mt-3\",attrs:{\"lg\":\"8\"}},[(_vm.printersToShow.length === 0)?_c('div',{staticClass:\"wizard-container full-on-mobile\"},[_c('b-container',[_c('b-row',[_c('div',{staticClass:\"col-sm-12 col-md-8 offset-md-2 col-lg-6 offset-lg-3\"},[_c('svg',{staticClass:\"logo-img\",attrs:{\"viewBox\":\"0 0 1965 240\"}},[_c('use',{attrs:{\"href\":\"#svg-logo-compact\"}})])])]),_c('b-row',[_c('h1',{staticClass:\"mx-auto\"},[_vm._v(_vm._s(_vm.$t(\"Welcome To\"))+\" \"+_vm._s(_vm.$syndicateText.brandName))])]),_c('b-row',[_c('b-col',[_c('hr')])],1),(_vm.isEnt && _vm.trialDaysLeft > 0)?_c('b-row',[_c('b-col',[(_vm.trialDaysLeft >= 29)?_c('h3',{staticClass:\"py-3\"},[_c('i18next',{attrs:{\"translation\":_vm.$t('Your 30-Day {localizedDom} Free Trial Has Started!')},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('a',{staticClass:\"link\",attrs:{\"target\":\"_blank\",\"href\":_vm.getDocUrl('/user-guides/upgrade-to-pro/')}},[_vm._v(_vm._s(_vm.$t(\"Pro Plan\")))])]},proxy:true}],null,false,2641834975)})],1):_c('h3',{staticClass:\"py-3\"},[_c('i18next',{attrs:{\"translation\":_vm.$t('{trialDaysLeft} Days Left on Your {localizedDom} Free Trial!')},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('a',{staticClass:\"link\",attrs:{\"target\":\"_blank\",\"href\":_vm.getDocUrl('/user-guides/upgrade-to-pro/')}},[_vm._v(_vm._s(_vm.$t(\"Pro Plan\"))+\" \")])]},proxy:true},{key:\"trialDaysLeft\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.trialDaysLeft)+\" \")]},proxy:true}],null,false,1171636685)})],1),_c('div',{staticClass:\"pb-1\"},[_c('i',{staticClass:\"feature-check fas fa-check-circle\"}),_c('span',{staticClass:\"feature-text\"},[_vm._v(_vm._s(_vm.$t('Unlimited Secure Tunnel to your {platformDisplayName}',{platformDisplayName: _vm.platformDisplayName})))])]),_c('div',{staticClass:\"pb-1\"},[_c('i',{staticClass:\"feature-check fas fa-check-circle\"}),_c('span',{staticClass:\"feature-text\"},[_vm._v(_vm._s(_vm.$t(\"Premium 25 FPS Webcam Streaming\")))])]),_c('div',{staticClass:\"pb-1\"},[_c('i',{staticClass:\"feature-check fas fa-check-circle\"}),_c('span',{staticClass:\"feature-text\"},[_vm._v(_vm._s(_vm.$t(\"250 AI Failure Detection Hours\")))])]),_c('div',{staticClass:\"pb-1\"},[_c('i',{staticClass:\"feature-check fas fa-check-circle\"}),_c('span',{staticClass:\"feature-text\"},[_vm._v(_vm._s(_vm.$t(\"G-Code Remote Upload and Printing\")))])]),_c('div',{staticClass:\"lead py-4\"},[_vm._v(_vm._s(_vm.$t(\"{platformDisplayName} has not been linked to your {brandName} account.\",{platformDisplayName: _vm.platformDisplayName,brandName:_vm.$syndicateText.brandName})))]),_c('div',{staticClass:\"d-flex flex-column align-center justify-content-center\"},[_c('div',[_c('a',{staticClass:\"btn btn-primary btn-block mx-auto btn-lg\",attrs:{\"href\":_vm.wizardUrl}},[_vm._v(_vm._s(_vm.$t(\"Link {platformDisplayName} Now\",{platformDisplayName: _vm.platformDisplayName})))])]),_c('div',[_c('div',{staticClass:\"text-muted mx-auto text-center font-weight-light\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"It's as easy as 1-2-3.\"))+\" \")])])])])],1):_vm._e(),_c('div',{staticClass:\"footer-note small\"},[_c('i18next',{attrs:{\"translation\":_vm.$t('Not ready to start yet? {localizedDom} to pause your free trial.')},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('a',{attrs:{\"href\":\"mailto:support@obico.io?subject=Please%20pause%20my%20free%20trial\"}},[_vm._v(_vm._s(_vm.$t(\"Email us\")))])]},proxy:true}],null,false,51292438)})],1)],1)],1):_c('div',[_c('div',{staticClass:\"text-center\"},[_c('svg',{attrs:{\"width\":\"100\",\"height\":\"30\"}},[_c('use',{attrs:{\"href\":\"#svg-logo-full\"}})])]),(_vm.authorized)?_c('div',{staticClass:\"authorization-successful\"},[_c('h4',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Authorization Successful!\")))]),_c('p',[_vm._v(_vm._s(_vm.$t(\"You can close this page\")))])]):_c('div',[_c('div',[_c('div',{staticClass:\"lead text-center mt-3 mb-5\"},[_vm._v(_vm._s(_vm.$t(\"Tunnel Access Authorization\")))]),_c('h4',{staticClass:\"my-4\"},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(_vm.appDisplayName))]),_vm._v(\" \"+_vm._s(_vm.$t('is requesting to access you {platformDisplayName} Tunnel.',{platformDisplayName: _vm.platformDisplayName}))+\" \")]),_c('p',{staticClass:\"text-muted\"},[_c('a',{attrs:{\"href\":_vm.getDocUrl('/user-guides/octoprint-tunneling/'),\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.platformDisplayName)+\" \"+_vm._s(_vm.$t(\"Tunnel\")))]),_c('i18next',{attrs:{\"translation\":_vm.$t('is a secure way provided by {localizedDom} to remotely access your {platformDisplayName}. With the {platformDisplayName} Tunnel, you can use {appDisplayName} to access your {platformDisplayName} from anywhere.')},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('a',{attrs:{\"href\":\"https://www.obico.io/\",\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$syndicateText.brandName))])]},proxy:true},{key:\"platformDisplayName\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.platformDisplayName)+\" \")]},proxy:true},{key:\"appDisplayName\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.appDisplayName)+\" \")]},proxy:true}],null,false,145365998)})],1),(!_vm.user.is_pro)?_c('b-alert',{staticClass:\"my-3\",attrs:{\"variant\":\"warning\",\"dismissible\":\"\",\"show\":\"\"}},[_c('div',[_c('i',{staticClass:\"fas fa-exclamation-triangle\"}),_c('i18next',{attrs:{\"translation\":_vm.$t('Tunnel usage of a free account is {localizedDom} to enjoy unlimited tunnel usage.')},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('a',{attrs:{\"href\":_vm.getDocUrl('/user-guides/octoprint-tunneling/#why-is-the-limit-on-free-account-only-100mb'),\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t(\"capped at 300MB per month\")))]),_vm._v(\". \"+_vm._s(_vm.$t(\"You can\"))+\" \"),_c('a',{attrs:{\"href\":_vm.getAppUrl('/ent_pub/pricing/'),\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t(\"upgrade to the {brandName} app Pro plan for 1 Starbucks a month\",{brandName:_vm.$syndicateText.brandName})))])]},proxy:true}],null,false,2385482320)})],1)]):_vm._e(),(_vm.user.is_pro && _vm.trialDaysLeft > 0)?_c('b-alert',{staticClass:\"my-3\",attrs:{\"variant\":\"warning\",\"dismissible\":\"\",\"show\":\"\"}},[_c('div',[_c('i',{staticClass:\"fas fa-exclamation-triangle\"}),_c('i18next',{attrs:{\"translation\":_vm.$t('After the Free trial expires, tunnel data usage will be {localizedDom} to continue enjoying unlimited tunnel usage.')},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('a',{attrs:{\"href\":_vm.getDocUrl('/user-guides/octoprint-tunneling/#why-is-the-limit-on-free-account-only-100mb'),\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t(\"capped at 300MB per month\")))]),_vm._v(\". \"+_vm._s(_vm.$t(\"You can\"))+\" \"),_c('a',{attrs:{\"href\":_vm.getAppUrl('/ent_pub/pricing/'),\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t(\"upgrade to the {brandName} app Pro plan for 1 Starbucks a month\",{brandName:_vm.$syndicateText.brandName})))])]},proxy:true}],null,false,2385482320)})],1)]):_vm._e(),_c('div',{staticClass:\"mt-5\"},[_c('p',{staticClass:\"lead\"},[_c('i18next',{attrs:{\"translation\":_vm.$t('Tunnel access by {localizedDom} (make sure you trust it)')},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(_vm.appDisplayName))])]},proxy:true}],null,false,460061086)})],1),(_vm.printersToShow.length === 0)?_c('h5',[_vm._v(_vm._s(_vm.$t(\"You have 0 active printers\")))]):(_vm.printersToShow.length === 1)?_c('h5',{staticClass:\"font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.printersToShow[0].name)+\" \")]):(_vm.printersToShow.length > 1)?_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.printerToAuthorize),expression:\"printerToAuthorize\"}],staticClass:\"custom-select\",on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.printerToAuthorize=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{attrs:{\"selected\":\"\",\"disabled\":\"\"},domProps:{\"value\":null}},[_vm._v(_vm._s(_vm.$t(\"Please select a printer\")))]),_vm._l((_vm.printersToShow),function(printer){return _c('option',{key:printer.id,domProps:{\"value\":printer.id}},[_vm._v(\" \"+_vm._s(printer.name)+\" \")])})],2):_vm._e(),(_vm.printersToShow.length)?_c('div',{staticClass:\"d-flex mt-4 mb-3\"},[_c('button',{staticClass:\"btn btn-primary\",staticStyle:{\"flex\":\"1\"},attrs:{\"disabled\":!_vm.printerToAuthorize || _vm.performingAuthRequest},on:{\"click\":_vm.authorize}},[(_vm.performingAuthRequest)?_c('b-spinner',{attrs:{\"small\":\"\",\"label\":\"Loading...\"}}):_c('span',[_vm._v(_vm._s(_vm.$t(\"Authorize\")))])],1),_c('a',{staticClass:\"btn btn-outline-secondary ml-2\",staticStyle:{\"flex\":\"1\"},attrs:{\"href\":\"/user_preferences/authorized_apps\"}},[_vm._v(_vm._s(_vm.$t(\"Manage Apps\")))])]):_vm._e()])],1),_c('div',{staticClass:\"mt-4\"},[_c('p',{staticClass:\"text-muted small mb-1\"},[_vm._v(_vm._s(_vm.$t(\"Security notes\"))+\":\")]),_c('ul',{staticClass:\"text-muted small pl-4\"},[_c('li',[_vm._v(\" \"+_vm._s(_vm.$t(\"The app can only access the tunnel, not your {brandName} account info such as your email address.\",{brandName:_vm.$syndicateText.brandName}))+\" \")]),_c('li',[_vm._v(\" \"+_vm._s(_vm.$t(\"The access remains valid until explicitly revoked. You can revoke the access by going to Preferences -> Authorized Apps.\"))+\" \")])])])])]),_c('div',{staticClass:\"text-center pt-3 w-100\"},[_c('a',{staticClass:\"btn btn-secondary\",attrs:{\"href\":_vm.logoutUrl}},[_vm._v(_vm._s(_vm.$t(\"Log Out\")))])])]):_c('b-col',{staticClass:\"mt-5\"},[_c('div',[_c('b-container',[_c('div',{staticClass:\"d-flex justify-content-center align-items-center\"},[_c('img',{staticClass:\"logo-icon\",attrs:{\"src\":_vm.appLogo}}),_c('h3',[_vm._v(\"⇄\")]),_c('svg',{staticClass:\"logo-icon obico\"},[_c('use',{attrs:{\"href\":\"#svg-logo-compact\"}})]),_c('h3',[_vm._v(\"⇄\")]),_c('img',{staticClass:\"logo-icon\",attrs:{\"src\":_vm.platformLogo}})]),_c('div',{staticClass:\"my-4\"},[_c('div',{staticClass:\"mx-auto text-center\"},[_c('h4',[_vm._v(_vm._s(_vm.$t(\"Free {platformDisplayName} Tunnel\",{platformDisplayName: _vm.platformDisplayName})))]),_c('div',{staticClass:\"lead\"},[_vm._v(_vm._s(_vm.$t(\"Powered by {brandName}\",{brandName:_vm.$syndicateText.brandName})))])])]),_c('div',{staticClass:\"account-details\"},[_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"With the Free {platformDisplayName} Tunnel by {brandName}, you can now use {appDisplayName} to\",{platformDisplayName: _vm.platformDisplayName,brandName:_vm.$syndicateText.brandName,appDisplayName: _vm.appDisplayName}))+\" \"),_c('a',{attrs:{\"href\":_vm.getDocUrl('/user-guides/octoprint-tunneling/#why-is-the-limit-on-free-account-only-100mb'),\"target\":\"_blank\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"securely control and monitor your printer from anywhere\")))])]),_c('ul',{staticClass:\"text-muted\"},[_c('li',[_vm._v(_vm._s(_vm.$t(\"Unlimited realtime webcam at 0.1FPS.\")))]),_c('li',[_vm._v(_vm._s(_vm.$t(\"300MB monthly tunnel data cap (excluding webcam streaming).\")))]),_c('li',[_vm._v(_vm._s(_vm.$t(\"10 hours/mo AI failure detection.\")))])]),_c('div',[_vm._v(\" 🔥🔥🔥 \"),_c('i18next',{attrs:{\"translation\":_vm.$t('Upgrade to {brandName} Pro Account ({localizedDom}) to get premium features')},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('a',{attrs:{\"href\":_vm.getAppUrl('/ent_pub/pricing/'),\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t(\"from $4/mo\")))])]},proxy:true},{key:\"brandName\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$syndicateText.brandName)+\" \")]},proxy:true}])})],1),_c('ul',[_c('li',[_vm._v(\"📷\"+_vm._s(_vm.$t(\"Unlimited realtime webcam streaming.\")))]),_c('li',[_vm._v(\"📶 \"+_vm._s(_vm.$t(\"Unlimited tunnel data usage.\")))]),_c('li',[_vm._v(\"🤖 \"+_vm._s(_vm.$t(\"50 hours/mo AI failure detection.\")))]),_c('li',[_c('a',{attrs:{\"href\":_vm.getAppUrl('/ent_pub/pricing/'),\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t(\"And much more...\")))])])])]),_c('div',[_c('div',{staticClass:\"my-5 w-100\"},[_c('a',{staticClass:\"btn btn-primary btn-block\",attrs:{\"href\":_vm.loginUrl}},[_vm._v(_vm._s(_vm.$t(\"SIGN IN \")))]),_c('div',{staticClass:\"text-center pt-3 w-100\"},[_c('div',{staticClass:\"font-weight-light text-muted\"},[_vm._v(_vm._s(_vm.$t(\"- OR -\")))]),_c('a',{staticClass:\"btn\",attrs:{\"href\":_vm.signupUrl}},[_vm._v(_vm._s(_vm.$t(\"SIGN UP\")))])])])])])],1)])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import moment from 'moment'\n\nexport const humanizedDuration = (durationInSeconds) => {\n const seconds = Math.round(durationInSeconds || 0)\n const components = getDurationComponents(seconds)\n\n if (components.days !== 0) {\n const hoursRounded = components.hours + Math.round(components.minutes / 60)\n if (hoursRounded === 24) {\n return `${components.days + 1}d ${0}h`\n } else {\n return `${components.days}d ${hoursRounded}h`\n }\n } else if (components.hours !== 0) {\n if (components.minutes === 60) {\n const hoursRounded = components.hours + 1\n if (hoursRounded === 24) {\n return `${1}d ${0}h`\n } else {\n return `${components.hours + 1}h ${0}m`\n }\n } else {\n return `${components.hours}h ${components.minutes}m`\n }\n } else {\n return `${components.minutes}m`\n }\n}\n\nexport const getDurationComponents = (durationInSeconds) => {\n const duration = moment.duration(durationInSeconds || 0, 'seconds')\n const days = Math.floor(duration.asDays())\n const hours = duration.hours()\n const minutes = duration.minutes() + Math.round(duration.seconds() / 60)\n return {\n days,\n hours,\n minutes,\n }\n}\n\nexport const humanizedFilamentUsage = (millimeters) => {\n const meters = (millimeters || 0) / 1000\n const twoDecimal = Math.round(meters * 100) / 100\n return `${twoDecimal}m`\n}\n\nexport const timeFromNow = (duration, timeFormat = 'MMM D, h:mm a') => {\n if (!duration) {\n return '-'\n }\n let date = new Date()\n let newDate = new Date(date.setSeconds(date.getSeconds() + duration))\n return moment(newDate).format(timeFormat)\n}\n","import * as formatters from '@src/lib/formatters'\nimport i18n from '@src/i18n/i18n.js'\n\nexport const gcodeMetadata = [\n {\n name: 'estimated_time',\n faIcon: 'fas fa-clock',\n title: `${i18n.t('Print duration estimate')}`,\n formatter: formatters.humanizedDuration,\n },\n {\n name: 'filament_total',\n faIcon: 'fas fa-ruler-horizontal',\n title: `${i18n.t('Filament usage estimate')}`,\n formatter: formatters.humanizedFilamentUsage,\n },\n {\n name: 'first_layer_bed_temp',\n svgIcon: 'bed-temp',\n title: `${i18n.t('First layer bed temperature')}`,\n formatter: (v) => `${v}°C`,\n },\n {\n name: 'first_layer_extr_temp',\n svgIcon: 'extruder',\n title: `${i18n.t('First layer extruder temperature')}`,\n formatter: (v) => `${v}°C`,\n },\n {\n name: 'first_layer_height',\n faIcon: 'fas fa-layer-group',\n title: `${i18n.t('First layer height')}`,\n formatter: (v) => `${v}mm`,\n },\n {\n name: 'layer_height',\n faIcon: 'fas fa-layer-group',\n title: `${i18n.t('Layer height')}`,\n formatter: (v) => `${v}mm`,\n },\n {\n name: 'object_height',\n faIcon: 'fas fa-ruler-vertical',\n title: `${i18n.t('Object height')}`,\n formatter: (v) => `${Math.round(v)}mm`,\n },\n {\n name: 'filament_type',\n svgIcon: 'filament',\n title: `${i18n.t('Filament type')}`,\n formatter: (v) => v,\n },\n {\n name: 'filament_name',\n svgIcon: 'filament',\n title: `${i18n.t('Filament name')}`,\n formatter: (v) => v,\n },\n {\n name: 'slicer',\n svgIcon: 'slicer-program',\n title: `${i18n.t('Slicer')}`,\n formatter: (v) => v,\n },\n {\n name: 'slicer_version',\n svgIcon: 'slicer-version',\n title: `${i18n.t('Slicer version')}`,\n formatter: (v) => v,\n },\n]\n","import Vue from 'vue'\nimport { isLocalStorageSupported } from '@static/js/utils'\nimport i18n from '@src/i18n/i18n.js'\n\nconst TRANSIENT_STATES = {\n 'G-Code Downloading': {\n fromStates: ['Operational'],\n },\n Starting: {\n fromStates: ['Operational'],\n },\n Pausing: {\n fromStates: ['Printing'],\n },\n Resuming: {\n fromStates: ['Paused'],\n },\n Cancelling: {\n fromStates: ['Printing', 'Paused'],\n },\n}\n\nexport const setPrinterTransientState = (printer, transientStateName) => {\n const printerId = printer.id\n if (!isLocalStorageSupported()) return\n const prefix = `printer-${printerId}-state-transitioning`\n localStorage.setItem(`${prefix}-name`, transientStateName)\n\n const currentTime = new Date()\n // Agents in older versions didn't have all transient states implemented. So we make it more forgiving even if it increases the chance for app to be stuck in a transient state.\n const timeOutInSeconds = printer.isAgentVersionGte('2.3.7', '1.4.2') ? 15 : 5 * 60\n const timeout = new Date(currentTime.getTime() + timeOutInSeconds * 1000)\n localStorage.setItem(`${prefix}-timeout`, timeout)\n}\n\nexport const getPrinterCalculatedState = (printer, underlinedState) => {\n const printerId = printer.id\n\n if (!isLocalStorageSupported()) return underlinedState\n\n if (!underlinedState) {\n // Printer is offline or disconnected, clear transient state if any\n clearPrinterTransientState(printerId)\n return null\n }\n\n const prefix = `printer-${printerId}-state-transitioning`\n const persistedTransientState = localStorage.getItem(`${prefix}-name`)\n const timeout = localStorage.getItem(`${prefix}-timeout`)\n const fromStates = TRANSIENT_STATES[persistedTransientState]?.fromStates\n\n let calculatedState = underlinedState\n if (persistedTransientState && timeout && fromStates) {\n if (fromStates.includes(underlinedState)) {\n if (new Date() > new Date(timeout)) {\n clearPrinterTransientState(printerId)\n showTimeoutError(printer, persistedTransientState, underlinedState)\n } else {\n // underlinedState is still the previous state. Transition not finished\n calculatedState = persistedTransientState\n }\n } else {\n clearPrinterTransientState(printerId)\n }\n }\n\n return calculatedState\n}\n\nexport const clearPrinterTransientState = (printerId) => {\n if (!isLocalStorageSupported()) return\n localStorage.removeItem('printer-' + printerId + '-state-transitioning-name')\n localStorage.removeItem('printer-' + printerId + '-state-transitioning-timeout')\n}\n\nexport const showTimeoutError = (printer, localTransientState, newPrinterState) => {\n window.Sentry?.captureMessage(\n `Transient state timeout: \"${localTransientState}\" -> \"${newPrinterState}\" (printer ID: ${printer.id})`\n )\n\n Vue.swal\n .fire({\n icon: 'error',\n title: `${i18n.t('Printer not responding')}`,\n html: `${i18n.t(\"The printer doesn't seem to be responding. Is it powered on and connected to the Internet? Please\")} ${i18n.t(\"report the problem to us\")} ${i18n.t(\"if this error repeats multiple times.\")}`,\n })\n .then(() => {\n window.location.reload()\n })\n}\n","import moment from 'moment'\nimport get from 'lodash/get'\nimport filesize from 'filesize'\nimport semverGte from 'semver/functions/gte'\nimport { humanizedDuration } from '@src/lib/formatters'\nimport { gcodeMetadata } from '@src/components/g-codes/gcode-metadata'\nimport {\n setPrinterTransientState,\n getPrinterCalculatedState,\n} from '@src/lib/printer-transient-state'\n\nexport const toMomentOrNull = (datetimeStr) => {\n if (!datetimeStr) {\n return null\n }\n return moment(datetimeStr)\n}\n\nexport const PrintStatus = {\n Printing: { key: 'printing', title: 'Printing...', isActive: true },\n Paused: { key: 'paused', title: 'Paused', isActive: true },\n Finished: { key: 'finished', title: 'Finished', isActive: false },\n Cancelled: { key: 'cancelled', title: 'Cancelled', isActive: false },\n}\n\n// ––––––––––––––––––––––\n\nexport const normalizedPrint = (print) => {\n print.started_at = toMomentOrNull(print.started_at)\n print.uploaded_at = toMomentOrNull(print.uploaded_at)\n print.finished_at = toMomentOrNull(print.finished_at)\n print.cancelled_at = toMomentOrNull(print.cancelled_at)\n print.ended_at = toMomentOrNull(print.ended_at)\n if (print.ended_at) {\n const duration = moment.duration(print.ended_at.diff(print.started_at))\n print.duration = humanizedDuration(duration.asSeconds())\n }\n print.has_alerts = Boolean(print.alerted_at)\n print.printShotFeedbackEligible =\n print.printshotfeedback_set && print.printshotfeedback_set.length > 0\n print.status = print.ended_at\n ? print.cancelled_at\n ? PrintStatus.Cancelled\n : PrintStatus.Finished\n : print.paused_at\n ? PrintStatus.Paused\n : PrintStatus.Printing\n if (print.printer) {\n print.printer = normalizedPrinter(print.printer)\n }\n if (print.g_code_file) {\n print.g_code_file = normalizedGcode(print.g_code_file)\n }\n return print\n}\n\nexport const normalizedGcode = (gcode) => {\n if (!gcode) {\n return\n }\n\n gcode.created_at = toMomentOrNull(gcode.created_at)\n gcode.updated_at = toMomentOrNull(gcode.updated_at)\n gcode.deleted = toMomentOrNull(gcode.deleted)\n gcode.filesize = filesize(gcode.num_bytes)\n\n if (gcode.print_set) {\n gcode.print_set.map((p) => normalizedPrint(p))\n gcode.print_set.sort((a, b) => {\n if (!a.ended_at && !b.ended_at) {\n // if both in progress, sort by started_at\n if (a.started_at > b.started_at) {\n return -1\n } else if (a.started_at < b.started_at) {\n return 1\n } else {\n return 0\n }\n } else if (!a.ended_at) {\n return -1\n } else if (!b.ended_at) {\n return 1\n } else {\n if (a.ended_at > b.ended_at) {\n return -1\n } else if (a.ended_at < b.ended_at) {\n return 1\n } else {\n return 0\n }\n }\n })\n gcode.last_print = gcode.print_set[0]\n\n gcode.failedPrints = gcode.print_set.filter((p) => p.cancelled_at).length\n gcode.successPrints = gcode.print_set.filter((p) => p.finished_at).length\n gcode.totalPrints = gcode.print_set.length\n }\n\n // Normalize metadata\n gcode.metadata = {}\n\n if (gcode.metadata_json) {\n // obico file with metadata\n gcode.metadata = JSON.parse(gcode.metadata_json)\n } else if (gcode.analysis) {\n // octoprint file\n gcode.metadata.object_height = gcode.analysis.dimensions?.height\n gcode.metadata.estimated_time = gcode.analysis.estimatedPrintTime\n\n let filament_total\n if (gcode.analysis.filament) {\n const tools = Object.keys(gcode.analysis.filament)\n if (tools.length) {\n filament_total = 0\n tools.forEach((key) => {\n filament_total += gcode.analysis.filament[key].length\n })\n }\n }\n gcode.metadata.filament_total = filament_total\n } else {\n // either obico file without metadata or klipper file\n gcodeMetadata.forEach((v) => {\n if (gcode[v.name]) {\n gcode.metadata[v.name] = gcode[v.name]\n }\n })\n }\n\n // leave only non-null metadata\n Object.keys(gcode.metadata).forEach((key) => {\n if (gcode.metadata[key] === null || gcode.metadata[key] === undefined) {\n delete gcode.metadata[key]\n }\n })\n\n // Normalize thumbnail\n gcode.getBigThumbnailUrl = () => {\n return gcode.thumbnail1_url || gcode.thumbnail2_url || gcode.thumbnail3_url\n }\n gcode.getSmallThumbnailUrl = () => {\n return gcode.thumbnail3_url || gcode.thumbnail2_url || gcode.thumbnail1_url\n }\n\n return gcode\n}\n\nexport const normalizedGcodeFolder = (folder) => {\n folder.created_at = toMomentOrNull(folder.created_at)\n folder.updated_at = toMomentOrNull(folder.updated_at)\n folder.numItems = folder.g_code_file_count + folder.g_code_folder_count\n return folder\n}\n\nexport const normalizedPrinter = (newData, oldData) => {\n const printerMixin = {\n createdAt: function () {\n return toMomentOrNull(this.created_at)\n },\n progressCompletion: function () {\n return get(this, 'status.progress.completion', 0)\n },\n isOffline: function () {\n return get(this, 'status', null) === null\n },\n isPaused: function () {\n return get(this, 'status.state.flags.paused', false)\n },\n isDisconnected: function () {\n return get(this, 'status.state.flags.closedOrError', true)\n },\n isActive: function () {\n const flags = get(this, 'status.state.flags')\n // https://discord.com/channels/704958479194128507/705047010641838211/1013193281280159875\n return (\n Boolean(flags && flags.operational && (!flags.ready || flags.paused)) ||\n this.inTransientState()\n )\n },\n inTransientState: function () {\n const calculatedState = this.calculatedState()\n // Backward compatibility with OctoPrint-Obico 2.3.7 - 2.3.9\n if (calculatedState === 'Downloading G-Code') {\n return true\n }\n\n return calculatedState && calculatedState.endsWith('ing') && calculatedState !== 'Printing'\n },\n calculatedState: function () {\n return getPrinterCalculatedState(this, this.status?.state?.text)\n },\n calculatedStateColor: function () {\n const calcState = this.calculatedState()\n const colorMapping = {\n secondary: ['Offline', undefined, null],\n success: ['Operational'],\n neutral: ['Printing', 'G-Code Downloading', 'Downloading G-Code', 'Starting'],\n warning: ['Paused', 'Pausing', 'Resuming'],\n danger: ['Cancelling'],\n }\n\n for (const [color, states] of Object.entries(colorMapping)) {\n if (states.includes(calcState)) {\n return color\n }\n }\n return 'neutral' // fallback\n },\n setTransientState: function (stateText) {\n setPrinterTransientState(this, stateText)\n if (this.status) this.status = { ...this.status } // clone status to trigger immidiate UI update\n },\n inUserInteractionRequired: function () {\n return get(this, 'status.user_interaction_required', false)\n },\n hasError: function () {\n return (\n get(this, 'status.state.flags.error') ||\n get(this, 'status.state.text', '').toLowerCase().includes('error')\n )\n },\n isAgentMoonraker: function () {\n return get(this, 'agent_name', '') === 'moonraker_obico'\n },\n agentDisplayName: function () {\n return this.isAgentMoonraker() ? 'Klipper' : 'OctoPrint'\n },\n isAgentVersionGte: function (minOctoPrintAgentVersion, minMoonrakerAgentVersion) {\n return (\n (get(this, 'settings.agent_name', '') === 'octoprint_obico' &&\n semverGte(get(this, 'settings.agent_version', '0.0.0'), minOctoPrintAgentVersion)) ||\n (get(this, 'settings.agent_name', '') === 'moonraker_obico' &&\n semverGte(get(this, 'settings.agent_version', '0.0.0'), minMoonrakerAgentVersion))\n )\n },\n alertUnacknowledged: function () {\n return (\n get(this, 'current_print.alerted_at') &&\n moment(get(this, 'current_print.alerted_at')).isAfter(\n moment(get(this, 'current_print.alert_acknowledged_at') || 0)\n )\n )\n },\n // Printing availability\n isPrintable: function () {\n return !this.isOffline() && !this.isDisconnected() && !this.isActive() && !this.archived_at\n },\n printabilityText: function () {\n return this.isPrintable() ? 'Ready' : 'Unavailable'\n },\n }\n if (oldData) {\n if (\n get(oldData, 'status._ts', -1) > get(newData, 'status._ts', get(oldData, 'status._ts', 0))\n ) {\n delete newData.status\n }\n return {\n ...oldData,\n ...newData,\n ...printerMixin,\n }\n } else {\n return {\n ...newData,\n ...printerMixin,\n }\n }\n}\n\nexport const normalizedPrinterEvent = (printerEvent) => {\n printerEvent.created_at = toMomentOrNull(printerEvent.created_at)\n return printerEvent\n}\n","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewOctoPrintTunnelPage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewOctoPrintTunnelPage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./NewOctoPrintTunnelPage.vue?vue&type=template&id=0e2f9398&scoped=true&\"\nimport script from \"./NewOctoPrintTunnelPage.vue?vue&type=script&lang=js&\"\nexport * from \"./NewOctoPrintTunnelPage.vue?vue&type=script&lang=js&\"\nimport style0 from \"./NewOctoPrintTunnelPage.vue?vue&type=style&index=0&id=0e2f9398&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0e2f9398\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[(!_vm.isPro && _vm.usageFetched)?_c('div',{staticClass:\"floating-panel\"},[(_vm.showDetails)?_c('div',{on:{\"click\":function($event){_vm.showDetails = false},\"mouseover\":function($event){_vm.showDetails = true},\"mouseleave\":function($event){_vm.showDetails = false}}},[_c('div',{staticClass:\"text-muted\"},[_c('i18next',{attrs:{\"translation\":_vm.$t('Monthly data usage ({localizedDom})')},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('a',{attrs:{\"href\":_vm.getDocUrl('/user-guides/octoprint-tunneling/#is-octoprint-tunneling-free-to-all-users'),\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t(\"Resets in {daysUntilReset} days\",{daysUntilReset: _vm.daysUntilReset})))])]},proxy:true}],null,false,1207903965)})],1),_c('div',{class:_vm.usageClass},[_vm._v(_vm._s(_vm.$t(\"Used {usageMTD} of {humanizedUsageCap}.\",{usageMTD: _vm.usageMTD,humanizedUsageCap: _vm.humanizedUsageCap})))]),(_vm.overage)?_c('div',[_vm._v(\" \"+_vm._s(_vm.$t(\"Your month-to-date tunnel data usage is over the Free plan limit.\"))+\" \"),_c('a',{staticClass:\"btn btn-sm btn-primary\",attrs:{\"type\":\"button\",\"href\":\"/ent_pub/pricing/\"}},[_vm._v(_vm._s(_vm.$t(\"Get Unlimited Tunnel Data\")))])]):_vm._e()]):_c('div',{class:_vm.usageClass,on:{\"click\":function($event){_vm.showDetails = true},\"mouseover\":function($event){_vm.showDetails = true},\"mouseleave\":function($event){_vm.showDetails = false}}},[_vm._v(\" \"+_vm._s(_vm.percentage)+\"% \")])]):_vm._e(),_c('div',[(_vm.printerId)?_c('iframe',{staticClass:\"tunnel-iframe\",attrs:{\"src\":_vm.iframeUrl() + '#temp'}}):_vm._e()])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OctoPrintTunnelPage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OctoPrintTunnelPage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./OctoPrintTunnelPage.vue?vue&type=template&id=36042095&scoped=true&\"\nimport script from \"./OctoPrintTunnelPage.vue?vue&type=script&lang=js&\"\nexport * from \"./OctoPrintTunnelPage.vue?vue&type=script&lang=js&\"\nimport style0 from \"./OctoPrintTunnelPage.vue?vue&type=style&index=0&id=36042095&prod&lang=sass&scoped=true&\"\nimport style1 from \"./OctoPrintTunnelPage.vue?vue&type=style&index=1&id=36042095&prod&lang=sass&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"36042095\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('page-layout',{scopedSlots:_vm._u([{key:\"content\",fn:function(){return [_c('b-container',{staticClass:\"feedback-container\"},[_c('b-row',{staticClass:\"justify-content-center\"},[_c('b-col',{attrs:{\"lg\":\"8\"}},[_c('div',{staticClass:\"card\"},[_c('h5',{staticClass:\"card-header text-center\"},[_vm._v(\" F \"),_c('i',{staticClass:\"fas fa-search focused-feedback-icon\"}),_vm._v(_vm._s(_vm.$t(\"CUSED FEEDBACK\"))+\" \")]),_c('loading',{attrs:{\"active\":_vm.print === null,\"is-full-page\":true}}),(_vm.print !== null)?_c('div',[(!_vm.print.access_consented_at)?_c('focused-feedback-consent',{attrs:{\"print\":_vm.print},on:{\"continue-btn-pressed\":_vm.consentBtnPressed}}):_c('div',[_c('div',[_c('vue-slick-carousel',{ref:\"carousel\",attrs:{\"arrows\":false,\"dots\":true},on:{\"afterChange\":_vm.onNextShot},scopedSlots:_vm._u([{key:\"customPaging\",fn:function(page){return [_c('div',{class:_vm.pageClass(page)},[_vm._v(\"•\")])]}}],null,false,3226812120)},_vm._l((_vm.shots),function(shot,i){return _c('print-shot-card',{key:i,attrs:{\"shot\":shot},on:{\"shotChanged\":_vm.onShotChanged,\"prev\":_vm.onPrev,\"next\":_vm.onNext}})}),1)],1),_c('br'),_c('div',{staticClass:\"card-body p-3\"},[_c('a',{attrs:{\"href\":`/print_history/${_vm.print.id}/`}},[_c('i',{staticClass:\"fas fa-chevron-left\"}),_vm._v(\" \"+_vm._s(_vm.$t(\"Print Page\"))+\" \")])])])],1):_vm._e()],1)])],1)],1)]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('img',{staticClass:\"card-img-top\",attrs:{\"src\":_vm.shot.image_url}}),_c('div',{staticClass:\"px-3 pt-4\"},[_c('b-form-group',{attrs:{\"label\":\"Do you see any spaghetti in this picture?\"}},[_c('b-form-radio-group',{attrs:{\"options\":_vm.options},on:{\"change\":_vm.updateShot},model:{value:(_vm.answer),callback:function ($$v) {_vm.answer=$$v},expression:\"answer\"}})],1),_c('small',{staticClass:\"text-muted\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Not sure? Look at\"))+\" \"),_c('a',{attrs:{\"target\":\"_blank\",\"href\":_vm.getDocUrl('/user-guides/how-does-credits-work#spaghetti-examples')}},[_vm._v(_vm._s(_vm.$t(\"some examples. \"))),_vm._m(0)])]),_c('div',{staticClass:\"navigation-container my-4\",staticStyle:{\"display\":\"flex\"}},[_c('b-button',{attrs:{\"variant\":\"outline-secondary\"},on:{\"click\":function($event){return _vm.$emit('prev')}}},[_c('i',{staticClass:\"fas fa-chevron-left\"}),_vm._v(\"  \"+_vm._s(_vm.$t(\"Previous\"))+\" \")]),_c('b-button',{attrs:{\"variant\":\"outline-secondary\"},on:{\"click\":function($event){return _vm.$emit('next')}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Next\"))+\"  \"),_c('i',{staticClass:\"fas fa-chevron-right\"})])],1)],1)])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('small',[_c('i',{staticClass:\"fas fa-external-link-alt\"})])\n}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintShotCard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintShotCard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PrintShotCard.vue?vue&type=template&id=72de57d5&scoped=true&\"\nimport script from \"./PrintShotCard.vue?vue&type=script&lang=js&\"\nexport * from \"./PrintShotCard.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PrintShotCard.vue?vue&type=style&index=0&id=72de57d5&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"72de57d5\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"page-wrapper\",class:{ collapsed: _vm.collapsed, 'is-in-mobile': _vm.inMobileWebView, 'is-in-popup': _vm.isPopup }},[_c('nav',{staticClass:\"side-nav\"},[_c('a',{staticClass:\"sidebar-header\",attrs:{\"href\":\"/\"}},[_c('SyndicateAwareSVG',{attrs:{\"href\":\"#svg-logo-compact\",\"width\":\"100\",\"height\":\"30\"}})],1),_c('ul',{staticClass:\"list-unstyled m-0\"},[(_vm.isEnt && !_vm.user.is_pro)?_c('li',{class:{ active: _vm.path === '/ent_pub/pricing/' }},[_c('a',{staticClass:\"primary\",attrs:{\"href\":\"/ent_pub/pricing/\"}},[_c('font-awesome-icon',{attrs:{\"icon\":\"star\"}}),_vm._v(\" \"+_vm._s(_vm.$t(\"Upgrade to Pro\"))+\" \")],1)]):_vm._e(),(_vm.user)?_c('li',{class:{ active: _vm.path.includes('/printers/') }},[_c('a',{attrs:{\"href\":\"/printers/\"}},[_c('svg',{staticStyle:{\"margin-bottom\":\"5px\"},attrs:{\"width\":\"1.4em\",\"height\":\"1.4em\"}},[_c('use',{attrs:{\"href\":\"#svg-3d-printer\"}})]),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t(\"Printers\"))+\" \")])]):_vm._e(),(_vm.user)?_c('li',{class:{ active: _vm.path.includes('/g_code_') }},[_c('a',{attrs:{\"href\":\"/g_code_folders/cloud/\"}},[_c('font-awesome-icon',{attrs:{\"icon\":\"fa-file-code\"}}),_vm._v(\" \"+_vm._s(_vm.$t(\"G-Codes\"))+\" \")],1)]):_vm._e(),(_vm.user)?_c('li',{class:{ active: _vm.path.includes('/print_history/') || _vm.path.includes('/prints/') }},[_c('a',{attrs:{\"href\":\"/print_history/\"}},[_c('font-awesome-icon',{attrs:{\"icon\":\"fa-calendar-days\"}}),_vm._v(\" \"+_vm._s(_vm.$t(\"Print History\"))+\" \")],1)]):_vm._e(),(_vm.user)?_c('li',{class:{ active: _vm.path.includes('/stats/') }},[_c('a',{attrs:{\"href\":\"/stats/\"}},[_c('font-awesome-icon',{attrs:{\"icon\":\"fa-chart-pie\"}}),_vm._v(\" \"+_vm._s(_vm.$t(\"Statistics\"))+\" \")],1)]):_vm._e()]),_c('div',{staticClass:\"side-nav-footer\"},[_c('ul',{staticClass:\"list-unstyled m-0\"},[(_vm.isEnt)?_c('li',{class:{ active: _vm.path === '/ent_pub/pricing/' }},[_c('a',{attrs:{\"href\":\"/ent_pub/pricing/\"}},[_c('font-awesome-icon',{attrs:{\"icon\":\"fa-money-check-dollar\"}}),_vm._v(\" \"+_vm._s(_vm.$t(\"Pricing\"))+\" \")],1)]):_vm._e(),_c('li',[_c('a',{attrs:{\"href\":\"https://www.obico.io/help/\",\"target\":\"_blank\"}},[_c('font-awesome-icon',{attrs:{\"icon\":\"fa-circle-question\"}}),_vm._v(\" \"+_vm._s(_vm.$t(\"Help\"))+\" \")],1)]),_c('li',[_c('a',{attrs:{\"href\":\"https://obico.io/discord\",\"target\":\"_blank\"}},[_c('font-awesome-icon',{attrs:{\"icon\":\"fa-brands fa-discord\"}}),_vm._v(\" \"+_vm._s(_vm.$t(\"Community\"))+\" \")],1)]),_vm._m(0),(_vm.user)?_c('li',{class:{ active: _vm.path === '/printer_events/' }},[_c('a',{attrs:{\"href\":\"/printer_events/\"}},[_c('div',{staticClass:\"position-relative\"},[_c('font-awesome-icon',{attrs:{\"icon\":\"fas fa-bell\"}}),(_vm.hasUnseenPrinterEvents)?_c('span',{staticClass:\"badge\"},[_vm._v(_vm._s(_vm.unseenPrinterEventsDisplay))]):_vm._e()],1),_c('span',{staticClass:\"trim-text\"},[_vm._v(_vm._s(_vm.$t(\"Notifications\")))])])]):_vm._e(),(_vm.user)?_c('li',{class:{ active: _vm.path.includes('/user_preferences/') }},[_c('a',{attrs:{\"href\":\"/user_preferences/\"}},[_c('font-awesome-icon',{attrs:{\"icon\":\"fas fa-cog\"}}),_c('span',{staticClass:\"trim-text\"},[_vm._v(_vm._s(_vm.$t(\"Preferences\")))])],1)]):_vm._e()])])]),_c('div',{staticClass:\"content-wrapper\",class:{\n 'hide-top-nav': (!_vm.$slots.topBarLeft && !_vm.$slots.topBarRight) || _vm.hideHeader,\n }},[_c('b-navbar',{staticClass:\"top-nav\"},[_c('div',{staticClass:\"d-flex align-items-center\"},[_c('b-button',{staticClass:\"shadow-none p-0 mr-3 position-relative toggle-sidebar\",attrs:{\"variant\":\"_\"},on:{\"click\":function($event){_vm.collapsed = !_vm.collapsed}}},[_c('i',{staticClass:\"fas fa-bars position-relative\"},[(_vm.hasUnseenPrinterEvents)?_c('div',{staticClass:\"notification-dot\"},[_c('svg',{attrs:{\"width\":\"8px\",\"height\":\"8px\"}},[_c('use',{attrs:{\"href\":\"#svg-circle-icon\"}})])]):_vm._e()])]),_vm._t(\"topBarLeft\")],2),_vm._t(\"topBarRight\")],2),_c('div',{staticClass:\"page-content\"},[_vm._t(\"content\")],2)],1),_c('div',{staticClass:\"content-overlay\",on:{\"click\":function($event){_vm.collapsed = true}}})])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('li',[_c('hr',{staticClass:\"my-0 mx-2\"})])\n}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PageLayout.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PageLayout.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PageLayout.vue?vue&type=template&id=5822eab8&scoped=true&\"\nimport script from \"./PageLayout.vue?vue&type=script&lang=js&\"\nexport * from \"./PageLayout.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PageLayout.vue?vue&type=style&index=0&id=5822eab8&prod&lang=sass&\"\nimport style1 from \"./PageLayout.vue?vue&type=style&index=1&id=5822eab8&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5822eab8\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"card-body consent-section\"},[_c('div',[_vm._v(\" \"+_vm._s(_vm.$t(\"Number of snapshots\"))+\": \"),_c('span',{staticClass:\"feedback-estimate\"},[_vm._v(_vm._s(_vm.print.printshotfeedback_set.length))])]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"Estimated time to finish\"))+\": \"),_c('span',{staticClass:\"feedback-estimate\"},[_vm._v(_vm._s(_vm.estimatedFeedbackTime))])]),_c('p',{staticClass:\"font-weight-light\"},[_c('i18next',{attrs:{\"translation\":_vm.$t('Help Obi get better at detecting failures by giving her in-depth feedback on the snapshots of the print. You will earn {localizedDom} after you finish this Focused Feedback. {localizedDom2}')},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('strong',{staticClass:\"text-light\"},[_vm._v(_vm._s(_vm.$t(\"2 non-expirable AI Detection Hours\")))])]},proxy:true},{key:\"localizedDom2\",fn:function(){return [_c('a',{attrs:{\"target\":\"_blank\",\"href\":_vm.getDocUrl('/user-guides/how-does-credits-work/')}},[_vm._v(_vm._s(_vm.$t('Learn more'))+\". \"),_c('small',[_c('i',{staticClass:\"fas fa-external-link-alt\"})])])]},proxy:true}])})],1),_c('br'),_c('button',{staticClass:\"btn btn-primary btn-block\",attrs:{\"disabled\":!_vm.consentChecked,\"type\":\"button\"},on:{\"click\":function($event){return _vm.$emit('continue-btn-pressed')}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Start Focused Feedback\"))+\" \")]),_c('br'),_c('div',{staticClass:\"custom-control custom-checkbox form-check-inline\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.consentChecked),expression:\"consentChecked\"}],staticClass:\"custom-control-input\",attrs:{\"id\":\"consented-checkbox\",\"type\":\"checkbox\",\"name\":\"consented\"},domProps:{\"checked\":Array.isArray(_vm.consentChecked)?_vm._i(_vm.consentChecked,null)>-1:(_vm.consentChecked)},on:{\"change\":function($event){var $$a=_vm.consentChecked,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.consentChecked=$$a.concat([$$v]))}else{$$i>-1&&(_vm.consentChecked=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.consentChecked=$$c}}}}),_c('label',{staticClass:\"custom-control-label\",staticStyle:{\"font-size\":\"16px\"},attrs:{\"for\":\"consented-checkbox\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"I grant the {brandName} app team members the permission to review the time-lapse video of the print shown on this page.\", {brandName:_vm.$syndicateText.brandName}))+\" \"),_c('a',{attrs:{\"target\":\"_blank\",\"href\":_vm.getDocUrl('/user-guides/how-does-credits-work#you-need-to-grant-permission-to-tsd-team-to-review-your-time-lapse')}},[_vm._v(_vm._s(_vm.$t(\"Why is this necessary? \"))),_vm._m(0)])])]),_c('br'),_c('div',[_c('span',{staticClass:\"text-muted\"},[_vm._v(_vm._s(_vm.$t(\"File\"))+\":\")]),_vm._v(\" \"+_vm._s(_vm.print.filename)+\" \")]),_c('div',[_c('span',{staticClass:\"text-muted\"},[_vm._v(_vm._s(_vm.$t(\"Printed\"))+\":\")]),_vm._v(\" \"+_vm._s(_vm.print.started_at.fromNow())+\" \")]),_c('br'),(_vm.print.video_url)?_c('video-box',{attrs:{\"video-url\":_vm.print.video_url,\"poster-url\":_vm.print.poster_url,\"full-screen-btn\":false}}):_c('div',[_c('detective-working')],1)],1)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('small',[_c('i',{staticClass:\"fas fa-external-link-alt\"})])\n}]\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"card-img-top\"},[_c('video-player',{ref:\"videoPlayer\",staticClass:\"vjs-default-skin vjs-big-play-centered\",attrs:{\"options\":_vm.playerOptions,\"playsinline\":true},on:{\"timeupdate\":_vm.onTimeUpdate}}),_c('div',{staticClass:\"buttons-container\"},[(_vm.downloadBtn)?_c('a',{staticClass:\"action-btn\",attrs:{\"role\":\"button\",\"title\":\"Download\"},on:{\"click\":function($event){return _vm.$emit('download')}}},[_c('i',{staticClass:\"fas fa-download\",attrs:{\"aria-hidden\":\"true\"}})]):_vm._e(),(_vm.fullscreenBtn)?_c('a',{staticClass:\"action-btn\",attrs:{\"role\":\"button\",\"title\":\"Full screen\"},on:{\"click\":function($event){return _vm.$emit('fullscreen')}}},[_c('i',{staticClass:\"fa fa-expand\",attrs:{\"aria-hidden\":\"true\"}})]):_vm._e(),(_vm.exitFullscreenBtn)?_c('a',{staticClass:\"action-btn\",attrs:{\"role\":\"button\",\"title\":\"Exit full screen\"},on:{\"click\":function($event){return _vm.$emit('exitFullscreen')}}},[_c('i',{staticClass:\"fa fa-times\",attrs:{\"aria-hidden\":\"true\"}})]):_vm._e()])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VideoBox.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VideoBox.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./VideoBox.vue?vue&type=template&id=10df198e&scoped=true&\"\nimport script from \"./VideoBox.vue?vue&type=script&lang=js&\"\nexport * from \"./VideoBox.vue?vue&type=script&lang=js&\"\nimport style0 from \"./VideoBox.vue?vue&type=style&index=0&id=10df198e&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"10df198e\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"card bg-dark text-white\"},[_c('img',{staticClass:\"card-img\",attrs:{\"src\":require('@static/img/detective-working.gif'),\"alt\":\"Obi is still working\"}}),_c('div',{staticClass:\"card-img-overlay\",staticStyle:{\"background-color\":\"rgba(0, 0, 0, 0.6)\"}},[_c('h5',{staticClass:\"card-title text-center\"},[_vm._v(_vm._s(_vm.$t(\"Obi is still busy working on your time-lapse\")))])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetectiveWorking.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetectiveWorking.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DetectiveWorking.vue?vue&type=template&id=5e3b0b22&scoped=true&\"\nimport script from \"./DetectiveWorking.vue?vue&type=script&lang=js&\"\nexport * from \"./DetectiveWorking.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DetectiveWorking.vue?vue&type=style&index=0&id=5e3b0b22&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5e3b0b22\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FocusedFeedbackConsent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FocusedFeedbackConsent.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FocusedFeedbackConsent.vue?vue&type=template&id=c265fb70&scoped=true&\"\nimport script from \"./FocusedFeedbackConsent.vue?vue&type=script&lang=js&\"\nexport * from \"./FocusedFeedbackConsent.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FocusedFeedbackConsent.vue?vue&type=style&index=0&id=c265fb70&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"c265fb70\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintShotFeedbackApp.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintShotFeedbackApp.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PrintShotFeedbackApp.vue?vue&type=template&id=65dd3f19&scoped=true&\"\nimport script from \"./PrintShotFeedbackApp.vue?vue&type=script&lang=js&\"\nexport * from \"./PrintShotFeedbackApp.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PrintShotFeedbackApp.vue?vue&type=style&index=0&id=65dd3f19&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"65dd3f19\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('page-layout',{scopedSlots:_vm._u([{key:\"topBarLeft\",fn:function(){return [_c('div',{staticClass:\"actions-with-selected-desktop\"},[_c('b-form-group',{staticClass:\"m-0\"},[_c('b-form-checkbox',{attrs:{\"size\":\"md\"},model:{value:(_vm.allPrintsSelected),callback:function ($$v) {_vm.allPrintsSelected=$$v},expression:\"allPrintsSelected\"}})],1),_c('div',[_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.selectedPrintIds.size),expression:\"!selectedPrintIds.size\"}],staticClass:\"label\",on:{\"click\":function($event){_vm.allPrintsSelected = !_vm.allPrintsSelected}}},[_vm._v(_vm._s(_vm.$t(\"Select all\")))]),_c('b-dropdown',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selectedPrintIds.size),expression:\"selectedPrintIds.size\"}],attrs:{\"toggle-class\":\"btn btn-sm actions-with-selected-btn\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.selectedPrintIds.size)+\" item\"+_vm._s(_vm.selectedPrintIds.size === 1 ? '' : 's')+\" \"+_vm._s(_vm.$t(\"selected\"))+\" \")]},proxy:true}])},[_c('b-dropdown-item',[_c('div',{staticClass:\"text-danger\",on:{\"click\":_vm.onDeleteBtnClick}},[_c('i',{staticClass:\"far fa-trash-alt\"}),_vm._v(_vm._s(_vm.$t(\"Delete\"))+\" \")])])],1)],1)],1)]},proxy:true},{key:\"topBarRight\",fn:function(){return [_c('div',{staticClass:\"action-panel\"},[_c('b-dropdown',{attrs:{\"right\":\"\",\"no-caret\":\"\",\"toggle-class\":\"action-btn icon-btn\",\"title\":_vm.$t('Sort By')},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('i',{staticClass:\"fas fa-sort-amount-down\"})]},proxy:true}])},[_c('sorting-dropdown',{attrs:{\"local-storage-prefix\":_vm.sortingLocalStoragePrefix,\"sorting-options\":_vm.sortingOptions,\"sorting-value\":_vm.sortingValue},on:{\"onSortingUpdated\":_vm.onSortingUpdated}})],1),_c('b-dropdown',{attrs:{\"right\":\"\",\"no-caret\":\"\",\"toggle-class\":\"action-btn icon-btn\",\"menu-class\":\"scrollable\",\"title\":_vm.$t('Filter')},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('i',{staticClass:\"fas fa-filter\"})]},proxy:true}])},[_c('filtering-dropdown',{ref:\"filteringDropdown1\",attrs:{\"local-storage-prefix\":_vm.filterLocalStoragePrefix,\"filter-options\":_vm.filterOptions,\"filter-values\":_vm.filterValues,\"filter-update-mixin\":_vm.filterUpdateMixin},on:{\"onFilterUpdated\":_vm.onFilterUpdated}})],1),_c('b-dropdown',{attrs:{\"right\":\"\",\"no-caret\":\"\",\"toggle-class\":\"icon-btn d-md-none\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('i',{staticClass:\"fas fa-ellipsis-v\"})]},proxy:true}])},[_c('cascaded-dropdown',{ref:\"cascadedDropdown\",attrs:{\"menu-options\":[\n {\n key: 'sorting',\n icon: 'fas fa-sort-amount-down',\n title: _vm.$t(`Sort`),\n expandable: true,\n },\n {\n key: 'filtering',\n icon: 'fas fa-filter',\n title: _vm.$t(`Filter`),\n expandable: true,\n },\n ]},scopedSlots:_vm._u([{key:\"sorting\",fn:function(){return [_c('sorting-dropdown',{attrs:{\"local-storage-prefix\":_vm.sortingLocalStoragePrefix,\"sorting-options\":_vm.sortingOptions,\"sorting-value\":_vm.sortingValue},on:{\"onSortingUpdated\":_vm.onSortingUpdated}})]},proxy:true},{key:\"filtering\",fn:function(){return [_c('filtering-dropdown',{ref:\"filteringDropdown2\",attrs:{\"local-storage-prefix\":_vm.filterLocalStoragePrefix,\"filter-options\":_vm.filterOptions,\"filter-values\":_vm.filterValues,\"filter-update-mixin\":_vm.filterUpdateMixin},on:{\"onFilterUpdated\":_vm.onFilterUpdated}})]},proxy:true}])})],1)],1)]},proxy:true},{key:\"content\",fn:function(){return [_c('active-filter-notice',{attrs:{\"filter-values\":_vm.filterValues},on:{\"onShowAllClicked\":_vm.resetFilters}}),_c('b-container',[_c('b-row',[_c('b-col',[(_vm.prints.length && !_vm.loading)?_c('div',{staticClass:\"prints-summary\"},[_c('div',{staticClass:\"summary-item\"},[_c('div',{staticClass:\"icon\"},[_c('i',{staticClass:\"fas fa-hashtag\"})]),_c('div',{staticClass:\"info\"},[_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Prints done\")))]),_c('div',{staticClass:\"value\"},[_vm._v(\" \"+_vm._s(_vm.stats.total_print_count)+\" (\"),_c('span',{staticClass:\"text-success\"},[_vm._v(_vm._s(_vm.stats.total_succeeded_print_count))]),_vm._v(\" / \"),_c('span',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.stats.total_cancelled_print_count))]),_vm._v(\") \")])])]),_c('div',{staticClass:\"summary-item\"},[_c('div',{staticClass:\"icon\"},[_c('i',{staticClass:\"far fa-clock\"})]),_c('div',{staticClass:\"info\"},[_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Total print time\")))]),_c('div',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.totalPrintTimeFormatted))])])]),_c('div',{staticClass:\"summary-item\"},[_c('div',{staticClass:\"icon\"},[_c('i',{staticClass:\"fas fa-ruler-horizontal\"})]),_c('div',{staticClass:\"info\"},[_c('div',{staticClass:\"title\"},[_c('help-widget',{attrs:{\"id\":\"filament-used-may-be-incorrect\",\"highlight\":false,\"show-close-button\":false}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Filament used\"))+\" \")])],1),_c('div',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.totalFilamentUsedFormatted))])])]),_c('div',{staticClass:\"btn-wrapper\"},[_c('a',{staticClass:\"btn btn-secondary\",attrs:{\"href\":`/stats/`}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Full Stats\"))+\" \"),_c('i',{staticClass:\"fas fa-arrow-right\"})])])]):_vm._e()])],1),_c('b-row',[(_vm.prints.length || _vm.loading)?_c('b-col',[_vm._l((_vm.prints),function(print,index){return _c('print-history-item',{key:print.id,staticClass:\"print-item\",attrs:{\"print\":print,\"index\":index,\"selectable\":true,\"selected\":_vm.selectedPrintIds.has(print.id)},on:{\"selectedChanged\":_vm.onSelectedChanged}})}),_c('mugen-scroll',{attrs:{\"handler\":_vm.fetchMoreData,\"should-handle\":!_vm.loading}},[(!_vm.noMoreData)?_c('loading-placeholder'):_vm._e()],1)],2):_c('b-col',{staticClass:\"text-center my-5\"},[_vm._v(_vm._s(_vm.$t(\"No prints found\")))])],1)],1),_c('date-picker-modal',{ref:\"datePickerModal\",on:{\"picked\":_vm.onDatesPicked}})]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[(_vm.menuExpanded === null)?_vm._l((_vm.menuOptions),function(option){return _c('b-dropdown-item',{key:option.key,attrs:{\"href\":option.href},on:{\"click\":function($event){return _vm.onClick(option)}}},[(option.expandable)?_c('div',{staticClass:\"d-flex justify-content-between clickable-area\",on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();_vm.menuExpanded = option.key}}},[_c('div',[(option.icon)?_c('i',{class:option.icon}):(option.svgIcon)?_c('svg',{staticClass:\"custom-svg-icon\"},[_c('use',{attrs:{\"href\":`#${option.svgIcon}`}})]):_vm._e(),_c('span',[_vm._v(_vm._s(option.title))])]),_c('div',[_c('i',{staticClass:\"fas fa-chevron-right m-0\"})])]):_c('div',{staticClass:\"d-flex justify-content-between clickable-area\"},[_c('div',{class:option.customMenuOptionClass},[(option.icon)?_c('i',{class:option.icon}):(option.svgIcon)?_c('svg',{staticClass:\"custom-svg-icon\"},[_c('use',{attrs:{\"href\":`#${option.svgIcon}`}})]):_vm._e(),_c('span',[_vm._v(_vm._s(option.title))])])])])}):_vm._e(),(_vm.menuExpanded !== null)?[_c('b-dropdown-item',[_c('div',{staticClass:\"clickable-area\",on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();_vm.menuExpanded = null}}},[_c('i',{staticClass:\"fas fa-chevron-left\"}),_vm._v(_vm._s(_vm.$t(\"Back\"))+\" \")])]),_c('b-dropdown-divider'),(_vm.menuExpanded === 'sorting')?_c('div',[_vm._t(\"sorting\")],2):_vm._e(),(_vm.menuExpanded === 'filtering')?_c('div',[_vm._t(\"filtering\")],2):_vm._e(),(_vm.menuExpanded === 'storage')?_c('div',[_vm._t(\"storage\")],2):_vm._e(),(_vm.menuExpanded === 'grouping')?_c('div',[_vm._t(\"grouping\")],2):_vm._e()]:_vm._e()],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CascadedDropdown.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CascadedDropdown.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CascadedDropdown.vue?vue&type=template&id=2a5ecb65&scoped=true&\"\nimport script from \"./CascadedDropdown.vue?vue&type=script&lang=js&\"\nexport * from \"./CascadedDropdown.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CascadedDropdown.vue?vue&type=style&index=0&id=2a5ecb65&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2a5ecb65\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('b-dropdown-text',{staticClass:\"small text-secondary\"},[_vm._v(_vm._s(_vm.$t(\"SORT BY\")))]),_vm._l((_vm.sortingOptions.options),function(sorting){return _c('b-dropdown-item',{key:`s_${sorting.key}`,nativeOn:{\"!click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.updateSorting({ sorting })}}},[_c('i',{staticClass:\"fas fa-check text-primary\",style:({\n visibility: _vm.sortingValue.sorting.key === sorting.key ? 'visible' : 'hidden',\n })}),_vm._v(\" \"+_vm._s(sorting.title)+\" \")])}),_c('b-dropdown-divider'),_c('b-dropdown-text',{staticClass:\"small text-secondary\"},[_vm._v(_vm._s(_vm.$t(\"DIRECTION\")))]),_vm._l((_vm.sortingDirections),function(direction){return _c('b-dropdown-item',{key:`d_${direction.key}`,nativeOn:{\"!click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.updateSorting({ direction })}}},[_c('i',{staticClass:\"fas fa-check text-primary\",style:({\n visibility: _vm.sortingValue.direction.key === direction.key ? 'visible' : 'hidden',\n })}),_vm._v(\" \"+_vm._s(direction.title)+\" \")])})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SortingDropdown.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SortingDropdown.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SortingDropdown.vue?vue&type=template&id=1436d304&\"\nimport script from \"./SortingDropdown.vue?vue&type=script&lang=js&\"\nexport * from \"./SortingDropdown.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',_vm._l((_vm.filterOptions),function(option,key,index){return _c('div',{key:key},[(index !== 0)?_c('b-dropdown-divider'):_vm._e(),_c('b-dropdown-text',{staticClass:\"small text-secondary\"},[_vm._v(_vm._s(option.title.toUpperCase()))]),_vm._l((option.values),function(val){return _c('b-dropdown-item',{key:`f_${key}_${val.key}`,nativeOn:{\"!click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.updateFiltering({ filterOptionKey: key, filterValueKey: val.key })}}},[_c('div',{staticClass:\"dropdown-text-group\"},[_c('i',{staticClass:\"fas fa-check text-primary\",class:{\n 'checkmark-muted':\n option.multiple &&\n !val.includesAll &&\n (!Array.isArray(_vm.filterValues[key]) || !_vm.filterValues[key].includes(val.key)),\n },style:({\n visibility:\n (Array.isArray(_vm.filterValues[key]) && _vm.filterValues[key].includes(val.key)) ||\n _vm.filterValues[key] === val.key ||\n (option.multiple && !val.includesAll)\n ? 'visible'\n : 'hidden',\n })}),_c('div',{staticClass:\"text\"},[_vm._v(\" \"+_vm._s(val.title)+\" \"),(val.subtitle)?_c('div',{staticClass:\"subtitle\"},[_vm._v(\" \"+_vm._s(val.subtitle)+\" \")]):_vm._e()])])])})],2)}),0)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilteringDropdown.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilteringDropdown.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FilteringDropdown.vue?vue&type=template&id=687a0a02&scoped=true&\"\nimport script from \"./FilteringDropdown.vue?vue&type=script&lang=js&\"\nexport * from \"./FilteringDropdown.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FilteringDropdown.vue?vue&type=style&index=0&id=687a0a02&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"687a0a02\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.shouldShowFilterWarning)?_c('div',{staticClass:\"active-filter-notice\"},[_c('div',{staticClass:\"filter\"},[_c('i',{staticClass:\"fas fa-filter mr-2\"}),_vm._v(\" \"+_vm._s(_vm.$t(\"Filters applied\"))+\" \")]),_c('div',{staticClass:\"action-btn\",on:{\"click\":function($event){return _vm.$emit('onShowAllClicked')}}},[_vm._v(_vm._s(_vm.$t(\"SHOW ALL\")))])]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActiveFilterNotice.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActiveFilterNotice.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ActiveFilterNotice.vue?vue&type=template&id=0aa31f4a&scoped=true&\"\nimport script from \"./ActiveFilterNotice.vue?vue&type=script&lang=js&\"\nexport * from \"./ActiveFilterNotice.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ActiveFilterNotice.vue?vue&type=style&index=0&id=0aa31f4a&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0aa31f4a\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('a',{staticClass:\"print-container\",attrs:{\"href\":`/prints/${_vm.print.id}/${_vm.index !== null ? '?index=' + _vm.index : ''}`}},[_c('div',{staticClass:\"status-indicator print-status-bg\",class:_vm.print.status.key}),(_vm.selectable)?_c('div',{staticClass:\"checkbox-wrapper\",class:{ isSelected: _vm.isSelected }},[_c('b-form-checkbox',{attrs:{\"size\":\"md\"},model:{value:(_vm.isSelected),callback:function ($$v) {_vm.isSelected=$$v},expression:\"isSelected\"}})],1):_vm._e(),_c('div',{staticClass:\"main-content truncated-wrapper\"},[_c('div',{staticClass:\"top\"},[_c('div',{staticClass:\"title truncated\",attrs:{\"title\":_vm.fileName}},[_vm._v(_vm._s(_vm.fileName))])]),_c('div',{staticClass:\"bottom\"},[_c('div',{staticClass:\"info\"},[_c('svg',{staticClass:\"icon\",attrs:{\"width\":\"1em\",\"height\":\"1em\"}},[_c('use',{attrs:{\"href\":\"#svg-3d-printer\"}})]),_c('span',[_vm._v(_vm._s(_vm.print.printer ? _vm.print.printer.name : 'Unavailable'))])]),_c('div',{staticClass:\"info\"},[_c('i',{staticClass:\"fas fa-calendar-alt icon\"}),_c('span',[_vm._v(_vm._s(_vm.print.started_at.format('MMM D, YYYY')))])])])]),(_vm.print.poster_url)?_c('div',{staticClass:\"poster\"},[_c('div',{staticClass:\"img\",style:({ backgroundImage: `url(${_vm.print.poster_url})` })})]):_c('div',{staticClass:\"poster no-photo\"},[_c('svg',[_c('use',{attrs:{\"href\":\"#svg-no-photo\"}})])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintHistoryItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintHistoryItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PrintHistoryItem.vue?vue&type=template&id=11fbb7ad&scoped=true&\"\nimport script from \"./PrintHistoryItem.vue?vue&type=script&lang=js&\"\nexport * from \"./PrintHistoryItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PrintHistoryItem.vue?vue&type=style&index=0&id=11fbb7ad&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"11fbb7ad\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('b-modal',{attrs:{\"id\":\"b-modal-pick-dates\",\"title\":_vm.$t('Select Dates'),\"ok-title\":_vm.$t('Apply'),\"cancel-title\":_vm.$t('Cancel'),\"centered\":\"\"},on:{\"ok\":_vm.handleOk,\"hidden\":_vm.resetModal,\"shown\":_vm.focusInput}},[_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.handleSubmit.apply(null, arguments)}}},[_c('div',{staticClass:\"my-2\"},[_c('b-form-group',{attrs:{\"label\":_vm.$t('Date from'),\"label-for\":\"date_from\",\"description\":_vm.$t('If empty, will default to your registration date')}},[_c('b-form-input',{ref:\"dateFrom\",attrs:{\"id\":\"date_from\",\"type\":\"date\",\"placeholder\":_vm.$t('Enter date')},model:{value:(_vm.dateFrom),callback:function ($$v) {_vm.dateFrom=$$v},expression:\"dateFrom\"}})],1),_c('b-form-group',{attrs:{\"label\":_vm.$t('Date to'),\"label-for\":\"date_to\",\"description\":_vm.$t('If empty, will default to today')}},[_c('b-form-input',{ref:\"dateTo\",attrs:{\"id\":\"date_to\",\"type\":\"date\",\"placeholder\":_vm.$t('Enter date')},model:{value:(_vm.dateTo),callback:function ($$v) {_vm.dateTo=$$v},expression:\"dateTo\"}})],1),(_vm.errorMessage)?_c('b-alert',{staticClass:\"mt-3\",attrs:{\"variant\":\"danger\",\"show\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.errorMessage)+\" \")]):_vm._e()],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DatePickerModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DatePickerModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DatePickerModal.vue?vue&type=template&id=3aeed230&scoped=true&\"\nimport script from \"./DatePickerModal.vue?vue&type=script&lang=js&\"\nexport * from \"./DatePickerModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DatePickerModal.vue?vue&type=style&index=0&id=3aeed230&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3aeed230\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(() => (_vm.show = false)),expression:\"() => (show = false)\"}],staticClass:\"help-wrapper\",class:{ highlighted: _vm.highlight }},[_c('div',{staticClass:\"text\",on:{\"click\":function($event){_vm.positionWidget()\n _vm.show = !_vm.show}}},[_vm._t(\"default\")],2),_c('div',{ref:\"widgetWrapper\",staticClass:\"widget-wrapper\"},[_c('div',{staticClass:\"question-mark\",on:{\"click\":function($event){_vm.positionWidget()\n _vm.show = !_vm.show}}},[_c('svg',[_c('use',{attrs:{\"href\":\"#svg-question-icon\"}})])]),_c('transition',{attrs:{\"name\":\"pop-up\"}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.show),expression:\"show\"}],ref:\"widget\",staticClass:\"widget\",class:[_vm.xDirection, _vm.yDirection]},[(_vm.showCloseButton)?_c('div',{staticClass:\"close-button\",on:{\"click\":function($event){_vm.show = false}}},[_c('svg',{attrs:{\"width\":\"16\",\"height\":\"16\"}},[_c('use',{attrs:{\"href\":\"#svg-cross-icon\"}})])]):_vm._e(),_c('div',{staticClass:\"content\"},[(_vm.id === 'basic-streaming-on-kingroon-pricing-page')?[_c('div',[_vm._v(\" \"+_vm._s(_vm.$t(\"Basic Streaming\"))+\": \"),_c('ul',[_c('li',[_vm._v(_vm._s(_vm.$t(\"1 FPS (frame-per-second), 100 hours of streaming per month\")))])])]),_c('div',[_c('i18next',{attrs:{\"translation\":_vm.$t('Learn more about {localizedDom}')},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('a',{attrs:{\"href\":\"https://docs.kingroon.com/docs/user-guides/webcam-streaming-for-human-eyes/\",\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t(\"the differences between the Premium Streaming and the Basic Streaming\"))+\" \"),_c('i',{staticClass:\"fas fa-external-link-alt\"})])]},proxy:true}],null,false,1592606660)})],1)]:_vm._e(),(_vm.id === 'detective-hours-free-plan-on-kingroon-pricing-page')?[_c('p',[_vm._v(_vm._s(_vm.$t(\"Basic AI Detection checks for failures every 30 seconds.\")))]),_c('p',[_vm._v(_vm._s(_vm.$t(\"AI usage is reset on the 1st of each month. Hours do not roll over month to month.\")))]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"Learn more about\"))+\" \"),_c('a',{attrs:{\"href\":\"https://www.docs.kingroon.com/docs/user-guides/how-does-detective-hour-work/\",\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t(\"how the AI Detection Hour works \"))),_c('i',{staticClass:\"fas fa-external-link-alt\"})])])]:_vm._e(),(_vm.id === 'tunneling-free-plan-on-kingroon-pricing-page')?[_c('p',[_vm._v(_vm._s(_vm.$t(\"Securely tunnel to your Mainsail or fluidd Klipper interface from anywhere.\")))]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"Free plan is subject to 300MB/month data cap. Data usage is reset on the 1st day of each month.\"))+\" \")]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"Learn more about\"))+\" \"),_c('a',{attrs:{\"href\":\"https://docs.kingroon.com/docs/user-guides/octoprint-tunneling/\",\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t(\"Klipper tunnel \"))),_c('i',{staticClass:\"fas fa-external-link-alt\"})])])]:_vm._e(),(_vm.id === 'premium-streaming-on-kingroon-pricing-page')?[_c('div',[_vm._v(\" \"+_vm._s(_vm.$t(\"Premium Streaming\"))+\": \"),_c('ul',[_c('li',[_vm._v(_vm._s(_vm.$t(\"Up to 25 FPS (frame-per-second)\")))]),_c('li',[_vm._v(_vm._s(_vm.$t(\"Up to 5 FPS with any webcam\")))]),_c('li',[_vm._v(_vm._s(_vm.$t(\"Up to 25 FPS with Kingroon H.264 Camera.\")))])])]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"Learn more about\"))+\" \"),_c('a',{attrs:{\"href\":\"https://docs.kingroon.com/docs/user-guides/webcam-streaming-for-human-eyes/\",\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t(\"the differences between the Premium Streaming and the Basic Streaming\"))+\" \"),_c('i',{staticClass:\"fas fa-external-link-alt\"})])])]:_vm._e(),(_vm.id === 'detective-hours-pro-plan-on-kingroon-pricing-page')?[_c('p',[_vm._v(_vm._s(_vm.$t(\"Advanced AI checks for failures more frequently - Catch failures up to 2X faster than Basic AI.\")))]),_c('p',[_vm._v(_vm._s(_vm.$t(\"Unused AI Detection Hours roll over month-to-month\")))]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"Learn more about\"))+\" \"),_c('a',{attrs:{\"href\":\"https://www.docs.kingroon.com/docs/user-guides/how-does-detective-hour-work/\",\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t(\"how the AI Detection Hour works \"))),_c('i',{staticClass:\"fas fa-external-link-alt\"})])])]:_vm._e(),(_vm.id === 'tunneling-pro-plan-on-kingroon-pricing-page')?[_c('div',[_vm._v(_vm._s(_vm.$t(\"Securely tunnel to your Mainsail or fluidd Klipper interface from anywhere. Unlimited.\")))]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"Learn more about\"))+\" \"),_c('a',{attrs:{\"href\":\"https://docs.kingroon.com/docs/user-guides/octoprint-tunneling/\",\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t(\"Klipper tunnel \"))),_c('i',{staticClass:\"fas fa-external-link-alt\"})])])]:_vm._e(),(_vm.id === 'basic-streaming-on-pricing-page')?[_c('div',[_vm._v(\" \"+_vm._s(_vm.$t(\"Basic Streaming\"))+\": \"),_c('ul',[_c('li',[_vm._v(_vm._s(_vm.$t(\"Up to 5 FPS (frame-per-second)\")))]),_c('li',[_vm._v(_vm._s(_vm.$t(\"Throttled for 30 seconds every minute\")))])])]),_c('div',[_c('i18next',{attrs:{\"translation\":_vm.$t('Learn more about {localizedDom}')},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('a',{attrs:{\"href\":_vm.getDocUrl('/user-guides/webcam-streaming-for-human-eyes/'),\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t(\"the differences between the Premium Streaming and the Basic Streaming\"))+\" \"),_c('i',{staticClass:\"fas fa-external-link-alt\"})])]},proxy:true}],null,false,3864550040)})],1)]:_vm._e(),(_vm.id === 'detective-hours-free-plan-on-pricing-page')?[_c('h3',[_vm._v(_vm._s(_vm.$t(\"Yup! Even Free account gets 10 AI Detection Hours for FREE each month.\")))]),_c('ul',[_c('li',[_vm._v(_vm._s(_vm.$t(\"Unused AI Detection Hours roll over month to month.\")))]),_c('li',[_vm._v(\" \"+_vm._s(_vm.$t(\"You can\"))+\" \"),_c('a',{attrs:{\"href\":_vm.getDocUrl('/user-guides/how-does-credits-work/')}},[_vm._v(_vm._s(_vm.$t(\"earn free AI Detection Hours by helping her improve\")))]),_vm._v(\". \")]),_c('li',[_vm._v(\" \"+_vm._s(_vm.$t(\"You can also\"))+\" \"),_c('a',{staticClass:\"link\",attrs:{\"href\":\"#need-more\"}},[_vm._v(_vm._s(_vm.$t(\"purchase additional AI hours\")))]),_vm._v(\". \")])]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"Learn more about\"))+\" \"),_c('a',{attrs:{\"href\":_vm.getDocUrl('/user-guides/how-does-detective-hour-work/'),\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t(\"how the AI Detection Hour works \"))),_c('i',{staticClass:\"fas fa-external-link-alt\"})])])]:_vm._e(),(_vm.id === 'detective-hours-pro-plan-on-pricing-page')?[_c('h3',[_vm._v(_vm._s(_vm.$t(\"Pro plan includes 50 AI Detection Hours each month.\")))]),_c('ul',[_c('li',[_vm._v(_vm._s(_vm.$t(\"Unused AI Detection Hours roll over month to month.\")))]),_c('li',[_vm._v(_vm._s(_vm.$t(\"AI Detection Hours expire when subscription ends.\")))]),_c('li',[_vm._v(\" \"+_vm._s(_vm.$t(\"You can\"))+\" \"),_c('a',{attrs:{\"href\":_vm.getDocUrl('/user-guides/how-does-credits-work/')}},[_vm._v(_vm._s(_vm.$t(\"earn more AI Detection Hours by helping her improve\")))]),_vm._v(\". \")]),_c('li',[_vm._v(\" \"+_vm._s(_vm.$t(\"You can also\"))+\" \"),_c('a',{staticClass:\"link\",attrs:{\"href\":\"#need-more\"}},[_vm._v(_vm._s(_vm.$t(\"purchase additional AI hours\")))]),_vm._v(\". \")])]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"Learn more about\"))+\" \"),_c('a',{attrs:{\"href\":_vm.getDocUrl('/user-guides/how-does-detective-hour-work/'),\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t(\"how the AI Detection Hour works \"))),_c('i',{staticClass:\"fas fa-external-link-alt\"})])])]:_vm._e(),(_vm.id === 'premium-streaming-on-pricing-page')?[_c('div',[_vm._v(\" \"+_vm._s(_vm.$t(\"Premium Streaming\"))+\": \"),_c('ul',[_c('li',[_vm._v(_vm._s(_vm.$t(\"Up to 25 FPS (frame-per-second)\")))]),_c('li',[_vm._v(_vm._s(_vm.$t(\"Un-throttled\")))])])]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"Learn more about\"))+\" \"),_c('a',{attrs:{\"href\":_vm.getDocUrl('/user-guides/webcam-streaming-for-human-eyes/'),\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t(\"the differences between the Premium Streaming and the Basic Streaming\"))+\" \"),_c('i',{staticClass:\"fas fa-external-link-alt\"})])])]:_vm._e(),(_vm.id === 'tunneling-free-plan-on-pricing-page')?[_c('p',[_vm._v(_vm._s(_vm.$t(\"Securely tunnel to your OctoPrint/Klipper from anywhere.\")))]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"Free plan is subject to 300MB/month data cap. Data usage is reset on the 1st day of each month.\"))+\" \")]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"Learn more about\"))+\" \"),_c('a',{attrs:{\"href\":_vm.getDocUrl('/user-guides/octoprint-tunneling/'),\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t(\"OctoPrint/Klipper tunnel \"))),_c('i',{staticClass:\"fas fa-external-link-alt\"})])])]:_vm._e(),(_vm.id === 'tunneling-pro-plan-on-pricing-page')?[_c('div',[_vm._v(_vm._s(_vm.$t(\"Securely tunnel to your OctoPrint/Klipper from anywhere. Unlimited.\")))]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"Learn more about\"))+\" \"),_c('a',{attrs:{\"href\":_vm.getDocUrl('/user-guides/octoprint-tunneling/'),\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t(\"OctoPrint/Klipper tunnel \"))),_c('i',{staticClass:\"fas fa-external-link-alt\"})])])]:_vm._e(),(_vm.id === '3rd-party-app-integration-free-on-pricing-page')?[_c('div',[_c('div',[_vm._v(_vm._s(_vm.$t(\"The monthly cap is shared between 3rd-party app and OctoPrint tunnel\"))+\":\")]),_c('ul',[_c('li',[_vm._v(_vm._s(_vm.$t(\"The combined usage can't exceed 300MB per month.\")))]),_c('li',[_vm._v(_vm._s(_vm.$t(\"Data usage is reset on the 1st day of each month.\")))])]),_c('p',[_vm._v(_vm._s(_vm.$t(\"Supported 3rd-party mobile apps\"))+\":\")]),_c('img',{staticClass:\"logo-icon\",attrs:{\"src\":require('@static/img/octoapp.webp')}}),_c('img',{staticClass:\"logo-icon\",attrs:{\"src\":require('@static/img/printoid.webp')}}),_c('img',{staticClass:\"logo-icon\",attrs:{\"src\":require('@static/img/octopod.webp')}}),_c('img',{staticClass:\"logo-icon\",attrs:{\"src\":require('@static/img/polymer.webp')}})])]:_vm._e(),(_vm.id === '3rd-party-app-integration-pro-on-pricing-page')?[_c('div',[_c('p',[_vm._v(_vm._s(_vm.$t(\"Supported 3rd-party mobile apps\"))+\":\")]),_c('img',{staticClass:\"logo-icon\",attrs:{\"src\":require('@static/img/octoapp.webp')}}),_c('img',{staticClass:\"logo-icon\",attrs:{\"src\":require('@static/img/printoid.webp')}}),_c('img',{staticClass:\"logo-icon\",attrs:{\"src\":require('@static/img/octopod.webp')}}),_c('img',{staticClass:\"logo-icon\",attrs:{\"src\":require('@static/img/polymer.webp')}})])]:_vm._e(),(_vm.id === 'filament-change-on-notification-preferences')?[_c('i',[_c('ul',[_vm._v(\" \"+_vm._s(_vm.$t(\"Required versions\"))+\": \"),_c('li',[_vm._v(_vm._s(_vm.$t(\"OctoPrint 1.7.0 or higher\")))]),_c('li',[_vm._v(_vm._s(_vm.$t(\"The {brandName} plugin 1.8.11 or higher\",{brandName: _vm.$syndicateText.brandName })))])])]),_c('h3',[_vm._v(_vm._s(_vm.$t(\"Filament Runout Notifications\")))]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('Host_action_commands must be enabled in your firmware to make it possible for your filament runout sensor to communicate with OctoPrint and the {brandName} app. If you enable action commands in your firmware, then the filament runout sensor can work properly and the {brandName} app can notify you when the filament runs out. Unfortunately, without host_action_commands enabled, OctoPrint is unable to communicate with the printer to know that a filament runout was detected.',{brandName:_vm.$syndicateText.brandName}))+\" \")]),_c('p',[_vm._v(_vm._s(_vm.$t(\"To enable support, you need to do the following\"))+\":\")]),_c('ul',[_c('li',[_vm._v(\" \"+_vm._s(_vm.$t(\"Marlin: Uncomment #define HOST_ACTION_COMMANDS in Configuration_adv.h and recompile. See here for more information on host_action_commands.\"))+\" \")])]),_c('h3',[_vm._v(_vm._s(_vm.$t(\"Color Change Notifications\")))]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"Notifications on color change will work with any printer that has M600 enabled in its firmware. You do not need host_action_commands enabled to get notified when a color change is needed.\"))+\" \")])]:_vm._e(),(_vm.id === 'filament-used-may-be-incorrect')?[_c('h3',[_vm._v(_vm._s(_vm.$t(\"Is filament usage inaccurate?\")))]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('G-code files uploaded to your {brandName} account before upgrading to {brandName} for OctoPrint version 2.3.0 or {brandName} for Klipper version 1.2.0 do not include filament usage data.',{brandName:_vm.$syndicateText.brandName}))+\" \")]),_c('p',[_c('strong',[_vm._v(_vm._s(_vm.$t(\"To ensure accurate filament usage and other statistics\"))+\":\")])]),_c('ul',[_c('li',[_vm._v(\" \"+_vm._s(_vm.$t('Upload G-code files and start prints directly through {brandName} instead of OctoPrint/Klipper.',{brandName:_vm.$syndicateText.brandName}))+\" \")]),_c('li',[_vm._v(\" \"+_vm._s(_vm.$t(\"Use a slicer that supports filament usage parameters, such as Cura, Prusa Slicer, SuperSlicer, IdeaMaker, or Simplify3D.\"))+\" \")]),_c('li',[_vm._v(\" \"+_vm._s(_vm.$t(\"Print statistics for G-code files deleted before 12/20/2022 are not included. For files deleted after 12/20/2022, statistics are preserved.\"))+\" \")])])]:_vm._e(),(_vm.id === 'thumbnail-setup-guide')?[_c('p',[_c('a',{attrs:{\"href\":_vm.getDocUrl('/user-guides/enable-gcode-thumbnails/'),\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t(\"Learn how to configure G-Code preview generation in your slicer\"))+\" \"),_c('i',{staticClass:\"fas fa-external-link-alt\"})])])]:_vm._e(),(_vm.id === 'fan-speed-widget-help')?[_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"Adjust the speed of the cooling fan by setting a percentage value between 0 and 100. The default value is usually 100, which means the fan will run at full speed. Lowering the fan speed can reduce noise and save energy, but may also affect print quality if the printer gets too hot.\"))+\" \")])]:_vm._e(),(_vm.id === 'print-speed-widget-help')?[_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"Adjust the speed of your 3D printer by changing the speed of all movement commands by a specified factor. The default value is 100%, meaning that the printer will move at its standard speed. Lowering the print speed factor will slow down your print, while increasing it will speed it up. Value of 200% will double the speed.\"))+\" \")])]:_vm._e(),(_vm.id === 'flow-rate-widget-help')?[_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"Flow rate is the speed at which the printer extrudes plastic. If the flow rate is too high, the printer may extrude too much plastic and create blobs or stringing, while too low flow rate may result in weak and brittle prints. Adjusting the flow rate can help achieve the optimal balance between speed and quality. The default value is 100%.\"))+\" \")])]:_vm._e(),(_vm.id === 'coupon-entered-automatically')?[_c('div',[_c('p',[_vm._v(_vm._s(_vm.$t('No cost for three months. Plan renews after expiration. Cancel anytime.')))])])]:_vm._e()],2)])])],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HelpWidget.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HelpWidget.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./HelpWidget.vue?vue&type=template&id=8b03b208&scoped=true&\"\nimport script from \"./HelpWidget.vue?vue&type=script&lang=js&\"\nexport * from \"./HelpWidget.vue?vue&type=script&lang=js&\"\nimport style0 from \"./HelpWidget.vue?vue&type=style&index=0&id=8b03b208&prod&lang=sass&scoped=true&\"\nimport style1 from \"./HelpWidget.vue?vue&type=style&index=1&id=8b03b208&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"8b03b208\",\n null\n \n)\n\nexport default component.exports","import moment from 'moment'\n\nconst DateParamFormat = 'YYYY-MM-DD'\n\nexport const queryBuilder = (filterValue, customDateFrom, customDateTo, user) => {\n return {\n from_date: getDateFrom(filterValue, customDateFrom, user).format(DateParamFormat),\n to_date: getDateTo(filterValue, customDateTo).format(DateParamFormat),\n timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,\n }\n}\n\nexport const getDateFrom = (filterValue, customDateFrom, user) => {\n const today = new Date()\n const firstDayOfWeek = new Date(today.setDate(today.getDate() - today.getDay()))\n const firstDayOfMonth = new Date(today.getFullYear(), today.getMonth(), 1)\n const firstDayOfYear = new Date(today.getFullYear(), 0, 1)\n\n switch (filterValue) {\n case 'this_week':\n return moment(firstDayOfWeek)\n case 'this_month':\n return moment(firstDayOfMonth)\n case 'this_year':\n return moment(firstDayOfYear)\n case 'custom':\n if (customDateFrom) {\n return moment(customDateFrom)\n }\n }\n return moment(user.date_joined)\n}\n\nexport const getDateTo = (filterValue, customDateTo) => {\n const today = new Date()\n const lastDayOfWeek = new Date(today.setDate(today.getDate() - today.getDay() + 6))\n const lastDayOfMonth = new Date(today.getFullYear(), today.getMonth() + 1, 0)\n const lastDayOfYear = new Date(today.getFullYear(), 11, 31)\n\n switch (filterValue) {\n case 'this_week':\n return moment(lastDayOfWeek)\n case 'this_month':\n return moment(lastDayOfMonth)\n case 'this_year':\n return moment(lastDayOfYear)\n case 'custom':\n if (customDateTo) {\n return moment(customDateTo)\n }\n }\n return moment()\n}\n\nexport const getRecommendedGrouping = (filterValue, customDateFrom, customDateTo, user) => {\n const fromDate = getDateFrom(filterValue, customDateFrom, user)\n const toDate = getDateTo(filterValue, customDateTo)\n const diff = toDate.diff(fromDate, 'days')\n if (diff <= 31) {\n return 'day'\n } else if (diff <= 95) {\n return 'week'\n } else if (diff <= 366) {\n return 'month'\n } else {\n return 'year'\n }\n}\n","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintHistoryPage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintHistoryPage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PrintHistoryPage.vue?vue&type=template&id=4bb2d91a&scoped=true&\"\nimport script from \"./PrintHistoryPage.vue?vue&type=script&lang=js&\"\nexport * from \"./PrintHistoryPage.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PrintHistoryPage.vue?vue&type=style&index=0&id=4bb2d91a&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4bb2d91a\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('page-layout',{scopedSlots:_vm._u([{key:\"topBarRight\",fn:function(){return [_c('div',{staticClass:\"action-panel\"},[_c('b-dropdown',{attrs:{\"right\":\"\",\"no-caret\":\"\",\"toggle-class\":\"action-btn icon-btn\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('i',{staticClass:\"fas fa-chart-bar\"})]},proxy:true}])},[_c('b-dropdown-text',{staticClass:\"small text-secondary\"},[_vm._v(_vm._s(_vm.$t(\"GROUP BY\")))]),_vm._l((_vm.groupingOptions),function(grouping){return _c('b-dropdown-item',{key:grouping.key,nativeOn:{\"!click\":function($event){$event.stopPropagation();$event.preventDefault();return (() => _vm.updateChartGrouping(grouping)).apply(null, arguments)}}},[_c('i',{staticClass:\"fas fa-check text-primary\",style:({ visibility: _vm.activeGrouping === grouping.key ? 'visible' : 'hidden' })}),_c('span',[_vm._v(_vm._s(grouping.title))])])})],2),_c('b-dropdown',{attrs:{\"right\":\"\",\"no-caret\":\"\",\"toggle-class\":\"action-btn icon-btn\",\"menu-class\":\"scrollable\",\"title\":_vm.$t('Filter')},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('i',{staticClass:\"fas fa-filter\"})]},proxy:true}])},[_c('filtering-dropdown',{ref:\"filteringDropdown1\",attrs:{\"local-storage-prefix\":_vm.filterLocalStoragePrefix,\"filter-options\":_vm.filterOptions,\"filter-values\":_vm.filterValues,\"filter-update-mixin\":_vm.filterUpdateMixin},on:{\"onFilterUpdated\":_vm.onFilterUpdated}})],1),_c('b-dropdown',{attrs:{\"right\":\"\",\"no-caret\":\"\",\"toggle-class\":\"icon-btn d-md-none\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('i',{staticClass:\"fas fa-ellipsis-v\"})]},proxy:true}])},[_c('cascaded-dropdown',{ref:\"cascadedDropdown\",attrs:{\"menu-options\":[\n {\n key: 'grouping',\n icon: 'fas fa-chart-bar',\n title: _vm.$t(`Group By`),\n expandable: true,\n },\n {\n key: 'filtering',\n icon: 'fas fa-filter',\n title: _vm.$t(`Filter`),\n expandable: true,\n },\n ]},scopedSlots:_vm._u([{key:\"grouping\",fn:function(){return [_c('b-dropdown-text',{staticClass:\"small text-secondary\"},[_vm._v(_vm._s(_vm.$t(\"GROUP BY\")))]),_vm._l((_vm.groupingOptions),function(grouping){return _c('b-dropdown-item',{key:grouping.key,nativeOn:{\"!click\":function($event){$event.stopPropagation();$event.preventDefault();return (() => _vm.updateChartGrouping(grouping)).apply(null, arguments)}}},[_c('i',{staticClass:\"fas fa-check text-primary\",style:({ visibility: _vm.activeGrouping === grouping.key ? 'visible' : 'hidden' })}),_c('span',[_vm._v(_vm._s(grouping.title))])])})]},proxy:true},{key:\"filtering\",fn:function(){return [_c('filtering-dropdown',{ref:\"filteringDropdown2\",attrs:{\"local-storage-prefix\":_vm.filterLocalStoragePrefix,\"filter-options\":_vm.filterOptions,\"filter-values\":_vm.filterValues,\"filter-update-mixin\":_vm.filterUpdateMixin},on:{\"onFilterUpdated\":_vm.onFilterUpdated}})]},proxy:true}])})],1)],1)]},proxy:true},{key:\"content\",fn:function(){return [_c('active-filter-notice',{attrs:{\"filter-values\":_vm.filterValues},on:{\"onShowAllClicked\":_vm.resetFilters}}),(!_vm.stats)?_c('loading-placeholder'):_c('b-container',[_c('b-row',[_c('b-col',[_c('muted-alert',{staticClass:\"muted-alert\"},[_vm._v(_vm._s(_vm.$t(\"Statistics include deleted prints\")))])],1)],1),_c('b-row',[_c('b-col',{staticClass:\"mb-4 mb-lg-0\",attrs:{\"lg\":\"6\"}},[_c('div',{staticClass:\"stats-block total-prints\"},[_c('div',{staticClass:\"stats-block-title\"},[_c('i',{staticClass:\"fas fa-hashtag\"}),_c('span',[_vm._v(_vm._s(_vm.$t(\"Total Prints\")))])]),_c('div',{staticClass:\"chart-wrapper\"},[_c('div',{staticClass:\"legend\"},[_c('div',{staticClass:\"line\"},[_c('div',{staticClass:\"square success\"}),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Finished\"))+\":\")]),_c('div',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.stats ? _vm.stats.total_succeeded_print_count : ''))])]),_c('div',{staticClass:\"line\"},[_c('div',{staticClass:\"square danger\"}),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Cancelled\"))+\":\")]),_c('div',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.stats ? _vm.stats.total_cancelled_print_count : ''))])])]),_c('div',{ref:\"totalPrintsDonutChart\"})])])]),_c('b-col',{attrs:{\"lg\":\"6\"}},[_c('div',{staticClass:\"stats-block print-time\"},[_c('div',{staticClass:\"stats-block-title\"},[_c('i',{staticClass:\"far fa-clock\"}),_c('span',[_vm._v(_vm._s(_vm.$t(\"Print Time\")))])]),_c('div',{staticClass:\"info total-print-time\"},[_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Total print time\")))]),_c('div',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.humanizedDuration(_vm.stats.total_print_time)))])]),_c('div',{staticClass:\"other-print-time-numbers\"},[_c('div',{staticClass:\"info\"},[_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Longest print\")))]),_c('div',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.humanizedDuration(_vm.stats.longest_print_time)))])]),_c('div',{staticClass:\"divider\"}),_c('div',{staticClass:\"info\"},[_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Average print\")))]),_c('div',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.humanizedDuration(_vm.stats.average_print_time)))])])])])])],1),_c('b-row',{staticClass:\"mt-4\"},[_c('b-col',[_c('div',{staticClass:\"stats-block bar-chart\"},[_c('div',{staticClass:\"stats-block-title\"},[_c('i',{staticClass:\"fas fa-hashtag\"}),_c('span',[_vm._v(_vm._s(_vm.$t(\"Prints Count\")))])]),_c('div',{ref:\"printCountGroupsChart\",staticClass:\"bar-chart-wrapper\"})])])],1),_c('b-row',{staticClass:\"mt-4\"},[_c('b-col',[_c('div',{staticClass:\"stats-block bar-chart\"},[_c('div',{staticClass:\"stats-block-title\"},[_c('i',{staticClass:\"far fa-clock\"}),_c('span',[_vm._v(_vm._s(_vm.$t(\"Print Time\")))])]),_c('div',{ref:\"printTimeGroupsChart\",staticClass:\"bar-chart-wrapper\"})])])],1),_c('b-row',{staticClass:\"mt-4\"},[_c('b-col',[_c('div',{staticClass:\"stats-block bar-chart filament-used-groups\"},[_c('div',{staticClass:\"stats-block-title\"},[_c('i',{staticClass:\"fas fa-ruler-horizontal\"}),_c('div',{staticClass:\"title-group\"},[_c('span',[_c('help-widget',{attrs:{\"id\":\"filament-used-may-be-incorrect\",\"highlight\":false,\"show-close-button\":false}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Filament Usage\"))+\" \")])],1),_c('div',{staticClass:\"divider\"}),_c('div',{staticClass:\"subtitle\"},[_vm._v(_vm._s(_vm.totalFilamentUsedFormatted)+\" \"+_vm._s(_vm.$t(\"total\")))])])]),_c('div',{ref:\"filamentUsedGroupsChart\",staticClass:\"bar-chart-wrapper\"})])])],1)],1),_c('date-picker-modal',{ref:\"datePickerModal\",on:{\"picked\":_vm.onDatesPicked}})]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"alert-wrapper\"},[_vm._m(0),_c('p',{staticClass:\"message\"},[_vm._t(\"default\")],2)])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"icon\"},[_c('i',{staticClass:\"fas fa-info-circle\"})])\n}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MutedAlert.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MutedAlert.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MutedAlert.vue?vue&type=template&id=55bd9838&scoped=true&\"\nimport script from \"./MutedAlert.vue?vue&type=script&lang=js&\"\nexport * from \"./MutedAlert.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MutedAlert.vue?vue&type=style&index=0&id=55bd9838&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"55bd9838\",\n null\n \n)\n\nexport default component.exports","// Credit: https://observablehq.com/@d3/donut-chart\n\nimport * as d3 from 'd3'\n\nexport const DonutChart = (\n data,\n {\n name = ([x]) => x, // given d in data, returns the (ordinal) label\n value = ([, y]) => y, // given d in data, returns the (quantitative) value\n totalValue = null, // to show in the middle\n totalValueFormat = ',', // a format specifier for total value\n title, // given d in data, returns the title text\n width = 180, // outer width, in pixels\n height = 180, // outer height, in pixels\n innerRadius = Math.min(width, height) / 3.6, // inner radius of pie, in pixels (non-zero for donut)\n outerRadius = Math.min(width, height) / 2, // outer radius of pie, in pixels\n labelRadius = (innerRadius + outerRadius) / 2, // center radius of labels\n format = ',', // a format specifier for values (in the label)\n names, // array of names (the domain of the color scale)\n colors, // array of colors for names\n stroke = innerRadius > 0 ? 'none' : 'white', // stroke separating widths\n strokeWidth = 10, // width of stroke separating wedges\n strokeLinejoin = 'round', // line join of stroke separating wedges\n padAngle = stroke === 'none' ? 2 / outerRadius : 0, // angular separation between wedges\n emptyState = false, // if true, show empty state\n } = {}\n) => {\n // Compute values\n const N = d3.map(data, name)\n const V = d3.map(data, value)\n const I = d3.range(N.length).filter((i) => !isNaN(V[i]))\n\n // Unique the names\n if (names === undefined) names = N\n names = new d3.InternSet(names)\n\n // Chose a default color scheme based on cardinality\n if (colors === undefined) colors = d3.schemeSpectral[names.size]\n if (colors === undefined)\n colors = d3.quantize((t) => d3.interpolateSpectral(t * 0.8 + 0.1), names.size)\n\n // Construct scales\n const color = d3.scaleOrdinal(names, colors)\n\n // Compute titles\n if (title === undefined) {\n const formatValue = d3.format(format)\n title = (i) => `${formatValue(V[i])}`\n } else {\n const O = d3.map(data, (d) => d)\n const T = title\n title = (i) => T(O[i], i, data)\n }\n\n // Construct arcs\n const arcs = d3\n .pie()\n .padAngle(padAngle)\n .sort(null)\n .value((i) => V[i])(I)\n const arc = d3.arc().innerRadius(innerRadius).outerRadius(outerRadius)\n const arcLabel = d3.arc().innerRadius(labelRadius).outerRadius(labelRadius)\n\n const svg = d3\n .create('svg')\n .attr('width', width)\n .attr('height', height)\n .attr('viewBox', [-width / 2, -height / 2, width, height])\n .attr('style', 'max-width: 100%; height: auto; height: intrinsic;')\n\n svg\n .append('g')\n .attr('stroke', stroke)\n .attr('stroke-width', strokeWidth)\n .attr('stroke-linejoin', strokeLinejoin)\n .selectAll('path')\n .data(arcs)\n .join('path')\n .attr('fill', (d) => color(N[d.data]))\n .attr('d', arc)\n .append('title')\n .text((d) => title(d.data))\n\n svg\n .append('g')\n .attr('font-family', 'sans-serif')\n .attr('font-size', 14)\n .attr('text-anchor', 'middle')\n .selectAll('text')\n .data(arcs)\n .join('text')\n .attr('transform', (d) => `translate(${arcLabel.centroid(d)})`)\n .selectAll('tspan')\n .data((d) => {\n if (emptyState) return ['0%']\n const lines = `${title(d.data)}`.split(/\\n/)\n return d.endAngle - d.startAngle > 0.25 ? lines : lines.slice(0, 1)\n })\n .join('tspan')\n .attr('x', 0)\n .attr('y', (_, i) => `${0.3}em`)\n .attr('font-weight', (_, i) => (i ? null : 'bold'))\n .attr('fill', '#fff')\n .text((d) => d)\n\n // Total value at the center\n if (totalValue) {\n svg\n .append('text')\n .attr('font-size', 12)\n .attr('dy', '-.75em')\n .attr('text-anchor', 'middle')\n .attr('fill', 'var(--color-text-secondary)')\n .text('Total')\n\n const formatTotalValue = d3.format(totalValueFormat)\n\n svg\n .append('text')\n .attr('dy', '.75em')\n .attr('font-size', 14)\n .attr('text-anchor', 'middle')\n .attr('font-weight', 'bold')\n .attr('fill', 'var(--color-text-primary)')\n .text(formatTotalValue(totalValue))\n }\n\n return Object.assign(svg.node(), { scales: { color } })\n}\n","// Credit: https://observablehq.com/@d3/bar-chart\n\nimport * as d3 from 'd3'\nimport moment from 'moment'\nimport { formatWithoutDaylightSavingShift as format } from '@src/lib/utils'\n\nexport const BarChart = (\n data,\n {\n x = (d, i) => i, // given d in data, returns the (ordinal) x-value\n y = (d) => d, // given d in data, returns the (quantitative) y-value\n title, // given d in data, returns the title text\n marginTop = 20, // the top margin, in pixels\n marginRight = 0, // the right margin, in pixels\n marginBottom = 40, // the bottom margin, in pixels\n marginLeft = 40, // the left margin, in pixels\n width = 640, // the outer width of the chart, in pixels\n height = 210, // the outer height of the chart, in pixels\n xDomain, // an array of (ordinal) x-values\n xRange = [marginLeft, width - marginRight], // [left, right]\n xLabelShow = (i) => true, // whether to show the x-axis label\n xLabelRotation = 0, // the rotation of the x-axis label, in degrees\n yType = d3.scaleLinear, // y-scale type\n yDomain, // [ymin, ymax]\n yRange = [height - marginBottom, marginTop], // [bottom, top]\n yTicks = height / 40,\n xPadding = 0.1, // amount of x-range to reserve to separate bars\n yFormat, // a format specifier string for the y-axis\n yTickFormat = null,\n yLabel, // a label for the y-axis\n color = 'currentColor', // bar fill color\n } = {}\n) => {\n // Compute values\n const X = d3.map(data, x)\n const Y = d3.map(data, y)\n\n // Compute default domains, and unique the x-domain\n if (xDomain === undefined) xDomain = X\n if (yDomain === undefined) yDomain = [0, d3.max(Y)]\n xDomain = new d3.InternSet(xDomain)\n\n // Omit any data not present in the x-domain\n const I = d3.range(X.length).filter((i) => xDomain.has(X[i]))\n\n // Construct scales, axes, and formats\n const xScale = d3.scaleBand(xDomain, xRange).padding(xPadding)\n const yScale = yType(yDomain, yRange)\n const xAxis = d3.axisBottom(xScale).tickSizeOuter(0)\n const yAxis = d3.axisLeft(yScale).ticks(yTicks, yFormat)\n if (yTickFormat) {\n yAxis.tickFormat(yTickFormat)\n }\n\n // Compute titles\n if (title === undefined) {\n const formatValue = yScale.tickFormat(100, yFormat)\n title = (i) => `${X[i]}: ${formatValue(Y[i])}`\n } else {\n const O = d3.map(data, (d) => d)\n const T = title\n title = (i) => T(O[i], i, data)\n }\n\n const svg = d3\n .create('svg')\n .attr('width', width)\n .attr('height', height)\n .attr('viewBox', [0, 0, width, height])\n .attr('style', 'max-width: 100%; height: auto; height: intrinsic;')\n\n svg\n .append('g')\n .attr('transform', `translate(${marginLeft},0)`)\n .call(yAxis)\n .call((g) =>\n g\n .selectAll('.tick line')\n .clone()\n .attr('x2', width - marginLeft - marginRight)\n .attr('stroke-opacity', 0.1)\n )\n .call((g) => g.selectAll('text').attr('font-size', 11))\n\n const bar = svg\n .append('g')\n .attr('fill', color)\n .selectAll('rect')\n .data(I)\n .join('rect')\n .attr('x', (i) => xScale(X[i]))\n .attr('y', (i) => yScale(Y[i]))\n .attr('height', (i) => yScale(0) - yScale(Y[i]))\n .attr('width', xScale.bandwidth())\n .attr('rx', 2)\n\n if (title) bar.append('title').text(title)\n\n svg\n .append('g')\n .attr('transform', `translate(0,${height - marginBottom})`)\n .call(xAxis)\n .selectAll('text')\n .attr('transform', xLabelRotation ? `translate(-10,0)rotate(-${xLabelRotation})` : '')\n .attr('font-size', 11)\n .call(function (t) {\n t.each(function (d, i) {\n var self = d3.select(this)\n var lines = self.text().split('\\r')[0].split('\\n') // get the text and split it\n self.text('') // clear it out\n\n if (xLabelShow(i)) {\n self\n .append('tspan')\n .attr('x', 0)\n .attr('dy', '1em')\n .attr('text-anchor', xLabelRotation ? 'end' : 'middle')\n .text(lines[0])\n\n if (lines.length === 2) {\n self.append('tspan').attr('x', 0).attr('dy', '1.2em').text(lines[1])\n }\n }\n })\n })\n\n return svg.node()\n}\n\n// Adaptive x-axis labels based on the width of the chart and number of bars\nexport const xAxisLabelsFormat = (wrapperWidth, barsCount, grouping = 'day', lastDayInDataset) => {\n const barWidth = wrapperWidth / barsCount\n\n const horizontalLabelRequiredWidth = grouping === 'day' ? 30 : grouping === 'week' ? 70 : 35\n const rotatedLabelRequiredWidth = 20\n\n let frequency, rotation\n if (barWidth >= horizontalLabelRequiredWidth) {\n frequency = 1\n rotation = 0\n } else {\n frequency = Math.ceil(rotatedLabelRequiredWidth / barWidth)\n rotation = 45\n }\n\n return {\n frequency,\n rotation,\n\n value: (d) => {\n const date = moment(d.key)\n\n let firstLine,\n secondLine = ''\n if (grouping === 'day') {\n firstLine = format(date, 'M/D')\n secondLine = format(date, 'ddd')\n } else if (grouping === 'week') {\n firstLine = format(date, 'M/D')\n\n const endOfWeek = date.clone().endOf('week')\n const lastDayOfWeek = endOfWeek.isBefore(lastDayInDataset) ? endOfWeek : lastDayInDataset\n\n firstLine += `-${\n lastDayOfWeek.month() === date.month()\n ? lastDayOfWeek.format('D')\n : lastDayOfWeek.format('M/D')\n }`\n secondLine = lastDayOfWeek.diff(date, 'days') === 6 ? `Week ${date.week()}` : ''\n } else if (grouping === 'month') {\n firstLine = format(date, 'MMM')\n secondLine = format(date, 'YYYY')\n } else {\n firstLine = format(date, 'YYYY')\n }\n\n let label = firstLine\n if (rotation === 0) {\n label += `\\n${secondLine}`\n }\n\n const uniqueDateKey = format(date, 'M/D/YYYY')\n label += `\\r${uniqueDateKey}` // so d3 won't skip same labels\n\n return label\n },\n\n shouldShow: (index) => {\n return index % frequency === 0\n },\n }\n}\n","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StatsPage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StatsPage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./StatsPage.vue?vue&type=template&id=7397c062&scoped=true&\"\nimport script from \"./StatsPage.vue?vue&type=script&lang=js&\"\nexport * from \"./StatsPage.vue?vue&type=script&lang=js&\"\nimport style0 from \"./StatsPage.vue?vue&type=style&index=0&id=7397c062&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7397c062\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('page-layout',{scopedSlots:_vm._u([{key:\"topBarLeft\",fn:function(){return [_c('div',{staticClass:\"actions-with-selected-desktop\"},[_c('b-form-group',{staticClass:\"m-0\"},[_c('b-form-checkbox',{attrs:{\"size\":\"lg\"},model:{value:(_vm.allPrintsSelected),callback:function ($$v) {_vm.allPrintsSelected=$$v},expression:\"allPrintsSelected\"}})],1),_c('div',[_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.selectedPrintIds.size),expression:\"!selectedPrintIds.size\"}],staticClass:\"label\",on:{\"click\":function($event){_vm.allPrintsSelected = !_vm.allPrintsSelected}}},[_vm._v(_vm._s(_vm.$t(\"Select all\")))]),_c('b-dropdown',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selectedPrintIds.size),expression:\"selectedPrintIds.size\"}],attrs:{\"toggle-class\":\"btn btn-sm actions-with-selected-btn\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.selectedPrintIds.size)+\" item\"+_vm._s(_vm.selectedPrintIds.size === 1 ? '' : 's')+\" \"+_vm._s(_vm.$t(\"selected...\"))+\" \")]},proxy:true}])},[_c('b-dropdown-item',[_c('div',{staticClass:\"text-danger\",on:{\"click\":_vm.onDeleteBtnClick}},[_c('i',{staticClass:\"far fa-trash-alt\"}),_vm._v(_vm._s(_vm.$t(\"Delete\"))+\" \")])])],1)],1)],1)]},proxy:true},{key:\"topBarRight\",fn:function(){return [_c('div',{staticClass:\"action-panel\"},[_c('b-dropdown',{attrs:{\"right\":\"\",\"no-caret\":\"\",\"toggle-class\":\"action-btn icon-btn\",\"title\":_vm.$t('Sort By')},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('i',{staticClass:\"fas fa-sort-amount-down\"})]},proxy:true}])},[_c('sorting-dropdown',{attrs:{\"local-storage-prefix\":_vm.sortingLocalStoragePrefix,\"sorting-options\":_vm.sortingOptions,\"sorting-value\":_vm.sortingValue},on:{\"onSortingUpdated\":_vm.onSortingUpdated}})],1),_c('b-dropdown',{attrs:{\"right\":\"\",\"no-caret\":\"\",\"toggle-class\":\"action-btn icon-btn\",\"menu-class\":\"scrollable\",\"title\":_vm.$t('Filter')},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('i',{staticClass:\"fas fa-filter\"})]},proxy:true}])},[_c('filtering-dropdown',{attrs:{\"local-storage-prefix\":_vm.filterLocalStoragePrefix,\"filter-options\":_vm.filterOptions,\"filter-values\":_vm.filterValues},on:{\"onFilterUpdated\":_vm.onFilterUpdated}})],1),_c('b-dropdown',{attrs:{\"right\":\"\",\"no-caret\":\"\",\"toggle-class\":\"icon-btn d-md-none\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('i',{staticClass:\"fas fa-ellipsis-v\"})]},proxy:true}])},[_c('cascaded-dropdown',{ref:\"cascadedDropdown\",attrs:{\"menu-options\":[\n {\n key: 'sorting',\n icon: 'fas fa-sort-amount-down',\n title: _vm.$t(`Sort`),\n expandable: true,\n },\n {\n key: 'filtering',\n icon: 'fas fa-filter',\n title: _vm.$t(`Filter`),\n expandable: true,\n },\n ]},scopedSlots:_vm._u([{key:\"sorting\",fn:function(){return [_c('sorting-dropdown',{attrs:{\"local-storage-prefix\":_vm.sortingLocalStoragePrefix,\"sorting-options\":_vm.sortingOptions,\"sorting-value\":_vm.sortingValue},on:{\"onSortingUpdated\":_vm.onSortingUpdated}})]},proxy:true},{key:\"filtering\",fn:function(){return [_c('filtering-dropdown',{attrs:{\"local-storage-prefix\":_vm.filterLocalStoragePrefix,\"filter-options\":_vm.filterOptions,\"filter-values\":_vm.filterValues},on:{\"onFilterUpdated\":_vm.onFilterUpdated}})]},proxy:true}])})],1)],1)]},proxy:true},{key:\"content\",fn:function(){return [_c('active-filter-notice',{attrs:{\"filter-values\":_vm.filterValues},on:{\"onShowAllClicked\":_vm.resetFilters}}),_c('b-container',[_c('b-row',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.prints.length),expression:\"prints.length\"}],staticClass:\"print-cards\"},_vm._l((_vm.visiblePrints),function(print){return _c('print-card',{key:print.id,attrs:{\"print\":print,\"selected\":_vm.selectedPrintIds.has(print.id)},on:{\"selectedChanged\":_vm.onSelectedChanged,\"printDeleted\":_vm.onPrintDeleted,\"printDataChanged\":_vm.printDataChanged,\"fullscreen\":_vm.openFullScreen}})}),1),_c('mugen-scroll',{staticClass:\"text-center p-4\",attrs:{\"handler\":_vm.fetchMoreData,\"should-handle\":!_vm.loading}},[(_vm.noMoreData)?_c('div',{staticClass:\"text-center p-2\"},[_vm._v(_vm._s(_vm.$t(\"No more time-lapses.\")))]):_vm._e(),(!_vm.noMoreData)?_c('b-spinner',{attrs:{\"label\":_vm.$t('Loading...')}}):_vm._e()],1),_c('b-modal',{attrs:{\"id\":\"tl-fullscreen-modal\",\"size\":\"full\",\"hide-header\":true,\"hide-footer\":true},on:{\"hidden\":_vm.fullScreenClosed}},[_c('FullScreenPrintCard',{attrs:{\"print\":_vm.fullScreenPrint,\"video-url\":_vm.fullScreenPrintVideoUrl,\"autoplay\":true}})],1)],1)]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"col-sm-12 col-md-6 col-lg-4 print-card\"},[_c('div',{staticClass:\"card vld-parent\"},[(_vm.isPublic)?_c('div',{staticClass:\"card-header\"},[_vm._v(\"- By \"+_vm._s(_vm.print.creator_name))]):_c('div',{staticClass:\"card-header\"},[_c('div',{style:({ visibility: _vm.hasSelectedChangedListener ? 'visible' : 'hidden' })},[_c('b-form-checkbox',{staticClass:\"text-decoration-none\",attrs:{\"size\":\"lg\"},model:{value:(_vm.isSelected),callback:function ($$v) {_vm.isSelected=$$v},expression:\"isSelected\"}})],1),_c('b-form-radio-group',{attrs:{\"buttons\":\"\",\"button-variant\":\"outline-primary\",\"name\":\"radio-btn-outline\"},model:{value:(_vm.selectedCardView),callback:function ($$v) {_vm.selectedCardView=$$v},expression:\"selectedCardView\"}},[_c('b-form-radio',{staticClass:\"no-corner no-shadow\",attrs:{\"value\":\"detective\",\"disabled\":!_vm.canShowDetectiveView}},[_c('i',{staticClass:\"fas fa-balance-scale\"})]),_c('b-form-radio',{staticClass:\"no-corner no-shadow\",attrs:{\"value\":\"info\"}},[_c('i',{staticClass:\"fas fa-info\"})])],1),_c('b-dropdown',{attrs:{\"right\":\"\",\"no-caret\":\"\",\"toggle-class\":\"icon-btn\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('i',{staticClass:\"fas fa-ellipsis-v\"})]},proxy:true}])},[(_vm.print.video_url && !_vm.print.video_archived_at)?_c('b-dropdown-item',{attrs:{\"href\":_vm.print.video_url,\"target\":\"_blank\"}},[_c('i',{staticClass:\"fas fa-download\"}),_vm._v(_vm._s(_vm.$t(\"Download Original Time-lapse\"))+\" \")]):_vm._e(),(_vm.print.tagged_video_url && !_vm.print.video_archived_at)?_c('b-dropdown-item',{attrs:{\"href\":_vm.print.tagged_video_url,\"target\":\"_blank\"}},[_c('i',{staticClass:\"fas fa-download\"}),_vm._v(_vm._s(_vm.$t(\"Download Detective Time-lapse\"))+\" \")]):_vm._e(),_c('b-dropdown-divider'),_c('b-dropdown-item',{on:{\"click\":_vm.deleteVideo}},[_c('span',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.$t(\" \"))),_c('i',{staticClass:\"fas fa-trash-alt\"}),_vm._v(_vm._s(_vm.$t(\"Delete\"))+\" \")])])],1)],1),_c('div',[(_vm.print.video_archived_at)?_c('div',{staticClass:\"position-relative\"},[_c('div',{staticClass:\"poster-placeholder-wrapper\"},[_c('svg',{staticClass:\"poster-placeholder\"},[_c('use',{attrs:{\"href\":_vm.posterSrc}})])]),_c('div',{staticClass:\"archived-info\"},[_c('div',{staticClass:\"text\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Video file is deleted.\"))+\" \"),_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.showVideoArchivedDescription($event)}}},[_vm._v(_vm._s(_vm.$t(\"Why?\")))])])])]):_c('div',[(_vm.videoUrl)?_c('video-box',{attrs:{\"video-url\":_vm.videoUrl,\"poster-url\":_vm.print.poster_url,\"fluid\":true,\"fullscreen-btn\":_vm.hasFullscreenListener},on:{\"timeupdate\":_vm.onTimeUpdate,\"fullscreen\":function($event){return _vm.$emit('fullscreen', _vm.print.id, _vm.videoUrl)}}}):_c('div',[_c('detective-working')],1)],1),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.cardView == 'info' && !_vm.isPublic),expression:\"cardView == 'info' && !isPublic\"}]},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"text-muted col-4\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"File\"))+\" \"),_c('span',{staticClass:\"float-right\"},[_vm._v(\":\")])]),_c('div',{staticClass:\"col-8\"},[_vm._v(_vm._s(_vm.print.filename))])]),_c('div',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",modifiers:{\"hover\":true}}],staticClass:\"row\",attrs:{\"title\":_vm.humanizedPrintedOrUploadedTime((_vm.longFormat = true))}},[_c('div',{staticClass:\"text-muted col-4\"},[_vm._v(\" \"+_vm._s(_vm.wasTimelapseUploaded ? 'Uploaded' : 'Printed')+\" \"),_c('span',{staticClass:\"float-right\"},[_vm._v(\":\")])]),_c('div',{staticClass:\"col-8\"},[_vm._v(_vm._s(_vm.humanizedPrintedOrUploadedTime())+\" \"+_vm._s(_vm.endStatus))])]),(!_vm.wasTimelapseUploaded && _vm.duration)?_c('div',{staticClass:\"row\",attrs:{\"id\":'dur-' + _vm.print.id}},[_c('b-tooltip',{attrs:{\"target\":'dur-' + _vm.print.id,\"triggers\":\"hover\"}},[_vm._v(\" \"+_vm._s(_vm._f(\"floor\")(_vm._f(\"duration\")(_vm.duration,'asHours')))+\":\"+_vm._s(_vm._f(\"duration\")(_vm.duration,'minutes'))+\":\"+_vm._s(_vm._f(\"duration\")(_vm.duration,'seconds'))+\" \")]),_c('div',{staticClass:\"text-muted col-4\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Duration\"))+\" \"),_c('span',{staticClass:\"float-right\"},[_vm._v(\":\")])]),_c('div',{staticClass:\"col-8\"},[_vm._v(_vm._s(_vm.duration.humanize()))])],1):_vm._e()])])]),(_vm.isPublic)?_c('div',{staticClass:\"bg-warning alert-banner text-center\",style:({ opacity: _vm.normalizedP > 0.4 ? 1 : 0 })},[_c('i',{staticClass:\"fas fa-exclamation-triangle\"}),_vm._v(\" \"+_vm._s(_vm.$t(\"Possible failure detected!\"))+\" \")]):_vm._e(),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.cardView == 'detective' || _vm.isPublic),expression:\"cardView == 'detective' || isPublic\"}]},[(_vm.print.prediction_json_url)?_c('failure-detection-gauge',{attrs:{\"normalized-p\":_vm.normalizedP}}):_vm._e(),(!_vm.isPublic)?_c('div',{staticClass:\"feedback-section\"},[_c('div',{staticClass:\"text-center py-2 px-3\"},[_c('div',{staticClass:\"lead\",class:[_vm.print.alerted_at ? 'text-danger' : 'text-success']},[_vm._v(\" \"+_vm._s(_vm.print.alerted_at ? 'Failure detected' : 'No failure detected')+\" \")]),_c('div',{staticClass:\"py-2\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Did we get it right?\"))+\" \"),_c('b-button',{staticClass:\"mx-2 btn-sm\",attrs:{\"variant\":_vm.thumbedUp ? 'primary' : 'outline'},on:{\"click\":_vm.onThumbUpClick}},[(_vm.inflightAlertOverwrite)?_c('b-spinner',{attrs:{\"type\":\"grow\",\"small\":\"\"}}):_c('i',{staticClass:\"fas fa-thumbs-up\"})],1),_c('b-button',{staticClass:\"mx-2 btn-sm\",attrs:{\"variant\":_vm.thumbedDown ? 'primary' : 'outline'},on:{\"click\":_vm.onThumbDownClick}},[(_vm.inflightAlertOverwrite)?_c('b-spinner',{attrs:{\"type\":\"grow\",\"small\":\"\"}}):_c('i',{staticClass:\"fas fa-thumbs-down\"})],1)],1),_c('transition',{attrs:{\"name\":\"bounce\"}},[(_vm.print.printShotFeedbackEligible)?_c('div',{staticClass:\"pt-2\"},[_c('a',{staticClass:\"btn btn-sm btn-outline-primary px-4\",attrs:{\"role\":\"button\",\"href\":_vm.focusedFeedbackLink}},[_vm._v(\" F \"),_c('i',{staticClass:\"fas fa-search focused-feedback-icon\"}),_vm._v(_vm._s(_vm.$t(\"CUSED FEEDBACK\"))+\" \"),(_vm.print.need_print_shot_feedback)?_c('svg',{staticClass:\"seg-control-icon ml-1 double-hours-icon\"},[_c('use',{attrs:{\"href\":\"#svg-hour-double\"}})]):_vm._e()])]):_vm._e()])],1),_c('div',{staticClass:\"text-muted py-2 px-3 help-text\"},[(_vm.print.printShotFeedbackEligible)?_c('small',[(!_vm.print.need_print_shot_feedback)?_c('span',[_vm._v(_vm._s(_vm.$t(\"Thank you for completing the Focused Feedback. You have earned 2 non-expirable AI Detection Hours. You can click the button again to change your feedback.\")))]):_c('span',[_vm._v(\" \"+_vm._s(_vm.$t(\"With Focused Feedback, you can tell us exactly where we got it wrong. This is the most effective way to help us improve.\"))+\" \"),_c('a',{attrs:{\"href\":_vm.getDocUrl('/user-guides/how-does-credits-work#you-earn-detective-hours-for-giving-focused-feedback')}},[_vm._v(_vm._s(_vm.$t(\"You will earn 2 AI Detection Hours once you finish the Focused Feedback\")))]),_vm._v(\". \")])]):_c('small',[_vm._v(\" \"+_vm._s(_vm.$t(\"Every time you give us feedback,\"))+\" \"),_c('a',{attrs:{\"href\":_vm.getDocUrl('/user-guides/how-does-credits-work/')}},[_vm._v(_vm._s(_vm.$t(\"you help us get better at detecting failures\")))]),_vm._v(\". \")])])]):_vm._e()],1)])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"obico-gauge-container\"},[_c('span',{style:({ color: _vm.titleColor }),attrs:{\"id\":\"title\"}},[_vm._v(_vm._s(_vm.titleText))]),_c('div',{staticClass:\"obico-gauge\"},[_c('radial-gauge',{attrs:{\"value\":_vm.value,\"options\":_vm.computedOptions}})],1),_c('hr')])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FailureDetectionGauge.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FailureDetectionGauge.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FailureDetectionGauge.vue?vue&type=template&id=465c0e04&scoped=true&\"\nimport script from \"./FailureDetectionGauge.vue?vue&type=script&lang=js&\"\nexport * from \"./FailureDetectionGauge.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FailureDetectionGauge.vue?vue&type=style&index=0&id=465c0e04&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"465c0e04\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintCard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintCard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PrintCard.vue?vue&type=template&id=5aae4a5a&scoped=true&\"\nimport script from \"./PrintCard.vue?vue&type=script&lang=js&\"\nexport * from \"./PrintCard.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PrintCard.vue?vue&type=style&index=0&id=5aae4a5a&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5aae4a5a\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('video-box',{attrs:{\"video-url\":_vm.videoUrl,\"poster-url\":_vm.print.poster_url,\"fluid\":false,\"autoplay\":_vm.autoplay,\"fullscreen-btn\":false},on:{\"timeupdate\":_vm.onTimeUpdate}}),(_vm.isPublic)?_c('div',{staticClass:\"bg-warning alert-banner text-center\",style:({ opacity: _vm.normalizedP > 0.4 ? 1 : 0 })},[_c('i',{staticClass:\"fas fa-exclamation-triangle\"}),_vm._v(\" \"+_vm._s(_vm.$t(\"Possible failure detected!\"))+\" \")]):_vm._e(),_c('failure-detection-gauge',{attrs:{\"normalized-p\":_vm.normalizedP}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FullScreenPrintCard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FullScreenPrintCard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FullScreenPrintCard.vue?vue&type=template&id=64113028&scoped=true&\"\nimport script from \"./FullScreenPrintCard.vue?vue&type=script&lang=js&\"\nexport * from \"./FullScreenPrintCard.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FullScreenPrintCard.vue?vue&type=style&index=0&id=64113028&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"64113028\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintsPage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintsPage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PrintsPage.vue?vue&type=template&id=7a698682&scoped=true&\"\nimport script from \"./PrintsPage.vue?vue&type=script&lang=js&\"\nexport * from \"./PrintsPage.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PrintsPage.vue?vue&type=style&index=0&id=7a698682&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7a698682\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('page-layout',{scopedSlots:_vm._u([{key:\"content\",fn:function(){return [(_vm.isLoading)?_c('loading-placeholder'):_c('b-container',{attrs:{\"fluid\":\"\"}},[_c('b-row',[_c('b-col',{attrs:{\"lg\":\"5\"}},[_c('div',{staticClass:\"print-info\"},[_c('div',{staticClass:\"card-container print-details\"},[(_vm.currentIndex || _vm.currentIndex === 0)?_c('div',{staticClass:\"navigation-container\"},[_c('b-button',{attrs:{\"variant\":\"outline-secondary\",\"disabled\":!_vm.prevPrint},on:{\"click\":function($event){$event.preventDefault();return _vm.switchToPrint(_vm.prevPrint)}}},[_c('i',{staticClass:\"fas fa-chevron-left\"}),_vm._v(\"  \"+_vm._s(_vm.PrevPrintButtonTitle)+\" \")]),_c('div',{staticClass:\"summary truncated-wrapper\"},[_c('div',{staticClass:\"date truncated\"},[_vm._v(\" \"+_vm._s(_vm.print.started_at.format(_vm.absoluteDateFormat))+\" \")])]),_c('b-button',{attrs:{\"variant\":\"outline-secondary\",\"disabled\":!_vm.nextPrint},on:{\"click\":function($event){$event.preventDefault();return _vm.switchToPrint(_vm.nextPrint)}}},[_vm._v(\" \"+_vm._s(_vm.NextPrintButtonTitle)+\"  \"),_c('i',{staticClass:\"fas fa-chevron-right\"})])],1):_vm._e(),_c('div',[_c('div',{staticClass:\"info-line\"},[_c('div',{staticClass:\"label\"},[_c('div',{staticClass:\"icon\"},[_c('i',{staticClass:\"fas fa-info\"})]),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Status\")))])]),_c('div',{staticClass:\"value\"},[_c('div',{staticClass:\"print-status-color\",class:_vm.print.status.key},[_vm._v(\" \"+_vm._s(_vm.print.status.title)+\" \")])])]),_c('div',{staticClass:\"info-line\"},[_c('div',{staticClass:\"label\"},[_c('div',{staticClass:\"icon\"},[_c('i',{staticClass:\"far fa-clock\"})]),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Start time\")))])]),_c('div',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.print.started_at.format(_vm.absoluteDateFormat)))])]),_c('div',{staticClass:\"info-line\"},[_c('div',{staticClass:\"label\"},[_c('div',{staticClass:\"icon\"},[_c('i',{staticClass:\"far fa-clock\"})]),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"End time\")))])]),_c('div',{staticClass:\"value\"},[_vm._v(\" \"+_vm._s(_vm.print.ended_at ? _vm.print.ended_at.format(_vm.absoluteDateFormat) : '-')+\" \")])]),_c('div',{staticClass:\"info-line\"},[_c('div',{staticClass:\"label\"},[_c('div',{staticClass:\"icon\"},[_c('i',{staticClass:\"fas fa-clock\"})]),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Duration\")))])]),_c('div',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.print.duration || '-'))])]),_c('div',{staticClass:\"info-line\"},[_c('div',{staticClass:\"label\"},[_c('div',{staticClass:\"icon\"},[_c('i',{staticClass:\"fas fa-ruler-horizontal\"})]),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Filament used\")))])]),_c('div',{staticClass:\"value\"},[_vm._v(\" \"+_vm._s(_vm.print.filament_used ? _vm.humanizedFilamentUsage(_vm.print.filament_used) : '-')+\" \")])])])]),_c('g-code-details',{attrs:{\"file\":_vm.print.g_code_file || { filename: _vm.print.filename },\"show-open-button\":_vm.canOpenFile}}),_c('div',{staticClass:\"card-container printer\"},[_c('div',{staticClass:\"icon\"},[_c('svg',{staticStyle:{\"margin-bottom\":\"5px\"},attrs:{\"width\":\"1em\",\"height\":\"1em\"}},[_c('use',{attrs:{\"href\":\"#svg-3d-printer\"}})])]),_c('div',{staticClass:\"info truncated-wrapper\"},[_c('div',{staticClass:\"title truncated\",attrs:{\"title\":_vm.print.printer.name}},[_vm._v(\" \"+_vm._s(_vm.print.printer.name)+\" \")]),_c('div',{staticClass:\"subtitle truncated\",class:[\n _vm.printer\n ? _vm.printer.isPrintable() && !_vm.printer.inTransientState()\n ? 'text-success'\n : 'text-warning'\n : 'text-danger',\n ]},[_vm._v(\" \"+_vm._s(_vm.printer ? _vm.printer.printabilityText() : 'Deleted')+\" \")])]),(\n _vm.printer &&\n _vm.print.g_code_file &&\n !_vm.print.g_code_file.deleted &&\n _vm.print.g_code_file.url\n )?_c('div',{staticClass:\"action\"},[_c('button',{staticClass:\"btn btn-primary\",attrs:{\"disabled\":!_vm.printer.isPrintable() || _vm.printer.inTransientState()},on:{\"click\":_vm.onRepeatPrintClicked}},[(_vm.isSending)?_c('b-spinner',{staticClass:\"mr-2\",attrs:{\"small\":\"\"}}):_vm._e(),_c('span',[_vm._v(_vm._s(_vm.$t(\"Reprint\")))])],1)]):_vm._e()])],1)]),_c('b-col',{attrs:{\"lg\":\"7\"}},[_c('div',{staticClass:\"print-info\"},[(_vm.firstLayerInspection.id)?_c('div',{staticClass:\"card-container\"},[_c('b-row',{staticClass:\"m-0\"},[_c('b-col',{staticClass:\"first-layer-info-column\",attrs:{\"cols\":\"12\",\"sm\":\"6\",\"md\":\"6\",\"lg\":\"12\",\"xl\":\"6\"}},[_c('div',[_c('b-row',{staticClass:\"mb-4\"},[_c('span',{staticClass:\"ml-3\"},[_vm._v(_vm._s(_vm.$t(\"First Layer Report\")))])]),_c('div',{staticClass:\"first-layer-info-line\"},[_c('div',{staticClass:\"label\"},[_c('div',{staticClass:\"icon\"},[_c('i',{staticClass:\"fas fa-info\"})]),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"First Layer Grade\")))])]),_c('div',{staticClass:\"value\"},[_c('div',{staticClass:\"print-status-color\",class:_vm.gradeResult.gradeAccent},[_vm._v(\" \"+_vm._s(_vm.gradeResult.gradeTitle || ' ')+\" \")])])]),_c('div',{staticClass:\"first-layer-info-line\"},[_c('div',{staticClass:\"label\"},[_c('div',{staticClass:\"icon\"},[_c('i',{staticClass:\"far fa-clock\"})]),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"First Layer Print Time\")))])]),_c('div',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.firstLayerPrintTime))])])],1),_c('b-row',{staticClass:\"m-0\"},[_c('b-button',{staticClass:\"open-detailed-report-button\",on:{\"click\":_vm.onOpenDetailedReport}},[_vm._v(_vm._s(_vm.$t(\"Open Detailed Report\")))])],1)],1),_c('b-col',{staticClass:\"first-layer-report-block-video-container\",attrs:{\"cols\":\"12\",\"sm\":\"6\",\"md\":\"6\",\"lg\":\"12\",\"xl\":\"6\"}},[_c('div',{staticClass:\"first-layer-video-wrapper\",class:{\n 'is-fullscreen original':\n !!_vm.fullscreenUrl && _vm.fullscreenUrl === _vm.firstLayerInspection.tagged_video_url,\n }},[_c('video-box',{attrs:{\"video-url\":_vm.firstLayerInspection.tagged_video_url,\"poster-url\":_vm.aiTimeLapsePosterImageUrl,\"fluid\":false,\"fullscreen-btn\":_vm.fullscreenUrl === null,\"exit-fullscreen-btn\":_vm.fullscreenUrl !== null,\"download-btn\":true},on:{\"fullscreen\":() => _vm.enterFullscreen(_vm.firstLayerInspection.tagged_video_url),\"exitFullscreen\":_vm.exitFullscreen,\"download\":() => _vm.downloadFile(_vm.firstLayerInspection.tagged_video_url, `${_vm.print.id}_tagged_video_inspection.mp4`)}})],1)])],1)],1):_vm._e(),_c('div',{staticClass:\"time-lapse\"},[(_vm.print.video_archived_at)?_c('div',{staticClass:\"card-container\"},[_c('h2',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Time-Lapse video deleted\")))]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"Time-lapse videos older than 6-months are deleted from the {brandName} app server as they are rarely needed and cost significant amount to store in the cloud.\",{brandName:_vm.$syndicateText.brandName}))+\" \")]),_c('p',[_c('i18next',{attrs:{\"translation\":_vm.$t(`If you are a Pro subscriber and you don't want your time-lapse videos to be deleted, please {localizedDom}`)},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('a',{attrs:{\"href\":\"mailto:support@obico.io?subject=Please%20keep%20my%20timelapse%20videos\"}},[_vm._v(_vm._s(_vm.$t(\"contact us\")))])]},proxy:true}],null,false,4060562873)}),_vm._v(\" . \")],1)]):(_vm.print.video_url || _vm.print.tagged_video_url)?_c('div',[_c('b-card',{attrs:{\"no-body\":\"\"}},[_c('b-tabs',{attrs:{\"pills\":\"\",\"card\":\"\"}},[_c('b-tab',{attrs:{\"title\":\"Detective Time-Lapse\",\"disabled\":!_vm.canShowDetectiveView}},[_c('b-card-text',[(_vm.print.tagged_video_url)?_c('div',{class:{\n 'is-fullscreen':\n !!_vm.fullscreenUrl && _vm.fullscreenUrl === _vm.print.tagged_video_url,\n }},[_c('div',{staticClass:\"video-wrapper\"},[_c('video-box',{attrs:{\"video-url\":_vm.print.tagged_video_url,\"poster-url\":_vm.print.poster_url,\"fluid\":false,\"fullscreen-btn\":_vm.fullscreenUrl === null,\"exit-fullscreen-btn\":_vm.fullscreenUrl !== null,\"download-btn\":true},on:{\"timeupdate\":_vm.onTimeUpdate,\"fullscreen\":() => _vm.enterFullscreen(_vm.print.tagged_video_url),\"exitFullscreen\":_vm.exitFullscreen,\"download\":() => _vm.downloadFile(_vm.print.tagged_video_url, `${_vm.print.id}_tagged.mp4`)}})],1),_c('div',{staticClass:\"detective-footer\"},[(_vm.print.prediction_json_url)?_c('failure-detection-gauge',{attrs:{\"normalized-p\":_vm.normalizedP}}):_vm._e(),_c('div',{staticClass:\"feedback-section\"},[_c('div',{staticClass:\"lead\",class:[_vm.print.alerted_at ? 'text-danger' : 'text-success']},[_vm._v(\" \"+_vm._s(_vm.print.alerted_at ? 'Failure detected' : 'No failure detected')+\" \")]),_c('div',{staticClass:\"py-2\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Did we get it right?\"))+\" \"),_c('b-button',{staticClass:\"mx-2 btn-sm\",attrs:{\"variant\":_vm.thumbedUp ? 'primary' : 'outline'},on:{\"click\":_vm.onThumbUpClick}},[(_vm.inflightAlertOverwrite)?_c('b-spinner',{attrs:{\"type\":\"grow\",\"small\":\"\"}}):_c('i',{staticClass:\"fas fa-thumbs-up\"})],1),_c('b-button',{staticClass:\"mx-2 btn-sm\",attrs:{\"variant\":_vm.thumbedDown ? 'primary' : 'outline'},on:{\"click\":_vm.onThumbDownClick}},[(_vm.inflightAlertOverwrite)?_c('b-spinner',{attrs:{\"type\":\"grow\",\"small\":\"\"}}):_c('i',{staticClass:\"fas fa-thumbs-down\"})],1)],1),_c('transition',{attrs:{\"name\":\"bounce\"}},[(_vm.print.printShotFeedbackEligible)?_c('div',{staticClass:\"pt-2\"},[_c('b-button',{attrs:{\"variant\":\"outline-primary\",\"size\":\"sm\",\"href\":`/prints/shot-feedback/${_vm.print.id}/`}},[(!_vm.print.need_print_shot_feedback)?_c('i',{staticClass:\"fas fa-check mr-2\"}):_vm._e(),_vm._v(\" \"+_vm._s(_vm.$t(\"FOCUSED FEEDBACK\"))+\" \")])],1):_vm._e()]),_c('div',{staticClass:\"about-feedback\"},[(_vm.print.printShotFeedbackEligible)?_c('small',[(!_vm.print.need_print_shot_feedback)?_c('span',[_vm._v(\" \"+_vm._s(_vm.$t(\"Thank you for completing the Focused Feedback. You have earned 2 non-expirable AI Detection Hours. You can click the button again to change your feedback.\"))+\" \")]):_c('span',[_vm._v(\" \"+_vm._s(_vm.$t(\"With Focused Feedback, you can tell us exactly where we got it wrong. This is the most effective way to help us improve.\"))+\" \"),_c('a',{attrs:{\"href\":_vm.getDocUrl('/user-guides/how-does-credits-work#you-earn-detective-hours-for-giving-focused-feedback'),\"target\":\"_blank\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"You will earn 2 AI Detection Hours once you finish the Focused Feedback\"))+\" \")])])]):_c('small',[_vm._v(\" \"+_vm._s(_vm.$t(\"Every time you give us feedback,\"))+\" \"),_c('a',{attrs:{\"href\":_vm.getDocUrl('/user-guides/how-does-credits-work/'),\"target\":\"_blank\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"you help us get better at detecting failures\"))+\" \")])])])],1)],1)]):_c('div',[_c('detective-working',{staticClass:\"detective-placeholder\"})],1)])],1),(_vm.print.video_url)?_c('b-tab',{attrs:{\"active\":!_vm.print.tagged_video_url,\"title\":\"Original Time-Lapse\"}},[_c('b-card-text',[_c('div',{class:{\n 'is-fullscreen original':\n !!_vm.fullscreenUrl && _vm.fullscreenUrl === _vm.print.video_url,\n }},[_c('div',{staticClass:\"video-wrapper\"},[_c('video-box',{attrs:{\"video-url\":_vm.print.video_url,\"poster-url\":_vm.print.poster_url,\"fluid\":false,\"fullscreen-btn\":_vm.fullscreenUrl === null,\"exit-fullscreen-btn\":_vm.fullscreenUrl !== null,\"download-btn\":true},on:{\"timeupdate\":_vm.onTimeUpdate,\"fullscreen\":() => _vm.enterFullscreen(_vm.print.video_url),\"exitFullscreen\":_vm.exitFullscreen,\"download\":() => _vm.downloadFile(_vm.print.video_url, `${_vm.print.id}.mp4`)}})],1)])])],1):_vm._e()],1)],1)],1):_c('div',{staticClass:\"card-container\"},[_c('p',{staticClass:\"text-secondary mt-3\"},[_vm._v(_vm._s(_vm.$t(\"Time-Lapse video unavailable because\"))+\":\")]),_c('ul',[_c('li',{staticClass:\"text-secondary mt-3\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"The {brandName} server is still processing the time-lapse;\",{brandName:_vm.$syndicateText.brandName}))+\" \")]),_c('li',{staticClass:\"text-secondary mt-3\"},[_c('i18next',{attrs:{\"translation\":_vm.$t(`Or, the print time was shorter than the threshold. You can change the threshold in {localizedDom}`)},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('a',{attrs:{\"href\":`/printers/${_vm.print.printer.id}/`}},[_vm._v(_vm._s(_vm.$t(\"the printer settings\"))+\".\")])]},proxy:true}])})],1)])])])])])],1)],1)]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","'use strict'\nimport assign from 'lodash/assign'\nimport Vue from 'vue'\nimport ifvisible from 'ifvisible'\nimport pako from 'pako'\nimport { toArrayBuffer } from '@src/lib/utils'\nimport { clearPrinterTransientState } from '@src/lib/printer-transient-state'\nimport i18n from '@src/i18n/i18n.js'\n\n// PrinterCommManager is a singleton: https://www.sitepoint.com/javascript-design-patterns-singleton/\nclass PrinterCommManager {\n constructor() {\n if (!PrinterCommManager.instance) {\n this.printerCommMap = new Map()\n PrinterCommManager.instance = this\n }\n return PrinterCommManager.instance\n }\n\n setPrinterComm(printerId, printerComm) {\n this.printerCommMap.set(printerId, printerComm)\n }\n\n getPrinterComm(printerId) {\n return this.printerCommMap.get(printerId)\n }\n\n getOrCreatePrinterComm(...props) {\n const printerId = String(props[0]) // assuming same args as for PrinterComm function\n if (!this.getPrinterComm(printerId)) {\n this.setPrinterComm(printerId, PrinterComm(...props))\n }\n return this.getPrinterComm(printerId)\n }\n\n closeConnection(printerId) {\n const printerComm = this.getPrinterComm(printerId)\n if (printerComm) {\n printerComm.closeServerWebSocket()\n if (printerComm.webrtc) printerComm.webrtc.close()\n this.printerCommMap.delete(printerId)\n }\n }\n\n closeAllConnections() {\n this.printerCommMap.forEach((_, token) => this.closeConnection(token))\n }\n}\n\nexport const printerCommManager = new PrinterCommManager()\nObject.freeze(printerCommManager)\n\nexport default function PrinterComm(printerId, wsUri, callbacks) {\n const self = { printerId, wsUri, ...callbacks }\n\n self.ws = null\n self.webrtc = null\n self.passthruQueue = new Map()\n ifvisible.on('blur', function () {\n self.closeWebSocket()\n })\n\n ifvisible.on('focus', function () {\n self.connect()\n })\n\n self.onPassThruReceived = function (msg) {\n const refId = msg.ref\n if (refId && self.passthruQueue.get(refId)) {\n const callback = self.passthruQueue.get(refId)\n self.passthruQueue.delete(refId)\n callback(msg.error, msg.ret)\n } else if ('terminal_feed' in msg) {\n self.onTerminalFeedReceived && self.onTerminalFeedReceived(msg.terminal_feed)\n } else if ('printer_event' in msg) {\n const printerEvent = msg.printer_event\n Vue.swal.Toast.fire({\n icon: printerEvent.event_class.toLowerCase(),\n title: printerEvent.event_title,\n html: printerEvent.event_text,\n }).then((result) => {\n if (result.isDismissed && result.dismiss === 'close') {\n // SWAL returns 'close' as the reason when user clicks on the toast\n window.location.href = '/printer_events/'\n }\n })\n }\n }\n\n self.connect = function (onOpenCallback = null) {\n if (self.ws && self.ws.readyState === WebSocket.OPEN) {\n onOpenCallback && onOpenCallback()\n return\n }\n\n self.ws = new WebSocket(\n window.location.protocol.replace('http', 'ws') + '//' + window.location.host + self.wsUri\n )\n self.ws.onmessage = function (e) {\n let msg = {}\n try {\n msg = JSON.parse(e.data)\n } catch (error) {\n console.log(e.data)\n throw error\n }\n if ('passthru' in msg) {\n self.onPassThruReceived(msg.passthru)\n } else {\n self.onPrinterUpdateReceived && self.onPrinterUpdateReceived(msg)\n }\n }\n\n if (onOpenCallback) {\n self.ws.onopen = onOpenCallback\n }\n\n self.ensureWebsocketClosed()\n setTimeout(function () {\n self.heartbeat()\n }, 30 * 1000)\n }\n\n self.setWebRTC = function (webrtc) {\n self.webrtc = webrtc\n\n function parseJsonData(jsonData) {\n let msg = {}\n try {\n msg = JSON.parse(jsonData)\n } catch (error) {\n // Any garbage sent to the Janus UDP port will be forwarded here.\n return\n }\n\n if (msg && 'ref' in msg && 'ret' in msg) {\n self.onPassThruReceived(msg)\n return\n }\n\n self.onStatusReceived && self.onStatusReceived(msg)\n }\n\n self.webrtc.setCallbacks({\n onData: (maybeBin) => {\n if (typeof maybeBin === 'string' || maybeBin instanceof String) {\n parseJsonData(maybeBin)\n } else {\n toArrayBuffer(maybeBin, (arrayBuffer) => {\n parseJsonData(pako.ungzip(new Uint8Array(arrayBuffer), { to: 'string' }))\n })\n }\n },\n })\n }\n\n self.passThruToPrinter = function (msg, callback) {\n if (self.canSend()) {\n var refId = Math.random().toString()\n assign(msg, { ref: refId })\n if (callback) {\n self.passthruQueue.set(refId, callback)\n setTimeout(function () {\n if (self.passthruQueue.has(refId)) {\n clearPrinterTransientState(self.printerId)\n Vue.swal.Toast.fire({\n icon: 'error',\n title: `${i18n.t('Failed to contact printer. Is it powered on and connected to Internet?')}`,\n })\n }\n }, 60 * 1000)\n }\n if (self.webrtc) {\n self.webrtc.sendData(JSON.stringify(msg))\n }\n self.ws.send(JSON.stringify({ passthru: msg }))\n } else {\n if (callback) {\n clearPrinterTransientState(self.printerId)\n callback('Message not passed through. No suitable WebSocket.')\n }\n }\n }\n\n // Helper methods\n\n self.ensureWebsocketClosed = function () {\n self.ws.onclose = function (ev) {\n if (self.ws === ev.target) {\n self.ws = null\n }\n }\n self.ws.onerror = function () {\n if (self.ws) {\n self.ws.close()\n }\n }\n }\n\n self.closeWebSocket = function () {\n if (self.ws) {\n self.ws.close()\n }\n }\n\n // Heartbeat to maintain the presence of connection\n // Adapted from https://stackoverflow.com/questions/50876766/how-to-implement-ping-pong-request-for-websocket-connection-alive-in-javascript\n\n self.heartbeat = function () {\n if (!self.canSend()) {\n return\n }\n self.ws.send(JSON.stringify({}))\n setTimeout(function () {\n self.heartbeat()\n }, 30 * 1000)\n }\n\n self.canSend = function () {\n return self.ws && self.ws.readyState === 1\n }\n\n return self\n}\n","import { toMomentOrNull } from '@src/lib/normalizers'\nimport filesize from 'filesize'\nimport _ from 'lodash'\n\nexport function listPrinterLocalGCodesOctoPrint(printerComm, path, searchKeyword) {\n const listRecoursively = (fileObj) => {\n const fileList = []\n for (const item of Object.values(fileObj)) {\n if (item.children) {\n fileList.push(...listRecoursively(item.children))\n } else {\n fileList.push(item)\n }\n }\n return fileList\n }\n\n return new Promise((resolve, reject) => {\n let kwargs\n if (searchKeyword) {\n // In OctoPrint we can do global search for better user experience. Hence path is ignored\n kwargs = { filter: String(searchKeyword), recursive: true }\n } else {\n kwargs = { path: path, recursive: false, level: 1 } // Return 1 level children so that we can do item count\n }\n\n printerComm.passThruToPrinter(\n {\n func: 'list_files',\n target: '_file_manager',\n kwargs,\n },\n (err, ret) => {\n if (err) {\n reject(err)\n }\n\n let folders = []\n let files = []\n\n if (!ret?.local || !Object.keys(ret.local).length) {\n resolve()\n return\n }\n\n // ObicoUpload is used to cache Obico Cloud files and should be hidden from the users\n delete ret.local.ObicoUpload\n\n const items = searchKeyword ? listRecoursively(ret.local) : Object.values(ret.local)\n for (const item of items) {\n if (item.type === 'folder') {\n folders.push({\n id: item.path,\n path: item.path,\n name: item.display,\n numItems: Object.keys(item.children).length,\n })\n } else {\n files.push({\n ...item,\n id: item.path,\n filename: item.name,\n num_bytes: item.size,\n filesize: filesize(item.size),\n created_at: toMomentOrNull(new Date(item.date * 1000)),\n getBigThumbnailUrl: () => null,\n getSmallThumbnailUrl: () => null,\n })\n }\n }\n resolve({ folders, files })\n }\n )\n })\n}\n\nexport function listPrinterLocalGCodesMoonraker(printerComm, path, searchKeyword) {\n return new Promise((resolve, reject) => {\n const pathPrefix = path == null ? '' : `${path}/`\n printerComm.passThruToPrinter(\n {\n target: 'moonraker_api',\n func: 'server/files/directory',\n kwargs: {\n path: `gcodes/${path ? path : ''}`,\n extended: true,\n },\n },\n (err, ret) => {\n if (err) {\n reject(err)\n }\n // subdirs should be ignored when user is searching\n const dirsInServerFormat = searchKeyword\n ? []\n : _.map(\n _.filter(\n _.get(ret, 'dirs', []),\n (d) => !d.dirname.startsWith('.') && !d.dirname.startsWith('Obico_Upload')\n ),\n (d) => {\n const path = `${pathPrefix}${d.dirname}`\n return {\n name: d.dirname,\n id: path,\n path,\n children: [], // To signify this is a folder, not a file\n }\n }\n )\n\n const filesInServerFormat = _.map(\n _.filter(\n _.get(ret, 'files', []),\n (f) =>\n !f.filename.startsWith('.') &&\n (!searchKeyword || f.filename.toLowerCase().includes(searchKeyword.toLowerCase()))\n ),\n (f) => {\n return {\n ...f,\n num_bytes: f.size,\n filesize: filesize(f.size),\n created_at: toMomentOrNull(new Date(f.modified * 1000)),\n path: `${pathPrefix}${f.filename}`,\n getBigThumbnailUrl: () => null,\n getSmallThumbnailUrl: () => null,\n }\n }\n )\n resolve({ folders: dirsInServerFormat, files: filesInServerFormat })\n }\n )\n })\n}\n\nexport function printPrinterLocalGCodeOctoPrint(printerComm, gcode) {\n return new Promise((resolve, reject) => {\n const path = gcode.path\n printerComm.passThruToPrinter(\n {\n func: 'select_file',\n target: '_printer',\n args: [`${path}`, null],\n kwargs: { printAfterSelect: 'true' },\n },\n (err, ret) => {\n if (err) {\n reject(err)\n } else {\n resolve()\n }\n }\n )\n })\n}\n\nexport function printPrinterLocalGCodeMoonraker(printerComm, gcode) {\n return new Promise((resolve, reject) => {\n const path = gcode.path\n printerComm.passThruToPrinter(\n {\n target: 'moonraker_api',\n func: 'printer/print/start',\n kwargs: {\n verb: 'post',\n filename: path,\n },\n },\n (err, ret) => {\n if (err) {\n reject(err)\n } else {\n resolve()\n }\n }\n )\n })\n}\n\nexport function repeatPrinterLocalGCode(printerComm, gcode) {\n return new Promise((resolve, reject) => {\n printerComm.passThruToPrinter(\n {\n target: 'file_operations',\n func: 'start_printer_local_print',\n args: [gcode],\n },\n (err, ret) => {\n if (err || ret?.error) {\n reject(err || ret?.error)\n } else {\n resolve()\n }\n }\n )\n })\n}\n\nexport function getMoonrakerWebcams(printerComm) {\n return new Promise((resolve, reject) => {\n printerComm.passThruToPrinter(\n {\n func: `server/webcams/list`,\n target: 'moonraker_api',\n },\n (err, ret) => {\n if (err || ret?.error) {\n reject(err || ret?.error)\n } else {\n resolve(ret?.webcams)\n }\n }\n )\n })\n}\n\nexport function requestSnapshot(printerComm, url) {\n return new Promise((resolve, reject) => {\n printerComm.passThruToPrinter(\n {\n func: `web_snapshot_request`,\n target: 'jpeg_poster',\n args: [url],\n },\n (err, ret) => {\n if (err || ret?.error) {\n reject(err || ret?.error)\n } else {\n resolve(ret.pic)\n }\n }\n )\n })\n}\n","import Vue from 'vue'\nimport axios from 'axios'\nimport get from 'lodash/get'\nimport { clearPrinterTransientState } from '@src/lib/printer-transient-state'\n\nimport { printerCommManager } from '@src/lib/printer-comm'\nimport {\n printPrinterLocalGCodeOctoPrint,\n printPrinterLocalGCodeMoonraker,\n} from '@src/lib/printer-local-comm'\nimport urls from '@config/server-urls'\nimport { repeatPrinterLocalGCode } from '../../lib/printer-local-comm'\nimport i18n from \"@src/i18n/i18n.js\"\n\nexport const confirmPrint = (gcode, printer) => {\n return new Promise((resolve, reject) => {\n Vue.swal\n .fire({\n html: `
${i18n.t(\"Print\")} \"${gcode.filename}\" on ${printer.name}?
`,\n imageUrl: gcode.getBigThumbnailUrl && gcode.getBigThumbnailUrl(),\n showCancelButton: true,\n confirmButtonText: `${i18n.t('Print!')}`,\n cancelButtonText: `${i18n.t('Cancel')}`,\n reverseButtons: true,\n })\n .then((result) => {\n if (result.value) {\n resolve()\n }\n })\n })\n}\n\nexport function printCloudGCode(printerComm, gcode) {\n return new Promise((resolve, reject) => {\n printerComm.passThruToPrinter(\n {\n func: 'download',\n target: 'file_downloader',\n args: [\n {\n id: gcode.id,\n url: gcode.url,\n filename: gcode.filename,\n safe_filename: gcode.safe_filename,\n },\n ],\n },\n (err, ret) => {\n if (err) {\n reject(err)\n } else {\n resolve()\n }\n }\n )\n })\n}\n\nexport const sendToPrint = (args) => {\n const { printer, gcode, isCloud, Swal, onCommandSent, onPrinterStatusChanged } = args\n\n const printerId = printer.id\n const isAgentMoonraker = printer.isAgentMoonraker()\n\n const printerComm = printerCommManager.getOrCreatePrinterComm(\n printerId,\n urls.printerWebSocket(printerId)\n )\n\n printerComm.connect(() => {\n const printGCode = isCloud\n ? printCloudGCode\n : !gcode.path\n ? repeatPrinterLocalGCode\n : isAgentMoonraker\n ? printPrinterLocalGCodeMoonraker\n : printPrinterLocalGCodeOctoPrint\n\n printer.setTransientState(isCloud ? 'G-Code Downloading' : 'Starting')\n printGCode(printerComm, gcode).catch((err) => {\n clearPrinterTransientState(printerId)\n Swal.Toast.fire({\n icon: 'error',\n title: err,\n })\n })\n })\n\n onCommandSent && onCommandSent()\n\n const checkPrinterStatus = async () => {\n let printer\n try {\n printer = await axios.get(urls.printer(printerId))\n printer = printer.data\n } catch (e) {\n console.error(e)\n return\n }\n\n if (\n get(printer, 'status.state.text') === 'Operational' ||\n get(printer, 'status.state.text') === 'G-Code Downloading' ||\n get(printer, 'status.state.text') === 'Downloading G-Code' // Backward compatibility with OctoPrint-Obico 2.3.7 - 2.3.9\n ) {\n setTimeout(checkPrinterStatus, 1000)\n } else {\n onPrinterStatusChanged && onPrinterStatusChanged()\n }\n }\n\n checkPrinterStatus()\n}\n\nconst REDIRECT_TIMER = 3000\nexport const showRedirectModal = (Swal, onClose, printerId) => {\n let timerInterval\n Swal.Prompt.fire({\n html: `\n
\n
\n ${i18n.t(\"You'll be redirected to printers page in\")} ${Math.round(\n REDIRECT_TIMER / 1000\n )} ${i18n.t(\"seconds\")}\n
\n
\n `,\n timer: REDIRECT_TIMER,\n showConfirmButton: true,\n showCancelButton: true,\n confirmButtonText: 'Redirect now',\n onOpen: () => {\n timerInterval = setInterval(() => {\n const htmlContainer = Swal.getHtmlContainer()\n const timerElement = htmlContainer?.querySelector('strong')\n if (!htmlContainer || !timerElement) return\n timerElement.textContent = (Swal.getTimerLeft() / 1000).toFixed(0)\n }, 1000)\n },\n onClose: () => {\n clearInterval(timerInterval)\n timerInterval = null\n },\n }).then((result) => {\n if (result.isConfirmed || result.dismiss === 'timer') {\n window.location.assign(`/printers/${printerId}/control/`)\n } else {\n onClose && onClose()\n }\n })\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"card-container file\"},[_c('div',{staticClass:\"file-header\",class:{\n 'mb-4': _vm.showDetails && _vm.fileDetailsToShow.length > 0,\n compact: _vm.compactView,\n }},[(_vm.showThumbnail)?_c('div',[(_vm.bigThumbnailUrl)?_c('div',{staticClass:\"thumbnail\"},[_c('img',{attrs:{\"src\":_vm.bigThumbnailUrl}})]):_c('div',{staticClass:\"thumbnail-placeholder\"},[_c('span',{staticClass:\"help\"},[_c('help-widget',{attrs:{\"id\":\"thumbnail-setup-guide\",\"highlight\":false,\"show-close-button\":false}})],1),_c('svg',[_c('use',{attrs:{\"href\":\"#svg-no-photo\"}})])])]):_c('div',{staticClass:\"icon\"},[_c('i',{staticClass:\"fas fa-file-code\"})]),_c('div',{staticClass:\"info truncated-wrapper\"},[_c('div',{staticClass:\"title truncated\",attrs:{\"title\":_vm.file.filename}},[_vm._v(\" \"+_vm._s(_vm.file.filename)+\" \")]),(_vm.file.filesize || _vm.file.deleted)?_c('div',{staticClass:\"subtitle text-secondary truncated-wrapper\"},[(_vm.file.deleted)?_c('div',{staticClass:\"truncated\"},[_c('span',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.$t(\"Deleted\")))])]):_c('div',{staticClass:\"truncated\"},[_c('span',[_vm._v(_vm._s(_vm.file.filesize))])])]):_vm._e()]),(_vm.showOpenButton && _vm.file.id)?_c('div',{staticClass:\"action\"},[_c('b-button',{staticClass:\"custom-button\",attrs:{\"variant\":_vm.openButtonVariant,\"href\":`/g_code_files/cloud/${_vm.file.id}/`}},[_vm._v(\" \"+_vm._s(_vm.openButtonText)+\" \")])],1):_vm._e()]),(_vm.showDetails)?[_vm._l((_vm.fileDetailsToShow.slice(0, _vm.numberOfVisibleLines)),function(item){return _c('div',{key:item.name},[_c('div',{staticClass:\"line\"},[_c('div',{staticClass:\"label\"},[_c('div',{staticClass:\"icon\"},[(item.faIcon)?_c('i',{class:item.faIcon}):(item.svgIcon)?_c('svg',{attrs:{\"width\":\"16\",\"height\":\"16\"}},[_c('use',{attrs:{\"href\":`#${item.svgIcon}`}})]):_vm._e()]),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(item.title))])]),_c('div',{staticClass:\"value\"},[_c('span',{domProps:{\"innerHTML\":_vm._s(item.value)}})])])])}),(_vm.shouldShowDataNotice && _vm.fileDetailsToShow.length <= _vm.numberOfVisibleLines)?_c('muted-alert',{staticClass:\"mt-2 mb-1\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Fields above were embedded in the G-Code file by your slicer. Consult your slicer's manual if some fields are not accurate or missing.\"))+\" \")]):_vm._e(),(_vm.fileDetailsToShow.length > _vm.numberOfVisibleLines)?_c('collapsable-details',[_vm._l((_vm.fileDetailsToShow.slice(_vm.numberOfVisibleLines)),function(item){return _c('div',{key:item.name},[_c('div',{staticClass:\"line\"},[_c('div',{staticClass:\"label\"},[_c('div',{staticClass:\"icon\"},[(item.faIcon)?_c('i',{class:item.faIcon}):(item.svgIcon)?_c('svg',{attrs:{\"width\":\"16\",\"height\":\"16\"}},[_c('use',{attrs:{\"href\":`#${item.svgIcon}`}})]):_vm._e()]),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(item.title))])]),_c('div',{staticClass:\"value\"},[_c('span',{domProps:{\"innerHTML\":_vm._s(item.value)}})])])])}),(_vm.shouldShowDataNotice && _vm.fileDetailsToShow.length > _vm.numberOfVisibleLines)?_c('muted-alert',{staticClass:\"mt-2 mb-1\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Fields above were embedded in the G-Code file by your slicer. Consult your slicer's manual if some fields are not accurate or missing.\"))+\" \")]):_vm._e()],2):_vm._e()]:_vm._e()],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('b-collapse',{model:{value:(_vm.expanded),callback:function ($$v) {_vm.expanded=$$v},expression:\"expanded\"}},[_vm._t(\"default\")],2),_c('button',{staticClass:\"collapse-toggle\",class:_vm.expanded ? 'opened' : 'closed',on:{\"click\":function($event){_vm.expanded = !_vm.expanded}}},[(_vm.expanded)?_c('span',[_vm._v(_vm._s(_vm.$t(\"Show less\")))]):_c('span',[_vm._v(_vm._s(_vm.$t(\"Show more\")))]),_c('font-awesome-icon',{class:{ rotated: _vm.expanded },attrs:{\"icon\":['fas', 'chevron-down']}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CollapsableDetails.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CollapsableDetails.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CollapsableDetails.vue?vue&type=template&id=572cc95b&scoped=true&\"\nimport script from \"./CollapsableDetails.vue?vue&type=script&lang=js&\"\nexport * from \"./CollapsableDetails.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CollapsableDetails.vue?vue&type=style&index=0&id=572cc95b&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"572cc95b\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GCodeDetails.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GCodeDetails.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./GCodeDetails.vue?vue&type=template&id=0991d3bd&scoped=true&\"\nimport script from \"./GCodeDetails.vue?vue&type=script&lang=js&\"\nexport * from \"./GCodeDetails.vue?vue&type=script&lang=js&\"\nimport style0 from \"./GCodeDetails.vue?vue&type=style&index=0&id=0991d3bd&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0991d3bd\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"p-2\"},[_c('b-row',[_c('h4',{staticClass:\"mb-4 report-title\"},[_vm._v(_vm._s(_vm.$t(\"First Layer Report\")))])]),_c('b-row',[_c('b-col',{attrs:{\"lg\":\"7\"}},[_c('div',{staticClass:\"file-block mb-3\"},[_c('div',{staticClass:\"file-header compact\",class:{compact: _vm.compactView}},[(_vm.showIconThumbnail)?_c('div',[(_vm.bigThumbnailUrl)?_c('div',{staticClass:\"thumbnail\"},[_c('img',{attrs:{\"src\":_vm.bigThumbnailUrl}})]):_c('div',{staticClass:\"thumbnail-placeholder\"},[_c('span',{staticClass:\"help\"},[_c('help-widget',{attrs:{\"id\":\"thumbnail-setup-guide\",\"highlight\":false,\"show-close-button\":false}})],1),_c('svg',[_c('use',{attrs:{\"href\":\"#svg-no-photo\"}})])])]):_c('div',{staticClass:\"icon\"},[_c('i',{staticClass:\"fas fa-file-code\"})]),_c('div',{staticClass:\"info truncated-wrapper\"},[_c('div',{staticClass:\"truncated\",attrs:{\"title\":_vm.file.filename}},[_vm._v(\" \"+_vm._s(_vm.file.filename)+\" \")]),(_vm.file.filesize || _vm.file.deleted)?_c('div',{staticClass:\"subtitle text-secondary truncated-wrapper\"},[(_vm.file.deleted)?_c('div',{staticClass:\"truncated\"},[_c('span',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.$t(\"Deleted\")))])]):_c('div',{staticClass:\"truncated\"},[_c('span',[_vm._v(_vm._s(_vm.file.filesize)+\", \"+_vm._s(_vm.$t(\"uploaded\"))+\" \"+_vm._s(_vm.fileUploadedTime))])])]):_vm._e()]),_c('div',{staticClass:\"button\"},[(_vm.showOpenButton && _vm.file.id)?_c('b-button',{attrs:{\"href\":`/g_code_files/cloud/${_vm.file.id}/`}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Open File\"))+\" \")]):_vm._e()],1)]),_c('div',{staticClass:\"first-layer-report-info-line\"},[_c('div',{staticClass:\"label\"},[_c('div',{staticClass:\"icon\"},[_c('i',{staticClass:\"fas fa-info\"})]),_c('div',[_vm._v(_vm._s(_vm.$t(\"First Layer Grade\")))])]),_c('div',{staticClass:\"value\"},[_c('div',{class:_vm.gradeResult.gradeAccent},[_vm._v(\" \"+_vm._s(_vm.gradeResult.gradeTitle || ' ')+\" \")])])]),_c('div',{staticClass:\"first-layer-report-info-line\"},[_c('div',{staticClass:\"label\"},[_c('div',{staticClass:\"icon\"},[_c('i',{staticClass:\"far fa-clock\"})]),_c('div',[_vm._v(_vm._s(_vm.$t(\"First Layer Print Time\")))])]),_c('div',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.firstLayerPrintTime))])])]),_c('div',{staticClass:\"notes-block mb-3\"},[_c('b-row',[_c('span',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"First Layer Notes\")))])]),_c('hr'),_c('b-row',[_c('div',{staticClass:\"description\"},[_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"You're first layer score is\"))+\": \"),_c('span',{staticClass:\"font-bold\",class:_vm.gradeResult.gradeAccent},[_vm._v(_vm._s(_vm.gradeResult.grade))]),_c('br'),_vm._v(\" \"+_vm._s(_vm.gradeResult.gradeRemarks)+\" \")])])]),(!_vm.isGradeA)?_c('hr'):_vm._e(),_c('b-row',[(!_vm.isGradeA)?_c('div',{staticClass:\"info\"},[_c('p',[_c('i18next',{attrs:{\"translation\":_vm.$t(`Grade {localizedDom} usually means one of the following`)},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('span',{class:_vm.gradeResult.gradeAccent},[_vm._v(_vm._s(_vm.gradeResult.grade))])]},proxy:true}],null,false,3047815858)})],1),_c('ul',_vm._l((_vm.gradeResult.gradeSuggestion),function(suggestion,index){return _c('li',{key:index,domProps:{\"innerHTML\":_vm._s(suggestion)}})}),0)]):_vm._e()])],1)]),_c('b-col',{staticClass:\"heatmap-column\",attrs:{\"lg\":\"5\"}},[_c('b-card',{attrs:{\"no-body\":\"\"}},[_c('b-tabs',{attrs:{\"pills\":\"\",\"card\":\"\"}},[_c('b-tab',{attrs:{\"title\":_vm.$t('AI Time-Lapse')}},[_c('b-card-text',[_c('div',{staticClass:\"first-layer-modal-video-wrapper\"},[_c('video-box',{attrs:{\"video-url\":_vm.firstLayerInspection.tagged_video_url,\"poster-url\":_vm.aiTimeLapsePosterImageUrl,\"fluid\":false,\"fullscreen-btn\":false,\"download-btn\":true,\"default-full-screen-toggle\":true},on:{\"download\":() => _vm.downloadFile(_vm.firstLayerInspection.tagged_video_url, `${_vm.print.id}_tagged_video_inspection.mp4`)}})],1)])],1),_c('b-tab',{attrs:{\"title\":_vm.$t('Original Time-Lapse')}},[_c('b-card-text',[_c('div',{staticClass:\"first-layer-modal-video-wrapper\"},[_c('video-box',{attrs:{\"video-url\":_vm.firstLayerInspection.video_url,\"poster-url\":_vm.firstLayerInspection.images.length ? _vm.firstLayerInspection.images[0].image_url : null,\"fluid\":false,\"fullscreen-btn\":false,\"download-btn\":true,\"default-full-screen-toggle\":true},on:{\"download\":() => _vm.downloadFile(_vm.firstLayerInspection.video_url, `${_vm.print.id}_video_inspection.mp4`)}})],1)])],1)],1)],1)],1)],1),_c('b-row',{staticClass:\"buttons-row\"},[_c('b-col',{attrs:{\"cols\":\"12\",\"lg\":\"7\"}},[_c('a',{staticClass:\"feedback-button\",attrs:{\"href\":`/first_layer_inspection_images/?print_id=${_vm.print.id}`}},[_vm._v(_vm._s(_vm.$t(\"Give Feedback About This Report\")))])])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FirstLayerReportModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FirstLayerReportModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FirstLayerReportModal.vue?vue&type=template&id=c7824f38&scoped=true&\"\nimport script from \"./FirstLayerReportModal.vue?vue&type=script&lang=js&\"\nexport * from \"./FirstLayerReportModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FirstLayerReportModal.vue?vue&type=style&index=0&id=c7824f38&prod&lang=sass&scoped=true&\"\nimport style1 from \"./FirstLayerReportModal.vue?vue&type=style&index=1&id=c7824f38&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"c7824f38\",\n null\n \n)\n\nexport default component.exports","export function calculateGrade(score) {\n if (score >= 80) {\n return {\n grade: 'A',\n gradeTitle: 'A - Flawless First Layer',\n gradeAccent: 'text-success',\n gradeRemarks: \"You have got a perfect first layer! Way to go!\",\n gradeSuggestion: [],\n }\n } else if (score >= 60) {\n return {\n grade: 'B',\n gradeTitle: 'B - Barely a Blemish, Bravo!',\n gradeAccent: 'text-success',\n gradeRemarks: \"You’re first layer is almost perfect! The risk of the first layer to cause a failure later is VERY LOW.\",\n gradeSuggestion: [\n \"Minor under-extrusion.\",\n \"Minor over-extrusion.\",\n \"Suboptimal z-offset setting that causes the material to not bond perfectly.\",\n \"Uneven print bed coupled with suboptimal auto-bed-leveling.\",\n \"Other problems that cause the first layer to have defects.\"\n ],\n }\n } else if (score >= 40) {\n return {\n grade: 'C',\n gradeTitle: 'C - Okay First Layer',\n gradeAccent: 'text-warning',\n gradeRemarks: \"The risk for the first layer to cause your print to fail later is LOW. However, if you want a perfect bottom surface finish and structural strength, you can stop the print, perfect your first layer, and restart the print.\",\n gradeSuggestion: [\n \"Under-extrusion.\",\n \"Over-extrusion.\",\n \"Suboptimal z-offset setting that causes the material to not bond perfectly.\",\n \"Contaminated print bed that causes the material in some areas to slightly bubble or wrap.\",\n \"Uneven print bed coupled with suboptimal auto-bed-leveling.\",\n \"Other problems that cause the first layer to have defects.\"\n ],\n }\n } else if (score >= 20) {\n return {\n grade: 'D',\n gradeTitle: 'D - Definitely Needs Tuning',\n gradeAccent: 'text-danger',\n gradeRemarks: \"It looks like your printer has run into some trouble on the first layer. The risk for the first layer to cause your print to failure later is MEDIUM. Although these first layer issues probably won't cause the print to fail later, you should consider fixing them and restarting the print, especially if you want to have a good bottom surface finish and structural strength.\",\n gradeSuggestion: [\n \"Significant under-extrusion.\",\n \"Uneven print bed coupled with suboptimal auto-bed-leveling.\",\n \"Contaminated print bed that causes the material in some areas to bubble or wrap.\",\n \"Other problems that cause the first layer to show serious defects.\"\n ],\n }\n } else {\n return {\n grade: 'F',\n gradeTitle: 'F - First Layer Fail',\n gradeAccent: 'text-danger',\n gradeRemarks: \"It looks like your printer has run into some trouble on the first layer. The risk for the first layer to cause your print to failure later is HIGH. I recommend you stop the print now and fix the problem.\",\n gradeSuggestion: [\n \"Serious bed-leveling problems that cause material to detach from the print bed.\",\n \"Wrong/suboptimal z-offset setting.\",\n \"Serious bubbling or wrapping.\",\n \"Other problems that will probably cause the print to fail later in the process.\"\n ]\n }\n }\n}","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintPage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintPage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PrintPage.vue?vue&type=template&id=122a7196&scoped=true&\"\nimport script from \"./PrintPage.vue?vue&type=script&lang=js&\"\nexport * from \"./PrintPage.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PrintPage.vue?vue&type=style&index=0&id=122a7196&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"122a7196\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('page-layout',{scopedSlots:_vm._u([{key:\"content\",fn:function(){return [_c('b-container',[_c('b-row',{staticClass:\"justify-content-center\"},[_c('b-col',{staticClass:\"text-center\",attrs:{\"lg\":\"8\"}},[_c('h1',{staticClass:\"pb-2\"},[_vm._v(_vm._s(_vm.$t(\"Upload Time-lapse\")))]),_c('p',{staticClass:\"pb-2\"},[_vm._v(_vm._s(_vm.$t(\"Upload time-lapse videos to test {brandName}'s AI failure detection.\",{brandName:_vm.$syndicateText.brandName})))]),_c('vue-dropzone',{staticClass:\"upload-box\",attrs:{\"id\":\"dropzone\",\"options\":_vm.dropzoneOptions,\"use-custom-slot\":true},on:{\"vdropzone-success\":_vm.printUploadSuccess}},[_c('div',{staticClass:\"dz-message needsclick\"},[_c('i',{staticClass:\"fas fa-upload fa-2x\"}),_vm._v(\" \"),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t(\"Drop files here or click to upload.\"))),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t(\"*.mp4 or *.mpg files only. Up to 100MB each.\"))+\" \")])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.uploaded),expression:\"uploaded\"}],staticClass:\"pt-5\"},[_c('div',{attrs:{\"id\":\"tl-uploaded\"}},[_c('img',{staticClass:\"detective-working\",attrs:{\"src\":require('@static/img/detective-working.gif')}}),_c('div',{staticClass:\"py-2 text-center\"},[_c('div',{staticClass:\"py-2\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"The {brandName} Server is running failure detection on the time-lapse video(s) you uploaded.\",{brandName:_vm.$syndicateText.brandName}))+\" \")]),_c('div',[_vm._v(_vm._s(_vm.$t(\"We will send you email when it is done.\")))]),_c('a',{attrs:{\"href\":\"/prints/\"}},[_vm._v(_vm._s(_vm.$t(\"Check status now >>>\")))])])])])],1)],1)],1)]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UploadPrintPage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UploadPrintPage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UploadPrintPage.vue?vue&type=template&id=13c6093e&scoped=true&\"\nimport script from \"./UploadPrintPage.vue?vue&type=script&lang=js&\"\nexport * from \"./UploadPrintPage.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UploadPrintPage.vue?vue&type=style&index=0&id=13c6093e&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"13c6093e\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('page-layout',{scopedSlots:_vm._u([{key:\"topBarRight\",fn:function(){return [_c('div',{staticClass:\"action-panel\"},[(_vm.isEnt)?_c('a',{staticClass:\"btn shadow-none action-btn icon-btn hours-btn\",style:({ marginRight: `${String(_vm.dhBadgeNum).length * 0.25}rem` }),attrs:{\"href\":\"/user_preferences/dh/\",\"title\":_vm.dhBadgeNum + ' ' + _vm.$t('AI Detection Hours')}},[_c('svg',{staticClass:\"custom-svg-icon\"},[_c('use',{attrs:{\"href\":\"#svg-hour-glass\"}})]),_c('span',{staticClass:\"badge badge-light\",attrs:{\"id\":\"user-credits\"}},[_vm._v(_vm._s(_vm.dhBadgeNum))]),_c('span',{staticClass:\"sr-only\"},[_vm._v(_vm._s(_vm.$t(\"AI Detection Hours\")))])]):_vm._e(),_c('b-dropdown',{attrs:{\"right\":\"\",\"no-caret\":\"\",\"toggle-class\":\"action-btn icon-btn\",\"title\":\"Sort By\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('i',{staticClass:\"fas fa-sort-amount-down\"})]},proxy:true}])},[_c('sorting-dropdown',{attrs:{\"local-storage-prefix\":_vm.sortingLocalStoragePrefix,\"sorting-options\":_vm.sortingOptions,\"sorting-value\":_vm.sortingValue},on:{\"onSortingUpdated\":_vm.onSortingUpdated}})],1),_c('b-dropdown',{attrs:{\"right\":\"\",\"no-caret\":\"\",\"toggle-class\":\"action-btn icon-btn\",\"menu-class\":\"scrollable\",\"title\":\"Filter\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('i',{staticClass:\"fas fa-filter\"})]},proxy:true}])},[_c('filtering-dropdown',{attrs:{\"local-storage-prefix\":_vm.filterLocalStoragePrefix,\"filter-options\":_vm.filterOptions,\"filter-values\":_vm.filterValues},on:{\"onFilterUpdated\":_vm.onFilterUpdated}})],1),_c('b-dropdown',{attrs:{\"right\":\"\",\"no-caret\":\"\",\"toggle-class\":\"icon-btn d-md-none\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('i',{staticClass:\"fas fa-ellipsis-v\"})]},proxy:true}])},[_c('cascaded-dropdown',{ref:\"cascadedDropdown\",attrs:{\"menu-options\":_vm.mobileMenuOptions},scopedSlots:_vm._u([{key:\"sorting\",fn:function(){return [_c('sorting-dropdown',{attrs:{\"local-storage-prefix\":_vm.sortingLocalStoragePrefix,\"sorting-options\":_vm.sortingOptions,\"sorting-value\":_vm.sortingValue},on:{\"onSortingUpdated\":_vm.onSortingUpdated}})]},proxy:true},{key:\"filtering\",fn:function(){return [_c('filtering-dropdown',{attrs:{\"local-storage-prefix\":_vm.filterLocalStoragePrefix,\"filter-options\":_vm.filterOptions,\"filter-values\":_vm.filterValues},on:{\"onFilterUpdated\":_vm.onFilterUpdated}})]},proxy:true}])})],1)],1)]},proxy:true},{key:\"content\",fn:function(){return [_c('active-filter-notice',{attrs:{\"filter-values\":_vm.filterValues},on:{\"onShowAllClicked\":_vm.resetFilters}}),_c('b-container',{staticClass:\"printer-list-page\"},[(_vm.loading)?_c('b-row',[_c('b-col',{staticClass:\"text-center\"},[_c('b-spinner',{staticClass:\"my-5\",attrs:{\"label\":\"Loading...\"}})],1)],1):_vm._e(),(_vm.visiblePrinters.length)?_c('b-row',{staticClass:\"printer-cards justify-content-center\"},_vm._l((_vm.visiblePrinters),function(printer){return _c('printer-card',{key:printer.id,staticClass:\"printer-card-wrapper\",attrs:{\"printer\":printer,\"is-pro-account\":_vm.user.is_pro},on:{\"PrinterUpdated\":_vm.onPrinterUpdated}})}),1):_vm._e(),(!_vm.loading)?_c('div',{staticClass:\"row justify-content-center\"},[_c('div',{staticClass:\"col-sm-12 col-lg-6\",attrs:{\"id\":\"new-printer\"}},[_c('div',{staticClass:\"new-printer-container\"},[_c('a',{attrs:{\"href\":\"/printers/wizard/\"}},[_c('svg',{staticClass:\"icon\"},[_c('use',{attrs:{\"href\":\"#svg-add-printer\"}})]),_c('div',[_vm._v(_vm._s(_vm.$t(\"Link New Printer\")))])])])])]):_vm._e(),(!_vm.loading)?_c('b-row',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.shouldShowArchiveWarning),expression:\"shouldShowArchiveWarning\"}],staticClass:\"bottom-messages\"},[_c('b-col',[_c('div',{staticClass:\"alert alert-warning alert-dismissible fade show mb-3\",attrs:{\"role\":\"alert\"}},[_c('div',{staticClass:\"warning\"},[_c('div',[_vm._v(\" \"+_vm._s(_vm.archivedPrinterNum)+\" \"+_vm._s(_vm._f(\"pluralize\")('printer',_vm.archivedPrinterNum))+\" \"+_vm._s(_vm.$t(\"have been archived.\"))+\" \")]),_c('div',[_c('a',{staticClass:\"warning-action\",attrs:{\"href\":\"/ent/printers/archived/\"}},[_vm._v(_vm._s(_vm.$t(\"Show Archived Printers\")))]),_c('a',{staticClass:\"warning-action\",on:{\"click\":_vm.handleNeverShowAgain}},[_vm._v(_vm._s(_vm.$t(\"Never Show Again\")))])])]),_c('button',{staticClass:\"close\",attrs:{\"type\":\"button\",\"data-dismiss\":\"alert\",\"aria-label\":\"Close\"}},[_c('span',{attrs:{\"aria-hidden\":\"true\"}},[_vm._v(\"×\")])])])])],1):_vm._e()],1)]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"col-sm-12 col-lg-6 printer-card\",attrs:{\"id\":_vm.printer.id}},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-header\"},[_c('div',{staticClass:\"title-box\"},[_c('div',{staticClass:\"printer-name\"},[_vm._v(\" \"+_vm._s(_vm.printer.name)+\" \")]),(_vm.hasCurrentPrintFilename)?_c('div',{staticClass:\"secondary-title print-filename\"},[_vm._v(\" \"+_vm._s(_vm.printer.current_print.filename)+\" \")]):_c('div',{staticClass:\"secondary-title\",class:_vm.statusClass},[_vm._v(_vm._s(_vm.statusText))])]),_c('div',{staticClass:\"d-flex ml-2\"},[_c('b-button',{staticClass:\"px-4 mr-2\",attrs:{\"variant\":\"outline-secondary\",\"href\":`/printers/${_vm.printer.id}/control/`}},[_vm._v(_vm._s(_vm.$t(\"Open\"))+\" \"+_vm._s(_vm.$t(\"Details\"))+\" \")]),_c('b-dropdown',{attrs:{\"right\":\"\",\"no-caret\":\"\",\"toggle-class\":\"icon-btn\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('i',{staticClass:\"fas fa-ellipsis-v\"})]},proxy:true}])},[_c('b-dropdown-item',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();return _vm.onSharePrinter()}}},[_c('i',{staticClass:\"fas fa-share-alt fa-lg\"}),_vm._v(_vm._s(_vm.$t(\"Share\"))+\" \")]),_c('b-dropdown-item',{attrs:{\"href\":_vm.octoPrintTunnelUrl()}},[_c('svg',{staticClass:\"menu-icon\"},[_c('use',{attrs:{\"href\":\"#svg-tunnel\"}})]),_vm._v(\" \"+_vm._s(_vm.printer.agentDisplayName())+\" \"+_vm._s(_vm.$t(\"Tunnel\"))+\" \")]),_c('div',{staticClass:\"dropdown-divider\"}),_c('b-dropdown-item',{attrs:{\"href\":_vm.settingsUrl()}},[_c('i',{staticClass:\"fas fa-wrench fa-lg\"}),_vm._v(_vm._s(_vm.$t(\"Configure\"))+\" \")])],1)],1)]),_c('streaming-box',{attrs:{\"printer\":_vm.printer,\"webrtc\":_vm.webrtc,\"autoplay\":_vm.isProAccount,\"webcam\":_vm.webcam}}),(_vm.printer.alertUnacknowledged())?_c('div',{staticClass:\"failure-alert card-body bg-warning px-2 py-1\"},[_c('i',{staticClass:\"fas fa-exclamation-triangle align-middle\"}),_c('span',{staticClass:\"align-middle\"},[_vm._v(_vm._s(_vm.$t(\"Failure Detected!\")))]),_c('button',{staticClass:\"btn btn-outline-primary btn-sm float-right\",attrs:{\"id\":\"not-a-failure\",\"type\":\"button\"},on:{\"click\":function($event){return _vm.onNotAFailureClicked($event, false)}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Not a failure?\"))+\" \")])]):_vm._e(),_c('div',{staticClass:\"card-body gauge-container\",class:{ overlay: !_vm.isWatching }},[(!_vm.isWatching)?_c('div',{staticClass:\"overlay-top text-center\",staticStyle:{\"left\":\"0\",\"width\":\"100%\",\"top\":\"50%\",\"margin-top\":\"-55px\"}},[_c('H1',[_c('i',{staticClass:\"far fa-eye-slash\"})]),_c('h5',{staticClass:\"text-warning\"},[_vm._v(_vm._s(_vm.$t(\"Failure Detection is Off\")))]),(_vm.printer.not_watching_reason)?_c('small',[_vm._v(_vm._s(_vm.printer.not_watching_reason)+\". \"),_c('a',{attrs:{\"href\":_vm.getDocUrl('/user-guides/detective-not-watching/'),\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t(\"Learn more. \"))),_vm._m(0)])]):_vm._e(),_c('div')],1):_vm._e(),_c('failure-detection-gauge',{attrs:{\"normalized-p\":_vm.printer.normalized_p,\"is-watching\":_vm.isWatching}}),_c('hr')],1),_c('print-job-control-widget',{attrs:{\"inside-card\":true,\"printer\":_vm.printer,\"printer-comm\":_vm.printerComm},on:{\"notAFailureClicked\":_vm.onNotAFailureClicked,\"sendPrinterAction\":_vm.sendPrinterAction}}),_c('div',{staticClass:\"info-section settings\"},[_c('button',{staticClass:\"info-section-toggle btn btn-sm no-corner mx-2\",class:{ pressed: _vm.section_toggles.settings },attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.onSettingsToggleClicked()}}},[_c('i',{staticClass:\"fas fa-cog fa-lg\"})]),_c('button',{staticClass:\"info-section-toggle btn btn-sm no-corner mx-2\",class:{ pressed: _vm.section_toggles.time },attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.onTimeToggleClicked()}}},[_c('i',{staticClass:\"fas fa-clock fa-lg\"})]),_c('button',{staticClass:\"info-section-toggle btn btn-sm no-corner mx-2\",class:{ pressed: _vm.section_toggles.statusTemp },attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.onStatusTempToggleClicked()}}},[_c('i',{staticClass:\"fas fa-thermometer-half fa-lg\"})])]),_c('div',{staticClass:\"info-section\",staticStyle:{\"height\":\"0.3rem\"}}),_c('div',[_c('div',{staticClass:\"info-section container\"},[(_vm.section_toggles.settings)?_c('div',{attrs:{\"id\":\"panel-settings\"}},[_c('div',{staticClass:\"pt-2 pb-3\"},[_c('div',{staticClass:\"row justify-content-center px-3\"},[_c('div',{staticClass:\"col-12 setting-item\"},[_c('label',{staticClass:\"toggle-label\",attrs:{\"for\":'watching_enabled-toggle-' + _vm.printer.id}},[_c('i18next',{attrs:{\"translation\":_vm.$t('Enable AI failure detection {localizedDom}')},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [(!_vm.watchForFailures)?_c('div',{staticClass:\"text-muted font-weight-light font-size-sm\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"AI failure detection is disabled. You are on your own\"))+\".\")]):_vm._e()]},proxy:true}],null,false,2325561323)})],1),_c('div',{staticClass:\"custom-control custom-switch\"},[_c('input',{staticClass:\"custom-control-input update-printer\",attrs:{\"id\":'watching_enabled-toggle-' + _vm.printer.id,\"type\":\"checkbox\",\"name\":\"watching_enabled\"},domProps:{\"checked\":_vm.watchForFailures},on:{\"click\":_vm.onWatchForFailuresToggled}}),_c('label',{staticClass:\"custom-control-label\",staticStyle:{\"font-size\":\"1rem\"},attrs:{\"for\":'watching_enabled-toggle-' + _vm.printer.id}})])])]),_c('div',{staticClass:\"row justify-content-center px-3\"},[_c('div',{staticClass:\"col-12 setting-item\"},[_c('label',{staticClass:\"toggle-label\",attrs:{\"for\":'pause-toggle-' + _vm.printer.id}},[_c('i18next',{attrs:{\"translation\":_vm.$t('Pause on detected failures {localizedDom}')},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [(!_vm.pauseOnFailure)?_c('div',{staticClass:\"text-muted font-weight-light font-size-sm\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"You will still be alerted via notifications\")))]):_vm._e()]},proxy:true}],null,false,4050608119)})],1),_c('div',{staticClass:\"custom-control custom-switch\"},[_c('input',{staticClass:\"custom-control-input update-printer\",attrs:{\"id\":'pause-toggle-' + _vm.printer.id,\"type\":\"checkbox\",\"name\":\"pause_on_failure\"},domProps:{\"checked\":_vm.pauseOnFailure},on:{\"click\":_vm.onPauseOnFailureToggled}}),_c('label',{staticClass:\"custom-control-label\",staticStyle:{\"font-size\":\"1rem\"},attrs:{\"for\":'pause-toggle-' + _vm.printer.id}})])])])])]):_vm._e(),(_vm.section_toggles.time)?_c('div',{attrs:{\"id\":\"print-time\"}},[_c('div',{staticClass:\"py-2\"},[_c('div',{staticClass:\"row text-muted\"},[_c('small',{staticClass:\"col-5 offset-2\"},[_vm._v(_vm._s(_vm.$t(\" Remaining \")))]),_c('small',{staticClass:\"col-5\"},[_vm._v(_vm._s(_vm.$t(\" Total \")))])]),_c('div',{staticClass:\"row\"},[_vm._m(1),_c('duration-block',_vm._b({staticClass:\"col-5 numbers\",attrs:{\"id\":\"print-time-remaining\"}},'duration-block',_vm.timeRemaining,false)),_c('duration-block',_vm._b({staticClass:\"col-5 numbers\",attrs:{\"id\":\"print-time-total\"}},'duration-block',_vm.timeTotal,false)),_c('div',{staticClass:\"col-12\"},[_c('div',{staticClass:\"progress\",staticStyle:{\"height\":\"2px\"}},[_c('div',{staticClass:\"progress-bar\",class:{\n 'progress-bar-striped': _vm.progressPct < 100,\n 'progress-bar-animated': _vm.progressPct < 100,\n },style:(`width: ${_vm.progressPct}%;`),attrs:{\"id\":\"print-progress\",\"role\":\"progressbar\",\"aria-valuenow\":\"0\",\"aria-valuemin\":\"0\",\"aria-valuemax\":\"100\"}})])])],1)])]):_vm._e(),(_vm.section_toggles.statusTemp && _vm.tempProps.show)?_c('status-temp',_vm._b({attrs:{\"id\":\"status_temp_block\"},on:{\"TempEditClicked\":_vm.onTempEditClicked}},'status-temp',_vm.tempProps,false)):_vm._e()],1)])],1)])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('small',[_c('i',{staticClass:\"fas fa-external-link-alt\"})])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"col-2 text-muted\"},[_c('i',{staticClass:\"fas fa-clock\"})])\n}]\n\nexport { render, staticRenderFns }","/*\n The MIT License (MIT)\n\n Copyright (c) 2016 Meetecho\n\n Permission is hereby granted, free of charge, to any person obtaining\n a copy of this software and associated documentation files (the \"Software\"),\n to deal in the Software without restriction, including without limitation\n the rights to use, copy, modify, merge, publish, distribute, sublicense,\n and/or sell copies of the Software, and to permit persons to whom the\n Software is furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included\n in all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL\n THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR\n OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,\n ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n OTHER DEALINGS IN THE SOFTWARE.\n */\n\n/* eslint-disable no-global-assign, no-redeclare, no-unused-vars, no-empty, no-inner-declarations */\n\nimport adapter from 'webrtc-adapter'\n\n// List of sessions\nJanus.sessions = {}\n\nJanus.isExtensionEnabled = function() {\n if(navigator.mediaDevices && navigator.mediaDevices.getDisplayMedia) {\n // No need for the extension, getDisplayMedia is supported\n return true\n }\n if(window.navigator.userAgent.match('Chrome')) {\n var chromever = parseInt(window.navigator.userAgent.match(/Chrome\\/(.*) /)[1], 10)\n var maxver = 33\n if(window.navigator.userAgent.match('Linux'))\n maxver = 35 // \"known\" crash in chrome 34 and 35 on linux\n if(chromever >= 26 && chromever <= maxver) {\n // Older versions of Chrome don't support this extension-based approach, so lie\n return true\n }\n return Janus.extension.isInstalled()\n } else {\n // Firefox and others, no need for the extension (but this doesn't mean it will work)\n return true\n }\n}\n\nvar defaultExtension = {\n // Screensharing Chrome Extension ID\n extensionId: 'hapfgfdkleiggjjpfpenajgdnfckjpaj',\n isInstalled: function() { return document.querySelector('#janus-extension-installed') !== null },\n getScreen: function (callback) {\n var pending = window.setTimeout(function () {\n var error = new Error('NavigatorUserMediaError')\n error.name = 'The required Chrome extension is not installed: click here to install it. (NOTE: this will need you to refresh the page)'\n return callback(error)\n }, 1000)\n this.cache[pending] = callback\n window.postMessage({ type: 'janusGetScreen', id: pending }, '*')\n },\n init: function () {\n var cache = {}\n this.cache = cache\n // Wait for events from the Chrome Extension\n window.addEventListener('message', function (event) {\n if(event.origin != window.location.origin)\n return\n if(event.data.type == 'janusGotScreen' && cache[event.data.id]) {\n var callback = cache[event.data.id]\n delete cache[event.data.id]\n\n if (event.data.sourceId === '') {\n // user canceled\n var error = new Error('NavigatorUserMediaError')\n error.name = 'You cancelled the request for permission, giving up...'\n callback(error)\n } else {\n callback(null, event.data.sourceId)\n }\n } else if (event.data.type == 'janusGetScreenPending') {\n console.log('clearing ', event.data.id)\n window.clearTimeout(event.data.id)\n }\n })\n }\n}\n\nJanus.useDefaultDependencies = function (deps) {\n var f = (deps && deps.fetch) || fetch\n var p = (deps && deps.Promise) || Promise\n var socketCls = (deps && deps.WebSocket) || WebSocket\n\n return {\n newWebSocket: function(server, proto) { return new socketCls(server, proto) },\n extension: (deps && deps.extension) || defaultExtension,\n isArray: function(arr) { return Array.isArray(arr) },\n webRTCAdapter: (deps && deps.adapter) || adapter,\n httpAPICall: function(url, options) {\n var fetchOptions = {\n method: options.verb,\n headers: {\n 'Accept': 'application/json, text/plain, */*'\n },\n cache: 'no-cache'\n }\n if(options.verb === 'POST') {\n fetchOptions.headers['Content-Type'] = 'application/json'\n }\n if(options.withCredentials !== undefined) {\n fetchOptions.credentials = options.withCredentials === true ? 'include' : (options.withCredentials ? options.withCredentials : 'omit')\n }\n if(options.body) {\n fetchOptions.body = JSON.stringify(options.body)\n }\n\n var fetching = f(url, fetchOptions).catch(function(error) {\n return p.reject({message: 'Probably a network error, is the server down?', error: error})\n })\n\n /*\n * fetch() does not natively support timeouts.\n * Work around this by starting a timeout manually, and racing it agains the fetch() to see which thing resolves first.\n */\n\n if(options.timeout) {\n var timeout = new p(function(resolve, reject) {\n var timerId = setTimeout(function() {\n clearTimeout(timerId)\n return reject({message: 'Request timed out', timeout: options.timeout})\n }, options.timeout)\n })\n fetching = p.race([fetching, timeout])\n }\n\n fetching.then(function(response) {\n if(response.ok) {\n if(typeof(options.success) === typeof(Janus.noop)) {\n return response.json().then(function(parsed) {\n try {\n options.success(parsed)\n } catch(error) {\n Janus.error('Unhandled httpAPICall success callback error', error)\n }\n }, function(error) {\n return p.reject({message: 'Failed to parse response body', error: error, response: response})\n })\n }\n }\n else {\n return p.reject({message: 'API call failed', response: response})\n }\n }).catch(function(error) {\n if(typeof(options.error) === typeof(Janus.noop)) {\n options.error(error.message || '<< internal error >>', error)\n }\n })\n\n return fetching\n }\n }\n}\n\nJanus.useOldDependencies = function (deps) {\n var jq = (deps && deps.jQuery) || jQuery // eslint-disable-line no-undef\n var socketCls = (deps && deps.WebSocket) || WebSocket\n return {\n newWebSocket: function(server, proto) { return new socketCls(server, proto) },\n isArray: function(arr) { return jq.isArray(arr) },\n extension: (deps && deps.extension) || defaultExtension,\n webRTCAdapter: (deps && deps.adapter) || adapter,\n httpAPICall: function(url, options) {\n var payload = options.body !== undefined ? {\n contentType: 'application/json',\n data: JSON.stringify(options.body)\n } : {}\n var credentials = options.withCredentials !== undefined ? {xhrFields: {withCredentials: options.withCredentials}} : {}\n\n return jq.ajax(jq.extend(payload, credentials, {\n url: url,\n type: options.verb,\n cache: false,\n dataType: 'json',\n async: options.async,\n timeout: options.timeout,\n success: function(result) {\n if(typeof(options.success) === typeof(Janus.noop)) {\n options.success(result)\n }\n },\n error: function(xhr, status, err) {\n if(typeof(options.error) === typeof(Janus.noop)) {\n options.error(status, err)\n }\n }\n }))\n }\n }\n}\n\nJanus.noop = function() {}\n\nJanus.dataChanDefaultLabel = 'JanusDataChannel'\n\n// Note: in the future we may want to change this, e.g., as was\n// attempted in https://github.com/meetecho/janus-gateway/issues/1670\nJanus.endOfCandidates = null\n\n// Stop all tracks from a given stream\nJanus.stopAllTracks = function(stream) {\n try {\n // Try a MediaStreamTrack.stop() for each track\n var tracks = stream.getTracks()\n for(var mst of tracks) {\n Janus.log(mst)\n if(mst) {\n mst.stop()\n }\n }\n } catch(e) {\n // Do nothing if this fails\n }\n}\n\n// Initialization\nJanus.init = function(options) {\n options = options || {}\n options.callback = (typeof options.callback == 'function') ? options.callback : Janus.noop\n if(Janus.initDone) {\n // Already initialized\n options.callback()\n } else {\n if(typeof console == 'undefined' || typeof console.log == 'undefined') {\n console = { log: function() {} }\n }\n // Console logging (all debugging disabled by default)\n Janus.trace = Janus.noop\n Janus.debug = Janus.noop\n Janus.vdebug = Janus.noop\n Janus.log = Janus.noop\n Janus.warn = Janus.noop\n Janus.error = Janus.noop\n if(options.debug === true || options.debug === 'all') {\n // Enable all debugging levels\n Janus.trace = console.trace.bind(console)\n Janus.debug = console.debug.bind(console)\n Janus.vdebug = console.debug.bind(console)\n Janus.log = console.log.bind(console)\n Janus.warn = console.warn.bind(console)\n Janus.error = console.error.bind(console)\n } else if(Array.isArray(options.debug)) {\n for(var d of options.debug) {\n switch(d) {\n case 'trace':\n Janus.trace = console.trace.bind(console)\n break\n case 'debug':\n Janus.debug = console.debug.bind(console)\n break\n case 'vdebug':\n Janus.vdebug = console.debug.bind(console)\n break\n case 'log':\n Janus.log = console.log.bind(console)\n break\n case 'warn':\n Janus.warn = console.warn.bind(console)\n break\n case 'error':\n Janus.error = console.error.bind(console)\n break\n default:\n console.error('Unknown debugging option \\'' + d + '\\' (supported: \\'trace\\', \\'debug\\', \\'vdebug\\', \\'log\\', warn\\', \\'error\\')')\n break\n }\n }\n }\n Janus.log('Initializing library')\n\n var usedDependencies = options.dependencies || Janus.useDefaultDependencies()\n Janus.isArray = usedDependencies.isArray\n Janus.webRTCAdapter = usedDependencies.webRTCAdapter\n Janus.httpAPICall = usedDependencies.httpAPICall\n Janus.newWebSocket = usedDependencies.newWebSocket\n Janus.extension = usedDependencies.extension\n Janus.extension.init()\n\n // Helper method to enumerate devices\n Janus.listDevices = function(callback, config) {\n callback = (typeof callback == 'function') ? callback : Janus.noop\n if (config == null) config = { audio: true, video: true }\n if(Janus.isGetUserMediaAvailable()) {\n navigator.mediaDevices.getUserMedia(config)\n .then(function(stream) {\n navigator.mediaDevices.enumerateDevices().then(function(devices) {\n Janus.debug(devices)\n callback(devices)\n // Get rid of the now useless stream\n Janus.stopAllTracks(stream)\n })\n })\n .catch(function(err) {\n Janus.error(err)\n callback([])\n })\n } else {\n Janus.warn('navigator.mediaDevices unavailable')\n callback([])\n }\n }\n // Helper methods to attach/reattach a stream to a video element (previously part of adapter.js)\n Janus.attachMediaStream = function(element, stream) {\n try {\n element.srcObject = stream\n } catch (e) {\n try {\n element.src = URL.createObjectURL(stream)\n } catch (e) {\n Janus.error('Error attaching stream to element')\n }\n }\n }\n Janus.reattachMediaStream = function(to, from) {\n try {\n to.srcObject = from.srcObject\n } catch (e) {\n try {\n to.src = from.src\n } catch (e) {\n Janus.error('Error reattaching stream to element')\n }\n }\n }\n // Detect tab close: make sure we don't loose existing onbeforeunload handlers\n // (note: for iOS we need to subscribe to a different event, 'pagehide', see\n // https://gist.github.com/thehunmonkgroup/6bee8941a49b86be31a787fe8f4b8cfe)\n var iOS = ['iPad', 'iPhone', 'iPod'].indexOf(navigator.platform) >= 0\n var eventName = iOS ? 'pagehide' : 'beforeunload'\n var oldOBF = window['on' + eventName]\n window.addEventListener(eventName, function(event) {\n Janus.log('Closing window')\n for(var s in Janus.sessions) {\n if(Janus.sessions[s] && Janus.sessions[s].destroyOnUnload) {\n Janus.log('Destroying session ' + s)\n Janus.sessions[s].destroy({unload: true, notifyDestroyed: false})\n }\n }\n if(oldOBF && typeof oldOBF == 'function') {\n oldOBF()\n }\n })\n // If this is a Safari Technology Preview, check if VP8 is supported\n Janus.safariVp8 = false\n if(Janus.webRTCAdapter.browserDetails.browser === 'safari' &&\n Janus.webRTCAdapter.browserDetails.version >= 605) {\n // Let's see if RTCRtpSender.getCapabilities() is there\n if(RTCRtpSender && RTCRtpSender.getCapabilities && RTCRtpSender.getCapabilities('video') &&\n RTCRtpSender.getCapabilities('video').codecs && RTCRtpSender.getCapabilities('video').codecs.length) {\n for(var codec of RTCRtpSender.getCapabilities('video').codecs) {\n if(codec && codec.mimeType && codec.mimeType.toLowerCase() === 'video/vp8') {\n Janus.safariVp8 = true\n break\n }\n }\n if(Janus.safariVp8) {\n Janus.log('This version of Safari supports VP8')\n } else {\n Janus.warn('This version of Safari does NOT support VP8: if you\\'re using a Technology Preview, ' +\n 'try enabling the \\'WebRTC VP8 codec\\' setting in the \\'Experimental Features\\' Develop menu')\n }\n } else {\n // We do it in a very ugly way, as there's no alternative...\n // We create a PeerConnection to see if VP8 is in an offer\n var testpc = new RTCPeerConnection({})\n testpc.createOffer({offerToReceiveVideo: true}).then(function(offer) {\n Janus.safariVp8 = offer.sdp.indexOf('VP8') !== -1\n if(Janus.safariVp8) {\n Janus.log('This version of Safari supports VP8')\n } else {\n Janus.warn('This version of Safari does NOT support VP8: if you\\'re using a Technology Preview, ' +\n 'try enabling the \\'WebRTC VP8 codec\\' setting in the \\'Experimental Features\\' Develop menu')\n }\n testpc.close()\n testpc = null\n })\n }\n }\n // Check if this browser supports Unified Plan and transceivers\n // Based on https://codepen.io/anon/pen/ZqLwWV?editors=0010\n Janus.unifiedPlan = false\n if(Janus.webRTCAdapter.browserDetails.browser === 'firefox' &&\n Janus.webRTCAdapter.browserDetails.version >= 59) {\n // Firefox definitely does, starting from version 59\n Janus.unifiedPlan = true\n } else if(Janus.webRTCAdapter.browserDetails.browser === 'chrome' &&\n Janus.webRTCAdapter.browserDetails.version >= 72) {\n // Chrome does, but it's only usable from version 72 on\n Janus.unifiedPlan = true\n } else if(!window.RTCRtpTransceiver || !('currentDirection' in RTCRtpTransceiver.prototype)) { // eslint-disable-line no-undef\n // Safari supports addTransceiver() but not Unified Plan when\n // currentDirection is not defined (see codepen above).\n Janus.unifiedPlan = false\n } else {\n // Check if addTransceiver() throws an exception\n var tempPc = new RTCPeerConnection()\n try {\n tempPc.addTransceiver('audio')\n Janus.unifiedPlan = true\n } catch (e) {}\n tempPc.close()\n }\n Janus.initDone = true\n options.callback()\n }\n}\n\n// Helper method to check whether WebRTC is supported by this browser\nJanus.isWebrtcSupported = function() {\n return !!window.RTCPeerConnection\n}\n// Helper method to check whether devices can be accessed by this browser (e.g., not possible via plain HTTP)\nJanus.isGetUserMediaAvailable = function() {\n return navigator.mediaDevices && navigator.mediaDevices.getUserMedia\n}\n\n// Helper method to create random identifiers (e.g., transaction)\nJanus.randomString = function(len) {\n var charSet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'\n var randomString = ''\n for (var i = 0; i < len; i++) {\n var randomPoz = Math.floor(Math.random() * charSet.length)\n randomString += charSet.substring(randomPoz,randomPoz+1)\n }\n return randomString\n}\n\nfunction Janus(gatewayCallbacks) {\n gatewayCallbacks = gatewayCallbacks || {}\n gatewayCallbacks.success = (typeof gatewayCallbacks.success == 'function') ? gatewayCallbacks.success : Janus.noop\n gatewayCallbacks.error = (typeof gatewayCallbacks.error == 'function') ? gatewayCallbacks.error : Janus.noop\n gatewayCallbacks.wsopened = (typeof gatewayCallbacks.wsopened == 'function') ? gatewayCallbacks.wsopened : Janus.noop\n gatewayCallbacks.destroyed = (typeof gatewayCallbacks.destroyed == 'function') ? gatewayCallbacks.destroyed : Janus.noop\n if(!Janus.initDone) {\n gatewayCallbacks.error('Library not initialized')\n return {}\n }\n if(!Janus.isWebrtcSupported()) {\n gatewayCallbacks.error('WebRTC not supported by this browser')\n return {}\n }\n Janus.log('Library initialized: ' + Janus.initDone)\n if(!gatewayCallbacks.server) {\n gatewayCallbacks.error('Invalid server url')\n return {}\n }\n var websockets = false\n var ws = null\n var wsHandlers = {}\n var wsKeepaliveTimeoutId = null\n var servers = null\n var serversIndex = 0\n var server = gatewayCallbacks.server\n if(Janus.isArray(server)) {\n Janus.log('Multiple servers provided (' + server.length + '), will use the first that works')\n server = null\n servers = gatewayCallbacks.server\n Janus.debug(servers)\n } else {\n if(server.indexOf('ws') === 0) {\n websockets = true\n Janus.log('Using WebSockets to contact Janus: ' + server)\n } else {\n websockets = false\n Janus.log('Using REST API to contact Janus: ' + server)\n }\n }\n var iceServers = gatewayCallbacks.iceServers || [{urls: 'stun:stun.l.google.com:19302'}]\n var iceTransportPolicy = gatewayCallbacks.iceTransportPolicy\n var bundlePolicy = gatewayCallbacks.bundlePolicy\n // Whether IPv6 candidates should be gathered\n var ipv6Support = (gatewayCallbacks.ipv6 === true)\n // Whether we should enable the withCredentials flag for XHR requests\n var withCredentials = false\n if(gatewayCallbacks.withCredentials !== undefined && gatewayCallbacks.withCredentials !== null)\n withCredentials = gatewayCallbacks.withCredentials === true\n // Optional max events\n var maxev = 10\n if(gatewayCallbacks.max_poll_events !== undefined && gatewayCallbacks.max_poll_events !== null)\n maxev = gatewayCallbacks.max_poll_events\n if(maxev < 1)\n maxev = 1\n // Token to use (only if the token based authentication mechanism is enabled)\n var token = null\n if(gatewayCallbacks.token !== undefined && gatewayCallbacks.token !== null)\n token = gatewayCallbacks.token\n // API secret to use (only if the shared API secret is enabled)\n var apisecret = null\n if(gatewayCallbacks.apisecret !== undefined && gatewayCallbacks.apisecret !== null)\n apisecret = gatewayCallbacks.apisecret\n // Whether we should destroy this session when onbeforeunload is called\n this.destroyOnUnload = true\n if(gatewayCallbacks.destroyOnUnload !== undefined && gatewayCallbacks.destroyOnUnload !== null)\n this.destroyOnUnload = (gatewayCallbacks.destroyOnUnload === true)\n // Some timeout-related values\n var keepAlivePeriod = 25000\n if(gatewayCallbacks.keepAlivePeriod !== undefined && gatewayCallbacks.keepAlivePeriod !== null)\n keepAlivePeriod = gatewayCallbacks.keepAlivePeriod\n if(isNaN(keepAlivePeriod))\n keepAlivePeriod = 25000\n var longPollTimeout = 60000\n if(gatewayCallbacks.longPollTimeout !== undefined && gatewayCallbacks.longPollTimeout !== null)\n longPollTimeout = gatewayCallbacks.longPollTimeout\n if(isNaN(longPollTimeout))\n longPollTimeout = 60000\n\n // overrides for default maxBitrate values for simulcasting\n function getMaxBitrates(simulcastMaxBitrates) {\n var maxBitrates = {\n high: 900000,\n medium: 300000,\n low: 100000,\n }\n\n if (simulcastMaxBitrates !== undefined && simulcastMaxBitrates !== null) {\n if (simulcastMaxBitrates.high)\n maxBitrates.high = simulcastMaxBitrates.high\n if (simulcastMaxBitrates.medium)\n maxBitrates.medium = simulcastMaxBitrates.medium\n if (simulcastMaxBitrates.low)\n maxBitrates.low = simulcastMaxBitrates.low\n }\n\n return maxBitrates\n }\n\n var connected = false\n var sessionId = null\n var pluginHandles = {}\n var that = this\n var retries = 0\n var transactions = {}\n createSession(gatewayCallbacks)\n\n // Public methods\n this.getServer = function() { return server }\n this.isConnected = function() { return connected }\n this.reconnect = function(callbacks) {\n callbacks = callbacks || {}\n callbacks.success = (typeof callbacks.success == 'function') ? callbacks.success : Janus.noop\n callbacks.error = (typeof callbacks.error == 'function') ? callbacks.error : Janus.noop\n callbacks['reconnect'] = true\n createSession(callbacks)\n }\n this.getSessionId = function() { return sessionId }\n this.getInfo = function(callbacks) { getInfo(callbacks) }\n this.destroy = function(callbacks) { destroySession(callbacks) }\n this.attach = function(callbacks) { createHandle(callbacks) }\n\n function eventHandler() {\n if(sessionId == null)\n return\n Janus.debug('Long poll...')\n if(!connected) {\n Janus.warn('Is the server down? (connected=false)')\n return\n }\n var longpoll = server + '/' + sessionId + '?rid=' + new Date().getTime()\n if(maxev)\n longpoll = longpoll + '&maxev=' + maxev\n if(token)\n longpoll = longpoll + '&token=' + encodeURIComponent(token)\n if(apisecret)\n longpoll = longpoll + '&apisecret=' + encodeURIComponent(apisecret)\n Janus.httpAPICall(longpoll, {\n verb: 'GET',\n withCredentials: withCredentials,\n success: handleEvent,\n timeout: longPollTimeout,\n error: function(textStatus, errorThrown) {\n Janus.error(textStatus + ':', errorThrown)\n retries++\n if(retries > 3) {\n // Did we just lose the server? :-(\n connected = false\n gatewayCallbacks.error('Lost connection to the server (is it down?)')\n return\n }\n eventHandler()\n }\n })\n }\n\n // Private event handler: this will trigger plugin callbacks, if set\n function handleEvent(json, skipTimeout) {\n retries = 0\n if(!websockets && sessionId !== undefined && sessionId !== null && skipTimeout !== true)\n eventHandler()\n if(!websockets && Janus.isArray(json)) {\n // We got an array: it means we passed a maxev > 1, iterate on all objects\n for(var i=0; i data channel: ' + dcState)\n if(dcState === 'open') {\n // Any pending messages to send?\n if(config.dataChannel[label].pending && config.dataChannel[label].pending.length > 0) {\n Janus.log('Sending pending messages on <' + label + '>:', config.dataChannel[label].pending.length)\n for(var data of config.dataChannel[label].pending) {\n Janus.log('Sending data on data channel <' + label + '>')\n Janus.debug(data)\n config.dataChannel[label].send(data)\n }\n config.dataChannel[label].pending = []\n }\n // Notify the open data channel\n pluginHandle.ondataopen(label, protocol)\n }\n }\n var onDataChannelError = function(error) {\n Janus.error('Got error on data channel:', error)\n // TODO\n }\n if(!incoming) {\n // FIXME Add options (ordered, maxRetransmits, etc.)\n var dcoptions = { ordered: true }\n if(dcprotocol)\n dcoptions.protocol = dcprotocol\n config.dataChannel[dclabel] = config.pc.createDataChannel(dclabel, dcoptions)\n } else {\n // The channel was created by Janus\n config.dataChannel[dclabel] = incoming\n }\n config.dataChannel[dclabel].onmessage = onDataChannelMessage\n config.dataChannel[dclabel].onopen = onDataChannelStateChange\n config.dataChannel[dclabel].onclose = onDataChannelStateChange\n config.dataChannel[dclabel].onerror = onDataChannelError\n config.dataChannel[dclabel].pending = []\n if(pendingData)\n config.dataChannel[dclabel].pending.push(pendingData)\n }\n\n // Private method to send a data channel message\n function sendData(handleId, callbacks) {\n callbacks = callbacks || {}\n callbacks.success = (typeof callbacks.success == 'function') ? callbacks.success : Janus.noop\n callbacks.error = (typeof callbacks.error == 'function') ? callbacks.error : Janus.noop\n var pluginHandle = pluginHandles[handleId]\n if(!pluginHandle || !pluginHandle.webrtcStuff) {\n Janus.warn('Invalid handle')\n callbacks.error('Invalid handle')\n return\n }\n var config = pluginHandle.webrtcStuff\n var data = callbacks.text || callbacks.data\n if(!data) {\n Janus.warn('Invalid data')\n callbacks.error('Invalid data')\n return\n }\n var label = callbacks.label ? callbacks.label : Janus.dataChanDefaultLabel\n if(!config.dataChannel[label]) {\n // Create new data channel and wait for it to open\n createDataChannel(handleId, label, callbacks.protocol, false, data, callbacks.protocol)\n callbacks.success()\n return\n }\n if(config.dataChannel[label].readyState !== 'open') {\n config.dataChannel[label].pending.push(data)\n callbacks.success()\n return\n }\n Janus.log('Sending data on data channel <' + label + '>')\n Janus.debug(data)\n config.dataChannel[label].send(data)\n callbacks.success()\n }\n\n // Private method to send a DTMF tone\n function sendDtmf(handleId, callbacks) {\n callbacks = callbacks || {}\n callbacks.success = (typeof callbacks.success == 'function') ? callbacks.success : Janus.noop\n callbacks.error = (typeof callbacks.error == 'function') ? callbacks.error : Janus.noop\n var pluginHandle = pluginHandles[handleId]\n if(!pluginHandle || !pluginHandle.webrtcStuff) {\n Janus.warn('Invalid handle')\n callbacks.error('Invalid handle')\n return\n }\n var config = pluginHandle.webrtcStuff\n if(!config.dtmfSender) {\n // Create the DTMF sender the proper way, if possible\n if(config.pc) {\n var senders = config.pc.getSenders()\n var audioSender = senders.find(function(sender) {\n return sender.track && sender.track.kind === 'audio'\n })\n if(!audioSender) {\n Janus.warn('Invalid DTMF configuration (no audio track)')\n callbacks.error('Invalid DTMF configuration (no audio track)')\n return\n }\n config.dtmfSender = audioSender.dtmf\n if(config.dtmfSender) {\n Janus.log('Created DTMF Sender')\n config.dtmfSender.ontonechange = function(tone) { Janus.debug('Sent DTMF tone: ' + tone.tone) }\n }\n }\n if(!config.dtmfSender) {\n Janus.warn('Invalid DTMF configuration')\n callbacks.error('Invalid DTMF configuration')\n return\n }\n }\n var dtmf = callbacks.dtmf\n if(!dtmf) {\n Janus.warn('Invalid DTMF parameters')\n callbacks.error('Invalid DTMF parameters')\n return\n }\n var tones = dtmf.tones\n if(!tones) {\n Janus.warn('Invalid DTMF string')\n callbacks.error('Invalid DTMF string')\n return\n }\n var duration = (typeof dtmf.duration === 'number') ? dtmf.duration : 500 // We choose 500ms as the default duration for a tone\n var gap = (typeof dtmf.gap === 'number') ? dtmf.gap : 50 // We choose 50ms as the default gap between tones\n Janus.debug('Sending DTMF string ' + tones + ' (duration ' + duration + 'ms, gap ' + gap + 'ms)')\n config.dtmfSender.insertDTMF(tones, duration, gap)\n callbacks.success()\n }\n\n // Private method to destroy a plugin handle\n function destroyHandle(handleId, callbacks) {\n callbacks = callbacks || {}\n callbacks.success = (typeof callbacks.success == 'function') ? callbacks.success : Janus.noop\n callbacks.error = (typeof callbacks.error == 'function') ? callbacks.error : Janus.noop\n var noRequest = (callbacks.noRequest === true)\n Janus.log('Destroying handle ' + handleId + ' (only-locally=' + noRequest + ')')\n cleanupWebrtc(handleId)\n var pluginHandle = pluginHandles[handleId]\n if(!pluginHandle || pluginHandle.detached) {\n // Plugin was already detached by Janus, calling detach again will return a handle not found error, so just exit here\n delete pluginHandles[handleId]\n callbacks.success()\n return\n }\n pluginHandle.detached = true\n if(noRequest) {\n // We're only removing the handle locally\n delete pluginHandles[handleId]\n callbacks.success()\n return\n }\n if(!connected) {\n Janus.warn('Is the server down? (connected=false)')\n callbacks.error('Is the server down? (connected=false)')\n return\n }\n var request = { 'janus': 'detach', 'transaction': Janus.randomString(12) }\n if(pluginHandle.token)\n request['token'] = pluginHandle.token\n if(apisecret)\n request['apisecret'] = apisecret\n if(websockets) {\n request['session_id'] = sessionId\n request['handle_id'] = handleId\n ws.send(JSON.stringify(request))\n delete pluginHandles[handleId]\n callbacks.success()\n return\n }\n Janus.httpAPICall(server + '/' + sessionId + '/' + handleId, {\n verb: 'POST',\n withCredentials: withCredentials,\n body: request,\n success: function(json) {\n Janus.log('Destroyed handle:')\n Janus.debug(json)\n if(json['janus'] !== 'success') {\n Janus.error('Ooops: ' + json['error'].code + ' ' + json['error'].reason) // FIXME\n }\n delete pluginHandles[handleId]\n callbacks.success()\n },\n error: function(textStatus, errorThrown) {\n Janus.error(textStatus + ':', errorThrown) // FIXME\n // We cleanup anyway\n delete pluginHandles[handleId]\n callbacks.success()\n }\n })\n }\n\n // WebRTC stuff\n function streamsDone(handleId, jsep, media, callbacks, stream) {\n var pluginHandle = pluginHandles[handleId]\n if(!pluginHandle || !pluginHandle.webrtcStuff) {\n Janus.warn('Invalid handle')\n // Close all tracks if the given stream has been created internally\n if(!callbacks.stream) {\n Janus.stopAllTracks(stream)\n }\n callbacks.error('Invalid handle')\n return\n }\n var config = pluginHandle.webrtcStuff\n Janus.debug('streamsDone:', stream)\n if(stream) {\n Janus.debug(' -- Audio tracks:', stream.getAudioTracks())\n Janus.debug(' -- Video tracks:', stream.getVideoTracks())\n }\n // We're now capturing the new stream: check if we're updating or if it's a new thing\n var addTracks = false\n if(!config.myStream || !media.update || (config.streamExternal && !media.replaceAudio && !media.replaceVideo)) {\n config.myStream = stream\n addTracks = true\n } else {\n // We only need to update the existing stream\n if(((!media.update && isAudioSendEnabled(media)) || (media.update && (media.addAudio || media.replaceAudio))) &&\n stream.getAudioTracks() && stream.getAudioTracks().length) {\n config.myStream.addTrack(stream.getAudioTracks()[0])\n if(Janus.unifiedPlan) {\n // Use Transceivers\n Janus.log((media.replaceAudio ? 'Replacing' : 'Adding') + ' audio track:', stream.getAudioTracks()[0])\n var audioTransceiver = null\n var transceivers = config.pc.getTransceivers()\n if(transceivers && transceivers.length > 0) {\n for(var t of transceivers) {\n if((t.sender && t.sender.track && t.sender.track.kind === 'audio') ||\n (t.receiver && t.receiver.track && t.receiver.track.kind === 'audio')) {\n audioTransceiver = t\n break\n }\n }\n }\n if(audioTransceiver && audioTransceiver.sender) {\n audioTransceiver.sender.replaceTrack(stream.getAudioTracks()[0])\n } else {\n config.pc.addTrack(stream.getAudioTracks()[0], stream)\n }\n } else {\n Janus.log((media.replaceAudio ? 'Replacing' : 'Adding') + ' audio track:', stream.getAudioTracks()[0])\n config.pc.addTrack(stream.getAudioTracks()[0], stream)\n }\n }\n if(((!media.update && isVideoSendEnabled(media)) || (media.update && (media.addVideo || media.replaceVideo))) &&\n stream.getVideoTracks() && stream.getVideoTracks().length) {\n config.myStream.addTrack(stream.getVideoTracks()[0])\n if(Janus.unifiedPlan) {\n // Use Transceivers\n Janus.log((media.replaceVideo ? 'Replacing' : 'Adding') + ' video track:', stream.getVideoTracks()[0])\n var videoTransceiver = null\n var transceivers = config.pc.getTransceivers()\n if(transceivers && transceivers.length > 0) {\n for(var t of transceivers) {\n if((t.sender && t.sender.track && t.sender.track.kind === 'video') ||\n (t.receiver && t.receiver.track && t.receiver.track.kind === 'video')) {\n videoTransceiver = t\n break\n }\n }\n }\n if(videoTransceiver && videoTransceiver.sender) {\n videoTransceiver.sender.replaceTrack(stream.getVideoTracks()[0])\n } else {\n config.pc.addTrack(stream.getVideoTracks()[0], stream)\n }\n } else {\n Janus.log((media.replaceVideo ? 'Replacing' : 'Adding') + ' video track:', stream.getVideoTracks()[0])\n config.pc.addTrack(stream.getVideoTracks()[0], stream)\n }\n }\n }\n // If we still need to create a PeerConnection, let's do that\n if(!config.pc) {\n var pc_config = {'iceServers': iceServers, 'iceTransportPolicy': iceTransportPolicy, 'bundlePolicy': bundlePolicy}\n if(Janus.webRTCAdapter.browserDetails.browser === 'chrome') {\n // For Chrome versions before 72, we force a plan-b semantic, and unified-plan otherwise\n pc_config['sdpSemantics'] = (Janus.webRTCAdapter.browserDetails.version < 72) ? 'plan-b' : 'unified-plan'\n }\n var pc_constraints = {\n 'optional': [{'DtlsSrtpKeyAgreement': true}]\n }\n if(ipv6Support) {\n pc_constraints.optional.push({'googIPv6':true})\n }\n // Any custom constraint to add?\n if(callbacks.rtcConstraints && typeof callbacks.rtcConstraints === 'object') {\n Janus.debug('Adding custom PeerConnection constraints:', callbacks.rtcConstraints)\n for(var i in callbacks.rtcConstraints) {\n pc_constraints.optional.push(callbacks.rtcConstraints[i])\n }\n }\n if(Janus.webRTCAdapter.browserDetails.browser === 'edge') {\n // This is Edge, enable BUNDLE explicitly\n pc_config.bundlePolicy = 'max-bundle'\n }\n // Check if a sender or receiver transform has been provided\n if(RTCRtpSender && (RTCRtpSender.prototype.createEncodedStreams ||\n (RTCRtpSender.prototype.createEncodedAudioStreams &&\n RTCRtpSender.prototype.createEncodedVideoStreams)) &&\n (callbacks.senderTransforms || callbacks.receiverTransforms)) {\n config.senderTransforms = callbacks.senderTransforms\n config.receiverTransforms = callbacks.receiverTransforms\n pc_config['forceEncodedAudioInsertableStreams'] = true\n pc_config['forceEncodedVideoInsertableStreams'] = true\n pc_config['encodedInsertableStreams'] = true\n }\n Janus.log('Creating PeerConnection')\n Janus.debug(pc_constraints)\n config.pc = new RTCPeerConnection(pc_config, pc_constraints)\n Janus.debug(config.pc)\n if(config.pc.getStats) { // FIXME\n config.volume = {}\n }\n Janus.log('Preparing local SDP and gathering candidates (trickle=' + config.trickle + ')')\n config.pc.oniceconnectionstatechange = function(e) {\n if(config.pc)\n pluginHandle.iceState(config.pc.iceConnectionState)\n }\n config.pc.onicecandidate = function(event) {\n if (!event.candidate ||\n (Janus.webRTCAdapter.browserDetails.browser === 'edge' && event.candidate.candidate.indexOf('endOfCandidates') > 0)) {\n Janus.log('End of candidates.')\n config.iceDone = true\n if(config.trickle === true) {\n // Notify end of candidates\n sendTrickleCandidate(handleId, {'completed': true})\n } else {\n // No trickle, time to send the complete SDP (including all candidates)\n sendSDP(handleId, callbacks)\n }\n } else {\n // JSON.stringify doesn't work on some WebRTC objects anymore\n // See https://code.google.com/p/chromium/issues/detail?id=467366\n var candidate = {\n 'candidate': event.candidate.candidate,\n 'sdpMid': event.candidate.sdpMid,\n 'sdpMLineIndex': event.candidate.sdpMLineIndex\n }\n if(config.trickle === true) {\n // Send candidate\n sendTrickleCandidate(handleId, candidate)\n }\n }\n }\n config.pc.ontrack = function(event) {\n Janus.log('Handling Remote Track')\n Janus.debug(event)\n if(!event.streams)\n return\n config.remoteStream = event.streams[0]\n pluginHandle.onremotestream(config.remoteStream)\n if(event.track.onended)\n return\n if(config.receiverTransforms) {\n var receiverStreams = null\n if(RTCRtpSender.prototype.createEncodedStreams) {\n receiverStreams = event.receiver.createEncodedStreams()\n } else if(RTCRtpSender.prototype.createAudioEncodedStreams || RTCRtpSender.prototype.createEncodedVideoStreams) {\n if(event.track.kind === 'audio' && config.receiverTransforms['audio']) {\n receiverStreams = event.receiver.createEncodedAudioStreams()\n } else if(event.track.kind === 'video' && config.receiverTransforms['video']) {\n receiverStreams = event.receiver.createEncodedVideoStreams()\n }\n }\n if(receiverStreams) {\n console.log(receiverStreams)\n if(receiverStreams.readableStream && receiverStreams.writableStream) {\n receiverStreams.readableStream\n .pipeThrough(config.receiverTransforms[event.track.kind])\n .pipeTo(receiverStreams.writableStream)\n } else if(receiverStreams.readable && receiverStreams.writable) {\n receiverStreams.readable\n .pipeThrough(config.receiverTransforms[event.track.kind])\n .pipeTo(receiverStreams.writable)\n }\n }\n }\n var trackMutedTimeoutId = null\n Janus.log('Adding onended callback to track:', event.track)\n event.track.onended = function(ev) {\n Janus.log('Remote track removed:', ev)\n if(config.remoteStream) {\n clearTimeout(trackMutedTimeoutId)\n config.remoteStream.removeTrack(ev.target)\n pluginHandle.onremotestream(config.remoteStream)\n }\n }\n event.track.onmute = function(ev) {\n Janus.log('Remote track muted:', ev)\n if(config.remoteStream && trackMutedTimeoutId == null) {\n trackMutedTimeoutId = setTimeout(function() {\n Janus.log('Removing remote track')\n if (config.remoteStream) {\n config.remoteStream.removeTrack(ev.target)\n pluginHandle.onremotestream(config.remoteStream)\n pluginHandle.ontrackmuted()\n }\n trackMutedTimeoutId = null\n // Chrome seems to raise mute events only at multiples of 834ms;\n // we set the timeout to three times this value (rounded to 840ms)\n }, 3 * 840)\n }\n }\n event.track.onunmute = function(ev) {\n Janus.log('Remote track flowing again:', ev)\n if(trackMutedTimeoutId != null) {\n clearTimeout(trackMutedTimeoutId)\n trackMutedTimeoutId = null\n } else {\n try {\n config.remoteStream.addTrack(ev.target)\n pluginHandle.onremotestream(config.remoteStream)\n pluginHandle.ontrackunmuted()\n } catch(e) {\n Janus.error(e)\n }\n }\n }\n }\n }\n if(addTracks && stream) {\n Janus.log('Adding local stream')\n var simulcast2 = (callbacks.simulcast2 === true)\n stream.getTracks().forEach(function(track) {\n Janus.log('Adding local track:', track)\n var sender = null\n if(!simulcast2 || track.kind === 'audio') {\n sender = config.pc.addTrack(track, stream)\n } else {\n Janus.log('Enabling rid-based simulcasting:', track)\n var maxBitrates = getMaxBitrates(callbacks.simulcastMaxBitrates)\n var tr = config.pc.addTransceiver(track, {\n direction: 'sendrecv',\n streams: [stream],\n sendEncodings: callbacks.sendEncodings || [\n { rid: 'h', active: true, maxBitrate: maxBitrates.high },\n { rid: 'm', active: true, maxBitrate: maxBitrates.medium, scaleResolutionDownBy: 2 },\n { rid: 'l', active: true, maxBitrate: maxBitrates.low, scaleResolutionDownBy: 4 }\n ]\n })\n if(tr)\n sender = tr.sender\n }\n // Check if insertable streams are involved\n if(sender && config.senderTransforms) {\n var senderStreams = null\n if(RTCRtpSender.prototype.createEncodedStreams) {\n senderStreams = sender.createEncodedStreams()\n } else if(RTCRtpSender.prototype.createAudioEncodedStreams || RTCRtpSender.prototype.createEncodedVideoStreams) {\n if(sender.track.kind === 'audio' && config.senderTransforms['audio']) {\n senderStreams = sender.createEncodedAudioStreams()\n } else if(sender.track.kind === 'video' && config.senderTransforms['video']) {\n senderStreams = sender.createEncodedVideoStreams()\n }\n }\n if(senderStreams) {\n console.log(senderStreams)\n if(senderStreams.readableStream && senderStreams.writableStream) {\n senderStreams.readableStream\n .pipeThrough(config.senderTransforms[sender.track.kind])\n .pipeTo(senderStreams.writableStream)\n } else if(senderStreams.readable && senderStreams.writable) {\n senderStreams.readable\n .pipeThrough(config.senderTransforms[sender.track.kind])\n .pipeTo(senderStreams.writable)\n }\n }\n }\n })\n }\n // Any data channel to create?\n if(isDataEnabled(media) && !config.dataChannel[Janus.dataChanDefaultLabel]) {\n Janus.log('Creating default data channel')\n createDataChannel(handleId, Janus.dataChanDefaultLabel, null, false)\n config.pc.ondatachannel = function(event) {\n Janus.log('Data channel created by Janus:', event)\n createDataChannel(handleId, event.channel.label, event.channel.protocol, event.channel)\n }\n }\n // If there's a new local stream, let's notify the application\n if(config.myStream) {\n pluginHandle.onlocalstream(config.myStream)\n }\n // Create offer/answer now\n if(!jsep) {\n createOffer(handleId, media, callbacks)\n } else {\n // some firefox vs 420029 fix here, copied from our prev custom release\n var oldsdp = jsep['sdp']\n var pattern = /420029/gi\n var newsdp = oldsdp.replace(pattern,'42e01f')\n Janus.log(newsdp)\n jsep['sdp'] = newsdp\n config.pc.setRemoteDescription(jsep)\n .then(function() {\n Janus.log('Remote description accepted!')\n config.remoteSdp = jsep.sdp\n // Any trickle candidate we cached?\n if(config.candidates && config.candidates.length > 0) {\n for(var i = 0; i< config.candidates.length; i++) {\n var candidate = config.candidates[i]\n Janus.debug('Adding remote candidate:', candidate)\n if(!candidate || candidate.completed === true) {\n // end-of-candidates\n config.pc.addIceCandidate(Janus.endOfCandidates)\n } else {\n // New candidate\n config.pc.addIceCandidate(candidate)\n }\n }\n config.candidates = []\n }\n // Create the answer now\n createAnswer(handleId, media, callbacks)\n }, callbacks.error)\n }\n }\n\n function prepareWebrtc(handleId, offer, callbacks) {\n callbacks = callbacks || {}\n callbacks.success = (typeof callbacks.success == 'function') ? callbacks.success : Janus.noop\n callbacks.error = (typeof callbacks.error == 'function') ? callbacks.error : webrtcError\n var jsep = callbacks.jsep\n if(offer && jsep) {\n Janus.error('Provided a JSEP to a createOffer')\n callbacks.error('Provided a JSEP to a createOffer')\n return\n } else if(!offer && (!jsep || !jsep.type || !jsep.sdp)) {\n Janus.error('A valid JSEP is required for createAnswer')\n callbacks.error('A valid JSEP is required for createAnswer')\n return\n }\n /* Check that callbacks.media is a (not null) Object */\n callbacks.media = (typeof callbacks.media === 'object' && callbacks.media) ? callbacks.media : { audio: true, video: true }\n var media = callbacks.media\n var pluginHandle = pluginHandles[handleId]\n if(!pluginHandle || !pluginHandle.webrtcStuff) {\n Janus.warn('Invalid handle')\n callbacks.error('Invalid handle')\n return\n }\n var config = pluginHandle.webrtcStuff\n config.trickle = isTrickleEnabled(callbacks.trickle)\n // Are we updating a session?\n if(!config.pc) {\n // Nope, new PeerConnection\n media.update = false\n media.keepAudio = false\n media.keepVideo = false\n } else {\n Janus.log('Updating existing media session')\n media.update = true\n // Check if there's anything to add/remove/replace, or if we\n // can go directly to preparing the new SDP offer or answer\n if(callbacks.stream) {\n // External stream: is this the same as the one we were using before?\n if(callbacks.stream !== config.myStream) {\n Janus.log('Renegotiation involves a new external stream')\n }\n } else {\n // Check if there are changes on audio\n if(media.addAudio) {\n media.keepAudio = false\n media.replaceAudio = false\n media.removeAudio = false\n media.audioSend = true\n if(config.myStream && config.myStream.getAudioTracks() && config.myStream.getAudioTracks().length) {\n Janus.error('Can\\'t add audio stream, there already is one')\n callbacks.error('Can\\'t add audio stream, there already is one')\n return\n }\n } else if(media.removeAudio) {\n media.keepAudio = false\n media.replaceAudio = false\n media.addAudio = false\n media.audioSend = false\n } else if(media.replaceAudio) {\n media.keepAudio = false\n media.addAudio = false\n media.removeAudio = false\n media.audioSend = true\n }\n if(!config.myStream) {\n // No media stream: if we were asked to replace, it's actually an \"add\"\n if(media.replaceAudio) {\n media.keepAudio = false\n media.replaceAudio = false\n media.addAudio = true\n media.audioSend = true\n }\n if(isAudioSendEnabled(media)) {\n media.keepAudio = false\n media.addAudio = true\n }\n } else {\n if(!config.myStream.getAudioTracks() || config.myStream.getAudioTracks().length === 0) {\n // No audio track: if we were asked to replace, it's actually an \"add\"\n if(media.replaceAudio) {\n media.keepAudio = false\n media.replaceAudio = false\n media.addAudio = true\n media.audioSend = true\n }\n if(isAudioSendEnabled(media)) {\n media.keepAudio = false\n media.addAudio = true\n }\n } else {\n // We have an audio track: should we keep it as it is?\n if(isAudioSendEnabled(media) &&\n !media.removeAudio && !media.replaceAudio) {\n media.keepAudio = true\n }\n }\n }\n // Check if there are changes on video\n if(media.addVideo) {\n media.keepVideo = false\n media.replaceVideo = false\n media.removeVideo = false\n media.videoSend = true\n if(config.myStream && config.myStream.getVideoTracks() && config.myStream.getVideoTracks().length) {\n Janus.error('Can\\'t add video stream, there already is one')\n callbacks.error('Can\\'t add video stream, there already is one')\n return\n }\n } else if(media.removeVideo) {\n media.keepVideo = false\n media.replaceVideo = false\n media.addVideo = false\n media.videoSend = false\n } else if(media.replaceVideo) {\n media.keepVideo = false\n media.addVideo = false\n media.removeVideo = false\n media.videoSend = true\n }\n if(!config.myStream) {\n // No media stream: if we were asked to replace, it's actually an \"add\"\n if(media.replaceVideo) {\n media.keepVideo = false\n media.replaceVideo = false\n media.addVideo = true\n media.videoSend = true\n }\n if(isVideoSendEnabled(media)) {\n media.keepVideo = false\n media.addVideo = true\n }\n } else {\n if(!config.myStream.getVideoTracks() || config.myStream.getVideoTracks().length === 0) {\n // No video track: if we were asked to replace, it's actually an \"add\"\n if(media.replaceVideo) {\n media.keepVideo = false\n media.replaceVideo = false\n media.addVideo = true\n media.videoSend = true\n }\n if(isVideoSendEnabled(media)) {\n media.keepVideo = false\n media.addVideo = true\n }\n } else {\n // We have a video track: should we keep it as it is?\n if(isVideoSendEnabled(media) && !media.removeVideo && !media.replaceVideo) {\n media.keepVideo = true\n }\n }\n }\n // Data channels can only be added\n if(media.addData) {\n media.data = true\n }\n }\n // If we're updating and keeping all tracks, let's skip the getUserMedia part\n if((isAudioSendEnabled(media) && media.keepAudio) &&\n (isVideoSendEnabled(media) && media.keepVideo)) {\n pluginHandle.consentDialog(false)\n streamsDone(handleId, jsep, media, callbacks, config.myStream)\n return\n }\n }\n // If we're updating, check if we need to remove/replace one of the tracks\n if(media.update && (!config.streamExternal || (config.streamExternal && (media.replaceAudio || media.replaceVideo)))) {\n if(media.removeAudio || media.replaceAudio) {\n if(config.myStream && config.myStream.getAudioTracks() && config.myStream.getAudioTracks().length) {\n var at = config.myStream.getAudioTracks()[0]\n Janus.log('Removing audio track:', at)\n config.myStream.removeTrack(at)\n try {\n at.stop()\n } catch(e) {}\n }\n if(config.pc.getSenders() && config.pc.getSenders().length) {\n var ra = true\n if(media.replaceAudio && Janus.unifiedPlan) {\n // We can use replaceTrack\n ra = false\n }\n if(ra) {\n for(var asnd of config.pc.getSenders()) {\n if(asnd && asnd.track && asnd.track.kind === 'audio') {\n Janus.log('Removing audio sender:', asnd)\n config.pc.removeTrack(asnd)\n }\n }\n }\n }\n }\n if(media.removeVideo || media.replaceVideo) {\n if(config.myStream && config.myStream.getVideoTracks() && config.myStream.getVideoTracks().length) {\n var vt = config.myStream.getVideoTracks()[0]\n Janus.log('Removing video track:', vt)\n config.myStream.removeTrack(vt)\n try {\n vt.stop()\n } catch(e) {}\n }\n if(config.pc.getSenders() && config.pc.getSenders().length) {\n var rv = true\n if(media.replaceVideo && Janus.unifiedPlan) {\n // We can use replaceTrack\n rv = false\n }\n if(rv) {\n for(var vsnd of config.pc.getSenders()) {\n if(vsnd && vsnd.track && vsnd.track.kind === 'video') {\n Janus.log('Removing video sender:', vsnd)\n config.pc.removeTrack(vsnd)\n }\n }\n }\n }\n }\n }\n // Was a MediaStream object passed, or do we need to take care of that?\n if(callbacks.stream) {\n var stream = callbacks.stream\n Janus.log('MediaStream provided by the application')\n Janus.debug(stream)\n // If this is an update, let's check if we need to release the previous stream\n if(media.update && config.myStream && config.myStream !== callbacks.stream && !config.streamExternal && !media.replaceAudio && !media.replaceVideo) {\n // We're replacing a stream we captured ourselves with an external one\n Janus.stopAllTracks(config.myStream)\n config.myStream = null\n }\n // Skip the getUserMedia part\n config.streamExternal = true\n pluginHandle.consentDialog(false)\n streamsDone(handleId, jsep, media, callbacks, stream)\n return\n }\n if(isAudioSendEnabled(media) || isVideoSendEnabled(media)) {\n if(!Janus.isGetUserMediaAvailable()) {\n callbacks.error('getUserMedia not available')\n return\n }\n var constraints = { mandatory: {}, optional: []}\n pluginHandle.consentDialog(true)\n var audioSupport = isAudioSendEnabled(media)\n if(audioSupport && media && typeof media.audio === 'object')\n audioSupport = media.audio\n var videoSupport = isVideoSendEnabled(media)\n if(videoSupport && media) {\n var simulcast = (callbacks.simulcast === true)\n var simulcast2 = (callbacks.simulcast2 === true)\n if((simulcast || simulcast2) && !jsep && !media.video)\n media.video = 'hires'\n if(media.video && media.video != 'screen' && media.video != 'window') {\n if(typeof media.video === 'object') {\n videoSupport = media.video\n } else {\n var width = 0\n var height = 0, maxHeight = 0\n if(media.video === 'lowres') {\n // Small resolution, 4:3\n height = 240\n maxHeight = 240\n width = 320\n } else if(media.video === 'lowres-16:9') {\n // Small resolution, 16:9\n height = 180\n maxHeight = 180\n width = 320\n } else if(media.video === 'hires' || media.video === 'hires-16:9' || media.video === 'hdres') {\n // High(HD) resolution is only 16:9\n height = 720\n maxHeight = 720\n width = 1280\n } else if(media.video === 'fhdres') {\n // Full HD resolution is only 16:9\n height = 1080\n maxHeight = 1080\n width = 1920\n } else if(media.video === '4kres') {\n // 4K resolution is only 16:9\n height = 2160\n maxHeight = 2160\n width = 3840\n } else if(media.video === 'stdres') {\n // Normal resolution, 4:3\n height = 480\n maxHeight = 480\n width = 640\n } else if(media.video === 'stdres-16:9') {\n // Normal resolution, 16:9\n height = 360\n maxHeight = 360\n width = 640\n } else {\n Janus.log('Default video setting is stdres 4:3')\n height = 480\n maxHeight = 480\n width = 640\n }\n Janus.log('Adding media constraint:', media.video)\n videoSupport = {\n 'height': {'ideal': height},\n 'width': {'ideal': width}\n }\n Janus.log('Adding video constraint:', videoSupport)\n }\n } else if(media.video === 'screen' || media.video === 'window') {\n if(navigator.mediaDevices && navigator.mediaDevices.getDisplayMedia) {\n // The new experimental getDisplayMedia API is available, let's use that\n // https://groups.google.com/forum/#!topic/discuss-webrtc/Uf0SrR4uxzk\n // https://webrtchacks.com/chrome-screensharing-getdisplaymedia/\n constraints.video = {}\n if(media.screenshareFrameRate) {\n constraints.video.frameRate = media.screenshareFrameRate\n }\n if(media.screenshareHeight) {\n constraints.video.height = media.screenshareHeight\n }\n if(media.screenshareWidth) {\n constraints.video.width = media.screenshareWidth\n }\n constraints.audio = media.captureDesktopAudio\n navigator.mediaDevices.getDisplayMedia(constraints)\n .then(function(stream) {\n pluginHandle.consentDialog(false)\n if(isAudioSendEnabled(media) && !media.keepAudio) {\n navigator.mediaDevices.getUserMedia({ audio: true, video: false })\n .then(function (audioStream) {\n stream.addTrack(audioStream.getAudioTracks()[0])\n streamsDone(handleId, jsep, media, callbacks, stream)\n })\n } else {\n streamsDone(handleId, jsep, media, callbacks, stream)\n }\n }, function (error) {\n pluginHandle.consentDialog(false)\n callbacks.error(error)\n })\n return\n }\n // We're going to try and use the extension for Chrome 34+, the old approach\n // for older versions of Chrome, or the experimental support in Firefox 33+\n function callbackUserMedia (error, stream) {\n pluginHandle.consentDialog(false)\n if(error) {\n callbacks.error(error)\n } else {\n streamsDone(handleId, jsep, media, callbacks, stream)\n }\n }\n function getScreenMedia(constraints, gsmCallback, useAudio) {\n Janus.log('Adding media constraint (screen capture)')\n Janus.debug(constraints)\n navigator.mediaDevices.getUserMedia(constraints)\n .then(function(stream) {\n if(useAudio) {\n navigator.mediaDevices.getUserMedia({ audio: true, video: false })\n .then(function (audioStream) {\n stream.addTrack(audioStream.getAudioTracks()[0])\n gsmCallback(null, stream)\n })\n } else {\n gsmCallback(null, stream)\n }\n })\n .catch(function(error) { pluginHandle.consentDialog(false); gsmCallback(error) })\n }\n if(Janus.webRTCAdapter.browserDetails.browser === 'chrome') {\n var chromever = Janus.webRTCAdapter.browserDetails.version\n var maxver = 33\n if(window.navigator.userAgent.match('Linux'))\n maxver = 35 // \"known\" crash in chrome 34 and 35 on linux\n if(chromever >= 26 && chromever <= maxver) {\n // Chrome 26->33 requires some awkward chrome://flags manipulation\n constraints = {\n video: {\n mandatory: {\n googLeakyBucket: true,\n maxWidth: window.screen.width,\n maxHeight: window.screen.height,\n minFrameRate: media.screenshareFrameRate,\n maxFrameRate: media.screenshareFrameRate,\n chromeMediaSource: 'screen'\n }\n },\n audio: isAudioSendEnabled(media) && !media.keepAudio\n }\n getScreenMedia(constraints, callbackUserMedia)\n } else {\n // Chrome 34+ requires an extension\n Janus.extension.getScreen(function (error, sourceId) {\n if (error) {\n pluginHandle.consentDialog(false)\n return callbacks.error(error)\n }\n constraints = {\n audio: false,\n video: {\n mandatory: {\n chromeMediaSource: 'desktop',\n maxWidth: window.screen.width,\n maxHeight: window.screen.height,\n minFrameRate: media.screenshareFrameRate,\n maxFrameRate: media.screenshareFrameRate,\n },\n optional: [\n {googLeakyBucket: true},\n {googTemporalLayeredScreencast: true}\n ]\n }\n }\n constraints.video.mandatory.chromeMediaSourceId = sourceId\n getScreenMedia(constraints, callbackUserMedia,\n isAudioSendEnabled(media) && !media.keepAudio)\n })\n }\n } else if(Janus.webRTCAdapter.browserDetails.browser === 'firefox') {\n if(Janus.webRTCAdapter.browserDetails.version >= 33) {\n // Firefox 33+ has experimental support for screen sharing\n constraints = {\n video: {\n mozMediaSource: media.video,\n mediaSource: media.video\n },\n audio: isAudioSendEnabled(media) && !media.keepAudio\n }\n getScreenMedia(constraints, function (err, stream) {\n callbackUserMedia(err, stream)\n // Workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=1045810\n if (!err) {\n var lastTime = stream.currentTime\n var polly = window.setInterval(function () {\n if(!stream)\n window.clearInterval(polly)\n if(stream.currentTime == lastTime) {\n window.clearInterval(polly)\n if(stream.onended) {\n stream.onended()\n }\n }\n lastTime = stream.currentTime\n }, 500)\n }\n })\n } else {\n var error = new Error('NavigatorUserMediaError')\n error.name = 'Your version of Firefox does not support screen sharing, please install Firefox 33 (or more recent versions)'\n pluginHandle.consentDialog(false)\n callbacks.error(error)\n return\n }\n }\n return\n }\n }\n // If we got here, we're not screensharing\n if(!media || media.video !== 'screen') {\n // Check whether all media sources are actually available or not\n navigator.mediaDevices.enumerateDevices().then(function(devices) {\n var audioExist = devices.some(function(device) {\n return device.kind === 'audioinput'\n }),\n videoExist = isScreenSendEnabled(media) || devices.some(function(device) {\n return device.kind === 'videoinput'\n })\n\n // Check whether a missing device is really a problem\n var audioSend = isAudioSendEnabled(media)\n var videoSend = isVideoSendEnabled(media)\n var needAudioDevice = isAudioSendRequired(media)\n var needVideoDevice = isVideoSendRequired(media)\n if(audioSend || videoSend || needAudioDevice || needVideoDevice) {\n // We need to send either audio or video\n var haveAudioDevice = audioSend ? audioExist : false\n var haveVideoDevice = videoSend ? videoExist : false\n if(!haveAudioDevice && !haveVideoDevice) {\n // FIXME Should we really give up, or just assume recvonly for both?\n pluginHandle.consentDialog(false)\n callbacks.error('No capture device found')\n return false\n } else if(!haveAudioDevice && needAudioDevice) {\n pluginHandle.consentDialog(false)\n callbacks.error('Audio capture is required, but no capture device found')\n return false\n } else if(!haveVideoDevice && needVideoDevice) {\n pluginHandle.consentDialog(false)\n callbacks.error('Video capture is required, but no capture device found')\n return false\n }\n }\n\n var gumConstraints = {\n audio: (audioExist && !media.keepAudio) ? audioSupport : false,\n video: (videoExist && !media.keepVideo) ? videoSupport : false\n }\n Janus.debug('getUserMedia constraints', gumConstraints)\n if (!gumConstraints.audio && !gumConstraints.video) {\n pluginHandle.consentDialog(false)\n streamsDone(handleId, jsep, media, callbacks, stream)\n } else {\n navigator.mediaDevices.getUserMedia(gumConstraints)\n .then(function(stream) {\n pluginHandle.consentDialog(false)\n streamsDone(handleId, jsep, media, callbacks, stream)\n }).catch(function(error) {\n pluginHandle.consentDialog(false)\n callbacks.error({code: error.code, name: error.name, message: error.message})\n })\n }\n })\n .catch(function(error) {\n pluginHandle.consentDialog(false)\n callbacks.error(error)\n })\n }\n } else {\n // No need to do a getUserMedia, create offer/answer right away\n streamsDone(handleId, jsep, media, callbacks)\n }\n }\n\n function prepareWebrtcPeer(handleId, callbacks) {\n callbacks = callbacks || {}\n callbacks.success = (typeof callbacks.success == 'function') ? callbacks.success : Janus.noop\n callbacks.error = (typeof callbacks.error == 'function') ? callbacks.error : webrtcError\n callbacks.customizeSdp = (typeof callbacks.customizeSdp == 'function') ? callbacks.customizeSdp : Janus.noop\n var jsep = callbacks.jsep\n var pluginHandle = pluginHandles[handleId]\n if(!pluginHandle || !pluginHandle.webrtcStuff) {\n Janus.warn('Invalid handle')\n callbacks.error('Invalid handle')\n return\n }\n var config = pluginHandle.webrtcStuff\n if(jsep) {\n if(!config.pc) {\n Janus.warn('Wait, no PeerConnection?? if this is an answer, use createAnswer and not handleRemoteJsep')\n callbacks.error('No PeerConnection: if this is an answer, use createAnswer and not handleRemoteJsep')\n return\n }\n callbacks.customizeSdp(jsep)\n config.pc.setRemoteDescription(jsep)\n .then(function() {\n Janus.log('Remote description accepted!')\n config.remoteSdp = jsep.sdp\n // Any trickle candidate we cached?\n if(config.candidates && config.candidates.length > 0) {\n for(var i = 0; i< config.candidates.length; i++) {\n var candidate = config.candidates[i]\n Janus.debug('Adding remote candidate:', candidate)\n if(!candidate || candidate.completed === true) {\n // end-of-candidates\n config.pc.addIceCandidate(Janus.endOfCandidates)\n } else {\n // New candidate\n config.pc.addIceCandidate(candidate)\n }\n }\n config.candidates = []\n }\n // Done\n callbacks.success()\n }, callbacks.error)\n } else {\n callbacks.error('Invalid JSEP')\n }\n }\n\n function createOffer(handleId, media, callbacks) {\n callbacks = callbacks || {}\n callbacks.success = (typeof callbacks.success == 'function') ? callbacks.success : Janus.noop\n callbacks.error = (typeof callbacks.error == 'function') ? callbacks.error : Janus.noop\n callbacks.customizeSdp = (typeof callbacks.customizeSdp == 'function') ? callbacks.customizeSdp : Janus.noop\n var pluginHandle = pluginHandles[handleId]\n if(!pluginHandle || !pluginHandle.webrtcStuff) {\n Janus.warn('Invalid handle')\n callbacks.error('Invalid handle')\n return\n }\n var config = pluginHandle.webrtcStuff\n var simulcast = (callbacks.simulcast === true)\n if(!simulcast) {\n Janus.log('Creating offer (iceDone=' + config.iceDone + ')')\n } else {\n Janus.log('Creating offer (iceDone=' + config.iceDone + ', simulcast=' + simulcast + ')')\n }\n // https://code.google.com/p/webrtc/issues/detail?id=3508\n var mediaConstraints = {}\n if(Janus.unifiedPlan) {\n // We can use Transceivers\n var audioTransceiver = null, videoTransceiver = null\n var transceivers = config.pc.getTransceivers()\n if(transceivers && transceivers.length > 0) {\n for(var t of transceivers) {\n if((t.sender && t.sender.track && t.sender.track.kind === 'audio') ||\n (t.receiver && t.receiver.track && t.receiver.track.kind === 'audio')) {\n if(!audioTransceiver) {\n audioTransceiver = t\n }\n continue\n }\n if((t.sender && t.sender.track && t.sender.track.kind === 'video') ||\n (t.receiver && t.receiver.track && t.receiver.track.kind === 'video')) {\n if(!videoTransceiver) {\n videoTransceiver = t\n }\n continue\n }\n }\n }\n // Handle audio (and related changes, if any)\n var audioSend = isAudioSendEnabled(media)\n var audioRecv = isAudioRecvEnabled(media)\n if(!audioSend && !audioRecv) {\n // Audio disabled: have we removed it?\n if(media.removeAudio && audioTransceiver) {\n if (audioTransceiver.setDirection) {\n audioTransceiver.setDirection('inactive')\n } else {\n audioTransceiver.direction = 'inactive'\n }\n Janus.log('Setting audio transceiver to inactive:', audioTransceiver)\n }\n } else {\n // Take care of audio m-line\n if(audioSend && audioRecv) {\n if(audioTransceiver) {\n if (audioTransceiver.setDirection) {\n audioTransceiver.setDirection('sendrecv')\n } else {\n audioTransceiver.direction = 'sendrecv'\n }\n Janus.log('Setting audio transceiver to sendrecv:', audioTransceiver)\n }\n } else if(audioSend && !audioRecv) {\n if(audioTransceiver) {\n if (audioTransceiver.setDirection) {\n audioTransceiver.setDirection('sendonly')\n } else {\n audioTransceiver.direction = 'sendonly'\n }\n Janus.log('Setting audio transceiver to sendonly:', audioTransceiver)\n }\n } else if(!audioSend && audioRecv) {\n if(audioTransceiver) {\n if (audioTransceiver.setDirection) {\n audioTransceiver.setDirection('recvonly')\n } else {\n audioTransceiver.direction = 'recvonly'\n }\n Janus.log('Setting audio transceiver to recvonly:', audioTransceiver)\n } else {\n // In theory, this is the only case where we might not have a transceiver yet\n audioTransceiver = config.pc.addTransceiver('audio', { direction: 'recvonly' })\n Janus.log('Adding recvonly audio transceiver:', audioTransceiver)\n }\n }\n }\n // Handle video (and related changes, if any)\n var videoSend = isVideoSendEnabled(media)\n var videoRecv = isVideoRecvEnabled(media)\n if(!videoSend && !videoRecv) {\n // Video disabled: have we removed it?\n if(media.removeVideo && videoTransceiver) {\n if (videoTransceiver.setDirection) {\n videoTransceiver.setDirection('inactive')\n } else {\n videoTransceiver.direction = 'inactive'\n }\n Janus.log('Setting video transceiver to inactive:', videoTransceiver)\n }\n } else {\n // Take care of video m-line\n if(videoSend && videoRecv) {\n if(videoTransceiver) {\n if (videoTransceiver.setDirection) {\n videoTransceiver.setDirection('sendrecv')\n } else {\n videoTransceiver.direction = 'sendrecv'\n }\n Janus.log('Setting video transceiver to sendrecv:', videoTransceiver)\n }\n } else if(videoSend && !videoRecv) {\n if(videoTransceiver) {\n if (videoTransceiver.setDirection) {\n videoTransceiver.setDirection('sendonly')\n } else {\n videoTransceiver.direction = 'sendonly'\n }\n Janus.log('Setting video transceiver to sendonly:', videoTransceiver)\n }\n } else if(!videoSend && videoRecv) {\n if(videoTransceiver) {\n if (videoTransceiver.setDirection) {\n videoTransceiver.setDirection('recvonly')\n } else {\n videoTransceiver.direction = 'recvonly'\n }\n Janus.log('Setting video transceiver to recvonly:', videoTransceiver)\n } else {\n // In theory, this is the only case where we might not have a transceiver yet\n videoTransceiver = config.pc.addTransceiver('video', { direction: 'recvonly' })\n Janus.log('Adding recvonly video transceiver:', videoTransceiver)\n }\n }\n }\n } else {\n mediaConstraints['offerToReceiveAudio'] = isAudioRecvEnabled(media)\n mediaConstraints['offerToReceiveVideo'] = isVideoRecvEnabled(media)\n }\n var iceRestart = (callbacks.iceRestart === true)\n if(iceRestart) {\n mediaConstraints['iceRestart'] = true\n }\n Janus.debug(mediaConstraints)\n // Check if this is Firefox and we've been asked to do simulcasting\n var sendVideo = isVideoSendEnabled(media)\n if(sendVideo && simulcast && Janus.webRTCAdapter.browserDetails.browser === 'firefox') {\n // FIXME Based on https://gist.github.com/voluntas/088bc3cc62094730647b\n Janus.log('Enabling Simulcasting for Firefox (RID)')\n var sender = config.pc.getSenders().find(function(s) {return s.track && s.track.kind === 'video'})\n if(sender) {\n var parameters = sender.getParameters()\n if(!parameters) {\n parameters = {}\n }\n var maxBitrates = getMaxBitrates(callbacks.simulcastMaxBitrates)\n parameters.encodings = callbacks.sendEncodings || [\n { rid: 'h', active: true, maxBitrate: maxBitrates.high },\n { rid: 'm', active: true, maxBitrate: maxBitrates.medium, scaleResolutionDownBy: 2 },\n { rid: 'l', active: true, maxBitrate: maxBitrates.low, scaleResolutionDownBy: 4 }\n ]\n sender.setParameters(parameters)\n }\n }\n config.pc.createOffer(mediaConstraints)\n .then(function(offer) {\n Janus.debug(offer)\n // JSON.stringify doesn't work on some WebRTC objects anymore\n // See https://code.google.com/p/chromium/issues/detail?id=467366\n var jsep = {\n 'type': offer.type,\n 'sdp': offer.sdp\n }\n callbacks.customizeSdp(jsep)\n offer.sdp = jsep.sdp\n Janus.log('Setting local description')\n if(sendVideo && simulcast) {\n // This SDP munging only works with Chrome (Safari STP may support it too)\n if(Janus.webRTCAdapter.browserDetails.browser === 'chrome' ||\n Janus.webRTCAdapter.browserDetails.browser === 'safari') {\n Janus.log('Enabling Simulcasting for Chrome (SDP munging)')\n offer.sdp = mungeSdpForSimulcasting(offer.sdp)\n } else if(Janus.webRTCAdapter.browserDetails.browser !== 'firefox') {\n Janus.warn('simulcast=true, but this is not Chrome nor Firefox, ignoring')\n }\n }\n config.mySdp = {\n type: 'offer',\n sdp: offer.sdp\n }\n config.pc.setLocalDescription(offer)\n .catch(callbacks.error)\n config.mediaConstraints = mediaConstraints\n if(!config.iceDone && !config.trickle) {\n // Don't do anything until we have all candidates\n Janus.log('Waiting for all candidates...')\n return\n }\n // If transforms are present, notify Janus that the media is end-to-end encrypted\n if(config.senderTransforms || config.receiverTransforms) {\n offer['e2ee'] = true\n }\n callbacks.success(offer)\n }, callbacks.error)\n }\n\n function createAnswer(handleId, media, callbacks) {\n callbacks = callbacks || {}\n callbacks.success = (typeof callbacks.success == 'function') ? callbacks.success : Janus.noop\n callbacks.error = (typeof callbacks.error == 'function') ? callbacks.error : Janus.noop\n callbacks.customizeSdp = (typeof callbacks.customizeSdp == 'function') ? callbacks.customizeSdp : Janus.noop\n var pluginHandle = pluginHandles[handleId]\n if(!pluginHandle || !pluginHandle.webrtcStuff) {\n Janus.warn('Invalid handle')\n callbacks.error('Invalid handle')\n return\n }\n var config = pluginHandle.webrtcStuff\n var simulcast = (callbacks.simulcast === true)\n if(!simulcast) {\n Janus.log('Creating answer (iceDone=' + config.iceDone + ')')\n } else {\n Janus.log('Creating answer (iceDone=' + config.iceDone + ', simulcast=' + simulcast + ')')\n }\n var mediaConstraints = null\n if(Janus.unifiedPlan) {\n // We can use Transceivers\n mediaConstraints = {}\n var audioTransceiver = null, videoTransceiver = null\n var transceivers = config.pc.getTransceivers()\n if(transceivers && transceivers.length > 0) {\n for(var t of transceivers) {\n if((t.sender && t.sender.track && t.sender.track.kind === 'audio') ||\n (t.receiver && t.receiver.track && t.receiver.track.kind === 'audio')) {\n if(!audioTransceiver)\n audioTransceiver = t\n continue\n }\n if((t.sender && t.sender.track && t.sender.track.kind === 'video') ||\n (t.receiver && t.receiver.track && t.receiver.track.kind === 'video')) {\n if(!videoTransceiver)\n videoTransceiver = t\n continue\n }\n }\n }\n // Handle audio (and related changes, if any)\n var audioSend = isAudioSendEnabled(media)\n var audioRecv = isAudioRecvEnabled(media)\n if(!audioSend && !audioRecv) {\n // Audio disabled: have we removed it?\n if(media.removeAudio && audioTransceiver) {\n try {\n if (audioTransceiver.setDirection) {\n audioTransceiver.setDirection('inactive')\n } else {\n audioTransceiver.direction = 'inactive'\n }\n Janus.log('Setting audio transceiver to inactive:', audioTransceiver)\n } catch(e) {\n Janus.error(e)\n }\n }\n } else {\n // Take care of audio m-line\n if(audioSend && audioRecv) {\n if(audioTransceiver) {\n try {\n if (audioTransceiver.setDirection) {\n audioTransceiver.setDirection('sendrecv')\n } else {\n audioTransceiver.direction = 'sendrecv'\n }\n Janus.log('Setting audio transceiver to sendrecv:', audioTransceiver)\n } catch(e) {\n Janus.error(e)\n }\n }\n } else if(audioSend && !audioRecv) {\n try {\n if(audioTransceiver) {\n if (audioTransceiver.setDirection) {\n audioTransceiver.setDirection('sendonly')\n } else {\n audioTransceiver.direction = 'sendonly'\n }\n Janus.log('Setting audio transceiver to sendonly:', audioTransceiver)\n }\n } catch(e) {\n Janus.error(e)\n }\n } else if(!audioSend && audioRecv) {\n if(audioTransceiver) {\n try {\n if (audioTransceiver.setDirection) {\n audioTransceiver.setDirection('recvonly')\n } else {\n audioTransceiver.direction = 'recvonly'\n }\n Janus.log('Setting audio transceiver to recvonly:', audioTransceiver)\n } catch(e) {\n Janus.error(e)\n }\n } else {\n // In theory, this is the only case where we might not have a transceiver yet\n audioTransceiver = config.pc.addTransceiver('audio', { direction: 'recvonly' })\n Janus.log('Adding recvonly audio transceiver:', audioTransceiver)\n }\n }\n }\n // Handle video (and related changes, if any)\n var videoSend = isVideoSendEnabled(media)\n var videoRecv = isVideoRecvEnabled(media)\n if(!videoSend && !videoRecv) {\n // Video disabled: have we removed it?\n if(media.removeVideo && videoTransceiver) {\n try {\n if (videoTransceiver.setDirection) {\n videoTransceiver.setDirection('inactive')\n } else {\n videoTransceiver.direction = 'inactive'\n }\n Janus.log('Setting video transceiver to inactive:', videoTransceiver)\n } catch(e) {\n Janus.error(e)\n }\n }\n } else {\n // Take care of video m-line\n if(videoSend && videoRecv) {\n if(videoTransceiver) {\n try {\n if (videoTransceiver.setDirection) {\n videoTransceiver.setDirection('sendrecv')\n } else {\n videoTransceiver.direction = 'sendrecv'\n }\n Janus.log('Setting video transceiver to sendrecv:', videoTransceiver)\n } catch(e) {\n Janus.error(e)\n }\n }\n } else if(videoSend && !videoRecv) {\n if(videoTransceiver) {\n try {\n if (videoTransceiver.setDirection) {\n videoTransceiver.setDirection('sendonly')\n } else {\n videoTransceiver.direction = 'sendonly'\n }\n Janus.log('Setting video transceiver to sendonly:', videoTransceiver)\n } catch(e) {\n Janus.error(e)\n }\n }\n } else if(!videoSend && videoRecv) {\n if(videoTransceiver) {\n try {\n if (videoTransceiver.setDirection) {\n videoTransceiver.setDirection('recvonly')\n } else {\n videoTransceiver.direction = 'recvonly'\n }\n Janus.log('Setting video transceiver to recvonly:', videoTransceiver)\n } catch(e) {\n Janus.error(e)\n }\n } else {\n // In theory, this is the only case where we might not have a transceiver yet\n videoTransceiver = config.pc.addTransceiver('video', { direction: 'recvonly' })\n Janus.log('Adding recvonly video transceiver:', videoTransceiver)\n }\n }\n }\n } else {\n if(Janus.webRTCAdapter.browserDetails.browser === 'firefox' || Janus.webRTCAdapter.browserDetails.browser === 'edge') {\n mediaConstraints = {\n offerToReceiveAudio: isAudioRecvEnabled(media),\n offerToReceiveVideo: isVideoRecvEnabled(media)\n }\n } else {\n mediaConstraints = {\n mandatory: {\n OfferToReceiveAudio: isAudioRecvEnabled(media),\n OfferToReceiveVideo: isVideoRecvEnabled(media)\n }\n }\n }\n }\n Janus.debug(mediaConstraints)\n // Check if this is Firefox and we've been asked to do simulcasting\n var sendVideo = isVideoSendEnabled(media)\n if(sendVideo && simulcast && Janus.webRTCAdapter.browserDetails.browser === 'firefox') {\n // FIXME Based on https://gist.github.com/voluntas/088bc3cc62094730647b\n Janus.log('Enabling Simulcasting for Firefox (RID)')\n var sender = config.pc.getSenders()[1]\n Janus.log(sender)\n var parameters = sender.getParameters()\n Janus.log(parameters)\n\n var maxBitrates = getMaxBitrates(callbacks.simulcastMaxBitrates)\n sender.setParameters({encodings: callbacks.sendEncodings || [\n { rid: 'h', active: true, maxBitrate: maxBitrates.high },\n { rid: 'm', active: true, maxBitrate: maxBitrates.medium, scaleResolutionDownBy: 2},\n { rid: 'l', active: true, maxBitrate: maxBitrates.low, scaleResolutionDownBy: 4}\n ]})\n }\n config.pc.createAnswer(mediaConstraints)\n .then(function(answer) {\n Janus.debug(answer)\n // JSON.stringify doesn't work on some WebRTC objects anymore\n // See https://code.google.com/p/chromium/issues/detail?id=467366\n var jsep = {\n 'type': answer.type,\n 'sdp': answer.sdp\n }\n callbacks.customizeSdp(jsep)\n answer.sdp = jsep.sdp\n Janus.log('Setting local description')\n if(sendVideo && simulcast) {\n // This SDP munging only works with Chrome\n if(Janus.webRTCAdapter.browserDetails.browser === 'chrome') {\n // FIXME Apparently trying to simulcast when answering breaks video in Chrome...\n //~ Janus.log(\"Enabling Simulcasting for Chrome (SDP munging)\");\n //~ answer.sdp = mungeSdpForSimulcasting(answer.sdp);\n Janus.warn('simulcast=true, but this is an answer, and video breaks in Chrome if we enable it')\n } else if(Janus.webRTCAdapter.browserDetails.browser !== 'firefox') {\n Janus.warn('simulcast=true, but this is not Chrome nor Firefox, ignoring')\n }\n }\n config.mySdp = {\n type: 'answer',\n sdp: answer.sdp\n }\n config.pc.setLocalDescription(answer)\n .catch(callbacks.error)\n config.mediaConstraints = mediaConstraints\n if(!config.iceDone && !config.trickle) {\n // Don't do anything until we have all candidates\n Janus.log('Waiting for all candidates...')\n return\n }\n // If transforms are present, notify Janus that the media is end-to-end encrypted\n if(config.senderTransforms || config.receiverTransforms) {\n answer['e2ee'] = true\n }\n callbacks.success(answer)\n }, callbacks.error)\n }\n\n function sendSDP(handleId, callbacks) {\n callbacks = callbacks || {}\n callbacks.success = (typeof callbacks.success == 'function') ? callbacks.success : Janus.noop\n callbacks.error = (typeof callbacks.error == 'function') ? callbacks.error : Janus.noop\n var pluginHandle = pluginHandles[handleId]\n if(!pluginHandle || !pluginHandle.webrtcStuff) {\n Janus.warn('Invalid handle, not sending anything')\n return\n }\n var config = pluginHandle.webrtcStuff\n Janus.log('Sending offer/answer SDP...')\n if(!config.mySdp) {\n Janus.warn('Local SDP instance is invalid, not sending anything...')\n return\n }\n config.mySdp = {\n 'type': config.pc.localDescription.type,\n 'sdp': config.pc.localDescription.sdp\n }\n if(config.trickle === false)\n config.mySdp['trickle'] = false\n Janus.debug(callbacks)\n config.sdpSent = true\n callbacks.success(config.mySdp)\n }\n\n function getVolume(handleId, remote) {\n var pluginHandle = pluginHandles[handleId]\n if(!pluginHandle || !pluginHandle.webrtcStuff) {\n Janus.warn('Invalid handle')\n return 0\n }\n var stream = remote ? 'remote' : 'local'\n var config = pluginHandle.webrtcStuff\n if(!config.volume[stream])\n config.volume[stream] = { value: 0 }\n // Start getting the volume, if audioLevel in getStats is supported (apparently\n // they're only available in Chrome/Safari right now: https://webrtc-stats.callstats.io/)\n if(config.pc.getStats && (Janus.webRTCAdapter.browserDetails.browser === 'chrome' ||\n Janus.webRTCAdapter.browserDetails.browser === 'safari')) {\n if(remote && !config.remoteStream) {\n Janus.warn('Remote stream unavailable')\n return 0\n } else if(!remote && !config.myStream) {\n Janus.warn('Local stream unavailable')\n return 0\n }\n if(!config.volume[stream].timer) {\n Janus.log('Starting ' + stream + ' volume monitor')\n config.volume[stream].timer = setInterval(function() {\n config.pc.getStats()\n .then(function(stats) {\n stats.forEach(function (res) {\n if(!res || res.kind !== 'audio')\n return\n if((remote && !res.remoteSource) || (!remote && res.type !== 'media-source'))\n return\n config.volume[stream].value = (res.audioLevel ? res.audioLevel : 0)\n })\n })\n }, 200)\n return 0 // We don't have a volume to return yet\n }\n return config.volume[stream].value\n } else {\n // audioInputLevel and audioOutputLevel seem only available in Chrome? audioLevel\n // seems to be available on Chrome and Firefox, but they don't seem to work\n Janus.warn('Getting the ' + stream + ' volume unsupported by browser')\n return 0\n }\n }\n\n function isMuted(handleId, video) {\n var pluginHandle = pluginHandles[handleId]\n if(!pluginHandle || !pluginHandle.webrtcStuff) {\n Janus.warn('Invalid handle')\n return true\n }\n var config = pluginHandle.webrtcStuff\n if(!config.pc) {\n Janus.warn('Invalid PeerConnection')\n return true\n }\n if(!config.myStream) {\n Janus.warn('Invalid local MediaStream')\n return true\n }\n if(video) {\n // Check video track\n if(!config.myStream.getVideoTracks() || config.myStream.getVideoTracks().length === 0) {\n Janus.warn('No video track')\n return true\n }\n return !config.myStream.getVideoTracks()[0].enabled\n } else {\n // Check audio track\n if(!config.myStream.getAudioTracks() || config.myStream.getAudioTracks().length === 0) {\n Janus.warn('No audio track')\n return true\n }\n return !config.myStream.getAudioTracks()[0].enabled\n }\n }\n\n function mute(handleId, video, mute) {\n var pluginHandle = pluginHandles[handleId]\n if(!pluginHandle || !pluginHandle.webrtcStuff) {\n Janus.warn('Invalid handle')\n return false\n }\n var config = pluginHandle.webrtcStuff\n if(!config.pc) {\n Janus.warn('Invalid PeerConnection')\n return false\n }\n if(!config.myStream) {\n Janus.warn('Invalid local MediaStream')\n return false\n }\n if(video) {\n // Mute/unmute video track\n if(!config.myStream.getVideoTracks() || config.myStream.getVideoTracks().length === 0) {\n Janus.warn('No video track')\n return false\n }\n config.myStream.getVideoTracks()[0].enabled = !mute\n return true\n } else {\n // Mute/unmute audio track\n if(!config.myStream.getAudioTracks() || config.myStream.getAudioTracks().length === 0) {\n Janus.warn('No audio track')\n return false\n }\n config.myStream.getAudioTracks()[0].enabled = !mute\n return true\n }\n }\n\n function getBitrate(handleId) {\n var pluginHandle = pluginHandles[handleId]\n if(!pluginHandle || !pluginHandle.webrtcStuff) {\n Janus.warn('Invalid handle')\n return 'Invalid handle'\n }\n var config = pluginHandle.webrtcStuff\n if(!config.pc)\n return 'Invalid PeerConnection'\n // Start getting the bitrate, if getStats is supported\n if(config.pc.getStats) {\n if(!config.bitrate.timer) {\n Janus.log('Starting bitrate timer (via getStats)')\n config.bitrate.timer = setInterval(function() {\n config.pc.getStats()\n .then(function(stats) {\n stats.forEach(function (res) {\n if(!res)\n return\n var inStats = false\n // Check if these are statistics on incoming media\n if((res.mediaType === 'video' || res.id.toLowerCase().indexOf('video') > -1) &&\n res.type === 'inbound-rtp' && res.id.indexOf('rtcp') < 0) {\n // New stats\n inStats = true\n } else if(res.type == 'ssrc' && res.bytesReceived &&\n (res.googCodecName === 'VP8' || res.googCodecName === '')) {\n // Older Chromer versions\n inStats = true\n }\n // Parse stats now\n if(inStats) {\n config.bitrate.fps = res.framesPerSecond\n config.bitrate.bsnow = res.bytesReceived\n config.bitrate.tsnow = res.timestamp\n if(config.bitrate.bsbefore === null || config.bitrate.tsbefore === null) {\n // Skip this round\n config.bitrate.bsbefore = config.bitrate.bsnow\n config.bitrate.tsbefore = config.bitrate.tsnow\n } else {\n // Calculate bitrate\n var timePassed = config.bitrate.tsnow - config.bitrate.tsbefore\n if(Janus.webRTCAdapter.browserDetails.browser === 'safari')\n timePassed = timePassed/1000 // Apparently the timestamp is in microseconds, in Safari\n var bitRate = Math.round((config.bitrate.bsnow - config.bitrate.bsbefore) * 8 / timePassed)\n if(Janus.webRTCAdapter.browserDetails.browser === 'safari')\n bitRate = parseInt(bitRate/1000)\n config.bitrate.value = bitRate + ' kbps'\n //~ Janus.log(\"Estimated bitrate is \" + config.bitrate.value);\n config.bitrate.bsbefore = config.bitrate.bsnow\n config.bitrate.tsbefore = config.bitrate.tsnow\n }\n }\n })\n })\n }, 1000)\n }\n return config.bitrate\n } else {\n Janus.warn('Getting the video bitrate unsupported by browser')\n return 'Feature unsupported by browser'\n }\n }\n\n function webrtcError(error) {\n Janus.error('WebRTC error:', error)\n }\n\n function cleanupWebrtc(handleId, hangupRequest) {\n Janus.log('Cleaning WebRTC stuff')\n var pluginHandle = pluginHandles[handleId]\n if(!pluginHandle) {\n // Nothing to clean\n return\n }\n var config = pluginHandle.webrtcStuff\n if(config) {\n if(hangupRequest === true) {\n // Send a hangup request (we don't really care about the response)\n var request = { 'janus': 'hangup', 'transaction': Janus.randomString(12) }\n if(pluginHandle.token)\n request['token'] = pluginHandle.token\n if(apisecret)\n request['apisecret'] = apisecret\n Janus.debug('Sending hangup request (handle=' + handleId + '):')\n Janus.debug(request)\n if(websockets) {\n request['session_id'] = sessionId\n request['handle_id'] = handleId\n ws.send(JSON.stringify(request))\n } else {\n Janus.httpAPICall(server + '/' + sessionId + '/' + handleId, {\n verb: 'POST',\n withCredentials: withCredentials,\n body: request\n })\n }\n }\n // Cleanup stack\n config.remoteStream = null\n if(config.volume) {\n if(config.volume['local'] && config.volume['local'].timer)\n clearInterval(config.volume['local'].timer)\n if(config.volume['remote'] && config.volume['remote'].timer)\n clearInterval(config.volume['remote'].timer)\n }\n config.volume = {}\n if(config.bitrate.timer)\n clearInterval(config.bitrate.timer)\n config.bitrate.timer = null\n config.bitrate.bsnow = null\n config.bitrate.bsbefore = null\n config.bitrate.tsnow = null\n config.bitrate.tsbefore = null\n config.bitrate.value = null\n if(!config.streamExternal && config.myStream) {\n Janus.log('Stopping local stream tracks')\n Janus.stopAllTracks(config.myStream)\n }\n config.streamExternal = false\n config.myStream = null\n // Close PeerConnection\n try {\n config.pc.close()\n } catch(e) {\n // Do nothing\n }\n config.pc = null\n config.candidates = null\n config.mySdp = null\n config.remoteSdp = null\n config.iceDone = false\n config.dataChannel = {}\n config.dtmfSender = null\n config.senderTransforms = null\n config.receiverTransforms = null\n }\n pluginHandle.oncleanup()\n }\n\n // Helper method to munge an SDP to enable simulcasting (Chrome only)\n function mungeSdpForSimulcasting(sdp) {\n // Let's munge the SDP to add the attributes for enabling simulcasting\n // (based on https://gist.github.com/ggarber/a19b4c33510028b9c657)\n var lines = sdp.split('\\r\\n')\n var video = false\n var ssrc = [ -1 ], ssrc_fid = [ -1 ]\n var cname = null, msid = null, mslabel = null, label = null\n var insertAt = -1\n for(var i=0; i -1) {\n // We're done, let's add the new attributes here\n insertAt = i\n break\n }\n }\n continue\n }\n if(!video)\n continue\n var sim = lines[i].match(/a=ssrc-group:SIM (\\d+) (\\d+) (\\d+)/)\n if(sim) {\n Janus.warn('The SDP already contains a SIM attribute, munging will be skipped')\n return sdp\n }\n var fid = lines[i].match(/a=ssrc-group:FID (\\d+) (\\d+)/)\n if(fid) {\n ssrc[0] = fid[1]\n ssrc_fid[0] = fid[2]\n lines.splice(i, 1); i--\n continue\n }\n if(ssrc[0]) {\n var match = lines[i].match('a=ssrc:' + ssrc[0] + ' cname:(.+)')\n if(match) {\n cname = match[1]\n }\n match = lines[i].match('a=ssrc:' + ssrc[0] + ' msid:(.+)')\n if(match) {\n msid = match[1]\n }\n match = lines[i].match('a=ssrc:' + ssrc[0] + ' mslabel:(.+)')\n if(match) {\n mslabel = match[1]\n }\n match = lines[i].match('a=ssrc:' + ssrc[0] + ' label:(.+)')\n if(match) {\n label = match[1]\n }\n if(lines[i].indexOf('a=ssrc:' + ssrc_fid[0]) === 0) {\n lines.splice(i, 1); i--\n continue\n }\n if(lines[i].indexOf('a=ssrc:' + ssrc[0]) === 0) {\n lines.splice(i, 1); i--\n continue\n }\n }\n if(lines[i].length == 0) {\n lines.splice(i, 1); i--\n continue\n }\n }\n if(ssrc[0] < 0) {\n // Couldn't find a FID attribute, let's just take the first video SSRC we find\n insertAt = -1\n video = false\n for(var i=0; i -1) {\n // We're done, let's add the new attributes here\n insertAt = i\n break\n }\n }\n continue\n }\n if(!video)\n continue\n if(ssrc[0] < 0) {\n var value = lines[i].match(/a=ssrc:(\\d+)/)\n if(value) {\n ssrc[0] = value[1]\n lines.splice(i, 1); i--\n continue\n }\n } else {\n var match = lines[i].match('a=ssrc:' + ssrc[0] + ' cname:(.+)')\n if(match) {\n cname = match[1]\n }\n match = lines[i].match('a=ssrc:' + ssrc[0] + ' msid:(.+)')\n if(match) {\n msid = match[1]\n }\n match = lines[i].match('a=ssrc:' + ssrc[0] + ' mslabel:(.+)')\n if(match) {\n mslabel = match[1]\n }\n match = lines[i].match('a=ssrc:' + ssrc[0] + ' label:(.+)')\n if(match) {\n label = match[1]\n }\n if(lines[i].indexOf('a=ssrc:' + ssrc_fid[0]) === 0) {\n lines.splice(i, 1); i--\n continue\n }\n if(lines[i].indexOf('a=ssrc:' + ssrc[0]) === 0) {\n lines.splice(i, 1); i--\n continue\n }\n }\n if(lines[i].length === 0) {\n lines.splice(i, 1); i--\n continue\n }\n }\n }\n if(ssrc[0] < 0) {\n // Still nothing, let's just return the SDP we were asked to munge\n Janus.warn('Couldn\\'t find the video SSRC, simulcasting NOT enabled')\n return sdp\n }\n if(insertAt < 0) {\n // Append at the end\n insertAt = lines.length\n }\n // Generate a couple of SSRCs (for retransmissions too)\n // Note: should we check if there are conflicts, here?\n ssrc[1] = Math.floor(Math.random()*0xFFFFFFFF)\n ssrc[2] = Math.floor(Math.random()*0xFFFFFFFF)\n ssrc_fid[1] = Math.floor(Math.random()*0xFFFFFFFF)\n ssrc_fid[2] = Math.floor(Math.random()*0xFFFFFFFF)\n // Add attributes to the SDP\n for(var i=0; i `/ws/janus/${printerId}/`\nlet printerSharedWebRTCUrl = (token) => `/ws/share_token/janus/${token}/`\n\nfunction iceServers(authToken) {\n const turnServer = syndicate()?.turn_server\n const servers = [\n {\n urls: ['stun:stun.l.google.com:19302'],\n }\n ]\n\n if (turnServer) {\n servers.push(\n {\n urls: `turn:${turnServer}:80?transport=udp`,\n credential: authToken,\n username: authToken,\n },\n {\n urls: `turn:${turnServer}:80?transport=tcp`,\n credential: authToken,\n username: authToken,\n }\n );\n }\n\n return servers\n}\n\nexport default function WebRTCConnection(streamMode, streamIdToTest) {\n let h264Webrtc, mjpegWebrtc\n if (streamMode === undefined && streamIdToTest === undefined) {\n // The agent is an old version that doesn't support dynamic streaming\n h264Webrtc = H264WebRTCConnection([0, 1])\n mjpegWebrtc = MJpegWebRTCConnection(2)\n } else if (streamMode.includes('h264')) {\n h264Webrtc = H264WebRTCConnection([streamIdToTest])\n } else if (streamMode.includes('mjpeg')) {\n mjpegWebrtc = MJpegWebRTCConnection(streamIdToTest)\n }\n\n let self = {\n callbacks: {},\n initialized: false,\n h264WebRTCConn: h264Webrtc,\n mjpegWebRTCConn: mjpegWebrtc,\n\n openForShareToken(shareToken) {\n self.connect(printerSharedWebRTCUrl(shareToken), shareToken)\n },\n\n openForPrinter(printerId, authToken) {\n self.connect(printerWebRTCUrl(printerId), authToken)\n },\n connect(wsUri, token) {\n self.initialized = true\n if (self.h264WebRTCConn) self.h264WebRTCConn.connect(wsUri, token)\n if (self.mjpegWebRTCConn) self.mjpegWebRTCConn.connect(wsUri, token)\n },\n disconnect() {\n if (self.h264WebRTCConn) self.h264WebRTCConn.janus.destroy()\n if (self.mjpegWebRTCConn) self.mjpegWebRTCConn.janus.destroy()\n },\n stopStream() {\n if (self.h264WebRTCConn) self.h264WebRTCConn.stopStream()\n if (self.mjpegWebRTCConn) self.mjpegWebRTCConn.stopStream()\n },\n sendData(data) {\n if (self.h264WebRTCConn) self.h264WebRTCConn.sendData(data) // Data channel in the default stream is used to pass data from client to agent\n },\n startStream() {\n if (self.h264WebRTCConn) self.h264WebRTCConn.startStream()\n if (self.mjpegWebRTCConn) self.mjpegWebRTCConn.startStream()\n },\n setCallbacks(callbacks) {\n self.callbacks = { ...self.callbacks, ...callbacks }\n if (self.h264WebRTCConn) self.h264WebRTCConn.callbacks = self.callbacks\n if (self.mjpegWebRTCConn) self.mjpegWebRTCConn.callbacks = self.callbacks\n },\n }\n return self\n}\n\nfunction MJpegWebRTCConnection(streamIdToTest) {\n let self = {\n callbacks: {},\n streamId: undefined,\n streaming: undefined,\n bitrateInterval: null,\n\n connect(wsUri, token) {\n Janus.init({\n debug: 'all',\n callback: () => {\n if (!Janus.isWebrtcSupported()) {\n return\n }\n self.connectJanusWebSocket(wsUri, token)\n },\n })\n },\n\n connectJanusWebSocket(wsUri, token) {\n self.janus = new Janus({\n server:\n window.location.protocol.replace('http', 'ws') + '//' + window.location.host + wsUri,\n iceServers: iceServers(token),\n ipv6: true,\n success: () => {\n self.janus.attach({\n plugin: 'janus.plugin.streaming',\n opaqueId: 'streamingtest-' + Janus.randomString(12),\n success: function (pluginHandle) {\n Janus.log(\n 'Plugin attached! (' +\n pluginHandle.getPlugin() +\n ', id=' +\n pluginHandle.getId() +\n ')'\n )\n const body = { request: 'info', id: streamIdToTest } // id=2 is for mjpeg stream. This stream may not exist in the agent.\n Janus.debug('Sending message (' + JSON.stringify(body) + ')')\n pluginHandle.send({\n message: body,\n success: function (result) {\n let stream = get(result, 'info')\n if (stream) {\n self.streamId = stream.id\n self.streaming = pluginHandle\n\n const mjpegStreamExisting =\n get(stream, 'data') || // Janus 0.x format\n find(get(stream, 'media', []), { type: 'data' }) // Janus 1.x format\n\n if (mjpegStreamExisting) {\n self.callbacks.onStreamAvailable(self)\n }\n } else {\n self.janus.destroy()\n }\n },\n })\n },\n error: function (error) {\n Janus.error(' -- Error attaching plugin... ', error)\n janus.destroy()\n },\n onmessage: function (msg, jsep) {\n self.onMessage(msg, jsep)\n },\n onremotestream: function (stream) {},\n ondataopen: function () {},\n ondata: function (rawData) {\n if ('onMJpegData' in self.callbacks) {\n self.callbacks.onMJpegData(rawData)\n }\n },\n oncleanup: function () {},\n })\n },\n error(e) {\n Janus.error(' -- Error -- ', e)\n self.janus.destroy()\n },\n destroyed() {\n self.streaming = undefined\n self.streamId = undefined\n },\n })\n },\n onMessage(msg, jsep) {\n let self = this\n Janus.debug(' ::: Got a message :::')\n Janus.debug(msg)\n let result = msg['result']\n if (result !== null && result !== undefined) {\n if (result['status'] !== undefined && result['status'] !== null) {\n var status = result['status']\n if (status === 'starting') console.log('Starting')\n else if (status === 'started') console.log('Started')\n else if (status === 'stopped') {\n self.stopStream()\n }\n }\n } else if (msg['error'] !== undefined && msg['error'] !== null) {\n Janus.error(msg)\n self.stopStream()\n return\n }\n if (jsep !== undefined && jsep !== null) {\n // Offer from the plugin, let's answer\n self.streaming?.createAnswer({\n jsep: jsep,\n // We want recvonly audio/video and, if negotiated, datachannels\n media: { audioSend: false, videoSend: false, data: true },\n success: function (jsep) {\n Janus.debug('Got SDP!')\n Janus.debug(jsep)\n var body = { request: 'start' }\n self.streaming?.send({ message: body, jsep: jsep })\n },\n error: function (error) {\n Janus.error('WebRTC error:', error)\n },\n })\n }\n },\n channelOpen() {\n return !(self.streamId === undefined || self.streaming === undefined)\n },\n startStream() {\n if (!self.channelOpen()) {\n return\n }\n const body = { request: 'watch', offer_video: false, id: parseInt(self.streamId) }\n self.streaming?.send({ message: body })\n },\n stopStream() {\n const body = { request: 'stop' }\n self.streaming?.send({ message: body })\n self.streaming?.hangup()\n },\n }\n\n return self\n}\n\nfunction H264WebRTCConnection(streamIdsToTest) {\n let self = {\n callbacks: {},\n streamId: undefined,\n streaming: undefined,\n bitrateInterval: null,\n\n connect(wsUri, token) {\n Janus.init({\n debug: 'all',\n callback: () => {\n if (!Janus.isWebrtcSupported()) {\n return\n }\n self.connectJanusWebSocket(wsUri, token)\n },\n })\n },\n\n connectJanusWebSocket(wsUri, token) {\n self.janus = new Janus({\n server:\n window.location.protocol.replace('http', 'ws') + '//' + window.location.host + wsUri,\n iceServers: iceServers(token),\n ipv6: true,\n success: () => {\n self.janus.attach({\n plugin: 'janus.plugin.streaming',\n opaqueId: 'streamingtest-' + Janus.randomString(12),\n success: function (pluginHandle) {\n // Janus.log('Plugin attached! (' + pluginHandle.getPlugin() + ', id=' + pluginHandle.getId() + ')')\n\n // Old plugin versions use stream_id=0, which is no longer valid in Janus 1.x so plugin 2.2.x switched to stream_id=1\n // Both ides are tried. The invalid one will return a failure and ignored.\n streamIdsToTest.forEach((streamIdToTest) => {\n const body = { request: 'info', id: streamIdToTest }\n Janus.debug('Sending message (' + JSON.stringify(body) + ')')\n pluginHandle.send({\n message: body,\n success: function (result) {\n let stream = get(result, 'info')\n if (stream) {\n self.streamId = stream.id\n self.streaming = pluginHandle\n\n const videoStreamExisting =\n get(stream, 'video') || // Janus 0.x format\n find(get(stream, 'media', []), { type: 'video' }) // Janus 1.x format\n\n if (videoStreamExisting) {\n self.callbacks.onStreamAvailable(self)\n }\n }\n },\n })\n })\n },\n error: function (error) {\n Janus.error(' -- Error attaching plugin... ', error)\n self.janus.destroy()\n },\n onmessage: function (msg, jsep) {\n self.onMessage(msg, jsep)\n },\n onremotestream: function (stream) {\n Janus.debug(' ::: Got a remote stream :::')\n Janus.debug(stream)\n if ('onRemoteStream' in self.callbacks) {\n self.callbacks.onRemoteStream(stream)\n }\n },\n ontrackmuted: function () {\n if ('onTrackMuted' in self.callbacks) {\n self.callbacks.onTrackMuted()\n }\n },\n ontrackunmuted: function () {\n if ('onTrackUnmuted' in self.callbacks) {\n self.callbacks.onTrackUnmuted()\n }\n },\n slowLink: function (uplink, lost) {\n if ('onSlowLink' in self.callbacks) {\n self.callbacks.onSlowLink(lost)\n }\n },\n ondataopen: function () {},\n ondata: function (rawData) {\n if ('onData' in self.callbacks) {\n self.callbacks.onData(rawData)\n }\n },\n oncleanup: function () {\n if ('onDefaultStreamCleanup' in self.callbacks) {\n self.callbacks.onDefaultStreamCleanup()\n }\n },\n })\n },\n error(e) {\n Janus.error(' -- Error -- ', e)\n self.janus.destroy()\n },\n destroyed() {\n self.streaming = undefined\n self.streamId = undefined\n self.clearBitrateInterval()\n },\n })\n },\n onMessage(msg, jsep) {\n let self = this\n Janus.debug(' ::: Got a message :::')\n Janus.debug(msg)\n let result = msg['result']\n if (result !== null && result !== undefined) {\n if (result['status'] !== undefined && result['status'] !== null) {\n var status = result['status']\n if (status === 'starting') console.log('Starting')\n else if (status === 'started') console.log('Started')\n else if (status === 'stopped') {\n self.stopStream()\n }\n }\n } else if (msg['error'] !== undefined && msg['error'] !== null) {\n Janus.error(msg)\n self.stopStream()\n return\n }\n if (jsep !== undefined && jsep !== null) {\n // Offer from the plugin, let's answer\n self.streaming?.createAnswer({\n jsep: jsep,\n // We want recvonly audio/video and, if negotiated, datachannels\n media: { audioSend: false, videoSend: false, data: true },\n success: function (jsep) {\n Janus.debug('Got SDP!')\n Janus.debug(jsep)\n var body = { request: 'start' }\n self.streaming?.send({ message: body, jsep: jsep })\n },\n error: function (error) {\n Janus.error('WebRTC error:', error)\n },\n })\n }\n },\n channelOpen() {\n return !(self.streamId === undefined || self.streaming === undefined)\n },\n startStream() {\n if (!self.channelOpen()) {\n return\n }\n const body = { request: 'watch', offer_video: true, id: parseInt(self.streamId) }\n self.streaming?.send({ message: body })\n\n self.clearBitrateInterval()\n self.bitrateInterval = setInterval(function () {\n if (self.streaming) {\n const bitrate = self.streaming.getBitrate()\n if (bitrate && bitrate.value) {\n self.callbacks.onBitrateUpdated(self.streaming.getBitrate())\n } else {\n self.callbacks.onBitrateUpdated({ value: null })\n }\n } else {\n self.callbacks.onBitrateUpdated({ value: null })\n }\n }, 5000)\n },\n stopStream() {\n self.clearBitrateInterval()\n if (!self.channelOpen()) {\n return\n }\n const body = { request: 'stop' }\n self.streaming?.send({ message: body })\n self.streaming?.hangup()\n },\n\n sendData(data) {\n if (self.channelOpen()) {\n self.streaming?.data({ text: data, success: () => {} })\n }\n },\n\n clearBitrateInterval() {\n if (self.bitrateInterval) {\n clearInterval(self.bitrateInterval)\n self.bitrateInterval = null\n self.callbacks.onBitrateUpdated({ value: null })\n }\n },\n }\n\n return self\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"card-img-top webcam_container\"},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.slowLinkLoss > 50),expression:\"slowLinkLoss > 50\"}],ref:\"slowLinkWrapper\",staticClass:\"slow-link-wrapper\",on:{\"click\":_vm.slowLinkClicked,\"mouseenter\":function($event){_vm.fixSlowLinkTextWidth()\n _vm.slowLinkShowing = true\n _vm.slowLinkHiding = false},\"mouseleave\":function($event){_vm.fixSlowLinkTextWidth()\n _vm.slowLinkShowing = false\n _vm.slowLinkHiding = true}}},[_vm._m(0),_c('div',{ref:\"slowLinkText\",staticClass:\"text\",class:{\n 'show-and-hide': !_vm.slowLinkShowing && !_vm.slowLinkHiding,\n showing: _vm.slowLinkShowing && !_vm.slowLinkHiding,\n hiding: !_vm.slowLinkShowing && _vm.slowLinkHiding,\n }},[_vm._v(\" \"+_vm._s(_vm.$t(\"Video frames dropped\"))+\" \")])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.trackMuted),expression:\"trackMuted\"}],staticClass:\"muted-status-wrapper\"},[_c('div',{staticClass:\"text\"},[_vm._v(_vm._s(_vm.$t(\"Buffering...\")))]),_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.showMutedStatusDescription($event)}}},[_vm._v(_vm._s(_vm.$t(\"Why is it stuck?\")))])]),(\n _vm.isVideoAvailable && !_vm.autoplay && (_vm.isBasicStreamingReadyToPlay || _vm.isBasicStreamingFrozen)\n )?_c('b-button',{staticClass:\"centered-element p-0\",attrs:{\"disabled\":_vm.isBasicStreamingFrozen},on:{\"click\":_vm.onPlayBtnClicked}},[(_vm.isBasicStreamingReadyToPlay)?_c('i',{staticClass:\"fas fa-play ml-1\"}):_vm._e(),(_vm.isBasicStreamingFrozen)?_c('span',{staticClass:\"medium\"},[_vm._v(_vm._s(_vm.remainingSecondsUntilNextCycle)+\"s\")]):_vm._e()]):_vm._e(),(_vm.trackMuted || _vm.videoLoading)?_c('b-spinner',{staticClass:\"centered-element\",attrs:{\"label\":\"Buffering...\"}}):_vm._e(),(_vm.isVideoAvailable)?_c('div',[((!_vm.autoplay && _vm.isBasicStreamingInProgress) || _vm.currentBitrate)?_c('div',{staticClass:\"streaming-info overlay-info small\",class:{ clickable: _vm.isBasicStreamingInProgress },on:{\"click\":_vm.onInfoClicked}},[(_vm.isBasicStreamingInProgress)?_c('div',{staticClass:\"text-success\"},[_vm._v(\" \"+_vm._s(_vm.remainingSecondsCurrentVideoCycle)+\" \")]):_vm._e(),(_vm.currentBitrate)?_c('div',[_vm._v(_vm._s(_vm.currentBitrate))]):_vm._e()]):_vm._e(),(!_vm.autoplay && (_vm.isBasicStreamingReadyToPlay || _vm.isBasicStreamingFrozen))?_c('div',{staticClass:\"streaming-guide overlay-info\",on:{\"click\":_vm.onInfoClicked}},[(_vm.isBasicStreamingReadyToPlay)?_c('div',{staticClass:\"message\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Webcam streams up to 5 FPS for Free\"))+\" \")]):_vm._e(),(_vm.isBasicStreamingFrozen)?_c('div',{staticClass:\"message text-warning\"},[_vm._v(\" \"+_vm._s(_vm.remainingSecondsUntilNextCycle)+\"s left in the cooldown period \")]):_vm._e(),_c('a',{staticClass:\"learn-more\",attrs:{\"href\":\"#\"}},[_vm._v(_vm._s(_vm.$t(\"Learn more...\")))])]):_vm._e()]):_vm._e(),_c('div',{class:_vm.webcamRotateClass},[_c('div',{staticClass:\"webcam_fixed_ratio\",class:_vm.webcamRatioClass,style:({ transform: _vm.imageTransformStyle })},[(_vm.taggedSrc)?_c('img',{staticStyle:{\"position\":\"absolute\"},attrs:{\"src\":_vm.taggedSrc,\"alt\":_vm.printer.name + ' current image'}}):_vm._e(),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showMJpeg),expression:\"showMJpeg\"}],staticClass:\"webcam_fixed_ratio_inner ontop\"},[_c('img',{attrs:{\"src\":_vm.mjpgSrc}})]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showVideo),expression:\"showVideo\"}],staticClass:\"webcam_fixed_ratio_inner ontop\"},[_c('video',{ref:\"video\",staticClass:\"remote-video\",attrs:{\"width\":\"960\",\"height\":_vm.webcamVideoHeight,\"poster\":_vm.taggedSrc,\"autoplay\":\"\",\"muted\":\"\",\"playsinline\":\"\"},domProps:{\"muted\":true},on:{\"loadstart\":function($event){return _vm.onLoadStart()},\"canplay\":function($event){return _vm.onCanPlay()}}})])])]),_c('div',{staticClass:\"extra-controls\"},[(_vm.showVideo || _vm.showVideo || _vm.taggedSrc)?_c('div',{staticClass:\"video-control-btn\",on:{\"click\":_vm.onRotateRightClicked}},[_c('font-awesome-icon',{attrs:{\"icon\":\"fa-solid fa-rotate-right\"}})],1):_vm._e()])],1)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"icon bg-warning\"},[_c('i',{staticClass:\"fas fa-exclamation\"})])\n}]\n\nexport { render, staticRenderFns }","import { isLocalStorageSupported } from '@static/js/utils'\n\nexport default function ViewingThrottle(printerId, countDownCallback) {\n const localStorageItemId = `tsNextVideoCycle-${printerId}`\n let self = {\n countDownTimer: null,\n }\n\n self.startOrResumeVideoCycle = function () {\n if (!self.countDownTimer) {\n self.countDownTimer = setInterval(() => self.countDown(), 1000)\n }\n }\n\n self.resumeVideoCycle = function () {\n if (remainingSeconds < 60 && !self.countDownTimer) {\n self.countDownTimer = setInterval(() => self.countDown(), 1000)\n }\n }\n\n self.countDown = function () {\n self.updateRemainingSeconds(remainingSeconds - 1)\n\n if (isLocalStorageSupported()) {\n localStorage.setItem(localStorageItemId, new Date().getTime() / 1000 + remainingSeconds)\n }\n\n if (remainingSeconds < 0) {\n self.updateRemainingSeconds(60)\n clearInterval(this.countDownTimer)\n this.countDownTimer = null\n }\n }\n\n self.updateRemainingSeconds = function (newValue) {\n remainingSeconds = newValue\n const remainingViewableSeconds = remainingSeconds - 30\n const remainingSecondsUntilNextCycle = remainingSeconds > 30 ? -1 : remainingSeconds\n countDownCallback(remainingViewableSeconds, remainingSecondsUntilNextCycle)\n }\n\n let remainingSeconds\n if (isLocalStorageSupported()) {\n const tsNextVideoCycle = parseFloat(localStorage.getItem(localStorageItemId))\n const now = new Date().getTime() / 1000\n if (!tsNextVideoCycle || now > tsNextVideoCycle) {\n self.updateRemainingSeconds(60)\n } else {\n self.updateRemainingSeconds(Math.round(tsNextVideoCycle - now))\n }\n } else {\n self.updateRemainingSeconds(60)\n }\n\n return self\n}\n","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StreamingBox.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StreamingBox.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./StreamingBox.vue?vue&type=template&id=7045853e&scoped=true&\"\nimport script from \"./StreamingBox.vue?vue&type=script&lang=js&\"\nexport * from \"./StreamingBox.vue?vue&type=script&lang=js&\"\nimport style0 from \"./StreamingBox.vue?vue&type=style&index=0&id=7045853e&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7045853e\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[(!_vm.valid && !_vm.printing)?_c('span',[_vm._v(\"-\")]):_vm._e(),(!_vm.valid && _vm.printing)?_c('b-spinner',{attrs:{\"small\":\"\",\"type\":\"grow\",\"label\":\"Calculating...\"}}):_vm._e(),(_vm.valid && _vm.showHours)?_c('span',[_vm._v(\" \"+_vm._s(_vm.hours)),_c('span',{staticClass:\"text-subscript text-muted\"},[_vm._v(\"h\")])]):_vm._e(),(_vm.valid && _vm.showMinutes)?_c('span',[_vm._v(\" \"+_vm._s(_vm.minutes)),_c('span',{staticClass:\"text-subscript text-muted\"},[_vm._v(\"m\")])]):_vm._e(),(_vm.valid && _vm.showSeconds)?_c('span',[_vm._v(\" \"+_vm._s(_vm.seconds)),_c('span',{staticClass:\"text-subscript text-muted\"},[_vm._v(\"s\")])]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DurationBlock.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DurationBlock.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DurationBlock.vue?vue&type=template&id=439126f6&\"\nimport script from \"./DurationBlock.vue?vue&type=script&lang=js&\"\nexport * from \"./DurationBlock.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"wrapper\"},_vm._l((_vm.temperatures),function(item,key){return _c('temperature-item',{key:key,attrs:{\"temp-key\":key,\"temp-item\":item,\"is-plugin-version-sufficient\":_vm.isPluginVersionSufficient},on:{\"TempEditClicked\":function($event){return _vm.onEditClicked(key, item)}}})}),1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"temp-item\",class:{ editable: _vm.editable },on:{\"click\":function($event){return _vm.onEditClicked(_vm.tempKey, _vm.tempItem)}}},[_c('div',{staticClass:\"icon\"},[(_vm.heaterIcon)?_c('svg',[_c('use',{attrs:{\"href\":_vm.heaterIcon}})]):_c('i',{staticClass:\"fas fa-thermometer-empty\"})]),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.temperatureDisplayName(_vm.tempKey)))]),_c('div',{staticClass:\"value-wrapper\"},[_c('div',{staticClass:\"value\"},[_vm._v(_vm._s(parseFloat(_vm.tempItem.actual).toFixed(1))+\" °C\")]),(_vm.editable)?_c('div',{staticClass:\"target\"},[_vm._v(\"/ \"+_vm._s(Math.round(_vm.tempItem.target))+\" °C\")]):_vm._e()])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TemperatureItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TemperatureItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TemperatureItem.vue?vue&type=template&id=6371ef1e&scoped=true&\"\nimport script from \"./TemperatureItem.vue?vue&type=script&lang=js&\"\nexport * from \"./TemperatureItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TemperatureItem.vue?vue&type=style&index=0&id=6371ef1e&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6371ef1e\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StatusTemp.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StatusTemp.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./StatusTemp.vue?vue&type=template&id=a51f3d38&scoped=true&\"\nimport script from \"./StatusTemp.vue?vue&type=script&lang=js&\"\nexport * from \"./StatusTemp.vue?vue&type=script&lang=js&\"\nimport style0 from \"./StatusTemp.vue?vue&type=style&index=0&id=a51f3d38&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a51f3d38\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',{staticClass:\"text-center\"},[(_vm.value > 0)?_c('h1',{staticClass:\"target-temp-degree\"},[_vm._v(\" \"+_vm._s(_vm.value)+\" \"),_c('span',{staticClass:\"text-subscript text-muted\"},[_vm._v(\"°C\")])]):_vm._e(),(_vm.value < 1)?_c('h1',{staticClass:\"target-temp-degree\"},[_vm._v(_vm._s(_vm.$t(\"OFF\")))]):_vm._e()]),_c('br'),_c('div',{staticClass:\"mb-5\"},[_c('div',[_c('h5',[_vm._v(_vm._s(_vm.$t(\"Presets\"))+\":\")])]),_c('div',[_c('b-form-select',{staticClass:\"form-control\",attrs:{\"id\":\"id_preset\"},on:{\"change\":_vm.onPresetChanged},model:{value:(_vm.preset),callback:function ($$v) {_vm.preset=$$v},expression:\"preset\"}},_vm._l((_vm.allPresets),function(pre){return _c('b-form-select-option',{key:pre.name,attrs:{\"value\":parseInt(pre.value)}},[_vm._v(\" \"+_vm._s(pre.title)+\" \")])}),1)],1),_c('br'),_c('h5',[_vm._v(_vm._s(_vm.$t(\"Manual\"))+\":\")]),_c('div',[_c('slider-input',{attrs:{\"min\":0,\"max\":_vm.maxTemp,\"step\":1},on:{\"change\":_vm.onSliderChanged},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.value),expression:\"value\"}],attrs:{\"id\":\"target-temp\",\"type\":\"hidden\"},domProps:{\"value\":(_vm.value)},on:{\"input\":function($event){if($event.target.composing)return;_vm.value=$event.target.value}}})],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"slidecontainer\"},[_c('input',{staticClass:\"slider\",attrs:{\"type\":\"range\",\"min\":_vm.min,\"max\":_vm.max,\"step\":_vm.step},domProps:{\"value\":_vm.value},on:{\"change\":function($event){_vm.$emit('change', Number($event.target.value))},\"input\":function($event){_vm.$emit('input', Number($event.target.value))}}})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SliderInput.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SliderInput.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SliderInput.vue?vue&type=template&id=3dcc12a9&scoped=true&\"\nimport script from \"./SliderInput.vue?vue&type=script&lang=js&\"\nexport * from \"./SliderInput.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SliderInput.vue?vue&type=style&index=0&id=3dcc12a9&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3dcc12a9\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TempTargetEditor.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TempTargetEditor.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TempTargetEditor.vue?vue&type=template&id=7b29805e&\"\nimport script from \"./TempTargetEditor.vue?vue&type=script&lang=js&\"\nexport * from \"./TempTargetEditor.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('h2',{staticClass:\"text-center\"},[_vm._v(_vm._s(_vm.$t(\"Printer Feed Sharing\")))]),_c('hr'),(!_vm.isProAccount)?_c('div',[_c('h5',{staticClass:\"mb-5\"},[_c('i18next',{attrs:{\"translation\":_vm.$t('Wait! You need to {localizedDom} to enable Printer feed.')},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('a',{attrs:{\"href\":\"/ent_pub/pricing/\"}},[_vm._v(_vm._s(_vm.$t(\"upgrade to the Pro plan\")))])]},proxy:true}],null,false,3414343479)})],1),_c('p',[_vm._v(_vm._s(_vm.$t(\"Printer feed sharing is a Pro feature.\")))]),_c('p',[_c('a',{attrs:{\"href\":_vm.getDocUrl('/user-guides/upgrade-to-pro#why-cant-the-detective-just-work-for-free-people-love-free-you-know')}},[_vm._v(\" \"+_vm._s(_vm.$t('Running the {brandName} app incurs non-trivial amount of costs',{brandName:_vm.$syndicateText.brandName}))+\" \")]),_vm._v(\". \"+_vm._s(_vm.$t('With little more than 1 Starbucks per month, you can upgrade to a Pro account and help us run the {brandName} app smoothly.',{brandName:_vm.$syndicateText.brandName}))+\" \")]),_c('p',[_c('a',{attrs:{\"href\":\"/ent_pub/pricing/\"}},[_vm._v(_vm._s(_vm.$t(\"Check out Pro pricing >>>\")))])])]):_c('div',[_c('div',{staticClass:\"py-3\"},[_c('div',{staticClass:\"custom-control custom-switch\"},[_c('input',{staticClass:\"custom-control-input update-printer\",attrs:{\"id\":'sharing_enabled-toggle-' + _vm.printer.id,\"type\":\"checkbox\"},domProps:{\"checked\":_vm.sharedResource},on:{\"click\":_vm.onSharingToggled}}),_c('label',{staticClass:\"custom-control-label\",staticStyle:{\"font-size\":\"1rem\"},attrs:{\"for\":'sharing_enabled-toggle-' + _vm.printer.id}},[_vm._v(_vm._s(_vm.$t(\"Share live feed for printer \"))+\"\\\"\"),_c('b',[_vm._v(_vm._s(_vm.printer.name))]),_vm._v(\"\\\"\")])]),_c('div',{staticClass:\"form-group\"},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.sharedLink),expression:\"sharedLink\"}]},[_c('div',{staticClass:\"input-group mt-4 mb-2\"},[_c('input',{ref:\"sharedLink\",staticClass:\"form-control shared-link-text\",attrs:{\"id\":\"secret-token-input\",\"type\":\"text\",\"aria-label\":\"Secret token\",\"readonly\":\"\"},domProps:{\"value\":_vm.sharedLink}}),_c('div',{staticClass:\"input-group-append\"},[_c('div',{staticClass:\"copy-button\",attrs:{\"id\":\"copy-link\",\"data-clipboard-target\":\"#secret-token-input\",\"aria-label\":\"Copy secure link to clipboard\"},on:{\"click\":_vm.copyToClipboard}},[_c('i',{staticClass:\"fas fa-clipboard\"})]),_c('b-tooltip',{attrs:{\"show\":_vm.copyStatus,\"target\":\"copy-link\",\"triggers\":\"click\",\"placement\":\"bottom\"},on:{\"update:show\":function($event){_vm.copyStatus=$event}}},[_vm._v(_vm._s(_vm.copyMessage))])],1)]),_c('div',{staticClass:\"my-1\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Click the clipboard icon above to copy the secure shareable link to your clipboard.\"))+\" \")]),_c('div',{staticClass:\"my-1\"},[_c('i18next',{attrs:{\"translation\":_vm.$t(`You can test the shareable link by right-clicking {localizedDom} and select 'Open Link in Incognito Window'.`)},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('a',{attrs:{\"href\":_vm.sharedLink}},[_vm._v(_vm._s(_vm.$t(\"here\")))])]},proxy:true}])})],1),_c('br'),_c('em',{staticClass:\"text-muted\"},[_c('small',[_c('div',[_vm._v(_vm._s(_vm.$t(\"Notes\"))+\":\")]),_c('ul',[_c('li',[_vm._v(\" \"+_vm._s(_vm.$t('Send the secure link to anyone you want to share your printer feed with. They do NOT need the {brandName} account to see your printer feed.',{brandName:_vm.$syndicateText.brandName}))+\" \")]),_c('li',[_vm._v(\" \"+_vm._s(_vm.$t(\"Anyone with this shareable link will be able to see your printer feed.\"))+\" \"),_c('a',{attrs:{\"href\":_vm.getDocUrl('/user-guides/printer-feed-sharing/')}},[_vm._v(_vm._s(_vm.$t(\"Learn more about what they can see.\")))])])])])])])]),_c('br')])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharePrinter.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharePrinter.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SharePrinter.vue?vue&type=template&id=1f31c9c1&scoped=true&\"\nimport script from \"./SharePrinter.vue?vue&type=script&lang=js&\"\nexport * from \"./SharePrinter.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SharePrinter.vue?vue&type=style&index=0&id=1f31c9c1&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1f31c9c1\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('widget-template',{attrs:{\"inside-card\":_vm.insideCard},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_vm._v(_vm._s(_vm.$t(\"Print Job Control\")))]},proxy:true},{key:\"content\",fn:function(){return [_c('div',{staticClass:\"wrapper\"},[(!_vm.printer.isOffline() && _vm.printer.hasError())?_c('div',{staticClass:\"error-container\"},[_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.printer.agentDisplayName())+\" \"+_vm._s(_vm.$t('Error')))]),_c('p',{staticClass:\"text\"},[_vm._v(\" \"+_vm._s(_vm.printer.status.state.error)+\" \")])]):_vm._e(),(_vm.printer.inUserInteractionRequired())?_c('div',{staticClass:\"warning-container\"},[_c('p',{staticClass:\"text\"},[_vm._v(_vm._s(_vm.$t(\"Filament Change or User Interaction Required\")))])]):_vm._e(),(_vm.printer.inTransientState())?[_c('b-spinner',{attrs:{\"label\":\"Processing...\"}}),_c('p',[_vm._v(_vm._s(_vm.printer.calculatedState())+\"...\")])]:[(!_vm.printer.isOffline() && !_vm.printer.isDisconnected() && _vm.printer.isActive())?[_c('p',[(!_vm.printer.isPaused())?_c('span',[_vm._v(_vm._s(_vm.$t(\"Printer is Currently Printing\")))]):_c('span',[_vm._v(_vm._s(_vm.$t(\"Print is Paused\")))])]),_c('div',{staticClass:\"buttons\"},[(!_vm.printer.isPaused())?_c('b-button',{staticClass:\"custom-button\",attrs:{\"variant\":\"warning\"},on:{\"click\":function($event){return _vm.onPauseToggled($event)}}},[_c('font-awesome-icon',{attrs:{\"icon\":\"fa-solid fa-circle-pause\"}}),_vm._v(\" \"+_vm._s(_vm.$t(\"Pause\"))+\" \")],1):_c('b-button',{staticClass:\"custom-button\",attrs:{\"variant\":\"success\"},on:{\"click\":function($event){return _vm.onPauseToggled($event)}}},[_c('font-awesome-icon',{attrs:{\"icon\":\"fa-solid fa-circle-play\"}}),_vm._v(\" \"+_vm._s(_vm.$t(\"Resume\"))+\" \")],1),_c('b-button',{staticClass:\"custom-button\",attrs:{\"variant\":\"danger\"},on:{\"click\":_vm.onCancelClicked}},[_c('font-awesome-icon',{attrs:{\"icon\":\"fa-solid fa-circle-xmark\"}}),_vm._v(\" \"+_vm._s(_vm.$t(\"Cancel\"))+\" \")],1)],1)]:_vm._e(),(!_vm.printer.isOffline() && !_vm.printer.isDisconnected() && !_vm.printer.isActive())?[_c('p',[_vm._v(_vm._s(_vm.$t(\"Open G-Code File to Start Printing\")))]),_c('div',{staticClass:\"buttons\"},[_c('b-button',{staticClass:\"custom-button\",attrs:{\"variant\":\"outline-primary\"},on:{\"click\":_vm.openObicoFiles}},[_c('svg',{staticClass:\"logo-small custom-svg-icon\"},[_c('use',{attrs:{\"href\":\"#svg-logo-compact\"}})]),_vm._v(\" \"+_vm._s(_vm.$syndicateText.brandName)+\" \"+_vm._s(_vm.$t(\"Files\"))+\" \")]),(_vm.printer.isAgentMoonraker())?_c('b-button',{staticClass:\"custom-button\",attrs:{\"variant\":\"outline-secondary\"},on:{\"click\":_vm.openPrinterFiles}},[_vm._v(\"   \"),_c('svg',{staticClass:\"logo-small custom-svg-icon\"},[_c('use',{attrs:{\"href\":\"#svg-klipper-logo\"}})]),_c('svg',{staticClass:\"logo-small custom-svg-icon\"},[_c('use',{attrs:{\"href\":\"#svg-fluidd-logo\"}})]),_c('svg',{staticClass:\"logo-small custom-svg-icon\"},[_c('use',{attrs:{\"href\":\"#svg-mainsail-logo\"}})]),_vm._v(\"   \")]):_c('b-button',{staticClass:\"custom-button\",attrs:{\"variant\":\"outline-secondary\"},on:{\"click\":_vm.openPrinterFiles}},[_c('svg',{staticClass:\"logo-small custom-svg-icon\"},[_c('use',{attrs:{\"href\":\"#svg-octoprint-logo\"}})]),_vm._v(\" OctoPrint \")])],1)]:_vm._e()],(!_vm.printer.isOffline() && _vm.printer.isDisconnected())?[_c('p',[_vm._v(_vm._s(_vm.$t(\"Printer Not Connected at the Serial Port\")))]),_c('div',{staticClass:\"buttons\"},[(!_vm.printer.isAgentMoonraker())?_c('b-button',{attrs:{\"variant\":\"outline-primary\",\"disabled\":_vm.connecting},on:{\"click\":_vm.onConnectClicked}},[(_vm.connecting)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_c('i',{staticClass:\"fab fa-usb\"}),_vm._v(\" \"+_vm._s(_vm.connecting ? _vm.$t('Contacting OctoPrint') : _vm.$t('Connect'))+\" \")],1):_vm._e()],1)]:(_vm.printer.isOffline())?[_c('i',{staticClass:\"fas fa-exclamation-triangle big-icon warning\"}),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"{brandName} for {name} is Offline.\",{brandName:_vm.$syndicateText.brandName,name:_vm.printer.isAgentMoonraker() ? 'Klipper' : 'OctoPrint'}))+\" \"),_c('a',{attrs:{\"target\":\"_blank\",\"href\":_vm.getDocUrl('/user-guides/troubleshoot-server-connection-issues/')}},[_vm._v(_vm._s(_vm.$t(\"Why?\")))])])]:_vm._e(),(_vm.printer)?_c('b-modal',{attrs:{\"id\":_vm.modalId,\"size\":\"lg\"},on:{\"hidden\":_vm.resetGcodesModal}},[(_vm.selectedGcodeId)?_c('g-code-file-page',{attrs:{\"is-popup\":true,\"target-printer-id\":_vm.printer.id,\"route-params\":{\n fileId: _vm.selectedGcodeId,\n printerId: _vm.printerFiles ? _vm.printer.id : null,\n },\"on-close\":() => _vm.$bvModal.hide(_vm.modalId)},on:{\"goBack\":() => {\n _vm.selectedGcodeId = null\n _vm.scrollToTop()\n }}}):_c('g-code-folders-page',{attrs:{\"is-popup\":true,\"target-printer\":_vm.printer,\"route-params\":{\n printerId: _vm.printerFiles ? _vm.printer.id : null,\n parentFolder: null,\n },\"on-close\":() => _vm.$bvModal.hide(_vm.modalId),\"saved-path\":_vm.savedPath,\"scroll-container-id\":_vm.modalId},on:{\"openFile\":(fileId, printerId, path) => {\n _vm.selectedGcodeId = fileId\n _vm.savedPath = path\n _vm.scrollToTop()\n }}})],1):_vm._e()],2)]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"widget\",class:{ insideCard: _vm.insideCard }},[_c('div',{staticClass:\"widget-title\"},[_vm._t(\"title\")],2),_c('div',{staticClass:\"widget-content\"},[_vm._t(\"content\")],2)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetTemplate.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetTemplate.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./WidgetTemplate.vue?vue&type=template&id=922c39c0&scoped=true&\"\nimport script from \"./WidgetTemplate.vue?vue&type=script&lang=js&\"\nexport * from \"./WidgetTemplate.vue?vue&type=script&lang=js&\"\nimport style0 from \"./WidgetTemplate.vue?vue&type=style&index=0&id=922c39c0&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"922c39c0\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('page-layout',{attrs:{\"is-popup\":_vm.isPopup},scopedSlots:_vm._u([{key:\"topBarLeft\",fn:function(){return [(_vm.isPopup && _vm.parentFolder !== null)?_c('a',{staticClass:\"btn shadow-none icon-btn d-inline\",attrs:{\"href\":\"#\",\"title\":\"Go Back\"},on:{\"click\":function($event){$event.preventDefault();return _vm.goBack.apply(null, arguments)}}},[_c('i',{staticClass:\"fas fa-chevron-left\"})]):_vm._e(),(!_vm.isPopup && _vm.isCloud)?_c('div',{staticClass:\"actions-with-selected-desktop\"},[_c('b-form-group',{staticClass:\"m-0\"},[_c('b-form-checkbox',{attrs:{\"checked\":_vm.allSelected,\"size\":\"md\"},nativeOn:{\"!click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.toggleSelectAll.apply(null, arguments)}}})],1),_c('div',[_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.selectedItemsCount),expression:\"!selectedItemsCount\"}],staticClass:\"label\",on:{\"click\":_vm.toggleSelectAll}},[_vm._v(_vm._s(_vm.$t(\"Select all\")))]),_c('b-dropdown',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selectedItemsCount),expression:\"selectedItemsCount\"}],attrs:{\"toggle-class\":\"btn btn-sm actions-with-selected-btn\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.selectedItemsCount)+\" item\"+_vm._s(_vm.selectedItemsCount === 1 ? '' : 's')+\" \"+_vm._s(_vm.$t(\"selected\"))+\" \")]},proxy:true}],null,false,4258773973)},[_c('b-dropdown-item',[_c('div',{on:{\"click\":_vm.moveSelectedItems}},[_c('i',{staticClass:\"fas fa-arrows-alt\"}),_vm._v(_vm._s(_vm.$t(\"Move\")))])]),_c('b-dropdown-item',[_c('div',{staticClass:\"text-danger\",on:{\"click\":_vm.deleteSelectedItems}},[_c('i',{staticClass:\"far fa-trash-alt\"}),_vm._v(_vm._s(_vm.$t(\"Delete\"))+\" \")])])],1)],1)],1):_vm._e(),_c('search-input',{staticClass:\"search-input mr-3\",on:{\"input\":_vm.updateSearch}})]},proxy:true},{key:\"topBarRight\",fn:function(){return [_c('div',{staticClass:\"action-panel\"},[(_vm.isCloud)?_c('a',{staticClass:\"btn shadow-none icon-btn d-none d-md-inline\",attrs:{\"href\":\"#\",\"title\":\"Create folder\"},on:{\"click\":function($event){$event.preventDefault();return _vm.createFolder.apply(null, arguments)}}},[_c('i',{staticClass:\"fas fa-folder-plus\"})]):_vm._e(),_c('b-dropdown',{attrs:{\"right\":\"\",\"no-caret\":\"\",\"toggle-class\":\"action-btn icon-btn\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('i',{staticClass:\"fas fa-server\"})]},proxy:true}])},[_c('b-dropdown-text',{staticClass:\"small text-secondary\"},[_vm._v(_vm._s(_vm.$t(\"STORAGE\")))]),_c('b-dropdown-item',{on:{\"click\":_vm.switchToCloudStorage}},[_c('div',{staticClass:\"dropdown-text-group\"},[_c('i',{staticClass:\"fas fa-check text-primary\",style:({ visibility: _vm.isCloud ? 'visible' : 'hidden' })}),_c('div',{staticClass:\"text\"},[_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$syndicateText.brandName)+\" \"+_vm._s(_vm.$t(\"Cloud\")))])])])]),_vm._l((_vm.printers),function(printer){return _c('b-dropdown-item',{key:printer.id,on:{\"click\":() => _vm.switchToPrinterStorage(printer)}},[_c('div',{staticClass:\"dropdown-text-group\"},[_c('i',{staticClass:\"fas fa-check text-primary\",style:({ visibility: _vm.selectedPrinterId === printer.id ? 'visible' : 'hidden' })}),_c('div',{staticClass:\"text\"},[_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(printer.name))]),_c('div',{staticClass:\"subtitle\",class:[_vm.isPrinterBrowsable(printer) ? 'text-success' : 'text-warning']},[_vm._v(\" \"+_vm._s(_vm.printerBrowsabilityText(printer))+\" \")])])])])})],2),_c('b-dropdown',{attrs:{\"right\":\"\",\"no-caret\":\"\",\"toggle-class\":\"action-btn icon-btn\",\"title\":\"Sort By\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('i',{staticClass:\"fas fa-sort-amount-down\"})]},proxy:true}])},[_c('sorting-dropdown',{attrs:{\"local-storage-prefix\":_vm.sortingLocalStoragePrefix,\"sorting-options\":_vm.sortingOptions,\"sorting-value\":_vm.sortingValue},on:{\"onSortingUpdated\":_vm.onSortingUpdated}})],1),_c('b-dropdown',{attrs:{\"right\":\"\",\"no-caret\":\"\",\"toggle-class\":\"icon-btn d-md-none\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('i',{staticClass:\"fas fa-ellipsis-v\"})]},proxy:true}])},[_c('cascaded-dropdown',{ref:\"cascadedDropdown\",attrs:{\"menu-options\":_vm.mobileMenuOptions},on:{\"menuOptionClicked\":_vm.onMenuOptionClicked},scopedSlots:_vm._u([{key:\"sorting\",fn:function(){return [_c('sorting-dropdown',{attrs:{\"local-storage-prefix\":_vm.sortingLocalStoragePrefix,\"sorting-options\":_vm.sortingOptions,\"sorting-value\":_vm.sortingValue},on:{\"onSortingUpdated\":_vm.onSortingUpdated}})]},proxy:true},{key:\"storage\",fn:function(){return [_c('b-dropdown-text',{staticClass:\"small text-secondary\"},[_vm._v(_vm._s(_vm.$t(\"STORAGE\")))]),_c('b-dropdown-item',{on:{\"click\":() => {\n _vm.switchToCloudStorage()\n _vm.$refs.cascadedDropdown.resetMenuExpanded()\n }}},[_c('div',{staticClass:\"dropdown-text-group\"},[_c('i',{staticClass:\"fas fa-check text-primary\",style:({ visibility: _vm.isCloud ? 'visible' : 'hidden' })}),_c('div',{staticClass:\"text\"},[_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$syndicateText.brandName)+\" \"+_vm._s(_vm.$t(\"Cloud\")))])])])]),_vm._l((_vm.printers),function(printer){return _c('b-dropdown-item',{key:printer.id,on:{\"click\":() => {\n _vm.switchToPrinterStorage(printer)\n _vm.$refs.cascadedDropdown.resetMenuExpanded()\n }}},[_c('div',{staticClass:\"dropdown-text-group\"},[_c('i',{staticClass:\"fas fa-check text-primary\",style:({ visibility: _vm.selectedPrinterId === printer.id ? 'visible' : 'hidden' })}),_c('div',{staticClass:\"text\"},[_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(printer.name))]),_c('div',{staticClass:\"subtitle\",class:[_vm.isPrinterBrowsable(printer) ? 'text-success' : 'text-warning']},[_vm._v(\" \"+_vm._s(_vm.printerBrowsabilityText(printer))+\" \")])])])])})]},proxy:true}])})],1),(_vm.onClose)?_c('a',{staticClass:\"btn shadow-none icon-btn d-inline\",attrs:{\"href\":\"#\",\"title\":\"Close\"},on:{\"click\":function($event){$event.preventDefault();return _vm.onClose.apply(null, arguments)}}},[_c('i',{staticClass:\"fas fa-times text-danger\"})]):_vm._e()],1)]},proxy:true},{key:\"content\",fn:function(){return [_c('b-container',[_c('b-row',[_c('b-col',[(_vm.isCloud)?_c('vue-dropzone',{ref:\"gcodesDropzone\",staticClass:\"upload-box\",attrs:{\"id\":\"dropzone\",\"options\":_vm.dropzoneOptions,\"use-custom-slot\":true},on:{\"vdropzone-queue-complete\":_vm.gcodeUploadSuccess,\"vdropzone-error\":_vm.gcodeUploadError,\"vdropzone-sending\":_vm.addParentFolderParam}},[_c('div',{staticClass:\"dz-message needsclick\"},[_c('i',{staticClass:\"fas fa-upload fa-2x\"}),_vm._v(\" \"),_c('br'),_c('div',[_vm._v(_vm._s(_vm.$t(\"G-Code file (*.gcode, *.gco, or *.g) only.\")))]),_c('div',[_vm._v(_vm._s(_vm.$t('Up to {maxFilesize} MB each file, {maxTotalFilesize} GB total.',{maxFilesize: _vm.maxFilesize,maxTotalFilesize: _vm.maxTotalFilesize})))])])]):_vm._e(),(!_vm.isCloud && _vm.isAgentMoonraker && _vm.searchStateIsActive)?_c('div',{staticClass:\"notice-block\"},[_c('div',{staticClass:\"icon\"},[_c('i',{staticClass:\"fas fa-info\"})]),_c('p',{staticClass:\"message\"},[_vm._v(_vm._s(_vm.$t(\"Search in Klipper printers works only for current directory\")))])]):_vm._e(),_c('g-code-file-structure',{ref:\"gCodeFileStructure\",attrs:{\"is-cloud\":_vm.isCloud,\"is-popup\":_vm.isPopup,\"search-state-is-active\":_vm.searchStateIsActive,\"search-in-progress\":_vm.searchInProgress,\"folders\":_vm.folders,\"files\":_vm.files,\"target-printer\":_vm.targetPrinter,\"nothing-found\":_vm.nothingFound,\"loading\":_vm.loading,\"scroll-container-id\":_vm.scrollContainerId,\"no-more-folders\":_vm.noMoreFolders,\"no-more-files\":_vm.noMoreFiles,\"local-files-loading\":_vm.localFilesLoading},on:{\"openFolder\":_vm.openFolder,\"openFile\":_vm.openFile,\"renameItem\":_vm.renameItem,\"moveItem\":_vm.moveItem,\"deleteItem\":_vm.deleteItem,\"print\":_vm.onPrintClicked,\"fetchMore\":_vm.fetchFilesAndFolders,\"selectFiles\":_vm.onSelectFiles,\"selectFolders\":_vm.onSelectFolders}})],1)],1)],1),_c('rename-modal',{ref:\"renameModal\",attrs:{\"item\":_vm.activeItem,\"pre-confirm\":_vm.verifyItemRename},on:{\"renamed\":_vm.onItemRenamed}}),_c('move-modal',{ref:\"moveModal\",attrs:{\"item\":_vm.activeItem,\"items\":_vm.activeItems,\"item-parent-folder-id\":_vm.parentFolder,\"target-printer\":_vm.targetPrinter,\"scroll-container-id\":_vm.scrollContainerId,\"sorting-value\":_vm.sortingValue},on:{\"moved\":_vm.onItemMoved}}),_c('delete-confirmation-modal',{ref:\"deleteConfirmationModal\",attrs:{\"item\":_vm.activeItem},on:{\"deleted\":_vm.onItemDeleted}}),_c('new-folder-modal',{ref:\"newFolderModal\",attrs:{\"pre-confirm\":_vm.verifyNewFolder,\"parent-folder-id\":_vm.parentFolder},on:{\"created\":_vm.onFolderCreated}})]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"search-wrapper\"},[_vm._m(0),_c('input',{staticClass:\"dark\",attrs:{\"type\":\"text\",\"placeholder\":_vm.$t('Search')},domProps:{\"value\":_vm.value},on:{\"input\":function($event){return _vm.$emit('input', $event.target.value)},\"focus\":function($event){return _vm.$emit('focus')},\"blur\":function($event){return _vm.$emit('blur')}}})])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"search-icon\"},[_c('i',{staticClass:\"fas fa-search\"})])\n}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchInput.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchInput.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SearchInput.vue?vue&type=template&id=33fc3084&scoped=true&\"\nimport script from \"./SearchInput.vue?vue&type=script&lang=js&\"\nexport * from \"./SearchInput.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SearchInput.vue?vue&type=style&index=0&id=33fc3084&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"33fc3084\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('b-modal',{attrs:{\"id\":\"b-modal-new-folder\",\"title\":_vm.$t('Enter new folder name'),\"ok-title\":_vm.$t('Create'),\"cancel-title\":_vm.$t('Cancel'),\"ok-disabled\":!_vm.newFolderName.length,\"centered\":\"\"},on:{\"ok\":_vm.handleOk,\"hidden\":_vm.resetModal,\"shown\":_vm.focusInput}},[_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.handleSubmit.apply(null, arguments)}}},[_c('div',{staticClass:\"my-2\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newFolderName),expression:\"newFolderName\"}],ref:\"input\",staticClass:\"input-lg\",attrs:{\"type\":\"text\",\"name\":\"name\",\"placeholder\":_vm.$t('Folder name'),\"required\":\"required\"},domProps:{\"value\":(_vm.newFolderName)},on:{\"input\":function($event){if($event.target.composing)return;_vm.newFolderName=$event.target.value}}}),(_vm.errorMessage)?_c('b-alert',{staticClass:\"mt-3\",attrs:{\"variant\":\"danger\",\"show\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.errorMessage)+\" \")]):_vm._e()],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewFolderModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewFolderModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./NewFolderModal.vue?vue&type=template&id=47badcdc&scoped=true&\"\nimport script from \"./NewFolderModal.vue?vue&type=script&lang=js&\"\nexport * from \"./NewFolderModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./NewFolderModal.vue?vue&type=style&index=0&id=47badcdc&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"47badcdc\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('b-modal',{attrs:{\"id\":\"b-modal-rename\",\"title\":_vm.$t('Enter new name'),\"ok-title\":_vm.$t('Rename'),\"cancel-title\":_vm.$t('Cancel'),\"centered\":\"\"},on:{\"ok\":_vm.handleOk,\"hidden\":_vm.resetModal,\"shown\":_vm.focusInput}},[_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.handleSubmit.apply(null, arguments)}}},[_c('div',{staticClass:\"my-2\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newItemName),expression:\"newItemName\"}],ref:\"input\",staticClass:\"input-lg\",attrs:{\"type\":\"text\",\"name\":\"name\",\"placeholder\":_vm.$t('New name'),\"required\":\"required\"},domProps:{\"value\":(_vm.newItemName)},on:{\"input\":function($event){if($event.target.composing)return;_vm.newItemName=$event.target.value}}}),(_vm.errorMessage)?_c('b-alert',{staticClass:\"mt-3\",attrs:{\"variant\":\"danger\",\"show\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.errorMessage)+\" \")]):_vm._e()],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RenameModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RenameModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RenameModal.vue?vue&type=template&id=bc4fae7e&scoped=true&\"\nimport script from \"./RenameModal.vue?vue&type=script&lang=js&\"\nexport * from \"./RenameModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./RenameModal.vue?vue&type=style&index=0&id=bc4fae7e&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"bc4fae7e\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('b-modal',{attrs:{\"id\":\"b-modal-move\",\"title\":_vm.$t('Move item'),\"ok-title\":_vm.$t('Place Here'),\"cancel-title\":_vm.$t('Cancel'),\"ok-disabled\":_vm.isSameDir || _vm.patchLoading,\"scrollable\":\"\"},on:{\"ok\":_vm.handleOk,\"hidden\":_vm.resetModal},scopedSlots:_vm._u([{key:\"modal-title\",fn:function(){return [_c('div',{staticClass:\"title\"},[(_vm.parentFolder !== null)?_c('a',{staticClass:\"btn shadow-none icon-btn d-inline\",attrs:{\"href\":\"#\",\"title\":_vm.$t('Go Back')},on:{\"click\":function($event){$event.preventDefault();return _vm.goBack.apply(null, arguments)}}},[_c('i',{staticClass:\"fas fa-chevron-left\"})]):_vm._e(),_c('h5',{staticClass:\"modal-title\"},[_vm._v(_vm._s(_vm.$t(\"Move item\")))])])]},proxy:true}])},[_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.handleSubmit.apply(null, arguments)}}},[_c('g-code-file-structure',{attrs:{\"folders\":_vm.folders,\"files\":_vm.files,\"target-printer\":_vm.targetPrinter,\"loading\":_vm.loading,\"scroll-container-id\":\"b-modal-move___BV_modal_body_\",\"no-more-folders\":_vm.noMoreFolders,\"no-more-files\":true,\"is-move-modal\":true,\"disabled-items\":_vm.disabledItems},on:{\"openFolder\":_vm.openFolder,\"fetchMore\":_vm.fetchFilesAndFolders}})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"gcodes-wrapper\",class:{ 'is-move-modal': _vm.isMoveModal }},[(!_vm.isMoveModal)?_c('div',{staticClass:\"header-panel\",class:{ 'without-action-buttons': !_vm.isCloud && !_vm.targetPrinter }},[_c('div',{staticClass:\"text\"},[_vm._v(_vm._s(_vm.$t(\"Name\")))]),_c('div',{staticClass:\"text\"},[_vm._v(_vm._s(_vm.$t('Size')))]),_c('div',{staticClass:\"text\"},[_vm._v(_vm._s(_vm.$t(\"Created\")))]),(_vm.isCloud)?_c('div',{staticClass:\"text\"},[_vm._v(_vm._s(_vm.$t(\"Last Printed\")))]):_vm._e()]):_vm._e(),_c('div',{staticClass:\"gcode-items-wrapper\"},[_c('div',_vm._l(([..._vm.folders, ..._vm.files]),function(item,key){return _c('file-structure-item',{directives:[{name:\"show\",rawName:\"v-show\",value:(\n (_vm.isFolder(item) && !_vm.searchStateIsActive) || (!_vm.isFolder(item) && !_vm.searchInProgress)\n ),expression:\"\\n (isFolder(item) && !searchStateIsActive) || (!isFolder(item) && !searchInProgress)\\n \"}],key:`${_vm.isFolder(item) ? 'folder' : 'file'}_${key}`,attrs:{\"item\":item,\"is-cloud\":_vm.isCloud,\"target-printer\":_vm.targetPrinter,\"is-move-modal\":_vm.isMoveModal,\"disabled\":_vm.isFolder(item)\n ? _vm.disabledItems.folders.includes(item.id)\n : _vm.disabledItems.files.includes(item.id),\"selectable\":!_vm.isMoveModal && _vm.isCloud && !_vm.isPopup,\"selected\":_vm.isFolder(item) ? _vm.selectedFolders.has(item.id) : _vm.selectedFiles.has(item.id)},on:{\"click\":function($event){_vm.isFolder(item) ? _vm.$emit('openFolder', item) : _vm.$emit('openFile', item)},\"renameItem\":function($event){return _vm.$emit('renameItem', item)},\"moveItem\":function($event){return _vm.$emit('moveItem', item)},\"deleteItem\":function($event){return _vm.$emit('deleteItem', item)},\"print\":function($event){return _vm.$emit('print', item)},\"selectedChanged\":_vm.onSelectedChanged}})}),1),(_vm.isCloud)?_c('mugen-scroll',{staticClass:\"text-center\",attrs:{\"v-show\":!_vm.isFolderEmpty,\"handler\":() => _vm.$emit('fetchMore'),\"should-handle\":!_vm.loading,\"scroll-container\":_vm.scrollContainerId}},[(!_vm.noMoreFolders || !_vm.noMoreFiles || _vm.searchInProgress)?_c('div',{staticClass:\"py-5\"},[_c('b-spinner',{attrs:{\"label\":_vm.$t('Loading...')}})],1):_vm._e()]):_vm._e(),(!_vm.isCloud && (_vm.localFilesLoading || _vm.searchInProgress))?_c('div',{staticClass:\"text-center py-5\"},[_c('b-spinner',{attrs:{\"label\":_vm.$t('Loading...')}})],1):_c('div',[(_vm.isFolderEmpty)?_c('div',{staticClass:\"placeholder text-secondary\"},[_c('span',[_vm._v(_vm._s(_vm.$t(\"Nothing here yet\")))])]):(_vm.nothingFound)?_c('div',{staticClass:\"placeholder text-secondary\"},[_c('span',[_vm._v(_vm._s(_vm.$t(\"Nothing found\")))])]):_vm._e()])],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"item\",class:{ disabled: _vm.isDisabled, 'move-modal': _vm.isMoveModal },on:{\"click\":() => !_vm.isDisabled && _vm.$emit('click')}},[(_vm.selectable)?_c('div',{staticClass:\"checkbox-wrapper\",class:{ isSelected: _vm.isSelected }},[_c('b-form-checkbox',{attrs:{\"size\":\"md\",\"checked\":_vm.isSelected},nativeOn:{\"!click\":function($event){$event.stopPropagation();$event.preventDefault();_vm.isSelected = !_vm.isSelected}}})],1):_vm._e(),_c('div',{staticClass:\"item-info\"},[_c('div',{staticClass:\"filename\"},[_c('div',{staticClass:\"thumbnail-wrapper\",class:{ folder: _vm.isFolder }},[(!_vm.isFolder && _vm.item.getSmallThumbnailUrl())?_c('div',{staticClass:\"thumbnail\"},[_c('img',{attrs:{\"src\":_vm.item.getSmallThumbnailUrl()}})]):_c('div',{staticClass:\"placeholder\"},[(_vm.isFolder)?_c('i',{staticClass:\"fas fa-folder\"}):_c('i',{staticClass:\"fas fa-file-code\"})])]),_c('span',{staticClass:\"truncated\"},[_vm._v(_vm._s(_vm.isFolder ? _vm.item.name : _vm.item.filename))])]),_c('div',{staticClass:\"size\"},[(!_vm.isFolder)?_c('span',[_vm._v(_vm._s(_vm.item.filesize))]):_vm._e(),(_vm.isFolder)?_c('span',[_vm._v(_vm._s(_vm.item.numItems)+\" item(s)\")]):_vm._e()]),(!_vm.isMoveModal)?_c('div',{staticClass:\"created\"},[_vm._v(\" \"+_vm._s(_vm.item.created_at ? _vm.item.created_at.fromNow() : '-')+\" \")]):_vm._e(),(!_vm.isMoveModal)?[(!_vm.isFolder && _vm.isCloud)?_c('div',{staticClass:\"last-printed\"},[(!_vm.item.print_set)?_c('span',[_vm._v(\"-\")]):(!_vm.item.print_set.length)?_c('span',[_vm._v(_vm._s(_vm.$t('No prints yet')))]):(_vm.item.last_print)?_c('span',[_vm._v(_vm._s(_vm.item.last_print.ended_at ? _vm.item.last_print.ended_at.fromNow() : _vm.$t('Printing...')))]):_vm._e(),(_vm.item.last_print && _vm.item.last_print.ended_at)?_c('div',{staticClass:\"circle-indicator\",class:{\n cancelled: _vm.item.last_print.cancelled_at,\n finished: _vm.item.last_print.finished_at,\n }}):_vm._e()]):_vm._e(),(_vm.isFolder && _vm.isCloud)?_c('div',{staticClass:\"d-none d-md-block\"}):_vm._e()]:_vm._e()],2),(!_vm.isMoveModal && ((!_vm.isFolder && (_vm.isCloud || _vm.targetPrinter)) || (_vm.isFolder && _vm.isCloud)))?_c('div',[_c('b-dropdown',{attrs:{\"right\":\"\",\"no-caret\":\"\",\"toggle-class\":\"icon-btn py-0\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('i',{staticClass:\"fas fa-ellipsis-v\"})]},proxy:true}],null,false,3452768261)},[(!_vm.isFolder && _vm.targetPrinter)?_c('b-dropdown-item',{on:{\"click\":function($event){$event.stopPropagation();return _vm.$emit('print', _vm.item)}}},[_c('span',{staticClass:\"text-primary\"},[_c('i',{staticClass:\"fas fa-play-circle\"}),_vm._v(_vm._s(_vm.$t(\"Print on\"))+\" \"+_vm._s(_vm.targetPrinter.name)+\" \")])]):_vm._e(),(_vm.isCloud)?_c('b-dropdown-item',{on:{\"click\":function($event){$event.stopPropagation();return _vm.$emit('renameItem', _vm.item)}}},[_c('i',{staticClass:\"fas fa-edit\"}),_vm._v(_vm._s(_vm.$t('Rename'))+\" \")]):_vm._e(),(_vm.isCloud)?_c('b-dropdown-item',{on:{\"click\":function($event){$event.stopPropagation();return _vm.$emit('moveItem', _vm.item)}}},[_c('i',{staticClass:\"fas fa-arrows-alt\"}),_vm._v(_vm._s(_vm.$t('Move'))+\" \")]):_vm._e(),(_vm.isCloud)?_c('b-dropdown-item',{on:{\"click\":function($event){$event.stopPropagation();return _vm.$emit('deleteItem', _vm.item)}}},[_c('span',{staticClass:\"text-danger\"},[_c('i',{staticClass:\"fas fa-trash-alt\"}),_vm._v(_vm._s(_vm.$t('Delete'))+\" \")])]):_vm._e()],1)],1):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileStructureItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileStructureItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FileStructureItem.vue?vue&type=template&id=ad2c3ac6&scoped=true&\"\nimport script from \"./FileStructureItem.vue?vue&type=script&lang=js&\"\nexport * from \"./FileStructureItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FileStructureItem.vue?vue&type=style&index=0&id=ad2c3ac6&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"ad2c3ac6\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GCodeFileStructure.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GCodeFileStructure.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./GCodeFileStructure.vue?vue&type=template&id=254b72e8&scoped=true&\"\nimport script from \"./GCodeFileStructure.vue?vue&type=script&lang=js&\"\nexport * from \"./GCodeFileStructure.vue?vue&type=script&lang=js&\"\nimport style0 from \"./GCodeFileStructure.vue?vue&type=style&index=0&id=254b72e8&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"254b72e8\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MoveModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MoveModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MoveModal.vue?vue&type=template&id=3ff54ded&scoped=true&\"\nimport script from \"./MoveModal.vue?vue&type=script&lang=js&\"\nexport * from \"./MoveModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MoveModal.vue?vue&type=style&index=0&id=3ff54ded&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3ff54ded\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div')\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeleteConfirmationModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeleteConfirmationModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DeleteConfirmationModal.vue?vue&type=template&id=930ed162&\"\nimport script from \"./DeleteConfirmationModal.vue?vue&type=script&lang=js&\"\nexport * from \"./DeleteConfirmationModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DeleteConfirmationModal.vue?vue&type=style&index=0&id=930ed162&prod&lang=sass&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GCodeFoldersPage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GCodeFoldersPage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./GCodeFoldersPage.vue?vue&type=template&id=5d00d77d&scoped=true&\"\nimport script from \"./GCodeFoldersPage.vue?vue&type=script&lang=js&\"\nexport * from \"./GCodeFoldersPage.vue?vue&type=script&lang=js&\"\nimport style0 from \"./GCodeFoldersPage.vue?vue&type=style&index=0&id=5d00d77d&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5d00d77d\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('page-layout',{attrs:{\"is-popup\":_vm.isPopup},scopedSlots:_vm._u([{key:\"topBarLeft\",fn:function(){return [(_vm.isPopup)?_c('a',{staticClass:\"btn shadow-none icon-btn d-inline\",attrs:{\"href\":\"#\",\"title\":_vm.$t('Go Back')},on:{\"click\":function($event){$event.preventDefault();return _vm.goBack.apply(null, arguments)}}},[_c('i',{staticClass:\"fas fa-chevron-left\"})]):_vm._e()]},proxy:true},{key:\"topBarRight\",fn:function(){return [_c('div',{staticClass:\"action-panel\"},[(_vm.isCloud)?_c('a',{staticClass:\"btn shadow-none icon-btn action-btn\",attrs:{\"href\":\"#\",\"title\":_vm.$t('Rename file')},on:{\"click\":function($event){$event.preventDefault();return _vm.renameFile.apply(null, arguments)}}},[_c('i',{staticClass:\"fas fa-edit\"})]):_vm._e(),(_vm.isCloud)?_c('a',{staticClass:\"text-danger btn shadow-none icon-btn action-btn\",attrs:{\"href\":\"#\",\"title\":_vm.$t('Delete file')},on:{\"click\":function($event){$event.preventDefault();return _vm.deleteFile.apply(null, arguments)}}},[_c('i',{staticClass:\"fas fa-trash-alt\"})]):_vm._e(),_c('b-dropdown',{attrs:{\"right\":\"\",\"no-caret\":\"\",\"toggle-class\":\"icon-btn d-md-none\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('i',{staticClass:\"fas fa-ellipsis-v\"})]},proxy:true}])},[_c('cascaded-dropdown',{ref:\"cascadedDropdown\",attrs:{\"menu-options\":[\n {\n key: 'renameFile',\n icon: 'fas fa-edit',\n title: _vm.$t(`Rename file`),\n callback: true,\n },\n {\n key: 'deleteFile',\n icon: 'fas fa-trash-alt',\n customMenuOptionClass: 'text-danger',\n title: _vm.$t(`Delete file`),\n callback: true,\n },\n ]},on:{\"menuOptionClicked\":_vm.onMenuOptionClicked}})],1),(_vm.onClose)?_c('a',{staticClass:\"btn shadow-none icon-btn d-inline\",attrs:{\"href\":\"#\",\"title\":\"Close\"},on:{\"click\":function($event){$event.preventDefault();return _vm.onClose.apply(null, arguments)}}},[_c('i',{staticClass:\"fas fa-times text-danger\"})]):_vm._e()],1)]},proxy:true},{key:\"content\",fn:function(){return [(_vm.loading || _vm.gcodeNotFound)?_c('b-container',[_c('b-row',[_c('b-col',{staticClass:\"text-center mt-5\"},[(_vm.gcodeNotFound)?_c('div',[_c('p',[_vm._v(_vm._s(_vm.$t(\"This G-Code file doesn't exists\")))])]):_c('div',[_c('b-spinner')],1)])],1)],1):_c('b-container',{attrs:{\"fluid\":\"\"}},[_c('b-row',[_c('b-col',{attrs:{\"lg\":_vm.isPopup ? 12 : 5}},[_c('b-alert',{attrs:{\"show\":_vm.isDeleted,\"variant\":\"warning warning-block\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"This file is deleted and unavailable for print\"))+\" \")]),_c('g-code-details',{attrs:{\"file\":_vm.gcode,\"show-print-stats\":true,\"compact-view\":false}}),(!_vm.isDeleted)?_c('available-printers',{staticClass:\"card-container available-printers\",class:{ 'full-width': _vm.isPopup },attrs:{\"is-popup\":_vm.isPopup,\"target-printer-id\":_vm.targetPrinterId || _vm.selectedPrinterId,\"gcode\":_vm.gcode,\"is-cloud\":_vm.isCloud},on:{\"refresh\":_vm.onRefresh}}):_vm._e()],1),_c('b-col',{attrs:{\"lg\":_vm.isPopup ? 12 : 7}},[_c('div',{staticClass:\"print-history\",class:{ 'full-width': _vm.isPopup || _vm.isDeleted }},[_c('h2',{staticClass:\"section-title mb-3\"},[_vm._v(_vm._s(_vm.$t(\"Print History\")))]),(_vm.gcode.print_set.length)?_c('div',_vm._l((_vm.gcode.print_set),function(print){return _c('print-history-item',{key:`print_${print.id}`,staticClass:\"print-item\",attrs:{\"print\":print}})}),1):_c('div',[_c('div',{staticClass:\"card-container p-4 justify-content-center text-secondary\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"This file doesn't have any prints yet\"))+\" \")])])])])],1)],1),_c('rename-modal',{ref:\"renameModal\",attrs:{\"item\":_vm.gcode},on:{\"renamed\":_vm.onItemRenamed}}),_c('delete-confirmation-modal',{ref:\"deleteConfirmationModal\",attrs:{\"item\":_vm.gcode},on:{\"deleted\":_vm.onItemDeleted}})]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[(_vm.printersLoading || !_vm.gcode)?_c('div',{staticClass:\"my-5 text-center\"},[_c('b-spinner')],1):_c('div',{staticClass:\"text-center\"},[(!_vm.targetPrinterId)?_c('div',{staticClass:\"mb-3\"},[_vm._l((_vm.printers),function(printer){return _c('div',{key:`printer_${printer.id}`,staticClass:\"printer-item\",class:{ active: _vm.selectedPrinter && printer.id === _vm.selectedPrinter.id },on:{\"click\":function($event){return _vm.selectPrinter(printer)}}},[_c('div',{staticClass:\"selected-indicator\"}),_c('div',{staticClass:\"printer-name truncated\",attrs:{\"title\":printer.name}},[_vm._v(_vm._s(printer.name))]),_c('div',{staticClass:\"printer-status\",class:[printer.isPrintable() ? 'text-success' : 'text-warning']},[_vm._v(\" \"+_vm._s(printer.printabilityText())+\" \")])])}),(!_vm.printersLoading && !_vm.printers.length)?_c('p',{staticClass:\"text-center text-secondary mt-3 mb-3\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"No available printers\"))+\" \")]):_vm._e()],2):_vm._e(),_c('button',{staticClass:\"btn btn-primary d-inline-flex align-items-center justify-content-center\",attrs:{\"disabled\":!_vm.selectedPrinter || _vm.isSending || !_vm.selectedPrinter.isPrintable()},on:{\"click\":_vm.onPrintClicked}},[(_vm.isSending)?_c('b-spinner',{staticClass:\"mr-1\",attrs:{\"small\":\"\"}}):_vm._e(),(_vm.selectedPrinter)?_c('div',{staticClass:\"truncated\"},[_vm._v(_vm._s(_vm.$t('Print on'))+\" \"+_vm._s(_vm.selectedPrinter.name))]):_c('div',{staticClass:\"truncated\"},[_vm._v(_vm._s(_vm.$t(\"Print\")))])],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\nimport { _ } from 'core-js'\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvailablePrinters.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvailablePrinters.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AvailablePrinters.vue?vue&type=template&id=77186cca&scoped=true&\"\nimport script from \"./AvailablePrinters.vue?vue&type=script&lang=js&\"\nexport * from \"./AvailablePrinters.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AvailablePrinters.vue?vue&type=style&index=0&id=77186cca&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"77186cca\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GCodeFilePage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GCodeFilePage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./GCodeFilePage.vue?vue&type=template&id=0d6b7614&scoped=true&\"\nimport script from \"./GCodeFilePage.vue?vue&type=script&lang=js&\"\nexport * from \"./GCodeFilePage.vue?vue&type=script&lang=js&\"\nimport style0 from \"./GCodeFilePage.vue?vue&type=style&index=0&id=0d6b7614&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0d6b7614\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',[_c('h5',[_vm._v(_vm._s(_vm.$t(\"Serial Port\"))+\":\")])]),_c('div',[_c('b-form-select',{staticClass:\"form-control\",attrs:{\"id\":\"connect-port\"},model:{value:(_vm.selectedPort),callback:function ($$v) {_vm.selectedPort=$$v},expression:\"selectedPort\"}},_vm._l((_vm.connectionOptions.ports),function(port){return _c('b-form-select-option',{key:port,attrs:{\"value\":port}},[_vm._v(\" \"+_vm._s(port)+\" \")])}),1)],1),_c('br'),_c('div',[_c('h5',[_vm._v(_vm._s(_vm.$t(\"Baudrate\"))+\":\")])]),_c('div',[_c('b-form-select',{staticClass:\"form-control\",attrs:{\"id\":\"connect-baudrate\"},model:{value:(_vm.selectedBaudrate),callback:function ($$v) {_vm.selectedBaudrate=$$v},expression:\"selectedBaudrate\"}},[_c('b-form-select-option',{attrs:{\"value\":\"\"}},[_vm._v(_vm._s(_vm.$t(\"Auto\")))]),_vm._l((_vm.connectionOptions.baudrates),function(baudrate){return _c('b-form-select-option',{key:baudrate,attrs:{\"value\":baudrate}},[_vm._v(\" \"+_vm._s(baudrate)+\" \")])})],2)],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConnectPrinter.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConnectPrinter.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ConnectPrinter.vue?vue&type=template&id=3fe2371b&\"\nimport script from \"./ConnectPrinter.vue?vue&type=script&lang=js&\"\nexport * from \"./ConnectPrinter.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintJobControlWidget.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintJobControlWidget.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PrintJobControlWidget.vue?vue&type=template&id=c7deff6e&scoped=true&\"\nimport script from \"./PrintJobControlWidget.vue?vue&type=script&lang=js&\"\nexport * from \"./PrintJobControlWidget.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PrintJobControlWidget.vue?vue&type=style&index=0&id=c7deff6e&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"c7deff6e\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterCard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterCard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PrinterCard.vue?vue&type=template&id=88cd84ac&scoped=true&\"\nimport script from \"./PrinterCard.vue?vue&type=script&lang=js&\"\nexport * from \"./PrinterCard.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PrinterCard.vue?vue&type=style&index=0&id=88cd84ac&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"88cd84ac\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterListPage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterListPage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PrinterListPage.vue?vue&type=template&id=fb278c80&scoped=true&\"\nimport script from \"./PrinterListPage.vue?vue&type=script&lang=js&\"\nexport * from \"./PrinterListPage.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PrinterListPage.vue?vue&type=style&index=0&id=fb278c80&prod&lang=sass&scoped=true&\"\nimport style1 from \"./PrinterListPage.vue?vue&type=style&index=1&id=fb278c80&prod&lang=sass&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"fb278c80\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('nav-bar',{attrs:{\"view-name\":\"printer_shared\"}}),_c('div',{staticClass:\"row justify-content-center\"},[(_vm.loading)?_c('b-spinner',{staticClass:\"mt-5\",attrs:{\"label\":\"Loading...\"}}):_vm._e(),(_vm.printer)?_c('div',{staticClass:\"col-sm-12 col-lg-6 printer-card\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-header\"},[_c('div',[_vm._v(_vm._s(_vm.printer.name))])]),_c('streaming-box',{attrs:{\"printer\":_vm.printer,\"webrtc\":_vm.webrtc,\"autoplay\":true}}),_c('div',{staticClass:\"p-3 p-md-5\"},[_c('p',{staticClass:\"text-center\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"You are viewing an awesome 3D print your friend shared specifically with you on\"))+\" \")]),_c('a',{attrs:{\"href\":\"https://www.obico.io/\"}},[_c('svg',{staticClass:\"logo-img\",attrs:{\"width\":\"100%\"}},[_c('use',{attrs:{\"href\":\"#svg-logo-full\"}})])]),_c('hr'),_c('br'),_c('br'),_c('p',{staticClass:\"text-center\"},[_vm._v(\" \"+_vm._s(_vm.$syndicateText.brandName)+\" \"+_vm._s(_vm.$t(\"lets you monitor and control your printer from anywhere, on your phone.\"))+\" \")]),_c('a',{staticClass:\"btn btn-block btn-primary\",attrs:{\"href\":\"/accounts/signup/\"}},[_vm._v(_vm._s(_vm.$t(\"Sign up for a free {brandName} account\",{brandName:_vm.$syndicateText.brandName})))])])],1)]):_vm._e()],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[(!_vm.inMobileWebView)?_c('b-navbar',{class:{\n 'navbar-dark': _vm.theme === _vm.themes.Dark,\n 'navbar-light': _vm.theme === _vm.themes.Light,\n },attrs:{\"toggleable\":\"xl\"}},[_c('b-container',{staticClass:\"p-0\"},[_c('b-navbar-brand',{attrs:{\"href\":\"/\"}},[_c('SyndicateAwareSVG',{attrs:{\"href\":\"#svg-logo-compact\",\"width\":\"100\",\"height\":\"30\"}})],1),_c('b-navbar-toggle',{attrs:{\"target\":\"navbar-toggle-collapse\"}},[_c('span',{staticClass:\"navbar-toggler-icon\"})]),_c('b-collapse',{attrs:{\"id\":\"navbar-toggle-collapse\",\"is-nav\":\"\"},model:{value:(_vm.showMainMenu),callback:function ($$v) {_vm.showMainMenu=$$v},expression:\"showMainMenu\"}},[_c('b-navbar-nav',[(_vm.user)?_c('b-nav-item',{class:{ active: _vm.viewName.includes('printers') },attrs:{\"href\":\"/printers/\"}},[_vm._v(_vm._s(_vm.$t(\"Printers\")))]):_vm._e(),(_vm.user)?_c('b-nav-item',{class:{ active: _vm.viewName.includes('print_history') },attrs:{\"href\":\"/print_history/\"}},[_vm._v(_vm._s(_vm.$t(\"Print History\")))]):_vm._e(),(_vm.user)?_c('b-nav-item',{class:{ active: _vm.viewName.includes('g_code_folders') },attrs:{\"href\":\"/g_code_folders/cloud/\"}},[_vm._v(_vm._s(_vm.$t(\"G-Codes\")))]):_vm._e(),(_vm.isEnt && !_vm.user)?_c('b-nav-item',{staticClass:\"glowing\",class:{ active: _vm.viewName === 'publictimelapse_list' },attrs:{\"href\":\"/ent_pub/publictimelapses/\"}},[_vm._v(_vm._s(_vm.$t(\"Spaghetti Gallery\")))]):_vm._e(),(_vm.isEnt)?_c('b-nav-item',{class:{ active: _vm.viewName === 'pricing' },attrs:{\"href\":\"/ent_pub/pricing/\"}},[_vm._v(_vm._s(_vm.$t(\"Pricing\")))]):_vm._e(),_c('b-nav-item',{attrs:{\"href\":\"https://www.obico.io/help/\"}},[_vm._v(_vm._s(_vm.$t(\"Help\")))]),_c('b-nav-item',{attrs:{\"href\":\"https://obico.io/discord\"}},[_vm._v(_vm._s(_vm.$t(\"Community\")))])],1),_c('b-navbar-nav',{staticClass:\"ml-auto\"},[(!_vm.user)?_c('b-nav-item',{attrs:{\"href\":\"/accounts/login/\"}},[_vm._v(_vm._s(_vm.$t(\"SIGN IN\")))]):_vm._e(),(!_vm.user && _vm.allowSignUp)?_c('b-nav-item',{attrs:{\"href\":\"/accounts/signup/\"}},[_vm._v(_vm._s(_vm.$t(\"SIGN UP\")))]):_vm._e(),(_vm.user)?_c('b-nav-item-dropdown',{ref:\"accountDropdown\",attrs:{\"right\":\"\",\"toggle-class\":\"user-menu\",\"text\":_vm.user.first_name || _vm.user.email}},[_c('b-dropdown-item',{attrs:{\"href\":\"/user_preferences/\"}},[_c('i',{staticClass:\"fas fa-cog mr-2\"}),_vm._v(_vm._s(_vm.$t(\"Preferences\"))+\" \")]),_c('b-dropdown-divider'),_c('b-dropdown-item',{attrs:{\"href\":\"/accounts/logout/\"}},[_c('i',{staticClass:\"fas fa-sign-out-alt mr-2\"}),_vm._v(_vm._s(_vm.$t(\"Log out\"))+\" \")])],1):_vm._e()],1)],1)],1)],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavBar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavBar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./NavBar.vue?vue&type=template&id=371280d8&scoped=true&\"\nimport script from \"./NavBar.vue?vue&type=script&lang=js&\"\nexport * from \"./NavBar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./NavBar.vue?vue&type=style&index=0&id=371280d8&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"371280d8\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharedPrinterPage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharedPrinterPage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SharedPrinterPage.vue?vue&type=template&id=1dd34976&scoped=true&\"\nimport script from \"./SharedPrinterPage.vue?vue&type=script&lang=js&\"\nexport * from \"./SharedPrinterPage.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SharedPrinterPage.vue?vue&type=style&index=0&id=1dd34976&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1dd34976\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('page-layout',{scopedSlots:_vm._u([{key:\"content\",fn:function(){return [_c('b-container',[_c('b-row',{staticClass:\"justify-content-center\"},[_c('b-col',{attrs:{\"lg\":\"8\"}},[(!_vm.printer)?_c('loading-placeholder'):_c('div',{staticClass:\"surface with-loading-animation full-on-mobile\"},[_c('section',{staticClass:\"settings\"},[_c('h2',{staticClass:\"section-title\"},[_vm._v(_vm._s(_vm.$t(\"Settings\")))]),_c('div',{staticClass:\"form-group mb-4 mt-4\"},[_c('div',{staticClass:\"form-label text-muted mb-2\"},[_vm._v(_vm._s(_vm.$t(\"Give your shiny new printer a name\")))]),_c('saving-animation',{attrs:{\"errors\":_vm.errorMessages.name,\"saving\":_vm.saving.name}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.printer.name),expression:\"printer.name\"}],staticClass:\"form-control field_required\",attrs:{\"id\":\"id_name\",\"type\":\"text\",\"name\":\"name\",\"maxlength\":\"200\",\"placeholder\":\"\",\"required\":\"required\"},domProps:{\"value\":(_vm.printer.name)},on:{\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.printer, \"name\", $event.target.value)}}})])],1),_c('div',{staticClass:\"failure-notification\"},[_c('div',{staticClass:\"form-group mt-4 mb-4\"},[_c('div',{staticClass:\"form-label text-muted\"},[_vm._v(_vm._s(_vm.$t(\"When a potential failure is detected\"))+\":\")]),_c('saving-animation',{attrs:{\"errors\":_vm.errorMessages.action_on_failure_NONE,\"saving\":_vm.saving.action_on_failure_NONE}},[_c('div',{staticClass:\"custom-control custom-radio mt-1 radio\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.printer.action_on_failure),expression:\"printer.action_on_failure\"}],staticClass:\"custom-control-input field_required\",attrs:{\"id\":\"id_action_on_failure_0\",\"type\":\"radio\",\"name\":\"action_on_failure\",\"value\":\"NONE\"},domProps:{\"checked\":_vm._q(_vm.printer.action_on_failure,\"NONE\")},on:{\"change\":[function($event){return _vm.$set(_vm.printer, \"action_on_failure\", \"NONE\")},function($event){return _vm.updateSetting('action_on_failure')}]}}),_c('label',{staticClass:\"custom-control-label\",attrs:{\"for\":\"id_action_on_failure_0\"}},[_vm._v(_vm._s(_vm.$t(\"Just notify me\")))])])]),_c('saving-animation',{attrs:{\"errors\":_vm.errorMessages.action_on_failure_PAUSE,\"saving\":_vm.saving.action_on_failure_PAUSE}},[_c('div',{staticClass:\"custom-control custom-radio mt-1 radio\",attrs:{\"id\":\"action_on_failure_PAUSE\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.printer.action_on_failure),expression:\"printer.action_on_failure\"}],staticClass:\"custom-control-input field_required\",attrs:{\"id\":\"id_action_on_failure_1\",\"type\":\"radio\",\"name\":\"action_on_failure\",\"value\":\"PAUSE\"},domProps:{\"checked\":_vm._q(_vm.printer.action_on_failure,\"PAUSE\")},on:{\"change\":[function($event){return _vm.$set(_vm.printer, \"action_on_failure\", \"PAUSE\")},function($event){return _vm.updateSetting('action_on_failure')}]}}),_c('label',{staticClass:\"custom-control-label\",attrs:{\"for\":\"id_action_on_failure_1\"}},[_vm._v(_vm._s(_vm.$t(\"Pause the printer and notify me\")))])])])],1)])]),_c('section',{staticClass:\"mt-5\"},[_c('h2',{staticClass:\"section-title\"},[_vm._v(_vm._s(_vm.$t(\"Failure Detection\")))]),_c('div',{staticClass:\"card-body p-0 pt-3\"},[_c('p',{staticClass:\"text-warning\"},[_c('i',{staticClass:\"fas fa-exclamation-triangle\"}),_vm._v(\" \"+_vm._s(_vm.$t(\"If you are not sure about the settings below, leave the default values to minimize surprises.\"))+\" \")]),_c('div',{staticClass:\"form-group mt-4\"},[_c('div',{staticClass:\"form-label text-muted\"},[_vm._v(_vm._s(_vm.$t(\"When print is paused,\")))]),_c('saving-animation',{attrs:{\"errors\":_vm.errorMessages.tools_off_on_pause,\"saving\":_vm.saving.tools_off_on_pause}},[_c('div',{staticClass:\"custom-control custom-checkbox mt-2 checkbox\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.printer.tools_off_on_pause),expression:\"printer.tools_off_on_pause\"}],staticClass:\"custom-control-input\",attrs:{\"id\":\"id_tools_off_on_pause\",\"type\":\"checkbox\",\"name\":\"tools_off_on_pause\"},domProps:{\"checked\":Array.isArray(_vm.printer.tools_off_on_pause)?_vm._i(_vm.printer.tools_off_on_pause,null)>-1:(_vm.printer.tools_off_on_pause)},on:{\"change\":[function($event){var $$a=_vm.printer.tools_off_on_pause,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.printer, \"tools_off_on_pause\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.printer, \"tools_off_on_pause\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.printer, \"tools_off_on_pause\", $$c)}},function($event){return _vm.updateSetting('tools_off_on_pause')}]}}),_c('label',{staticClass:\"custom-control-label\",attrs:{\"for\":\"id_tools_off_on_pause\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Turn off hotend heater(s)\"))+\" \")])])]),_c('saving-animation',{attrs:{\"errors\":_vm.errorMessages.bed_off_on_pause,\"saving\":_vm.saving.bed_off_on_pause}},[_c('div',{staticClass:\"custom-control custom-checkbox mt-2 checkbox\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.printer.bed_off_on_pause),expression:\"printer.bed_off_on_pause\"}],staticClass:\"custom-control-input\",attrs:{\"id\":\"id_bed_off_on_pause\",\"type\":\"checkbox\",\"name\":\"bed_off_on_pause\"},domProps:{\"checked\":Array.isArray(_vm.printer.bed_off_on_pause)?_vm._i(_vm.printer.bed_off_on_pause,null)>-1:(_vm.printer.bed_off_on_pause)},on:{\"change\":[function($event){var $$a=_vm.printer.bed_off_on_pause,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.printer, \"bed_off_on_pause\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.printer, \"bed_off_on_pause\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.printer, \"bed_off_on_pause\", $$c)}},function($event){return _vm.updateSetting('bed_off_on_pause')}]}}),_c('label',{staticClass:\"custom-control-label\",attrs:{\"for\":\"id_bed_off_on_pause\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Turn off bed heater\"))+\" \")])])]),_c('saving-animation',{staticClass:\"mobile-full-width\",attrs:{\"errors\":_vm.errorMessages.retract_on_pause,\"saving\":_vm.saving.retract_on_pause}},[_c('div',{staticClass:\"form-inline my-1 checkbox-with-input\"},[_c('div',{staticClass:\"custom-control custom-checkbox\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.retractFilamentByEnabled),expression:\"retractFilamentByEnabled\"}],staticClass:\"custom-control-input\",attrs:{\"id\":\"retract-checkbox\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.retractFilamentByEnabled)?_vm._i(_vm.retractFilamentByEnabled,null)>-1:(_vm.retractFilamentByEnabled)},on:{\"change\":function($event){var $$a=_vm.retractFilamentByEnabled,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.retractFilamentByEnabled=$$a.concat([$$v]))}else{$$i>-1&&(_vm.retractFilamentByEnabled=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.retractFilamentByEnabled=$$c}}}}),_c('label',{staticClass:\"custom-control-label\",attrs:{\"for\":\"retract-checkbox\"}},[_vm._v(_vm._s(_vm.$t(\"Retract filament by\")))])]),_c('number-input',{staticClass:\"wrappable-field\",attrs:{\"step\":0.5,\"disable\":!_vm.retractFilamentByEnabled},model:{value:(_vm.retractOnPause),callback:function ($$v) {_vm.retractOnPause=$$v},expression:\"retractOnPause\"}})],1)]),_c('saving-animation',{staticClass:\"mobile-full-width\",attrs:{\"errors\":_vm.errorMessages.lift_z_on_pause,\"saving\":_vm.saving.lift_z_on_pause}},[_c('div',{staticClass:\"form-inline my-1 checkbox-with-input\"},[_c('div',{staticClass:\"custom-control custom-checkbox\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.liftExtruderByEnabled),expression:\"liftExtruderByEnabled\"}],staticClass:\"custom-control-input\",attrs:{\"id\":\"lift-z-checkbox\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.liftExtruderByEnabled)?_vm._i(_vm.liftExtruderByEnabled,null)>-1:(_vm.liftExtruderByEnabled)},on:{\"change\":function($event){var $$a=_vm.liftExtruderByEnabled,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.liftExtruderByEnabled=$$a.concat([$$v]))}else{$$i>-1&&(_vm.liftExtruderByEnabled=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.liftExtruderByEnabled=$$c}}}}),_c('label',{staticClass:\"custom-control-label\",attrs:{\"for\":\"lift-z-checkbox\"}},[_vm._v(_vm._s(_vm.$t(\"Lift extruder along Z axis by\")))])]),_c('number-input',{staticClass:\"wrappable-field\",attrs:{\"step\":0.5,\"disable\":!_vm.liftExtruderByEnabled},model:{value:(_vm.liftExtruderBy),callback:function ($$v) {_vm.liftExtruderBy=$$v},expression:\"liftExtruderBy\"}})],1)])],1),_c('div',{staticClass:\"form-group sensitivity my-4\"},[_c('div',{staticClass:\"form-label text-muted\"},[_vm._v(_vm._s(_vm.$t(\"AI failure detection sensitivity\")))]),_c('saving-animation',{attrs:{\"errors\":_vm.errorMessages.detective_sensitivity,\"saving\":_vm.saving.detective_sensitivity}},[_c('div',{staticClass:\"my-2 sensitivity-slider\"},[_c('vue-slider',{attrs:{\"lazy\":true,\"min\":0.8,\"max\":1.2,\"interval\":0.05,\"tooltip-formatter\":_vm.sensitivityTooltipFormatter},model:{value:(_vm.detectiveSensitivity),callback:function ($$v) {_vm.detectiveSensitivity=$$v},expression:\"detectiveSensitivity\"}})],1)]),(_vm.sensitivityTooltipFormatter(_vm.printer.detective_sensitivity) === 'Low')?_c('div',[_vm._v(\" \"+_vm._s(_vm.$t(\"Low - I don't want a lot of false alarms. Only alert me when you are absolutely sure.\"))+\" \")]):(\n _vm.sensitivityTooltipFormatter(_vm.printer.detective_sensitivity) === 'Medium'\n )?_c('div',[_vm._v(\" \"+_vm._s(_vm.$t(\"Medium - A few false alarms won't bother me. But some well-disguised spaghetti will be missed.\"))+\" \")]):_c('div',[_vm._v(\" \"+_vm._s(_vm.$t(\"High - Hit me with all the false alarms. I want to catch as many failures as possible.\"))+\" \")])],1)])]),_c('section',{staticClass:\"mt-5\"},[_c('h2',{staticClass:\"section-title\"},[_vm._v(_vm._s(_vm.$t(\"Time-lapse\")))]),(!(_vm.timelapseOnFinishEnabled && _vm.timelapseOnCancelEnabled))?_c('p',{staticClass:\"text-warning\"},[_c('i',{staticClass:\"fas fa-exclamation-triangle\"}),_c('i18next',{attrs:{\"translation\":_vm.$t(`Focused Feedback won't be available when time-lapse recording is turned off. You won't be able to {localizedDom}`)},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('a',{attrs:{\"href\":_vm.getDocUrl('/user-guides/how-does-credits-work/')}},[_vm._v(_vm._s(_vm.$t(\"help us get better while earning AI Detection Hours for yourself\")))])]},proxy:true}],null,false,2529399454)})],1):_vm._e(),_c('div',{staticClass:\"form-group mt-4\"},[_c('saving-animation',{staticClass:\"mobile-full-width\",attrs:{\"errors\":_vm.errorMessages.min_timelapse_secs_on_finish,\"saving\":_vm.saving.min_timelapse_secs_on_finish}},[_c('div',{staticClass:\"form-inline my-1 checkbox-with-input\"},[_c('div',{staticClass:\"custom-control custom-checkbox\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.timelapseOnFinishEnabled),expression:\"timelapseOnFinishEnabled\"}],staticClass:\"custom-control-input\",attrs:{\"id\":\"timelapseOnFinishEnabled\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.timelapseOnFinishEnabled)?_vm._i(_vm.timelapseOnFinishEnabled,null)>-1:(_vm.timelapseOnFinishEnabled)},on:{\"change\":function($event){var $$a=_vm.timelapseOnFinishEnabled,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.timelapseOnFinishEnabled=$$a.concat([$$v]))}else{$$i>-1&&(_vm.timelapseOnFinishEnabled=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.timelapseOnFinishEnabled=$$c}}}}),_c('label',{staticClass:\"custom-control-label\",attrs:{\"for\":\"timelapseOnFinishEnabled\"}},[_vm._v(_vm._s(_vm.$t(\"Record time-lapse when a print finishes successfully.\")))])])]),(_vm.timelapseOnFinishEnabled)?_c('div',{staticClass:\"form-inline my-1 checkbox-with-input\"},[_c('div',{staticClass:\"custom-control custom-checkbox\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Skip if the print is finished in less than\"))+\" \")]),_c('number-input',{staticClass:\"wrappable-field\",attrs:{\"step\":5,\"unit\":\"minutes\"},model:{value:(_vm.minTimelapseMinutesOnFinish),callback:function ($$v) {_vm.minTimelapseMinutesOnFinish=$$v},expression:\"minTimelapseMinutesOnFinish\"}})],1):_vm._e()]),_c('saving-animation',{staticClass:\"mobile-full-width\",attrs:{\"errors\":_vm.errorMessages.min_timelapse_secs_on_cancel,\"saving\":_vm.saving.min_timelapse_secs_on_cancel}},[_c('div',{staticClass:\"form-inline mt-3 mb-1 checkbox-with-input\"},[_c('div',{staticClass:\"custom-control custom-checkbox\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.timelapseOnCancelEnabled),expression:\"timelapseOnCancelEnabled\"}],staticClass:\"custom-control-input\",attrs:{\"id\":\"timelapseOnCancelEnabled\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.timelapseOnCancelEnabled)?_vm._i(_vm.timelapseOnCancelEnabled,null)>-1:(_vm.timelapseOnCancelEnabled)},on:{\"change\":function($event){var $$a=_vm.timelapseOnCancelEnabled,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.timelapseOnCancelEnabled=$$a.concat([$$v]))}else{$$i>-1&&(_vm.timelapseOnCancelEnabled=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.timelapseOnCancelEnabled=$$c}}}}),_c('label',{staticClass:\"custom-control-label\",attrs:{\"for\":\"timelapseOnCancelEnabled\"}},[_vm._v(_vm._s(_vm.$t(\"Record time-lapse when a print is cancelled.\")))])])]),(_vm.timelapseOnCancelEnabled)?_c('div',{staticClass:\"form-inline my-1 checkbox-with-input\"},[_c('div',{staticClass:\"custom-control custom-checkbox\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Skip if the print is cancelled in less than\"))+\" \")]),_c('number-input',{staticClass:\"wrappable-field\",attrs:{\"step\":5,\"unit\":\"minutes\"},model:{value:(_vm.minTimelapseMinutesOnCancel),callback:function ($$v) {_vm.minTimelapseMinutesOnCancel=$$v},expression:\"minTimelapseMinutesOnCancel\"}})],1):_vm._e()])],1)]),_c('section',{staticClass:\"danger mt-5\"},[_c('h2',{staticClass:\"section-title\"},[_vm._v(_vm._s(_vm.$t(\"Danger Zone\")))]),_c('div',{staticClass:\"mt-4\"},[_c('a',{staticClass:\"btn btn-outline-secondary\",attrs:{\"href\":_vm.printerWizardUrl}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Re-Link Printer\"))+\" \")]),_c('div',{staticClass:\"text-muted mt-1\"},[_c('small',[_c('i18next',{attrs:{\"translation\":_vm.$t(`If your printer is always showing as 'offline', and you have gone through {localizedDom}, you can try to re-link printer as the last resort.`)},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('a',{attrs:{\"href\":_vm.getDocUrl('/user-guides/troubleshoot-server-connection-issues/')}},[_vm._v(_vm._s(_vm.$t(\"all the trouble-shooting steps\")))])]},proxy:true}])})],1)])]),(_vm.isEnt)?_c('div',{staticClass:\"mt-4\"},[_c('button',{staticClass:\"btn btn-outline-warning\",on:{\"click\":_vm.archivePrinter}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Archive Printer\"))+\" \")]),_c('div',{staticClass:\"text-muted mt-1\"},[_c('small',[_c('i18next',{attrs:{\"translation\":_vm.$t(`Archived printers are not counted toward your subscription plan. You won't see them in the app either. Go to {localizedDom} to find all archived printers and/or un-archive them.`)},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('a',{attrs:{\"href\":\"/ent/printers/archived/\"}},[_vm._v(_vm._s(_vm.$t(\"this page\")))])]},proxy:true}],null,false,2102701858)})],1)])]):_vm._e(),_c('div',{staticClass:\"mt-4\"},[_c('button',{staticClass:\"btn btn-outline-danger\",on:{\"click\":_vm.deletePrinter}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Delete Printer\"))+\" \")]),_c('div',{staticClass:\"text-muted mt-1\"},[_c('small',[_vm._v(_vm._s(_vm.$t(\"Bye-bye printer.\")))])])])])])],1)],1)],1)]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"input-group input-group-sm input-wrapper\"},[_c('div',{staticClass:\"input-group-prepend\"},[_c('button',{staticClass:\"btn btn-outline-secondary control-button\",attrs:{\"type\":\"button\",\"disabled\":_vm.disable},on:{\"click\":function($event){_vm.inputValue = _vm.inputValue > 0 ? Math.round((_vm.inputValue - _vm.step) * 10) / 10 : 0\n _vm.$emit('input', _vm.inputValue)}}},[_vm._v(\" ↓ \")])]),_c('input',{staticClass:\"form-control text-center field_required\",style:({ opacity: _vm.disable ? 0.3 : 1 }),attrs:{\"type\":\"text\",\"disabled\":\"\",\"aria-describedby\":\"basic-addon1\"},domProps:{\"value\":_vm.inputValue + ' ' + _vm.unit}}),_c('div',{staticClass:\"input-group-append\"},[_c('button',{staticClass:\"btn btn-outline-secondary control-button\",attrs:{\"type\":\"button\",\"disabled\":_vm.disable},on:{\"click\":function($event){_vm.inputValue = Math.round((_vm.inputValue + _vm.step) * 10) / 10\n _vm.$emit('input', _vm.inputValue)}}},[_vm._v(\" ↑ \")])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NumberInput.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NumberInput.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./NumberInput.vue?vue&type=template&id=66233dc0&scoped=true&\"\nimport script from \"./NumberInput.vue?vue&type=script&lang=js&\"\nexport * from \"./NumberInput.vue?vue&type=script&lang=js&\"\nimport style0 from \"./NumberInput.vue?vue&type=style&index=0&id=66233dc0&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"66233dc0\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterSettingsPage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterSettingsPage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PrinterSettingsPage.vue?vue&type=template&id=3d5060ec&scoped=true&\"\nimport script from \"./PrinterSettingsPage.vue?vue&type=script&lang=js&\"\nexport * from \"./PrinterSettingsPage.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PrinterSettingsPage.vue?vue&type=style&index=0&id=3d5060ec&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3d5060ec\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('page-layout',{scopedSlots:_vm._u([{key:\"content\",fn:function(){return [_c('b-container',[_c('b-row',[_c('b-col',[_c('div',{staticClass:\"form-container full-on-mobile border-radius-lg\"},[_c('div',{staticClass:\"row\"},[_c('h3',{staticClass:\"col-sm-12 text-center p-3 wizard-page-title-font\"},[_vm._v(_vm._s(_vm.$t(\"Link Printer\")))])]),_c('b-row',{staticClass:\"center mt-3 mb-5\"},[_c('div',{staticClass:\"col-sm-12 col-lg-8\"},[_c('PrinterProgress',{attrs:{\"step\":2}})],1)]),_c('b-row',{staticClass:\"center py-5\"},[_c('div',{staticClass:\"col-sm-12 col-lg-8\"},[_c('loading',{attrs:{\"active\":_vm.chosenDeviceId != null,\"can-cancel\":false}}),(_vm.discoveryEnabled)?_c('div',{staticClass:\"discover\"},[_c('div',{staticClass:\"discover-body\"},[(!_vm.canStartLinking)?_c('div',{staticStyle:{\"text-align\":\"center\"}},[_c('div',{staticClass:\"spinner-border big\",attrs:{\"role\":\"status\"}},[_c('span',{staticClass:\"sr-only\"})]),_c('div',{staticClass:\"lead\"},[_vm._v(_vm._s(_vm.$t(\"Scanning...\")))])]):_c('div',[_c('div',{staticClass:\"lead my-3\"},[_c('div',{staticClass:\"spinner-border\",attrs:{\"role\":\"status\"}},[_c('span',{staticClass:\"sr-only\"})]),_c('span',{staticClass:\"sr-only\"}),_vm._v(\" \"+_vm._s(_vm.$t(\"Scanning..., {name} printer(s) found on your local network:\",{name:_vm.discoveredPrinters.length}))+\" \")]),_vm._l((_vm.discoveredPrinters),function(discoveredPrinter){return _c('discovered-printer',{key:discoveredPrinter.device_id,attrs:{\"discovered-printer\":discoveredPrinter},on:{\"auto-link-printer\":_vm.autoLinkPrinter}})})],2),(_vm.discoveryCount >= 2)?_c('div',{staticClass:\"text-muted pt-4\"},[_c('div',[_vm._v(_vm._s(_vm.$t(\"To link your printer, please make sure:\")))]),_c('ul',[_c('li',[_vm._v(_vm._s(_vm.$t(\"The printer is powered on. If you are using an external SBC such as a Raspberry Pi, make sure it's powered on as well.\")))]),_c('li',[_vm._v(\" \"+_vm._s(_vm.$t(\"The printer or SBC is connected to the same local network as your phone/computer.\"))+\" \")]),(_vm.targetOctoPrint)?_c('li',[_vm._v(_vm._s(_vm.$t(\"{brandName} for OctoPrint is 1.8.0 or above.\",{brandName:_vm.$syndicateText.brandName})))]):_vm._e()])]):_vm._e(),_c('div',{staticClass:\"d-flex flex-column align-items-center\"},[_c('div',{staticClass:\"mt-5 mb-3\"},[_vm._v(\" \"+_vm._s(_vm.$t(`Can’t find the printer you want to link? Switch to Manual Linking instead.`))+\" \")]),_c('button',{staticClass:\"btn btn-outline-secondary\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){_vm.discoveryEnabled = false}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Switch to Manual Linking\"))+\" \")])])])]):(_vm.useLegacyVerificationCode)?_c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"row justify-content-center pb-3\"},[_c('div',{staticClass:\"col-sm-12 col-lg-8 d-flex flex-column align-items-center\"},[_c('input',{ref:\"code\",staticClass:\"code-btn\",attrs:{\"disabled\":\"\"},domProps:{\"value\":`${_vm.verificationCode && _vm.verificationCode.code}`}}),_c('small',{staticClass:\"mx-auto py-1\",class:{ 'text-muted': !_vm.copied }},[_vm._v(_vm._s(_vm.copied ? _vm.$t('Code copied to system clipboard') : _vm.$t('Ctrl-C/Cmd-C to copy the code')))]),_c('div',{staticClass:\"mx-auto pt-1 pb-4\"},[_c('span',{staticClass:\"text-muted\"},[_vm._v(_vm._s(_vm.$t(\"Code will expire in \")))]),_vm._v(_vm._s(_vm.timeToExpire)+\" \")]),_c('div',{staticClass:\"lead\"},[_c('i18next',{attrs:{\"translation\":_vm.$t(`Enter the {localizedDom}`)},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('strong',[_vm._v(_vm._s(_vm.$t(\"6-digit verification code\")))])]},proxy:true}])})],1)])]),_c('div',{staticClass:\"row justify-content-center\"},[_c('div',{staticClass:\"col-sm-12 col-lg-8 img-container\"},[(_vm.targetOctoPrint)?_c('img',{staticClass:\"screenshot\",attrs:{\"src\":require('@static/img/octoprint-plugin-guide/plugin_verification_code.png')},on:{\"click\":function($event){return _vm.zoomIn($event)}}}):_vm._e(),(_vm.targetKlipper)?_c('img',{staticClass:\"screenshot\",attrs:{\"src\":require('@static/img/octoprint-plugin-guide/moonraker_verification_code.png')},on:{\"click\":function($event){return _vm.zoomIn($event)}}}):_vm._e(),_c('div',{staticClass:\"helper mx-auto py-2\"},[_c('a',{staticClass:\"link font-weight-bold\",on:{\"click\":_vm.showVerificationCodeHelpModal}},[_vm._v(_vm._s(_vm.$t(\"Can't find the page to enter the 6-digit code?\")))])])])])]):_c('div',{staticClass:\"container pt-5\"},[_c('div',{staticClass:\"row justify-content-center pb-1\"},[_c('div',{staticClass:\"col-sm-12 col-md-8 col-lg-6 d-flex flex-column align-items-center\"},[_c('div',{staticClass:\"d-flex align-items-center\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.oneTimePasscode),expression:\"oneTimePasscode\"}],staticClass:\"form-control code-btn\",attrs:{\"type\":\"text\",\"aria-label\":\"One-time Passcode\",\"disabled\":_vm.oneTimePasscodeStatus === 'inprogress'},domProps:{\"value\":(_vm.oneTimePasscode)},on:{\"input\":[function($event){if($event.target.composing)return;_vm.oneTimePasscode=$event.target.value},_vm.oneTimePasscodeChanged]}}),(_vm.oneTimePasscodeStatus === 'inprogress')?_c('div',{staticClass:\"spinner-border text-primary ml-2\",attrs:{\"role\":\"status\"}},[_c('span',{staticClass:\"sr-only\"},[_vm._v(\"Loading...\")])]):_vm._e()])])]),_c('div',{staticClass:\"row justify-content-center pb-3\"},[(_vm.oneTimePasscodeStatus === 'failed')?_c('div',{staticClass:\"text-danger col-sm-12 d-flex flex-column align-items-center wizard-secondary-text-font text-secondary\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Invalid code. Is it expired?\"))+\" \")]):_c('div',{staticClass:\"col-sm-12 d-flex flex-column align-items-center wizard-secondary-text-font text-secondary\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Enter the One-time Passcode\"))+\" \")])]),_c('div',{staticClass:\"mt-4\"},[_c('muted-alert',{staticClass:\"muted-alert wizard-secondary-text-font text-secondary\"},[_c('i18next',{attrs:{\"translation\":_vm.$t(`If you using Obico for OctoPrint older than 2.5.0, or Obico for Klipper older than 1.6.0, switch to {localizedDom}.`)},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('a',{staticClass:\"link\",on:{\"click\":function($event){_vm.useLegacyVerificationCode = true}}},[_vm._v(_vm._s(_vm.$t(\"6-digit verification code\")))])]},proxy:true}])})],1)],1)])],1)]),(!_vm.discoveryEnabled && !_vm.useLegacyVerificationCode)?_c('b-row',{staticClass:\"mt-3 mb-5\"},[_c('div',{staticClass:\"col-md-4 p-4 method-block\"},[_c('h4',{staticClass:\"text-center font-weight-bold wizard-page-title-font\"},[_vm._v(_vm._s(_vm.$t(\"Touch Screen\")))]),_c('div',{staticClass:\"image-block\"},[_c('img',{staticStyle:{\"max-width\":\"80%\"},attrs:{\"src\":require(\"@static/img/printer-wizard/klipperScreenMenu.png\"),\"alt\":\"\"}})]),_c('ol',[_c('li',[_vm._v(_vm._s(_vm.$t(\"Check to see if your printer already has Obico installed your printer screen.\")))]),_c('li',[_vm._v(_vm._s(_vm.$t(\"Navigate to the settings menu on the LCD screen of your printer.\")))]),_c('li',[_vm._v(_vm._s(_vm.$t(\"Find the “Link Obico” menu item and tap it to open the connection screen.\")))])])]),_c('div',{staticClass:\"col-md-4 p-4 method-block\"},[_c('h4',{staticClass:\"text-center font-weight-bold wizard-page-title-font\"},[_vm._v(_vm._s(_vm.$t(\"LCD Screen \")))]),_c('div',{staticClass:\"image-block\"},[_c('img',{staticStyle:{\"max-width\":\"80%\"},attrs:{\"src\":require(\"@static/img/printer-wizard/lcdScreenLarge.png\"),\"alt\":\"\"}})]),_c('ol',[_c('li',[_vm._v(_vm._s(_vm.$t(\"Check to see if your printer already has Obico Easy Link installed on the LCD menu.\")))]),_c('li',[_vm._v(_vm._s(_vm.$t(\"Navigate to the settings menu on the LCD screen of your printer.\")))]),_c('li',[_vm._v(_vm._s(_vm.$t(\"Find the “Link Obico” menu item.\")))])])]),_c('div',{staticClass:\"col-md-4 p-4 method-block\"},[_c('h4',{staticClass:\"text-center font-weight-bold wizard-page-title-font\"},[_vm._v(_vm._s(_vm.$t(\"Install Via SSH\")))]),_c('div',{staticClass:\"image-block\"},[_c('img',{staticStyle:{\"max-width\":\"80%\"},attrs:{\"src\":require(\"@static/img/printer-wizard/commandLinePrompt.png\"),\"alt\":\"\"}})]),_c('ol',[_c('li',[_vm._v(_vm._s(_vm.$t(\"If you can't find Obico Easy Link, you will need to SSH to your printer to install Obico. You will need to find a guide that works for your printer.\")))])]),_c('div',[_c('a',{attrs:{\"target\":\"_blank\",\"href\":_vm.getDocUrl('/user-guides/klipper-setup/')}},[_vm._v(_vm._s(_vm.$t(\"Show me how\")))])])])]):_vm._e(),_c('div',{staticClass:\"d-flex justify-content-between align-items-center button-wrap\"},[_c('div',{staticClass:\"back\",on:{\"click\":function($event){return _vm.$router.back()}}},[_c('i',{staticClass:\"fas fa-chevron-left\"}),_c('span',[_vm._v(\" \"+_vm._s(_vm.$t(\"Back\")))])])]),_c('div',{staticClass:\"text-center mt-5 wizard-default-font\"},[_c('i18next',{attrs:{\"translation\":_vm.$t(`Need help? Check out the {localizedDom}`)},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('a',{attrs:{\"target\":\"_blank\",\"href\":_vm.targetKlipper? _vm.getDocUrl('/user-guides/klipper-setup/'):_vm.getDocUrl('/user-guides/octoprint-plugin-setup/')}},[_vm._v(_vm._s(_vm.$t(\"step-by-step set up guide\"))+\".\")])]},proxy:true}])})],1)],1)])],1)],1)]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"discovered-printers mt-4\"},[_c('div',{staticClass:\"flex-grow-0 pt-1 mr-2\"},[(_vm.discoveredPrinter.agent.toLowerCase().includes('octoprint'))?_c('img',{staticClass:\"logo-img\",attrs:{\"src\":require('@static/img/octoprint_logo.png')}}):(_vm.discoveredPrinter.agent.toLowerCase().includes('klipper'))?_c('img',{staticClass:\"logo-img\",attrs:{\"src\":require('@static/img/klipper_logo.jpg')}}):_c('img',{staticClass:\"logo-img\",attrs:{\"src\":require('@static/img/raspberry_pi.png')}})]),_c('div',{staticClass:\"row flex-grow-1 ml-1 link-action\"},[_c('div',{staticClass:\"col-sm-12 col-md-10 pb-2\"},[(_vm.discoveredPrinter.rpi_model)?_c('div',[_vm._v(\" \"+_vm._s(_vm.discoveredPrinter.rpi_model)+\" \")]):_vm._e(),(_vm.discoveredPrinter.machine_type)?_c('div',[_vm._v(\" \"+_vm._s(_vm.discoveredPrinter.machine_type)+\" \")]):_vm._e(),(_vm.discoveredPrinter.agent)?_c('div',{staticClass:\"text-muted small\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Platform\"))+\": \"+_vm._s(_vm.discoveredPrinter.agent)+\" \")]):_vm._e(),(_vm.discoveredPrinter.host_or_ip)?_c('div',{staticClass:\"text-muted small\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"IP address\"))+\": \"+_vm._s(_vm.discoveredPrinter.host_or_ip)+\" \")]):_vm._e(),(_vm.discoveredPrinter.hostname)?_c('div',{staticClass:\"text-muted small\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Hostname\"))+\": \"+_vm._s(_vm.discoveredPrinter.hostname)+\" \")]):_vm._e(),(_vm.discoveredPrinter.octopi_version)?_c('div',{staticClass:\"text-muted small\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"OctoPi\"))+\": \"+_vm._s(_vm.discoveredPrinter.octopi_version)+\" \")]):_vm._e(),(!_vm.discoveredPrinter.octopi_version && _vm.discoveredPrinter.os)?_c('div',{staticClass:\"text-muted small\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"OS\"))+\": \"+_vm._s(_vm.discoveredPrinter.os)+\" \")]):_vm._e()]),_c('div',{staticClass:\"col-sm-12 col-md-2 center px-3\"},[_c('button',{staticClass:\"btn btn-block btn-primary\",on:{\"click\":function($event){return _vm.$emit('auto-link-printer', { ..._vm.discoveredPrinter })}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Link\"))+\" \")])])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DiscoveredPrinter.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DiscoveredPrinter.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DiscoveredPrinter.vue?vue&type=template&id=0a48d7b0&\"\nimport script from \"./DiscoveredPrinter.vue?vue&type=script&lang=js&\"\nexport * from \"./DiscoveredPrinter.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DiscoveredPrinter.vue?vue&type=style&index=0&id=0a48d7b0&prod&lang=sass&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"px-2\"},[_c('div',{staticClass:\"title-pic\"},[_c('img',{staticClass:\"pic-item\",attrs:{\"src\":require('@static/img/webpage-multiple.svg')}}),_vm._m(0),_c('img',{staticClass:\"pic-item\",attrs:{\"src\":require('@static/img/printer.png')}})]),_c('div',{staticClass:\"my-4\"},[_c('p',[_vm._v(_vm._s(_vm.$t(\"The {brandName} app needs to make sure you have access to selected printer.\",{brandName:_vm.$syndicateText.brandName})))]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"When you press 'Link Now' button below, a new browser window will pop up to finish a handshake with this printer.\"))+\" \")])]),_c('div',[_c('div',{staticClass:\"row my-2\"},[_c('div',{staticClass:\"col-sm-6\"},[_c('button',{staticClass:\"btn btn-block btn-primary mt-2\",attrs:{\"disabled\":_vm.linking},on:{\"click\":_vm.autoLinkPrinter}},[(_vm.linking)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e(),_vm._v(_vm._s(_vm.$t(\"Link Now\"))+\" \"),_c('i',{staticClass:\"fas fa-external-link-alt\"})],1)]),_c('div',{staticClass:\"col-sm-6\"},[_c('button',{staticClass:\"btn btn-block btn-secondary mt-2\",on:{\"click\":_vm.cancel}},[_vm._v(_vm._s(_vm.$t(\"Cancel\")))])])])])])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"pic-item\"},[_c('i',{staticClass:\"fas fa-ellipsis-h fa-2x\"}),_c('i',{staticClass:\"fas fa-ellipsis-h fa-2x\"})])\n}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AutoLinkPopup.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AutoLinkPopup.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AutoLinkPopup.vue?vue&type=template&id=18c57e6c&scoped=true&\"\nimport script from \"./AutoLinkPopup.vue?vue&type=script&lang=js&\"\nexport * from \"./AutoLinkPopup.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AutoLinkPopup.vue?vue&type=style&index=0&id=18c57e6c&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"18c57e6c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"printer-progress\"},[_c('div',{staticClass:\"circle\",class:{active:_vm.step===0, done:_vm.step>0}},[_c('font-awesome-icon',{attrs:{\"icon\":\"fa-check\"}}),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"Device Selection\"))+\" \")])],1),_c('div',{staticClass:\"line\",class:{active:_vm.step>=1}}),_c('div',{staticClass:\"circle\",class:{active:_vm.step===1, done:_vm.step>1}},[_c('font-awesome-icon',{attrs:{\"icon\":['fas', 'check']}}),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"Install Obico\"))+\" \")])],1),_c('div',{staticClass:\"line\",class:{active:_vm.step===2}}),_c('div',{staticClass:\"circle\",class:{active:_vm.step===2,done:_vm.step===3}},[_c('font-awesome-icon',{attrs:{\"icon\":['fas', 'check']}}),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"Link Printer\"))+\" \")])],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterProgress.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterProgress.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PrinterProgress.vue?vue&type=template&id=09cdf468&scoped=true&\"\nimport script from \"./PrinterProgress.vue?vue&type=script&lang=js&\"\nexport * from \"./PrinterProgress.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PrinterProgress.vue?vue&type=style&index=0&id=09cdf468&prod&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"09cdf468\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterLinkingPage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterLinkingPage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PrinterLinkingPage.vue?vue&type=template&id=47ff6d0e&scoped=true&\"\nimport script from \"./PrinterLinkingPage.vue?vue&type=script&lang=js&\"\nexport * from \"./PrinterLinkingPage.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PrinterLinkingPage.vue?vue&type=style&index=0&id=47ff6d0e&prod&lang=sass&scoped=true&\"\nimport style1 from \"./PrinterLinkingPage.vue?vue&type=style&index=1&id=47ff6d0e&prod&lang=sass&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"47ff6d0e\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('page-layout',{scopedSlots:_vm._u([{key:\"content\",fn:function(){return [_c('b-container',[_c('b-row',[_c('b-col',[_c('div',{staticClass:\"form-container full-on-mobile border-radius-lg\"},[(_vm.printerIdToLink)?_c('b-row',[_c('div',{staticClass:\"col-sm-12 col-lg-8\"},[_c('div',{staticClass:\"text-warning\"},[_c('i18next',{attrs:{\"translation\":_vm.$t(`Warning: Re-Linking OctoPrint should be your last resort to solve issues. Please make sure you have exhausted all options on {localizedDom}.`)},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('a',{attrs:{\"href\":\"https://www.obico.io/help/\"}},[_vm._v(_vm._s(_vm.$t(\"{brandName}'s help website\",{brandName:_vm.$syndicateText.brandName})))])]},proxy:true}],null,false,3291268443)})],1)])]):_vm._e(),_c('div',{staticClass:\"row\"},[_c('h1',{staticClass:\"col-sm-12 text-center p-3 wizard-page-title-font\"},[_vm._v(_vm._s(_vm.$t(\"Device Selection\")))])]),_c('b-row',{staticClass:\"center mt-3 mb-5 pb-5\"},[_c('div',{staticClass:\"col-sm-12 col-lg-8\"},[_c('PrinterProgress',{attrs:{\"step\":0}})],1)]),(_vm.devicesWithObicoPreInstalled.length > 0)?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-12 col-lg-6 py-4\"},[_c('h4',{staticClass:\"py-3\"},[_vm._v(_vm._s(_vm.$t(\"Devices with Obico Pre-installed\")))]),_c('div',{staticClass:\"printer-list\"},_vm._l((_vm.devicesWithObicoPreInstalled),function(item){return _c('div',{key:item.id,staticClass:\"printer-item\",on:{\"click\":function($event){return _vm.targetPlatformClicked('klipper-obico-enabled',item)}}},[_c('div',{staticClass:\"img-wrap clickable\"},[_c('img',{attrs:{\"src\":item.image_url,\"alt\":\"\"}})]),_c('div',{staticClass:\"item-label\"},[_vm._v(_vm._s(item.brand))]),_c('h5',{staticClass:\"item-label\"},[_c('b',[_vm._v(_vm._s(item.model))])])])}),0)])]):_vm._e(),_c('div',{staticClass:\"wizard-card-list py-4\"},[_c('div',{staticClass:\"wizard-card-horizontal\",on:{\"click\":function($event){return _vm.targetPlatformClicked('klipper-preinstalled')}}},[_c('div',{staticClass:\"img-wrap\"},[_c('img',{attrs:{\"src\":require('@static/img/klipper_logo.jpg')}})]),_c('div',{staticClass:\"text-wrap\"},[_c('h3',{staticClass:\"wizard-default-font\"},[_vm._v(_vm._s(_vm.$t(\"Pre-Installed Klipper Printer\")))]),_c('h4',{staticClass:\"wizard-secondary-text-font text-secondary\"},[_vm._v(_vm._s(_vm.$t(\"Creality K1, Sonic Pad, Sovol SV07, Kingroon KLP1, Elegoo Neptune 4, etc...\")))])])]),_c('div',{staticClass:\"wizard-card-horizontal\",on:{\"click\":function($event){return _vm.targetPlatformClicked('klipper-generic')}}},[_c('div',{staticClass:\"img-wrap\"},[_c('img',{attrs:{\"src\":require('@static/img/klipper_logo.jpg')}}),_c('div',{staticClass:\"img-tip\"},[_c('img',{attrs:{\"src\":require('@static/img/mainsail_logo.png')}}),_c('img',{attrs:{\"src\":require('@static/img/fluidd_logo.png')}})])]),_c('div',{staticClass:\"text-wrap\"},[_c('h3',{staticClass:\"wizard-default-font\"},[_vm._v(_vm._s(_vm.$t(\"Generic Klipper - Self Installed\")))]),_c('h4',{staticClass:\"wizard-secondary-text-font text-secondary\"},[_vm._v(_vm._s(_vm.$t(\"If you installed Klipper yourself on a Raspberry Pi or other linux device. E.g., Voron, RatRig\")))])])]),_c('div',{staticClass:\"wizard-card-horizontal\",on:{\"click\":function($event){return _vm.targetPlatformClicked('octoprint')}}},[_c('div',{staticClass:\"img-wrap\"},[_c('img',{attrs:{\"src\":require('@static/img/octoprint_logo.png')}})]),_c('div',{staticClass:\"text-wrap\"},[_c('h3',{staticClass:\"wizard-default-font\"},[_vm._v(\"OctoPrint\")]),_c('h4',{staticClass:\"wizard-secondary-text-font text-secondary\"},[_vm._v(_vm._s(_vm.$t(\"Including OctoPrint for Klipper such as OctoKlipper.\")))])])])])],1)])],1)],1)]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TargetPlatformSelectionPage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TargetPlatformSelectionPage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TargetPlatformSelectionPage.vue?vue&type=template&id=292aad3e&scoped=true&\"\nimport script from \"./TargetPlatformSelectionPage.vue?vue&type=script&lang=js&\"\nexport * from \"./TargetPlatformSelectionPage.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TargetPlatformSelectionPage.vue?vue&type=style&index=0&id=292aad3e&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"292aad3e\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('page-layout',{scopedSlots:_vm._u([{key:\"content\",fn:function(){return [_c('b-container',[_c('b-row',[_c('b-col',[_c('div',{staticClass:\"form-container full-on-mobile border-radius-lg\"},[_c('div',{staticClass:\"row\"},[_c('h1',{staticClass:\"col-sm-12 text-center p-3 wizard-page-title-font\"},[_vm._v(_vm._s(_vm.$t(\"Install Obico\")))])]),_c('b-row',{staticClass:\"center mt-3 mb-5 pb-5\"},[_c('div',{staticClass:\"col-sm-12 col-lg-8\"},[_c('PrinterProgress',{attrs:{\"step\":1}})],1)]),_c('div',[(_vm.targetKlipperPreInstall)?_c('div',{staticClass:\"klipper-pre-install-wrap\"},[_c('img',{attrs:{\"src\":require(\"@static/img/printer-wizard/commandLinePrompt.png\"),\"alt\":\"\"}}),_c('div',{staticClass:\"text-wrap\"},[_c('h3',[_vm._v(_vm._s(_vm.$t(\"Install Obico for Klipper\")))]),_c('ol',{staticClass:\"secondary-font\"},[_c('li',[_c('a',{attrs:{\"href\":_vm.getDocUrl('/user-guides/klipper-setup/'),\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t(\"Find the Guide for Your Printer to install Obico for Klipper.\")))])]),_c('li',[_vm._v(_vm._s(_vm.$t('SSH to your device.')))]),_c('li',[_vm._v(_vm._s(_vm.$t('Enter the installation commands.')))]),_c('li',[_vm._v(_vm._s(_vm.$t('Alternatively, you can use KIAUH to install Obico.')))]),_c('li',[_vm._v(_vm._s(_vm.$t('Upon \"Scanning the networking...\", come back here and click \"Next\".')))])])])]):_vm._e(),(_vm.targetOctoPrint)?_c('div',{staticClass:\"kilpper-pre-install-wrap\"},[_c('img',{staticClass:\"octoprint-image\",attrs:{\"src\":require(\"@static/img/octoprint-plugin-guide/install_plugin.png\"),\"alt\":\"\"}}),_c('div',{staticClass:\"text-wrap\"},[_c('h3',[_vm._v(_vm._s(_vm.$t(\"Install Obico for OctoPrint\")))]),_c('ol',{staticClass:\"secondary-font\"},[_c('li',[_vm._v(_vm._s(_vm.$t(\"Open OctoPrint in another browser tab.\")))]),_c('li',[_vm._v(\" \"+_vm._s(_vm.$t(\"Select\"))+\" \"),_c('em',[_vm._v(\"\\\"\"+_vm._s(_vm.$t(\"OctoPrint settings menu → Plugin Manager → Get More...\"))+\"\\\"\")]),_vm._v(\". \")]),_c('li',[_vm._v(_vm._s(_vm.$t(\"Enter '{brandName}' to locate the plugin. Click\", { brandName: _vm.$syndicateText.brandName }))+\" \"),_c('em',[_vm._v(\"\\\"\"+_vm._s(_vm.$t(\"Install\"))+\"\\\"\")]),_vm._v(\".\")]),_c('li',[_vm._v(_vm._s(_vm.$t(\"Restart OctoPrint when prompted.\")))])])])]):_vm._e()]),(_vm.targetKlipperGeneric)?_c('div',{staticClass:\"kilpper-pre-install-wrap\"},[_c('img',{attrs:{\"src\":require(\"@static/img/klipper_logo.jpg\"),\"alt\":\"\"}}),_c('div',{staticClass:\"text-wrap\"},[_c('h3',[_vm._v(_vm._s(_vm.$t(\"Install Obico for Klipper\")))]),_c('ol',{staticClass:\"secondary-font\"},[_c('li',[_vm._v(_vm._s(_vm.$t(\"SSH to the Raspberry Pi (or other SBC) your Klipper runs on.\")))]),_c('li',[_c('div',[_vm._v(_vm._s(_vm.$t(\"Run:\")))]),_c('pre',{staticClass:\"mt-2\"},[_vm._v(\" cd ~\\n git clone https://github.com/TheSpaghettiDetective/moonraker-obico.git\\n cd moonraker-obico\\n ./install.sh\\n \")])]),_c('li',[_vm._v(_vm._s(_vm.$t('Alternatively, you can use KIAUH to install Obico.')))]),_c('li',[_vm._v(_vm._s(_vm.$t('Upon \"Scanning the networking...\", come back here and click \"Next\".')))])])])]):_vm._e(),(_vm.printerItem)?_c('div',{staticClass:\"printer-item\"},[_c('div',{staticClass:\"printer-left\"},[_c('h5',[_vm._v(_vm._s(_vm.printerItem.brand +\" \" + _vm.printerItem.model))]),_c('div',{staticClass:\"img-wrap\"},[_c('img',{attrs:{\"src\":_vm.printerItem.image_url,\"alt\":\"\"}})])]),_c('div',{staticClass:\"line\"}),_c('div',{staticClass:\"printer-right\"},[_c('ol',[_c('li',[_vm._v(_vm._s(_vm.$t('1. Unbox and assemble the 3D printer following the manufacturers instructions')))]),_c('li',[_vm._v(_vm._s(_vm.$t('2. Power on the 3D printer and make sure it is connected to WiFi.')))]),_c('li',[_vm._v(_vm._s(_vm.$t('3. Tap “Next” when you are ready.')))])])])]):_vm._e(),_c('div',{staticClass:\"d-flex justify-content-between align-items-center button-wrap\"},[_c('div',{staticClass:\"back\",on:{\"click\":function($event){return _vm.$router.back()}}},[_c('i',{staticClass:\"fas fa-chevron-left\"}),_c('span',[_vm._v(\" \"+_vm._s(_vm.$t(\"Back\")))])]),_c('b-button',{attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.goForward}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Next\"))+\" \")])],1),_c('div',{staticClass:\"text-center mt-5 wizard-default-font\"},[_c('i18next',{attrs:{\"translation\":_vm.$t(`Need help? Check out the {localizedDom}`)},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('a',{attrs:{\"target\":\"_blank\",\"href\":_vm.targetKlipper? _vm.getDocUrl('/user-guides/klipper-setup/'):_vm.getDocUrl('/user-guides/octoprint-plugin-setup/')}},[_vm._v(_vm._s(_vm.$t(\"step-by-step set up guide\"))+\".\")])]},proxy:true}])})],1)],1)])],1)],1)]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ObicoInstallationGuidePage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ObicoInstallationGuidePage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ObicoInstallationGuidePage.vue?vue&type=template&id=0503971a&scoped=true&\"\nimport script from \"./ObicoInstallationGuidePage.vue?vue&type=script&lang=js&\"\nexport * from \"./ObicoInstallationGuidePage.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ObicoInstallationGuidePage.vue?vue&type=style&index=0&id=0503971a&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0503971a\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('page-layout',{scopedSlots:_vm._u([{key:\"content\",fn:function(){return [_c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-12 p-4\"},[_c('div',{staticClass:\"form-container full-on-mobile border-radius-lg\"},[(_vm.verifiedPrinter)?_c('div',{staticClass:\"text-center py-5\"},[_c('svg',{staticClass:\"success-checkmark\"},[_c('use',{attrs:{\"href\":\"#svg-success-checkmark\"}})]),_c('h3',{staticClass:\"pb-4\"},[_vm._v(_vm._s(_vm.$t(\"Successfully linked to your account!\")))]),_c('div',{staticClass:\"col-sm-12 col-md-8 offset-md-2 col-lg-6 offset-lg-3 d-flex flex-column align-center justify-content-center\"},[_c('saving-animation',{attrs:{\"errors\":_vm.errorMessages.printer_name,\"saving\":_vm.saving.printer_name}},[_c('div',{staticClass:\"printer-name-input\"},[_c('div',{staticClass:\"edit-icon\"},[_c('i',{staticClass:\"fas fa-pen\"})]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.verifiedPrinter.name),expression:\"verifiedPrinter.name\"}],staticClass:\"dark\",attrs:{\"type\":\"text\",\"placeholder\":_vm.$t('Printer name')},domProps:{\"value\":(_vm.verifiedPrinter.name)},on:{\"input\":[function($event){if($event.target.composing)return;_vm.$set(_vm.verifiedPrinter, \"name\", $event.target.value)},_vm.updatePrinterName]}})])]),_c('div',[_c('div',{staticClass:\"text-muted mx-auto text-center font-weight-light\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Give your printer a shiny name.\"))+\" \")])])],1),_c('br'),_c('br'),_c('div',{staticClass:\"col-sm-12 col-md-8 offset-md-2 col-lg-6 offset-lg-3 d-flex flex-column align-center justify-content-center\"},[(_vm.redirectToTunnelCreation)?_c('div',{staticClass:\"mt-4\"},[_c('a',{staticClass:\"btn btn-primary btn-block mx-auto btn-lg\",attrs:{\"href\":_vm.redirectToTunnelCreation}},[_vm._v(_vm._s(_vm.$t(\"Authorize App Access\")))])]):_c('div',[_c('div',{staticClass:\"mt-4\"},[_c('a',{staticClass:\"btn btn-primary btn-block mx-auto btn-lg\",attrs:{\"href\":\"/printers/\"}},[_vm._v(_vm._s(_vm.$t(\"Go Check Out Printer Feed!\")))])]),_c('div',{staticClass:\"mt-5\"},[_c('a',{staticClass:\"btn btn-outline-secondary btn-block mx-auto\",attrs:{\"href\":\"/user_preferences/notification_twilio/\"}},[_vm._v(_vm._s(_vm.$t(\"Add Phone Number\")))])]),_c('div',[_c('div',{staticClass:\"text-muted mx-auto text-center font-weight-light\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Receive text (SMS) in case of print failures.\"))+\" \")])]),_c('div',{staticClass:\"mt-4\"},[_c('a',{staticClass:\"btn btn-outline-secondary btn-block mx-auto\",attrs:{\"href\":_vm.editPrinterUrl}},[_vm._v(_vm._s(_vm.$t(\"Change Printer Settings\")))])]),_c('div',[_c('div',{staticClass:\"text-muted mx-auto text-center font-weight-light\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"You can always change it later.\"))+\" \")])])])])]):_vm._e()])])])])]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddPrinterSuccessPage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddPrinterSuccessPage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AddPrinterSuccessPage.vue?vue&type=template&id=d840a164&scoped=true&\"\nimport script from \"./AddPrinterSuccessPage.vue?vue&type=script&lang=js&\"\nexport * from \"./AddPrinterSuccessPage.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d840a164\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('page-layout',{scopedSlots:_vm._u([{key:\"topBarLeft\",fn:function(){return [_c('div',{staticClass:\"printer-name truncated\"},[_vm._v(\" \"+_vm._s(_vm.printer ? _vm.printer.name : '')+\" \")])]},proxy:true},{key:\"topBarRight\",fn:function(){return [(_vm.printer)?_c('div',{staticClass:\"action-panel\"},[_c('a',{staticClass:\"btn shadow-none action-btn icon-btn\",attrs:{\"href\":\"#\",\"title\":\"Share\"},on:{\"click\":function($event){$event.preventDefault();return _vm.onSharePrinter()}}},[_c('i',{staticClass:\"fas fa-share-alt fa-lg\"}),_c('span',{staticClass:\"sr-only\"},[_vm._v(_vm._s(_vm.$t(\"Share\")))])]),_c('a',{staticClass:\"btn shadow-none action-btn icon-btn\",attrs:{\"href\":`/tunnels/${_vm.printer.id}/`,\"title\":\"OctoPrint Tunnel\"}},[_c('svg',{staticClass:\"custom-svg-icon\"},[_c('use',{attrs:{\"href\":\"#svg-tunnel\"}})]),_c('span',{staticClass:\"sr-only\"},[_vm._v(_vm._s(_vm.$t(\"OctoPrint Tunnel\")))])]),_c('a',{staticClass:\"btn shadow-none action-btn icon-btn\",attrs:{\"href\":`/printers/${_vm.printer.id}/`,\"title\":\"Configure\"}},[_c('i',{staticClass:\"fas fa-wrench\"}),_c('span',{staticClass:\"sr-only\"},[_vm._v(_vm._s(_vm.$t(\"Configure\")))])]),_c('b-dropdown',{attrs:{\"right\":\"\",\"no-caret\":\"\",\"toggle-class\":\"icon-btn d-md-none\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('i',{staticClass:\"fas fa-ellipsis-v\"})]},proxy:true}],null,false,3452768261)},[_c('cascaded-dropdown',{ref:\"cascadedDropdown\",attrs:{\"menu-options\":[\n {\n key: 'share',\n icon: 'fas fa-share-alt fa-lg',\n title: _vm.$t('Share'),\n callback: true,\n },\n {\n key: 'tunnel',\n svgIcon: 'svg-tunnel',\n title: _vm.$t('OctoPrint Tunnel'),\n href: `/tunnels/${_vm.printer.id}/`,\n },\n {\n key: 'settings',\n icon: 'fas fa-wrench',\n title: _vm.$t('Configure'),\n href: `/printers/${_vm.printer.id}/`,\n },\n ]},on:{\"menuOptionClicked\":_vm.onMenuOptionClicked}})],1)],1):_vm._e()]},proxy:true},{key:\"content\",fn:function(){return [(!_vm.printer)?_c('loading-placeholder'):_c('div',{staticClass:\"page-container\",attrs:{\"fluid\":\"\"}},[_c('div',{staticClass:\"widgets-container\"},[_vm._l((_vm.widgets),function(widget){return [(\n widget.enabled &&\n ((!_vm.printer.isOffline() && !_vm.printer.isDisconnected()) ||\n widget.component === 'PrintJobControlWidget')\n )?_c(widget.component,{key:widget.id,tag:\"component\",attrs:{\"printer\":_vm.printer,\"printer-comm\":_vm.printerComm,\"print\":_vm.lastPrint},on:{\"sendPrinterAction\":_vm.onSendPrinterAction,\"notAFailureClicked\":_vm.onNotAFailureClicked,\"updateSettings\":_vm.onUpdateSettings}}):_vm._e()]}),_c('div',{staticClass:\"extra-actions\"},[_c('h2',{staticClass:\"section-title\"},[_vm._v(_vm._s(_vm.$t(\"Additional Actions\")))]),_c('b-button',{staticClass:\"custom-button\",attrs:{\"variant\":\"outline-secondary\"},on:{\"click\":_vm.onReorderClicked}},[_c('i',{staticClass:\"fas fa-arrows-alt-v\"}),_vm._v(\" \"+_vm._s(_vm.$t(\"Reorder\"))+\" & \"+_vm._s(_vm.$t(\"Hide\"))+\" \")]),_c('div',{staticClass:\"text-muted extra-actions-explanation\"},[_c('small',[_vm._v(_vm._s(_vm.$t(\"Customize this page for each of your printers by reodering or hiding cards above.\")))])]),_c('b-button',{staticClass:\"custom-button\",attrs:{\"variant\":\"outline-primary\",\"href\":\"/printers/wizard/\"}},[_c('i',{staticClass:\"fas fa-plus\"}),_vm._v(\" \"+_vm._s(_vm.$t(\"Add Printer\"))+\" \")]),_c('div',{staticClass:\"text-muted extra-actions-explanation\"},[_c('small',[_vm._v(_vm._s(_vm.$t(\"Link another printer to {brandName}.\",{brandName:_vm.$syndicateText.brandName})))])])],1)],2),_c('div',{staticClass:\"stream-container\"},[_c('div',{staticClass:\"header-container\"},[_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t('Webcam')))]),_c('div',{staticClass:\"d-flex align-items-center\"},[(_vm.webcams.length > 1)?_c('b-dropdown',{staticClass:\"webcam-dropdown\",attrs:{\"block\":\"\",\"size\":\"sm\",\"variant\":\"link\",\"toggle-class\":\"text-decoration-none\",\"no-caret\":\"\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('i',{staticClass:\"fa fa-camera\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"+_vm._s(_vm.isAllWebcamSelected ? 'All' : _vm.selectedWebcam.name || 'Primary')+\" \"),_c('i',{staticClass:\"fa fa-chevron-down\",attrs:{\"aria-hidden\":\"true\"}})]},proxy:true}],null,false,223123733)},[_c('b-dropdown-text',{staticClass:\"small text-secondary\"},[_vm._v(_vm._s(_vm.$t(\"WEBCAM SELECTION\")))]),_vm._l((_vm.webcams),function(webcam,index){return _c('b-dropdown-item',{key:index,attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.chooseWebcam(index, webcam.stream_id)}}},[_vm._v(_vm._s(webcam.name || 'Primary'))])}),_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.chooseWebcam('all')}}},[_vm._v(_vm._s(_vm.$t('All')))])],2):_c('div',{staticClass:\"mr-3\"},[_c('i',{staticClass:\"fa fa-camera\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"+_vm._s(_vm.webcams.length ? _vm.webcams[0].name || 'Primary' : '')+\" \")])],1)]),_c('div',{staticClass:\"webcam-main\",class:{ 'justify-center' : _vm.isAllWebcamSelected, 'webcam-more-than-two' : _vm.isAllWebcamSelected && _vm.webcams.length > 2 }},_vm._l((_vm.webcams),function(webcam,index){return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isAllWebcamSelected ? true : (index === _vm.selectedWebcamIndex)),expression:\"isAllWebcamSelected ? true : (index === selectedWebcamIndex)\"}],key:index,ref:\"streamInner\",refInFor:true,staticClass:\"stream-inner\",class:_vm.isAllWebcamSelected ? (_vm.isAtleastOnePrinterPortrait ? 'two-webcam-portrait' : 'two-webcam-landscape') : (_vm.videoRotationDeg === 90 || _vm.videoRotationDeg === 270 ? 'single-webcam-portrait' : '')},[_c('streaming-box',{attrs:{\"printer\":_vm.printer,\"webrtc\":webcam.webrtc,\"autoplay\":_vm.user.is_pro,\"webcam\":webcam},on:{\"onRotateRightClicked\":(deg) => _vm.handleRotateRightClicked(deg, webcam.stream_id)}})],1)}),0)])])]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('widget-template',{scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_vm._v(_vm._s(_vm.isPrinting ? _vm.$t('Print Progress') : _vm.$t('Last Print')))]},proxy:true},{key:\"content\",fn:function(){return [_c('div',{staticClass:\"wrapper\"},[(_vm.print)?[_c('div',{staticClass:\"header\"},[_c('g-code-details',{staticClass:\"g-code-details\",attrs:{\"file\":_vm.print.g_code_file || { filename: _vm.print.filename },\"show-open-button\":_vm.print.g_code_file &&\n !_vm.print.g_code_file.resident_printer &&\n !_vm.print.g_code_file.deleted,\"show-details\":false}})],1),_c('div',{staticClass:\"content\"},[_c('div',{staticClass:\"details\"},[(!_vm.isPrinting)?[_c('div',{staticClass:\"info-line no-border\"},[_c('div',{staticClass:\"label\"},[_c('div',{staticClass:\"icon\"},[_c('i',{staticClass:\"fas fa-info\"})]),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Status\")))])]),_c('div',{staticClass:\"value\"},[(!_vm.print.status.isActive)?_c('div',{staticClass:\"print-status-color\",class:_vm.print.status.key},[_vm._v(\" \"+_vm._s(_vm.print.status.title)+\" \")]):_c('b-spinner',{attrs:{\"small\":\"\"}})],1)]),_c('div',{staticClass:\"info-line\"},[_c('div',{staticClass:\"label\"},[_c('div',{staticClass:\"icon\"},[_c('i',{staticClass:\"far fa-clock\"})]),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Started\")))])]),_c('div',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.print.started_at.format('MMM D, YYYY h:mm a')))])]),_c('div',{staticClass:\"info-line\"},[_c('div',{staticClass:\"label\"},[_c('div',{staticClass:\"icon\"},[_c('i',{staticClass:\"fas fa-clock\"})]),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Duration\")))])]),(!_vm.print.status.isActive)?_c('div',{staticClass:\"value\"},[_vm._v(\" \"+_vm._s(_vm.print.duration || '-')+\" \")]):_c('b-spinner',{attrs:{\"small\":\"\"}})],1)]:[(_vm.isPrinting)?_c('div',{staticClass:\"progress-container\"},[_c('div',{staticClass:\"progress-bar-wrapper\"},[_c('div',{staticClass:\"progress-bar-inner\",style:(`width: ${_vm.printProgressPercentage}%`)})]),_c('div',{staticClass:\"percentage-progress\"},[_vm._v(_vm._s(_vm.printProgressPercentage)+\"%\")])]):_vm._e(),_c('div',{staticClass:\"info-line no-border\"},[_c('div',{staticClass:\"label\"},[_c('div',{staticClass:\"icon\"},[_c('i',{staticClass:\"fas fa-info\"})]),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Status\")))])]),_c('div',{staticClass:\"value\",class:'text-' + _vm.printer.calculatedStateColor()},[_vm._v(\" \"+_vm._s(_vm.printer.calculatedState())+\" \")])]),_c('div',{staticClass:\"info-line\"},[_c('div',{staticClass:\"label\"},[_c('div',{staticClass:\"icon\"},[_c('font-awesome-icon',{attrs:{\"icon\":['fas', 'layer-group']}})],1),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Layer\")))])]),_c('div',{staticClass:\"value\"},[_vm._v(\" \"+_vm._s(_vm.layerProgress)+\" \")])]),_c('div',{staticClass:\"info-line\"},[_c('div',{staticClass:\"label\"},[_c('div',{staticClass:\"icon\"},[_c('i',{staticClass:\"fas fa-stopwatch\"})]),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Remaining\")))])]),_c('div',{staticClass:\"value\"},[(_vm.secondsLeft)?_c('span',[_vm._v(_vm._s(_vm.humanizedDuration(_vm.secondsLeft)))]):_c('span',{staticClass:\"text-secondary\"},[_vm._v(_vm._s(_vm.$t(\"Calculating...\")))])])]),_c('div',{staticClass:\"info-line\"},[_c('div',{staticClass:\"label\"},[_c('div',{staticClass:\"icon\"},[_c('i',{staticClass:\"fas fa-flag-checkered\"})]),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Finishing at\")))])]),_c('div',{staticClass:\"value\"},[(_vm.finishingAt)?_c('span',[_vm._v(_vm._s(_vm.finishingAt))]):_c('span',{staticClass:\"text-secondary\"},[_vm._v(_vm._s(_vm.$t(\"Calculating...\")))])])]),_c('collapsable-details',[_c('div',{staticClass:\"info-line\"},[_c('div',{staticClass:\"label\"},[_c('div',{staticClass:\"icon\"},[_c('i',{staticClass:\"fas fa-clock\"})]),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Started\")))])]),_c('div',{staticClass:\"value\"},[_vm._v(\" \"+_vm._s(_vm.print.started_at.format(_vm.DATE_TIME_FORMAT))+\" \")])]),_c('div',{staticClass:\"info-line\"},[_c('div',{staticClass:\"label\"},[_c('div',{staticClass:\"icon\"},[_c('i',{staticClass:\"fas fa-stopwatch\"})]),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Elapsed\")))])]),_c('div',{staticClass:\"value\"},[(_vm.timeElapsed)?_c('span',[_vm._v(_vm._s(_vm.timeElapsed))]):_c('b-spinner',{attrs:{\"small\":\"\"}})],1)]),_c('div',{staticClass:\"info-line\"},[_c('div',{staticClass:\"label\"},[_c('div',{staticClass:\"icon\"},[_c('font-awesome-icon',{attrs:{\"icon\":['fas', 'ruler-vertical']}})],1),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Z-height\")))])]),_c('div',{staticClass:\"value\"},[_vm._v(\" \"+_vm._s(_vm.mmProgress)+\" \")])]),_c('div',{staticClass:\"info-line\"},[_c('div',{staticClass:\"label\"},[_c('div',{staticClass:\"icon\"},[_c('i',{staticClass:\"fas fa-stopwatch\"})]),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Total time\")))])]),(_vm.timeTotal)?_c('div',{staticClass:\"value\"},[_vm._v(\" \"+_vm._s(_vm.timeTotal)+\" \")]):_c('span',{staticClass:\"text-secondary\"},[_vm._v(_vm._s(_vm.$t(\"Calculating...\")))])]),(_vm.print.filament_used)?_c('div',{staticClass:\"info-line\"},[_c('div',{staticClass:\"label\"},[_c('div',{staticClass:\"icon\"},[_c('font-awesome-icon',{attrs:{\"icon\":['fas', 'ruler-vertical']}})],1),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Total filament\")))])]),_c('div',{staticClass:\"value\"},[_vm._v(\" \"+_vm._s(_vm.humanizedFilamentUsage(_vm.print.filament_used))+\" \")])]):_vm._e()])]],2),(!_vm.isPrinting)?_c('div',{staticClass:\"actions\"},[_c('b-button',{staticClass:\"custom-button\",attrs:{\"variant\":\"outline-secondary\",\"href\":`/prints/${_vm.print.id}`}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Open Print\"))+\" \")]),(_vm.file.url)?_c('b-button',{staticClass:\"custom-button\",attrs:{\"variant\":\"secondary\",\"disabled\":_vm.isPrintStarting},on:{\"click\":_vm.onRepeatClicked}},[(_vm.isPrintStarting)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_c('i',{staticClass:\"fas fa-redo\"}),_vm._v(\" \"+_vm._s(_vm.$t(\"Reprint\"))+\" \")],1):_vm._e()],1):_vm._e()])]:[_c('p',{staticClass:\"empty-state-text\"},[_vm._v(_vm._s(_vm.$t(\"No prints found\")))])]],2)]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintProgressWidget.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintProgressWidget.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PrintProgressWidget.vue?vue&type=template&id=951008e4&scoped=true&\"\nimport script from \"./PrintProgressWidget.vue?vue&type=script&lang=js&\"\nexport * from \"./PrintProgressWidget.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PrintProgressWidget.vue?vue&type=style&index=0&id=951008e4&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"951008e4\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('widget-template',{scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_vm._v(_vm._s(_vm.$t(\"Failure Detection\")))]},proxy:true},{key:\"content\",fn:function(){return [_c('div',{staticClass:\"wrapper\"},[(_vm.isEnt)?_c('div',{staticClass:\"dh-balance-wrapper\"},[_c('a',{staticClass:\"btn shadow-none action-btn icon-btn hours-btn\",style:({ marginRight: `${String(_vm.dhBadgeNum).length * 0.25}rem` }),attrs:{\"href\":\"/user_preferences/dh/\",\"title\":_vm.dhBadgeNum + ' '+_vm.$t('AI Detection Hours')}},[_c('svg',{staticClass:\"custom-svg-icon\"},[_c('use',{attrs:{\"href\":\"#svg-hour-glass\"}})]),_c('span',{staticClass:\"badge badge-light\",attrs:{\"id\":\"user-credits\"}},[_vm._v(_vm._s(_vm.dhBadgeNum))]),_c('span',{staticClass:\"sr-only\"},[_vm._v(_vm._s(_vm.$t(\"AI Detection Hours\")))])])]):_vm._e(),_c('div',{staticClass:\"header\"},[_c('div',{staticClass:\"gauge-wrapper\"},[_c('failure-detection-gauge',{attrs:{\"normalized-p\":_vm.printer.normalized_p,\"is-watching\":_vm.isWatching}})],1),(_vm.printer.not_watching_reason)?_c('div',{staticClass:\"overlay-info\"},[_c('muted-alert',{staticClass:\"muted-alert\"},[_c('span',[_vm._v(_vm._s(_vm.$t(\"Not watching\"))+\" (\"+_vm._s(_vm.printer.not_watching_reason)+\"). \"),_c('a',{attrs:{\"href\":_vm.getDocUrl('/user-guides/detective-not-watching/'),\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t(\"Learn all possible reasons\"))+\" \"),_c('small',[_c('i',{staticClass:\"fas fa-external-link-alt\"})])])])])],1):_vm._e()]),_c('div',{staticClass:\"controls\"},[_c('div',{staticClass:\"line\"},[_c('label',{staticClass:\"label\",attrs:{\"for\":'watching_enabled-toggle-' + _vm.printer.id}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Enable AI failure detection\"))+\" \"),(!_vm.enableFailureDetection)?_c('div',{staticClass:\"text-muted\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"AI failure detection is disabled. You are on your own.\"))+\" \")]):_vm._e()]),_c('div',{staticClass:\"switch\"},[_c('div',{staticClass:\"custom-control custom-switch\"},[_c('input',{staticClass:\"custom-control-input update-printer\",attrs:{\"id\":'watching_enabled-toggle-' + _vm.printer.id,\"type\":\"checkbox\",\"name\":\"watching_enabled\"},domProps:{\"checked\":_vm.enableFailureDetection},on:{\"click\":_vm.onFailureDetectionToggled}}),_c('label',{staticClass:\"custom-control-label\",staticStyle:{\"font-size\":\"1rem\"},attrs:{\"for\":'watching_enabled-toggle-' + _vm.printer.id}})])])]),_c('div',{staticClass:\"line\"},[_c('label',{staticClass:\"label\",attrs:{\"for\":'pause_on_failure-toggle-' + _vm.printer.id}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Pause on detected failures\"))+\" \"),(!_vm.pauseOnFailure)?_c('div',{staticClass:\"text-muted\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"You will still be alerted via notifications.\"))+\" \")]):_vm._e()]),_c('div',{staticClass:\"switch\"},[_c('div',{staticClass:\"custom-control custom-switch\"},[_c('input',{staticClass:\"custom-control-input update-printer\",attrs:{\"id\":'pause_on_failure-toggle-' + _vm.printer.id,\"type\":\"checkbox\",\"name\":\"pause_on_failure\"},domProps:{\"checked\":_vm.pauseOnFailure},on:{\"click\":_vm.onPauseOnFailureToggled}}),_c('label',{staticClass:\"custom-control-label\",staticStyle:{\"font-size\":\"1rem\"},attrs:{\"for\":'pause_on_failure-toggle-' + _vm.printer.id}})])])])]),(_vm.printer.alertUnacknowledged())?_c('div',{staticClass:\"failure-detected-message\"},[_c('div',{staticClass:\"warning-message\"},[_c('i',{staticClass:\"fas fa-exclamation-triangle\"}),_vm._v(\" \"+_vm._s(_vm.$t(\"Failure Detected!\"))+\" \")]),_c('b-button',{attrs:{\"variant\":\"outline-warning custom-button\"},on:{\"click\":function($event){return _vm.onNotAFailureClicked($event)}}},[_vm._v(_vm._s(_vm.$t(\"Not a Failure?\")))])],1):_vm._e()])]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FailureDetectionWidget.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FailureDetectionWidget.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FailureDetectionWidget.vue?vue&type=template&id=6fe2ac18&scoped=true&\"\nimport script from \"./FailureDetectionWidget.vue?vue&type=script&lang=js&\"\nexport * from \"./FailureDetectionWidget.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FailureDetectionWidget.vue?vue&type=style&index=0&id=6fe2ac18&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6fe2ac18\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('widget-template',{scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_vm._v(_vm._s(_vm.$t(\"Temperature Controls\")))]},proxy:true},{key:\"content\",fn:function(){return [_vm._t(\"content\",function(){return [_c('div',{staticClass:\"wrapper\"},[(_vm.show)?[_vm._l((_vm.temperatures),function(item,key){return _c('temperature-item',{key:key,attrs:{\"temp-key\":key,\"temp-item\":item,\"is-plugin-version-sufficient\":_vm.isPluginVersionSufficient},on:{\"TempEditClicked\":function($event){return _vm.onEditClicked(key, item)}}})}),(_vm.isPluginVersionSufficient)?_c('b-button',{staticClass:\"custom-button\",attrs:{\"variant\":\"outline-primary\"},on:{\"click\":_vm.onTemperaturePresetsClicked}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Temperature Presets\"))+\" \")]):_vm._e()]:[_c('div',{staticClass:\"text-center mt-4\"},[_c('b-spinner'),_c('p',{staticClass:\"mt-2\"},[_vm._v(_vm._s(_vm.$t(\"Loading temperature...\")))])],1)]],2)]})]},proxy:true}],null,true)})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',[_c('h5',[_vm._v(_vm._s(_vm.$t(\"Presets\"))+\":\")])]),_c('div',[_c('b-form-select',{staticClass:\"form-control\",attrs:{\"id\":\"id_preset\"},model:{value:(_vm.currentPreset),callback:function ($$v) {_vm.currentPreset=$$v},expression:\"currentPreset\"}},_vm._l((_vm.allPresets),function(pre){return _c('b-form-select-option',{key:pre.name,attrs:{\"value\":pre.name}},[_vm._v(\" \"+_vm._s(pre.name)+\" \")])}),1)],1),_c('muted-alert',{staticClass:\"mt-4 mb-1\"},[_vm._v(\" \"+_vm._s(_vm.$t('Temperature presets can be edited or added in {agentName} settings.',{agentName: _vm.agentName}))+\" \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.currentPreset),expression:\"currentPreset\"}],attrs:{\"id\":\"selected-preset\",\"type\":\"hidden\"},domProps:{\"value\":(_vm.currentPreset)},on:{\"input\":function($event){if($event.target.composing)return;_vm.currentPreset=$event.target.value}}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TempPresets.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TempPresets.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TempPresets.vue?vue&type=template&id=e2a0ab0e&\"\nimport script from \"./TempPresets.vue?vue&type=script&lang=js&\"\nexport * from \"./TempPresets.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TemperatureWidget.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TemperatureWidget.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TemperatureWidget.vue?vue&type=template&id=6556ed7d&scoped=true&\"\nimport script from \"./TemperatureWidget.vue?vue&type=script&lang=js&\"\nexport * from \"./TemperatureWidget.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TemperatureWidget.vue?vue&type=style&index=0&id=6556ed7d&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6556ed7d\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('widget-template',{scopedSlots:_vm._u([{key:\"title\",fn:function(){return [(_vm.activeMenu)?_c('div',{staticClass:\"nav-btn\",on:{\"click\":function($event){_vm.activeMenu = null}}},[_c('i',{staticClass:\"fas fa-arrow-left\"}),_vm._v(\"  \"+_vm._s(_vm.$t(\"Back\"))+\" \")]):_c('span',[_vm._v(_vm._s(_vm.$t(\"Printer Controls\")))])]},proxy:true},{key:\"content\",fn:function(){return [_c('div',{staticClass:\"wrapper\"},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.activeMenu),expression:\"!activeMenu\"}],staticClass:\"home-menu\"},[_c('button',{staticClass:\"menu-button\",attrs:{\"disabled\":_vm.printer.isActive()},on:{\"click\":function($event){_vm.activeMenu = 'move-head'}}},[_c('svg',{staticClass:\"icon move-xy\"},[_c('use',{attrs:{\"href\":\"#svg-move-xy\"}})]),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Move Head\")))])]),_c('button',{staticClass:\"menu-button\",attrs:{\"disabled\":_vm.printer.isActive()},on:{\"click\":function($event){_vm.activeMenu = 'extrude'}}},[_c('svg',{staticClass:\"icon extruder\"},[_c('use',{attrs:{\"href\":\"#extruder\"}})]),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Extrude\")))])]),(_vm.printer.isAgentMoonraker())?_c('button',{staticClass:\"menu-button\",on:{\"click\":function($event){_vm.activeMenu = 'baby-step-z'}}},[_c('svg',{staticClass:\"icon move-z\"},[_c('use',{attrs:{\"href\":\"#svg-move-z\"}})]),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Baby Step Z\")))])]):_vm._e(),(!_vm.hideTunePrinter)?_c('button',{staticClass:\"menu-button\",on:{\"click\":function($event){_vm.activeMenu = 'tune-printer'}}},[_c('font-awesome-icon',{attrs:{\"icon\":['fas', 'gear']}}),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Tune Printer\")))])],1):_vm._e(),(_vm.powerDevices.length)?_c('button',{staticClass:\"menu-button\",on:{\"click\":function($event){_vm.activeMenu = 'power-control'}}},[_c('font-awesome-icon',{attrs:{\"icon\":['fas', 'power-off']}}),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"Power\")))])],1):_vm._e()]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.activeMenu === 'move-head'),expression:\"activeMenu === 'move-head'\"}],staticClass:\"control-panel move-head\"},[_c('div',{staticClass:\"main\"},[_c('div',{staticClass:\"toggles\"},_vm._l((_vm.xyzJogDistance.options),function(option){return _c('div',{key:'xyz-' + option,staticClass:\"pill\",class:{ active: option === _vm.xyzJogDistance.value },on:{\"click\":function($event){_vm.xyzJogDistance.value = option}}},[_vm._v(\" \"+_vm._s(option)+\" \")])}),0),_c('div',{staticClass:\"xy-move\"},[_c('div',{staticClass:\"left\",on:{\"click\":function($event){return _vm.xyzControl(_vm.axis.x, _vm.directions.down)}}},[_c('i',{staticClass:\"fas fa-arrow-left\"})]),_c('div',{staticClass:\"right\",on:{\"click\":function($event){return _vm.xyzControl(_vm.axis.x, _vm.directions.up)}}},[_c('i',{staticClass:\"fas fa-arrow-right\"})]),_c('div',{staticClass:\"up\",on:{\"click\":function($event){return _vm.xyzControl(_vm.axis.y, _vm.directions.up)}}},[_c('i',{staticClass:\"fas fa-arrow-up\"})]),_c('div',{staticClass:\"down\",on:{\"click\":function($event){return _vm.xyzControl(_vm.axis.y, _vm.directions.down)}}},[_c('i',{staticClass:\"fas fa-arrow-down\"})]),_c('div',{staticClass:\"home\",on:{\"click\":function($event){return _vm.xyzControl(_vm.axis.xy, _vm.directions.home)}}},[_c('i',{staticClass:\"fas fa-home\"})])]),_c('div',{staticClass:\"z-move\"},[_c('div',{staticClass:\"up\",on:{\"click\":function($event){return _vm.xyzControl(_vm.axis.z, _vm.directions.up)}}},[_c('i',{staticClass:\"fas fa-arrow-up\"})]),_c('div',{staticClass:\"down\",on:{\"click\":function($event){return _vm.xyzControl(_vm.axis.z, _vm.directions.down)}}},[_c('i',{staticClass:\"fas fa-arrow-down\"})]),_c('div',{staticClass:\"home\",on:{\"click\":function($event){return _vm.xyzControl(_vm.axis.z, _vm.directions.home)}}},[_c('i',{staticClass:\"fas fa-home\"})])])]),_c('div',{staticClass:\"additional\"},[_c('div',{staticClass:\"control-btn\",on:{\"click\":_vm.homeAll}},[_c('i',{staticClass:\"fas fa-home\"}),_vm._v(_vm._s(_vm.$t(\" Home All\")))]),_c('div',{staticClass:\"control-btn\",on:{\"click\":_vm.disableSteppers}},[_c('i',{staticClass:\"fas fa-power-off\"}),_vm._v(\" \"+_vm._s(_vm.$t(\"Disable Steppers\"))+\" \")])])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.activeMenu === 'extrude'),expression:\"activeMenu === 'extrude'\"}],staticClass:\"control-panel extrude\"},[_c('div',{staticClass:\"main\"},[(_vm.showExtrudeControl)?[_c('div',{staticClass:\"toggles\"},_vm._l((_vm.extrudeJogDistance.options),function(option){return _c('div',{key:'xyz-' + option,staticClass:\"pill\",class:{ active: option === _vm.extrudeJogDistance.value },on:{\"click\":function($event){_vm.extrudeJogDistance.value = option}}},[_vm._v(\" \"+_vm._s(option)+\" \")])}),0),_c('div',{staticClass:\"main-buttons\"},[_c('div',{staticClass:\"control-btn\",on:{\"click\":function($event){return _vm.handleFilament(_vm.filamentDirections.retract)}}},[_c('i',{staticClass:\"fas fa-minus\"}),_vm._v(\" \"+_vm._s(_vm.$t(\"Retract\"))+\" \")]),_c('div',{staticClass:\"control-btn\",on:{\"click\":function($event){return _vm.handleFilament(_vm.filamentDirections.extrude)}}},[_c('i',{staticClass:\"fas fa-plus\"}),_vm._v(\" \"+_vm._s(_vm.$t(\"Extrude\"))+\" \")])])]:[_c('div',{staticClass:\"text-center mt-4\"},[_c('b-spinner'),_c('p',{staticClass:\"mt-2\"},[_vm._v(_vm._s(_vm.$t(\"Loading tools...\")))])],1)]],2),(_vm.showToolsSelector)?_c('div',{staticClass:\"additional\"},[_c('b-form-select',{staticClass:\"form-control tool-select\",model:{value:(_vm.activeTool),callback:function ($$v) {_vm.activeTool=$$v},expression:\"activeTool\"}},_vm._l((_vm.tools),function(item,key){return _c('b-form-select-option',{key:key,attrs:{\"value\":key}},[_vm._v(\" \"+_vm._s(_vm.temperatureDisplayName(key))+\" \")])}),1)],1):_vm._e()]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.activeMenu === 'baby-step-z'),expression:\"activeMenu === 'baby-step-z'\"}],staticClass:\"control-panel baby-step-z\"},[_c('div',{staticClass:\"main\"},[_c('div',{staticClass:\"toggles\"},_vm._l((_vm.zOffsetJogDistance.options),function(option){return _c('div',{key:'xyz-' + option,staticClass:\"pill\",class:{ active: option === _vm.zOffsetJogDistance.value },on:{\"click\":function($event){_vm.zOffsetJogDistance.value = option}}},[_vm._v(\" \"+_vm._s(option)+\" \")])}),0),_c('div',{staticClass:\"z-move\"},[_c('div',{staticClass:\"up\",on:{\"click\":function($event){return _vm.controlZOffset(_vm.directions.up)}}},[_c('i',{staticClass:\"fas fa-arrow-up\"})]),_c('div',{staticClass:\"down\",on:{\"click\":function($event){return _vm.controlZOffset(_vm.directions.down)}}},[_c('i',{staticClass:\"fas fa-arrow-down\"})])])]),_c('div',{staticClass:\"additional\"},[_c('div',{staticClass:\"current-offset\"},[_c('div',{staticClass:\"label\"},[_vm._v(_vm._s(_vm.$t(\"Current Offset\")))]),_c('div',{staticClass:\"value\"},[(_vm.currentZOffset || typeof _vm.currentZOffset === 'number')?_c('span',[_vm._v(\" \"+_vm._s(_vm.currentZOffset)+\" \")]):_c('span',[_c('b-spinner',{attrs:{\"small\":\"\"}})],1)])])])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.activeMenu === 'tune-printer'),expression:\"activeMenu === 'tune-printer'\"}],staticClass:\"control-panel tune-printer\"},[(!_vm.printer.isAgentMoonraker() || _vm.currentFeedRate !== null)?[_c('div',{staticClass:\"controls-title\"},[_c('span',[_vm._v(_vm._s(_vm.$t(\"Feed Rate / Speed\")))]),_c('help-widget',{staticClass:\"help-message\",attrs:{\"id\":\"print-speed-widget-help\"}})],1),_c('div',{staticClass:\"controls\"},[_c('div',{staticClass:\"custom\"},[_c('b-input-group',{attrs:{\"prepend\":\"%\"},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('b-button',{attrs:{\"variant\":\"background\",\"disabled\":_vm.customFeedRateFactor === null || parseInt(_vm.customFeedRateFactor) < 1},on:{\"click\":function($event){return _vm.setPrintSpeed(_vm.customFeedRateFactor)}}},[_vm._v(_vm._s(_vm.$t(\"Apply\")))])]},proxy:true}],null,false,3696614275)},[_c('b-form-input',{attrs:{\"placeholder\":\"100\",\"type\":\"number\"},on:{\"focus\":function($event){return $event.target.select()}},model:{value:(_vm.customFeedRateFactor),callback:function ($$v) {_vm.customFeedRateFactor=$$v},expression:\"customFeedRateFactor\"}})],1)],1)])]:_vm._e(),(!_vm.printer.isAgentMoonraker() || _vm.currentFlowRate !== null)?[_c('div',{staticClass:\"controls-title\"},[_c('span',[_vm._v(_vm._s(_vm.$t(\"Flow Rate\")))]),_c('help-widget',{staticClass:\"help-message\",attrs:{\"id\":\"flow-rate-widget-help\"}})],1),_c('div',{staticClass:\"controls\"},[_c('div',{staticClass:\"custom\"},[_c('b-input-group',{attrs:{\"prepend\":\"%\"},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('b-button',{attrs:{\"variant\":\"background\",\"disabled\":_vm.customFlowRateFactor === null || parseInt(_vm.customFlowRateFactor) < 1},on:{\"click\":function($event){return _vm.setFlowRate(_vm.customFlowRateFactor)}}},[_vm._v(_vm._s(_vm.$t(\"Apply\")))])]},proxy:true}],null,false,4188500917)},[_c('b-form-input',{attrs:{\"placeholder\":\"100\",\"type\":\"number\"},on:{\"focus\":function($event){return $event.target.select()}},model:{value:(_vm.customFlowRateFactor),callback:function ($$v) {_vm.customFlowRateFactor=$$v},expression:\"customFlowRateFactor\"}})],1)],1)])]:_vm._e(),(!_vm.printer.isAgentMoonraker() || _vm.currentFanSpeed !== null)?[_c('div',{staticClass:\"controls-title\"},[_c('span',[_vm._v(_vm._s(_vm.$t(\"Fan Speed\")))]),_c('help-widget',{staticClass:\"help-message\",attrs:{\"id\":\"fan-speed-widget-help\"}})],1),_c('div',{staticClass:\"controls\"},[_c('b-button',{staticClass:\"off\",attrs:{\"variant\":\"background\",\"small\":\"\"},on:{\"click\":function($event){{\n _vm.customFanSpeed = 0\n _vm.setFanSpeed(0)\n }}}},[_vm._v(_vm._s(_vm.$t(\"0% (Off)\")))]),_c('div',{staticClass:\"custom\"},[_c('b-input-group',{attrs:{\"prepend\":\"%\"},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('b-button',{attrs:{\"variant\":\"background\",\"disabled\":_vm.customFanSpeed === null ||\n parseInt(_vm.customFanSpeed) > 100 ||\n parseInt(_vm.customFanSpeed) < 0},on:{\"click\":function($event){return _vm.setFanSpeed(_vm.customFanSpeed)}}},[_vm._v(_vm._s(_vm.$t(\"Apply\")))])]},proxy:true}],null,false,22301740)},[_c('b-form-input',{attrs:{\"placeholder\":\"0-100\",\"type\":\"number\"},on:{\"focus\":function($event){return $event.target.select()}},model:{value:(_vm.customFanSpeed),callback:function ($$v) {_vm.customFanSpeed=$$v},expression:\"customFanSpeed\"}})],1)],1),_c('b-button',{staticClass:\"btn\",attrs:{\"variant\":\"background\",\"small\":\"\"},on:{\"click\":function($event){{\n _vm.customFanSpeed = 100\n _vm.setFanSpeed(100)\n }}}},[_vm._v(\"100%\")])],1)]:_vm._e(),(!_vm.printer.isAgentMoonraker())?_c('muted-alert',{staticClass:\"info-block\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"These settings can only be set. They can't be read back from the firmware due to a limitation of the communication protocol.\"))+\" \")]):_vm._e()],2),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.activeMenu === 'power-control'),expression:\"activeMenu === 'power-control'\"}],staticClass:\"control-panel power-control\"},[_vm._l((_vm.powerDevices),function(item,index){return _c('div',{key:index,staticClass:\"power-item\"},[_c('div',{staticClass:\"title\"},[_c('div',{staticClass:\"name\"},[_vm._v(_vm._s(item.device))]),_c('div',{staticClass:\"status text-danger\",class:{ 'text-success': item.status.toUpperCase() === 'ON' }},[_vm._v(\" • \"+_vm._s(item.status.toUpperCase())+\" \")])]),_c('b-button',{attrs:{\"variant\":\"outline-primary\"},on:{\"click\":function($event){return _vm.togglePower(item)}}},[_vm._v(_vm._s(_vm.$t(\" Toggle Power \")))])],1)}),(_vm.powerDevices.length > 1)?_c('div',{staticClass:\"bulk-actions\"},[_c('b-button',{attrs:{\"variant\":\"success\"},on:{\"click\":function($event){return _vm.batchPowerControl('on')}}},[_vm._v(_vm._s(_vm.$t(\" Power On All \")))]),_c('b-button',{attrs:{\"variant\":\"danger\"},on:{\"click\":function($event){return _vm.batchPowerControl('off')}}},[_vm._v(_vm._s(_vm.$t(\" Power Off All \")))])],1):_vm._e(),_c('muted-alert',{staticClass:\"info-block\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Rapid toggling power may result in error. Please allow a cooldown period.\"))+\" \")])],2)])]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterControlWidget.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterControlWidget.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PrinterControlWidget.vue?vue&type=template&id=ca2fb97c&scoped=true&\"\nimport script from \"./PrinterControlWidget.vue?vue&type=script&lang=js&\"\nexport * from \"./PrinterControlWidget.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PrinterControlWidget.vue?vue&type=style&index=0&id=ca2fb97c&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"ca2fb97c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"wrapper\"},[_c('draggable',{attrs:{\"ghost-class\":\"ghost\",\"handle\":\".handle\"},on:{\"start\":function($event){_vm.dragging = true},\"end\":function($event){_vm.dragging = false}},model:{value:(_vm.currentItems),callback:function ($$v) {_vm.currentItems=$$v},expression:\"currentItems\"}},_vm._l((_vm.currentItems),function(item){return _c('div',{key:item.id,staticClass:\"item\"},[_c('div',{staticClass:\"handle\"},[_c('i',{staticClass:\"fas fa-grip-lines\"})]),_c('div',{staticClass:\"title\"},[_c('span',[_vm._v(_vm._s(_vm.getTitle(item.id)))])]),_c('div',{staticClass:\"switch\"},[_c('div',{staticClass:\"custom-control custom-switch\"},[_c('input',{staticClass:\"custom-control-input update-printer\",attrs:{\"id\":'widget-toggle-' + item.id,\"type\":\"checkbox\",\"name\":\"pause_on_failure\"},domProps:{\"checked\":item.enabled},on:{\"click\":function($event){return _vm.toggleItemEnabled(item)}}}),_c('label',{staticClass:\"custom-control-label\",staticStyle:{\"font-size\":\"1rem\"},attrs:{\"for\":'widget-toggle-' + item.id}})])])])}),0),_c('input',{ref:\"sortingConfig\",attrs:{\"id\":\"sorting-config\",\"type\":\"hidden\"}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReorderModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReorderModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ReorderModal.vue?vue&type=template&id=825483f2&scoped=true&\"\nimport script from \"./ReorderModal.vue?vue&type=script&lang=js&\"\nexport * from \"./ReorderModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ReorderModal.vue?vue&type=style&index=0&id=825483f2&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"825483f2\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('widget-template',{scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_vm._v(_vm._s(_vm.$t(\"Printer Terminal\")))]},proxy:true},{key:\"content\",fn:function(){return [_c('div',{staticClass:\"terminal-widget\"},[_c('printer-terminal',{attrs:{\"printer\":_vm.printer,\"printer-comm\":_vm.printerComm,\"show-full-screen-opt\":true}})],1)]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{class:['wrapper', { 'full-screen-height': _vm.fullScreenHeight }]},[_c('div',{staticClass:\"actionWrap\"},[(_vm.showFullScreenOpt)?_c('a',{attrs:{\"href\":`/printers/${_vm.printer.id}/terminal/`}},[_c('b-button',{staticClass:\"actionBtn\",attrs:{\"disabled\":!_vm.feedIsOn}},[_c('i',{staticClass:\"fas fa-expand actionIcon\"})])],1):_vm._e(),(_vm.canToggleFeed)?_c('b-button',{staticClass:\"actionBtn\",on:{\"click\":_vm.toggleTerminalPower}},[(_vm.feedIsOn === null)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_c('i',{class:['fas', 'fa-power-off', 'actionIcon', { 'text-primary': !_vm.feedIsOn }]})],1):_vm._e(),_c('b-button',{staticClass:\"actionBtn\",attrs:{\"disabled\":!_vm.feedIsOn},on:{\"click\":_vm.clearFeed}},[_c('i',{staticClass:\"fas fa-trash actionIcon\"})]),_c('b-dropdown',{staticClass:\"actionBtnNoP\",attrs:{\"disabled\":!_vm.feedIsOn,\"right\":\"\",\"no-caret\":\"\",\"toggle-class\":\"action-btn icon-btn\",\"menu-class\":\"scrollable\",\"title\":\"Filter\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('i',{staticClass:\"fas fa-filter\"})]},proxy:true}])},[_c('div',[_c('div',[_c('b-dropdown-text',{staticClass:\"small text-secondary\"},[_vm._v(_vm._s(_vm.$t(\"Filter\")))]),_c('b-dropdown-item',{nativeOn:{\"!click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.updateFilterPrefs('temperature', !_vm.hideTempMessages)}}},[_c('div',{staticClass:\"dropdown-text-group\"},[_c('i',{staticClass:\"fas fa-check text-primary\",style:({ visibility: _vm.hideTempMessages ? 'visible' : 'hidden' })}),_c('div',{staticClass:\"filterItemH\"},[_c('i',{staticClass:\"fas fa-fire\"}),_c('div',{staticClass:\"text\"},[_vm._v(_vm._s(_vm.$t(\"Suppress Temperature\")))])])])]),_c('b-dropdown-item',{nativeOn:{\"!click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.updateFilterPrefs('sd', !_vm.hideSDMessages)}}},[_c('div',{staticClass:\"dropdown-text-group\"},[_c('i',{staticClass:\"fas fa-check text-primary\",style:({ visibility: _vm.hideSDMessages ? 'visible' : 'hidden' })}),_c('div',{staticClass:\"filterItemH\"},[_c('i',{staticClass:\"fas fa-sd-card\"}),_c('div',{staticClass:\"text\"},[_vm._v(_vm._s(_vm.$t(\"Suppress SD Status Messages\")))])])])]),_c('b-dropdown-item',{nativeOn:{\"!click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.updateFilterPrefs('gcode', !_vm.hideGCodeMessages)}}},[_c('div',{staticClass:\"dropdown-text-group\"},[_c('i',{staticClass:\"fas fa-check text-primary\",style:({ visibility: _vm.hideGCodeMessages ? 'visible' : 'hidden' })}),_c('div',{staticClass:\"filterItemH\"},[_c('i',{staticClass:\"fas fa-code\"}),_c('div',{staticClass:\"text\"},[_vm._v(_vm._s(_vm.$t(\"Suppress Position Messages\")))])])])]),_c('b-dropdown-item',{nativeOn:{\"!click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.updateFilterPrefs('ok', !_vm.hideOKMessages)}}},[_c('div',{staticClass:\"dropdown-text-group\"},[_c('i',{staticClass:\"fas fa-check text-primary\",style:({ visibility: _vm.hideOKMessages ? 'visible' : 'hidden' })}),_c('div',{staticClass:\"filterItemH\"},[_c('i',{staticClass:\"fas fa-thumbs-up\"}),_c('div',{staticClass:\"text\"},[_vm._v(_vm._s(_vm.$t(\"Suppress 'OK' Messages\")))])])])])],1)])])],1),_c('terminal-feed-view',{staticClass:\"feedWrap\",attrs:{\"terminal-feed-array\":_vm.terminalFeedArray,\"feed-is-on\":_vm.feedIsOn}}),_c('div',{staticClass:\"inputWrap\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.inputValue),expression:\"inputValue\"}],staticClass:\"textInput\",attrs:{\"disabled\":!_vm.feedIsOn,\"type\":\"text\",\"placeholder\":_vm.$t('Enter code...')},domProps:{\"value\":(_vm.inputValue)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _vm.sendMessage.apply(null, arguments)},\"input\":function($event){if($event.target.composing)return;_vm.inputValue=$event.target.value}}}),_c('b-button',{staticClass:\"sendBtn\",attrs:{\"disabled\":!_vm.feedIsOn,\"variant\":\"outline-primary\"},on:{\"click\":_vm.sendMessage}},[_c('i',{staticClass:\"fas fa-chevron-right text-primary-icon\"})])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"feedWrap\",attrs:{\"colorScheme\":\"background\"}},[(!_vm.feedIsOn)?_c('div',{staticStyle:{\"width\":\"100%\"}},[_c('p',{staticStyle:{\"margin\":\"0\",\"margin-top\":\"5px\",\"text-align\":\"center\"}},[_c('i',{staticClass:\"fas fa-power-off\",staticStyle:{\"margin-right\":\"5px\"}}),_vm._v(_vm._s(_vm.$t(\"Terminal feed is off\"))+\" \")])]):_vm._l((_vm.terminalFeedArray),function(feed,index){return _c('div',{key:index,staticClass:\"itemWrap\"},[(feed?.msg)?_c('div',{staticClass:\"terminalText\"},[_c('p',{staticClass:\"messageTimeStamp\"},[_vm._v(\" \"+_vm._s(feed.normalTimeStamp)+\" \")]),_c('p',{staticClass:\"messageText\"},[_vm._v(\" \"+_vm._s(feed.msg)+\" \")])]):_vm._e(),_c('div',{staticClass:\"divider\"})])})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TerminalFeedView.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TerminalFeedView.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TerminalFeedView.vue?vue&type=template&id=e788be14&scoped=true&\"\nimport script from \"./TerminalFeedView.vue?vue&type=script&lang=js&\"\nexport * from \"./TerminalFeedView.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TerminalFeedView.vue?vue&type=style&index=0&id=e788be14&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"e788be14\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterTerminal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterTerminal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PrinterTerminal.vue?vue&type=template&id=e9a802f6&scoped=true&\"\nimport script from \"./PrinterTerminal.vue?vue&type=script&lang=js&\"\nexport * from \"./PrinterTerminal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PrinterTerminal.vue?vue&type=style&index=0&id=e9a802f6&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"e9a802f6\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TerminalWidget.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TerminalWidget.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TerminalWidget.vue?vue&type=template&id=4fa56247&scoped=true&\"\nimport script from \"./TerminalWidget.vue?vue&type=script&lang=js&\"\nexport * from \"./TerminalWidget.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TerminalWidget.vue?vue&type=style&index=0&id=4fa56247&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4fa56247\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterControlPage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterControlPage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PrinterControlPage.vue?vue&type=template&id=5dd1d5bb&scoped=true&\"\nimport script from \"./PrinterControlPage.vue?vue&type=script&lang=js&\"\nexport * from \"./PrinterControlPage.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PrinterControlPage.vue?vue&type=style&index=0&id=5dd1d5bb&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5dd1d5bb\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('page-layout',{scopedSlots:_vm._u([{key:\"content\",fn:function(){return [_c('b-container',{staticClass:\"flex-full-size\",class:{ 'is-in-mobile': _vm.useMobileLayout },attrs:{\"fluid\":\"xl\"}},[_c('b-row',{staticClass:\"flex-full-size\"},[_c('b-col',{staticClass:\"flex-full-size\"},[(_vm.user)?_c('div',{staticClass:\"flex-full-size\"},[(_vm.useMobileLayout)?_c('div',{staticClass:\"mobile-settings-wrapper full-on-mobile\"},[(_vm.$route.path === '/user_preferences/')?_c('div',{staticClass:\"mobile-settings-categories\"},[_c('h2',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.onlyNotifications),expression:\"!onlyNotifications\"}],staticClass:\"categories-title section-title\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Account\"))+\" \")]),_vm._l((_vm.sections),function(value,name){return [(!value.isHidden)?_c('router-link',{key:name,class:value.isSubcategory ? 'subcategory' : '',attrs:{\"to\":value.route}},[_c('span',[(value.faIcon)?_c('i',{class:[value.faIcon, 'mr-2'],staticStyle:{\"font-size\":\"1.125rem\"}}):_vm._e(),_c('span',[_vm._v(_vm._s(value.title))])]),_c('i',{staticClass:\"fas fa-arrow-right\"})]):_vm._e()]}),(!_vm.onlyNotifications)?_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();return _vm.logout.apply(null, arguments)}}},[_c('span',[_c('i',{class:['fas fa-sign-out-alt', 'mr-2'],staticStyle:{\"font-size\":\"1.125rem\"}}),_vm._v(\" \"+_vm._s(_vm.$t('Logout'))+\" \")])]):_vm._e()],2):_c('div',{staticClass:\"mobile-settings-content\",class:{ 'is-in-mobile': _vm.useMobileLayout }},[(\n _vm.currentSection &&\n (!_vm.currentSection.isNotificationChannel || _vm.availableNotificationPlugins)\n )?_c(_vm.currentRouteComponent,{tag:\"component\",attrs:{\"user\":_vm.user,\"error-messages\":_vm.errorMessages,\"saving\":_vm.saving,\"config\":_vm.config,\"notification-channel\":_vm.currentSection && _vm.currentSection.isNotificationChannel ? _vm.currentSection : {}},on:{\"createNotificationChannel\":_vm.createNotificationChannel,\"updateNotificationChannel\":_vm.patchNotificationChannel,\"deleteNotificationChannel\":_vm.deleteNotificationChannel,\"clearErrorMessages\":_vm.clearErrorMessages,\"addErrorMessage\":_vm.addErrorMessage,\"updateSetting\":_vm.updateSetting}}):_vm._e()],1)]):_c('b-tabs',{staticClass:\"desktop-settings-wrapper\",attrs:{\"vertical\":true,\"nav-wrapper-class\":\"settings-nav\",\"active-nav-item-class\":\"\",\"content-class\":\"desktop-settings-content\"},on:{\"activate-tab\":_vm.updateRoute},scopedSlots:_vm._u([{key:\"tabs-end\",fn:function(){return [_c('li',{staticClass:\"nav-item\"},[_c('a',{staticClass:\"nav-link\",attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();return _vm.logout.apply(null, arguments)}}},[_c('i',{class:['fas fa-sign-out-alt', 'mr-2']}),_vm._v(\" \"+_vm._s(_vm.$t('Logout'))+\" \")])])]},proxy:true}],null,false,2570481543)},[_vm._l((_vm.sections),function(value,name){return [(!value.isHidden)?_c('b-tab',{key:name,attrs:{\"title-item-class\":value.isSubcategory ? 'subcategory' : '',\"active\":_vm.$route.path === value.route,\"disabled\":value.isNotificationChannel && !_vm.user.notification_enabled},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [(value.faIcon)?_c('i',{class:[value.faIcon, 'mr-2']}):_vm._e(),_vm._v(\" \"+_vm._s(value.title)+\" \")]},proxy:true}],null,true)},[(!value.isNotificationChannel || _vm.availableNotificationPlugins)?_c(name,{tag:\"component\",attrs:{\"user\":_vm.user,\"error-messages\":_vm.errorMessages,\"saving\":_vm.saving,\"config\":_vm.config,\"notification-channel\":value.isNotificationChannel ? value : {}},on:{\"createNotificationChannel\":_vm.createNotificationChannel,\"updateNotificationChannel\":_vm.patchNotificationChannel,\"deleteNotificationChannel\":_vm.deleteNotificationChannel,\"clearErrorMessages\":_vm.clearErrorMessages,\"addErrorMessage\":_vm.addErrorMessage,\"updateSetting\":_vm.updateSetting}}):_vm._e()],1):_vm._e()]})],2)],1):_c('div',{staticClass:\"text-center\"},[_c('b-spinner',{staticClass:\"mt-5\",attrs:{\"label\":_vm.$t('Loading...')}})],1)])],1)],1)]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import routes from '@config/user-preferences/pref-routes'\nimport notificationPlugins from '@src/notifications/plugins'\nimport { inMobileWebView } from '@src/lib/page-context'\nimport i18n from '@src/i18n/i18n.js'\n\nconst onlyNotifications =\n new URLSearchParams(window.location.search).get('onlyNotifications') === 'true'\n\nconst defaultSections = {\n GeneralPreferences: {\n title: `${i18n.t('General')}`,\n faIcon: 'fas fa-cog',\n importComponent: () => import('@src/components/user-preferences/GeneralPreferences'),\n route: routes.GeneralPreferences,\n isHidden: inMobileWebView() || onlyNotifications,\n },\n ThemePreferences: {\n title: `${i18n.t('Appearance')}`,\n faIcon: 'fas fa-magic',\n importComponent: () => import('@src/components/user-preferences/ThemePreferences'),\n route: routes.ThemePreferences,\n isHidden:\n (inMobileWebView() &&\n !(new URLSearchParams(window.location.search).get('themeable') === 'true')) ||\n onlyNotifications,\n },\n ProfilePreferences: {\n title: `${i18n.t('Profile')}`,\n faIcon: 'fas fa-user-edit',\n importComponent: () => import('@src/components/user-preferences/ProfilePreferences'),\n route: routes.ProfilePreferences,\n isHidden: onlyNotifications,\n },\n AuthorizedApps: {\n title: `${i18n.t('Authorized Apps')}`,\n faIcon: 'fas fa-check-circle',\n importComponent: () => import('@src/components/user-preferences/AuthorizedApps'),\n route: routes.AuthorizedApps,\n isHidden: onlyNotifications,\n },\n\n // Notifications\n GeneralNotifications: {\n title: `${i18n.t('Notifications')}`,\n faIcon: 'fas fa-bell',\n importComponent: () =>\n import('@src/components/user-preferences/notifications/GeneralNotifications'),\n route: routes.GeneralNotifications,\n },\n PushNotifications: {\n title: `${i18n.t('Push Notification')}`,\n isSubcategory: true,\n isNotificationChannel: true,\n importComponent: () => ({}),\n route: routes.PushNotifications,\n isHidden: !inMobileWebView(),\n },\n}\n\nconst notificationSections = Object.keys(notificationPlugins).reduce((obj, name) => {\n return Object.assign(obj, {\n [name]: {\n title: notificationPlugins[name].displayName,\n channelName: name,\n isSubcategory: true,\n isNotificationChannel: true,\n route: routes[name],\n importComponent: () =>\n import('@src/notifications/plugins/' + notificationPlugins[name].componentName),\n },\n })\n}, {})\n\nexport default {\n ...defaultSections,\n ...notificationSections,\n}\n","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserPreferencesPage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserPreferencesPage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UserPreferencesPage.vue?vue&type=template&id=720acc46&scoped=true&\"\nimport script from \"./UserPreferencesPage.vue?vue&type=script&lang=js&\"\nexport * from \"./UserPreferencesPage.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UserPreferencesPage.vue?vue&type=style&index=0&id=720acc46&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"720acc46\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('page-layout',{scopedSlots:_vm._u([{key:\"topBarRight\",fn:function(){return [_c('div',[_c('b-dropdown',{attrs:{\"right\":\"\",\"no-caret\":\"\",\"toggle-class\":\"icon-btn\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('i',{staticClass:\"fas fa-filter\"})]},proxy:true}])},[_vm._l((_vm.eventClassFiltering),function(eventClass){return _c('b-dropdown-item',{key:eventClass.key,on:{\"click\":function($event){return _vm.toggleEventFiltering('eventClassFiltering', eventClass.key)}}},[_c('i',{staticClass:\"fas fa-check text-primary\",style:({ visibility: eventClass.selected ? 'visible' : 'hidden' })}),_c('span',{class:_vm.cssClassFromEventClass(eventClass.key)},[_vm._v(_vm._s(eventClass.title))])])}),_c('b-dropdown-divider'),_vm._l((_vm.eventTypeFiltering),function(eventType){return _c('b-dropdown-item',{key:eventType.key,on:{\"click\":function($event){return _vm.toggleEventFiltering('eventTypeFiltering', eventType.key)}}},[_c('i',{staticClass:\"fas fa-check text-primary\",style:({ visibility: eventType.selected ? 'visible' : 'hidden' })}),_vm._v(_vm._s(eventType.title)+\" \")])})],2)],1)]},proxy:true},{key:\"content\",fn:function(){return [_c('b-container',[_c('b-row',{staticClass:\"justify-content-center\"},[_c('div',{staticClass:\"col-sm-12 col-md-10 col-lg-8\"},[(!_vm.loading && _vm.printerEvents.length === 0)?_c('div',{staticClass:\"text-center\"},[_c('img',{staticClass:\"w-25 my-4\",attrs:{\"src\":require('@static/img/vacation.gif')}}),_c('h5',{staticClass:\"text-primary\"},[_vm._v(_vm._s(_vm.$t(\"Nothing to look here. Enjoy your vacation!\")))])]):_c('div',[_vm._l((_vm.printerEvents),function(item){return _c('printer-event-card',{key:item.id,attrs:{\"printer-event\":item}})}),_c('mugen-scroll',{staticClass:\"text-center p-4\",attrs:{\"handler\":_vm.fetchMoreData,\"should-handle\":!_vm.loading}},[(_vm.noMoreData)?_c('div',{staticClass:\"text-center p-2\"},[_vm._v(_vm._s(_vm.$t(\"No more notifications.\")))]):_vm._e(),(!_vm.noMoreData)?_c('b-spinner',{attrs:{\"label\":\"Loading...\"}}):_vm._e()],1)],2)])])],1)]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"printer-event-card my-3\",class:_vm.tintBorderClass},[_c('div',{staticClass:\"printer-event-text\",class:{ link: _vm.printerEvent.info_url },on:{\"click\":_vm.onTextClick}},[_c('div',{staticClass:\"title font-weight-bold my-2\",class:_vm.tintClass},[_vm._v(\" \"+_vm._s(_vm.eventTitle)+\" \"),(_vm.printerEvent.info_url)?_c('i',{staticClass:\"fas fa-external-link-alt\"}):_vm._e()]),_c('div',{staticClass:\"description\",domProps:{\"innerHTML\":_vm._s(_vm.printerEvent.event_text)}}),_c('div',{staticClass:\"my-2 text-muted font-weight-light small\"},[_vm._v(\" \"+_vm._s(_vm.printerEvent.created_at.format('LLLL'))+\" \")])]),(_vm.printerEvent.image_url)?_c('div',{staticClass:\"printer-event-snapshot\",style:({ backgroundImage: `url(${_vm.printerEvent.image_url})` })}):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterEventCard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterEventCard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PrinterEventCard.vue?vue&type=template&id=4f0efb80&scoped=true&\"\nimport script from \"./PrinterEventCard.vue?vue&type=script&lang=js&\"\nexport * from \"./PrinterEventCard.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PrinterEventCard.vue?vue&type=style&index=0&id=4f0efb80&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4f0efb80\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterEventsPage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterEventsPage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PrinterEventsPage.vue?vue&type=template&id=4c7d7dc7&scoped=true&\"\nimport script from \"./PrinterEventsPage.vue?vue&type=script&lang=js&\"\nexport * from \"./PrinterEventsPage.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4c7d7dc7\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('page-layout',{scopedSlots:_vm._u([{key:\"topBarLeft\",fn:function(){return [_c('div',{staticClass:\"printer-name truncated\"},[_vm._v(\" \"+_vm._s(_vm.printer ? _vm.printer.name : '')+\" \")])]},proxy:true},{key:\"topBarRight\",fn:function(){return [(_vm.printer)?_c('div',{staticClass:\"action-panel\"},[_c('a',{staticClass:\"btn shadow-none action-btn icon-btn\",attrs:{\"href\":`/tunnels/${_vm.printer.id}/`,\"title\":_vm.$t('OctoPrint Tunnel')}},[_c('svg',{staticClass:\"custom-svg-icon\"},[_c('use',{attrs:{\"href\":\"#svg-tunnel\"}})]),_c('span',{staticClass:\"sr-only\"},[_vm._v(_vm._s(_vm.$t(\"OctoPrint Tunnel\")))])]),_c('a',{staticClass:\"btn shadow-none action-btn icon-btn\",attrs:{\"href\":`/printers/${_vm.printer.id}/`,\"title\":_vm.$t('Configure')}},[_c('i',{staticClass:\"fas fa-wrench\"}),_c('span',{staticClass:\"sr-only\"},[_vm._v(_vm._s(_vm.$t(\"Configure\")))])]),_c('b-dropdown',{attrs:{\"right\":\"\",\"no-caret\":\"\",\"toggle-class\":\"icon-btn d-md-none\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('i',{staticClass:\"fas fa-ellipsis-v\"})]},proxy:true}],null,false,3452768261)},[_c('cascaded-dropdown',{ref:\"cascadedDropdown\",attrs:{\"menu-options\":[\n {\n key: 'tunnel',\n svgIcon: 'svg-tunnel',\n title: _vm.$t('OctoPrint Tunnel'),\n href: `/tunnels/${_vm.printer.id}/`,\n },\n {\n key: 'settings',\n icon: 'fas fa-wrench',\n title: _vm.$t('Configure'),\n href: `/printers/${_vm.printer.id}/`,\n },\n ]},on:{\"menuOptionClicked\":_vm.onMenuOptionClicked}})],1)],1):_vm._e()]},proxy:true},{key:\"content\",fn:function(){return [_c('div',{staticClass:\"contentWrap\"},[(_vm.printerComm !== null && _vm.printer !== null)?_c('printer-terminal',{attrs:{\"printer\":_vm.printer,\"printer-comm\":_vm.printerComm,\"full-screen-height\":true,\"show-full-screen-opt\":false}}):_vm._e()],1)]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterTerminalPage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterTerminalPage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PrinterTerminalPage.vue?vue&type=template&id=249551ea&scoped=true&\"\nimport script from \"./PrinterTerminalPage.vue?vue&type=script&lang=js&\"\nexport * from \"./PrinterTerminalPage.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PrinterTerminalPage.vue?vue&type=style&index=0&id=249551ea&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"249551ea\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('page-layout',{scopedSlots:_vm._u([{key:\"content\",fn:function(){return [_c('b-container',[_c('b-row',[_c('b-col',[_c('h2',{staticClass:\"text-center\"},[_vm._v(_vm._s(_vm.$t('First Layer Snapshots')))]),_c('p',{staticClass:\"my-4\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Help {brandName}'s First Layer AI (codename: Celestrius) learn and improve quickly by telling her what issues exist in each of these snapshots.\",{brandName:_vm.$syndicateText.brandName}))+\" \")]),_c('p',{staticClass:\"text-secondary\"},[_vm._v(_vm._s(_vm.$t('Why should I do this?')))]),_c('p',{staticClass:\"text-secondary small\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"{brandName}'s First Layer AI is still in her infant time. Just like a human baby, the only way she can learn is to be told by adults what is good and what is bad. By telling her what issues exist in these snapshots, you will help her get better at telling a good first layer apart from a bad one.\",{brandName:_vm.$syndicateText.brandName}))+\" \")]),_c('p',{staticClass:\"small\"},[_c('i',[_vm._v(\" \"+_vm._s(_vm.$t(\"Privacy Notice: By participating in this survey, you grant the {brandName} team members the permission to review all snapshots below.\",{brandName:_vm.$syndicateText.brandName}))+\" \")])]),_c('h5',{staticClass:\"text-primary mt-4\"},[_vm._v(_vm._s(_vm.$t('Earn 3 AI Detection Hours!')))]),_c('p',{staticClass:\"text-primary mb-5\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"{name} snapshots were selected from your first layer print. Earn 3 AI Detection Hours by telling us if you see any printing issues with these snapshots!\",{name:_vm.shots.length}))+\" \")])])],1),_c('b-row',{staticClass:\"feedback-card\"},[_c('b-col',{attrs:{\"md\":\"8\",\"lg\":\"6\"}},[_c('div',{staticClass:\"card\"},[_c('loading',{attrs:{\"active\":_vm.firstLayerInspection === null,\"is-full-page\":true}}),(_vm.firstLayerInspection !== null)?_c('div',[_c('div',[_c('div',[_c('vue-slick-carousel',{ref:\"carousel\",attrs:{\"arrows\":false,\"dots\":true},on:{\"afterChange\":_vm.onNextShot},scopedSlots:_vm._u([{key:\"customPaging\",fn:function(page){return [_c('div',{class:_vm.pageClass(page)},[_vm._v(\"•\")])]}}],null,false,3226812120)},_vm._l((_vm.shots),function(shot,i){return _c('first-layer-shot-card',{key:i,attrs:{\"shot\":shot,\"shot-index\":i,\"total-shots\":_vm.shots.length},on:{\"imageUpdated\":_vm.onImageUpdated,\"prev\":_vm.onPrev,\"next\":_vm.onNext}})}),1)],1),_c('br'),_c('div',{staticClass:\"card-body p-3\"})])]):_vm._e()],1)])],1)],1)]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('img',{staticClass:\"card-img-top\",attrs:{\"src\":_vm.shot.image_url}}),_c('div',{staticClass:\"px-3 pt-4\"},[_c('p',[_vm._v(_vm._s(_vm.$t('What issues do you see in this snapshot? Select all that apply.')))]),_c('div',{staticClass:\"mb-4\"},[_c('b-form',[_c('b-form-checkbox',{staticClass:\"pr-5\",model:{value:(_vm.labels.raisedRipples),callback:function ($$v) {_vm.$set(_vm.labels, \"raisedRipples\", $$v)},expression:\"labels.raisedRipples\"}},[_c('i18next',{attrs:{\"translation\":_vm.$t(`Raised ripples ({localizedDom})`)},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();return (() => _vm.openExample('raised', 'Raised ripples')).apply(null, arguments)}}},[_vm._v(_vm._s(_vm.$t('examples')))])]},proxy:true}])})],1),_c('b-form-checkbox',{staticClass:\"pr-5\",model:{value:(_vm.labels.bubbling),callback:function ($$v) {_vm.$set(_vm.labels, \"bubbling\", $$v)},expression:\"labels.bubbling\"}},[_c('i18next',{attrs:{\"translation\":_vm.$t(`Bubbling ({localizedDom})`)},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();return (() => _vm.openExample('bubbling', 'Bubbling')).apply(null, arguments)}}},[_vm._v(_vm._s(_vm.$t('examples')))])]},proxy:true}])})],1),_c('b-form-checkbox',{staticClass:\"pr-5\",model:{value:(_vm.labels.bumpsAndRoughSurface),callback:function ($$v) {_vm.$set(_vm.labels, \"bumpsAndRoughSurface\", $$v)},expression:\"labels.bumpsAndRoughSurface\"}},[_c('i18next',{attrs:{\"translation\":_vm.$t(`Bumps or rough surfaces ({localizedDom})`)},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();return (() => _vm.openExample('bumps', 'Bumps or rough surfaces')).apply(null, arguments)}}},[_vm._v(_vm._s(_vm.$t('examples')))])]},proxy:true}])})],1),_c('b-form-checkbox',{staticClass:\"pr-5\",model:{value:(_vm.labels.detached),callback:function ($$v) {_vm.$set(_vm.labels, \"detached\", $$v)},expression:\"labels.detached\"}},[_c('i18next',{attrs:{\"translation\":_vm.$t(`Detached or warping ({localizedDom})`)},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();return (() => _vm.openExample('detached', 'Detached or warping')).apply(null, arguments)}}},[_vm._v(_vm._s(_vm.$t('examples')))])]},proxy:true}])})],1),_c('b-form-checkbox',{staticClass:\"pr-5\",model:{value:(_vm.labels.gaps),callback:function ($$v) {_vm.$set(_vm.labels, \"gaps\", $$v)},expression:\"labels.gaps\"}},[_c('i18next',{attrs:{\"translation\":_vm.$t(`Gaps between lines ({localizedDom})`)},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();return (() => _vm.openExample('gaps', 'Gaps between lines')).apply(null, arguments)}}},[_vm._v(_vm._s(_vm.$t('examples')))])]},proxy:true}])})],1),_c('b-form-checkbox',{staticClass:\"pr-5\",model:{value:(_vm.labels.other),callback:function ($$v) {_vm.$set(_vm.labels, \"other\", $$v)},expression:\"labels.other\"}},[_vm._v(_vm._s(_vm.$t('Other')))]),_c('b-form-checkbox',{staticClass:\"pr-5\",model:{value:(_vm.labels.noIssues),callback:function ($$v) {_vm.$set(_vm.labels, \"noIssues\", $$v)},expression:\"labels.noIssues\"}},[_vm._v(_vm._s(_vm.$t('No issues')))]),_c('b-form-checkbox',{staticClass:\"pr-5\",model:{value:(_vm.labels.notANozzleCam),callback:function ($$v) {_vm.$set(_vm.labels, \"notANozzleCam\", $$v)},expression:\"labels.notANozzleCam\"}},[_c('i18next',{attrs:{\"translation\":_vm.$t(`Oops, this is {localizedDom}`)},scopedSlots:_vm._u([{key:\"localizedDom\",fn:function(){return [_c('a',{attrs:{\"href\":_vm.getDocUrl('/user-guides/nozzle-camera-configuration'),\"target\":\"_blank\"}},[_vm._v(\" \"+_vm._s(_vm.$t('not a nozzle camera')))])]},proxy:true}])})],1)],1)],1),_c('div',{staticClass:\"navigation-container my-4\"},[_c('b-button',{attrs:{\"disabled\":_vm.isFirst,\"variant\":\"outline-secondary\"},on:{\"click\":function($event){return _vm.$emit('prev')}}},[_c('i',{staticClass:\"fas fa-chevron-left\"}),_vm._v(\"  \"+_vm._s(_vm.$t('Previous'))+\" \")]),_c('b-button',{attrs:{\"disabled\":!_vm.labelsSelected,\"variant\":\"outline-secondary\"},on:{\"click\":_vm.onNext}},[_vm._v(\" \"+_vm._s(_vm.isLast ? _vm.$t('Finish') : _vm.$t('Next'))+\"  \"),_c('i',{staticClass:\"fas fa-chevron-right\"})])],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FirstLayerShotCard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FirstLayerShotCard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FirstLayerShotCard.vue?vue&type=template&id=b52f1894&scoped=true&\"\nimport script from \"./FirstLayerShotCard.vue?vue&type=script&lang=js&\"\nexport * from \"./FirstLayerShotCard.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FirstLayerShotCard.vue?vue&type=style&index=0&id=b52f1894&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b52f1894\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FirstLayerInspectionImagePage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FirstLayerInspectionImagePage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FirstLayerInspectionImagePage.vue?vue&type=template&id=f7847cd8&scoped=true&\"\nimport script from \"./FirstLayerInspectionImagePage.vue?vue&type=script&lang=js&\"\nexport * from \"./FirstLayerInspectionImagePage.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FirstLayerInspectionImagePage.vue?vue&type=style&index=0&id=f7847cd8&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"f7847cd8\",\n null\n \n)\n\nexport default component.exports","import VueRouter from 'vue-router'\nimport prefRoutes from '@config/user-preferences/pref-routes'\n\nimport NewOctoPrintTunnelPage from '@src/views/NewOctoPrintTunnelPage.vue'\nimport OctoPrintTunnelPage from '@src/views/OctoPrintTunnelPage.vue'\nimport PrintShotFeedbackApp from '@src/views/PrintShotFeedbackApp.vue'\nimport PrintHistoryPage from '@src/views/PrintHistoryPage.vue'\nimport StatsPage from '@src/views/StatsPage.vue'\nimport PrintsPage from '@src/views/PrintsPage.vue'\nimport PrintPage from '@src/views/PrintPage.vue'\nimport UploadPrintPage from '@src/views/UploadPrintPage.vue'\nimport PrinterListPage from '@src/views/PrinterListPage.vue'\nimport SharedPrinterPage from '@src/views/SharedPrinterPage.vue'\nimport PrinterSettingsPage from '@src/views/PrinterSettingsPage.vue'\nimport PrinterLinkingPage from '@src/views/printer-wizard/PrinterLinkingPage.vue'\nimport TargetPlatformSelectionPage from '@src/views/printer-wizard/TargetPlatformSelectionPage.vue'\nimport ObicoInstallationGuidePage from '@src/views/printer-wizard/ObicoInstallationGuidePage.vue'\nimport AddPrinterSuccessPage from '@src/views/printer-wizard/AddPrinterSuccessPage.vue'\nimport PrinterControlPage from '@src/views/PrinterControlPage.vue'\nimport GCodeFoldersPage from '@src/views/GCodeFoldersPage.vue'\nimport GCodeFilePage from '@src/views/GCodeFilePage.vue'\nimport UserPreferencesPage from '@src/views/UserPreferencesPage.vue'\nimport PrinterEventsPage from '@src/views/PrinterEventsPage.vue'\nimport PrinterTerminalPage from '@src/views/PrinterTerminalPage.vue'\nimport FirstLayerInspectionImagePage from '@src/views/FirstLayerInspectionImagePage.vue'\n\n\nconst router = new VueRouter({\n mode: 'history',\n routes: [\n {\n path: '/g_code_folders/cloud/:parentFolder',\n component: GCodeFoldersPage,\n },\n {\n path: '/g_code_folders/local/:printerId/:parentFolder?',\n component: GCodeFoldersPage,\n },\n {\n path: '/g_code_files/cloud/:fileId',\n component: GCodeFilePage,\n },\n {\n path: '/g_code_files/local/:printerId/:fileId',\n component: GCodeFilePage,\n },\n {\n path: '/user_preferences',\n component: UserPreferencesPage,\n },\n {\n path: '/printers/wizard/',\n component: TargetPlatformSelectionPage,\n },\n {\n path: '/printers/wizard/guide/:targetPlatform/',\n component: ObicoInstallationGuidePage,\n },\n {\n path: '/printers/wizard/link/:targetPlatform/',\n component: PrinterLinkingPage,\n },\n {\n path: '/printers/wizard/success/:printerId/',\n component: AddPrinterSuccessPage,\n },\n ...Object.values(prefRoutes).map((route) => ({\n path: route,\n component: UserPreferencesPage,\n })),\n ],\n})\n\nconst components = {\n NewOctoPrintTunnelPage,\n OctoPrintTunnelPage,\n PrintShotFeedbackApp,\n PrinterListPage,\n SharedPrinterPage,\n PrinterSettingsPage,\n PrinterLinkingPage,\n PrinterControlPage,\n GCodeFoldersPage,\n GCodeFilePage,\n PrintsPage,\n PrintPage,\n PrintHistoryPage,\n StatsPage,\n UploadPrintPage,\n UserPreferencesPage,\n PrinterEventsPage,\n PrinterTerminalPage,\n FirstLayerInspectionImagePage,\n}\n\nexport { router, components }\n","import mountVue from '@src/mount'\nimport { router, components } from '@src/pages'\n\nmountVue(router, components)\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterTerminalPage.vue?vue&type=style&index=0&id=249551ea&prod&lang=sass&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FirstLayerInspectionImagePage.vue?vue&type=style&index=0&id=f7847cd8&prod&lang=sass&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NumberInput.vue?vue&type=style&index=0&id=66233dc0&prod&lang=sass&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VideoBox.vue?vue&type=style&index=0&id=10df198e&prod&lang=sass&scoped=true&\"","const Themes = {\n Light: 'Light',\n Dark: 'Dark',\n System: 'System',\n}\n\nexport const yumi = {\n // only light theme is supported for now\n colors: [\n {\n name: 'primary',\n values: {[Themes.Light]: '#078ED3', [Themes.Dark]: '#FFCC2E'},\n },\n {\n name: 'primary-hover',\n values: {[Themes.Light]: '#0B88C8', [Themes.Dark]: '#FFCC2E'},\n },\n {\n name: 'primary-muted',\n values: {[Themes.Light]: '#24A8EC', [Themes.Dark]: '#018786'},\n },\n {\n name: 'on-primary',\n values: {[Themes.Light]: '#FFFFFF', [Themes.Dark]: '#001210'},\n },\n {\n name: 'secondary',\n values: {[Themes.Light]: '#28303A', [Themes.Dark]: '#AAACB0'},\n },\n {\n name: 'secondary-hover',\n values: {[Themes.Light]: '#424A54', [Themes.Dark]: '#D0D0D0'},\n },\n {\n name: 'on-secondary',\n values: {[Themes.Light]: '#EBEBEB', [Themes.Dark]: '#28303A'},\n },\n {\n name: 'success',\n values: {[Themes.Light]: '#5CB85C', [Themes.Dark]: '#5CB85C'},\n },\n {\n name: 'success-hover',\n values: {[Themes.Light]: '#4CAE4C', [Themes.Dark]: '#4CAE4C'},\n },\n {\n name: 'on-success',\n values: {[Themes.Light]: '#ffffff', [Themes.Dark]: '#ffffff'},\n },\n {\n name: 'danger',\n values: {[Themes.Light]: '#D9534F', [Themes.Dark]: '#D9534F'},\n },\n {\n name: 'danger-hover',\n values: {[Themes.Light]: '#C2413D', [Themes.Dark]: '#C2413D'},\n },\n {\n name: 'on-danger',\n values: {[Themes.Light]: '#ffffff', [Themes.Dark]: '#ffffff'},\n },\n {\n name: 'warning',\n values: {[Themes.Light]: '#F0AD4E', [Themes.Dark]: '#F0AD4E'},\n },\n {\n name: 'warning-hover',\n values: {[Themes.Light]: '#DB9A3F', [Themes.Dark]: '#DB9A3F'},\n },\n {\n name: 'on-warning',\n values: {[Themes.Light]: '#ffffff', [Themes.Dark]: '#ffffff'},\n },\n {\n name: 'on-warning-2',\n values: {[Themes.Light]: '#000000', [Themes.Dark]: '#000000'},\n },\n {\n name: 'background',\n values: {[Themes.Light]: '#EBEBEB', [Themes.Dark]: '#212224'},\n },\n {\n name: 'surface-primary',\n values: {[Themes.Light]: '#ffffff', [Themes.Dark]: '#131920'},\n },\n {\n name: 'surface-secondary',\n values: {[Themes.Light]: '#F5F5F5', [Themes.Dark]: '#000000'},\n },\n {\n name: 'overlay',\n values: {[Themes.Light]: '#F5F5F5CC', [Themes.Dark]: '#000000CC'},\n },\n {\n name: 'hover',\n values: {[Themes.Light]: '#66666613', [Themes.Dark]: '#FFFFFF13'},\n },\n {\n name: 'hover-accent',\n values: {[Themes.Light]: '#66666626', [Themes.Dark]: '#C9E0FA26'},\n },\n {\n name: 'divider',\n values: {[Themes.Light]: '#ABB6C2', [Themes.Dark]: '#6A7B8A'},\n },\n {\n name: 'divider-muted',\n values: {[Themes.Light]: '#ABB6C266', [Themes.Dark]: '#6A7B8A66'},\n },\n {\n name: 'text-primary',\n values: {[Themes.Light]: '#28303A', [Themes.Dark]: '#FFFFFF'},\n },\n {\n name: 'text-secondary',\n values: {[Themes.Light]: '#8A94A2', [Themes.Dark]: '#AAACB0'},\n },\n {\n name: 'text-help',\n values: {[Themes.Light]: '#4C9BE8', [Themes.Dark]: '#4C9BE8'},\n },\n\n {\n name: 'input-background',\n values: {[Themes.Light]: '#E2E8ED', [Themes.Dark]: '#42566B'},\n },\n {\n name: 'input-placeholder',\n values: {[Themes.Light]: '#28303A80', [Themes.Dark]: '#EBEBEB80'},\n },\n\n {\n name: 'table-accent',\n values: {[Themes.Light]: '#E3E3E3', [Themes.Dark]: '#283848'},\n },\n\n // Icon colors\n {\n name: 'icon-tunneling-1',\n values: {[Themes.Light]: '#4E5D6C', [Themes.Dark]: '#EAEAEA'},\n },\n {\n name: 'icon-tunneling-2',\n values: {[Themes.Light]: '#1D2935', [Themes.Dark]: '#CDCDCD'},\n },\n ],\n}\n\nexport const kingroon = {\n // only light theme is supported for now\n colors: [\n {\n name: 'primary',\n values: {[Themes.Light]: '#ED7100', [Themes.Dark]: '#ED7100'},\n },\n {\n name: 'primary-hover',\n values: {[Themes.Light]: '#fb7a00', [Themes.Dark]: '#fb7a00'},\n },\n {\n name: 'primary-muted',\n values: {[Themes.Light]: '#24A8EC', [Themes.Dark]: '#018786'},\n },\n {\n name: 'on-primary',\n values: {[Themes.Light]: '#FFFFFF', [Themes.Dark]: '#001210'},\n },\n {\n name: 'secondary',\n values: {[Themes.Light]: '#28303A', [Themes.Dark]: '#AAACB0'},\n },\n {\n name: 'secondary-hover',\n values: {[Themes.Light]: '#424A54', [Themes.Dark]: '#D0D0D0'},\n },\n {\n name: 'on-secondary',\n values: {[Themes.Light]: '#EBEBEB', [Themes.Dark]: '#28303A'},\n },\n {\n name: 'success',\n values: {[Themes.Light]: '#5CB85C', [Themes.Dark]: '#5CB85C'},\n },\n {\n name: 'success-hover',\n values: {[Themes.Light]: '#4CAE4C', [Themes.Dark]: '#4CAE4C'},\n },\n {\n name: 'on-success',\n values: {[Themes.Light]: '#ffffff', [Themes.Dark]: '#ffffff'},\n },\n {\n name: 'danger',\n values: {[Themes.Light]: '#D9534F', [Themes.Dark]: '#D9534F'},\n },\n {\n name: 'danger-hover',\n values: {[Themes.Light]: '#C2413D', [Themes.Dark]: '#C2413D'},\n },\n {\n name: 'on-danger',\n values: {[Themes.Light]: '#ffffff', [Themes.Dark]: '#ffffff'},\n },\n {\n name: 'warning',\n values: {[Themes.Light]: '#F0AD4E', [Themes.Dark]: '#F0AD4E'},\n },\n {\n name: 'warning-hover',\n values: {[Themes.Light]: '#DB9A3F', [Themes.Dark]: '#DB9A3F'},\n },\n {\n name: 'on-warning',\n values: {[Themes.Light]: '#ffffff', [Themes.Dark]: '#ffffff'},\n },\n {\n name: 'on-warning-2',\n values: {[Themes.Light]: '#000000', [Themes.Dark]: '#000000'},\n },\n {\n name: 'background',\n values: {[Themes.Light]: '#EBEBEB', [Themes.Dark]: '#212224'},\n },\n {\n name: 'surface-primary',\n values: {[Themes.Light]: '#ffffff', [Themes.Dark]: '#131920'},\n },\n {\n name: 'surface-secondary',\n values: {[Themes.Light]: '#F5F5F5', [Themes.Dark]: '#000000'},\n },\n {\n name: 'overlay',\n values: {[Themes.Light]: '#F5F5F5CC', [Themes.Dark]: '#000000CC'},\n },\n {\n name: 'hover',\n values: {[Themes.Light]: '#66666613', [Themes.Dark]: '#FFFFFF13'},\n },\n {\n name: 'hover-accent',\n values: {[Themes.Light]: '#66666626', [Themes.Dark]: '#C9E0FA26'},\n },\n {\n name: 'divider',\n values: {[Themes.Light]: '#ABB6C2', [Themes.Dark]: '#6A7B8A'},\n },\n {\n name: 'divider-muted',\n values: {[Themes.Light]: '#ABB6C266', [Themes.Dark]: '#6A7B8A66'},\n },\n {\n name: 'text-primary',\n values: {[Themes.Light]: '#28303A', [Themes.Dark]: '#FFFFFF'},\n },\n {\n name: 'text-secondary',\n values: {[Themes.Light]: '#8A94A2', [Themes.Dark]: '#AAACB0'},\n },\n {\n name: 'text-help',\n values: {[Themes.Light]: '#4C9BE8', [Themes.Dark]: '#4C9BE8'},\n },\n\n {\n name: 'input-background',\n values: {[Themes.Light]: '#E2E8ED', [Themes.Dark]: '#42566B'},\n },\n {\n name: 'input-placeholder',\n values: {[Themes.Light]: '#28303A80', [Themes.Dark]: '#EBEBEB80'},\n },\n\n {\n name: 'table-accent',\n values: {[Themes.Light]: '#E3E3E3', [Themes.Dark]: '#283848'},\n },\n\n // Icon colors\n {\n name: 'icon-tunneling-1',\n values: {[Themes.Light]: '#4E5D6C', [Themes.Dark]: '#EAEAEA'},\n },\n {\n name: 'icon-tunneling-2',\n values: {[Themes.Light]: '#1D2935', [Themes.Dark]: '#CDCDCD'},\n },\n ],\n}\n\nexport const mintion = {\n // only light theme is supported for now\n colors: [\n {\n name: 'primary',\n values: {[Themes.Light]: '#75C4FE', [Themes.Dark]: '#75C4FE'},\n },\n {\n name: 'primary-hover',\n values: {[Themes.Light]: '#35A9FD', [Themes.Dark]: '#35A9FD'},\n },\n {\n name: 'primary-muted',\n values: {[Themes.Light]: '#03DAC5', [Themes.Dark]: '#03DAC5'},\n },\n {\n name: 'on-primary',\n values: {[Themes.Light]: '#FFFFFF', [Themes.Dark]: '#FFFFFF'},\n },\n {\n name: 'secondary',\n values: {[Themes.Light]: '#28303A', [Themes.Dark]: '#28303A'},\n },\n {\n name: 'secondary-hover',\n values: {[Themes.Light]: '#424A54', [Themes.Dark]: '#424A54'},\n },\n {\n name: 'on-secondary',\n values: {[Themes.Light]: '#EBEBEB', [Themes.Dark]: '#EBEBEB'},\n },\n {\n name: 'success',\n values: {[Themes.Light]: '#5CB85C', [Themes.Dark]: '#5CB85C'},\n },\n {\n name: 'success-hover',\n values: {[Themes.Light]: '#4CAE4C', [Themes.Dark]: '#4CAE4C'},\n },\n {\n name: 'on-success',\n values: {[Themes.Light]: '#ffffff', [Themes.Dark]: '#ffffff'},\n },\n {\n name: 'danger',\n values: {[Themes.Light]: '#D9534F', [Themes.Dark]: '#D9534F'},\n },\n {\n name: 'danger-hover',\n values: {[Themes.Light]: '#C2413D', [Themes.Dark]: '#C2413D'},\n },\n {\n name: 'on-danger',\n values: {[Themes.Light]: '#ffffff', [Themes.Dark]: '#ffffff'},\n },\n {\n name: 'warning',\n values: {[Themes.Light]: '#F0AD4E', [Themes.Dark]: '#F0AD4E'},\n },\n {\n name: 'warning-hover',\n values: {[Themes.Light]: '#DB9A3F', [Themes.Dark]: '#DB9A3F'},\n },\n {\n name: 'on-warning',\n values: {[Themes.Light]: '#ffffff', [Themes.Dark]: '#ffffff'},\n },\n {\n name: 'on-warning-2',\n values: {[Themes.Light]: '#000000', [Themes.Dark]: '#000000'},\n },\n {\n name: 'background',\n values: {[Themes.Light]: '#EBEBEB', [Themes.Dark]: '#EBEBEB'},\n },\n {\n name: 'surface-primary',\n values: {[Themes.Light]: '#ffffff', [Themes.Dark]: '#ffffff'},\n },\n {\n name: 'surface-secondary',\n values: {[Themes.Light]: '#F5F5F5', [Themes.Dark]: '#F5F5F5'},\n },\n {\n name: 'overlay',\n values: {[Themes.Light]: '#F5F5F5CC', [Themes.Dark]: '#F5F5F5CC'},\n },\n {\n name: 'hover',\n values: {[Themes.Light]: '#66666613', [Themes.Dark]: '#66666613'},\n },\n {\n name: 'hover-accent',\n values: {[Themes.Light]: '#66666626', [Themes.Dark]: '#66666626'},\n },\n {\n name: 'divider',\n values: {[Themes.Light]: '#ABB6C2', [Themes.Dark]: '#ABB6C2'},\n },\n {\n name: 'divider-muted',\n values: {[Themes.Light]: '#ABB6C266', [Themes.Dark]: '#ABB6C266'},\n },\n {\n name: 'text-primary',\n values: {[Themes.Light]: '#28303A', [Themes.Dark]: '#28303A'},\n },\n {\n name: 'text-secondary',\n values: {[Themes.Light]: '#8A94A2', [Themes.Dark]: '#8A94A2'},\n },\n {\n name: 'text-help',\n values: {[Themes.Light]: '#4C9BE8', [Themes.Dark]: '#4C9BE8'},\n },\n\n {\n name: 'input-background',\n values: {[Themes.Light]: '#E2E8ED', [Themes.Dark]: '#E2E8ED'},\n },\n {\n name: 'input-placeholder',\n values: {[Themes.Light]: '#28303A80', [Themes.Dark]: '#28303A80'},\n },\n\n {\n name: 'table-accent',\n values: {[Themes.Light]: '#E3E3E3', [Themes.Dark]: '#E3E3E3'},\n },\n\n // Icon colors\n {\n name: 'icon-tunneling-1',\n values: {[Themes.Light]: '#4E5D6C', [Themes.Dark]: '#4E5D6C'},\n },\n {\n name: 'icon-tunneling-2',\n values: {[Themes.Light]: '#1D2935', [Themes.Dark]: '#1D2935'},\n },\n ],\n}\n\n\nexport const biqu = {\n // only dark theme is supported for now\n colors: [\n {\n name: 'primary',\n values: {[Themes.Light]: '#3596f3', [Themes.Dark]: '#3596f3'},\n },\n {\n name: 'primary-hover',\n values: {[Themes.Light]: '#70EFDE', [Themes.Dark]: '#70EFDE'},\n },\n {\n name: 'primary-muted',\n values: {[Themes.Light]: '#018786', [Themes.Dark]: '#018786'},\n },\n {\n name: 'on-primary',\n values: {[Themes.Light]: '#001210', [Themes.Dark]: '#001210'},\n },\n {\n name: 'secondary',\n values: {[Themes.Light]: '#EBEBEB', [Themes.Dark]: '#EBEBEB'},\n },\n {\n name: 'secondary-hover',\n values: {[Themes.Light]: '#D0D0D0', [Themes.Dark]: '#D0D0D0'},\n },\n {\n name: 'on-secondary',\n values: {[Themes.Light]: '#28303A', [Themes.Dark]: '#28303A'},\n },\n {\n name: 'success',\n values: {[Themes.Light]: '#5CB85C', [Themes.Dark]: '#5CB85C'},\n },\n {\n name: 'success-hover',\n values: {[Themes.Light]: '#4CAE4C', [Themes.Dark]: '#4CAE4C'},\n },\n {\n name: 'on-success',\n values: {[Themes.Light]: '#ffffff', [Themes.Dark]: '#ffffff'},\n },\n {\n name: 'danger',\n values: {[Themes.Light]: '#D9534F', [Themes.Dark]: '#D9534F'},\n },\n {\n name: 'danger-hover',\n values: {[Themes.Light]: '#C2413D', [Themes.Dark]: '#C2413D'},\n },\n {\n name: 'on-danger',\n values: {[Themes.Light]: '#ffffff', [Themes.Dark]: '#ffffff'},\n },\n {\n name: 'warning',\n values: {[Themes.Light]: '#F0AD4E', [Themes.Dark]: '#F0AD4E'},\n },\n {\n name: 'warning-hover',\n values: {[Themes.Light]: '#DB9A3F', [Themes.Dark]: '#DB9A3F'},\n },\n {\n name: 'on-warning',\n values: {[Themes.Light]: '#ffffff', [Themes.Dark]: '#ffffff'},\n },\n {\n name: 'on-warning-2',\n values: {[Themes.Light]: '#000000', [Themes.Dark]: '#000000'},\n },\n {\n name: 'background',\n values: {[Themes.Light]: '#0a0c22', [Themes.Dark]: '#0a0c22'},\n },\n {\n name: 'surface-primary',\n values: {[Themes.Light]: '#20274f', [Themes.Dark]: '#20274f'},\n },\n {\n name: 'surface-secondary',\n values: {[Themes.Light]: '#0c1239', [Themes.Dark]: '#0c1239'},\n },\n {\n name: 'overlay',\n values: {[Themes.Light]: '#F5F5F5CC', [Themes.Dark]: '#F5F5F5CC'},\n },\n {\n name: 'hover',\n values: {[Themes.Light]: '#66666613', [Themes.Dark]: '#66666613'},\n },\n {\n name: 'hover-accent',\n values: {[Themes.Light]: '#66666626', [Themes.Dark]: '#66666626'},\n },\n {\n name: 'divider',\n values: {[Themes.Light]: '#6A7B8A', [Themes.Dark]: '#6A7B8A'},\n },\n {\n name: 'divider-muted',\n values: {[Themes.Light]: '#ABB6C266', [Themes.Dark]: '#ABB6C266'},\n },\n {\n name: 'text-primary',\n values: {[Themes.Light]: '#EBEBEB', [Themes.Dark]: '#EBEBEB'},\n },\n {\n name: 'text-secondary',\n values: {[Themes.Light]: '#AAACB0', [Themes.Dark]: '#AAACB0'},\n },\n {\n name: 'text-help',\n values: {[Themes.Light]: '#283848', [Themes.Dark]: '#283848'},\n },\n\n {\n name: 'input-background',\n values: {[Themes.Light]: '#42566B', [Themes.Dark]: '#000000'},\n },\n {\n name: 'input-placeholder',\n values: {[Themes.Light]: '#28303A80', [Themes.Dark]: '#28303A80'},\n },\n\n {\n name: 'table-accent',\n values: {[Themes.Light]: '#E3E3E3', [Themes.Dark]: '#E3E3E3'},\n },\n\n // Icon colors\n {\n name: 'icon-tunneling-1',\n values: {[Themes.Light]: '#4E5D6C', [Themes.Dark]: '#4E5D6C'},\n },\n {\n name: 'icon-tunneling-2',\n values: {[Themes.Light]: '#1D2935', [Themes.Dark]: '#1D2935'},\n },\n ],\n}\n","import { isLocalStorageSupported } from './utils.js'\nimport * as syndicates from './syndicate.js'\n\n\nconst Themes = {\n Light: 'Light',\n Dark: 'Dark',\n System: 'System',\n}\n\nconst defaultTheme = (isLocalStorageSupported() ? localStorage.getItem('colorTheme') : Themes.Dark) || Themes.Dark\n\n// CSS Vars\n\nconst colors = [\n {\n name: 'primary',\n values: {[Themes.Light]: '#01A299', [Themes.Dark]: '#03DAC5'},\n },\n {\n name: 'primary-hover',\n values: {[Themes.Light]: '#019592', [Themes.Dark]: '#70EFDE'},\n },\n {\n name: 'primary-muted',\n values: {[Themes.Light]: '#03DAC5', [Themes.Dark]: '#018786'},\n },\n {\n name: 'on-primary',\n values: {[Themes.Light]: '#FFFFFF', [Themes.Dark]: '#001210'},\n },\n {\n name: 'secondary',\n values: {[Themes.Light]: '#28303A', [Themes.Dark]: '#EBEBEB'},\n },\n {\n name: 'secondary-hover',\n values: {[Themes.Light]: '#424A54', [Themes.Dark]: '#D0D0D0'},\n },\n {\n name: 'on-secondary',\n values: {[Themes.Light]: '#EBEBEB', [Themes.Dark]: '#28303A'},\n },\n {\n name: 'success',\n values: {[Themes.Light]: '#5CB85C', [Themes.Dark]: '#5CB85C'},\n },\n {\n name: 'success-hover',\n values: {[Themes.Light]: '#4CAE4C', [Themes.Dark]: '#4CAE4C'},\n },\n {\n name: 'on-success',\n values: {[Themes.Light]: '#ffffff', [Themes.Dark]: '#ffffff'},\n },\n {\n name: 'danger',\n values: {[Themes.Light]: '#D9534F', [Themes.Dark]: '#D9534F'},\n },\n {\n name: 'danger-hover',\n values: {[Themes.Light]: '#C2413D', [Themes.Dark]: '#C2413D'},\n },\n {\n name: 'on-danger',\n values: {[Themes.Light]: '#ffffff', [Themes.Dark]: '#ffffff'},\n },\n {\n name: 'warning',\n values: {[Themes.Light]: '#F0AD4E', [Themes.Dark]: '#F0AD4E'},\n },\n {\n name: 'warning-hover',\n values: {[Themes.Light]: '#DB9A3F', [Themes.Dark]: '#DB9A3F'},\n },\n {\n name: 'on-warning',\n values: {[Themes.Light]: '#ffffff', [Themes.Dark]: '#ffffff'},\n },\n {\n name: 'on-warning-2',\n values: {[Themes.Light]: '#000000', [Themes.Dark]: '#000000'},\n },\n {\n name: 'background',\n values: {[Themes.Light]: '#EBEBEB', [Themes.Dark]: '#233141'},\n },\n {\n name: 'surface-primary',\n values: {[Themes.Light]: '#ffffff', [Themes.Dark]: '#485B71'},\n },\n {\n name: 'surface-secondary',\n values: {[Themes.Light]: '#F5F5F5', [Themes.Dark]: '#2D3E4F'},\n },\n {\n name: 'overlay',\n values: {[Themes.Light]: '#F5F5F5CC', [Themes.Dark]: '#000000CC'},\n },\n {\n name: 'hover',\n values: {[Themes.Light]: '#66666613', [Themes.Dark]: '#FFFFFF13'},\n },\n {\n name: 'hover-accent',\n values: {[Themes.Light]: '#66666626', [Themes.Dark]: '#C9E0FA26'},\n },\n {\n name: 'divider',\n values: {[Themes.Light]: '#ABB6C2', [Themes.Dark]: '#6A7B8A'},\n },\n {\n name: 'divider-muted',\n values: {[Themes.Light]: '#ABB6C266', [Themes.Dark]: '#6A7B8A66'},\n },\n {\n name: 'text-primary',\n values: {[Themes.Light]: '#28303A', [Themes.Dark]: '#EBEBEB'},\n },\n {\n name: 'text-secondary',\n values: {[Themes.Light]: '#8A94A2', [Themes.Dark]: '#AAACB0'},\n },\n {\n name: 'text-help',\n values: {[Themes.Light]: '#4C9BE8', [Themes.Dark]: '#4C9BE8'},\n },\n\n {\n name: 'input-background',\n values: {[Themes.Light]: '#E2E8ED', [Themes.Dark]: '#42566B'},\n },\n {\n name: 'input-placeholder',\n values: {[Themes.Light]: '#28303A80', [Themes.Dark]: '#EBEBEB80'},\n },\n\n {\n name: 'table-accent',\n values: {[Themes.Light]: '#E3E3E3', [Themes.Dark]: '#283848'},\n },\n\n // Icon colors\n {\n name: 'icon-tunneling-1',\n values: {[Themes.Light]: '#4E5D6C', [Themes.Dark]: '#EAEAEA'},\n },\n {\n name: 'icon-tunneling-2',\n values: {[Themes.Light]: '#1D2935', [Themes.Dark]: '#CDCDCD'},\n },\n]\n\nconst urls = [\n {\n name: 'loader',\n values: {[Themes.Light]: 'url(\"/static/img/loader/loader_light-scheme.svg\")', [Themes.Dark]: 'url(\"/static/img/loader/loader_dark-scheme.svg\")'},\n },\n]\n\nconst shadows = [\n {\n name: 'top-nav',\n values: {[Themes.Light]: '0px 2px 10px rgb(0 0 0 / .1)', [Themes.Dark]: '0px 2px 10px rgb(0 0 0 / .3)'},\n },\n]\n\n\n// Get theme value (exclude \"System\")\nfunction currentThemeValue(theme) {\n // Get system settings\n if (theme.value === Themes.System) {\n if (window.matchMedia('(prefers-color-scheme)').media !== 'not all' && window.matchMedia('(prefers-color-scheme: light)').matches) {\n return Themes.Light\n } else {\n return Themes.Dark\n }\n }\n // Return saved value since it's not \"System\"\n return theme.value\n}\n\nfunction mergeColorOverrides(defaultColors, syndicateColors) {\n const merged = new Map(defaultColors.map(color => [color.name, color]));\n\n syndicateColors.forEach(color => {\n merged.set(color.name, color);\n });\n\n return Array.from(merged.values());\n}\n\n\nfunction initTheme(themeValue, syndicate) {\n const finalColors = syndicate && syndicates[syndicate]\n ? mergeColorOverrides(colors, syndicates[syndicate].colors)\n : colors;\n\n finalColors.forEach(function(color) {\n document.documentElement.style.setProperty(`--color-${color.name}`, color.values[themeValue])\n\n if (color.name === 'surface-secondary') {\n // Set the tag to theme the browser nav bar (Safari)\n let meta = document.querySelector('meta[name=\"theme-color\"]')\n meta.content = color.values[themeValue]\n }\n })\n\n urls.forEach(function(url) {\n document.documentElement.style.setProperty(`--url-${url.name}`, url.values[themeValue])\n })\n\n shadows.forEach(function(shadow) {\n document.documentElement.style.setProperty(`--shadow-${shadow.name}`, shadow.values[themeValue])\n })\n}\n\n\nexport {\n Themes,\n defaultTheme,\n\n colors,\n urls,\n shadows,\n\n currentThemeValue,\n initTheme,\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterEventCard.vue?vue&type=style&index=0&id=4f0efb80&prod&lang=sass&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MoveModal.vue?vue&type=style&index=0&id=3ff54ded&prod&lang=sass&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilteringDropdown.vue?vue&type=style&index=0&id=687a0a02&prod&lang=sass&scoped=true&\"","module.exports = __webpack_public_path__ + \"img/printer.png\";","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActiveFilterNotice.vue?vue&type=style&index=0&id=0aa31f4a&prod&lang=sass&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TerminalWidget.vue?vue&type=style&index=0&id=4fa56247&prod&lang=sass&scoped=true&\"","// Check if localStorage available\nexport function isLocalStorageSupported() {\n try {\n const key = '__random_key_we_are_not_going_to_use__'\n localStorage.setItem(key, key)\n localStorage.removeItem(key)\n return true\n } catch (e) {\n return false\n }\n}\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PageLayout.vue?vue&type=style&index=1&id=5822eab8&prod&lang=sass&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GCodeFoldersPage.vue?vue&type=style&index=0&id=5d00d77d&prod&lang=sass&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterCard.vue?vue&type=style&index=0&id=88cd84ac&prod&lang=sass&scoped=true&\"","// extracted by mini-css-extract-plugin\nmodule.exports = {\"primary\":\"#00c4b4\",\"white\":\"#fff\"};","module.exports = __webpack_public_path__ + \"img/commandLinePrompt.png\";","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterProgress.vue?vue&type=style&index=0&id=09cdf468&prod&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharePrinter.vue?vue&type=style&index=0&id=1f31c9c1&prod&lang=sass&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StatusTemp.vue?vue&type=style&index=0&id=a51f3d38&prod&lang=sass&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FirstLayerReportModal.vue?vue&type=style&index=1&id=c7824f38&prod&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterLinkingPage.vue?vue&type=style&index=0&id=47ff6d0e&prod&lang=sass&scoped=true&\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',{class:{\n 'saving-in-progress': _vm.savingClass,\n 'successfully-saved': _vm.savingDoneClass,\n 'failed-to-save': _vm.savingFailedClass,\n 'small-height': _vm.smallHeightClass,\n }},[_vm._t(\"default\")],2),(_vm.errors && _vm.errors.length > 0)?_c('small',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.errorMsg))]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SavingAnimation.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SavingAnimation.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SavingAnimation.vue?vue&type=template&id=2e4df370&scoped=true&\"\nimport script from \"./SavingAnimation.vue?vue&type=script&lang=js&\"\nexport * from \"./SavingAnimation.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SavingAnimation.vue?vue&type=style&index=0&id=2e4df370&prod&lang=sass&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2e4df370\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintShotFeedbackApp.vue?vue&type=style&index=0&id=65dd3f19&prod&lang=sass&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserPreferencesPage.vue?vue&type=style&index=0&id=720acc46&prod&lang=sass&scoped=true&\"","module.exports = __webpack_public_path__ + \"img/klipper_logo.jpg\";","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReorderModal.vue?vue&type=style&index=0&id=825483f2&prod&lang=sass&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SavingAnimation.vue?vue&type=style&index=0&id=2e4df370&prod&lang=sass&scoped=true&\"","module.exports = __webpack_public_path__ + \"img/gaps-2.jpg\";","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterSettingsPage.vue?vue&type=style&index=0&id=3d5060ec&prod&lang=sass&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FocusedFeedbackConsent.vue?vue&type=style&index=0&id=c265fb70&prod&lang=sass&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewOctoPrintTunnelPage.vue?vue&type=style&index=0&id=0e2f9398&prod&lang=sass&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HelpWidget.vue?vue&type=style&index=1&id=8b03b208&prod&scoped=true&lang=css&\"","module.exports = __webpack_public_path__ + \"img/raspberry_pi.png\";","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharedPrinterPage.vue?vue&type=style&index=0&id=1dd34976&prod&lang=sass&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintProgressWidget.vue?vue&type=style&index=0&id=951008e4&prod&lang=sass&scoped=true&\"","module.exports = __webpack_public_path__ + \"img/fluidd_logo.png\";","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StatsPage.vue?vue&type=style&index=0&id=7397c062&prod&lang=sass&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetectiveWorking.vue?vue&type=style&index=0&id=5e3b0b22&prod&lang=sass&scoped=true&\"","module.exports = __webpack_public_path__ + \"img/raisedRipples-3.jpg\";","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AutoLinkPopup.vue?vue&type=style&index=0&id=18c57e6c&prod&lang=sass&scoped=true&\"","import startCase from 'lodash/startCase'\nimport toLower from 'lodash/toLower'\nimport replace from 'lodash/replace'\nimport get from 'lodash/get'\n\nexport function getNotificationSettingKey(notificationChannel, key) {\n return `${notificationChannel.channelName}_${key}`\n}\n\nexport function temperatureDisplayName(name) {\n return startCase(toLower(replace(name, /_/g, ' ')))\n}\n\nexport const getNormalizedP = (predictions, currentPosition, isPublic) => {\n const num = Math.round(predictions.length * currentPosition)\n const propName = isPublic ? 'p' : 'fields.normalized_p'\n return get(predictions[num], `${propName}`, 0)\n}\n\nexport const toArrayBuffer = (maybeBin, onData) => {\n if (!maybeBin) {\n return\n }\n\n if (maybeBin instanceof Blob) {\n const reader = new FileReader()\n reader.addEventListener('loadend', (e) => {\n if (!e.srcElement) {\n return\n }\n onData(e.srcElement.result)\n })\n reader.readAsArrayBuffer(maybeBin)\n } else {\n onData(maybeBin)\n }\n}\n\nexport const getCsrfFromDocument = () => {\n return document.getElementsByName('csrfmiddlewaretoken')[0]?.value\n}\n\nexport const downloadFile = (url, filename) => {\n fetch(url)\n .then((res) => res.blob())\n .then((res) => {\n const aElement = document.createElement('a')\n aElement.setAttribute('download', filename)\n const href = URL.createObjectURL(res)\n aElement.href = href\n aElement.setAttribute('target', '_blank')\n aElement.click()\n URL.revokeObjectURL(href)\n })\n}\n\nexport const formatWithoutDaylightSavingShift = (date, formattingStr) => {\n return date.utcOffset(date._tzm).format(formattingStr)\n}\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OctoPrintTunnelPage.vue?vue&type=style&index=1&id=36042095&prod&lang=sass&\"","module.exports = __webpack_public_path__ + \"img/raisedRipples-2.jpg\";","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MutedAlert.vue?vue&type=style&index=0&id=55bd9838&prod&lang=sass&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GCodeFilePage.vue?vue&type=style&index=0&id=0d6b7614&prod&lang=sass&scoped=true&\"","import entries from 'lodash/entries'\nimport map from 'lodash/map'\n\nexport default {\n // APIs\n printShotFeedback: (shotId, printId) =>\n `/api/v1/printshotfeedbacks/${shotId}/?print_id=${printId}`,\n print: (printId) => `/api/v1/prints/${printId}/`,\n prints: () => '/api/v1/prints/',\n printsBulkDelete: () => '/api/v1/prints/bulk_delete/',\n stats: () => `/api/v1/prints/stats/`,\n\n printers: () => '/api/v1/printers/',\n printer: (printerId) => `/api/v1/printers/${printerId}/`,\n printerAction: (printerId, path) => `/api/v1/printers/${printerId}${path}`,\n pubPrinter: () => '/api/v1p/printer/',\n\n tunnels: () => '/api/v1/tunnels/',\n tunnel: (id) => `/api/v1/tunnels/${id}/`,\n tunnelUsage: () => '/api/v1/tunnelusage/',\n verificationCode: () => '/api/v1/onetimeverificationcodes/',\n user: () => '/api/v1/users/me/',\n sharedResources: (paramsObj) =>\n '/api/v1/sharedresources/?' + map(entries(paramsObj), (entry) => entry.join('=')).join('&'),\n sharedResource: (resourceId) => `/api/v1/sharedresources/${resourceId}/`,\n printerDiscovery: () => '/api/v1/printer_discovery/',\n oneTimePasscodes: () => '/api/v1/one_time_passcodes/',\n\n printerEvents: () => '/api/v1/printer_events/',\n\n // Notifications\n notificationPlugins: () => '/api/v1/notification_settings/available_plugins/',\n notificationChannels: () => '/api/v1/notification_settings/',\n updateNotificationChannel: (id) => `/api/v1/notification_settings/${id}/`,\n testNotificationChannel: (id) => `/api/v1/notification_settings/${id}/send_test_message/`,\n\n // App urls\n printerControl: (printerId) => `/printers/${printerId}/control/`,\n printerWebSocket: (printerId) => `/ws/web/${printerId}/`,\n printerSharedWebSocket: (token) => `/ws/share_token/web/${token}/`,\n printerWizard: (printerId) => `/printers/wizard/?printerId=${printerId}`,\n\n // Gcodes\n gcodeFile: (id) => `/api/v1/g_code_files/${id}/`,\n gcodeFiles: () => '/api/v1/g_code_files/',\n gcodeFolder: (id) => `/api/v1/g_code_folders/${id}/`,\n gcodeFolders: () => '/api/v1/g_code_folders/',\n gcode: (gcodeId) => `/api/v1/g_code_files/${gcodeId}/`,\n gcodeFolderBulkDelete: () => '/api/v1/g_code_folders/bulk_delete/',\n gcodeFileBulkDelete: () => '/api/v1/g_code_files/bulk_delete/',\n gcodeFolderBulkMove: () => '/api/v1/g_code_folders/bulk_move/',\n gcodeFileBulkMove: () => '/api/v1/g_code_files/bulk_move/',\n}\n","module.exports = __webpack_public_path__ + \"img/lcdScreenLarge.png\";","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintHistoryPage.vue?vue&type=style&index=0&id=4bb2d91a&prod&lang=sass&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileStructureItem.vue?vue&type=style&index=0&id=ad2c3ac6&prod&lang=sass&scoped=true&\"","module.exports = __webpack_public_path__ + \"img/octoapp.webp\";","module.exports = __webpack_public_path__ + \"img/bubbling-1.jpg\";","module.exports = __webpack_public_path__ + \"img/detached-2.jpg\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvailablePrinters.vue?vue&type=style&index=0&id=77186cca&prod&lang=sass&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FailureDetectionGauge.vue?vue&type=style&index=0&id=465c0e04&prod&lang=sass&scoped=true&\"","module.exports = __webpack_public_path__ + \"img/generic-app.png\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ObicoInstallationGuidePage.vue?vue&type=style&index=0&id=0503971a&prod&lang=scss&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CollapsableDetails.vue?vue&type=style&index=0&id=572cc95b&prod&lang=sass&scoped=true&\"","module.exports = __webpack_public_path__ + \"img/mobileraker.webp\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintCard.vue?vue&type=style&index=0&id=5aae4a5a&prod&lang=sass&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TerminalFeedView.vue?vue&type=style&index=0&id=e788be14&prod&lang=sass&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintJobControlWidget.vue?vue&type=style&index=0&id=c7deff6e&prod&lang=sass&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GCodeDetails.vue?vue&type=style&index=0&id=0991d3bd&prod&lang=sass&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GCodeFileStructure.vue?vue&type=style&index=0&id=254b72e8&prod&lang=sass&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrinterControlPage.vue?vue&type=style&index=0&id=5dd1d5bb&prod&lang=sass&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchInput.vue?vue&type=style&index=0&id=33fc3084&prod&lang=sass&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OctoPrintTunnelPage.vue?vue&type=style&index=0&id=36042095&prod&lang=sass&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TemperatureWidget.vue?vue&type=style&index=0&id=6556ed7d&prod&lang=sass&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TargetPlatformSelectionPage.vue?vue&type=style&index=0&id=292aad3e&prod&lang=scss&scoped=true&\"","module.exports = __webpack_public_path__ + \"img/plugin_verification_code.png\";","module.exports = __webpack_public_path__ + \"img/vacation.gif\";","module.exports = __webpack_public_path__ + \"img/bumpsAndRoughSurface-2.jpg\";","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HelpWidget.vue?vue&type=style&index=0&id=8b03b208&prod&lang=sass&scoped=true&\"","module.exports = __webpack_public_path__ + \"img/bumpsAndRoughSurface-1.jpg\";"],"sourceRoot":""} \ No newline at end of file