From 783a57a1c3a49aa0c28d1f6a8b17bdaa339d4589 Mon Sep 17 00:00:00 2001 From: zhr2001 <2641489927@qq.com> Date: Sun, 23 May 2021 20:20:15 +0800 Subject: [PATCH 01/23] add temp feature --- package-lock.json | 160 ++++++++-------- src/components/ClarificationComment.vue | 89 +++++++++ src/components/editor/MarkdownEditor.vue | 178 ++++++++++++++++++ src/router/routes.js | 6 + src/utils/api.js | 9 + src/utils/constants.js | 5 + .../contest/ContestClarificationView.vue | 145 ++++++++++++++ src/views/contest/ContestDetailView.vue | 5 + 8 files changed, 518 insertions(+), 79 deletions(-) create mode 100644 src/components/ClarificationComment.vue create mode 100644 src/components/editor/MarkdownEditor.vue create mode 100644 src/views/contest/ContestClarificationView.vue diff --git a/package-lock.json b/package-lock.json index f2ea41d0..bc5f4673 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2085,16 +2085,6 @@ "integrity": "sha1-4a1IbmxUUBY0xsOXxcEh2qODYHw=", "dev": true }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.3.0.tgz", - "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", - "dev": true, - "optional": true, - "requires": { - "color-convert": "^2.0.1" - } - }, "cacache": { "version": "13.0.1", "resolved": "https://registry.npm.taobao.org/cacache/download/cacache-13.0.1.tgz?cache=0&sync_timestamp=1594428006433&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcacache%2Fdownload%2Fcacache-13.0.1.tgz", @@ -2121,34 +2111,6 @@ "unique-filename": "^1.1.1" } }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-4.1.0.tgz", - "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", - "dev": true, - "optional": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", - "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "dev": true, - "optional": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", - "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", - "dev": true, - "optional": true - }, "copy-webpack-plugin": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-5.1.2.tgz", @@ -2401,31 +2363,12 @@ } } }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz", - "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", - "dev": true, - "optional": true - }, "ignore": { "version": "3.3.10", "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", "dev": true }, - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-2.0.0.tgz", - "integrity": "sha1-5MrOW4FtQloWa18JfhDNErNgZLA=", - "dev": true, - "optional": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, "locate-path": { "version": "5.0.0", "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-5.0.0.tgz?cache=0&sync_timestamp=1597081904643&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flocate-path%2Fdownload%2Flocate-path-5.0.0.tgz", @@ -2496,16 +2439,6 @@ "minipass": "^3.1.1" } }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz", - "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", - "dev": true, - "optional": true, - "requires": { - "has-flag": "^4.0.0" - } - }, "terser-webpack-plugin": { "version": "2.3.8", "resolved": "https://registry.npm.taobao.org/terser-webpack-plugin/download/terser-webpack-plugin-2.3.8.tgz?cache=0&sync_timestamp=1600531950766&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fterser-webpack-plugin%2Fdownload%2Fterser-webpack-plugin-2.3.8.tgz", @@ -2523,18 +2456,6 @@ "webpack-sources": "^1.4.3" } }, - "vue-loader-v16": { - "version": "npm:vue-loader@16.0.0-beta.8", - "resolved": "https://registry.npm.taobao.org/vue-loader/download/vue-loader-16.0.0-beta.8.tgz?cache=0&sync_timestamp=1600850410121&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-loader%2Fdownload%2Fvue-loader-16.0.0-beta.8.tgz", - "integrity": "sha1-H1I9n+qOjG5PW7mf12gWWvWEWHk=", - "dev": true, - "optional": true, - "requires": { - "chalk": "^4.1.0", - "hash-sum": "^2.0.0", - "loader-utils": "^2.0.0" - } - }, "watchpack": { "version": "1.7.5", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", @@ -12785,6 +12706,87 @@ } } }, + "vue-loader-v16": { + "version": "npm:vue-loader@16.2.0", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.2.0.tgz", + "integrity": "sha512-TitGhqSQ61RJljMmhIGvfWzJ2zk9m1Qug049Ugml6QP3t0e95o0XJjk29roNEiPKJQBEi8Ord5hFuSuELzSp8Q==", + "dev": true, + "optional": true, + "requires": { + "chalk": "^4.1.0", + "hash-sum": "^2.0.0", + "loader-utils": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "optional": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", + "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "dev": true, + "optional": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "optional": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "optional": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "optional": true + }, + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "optional": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "optional": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, "vue-router": { "version": "3.4.3", "resolved": "https://registry.npm.taobao.org/vue-router/download/vue-router-3.4.3.tgz?cache=0&sync_timestamp=1600589188313&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-router%2Fdownload%2Fvue-router-3.4.3.tgz", diff --git a/src/components/ClarificationComment.vue b/src/components/ClarificationComment.vue new file mode 100644 index 00000000..795ccce0 --- /dev/null +++ b/src/components/ClarificationComment.vue @@ -0,0 +1,89 @@ + + + + + diff --git a/src/components/editor/MarkdownEditor.vue b/src/components/editor/MarkdownEditor.vue new file mode 100644 index 00000000..d0c9f640 --- /dev/null +++ b/src/components/editor/MarkdownEditor.vue @@ -0,0 +1,178 @@ + + + + + diff --git a/src/router/routes.js b/src/router/routes.js index ef853d66..263559b6 100644 --- a/src/router/routes.js +++ b/src/router/routes.js @@ -101,6 +101,12 @@ const routes = [ path: 'rank', meta: { scrollToTop: true }, component: () => import('@/views/contest/ContestRankView') + }, + { + name: 'contest-clarification', + path: 'clarification', + meta: { scrollToTop: true }, + component: () => import('@/views/contest/ContestClarificationView') } ] }, diff --git a/src/utils/api.js b/src/utils/api.js index 64a9a81c..413334ff 100644 --- a/src/utils/api.js +++ b/src/utils/api.js @@ -273,5 +273,14 @@ export default { // 单文件上传 singleUpload: function(data) { return post('/filesys/upload', data); + }, + createQuestion: function(data) { + return post('/contest/createQuestion', data) + }, + createReply: function (data) { + return post('/contest/reply', data) + }, + getQuestion: function (data) { + return get('/contest/question', data) } } diff --git a/src/utils/constants.js b/src/utils/constants.js index 41e43d3c..5327c06d 100644 --- a/src/utils/constants.js +++ b/src/utils/constants.js @@ -193,3 +193,8 @@ export const GROUP_STATUS_TYPE = { JOINED: 2, REJECTED: 3 }; + +export const CLARIFICATION_TYPE = { + UNPUBLIC: 'UNPUBLIC', + PUBLIC: 'PUBLIC' +} diff --git a/src/views/contest/ContestClarificationView.vue b/src/views/contest/ContestClarificationView.vue new file mode 100644 index 00000000..2d5bf122 --- /dev/null +++ b/src/views/contest/ContestClarificationView.vue @@ -0,0 +1,145 @@ + + + + + diff --git a/src/views/contest/ContestDetailView.vue b/src/views/contest/ContestDetailView.vue index 86829c49..32b17e71 100644 --- a/src/views/contest/ContestDetailView.vue +++ b/src/views/contest/ContestDetailView.vue @@ -74,6 +74,11 @@ }"> Rank + + Clarification +
diff --git a/src/utils/api.js b/src/utils/api.js index 413334ff..3e325a7f 100644 --- a/src/utils/api.js +++ b/src/utils/api.js @@ -13,10 +13,12 @@ import axios from 'axios'; import store from '@/store'; axios.defaults.baseURL = `${process.env.VUE_APP_OJ_SERVER}/api`; +// axios.defaults.baseURL = '101.76.220.225:80/api'; axios.defaults.withCredentials = true; function post(url, data) { data = data || {}; + return new Promise((resolve, reject) => { axios.post(url, data) .then(response => { @@ -281,6 +283,9 @@ export default { return post('/contest/reply', data) }, getQuestion: function (data) { - return get('/contest/question', data) + return get('/contest/listQuestion', data) + }, + getQuestionDetail: function (data) { + return get('/contest/questionDetail', data) } } diff --git a/src/views/contest/ContestClarificationView.vue b/src/views/contest/ContestClarificationView.vue index 17d5fcc1..b5e4cc44 100644 --- a/src/views/contest/ContestClarificationView.vue +++ b/src/views/contest/ContestClarificationView.vue @@ -1,47 +1,59 @@ diff --git a/src/views/third-party/Bind.vue b/src/views/third-party/Bind.vue new file mode 100644 index 00000000..f4faa938 --- /dev/null +++ b/src/views/third-party/Bind.vue @@ -0,0 +1,114 @@ + + + + + + + diff --git a/src/views/third-party/ThirdPartyLogin.vue b/src/views/third-party/ThirdPartyLogin.vue new file mode 100644 index 00000000..c6d50bd7 --- /dev/null +++ b/src/views/third-party/ThirdPartyLogin.vue @@ -0,0 +1,101 @@ + + + + + + + diff --git a/src/views/third-party/css/loader.css b/src/views/third-party/css/loader.css new file mode 100644 index 00000000..2cdcf720 --- /dev/null +++ b/src/views/third-party/css/loader.css @@ -0,0 +1,136 @@ +/* + * Copyright 2020-2021 the original author or authors. + * + * Licensed under the General Public License, Version 3.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.gnu.org/licenses/gpl-3.0.en.html + */ + +@-webkit-keyframes enter { + 0% { + opacity: 0; + top: -10px; + } + 5% { + opacity: 1; + top: 0px; + } + 50.9% { + opacity: 1; + top: 0px; + } + 55.9% { + opacity: 0; + top: 10px; + } +} +@keyframes enter { + 0% { + opacity: 0; + top: -10px; + } + 5% { + opacity: 1; + top: 0px; + } + 50.9% { + opacity: 1; + top: 0px; + } + 55.9% { + opacity: 0; + top: 10px; + } +} +@-moz-keyframes enter { + 0% { + opacity: 0; + top: -10px; + } + 5% { + opacity: 1; + top: 0px; + } + 50.9% { + opacity: 1; + top: 0px; + } + 55.9% { + opacity: 0; + top: 10px; + } +} + +.loader { + position: absolute; + left: 50%; + top: 50%; + margin-left: -27.5px; + margin-top: -27.5px; +} +.loader .square { + background: #74819a; + width: 15px; + height: 15px; + float: left; + top: -10px; + margin-right: 5px; + margin-top: 5px; + position: relative; + opacity: 0; + -webkit-animation: enter 6s infinite; + animation: enter 6s infinite; +} +.loader .enter { + top: 0px; + opacity: 1; +} +.loader .square:nth-child(1) { + -webkit-animation-delay: 1.8s; + -moz-animation-delay: 1.8s; + animation-delay: 1.8s; +} +.loader .square:nth-child(2) { + -webkit-animation-delay: 2.1s; + -moz-animation-delay: 2.1s; + animation-delay: 2.1s; +} +.loader .square:nth-child(3) { + -webkit-animation-delay: 2.4s; + -moz-animation-delay: 2.4s; + animation-delay: 2.4s; + background: #ff9900; +} +.loader .square:nth-child(4) { + -webkit-animation-delay: 0.9s; + -moz-animation-delay: 0.9s; + animation-delay: 0.9s; +} +.loader .square:nth-child(5) { + -webkit-animation-delay: 1.2s; + -moz-animation-delay: 1.2s; + animation-delay: 1.2s; +} +.loader .square:nth-child(6) { + -webkit-animation-delay: 1.5s; + -moz-animation-delay: 1.5s; + animation-delay: 1.5s; +} +.loader .square:nth-child(8) { + -webkit-animation-delay: 0.3s; + -moz-animation-delay: 0.3s; + animation-delay: 0.3s; +} +.loader .square:nth-child(9) { + -webkit-animation-delay: 0.6s; + -moz-animation-delay: 0.6s; + animation-delay: 0.6s; +} +.loader .clear { + clear: both; +} +.loader .last { + margin-right: 0; +} \ No newline at end of file diff --git a/src/views/third-party/js/ThirdPartyEnum.js b/src/views/third-party/js/ThirdPartyEnum.js new file mode 100644 index 00000000..bc4ad554 --- /dev/null +++ b/src/views/third-party/js/ThirdPartyEnum.js @@ -0,0 +1,48 @@ +/* + * Copyright 2020-2021 the original author or authors. + * + * Licensed under the General Public License, Version 3.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.gnu.org/licenses/gpl-3.0.en.html + */ + +import api from '_u/api'; + +const TARGET_ROUTER = '/thirdPartyLogin?thirdParty='; + +export const THIRD_PARTY_ENUM = { + SDUCAS: 'SDUCAS' +}; + +export const THIRD_PARTY_CAS = { + [THIRD_PARTY_ENUM.SDUCAS]: { + name: 'SDUCAS', + description: 'Shandong University Central Authentication Service', + targetUrl: function (params) { + let url = `https://pass.sdu.edu.cn/cas/login?service=${location.origin}${TARGET_ROUTER}${THIRD_PARTY_ENUM.SDUCAS}`; + for (const k in params) { + url += `&${k}=${params[k]}`; + } + return url; + }, + certificate: function (params) { + return new Promise((resolve, reject) => { + api.thirdPartyLogin(params).then(ret => { + resolve(ret); + }).catch(reject); + }); + }, + render: function (h, params) { + const tip1 = `${params.sduRealName}(${params.sduId}) has passed SDU CAS certification`; + const tip2 = 'Please complete the following information'; + const span1 = h('div', { class: { center: true }, style: { color: '#000000A6' } }, tip1); + const span2 = h('div', { class: { center: true }, style: { color: '#000000A6' } }, tip2); + return h('div', [span1, span2]); + }, + getId: function(profile) { + return profile.sduId; + } + } +}; diff --git a/src/views/user/Login.vue b/src/views/user/Login.vue index c551fe72..8d5fc9b7 100644 --- a/src/views/user/Login.vue +++ b/src/views/user/Login.vue @@ -10,76 +10,74 @@ diff --git a/src/views/user/Register.vue b/src/views/user/Register.vue index b34b53ff..42e63e97 100644 --- a/src/views/user/Register.vue +++ b/src/views/user/Register.vue @@ -10,69 +10,14 @@ @@ -52,12 +74,46 @@ import { mapGetters, mapState } from 'vuex'; import UserProfile from '@/views/user/children/UserProfile'; import UserPassword from '@/views/user/children/UserPassword'; import UserEmail from '@/views/user/children/UserEmail'; +import Reconfirm from '_c/Reconfirm'; + +import { THIRD_PARTY_CAS, THIRD_PARTY_ENUM } from '../third-party/js/ThirdPartyEnum'; +import api from '_u/api'; export default { - components: { UserProfile, UserPassword, UserEmail }, + components: { UserProfile, UserPassword, UserEmail, Reconfirm }, + inject: ['reload'], + data: function() { + return { + thirdPartyStatus: {}, + confirmText: '' + }; + }, computed: { ...mapState('user', ['profile']), - ...mapGetters('user', ['avatar', 'isVerified']) + ...mapGetters('user', ['avatar', 'isVerified']), + THIRD_PARTY_CAS: () => THIRD_PARTY_CAS, + THIRD_PARTY_ENUM: () => THIRD_PARTY_ENUM + }, + methods: { + handleUnbind: function(thirdParty) { + this.confirmText = THIRD_PARTY_CAS[thirdParty].getId(this.profile); + this.$refs.reconfirm.reconfirm(() => { + this.thirdPartyStatus[thirdParty] = true; + api.thirdPartyUnbinding({ thirdParty }).then(ret => { + this.$Message.success('Success'); + this.reload(); + }).catch(err => { + this.$Message.error(err.message); + }).finally(() => { + this.thirdPartyStatus[thirdParty] = false; + }); + }); + } + }, + mounted: function() { + for (const cas in THIRD_PARTY_ENUM) { + this.$set(this.thirdPartyStatus, cas, false); + } } } From 0c932c37e9cdf68296ffc5a3801d4ddadcfe5faa Mon Sep 17 00:00:00 2001 From: zhr2001 <2641489927@qq.com> Date: Thu, 27 May 2021 18:09:22 +0800 Subject: [PATCH 12/23] Revert "merge master" This reverts commit 951da67c --- src/components/Reconfirm.vue | 124 --------- src/components/contest/ContestList.vue | 5 +- .../form/login/AccountLoginForm.vue | 115 -------- .../form/register/AccountRegisterForm.vue | 249 ------------------ src/components/group/GroupCard.vue | 37 ++- src/main.js | 12 - src/router/routes.js | 5 - src/store/modules/contest.js | 52 ---- src/styles/font/iconfont.ttf | Bin 4580 -> 0 bytes src/styles/font/iconfont.woff | Bin 2872 -> 0 bytes src/styles/font/iconfont.woff2 | Bin 2284 -> 0 bytes src/styles/global.less | 1 - src/styles/iconfont.css | 68 ----- src/utils/api.js | 15 -- src/views/contest/ContestRankView.vue | 34 +-- src/views/third-party/Bind.vue | 114 -------- src/views/third-party/ThirdPartyLogin.vue | 101 ------- src/views/third-party/css/loader.css | 136 ---------- src/views/third-party/js/ThirdPartyEnum.js | 48 ---- src/views/user/Login.vue | 203 ++++++-------- src/views/user/Register.vue | 241 +++++++++++++---- src/views/user/UserHome.vue | 60 +---- 22 files changed, 290 insertions(+), 1330 deletions(-) delete mode 100644 src/components/Reconfirm.vue delete mode 100644 src/components/form/login/AccountLoginForm.vue delete mode 100644 src/components/form/register/AccountRegisterForm.vue delete mode 100644 src/styles/font/iconfont.ttf delete mode 100644 src/styles/font/iconfont.woff delete mode 100644 src/styles/font/iconfont.woff2 delete mode 100644 src/styles/iconfont.css delete mode 100644 src/views/third-party/Bind.vue delete mode 100644 src/views/third-party/ThirdPartyLogin.vue delete mode 100644 src/views/third-party/css/loader.css delete mode 100644 src/views/third-party/js/ThirdPartyEnum.js diff --git a/src/components/Reconfirm.vue b/src/components/Reconfirm.vue deleted file mode 100644 index 08c0f734..00000000 --- a/src/components/Reconfirm.vue +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - diff --git a/src/components/contest/ContestList.vue b/src/components/contest/ContestList.vue index 6ca23ccc..1a54bac1 100644 --- a/src/components/contest/ContestList.vue +++ b/src/components/contest/ContestList.vue @@ -66,8 +66,9 @@
  • Finished - Running - Private + + Running +
  • diff --git a/src/components/form/login/AccountLoginForm.vue b/src/components/form/login/AccountLoginForm.vue deleted file mode 100644 index 5fc4ef02..00000000 --- a/src/components/form/login/AccountLoginForm.vue +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - - diff --git a/src/components/form/register/AccountRegisterForm.vue b/src/components/form/register/AccountRegisterForm.vue deleted file mode 100644 index 57817a42..00000000 --- a/src/components/form/register/AccountRegisterForm.vue +++ /dev/null @@ -1,249 +0,0 @@ - - - - - - - diff --git a/src/components/group/GroupCard.vue b/src/components/group/GroupCard.vue index 2ac7db6b..45b7d7e0 100644 --- a/src/components/group/GroupCard.vue +++ b/src/components/group/GroupCard.vue @@ -97,26 +97,19 @@ {{ group.memberNum }}
    - diff --git a/src/views/third-party/Bind.vue b/src/views/third-party/Bind.vue deleted file mode 100644 index f4faa938..00000000 --- a/src/views/third-party/Bind.vue +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - - diff --git a/src/views/third-party/ThirdPartyLogin.vue b/src/views/third-party/ThirdPartyLogin.vue deleted file mode 100644 index c6d50bd7..00000000 --- a/src/views/third-party/ThirdPartyLogin.vue +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - diff --git a/src/views/third-party/css/loader.css b/src/views/third-party/css/loader.css deleted file mode 100644 index 2cdcf720..00000000 --- a/src/views/third-party/css/loader.css +++ /dev/null @@ -1,136 +0,0 @@ -/* - * Copyright 2020-2021 the original author or authors. - * - * Licensed under the General Public License, Version 3.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.gnu.org/licenses/gpl-3.0.en.html - */ - -@-webkit-keyframes enter { - 0% { - opacity: 0; - top: -10px; - } - 5% { - opacity: 1; - top: 0px; - } - 50.9% { - opacity: 1; - top: 0px; - } - 55.9% { - opacity: 0; - top: 10px; - } -} -@keyframes enter { - 0% { - opacity: 0; - top: -10px; - } - 5% { - opacity: 1; - top: 0px; - } - 50.9% { - opacity: 1; - top: 0px; - } - 55.9% { - opacity: 0; - top: 10px; - } -} -@-moz-keyframes enter { - 0% { - opacity: 0; - top: -10px; - } - 5% { - opacity: 1; - top: 0px; - } - 50.9% { - opacity: 1; - top: 0px; - } - 55.9% { - opacity: 0; - top: 10px; - } -} - -.loader { - position: absolute; - left: 50%; - top: 50%; - margin-left: -27.5px; - margin-top: -27.5px; -} -.loader .square { - background: #74819a; - width: 15px; - height: 15px; - float: left; - top: -10px; - margin-right: 5px; - margin-top: 5px; - position: relative; - opacity: 0; - -webkit-animation: enter 6s infinite; - animation: enter 6s infinite; -} -.loader .enter { - top: 0px; - opacity: 1; -} -.loader .square:nth-child(1) { - -webkit-animation-delay: 1.8s; - -moz-animation-delay: 1.8s; - animation-delay: 1.8s; -} -.loader .square:nth-child(2) { - -webkit-animation-delay: 2.1s; - -moz-animation-delay: 2.1s; - animation-delay: 2.1s; -} -.loader .square:nth-child(3) { - -webkit-animation-delay: 2.4s; - -moz-animation-delay: 2.4s; - animation-delay: 2.4s; - background: #ff9900; -} -.loader .square:nth-child(4) { - -webkit-animation-delay: 0.9s; - -moz-animation-delay: 0.9s; - animation-delay: 0.9s; -} -.loader .square:nth-child(5) { - -webkit-animation-delay: 1.2s; - -moz-animation-delay: 1.2s; - animation-delay: 1.2s; -} -.loader .square:nth-child(6) { - -webkit-animation-delay: 1.5s; - -moz-animation-delay: 1.5s; - animation-delay: 1.5s; -} -.loader .square:nth-child(8) { - -webkit-animation-delay: 0.3s; - -moz-animation-delay: 0.3s; - animation-delay: 0.3s; -} -.loader .square:nth-child(9) { - -webkit-animation-delay: 0.6s; - -moz-animation-delay: 0.6s; - animation-delay: 0.6s; -} -.loader .clear { - clear: both; -} -.loader .last { - margin-right: 0; -} \ No newline at end of file diff --git a/src/views/third-party/js/ThirdPartyEnum.js b/src/views/third-party/js/ThirdPartyEnum.js deleted file mode 100644 index bc4ad554..00000000 --- a/src/views/third-party/js/ThirdPartyEnum.js +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright 2020-2021 the original author or authors. - * - * Licensed under the General Public License, Version 3.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.gnu.org/licenses/gpl-3.0.en.html - */ - -import api from '_u/api'; - -const TARGET_ROUTER = '/thirdPartyLogin?thirdParty='; - -export const THIRD_PARTY_ENUM = { - SDUCAS: 'SDUCAS' -}; - -export const THIRD_PARTY_CAS = { - [THIRD_PARTY_ENUM.SDUCAS]: { - name: 'SDUCAS', - description: 'Shandong University Central Authentication Service', - targetUrl: function (params) { - let url = `https://pass.sdu.edu.cn/cas/login?service=${location.origin}${TARGET_ROUTER}${THIRD_PARTY_ENUM.SDUCAS}`; - for (const k in params) { - url += `&${k}=${params[k]}`; - } - return url; - }, - certificate: function (params) { - return new Promise((resolve, reject) => { - api.thirdPartyLogin(params).then(ret => { - resolve(ret); - }).catch(reject); - }); - }, - render: function (h, params) { - const tip1 = `${params.sduRealName}(${params.sduId}) has passed SDU CAS certification`; - const tip2 = 'Please complete the following information'; - const span1 = h('div', { class: { center: true }, style: { color: '#000000A6' } }, tip1); - const span2 = h('div', { class: { center: true }, style: { color: '#000000A6' } }, tip2); - return h('div', [span1, span2]); - }, - getId: function(profile) { - return profile.sduId; - } - } -}; diff --git a/src/views/user/Login.vue b/src/views/user/Login.vue index 8d5fc9b7..c551fe72 100644 --- a/src/views/user/Login.vue +++ b/src/views/user/Login.vue @@ -10,74 +10,76 @@ diff --git a/src/views/user/Register.vue b/src/views/user/Register.vue index 42e63e97..b34b53ff 100644 --- a/src/views/user/Register.vue +++ b/src/views/user/Register.vue @@ -10,14 +10,69 @@ @@ -74,46 +52,12 @@ import { mapGetters, mapState } from 'vuex'; import UserProfile from '@/views/user/children/UserProfile'; import UserPassword from '@/views/user/children/UserPassword'; import UserEmail from '@/views/user/children/UserEmail'; -import Reconfirm from '_c/Reconfirm'; - -import { THIRD_PARTY_CAS, THIRD_PARTY_ENUM } from '../third-party/js/ThirdPartyEnum'; -import api from '_u/api'; export default { - components: { UserProfile, UserPassword, UserEmail, Reconfirm }, - inject: ['reload'], - data: function() { - return { - thirdPartyStatus: {}, - confirmText: '' - }; - }, + components: { UserProfile, UserPassword, UserEmail }, computed: { ...mapState('user', ['profile']), - ...mapGetters('user', ['avatar', 'isVerified']), - THIRD_PARTY_CAS: () => THIRD_PARTY_CAS, - THIRD_PARTY_ENUM: () => THIRD_PARTY_ENUM - }, - methods: { - handleUnbind: function(thirdParty) { - this.confirmText = THIRD_PARTY_CAS[thirdParty].getId(this.profile); - this.$refs.reconfirm.reconfirm(() => { - this.thirdPartyStatus[thirdParty] = true; - api.thirdPartyUnbinding({ thirdParty }).then(ret => { - this.$Message.success('Success'); - this.reload(); - }).catch(err => { - this.$Message.error(err.message); - }).finally(() => { - this.thirdPartyStatus[thirdParty] = false; - }); - }); - } - }, - mounted: function() { - for (const cas in THIRD_PARTY_ENUM) { - this.$set(this.thirdPartyStatus, cas, false); - } + ...mapGetters('user', ['avatar', 'isVerified']) } } From af172789547e40e62242da5a15dde2f300aeb689 Mon Sep 17 00:00:00 2001 From: zhr2001 <2641489927@qq.com> Date: Thu, 27 May 2021 18:11:38 +0800 Subject: [PATCH 13/23] Revert "Automated deployment: Thu May 27 08:10:10 UTC 2021 49d502646225a794e6f5b00b9787e99c5642c690" This reverts commit f433cd9e7946f31e952bc2e9356e4320b22effaf. --- css/chunk-379d1f46.577d6146.css | 1 + css/chunk-cfb7922e.6123e4cc.css | 1 + css/chunk-e1c338fe.7b4da2e8.css | 1 + index.html | 1 + js/app.38818013.js | 2 ++ js/app.38818013.js.map | 1 + js/chunk-379d1f46.450a701d.js | 2 ++ js/chunk-379d1f46.450a701d.js.map | 1 + js/chunk-cfb7922e.bdc6cb21.js | 2 ++ js/chunk-cfb7922e.bdc6cb21.js.map | 1 + js/chunk-e1c338fe.46bae6ea.js | 2 ++ js/chunk-e1c338fe.46bae6ea.js.map | 1 + 12 files changed, 16 insertions(+) create mode 100644 css/chunk-379d1f46.577d6146.css create mode 100644 css/chunk-cfb7922e.6123e4cc.css create mode 100644 css/chunk-e1c338fe.7b4da2e8.css create mode 100644 index.html create mode 100644 js/app.38818013.js create mode 100644 js/app.38818013.js.map create mode 100644 js/chunk-379d1f46.450a701d.js create mode 100644 js/chunk-379d1f46.450a701d.js.map create mode 100644 js/chunk-cfb7922e.bdc6cb21.js create mode 100644 js/chunk-cfb7922e.bdc6cb21.js.map create mode 100644 js/chunk-e1c338fe.46bae6ea.js create mode 100644 js/chunk-e1c338fe.46bae6ea.js.map diff --git a/css/chunk-379d1f46.577d6146.css b/css/chunk-379d1f46.577d6146.css new file mode 100644 index 00000000..b5e8e984 --- /dev/null +++ b/css/chunk-379d1f46.577d6146.css @@ -0,0 +1 @@ +.time[data-v-171d3a25]:after{content:" ms";white-space:pre}.mem[data-v-171d3a25]:after{content:" KiB";white-space:pre}.underline[data-v-171d3a25]{color:#2d8cf0}.underline[data-v-171d3a25]:hover{cursor:pointer;text-decoration:underline} \ No newline at end of file diff --git a/css/chunk-cfb7922e.6123e4cc.css b/css/chunk-cfb7922e.6123e4cc.css new file mode 100644 index 00000000..17b550f4 --- /dev/null +++ b/css/chunk-cfb7922e.6123e4cc.css @@ -0,0 +1 @@ +.numbox[data-v-00818a92]{font-size:16px;text-align:center}.numbox__num__large[data-v-00818a92]{font-size:1.7rem}.numbox__text[data-v-00818a92]{font-size:14px;color:#aaa}[data-v-00818a92] .ivu-list-item{padding:10px 0}[data-v-00818a92] .ivu-list-vertical .ivu-list-item-meta{margin-bottom:0}[data-v-00818a92] .ivu-list-vertical .ivu-list-item-action{margin-top:6px}[data-v-00818a92] .ivu-list-vertical .ivu-list-item-meta-title{margin-bottom:4px;margin-top:4px}[data-v-00818a92] .ivu-list-item-meta-avatar{margin-top:-2px}.contest__title[data-v-00818a92]{color:rgba(0,0,0,.85)}.contest__title[data-v-00818a92]:hover{text-decoration:underline}.contest__date[data-v-00818a92]{margin:0 10px 0 15px;white-space:nowrap}.profile-header[data-v-a2e4521a]{position:relative;background-position:50%;background-size:cover;min-height:16.875rem;padding-bottom:4.0625rem}.profile-header__content[data-v-a2e4521a]{position:relative;padding:1.5625rem .9375rem 0}.profile-content[data-v-a2e4521a]{position:relative;z-index:2;margin-top:-2.8125rem} \ No newline at end of file diff --git a/css/chunk-e1c338fe.7b4da2e8.css b/css/chunk-e1c338fe.7b4da2e8.css new file mode 100644 index 00000000..936f0913 --- /dev/null +++ b/css/chunk-e1c338fe.7b4da2e8.css @@ -0,0 +1 @@ +.numbox[data-v-00818a92]{font-size:16px;text-align:center}.numbox__num__large[data-v-00818a92]{font-size:1.7rem}.numbox__text[data-v-00818a92]{font-size:14px;color:#aaa}[data-v-00818a92] .ivu-list-item{padding:10px 0}[data-v-00818a92] .ivu-list-vertical .ivu-list-item-meta{margin-bottom:0}[data-v-00818a92] .ivu-list-vertical .ivu-list-item-action{margin-top:6px}[data-v-00818a92] .ivu-list-vertical .ivu-list-item-meta-title{margin-bottom:4px;margin-top:4px}[data-v-00818a92] .ivu-list-item-meta-avatar{margin-top:-2px}.contest__title[data-v-00818a92]{color:rgba(0,0,0,.85)}.contest__title[data-v-00818a92]:hover{text-decoration:underline}.contest__date[data-v-00818a92]{margin:0 10px 0 15px;white-space:nowrap}.upcoming-title[data-v-72098daf]{margin:10px 0;font-size:20px;line-height:24px;color:#00c;text-decoration:underline;text-align:center}.upcoming-title[data-v-72098daf]:hover{cursor:pointer}.upcoming-countdown[data-v-72098daf]{margin:10px 0;text-align:center}.upcoming-countdown span[data-v-72098daf]{color:rgba(0,0,0,.85);font-size:20px;font-weight:700;line-height:24px}.pages[data-v-72098daf]{float:right;margin:20px auto;padding-right:15px} \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 00000000..9ebc33f8 --- /dev/null +++ b/index.html @@ -0,0 +1 @@ +SDUOJ
    \ No newline at end of file diff --git a/js/app.38818013.js b/js/app.38818013.js new file mode 100644 index 00000000..cb926fb1 --- /dev/null +++ b/js/app.38818013.js @@ -0,0 +1,2 @@ +(function(e){function t(t){for(var r,o,c=t[0],i=t[1],u=t[2],l=0,d=[];l1&&void 0!==arguments[1]?arguments[1]:200,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"mp",r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"g",o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"cn.gravatar.com";return"https://".concat(o,"/avatar/").concat(s(e),"?s=").concat(t,"&d=").concat(n,"&r=").concat(r)}function c(e,t){e[t>>5]|=128<>>9<<4)]=t;for(var n=1732584193,r=-271733879,o=-1732584194,s=271733878,a=0;a>16)+(t>>16)+(n>>16);return r<<16|65535&n}function b(e,t){return e<>>32-t}function p(e){for(var t=[],n=(1<>5]|=(e.charCodeAt(r/o)&n)<>2]>>o%4*8+4&15)+t.charAt(e[o>>2]>>o%4*8&15);return n}},4360:function(e,t,n){"use strict";var r=n("2b0e"),o=n("2f62"),s=(n("4160"),n("159b"),n("19e7")),a=n("c9d9"),c={profile:{}},i={profile:function(e){return e.profile||{}},username:function(e){return e.profile.username||""},avatar:function(e){return Object(s["a"])(e.profile.email||"")},isLogin:function(e){return!!e.profile.userId},isVerified:function(e){return!!e.profile.emailVerified},isAdmin:function(e,t){if(!t.isLogin)return!1;var n=!1;return(e.profile.roles||[]).forEach((function(e){return n|=a["j"][e].isAdmin})),n}},u={setProfile:function(e,t){e.profile=Object.assign({},t),window.localStorage.setItem("isLogin",!!t.userId)},clearProfile:function(e){e.profile={},window.localStorage.clear()}},l={setProfile:function(e,t){var n=e.commit;n("setProfile",t)},clearProfile:function(e){var t=e.commit;t("clearProfile")}},d={namespaced:!0,state:c,getters:i,mutations:u,actions:l},f=(n("4de4"),n("caad"),n("d81d"),n("a434"),n("b64b"),n("d3b7"),n("25f0"),n("2532"),n("5530")),m=n("7c15"),b=n("c1df"),p=n.n(b),h=n("bedf"),g=n("84e2"),v={contest:{features:{contestRunning:{},contestEnd:{}},problems:[],participants:[]},problems:[],questions:[],allSubmissions:[],likedScoresMap:{},settings:{showPractice:!1},scoreTimer:null,sliderTime:null},j={contestLoaded:function(e){return!!e.contest.contestId},contestId:function(e){return e.contest.contestId},contestStatus:function(e,t,n){var r=n.now;return t.contestStartTime>r?a["c"].UPCOMING:t.contestEndTime=t.contestStartTime},contestOpenness:function(e){return e.contest.features.openness},publicContest:function(e,t){return t.contestOpenness===a["b"].PUBLIC},protectedContest:function(e,t){return t.contestOpenness===a["b"].PROTECTED},privateContest:function(e,t){return t.contestOpenness===a["b"].PRIVATE},contestMode:function(e){return e.contest.features.mode},hasParticipatedIn:function(e,t,n,r){var o=r["user/username"];return e.contest.participants.includes(o)},contestStartTime:function(e){return p()(new Date(parseInt(e.contest.gmtStart)))},contestEndTime:function(e){return p()(new Date(parseInt(e.contest.gmtEnd)))},contestDuration:function(e,t){return t.contestEndTime-t.contestStartTime},countdown:function(e,t,n){if(t.contestStatus===a["c"].UPCOMING){var r=p.a.duration(t.contestStartTime.diff(n.now,"seconds"),"seconds");return r.weeks()>0?"Before the contest: "+r.humanize():"-"+Object(h["c"])(t.contestStartTime-n.now)}return t.contestStatus===a["c"].RUNNING?Object(h["c"])(t.contestEndTime-n.now):"FINISHED"},scores:function(e,t,n){if(!e.allSubmissions)return[];var o=g["b"][t.contestMode],s=[],c=null;t.contestStatus===a["c"].FINISHED&&(e.sliderTime?c=e.sliderTime:e.settings.showPractice||(c=t.contestEndTime)),e.allSubmissions.forEach((function(t){s.push(Object(g["a"])(t,e.contest.gmtStart,e.contest.problems.map((function(e){return e.problemWeight})),o.calculateProblemResult,o.formatProblemResults,c))})),s=o.calculateRank(s);var i={};s.forEach((function(e){e.official&&e.problemResults.forEach((function(e){a["g"].AC===e.judgeResult&&(!i[e.problemCode]||i[e.problemCode]>e.time)&&(i[e.problemCode]=e.time)}))})),s.forEach((function(e){e.official&&e.problemResults.forEach((function(e){a["g"].AC===e.judgeResult&&i[e.problemCode]===e.time&&(e.css="score_first")}))}));for(var u=function(t){var o=null;s.forEach((function(e){e.user.userId===n.user.profile.userId&&(o=e.problemResults[t].judgeResult)})),r["default"].set(e.contest.problems[t],"judgeResult",o)},l=0;l0?a["g"].PD:l.judgeResult,o[c].length,u]):r.push([]))}return r}function u(e,t,n){var r=[],o=0,s=0,c=0;return e.forEach((function(e){if(o++,0===e.length)r.push({problemCode:o,css:"",time:0,score:0,numSubmissions:0,numSubmissionsPending:0});else{var i=parseInt(e[0]);i>0&&(i-=n);var u,l=parseInt(e[1]||0),d=parseInt(e[2]),f=parseInt(e[3]),m=parseInt(e[4]);d<=a["g"].PD?u="score_pending":d===a["g"].AC?(u="score_correct",s+=t[o-1],c+=i+20*(f-m-1)*60*1e3):u="score_incorrect",r.push({problemCode:o,css:u,time:i,score:l,judgeResult:d,numSubmissions:f-m,numSubmissionsPending:m})}})),{solved:s,score:c,problemResults:r}}function l(e){e.sort((function(e,t){return e.solved!==t.solved?t.solved-e.solved:e.score===t.score||e.score-t.score}));var t=0,n=null;return e.forEach((function(e){e.official?(t++,!n||n.solved>e.solved||e.score>n.score?(e.rank=t,n=e):e.rank=n.rank):e.rank=-1})),e}function d(e,t){var n=["username","nickname","official","rank","solved","penalty"].concat(t.map((function(e){var t=Object(c["b"])(e.problemCode);return"".concat(t,"(").concat(e.problemWeight,"):").concat(e.problemTitle)}))),r=e.map((function(e){return[e.user.username,e.user.nickname,e.official,e.rank.toString(),e.solved.toString(),parseInt(e.score/6e4).toString()].concat(Object(s["a"])(e.problemResults.map((function(e){return e.numSubmissions+e.numSubmissionsPending>0?"-".concat(e.numSubmissions+e.numSubmissionsPending,"/").concat(parseInt(e.time/6e3)):""}))))}));return{header:n,data:r}}var f={formatProblemResults:u,calculateProblemResult:i,calculateRank:l,exportScore:d};function m(e,t,n){for(var r={},o=1;o<=t;++o)r[o]=[];e.forEach((function(e){var t=parseInt(e[0]);(!n||parseInt(e[1])<=n)&&r[t].push({gmtCreate:parseInt(e[1]),judgeScore:parseInt(e[2]||0),judgeResult:parseInt(e[3])})}));for(var s=[],c=1;c<=t;++c){r[c].sort((function(e,t){return e.gmtCreate-t.gmtCreate}));for(var i=0,u=null,l=r[c].length-1;l>=0;--l){var d=r[c][l];if(d.judgeResult===a["g"].PD){u=d;break}i++}u?s.push([u.gmtCreate,u.judgeScore,u.judgeResult,r[c].length,i]):s.push([])}return s}function b(e,t,n){var r=[],o=0,s=0,c=0;return e.forEach((function(e){if(o++,0===e.length)r.push({problemCode:o,css:"",time:0,score:0,numSubmissions:0,numSubmissionsPending:0});else{var i=parseInt(e[0]);i>0&&(i-=n);var u,l=parseInt(e[1]||0),d=parseInt(e[2]),f=parseInt(e[3]),m=parseInt(e[4]);c+=l*t[o-1],d<=a["g"].PD?u="score_pending":d===a["g"].AC?(u="score_correct",s++):u="score_incorrect",r.push({problemCode:o,css:u,time:i,score:l,judgeResult:d,numSubmissions:f-m,numSubmissionsPending:m})}})),{solved:s,score:c,problemResults:r}}function p(e){e.sort((function(e,t){return e.score===t.score||t.score-e.score}));var t=1,n=null;return e.forEach((function(e){e.official?(!n||n.score>e.score?(e.rank=t,n=e):e.rank=n.rank,t++):e.rank=-1})),e}function h(e,t){var n=["username","nickname","official","rank","score"].concat(t.map((function(e){var t=Object(c["b"])(e.problemCode);return"".concat(t,"(").concat(e.problemWeight,"):").concat(e.problemTitle)}))),r=e.map((function(e){return[e.user.username,e.user.nickname,e.official,e.rank.toString(),e.score.toString()].concat(Object(s["a"])(e.problemResults.map((function(e){return e.numSubmissions>0?e.score.toString():""}))))}));return{header:n,data:r}}var g={formatProblemResults:b,calculateProblemResult:m,calculateRank:p,exportScore:h};function v(e,t,n){for(var r=[],o={},s=1;s<=t;++s)o[s]=[];e.forEach((function(e){var t=parseInt(e[0]);(!n||parseInt(e[1])<=n)&&o[t].push({gmtCreate:parseInt(e[1]),judgeScore:parseInt(e[2]||0),judgeResult:parseInt(e[3])})}));for(var c=1;c<=t;++c){for(var i=0,u=null,l=0;lu.judgeScore||d.judgeScore===u.judgeScore&&d.judgeResult===a["g"].AC)&&(u=d),d.judgeResult===a["g"].PD&&i++}u?r.push([u.gmtCreate,u.judgeScore,u.judgeResult,o[c].length,i]):r.push([])}return r}function j(e,t,n){var r=[],o=0,s=0,c=0;return e.forEach((function(e){if(o++,0===e.length)r.push({problemCode:o,css:"",time:0,score:0,numSubmissions:0,numSubmissionsPending:0});else{var i=parseInt(e[0]);i>0&&(i-=n);var u,l=parseInt(e[1]||0),d=parseInt(e[2]),f=parseInt(e[3]),m=parseInt(e[4]);c+=l*t[o-1],d<=a["g"].PD?u="score_pending":d===a["g"].AC?(u="score_correct",s++):u="score_incorrect",r.push({problemCode:o,css:u,time:i,score:l,judgeResult:d,numSubmissions:f-m,numSubmissionsPending:m})}})),{solved:s,score:c,problemResults:r}}function k(e){e.sort((function(e,t){return e.score===t.score||t.score-e.score}));var t=1,n=null;return e.forEach((function(e){e.official?(!n||n.score>e.score?(e.rank=t,n=e):e.rank=n.rank,t++):e.rank=-1})),e}function C(e,t){var n=["username","nickname","official","rank","score"].concat(t.map((function(e){var t=Object(c["b"])(e.problemCode);return"".concat(t,"(").concat(e.problemWeight,"):").concat(e.problemTitle)}))),r=e.map((function(e){return[e.user.username,e.user.nickname,e.official,e.rank.toString(),e.score.toString()].concat(Object(s["a"])(e.problemResults.map((function(e){return e.numSubmissions>0?e.score.toString():""}))))}));return{header:n,data:r}}var S,y={formatProblemResults:j,calculateProblemResult:v,calculateRank:k,exportScore:C};function P(e,t,n,r,s,a){var c=Object(o["a"])({},e);return delete c.userId,delete c.username,delete c.submissions,c.user={userId:e.userId,username:e.username,nickname:e.nickname},e.submissions&&(c.problemResults=r(e.submissions,e.problemNum,a)),Object.assign(c,s(c.problemResults,n,t))}t["b"]=(S={},Object(r["a"])(S,a["a"].ACM,f),Object(r["a"])(S,a["a"].OI,g),Object(r["a"])(S,a["a"].IOI,y),S)},ae83:function(e,t,n){"use strict";var r=n("73b7"),o=n.n(r);o.a},bedf:function(e,t,n){"use strict";n.d(t,"b",(function(){return a})),n.d(t,"a",(function(){return c})),n.d(t,"c",(function(){return i}));n("a15b"),n("d3b7"),n("25f0");var r=n("b85c"),o=n("c1df"),s=n.n(o);function a(e){e=parseInt(e);var t=[];do{var n=(e-1)%26+1;t.push(String.fromCharCode(64+n)),e=parseInt((e-n)/26)}while(e>0);return t.reverse().join("")}function c(e){if(!e)return"";var t,n=0,o=0,s=Object(r["a"])(e);try{for(s.s();!(t=s.n()).done;){var a=t.value;if(a>="A"&&a<="Z"){if(n||(n=26),26!==n)return"";o=o*n+(a.charCodeAt()-64)}else if(a>="a"&&a<="z"){if(n||(n=26),26!==n)return"";o=o*n+(a.charCodeAt()-96)}else{if(!(a>="0"&&a<="9"))return"";if(n||(n=10),10!==n)return"";o=o*n+(a.charCodeAt()-48)}}}catch(c){s.e(c)}finally{s.f()}return o.toString()}function i(e){var t=s.a.duration(e,"milliseconds"),n=t.minutes()<10?"0"+t.minutes():t.minutes().toString(),r=t.seconds()<10?"0"+t.seconds():t.seconds().toString();return[Math.floor(t.asHours()),n,r].join(":")}},c9d9:function(e,t,n){"use strict";n.d(t,"c",(function(){return a})),n.d(t,"b",(function(){return c})),n.d(t,"a",(function(){return i})),n.d(t,"g",(function(){return u})),n.d(t,"f",(function(){return l})),n.d(t,"i",(function(){return d})),n.d(t,"h",(function(){return f})),n.d(t,"j",(function(){return m})),n.d(t,"d",(function(){return b})),n.d(t,"e",(function(){return p}));var r,o,s=n("ade3"),a={UPCOMING:1,RUNNING:2,FINISHED:3},c={PUBLIC:"public",PROTECTED:"protected",PRIVATE:"private"},i={ACM:"acm",OI:"oi",IOI:"ioi"},u={PD:0,AC:1,TLE:2,MLE:3,RE:4,SE:5,WA:6,PE:7,CE:8,OLE:9,CAN:99,CP:-3,JG:-2,END:-1},l=(r={},Object(s["a"])(r,u.CP,{name:"Compiling",abbr:"CP",css:"verdict-pending",color:"grey",icon:"md-information"}),Object(s["a"])(r,u.JG,{name:"Judging",abbr:"JG",css:"verdict-pending",color:"grey",icon:"md-information"}),Object(s["a"])(r,u.PD,{name:"Pending",abbr:"PD",css:"verdict-pending",color:"grey",icon:"md-information"}),Object(s["a"])(r,u.AC,{name:"Accepted",abbr:"AC",css:"verdict-accepted",color:"#5cb85c",icon:"md-checkmark"}),Object(s["a"])(r,u.TLE,{name:"Time Limit Exceeded",abbr:"TLE",css:"verdict-failed",color:"#d9534f",icon:"md-close"}),Object(s["a"])(r,u.MLE,{name:"Memory Limit Exceeded",abbr:"MLE",css:"verdict-failed",color:"#d9534f",icon:"md-close"}),Object(s["a"])(r,u.RE,{name:"Runtime Error",abbr:"RE",css:"verdict-failed",color:"#d9534f",icon:"md-close"}),Object(s["a"])(r,u.SE,{name:"System Error",abbr:"SE",css:"verdict-system-error",color:"rebeccapurple",icon:"md-close"}),Object(s["a"])(r,u.WA,{name:"Wrong Answer",abbr:"WA",css:"verdict-failed",color:"#d9534f",icon:"md-close"}),Object(s["a"])(r,u.PE,{name:"Presentation Error",abbr:"PE",css:"verdict-failed",color:"#d9534f",icon:"md-close"}),Object(s["a"])(r,u.CE,{name:"Compilation Error",abbr:"CE",css:"verdict-compile-error",color:"orange",icon:"md-close"}),Object(s["a"])(r,u.OLE,{name:"Output Limit Exceeded",abbr:"OLE",css:"verdict-failed",color:"#d9534f",icon:"md-close"}),Object(s["a"])(r,u.CAN,{name:"Canceled",abbr:"CAN",css:"verdict-canceled",color:"#220048",icon:"md-close"}),r),d={IO:0,SPJ:1,ADVANCED:2},f=(o={},Object(s["a"])(o,d.IO,{type:0,name:"IO",color:"blue",zipFile:!1}),Object(s["a"])(o,d.SPJ,{type:1,name:"SPJ",color:"gold",zipFile:!0}),Object(s["a"])(o,d.ADVANCED,{type:2,name:"Advanced",color:"purple",zipFile:!0}),o),m={user:{color:"default",isAdmin:!1},admin:{color:"gold",isAdmin:!0},superadmin:{color:"volcano",isAdmin:!0}},b={PUBLIC:0,PROTECTED:1,PRIVATE:2},p={NONE:0,APPLYING:1,JOINED:2,REJECTED:3}},ca91:function(e,t,n){},cf05:function(e,t,n){e.exports=n.p+"img/logo.8f551318.png"},e490:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=!0,o=!1,s=!1,a={PROD:r,DEV:o,TEST:s}},e9bc:function(e,t,n){},f5d3:function(e,t,n){}}); +//# sourceMappingURL=app.38818013.js.map \ No newline at end of file diff --git a/js/app.38818013.js.map b/js/app.38818013.js.map new file mode 100644 index 00000000..3946c5f1 --- /dev/null +++ b/js/app.38818013.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/utils/md5.js","webpack:///./src/store/modules/user.js","webpack:///./src/store/modules/contest.js","webpack:///./src/store/index.js","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/App.vue?a1de","webpack:///./src/components/NavBar.vue?5785","webpack:///src/components/NavBar.vue","webpack:///./src/components/NavBar.vue?e8e4","webpack:///./src/components/NavBar.vue","webpack:///src/App.vue","webpack:///./src/App.vue?1160","webpack:///./src/App.vue","webpack:///./src/router/routes.js","webpack:///./src/router/index.js","webpack:///./src/plugins/clipboard2.js","webpack:///./src/plugins/highlight.js","webpack:///./src/plugins/iviewui.js","webpack:///./src/main.js","webpack:///./src/App.vue?4ed6","webpack:///./src/utils/api.js","webpack:///./src/store/modules/ranks/acm.js","webpack:///./src/store/modules/ranks/oi.js","webpack:///./src/store/modules/ranks/ioi.js","webpack:///./src/store/modules/ranks/index.js","webpack:///./src/components/NavBar.vue?41cc","webpack:///./src/utils/transform.js","webpack:///./src/utils/constants.js","webpack:///./src/assets/logo.png","webpack:///./src/utils/env.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","hexcase","chrsz","hex_md5","binl2hex","core_md5","str2binl","getGravatarUrl","email","size","_default","rating","baseUrl","x","len","a","b","olda","oldb","oldc","oldd","md5_ff","md5_gg","md5_hh","md5_ii","safe_add","md5_cmn","q","bit_rol","y","lsw","msw","num","cnt","str","bin","mask","charCodeAt","binarray","hex_tab","charAt","state","profile","getters","username","avatar","isLogin","userId","isVerified","emailVerified","isAdmin","roles","forEach","role","USER_ROLE","mutations","setProfile","assign","localStorage","setItem","clearProfile","clear","actions","commit","namespaced","contest","features","contestRunning","contestEnd","problems","participants","questions","allSubmissions","likedScoresMap","settings","showPractice","scoreTimer","sliderTime","contestLoaded","contestId","contestStatus","rootState","now","contestStartTime","CONTEST_STATUS","UPCOMING","contestEndTime","FINISHED","RUNNING","contestStarted","contestOpenness","openness","publicContest","CONTEST_OPENNESS","PUBLIC","protectedContest","PROTECTED","privateContest","PRIVATE","contestMode","hasParticipatedIn","rootGetters","includes","moment","Date","parseInt","gmtStart","gmtEnd","contestDuration","countdown","duration","diff","weeks","humanize","s2hs","scores","handler","rankHandler","endTime","score","calculateScore","map","problem","problemWeight","calculateProblemResult","formatProblemResults","calculateRank","firstSolvedMap","official","problemResults","JUDGE_RESULT_TYPE","AC","judgeResult","problemCode","time","css","user","Vue","set","likedScores","filter","acceptNum","submitNum","judgeScore","numSubmissions","keys","setContest","payload","toString","setProblemDetail","_valid","setAllSubmissions","setScoreTimer","setInterval","dispatch","clearInterval","interval","setSliderTime","setScoreLiked","status","setSettings","clearContest","getContest","api","showRank","catch","getQuestions","getContestRank","ret","use","Vuex","Store","copyright","updateCopyright","updateNow","addOneSecond","add","webpackContext","req","id","webpackContextResolve","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","_e","domProps","_s","staticRenderFns","$route","path","split","on","$event","$router","staticStyle","_v","onClick","slot","manageUrl","toLogin","toRegist","inject","methods","query","to","fullPath","handleLogout","toUser","computed","mounted","component","components","provide","reload","secondsTimer","isRouterAlive","$nextTick","created","beforeDestroy","routes","redirect","meta","title","login","scrollToTop","children","meth","VueRouter","originalPush","originalReplace","replace","location","_","that","scrollBehavior","from","savedPosition","position","hash","selector","matched","some","router","beforeEach","next","$Loading","start","route","getProfile","$Message","afterEach","finish","VueClipboard","hljs","require","directive","deep","el","binding","targets","querySelectorAll","textContent","highlightBlock","componentUpdated","lineNumbersBlock","ViewUI","locale","config","productionTip","top","store","render","h","App","$mount","post","url","axios","response","timestamp","params","defaults","baseURL","process","withCredentials","getContestId","getCopyright","logout","register","forgetPassword","updateProfile","sendVerificationEmail","resetPassword","verifyEmail","token","success","getCaptcha","isExist","getParticipatedContests","getUserACProblems","getSubmissionDetail","getContestSubmissionDetail","getSubmissionList","getContestSubmissionList","submit","createContestSubmission","problemQuery","index","getContestProblem","getProblemList","getContestList","getUpcomingContest","participateIn","rejudge","invalidate","getGroupDetail","getGroupList","joinGroup","quitGroup","getMyGroupList","singleUpload","thirdPartyLogin","thirdPartyBinding","thirdPartyRegister","thirdPartyUnbinding","submissions","problemNum","problemSubmissionMap","submission","gmtCreate","ac","numSubmissionsPending","oneSubmission","sort","i1","PD","_problemResults","problemWeights","startTime","solved","rank","last","exportScore","header","concat","contestProblemId","contestProblemIdEncode","problemTitle","nickname","v","lastUnPDSubmission","maxScoreSubmission","CONTEST_MODE","ACM","acmRankHandler","OI","oiRankHandler","IOI","ioiRankHandler","ch","String","fromCharCode","reverse","join","contestProblemIdDecode","base","problemId","minutes","seconds","Math","floor","asHours","TLE","MLE","RE","SE","WA","PE","CE","OLE","CAN","CP","JG","END","JUDGE_RESULT","abbr","color","icon","JUDGE_TEMPLATE_TYPE","IO","SPJ","ADVANCED","JUDGE_TEMPLATE_PROPERITY","zipFile","admin","superadmin","GROUP_OPENNESS_TYPE","GROUP_STATUS_TYPE","NONE","APPLYING","JOINED","REJECTED","SDUOJ_PRODUCTION","SDUOJ_DEV","SDUOJ_TEST","SDUOJ_ENV","PROD","DEV","TEST"],"mappings":"aACE,SAASA,EAAqBC,GAQ7B,IAPA,IAMIC,EAAUC,EANVC,EAAWH,EAAK,GAChBI,EAAcJ,EAAK,GACnBK,EAAiBL,EAAK,GAIHM,EAAI,EAAGC,EAAW,GACpCD,EAAIH,EAASK,OAAQF,IACzBJ,EAAUC,EAASG,GAChBG,OAAOC,UAAUC,eAAeC,KAAKC,EAAiBX,IAAYW,EAAgBX,IACpFK,EAASO,KAAKD,EAAgBX,GAAS,IAExCW,EAAgBX,GAAW,EAE5B,IAAID,KAAYG,EACZK,OAAOC,UAAUC,eAAeC,KAAKR,EAAaH,KACpDc,EAAQd,GAAYG,EAAYH,IAG/Be,GAAqBA,EAAoBhB,GAE5C,MAAMO,EAASC,OACdD,EAASU,OAATV,GAOD,OAHAW,EAAgBJ,KAAKK,MAAMD,EAAiBb,GAAkB,IAGvDe,IAER,SAASA,IAER,IADA,IAAIC,EACIf,EAAI,EAAGA,EAAIY,EAAgBV,OAAQF,IAAK,CAG/C,IAFA,IAAIgB,EAAiBJ,EAAgBZ,GACjCiB,GAAY,EACRC,EAAI,EAAGA,EAAIF,EAAed,OAAQgB,IAAK,CAC9C,IAAIC,EAAQH,EAAeE,GACG,IAA3BX,EAAgBY,KAAcF,GAAY,GAE3CA,IACFL,EAAgBQ,OAAOpB,IAAK,GAC5Be,EAASM,EAAoBA,EAAoBC,EAAIN,EAAe,KAItE,OAAOD,EAIR,IAAIQ,EAAmB,GAGnBC,EAAqB,CACxB,IAAO,GAMJjB,EAAkB,CACrB,IAAO,GAGJK,EAAkB,GAGtB,SAASa,EAAe7B,GACvB,OAAOyB,EAAoBK,EAAI,OAAS,GAAG9B,IAAUA,GAAW,IAAM,CAAC,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,YAAYA,GAAW,MAIhqB,SAASyB,EAAoB1B,GAG5B,GAAG4B,EAAiB5B,GACnB,OAAO4B,EAAiB5B,GAAUgC,QAGnC,IAAIC,EAASL,EAAiB5B,GAAY,CACzCK,EAAGL,EACHkC,GAAG,EACHF,QAAS,IAUV,OANAlB,EAAQd,GAAUW,KAAKsB,EAAOD,QAASC,EAAQA,EAAOD,QAASN,GAG/DO,EAAOC,GAAI,EAGJD,EAAOD,QAKfN,EAAoBS,EAAI,SAAuBlC,GAC9C,IAAImC,EAAW,GAIXC,EAAY,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,GACrXR,EAAmB5B,GAAUmC,EAASvB,KAAKgB,EAAmB5B,IACzB,IAAhC4B,EAAmB5B,IAAkBoC,EAAUpC,IACtDmC,EAASvB,KAAKgB,EAAmB5B,GAAW,IAAIqC,SAAQ,SAASC,EAASC,GAIzE,IAHA,IAAIC,EAAO,QAAU,GAAGxC,IAAUA,GAAW,IAAM,CAAC,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,YAAYA,GAAW,OACxoByC,EAAWhB,EAAoBK,EAAIU,EACnCE,EAAmBC,SAASC,qBAAqB,QAC7CxC,EAAI,EAAGA,EAAIsC,EAAiBpC,OAAQF,IAAK,CAChD,IAAIyC,EAAMH,EAAiBtC,GACvB0C,EAAWD,EAAIE,aAAa,cAAgBF,EAAIE,aAAa,QACjE,GAAe,eAAZF,EAAIG,MAAyBF,IAAaN,GAAQM,IAAaL,GAAW,OAAOH,IAErF,IAAIW,EAAoBN,SAASC,qBAAqB,SACtD,IAAQxC,EAAI,EAAGA,EAAI6C,EAAkB3C,OAAQF,IAAK,CAC7CyC,EAAMI,EAAkB7C,GACxB0C,EAAWD,EAAIE,aAAa,aAChC,GAAGD,IAAaN,GAAQM,IAAaL,EAAU,OAAOH,IAEvD,IAAIY,EAAUP,SAASQ,cAAc,QACrCD,EAAQF,IAAM,aACdE,EAAQE,KAAO,WACfF,EAAQG,OAASf,EACjBY,EAAQI,QAAU,SAASC,GAC1B,IAAIC,EAAUD,GAASA,EAAME,QAAUF,EAAME,OAAOC,KAAOjB,EACvDkB,EAAM,IAAIC,MAAM,qBAAuB5D,EAAU,cAAgBwD,EAAU,KAC/EG,EAAIE,KAAO,wBACXF,EAAIH,QAAUA,SACP5B,EAAmB5B,GAC1BkD,EAAQY,WAAWC,YAAYb,GAC/BX,EAAOoB,IAERT,EAAQV,KAAOC,EAEf,IAAIuB,EAAOrB,SAASC,qBAAqB,QAAQ,GACjDoB,EAAKC,YAAYf,MACfgB,MAAK,WACPtC,EAAmB5B,GAAW,MAMhC,IAAImE,EAAqBxD,EAAgBX,GACzC,GAA0B,IAAvBmE,EAGF,GAAGA,EACFhC,EAASvB,KAAKuD,EAAmB,QAC3B,CAEN,IAAIC,EAAU,IAAI/B,SAAQ,SAASC,EAASC,GAC3C4B,EAAqBxD,EAAgBX,GAAW,CAACsC,EAASC,MAE3DJ,EAASvB,KAAKuD,EAAmB,GAAKC,GAGtC,IACIC,EADAC,EAAS3B,SAASQ,cAAc,UAGpCmB,EAAOC,QAAU,QACjBD,EAAOE,QAAU,IACb/C,EAAoBgD,IACvBH,EAAOI,aAAa,QAASjD,EAAoBgD,IAElDH,EAAOZ,IAAM7B,EAAe7B,GAG5B,IAAI2E,EAAQ,IAAIf,MAChBS,EAAmB,SAAUd,GAE5Be,EAAOhB,QAAUgB,EAAOjB,OAAS,KACjCuB,aAAaJ,GACb,IAAIK,EAAQlE,EAAgBX,GAC5B,GAAa,IAAV6E,EAAa,CACf,GAAGA,EAAO,CACT,IAAIC,EAAYvB,IAAyB,SAAfA,EAAMH,KAAkB,UAAYG,EAAMH,MAChE2B,EAAUxB,GAASA,EAAME,QAAUF,EAAME,OAAOC,IACpDiB,EAAMK,QAAU,iBAAmBhF,EAAU,cAAgB8E,EAAY,KAAOC,EAAU,IAC1FJ,EAAMM,KAAO,iBACbN,EAAMvB,KAAO0B,EACbH,EAAMnB,QAAUuB,EAChBF,EAAM,GAAGF,GAEVhE,EAAgBX,QAAWkF,IAG7B,IAAIV,EAAUW,YAAW,WACxBd,EAAiB,CAAEjB,KAAM,UAAWK,OAAQa,MAC1C,MACHA,EAAOhB,QAAUgB,EAAOjB,OAASgB,EACjC1B,SAASqB,KAAKC,YAAYK,GAG5B,OAAOjC,QAAQ+C,IAAIjD,IAIpBV,EAAoB4D,EAAIxE,EAGxBY,EAAoB6D,EAAI3D,EAGxBF,EAAoB8D,EAAI,SAASxD,EAASkD,EAAMO,GAC3C/D,EAAoBgE,EAAE1D,EAASkD,IAClC1E,OAAOmF,eAAe3D,EAASkD,EAAM,CAAEU,YAAY,EAAMC,IAAKJ,KAKhE/D,EAAoBoE,EAAI,SAAS9D,GACX,qBAAX+D,QAA0BA,OAAOC,aAC1CxF,OAAOmF,eAAe3D,EAAS+D,OAAOC,YAAa,CAAEC,MAAO,WAE7DzF,OAAOmF,eAAe3D,EAAS,aAAc,CAAEiE,OAAO,KAQvDvE,EAAoBwE,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQvE,EAAoBuE,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,kBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAK7F,OAAO8F,OAAO,MAGvB,GAFA5E,EAAoBoE,EAAEO,GACtB7F,OAAOmF,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOvE,EAAoB8D,EAAEa,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIR3E,EAAoB+E,EAAI,SAASxE,GAChC,IAAIwD,EAASxD,GAAUA,EAAOmE,WAC7B,WAAwB,OAAOnE,EAAO,YACtC,WAA8B,OAAOA,GAEtC,OADAP,EAAoB8D,EAAEC,EAAQ,IAAKA,GAC5BA,GAIR/D,EAAoBgE,EAAI,SAASgB,EAAQC,GAAY,OAAOnG,OAAOC,UAAUC,eAAeC,KAAK+F,EAAQC,IAGzGjF,EAAoBK,EAAI,IAGxBL,EAAoBkF,GAAK,SAAShD,GAA2B,MAApBiD,QAAQjC,MAAMhB,GAAYA,GAEnE,IAAIkD,EAAaC,OAAO,gBAAkBA,OAAO,iBAAmB,GAChEC,EAAmBF,EAAWjG,KAAK2F,KAAKM,GAC5CA,EAAWjG,KAAOf,EAClBgH,EAAaA,EAAWG,QACxB,IAAI,IAAI5G,EAAI,EAAGA,EAAIyG,EAAWvG,OAAQF,IAAKP,EAAqBgH,EAAWzG,IAC3E,IAAIU,EAAsBiG,EAI1B/F,EAAgBJ,KAAK,CAAC,EAAE,kBAEjBM,K,6HCnPH+F,EAAU,EAEVC,EAAQ,EAMP,SAASC,EAAQzF,GAAK,OAAO0F,EAASC,EAASC,EAAS5F,GAAIA,EAAEpB,OAAS4G,IACvE,SAASK,EAAgBC,GAA+E,IAAxEC,EAAwE,uDAAjE,IAAKC,EAA4D,uDAAjD,KAAMC,EAA2C,uDAAlC,IAAKC,EAA6B,uDAAnB,kBAC1F,wBAAkBA,EAAlB,mBAAoCT,EAAQK,GAA5C,cAAwDC,EAAxD,cAAkEC,EAAlE,cAAgFC,GAMlF,SAASN,EAASQ,EAAGC,GAEnBD,EAAEC,GAAO,IAAM,KAAUA,EAAO,GAChCD,EAA8B,IAAzBC,EAAM,KAAQ,GAAM,IAAWA,EAOpC,IALA,IAAIC,EAAI,WACJC,GAAK,UACL1C,GAAK,WACLC,EAAK,UAEAnF,EAAI,EAAGA,EAAIyH,EAAEvH,OAAQF,GAAK,GAAI,CACrC,IAAM6H,EAAOF,EACPG,EAAOF,EACPG,EAAO7C,EACP8C,EAAO7C,EAEbwC,EAAIM,EAAON,EAAGC,EAAG1C,EAAGC,EAAGsC,EAAEzH,EAAI,GAAI,GAAI,WACrCmF,EAAI8C,EAAO9C,EAAGwC,EAAGC,EAAG1C,EAAGuC,EAAEzH,EAAI,GAAI,IAAK,WACtCkF,EAAI+C,EAAO/C,EAAGC,EAAGwC,EAAGC,EAAGH,EAAEzH,EAAI,GAAI,GAAK,WACtC4H,EAAIK,EAAOL,EAAG1C,EAAGC,EAAGwC,EAAGF,EAAEzH,EAAI,GAAI,IAAK,YACtC2H,EAAIM,EAAON,EAAGC,EAAG1C,EAAGC,EAAGsC,EAAEzH,EAAI,GAAI,GAAI,WACrCmF,EAAI8C,EAAO9C,EAAGwC,EAAGC,EAAG1C,EAAGuC,EAAEzH,EAAI,GAAI,GAAK,YACtCkF,EAAI+C,EAAO/C,EAAGC,EAAGwC,EAAGC,EAAGH,EAAEzH,EAAI,GAAI,IAAK,YACtC4H,EAAIK,EAAOL,EAAG1C,EAAGC,EAAGwC,EAAGF,EAAEzH,EAAI,GAAI,IAAK,UACtC2H,EAAIM,EAAON,EAAGC,EAAG1C,EAAGC,EAAGsC,EAAEzH,EAAI,GAAI,EAAI,YACrCmF,EAAI8C,EAAO9C,EAAGwC,EAAGC,EAAG1C,EAAGuC,EAAEzH,EAAI,GAAI,IAAK,YACtCkF,EAAI+C,EAAO/C,EAAGC,EAAGwC,EAAGC,EAAGH,EAAEzH,EAAI,IAAK,IAAK,OACvC4H,EAAIK,EAAOL,EAAG1C,EAAGC,EAAGwC,EAAGF,EAAEzH,EAAI,IAAK,IAAK,YACvC2H,EAAIM,EAAON,EAAGC,EAAG1C,EAAGC,EAAGsC,EAAEzH,EAAI,IAAK,EAAI,YACtCmF,EAAI8C,EAAO9C,EAAGwC,EAAGC,EAAG1C,EAAGuC,EAAEzH,EAAI,IAAK,IAAK,UACvCkF,EAAI+C,EAAO/C,EAAGC,EAAGwC,EAAGC,EAAGH,EAAEzH,EAAI,IAAK,IAAK,YACvC4H,EAAIK,EAAOL,EAAG1C,EAAGC,EAAGwC,EAAGF,EAAEzH,EAAI,IAAK,GAAK,YAEvC2H,EAAIO,EAAOP,EAAGC,EAAG1C,EAAGC,EAAGsC,EAAEzH,EAAI,GAAI,GAAI,WACrCmF,EAAI+C,EAAO/C,EAAGwC,EAAGC,EAAG1C,EAAGuC,EAAEzH,EAAI,GAAI,GAAI,YACrCkF,EAAIgD,EAAOhD,EAAGC,EAAGwC,EAAGC,EAAGH,EAAEzH,EAAI,IAAK,GAAK,WACvC4H,EAAIM,EAAON,EAAG1C,EAAGC,EAAGwC,EAAGF,EAAEzH,EAAI,GAAI,IAAK,WACtC2H,EAAIO,EAAOP,EAAGC,EAAG1C,EAAGC,EAAGsC,EAAEzH,EAAI,GAAI,GAAI,WACrCmF,EAAI+C,EAAO/C,EAAGwC,EAAGC,EAAG1C,EAAGuC,EAAEzH,EAAI,IAAK,EAAI,UACtCkF,EAAIgD,EAAOhD,EAAGC,EAAGwC,EAAGC,EAAGH,EAAEzH,EAAI,IAAK,IAAK,WACvC4H,EAAIM,EAAON,EAAG1C,EAAGC,EAAGwC,EAAGF,EAAEzH,EAAI,GAAI,IAAK,WACtC2H,EAAIO,EAAOP,EAAGC,EAAG1C,EAAGC,EAAGsC,EAAEzH,EAAI,GAAI,EAAI,WACrCmF,EAAI+C,EAAO/C,EAAGwC,EAAGC,EAAG1C,EAAGuC,EAAEzH,EAAI,IAAK,GAAI,YACtCkF,EAAIgD,EAAOhD,EAAGC,EAAGwC,EAAGC,EAAGH,EAAEzH,EAAI,GAAI,IAAK,WACtC4H,EAAIM,EAAON,EAAG1C,EAAGC,EAAGwC,EAAGF,EAAEzH,EAAI,GAAI,GAAK,YACtC2H,EAAIO,EAAOP,EAAGC,EAAG1C,EAAGC,EAAGsC,EAAEzH,EAAI,IAAK,GAAI,YACtCmF,EAAI+C,EAAO/C,EAAGwC,EAAGC,EAAG1C,EAAGuC,EAAEzH,EAAI,GAAI,GAAI,UACrCkF,EAAIgD,EAAOhD,EAAGC,EAAGwC,EAAGC,EAAGH,EAAEzH,EAAI,GAAI,GAAK,YACtC4H,EAAIM,EAAON,EAAG1C,EAAGC,EAAGwC,EAAGF,EAAEzH,EAAI,IAAK,IAAK,YAEvC2H,EAAIQ,EAAOR,EAAGC,EAAG1C,EAAGC,EAAGsC,EAAEzH,EAAI,GAAI,GAAI,QACrCmF,EAAIgD,EAAOhD,EAAGwC,EAAGC,EAAG1C,EAAGuC,EAAEzH,EAAI,GAAI,IAAK,YACtCkF,EAAIiD,EAAOjD,EAAGC,EAAGwC,EAAGC,EAAGH,EAAEzH,EAAI,IAAK,GAAK,YACvC4H,EAAIO,EAAOP,EAAG1C,EAAGC,EAAGwC,EAAGF,EAAEzH,EAAI,IAAK,IAAK,UACvC2H,EAAIQ,EAAOR,EAAGC,EAAG1C,EAAGC,EAAGsC,EAAEzH,EAAI,GAAI,GAAI,YACrCmF,EAAIgD,EAAOhD,EAAGwC,EAAGC,EAAG1C,EAAGuC,EAAEzH,EAAI,GAAI,GAAK,YACtCkF,EAAIiD,EAAOjD,EAAGC,EAAGwC,EAAGC,EAAGH,EAAEzH,EAAI,GAAI,IAAK,WACtC4H,EAAIO,EAAOP,EAAG1C,EAAGC,EAAGwC,EAAGF,EAAEzH,EAAI,IAAK,IAAK,YACvC2H,EAAIQ,EAAOR,EAAGC,EAAG1C,EAAGC,EAAGsC,EAAEzH,EAAI,IAAK,EAAI,WACtCmF,EAAIgD,EAAOhD,EAAGwC,EAAGC,EAAG1C,EAAGuC,EAAEzH,EAAI,GAAI,IAAK,WACtCkF,EAAIiD,EAAOjD,EAAGC,EAAGwC,EAAGC,EAAGH,EAAEzH,EAAI,GAAI,IAAK,WACtC4H,EAAIO,EAAOP,EAAG1C,EAAGC,EAAGwC,EAAGF,EAAEzH,EAAI,GAAI,GAAK,UACtC2H,EAAIQ,EAAOR,EAAGC,EAAG1C,EAAGC,EAAGsC,EAAEzH,EAAI,GAAI,GAAI,WACrCmF,EAAIgD,EAAOhD,EAAGwC,EAAGC,EAAG1C,EAAGuC,EAAEzH,EAAI,IAAK,IAAK,WACvCkF,EAAIiD,EAAOjD,EAAGC,EAAGwC,EAAGC,EAAGH,EAAEzH,EAAI,IAAK,GAAK,WACvC4H,EAAIO,EAAOP,EAAG1C,EAAGC,EAAGwC,EAAGF,EAAEzH,EAAI,GAAI,IAAK,WAEtC2H,EAAIS,EAAOT,EAAGC,EAAG1C,EAAGC,EAAGsC,EAAEzH,EAAI,GAAI,GAAI,WACrCmF,EAAIiD,EAAOjD,EAAGwC,EAAGC,EAAG1C,EAAGuC,EAAEzH,EAAI,GAAI,GAAK,YACtCkF,EAAIkD,EAAOlD,EAAGC,EAAGwC,EAAGC,EAAGH,EAAEzH,EAAI,IAAK,IAAK,YACvC4H,EAAIQ,EAAOR,EAAG1C,EAAGC,EAAGwC,EAAGF,EAAEzH,EAAI,GAAI,IAAK,UACtC2H,EAAIS,EAAOT,EAAGC,EAAG1C,EAAGC,EAAGsC,EAAEzH,EAAI,IAAK,EAAI,YACtCmF,EAAIiD,EAAOjD,EAAGwC,EAAGC,EAAG1C,EAAGuC,EAAEzH,EAAI,GAAI,IAAK,YACtCkF,EAAIkD,EAAOlD,EAAGC,EAAGwC,EAAGC,EAAGH,EAAEzH,EAAI,IAAK,IAAK,SACvC4H,EAAIQ,EAAOR,EAAG1C,EAAGC,EAAGwC,EAAGF,EAAEzH,EAAI,GAAI,IAAK,YACtC2H,EAAIS,EAAOT,EAAGC,EAAG1C,EAAGC,EAAGsC,EAAEzH,EAAI,GAAI,EAAI,YACrCmF,EAAIiD,EAAOjD,EAAGwC,EAAGC,EAAG1C,EAAGuC,EAAEzH,EAAI,IAAK,IAAK,UACvCkF,EAAIkD,EAAOlD,EAAGC,EAAGwC,EAAGC,EAAGH,EAAEzH,EAAI,GAAI,IAAK,YACtC4H,EAAIQ,EAAOR,EAAG1C,EAAGC,EAAGwC,EAAGF,EAAEzH,EAAI,IAAK,GAAK,YACvC2H,EAAIS,EAAOT,EAAGC,EAAG1C,EAAGC,EAAGsC,EAAEzH,EAAI,GAAI,GAAI,WACrCmF,EAAIiD,EAAOjD,EAAGwC,EAAGC,EAAG1C,EAAGuC,EAAEzH,EAAI,IAAK,IAAK,YACvCkF,EAAIkD,EAAOlD,EAAGC,EAAGwC,EAAGC,EAAGH,EAAEzH,EAAI,GAAI,GAAK,WACtC4H,EAAIQ,EAAOR,EAAG1C,EAAGC,EAAGwC,EAAGF,EAAEzH,EAAI,GAAI,IAAK,WAEtC2H,EAAIU,EAASV,EAAGE,GAChBD,EAAIS,EAAST,EAAGE,GAChB5C,EAAImD,EAASnD,EAAG6C,GAChB5C,EAAIkD,EAASlD,EAAG6C,GAElB,MAAO,CAACL,EAAGC,EAAG1C,EAAGC,GAMnB,SAASmD,EAAQC,EAAGZ,EAAGC,EAAGH,EAAGnG,EAAGuE,GAC9B,OAAOwC,EAASG,EAAQH,EAASA,EAASV,EAAGY,GAAIF,EAASZ,EAAG5B,IAAKvE,GAAIsG,GAExE,SAASK,EAAON,EAAGC,EAAG1C,EAAGC,EAAGsC,EAAGnG,EAAGuE,GAChC,OAAOyC,EAASV,EAAI1C,GAAQ0C,EAAKzC,EAAIwC,EAAGC,EAAGH,EAAGnG,EAAGuE,GAEnD,SAASqC,EAAOP,EAAGC,EAAG1C,EAAGC,EAAGsC,EAAGnG,EAAGuE,GAChC,OAAOyC,EAASV,EAAIzC,EAAMD,GAAMC,EAAKwC,EAAGC,EAAGH,EAAGnG,EAAGuE,GAEnD,SAASsC,EAAOR,EAAGC,EAAG1C,EAAGC,EAAGsC,EAAGnG,EAAGuE,GAChC,OAAOyC,EAAQV,EAAI1C,EAAIC,EAAGwC,EAAGC,EAAGH,EAAGnG,EAAGuE,GAExC,SAASuC,EAAOT,EAAGC,EAAG1C,EAAGC,EAAGsC,EAAGnG,EAAGuE,GAChC,OAAOyC,EAAQpD,GAAK0C,GAAMzC,GAAKwC,EAAGC,EAAGH,EAAGnG,EAAGuE,GAO7C,SAASwC,EAASZ,EAAGgB,GACnB,IAAMC,GAAW,MAAJjB,IAAmB,MAAJgB,GACtBE,GAAOlB,GAAK,KAAOgB,GAAK,KAAOC,GAAO,IAC5C,OAAQC,GAAO,GAAa,MAAND,EAMxB,SAASF,EAAQI,EAAKC,GACpB,OAAQD,GAAOC,EAAQD,IAAS,GAAKC,EAOvC,SAAS3B,EAAS4B,GAGhB,IAFA,IAAMC,EAAM,GACNC,GAAQ,GAAKlC,GAAS,EACnB9G,EAAI,EAAGA,EAAI8I,EAAI5I,OAAS4G,EAAO9G,GAAK8G,EAASiC,EAAI/I,GAAK,KAAO8I,EAAIG,WAAWjJ,EAAI8G,GAASkC,IAAUhJ,EAAI,GAChH,OAAO+I,EAMT,SAAS/B,EAASkC,GAGhB,IAFA,IAAMC,EAAUtC,EAAU,mBAAqB,mBAC3CiC,EAAM,GACD9I,EAAI,EAAGA,EAAsB,EAAlBkJ,EAAShJ,OAAYF,IACvC8I,GAAOK,EAAQC,OAAQF,EAASlJ,GAAK,IAAQA,EAAI,EAAK,EAAI,EAAM,IACzDmJ,EAAQC,OAAQF,EAASlJ,GAAK,IAAQA,EAAI,EAAK,EAAM,IAE9D,OAAO8I,I,4GC/KHO,EAAQ,CACZC,QAAS,IAGLC,EAAU,CACdD,QAAS,SAAAD,GAAK,OAAIA,EAAMC,SAAW,IACnCE,SAAU,SAAAH,GAAK,OAAIA,EAAMC,QAAQE,UAAY,IAC7CC,OAAQ,SAAAJ,GAAK,OAAIlC,eAAekC,EAAMC,QAAQlC,OAAS,KAEvDsC,QAAS,SAAAL,GAAK,QAAMA,EAAMC,QAAQK,QAClCC,WAAY,SAAAP,GAAK,QAAMA,EAAMC,QAAQO,eACrCC,QAAS,SAACT,EAAOE,GACf,IAAKA,EAAQG,QACX,OAAO,EAET,IAAII,GAAU,EAEd,OADCT,EAAMC,QAAQS,OAAS,IAAIC,SAAQ,SAAAC,GAAI,OAAKH,GAAWI,OAAUD,GAAMH,WACjEA,IAILK,EAAY,CAChBC,WAAY,SAASf,EAAOC,GAC1BD,EAAMC,QAAUnJ,OAAOkK,OAAO,GAAIf,GAClC5C,OAAO4D,aAAaC,QAAQ,YAAajB,EAAQK,SAEnDa,aAAc,SAASnB,GACrBA,EAAMC,QAAU,GAChB5C,OAAO4D,aAAaG,UAIlBC,EAAU,CACdN,WADc,WACSd,GAAS,IAAnBqB,EAAmB,EAAnBA,OACXA,EAAO,aAAcrB,IAEvBkB,aAJc,YAIW,IAAVG,EAAU,EAAVA,OACbA,EAAO,kBAII,GACbC,YAAY,EACZvB,QACAE,UACAY,YACAO,W,uJC1CIrB,EAAQ,CACZwB,QAAS,CACPC,SAAU,CACRC,eAAgB,GAChBC,WAAY,IAEdC,SAAU,GACVC,aAAc,IAEhBD,SAAU,GACVE,UAAW,GACXC,eAAgB,GAChBC,eAAgB,GAChBC,SAAU,CACRC,cAAc,GAEhBC,WAAY,KACZC,WAAY,MAGRlC,EAAU,CACdmC,cAAe,SAAArC,GACb,QAASA,EAAMwB,QAAQc,WAEzBA,UAAW,SAAAtC,GACT,OAAOA,EAAMwB,QAAQc,WAEvBC,cAAe,SAACvC,EAAOE,EAASsC,GAC9B,IAAMC,EAAMD,EAAUC,IACtB,OAAIvC,EAAQwC,iBAAmBD,EACtBE,OAAeC,SACb1C,EAAQ2C,eAAiBJ,EAC3BE,OAAeG,SAEfH,OAAeI,SAG1BC,eAAgB,SAAChD,EAAOE,EAASsC,GAC/B,OAAOA,EAAUC,KAAOvC,EAAQwC,kBAElCO,gBAAiB,SAAAjD,GACf,OAAOA,EAAMwB,QAAQC,SAASyB,UAEhCC,cAAe,SAACnD,EAAOE,GACrB,OAAOA,EAAQ+C,kBAAoBG,OAAiBC,QAEtDC,iBAAkB,SAACtD,EAAOE,GACxB,OAAOA,EAAQ+C,kBAAoBG,OAAiBG,WAEtDC,eAAgB,SAACxD,EAAOE,GACtB,OAAOA,EAAQ+C,kBAAoBG,OAAiBK,SAEtDC,YAAa,SAAA1D,GACX,OAAOA,EAAMwB,QAAQC,SAAShF,MAEhCkH,kBAAmB,SAAC3D,EAAOE,EAASsC,EAAWoB,GAC7C,IAAMzD,EAAWyD,EAAY,iBAC7B,OAAO5D,EAAMwB,QAAQK,aAAagC,SAAS1D,IAE7CuC,iBAAkB,SAAA1C,GAChB,OAAO8D,IAAO,IAAIC,KAAKC,SAAShE,EAAMwB,QAAQyC,aAEhDpB,eAAgB,SAAA7C,GACd,OAAO8D,IAAO,IAAIC,KAAKC,SAAShE,EAAMwB,QAAQ0C,WAEhDC,gBAAiB,SAACnE,EAAOE,GACvB,OAAOA,EAAQ2C,eAAiB3C,EAAQwC,kBAE1C0B,UAAW,SAACpE,EAAOE,EAASsC,GAC1B,GAAItC,EAAQqC,gBAAkBI,OAAeC,SAAU,CACrD,IAAMyB,EAAWP,IAAOO,SAASnE,EAAQwC,iBAAiB4B,KAAK9B,EAAUC,IAAK,WAAY,WAC1F,OAAI4B,EAASE,QAAU,EACd,uBAAyBF,EAASG,WAElC,IAAMC,eAAKvE,EAAQwC,iBAAmBF,EAAUC,KAEpD,OAAIvC,EAAQqC,gBAAkBI,OAAeI,QAC3C0B,eAAKvE,EAAQ2C,eAAiBL,EAAUC,KAExC,YAGXiC,OAAQ,SAAC1E,EAAOE,EAASsC,GACvB,IAAKxC,EAAM+B,eACT,MAAO,GAET,IAAM4C,EAAUC,OAAY1E,EAAQwD,aAChCgB,EAAS,GACTG,EAAU,KACV3E,EAAQqC,gBAAkBI,OAAeG,WACvC9C,EAAMoC,WACRyC,EAAU7E,EAAMoC,WACNpC,EAAMiC,SAASC,eACzB2C,EAAU3E,EAAQ2C,iBAItB7C,EAAM+B,eAAepB,SAAQ,SAAAmE,GAC3BJ,EAAOvN,KACL4N,eACED,EACA9E,EAAMwB,QAAQyC,SACdjE,EAAMwB,QAAQI,SAASoD,KAAI,SAAAC,GAAO,OAAIA,EAAQC,iBAC9CP,EAAQQ,uBACRR,EAAQS,qBACRP,OAINH,EAASC,EAAQU,cAAcX,GAG/B,IAAMY,EAAiB,GACvBZ,EAAO/D,SAAQ,SAAAmE,GACTA,EAAMS,UACRT,EAAMU,eAAe7E,SAAQ,SAAAjJ,GACvB+N,OAAkBC,KAAOhO,EAAOiO,eAC7BL,EAAe5N,EAAOkO,cAAgBN,EAAe5N,EAAOkO,aAAelO,EAAOmO,QACrFP,EAAe5N,EAAOkO,aAAelO,EAAOmO,YAMtDnB,EAAO/D,SAAQ,SAAAmE,GACTA,EAAMS,UACRT,EAAMU,eAAe7E,SAAQ,SAAAjJ,GACvB+N,OAAkBC,KAAOhO,EAAOiO,aAAeL,EAAe5N,EAAOkO,eAAiBlO,EAAOmO,OAC/FnO,EAAOoO,IAAM,qBAKrB,IAnDqC,eAmD5BnP,GACP,IAAIgP,EAAc,KAClBjB,EAAO/D,SAAQ,SAAAmE,GACTA,EAAMiB,KAAKzF,SAAWkC,EAAUuD,KAAK9F,QAAQK,SAC/CqF,EAAcb,EAAMU,eAAe7O,GAAGgP,gBAG1CK,aAAIC,IAAIjG,EAAMwB,QAAQI,SAASjL,GAAI,cAAegP,IAP3ChP,EAAI,EAAGA,EAAIqJ,EAAMwB,QAAQI,SAAS/K,SAAUF,EAAG,EAA/CA,GAST,OAAO+N,GAETwB,YAAa,SAAClG,EAAOE,EAASsC,GAC5B,IAAI0D,EAAc,GAIlB,OAHIhG,EAAQwE,SACVwB,EAAchG,EAAQwE,OAAOyB,QAAO,SAAArB,GAAK,OAAI9E,EAAMgC,eAAe8C,EAAMiB,KAAKzF,SAAWwE,EAAMiB,KAAKzF,SAAWkC,EAAUuD,KAAK9F,QAAQK,WAEhI4F,GAETtE,SAAU,SAAC5B,EAAOE,EAASsC,GACzB,GAAItC,EAAQqC,gBAAkBI,OAAeG,SAAU,CACrD,IAAMlB,EAAW,GAqBjB,OApBA5B,EAAMwB,QAAQI,SAASjB,SAAQ,SAACsE,EAAStO,GACvCiL,EAASjL,GAAT,iCACKsO,GADL,IAEEmB,UAAW,EACXC,UAAW,EACXV,YAAa,KACbW,WAAY,UAGhBpG,EAAQwE,OAAO/D,SAAQ,SAAAmE,GACrBA,EAAMU,eAAe7E,SAAQ,SAAAjJ,GAC3BkK,EAASlK,EAAOkO,YAAc,GAAGS,WAAa3O,EAAO6O,eACjD7O,EAAOiO,cAAgBF,OAAkBC,IAC3C9D,EAASlK,EAAOkO,YAAc,GAAGQ,YAE/BtB,EAAMiB,KAAKzF,SAAWkC,EAAUuD,KAAK9F,QAAQK,SAC/CsB,EAASlK,EAAOkO,YAAc,GAAGD,YAAcjO,EAAOiO,mBAIrD7O,OAAO0P,KAAK5E,GAAUoD,KAAI,SAAAnI,GAAG,OAAI+E,EAAS/E,MAEjD,OAAOmD,EAAMwB,QAAQI,WAKrBd,EAAY,CAChB2F,WAAY,SAASzG,EAAO0G,GAC1B1G,EAAMwB,QAAUkF,EAAQlF,QACxBxB,EAAM4B,SAAW,GACjB,IAAK,IAAIjL,EAAI,EAAGA,GAAK+P,EAAQlF,QAAQI,SAAS/K,SAAUF,EACtDqJ,EAAM4B,SAASzK,KAAK,CAClByO,YAAajP,EAAEgQ,cAIrBC,iBAAkB,SAAS5G,EAAO0G,GAChC1G,EAAM4B,SAAS7J,OAAOiM,SAAS0C,EAAQzB,QAAQW,aAAe,EAAG,EAAjE,iCAAyEc,EAAQzB,SAAjF,IAA0F4B,QAAQ,MAEpGC,kBAAmB,SAAS9G,EAAO0G,GACjC1G,EAAM+B,eAAiB2E,EAAQ3E,gBAEjCgF,cAAe,SAAS/G,EAAO0G,GAAS,WACtC1G,EAAMmC,WAAa6E,aAAY,WAC7B,EAAKC,SAAS,wBACd,EAAKA,SAAS,0BACV,EAAK/G,QAAQ,2BAA6ByC,OAAeG,UAAY,EAAK9C,MAAMwB,QAAQW,aAC1F+E,cAAc,EAAKlH,MAAMwB,QAAQW,YACjC,EAAKnC,MAAMwB,QAAQW,WAAa,QAEjCuE,EAAQS,WAEbC,cAAe,SAASpH,EAAO0G,GAC7B1G,EAAMoC,WAAasE,EAAQtE,YAE7BiF,cAAe,SAASrH,EAAO0G,GAC7BV,aAAIC,IAAIjG,EAAMgC,eAAgB0E,EAAQpG,OAAQoG,EAAQY,SAExDC,YAAa,SAASvH,EAAO0G,GAC3B,IAAK,IAAM7J,KAAO6J,EAAQzE,SACxB+D,aAAIC,IAAIjG,EAAMiC,SAAUpF,EAAK6J,EAAQzE,SAASpF,KAGlD2K,aAAc,SAASxH,GACjBA,EAAMmC,aACR+E,cAAclH,EAAMmC,YACpBnC,EAAMmC,WAAa,MAErBnC,EAAMwB,QAAU,CACdC,SAAU,CACRC,eAAgB,GAChBC,WAAY,IAEdC,SAAU,GACVC,aAAc,IAEhB7B,EAAM8B,UAAY,GAClB9B,EAAM4B,SAAW,GACjB5B,EAAM+B,eAAiB,GACvB/B,EAAMgC,eAAiB,GACvBhC,EAAMiC,SAAW,CACfC,cAAc,KAKdb,EAAU,CACdoG,WAAY,WAA+BnF,GAAW,WAA/BhB,EAA+B,EAA/BA,OAAQ2F,EAAuB,EAAvBA,SAC7B,OAAO,IAAIrO,SAAQ,SAACC,EAASC,GAC3B4O,OAAID,WAAWnF,GAAW7H,MAAK,SAAA+G,GAC7B3I,EAAQ2I,GACRF,EAAO,aAAc,CAAEE,YACvB,IAAMe,EAAgB,EAAKrC,QAAQ,yBAC7ByH,IAAa,EAAKzH,QAAQ,6BAA+BkD,OAAiBK,UAAY,EAAKvD,QAAQ,8BACrGqC,IAAkBI,OAAeI,SACnCkE,EAAS,gBACLU,IACFV,EAAS,kBAAkBW,MAAM9O,GACjCwI,EAAO,gBAAiB,CAAE6F,SAAU,QAE7B5E,IAAkBI,OAAeG,WAC1CmE,EAAS,gBACTA,EAAS,kBAAkBW,MAAM9O,OAElC8O,MAAM9O,OAGb+O,aAAc,aAGdC,eAAgB,YAAqB,WAAVxG,EAAU,EAAVA,OACzB,OAAO,IAAI1I,SAAQ,SAACC,EAASC,GAC3B4O,OAAII,eAAe,EAAK5H,QAAQ,sBAAsBzF,MAAK,SAAAsN,GACzDlP,EAAQkP,GACRzG,EAAO,oBAAqB,CAAES,eAAgBgG,OAC7CH,MAAM9O,OAGbmJ,SAAU,WAAqBA,GAAU,IAApBX,EAAoB,EAApBA,OACnBA,EAAO,cAAe,CAAEW,eAIb,GACbV,YAAY,EACZvB,QACAE,UACAY,YACAO,WC1RF2E,aAAIgC,IAAIC,QAEO,WAAIA,OAAKC,MAAM,CAC5BlI,MAAO,CACLmI,UAAW,GACX1F,IAAKqB,OAEPhD,UAAW,CACTsH,gBAAiB,SAASpI,EAAO0G,GAC/B1G,EAAMmI,UAAYzB,EAAQyB,WAE5BE,UAAW,SAASrI,EAAO0G,GACzB1G,EAAMyC,IAAMqB,IAAO,IAAIC,KAAKC,SAAS0C,EAAQjE,QAE/C6F,aAAc,SAAStI,GACrBA,EAAMyC,IAAMqB,IAAO9D,EAAMyC,IAAI8F,IAAI,EAAG,cAGxClH,QAAS,GAETjK,QAAS,CACP2O,OACAvE,c,qBCxCJ,IAAIwD,EAAM,CACT,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,QAAS,OACT,WAAY,OACZ,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,gBAAiB,OACjB,aAAc,OACd,gBAAiB,OACjB,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,UAAW,OACX,aAAc,OACd,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,WAAY,OACZ,cAAe,OACf,UAAW,OACX,aAAc,OACd,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,YAAa,OACb,eAAgB,OAChB,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,QAAS,OACT,WAAY,OACZ,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,UAAW,OACX,aAAc,OACd,QAAS,OACT,WAAY,OACZ,OAAQ,OACR,UAAW,OACX,QAAS,OACT,WAAY,OACZ,QAAS,OACT,aAAc,OACd,gBAAiB,OACjB,WAAY,OACZ,UAAW,OACX,aAAc,OACd,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,YAAa,OACb,eAAgB,OAChB,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,gBAAiB,OACjB,OAAQ,OACR,UAAW,OACX,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,QAIf,SAASwD,EAAeC,GACvB,IAAIC,EAAKC,EAAsBF,GAC/B,OAAOzQ,EAAoB0Q,GAE5B,SAASC,EAAsBF,GAC9B,IAAIzQ,EAAoBgE,EAAEgJ,EAAKyD,GAAM,CACpC,IAAIhQ,EAAI,IAAI0B,MAAM,uBAAyBsO,EAAM,KAEjD,MADAhQ,EAAE2B,KAAO,mBACH3B,EAEP,OAAOuM,EAAIyD,GAEZD,EAAehC,KAAO,WACrB,OAAO1P,OAAO0P,KAAKxB,IAEpBwD,EAAe3P,QAAU8P,EACzBpQ,EAAOD,QAAUkQ,EACjBA,EAAeE,GAAK,Q,4HCnShB,EAAS,WAAa,IAAIE,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,UAAU,CAACF,EAAG,UAAUA,EAAG,aAAa,CAACG,MAAM,CAAC,KAAO,OAAO,KAAO,WAAW,CAAEP,EAAiB,cAAEI,EAAG,eAAeJ,EAAIQ,MAAM,GAAGJ,EAAG,MAAM,CAACE,YAAY,SAASG,SAAS,CAAC,UAAYT,EAAIU,GAAGV,EAAIT,eAAe,IACrUoB,EAAkB,G,gDCDlB,EAAS,WAAa,IAAIX,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,gBAAgB,CAACF,EAAG,MAAM,CAACE,YAAY,aAAa,CAACF,EAAG,OAAO,CAACG,MAAM,CAAC,KAAO,aAAa,MAAQ,QAAQ,cAAcP,EAAIY,OAAOC,KAAKC,MAAM,KAAK,KAAK,CAACV,EAAG,MAAM,CAACE,YAAY,OAAOS,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOhB,EAAIiB,QAAQ1S,KAAK,QAAQ,CAAC6R,EAAG,MAAM,CAACc,YAAY,CAAC,MAAQ,QAAQ,OAAS,QAAQX,MAAM,CAAC,IAAM,EAAQ,aAA2BH,EAAG,WAAW,CAACG,MAAM,CAAC,KAAO,OAAO,GAAK,CAAE3N,KAAM,UAAW,CAACwN,EAAG,OAAO,CAACE,YAAY,cAAc,CAACN,EAAImB,GAAG,YAAYf,EAAG,WAAW,CAACG,MAAM,CAAC,KAAO,UAAU,GAAK,CAAE3N,KAAM,aAAc,CAACwN,EAAG,OAAO,CAACE,YAAY,cAAc,CAACN,EAAImB,GAAG,eAAef,EAAG,WAAW,CAACG,MAAM,CAAC,KAAO,UAAU,GAAK,CAAE3N,KAAM,aAAc,CAACwN,EAAG,OAAO,CAACE,YAAY,cAAc,CAACN,EAAImB,GAAG,eAAef,EAAG,WAAW,CAACG,MAAM,CAAC,KAAO,aAAa,GAAK,CAAE3N,KAAM,gBAAiB,CAACwN,EAAG,OAAO,CAACE,YAAY,cAAc,CAACN,EAAImB,GAAG,kBAAkBf,EAAG,WAAW,CAACG,MAAM,CAAC,KAAO,QAAQ,GAAK,CAAE3N,KAAM,WAAY,CAACwN,EAAG,OAAO,CAACE,YAAY,cAAc,CAACN,EAAImB,GAAG,aAAaf,EAAG,MAAM,CAACE,YAAY,eAAe,CAAEN,EAAW,QAAE,CAACI,EAAG,SAAS,CAACG,MAAM,CAAC,IAAMP,EAAIxI,UAAU4I,EAAG,WAAW,CAACW,GAAG,CAAC,WAAWf,EAAIoB,UAAU,CAAChB,EAAG,MAAM,CAACE,YAAY,mBAAmB,CAACN,EAAImB,GAAG,IAAInB,EAAIU,GAAGV,EAAIzI,UAAU,KAAK6I,EAAG,OAAO,CAACG,MAAM,CAAC,KAAO,qBAAqB,GAAGH,EAAG,eAAe,CAACG,MAAM,CAAC,KAAO,QAAQc,KAAK,QAAQ,CAACjB,EAAG,eAAe,CAACG,MAAM,CAAC,KAAO,SAAS,CAACP,EAAImB,GAAG,aAAaf,EAAG,eAAe,CAACG,MAAM,CAAC,KAAO,SAAS,QAAU,KAAK,CAACP,EAAImB,GAAG,aAAa,IAAI,GAAInB,EAAW,QAAE,CAACI,EAAG,UAAU,CAACG,MAAM,CAAC,KAAO,cAAcH,EAAG,IAAI,CAACG,MAAM,CAAC,KAAOP,EAAIsB,UAAU,OAAS,WAAW,CAACtB,EAAImB,GAAG,gBAAgBnB,EAAIQ,MAAM,CAACJ,EAAG,SAAS,CAACG,MAAM,CAAC,KAAO,QAAQQ,GAAG,CAAC,MAAQf,EAAIuB,UAAU,CAACnB,EAAG,OAAO,CAACE,YAAY,cAAc,CAACN,EAAImB,GAAG,aAAaf,EAAG,SAAS,CAACG,MAAM,CAAC,KAAO,QAAQQ,GAAG,CAAC,MAAQf,EAAIwB,WAAW,CAACpB,EAAG,OAAO,CAACE,YAAY,cAAc,CAACN,EAAImB,GAAG,kBAAkB,IAAI,IAAI,MAC36D,EAAkB,G,8CCqEtB,GACEM,OAAQ,CAAC,UACTC,QAAS,CACPH,QAAS,WACPtB,KAAKgB,QAAQ1S,KAAK,CAChBqE,KAAM,QACN+O,MAAO,CACLC,GAAyB,UAArB3B,KAAKW,OAAOhO,KAAmB,QAAUqN,KAAKW,OAAOiB,aAI/DL,SAAU,WACRvB,KAAKgB,QAAQ1S,KAAK,CAChBqE,KAAM,cAGVwO,QAAS,SAAb,GACmB,WAATxO,EACFqN,KAAK6B,eACb,YACQ7B,KAAK8B,UAGTD,aAAc,WAAlB,WACMhD,EAAN,gCACQ,EAAR,qCACQ,EAAR,4BACQ,EAAR,6CAGIiD,OAAQ,WACN9B,KAAKgB,QAAQ1S,KAAK,CAAxB,gBAGEyT,SAAU,OAAZ,OAAY,CAAZ,kBACA,kEADA,IAEIV,UAAW,WACT,OAAI,EAAV,UACe,GAAf,0CAEe,aAIbW,QAAS,WACPnD,EAAJ,oBCnHgV,I,wBCQ5UoD,EAAY,eACd,EACA,EACA,GACA,EACA,KACA,WACA,MAIa,EAAAA,E,QCKf,GACEC,WAAY,CAAd,UACEC,QAAS,WACP,MAAO,CACLC,OAAQpC,KAAKoC,SAGjB5U,KAAM,WACJ,MAAO,CACL6U,aAAc,KACdC,eAAe,IAGnBb,QAAS,CACPW,OAAQ,WAAZ,WACMpC,KAAKsC,eAAgB,EACrBtC,KAAKuC,WAAU,WAArB,+BAGER,SAAU,OAAZ,OAAY,CAAZ,GACA,+BAEES,QAAS,WAAX,8JACA,iCACA,0GAFA,KAIA,YAJA,SAKA,sBALA,yBAKA,UALA,WAIA,OAJA,UAIA,kBAJA,MAOA,0CACA,kCACA,KACA,mDACA,kEAXA,qGAAW,GAcTC,cAAe,WACTzC,KAAKqC,cACPhE,cAAc2B,KAAKqC,gBC9DqS,ICQ1T,G,UAAY,eACd,EACA,EACA3B,GACA,EACA,KACA,WACA,OAIa,I,oDCTTgC,G,UAAS,CACb,CACEC,SAAU,QACV/B,KAAM,KAER,CACEjO,KAAM,QACNiO,KAAM,SACNqB,UAAW,kBAAM,kDAEnB,CACEtP,KAAM,WACNiO,KAAM,YACNqB,UAAW,kBAAM,kDAEnB,CACEtP,KAAM,iBACNiO,KAAM,aACNqB,UAAW,kBAAM,kDAEnB,CACEtP,KAAM,OACNiO,KAAM,QACNqB,UAAW,kBAAM,iDACjBW,KAAM,CAAEC,MAAO,OAEjB,CACElQ,KAAM,OACNiO,KAAM,QACNgC,KAAM,CAAEE,OAAO,GACfb,UAAW,kBAAM,kDAEnB,CACEtP,KAAM,UACNiO,KAAM,WACNqB,UAAW,kBAAM,sFACjBW,KAAM,CAAEC,MAAO,OAEjB,CACElQ,KAAM,iBACNiO,KAAM,wBACNqB,UAAW,kBAAM,uFAEnB,CACEtP,KAAM,aACNiO,KAAM,cACNqB,UAAW,kBAAM,uFAEnB,CACEtP,KAAM,oBACNiO,KAAM,4BACNgC,KAAM,CAAEG,aAAa,GACrBd,UAAW,kBAAM,uFAEnB,CACEtP,KAAM,UACNiO,KAAM,WACNqB,UAAW,kBAAM,uFAEnB,CACEtP,KAAM,iBACNiO,KAAM,sBACN+B,SAAU,+BACVC,KAAM,CAAEE,OAAO,GACfb,UAAW,kBAAM,sFACjBe,SAAU,CACR,CACErQ,KAAM,mBACNiO,KAAM,WACNqB,UAAW,kBAAM,kDAEnB,CACEtP,KAAM,kBACNiO,KAAM,uBACNqB,UAAW,kBAAM,uFAEnB,CACEtP,KAAM,qBACNiO,KAAM,aACNqC,KAAM,CAAEF,aAAa,GACrBd,UAAW,kBAAM,uFAEnB,CACEtP,KAAM,4BACNiO,KAAM,2BACNgC,KAAM,CAAEG,aAAa,GACrBd,UAAW,kBAAM,uFAEnB,CACEtP,KAAM,eACNiO,KAAM,OACNgC,KAAM,CAAEG,aAAa,GACrBd,UAAW,kBAAM,+GAIvB,CACEtP,KAAM,QACNiO,KAAM,SACNqB,UAAW,kBAAM,6GAEnB,CACEtP,KAAM,eACNiO,KAAM,kBACNqB,UAAW,kBAAM,6GAEnB,CACEtP,KAAM,oBACNiO,KAAM,mBACNqB,UAAW,kBAAM,kDAEnB,CACErB,KAAM,IACNjO,KAAM,MACNsP,UAAW,kBAAM,oDAINS,ICjHfvF,aAAIgC,IAAI+D,QAER,IAAMC,EAAeD,OAAUhV,UAAUI,KACnC8U,EAAkBF,OAAUhV,UAAUmV,QAC5CH,OAAUhV,UAAUI,KAAO,SAAcgV,GACvC,OAAOH,EAAa/U,KAAK4R,KAAMsD,GAAUvE,OAAM,SAAAwE,GAAC,OAAIA,MAGtDL,OAAUhV,UAAUmV,QAAU,SAAcC,GAC1C,IAAME,EAAOxD,KACb,OAAOoD,EAAgBhV,KAAKoV,EAAMF,GAAUvE,OAAM,SAAAwE,GAAC,OAAIA,MAGzD,IAAME,EAAiB,SAAC9B,EAAI+B,EAAMC,GAChC,GAAIA,EAEF,OAAOA,EAEP,IAAMC,EAAW,GAejB,OAZIjC,EAAGkC,OACLD,EAASE,SAAWnC,EAAGkC,MAGrBlC,EAAGoC,QAAQC,MAAK,SAAAjR,GAAC,OAAIA,EAAE6P,KAAKG,iBAG9Ba,EAASrO,EAAI,EACbqO,EAASrN,EAAI,GAIRqN,GAILK,EAAS,IAAIf,OAAU,CAE3BtP,KAAM,UACN6P,iBACAf,WAGFuB,EAAOC,YAAW,SAACvC,EAAI+B,EAAMS,GAC3BhH,aAAIjP,UAAUkW,SAASC,QACnB1C,EAAGoC,QAAQC,MAAK,SAAAM,GAAK,OAAIA,EAAM1B,KAAKE,SACtCjE,OAAI0F,YAAW,SAAAhB,GACbY,OACC,SAAAZ,GACDpG,aAAIjP,UAAUsW,SAASnS,MAAM,sBAC7B8R,EAAK,CACHxR,KAAM,QACN+O,MAAO,CAAEC,GAAIA,EAAGC,eAIpBuC,OAIJF,EAAOQ,WAAU,SAAC9C,EAAI+B,EAAMS,GAC1BhH,aAAIjP,UAAUkW,SAASM,YAGVT,Q,iCCnEf9G,aAAIgC,IAAIwF,K,uDCARnQ,OAAOoQ,KAAOA,IACdC,EAAQ,QAKR1H,aAAI2H,UAAU,YAAa,CACzBC,MAAM,EACN9Q,KAAM,SAAC+Q,EAAIC,GAET,IAAMC,EAAUF,EAAGG,iBAAiB,QACpCD,EAAQpN,SAAQ,SAAA3G,GACe,kBAAlB8T,EAAQvR,QAGjBvC,EAAOiU,YAAcH,EAAQvR,OAE/BkR,IAAKS,eAAelU,OAGxBmU,iBAAkB,SAACN,EAAIC,GAErB,IAAMC,EAAUF,EAAGG,iBAAiB,QACpCD,EAAQpN,SAAQ,SAAA3G,GACe,kBAAlB8T,EAAQvR,QAGjBvC,EAAOiU,YAAcH,EAAQvR,OAE/BkR,IAAKS,eAAelU,SAK1BgM,aAAI2H,UAAU,uBAAwB,CACpCC,MAAM,EACN9Q,KAAM,SAAC+Q,EAAIC,GAET,IAAMC,EAAUF,EAAGG,iBAAiB,QACpCD,EAAQpN,SAAQ,SAAA3G,GACe,kBAAlB8T,EAAQvR,QAGjBvC,EAAOiU,YAAcH,EAAQvR,OAE/BkR,IAAKS,eAAelU,GACpByT,IAAKW,iBAAiBpU,OAG1BmU,iBAAkB,SAACN,EAAIC,GAErB,IAAMC,EAAUF,EAAGG,iBAAiB,QACpCD,EAAQpN,SAAQ,SAAA3G,GACe,kBAAlB8T,EAAQvR,QAGjBvC,EAAOiU,YAAcH,EAAQvR,OAE/BkR,IAAKS,eAAelU,GACpByT,IAAKW,iBAAiBpU,S,kECjE5BgM,aAAIgC,IAAIqG,IAAQ,CAAEC,a,UCalBtI,aAAIuI,OAAOC,eAAgB,EAE3BxI,aAAIjP,UAAUsW,SAASkB,OAAO,CAC5BlK,SAAU,EACVoK,IAAK,KAGP,IAAIzI,aAAI,CACN8G,SACA4B,aACAC,OAAQ,SAAAC,GAAC,OAAIA,EAAEC,MACdC,OAAO,S,oCC/BV,yBAAkkB,EAAG,G,oICiBrkB,SAASC,EAAKC,EAAK3Y,GAEjB,OADAA,EAAOA,GAAQ,GACR,IAAIuC,SAAQ,SAACC,EAASC,GAC3BmW,IAAMF,KAAKC,EAAK3Y,GACboE,MAAK,SAAAyU,GACJ,OAAQA,EAAS7Y,KAAK+D,MACpB,KAAK,EACHvB,EAAQqW,EAAS7Y,KAAKA,MACtB,MACF,KAAK,IACH2P,aAAIjP,UAAUsW,SAASnS,MAAMgU,EAAS7Y,KAAKkF,SAC3C,MACF,QACEzC,EAAOoW,EAAS7Y,MAChB,WAG4BoF,IAA5ByT,EAAS7Y,KAAK8Y,WAAuD,OAA5BD,EAAS7Y,KAAK8Y,WACzDT,OAAMpN,OAAO,YAAa,CACxBmB,IAAKyM,EAAS7Y,KAAK8Y,eAIxBvH,OAAM,SAAA1N,GAEL,OADA8L,aAAIjP,UAAUkW,SAASM,SACfrT,EAAIgV,SAAS5H,QACnB,KAAK,IACHtB,aAAIjP,UAAUsW,SAASnS,MAAMhB,EAAIgV,SAAS7Y,KAAKkF,SAC/C,MACF,QACEzC,EAAOoB,EAAIgV,SAAS7Y,MACpB,WAGgCoF,IAAhCvB,EAAIgV,SAAS7Y,KAAK8Y,WAA2D,OAAhCjV,EAAIgV,SAAS7Y,KAAK8Y,WACjET,OAAMpN,OAAO,YAAa,CACxBmB,IAAKvI,EAAIgV,SAAS7Y,KAAK8Y,kBAOnC,SAAShT,EAAI6S,EAAKI,GAEhB,OADAA,EAASA,GAAU,GACZ,IAAIxW,SAAQ,SAACC,EAASC,GAC3BmW,IAAM9S,IAAI6S,EAAK,CAAEI,WACd3U,MAAK,SAAAyU,GACJ,OAAQA,EAAS7Y,KAAK+D,MACpB,KAAK,EACHvB,EAAQqW,EAAS7Y,KAAKA,MACtB,MACF,KAAK,IACH2P,aAAIjP,UAAUsW,SAASnS,MAAMgU,EAAS7Y,KAAKkF,SAC3C,MACF,QACEzC,EAAOoW,EAAS7Y,MAChB,WAG4BoF,IAA5ByT,EAAS7Y,KAAK8Y,WAAuD,OAA5BD,EAAS7Y,KAAK8Y,WACzDT,OAAMpN,OAAO,YAAa,CACxBmB,IAAKyM,EAAS7Y,KAAK8Y,eAIxBvH,OAAM,SAAA1N,GAGL,OAFA8L,aAAIjP,UAAUkW,SAASM,SAEfrT,EAAIgV,SAAS5H,QACnB,KAAK,IACHtB,aAAIjP,UAAUsW,SAASnS,MAAMhB,EAAIgV,SAAS7Y,KAAKkF,SAC/C,MACF,QACEzC,EAAOoB,EAAIgV,SAAS7Y,MACpB,WAGgCoF,IAAhCvB,EAAIgV,SAAS7Y,KAAK8Y,WAA2D,OAAhCjV,EAAIgV,SAAS7Y,KAAK8Y,WACjET,OAAMpN,OAAO,YAAa,CACxBmB,IAAKvI,EAAIgV,SAAS7Y,KAAK8Y,kBAnFnCF,IAAMI,SAASC,QAAf,UAA4BC,GAA5B,QACAN,IAAMI,SAASG,iBAAkB,EAyFjC,IAAMC,EAAe,kBAAMf,OAAM1O,MAAMwB,QAAQA,QAAQc,WAExC,QAEboN,aAAc,WACZ,OAAOvT,EAAI,uBAGbwP,MAAO,SAAStV,GACd,OAAO0Y,EAAK,cAAe1Y,IAE7BsZ,OAAQ,WACN,OAAOxT,EAAI,iBAEbyT,SAAU,SAASvZ,GACjB,OAAO0Y,EAAK,iBAAkB1Y,IAEhCwZ,eAAgB,SAASxZ,GACvB,OAAO0Y,EAAK,uBAAwB1Y,IAEtCyZ,cAAe,SAASzZ,GACtB,OAAO0Y,EAAK,sBAAuB1Y,IAErC0Z,sBAAuB,SAAS5P,GAC9B,OAAO4O,EAAK,8BAA+B,CAAE5O,cAE/C6P,cAAe,SAAS3Z,GACtB,OAAO0Y,EAAK,sBAAuB1Y,IAErC4Z,YAAa,SAASC,GACpB,OAAO/T,EAAI,oBAAqB,CAAE+T,WAEpC9C,WAAY,SAAS+C,EAASjV,GAC5B+T,IAAM9S,IAAI,oBACP1B,MAAK,SAAAyU,GACuB,IAAvBA,EAAS7Y,KAAK+D,MAChBsU,OAAMzH,SAAS,kBAAmBiI,EAAS7Y,KAAKA,MAC5C8Z,GACFA,EAAQjB,EAAS7Y,KAAKA,OAGxB2P,aAAIjP,UAAUsW,SAASnS,MAAMgU,EAAS7Y,KAAKkF,YAE5C,SAAArB,GAC2B,MAAxBA,EAAIgV,SAAS5H,SACfoH,OAAMzH,SAAS,qBACX/L,GACFA,EAAMhB,EAAIgV,SAAS7Y,WAK7B+Z,WAAY,WACV,OAAOjU,EAAI,qBAEbkU,QAAS,SAASjB,GAChB,OAAOjT,EAAI,gBAAiBiT,IAE9BkB,wBAAyB,WACvB,OAAOnU,EAAI,kCAGboU,kBAAmB,WACjB,OAAOpU,EAAI,2BAEbqU,oBAAqB,SAASpB,GAC5B,IAAM9M,EAAYmN,IAClB,OAAInN,EACKuG,KAAK4H,2BAAL,iCAAqCrB,GAArC,IAA6C9M,eAE/CnG,EAAI,gBAAiBiT,IAE9BsB,kBAAmB,SAAStB,GAC1B,IAAM9M,EAAYmN,IAClB,OAAInN,EACKuG,KAAK8H,yBAAL,iCAAmCvB,GAAnC,IAA2C9M,eAE3CnG,EAAI,eAAgBiT,IAG/BwB,OAAQ,SAASva,GACf,IAAMiM,EAAYmN,IAClB,OAAInN,EACKuG,KAAKgI,wBAAL,iCAAkCxa,GAAlC,IAAwCiM,eAExCyM,EAAK,iBAAkB1Y,IAIlCya,aAAc,SAAS1B,GAAQ,WACvB9M,EAAYmN,IAClB,GAAInN,EAAW,CACb,IAAMyO,EAAQ/M,SAASoL,EAAOxJ,aAAe,EAC7C,OAAO,IAAIhN,SAAQ,SAACC,EAASC,GACtB4V,OAAM1O,MAAMwB,QAAQI,SAASmP,GAAOlK,OASvChO,EAAQ6V,OAAM1O,MAAMwB,QAAQI,SAASmP,IARrC,EAAKC,kBAAL,iCACK5B,GADL,IAEE9M,eACC7H,MAAK,SAAAsN,GACN2G,OAAMpN,OAAO,2BAA4B,CAAE2D,QAAS8C,IACpDlP,EAAQkP,MACP,SAAAqE,GAAC,OAAItT,EAAOsT,SAMnB,OAAOjQ,EAAI,iBAAkBiT,IAGjC6B,eAAgB,SAAS7B,GACvB,OAAOjT,EAAI,gBAAiBiT,IAG9B8B,eAAgB,SAAS9B,GACvB,OAAOjT,EAAI,gBAAiBiT,IAE9B3H,WAAY,SAASnF,GACnB,OAAOnG,EAAI,iBAAkB,CAAEmG,eAEjC6O,mBAAoB,SAAS/B,GAC3B,OAAOjT,EAAI,gCAAiCiT,IAE9C4B,kBAAmB,SAAS5B,GAC1B,OAAOjT,EAAI,wBAAyBiT,IAEtCgC,cAAe,SAAS/a,GACtB,OAAO0Y,EAAK,uBAAwB1Y,IAEtCwa,wBAAyB,SAASxa,GAChC,OAAO0Y,EAAK,4BAA6B1Y,IAE3Csa,yBAA0B,SAASvB,GACjC,OAAOjT,EAAI,0BAA2BiT,IAExCqB,2BAA4B,SAASrB,GACnC,OAAOjT,EAAI,2BAA4BiT,IAEzCtH,eAAgB,SAASxF,GACvB,OAAOnG,EAAI,gBAAiB,CAAEmG,eAEhC+O,QAAS,SAAShb,GAChB,OAAO0Y,EAAK,kBAAmB1Y,IAEjCib,WAAY,SAASlC,GACnB,OAAIA,EAAO9M,UACFnG,EAAI,gCAAiCiT,GAErCjT,EAAI,+BAAgCiT,IAI/CmC,eAAgB,SAASnC,GACvB,OAAOjT,EAAI,eAAgBiT,IAE7BoC,aAAc,SAASpC,GACrB,OAAOjT,EAAI,cAAeiT,IAE5BqC,UAAW,SAASrC,GAClB,OAAOjT,EAAI,eAAgBiT,IAE7BsC,UAAW,SAAStC,GAClB,OAAOjT,EAAI,cAAeiT,IAE5BuC,eAAgB,SAAUvC,GACxB,OAAOjT,EAAI,YAAaiT,IAI1BwC,aAAc,SAASvb,GACrB,OAAO0Y,EAAK,kBAAmB1Y,IAGjCwb,gBAAiB,SAASzC,GACxB,OAAOjT,EAAI,wBAAyBiT,IAEtC0C,kBAAmB,SAASzb,GAC1B,OAAO0Y,EAAK,0BAA2B1Y,IAEzC0b,mBAAoB,SAAS1b,GAC3B,OAAO0Y,EAAK,2BAA4B1Y,IAE1C2b,oBAAqB,SAAS5C,GAC5B,OAAOjT,EAAI,4BAA6BiT,M,oMC/Q5C,SAASjK,EAAuB8M,EAAaC,EAAYrN,GAGvD,IAFA,IAAMW,EAAiB,GACjB2M,EAAuB,GACpBxb,EAAI,EAAGA,GAAKub,IAAcvb,EACjCwb,EAAqBxb,GAAK,GAG5Bsb,EAAYtR,SAAQ,SAAAyR,GAClB,IAAMxM,EAAc5B,SAASoO,EAAW,MACnCvN,GAAWb,SAASoO,EAAW,KAAOvN,IACzCsN,EAAqBvM,GAAazO,KAAK,CACrCkb,UAAWrO,SAASoO,EAAW,IAC/B9L,WAAYtC,SAASoO,EAAW,IAAM,GACtCzM,YAAa3B,SAASoO,EAAW,SAKvC,IAAK,IAAIzb,EAAI,EAAGA,GAAKub,IAAcvb,EAAG,CAEpC,IAAI2b,GAAK,EACLC,EAAwB,EACxBC,EAAgB,KACpBL,EAAqBxb,GAAG8b,MAAK,SAACnU,EAAGC,GAAJ,OAAUD,EAAE+T,UAAY9T,EAAE8T,aACvD,IAAK,IAAIK,EAAK,EAAGA,EAAKP,EAAqBxb,GAAGE,SAAU6b,EAAI,CAE1D,GADAF,EAAgBL,EAAqBxb,GAAG+b,GACpCjN,OAAkBC,KAAO8M,EAAc7M,YAAa,CACtDH,EAAerO,KAAK,CAClBqb,EAAcH,UACdG,EAAclM,WACdkM,EAAc7M,YACd+M,EAAK,EACLH,IAEFD,GAAK,EACL,MACS7M,OAAkBkN,KAAOH,EAAc7M,aAChD4M,IAGCD,IACCH,EAAqBxb,GAAGE,OAC1B2O,EAAerO,KAAK,CAClB,EACAqb,EAAclM,WACdiM,EAAwB,EAAI9M,OAAkBkN,GAAKH,EAAc7M,YACjEwM,EAAqBxb,GAAGE,OACxB0b,IAGF/M,EAAerO,KAAK,KAI1B,OAAOqO,EAIT,SAASJ,EAAqBwN,EAAiBC,EAAgBC,GAC7D,IAAMtN,EAAiB,GACnBI,EAAc,EACdmN,EAAS,EACTjO,EAAQ,EA6CZ,OA5CA8N,EAAgBjS,SAAQ,SAAAjJ,GAEtB,GADAkO,IACsB,IAAlBlO,EAAOb,OACT2O,EAAerO,KAAK,CAClByO,cACAE,IAAK,GACLD,KAAM,EACNf,MAAO,EACPyB,eAAgB,EAChBgM,sBAAuB,QAEpB,CACL,IAAI1M,EAAO7B,SAAStM,EAAO,IACvBmO,EAAO,IACTA,GAAQiN,GAEV,IAKIhN,EALEQ,EAAatC,SAAStM,EAAO,IAAM,GACnCiO,EAAc3B,SAAStM,EAAO,IAC9B6O,EAAiBvC,SAAStM,EAAO,IACjC6a,EAAwBvO,SAAStM,EAAO,IAG1CiO,GAAeF,OAAkBkN,GACnC7M,EAAM,gBACGH,IAAgBF,OAAkBC,IAC3CI,EAAM,gBACNiN,GAAUF,EAAejN,EAAc,GACvCd,GAASe,EAAsD,IAA9CU,EAAiBgM,EAAwB,GAAU,GAAK,KAEzEzM,EAAM,kBAGRN,EAAerO,KAAK,CAClByO,cACAE,MACAD,OACAf,MAAOwB,EACPX,cACAY,eAAgBA,EAAiBgM,EACjCA,8BAKC,CAAEQ,SAAQjO,QAAOU,kBAI1B,SAASH,EAAcX,GACrBA,EAAO+N,MAAK,SAACnU,EAAGC,GACd,OAAID,EAAEyU,SAAWxU,EAAEwU,OACVxU,EAAEwU,OAASzU,EAAEyU,OACXzU,EAAEwG,QAAUvG,EAAEuG,OAChBxG,EAAEwG,MAAQvG,EAAEuG,SAKvB,IAAIkO,EAAO,EACPC,EAAO,KAcX,OAbAvO,EAAO/D,SAAQ,SAAAmE,GACTA,EAAMS,UACRyN,KACKC,GAAQA,EAAKF,OAASjO,EAAMiO,QAAUjO,EAAMA,MAAQmO,EAAKnO,OAC5DA,EAAMkO,KAAOA,EACbC,EAAOnO,GAEPA,EAAMkO,KAAOC,EAAKD,MAGpBlO,EAAMkO,MAAQ,KAGXtO,EAGT,SAASwO,EAAYxO,EAAQ9C,GAC3B,IAAMuR,EAAS,CAAC,WAAY,WAAY,WAAY,OAAQ,SAAU,WAAWC,OAC/ExR,EAASoD,KAAI,SAAAhJ,GACX,IAAMqX,EAAmBC,eAAuBtX,EAAE4J,aAClD,gBAAUyN,EAAV,YAA8BrX,EAAEkJ,cAAhC,aAAkDlJ,EAAEuX,kBAGlDld,EAAOqO,EAAOM,KAAI,SAAAhJ,GACtB,OACEA,EAAE+J,KAAK5F,SACPnE,EAAE+J,KAAKyN,SACPxX,EAAEuJ,SACFvJ,EAAEgX,KAAKrM,WACP3K,EAAE+W,OAAOpM,WACT3C,SAAShI,EAAE8I,MAAQ,KAAO6B,YAN5B,sBAOK3K,EAAEwJ,eAAeR,KAAI,SAAAyO,GACtB,OAAIA,EAAElN,eAAiBkN,EAAElB,sBAAwB,EAC/C,WAAWkB,EAAElN,eAAiBkN,EAAElB,sBAAhC,YAAyDvO,SAASyP,EAAE5N,KAAO,MAEpE,WAKf,MAAO,CAAEsN,SAAQ9c,QAGJ,OACb+O,uBACAD,yBACAE,gBACA6N,eC7KF,SAAS/N,EAAuB8M,EAAaC,EAAYrN,GAEvD,IADA,IAAMsN,EAAuB,GACpBxb,EAAI,EAAGA,GAAKub,IAAcvb,EACjCwb,EAAqBxb,GAAK,GAG5Bsb,EAAYtR,SAAQ,SAAAyR,GAClB,IAAMxM,EAAc5B,SAASoO,EAAW,MACnCvN,GAAWb,SAASoO,EAAW,KAAOvN,IACzCsN,EAAqBvM,GAAazO,KAAK,CACrCkb,UAAWrO,SAASoO,EAAW,IAC/B9L,WAAYtC,SAASoO,EAAW,IAAM,GACtCzM,YAAa3B,SAASoO,EAAW,SAMvC,IADA,IAAM5M,EAAiB,GACd7O,EAAI,EAAGA,GAAKub,IAAcvb,EAAG,CAEpCwb,EAAqBxb,GAAG8b,MAAK,SAACnU,EAAGC,GAAJ,OAAUD,EAAE+T,UAAY9T,EAAE8T,aAGvD,IAFA,IAAIE,EAAwB,EACxBmB,EAAqB,KAChBhB,EAAKP,EAAqBxb,GAAGE,OAAS,EAAG6b,GAAM,IAAKA,EAAI,CAC/D,IAAMF,EAAgBL,EAAqBxb,GAAG+b,GAC9C,GAAIF,EAAc7M,cAAgBF,OAAkBkN,GAAI,CACtDe,EAAqBlB,EACrB,MAEAD,IAGAmB,EACFlO,EAAerO,KAAK,CAClBuc,EAAmBrB,UACnBqB,EAAmBpN,WACnBoN,EAAmB/N,YACnBwM,EAAqBxb,GAAGE,OACxB0b,IAGF/M,EAAerO,KAAK,IAGxB,OAAOqO,EAGT,SAASJ,EAAqBwN,EAAiBC,EAAgBC,GAC7D,IAAMtN,EAAiB,GACnBI,EAAc,EACdmN,EAAS,EACTjO,EAAQ,EA6CZ,OA5CA8N,EAAgBjS,SAAQ,SAAAjJ,GAEtB,GADAkO,IACsB,IAAlBlO,EAAOb,OACT2O,EAAerO,KAAK,CAClByO,cACAE,IAAK,GACLD,KAAM,EACNf,MAAO,EACPyB,eAAgB,EAChBgM,sBAAuB,QAEpB,CACL,IAAI1M,EAAO7B,SAAStM,EAAO,IACvBmO,EAAO,IACTA,GAAQiN,GAEV,IAMIhN,EANEQ,EAAatC,SAAStM,EAAO,IAAM,GACnCiO,EAAc3B,SAAStM,EAAO,IAC9B6O,EAAiBvC,SAAStM,EAAO,IACjC6a,EAAwBvO,SAAStM,EAAO,IAC9CoN,GAASwB,EAAauM,EAAejN,EAAc,GAG/CD,GAAeF,OAAkBkN,GACnC7M,EAAM,gBACGH,IAAgBF,OAAkBC,IAC3CI,EAAM,gBACNiN,KAEAjN,EAAM,kBAGRN,EAAerO,KAAK,CAClByO,cACAE,MACAD,OACAf,MAAOwB,EACPX,cACAY,eAAgBA,EAAiBgM,EACjCA,8BAKC,CAAEQ,SAAQjO,QAAOU,kBAI1B,SAASH,EAAcX,GACrBA,EAAO+N,MAAK,SAACnU,EAAGC,GACd,OAAID,EAAEwG,QAAUvG,EAAEuG,OACTvG,EAAEuG,MAAQxG,EAAEwG,SAKvB,IAAIkO,EAAO,EACPC,EAAO,KAcX,OAbAvO,EAAO/D,SAAQ,SAAAmE,GACTA,EAAMS,WACH0N,GAAQA,EAAKnO,MAAQA,EAAMA,OAC9BA,EAAMkO,KAAOA,EACbC,EAAOnO,GAEPA,EAAMkO,KAAOC,EAAKD,KAEpBA,KAEAlO,EAAMkO,MAAQ,KAGXtO,EAGT,SAASwO,EAAYxO,EAAQ9C,GAC3B,IAAMuR,EAAS,CAAC,WAAY,WAAY,WAAY,OAAQ,SAASC,OACnExR,EAASoD,KAAI,SAAAhJ,GACX,IAAMqX,EAAmBC,eAAuBtX,EAAE4J,aAClD,gBAAUyN,EAAV,YAA8BrX,EAAEkJ,cAAhC,aAAkDlJ,EAAEuX,kBAGlDld,EAAOqO,EAAOM,KAAI,SAAAhJ,GACtB,OACEA,EAAE+J,KAAK5F,SACPnE,EAAE+J,KAAKyN,SACPxX,EAAEuJ,SACFvJ,EAAEgX,KAAKrM,WACP3K,EAAE8I,MAAM6B,YALV,sBAMK3K,EAAEwJ,eAAeR,KAAI,SAAAyO,GACtB,OAAIA,EAAElN,eAAiB,EACdkN,EAAE3O,MAAM6B,WAER,WAKf,MAAO,CAAEwM,SAAQ9c,QAGJ,OACb+O,uBACAD,yBACAE,gBACA6N,eC5JF,SAAS/N,EAAuB8M,EAAaC,EAAYrN,GAGvD,IAFA,IAAMW,EAAiB,GACjB2M,EAAuB,GACpBxb,EAAI,EAAGA,GAAKub,IAAcvb,EACjCwb,EAAqBxb,GAAK,GAG5Bsb,EAAYtR,SAAQ,SAAAyR,GAClB,IAAMxM,EAAc5B,SAASoO,EAAW,MACnCvN,GAAWb,SAASoO,EAAW,KAAOvN,IACzCsN,EAAqBvM,GAAazO,KAAK,CACrCkb,UAAWrO,SAASoO,EAAW,IAC/B9L,WAAYtC,SAASoO,EAAW,IAAM,GACtCzM,YAAa3B,SAASoO,EAAW,SAKvC,IAAK,IAAIzb,EAAI,EAAGA,GAAKub,IAAcvb,EAAG,CAIpC,IAFA,IAAI4b,EAAwB,EACxBoB,EAAqB,KAChBjB,EAAK,EAAGA,EAAKP,EAAqBxb,GAAGE,SAAU6b,EAAI,CAC1D,IAAMF,EAAgBL,EAAqBxb,GAAG+b,KACzCiB,GAAsBnB,EAAclM,WAAaqN,EAAmBrN,YAAekM,EAAclM,aAAeqN,EAAmBrN,YAAckM,EAAc7M,cAAgBF,OAAkBC,MACpMiO,EAAqBnB,GAEnBA,EAAc7M,cAAgBF,OAAkBkN,IAClDJ,IAGAoB,EACFnO,EAAerO,KAAK,CAClBwc,EAAmBtB,UACnBsB,EAAmBrN,WACnBqN,EAAmBhO,YACnBwM,EAAqBxb,GAAGE,OACxB0b,IAGF/M,EAAerO,KAAK,IAGxB,OAAOqO,EAGT,SAASJ,EAAqBwN,EAAiBC,EAAgBC,GAC7D,IAAMtN,EAAiB,GACnBI,EAAc,EACdmN,EAAS,EACTjO,EAAQ,EA6CZ,OA5CA8N,EAAgBjS,SAAQ,SAAAjJ,GAEtB,GADAkO,IACsB,IAAlBlO,EAAOb,OACT2O,EAAerO,KAAK,CAClByO,cACAE,IAAK,GACLD,KAAM,EACNf,MAAO,EACPyB,eAAgB,EAChBgM,sBAAuB,QAEpB,CACL,IAAI1M,EAAO7B,SAAStM,EAAO,IACvBmO,EAAO,IACTA,GAAQiN,GAEV,IAMIhN,EANEQ,EAAatC,SAAStM,EAAO,IAAM,GACnCiO,EAAc3B,SAAStM,EAAO,IAC9B6O,EAAiBvC,SAAStM,EAAO,IACjC6a,EAAwBvO,SAAStM,EAAO,IAC9CoN,GAASwB,EAAauM,EAAejN,EAAc,GAG/CD,GAAeF,OAAkBkN,GACnC7M,EAAM,gBACGH,IAAgBF,OAAkBC,IAC3CI,EAAM,gBACNiN,KAEAjN,EAAM,kBAGRN,EAAerO,KAAK,CAClByO,cACAE,MACAD,OACAf,MAAOwB,EACPX,cACAY,eAAgBA,EAAiBgM,EACjCA,8BAKC,CAAEQ,SAAQjO,QAAOU,kBAI1B,SAASH,EAAcX,GACrBA,EAAO+N,MAAK,SAACnU,EAAGC,GACd,OAAID,EAAEwG,QAAUvG,EAAEuG,OACTvG,EAAEuG,MAAQxG,EAAEwG,SAKvB,IAAIkO,EAAO,EACPC,EAAO,KAcX,OAbAvO,EAAO/D,SAAQ,SAAAmE,GACTA,EAAMS,WACH0N,GAAQA,EAAKnO,MAAQA,EAAMA,OAC9BA,EAAMkO,KAAOA,EACbC,EAAOnO,GAEPA,EAAMkO,KAAOC,EAAKD,KAEpBA,KAEAlO,EAAMkO,MAAQ,KAGXtO,EAGT,SAASwO,EAAYxO,EAAQ9C,GAC3B,IAAMuR,EAAS,CAAC,WAAY,WAAY,WAAY,OAAQ,SAASC,OACnExR,EAASoD,KAAI,SAAAhJ,GACX,IAAMqX,EAAmBC,eAAuBtX,EAAE4J,aAClD,gBAAUyN,EAAV,YAA8BrX,EAAEkJ,cAAhC,aAAkDlJ,EAAEuX,kBAGlDld,EAAOqO,EAAOM,KAAI,SAAAhJ,GACtB,OACEA,EAAE+J,KAAK5F,SACPnE,EAAE+J,KAAKyN,SACPxX,EAAEuJ,SACFvJ,EAAEgX,KAAKrM,WACP3K,EAAE8I,MAAM6B,YALV,sBAMK3K,EAAEwJ,eAAeR,KAAI,SAAAyO,GACtB,OAAIA,EAAElN,eAAiB,EACdkN,EAAE3O,MAAM6B,WAER,WAKf,MAAO,CAAEwM,SAAQ9c,QAEJ,I,EAAA,GACb+O,uBACAD,yBACAE,gBACA6N,eCvJK,SAASnO,EAAeD,EAAOgO,EAAWD,EAAgB1N,EAAwBC,EAAsBP,GAC7G,IAAMkD,EAAM,kBAAKjD,GAcjB,cAbOiD,EAAIzH,cACJyH,EAAI5H,gBACJ4H,EAAIkK,YACXlK,EAAIhC,KAAO,CACTzF,OAAQwE,EAAMxE,OACdH,SAAU2E,EAAM3E,SAChBqT,SAAU1O,EAAM0O,UAGd1O,EAAMmN,cACRlK,EAAIvC,eAAiBL,EAAuBL,EAAMmN,YAAanN,EAAMoN,WAAYrN,IAG5E/N,OAAOkK,OAAO+G,EAAK3C,EAAqB2C,EAAIvC,eAAgBqN,EAAgBC,IAGrF,8BACGc,OAAaC,IAAMC,GADtB,iBAEGF,OAAaG,GAAKC,GAFrB,iBAGGJ,OAAaK,IAAMC,GAHtB,I,kCClCA,yBAA6lB,EAAG,G,2MCezlB,SAASZ,EAAuB1N,GACrCA,EAAc5B,SAAS4B,GACvB,IAAMnG,EAAM,GACZ,EAAG,CACD,IAAM0U,GAAMvO,EAAc,GAAK,GAAK,EACpCnG,EAAItI,KAAKid,OAAOC,aAAa,GAAKF,IAClCvO,EAAc5B,UAAU4B,EAAcuO,GAAM,UACrCvO,EAAc,GACvB,OAAOnG,EAAI6U,UAAUC,KAAK,IAMrB,SAASC,EAAuB5O,GACrC,IAAKA,EAAa,MAAO,GACzB,IAFkD,EAE9C6O,EAAO,EACPC,EAAY,EAHkC,iBAIjC9O,GAJiC,IAIlD,2BAA8B,KAAnBuO,EAAmB,QAC5B,GAAIA,GAAM,KAAOA,GAAM,IAAK,CAE1B,GADKM,IAAMA,EAAO,IACL,KAATA,EAAc,MAAO,GACzBC,EAAYA,EAAYD,GAAQN,EAAGvU,aAAe,SAC7C,GAAIuU,GAAM,KAAOA,GAAM,IAAK,CAEjC,GADKM,IAAMA,EAAO,IACL,KAATA,EAAc,MAAO,GACzBC,EAAYA,EAAYD,GAAQN,EAAGvU,aAAe,QAC7C,MAAIuU,GAAM,KAAOA,GAAM,KAK5B,MAAO,GAHP,GADKM,IAAMA,EAAO,IACL,KAATA,EAAc,MAAO,GACzBC,EAAYA,EAAYD,GAAQN,EAAGvU,aAAe,MAhBJ,8BAqBlD,OAAO8U,EAAU/N,WAGZ,SAASlC,EAAKH,GACnB,IAAMD,EAAWP,IAAOO,SAASC,EAAM,gBACjCqQ,EAAUtQ,EAASsQ,UAAY,GAAK,IAAMtQ,EAASsQ,UAAYtQ,EAASsQ,UAAUhO,WAClFiO,EAAUvQ,EAASuQ,UAAY,GAAK,IAAMvQ,EAASuQ,UAAYvQ,EAASuQ,UAAUjO,WACxF,MAAO,CAACkO,KAAKC,MAAMzQ,EAAS0Q,WAAYJ,EAASC,GAASL,KAAK,O,0YC/CpD5R,EAAiB,CAC5BC,SAAU,EACVG,QAAS,EACTD,SAAU,GAGCM,EAAmB,CAC9BC,OAAQ,SACRE,UAAW,YACXE,QAAS,WAGEmQ,EAAe,CAC1BC,IAAK,MACLE,GAAI,KACJE,IAAK,OAGMxO,EAAoB,CAC/BkN,GAAI,EACJjN,GAAI,EACJsP,IAAK,EACLC,IAAK,EACLC,GAAI,EACJC,GAAI,EACJC,GAAI,EACJC,GAAI,EACJC,GAAI,EACJC,IAAK,EAELC,IAAK,GAELC,IAAK,EACLC,IAAK,EACLC,KAAM,GAGKC,GAAY,sBACtBnQ,EAAkBgQ,GAAK,CACtBja,KAAM,YACNqa,KAAM,KACN/P,IAAK,kBACLgQ,MAAO,OACPC,KAAM,mBANe,iBAQtBtQ,EAAkBiQ,GAAK,CACtBla,KAAM,UACNqa,KAAM,KACN/P,IAAK,kBACLgQ,MAAO,OACPC,KAAM,mBAbe,iBAetBtQ,EAAkBkN,GAAK,CACtBnX,KAAM,UACNqa,KAAM,KACN/P,IAAK,kBACLgQ,MAAO,OACPC,KAAM,mBApBe,iBAsBtBtQ,EAAkBC,GAAK,CACtBlK,KAAM,WACNqa,KAAM,KACN/P,IAAK,mBACLgQ,MAAO,UACPC,KAAM,iBA3Be,iBA6BtBtQ,EAAkBuP,IAAM,CACvBxZ,KAAM,sBACNqa,KAAM,MACN/P,IAAK,iBACLgQ,MAAO,UACPC,KAAM,aAlCe,iBAoCtBtQ,EAAkBwP,IAAM,CACvBzZ,KAAM,wBACNqa,KAAM,MACN/P,IAAK,iBACLgQ,MAAO,UACPC,KAAM,aAzCe,iBA2CtBtQ,EAAkByP,GAAK,CACtB1Z,KAAM,gBACNqa,KAAM,KACN/P,IAAK,iBACLgQ,MAAO,UACPC,KAAM,aAhDe,iBAkDtBtQ,EAAkB0P,GAAK,CACtB3Z,KAAM,eACNqa,KAAM,KACN/P,IAAK,uBACLgQ,MAAO,gBACPC,KAAM,aAvDe,iBAyDtBtQ,EAAkB2P,GAAK,CACtB5Z,KAAM,eACNqa,KAAM,KACN/P,IAAK,iBACLgQ,MAAO,UACPC,KAAM,aA9De,iBAgEtBtQ,EAAkB4P,GAAK,CACtB7Z,KAAM,qBACNqa,KAAM,KACN/P,IAAK,iBACLgQ,MAAO,UACPC,KAAM,aArEe,iBAuEtBtQ,EAAkB6P,GAAK,CACtB9Z,KAAM,oBACNqa,KAAM,KACN/P,IAAK,wBACLgQ,MAAO,SACPC,KAAM,aA5Ee,iBA8EtBtQ,EAAkB8P,IAAM,CACvB/Z,KAAM,wBACNqa,KAAM,MACN/P,IAAK,iBACLgQ,MAAO,UACPC,KAAM,aAnFe,iBAqFtBtQ,EAAkB+P,IAAM,CACvBha,KAAM,WACNqa,KAAM,MACN/P,IAAK,mBACLgQ,MAAO,UACPC,KAAM,aA1Fe,GA8FZC,EAAsB,CACjCC,GAAI,EACJC,IAAK,EACLC,SAAU,GAGCC,GAAwB,sBAClCJ,EAAoBC,GAAK,CACxBtc,KAAM,EACN6B,KAAM,KACNsa,MAAO,OACPO,SAAS,IALwB,iBAOlCL,EAAoBE,IAAM,CACzBvc,KAAM,EACN6B,KAAM,MACNsa,MAAO,OACPO,SAAS,IAXwB,iBAalCL,EAAoBG,SAAW,CAC9Bxc,KAAM,EACN6B,KAAM,WACNsa,MAAO,SACPO,SAAS,IAjBwB,GAqBxBxV,EAAY,CACvBkF,KAAM,CACJ+P,MAAO,UACPrV,SAAS,GAEX6V,MAAO,CACLR,MAAO,OACPrV,SAAS,GAEX8V,WAAY,CACVT,MAAO,UACPrV,SAAS,IAIA+V,EAAsB,CACjCnT,OAAQ,EACRE,UAAW,EACXE,QAAS,GAGEgT,EAAoB,CAC/BC,KAAM,EACNC,SAAU,EACVC,OAAQ,EACRC,SAAU,I,4CCjMZte,EAAOD,QAAU,IAA0B,yB,kCCA3C,sCAAMwe,GAAmBvH,EACnBwH,GAAYxH,EACZyH,GAAazH,EAEN0H,EAAY,CACvBC,KAAMJ,EACNK,IAAKJ,EACLK,KAAMJ,I","file":"js/app.38818013.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-0586bea7\":\"a5ead1ce\",\"chunk-2ca0da56\":\"46403103\",\"chunk-40c53f6c\":\"bf475d25\",\"chunk-21bfe508\":\"8f9e78da\",\"chunk-cfb7922e\":\"bdc6cb21\",\"chunk-aa0e58a6\":\"d7eb70be\",\"chunk-cee9b998\":\"bbd39ddf\",\"chunk-410d6aa7\":\"05415c19\",\"chunk-6f9d021b\":\"6dbaa493\",\"chunk-7492837d\":\"f1ebbd74\",\"chunk-8057aed8\":\"455f4a91\",\"chunk-120e5732\":\"43be210b\",\"chunk-61782153\":\"fa2e325c\",\"chunk-704249a4\":\"0d73478b\",\"chunk-379d1f46\":\"450a701d\",\"chunk-7f2919c9\":\"110ded60\",\"chunk-e1c338fe\":\"46bae6ea\",\"chunk-8f36bd2c\":\"b0b056f1\",\"chunk-ddf63b7c\":\"775c7c75\",\"chunk-f7242f80\":\"7e44c3d9\",\"chunk-b8be1d70\":\"b9bb9f96\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-0586bea7\":1,\"chunk-2ca0da56\":1,\"chunk-40c53f6c\":1,\"chunk-21bfe508\":1,\"chunk-cfb7922e\":1,\"chunk-aa0e58a6\":1,\"chunk-cee9b998\":1,\"chunk-410d6aa7\":1,\"chunk-6f9d021b\":1,\"chunk-7492837d\":1,\"chunk-120e5732\":1,\"chunk-61782153\":1,\"chunk-704249a4\":1,\"chunk-379d1f46\":1,\"chunk-7f2919c9\":1,\"chunk-e1c338fe\":1,\"chunk-8f36bd2c\":1,\"chunk-ddf63b7c\":1,\"chunk-f7242f80\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-0586bea7\":\"84132c80\",\"chunk-2ca0da56\":\"8655de2f\",\"chunk-40c53f6c\":\"77d10ac0\",\"chunk-21bfe508\":\"3e598c36\",\"chunk-cfb7922e\":\"6123e4cc\",\"chunk-aa0e58a6\":\"4fe00250\",\"chunk-cee9b998\":\"75dc32d1\",\"chunk-410d6aa7\":\"0ce8b3b3\",\"chunk-6f9d021b\":\"dee513f6\",\"chunk-7492837d\":\"7a2b1efa\",\"chunk-8057aed8\":\"31d6cfe0\",\"chunk-120e5732\":\"c051c02c\",\"chunk-61782153\":\"d4223a0f\",\"chunk-704249a4\":\"4c814425\",\"chunk-379d1f46\":\"577d6146\",\"chunk-7f2919c9\":\"1d9093a5\",\"chunk-e1c338fe\":\"7b4da2e8\",\"chunk-8f36bd2c\":\"8bdcfae8\",\"chunk-ddf63b7c\":\"8ec7eb6a\",\"chunk-f7242f80\":\"6567f54d\",\"chunk-b8be1d70\":\"31d6cfe0\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","/*\n * Copyright 2020-2021 the original author or authors.\n *\n * Licensed under the General Public License, Version 3.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.gnu.org/licenses/gpl-3.0.en.html\n */\n\n/*\n * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message\n * Digest Algorithm, as defined in RFC 1321.\n * Version 2.1 Copyright (C) Paul Johnston 1999 - 2002.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n * Distributed under the BSD License\n * See http://pajhome.org.uk/crypt/md5 for more info.\n */\n\n/*\n * Configurable variables. You may need to tweak these to be compatible with\n * the server-side, but the defaults work in most cases.\n */\nconst hexcase = 0; /* hex output format. 0 - lowercase; 1 - uppercase */\n// var b64pad = ''; /* base-64 pad character. \"=\" for strict RFC compliance */\nconst chrsz = 8; /* bits per input character. 8 - ASCII; 16 - Unicode */\n\n/*\n * These are the functions you'll usually want to call\n * They take string arguments and return either hex or base-64 encoded strings\n */\nexport function hex_md5(s) { return binl2hex(core_md5(str2binl(s), s.length * chrsz)); }\nexport function getGravatarUrl (email, size = 200, _default = 'mp', rating = 'g', baseUrl = 'cn.gravatar.com') {\n return `https://${baseUrl}/avatar/${hex_md5(email)}?s=${size}&d=${_default}&r=${rating}`;\n}\n\n/*\n * Calculate the MD5 of an array of little-endian words, and a bit length\n */\nfunction core_md5(x, len) {\n /* append padding */\n x[len >> 5] |= 0x80 << ((len) % 32);\n x[(((len + 64) >>> 9) << 4) + 14] = len;\n\n let a = 1732584193;\n let b = -271733879;\n let c = -1732584194;\n let d = 271733878;\n\n for (var i = 0; i < x.length; i += 16) {\n const olda = a;\n const oldb = b;\n const oldc = c;\n const oldd = d;\n\n a = md5_ff(a, b, c, d, x[i + 0], 7, -680876936);\n d = md5_ff(d, a, b, c, x[i + 1], 12, -389564586);\n c = md5_ff(c, d, a, b, x[i + 2], 17, 606105819);\n b = md5_ff(b, c, d, a, x[i + 3], 22, -1044525330);\n a = md5_ff(a, b, c, d, x[i + 4], 7, -176418897);\n d = md5_ff(d, a, b, c, x[i + 5], 12, 1200080426);\n c = md5_ff(c, d, a, b, x[i + 6], 17, -1473231341);\n b = md5_ff(b, c, d, a, x[i + 7], 22, -45705983);\n a = md5_ff(a, b, c, d, x[i + 8], 7, 1770035416);\n d = md5_ff(d, a, b, c, x[i + 9], 12, -1958414417);\n c = md5_ff(c, d, a, b, x[i + 10], 17, -42063);\n b = md5_ff(b, c, d, a, x[i + 11], 22, -1990404162);\n a = md5_ff(a, b, c, d, x[i + 12], 7, 1804603682);\n d = md5_ff(d, a, b, c, x[i + 13], 12, -40341101);\n c = md5_ff(c, d, a, b, x[i + 14], 17, -1502002290);\n b = md5_ff(b, c, d, a, x[i + 15], 22, 1236535329);\n\n a = md5_gg(a, b, c, d, x[i + 1], 5, -165796510);\n d = md5_gg(d, a, b, c, x[i + 6], 9, -1069501632);\n c = md5_gg(c, d, a, b, x[i + 11], 14, 643717713);\n b = md5_gg(b, c, d, a, x[i + 0], 20, -373897302);\n a = md5_gg(a, b, c, d, x[i + 5], 5, -701558691);\n d = md5_gg(d, a, b, c, x[i + 10], 9, 38016083);\n c = md5_gg(c, d, a, b, x[i + 15], 14, -660478335);\n b = md5_gg(b, c, d, a, x[i + 4], 20, -405537848);\n a = md5_gg(a, b, c, d, x[i + 9], 5, 568446438);\n d = md5_gg(d, a, b, c, x[i + 14], 9, -1019803690);\n c = md5_gg(c, d, a, b, x[i + 3], 14, -187363961);\n b = md5_gg(b, c, d, a, x[i + 8], 20, 1163531501);\n a = md5_gg(a, b, c, d, x[i + 13], 5, -1444681467);\n d = md5_gg(d, a, b, c, x[i + 2], 9, -51403784);\n c = md5_gg(c, d, a, b, x[i + 7], 14, 1735328473);\n b = md5_gg(b, c, d, a, x[i + 12], 20, -1926607734);\n\n a = md5_hh(a, b, c, d, x[i + 5], 4, -378558);\n d = md5_hh(d, a, b, c, x[i + 8], 11, -2022574463);\n c = md5_hh(c, d, a, b, x[i + 11], 16, 1839030562);\n b = md5_hh(b, c, d, a, x[i + 14], 23, -35309556);\n a = md5_hh(a, b, c, d, x[i + 1], 4, -1530992060);\n d = md5_hh(d, a, b, c, x[i + 4], 11, 1272893353);\n c = md5_hh(c, d, a, b, x[i + 7], 16, -155497632);\n b = md5_hh(b, c, d, a, x[i + 10], 23, -1094730640);\n a = md5_hh(a, b, c, d, x[i + 13], 4, 681279174);\n d = md5_hh(d, a, b, c, x[i + 0], 11, -358537222);\n c = md5_hh(c, d, a, b, x[i + 3], 16, -722521979);\n b = md5_hh(b, c, d, a, x[i + 6], 23, 76029189);\n a = md5_hh(a, b, c, d, x[i + 9], 4, -640364487);\n d = md5_hh(d, a, b, c, x[i + 12], 11, -421815835);\n c = md5_hh(c, d, a, b, x[i + 15], 16, 530742520);\n b = md5_hh(b, c, d, a, x[i + 2], 23, -995338651);\n\n a = md5_ii(a, b, c, d, x[i + 0], 6, -198630844);\n d = md5_ii(d, a, b, c, x[i + 7], 10, 1126891415);\n c = md5_ii(c, d, a, b, x[i + 14], 15, -1416354905);\n b = md5_ii(b, c, d, a, x[i + 5], 21, -57434055);\n a = md5_ii(a, b, c, d, x[i + 12], 6, 1700485571);\n d = md5_ii(d, a, b, c, x[i + 3], 10, -1894986606);\n c = md5_ii(c, d, a, b, x[i + 10], 15, -1051523);\n b = md5_ii(b, c, d, a, x[i + 1], 21, -2054922799);\n a = md5_ii(a, b, c, d, x[i + 8], 6, 1873313359);\n d = md5_ii(d, a, b, c, x[i + 15], 10, -30611744);\n c = md5_ii(c, d, a, b, x[i + 6], 15, -1560198380);\n b = md5_ii(b, c, d, a, x[i + 13], 21, 1309151649);\n a = md5_ii(a, b, c, d, x[i + 4], 6, -145523070);\n d = md5_ii(d, a, b, c, x[i + 11], 10, -1120210379);\n c = md5_ii(c, d, a, b, x[i + 2], 15, 718787259);\n b = md5_ii(b, c, d, a, x[i + 9], 21, -343485551);\n\n a = safe_add(a, olda);\n b = safe_add(b, oldb);\n c = safe_add(c, oldc);\n d = safe_add(d, oldd);\n }\n return [a, b, c, d];\n}\n\n/*\n * These functions implement the four basic operations the algorithm uses.\n */\nfunction md5_cmn(q, a, b, x, s, t) {\n return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s), b);\n}\nfunction md5_ff(a, b, c, d, x, s, t) {\n return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t);\n}\nfunction md5_gg(a, b, c, d, x, s, t) {\n return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t);\n}\nfunction md5_hh(a, b, c, d, x, s, t) {\n return md5_cmn(b ^ c ^ d, a, b, x, s, t);\n}\nfunction md5_ii(a, b, c, d, x, s, t) {\n return md5_cmn(c ^ (b | (~d)), a, b, x, s, t);\n}\n\n/*\n * Add integers, wrapping at 2^32. This uses 16-bit operations internally\n * to work around bugs in some JS interpreters.\n */\nfunction safe_add(x, y) {\n const lsw = (x & 0xFFFF) + (y & 0xFFFF);\n const msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n return (msw << 16) | (lsw & 0xFFFF);\n}\n\n/*\n * Bitwise rotate a 32-bit number to the left.\n */\nfunction bit_rol(num, cnt) {\n return (num << cnt) | (num >>> (32 - cnt));\n}\n\n/*\n * Convert a string to an array of little-endian words\n * If chrsz is ASCII, characters >255 have their hi-byte silently ignored.\n */\nfunction str2binl(str) {\n const bin = [];\n const mask = (1 << chrsz) - 1;\n for (var i = 0; i < str.length * chrsz; i += chrsz) { bin[i >> 5] |= (str.charCodeAt(i / chrsz) & mask) << (i % 32); }\n return bin;\n}\n\n/*\n * Convert an array of little-endian words to a hex string.\n */\nfunction binl2hex(binarray) {\n const hex_tab = hexcase ? '0123456789ABCDEF' : '0123456789abcdef';\n let str = '';\n for (var i = 0; i < binarray.length * 4; i++) {\n str += hex_tab.charAt((binarray[i >> 2] >> ((i % 4) * 8 + 4)) & 0xF) +\n hex_tab.charAt((binarray[i >> 2] >> ((i % 4) * 8)) & 0xF);\n }\n return str;\n}\n","/*\n * Copyright 2020-2021 the original author or authors.\n *\n * Licensed under the General Public License, Version 3.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.gnu.org/licenses/gpl-3.0.en.html\n */\n\nimport { getGravatarUrl } from '_u/md5';\nimport { USER_ROLE } from '_u/constants';\n\nconst state = {\n profile: {}\n}\n\nconst getters = {\n profile: state => state.profile || {},\n username: state => state.profile.username || '',\n avatar: state => getGravatarUrl(state.profile.email || ''),\n // avatar: state => `https://cn.gravatar.com/avatar/${md5(state.profile.email || '')}?s=200&d=mp&r=g`,\n isLogin: state => !!state.profile.userId,\n isVerified: state => !!state.profile.emailVerified,\n isAdmin: (state, getters) => {\n if (!getters.isLogin) {\n return false;\n }\n let isAdmin = false;\n (state.profile.roles || []).forEach(role => (isAdmin |= USER_ROLE[role].isAdmin));\n return isAdmin;\n }\n}\n\nconst mutations = {\n setProfile: function(state, profile) {\n state.profile = Object.assign({}, profile);\n window.localStorage.setItem('isLogin', !!profile.userId);\n },\n clearProfile: function(state) {\n state.profile = {};\n window.localStorage.clear();\n }\n}\n\nconst actions = {\n setProfile({ commit }, profile) {\n commit('setProfile', profile);\n },\n clearProfile({ commit }) {\n commit('clearProfile');\n }\n}\n\nexport default {\n namespaced: true,\n state,\n getters,\n mutations,\n actions\n}\n","/*\n * Copyright 2020-2021 the original author or authors.\n *\n * Licensed under the General Public License, Version 3.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.gnu.org/licenses/gpl-3.0.en.html\n */\n\nimport Vue from 'vue';\nimport api from '_u/api';\nimport moment from 'moment';\nimport { CONTEST_STATUS, CONTEST_OPENNESS, JUDGE_RESULT_TYPE } from '_u/constants';\nimport { s2hs } from '_u/transform';\nimport rankHandler, { calculateScore } from './ranks';\n\nconst state = {\n contest: {\n features: {\n contestRunning: {},\n contestEnd: {}\n },\n problems: [],\n participants: []\n },\n problems: [],\n questions: [],\n allSubmissions: [],\n likedScoresMap: {},\n settings: {\n showPractice: false\n },\n scoreTimer: null,\n sliderTime: null\n}\n\nconst getters = {\n contestLoaded: state => {\n return !!state.contest.contestId;\n },\n contestId: state => {\n return state.contest.contestId;\n },\n contestStatus: (state, getters, rootState) => {\n const now = rootState.now;\n if (getters.contestStartTime > now) {\n return CONTEST_STATUS.UPCOMING;\n } else if (getters.contestEndTime < now) {\n return CONTEST_STATUS.FINISHED;\n } else {\n return CONTEST_STATUS.RUNNING;\n }\n },\n contestStarted: (state, getters, rootState) => {\n return rootState.now >= getters.contestStartTime;\n },\n contestOpenness: state => {\n return state.contest.features.openness;\n },\n publicContest: (state, getters) => {\n return getters.contestOpenness === CONTEST_OPENNESS.PUBLIC;\n },\n protectedContest: (state, getters) => {\n return getters.contestOpenness === CONTEST_OPENNESS.PROTECTED;\n },\n privateContest: (state, getters) => {\n return getters.contestOpenness === CONTEST_OPENNESS.PRIVATE;\n },\n contestMode: state => {\n return state.contest.features.mode;\n },\n hasParticipatedIn: (state, getters, rootState, rootGetters) => {\n const username = rootGetters['user/username'];\n return state.contest.participants.includes(username);\n },\n contestStartTime: state => {\n return moment(new Date(parseInt(state.contest.gmtStart)));\n },\n contestEndTime: state => {\n return moment(new Date(parseInt(state.contest.gmtEnd)));\n },\n contestDuration: (state, getters) => {\n return getters.contestEndTime - getters.contestStartTime;\n },\n countdown: (state, getters, rootState) => {\n if (getters.contestStatus === CONTEST_STATUS.UPCOMING) {\n const duration = moment.duration(getters.contestStartTime.diff(rootState.now, 'seconds'), 'seconds');\n if (duration.weeks() > 0) {\n return 'Before the contest: ' + duration.humanize();\n } else {\n return '-' + s2hs(getters.contestStartTime - rootState.now);\n }\n } else if (getters.contestStatus === CONTEST_STATUS.RUNNING) {\n return s2hs(getters.contestEndTime - rootState.now);\n } else {\n return 'FINISHED';\n }\n },\n scores: (state, getters, rootState) => {\n if (!state.allSubmissions) {\n return [];\n }\n const handler = rankHandler[getters.contestMode];\n let scores = [];\n let endTime = null;\n if (getters.contestStatus === CONTEST_STATUS.FINISHED) {\n if (state.sliderTime) {\n endTime = state.sliderTime;\n } else if (!state.settings.showPractice) {\n endTime = getters.contestEndTime;\n }\n }\n\n state.allSubmissions.forEach(score => {\n scores.push(\n calculateScore(\n score,\n state.contest.gmtStart,\n state.contest.problems.map(problem => problem.problemWeight),\n handler.calculateProblemResult,\n handler.formatProblemResults,\n endTime\n )\n );\n });\n scores = handler.calculateRank(scores);\n\n // first blood\n const firstSolvedMap = {};\n scores.forEach(score => {\n if (score.official) {\n score.problemResults.forEach(result => {\n if (JUDGE_RESULT_TYPE.AC === result.judgeResult) {\n if (!firstSolvedMap[result.problemCode] || firstSolvedMap[result.problemCode] > result.time) {\n firstSolvedMap[result.problemCode] = result.time;\n }\n }\n });\n }\n });\n scores.forEach(score => {\n if (score.official) {\n score.problemResults.forEach(result => {\n if (JUDGE_RESULT_TYPE.AC === result.judgeResult && firstSolvedMap[result.problemCode] === result.time) {\n result.css = 'score_first';\n }\n });\n }\n });\n for (let i = 0; i < state.contest.problems.length; ++i) {\n let judgeResult = null;\n scores.forEach(score => {\n if (score.user.userId === rootState.user.profile.userId) {\n judgeResult = score.problemResults[i].judgeResult;\n }\n });\n Vue.set(state.contest.problems[i], 'judgeResult', judgeResult);\n }\n return scores;\n },\n likedScores: (state, getters, rootState) => {\n let likedScores = [];\n if (getters.scores) {\n likedScores = getters.scores.filter(score => state.likedScoresMap[score.user.userId] || score.user.userId === rootState.user.profile.userId);\n }\n return likedScores;\n },\n problems: (state, getters, rootState) => {\n if (getters.contestStatus === CONTEST_STATUS.FINISHED) {\n const problems = {};\n state.contest.problems.forEach((problem, i) => {\n problems[i] = {\n ...problem,\n acceptNum: 0,\n submitNum: 0,\n judgeResult: null,\n judgeScore: null\n };\n })\n getters.scores.forEach(score => {\n score.problemResults.forEach(result => {\n problems[result.problemCode - 1].submitNum += result.numSubmissions;\n if (result.judgeResult === JUDGE_RESULT_TYPE.AC) {\n problems[result.problemCode - 1].acceptNum++;\n }\n if (score.user.userId === rootState.user.profile.userId) {\n problems[result.problemCode - 1].judgeResult = result.judgeResult;\n }\n });\n });\n return Object.keys(problems).map(key => problems[key]);\n } else {\n return state.contest.problems;\n }\n }\n}\n\nconst mutations = {\n setContest: function(state, payload) {\n state.contest = payload.contest;\n state.problems = [];\n for (let i = 1; i <= payload.contest.problems.length; ++i) {\n state.problems.push({\n problemCode: i.toString()\n });\n }\n },\n setProblemDetail: function(state, payload) {\n state.problems.splice(parseInt(payload.problem.problemCode) - 1, 1, { ...payload.problem, _valid: true });\n },\n setAllSubmissions: function(state, payload) {\n state.allSubmissions = payload.allSubmissions;\n },\n setScoreTimer: function(state, payload) {\n state.scoreTimer = setInterval(() => {\n this.dispatch('contest/getQuestions');\n this.dispatch('contest/getContestRank');\n if (this.getters['contest/contestStatus'] === CONTEST_STATUS.FINISHED && this.state.contest.scoreTimer) {\n clearInterval(this.state.contest.scoreTimer);\n this.state.contest.scoreTimer = null;\n }\n }, payload.interval);\n },\n setSliderTime: function(state, payload) {\n state.sliderTime = payload.sliderTime;\n },\n setScoreLiked: function(state, payload) {\n Vue.set(state.likedScoresMap, payload.userId, payload.status);\n },\n setSettings: function(state, payload) {\n for (const key in payload.settings) {\n Vue.set(state.settings, key, payload.settings[key]);\n }\n },\n clearContest: function(state) {\n if (state.scoreTimer) {\n clearInterval(state.scoreTimer);\n state.scoreTimer = null;\n }\n state.contest = {\n features: {\n contestRunning: {},\n contestEnd: {}\n },\n problems: [],\n participants: []\n };\n state.questions = [];\n state.problems = [];\n state.allSubmissions = [];\n state.likedScoresMap = {};\n state.settings = {\n showPractice: false\n }\n }\n}\n\nconst actions = {\n getContest: function({ commit, dispatch }, contestId) {\n return new Promise((resolve, reject) => {\n api.getContest(contestId).then(contest => {\n resolve(contest);\n commit('setContest', { contest });\n const contestStatus = this.getters['contest/contestStatus'];\n const showRank = !(this.getters['contest/contestOpenness'] === CONTEST_OPENNESS.PRIVATE && !this.getters['contest/hasParticipatedIn']);\n if (contestStatus === CONTEST_STATUS.RUNNING) {\n dispatch('getQuestions');\n if (showRank) {\n dispatch('getContestRank').catch(reject);\n commit('setScoreTimer', { interval: 30000 });\n }\n } else if (contestStatus === CONTEST_STATUS.FINISHED) {\n dispatch('getQuestions');\n dispatch('getContestRank').catch(reject);\n }\n }).catch(reject);\n });\n },\n getQuestions: function() {\n\n },\n getContestRank: function({ commit }) {\n return new Promise((resolve, reject) => {\n api.getContestRank(this.getters['contest/contestId']).then(ret => {\n resolve(ret);\n commit('setAllSubmissions', { allSubmissions: ret });\n }).catch(reject);\n })\n },\n settings: function({ commit }, settings) {\n commit('setSettings', { settings });\n }\n}\n\nexport default {\n namespaced: true,\n state,\n getters,\n mutations,\n actions\n}\n","/*\n * Copyright 2020-2021 the original author or authors.\n *\n * Licensed under the General Public License, Version 3.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.gnu.org/licenses/gpl-3.0.en.html\n */\n\nimport Vue from 'vue'\nimport Vuex from 'vuex'\n\nimport user from './modules/user';\nimport contest from './modules/contest';\n\nimport moment from 'moment';\n\nVue.use(Vuex)\n\nexport default new Vuex.Store({\n state: {\n copyright: '',\n now: moment()\n },\n mutations: {\n updateCopyright: function(state, payload) {\n state.copyright = payload.copyright;\n },\n updateNow: function(state, payload) {\n state.now = moment(new Date(parseInt(payload.now)));\n },\n addOneSecond: function(state) {\n state.now = moment(state.now.add(1, 'seconds'));\n }\n },\n actions: {\n },\n modules: {\n user,\n contest\n }\n})\n","var map = {\n\t\"./af\": \"2bfb\",\n\t\"./af.js\": \"2bfb\",\n\t\"./ar\": \"8e73\",\n\t\"./ar-dz\": \"a356\",\n\t\"./ar-dz.js\": \"a356\",\n\t\"./ar-kw\": \"423e\",\n\t\"./ar-kw.js\": \"423e\",\n\t\"./ar-ly\": \"1cfd\",\n\t\"./ar-ly.js\": \"1cfd\",\n\t\"./ar-ma\": \"0a84\",\n\t\"./ar-ma.js\": \"0a84\",\n\t\"./ar-sa\": \"8230\",\n\t\"./ar-sa.js\": \"8230\",\n\t\"./ar-tn\": \"6d83\",\n\t\"./ar-tn.js\": \"6d83\",\n\t\"./ar.js\": \"8e73\",\n\t\"./az\": \"485c\",\n\t\"./az.js\": \"485c\",\n\t\"./be\": \"1fc1\",\n\t\"./be.js\": \"1fc1\",\n\t\"./bg\": \"84aa\",\n\t\"./bg.js\": \"84aa\",\n\t\"./bm\": \"a7fa\",\n\t\"./bm.js\": \"a7fa\",\n\t\"./bn\": \"9043\",\n\t\"./bn-bd\": \"9686\",\n\t\"./bn-bd.js\": \"9686\",\n\t\"./bn.js\": \"9043\",\n\t\"./bo\": \"d26a\",\n\t\"./bo.js\": \"d26a\",\n\t\"./br\": \"6887\",\n\t\"./br.js\": \"6887\",\n\t\"./bs\": \"2554\",\n\t\"./bs.js\": \"2554\",\n\t\"./ca\": \"d716\",\n\t\"./ca.js\": \"d716\",\n\t\"./cs\": \"3c0d\",\n\t\"./cs.js\": \"3c0d\",\n\t\"./cv\": \"03ec\",\n\t\"./cv.js\": \"03ec\",\n\t\"./cy\": \"9797\",\n\t\"./cy.js\": \"9797\",\n\t\"./da\": \"0f14\",\n\t\"./da.js\": \"0f14\",\n\t\"./de\": \"b469\",\n\t\"./de-at\": \"b3eb\",\n\t\"./de-at.js\": \"b3eb\",\n\t\"./de-ch\": \"bb71\",\n\t\"./de-ch.js\": \"bb71\",\n\t\"./de.js\": \"b469\",\n\t\"./dv\": \"598a\",\n\t\"./dv.js\": \"598a\",\n\t\"./el\": \"8d47\",\n\t\"./el.js\": \"8d47\",\n\t\"./en-au\": \"0e6b\",\n\t\"./en-au.js\": \"0e6b\",\n\t\"./en-ca\": \"3886\",\n\t\"./en-ca.js\": \"3886\",\n\t\"./en-gb\": \"39a6\",\n\t\"./en-gb.js\": \"39a6\",\n\t\"./en-ie\": \"e1d3\",\n\t\"./en-ie.js\": \"e1d3\",\n\t\"./en-il\": \"7333\",\n\t\"./en-il.js\": \"7333\",\n\t\"./en-in\": \"ec2e\",\n\t\"./en-in.js\": \"ec2e\",\n\t\"./en-nz\": \"6f50\",\n\t\"./en-nz.js\": \"6f50\",\n\t\"./en-sg\": \"b7e9\",\n\t\"./en-sg.js\": \"b7e9\",\n\t\"./eo\": \"65db\",\n\t\"./eo.js\": \"65db\",\n\t\"./es\": \"898b\",\n\t\"./es-do\": \"0a3c\",\n\t\"./es-do.js\": \"0a3c\",\n\t\"./es-mx\": \"b5b7\",\n\t\"./es-mx.js\": \"b5b7\",\n\t\"./es-us\": \"55c9\",\n\t\"./es-us.js\": \"55c9\",\n\t\"./es.js\": \"898b\",\n\t\"./et\": \"ec18\",\n\t\"./et.js\": \"ec18\",\n\t\"./eu\": \"0ff2\",\n\t\"./eu.js\": \"0ff2\",\n\t\"./fa\": \"8df4\",\n\t\"./fa.js\": \"8df4\",\n\t\"./fi\": \"81e9\",\n\t\"./fi.js\": \"81e9\",\n\t\"./fil\": \"d69a\",\n\t\"./fil.js\": \"d69a\",\n\t\"./fo\": \"0721\",\n\t\"./fo.js\": \"0721\",\n\t\"./fr\": \"9f26\",\n\t\"./fr-ca\": \"d9f8\",\n\t\"./fr-ca.js\": \"d9f8\",\n\t\"./fr-ch\": \"0e49\",\n\t\"./fr-ch.js\": \"0e49\",\n\t\"./fr.js\": \"9f26\",\n\t\"./fy\": \"7118\",\n\t\"./fy.js\": \"7118\",\n\t\"./ga\": \"5120\",\n\t\"./ga.js\": \"5120\",\n\t\"./gd\": \"f6b4\",\n\t\"./gd.js\": \"f6b4\",\n\t\"./gl\": \"8840\",\n\t\"./gl.js\": \"8840\",\n\t\"./gom-deva\": \"aaf2\",\n\t\"./gom-deva.js\": \"aaf2\",\n\t\"./gom-latn\": \"0caa\",\n\t\"./gom-latn.js\": \"0caa\",\n\t\"./gu\": \"e0c5\",\n\t\"./gu.js\": \"e0c5\",\n\t\"./he\": \"c7aa\",\n\t\"./he.js\": \"c7aa\",\n\t\"./hi\": \"dc4d\",\n\t\"./hi.js\": \"dc4d\",\n\t\"./hr\": \"4ba9\",\n\t\"./hr.js\": \"4ba9\",\n\t\"./hu\": \"5b14\",\n\t\"./hu.js\": \"5b14\",\n\t\"./hy-am\": \"d6b6\",\n\t\"./hy-am.js\": \"d6b6\",\n\t\"./id\": \"5038\",\n\t\"./id.js\": \"5038\",\n\t\"./is\": \"0558\",\n\t\"./is.js\": \"0558\",\n\t\"./it\": \"6e98\",\n\t\"./it-ch\": \"6f12\",\n\t\"./it-ch.js\": \"6f12\",\n\t\"./it.js\": \"6e98\",\n\t\"./ja\": \"079e\",\n\t\"./ja.js\": \"079e\",\n\t\"./jv\": \"b540\",\n\t\"./jv.js\": \"b540\",\n\t\"./ka\": \"201b\",\n\t\"./ka.js\": \"201b\",\n\t\"./kk\": \"6d79\",\n\t\"./kk.js\": \"6d79\",\n\t\"./km\": \"e81d\",\n\t\"./km.js\": \"e81d\",\n\t\"./kn\": \"3e92\",\n\t\"./kn.js\": \"3e92\",\n\t\"./ko\": \"22f8\",\n\t\"./ko.js\": \"22f8\",\n\t\"./ku\": \"2421\",\n\t\"./ku.js\": \"2421\",\n\t\"./ky\": \"9609\",\n\t\"./ky.js\": \"9609\",\n\t\"./lb\": \"440c\",\n\t\"./lb.js\": \"440c\",\n\t\"./lo\": \"b29d\",\n\t\"./lo.js\": \"b29d\",\n\t\"./lt\": \"26f9\",\n\t\"./lt.js\": \"26f9\",\n\t\"./lv\": \"b97c\",\n\t\"./lv.js\": \"b97c\",\n\t\"./me\": \"293c\",\n\t\"./me.js\": \"293c\",\n\t\"./mi\": \"688b\",\n\t\"./mi.js\": \"688b\",\n\t\"./mk\": \"6909\",\n\t\"./mk.js\": \"6909\",\n\t\"./ml\": \"02fb\",\n\t\"./ml.js\": \"02fb\",\n\t\"./mn\": \"958b\",\n\t\"./mn.js\": \"958b\",\n\t\"./mr\": \"39bd\",\n\t\"./mr.js\": \"39bd\",\n\t\"./ms\": \"ebe4\",\n\t\"./ms-my\": \"6403\",\n\t\"./ms-my.js\": \"6403\",\n\t\"./ms.js\": \"ebe4\",\n\t\"./mt\": \"1b45\",\n\t\"./mt.js\": \"1b45\",\n\t\"./my\": \"8689\",\n\t\"./my.js\": \"8689\",\n\t\"./nb\": \"6ce3\",\n\t\"./nb.js\": \"6ce3\",\n\t\"./ne\": \"3a39\",\n\t\"./ne.js\": \"3a39\",\n\t\"./nl\": \"facd\",\n\t\"./nl-be\": \"db29\",\n\t\"./nl-be.js\": \"db29\",\n\t\"./nl.js\": \"facd\",\n\t\"./nn\": \"b84c\",\n\t\"./nn.js\": \"b84c\",\n\t\"./oc-lnc\": \"167b\",\n\t\"./oc-lnc.js\": \"167b\",\n\t\"./pa-in\": \"f3ff\",\n\t\"./pa-in.js\": \"f3ff\",\n\t\"./pl\": \"8d57\",\n\t\"./pl.js\": \"8d57\",\n\t\"./pt\": \"f260\",\n\t\"./pt-br\": \"d2d4\",\n\t\"./pt-br.js\": \"d2d4\",\n\t\"./pt.js\": \"f260\",\n\t\"./ro\": \"972c\",\n\t\"./ro.js\": \"972c\",\n\t\"./ru\": \"957c\",\n\t\"./ru.js\": \"957c\",\n\t\"./sd\": \"6784\",\n\t\"./sd.js\": \"6784\",\n\t\"./se\": \"ffff\",\n\t\"./se.js\": \"ffff\",\n\t\"./si\": \"eda5\",\n\t\"./si.js\": \"eda5\",\n\t\"./sk\": \"7be6\",\n\t\"./sk.js\": \"7be6\",\n\t\"./sl\": \"8155\",\n\t\"./sl.js\": \"8155\",\n\t\"./sq\": \"c8f3\",\n\t\"./sq.js\": \"c8f3\",\n\t\"./sr\": \"cf1e\",\n\t\"./sr-cyrl\": \"13e9\",\n\t\"./sr-cyrl.js\": \"13e9\",\n\t\"./sr.js\": \"cf1e\",\n\t\"./ss\": \"52bd\",\n\t\"./ss.js\": \"52bd\",\n\t\"./sv\": \"5fbd\",\n\t\"./sv.js\": \"5fbd\",\n\t\"./sw\": \"74dc\",\n\t\"./sw.js\": \"74dc\",\n\t\"./ta\": \"3de5\",\n\t\"./ta.js\": \"3de5\",\n\t\"./te\": \"5cbb\",\n\t\"./te.js\": \"5cbb\",\n\t\"./tet\": \"576c\",\n\t\"./tet.js\": \"576c\",\n\t\"./tg\": \"3b1b\",\n\t\"./tg.js\": \"3b1b\",\n\t\"./th\": \"10e8\",\n\t\"./th.js\": \"10e8\",\n\t\"./tk\": \"5aff\",\n\t\"./tk.js\": \"5aff\",\n\t\"./tl-ph\": \"0f38\",\n\t\"./tl-ph.js\": \"0f38\",\n\t\"./tlh\": \"cf75\",\n\t\"./tlh.js\": \"cf75\",\n\t\"./tr\": \"0e81\",\n\t\"./tr.js\": \"0e81\",\n\t\"./tzl\": \"cf51\",\n\t\"./tzl.js\": \"cf51\",\n\t\"./tzm\": \"c109\",\n\t\"./tzm-latn\": \"b53d\",\n\t\"./tzm-latn.js\": \"b53d\",\n\t\"./tzm.js\": \"c109\",\n\t\"./ug-cn\": \"6117\",\n\t\"./ug-cn.js\": \"6117\",\n\t\"./uk\": \"ada2\",\n\t\"./uk.js\": \"ada2\",\n\t\"./ur\": \"5294\",\n\t\"./ur.js\": \"5294\",\n\t\"./uz\": \"2e8c\",\n\t\"./uz-latn\": \"010e\",\n\t\"./uz-latn.js\": \"010e\",\n\t\"./uz.js\": \"2e8c\",\n\t\"./vi\": \"2921\",\n\t\"./vi.js\": \"2921\",\n\t\"./x-pseudo\": \"fd7e\",\n\t\"./x-pseudo.js\": \"fd7e\",\n\t\"./yo\": \"7f33\",\n\t\"./yo.js\": \"7f33\",\n\t\"./zh-cn\": \"5c3a\",\n\t\"./zh-cn.js\": \"5c3a\",\n\t\"./zh-hk\": \"49ab\",\n\t\"./zh-hk.js\": \"49ab\",\n\t\"./zh-mo\": \"3a6c\",\n\t\"./zh-mo.js\": \"3a6c\",\n\t\"./zh-tw\": \"90ea\",\n\t\"./zh-tw.js\": \"90ea\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"4678\";","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"layout\"},[_c('NavBar'),_c('transition',{attrs:{\"name\":\"fade\",\"mode\":\"out-in\"}},[(_vm.isRouterAlive)?_c('router-view'):_vm._e()],1),_c('div',{staticClass:\"footer\",domProps:{\"innerHTML\":_vm._s(_vm.copyright)}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"header fixed\"},[_c('div',{staticClass:\"container\"},[_c('Menu',{attrs:{\"mode\":\"horizontal\",\"theme\":\"light\",\"active-name\":_vm.$route.path.split('/')[1]}},[_c('div',{staticClass:\"logo\",on:{\"click\":function($event){return _vm.$router.push('/')}}},[_c('img',{staticStyle:{\"width\":\"100px\",\"height\":\"30px\"},attrs:{\"src\":require(\"../assets/logo.png\")}})]),_c('MenuItem',{attrs:{\"name\":\"home\",\"to\":{ name: 'home' }}},[_c('span',{staticClass:\"span__menu\"},[_vm._v(\"Home\")])]),_c('MenuItem',{attrs:{\"name\":\"problem\",\"to\":{ name: 'problem' }}},[_c('span',{staticClass:\"span__menu\"},[_vm._v(\"Problem\")])]),_c('MenuItem',{attrs:{\"name\":\"contest\",\"to\":{ name: 'contest' }}},[_c('span',{staticClass:\"span__menu\"},[_vm._v(\"Contest\")])]),_c('MenuItem',{attrs:{\"name\":\"submission\",\"to\":{ name: 'submission' }}},[_c('span',{staticClass:\"span__menu\"},[_vm._v(\"Submission\")])]),_c('MenuItem',{attrs:{\"name\":\"group\",\"to\":{ name: 'group' }}},[_c('span',{staticClass:\"span__menu\"},[_vm._v(\"Group\")])]),_c('div',{staticClass:\"navbar-user\"},[(_vm.isLogin)?[_c('Avatar',{attrs:{\"src\":_vm.avatar}}),_c('Dropdown',{on:{\"on-click\":_vm.onClick}},[_c('div',{staticClass:\"navbar-username\"},[_vm._v(\" \"+_vm._s(_vm.username)+\" \"),_c('Icon',{attrs:{\"type\":\"ios-arrow-down\"}})],1),_c('DropdownMenu',{attrs:{\"slot\":\"list\"},slot:\"list\"},[_c('DropdownItem',{attrs:{\"name\":\"user\"}},[_vm._v(\"Profile\")]),_c('DropdownItem',{attrs:{\"name\":\"logout\",\"divided\":\"\"}},[_vm._v(\"Logout\")])],1)],1),(_vm.isAdmin)?[_c('Divider',{attrs:{\"type\":\"vertical\"}}),_c('a',{attrs:{\"href\":_vm.manageUrl,\"target\":\"_blank\"}},[_vm._v(\"To Manage\")])]:_vm._e()]:[_c('Button',{attrs:{\"type\":\"text\"},on:{\"click\":_vm.toLogin}},[_c('span',{staticClass:\"span__menu\"},[_vm._v(\"Login\")])]),_c('Button',{attrs:{\"type\":\"text\"},on:{\"click\":_vm.toRegist}},[_c('span',{staticClass:\"span__menu\"},[_vm._v(\"Register\")])])]],2)],1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavBar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavBar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./NavBar.vue?vue&type=template&id=7851b724&scoped=true&\"\nimport script from \"./NavBar.vue?vue&type=script&lang=js&\"\nexport * from \"./NavBar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./NavBar.vue?vue&type=style&index=0&id=7851b724&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7851b724\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=7c0a410d&scoped=true&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=7c0a410d&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7c0a410d\",\n null\n \n)\n\nexport default component.exports","/*\n * Copyright 2020-2021 the original author or authors.\n *\n * Licensed under the General Public License, Version 3.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.gnu.org/licenses/gpl-3.0.en.html\n */\n\nconst routes = [\n {\n redirect: '/home',\n path: '/'\n },\n {\n name: 'login',\n path: '/login',\n component: () => import('@/views/user/Login')\n },\n {\n name: 'register',\n path: '/register',\n component: () => import('@/views/user/Register')\n },\n {\n name: 'reset-password',\n path: '/resetpass',\n component: () => import('@/views/user/ResetPass')\n },\n {\n name: 'home',\n path: '/home',\n component: () => import('@/views/HomeView'),\n meta: { title: '首页' }\n },\n {\n name: 'user',\n path: '/user',\n meta: { login: true },\n component: () => import('@/views/user/UserHome')\n },\n {\n name: 'problem',\n path: '/problem',\n component: () => import('@/views/problem/ProblemListView'),\n meta: { title: '题库' }\n },\n {\n name: 'problem-detail',\n path: '/problem/:problemCode',\n component: () => import('@/views/problem/ProblemDetailView')\n },\n {\n name: 'submission',\n path: '/submission',\n component: () => import('@/views/submission/SubmissionListView')\n },\n {\n name: 'submission-detail',\n path: '/submission/:submissionId',\n meta: { scrollToTop: true },\n component: () => import('@/views/submission/SubmissionDetailView')\n },\n {\n name: 'contest',\n path: '/contest',\n component: () => import('@/views/contest/ContestListView')\n },\n {\n name: 'contest-detail',\n path: '/contest/:contestId',\n redirect: '/contest/:contestId/overview',\n meta: { login: true },\n component: () => import('@/views/contest/ContestDetailView'),\n children: [\n {\n name: 'contest-overview',\n path: 'overview',\n component: () => import('@/views/contest/ContestOverviewView')\n },\n {\n name: 'contest-problem',\n path: 'problem/:problemCode',\n component: () => import('@/views/problem/ProblemDetailView')\n },\n {\n name: 'contest-submission',\n path: 'submission',\n meth: { scrollToTop: true },\n component: () => import('@/views/submission/SubmissionListView')\n },\n {\n name: 'contest-submission-detail',\n path: 'submission/:submissionId',\n meta: { scrollToTop: true },\n component: () => import('@/views/submission/SubmissionDetailView')\n },\n {\n name: 'contest-rank',\n path: 'rank',\n meta: { scrollToTop: true },\n component: () => import('@/views/contest/ContestRankView')\n }\n ]\n },\n {\n name: 'group',\n path: '/group',\n component: () => import('@/views/group/GroupListView')\n },\n {\n name: 'group-detail',\n path: '/group/:groupId',\n component: () => import('@/views/group/GroupDetailView')\n },\n {\n name: 'third-party-login',\n path: '/thirdPartyLogin',\n component: () => import('@/views/third-party/ThirdPartyLogin')\n },\n {\n path: '*',\n name: '404',\n component: () => import('@/views/404View')\n }\n]\n\nexport default routes;\n","/*\n * Copyright 2020-2021 the original author or authors.\n *\n * Licensed under the General Public License, Version 3.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.gnu.org/licenses/gpl-3.0.en.html\n */\n\nimport Vue from 'vue';\nimport VueRouter from 'vue-router';\nimport routes from './routes';\nimport api from '_u/api';\n\nVue.use(VueRouter);\n\nconst originalPush = VueRouter.prototype.push;\nconst originalReplace = VueRouter.prototype.replace;\nVueRouter.prototype.push = function push(location) {\n return originalPush.call(this, location).catch(_ => _);\n};\n\nVueRouter.prototype.replace = function push(location) {\n const that = this;\n return originalReplace.call(that, location).catch(_ => _);\n}\n\nconst scrollBehavior = (to, from, savedPosition) => {\n if (savedPosition) {\n // savedPosition is only available for popstate navigations.\n return savedPosition\n } else {\n const position = {}\n // new navigation.\n // scroll to anchor by returning the selector\n if (to.hash) {\n position.selector = to.hash\n }\n // check if any matched route config has meta that requires scrolling to top\n if (to.matched.some(m => m.meta.scrollToTop)) {\n // cords will be used if no selector is provided,\n // or if the selector didn't match any element.\n position.x = 0\n position.y = 0\n }\n // if the returned position is falsy or an empty object,\n // will retain current scroll position.\n return position\n }\n}\n\nconst router = new VueRouter({\n // 路由中的 #\n mode: 'history',\n scrollBehavior,\n routes\n});\n\nrouter.beforeEach((to, from, next) => {\n Vue.prototype.$Loading.start();\n if (to.matched.some(route => route.meta.login)) {\n api.getProfile(_ => {\n next();\n }, _ => {\n Vue.prototype.$Message.error('Please login first');\n next({\n name: 'login',\n query: { to: to.fullPath }\n });\n })\n } else {\n next();\n }\n})\n\nrouter.afterEach((to, from, next) => {\n Vue.prototype.$Loading.finish();\n})\n\nexport default router;\n","/*\n * Copyright 2020-2021 the original author or authors.\n *\n * Licensed under the General Public License, Version 3.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.gnu.org/licenses/gpl-3.0.en.html\n */\n\nimport Vue from 'vue';\nimport VueClipboard from 'vue-clipboard2';\n\nVue.use(VueClipboard);\n","/*\n * Copyright 2020-2021 the original author or authors.\n *\n * Licensed under the General Public License, Version 3.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.gnu.org/licenses/gpl-3.0.en.html\n */\n\nimport Vue from 'vue';\nimport hljs from 'highlight.js';\n/* eslint-disable import/first */\nwindow.hljs = hljs;\nrequire('highlightjs-line-numbers.js');\nimport 'highlight.js/styles/github.css';\n\n// highlight 会改变原有的DOM结构,导致数据更新时vue不会刷新\n// 我们需要手动检测数据更新,然后重新渲染\nVue.directive('highlight', {\n deep: true,\n bind: (el, binding) => {\n // on first bind, highlight all targets\n const targets = el.querySelectorAll('code');\n targets.forEach(target => {\n if (typeof binding.value === 'string') {\n // if a value is directly assigned to the directive, use this\n // instead of the element content.\n target.textContent = binding.value;\n }\n hljs.highlightBlock(target);\n });\n },\n componentUpdated: (el, binding) => {\n // after an update, re-fill the content and then highlight\n const targets = el.querySelectorAll('code');\n targets.forEach(target => {\n if (typeof binding.value === 'string') {\n // if a value is directly assigned to the directive, use this\n // instead of the element content.\n target.textContent = binding.value;\n }\n hljs.highlightBlock(target);\n });\n }\n});\n\nVue.directive('highlight-linenumber', {\n deep: true,\n bind: (el, binding) => {\n // on first bind, highlight all targets\n const targets = el.querySelectorAll('code');\n targets.forEach(target => {\n if (typeof binding.value === 'string') {\n // if a value is directly assigned to the directive, use this\n // instead of the element content.\n target.textContent = binding.value;\n }\n hljs.highlightBlock(target);\n hljs.lineNumbersBlock(target);\n });\n },\n componentUpdated: (el, binding) => {\n // after an update, re-fill the content and then highlight\n const targets = el.querySelectorAll('code');\n targets.forEach(target => {\n if (typeof binding.value === 'string') {\n // if a value is directly assigned to the directive, use this\n // instead of the element content.\n target.textContent = binding.value;\n }\n hljs.highlightBlock(target);\n hljs.lineNumbersBlock(target);\n });\n }\n});\n","import Vue from 'vue';\nimport '../styles/iview-variables.less';\nimport '../styles/global.less';\nimport ViewUI from 'view-design'\n\nimport locale from 'view-design/dist/locale/en-US';\n\nVue.use(ViewUI, { locale });\n","/*\n * Copyright 2020-2021 the original author or authors.\n *\n * Licensed under the General Public License, Version 3.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.gnu.org/licenses/gpl-3.0.en.html\n */\n\nimport Vue from 'vue';\nimport App from './App.vue';\nimport router from './router';\nimport store from './store';\n\nimport './plugins/clipboard2';\nimport './plugins/highlight';\nimport './plugins/iviewui';\n\nimport './styles/rank.css';\nVue.config.productionTip = false;\n\nVue.prototype.$Message.config({\n duration: 3,\n top: 60\n});\n\nnew Vue({\n router,\n store,\n render: h => h(App)\n}).$mount('#app');\n","import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../node_modules/less-loader/dist/cjs.js??ref--14-0!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=7c0a410d&lang=less&scoped=true&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../node_modules/less-loader/dist/cjs.js??ref--14-0!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=7c0a410d&lang=less&scoped=true&\"","/*\n * Copyright 2020-2021 the original author or authors.\n *\n * Licensed under the General Public License, Version 3.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.gnu.org/licenses/gpl-3.0.en.html\n */\n\nimport Vue from 'vue';\nimport axios from 'axios';\nimport store from '@/store';\n\naxios.defaults.baseURL = `${process.env.VUE_APP_OJ_SERVER}/api`;\naxios.defaults.withCredentials = true;\n\nfunction post(url, data) {\n data = data || {};\n return new Promise((resolve, reject) => {\n axios.post(url, data)\n .then(response => {\n switch (response.data.code) {\n case 0:\n resolve(response.data.data);\n break;\n case 429:\n Vue.prototype.$Message.error(response.data.message);\n break;\n default:\n reject(response.data);\n break;\n }\n\n if (response.data.timestamp !== undefined && response.data.timestamp !== null) {\n store.commit('updateNow', {\n now: response.data.timestamp\n });\n }\n })\n .catch(err => {\n Vue.prototype.$Loading.finish();\n switch (err.response.status) {\n case 429:\n Vue.prototype.$Message.error(err.response.data.message);\n break;\n default:\n reject(err.response.data);\n break;\n }\n\n if (err.response.data.timestamp !== undefined && err.response.data.timestamp !== null) {\n store.commit('updateNow', {\n now: err.response.data.timestamp\n });\n }\n });\n });\n}\n\nfunction get(url, params) {\n params = params || {};\n return new Promise((resolve, reject) => {\n axios.get(url, { params })\n .then(response => {\n switch (response.data.code) {\n case 0:\n resolve(response.data.data);\n break;\n case 429:\n Vue.prototype.$Message.error(response.data.message);\n break;\n default:\n reject(response.data);\n break;\n }\n\n if (response.data.timestamp !== undefined && response.data.timestamp !== null) {\n store.commit('updateNow', {\n now: response.data.timestamp\n });\n }\n })\n .catch(err => {\n Vue.prototype.$Loading.finish();\n\n switch (err.response.status) {\n case 429:\n Vue.prototype.$Message.error(err.response.data.message);\n break;\n default:\n reject(err.response.data);\n break;\n }\n\n if (err.response.data.timestamp !== undefined && err.response.data.timestamp !== null) {\n store.commit('updateNow', {\n now: err.response.data.timestamp\n });\n }\n });\n })\n}\n\nconst getContestId = () => store.state.contest.contest.contestId;\n\nexport default {\n // 配置相关\n getCopyright: function() {\n return get('/site/getCopyright');\n },\n // 用户相关\n login: function(data) {\n return post('/user/login', data);\n },\n logout: function() {\n return get('/user/logout');\n },\n register: function(data) {\n return post('/user/register', data);\n },\n forgetPassword: function(data) {\n return post('/user/forgetPassword', data);\n },\n updateProfile: function(data) {\n return post('/user/updateProfile', data);\n },\n sendVerificationEmail: function(username) {\n return post('/user/sendVerificationEmail', { username });\n },\n resetPassword: function(data) {\n return post('/user/resetPassword', data);\n },\n verifyEmail: function(token) {\n return get('/user/verifyEmail', { token });\n },\n getProfile: function(success, error) {\n axios.get('/user/getProfile')\n .then(response => {\n if (response.data.code === 0) {\n store.dispatch('user/setProfile', response.data.data)\n if (success) {\n success(response.data.data);\n }\n } else {\n Vue.prototype.$Message.error(response.data.message);\n }\n }, err => {\n if (err.response.status === 401) {\n store.dispatch('user/clearProfile');\n if (error) {\n error(err.response.data);\n }\n }\n });\n },\n getCaptcha: function() {\n return get('/user/getCaptcha');\n },\n isExist: function(params) {\n return get('/user/isExist', params);\n },\n getParticipatedContests: function() {\n return get('/user/queryParticipateContest');\n },\n // 提交相关\n getUserACProblems: function() {\n return get('/submit/queryACProblem');\n },\n getSubmissionDetail: function(params) {\n const contestId = getContestId();\n if (contestId) {\n return this.getContestSubmissionDetail({ ...params, contestId });\n }\n return get('/submit/query', params);\n },\n getSubmissionList: function(params) {\n const contestId = getContestId();\n if (contestId) {\n return this.getContestSubmissionList({ ...params, contestId });\n } else {\n return get('/submit/list', params);\n }\n },\n submit: function(data) {\n const contestId = getContestId();\n if (contestId) {\n return this.createContestSubmission({ ...data, contestId });\n } else {\n return post('/submit/create', data);\n }\n },\n // 题目相关\n problemQuery: function(params) {\n const contestId = getContestId();\n if (contestId) {\n const index = parseInt(params.problemCode) - 1;\n return new Promise((resolve, reject) => {\n if (!store.state.contest.problems[index]._valid) {\n this.getContestProblem({\n ...params,\n contestId\n }).then(ret => {\n store.commit('contest/setProblemDetail', { problem: ret });\n resolve(ret);\n }, _ => reject(_));\n } else {\n resolve(store.state.contest.problems[index]);\n }\n })\n } else {\n return get('/problem/query', params);\n }\n },\n getProblemList: function(params) {\n return get('/problem/list', params);\n },\n // 比赛相关\n getContestList: function(params) {\n return get('/contest/list', params);\n },\n getContest: function(contestId) {\n return get('/contest/query', { contestId });\n },\n getUpcomingContest: function(params) {\n return get('/contest/queryUpcomingContest', params);\n },\n getContestProblem: function(params) {\n return get('/contest/queryProblem', params);\n },\n participateIn: function(data) {\n return post('/contest/participate', data);\n },\n createContestSubmission: function(data) {\n return post('/contest/createSubmission', data);\n },\n getContestSubmissionList: function(params) {\n return get('/contest/listSubmission', params);\n },\n getContestSubmissionDetail: function(params) {\n return get('/contest/querySubmission', params);\n },\n getContestRank: function(contestId) {\n return get('/contest/rank', { contestId });\n },\n rejudge: function(data) {\n return post('/submit/rejudge', data);\n },\n invalidate: function(params) {\n if (params.contestId) {\n return get('/contest/invalidateSubmission', params);\n } else {\n return get('/submit/invalidateSubmission', params);\n }\n },\n /* *************** groups ************************* */\n getGroupDetail: function(params) {\n return get('/group/query', params);\n },\n getGroupList: function(params) {\n return get('/group/page', params);\n },\n joinGroup: function(params) {\n return get('/group/apply', params);\n },\n quitGroup: function(params) {\n return get('/group/quit', params);\n },\n getMyGroupList: function (params) {\n return get('/group/my', params);\n },\n /* ************* file upload ************* */\n // 单文件上传\n singleUpload: function(data) {\n return post('/filesys/upload', data);\n },\n /* third-party-login */\n thirdPartyLogin: function(params) {\n return get('/user/thirdPartyLogin', params);\n },\n thirdPartyBinding: function(data) {\n return post('/user/thirdPartyBinding', data);\n },\n thirdPartyRegister: function(data) {\n return post('/user/thirdPartyRegister', data);\n },\n thirdPartyUnbinding: function(params) {\n return get('/user/thirdPartyUnbinding', params);\n }\n}\n","/*\n * Copyright 2020-2021 the original author or authors.\n *\n * Licensed under the General Public License, Version 3.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.gnu.org/licenses/gpl-3.0.en.html\n */\n\nimport { JUDGE_RESULT_TYPE } from '_u/constants';\nimport { contestProblemIdEncode } from '_u/transform';\n\n// 将所有的提交进行筛选,只保留 endTime 之前的提交(如果 endTime 非空的话)\n// 按照题目顺序(包括没有提交的题目)整理成一个数组,每个题目的信息也是一个数组,与后端提供的赛时结构一致\n// for each problem: [gmtCreate, judgeScore, judgeResult, numSubmissions, numSubmissionsPending]\nfunction calculateProblemResult(submissions, problemNum, endTime) {\n const problemResults = [];\n const problemSubmissionMap = {};\n for (let i = 1; i <= problemNum; ++i) {\n problemSubmissionMap[i] = [];\n }\n\n submissions.forEach(submission => {\n const problemCode = parseInt(submission[0]);\n if (!endTime || parseInt(submission[1]) <= endTime) {\n problemSubmissionMap[problemCode].push({\n gmtCreate: parseInt(submission[1]),\n judgeScore: parseInt(submission[2] || 0),\n judgeResult: parseInt(submission[3])\n });\n }\n });\n\n for (let i = 1; i <= problemNum; ++i) {\n // sort by gmtCreate\n let ac = false;\n let numSubmissionsPending = 0;\n let oneSubmission = null;\n problemSubmissionMap[i].sort((a, b) => a.gmtCreate - b.gmtCreate);\n for (let i1 = 0; i1 < problemSubmissionMap[i].length; ++i1) {\n oneSubmission = problemSubmissionMap[i][i1];\n if (JUDGE_RESULT_TYPE.AC === oneSubmission.judgeResult) {\n problemResults.push([\n oneSubmission.gmtCreate,\n oneSubmission.judgeScore,\n oneSubmission.judgeResult,\n i1 + 1,\n numSubmissionsPending\n ]);\n ac = true;\n break;\n } else if (JUDGE_RESULT_TYPE.PD === oneSubmission.judgeResult) {\n numSubmissionsPending++;\n }\n }\n if (!ac) {\n if (problemSubmissionMap[i].length) {\n problemResults.push([\n 0, // gmtCreate\n oneSubmission.judgeScore, // judgeScore\n numSubmissionsPending > 0 ? JUDGE_RESULT_TYPE.PD : oneSubmission.judgeResult, // judgeResult\n problemSubmissionMap[i].length, // numSubmissions\n numSubmissionsPending // numSubmissionsPending\n ]);\n } else {\n problemResults.push([]);\n }\n }\n }\n return problemResults;\n}\n\n// 将形如 [gmtCreate, judgeScore, judgeResult, numSubmissions, numSubmissionsPending] 的数组转换成自己的数据结构\nfunction formatProblemResults(_problemResults, problemWeights, startTime) {\n const problemResults = [];\n let problemCode = 0;\n let solved = 0;\n let score = 0;\n _problemResults.forEach(result => {\n problemCode++;\n if (result.length === 0) {\n problemResults.push({\n problemCode,\n css: '',\n time: 0,\n score: 0,\n numSubmissions: 0,\n numSubmissionsPending: 0\n });\n } else {\n let time = parseInt(result[0]);\n if (time > 0) {\n time -= startTime;\n }\n const judgeScore = parseInt(result[1] || 0);\n const judgeResult = parseInt(result[2]);\n const numSubmissions = parseInt(result[3]);\n const numSubmissionsPending = parseInt(result[4]);\n\n let css;\n if (judgeResult <= JUDGE_RESULT_TYPE.PD) {\n css = 'score_pending';\n } else if (judgeResult === JUDGE_RESULT_TYPE.AC) {\n css = 'score_correct';\n solved += problemWeights[problemCode - 1];\n score += time + (numSubmissions - numSubmissionsPending - 1) * 20 * 60 * 1000;\n } else {\n css = 'score_incorrect';\n }\n\n problemResults.push({\n problemCode,\n css,\n time,\n score: judgeScore,\n judgeResult,\n numSubmissions: numSubmissions - numSubmissionsPending,\n numSubmissionsPending\n });\n }\n });\n\n return { solved, score, problemResults };\n}\n\n// 计算rank:第一关键字 过题数solved 降序,第二关键字 罚时score 升序\nfunction calculateRank(scores) {\n scores.sort((a, b) => {\n if (a.solved !== b.solved) {\n return b.solved - a.solved;\n } else if (a.score !== b.score) {\n return a.score - b.score;\n } else {\n return true;\n }\n });\n let rank = 0;\n let last = null;\n scores.forEach(score => {\n if (score.official) {\n rank++;\n if (!last || last.solved > score.solved || score.score > last.score) {\n score.rank = rank;\n last = score;\n } else {\n score.rank = last.rank;\n }\n } else {\n score.rank = -1;\n }\n });\n return scores;\n}\n\nfunction exportScore(scores, problems) {\n const header = ['username', 'nickname', 'official', 'rank', 'solved', 'penalty'].concat(\n problems.map(o => {\n const contestProblemId = contestProblemIdEncode(o.problemCode);\n return `${contestProblemId}(${o.problemWeight}):${o.problemTitle}`;\n })\n );\n const data = scores.map(o => {\n return [\n o.user.username,\n o.user.nickname,\n o.official,\n o.rank.toString(),\n o.solved.toString(),\n parseInt(o.score / 60000).toString(),\n ...o.problemResults.map(v => {\n if (v.numSubmissions + v.numSubmissionsPending > 0) {\n return `-${v.numSubmissions + v.numSubmissionsPending}/${parseInt(v.time / 6000)}`;\n } else {\n return ''\n }\n })\n ]\n })\n return { header, data };\n}\n\nexport default {\n formatProblemResults,\n calculateProblemResult,\n calculateRank,\n exportScore\n}\n","/*\n * Copyright 2020-2021 the original author or authors.\n *\n * Licensed under the General Public License, Version 3.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.gnu.org/licenses/gpl-3.0.en.html\n */\n\nimport { JUDGE_RESULT_TYPE } from '_u/constants';\nimport { contestProblemIdEncode } from '_u/transform';\n\nfunction calculateProblemResult(submissions, problemNum, endTime) {\n const problemSubmissionMap = {};\n for (let i = 1; i <= problemNum; ++i) {\n problemSubmissionMap[i] = [];\n }\n\n submissions.forEach(submission => {\n const problemCode = parseInt(submission[0]);\n if (!endTime || parseInt(submission[1]) <= endTime) {\n problemSubmissionMap[problemCode].push({\n gmtCreate: parseInt(submission[1]),\n judgeScore: parseInt(submission[2] || 0),\n judgeResult: parseInt(submission[3])\n });\n }\n });\n\n const problemResults = [];\n for (let i = 1; i <= problemNum; ++i) {\n // sort by gmtCreate\n problemSubmissionMap[i].sort((a, b) => a.gmtCreate - b.gmtCreate);\n let numSubmissionsPending = 0;\n let lastUnPDSubmission = null;\n for (let i1 = problemSubmissionMap[i].length - 1; i1 >= 0; --i1) {\n const oneSubmission = problemSubmissionMap[i][i1];\n if (oneSubmission.judgeResult === JUDGE_RESULT_TYPE.PD) {\n lastUnPDSubmission = oneSubmission;\n break;\n } else {\n numSubmissionsPending++;\n }\n }\n if (lastUnPDSubmission) {\n problemResults.push([\n lastUnPDSubmission.gmtCreate,\n lastUnPDSubmission.judgeScore,\n lastUnPDSubmission.judgeResult,\n problemSubmissionMap[i].length,\n numSubmissionsPending\n ])\n } else {\n problemResults.push([]);\n }\n }\n return problemResults;\n}\n\nfunction formatProblemResults(_problemResults, problemWeights, startTime) {\n const problemResults = [];\n let problemCode = 0;\n let solved = 0;\n let score = 0;\n _problemResults.forEach(result => {\n problemCode++;\n if (result.length === 0) {\n problemResults.push({\n problemCode,\n css: '',\n time: 0,\n score: 0,\n numSubmissions: 0,\n numSubmissionsPending: 0\n });\n } else {\n let time = parseInt(result[0]);\n if (time > 0) {\n time -= startTime;\n }\n const judgeScore = parseInt(result[1] || 0);\n const judgeResult = parseInt(result[2]);\n const numSubmissions = parseInt(result[3]);\n const numSubmissionsPending = parseInt(result[4]);\n score += judgeScore * problemWeights[problemCode - 1];\n\n let css;\n if (judgeResult <= JUDGE_RESULT_TYPE.PD) {\n css = 'score_pending';\n } else if (judgeResult === JUDGE_RESULT_TYPE.AC) {\n css = 'score_correct';\n solved++;\n } else {\n css = 'score_incorrect';\n }\n\n problemResults.push({\n problemCode,\n css,\n time,\n score: judgeScore,\n judgeResult,\n numSubmissions: numSubmissions - numSubmissionsPending,\n numSubmissionsPending\n });\n }\n })\n\n return { solved, score, problemResults };\n}\n\n// 只按得分计算 rank\nfunction calculateRank(scores) {\n scores.sort((a, b) => {\n if (a.score !== b.score) {\n return b.score - a.score;\n } else {\n return true;\n }\n });\n let rank = 1;\n let last = null;\n scores.forEach(score => {\n if (score.official) {\n if (!last || last.score > score.score) {\n score.rank = rank;\n last = score;\n } else {\n score.rank = last.rank;\n }\n rank++;\n } else {\n score.rank = -1;\n }\n });\n return scores;\n}\n\nfunction exportScore(scores, problems) {\n const header = ['username', 'nickname', 'official', 'rank', 'score'].concat(\n problems.map(o => {\n const contestProblemId = contestProblemIdEncode(o.problemCode);\n return `${contestProblemId}(${o.problemWeight}):${o.problemTitle}`;\n })\n );\n const data = scores.map(o => {\n return [\n o.user.username,\n o.user.nickname,\n o.official,\n o.rank.toString(),\n o.score.toString(),\n ...o.problemResults.map(v => {\n if (v.numSubmissions > 0) {\n return v.score.toString();\n } else {\n return ''\n }\n })\n ]\n })\n return { header, data };\n}\n\nexport default {\n formatProblemResults,\n calculateProblemResult,\n calculateRank,\n exportScore\n}\n","/*\n * Copyright 2020-2021 the original author or authors.\n *\n * Licensed under the General Public License, Version 3.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.gnu.org/licenses/gpl-3.0.en.html\n */\n\nimport { JUDGE_RESULT_TYPE } from '_u/constants';\nimport { contestProblemIdEncode } from '_u/transform';\n\nfunction calculateProblemResult(submissions, problemNum, endTime) {\n const problemResults = [];\n const problemSubmissionMap = {};\n for (let i = 1; i <= problemNum; ++i) {\n problemSubmissionMap[i] = [];\n }\n\n submissions.forEach(submission => {\n const problemCode = parseInt(submission[0]);\n if (!endTime || parseInt(submission[1]) <= endTime) {\n problemSubmissionMap[problemCode].push({\n gmtCreate: parseInt(submission[1]),\n judgeScore: parseInt(submission[2] || 0),\n judgeResult: parseInt(submission[3])\n });\n }\n });\n\n for (let i = 1; i <= problemNum; ++i) {\n // sort by gmtCreate\n let numSubmissionsPending = 0;\n let maxScoreSubmission = null;\n for (let i1 = 0; i1 < problemSubmissionMap[i].length; ++i1) {\n const oneSubmission = problemSubmissionMap[i][i1];\n if (!maxScoreSubmission || oneSubmission.judgeScore > maxScoreSubmission.judgeScore || (oneSubmission.judgeScore === maxScoreSubmission.judgeScore && oneSubmission.judgeResult === JUDGE_RESULT_TYPE.AC)) {\n maxScoreSubmission = oneSubmission;\n }\n if (oneSubmission.judgeResult === JUDGE_RESULT_TYPE.PD) {\n numSubmissionsPending++;\n }\n }\n if (maxScoreSubmission) {\n problemResults.push([\n maxScoreSubmission.gmtCreate, // gmtCreate\n maxScoreSubmission.judgeScore, // judgeScore\n maxScoreSubmission.judgeResult, // judgeResult\n problemSubmissionMap[i].length, // numSubmissions\n numSubmissionsPending // numSubmissionsPending\n ]);\n } else {\n problemResults.push([]);\n }\n }\n return problemResults;\n}\n\nfunction formatProblemResults(_problemResults, problemWeights, startTime) {\n const problemResults = [];\n let problemCode = 0;\n let solved = 0;\n let score = 0;\n _problemResults.forEach(result => {\n problemCode++;\n if (result.length === 0) {\n problemResults.push({\n problemCode,\n css: '',\n time: 0,\n score: 0,\n numSubmissions: 0,\n numSubmissionsPending: 0\n });\n } else {\n let time = parseInt(result[0]);\n if (time > 0) {\n time -= startTime;\n }\n const judgeScore = parseInt(result[1] || 0);\n const judgeResult = parseInt(result[2]);\n const numSubmissions = parseInt(result[3]);\n const numSubmissionsPending = parseInt(result[4]);\n score += judgeScore * problemWeights[problemCode - 1];\n\n let css;\n if (judgeResult <= JUDGE_RESULT_TYPE.PD) {\n css = 'score_pending';\n } else if (judgeResult === JUDGE_RESULT_TYPE.AC) {\n css = 'score_correct';\n solved++;\n } else {\n css = 'score_incorrect';\n }\n\n problemResults.push({\n problemCode,\n css,\n time,\n score: judgeScore,\n judgeResult,\n numSubmissions: numSubmissions - numSubmissionsPending,\n numSubmissionsPending\n });\n }\n })\n\n return { solved, score, problemResults };\n}\n\n// 只按得分计算 rank\nfunction calculateRank(scores) {\n scores.sort((a, b) => {\n if (a.score !== b.score) {\n return b.score - a.score;\n } else {\n return true;\n }\n });\n let rank = 1;\n let last = null;\n scores.forEach(score => {\n if (score.official) {\n if (!last || last.score > score.score) {\n score.rank = rank;\n last = score;\n } else {\n score.rank = last.rank;\n }\n rank++;\n } else {\n score.rank = -1;\n }\n });\n return scores;\n}\n\nfunction exportScore(scores, problems) {\n const header = ['username', 'nickname', 'official', 'rank', 'score'].concat(\n problems.map(o => {\n const contestProblemId = contestProblemIdEncode(o.problemCode);\n return `${contestProblemId}(${o.problemWeight}):${o.problemTitle}`;\n })\n );\n const data = scores.map(o => {\n return [\n o.user.username,\n o.user.nickname,\n o.official,\n o.rank.toString(),\n o.score.toString(),\n ...o.problemResults.map(v => {\n if (v.numSubmissions > 0) {\n return v.score.toString();\n } else {\n return ''\n }\n })\n ]\n })\n return { header, data };\n}\nexport default {\n formatProblemResults,\n calculateProblemResult,\n calculateRank,\n exportScore\n}\n","/*\n * Copyright 2020-2021 the original author or authors.\n *\n * Licensed under the General Public License, Version 3.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.gnu.org/licenses/gpl-3.0.en.html\n */\n\nimport acmRankHandler from './acm';\nimport oiRankHandler from './oi';\nimport ioiRankHandler from './ioi';\n\nimport { CONTEST_MODE } from '_u/constants';\n\nexport function calculateScore(score, startTime, problemWeights, calculateProblemResult, formatProblemResults, endTime) {\n const ret = { ...score };\n delete ret.userId;\n delete ret.username;\n delete ret.submissions;\n ret.user = {\n userId: score.userId,\n username: score.username,\n nickname: score.nickname\n };\n\n if (score.submissions) {\n ret.problemResults = calculateProblemResult(score.submissions, score.problemNum, endTime);\n }\n\n return Object.assign(ret, formatProblemResults(ret.problemResults, problemWeights, startTime));\n}\n\nexport default {\n [CONTEST_MODE.ACM]: acmRankHandler,\n [CONTEST_MODE.OI]: oiRankHandler,\n [CONTEST_MODE.IOI]: ioiRankHandler\n};\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/less-loader/dist/cjs.js??ref--14-0!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavBar.vue?vue&type=style&index=0&id=7851b724&lang=less&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/less-loader/dist/cjs.js??ref--14-0!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavBar.vue?vue&type=style&index=0&id=7851b724&lang=less&scoped=true&\"","/*\n * Copyright 2020-2021 the original author or authors.\n *\n * Licensed under the General Public License, Version 3.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.gnu.org/licenses/gpl-3.0.en.html\n */\n\nimport moment from 'moment';\n\n/*\n * 将 1 2 3 4 这样的problemId 转换成 A、B、C、D\n*/\nexport function contestProblemIdEncode(problemCode) {\n problemCode = parseInt(problemCode);\n const str = [];\n do {\n const ch = (problemCode - 1) % 26 + 1;\n str.push(String.fromCharCode(64 + ch)); // ch + 'A' - 1\n problemCode = parseInt((problemCode - ch) / 26);\n } while (problemCode > 0);\n return str.reverse().join('');\n}\n\n/*\n * 将 A、B、C、D 转换成 1 2 3 4\n*/\nexport function contestProblemIdDecode(problemCode) {\n if (!problemCode) return '';\n let base = 0;\n let problemId = 0;\n for (const ch of problemCode) {\n if (ch >= 'A' && ch <= 'Z') {\n if (!base) base = 26;\n if (base !== 26) return '';\n problemId = problemId * base + (ch.charCodeAt() - 64); // (ch - 1) - 'A'\n } else if (ch >= 'a' && ch <= 'z') {\n if (!base) base = 26;\n if (base !== 26) return '';\n problemId = problemId * base + (ch.charCodeAt() - 96); // (ch - 1) - 'a'\n } else if (ch >= '0' && ch <= '9') {\n if (!base) base = 10;\n if (base !== 10) return '';\n problemId = problemId * base + (ch.charCodeAt() - 48); // ch - '0';\n } else {\n return '';\n }\n }\n return problemId.toString();\n}\n\nexport function s2hs(diff) {\n const duration = moment.duration(diff, 'milliseconds');\n const minutes = duration.minutes() < 10 ? '0' + duration.minutes() : duration.minutes().toString();\n const seconds = duration.seconds() < 10 ? '0' + duration.seconds() : duration.seconds().toString();\n return [Math.floor(duration.asHours()), minutes, seconds].join(':');\n}\n","/*\n * Copyright 2020-2021 the original author or authors.\n *\n * Licensed under the General Public License, Version 3.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.gnu.org/licenses/gpl-3.0.en.html\n */\n\nexport const CONTEST_STATUS = {\n UPCOMING: 1,\n RUNNING: 2,\n FINISHED: 3\n};\n\nexport const CONTEST_OPENNESS = {\n PUBLIC: 'public',\n PROTECTED: 'protected',\n PRIVATE: 'private'\n};\n\nexport const CONTEST_MODE = {\n ACM: 'acm',\n OI: 'oi',\n IOI: 'ioi'\n};\n\nexport const JUDGE_RESULT_TYPE = {\n PD: 0,\n AC: 1,\n TLE: 2,\n MLE: 3,\n RE: 4,\n SE: 5,\n WA: 6,\n PE: 7,\n CE: 8,\n OLE: 9,\n\n CAN: 99,\n\n CP: -3,\n JG: -2,\n END: -1\n};\n\nexport const JUDGE_RESULT = {\n [JUDGE_RESULT_TYPE.CP]: {\n name: 'Compiling',\n abbr: 'CP',\n css: 'verdict-pending',\n color: 'grey',\n icon: 'md-information'\n },\n [JUDGE_RESULT_TYPE.JG]: {\n name: 'Judging',\n abbr: 'JG',\n css: 'verdict-pending',\n color: 'grey',\n icon: 'md-information'\n },\n [JUDGE_RESULT_TYPE.PD]: {\n name: 'Pending',\n abbr: 'PD',\n css: 'verdict-pending',\n color: 'grey',\n icon: 'md-information'\n },\n [JUDGE_RESULT_TYPE.AC]: {\n name: 'Accepted',\n abbr: 'AC',\n css: 'verdict-accepted',\n color: '#5cb85c',\n icon: 'md-checkmark'\n },\n [JUDGE_RESULT_TYPE.TLE]: {\n name: 'Time Limit Exceeded',\n abbr: 'TLE',\n css: 'verdict-failed',\n color: '#d9534f',\n icon: 'md-close'\n },\n [JUDGE_RESULT_TYPE.MLE]: {\n name: 'Memory Limit Exceeded',\n abbr: 'MLE',\n css: 'verdict-failed',\n color: '#d9534f',\n icon: 'md-close'\n },\n [JUDGE_RESULT_TYPE.RE]: {\n name: 'Runtime Error',\n abbr: 'RE',\n css: 'verdict-failed',\n color: '#d9534f',\n icon: 'md-close'\n },\n [JUDGE_RESULT_TYPE.SE]: {\n name: 'System Error',\n abbr: 'SE',\n css: 'verdict-system-error',\n color: 'rebeccapurple',\n icon: 'md-close'\n },\n [JUDGE_RESULT_TYPE.WA]: {\n name: 'Wrong Answer',\n abbr: 'WA',\n css: 'verdict-failed',\n color: '#d9534f',\n icon: 'md-close'\n },\n [JUDGE_RESULT_TYPE.PE]: {\n name: 'Presentation Error',\n abbr: 'PE',\n css: 'verdict-failed',\n color: '#d9534f',\n icon: 'md-close'\n },\n [JUDGE_RESULT_TYPE.CE]: {\n name: 'Compilation Error',\n abbr: 'CE',\n css: 'verdict-compile-error',\n color: 'orange',\n icon: 'md-close'\n },\n [JUDGE_RESULT_TYPE.OLE]: {\n name: 'Output Limit Exceeded',\n abbr: 'OLE',\n css: 'verdict-failed',\n color: '#d9534f',\n icon: 'md-close'\n },\n [JUDGE_RESULT_TYPE.CAN]: {\n name: 'Canceled',\n abbr: 'CAN',\n css: 'verdict-canceled',\n color: '#220048',\n icon: 'md-close'\n }\n};\n\nexport const JUDGE_TEMPLATE_TYPE = {\n IO: 0,\n SPJ: 1,\n ADVANCED: 2\n}\n\nexport const JUDGE_TEMPLATE_PROPERITY = {\n [JUDGE_TEMPLATE_TYPE.IO]: {\n type: 0,\n name: 'IO',\n color: 'blue',\n zipFile: false\n },\n [JUDGE_TEMPLATE_TYPE.SPJ]: {\n type: 1,\n name: 'SPJ',\n color: 'gold',\n zipFile: true\n },\n [JUDGE_TEMPLATE_TYPE.ADVANCED]: {\n type: 2,\n name: 'Advanced',\n color: 'purple',\n zipFile: true\n }\n}\n\nexport const USER_ROLE = {\n user: {\n color: 'default',\n isAdmin: false\n },\n admin: {\n color: 'gold',\n isAdmin: true\n },\n superadmin: {\n color: 'volcano',\n isAdmin: true\n }\n};\n\nexport const GROUP_OPENNESS_TYPE = {\n PUBLIC: 0,\n PROTECTED: 1,\n PRIVATE: 2\n};\n\nexport const GROUP_STATUS_TYPE = {\n NONE: 0,\n APPLYING: 1,\n JOINED: 2,\n REJECTED: 3\n};\n","module.exports = __webpack_public_path__ + \"img/logo.8f551318.png\";","const SDUOJ_PRODUCTION = process.env.NODE_ENV === 'production';\nconst SDUOJ_DEV = process.env.NODE_ENV === 'development';\nconst SDUOJ_TEST = process.env.NODE_ENV === 'test';\n\nexport const SDUOJ_ENV = {\n PROD: SDUOJ_PRODUCTION,\n DEV: SDUOJ_DEV,\n TEST: SDUOJ_TEST\n};\n"],"sourceRoot":""} \ No newline at end of file diff --git a/js/chunk-379d1f46.450a701d.js b/js/chunk-379d1f46.450a701d.js new file mode 100644 index 00000000..ed4832ef --- /dev/null +++ b/js/chunk-379d1f46.450a701d.js @@ -0,0 +1,2 @@ +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-379d1f46"],{"28e0":function(e,s,t){},5910:function(e,s,t){"use strict";var i=t("28e0"),n=t.n(i);n.a},8336:function(e,s,t){"use strict";var i=function(){var e=this,s=e.$createElement,t=e._self._c||s;return t("Card",{staticClass:"clearfix",attrs:{"dis-hover":"",padding:0}},[t("Table",{staticClass:"data-table",attrs:{size:e.size,"show-header":e.showHeader,"no-data-text":e.noDataText,columns:e.filteredColumns,data:e.submissions,loading:e.loading},on:{"on-selection-change":e.onSelectionChange,"on-sort-change":e.onSort,"on-cell-click":e.onCellClick},scopedSlots:e._u([{key:"id",fn:function(s){var i=s.row;return[t("router-link",{attrs:{to:{name:e.contestId?"contest-submission-detail":"submission-detail",params:{submissionId:i.submissionId}}}},[e._v(e._s(i.submissionId))])]}},{key:"title",fn:function(s){var i=s.row;return[t("Tooltip",{attrs:{content:i.problemTitle,theme:"light",transfer:""}},[t("router-link",{attrs:{to:{name:e.contestId?"contest-problem":"problem-detail",params:{problemCode:i.problemCode}}}},[e._v(e._s(e._f("problemCodeEncode")(i.problemCode)))])],1)]}},{key:"judge-result",fn:function(e){var s=e.row;return[t("JudgeResult",{attrs:{result:s.judgeResult,total:s.checkpointNum,current:s.$judgedNum}})]}},{key:"score",fn:function(s){var i=s.row;return[t("span",[e._v(e._s(null===i.judgeScore?"":i.judgeScore))])]}},{key:"time",fn:function(s){var i=s.row;return[t("span",{staticClass:"time"},[e._v(e._s(i.usedTime||0))])]}},{key:"mem",fn:function(s){var i=s.row;return[t("span",{staticClass:"mem"},[e._v(e._s(i.usedMemory||0))])]}},{key:"submit-time",fn:function(s){var i=s.row;return[t("Tooltip",{attrs:{content:e._f("timeformat")(i.gmtCreate,"yyyy-MM-DD HH:mm:ss"),transfer:""}},[t("span",[e._v(e._s(e._f("fromnow")(i.gmtCreate)))])])]}}])}),t("div",[e._t("default")],2)],1)},n=[],o=(t("99af"),t("4de4"),t("4160"),t("caad"),t("b64b"),t("d3b7"),t("25f0"),t("2532"),t("159b"),t("5530")),r=t("8035"),a=t("e325"),c=t("c9d9"),l=t("bedf"),u=t("7c15"),m=t("4360"),d=t("2f62"),b=t("c1df"),f=t.n(b),p={name:"SubmissionList",components:{JudgeResult:r["a"]},mixins:[a["b"]],props:{selection:{type:Boolean,default:!1},size:{type:String,default:"default"},showHeader:{type:Boolean,default:!0},doRejudge:{type:Boolean,default:!1},noDataText:{type:String,default:""},bannedKey:{type:Array,default:function(){return[]}},columns:{type:Array,default:function(){return[{title:"#",key:"submissionId",width:165,slot:"id",props:{vOnce:!0}},{title:"Username",key:"username",width:200,props:{vOnce:!0}},{title:"Problem",key:"problemCode",slot:"title",align:"center"},{title:"Judge Result",key:"judgeResult",slot:"judge-result",width:210,align:"center"},{title:"Score",key:"judgeScore",maxWidth:100,slot:"score",align:"center"},{title:"Time",key:"usedTime",slot:"time",sortable:!0,align:"right"},{title:"Memory",key:"usedMemory",slot:"mem",sortable:!0,align:"right"},{title:"Template",key:"judgeTemplateTitle",props:{vOnce:!0},align:"center"},{title:"Submit Time",key:"gmtCreate",sortable:!0,slot:"submit-time",align:"center"}]}}},filters:{timeformat:function(e,s){return"string"===typeof e&&(e=parseInt(e)),f()(new Date(e)).format(s)},fromnow:function(e){return"string"===typeof e&&(e=parseInt(e)),f()(new Date(e)).fromNow()},problemCodeEncode:function(e){return m["a"].state.contest.contest.contestId?Object(l["b"])(e):e}},data:function(){return{filteredColumns:[],submissions:[],loading:!1,listenedSubmissions:{}}},computed:Object(o["a"])(Object(o["a"])({},Object(d["d"])("contest",["contest"])),Object(d["c"])("contest",["contestId"])),methods:{onSort:function(e){this.$emit("on-sort",e)},onCellClick:function(e,s,t,i){this.$emit("on-cell-click",e,s,t,i)},onSelectionChange:function(e){this.$emit("on-selection-change",e)},wsSuccess:function(e){"string"===typeof e&&(e=JSON.parse(e));for(var s=0;s0?t("div",{class:i.css,on:{click:function(t){return e.showAllSubmissions(s.user.username,i.problemCode)}}},[e._v(" "+e._s(e._f("time2minutes")(i.time))+" "),t("span",[e._v(e._s(i.numSubmissions+i.numSubmissionsPending===1?"1 try":i.numSubmissions+i.numSubmissionsPending+" tries"))])]):e._e()]):e.contestMode===e.CONTEST_MODE.OI?t("a",[i.numSubmissions>0?t("div",{class:i.css,on:{click:function(t){return e.showAllSubmissions(s.user.username,i.problemCode)}}},[e._v(" "+e._s(i.score)+" ")]):e._e()]):e.contestMode===e.CONTEST_MODE.IOI?t("a",[i.numSubmissions>0?t("div",{class:i.css,on:{click:function(t){return e.showAllSubmissions(s.user.username,i.problemCode)}}},[e._v(" "+e._s(i.score)+" "),t("span",[e._v(e._s(e._f("time2minutes")(i.time)))])]):e._e()]):e._e()])}))],2)})),e._l(e.scores,(function(s,i){return t("tr",{key:s.user.userId,class:{sortorderswitch:0===i,scorethisisme:s.user.userId===e.profile.userId,scoreliked:e.likedScoresMap[s.user.userId]},attrs:{id:"user:"+s.user.userId}},[t("td",{staticClass:"scorepl"},[e.displayRank?t("span",[e._v(e._s(-1===s.rank?"*":s.rank))]):t("span",[e._v("?")])]),t("td",{staticClass:"scoreaf",staticStyle:{background:"#ffffff"}},[e.likedScoresMap[s.user.userId]?t("Icon",{staticClass:"heart fas",attrs:{type:"md-heart"},on:{click:function(t){return e.setUserLiked(s.user.userId,!1)}}}):t("Icon",{staticClass:"heart",attrs:{type:"md-heart-outline"},on:{click:function(t){return e.setUserLiked(s.user.userId,!0)}}})],1),t("td",{staticClass:"scoretn",staticStyle:{background:"#ffffff"},attrs:{title:s.user.username}},[t("span",{class:["forceWidth",{"unofficial-username":!s.official}]},[e._v(e._s(s.user.username))]),s.user.nickname?t("span",{staticClass:"forceWidth univ"},[e._v(e._s(s.user.nickname))]):e._e()]),t("td",{staticClass:"scorenc"},[e._v(e._s(s.solved))]),e.contestMode===e.CONTEST_MODE.ACM?t("td",{staticClass:"scorett"},[e._v(e._s(e._f("time2minutes")(s.score)))]):t("td",{staticClass:"scorett"},[e._v(e._s(s.score))]),e._l(s.problemResults,(function(i){return t("td",{key:i.problemCode,staticClass:"score_cell"},[e.contestMode===e.CONTEST_MODE.ACM?t("a",[i.numSubmissions+i.numSubmissionsPending>0?t("div",{class:i.css,on:{click:function(t){return e.showAllSubmissions(s.user.username,i.problemCode)}}},[e._v(" "+e._s(e._f("time2minutes")(i.time))+" "),t("span",[e._v(e._s(i.numSubmissions+i.numSubmissionsPending===1?"1 try":i.numSubmissions+i.numSubmissionsPending+" tries"))])]):e._e()]):e.contestMode===e.CONTEST_MODE.OI?t("a",[i.numSubmissions>0?t("div",{class:i.css,on:{click:function(t){return e.showAllSubmissions(s.user.username,i.problemCode)}}},[e._v(" "+e._s(i.score)+" ")]):e._e()]):e.contestMode===e.CONTEST_MODE.IOI?t("a",[i.numSubmissions>0?t("div",{class:i.css,on:{click:function(t){return e.showAllSubmissions(s.user.username,i.problemCode)}}},[e._v(" "+e._s(i.score)+" "),i.time<12e4?t("span",[e._v(e._s(e._f("time2minutes")(i.time))+" min")]):t("span",[e._v(e._s(e._f("time2minutes")(i.time))+" mins")])]):e._e()]):e._e()])}))],2)}))],2)]),t("Modal",{attrs:{width:"60%","footer-hide":"",closable:!1,scrollable:""},model:{value:e.modelSubmissions,callback:function(s){e.modelSubmissions=s},expression:"modelSubmissions"}},[t("SubmissionList",{ref:"SubmissionList",attrs:{size:"small",bannedKey:["problemCode","username","problemTitle"]},on:{"on-sort":e.onSort,"on-cell-click":e.onSubmissionListCellClick}},[[t("div",{staticClass:"float-right footer-pages"},[t("Page",{attrs:{size:"small","show-elevator":"","show-sizer":"",total:e.total,current:e.pageNow,"page-size":e.pageSize,"page-size-opts":e.pageSizeOpts},on:{"update:current":function(s){e.pageNow=s},"on-change":e.onPageChange,"on-page-size-change":e.onPageSizeChange}})],1)]],2)],1),t("Modal",{attrs:{width:"80%","footer-hide":"",closable:!1},model:{value:e.modelSubmissionDetail,callback:function(s){e.modelSubmissionDetail=s},expression:"modelSubmissionDetail"}},[t("SubmissionDetailView",{ref:"SubmissionDetailView"})],1)],1)},n=[function(){var e=this,s=e.$createElement,t=e._self._c||s;return t("colgroup",[t("col",{attrs:{id:"scoresolv"}}),t("col",{attrs:{id:"scoretotal"}})])}],o=(t("d3b7"),t("25f0"),t("5530")),r=t("8336"),a=t("3452"),c=t("bedf"),l=t("c9d9"),u=t("2f62"),m={name:"ContestRankView",components:{SubmissionList:r["a"],SubmissionDetailView:a["default"]},data:function(){return{modelSubmissions:!1,modelSubmissionDetail:!1,showSubmissions:!0,showFlags:!1,displayRank:!0,showOnesAllSubmission:{username:"",problemCode:""},total:0,pageNow:1,pageSize:15,pageSizeOpts:[15,30,50],ascending:"",sortBy:"",targetUsername:"",targetProblemCode:""}},filters:{contestProblemId:function(e){return Object(c["b"])(e)},time2minutes:function(e){return 0===e?"\b":parseInt(e/6e4).toString()}},computed:Object(o["a"])(Object(o["a"])(Object(o["a"])(Object(o["a"])(Object(o["a"])({},Object(u["c"])("user",["isAdmin"])),Object(u["d"])("contest",["contest","problems","likedScoresMap"])),Object(u["c"])("contest",["contestId","contestMode","contestStatus","scores","likedScores","problems"])),Object(u["c"])("user",["profile"])),{},{CONTEST_MODE:function(){return l["a"]}}),methods:{onPageChange:function(e){this.pageNow=e,this.showAllSubmissions(this.targetUsername,this.targetProblemCode)},onPageSizeChange:function(e){this.pageSize=e,this.showAllSubmissions(this.targetUsername,this.targetProblemCode)},onSort:function(e){var s=e.key,t=e.order;"normal"===t?(this.sortBy="",this.ascending=!1):(this.sortBy=s,this.ascending="asc"===t)},setUserLiked:function(e,s){this.$store.commit("contest/setScoreLiked",{userId:e,status:s})},showAllSubmissions:function(e,s){var t=this;this.targetUsername=e,this.targetProblemCode=s;var i=this.contest.features[this.contestStatus===l["c"].RUNNING?"contestRunning":"contestEnd"],n=i.displayPeerSubmission;(n||this.isAdmin||e===this.profile.username)&&this.$refs.SubmissionList.querySubmissionList({username:e,problemCode:s,pageSize:this.pageSize,pageNow:this.pageNow,sortBy:this.sortBy,ascending:this.ascending}).then((function(e){t.total=parseInt(e.totalPage)*t.pageSize,t.modelSubmissions=!0})).catch((function(e){t.$Message.error(e.message)}))},onSubmissionListCellClick:function(e,s){switch(s.key){case"submissionId":case"judgeResult":(e.username===this.username||this.isAdmin||e.isPublic)&&(this.$refs.SubmissionDetailView.query(e.submissionId),this.modelSubmissionDetail=!0);break}}}},d=m,b=t("2877"),f=Object(b["a"])(d,i,n,!1,null,"665fa04e",null);s["default"]=f.exports}}]); +//# sourceMappingURL=chunk-379d1f46.450a701d.js.map \ No newline at end of file diff --git a/js/chunk-379d1f46.450a701d.js.map b/js/chunk-379d1f46.450a701d.js.map new file mode 100644 index 00000000..ab2bc561 --- /dev/null +++ b/js/chunk-379d1f46.450a701d.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///./src/components/submission/SubmissionList.vue?aaff","webpack:///./src/components/submission/SubmissionList.vue?5c55","webpack:///src/components/submission/SubmissionList.vue","webpack:///./src/components/submission/SubmissionList.vue?e170","webpack:///./src/components/submission/SubmissionList.vue","webpack:///./src/views/contest/ContestRankView.vue?609b","webpack:///src/views/contest/ContestRankView.vue","webpack:///./src/views/contest/ContestRankView.vue?88ac","webpack:///./src/views/contest/ContestRankView.vue"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","size","showHeader","noDataText","filteredColumns","submissions","loading","on","onSelectionChange","onSort","onCellClick","scopedSlots","_u","key","fn","ref","row","name","contestId","params","submissionId","_v","_s","problemTitle","problemCode","_f","judgeResult","checkpointNum","$judgedNum","judgeScore","usedTime","usedMemory","gmtCreate","_t","staticRenderFns","components","mixins","props","selection","type","Boolean","default","String","doRejudge","bannedKey","Array","columns","filters","timeformat","timestamp","parseInt","fromnow","problemCodeEncode","store","data","listenedSubmissions","computed","methods","$emit","e","col","event","wsSuccess","JSON","parse","isArray","i","fillCheckpointResults","undefined","index","oneJudge","toString","$length","websock","close","querySubmissionList","Promise","api","resolve","ret","displayCheckpointResult","rows","forEach","o","length","created","filter","width","component","_m","_l","problem","_e","staticStyle","style","acceptNum","submitNum","score","user","userId","class","sortorderswitch","scoreliked","likedScoresMap","scorethisisme","profile","likedScores","rank","$event","setUserLiked","username","official","nickname","solved","contestMode","CONTEST_MODE","ACM","numSubmissions","numSubmissionsPending","css","showAllSubmissions","time","OI","IOI","model","value","callback","$$v","modelSubmissions","expression","onSubmissionListCellClick","total","pageNow","pageSize","pageSizeOpts","onPageChange","onPageSizeChange","modelSubmissionDetail","showSubmissions","showFlags","displayRank","showOnesAllSubmission","ascending","sortBy","targetUsername","targetProblemCode","contestProblemId","time2minutes","order","$store","commit","displayPeerSubmission","isAdmin","$refs","SubmissionList","isPublic","SubmissionDetailView","query"],"mappings":"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","file":"js/chunk-379d1f46.450a701d.js","sourcesContent":["import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/less-loader/dist/cjs.js??ref--14-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubmissionList.vue?vue&type=style&index=0&id=171d3a25&lang=less&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/less-loader/dist/cjs.js??ref--14-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubmissionList.vue?vue&type=style&index=0&id=171d3a25&lang=less&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Card',{staticClass:\"clearfix\",attrs:{\"dis-hover\":\"\",\"padding\":0}},[_c('Table',{staticClass:\"data-table\",attrs:{\"size\":_vm.size,\"show-header\":_vm.showHeader,\"no-data-text\":_vm.noDataText,\"columns\":_vm.filteredColumns,\"data\":_vm.submissions,\"loading\":_vm.loading},on:{\"on-selection-change\":_vm.onSelectionChange,\"on-sort-change\":_vm.onSort,\"on-cell-click\":_vm.onCellClick},scopedSlots:_vm._u([{key:\"id\",fn:function(ref){\nvar row = ref.row;\nreturn [_c('router-link',{attrs:{\"to\":{\n name: _vm.contestId ? 'contest-submission-detail' : 'submission-detail',\n params: { submissionId: row.submissionId }\n }}},[_vm._v(_vm._s(row.submissionId))])]}},{key:\"title\",fn:function(ref){\n var row = ref.row;\nreturn [_c('Tooltip',{attrs:{\"content\":row.problemTitle,\"theme\":\"light\",\"transfer\":\"\"}},[_c('router-link',{attrs:{\"to\":{\n name: _vm.contestId ? 'contest-problem' : 'problem-detail',\n params: { problemCode: row.problemCode }\n }}},[_vm._v(_vm._s(_vm._f(\"problemCodeEncode\")(row.problemCode)))])],1)]}},{key:\"judge-result\",fn:function(ref){\n var row = ref.row;\nreturn [_c('JudgeResult',{attrs:{\"result\":row.judgeResult,\"total\":row.checkpointNum,\"current\":row.$judgedNum}})]}},{key:\"score\",fn:function(ref){\n var row = ref.row;\nreturn [_c('span',[_vm._v(_vm._s(row.judgeScore === null ? '' : row.judgeScore))])]}},{key:\"time\",fn:function(ref){\n var row = ref.row;\nreturn [_c('span',{staticClass:\"time\"},[_vm._v(_vm._s(row.usedTime || 0))])]}},{key:\"mem\",fn:function(ref){\n var row = ref.row;\nreturn [_c('span',{staticClass:\"mem\"},[_vm._v(_vm._s(row.usedMemory || 0))])]}},{key:\"submit-time\",fn:function(ref){\n var row = ref.row;\nreturn [_c('Tooltip',{attrs:{\"content\":_vm._f(\"timeformat\")(row.gmtCreate,'yyyy-MM-DD HH:mm:ss'),\"transfer\":\"\"}},[_c('span',[_vm._v(_vm._s(_vm._f(\"fromnow\")(row.gmtCreate)))])])]}}])}),_c('div',[_vm._t(\"default\")],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubmissionList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubmissionList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SubmissionList.vue?vue&type=template&id=171d3a25&scoped=true&\"\nimport script from \"./SubmissionList.vue?vue&type=script&lang=js&\"\nexport * from \"./SubmissionList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SubmissionList.vue?vue&type=style&index=0&id=171d3a25&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"171d3a25\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container\"},[_c('table',{staticClass:\"scoreboard\"},[_c('colgroup',[_c('col',{attrs:{\"id\":\"scorerank\"}}),(_vm.showFlags)?_c('col',{attrs:{\"id\":\"scoreflags\"}}):_c('col'),_c('col',{attrs:{\"id\":\"scoreusername\"}})]),_vm._m(0),_c('colgroup',[(_vm.showSubmissions)?_vm._l((_vm.problems),function(problem){return _c('col',{key:problem.problemCode,staticClass:\"scoreprob\"})}):_vm._e()],2),_c('thead',[_c('tr',{staticClass:\"scoreheader\"},[_c('th',{staticStyle:{\"padding\":\"0 10px\"},attrs:{\"title\":\"rank\",\"scope\":\"col\"}},[_vm._v(\"RANK\")]),_c('th',{staticStyle:{\"padding\":\"0 10px\"},attrs:{\"title\":\"username\",\"colspan\":\"2\",\"scope\":\"col\"}},[_vm._v(\"PARTICIPANT\")]),_c('th',{staticStyle:{\"padding\":\"0 10px\"},attrs:{\"title\":\"# solved / penalty or score\",\"colspan\":\"2\",\"scope\":\"col\"}},[_vm._v(\"SCORE\")]),_vm._l((_vm.problems),function(problem){return _c('th',{key:problem.problemCode,attrs:{\"title\":'problem ' + problem.problemTitle,\"scope\":\"col\"}},[_c('router-link',{staticClass:\"alike\",attrs:{\"to\":{\n name: 'contest-problem',\n params: { problemCode: problem.problemCode }\n }}},[_c('strong',[_vm._v(_vm._s(_vm._f(\"contestProblemId\")(problem.problemCode)))]),(problem.problemColor)?_c('div',{staticClass:\"circle\",style:((\"background: \" + (problem.problemColor) + \"; margin-left: 5px\"))}):_vm._e()]),_c('div',{staticClass:\"problempoints\"},[_vm._v(_vm._s(problem.acceptNum || '-')+\" / \"+_vm._s(problem.submitNum || '-'))])],1)})],2)]),_c('tbody',[_vm._l((_vm.likedScores),function(score,index){return _c('tr',{key:-score.user.userId,class:{\n sortorderswitch: index === 0,\n scoreliked: _vm.likedScoresMap[score.user.userId],\n scorethisisme: score.user.userId === _vm.profile.userId\n },style:(index === _vm.likedScores.length - 1 ? 'border-bottom: thick solid black;' : ''),attrs:{\"id\":'user:' + score.user.userId}},[_c('td',{staticClass:\"scorepl\"},[(_vm.displayRank)?_c('span',[_vm._v(_vm._s(score.rank === -1 ? '*' : score.rank))]):_c('span',[_vm._v(\"?\")])]),_c('td',{staticClass:\"scoreaf\",staticStyle:{\"background\":\"#ffffff\"}},[(_vm.likedScoresMap[score.user.userId])?_c('Icon',{staticClass:\"heart fas\",attrs:{\"type\":\"md-heart\"},on:{\"click\":function($event){return _vm.setUserLiked(score.user.userId, false)}}}):_c('Icon',{staticClass:\"heart\",attrs:{\"type\":\"md-heart-outline\"},on:{\"click\":function($event){return _vm.setUserLiked(score.user.userId, true)}}})],1),_c('td',{staticClass:\"scoretn\",staticStyle:{\"background\":\"#ffffff\"},attrs:{\"title\":score.user.username}},[_c('span',{class:['forceWidth', { 'unofficial-username': !score.official }]},[_vm._v(_vm._s(score.user.username))]),(score.user.nickname)?_c('span',{staticClass:\"forceWidth univ\"},[_vm._v(_vm._s(score.user.nickname))]):_vm._e()]),_c('td',{staticClass:\"scorenc\"},[_vm._v(_vm._s(score.solved))]),(_vm.contestMode === _vm.CONTEST_MODE.ACM)?_c('td',{staticClass:\"scorett\"},[_vm._v(_vm._s(_vm._f(\"time2minutes\")(score.score)))]):_c('td',{staticClass:\"scorett\"},[_vm._v(_vm._s(score.score))]),_vm._l((score.problemResults),function(problem){return _c('td',{key:problem.problemCode,staticClass:\"score_cell\"},[(_vm.contestMode === _vm.CONTEST_MODE.ACM)?_c('a',[((problem.numSubmissions + problem.numSubmissionsPending) > 0)?_c('div',{class:problem.css,on:{\"click\":function($event){return _vm.showAllSubmissions(score.user.username, problem.problemCode)}}},[_vm._v(\" \"+_vm._s(_vm._f(\"time2minutes\")(problem.time))+\" \"),_c('span',[_vm._v(_vm._s((problem.numSubmissions + problem.numSubmissionsPending) === 1 ? '1 try' : (problem.numSubmissions + problem.numSubmissionsPending) + ' tries'))])]):_vm._e()]):(_vm.contestMode === _vm.CONTEST_MODE.OI)?_c('a',[(problem.numSubmissions > 0)?_c('div',{class:problem.css,on:{\"click\":function($event){return _vm.showAllSubmissions(score.user.username, problem.problemCode)}}},[_vm._v(\" \"+_vm._s(problem.score)+\" \")]):_vm._e()]):(_vm.contestMode === _vm.CONTEST_MODE.IOI)?_c('a',[(problem.numSubmissions > 0)?_c('div',{class:problem.css,on:{\"click\":function($event){return _vm.showAllSubmissions(score.user.username, problem.problemCode)}}},[_vm._v(\" \"+_vm._s(problem.score)+\" \"),_c('span',[_vm._v(_vm._s(_vm._f(\"time2minutes\")(problem.time)))])]):_vm._e()]):_vm._e()])})],2)}),_vm._l((_vm.scores),function(score,index){return _c('tr',{key:score.user.userId,class:{\n sortorderswitch: index === 0,\n scorethisisme: score.user.userId === _vm.profile.userId,\n scoreliked: _vm.likedScoresMap[score.user.userId]\n },attrs:{\"id\":'user:' + score.user.userId}},[_c('td',{staticClass:\"scorepl\"},[(_vm.displayRank)?_c('span',[_vm._v(_vm._s(score.rank === -1 ? '*' : score.rank))]):_c('span',[_vm._v(\"?\")])]),_c('td',{staticClass:\"scoreaf\",staticStyle:{\"background\":\"#ffffff\"}},[(_vm.likedScoresMap[score.user.userId])?_c('Icon',{staticClass:\"heart fas\",attrs:{\"type\":\"md-heart\"},on:{\"click\":function($event){return _vm.setUserLiked(score.user.userId, false)}}}):_c('Icon',{staticClass:\"heart\",attrs:{\"type\":\"md-heart-outline\"},on:{\"click\":function($event){return _vm.setUserLiked(score.user.userId, true)}}})],1),_c('td',{staticClass:\"scoretn\",staticStyle:{\"background\":\"#ffffff\"},attrs:{\"title\":score.user.username}},[_c('span',{class:['forceWidth', { 'unofficial-username': !score.official }]},[_vm._v(_vm._s(score.user.username))]),(score.user.nickname)?_c('span',{staticClass:\"forceWidth univ\"},[_vm._v(_vm._s(score.user.nickname))]):_vm._e()]),_c('td',{staticClass:\"scorenc\"},[_vm._v(_vm._s(score.solved))]),(_vm.contestMode === _vm.CONTEST_MODE.ACM)?_c('td',{staticClass:\"scorett\"},[_vm._v(_vm._s(_vm._f(\"time2minutes\")(score.score)))]):_c('td',{staticClass:\"scorett\"},[_vm._v(_vm._s(score.score))]),_vm._l((score.problemResults),function(problem){return _c('td',{key:problem.problemCode,staticClass:\"score_cell\"},[(_vm.contestMode === _vm.CONTEST_MODE.ACM)?_c('a',[((problem.numSubmissions + problem.numSubmissionsPending) > 0)?_c('div',{class:problem.css,on:{\"click\":function($event){return _vm.showAllSubmissions(score.user.username, problem.problemCode)}}},[_vm._v(\" \"+_vm._s(_vm._f(\"time2minutes\")(problem.time))+\" \"),_c('span',[_vm._v(_vm._s((problem.numSubmissions + problem.numSubmissionsPending) === 1 ? '1 try' : ((problem.numSubmissions + problem.numSubmissionsPending) + \" tries\")))])]):_vm._e()]):(_vm.contestMode === _vm.CONTEST_MODE.OI)?_c('a',[(problem.numSubmissions > 0)?_c('div',{class:problem.css,on:{\"click\":function($event){return _vm.showAllSubmissions(score.user.username, problem.problemCode)}}},[_vm._v(\" \"+_vm._s(problem.score)+\" \")]):_vm._e()]):(_vm.contestMode === _vm.CONTEST_MODE.IOI)?_c('a',[(problem.numSubmissions > 0)?_c('div',{class:problem.css,on:{\"click\":function($event){return _vm.showAllSubmissions(score.user.username, problem.problemCode)}}},[_vm._v(\" \"+_vm._s(problem.score)+\" \"),(problem.time < 120000)?_c('span',[_vm._v(_vm._s(_vm._f(\"time2minutes\")(problem.time))+\" min\")]):_c('span',[_vm._v(_vm._s(_vm._f(\"time2minutes\")(problem.time))+\" mins\")])]):_vm._e()]):_vm._e()])})],2)})],2)]),_c('Modal',{attrs:{\"width\":\"60%\",\"footer-hide\":\"\",\"closable\":false,\"scrollable\":\"\"},model:{value:(_vm.modelSubmissions),callback:function ($$v) {_vm.modelSubmissions=$$v},expression:\"modelSubmissions\"}},[_c('SubmissionList',{ref:\"SubmissionList\",attrs:{\"size\":\"small\",\"bannedKey\":['problemCode', 'username', 'problemTitle']},on:{\"on-sort\":_vm.onSort,\"on-cell-click\":_vm.onSubmissionListCellClick}},[[_c('div',{staticClass:\"float-right footer-pages\"},[_c('Page',{attrs:{\"size\":\"small\",\"show-elevator\":\"\",\"show-sizer\":\"\",\"total\":_vm.total,\"current\":_vm.pageNow,\"page-size\":_vm.pageSize,\"page-size-opts\":_vm.pageSizeOpts},on:{\"update:current\":function($event){_vm.pageNow=$event},\"on-change\":_vm.onPageChange,\"on-page-size-change\":_vm.onPageSizeChange}})],1)]],2)],1),_c('Modal',{attrs:{\"width\":\"80%\",\"footer-hide\":\"\",\"closable\":false},model:{value:(_vm.modelSubmissionDetail),callback:function ($$v) {_vm.modelSubmissionDetail=$$v},expression:\"modelSubmissionDetail\"}},[_c('SubmissionDetailView',{ref:\"SubmissionDetailView\"})],1)],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('colgroup',[_c('col',{attrs:{\"id\":\"scoresolv\"}}),_c('col',{attrs:{\"id\":\"scoretotal\"}})])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContestRankView.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContestRankView.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ContestRankView.vue?vue&type=template&id=665fa04e&scoped=true&\"\nimport script from \"./ContestRankView.vue?vue&type=script&lang=js&\"\nexport * from \"./ContestRankView.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"665fa04e\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""} \ No newline at end of file diff --git a/js/chunk-cfb7922e.bdc6cb21.js b/js/chunk-cfb7922e.bdc6cb21.js new file mode 100644 index 00000000..663b07bd --- /dev/null +++ b/js/chunk-cfb7922e.bdc6cb21.js @@ -0,0 +1,2 @@ +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-cfb7922e"],{"129f":function(t,e){t.exports=Object.is||function(t,e){return t===e?0!==t||1/t===1/e:t!=t&&e!=e}},"2ca0":function(t,e,s){"use strict";var n=s("23e7"),a=s("06cf").f,o=s("50c4"),i=s("5a34"),r=s("1d80"),c=s("ab13"),u=s("c430"),l="".startsWith,d=Math.min,p=c("startsWith"),f=!u&&!p&&!!function(){var t=a(String.prototype,"startsWith");return t&&!t.writable}();n({target:"String",proto:!0,forced:!f&&!p},{startsWith:function(t){var e=String(r(this));i(t);var s=o(d(arguments.length>1?arguments[1]:void 0,e.length)),n=String(t);return l?l.call(e,n,s):e.slice(s,s+n.length)===n}})},"309f":function(t,e,s){},"666e":function(t,e,s){"use strict";s.r(e);var n=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"container"},[t.spinShow?s("div",{staticClass:"spin-container center"},[s("Spin",{attrs:{size:"large",fix:""}})],1):s("Row",[s("Col",{attrs:{span:"18"}},[s("Card",{staticStyle:{"margin-right":"30px"},attrs:{"dis-hover":""}},[s("div",{staticClass:"profile-header"},[s("div",{staticClass:"profile-header__content"},[s("GroupCard",{attrs:{group:t.group}})],1)]),s("div",{staticClass:"profile-content"},[s("Tabs",{attrs:{value:"announcement",animated:!1},on:{"on-click":t.onClickTabs}},[s("TabPane",{attrs:{label:"Announcement",name:"announcement"}},[t.group.markdown?s("Markdown",{attrs:{value:t.group.markdown}}):t._e()],1),s("TabPane",{attrs:{label:"Contest",name:"contest"}},[s("ContestInGroup",{ref:"contestList"})],1)],1)],1)])],1),s("Col",{attrs:{span:"6"}},[s("Card",{attrs:{"dis-hover":"",title:"Members ("+t.members.length+")",padding:0}},[s("div",{staticClass:"card-extra",attrs:{slot:"extra"},slot:"extra"},[s("Input",{attrs:{placeholder:"Find",suffix:"ios-search"},model:{value:t.search,callback:function(e){t.search=e},expression:"search"}})],1),s("Scroll",{attrs:{height:500}},[s("List",{attrs:{size:"small"}},t._l(t.members,(function(t){return s("ListItem",{key:t.userId},[s("UserCard",{attrs:{email:t.email,username:t.username,nickname:t.nickname}})],1)})),1)],1)],1)],1)],1)],1)},a=[],o=(s("4de4"),s("d3b7"),s("ac1f"),s("841c"),s("2ca0"),s("14b6")),i=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",[s("ContestList",{ref:"contestList"}),s("div",{staticClass:"float-left footer-tools"},[s("Select",{staticStyle:{width:"100px"},attrs:{size:"small",transfer:""},model:{value:t.selectContestMode,callback:function(e){t.selectContestMode=e},expression:"selectContestMode"}},[s("Option",{attrs:{value:"all",label:"All"}}),t._l(t.CONTEST_MODE,(function(t){return s("Option",{key:t,attrs:{value:t,label:t.toUpperCase()}})}))],2)],1),s("div",{staticClass:"float-right footer-pages"},[s("Page",{attrs:{size:"small","show-elevator":"","show-sizer":"",transfer:"",total:t.total,current:t.pageNow,"page-size":t.pageSize,"page-size-opts":t.pageSizeOpts},on:{"update:current":function(e){t.pageNow=e},"on-change":t.onPageChange,"on-page-size-change":t.onPageSizeChange}})],1)],1)},r=[],c=s("adf1"),u=s("c9d9"),l={name:"ContestInGroup",components:{ContestList:c["a"]},data:function(){return{pageNow:1,pageSize:15,pageSizeOpts:[15,30,50,100],total:0,selectContestMode:"all",groupId:void 0}},methods:{onPageChange:function(t){this.pageNow=t},onPageSizeChange:function(t){this.pageSize=t},onSort:function(t){var e=t.key,s=t.order;"normal"===s?(this.sortBy="",this.ascending=!1):(this.sortBy=e,this.ascending="asc"===s)},setGroupId:function(t){this.groupId=t},getContestList:function(){var t=this;void 0!==this.groupId&&null!==this.groupId?(this.$refs.contestList.getContestList({groupId:this.groupId,pageNow:this.pageNow,pageSize:this.pageSize,mode:"all"===this.selectContestMode?"":this.selectContestMode}).then((function(e){t.total=parseInt(e.totalPage)*t.pageSize})).catch((function(e){t.$Message.error(e.message)})),this.$refs.contestList.getParticipatedContests().catch((function(e){t.$Message.error(e.message)}))):this.$Message.error("Invalid Group ID")}},watch:{pageSize:function(){this.getContestList()},pageNow:function(){this.getContestList()},sort:function(){this.getContestList()},ascending:function(){this.getContestList()},selectContestMode:function(){this.getContestList()}},computed:{CONTEST_MODE:function(){return u["a"]}}},d=l,p=s("2877"),f=Object(p["a"])(d,i,r,!1,null,"6df523bf",null),g=f.exports,h=s("1af7"),m=s("2957"),v=s("7c15"),C={name:"GroupDetailView",components:{Markdown:o["a"],ContestInGroup:g,UserCard:m["a"],GroupCard:h["a"]},data:function(){return{group:{owner:{},members:[]},spinShow:!1,search:""}},methods:{getGroupDetail:function(t){var e=this;this.spinShow=!0,v["a"].getGroupDetail({groupId:t}).then((function(t){e.group=t})).catch((function(t){e.$Message.error(t.message)})).finally((function(){e.spinShow=!1}))},getContestList:function(){this.$refs.contestList.setGroupId(this.groupId),this.$refs.contestList.getContestList()},onClickTabs:function(t){"contest"===t&&this.getContestList()}},computed:{groupId:function(){return this.$route.params.groupId},members:function(){var t=this;return""===this.search?this.group.members:this.group.members.filter((function(e){return String(e.userId)===t.search||e.username.startsWith(t.search)||e.nickname.startsWith(t.search)}))}},mounted:function(){this.getGroupDetail(this.groupId)}},S=C,_=(s("fa81"),Object(p["a"])(S,n,a,!1,null,"a2e4521a",null));e["default"]=_.exports},"841c":function(t,e,s){"use strict";var n=s("d784"),a=s("825a"),o=s("1d80"),i=s("129f"),r=s("14c3");n("search",1,(function(t,e,s){return[function(e){var s=o(this),n=void 0==e?void 0:e[t];return void 0!==n?n.call(e,s):new RegExp(e)[t](String(s))},function(t){var n=s(e,t,this);if(n.done)return n.value;var o=a(t),c=String(this),u=o.lastIndex;i(u,0)||(o.lastIndex=0);var l=r(o,c);return i(o.lastIndex,u)||(o.lastIndex=u),null===l?-1:l.index}]}))},8425:function(t,e,s){},ab1e:function(t,e,s){"use strict";var n=s("8425"),a=s.n(n);a.a},adf1:function(t,e,s){"use strict";var n=function(){var t=this,e=t.$createElement,s=t._self._c||e;return t.spinShow?s("div",{staticClass:"spin-container center"},[s("Spin",{attrs:{size:"large",fix:""}})],1):s("div",[s("List",{attrs:{size:"large","item-layout":"vertical"}},t._l(t.contestList,(function(e){return s("ListItem",{key:e.contestId},[s("div",{staticStyle:{"margin-right":"10px"},attrs:{slot:"extra"},slot:"extra"},[t.participatedContest.includes(e.contestId)?s("div",{staticStyle:{color:"#5cb85c"}},[s("Icon",{attrs:{type:"md-checkmark"}}),s("strong",[t._v(" Participated")])],1):t._e()]),s("ListItemMeta",[s("div",{staticClass:"contest__date numbox",attrs:{slot:"avatar"},slot:"avatar"},[s("div",{staticClass:"numbox__num__large"},[t._v(t._s(t._f("timeformat")(e.gmtStart,"DD")))]),s("div",{staticClass:"numbox__text"},[t._v(t._s(t._f("timeformat")(e.gmtStart,"yyyy-MM")))])]),s("div",{attrs:{slot:"title"},slot:"title"},[s("router-link",{attrs:{to:{name:"contest-detail",params:{contestId:e.contestId}},custom:""},scopedSlots:t._u([{key:"default",fn:function(n){var a=n.href,o=n.navigate;return[s("a",{staticClass:"contest__title",attrs:{href:a},on:{click:o}},[t._v(t._s(e.contestTitle))])]}}],null,!0)}),e.features.openness===t.CONTEST_OPENNESS.PRIVATE?[t.participatedContest.includes(e.contestId)?s("Icon",{attrs:{type:"ios-unlock",color:"#d9534f",size:"19"}}):s("Icon",{attrs:{type:"md-lock",color:"#d9534f",size:"19"}})]:e.features.openness===t.CONTEST_OPENNESS.PROTECTED?[t.participatedContest.includes(e.contestId)?s("Icon",{attrs:{type:"ios-unlock",color:"orange",size:"19"}}):s("Icon",{attrs:{type:"md-lock",color:"orange",size:"19"}})]:t._e()],2),s("ul",{staticClass:"ivu-list-item-action",attrs:{slot:"description"},slot:"description"},[s("li",[s("div",{class:"contest-type--"+e.features.mode},[s("Icon",{attrs:{type:"md-bulb",color:"#fff"}}),t._v(" "),s("span",[t._v(t._s(e.features.mode.toUpperCase()))])],1)]),s("li",[t._v(" "+t._s(t._f("timeformat")(e.gmtStart,"HH:mm:ss"))+" ")]),s("li",[s("Icon",{attrs:{type:"ios-time-outline"}}),t._v(" "+t._s(t._f("time2hour")(e.gmtEnd-e.gmtStart))+" ")],1),s("li",[s("Icon",{attrs:{type:"ios-people-outline"}}),t._v(" "+t._s(e.participantNum)+" ")],1),s("li",[t.$store.state.now>e.gmtEnd?s("Tag",{attrs:{color:"green"}},[t._v("Finished")]):e.gmtStarte?r["c"].UPCOMING:t.contestEndTime 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return nativeStartsWith\n ? nativeStartsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container\"},[(_vm.spinShow)?_c('div',{staticClass:\"spin-container center\"},[_c('Spin',{attrs:{\"size\":\"large\",\"fix\":\"\"}})],1):_c('Row',[_c('Col',{attrs:{\"span\":\"18\"}},[_c('Card',{staticStyle:{\"margin-right\":\"30px\"},attrs:{\"dis-hover\":\"\"}},[_c('div',{staticClass:\"profile-header\"},[_c('div',{staticClass:\"profile-header__content\"},[_c('GroupCard',{attrs:{\"group\":_vm.group}})],1)]),_c('div',{staticClass:\"profile-content\"},[_c('Tabs',{attrs:{\"value\":\"announcement\",\"animated\":false},on:{\"on-click\":_vm.onClickTabs}},[_c('TabPane',{attrs:{\"label\":\"Announcement\",\"name\":\"announcement\"}},[(_vm.group.markdown)?_c('Markdown',{attrs:{\"value\":_vm.group.markdown}}):_vm._e()],1),_c('TabPane',{attrs:{\"label\":\"Contest\",\"name\":\"contest\"}},[_c('ContestInGroup',{ref:\"contestList\"})],1)],1)],1)])],1),_c('Col',{attrs:{\"span\":\"6\"}},[_c('Card',{attrs:{\"dis-hover\":\"\",\"title\":(\"Members (\" + (_vm.members.length) + \")\"),\"padding\":0}},[_c('div',{staticClass:\"card-extra\",attrs:{\"slot\":\"extra\"},slot:\"extra\"},[_c('Input',{attrs:{\"placeholder\":\"Find\",\"suffix\":\"ios-search\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1),_c('Scroll',{attrs:{\"height\":500}},[_c('List',{attrs:{\"size\":\"small\"}},_vm._l((_vm.members),function(member){return _c('ListItem',{key:member.userId},[_c('UserCard',{attrs:{\"email\":member.email,\"username\":member.username,\"nickname\":member.nickname}})],1)}),1)],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('ContestList',{ref:\"contestList\"}),_c('div',{staticClass:\"float-left footer-tools\"},[_c('Select',{staticStyle:{\"width\":\"100px\"},attrs:{\"size\":\"small\",\"transfer\":\"\"},model:{value:(_vm.selectContestMode),callback:function ($$v) {_vm.selectContestMode=$$v},expression:\"selectContestMode\"}},[_c('Option',{attrs:{\"value\":\"all\",\"label\":\"All\"}}),_vm._l((_vm.CONTEST_MODE),function(mode){return _c('Option',{key:mode,attrs:{\"value\":mode,\"label\":mode.toUpperCase()}})})],2)],1),_c('div',{staticClass:\"float-right footer-pages\"},[_c('Page',{attrs:{\"size\":\"small\",\"show-elevator\":\"\",\"show-sizer\":\"\",\"transfer\":\"\",\"total\":_vm.total,\"current\":_vm.pageNow,\"page-size\":_vm.pageSize,\"page-size-opts\":_vm.pageSizeOpts},on:{\"update:current\":function($event){_vm.pageNow=$event},\"on-change\":_vm.onPageChange,\"on-page-size-change\":_vm.onPageSizeChange}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContestInGroup.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContestInGroup.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ContestInGroup.vue?vue&type=template&id=6df523bf&scoped=true&\"\nimport script from \"./ContestInGroup.vue?vue&type=script&lang=js&\"\nexport * from \"./ContestInGroup.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6df523bf\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GroupDetailView.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GroupDetailView.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./GroupDetailView.vue?vue&type=template&id=a2e4521a&scoped=true&\"\nimport script from \"./GroupDetailView.vue?vue&type=script&lang=js&\"\nexport * from \"./GroupDetailView.vue?vue&type=script&lang=js&\"\nimport style0 from \"./GroupDetailView.vue?vue&type=style&index=0&id=a2e4521a&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a2e4521a\",\n null\n \n)\n\nexport default component.exports","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar sameValue = require('../internals/same-value');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@search logic\nfixRegExpWellKnownSymbolLogic('search', 1, function (SEARCH, nativeSearch, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = requireObjectCoercible(this);\n var searcher = regexp == undefined ? undefined : regexp[SEARCH];\n return searcher !== undefined ? searcher.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search\n function (regexp) {\n var res = maybeCallNative(nativeSearch, regexp, this);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/less-loader/dist/cjs.js??ref--14-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContestList.vue?vue&type=style&index=0&id=00818a92&lang=less&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/less-loader/dist/cjs.js??ref--14-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContestList.vue?vue&type=style&index=0&id=00818a92&lang=less&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.spinShow)?_c('div',{staticClass:\"spin-container center\"},[_c('Spin',{attrs:{\"size\":\"large\",\"fix\":\"\"}})],1):_c('div',[_c('List',{attrs:{\"size\":\"large\",\"item-layout\":\"vertical\"}},_vm._l((_vm.contestList),function(contest){return _c('ListItem',{key:contest.contestId},[_c('div',{staticStyle:{\"margin-right\":\"10px\"},attrs:{\"slot\":\"extra\"},slot:\"extra\"},[(_vm.participatedContest.includes(contest.contestId))?_c('div',{staticStyle:{\"color\":\"#5cb85c\"}},[_c('Icon',{attrs:{\"type\":\"md-checkmark\"}}),_c('strong',[_vm._v(\" Participated\")])],1):_vm._e()]),_c('ListItemMeta',[_c('div',{staticClass:\"contest__date numbox\",attrs:{\"slot\":\"avatar\"},slot:\"avatar\"},[_c('div',{staticClass:\"numbox__num__large\"},[_vm._v(_vm._s(_vm._f(\"timeformat\")(contest.gmtStart,'DD')))]),_c('div',{staticClass:\"numbox__text\"},[_vm._v(_vm._s(_vm._f(\"timeformat\")(contest.gmtStart,'yyyy-MM')))])]),_c('div',{attrs:{\"slot\":\"title\"},slot:\"title\"},[_c('router-link',{attrs:{\"to\":{\n name: 'contest-detail',\n params: { contestId: contest.contestId }\n },\"custom\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\n var href = ref.href;\n var navigate = ref.navigate;\nreturn [_c('a',{staticClass:\"contest__title\",attrs:{\"href\":href},on:{\"click\":navigate}},[_vm._v(_vm._s(contest.contestTitle))])]}}],null,true)}),(contest.features.openness === _vm.CONTEST_OPENNESS.PRIVATE)?[(_vm.participatedContest.includes(contest.contestId))?_c('Icon',{attrs:{\"type\":\"ios-unlock\",\"color\":\"#d9534f\",\"size\":\"19\"}}):_c('Icon',{attrs:{\"type\":\"md-lock\",\"color\":\"#d9534f\",\"size\":\"19\"}})]:(contest.features.openness === _vm.CONTEST_OPENNESS.PROTECTED)?[(_vm.participatedContest.includes(contest.contestId))?_c('Icon',{attrs:{\"type\":\"ios-unlock\",\"color\":\"orange\",\"size\":\"19\"}}):_c('Icon',{attrs:{\"type\":\"md-lock\",\"color\":\"orange\",\"size\":\"19\"}})]:_vm._e()],2),_c('ul',{staticClass:\"ivu-list-item-action\",attrs:{\"slot\":\"description\"},slot:\"description\"},[_c('li',[_c('div',{class:(\"contest-type--\" + (contest.features.mode))},[_c('Icon',{attrs:{\"type\":\"md-bulb\",\"color\":\"#fff\"}}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(contest.features.mode.toUpperCase()))])],1)]),_c('li',[_vm._v(\" \"+_vm._s(_vm._f(\"timeformat\")(contest.gmtStart,'HH:mm:ss'))+\" \")]),_c('li',[_c('Icon',{attrs:{\"type\":\"ios-time-outline\"}}),_vm._v(\" \"+_vm._s(_vm._f(\"time2hour\")((contest.gmtEnd - contest.gmtStart)))+\" \")],1),_c('li',[_c('Icon',{attrs:{\"type\":\"ios-people-outline\"}}),_vm._v(\" \"+_vm._s(contest.participantNum)+\" \")],1),_c('li',[(_vm.$store.state.now > contest.gmtEnd)?_c('Tag',{attrs:{\"color\":\"green\"}},[_vm._v(\"Finished\")]):(contest.gmtStart < _vm.$store.state.now && _vm.$store.state.now < contest.gmtEnd)?_c('Tag',{attrs:{\"color\":\"gold\"}},[_vm._v(\" Running \")]):_vm._e()],1)])])],1)}),1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContestList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContestList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ContestList.vue?vue&type=template&id=00818a92&scoped=true&\"\nimport script from \"./ContestList.vue?vue&type=script&lang=js&\"\nexport * from \"./ContestList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ContestList.vue?vue&type=style&index=0&id=00818a92&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"00818a92\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/less-loader/dist/cjs.js??ref--14-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GroupDetailView.vue?vue&type=style&index=0&id=a2e4521a&lang=less&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/less-loader/dist/cjs.js??ref--14-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GroupDetailView.vue?vue&type=style&index=0&id=a2e4521a&lang=less&scoped=true&\""],"sourceRoot":""} \ No newline at end of file diff --git a/js/chunk-e1c338fe.46bae6ea.js b/js/chunk-e1c338fe.46bae6ea.js new file mode 100644 index 00000000..bd1fe945 --- /dev/null +++ b/js/chunk-e1c338fe.46bae6ea.js @@ -0,0 +1,2 @@ +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-e1c338fe"],{"0f48":function(t,e,s){"use strict";s.r(e);var n=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"container"},[t.mygroups.length>0?s("Tabs",{attrs:{animated:!1,type:"card"},model:{value:t.groupId,callback:function(e){t.groupId=e},expression:"groupId"}},[s("TabPane",{attrs:{name:"all",label:"All"}}),t._l(t.mygroups,(function(t){return s("TabPane",{key:t.groupId,attrs:{name:t.groupId,label:t.groupId+": "+t.title}})}))],2):t._e(),s("Row",[s("Col",{attrs:{span:"18"}},[s("div",{staticStyle:{"margin-right":"20px"}},[s("Card",{attrs:{title:"Contest List",padding:0,"dis-hover":""}},[s("Select",{staticStyle:{width:"100px"},attrs:{slot:"extra",size:"small"},slot:"extra",model:{value:t.selectContestMode,callback:function(e){t.selectContestMode=e},expression:"selectContestMode"}},[s("Option",{attrs:{value:"all",label:"All"}}),t._l(t.CONTEST_MODE,(function(t){return s("Option",{key:t,attrs:{value:t,label:t.toUpperCase()}})}))],2),s("ContestList",{ref:"contestList"}),s("div",{staticClass:"float-right footer-pages"},[s("Page",{attrs:{size:"small","show-elevator":"","show-sizer":"",total:t.total,current:t.pageNow,"page-size":t.pageSize,"page-size-opts":t.pageSizeOpts},on:{"update:current":function(e){t.pageNow=e},"on-change":t.onPageChange,"on-page-size-change":t.onPageSizeChange}})],1)],1)],1)]),s("Col",{attrs:{span:"6"}},[t.upcomingContest?s("Card",{staticStyle:{"margin-bottom":"30px"},attrs:{title:"Upcoming",padding:0,"dis-hover":""}},[s("div",{staticClass:"upcoming-title",on:{click:function(e){return t.toContestDetail(t.upcomingContest.contestId)}}},[t._v(" "+t._s(t.upcomingContest.contestTitle)+" ")]),s("div",{staticClass:"upcoming-countdown"},[s("span",[t._v(t._s(t.countdown))])])]):t._e()],1)],1)],1)},o=[],i=s("5530"),a=s("c1df"),r=s.n(a),c=s("2f62"),u=s("bedf"),l=s("7c15"),d=s("c9d9"),p=s("e325"),g=s("adf1"),f="contest#groupId";function m(){return localStorage.getItem(f)||void 0}function h(t){localStorage.setItem(f,t)}var v={mixins:[p["a"]],components:{ContestList:g["a"]},data:function(){return{mygroups:[],upcomingContest:{},selectContestMode:"all"}},computed:Object(i["a"])(Object(i["a"])({},Object(c["d"])(["now"])),{},{CONTEST_MODE:function(){return d["a"]},countdown:function(){var t=r()(new Date(parseInt(this.upcomingContest.gmtStart)));if(t>this.now){var e=r.a.duration(t.diff(this.now,"seconds"),"seconds");return e.weeks()>0?e.humanize():Object(u["c"])(t-this.now)}return"\b"},groupId:{get:function(){return this.$route.query.groupId||m()||"all"},set:function(t){var e;h(t),e=this.$route.query.groupId===t||void 0===this.$route.query.groupId&&"all"===t?this.$route.query:{groupId:"all"===t?void 0:t},this.$router.push({query:e})}}}),methods:{getMyGroupList:function(){var t=this,e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];l["a"].getMyGroupList().then((function(e){t.mygroups=e})).catch((function(s){e&&t.$Message.error(s.message)}))},getContestList:function(t){var e=this,s=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.$refs.contestList.getContestList({pageNow:this.pageNow,pageSize:this.pageSize,mode:"all"===this.selectContestMode?"":this.selectContestMode,groupId:"all"===t?void 0:t}).then((function(t){e.total=parseInt(t.totalPage)*e.pageSize})).catch((function(t){s&&e.$Message.error(t.message)})),this.$refs.contestList.getParticipatedContests().catch((function(t){s&&e.$Message.error(t.message)}))},getUpcomingContest:function(t){var e=this,s=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];l["a"].getUpcomingContest({groupId:"all"===t?void 0:t}).then((function(t){e.upcomingContest=t})).catch((function(t){s&&e.$Message.error(t.message)}))}},watch:{selectContestMode:function(){this.getContestList(this.groupId)},$route:function(){this.getContestList(this.groupId),this.getUpcomingContest(this.groupId)}},mounted:function(){this.getMyGroupList(!1),this.getContestList(this.groupId,!1),this.getUpcomingContest(this.groupId,!1)}},C=v,_=(s("4bbb"),s("2877")),I=Object(_["a"])(C,n,o,!1,null,"72098daf",null);e["default"]=I.exports},"4bbb":function(t,e,s){"use strict";var n=s("f019"),o=s.n(n);o.a},8425:function(t,e,s){},ab1e:function(t,e,s){"use strict";var n=s("8425"),o=s.n(n);o.a},adf1:function(t,e,s){"use strict";var n=function(){var t=this,e=t.$createElement,s=t._self._c||e;return t.spinShow?s("div",{staticClass:"spin-container center"},[s("Spin",{attrs:{size:"large",fix:""}})],1):s("div",[s("List",{attrs:{size:"large","item-layout":"vertical"}},t._l(t.contestList,(function(e){return s("ListItem",{key:e.contestId},[s("div",{staticStyle:{"margin-right":"10px"},attrs:{slot:"extra"},slot:"extra"},[t.participatedContest.includes(e.contestId)?s("div",{staticStyle:{color:"#5cb85c"}},[s("Icon",{attrs:{type:"md-checkmark"}}),s("strong",[t._v(" Participated")])],1):t._e()]),s("ListItemMeta",[s("div",{staticClass:"contest__date numbox",attrs:{slot:"avatar"},slot:"avatar"},[s("div",{staticClass:"numbox__num__large"},[t._v(t._s(t._f("timeformat")(e.gmtStart,"DD")))]),s("div",{staticClass:"numbox__text"},[t._v(t._s(t._f("timeformat")(e.gmtStart,"yyyy-MM")))])]),s("div",{attrs:{slot:"title"},slot:"title"},[s("router-link",{attrs:{to:{name:"contest-detail",params:{contestId:e.contestId}},custom:""},scopedSlots:t._u([{key:"default",fn:function(n){var o=n.href,i=n.navigate;return[s("a",{staticClass:"contest__title",attrs:{href:o},on:{click:i}},[t._v(t._s(e.contestTitle))])]}}],null,!0)}),e.features.openness===t.CONTEST_OPENNESS.PRIVATE?[t.participatedContest.includes(e.contestId)?s("Icon",{attrs:{type:"ios-unlock",color:"#d9534f",size:"19"}}):s("Icon",{attrs:{type:"md-lock",color:"#d9534f",size:"19"}})]:e.features.openness===t.CONTEST_OPENNESS.PROTECTED?[t.participatedContest.includes(e.contestId)?s("Icon",{attrs:{type:"ios-unlock",color:"orange",size:"19"}}):s("Icon",{attrs:{type:"md-lock",color:"orange",size:"19"}})]:t._e()],2),s("ul",{staticClass:"ivu-list-item-action",attrs:{slot:"description"},slot:"description"},[s("li",[s("div",{class:"contest-type--"+e.features.mode},[s("Icon",{attrs:{type:"md-bulb",color:"#fff"}}),t._v(" "),s("span",[t._v(t._s(e.features.mode.toUpperCase()))])],1)]),s("li",[t._v(" "+t._s(t._f("timeformat")(e.gmtStart,"HH:mm:ss"))+" ")]),s("li",[s("Icon",{attrs:{type:"ios-time-outline"}}),t._v(" "+t._s(t._f("time2hour")(e.gmtEnd-e.gmtStart))+" ")],1),s("li",[s("Icon",{attrs:{type:"ios-people-outline"}}),t._v(" "+t._s(e.participantNum)+" ")],1),s("li",[t.$store.state.now>e.gmtEnd?s("Tag",{attrs:{color:"green"}},[t._v("Finished")]):e.gmtStarte?r["c"].UPCOMING:t.contestEndTime 0)?_c('Tabs',{attrs:{\"animated\":false,\"type\":\"card\"},model:{value:(_vm.groupId),callback:function ($$v) {_vm.groupId=$$v},expression:\"groupId\"}},[_c('TabPane',{attrs:{\"name\":\"all\",\"label\":\"All\"}}),_vm._l((_vm.mygroups),function(group){return _c('TabPane',{key:group.groupId,attrs:{\"name\":group.groupId,\"label\":((group.groupId) + \": \" + (group.title))}})})],2):_vm._e(),_c('Row',[_c('Col',{attrs:{\"span\":\"18\"}},[_c('div',{staticStyle:{\"margin-right\":\"20px\"}},[_c('Card',{attrs:{\"title\":\"Contest List\",\"padding\":0,\"dis-hover\":\"\"}},[_c('Select',{staticStyle:{\"width\":\"100px\"},attrs:{\"slot\":\"extra\",\"size\":\"small\"},slot:\"extra\",model:{value:(_vm.selectContestMode),callback:function ($$v) {_vm.selectContestMode=$$v},expression:\"selectContestMode\"}},[_c('Option',{attrs:{\"value\":\"all\",\"label\":\"All\"}}),_vm._l((_vm.CONTEST_MODE),function(mode){return _c('Option',{key:mode,attrs:{\"value\":mode,\"label\":mode.toUpperCase()}})})],2),_c('ContestList',{ref:\"contestList\"}),_c('div',{staticClass:\"float-right footer-pages\"},[_c('Page',{attrs:{\"size\":\"small\",\"show-elevator\":\"\",\"show-sizer\":\"\",\"total\":_vm.total,\"current\":_vm.pageNow,\"page-size\":_vm.pageSize,\"page-size-opts\":_vm.pageSizeOpts},on:{\"update:current\":function($event){_vm.pageNow=$event},\"on-change\":_vm.onPageChange,\"on-page-size-change\":_vm.onPageSizeChange}})],1)],1)],1)]),_c('Col',{attrs:{\"span\":\"6\"}},[(_vm.upcomingContest)?_c('Card',{staticStyle:{\"margin-bottom\":\"30px\"},attrs:{\"title\":\"Upcoming\",\"padding\":0,\"dis-hover\":\"\"}},[_c('div',{staticClass:\"upcoming-title\",on:{\"click\":function($event){return _vm.toContestDetail(_vm.upcomingContest.contestId)}}},[_vm._v(\" \"+_vm._s(_vm.upcomingContest.contestTitle)+\" \")]),_c('div',{staticClass:\"upcoming-countdown\"},[_c('span',[_vm._v(_vm._s(_vm.countdown))])])]):_vm._e()],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContestListView.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContestListView.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ContestListView.vue?vue&type=template&id=72098daf&scoped=true&\"\nimport script from \"./ContestListView.vue?vue&type=script&lang=js&\"\nexport * from \"./ContestListView.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ContestListView.vue?vue&type=style&index=0&id=72098daf&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"72098daf\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/less-loader/dist/cjs.js??ref--14-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContestListView.vue?vue&type=style&index=0&id=72098daf&lang=less&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/less-loader/dist/cjs.js??ref--14-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContestListView.vue?vue&type=style&index=0&id=72098daf&lang=less&scoped=true&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/less-loader/dist/cjs.js??ref--14-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContestList.vue?vue&type=style&index=0&id=00818a92&lang=less&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/less-loader/dist/cjs.js??ref--14-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContestList.vue?vue&type=style&index=0&id=00818a92&lang=less&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.spinShow)?_c('div',{staticClass:\"spin-container center\"},[_c('Spin',{attrs:{\"size\":\"large\",\"fix\":\"\"}})],1):_c('div',[_c('List',{attrs:{\"size\":\"large\",\"item-layout\":\"vertical\"}},_vm._l((_vm.contestList),function(contest){return _c('ListItem',{key:contest.contestId},[_c('div',{staticStyle:{\"margin-right\":\"10px\"},attrs:{\"slot\":\"extra\"},slot:\"extra\"},[(_vm.participatedContest.includes(contest.contestId))?_c('div',{staticStyle:{\"color\":\"#5cb85c\"}},[_c('Icon',{attrs:{\"type\":\"md-checkmark\"}}),_c('strong',[_vm._v(\" Participated\")])],1):_vm._e()]),_c('ListItemMeta',[_c('div',{staticClass:\"contest__date numbox\",attrs:{\"slot\":\"avatar\"},slot:\"avatar\"},[_c('div',{staticClass:\"numbox__num__large\"},[_vm._v(_vm._s(_vm._f(\"timeformat\")(contest.gmtStart,'DD')))]),_c('div',{staticClass:\"numbox__text\"},[_vm._v(_vm._s(_vm._f(\"timeformat\")(contest.gmtStart,'yyyy-MM')))])]),_c('div',{attrs:{\"slot\":\"title\"},slot:\"title\"},[_c('router-link',{attrs:{\"to\":{\n name: 'contest-detail',\n params: { contestId: contest.contestId }\n },\"custom\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\n var href = ref.href;\n var navigate = ref.navigate;\nreturn [_c('a',{staticClass:\"contest__title\",attrs:{\"href\":href},on:{\"click\":navigate}},[_vm._v(_vm._s(contest.contestTitle))])]}}],null,true)}),(contest.features.openness === _vm.CONTEST_OPENNESS.PRIVATE)?[(_vm.participatedContest.includes(contest.contestId))?_c('Icon',{attrs:{\"type\":\"ios-unlock\",\"color\":\"#d9534f\",\"size\":\"19\"}}):_c('Icon',{attrs:{\"type\":\"md-lock\",\"color\":\"#d9534f\",\"size\":\"19\"}})]:(contest.features.openness === _vm.CONTEST_OPENNESS.PROTECTED)?[(_vm.participatedContest.includes(contest.contestId))?_c('Icon',{attrs:{\"type\":\"ios-unlock\",\"color\":\"orange\",\"size\":\"19\"}}):_c('Icon',{attrs:{\"type\":\"md-lock\",\"color\":\"orange\",\"size\":\"19\"}})]:_vm._e()],2),_c('ul',{staticClass:\"ivu-list-item-action\",attrs:{\"slot\":\"description\"},slot:\"description\"},[_c('li',[_c('div',{class:(\"contest-type--\" + (contest.features.mode))},[_c('Icon',{attrs:{\"type\":\"md-bulb\",\"color\":\"#fff\"}}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(contest.features.mode.toUpperCase()))])],1)]),_c('li',[_vm._v(\" \"+_vm._s(_vm._f(\"timeformat\")(contest.gmtStart,'HH:mm:ss'))+\" \")]),_c('li',[_c('Icon',{attrs:{\"type\":\"ios-time-outline\"}}),_vm._v(\" \"+_vm._s(_vm._f(\"time2hour\")((contest.gmtEnd - contest.gmtStart)))+\" \")],1),_c('li',[_c('Icon',{attrs:{\"type\":\"ios-people-outline\"}}),_vm._v(\" \"+_vm._s(contest.participantNum)+\" \")],1),_c('li',[(_vm.$store.state.now > contest.gmtEnd)?_c('Tag',{attrs:{\"color\":\"green\"}},[_vm._v(\"Finished\")]):(contest.gmtStart < _vm.$store.state.now && _vm.$store.state.now < contest.gmtEnd)?_c('Tag',{attrs:{\"color\":\"gold\"}},[_vm._v(\" Running \")]):_vm._e()],1)])])],1)}),1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContestList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContestList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ContestList.vue?vue&type=template&id=00818a92&scoped=true&\"\nimport script from \"./ContestList.vue?vue&type=script&lang=js&\"\nexport * from \"./ContestList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ContestList.vue?vue&type=style&index=0&id=00818a92&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"00818a92\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""} \ No newline at end of file From 2e3b64f8fcf6e6852f2f8f8b924394bf7a259e73 Mon Sep 17 00:00:00 2001 From: zhr2001 <2641489927@qq.com> Date: Thu, 27 May 2021 18:14:43 +0800 Subject: [PATCH 14/23] Revert "Revert "Automated deployment: Thu May 27 08:10:10 UTC 2021 49d502646225a794e6f5b00b9787e99c5642c690"" This reverts commit af172789 --- css/chunk-379d1f46.577d6146.css | 1 - css/chunk-cfb7922e.6123e4cc.css | 1 - css/chunk-e1c338fe.7b4da2e8.css | 1 - index.html | 1 - js/app.38818013.js | 2 -- js/app.38818013.js.map | 1 - js/chunk-379d1f46.450a701d.js | 2 -- js/chunk-379d1f46.450a701d.js.map | 1 - js/chunk-cfb7922e.bdc6cb21.js | 2 -- js/chunk-cfb7922e.bdc6cb21.js.map | 1 - js/chunk-e1c338fe.46bae6ea.js | 2 -- js/chunk-e1c338fe.46bae6ea.js.map | 1 - 12 files changed, 16 deletions(-) delete mode 100644 css/chunk-379d1f46.577d6146.css delete mode 100644 css/chunk-cfb7922e.6123e4cc.css delete mode 100644 css/chunk-e1c338fe.7b4da2e8.css delete mode 100644 index.html delete mode 100644 js/app.38818013.js delete mode 100644 js/app.38818013.js.map delete mode 100644 js/chunk-379d1f46.450a701d.js delete mode 100644 js/chunk-379d1f46.450a701d.js.map delete mode 100644 js/chunk-cfb7922e.bdc6cb21.js delete mode 100644 js/chunk-cfb7922e.bdc6cb21.js.map delete mode 100644 js/chunk-e1c338fe.46bae6ea.js delete mode 100644 js/chunk-e1c338fe.46bae6ea.js.map diff --git a/css/chunk-379d1f46.577d6146.css b/css/chunk-379d1f46.577d6146.css deleted file mode 100644 index b5e8e984..00000000 --- a/css/chunk-379d1f46.577d6146.css +++ /dev/null @@ -1 +0,0 @@ -.time[data-v-171d3a25]:after{content:" ms";white-space:pre}.mem[data-v-171d3a25]:after{content:" KiB";white-space:pre}.underline[data-v-171d3a25]{color:#2d8cf0}.underline[data-v-171d3a25]:hover{cursor:pointer;text-decoration:underline} \ No newline at end of file diff --git a/css/chunk-cfb7922e.6123e4cc.css b/css/chunk-cfb7922e.6123e4cc.css deleted file mode 100644 index 17b550f4..00000000 --- a/css/chunk-cfb7922e.6123e4cc.css +++ /dev/null @@ -1 +0,0 @@ -.numbox[data-v-00818a92]{font-size:16px;text-align:center}.numbox__num__large[data-v-00818a92]{font-size:1.7rem}.numbox__text[data-v-00818a92]{font-size:14px;color:#aaa}[data-v-00818a92] .ivu-list-item{padding:10px 0}[data-v-00818a92] .ivu-list-vertical .ivu-list-item-meta{margin-bottom:0}[data-v-00818a92] .ivu-list-vertical .ivu-list-item-action{margin-top:6px}[data-v-00818a92] .ivu-list-vertical .ivu-list-item-meta-title{margin-bottom:4px;margin-top:4px}[data-v-00818a92] .ivu-list-item-meta-avatar{margin-top:-2px}.contest__title[data-v-00818a92]{color:rgba(0,0,0,.85)}.contest__title[data-v-00818a92]:hover{text-decoration:underline}.contest__date[data-v-00818a92]{margin:0 10px 0 15px;white-space:nowrap}.profile-header[data-v-a2e4521a]{position:relative;background-position:50%;background-size:cover;min-height:16.875rem;padding-bottom:4.0625rem}.profile-header__content[data-v-a2e4521a]{position:relative;padding:1.5625rem .9375rem 0}.profile-content[data-v-a2e4521a]{position:relative;z-index:2;margin-top:-2.8125rem} \ No newline at end of file diff --git a/css/chunk-e1c338fe.7b4da2e8.css b/css/chunk-e1c338fe.7b4da2e8.css deleted file mode 100644 index 936f0913..00000000 --- a/css/chunk-e1c338fe.7b4da2e8.css +++ /dev/null @@ -1 +0,0 @@ -.numbox[data-v-00818a92]{font-size:16px;text-align:center}.numbox__num__large[data-v-00818a92]{font-size:1.7rem}.numbox__text[data-v-00818a92]{font-size:14px;color:#aaa}[data-v-00818a92] .ivu-list-item{padding:10px 0}[data-v-00818a92] .ivu-list-vertical .ivu-list-item-meta{margin-bottom:0}[data-v-00818a92] .ivu-list-vertical .ivu-list-item-action{margin-top:6px}[data-v-00818a92] .ivu-list-vertical .ivu-list-item-meta-title{margin-bottom:4px;margin-top:4px}[data-v-00818a92] .ivu-list-item-meta-avatar{margin-top:-2px}.contest__title[data-v-00818a92]{color:rgba(0,0,0,.85)}.contest__title[data-v-00818a92]:hover{text-decoration:underline}.contest__date[data-v-00818a92]{margin:0 10px 0 15px;white-space:nowrap}.upcoming-title[data-v-72098daf]{margin:10px 0;font-size:20px;line-height:24px;color:#00c;text-decoration:underline;text-align:center}.upcoming-title[data-v-72098daf]:hover{cursor:pointer}.upcoming-countdown[data-v-72098daf]{margin:10px 0;text-align:center}.upcoming-countdown span[data-v-72098daf]{color:rgba(0,0,0,.85);font-size:20px;font-weight:700;line-height:24px}.pages[data-v-72098daf]{float:right;margin:20px auto;padding-right:15px} \ No newline at end of file diff --git a/index.html b/index.html deleted file mode 100644 index 9ebc33f8..00000000 --- a/index.html +++ /dev/null @@ -1 +0,0 @@ -SDUOJ
    \ No newline at end of file diff --git a/js/app.38818013.js b/js/app.38818013.js deleted file mode 100644 index cb926fb1..00000000 --- a/js/app.38818013.js +++ /dev/null @@ -1,2 +0,0 @@ -(function(e){function t(t){for(var r,o,c=t[0],i=t[1],u=t[2],l=0,d=[];l1&&void 0!==arguments[1]?arguments[1]:200,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"mp",r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"g",o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"cn.gravatar.com";return"https://".concat(o,"/avatar/").concat(s(e),"?s=").concat(t,"&d=").concat(n,"&r=").concat(r)}function c(e,t){e[t>>5]|=128<>>9<<4)]=t;for(var n=1732584193,r=-271733879,o=-1732584194,s=271733878,a=0;a>16)+(t>>16)+(n>>16);return r<<16|65535&n}function b(e,t){return e<>>32-t}function p(e){for(var t=[],n=(1<>5]|=(e.charCodeAt(r/o)&n)<>2]>>o%4*8+4&15)+t.charAt(e[o>>2]>>o%4*8&15);return n}},4360:function(e,t,n){"use strict";var r=n("2b0e"),o=n("2f62"),s=(n("4160"),n("159b"),n("19e7")),a=n("c9d9"),c={profile:{}},i={profile:function(e){return e.profile||{}},username:function(e){return e.profile.username||""},avatar:function(e){return Object(s["a"])(e.profile.email||"")},isLogin:function(e){return!!e.profile.userId},isVerified:function(e){return!!e.profile.emailVerified},isAdmin:function(e,t){if(!t.isLogin)return!1;var n=!1;return(e.profile.roles||[]).forEach((function(e){return n|=a["j"][e].isAdmin})),n}},u={setProfile:function(e,t){e.profile=Object.assign({},t),window.localStorage.setItem("isLogin",!!t.userId)},clearProfile:function(e){e.profile={},window.localStorage.clear()}},l={setProfile:function(e,t){var n=e.commit;n("setProfile",t)},clearProfile:function(e){var t=e.commit;t("clearProfile")}},d={namespaced:!0,state:c,getters:i,mutations:u,actions:l},f=(n("4de4"),n("caad"),n("d81d"),n("a434"),n("b64b"),n("d3b7"),n("25f0"),n("2532"),n("5530")),m=n("7c15"),b=n("c1df"),p=n.n(b),h=n("bedf"),g=n("84e2"),v={contest:{features:{contestRunning:{},contestEnd:{}},problems:[],participants:[]},problems:[],questions:[],allSubmissions:[],likedScoresMap:{},settings:{showPractice:!1},scoreTimer:null,sliderTime:null},j={contestLoaded:function(e){return!!e.contest.contestId},contestId:function(e){return e.contest.contestId},contestStatus:function(e,t,n){var r=n.now;return t.contestStartTime>r?a["c"].UPCOMING:t.contestEndTime=t.contestStartTime},contestOpenness:function(e){return e.contest.features.openness},publicContest:function(e,t){return t.contestOpenness===a["b"].PUBLIC},protectedContest:function(e,t){return t.contestOpenness===a["b"].PROTECTED},privateContest:function(e,t){return t.contestOpenness===a["b"].PRIVATE},contestMode:function(e){return e.contest.features.mode},hasParticipatedIn:function(e,t,n,r){var o=r["user/username"];return e.contest.participants.includes(o)},contestStartTime:function(e){return p()(new Date(parseInt(e.contest.gmtStart)))},contestEndTime:function(e){return p()(new Date(parseInt(e.contest.gmtEnd)))},contestDuration:function(e,t){return t.contestEndTime-t.contestStartTime},countdown:function(e,t,n){if(t.contestStatus===a["c"].UPCOMING){var r=p.a.duration(t.contestStartTime.diff(n.now,"seconds"),"seconds");return r.weeks()>0?"Before the contest: "+r.humanize():"-"+Object(h["c"])(t.contestStartTime-n.now)}return t.contestStatus===a["c"].RUNNING?Object(h["c"])(t.contestEndTime-n.now):"FINISHED"},scores:function(e,t,n){if(!e.allSubmissions)return[];var o=g["b"][t.contestMode],s=[],c=null;t.contestStatus===a["c"].FINISHED&&(e.sliderTime?c=e.sliderTime:e.settings.showPractice||(c=t.contestEndTime)),e.allSubmissions.forEach((function(t){s.push(Object(g["a"])(t,e.contest.gmtStart,e.contest.problems.map((function(e){return e.problemWeight})),o.calculateProblemResult,o.formatProblemResults,c))})),s=o.calculateRank(s);var i={};s.forEach((function(e){e.official&&e.problemResults.forEach((function(e){a["g"].AC===e.judgeResult&&(!i[e.problemCode]||i[e.problemCode]>e.time)&&(i[e.problemCode]=e.time)}))})),s.forEach((function(e){e.official&&e.problemResults.forEach((function(e){a["g"].AC===e.judgeResult&&i[e.problemCode]===e.time&&(e.css="score_first")}))}));for(var u=function(t){var o=null;s.forEach((function(e){e.user.userId===n.user.profile.userId&&(o=e.problemResults[t].judgeResult)})),r["default"].set(e.contest.problems[t],"judgeResult",o)},l=0;l0?a["g"].PD:l.judgeResult,o[c].length,u]):r.push([]))}return r}function u(e,t,n){var r=[],o=0,s=0,c=0;return e.forEach((function(e){if(o++,0===e.length)r.push({problemCode:o,css:"",time:0,score:0,numSubmissions:0,numSubmissionsPending:0});else{var i=parseInt(e[0]);i>0&&(i-=n);var u,l=parseInt(e[1]||0),d=parseInt(e[2]),f=parseInt(e[3]),m=parseInt(e[4]);d<=a["g"].PD?u="score_pending":d===a["g"].AC?(u="score_correct",s+=t[o-1],c+=i+20*(f-m-1)*60*1e3):u="score_incorrect",r.push({problemCode:o,css:u,time:i,score:l,judgeResult:d,numSubmissions:f-m,numSubmissionsPending:m})}})),{solved:s,score:c,problemResults:r}}function l(e){e.sort((function(e,t){return e.solved!==t.solved?t.solved-e.solved:e.score===t.score||e.score-t.score}));var t=0,n=null;return e.forEach((function(e){e.official?(t++,!n||n.solved>e.solved||e.score>n.score?(e.rank=t,n=e):e.rank=n.rank):e.rank=-1})),e}function d(e,t){var n=["username","nickname","official","rank","solved","penalty"].concat(t.map((function(e){var t=Object(c["b"])(e.problemCode);return"".concat(t,"(").concat(e.problemWeight,"):").concat(e.problemTitle)}))),r=e.map((function(e){return[e.user.username,e.user.nickname,e.official,e.rank.toString(),e.solved.toString(),parseInt(e.score/6e4).toString()].concat(Object(s["a"])(e.problemResults.map((function(e){return e.numSubmissions+e.numSubmissionsPending>0?"-".concat(e.numSubmissions+e.numSubmissionsPending,"/").concat(parseInt(e.time/6e3)):""}))))}));return{header:n,data:r}}var f={formatProblemResults:u,calculateProblemResult:i,calculateRank:l,exportScore:d};function m(e,t,n){for(var r={},o=1;o<=t;++o)r[o]=[];e.forEach((function(e){var t=parseInt(e[0]);(!n||parseInt(e[1])<=n)&&r[t].push({gmtCreate:parseInt(e[1]),judgeScore:parseInt(e[2]||0),judgeResult:parseInt(e[3])})}));for(var s=[],c=1;c<=t;++c){r[c].sort((function(e,t){return e.gmtCreate-t.gmtCreate}));for(var i=0,u=null,l=r[c].length-1;l>=0;--l){var d=r[c][l];if(d.judgeResult===a["g"].PD){u=d;break}i++}u?s.push([u.gmtCreate,u.judgeScore,u.judgeResult,r[c].length,i]):s.push([])}return s}function b(e,t,n){var r=[],o=0,s=0,c=0;return e.forEach((function(e){if(o++,0===e.length)r.push({problemCode:o,css:"",time:0,score:0,numSubmissions:0,numSubmissionsPending:0});else{var i=parseInt(e[0]);i>0&&(i-=n);var u,l=parseInt(e[1]||0),d=parseInt(e[2]),f=parseInt(e[3]),m=parseInt(e[4]);c+=l*t[o-1],d<=a["g"].PD?u="score_pending":d===a["g"].AC?(u="score_correct",s++):u="score_incorrect",r.push({problemCode:o,css:u,time:i,score:l,judgeResult:d,numSubmissions:f-m,numSubmissionsPending:m})}})),{solved:s,score:c,problemResults:r}}function p(e){e.sort((function(e,t){return e.score===t.score||t.score-e.score}));var t=1,n=null;return e.forEach((function(e){e.official?(!n||n.score>e.score?(e.rank=t,n=e):e.rank=n.rank,t++):e.rank=-1})),e}function h(e,t){var n=["username","nickname","official","rank","score"].concat(t.map((function(e){var t=Object(c["b"])(e.problemCode);return"".concat(t,"(").concat(e.problemWeight,"):").concat(e.problemTitle)}))),r=e.map((function(e){return[e.user.username,e.user.nickname,e.official,e.rank.toString(),e.score.toString()].concat(Object(s["a"])(e.problemResults.map((function(e){return e.numSubmissions>0?e.score.toString():""}))))}));return{header:n,data:r}}var g={formatProblemResults:b,calculateProblemResult:m,calculateRank:p,exportScore:h};function v(e,t,n){for(var r=[],o={},s=1;s<=t;++s)o[s]=[];e.forEach((function(e){var t=parseInt(e[0]);(!n||parseInt(e[1])<=n)&&o[t].push({gmtCreate:parseInt(e[1]),judgeScore:parseInt(e[2]||0),judgeResult:parseInt(e[3])})}));for(var c=1;c<=t;++c){for(var i=0,u=null,l=0;lu.judgeScore||d.judgeScore===u.judgeScore&&d.judgeResult===a["g"].AC)&&(u=d),d.judgeResult===a["g"].PD&&i++}u?r.push([u.gmtCreate,u.judgeScore,u.judgeResult,o[c].length,i]):r.push([])}return r}function j(e,t,n){var r=[],o=0,s=0,c=0;return e.forEach((function(e){if(o++,0===e.length)r.push({problemCode:o,css:"",time:0,score:0,numSubmissions:0,numSubmissionsPending:0});else{var i=parseInt(e[0]);i>0&&(i-=n);var u,l=parseInt(e[1]||0),d=parseInt(e[2]),f=parseInt(e[3]),m=parseInt(e[4]);c+=l*t[o-1],d<=a["g"].PD?u="score_pending":d===a["g"].AC?(u="score_correct",s++):u="score_incorrect",r.push({problemCode:o,css:u,time:i,score:l,judgeResult:d,numSubmissions:f-m,numSubmissionsPending:m})}})),{solved:s,score:c,problemResults:r}}function k(e){e.sort((function(e,t){return e.score===t.score||t.score-e.score}));var t=1,n=null;return e.forEach((function(e){e.official?(!n||n.score>e.score?(e.rank=t,n=e):e.rank=n.rank,t++):e.rank=-1})),e}function C(e,t){var n=["username","nickname","official","rank","score"].concat(t.map((function(e){var t=Object(c["b"])(e.problemCode);return"".concat(t,"(").concat(e.problemWeight,"):").concat(e.problemTitle)}))),r=e.map((function(e){return[e.user.username,e.user.nickname,e.official,e.rank.toString(),e.score.toString()].concat(Object(s["a"])(e.problemResults.map((function(e){return e.numSubmissions>0?e.score.toString():""}))))}));return{header:n,data:r}}var S,y={formatProblemResults:j,calculateProblemResult:v,calculateRank:k,exportScore:C};function P(e,t,n,r,s,a){var c=Object(o["a"])({},e);return delete c.userId,delete c.username,delete c.submissions,c.user={userId:e.userId,username:e.username,nickname:e.nickname},e.submissions&&(c.problemResults=r(e.submissions,e.problemNum,a)),Object.assign(c,s(c.problemResults,n,t))}t["b"]=(S={},Object(r["a"])(S,a["a"].ACM,f),Object(r["a"])(S,a["a"].OI,g),Object(r["a"])(S,a["a"].IOI,y),S)},ae83:function(e,t,n){"use strict";var r=n("73b7"),o=n.n(r);o.a},bedf:function(e,t,n){"use strict";n.d(t,"b",(function(){return a})),n.d(t,"a",(function(){return c})),n.d(t,"c",(function(){return i}));n("a15b"),n("d3b7"),n("25f0");var r=n("b85c"),o=n("c1df"),s=n.n(o);function a(e){e=parseInt(e);var t=[];do{var n=(e-1)%26+1;t.push(String.fromCharCode(64+n)),e=parseInt((e-n)/26)}while(e>0);return t.reverse().join("")}function c(e){if(!e)return"";var t,n=0,o=0,s=Object(r["a"])(e);try{for(s.s();!(t=s.n()).done;){var a=t.value;if(a>="A"&&a<="Z"){if(n||(n=26),26!==n)return"";o=o*n+(a.charCodeAt()-64)}else if(a>="a"&&a<="z"){if(n||(n=26),26!==n)return"";o=o*n+(a.charCodeAt()-96)}else{if(!(a>="0"&&a<="9"))return"";if(n||(n=10),10!==n)return"";o=o*n+(a.charCodeAt()-48)}}}catch(c){s.e(c)}finally{s.f()}return o.toString()}function i(e){var t=s.a.duration(e,"milliseconds"),n=t.minutes()<10?"0"+t.minutes():t.minutes().toString(),r=t.seconds()<10?"0"+t.seconds():t.seconds().toString();return[Math.floor(t.asHours()),n,r].join(":")}},c9d9:function(e,t,n){"use strict";n.d(t,"c",(function(){return a})),n.d(t,"b",(function(){return c})),n.d(t,"a",(function(){return i})),n.d(t,"g",(function(){return u})),n.d(t,"f",(function(){return l})),n.d(t,"i",(function(){return d})),n.d(t,"h",(function(){return f})),n.d(t,"j",(function(){return m})),n.d(t,"d",(function(){return b})),n.d(t,"e",(function(){return p}));var r,o,s=n("ade3"),a={UPCOMING:1,RUNNING:2,FINISHED:3},c={PUBLIC:"public",PROTECTED:"protected",PRIVATE:"private"},i={ACM:"acm",OI:"oi",IOI:"ioi"},u={PD:0,AC:1,TLE:2,MLE:3,RE:4,SE:5,WA:6,PE:7,CE:8,OLE:9,CAN:99,CP:-3,JG:-2,END:-1},l=(r={},Object(s["a"])(r,u.CP,{name:"Compiling",abbr:"CP",css:"verdict-pending",color:"grey",icon:"md-information"}),Object(s["a"])(r,u.JG,{name:"Judging",abbr:"JG",css:"verdict-pending",color:"grey",icon:"md-information"}),Object(s["a"])(r,u.PD,{name:"Pending",abbr:"PD",css:"verdict-pending",color:"grey",icon:"md-information"}),Object(s["a"])(r,u.AC,{name:"Accepted",abbr:"AC",css:"verdict-accepted",color:"#5cb85c",icon:"md-checkmark"}),Object(s["a"])(r,u.TLE,{name:"Time Limit Exceeded",abbr:"TLE",css:"verdict-failed",color:"#d9534f",icon:"md-close"}),Object(s["a"])(r,u.MLE,{name:"Memory Limit Exceeded",abbr:"MLE",css:"verdict-failed",color:"#d9534f",icon:"md-close"}),Object(s["a"])(r,u.RE,{name:"Runtime Error",abbr:"RE",css:"verdict-failed",color:"#d9534f",icon:"md-close"}),Object(s["a"])(r,u.SE,{name:"System Error",abbr:"SE",css:"verdict-system-error",color:"rebeccapurple",icon:"md-close"}),Object(s["a"])(r,u.WA,{name:"Wrong Answer",abbr:"WA",css:"verdict-failed",color:"#d9534f",icon:"md-close"}),Object(s["a"])(r,u.PE,{name:"Presentation Error",abbr:"PE",css:"verdict-failed",color:"#d9534f",icon:"md-close"}),Object(s["a"])(r,u.CE,{name:"Compilation Error",abbr:"CE",css:"verdict-compile-error",color:"orange",icon:"md-close"}),Object(s["a"])(r,u.OLE,{name:"Output Limit Exceeded",abbr:"OLE",css:"verdict-failed",color:"#d9534f",icon:"md-close"}),Object(s["a"])(r,u.CAN,{name:"Canceled",abbr:"CAN",css:"verdict-canceled",color:"#220048",icon:"md-close"}),r),d={IO:0,SPJ:1,ADVANCED:2},f=(o={},Object(s["a"])(o,d.IO,{type:0,name:"IO",color:"blue",zipFile:!1}),Object(s["a"])(o,d.SPJ,{type:1,name:"SPJ",color:"gold",zipFile:!0}),Object(s["a"])(o,d.ADVANCED,{type:2,name:"Advanced",color:"purple",zipFile:!0}),o),m={user:{color:"default",isAdmin:!1},admin:{color:"gold",isAdmin:!0},superadmin:{color:"volcano",isAdmin:!0}},b={PUBLIC:0,PROTECTED:1,PRIVATE:2},p={NONE:0,APPLYING:1,JOINED:2,REJECTED:3}},ca91:function(e,t,n){},cf05:function(e,t,n){e.exports=n.p+"img/logo.8f551318.png"},e490:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=!0,o=!1,s=!1,a={PROD:r,DEV:o,TEST:s}},e9bc:function(e,t,n){},f5d3:function(e,t,n){}}); -//# sourceMappingURL=app.38818013.js.map \ No newline at end of file diff --git a/js/app.38818013.js.map b/js/app.38818013.js.map deleted file mode 100644 index 3946c5f1..00000000 --- a/js/app.38818013.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/utils/md5.js","webpack:///./src/store/modules/user.js","webpack:///./src/store/modules/contest.js","webpack:///./src/store/index.js","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/App.vue?a1de","webpack:///./src/components/NavBar.vue?5785","webpack:///src/components/NavBar.vue","webpack:///./src/components/NavBar.vue?e8e4","webpack:///./src/components/NavBar.vue","webpack:///src/App.vue","webpack:///./src/App.vue?1160","webpack:///./src/App.vue","webpack:///./src/router/routes.js","webpack:///./src/router/index.js","webpack:///./src/plugins/clipboard2.js","webpack:///./src/plugins/highlight.js","webpack:///./src/plugins/iviewui.js","webpack:///./src/main.js","webpack:///./src/App.vue?4ed6","webpack:///./src/utils/api.js","webpack:///./src/store/modules/ranks/acm.js","webpack:///./src/store/modules/ranks/oi.js","webpack:///./src/store/modules/ranks/ioi.js","webpack:///./src/store/modules/ranks/index.js","webpack:///./src/components/NavBar.vue?41cc","webpack:///./src/utils/transform.js","webpack:///./src/utils/constants.js","webpack:///./src/assets/logo.png","webpack:///./src/utils/env.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","hexcase","chrsz","hex_md5","binl2hex","core_md5","str2binl","getGravatarUrl","email","size","_default","rating","baseUrl","x","len","a","b","olda","oldb","oldc","oldd","md5_ff","md5_gg","md5_hh","md5_ii","safe_add","md5_cmn","q","bit_rol","y","lsw","msw","num","cnt","str","bin","mask","charCodeAt","binarray","hex_tab","charAt","state","profile","getters","username","avatar","isLogin","userId","isVerified","emailVerified","isAdmin","roles","forEach","role","USER_ROLE","mutations","setProfile","assign","localStorage","setItem","clearProfile","clear","actions","commit","namespaced","contest","features","contestRunning","contestEnd","problems","participants","questions","allSubmissions","likedScoresMap","settings","showPractice","scoreTimer","sliderTime","contestLoaded","contestId","contestStatus","rootState","now","contestStartTime","CONTEST_STATUS","UPCOMING","contestEndTime","FINISHED","RUNNING","contestStarted","contestOpenness","openness","publicContest","CONTEST_OPENNESS","PUBLIC","protectedContest","PROTECTED","privateContest","PRIVATE","contestMode","hasParticipatedIn","rootGetters","includes","moment","Date","parseInt","gmtStart","gmtEnd","contestDuration","countdown","duration","diff","weeks","humanize","s2hs","scores","handler","rankHandler","endTime","score","calculateScore","map","problem","problemWeight","calculateProblemResult","formatProblemResults","calculateRank","firstSolvedMap","official","problemResults","JUDGE_RESULT_TYPE","AC","judgeResult","problemCode","time","css","user","Vue","set","likedScores","filter","acceptNum","submitNum","judgeScore","numSubmissions","keys","setContest","payload","toString","setProblemDetail","_valid","setAllSubmissions","setScoreTimer","setInterval","dispatch","clearInterval","interval","setSliderTime","setScoreLiked","status","setSettings","clearContest","getContest","api","showRank","catch","getQuestions","getContestRank","ret","use","Vuex","Store","copyright","updateCopyright","updateNow","addOneSecond","add","webpackContext","req","id","webpackContextResolve","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","_e","domProps","_s","staticRenderFns","$route","path","split","on","$event","$router","staticStyle","_v","onClick","slot","manageUrl","toLogin","toRegist","inject","methods","query","to","fullPath","handleLogout","toUser","computed","mounted","component","components","provide","reload","secondsTimer","isRouterAlive","$nextTick","created","beforeDestroy","routes","redirect","meta","title","login","scrollToTop","children","meth","VueRouter","originalPush","originalReplace","replace","location","_","that","scrollBehavior","from","savedPosition","position","hash","selector","matched","some","router","beforeEach","next","$Loading","start","route","getProfile","$Message","afterEach","finish","VueClipboard","hljs","require","directive","deep","el","binding","targets","querySelectorAll","textContent","highlightBlock","componentUpdated","lineNumbersBlock","ViewUI","locale","config","productionTip","top","store","render","h","App","$mount","post","url","axios","response","timestamp","params","defaults","baseURL","process","withCredentials","getContestId","getCopyright","logout","register","forgetPassword","updateProfile","sendVerificationEmail","resetPassword","verifyEmail","token","success","getCaptcha","isExist","getParticipatedContests","getUserACProblems","getSubmissionDetail","getContestSubmissionDetail","getSubmissionList","getContestSubmissionList","submit","createContestSubmission","problemQuery","index","getContestProblem","getProblemList","getContestList","getUpcomingContest","participateIn","rejudge","invalidate","getGroupDetail","getGroupList","joinGroup","quitGroup","getMyGroupList","singleUpload","thirdPartyLogin","thirdPartyBinding","thirdPartyRegister","thirdPartyUnbinding","submissions","problemNum","problemSubmissionMap","submission","gmtCreate","ac","numSubmissionsPending","oneSubmission","sort","i1","PD","_problemResults","problemWeights","startTime","solved","rank","last","exportScore","header","concat","contestProblemId","contestProblemIdEncode","problemTitle","nickname","v","lastUnPDSubmission","maxScoreSubmission","CONTEST_MODE","ACM","acmRankHandler","OI","oiRankHandler","IOI","ioiRankHandler","ch","String","fromCharCode","reverse","join","contestProblemIdDecode","base","problemId","minutes","seconds","Math","floor","asHours","TLE","MLE","RE","SE","WA","PE","CE","OLE","CAN","CP","JG","END","JUDGE_RESULT","abbr","color","icon","JUDGE_TEMPLATE_TYPE","IO","SPJ","ADVANCED","JUDGE_TEMPLATE_PROPERITY","zipFile","admin","superadmin","GROUP_OPENNESS_TYPE","GROUP_STATUS_TYPE","NONE","APPLYING","JOINED","REJECTED","SDUOJ_PRODUCTION","SDUOJ_DEV","SDUOJ_TEST","SDUOJ_ENV","PROD","DEV","TEST"],"mappings":"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","file":"js/app.38818013.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-0586bea7\":\"a5ead1ce\",\"chunk-2ca0da56\":\"46403103\",\"chunk-40c53f6c\":\"bf475d25\",\"chunk-21bfe508\":\"8f9e78da\",\"chunk-cfb7922e\":\"bdc6cb21\",\"chunk-aa0e58a6\":\"d7eb70be\",\"chunk-cee9b998\":\"bbd39ddf\",\"chunk-410d6aa7\":\"05415c19\",\"chunk-6f9d021b\":\"6dbaa493\",\"chunk-7492837d\":\"f1ebbd74\",\"chunk-8057aed8\":\"455f4a91\",\"chunk-120e5732\":\"43be210b\",\"chunk-61782153\":\"fa2e325c\",\"chunk-704249a4\":\"0d73478b\",\"chunk-379d1f46\":\"450a701d\",\"chunk-7f2919c9\":\"110ded60\",\"chunk-e1c338fe\":\"46bae6ea\",\"chunk-8f36bd2c\":\"b0b056f1\",\"chunk-ddf63b7c\":\"775c7c75\",\"chunk-f7242f80\":\"7e44c3d9\",\"chunk-b8be1d70\":\"b9bb9f96\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-0586bea7\":1,\"chunk-2ca0da56\":1,\"chunk-40c53f6c\":1,\"chunk-21bfe508\":1,\"chunk-cfb7922e\":1,\"chunk-aa0e58a6\":1,\"chunk-cee9b998\":1,\"chunk-410d6aa7\":1,\"chunk-6f9d021b\":1,\"chunk-7492837d\":1,\"chunk-120e5732\":1,\"chunk-61782153\":1,\"chunk-704249a4\":1,\"chunk-379d1f46\":1,\"chunk-7f2919c9\":1,\"chunk-e1c338fe\":1,\"chunk-8f36bd2c\":1,\"chunk-ddf63b7c\":1,\"chunk-f7242f80\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-0586bea7\":\"84132c80\",\"chunk-2ca0da56\":\"8655de2f\",\"chunk-40c53f6c\":\"77d10ac0\",\"chunk-21bfe508\":\"3e598c36\",\"chunk-cfb7922e\":\"6123e4cc\",\"chunk-aa0e58a6\":\"4fe00250\",\"chunk-cee9b998\":\"75dc32d1\",\"chunk-410d6aa7\":\"0ce8b3b3\",\"chunk-6f9d021b\":\"dee513f6\",\"chunk-7492837d\":\"7a2b1efa\",\"chunk-8057aed8\":\"31d6cfe0\",\"chunk-120e5732\":\"c051c02c\",\"chunk-61782153\":\"d4223a0f\",\"chunk-704249a4\":\"4c814425\",\"chunk-379d1f46\":\"577d6146\",\"chunk-7f2919c9\":\"1d9093a5\",\"chunk-e1c338fe\":\"7b4da2e8\",\"chunk-8f36bd2c\":\"8bdcfae8\",\"chunk-ddf63b7c\":\"8ec7eb6a\",\"chunk-f7242f80\":\"6567f54d\",\"chunk-b8be1d70\":\"31d6cfe0\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","/*\n * Copyright 2020-2021 the original author or authors.\n *\n * Licensed under the General Public License, Version 3.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.gnu.org/licenses/gpl-3.0.en.html\n */\n\n/*\n * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message\n * Digest Algorithm, as defined in RFC 1321.\n * Version 2.1 Copyright (C) Paul Johnston 1999 - 2002.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n * Distributed under the BSD License\n * See http://pajhome.org.uk/crypt/md5 for more info.\n */\n\n/*\n * Configurable variables. You may need to tweak these to be compatible with\n * the server-side, but the defaults work in most cases.\n */\nconst hexcase = 0; /* hex output format. 0 - lowercase; 1 - uppercase */\n// var b64pad = ''; /* base-64 pad character. \"=\" for strict RFC compliance */\nconst chrsz = 8; /* bits per input character. 8 - ASCII; 16 - Unicode */\n\n/*\n * These are the functions you'll usually want to call\n * They take string arguments and return either hex or base-64 encoded strings\n */\nexport function hex_md5(s) { return binl2hex(core_md5(str2binl(s), s.length * chrsz)); }\nexport function getGravatarUrl (email, size = 200, _default = 'mp', rating = 'g', baseUrl = 'cn.gravatar.com') {\n return `https://${baseUrl}/avatar/${hex_md5(email)}?s=${size}&d=${_default}&r=${rating}`;\n}\n\n/*\n * Calculate the MD5 of an array of little-endian words, and a bit length\n */\nfunction core_md5(x, len) {\n /* append padding */\n x[len >> 5] |= 0x80 << ((len) % 32);\n x[(((len + 64) >>> 9) << 4) + 14] = len;\n\n let a = 1732584193;\n let b = -271733879;\n let c = -1732584194;\n let d = 271733878;\n\n for (var i = 0; i < x.length; i += 16) {\n const olda = a;\n const oldb = b;\n const oldc = c;\n const oldd = d;\n\n a = md5_ff(a, b, c, d, x[i + 0], 7, -680876936);\n d = md5_ff(d, a, b, c, x[i + 1], 12, -389564586);\n c = md5_ff(c, d, a, b, x[i + 2], 17, 606105819);\n b = md5_ff(b, c, d, a, x[i + 3], 22, -1044525330);\n a = md5_ff(a, b, c, d, x[i + 4], 7, -176418897);\n d = md5_ff(d, a, b, c, x[i + 5], 12, 1200080426);\n c = md5_ff(c, d, a, b, x[i + 6], 17, -1473231341);\n b = md5_ff(b, c, d, a, x[i + 7], 22, -45705983);\n a = md5_ff(a, b, c, d, x[i + 8], 7, 1770035416);\n d = md5_ff(d, a, b, c, x[i + 9], 12, -1958414417);\n c = md5_ff(c, d, a, b, x[i + 10], 17, -42063);\n b = md5_ff(b, c, d, a, x[i + 11], 22, -1990404162);\n a = md5_ff(a, b, c, d, x[i + 12], 7, 1804603682);\n d = md5_ff(d, a, b, c, x[i + 13], 12, -40341101);\n c = md5_ff(c, d, a, b, x[i + 14], 17, -1502002290);\n b = md5_ff(b, c, d, a, x[i + 15], 22, 1236535329);\n\n a = md5_gg(a, b, c, d, x[i + 1], 5, -165796510);\n d = md5_gg(d, a, b, c, x[i + 6], 9, -1069501632);\n c = md5_gg(c, d, a, b, x[i + 11], 14, 643717713);\n b = md5_gg(b, c, d, a, x[i + 0], 20, -373897302);\n a = md5_gg(a, b, c, d, x[i + 5], 5, -701558691);\n d = md5_gg(d, a, b, c, x[i + 10], 9, 38016083);\n c = md5_gg(c, d, a, b, x[i + 15], 14, -660478335);\n b = md5_gg(b, c, d, a, x[i + 4], 20, -405537848);\n a = md5_gg(a, b, c, d, x[i + 9], 5, 568446438);\n d = md5_gg(d, a, b, c, x[i + 14], 9, -1019803690);\n c = md5_gg(c, d, a, b, x[i + 3], 14, -187363961);\n b = md5_gg(b, c, d, a, x[i + 8], 20, 1163531501);\n a = md5_gg(a, b, c, d, x[i + 13], 5, -1444681467);\n d = md5_gg(d, a, b, c, x[i + 2], 9, -51403784);\n c = md5_gg(c, d, a, b, x[i + 7], 14, 1735328473);\n b = md5_gg(b, c, d, a, x[i + 12], 20, -1926607734);\n\n a = md5_hh(a, b, c, d, x[i + 5], 4, -378558);\n d = md5_hh(d, a, b, c, x[i + 8], 11, -2022574463);\n c = md5_hh(c, d, a, b, x[i + 11], 16, 1839030562);\n b = md5_hh(b, c, d, a, x[i + 14], 23, -35309556);\n a = md5_hh(a, b, c, d, x[i + 1], 4, -1530992060);\n d = md5_hh(d, a, b, c, x[i + 4], 11, 1272893353);\n c = md5_hh(c, d, a, b, x[i + 7], 16, -155497632);\n b = md5_hh(b, c, d, a, x[i + 10], 23, -1094730640);\n a = md5_hh(a, b, c, d, x[i + 13], 4, 681279174);\n d = md5_hh(d, a, b, c, x[i + 0], 11, -358537222);\n c = md5_hh(c, d, a, b, x[i + 3], 16, -722521979);\n b = md5_hh(b, c, d, a, x[i + 6], 23, 76029189);\n a = md5_hh(a, b, c, d, x[i + 9], 4, -640364487);\n d = md5_hh(d, a, b, c, x[i + 12], 11, -421815835);\n c = md5_hh(c, d, a, b, x[i + 15], 16, 530742520);\n b = md5_hh(b, c, d, a, x[i + 2], 23, -995338651);\n\n a = md5_ii(a, b, c, d, x[i + 0], 6, -198630844);\n d = md5_ii(d, a, b, c, x[i + 7], 10, 1126891415);\n c = md5_ii(c, d, a, b, x[i + 14], 15, -1416354905);\n b = md5_ii(b, c, d, a, x[i + 5], 21, -57434055);\n a = md5_ii(a, b, c, d, x[i + 12], 6, 1700485571);\n d = md5_ii(d, a, b, c, x[i + 3], 10, -1894986606);\n c = md5_ii(c, d, a, b, x[i + 10], 15, -1051523);\n b = md5_ii(b, c, d, a, x[i + 1], 21, -2054922799);\n a = md5_ii(a, b, c, d, x[i + 8], 6, 1873313359);\n d = md5_ii(d, a, b, c, x[i + 15], 10, -30611744);\n c = md5_ii(c, d, a, b, x[i + 6], 15, -1560198380);\n b = md5_ii(b, c, d, a, x[i + 13], 21, 1309151649);\n a = md5_ii(a, b, c, d, x[i + 4], 6, -145523070);\n d = md5_ii(d, a, b, c, x[i + 11], 10, -1120210379);\n c = md5_ii(c, d, a, b, x[i + 2], 15, 718787259);\n b = md5_ii(b, c, d, a, x[i + 9], 21, -343485551);\n\n a = safe_add(a, olda);\n b = safe_add(b, oldb);\n c = safe_add(c, oldc);\n d = safe_add(d, oldd);\n }\n return [a, b, c, d];\n}\n\n/*\n * These functions implement the four basic operations the algorithm uses.\n */\nfunction md5_cmn(q, a, b, x, s, t) {\n return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s), b);\n}\nfunction md5_ff(a, b, c, d, x, s, t) {\n return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t);\n}\nfunction md5_gg(a, b, c, d, x, s, t) {\n return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t);\n}\nfunction md5_hh(a, b, c, d, x, s, t) {\n return md5_cmn(b ^ c ^ d, a, b, x, s, t);\n}\nfunction md5_ii(a, b, c, d, x, s, t) {\n return md5_cmn(c ^ (b | (~d)), a, b, x, s, t);\n}\n\n/*\n * Add integers, wrapping at 2^32. This uses 16-bit operations internally\n * to work around bugs in some JS interpreters.\n */\nfunction safe_add(x, y) {\n const lsw = (x & 0xFFFF) + (y & 0xFFFF);\n const msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n return (msw << 16) | (lsw & 0xFFFF);\n}\n\n/*\n * Bitwise rotate a 32-bit number to the left.\n */\nfunction bit_rol(num, cnt) {\n return (num << cnt) | (num >>> (32 - cnt));\n}\n\n/*\n * Convert a string to an array of little-endian words\n * If chrsz is ASCII, characters >255 have their hi-byte silently ignored.\n */\nfunction str2binl(str) {\n const bin = [];\n const mask = (1 << chrsz) - 1;\n for (var i = 0; i < str.length * chrsz; i += chrsz) { bin[i >> 5] |= (str.charCodeAt(i / chrsz) & mask) << (i % 32); }\n return bin;\n}\n\n/*\n * Convert an array of little-endian words to a hex string.\n */\nfunction binl2hex(binarray) {\n const hex_tab = hexcase ? '0123456789ABCDEF' : '0123456789abcdef';\n let str = '';\n for (var i = 0; i < binarray.length * 4; i++) {\n str += hex_tab.charAt((binarray[i >> 2] >> ((i % 4) * 8 + 4)) & 0xF) +\n hex_tab.charAt((binarray[i >> 2] >> ((i % 4) * 8)) & 0xF);\n }\n return str;\n}\n","/*\n * Copyright 2020-2021 the original author or authors.\n *\n * Licensed under the General Public License, Version 3.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.gnu.org/licenses/gpl-3.0.en.html\n */\n\nimport { getGravatarUrl } from '_u/md5';\nimport { USER_ROLE } from '_u/constants';\n\nconst state = {\n profile: {}\n}\n\nconst getters = {\n profile: state => state.profile || {},\n username: state => state.profile.username || '',\n avatar: state => getGravatarUrl(state.profile.email || ''),\n // avatar: state => `https://cn.gravatar.com/avatar/${md5(state.profile.email || '')}?s=200&d=mp&r=g`,\n isLogin: state => !!state.profile.userId,\n isVerified: state => !!state.profile.emailVerified,\n isAdmin: (state, getters) => {\n if (!getters.isLogin) {\n return false;\n }\n let isAdmin = false;\n (state.profile.roles || []).forEach(role => (isAdmin |= USER_ROLE[role].isAdmin));\n return isAdmin;\n }\n}\n\nconst mutations = {\n setProfile: function(state, profile) {\n state.profile = Object.assign({}, profile);\n window.localStorage.setItem('isLogin', !!profile.userId);\n },\n clearProfile: function(state) {\n state.profile = {};\n window.localStorage.clear();\n }\n}\n\nconst actions = {\n setProfile({ commit }, profile) {\n commit('setProfile', profile);\n },\n clearProfile({ commit }) {\n commit('clearProfile');\n }\n}\n\nexport default {\n namespaced: true,\n state,\n getters,\n mutations,\n actions\n}\n","/*\n * Copyright 2020-2021 the original author or authors.\n *\n * Licensed under the General Public License, Version 3.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.gnu.org/licenses/gpl-3.0.en.html\n */\n\nimport Vue from 'vue';\nimport api from '_u/api';\nimport moment from 'moment';\nimport { CONTEST_STATUS, CONTEST_OPENNESS, JUDGE_RESULT_TYPE } from '_u/constants';\nimport { s2hs } from '_u/transform';\nimport rankHandler, { calculateScore } from './ranks';\n\nconst state = {\n contest: {\n features: {\n contestRunning: {},\n contestEnd: {}\n },\n problems: [],\n participants: []\n },\n problems: [],\n questions: [],\n allSubmissions: [],\n likedScoresMap: {},\n settings: {\n showPractice: false\n },\n scoreTimer: null,\n sliderTime: null\n}\n\nconst getters = {\n contestLoaded: state => {\n return !!state.contest.contestId;\n },\n contestId: state => {\n return state.contest.contestId;\n },\n contestStatus: (state, getters, rootState) => {\n const now = rootState.now;\n if (getters.contestStartTime > now) {\n return CONTEST_STATUS.UPCOMING;\n } else if (getters.contestEndTime < now) {\n return CONTEST_STATUS.FINISHED;\n } else {\n return CONTEST_STATUS.RUNNING;\n }\n },\n contestStarted: (state, getters, rootState) => {\n return rootState.now >= getters.contestStartTime;\n },\n contestOpenness: state => {\n return state.contest.features.openness;\n },\n publicContest: (state, getters) => {\n return getters.contestOpenness === CONTEST_OPENNESS.PUBLIC;\n },\n protectedContest: (state, getters) => {\n return getters.contestOpenness === CONTEST_OPENNESS.PROTECTED;\n },\n privateContest: (state, getters) => {\n return getters.contestOpenness === CONTEST_OPENNESS.PRIVATE;\n },\n contestMode: state => {\n return state.contest.features.mode;\n },\n hasParticipatedIn: (state, getters, rootState, rootGetters) => {\n const username = rootGetters['user/username'];\n return state.contest.participants.includes(username);\n },\n contestStartTime: state => {\n return moment(new Date(parseInt(state.contest.gmtStart)));\n },\n contestEndTime: state => {\n return moment(new Date(parseInt(state.contest.gmtEnd)));\n },\n contestDuration: (state, getters) => {\n return getters.contestEndTime - getters.contestStartTime;\n },\n countdown: (state, getters, rootState) => {\n if (getters.contestStatus === CONTEST_STATUS.UPCOMING) {\n const duration = moment.duration(getters.contestStartTime.diff(rootState.now, 'seconds'), 'seconds');\n if (duration.weeks() > 0) {\n return 'Before the contest: ' + duration.humanize();\n } else {\n return '-' + s2hs(getters.contestStartTime - rootState.now);\n }\n } else if (getters.contestStatus === CONTEST_STATUS.RUNNING) {\n return s2hs(getters.contestEndTime - rootState.now);\n } else {\n return 'FINISHED';\n }\n },\n scores: (state, getters, rootState) => {\n if (!state.allSubmissions) {\n return [];\n }\n const handler = rankHandler[getters.contestMode];\n let scores = [];\n let endTime = null;\n if (getters.contestStatus === CONTEST_STATUS.FINISHED) {\n if (state.sliderTime) {\n endTime = state.sliderTime;\n } else if (!state.settings.showPractice) {\n endTime = getters.contestEndTime;\n }\n }\n\n state.allSubmissions.forEach(score => {\n scores.push(\n calculateScore(\n score,\n state.contest.gmtStart,\n state.contest.problems.map(problem => problem.problemWeight),\n handler.calculateProblemResult,\n handler.formatProblemResults,\n endTime\n )\n );\n });\n scores = handler.calculateRank(scores);\n\n // first blood\n const firstSolvedMap = {};\n scores.forEach(score => {\n if (score.official) {\n score.problemResults.forEach(result => {\n if (JUDGE_RESULT_TYPE.AC === result.judgeResult) {\n if (!firstSolvedMap[result.problemCode] || firstSolvedMap[result.problemCode] > result.time) {\n firstSolvedMap[result.problemCode] = result.time;\n }\n }\n });\n }\n });\n scores.forEach(score => {\n if (score.official) {\n score.problemResults.forEach(result => {\n if (JUDGE_RESULT_TYPE.AC === result.judgeResult && firstSolvedMap[result.problemCode] === result.time) {\n result.css = 'score_first';\n }\n });\n }\n });\n for (let i = 0; i < state.contest.problems.length; ++i) {\n let judgeResult = null;\n scores.forEach(score => {\n if (score.user.userId === rootState.user.profile.userId) {\n judgeResult = score.problemResults[i].judgeResult;\n }\n });\n Vue.set(state.contest.problems[i], 'judgeResult', judgeResult);\n }\n return scores;\n },\n likedScores: (state, getters, rootState) => {\n let likedScores = [];\n if (getters.scores) {\n likedScores = getters.scores.filter(score => state.likedScoresMap[score.user.userId] || score.user.userId === rootState.user.profile.userId);\n }\n return likedScores;\n },\n problems: (state, getters, rootState) => {\n if (getters.contestStatus === CONTEST_STATUS.FINISHED) {\n const problems = {};\n state.contest.problems.forEach((problem, i) => {\n problems[i] = {\n ...problem,\n acceptNum: 0,\n submitNum: 0,\n judgeResult: null,\n judgeScore: null\n };\n })\n getters.scores.forEach(score => {\n score.problemResults.forEach(result => {\n problems[result.problemCode - 1].submitNum += result.numSubmissions;\n if (result.judgeResult === JUDGE_RESULT_TYPE.AC) {\n problems[result.problemCode - 1].acceptNum++;\n }\n if (score.user.userId === rootState.user.profile.userId) {\n problems[result.problemCode - 1].judgeResult = result.judgeResult;\n }\n });\n });\n return Object.keys(problems).map(key => problems[key]);\n } else {\n return state.contest.problems;\n }\n }\n}\n\nconst mutations = {\n setContest: function(state, payload) {\n state.contest = payload.contest;\n state.problems = [];\n for (let i = 1; i <= payload.contest.problems.length; ++i) {\n state.problems.push({\n problemCode: i.toString()\n });\n }\n },\n setProblemDetail: function(state, payload) {\n state.problems.splice(parseInt(payload.problem.problemCode) - 1, 1, { ...payload.problem, _valid: true });\n },\n setAllSubmissions: function(state, payload) {\n state.allSubmissions = payload.allSubmissions;\n },\n setScoreTimer: function(state, payload) {\n state.scoreTimer = setInterval(() => {\n this.dispatch('contest/getQuestions');\n this.dispatch('contest/getContestRank');\n if (this.getters['contest/contestStatus'] === CONTEST_STATUS.FINISHED && this.state.contest.scoreTimer) {\n clearInterval(this.state.contest.scoreTimer);\n this.state.contest.scoreTimer = null;\n }\n }, payload.interval);\n },\n setSliderTime: function(state, payload) {\n state.sliderTime = payload.sliderTime;\n },\n setScoreLiked: function(state, payload) {\n Vue.set(state.likedScoresMap, payload.userId, payload.status);\n },\n setSettings: function(state, payload) {\n for (const key in payload.settings) {\n Vue.set(state.settings, key, payload.settings[key]);\n }\n },\n clearContest: function(state) {\n if (state.scoreTimer) {\n clearInterval(state.scoreTimer);\n state.scoreTimer = null;\n }\n state.contest = {\n features: {\n contestRunning: {},\n contestEnd: {}\n },\n problems: [],\n participants: []\n };\n state.questions = [];\n state.problems = [];\n state.allSubmissions = [];\n state.likedScoresMap = {};\n state.settings = {\n showPractice: false\n }\n }\n}\n\nconst actions = {\n getContest: function({ commit, dispatch }, contestId) {\n return new Promise((resolve, reject) => {\n api.getContest(contestId).then(contest => {\n resolve(contest);\n commit('setContest', { contest });\n const contestStatus = this.getters['contest/contestStatus'];\n const showRank = !(this.getters['contest/contestOpenness'] === CONTEST_OPENNESS.PRIVATE && !this.getters['contest/hasParticipatedIn']);\n if (contestStatus === CONTEST_STATUS.RUNNING) {\n dispatch('getQuestions');\n if (showRank) {\n dispatch('getContestRank').catch(reject);\n commit('setScoreTimer', { interval: 30000 });\n }\n } else if (contestStatus === CONTEST_STATUS.FINISHED) {\n dispatch('getQuestions');\n dispatch('getContestRank').catch(reject);\n }\n }).catch(reject);\n });\n },\n getQuestions: function() {\n\n },\n getContestRank: function({ commit }) {\n return new Promise((resolve, reject) => {\n api.getContestRank(this.getters['contest/contestId']).then(ret => {\n resolve(ret);\n commit('setAllSubmissions', { allSubmissions: ret });\n }).catch(reject);\n })\n },\n settings: function({ commit }, settings) {\n commit('setSettings', { settings });\n }\n}\n\nexport default {\n namespaced: true,\n state,\n getters,\n mutations,\n actions\n}\n","/*\n * Copyright 2020-2021 the original author or authors.\n *\n * Licensed under the General Public License, Version 3.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.gnu.org/licenses/gpl-3.0.en.html\n */\n\nimport Vue from 'vue'\nimport Vuex from 'vuex'\n\nimport user from './modules/user';\nimport contest from './modules/contest';\n\nimport moment from 'moment';\n\nVue.use(Vuex)\n\nexport default new Vuex.Store({\n state: {\n copyright: '',\n now: moment()\n },\n mutations: {\n updateCopyright: function(state, payload) {\n state.copyright = payload.copyright;\n },\n updateNow: function(state, payload) {\n state.now = moment(new Date(parseInt(payload.now)));\n },\n addOneSecond: function(state) {\n state.now = moment(state.now.add(1, 'seconds'));\n }\n },\n actions: {\n },\n modules: {\n user,\n contest\n }\n})\n","var map = {\n\t\"./af\": \"2bfb\",\n\t\"./af.js\": \"2bfb\",\n\t\"./ar\": \"8e73\",\n\t\"./ar-dz\": \"a356\",\n\t\"./ar-dz.js\": \"a356\",\n\t\"./ar-kw\": \"423e\",\n\t\"./ar-kw.js\": \"423e\",\n\t\"./ar-ly\": \"1cfd\",\n\t\"./ar-ly.js\": \"1cfd\",\n\t\"./ar-ma\": \"0a84\",\n\t\"./ar-ma.js\": \"0a84\",\n\t\"./ar-sa\": \"8230\",\n\t\"./ar-sa.js\": \"8230\",\n\t\"./ar-tn\": \"6d83\",\n\t\"./ar-tn.js\": \"6d83\",\n\t\"./ar.js\": \"8e73\",\n\t\"./az\": \"485c\",\n\t\"./az.js\": \"485c\",\n\t\"./be\": \"1fc1\",\n\t\"./be.js\": \"1fc1\",\n\t\"./bg\": \"84aa\",\n\t\"./bg.js\": \"84aa\",\n\t\"./bm\": \"a7fa\",\n\t\"./bm.js\": \"a7fa\",\n\t\"./bn\": \"9043\",\n\t\"./bn-bd\": \"9686\",\n\t\"./bn-bd.js\": \"9686\",\n\t\"./bn.js\": \"9043\",\n\t\"./bo\": \"d26a\",\n\t\"./bo.js\": \"d26a\",\n\t\"./br\": \"6887\",\n\t\"./br.js\": \"6887\",\n\t\"./bs\": \"2554\",\n\t\"./bs.js\": \"2554\",\n\t\"./ca\": \"d716\",\n\t\"./ca.js\": \"d716\",\n\t\"./cs\": \"3c0d\",\n\t\"./cs.js\": \"3c0d\",\n\t\"./cv\": \"03ec\",\n\t\"./cv.js\": \"03ec\",\n\t\"./cy\": \"9797\",\n\t\"./cy.js\": \"9797\",\n\t\"./da\": \"0f14\",\n\t\"./da.js\": \"0f14\",\n\t\"./de\": \"b469\",\n\t\"./de-at\": \"b3eb\",\n\t\"./de-at.js\": \"b3eb\",\n\t\"./de-ch\": \"bb71\",\n\t\"./de-ch.js\": \"bb71\",\n\t\"./de.js\": \"b469\",\n\t\"./dv\": \"598a\",\n\t\"./dv.js\": \"598a\",\n\t\"./el\": \"8d47\",\n\t\"./el.js\": \"8d47\",\n\t\"./en-au\": \"0e6b\",\n\t\"./en-au.js\": \"0e6b\",\n\t\"./en-ca\": \"3886\",\n\t\"./en-ca.js\": \"3886\",\n\t\"./en-gb\": \"39a6\",\n\t\"./en-gb.js\": \"39a6\",\n\t\"./en-ie\": \"e1d3\",\n\t\"./en-ie.js\": \"e1d3\",\n\t\"./en-il\": \"7333\",\n\t\"./en-il.js\": \"7333\",\n\t\"./en-in\": \"ec2e\",\n\t\"./en-in.js\": \"ec2e\",\n\t\"./en-nz\": \"6f50\",\n\t\"./en-nz.js\": \"6f50\",\n\t\"./en-sg\": \"b7e9\",\n\t\"./en-sg.js\": \"b7e9\",\n\t\"./eo\": \"65db\",\n\t\"./eo.js\": \"65db\",\n\t\"./es\": \"898b\",\n\t\"./es-do\": \"0a3c\",\n\t\"./es-do.js\": \"0a3c\",\n\t\"./es-mx\": \"b5b7\",\n\t\"./es-mx.js\": \"b5b7\",\n\t\"./es-us\": \"55c9\",\n\t\"./es-us.js\": \"55c9\",\n\t\"./es.js\": \"898b\",\n\t\"./et\": \"ec18\",\n\t\"./et.js\": \"ec18\",\n\t\"./eu\": \"0ff2\",\n\t\"./eu.js\": \"0ff2\",\n\t\"./fa\": \"8df4\",\n\t\"./fa.js\": \"8df4\",\n\t\"./fi\": \"81e9\",\n\t\"./fi.js\": \"81e9\",\n\t\"./fil\": \"d69a\",\n\t\"./fil.js\": \"d69a\",\n\t\"./fo\": \"0721\",\n\t\"./fo.js\": \"0721\",\n\t\"./fr\": \"9f26\",\n\t\"./fr-ca\": \"d9f8\",\n\t\"./fr-ca.js\": \"d9f8\",\n\t\"./fr-ch\": \"0e49\",\n\t\"./fr-ch.js\": \"0e49\",\n\t\"./fr.js\": \"9f26\",\n\t\"./fy\": \"7118\",\n\t\"./fy.js\": \"7118\",\n\t\"./ga\": \"5120\",\n\t\"./ga.js\": \"5120\",\n\t\"./gd\": \"f6b4\",\n\t\"./gd.js\": \"f6b4\",\n\t\"./gl\": \"8840\",\n\t\"./gl.js\": \"8840\",\n\t\"./gom-deva\": \"aaf2\",\n\t\"./gom-deva.js\": \"aaf2\",\n\t\"./gom-latn\": \"0caa\",\n\t\"./gom-latn.js\": \"0caa\",\n\t\"./gu\": \"e0c5\",\n\t\"./gu.js\": \"e0c5\",\n\t\"./he\": \"c7aa\",\n\t\"./he.js\": \"c7aa\",\n\t\"./hi\": \"dc4d\",\n\t\"./hi.js\": \"dc4d\",\n\t\"./hr\": \"4ba9\",\n\t\"./hr.js\": \"4ba9\",\n\t\"./hu\": \"5b14\",\n\t\"./hu.js\": \"5b14\",\n\t\"./hy-am\": \"d6b6\",\n\t\"./hy-am.js\": \"d6b6\",\n\t\"./id\": \"5038\",\n\t\"./id.js\": \"5038\",\n\t\"./is\": \"0558\",\n\t\"./is.js\": \"0558\",\n\t\"./it\": \"6e98\",\n\t\"./it-ch\": \"6f12\",\n\t\"./it-ch.js\": \"6f12\",\n\t\"./it.js\": \"6e98\",\n\t\"./ja\": \"079e\",\n\t\"./ja.js\": \"079e\",\n\t\"./jv\": \"b540\",\n\t\"./jv.js\": \"b540\",\n\t\"./ka\": \"201b\",\n\t\"./ka.js\": \"201b\",\n\t\"./kk\": \"6d79\",\n\t\"./kk.js\": \"6d79\",\n\t\"./km\": \"e81d\",\n\t\"./km.js\": \"e81d\",\n\t\"./kn\": \"3e92\",\n\t\"./kn.js\": \"3e92\",\n\t\"./ko\": \"22f8\",\n\t\"./ko.js\": \"22f8\",\n\t\"./ku\": \"2421\",\n\t\"./ku.js\": \"2421\",\n\t\"./ky\": \"9609\",\n\t\"./ky.js\": \"9609\",\n\t\"./lb\": \"440c\",\n\t\"./lb.js\": \"440c\",\n\t\"./lo\": \"b29d\",\n\t\"./lo.js\": \"b29d\",\n\t\"./lt\": \"26f9\",\n\t\"./lt.js\": \"26f9\",\n\t\"./lv\": \"b97c\",\n\t\"./lv.js\": \"b97c\",\n\t\"./me\": \"293c\",\n\t\"./me.js\": \"293c\",\n\t\"./mi\": \"688b\",\n\t\"./mi.js\": \"688b\",\n\t\"./mk\": \"6909\",\n\t\"./mk.js\": \"6909\",\n\t\"./ml\": \"02fb\",\n\t\"./ml.js\": \"02fb\",\n\t\"./mn\": \"958b\",\n\t\"./mn.js\": \"958b\",\n\t\"./mr\": \"39bd\",\n\t\"./mr.js\": \"39bd\",\n\t\"./ms\": \"ebe4\",\n\t\"./ms-my\": \"6403\",\n\t\"./ms-my.js\": \"6403\",\n\t\"./ms.js\": \"ebe4\",\n\t\"./mt\": \"1b45\",\n\t\"./mt.js\": \"1b45\",\n\t\"./my\": \"8689\",\n\t\"./my.js\": \"8689\",\n\t\"./nb\": \"6ce3\",\n\t\"./nb.js\": \"6ce3\",\n\t\"./ne\": \"3a39\",\n\t\"./ne.js\": \"3a39\",\n\t\"./nl\": \"facd\",\n\t\"./nl-be\": \"db29\",\n\t\"./nl-be.js\": \"db29\",\n\t\"./nl.js\": \"facd\",\n\t\"./nn\": \"b84c\",\n\t\"./nn.js\": \"b84c\",\n\t\"./oc-lnc\": \"167b\",\n\t\"./oc-lnc.js\": \"167b\",\n\t\"./pa-in\": \"f3ff\",\n\t\"./pa-in.js\": \"f3ff\",\n\t\"./pl\": \"8d57\",\n\t\"./pl.js\": \"8d57\",\n\t\"./pt\": \"f260\",\n\t\"./pt-br\": \"d2d4\",\n\t\"./pt-br.js\": \"d2d4\",\n\t\"./pt.js\": \"f260\",\n\t\"./ro\": \"972c\",\n\t\"./ro.js\": \"972c\",\n\t\"./ru\": \"957c\",\n\t\"./ru.js\": \"957c\",\n\t\"./sd\": \"6784\",\n\t\"./sd.js\": \"6784\",\n\t\"./se\": \"ffff\",\n\t\"./se.js\": \"ffff\",\n\t\"./si\": \"eda5\",\n\t\"./si.js\": \"eda5\",\n\t\"./sk\": \"7be6\",\n\t\"./sk.js\": \"7be6\",\n\t\"./sl\": \"8155\",\n\t\"./sl.js\": \"8155\",\n\t\"./sq\": \"c8f3\",\n\t\"./sq.js\": \"c8f3\",\n\t\"./sr\": \"cf1e\",\n\t\"./sr-cyrl\": \"13e9\",\n\t\"./sr-cyrl.js\": \"13e9\",\n\t\"./sr.js\": \"cf1e\",\n\t\"./ss\": \"52bd\",\n\t\"./ss.js\": \"52bd\",\n\t\"./sv\": \"5fbd\",\n\t\"./sv.js\": \"5fbd\",\n\t\"./sw\": \"74dc\",\n\t\"./sw.js\": \"74dc\",\n\t\"./ta\": \"3de5\",\n\t\"./ta.js\": \"3de5\",\n\t\"./te\": \"5cbb\",\n\t\"./te.js\": \"5cbb\",\n\t\"./tet\": \"576c\",\n\t\"./tet.js\": \"576c\",\n\t\"./tg\": \"3b1b\",\n\t\"./tg.js\": \"3b1b\",\n\t\"./th\": \"10e8\",\n\t\"./th.js\": \"10e8\",\n\t\"./tk\": \"5aff\",\n\t\"./tk.js\": \"5aff\",\n\t\"./tl-ph\": \"0f38\",\n\t\"./tl-ph.js\": \"0f38\",\n\t\"./tlh\": \"cf75\",\n\t\"./tlh.js\": \"cf75\",\n\t\"./tr\": \"0e81\",\n\t\"./tr.js\": \"0e81\",\n\t\"./tzl\": \"cf51\",\n\t\"./tzl.js\": \"cf51\",\n\t\"./tzm\": \"c109\",\n\t\"./tzm-latn\": \"b53d\",\n\t\"./tzm-latn.js\": \"b53d\",\n\t\"./tzm.js\": \"c109\",\n\t\"./ug-cn\": \"6117\",\n\t\"./ug-cn.js\": \"6117\",\n\t\"./uk\": \"ada2\",\n\t\"./uk.js\": \"ada2\",\n\t\"./ur\": \"5294\",\n\t\"./ur.js\": \"5294\",\n\t\"./uz\": \"2e8c\",\n\t\"./uz-latn\": \"010e\",\n\t\"./uz-latn.js\": \"010e\",\n\t\"./uz.js\": \"2e8c\",\n\t\"./vi\": \"2921\",\n\t\"./vi.js\": \"2921\",\n\t\"./x-pseudo\": \"fd7e\",\n\t\"./x-pseudo.js\": \"fd7e\",\n\t\"./yo\": \"7f33\",\n\t\"./yo.js\": \"7f33\",\n\t\"./zh-cn\": \"5c3a\",\n\t\"./zh-cn.js\": \"5c3a\",\n\t\"./zh-hk\": \"49ab\",\n\t\"./zh-hk.js\": \"49ab\",\n\t\"./zh-mo\": \"3a6c\",\n\t\"./zh-mo.js\": \"3a6c\",\n\t\"./zh-tw\": \"90ea\",\n\t\"./zh-tw.js\": \"90ea\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"4678\";","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"layout\"},[_c('NavBar'),_c('transition',{attrs:{\"name\":\"fade\",\"mode\":\"out-in\"}},[(_vm.isRouterAlive)?_c('router-view'):_vm._e()],1),_c('div',{staticClass:\"footer\",domProps:{\"innerHTML\":_vm._s(_vm.copyright)}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"header fixed\"},[_c('div',{staticClass:\"container\"},[_c('Menu',{attrs:{\"mode\":\"horizontal\",\"theme\":\"light\",\"active-name\":_vm.$route.path.split('/')[1]}},[_c('div',{staticClass:\"logo\",on:{\"click\":function($event){return _vm.$router.push('/')}}},[_c('img',{staticStyle:{\"width\":\"100px\",\"height\":\"30px\"},attrs:{\"src\":require(\"../assets/logo.png\")}})]),_c('MenuItem',{attrs:{\"name\":\"home\",\"to\":{ name: 'home' }}},[_c('span',{staticClass:\"span__menu\"},[_vm._v(\"Home\")])]),_c('MenuItem',{attrs:{\"name\":\"problem\",\"to\":{ name: 'problem' }}},[_c('span',{staticClass:\"span__menu\"},[_vm._v(\"Problem\")])]),_c('MenuItem',{attrs:{\"name\":\"contest\",\"to\":{ name: 'contest' }}},[_c('span',{staticClass:\"span__menu\"},[_vm._v(\"Contest\")])]),_c('MenuItem',{attrs:{\"name\":\"submission\",\"to\":{ name: 'submission' }}},[_c('span',{staticClass:\"span__menu\"},[_vm._v(\"Submission\")])]),_c('MenuItem',{attrs:{\"name\":\"group\",\"to\":{ name: 'group' }}},[_c('span',{staticClass:\"span__menu\"},[_vm._v(\"Group\")])]),_c('div',{staticClass:\"navbar-user\"},[(_vm.isLogin)?[_c('Avatar',{attrs:{\"src\":_vm.avatar}}),_c('Dropdown',{on:{\"on-click\":_vm.onClick}},[_c('div',{staticClass:\"navbar-username\"},[_vm._v(\" \"+_vm._s(_vm.username)+\" \"),_c('Icon',{attrs:{\"type\":\"ios-arrow-down\"}})],1),_c('DropdownMenu',{attrs:{\"slot\":\"list\"},slot:\"list\"},[_c('DropdownItem',{attrs:{\"name\":\"user\"}},[_vm._v(\"Profile\")]),_c('DropdownItem',{attrs:{\"name\":\"logout\",\"divided\":\"\"}},[_vm._v(\"Logout\")])],1)],1),(_vm.isAdmin)?[_c('Divider',{attrs:{\"type\":\"vertical\"}}),_c('a',{attrs:{\"href\":_vm.manageUrl,\"target\":\"_blank\"}},[_vm._v(\"To Manage\")])]:_vm._e()]:[_c('Button',{attrs:{\"type\":\"text\"},on:{\"click\":_vm.toLogin}},[_c('span',{staticClass:\"span__menu\"},[_vm._v(\"Login\")])]),_c('Button',{attrs:{\"type\":\"text\"},on:{\"click\":_vm.toRegist}},[_c('span',{staticClass:\"span__menu\"},[_vm._v(\"Register\")])])]],2)],1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavBar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavBar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./NavBar.vue?vue&type=template&id=7851b724&scoped=true&\"\nimport script from \"./NavBar.vue?vue&type=script&lang=js&\"\nexport * from \"./NavBar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./NavBar.vue?vue&type=style&index=0&id=7851b724&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7851b724\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=7c0a410d&scoped=true&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=7c0a410d&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7c0a410d\",\n null\n \n)\n\nexport default component.exports","/*\n * Copyright 2020-2021 the original author or authors.\n *\n * Licensed under the General Public License, Version 3.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.gnu.org/licenses/gpl-3.0.en.html\n */\n\nconst routes = [\n {\n redirect: '/home',\n path: '/'\n },\n {\n name: 'login',\n path: '/login',\n component: () => import('@/views/user/Login')\n },\n {\n name: 'register',\n path: '/register',\n component: () => import('@/views/user/Register')\n },\n {\n name: 'reset-password',\n path: '/resetpass',\n component: () => import('@/views/user/ResetPass')\n },\n {\n name: 'home',\n path: '/home',\n component: () => import('@/views/HomeView'),\n meta: { title: '首页' }\n },\n {\n name: 'user',\n path: '/user',\n meta: { login: true },\n component: () => import('@/views/user/UserHome')\n },\n {\n name: 'problem',\n path: '/problem',\n component: () => import('@/views/problem/ProblemListView'),\n meta: { title: '题库' }\n },\n {\n name: 'problem-detail',\n path: '/problem/:problemCode',\n component: () => import('@/views/problem/ProblemDetailView')\n },\n {\n name: 'submission',\n path: '/submission',\n component: () => import('@/views/submission/SubmissionListView')\n },\n {\n name: 'submission-detail',\n path: '/submission/:submissionId',\n meta: { scrollToTop: true },\n component: () => import('@/views/submission/SubmissionDetailView')\n },\n {\n name: 'contest',\n path: '/contest',\n component: () => import('@/views/contest/ContestListView')\n },\n {\n name: 'contest-detail',\n path: '/contest/:contestId',\n redirect: '/contest/:contestId/overview',\n meta: { login: true },\n component: () => import('@/views/contest/ContestDetailView'),\n children: [\n {\n name: 'contest-overview',\n path: 'overview',\n component: () => import('@/views/contest/ContestOverviewView')\n },\n {\n name: 'contest-problem',\n path: 'problem/:problemCode',\n component: () => import('@/views/problem/ProblemDetailView')\n },\n {\n name: 'contest-submission',\n path: 'submission',\n meth: { scrollToTop: true },\n component: () => import('@/views/submission/SubmissionListView')\n },\n {\n name: 'contest-submission-detail',\n path: 'submission/:submissionId',\n meta: { scrollToTop: true },\n component: () => import('@/views/submission/SubmissionDetailView')\n },\n {\n name: 'contest-rank',\n path: 'rank',\n meta: { scrollToTop: true },\n component: () => import('@/views/contest/ContestRankView')\n }\n ]\n },\n {\n name: 'group',\n path: '/group',\n component: () => import('@/views/group/GroupListView')\n },\n {\n name: 'group-detail',\n path: '/group/:groupId',\n component: () => import('@/views/group/GroupDetailView')\n },\n {\n name: 'third-party-login',\n path: '/thirdPartyLogin',\n component: () => import('@/views/third-party/ThirdPartyLogin')\n },\n {\n path: '*',\n name: '404',\n component: () => import('@/views/404View')\n }\n]\n\nexport default routes;\n","/*\n * Copyright 2020-2021 the original author or authors.\n *\n * Licensed under the General Public License, Version 3.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.gnu.org/licenses/gpl-3.0.en.html\n */\n\nimport Vue from 'vue';\nimport VueRouter from 'vue-router';\nimport routes from './routes';\nimport api from '_u/api';\n\nVue.use(VueRouter);\n\nconst originalPush = VueRouter.prototype.push;\nconst originalReplace = VueRouter.prototype.replace;\nVueRouter.prototype.push = function push(location) {\n return originalPush.call(this, location).catch(_ => _);\n};\n\nVueRouter.prototype.replace = function push(location) {\n const that = this;\n return originalReplace.call(that, location).catch(_ => _);\n}\n\nconst scrollBehavior = (to, from, savedPosition) => {\n if (savedPosition) {\n // savedPosition is only available for popstate navigations.\n return savedPosition\n } else {\n const position = {}\n // new navigation.\n // scroll to anchor by returning the selector\n if (to.hash) {\n position.selector = to.hash\n }\n // check if any matched route config has meta that requires scrolling to top\n if (to.matched.some(m => m.meta.scrollToTop)) {\n // cords will be used if no selector is provided,\n // or if the selector didn't match any element.\n position.x = 0\n position.y = 0\n }\n // if the returned position is falsy or an empty object,\n // will retain current scroll position.\n return position\n }\n}\n\nconst router = new VueRouter({\n // 路由中的 #\n mode: 'history',\n scrollBehavior,\n routes\n});\n\nrouter.beforeEach((to, from, next) => {\n Vue.prototype.$Loading.start();\n if (to.matched.some(route => route.meta.login)) {\n api.getProfile(_ => {\n next();\n }, _ => {\n Vue.prototype.$Message.error('Please login first');\n next({\n name: 'login',\n query: { to: to.fullPath }\n });\n })\n } else {\n next();\n }\n})\n\nrouter.afterEach((to, from, next) => {\n Vue.prototype.$Loading.finish();\n})\n\nexport default router;\n","/*\n * Copyright 2020-2021 the original author or authors.\n *\n * Licensed under the General Public License, Version 3.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.gnu.org/licenses/gpl-3.0.en.html\n */\n\nimport Vue from 'vue';\nimport VueClipboard from 'vue-clipboard2';\n\nVue.use(VueClipboard);\n","/*\n * Copyright 2020-2021 the original author or authors.\n *\n * Licensed under the General Public License, Version 3.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.gnu.org/licenses/gpl-3.0.en.html\n */\n\nimport Vue from 'vue';\nimport hljs from 'highlight.js';\n/* eslint-disable import/first */\nwindow.hljs = hljs;\nrequire('highlightjs-line-numbers.js');\nimport 'highlight.js/styles/github.css';\n\n// highlight 会改变原有的DOM结构,导致数据更新时vue不会刷新\n// 我们需要手动检测数据更新,然后重新渲染\nVue.directive('highlight', {\n deep: true,\n bind: (el, binding) => {\n // on first bind, highlight all targets\n const targets = el.querySelectorAll('code');\n targets.forEach(target => {\n if (typeof binding.value === 'string') {\n // if a value is directly assigned to the directive, use this\n // instead of the element content.\n target.textContent = binding.value;\n }\n hljs.highlightBlock(target);\n });\n },\n componentUpdated: (el, binding) => {\n // after an update, re-fill the content and then highlight\n const targets = el.querySelectorAll('code');\n targets.forEach(target => {\n if (typeof binding.value === 'string') {\n // if a value is directly assigned to the directive, use this\n // instead of the element content.\n target.textContent = binding.value;\n }\n hljs.highlightBlock(target);\n });\n }\n});\n\nVue.directive('highlight-linenumber', {\n deep: true,\n bind: (el, binding) => {\n // on first bind, highlight all targets\n const targets = el.querySelectorAll('code');\n targets.forEach(target => {\n if (typeof binding.value === 'string') {\n // if a value is directly assigned to the directive, use this\n // instead of the element content.\n target.textContent = binding.value;\n }\n hljs.highlightBlock(target);\n hljs.lineNumbersBlock(target);\n });\n },\n componentUpdated: (el, binding) => {\n // after an update, re-fill the content and then highlight\n const targets = el.querySelectorAll('code');\n targets.forEach(target => {\n if (typeof binding.value === 'string') {\n // if a value is directly assigned to the directive, use this\n // instead of the element content.\n target.textContent = binding.value;\n }\n hljs.highlightBlock(target);\n hljs.lineNumbersBlock(target);\n });\n }\n});\n","import Vue from 'vue';\nimport '../styles/iview-variables.less';\nimport '../styles/global.less';\nimport ViewUI from 'view-design'\n\nimport locale from 'view-design/dist/locale/en-US';\n\nVue.use(ViewUI, { locale });\n","/*\n * Copyright 2020-2021 the original author or authors.\n *\n * Licensed under the General Public License, Version 3.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.gnu.org/licenses/gpl-3.0.en.html\n */\n\nimport Vue from 'vue';\nimport App from './App.vue';\nimport router from './router';\nimport store from './store';\n\nimport './plugins/clipboard2';\nimport './plugins/highlight';\nimport './plugins/iviewui';\n\nimport './styles/rank.css';\nVue.config.productionTip = false;\n\nVue.prototype.$Message.config({\n duration: 3,\n top: 60\n});\n\nnew Vue({\n router,\n store,\n render: h => h(App)\n}).$mount('#app');\n","import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../node_modules/less-loader/dist/cjs.js??ref--14-0!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=7c0a410d&lang=less&scoped=true&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../node_modules/less-loader/dist/cjs.js??ref--14-0!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=7c0a410d&lang=less&scoped=true&\"","/*\n * Copyright 2020-2021 the original author or authors.\n *\n * Licensed under the General Public License, Version 3.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.gnu.org/licenses/gpl-3.0.en.html\n */\n\nimport Vue from 'vue';\nimport axios from 'axios';\nimport store from '@/store';\n\naxios.defaults.baseURL = `${process.env.VUE_APP_OJ_SERVER}/api`;\naxios.defaults.withCredentials = true;\n\nfunction post(url, data) {\n data = data || {};\n return new Promise((resolve, reject) => {\n axios.post(url, data)\n .then(response => {\n switch (response.data.code) {\n case 0:\n resolve(response.data.data);\n break;\n case 429:\n Vue.prototype.$Message.error(response.data.message);\n break;\n default:\n reject(response.data);\n break;\n }\n\n if (response.data.timestamp !== undefined && response.data.timestamp !== null) {\n store.commit('updateNow', {\n now: response.data.timestamp\n });\n }\n })\n .catch(err => {\n Vue.prototype.$Loading.finish();\n switch (err.response.status) {\n case 429:\n Vue.prototype.$Message.error(err.response.data.message);\n break;\n default:\n reject(err.response.data);\n break;\n }\n\n if (err.response.data.timestamp !== undefined && err.response.data.timestamp !== null) {\n store.commit('updateNow', {\n now: err.response.data.timestamp\n });\n }\n });\n });\n}\n\nfunction get(url, params) {\n params = params || {};\n return new Promise((resolve, reject) => {\n axios.get(url, { params })\n .then(response => {\n switch (response.data.code) {\n case 0:\n resolve(response.data.data);\n break;\n case 429:\n Vue.prototype.$Message.error(response.data.message);\n break;\n default:\n reject(response.data);\n break;\n }\n\n if (response.data.timestamp !== undefined && response.data.timestamp !== null) {\n store.commit('updateNow', {\n now: response.data.timestamp\n });\n }\n })\n .catch(err => {\n Vue.prototype.$Loading.finish();\n\n switch (err.response.status) {\n case 429:\n Vue.prototype.$Message.error(err.response.data.message);\n break;\n default:\n reject(err.response.data);\n break;\n }\n\n if (err.response.data.timestamp !== undefined && err.response.data.timestamp !== null) {\n store.commit('updateNow', {\n now: err.response.data.timestamp\n });\n }\n });\n })\n}\n\nconst getContestId = () => store.state.contest.contest.contestId;\n\nexport default {\n // 配置相关\n getCopyright: function() {\n return get('/site/getCopyright');\n },\n // 用户相关\n login: function(data) {\n return post('/user/login', data);\n },\n logout: function() {\n return get('/user/logout');\n },\n register: function(data) {\n return post('/user/register', data);\n },\n forgetPassword: function(data) {\n return post('/user/forgetPassword', data);\n },\n updateProfile: function(data) {\n return post('/user/updateProfile', data);\n },\n sendVerificationEmail: function(username) {\n return post('/user/sendVerificationEmail', { username });\n },\n resetPassword: function(data) {\n return post('/user/resetPassword', data);\n },\n verifyEmail: function(token) {\n return get('/user/verifyEmail', { token });\n },\n getProfile: function(success, error) {\n axios.get('/user/getProfile')\n .then(response => {\n if (response.data.code === 0) {\n store.dispatch('user/setProfile', response.data.data)\n if (success) {\n success(response.data.data);\n }\n } else {\n Vue.prototype.$Message.error(response.data.message);\n }\n }, err => {\n if (err.response.status === 401) {\n store.dispatch('user/clearProfile');\n if (error) {\n error(err.response.data);\n }\n }\n });\n },\n getCaptcha: function() {\n return get('/user/getCaptcha');\n },\n isExist: function(params) {\n return get('/user/isExist', params);\n },\n getParticipatedContests: function() {\n return get('/user/queryParticipateContest');\n },\n // 提交相关\n getUserACProblems: function() {\n return get('/submit/queryACProblem');\n },\n getSubmissionDetail: function(params) {\n const contestId = getContestId();\n if (contestId) {\n return this.getContestSubmissionDetail({ ...params, contestId });\n }\n return get('/submit/query', params);\n },\n getSubmissionList: function(params) {\n const contestId = getContestId();\n if (contestId) {\n return this.getContestSubmissionList({ ...params, contestId });\n } else {\n return get('/submit/list', params);\n }\n },\n submit: function(data) {\n const contestId = getContestId();\n if (contestId) {\n return this.createContestSubmission({ ...data, contestId });\n } else {\n return post('/submit/create', data);\n }\n },\n // 题目相关\n problemQuery: function(params) {\n const contestId = getContestId();\n if (contestId) {\n const index = parseInt(params.problemCode) - 1;\n return new Promise((resolve, reject) => {\n if (!store.state.contest.problems[index]._valid) {\n this.getContestProblem({\n ...params,\n contestId\n }).then(ret => {\n store.commit('contest/setProblemDetail', { problem: ret });\n resolve(ret);\n }, _ => reject(_));\n } else {\n resolve(store.state.contest.problems[index]);\n }\n })\n } else {\n return get('/problem/query', params);\n }\n },\n getProblemList: function(params) {\n return get('/problem/list', params);\n },\n // 比赛相关\n getContestList: function(params) {\n return get('/contest/list', params);\n },\n getContest: function(contestId) {\n return get('/contest/query', { contestId });\n },\n getUpcomingContest: function(params) {\n return get('/contest/queryUpcomingContest', params);\n },\n getContestProblem: function(params) {\n return get('/contest/queryProblem', params);\n },\n participateIn: function(data) {\n return post('/contest/participate', data);\n },\n createContestSubmission: function(data) {\n return post('/contest/createSubmission', data);\n },\n getContestSubmissionList: function(params) {\n return get('/contest/listSubmission', params);\n },\n getContestSubmissionDetail: function(params) {\n return get('/contest/querySubmission', params);\n },\n getContestRank: function(contestId) {\n return get('/contest/rank', { contestId });\n },\n rejudge: function(data) {\n return post('/submit/rejudge', data);\n },\n invalidate: function(params) {\n if (params.contestId) {\n return get('/contest/invalidateSubmission', params);\n } else {\n return get('/submit/invalidateSubmission', params);\n }\n },\n /* *************** groups ************************* */\n getGroupDetail: function(params) {\n return get('/group/query', params);\n },\n getGroupList: function(params) {\n return get('/group/page', params);\n },\n joinGroup: function(params) {\n return get('/group/apply', params);\n },\n quitGroup: function(params) {\n return get('/group/quit', params);\n },\n getMyGroupList: function (params) {\n return get('/group/my', params);\n },\n /* ************* file upload ************* */\n // 单文件上传\n singleUpload: function(data) {\n return post('/filesys/upload', data);\n },\n /* third-party-login */\n thirdPartyLogin: function(params) {\n return get('/user/thirdPartyLogin', params);\n },\n thirdPartyBinding: function(data) {\n return post('/user/thirdPartyBinding', data);\n },\n thirdPartyRegister: function(data) {\n return post('/user/thirdPartyRegister', data);\n },\n thirdPartyUnbinding: function(params) {\n return get('/user/thirdPartyUnbinding', params);\n }\n}\n","/*\n * Copyright 2020-2021 the original author or authors.\n *\n * Licensed under the General Public License, Version 3.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.gnu.org/licenses/gpl-3.0.en.html\n */\n\nimport { JUDGE_RESULT_TYPE } from '_u/constants';\nimport { contestProblemIdEncode } from '_u/transform';\n\n// 将所有的提交进行筛选,只保留 endTime 之前的提交(如果 endTime 非空的话)\n// 按照题目顺序(包括没有提交的题目)整理成一个数组,每个题目的信息也是一个数组,与后端提供的赛时结构一致\n// for each problem: [gmtCreate, judgeScore, judgeResult, numSubmissions, numSubmissionsPending]\nfunction calculateProblemResult(submissions, problemNum, endTime) {\n const problemResults = [];\n const problemSubmissionMap = {};\n for (let i = 1; i <= problemNum; ++i) {\n problemSubmissionMap[i] = [];\n }\n\n submissions.forEach(submission => {\n const problemCode = parseInt(submission[0]);\n if (!endTime || parseInt(submission[1]) <= endTime) {\n problemSubmissionMap[problemCode].push({\n gmtCreate: parseInt(submission[1]),\n judgeScore: parseInt(submission[2] || 0),\n judgeResult: parseInt(submission[3])\n });\n }\n });\n\n for (let i = 1; i <= problemNum; ++i) {\n // sort by gmtCreate\n let ac = false;\n let numSubmissionsPending = 0;\n let oneSubmission = null;\n problemSubmissionMap[i].sort((a, b) => a.gmtCreate - b.gmtCreate);\n for (let i1 = 0; i1 < problemSubmissionMap[i].length; ++i1) {\n oneSubmission = problemSubmissionMap[i][i1];\n if (JUDGE_RESULT_TYPE.AC === oneSubmission.judgeResult) {\n problemResults.push([\n oneSubmission.gmtCreate,\n oneSubmission.judgeScore,\n oneSubmission.judgeResult,\n i1 + 1,\n numSubmissionsPending\n ]);\n ac = true;\n break;\n } else if (JUDGE_RESULT_TYPE.PD === oneSubmission.judgeResult) {\n numSubmissionsPending++;\n }\n }\n if (!ac) {\n if (problemSubmissionMap[i].length) {\n problemResults.push([\n 0, // gmtCreate\n oneSubmission.judgeScore, // judgeScore\n numSubmissionsPending > 0 ? JUDGE_RESULT_TYPE.PD : oneSubmission.judgeResult, // judgeResult\n problemSubmissionMap[i].length, // numSubmissions\n numSubmissionsPending // numSubmissionsPending\n ]);\n } else {\n problemResults.push([]);\n }\n }\n }\n return problemResults;\n}\n\n// 将形如 [gmtCreate, judgeScore, judgeResult, numSubmissions, numSubmissionsPending] 的数组转换成自己的数据结构\nfunction formatProblemResults(_problemResults, problemWeights, startTime) {\n const problemResults = [];\n let problemCode = 0;\n let solved = 0;\n let score = 0;\n _problemResults.forEach(result => {\n problemCode++;\n if (result.length === 0) {\n problemResults.push({\n problemCode,\n css: '',\n time: 0,\n score: 0,\n numSubmissions: 0,\n numSubmissionsPending: 0\n });\n } else {\n let time = parseInt(result[0]);\n if (time > 0) {\n time -= startTime;\n }\n const judgeScore = parseInt(result[1] || 0);\n const judgeResult = parseInt(result[2]);\n const numSubmissions = parseInt(result[3]);\n const numSubmissionsPending = parseInt(result[4]);\n\n let css;\n if (judgeResult <= JUDGE_RESULT_TYPE.PD) {\n css = 'score_pending';\n } else if (judgeResult === JUDGE_RESULT_TYPE.AC) {\n css = 'score_correct';\n solved += problemWeights[problemCode - 1];\n score += time + (numSubmissions - numSubmissionsPending - 1) * 20 * 60 * 1000;\n } else {\n css = 'score_incorrect';\n }\n\n problemResults.push({\n problemCode,\n css,\n time,\n score: judgeScore,\n judgeResult,\n numSubmissions: numSubmissions - numSubmissionsPending,\n numSubmissionsPending\n });\n }\n });\n\n return { solved, score, problemResults };\n}\n\n// 计算rank:第一关键字 过题数solved 降序,第二关键字 罚时score 升序\nfunction calculateRank(scores) {\n scores.sort((a, b) => {\n if (a.solved !== b.solved) {\n return b.solved - a.solved;\n } else if (a.score !== b.score) {\n return a.score - b.score;\n } else {\n return true;\n }\n });\n let rank = 0;\n let last = null;\n scores.forEach(score => {\n if (score.official) {\n rank++;\n if (!last || last.solved > score.solved || score.score > last.score) {\n score.rank = rank;\n last = score;\n } else {\n score.rank = last.rank;\n }\n } else {\n score.rank = -1;\n }\n });\n return scores;\n}\n\nfunction exportScore(scores, problems) {\n const header = ['username', 'nickname', 'official', 'rank', 'solved', 'penalty'].concat(\n problems.map(o => {\n const contestProblemId = contestProblemIdEncode(o.problemCode);\n return `${contestProblemId}(${o.problemWeight}):${o.problemTitle}`;\n })\n );\n const data = scores.map(o => {\n return [\n o.user.username,\n o.user.nickname,\n o.official,\n o.rank.toString(),\n o.solved.toString(),\n parseInt(o.score / 60000).toString(),\n ...o.problemResults.map(v => {\n if (v.numSubmissions + v.numSubmissionsPending > 0) {\n return `-${v.numSubmissions + v.numSubmissionsPending}/${parseInt(v.time / 6000)}`;\n } else {\n return ''\n }\n })\n ]\n })\n return { header, data };\n}\n\nexport default {\n formatProblemResults,\n calculateProblemResult,\n calculateRank,\n exportScore\n}\n","/*\n * Copyright 2020-2021 the original author or authors.\n *\n * Licensed under the General Public License, Version 3.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.gnu.org/licenses/gpl-3.0.en.html\n */\n\nimport { JUDGE_RESULT_TYPE } from '_u/constants';\nimport { contestProblemIdEncode } from '_u/transform';\n\nfunction calculateProblemResult(submissions, problemNum, endTime) {\n const problemSubmissionMap = {};\n for (let i = 1; i <= problemNum; ++i) {\n problemSubmissionMap[i] = [];\n }\n\n submissions.forEach(submission => {\n const problemCode = parseInt(submission[0]);\n if (!endTime || parseInt(submission[1]) <= endTime) {\n problemSubmissionMap[problemCode].push({\n gmtCreate: parseInt(submission[1]),\n judgeScore: parseInt(submission[2] || 0),\n judgeResult: parseInt(submission[3])\n });\n }\n });\n\n const problemResults = [];\n for (let i = 1; i <= problemNum; ++i) {\n // sort by gmtCreate\n problemSubmissionMap[i].sort((a, b) => a.gmtCreate - b.gmtCreate);\n let numSubmissionsPending = 0;\n let lastUnPDSubmission = null;\n for (let i1 = problemSubmissionMap[i].length - 1; i1 >= 0; --i1) {\n const oneSubmission = problemSubmissionMap[i][i1];\n if (oneSubmission.judgeResult === JUDGE_RESULT_TYPE.PD) {\n lastUnPDSubmission = oneSubmission;\n break;\n } else {\n numSubmissionsPending++;\n }\n }\n if (lastUnPDSubmission) {\n problemResults.push([\n lastUnPDSubmission.gmtCreate,\n lastUnPDSubmission.judgeScore,\n lastUnPDSubmission.judgeResult,\n problemSubmissionMap[i].length,\n numSubmissionsPending\n ])\n } else {\n problemResults.push([]);\n }\n }\n return problemResults;\n}\n\nfunction formatProblemResults(_problemResults, problemWeights, startTime) {\n const problemResults = [];\n let problemCode = 0;\n let solved = 0;\n let score = 0;\n _problemResults.forEach(result => {\n problemCode++;\n if (result.length === 0) {\n problemResults.push({\n problemCode,\n css: '',\n time: 0,\n score: 0,\n numSubmissions: 0,\n numSubmissionsPending: 0\n });\n } else {\n let time = parseInt(result[0]);\n if (time > 0) {\n time -= startTime;\n }\n const judgeScore = parseInt(result[1] || 0);\n const judgeResult = parseInt(result[2]);\n const numSubmissions = parseInt(result[3]);\n const numSubmissionsPending = parseInt(result[4]);\n score += judgeScore * problemWeights[problemCode - 1];\n\n let css;\n if (judgeResult <= JUDGE_RESULT_TYPE.PD) {\n css = 'score_pending';\n } else if (judgeResult === JUDGE_RESULT_TYPE.AC) {\n css = 'score_correct';\n solved++;\n } else {\n css = 'score_incorrect';\n }\n\n problemResults.push({\n problemCode,\n css,\n time,\n score: judgeScore,\n judgeResult,\n numSubmissions: numSubmissions - numSubmissionsPending,\n numSubmissionsPending\n });\n }\n })\n\n return { solved, score, problemResults };\n}\n\n// 只按得分计算 rank\nfunction calculateRank(scores) {\n scores.sort((a, b) => {\n if (a.score !== b.score) {\n return b.score - a.score;\n } else {\n return true;\n }\n });\n let rank = 1;\n let last = null;\n scores.forEach(score => {\n if (score.official) {\n if (!last || last.score > score.score) {\n score.rank = rank;\n last = score;\n } else {\n score.rank = last.rank;\n }\n rank++;\n } else {\n score.rank = -1;\n }\n });\n return scores;\n}\n\nfunction exportScore(scores, problems) {\n const header = ['username', 'nickname', 'official', 'rank', 'score'].concat(\n problems.map(o => {\n const contestProblemId = contestProblemIdEncode(o.problemCode);\n return `${contestProblemId}(${o.problemWeight}):${o.problemTitle}`;\n })\n );\n const data = scores.map(o => {\n return [\n o.user.username,\n o.user.nickname,\n o.official,\n o.rank.toString(),\n o.score.toString(),\n ...o.problemResults.map(v => {\n if (v.numSubmissions > 0) {\n return v.score.toString();\n } else {\n return ''\n }\n })\n ]\n })\n return { header, data };\n}\n\nexport default {\n formatProblemResults,\n calculateProblemResult,\n calculateRank,\n exportScore\n}\n","/*\n * Copyright 2020-2021 the original author or authors.\n *\n * Licensed under the General Public License, Version 3.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.gnu.org/licenses/gpl-3.0.en.html\n */\n\nimport { JUDGE_RESULT_TYPE } from '_u/constants';\nimport { contestProblemIdEncode } from '_u/transform';\n\nfunction calculateProblemResult(submissions, problemNum, endTime) {\n const problemResults = [];\n const problemSubmissionMap = {};\n for (let i = 1; i <= problemNum; ++i) {\n problemSubmissionMap[i] = [];\n }\n\n submissions.forEach(submission => {\n const problemCode = parseInt(submission[0]);\n if (!endTime || parseInt(submission[1]) <= endTime) {\n problemSubmissionMap[problemCode].push({\n gmtCreate: parseInt(submission[1]),\n judgeScore: parseInt(submission[2] || 0),\n judgeResult: parseInt(submission[3])\n });\n }\n });\n\n for (let i = 1; i <= problemNum; ++i) {\n // sort by gmtCreate\n let numSubmissionsPending = 0;\n let maxScoreSubmission = null;\n for (let i1 = 0; i1 < problemSubmissionMap[i].length; ++i1) {\n const oneSubmission = problemSubmissionMap[i][i1];\n if (!maxScoreSubmission || oneSubmission.judgeScore > maxScoreSubmission.judgeScore || (oneSubmission.judgeScore === maxScoreSubmission.judgeScore && oneSubmission.judgeResult === JUDGE_RESULT_TYPE.AC)) {\n maxScoreSubmission = oneSubmission;\n }\n if (oneSubmission.judgeResult === JUDGE_RESULT_TYPE.PD) {\n numSubmissionsPending++;\n }\n }\n if (maxScoreSubmission) {\n problemResults.push([\n maxScoreSubmission.gmtCreate, // gmtCreate\n maxScoreSubmission.judgeScore, // judgeScore\n maxScoreSubmission.judgeResult, // judgeResult\n problemSubmissionMap[i].length, // numSubmissions\n numSubmissionsPending // numSubmissionsPending\n ]);\n } else {\n problemResults.push([]);\n }\n }\n return problemResults;\n}\n\nfunction formatProblemResults(_problemResults, problemWeights, startTime) {\n const problemResults = [];\n let problemCode = 0;\n let solved = 0;\n let score = 0;\n _problemResults.forEach(result => {\n problemCode++;\n if (result.length === 0) {\n problemResults.push({\n problemCode,\n css: '',\n time: 0,\n score: 0,\n numSubmissions: 0,\n numSubmissionsPending: 0\n });\n } else {\n let time = parseInt(result[0]);\n if (time > 0) {\n time -= startTime;\n }\n const judgeScore = parseInt(result[1] || 0);\n const judgeResult = parseInt(result[2]);\n const numSubmissions = parseInt(result[3]);\n const numSubmissionsPending = parseInt(result[4]);\n score += judgeScore * problemWeights[problemCode - 1];\n\n let css;\n if (judgeResult <= JUDGE_RESULT_TYPE.PD) {\n css = 'score_pending';\n } else if (judgeResult === JUDGE_RESULT_TYPE.AC) {\n css = 'score_correct';\n solved++;\n } else {\n css = 'score_incorrect';\n }\n\n problemResults.push({\n problemCode,\n css,\n time,\n score: judgeScore,\n judgeResult,\n numSubmissions: numSubmissions - numSubmissionsPending,\n numSubmissionsPending\n });\n }\n })\n\n return { solved, score, problemResults };\n}\n\n// 只按得分计算 rank\nfunction calculateRank(scores) {\n scores.sort((a, b) => {\n if (a.score !== b.score) {\n return b.score - a.score;\n } else {\n return true;\n }\n });\n let rank = 1;\n let last = null;\n scores.forEach(score => {\n if (score.official) {\n if (!last || last.score > score.score) {\n score.rank = rank;\n last = score;\n } else {\n score.rank = last.rank;\n }\n rank++;\n } else {\n score.rank = -1;\n }\n });\n return scores;\n}\n\nfunction exportScore(scores, problems) {\n const header = ['username', 'nickname', 'official', 'rank', 'score'].concat(\n problems.map(o => {\n const contestProblemId = contestProblemIdEncode(o.problemCode);\n return `${contestProblemId}(${o.problemWeight}):${o.problemTitle}`;\n })\n );\n const data = scores.map(o => {\n return [\n o.user.username,\n o.user.nickname,\n o.official,\n o.rank.toString(),\n o.score.toString(),\n ...o.problemResults.map(v => {\n if (v.numSubmissions > 0) {\n return v.score.toString();\n } else {\n return ''\n }\n })\n ]\n })\n return { header, data };\n}\nexport default {\n formatProblemResults,\n calculateProblemResult,\n calculateRank,\n exportScore\n}\n","/*\n * Copyright 2020-2021 the original author or authors.\n *\n * Licensed under the General Public License, Version 3.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.gnu.org/licenses/gpl-3.0.en.html\n */\n\nimport acmRankHandler from './acm';\nimport oiRankHandler from './oi';\nimport ioiRankHandler from './ioi';\n\nimport { CONTEST_MODE } from '_u/constants';\n\nexport function calculateScore(score, startTime, problemWeights, calculateProblemResult, formatProblemResults, endTime) {\n const ret = { ...score };\n delete ret.userId;\n delete ret.username;\n delete ret.submissions;\n ret.user = {\n userId: score.userId,\n username: score.username,\n nickname: score.nickname\n };\n\n if (score.submissions) {\n ret.problemResults = calculateProblemResult(score.submissions, score.problemNum, endTime);\n }\n\n return Object.assign(ret, formatProblemResults(ret.problemResults, problemWeights, startTime));\n}\n\nexport default {\n [CONTEST_MODE.ACM]: acmRankHandler,\n [CONTEST_MODE.OI]: oiRankHandler,\n [CONTEST_MODE.IOI]: ioiRankHandler\n};\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/less-loader/dist/cjs.js??ref--14-0!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavBar.vue?vue&type=style&index=0&id=7851b724&lang=less&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/less-loader/dist/cjs.js??ref--14-0!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavBar.vue?vue&type=style&index=0&id=7851b724&lang=less&scoped=true&\"","/*\n * Copyright 2020-2021 the original author or authors.\n *\n * Licensed under the General Public License, Version 3.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.gnu.org/licenses/gpl-3.0.en.html\n */\n\nimport moment from 'moment';\n\n/*\n * 将 1 2 3 4 这样的problemId 转换成 A、B、C、D\n*/\nexport function contestProblemIdEncode(problemCode) {\n problemCode = parseInt(problemCode);\n const str = [];\n do {\n const ch = (problemCode - 1) % 26 + 1;\n str.push(String.fromCharCode(64 + ch)); // ch + 'A' - 1\n problemCode = parseInt((problemCode - ch) / 26);\n } while (problemCode > 0);\n return str.reverse().join('');\n}\n\n/*\n * 将 A、B、C、D 转换成 1 2 3 4\n*/\nexport function contestProblemIdDecode(problemCode) {\n if (!problemCode) return '';\n let base = 0;\n let problemId = 0;\n for (const ch of problemCode) {\n if (ch >= 'A' && ch <= 'Z') {\n if (!base) base = 26;\n if (base !== 26) return '';\n problemId = problemId * base + (ch.charCodeAt() - 64); // (ch - 1) - 'A'\n } else if (ch >= 'a' && ch <= 'z') {\n if (!base) base = 26;\n if (base !== 26) return '';\n problemId = problemId * base + (ch.charCodeAt() - 96); // (ch - 1) - 'a'\n } else if (ch >= '0' && ch <= '9') {\n if (!base) base = 10;\n if (base !== 10) return '';\n problemId = problemId * base + (ch.charCodeAt() - 48); // ch - '0';\n } else {\n return '';\n }\n }\n return problemId.toString();\n}\n\nexport function s2hs(diff) {\n const duration = moment.duration(diff, 'milliseconds');\n const minutes = duration.minutes() < 10 ? '0' + duration.minutes() : duration.minutes().toString();\n const seconds = duration.seconds() < 10 ? '0' + duration.seconds() : duration.seconds().toString();\n return [Math.floor(duration.asHours()), minutes, seconds].join(':');\n}\n","/*\n * Copyright 2020-2021 the original author or authors.\n *\n * Licensed under the General Public License, Version 3.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.gnu.org/licenses/gpl-3.0.en.html\n */\n\nexport const CONTEST_STATUS = {\n UPCOMING: 1,\n RUNNING: 2,\n FINISHED: 3\n};\n\nexport const CONTEST_OPENNESS = {\n PUBLIC: 'public',\n PROTECTED: 'protected',\n PRIVATE: 'private'\n};\n\nexport const CONTEST_MODE = {\n ACM: 'acm',\n OI: 'oi',\n IOI: 'ioi'\n};\n\nexport const JUDGE_RESULT_TYPE = {\n PD: 0,\n AC: 1,\n TLE: 2,\n MLE: 3,\n RE: 4,\n SE: 5,\n WA: 6,\n PE: 7,\n CE: 8,\n OLE: 9,\n\n CAN: 99,\n\n CP: -3,\n JG: -2,\n END: -1\n};\n\nexport const JUDGE_RESULT = {\n [JUDGE_RESULT_TYPE.CP]: {\n name: 'Compiling',\n abbr: 'CP',\n css: 'verdict-pending',\n color: 'grey',\n icon: 'md-information'\n },\n [JUDGE_RESULT_TYPE.JG]: {\n name: 'Judging',\n abbr: 'JG',\n css: 'verdict-pending',\n color: 'grey',\n icon: 'md-information'\n },\n [JUDGE_RESULT_TYPE.PD]: {\n name: 'Pending',\n abbr: 'PD',\n css: 'verdict-pending',\n color: 'grey',\n icon: 'md-information'\n },\n [JUDGE_RESULT_TYPE.AC]: {\n name: 'Accepted',\n abbr: 'AC',\n css: 'verdict-accepted',\n color: '#5cb85c',\n icon: 'md-checkmark'\n },\n [JUDGE_RESULT_TYPE.TLE]: {\n name: 'Time Limit Exceeded',\n abbr: 'TLE',\n css: 'verdict-failed',\n color: '#d9534f',\n icon: 'md-close'\n },\n [JUDGE_RESULT_TYPE.MLE]: {\n name: 'Memory Limit Exceeded',\n abbr: 'MLE',\n css: 'verdict-failed',\n color: '#d9534f',\n icon: 'md-close'\n },\n [JUDGE_RESULT_TYPE.RE]: {\n name: 'Runtime Error',\n abbr: 'RE',\n css: 'verdict-failed',\n color: '#d9534f',\n icon: 'md-close'\n },\n [JUDGE_RESULT_TYPE.SE]: {\n name: 'System Error',\n abbr: 'SE',\n css: 'verdict-system-error',\n color: 'rebeccapurple',\n icon: 'md-close'\n },\n [JUDGE_RESULT_TYPE.WA]: {\n name: 'Wrong Answer',\n abbr: 'WA',\n css: 'verdict-failed',\n color: '#d9534f',\n icon: 'md-close'\n },\n [JUDGE_RESULT_TYPE.PE]: {\n name: 'Presentation Error',\n abbr: 'PE',\n css: 'verdict-failed',\n color: '#d9534f',\n icon: 'md-close'\n },\n [JUDGE_RESULT_TYPE.CE]: {\n name: 'Compilation Error',\n abbr: 'CE',\n css: 'verdict-compile-error',\n color: 'orange',\n icon: 'md-close'\n },\n [JUDGE_RESULT_TYPE.OLE]: {\n name: 'Output Limit Exceeded',\n abbr: 'OLE',\n css: 'verdict-failed',\n color: '#d9534f',\n icon: 'md-close'\n },\n [JUDGE_RESULT_TYPE.CAN]: {\n name: 'Canceled',\n abbr: 'CAN',\n css: 'verdict-canceled',\n color: '#220048',\n icon: 'md-close'\n }\n};\n\nexport const JUDGE_TEMPLATE_TYPE = {\n IO: 0,\n SPJ: 1,\n ADVANCED: 2\n}\n\nexport const JUDGE_TEMPLATE_PROPERITY = {\n [JUDGE_TEMPLATE_TYPE.IO]: {\n type: 0,\n name: 'IO',\n color: 'blue',\n zipFile: false\n },\n [JUDGE_TEMPLATE_TYPE.SPJ]: {\n type: 1,\n name: 'SPJ',\n color: 'gold',\n zipFile: true\n },\n [JUDGE_TEMPLATE_TYPE.ADVANCED]: {\n type: 2,\n name: 'Advanced',\n color: 'purple',\n zipFile: true\n }\n}\n\nexport const USER_ROLE = {\n user: {\n color: 'default',\n isAdmin: false\n },\n admin: {\n color: 'gold',\n isAdmin: true\n },\n superadmin: {\n color: 'volcano',\n isAdmin: true\n }\n};\n\nexport const GROUP_OPENNESS_TYPE = {\n PUBLIC: 0,\n PROTECTED: 1,\n PRIVATE: 2\n};\n\nexport const GROUP_STATUS_TYPE = {\n NONE: 0,\n APPLYING: 1,\n JOINED: 2,\n REJECTED: 3\n};\n","module.exports = __webpack_public_path__ + \"img/logo.8f551318.png\";","const SDUOJ_PRODUCTION = process.env.NODE_ENV === 'production';\nconst SDUOJ_DEV = process.env.NODE_ENV === 'development';\nconst SDUOJ_TEST = process.env.NODE_ENV === 'test';\n\nexport const SDUOJ_ENV = {\n PROD: SDUOJ_PRODUCTION,\n DEV: SDUOJ_DEV,\n TEST: SDUOJ_TEST\n};\n"],"sourceRoot":""} \ No newline at end of file diff --git a/js/chunk-379d1f46.450a701d.js b/js/chunk-379d1f46.450a701d.js deleted file mode 100644 index ed4832ef..00000000 --- a/js/chunk-379d1f46.450a701d.js +++ /dev/null @@ -1,2 +0,0 @@ -(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-379d1f46"],{"28e0":function(e,s,t){},5910:function(e,s,t){"use strict";var i=t("28e0"),n=t.n(i);n.a},8336:function(e,s,t){"use strict";var i=function(){var e=this,s=e.$createElement,t=e._self._c||s;return t("Card",{staticClass:"clearfix",attrs:{"dis-hover":"",padding:0}},[t("Table",{staticClass:"data-table",attrs:{size:e.size,"show-header":e.showHeader,"no-data-text":e.noDataText,columns:e.filteredColumns,data:e.submissions,loading:e.loading},on:{"on-selection-change":e.onSelectionChange,"on-sort-change":e.onSort,"on-cell-click":e.onCellClick},scopedSlots:e._u([{key:"id",fn:function(s){var i=s.row;return[t("router-link",{attrs:{to:{name:e.contestId?"contest-submission-detail":"submission-detail",params:{submissionId:i.submissionId}}}},[e._v(e._s(i.submissionId))])]}},{key:"title",fn:function(s){var i=s.row;return[t("Tooltip",{attrs:{content:i.problemTitle,theme:"light",transfer:""}},[t("router-link",{attrs:{to:{name:e.contestId?"contest-problem":"problem-detail",params:{problemCode:i.problemCode}}}},[e._v(e._s(e._f("problemCodeEncode")(i.problemCode)))])],1)]}},{key:"judge-result",fn:function(e){var s=e.row;return[t("JudgeResult",{attrs:{result:s.judgeResult,total:s.checkpointNum,current:s.$judgedNum}})]}},{key:"score",fn:function(s){var i=s.row;return[t("span",[e._v(e._s(null===i.judgeScore?"":i.judgeScore))])]}},{key:"time",fn:function(s){var i=s.row;return[t("span",{staticClass:"time"},[e._v(e._s(i.usedTime||0))])]}},{key:"mem",fn:function(s){var i=s.row;return[t("span",{staticClass:"mem"},[e._v(e._s(i.usedMemory||0))])]}},{key:"submit-time",fn:function(s){var i=s.row;return[t("Tooltip",{attrs:{content:e._f("timeformat")(i.gmtCreate,"yyyy-MM-DD HH:mm:ss"),transfer:""}},[t("span",[e._v(e._s(e._f("fromnow")(i.gmtCreate)))])])]}}])}),t("div",[e._t("default")],2)],1)},n=[],o=(t("99af"),t("4de4"),t("4160"),t("caad"),t("b64b"),t("d3b7"),t("25f0"),t("2532"),t("159b"),t("5530")),r=t("8035"),a=t("e325"),c=t("c9d9"),l=t("bedf"),u=t("7c15"),m=t("4360"),d=t("2f62"),b=t("c1df"),f=t.n(b),p={name:"SubmissionList",components:{JudgeResult:r["a"]},mixins:[a["b"]],props:{selection:{type:Boolean,default:!1},size:{type:String,default:"default"},showHeader:{type:Boolean,default:!0},doRejudge:{type:Boolean,default:!1},noDataText:{type:String,default:""},bannedKey:{type:Array,default:function(){return[]}},columns:{type:Array,default:function(){return[{title:"#",key:"submissionId",width:165,slot:"id",props:{vOnce:!0}},{title:"Username",key:"username",width:200,props:{vOnce:!0}},{title:"Problem",key:"problemCode",slot:"title",align:"center"},{title:"Judge Result",key:"judgeResult",slot:"judge-result",width:210,align:"center"},{title:"Score",key:"judgeScore",maxWidth:100,slot:"score",align:"center"},{title:"Time",key:"usedTime",slot:"time",sortable:!0,align:"right"},{title:"Memory",key:"usedMemory",slot:"mem",sortable:!0,align:"right"},{title:"Template",key:"judgeTemplateTitle",props:{vOnce:!0},align:"center"},{title:"Submit Time",key:"gmtCreate",sortable:!0,slot:"submit-time",align:"center"}]}}},filters:{timeformat:function(e,s){return"string"===typeof e&&(e=parseInt(e)),f()(new Date(e)).format(s)},fromnow:function(e){return"string"===typeof e&&(e=parseInt(e)),f()(new Date(e)).fromNow()},problemCodeEncode:function(e){return m["a"].state.contest.contest.contestId?Object(l["b"])(e):e}},data:function(){return{filteredColumns:[],submissions:[],loading:!1,listenedSubmissions:{}}},computed:Object(o["a"])(Object(o["a"])({},Object(d["d"])("contest",["contest"])),Object(d["c"])("contest",["contestId"])),methods:{onSort:function(e){this.$emit("on-sort",e)},onCellClick:function(e,s,t,i){this.$emit("on-cell-click",e,s,t,i)},onSelectionChange:function(e){this.$emit("on-selection-change",e)},wsSuccess:function(e){"string"===typeof e&&(e=JSON.parse(e));for(var s=0;s0?t("div",{class:i.css,on:{click:function(t){return e.showAllSubmissions(s.user.username,i.problemCode)}}},[e._v(" "+e._s(e._f("time2minutes")(i.time))+" "),t("span",[e._v(e._s(i.numSubmissions+i.numSubmissionsPending===1?"1 try":i.numSubmissions+i.numSubmissionsPending+" tries"))])]):e._e()]):e.contestMode===e.CONTEST_MODE.OI?t("a",[i.numSubmissions>0?t("div",{class:i.css,on:{click:function(t){return e.showAllSubmissions(s.user.username,i.problemCode)}}},[e._v(" "+e._s(i.score)+" ")]):e._e()]):e.contestMode===e.CONTEST_MODE.IOI?t("a",[i.numSubmissions>0?t("div",{class:i.css,on:{click:function(t){return e.showAllSubmissions(s.user.username,i.problemCode)}}},[e._v(" "+e._s(i.score)+" "),t("span",[e._v(e._s(e._f("time2minutes")(i.time)))])]):e._e()]):e._e()])}))],2)})),e._l(e.scores,(function(s,i){return t("tr",{key:s.user.userId,class:{sortorderswitch:0===i,scorethisisme:s.user.userId===e.profile.userId,scoreliked:e.likedScoresMap[s.user.userId]},attrs:{id:"user:"+s.user.userId}},[t("td",{staticClass:"scorepl"},[e.displayRank?t("span",[e._v(e._s(-1===s.rank?"*":s.rank))]):t("span",[e._v("?")])]),t("td",{staticClass:"scoreaf",staticStyle:{background:"#ffffff"}},[e.likedScoresMap[s.user.userId]?t("Icon",{staticClass:"heart fas",attrs:{type:"md-heart"},on:{click:function(t){return e.setUserLiked(s.user.userId,!1)}}}):t("Icon",{staticClass:"heart",attrs:{type:"md-heart-outline"},on:{click:function(t){return e.setUserLiked(s.user.userId,!0)}}})],1),t("td",{staticClass:"scoretn",staticStyle:{background:"#ffffff"},attrs:{title:s.user.username}},[t("span",{class:["forceWidth",{"unofficial-username":!s.official}]},[e._v(e._s(s.user.username))]),s.user.nickname?t("span",{staticClass:"forceWidth univ"},[e._v(e._s(s.user.nickname))]):e._e()]),t("td",{staticClass:"scorenc"},[e._v(e._s(s.solved))]),e.contestMode===e.CONTEST_MODE.ACM?t("td",{staticClass:"scorett"},[e._v(e._s(e._f("time2minutes")(s.score)))]):t("td",{staticClass:"scorett"},[e._v(e._s(s.score))]),e._l(s.problemResults,(function(i){return t("td",{key:i.problemCode,staticClass:"score_cell"},[e.contestMode===e.CONTEST_MODE.ACM?t("a",[i.numSubmissions+i.numSubmissionsPending>0?t("div",{class:i.css,on:{click:function(t){return e.showAllSubmissions(s.user.username,i.problemCode)}}},[e._v(" "+e._s(e._f("time2minutes")(i.time))+" "),t("span",[e._v(e._s(i.numSubmissions+i.numSubmissionsPending===1?"1 try":i.numSubmissions+i.numSubmissionsPending+" tries"))])]):e._e()]):e.contestMode===e.CONTEST_MODE.OI?t("a",[i.numSubmissions>0?t("div",{class:i.css,on:{click:function(t){return e.showAllSubmissions(s.user.username,i.problemCode)}}},[e._v(" "+e._s(i.score)+" ")]):e._e()]):e.contestMode===e.CONTEST_MODE.IOI?t("a",[i.numSubmissions>0?t("div",{class:i.css,on:{click:function(t){return e.showAllSubmissions(s.user.username,i.problemCode)}}},[e._v(" "+e._s(i.score)+" "),i.time<12e4?t("span",[e._v(e._s(e._f("time2minutes")(i.time))+" min")]):t("span",[e._v(e._s(e._f("time2minutes")(i.time))+" mins")])]):e._e()]):e._e()])}))],2)}))],2)]),t("Modal",{attrs:{width:"60%","footer-hide":"",closable:!1,scrollable:""},model:{value:e.modelSubmissions,callback:function(s){e.modelSubmissions=s},expression:"modelSubmissions"}},[t("SubmissionList",{ref:"SubmissionList",attrs:{size:"small",bannedKey:["problemCode","username","problemTitle"]},on:{"on-sort":e.onSort,"on-cell-click":e.onSubmissionListCellClick}},[[t("div",{staticClass:"float-right footer-pages"},[t("Page",{attrs:{size:"small","show-elevator":"","show-sizer":"",total:e.total,current:e.pageNow,"page-size":e.pageSize,"page-size-opts":e.pageSizeOpts},on:{"update:current":function(s){e.pageNow=s},"on-change":e.onPageChange,"on-page-size-change":e.onPageSizeChange}})],1)]],2)],1),t("Modal",{attrs:{width:"80%","footer-hide":"",closable:!1},model:{value:e.modelSubmissionDetail,callback:function(s){e.modelSubmissionDetail=s},expression:"modelSubmissionDetail"}},[t("SubmissionDetailView",{ref:"SubmissionDetailView"})],1)],1)},n=[function(){var e=this,s=e.$createElement,t=e._self._c||s;return t("colgroup",[t("col",{attrs:{id:"scoresolv"}}),t("col",{attrs:{id:"scoretotal"}})])}],o=(t("d3b7"),t("25f0"),t("5530")),r=t("8336"),a=t("3452"),c=t("bedf"),l=t("c9d9"),u=t("2f62"),m={name:"ContestRankView",components:{SubmissionList:r["a"],SubmissionDetailView:a["default"]},data:function(){return{modelSubmissions:!1,modelSubmissionDetail:!1,showSubmissions:!0,showFlags:!1,displayRank:!0,showOnesAllSubmission:{username:"",problemCode:""},total:0,pageNow:1,pageSize:15,pageSizeOpts:[15,30,50],ascending:"",sortBy:"",targetUsername:"",targetProblemCode:""}},filters:{contestProblemId:function(e){return Object(c["b"])(e)},time2minutes:function(e){return 0===e?"\b":parseInt(e/6e4).toString()}},computed:Object(o["a"])(Object(o["a"])(Object(o["a"])(Object(o["a"])(Object(o["a"])({},Object(u["c"])("user",["isAdmin"])),Object(u["d"])("contest",["contest","problems","likedScoresMap"])),Object(u["c"])("contest",["contestId","contestMode","contestStatus","scores","likedScores","problems"])),Object(u["c"])("user",["profile"])),{},{CONTEST_MODE:function(){return l["a"]}}),methods:{onPageChange:function(e){this.pageNow=e,this.showAllSubmissions(this.targetUsername,this.targetProblemCode)},onPageSizeChange:function(e){this.pageSize=e,this.showAllSubmissions(this.targetUsername,this.targetProblemCode)},onSort:function(e){var s=e.key,t=e.order;"normal"===t?(this.sortBy="",this.ascending=!1):(this.sortBy=s,this.ascending="asc"===t)},setUserLiked:function(e,s){this.$store.commit("contest/setScoreLiked",{userId:e,status:s})},showAllSubmissions:function(e,s){var t=this;this.targetUsername=e,this.targetProblemCode=s;var i=this.contest.features[this.contestStatus===l["c"].RUNNING?"contestRunning":"contestEnd"],n=i.displayPeerSubmission;(n||this.isAdmin||e===this.profile.username)&&this.$refs.SubmissionList.querySubmissionList({username:e,problemCode:s,pageSize:this.pageSize,pageNow:this.pageNow,sortBy:this.sortBy,ascending:this.ascending}).then((function(e){t.total=parseInt(e.totalPage)*t.pageSize,t.modelSubmissions=!0})).catch((function(e){t.$Message.error(e.message)}))},onSubmissionListCellClick:function(e,s){switch(s.key){case"submissionId":case"judgeResult":(e.username===this.username||this.isAdmin||e.isPublic)&&(this.$refs.SubmissionDetailView.query(e.submissionId),this.modelSubmissionDetail=!0);break}}}},d=m,b=t("2877"),f=Object(b["a"])(d,i,n,!1,null,"665fa04e",null);s["default"]=f.exports}}]); -//# sourceMappingURL=chunk-379d1f46.450a701d.js.map \ No newline at end of file diff --git a/js/chunk-379d1f46.450a701d.js.map b/js/chunk-379d1f46.450a701d.js.map deleted file mode 100644 index ab2bc561..00000000 --- a/js/chunk-379d1f46.450a701d.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./src/components/submission/SubmissionList.vue?aaff","webpack:///./src/components/submission/SubmissionList.vue?5c55","webpack:///src/components/submission/SubmissionList.vue","webpack:///./src/components/submission/SubmissionList.vue?e170","webpack:///./src/components/submission/SubmissionList.vue","webpack:///./src/views/contest/ContestRankView.vue?609b","webpack:///src/views/contest/ContestRankView.vue","webpack:///./src/views/contest/ContestRankView.vue?88ac","webpack:///./src/views/contest/ContestRankView.vue"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","size","showHeader","noDataText","filteredColumns","submissions","loading","on","onSelectionChange","onSort","onCellClick","scopedSlots","_u","key","fn","ref","row","name","contestId","params","submissionId","_v","_s","problemTitle","problemCode","_f","judgeResult","checkpointNum","$judgedNum","judgeScore","usedTime","usedMemory","gmtCreate","_t","staticRenderFns","components","mixins","props","selection","type","Boolean","default","String","doRejudge","bannedKey","Array","columns","filters","timeformat","timestamp","parseInt","fromnow","problemCodeEncode","store","data","listenedSubmissions","computed","methods","$emit","e","col","event","wsSuccess","JSON","parse","isArray","i","fillCheckpointResults","undefined","index","oneJudge","toString","$length","websock","close","querySubmissionList","Promise","api","resolve","ret","displayCheckpointResult","rows","forEach","o","length","created","filter","width","component","_m","_l","problem","_e","staticStyle","style","acceptNum","submitNum","score","user","userId","class","sortorderswitch","scoreliked","likedScoresMap","scorethisisme","profile","likedScores","rank","$event","setUserLiked","username","official","nickname","solved","contestMode","CONTEST_MODE","ACM","numSubmissions","numSubmissionsPending","css","showAllSubmissions","time","OI","IOI","model","value","callback","$$v","modelSubmissions","expression","onSubmissionListCellClick","total","pageNow","pageSize","pageSizeOpts","onPageChange","onPageSizeChange","modelSubmissionDetail","showSubmissions","showFlags","displayRank","showOnesAllSubmission","ascending","sortBy","targetUsername","targetProblemCode","contestProblemId","time2minutes","order","$store","commit","displayPeerSubmission","isAdmin","$refs","SubmissionList","isPublic","SubmissionDetailView","query"],"mappings":"yIAAA,yBAA6nB,EAAG,G,kCCAhoB,IAAIA,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,OAAO,CAACE,YAAY,WAAWC,MAAM,CAAC,YAAY,GAAG,QAAU,IAAI,CAACH,EAAG,QAAQ,CAACE,YAAY,aAAaC,MAAM,CAAC,KAAOP,EAAIQ,KAAK,cAAcR,EAAIS,WAAW,eAAeT,EAAIU,WAAW,QAAUV,EAAIW,gBAAgB,KAAOX,EAAIY,YAAY,QAAUZ,EAAIa,SAASC,GAAG,CAAC,sBAAsBd,EAAIe,kBAAkB,iBAAiBf,EAAIgB,OAAO,gBAAgBhB,EAAIiB,aAAaC,YAAYlB,EAAImB,GAAG,CAAC,CAACC,IAAI,KAAKC,GAAG,SAASC,GACjgB,IAAIC,EAAMD,EAAIC,IACd,MAAO,CAACnB,EAAG,cAAc,CAACG,MAAM,CAAC,GAAK,CAC9BiB,KAAMxB,EAAIyB,UAAY,4BAA8B,oBACpDC,OAAQ,CAAEC,aAAcJ,EAAII,iBAC1B,CAAC3B,EAAI4B,GAAG5B,EAAI6B,GAAGN,EAAII,oBAAoB,CAACP,IAAI,QAAQC,GAAG,SAASC,GACpE,IAAIC,EAAMD,EAAIC,IACpB,MAAO,CAACnB,EAAG,UAAU,CAACG,MAAM,CAAC,QAAUgB,EAAIO,aAAa,MAAQ,QAAQ,SAAW,KAAK,CAAC1B,EAAG,cAAc,CAACG,MAAM,CAAC,GAAK,CAC7GiB,KAAMxB,EAAIyB,UAAY,kBAAoB,iBAC1CC,OAAQ,CAAEK,YAAaR,EAAIQ,gBACzB,CAAC/B,EAAI4B,GAAG5B,EAAI6B,GAAG7B,EAAIgC,GAAG,oBAAPhC,CAA4BuB,EAAIQ,kBAAkB,MAAM,CAACX,IAAI,eAAeC,GAAG,SAASC,GAC3G,IAAIC,EAAMD,EAAIC,IACtB,MAAO,CAACnB,EAAG,cAAc,CAACG,MAAM,CAAC,OAASgB,EAAIU,YAAY,MAAQV,EAAIW,cAAc,QAAUX,EAAIY,iBAAiB,CAACf,IAAI,QAAQC,GAAG,SAASC,GACpI,IAAIC,EAAMD,EAAIC,IACtB,MAAO,CAACnB,EAAG,OAAO,CAACJ,EAAI4B,GAAG5B,EAAI6B,GAAsB,OAAnBN,EAAIa,WAAsB,GAAKb,EAAIa,kBAAkB,CAAChB,IAAI,OAAOC,GAAG,SAASC,GACtG,IAAIC,EAAMD,EAAIC,IACtB,MAAO,CAACnB,EAAG,OAAO,CAACE,YAAY,QAAQ,CAACN,EAAI4B,GAAG5B,EAAI6B,GAAGN,EAAIc,UAAY,SAAS,CAACjB,IAAI,MAAMC,GAAG,SAASC,GAC9F,IAAIC,EAAMD,EAAIC,IACtB,MAAO,CAACnB,EAAG,OAAO,CAACE,YAAY,OAAO,CAACN,EAAI4B,GAAG5B,EAAI6B,GAAGN,EAAIe,YAAc,SAAS,CAAClB,IAAI,cAAcC,GAAG,SAASC,GACvG,IAAIC,EAAMD,EAAIC,IACtB,MAAO,CAACnB,EAAG,UAAU,CAACG,MAAM,CAAC,QAAUP,EAAIgC,GAAG,aAAPhC,CAAqBuB,EAAIgB,UAAU,uBAAuB,SAAW,KAAK,CAACnC,EAAG,OAAO,CAACJ,EAAI4B,GAAG5B,EAAI6B,GAAG7B,EAAIgC,GAAG,UAAPhC,CAAkBuB,EAAIgB,wBAAwBnC,EAAG,MAAM,CAACJ,EAAIwC,GAAG,YAAY,IAAI,IACtNC,EAAkB,G,iNCkDtB,GACEjB,KAAM,iBACNkB,WAAY,CAAd,oBACEC,OAAQ,CAAC,EAAX,MACEC,MAAO,CACLC,UAAW,CACTC,KAAMC,QACNC,SAAS,GAEXxC,KAAM,CACJsC,KAAMG,OACND,QAAS,WAEXvC,WAAY,CACVqC,KAAMC,QACNC,SAAS,GAEXE,UAAW,CACTJ,KAAMC,QACNC,SAAS,GAEXtC,WAAY,CACVoC,KAAMG,OACND,QAAS,IAEXG,UAAW,CACTL,KAAMM,MACNJ,QAAS,WAAf,WAEIK,QAAS,CACPP,KAAMM,MACNJ,QAAS,WAAf,OACA,oEACA,6DACA,gEACA,sFACA,0EACA,oEACA,uEACA,4EACA,wFAIEM,QAAS,CACPC,WAAY,SAAhB,KAIM,MAHN,kBAAiB,IACTC,EAAYC,SAASD,IAEhB,IAAb,wBAEIE,QAAS,SAAb,GAIM,MAHN,kBAAiB,IACTF,EAAYC,SAASD,IAEhB,IAAb,wBAEIG,kBAAmB,SAAvB,GACM,OAAIC,EAAV,qCACe,OAAf,OAAe,CAAf,GAEa7B,IAGX8B,KAAM,WACJ,MAAO,CACLlD,gBAAiB,GACjBC,YAAa,GACbC,SAAS,EACTiD,oBAAqB,KAGzBC,SAAU,OAAZ,OAAY,CAAZ,kBACA,uCACA,yCAEEC,QAAS,CACPhD,OAAQ,SAAZ,GACMf,KAAKgE,MAAM,UAAWC,IAExBjD,YAAa,SAAjB,SACMhB,KAAKgE,MAAM,gBAAiB1C,EAAK4C,EAAKN,EAAMO,IAE9CrD,kBAAmB,SAAvB,GACMd,KAAKgE,MAAM,sBAAuBpB,IAEpCwB,UAAW,SAAf,GAC0B,kBAATR,IACTA,EAAOS,KAAKC,MAAMV,IAEpB,IAAK,IAAX,oBAGQ,IAAIT,MAAMoB,QAAQX,EAAKY,IAE/B,CACUxE,KAAKyE,sBAAsBb,GAC3B,MAHA5D,KAAKyE,sBAAsBb,EAAKY,MAOtCC,sBAAuB,SAA3B,GACM,IAAN,sCACoBC,IAAVC,IACAC,EAAS,GAAK,EAAxB,QACYA,EAAS,KAAO,EAA5B,UACU5E,KAAKW,YAAYgE,GAAO3C,YAAc4C,EAAS,GAC/C5E,KAAKW,YAAYgE,GAAOxC,WAAayC,EAAS,GAC9C5E,KAAKW,YAAYgE,GAAOvC,SAAWwC,EAAS,GAAGC,WAC/C7E,KAAKW,YAAYgE,GAAOtC,WAAauC,EAAS,GAAGC,WACN,MAArC7E,KAAK6D,oBAAoBiB,SAC7B9E,KAAK+E,QAAQC,SAGfhF,KAAKW,YAAYgE,GAAO3C,YAAc4C,EAAS,GAIjD5E,KAAKW,YAAYgE,GAAOzC,eAG5B+C,oBAAqB,SAAzB,cACM,OAAO,IAAIC,SAAQ,SAAzB,KACQ,EAAR,WACQC,EAAR,wDACA,GADA,IAEU3D,UAAW,EAArB,aACA,kBAKU,GAJA4D,EAAQC,GACR,EAAV,mBAGc,EAAd,WACY,IAAZ,qFACA,4BACY,IAAKC,EAAyB,OAGhC,IAAV,IACU,EAAV,uBACUD,EAAIE,KAAKC,SAAQ,SAA3B,KACgBC,EAAEzD,aAAe,EAAjC,UACc,EAAd,uBACc,EAAd,sCACc0D,QAIW,IAAXA,IAEJ,EAAV,cACA,cACA,mCACU,EAAV,WAEU,EAAV,4CACA,SACA,oBACU,EAAV,mBAKEC,QAAS,WAAX,WACI3F,KAAKU,gBAAkBV,KAAKoD,QAAQwC,QAAO,SAA/C,yCACQ5F,KAAK4C,YACP5C,KAAKU,gBAAkB,CAAC,CACtBmC,KAAM,YACNgD,MAAO,KACf,gCChPuW,I,wBCQnWC,EAAY,eACd,EACAhG,EACA0C,GACA,EACA,KACA,WACA,MAIa,OAAAsD,E,kDCnBf,IAAIhG,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,aAAa,CAACF,EAAG,QAAQ,CAACE,YAAY,cAAc,CAACF,EAAG,WAAW,CAACA,EAAG,MAAM,CAACG,MAAM,CAAC,GAAK,eAAgBP,EAAa,UAAEI,EAAG,MAAM,CAACG,MAAM,CAAC,GAAK,gBAAgBH,EAAG,OAAOA,EAAG,MAAM,CAACG,MAAM,CAAC,GAAK,qBAAqBP,EAAIgG,GAAG,GAAG5F,EAAG,WAAW,CAAEJ,EAAmB,gBAAEA,EAAIiG,GAAIjG,EAAY,UAAE,SAASkG,GAAS,OAAO9F,EAAG,MAAM,CAACgB,IAAI8E,EAAQnE,YAAYzB,YAAY,iBAAgBN,EAAImG,MAAM,GAAG/F,EAAG,QAAQ,CAACA,EAAG,KAAK,CAACE,YAAY,eAAe,CAACF,EAAG,KAAK,CAACgG,YAAY,CAAC,QAAU,UAAU7F,MAAM,CAAC,MAAQ,OAAO,MAAQ,QAAQ,CAACP,EAAI4B,GAAG,UAAUxB,EAAG,KAAK,CAACgG,YAAY,CAAC,QAAU,UAAU7F,MAAM,CAAC,MAAQ,WAAW,QAAU,IAAI,MAAQ,QAAQ,CAACP,EAAI4B,GAAG,iBAAiBxB,EAAG,KAAK,CAACgG,YAAY,CAAC,QAAU,UAAU7F,MAAM,CAAC,MAAQ,8BAA8B,QAAU,IAAI,MAAQ,QAAQ,CAACP,EAAI4B,GAAG,WAAW5B,EAAIiG,GAAIjG,EAAY,UAAE,SAASkG,GAAS,OAAO9F,EAAG,KAAK,CAACgB,IAAI8E,EAAQnE,YAAYxB,MAAM,CAAC,MAAQ,WAAa2F,EAAQpE,aAAa,MAAQ,QAAQ,CAAC1B,EAAG,cAAc,CAACE,YAAY,QAAQC,MAAM,CAAC,GAAK,CAClkCiB,KAAM,kBACNE,OAAQ,CAAEK,YAAamE,EAAQnE,gBAC7B,CAAC3B,EAAG,SAAS,CAACJ,EAAI4B,GAAG5B,EAAI6B,GAAG7B,EAAIgC,GAAG,mBAAPhC,CAA2BkG,EAAQnE,iBAAkBmE,EAAoB,aAAE9F,EAAG,MAAM,CAACE,YAAY,SAAS+F,MAAQ,eAAkBH,EAAoB,aAAI,uBAAyBlG,EAAImG,OAAO/F,EAAG,MAAM,CAACE,YAAY,iBAAiB,CAACN,EAAI4B,GAAG5B,EAAI6B,GAAGqE,EAAQI,WAAa,KAAK,MAAMtG,EAAI6B,GAAGqE,EAAQK,WAAa,SAAS,OAAM,KAAKnG,EAAG,QAAQ,CAACJ,EAAIiG,GAAIjG,EAAe,aAAE,SAASwG,EAAM5B,GAAO,OAAOxE,EAAG,KAAK,CAACgB,KAAKoF,EAAMC,KAAKC,OAAOC,MAAM,CAC9cC,gBAA2B,IAAVhC,EACjBiC,WAAY7G,EAAI8G,eAAeN,EAAMC,KAAKC,QAC1CK,cAAeP,EAAMC,KAAKC,SAAW1G,EAAIgH,QAAQN,QACjDL,MAAOzB,IAAU5E,EAAIiH,YAAYtB,OAAS,EAAI,oCAAsC,GAAIpF,MAAM,CAAC,GAAK,QAAUiG,EAAMC,KAAKC,SAAS,CAACtG,EAAG,KAAK,CAACE,YAAY,WAAW,CAAEN,EAAe,YAAEI,EAAG,OAAO,CAACJ,EAAI4B,GAAG5B,EAAI6B,IAAmB,IAAhB2E,EAAMU,KAAc,IAAMV,EAAMU,SAAS9G,EAAG,OAAO,CAACJ,EAAI4B,GAAG,SAASxB,EAAG,KAAK,CAACE,YAAY,UAAU8F,YAAY,CAAC,WAAa,YAAY,CAAEpG,EAAI8G,eAAeN,EAAMC,KAAKC,QAAStG,EAAG,OAAO,CAACE,YAAY,YAAYC,MAAM,CAAC,KAAO,YAAYO,GAAG,CAAC,MAAQ,SAASqG,GAAQ,OAAOnH,EAAIoH,aAAaZ,EAAMC,KAAKC,QAAQ,OAAWtG,EAAG,OAAO,CAACE,YAAY,QAAQC,MAAM,CAAC,KAAO,oBAAoBO,GAAG,CAAC,MAAQ,SAASqG,GAAQ,OAAOnH,EAAIoH,aAAaZ,EAAMC,KAAKC,QAAQ,QAAW,GAAGtG,EAAG,KAAK,CAACE,YAAY,UAAU8F,YAAY,CAAC,WAAa,WAAW7F,MAAM,CAAC,MAAQiG,EAAMC,KAAKY,WAAW,CAACjH,EAAG,OAAO,CAACuG,MAAM,CAAC,aAAc,CAAE,uBAAwBH,EAAMc,YAAa,CAACtH,EAAI4B,GAAG5B,EAAI6B,GAAG2E,EAAMC,KAAKY,aAAcb,EAAMC,KAAa,SAAErG,EAAG,OAAO,CAACE,YAAY,mBAAmB,CAACN,EAAI4B,GAAG5B,EAAI6B,GAAG2E,EAAMC,KAAKc,aAAavH,EAAImG,OAAO/F,EAAG,KAAK,CAACE,YAAY,WAAW,CAACN,EAAI4B,GAAG5B,EAAI6B,GAAG2E,EAAMgB,WAAYxH,EAAIyH,cAAgBzH,EAAI0H,aAAaC,IAAKvH,EAAG,KAAK,CAACE,YAAY,WAAW,CAACN,EAAI4B,GAAG5B,EAAI6B,GAAG7B,EAAIgC,GAAG,eAAPhC,CAAuBwG,EAAMA,WAAWpG,EAAG,KAAK,CAACE,YAAY,WAAW,CAACN,EAAI4B,GAAG5B,EAAI6B,GAAG2E,EAAMA,UAAUxG,EAAIiG,GAAIO,EAAoB,gBAAE,SAASN,GAAS,OAAO9F,EAAG,KAAK,CAACgB,IAAI8E,EAAQnE,YAAYzB,YAAY,cAAc,CAAEN,EAAIyH,cAAgBzH,EAAI0H,aAAaC,IAAKvH,EAAG,IAAI,CAAG8F,EAAQ0B,eAAiB1B,EAAQ2B,sBAAyB,EAAGzH,EAAG,MAAM,CAACuG,MAAMT,EAAQ4B,IAAIhH,GAAG,CAAC,MAAQ,SAASqG,GAAQ,OAAOnH,EAAI+H,mBAAmBvB,EAAMC,KAAKY,SAAUnB,EAAQnE,gBAAgB,CAAC/B,EAAI4B,GAAG,IAAI5B,EAAI6B,GAAG7B,EAAIgC,GAAG,eAAPhC,CAAuBkG,EAAQ8B,OAAO,KAAK5H,EAAG,OAAO,CAACJ,EAAI4B,GAAG5B,EAAI6B,GAAIqE,EAAQ0B,eAAiB1B,EAAQ2B,wBAA2B,EAAI,QAAW3B,EAAQ0B,eAAiB1B,EAAQ2B,sBAAyB,eAAe7H,EAAImG,OAAQnG,EAAIyH,cAAgBzH,EAAI0H,aAAaO,GAAI7H,EAAG,IAAI,CAAE8F,EAAQ0B,eAAiB,EAAGxH,EAAG,MAAM,CAACuG,MAAMT,EAAQ4B,IAAIhH,GAAG,CAAC,MAAQ,SAASqG,GAAQ,OAAOnH,EAAI+H,mBAAmBvB,EAAMC,KAAKY,SAAUnB,EAAQnE,gBAAgB,CAAC/B,EAAI4B,GAAG,IAAI5B,EAAI6B,GAAGqE,EAAQM,OAAO,OAAOxG,EAAImG,OAAQnG,EAAIyH,cAAgBzH,EAAI0H,aAAaQ,IAAK9H,EAAG,IAAI,CAAE8F,EAAQ0B,eAAiB,EAAGxH,EAAG,MAAM,CAACuG,MAAMT,EAAQ4B,IAAIhH,GAAG,CAAC,MAAQ,SAASqG,GAAQ,OAAOnH,EAAI+H,mBAAmBvB,EAAMC,KAAKY,SAAUnB,EAAQnE,gBAAgB,CAAC/B,EAAI4B,GAAG,IAAI5B,EAAI6B,GAAGqE,EAAQM,OAAO,KAAKpG,EAAG,OAAO,CAACJ,EAAI4B,GAAG5B,EAAI6B,GAAG7B,EAAIgC,GAAG,eAAPhC,CAAuBkG,EAAQ8B,YAAYhI,EAAImG,OAAOnG,EAAImG,WAAU,MAAKnG,EAAIiG,GAAIjG,EAAU,QAAE,SAASwG,EAAM5B,GAAO,OAAOxE,EAAG,KAAK,CAACgB,IAAIoF,EAAMC,KAAKC,OAAOC,MAAM,CACrhFC,gBAA2B,IAAVhC,EACjBmC,cAAeP,EAAMC,KAAKC,SAAW1G,EAAIgH,QAAQN,OACjDG,WAAY7G,EAAI8G,eAAeN,EAAMC,KAAKC,SAC1CnG,MAAM,CAAC,GAAK,QAAUiG,EAAMC,KAAKC,SAAS,CAACtG,EAAG,KAAK,CAACE,YAAY,WAAW,CAAEN,EAAe,YAAEI,EAAG,OAAO,CAACJ,EAAI4B,GAAG5B,EAAI6B,IAAmB,IAAhB2E,EAAMU,KAAc,IAAMV,EAAMU,SAAS9G,EAAG,OAAO,CAACJ,EAAI4B,GAAG,SAASxB,EAAG,KAAK,CAACE,YAAY,UAAU8F,YAAY,CAAC,WAAa,YAAY,CAAEpG,EAAI8G,eAAeN,EAAMC,KAAKC,QAAStG,EAAG,OAAO,CAACE,YAAY,YAAYC,MAAM,CAAC,KAAO,YAAYO,GAAG,CAAC,MAAQ,SAASqG,GAAQ,OAAOnH,EAAIoH,aAAaZ,EAAMC,KAAKC,QAAQ,OAAWtG,EAAG,OAAO,CAACE,YAAY,QAAQC,MAAM,CAAC,KAAO,oBAAoBO,GAAG,CAAC,MAAQ,SAASqG,GAAQ,OAAOnH,EAAIoH,aAAaZ,EAAMC,KAAKC,QAAQ,QAAW,GAAGtG,EAAG,KAAK,CAACE,YAAY,UAAU8F,YAAY,CAAC,WAAa,WAAW7F,MAAM,CAAC,MAAQiG,EAAMC,KAAKY,WAAW,CAACjH,EAAG,OAAO,CAACuG,MAAM,CAAC,aAAc,CAAE,uBAAwBH,EAAMc,YAAa,CAACtH,EAAI4B,GAAG5B,EAAI6B,GAAG2E,EAAMC,KAAKY,aAAcb,EAAMC,KAAa,SAAErG,EAAG,OAAO,CAACE,YAAY,mBAAmB,CAACN,EAAI4B,GAAG5B,EAAI6B,GAAG2E,EAAMC,KAAKc,aAAavH,EAAImG,OAAO/F,EAAG,KAAK,CAACE,YAAY,WAAW,CAACN,EAAI4B,GAAG5B,EAAI6B,GAAG2E,EAAMgB,WAAYxH,EAAIyH,cAAgBzH,EAAI0H,aAAaC,IAAKvH,EAAG,KAAK,CAACE,YAAY,WAAW,CAACN,EAAI4B,GAAG5B,EAAI6B,GAAG7B,EAAIgC,GAAG,eAAPhC,CAAuBwG,EAAMA,WAAWpG,EAAG,KAAK,CAACE,YAAY,WAAW,CAACN,EAAI4B,GAAG5B,EAAI6B,GAAG2E,EAAMA,UAAUxG,EAAIiG,GAAIO,EAAoB,gBAAE,SAASN,GAAS,OAAO9F,EAAG,KAAK,CAACgB,IAAI8E,EAAQnE,YAAYzB,YAAY,cAAc,CAAEN,EAAIyH,cAAgBzH,EAAI0H,aAAaC,IAAKvH,EAAG,IAAI,CAAG8F,EAAQ0B,eAAiB1B,EAAQ2B,sBAAyB,EAAGzH,EAAG,MAAM,CAACuG,MAAMT,EAAQ4B,IAAIhH,GAAG,CAAC,MAAQ,SAASqG,GAAQ,OAAOnH,EAAI+H,mBAAmBvB,EAAMC,KAAKY,SAAUnB,EAAQnE,gBAAgB,CAAC/B,EAAI4B,GAAG,IAAI5B,EAAI6B,GAAG7B,EAAIgC,GAAG,eAAPhC,CAAuBkG,EAAQ8B,OAAO,KAAK5H,EAAG,OAAO,CAACJ,EAAI4B,GAAG5B,EAAI6B,GAAIqE,EAAQ0B,eAAiB1B,EAAQ2B,wBAA2B,EAAI,QAAY3B,EAAQ0B,eAAiB1B,EAAQ2B,sBAAyB,eAAgB7H,EAAImG,OAAQnG,EAAIyH,cAAgBzH,EAAI0H,aAAaO,GAAI7H,EAAG,IAAI,CAAE8F,EAAQ0B,eAAiB,EAAGxH,EAAG,MAAM,CAACuG,MAAMT,EAAQ4B,IAAIhH,GAAG,CAAC,MAAQ,SAASqG,GAAQ,OAAOnH,EAAI+H,mBAAmBvB,EAAMC,KAAKY,SAAUnB,EAAQnE,gBAAgB,CAAC/B,EAAI4B,GAAG,IAAI5B,EAAI6B,GAAGqE,EAAQM,OAAO,OAAOxG,EAAImG,OAAQnG,EAAIyH,cAAgBzH,EAAI0H,aAAaQ,IAAK9H,EAAG,IAAI,CAAE8F,EAAQ0B,eAAiB,EAAGxH,EAAG,MAAM,CAACuG,MAAMT,EAAQ4B,IAAIhH,GAAG,CAAC,MAAQ,SAASqG,GAAQ,OAAOnH,EAAI+H,mBAAmBvB,EAAMC,KAAKY,SAAUnB,EAAQnE,gBAAgB,CAAC/B,EAAI4B,GAAG,IAAI5B,EAAI6B,GAAGqE,EAAQM,OAAO,KAAMN,EAAQ8B,KAAO,KAAQ5H,EAAG,OAAO,CAACJ,EAAI4B,GAAG5B,EAAI6B,GAAG7B,EAAIgC,GAAG,eAAPhC,CAAuBkG,EAAQ8B,OAAO,UAAU5H,EAAG,OAAO,CAACJ,EAAI4B,GAAG5B,EAAI6B,GAAG7B,EAAIgC,GAAG,eAAPhC,CAAuBkG,EAAQ8B,OAAO,aAAahI,EAAImG,OAAOnG,EAAImG,WAAU,OAAM,KAAK/F,EAAG,QAAQ,CAACG,MAAM,CAAC,MAAQ,MAAM,cAAc,GAAG,UAAW,EAAM,WAAa,IAAI4H,MAAM,CAACC,MAAOpI,EAAoB,iBAAEqI,SAAS,SAAUC,GAAMtI,EAAIuI,iBAAiBD,GAAKE,WAAW,qBAAqB,CAACpI,EAAG,iBAAiB,CAACkB,IAAI,iBAAiBf,MAAM,CAAC,KAAO,QAAQ,UAAY,CAAC,cAAe,WAAY,iBAAiBO,GAAG,CAAC,UAAUd,EAAIgB,OAAO,gBAAgBhB,EAAIyI,4BAA4B,CAAC,CAACrI,EAAG,MAAM,CAACE,YAAY,4BAA4B,CAACF,EAAG,OAAO,CAACG,MAAM,CAAC,KAAO,QAAQ,gBAAgB,GAAG,aAAa,GAAG,MAAQP,EAAI0I,MAAM,QAAU1I,EAAI2I,QAAQ,YAAY3I,EAAI4I,SAAS,iBAAiB5I,EAAI6I,cAAc/H,GAAG,CAAC,iBAAiB,SAASqG,GAAQnH,EAAI2I,QAAQxB,GAAQ,YAAYnH,EAAI8I,aAAa,sBAAsB9I,EAAI+I,qBAAqB,KAAK,IAAI,GAAG3I,EAAG,QAAQ,CAACG,MAAM,CAAC,MAAQ,MAAM,cAAc,GAAG,UAAW,GAAO4H,MAAM,CAACC,MAAOpI,EAAyB,sBAAEqI,SAAS,SAAUC,GAAMtI,EAAIgJ,sBAAsBV,GAAKE,WAAW,0BAA0B,CAACpI,EAAG,uBAAuB,CAACkB,IAAI,0BAA0B,IAAI,IAC99GmB,EAAkB,CAAC,WAAa,IAAIzC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,WAAW,CAACA,EAAG,MAAM,CAACG,MAAM,CAAC,GAAK,eAAeH,EAAG,MAAM,CAACG,MAAM,CAAC,GAAK,oB,8FC0LpL,GACEiB,KAAM,kBACNkB,WAAY,CAAd,yDACEmB,KAAM,WACJ,MAAO,CACL0E,kBAAkB,EAClBS,uBAAuB,EACvBC,iBAAiB,EACjBC,WAAW,EACXC,aAAa,EACbC,sBAAuB,CACrB/B,SAAU,GACVtF,YAAa,IAGf2G,MAAO,EACPC,QAAS,EACTC,SAAU,GACVC,aAAc,CAAC,GAAI,GAAI,IACvBQ,UAAW,GACXC,OAAQ,GAERC,eAAgB,GAChBC,kBAAmB,KAGvBlG,QAAS,CACPmG,iBAAkB,SAAtB,6BACIC,aAAc,SAAlB,GACM,OAAa,IAAT1B,EACK,KAEFvE,SAASuE,EAAO,KAAOlD,aAGlCf,SAAU,OAAZ,OAAY,CAAZ,+DACA,oCACA,mEACA,0BACA,YACA,cACA,gBACA,SACA,cACA,cAEA,oCAXA,IAYI2D,aAAc,WAAlB,iBAEE1D,QAAS,CACP8E,aAAc,SAAlB,GACM7I,KAAK0I,QAAUA,EACf1I,KAAK8H,mBAAmB9H,KAAKsJ,eAAgBtJ,KAAKuJ,oBAEpDT,iBAAkB,SAAtB,GACM9I,KAAK2I,SAAWA,EAChB3I,KAAK8H,mBAAmB9H,KAAKsJ,eAAgBtJ,KAAKuJ,oBAEpDxI,OAAQ,SAAZ,yBACoB,WAAV2I,GACF1J,KAAKqJ,OAAS,GACdrJ,KAAKoJ,WAAY,IAEjBpJ,KAAKqJ,OAASlI,EACdnB,KAAKoJ,UAAb,QAAyB,IAGrBjC,aAAc,SAAlB,KACMnH,KAAK2J,OAAOC,OAAO,wBAAyB,CAAlD,qBAEI9B,mBAAoB,SAAxB,gBACM9H,KAAKsJ,eAAiBlC,EACtBpH,KAAKuJ,kBAAoBzH,EACzB,IAAN,2FACA,2BACU+H,GAAyB7J,KAAK8J,SAAW1C,IAAapH,KAAK+G,QAAQK,WACrEpH,KAAK+J,MAAMC,eAAe/E,oBAAoB,CAC5CmC,SAAV,EACUtF,YAAV,EACU6G,SAAU3I,KAAK2I,SACfD,QAAS1I,KAAK0I,QACdW,OAAQrJ,KAAKqJ,OACbD,UAAWpJ,KAAKoJ,YAC1B,kBACU,EAAV,uCACU,EAAV,uBACA,mBACU,EAAV,8BAIIZ,0BAA2B,SAA/B,KACM,OAAQtE,EAAI/C,KACV,IAAK,eACL,IAAK,eACCG,EAAI8F,WAAapH,KAAKoH,UAAYpH,KAAK8J,SAAWxI,EAAI2I,YACxDjK,KAAK+J,MAAMG,qBAAqBC,MAAM7I,EAAII,cAC1C1B,KAAK+I,uBAAwB,GAE/B,UCzS8V,I,YCOpWjD,EAAY,eACd,EACAhG,EACA0C,GACA,EACA,KACA,WACA,MAIa,aAAAsD,E","file":"js/chunk-379d1f46.450a701d.js","sourcesContent":["import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/less-loader/dist/cjs.js??ref--14-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubmissionList.vue?vue&type=style&index=0&id=171d3a25&lang=less&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/less-loader/dist/cjs.js??ref--14-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubmissionList.vue?vue&type=style&index=0&id=171d3a25&lang=less&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Card',{staticClass:\"clearfix\",attrs:{\"dis-hover\":\"\",\"padding\":0}},[_c('Table',{staticClass:\"data-table\",attrs:{\"size\":_vm.size,\"show-header\":_vm.showHeader,\"no-data-text\":_vm.noDataText,\"columns\":_vm.filteredColumns,\"data\":_vm.submissions,\"loading\":_vm.loading},on:{\"on-selection-change\":_vm.onSelectionChange,\"on-sort-change\":_vm.onSort,\"on-cell-click\":_vm.onCellClick},scopedSlots:_vm._u([{key:\"id\",fn:function(ref){\nvar row = ref.row;\nreturn [_c('router-link',{attrs:{\"to\":{\n name: _vm.contestId ? 'contest-submission-detail' : 'submission-detail',\n params: { submissionId: row.submissionId }\n }}},[_vm._v(_vm._s(row.submissionId))])]}},{key:\"title\",fn:function(ref){\n var row = ref.row;\nreturn [_c('Tooltip',{attrs:{\"content\":row.problemTitle,\"theme\":\"light\",\"transfer\":\"\"}},[_c('router-link',{attrs:{\"to\":{\n name: _vm.contestId ? 'contest-problem' : 'problem-detail',\n params: { problemCode: row.problemCode }\n }}},[_vm._v(_vm._s(_vm._f(\"problemCodeEncode\")(row.problemCode)))])],1)]}},{key:\"judge-result\",fn:function(ref){\n var row = ref.row;\nreturn [_c('JudgeResult',{attrs:{\"result\":row.judgeResult,\"total\":row.checkpointNum,\"current\":row.$judgedNum}})]}},{key:\"score\",fn:function(ref){\n var row = ref.row;\nreturn [_c('span',[_vm._v(_vm._s(row.judgeScore === null ? '' : row.judgeScore))])]}},{key:\"time\",fn:function(ref){\n var row = ref.row;\nreturn [_c('span',{staticClass:\"time\"},[_vm._v(_vm._s(row.usedTime || 0))])]}},{key:\"mem\",fn:function(ref){\n var row = ref.row;\nreturn [_c('span',{staticClass:\"mem\"},[_vm._v(_vm._s(row.usedMemory || 0))])]}},{key:\"submit-time\",fn:function(ref){\n var row = ref.row;\nreturn [_c('Tooltip',{attrs:{\"content\":_vm._f(\"timeformat\")(row.gmtCreate,'yyyy-MM-DD HH:mm:ss'),\"transfer\":\"\"}},[_c('span',[_vm._v(_vm._s(_vm._f(\"fromnow\")(row.gmtCreate)))])])]}}])}),_c('div',[_vm._t(\"default\")],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubmissionList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubmissionList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SubmissionList.vue?vue&type=template&id=171d3a25&scoped=true&\"\nimport script from \"./SubmissionList.vue?vue&type=script&lang=js&\"\nexport * from \"./SubmissionList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SubmissionList.vue?vue&type=style&index=0&id=171d3a25&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"171d3a25\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container\"},[_c('table',{staticClass:\"scoreboard\"},[_c('colgroup',[_c('col',{attrs:{\"id\":\"scorerank\"}}),(_vm.showFlags)?_c('col',{attrs:{\"id\":\"scoreflags\"}}):_c('col'),_c('col',{attrs:{\"id\":\"scoreusername\"}})]),_vm._m(0),_c('colgroup',[(_vm.showSubmissions)?_vm._l((_vm.problems),function(problem){return _c('col',{key:problem.problemCode,staticClass:\"scoreprob\"})}):_vm._e()],2),_c('thead',[_c('tr',{staticClass:\"scoreheader\"},[_c('th',{staticStyle:{\"padding\":\"0 10px\"},attrs:{\"title\":\"rank\",\"scope\":\"col\"}},[_vm._v(\"RANK\")]),_c('th',{staticStyle:{\"padding\":\"0 10px\"},attrs:{\"title\":\"username\",\"colspan\":\"2\",\"scope\":\"col\"}},[_vm._v(\"PARTICIPANT\")]),_c('th',{staticStyle:{\"padding\":\"0 10px\"},attrs:{\"title\":\"# solved / penalty or score\",\"colspan\":\"2\",\"scope\":\"col\"}},[_vm._v(\"SCORE\")]),_vm._l((_vm.problems),function(problem){return _c('th',{key:problem.problemCode,attrs:{\"title\":'problem ' + problem.problemTitle,\"scope\":\"col\"}},[_c('router-link',{staticClass:\"alike\",attrs:{\"to\":{\n name: 'contest-problem',\n params: { problemCode: problem.problemCode }\n }}},[_c('strong',[_vm._v(_vm._s(_vm._f(\"contestProblemId\")(problem.problemCode)))]),(problem.problemColor)?_c('div',{staticClass:\"circle\",style:((\"background: \" + (problem.problemColor) + \"; margin-left: 5px\"))}):_vm._e()]),_c('div',{staticClass:\"problempoints\"},[_vm._v(_vm._s(problem.acceptNum || '-')+\" / \"+_vm._s(problem.submitNum || '-'))])],1)})],2)]),_c('tbody',[_vm._l((_vm.likedScores),function(score,index){return _c('tr',{key:-score.user.userId,class:{\n sortorderswitch: index === 0,\n scoreliked: _vm.likedScoresMap[score.user.userId],\n scorethisisme: score.user.userId === _vm.profile.userId\n },style:(index === _vm.likedScores.length - 1 ? 'border-bottom: thick solid black;' : ''),attrs:{\"id\":'user:' + score.user.userId}},[_c('td',{staticClass:\"scorepl\"},[(_vm.displayRank)?_c('span',[_vm._v(_vm._s(score.rank === -1 ? '*' : score.rank))]):_c('span',[_vm._v(\"?\")])]),_c('td',{staticClass:\"scoreaf\",staticStyle:{\"background\":\"#ffffff\"}},[(_vm.likedScoresMap[score.user.userId])?_c('Icon',{staticClass:\"heart fas\",attrs:{\"type\":\"md-heart\"},on:{\"click\":function($event){return _vm.setUserLiked(score.user.userId, false)}}}):_c('Icon',{staticClass:\"heart\",attrs:{\"type\":\"md-heart-outline\"},on:{\"click\":function($event){return _vm.setUserLiked(score.user.userId, true)}}})],1),_c('td',{staticClass:\"scoretn\",staticStyle:{\"background\":\"#ffffff\"},attrs:{\"title\":score.user.username}},[_c('span',{class:['forceWidth', { 'unofficial-username': !score.official }]},[_vm._v(_vm._s(score.user.username))]),(score.user.nickname)?_c('span',{staticClass:\"forceWidth univ\"},[_vm._v(_vm._s(score.user.nickname))]):_vm._e()]),_c('td',{staticClass:\"scorenc\"},[_vm._v(_vm._s(score.solved))]),(_vm.contestMode === _vm.CONTEST_MODE.ACM)?_c('td',{staticClass:\"scorett\"},[_vm._v(_vm._s(_vm._f(\"time2minutes\")(score.score)))]):_c('td',{staticClass:\"scorett\"},[_vm._v(_vm._s(score.score))]),_vm._l((score.problemResults),function(problem){return _c('td',{key:problem.problemCode,staticClass:\"score_cell\"},[(_vm.contestMode === _vm.CONTEST_MODE.ACM)?_c('a',[((problem.numSubmissions + problem.numSubmissionsPending) > 0)?_c('div',{class:problem.css,on:{\"click\":function($event){return _vm.showAllSubmissions(score.user.username, problem.problemCode)}}},[_vm._v(\" \"+_vm._s(_vm._f(\"time2minutes\")(problem.time))+\" \"),_c('span',[_vm._v(_vm._s((problem.numSubmissions + problem.numSubmissionsPending) === 1 ? '1 try' : (problem.numSubmissions + problem.numSubmissionsPending) + ' tries'))])]):_vm._e()]):(_vm.contestMode === _vm.CONTEST_MODE.OI)?_c('a',[(problem.numSubmissions > 0)?_c('div',{class:problem.css,on:{\"click\":function($event){return _vm.showAllSubmissions(score.user.username, problem.problemCode)}}},[_vm._v(\" \"+_vm._s(problem.score)+\" \")]):_vm._e()]):(_vm.contestMode === _vm.CONTEST_MODE.IOI)?_c('a',[(problem.numSubmissions > 0)?_c('div',{class:problem.css,on:{\"click\":function($event){return _vm.showAllSubmissions(score.user.username, problem.problemCode)}}},[_vm._v(\" \"+_vm._s(problem.score)+\" \"),_c('span',[_vm._v(_vm._s(_vm._f(\"time2minutes\")(problem.time)))])]):_vm._e()]):_vm._e()])})],2)}),_vm._l((_vm.scores),function(score,index){return _c('tr',{key:score.user.userId,class:{\n sortorderswitch: index === 0,\n scorethisisme: score.user.userId === _vm.profile.userId,\n scoreliked: _vm.likedScoresMap[score.user.userId]\n },attrs:{\"id\":'user:' + score.user.userId}},[_c('td',{staticClass:\"scorepl\"},[(_vm.displayRank)?_c('span',[_vm._v(_vm._s(score.rank === -1 ? '*' : score.rank))]):_c('span',[_vm._v(\"?\")])]),_c('td',{staticClass:\"scoreaf\",staticStyle:{\"background\":\"#ffffff\"}},[(_vm.likedScoresMap[score.user.userId])?_c('Icon',{staticClass:\"heart fas\",attrs:{\"type\":\"md-heart\"},on:{\"click\":function($event){return _vm.setUserLiked(score.user.userId, false)}}}):_c('Icon',{staticClass:\"heart\",attrs:{\"type\":\"md-heart-outline\"},on:{\"click\":function($event){return _vm.setUserLiked(score.user.userId, true)}}})],1),_c('td',{staticClass:\"scoretn\",staticStyle:{\"background\":\"#ffffff\"},attrs:{\"title\":score.user.username}},[_c('span',{class:['forceWidth', { 'unofficial-username': !score.official }]},[_vm._v(_vm._s(score.user.username))]),(score.user.nickname)?_c('span',{staticClass:\"forceWidth univ\"},[_vm._v(_vm._s(score.user.nickname))]):_vm._e()]),_c('td',{staticClass:\"scorenc\"},[_vm._v(_vm._s(score.solved))]),(_vm.contestMode === _vm.CONTEST_MODE.ACM)?_c('td',{staticClass:\"scorett\"},[_vm._v(_vm._s(_vm._f(\"time2minutes\")(score.score)))]):_c('td',{staticClass:\"scorett\"},[_vm._v(_vm._s(score.score))]),_vm._l((score.problemResults),function(problem){return _c('td',{key:problem.problemCode,staticClass:\"score_cell\"},[(_vm.contestMode === _vm.CONTEST_MODE.ACM)?_c('a',[((problem.numSubmissions + problem.numSubmissionsPending) > 0)?_c('div',{class:problem.css,on:{\"click\":function($event){return _vm.showAllSubmissions(score.user.username, problem.problemCode)}}},[_vm._v(\" \"+_vm._s(_vm._f(\"time2minutes\")(problem.time))+\" \"),_c('span',[_vm._v(_vm._s((problem.numSubmissions + problem.numSubmissionsPending) === 1 ? '1 try' : ((problem.numSubmissions + problem.numSubmissionsPending) + \" tries\")))])]):_vm._e()]):(_vm.contestMode === _vm.CONTEST_MODE.OI)?_c('a',[(problem.numSubmissions > 0)?_c('div',{class:problem.css,on:{\"click\":function($event){return _vm.showAllSubmissions(score.user.username, problem.problemCode)}}},[_vm._v(\" \"+_vm._s(problem.score)+\" \")]):_vm._e()]):(_vm.contestMode === _vm.CONTEST_MODE.IOI)?_c('a',[(problem.numSubmissions > 0)?_c('div',{class:problem.css,on:{\"click\":function($event){return _vm.showAllSubmissions(score.user.username, problem.problemCode)}}},[_vm._v(\" \"+_vm._s(problem.score)+\" \"),(problem.time < 120000)?_c('span',[_vm._v(_vm._s(_vm._f(\"time2minutes\")(problem.time))+\" min\")]):_c('span',[_vm._v(_vm._s(_vm._f(\"time2minutes\")(problem.time))+\" mins\")])]):_vm._e()]):_vm._e()])})],2)})],2)]),_c('Modal',{attrs:{\"width\":\"60%\",\"footer-hide\":\"\",\"closable\":false,\"scrollable\":\"\"},model:{value:(_vm.modelSubmissions),callback:function ($$v) {_vm.modelSubmissions=$$v},expression:\"modelSubmissions\"}},[_c('SubmissionList',{ref:\"SubmissionList\",attrs:{\"size\":\"small\",\"bannedKey\":['problemCode', 'username', 'problemTitle']},on:{\"on-sort\":_vm.onSort,\"on-cell-click\":_vm.onSubmissionListCellClick}},[[_c('div',{staticClass:\"float-right footer-pages\"},[_c('Page',{attrs:{\"size\":\"small\",\"show-elevator\":\"\",\"show-sizer\":\"\",\"total\":_vm.total,\"current\":_vm.pageNow,\"page-size\":_vm.pageSize,\"page-size-opts\":_vm.pageSizeOpts},on:{\"update:current\":function($event){_vm.pageNow=$event},\"on-change\":_vm.onPageChange,\"on-page-size-change\":_vm.onPageSizeChange}})],1)]],2)],1),_c('Modal',{attrs:{\"width\":\"80%\",\"footer-hide\":\"\",\"closable\":false},model:{value:(_vm.modelSubmissionDetail),callback:function ($$v) {_vm.modelSubmissionDetail=$$v},expression:\"modelSubmissionDetail\"}},[_c('SubmissionDetailView',{ref:\"SubmissionDetailView\"})],1)],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('colgroup',[_c('col',{attrs:{\"id\":\"scoresolv\"}}),_c('col',{attrs:{\"id\":\"scoretotal\"}})])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContestRankView.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContestRankView.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ContestRankView.vue?vue&type=template&id=665fa04e&scoped=true&\"\nimport script from \"./ContestRankView.vue?vue&type=script&lang=js&\"\nexport * from \"./ContestRankView.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"665fa04e\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""} \ No newline at end of file diff --git a/js/chunk-cfb7922e.bdc6cb21.js b/js/chunk-cfb7922e.bdc6cb21.js deleted file mode 100644 index 663b07bd..00000000 --- a/js/chunk-cfb7922e.bdc6cb21.js +++ /dev/null @@ -1,2 +0,0 @@ -(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-cfb7922e"],{"129f":function(t,e){t.exports=Object.is||function(t,e){return t===e?0!==t||1/t===1/e:t!=t&&e!=e}},"2ca0":function(t,e,s){"use strict";var n=s("23e7"),a=s("06cf").f,o=s("50c4"),i=s("5a34"),r=s("1d80"),c=s("ab13"),u=s("c430"),l="".startsWith,d=Math.min,p=c("startsWith"),f=!u&&!p&&!!function(){var t=a(String.prototype,"startsWith");return t&&!t.writable}();n({target:"String",proto:!0,forced:!f&&!p},{startsWith:function(t){var e=String(r(this));i(t);var s=o(d(arguments.length>1?arguments[1]:void 0,e.length)),n=String(t);return l?l.call(e,n,s):e.slice(s,s+n.length)===n}})},"309f":function(t,e,s){},"666e":function(t,e,s){"use strict";s.r(e);var n=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"container"},[t.spinShow?s("div",{staticClass:"spin-container center"},[s("Spin",{attrs:{size:"large",fix:""}})],1):s("Row",[s("Col",{attrs:{span:"18"}},[s("Card",{staticStyle:{"margin-right":"30px"},attrs:{"dis-hover":""}},[s("div",{staticClass:"profile-header"},[s("div",{staticClass:"profile-header__content"},[s("GroupCard",{attrs:{group:t.group}})],1)]),s("div",{staticClass:"profile-content"},[s("Tabs",{attrs:{value:"announcement",animated:!1},on:{"on-click":t.onClickTabs}},[s("TabPane",{attrs:{label:"Announcement",name:"announcement"}},[t.group.markdown?s("Markdown",{attrs:{value:t.group.markdown}}):t._e()],1),s("TabPane",{attrs:{label:"Contest",name:"contest"}},[s("ContestInGroup",{ref:"contestList"})],1)],1)],1)])],1),s("Col",{attrs:{span:"6"}},[s("Card",{attrs:{"dis-hover":"",title:"Members ("+t.members.length+")",padding:0}},[s("div",{staticClass:"card-extra",attrs:{slot:"extra"},slot:"extra"},[s("Input",{attrs:{placeholder:"Find",suffix:"ios-search"},model:{value:t.search,callback:function(e){t.search=e},expression:"search"}})],1),s("Scroll",{attrs:{height:500}},[s("List",{attrs:{size:"small"}},t._l(t.members,(function(t){return s("ListItem",{key:t.userId},[s("UserCard",{attrs:{email:t.email,username:t.username,nickname:t.nickname}})],1)})),1)],1)],1)],1)],1)],1)},a=[],o=(s("4de4"),s("d3b7"),s("ac1f"),s("841c"),s("2ca0"),s("14b6")),i=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",[s("ContestList",{ref:"contestList"}),s("div",{staticClass:"float-left footer-tools"},[s("Select",{staticStyle:{width:"100px"},attrs:{size:"small",transfer:""},model:{value:t.selectContestMode,callback:function(e){t.selectContestMode=e},expression:"selectContestMode"}},[s("Option",{attrs:{value:"all",label:"All"}}),t._l(t.CONTEST_MODE,(function(t){return s("Option",{key:t,attrs:{value:t,label:t.toUpperCase()}})}))],2)],1),s("div",{staticClass:"float-right footer-pages"},[s("Page",{attrs:{size:"small","show-elevator":"","show-sizer":"",transfer:"",total:t.total,current:t.pageNow,"page-size":t.pageSize,"page-size-opts":t.pageSizeOpts},on:{"update:current":function(e){t.pageNow=e},"on-change":t.onPageChange,"on-page-size-change":t.onPageSizeChange}})],1)],1)},r=[],c=s("adf1"),u=s("c9d9"),l={name:"ContestInGroup",components:{ContestList:c["a"]},data:function(){return{pageNow:1,pageSize:15,pageSizeOpts:[15,30,50,100],total:0,selectContestMode:"all",groupId:void 0}},methods:{onPageChange:function(t){this.pageNow=t},onPageSizeChange:function(t){this.pageSize=t},onSort:function(t){var e=t.key,s=t.order;"normal"===s?(this.sortBy="",this.ascending=!1):(this.sortBy=e,this.ascending="asc"===s)},setGroupId:function(t){this.groupId=t},getContestList:function(){var t=this;void 0!==this.groupId&&null!==this.groupId?(this.$refs.contestList.getContestList({groupId:this.groupId,pageNow:this.pageNow,pageSize:this.pageSize,mode:"all"===this.selectContestMode?"":this.selectContestMode}).then((function(e){t.total=parseInt(e.totalPage)*t.pageSize})).catch((function(e){t.$Message.error(e.message)})),this.$refs.contestList.getParticipatedContests().catch((function(e){t.$Message.error(e.message)}))):this.$Message.error("Invalid Group ID")}},watch:{pageSize:function(){this.getContestList()},pageNow:function(){this.getContestList()},sort:function(){this.getContestList()},ascending:function(){this.getContestList()},selectContestMode:function(){this.getContestList()}},computed:{CONTEST_MODE:function(){return u["a"]}}},d=l,p=s("2877"),f=Object(p["a"])(d,i,r,!1,null,"6df523bf",null),g=f.exports,h=s("1af7"),m=s("2957"),v=s("7c15"),C={name:"GroupDetailView",components:{Markdown:o["a"],ContestInGroup:g,UserCard:m["a"],GroupCard:h["a"]},data:function(){return{group:{owner:{},members:[]},spinShow:!1,search:""}},methods:{getGroupDetail:function(t){var e=this;this.spinShow=!0,v["a"].getGroupDetail({groupId:t}).then((function(t){e.group=t})).catch((function(t){e.$Message.error(t.message)})).finally((function(){e.spinShow=!1}))},getContestList:function(){this.$refs.contestList.setGroupId(this.groupId),this.$refs.contestList.getContestList()},onClickTabs:function(t){"contest"===t&&this.getContestList()}},computed:{groupId:function(){return this.$route.params.groupId},members:function(){var t=this;return""===this.search?this.group.members:this.group.members.filter((function(e){return String(e.userId)===t.search||e.username.startsWith(t.search)||e.nickname.startsWith(t.search)}))}},mounted:function(){this.getGroupDetail(this.groupId)}},S=C,_=(s("fa81"),Object(p["a"])(S,n,a,!1,null,"a2e4521a",null));e["default"]=_.exports},"841c":function(t,e,s){"use strict";var n=s("d784"),a=s("825a"),o=s("1d80"),i=s("129f"),r=s("14c3");n("search",1,(function(t,e,s){return[function(e){var s=o(this),n=void 0==e?void 0:e[t];return void 0!==n?n.call(e,s):new RegExp(e)[t](String(s))},function(t){var n=s(e,t,this);if(n.done)return n.value;var o=a(t),c=String(this),u=o.lastIndex;i(u,0)||(o.lastIndex=0);var l=r(o,c);return i(o.lastIndex,u)||(o.lastIndex=u),null===l?-1:l.index}]}))},8425:function(t,e,s){},ab1e:function(t,e,s){"use strict";var n=s("8425"),a=s.n(n);a.a},adf1:function(t,e,s){"use strict";var n=function(){var t=this,e=t.$createElement,s=t._self._c||e;return t.spinShow?s("div",{staticClass:"spin-container center"},[s("Spin",{attrs:{size:"large",fix:""}})],1):s("div",[s("List",{attrs:{size:"large","item-layout":"vertical"}},t._l(t.contestList,(function(e){return s("ListItem",{key:e.contestId},[s("div",{staticStyle:{"margin-right":"10px"},attrs:{slot:"extra"},slot:"extra"},[t.participatedContest.includes(e.contestId)?s("div",{staticStyle:{color:"#5cb85c"}},[s("Icon",{attrs:{type:"md-checkmark"}}),s("strong",[t._v(" Participated")])],1):t._e()]),s("ListItemMeta",[s("div",{staticClass:"contest__date numbox",attrs:{slot:"avatar"},slot:"avatar"},[s("div",{staticClass:"numbox__num__large"},[t._v(t._s(t._f("timeformat")(e.gmtStart,"DD")))]),s("div",{staticClass:"numbox__text"},[t._v(t._s(t._f("timeformat")(e.gmtStart,"yyyy-MM")))])]),s("div",{attrs:{slot:"title"},slot:"title"},[s("router-link",{attrs:{to:{name:"contest-detail",params:{contestId:e.contestId}},custom:""},scopedSlots:t._u([{key:"default",fn:function(n){var a=n.href,o=n.navigate;return[s("a",{staticClass:"contest__title",attrs:{href:a},on:{click:o}},[t._v(t._s(e.contestTitle))])]}}],null,!0)}),e.features.openness===t.CONTEST_OPENNESS.PRIVATE?[t.participatedContest.includes(e.contestId)?s("Icon",{attrs:{type:"ios-unlock",color:"#d9534f",size:"19"}}):s("Icon",{attrs:{type:"md-lock",color:"#d9534f",size:"19"}})]:e.features.openness===t.CONTEST_OPENNESS.PROTECTED?[t.participatedContest.includes(e.contestId)?s("Icon",{attrs:{type:"ios-unlock",color:"orange",size:"19"}}):s("Icon",{attrs:{type:"md-lock",color:"orange",size:"19"}})]:t._e()],2),s("ul",{staticClass:"ivu-list-item-action",attrs:{slot:"description"},slot:"description"},[s("li",[s("div",{class:"contest-type--"+e.features.mode},[s("Icon",{attrs:{type:"md-bulb",color:"#fff"}}),t._v(" "),s("span",[t._v(t._s(e.features.mode.toUpperCase()))])],1)]),s("li",[t._v(" "+t._s(t._f("timeformat")(e.gmtStart,"HH:mm:ss"))+" ")]),s("li",[s("Icon",{attrs:{type:"ios-time-outline"}}),t._v(" "+t._s(t._f("time2hour")(e.gmtEnd-e.gmtStart))+" ")],1),s("li",[s("Icon",{attrs:{type:"ios-people-outline"}}),t._v(" "+t._s(e.participantNum)+" ")],1),s("li",[t.$store.state.now>e.gmtEnd?s("Tag",{attrs:{color:"green"}},[t._v("Finished")]):e.gmtStarte?r["c"].UPCOMING:t.contestEndTime 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return nativeStartsWith\n ? nativeStartsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container\"},[(_vm.spinShow)?_c('div',{staticClass:\"spin-container center\"},[_c('Spin',{attrs:{\"size\":\"large\",\"fix\":\"\"}})],1):_c('Row',[_c('Col',{attrs:{\"span\":\"18\"}},[_c('Card',{staticStyle:{\"margin-right\":\"30px\"},attrs:{\"dis-hover\":\"\"}},[_c('div',{staticClass:\"profile-header\"},[_c('div',{staticClass:\"profile-header__content\"},[_c('GroupCard',{attrs:{\"group\":_vm.group}})],1)]),_c('div',{staticClass:\"profile-content\"},[_c('Tabs',{attrs:{\"value\":\"announcement\",\"animated\":false},on:{\"on-click\":_vm.onClickTabs}},[_c('TabPane',{attrs:{\"label\":\"Announcement\",\"name\":\"announcement\"}},[(_vm.group.markdown)?_c('Markdown',{attrs:{\"value\":_vm.group.markdown}}):_vm._e()],1),_c('TabPane',{attrs:{\"label\":\"Contest\",\"name\":\"contest\"}},[_c('ContestInGroup',{ref:\"contestList\"})],1)],1)],1)])],1),_c('Col',{attrs:{\"span\":\"6\"}},[_c('Card',{attrs:{\"dis-hover\":\"\",\"title\":(\"Members (\" + (_vm.members.length) + \")\"),\"padding\":0}},[_c('div',{staticClass:\"card-extra\",attrs:{\"slot\":\"extra\"},slot:\"extra\"},[_c('Input',{attrs:{\"placeholder\":\"Find\",\"suffix\":\"ios-search\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1),_c('Scroll',{attrs:{\"height\":500}},[_c('List',{attrs:{\"size\":\"small\"}},_vm._l((_vm.members),function(member){return _c('ListItem',{key:member.userId},[_c('UserCard',{attrs:{\"email\":member.email,\"username\":member.username,\"nickname\":member.nickname}})],1)}),1)],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('ContestList',{ref:\"contestList\"}),_c('div',{staticClass:\"float-left footer-tools\"},[_c('Select',{staticStyle:{\"width\":\"100px\"},attrs:{\"size\":\"small\",\"transfer\":\"\"},model:{value:(_vm.selectContestMode),callback:function ($$v) {_vm.selectContestMode=$$v},expression:\"selectContestMode\"}},[_c('Option',{attrs:{\"value\":\"all\",\"label\":\"All\"}}),_vm._l((_vm.CONTEST_MODE),function(mode){return _c('Option',{key:mode,attrs:{\"value\":mode,\"label\":mode.toUpperCase()}})})],2)],1),_c('div',{staticClass:\"float-right footer-pages\"},[_c('Page',{attrs:{\"size\":\"small\",\"show-elevator\":\"\",\"show-sizer\":\"\",\"transfer\":\"\",\"total\":_vm.total,\"current\":_vm.pageNow,\"page-size\":_vm.pageSize,\"page-size-opts\":_vm.pageSizeOpts},on:{\"update:current\":function($event){_vm.pageNow=$event},\"on-change\":_vm.onPageChange,\"on-page-size-change\":_vm.onPageSizeChange}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContestInGroup.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContestInGroup.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ContestInGroup.vue?vue&type=template&id=6df523bf&scoped=true&\"\nimport script from \"./ContestInGroup.vue?vue&type=script&lang=js&\"\nexport * from \"./ContestInGroup.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6df523bf\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GroupDetailView.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GroupDetailView.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./GroupDetailView.vue?vue&type=template&id=a2e4521a&scoped=true&\"\nimport script from \"./GroupDetailView.vue?vue&type=script&lang=js&\"\nexport * from \"./GroupDetailView.vue?vue&type=script&lang=js&\"\nimport style0 from \"./GroupDetailView.vue?vue&type=style&index=0&id=a2e4521a&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a2e4521a\",\n null\n \n)\n\nexport default component.exports","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar sameValue = require('../internals/same-value');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@search logic\nfixRegExpWellKnownSymbolLogic('search', 1, function (SEARCH, nativeSearch, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = requireObjectCoercible(this);\n var searcher = regexp == undefined ? undefined : regexp[SEARCH];\n return searcher !== undefined ? searcher.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search\n function (regexp) {\n var res = maybeCallNative(nativeSearch, regexp, this);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/less-loader/dist/cjs.js??ref--14-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContestList.vue?vue&type=style&index=0&id=00818a92&lang=less&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/less-loader/dist/cjs.js??ref--14-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContestList.vue?vue&type=style&index=0&id=00818a92&lang=less&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.spinShow)?_c('div',{staticClass:\"spin-container center\"},[_c('Spin',{attrs:{\"size\":\"large\",\"fix\":\"\"}})],1):_c('div',[_c('List',{attrs:{\"size\":\"large\",\"item-layout\":\"vertical\"}},_vm._l((_vm.contestList),function(contest){return _c('ListItem',{key:contest.contestId},[_c('div',{staticStyle:{\"margin-right\":\"10px\"},attrs:{\"slot\":\"extra\"},slot:\"extra\"},[(_vm.participatedContest.includes(contest.contestId))?_c('div',{staticStyle:{\"color\":\"#5cb85c\"}},[_c('Icon',{attrs:{\"type\":\"md-checkmark\"}}),_c('strong',[_vm._v(\" Participated\")])],1):_vm._e()]),_c('ListItemMeta',[_c('div',{staticClass:\"contest__date numbox\",attrs:{\"slot\":\"avatar\"},slot:\"avatar\"},[_c('div',{staticClass:\"numbox__num__large\"},[_vm._v(_vm._s(_vm._f(\"timeformat\")(contest.gmtStart,'DD')))]),_c('div',{staticClass:\"numbox__text\"},[_vm._v(_vm._s(_vm._f(\"timeformat\")(contest.gmtStart,'yyyy-MM')))])]),_c('div',{attrs:{\"slot\":\"title\"},slot:\"title\"},[_c('router-link',{attrs:{\"to\":{\n name: 'contest-detail',\n params: { contestId: contest.contestId }\n },\"custom\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\n var href = ref.href;\n var navigate = ref.navigate;\nreturn [_c('a',{staticClass:\"contest__title\",attrs:{\"href\":href},on:{\"click\":navigate}},[_vm._v(_vm._s(contest.contestTitle))])]}}],null,true)}),(contest.features.openness === _vm.CONTEST_OPENNESS.PRIVATE)?[(_vm.participatedContest.includes(contest.contestId))?_c('Icon',{attrs:{\"type\":\"ios-unlock\",\"color\":\"#d9534f\",\"size\":\"19\"}}):_c('Icon',{attrs:{\"type\":\"md-lock\",\"color\":\"#d9534f\",\"size\":\"19\"}})]:(contest.features.openness === _vm.CONTEST_OPENNESS.PROTECTED)?[(_vm.participatedContest.includes(contest.contestId))?_c('Icon',{attrs:{\"type\":\"ios-unlock\",\"color\":\"orange\",\"size\":\"19\"}}):_c('Icon',{attrs:{\"type\":\"md-lock\",\"color\":\"orange\",\"size\":\"19\"}})]:_vm._e()],2),_c('ul',{staticClass:\"ivu-list-item-action\",attrs:{\"slot\":\"description\"},slot:\"description\"},[_c('li',[_c('div',{class:(\"contest-type--\" + (contest.features.mode))},[_c('Icon',{attrs:{\"type\":\"md-bulb\",\"color\":\"#fff\"}}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(contest.features.mode.toUpperCase()))])],1)]),_c('li',[_vm._v(\" \"+_vm._s(_vm._f(\"timeformat\")(contest.gmtStart,'HH:mm:ss'))+\" \")]),_c('li',[_c('Icon',{attrs:{\"type\":\"ios-time-outline\"}}),_vm._v(\" \"+_vm._s(_vm._f(\"time2hour\")((contest.gmtEnd - contest.gmtStart)))+\" \")],1),_c('li',[_c('Icon',{attrs:{\"type\":\"ios-people-outline\"}}),_vm._v(\" \"+_vm._s(contest.participantNum)+\" \")],1),_c('li',[(_vm.$store.state.now > contest.gmtEnd)?_c('Tag',{attrs:{\"color\":\"green\"}},[_vm._v(\"Finished\")]):(contest.gmtStart < _vm.$store.state.now && _vm.$store.state.now < contest.gmtEnd)?_c('Tag',{attrs:{\"color\":\"gold\"}},[_vm._v(\" Running \")]):_vm._e()],1)])])],1)}),1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContestList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContestList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ContestList.vue?vue&type=template&id=00818a92&scoped=true&\"\nimport script from \"./ContestList.vue?vue&type=script&lang=js&\"\nexport * from \"./ContestList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ContestList.vue?vue&type=style&index=0&id=00818a92&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"00818a92\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/less-loader/dist/cjs.js??ref--14-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GroupDetailView.vue?vue&type=style&index=0&id=a2e4521a&lang=less&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/less-loader/dist/cjs.js??ref--14-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GroupDetailView.vue?vue&type=style&index=0&id=a2e4521a&lang=less&scoped=true&\""],"sourceRoot":""} \ No newline at end of file diff --git a/js/chunk-e1c338fe.46bae6ea.js b/js/chunk-e1c338fe.46bae6ea.js deleted file mode 100644 index bd1fe945..00000000 --- a/js/chunk-e1c338fe.46bae6ea.js +++ /dev/null @@ -1,2 +0,0 @@ -(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-e1c338fe"],{"0f48":function(t,e,s){"use strict";s.r(e);var n=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"container"},[t.mygroups.length>0?s("Tabs",{attrs:{animated:!1,type:"card"},model:{value:t.groupId,callback:function(e){t.groupId=e},expression:"groupId"}},[s("TabPane",{attrs:{name:"all",label:"All"}}),t._l(t.mygroups,(function(t){return s("TabPane",{key:t.groupId,attrs:{name:t.groupId,label:t.groupId+": "+t.title}})}))],2):t._e(),s("Row",[s("Col",{attrs:{span:"18"}},[s("div",{staticStyle:{"margin-right":"20px"}},[s("Card",{attrs:{title:"Contest List",padding:0,"dis-hover":""}},[s("Select",{staticStyle:{width:"100px"},attrs:{slot:"extra",size:"small"},slot:"extra",model:{value:t.selectContestMode,callback:function(e){t.selectContestMode=e},expression:"selectContestMode"}},[s("Option",{attrs:{value:"all",label:"All"}}),t._l(t.CONTEST_MODE,(function(t){return s("Option",{key:t,attrs:{value:t,label:t.toUpperCase()}})}))],2),s("ContestList",{ref:"contestList"}),s("div",{staticClass:"float-right footer-pages"},[s("Page",{attrs:{size:"small","show-elevator":"","show-sizer":"",total:t.total,current:t.pageNow,"page-size":t.pageSize,"page-size-opts":t.pageSizeOpts},on:{"update:current":function(e){t.pageNow=e},"on-change":t.onPageChange,"on-page-size-change":t.onPageSizeChange}})],1)],1)],1)]),s("Col",{attrs:{span:"6"}},[t.upcomingContest?s("Card",{staticStyle:{"margin-bottom":"30px"},attrs:{title:"Upcoming",padding:0,"dis-hover":""}},[s("div",{staticClass:"upcoming-title",on:{click:function(e){return t.toContestDetail(t.upcomingContest.contestId)}}},[t._v(" "+t._s(t.upcomingContest.contestTitle)+" ")]),s("div",{staticClass:"upcoming-countdown"},[s("span",[t._v(t._s(t.countdown))])])]):t._e()],1)],1)],1)},o=[],i=s("5530"),a=s("c1df"),r=s.n(a),c=s("2f62"),u=s("bedf"),l=s("7c15"),d=s("c9d9"),p=s("e325"),g=s("adf1"),f="contest#groupId";function m(){return localStorage.getItem(f)||void 0}function h(t){localStorage.setItem(f,t)}var v={mixins:[p["a"]],components:{ContestList:g["a"]},data:function(){return{mygroups:[],upcomingContest:{},selectContestMode:"all"}},computed:Object(i["a"])(Object(i["a"])({},Object(c["d"])(["now"])),{},{CONTEST_MODE:function(){return d["a"]},countdown:function(){var t=r()(new Date(parseInt(this.upcomingContest.gmtStart)));if(t>this.now){var e=r.a.duration(t.diff(this.now,"seconds"),"seconds");return e.weeks()>0?e.humanize():Object(u["c"])(t-this.now)}return"\b"},groupId:{get:function(){return this.$route.query.groupId||m()||"all"},set:function(t){var e;h(t),e=this.$route.query.groupId===t||void 0===this.$route.query.groupId&&"all"===t?this.$route.query:{groupId:"all"===t?void 0:t},this.$router.push({query:e})}}}),methods:{getMyGroupList:function(){var t=this,e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];l["a"].getMyGroupList().then((function(e){t.mygroups=e})).catch((function(s){e&&t.$Message.error(s.message)}))},getContestList:function(t){var e=this,s=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.$refs.contestList.getContestList({pageNow:this.pageNow,pageSize:this.pageSize,mode:"all"===this.selectContestMode?"":this.selectContestMode,groupId:"all"===t?void 0:t}).then((function(t){e.total=parseInt(t.totalPage)*e.pageSize})).catch((function(t){s&&e.$Message.error(t.message)})),this.$refs.contestList.getParticipatedContests().catch((function(t){s&&e.$Message.error(t.message)}))},getUpcomingContest:function(t){var e=this,s=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];l["a"].getUpcomingContest({groupId:"all"===t?void 0:t}).then((function(t){e.upcomingContest=t})).catch((function(t){s&&e.$Message.error(t.message)}))}},watch:{selectContestMode:function(){this.getContestList(this.groupId)},$route:function(){this.getContestList(this.groupId),this.getUpcomingContest(this.groupId)}},mounted:function(){this.getMyGroupList(!1),this.getContestList(this.groupId,!1),this.getUpcomingContest(this.groupId,!1)}},C=v,_=(s("4bbb"),s("2877")),I=Object(_["a"])(C,n,o,!1,null,"72098daf",null);e["default"]=I.exports},"4bbb":function(t,e,s){"use strict";var n=s("f019"),o=s.n(n);o.a},8425:function(t,e,s){},ab1e:function(t,e,s){"use strict";var n=s("8425"),o=s.n(n);o.a},adf1:function(t,e,s){"use strict";var n=function(){var t=this,e=t.$createElement,s=t._self._c||e;return t.spinShow?s("div",{staticClass:"spin-container center"},[s("Spin",{attrs:{size:"large",fix:""}})],1):s("div",[s("List",{attrs:{size:"large","item-layout":"vertical"}},t._l(t.contestList,(function(e){return s("ListItem",{key:e.contestId},[s("div",{staticStyle:{"margin-right":"10px"},attrs:{slot:"extra"},slot:"extra"},[t.participatedContest.includes(e.contestId)?s("div",{staticStyle:{color:"#5cb85c"}},[s("Icon",{attrs:{type:"md-checkmark"}}),s("strong",[t._v(" Participated")])],1):t._e()]),s("ListItemMeta",[s("div",{staticClass:"contest__date numbox",attrs:{slot:"avatar"},slot:"avatar"},[s("div",{staticClass:"numbox__num__large"},[t._v(t._s(t._f("timeformat")(e.gmtStart,"DD")))]),s("div",{staticClass:"numbox__text"},[t._v(t._s(t._f("timeformat")(e.gmtStart,"yyyy-MM")))])]),s("div",{attrs:{slot:"title"},slot:"title"},[s("router-link",{attrs:{to:{name:"contest-detail",params:{contestId:e.contestId}},custom:""},scopedSlots:t._u([{key:"default",fn:function(n){var o=n.href,i=n.navigate;return[s("a",{staticClass:"contest__title",attrs:{href:o},on:{click:i}},[t._v(t._s(e.contestTitle))])]}}],null,!0)}),e.features.openness===t.CONTEST_OPENNESS.PRIVATE?[t.participatedContest.includes(e.contestId)?s("Icon",{attrs:{type:"ios-unlock",color:"#d9534f",size:"19"}}):s("Icon",{attrs:{type:"md-lock",color:"#d9534f",size:"19"}})]:e.features.openness===t.CONTEST_OPENNESS.PROTECTED?[t.participatedContest.includes(e.contestId)?s("Icon",{attrs:{type:"ios-unlock",color:"orange",size:"19"}}):s("Icon",{attrs:{type:"md-lock",color:"orange",size:"19"}})]:t._e()],2),s("ul",{staticClass:"ivu-list-item-action",attrs:{slot:"description"},slot:"description"},[s("li",[s("div",{class:"contest-type--"+e.features.mode},[s("Icon",{attrs:{type:"md-bulb",color:"#fff"}}),t._v(" "),s("span",[t._v(t._s(e.features.mode.toUpperCase()))])],1)]),s("li",[t._v(" "+t._s(t._f("timeformat")(e.gmtStart,"HH:mm:ss"))+" ")]),s("li",[s("Icon",{attrs:{type:"ios-time-outline"}}),t._v(" "+t._s(t._f("time2hour")(e.gmtEnd-e.gmtStart))+" ")],1),s("li",[s("Icon",{attrs:{type:"ios-people-outline"}}),t._v(" "+t._s(e.participantNum)+" ")],1),s("li",[t.$store.state.now>e.gmtEnd?s("Tag",{attrs:{color:"green"}},[t._v("Finished")]):e.gmtStarte?r["c"].UPCOMING:t.contestEndTime 0)?_c('Tabs',{attrs:{\"animated\":false,\"type\":\"card\"},model:{value:(_vm.groupId),callback:function ($$v) {_vm.groupId=$$v},expression:\"groupId\"}},[_c('TabPane',{attrs:{\"name\":\"all\",\"label\":\"All\"}}),_vm._l((_vm.mygroups),function(group){return _c('TabPane',{key:group.groupId,attrs:{\"name\":group.groupId,\"label\":((group.groupId) + \": \" + (group.title))}})})],2):_vm._e(),_c('Row',[_c('Col',{attrs:{\"span\":\"18\"}},[_c('div',{staticStyle:{\"margin-right\":\"20px\"}},[_c('Card',{attrs:{\"title\":\"Contest List\",\"padding\":0,\"dis-hover\":\"\"}},[_c('Select',{staticStyle:{\"width\":\"100px\"},attrs:{\"slot\":\"extra\",\"size\":\"small\"},slot:\"extra\",model:{value:(_vm.selectContestMode),callback:function ($$v) {_vm.selectContestMode=$$v},expression:\"selectContestMode\"}},[_c('Option',{attrs:{\"value\":\"all\",\"label\":\"All\"}}),_vm._l((_vm.CONTEST_MODE),function(mode){return _c('Option',{key:mode,attrs:{\"value\":mode,\"label\":mode.toUpperCase()}})})],2),_c('ContestList',{ref:\"contestList\"}),_c('div',{staticClass:\"float-right footer-pages\"},[_c('Page',{attrs:{\"size\":\"small\",\"show-elevator\":\"\",\"show-sizer\":\"\",\"total\":_vm.total,\"current\":_vm.pageNow,\"page-size\":_vm.pageSize,\"page-size-opts\":_vm.pageSizeOpts},on:{\"update:current\":function($event){_vm.pageNow=$event},\"on-change\":_vm.onPageChange,\"on-page-size-change\":_vm.onPageSizeChange}})],1)],1)],1)]),_c('Col',{attrs:{\"span\":\"6\"}},[(_vm.upcomingContest)?_c('Card',{staticStyle:{\"margin-bottom\":\"30px\"},attrs:{\"title\":\"Upcoming\",\"padding\":0,\"dis-hover\":\"\"}},[_c('div',{staticClass:\"upcoming-title\",on:{\"click\":function($event){return _vm.toContestDetail(_vm.upcomingContest.contestId)}}},[_vm._v(\" \"+_vm._s(_vm.upcomingContest.contestTitle)+\" \")]),_c('div',{staticClass:\"upcoming-countdown\"},[_c('span',[_vm._v(_vm._s(_vm.countdown))])])]):_vm._e()],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContestListView.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContestListView.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ContestListView.vue?vue&type=template&id=72098daf&scoped=true&\"\nimport script from \"./ContestListView.vue?vue&type=script&lang=js&\"\nexport * from \"./ContestListView.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ContestListView.vue?vue&type=style&index=0&id=72098daf&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"72098daf\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/less-loader/dist/cjs.js??ref--14-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContestListView.vue?vue&type=style&index=0&id=72098daf&lang=less&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/less-loader/dist/cjs.js??ref--14-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContestListView.vue?vue&type=style&index=0&id=72098daf&lang=less&scoped=true&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/less-loader/dist/cjs.js??ref--14-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContestList.vue?vue&type=style&index=0&id=00818a92&lang=less&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/less-loader/dist/cjs.js??ref--14-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContestList.vue?vue&type=style&index=0&id=00818a92&lang=less&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.spinShow)?_c('div',{staticClass:\"spin-container center\"},[_c('Spin',{attrs:{\"size\":\"large\",\"fix\":\"\"}})],1):_c('div',[_c('List',{attrs:{\"size\":\"large\",\"item-layout\":\"vertical\"}},_vm._l((_vm.contestList),function(contest){return _c('ListItem',{key:contest.contestId},[_c('div',{staticStyle:{\"margin-right\":\"10px\"},attrs:{\"slot\":\"extra\"},slot:\"extra\"},[(_vm.participatedContest.includes(contest.contestId))?_c('div',{staticStyle:{\"color\":\"#5cb85c\"}},[_c('Icon',{attrs:{\"type\":\"md-checkmark\"}}),_c('strong',[_vm._v(\" Participated\")])],1):_vm._e()]),_c('ListItemMeta',[_c('div',{staticClass:\"contest__date numbox\",attrs:{\"slot\":\"avatar\"},slot:\"avatar\"},[_c('div',{staticClass:\"numbox__num__large\"},[_vm._v(_vm._s(_vm._f(\"timeformat\")(contest.gmtStart,'DD')))]),_c('div',{staticClass:\"numbox__text\"},[_vm._v(_vm._s(_vm._f(\"timeformat\")(contest.gmtStart,'yyyy-MM')))])]),_c('div',{attrs:{\"slot\":\"title\"},slot:\"title\"},[_c('router-link',{attrs:{\"to\":{\n name: 'contest-detail',\n params: { contestId: contest.contestId }\n },\"custom\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\n var href = ref.href;\n var navigate = ref.navigate;\nreturn [_c('a',{staticClass:\"contest__title\",attrs:{\"href\":href},on:{\"click\":navigate}},[_vm._v(_vm._s(contest.contestTitle))])]}}],null,true)}),(contest.features.openness === _vm.CONTEST_OPENNESS.PRIVATE)?[(_vm.participatedContest.includes(contest.contestId))?_c('Icon',{attrs:{\"type\":\"ios-unlock\",\"color\":\"#d9534f\",\"size\":\"19\"}}):_c('Icon',{attrs:{\"type\":\"md-lock\",\"color\":\"#d9534f\",\"size\":\"19\"}})]:(contest.features.openness === _vm.CONTEST_OPENNESS.PROTECTED)?[(_vm.participatedContest.includes(contest.contestId))?_c('Icon',{attrs:{\"type\":\"ios-unlock\",\"color\":\"orange\",\"size\":\"19\"}}):_c('Icon',{attrs:{\"type\":\"md-lock\",\"color\":\"orange\",\"size\":\"19\"}})]:_vm._e()],2),_c('ul',{staticClass:\"ivu-list-item-action\",attrs:{\"slot\":\"description\"},slot:\"description\"},[_c('li',[_c('div',{class:(\"contest-type--\" + (contest.features.mode))},[_c('Icon',{attrs:{\"type\":\"md-bulb\",\"color\":\"#fff\"}}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(contest.features.mode.toUpperCase()))])],1)]),_c('li',[_vm._v(\" \"+_vm._s(_vm._f(\"timeformat\")(contest.gmtStart,'HH:mm:ss'))+\" \")]),_c('li',[_c('Icon',{attrs:{\"type\":\"ios-time-outline\"}}),_vm._v(\" \"+_vm._s(_vm._f(\"time2hour\")((contest.gmtEnd - contest.gmtStart)))+\" \")],1),_c('li',[_c('Icon',{attrs:{\"type\":\"ios-people-outline\"}}),_vm._v(\" \"+_vm._s(contest.participantNum)+\" \")],1),_c('li',[(_vm.$store.state.now > contest.gmtEnd)?_c('Tag',{attrs:{\"color\":\"green\"}},[_vm._v(\"Finished\")]):(contest.gmtStart < _vm.$store.state.now && _vm.$store.state.now < contest.gmtEnd)?_c('Tag',{attrs:{\"color\":\"gold\"}},[_vm._v(\" Running \")]):_vm._e()],1)])])],1)}),1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContestList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContestList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ContestList.vue?vue&type=template&id=00818a92&scoped=true&\"\nimport script from \"./ContestList.vue?vue&type=script&lang=js&\"\nexport * from \"./ContestList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ContestList.vue?vue&type=style&index=0&id=00818a92&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"00818a92\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""} \ No newline at end of file From 7e8192e0cf221c7bed8f3364a40ca90678ee2254 Mon Sep 17 00:00:00 2001 From: zhr2001 <2641489927@qq.com> Date: Thu, 27 May 2021 20:12:37 +0800 Subject: [PATCH 15/23] solve conflict --- src/store/modules/contest.js | 2 +- src/utils/api.js | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/store/modules/contest.js b/src/store/modules/contest.js index 88365992..607474ef 100644 --- a/src/store/modules/contest.js +++ b/src/store/modules/contest.js @@ -197,7 +197,7 @@ const getters = { template: (state) => { return state.contest.template - } + }, submitUserNum: (state, getters) => { const sum = Array(state.problems.length); diff --git a/src/utils/api.js b/src/utils/api.js index 2669bfc2..358c115a 100644 --- a/src/utils/api.js +++ b/src/utils/api.js @@ -13,7 +13,6 @@ import axios from 'axios'; import store from '@/store'; axios.defaults.baseURL = `${process.env.VUE_APP_OJ_SERVER}/api`; -// axios.defaults.baseURL = '101.76.220.225:80/api'; axios.defaults.withCredentials = true; function post(url, data) { @@ -296,7 +295,7 @@ export default { }, setPublic: function (data) { return post('/manage/contest/publicIt', data) - } + }, /* third-party-login */ thirdPartyLogin: function(params) { return get('/user/thirdPartyLogin', params); From 688f691218f014df2a99de636769f36cc53e6406 Mon Sep 17 00:00:00 2001 From: zhr2001 <2641489927@qq.com> Date: Sat, 29 May 2021 10:08:54 +0800 Subject: [PATCH 16/23] update --- src/components/ClarificationComment.vue | 2 +- src/views/contest/ContestClarificationView.vue | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/ClarificationComment.vue b/src/components/ClarificationComment.vue index beb81f38..0117766f 100644 --- a/src/components/ClarificationComment.vue +++ b/src/components/ClarificationComment.vue @@ -87,7 +87,7 @@ export default { .CommentHeader .options{ display: inline-block; position: absolute; - right: 3%; + right: 5%; font-size: 150%; } diff --git a/src/views/contest/ContestClarificationView.vue b/src/views/contest/ContestClarificationView.vue index 86300eb2..7e0763f1 100644 --- a/src/views/contest/ContestClarificationView.vue +++ b/src/views/contest/ContestClarificationView.vue @@ -35,7 +35,7 @@ :clarification-content="item.message" :contest-clarification-id="item.contestClarificationId" :username="item.username" - :time="item.gmtModified | fromnow" + :time="item.gmtCreated | fromnow" :key="item.contestClarificationId" :reply-root="ClarificationReply[indexMp[item.parentId]].message" @on-reply="handleReply(item)" From be0d79908bba9a078c581417413112532d4ca85a Mon Sep 17 00:00:00 2001 From: zhr2001 <2641489927@qq.com> Date: Sat, 29 May 2021 10:18:09 +0800 Subject: [PATCH 17/23] update --- src/views/contest/ContestClarificationView.vue | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/views/contest/ContestClarificationView.vue b/src/views/contest/ContestClarificationView.vue index 7e0763f1..427bfd53 100644 --- a/src/views/contest/ContestClarificationView.vue +++ b/src/views/contest/ContestClarificationView.vue @@ -15,9 +15,6 @@
    {{ item.title }}
    -
    - {{ item.message }} -
    @@ -373,4 +370,8 @@ export default { /deep/ .v-note-wrapper { z-index: 0; } + +/deep/ .ivu-dropdown-item { + overflow: visible; +} From 2f0d8edc26974196efd2db9a96d00e1683da70eb Mon Sep 17 00:00:00 2001 From: zhr2001 <2641489927@qq.com> Date: Sat, 29 May 2021 11:14:12 +0800 Subject: [PATCH 18/23] update --- src/components/ClarificationComment.vue | 9 ++------- src/utils/api.js | 1 + src/views/contest/ContestClarificationView.vue | 18 +++++++++--------- 3 files changed, 12 insertions(+), 16 deletions(-) diff --git a/src/components/ClarificationComment.vue b/src/components/ClarificationComment.vue index 0117766f..f866bde8 100644 --- a/src/components/ClarificationComment.vue +++ b/src/components/ClarificationComment.vue @@ -2,10 +2,9 @@
    {{username}}

    commented {{time}}

    - + ... - Copy Link Quick Answer Edit @@ -42,10 +41,6 @@ export default { id: this.contestClarificationId }) } - if (name === 'Copy') { - window.clipboardData.setData('Text', this.location.href); - this.$Message.success('复制到剪贴板') - } } }, computed: { @@ -87,7 +82,7 @@ export default { .CommentHeader .options{ display: inline-block; position: absolute; - right: 5%; + right: 3%; font-size: 150%; } diff --git a/src/utils/api.js b/src/utils/api.js index 358c115a..2365ae79 100644 --- a/src/utils/api.js +++ b/src/utils/api.js @@ -275,6 +275,7 @@ export default { singleUpload: function(data) { return post('/filesys/upload', data); }, + /* QA part */ createQuestion: function(data) { return post('/contest/createQuestion', data) }, diff --git a/src/views/contest/ContestClarificationView.vue b/src/views/contest/ContestClarificationView.vue index 427bfd53..b99b5ae2 100644 --- a/src/views/contest/ContestClarificationView.vue +++ b/src/views/contest/ContestClarificationView.vue @@ -15,6 +15,9 @@
    {{ item.title }}
    +
    + {{item.username}} +
    @@ -22,9 +25,9 @@

    {{ ClarificationToShow[getSelected - 1].title }}

    -
    -
    -
    {{ ClarificationToShow[getSelected - 1].isPublic }}
    +
    +
    +
    {{ ClarificationToShow[getSelected - 1].isPublic }}
    public
    @@ -32,7 +35,7 @@ :clarification-content="item.message" :contest-clarification-id="item.contestClarificationId" :username="item.username" - :time="item.gmtCreated | fromnow" + :time="item.gmtCreate | fromnow" :key="item.contestClarificationId" :reply-root="ClarificationReply[indexMp[item.parentId]].message" @on-reply="handleReply(item)" @@ -295,9 +298,9 @@ export default { } .bigger { - width: 2%; + width: 1%; height: 0; - padding-bottom: 2%; + padding-bottom: 1%; } .UNPUBLIC { @@ -371,7 +374,4 @@ export default { z-index: 0; } -/deep/ .ivu-dropdown-item { - overflow: visible; -} From 9d56ab7e4882a199b54e3ff85f8ca5c1f6ee5194 Mon Sep 17 00:00:00 2001 From: zhr2001 <2641489927@qq.com> Date: Sat, 29 May 2021 11:43:18 +0800 Subject: [PATCH 19/23] update --- src/views/contest/ContestClarificationView.vue | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/views/contest/ContestClarificationView.vue b/src/views/contest/ContestClarificationView.vue index b99b5ae2..c0f9a686 100644 --- a/src/views/contest/ContestClarificationView.vue +++ b/src/views/contest/ContestClarificationView.vue @@ -29,7 +29,9 @@
    {{ ClarificationToShow[getSelected - 1].isPublic }}
    public + style="display: inline-block; color: black; margin-left: 20px"> +

    {{ ClarificationToShow[getSelected - 1].isPublic }}

    +
    Question
    + - +
    @@ -104,11 +111,13 @@ export default { event: Number, targetItem: {}, isPublic: true, - indexMp: {} + indexMp: {}, + isAnswer: false } }, methods: { ChangeSubmitFormShow(e) { + this.isAnswer = false; this.submitFormVisible = e; this.isCreate = e; this.event = this.eventType.Question @@ -122,6 +131,7 @@ export default { this.event = this.eventType.Edit }, handleReply(data) { + this.isAnswer = true; this.submitFormVisible = true; this.isCreate = false; this.event = this.eventType.Reply; From ab94e8914ac9b08757bf11995fe142655c0db331 Mon Sep 17 00:00:00 2001 From: zhr2001 <2641489927@qq.com> Date: Sat, 29 May 2021 13:43:22 +0800 Subject: [PATCH 20/23] update console error --- src/views/contest/ContestClarificationView.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/views/contest/ContestClarificationView.vue b/src/views/contest/ContestClarificationView.vue index c0f9a686..f39e3ada 100644 --- a/src/views/contest/ContestClarificationView.vue +++ b/src/views/contest/ContestClarificationView.vue @@ -50,7 +50,7 @@
    @@ -263,7 +263,7 @@ export default { }, mounted: function () { this.$nextTick(() => { - this.$refs.md.setMarkdown(this.$store.getters['contest/template']) + if (this.$store.getters['contest/template']) this.$refs.md.setMarkdown(this.$store.getters['contest/template']) }) }, computed: { From e9e5be305a1a56f771c247aa40c4e1c265abd434 Mon Sep 17 00:00:00 2001 From: zhr2001 <2641489927@qq.com> Date: Sat, 29 May 2021 15:27:16 +0800 Subject: [PATCH 21/23] view 's outlook --- src/components/ClarificationComment.vue | 66 +++++++++++-------- .../contest/ContestClarificationView.vue | 8 +-- 2 files changed, 44 insertions(+), 30 deletions(-) diff --git a/src/components/ClarificationComment.vue b/src/components/ClarificationComment.vue index f866bde8..f227c944 100644 --- a/src/components/ClarificationComment.vue +++ b/src/components/ClarificationComment.vue @@ -1,7 +1,7 @@ @@ -20,9 +28,18 @@ diff --git a/src/views/contest/ContestClarificationView.vue b/src/views/contest/ContestClarificationView.vue index f39e3ada..0a874c9c 100644 --- a/src/views/contest/ContestClarificationView.vue +++ b/src/views/contest/ContestClarificationView.vue @@ -14,7 +14,7 @@ @click.native="getClarificationDetail(item.contestClarificationId, index)">
    -
    {{ item.title }}
    +
    {{ item.title }}
    {{item.username}}
    @@ -39,7 +39,7 @@ :username="item.username" :time="item.gmtCreate | fromnow" :key="item.contestClarificationId" - :reply-root="ClarificationReply[indexMp[item.parentId]].message" + :reply-root="ClarificationReply[indexMp[item.parentId]]" @on-reply="handleReply(item)" @on-edit="handleEdit" />
    @@ -87,7 +87,7 @@ export default { if (typeof (timestamp) === 'string') { timestamp = parseInt(timestamp); } - return moment(new Date(timestamp)).fromNow(); + return moment(new Date(timestamp)).format('YYYY-MM-DD hh:mm:ss'); } }, data: function () { @@ -218,7 +218,7 @@ export default { DeleteQuestion(e, index) { this.$Modal.confirm({ title: 'Warning', - content: '

    You \'er deleting the question.

    Go on?

    ', + content: '

    You are deleting the question.

    Go on?

    ', onOk: () => { if (e.isPublic === 'Public') { this.$Message.error('公开问题不予删除'); From e20eb72faf39b1e3692ad15380fb2e2676fd1420 Mon Sep 17 00:00:00 2001 From: zhr2001 <2641489927@qq.com> Date: Sat, 29 May 2021 16:14:30 +0800 Subject: [PATCH 22/23] update quick answer authority --- src/components/ClarificationComment.vue | 7 +++++-- src/views/contest/ContestClarificationView.vue | 1 + 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/components/ClarificationComment.vue b/src/components/ClarificationComment.vue index f227c944..227dfef8 100644 --- a/src/components/ClarificationComment.vue +++ b/src/components/ClarificationComment.vue @@ -5,7 +5,7 @@ ... - Quick Answer + Quick Answer Edit @@ -29,6 +29,7 @@ import Markdown from './editor/Markdown'; import { mapGetters } from 'vuex'; import moment from 'moment'; +import { CLARIFICATION_TYPE } from '_u/constants'; export default { name: 'ClarificationComment', components: { Markdown }, @@ -45,6 +46,7 @@ export default { 'time', 'ClarificationContent', 'contestClarificationId', + 'isPublic', 'replyRoot' ], methods: { @@ -61,7 +63,8 @@ export default { } }, computed: { - ...mapGetters('user', ['isAdmin']) + ...mapGetters('user', ['isAdmin']), + CLARIFICATION_TYPE: () => CLARIFICATION_TYPE } } diff --git a/src/views/contest/ContestClarificationView.vue b/src/views/contest/ContestClarificationView.vue index 0a874c9c..237ad839 100644 --- a/src/views/contest/ContestClarificationView.vue +++ b/src/views/contest/ContestClarificationView.vue @@ -40,6 +40,7 @@ :time="item.gmtCreate | fromnow" :key="item.contestClarificationId" :reply-root="ClarificationReply[indexMp[item.parentId]]" + :isPublic="ClarificationToShow[getSelected - 1].isPublic" @on-reply="handleReply(item)" @on-edit="handleEdit" /> From 5088eace993b6e199672adefa26a88cb89ef53b4 Mon Sep 17 00:00:00 2001 From: zhr2001 <2641489927@qq.com> Date: Sat, 29 May 2021 20:57:55 +0800 Subject: [PATCH 23/23] update delete authority --- src/views/contest/ContestClarificationView.vue | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/views/contest/ContestClarificationView.vue b/src/views/contest/ContestClarificationView.vue index 237ad839..01b29a2b 100644 --- a/src/views/contest/ContestClarificationView.vue +++ b/src/views/contest/ContestClarificationView.vue @@ -14,7 +14,10 @@ @click.native="getClarificationDetail(item.contestClarificationId, index)">
    -
    {{ item.title }}
    +
    {{ item.title }} +
    {{item.username}}
    @@ -268,7 +271,7 @@ export default { }) }, computed: { - ...mapGetters('user', ['isAdmin']), + ...mapGetters('user', ['isAdmin', 'username']), ...mapState('contest', ['contest', 'problems']), ...mapGetters('contest', [ 'contestId',