diff --git a/dist/css/app.9def5edf.css b/dist/css/app.c76b8279.css
similarity index 61%
rename from dist/css/app.9def5edf.css
rename to dist/css/app.c76b8279.css
index 8b99727..3fc1d0e 100644
--- a/dist/css/app.9def5edf.css
+++ b/dist/css/app.c76b8279.css
@@ -1 +1 @@
-*{margin:0;padding:0;box-sizing:border-box}body,html{font-family:Helvetica Neue,Helvetica,Arial,Microsoft YaHei,sans-serif;font-size:16px;line-height:1.5;color:#333;background-color:#f8f9fa}#app{min-height:100vh;display:flex;flex-direction:column}a{text-decoration:none;color:inherit}img{max-width:100%;height:auto}.beian-footer{background-color:#f8f9fa;padding:15px 0;text-align:center;font-size:12px;color:#777;border-top:1px solid #e9ecef;margin-top:auto}.beian-footer a{color:#666}.beian-footer a:hover{color:#3273dc}.copyright{margin-top:8px}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 15px}.survey-float-icon{position:fixed;bottom:100px;right:45px;width:60px;height:auto;z-index:9999;cursor:pointer;transition:transform .3s ease;text-align:center}.survey-float-icon:hover{transform:scale(1.1)}.survey-float-icon img{width:60px;height:60px;-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 4px 6px rgba(0,0,0,.1));display:block}.survey-label{margin-top:5px;font-size:12px;color:#555;background-color:hsla(0,0%,100%,.9);padding:2px 4px;border-radius:4px;box-shadow:0 2px 4px rgba(0,0,0,.1);line-height:1.3}.survey-float-icon .close-btn{position:absolute;top:-8px;right:-8px;width:20px;height:20px;background-color:rgba(0,0,0,.5);color:#fff;border-radius:50%;text-align:center;line-height:18px;font-size:14px;cursor:pointer;z-index:10000;border:1px solid #fff}.survey-float-icon .close-btn:hover{background-color:rgba(0,0,0,.8)}.message-overlay[data-v-f960493c]{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:9999}.message-box[data-v-f960493c]{background-color:#fff;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15);width:400px;max-width:90%;overflow:hidden;animation:message-in-f960493c .3s ease}.message-header[data-v-f960493c]{padding:16px 20px;border-bottom:1px solid #f0f0f0}.message-header h3[data-v-f960493c]{margin:0;font-size:16px;font-weight:600;color:#333}.message-content[data-v-f960493c]{padding:20px;font-size:14px;color:#555;line-height:1.6}.message-content p[data-v-f960493c]{margin:0;margin-bottom:1rem}.message-content .input-wrapper[data-v-f960493c]{margin-top:1rem}.message-content .input-wrapper .message-input[data-v-f960493c]{width:100%;padding:8px 12px;border:1px solid #dcdfe6;border-radius:4px;font-size:14px;line-height:1.5;color:#606266;transition:border-color .2s}.message-content .input-wrapper .message-input[data-v-f960493c]:focus{outline:none;border-color:#3273dc}.message-content .input-wrapper .message-input[data-v-f960493c]::-moz-placeholder{color:#c0c4cc}.message-content .input-wrapper .message-input[data-v-f960493c]::placeholder{color:#c0c4cc}.message-footer[data-v-f960493c]{padding:12px 20px;display:flex;justify-content:flex-end;gap:12px;border-top:1px solid #f0f0f0}.btn[data-v-f960493c]{padding:8px 16px;border-radius:4px;font-size:14px;cursor:pointer;transition:all .3s;border:none;outline:none}.btn-cancel[data-v-f960493c]{background-color:#f5f5f5;color:#666}.btn-cancel[data-v-f960493c]:hover{background-color:#e8e8e8}.btn-confirm[data-v-f960493c]{background-color:#3273dc;color:#fff}.btn-confirm[data-v-f960493c]:hover{background-color:#2366d1}.message-fade-enter-active[data-v-f960493c],.message-fade-leave-active[data-v-f960493c]{transition:opacity .3s}.message-fade-enter-from[data-v-f960493c],.message-fade-leave-to[data-v-f960493c]{opacity:0}@keyframes message-in-f960493c{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:768px){.message-box[data-v-f960493c]{width:320px}.message-content[data-v-f960493c]{padding:16px}.message-footer[data-v-f960493c]{padding:10px 16px}}.login-container[data-v-6a420ba9]{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;z-index:9999}.login-overlay[data-v-6a420ba9]{position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.5)}.login-box[data-v-6a420ba9]{background-color:#fff;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.1);padding:2rem;width:100%;max-width:400px;position:relative;z-index:1}.login-header[data-v-6a420ba9]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.login-title[data-v-6a420ba9]{text-align:center;color:#333;font-size:1.5rem;margin:0;flex:1}.login-form[data-v-6a420ba9]{display:flex;flex-direction:column}.form-group[data-v-6a420ba9]{margin-bottom:1rem}label[data-v-6a420ba9]{display:block;margin-bottom:.5rem;font-weight:500}.form-input[data-v-6a420ba9]{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;transition:border-color .3s}.form-input[data-v-6a420ba9]:focus{outline:none;border-color:#3273dc;box-shadow:0 0 0 2px rgba(50,115,220,.2)}.message[data-v-6a420ba9]{margin:1rem 0;padding:.75rem;border-radius:4px;text-align:center}.message.error[data-v-6a420ba9]{background-color:rgba(255,56,96,.1);color:#ff3860}.message.success[data-v-6a420ba9]{background-color:rgba(35,209,96,.1);color:#23d160}.button-group[data-v-6a420ba9]{display:flex;gap:1rem;margin-top:1rem}.btn[data-v-6a420ba9]{flex:1;padding:.75rem;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:background-color .3s,transform .2s}.btn[data-v-6a420ba9]:hover{transform:translateY(-2px)}.btn[data-v-6a420ba9]:active{transform:translateY(0)}.btn-primary[data-v-6a420ba9]{background-color:#3273dc;color:#fff}.btn-primary[data-v-6a420ba9]:hover{background-color:#2366d1}.btn-secondary[data-v-6a420ba9]{background-color:#f5f5f5;color:#333}.btn-secondary[data-v-6a420ba9]:hover{background-color:#e8e8e8}.modal[data-v-6a420ba9]{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.5);z-index:1000;align-items:center;justify-content:center}.modal.show[data-v-6a420ba9]{display:flex}.modal-content[data-v-6a420ba9]{background-color:#fff;border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.2);width:90%;max-width:400px;overflow:hidden}.modal-header[data-v-6a420ba9]{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid #eee}.modal-header h3[data-v-6a420ba9]{margin:0;font-size:1.25rem}.modal-body[data-v-6a420ba9]{padding:1.5rem}.modal-footer[data-v-6a420ba9]{padding:1rem;border-top:1px solid #eee;text-align:right}.close-btn[data-v-6a420ba9]{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666}.close-btn[data-v-6a420ba9]:hover{color:#333}.captcha-instruction[data-v-6a420ba9]{margin-bottom:1rem}.captcha-message[data-v-6a420ba9]{margin-top:.5rem;font-size:.9rem}.captcha-message.error[data-v-6a420ba9]{color:#ff3860}.captcha-message.success[data-v-6a420ba9]{color:#23d160}.loading-overlay[data-v-6a420ba9]{position:fixed;top:0;left:0;width:100%;height:100%;background-color:hsla(0,0%,100%,.8);display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:2000}.spinner[data-v-6a420ba9]{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #3273dc;border-radius:50%;animation:spin-6a420ba9 1s linear infinite;margin-bottom:1rem}@keyframes spin-6a420ba9{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media(max-width:480px){.login-box[data-v-6a420ba9]{padding:1.5rem}.button-group[data-v-6a420ba9]{flex-direction:column}.btn[data-v-6a420ba9]{margin-bottom:.5rem}}.vip-badge[data-v-69166869]{height:25px;vertical-align:middle}.user-meta[data-v-69166869]{position:relative;display:inline-block}.user-basic[data-v-69166869]{display:flex;align-items:center;gap:8px;cursor:pointer}.avatar-wrapper[data-v-69166869]{position:relative;width:36px;height:36px}.avatar[data-v-69166869]{width:36px;height:36px;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:2px solid #eee}.avatar-loading[data-v-69166869]{position:absolute;top:0;left:0;width:100%;height:100%;background-color:hsla(0,0%,100%,.7);border-radius:50%;display:flex;justify-content:center;align-items:center}.loading-spinner[data-v-69166869]{width:20px;height:20px;border:2px solid #f3f3f3;border-top:2px solid #3273dc;border-radius:50%;animation:spin-69166869 1s linear infinite}@keyframes spin-69166869{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.user-name[data-v-69166869]{font-weight:500;font-size:14px;color:#333}.user-badges[data-v-69166869]{display:flex;gap:4px}.badge[data-v-69166869]{display:inline-block;padding:1px 6px;border-radius:4px;font-size:12px;color:#fff}.verified[data-v-69166869]{background-color:#3273dc}.invited[data-v-69166869]{background-color:coral}.medal[data-v-69166869]{background-color:gold;color:#333}.user-detail[data-v-69166869]{position:absolute;top:calc(100% + 8px);left:0;width:280px;z-index:9999}.detail-fade-enter-active[data-v-69166869],.detail-fade-leave-active[data-v-69166869]{transition:all .3s cubic-bezier(.4,0,.2,1);transform-origin:top}.detail-fade-enter-from[data-v-69166869],.detail-fade-leave-to[data-v-69166869]{opacity:0;transform:scale(.95) translateY(-10px)}.detail-fade-enter-to[data-v-69166869],.detail-fade-leave-from[data-v-69166869]{opacity:1;transform:scale(1) translateY(0)}.card-container[data-v-69166869]{background-color:#fff;border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.15),0 2px 8px rgba(0,0,0,.1);overflow:hidden}.detail-header[data-v-69166869]{position:relative;padding:16px 16px 4px}.header-bg[data-v-69166869]{position:absolute;top:0;left:0;right:0;height:60px;background:linear-gradient(135deg,#3273dc,#6cb6ff);opacity:.3}.detail-avatar[data-v-69166869]{width:64px;height:64px;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:4px solid #fff;box-shadow:0 2px 10px rgba(0,0,0,.1);position:relative;z-index:1;background-color:#fff}.detail-right[data-v-69166869]{margin-top:8px;position:relative}.detail-name[data-v-69166869]{font-weight:600;font-size:18px;margin-bottom:4px;color:#333;display:inline-block}.user-sign[data-v-69166869]{margin:8px 16px;display:flex;align-items:flex-start;gap:8px;padding:10px 12px;background-color:#f8f9fa;border-radius:8px}.sign-icon[data-v-69166869]{font-size:16px;color:#666}.sign-text[data-v-69166869]{font-size:13px;color:#555;line-height:1.9;flex:1}.user-stats[data-v-69166869]{display:flex;justify-content:center;align-items:center;padding:6px 8px;background-color:#f8f9fa;margin:0 16px;border-radius:8px}.stat-item[data-v-69166869]{text-align:center;flex:1}.stat-separator[data-v-69166869]{width:1px;height:24px;background-color:#ddd;margin:0 16px}.stat-value[data-v-69166869]{font-weight:600;font-size:16px;color:#333}.stat-label[data-v-69166869]{font-size:12px;color:#666}.card-footer[data-v-69166869]{padding:12px 16px 16px;text-align:center}.follow-btn[data-v-69166869]{background:linear-gradient(135deg,#3273dc,#4a89ff);color:#fff;border:none;border-radius:20px;padding:6px 18px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 5px rgba(50,115,220,.3)}.follow-btn[data-v-69166869]:hover{background:linear-gradient(135deg,#2366d1,#3273dc);transform:translateY(-1px);box-shadow:0 4px 8px rgba(50,115,220,.4)}.follow-btn.followed[data-v-69166869]{background:#f0f0f0;color:#666;box-shadow:none;border:1px solid #ddd}.follow-btn.followed[data-v-69166869]:hover{background:#e0e0e0;color:#333;transform:translateY(0);box-shadow:none}.follow-btn.disabled-look[data-v-69166869]{background:#e6e6e6;color:#999;cursor:pointer;box-shadow:none}.follow-btn.disabled-look[data-v-69166869]:hover{background:#dcdcdc;transform:none;box-shadow:none}.user-submissions[data-v-69166869]{padding:16px 16px 0 16px}.submission-header[data-v-69166869]{font-size:13px;font-weight:600;color:#333;margin-bottom:8px;padding-left:4px;border-left:3px solid #3273dc;line-height:1;display:flex;justify-content:space-between;align-items:center}.pagination-controls[data-v-69166869]{display:flex;align-items:center;gap:4px}.page-btn[data-v-69166869]{border:none;background:#f0f0f0;color:#666;width:20px;height:20px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:12px;cursor:pointer;transition:all .2s;padding:0}.page-btn[data-v-69166869]:hover:not(:disabled){background:#e0e0e0;color:#3273dc}.page-btn[data-v-69166869]:disabled{opacity:.5;cursor:not-allowed}.page-info[data-v-69166869]{font-weight:400;font-size:11px;color:#888;min-width:30px;text-align:center}.submission-list[data-v-69166869]{display:flex;flex-direction:column;gap:8px;max-height:150px;overflow-y:auto;padding-right:2px}.submission-list[data-v-69166869]::-webkit-scrollbar{width:4px}.submission-list[data-v-69166869]::-webkit-scrollbar-track{background:#f1f1f1;border-radius:2px}.submission-list[data-v-69166869]::-webkit-scrollbar-thumb{background:#ddd;border-radius:2px}.submission-list[data-v-69166869]::-webkit-scrollbar-thumb:hover{background:#ccc}.submission-item[data-v-69166869]{padding:8px 10px;background-color:#f8f9fa;border-radius:6px;cursor:pointer;transition:all .2s ease;border:1px solid transparent}.submission-item[data-v-69166869]:hover{background-color:#fff;border-color:#e0e0e0;box-shadow:0 2px 8px rgba(0,0,0,.05);transform:translateX(2px)}.submission-title[data-v-69166869]{font-size:13px;color:#444;margin-bottom:6px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.submission-tags[data-v-69166869]{display:flex;gap:4px;flex-wrap:wrap}.tag[data-v-69166869]{padding:2px 6px;border-radius:3px;font-size:11px;font-weight:500}.tag.official[data-v-69166869]{background-color:#e6f7ff;color:#1890ff}.tag.highlight[data-v-69166869]{background-color:#f6ffed;color:#52c41a}.tag.top[data-v-69166869]{background-color:#fff7e6;color:#fa8c16}.colorful-name[data-v-69166869]{background:linear-gradient(90deg,#0562ef,#722ed1,#eb2f96,#0562ef,#722ed1,#eb2f96,#0562ef);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:rainbow-69166869 2s linear infinite;font-weight:700}@keyframes rainbow-69166869{0%{background-position:0 50%}to{background-position:100% 50%}}.navbar[data-v-248d67cd]{background-color:#fff;box-shadow:0 2px 4px rgba(0,0,0,.1);position:fixed;top:0;left:0;right:0;padding:.5rem 1rem;z-index:1000}.navbar .container[data-v-248d67cd]{display:flex;align-items:center;max-width:1200px;margin:0 auto;position:relative;width:100%}.navbar .navbar-brand[data-v-248d67cd]{display:flex;align-items:center;justify-content:space-between;flex:1}.navbar .navbar-logo[data-v-248d67cd]{font-size:1.5rem;font-weight:700;color:#333;text-decoration:none;display:flex;align-items:center}.navbar .navbar-logo-img[data-v-248d67cd]{width:30px;margin-right:8px}.navbar .navbar-logo-img[data-v-248d67cd],.navbar .navbar-title-img[data-v-248d67cd]{height:30px;-o-object-fit:contain;object-fit:contain}.navbar .burger-container[data-v-248d67cd]{position:relative;display:inline-block}.navbar .navbar-burger[data-v-248d67cd]{display:none;width:2rem;height:1.2rem;cursor:pointer;margin-left:0;position:absolute;right:0;top:50%;transform:translateY(-50%)}.navbar .navbar-burger span[data-v-248d67cd]{display:block;height:2px;width:74%;background-color:#333;transition:all .3s ease-in-out;position:absolute;left:0}.navbar .navbar-burger span[data-v-248d67cd]:first-child{top:0}.navbar .navbar-burger span[data-v-248d67cd]:nth-child(2){top:50%;transform:translateY(-50%)}.navbar .navbar-burger span[data-v-248d67cd]:nth-child(3){bottom:0}.navbar .navbar-burger.is-active span[data-v-248d67cd]:nth-child(2){opacity:0}.navbar .navbar-burger.is-active span[data-v-248d67cd]:first-child{top:50%;transform:translateY(-50%) rotate(45deg)}.navbar .navbar-burger.is-active span[data-v-248d67cd]:nth-child(3){bottom:50%;transform:translateY(50%) rotate(-45deg)}.navbar .navbar-menu[data-v-248d67cd]{display:flex;align-items:center;transition:transform .3s ease,opacity .3s ease}.navbar .navbar-end[data-v-248d67cd]{display:flex;align-items:center}.navbar .navbar-item[data-v-248d67cd]{padding:.5rem 1rem;color:#333;text-decoration:none;transition:color .3s;white-space:nowrap}.navbar .navbar-item[data-v-248d67cd]:hover{color:#3273dc}.navbar .user-dropdown[data-v-248d67cd]{position:relative}.navbar .user-dropdown .user-info[data-v-248d67cd]{display:flex;align-items:center;cursor:pointer;padding:.5rem}.navbar .user-dropdown .user-info[data-v-248d67cd]:hover{background-color:#f5f5f5;border-radius:4px}.navbar .user-dropdown .user-avatar[data-v-248d67cd]{width:30px;height:30px;border-radius:50%;margin-right:8px;-o-object-fit:cover;object-fit:cover}.navbar .user-dropdown .user-nickname[data-v-248d67cd]{margin-right:4px;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.navbar .user-dropdown .dropdown-arrow[data-v-248d67cd]{font-size:12px;transition:transform .3s}.navbar .user-dropdown .dropdown-arrow.is-active[data-v-248d67cd]{transform:rotate(180deg)}.navbar .user-dropdown .dropdown-menu[data-v-248d67cd]{position:absolute;top:100%;right:0;background-color:#fff;border-radius:4px;box-shadow:0 2px 8px rgba(0,0,0,.1);min-width:120px;z-index:1001}.navbar .user-dropdown .dropdown-item[data-v-248d67cd]{padding:.75rem 1rem;cursor:pointer}.navbar .user-dropdown .dropdown-item[data-v-248d67cd]:hover{background-color:#f5f5f5}@media(max-width:768px){.navbar[data-v-248d67cd]{padding:0}.navbar .navbar-brand[data-v-248d67cd]{width:auto;padding:.5rem 1rem}.navbar .navbar-brand-yuandan[data-v-248d67cd]{width:auto;padding:.2rem 1rem 0 1rem}.navbar .navbar-burger[data-v-248d67cd]{display:flex;margin-left:1rem}.navbar .navbar-menu[data-v-248d67cd]{display:block;position:absolute;top:100%;left:0;right:0;background-color:#fff;box-shadow:0 4px 6px rgba(0,0,0,.1);padding:.5rem 0;z-index:1000;opacity:0;transform:translateY(-20px);pointer-events:none}.navbar .navbar-menu.is-active[data-v-248d67cd]{opacity:1;transform:translateY(0);pointer-events:auto}.navbar .navbar-end[data-v-248d67cd]{flex-direction:column;align-items:stretch}.navbar .navbar-item[data-v-248d67cd]{padding:.75rem 1.5rem;text-align:left;border-bottom:1px solid #f5f5f5}.navbar .navbar-item[data-v-248d67cd]:last-child{border-bottom:none}.navbar .user-dropdown .dropdown-menu[data-v-248d67cd]{position:static;box-shadow:none;border-top:1px solid #f5f5f5}.navbar .user-dropdown .dropdown-item[data-v-248d67cd],.navbar .user-dropdown .user-info[data-v-248d67cd]{padding:.75rem 1.5rem}}.login-btn[data-v-248d67cd]{color:#333;cursor:pointer;text-decoration:none;transition:color .3s}.login-btn[data-v-248d67cd]:hover{color:#3273dc}.activation-dialog[data-v-248d67cd]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:2000}.activation-dialog .activation-dialog-content[data-v-248d67cd]{background-color:#fff;border-radius:8px;padding:2rem;max-width:90%;width:500px;box-shadow:0 4px 20px rgba(0,0,0,.15);max-height:90vh;overflow-y:auto}.activation-dialog .activation-dialog-content h3[data-v-248d67cd]{font-size:1.5rem;margin-bottom:1rem;color:#333;text-align:center}.activation-dialog .activation-dialog-content p[data-v-248d67cd]{margin-bottom:1.5rem;color:#666}.activation-dialog .activation-dialog-content .activation-methods[data-v-248d67cd]{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:1.5rem}.activation-dialog .activation-dialog-content .activation-method[data-v-248d67cd]{background-color:#f9f9f9;padding:1rem;border-radius:6px;border:1px solid #eee}.activation-dialog .activation-dialog-content .activation-method h4[data-v-248d67cd]{font-size:1.1rem;margin-bottom:.5rem;color:#444}.activation-dialog .activation-dialog-content .activation-method p[data-v-248d67cd]{margin-bottom:1rem;color:#666;font-size:.9rem}.activation-dialog .activation-dialog-content .verify-btn[data-v-248d67cd]{background-color:#3273dc;color:#fff;border:none;border-radius:4px;padding:.5rem 1rem;font-weight:500;cursor:pointer;transition:background-color .3s}.activation-dialog .activation-dialog-content .verify-btn[data-v-248d67cd]:hover{background-color:#2366d1}.activation-dialog .activation-dialog-content .close-btn[data-v-248d67cd]{width:100%;background-color:#f0f0f0;color:#333;border:none;border-radius:4px;padding:.5rem 1rem;cursor:pointer;transition:background-color .3s}.activation-dialog .activation-dialog-content .close-btn[data-v-248d67cd]:hover{background-color:#e0e0e0}.unread-dot[data-v-248d67cd]{display:inline-block;width:8px;height:8px;background-color:#ff4d4f!important;border-radius:50%;margin-left:5px}.message-modal[data-v-248d67cd]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:2000}.message-modal .message-modal-content[data-v-248d67cd]{background-color:#fff;border-radius:8px;padding:2rem;max-width:90%;width:500px;box-shadow:0 4px 20px rgba(0,0,0,.15)}.message-modal .message-modal-content .message-modal-header[data-v-248d67cd]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.message-modal .message-modal-content .message-modal-header h3[data-v-248d67cd]{font-size:1.5rem;color:#333}.message-modal .message-modal-content .message-modal-header .close-icon[data-v-248d67cd]{font-size:1.5rem;cursor:pointer}.message-modal .message-modal-content .message-modal-body .loading-spinner[data-v-248d67cd],.message-modal .message-modal-content .message-modal-body .no-messages[data-v-248d67cd]{text-align:center;margin-bottom:1rem}.message-modal .message-modal-content .message-modal-body .message-list[data-v-248d67cd]{max-height:60vh;overflow-y:auto;padding-right:5px;margin-right:-5px}.message-modal .message-modal-content .message-modal-body .message-list .message-item[data-v-248d67cd]{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #f0f0f0}.message-modal .message-modal-content .message-modal-body .message-list .message-item[data-v-248d67cd]:last-child{border-bottom:none}.message-modal .message-modal-content .message-modal-body .message-list .message-item .message-header[data-v-248d67cd]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.message-modal .message-modal-content .message-modal-body .message-list .message-item .message-header .message-time[data-v-248d67cd]{font-size:.9rem;color:#666}.message-modal .message-modal-content .message-modal-body .message-list .message-item .message-header .unread-tag[data-v-248d67cd]{background-color:#ff4d4f;color:#fff;padding:.2rem .5rem;border-radius:4px;font-size:.8rem}.message-modal .message-modal-content .message-modal-body .message-list .message-item .message-content[data-v-248d67cd]{font-size:1rem;color:#333}.message-modal .message-modal-content .message-modal-body .message-list .message-item .message-content .router-link-active[data-v-248d67cd],.message-modal .message-modal-content .message-modal-body .message-list .message-item .message-content a[data-v-248d67cd],.message-modal .message-modal-content .message-modal-body .message-list .message-item .message-content a[data-v-248d67cd]:link,.message-modal .message-modal-content .message-modal-body .message-list .message-item .message-content a[data-v-248d67cd]:visited,.message-modal .message-modal-content .message-modal-body .message-list .message-item .message-content[data-v-248d67cd] a{color:#3273dc!important;text-decoration:none!important;font-weight:500!important}.message-modal .message-modal-content .message-modal-body .message-list .message-item .message-content .router-link-active[data-v-248d67cd]:hover,.message-modal .message-modal-content .message-modal-body .message-list .message-item .message-content a[data-v-248d67cd]:hover,.message-modal .message-modal-content .message-modal-body .message-list .message-item .message-content a[data-v-248d67cd]:link:hover,.message-modal .message-modal-content .message-modal-body .message-list .message-item .message-content a[data-v-248d67cd]:visited:hover,.message-modal .message-modal-content .message-modal-body .message-list .message-item .message-content[data-v-248d67cd] a:hover{text-decoration:underline!important;color:#2366d1!important}.message-modal .message-modal-content .message-modal-body .pagination[data-v-248d67cd]{display:flex;justify-content:center;align-items:center;margin-top:1rem}.message-modal .message-modal-content .message-modal-body .pagination .page-btn[data-v-248d67cd]{background-color:#3273dc;color:#fff;border:none;border-radius:4px;padding:.5rem 1rem;cursor:pointer;transition:background-color .3s}.message-modal .message-modal-content .message-modal-body .pagination .page-btn[data-v-248d67cd]:hover{background-color:#2366d1}.message-modal .message-modal-content .message-modal-body .pagination .page-btn[data-v-248d67cd]:disabled{background-color:#f0f0f0;cursor:not-allowed}.message-modal .message-modal-content .message-modal-body .pagination .page-info[data-v-248d67cd]{margin:0 1rem;font-size:.9rem;color:#666;display:flex;align-items:center}[data-v-248d67cd] .message-modal-body a{color:#3273dc!important;text-decoration:none!important;font-weight:500!important}[data-v-248d67cd] .message-modal-body a:hover{text-decoration:underline!important;color:#2366d1!important}.avatar-wrapper[data-v-248d67cd]{position:relative;display:inline-block}.avatar-badge[data-v-248d67cd]{position:absolute;top:0;right:0;width:8px;height:8px}.burger-badge[data-v-248d67cd]{position:absolute;top:-13px;right:0;transform:translate(0);width:8px;height:8px;background-color:#ff4d4f!important;border-radius:50%;margin:0;padding:0;display:none}@media(max-width:768px){.burger-badge[data-v-248d67cd]{display:block}}.route-tag[data-v-248d67cd]{display:inline-block;color:#fff;font-size:.9rem;padding:2px 6px;border-radius:4px;margin-left:7px;vertical-align:middle;font-weight:500}.new-badge[data-v-248d67cd]{display:inline-block;background-color:#f44336;color:#fff;font-size:.7rem;padding:1px 4px;border-radius:4px;vertical-align:top;line-height:1.2;font-weight:700;position:relative;top:-2px}.navbar.navbar-kaoyan[data-v-248d67cd]{background-color:#d40c1d}.navbar.navbar-kaoyan .login-btn[data-v-248d67cd],.navbar.navbar-kaoyan .navbar-item[data-v-248d67cd],.navbar.navbar-kaoyan .navbar-logo[data-v-248d67cd]{color:#fff}.navbar.navbar-kaoyan .login-btn[data-v-248d67cd]:hover,.navbar.navbar-kaoyan .navbar-item[data-v-248d67cd]:hover,.navbar.navbar-kaoyan .navbar-logo[data-v-248d67cd]:hover{color:hsla(0,0%,100%,.8)}.navbar.navbar-kaoyan .navbar-burger span[data-v-248d67cd]{background-color:#fff}.navbar.navbar-kaoyan .dropdown-menu .dropdown-item[data-v-248d67cd]{color:#333}.navbar.navbar-kaoyan .dropdown-menu .dropdown-item[data-v-248d67cd]:hover{color:#3273dc;background-color:#f5f5f5}.navbar.navbar-kaoyan .user-dropdown .user-info[data-v-248d67cd]:hover{color:#e60012}@media(max-width:768px){.navbar.navbar-kaoyan .navbar-menu[data-v-248d67cd]{background-color:#e60012}.navbar.navbar-kaoyan .navbar-item[data-v-248d67cd]{border-bottom:1px solid hsla(0,0%,100%,.1)}}.home[data-v-78f59e5a]{min-height:100vh;background-color:#f8f9fa;padding-top:60px}.container[data-v-78f59e5a]{max-width:1200px;margin:0 auto;padding:2rem 1rem}.welcome-section[data-v-78f59e5a]{text-align:center;padding:3rem 1rem}.welcome-section img[data-v-78f59e5a]{width:150px;margin-bottom:2rem}.welcome-section h1[data-v-78f59e5a]{font-size:2.5rem;margin-bottom:1rem;color:#333}.welcome-section p[data-v-78f59e5a]{font-size:1.2rem;margin-bottom:2rem;color:#555}.welcome-section .intro-text[data-v-78f59e5a]{background-color:#fff;border-radius:10px;padding:2rem;margin-top:2rem;box-shadow:0 4px 15px rgba(0,0,0,.08);text-align:left;border-left:4px solid #f6be05;position:relative;overflow:hidden;max-width:800px;margin-left:auto;margin-right:auto}.welcome-section .intro-text[data-v-78f59e5a]:before{content:"";position:absolute;top:0;right:0;width:200px;height:200px;background:radial-gradient(circle at top right,rgba(50,115,220,.08),transparent 70%);z-index:0}.welcome-section .intro-text.intro-kaoyan[data-v-78f59e5a]{background-color:#e60012;border-left:none}.welcome-section .intro-text.intro-kaoyan p[data-v-78f59e5a]{color:#fff;font-weight:700}.welcome-section .intro-text.intro-kaoyan[data-v-78f59e5a]:before{background:radial-gradient(circle at top right,hsla(0,0%,100%,.2),transparent 70%)}.welcome-section .intro-text p[data-v-78f59e5a]{position:relative;z-index:1;margin-bottom:1rem;font-size:1.1rem;line-height:1.6;color:#555}.welcome-section .intro-text p[data-v-78f59e5a]:last-child{margin-bottom:0}.welcome-section .cta-buttons[data-v-78f59e5a]{display:flex;justify-content:center;gap:1rem;margin-top:2rem}.welcome-section .cta-buttons .btn[data-v-78f59e5a]{padding:.75rem 1.5rem;border-radius:4px;font-weight:600;transition:all .3s;text-decoration:none}.welcome-section .cta-buttons .btn.btn-primary[data-v-78f59e5a]{background-color:#3273dc;color:#fff}.welcome-section .cta-buttons .btn.btn-primary[data-v-78f59e5a]:hover{background-color:#2366c9}.welcome-section .cta-buttons .btn.btn-secondary[data-v-78f59e5a]{background-color:#f5f5f5;color:#333}.welcome-section .cta-buttons .btn.btn-secondary[data-v-78f59e5a]:hover{background-color:#e8e8e8}.quick-links[data-v-78f59e5a]{margin-top:1.5rem;font-size:1rem;color:#555}.quick-links a[data-v-78f59e5a]{color:#3273dc;text-decoration:none;margin:0 .5rem;cursor:pointer}.quick-links a[data-v-78f59e5a]:hover{text-decoration:underline}.colorful-text[data-v-78f59e5a]{background:linear-gradient(90deg,#0562ef,#722ed1,#eb2f96,#0562ef,#722ed1,#eb2f96,#0562ef);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:rainbow-78f59e5a 2s linear infinite;font-weight:700}@keyframes rainbow-78f59e5a{0%{background-position:0 50%}to{background-position:100% 50%}}@media(max-width:768px){.welcome-section[data-v-78f59e5a]{padding:2rem 1rem}.welcome-section h1[data-v-78f59e5a]{font-size:2rem}.welcome-section p[data-v-78f59e5a]{font-size:1rem}.welcome-section .intro-text[data-v-78f59e5a]{padding:1.5rem}.welcome-section .intro-text p[data-v-78f59e5a]{font-size:1rem}.welcome-section .cta-buttons[data-v-78f59e5a]{flex-direction:column;align-items:center}.welcome-section .cta-buttons .btn[data-v-78f59e5a]{width:100%;max-width:300px;margin-bottom:.5rem}}#nprogress .bar{background:#00f5ff!important;height:2px!important}.bar-message[data-v-145fa924]{position:fixed;top:16px;left:50%;transform:translateX(-50%);width:80%;max-width:500px;z-index:9999;pointer-events:auto}.bar-message-content[data-v-145fa924]{padding:12px 16px;border-radius:8px;text-align:left;font-size:14px;color:#fff;box-shadow:0 4px 12px rgba(0,0,0,.15);word-break:break-word;display:flex;align-items:center}.bar-message-icon[data-v-145fa924]{margin-right:10px;font-size:16px}.bar-message-text[data-v-145fa924]{flex:1}.bar-message-close[data-v-145fa924]{margin-left:10px;cursor:pointer;font-size:14px;opacity:.8;transition:opacity .2s}.bar-message-close[data-v-145fa924]:hover{opacity:1}.success[data-v-145fa924]{background-color:#4caf50}.error[data-v-145fa924]{background-color:#f44336}.warning[data-v-145fa924]{background-color:#ff9800}.info[data-v-145fa924]{background-color:#2196f3}.bar-message-fade-enter-active[data-v-145fa924],.bar-message-fade-leave-active[data-v-145fa924]{transition:opacity .3s,transform .3s}.bar-message-fade-enter-from[data-v-145fa924],.bar-message-fade-leave-to[data-v-145fa924]{opacity:0;transform:translate(-50%,-15px)}
\ No newline at end of file
+*{margin:0;padding:0;box-sizing:border-box}body,html{font-family:Helvetica Neue,Helvetica,Arial,Microsoft YaHei,sans-serif;font-size:16px;line-height:1.5;color:#333;background-color:#f8f9fa}#app{min-height:100vh;display:flex;flex-direction:column}a{text-decoration:none;color:inherit}img{max-width:100%;height:auto}.beian-footer{background-color:#f8f9fa;padding:15px 0;text-align:center;font-size:12px;color:#777;border-top:1px solid #e9ecef;margin-top:auto}.beian-footer a{color:#666}.beian-footer a:hover{color:#3273dc}.copyright{margin-top:8px}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 15px}.survey-float-icon{position:fixed;bottom:100px;right:45px;width:60px;height:auto;z-index:9999;cursor:pointer;transition:transform .3s ease;text-align:center}.survey-float-icon:hover{transform:scale(1.1)}.survey-float-icon img{width:60px;height:60px;-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 4px 6px rgba(0,0,0,.1));display:block}.survey-label{margin-top:5px;font-size:12px;color:#555;background-color:hsla(0,0%,100%,.9);padding:2px 4px;border-radius:4px;box-shadow:0 2px 4px rgba(0,0,0,.1);line-height:1.3}.survey-float-icon .close-btn{position:absolute;top:-8px;right:-8px;width:20px;height:20px;background-color:rgba(0,0,0,.5);color:#fff;border-radius:50%;text-align:center;line-height:18px;font-size:14px;cursor:pointer;z-index:10000;border:1px solid #fff}.survey-float-icon .close-btn:hover{background-color:rgba(0,0,0,.8)}.message-overlay[data-v-f960493c]{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:9999}.message-box[data-v-f960493c]{background-color:#fff;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15);width:400px;max-width:90%;overflow:hidden;animation:message-in-f960493c .3s ease}.message-header[data-v-f960493c]{padding:16px 20px;border-bottom:1px solid #f0f0f0}.message-header h3[data-v-f960493c]{margin:0;font-size:16px;font-weight:600;color:#333}.message-content[data-v-f960493c]{padding:20px;font-size:14px;color:#555;line-height:1.6}.message-content p[data-v-f960493c]{margin:0;margin-bottom:1rem}.message-content .input-wrapper[data-v-f960493c]{margin-top:1rem}.message-content .input-wrapper .message-input[data-v-f960493c]{width:100%;padding:8px 12px;border:1px solid #dcdfe6;border-radius:4px;font-size:14px;line-height:1.5;color:#606266;transition:border-color .2s}.message-content .input-wrapper .message-input[data-v-f960493c]:focus{outline:none;border-color:#3273dc}.message-content .input-wrapper .message-input[data-v-f960493c]::-moz-placeholder{color:#c0c4cc}.message-content .input-wrapper .message-input[data-v-f960493c]::placeholder{color:#c0c4cc}.message-footer[data-v-f960493c]{padding:12px 20px;display:flex;justify-content:flex-end;gap:12px;border-top:1px solid #f0f0f0}.btn[data-v-f960493c]{padding:8px 16px;border-radius:4px;font-size:14px;cursor:pointer;transition:all .3s;border:none;outline:none}.btn-cancel[data-v-f960493c]{background-color:#f5f5f5;color:#666}.btn-cancel[data-v-f960493c]:hover{background-color:#e8e8e8}.btn-confirm[data-v-f960493c]{background-color:#3273dc;color:#fff}.btn-confirm[data-v-f960493c]:hover{background-color:#2366d1}.message-fade-enter-active[data-v-f960493c],.message-fade-leave-active[data-v-f960493c]{transition:opacity .3s}.message-fade-enter-from[data-v-f960493c],.message-fade-leave-to[data-v-f960493c]{opacity:0}@keyframes message-in-f960493c{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:768px){.message-box[data-v-f960493c]{width:320px}.message-content[data-v-f960493c]{padding:16px}.message-footer[data-v-f960493c]{padding:10px 16px}}.login-container[data-v-37590ba0]{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;z-index:9999}.login-overlay[data-v-37590ba0]{position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.5)}.login-box[data-v-37590ba0]{background-color:#fff;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.1);padding:2rem;width:100%;max-width:400px;position:relative;z-index:1}.login-header[data-v-37590ba0]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.login-title[data-v-37590ba0]{text-align:center;color:#333;font-size:1.5rem;margin:0;flex:1}.login-form[data-v-37590ba0]{display:flex;flex-direction:column}.form-group[data-v-37590ba0]{margin-bottom:1rem}label[data-v-37590ba0]{display:block;margin-bottom:.5rem;font-weight:500}.form-input[data-v-37590ba0]{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;transition:border-color .3s}.form-input[data-v-37590ba0]:focus{outline:none;border-color:#3273dc;box-shadow:0 0 0 2px rgba(50,115,220,.2)}.message[data-v-37590ba0]{margin:1rem 0;padding:.75rem;border-radius:4px;text-align:center}.message.error[data-v-37590ba0]{background-color:rgba(255,56,96,.1);color:#ff3860}.message.success[data-v-37590ba0]{background-color:rgba(35,209,96,.1);color:#23d160}.button-group[data-v-37590ba0]{display:flex;gap:1rem;margin-top:1rem}.btn[data-v-37590ba0]{flex:1;padding:.75rem;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:background-color .3s,transform .2s}.btn[data-v-37590ba0]:hover{transform:translateY(-2px)}.btn[data-v-37590ba0]:active{transform:translateY(0)}.btn-primary[data-v-37590ba0]{background-color:#3273dc;color:#fff}.btn-primary[data-v-37590ba0]:hover{background-color:#2366d1}.btn-secondary[data-v-37590ba0]{background-color:#f5f5f5;color:#333}.btn-secondary[data-v-37590ba0]:hover{background-color:#e8e8e8}.modal[data-v-37590ba0]{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.5);z-index:1000;align-items:center;justify-content:center}.modal.show[data-v-37590ba0]{display:flex}.modal-content[data-v-37590ba0]{background-color:#fff;border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.2);width:90%;max-width:400px;overflow:hidden}.modal-header[data-v-37590ba0]{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid #eee}.modal-header h3[data-v-37590ba0]{margin:0;font-size:1.25rem}.modal-body[data-v-37590ba0]{padding:1.5rem}.modal-footer[data-v-37590ba0]{padding:1rem;border-top:1px solid #eee;text-align:right}.close-btn[data-v-37590ba0]{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666}.close-btn[data-v-37590ba0]:hover{color:#333}.captcha-instruction[data-v-37590ba0]{margin-bottom:1rem}.captcha-message[data-v-37590ba0]{margin-top:.5rem;font-size:.9rem}.captcha-message.error[data-v-37590ba0]{color:#ff3860}.captcha-message.success[data-v-37590ba0]{color:#23d160}.loading-overlay[data-v-37590ba0]{position:fixed;top:0;left:0;width:100%;height:100%;background-color:hsla(0,0%,100%,.8);display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:2000}.spinner[data-v-37590ba0]{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #3273dc;border-radius:50%;animation:spin-37590ba0 1s linear infinite;margin-bottom:1rem}@keyframes spin-37590ba0{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media(max-width:480px){.login-box[data-v-37590ba0]{padding:1.5rem}.button-group[data-v-37590ba0]{flex-direction:column}.btn[data-v-37590ba0]{margin-bottom:.5rem}}.vip-badge[data-v-69166869]{height:25px;vertical-align:middle}.user-meta[data-v-69166869]{position:relative;display:inline-block}.user-basic[data-v-69166869]{display:flex;align-items:center;gap:8px;cursor:pointer}.avatar-wrapper[data-v-69166869]{position:relative;width:36px;height:36px}.avatar[data-v-69166869]{width:36px;height:36px;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:2px solid #eee}.avatar-loading[data-v-69166869]{position:absolute;top:0;left:0;width:100%;height:100%;background-color:hsla(0,0%,100%,.7);border-radius:50%;display:flex;justify-content:center;align-items:center}.loading-spinner[data-v-69166869]{width:20px;height:20px;border:2px solid #f3f3f3;border-top:2px solid #3273dc;border-radius:50%;animation:spin-69166869 1s linear infinite}@keyframes spin-69166869{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.user-name[data-v-69166869]{font-weight:500;font-size:14px;color:#333}.user-badges[data-v-69166869]{display:flex;gap:4px}.badge[data-v-69166869]{display:inline-block;padding:1px 6px;border-radius:4px;font-size:12px;color:#fff}.verified[data-v-69166869]{background-color:#3273dc}.invited[data-v-69166869]{background-color:coral}.medal[data-v-69166869]{background-color:gold;color:#333}.user-detail[data-v-69166869]{position:absolute;top:calc(100% + 8px);left:0;width:280px;z-index:9999}.detail-fade-enter-active[data-v-69166869],.detail-fade-leave-active[data-v-69166869]{transition:all .3s cubic-bezier(.4,0,.2,1);transform-origin:top}.detail-fade-enter-from[data-v-69166869],.detail-fade-leave-to[data-v-69166869]{opacity:0;transform:scale(.95) translateY(-10px)}.detail-fade-enter-to[data-v-69166869],.detail-fade-leave-from[data-v-69166869]{opacity:1;transform:scale(1) translateY(0)}.card-container[data-v-69166869]{background-color:#fff;border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.15),0 2px 8px rgba(0,0,0,.1);overflow:hidden}.detail-header[data-v-69166869]{position:relative;padding:16px 16px 4px}.header-bg[data-v-69166869]{position:absolute;top:0;left:0;right:0;height:60px;background:linear-gradient(135deg,#3273dc,#6cb6ff);opacity:.3}.detail-avatar[data-v-69166869]{width:64px;height:64px;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:4px solid #fff;box-shadow:0 2px 10px rgba(0,0,0,.1);position:relative;z-index:1;background-color:#fff}.detail-right[data-v-69166869]{margin-top:8px;position:relative}.detail-name[data-v-69166869]{font-weight:600;font-size:18px;margin-bottom:4px;color:#333;display:inline-block}.user-sign[data-v-69166869]{margin:8px 16px;display:flex;align-items:flex-start;gap:8px;padding:10px 12px;background-color:#f8f9fa;border-radius:8px}.sign-icon[data-v-69166869]{font-size:16px;color:#666}.sign-text[data-v-69166869]{font-size:13px;color:#555;line-height:1.9;flex:1}.user-stats[data-v-69166869]{display:flex;justify-content:center;align-items:center;padding:6px 8px;background-color:#f8f9fa;margin:0 16px;border-radius:8px}.stat-item[data-v-69166869]{text-align:center;flex:1}.stat-separator[data-v-69166869]{width:1px;height:24px;background-color:#ddd;margin:0 16px}.stat-value[data-v-69166869]{font-weight:600;font-size:16px;color:#333}.stat-label[data-v-69166869]{font-size:12px;color:#666}.card-footer[data-v-69166869]{padding:12px 16px 16px;text-align:center}.follow-btn[data-v-69166869]{background:linear-gradient(135deg,#3273dc,#4a89ff);color:#fff;border:none;border-radius:20px;padding:6px 18px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 5px rgba(50,115,220,.3)}.follow-btn[data-v-69166869]:hover{background:linear-gradient(135deg,#2366d1,#3273dc);transform:translateY(-1px);box-shadow:0 4px 8px rgba(50,115,220,.4)}.follow-btn.followed[data-v-69166869]{background:#f0f0f0;color:#666;box-shadow:none;border:1px solid #ddd}.follow-btn.followed[data-v-69166869]:hover{background:#e0e0e0;color:#333;transform:translateY(0);box-shadow:none}.follow-btn.disabled-look[data-v-69166869]{background:#e6e6e6;color:#999;cursor:pointer;box-shadow:none}.follow-btn.disabled-look[data-v-69166869]:hover{background:#dcdcdc;transform:none;box-shadow:none}.user-submissions[data-v-69166869]{padding:16px 16px 0 16px}.submission-header[data-v-69166869]{font-size:13px;font-weight:600;color:#333;margin-bottom:8px;padding-left:4px;border-left:3px solid #3273dc;line-height:1;display:flex;justify-content:space-between;align-items:center}.pagination-controls[data-v-69166869]{display:flex;align-items:center;gap:4px}.page-btn[data-v-69166869]{border:none;background:#f0f0f0;color:#666;width:20px;height:20px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:12px;cursor:pointer;transition:all .2s;padding:0}.page-btn[data-v-69166869]:hover:not(:disabled){background:#e0e0e0;color:#3273dc}.page-btn[data-v-69166869]:disabled{opacity:.5;cursor:not-allowed}.page-info[data-v-69166869]{font-weight:400;font-size:11px;color:#888;min-width:30px;text-align:center}.submission-list[data-v-69166869]{display:flex;flex-direction:column;gap:8px;max-height:150px;overflow-y:auto;padding-right:2px}.submission-list[data-v-69166869]::-webkit-scrollbar{width:4px}.submission-list[data-v-69166869]::-webkit-scrollbar-track{background:#f1f1f1;border-radius:2px}.submission-list[data-v-69166869]::-webkit-scrollbar-thumb{background:#ddd;border-radius:2px}.submission-list[data-v-69166869]::-webkit-scrollbar-thumb:hover{background:#ccc}.submission-item[data-v-69166869]{padding:8px 10px;background-color:#f8f9fa;border-radius:6px;cursor:pointer;transition:all .2s ease;border:1px solid transparent}.submission-item[data-v-69166869]:hover{background-color:#fff;border-color:#e0e0e0;box-shadow:0 2px 8px rgba(0,0,0,.05);transform:translateX(2px)}.submission-title[data-v-69166869]{font-size:13px;color:#444;margin-bottom:6px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.submission-tags[data-v-69166869]{display:flex;gap:4px;flex-wrap:wrap}.tag[data-v-69166869]{padding:2px 6px;border-radius:3px;font-size:11px;font-weight:500}.tag.official[data-v-69166869]{background-color:#e6f7ff;color:#1890ff}.tag.highlight[data-v-69166869]{background-color:#f6ffed;color:#52c41a}.tag.top[data-v-69166869]{background-color:#fff7e6;color:#fa8c16}.colorful-name[data-v-69166869]{background:linear-gradient(90deg,#0562ef,#722ed1,#eb2f96,#0562ef,#722ed1,#eb2f96,#0562ef);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:rainbow-69166869 2s linear infinite;font-weight:700}@keyframes rainbow-69166869{0%{background-position:0 50%}to{background-position:100% 50%}}.navbar[data-v-1e937680]{background-color:#fff;box-shadow:0 2px 4px rgba(0,0,0,.1);position:fixed;top:0;left:0;right:0;padding:.5rem 1rem;z-index:1000}.navbar .container[data-v-1e937680]{display:flex;align-items:center;max-width:1200px;margin:0 auto;position:relative;width:100%}.navbar .navbar-brand[data-v-1e937680]{display:flex;align-items:center;justify-content:space-between;flex:1}.navbar .navbar-logo[data-v-1e937680]{font-size:1.5rem;font-weight:700;color:#333;text-decoration:none;display:flex;align-items:center}.navbar .navbar-logo-img[data-v-1e937680]{width:30px;margin-right:8px}.navbar .navbar-logo-img[data-v-1e937680],.navbar .navbar-title-img[data-v-1e937680]{height:30px;-o-object-fit:contain;object-fit:contain}.navbar .burger-container[data-v-1e937680]{position:relative;display:inline-block}.navbar .navbar-burger[data-v-1e937680]{display:none;width:2rem;height:1.2rem;cursor:pointer;margin-left:0;position:absolute;right:0;top:50%;transform:translateY(-50%)}.navbar .navbar-burger span[data-v-1e937680]{display:block;height:2px;width:74%;background-color:#333;transition:all .3s ease-in-out;position:absolute;left:0}.navbar .navbar-burger span[data-v-1e937680]:first-child{top:0}.navbar .navbar-burger span[data-v-1e937680]:nth-child(2){top:50%;transform:translateY(-50%)}.navbar .navbar-burger span[data-v-1e937680]:nth-child(3){bottom:0}.navbar .navbar-burger.is-active span[data-v-1e937680]:nth-child(2){opacity:0}.navbar .navbar-burger.is-active span[data-v-1e937680]:first-child{top:50%;transform:translateY(-50%) rotate(45deg)}.navbar .navbar-burger.is-active span[data-v-1e937680]:nth-child(3){bottom:50%;transform:translateY(50%) rotate(-45deg)}.navbar .navbar-menu[data-v-1e937680]{display:flex;align-items:center;transition:transform .3s ease,opacity .3s ease}.navbar .navbar-end[data-v-1e937680]{display:flex;align-items:center}.navbar .navbar-item[data-v-1e937680]{padding:.5rem 1rem;color:#333;text-decoration:none;transition:color .3s;white-space:nowrap}.navbar .navbar-item[data-v-1e937680]:hover{color:#3273dc}.navbar .user-dropdown[data-v-1e937680]{position:relative}.navbar .user-dropdown .user-info[data-v-1e937680]{display:flex;align-items:center;cursor:pointer;padding:.5rem}.navbar .user-dropdown .user-info[data-v-1e937680]:hover{background-color:#f5f5f5;border-radius:4px}.navbar .user-dropdown .user-avatar[data-v-1e937680]{width:30px;height:30px;border-radius:50%;margin-right:8px;-o-object-fit:cover;object-fit:cover}.navbar .user-dropdown .user-nickname[data-v-1e937680]{margin-right:4px;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.navbar .user-dropdown .dropdown-arrow[data-v-1e937680]{font-size:12px;transition:transform .3s}.navbar .user-dropdown .dropdown-arrow.is-active[data-v-1e937680]{transform:rotate(180deg)}.navbar .user-dropdown .dropdown-menu[data-v-1e937680]{position:absolute;top:100%;right:0;background-color:#fff;border-radius:4px;box-shadow:0 2px 8px rgba(0,0,0,.1);min-width:120px;z-index:1001}.navbar .user-dropdown .dropdown-item[data-v-1e937680]{padding:.75rem 1rem;cursor:pointer}.navbar .user-dropdown .dropdown-item[data-v-1e937680]:hover{background-color:#f5f5f5}@media(max-width:768px){.navbar[data-v-1e937680]{padding:0}.navbar .navbar-brand[data-v-1e937680]{width:auto;padding:.5rem 1rem}.navbar .navbar-brand-yuandan[data-v-1e937680]{width:auto;padding:.2rem 1rem 0 1rem}.navbar .navbar-burger[data-v-1e937680]{display:flex;margin-left:1rem}.navbar .navbar-menu[data-v-1e937680]{display:block;position:absolute;top:100%;left:0;right:0;background-color:#fff;box-shadow:0 4px 6px rgba(0,0,0,.1);padding:.5rem 0;z-index:1000;opacity:0;transform:translateY(-20px);pointer-events:none}.navbar .navbar-menu.is-active[data-v-1e937680]{opacity:1;transform:translateY(0);pointer-events:auto}.navbar .navbar-end[data-v-1e937680]{flex-direction:column;align-items:stretch}.navbar .navbar-item[data-v-1e937680]{padding:.75rem 1.5rem;text-align:left;border-bottom:1px solid #f5f5f5}.navbar .navbar-item[data-v-1e937680]:last-child{border-bottom:none}.navbar .user-dropdown .dropdown-menu[data-v-1e937680]{position:static;box-shadow:none;border-top:1px solid #f5f5f5}.navbar .user-dropdown .dropdown-item[data-v-1e937680],.navbar .user-dropdown .user-info[data-v-1e937680]{padding:.75rem 1.5rem}}.login-btn[data-v-1e937680]{color:#333;cursor:pointer;text-decoration:none;transition:color .3s}.login-btn[data-v-1e937680]:hover{color:#3273dc}.activation-dialog[data-v-1e937680]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:2000}.activation-dialog .activation-dialog-content[data-v-1e937680]{background-color:#fff;border-radius:8px;padding:2rem;max-width:90%;width:500px;box-shadow:0 4px 20px rgba(0,0,0,.15);max-height:90vh;overflow-y:auto}.activation-dialog .activation-dialog-content h3[data-v-1e937680]{font-size:1.5rem;margin-bottom:1rem;color:#333;text-align:center}.activation-dialog .activation-dialog-content p[data-v-1e937680]{margin-bottom:1.5rem;color:#666}.activation-dialog .activation-dialog-content .activation-methods[data-v-1e937680]{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:1.5rem}.activation-dialog .activation-dialog-content .activation-method[data-v-1e937680]{background-color:#f9f9f9;padding:1rem;border-radius:6px;border:1px solid #eee}.activation-dialog .activation-dialog-content .activation-method h4[data-v-1e937680]{font-size:1.1rem;margin-bottom:.5rem;color:#444}.activation-dialog .activation-dialog-content .activation-method p[data-v-1e937680]{margin-bottom:1rem;color:#666;font-size:.9rem}.activation-dialog .activation-dialog-content .verify-btn[data-v-1e937680]{background-color:#3273dc;color:#fff;border:none;border-radius:4px;padding:.5rem 1rem;font-weight:500;cursor:pointer;transition:background-color .3s}.activation-dialog .activation-dialog-content .verify-btn[data-v-1e937680]:hover{background-color:#2366d1}.activation-dialog .activation-dialog-content .close-btn[data-v-1e937680]{width:100%;background-color:#f0f0f0;color:#333;border:none;border-radius:4px;padding:.5rem 1rem;cursor:pointer;transition:background-color .3s}.activation-dialog .activation-dialog-content .close-btn[data-v-1e937680]:hover{background-color:#e0e0e0}.unread-dot[data-v-1e937680]{display:inline-block;width:8px;height:8px;background-color:#ff4d4f!important;border-radius:50%;margin-left:5px}.message-modal[data-v-1e937680]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:2000}.message-modal .message-modal-content[data-v-1e937680]{background-color:#fff;border-radius:8px;padding:2rem;max-width:90%;width:500px;box-shadow:0 4px 20px rgba(0,0,0,.15)}.message-modal .message-modal-content .message-modal-header[data-v-1e937680]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.message-modal .message-modal-content .message-modal-header h3[data-v-1e937680]{font-size:1.5rem;color:#333}.message-modal .message-modal-content .message-modal-header .close-icon[data-v-1e937680]{font-size:1.5rem;cursor:pointer}.message-modal .message-modal-content .message-modal-body .loading-spinner[data-v-1e937680],.message-modal .message-modal-content .message-modal-body .no-messages[data-v-1e937680]{text-align:center;margin-bottom:1rem}.message-modal .message-modal-content .message-modal-body .message-list[data-v-1e937680]{max-height:60vh;overflow-y:auto;padding-right:5px;margin-right:-5px}.message-modal .message-modal-content .message-modal-body .message-list .message-item[data-v-1e937680]{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #f0f0f0}.message-modal .message-modal-content .message-modal-body .message-list .message-item[data-v-1e937680]:last-child{border-bottom:none}.message-modal .message-modal-content .message-modal-body .message-list .message-item .message-header[data-v-1e937680]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.message-modal .message-modal-content .message-modal-body .message-list .message-item .message-header .message-time[data-v-1e937680]{font-size:.9rem;color:#666}.message-modal .message-modal-content .message-modal-body .message-list .message-item .message-header .unread-tag[data-v-1e937680]{background-color:#ff4d4f;color:#fff;padding:.2rem .5rem;border-radius:4px;font-size:.8rem}.message-modal .message-modal-content .message-modal-body .message-list .message-item .message-content[data-v-1e937680]{font-size:1rem;color:#333}.message-modal .message-modal-content .message-modal-body .message-list .message-item .message-content .router-link-active[data-v-1e937680],.message-modal .message-modal-content .message-modal-body .message-list .message-item .message-content a[data-v-1e937680],.message-modal .message-modal-content .message-modal-body .message-list .message-item .message-content a[data-v-1e937680]:link,.message-modal .message-modal-content .message-modal-body .message-list .message-item .message-content a[data-v-1e937680]:visited,.message-modal .message-modal-content .message-modal-body .message-list .message-item .message-content[data-v-1e937680] a{color:#3273dc!important;text-decoration:none!important;font-weight:500!important}.message-modal .message-modal-content .message-modal-body .message-list .message-item .message-content .router-link-active[data-v-1e937680]:hover,.message-modal .message-modal-content .message-modal-body .message-list .message-item .message-content a[data-v-1e937680]:hover,.message-modal .message-modal-content .message-modal-body .message-list .message-item .message-content a[data-v-1e937680]:link:hover,.message-modal .message-modal-content .message-modal-body .message-list .message-item .message-content a[data-v-1e937680]:visited:hover,.message-modal .message-modal-content .message-modal-body .message-list .message-item .message-content[data-v-1e937680] a:hover{text-decoration:underline!important;color:#2366d1!important}.message-modal .message-modal-content .message-modal-body .pagination[data-v-1e937680]{display:flex;justify-content:center;align-items:center;margin-top:1rem}.message-modal .message-modal-content .message-modal-body .pagination .page-btn[data-v-1e937680]{background-color:#3273dc;color:#fff;border:none;border-radius:4px;padding:.5rem 1rem;cursor:pointer;transition:background-color .3s}.message-modal .message-modal-content .message-modal-body .pagination .page-btn[data-v-1e937680]:hover{background-color:#2366d1}.message-modal .message-modal-content .message-modal-body .pagination .page-btn[data-v-1e937680]:disabled{background-color:#f0f0f0;cursor:not-allowed}.message-modal .message-modal-content .message-modal-body .pagination .page-info[data-v-1e937680]{margin:0 1rem;font-size:.9rem;color:#666;display:flex;align-items:center}[data-v-1e937680] .message-modal-body a{color:#3273dc!important;text-decoration:none!important;font-weight:500!important}[data-v-1e937680] .message-modal-body a:hover{text-decoration:underline!important;color:#2366d1!important}.avatar-wrapper[data-v-1e937680]{position:relative;display:inline-block}.avatar-badge[data-v-1e937680]{position:absolute;top:0;right:0;width:8px;height:8px}.burger-badge[data-v-1e937680]{position:absolute;top:-13px;right:0;transform:translate(0);width:8px;height:8px;background-color:#ff4d4f!important;border-radius:50%;margin:0;padding:0;display:none}@media(max-width:768px){.burger-badge[data-v-1e937680]{display:block}}.route-tag[data-v-1e937680]{display:inline-block;color:#fff;font-size:.9rem;padding:2px 6px;border-radius:4px;margin-left:7px;vertical-align:middle;font-weight:500}.new-badge[data-v-1e937680]{display:inline-block;background-color:#f44336;color:#fff;font-size:.7rem;padding:1px 4px;border-radius:4px;vertical-align:top;line-height:1.2;font-weight:700;position:relative;top:-2px}.navbar.navbar-kaoyan[data-v-1e937680]{background-color:#d40c1d}.navbar.navbar-kaoyan .login-btn[data-v-1e937680],.navbar.navbar-kaoyan .navbar-item[data-v-1e937680],.navbar.navbar-kaoyan .navbar-logo[data-v-1e937680]{color:#fff}.navbar.navbar-kaoyan .login-btn[data-v-1e937680]:hover,.navbar.navbar-kaoyan .navbar-item[data-v-1e937680]:hover,.navbar.navbar-kaoyan .navbar-logo[data-v-1e937680]:hover{color:hsla(0,0%,100%,.8)}.navbar.navbar-kaoyan .navbar-burger span[data-v-1e937680]{background-color:#fff}.navbar.navbar-kaoyan .dropdown-menu .dropdown-item[data-v-1e937680]{color:#333}.navbar.navbar-kaoyan .dropdown-menu .dropdown-item[data-v-1e937680]:hover{color:#3273dc;background-color:#f5f5f5}.navbar.navbar-kaoyan .user-dropdown .user-info[data-v-1e937680]:hover{color:#e60012}@media(max-width:768px){.navbar.navbar-kaoyan .navbar-menu[data-v-1e937680]{background-color:#e60012}.navbar.navbar-kaoyan .navbar-item[data-v-1e937680]{border-bottom:1px solid hsla(0,0%,100%,.1)}}.home[data-v-6b946694]{min-height:100vh;background-color:#f8f9fa;padding-top:60px}.container[data-v-6b946694]{max-width:1200px;margin:0 auto;padding:2rem 1rem}.welcome-section[data-v-6b946694]{text-align:center;padding:3rem 1rem}.welcome-section img[data-v-6b946694]{width:150px;margin-bottom:2rem}.welcome-section h1[data-v-6b946694]{font-size:2.5rem;margin-bottom:1rem;color:#333}.welcome-section p[data-v-6b946694]{font-size:1.2rem;margin-bottom:2rem;color:#555}.welcome-section .intro-text[data-v-6b946694]{background-color:#fff;border-radius:10px;padding:2rem;margin-top:2rem;box-shadow:0 4px 15px rgba(0,0,0,.08);text-align:left;border-left:4px solid #f6be05;position:relative;overflow:hidden;max-width:800px;margin-left:auto;margin-right:auto}.welcome-section .intro-text[data-v-6b946694]:before{content:"";position:absolute;top:0;right:0;width:200px;height:200px;background:radial-gradient(circle at top right,rgba(50,115,220,.08),transparent 70%);z-index:0}.welcome-section .intro-text.intro-kaoyan[data-v-6b946694]{background-color:#e60012;border-left:none}.welcome-section .intro-text.intro-kaoyan p[data-v-6b946694]{color:#fff;font-weight:700}.welcome-section .intro-text.intro-kaoyan[data-v-6b946694]:before{background:radial-gradient(circle at top right,hsla(0,0%,100%,.2),transparent 70%)}.welcome-section .intro-text p[data-v-6b946694]{position:relative;z-index:1;margin-bottom:1rem;font-size:1.1rem;line-height:1.6;color:#555}.welcome-section .intro-text p[data-v-6b946694]:last-child{margin-bottom:0}.welcome-section .cta-buttons[data-v-6b946694]{display:flex;justify-content:center;gap:1rem;margin-top:2rem}.welcome-section .cta-buttons .btn[data-v-6b946694]{padding:.75rem 1.5rem;border-radius:4px;font-weight:600;transition:all .3s;text-decoration:none}.welcome-section .cta-buttons .btn.btn-primary[data-v-6b946694]{background-color:#3273dc;color:#fff}.welcome-section .cta-buttons .btn.btn-primary[data-v-6b946694]:hover{background-color:#2366c9}.welcome-section .cta-buttons .btn.btn-secondary[data-v-6b946694]{background-color:#f5f5f5;color:#333}.welcome-section .cta-buttons .btn.btn-secondary[data-v-6b946694]:hover{background-color:#e8e8e8}.quick-links[data-v-6b946694]{margin-top:1.5rem;font-size:1rem;color:#555}.quick-links a[data-v-6b946694]{color:#3273dc;text-decoration:none;margin:0 .5rem;cursor:pointer}.quick-links a[data-v-6b946694]:hover{text-decoration:underline}.colorful-text[data-v-6b946694]{background:linear-gradient(90deg,#0562ef,#722ed1,#eb2f96,#0562ef,#722ed1,#eb2f96,#0562ef);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:rainbow-6b946694 2s linear infinite;font-weight:700}@keyframes rainbow-6b946694{0%{background-position:0 50%}to{background-position:100% 50%}}@media(max-width:768px){.welcome-section[data-v-6b946694]{padding:2rem 1rem}.welcome-section h1[data-v-6b946694]{font-size:2rem}.welcome-section p[data-v-6b946694]{font-size:1rem}.welcome-section .intro-text[data-v-6b946694]{padding:1.5rem}.welcome-section .intro-text p[data-v-6b946694]{font-size:1rem}.welcome-section .cta-buttons[data-v-6b946694]{flex-direction:column;align-items:center}.welcome-section .cta-buttons .btn[data-v-6b946694]{width:100%;max-width:300px;margin-bottom:.5rem}}#nprogress .bar{background:#00f5ff!important;height:2px!important}.bar-message[data-v-145fa924]{position:fixed;top:16px;left:50%;transform:translateX(-50%);width:80%;max-width:500px;z-index:9999;pointer-events:auto}.bar-message-content[data-v-145fa924]{padding:12px 16px;border-radius:8px;text-align:left;font-size:14px;color:#fff;box-shadow:0 4px 12px rgba(0,0,0,.15);word-break:break-word;display:flex;align-items:center}.bar-message-icon[data-v-145fa924]{margin-right:10px;font-size:16px}.bar-message-text[data-v-145fa924]{flex:1}.bar-message-close[data-v-145fa924]{margin-left:10px;cursor:pointer;font-size:14px;opacity:.8;transition:opacity .2s}.bar-message-close[data-v-145fa924]:hover{opacity:1}.success[data-v-145fa924]{background-color:#4caf50}.error[data-v-145fa924]{background-color:#f44336}.warning[data-v-145fa924]{background-color:#ff9800}.info[data-v-145fa924]{background-color:#2196f3}.bar-message-fade-enter-active[data-v-145fa924],.bar-message-fade-leave-active[data-v-145fa924]{transition:opacity .3s,transform .3s}.bar-message-fade-enter-from[data-v-145fa924],.bar-message-fade-leave-to[data-v-145fa924]{opacity:0;transform:translate(-50%,-15px)}
\ No newline at end of file
diff --git a/dist/index.html b/dist/index.html
index ce0bbd9..e0a40d0 100644
--- a/dist/index.html
+++ b/dist/index.html
@@ -1 +1 @@
-
NEU小站
\ No newline at end of file
+NEU小站
\ No newline at end of file
diff --git a/dist/js/1.1123bf67.js b/dist/js/1.d0c07056.js
similarity index 99%
rename from dist/js/1.1123bf67.js
rename to dist/js/1.d0c07056.js
index 8bdd4df..d63406a 100644
--- a/dist/js/1.1123bf67.js
+++ b/dist/js/1.d0c07056.js
@@ -1,2 +1,2 @@
-"use strict";(self["webpackChunknewfront"]=self["webpackChunknewfront"]||[]).push([[1],{6001:function(e,a,t){t.r(a),t.d(a,{default:function(){return oe}});var s=t(1411),l=t(1561),i=t(2515);const c={class:"search-view"},o={class:"container"},n={class:"search-panel"},r={class:"search-form"},h={class:"form-group"},d={class:"hot-search"},g={class:"hot-tags"},u=["onClick"],p={class:"advanced-search"},k={class:"advanced-options"},v={class:"form-group"},m={class:"radio-group"},f={class:"form-group"},L={class:"tags-selector"},b=["onClick"],P={key:0,class:"no-tags"},C={class:"form-group"},y={class:"checkbox-group"},S=["checked"],w=["checked"],T=["checked"],E={class:"form-actions"},X={key:0,class:"search-results"},A={class:"results-header"},_={key:0},z={key:1},x={key:0,class:"results-list simple-mode"},F=["onClick"],R={class:"article-title"},N={key:1,class:"results-list detailed-mode"},I=["onClick"],U={class:"article-header"},j={class:"article-title"},K={class:"article-badges"},Q={key:0,class:"badge top"},W={key:1,class:"badge highlight"},$={key:2,class:"badge official"},q={class:"article-meta"},D={class:"article-section"},V={class:"article-date"},B={class:"article-tags"},O=["onClick"],J={key:2,class:"pagination"},G=["disabled"],H={class:"page-info"},M=["disabled"],Y={key:1,class:"loading-container"};function Z(e,a,t,Z,ee,ae){const te=(0,s.g2)("Navbar"),se=(0,s.g2)("Loading");return(0,s.uX)(),(0,s.CE)("div",c,[(0,s.bF)(te),(0,s.Lk)("div",o,[(0,s.Lk)("div",n,[a[25]||(a[25]=(0,s.Lk)("h1",{class:"search-title"},"内容检索",-1)),(0,s.Lk)("div",r,[(0,s.Lk)("div",h,[a[13]||(a[13]=(0,s.Lk)("label",null,"标题或内容:",-1)),(0,s.bo)((0,s.Lk)("input",{type:"text","onUpdate:modelValue":a[0]||(a[0]=e=>ee.searchParams.content=e),placeholder:"搜索标题或内容",onKeyup:a[1]||(a[1]=(0,l.jR)((e=>ae.performSearch(1)),["enter"]))},null,544),[[l.Jo,ee.searchParams.content]])]),(0,s.Lk)("div",d,[a[14]||(a[14]=(0,s.Lk)("h3",null,"近期热搜",-1)),(0,s.Lk)("div",g,[((0,s.uX)(!0),(0,s.CE)(s.FK,null,(0,s.pI)(ee.hotSearchTags,((e,a)=>((0,s.uX)(),(0,s.CE)("div",{key:a,class:"hot-tag",onClick:a=>ae.quickSearch(e)},(0,i.v_)(e),9,u)))),128))])]),(0,s.Lk)("div",p,[(0,s.Lk)("div",{class:"advanced-toggle",onClick:a[2]||(a[2]=(...e)=>ae.toggleAdvanced&&ae.toggleAdvanced(...e))},[a[15]||(a[15]=(0,s.Lk)("span",null,"高级筛选",-1)),(0,s.Lk)("i",{class:(0,i.C4)(["toggle-icon",{expanded:ee.showAdvanced}])},(0,i.v_)(ee.showAdvanced?"▲":"▼"),3)]),(0,s.bo)((0,s.Lk)("div",k,[(0,s.Lk)("div",v,[a[19]||(a[19]=(0,s.Lk)("label",null,"板块:",-1)),(0,s.Lk)("div",m,[(0,s.Lk)("label",null,[(0,s.bo)((0,s.Lk)("input",{type:"radio","onUpdate:modelValue":a[3]||(a[3]=e=>ee.searchParams.section=e),value:null},null,512),[[l.XL,ee.searchParams.section]]),a[16]||(a[16]=(0,s.eW)(" 全部 "))]),(0,s.Lk)("label",null,[(0,s.bo)((0,s.Lk)("input",{type:"radio","onUpdate:modelValue":a[4]||(a[4]=e=>ee.searchParams.section=e),value:0},null,512),[[l.XL,ee.searchParams.section]]),a[17]||(a[17]=(0,s.eW)(" 攻略指南 "))]),(0,s.Lk)("label",null,[(0,s.bo)((0,s.Lk)("input",{type:"radio","onUpdate:modelValue":a[5]||(a[5]=e=>ee.searchParams.section=e),value:1},null,512),[[l.XL,ee.searchParams.section]]),a[18]||(a[18]=(0,s.eW)(" 资源共享 "))])])]),(0,s.Lk)("div",f,[a[20]||(a[20]=(0,s.Lk)("label",null,"标签:",-1)),(0,s.Lk)("div",L,[((0,s.uX)(!0),(0,s.CE)(s.FK,null,(0,s.pI)(ee.allTags,(e=>((0,s.uX)(),(0,s.CE)("div",{key:e.id,class:(0,i.C4)(["tag-item",{selected:ee.selectedTags.includes(e.id)}]),onClick:a=>ae.toggleTag(e.id)},(0,i.v_)(e.name),11,b)))),128)),0===ee.allTags.length?((0,s.uX)(),(0,s.CE)("div",P,"加载标签中...")):(0,s.Q3)("",!0)])]),(0,s.Lk)("div",C,[a[24]||(a[24]=(0,s.Lk)("label",null,"附加筛选:",-1)),(0,s.Lk)("div",y,[(0,s.Lk)("label",null,[(0,s.Lk)("input",{type:"checkbox",checked:1===ee.searchParams.top,onChange:a[6]||(a[6]=e=>ae.toggleFilter("top",e.target.checked))},null,40,S),a[21]||(a[21]=(0,s.eW)(" 置顶 "))]),(0,s.Lk)("label",null,[(0,s.Lk)("input",{type:"checkbox",checked:1===ee.searchParams.highlight,onChange:a[7]||(a[7]=e=>ae.toggleFilter("highlight",e.target.checked))},null,40,w),a[22]||(a[22]=(0,s.eW)(" 优质 "))]),(0,s.Lk)("label",null,[(0,s.Lk)("input",{type:"checkbox",checked:1===ee.searchParams.official,onChange:a[8]||(a[8]=e=>ae.toggleFilter("official",e.target.checked))},null,40,T),a[23]||(a[23]=(0,s.eW)(" 官方内容 "))])])])],512),[[l.aG,ee.showAdvanced]])]),(0,s.Lk)("div",E,[(0,s.Lk)("button",{class:"search-btn",onClick:a[9]||(a[9]=e=>ae.performSearch(1))},"搜索"),(0,s.Lk)("button",{class:"reset-btn",onClick:a[10]||(a[10]=(...e)=>ae.resetSearch&&ae.resetSearch(...e))},"重置")])])]),ee.loading?((0,s.uX)(),(0,s.CE)("div",Y,[(0,s.bF)(se,{visible:!0,text:"搜索中,请稍候..."})])):((0,s.uX)(),(0,s.CE)("div",X,[(0,s.Lk)("div",A,[ee.totalResults>0?((0,s.uX)(),(0,s.CE)("h2",_,"找到 "+(0,i.v_)(ee.totalResults)+" 条结果",1)):((0,s.uX)(),(0,s.CE)("h2",z,"未找到符合条件的结果"))]),0===ee.searchParams.mode?((0,s.uX)(),(0,s.CE)("div",x,[((0,s.uX)(!0),(0,s.CE)(s.FK,null,(0,s.pI)(ee.searchResults,(e=>((0,s.uX)(),(0,s.CE)("div",{key:e.id,class:"result-item simple",onClick:a=>ae.viewArticle(e.id)},[(0,s.Lk)("div",R,(0,i.v_)(e.title),1)],8,F)))),128))])):((0,s.uX)(),(0,s.CE)("div",N,[((0,s.uX)(!0),(0,s.CE)(s.FK,null,(0,s.pI)(ee.searchResults,(e=>((0,s.uX)(),(0,s.CE)("div",{key:e.id,class:"result-item detailed",onClick:a=>ae.viewArticle(e.id)},[(0,s.Lk)("div",U,[(0,s.Lk)("h3",j,(0,i.v_)(e.title),1),(0,s.Lk)("div",K,[e.top?((0,s.uX)(),(0,s.CE)("span",Q,"置顶")):(0,s.Q3)("",!0),e.highlight?((0,s.uX)(),(0,s.CE)("span",W,"优质")):(0,s.Q3)("",!0),e.official?((0,s.uX)(),(0,s.CE)("span",$,"官方")):(0,s.Q3)("",!0)])]),(0,s.Lk)("div",q,[(0,s.Lk)("span",D,(0,i.v_)(e.section),1),(0,s.Lk)("span",V,"更新: "+(0,i.v_)(ae.formatDate(e.updated_at)),1)]),(0,s.Lk)("div",B,[((0,s.uX)(!0),(0,s.CE)(s.FK,null,(0,s.pI)(e.tags,(e=>((0,s.uX)(),(0,s.CE)("div",{key:e.id,class:"tag",onClick:(0,l.D$)((a=>ae.searchByTag(e.id)),["stop"])},(0,i.v_)(e.name),9,O)))),128))])],8,I)))),128))])),ee.totalPages>0?((0,s.uX)(),(0,s.CE)("div",J,[(0,s.Lk)("button",{class:"page-btn",disabled:ee.currentPage<=1,onClick:a[11]||(a[11]=e=>ae.performSearch(ee.currentPage-1))}," 上一页 ",8,G),(0,s.Lk)("div",H,(0,i.v_)(ee.currentPage)+" / "+(0,i.v_)(ee.totalPages),1),(0,s.Lk)("button",{class:"page-btn",disabled:ee.currentPage>=ee.totalPages,onClick:a[12]||(a[12]=e=>ae.performSearch(ee.currentPage+1))}," 下一页 ",8,M)])):(0,s.Q3)("",!0)]))])])}t(4945),t(4600),t(7670);var ee=t(4493),ae=t(9297),te=t(6707),se=t(2453),le={name:"SearchView",components:{Navbar:ee.A,Loading:ae.A},data(){return{searchParams:{content:"",section:null,mode:1,pageSize:10,top:null,highlight:null,official:null},allTags:[],selectedTags:[],hotSearchTags:["数值分析","大学物理","高数","概率论","线性代数","毛概"],showAdvanced:!1,searchResults:[],totalResults:0,totalPages:0,currentPage:1,loading:!1,initialized:!1}},created(){document.title="内容检索 - NEU小站",this.loadTags();const e=this.$route.query;if(e.content&&(this.searchParams.content=e.content),void 0!==e.section&&(this.searchParams.section=Number(e.section)),void 0!==e.mode&&(this.searchParams.mode=Number(e.mode)),void 0!==e.top&&(this.searchParams.top="1"===e.top),void 0!==e.highlight&&(this.searchParams.highlight="1"===e.highlight),void 0!==e.official&&(this.searchParams.official="1"===e.official),e.page&&(this.currentPage=Number(e.page)),e.pageSize&&(this.searchParams.pageSize=Number(e.pageSize)),e.tags)try{const a=e.tags.split(",").map((e=>Number(e)));this.selectedTags=a}catch(a){console.error("解析标签参数失败",a)}(e.content||void 0!==e.section||e.tags)&&((void 0!==e.section||e.tags||void 0!==e.top||void 0!==e.highlight||void 0!==e.official)&&(this.showAdvanced=!0),setTimeout((()=>{this.performSearch(this.currentPage)}),300))},methods:{toggleAdvanced(){this.showAdvanced=!this.showAdvanced},quickSearch(e){this.resetSearch(),this.searchParams.content=e,this.performSearch(1)},async loadTags(){try{const e=await fetch("https://newfront.东北大学.com/search/tags?sort=name");if(!e.ok)throw new Error("加载标签失败");const a=await e.json();this.allTags=a.tags||[]}catch(e){console.error("获取标签失败:",e),te.A.alert("加载标签失败,请刷新页面重试","错误")}},toggleTag(e){const a=this.selectedTags.indexOf(e);-1===a?this.selectedTags.push(e):this.selectedTags.splice(a,1)},toggleFilter(e,a){this.searchParams[e]=a?1:null},async performSearch(e=1){const a=!!this.searchParams.content,t=null!==this.searchParams.section,s=this.selectedTags.length>0;if(a||t||s){this.loading=!0,this.currentPage=e;try{const e={...this.searchParams,page:this.currentPage};null!==e.top&&(e.top=e.top?1:0),null!==e.highlight&&(e.highlight=e.highlight?1:0),null!==e.official&&(e.official=e.official?1:0),this.selectedTags.length>0&&(e.tags=this.selectedTags),this.updateUrlParams(e);const a=se.A.get("token"),t={"Content-Type":"application/json"};a&&(t["Authorization"]=a);const s=await fetch("https://newfront.东北大学.com/search/general",{method:"POST",headers:t,body:JSON.stringify({...e,record:!0})});if(!s.ok){const e=await s.json().catch((()=>({})));throw new Error(e.message||"搜索请求失败")}const l=await s.json();this.searchResults=l.articles||[],this.totalResults=l.total||0,this.totalPages=l.totalPages||0,this.currentPage=l.page||1}catch(l){console.error("搜索失败:",l),te.A.alert(l.message||"搜索失败,请稍后重试","错误")}finally{this.loading=!1,this.initialized=!0}}else te.A.alert("请至少提供一个搜索条件(关键词、板块或标签)","提示")},resetSearch(){this.searchParams={content:"",section:null,mode:1,pageSize:10,top:null,highlight:null,official:null},this.selectedTags=[],this.searchResults=[],this.totalResults=0,this.totalPages=0,this.currentPage=1,this.$router.replace({query:{}})},searchByTag(e){this.resetSearch(),this.selectedTags=[e],this.showAdvanced=!0,this.performSearch(1)},viewArticle(e){this.$router.push(`/article/${e}`)},updateUrlParams(e){const a={};e.content&&(a.content=e.content),null!==e.section&&(a.section=e.section),1!==e.mode&&(a.mode=e.mode),10!==e.pageSize&&(a.pageSize=e.pageSize),e.page&&e.page>1&&(a.page=e.page),null!==e.top&&(a.top=e.top),null!==e.highlight&&(a.highlight=e.highlight),null!==e.official&&(a.official=e.official),this.selectedTags.length>0&&(a.tags=this.selectedTags.join(",")),this.$router.replace({query:a},(()=>{}),(()=>{}))},formatDate(e){if(!e)return"";const a=new Date(e);return a.toLocaleDateString("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit"})}}},ie=t(6968);const ce=(0,ie.A)(le,[["render",Z],["__scopeId","data-v-1e31e220"]]);var oe=ce},9297:function(e,a,t){t.d(a,{A:function(){return g}});var s=t(1411),l=t(2515);const i={key:0,class:"loading-container"},c={class:"loading-content"},o={class:"loading-text"};function n(e,a,t,n,r,h){return t.visible?((0,s.uX)(),(0,s.CE)("div",i,[a[1]||(a[1]=(0,s.Lk)("div",{class:"loading-overlay"},null,-1)),(0,s.Lk)("div",c,[a[0]||(a[0]=(0,s.Lk)("div",{class:"loading-spinner"},[(0,s.Lk)("div",{class:"spinner"})],-1)),(0,s.Lk)("div",o,(0,l.v_)(t.text),1)])])):(0,s.Q3)("",!0)}var r={name:"Loading",props:{visible:{type:Boolean,default:!1},text:{type:String,default:"加载中..."}}},h=t(6968);const d=(0,h.A)(r,[["render",n],["__scopeId","data-v-6e5c4b84"]]);var g=d}}]);
-//# sourceMappingURL=1.1123bf67.js.map
\ No newline at end of file
+"use strict";(self["webpackChunknewfront"]=self["webpackChunknewfront"]||[]).push([[1],{6001:function(e,a,t){t.r(a),t.d(a,{default:function(){return oe}});var s=t(1411),l=t(1561),i=t(2515);const c={class:"search-view"},o={class:"container"},n={class:"search-panel"},r={class:"search-form"},h={class:"form-group"},d={class:"hot-search"},g={class:"hot-tags"},u=["onClick"],p={class:"advanced-search"},k={class:"advanced-options"},v={class:"form-group"},m={class:"radio-group"},f={class:"form-group"},L={class:"tags-selector"},b=["onClick"],P={key:0,class:"no-tags"},C={class:"form-group"},y={class:"checkbox-group"},S=["checked"],w=["checked"],T=["checked"],E={class:"form-actions"},X={key:0,class:"search-results"},A={class:"results-header"},_={key:0},z={key:1},x={key:0,class:"results-list simple-mode"},F=["onClick"],R={class:"article-title"},N={key:1,class:"results-list detailed-mode"},I=["onClick"],U={class:"article-header"},j={class:"article-title"},K={class:"article-badges"},Q={key:0,class:"badge top"},W={key:1,class:"badge highlight"},$={key:2,class:"badge official"},q={class:"article-meta"},D={class:"article-section"},V={class:"article-date"},B={class:"article-tags"},O=["onClick"],J={key:2,class:"pagination"},G=["disabled"],H={class:"page-info"},M=["disabled"],Y={key:1,class:"loading-container"};function Z(e,a,t,Z,ee,ae){const te=(0,s.g2)("Navbar"),se=(0,s.g2)("Loading");return(0,s.uX)(),(0,s.CE)("div",c,[(0,s.bF)(te),(0,s.Lk)("div",o,[(0,s.Lk)("div",n,[a[25]||(a[25]=(0,s.Lk)("h1",{class:"search-title"},"内容检索",-1)),(0,s.Lk)("div",r,[(0,s.Lk)("div",h,[a[13]||(a[13]=(0,s.Lk)("label",null,"标题或内容:",-1)),(0,s.bo)((0,s.Lk)("input",{type:"text","onUpdate:modelValue":a[0]||(a[0]=e=>ee.searchParams.content=e),placeholder:"搜索标题或内容",onKeyup:a[1]||(a[1]=(0,l.jR)((e=>ae.performSearch(1)),["enter"]))},null,544),[[l.Jo,ee.searchParams.content]])]),(0,s.Lk)("div",d,[a[14]||(a[14]=(0,s.Lk)("h3",null,"近期热搜",-1)),(0,s.Lk)("div",g,[((0,s.uX)(!0),(0,s.CE)(s.FK,null,(0,s.pI)(ee.hotSearchTags,((e,a)=>((0,s.uX)(),(0,s.CE)("div",{key:a,class:"hot-tag",onClick:a=>ae.quickSearch(e)},(0,i.v_)(e),9,u)))),128))])]),(0,s.Lk)("div",p,[(0,s.Lk)("div",{class:"advanced-toggle",onClick:a[2]||(a[2]=(...e)=>ae.toggleAdvanced&&ae.toggleAdvanced(...e))},[a[15]||(a[15]=(0,s.Lk)("span",null,"高级筛选",-1)),(0,s.Lk)("i",{class:(0,i.C4)(["toggle-icon",{expanded:ee.showAdvanced}])},(0,i.v_)(ee.showAdvanced?"▲":"▼"),3)]),(0,s.bo)((0,s.Lk)("div",k,[(0,s.Lk)("div",v,[a[19]||(a[19]=(0,s.Lk)("label",null,"板块:",-1)),(0,s.Lk)("div",m,[(0,s.Lk)("label",null,[(0,s.bo)((0,s.Lk)("input",{type:"radio","onUpdate:modelValue":a[3]||(a[3]=e=>ee.searchParams.section=e),value:null},null,512),[[l.XL,ee.searchParams.section]]),a[16]||(a[16]=(0,s.eW)(" 全部 "))]),(0,s.Lk)("label",null,[(0,s.bo)((0,s.Lk)("input",{type:"radio","onUpdate:modelValue":a[4]||(a[4]=e=>ee.searchParams.section=e),value:0},null,512),[[l.XL,ee.searchParams.section]]),a[17]||(a[17]=(0,s.eW)(" 攻略指南 "))]),(0,s.Lk)("label",null,[(0,s.bo)((0,s.Lk)("input",{type:"radio","onUpdate:modelValue":a[5]||(a[5]=e=>ee.searchParams.section=e),value:1},null,512),[[l.XL,ee.searchParams.section]]),a[18]||(a[18]=(0,s.eW)(" 资源共享 "))])])]),(0,s.Lk)("div",f,[a[20]||(a[20]=(0,s.Lk)("label",null,"标签:",-1)),(0,s.Lk)("div",L,[((0,s.uX)(!0),(0,s.CE)(s.FK,null,(0,s.pI)(ee.allTags,(e=>((0,s.uX)(),(0,s.CE)("div",{key:e.id,class:(0,i.C4)(["tag-item",{selected:ee.selectedTags.includes(e.id)}]),onClick:a=>ae.toggleTag(e.id)},(0,i.v_)(e.name),11,b)))),128)),0===ee.allTags.length?((0,s.uX)(),(0,s.CE)("div",P,"加载标签中...")):(0,s.Q3)("",!0)])]),(0,s.Lk)("div",C,[a[24]||(a[24]=(0,s.Lk)("label",null,"附加筛选:",-1)),(0,s.Lk)("div",y,[(0,s.Lk)("label",null,[(0,s.Lk)("input",{type:"checkbox",checked:1===ee.searchParams.top,onChange:a[6]||(a[6]=e=>ae.toggleFilter("top",e.target.checked))},null,40,S),a[21]||(a[21]=(0,s.eW)(" 置顶 "))]),(0,s.Lk)("label",null,[(0,s.Lk)("input",{type:"checkbox",checked:1===ee.searchParams.highlight,onChange:a[7]||(a[7]=e=>ae.toggleFilter("highlight",e.target.checked))},null,40,w),a[22]||(a[22]=(0,s.eW)(" 优质 "))]),(0,s.Lk)("label",null,[(0,s.Lk)("input",{type:"checkbox",checked:1===ee.searchParams.official,onChange:a[8]||(a[8]=e=>ae.toggleFilter("official",e.target.checked))},null,40,T),a[23]||(a[23]=(0,s.eW)(" 官方内容 "))])])])],512),[[l.aG,ee.showAdvanced]])]),(0,s.Lk)("div",E,[(0,s.Lk)("button",{class:"search-btn",onClick:a[9]||(a[9]=e=>ae.performSearch(1))},"搜索"),(0,s.Lk)("button",{class:"reset-btn",onClick:a[10]||(a[10]=(...e)=>ae.resetSearch&&ae.resetSearch(...e))},"重置")])])]),ee.loading?((0,s.uX)(),(0,s.CE)("div",Y,[(0,s.bF)(se,{visible:!0,text:"搜索中,请稍候..."})])):((0,s.uX)(),(0,s.CE)("div",X,[(0,s.Lk)("div",A,[ee.totalResults>0?((0,s.uX)(),(0,s.CE)("h2",_,"找到 "+(0,i.v_)(ee.totalResults)+" 条结果",1)):((0,s.uX)(),(0,s.CE)("h2",z,"未找到符合条件的结果"))]),0===ee.searchParams.mode?((0,s.uX)(),(0,s.CE)("div",x,[((0,s.uX)(!0),(0,s.CE)(s.FK,null,(0,s.pI)(ee.searchResults,(e=>((0,s.uX)(),(0,s.CE)("div",{key:e.id,class:"result-item simple",onClick:a=>ae.viewArticle(e.id)},[(0,s.Lk)("div",R,(0,i.v_)(e.title),1)],8,F)))),128))])):((0,s.uX)(),(0,s.CE)("div",N,[((0,s.uX)(!0),(0,s.CE)(s.FK,null,(0,s.pI)(ee.searchResults,(e=>((0,s.uX)(),(0,s.CE)("div",{key:e.id,class:"result-item detailed",onClick:a=>ae.viewArticle(e.id)},[(0,s.Lk)("div",U,[(0,s.Lk)("h3",j,(0,i.v_)(e.title),1),(0,s.Lk)("div",K,[e.top?((0,s.uX)(),(0,s.CE)("span",Q,"置顶")):(0,s.Q3)("",!0),e.highlight?((0,s.uX)(),(0,s.CE)("span",W,"优质")):(0,s.Q3)("",!0),e.official?((0,s.uX)(),(0,s.CE)("span",$,"官方")):(0,s.Q3)("",!0)])]),(0,s.Lk)("div",q,[(0,s.Lk)("span",D,(0,i.v_)(e.section),1),(0,s.Lk)("span",V,"更新: "+(0,i.v_)(ae.formatDate(e.updated_at)),1)]),(0,s.Lk)("div",B,[((0,s.uX)(!0),(0,s.CE)(s.FK,null,(0,s.pI)(e.tags,(e=>((0,s.uX)(),(0,s.CE)("div",{key:e.id,class:"tag",onClick:(0,l.D$)((a=>ae.searchByTag(e.id)),["stop"])},(0,i.v_)(e.name),9,O)))),128))])],8,I)))),128))])),ee.totalPages>0?((0,s.uX)(),(0,s.CE)("div",J,[(0,s.Lk)("button",{class:"page-btn",disabled:ee.currentPage<=1,onClick:a[11]||(a[11]=e=>ae.performSearch(ee.currentPage-1))}," 上一页 ",8,G),(0,s.Lk)("div",H,(0,i.v_)(ee.currentPage)+" / "+(0,i.v_)(ee.totalPages),1),(0,s.Lk)("button",{class:"page-btn",disabled:ee.currentPage>=ee.totalPages,onClick:a[12]||(a[12]=e=>ae.performSearch(ee.currentPage+1))}," 下一页 ",8,M)])):(0,s.Q3)("",!0)]))])])}t(4945),t(4600),t(7670);var ee=t(8875),ae=t(9297),te=t(6707),se=t(2453),le={name:"SearchView",components:{Navbar:ee.A,Loading:ae.A},data(){return{searchParams:{content:"",section:null,mode:1,pageSize:10,top:null,highlight:null,official:null},allTags:[],selectedTags:[],hotSearchTags:["数值分析","大学物理","高数","概率论","线性代数","毛概"],showAdvanced:!1,searchResults:[],totalResults:0,totalPages:0,currentPage:1,loading:!1,initialized:!1}},created(){document.title="内容检索 - NEU小站",this.loadTags();const e=this.$route.query;if(e.content&&(this.searchParams.content=e.content),void 0!==e.section&&(this.searchParams.section=Number(e.section)),void 0!==e.mode&&(this.searchParams.mode=Number(e.mode)),void 0!==e.top&&(this.searchParams.top="1"===e.top),void 0!==e.highlight&&(this.searchParams.highlight="1"===e.highlight),void 0!==e.official&&(this.searchParams.official="1"===e.official),e.page&&(this.currentPage=Number(e.page)),e.pageSize&&(this.searchParams.pageSize=Number(e.pageSize)),e.tags)try{const a=e.tags.split(",").map((e=>Number(e)));this.selectedTags=a}catch(a){console.error("解析标签参数失败",a)}(e.content||void 0!==e.section||e.tags)&&((void 0!==e.section||e.tags||void 0!==e.top||void 0!==e.highlight||void 0!==e.official)&&(this.showAdvanced=!0),setTimeout((()=>{this.performSearch(this.currentPage)}),300))},methods:{toggleAdvanced(){this.showAdvanced=!this.showAdvanced},quickSearch(e){this.resetSearch(),this.searchParams.content=e,this.performSearch(1)},async loadTags(){try{const e=await fetch("https://newfront.东北大学.com/search/tags?sort=name");if(!e.ok)throw new Error("加载标签失败");const a=await e.json();this.allTags=a.tags||[]}catch(e){console.error("获取标签失败:",e),te.A.alert("加载标签失败,请刷新页面重试","错误")}},toggleTag(e){const a=this.selectedTags.indexOf(e);-1===a?this.selectedTags.push(e):this.selectedTags.splice(a,1)},toggleFilter(e,a){this.searchParams[e]=a?1:null},async performSearch(e=1){const a=!!this.searchParams.content,t=null!==this.searchParams.section,s=this.selectedTags.length>0;if(a||t||s){this.loading=!0,this.currentPage=e;try{const e={...this.searchParams,page:this.currentPage};null!==e.top&&(e.top=e.top?1:0),null!==e.highlight&&(e.highlight=e.highlight?1:0),null!==e.official&&(e.official=e.official?1:0),this.selectedTags.length>0&&(e.tags=this.selectedTags),this.updateUrlParams(e);const a=se.A.get("token"),t={"Content-Type":"application/json"};a&&(t["Authorization"]=a);const s=await fetch("https://newfront.东北大学.com/search/general",{method:"POST",headers:t,body:JSON.stringify({...e,record:!0})});if(!s.ok){const e=await s.json().catch((()=>({})));throw new Error(e.message||"搜索请求失败")}const l=await s.json();this.searchResults=l.articles||[],this.totalResults=l.total||0,this.totalPages=l.totalPages||0,this.currentPage=l.page||1}catch(l){console.error("搜索失败:",l),te.A.alert(l.message||"搜索失败,请稍后重试","错误")}finally{this.loading=!1,this.initialized=!0}}else te.A.alert("请至少提供一个搜索条件(关键词、板块或标签)","提示")},resetSearch(){this.searchParams={content:"",section:null,mode:1,pageSize:10,top:null,highlight:null,official:null},this.selectedTags=[],this.searchResults=[],this.totalResults=0,this.totalPages=0,this.currentPage=1,this.$router.replace({query:{}})},searchByTag(e){this.resetSearch(),this.selectedTags=[e],this.showAdvanced=!0,this.performSearch(1)},viewArticle(e){this.$router.push(`/article/${e}`)},updateUrlParams(e){const a={};e.content&&(a.content=e.content),null!==e.section&&(a.section=e.section),1!==e.mode&&(a.mode=e.mode),10!==e.pageSize&&(a.pageSize=e.pageSize),e.page&&e.page>1&&(a.page=e.page),null!==e.top&&(a.top=e.top),null!==e.highlight&&(a.highlight=e.highlight),null!==e.official&&(a.official=e.official),this.selectedTags.length>0&&(a.tags=this.selectedTags.join(",")),this.$router.replace({query:a},(()=>{}),(()=>{}))},formatDate(e){if(!e)return"";const a=new Date(e);return a.toLocaleDateString("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit"})}}},ie=t(6968);const ce=(0,ie.A)(le,[["render",Z],["__scopeId","data-v-1e31e220"]]);var oe=ce},9297:function(e,a,t){t.d(a,{A:function(){return g}});var s=t(1411),l=t(2515);const i={key:0,class:"loading-container"},c={class:"loading-content"},o={class:"loading-text"};function n(e,a,t,n,r,h){return t.visible?((0,s.uX)(),(0,s.CE)("div",i,[a[1]||(a[1]=(0,s.Lk)("div",{class:"loading-overlay"},null,-1)),(0,s.Lk)("div",c,[a[0]||(a[0]=(0,s.Lk)("div",{class:"loading-spinner"},[(0,s.Lk)("div",{class:"spinner"})],-1)),(0,s.Lk)("div",o,(0,l.v_)(t.text),1)])])):(0,s.Q3)("",!0)}var r={name:"Loading",props:{visible:{type:Boolean,default:!1},text:{type:String,default:"加载中..."}}},h=t(6968);const d=(0,h.A)(r,[["render",n],["__scopeId","data-v-6e5c4b84"]]);var g=d}}]);
+//# sourceMappingURL=1.d0c07056.js.map
\ No newline at end of file
diff --git a/dist/js/135.ad177e20.js b/dist/js/135.3be5c892.js
similarity index 98%
rename from dist/js/135.ad177e20.js
rename to dist/js/135.3be5c892.js
index 3c91137..abf2438 100644
--- a/dist/js/135.ad177e20.js
+++ b/dist/js/135.3be5c892.js
@@ -1,2 +1,2 @@
-"use strict";(self["webpackChunknewfront"]=self["webpackChunknewfront"]||[]).push([[135],{5723:function(t,a,e){e.d(a,{A:function(){return j}});var s=e(1411),i=e(2515);const n={class:"card-list-container"},r={key:0,class:"card-grid"},c=["onClick"],l={class:"card-content"},o={class:"card-title"},d={class:"card-tags"},g={key:0,class:"article-tag official"},h={key:1,class:"article-tag highlight"},u={key:2,class:"article-tag top"},p={class:"card-meta"},k={class:"card-section"},v={class:"card-date"},f={class:"card-tags-list"},y={key:0,class:"no-data"},P={key:1,class:"table-container"},C={class:"articles-table"},m=["onClick"],L={class:"rank-cell"},T={class:"title-cell"},E={class:"title-content"},w={class:"article-title"},b={key:0,class:"no-data"},X={key:2,class:"loading"},A={key:3,class:"pagination"},S=["disabled"],_={class:"page-info"},$=["disabled"];function q(t,a,e,q,z,I){return(0,s.uX)(),(0,s.CE)("div",n,[1===e.mode?((0,s.uX)(),(0,s.CE)("div",r,[((0,s.uX)(!0),(0,s.CE)(s.FK,null,(0,s.pI)(z.articles,(t=>((0,s.uX)(),(0,s.CE)("div",{key:t.id,class:"card",onClick:a=>I.viewArticle(t.id)},[(0,s.Lk)("div",l,[(0,s.Lk)("h3",o,(0,i.v_)(t.title),1),(0,s.Lk)("div",d,[t.official?((0,s.uX)(),(0,s.CE)("span",g,"官方")):(0,s.Q3)("",!0),t.highlight?((0,s.uX)(),(0,s.CE)("span",h,"优质")):(0,s.Q3)("",!0),t.top?((0,s.uX)(),(0,s.CE)("span",u,"置顶")):(0,s.Q3)("",!0)]),(0,s.Lk)("div",p,[(0,s.Lk)("span",k,(0,i.v_)(t.section||"资源共享"),1),(0,s.Lk)("span",v,"更新于 "+(0,i.v_)(I.formatDate(t.updated_at)),1)]),(0,s.Lk)("div",f,[((0,s.uX)(!0),(0,s.CE)(s.FK,null,(0,s.pI)(t.tags,(t=>((0,s.uX)(),(0,s.CE)("span",{key:t.id,class:"card-tag"},(0,i.v_)(t.name),1)))),128))])])],8,c)))),128)),0!==z.articles.length||z.loading?(0,s.Q3)("",!0):((0,s.uX)(),(0,s.CE)("div",y," 暂无符合条件的文章 "))])):((0,s.uX)(),(0,s.CE)("div",P,[(0,s.Lk)("table",C,[(0,s.Lk)("tbody",null,[((0,s.uX)(!0),(0,s.CE)(s.FK,null,(0,s.pI)(z.articles,((t,a)=>((0,s.uX)(),(0,s.CE)("tr",{key:t.id,onClick:a=>I.viewArticle(t.id)},[(0,s.Lk)("td",L,[(0,s.Lk)("span",{class:(0,i.C4)(["rank-num",I.getRankClass(a)])},(0,i.v_)((z.currentPage-1)*e.pageSize+a+1),3)]),(0,s.Lk)("td",T,[(0,s.Lk)("div",E,[(0,s.Lk)("span",w,(0,i.v_)(t.title),1)])])],8,m)))),128))])]),0!==z.articles.length||z.loading?(0,s.Q3)("",!0):((0,s.uX)(),(0,s.CE)("div",b," 暂无符合条件的文章 "))])),z.loading?((0,s.uX)(),(0,s.CE)("div",X,a[2]||(a[2]=[(0,s.Lk)("div",{class:"loading-spinner"},null,-1),(0,s.Lk)("span",null,"正在加载...",-1)]))):(0,s.Q3)("",!0),e.showPagination&&z.totalPages>1&&!z.loading?((0,s.uX)(),(0,s.CE)("div",A,[(0,s.Lk)("button",{disabled:1===z.currentPage,onClick:a[0]||(a[0]=t=>I.changePage(z.currentPage-1)),class:"pagination-btn"}," 上一页 ",8,S),(0,s.Lk)("span",_,(0,i.v_)(z.currentPage)+" / "+(0,i.v_)(z.totalPages),1),(0,s.Lk)("button",{disabled:z.currentPage===z.totalPages,onClick:a[1]||(a[1]=t=>I.changePage(z.currentPage+1)),class:"pagination-btn"}," 下一页 ",8,$)])):(0,s.Q3)("",!0)])}e(4945);var z={name:"CardList",props:{searchParams:{type:Object,default:()=>({})},mode:{type:Number,default:1},pageSize:{type:Number,default:12},apiEndpoint:{type:String,default:"/search/general"},showPagination:{type:Boolean,default:!0}},data(){return{articles:[],currentPage:1,totalPages:0,total:0,loading:!1}},watch:{searchParams:{handler(){if(!this.showPagination)return this.currentPage=1,void this.fetchArticles();const t=parseInt(this.$route.query.articlePage)||1;1!==t?this.$router.push({query:{...this.$route.query,articlePage:1}}):(this.currentPage=1,this.fetchArticles())},deep:!0},"$route.query.articlePage"(t){if(!this.showPagination)return;const a=parseInt(t)||1;a!==this.currentPage&&(this.currentPage=a,this.fetchArticles())}},created(){if(this.showPagination){const t=parseInt(this.$route.query.articlePage)||1;this.currentPage=t}else this.currentPage=1},mounted(){this.fetchArticles()},methods:{async fetchArticles(){this.loading=!0;try{const t="https://newfront.xn--xhq44jb2fzpc.com",a=this.apiEndpoint.startsWith("/")?this.apiEndpoint:`/${this.apiEndpoint}`,e=`${t}${a}`,s=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...this.searchParams,mode:this.mode,page:this.currentPage,pageSize:this.pageSize})});if(!s.ok)throw new Error("获取文章失败");const i=await s.json();this.articles=i.articles,this.totalPages=i.totalPages,this.total=i.total}catch(t){console.error("获取文章数据失败:",t),this.articles=[]}finally{this.loading=!1}},getSectionName(t){return 0===t?"攻略指南":"资源共享"},formatDate(t){if(!t)return"";const a=new Date(t);return a.toLocaleDateString("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit"})},changePage(t){t>=1&&t<=this.totalPages&&(this.$router.push({query:{...this.$route.query,articlePage:t}}),window.scrollTo({top:0,behavior:"smooth"}))},viewArticle(t){this.$router.push(`/article/${t}`)},getRankClass(t){const a=(this.currentPage-1)*this.pageSize+t+1;return 1===a?"rank-1":2===a?"rank-2":3===a?"rank-3":""}}},I=e(6968);const N=(0,I.A)(z,[["render",q],["__scopeId","data-v-5429db0e"]]);var j=N},6516:function(t,a,e){e.r(a),e.d(a,{default:function(){return P}});var s=e(1411),i=e(2515);const n={class:"strategy-view"},r={class:"container"},c={class:"tag-selection"},l={class:"tag-header"},o={class:"tag-controls"},d={class:"tags-container"},g=["onClick"],h={key:0,class:"check-icon"};function u(t,a,e,u,p,k){const v=(0,s.g2)("NavBar"),f=(0,s.g2)("CardList");return(0,s.uX)(),(0,s.CE)("div",n,[(0,s.bF)(v),(0,s.Lk)("div",r,[a[2]||(a[2]=(0,s.Lk)("h1",{class:"page-title"},"攻略指南",-1)),a[3]||(a[3]=(0,s.Lk)("div",{class:"intro-card"},[(0,s.Lk)("p",{class:"intro-text"}," 为鼓励大家积极投稿,本站投稿者可获得东币奖励,以及专属访问密码以访问本站加密资源,感谢您的支持~ ")],-1)),(0,s.Lk)("div",c,[(0,s.Lk)("div",l,[a[1]||(a[1]=(0,s.Lk)("h2",{class:"tag-title"},"热门标签",-1)),(0,s.Lk)("div",o,[(0,s.Lk)("button",{class:"tag-control-btn",onClick:a[0]||(a[0]=(...t)=>k.clearAllTags&&k.clearAllTags(...t))},"清除")])]),(0,s.Lk)("div",d,[((0,s.uX)(!0),(0,s.CE)(s.FK,null,(0,s.pI)(p.strategyTags,(t=>((0,s.uX)(),(0,s.CE)("div",{key:t.id,class:(0,i.C4)(["tag-chip",{active:p.selectedTags.includes(t.id)}]),onClick:a=>k.toggleTag(t.id)},[(0,s.eW)((0,i.v_)(t.name)+" ",1),p.selectedTags.includes(t.id)?((0,s.uX)(),(0,s.CE)("span",h,"✓")):(0,s.Q3)("",!0)],10,g)))),128))])]),(0,s.bF)(f,{searchParams:k.searchParams,mode:1,pageSize:12},null,8,["searchParams"])])])}e(4945),e(4600),e(7120);var p=e(4493),k=e(5723),v={name:"StrategyView",components:{NavBar:p.A,CardList:k.A},data(){return{selectedTags:[],strategyTags:[],loadingTags:!1,tagLoadingError:null}},created(){document.title="攻略指南 - NEU小站",this.fetchSelectionTags()},computed:{searchParams(){const t={section:0};return this.selectedTags.length>0&&(t.tags=this.selectedTags),t}},methods:{async fetchSelectionTags(){this.loadingTags=!0,this.tagLoadingError=null;try{const t="https://newfront.xn--xhq44jb2fzpc.com/search/selection-tag",a=await fetch(t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({area_ids:[0]})});if(!a.ok){const t=await a.json();throw new Error(t.message||`HTTP error! status: ${a.status}`)}const e=await a.json();this.strategyTags=e["0"]||[]}catch(t){console.error("获取攻略指南标签失败:",t),this.tagLoadingError="无法加载热门标签,请稍后重试。",this.strategyTags=[]}finally{this.loadingTags=!1}},toggleTag(t){this.selectedTags.includes(t)?this.selectedTags=this.selectedTags.filter((a=>a!==t)):this.selectedTags.push(t)},clearAllTags(){this.selectedTags=[]}}},f=e(6968);const y=(0,f.A)(v,[["render",u],["__scopeId","data-v-2521448c"]]);var P=y}}]);
-//# sourceMappingURL=135.ad177e20.js.map
\ No newline at end of file
+"use strict";(self["webpackChunknewfront"]=self["webpackChunknewfront"]||[]).push([[135],{5723:function(t,a,e){e.d(a,{A:function(){return j}});var s=e(1411),i=e(2515);const n={class:"card-list-container"},r={key:0,class:"card-grid"},c=["onClick"],l={class:"card-content"},o={class:"card-title"},d={class:"card-tags"},g={key:0,class:"article-tag official"},h={key:1,class:"article-tag highlight"},u={key:2,class:"article-tag top"},p={class:"card-meta"},k={class:"card-section"},v={class:"card-date"},f={class:"card-tags-list"},y={key:0,class:"no-data"},P={key:1,class:"table-container"},C={class:"articles-table"},m=["onClick"],L={class:"rank-cell"},T={class:"title-cell"},E={class:"title-content"},w={class:"article-title"},b={key:0,class:"no-data"},X={key:2,class:"loading"},A={key:3,class:"pagination"},S=["disabled"],_={class:"page-info"},$=["disabled"];function q(t,a,e,q,z,I){return(0,s.uX)(),(0,s.CE)("div",n,[1===e.mode?((0,s.uX)(),(0,s.CE)("div",r,[((0,s.uX)(!0),(0,s.CE)(s.FK,null,(0,s.pI)(z.articles,(t=>((0,s.uX)(),(0,s.CE)("div",{key:t.id,class:"card",onClick:a=>I.viewArticle(t.id)},[(0,s.Lk)("div",l,[(0,s.Lk)("h3",o,(0,i.v_)(t.title),1),(0,s.Lk)("div",d,[t.official?((0,s.uX)(),(0,s.CE)("span",g,"官方")):(0,s.Q3)("",!0),t.highlight?((0,s.uX)(),(0,s.CE)("span",h,"优质")):(0,s.Q3)("",!0),t.top?((0,s.uX)(),(0,s.CE)("span",u,"置顶")):(0,s.Q3)("",!0)]),(0,s.Lk)("div",p,[(0,s.Lk)("span",k,(0,i.v_)(t.section||"资源共享"),1),(0,s.Lk)("span",v,"更新于 "+(0,i.v_)(I.formatDate(t.updated_at)),1)]),(0,s.Lk)("div",f,[((0,s.uX)(!0),(0,s.CE)(s.FK,null,(0,s.pI)(t.tags,(t=>((0,s.uX)(),(0,s.CE)("span",{key:t.id,class:"card-tag"},(0,i.v_)(t.name),1)))),128))])])],8,c)))),128)),0!==z.articles.length||z.loading?(0,s.Q3)("",!0):((0,s.uX)(),(0,s.CE)("div",y," 暂无符合条件的文章 "))])):((0,s.uX)(),(0,s.CE)("div",P,[(0,s.Lk)("table",C,[(0,s.Lk)("tbody",null,[((0,s.uX)(!0),(0,s.CE)(s.FK,null,(0,s.pI)(z.articles,((t,a)=>((0,s.uX)(),(0,s.CE)("tr",{key:t.id,onClick:a=>I.viewArticle(t.id)},[(0,s.Lk)("td",L,[(0,s.Lk)("span",{class:(0,i.C4)(["rank-num",I.getRankClass(a)])},(0,i.v_)((z.currentPage-1)*e.pageSize+a+1),3)]),(0,s.Lk)("td",T,[(0,s.Lk)("div",E,[(0,s.Lk)("span",w,(0,i.v_)(t.title),1)])])],8,m)))),128))])]),0!==z.articles.length||z.loading?(0,s.Q3)("",!0):((0,s.uX)(),(0,s.CE)("div",b," 暂无符合条件的文章 "))])),z.loading?((0,s.uX)(),(0,s.CE)("div",X,a[2]||(a[2]=[(0,s.Lk)("div",{class:"loading-spinner"},null,-1),(0,s.Lk)("span",null,"正在加载...",-1)]))):(0,s.Q3)("",!0),e.showPagination&&z.totalPages>1&&!z.loading?((0,s.uX)(),(0,s.CE)("div",A,[(0,s.Lk)("button",{disabled:1===z.currentPage,onClick:a[0]||(a[0]=t=>I.changePage(z.currentPage-1)),class:"pagination-btn"}," 上一页 ",8,S),(0,s.Lk)("span",_,(0,i.v_)(z.currentPage)+" / "+(0,i.v_)(z.totalPages),1),(0,s.Lk)("button",{disabled:z.currentPage===z.totalPages,onClick:a[1]||(a[1]=t=>I.changePage(z.currentPage+1)),class:"pagination-btn"}," 下一页 ",8,$)])):(0,s.Q3)("",!0)])}e(4945);var z={name:"CardList",props:{searchParams:{type:Object,default:()=>({})},mode:{type:Number,default:1},pageSize:{type:Number,default:12},apiEndpoint:{type:String,default:"/search/general"},showPagination:{type:Boolean,default:!0}},data(){return{articles:[],currentPage:1,totalPages:0,total:0,loading:!1}},watch:{searchParams:{handler(){if(!this.showPagination)return this.currentPage=1,void this.fetchArticles();const t=parseInt(this.$route.query.articlePage)||1;1!==t?this.$router.push({query:{...this.$route.query,articlePage:1}}):(this.currentPage=1,this.fetchArticles())},deep:!0},"$route.query.articlePage"(t){if(!this.showPagination)return;const a=parseInt(t)||1;a!==this.currentPage&&(this.currentPage=a,this.fetchArticles())}},created(){if(this.showPagination){const t=parseInt(this.$route.query.articlePage)||1;this.currentPage=t}else this.currentPage=1},mounted(){this.fetchArticles()},methods:{async fetchArticles(){this.loading=!0;try{const t="https://newfront.xn--xhq44jb2fzpc.com",a=this.apiEndpoint.startsWith("/")?this.apiEndpoint:`/${this.apiEndpoint}`,e=`${t}${a}`,s=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...this.searchParams,mode:this.mode,page:this.currentPage,pageSize:this.pageSize})});if(!s.ok)throw new Error("获取文章失败");const i=await s.json();this.articles=i.articles,this.totalPages=i.totalPages,this.total=i.total}catch(t){console.error("获取文章数据失败:",t),this.articles=[]}finally{this.loading=!1}},getSectionName(t){return 0===t?"攻略指南":"资源共享"},formatDate(t){if(!t)return"";const a=new Date(t);return a.toLocaleDateString("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit"})},changePage(t){t>=1&&t<=this.totalPages&&(this.$router.push({query:{...this.$route.query,articlePage:t}}),window.scrollTo({top:0,behavior:"smooth"}))},viewArticle(t){this.$router.push(`/article/${t}`)},getRankClass(t){const a=(this.currentPage-1)*this.pageSize+t+1;return 1===a?"rank-1":2===a?"rank-2":3===a?"rank-3":""}}},I=e(6968);const N=(0,I.A)(z,[["render",q],["__scopeId","data-v-5429db0e"]]);var j=N},6516:function(t,a,e){e.r(a),e.d(a,{default:function(){return P}});var s=e(1411),i=e(2515);const n={class:"strategy-view"},r={class:"container"},c={class:"tag-selection"},l={class:"tag-header"},o={class:"tag-controls"},d={class:"tags-container"},g=["onClick"],h={key:0,class:"check-icon"};function u(t,a,e,u,p,k){const v=(0,s.g2)("NavBar"),f=(0,s.g2)("CardList");return(0,s.uX)(),(0,s.CE)("div",n,[(0,s.bF)(v),(0,s.Lk)("div",r,[a[2]||(a[2]=(0,s.Lk)("h1",{class:"page-title"},"攻略指南",-1)),a[3]||(a[3]=(0,s.Lk)("div",{class:"intro-card"},[(0,s.Lk)("p",{class:"intro-text"}," 为鼓励大家积极投稿,本站投稿者可获得东币奖励,以及专属访问密码以访问本站加密资源,感谢您的支持~ ")],-1)),(0,s.Lk)("div",c,[(0,s.Lk)("div",l,[a[1]||(a[1]=(0,s.Lk)("h2",{class:"tag-title"},"热门标签",-1)),(0,s.Lk)("div",o,[(0,s.Lk)("button",{class:"tag-control-btn",onClick:a[0]||(a[0]=(...t)=>k.clearAllTags&&k.clearAllTags(...t))},"清除")])]),(0,s.Lk)("div",d,[((0,s.uX)(!0),(0,s.CE)(s.FK,null,(0,s.pI)(p.strategyTags,(t=>((0,s.uX)(),(0,s.CE)("div",{key:t.id,class:(0,i.C4)(["tag-chip",{active:p.selectedTags.includes(t.id)}]),onClick:a=>k.toggleTag(t.id)},[(0,s.eW)((0,i.v_)(t.name)+" ",1),p.selectedTags.includes(t.id)?((0,s.uX)(),(0,s.CE)("span",h,"✓")):(0,s.Q3)("",!0)],10,g)))),128))])]),(0,s.bF)(f,{searchParams:k.searchParams,mode:1,pageSize:12},null,8,["searchParams"])])])}e(4945),e(4600),e(7120);var p=e(8875),k=e(5723),v={name:"StrategyView",components:{NavBar:p.A,CardList:k.A},data(){return{selectedTags:[],strategyTags:[],loadingTags:!1,tagLoadingError:null}},created(){document.title="攻略指南 - NEU小站",this.fetchSelectionTags()},computed:{searchParams(){const t={section:0};return this.selectedTags.length>0&&(t.tags=this.selectedTags),t}},methods:{async fetchSelectionTags(){this.loadingTags=!0,this.tagLoadingError=null;try{const t="https://newfront.xn--xhq44jb2fzpc.com/search/selection-tag",a=await fetch(t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({area_ids:[0]})});if(!a.ok){const t=await a.json();throw new Error(t.message||`HTTP error! status: ${a.status}`)}const e=await a.json();this.strategyTags=e["0"]||[]}catch(t){console.error("获取攻略指南标签失败:",t),this.tagLoadingError="无法加载热门标签,请稍后重试。",this.strategyTags=[]}finally{this.loadingTags=!1}},toggleTag(t){this.selectedTags.includes(t)?this.selectedTags=this.selectedTags.filter((a=>a!==t)):this.selectedTags.push(t)},clearAllTags(){this.selectedTags=[]}}},f=e(6968);const y=(0,f.A)(v,[["render",u],["__scopeId","data-v-2521448c"]]);var P=y}}]);
+//# sourceMappingURL=135.3be5c892.js.map
\ No newline at end of file
diff --git a/dist/js/150.b39c3e77.js b/dist/js/150.6899de89.js
similarity index 93%
rename from dist/js/150.b39c3e77.js
rename to dist/js/150.6899de89.js
index 737d7cf..81c79b9 100644
--- a/dist/js/150.b39c3e77.js
+++ b/dist/js/150.6899de89.js
@@ -1,2 +1,2 @@
-"use strict";(self["webpackChunknewfront"]=self["webpackChunknewfront"]||[]).push([[150],{6150:function(t,e,s){s.r(e),s.d(e,{default:function(){return me}});var i=s(1411);const n={class:"user-center"},a={key:0,class:"loading-container"},o={key:1,class:"container"},l={class:"upper-section"},r={class:"user-info-container"},c={class:"coin-container"},d={class:"lower-section"},u={key:2,class:"login-required-container"};function h(t,e,s,h,g,k){const p=(0,i.g2)("Navbar"),v=(0,i.g2)("UserInfo"),m=(0,i.g2)("Coin"),f=(0,i.g2)("SubmissionList");return(0,i.uX)(),(0,i.CE)("div",n,[(0,i.bF)(p),g.isLoading?((0,i.uX)(),(0,i.CE)("div",a,e[0]||(e[0]=[(0,i.Lk)("div",{class:"loading-spinner"},"加载中...",-1)]))):g.isAuthenticated?((0,i.uX)(),(0,i.CE)("div",o,[(0,i.Lk)("div",l,[(0,i.Lk)("div",r,[(0,i.bF)(v,{ref:"userInfo"},null,512)]),(0,i.Lk)("div",c,[(0,i.bF)(m,{ref:"coin"},null,512)])]),(0,i.Lk)("div",d,[(0,i.bF)(f,{onManageWorks:k.handleManageWorks},null,8,["onManageWorks"])])])):((0,i.uX)(),(0,i.CE)("div",u,e[1]||(e[1]=[(0,i.Lk)("div",{class:"login-required-message"},[(0,i.Lk)("h2",null,"请先登录!"),(0,i.Lk)("p",null,"您需要登录后才能访问个人中心")],-1)])))])}s(4945);var g=s(4493),k=s(2515);const p={class:"user-info-card"},v={class:"card-container"},m={class:"detail-header"},f={class:"avatar-wrapper"},y=["src"],L={class:"detail-right"},b={class:"detail-name-container"},w={class:"detail-name"},_={key:0,src:"https://download.xn--xhq44jb2fzpc.com/images/vip_g3.svg",class:"vip-badge",alt:"VIP",title:"VIP用户"},C={class:"user-badges"},A=["title"],x=["title"],E={key:2,class:"badge medal"},P={class:"user-sign-container"},M={class:"user-sign"},I={class:"sign-text"},S={class:"user-email"},$={class:"email-text"},X={key:0,class:"badge campus-email"},j={class:"user-stats"},F={class:"stat-value"},T={class:"stat-value"},K={class:"stat-item"},z={class:"stat-value"},O={key:0,class:"modal-overlay"},D={class:"modal-content"},q={class:"modal-header"},N={class:"modal-body"},U={key:0,class:"loading-state"},Q={key:1,class:"empty-state"},R={key:2,class:"user-list"},J={class:"user-meta-wrapper"},W=["onClick"],V={key:0,class:"modal-footer"},B=["disabled"],H={class:"page-info"},G=["disabled"];function Y(t,e,s,n,a,o){const l=(0,i.g2)("UserMeta");return(0,i.uX)(),(0,i.CE)("div",p,[(0,i.Lk)("div",v,[(0,i.Lk)("div",m,[e[11]||(e[11]=(0,i.Lk)("div",{class:"header-bg"},null,-1)),(0,i.Lk)("div",f,[(0,i.Lk)("img",{src:a.userInfo.avatar_path,alt:"用户头像",class:"detail-avatar"},null,8,y),(0,i.Lk)("div",{class:"avatar-edit-overlay",onClick:e[0]||(e[0]=(...t)=>o.triggerFileInput&&o.triggerFileInput(...t))},e[9]||(e[9]=[(0,i.Lk)("i",{class:"edit-icon"},"📷",-1)])),(0,i.Lk)("input",{type:"file",ref:"fileInput",style:{display:"none"},accept:"image/*",onChange:e[1]||(e[1]=(...t)=>o.uploadAvatar&&o.uploadAvatar(...t))},null,544)]),(0,i.Lk)("div",L,[(0,i.Lk)("div",b,[(0,i.Lk)("div",w,[(0,i.eW)((0,k.v_)(a.userInfo.nickname)+" ",1),a.userInfo.is_vip?((0,i.uX)(),(0,i.CE)("img",_)):(0,i.Q3)("",!0)]),(0,i.Lk)("button",{class:"edit-btn",onClick:e[2]||(e[2]=(...t)=>o.editNickname&&o.editNickname(...t)),title:"修改昵称"},e[10]||(e[10]=[(0,i.Lk)("i",{class:"edit-icon"},"✏️",-1)]))]),(0,i.Lk)("div",C,[a.userInfo.verified?((0,i.uX)(),(0,i.CE)("span",{key:0,class:"badge verified",title:a.userInfo.verified},"认证",8,A)):(0,i.Q3)("",!0),a.userInfo.invited?((0,i.uX)(),(0,i.CE)("span",{key:1,class:"badge invited",title:a.userInfo.invited},"特邀",8,x)):(0,i.Q3)("",!0),a.userInfo.medal?((0,i.uX)(),(0,i.CE)("span",E,"小站奖章")):(0,i.Q3)("",!0)])])]),(0,i.Lk)("div",P,[(0,i.Lk)("div",M,[e[13]||(e[13]=(0,i.Lk)("div",{class:"sign-icon"},"✍️",-1)),(0,i.Lk)("div",I,(0,k.v_)(a.userInfo.sign||"这个人很懒,还没有写个性签名~"),1),(0,i.Lk)("button",{class:"edit-btn",onClick:e[3]||(e[3]=(...t)=>o.editSign&&o.editSign(...t)),title:"修改签名"},e[12]||(e[12]=[(0,i.Lk)("i",{class:"edit-icon"},"✏️",-1)]))])]),(0,i.Lk)("div",S,[e[14]||(e[14]=(0,i.Lk)("div",{class:"email-icon"},"📧",-1)),(0,i.Lk)("div",$,(0,k.v_)(a.userInfo.email),1),o.isCampusEmail?((0,i.uX)(),(0,i.CE)("span",X,"校园邮箱")):(0,i.Q3)("",!0)]),(0,i.Lk)("div",j,[(0,i.Lk)("div",{class:"stat-item clickable",onClick:e[4]||(e[4]=t=>o.openList(1))},[(0,i.Lk)("div",F,(0,k.v_)(a.userInfo.follower||0),1),e[15]||(e[15]=(0,i.Lk)("div",{class:"stat-label"},"粉丝",-1))]),e[18]||(e[18]=(0,i.Lk)("div",{class:"stat-separator"},null,-1)),(0,i.Lk)("div",{class:"stat-item clickable",onClick:e[5]||(e[5]=t=>o.openList(0))},[(0,i.Lk)("div",T,(0,k.v_)(a.userInfo.following||0),1),e[16]||(e[16]=(0,i.Lk)("div",{class:"stat-label"},"关注",-1))]),e[19]||(e[19]=(0,i.Lk)("div",{class:"stat-separator"},null,-1)),(0,i.Lk)("div",K,[(0,i.Lk)("div",z,(0,k.v_)(a.userInfo.coin||"未激活"),1),e[17]||(e[17]=(0,i.Lk)("div",{class:"stat-label"},"东币",-1))])])]),a.showListModal?((0,i.uX)(),(0,i.CE)("div",O,[(0,i.Lk)("div",D,[(0,i.Lk)("div",q,[(0,i.Lk)("h3",null,(0,k.v_)(0===a.listMode?"我的关注":"我的粉丝"),1),(0,i.Lk)("button",{class:"close-modal-btn",onClick:e[6]||(e[6]=(...t)=>o.closeList&&o.closeList(...t))},"×")]),(0,i.Lk)("div",N,[a.listLoading?((0,i.uX)(),(0,i.CE)("div",U,"加载中...")):0===a.userList.length?((0,i.uX)(),(0,i.CE)("div",Q,"暂无数据")):((0,i.uX)(),(0,i.CE)("div",R,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(a.userList,(t=>((0,i.uX)(),(0,i.CE)("div",{key:t.user_id,class:"user-list-item"},[(0,i.Lk)("div",J,[(0,i.bF)(l,{id:t.user_id,showFollow:!1},null,8,["id"])]),(0,i.Lk)("button",{class:(0,k.C4)(["list-action-btn",{"btn-cancel":t.is_following,"btn-follow":!t.is_following}]),onClick:e=>o.handleListFollowAction(t)},(0,k.v_)(t.is_following?"取消关注":"关注"),11,W)])))),128))]))]),a.listPagination.pages>1?((0,i.uX)(),(0,i.CE)("div",V,[(0,i.Lk)("button",{class:"page-btn",disabled:1===a.listPagination.current,onClick:e[7]||(e[7]=t=>o.changePage(a.listPagination.current-1))},"上一页",8,B),(0,i.Lk)("span",H,(0,k.v_)(a.listPagination.current)+" / "+(0,k.v_)(a.listPagination.pages),1),(0,i.Lk)("button",{class:"page-btn",disabled:a.listPagination.current===a.listPagination.pages,onClick:e[8]||(e[8]=t=>o.changePage(a.listPagination.current+1))},"下一页",8,G)])):(0,i.Q3)("",!0)])])):(0,i.Q3)("",!0)])}var Z=s(2453),tt=s(6707),et=s(6042),st={name:"UserInfo",components:{UserMeta:et.A},data(){return{userInfo:{id:"",nickname:"加载中...",verified:null,invited:null,medal:!1,avatar_path:"",email:"",sign:"",follower:0,following:0,coin:0},showListModal:!1,listMode:0,userList:[],listLoading:!1,listPagination:{current:1,total:0,pages:1}}},computed:{isCampusEmail(){if(!this.userInfo.email)return!1;const t=["@stu.neu.edu.cn","@stu.neuq.edu.cn","@mails.neu.edu.cn"];return t.some((t=>this.userInfo.email.endsWith(t)))}},created(){this.fetchUserInfo()},methods:{async fetchUserInfo(){try{const t=Z.A.get("token");if(!t)return void this.showMessage("未登录或登录已过期","error");const e=await fetch("https://newfront.xn--xhq44jb2fzpc.com/user/info",{method:"GET",headers:{Authorization:t}});if(!e.ok)throw new Error("获取用户信息失败");const s=await e.json();this.userInfo=s}catch(t){console.error("获取用户信息出错:",t),this.showMessage("获取用户信息失败","error")}},triggerFileInput(){this.$refs.fileInput.click()},async uploadAvatar(t){const e=t.target.files[0];if(!e)return void this.showMessage("请选择一个文件","error");if(e.size>1048576)return void this.showMessage("头像必须小于1MB","error");const s=Z.A.get("token");if(s)try{const t=new FormData;t.append("avatar",e);const i=await fetch("https://userlogin.xn--xhq44jb2fzpc.com/avatar/upload",{method:"POST",headers:{Authorization:s},body:t});if(i.ok){const t=await i.json();this.userInfo.avatar_path=t.avatarUrl,this.showMessage("头像上传成功","success")}else 401===i.status||403===i.status?this.showMessage("权限错误,请重新登录后再试","error"):this.showMessage("上传失败,请稍后再试","error")}catch(i){console.error("头像上传错误:",i),this.showMessage("上传过程中发生错误","error")}else this.showMessage("请先登录,再上传头像","error")},async editNickname(){const t=Z.A.get("token");t?(0,tt.A)({title:"修改昵称",message:"请输入新的昵称:",showInput:!0,inputPlaceholder:"请输入新昵称",inputValue:this.userInfo.nickname,confirmText:"确认",cancelText:"取消",cancel:!0}).then((async({value:e})=>{if(null!==e&&""!==e.trim())try{const s=await fetch("https://userlogin.xn--xhq44jb2fzpc.com/avatar/edit-nickname",{method:"POST",headers:{"Content-Type":"application/json",Authorization:t},body:JSON.stringify({nickname:e.trim()})});if(s.ok){await s.json();this.userInfo.nickname=e.trim(),this.showMessage("昵称修改成功","success")}else{const t=await s.json();this.showMessage(`修改昵称失败:${t.message}`,"error")}}catch(s){console.error("修改昵称错误:",s),this.showMessage("发生错误,请稍后再试","error")}else this.showMessage("昵称不能为空","error")})).catch((()=>{})):this.showMessage("您尚未登录,请登录后再尝试修改昵称","error")},async editSign(){const t=Z.A.get("token");if(!t)return void this.showMessage("您尚未登录,请登录后再尝试修改签名","error");const e=this.userInfo.sign||"";(0,tt.A)({title:"修改个性签名",message:"请输入新的个性签名 (最多20个汉字,留空表示删除个性签名):",showInput:!0,inputValue:e,inputPlaceholder:"请输入个性签名",confirmText:"确认",cancelText:"取消",cancel:!0}).then((async({value:e})=>{if(null!==e)try{const s=await fetch("https://newfront.xn--xhq44jb2fzpc.com/user/sign",{method:"POST",headers:{"Content-Type":"application/json",Authorization:t},body:JSON.stringify({sign:e.trim()})});if(s.ok)this.userInfo.sign=e.trim(),this.showMessage("个性签名修改成功","success");else{const t=await s.json();this.showMessage(`修改签名失败:${t.message}`,"error")}}catch(s){console.error("修改签名错误:",s),this.showMessage("发生错误,请稍后再试","error")}})).catch((()=>{}))},openList(t){this.listMode=t,this.showListModal=!0,this.fetchFollowList(1)},closeList(){this.showListModal=!1,this.userList=[]},async fetchFollowList(t=1){this.listLoading=!0;try{const e=Z.A.get("token");if(!e)return;const s=await fetch("https://newfront.xn--xhq44jb2fzpc.com/user/follow/get",{method:"POST",headers:{"Content-Type":"application/json",Authorization:e},body:JSON.stringify({mode:this.listMode,page_num:t})});if(s.ok){const t=await s.json();this.userList=t.list,this.listPagination.current=t.current_page,this.listPagination.total=t.total,this.listPagination.pages=t.total_pages}else this.showMessage("获取列表失败","error")}catch(e){console.error("获取列表错误:",e),this.showMessage("网络错误","error")}finally{this.listLoading=!1}},async handleListFollowAction(t){const e=t.is_following,s=t.user_id,i=Z.A.get("token");i?e?(0,tt.A)({title:"取消关注",message:"确定取消关注该用户吗?",confirmText:"确定",cancelText:"取消",cancel:!0}).then((async()=>{await this.executeFollowAction(s,!e)})).catch((()=>{})):await this.executeFollowAction(s,!e):this.showMessage("请先登录","error")},async executeFollowAction(t,e){const s=Z.A.get("token");try{const i=await fetch("https://newfront.xn--xhq44jb2fzpc.com/user/follow/do",{method:"POST",headers:{"Content-Type":"application/json",Authorization:s},body:JSON.stringify({user_id:t})});if(i.ok)this.showMessage(e?"关注成功":"取消关注成功","success"),this.fetchFollowList(this.listPagination.current),this.fetchUserInfo();else{const t=await i.json();this.showMessage(t.message||"操作失败","error")}}catch(i){console.error("操作错误:",i),this.showMessage("网络错误","error")}},changePage(t){t<1||t>this.listPagination.pages||this.fetchFollowList(t)},showMessage(t,e="success"){this.$barMessage({message:t,type:e})}}},it=s(6968);const nt=(0,it.A)(st,[["render",Y],["__scopeId","data-v-4ea2fd79"]]);var at=nt;const ot={class:"coin-container"},lt={key:0,class:"not-activated"},rt={class:"alert alert-warning policy-notification"},ct={key:1,class:"activated"},dt={class:"alert alert-warning policy-notification"},ut={class:"coin-info"},ht={class:"coin-amount"},gt={class:"transactions"},kt={key:0,class:"no-records"},pt={key:1,class:"transaction-table"},vt={key:2,class:"pagination"},mt=["disabled"],ft={class:"page-info"},yt=["disabled"];function Lt(t,e,s,n,a,o){return(0,i.uX)(),(0,i.CE)("div",ot,[a.isActivated?((0,i.uX)(),(0,i.CE)("div",ct,[(0,i.Lk)("div",dt,(0,k.v_)(a.policyNotification),1),(0,i.Lk)("div",ut,[(0,i.Lk)("h3",null,[e[3]||(e[3]=(0,i.eW)("您当前拥有 ")),(0,i.Lk)("span",ht,(0,k.v_)(a.coinAmount),1),e[4]||(e[4]=(0,i.eW)(" 枚东币"))])]),(0,i.Lk)("div",gt,[0===a.transactions.length?((0,i.uX)(),(0,i.CE)("div",kt," 暂无交易记录 ")):((0,i.uX)(),(0,i.CE)("table",pt,[e[5]||(e[5]=(0,i.Lk)("thead",null,[(0,i.Lk)("tr",null,[(0,i.Lk)("th",null,"时间"),(0,i.Lk)("th",null,"金额"),(0,i.Lk)("th",null,"备注")])],-1)),(0,i.Lk)("tbody",null,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(a.transactions,(t=>((0,i.uX)(),(0,i.CE)("tr",{key:t.id},[(0,i.Lk)("td",null,(0,k.v_)(o.formatDate(t.created_at)),1),(0,i.Lk)("td",{class:(0,k.C4)({credit:"credit"===t.type,debit:"debit"===t.type})},(0,k.v_)("credit"===t.type?"+":"-")+(0,k.v_)(t.amount),3),(0,i.Lk)("td",null,(0,k.v_)(t.note),1)])))),128))])])),a.totalPages>1?((0,i.uX)(),(0,i.CE)("div",vt,[(0,i.Lk)("button",{disabled:1===a.currentPage,onClick:e[0]||(e[0]=t=>o.loadTransactions(a.currentPage-1)),class:"btn btn-sm btn-outline-primary"}," 上一页 ",8,mt),(0,i.Lk)("span",ft,(0,k.v_)(a.currentPage)+" / "+(0,k.v_)(a.totalPages),1),(0,i.Lk)("button",{disabled:a.currentPage===a.totalPages,onClick:e[1]||(e[1]=t=>o.loadTransactions(a.currentPage+1)),class:"btn btn-sm btn-outline-primary"}," 下一页 ",8,yt)])):(0,i.Q3)("",!0)])])):((0,i.uX)(),(0,i.CE)("div",lt,[(0,i.Lk)("div",rt,(0,k.v_)(a.policyNotification),1),e[2]||(e[2]=(0,i.Lk)("div",{class:"alert alert-info"},[(0,i.Lk)("p",null,"东币系统在账号完成校园验证后自动激活。")],-1))]))])}var bt={name:"CoinComponent",data(){return{isActivated:!1,coinAmount:0,transactions:[],currentPage:1,totalPages:1,policyNotification:"由于政策原因,短信验证码服务已于2025.4.13下线,后续东币系统将在校园验证通过后自动激活。之前已完成校园验证但未手动激活东币系统的用户,系统已为您自动激活东币系统。"}},created(){this.loadTransactions(1)},methods:{async loadTransactions(t){try{const e=Z.A.get("token");if(!e)return console.error("未找到登录token"),void(this.isActivated=!1);const s=await fetch("https://newfront.xn--xhq44jb2fzpc.com/coin/transactions",{method:"POST",headers:{Authorization:e,"Content-Type":"application/json"},body:JSON.stringify({page_num:t})}),i=await s.json();if(s.ok)this.isActivated=!0,this.coinAmount=i.coinAmount,this.transactions=i.transactions,this.currentPage=i.current_page,this.totalPages=i.total_pages;else{if(403!==s.status||"用户未激活东币系统"!==i.message)throw new Error(i.message||"获取交易记录失败");this.isActivated=!1,this.coinAmount=0,this.transactions=[]}}catch(e){console.error("获取交易记录出错:",e),this.isActivated=!1}},formatDate(t){const e=new Date(t);return`${e.getFullYear()}/${e.getMonth()+1}/${e.getDate()} ${e.getHours()}:${String(e.getMinutes()).padStart(2,"0")}:${String(e.getSeconds()).padStart(2,"0")}`}}};const wt=(0,it.A)(bt,[["render",Lt],["__scopeId","data-v-0bd9ed96"]]);var _t=wt,Ct=s(1561);const At={class:"submission-container"},xt={class:"header"},Et={class:"header-buttons"},Pt={key:0,class:"modal-overlay"},Mt={class:"modal-content key-management-modal"},It={class:"modal-header"},St={class:"modal-body"},$t={key:0,class:"key-table-wrapper"},Xt={class:"key-table"},jt={class:"key-cell"},Ft={class:"key-content"},Tt=["onClick"],Kt={key:0,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"black","stroke-linecap":"round","stroke-linejoin":"round",width:"24",height:"24","stroke-width":"1.1"},zt={key:1,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"black","stroke-linecap":"round","stroke-linejoin":"round",width:"24",height:"24","stroke-width":"1.1"},Ot={key:1,class:"loading-keys"},Dt={key:2,class:"empty-keys"},qt={key:1,class:"modal-overlay"},Nt={class:"modal-content exchange-key-modal"},Ut={class:"modal-header"},Qt={class:"modal-body"},Rt={class:"form-group"},Jt={class:"form-group"},Wt={class:"form-actions"},Vt=["disabled"],Bt={class:"submission-table-wrapper"},Ht={key:0,class:"submission-table"},Gt={key:0},Yt=["onClick"],Zt={class:"title-cell"},te={key:0},ee={key:1,class:"status-unknown"},se={class:"action-buttons"},ie=["onClick"],ne=["onClick"],ae={key:1,class:"empty-state"},oe={key:2,class:"pagination"},le=["disabled"],re={class:"page-info"},ce=["disabled"];function de(t,e,s,n,a,o){return(0,i.uX)(),(0,i.CE)("div",At,[(0,i.Lk)("div",xt,[e[10]||(e[10]=(0,i.Lk)("h3",{class:"title"},"我的投稿记录",-1)),(0,i.Lk)("div",Et,[(0,i.Lk)("button",{class:"key-manage-btn",onClick:e[0]||(e[0]=t=>a.showKeyManagement=!0)},"密钥管理"),(0,i.Lk)("button",{class:"manage-btn",onClick:e[1]||(e[1]=(...t)=>o.handleManage&&o.handleManage(...t))},"我要投稿")])]),a.showKeyManagement?((0,i.uX)(),(0,i.CE)("div",Pt,[(0,i.Lk)("div",Mt,[(0,i.Lk)("div",It,[e[11]||(e[11]=(0,i.Lk)("h3",null,"密钥管理",-1)),(0,i.Lk)("button",{class:"close-btn",onClick:e[2]||(e[2]=t=>a.showKeyManagement=!1)},"×")]),(0,i.Lk)("div",St,[(0,i.Lk)("button",{class:"exchange-key-btn",onClick:e[3]||(e[3]=t=>a.showExchangeKey=!0)},"兑换密钥"),a.keyList.length>0?((0,i.uX)(),(0,i.CE)("div",$t,[(0,i.Lk)("table",Xt,[e[14]||(e[14]=(0,i.Lk)("thead",null,[(0,i.Lk)("tr",null,[(0,i.Lk)("th",null,"密钥"),(0,i.Lk)("th",null,"状态"),(0,i.Lk)("th",null,"创建时间"),(0,i.Lk)("th",null,"最后使用时间")])],-1)),(0,i.Lk)("tbody",null,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(a.keyList,((t,s)=>((0,i.uX)(),(0,i.CE)("tr",{key:s},[(0,i.Lk)("td",jt,[(0,i.Lk)("div",Ft,[(0,i.Lk)("span",null,(0,k.v_)(a.visibleKeyIndex===s?t.key_plaintext:"******"),1),(0,i.Lk)("button",{class:"toggle-visibility",onClick:t=>o.toggleKeyVisibility(s)},[a.visibleKeyIndex!==s?((0,i.uX)(),(0,i.CE)("svg",Kt,e[12]||(e[12]=[(0,i.Lk)("path",{d:"M10 12a2 2 0 1 0 4 0a2 2 0 0 0 -4 0"},null,-1),(0,i.Lk)("path",{d:"M21 12c-2.4 4 -5.4 6 -9 6c-3.6 0 -6.6 -2 -9 -6c2.4 -4 5.4 -6 9 -6c3.6 0 6.6 2 9 6"},null,-1)]))):((0,i.uX)(),(0,i.CE)("svg",zt,e[13]||(e[13]=[(0,i.Lk)("path",{d:"M10.585 10.587a2 2 0 0 0 2.829 2.828"},null,-1),(0,i.Lk)("path",{d:"M16.681 16.673a8.717 8.717 0 0 1 -4.681 1.327c-3.6 0 -6.6 -2 -9 -6c1.272 -2.12 2.712 -3.678 4.32 -4.674m2.86 -1.146a9.055 9.055 0 0 1 1.82 -.18c3.6 0 6.6 2 9 6c-.666 1.11 -1.379 2.067 -2.138 2.87"},null,-1),(0,i.Lk)("path",{d:"M3 3l18 18"},null,-1)])))],8,Tt)])]),(0,i.Lk)("td",null,[(0,i.Lk)("span",{class:(0,k.C4)(t.is_valid?"status-valid":"status-invalid")},(0,k.v_)(t.is_valid?"有效":"无效"),3)]),(0,i.Lk)("td",null,(0,k.v_)(o.formatDate(t.created_at)),1),(0,i.Lk)("td",null,(0,k.v_)(t.last_used_at?o.formatDate(t.last_used_at):"未使用"),1)])))),128))])])])):a.loadingKeyList?((0,i.uX)(),(0,i.CE)("div",Ot," 加载中... ")):((0,i.uX)(),(0,i.CE)("div",Dt,e[15]||(e[15]=[(0,i.Lk)("p",null,"暂无密钥记录",-1)])))])])])):(0,i.Q3)("",!0),a.showExchangeKey?((0,i.uX)(),(0,i.CE)("div",qt,[(0,i.Lk)("div",Nt,[(0,i.Lk)("div",Ut,[e[16]||(e[16]=(0,i.Lk)("h3",null,"兑换密钥",-1)),(0,i.Lk)("button",{class:"close-btn",onClick:e[4]||(e[4]=t=>a.showExchangeKey=!1)},"×")]),(0,i.Lk)("div",Qt,[(0,i.Lk)("div",Rt,[e[17]||(e[17]=(0,i.Lk)("label",{for:"invite-code"},"邀请码",-1)),(0,i.bo)((0,i.Lk)("input",{id:"invite-code","onUpdate:modelValue":e[5]||(e[5]=t=>a.exchangeForm.invite_code=t),type:"text",placeholder:"输入邀请码"},null,512),[[Ct.Jo,a.exchangeForm.invite_code]])]),(0,i.Lk)("div",Jt,[e[18]||(e[18]=(0,i.Lk)("label",{for:"custom-key"},"自定义密钥",-1)),(0,i.bo)((0,i.Lk)("input",{id:"custom-key","onUpdate:modelValue":e[6]||(e[6]=t=>a.exchangeForm.key=t),type:"text",placeholder:"输入您的自定义密钥"},null,512),[[Ct.Jo,a.exchangeForm.key]])]),(0,i.Lk)("div",Wt,[(0,i.Lk)("button",{class:"submit-btn",disabled:!a.exchangeForm.invite_code||!a.exchangeForm.key||a.submitting,onClick:e[7]||(e[7]=(...t)=>o.exchangeKey&&o.exchangeKey(...t))},(0,k.v_)(a.submitting?"处理中...":"确认兑换"),9,Vt)])])])])):(0,i.Q3)("",!0),(0,i.Lk)("div",Bt,[a.submissions.length>0?((0,i.uX)(),(0,i.CE)("table",Ht,[(0,i.Lk)("thead",null,[(0,i.Lk)("tr",null,[e[19]||(e[19]=(0,i.Lk)("th",null,"标题",-1)),e[20]||(e[20]=(0,i.Lk)("th",null,"板块",-1)),e[21]||(e[21]=(0,i.Lk)("th",null,"审核状态",-1)),a.setPrivate?((0,i.uX)(),(0,i.CE)("th",Gt,"文章权限")):(0,i.Q3)("",!0),e[22]||(e[22]=(0,i.Lk)("th",null,"审核备注",-1)),e[23]||(e[23]=(0,i.Lk)("th",null,"投稿时间",-1)),e[24]||(e[24]=(0,i.Lk)("th",null,"状态更新时间",-1)),e[25]||(e[25]=(0,i.Lk)("th",null,"操作",-1))])]),(0,i.Lk)("tbody",null,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(a.submissions,(t=>((0,i.uX)(),(0,i.CE)("tr",{key:t.id,class:(0,k.C4)({clickable:t.article_id}),onClick:e=>t.article_id&&o.navigateToArticle(t.article_id)},[(0,i.Lk)("td",Zt,(0,k.v_)(t.title),1),(0,i.Lk)("td",null,(0,k.v_)(t.section),1),(0,i.Lk)("td",null,[(0,i.Lk)("span",{class:(0,k.C4)(o.getStatusClass(t.status))},(0,k.v_)(t.status),3)]),a.setPrivate?((0,i.uX)(),(0,i.CE)("td",te,["已通过"===t.status&&t.hasOwnProperty("is_public")?((0,i.uX)(),(0,i.CE)("span",{key:0,class:(0,k.C4)(t.is_public?"status-public":"status-private")},(0,k.v_)(t.is_public?"公开":"私密"),3)):((0,i.uX)(),(0,i.CE)("span",ee,"-"))])):(0,i.Q3)("",!0),(0,i.Lk)("td",null,(0,k.v_)(t.note||"无"),1),(0,i.Lk)("td",null,(0,k.v_)(o.formatDate(t.created_at)),1),(0,i.Lk)("td",null,(0,k.v_)(o.formatDate(t.updated_at)),1),(0,i.Lk)("td",null,[(0,i.Lk)("div",se,["已通过"===t.status&&t.article_id&&t.owner?((0,i.uX)(),(0,i.CE)("button",{key:0,class:"edit-btn",onClick:(0,Ct.D$)((e=>o.navigateToEdit(t.article_id)),["stop"])}," 编辑 ",8,ie)):(0,i.Q3)("",!0),a.setPrivate&&"已通过"===t.status&&t.article_id&&t.owner&&t.hasOwnProperty("is_public")?((0,i.uX)(),(0,i.CE)("button",{key:1,class:(0,k.C4)(t.is_public?"private-btn":"public-btn"),onClick:(0,Ct.D$)((e=>o.toggleArticleAccess(t)),["stop"])},(0,k.v_)(t.is_public?"设为私密":"设为公开"),11,ne)):(0,i.Q3)("",!0)])])],10,Yt)))),128))])])):((0,i.uX)(),(0,i.CE)("div",ae,e[26]||(e[26]=[(0,i.Lk)("p",null,"暂无投稿记录",-1)]))),a.totalPages>1?((0,i.uX)(),(0,i.CE)("div",oe,[(0,i.Lk)("button",{disabled:1===a.currentPage,onClick:e[8]||(e[8]=t=>o.loadSubmissions(a.currentPage-1)),class:"page-btn"}," 上一页 ",8,le),(0,i.Lk)("span",re,(0,k.v_)(a.currentPage)+" / "+(0,k.v_)(a.totalPages),1),(0,i.Lk)("button",{disabled:a.currentPage===a.totalPages,onClick:e[9]||(e[9]=t=>o.loadSubmissions(a.currentPage+1)),class:"page-btn"}," 下一页 ",8,ce)])):(0,i.Q3)("",!0)])])}var ue={name:"SubmissionList",data(){return{submissions:[],currentPage:1,totalPages:1,totalSubmissions:0,loading:!1,setPrivate:!1,inRank:!0,updatingRank:!1,loadingKeyList:!1,showKeyManagement:!1,showExchangeKey:!1,keyList:[],visibleKeyIndex:-1,exchangeForm:{invite_code:"",key:""},submitting:!1}},created(){this.loadSubmissions(1)},methods:{async loadSubmissions(t){this.loading=!0;try{const e=Z.A.get("token");if(!e)return void console.error("未找到登录token");const s=await fetch("https://newfront.xn--xhq44jb2fzpc.com/user/submission",{method:"POST",headers:{Authorization:e,"Content-Type":"application/json"},body:JSON.stringify({page_num:t})});if(!s.ok)throw new Error("获取投稿记录失败");const i=await s.json();this.submissions=i.submissions,this.currentPage=i.current_page,this.totalPages=i.total_pages,this.totalSubmissions=i.total_submissions,this.setPrivate=i.set_private||!1,i.hasOwnProperty("in_rank")&&(this.inRank=i.in_rank)}catch(e){console.error("获取投稿记录出错:",e)}finally{this.loading=!1}},async updateRankingStatus(){const t=new Date,e=new Date(t);e.setHours(t.getHours()+1);const s=`${e.getHours()}:00`,i=this.inRank,n=i?`您确认参与投稿排行榜吗?如确认,榜单将在下次更新时(${s})显示您。`:`您确认退出投稿排行榜吗?如确认,榜单将在下次更新时(${s})不再显示您。`;try{await tt.A.confirm(n,"提示"),this.updatingRank=!0;const t=Z.A.get("token");if(!t)return tt.A.alert("未找到登录token","错误"),void(this.inRank=!this.inRank);const e=await fetch("https://newfront.xn--xhq44jb2fzpc.com/ranking/in",{method:"POST",headers:{Authorization:t,"Content-Type":"application/json"},body:JSON.stringify({in:this.inRank})});if(!e.ok)throw new Error("更新设置失败");await e.json();const s=i?"参与":"退出";this.$barMessage.success(`您已成功${s}投稿排行榜!`)}catch(a){if(this.inRank=!this.inRank,"cancel"===a||a&&"cancel"===a.action)return;console.error("更新排行榜设置失败:",a),tt.A.alert("更新设置失败,请稍后重试","错误")}finally{this.updatingRank=!1}},handleManage(){console.log("点击了作品管理按钮"),this.$emit("manage-works")},navigateToArticle(t){this.$router.push(`/article/${t}`)},navigateToEdit(t){const e=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)||window.innerWidth<768;e?tt.A.confirm("建议在电脑端进行编辑以获得最佳体验。仍要继续吗?","提示").then((()=>{this.$router.push(`/edit?article=${t}`)})).catch((()=>{console.log("用户取消了在移动端编辑")})):this.$router.push(`/edit?article=${t}`)},formatDate(t){if(!t)return"未知";const e=new Date(t);return`${e.getFullYear()}/${e.getMonth()+1}/${e.getDate()} ${e.getHours()}:${String(e.getMinutes()).padStart(2,"0")}:${String(e.getSeconds()).padStart(2,"0")}`},getStatusClass(t){switch(t){case"已通过":return"status-approved";case"审核中":return"status-pending";case"未通过":return"status-rejected";default:return""}},async loadKeyList(){this.loadingKeyList=!0;try{const t=Z.A.get("token");if(!t)return void console.error("未找到登录token");const e=await fetch("https://newfront.xn--xhq44jb2fzpc.com/encrypt/getcode",{method:"GET",headers:{Authorization:t,"Content-Type":"application/json"}});if(!e.ok)throw new Error("获取密钥列表失败");const s=await e.json();if(!s.success)throw new Error(s.message||"获取密钥列表失败");this.keyList=s.data||[]}catch(t){console.error("获取密钥列表出错:",t),tt.A.alert(t.message||"获取密钥列表失败,请稍后再试","错误")}finally{this.loadingKeyList=!1}},toggleKeyVisibility(t){this.visibleKeyIndex===t?this.visibleKeyIndex=-1:this.visibleKeyIndex=t},async exchangeKey(){if(this.exchangeForm.invite_code&&this.exchangeForm.key){this.submitting=!0;try{const t=Z.A.get("token");if(!t)return void console.error("未找到登录token");const e=await fetch("https://newfront.xn--xhq44jb2fzpc.com/encrypt/setcode",{method:"POST",headers:{Authorization:t,"Content-Type":"application/json"},body:JSON.stringify(this.exchangeForm)}),s=await e.json();if(!s.success)throw new Error(s.message||"密钥兑换失败");tt.A.alert("密钥兑换成功","提示"),this.showExchangeKey=!1,this.exchangeForm.invite_code="",this.exchangeForm.key="",this.loadKeyList()}catch(t){console.error("密钥兑换出错:",t),tt.A.alert(t.message||"密钥兑换失败,请稍后再试","错误")}finally{this.submitting=!1}}else tt.A.alert("请输入邀请码和密钥","提示")},async checkAndFillInviteCode(){try{const t=Z.A.get("token");if(!t)return;const e=await fetch("https://newfront.xn--xhq44jb2fzpc.com/encrypt/invite",{method:"GET",headers:{Authorization:t,"Content-Type":"application/json"}});if(e.ok){const t=await e.json();t.success&&t.invite_code&&(this.exchangeForm.invite_code=t.invite_code,this.$barMessage.success("检测到您具有未使用的邀请码,已自动填充"))}}catch(t){console.error("获取邀请码失败:",t)}},async toggleArticleAccess(t){if(!t.article_id)return void tt.A.alert("无效的文章ID","错误");const e=t.is_public?"设为私密":"设为公开";try{await tt.A.confirm(`确认要将文章《${t.title}》${e}吗?`,"确认操作");const s=Z.A.get("token");if(!s)return void tt.A.alert("请先登录","提示");const i=await fetch("https://newfront.xn--xhq44jb2fzpc.com/user/access",{method:"POST",headers:{Authorization:s,"Content-Type":"application/json"},body:JSON.stringify({article_id:t.article_id})});if(!i.ok){const t=await i.json().catch((()=>({})));throw new Error(t.message||"操作失败")}const n=await i.json();t.is_public=n.is_public,this.$barMessage.success(n.message||"操作成功")}catch(s){if("cancel"===s.action)return;console.error("切换文章访问权限失败:",s),this.$barMessage.error(s.message||"操作失败,请稍后再试")}}},watch:{showExchangeKey(t){t&&this.checkAndFillInviteCode()},showKeyManagement(t){t?this.loadKeyList():this.visibleKeyIndex=-1}}};const he=(0,it.A)(ue,[["render",de],["__scopeId","data-v-68797b30"]]);var ge=he,ke=s(122),pe={name:"UserCenter",components:{Navbar:g.A,UserInfo:at,Coin:_t,SubmissionList:ge},data(){return{isAuthenticated:!1,isLoading:!0}},created(){document.title="个人中心 - NEU小站"},mounted(){this.checkAuthAndFetchUserInfo()},methods:{async checkAuthAndFetchUserInfo(){const t=Z.A.get("token");if(!t)return this.isLoading=!1,"/user-center"===this.$route.path?void this.$router.replace("/login"):void("/login"===this.$route.path&&this.showLoginDialog());try{const e=await fetch("https://newfront.xn--xhq44jb2fzpc.com/user/islogin",{method:"GET",headers:{Authorization:t}});if(!e.ok)throw new Error("Token 验证失败");const s=await e.json();if(!s||!s.isLoggedIn)throw new Error("Token 验证成功但返回状态不正确");{this.isAuthenticated=!0;const e=new URLSearchParams(window.location.search);if("wordhelper"===e.get("lg_callback"))return void(window.location.href=`https://wh.ember.ac.cn/login-required?cb_token=${t}`)}this.isLoading=!1,"/login"===this.$route.path&&this.$router.replace("/user-center")}catch(e){if(console.error("获取用户信息出错:",e),this.isLoading=!1,Z.A.remove("token"),"/user-center"===this.$route.path)return void this.$router.replace("/login");"/login"===this.$route.path&&this.showLoginDialog()}},showLoginDialog(){(0,ke.A)().then((t=>{console.log("登录成功:",t),this.isAuthenticated=!0,this.$router.replace("/user-center")})).catch((t=>{console.log("登录取消:",t)}))},handleManageWorks(){const t=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)||window.innerWidth<768;t?tt.A.confirm("建议在电脑端进行投稿以获得最佳体验。仍要继续吗?","提示").then((()=>{this.$router.push("/submit")})).catch((()=>{console.log("用户取消了在移动端投稿")})):this.$router.push("/submit")}}};const ve=(0,it.A)(pe,[["render",h],["__scopeId","data-v-5c494a02"]]);var me=ve}}]);
-//# sourceMappingURL=150.b39c3e77.js.map
\ No newline at end of file
+"use strict";(self["webpackChunknewfront"]=self["webpackChunknewfront"]||[]).push([[150],{6150:function(t,e,s){s.r(e),s.d(e,{default:function(){return me}});var i=s(1411);const n={class:"user-center"},a={key:0,class:"loading-container"},o={key:1,class:"container"},l={class:"upper-section"},r={class:"user-info-container"},c={class:"coin-container"},d={class:"lower-section"},u={key:2,class:"login-required-container"};function h(t,e,s,h,g,k){const p=(0,i.g2)("Navbar"),v=(0,i.g2)("UserInfo"),m=(0,i.g2)("Coin"),f=(0,i.g2)("SubmissionList");return(0,i.uX)(),(0,i.CE)("div",n,[(0,i.bF)(p),g.isLoading?((0,i.uX)(),(0,i.CE)("div",a,e[0]||(e[0]=[(0,i.Lk)("div",{class:"loading-spinner"},"加载中...",-1)]))):g.isAuthenticated?((0,i.uX)(),(0,i.CE)("div",o,[(0,i.Lk)("div",l,[(0,i.Lk)("div",r,[(0,i.bF)(v,{ref:"userInfo"},null,512)]),(0,i.Lk)("div",c,[(0,i.bF)(m,{ref:"coin"},null,512)])]),(0,i.Lk)("div",d,[(0,i.bF)(f,{onManageWorks:k.handleManageWorks},null,8,["onManageWorks"])])])):((0,i.uX)(),(0,i.CE)("div",u,e[1]||(e[1]=[(0,i.Lk)("div",{class:"login-required-message"},[(0,i.Lk)("h2",null,"请先登录!"),(0,i.Lk)("p",null,"您需要登录后才能访问个人中心")],-1)])))])}s(4945);var g=s(8875),k=s(2515);const p={class:"user-info-card"},v={class:"card-container"},m={class:"detail-header"},f={class:"avatar-wrapper"},y=["src"],L={class:"detail-right"},b={class:"detail-name-container"},w={class:"detail-name"},_={key:0,src:"https://download.xn--xhq44jb2fzpc.com/images/vip_g3.svg",class:"vip-badge",alt:"VIP",title:"VIP用户"},C={class:"user-badges"},A=["title"],x=["title"],E={key:2,class:"badge medal"},P={class:"user-sign-container"},M={class:"user-sign"},I={class:"sign-text"},S={class:"user-email"},$={class:"email-text"},X={key:0,class:"badge campus-email"},j={class:"user-stats"},F={class:"stat-value"},T={class:"stat-value"},K={class:"stat-item"},z={class:"stat-value"},O={key:0,class:"modal-overlay"},D={class:"modal-content"},q={class:"modal-header"},N={class:"modal-body"},U={key:0,class:"loading-state"},Q={key:1,class:"empty-state"},R={key:2,class:"user-list"},J={class:"user-meta-wrapper"},W=["onClick"],V={key:0,class:"modal-footer"},B=["disabled"],H={class:"page-info"},G=["disabled"];function Y(t,e,s,n,a,o){const l=(0,i.g2)("UserMeta");return(0,i.uX)(),(0,i.CE)("div",p,[(0,i.Lk)("div",v,[(0,i.Lk)("div",m,[e[11]||(e[11]=(0,i.Lk)("div",{class:"header-bg"},null,-1)),(0,i.Lk)("div",f,[(0,i.Lk)("img",{src:a.userInfo.avatar_path,alt:"用户头像",class:"detail-avatar"},null,8,y),(0,i.Lk)("div",{class:"avatar-edit-overlay",onClick:e[0]||(e[0]=(...t)=>o.triggerFileInput&&o.triggerFileInput(...t))},e[9]||(e[9]=[(0,i.Lk)("i",{class:"edit-icon"},"📷",-1)])),(0,i.Lk)("input",{type:"file",ref:"fileInput",style:{display:"none"},accept:"image/*",onChange:e[1]||(e[1]=(...t)=>o.uploadAvatar&&o.uploadAvatar(...t))},null,544)]),(0,i.Lk)("div",L,[(0,i.Lk)("div",b,[(0,i.Lk)("div",w,[(0,i.eW)((0,k.v_)(a.userInfo.nickname)+" ",1),a.userInfo.is_vip?((0,i.uX)(),(0,i.CE)("img",_)):(0,i.Q3)("",!0)]),(0,i.Lk)("button",{class:"edit-btn",onClick:e[2]||(e[2]=(...t)=>o.editNickname&&o.editNickname(...t)),title:"修改昵称"},e[10]||(e[10]=[(0,i.Lk)("i",{class:"edit-icon"},"✏️",-1)]))]),(0,i.Lk)("div",C,[a.userInfo.verified?((0,i.uX)(),(0,i.CE)("span",{key:0,class:"badge verified",title:a.userInfo.verified},"认证",8,A)):(0,i.Q3)("",!0),a.userInfo.invited?((0,i.uX)(),(0,i.CE)("span",{key:1,class:"badge invited",title:a.userInfo.invited},"特邀",8,x)):(0,i.Q3)("",!0),a.userInfo.medal?((0,i.uX)(),(0,i.CE)("span",E,"小站奖章")):(0,i.Q3)("",!0)])])]),(0,i.Lk)("div",P,[(0,i.Lk)("div",M,[e[13]||(e[13]=(0,i.Lk)("div",{class:"sign-icon"},"✍️",-1)),(0,i.Lk)("div",I,(0,k.v_)(a.userInfo.sign||"这个人很懒,还没有写个性签名~"),1),(0,i.Lk)("button",{class:"edit-btn",onClick:e[3]||(e[3]=(...t)=>o.editSign&&o.editSign(...t)),title:"修改签名"},e[12]||(e[12]=[(0,i.Lk)("i",{class:"edit-icon"},"✏️",-1)]))])]),(0,i.Lk)("div",S,[e[14]||(e[14]=(0,i.Lk)("div",{class:"email-icon"},"📧",-1)),(0,i.Lk)("div",$,(0,k.v_)(a.userInfo.email),1),o.isCampusEmail?((0,i.uX)(),(0,i.CE)("span",X,"校园邮箱")):(0,i.Q3)("",!0)]),(0,i.Lk)("div",j,[(0,i.Lk)("div",{class:"stat-item clickable",onClick:e[4]||(e[4]=t=>o.openList(1))},[(0,i.Lk)("div",F,(0,k.v_)(a.userInfo.follower||0),1),e[15]||(e[15]=(0,i.Lk)("div",{class:"stat-label"},"粉丝",-1))]),e[18]||(e[18]=(0,i.Lk)("div",{class:"stat-separator"},null,-1)),(0,i.Lk)("div",{class:"stat-item clickable",onClick:e[5]||(e[5]=t=>o.openList(0))},[(0,i.Lk)("div",T,(0,k.v_)(a.userInfo.following||0),1),e[16]||(e[16]=(0,i.Lk)("div",{class:"stat-label"},"关注",-1))]),e[19]||(e[19]=(0,i.Lk)("div",{class:"stat-separator"},null,-1)),(0,i.Lk)("div",K,[(0,i.Lk)("div",z,(0,k.v_)(a.userInfo.coin||"未激活"),1),e[17]||(e[17]=(0,i.Lk)("div",{class:"stat-label"},"东币",-1))])])]),a.showListModal?((0,i.uX)(),(0,i.CE)("div",O,[(0,i.Lk)("div",D,[(0,i.Lk)("div",q,[(0,i.Lk)("h3",null,(0,k.v_)(0===a.listMode?"我的关注":"我的粉丝"),1),(0,i.Lk)("button",{class:"close-modal-btn",onClick:e[6]||(e[6]=(...t)=>o.closeList&&o.closeList(...t))},"×")]),(0,i.Lk)("div",N,[a.listLoading?((0,i.uX)(),(0,i.CE)("div",U,"加载中...")):0===a.userList.length?((0,i.uX)(),(0,i.CE)("div",Q,"暂无数据")):((0,i.uX)(),(0,i.CE)("div",R,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(a.userList,(t=>((0,i.uX)(),(0,i.CE)("div",{key:t.user_id,class:"user-list-item"},[(0,i.Lk)("div",J,[(0,i.bF)(l,{id:t.user_id,showFollow:!1},null,8,["id"])]),(0,i.Lk)("button",{class:(0,k.C4)(["list-action-btn",{"btn-cancel":t.is_following,"btn-follow":!t.is_following}]),onClick:e=>o.handleListFollowAction(t)},(0,k.v_)(t.is_following?"取消关注":"关注"),11,W)])))),128))]))]),a.listPagination.pages>1?((0,i.uX)(),(0,i.CE)("div",V,[(0,i.Lk)("button",{class:"page-btn",disabled:1===a.listPagination.current,onClick:e[7]||(e[7]=t=>o.changePage(a.listPagination.current-1))},"上一页",8,B),(0,i.Lk)("span",H,(0,k.v_)(a.listPagination.current)+" / "+(0,k.v_)(a.listPagination.pages),1),(0,i.Lk)("button",{class:"page-btn",disabled:a.listPagination.current===a.listPagination.pages,onClick:e[8]||(e[8]=t=>o.changePage(a.listPagination.current+1))},"下一页",8,G)])):(0,i.Q3)("",!0)])])):(0,i.Q3)("",!0)])}var Z=s(2453),tt=s(6707),et=s(6042),st={name:"UserInfo",components:{UserMeta:et.A},data(){return{userInfo:{id:"",nickname:"加载中...",verified:null,invited:null,medal:!1,avatar_path:"",email:"",sign:"",follower:0,following:0,coin:0},showListModal:!1,listMode:0,userList:[],listLoading:!1,listPagination:{current:1,total:0,pages:1}}},computed:{isCampusEmail(){if(!this.userInfo.email)return!1;const t=["@stu.neu.edu.cn","@stu.neuq.edu.cn","@mails.neu.edu.cn"];return t.some((t=>this.userInfo.email.endsWith(t)))}},created(){this.fetchUserInfo()},methods:{async fetchUserInfo(){try{const t=Z.A.get("token");if(!t)return void this.showMessage("未登录或登录已过期","error");const e=await fetch("https://newfront.xn--xhq44jb2fzpc.com/user/info",{method:"GET",headers:{Authorization:t}});if(!e.ok)throw new Error("获取用户信息失败");const s=await e.json();this.userInfo=s}catch(t){console.error("获取用户信息出错:",t),this.showMessage("获取用户信息失败","error")}},triggerFileInput(){this.$refs.fileInput.click()},async uploadAvatar(t){const e=t.target.files[0];if(!e)return void this.showMessage("请选择一个文件","error");if(e.size>1048576)return void this.showMessage("头像必须小于1MB","error");const s=Z.A.get("token");if(s)try{const t=new FormData;t.append("avatar",e);const i=await fetch("https://userlogin.xn--xhq44jb2fzpc.com/avatar/upload",{method:"POST",headers:{Authorization:s},body:t});if(i.ok){const t=await i.json();this.userInfo.avatar_path=t.avatarUrl,this.showMessage("头像上传成功","success")}else 401===i.status||403===i.status?this.showMessage("权限错误,请重新登录后再试","error"):this.showMessage("上传失败,请稍后再试","error")}catch(i){console.error("头像上传错误:",i),this.showMessage("上传过程中发生错误","error")}else this.showMessage("请先登录,再上传头像","error")},async editNickname(){const t=Z.A.get("token");t?(0,tt.A)({title:"修改昵称",message:"请输入新的昵称:",showInput:!0,inputPlaceholder:"请输入新昵称",inputValue:this.userInfo.nickname,confirmText:"确认",cancelText:"取消",cancel:!0}).then((async({value:e})=>{if(null!==e&&""!==e.trim())try{const s=await fetch("https://userlogin.xn--xhq44jb2fzpc.com/avatar/edit-nickname",{method:"POST",headers:{"Content-Type":"application/json",Authorization:t},body:JSON.stringify({nickname:e.trim()})});if(s.ok){await s.json();this.userInfo.nickname=e.trim(),this.showMessage("昵称修改成功","success")}else{const t=await s.json();this.showMessage(`修改昵称失败:${t.message}`,"error")}}catch(s){console.error("修改昵称错误:",s),this.showMessage("发生错误,请稍后再试","error")}else this.showMessage("昵称不能为空","error")})).catch((()=>{})):this.showMessage("您尚未登录,请登录后再尝试修改昵称","error")},async editSign(){const t=Z.A.get("token");if(!t)return void this.showMessage("您尚未登录,请登录后再尝试修改签名","error");const e=this.userInfo.sign||"";(0,tt.A)({title:"修改个性签名",message:"请输入新的个性签名 (最多20个汉字,留空表示删除个性签名):",showInput:!0,inputValue:e,inputPlaceholder:"请输入个性签名",confirmText:"确认",cancelText:"取消",cancel:!0}).then((async({value:e})=>{if(null!==e)try{const s=await fetch("https://newfront.xn--xhq44jb2fzpc.com/user/sign",{method:"POST",headers:{"Content-Type":"application/json",Authorization:t},body:JSON.stringify({sign:e.trim()})});if(s.ok)this.userInfo.sign=e.trim(),this.showMessage("个性签名修改成功","success");else{const t=await s.json();this.showMessage(`修改签名失败:${t.message}`,"error")}}catch(s){console.error("修改签名错误:",s),this.showMessage("发生错误,请稍后再试","error")}})).catch((()=>{}))},openList(t){this.listMode=t,this.showListModal=!0,this.fetchFollowList(1)},closeList(){this.showListModal=!1,this.userList=[]},async fetchFollowList(t=1){this.listLoading=!0;try{const e=Z.A.get("token");if(!e)return;const s=await fetch("https://newfront.xn--xhq44jb2fzpc.com/user/follow/get",{method:"POST",headers:{"Content-Type":"application/json",Authorization:e},body:JSON.stringify({mode:this.listMode,page_num:t})});if(s.ok){const t=await s.json();this.userList=t.list,this.listPagination.current=t.current_page,this.listPagination.total=t.total,this.listPagination.pages=t.total_pages}else this.showMessage("获取列表失败","error")}catch(e){console.error("获取列表错误:",e),this.showMessage("网络错误","error")}finally{this.listLoading=!1}},async handleListFollowAction(t){const e=t.is_following,s=t.user_id,i=Z.A.get("token");i?e?(0,tt.A)({title:"取消关注",message:"确定取消关注该用户吗?",confirmText:"确定",cancelText:"取消",cancel:!0}).then((async()=>{await this.executeFollowAction(s,!e)})).catch((()=>{})):await this.executeFollowAction(s,!e):this.showMessage("请先登录","error")},async executeFollowAction(t,e){const s=Z.A.get("token");try{const i=await fetch("https://newfront.xn--xhq44jb2fzpc.com/user/follow/do",{method:"POST",headers:{"Content-Type":"application/json",Authorization:s},body:JSON.stringify({user_id:t})});if(i.ok)this.showMessage(e?"关注成功":"取消关注成功","success"),this.fetchFollowList(this.listPagination.current),this.fetchUserInfo();else{const t=await i.json();this.showMessage(t.message||"操作失败","error")}}catch(i){console.error("操作错误:",i),this.showMessage("网络错误","error")}},changePage(t){t<1||t>this.listPagination.pages||this.fetchFollowList(t)},showMessage(t,e="success"){this.$barMessage({message:t,type:e})}}},it=s(6968);const nt=(0,it.A)(st,[["render",Y],["__scopeId","data-v-4ea2fd79"]]);var at=nt;const ot={class:"coin-container"},lt={key:0,class:"not-activated"},rt={class:"alert alert-warning policy-notification"},ct={key:1,class:"activated"},dt={class:"alert alert-warning policy-notification"},ut={class:"coin-info"},ht={class:"coin-amount"},gt={class:"transactions"},kt={key:0,class:"no-records"},pt={key:1,class:"transaction-table"},vt={key:2,class:"pagination"},mt=["disabled"],ft={class:"page-info"},yt=["disabled"];function Lt(t,e,s,n,a,o){return(0,i.uX)(),(0,i.CE)("div",ot,[a.isActivated?((0,i.uX)(),(0,i.CE)("div",ct,[(0,i.Lk)("div",dt,(0,k.v_)(a.policyNotification),1),(0,i.Lk)("div",ut,[(0,i.Lk)("h3",null,[e[3]||(e[3]=(0,i.eW)("您当前拥有 ")),(0,i.Lk)("span",ht,(0,k.v_)(a.coinAmount),1),e[4]||(e[4]=(0,i.eW)(" 枚东币"))])]),(0,i.Lk)("div",gt,[0===a.transactions.length?((0,i.uX)(),(0,i.CE)("div",kt," 暂无交易记录 ")):((0,i.uX)(),(0,i.CE)("table",pt,[e[5]||(e[5]=(0,i.Lk)("thead",null,[(0,i.Lk)("tr",null,[(0,i.Lk)("th",null,"时间"),(0,i.Lk)("th",null,"金额"),(0,i.Lk)("th",null,"备注")])],-1)),(0,i.Lk)("tbody",null,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(a.transactions,(t=>((0,i.uX)(),(0,i.CE)("tr",{key:t.id},[(0,i.Lk)("td",null,(0,k.v_)(o.formatDate(t.created_at)),1),(0,i.Lk)("td",{class:(0,k.C4)({credit:"credit"===t.type,debit:"debit"===t.type})},(0,k.v_)("credit"===t.type?"+":"-")+(0,k.v_)(t.amount),3),(0,i.Lk)("td",null,(0,k.v_)(t.note),1)])))),128))])])),a.totalPages>1?((0,i.uX)(),(0,i.CE)("div",vt,[(0,i.Lk)("button",{disabled:1===a.currentPage,onClick:e[0]||(e[0]=t=>o.loadTransactions(a.currentPage-1)),class:"btn btn-sm btn-outline-primary"}," 上一页 ",8,mt),(0,i.Lk)("span",ft,(0,k.v_)(a.currentPage)+" / "+(0,k.v_)(a.totalPages),1),(0,i.Lk)("button",{disabled:a.currentPage===a.totalPages,onClick:e[1]||(e[1]=t=>o.loadTransactions(a.currentPage+1)),class:"btn btn-sm btn-outline-primary"}," 下一页 ",8,yt)])):(0,i.Q3)("",!0)])])):((0,i.uX)(),(0,i.CE)("div",lt,[(0,i.Lk)("div",rt,(0,k.v_)(a.policyNotification),1),e[2]||(e[2]=(0,i.Lk)("div",{class:"alert alert-info"},[(0,i.Lk)("p",null,"东币系统在账号完成校园验证后自动激活。")],-1))]))])}var bt={name:"CoinComponent",data(){return{isActivated:!1,coinAmount:0,transactions:[],currentPage:1,totalPages:1,policyNotification:"由于政策原因,短信验证码服务已于2025.4.13下线,后续东币系统将在校园验证通过后自动激活。之前已完成校园验证但未手动激活东币系统的用户,系统已为您自动激活东币系统。"}},created(){this.loadTransactions(1)},methods:{async loadTransactions(t){try{const e=Z.A.get("token");if(!e)return console.error("未找到登录token"),void(this.isActivated=!1);const s=await fetch("https://newfront.xn--xhq44jb2fzpc.com/coin/transactions",{method:"POST",headers:{Authorization:e,"Content-Type":"application/json"},body:JSON.stringify({page_num:t})}),i=await s.json();if(s.ok)this.isActivated=!0,this.coinAmount=i.coinAmount,this.transactions=i.transactions,this.currentPage=i.current_page,this.totalPages=i.total_pages;else{if(403!==s.status||"用户未激活东币系统"!==i.message)throw new Error(i.message||"获取交易记录失败");this.isActivated=!1,this.coinAmount=0,this.transactions=[]}}catch(e){console.error("获取交易记录出错:",e),this.isActivated=!1}},formatDate(t){const e=new Date(t);return`${e.getFullYear()}/${e.getMonth()+1}/${e.getDate()} ${e.getHours()}:${String(e.getMinutes()).padStart(2,"0")}:${String(e.getSeconds()).padStart(2,"0")}`}}};const wt=(0,it.A)(bt,[["render",Lt],["__scopeId","data-v-0bd9ed96"]]);var _t=wt,Ct=s(1561);const At={class:"submission-container"},xt={class:"header"},Et={class:"header-buttons"},Pt={key:0,class:"modal-overlay"},Mt={class:"modal-content key-management-modal"},It={class:"modal-header"},St={class:"modal-body"},$t={key:0,class:"key-table-wrapper"},Xt={class:"key-table"},jt={class:"key-cell"},Ft={class:"key-content"},Tt=["onClick"],Kt={key:0,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"black","stroke-linecap":"round","stroke-linejoin":"round",width:"24",height:"24","stroke-width":"1.1"},zt={key:1,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"black","stroke-linecap":"round","stroke-linejoin":"round",width:"24",height:"24","stroke-width":"1.1"},Ot={key:1,class:"loading-keys"},Dt={key:2,class:"empty-keys"},qt={key:1,class:"modal-overlay"},Nt={class:"modal-content exchange-key-modal"},Ut={class:"modal-header"},Qt={class:"modal-body"},Rt={class:"form-group"},Jt={class:"form-group"},Wt={class:"form-actions"},Vt=["disabled"],Bt={class:"submission-table-wrapper"},Ht={key:0,class:"submission-table"},Gt={key:0},Yt=["onClick"],Zt={class:"title-cell"},te={key:0},ee={key:1,class:"status-unknown"},se={class:"action-buttons"},ie=["onClick"],ne=["onClick"],ae={key:1,class:"empty-state"},oe={key:2,class:"pagination"},le=["disabled"],re={class:"page-info"},ce=["disabled"];function de(t,e,s,n,a,o){return(0,i.uX)(),(0,i.CE)("div",At,[(0,i.Lk)("div",xt,[e[10]||(e[10]=(0,i.Lk)("h3",{class:"title"},"我的投稿记录",-1)),(0,i.Lk)("div",Et,[(0,i.Lk)("button",{class:"key-manage-btn",onClick:e[0]||(e[0]=t=>a.showKeyManagement=!0)},"密钥管理"),(0,i.Lk)("button",{class:"manage-btn",onClick:e[1]||(e[1]=(...t)=>o.handleManage&&o.handleManage(...t))},"我要投稿")])]),a.showKeyManagement?((0,i.uX)(),(0,i.CE)("div",Pt,[(0,i.Lk)("div",Mt,[(0,i.Lk)("div",It,[e[11]||(e[11]=(0,i.Lk)("h3",null,"密钥管理",-1)),(0,i.Lk)("button",{class:"close-btn",onClick:e[2]||(e[2]=t=>a.showKeyManagement=!1)},"×")]),(0,i.Lk)("div",St,[(0,i.Lk)("button",{class:"exchange-key-btn",onClick:e[3]||(e[3]=t=>a.showExchangeKey=!0)},"兑换密钥"),a.keyList.length>0?((0,i.uX)(),(0,i.CE)("div",$t,[(0,i.Lk)("table",Xt,[e[14]||(e[14]=(0,i.Lk)("thead",null,[(0,i.Lk)("tr",null,[(0,i.Lk)("th",null,"密钥"),(0,i.Lk)("th",null,"状态"),(0,i.Lk)("th",null,"创建时间"),(0,i.Lk)("th",null,"最后使用时间")])],-1)),(0,i.Lk)("tbody",null,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(a.keyList,((t,s)=>((0,i.uX)(),(0,i.CE)("tr",{key:s},[(0,i.Lk)("td",jt,[(0,i.Lk)("div",Ft,[(0,i.Lk)("span",null,(0,k.v_)(a.visibleKeyIndex===s?t.key_plaintext:"******"),1),(0,i.Lk)("button",{class:"toggle-visibility",onClick:t=>o.toggleKeyVisibility(s)},[a.visibleKeyIndex!==s?((0,i.uX)(),(0,i.CE)("svg",Kt,e[12]||(e[12]=[(0,i.Lk)("path",{d:"M10 12a2 2 0 1 0 4 0a2 2 0 0 0 -4 0"},null,-1),(0,i.Lk)("path",{d:"M21 12c-2.4 4 -5.4 6 -9 6c-3.6 0 -6.6 -2 -9 -6c2.4 -4 5.4 -6 9 -6c3.6 0 6.6 2 9 6"},null,-1)]))):((0,i.uX)(),(0,i.CE)("svg",zt,e[13]||(e[13]=[(0,i.Lk)("path",{d:"M10.585 10.587a2 2 0 0 0 2.829 2.828"},null,-1),(0,i.Lk)("path",{d:"M16.681 16.673a8.717 8.717 0 0 1 -4.681 1.327c-3.6 0 -6.6 -2 -9 -6c1.272 -2.12 2.712 -3.678 4.32 -4.674m2.86 -1.146a9.055 9.055 0 0 1 1.82 -.18c3.6 0 6.6 2 9 6c-.666 1.11 -1.379 2.067 -2.138 2.87"},null,-1),(0,i.Lk)("path",{d:"M3 3l18 18"},null,-1)])))],8,Tt)])]),(0,i.Lk)("td",null,[(0,i.Lk)("span",{class:(0,k.C4)(t.is_valid?"status-valid":"status-invalid")},(0,k.v_)(t.is_valid?"有效":"无效"),3)]),(0,i.Lk)("td",null,(0,k.v_)(o.formatDate(t.created_at)),1),(0,i.Lk)("td",null,(0,k.v_)(t.last_used_at?o.formatDate(t.last_used_at):"未使用"),1)])))),128))])])])):a.loadingKeyList?((0,i.uX)(),(0,i.CE)("div",Ot," 加载中... ")):((0,i.uX)(),(0,i.CE)("div",Dt,e[15]||(e[15]=[(0,i.Lk)("p",null,"暂无密钥记录",-1)])))])])])):(0,i.Q3)("",!0),a.showExchangeKey?((0,i.uX)(),(0,i.CE)("div",qt,[(0,i.Lk)("div",Nt,[(0,i.Lk)("div",Ut,[e[16]||(e[16]=(0,i.Lk)("h3",null,"兑换密钥",-1)),(0,i.Lk)("button",{class:"close-btn",onClick:e[4]||(e[4]=t=>a.showExchangeKey=!1)},"×")]),(0,i.Lk)("div",Qt,[(0,i.Lk)("div",Rt,[e[17]||(e[17]=(0,i.Lk)("label",{for:"invite-code"},"邀请码",-1)),(0,i.bo)((0,i.Lk)("input",{id:"invite-code","onUpdate:modelValue":e[5]||(e[5]=t=>a.exchangeForm.invite_code=t),type:"text",placeholder:"输入邀请码"},null,512),[[Ct.Jo,a.exchangeForm.invite_code]])]),(0,i.Lk)("div",Jt,[e[18]||(e[18]=(0,i.Lk)("label",{for:"custom-key"},"自定义密钥",-1)),(0,i.bo)((0,i.Lk)("input",{id:"custom-key","onUpdate:modelValue":e[6]||(e[6]=t=>a.exchangeForm.key=t),type:"text",placeholder:"输入您的自定义密钥"},null,512),[[Ct.Jo,a.exchangeForm.key]])]),(0,i.Lk)("div",Wt,[(0,i.Lk)("button",{class:"submit-btn",disabled:!a.exchangeForm.invite_code||!a.exchangeForm.key||a.submitting,onClick:e[7]||(e[7]=(...t)=>o.exchangeKey&&o.exchangeKey(...t))},(0,k.v_)(a.submitting?"处理中...":"确认兑换"),9,Vt)])])])])):(0,i.Q3)("",!0),(0,i.Lk)("div",Bt,[a.submissions.length>0?((0,i.uX)(),(0,i.CE)("table",Ht,[(0,i.Lk)("thead",null,[(0,i.Lk)("tr",null,[e[19]||(e[19]=(0,i.Lk)("th",null,"标题",-1)),e[20]||(e[20]=(0,i.Lk)("th",null,"板块",-1)),e[21]||(e[21]=(0,i.Lk)("th",null,"审核状态",-1)),a.setPrivate?((0,i.uX)(),(0,i.CE)("th",Gt,"文章权限")):(0,i.Q3)("",!0),e[22]||(e[22]=(0,i.Lk)("th",null,"审核备注",-1)),e[23]||(e[23]=(0,i.Lk)("th",null,"投稿时间",-1)),e[24]||(e[24]=(0,i.Lk)("th",null,"状态更新时间",-1)),e[25]||(e[25]=(0,i.Lk)("th",null,"操作",-1))])]),(0,i.Lk)("tbody",null,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(a.submissions,(t=>((0,i.uX)(),(0,i.CE)("tr",{key:t.id,class:(0,k.C4)({clickable:t.article_id}),onClick:e=>t.article_id&&o.navigateToArticle(t.article_id)},[(0,i.Lk)("td",Zt,(0,k.v_)(t.title),1),(0,i.Lk)("td",null,(0,k.v_)(t.section),1),(0,i.Lk)("td",null,[(0,i.Lk)("span",{class:(0,k.C4)(o.getStatusClass(t.status))},(0,k.v_)(t.status),3)]),a.setPrivate?((0,i.uX)(),(0,i.CE)("td",te,["已通过"===t.status&&t.hasOwnProperty("is_public")?((0,i.uX)(),(0,i.CE)("span",{key:0,class:(0,k.C4)(t.is_public?"status-public":"status-private")},(0,k.v_)(t.is_public?"公开":"私密"),3)):((0,i.uX)(),(0,i.CE)("span",ee,"-"))])):(0,i.Q3)("",!0),(0,i.Lk)("td",null,(0,k.v_)(t.note||"无"),1),(0,i.Lk)("td",null,(0,k.v_)(o.formatDate(t.created_at)),1),(0,i.Lk)("td",null,(0,k.v_)(o.formatDate(t.updated_at)),1),(0,i.Lk)("td",null,[(0,i.Lk)("div",se,["已通过"===t.status&&t.article_id&&t.owner?((0,i.uX)(),(0,i.CE)("button",{key:0,class:"edit-btn",onClick:(0,Ct.D$)((e=>o.navigateToEdit(t.article_id)),["stop"])}," 编辑 ",8,ie)):(0,i.Q3)("",!0),a.setPrivate&&"已通过"===t.status&&t.article_id&&t.owner&&t.hasOwnProperty("is_public")?((0,i.uX)(),(0,i.CE)("button",{key:1,class:(0,k.C4)(t.is_public?"private-btn":"public-btn"),onClick:(0,Ct.D$)((e=>o.toggleArticleAccess(t)),["stop"])},(0,k.v_)(t.is_public?"设为私密":"设为公开"),11,ne)):(0,i.Q3)("",!0)])])],10,Yt)))),128))])])):((0,i.uX)(),(0,i.CE)("div",ae,e[26]||(e[26]=[(0,i.Lk)("p",null,"暂无投稿记录",-1)]))),a.totalPages>1?((0,i.uX)(),(0,i.CE)("div",oe,[(0,i.Lk)("button",{disabled:1===a.currentPage,onClick:e[8]||(e[8]=t=>o.loadSubmissions(a.currentPage-1)),class:"page-btn"}," 上一页 ",8,le),(0,i.Lk)("span",re,(0,k.v_)(a.currentPage)+" / "+(0,k.v_)(a.totalPages),1),(0,i.Lk)("button",{disabled:a.currentPage===a.totalPages,onClick:e[9]||(e[9]=t=>o.loadSubmissions(a.currentPage+1)),class:"page-btn"}," 下一页 ",8,ce)])):(0,i.Q3)("",!0)])])}var ue={name:"SubmissionList",data(){return{submissions:[],currentPage:1,totalPages:1,totalSubmissions:0,loading:!1,setPrivate:!1,inRank:!0,updatingRank:!1,loadingKeyList:!1,showKeyManagement:!1,showExchangeKey:!1,keyList:[],visibleKeyIndex:-1,exchangeForm:{invite_code:"",key:""},submitting:!1}},created(){this.loadSubmissions(1)},methods:{async loadSubmissions(t){this.loading=!0;try{const e=Z.A.get("token");if(!e)return void console.error("未找到登录token");const s=await fetch("https://newfront.xn--xhq44jb2fzpc.com/user/submission",{method:"POST",headers:{Authorization:e,"Content-Type":"application/json"},body:JSON.stringify({page_num:t})});if(!s.ok)throw new Error("获取投稿记录失败");const i=await s.json();this.submissions=i.submissions,this.currentPage=i.current_page,this.totalPages=i.total_pages,this.totalSubmissions=i.total_submissions,this.setPrivate=i.set_private||!1,i.hasOwnProperty("in_rank")&&(this.inRank=i.in_rank)}catch(e){console.error("获取投稿记录出错:",e)}finally{this.loading=!1}},async updateRankingStatus(){const t=new Date,e=new Date(t);e.setHours(t.getHours()+1);const s=`${e.getHours()}:00`,i=this.inRank,n=i?`您确认参与投稿排行榜吗?如确认,榜单将在下次更新时(${s})显示您。`:`您确认退出投稿排行榜吗?如确认,榜单将在下次更新时(${s})不再显示您。`;try{await tt.A.confirm(n,"提示"),this.updatingRank=!0;const t=Z.A.get("token");if(!t)return tt.A.alert("未找到登录token","错误"),void(this.inRank=!this.inRank);const e=await fetch("https://newfront.xn--xhq44jb2fzpc.com/ranking/in",{method:"POST",headers:{Authorization:t,"Content-Type":"application/json"},body:JSON.stringify({in:this.inRank})});if(!e.ok)throw new Error("更新设置失败");await e.json();const s=i?"参与":"退出";this.$barMessage.success(`您已成功${s}投稿排行榜!`)}catch(a){if(this.inRank=!this.inRank,"cancel"===a||a&&"cancel"===a.action)return;console.error("更新排行榜设置失败:",a),tt.A.alert("更新设置失败,请稍后重试","错误")}finally{this.updatingRank=!1}},handleManage(){console.log("点击了作品管理按钮"),this.$emit("manage-works")},navigateToArticle(t){this.$router.push(`/article/${t}`)},navigateToEdit(t){const e=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)||window.innerWidth<768;e?tt.A.confirm("建议在电脑端进行编辑以获得最佳体验。仍要继续吗?","提示").then((()=>{this.$router.push(`/edit?article=${t}`)})).catch((()=>{console.log("用户取消了在移动端编辑")})):this.$router.push(`/edit?article=${t}`)},formatDate(t){if(!t)return"未知";const e=new Date(t);return`${e.getFullYear()}/${e.getMonth()+1}/${e.getDate()} ${e.getHours()}:${String(e.getMinutes()).padStart(2,"0")}:${String(e.getSeconds()).padStart(2,"0")}`},getStatusClass(t){switch(t){case"已通过":return"status-approved";case"审核中":return"status-pending";case"未通过":return"status-rejected";default:return""}},async loadKeyList(){this.loadingKeyList=!0;try{const t=Z.A.get("token");if(!t)return void console.error("未找到登录token");const e=await fetch("https://newfront.xn--xhq44jb2fzpc.com/encrypt/getcode",{method:"GET",headers:{Authorization:t,"Content-Type":"application/json"}});if(!e.ok)throw new Error("获取密钥列表失败");const s=await e.json();if(!s.success)throw new Error(s.message||"获取密钥列表失败");this.keyList=s.data||[]}catch(t){console.error("获取密钥列表出错:",t),tt.A.alert(t.message||"获取密钥列表失败,请稍后再试","错误")}finally{this.loadingKeyList=!1}},toggleKeyVisibility(t){this.visibleKeyIndex===t?this.visibleKeyIndex=-1:this.visibleKeyIndex=t},async exchangeKey(){if(this.exchangeForm.invite_code&&this.exchangeForm.key){this.submitting=!0;try{const t=Z.A.get("token");if(!t)return void console.error("未找到登录token");const e=await fetch("https://newfront.xn--xhq44jb2fzpc.com/encrypt/setcode",{method:"POST",headers:{Authorization:t,"Content-Type":"application/json"},body:JSON.stringify(this.exchangeForm)}),s=await e.json();if(!s.success)throw new Error(s.message||"密钥兑换失败");tt.A.alert("密钥兑换成功","提示"),this.showExchangeKey=!1,this.exchangeForm.invite_code="",this.exchangeForm.key="",this.loadKeyList()}catch(t){console.error("密钥兑换出错:",t),tt.A.alert(t.message||"密钥兑换失败,请稍后再试","错误")}finally{this.submitting=!1}}else tt.A.alert("请输入邀请码和密钥","提示")},async checkAndFillInviteCode(){try{const t=Z.A.get("token");if(!t)return;const e=await fetch("https://newfront.xn--xhq44jb2fzpc.com/encrypt/invite",{method:"GET",headers:{Authorization:t,"Content-Type":"application/json"}});if(e.ok){const t=await e.json();t.success&&t.invite_code&&(this.exchangeForm.invite_code=t.invite_code,this.$barMessage.success("检测到您具有未使用的邀请码,已自动填充"))}}catch(t){console.error("获取邀请码失败:",t)}},async toggleArticleAccess(t){if(!t.article_id)return void tt.A.alert("无效的文章ID","错误");const e=t.is_public?"设为私密":"设为公开";try{await tt.A.confirm(`确认要将文章《${t.title}》${e}吗?`,"确认操作");const s=Z.A.get("token");if(!s)return void tt.A.alert("请先登录","提示");const i=await fetch("https://newfront.xn--xhq44jb2fzpc.com/user/access",{method:"POST",headers:{Authorization:s,"Content-Type":"application/json"},body:JSON.stringify({article_id:t.article_id})});if(!i.ok){const t=await i.json().catch((()=>({})));throw new Error(t.message||"操作失败")}const n=await i.json();t.is_public=n.is_public,this.$barMessage.success(n.message||"操作成功")}catch(s){if("cancel"===s.action)return;console.error("切换文章访问权限失败:",s),this.$barMessage.error(s.message||"操作失败,请稍后再试")}}},watch:{showExchangeKey(t){t&&this.checkAndFillInviteCode()},showKeyManagement(t){t?this.loadKeyList():this.visibleKeyIndex=-1}}};const he=(0,it.A)(ue,[["render",de],["__scopeId","data-v-68797b30"]]);var ge=he,ke=s(7376),pe={name:"UserCenter",components:{Navbar:g.A,UserInfo:at,Coin:_t,SubmissionList:ge},data(){return{isAuthenticated:!1,isLoading:!0}},created(){document.title="个人中心 - NEU小站"},mounted(){this.checkAuthAndFetchUserInfo()},methods:{async checkAuthAndFetchUserInfo(){const t=Z.A.get("token");if(!t)return this.isLoading=!1,"/user-center"===this.$route.path?void this.$router.replace("/login"):void("/login"===this.$route.path&&this.showLoginDialog());try{const e=await fetch("https://newfront.xn--xhq44jb2fzpc.com/user/islogin",{method:"GET",headers:{Authorization:t}});if(!e.ok)throw new Error("Token 验证失败");const s=await e.json();if(!s||!s.isLoggedIn)throw new Error("Token 验证成功但返回状态不正确");{this.isAuthenticated=!0;const e=new URLSearchParams(window.location.search);if("wordhelper"===e.get("lg_callback"))return void(window.location.href=`https://wh.ember.ac.cn/login-required?cb_token=${t}`)}this.isLoading=!1,"/login"===this.$route.path&&this.$router.replace("/user-center")}catch(e){if(console.error("获取用户信息出错:",e),this.isLoading=!1,Z.A.remove("token"),"/user-center"===this.$route.path)return void this.$router.replace("/login");"/login"===this.$route.path&&this.showLoginDialog()}},showLoginDialog(){(0,ke.A)().then((t=>{console.log("登录成功:",t),this.isAuthenticated=!0,this.$router.replace("/user-center")})).catch((t=>{console.log("登录取消:",t)}))},handleManageWorks(){const t=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)||window.innerWidth<768;t?tt.A.confirm("建议在电脑端进行投稿以获得最佳体验。仍要继续吗?","提示").then((()=>{this.$router.push("/submit")})).catch((()=>{console.log("用户取消了在移动端投稿")})):this.$router.push("/submit")}}};const ve=(0,it.A)(pe,[["render",h],["__scopeId","data-v-5c494a02"]]);var me=ve}}]);
+//# sourceMappingURL=150.6899de89.js.map
\ No newline at end of file
diff --git a/dist/js/274.7b070b1e.js b/dist/js/274.68cda73e.js
similarity index 99%
rename from dist/js/274.7b070b1e.js
rename to dist/js/274.68cda73e.js
index 1c94ffa..503c748 100644
--- a/dist/js/274.7b070b1e.js
+++ b/dist/js/274.68cda73e.js
@@ -1,2 +1,2 @@
-"use strict";(self["webpackChunknewfront"]=self["webpackChunknewfront"]||[]).push([[274],{3274:function(a,t,v){v.r(t),v.d(t,{default:function(){return f}});var e=v(1411);const d={class:"about-view"};function s(a,t,v,s,i,n){const c=(0,e.g2)("NavBar");return(0,e.uX)(),(0,e.CE)("div",d,[(0,e.bF)(c),t[0]||(t[0]=(0,e.Fv)('关于我们
关于NEU小站
网站作者也是NEU在读学生,我希望NEU小站的存在能弥补一下校内资源共享的极度空缺,能够给大家的学习帮上忙~有BUG或功能建议,欢迎与我交流!同时感谢且欢迎各位同学投稿资源!
NEU小站目前所有下载服务均为免费提供,网站设置"东币系统"是为了激励投稿,以及一定程度上减少无意义的下载,因为下行流量费很高...我们衷心感谢大家的投稿支持或赞助!
网站主体技术栈包括:Vue、Vuex、Node.js(以Prisma ORM、Nest.js为主),如有同学愿意加入开发,欢迎联系我~
更新日志
2025.12
2025.12.23
增加压缩包预览功能
支持在线云解压RAR/ZIP/7Z压缩包,用户可以直接预览或下载压缩包部分内容。
2025.12.04
重构课程评分系统UI
优化了课程评分系统的用户界面,优化了移动端体验。
2025.12.03
新增关注功能
关注的用户如有新投稿内容,会第一时间通知关注者。
2025.12.02
新增投稿排行榜
新增投稿排行榜功能,优化作者信息显示。
2025.05
2025.05.08
小工具中心上线
新增小工具中心功能;优化了顶部消息样式。
2025.04
2025.04.17
文章页支持Mermaid图表渲染
文章页新增Mermaid图表渲染,支持流程图、时序图、甘特图、类图、状态图、饼图、关系图等,同时优化了编辑器的相关支持。
2025.04.15
消息功能上线
新增消息功能,投稿状态更新、评论点赞、评论回复、添加课程审核更新等将收到消息通知。
2025.04.13
内容页集成课程评分卡片
内容页新增课程评分卡片,与课程评分系统无缝集成,助力全方位阅读体验。同时支持在投稿编辑器中插入课程卡片,轻松引用课程评分系统中的课程数据。
2025.04.11
全新投稿页面上线
投稿功能全新升级,支持Markdown编辑,支持图片编辑、裁剪,支持文章页面内预览编辑内容,支持编辑已通过的投稿内容。
2025.04.09
NEU小站新UI上线公测
使用全新UI响应式框架,大幅提升用户体验。
2025.02
2025.02.24
网站重构正式立项
UI响应式改造计划立项,将网站主体重构为响应式应用。
2025.02.16
新增NEU小站OJ题库
上线NEU小站OJ题库功能,为编程学习提供更多支持。
2025.02.05
课程评分系统升级
课程评分系统新增AI课程总结,接入DeepSeek V3大模型。
2025.01
2025.01.26
东币奖励机制
新增东币奖励机制,付费资源被下载时,投稿者可以获得东币奖励。
2025.01.24
课程评分系统优化
课程评分系统支持删除自己的评论,优化界面和接口性能。
2025.01.16
邮箱验证功能
注册时支持邮箱验证,支持通过stu校园邮箱激活账户。
2024.11
2024.11.19
投稿功能优化
优化投稿功能和后台审核功能,增强安全性。
2024.11.17
课程评分系统聊天功能
课程评分系统新增在线聊天功能,支持从评论发起聊天。
2024.09
2024.09.13
课程评分系统更新
修复课程评分系统的部分Bug,增加课程类别,更新用户验证相关接口。
2024.09.10
校园内网验证修复
修复通过宽带连接校园内网无法验证的问题,增加学院资源专区。
2024.09.03
API安全性优化
优化Restful API的安全性,优化存储签名机制。
2024.09.01
东币系统更新
更新"东币系统",并接入手机验证码验证。
2024.08
2024.08.31
账户验证功能
更新账户验证功能,防止非NEU师生注册本网站。
2024.08.10
资源下载安全升级
资源下载采用临时签名URL,防止爬虫。
2024.08.04
编辑器样式优化
优化投稿Markdown编辑器样式。
2024.07
2024.07.26
草稿功能修复
修复部分情况下加载草稿不展示最新草稿内容的Bug。
2024.07.25
Bug修复与优化
修复了内容详情页面不展示最新头像的Bug,配置并优化资源存储子域名。
2024.07.03
资源系统升级
升级资源内容系统,接入投稿用户系统,升级投稿系统为投稿者中心。
2024.07.02
资源投稿系统
新增资源投稿系统,优化CORS安全机制以保护文件。
2024.06
2024.06.27
LaTeX支持与头像功能
新增 LaTeX 数学公式支持,新增投稿者头像。
2024.06.24
样式与安全优化
优化首页"新生指南"样式,为网站配置资源防盗链,优化评论区表情稳定性。
2024.06.20
视觉元素更新
更新主页LOGO,更新404页面样式。
2024.06.19
主页样式更新
更新网站主页样式(电脑端和手机端),更新主页按钮样式。
2024.06.18
多项功能优化
更新网站图标,评论区启用贴吧表情,优化投稿作者样式,优化网站夜间模式样式,新增"认证投稿者"标识,优化日期显示格式,优化帖子样式,更新评论区样式,添加优质资源标识。
2024.06.17
评论区与底部优化
优化评论区样式,网站底部新增二维码。
2024.06.16
评论系统优化
优化评论系统,采用免登录模式,完善资源共享协议内容。
2024.06.15
多项功能更新
新增资源共享协议,修复网站资源完整性问题,修复搜索不显示结果的bug,优化网站移动端样式,修复网站换行符编码引起的bug,添加评论系统。
',1))])}var i=v(4493),n={name:"AboutView",components:{NavBar:i.A},created(){document.title="关于我们 - NEU小站"}},c=v(6968);const l=(0,c.A)(n,[["render",s],["__scopeId","data-v-80f28980"]]);var f=l}}]);
-//# sourceMappingURL=274.7b070b1e.js.map
\ No newline at end of file
+"use strict";(self["webpackChunknewfront"]=self["webpackChunknewfront"]||[]).push([[274],{3274:function(a,t,v){v.r(t),v.d(t,{default:function(){return f}});var e=v(1411);const d={class:"about-view"};function s(a,t,v,s,i,n){const c=(0,e.g2)("NavBar");return(0,e.uX)(),(0,e.CE)("div",d,[(0,e.bF)(c),t[0]||(t[0]=(0,e.Fv)('关于我们
关于NEU小站
网站作者也是NEU在读学生,我希望NEU小站的存在能弥补一下校内资源共享的极度空缺,能够给大家的学习帮上忙~有BUG或功能建议,欢迎与我交流!同时感谢且欢迎各位同学投稿资源!
NEU小站目前所有下载服务均为免费提供,网站设置"东币系统"是为了激励投稿,以及一定程度上减少无意义的下载,因为下行流量费很高...我们衷心感谢大家的投稿支持或赞助!
网站主体技术栈包括:Vue、Vuex、Node.js(以Prisma ORM、Nest.js为主),如有同学愿意加入开发,欢迎联系我~
更新日志
2025.12
2025.12.23
增加压缩包预览功能
支持在线云解压RAR/ZIP/7Z压缩包,用户可以直接预览或下载压缩包部分内容。
2025.12.04
重构课程评分系统UI
优化了课程评分系统的用户界面,优化了移动端体验。
2025.12.03
新增关注功能
关注的用户如有新投稿内容,会第一时间通知关注者。
2025.12.02
新增投稿排行榜
新增投稿排行榜功能,优化作者信息显示。
2025.05
2025.05.08
小工具中心上线
新增小工具中心功能;优化了顶部消息样式。
2025.04
2025.04.17
文章页支持Mermaid图表渲染
文章页新增Mermaid图表渲染,支持流程图、时序图、甘特图、类图、状态图、饼图、关系图等,同时优化了编辑器的相关支持。
2025.04.15
消息功能上线
新增消息功能,投稿状态更新、评论点赞、评论回复、添加课程审核更新等将收到消息通知。
2025.04.13
内容页集成课程评分卡片
内容页新增课程评分卡片,与课程评分系统无缝集成,助力全方位阅读体验。同时支持在投稿编辑器中插入课程卡片,轻松引用课程评分系统中的课程数据。
2025.04.11
全新投稿页面上线
投稿功能全新升级,支持Markdown编辑,支持图片编辑、裁剪,支持文章页面内预览编辑内容,支持编辑已通过的投稿内容。
2025.04.09
NEU小站新UI上线公测
使用全新UI响应式框架,大幅提升用户体验。
2025.02
2025.02.24
网站重构正式立项
UI响应式改造计划立项,将网站主体重构为响应式应用。
2025.02.16
新增NEU小站OJ题库
上线NEU小站OJ题库功能,为编程学习提供更多支持。
2025.02.05
课程评分系统升级
课程评分系统新增AI课程总结,接入DeepSeek V3大模型。
2025.01
2025.01.26
东币奖励机制
新增东币奖励机制,付费资源被下载时,投稿者可以获得东币奖励。
2025.01.24
课程评分系统优化
课程评分系统支持删除自己的评论,优化界面和接口性能。
2025.01.16
邮箱验证功能
注册时支持邮箱验证,支持通过stu校园邮箱激活账户。
2024.11
2024.11.19
投稿功能优化
优化投稿功能和后台审核功能,增强安全性。
2024.11.17
课程评分系统聊天功能
课程评分系统新增在线聊天功能,支持从评论发起聊天。
2024.09
2024.09.13
课程评分系统更新
修复课程评分系统的部分Bug,增加课程类别,更新用户验证相关接口。
2024.09.10
校园内网验证修复
修复通过宽带连接校园内网无法验证的问题,增加学院资源专区。
2024.09.03
API安全性优化
优化Restful API的安全性,优化存储签名机制。
2024.09.01
东币系统更新
更新"东币系统",并接入手机验证码验证。
2024.08
2024.08.31
账户验证功能
更新账户验证功能,防止非NEU师生注册本网站。
2024.08.10
资源下载安全升级
资源下载采用临时签名URL,防止爬虫。
2024.08.04
编辑器样式优化
优化投稿Markdown编辑器样式。
2024.07
2024.07.26
草稿功能修复
修复部分情况下加载草稿不展示最新草稿内容的Bug。
2024.07.25
Bug修复与优化
修复了内容详情页面不展示最新头像的Bug,配置并优化资源存储子域名。
2024.07.03
资源系统升级
升级资源内容系统,接入投稿用户系统,升级投稿系统为投稿者中心。
2024.07.02
资源投稿系统
新增资源投稿系统,优化CORS安全机制以保护文件。
2024.06
2024.06.27
LaTeX支持与头像功能
新增 LaTeX 数学公式支持,新增投稿者头像。
2024.06.24
样式与安全优化
优化首页"新生指南"样式,为网站配置资源防盗链,优化评论区表情稳定性。
2024.06.20
视觉元素更新
更新主页LOGO,更新404页面样式。
2024.06.19
主页样式更新
更新网站主页样式(电脑端和手机端),更新主页按钮样式。
2024.06.18
多项功能优化
更新网站图标,评论区启用贴吧表情,优化投稿作者样式,优化网站夜间模式样式,新增"认证投稿者"标识,优化日期显示格式,优化帖子样式,更新评论区样式,添加优质资源标识。
2024.06.17
评论区与底部优化
优化评论区样式,网站底部新增二维码。
2024.06.16
评论系统优化
优化评论系统,采用免登录模式,完善资源共享协议内容。
2024.06.15
多项功能更新
新增资源共享协议,修复网站资源完整性问题,修复搜索不显示结果的bug,优化网站移动端样式,修复网站换行符编码引起的bug,添加评论系统。
',1))])}var i=v(8875),n={name:"AboutView",components:{NavBar:i.A},created(){document.title="关于我们 - NEU小站"}},c=v(6968);const l=(0,c.A)(n,[["render",s],["__scopeId","data-v-80f28980"]]);var f=l}}]);
+//# sourceMappingURL=274.68cda73e.js.map
\ No newline at end of file
diff --git a/dist/js/300.e19684af.js b/dist/js/300.71167cfa.js
similarity index 99%
rename from dist/js/300.e19684af.js
rename to dist/js/300.71167cfa.js
index 0dad5a7..ad0dd16 100644
--- a/dist/js/300.e19684af.js
+++ b/dist/js/300.71167cfa.js
@@ -1,2 +1,2 @@
-"use strict";(self["webpackChunknewfront"]=self["webpackChunknewfront"]||[]).push([[300],{7300:function(e,t,o){o.r(t),o.d(t,{default:function(){return ie}});var s=o(1411),a=o(1561),r=o(2515);const i={class:"submit-page"},n={key:0,class:"course-selector-modal"},l={class:"modal-container"},c={class:"modal-header"},d={class:"modal-body"},u={class:"search-bar"},h={class:"course-results"},p={key:0,class:"course-loading"},m={key:1,class:"search-error"},f={key:2,class:"no-results"},g={key:3,class:"course-table"},k=["onClick"],v=["checked","onClick"],b={class:"rating"},L={class:"rating-count"},w={key:4,class:"pagination"},y=["disabled"],C={class:"page-info"},A=["disabled"],E={class:"modal-footer"},x=["disabled"],P={class:"container"},S={class:"page-header"},z={class:"sub-title"},M={key:0,class:"sub-title"},j={class:"submission-form"},D={class:"form-section"},_={class:"form-group"},T={for:"title"},F={class:"form-group"},U={class:"form-group"},$={class:"form-section"},I={class:"upload-area"},X={class:"file-input-container"},O={key:0,class:"file-list"},q={class:"file-name"},B={class:"file-size"},N={class:"total-size"},R={class:"form-section"},W={class:"section-desc",style:{color:"purple"}},J={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"black","stroke-linecap":"round","stroke-linejoin":"round",width:"20",height:"24","stroke-width":"1.1",style:{"vertical-align":"middle",display:"inline-block","margin-bottom":"2px"}},V={key:0,class:"section-desc",style:{color:"red"}},Q={class:"editor-container"},G={class:"draft-actions"},K={class:"form-actions"};function H(e,t,o,H,Y,Z){const ee=(0,s.g2)("Navbar"),te=(0,s.g2)("Loading"),oe=(0,s.g2)("MdEditor");return(0,s.uX)(),(0,s.CE)("div",i,[(0,s.bF)(ee),(0,s.bF)(te,{visible:Y.isLoading,text:Y.loadingText},null,8,["visible","text"]),Y.showCourseSelector?((0,s.uX)(),(0,s.CE)("div",n,[(0,s.Lk)("div",{class:"modal-overlay",onClick:t[0]||(t[0]=(...e)=>Z.closeCourseSelector&&Z.closeCourseSelector(...e))}),(0,s.Lk)("div",l,[(0,s.Lk)("div",c,[t[19]||(t[19]=(0,s.Lk)("h3",null,"选择课程",-1)),(0,s.Lk)("button",{class:"close-btn",onClick:t[1]||(t[1]=(...e)=>Z.closeCourseSelector&&Z.closeCourseSelector(...e))},"×")]),(0,s.Lk)("div",d,[(0,s.Lk)("div",u,[(0,s.bo)((0,s.Lk)("input",{type:"text","onUpdate:modelValue":t[2]||(t[2]=e=>Y.courseSearch=e),placeholder:"请输入课程名称",class:"search-input",onKeyup:t[3]||(t[3]=(0,a.jR)(((...e)=>Z.searchCourses&&Z.searchCourses(...e)),["enter"]))},null,544),[[a.Jo,Y.courseSearch]]),(0,s.Lk)("button",{class:"search-btn",onClick:t[4]||(t[4]=(...e)=>Z.searchCourses&&Z.searchCourses(...e))},"搜索")]),(0,s.Lk)("div",h,[Y.searchLoading?((0,s.uX)(),(0,s.CE)("div",p,t[20]||(t[20]=[(0,s.Lk)("div",{class:"spinner"},null,-1),(0,s.Lk)("span",null,"搜索中...",-1)]))):Y.searchError?((0,s.uX)(),(0,s.CE)("div",m,(0,r.v_)(Y.searchError),1)):0===Y.courseResults.length?((0,s.uX)(),(0,s.CE)("div",f," 未找到相关课程 ")):((0,s.uX)(),(0,s.CE)("table",g,[t[21]||(t[21]=(0,s.Lk)("thead",null,[(0,s.Lk)("tr",null,[(0,s.Lk)("th",null,"选择"),(0,s.Lk)("th",null,"课程名称"),(0,s.Lk)("th",null,"课程类别"),(0,s.Lk)("th",null,"授课教师"),(0,s.Lk)("th",null,"评分")])],-1)),(0,s.Lk)("tbody",null,[((0,s.uX)(!0),(0,s.CE)(s.FK,null,(0,s.pI)(Y.courseResults,(e=>((0,s.uX)(),(0,s.CE)("tr",{key:e.course_id,onClick:t=>Z.selectCourse(e),class:(0,r.C4)({selected:Y.selectedCourse&&Y.selectedCourse.course_id===e.course_id})},[(0,s.Lk)("td",null,[(0,s.Lk)("input",{type:"radio",checked:Y.selectedCourse&&Y.selectedCourse.course_id===e.course_id,onClick:(0,a.D$)((t=>Z.selectCourse(e)),["stop"])},null,8,v)]),(0,s.Lk)("td",null,(0,r.v_)(e.course_name),1),(0,s.Lk)("td",null,(0,r.v_)(Z.getCategoryName(e.category_id)),1),(0,s.Lk)("td",null,(0,r.v_)(e.teachers),1),(0,s.Lk)("td",null,[(0,s.Lk)("span",b,(0,r.v_)(e.rating),1),(0,s.Lk)("span",L,"("+(0,r.v_)(e.rating_count)+"人评)",1)])],10,k)))),128))])])),Y.totalPages>1?((0,s.uX)(),(0,s.CE)("div",w,[(0,s.Lk)("button",{class:"page-btn",disabled:1===Y.currentPage,onClick:t[5]||(t[5]=e=>Z.changePage(Y.currentPage-1))}," 上一页 ",8,y),(0,s.Lk)("span",C,"第 "+(0,r.v_)(Y.currentPage)+" / "+(0,r.v_)(Y.totalPages)+" 页",1),(0,s.Lk)("button",{class:"page-btn",disabled:Y.currentPage===Y.totalPages,onClick:t[6]||(t[6]=e=>Z.changePage(Y.currentPage+1))}," 下一页 ",8,A)])):(0,s.Q3)("",!0)])]),(0,s.Lk)("div",E,[(0,s.Lk)("button",{class:"btn btn-secondary",onClick:t[7]||(t[7]=(...e)=>Z.closeCourseSelector&&Z.closeCourseSelector(...e))}," 取消 "),(0,s.Lk)("button",{class:"btn btn-primary",onClick:t[8]||(t[8]=(...e)=>Z.confirmCourseSelection&&Z.confirmCourseSelection(...e)),disabled:!Y.selectedCourse}," 确定 ",8,x)])])])):(0,s.Q3)("",!0),(0,s.Lk)("div",P,[(0,s.Lk)("div",S,[(0,s.Lk)("h1",null,(0,r.v_)(Y.isEditMode?"编辑投稿内容":"内容投稿"),1),(0,s.Lk)("p",z,(0,r.v_)(Y.isEditMode?"编辑您的投稿内容":"感谢您分享您的学习资源或独到见解!"),1),Y.isEditMode?(0,s.Q3)("",!0):((0,s.uX)(),(0,s.CE)("p",M,"请在投稿之前先检索本站是否已有相同内容,避免重复投稿,谢谢合作!"))]),(0,s.Lk)("div",j,[(0,s.Lk)("div",D,[(0,s.Lk)("div",_,[(0,s.Lk)("label",T,"标题 "+(0,r.v_)(Y.isEditMode?"(如需更改标题,请不要更改【edit】前缀)":""),1),(0,s.bo)((0,s.Lk)("input",{type:"text",id:"title","onUpdate:modelValue":t[9]||(t[9]=e=>Y.formData.title=e),class:"form-control",placeholder:"请输入投稿标题",maxlength:"50"},null,512),[[a.Jo,Y.formData.title]])]),(0,s.Lk)("div",F,[t[23]||(t[23]=(0,s.Lk)("label",{for:"section"},"板块",-1)),(0,s.bo)((0,s.Lk)("select",{id:"section","onUpdate:modelValue":t[10]||(t[10]=e=>Y.formData.section=e),class:"form-control"},t[22]||(t[22]=[(0,s.Lk)("option",{value:"",disabled:""},"请选择板块",-1),(0,s.Lk)("option",{value:"攻略指南"},"攻略指南",-1),(0,s.Lk)("option",{value:"资源共享"},"资源共享",-1)]),512),[[a.u1,Y.formData.section]])]),(0,s.Lk)("div",U,[t[24]||(t[24]=(0,s.Lk)("label",{for:"note"},"备注信息 (选填)",-1)),(0,s.bo)((0,s.Lk)("input",{type:"text",id:"note","onUpdate:modelValue":t[11]||(t[11]=e=>Y.formData.note=e),class:"form-control",placeholder:"可添加备注信息"},null,512),[[a.Jo,Y.formData.note]])])]),(0,s.Lk)("div",$,[t[27]||(t[27]=(0,s.Lk)("h3",null,"附件上传",-1)),t[28]||(t[28]=(0,s.Lk)("p",{class:"section-desc"},"您可以上传最多10个文件,总大小不超过500MB。",-1)),(0,s.Lk)("div",I,[(0,s.Lk)("div",X,[t[25]||(t[25]=(0,s.Lk)("label",{for:"filePicker",class:"upload-label"},[(0,s.Lk)("span",{class:"upload-icon"},"📎"),(0,s.Lk)("span",null,"选择文件")],-1)),(0,s.Lk)("input",{type:"file",id:"filePicker",ref:"filePicker",onChange:t[12]||(t[12]=(...e)=>Z.validateFiles&&Z.validateFiles(...e)),multiple:"",class:"file-input"},null,544)]),Y.selectedFiles.length>0?((0,s.uX)(),(0,s.CE)("div",O,[t[26]||(t[26]=(0,s.Lk)("h4",null,"已选择的文件:",-1)),(0,s.Lk)("ul",null,[((0,s.uX)(!0),(0,s.CE)(s.FK,null,(0,s.pI)(Y.selectedFiles,((e,t)=>((0,s.uX)(),(0,s.CE)("li",{key:t},[(0,s.Lk)("span",q,(0,r.v_)(e.name),1),(0,s.Lk)("span",B,"("+(0,r.v_)(Z.formatFileSize(e.size))+")",1)])))),128))]),(0,s.Lk)("p",N,"总大小: "+(0,r.v_)(Z.formatFileSize(Y.totalFileSize)),1)])):(0,s.Q3)("",!0)])]),(0,s.Lk)("div",R,[t[35]||(t[35]=(0,s.Lk)("h3",null,"内容编辑",-1)),t[36]||(t[36]=(0,s.Lk)("p",{class:"section-desc"},'此部分主要用于"攻略指南"板块,"资源共享"板块可以留空。',-1)),t[37]||(t[37]=(0,s.Lk)("p",{class:"section-desc"},"使用Markdown语法编辑您的投稿内容。插入图片后,如需修改图片大小,请在编辑器中找到插入的图片标签,修改其width属性。",-1)),t[38]||(t[38]=(0,s.Lk)("p",{class:"section-desc"},[(0,s.eW)("如上传了附件且需在文中指定位置展示,"),(0,s.Lk)("strong",null,"可以用[附件名]来表示附件位置"),(0,s.eW)("。如不指定,则审核人员将按照文章内容在适当位置展示。")],-1)),t[39]||(t[39]=(0,s.Lk)("p",{class:"section-desc"},[(0,s.Lk)("strong",null,'"保存草稿"功能和"在文章页中预览"功能只针对此部分内容,上传的附件等将不会保存草稿并不支持"在文章页中预览"功能。')],-1)),(0,s.Lk)("p",W,[t[30]||(t[30]=(0,s.eW)("您可以轻松地插入课程卡片(点击")),((0,s.uX)(),(0,s.CE)("svg",J,t[29]||(t[29]=[(0,s.Lk)("path",{d:"M22 9l-10 -4l-10 4l10 4l10 -4v6"},null,-1),(0,s.Lk)("path",{d:"M6 10.6v5.4a6 3 0 0 0 12 0v-5.4"},null,-1)]))),t[31]||(t[31]=(0,s.eW)("按钮),引用课程评分系统中的课程数据。")),t[32]||(t[32]=(0,s.Lk)("strong",null,"注意:由于网站的安全设置,课程卡片前必须有其他内容,请勿在内容第一行插入课程卡片,否则将无法正常显示!",-1))]),Y.isEditMode?((0,s.uX)(),(0,s.CE)("p",V,t[33]||(t[33]=[(0,s.Lk)("strong",null,"检测到您当前正在编辑已有的投稿内容,请注意您之前如有其他投稿的草稿内容,这些内容在此页面保存草稿或提交编辑后将不会保留。",-1)]))):(0,s.Q3)("",!0),(0,s.Lk)("div",Q,[(0,s.bF)(oe,{modelValue:Y.formData.content,"onUpdate:modelValue":t[14]||(t[14]=e=>Y.formData.content=e),ref:"markdownEditor",theme:Y.editorTheme,toolbars:Y.editorToolbars,language:"zh-CN","preview-theme":"github",placeholder:Y.editorPlaceholder,onOnUploadImg:Z.handleImageUpload,onOnSave:Z.saveDraftWithConfirm},{defToolbars:(0,s.k6)((()=>[(0,s.Lk)("span",{class:"md-editor-toolbar-item",title:"添加课程卡片",onClick:t[13]||(t[13]=(...e)=>Z.chooseCourse&&Z.chooseCourse(...e))},t[34]||(t[34]=[(0,s.Lk)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round",width:"20",height:"24","stroke-width":"1.1"},[(0,s.Lk)("path",{d:"M22 9l-10 -4l-10 4l10 4l10 -4v6"}),(0,s.Lk)("path",{d:"M6 10.6v5.4a6 3 0 0 0 12 0v-5.4"})],-1)]))])),_:1},8,["modelValue","theme","toolbars","placeholder","onOnUploadImg","onOnSave"])]),(0,s.Lk)("div",G,[(0,s.Lk)("button",{type:"button",class:"btn btn-secondary",onClick:t[15]||(t[15]=(...e)=>Z.loadDraft&&Z.loadDraft(...e))}," 加载草稿 "),(0,s.Lk)("button",{type:"button",class:"btn btn-secondary",onClick:t[16]||(t[16]=(...e)=>Z.saveDraftWithConfirm&&Z.saveDraftWithConfirm(...e))}," 保存草稿 "),(0,s.Lk)("button",{type:"button",class:"btn btn-secondary preview-btn",onClick:t[17]||(t[17]=(...e)=>Z.previewDraft&&Z.previewDraft(...e))}," 在文章页中预览 ")])]),(0,s.Lk)("div",K,[(0,s.Lk)("button",{type:"button",class:"btn btn-primary",onClick:t[18]||(t[18]=(...e)=>Z.submitForm&&Z.submitForm(...e))},(0,r.v_)(Y.isEditMode?"提交编辑":"提交投稿"),1)])])])])}o(4945),o(4600),o(7670);var Y=o(4493),Z=o(7562),ee=o(2453),te=o(6707),oe=o(9297),se={name:"SubmitPage",components:{Navbar:Y.A,MdEditor:Z.A,Loading:oe.A},data(){return{formData:{title:"",section:"",note:"",content:""},selectedFiles:[],totalFileSize:0,imageUrl:"",imageTag:"",editorTheme:"light",editorPlaceholder:"在此输入您的内容,支持直接把图片粘贴到编辑器中",editorToolbars:["bold","italic","underline","sub","sup","-","title","unorderedList","orderedList","-","quote","link","image","table","codeRow","code","mermaid",0,"=","save","revoke","next","-","preview","pageFullscreen","fullscreen"],isEditMode:!1,editArticleId:null,isLoading:!1,loadingText:"获取投稿内容中...",showCourseSelector:!1,courseSearch:"",searchLoading:!1,searchError:null,courseResults:[],selectedCourse:null,currentPage:1,totalPages:1,categoryMap:{1:"通识选修类",2:"人文选修类",3:"专业方向类",4:"体育类",5:"学科基础类",6:"暑期国际课",7:"数学与自然科学类",8:"重修专栏",9:"数学与自然科学类(必修)",10:"人文社会科学类(必修)",11:"学科基础类(必修)",12:"专业方向类(必修)",13:"实践类(必修)"}}},created(){document.title="内容投稿 - NEU小站",this.checkLoginStatus().then((()=>{this.checkEditMode()}))},methods:{async checkLoginStatus(){const e=ee.A.get("token");if(!e)return this.$router.push("/login"),Promise.reject(new Error("未登录"));try{const t=await fetch("https://newfront.xn--xhq44jb2fzpc.com/user/islogin",{method:"GET",headers:{Authorization:e}});if(!t.ok)throw new Error("验证失败");const o=await t.json();return o.isLoggedIn?Promise.resolve():(ee.A.remove("token"),this.$router.push("/login"),Promise.reject(new Error("登录已过期")))}catch(t){return console.error("登录验证失败:",t),ee.A.remove("token"),this.$router.push("/login"),Promise.reject(t)}},async checkEditMode(){const e=new URLSearchParams(window.location.search),t=e.get("article");if(t)try{this.isEditMode=!0,this.editArticleId=t,this.isLoading=!0;const e=ee.A.get("token"),o=await fetch(`https://newfront.xn--xhq44jb2fzpc.com/article?id=${t}&edit=true`,{method:"GET",headers:{Authorization:e}});if(!o.ok)throw new Error("获取文章失败");const s=await o.json();this.formData.title=`【edit${t}】${s.title}`,this.formData.section=s.section,this.formData.content=s.content,document.title="编辑投稿内容 - NEU小站"}catch(o){console.error("获取文章信息失败:",o),this.isEditMode=!1,this.editArticleId=null}finally{this.isLoading=!1}},async handleImageUpload(e,t){const o=ee.A.get("token");if(o)try{const s=e.map((async e=>{if(e.size>2097152)throw new Error(`图片 ${e.name} 大小不能超过2MB!`);const t=e.name.split(".").pop().toLowerCase(),s=e.type,a=await fetch("https://userlogin.xn--xhq44jb2fzpc.com/submission/prepare-image-upload",{method:"POST",headers:{Authorization:o,"Content-Type":"application/json"},body:JSON.stringify({postfix:t,type:s})});if(!a.ok)throw new Error("准备上传失败");const{uploadUrl:r,path:i}=await a.json(),n=await fetch(r,{method:"PUT",body:e,headers:{"Content-Type":s,Authorization:o}});if(!n.ok)throw new Error(`文件 ${e.name} 上传失败`);const l=`https://download.xn--xhq44jb2fzpc.com/${i}`;return l})),a=await Promise.all(s);t(a),a.length>0&&setTimeout((()=>{te.A.alert("您已成功上传图片。如需修改图片大小,请在编辑器中找到刚插入的图片标签,修改其width属性。","图片大小调整提示")}),800)}catch(s){console.error("图片上传失败:",s),te.A.alert("图片上传失败:"+s.message,"错误")}else te.A.alert("请先登录!","提示")},validateFiles(e){const t=10,o=524288e3,s=e.target.files;if(s.length>t)return te.A.alert(`您只能选择最多 ${t} 个文件。`,"提示"),e.target.value="",this.selectedFiles=[],void(this.totalFileSize=0);let a=0;const r=[];for(let i=0;io)return te.A.alert("所有文件的总大小不能超过 500MB。","提示"),e.target.value="",this.selectedFiles=[],void(this.totalFileSize=0);r.push(t)}this.selectedFiles=r,this.totalFileSize=a},formatFileSize(e){if(0===e)return"0 Bytes";const t=1024,o=["Bytes","KB","MB","GB"],s=Math.floor(Math.log(e)/Math.log(t));return parseFloat((e/Math.pow(t,s)).toFixed(2))+" "+o[s]},async uploadImage(e){const t=e.target.files[0];if(t){if(t.size>2097152)return te.A.alert("图片文件大小不能超过2MB!","提示"),void(e.target.value="");if(!t.type.startsWith("image/"))return te.A.alert("请选择图片文件!","提示"),void(e.target.value="");try{const e=ee.A.get("token");if(!e)return void te.A.alert("请先登录!","提示");const o=t.name.split(".").pop().toLowerCase(),s=t.type,a=await fetch("https://userlogin.xn--xhq44jb2fzpc.com/submission/prepare-image-upload",{method:"POST",headers:{Authorization:e,"Content-Type":"application/json"},body:JSON.stringify({postfix:o,type:s})});if(!a.ok)throw new Error("准备上传失败");const{uploadUrl:r,path:i}=await a.json(),n=await fetch(r,{method:"PUT",body:t,headers:{"Content-Type":s,Authorization:e}});if(!n.ok){const e=await n.text();if(e.includes("`;this.imageUrl=l,this.imageTag=c}catch(o){console.error("上传失败:",o),te.A.alert("图片上传失败:"+o.message,"错误"),e.target.value=""}}else te.A.alert("请先选择图片文件!","提示")},copyImageUrl(){const e=document.createElement("textarea");e.value=this.imageTag,document.body.appendChild(e),e.select();try{const e=document.execCommand("copy"),t=e?"标签已复制到剪贴板!请直接粘贴到编辑区中,并根据预览效果调整大小。":"复制失败!";te.A.alert(t,"提示")}catch(t){te.A.alert(`复制失败!${t}`,"错误")}document.body.removeChild(e)},async previewDraft(){const{content:e}=this.formData;if(e.trim())try{const e=await te.A.confirm("此操作会自动保存草稿。确认继续吗?如您之前有草稿记录,此操作会覆盖之前的草稿内容。","确认");if(!e)return;this.saveDraft(!0).then((()=>{window.open("/preview","_blank")})).catch((e=>{console.error("无法预览草稿:",e)}))}catch(t){console.error("预览草稿操作被取消:",t)}else te.A.alert("内容不能为空!","提示")},async saveDraftWithConfirm(){const{content:e}=this.formData;if(e.trim())try{const e=await te.A.confirm("确认保存草稿内容吗?如您之前有草稿记录,此操作会覆盖之前的草稿内容。","确认");e&&this.saveDraft(!0)}catch(t){console.error("保存草稿操作被取消:",t)}else te.A.alert("内容不能为空!","提示")},async saveDraft(e=!1){const t=ee.A.get("token");if(!t)return te.A.alert("非法操作!请先登录。","警告"),Promise.reject(new Error("未登录"));const o=this.formData.content;if(o.trim())try{let s=!0;if(e||(s=await te.A.confirm("确认保存草稿内容吗?如您之前有草稿记录,此操作会覆盖之前的草稿内容。","确认")),!s)return;const a=await fetch("https://userlogin.xn--xhq44jb2fzpc.com/submission/save-draft",{method:"POST",headers:{Authorization:t,"Content-Type":"application/json"},body:JSON.stringify({content:o})});if(!a.ok){const e=await a.json();throw new Error(e.message||"保存草稿失败")}return e||te.A.alert("草稿已保存!","成功"),Promise.resolve()}catch(s){return console.error("保存草稿时出错:",s),e||te.A.alert("保存草稿失败,请稍后再试。","错误"),Promise.reject(s)}else te.A.alert("内容不能为空!","提示")},async loadDraft(){const e=ee.A.get("token");if(e)try{const o=await fetch("https://userlogin.xn--xhq44jb2fzpc.com/submission/load-draft",{method:"GET",headers:{Authorization:e}});if(!o.ok){if(404!==o.status){const e=await o.json();throw new Error(e.message||"无法加载草稿内容")}return void te.A.alert("没有草稿记录!","提示")}const s=await o.json();try{const e=await te.A.confirm("此操作会覆盖您当前的输入内容,确认加载草稿吗?","确认");if(!e)return;this.formData.content=s.content,te.A.alert("草稿已加载!","成功")}catch(t){console.log("用户取消了加载草稿操作")}}catch(t){console.error("加载草稿时出错:",t),te.A.alert("加载草稿失败,请稍后再试。","错误")}else te.A.alert("非法操作!请先登录。","警告")},async submitForm(){const{title:e,section:t,note:o,content:s}=this.formData,a=ee.A.get("token"),r=this.selectedFiles;if(e&&t)try{let l="确认提交投稿内容吗?";this.isEditMode&&(l="确认提交修改?修改后的内容将重新进入审核流程。");const c=await te.A.confirm(l,"提交确认");if(!c)return;const d=[];for(let e=0;e0?1:0,files:d};this.isEditMode&&this.editArticleId&&(h.article_id=this.editArticleId);const p=await fetch(u,{method:"POST",headers:{Authorization:a,"Content-Type":"application/json"},body:JSON.stringify(h)});if(!p.ok){const e=await p.json();throw new Error(e.message||"投稿失败,请重试!")}const m=await p.json(),f=m.submissionId;if(m.fileUploadData&&m.fileUploadData.length>0){this.loadingText="文件正在上传中,请耐心等待...",this.isLoading=!0;try{for(let e=0;ethis.totalPages||this.searchCourses(e)},confirmCourseSelection(){if(!this.selectedCourse)return void te.A.alert("请先选择一个课程","提示");const e=this.$refs.markdownEditor,t=`\n`;e.insert((e=>({targetValue:t,select:!1,deviationStart:0,deviationEnd:0}))),this.closeCourseSelector()}},computed:{displayedPages(){const e=5,t=Math.floor(e/2);let o=Math.max(1,this.currentPage-t),s=Math.min(this.totalPages,o+e-1);s-o+1Z.closeCourseSelector&&Z.closeCourseSelector(...e))}),(0,s.Lk)("div",l,[(0,s.Lk)("div",c,[t[19]||(t[19]=(0,s.Lk)("h3",null,"选择课程",-1)),(0,s.Lk)("button",{class:"close-btn",onClick:t[1]||(t[1]=(...e)=>Z.closeCourseSelector&&Z.closeCourseSelector(...e))},"×")]),(0,s.Lk)("div",d,[(0,s.Lk)("div",u,[(0,s.bo)((0,s.Lk)("input",{type:"text","onUpdate:modelValue":t[2]||(t[2]=e=>Y.courseSearch=e),placeholder:"请输入课程名称",class:"search-input",onKeyup:t[3]||(t[3]=(0,a.jR)(((...e)=>Z.searchCourses&&Z.searchCourses(...e)),["enter"]))},null,544),[[a.Jo,Y.courseSearch]]),(0,s.Lk)("button",{class:"search-btn",onClick:t[4]||(t[4]=(...e)=>Z.searchCourses&&Z.searchCourses(...e))},"搜索")]),(0,s.Lk)("div",h,[Y.searchLoading?((0,s.uX)(),(0,s.CE)("div",p,t[20]||(t[20]=[(0,s.Lk)("div",{class:"spinner"},null,-1),(0,s.Lk)("span",null,"搜索中...",-1)]))):Y.searchError?((0,s.uX)(),(0,s.CE)("div",m,(0,r.v_)(Y.searchError),1)):0===Y.courseResults.length?((0,s.uX)(),(0,s.CE)("div",f," 未找到相关课程 ")):((0,s.uX)(),(0,s.CE)("table",g,[t[21]||(t[21]=(0,s.Lk)("thead",null,[(0,s.Lk)("tr",null,[(0,s.Lk)("th",null,"选择"),(0,s.Lk)("th",null,"课程名称"),(0,s.Lk)("th",null,"课程类别"),(0,s.Lk)("th",null,"授课教师"),(0,s.Lk)("th",null,"评分")])],-1)),(0,s.Lk)("tbody",null,[((0,s.uX)(!0),(0,s.CE)(s.FK,null,(0,s.pI)(Y.courseResults,(e=>((0,s.uX)(),(0,s.CE)("tr",{key:e.course_id,onClick:t=>Z.selectCourse(e),class:(0,r.C4)({selected:Y.selectedCourse&&Y.selectedCourse.course_id===e.course_id})},[(0,s.Lk)("td",null,[(0,s.Lk)("input",{type:"radio",checked:Y.selectedCourse&&Y.selectedCourse.course_id===e.course_id,onClick:(0,a.D$)((t=>Z.selectCourse(e)),["stop"])},null,8,v)]),(0,s.Lk)("td",null,(0,r.v_)(e.course_name),1),(0,s.Lk)("td",null,(0,r.v_)(Z.getCategoryName(e.category_id)),1),(0,s.Lk)("td",null,(0,r.v_)(e.teachers),1),(0,s.Lk)("td",null,[(0,s.Lk)("span",b,(0,r.v_)(e.rating),1),(0,s.Lk)("span",L,"("+(0,r.v_)(e.rating_count)+"人评)",1)])],10,k)))),128))])])),Y.totalPages>1?((0,s.uX)(),(0,s.CE)("div",w,[(0,s.Lk)("button",{class:"page-btn",disabled:1===Y.currentPage,onClick:t[5]||(t[5]=e=>Z.changePage(Y.currentPage-1))}," 上一页 ",8,y),(0,s.Lk)("span",C,"第 "+(0,r.v_)(Y.currentPage)+" / "+(0,r.v_)(Y.totalPages)+" 页",1),(0,s.Lk)("button",{class:"page-btn",disabled:Y.currentPage===Y.totalPages,onClick:t[6]||(t[6]=e=>Z.changePage(Y.currentPage+1))}," 下一页 ",8,A)])):(0,s.Q3)("",!0)])]),(0,s.Lk)("div",E,[(0,s.Lk)("button",{class:"btn btn-secondary",onClick:t[7]||(t[7]=(...e)=>Z.closeCourseSelector&&Z.closeCourseSelector(...e))}," 取消 "),(0,s.Lk)("button",{class:"btn btn-primary",onClick:t[8]||(t[8]=(...e)=>Z.confirmCourseSelection&&Z.confirmCourseSelection(...e)),disabled:!Y.selectedCourse}," 确定 ",8,x)])])])):(0,s.Q3)("",!0),(0,s.Lk)("div",P,[(0,s.Lk)("div",S,[(0,s.Lk)("h1",null,(0,r.v_)(Y.isEditMode?"编辑投稿内容":"内容投稿"),1),(0,s.Lk)("p",z,(0,r.v_)(Y.isEditMode?"编辑您的投稿内容":"感谢您分享您的学习资源或独到见解!"),1),Y.isEditMode?(0,s.Q3)("",!0):((0,s.uX)(),(0,s.CE)("p",M,"请在投稿之前先检索本站是否已有相同内容,避免重复投稿,谢谢合作!"))]),(0,s.Lk)("div",j,[(0,s.Lk)("div",D,[(0,s.Lk)("div",_,[(0,s.Lk)("label",T,"标题 "+(0,r.v_)(Y.isEditMode?"(如需更改标题,请不要更改【edit】前缀)":""),1),(0,s.bo)((0,s.Lk)("input",{type:"text",id:"title","onUpdate:modelValue":t[9]||(t[9]=e=>Y.formData.title=e),class:"form-control",placeholder:"请输入投稿标题",maxlength:"50"},null,512),[[a.Jo,Y.formData.title]])]),(0,s.Lk)("div",F,[t[23]||(t[23]=(0,s.Lk)("label",{for:"section"},"板块",-1)),(0,s.bo)((0,s.Lk)("select",{id:"section","onUpdate:modelValue":t[10]||(t[10]=e=>Y.formData.section=e),class:"form-control"},t[22]||(t[22]=[(0,s.Lk)("option",{value:"",disabled:""},"请选择板块",-1),(0,s.Lk)("option",{value:"攻略指南"},"攻略指南",-1),(0,s.Lk)("option",{value:"资源共享"},"资源共享",-1)]),512),[[a.u1,Y.formData.section]])]),(0,s.Lk)("div",U,[t[24]||(t[24]=(0,s.Lk)("label",{for:"note"},"备注信息 (选填)",-1)),(0,s.bo)((0,s.Lk)("input",{type:"text",id:"note","onUpdate:modelValue":t[11]||(t[11]=e=>Y.formData.note=e),class:"form-control",placeholder:"可添加备注信息"},null,512),[[a.Jo,Y.formData.note]])])]),(0,s.Lk)("div",$,[t[27]||(t[27]=(0,s.Lk)("h3",null,"附件上传",-1)),t[28]||(t[28]=(0,s.Lk)("p",{class:"section-desc"},"您可以上传最多10个文件,总大小不超过500MB。",-1)),(0,s.Lk)("div",I,[(0,s.Lk)("div",X,[t[25]||(t[25]=(0,s.Lk)("label",{for:"filePicker",class:"upload-label"},[(0,s.Lk)("span",{class:"upload-icon"},"📎"),(0,s.Lk)("span",null,"选择文件")],-1)),(0,s.Lk)("input",{type:"file",id:"filePicker",ref:"filePicker",onChange:t[12]||(t[12]=(...e)=>Z.validateFiles&&Z.validateFiles(...e)),multiple:"",class:"file-input"},null,544)]),Y.selectedFiles.length>0?((0,s.uX)(),(0,s.CE)("div",O,[t[26]||(t[26]=(0,s.Lk)("h4",null,"已选择的文件:",-1)),(0,s.Lk)("ul",null,[((0,s.uX)(!0),(0,s.CE)(s.FK,null,(0,s.pI)(Y.selectedFiles,((e,t)=>((0,s.uX)(),(0,s.CE)("li",{key:t},[(0,s.Lk)("span",q,(0,r.v_)(e.name),1),(0,s.Lk)("span",B,"("+(0,r.v_)(Z.formatFileSize(e.size))+")",1)])))),128))]),(0,s.Lk)("p",N,"总大小: "+(0,r.v_)(Z.formatFileSize(Y.totalFileSize)),1)])):(0,s.Q3)("",!0)])]),(0,s.Lk)("div",R,[t[35]||(t[35]=(0,s.Lk)("h3",null,"内容编辑",-1)),t[36]||(t[36]=(0,s.Lk)("p",{class:"section-desc"},'此部分主要用于"攻略指南"板块,"资源共享"板块可以留空。',-1)),t[37]||(t[37]=(0,s.Lk)("p",{class:"section-desc"},"使用Markdown语法编辑您的投稿内容。插入图片后,如需修改图片大小,请在编辑器中找到插入的图片标签,修改其width属性。",-1)),t[38]||(t[38]=(0,s.Lk)("p",{class:"section-desc"},[(0,s.eW)("如上传了附件且需在文中指定位置展示,"),(0,s.Lk)("strong",null,"可以用[附件名]来表示附件位置"),(0,s.eW)("。如不指定,则审核人员将按照文章内容在适当位置展示。")],-1)),t[39]||(t[39]=(0,s.Lk)("p",{class:"section-desc"},[(0,s.Lk)("strong",null,'"保存草稿"功能和"在文章页中预览"功能只针对此部分内容,上传的附件等将不会保存草稿并不支持"在文章页中预览"功能。')],-1)),(0,s.Lk)("p",W,[t[30]||(t[30]=(0,s.eW)("您可以轻松地插入课程卡片(点击")),((0,s.uX)(),(0,s.CE)("svg",J,t[29]||(t[29]=[(0,s.Lk)("path",{d:"M22 9l-10 -4l-10 4l10 4l10 -4v6"},null,-1),(0,s.Lk)("path",{d:"M6 10.6v5.4a6 3 0 0 0 12 0v-5.4"},null,-1)]))),t[31]||(t[31]=(0,s.eW)("按钮),引用课程评分系统中的课程数据。")),t[32]||(t[32]=(0,s.Lk)("strong",null,"注意:由于网站的安全设置,课程卡片前必须有其他内容,请勿在内容第一行插入课程卡片,否则将无法正常显示!",-1))]),Y.isEditMode?((0,s.uX)(),(0,s.CE)("p",V,t[33]||(t[33]=[(0,s.Lk)("strong",null,"检测到您当前正在编辑已有的投稿内容,请注意您之前如有其他投稿的草稿内容,这些内容在此页面保存草稿或提交编辑后将不会保留。",-1)]))):(0,s.Q3)("",!0),(0,s.Lk)("div",Q,[(0,s.bF)(oe,{modelValue:Y.formData.content,"onUpdate:modelValue":t[14]||(t[14]=e=>Y.formData.content=e),ref:"markdownEditor",theme:Y.editorTheme,toolbars:Y.editorToolbars,language:"zh-CN","preview-theme":"github",placeholder:Y.editorPlaceholder,onOnUploadImg:Z.handleImageUpload,onOnSave:Z.saveDraftWithConfirm},{defToolbars:(0,s.k6)((()=>[(0,s.Lk)("span",{class:"md-editor-toolbar-item",title:"添加课程卡片",onClick:t[13]||(t[13]=(...e)=>Z.chooseCourse&&Z.chooseCourse(...e))},t[34]||(t[34]=[(0,s.Lk)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round",width:"20",height:"24","stroke-width":"1.1"},[(0,s.Lk)("path",{d:"M22 9l-10 -4l-10 4l10 4l10 -4v6"}),(0,s.Lk)("path",{d:"M6 10.6v5.4a6 3 0 0 0 12 0v-5.4"})],-1)]))])),_:1},8,["modelValue","theme","toolbars","placeholder","onOnUploadImg","onOnSave"])]),(0,s.Lk)("div",G,[(0,s.Lk)("button",{type:"button",class:"btn btn-secondary",onClick:t[15]||(t[15]=(...e)=>Z.loadDraft&&Z.loadDraft(...e))}," 加载草稿 "),(0,s.Lk)("button",{type:"button",class:"btn btn-secondary",onClick:t[16]||(t[16]=(...e)=>Z.saveDraftWithConfirm&&Z.saveDraftWithConfirm(...e))}," 保存草稿 "),(0,s.Lk)("button",{type:"button",class:"btn btn-secondary preview-btn",onClick:t[17]||(t[17]=(...e)=>Z.previewDraft&&Z.previewDraft(...e))}," 在文章页中预览 ")])]),(0,s.Lk)("div",K,[(0,s.Lk)("button",{type:"button",class:"btn btn-primary",onClick:t[18]||(t[18]=(...e)=>Z.submitForm&&Z.submitForm(...e))},(0,r.v_)(Y.isEditMode?"提交编辑":"提交投稿"),1)])])])])}o(4945),o(4600),o(7670);var Y=o(8875),Z=o(7562),ee=o(2453),te=o(6707),oe=o(9297),se={name:"SubmitPage",components:{Navbar:Y.A,MdEditor:Z.A,Loading:oe.A},data(){return{formData:{title:"",section:"",note:"",content:""},selectedFiles:[],totalFileSize:0,imageUrl:"",imageTag:"",editorTheme:"light",editorPlaceholder:"在此输入您的内容,支持直接把图片粘贴到编辑器中",editorToolbars:["bold","italic","underline","sub","sup","-","title","unorderedList","orderedList","-","quote","link","image","table","codeRow","code","mermaid",0,"=","save","revoke","next","-","preview","pageFullscreen","fullscreen"],isEditMode:!1,editArticleId:null,isLoading:!1,loadingText:"获取投稿内容中...",showCourseSelector:!1,courseSearch:"",searchLoading:!1,searchError:null,courseResults:[],selectedCourse:null,currentPage:1,totalPages:1,categoryMap:{1:"通识选修类",2:"人文选修类",3:"专业方向类",4:"体育类",5:"学科基础类",6:"暑期国际课",7:"数学与自然科学类",8:"重修专栏",9:"数学与自然科学类(必修)",10:"人文社会科学类(必修)",11:"学科基础类(必修)",12:"专业方向类(必修)",13:"实践类(必修)"}}},created(){document.title="内容投稿 - NEU小站",this.checkLoginStatus().then((()=>{this.checkEditMode()}))},methods:{async checkLoginStatus(){const e=ee.A.get("token");if(!e)return this.$router.push("/login"),Promise.reject(new Error("未登录"));try{const t=await fetch("https://newfront.xn--xhq44jb2fzpc.com/user/islogin",{method:"GET",headers:{Authorization:e}});if(!t.ok)throw new Error("验证失败");const o=await t.json();return o.isLoggedIn?Promise.resolve():(ee.A.remove("token"),this.$router.push("/login"),Promise.reject(new Error("登录已过期")))}catch(t){return console.error("登录验证失败:",t),ee.A.remove("token"),this.$router.push("/login"),Promise.reject(t)}},async checkEditMode(){const e=new URLSearchParams(window.location.search),t=e.get("article");if(t)try{this.isEditMode=!0,this.editArticleId=t,this.isLoading=!0;const e=ee.A.get("token"),o=await fetch(`https://newfront.xn--xhq44jb2fzpc.com/article?id=${t}&edit=true`,{method:"GET",headers:{Authorization:e}});if(!o.ok)throw new Error("获取文章失败");const s=await o.json();this.formData.title=`【edit${t}】${s.title}`,this.formData.section=s.section,this.formData.content=s.content,document.title="编辑投稿内容 - NEU小站"}catch(o){console.error("获取文章信息失败:",o),this.isEditMode=!1,this.editArticleId=null}finally{this.isLoading=!1}},async handleImageUpload(e,t){const o=ee.A.get("token");if(o)try{const s=e.map((async e=>{if(e.size>2097152)throw new Error(`图片 ${e.name} 大小不能超过2MB!`);const t=e.name.split(".").pop().toLowerCase(),s=e.type,a=await fetch("https://userlogin.xn--xhq44jb2fzpc.com/submission/prepare-image-upload",{method:"POST",headers:{Authorization:o,"Content-Type":"application/json"},body:JSON.stringify({postfix:t,type:s})});if(!a.ok)throw new Error("准备上传失败");const{uploadUrl:r,path:i}=await a.json(),n=await fetch(r,{method:"PUT",body:e,headers:{"Content-Type":s,Authorization:o}});if(!n.ok)throw new Error(`文件 ${e.name} 上传失败`);const l=`https://download.xn--xhq44jb2fzpc.com/${i}`;return l})),a=await Promise.all(s);t(a),a.length>0&&setTimeout((()=>{te.A.alert("您已成功上传图片。如需修改图片大小,请在编辑器中找到刚插入的图片标签,修改其width属性。","图片大小调整提示")}),800)}catch(s){console.error("图片上传失败:",s),te.A.alert("图片上传失败:"+s.message,"错误")}else te.A.alert("请先登录!","提示")},validateFiles(e){const t=10,o=524288e3,s=e.target.files;if(s.length>t)return te.A.alert(`您只能选择最多 ${t} 个文件。`,"提示"),e.target.value="",this.selectedFiles=[],void(this.totalFileSize=0);let a=0;const r=[];for(let i=0;io)return te.A.alert("所有文件的总大小不能超过 500MB。","提示"),e.target.value="",this.selectedFiles=[],void(this.totalFileSize=0);r.push(t)}this.selectedFiles=r,this.totalFileSize=a},formatFileSize(e){if(0===e)return"0 Bytes";const t=1024,o=["Bytes","KB","MB","GB"],s=Math.floor(Math.log(e)/Math.log(t));return parseFloat((e/Math.pow(t,s)).toFixed(2))+" "+o[s]},async uploadImage(e){const t=e.target.files[0];if(t){if(t.size>2097152)return te.A.alert("图片文件大小不能超过2MB!","提示"),void(e.target.value="");if(!t.type.startsWith("image/"))return te.A.alert("请选择图片文件!","提示"),void(e.target.value="");try{const e=ee.A.get("token");if(!e)return void te.A.alert("请先登录!","提示");const o=t.name.split(".").pop().toLowerCase(),s=t.type,a=await fetch("https://userlogin.xn--xhq44jb2fzpc.com/submission/prepare-image-upload",{method:"POST",headers:{Authorization:e,"Content-Type":"application/json"},body:JSON.stringify({postfix:o,type:s})});if(!a.ok)throw new Error("准备上传失败");const{uploadUrl:r,path:i}=await a.json(),n=await fetch(r,{method:"PUT",body:t,headers:{"Content-Type":s,Authorization:e}});if(!n.ok){const e=await n.text();if(e.includes("`;this.imageUrl=l,this.imageTag=c}catch(o){console.error("上传失败:",o),te.A.alert("图片上传失败:"+o.message,"错误"),e.target.value=""}}else te.A.alert("请先选择图片文件!","提示")},copyImageUrl(){const e=document.createElement("textarea");e.value=this.imageTag,document.body.appendChild(e),e.select();try{const e=document.execCommand("copy"),t=e?"标签已复制到剪贴板!请直接粘贴到编辑区中,并根据预览效果调整大小。":"复制失败!";te.A.alert(t,"提示")}catch(t){te.A.alert(`复制失败!${t}`,"错误")}document.body.removeChild(e)},async previewDraft(){const{content:e}=this.formData;if(e.trim())try{const e=await te.A.confirm("此操作会自动保存草稿。确认继续吗?如您之前有草稿记录,此操作会覆盖之前的草稿内容。","确认");if(!e)return;this.saveDraft(!0).then((()=>{window.open("/preview","_blank")})).catch((e=>{console.error("无法预览草稿:",e)}))}catch(t){console.error("预览草稿操作被取消:",t)}else te.A.alert("内容不能为空!","提示")},async saveDraftWithConfirm(){const{content:e}=this.formData;if(e.trim())try{const e=await te.A.confirm("确认保存草稿内容吗?如您之前有草稿记录,此操作会覆盖之前的草稿内容。","确认");e&&this.saveDraft(!0)}catch(t){console.error("保存草稿操作被取消:",t)}else te.A.alert("内容不能为空!","提示")},async saveDraft(e=!1){const t=ee.A.get("token");if(!t)return te.A.alert("非法操作!请先登录。","警告"),Promise.reject(new Error("未登录"));const o=this.formData.content;if(o.trim())try{let s=!0;if(e||(s=await te.A.confirm("确认保存草稿内容吗?如您之前有草稿记录,此操作会覆盖之前的草稿内容。","确认")),!s)return;const a=await fetch("https://userlogin.xn--xhq44jb2fzpc.com/submission/save-draft",{method:"POST",headers:{Authorization:t,"Content-Type":"application/json"},body:JSON.stringify({content:o})});if(!a.ok){const e=await a.json();throw new Error(e.message||"保存草稿失败")}return e||te.A.alert("草稿已保存!","成功"),Promise.resolve()}catch(s){return console.error("保存草稿时出错:",s),e||te.A.alert("保存草稿失败,请稍后再试。","错误"),Promise.reject(s)}else te.A.alert("内容不能为空!","提示")},async loadDraft(){const e=ee.A.get("token");if(e)try{const o=await fetch("https://userlogin.xn--xhq44jb2fzpc.com/submission/load-draft",{method:"GET",headers:{Authorization:e}});if(!o.ok){if(404!==o.status){const e=await o.json();throw new Error(e.message||"无法加载草稿内容")}return void te.A.alert("没有草稿记录!","提示")}const s=await o.json();try{const e=await te.A.confirm("此操作会覆盖您当前的输入内容,确认加载草稿吗?","确认");if(!e)return;this.formData.content=s.content,te.A.alert("草稿已加载!","成功")}catch(t){console.log("用户取消了加载草稿操作")}}catch(t){console.error("加载草稿时出错:",t),te.A.alert("加载草稿失败,请稍后再试。","错误")}else te.A.alert("非法操作!请先登录。","警告")},async submitForm(){const{title:e,section:t,note:o,content:s}=this.formData,a=ee.A.get("token"),r=this.selectedFiles;if(e&&t)try{let l="确认提交投稿内容吗?";this.isEditMode&&(l="确认提交修改?修改后的内容将重新进入审核流程。");const c=await te.A.confirm(l,"提交确认");if(!c)return;const d=[];for(let e=0;e0?1:0,files:d};this.isEditMode&&this.editArticleId&&(h.article_id=this.editArticleId);const p=await fetch(u,{method:"POST",headers:{Authorization:a,"Content-Type":"application/json"},body:JSON.stringify(h)});if(!p.ok){const e=await p.json();throw new Error(e.message||"投稿失败,请重试!")}const m=await p.json(),f=m.submissionId;if(m.fileUploadData&&m.fileUploadData.length>0){this.loadingText="文件正在上传中,请耐心等待...",this.isLoading=!0;try{for(let e=0;ethis.totalPages||this.searchCourses(e)},confirmCourseSelection(){if(!this.selectedCourse)return void te.A.alert("请先选择一个课程","提示");const e=this.$refs.markdownEditor,t=`\n`;e.insert((e=>({targetValue:t,select:!1,deviationStart:0,deviationEnd:0}))),this.closeCourseSelector()}},computed:{displayedPages(){const e=5,t=Math.floor(e/2);let o=Math.max(1,this.currentPage-t),s=Math.min(this.totalPages,o+e-1);s-o+1",contains:[e.inherit(e.TITLE_MODE,{begin:/'[a-zA-Z0-9_]+/})]};return{name:"F#",aliases:["fs"],keywords:"abstract and as assert base begin class default delegate do done downcast downto elif else end exception extern false finally for fun function global if in inherit inline interface internal lazy let match member module mutable namespace new null of open or override private public rec return sig static struct then to true try type upcast use val void when while with yield",illegal:/\/\*/,contains:[{className:"keyword",begin:/\b(yield|return|let|do)!/},{className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},{className:"string",begin:'"""',end:'"""'},e.COMMENT("\\(\\*(\\s)","\\*\\)",{contains:["self"]}),{className:"class",beginKeywords:"type",end:"\\(|=|$",excludeEnd:!0,contains:[e.UNDERSCORE_TITLE_MODE,t]},{className:"meta",begin:"\\[<",end:">\\]",relevance:10},{className:"symbol",begin:"\\B('[A-Za-z])\\b",contains:[e.BACKSLASH_ESCAPE]},e.C_LINE_COMMENT_MODE,e.inherit(e.QUOTE_STRING_MODE,{illegal:null}),e.C_NUMBER_MODE]}}e.exports=t},125:function(e){function t(e){const t={className:"number",relevance:0,variants:[{begin:"[$][a-fA-F0-9]+"},e.NUMBER_MODE]};return{name:"Monkey",case_insensitive:!0,keywords:{keyword:"public private property continue exit extern new try catch eachin not abstract final select case default const local global field end if then else elseif endif while wend repeat until forever for to step next return module inline throw import",built_in:"DebugLog DebugStop Error Print ACos ACosr ASin ASinr ATan ATan2 ATan2r ATanr Abs Abs Ceil Clamp Clamp Cos Cosr Exp Floor Log Max Max Min Min Pow Sgn Sgn Sin Sinr Sqrt Tan Tanr Seed PI HALFPI TWOPI",literal:"true false null and or shl shr mod"},illegal:/\/\*/,contains:[e.COMMENT("#rem","#end"),e.COMMENT("'","$",{relevance:0}),{className:"function",beginKeywords:"function method",end:"[(=:]|$",illegal:/\n/,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"class",beginKeywords:"class interface",end:"$",contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{className:"built_in",begin:"\\b(self|super)\\b"},{className:"meta",begin:"\\s*#",end:"$",keywords:{"meta-keyword":"if else elseif endif end then"}},{className:"meta",begin:"^\\s*strict\\b"},{beginKeywords:"alias",end:"=",contains:[e.UNDERSCORE_TITLE_MODE]},e.QUOTE_STRING_MODE,t]}}e.exports=t},179:function(e){function t(e,t,n){this.type=e,this.value=t,this.mode=n}e.exports={ParseNode:t}},221:function(e){function t(e){const t={className:"subst",variants:[{begin:"\\$[A-Za-z0-9_]+"}]},n={className:"subst",variants:[{begin:/\$\{/,end:/\}/}],keywords:"true false null this is new super"},r={className:"string",variants:[{begin:"r'''",end:"'''"},{begin:'r"""',end:'"""'},{begin:"r'",end:"'",illegal:"\\n"},{begin:'r"',end:'"',illegal:"\\n"},{begin:"'''",end:"'''",contains:[e.BACKSLASH_ESCAPE,t,n]},{begin:'"""',end:'"""',contains:[e.BACKSLASH_ESCAPE,t,n]},{begin:"'",end:"'",illegal:"\\n",contains:[e.BACKSLASH_ESCAPE,t,n]},{begin:'"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE,t,n]}]};n.contains=[e.C_NUMBER_MODE,r];const a=["Comparable","DateTime","Duration","Function","Iterable","Iterator","List","Map","Match","Object","Pattern","RegExp","Set","Stopwatch","String","StringBuffer","StringSink","Symbol","Type","Uri","bool","double","int","num","Element","ElementList"],i=a.map((e=>`${e}?`)),s={keyword:"abstract as assert async await break case catch class const continue covariant default deferred do dynamic else enum export extends extension external factory false final finally for Function get hide if implements import in inferface is late library mixin new null on operator part required rethrow return set show static super switch sync this throw true try typedef var void while with yield",built_in:a.concat(i).concat(["Never","Null","dynamic","print","document","querySelector","querySelectorAll","window"]),$pattern:/[A-Za-z][A-Za-z0-9_]*\??/};return{name:"Dart",keywords:s,contains:[r,e.COMMENT(/\/\*\*(?!\/)/,/\*\//,{subLanguage:"markdown",relevance:0}),e.COMMENT(/\/{3,} ?/,/$/,{contains:[{subLanguage:"markdown",begin:".",end:"$",relevance:0}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"class",beginKeywords:"class interface",end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},e.C_NUMBER_MODE,{className:"meta",begin:"@[A-Za-z]+"},{begin:"=>"}]}}e.exports=t},232:function(e){function t(e){return{name:"MEL",keywords:"int float string vector matrix if else switch case default while do for in break continue global proc return about abs addAttr addAttributeEditorNodeHelp addDynamic addNewShelfTab addPP addPanelCategory addPrefixToName advanceToNextDrivenKey affectedNet affects aimConstraint air alias aliasAttr align alignCtx alignCurve alignSurface allViewFit ambientLight angle angleBetween animCone animCurveEditor animDisplay animView annotate appendStringArray applicationName applyAttrPreset applyTake arcLenDimContext arcLengthDimension arclen arrayMapper art3dPaintCtx artAttrCtx artAttrPaintVertexCtx artAttrSkinPaintCtx artAttrTool artBuildPaintMenu artFluidAttrCtx artPuttyCtx artSelectCtx artSetPaintCtx artUserPaintCtx assignCommand assignInputDevice assignViewportFactories attachCurve attachDeviceAttr attachSurface attrColorSliderGrp attrCompatibility attrControlGrp attrEnumOptionMenu attrEnumOptionMenuGrp attrFieldGrp attrFieldSliderGrp attrNavigationControlGrp attrPresetEditWin attributeExists attributeInfo attributeMenu attributeQuery autoKeyframe autoPlace bakeClip bakeFluidShading bakePartialHistory bakeResults bakeSimulation basename basenameEx batchRender bessel bevel bevelPlus binMembership bindSkin blend2 blendShape blendShapeEditor blendShapePanel blendTwoAttr blindDataType boneLattice boundary boxDollyCtx boxZoomCtx bufferCurve buildBookmarkMenu buildKeyframeMenu button buttonManip CBG cacheFile cacheFileCombine cacheFileMerge cacheFileTrack camera cameraView canCreateManip canvas capitalizeString catch catchQuiet ceil changeSubdivComponentDisplayLevel changeSubdivRegion channelBox character characterMap characterOutlineEditor characterize chdir checkBox checkBoxGrp checkDefaultRenderGlobals choice circle circularFillet clamp clear clearCache clip clipEditor clipEditorCurrentTimeCtx clipSchedule clipSchedulerOutliner clipTrimBefore closeCurve closeSurface cluster cmdFileOutput cmdScrollFieldExecuter cmdScrollFieldReporter cmdShell coarsenSubdivSelectionList collision color colorAtPoint colorEditor colorIndex colorIndexSliderGrp colorSliderButtonGrp colorSliderGrp columnLayout commandEcho commandLine commandPort compactHairSystem componentEditor compositingInterop computePolysetVolume condition cone confirmDialog connectAttr connectControl connectDynamic connectJoint connectionInfo constrain constrainValue constructionHistory container containsMultibyte contextInfo control convertFromOldLayers convertIffToPsd convertLightmap convertSolidTx convertTessellation convertUnit copyArray copyFlexor copyKey copySkinWeights cos cpButton cpCache cpClothSet cpCollision cpConstraint cpConvClothToMesh cpForces cpGetSolverAttr cpPanel cpProperty cpRigidCollisionFilter cpSeam cpSetEdit cpSetSolverAttr cpSolver cpSolverTypes cpTool cpUpdateClothUVs createDisplayLayer createDrawCtx createEditor createLayeredPsdFile createMotionField createNewShelf createNode createRenderLayer createSubdivRegion cross crossProduct ctxAbort ctxCompletion ctxEditMode ctxTraverse currentCtx currentTime currentTimeCtx currentUnit curve curveAddPtCtx curveCVCtx curveEPCtx curveEditorCtx curveIntersect curveMoveEPCtx curveOnSurface curveSketchCtx cutKey cycleCheck cylinder dagPose date defaultLightListCheckBox defaultNavigation defineDataServer defineVirtualDevice deformer deg_to_rad delete deleteAttr deleteShadingGroupsAndMaterials deleteShelfTab deleteUI deleteUnusedBrushes delrandstr detachCurve detachDeviceAttr detachSurface deviceEditor devicePanel dgInfo dgdirty dgeval dgtimer dimWhen directKeyCtx directionalLight dirmap dirname disable disconnectAttr disconnectJoint diskCache displacementToPoly displayAffected displayColor displayCull displayLevelOfDetail displayPref displayRGBColor displaySmoothness displayStats displayString displaySurface distanceDimContext distanceDimension doBlur dolly dollyCtx dopeSheetEditor dot dotProduct doubleProfileBirailSurface drag dragAttrContext draggerContext dropoffLocator duplicate duplicateCurve duplicateSurface dynCache dynControl dynExport dynExpression dynGlobals dynPaintEditor dynParticleCtx dynPref dynRelEdPanel dynRelEditor dynamicLoad editAttrLimits editDisplayLayerGlobals editDisplayLayerMembers editRenderLayerAdjustment editRenderLayerGlobals editRenderLayerMembers editor editorTemplate effector emit emitter enableDevice encodeString endString endsWith env equivalent equivalentTol erf error eval evalDeferred evalEcho event exactWorldBoundingBox exclusiveLightCheckBox exec executeForEachObject exists exp expression expressionEditorListen extendCurve extendSurface extrude fcheck fclose feof fflush fgetline fgetword file fileBrowserDialog fileDialog fileExtension fileInfo filetest filletCurve filter filterCurve filterExpand filterStudioImport findAllIntersections findAnimCurves findKeyframe findMenuItem findRelatedSkinCluster finder firstParentOf fitBspline flexor floatEq floatField floatFieldGrp floatScrollBar floatSlider floatSlider2 floatSliderButtonGrp floatSliderGrp floor flow fluidCacheInfo fluidEmitter fluidVoxelInfo flushUndo fmod fontDialog fopen formLayout format fprint frameLayout fread freeFormFillet frewind fromNativePath fwrite gamma gauss geometryConstraint getApplicationVersionAsFloat getAttr getClassification getDefaultBrush getFileList getFluidAttr getInputDeviceRange getMayaPanelTypes getModifiers getPanel getParticleAttr getPluginResource getenv getpid glRender glRenderEditor globalStitch gmatch goal gotoBindPose grabColor gradientControl gradientControlNoAttr graphDollyCtx graphSelectContext graphTrackCtx gravity grid gridLayout group groupObjectsByName HfAddAttractorToAS HfAssignAS HfBuildEqualMap HfBuildFurFiles HfBuildFurImages HfCancelAFR HfConnectASToHF HfCreateAttractor HfDeleteAS HfEditAS HfPerformCreateAS HfRemoveAttractorFromAS HfSelectAttached HfSelectAttractors HfUnAssignAS hardenPointCurve hardware hardwareRenderPanel headsUpDisplay headsUpMessage help helpLine hermite hide hilite hitTest hotBox hotkey hotkeyCheck hsv_to_rgb hudButton hudSlider hudSliderButton hwReflectionMap hwRender hwRenderLoad hyperGraph hyperPanel hyperShade hypot iconTextButton iconTextCheckBox iconTextRadioButton iconTextRadioCollection iconTextScrollList iconTextStaticLabel ikHandle ikHandleCtx ikHandleDisplayScale ikSolver ikSplineHandleCtx ikSystem ikSystemInfo ikfkDisplayMethod illustratorCurves image imfPlugins inheritTransform insertJoint insertJointCtx insertKeyCtx insertKnotCurve insertKnotSurface instance instanceable instancer intField intFieldGrp intScrollBar intSlider intSliderGrp interToUI internalVar intersect iprEngine isAnimCurve isConnected isDirty isParentOf isSameObject isTrue isValidObjectName isValidString isValidUiName isolateSelect itemFilter itemFilterAttr itemFilterRender itemFilterType joint jointCluster jointCtx jointDisplayScale jointLattice keyTangent keyframe keyframeOutliner keyframeRegionCurrentTimeCtx keyframeRegionDirectKeyCtx keyframeRegionDollyCtx keyframeRegionInsertKeyCtx keyframeRegionMoveKeyCtx keyframeRegionScaleKeyCtx keyframeRegionSelectKeyCtx keyframeRegionSetKeyCtx keyframeRegionTrackCtx keyframeStats lassoContext lattice latticeDeformKeyCtx launch launchImageEditor layerButton layeredShaderPort layeredTexturePort layout layoutDialog lightList lightListEditor lightListPanel lightlink lineIntersection linearPrecision linstep listAnimatable listAttr listCameras listConnections listDeviceAttachments listHistory listInputDeviceAxes listInputDeviceButtons listInputDevices listMenuAnnotation listNodeTypes listPanelCategories listRelatives listSets listTransforms listUnselected listerEditor loadFluid loadNewShelf loadPlugin loadPluginLanguageResources loadPrefObjects localizedPanelLabel lockNode loft log longNameOf lookThru ls lsThroughFilter lsType lsUI Mayatomr mag makeIdentity makeLive makePaintable makeRoll makeSingleSurface makeTubeOn makebot manipMoveContext manipMoveLimitsCtx manipOptions manipRotateContext manipRotateLimitsCtx manipScaleContext manipScaleLimitsCtx marker match max memory menu menuBarLayout menuEditor menuItem menuItemToShelf menuSet menuSetPref messageLine min minimizeApp mirrorJoint modelCurrentTimeCtx modelEditor modelPanel mouse movIn movOut move moveIKtoFK moveKeyCtx moveVertexAlongDirection multiProfileBirailSurface mute nParticle nameCommand nameField namespace namespaceInfo newPanelItems newton nodeCast nodeIconButton nodeOutliner nodePreset nodeType noise nonLinear normalConstraint normalize nurbsBoolean nurbsCopyUVSet nurbsCube nurbsEditUV nurbsPlane nurbsSelect nurbsSquare nurbsToPoly nurbsToPolygonsPref nurbsToSubdiv nurbsToSubdivPref nurbsUVSet nurbsViewDirectionVector objExists objectCenter objectLayer objectType objectTypeUI obsoleteProc oceanNurbsPreviewPlane offsetCurve offsetCurveOnSurface offsetSurface openGLExtension openMayaPref optionMenu optionMenuGrp optionVar orbit orbitCtx orientConstraint outlinerEditor outlinerPanel overrideModifier paintEffectsDisplay pairBlend palettePort paneLayout panel panelConfiguration panelHistory paramDimContext paramDimension paramLocator parent parentConstraint particle particleExists particleInstancer particleRenderInfo partition pasteKey pathAnimation pause pclose percent performanceOptions pfxstrokes pickWalk picture pixelMove planarSrf plane play playbackOptions playblast plugAttr plugNode pluginInfo pluginResourceUtil pointConstraint pointCurveConstraint pointLight pointMatrixMult pointOnCurve pointOnSurface pointPosition poleVectorConstraint polyAppend polyAppendFacetCtx polyAppendVertex polyAutoProjection polyAverageNormal polyAverageVertex polyBevel polyBlendColor polyBlindData polyBoolOp polyBridgeEdge polyCacheMonitor polyCheck polyChipOff polyClipboard polyCloseBorder polyCollapseEdge polyCollapseFacet polyColorBlindData polyColorDel polyColorPerVertex polyColorSet polyCompare polyCone polyCopyUV polyCrease polyCreaseCtx polyCreateFacet polyCreateFacetCtx polyCube polyCut polyCutCtx polyCylinder polyCylindricalProjection polyDelEdge polyDelFacet polyDelVertex polyDuplicateAndConnect polyDuplicateEdge polyEditUV polyEditUVShell polyEvaluate polyExtrudeEdge polyExtrudeFacet polyExtrudeVertex polyFlipEdge polyFlipUV polyForceUV polyGeoSampler polyHelix polyInfo polyInstallAction polyLayoutUV polyListComponentConversion polyMapCut polyMapDel polyMapSew polyMapSewMove polyMergeEdge polyMergeEdgeCtx polyMergeFacet polyMergeFacetCtx polyMergeUV polyMergeVertex polyMirrorFace polyMoveEdge polyMoveFacet polyMoveFacetUV polyMoveUV polyMoveVertex polyNormal polyNormalPerVertex polyNormalizeUV polyOptUvs polyOptions polyOutput polyPipe polyPlanarProjection polyPlane polyPlatonicSolid polyPoke polyPrimitive polyPrism polyProjection polyPyramid polyQuad polyQueryBlindData polyReduce polySelect polySelectConstraint polySelectConstraintMonitor polySelectCtx polySelectEditCtx polySeparate polySetToFaceNormal polySewEdge polyShortestPathCtx polySmooth polySoftEdge polySphere polySphericalProjection polySplit polySplitCtx polySplitEdge polySplitRing polySplitVertex polyStraightenUVBorder polySubdivideEdge polySubdivideFacet polyToSubdiv polyTorus polyTransfer polyTriangulate polyUVSet polyUnite polyWedgeFace popen popupMenu pose pow preloadRefEd print progressBar progressWindow projFileViewer projectCurve projectTangent projectionContext projectionManip promptDialog propModCtx propMove psdChannelOutliner psdEditTextureFile psdExport psdTextureFile putenv pwd python querySubdiv quit rad_to_deg radial radioButton radioButtonGrp radioCollection radioMenuItemCollection rampColorPort rand randomizeFollicles randstate rangeControl readTake rebuildCurve rebuildSurface recordAttr recordDevice redo reference referenceEdit referenceQuery refineSubdivSelectionList refresh refreshAE registerPluginResource rehash reloadImage removeJoint removeMultiInstance removePanelCategory rename renameAttr renameSelectionList renameUI render renderGlobalsNode renderInfo renderLayerButton renderLayerParent renderLayerPostProcess renderLayerUnparent renderManip renderPartition renderQualityNode renderSettings renderThumbnailUpdate renderWindowEditor renderWindowSelectContext renderer reorder reorderDeformers requires reroot resampleFluid resetAE resetPfxToPolyCamera resetTool resolutionNode retarget reverseCurve reverseSurface revolve rgb_to_hsv rigidBody rigidSolver roll rollCtx rootOf rot rotate rotationInterpolation roundConstantRadius rowColumnLayout rowLayout runTimeCommand runup sampleImage saveAllShelves saveAttrPreset saveFluid saveImage saveInitialState saveMenu savePrefObjects savePrefs saveShelf saveToolSettings scale scaleBrushBrightness scaleComponents scaleConstraint scaleKey scaleKeyCtx sceneEditor sceneUIReplacement scmh scriptCtx scriptEditorInfo scriptJob scriptNode scriptTable scriptToShelf scriptedPanel scriptedPanelType scrollField scrollLayout sculpt searchPathArray seed selLoadSettings select selectContext selectCurveCV selectKey selectKeyCtx selectKeyframeRegionCtx selectMode selectPref selectPriority selectType selectedNodes selectionConnection separator setAttr setAttrEnumResource setAttrMapping setAttrNiceNameResource setConstraintRestPosition setDefaultShadingGroup setDrivenKeyframe setDynamic setEditCtx setEditor setFluidAttr setFocus setInfinity setInputDeviceMapping setKeyCtx setKeyPath setKeyframe setKeyframeBlendshapeTargetWts setMenuMode setNodeNiceNameResource setNodeTypeFlag setParent setParticleAttr setPfxToPolyCamera setPluginResource setProject setStampDensity setStartupMessage setState setToolTo setUITemplate setXformManip sets shadingConnection shadingGeometryRelCtx shadingLightRelCtx shadingNetworkCompare shadingNode shapeCompare shelfButton shelfLayout shelfTabLayout shellField shortNameOf showHelp showHidden showManipCtx showSelectionInTitle showShadingGroupAttrEditor showWindow sign simplify sin singleProfileBirailSurface size sizeBytes skinCluster skinPercent smoothCurve smoothTangentSurface smoothstep snap2to2 snapKey snapMode snapTogetherCtx snapshot soft softMod softModCtx sort sound soundControl source spaceLocator sphere sphrand spotLight spotLightPreviewPort spreadSheetEditor spring sqrt squareSurface srtContext stackTrace startString startsWith stitchAndExplodeShell stitchSurface stitchSurfacePoints strcmp stringArrayCatenate stringArrayContains stringArrayCount stringArrayInsertAtIndex stringArrayIntersector stringArrayRemove stringArrayRemoveAtIndex stringArrayRemoveDuplicates stringArrayRemoveExact stringArrayToString stringToStringArray strip stripPrefixFromName stroke subdAutoProjection subdCleanTopology subdCollapse subdDuplicateAndConnect subdEditUV subdListComponentConversion subdMapCut subdMapSewMove subdMatchTopology subdMirror subdToBlind subdToPoly subdTransferUVsToCache subdiv subdivCrease subdivDisplaySmoothness substitute substituteAllString substituteGeometry substring surface surfaceSampler surfaceShaderList swatchDisplayPort switchTable symbolButton symbolCheckBox sysFile system tabLayout tan tangentConstraint texLatticeDeformContext texManipContext texMoveContext texMoveUVShellContext texRotateContext texScaleContext texSelectContext texSelectShortestPathCtx texSmudgeUVContext texWinToolCtx text textCurves textField textFieldButtonGrp textFieldGrp textManip textScrollList textToShelf textureDisplacePlane textureHairColor texturePlacementContext textureWindow threadCount threePointArcCtx timeControl timePort timerX toNativePath toggle toggleAxis toggleWindowVisibility tokenize tokenizeList tolerance tolower toolButton toolCollection toolDropped toolHasOptions toolPropertyWindow torus toupper trace track trackCtx transferAttributes transformCompare transformLimits translator trim trunc truncateFluidCache truncateHairCache tumble tumbleCtx turbulence twoPointArcCtx uiRes uiTemplate unassignInputDevice undo undoInfo ungroup uniform unit unloadPlugin untangleUV untitledFileName untrim upAxis updateAE userCtx uvLink uvSnapshot validateShelfName vectorize view2dToolCtx viewCamera viewClipPlane viewFit viewHeadOn viewLookAt viewManip viewPlace viewSet visor volumeAxis vortex waitCursor warning webBrowser webBrowserPrefs whatIs window windowPref wire wireContext workspace wrinkle wrinkleContext writeTake xbmLangPathList xform",illegal:"",contains:[e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE]},{begin:/[$%@](\^\w\b|#\w+|[^\s\w{]|\{\w+\}|\w+)/},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]}}e.exports=t},295:function(e){function t(e){return{name:"Oracle Rules Language",keywords:{keyword:"BILL_PERIOD BILL_START BILL_STOP RS_EFFECTIVE_START RS_EFFECTIVE_STOP RS_JURIS_CODE RS_OPCO_CODE INTDADDATTRIBUTE|5 INTDADDVMSG|5 INTDBLOCKOP|5 INTDBLOCKOPNA|5 INTDCLOSE|5 INTDCOUNT|5 INTDCOUNTSTATUSCODE|5 INTDCREATEMASK|5 INTDCREATEDAYMASK|5 INTDCREATEFACTORMASK|5 INTDCREATEHANDLE|5 INTDCREATEOVERRIDEDAYMASK|5 INTDCREATEOVERRIDEMASK|5 INTDCREATESTATUSCODEMASK|5 INTDCREATETOUPERIOD|5 INTDDELETE|5 INTDDIPTEST|5 INTDEXPORT|5 INTDGETERRORCODE|5 INTDGETERRORMESSAGE|5 INTDISEQUAL|5 INTDJOIN|5 INTDLOAD|5 INTDLOADACTUALCUT|5 INTDLOADDATES|5 INTDLOADHIST|5 INTDLOADLIST|5 INTDLOADLISTDATES|5 INTDLOADLISTENERGY|5 INTDLOADLISTHIST|5 INTDLOADRELATEDCHANNEL|5 INTDLOADSP|5 INTDLOADSTAGING|5 INTDLOADUOM|5 INTDLOADUOMDATES|5 INTDLOADUOMHIST|5 INTDLOADVERSION|5 INTDOPEN|5 INTDREADFIRST|5 INTDREADNEXT|5 INTDRECCOUNT|5 INTDRELEASE|5 INTDREPLACE|5 INTDROLLAVG|5 INTDROLLPEAK|5 INTDSCALAROP|5 INTDSCALE|5 INTDSETATTRIBUTE|5 INTDSETDSTPARTICIPANT|5 INTDSETSTRING|5 INTDSETVALUE|5 INTDSETVALUESTATUS|5 INTDSHIFTSTARTTIME|5 INTDSMOOTH|5 INTDSORT|5 INTDSPIKETEST|5 INTDSUBSET|5 INTDTOU|5 INTDTOURELEASE|5 INTDTOUVALUE|5 INTDUPDATESTATS|5 INTDVALUE|5 STDEV INTDDELETEEX|5 INTDLOADEXACTUAL|5 INTDLOADEXCUT|5 INTDLOADEXDATES|5 INTDLOADEX|5 INTDLOADEXRELATEDCHANNEL|5 INTDSAVEEX|5 MVLOAD|5 MVLOADACCT|5 MVLOADACCTDATES|5 MVLOADACCTHIST|5 MVLOADDATES|5 MVLOADHIST|5 MVLOADLIST|5 MVLOADLISTDATES|5 MVLOADLISTHIST|5 IF FOR NEXT DONE SELECT END CALL ABORT CLEAR CHANNEL FACTOR LIST NUMBER OVERRIDE SET WEEK DISTRIBUTIONNODE ELSE WHEN THEN OTHERWISE IENUM CSV INCLUDE LEAVE RIDER SAVE DELETE NOVALUE SECTION WARN SAVE_UPDATE DETERMINANT LABEL REPORT REVENUE EACH IN FROM TOTAL CHARGE BLOCK AND OR CSV_FILE RATE_CODE AUXILIARY_DEMAND UIDACCOUNT RS BILL_PERIOD_SELECT HOURS_PER_MONTH INTD_ERROR_STOP SEASON_SCHEDULE_NAME ACCOUNTFACTOR ARRAYUPPERBOUND CALLSTOREDPROC GETADOCONNECTION GETCONNECT GETDATASOURCE GETQUALIFIER GETUSERID HASVALUE LISTCOUNT LISTOP LISTUPDATE LISTVALUE PRORATEFACTOR RSPRORATE SETBINPATH SETDBMONITOR WQ_OPEN BILLINGHOURS DATE DATEFROMFLOAT DATETIMEFROMSTRING DATETIMETOSTRING DATETOFLOAT DAY DAYDIFF DAYNAME DBDATETIME HOUR MINUTE MONTH MONTHDIFF MONTHHOURS MONTHNAME ROUNDDATE SAMEWEEKDAYLASTYEAR SECOND WEEKDAY WEEKDIFF YEAR YEARDAY YEARSTR COMPSUM HISTCOUNT HISTMAX HISTMIN HISTMINNZ HISTVALUE MAXNRANGE MAXRANGE MINRANGE COMPIKVA COMPKVA COMPKVARFROMKQKW COMPLF IDATTR FLAG LF2KW LF2KWH MAXKW POWERFACTOR READING2USAGE AVGSEASON MAXSEASON MONTHLYMERGE SEASONVALUE SUMSEASON ACCTREADDATES ACCTTABLELOAD CONFIGADD CONFIGGET CREATEOBJECT CREATEREPORT EMAILCLIENT EXPBLKMDMUSAGE EXPMDMUSAGE EXPORT_USAGE FACTORINEFFECT GETUSERSPECIFIEDSTOP INEFFECT ISHOLIDAY RUNRATE SAVE_PROFILE SETREPORTTITLE USEREXIT WATFORRUNRATE TO TABLE ACOS ASIN ATAN ATAN2 BITAND CEIL COS COSECANT COSH COTANGENT DIVQUOT DIVREM EXP FABS FLOOR FMOD FREPM FREXPN LOG LOG10 MAX MAXN MIN MINNZ MODF POW ROUND ROUND2VALUE ROUNDINT SECANT SIN SINH SQROOT TAN TANH FLOAT2STRING FLOAT2STRINGNC INSTR LEFT LEN LTRIM MID RIGHT RTRIM STRING STRINGNC TOLOWER TOUPPER TRIM NUMDAYS READ_DATE STAGING",built_in:"IDENTIFIER OPTIONS XML_ELEMENT XML_OP XML_ELEMENT_OF DOMDOCCREATE DOMDOCLOADFILE DOMDOCLOADXML DOMDOCSAVEFILE DOMDOCGETROOT DOMDOCADDPI DOMNODEGETNAME DOMNODEGETTYPE DOMNODEGETVALUE DOMNODEGETCHILDCT DOMNODEGETFIRSTCHILD DOMNODEGETSIBLING DOMNODECREATECHILDELEMENT DOMNODESETATTRIBUTE DOMNODEGETCHILDELEMENTCT DOMNODEGETFIRSTCHILDELEMENT DOMNODEGETSIBLINGELEMENT DOMNODEGETATTRIBUTECT DOMNODEGETATTRIBUTEI DOMNODEGETATTRIBUTEBYNAME DOMNODEGETBYNAME"},contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,{className:"literal",variants:[{begin:"#\\s+",relevance:0},{begin:"#[a-zA-Z .]+"}]}]}}e.exports=t},358:function(e){function t(e){const t={className:"variable",variants:[{begin:/\$\d+/},{begin:/\$\{/,end:/\}/},{begin:/[$@]/+e.UNDERSCORE_IDENT_RE}]},n={endsWithParent:!0,keywords:{$pattern:"[a-z/_]+",literal:"on off yes no true false none blocked debug info notice warn error crit select break last permanent redirect kqueue rtsig epoll poll /dev/poll"},relevance:0,illegal:"=>",contains:[e.HASH_COMMENT_MODE,{className:"string",contains:[e.BACKSLASH_ESCAPE,t],variants:[{begin:/"/,end:/"/},{begin:/'/,end:/'/}]},{begin:"([a-z]+):/",end:"\\s",endsWithParent:!0,excludeEnd:!0,contains:[t]},{className:"regexp",contains:[e.BACKSLASH_ESCAPE,t],variants:[{begin:"\\s\\^",end:"\\s|\\{|;",returnEnd:!0},{begin:"~\\*?\\s+",end:"\\s|\\{|;",returnEnd:!0},{begin:"\\*(\\.[a-z\\-]+)+"},{begin:"([a-z\\-]+\\.)+\\*"}]},{className:"number",begin:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{className:"number",begin:"\\b\\d+[kKmMgGdshdwy]*\\b",relevance:0},t]};return{name:"Nginx config",aliases:["nginxconf"],contains:[e.HASH_COMMENT_MODE,{begin:e.UNDERSCORE_IDENT_RE+"\\s+\\{",returnBegin:!0,end:/\{/,contains:[{className:"section",begin:e.UNDERSCORE_IDENT_RE}],relevance:0},{begin:e.UNDERSCORE_IDENT_RE+"\\s",end:";|\\{",returnBegin:!0,contains:[{className:"attribute",begin:e.UNDERSCORE_IDENT_RE,starts:n}],relevance:0}],illegal:"[^\\s\\}]"}}e.exports=t},360:function(e,t,n){function r(e){return e?"string"===typeof e?e:e.source:null}function a(e){return i("(?=",e,")")}function i(...e){const t=e.map((e=>r(e))).join("");return t}function s(e){const t="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",n={keyword:"and then defined module in return redo if BEGIN retry end for self when next until do begin unless END rescue else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor __FILE__",built_in:"proc lambda",literal:"true false nil"},r={className:"doctag",begin:"@[A-Za-z]+"},s={begin:"#<",end:">"},o=[e.COMMENT("#","$",{contains:[r]}),e.COMMENT("^=begin","^=end",{contains:[r],relevance:10}),e.COMMENT("^__END__","\\n$")],l={className:"subst",begin:/#\{/,end:/\}/,keywords:n},c={className:"string",contains:[e.BACKSLASH_ESCAPE,l],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?,end:/>/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:/<<[-~]?'?(\w+)\n(?:[^\n]*\n)*?\s*\1\b/,returnBegin:!0,contains:[{begin:/<<[-~]?'?/},e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[e.BACKSLASH_ESCAPE,l]})]}]},_="[1-9](_?[0-9])*|0",d="[0-9](_?[0-9])*",u={className:"number",relevance:0,variants:[{begin:`\\b(${_})(\\.(${d}))?([eE][+-]?(${d})|r)?i?\\b`},{begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{begin:"\\b0(_?[0-7])+r?i?\\b"}]},p={className:"params",begin:"\\(",end:"\\)",endsParent:!0,keywords:n},m=[c,{className:"class",beginKeywords:"class module",end:"$|;",illegal:/=/,contains:[e.inherit(e.TITLE_MODE,{begin:"[A-Za-z_]\\w*(::\\w+)*(\\?|!)?"}),{begin:"<\\s*",contains:[{begin:"("+e.IDENT_RE+"::)?"+e.IDENT_RE,relevance:0}]}].concat(o)},{className:"function",begin:i(/def\s+/,a(t+"\\s*(\\(|;|$)")),relevance:0,keywords:"def",end:"$|;",contains:[e.inherit(e.TITLE_MODE,{begin:t}),p].concat(o)},{begin:e.IDENT_RE+"::"},{className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[c,{begin:t}],relevance:0},u,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|/,end:/\|/,relevance:0,keywords:n},{begin:"("+e.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[e.BACKSLASH_ESCAPE,l],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(s,o),relevance:0}].concat(s,o);l.contains=m,p.contains=m;const g="[>?]>",E="[\\w#]+\\(\\w+\\):\\d+:\\d+>",S="(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>",b=[{begin:/^\s*=>/,starts:{end:"$",contains:m}},{className:"meta",begin:"^("+g+"|"+E+"|"+S+")(?=[ ])",starts:{end:"$",contains:m}}];return o.unshift(s),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:n,illegal:/\/\*/,contains:[e.SHEBANG({binary:"ruby"})].concat(b).concat(o).concat(m)}}n(4600),n(7670),e.exports=s},407:function(e){function t(e){var t="[A-Za-z_\\u00A1-\\uFFFF][A-Za-z_0-9\\u00A1-\\uFFFF]*",n=["baremodule","begin","break","catch","ccall","const","continue","do","else","elseif","end","export","false","finally","for","function","global","if","import","in","isa","let","local","macro","module","quote","return","true","try","using","where","while"],r=["ARGS","C_NULL","DEPOT_PATH","ENDIAN_BOM","ENV","Inf","Inf16","Inf32","Inf64","InsertionSort","LOAD_PATH","MergeSort","NaN","NaN16","NaN32","NaN64","PROGRAM_FILE","QuickSort","RoundDown","RoundFromZero","RoundNearest","RoundNearestTiesAway","RoundNearestTiesUp","RoundToZero","RoundUp","VERSION|0","devnull","false","im","missing","nothing","pi","stderr","stdin","stdout","true","undef","π","ℯ"],a=["AbstractArray","AbstractChannel","AbstractChar","AbstractDict","AbstractDisplay","AbstractFloat","AbstractIrrational","AbstractMatrix","AbstractRange","AbstractSet","AbstractString","AbstractUnitRange","AbstractVecOrMat","AbstractVector","Any","ArgumentError","Array","AssertionError","BigFloat","BigInt","BitArray","BitMatrix","BitSet","BitVector","Bool","BoundsError","CapturedException","CartesianIndex","CartesianIndices","Cchar","Cdouble","Cfloat","Channel","Char","Cint","Cintmax_t","Clong","Clonglong","Cmd","Colon","Complex","ComplexF16","ComplexF32","ComplexF64","CompositeException","Condition","Cptrdiff_t","Cshort","Csize_t","Cssize_t","Cstring","Cuchar","Cuint","Cuintmax_t","Culong","Culonglong","Cushort","Cvoid","Cwchar_t","Cwstring","DataType","DenseArray","DenseMatrix","DenseVecOrMat","DenseVector","Dict","DimensionMismatch","Dims","DivideError","DomainError","EOFError","Enum","ErrorException","Exception","ExponentialBackOff","Expr","Float16","Float32","Float64","Function","GlobalRef","HTML","IO","IOBuffer","IOContext","IOStream","IdDict","IndexCartesian","IndexLinear","IndexStyle","InexactError","InitError","Int","Int128","Int16","Int32","Int64","Int8","Integer","InterruptException","InvalidStateException","Irrational","KeyError","LinRange","LineNumberNode","LinearIndices","LoadError","MIME","Matrix","Method","MethodError","Missing","MissingException","Module","NTuple","NamedTuple","Nothing","Number","OrdinalRange","OutOfMemoryError","OverflowError","Pair","PartialQuickSort","PermutedDimsArray","Pipe","ProcessFailedException","Ptr","QuoteNode","Rational","RawFD","ReadOnlyMemoryError","Real","ReentrantLock","Ref","Regex","RegexMatch","RoundingMode","SegmentationFault","Set","Signed","Some","StackOverflowError","StepRange","StepRangeLen","StridedArray","StridedMatrix","StridedVecOrMat","StridedVector","String","StringIndexError","SubArray","SubString","SubstitutionString","Symbol","SystemError","Task","TaskFailedException","Text","TextDisplay","Timer","Tuple","Type","TypeError","TypeVar","UInt","UInt128","UInt16","UInt32","UInt64","UInt8","UndefInitializer","UndefKeywordError","UndefRefError","UndefVarError","Union","UnionAll","UnitRange","Unsigned","Val","Vararg","VecElement","VecOrMat","Vector","VersionNumber","WeakKeyDict","WeakRef"],i={$pattern:t,keyword:n,literal:r,built_in:a},s={keywords:i,illegal:/<\//},o={className:"number",begin:/(\b0x[\d_]*(\.[\d_]*)?|0x\.\d[\d_]*)p[-+]?\d+|\b0[box][a-fA-F0-9][a-fA-F0-9_]*|(\b\d[\d_]*(\.[\d_]*)?|\.\d[\d_]*)([eEfF][-+]?\d+)?/,relevance:0},l={className:"string",begin:/'(.|\\[xXuU][a-zA-Z0-9]+)'/},c={className:"subst",begin:/\$\(/,end:/\)/,keywords:i},_={className:"variable",begin:"\\$"+t},d={className:"string",contains:[e.BACKSLASH_ESCAPE,c,_],variants:[{begin:/\w*"""/,end:/"""\w*/,relevance:10},{begin:/\w*"/,end:/"\w*/}]},u={className:"string",contains:[e.BACKSLASH_ESCAPE,c,_],begin:"`",end:"`"},p={className:"meta",begin:"@"+t},m={className:"comment",variants:[{begin:"#=",end:"=#",relevance:10},{begin:"#",end:"$"}]};return s.name="Julia",s.contains=[o,l,d,u,p,m,e.HASH_COMMENT_MODE,{className:"keyword",begin:"\\b(((abstract|primitive)\\s+)type|(mutable\\s+)?struct)\\b"},{begin:/<:/}],c.contains=s.contains,s}e.exports=t},465:function(e,t,n){function r(e){return e?"string"===typeof e?e:e.source:null}function a(e){return i("(?=",e,")")}function i(...e){const t=e.map((e=>r(e))).join("");return t}function s(...e){const t="("+e.map((e=>r(e))).join("|")+")";return t}n(4945),n(4600),n(4201),n(7670);const o=e=>i(/\b/,e,/\w$/.test(e)?/\b/:/\B/),l=["Protocol","Type"].map(o),c=["init","self"].map(o),_=["Any","Self"],d=["associatedtype","async","await",/as\?/,/as!/,"as","break","case","catch","class","continue","convenience","default","defer","deinit","didSet","do","dynamic","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","lazy","let","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],u=["false","nil","true"],p=["assignment","associativity","higherThan","left","lowerThan","none","right"],m=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warn_unqualified_access","#warning"],g=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],E=s(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),S=s(E,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),b=i(E,S,"*"),f=s(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),h=s(f,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),T=i(f,h,"*"),C=i(/[A-Z]/,h,"*"),y=["autoclosure",i(/convention\(/,s("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",i(/objc\(/,T,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","testable","UIApplicationMain","unknown","usableFromInline"],N=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];function v(e){const t={match:/\s+/,relevance:0},n=e.COMMENT("/\\*","\\*/",{contains:["self"]}),r=[e.C_LINE_COMMENT_MODE,n],E={className:"keyword",begin:i(/\./,a(s(...l,...c))),end:s(...l,...c),excludeBegin:!0},f={match:i(/\./,s(...d)),relevance:0},v=d.filter((e=>"string"===typeof e)).concat(["_|0"]),R=d.filter((e=>"string"!==typeof e)).concat(_).map(o),O={variants:[{className:"keyword",match:s(...R,...c)}]},A={$pattern:s(/\b\w+/,/#\w+/),keyword:v.concat(m),literal:u},I=[E,f,O],D={match:i(/\./,s(...g)),relevance:0},x={className:"built_in",match:i(/\b/,s(...g),/(?=\()/)},w=[D,x],M={match:/->/,relevance:0},L={className:"operator",relevance:0,variants:[{match:b},{match:`\\.(\\.|${S})+`}]},k=[M,L],P="([0-9]_*)+",F="([0-9a-fA-F]_*)+",U={className:"number",relevance:0,variants:[{match:`\\b(${P})(\\.(${P}))?([eE][+-]?(${P}))?\\b`},{match:`\\b0x(${F})(\\.(${F}))?([pP][+-]?(${P}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},B=(e="")=>({className:"subst",variants:[{match:i(/\\/,e,/[0\\tnr"']/)},{match:i(/\\/,e,/u\{[0-9a-fA-F]{1,8}\}/)}]}),G=(e="")=>({className:"subst",match:i(/\\/,e,/[\t ]*(?:[\r\n]|\r\n)/)}),Y=(e="")=>({className:"subst",label:"interpol",begin:i(/\\/,e,/\(/),end:/\)/}),z=(e="")=>({begin:i(e,/"""/),end:i(/"""/,e),contains:[B(e),G(e),Y(e)]}),q=(e="")=>({begin:i(e,/"/),end:i(/"/,e),contains:[B(e),Y(e)]}),H={className:"string",variants:[z(),z("#"),z("##"),z("###"),q(),q("#"),q("##"),q("###")]},V={match:i(/`/,T,/`/)},$={className:"variable",match:/\$\d+/},W={className:"variable",match:`\\$${h}+`},Q=[V,$,W],j={match:/(@|#)available/,className:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:N,contains:[...k,U,H]}]}},K={className:"keyword",match:i(/@/,s(...y))},X={className:"meta",match:i(/@/,T)},Z=[j,K,X],J={match:a(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:i(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,h,"+")},{className:"type",match:C,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:i(/\s+&\s+/,a(C)),relevance:0}]},ee={begin:/,end:/>/,keywords:A,contains:[...r,...I,...Z,M,J]};J.contains.push(ee);const te={match:i(T,/\s*:/),keywords:"_|0",relevance:0},ne={begin:/\(/,end:/\)/,relevance:0,keywords:A,contains:["self",te,...r,...I,...w,...k,U,H,...Q,...Z,J]},re={beginKeywords:"func",contains:[{className:"title",match:s(V.match,T,b),endsParent:!0,relevance:0},t]},ae={begin:/,end:/>/,contains:[...r,J]},ie={begin:s(a(i(T,/\s*:/)),a(i(T,/\s+/,T,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:T}]},se={begin:/\(/,end:/\)/,keywords:A,contains:[ie,...r,...I,...k,U,H,...Z,J,ne],endsParent:!0,illegal:/["']/},oe={className:"function",match:a(/\bfunc\b/),contains:[re,ae,se,t],illegal:[/\[/,/%/]},le={className:"function",match:/\b(subscript|init[?!]?)\s*(?=[<(])/,keywords:{keyword:"subscript init init? init!",$pattern:/\w+[?!]?/},contains:[ae,se,t],illegal:/\[|%/},ce={beginKeywords:"operator",end:e.MATCH_NOTHING_RE,contains:[{className:"title",match:b,endsParent:!0,relevance:0}]},_e={beginKeywords:"precedencegroup",end:e.MATCH_NOTHING_RE,contains:[{className:"title",match:C,relevance:0},{begin:/{/,end:/}/,relevance:0,endsParent:!0,keywords:[...p,...u],contains:[J]}]};for(const a of H.variants){const e=a.contains.find((e=>"interpol"===e.label));e.keywords=A;const t=[...I,...w,...k,U,H,...Q];e.contains=[...t,{begin:/\(/,end:/\)/,contains:["self",...t]}]}return{name:"Swift",keywords:A,contains:[...r,oe,le,{className:"class",beginKeywords:"struct protocol class extension enum",end:"\\{",excludeEnd:!0,keywords:A,contains:[e.inherit(e.TITLE_MODE,{begin:/[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/}),...I]},ce,_e,{beginKeywords:"import",end:/$/,contains:[...r],relevance:0},...I,...w,...k,U,H,...Q,...Z,J,ne]}}e.exports=v},492:function(e){function t(e){const t="[a-zA-Z_][\\w.]*",n="<\\?(lasso(script)?|=)",r="\\]|\\?>",a={$pattern:t+"|&[lg]t;",literal:"true false none minimal full all void and or not bw nbw ew new cn ncn lt lte gt gte eq neq rx nrx ft",built_in:"array date decimal duration integer map pair string tag xml null boolean bytes keyword list locale queue set stack staticarray local var variable global data self inherited currentcapture givenblock",keyword:"cache database_names database_schemanames database_tablenames define_tag define_type email_batch encode_set html_comment handle handle_error header if inline iterate ljax_target link link_currentaction link_currentgroup link_currentrecord link_detail link_firstgroup link_firstrecord link_lastgroup link_lastrecord link_nextgroup link_nextrecord link_prevgroup link_prevrecord log loop namespace_using output_none portal private protect records referer referrer repeating resultset rows search_args search_arguments select sort_args sort_arguments thread_atomic value_list while abort case else fail_if fail_ifnot fail if_empty if_false if_null if_true loop_abort loop_continue loop_count params params_up return return_value run_children soap_definetag soap_lastrequest soap_lastresponse tag_name ascending average by define descending do equals frozen group handle_failure import in into join let match max min on order parent protected provide public require returnhome skip split_thread sum take thread to trait type where with yield yieldhome"},i=e.COMMENT("\x3c!--","--\x3e",{relevance:0}),s={className:"meta",begin:"\\[noprocess\\]",starts:{end:"\\[/noprocess\\]",returnEnd:!0,contains:[i]}},o={className:"meta",begin:"\\[/noprocess|"+n},l={className:"symbol",begin:"'"+t+"'"},c=[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.inherit(e.C_NUMBER_MODE,{begin:e.C_NUMBER_RE+"|(-?infinity|NaN)\\b"}),e.inherit(e.APOS_STRING_MODE,{illegal:null}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null}),{className:"string",begin:"`",end:"`"},{variants:[{begin:"[#$]"+t},{begin:"#",end:"\\d+",illegal:"\\W"}]},{className:"type",begin:"::\\s*",end:t,illegal:"\\W"},{className:"params",variants:[{begin:"-(?!infinity)"+t,relevance:0},{begin:"(\\.\\.\\.)"}]},{begin:/(->|\.)\s*/,relevance:0,contains:[l]},{className:"class",beginKeywords:"define",returnEnd:!0,end:"\\(|=>",contains:[e.inherit(e.TITLE_MODE,{begin:t+"(=(?!>))?|[-+*/%](?!>)"})]}];return{name:"Lasso",aliases:["ls","lassoscript"],case_insensitive:!0,keywords:a,contains:[{className:"meta",begin:r,relevance:0,starts:{end:"\\[|"+n,returnEnd:!0,relevance:0,contains:[i]}},s,o,{className:"meta",begin:"\\[no_square_brackets",starts:{end:"\\[/no_square_brackets\\]",keywords:a,contains:[{className:"meta",begin:r,relevance:0,starts:{end:"\\[noprocess\\]|"+n,returnEnd:!0,contains:[i]}},s,o].concat(c)}},{className:"meta",begin:"\\[",relevance:0},{className:"meta",begin:"^#!",end:"lasso9$",relevance:10}].concat(c)}}e.exports=t},494:function(e){function t(e){return{name:"OCaml",aliases:["ml"],keywords:{$pattern:"[a-z_]\\w*!?",keyword:"and as assert asr begin class constraint do done downto else end exception external for fun function functor if in include inherit! inherit initializer land lazy let lor lsl lsr lxor match method!|10 method mod module mutable new object of open! open or private rec sig struct then to try type val! val virtual when while with parser value",built_in:"array bool bytes char exn|5 float int int32 int64 list lazy_t|5 nativeint|5 string unit in_channel out_channel ref",literal:"true false"},illegal:/\/\/|>>/,contains:[{className:"literal",begin:"\\[(\\|\\|)?\\]|\\(\\)",relevance:0},e.COMMENT("\\(\\*","\\*\\)",{contains:["self"]}),{className:"symbol",begin:"'[A-Za-z_](?!')[\\w']*"},{className:"type",begin:"`[A-Z][\\w']*"},{className:"type",begin:"\\b[A-Z][\\w']*",relevance:0},{begin:"[a-z_]\\w*'[\\w']*",relevance:0},e.inherit(e.APOS_STRING_MODE,{className:"string",relevance:0}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null}),{className:"number",begin:"\\b(0[xX][a-fA-F0-9_]+[Lln]?|0[oO][0-7_]+[Lln]?|0[bB][01_]+[Lln]?|[0-9][0-9_]*([Lln]|(\\.[0-9_]*)?([eE][-+]?[0-9_]+)?)?)",relevance:0},{begin:/->/}]}}e.exports=t},561:function(e){function t(e){const t={variants:[e.COMMENT("^[ \\t]*(?=#)","$",{relevance:0,excludeBegin:!0}),e.COMMENT("[;@]","$",{relevance:0}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]};return{name:"ARM Assembly",case_insensitive:!0,aliases:["arm"],keywords:{$pattern:"\\.?"+e.IDENT_RE,meta:".2byte .4byte .align .ascii .asciz .balign .byte .code .data .else .end .endif .endm .endr .equ .err .exitm .extern .global .hword .if .ifdef .ifndef .include .irp .long .macro .rept .req .section .set .skip .space .text .word .arm .thumb .code16 .code32 .force_thumb .thumb_func .ltorg ALIAS ALIGN ARM AREA ASSERT ATTR CN CODE CODE16 CODE32 COMMON CP DATA DCB DCD DCDU DCDO DCFD DCFDU DCI DCQ DCQU DCW DCWU DN ELIF ELSE END ENDFUNC ENDIF ENDP ENTRY EQU EXPORT EXPORTAS EXTERN FIELD FILL FUNCTION GBLA GBLL GBLS GET GLOBAL IF IMPORT INCBIN INCLUDE INFO KEEP LCLA LCLL LCLS LTORG MACRO MAP MEND MEXIT NOFP OPT PRESERVE8 PROC QN READONLY RELOC REQUIRE REQUIRE8 RLIST FN ROUT SETA SETL SETS SN SPACE SUBT THUMB THUMBX TTL WHILE WEND ",built_in:"r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 pc lr sp ip sl sb fp a1 a2 a3 a4 v1 v2 v3 v4 v5 v6 v7 v8 f0 f1 f2 f3 f4 f5 f6 f7 p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 q11 q12 q13 q14 q15 cpsr_c cpsr_x cpsr_s cpsr_f cpsr_cx cpsr_cxs cpsr_xs cpsr_xsf cpsr_sf cpsr_cxsf spsr_c spsr_x spsr_s spsr_f spsr_cx spsr_cxs spsr_xs spsr_xsf spsr_sf spsr_cxsf s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 s16 s17 s18 s19 s20 s21 s22 s23 s24 s25 s26 s27 s28 s29 s30 s31 d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11 d12 d13 d14 d15 d16 d17 d18 d19 d20 d21 d22 d23 d24 d25 d26 d27 d28 d29 d30 d31 {PC} {VAR} {TRUE} {FALSE} {OPT} {CONFIG} {ENDIAN} {CODESIZE} {CPU} {FPU} {ARCHITECTURE} {PCSTOREOFFSET} {ARMASM_VERSION} {INTER} {ROPI} {RWPI} {SWST} {NOSWST} . @"},contains:[{className:"keyword",begin:"\\b(adc|(qd?|sh?|u[qh]?)?add(8|16)?|usada?8|(q|sh?|u[qh]?)?(as|sa)x|and|adrl?|sbc|rs[bc]|asr|b[lx]?|blx|bxj|cbn?z|tb[bh]|bic|bfc|bfi|[su]bfx|bkpt|cdp2?|clz|clrex|cmp|cmn|cpsi[ed]|cps|setend|dbg|dmb|dsb|eor|isb|it[te]{0,3}|lsl|lsr|ror|rrx|ldm(([id][ab])|f[ds])?|ldr((s|ex)?[bhd])?|movt?|mvn|mra|mar|mul|[us]mull|smul[bwt][bt]|smu[as]d|smmul|smmla|mla|umlaal|smlal?([wbt][bt]|d)|mls|smlsl?[ds]|smc|svc|sev|mia([bt]{2}|ph)?|mrr?c2?|mcrr2?|mrs|msr|orr|orn|pkh(tb|bt)|rbit|rev(16|sh)?|sel|[su]sat(16)?|nop|pop|push|rfe([id][ab])?|stm([id][ab])?|str(ex)?[bhd]?|(qd?)?sub|(sh?|q|u[qh]?)?sub(8|16)|[su]xt(a?h|a?b(16)?)|srs([id][ab])?|swpb?|swi|smi|tst|teq|wfe|wfi|yield)(eq|ne|cs|cc|mi|pl|vs|vc|hi|ls|ge|lt|gt|le|al|hs|lo)?[sptrx]?(?=\\s)"},t,e.QUOTE_STRING_MODE,{className:"string",begin:"'",end:"[^\\\\]'",relevance:0},{className:"title",begin:"\\|",end:"\\|",illegal:"\\n",relevance:0},{className:"number",variants:[{begin:"[#$=]?0x[0-9a-f]+"},{begin:"[#$=]?0b[01]+"},{begin:"[#$=]\\d+"},{begin:"\\b\\d+"}],relevance:0},{className:"symbol",variants:[{begin:"^[ \\t]*[a-z_\\.\\$][a-z0-9_\\.\\$]+:"},{begin:"^[a-z_\\.\\$][a-z0-9_\\.\\$]+"},{begin:"[=#]\\w+"}],relevance:0}]}}e.exports=t},635:function(e,t,n){n(4945),n(4600),n(4201),n(7670);const r="[A-Za-z$_][0-9A-Za-z$_]*",a=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],i=["true","false","null","undefined","NaN","Infinity"],s=["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer","BigInt64Array","BigUint64Array","BigInt"],o=["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],l=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],c=["arguments","this","super","console","window","document","localStorage","module","global"],_=[].concat(l,c,s,o);function d(e){return e?"string"===typeof e?e:e.source:null}function u(e){return p("(?=",e,")")}function p(...e){const t=e.map((e=>d(e))).join("");return t}function m(e){const t=(e,{after:t})=>{const n=""+e[0].slice(1),r=e.input.indexOf(n,t);return-1!==r},n=r,s={begin:"<>",end:">"},o={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(e,n)=>{const r=e[0].length+e.index,a=e.input[r];"<"!==a?">"===a&&(t(e,{after:r})||n.ignoreMatch()):n.ignoreMatch()}},l={$pattern:r,keyword:a,literal:i,built_in:_},c="[0-9](_?[0-9])*",d=`\\.(${c})`,m="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",g={className:"number",variants:[{begin:`(\\b(${m})((${d})|\\.)?|(${d}))[eE][+-]?(${c})\\b`},{begin:`\\b(${m})\\b((${d})\\b|\\.)?|(${d})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},E={className:"subst",begin:"\\$\\{",end:"\\}",keywords:l,contains:[]},S={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,E],subLanguage:"xml"}},b={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,E],subLanguage:"css"}},f={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,E]},h=e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+",contains:[{className:"type",begin:"\\{",end:"\\}",relevance:0},{className:"variable",begin:n+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),T={className:"comment",variants:[h,e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},C=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,S,b,f,g,e.REGEXP_MODE];E.contains=C.concat({begin:/\{/,end:/\}/,keywords:l,contains:["self"].concat(C)});const y=[].concat(T,E.contains),N=y.concat([{begin:/\(/,end:/\)/,keywords:l,contains:["self"].concat(y)}]),v={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:N};return{name:"Javascript",aliases:["js","jsx","mjs","cjs"],keywords:l,exports:{PARAMS_CONTAINS:N},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),{label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,S,b,f,T,g,{begin:p(/[{,\n]\s*/,u(p(/(((\/\/.*$)|(\/\*(\*[^/]|[^*])*\*\/))\s*)*/,n+"\\s*:"))),relevance:0,contains:[{className:"attr",begin:n+u("\\s*:"),relevance:0}]},{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",contains:[T,e.REGEXP_MODE,{className:"function",begin:"(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:N}]}]},{begin:/,/,relevance:0},{className:"",begin:/\s/,end:/\s*/,skip:!0},{variants:[{begin:s.begin,end:s.end},{begin:o.begin,"on:begin":o.isTrulyOpeningTag,end:o.end}],subLanguage:"xml",contains:[{begin:o.begin,end:o.end,skip:!0,contains:["self"]}]}],relevance:0},{className:"function",beginKeywords:"function",end:/[{;]/,excludeEnd:!0,keywords:l,contains:["self",e.inherit(e.TITLE_MODE,{begin:n}),v],illegal:/%/},{beginKeywords:"while if switch catch for"},{className:"function",begin:e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,contains:[v,e.inherit(e.TITLE_MODE,{begin:n})]},{variants:[{begin:"\\."+n},{begin:"\\$"+n}],relevance:0},{className:"class",beginKeywords:"class",end:/[{;=]/,excludeEnd:!0,illegal:/[:"[\]]/,contains:[{beginKeywords:"extends"},e.UNDERSCORE_TITLE_MODE]},{begin:/\b(?=constructor)/,end:/[{;]/,excludeEnd:!0,contains:[e.inherit(e.TITLE_MODE,{begin:n}),"self",v]},{begin:"(get|set)\\s+(?="+n+"\\()",end:/\{/,keywords:"get set",contains:[e.inherit(e.TITLE_MODE,{begin:n}),{begin:/\(\)/},v]},{begin:/\$[(.]/}]}}function g(e){const t=r,n={beginKeywords:"namespace",end:/\{/,excludeEnd:!0},s={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:"interface extends"},o={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},l=["any","void","number","boolean","string","object","never","enum"],c=["type","namespace","typedef","interface","public","private","protected","implements","declare","abstract","readonly"],d={$pattern:r,keyword:a.concat(c),literal:i,built_in:_.concat(l)},u={className:"meta",begin:"@"+t},p=(e,t,n)=>{const r=e.contains.findIndex((e=>e.label===t));if(-1===r)throw new Error("can not find mode to replace");e.contains.splice(r,1,n)},g=m(e);Object.assign(g.keywords,d),g.exports.PARAMS_CONTAINS.push(u),g.contains=g.contains.concat([u,n,s]),p(g,"shebang",e.SHEBANG()),p(g,"use_strict",o);const E=g.contains.find((e=>"function"===e.className));return E.relevance=0,Object.assign(g,{name:"TypeScript",aliases:["ts","tsx"]}),g}e.exports=g},767:function(e){function t(e){const t="foreach do while for if from to step else on-error and or not in",n="global local beep delay put len typeof pick log time set find environment terminal error execute parse resolve toarray tobool toid toip toip6 tonum tostr totime",r="add remove enable disable set get print export edit find run debug error info warning",a="true false yes no nothing nil null",i="traffic-flow traffic-generator firewall scheduler aaa accounting address-list address align area bandwidth-server bfd bgp bridge client clock community config connection console customer default dhcp-client dhcp-server discovery dns e-mail ethernet filter firmware gps graphing group hardware health hotspot identity igmp-proxy incoming instance interface ip ipsec ipv6 irq l2tp-server lcd ldp logging mac-server mac-winbox mangle manual mirror mme mpls nat nd neighbor network note ntp ospf ospf-v3 ovpn-server page peer pim ping policy pool port ppp pppoe-client pptp-server prefix profile proposal proxy queue radius resource rip ripng route routing screen script security-profiles server service service-port settings shares smb sms sniffer snmp snooper socks sstp-server system tool tracking type upgrade upnp user-manager users user vlan secret vrrp watchdog web-access wireless pptp pppoe lan wan layer7-protocol lease simple raw",s={className:"variable",variants:[{begin:/\$[\w\d#@][\w\d_]*/},{begin:/\$\{(.*?)\}/}]},o={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,s,{className:"variable",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]}]},l={className:"string",begin:/'/,end:/'/};return{name:"Microtik RouterOS script",aliases:["mikrotik"],case_insensitive:!0,keywords:{$pattern:/:?[\w-]+/,literal:a,keyword:t+" :"+t.split(" ").join(" :")+" :"+n.split(" ").join(" :")},contains:[{variants:[{begin:/\/\*/,end:/\*\//},{begin:/\/\//,end:/$/},{begin:/<\//,end:/>/}],illegal:/./},e.COMMENT("^#","$"),o,l,s,{begin:/[\w-]+=([^\s{}[\]()>]+)/,relevance:0,returnBegin:!0,contains:[{className:"attribute",begin:/[^=]+/},{begin:/=/,endsWithParent:!0,relevance:0,contains:[o,l,s,{className:"literal",begin:"\\b("+a.split(" ").join("|")+")\\b"},{begin:/("[^"]*"|[^\s{}[\]]+)/}]}]},{className:"number",begin:/\*[0-9a-fA-F]+/},{begin:"\\b("+r.split(" ").join("|")+")([\\s[(\\]|])",returnBegin:!0,contains:[{className:"builtin-name",begin:/\w+/}]},{className:"built_in",variants:[{begin:"(\\.\\./|/|\\s)(("+i.split(" ").join("|")+");?\\s)+"},{begin:/\.\./,relevance:0}]}]}}e.exports=t},840:function(e,t,n){function r(e){return e?"string"===typeof e?e:e.source:null}function a(...e){const t=e.map((e=>r(e))).join("");return t}function i(e){const t={className:"params",begin:"\\(",end:"\\)"},n={variants:[e.COMMENT("!","$",{relevance:0}),e.COMMENT("^C[ ]","$",{relevance:0}),e.COMMENT("^C$","$",{relevance:0})]},r=/(_[a-z_\d]+)?/,i=/([de][+-]?\d+)?/,s={className:"number",variants:[{begin:a(/\b\d+/,/\.(\d*)/,i,r)},{begin:a(/\b\d+/,i,r)},{begin:a(/\.\d+/,i,r)}],relevance:0},o={className:"function",beginKeywords:"subroutine function program",illegal:"[${=\\n]",contains:[e.UNDERSCORE_TITLE_MODE,t]},l={className:"string",relevance:0,variants:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},c={literal:".False. .True.",keyword:"kind do concurrent local shared while private call intrinsic where elsewhere type endtype endmodule endselect endinterface end enddo endif if forall endforall only contains default return stop then block endblock endassociate public subroutine|10 function program .and. .or. .not. .le. .eq. .ge. .gt. .lt. goto save else use module select case access blank direct exist file fmt form formatted iostat name named nextrec number opened rec recl sequential status unformatted unit continue format pause cycle exit c_null_char c_alert c_backspace c_form_feed flush wait decimal round iomsg synchronous nopass non_overridable pass protected volatile abstract extends import non_intrinsic value deferred generic final enumerator class associate bind enum c_int c_short c_long c_long_long c_signed_char c_size_t c_int8_t c_int16_t c_int32_t c_int64_t c_int_least8_t c_int_least16_t c_int_least32_t c_int_least64_t c_int_fast8_t c_int_fast16_t c_int_fast32_t c_int_fast64_t c_intmax_t C_intptr_t c_float c_double c_long_double c_float_complex c_double_complex c_long_double_complex c_bool c_char c_null_ptr c_null_funptr c_new_line c_carriage_return c_horizontal_tab c_vertical_tab iso_c_binding c_loc c_funloc c_associated c_f_pointer c_ptr c_funptr iso_fortran_env character_storage_size error_unit file_storage_size input_unit iostat_end iostat_eor numeric_storage_size output_unit c_f_procpointer ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode newunit contiguous recursive pad position action delim readwrite eor advance nml interface procedure namelist include sequence elemental pure impure integer real character complex logical codimension dimension allocatable|10 parameter external implicit|10 none double precision assign intent optional pointer target in out common equivalence data",built_in:"alog alog10 amax0 amax1 amin0 amin1 amod cabs ccos cexp clog csin csqrt dabs dacos dasin datan datan2 dcos dcosh ddim dexp dint dlog dlog10 dmax1 dmin1 dmod dnint dsign dsin dsinh dsqrt dtan dtanh float iabs idim idint idnint ifix isign max0 max1 min0 min1 sngl algama cdabs cdcos cdexp cdlog cdsin cdsqrt cqabs cqcos cqexp cqlog cqsin cqsqrt dcmplx dconjg derf derfc dfloat dgamma dimag dlgama iqint qabs qacos qasin qatan qatan2 qcmplx qconjg qcos qcosh qdim qerf qerfc qexp qgamma qimag qlgama qlog qlog10 qmax1 qmin1 qmod qnint qsign qsin qsinh qsqrt qtan qtanh abs acos aimag aint anint asin atan atan2 char cmplx conjg cos cosh exp ichar index int log log10 max min nint sign sin sinh sqrt tan tanh print write dim lge lgt lle llt mod nullify allocate deallocate adjustl adjustr all allocated any associated bit_size btest ceiling count cshift date_and_time digits dot_product eoshift epsilon exponent floor fraction huge iand ibclr ibits ibset ieor ior ishft ishftc lbound len_trim matmul maxexponent maxloc maxval merge minexponent minloc minval modulo mvbits nearest pack present product radix random_number random_seed range repeat reshape rrspacing scale scan selected_int_kind selected_real_kind set_exponent shape size spacing spread sum system_clock tiny transpose trim ubound unpack verify achar iachar transfer dble entry dprod cpu_time command_argument_count get_command get_command_argument get_environment_variable is_iostat_end ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode is_iostat_eor move_alloc new_line selected_char_kind same_type_as extends_type_of acosh asinh atanh bessel_j0 bessel_j1 bessel_jn bessel_y0 bessel_y1 bessel_yn erf erfc erfc_scaled gamma log_gamma hypot norm2 atomic_define atomic_ref execute_command_line leadz trailz storage_size merge_bits bge bgt ble blt dshiftl dshiftr findloc iall iany iparity image_index lcobound ucobound maskl maskr num_images parity popcnt poppar shifta shiftl shiftr this_image sync change team co_broadcast co_max co_min co_sum co_reduce"};return{name:"Fortran",case_insensitive:!0,aliases:["f90","f95"],keywords:c,illegal:/\/\*/,contains:[l,o,{begin:/^C\s*=(?!=)/,relevance:0},n,s]}}n(4600),n(7670),e.exports=i},847:function(e){function t(e){const t="[^\\(\\)\\[\\]\\{\\}\",'`;#|\\\\\\s]+",n="(-|\\+)?\\d+([./]\\d+)?",r=n+"[+\\-]"+n+"i",a={$pattern:t,"builtin-name":"case-lambda call/cc class define-class exit-handler field import inherit init-field interface let*-values let-values let/ec mixin opt-lambda override protect provide public rename require require-for-syntax syntax syntax-case syntax-error unit/sig unless when with-syntax and begin call-with-current-continuation call-with-input-file call-with-output-file case cond define define-syntax delay do dynamic-wind else for-each if lambda let let* let-syntax letrec letrec-syntax map or syntax-rules ' * + , ,@ - ... / ; < <= = => > >= ` abs acos angle append apply asin assoc assq assv atan boolean? caar cadr call-with-input-file call-with-output-file call-with-values car cdddar cddddr cdr ceiling char->integer char-alphabetic? char-ci<=? char-ci char-ci=? char-ci>=? char-ci>? char-downcase char-lower-case? char-numeric? char-ready? char-upcase char-upper-case? char-whitespace? char<=? char char=? char>=? char>? char? close-input-port close-output-port complex? cons cos current-input-port current-output-port denominator display eof-object? eq? equal? eqv? eval even? exact->inexact exact? exp expt floor force gcd imag-part inexact->exact inexact? input-port? integer->char integer? interaction-environment lcm length list list->string list->vector list-ref list-tail list? load log magnitude make-polar make-rectangular make-string make-vector max member memq memv min modulo negative? newline not null-environment null? number->string number? numerator odd? open-input-file open-output-file output-port? pair? peek-char port? positive? procedure? quasiquote quote quotient rational? rationalize read read-char real-part real? remainder reverse round scheme-report-environment set! set-car! set-cdr! sin sqrt string string->list string->number string->symbol string-append string-ci<=? string-ci string-ci=? string-ci>=? string-ci>? string-copy string-fill! string-length string-ref string-set! string<=? string string=? string>=? string>? string? substring symbol->string symbol? tan transcript-off transcript-on truncate values vector vector->list vector-fill! vector-length vector-ref vector-set! with-input-from-file with-output-to-file write write-char zero?"},i={className:"literal",begin:"(#t|#f|#\\\\"+t+"|#\\\\.)"},s={className:"number",variants:[{begin:n,relevance:0},{begin:r,relevance:0},{begin:"#b[0-1]+(/[0-1]+)?"},{begin:"#o[0-7]+(/[0-7]+)?"},{begin:"#x[0-9a-f]+(/[0-9a-f]+)?"}]},o=e.QUOTE_STRING_MODE,l=[e.COMMENT(";","$",{relevance:0}),e.COMMENT("#\\|","\\|#")],c={begin:t,relevance:0},_={className:"symbol",begin:"'"+t},d={endsWithParent:!0,relevance:0},u={variants:[{begin:/'/},{begin:"`"}],contains:[{begin:"\\(",end:"\\)",contains:["self",i,o,s,c,_]}]},p={className:"name",relevance:0,begin:t,keywords:a},m={begin:/lambda/,endsWithParent:!0,returnBegin:!0,contains:[p,{endsParent:!0,variants:[{begin:/\(/,end:/\)/},{begin:/\[/,end:/\]/}],contains:[c]}]},g={variants:[{begin:"\\(",end:"\\)"},{begin:"\\[",end:"\\]"}],contains:[m,p,d]};return d.contains=[i,s,o,c,_,u,g].concat(l),{name:"Scheme",illegal:/\S/,contains:[e.SHEBANG(),s,o,_,u,g].concat(l)}}e.exports=t},860:function(e){function t(e){const t={className:"built_in",begin:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"},n=/[a-zA-Z@][a-zA-Z0-9_]*/,r={$pattern:n,keyword:"int float while char export sizeof typedef const struct for union unsigned long volatile static bool mutable if do return goto void enum else break extern asm case short default double register explicit signed typename this switch continue wchar_t inline readonly assign readwrite self @synchronized id typeof nonatomic super unichar IBOutlet IBAction strong weak copy in out inout bycopy byref oneway __strong __weak __block __autoreleasing @private @protected @public @try @property @end @throw @catch @finally @autoreleasepool @synthesize @dynamic @selector @optional @required @encode @package @import @defs @compatibility_alias __bridge __bridge_transfer __bridge_retained __bridge_retain __covariant __contravariant __kindof _Nonnull _Nullable _Null_unspecified __FUNCTION__ __PRETTY_FUNCTION__ __attribute__ getter setter retain unsafe_unretained nonnull nullable null_unspecified null_resettable class instancetype NS_DESIGNATED_INITIALIZER NS_UNAVAILABLE NS_REQUIRES_SUPER NS_RETURNS_INNER_POINTER NS_INLINE NS_AVAILABLE NS_DEPRECATED NS_ENUM NS_OPTIONS NS_SWIFT_UNAVAILABLE NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_REFINED_FOR_SWIFT NS_SWIFT_NAME NS_SWIFT_NOTHROW NS_DURING NS_HANDLER NS_ENDHANDLER NS_VALUERETURN NS_VOIDRETURN",literal:"false true FALSE TRUE nil YES NO NULL",built_in:"BOOL dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once"},a={$pattern:n,keyword:"@interface @class @protocol @implementation"};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:r,illegal:"",contains:[t,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.C_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{className:"string",variants:[{begin:'@"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]}]},{className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{"meta-keyword":"if else elif endif define undef warning error line pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(e.QUOTE_STRING_MODE,{className:"meta-string"}),{className:"meta-string",begin:/<.*?>/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+a.keyword.split(" ").join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:a,contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE,relevance:0}]}}e.exports=t},1062:function(e){function t(e){const t="([ui](8|16|32|64|128|size)|f(32|64))?",n="abstract as async await become box break const continue crate do dyn else enum extern false final fn for if impl in let loop macro match mod move mut override priv pub ref return self Self static struct super trait true try type typeof unsafe unsized use virtual where while yield",r="drop i8 i16 i32 i64 i128 isize u8 u16 u32 u64 u128 usize f32 f64 str char bool Box Option Result String Vec Copy Send Sized Sync Drop Fn FnMut FnOnce ToOwned Clone Debug PartialEq PartialOrd Eq Ord AsRef AsMut Into From Default Iterator Extend IntoIterator DoubleEndedIterator ExactSizeIterator SliceConcatExt ToString assert! assert_eq! bitflags! bytes! cfg! col! concat! concat_idents! debug_assert! debug_assert_eq! env! panic! file! format! format_args! include_bin! include_str! line! local_data_key! module_path! option_env! print! println! select! stringify! try! unimplemented! unreachable! vec! write! writeln! macro_rules! assert_ne! debug_assert_ne!";return{name:"Rust",aliases:["rs"],keywords:{$pattern:e.IDENT_RE+"!?",keyword:n,literal:"true false Some None Ok Err",built_in:r},illegal:"",contains:[e.C_LINE_COMMENT_MODE,e.COMMENT("/\\*","\\*/",{contains:["self"]}),e.inherit(e.QUOTE_STRING_MODE,{begin:/b?"/,illegal:null}),{className:"string",variants:[{begin:/r(#*)"(.|\n)*?"\1(?!#)/},{begin:/b?'\\?(x\w{2}|u\w{4}|U\w{8}|.)'/}]},{className:"symbol",begin:/'[a-zA-Z_][a-zA-Z0-9_]*/},{className:"number",variants:[{begin:"\\b0b([01_]+)"+t},{begin:"\\b0o([0-7_]+)"+t},{begin:"\\b0x([A-Fa-f0-9_]+)"+t},{begin:"\\b(\\d[\\d_]*(\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)"+t}],relevance:0},{className:"function",beginKeywords:"fn",end:"(\\(|<)",excludeEnd:!0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"meta",begin:"#!?\\[",end:"\\]",contains:[{className:"meta-string",begin:/"/,end:/"/}]},{className:"class",beginKeywords:"type",end:";",contains:[e.inherit(e.UNDERSCORE_TITLE_MODE,{endsParent:!0})],illegal:"\\S"},{className:"class",beginKeywords:"trait enum struct union",end:/\{/,contains:[e.inherit(e.UNDERSCORE_TITLE_MODE,{endsParent:!0})],illegal:"[\\w\\d]"},{begin:e.IDENT_RE+"::",keywords:{built_in:r}},{begin:"->"}]}}e.exports=t},1161:function(e){function t(e){const t={className:"literal",begin:/[+-]/,relevance:0};return{name:"Brainfuck",aliases:["bf"],contains:[e.COMMENT("[^\\[\\]\\.,\\+\\-<> \r\n]","[\\[\\]\\.,\\+\\-<> \r\n]",{returnEnd:!0,relevance:0}),{className:"title",begin:"[\\[\\]]",relevance:0},{className:"string",begin:"[\\.,]",relevance:0},{begin:/(?:\+\+|--)/,contains:[t]},t]}}e.exports=t},1182:function(e,t,n){function r(e){return e?"string"===typeof e?e:e.source:null}function a(...e){const t=e.map((e=>r(e))).join("");return t}function i(...e){const t="("+e.map((e=>r(e))).join("|")+")";return t}function s(e){const t=["GET","POST","HEAD","PUT","DELETE","CONNECT","OPTIONS","PATCH","TRACE"];return{name:"Apache Access Log",contains:[{className:"number",begin:/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(:\d{1,5})?\b/,relevance:5},{className:"number",begin:/\b\d+\b/,relevance:0},{className:"string",begin:a(/"/,i(...t)),end:/"/,keywords:t,illegal:/\n/,relevance:5,contains:[{begin:/HTTP\/[12]\.\d'/,relevance:5}]},{className:"string",begin:/\[\d[^\]\n]{8,}\]/,illegal:/\n/,relevance:1},{className:"string",begin:/\[/,end:/\]/,illegal:/\n/,relevance:0},{className:"string",begin:/"Mozilla\/\d\.\d \(/,end:/"/,illegal:/\n/,relevance:3},{className:"string",begin:/"/,end:/"/,illegal:/\n/,relevance:0}]}}n(4600),n(7670),e.exports=s},1185:function(e,t,n){function r(e){return e?"string"===typeof e?e:e.source:null}function a(...e){const t=e.map((e=>r(e))).join("");return t}function i(e){const t={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},n={begin:"^[-\\*]{3,}",end:"$"},r={className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},i={className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},s={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},o=/[A-Za-z][A-Za-z0-9+.-]*/,l={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:a(/\[.+?\]\(/,o,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?].*?\)/,relevance:1},{begin:/\[.+?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},c={className:"strong",contains:[],variants:[{begin:/_{2}/,end:/_{2}/},{begin:/\*{2}/,end:/\*{2}/}]},_={className:"emphasis",contains:[],variants:[{begin:/\*(?!\*)/,end:/\*/},{begin:/_(?!_)/,end:/_/,relevance:0}]};c.contains.push(_),_.contains.push(c);let d=[t,l];c.contains=c.contains.concat(d),_.contains=_.contains.concat(d),d=d.concat(c,_);const u={className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:d},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:d}]}]},p={className:"quote",begin:"^>\\s+",contains:d,end:"$"};return{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[u,t,i,c,_,p,r,n,l,s]}}n(4945),n(4600),n(7670),e.exports=i},1210:function(e){function t(e){const t="[A-Za-zА-Яа-яёЁ_!][A-Za-zА-Яа-яёЁ_0-9]*",n="[A-Za-zА-Яа-яёЁ_][A-Za-zА-Яа-яёЁ_0-9]*",r="and и else иначе endexcept endfinally endforeach конецвсе endif конецесли endwhile конецпока except exitfor finally foreach все if если in в not не or или try while пока ",a="SYSRES_CONST_ACCES_RIGHT_TYPE_EDIT SYSRES_CONST_ACCES_RIGHT_TYPE_FULL SYSRES_CONST_ACCES_RIGHT_TYPE_VIEW SYSRES_CONST_ACCESS_MODE_REQUISITE_CODE SYSRES_CONST_ACCESS_NO_ACCESS_VIEW SYSRES_CONST_ACCESS_NO_ACCESS_VIEW_CODE SYSRES_CONST_ACCESS_RIGHTS_ADD_REQUISITE_CODE SYSRES_CONST_ACCESS_RIGHTS_ADD_REQUISITE_YES_CODE SYSRES_CONST_ACCESS_RIGHTS_CHANGE_REQUISITE_CODE SYSRES_CONST_ACCESS_RIGHTS_CHANGE_REQUISITE_YES_CODE SYSRES_CONST_ACCESS_RIGHTS_DELETE_REQUISITE_CODE SYSRES_CONST_ACCESS_RIGHTS_DELETE_REQUISITE_YES_CODE SYSRES_CONST_ACCESS_RIGHTS_EXECUTE_REQUISITE_CODE SYSRES_CONST_ACCESS_RIGHTS_EXECUTE_REQUISITE_YES_CODE SYSRES_CONST_ACCESS_RIGHTS_NO_ACCESS_REQUISITE_CODE SYSRES_CONST_ACCESS_RIGHTS_NO_ACCESS_REQUISITE_YES_CODE SYSRES_CONST_ACCESS_RIGHTS_RATIFY_REQUISITE_CODE SYSRES_CONST_ACCESS_RIGHTS_RATIFY_REQUISITE_YES_CODE SYSRES_CONST_ACCESS_RIGHTS_REQUISITE_CODE SYSRES_CONST_ACCESS_RIGHTS_VIEW SYSRES_CONST_ACCESS_RIGHTS_VIEW_CODE SYSRES_CONST_ACCESS_RIGHTS_VIEW_REQUISITE_CODE SYSRES_CONST_ACCESS_RIGHTS_VIEW_REQUISITE_YES_CODE SYSRES_CONST_ACCESS_TYPE_CHANGE SYSRES_CONST_ACCESS_TYPE_CHANGE_CODE SYSRES_CONST_ACCESS_TYPE_EXISTS SYSRES_CONST_ACCESS_TYPE_EXISTS_CODE SYSRES_CONST_ACCESS_TYPE_FULL SYSRES_CONST_ACCESS_TYPE_FULL_CODE SYSRES_CONST_ACCESS_TYPE_VIEW SYSRES_CONST_ACCESS_TYPE_VIEW_CODE SYSRES_CONST_ACTION_TYPE_ABORT SYSRES_CONST_ACTION_TYPE_ACCEPT SYSRES_CONST_ACTION_TYPE_ACCESS_RIGHTS SYSRES_CONST_ACTION_TYPE_ADD_ATTACHMENT SYSRES_CONST_ACTION_TYPE_CHANGE_CARD SYSRES_CONST_ACTION_TYPE_CHANGE_KIND SYSRES_CONST_ACTION_TYPE_CHANGE_STORAGE SYSRES_CONST_ACTION_TYPE_CONTINUE SYSRES_CONST_ACTION_TYPE_COPY SYSRES_CONST_ACTION_TYPE_CREATE SYSRES_CONST_ACTION_TYPE_CREATE_VERSION SYSRES_CONST_ACTION_TYPE_DELETE SYSRES_CONST_ACTION_TYPE_DELETE_ATTACHMENT SYSRES_CONST_ACTION_TYPE_DELETE_VERSION SYSRES_CONST_ACTION_TYPE_DISABLE_DELEGATE_ACCESS_RIGHTS SYSRES_CONST_ACTION_TYPE_ENABLE_DELEGATE_ACCESS_RIGHTS SYSRES_CONST_ACTION_TYPE_ENCRYPTION_BY_CERTIFICATE SYSRES_CONST_ACTION_TYPE_ENCRYPTION_BY_CERTIFICATE_AND_PASSWORD SYSRES_CONST_ACTION_TYPE_ENCRYPTION_BY_PASSWORD SYSRES_CONST_ACTION_TYPE_EXPORT_WITH_LOCK SYSRES_CONST_ACTION_TYPE_EXPORT_WITHOUT_LOCK SYSRES_CONST_ACTION_TYPE_IMPORT_WITH_UNLOCK SYSRES_CONST_ACTION_TYPE_IMPORT_WITHOUT_UNLOCK SYSRES_CONST_ACTION_TYPE_LIFE_CYCLE_STAGE SYSRES_CONST_ACTION_TYPE_LOCK SYSRES_CONST_ACTION_TYPE_LOCK_FOR_SERVER SYSRES_CONST_ACTION_TYPE_LOCK_MODIFY SYSRES_CONST_ACTION_TYPE_MARK_AS_READED SYSRES_CONST_ACTION_TYPE_MARK_AS_UNREADED SYSRES_CONST_ACTION_TYPE_MODIFY SYSRES_CONST_ACTION_TYPE_MODIFY_CARD SYSRES_CONST_ACTION_TYPE_MOVE_TO_ARCHIVE SYSRES_CONST_ACTION_TYPE_OFF_ENCRYPTION SYSRES_CONST_ACTION_TYPE_PASSWORD_CHANGE SYSRES_CONST_ACTION_TYPE_PERFORM SYSRES_CONST_ACTION_TYPE_RECOVER_FROM_LOCAL_COPY SYSRES_CONST_ACTION_TYPE_RESTART SYSRES_CONST_ACTION_TYPE_RESTORE_FROM_ARCHIVE SYSRES_CONST_ACTION_TYPE_REVISION SYSRES_CONST_ACTION_TYPE_SEND_BY_MAIL SYSRES_CONST_ACTION_TYPE_SIGN SYSRES_CONST_ACTION_TYPE_START SYSRES_CONST_ACTION_TYPE_UNLOCK SYSRES_CONST_ACTION_TYPE_UNLOCK_FROM_SERVER SYSRES_CONST_ACTION_TYPE_VERSION_STATE SYSRES_CONST_ACTION_TYPE_VERSION_VISIBILITY SYSRES_CONST_ACTION_TYPE_VIEW SYSRES_CONST_ACTION_TYPE_VIEW_SHADOW_COPY SYSRES_CONST_ACTION_TYPE_WORKFLOW_DESCRIPTION_MODIFY SYSRES_CONST_ACTION_TYPE_WRITE_HISTORY SYSRES_CONST_ACTIVE_VERSION_STATE_PICK_VALUE SYSRES_CONST_ADD_REFERENCE_MODE_NAME SYSRES_CONST_ADDITION_REQUISITE_CODE SYSRES_CONST_ADDITIONAL_PARAMS_REQUISITE_CODE SYSRES_CONST_ADITIONAL_JOB_END_DATE_REQUISITE_NAME SYSRES_CONST_ADITIONAL_JOB_READ_REQUISITE_NAME SYSRES_CONST_ADITIONAL_JOB_START_DATE_REQUISITE_NAME SYSRES_CONST_ADITIONAL_JOB_STATE_REQUISITE_NAME SYSRES_CONST_ADMINISTRATION_HISTORY_ADDING_USER_TO_GROUP_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_ADDING_USER_TO_GROUP_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_CREATION_COMP_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_CREATION_COMP_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_CREATION_GROUP_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_CREATION_GROUP_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_CREATION_USER_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_CREATION_USER_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_DATABASE_USER_CREATION SYSRES_CONST_ADMINISTRATION_HISTORY_DATABASE_USER_CREATION_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_DATABASE_USER_DELETION SYSRES_CONST_ADMINISTRATION_HISTORY_DATABASE_USER_DELETION_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_DELETION_COMP_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_DELETION_COMP_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_DELETION_GROUP_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_DELETION_GROUP_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_DELETION_USER_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_DELETION_USER_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_DELETION_USER_FROM_GROUP_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_DELETION_USER_FROM_GROUP_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_GRANTING_FILTERER_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_GRANTING_FILTERER_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_GRANTING_FILTERER_RESTRICTION_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_GRANTING_FILTERER_RESTRICTION_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_GRANTING_PRIVILEGE_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_GRANTING_PRIVILEGE_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_GRANTING_RIGHTS_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_GRANTING_RIGHTS_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_IS_MAIN_SERVER_CHANGED_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_IS_MAIN_SERVER_CHANGED_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_IS_PUBLIC_CHANGED_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_IS_PUBLIC_CHANGED_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_REMOVING_FILTERER_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_REMOVING_FILTERER_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_REMOVING_FILTERER_RESTRICTION_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_REMOVING_FILTERER_RESTRICTION_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_REMOVING_PRIVILEGE_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_REMOVING_PRIVILEGE_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_REMOVING_RIGHTS_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_REMOVING_RIGHTS_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_SERVER_LOGIN_CREATION SYSRES_CONST_ADMINISTRATION_HISTORY_SERVER_LOGIN_CREATION_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_SERVER_LOGIN_DELETION SYSRES_CONST_ADMINISTRATION_HISTORY_SERVER_LOGIN_DELETION_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_CATEGORY_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_CATEGORY_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_COMP_TITLE_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_COMP_TITLE_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_FULL_NAME_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_FULL_NAME_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_GROUP_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_GROUP_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_PARENT_GROUP_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_PARENT_GROUP_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_USER_AUTH_TYPE_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_USER_AUTH_TYPE_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_USER_LOGIN_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_USER_LOGIN_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_USER_STATUS_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_USER_STATUS_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_USER_PASSWORD_CHANGE SYSRES_CONST_ADMINISTRATION_HISTORY_USER_PASSWORD_CHANGE_ACTION SYSRES_CONST_ALL_ACCEPT_CONDITION_RUS SYSRES_CONST_ALL_USERS_GROUP SYSRES_CONST_ALL_USERS_GROUP_NAME SYSRES_CONST_ALL_USERS_SERVER_GROUP_NAME SYSRES_CONST_ALLOWED_ACCESS_TYPE_CODE SYSRES_CONST_ALLOWED_ACCESS_TYPE_NAME SYSRES_CONST_APP_VIEWER_TYPE_REQUISITE_CODE SYSRES_CONST_APPROVING_SIGNATURE_NAME SYSRES_CONST_APPROVING_SIGNATURE_REQUISITE_CODE SYSRES_CONST_ASSISTANT_SUBSTITUE_TYPE SYSRES_CONST_ASSISTANT_SUBSTITUE_TYPE_CODE SYSRES_CONST_ATTACH_TYPE_COMPONENT_TOKEN SYSRES_CONST_ATTACH_TYPE_DOC SYSRES_CONST_ATTACH_TYPE_EDOC SYSRES_CONST_ATTACH_TYPE_FOLDER SYSRES_CONST_ATTACH_TYPE_JOB SYSRES_CONST_ATTACH_TYPE_REFERENCE SYSRES_CONST_ATTACH_TYPE_TASK SYSRES_CONST_AUTH_ENCODED_PASSWORD SYSRES_CONST_AUTH_ENCODED_PASSWORD_CODE SYSRES_CONST_AUTH_NOVELL SYSRES_CONST_AUTH_PASSWORD SYSRES_CONST_AUTH_PASSWORD_CODE SYSRES_CONST_AUTH_WINDOWS SYSRES_CONST_AUTHENTICATING_SIGNATURE_NAME SYSRES_CONST_AUTHENTICATING_SIGNATURE_REQUISITE_CODE SYSRES_CONST_AUTO_ENUM_METHOD_FLAG SYSRES_CONST_AUTO_NUMERATION_CODE SYSRES_CONST_AUTO_STRONG_ENUM_METHOD_FLAG SYSRES_CONST_AUTOTEXT_NAME_REQUISITE_CODE SYSRES_CONST_AUTOTEXT_TEXT_REQUISITE_CODE SYSRES_CONST_AUTOTEXT_USAGE_ALL SYSRES_CONST_AUTOTEXT_USAGE_ALL_CODE SYSRES_CONST_AUTOTEXT_USAGE_SIGN SYSRES_CONST_AUTOTEXT_USAGE_SIGN_CODE SYSRES_CONST_AUTOTEXT_USAGE_WORK SYSRES_CONST_AUTOTEXT_USAGE_WORK_CODE SYSRES_CONST_AUTOTEXT_USE_ANYWHERE_CODE SYSRES_CONST_AUTOTEXT_USE_ON_SIGNING_CODE SYSRES_CONST_AUTOTEXT_USE_ON_WORK_CODE SYSRES_CONST_BEGIN_DATE_REQUISITE_CODE SYSRES_CONST_BLACK_LIFE_CYCLE_STAGE_FONT_COLOR SYSRES_CONST_BLUE_LIFE_CYCLE_STAGE_FONT_COLOR SYSRES_CONST_BTN_PART SYSRES_CONST_CALCULATED_ROLE_TYPE_CODE SYSRES_CONST_CALL_TYPE_VARIABLE_BUTTON_VALUE SYSRES_CONST_CALL_TYPE_VARIABLE_PROGRAM_VALUE SYSRES_CONST_CANCEL_MESSAGE_FUNCTION_RESULT SYSRES_CONST_CARD_PART SYSRES_CONST_CARD_REFERENCE_MODE_NAME SYSRES_CONST_CERTIFICATE_TYPE_REQUISITE_ENCRYPT_VALUE SYSRES_CONST_CERTIFICATE_TYPE_REQUISITE_SIGN_AND_ENCRYPT_VALUE SYSRES_CONST_CERTIFICATE_TYPE_REQUISITE_SIGN_VALUE SYSRES_CONST_CHECK_PARAM_VALUE_DATE_PARAM_TYPE SYSRES_CONST_CHECK_PARAM_VALUE_FLOAT_PARAM_TYPE SYSRES_CONST_CHECK_PARAM_VALUE_INTEGER_PARAM_TYPE SYSRES_CONST_CHECK_PARAM_VALUE_PICK_PARAM_TYPE SYSRES_CONST_CHECK_PARAM_VALUE_REEFRENCE_PARAM_TYPE SYSRES_CONST_CLOSED_RECORD_FLAG_VALUE_FEMININE SYSRES_CONST_CLOSED_RECORD_FLAG_VALUE_MASCULINE SYSRES_CONST_CODE_COMPONENT_TYPE_ADMIN SYSRES_CONST_CODE_COMPONENT_TYPE_DEVELOPER SYSRES_CONST_CODE_COMPONENT_TYPE_DOCS SYSRES_CONST_CODE_COMPONENT_TYPE_EDOC_CARDS SYSRES_CONST_CODE_COMPONENT_TYPE_EXTERNAL_EXECUTABLE SYSRES_CONST_CODE_COMPONENT_TYPE_OTHER SYSRES_CONST_CODE_COMPONENT_TYPE_REFERENCE SYSRES_CONST_CODE_COMPONENT_TYPE_REPORT SYSRES_CONST_CODE_COMPONENT_TYPE_SCRIPT SYSRES_CONST_CODE_COMPONENT_TYPE_URL SYSRES_CONST_CODE_REQUISITE_ACCESS SYSRES_CONST_CODE_REQUISITE_CODE SYSRES_CONST_CODE_REQUISITE_COMPONENT SYSRES_CONST_CODE_REQUISITE_DESCRIPTION SYSRES_CONST_CODE_REQUISITE_EXCLUDE_COMPONENT SYSRES_CONST_CODE_REQUISITE_RECORD SYSRES_CONST_COMMENT_REQ_CODE SYSRES_CONST_COMMON_SETTINGS_REQUISITE_CODE SYSRES_CONST_COMP_CODE_GRD SYSRES_CONST_COMPONENT_GROUP_TYPE_REQUISITE_CODE SYSRES_CONST_COMPONENT_TYPE_ADMIN_COMPONENTS SYSRES_CONST_COMPONENT_TYPE_DEVELOPER_COMPONENTS SYSRES_CONST_COMPONENT_TYPE_DOCS SYSRES_CONST_COMPONENT_TYPE_EDOC_CARDS SYSRES_CONST_COMPONENT_TYPE_EDOCS SYSRES_CONST_COMPONENT_TYPE_EXTERNAL_EXECUTABLE SYSRES_CONST_COMPONENT_TYPE_OTHER SYSRES_CONST_COMPONENT_TYPE_REFERENCE_TYPES SYSRES_CONST_COMPONENT_TYPE_REFERENCES SYSRES_CONST_COMPONENT_TYPE_REPORTS SYSRES_CONST_COMPONENT_TYPE_SCRIPTS SYSRES_CONST_COMPONENT_TYPE_URL SYSRES_CONST_COMPONENTS_REMOTE_SERVERS_VIEW_CODE SYSRES_CONST_CONDITION_BLOCK_DESCRIPTION SYSRES_CONST_CONST_FIRM_STATUS_COMMON SYSRES_CONST_CONST_FIRM_STATUS_INDIVIDUAL SYSRES_CONST_CONST_NEGATIVE_VALUE SYSRES_CONST_CONST_POSITIVE_VALUE SYSRES_CONST_CONST_SERVER_STATUS_DONT_REPLICATE SYSRES_CONST_CONST_SERVER_STATUS_REPLICATE SYSRES_CONST_CONTENTS_REQUISITE_CODE SYSRES_CONST_DATA_TYPE_BOOLEAN SYSRES_CONST_DATA_TYPE_DATE SYSRES_CONST_DATA_TYPE_FLOAT SYSRES_CONST_DATA_TYPE_INTEGER SYSRES_CONST_DATA_TYPE_PICK SYSRES_CONST_DATA_TYPE_REFERENCE SYSRES_CONST_DATA_TYPE_STRING SYSRES_CONST_DATA_TYPE_TEXT SYSRES_CONST_DATA_TYPE_VARIANT SYSRES_CONST_DATE_CLOSE_REQ_CODE SYSRES_CONST_DATE_FORMAT_DATE_ONLY_CHAR SYSRES_CONST_DATE_OPEN_REQ_CODE SYSRES_CONST_DATE_REQUISITE SYSRES_CONST_DATE_REQUISITE_CODE SYSRES_CONST_DATE_REQUISITE_NAME SYSRES_CONST_DATE_REQUISITE_TYPE SYSRES_CONST_DATE_TYPE_CHAR SYSRES_CONST_DATETIME_FORMAT_VALUE SYSRES_CONST_DEA_ACCESS_RIGHTS_ACTION_CODE SYSRES_CONST_DESCRIPTION_LOCALIZE_ID_REQUISITE_CODE SYSRES_CONST_DESCRIPTION_REQUISITE_CODE SYSRES_CONST_DET1_PART SYSRES_CONST_DET2_PART SYSRES_CONST_DET3_PART SYSRES_CONST_DET4_PART SYSRES_CONST_DET5_PART SYSRES_CONST_DET6_PART SYSRES_CONST_DETAIL_DATASET_KEY_REQUISITE_CODE SYSRES_CONST_DETAIL_PICK_REQUISITE_CODE SYSRES_CONST_DETAIL_REQ_CODE SYSRES_CONST_DO_NOT_USE_ACCESS_TYPE_CODE SYSRES_CONST_DO_NOT_USE_ACCESS_TYPE_NAME SYSRES_CONST_DO_NOT_USE_ON_VIEW_ACCESS_TYPE_CODE SYSRES_CONST_DO_NOT_USE_ON_VIEW_ACCESS_TYPE_NAME SYSRES_CONST_DOCUMENT_STORAGES_CODE SYSRES_CONST_DOCUMENT_TEMPLATES_TYPE_NAME SYSRES_CONST_DOUBLE_REQUISITE_CODE SYSRES_CONST_EDITOR_CLOSE_FILE_OBSERV_TYPE_CODE SYSRES_CONST_EDITOR_CLOSE_PROCESS_OBSERV_TYPE_CODE SYSRES_CONST_EDITOR_TYPE_REQUISITE_CODE SYSRES_CONST_EDITORS_APPLICATION_NAME_REQUISITE_CODE SYSRES_CONST_EDITORS_CREATE_SEVERAL_PROCESSES_REQUISITE_CODE SYSRES_CONST_EDITORS_EXTENSION_REQUISITE_CODE SYSRES_CONST_EDITORS_OBSERVER_BY_PROCESS_TYPE SYSRES_CONST_EDITORS_REFERENCE_CODE SYSRES_CONST_EDITORS_REPLACE_SPEC_CHARS_REQUISITE_CODE SYSRES_CONST_EDITORS_USE_PLUGINS_REQUISITE_CODE SYSRES_CONST_EDITORS_VIEW_DOCUMENT_OPENED_TO_EDIT_CODE SYSRES_CONST_EDOC_CARD_TYPE_REQUISITE_CODE SYSRES_CONST_EDOC_CARD_TYPES_LINK_REQUISITE_CODE SYSRES_CONST_EDOC_CERTIFICATE_AND_PASSWORD_ENCODE_CODE SYSRES_CONST_EDOC_CERTIFICATE_ENCODE_CODE SYSRES_CONST_EDOC_DATE_REQUISITE_CODE SYSRES_CONST_EDOC_KIND_REFERENCE_CODE SYSRES_CONST_EDOC_KINDS_BY_TEMPLATE_ACTION_CODE SYSRES_CONST_EDOC_MANAGE_ACCESS_CODE SYSRES_CONST_EDOC_NONE_ENCODE_CODE SYSRES_CONST_EDOC_NUMBER_REQUISITE_CODE SYSRES_CONST_EDOC_PASSWORD_ENCODE_CODE SYSRES_CONST_EDOC_READONLY_ACCESS_CODE SYSRES_CONST_EDOC_SHELL_LIFE_TYPE_VIEW_VALUE SYSRES_CONST_EDOC_SIZE_RESTRICTION_PRIORITY_REQUISITE_CODE SYSRES_CONST_EDOC_STORAGE_CHECK_ACCESS_RIGHTS_REQUISITE_CODE SYSRES_CONST_EDOC_STORAGE_COMPUTER_NAME_REQUISITE_CODE SYSRES_CONST_EDOC_STORAGE_DATABASE_NAME_REQUISITE_CODE SYSRES_CONST_EDOC_STORAGE_EDIT_IN_STORAGE_REQUISITE_CODE SYSRES_CONST_EDOC_STORAGE_LOCAL_PATH_REQUISITE_CODE SYSRES_CONST_EDOC_STORAGE_SHARED_SOURCE_NAME_REQUISITE_CODE SYSRES_CONST_EDOC_TEMPLATE_REQUISITE_CODE SYSRES_CONST_EDOC_TYPES_REFERENCE_CODE SYSRES_CONST_EDOC_VERSION_ACTIVE_STAGE_CODE SYSRES_CONST_EDOC_VERSION_DESIGN_STAGE_CODE SYSRES_CONST_EDOC_VERSION_OBSOLETE_STAGE_CODE SYSRES_CONST_EDOC_WRITE_ACCES_CODE SYSRES_CONST_EDOCUMENT_CARD_REQUISITES_REFERENCE_CODE_SELECTED_REQUISITE SYSRES_CONST_ENCODE_CERTIFICATE_TYPE_CODE SYSRES_CONST_END_DATE_REQUISITE_CODE SYSRES_CONST_ENUMERATION_TYPE_REQUISITE_CODE SYSRES_CONST_EXECUTE_ACCESS_RIGHTS_TYPE_CODE SYSRES_CONST_EXECUTIVE_FILE_STORAGE_TYPE SYSRES_CONST_EXIST_CONST SYSRES_CONST_EXIST_VALUE SYSRES_CONST_EXPORT_LOCK_TYPE_ASK SYSRES_CONST_EXPORT_LOCK_TYPE_WITH_LOCK SYSRES_CONST_EXPORT_LOCK_TYPE_WITHOUT_LOCK SYSRES_CONST_EXPORT_VERSION_TYPE_ASK SYSRES_CONST_EXPORT_VERSION_TYPE_LAST SYSRES_CONST_EXPORT_VERSION_TYPE_LAST_ACTIVE SYSRES_CONST_EXTENSION_REQUISITE_CODE SYSRES_CONST_FILTER_NAME_REQUISITE_CODE SYSRES_CONST_FILTER_REQUISITE_CODE SYSRES_CONST_FILTER_TYPE_COMMON_CODE SYSRES_CONST_FILTER_TYPE_COMMON_NAME SYSRES_CONST_FILTER_TYPE_USER_CODE SYSRES_CONST_FILTER_TYPE_USER_NAME SYSRES_CONST_FILTER_VALUE_REQUISITE_NAME SYSRES_CONST_FLOAT_NUMBER_FORMAT_CHAR SYSRES_CONST_FLOAT_REQUISITE_TYPE SYSRES_CONST_FOLDER_AUTHOR_VALUE SYSRES_CONST_FOLDER_KIND_ANY_OBJECTS SYSRES_CONST_FOLDER_KIND_COMPONENTS SYSRES_CONST_FOLDER_KIND_EDOCS SYSRES_CONST_FOLDER_KIND_JOBS SYSRES_CONST_FOLDER_KIND_TASKS SYSRES_CONST_FOLDER_TYPE_COMMON SYSRES_CONST_FOLDER_TYPE_COMPONENT SYSRES_CONST_FOLDER_TYPE_FAVORITES SYSRES_CONST_FOLDER_TYPE_INBOX SYSRES_CONST_FOLDER_TYPE_OUTBOX SYSRES_CONST_FOLDER_TYPE_QUICK_LAUNCH SYSRES_CONST_FOLDER_TYPE_SEARCH SYSRES_CONST_FOLDER_TYPE_SHORTCUTS SYSRES_CONST_FOLDER_TYPE_USER SYSRES_CONST_FROM_DICTIONARY_ENUM_METHOD_FLAG SYSRES_CONST_FULL_SUBSTITUTE_TYPE SYSRES_CONST_FULL_SUBSTITUTE_TYPE_CODE SYSRES_CONST_FUNCTION_CANCEL_RESULT SYSRES_CONST_FUNCTION_CATEGORY_SYSTEM SYSRES_CONST_FUNCTION_CATEGORY_USER SYSRES_CONST_FUNCTION_FAILURE_RESULT SYSRES_CONST_FUNCTION_SAVE_RESULT SYSRES_CONST_GENERATED_REQUISITE SYSRES_CONST_GREEN_LIFE_CYCLE_STAGE_FONT_COLOR SYSRES_CONST_GROUP_ACCOUNT_TYPE_VALUE_CODE SYSRES_CONST_GROUP_CATEGORY_NORMAL_CODE SYSRES_CONST_GROUP_CATEGORY_NORMAL_NAME SYSRES_CONST_GROUP_CATEGORY_SERVICE_CODE SYSRES_CONST_GROUP_CATEGORY_SERVICE_NAME SYSRES_CONST_GROUP_COMMON_CATEGORY_FIELD_VALUE SYSRES_CONST_GROUP_FULL_NAME_REQUISITE_CODE SYSRES_CONST_GROUP_NAME_REQUISITE_CODE SYSRES_CONST_GROUP_RIGHTS_T_REQUISITE_CODE SYSRES_CONST_GROUP_SERVER_CODES_REQUISITE_CODE SYSRES_CONST_GROUP_SERVER_NAME_REQUISITE_CODE SYSRES_CONST_GROUP_SERVICE_CATEGORY_FIELD_VALUE SYSRES_CONST_GROUP_USER_REQUISITE_CODE SYSRES_CONST_GROUPS_REFERENCE_CODE SYSRES_CONST_GROUPS_REQUISITE_CODE SYSRES_CONST_HIDDEN_MODE_NAME SYSRES_CONST_HIGH_LVL_REQUISITE_CODE SYSRES_CONST_HISTORY_ACTION_CREATE_CODE SYSRES_CONST_HISTORY_ACTION_DELETE_CODE SYSRES_CONST_HISTORY_ACTION_EDIT_CODE SYSRES_CONST_HOUR_CHAR SYSRES_CONST_ID_REQUISITE_CODE SYSRES_CONST_IDSPS_REQUISITE_CODE SYSRES_CONST_IMAGE_MODE_COLOR SYSRES_CONST_IMAGE_MODE_GREYSCALE SYSRES_CONST_IMAGE_MODE_MONOCHROME SYSRES_CONST_IMPORTANCE_HIGH SYSRES_CONST_IMPORTANCE_LOW SYSRES_CONST_IMPORTANCE_NORMAL SYSRES_CONST_IN_DESIGN_VERSION_STATE_PICK_VALUE SYSRES_CONST_INCOMING_WORK_RULE_TYPE_CODE SYSRES_CONST_INT_REQUISITE SYSRES_CONST_INT_REQUISITE_TYPE SYSRES_CONST_INTEGER_NUMBER_FORMAT_CHAR SYSRES_CONST_INTEGER_TYPE_CHAR SYSRES_CONST_IS_GENERATED_REQUISITE_NEGATIVE_VALUE SYSRES_CONST_IS_PUBLIC_ROLE_REQUISITE_CODE SYSRES_CONST_IS_REMOTE_USER_NEGATIVE_VALUE SYSRES_CONST_IS_REMOTE_USER_POSITIVE_VALUE SYSRES_CONST_IS_STORED_REQUISITE_NEGATIVE_VALUE SYSRES_CONST_IS_STORED_REQUISITE_STORED_VALUE SYSRES_CONST_ITALIC_LIFE_CYCLE_STAGE_DRAW_STYLE SYSRES_CONST_JOB_BLOCK_DESCRIPTION SYSRES_CONST_JOB_KIND_CONTROL_JOB SYSRES_CONST_JOB_KIND_JOB SYSRES_CONST_JOB_KIND_NOTICE SYSRES_CONST_JOB_STATE_ABORTED SYSRES_CONST_JOB_STATE_COMPLETE SYSRES_CONST_JOB_STATE_WORKING SYSRES_CONST_KIND_REQUISITE_CODE SYSRES_CONST_KIND_REQUISITE_NAME SYSRES_CONST_KINDS_CREATE_SHADOW_COPIES_REQUISITE_CODE SYSRES_CONST_KINDS_DEFAULT_EDOC_LIFE_STAGE_REQUISITE_CODE SYSRES_CONST_KINDS_EDOC_ALL_TEPLATES_ALLOWED_REQUISITE_CODE SYSRES_CONST_KINDS_EDOC_ALLOW_LIFE_CYCLE_STAGE_CHANGING_REQUISITE_CODE SYSRES_CONST_KINDS_EDOC_ALLOW_MULTIPLE_ACTIVE_VERSIONS_REQUISITE_CODE SYSRES_CONST_KINDS_EDOC_SHARE_ACCES_RIGHTS_BY_DEFAULT_CODE SYSRES_CONST_KINDS_EDOC_TEMPLATE_REQUISITE_CODE SYSRES_CONST_KINDS_EDOC_TYPE_REQUISITE_CODE SYSRES_CONST_KINDS_SIGNERS_REQUISITES_CODE SYSRES_CONST_KOD_INPUT_TYPE SYSRES_CONST_LAST_UPDATE_DATE_REQUISITE_CODE SYSRES_CONST_LIFE_CYCLE_START_STAGE_REQUISITE_CODE SYSRES_CONST_LILAC_LIFE_CYCLE_STAGE_FONT_COLOR SYSRES_CONST_LINK_OBJECT_KIND_COMPONENT SYSRES_CONST_LINK_OBJECT_KIND_DOCUMENT SYSRES_CONST_LINK_OBJECT_KIND_EDOC SYSRES_CONST_LINK_OBJECT_KIND_FOLDER SYSRES_CONST_LINK_OBJECT_KIND_JOB SYSRES_CONST_LINK_OBJECT_KIND_REFERENCE SYSRES_CONST_LINK_OBJECT_KIND_TASK SYSRES_CONST_LINK_REF_TYPE_REQUISITE_CODE SYSRES_CONST_LIST_REFERENCE_MODE_NAME SYSRES_CONST_LOCALIZATION_DICTIONARY_MAIN_VIEW_CODE SYSRES_CONST_MAIN_VIEW_CODE SYSRES_CONST_MANUAL_ENUM_METHOD_FLAG SYSRES_CONST_MASTER_COMP_TYPE_REQUISITE_CODE SYSRES_CONST_MASTER_TABLE_REC_ID_REQUISITE_CODE SYSRES_CONST_MAXIMIZED_MODE_NAME SYSRES_CONST_ME_VALUE SYSRES_CONST_MESSAGE_ATTENTION_CAPTION SYSRES_CONST_MESSAGE_CONFIRMATION_CAPTION SYSRES_CONST_MESSAGE_ERROR_CAPTION SYSRES_CONST_MESSAGE_INFORMATION_CAPTION SYSRES_CONST_MINIMIZED_MODE_NAME SYSRES_CONST_MINUTE_CHAR SYSRES_CONST_MODULE_REQUISITE_CODE SYSRES_CONST_MONITORING_BLOCK_DESCRIPTION SYSRES_CONST_MONTH_FORMAT_VALUE SYSRES_CONST_NAME_LOCALIZE_ID_REQUISITE_CODE SYSRES_CONST_NAME_REQUISITE_CODE SYSRES_CONST_NAME_SINGULAR_REQUISITE_CODE SYSRES_CONST_NAMEAN_INPUT_TYPE SYSRES_CONST_NEGATIVE_PICK_VALUE SYSRES_CONST_NEGATIVE_VALUE SYSRES_CONST_NO SYSRES_CONST_NO_PICK_VALUE SYSRES_CONST_NO_SIGNATURE_REQUISITE_CODE SYSRES_CONST_NO_VALUE SYSRES_CONST_NONE_ACCESS_RIGHTS_TYPE_CODE SYSRES_CONST_NONOPERATING_RECORD_FLAG_VALUE SYSRES_CONST_NONOPERATING_RECORD_FLAG_VALUE_MASCULINE SYSRES_CONST_NORMAL_ACCESS_RIGHTS_TYPE_CODE SYSRES_CONST_NORMAL_LIFE_CYCLE_STAGE_DRAW_STYLE SYSRES_CONST_NORMAL_MODE_NAME SYSRES_CONST_NOT_ALLOWED_ACCESS_TYPE_CODE SYSRES_CONST_NOT_ALLOWED_ACCESS_TYPE_NAME SYSRES_CONST_NOTE_REQUISITE_CODE SYSRES_CONST_NOTICE_BLOCK_DESCRIPTION SYSRES_CONST_NUM_REQUISITE SYSRES_CONST_NUM_STR_REQUISITE_CODE SYSRES_CONST_NUMERATION_AUTO_NOT_STRONG SYSRES_CONST_NUMERATION_AUTO_STRONG SYSRES_CONST_NUMERATION_FROM_DICTONARY SYSRES_CONST_NUMERATION_MANUAL SYSRES_CONST_NUMERIC_TYPE_CHAR SYSRES_CONST_NUMREQ_REQUISITE_CODE SYSRES_CONST_OBSOLETE_VERSION_STATE_PICK_VALUE SYSRES_CONST_OPERATING_RECORD_FLAG_VALUE SYSRES_CONST_OPERATING_RECORD_FLAG_VALUE_CODE SYSRES_CONST_OPERATING_RECORD_FLAG_VALUE_FEMININE SYSRES_CONST_OPERATING_RECORD_FLAG_VALUE_MASCULINE SYSRES_CONST_OPTIONAL_FORM_COMP_REQCODE_PREFIX SYSRES_CONST_ORANGE_LIFE_CYCLE_STAGE_FONT_COLOR SYSRES_CONST_ORIGINALREF_REQUISITE_CODE SYSRES_CONST_OURFIRM_REF_CODE SYSRES_CONST_OURFIRM_REQUISITE_CODE SYSRES_CONST_OURFIRM_VAR SYSRES_CONST_OUTGOING_WORK_RULE_TYPE_CODE SYSRES_CONST_PICK_NEGATIVE_RESULT SYSRES_CONST_PICK_POSITIVE_RESULT SYSRES_CONST_PICK_REQUISITE SYSRES_CONST_PICK_REQUISITE_TYPE SYSRES_CONST_PICK_TYPE_CHAR SYSRES_CONST_PLAN_STATUS_REQUISITE_CODE SYSRES_CONST_PLATFORM_VERSION_COMMENT SYSRES_CONST_PLUGINS_SETTINGS_DESCRIPTION_REQUISITE_CODE SYSRES_CONST_POSITIVE_PICK_VALUE SYSRES_CONST_POWER_TO_CREATE_ACTION_CODE SYSRES_CONST_POWER_TO_SIGN_ACTION_CODE SYSRES_CONST_PRIORITY_REQUISITE_CODE SYSRES_CONST_QUALIFIED_TASK_TYPE SYSRES_CONST_QUALIFIED_TASK_TYPE_CODE SYSRES_CONST_RECSTAT_REQUISITE_CODE SYSRES_CONST_RED_LIFE_CYCLE_STAGE_FONT_COLOR SYSRES_CONST_REF_ID_T_REF_TYPE_REQUISITE_CODE SYSRES_CONST_REF_REQUISITE SYSRES_CONST_REF_REQUISITE_TYPE SYSRES_CONST_REF_REQUISITES_REFERENCE_CODE_SELECTED_REQUISITE SYSRES_CONST_REFERENCE_RECORD_HISTORY_CREATE_ACTION_CODE SYSRES_CONST_REFERENCE_RECORD_HISTORY_DELETE_ACTION_CODE SYSRES_CONST_REFERENCE_RECORD_HISTORY_MODIFY_ACTION_CODE SYSRES_CONST_REFERENCE_TYPE_CHAR SYSRES_CONST_REFERENCE_TYPE_REQUISITE_NAME SYSRES_CONST_REFERENCES_ADD_PARAMS_REQUISITE_CODE SYSRES_CONST_REFERENCES_DISPLAY_REQUISITE_REQUISITE_CODE SYSRES_CONST_REMOTE_SERVER_STATUS_WORKING SYSRES_CONST_REMOTE_SERVER_TYPE_MAIN SYSRES_CONST_REMOTE_SERVER_TYPE_SECONDARY SYSRES_CONST_REMOTE_USER_FLAG_VALUE_CODE SYSRES_CONST_REPORT_APP_EDITOR_INTERNAL SYSRES_CONST_REPORT_BASE_REPORT_ID_REQUISITE_CODE SYSRES_CONST_REPORT_BASE_REPORT_REQUISITE_CODE SYSRES_CONST_REPORT_SCRIPT_REQUISITE_CODE SYSRES_CONST_REPORT_TEMPLATE_REQUISITE_CODE SYSRES_CONST_REPORT_VIEWER_CODE_REQUISITE_CODE SYSRES_CONST_REQ_ALLOW_COMPONENT_DEFAULT_VALUE SYSRES_CONST_REQ_ALLOW_RECORD_DEFAULT_VALUE SYSRES_CONST_REQ_ALLOW_SERVER_COMPONENT_DEFAULT_VALUE SYSRES_CONST_REQ_MODE_AVAILABLE_CODE SYSRES_CONST_REQ_MODE_EDIT_CODE SYSRES_CONST_REQ_MODE_HIDDEN_CODE SYSRES_CONST_REQ_MODE_NOT_AVAILABLE_CODE SYSRES_CONST_REQ_MODE_VIEW_CODE SYSRES_CONST_REQ_NUMBER_REQUISITE_CODE SYSRES_CONST_REQ_SECTION_VALUE SYSRES_CONST_REQ_TYPE_VALUE SYSRES_CONST_REQUISITE_FORMAT_BY_UNIT SYSRES_CONST_REQUISITE_FORMAT_DATE_FULL SYSRES_CONST_REQUISITE_FORMAT_DATE_TIME SYSRES_CONST_REQUISITE_FORMAT_LEFT SYSRES_CONST_REQUISITE_FORMAT_RIGHT SYSRES_CONST_REQUISITE_FORMAT_WITHOUT_UNIT SYSRES_CONST_REQUISITE_NUMBER_REQUISITE_CODE SYSRES_CONST_REQUISITE_SECTION_ACTIONS SYSRES_CONST_REQUISITE_SECTION_BUTTON SYSRES_CONST_REQUISITE_SECTION_BUTTONS SYSRES_CONST_REQUISITE_SECTION_CARD SYSRES_CONST_REQUISITE_SECTION_TABLE SYSRES_CONST_REQUISITE_SECTION_TABLE10 SYSRES_CONST_REQUISITE_SECTION_TABLE11 SYSRES_CONST_REQUISITE_SECTION_TABLE12 SYSRES_CONST_REQUISITE_SECTION_TABLE13 SYSRES_CONST_REQUISITE_SECTION_TABLE14 SYSRES_CONST_REQUISITE_SECTION_TABLE15 SYSRES_CONST_REQUISITE_SECTION_TABLE16 SYSRES_CONST_REQUISITE_SECTION_TABLE17 SYSRES_CONST_REQUISITE_SECTION_TABLE18 SYSRES_CONST_REQUISITE_SECTION_TABLE19 SYSRES_CONST_REQUISITE_SECTION_TABLE2 SYSRES_CONST_REQUISITE_SECTION_TABLE20 SYSRES_CONST_REQUISITE_SECTION_TABLE21 SYSRES_CONST_REQUISITE_SECTION_TABLE22 SYSRES_CONST_REQUISITE_SECTION_TABLE23 SYSRES_CONST_REQUISITE_SECTION_TABLE24 SYSRES_CONST_REQUISITE_SECTION_TABLE3 SYSRES_CONST_REQUISITE_SECTION_TABLE4 SYSRES_CONST_REQUISITE_SECTION_TABLE5 SYSRES_CONST_REQUISITE_SECTION_TABLE6 SYSRES_CONST_REQUISITE_SECTION_TABLE7 SYSRES_CONST_REQUISITE_SECTION_TABLE8 SYSRES_CONST_REQUISITE_SECTION_TABLE9 SYSRES_CONST_REQUISITES_PSEUDOREFERENCE_REQUISITE_NUMBER_REQUISITE_CODE SYSRES_CONST_RIGHT_ALIGNMENT_CODE SYSRES_CONST_ROLES_REFERENCE_CODE SYSRES_CONST_ROUTE_STEP_AFTER_RUS SYSRES_CONST_ROUTE_STEP_AND_CONDITION_RUS SYSRES_CONST_ROUTE_STEP_OR_CONDITION_RUS SYSRES_CONST_ROUTE_TYPE_COMPLEX SYSRES_CONST_ROUTE_TYPE_PARALLEL SYSRES_CONST_ROUTE_TYPE_SERIAL SYSRES_CONST_SBDATASETDESC_NEGATIVE_VALUE SYSRES_CONST_SBDATASETDESC_POSITIVE_VALUE SYSRES_CONST_SBVIEWSDESC_POSITIVE_VALUE SYSRES_CONST_SCRIPT_BLOCK_DESCRIPTION SYSRES_CONST_SEARCH_BY_TEXT_REQUISITE_CODE SYSRES_CONST_SEARCHES_COMPONENT_CONTENT SYSRES_CONST_SEARCHES_CRITERIA_ACTION_NAME SYSRES_CONST_SEARCHES_EDOC_CONTENT SYSRES_CONST_SEARCHES_FOLDER_CONTENT SYSRES_CONST_SEARCHES_JOB_CONTENT SYSRES_CONST_SEARCHES_REFERENCE_CODE SYSRES_CONST_SEARCHES_TASK_CONTENT SYSRES_CONST_SECOND_CHAR SYSRES_CONST_SECTION_REQUISITE_ACTIONS_VALUE SYSRES_CONST_SECTION_REQUISITE_CARD_VALUE SYSRES_CONST_SECTION_REQUISITE_CODE SYSRES_CONST_SECTION_REQUISITE_DETAIL_1_VALUE SYSRES_CONST_SECTION_REQUISITE_DETAIL_2_VALUE SYSRES_CONST_SECTION_REQUISITE_DETAIL_3_VALUE SYSRES_CONST_SECTION_REQUISITE_DETAIL_4_VALUE SYSRES_CONST_SECTION_REQUISITE_DETAIL_5_VALUE SYSRES_CONST_SECTION_REQUISITE_DETAIL_6_VALUE SYSRES_CONST_SELECT_REFERENCE_MODE_NAME SYSRES_CONST_SELECT_TYPE_SELECTABLE SYSRES_CONST_SELECT_TYPE_SELECTABLE_ONLY_CHILD SYSRES_CONST_SELECT_TYPE_SELECTABLE_WITH_CHILD SYSRES_CONST_SELECT_TYPE_UNSLECTABLE SYSRES_CONST_SERVER_TYPE_MAIN SYSRES_CONST_SERVICE_USER_CATEGORY_FIELD_VALUE SYSRES_CONST_SETTINGS_USER_REQUISITE_CODE SYSRES_CONST_SIGNATURE_AND_ENCODE_CERTIFICATE_TYPE_CODE SYSRES_CONST_SIGNATURE_CERTIFICATE_TYPE_CODE SYSRES_CONST_SINGULAR_TITLE_REQUISITE_CODE SYSRES_CONST_SQL_SERVER_AUTHENTIFICATION_FLAG_VALUE_CODE SYSRES_CONST_SQL_SERVER_ENCODE_AUTHENTIFICATION_FLAG_VALUE_CODE SYSRES_CONST_STANDART_ROUTE_REFERENCE_CODE SYSRES_CONST_STANDART_ROUTE_REFERENCE_COMMENT_REQUISITE_CODE SYSRES_CONST_STANDART_ROUTES_GROUPS_REFERENCE_CODE SYSRES_CONST_STATE_REQ_NAME SYSRES_CONST_STATE_REQUISITE_ACTIVE_VALUE SYSRES_CONST_STATE_REQUISITE_CLOSED_VALUE SYSRES_CONST_STATE_REQUISITE_CODE SYSRES_CONST_STATIC_ROLE_TYPE_CODE SYSRES_CONST_STATUS_PLAN_DEFAULT_VALUE SYSRES_CONST_STATUS_VALUE_AUTOCLEANING SYSRES_CONST_STATUS_VALUE_BLUE_SQUARE SYSRES_CONST_STATUS_VALUE_COMPLETE SYSRES_CONST_STATUS_VALUE_GREEN_SQUARE SYSRES_CONST_STATUS_VALUE_ORANGE_SQUARE SYSRES_CONST_STATUS_VALUE_PURPLE_SQUARE SYSRES_CONST_STATUS_VALUE_RED_SQUARE SYSRES_CONST_STATUS_VALUE_SUSPEND SYSRES_CONST_STATUS_VALUE_YELLOW_SQUARE SYSRES_CONST_STDROUTE_SHOW_TO_USERS_REQUISITE_CODE SYSRES_CONST_STORAGE_TYPE_FILE SYSRES_CONST_STORAGE_TYPE_SQL_SERVER SYSRES_CONST_STR_REQUISITE SYSRES_CONST_STRIKEOUT_LIFE_CYCLE_STAGE_DRAW_STYLE SYSRES_CONST_STRING_FORMAT_LEFT_ALIGN_CHAR SYSRES_CONST_STRING_FORMAT_RIGHT_ALIGN_CHAR SYSRES_CONST_STRING_REQUISITE_CODE SYSRES_CONST_STRING_REQUISITE_TYPE SYSRES_CONST_STRING_TYPE_CHAR SYSRES_CONST_SUBSTITUTES_PSEUDOREFERENCE_CODE SYSRES_CONST_SUBTASK_BLOCK_DESCRIPTION SYSRES_CONST_SYSTEM_SETTING_CURRENT_USER_PARAM_VALUE SYSRES_CONST_SYSTEM_SETTING_EMPTY_VALUE_PARAM_VALUE SYSRES_CONST_SYSTEM_VERSION_COMMENT SYSRES_CONST_TASK_ACCESS_TYPE_ALL SYSRES_CONST_TASK_ACCESS_TYPE_ALL_MEMBERS SYSRES_CONST_TASK_ACCESS_TYPE_MANUAL SYSRES_CONST_TASK_ENCODE_TYPE_CERTIFICATION SYSRES_CONST_TASK_ENCODE_TYPE_CERTIFICATION_AND_PASSWORD SYSRES_CONST_TASK_ENCODE_TYPE_NONE SYSRES_CONST_TASK_ENCODE_TYPE_PASSWORD SYSRES_CONST_TASK_ROUTE_ALL_CONDITION SYSRES_CONST_TASK_ROUTE_AND_CONDITION SYSRES_CONST_TASK_ROUTE_OR_CONDITION SYSRES_CONST_TASK_STATE_ABORTED SYSRES_CONST_TASK_STATE_COMPLETE SYSRES_CONST_TASK_STATE_CONTINUED SYSRES_CONST_TASK_STATE_CONTROL SYSRES_CONST_TASK_STATE_INIT SYSRES_CONST_TASK_STATE_WORKING SYSRES_CONST_TASK_TITLE SYSRES_CONST_TASK_TYPES_GROUPS_REFERENCE_CODE SYSRES_CONST_TASK_TYPES_REFERENCE_CODE SYSRES_CONST_TEMPLATES_REFERENCE_CODE SYSRES_CONST_TEST_DATE_REQUISITE_NAME SYSRES_CONST_TEST_DEV_DATABASE_NAME SYSRES_CONST_TEST_DEV_SYSTEM_CODE SYSRES_CONST_TEST_EDMS_DATABASE_NAME SYSRES_CONST_TEST_EDMS_MAIN_CODE SYSRES_CONST_TEST_EDMS_MAIN_DB_NAME SYSRES_CONST_TEST_EDMS_SECOND_CODE SYSRES_CONST_TEST_EDMS_SECOND_DB_NAME SYSRES_CONST_TEST_EDMS_SYSTEM_CODE SYSRES_CONST_TEST_NUMERIC_REQUISITE_NAME SYSRES_CONST_TEXT_REQUISITE SYSRES_CONST_TEXT_REQUISITE_CODE SYSRES_CONST_TEXT_REQUISITE_TYPE SYSRES_CONST_TEXT_TYPE_CHAR SYSRES_CONST_TYPE_CODE_REQUISITE_CODE SYSRES_CONST_TYPE_REQUISITE_CODE SYSRES_CONST_UNDEFINED_LIFE_CYCLE_STAGE_FONT_COLOR SYSRES_CONST_UNITS_SECTION_ID_REQUISITE_CODE SYSRES_CONST_UNITS_SECTION_REQUISITE_CODE SYSRES_CONST_UNOPERATING_RECORD_FLAG_VALUE_CODE SYSRES_CONST_UNSTORED_DATA_REQUISITE_CODE SYSRES_CONST_UNSTORED_DATA_REQUISITE_NAME SYSRES_CONST_USE_ACCESS_TYPE_CODE SYSRES_CONST_USE_ACCESS_TYPE_NAME SYSRES_CONST_USER_ACCOUNT_TYPE_VALUE_CODE SYSRES_CONST_USER_ADDITIONAL_INFORMATION_REQUISITE_CODE SYSRES_CONST_USER_AND_GROUP_ID_FROM_PSEUDOREFERENCE_REQUISITE_CODE SYSRES_CONST_USER_CATEGORY_NORMAL SYSRES_CONST_USER_CERTIFICATE_REQUISITE_CODE SYSRES_CONST_USER_CERTIFICATE_STATE_REQUISITE_CODE SYSRES_CONST_USER_CERTIFICATE_SUBJECT_NAME_REQUISITE_CODE SYSRES_CONST_USER_CERTIFICATE_THUMBPRINT_REQUISITE_CODE SYSRES_CONST_USER_COMMON_CATEGORY SYSRES_CONST_USER_COMMON_CATEGORY_CODE SYSRES_CONST_USER_FULL_NAME_REQUISITE_CODE SYSRES_CONST_USER_GROUP_TYPE_REQUISITE_CODE SYSRES_CONST_USER_LOGIN_REQUISITE_CODE SYSRES_CONST_USER_REMOTE_CONTROLLER_REQUISITE_CODE SYSRES_CONST_USER_REMOTE_SYSTEM_REQUISITE_CODE SYSRES_CONST_USER_RIGHTS_T_REQUISITE_CODE SYSRES_CONST_USER_SERVER_NAME_REQUISITE_CODE SYSRES_CONST_USER_SERVICE_CATEGORY SYSRES_CONST_USER_SERVICE_CATEGORY_CODE SYSRES_CONST_USER_STATUS_ADMINISTRATOR_CODE SYSRES_CONST_USER_STATUS_ADMINISTRATOR_NAME SYSRES_CONST_USER_STATUS_DEVELOPER_CODE SYSRES_CONST_USER_STATUS_DEVELOPER_NAME SYSRES_CONST_USER_STATUS_DISABLED_CODE SYSRES_CONST_USER_STATUS_DISABLED_NAME SYSRES_CONST_USER_STATUS_SYSTEM_DEVELOPER_CODE SYSRES_CONST_USER_STATUS_USER_CODE SYSRES_CONST_USER_STATUS_USER_NAME SYSRES_CONST_USER_STATUS_USER_NAME_DEPRECATED SYSRES_CONST_USER_TYPE_FIELD_VALUE_USER SYSRES_CONST_USER_TYPE_REQUISITE_CODE SYSRES_CONST_USERS_CONTROLLER_REQUISITE_CODE SYSRES_CONST_USERS_IS_MAIN_SERVER_REQUISITE_CODE SYSRES_CONST_USERS_REFERENCE_CODE SYSRES_CONST_USERS_REGISTRATION_CERTIFICATES_ACTION_NAME SYSRES_CONST_USERS_REQUISITE_CODE SYSRES_CONST_USERS_SYSTEM_REQUISITE_CODE SYSRES_CONST_USERS_USER_ACCESS_RIGHTS_TYPR_REQUISITE_CODE SYSRES_CONST_USERS_USER_AUTHENTICATION_REQUISITE_CODE SYSRES_CONST_USERS_USER_COMPONENT_REQUISITE_CODE SYSRES_CONST_USERS_USER_GROUP_REQUISITE_CODE SYSRES_CONST_USERS_VIEW_CERTIFICATES_ACTION_NAME SYSRES_CONST_VIEW_DEFAULT_CODE SYSRES_CONST_VIEW_DEFAULT_NAME SYSRES_CONST_VIEWER_REQUISITE_CODE SYSRES_CONST_WAITING_BLOCK_DESCRIPTION SYSRES_CONST_WIZARD_FORM_LABEL_TEST_STRING SYSRES_CONST_WIZARD_QUERY_PARAM_HEIGHT_ETALON_STRING SYSRES_CONST_WIZARD_REFERENCE_COMMENT_REQUISITE_CODE SYSRES_CONST_WORK_RULES_DESCRIPTION_REQUISITE_CODE SYSRES_CONST_WORK_TIME_CALENDAR_REFERENCE_CODE SYSRES_CONST_WORK_WORKFLOW_HARD_ROUTE_TYPE_VALUE SYSRES_CONST_WORK_WORKFLOW_HARD_ROUTE_TYPE_VALUE_CODE SYSRES_CONST_WORK_WORKFLOW_HARD_ROUTE_TYPE_VALUE_CODE_RUS SYSRES_CONST_WORK_WORKFLOW_SOFT_ROUTE_TYPE_VALUE_CODE_RUS SYSRES_CONST_WORKFLOW_ROUTE_TYPR_HARD SYSRES_CONST_WORKFLOW_ROUTE_TYPR_SOFT SYSRES_CONST_XML_ENCODING SYSRES_CONST_XREC_STAT_REQUISITE_CODE SYSRES_CONST_XRECID_FIELD_NAME SYSRES_CONST_YES SYSRES_CONST_YES_NO_2_REQUISITE_CODE SYSRES_CONST_YES_NO_REQUISITE_CODE SYSRES_CONST_YES_NO_T_REF_TYPE_REQUISITE_CODE SYSRES_CONST_YES_PICK_VALUE SYSRES_CONST_YES_VALUE ",i="CR FALSE nil NO_VALUE NULL TAB TRUE YES_VALUE ",s="ADMINISTRATORS_GROUP_NAME CUSTOMIZERS_GROUP_NAME DEVELOPERS_GROUP_NAME SERVICE_USERS_GROUP_NAME ",o="DECISION_BLOCK_FIRST_OPERAND_PROPERTY DECISION_BLOCK_NAME_PROPERTY DECISION_BLOCK_OPERATION_PROPERTY DECISION_BLOCK_RESULT_TYPE_PROPERTY DECISION_BLOCK_SECOND_OPERAND_PROPERTY ",l="ANY_FILE_EXTENTION COMPRESSED_DOCUMENT_EXTENSION EXTENDED_DOCUMENT_EXTENSION SHORT_COMPRESSED_DOCUMENT_EXTENSION SHORT_EXTENDED_DOCUMENT_EXTENSION ",c="JOB_BLOCK_ABORT_DEADLINE_PROPERTY JOB_BLOCK_AFTER_FINISH_EVENT JOB_BLOCK_AFTER_QUERY_PARAMETERS_EVENT JOB_BLOCK_ATTACHMENT_PROPERTY JOB_BLOCK_ATTACHMENTS_RIGHTS_GROUP_PROPERTY JOB_BLOCK_ATTACHMENTS_RIGHTS_TYPE_PROPERTY JOB_BLOCK_BEFORE_QUERY_PARAMETERS_EVENT JOB_BLOCK_BEFORE_START_EVENT JOB_BLOCK_CREATED_JOBS_PROPERTY JOB_BLOCK_DEADLINE_PROPERTY JOB_BLOCK_EXECUTION_RESULTS_PROPERTY JOB_BLOCK_IS_PARALLEL_PROPERTY JOB_BLOCK_IS_RELATIVE_ABORT_DEADLINE_PROPERTY JOB_BLOCK_IS_RELATIVE_DEADLINE_PROPERTY JOB_BLOCK_JOB_TEXT_PROPERTY JOB_BLOCK_NAME_PROPERTY JOB_BLOCK_NEED_SIGN_ON_PERFORM_PROPERTY JOB_BLOCK_PERFORMER_PROPERTY JOB_BLOCK_RELATIVE_ABORT_DEADLINE_TYPE_PROPERTY JOB_BLOCK_RELATIVE_DEADLINE_TYPE_PROPERTY JOB_BLOCK_SUBJECT_PROPERTY ",_="ENGLISH_LANGUAGE_CODE RUSSIAN_LANGUAGE_CODE ",d="smHidden smMaximized smMinimized smNormal wmNo wmYes ",u="COMPONENT_TOKEN_LINK_KIND DOCUMENT_LINK_KIND EDOCUMENT_LINK_KIND FOLDER_LINK_KIND JOB_LINK_KIND REFERENCE_LINK_KIND TASK_LINK_KIND ",p="COMPONENT_TOKEN_LOCK_TYPE EDOCUMENT_VERSION_LOCK_TYPE ",m="MONITOR_BLOCK_AFTER_FINISH_EVENT MONITOR_BLOCK_BEFORE_START_EVENT MONITOR_BLOCK_DEADLINE_PROPERTY MONITOR_BLOCK_INTERVAL_PROPERTY MONITOR_BLOCK_INTERVAL_TYPE_PROPERTY MONITOR_BLOCK_IS_RELATIVE_DEADLINE_PROPERTY MONITOR_BLOCK_NAME_PROPERTY MONITOR_BLOCK_RELATIVE_DEADLINE_TYPE_PROPERTY MONITOR_BLOCK_SEARCH_SCRIPT_PROPERTY ",g="NOTICE_BLOCK_AFTER_FINISH_EVENT NOTICE_BLOCK_ATTACHMENT_PROPERTY NOTICE_BLOCK_ATTACHMENTS_RIGHTS_GROUP_PROPERTY NOTICE_BLOCK_ATTACHMENTS_RIGHTS_TYPE_PROPERTY NOTICE_BLOCK_BEFORE_START_EVENT NOTICE_BLOCK_CREATED_NOTICES_PROPERTY NOTICE_BLOCK_DEADLINE_PROPERTY NOTICE_BLOCK_IS_RELATIVE_DEADLINE_PROPERTY NOTICE_BLOCK_NAME_PROPERTY NOTICE_BLOCK_NOTICE_TEXT_PROPERTY NOTICE_BLOCK_PERFORMER_PROPERTY NOTICE_BLOCK_RELATIVE_DEADLINE_TYPE_PROPERTY NOTICE_BLOCK_SUBJECT_PROPERTY ",E="dseAfterCancel dseAfterClose dseAfterDelete dseAfterDeleteOutOfTransaction dseAfterInsert dseAfterOpen dseAfterScroll dseAfterUpdate dseAfterUpdateOutOfTransaction dseBeforeCancel dseBeforeClose dseBeforeDelete dseBeforeDetailUpdate dseBeforeInsert dseBeforeOpen dseBeforeUpdate dseOnAnyRequisiteChange dseOnCloseRecord dseOnDeleteError dseOnOpenRecord dseOnPrepareUpdate dseOnUpdateError dseOnUpdateRatifiedRecord dseOnValidDelete dseOnValidUpdate reOnChange reOnChangeValues SELECTION_BEGIN_ROUTE_EVENT SELECTION_END_ROUTE_EVENT ",S="CURRENT_PERIOD_IS_REQUIRED PREVIOUS_CARD_TYPE_NAME SHOW_RECORD_PROPERTIES_FORM ",b="ACCESS_RIGHTS_SETTING_DIALOG_CODE ADMINISTRATOR_USER_CODE ANALYTIC_REPORT_TYPE asrtHideLocal asrtHideRemote CALCULATED_ROLE_TYPE_CODE COMPONENTS_REFERENCE_DEVELOPER_VIEW_CODE DCTS_TEST_PROTOCOLS_FOLDER_PATH E_EDOC_VERSION_ALREADY_APPROVINGLY_SIGNED E_EDOC_VERSION_ALREADY_APPROVINGLY_SIGNED_BY_USER E_EDOC_VERSION_ALREDY_SIGNED E_EDOC_VERSION_ALREDY_SIGNED_BY_USER EDOC_TYPES_CODE_REQUISITE_FIELD_NAME EDOCUMENTS_ALIAS_NAME FILES_FOLDER_PATH FILTER_OPERANDS_DELIMITER FILTER_OPERATIONS_DELIMITER FORMCARD_NAME FORMLIST_NAME GET_EXTENDED_DOCUMENT_EXTENSION_CREATION_MODE GET_EXTENDED_DOCUMENT_EXTENSION_IMPORT_MODE INTEGRATED_REPORT_TYPE IS_BUILDER_APPLICATION_ROLE IS_BUILDER_APPLICATION_ROLE2 IS_BUILDER_USERS ISBSYSDEV LOG_FOLDER_PATH mbCancel mbNo mbNoToAll mbOK mbYes mbYesToAll MEMORY_DATASET_DESRIPTIONS_FILENAME mrNo mrNoToAll mrYes mrYesToAll MULTIPLE_SELECT_DIALOG_CODE NONOPERATING_RECORD_FLAG_FEMININE NONOPERATING_RECORD_FLAG_MASCULINE OPERATING_RECORD_FLAG_FEMININE OPERATING_RECORD_FLAG_MASCULINE PROFILING_SETTINGS_COMMON_SETTINGS_CODE_VALUE PROGRAM_INITIATED_LOOKUP_ACTION ratDelete ratEdit ratInsert REPORT_TYPE REQUIRED_PICK_VALUES_VARIABLE rmCard rmList SBRTE_PROGID_DEV SBRTE_PROGID_RELEASE STATIC_ROLE_TYPE_CODE SUPPRESS_EMPTY_TEMPLATE_CREATION SYSTEM_USER_CODE UPDATE_DIALOG_DATASET USED_IN_OBJECT_HINT_PARAM USER_INITIATED_LOOKUP_ACTION USER_NAME_FORMAT USER_SELECTION_RESTRICTIONS WORKFLOW_TEST_PROTOCOLS_FOLDER_PATH ELS_SUBTYPE_CONTROL_NAME ELS_FOLDER_KIND_CONTROL_NAME REPEAT_PROCESS_CURRENT_OBJECT_EXCEPTION_NAME ",f="PRIVILEGE_COMPONENT_FULL_ACCESS PRIVILEGE_DEVELOPMENT_EXPORT PRIVILEGE_DEVELOPMENT_IMPORT PRIVILEGE_DOCUMENT_DELETE PRIVILEGE_ESD PRIVILEGE_FOLDER_DELETE PRIVILEGE_MANAGE_ACCESS_RIGHTS PRIVILEGE_MANAGE_REPLICATION PRIVILEGE_MANAGE_SESSION_SERVER PRIVILEGE_OBJECT_FULL_ACCESS PRIVILEGE_OBJECT_VIEW PRIVILEGE_RESERVE_LICENSE PRIVILEGE_SYSTEM_CUSTOMIZE PRIVILEGE_SYSTEM_DEVELOP PRIVILEGE_SYSTEM_INSTALL PRIVILEGE_TASK_DELETE PRIVILEGE_USER_PLUGIN_SETTINGS_CUSTOMIZE PRIVILEGES_PSEUDOREFERENCE_CODE ",h="ACCESS_TYPES_PSEUDOREFERENCE_CODE ALL_AVAILABLE_COMPONENTS_PSEUDOREFERENCE_CODE ALL_AVAILABLE_PRIVILEGES_PSEUDOREFERENCE_CODE ALL_REPLICATE_COMPONENTS_PSEUDOREFERENCE_CODE AVAILABLE_DEVELOPERS_COMPONENTS_PSEUDOREFERENCE_CODE COMPONENTS_PSEUDOREFERENCE_CODE FILTRATER_SETTINGS_CONFLICTS_PSEUDOREFERENCE_CODE GROUPS_PSEUDOREFERENCE_CODE RECEIVE_PROTOCOL_PSEUDOREFERENCE_CODE REFERENCE_REQUISITE_PSEUDOREFERENCE_CODE REFERENCE_REQUISITES_PSEUDOREFERENCE_CODE REFTYPES_PSEUDOREFERENCE_CODE REPLICATION_SEANCES_DIARY_PSEUDOREFERENCE_CODE SEND_PROTOCOL_PSEUDOREFERENCE_CODE SUBSTITUTES_PSEUDOREFERENCE_CODE SYSTEM_SETTINGS_PSEUDOREFERENCE_CODE UNITS_PSEUDOREFERENCE_CODE USERS_PSEUDOREFERENCE_CODE VIEWERS_PSEUDOREFERENCE_CODE ",T="CERTIFICATE_TYPE_ENCRYPT CERTIFICATE_TYPE_SIGN CERTIFICATE_TYPE_SIGN_AND_ENCRYPT ",C="STORAGE_TYPE_FILE STORAGE_TYPE_NAS_CIFS STORAGE_TYPE_SAPERION STORAGE_TYPE_SQL_SERVER ",y="COMPTYPE2_REQUISITE_DOCUMENTS_VALUE COMPTYPE2_REQUISITE_TASKS_VALUE COMPTYPE2_REQUISITE_FOLDERS_VALUE COMPTYPE2_REQUISITE_REFERENCES_VALUE ",N="SYSREQ_CODE SYSREQ_COMPTYPE2 SYSREQ_CONST_AVAILABLE_FOR_WEB SYSREQ_CONST_COMMON_CODE SYSREQ_CONST_COMMON_VALUE SYSREQ_CONST_FIRM_CODE SYSREQ_CONST_FIRM_STATUS SYSREQ_CONST_FIRM_VALUE SYSREQ_CONST_SERVER_STATUS SYSREQ_CONTENTS SYSREQ_DATE_OPEN SYSREQ_DATE_CLOSE SYSREQ_DESCRIPTION SYSREQ_DESCRIPTION_LOCALIZE_ID SYSREQ_DOUBLE SYSREQ_EDOC_ACCESS_TYPE SYSREQ_EDOC_AUTHOR SYSREQ_EDOC_CREATED SYSREQ_EDOC_DELEGATE_RIGHTS_REQUISITE_CODE SYSREQ_EDOC_EDITOR SYSREQ_EDOC_ENCODE_TYPE SYSREQ_EDOC_ENCRYPTION_PLUGIN_NAME SYSREQ_EDOC_ENCRYPTION_PLUGIN_VERSION SYSREQ_EDOC_EXPORT_DATE SYSREQ_EDOC_EXPORTER SYSREQ_EDOC_KIND SYSREQ_EDOC_LIFE_STAGE_NAME SYSREQ_EDOC_LOCKED_FOR_SERVER_CODE SYSREQ_EDOC_MODIFIED SYSREQ_EDOC_NAME SYSREQ_EDOC_NOTE SYSREQ_EDOC_QUALIFIED_ID SYSREQ_EDOC_SESSION_KEY SYSREQ_EDOC_SESSION_KEY_ENCRYPTION_PLUGIN_NAME SYSREQ_EDOC_SESSION_KEY_ENCRYPTION_PLUGIN_VERSION SYSREQ_EDOC_SIGNATURE_TYPE SYSREQ_EDOC_SIGNED SYSREQ_EDOC_STORAGE SYSREQ_EDOC_STORAGES_ARCHIVE_STORAGE SYSREQ_EDOC_STORAGES_CHECK_RIGHTS SYSREQ_EDOC_STORAGES_COMPUTER_NAME SYSREQ_EDOC_STORAGES_EDIT_IN_STORAGE SYSREQ_EDOC_STORAGES_EXECUTIVE_STORAGE SYSREQ_EDOC_STORAGES_FUNCTION SYSREQ_EDOC_STORAGES_INITIALIZED SYSREQ_EDOC_STORAGES_LOCAL_PATH SYSREQ_EDOC_STORAGES_SAPERION_DATABASE_NAME SYSREQ_EDOC_STORAGES_SEARCH_BY_TEXT SYSREQ_EDOC_STORAGES_SERVER_NAME SYSREQ_EDOC_STORAGES_SHARED_SOURCE_NAME SYSREQ_EDOC_STORAGES_TYPE SYSREQ_EDOC_TEXT_MODIFIED SYSREQ_EDOC_TYPE_ACT_CODE SYSREQ_EDOC_TYPE_ACT_DESCRIPTION SYSREQ_EDOC_TYPE_ACT_DESCRIPTION_LOCALIZE_ID SYSREQ_EDOC_TYPE_ACT_ON_EXECUTE SYSREQ_EDOC_TYPE_ACT_ON_EXECUTE_EXISTS SYSREQ_EDOC_TYPE_ACT_SECTION SYSREQ_EDOC_TYPE_ADD_PARAMS SYSREQ_EDOC_TYPE_COMMENT SYSREQ_EDOC_TYPE_EVENT_TEXT SYSREQ_EDOC_TYPE_NAME_IN_SINGULAR SYSREQ_EDOC_TYPE_NAME_IN_SINGULAR_LOCALIZE_ID SYSREQ_EDOC_TYPE_NAME_LOCALIZE_ID SYSREQ_EDOC_TYPE_NUMERATION_METHOD SYSREQ_EDOC_TYPE_PSEUDO_REQUISITE_CODE SYSREQ_EDOC_TYPE_REQ_CODE SYSREQ_EDOC_TYPE_REQ_DESCRIPTION SYSREQ_EDOC_TYPE_REQ_DESCRIPTION_LOCALIZE_ID SYSREQ_EDOC_TYPE_REQ_IS_LEADING SYSREQ_EDOC_TYPE_REQ_IS_REQUIRED SYSREQ_EDOC_TYPE_REQ_NUMBER SYSREQ_EDOC_TYPE_REQ_ON_CHANGE SYSREQ_EDOC_TYPE_REQ_ON_CHANGE_EXISTS SYSREQ_EDOC_TYPE_REQ_ON_SELECT SYSREQ_EDOC_TYPE_REQ_ON_SELECT_KIND SYSREQ_EDOC_TYPE_REQ_SECTION SYSREQ_EDOC_TYPE_VIEW_CARD SYSREQ_EDOC_TYPE_VIEW_CODE SYSREQ_EDOC_TYPE_VIEW_COMMENT SYSREQ_EDOC_TYPE_VIEW_IS_MAIN SYSREQ_EDOC_TYPE_VIEW_NAME SYSREQ_EDOC_TYPE_VIEW_NAME_LOCALIZE_ID SYSREQ_EDOC_VERSION_AUTHOR SYSREQ_EDOC_VERSION_CRC SYSREQ_EDOC_VERSION_DATA SYSREQ_EDOC_VERSION_EDITOR SYSREQ_EDOC_VERSION_EXPORT_DATE SYSREQ_EDOC_VERSION_EXPORTER SYSREQ_EDOC_VERSION_HIDDEN SYSREQ_EDOC_VERSION_LIFE_STAGE SYSREQ_EDOC_VERSION_MODIFIED SYSREQ_EDOC_VERSION_NOTE SYSREQ_EDOC_VERSION_SIGNATURE_TYPE SYSREQ_EDOC_VERSION_SIGNED SYSREQ_EDOC_VERSION_SIZE SYSREQ_EDOC_VERSION_SOURCE SYSREQ_EDOC_VERSION_TEXT_MODIFIED SYSREQ_EDOCKIND_DEFAULT_VERSION_STATE_CODE SYSREQ_FOLDER_KIND SYSREQ_FUNC_CATEGORY SYSREQ_FUNC_COMMENT SYSREQ_FUNC_GROUP SYSREQ_FUNC_GROUP_COMMENT SYSREQ_FUNC_GROUP_NUMBER SYSREQ_FUNC_HELP SYSREQ_FUNC_PARAM_DEF_VALUE SYSREQ_FUNC_PARAM_IDENT SYSREQ_FUNC_PARAM_NUMBER SYSREQ_FUNC_PARAM_TYPE SYSREQ_FUNC_TEXT SYSREQ_GROUP_CATEGORY SYSREQ_ID SYSREQ_LAST_UPDATE SYSREQ_LEADER_REFERENCE SYSREQ_LINE_NUMBER SYSREQ_MAIN_RECORD_ID SYSREQ_NAME SYSREQ_NAME_LOCALIZE_ID SYSREQ_NOTE SYSREQ_ORIGINAL_RECORD SYSREQ_OUR_FIRM SYSREQ_PROFILING_SETTINGS_BATCH_LOGING SYSREQ_PROFILING_SETTINGS_BATCH_SIZE SYSREQ_PROFILING_SETTINGS_PROFILING_ENABLED SYSREQ_PROFILING_SETTINGS_SQL_PROFILING_ENABLED SYSREQ_PROFILING_SETTINGS_START_LOGGED SYSREQ_RECORD_STATUS SYSREQ_REF_REQ_FIELD_NAME SYSREQ_REF_REQ_FORMAT SYSREQ_REF_REQ_GENERATED SYSREQ_REF_REQ_LENGTH SYSREQ_REF_REQ_PRECISION SYSREQ_REF_REQ_REFERENCE SYSREQ_REF_REQ_SECTION SYSREQ_REF_REQ_STORED SYSREQ_REF_REQ_TOKENS SYSREQ_REF_REQ_TYPE SYSREQ_REF_REQ_VIEW SYSREQ_REF_TYPE_ACT_CODE SYSREQ_REF_TYPE_ACT_DESCRIPTION SYSREQ_REF_TYPE_ACT_DESCRIPTION_LOCALIZE_ID SYSREQ_REF_TYPE_ACT_ON_EXECUTE SYSREQ_REF_TYPE_ACT_ON_EXECUTE_EXISTS SYSREQ_REF_TYPE_ACT_SECTION SYSREQ_REF_TYPE_ADD_PARAMS SYSREQ_REF_TYPE_COMMENT SYSREQ_REF_TYPE_COMMON_SETTINGS SYSREQ_REF_TYPE_DISPLAY_REQUISITE_NAME SYSREQ_REF_TYPE_EVENT_TEXT SYSREQ_REF_TYPE_MAIN_LEADING_REF SYSREQ_REF_TYPE_NAME_IN_SINGULAR SYSREQ_REF_TYPE_NAME_IN_SINGULAR_LOCALIZE_ID SYSREQ_REF_TYPE_NAME_LOCALIZE_ID SYSREQ_REF_TYPE_NUMERATION_METHOD SYSREQ_REF_TYPE_REQ_CODE SYSREQ_REF_TYPE_REQ_DESCRIPTION SYSREQ_REF_TYPE_REQ_DESCRIPTION_LOCALIZE_ID SYSREQ_REF_TYPE_REQ_IS_CONTROL SYSREQ_REF_TYPE_REQ_IS_FILTER SYSREQ_REF_TYPE_REQ_IS_LEADING SYSREQ_REF_TYPE_REQ_IS_REQUIRED SYSREQ_REF_TYPE_REQ_NUMBER SYSREQ_REF_TYPE_REQ_ON_CHANGE SYSREQ_REF_TYPE_REQ_ON_CHANGE_EXISTS SYSREQ_REF_TYPE_REQ_ON_SELECT SYSREQ_REF_TYPE_REQ_ON_SELECT_KIND SYSREQ_REF_TYPE_REQ_SECTION SYSREQ_REF_TYPE_VIEW_CARD SYSREQ_REF_TYPE_VIEW_CODE SYSREQ_REF_TYPE_VIEW_COMMENT SYSREQ_REF_TYPE_VIEW_IS_MAIN SYSREQ_REF_TYPE_VIEW_NAME SYSREQ_REF_TYPE_VIEW_NAME_LOCALIZE_ID SYSREQ_REFERENCE_TYPE_ID SYSREQ_STATE SYSREQ_STATЕ SYSREQ_SYSTEM_SETTINGS_VALUE SYSREQ_TYPE SYSREQ_UNIT SYSREQ_UNIT_ID SYSREQ_USER_GROUPS_GROUP_FULL_NAME SYSREQ_USER_GROUPS_GROUP_NAME SYSREQ_USER_GROUPS_GROUP_SERVER_NAME SYSREQ_USERS_ACCESS_RIGHTS SYSREQ_USERS_AUTHENTICATION SYSREQ_USERS_CATEGORY SYSREQ_USERS_COMPONENT SYSREQ_USERS_COMPONENT_USER_IS_PUBLIC SYSREQ_USERS_DOMAIN SYSREQ_USERS_FULL_USER_NAME SYSREQ_USERS_GROUP SYSREQ_USERS_IS_MAIN_SERVER SYSREQ_USERS_LOGIN SYSREQ_USERS_REFERENCE_USER_IS_PUBLIC SYSREQ_USERS_STATUS SYSREQ_USERS_USER_CERTIFICATE SYSREQ_USERS_USER_CERTIFICATE_INFO SYSREQ_USERS_USER_CERTIFICATE_PLUGIN_NAME SYSREQ_USERS_USER_CERTIFICATE_PLUGIN_VERSION SYSREQ_USERS_USER_CERTIFICATE_STATE SYSREQ_USERS_USER_CERTIFICATE_SUBJECT_NAME SYSREQ_USERS_USER_CERTIFICATE_THUMBPRINT SYSREQ_USERS_USER_DEFAULT_CERTIFICATE SYSREQ_USERS_USER_DESCRIPTION SYSREQ_USERS_USER_GLOBAL_NAME SYSREQ_USERS_USER_LOGIN SYSREQ_USERS_USER_MAIN_SERVER SYSREQ_USERS_USER_TYPE SYSREQ_WORK_RULES_FOLDER_ID ",v="RESULT_VAR_NAME RESULT_VAR_NAME_ENG ",R="AUTO_NUMERATION_RULE_ID CANT_CHANGE_ID_REQUISITE_RULE_ID CANT_CHANGE_OURFIRM_REQUISITE_RULE_ID CHECK_CHANGING_REFERENCE_RECORD_USE_RULE_ID CHECK_CODE_REQUISITE_RULE_ID CHECK_DELETING_REFERENCE_RECORD_USE_RULE_ID CHECK_FILTRATER_CHANGES_RULE_ID CHECK_RECORD_INTERVAL_RULE_ID CHECK_REFERENCE_INTERVAL_RULE_ID CHECK_REQUIRED_DATA_FULLNESS_RULE_ID CHECK_REQUIRED_REQUISITES_FULLNESS_RULE_ID MAKE_RECORD_UNRATIFIED_RULE_ID RESTORE_AUTO_NUMERATION_RULE_ID SET_FIRM_CONTEXT_FROM_RECORD_RULE_ID SET_FIRST_RECORD_IN_LIST_FORM_RULE_ID SET_IDSPS_VALUE_RULE_ID SET_NEXT_CODE_VALUE_RULE_ID SET_OURFIRM_BOUNDS_RULE_ID SET_OURFIRM_REQUISITE_RULE_ID ",O="SCRIPT_BLOCK_AFTER_FINISH_EVENT SCRIPT_BLOCK_BEFORE_START_EVENT SCRIPT_BLOCK_EXECUTION_RESULTS_PROPERTY SCRIPT_BLOCK_NAME_PROPERTY SCRIPT_BLOCK_SCRIPT_PROPERTY ",A="SUBTASK_BLOCK_ABORT_DEADLINE_PROPERTY SUBTASK_BLOCK_AFTER_FINISH_EVENT SUBTASK_BLOCK_ASSIGN_PARAMS_EVENT SUBTASK_BLOCK_ATTACHMENTS_PROPERTY SUBTASK_BLOCK_ATTACHMENTS_RIGHTS_GROUP_PROPERTY SUBTASK_BLOCK_ATTACHMENTS_RIGHTS_TYPE_PROPERTY SUBTASK_BLOCK_BEFORE_START_EVENT SUBTASK_BLOCK_CREATED_TASK_PROPERTY SUBTASK_BLOCK_CREATION_EVENT SUBTASK_BLOCK_DEADLINE_PROPERTY SUBTASK_BLOCK_IMPORTANCE_PROPERTY SUBTASK_BLOCK_INITIATOR_PROPERTY SUBTASK_BLOCK_IS_RELATIVE_ABORT_DEADLINE_PROPERTY SUBTASK_BLOCK_IS_RELATIVE_DEADLINE_PROPERTY SUBTASK_BLOCK_JOBS_TYPE_PROPERTY SUBTASK_BLOCK_NAME_PROPERTY SUBTASK_BLOCK_PARALLEL_ROUTE_PROPERTY SUBTASK_BLOCK_PERFORMERS_PROPERTY SUBTASK_BLOCK_RELATIVE_ABORT_DEADLINE_TYPE_PROPERTY SUBTASK_BLOCK_RELATIVE_DEADLINE_TYPE_PROPERTY SUBTASK_BLOCK_REQUIRE_SIGN_PROPERTY SUBTASK_BLOCK_STANDARD_ROUTE_PROPERTY SUBTASK_BLOCK_START_EVENT SUBTASK_BLOCK_STEP_CONTROL_PROPERTY SUBTASK_BLOCK_SUBJECT_PROPERTY SUBTASK_BLOCK_TASK_CONTROL_PROPERTY SUBTASK_BLOCK_TEXT_PROPERTY SUBTASK_BLOCK_UNLOCK_ATTACHMENTS_ON_STOP_PROPERTY SUBTASK_BLOCK_USE_STANDARD_ROUTE_PROPERTY SUBTASK_BLOCK_WAIT_FOR_TASK_COMPLETE_PROPERTY ",I="SYSCOMP_CONTROL_JOBS SYSCOMP_FOLDERS SYSCOMP_JOBS SYSCOMP_NOTICES SYSCOMP_TASKS ",D="SYSDLG_CREATE_EDOCUMENT SYSDLG_CREATE_EDOCUMENT_VERSION SYSDLG_CURRENT_PERIOD SYSDLG_EDIT_FUNCTION_HELP SYSDLG_EDOCUMENT_KINDS_FOR_TEMPLATE SYSDLG_EXPORT_MULTIPLE_EDOCUMENTS SYSDLG_EXPORT_SINGLE_EDOCUMENT SYSDLG_IMPORT_EDOCUMENT SYSDLG_MULTIPLE_SELECT SYSDLG_SETUP_ACCESS_RIGHTS SYSDLG_SETUP_DEFAULT_RIGHTS SYSDLG_SETUP_FILTER_CONDITION SYSDLG_SETUP_SIGN_RIGHTS SYSDLG_SETUP_TASK_OBSERVERS SYSDLG_SETUP_TASK_ROUTE SYSDLG_SETUP_USERS_LIST SYSDLG_SIGN_EDOCUMENT SYSDLG_SIGN_MULTIPLE_EDOCUMENTS ",x="SYSREF_ACCESS_RIGHTS_TYPES SYSREF_ADMINISTRATION_HISTORY SYSREF_ALL_AVAILABLE_COMPONENTS SYSREF_ALL_AVAILABLE_PRIVILEGES SYSREF_ALL_REPLICATING_COMPONENTS SYSREF_AVAILABLE_DEVELOPERS_COMPONENTS SYSREF_CALENDAR_EVENTS SYSREF_COMPONENT_TOKEN_HISTORY SYSREF_COMPONENT_TOKENS SYSREF_COMPONENTS SYSREF_CONSTANTS SYSREF_DATA_RECEIVE_PROTOCOL SYSREF_DATA_SEND_PROTOCOL SYSREF_DIALOGS SYSREF_DIALOGS_REQUISITES SYSREF_EDITORS SYSREF_EDOC_CARDS SYSREF_EDOC_TYPES SYSREF_EDOCUMENT_CARD_REQUISITES SYSREF_EDOCUMENT_CARD_TYPES SYSREF_EDOCUMENT_CARD_TYPES_REFERENCE SYSREF_EDOCUMENT_CARDS SYSREF_EDOCUMENT_HISTORY SYSREF_EDOCUMENT_KINDS SYSREF_EDOCUMENT_REQUISITES SYSREF_EDOCUMENT_SIGNATURES SYSREF_EDOCUMENT_TEMPLATES SYSREF_EDOCUMENT_TEXT_STORAGES SYSREF_EDOCUMENT_VIEWS SYSREF_FILTERER_SETUP_CONFLICTS SYSREF_FILTRATER_SETTING_CONFLICTS SYSREF_FOLDER_HISTORY SYSREF_FOLDERS SYSREF_FUNCTION_GROUPS SYSREF_FUNCTION_PARAMS SYSREF_FUNCTIONS SYSREF_JOB_HISTORY SYSREF_LINKS SYSREF_LOCALIZATION_DICTIONARY SYSREF_LOCALIZATION_LANGUAGES SYSREF_MODULES SYSREF_PRIVILEGES SYSREF_RECORD_HISTORY SYSREF_REFERENCE_REQUISITES SYSREF_REFERENCE_TYPE_VIEWS SYSREF_REFERENCE_TYPES SYSREF_REFERENCES SYSREF_REFERENCES_REQUISITES SYSREF_REMOTE_SERVERS SYSREF_REPLICATION_SESSIONS_LOG SYSREF_REPLICATION_SESSIONS_PROTOCOL SYSREF_REPORTS SYSREF_ROLES SYSREF_ROUTE_BLOCK_GROUPS SYSREF_ROUTE_BLOCKS SYSREF_SCRIPTS SYSREF_SEARCHES SYSREF_SERVER_EVENTS SYSREF_SERVER_EVENTS_HISTORY SYSREF_STANDARD_ROUTE_GROUPS SYSREF_STANDARD_ROUTES SYSREF_STATUSES SYSREF_SYSTEM_SETTINGS SYSREF_TASK_HISTORY SYSREF_TASK_KIND_GROUPS SYSREF_TASK_KINDS SYSREF_TASK_RIGHTS SYSREF_TASK_SIGNATURES SYSREF_TASKS SYSREF_UNITS SYSREF_USER_GROUPS SYSREF_USER_GROUPS_REFERENCE SYSREF_USER_SUBSTITUTION SYSREF_USERS SYSREF_USERS_REFERENCE SYSREF_VIEWERS SYSREF_WORKING_TIME_CALENDARS ",w="ACCESS_RIGHTS_TABLE_NAME EDMS_ACCESS_TABLE_NAME EDOC_TYPES_TABLE_NAME ",M="TEST_DEV_DB_NAME TEST_DEV_SYSTEM_CODE TEST_EDMS_DB_NAME TEST_EDMS_MAIN_CODE TEST_EDMS_MAIN_DB_NAME TEST_EDMS_SECOND_CODE TEST_EDMS_SECOND_DB_NAME TEST_EDMS_SYSTEM_CODE TEST_ISB5_MAIN_CODE TEST_ISB5_SECOND_CODE TEST_SQL_SERVER_2005_NAME TEST_SQL_SERVER_NAME ",L="ATTENTION_CAPTION cbsCommandLinks cbsDefault CONFIRMATION_CAPTION ERROR_CAPTION INFORMATION_CAPTION mrCancel mrOk ",k="EDOC_VERSION_ACTIVE_STAGE_CODE EDOC_VERSION_DESIGN_STAGE_CODE EDOC_VERSION_OBSOLETE_STAGE_CODE ",P="cpDataEnciphermentEnabled cpDigitalSignatureEnabled cpID cpIssuer cpPluginVersion cpSerial cpSubjectName cpSubjSimpleName cpValidFromDate cpValidToDate ",F="ISBL_SYNTAX NO_SYNTAX XML_SYNTAX ",U="WAIT_BLOCK_AFTER_FINISH_EVENT WAIT_BLOCK_BEFORE_START_EVENT WAIT_BLOCK_DEADLINE_PROPERTY WAIT_BLOCK_IS_RELATIVE_DEADLINE_PROPERTY WAIT_BLOCK_NAME_PROPERTY WAIT_BLOCK_RELATIVE_DEADLINE_TYPE_PROPERTY ",B="SYSRES_COMMON SYSRES_CONST SYSRES_MBFUNC SYSRES_SBDATA SYSRES_SBGUI SYSRES_SBINTF SYSRES_SBREFDSC SYSRES_SQLERRORS SYSRES_SYSCOMP ",G=a+i+s+o+l+c+_+d+u+p+m+g+E+S+b+f+h+T+C+y+N+v+R+O+A+I+D+x+w+M+L+k+P+F+U+B,Y="atUser atGroup atRole ",z="aemEnabledAlways aemDisabledAlways aemEnabledOnBrowse aemEnabledOnEdit aemDisabledOnBrowseEmpty ",q="apBegin apEnd ",H="alLeft alRight ",V="asmNever asmNoButCustomize asmAsLastTime asmYesButCustomize asmAlways ",$="cirCommon cirRevoked ",W="ctSignature ctEncode ctSignatureEncode ",Q="clbUnchecked clbChecked clbGrayed ",j="ceISB ceAlways ceNever ",K="ctDocument ctReference ctScript ctUnknown ctReport ctDialog ctFunction ctFolder ctEDocument ctTask ctJob ctNotice ctControlJob ",X="cfInternal cfDisplay ",Z="ciUnspecified ciWrite ciRead ",J="ckFolder ckEDocument ckTask ckJob ckComponentToken ckAny ckReference ckScript ckReport ckDialog ",ee="ctISBLEditor ctBevel ctButton ctCheckListBox ctComboBox ctComboEdit ctGrid ctDBCheckBox ctDBComboBox ctDBEdit ctDBEllipsis ctDBMemo ctDBNavigator ctDBRadioGroup ctDBStatusLabel ctEdit ctGroupBox ctInplaceHint ctMemo ctPanel ctListBox ctRadioButton ctRichEdit ctTabSheet ctWebBrowser ctImage ctHyperLink ctLabel ctDBMultiEllipsis ctRibbon ctRichView ctInnerPanel ctPanelGroup ctBitButton ",te="cctDate cctInteger cctNumeric cctPick cctReference cctString cctText ",ne="cltInternal cltPrimary cltGUI ",re="dseBeforeOpen dseAfterOpen dseBeforeClose dseAfterClose dseOnValidDelete dseBeforeDelete dseAfterDelete dseAfterDeleteOutOfTransaction dseOnDeleteError dseBeforeInsert dseAfterInsert dseOnValidUpdate dseBeforeUpdate dseOnUpdateRatifiedRecord dseAfterUpdate dseAfterUpdateOutOfTransaction dseOnUpdateError dseAfterScroll dseOnOpenRecord dseOnCloseRecord dseBeforeCancel dseAfterCancel dseOnUpdateDeadlockError dseBeforeDetailUpdate dseOnPrepareUpdate dseOnAnyRequisiteChange ",ae="dssEdit dssInsert dssBrowse dssInActive ",ie="dftDate dftShortDate dftDateTime dftTimeStamp ",se="dotDays dotHours dotMinutes dotSeconds ",oe="dtkndLocal dtkndUTC ",le="arNone arView arEdit arFull ",ce="ddaView ddaEdit ",_e="emLock emEdit emSign emExportWithLock emImportWithUnlock emChangeVersionNote emOpenForModify emChangeLifeStage emDelete emCreateVersion emImport emUnlockExportedWithLock emStart emAbort emReInit emMarkAsReaded emMarkAsUnreaded emPerform emAccept emResume emChangeRights emEditRoute emEditObserver emRecoveryFromLocalCopy emChangeWorkAccessType emChangeEncodeTypeToCertificate emChangeEncodeTypeToPassword emChangeEncodeTypeToNone emChangeEncodeTypeToCertificatePassword emChangeStandardRoute emGetText emOpenForView emMoveToStorage emCreateObject emChangeVersionHidden emDeleteVersion emChangeLifeCycleStage emApprovingSign emExport emContinue emLockFromEdit emUnLockForEdit emLockForServer emUnlockFromServer emDelegateAccessRights emReEncode ",de="ecotFile ecotProcess ",ue="eaGet eaCopy eaCreate eaCreateStandardRoute ",pe="edltAll edltNothing edltQuery ",me="essmText essmCard ",ge="esvtLast esvtLastActive esvtSpecified ",Ee="edsfExecutive edsfArchive ",Se="edstSQLServer edstFile ",be="edvstNone edvstEDocumentVersionCopy edvstFile edvstTemplate edvstScannedFile ",fe="vsDefault vsDesign vsActive vsObsolete ",he="etNone etCertificate etPassword etCertificatePassword ",Te="ecException ecWarning ecInformation ",Ce="estAll estApprovingOnly ",ye="evtLast evtLastActive evtQuery ",Ne="fdtString fdtNumeric fdtInteger fdtDate fdtText fdtUnknown fdtWideString fdtLargeInteger ",ve="ftInbox ftOutbox ftFavorites ftCommonFolder ftUserFolder ftComponents ftQuickLaunch ftShortcuts ftSearch ",Re="grhAuto grhX1 grhX2 grhX3 ",Oe="hltText hltRTF hltHTML ",Ae="iffBMP iffJPEG iffMultiPageTIFF iffSinglePageTIFF iffTIFF iffPNG ",Ie="im8bGrayscale im24bRGB im1bMonochrome ",De="itBMP itJPEG itWMF itPNG ",xe="ikhInformation ikhWarning ikhError ikhNoIcon ",we="icUnknown icScript icFunction icIntegratedReport icAnalyticReport icDataSetEventHandler icActionHandler icFormEventHandler icLookUpEventHandler icRequisiteChangeEventHandler icBeforeSearchEventHandler icRoleCalculation icSelectRouteEventHandler icBlockPropertyCalculation icBlockQueryParamsEventHandler icChangeSearchResultEventHandler icBlockEventHandler icSubTaskInitEventHandler icEDocDataSetEventHandler icEDocLookUpEventHandler icEDocActionHandler icEDocFormEventHandler icEDocRequisiteChangeEventHandler icStructuredConversionRule icStructuredConversionEventBefore icStructuredConversionEventAfter icWizardEventHandler icWizardFinishEventHandler icWizardStepEventHandler icWizardStepFinishEventHandler icWizardActionEnableEventHandler icWizardActionExecuteEventHandler icCreateJobsHandler icCreateNoticesHandler icBeforeLookUpEventHandler icAfterLookUpEventHandler icTaskAbortEventHandler icWorkflowBlockActionHandler icDialogDataSetEventHandler icDialogActionHandler icDialogLookUpEventHandler icDialogRequisiteChangeEventHandler icDialogFormEventHandler icDialogValidCloseEventHandler icBlockFormEventHandler icTaskFormEventHandler icReferenceMethod icEDocMethod icDialogMethod icProcessMessageHandler ",Me="isShow isHide isByUserSettings ",Le="jkJob jkNotice jkControlJob ",ke="jtInner jtLeft jtRight jtFull jtCross ",Pe="lbpAbove lbpBelow lbpLeft lbpRight ",Fe="eltPerConnection eltPerUser ",Ue="sfcUndefined sfcBlack sfcGreen sfcRed sfcBlue sfcOrange sfcLilac ",Be="sfsItalic sfsStrikeout sfsNormal ",Ge="ldctStandardRoute ldctWizard ldctScript ldctFunction ldctRouteBlock ldctIntegratedReport ldctAnalyticReport ldctReferenceType ldctEDocumentType ldctDialog ldctServerEvents ",Ye="mrcrtNone mrcrtUser mrcrtMaximal mrcrtCustom ",ze="vtEqual vtGreaterOrEqual vtLessOrEqual vtRange ",qe="rdYesterday rdToday rdTomorrow rdThisWeek rdThisMonth rdThisYear rdNextMonth rdNextWeek rdLastWeek rdLastMonth ",He="rdWindow rdFile rdPrinter ",Ve="rdtString rdtNumeric rdtInteger rdtDate rdtReference rdtAccount rdtText rdtPick rdtUnknown rdtLargeInteger rdtDocument ",$e="reOnChange reOnChangeValues ",We="ttGlobal ttLocal ttUser ttSystem ",Qe="ssmBrowse ssmSelect ssmMultiSelect ssmBrowseModal ",je="smSelect smLike smCard ",Ke="stNone stAuthenticating stApproving ",Xe="sctString sctStream ",Ze="sstAnsiSort sstNaturalSort ",Je="svtEqual svtContain ",et="soatString soatNumeric soatInteger soatDatetime soatReferenceRecord soatText soatPick soatBoolean soatEDocument soatAccount soatIntegerCollection soatNumericCollection soatStringCollection soatPickCollection soatDatetimeCollection soatBooleanCollection soatReferenceRecordCollection soatEDocumentCollection soatAccountCollection soatContents soatUnknown ",tt="tarAbortByUser tarAbortByWorkflowException ",nt="tvtAllWords tvtExactPhrase tvtAnyWord ",rt="usNone usCompleted usRedSquare usBlueSquare usYellowSquare usGreenSquare usOrangeSquare usPurpleSquare usFollowUp ",at="utUnknown utUser utDeveloper utAdministrator utSystemDeveloper utDisconnected ",it="btAnd btDetailAnd btOr btNotOr btOnly ",st="vmView vmSelect vmNavigation ",ot="vsmSingle vsmMultiple vsmMultipleCheck vsmNoSelection ",lt="wfatPrevious wfatNext wfatCancel wfatFinish ",ct="wfepUndefined wfepText3 wfepText6 wfepText9 wfepSpinEdit wfepDropDown wfepRadioGroup wfepFlag wfepText12 wfepText15 wfepText18 wfepText21 wfepText24 wfepText27 wfepText30 wfepRadioGroupColumn1 wfepRadioGroupColumn2 wfepRadioGroupColumn3 ",_t="wfetQueryParameter wfetText wfetDelimiter wfetLabel ",dt="wptString wptInteger wptNumeric wptBoolean wptDateTime wptPick wptText wptUser wptUserList wptEDocumentInfo wptEDocumentInfoList wptReferenceRecordInfo wptReferenceRecordInfoList wptFolderInfo wptTaskInfo wptContents wptFileName wptDate ",ut="wsrComplete wsrGoNext wsrGoPrevious wsrCustom wsrCancel wsrGoFinal ",pt="wstForm wstEDocument wstTaskCard wstReferenceRecordCard wstFinal ",mt="waAll waPerformers waManual ",gt="wsbStart wsbFinish wsbNotice wsbStep wsbDecision wsbWait wsbMonitor wsbScript wsbConnector wsbSubTask wsbLifeCycleStage wsbPause ",Et="wdtInteger wdtFloat wdtString wdtPick wdtDateTime wdtBoolean wdtTask wdtJob wdtFolder wdtEDocument wdtReferenceRecord wdtUser wdtGroup wdtRole wdtIntegerCollection wdtFloatCollection wdtStringCollection wdtPickCollection wdtDateTimeCollection wdtBooleanCollection wdtTaskCollection wdtJobCollection wdtFolderCollection wdtEDocumentCollection wdtReferenceRecordCollection wdtUserCollection wdtGroupCollection wdtRoleCollection wdtContents wdtUserList wdtSearchDescription wdtDeadLine wdtPickSet wdtAccountCollection ",St="wiLow wiNormal wiHigh ",bt="wrtSoft wrtHard ",ft="wsInit wsRunning wsDone wsControlled wsAborted wsContinued ",ht="wtmFull wtmFromCurrent wtmOnlyCurrent ",Tt=Y+z+q+H+V+$+W+Q+j+K+X+Z+J+ee+te+ne+re+ae+ie+se+oe+le+ce+_e+de+ue+pe+me+ge+Ee+Se+be+fe+he+Te+Ce+ye+Ne+ve+Re+Oe+Ae+Ie+De+xe+we+Me+Le+ke+Pe+Fe+Ue+Be+Ge+Ye+ze+qe+He+Ve+$e+We+Qe+je+Ke+Xe+Ze+Je+et+tt+nt+rt+at+it+st+ot+lt+ct+_t+dt+ut+pt+mt+gt+Et+St+bt+ft+ht,Ct="AddSubString AdjustLineBreaks AmountInWords Analysis ArrayDimCount ArrayHighBound ArrayLowBound ArrayOf ArrayReDim Assert Assigned BeginOfMonth BeginOfPeriod BuildProfilingOperationAnalysis CallProcedure CanReadFile CArrayElement CDataSetRequisite ChangeDate ChangeReferenceDataset Char CharPos CheckParam CheckParamValue CompareStrings ConstantExists ControlState ConvertDateStr Copy CopyFile CreateArray CreateCachedReference CreateConnection CreateDialog CreateDualListDialog CreateEditor CreateException CreateFile CreateFolderDialog CreateInputDialog CreateLinkFile CreateList CreateLock CreateMemoryDataSet CreateObject CreateOpenDialog CreateProgress CreateQuery CreateReference CreateReport CreateSaveDialog CreateScript CreateSQLPivotFunction CreateStringList CreateTreeListSelectDialog CSelectSQL CSQL CSubString CurrentUserID CurrentUserName CurrentVersion DataSetLocateEx DateDiff DateTimeDiff DateToStr DayOfWeek DeleteFile DirectoryExists DisableCheckAccessRights DisableCheckFullShowingRestriction DisableMassTaskSendingRestrictions DropTable DupeString EditText EnableCheckAccessRights EnableCheckFullShowingRestriction EnableMassTaskSendingRestrictions EndOfMonth EndOfPeriod ExceptionExists ExceptionsOff ExceptionsOn Execute ExecuteProcess Exit ExpandEnvironmentVariables ExtractFileDrive ExtractFileExt ExtractFileName ExtractFilePath ExtractParams FileExists FileSize FindFile FindSubString FirmContext ForceDirectories Format FormatDate FormatNumeric FormatSQLDate FormatString FreeException GetComponent GetComponentLaunchParam GetConstant GetLastException GetReferenceRecord GetRefTypeByRefID GetTableID GetTempFolder IfThen In IndexOf InputDialog InputDialogEx InteractiveMode IsFileLocked IsGraphicFile IsNumeric Length LoadString LoadStringFmt LocalTimeToUTC LowerCase Max MessageBox MessageBoxEx MimeDecodeBinary MimeDecodeString MimeEncodeBinary MimeEncodeString Min MoneyInWords MoveFile NewID Now OpenFile Ord Precision Raise ReadCertificateFromFile ReadFile ReferenceCodeByID ReferenceNumber ReferenceRequisiteMode ReferenceRequisiteValue RegionDateSettings RegionNumberSettings RegionTimeSettings RegRead RegWrite RenameFile Replace Round SelectServerCode SelectSQL ServerDateTime SetConstant SetManagedFolderFieldsState ShowConstantsInputDialog ShowMessage Sleep Split SQL SQL2XLSTAB SQLProfilingSendReport StrToDate SubString SubStringCount SystemSetting Time TimeDiff Today Transliterate Trim UpperCase UserStatus UTCToLocalTime ValidateXML VarIsClear VarIsEmpty VarIsNull WorkTimeDiff WriteFile WriteFileEx WriteObjectHistory Анализ БазаДанных БлокЕсть БлокЕстьРасш БлокИнфо БлокСнять БлокСнятьРасш БлокУстановить Ввод ВводМеню ВедС ВедСпр ВерхняяГраницаМассива ВнешПрогр Восст ВременнаяПапка Время ВыборSQL ВыбратьЗапись ВыделитьСтр Вызвать Выполнить ВыпПрогр ГрафическийФайл ГруппаДополнительно ДатаВремяСерв ДеньНедели ДиалогДаНет ДлинаСтр ДобПодстр ЕПусто ЕслиТо ЕЧисло ЗамПодстр ЗаписьСправочника ЗначПоляСпр ИДТипСпр ИзвлечьДиск ИзвлечьИмяФайла ИзвлечьПуть ИзвлечьРасширение ИзмДат ИзменитьРазмерМассива ИзмеренийМассива ИмяОрг ИмяПоляСпр Индекс ИндикаторЗакрыть ИндикаторОткрыть ИндикаторШаг ИнтерактивныйРежим ИтогТблСпр КодВидВедСпр КодВидСпрПоИД КодПоAnalit КодСимвола КодСпр КолПодстр КолПроп КонМес Конст КонстЕсть КонстЗнач КонТран КопироватьФайл КопияСтр КПериод КСтрТблСпр Макс МаксСтрТблСпр Массив Меню МенюРасш Мин НаборДанныхНайтиРасш НаимВидСпр НаимПоAnalit НаимСпр НастроитьПереводыСтрок НачМес НачТран НижняяГраницаМассива НомерСпр НПериод Окно Окр Окружение ОтлИнфДобавить ОтлИнфУдалить Отчет ОтчетАнал ОтчетИнт ПапкаСуществует Пауза ПВыборSQL ПереименоватьФайл Переменные ПереместитьФайл Подстр ПоискПодстр ПоискСтр ПолучитьИДТаблицы ПользовательДополнительно ПользовательИД ПользовательИмя ПользовательСтатус Прервать ПроверитьПараметр ПроверитьПараметрЗнач ПроверитьУсловие РазбСтр РазнВремя РазнДат РазнДатаВремя РазнРабВремя РегУстВрем РегУстДат РегУстЧсл РедТекст РеестрЗапись РеестрСписокИменПарам РеестрЧтение РеквСпр РеквСпрПр Сегодня Сейчас Сервер СерверПроцессИД СертификатФайлСчитать СжПроб Символ СистемаДиректумКод СистемаИнформация СистемаКод Содержит СоединениеЗакрыть СоединениеОткрыть СоздатьДиалог СоздатьДиалогВыбораИзДвухСписков СоздатьДиалогВыбораПапки СоздатьДиалогОткрытияФайла СоздатьДиалогСохраненияФайла СоздатьЗапрос СоздатьИндикатор СоздатьИсключение СоздатьКэшированныйСправочник СоздатьМассив СоздатьНаборДанных СоздатьОбъект СоздатьОтчет СоздатьПапку СоздатьРедактор СоздатьСоединение СоздатьСписок СоздатьСписокСтрок СоздатьСправочник СоздатьСценарий СоздСпр СостСпр Сохр СохрСпр СписокСистем Спр Справочник СпрБлокЕсть СпрБлокСнять СпрБлокСнятьРасш СпрБлокУстановить СпрИзмНабДан СпрКод СпрНомер СпрОбновить СпрОткрыть СпрОтменить СпрПарам СпрПолеЗнач СпрПолеИмя СпрРекв СпрРеквВведЗн СпрРеквНовые СпрРеквПр СпрРеквПредЗн СпрРеквРежим СпрРеквТипТекст СпрСоздать СпрСост СпрСохранить СпрТблИтог СпрТблСтр СпрТблСтрКол СпрТблСтрМакс СпрТблСтрМин СпрТблСтрПред СпрТблСтрСлед СпрТблСтрСозд СпрТблСтрУд СпрТекПредст СпрУдалить СравнитьСтр СтрВерхРегистр СтрНижнРегистр СтрТблСпр СумПроп Сценарий СценарийПарам ТекВерсия ТекОрг Точн Тран Транслитерация УдалитьТаблицу УдалитьФайл УдСпр УдСтрТблСпр Уст УстановкиКонстант ФайлАтрибутСчитать ФайлАтрибутУстановить ФайлВремя ФайлВремяУстановить ФайлВыбрать ФайлЗанят ФайлЗаписать ФайлИскать ФайлКопировать ФайлМожноЧитать ФайлОткрыть ФайлПереименовать ФайлПерекодировать ФайлПереместить ФайлПросмотреть ФайлРазмер ФайлСоздать ФайлСсылкаСоздать ФайлСуществует ФайлСчитать ФайлУдалить ФмтSQLДат ФмтДат ФмтСтр ФмтЧсл Формат ЦМассивЭлемент ЦНаборДанныхРеквизит ЦПодстр ",yt="AltState Application CallType ComponentTokens CreatedJobs CreatedNotices ControlState DialogResult Dialogs EDocuments EDocumentVersionSource Folders GlobalIDs Job Jobs InputValue LookUpReference LookUpRequisiteNames LookUpSearch Object ParentComponent Processes References Requisite ReportName Reports Result Scripts Searches SelectedAttachments SelectedItems SelectMode Sender ServerEvents ServiceFactory ShiftState SubTask SystemDialogs Tasks Wizard Wizards Work ВызовСпособ ИмяОтчета РеквЗнач ",Nt="IApplication IAccessRights IAccountRepository IAccountSelectionRestrictions IAction IActionList IAdministrationHistoryDescription IAnchors IApplication IArchiveInfo IAttachment IAttachmentList ICheckListBox ICheckPointedList IColumn IComponent IComponentDescription IComponentToken IComponentTokenFactory IComponentTokenInfo ICompRecordInfo IConnection IContents IControl IControlJob IControlJobInfo IControlList ICrypto ICrypto2 ICustomJob ICustomJobInfo ICustomListBox ICustomObjectWizardStep ICustomWork ICustomWorkInfo IDataSet IDataSetAccessInfo IDataSigner IDateCriterion IDateRequisite IDateRequisiteDescription IDateValue IDeaAccessRights IDeaObjectInfo IDevelopmentComponentLock IDialog IDialogFactory IDialogPickRequisiteItems IDialogsFactory IDICSFactory IDocRequisite IDocumentInfo IDualListDialog IECertificate IECertificateInfo IECertificates IEditControl IEditorForm IEdmsExplorer IEdmsObject IEdmsObjectDescription IEdmsObjectFactory IEdmsObjectInfo IEDocument IEDocumentAccessRights IEDocumentDescription IEDocumentEditor IEDocumentFactory IEDocumentInfo IEDocumentStorage IEDocumentVersion IEDocumentVersionListDialog IEDocumentVersionSource IEDocumentWizardStep IEDocVerSignature IEDocVersionState IEnabledMode IEncodeProvider IEncrypter IEvent IEventList IException IExternalEvents IExternalHandler IFactory IField IFileDialog IFolder IFolderDescription IFolderDialog IFolderFactory IFolderInfo IForEach IForm IFormTitle IFormWizardStep IGlobalIDFactory IGlobalIDInfo IGrid IHasher IHistoryDescription IHyperLinkControl IImageButton IImageControl IInnerPanel IInplaceHint IIntegerCriterion IIntegerList IIntegerRequisite IIntegerValue IISBLEditorForm IJob IJobDescription IJobFactory IJobForm IJobInfo ILabelControl ILargeIntegerCriterion ILargeIntegerRequisite ILargeIntegerValue ILicenseInfo ILifeCycleStage IList IListBox ILocalIDInfo ILocalization ILock IMemoryDataSet IMessagingFactory IMetadataRepository INotice INoticeInfo INumericCriterion INumericRequisite INumericValue IObject IObjectDescription IObjectImporter IObjectInfo IObserver IPanelGroup IPickCriterion IPickProperty IPickRequisite IPickRequisiteDescription IPickRequisiteItem IPickRequisiteItems IPickValue IPrivilege IPrivilegeList IProcess IProcessFactory IProcessMessage IProgress IProperty IPropertyChangeEvent IQuery IReference IReferenceCriterion IReferenceEnabledMode IReferenceFactory IReferenceHistoryDescription IReferenceInfo IReferenceRecordCardWizardStep IReferenceRequisiteDescription IReferencesFactory IReferenceValue IRefRequisite IReport IReportFactory IRequisite IRequisiteDescription IRequisiteDescriptionList IRequisiteFactory IRichEdit IRouteStep IRule IRuleList ISchemeBlock IScript IScriptFactory ISearchCriteria ISearchCriterion ISearchDescription ISearchFactory ISearchFolderInfo ISearchForObjectDescription ISearchResultRestrictions ISecuredContext ISelectDialog IServerEvent IServerEventFactory IServiceDialog IServiceFactory ISignature ISignProvider ISignProvider2 ISignProvider3 ISimpleCriterion IStringCriterion IStringList IStringRequisite IStringRequisiteDescription IStringValue ISystemDialogsFactory ISystemInfo ITabSheet ITask ITaskAbortReasonInfo ITaskCardWizardStep ITaskDescription ITaskFactory ITaskInfo ITaskRoute ITextCriterion ITextRequisite ITextValue ITreeListSelectDialog IUser IUserList IValue IView IWebBrowserControl IWizard IWizardAction IWizardFactory IWizardFormElement IWizardParam IWizardPickParam IWizardReferenceParam IWizardStep IWorkAccessRights IWorkDescription IWorkflowAskableParam IWorkflowAskableParams IWorkflowBlock IWorkflowBlockResult IWorkflowEnabledMode IWorkflowParam IWorkflowPickParam IWorkflowReferenceParam IWorkState IWorkTreeCustomNode IWorkTreeJobNode IWorkTreeTaskNode IXMLEditorForm SBCrypto ",vt=G+Tt,Rt=yt,Ot="null true false nil ",At={className:"number",begin:e.NUMBER_RE,relevance:0},It={className:"string",variants:[{begin:'"',end:'"'},{begin:"'",end:"'"}]},Dt={className:"doctag",begin:"\\b(?:TODO|DONE|BEGIN|END|STUB|CHG|FIXME|NOTE|BUG|XXX)\\b",relevance:0},xt={className:"comment",begin:"//",end:"$",relevance:0,contains:[e.PHRASAL_WORDS_MODE,Dt]},wt={className:"comment",begin:"/\\*",end:"\\*/",relevance:0,contains:[e.PHRASAL_WORDS_MODE,Dt]},Mt={variants:[xt,wt]},Lt={$pattern:t,keyword:r,built_in:vt,class:Rt,literal:Ot},kt={begin:"\\.\\s*"+e.UNDERSCORE_IDENT_RE,keywords:Lt,relevance:0},Pt={className:"type",begin:":[ \\t]*("+Nt.trim().replace(/\s/g,"|")+")",end:"[ \\t]*=",excludeEnd:!0},Ft={className:"variable",keywords:Lt,begin:t,relevance:0,contains:[Pt,kt]},Ut=n+"\\(",Bt={className:"title",keywords:{$pattern:t,built_in:Ct},begin:Ut,end:"\\(",returnBegin:!0,excludeEnd:!0},Gt={className:"function",begin:Ut,end:"\\)$",returnBegin:!0,keywords:Lt,illegal:"[\\[\\]\\|\\$\\?%,~#@]",contains:[Bt,kt,Ft,It,At,Mt]};return{name:"ISBL",case_insensitive:!0,keywords:Lt,illegal:"\\$|\\?|%|,|;$|~|#|@|",contains:[Gt,Pt,kt,Ft,It,At,Mt]}}e.exports=t},1215:function(e){function t(e){return{name:"Golo",keywords:{keyword:"println readln print import module function local return let var while for foreach times in case when match with break continue augment augmentation each find filter reduce if then else otherwise try catch finally raise throw orIfNull DynamicObject|10 DynamicVariable struct Observable map set vector list array",literal:"true false null"},contains:[e.HASH_COMMENT_MODE,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,{className:"meta",begin:"@[A-Za-z]+"}]}}e.exports=t},1241:function(e){function t(e){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},e.inherit(e.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}e.exports=t},1309:function(e,t,n){function r(e){return e?"string"===typeof e?e:e.source:null}function a(...e){const t=e.map((e=>r(e))).join("");return t}function i(...e){const t="("+e.map((e=>r(e))).join("|")+")";return t}function s(e){const t=["abs","accept","alarm","and","atan2","bind","binmode","bless","break","caller","chdir","chmod","chomp","chop","chown","chr","chroot","close","closedir","connect","continue","cos","crypt","dbmclose","dbmopen","defined","delete","die","do","dump","each","else","elsif","endgrent","endhostent","endnetent","endprotoent","endpwent","endservent","eof","eval","exec","exists","exit","exp","fcntl","fileno","flock","for","foreach","fork","format","formline","getc","getgrent","getgrgid","getgrnam","gethostbyaddr","gethostbyname","gethostent","getlogin","getnetbyaddr","getnetbyname","getnetent","getpeername","getpgrp","getpriority","getprotobyname","getprotobynumber","getprotoent","getpwent","getpwnam","getpwuid","getservbyname","getservbyport","getservent","getsockname","getsockopt","given","glob","gmtime","goto","grep","gt","hex","if","index","int","ioctl","join","keys","kill","last","lc","lcfirst","length","link","listen","local","localtime","log","lstat","lt","ma","map","mkdir","msgctl","msgget","msgrcv","msgsnd","my","ne","next","no","not","oct","open","opendir","or","ord","our","pack","package","pipe","pop","pos","print","printf","prototype","push","q|0","qq","quotemeta","qw","qx","rand","read","readdir","readline","readlink","readpipe","recv","redo","ref","rename","require","reset","return","reverse","rewinddir","rindex","rmdir","say","scalar","seek","seekdir","select","semctl","semget","semop","send","setgrent","sethostent","setnetent","setpgrp","setpriority","setprotoent","setpwent","setservent","setsockopt","shift","shmctl","shmget","shmread","shmwrite","shutdown","sin","sleep","socket","socketpair","sort","splice","split","sprintf","sqrt","srand","stat","state","study","sub","substr","symlink","syscall","sysopen","sysread","sysseek","system","syswrite","tell","telldir","tie","tied","time","times","tr","truncate","uc","ucfirst","umask","undef","unless","unlink","unpack","unshift","untie","until","use","utime","values","vec","wait","waitpid","wantarray","warn","when","while","write","x|0","xor","y|0"],n=/[dualxmsipngr]{0,12}/,r={$pattern:/[\w.]+/,keyword:t.join(" ")},s={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:r},o={begin:/->\{/,end:/\}/},l={variants:[{begin:/\$\d/},{begin:a(/[$%@](\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])")},{begin:/[$%@][^\s\w{]/,relevance:0}]},c=[e.BACKSLASH_ESCAPE,s,l],_=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],d=(e,t,r="\\1")=>{const i="\\1"===r?r:a(r,t);return a(a("(?:",e,")"),t,/(?:\\.|[^\\\/])*?/,i,/(?:\\.|[^\\\/])*?/,r,n)},u=(e,t,r)=>a(a("(?:",e,")"),t,/(?:\\.|[^\\\/])*?/,r,n),p=[l,e.HASH_COMMENT_MODE,e.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),o,{className:"string",contains:c,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:"-?\\w+\\s*=>",relevance:0}]},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},{begin:"(\\/\\/|"+e.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[e.HASH_COMMENT_MODE,{className:"regexp",variants:[{begin:d("s|tr|y",i(..._))},{begin:d("s|tr|y","\\(","\\)")},{begin:d("s|tr|y","\\[","\\]")},{begin:d("s|tr|y","\\{","\\}")}],relevance:2},{className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:u("(?:m|qr)?",/\//,/\//)},{begin:u("m|qr",i(..._),/\1/)},{begin:u("m|qr",/\(/,/\)/)},{begin:u("m|qr",/\[/,/\]/)},{begin:u("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return s.contains=p,o.contains=p,{name:"Perl",aliases:["pl","pm"],keywords:r,contains:p}}n(4600),n(7670),e.exports=s},1334:function(e,t,n){function r(e){return e?"string"===typeof e?e:e.source:null}function a(...e){const t="("+e.map((e=>r(e))).join("|")+")";return t}function i(e){const t=a(...["(?:NeedsTeXFormat|RequirePackage|GetIdInfo)","Provides(?:Expl)?(?:Package|Class|File)","(?:DeclareOption|ProcessOptions)","(?:documentclass|usepackage|input|include)","makeat(?:letter|other)","ExplSyntax(?:On|Off)","(?:new|renew|provide)?command","(?:re)newenvironment","(?:New|Renew|Provide|Declare)(?:Expandable)?DocumentCommand","(?:New|Renew|Provide|Declare)DocumentEnvironment","(?:(?:e|g|x)?def|let)","(?:begin|end)","(?:part|chapter|(?:sub){0,2}section|(?:sub)?paragraph)","caption","(?:label|(?:eq|page|name)?ref|(?:paren|foot|super)?cite)","(?:alpha|beta|[Gg]amma|[Dd]elta|(?:var)?epsilon|zeta|eta|[Tt]heta|vartheta)","(?:iota|(?:var)?kappa|[Ll]ambda|mu|nu|[Xx]i|[Pp]i|varpi|(?:var)rho)","(?:[Ss]igma|varsigma|tau|[Uu]psilon|[Pp]hi|varphi|chi|[Pp]si|[Oo]mega)","(?:frac|sum|prod|lim|infty|times|sqrt|leq|geq|left|right|middle|[bB]igg?)","(?:[lr]angle|q?quad|[lcvdi]?dots|d?dot|hat|tilde|bar)"].map((e=>e+"(?![a-zA-Z@:_])"))),n=new RegExp(["(?:__)?[a-zA-Z]{2,}_[a-zA-Z](?:_?[a-zA-Z])+:[a-zA-Z]*","[lgc]__?[a-zA-Z](?:_?[a-zA-Z])*_[a-zA-Z]{2,}","[qs]__?[a-zA-Z](?:_?[a-zA-Z])+","use(?:_i)?:[a-zA-Z]*","(?:else|fi|or):","(?:if|cs|exp):w","(?:hbox|vbox):n","::[a-zA-Z]_unbraced","::[a-zA-Z:]"].map((e=>e+"(?![a-zA-Z:_])")).join("|")),r=[{begin:/[a-zA-Z@]+/},{begin:/[^a-zA-Z@]?/}],i=[{begin:/\^{6}[0-9a-f]{6}/},{begin:/\^{5}[0-9a-f]{5}/},{begin:/\^{4}[0-9a-f]{4}/},{begin:/\^{3}[0-9a-f]{3}/},{begin:/\^{2}[0-9a-f]{2}/},{begin:/\^{2}[\u0000-\u007f]/}],s={className:"keyword",begin:/\\/,relevance:0,contains:[{endsParent:!0,begin:t},{endsParent:!0,begin:n},{endsParent:!0,variants:i},{endsParent:!0,relevance:0,variants:r}]},o={className:"params",relevance:0,begin:/#+\d?/},l={variants:i},c={className:"built_in",relevance:0,begin:/[$&^_]/},_={className:"meta",begin:"% !TeX",end:"$",relevance:10},d=e.COMMENT("%","$",{relevance:0}),u=[s,o,l,c,_,d],p={begin:/\{/,end:/\}/,relevance:0,contains:["self",...u]},m=e.inherit(p,{relevance:0,endsParent:!0,contains:[p,...u]}),g={begin:/\[/,end:/\]/,endsParent:!0,relevance:0,contains:[p,...u]},E={begin:/\s+/,relevance:0},S=[m],b=[g],f=function(e,t){return{contains:[E],starts:{relevance:0,contains:e,starts:t}}},h=function(e,t){return{begin:"\\\\"+e+"(?![a-zA-Z@:_])",keywords:{$pattern:/\\[a-zA-Z]+/,keyword:"\\"+e},relevance:0,contains:[E],starts:t}},T=function(t,n){return e.inherit({begin:"\\\\begin(?=[ \t]*(\\r?\\n[ \t]*)?\\{"+t+"\\})",keywords:{$pattern:/\\[a-zA-Z]+/,keyword:"\\begin"},relevance:0},f(S,n))},C=(t="string")=>e.END_SAME_AS_BEGIN({className:t,begin:/(.|\r?\n)/,end:/(.|\r?\n)/,excludeBegin:!0,excludeEnd:!0,endsParent:!0}),y=function(e){return{className:"string",end:"(?=\\\\end\\{"+e+"\\})"}},N=(e="string")=>({relevance:0,begin:/\{/,starts:{endsParent:!0,contains:[{className:e,end:/(?=\})/,endsParent:!0,contains:[{begin:/\{/,end:/\}/,relevance:0,contains:["self"]}]}]}}),v=[...["verb","lstinline"].map((e=>h(e,{contains:[C()]}))),h("mint",f(S,{contains:[C()]})),h("mintinline",f(S,{contains:[N(),C()]})),h("url",{contains:[N("link"),N("link")]}),h("hyperref",{contains:[N("link")]}),h("href",f(b,{contains:[N("link")]})),...[].concat(...["","\\*"].map((e=>[T("verbatim"+e,y("verbatim"+e)),T("filecontents"+e,f(S,y("filecontents"+e))),...["","B","L"].map((t=>T(t+"Verbatim"+e,f(b,y(t+"Verbatim"+e)))))]))),T("minted",f(b,f(S,y("minted"))))];return{name:"LaTeX",aliases:["tex"],contains:[...v,...u]}}n(4600),n(7670),e.exports=i},1423:function(e,t,n){function r(e){return e?"string"===typeof e?e:e.source:null}function a(e){return s("(?=",e,")")}function i(e){return s("(",e,")?")}function s(...e){const t=e.map((e=>r(e))).join("");return t}function o(...e){const t="("+e.map((e=>r(e))).join("|")+")";return t}function l(e){const t=s(/[A-Z_]/,i(/[A-Z0-9_.-]*:/),/[A-Z0-9_.-]*/),n=/[A-Za-z0-9._:-]+/,r={className:"symbol",begin:/&[a-z]+;|[0-9]+;|[a-f0-9]+;/},l={begin:/\s/,contains:[{className:"meta-keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},c=e.inherit(l,{begin:/\(/,end:/\)/}),_=e.inherit(e.APOS_STRING_MODE,{className:"meta-string"}),d=e.inherit(e.QUOTE_STRING_MODE,{className:"meta-string"}),u={endsWithParent:!0,illegal:/,relevance:0,contains:[{className:"attr",begin:n,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[r]},{begin:/'/,end:/'/,contains:[r]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,contains:[{className:"meta",begin://,relevance:10,contains:[l,d,_,c,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin://,contains:[l,c,d,_]}]}]},e.COMMENT(//,{relevance:10}),{begin://,relevance:10},r,{className:"meta",begin:/<\?xml/,end:/\?>/,relevance:10},{className:"tag",begin:/