From 47f81a38a5654f791940681757cca34374b055e9 Mon Sep 17 00:00:00 2001 From: Pavel Kunyavskiy Date: Sun, 18 Jun 2023 06:49:31 +0200 Subject: [PATCH 001/154] Rework penalty rounding modes. --- .../icpc-nef/2020-2021/onsite/advanced.json | 2 +- .../org/icpclive/export/pcms/PCMSExporter.kt | 2 +- .../main/kotlin/org/icpclive/api/Advanced.kt | 4 +- .../kotlin/org/icpclive/api/ContestInfo.kt | 14 +++- .../kotlin/org/icpclive/api/Scoreboard.kt | 4 +- .../org/icpclive/cds/cats/CATSDataSource.kt | 6 +- .../org/icpclive/cds/clics/ClicsModel.kt | 8 ++- .../org/icpclive/cds/clics/api/Objects.kt | 4 +- .../icpclive/cds/codeforces/CFContestInfo.kt | 7 +- .../icpclive/cds/ejudge/EjudgeDataSource.kt | 6 +- .../org/icpclive/cds/krsu/KRSUDataSource.kt | 3 +- .../org/icpclive/cds/noop/NoopDataSource.kt | 3 +- .../org/icpclive/cds/pcms/PCMSDataSource.kt | 6 +- .../icpclive/cds/testsys/TestSysDataSource.kt | 2 +- .../icpclive/cds/yandex/YandexContestInfo.kt | 4 +- .../scoreboard/ICPCScoreboardCalculator.kt | 30 +-------- .../scoreboard/IOIScoreboardCalculator.kt | 16 +++-- .../icpclive/scoreboard/PenaltyCalculator.kt | 64 +++++++++++++++++++ .../org/icpclive/util/SerializationUtils.kt | 14 ++++ 19 files changed, 146 insertions(+), 53 deletions(-) create mode 100644 src/cds/src/main/kotlin/org/icpclive/scoreboard/PenaltyCalculator.kt diff --git a/config/icpc-nef/2020-2021/onsite/advanced.json b/config/icpc-nef/2020-2021/onsite/advanced.json index 98d9c8dda..4ccfcf8cc 100644 --- a/config/icpc-nef/2020-2021/onsite/advanced.json +++ b/config/icpc-nef/2020-2021/onsite/advanced.json @@ -1,5 +1,5 @@ { - "freezeTimeSeconds": 14400, + "freezeTimeSeconds": 18000, "teamMediaTemplate": { "screen": { "type": "Video", diff --git a/src/cds-converter/src/main/kotlin/org/icpclive/export/pcms/PCMSExporter.kt b/src/cds-converter/src/main/kotlin/org/icpclive/export/pcms/PCMSExporter.kt index 77f082f70..4721f32f4 100644 --- a/src/cds-converter/src/main/kotlin/org/icpclive/export/pcms/PCMSExporter.kt +++ b/src/cds-converter/src/main/kotlin/org/icpclive/export/pcms/PCMSExporter.kt @@ -88,7 +88,7 @@ object PCMSExporter { probNode.setAttribute("alias", info.problems[index].letter) probNode.setAttribute("time", (probResult.lastSubmitTime ?: Duration.ZERO).inWholeMilliseconds.toString()) probNode.setAttribute("penalty", (if (probResult.isSolved) { - probResult.lastSubmitTime!!.inWholeMinutes + probResult.wrongAttempts * info.penaltyPerWrongAttempt + (probResult.lastSubmitTime!! + info.penaltyPerWrongAttempt * probResult.wrongAttempts).inWholeMinutes } else 0).toString()) problemRuns.forEach { probNode.createChild("run").apply { diff --git a/src/cds/src/main/kotlin/org/icpclive/api/Advanced.kt b/src/cds/src/main/kotlin/org/icpclive/api/Advanced.kt index 471546fa3..e00720424 100644 --- a/src/cds/src/main/kotlin/org/icpclive/api/Advanced.kt +++ b/src/cds/src/main/kotlin/org/icpclive/api/Advanced.kt @@ -3,6 +3,7 @@ package org.icpclive.api import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable import org.icpclive.util.ColorSerializer +import org.icpclive.util.DurationInMinutesSerializer import org.icpclive.util.DurationInSecondsSerializer import org.icpclive.util.humanReadable import java.awt.Color @@ -39,7 +40,8 @@ data class GroupInfoOverride( @Serializable class RankingSettings( val medals: List? = null, - val penaltyPerWrongAttempt: Int? = null, + @Serializable(with = DurationInMinutesSerializer::class) + val penaltyPerWrongAttempt: Duration? = null, val showTeamsWithoutSubmissions: Boolean? = null, val penaltyRoundingMode: PenaltyRoundingMode? = null ) diff --git a/src/cds/src/main/kotlin/org/icpclive/api/ContestInfo.kt b/src/cds/src/main/kotlin/org/icpclive/api/ContestInfo.kt index af1ef4339..de52378db 100644 --- a/src/cds/src/main/kotlin/org/icpclive/api/ContestInfo.kt +++ b/src/cds/src/main/kotlin/org/icpclive/api/ContestInfo.kt @@ -10,6 +10,7 @@ import org.icpclive.util.UnixMillisecondsSerializer import org.icpclive.util.getLogger import java.awt.Color import kotlin.time.Duration +import kotlin.time.Duration.Companion.minutes enum class MedalTiebreakMode { NONE, @@ -178,6 +179,15 @@ enum class PenaltyRoundingMode { @SerialName("sum_down_to_minute") SUM_DOWN_TO_MINUTE, + + @SerialName("sum_in_seconds") + SUM_IN_SECONDS, + + @SerialName("last") + LAST, + + @SerialName("zero") + ZERO, } @@ -198,13 +208,13 @@ data class ContestInfo( val problems: List, val teams: List, val groups: List, + val penaltyRoundingMode: PenaltyRoundingMode, @SerialName("holdBeforeStartTimeMs") @Serializable(with = DurationInMillisecondsSerializer::class) val holdBeforeStartTime: Duration? = null, val emulationSpeed: Double = 1.0, val medals: List = emptyList(), - val penaltyPerWrongAttempt: Int = 20, - val penaltyRoundingMode: PenaltyRoundingMode = PenaltyRoundingMode.EACH_SUBMISSION_DOWN_TO_MINUTE, + val penaltyPerWrongAttempt: Duration = 20.minutes, ) { val currentContestTime get() = when (status) { diff --git a/src/cds/src/main/kotlin/org/icpclive/api/Scoreboard.kt b/src/cds/src/main/kotlin/org/icpclive/api/Scoreboard.kt index 8f8cf2fc3..5ad541bce 100644 --- a/src/cds/src/main/kotlin/org/icpclive/api/Scoreboard.kt +++ b/src/cds/src/main/kotlin/org/icpclive/api/Scoreboard.kt @@ -3,6 +3,7 @@ package org.icpclive.api import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable import org.icpclive.util.DurationInMillisecondsSerializer +import org.icpclive.util.DurationInMinutesSerializer import kotlin.time.Duration @Serializable @@ -25,7 +26,8 @@ data class ScoreboardRow( val teamId: Int, val rank: Int, val totalScore: Double, - val penalty: Long, + @Serializable(with = DurationInMinutesSerializer::class) + val penalty: Duration, val lastAccepted: Long, val medalType: String?, val problemResults: List, diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/cats/CATSDataSource.kt b/src/cds/src/main/kotlin/org/icpclive/cds/cats/CATSDataSource.kt index b615579d1..e45b9aa34 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/cats/CATSDataSource.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/cats/CATSDataSource.kt @@ -187,7 +187,11 @@ class CATSDataSource(val properties: Properties, creds: Map) : F freezeTime = freezeTime, problems = problemsList, teams = teamList, - groups = emptyList() + groups = emptyList(), + penaltyRoundingMode = when (resultType) { + ContestResultType.IOI -> PenaltyRoundingMode.ZERO + ContestResultType.ICPC -> PenaltyRoundingMode.EACH_SUBMISSION_DOWN_TO_MINUTE + } ) val resultRuns = runs diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/clics/ClicsModel.kt b/src/cds/src/main/kotlin/org/icpclive/cds/clics/ClicsModel.kt index 3cfe6f2b8..c7f395c00 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/clics/ClicsModel.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/clics/ClicsModel.kt @@ -11,6 +11,7 @@ import org.icpclive.util.getLogger import java.awt.Color import kotlin.time.Duration import kotlin.time.Duration.Companion.hours +import kotlin.time.Duration.Companion.minutes class ClicsModel( private val addTeamNames: Boolean, @@ -31,7 +32,7 @@ class ClicsModel( var contestLength = 5.hours var freezeTime = 4.hours var status = ContestStatus.BEFORE - var penaltyPerWrongAttempt = 20 + var penaltyPerWrongAttempt = 20.minutes var holdBeforeStartTime: Duration? = null var name: String = "" @@ -101,7 +102,8 @@ class ClicsModel( teams = teams.values.map { it.toApi() }, groups = groups.values.map { it.toApi() }, penaltyPerWrongAttempt = penaltyPerWrongAttempt, - holdBeforeStartTime = holdBeforeStartTime + holdBeforeStartTime = holdBeforeStartTime, + penaltyRoundingMode = PenaltyRoundingMode.EACH_SUBMISSION_DOWN_TO_MINUTE, ) fun processContest(contest: Contest): List { @@ -110,7 +112,7 @@ class ClicsModel( contestLength = contest.duration freezeTime = contestLength - (contest.scoreboard_freeze_duration ?: Duration.ZERO) holdBeforeStartTime = contest.countdown_pause_time - penaltyPerWrongAttempt = contest.penalty_time ?: 20 + penaltyPerWrongAttempt = contest.penalty_time ?: 20.minutes return emptyList() } diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/clics/api/Objects.kt b/src/cds/src/main/kotlin/org/icpclive/cds/clics/api/Objects.kt index 4afb30216..bf0e03952 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/clics/api/Objects.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/clics/api/Objects.kt @@ -7,6 +7,7 @@ import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable import org.icpclive.cds.clics.ClicsTime import org.icpclive.util.ColorSerializer +import org.icpclive.util.DurationInMinutesSerializer import java.awt.Color import kotlin.time.Duration @@ -35,7 +36,8 @@ data class Contest( val scoreboard_freeze_duration: Duration?, @Serializable(with = ClicsTime.DurationSerializer::class) val countdown_pause_time: Duration? = null, - val penalty_time: Int? = null, + @Serializable(with = DurationInMinutesSerializer::class) + val penalty_time: Duration? = null, val scoreboard_type: String? = null ) diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/codeforces/CFContestInfo.kt b/src/cds/src/main/kotlin/org/icpclive/cds/codeforces/CFContestInfo.kt index f137555aa..b3881fd39 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/codeforces/CFContestInfo.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/codeforces/CFContestInfo.kt @@ -247,7 +247,12 @@ class CFContestInfo { contestLength, problems, participantsById.values.map { it.toApi() }.sortedBy { it.id }, - groups = emptyList() + groups = emptyList(), + penaltyRoundingMode = when (contestType) { + CFContestType.CF -> PenaltyRoundingMode.ZERO + CFContestType.IOI -> PenaltyRoundingMode.ZERO + CFContestType.ICPC -> PenaltyRoundingMode.EACH_SUBMISSION_DOWN_TO_MINUTE + } ) companion object { diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/ejudge/EjudgeDataSource.kt b/src/cds/src/main/kotlin/org/icpclive/cds/ejudge/EjudgeDataSource.kt index 9e866cd61..79e91dd7e 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/ejudge/EjudgeDataSource.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/ejudge/EjudgeDataSource.kt @@ -93,7 +93,11 @@ class EjudgeDataSource(val properties: Properties) : FullReloadContestDataSource freezeTime = freezeTime, problems = parseProblemsInfo(element), teams = teams, - groups = emptyList() + groups = emptyList(), + penaltyRoundingMode = when (resultType) { + ContestResultType.IOI -> PenaltyRoundingMode.ZERO + ContestResultType.ICPC -> PenaltyRoundingMode.EACH_SUBMISSION_DOWN_TO_MINUTE + } ), runs = element.child("runs").children().mapNotNull { run -> parseRunInfo(run, currentTime - startTime, teamIdMapping) diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/krsu/KRSUDataSource.kt b/src/cds/src/main/kotlin/org/icpclive/cds/krsu/KRSUDataSource.kt index c8611f3ce..7e4aab86c 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/krsu/KRSUDataSource.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/krsu/KRSUDataSource.kt @@ -88,7 +88,8 @@ class KRSUDataSource(val properties: Properties) : FullReloadContestDataSource(5 freezeTime = freezeTime, problems = problemsList, teams = teams.values.toList(), - groups = emptyList() + groups = emptyList(), + penaltyRoundingMode = PenaltyRoundingMode.EACH_SUBMISSION_DOWN_TO_MINUTE ), runs, emptyList() diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/noop/NoopDataSource.kt b/src/cds/src/main/kotlin/org/icpclive/cds/noop/NoopDataSource.kt index 0de30b58c..e5a5d9690 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/noop/NoopDataSource.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/noop/NoopDataSource.kt @@ -18,7 +18,8 @@ class NoopDataSource : RawContestDataSource { problems = emptyList(), teams = emptyList(), resultType = ContestResultType.ICPC, - groups = emptyList() + groups = emptyList(), + penaltyRoundingMode = PenaltyRoundingMode.EACH_SUBMISSION_DOWN_TO_MINUTE )) ) diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/pcms/PCMSDataSource.kt b/src/cds/src/main/kotlin/org/icpclive/cds/pcms/PCMSDataSource.kt index 2e594472c..89f294bf7 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/pcms/PCMSDataSource.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/pcms/PCMSDataSource.kt @@ -90,7 +90,11 @@ class PCMSDataSource(val properties: Properties, creds: Map) : F freezeTime, problems, teams, - teams.toGroupInfos() + teams.toGroupInfos(), + when (resultType) { + ContestResultType.IOI -> PenaltyRoundingMode.ZERO + ContestResultType.ICPC -> PenaltyRoundingMode.EACH_SUBMISSION_DOWN_TO_MINUTE + } ), teamsAndRuns.flatMap { it.second }, emptyList() diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/testsys/TestSysDataSource.kt b/src/cds/src/main/kotlin/org/icpclive/cds/testsys/TestSysDataSource.kt index d5553b04b..f472eb6f2 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/testsys/TestSysDataSource.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/testsys/TestSysDataSource.kt @@ -73,7 +73,7 @@ class TestSysDataSource(val properties: Properties) : FullReloadContestDataSourc freezeTime = data["@freeze"]!!.single().toInt().minutes, teams = teams, problems = problems, - penaltyPerWrongAttempt = (penalty.getOrNull(0) ?: 20), + penaltyPerWrongAttempt = (penalty.getOrNull(0) ?: 20).minutes, penaltyRoundingMode = PenaltyRoundingMode.SUM_DOWN_TO_MINUTE, groups = emptyList(), ) diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/yandex/YandexContestInfo.kt b/src/cds/src/main/kotlin/org/icpclive/cds/yandex/YandexContestInfo.kt index ecbd6a53b..0a6ed4a32 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/yandex/YandexContestInfo.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/yandex/YandexContestInfo.kt @@ -88,8 +88,8 @@ class YandexContestInfo private constructor( freezeTime = freezeTime, problems = problems, teams = teams, - penaltyRoundingMode = PenaltyRoundingMode.SUM_DOWN_TO_MINUTE, - groups = emptyList() + groups = emptyList(), + penaltyRoundingMode = PenaltyRoundingMode.SUM_DOWN_TO_MINUTE ) companion object { diff --git a/src/cds/src/main/kotlin/org/icpclive/scoreboard/ICPCScoreboardCalculator.kt b/src/cds/src/main/kotlin/org/icpclive/scoreboard/ICPCScoreboardCalculator.kt index c6c8c8f9c..9039d200c 100644 --- a/src/cds/src/main/kotlin/org/icpclive/scoreboard/ICPCScoreboardCalculator.kt +++ b/src/cds/src/main/kotlin/org/icpclive/scoreboard/ICPCScoreboardCalculator.kt @@ -2,32 +2,7 @@ package org.icpclive.scoreboard import org.icpclive.api.* import kotlin.math.max -import kotlin.time.Duration -interface PenaltyCalculator { - fun addSolvedProblem(time: Duration, wrongAttempts: Int) - val penalty: Long -} - -class EachSubmissionDownToMinutePenaltyCalculator(val penaltyPerWrongAttempt: Int) : PenaltyCalculator { - override fun addSolvedProblem(time: Duration, wrongAttempts: Int) { - penalty += time.inWholeMinutes + wrongAttempts * penaltyPerWrongAttempt - } - - override var penalty = 0L - private set - -} - -class SumDownToMinutePenaltyCalculator(val penaltyPerWrongAttempt: Int) : PenaltyCalculator { - var penaltySeconds = 0L - override fun addSolvedProblem(time: Duration, wrongAttempts: Int) { - penaltySeconds += time.inWholeSeconds + wrongAttempts * penaltyPerWrongAttempt * 60L - } - - override val penalty: Long - get() = penaltySeconds / 60 -} abstract class ICPCScoreboardCalculator : ScoreboardCalculator() { abstract fun isAccepted(runInfo: RunInfo, index: Int, count: Int): Boolean @@ -47,10 +22,7 @@ abstract class ICPCScoreboardCalculator : ScoreboardCalculator() { problems: List ): ScoreboardRow { require(resultType == ContestResultType.ICPC) - val penaltyCalculator = when (penaltyRoundingMode) { - PenaltyRoundingMode.EACH_SUBMISSION_DOWN_TO_MINUTE -> EachSubmissionDownToMinutePenaltyCalculator(penaltyPerWrongAttempt) - PenaltyRoundingMode.SUM_DOWN_TO_MINUTE -> SumDownToMinutePenaltyCalculator(penaltyPerWrongAttempt) - } + val penaltyCalculator = PenaltyCalculator.get(penaltyRoundingMode, penaltyPerWrongAttempt) var solved = 0 var lastAccepted = 0L val runsByProblem = runs.groupBy { it.problemId } diff --git a/src/cds/src/main/kotlin/org/icpclive/scoreboard/IOIScoreboardCalculator.kt b/src/cds/src/main/kotlin/org/icpclive/scoreboard/IOIScoreboardCalculator.kt index 900e97f52..6ef770a82 100644 --- a/src/cds/src/main/kotlin/org/icpclive/scoreboard/IOIScoreboardCalculator.kt +++ b/src/cds/src/main/kotlin/org/icpclive/scoreboard/IOIScoreboardCalculator.kt @@ -1,6 +1,7 @@ package org.icpclive.scoreboard import org.icpclive.api.* +import kotlin.time.Duration class IOIScoreboardCalculator : ScoreboardCalculator() { override val comparator: Comparator = compareBy( @@ -14,21 +15,26 @@ class IOIScoreboardCalculator : ScoreboardCalculator() { problems: List ): ScoreboardRow { require(resultType == ContestResultType.IOI) + val penaltyCalculator = PenaltyCalculator.get(penaltyRoundingMode, penaltyPerWrongAttempt) val runsByProblem = runs.groupBy { it.problemId } val problemResults = problems.map { problem -> val problemRuns = runsByProblem.getOrElse(problem.id) { emptyList() } - val changingRuns = problemRuns.filter { it.result != null && (it.result as IOIRunResult).difference != 0.0 } + val finalRunIndex = problemRuns.indexOfLast { it.result != null && (it.result as IOIRunResult).difference != 0.0 } + val finalRun = if (finalRunIndex == -1) null else problemRuns[finalRunIndex] + if (finalRun != null) { + penaltyCalculator.addSolvedProblem(finalRun.time, problemRuns.subList(0, finalRunIndex).count { (it.result as? IOIRunResult)?.wrongVerdict?.isAddingPenalty == true }) + } IOIProblemResult( - if (problemRuns.all { it.result == null } ) null else changingRuns.sumOf { (it.result as IOIRunResult).difference }, - changingRuns.lastOrNull()?.time, - changingRuns.find { (it.result as IOIRunResult).isFirstBestRun } != null + (finalRun?.result as? IOIRunResult?)?.scoreAfter, + finalRun?.time, + (finalRun?.result as? IOIRunResult?)?.isFirstBestRun == true ) } return ScoreboardRow( teamId, 0, problemResults.sumOf { it.score ?: 0.0 }, - 0, + penaltyCalculator.penalty, problemResults.maxOfOrNull { it.lastSubmitTime?.inWholeMilliseconds ?: 0 } ?: 0, null, problemResults, diff --git a/src/cds/src/main/kotlin/org/icpclive/scoreboard/PenaltyCalculator.kt b/src/cds/src/main/kotlin/org/icpclive/scoreboard/PenaltyCalculator.kt new file mode 100644 index 000000000..409f6532e --- /dev/null +++ b/src/cds/src/main/kotlin/org/icpclive/scoreboard/PenaltyCalculator.kt @@ -0,0 +1,64 @@ +package org.icpclive.scoreboard + +import org.icpclive.api.PenaltyRoundingMode +import kotlin.time.Duration +import kotlin.time.Duration.Companion.minutes +import kotlin.time.times + +sealed interface PenaltyCalculator { + fun addSolvedProblem(time: Duration, wrongAttempts: Int) + val penalty: Duration + + companion object { + fun get(penaltyRoundingMode: PenaltyRoundingMode, penaltyPerWrongAttempt: Duration) = when (penaltyRoundingMode) { + PenaltyRoundingMode.EACH_SUBMISSION_DOWN_TO_MINUTE -> EachSubmissionDownToMinutePenaltyCalculator(penaltyPerWrongAttempt) + PenaltyRoundingMode.SUM_DOWN_TO_MINUTE -> SumDownToMinutePenaltyCalculator(penaltyPerWrongAttempt) + PenaltyRoundingMode.SUM_IN_SECONDS -> SumInSecondsPenaltyCalculator(penaltyPerWrongAttempt) + PenaltyRoundingMode.LAST -> LastPenaltyCalculator(penaltyPerWrongAttempt) + PenaltyRoundingMode.ZERO -> ZeroPenaltyCalculator() + } + } +} + +private class ZeroPenaltyCalculator : PenaltyCalculator { + override fun addSolvedProblem(time: Duration, wrongAttempts: Int) {} + override val penalty = Duration.ZERO +} + +private class EachSubmissionDownToMinutePenaltyCalculator(private val penaltyPerWrongAttempt: Duration) : PenaltyCalculator { + override fun addSolvedProblem(time: Duration, wrongAttempts: Int) { + penalty += time.inWholeMinutes.minutes + penaltyPerWrongAttempt * wrongAttempts + } + + override var penalty = Duration.ZERO +} + +private class SumDownToMinutePenaltyCalculator(private val penaltyPerWrongAttempt: Duration) : PenaltyCalculator { + override fun addSolvedProblem(time: Duration, wrongAttempts: Int) { + penalty_ += time + wrongAttempts * penaltyPerWrongAttempt + } + + private var penalty_ = Duration.ZERO + override val penalty: Duration + get() = penalty_.inWholeMinutes.minutes +} + +private class SumInSecondsPenaltyCalculator(private val penaltyPerWrongAttempt: Duration) : PenaltyCalculator { + override fun addSolvedProblem(time: Duration, wrongAttempts: Int) { + penalty += time + wrongAttempts * penaltyPerWrongAttempt + } + + override var penalty = Duration.ZERO +} + +private class LastPenaltyCalculator(private val penaltyPerWrongAttempt: Duration) : PenaltyCalculator { + private var wrongs = 0 + private var penalty_ = Duration.ZERO + override fun addSolvedProblem(time: Duration, wrongAttempts: Int) { + wrongs += wrongAttempts + penalty_ = maxOf(penalty_, time) + } + + override val penalty + get() = penalty_ + wrongs * penaltyPerWrongAttempt +} \ No newline at end of file diff --git a/src/common/src/main/kotlin/org/icpclive/util/SerializationUtils.kt b/src/common/src/main/kotlin/org/icpclive/util/SerializationUtils.kt index d36f7fc97..59a879585 100644 --- a/src/common/src/main/kotlin/org/icpclive/util/SerializationUtils.kt +++ b/src/common/src/main/kotlin/org/icpclive/util/SerializationUtils.kt @@ -12,6 +12,7 @@ import kotlinx.serialization.json.Json import java.awt.Color import kotlin.time.Duration import kotlin.time.Duration.Companion.milliseconds +import kotlin.time.Duration.Companion.minutes import kotlin.time.Duration.Companion.seconds object DurationInMillisecondsSerializer : KSerializer { @@ -38,6 +39,19 @@ object DurationInSecondsSerializer : KSerializer { } } +object DurationInMinutesSerializer : KSerializer { + override val descriptor: SerialDescriptor = PrimitiveSerialDescriptor("DurationM", PrimitiveKind.LONG) + + override fun serialize(encoder: Encoder, value: Duration) { + encoder.encodeLong(value.inWholeMinutes) + } + + override fun deserialize(decoder: Decoder): Duration { + return decoder.decodeLong().minutes + } +} + + object UnixMillisecondsSerializer : KSerializer { override val descriptor: SerialDescriptor = PrimitiveSerialDescriptor("InstantMs", PrimitiveKind.LONG) From cd75cda880b4974694f67cf1c9ea90f33080a8c9 Mon Sep 17 00:00:00 2001 From: Azat Ismagilov Date: Sun, 23 Apr 2023 10:51:25 +0200 Subject: [PATCH 002/154] Add playwright support --- .eslintrc.json | 53 ++++++++++++++ .github/workflows/playwright.yml | 33 +++++++++ .gitignore | 3 + package-lock.json | 68 ++++++++++++++++++ package.json | 17 +++++ playwright.config.js | 52 ++++++++++++++ tests/capture.spec.js | 41 +++++++++++ .../test-scoreboard-1.png | Bin 0 -> 295034 bytes .../test-statistics-1.png | Bin 0 -> 33347 bytes 9 files changed, 267 insertions(+) create mode 100644 .eslintrc.json create mode 100644 .github/workflows/playwright.yml create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 playwright.config.js create mode 100644 tests/capture.spec.js create mode 100644 tests/capture.spec.js-snapshots/test-scoreboard-1.png create mode 100644 tests/capture.spec.js-snapshots/test-statistics-1.png diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 000000000..c540d3701 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,53 @@ +{ + "ignorePatterns": [ + "build/**" + ], + "env": { + "node": true, + "browser": true, + "es2021": true + }, + "extends": [ + "eslint:recommended" + ], + "parserOptions": { + "ecmaFeatures": { + "jsx": true + }, + "ecmaVersion": 12, + "sourceType": "module" + }, + "rules": { + "indent": [ + "error", + 4 + ], + "linebreak-style": [ + "error", + "unix" + ], + "quotes": [ + "error", + "double" + ], + "semi": [ + "error", + "always" + ], + "eol-last": [ + "error", + "always" + ], + "no-case-declarations": "off", + "object-curly-spacing": [ + "error", + "always" + ], + "no-unused-vars": [ + "warn" + ], + "react/prop-types": [ + "off" + ] + } +} \ No newline at end of file diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml new file mode 100644 index 000000000..f9060a2bd --- /dev/null +++ b/.github/workflows/playwright.yml @@ -0,0 +1,33 @@ +name: Playwright Tests +on: + push: + branches: [ main, master ] + pull_request: + branches: [ main, master ] +jobs: + test: + timeout-minutes: 60 + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + node-version: '16' + cache: 'npm' + cache-dependency-path: 'src/frontend/package-lock.json' + - uses: actions/setup-java@v3 + with: + distribution: adopt + java-version: 11 + - name: Install dependencies + run: npm ci + - name: Install Playwright Browsers + run: npx playwright install --with-deps + - name: Run Playwright tests + run: npx playwright test + - uses: actions/upload-artifact@v3 + if: always() + with: + name: playwright-report + path: playwright-report/ + retention-days: 30 diff --git a/.gitignore b/.gitignore index 73b51c2f0..5f2af5a40 100644 --- a/.gitignore +++ b/.gitignore @@ -355,3 +355,6 @@ gradle-app.setting .idea artifacts +/test-results/ +/playwright-report/ +/playwright/.cache/ diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 000000000..2fcc0bc17 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,68 @@ +{ + "name": "live-v3", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "live-v3", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "fsevents": "^2.3.2", + "playwright-core": "^1.32.3" + }, + "devDependencies": { + "@playwright/test": "^1.32.3" + } + }, + "node_modules/@playwright/test": { + "version": "1.32.3", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.32.3.tgz", + "integrity": "sha512-BvWNvK0RfBriindxhLVabi8BRe3X0J9EVjKlcmhxjg4giWBD/xleLcg2dz7Tx0agu28rczjNIPQWznwzDwVsZQ==", + "dev": true, + "dependencies": { + "@types/node": "*", + "playwright-core": "1.32.3" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=14" + }, + "optionalDependencies": { + "fsevents": "2.3.2" + } + }, + "node_modules/@types/node": { + "version": "18.16.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.0.tgz", + "integrity": "sha512-BsAaKhB+7X+H4GnSjGhJG9Qi8Tw+inU9nJDwmD5CgOmBLEI6ArdhikpLX7DjbjDRDTbqZzU2LSQNZg8WGPiSZQ==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "hasInstallScript": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/playwright-core": { + "version": "1.32.3", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.32.3.tgz", + "integrity": "sha512-SB+cdrnu74ZIn5Ogh/8278ngEh9NEEV0vR4sJFmK04h2iZpybfbqBY0bX6+BLYWVdV12JLLI+JEFtSnYgR+mWg==", + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=14" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 000000000..620e948bc --- /dev/null +++ b/package.json @@ -0,0 +1,17 @@ +{ + "name": "live-v3", + "version": "1.0.0", + "description": "Welcome to the ICPC Live Source Code Repository.", + "main": "index.js", + "dependencies": { + "fsevents": "^2.3.2", + "playwright-core": "^1.32.3" + }, + "devDependencies": { + "@playwright/test": "^1.32.3" + }, + "scripts": {}, + "keywords": [], + "author": "", + "license": "ISC" +} diff --git a/playwright.config.js b/playwright.config.js new file mode 100644 index 000000000..6acf93c99 --- /dev/null +++ b/playwright.config.js @@ -0,0 +1,52 @@ +// @ts-check +import { defineConfig, devices } from "@playwright/test"; + +/** + * Read environment variables from file. + * https://github.com/motdotla/dotenv + */ +// require('dotenv').config(); + +/** + * @see https://playwright.dev/docs/test-configuration + */ +module.exports = defineConfig({ + testDir: "./tests", + /* Run tests in files in parallel */ + fullyParallel: true, + /* Fail the build on CI if you accidentally left test.only in the source code. */ + forbidOnly: !!process.env.CI, + /* Retry on CI only */ + retries: process.env.CI ? 2 : 0, + /* Opt out of parallel tests. */ + workers: 1, + /* Reporter to use. See https://playwright.dev/docs/test-reporters */ + reporter: "html", + /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ + use: { + /* Base URL to use in actions like `await page.goto('/')`. */ + baseURL: "http://127.0.0.1:8080", + + /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ + trace: "on-first-retry", + }, + + /* Configure projects for major browsers */ + projects: [ + { + name: "chromium", + use: { + ...devices["Desktop Chrome"], + viewport: { width: 1920, height: 1080 }, + }, + }, + ], + + /* Run your local dev server before starting the tests */ + webServer: { + command: "./gradlew :backend:run -P:auth.disabled=true -Plive.dev.contest=icpc-nef/2020-2021/onsite", + url: "http://127.0.0.1:8080/overlay", + reuseExistingServer: !process.env.CI, + }, +}); + diff --git a/tests/capture.spec.js b/tests/capture.spec.js new file mode 100644 index 000000000..4ba857591 --- /dev/null +++ b/tests/capture.spec.js @@ -0,0 +1,41 @@ +// @ts-check +import { test, expect } from "@playwright/test"; + +let adminApiContext; +let page; + + +test.beforeAll(async ({ playwright, baseURL, browser }) => { + page = await browser.newPage(); + await page.waitForTimeout(1000); + await page.goto("/overlay"); + adminApiContext = await playwright.request.newContext({ + baseURL: `${baseURL}/api/admin/` + }); +}); + +test.afterAll(async () => { + await page.close(); +}); + +// Uniform screenshots for all platforms +// https://github.com/microsoft/playwright/issues/7575 +// eslint-disable-next-line no-empty-pattern +test.beforeEach(async ({ }, testInfo) => { + testInfo.snapshotPath = (name) => + `${testInfo.file}-snapshots/${name}`; +}); + +const simpleWidgets = ["scoreboard", "statistics"]; + +for (const widgetName of simpleWidgets) { + test(`test ${widgetName}`, async () => { + const showWidget = await adminApiContext.post(`./${widgetName}/show`); + expect(showWidget.ok()).toBeTruthy(); + + await expect(page).toHaveScreenshot(); + + const hideWidget = await adminApiContext.post(`./${widgetName}/hide`); + expect(hideWidget.ok()).toBeTruthy(); + }); +} diff --git a/tests/capture.spec.js-snapshots/test-scoreboard-1.png b/tests/capture.spec.js-snapshots/test-scoreboard-1.png new file mode 100644 index 0000000000000000000000000000000000000000..cbd24eb98a7302e70d59b7c3a1eb3bed084bc71b GIT binary patch literal 295034 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 literal 0 HcmV?d00001 diff --git a/tests/capture.spec.js-snapshots/test-statistics-1.png b/tests/capture.spec.js-snapshots/test-statistics-1.png new file mode 100644 index 0000000000000000000000000000000000000000..21ef0addc7ff55ed14fbc6fa40f37daed929659e GIT binary patch literal 33347 zcmeFabzD^K*Ec$LA~&~!G`BKJgGvu+5ChWPD$*(4gQB8H=m3Ir$57JEph!!1gLDqk zFu=Um9`sk|InVo?_dS2!*GF;hnZ2)l#ftCxuC?*4qP!HzdFt~p7>ood{XiK8JL3(5 zofJ5G8hkR>_2oYJ=a{{+)IC^sEA2cC_7@EK;I67m)Y8BglIp+ysQ%n};4J!4{N97D zle;D@-#x(PP!q;s>5h(I)l{c%9UY3lJa+Nu=#R&+6Gul6D65YSU}S$^2Cc;33qq8K zza@mY41cQ(aT)$L4oA!Iw{iH}IQ*>(f9nG5Z@=)jUx59Mk%&U@w=Vpx3xDgvkqrE; z3xDgv-@5R(F8s|S{a-VUk(EM0ff(U^vBOWFEQ3QW-$%bZdG?R9tY;tR=S^Np_)9rU z+u4#lU0o;ZNA|R@P%o=_Vac)Mr;?f9d8^+2`1xFe{GZ29HdHaK<4;hv@SlU1v; zFqn05n;o4k-M*}_IqtD0d=>Wa#c|3bd4+!d|8(}XW)A8tRSx&j(%~d@2%4$-w$;!? zCqDQ8_JLTxo|>Cl?2`3Rud5g6CC@+yFqpUd>e_nODQr3NgNQpuPPgJXBcqz0TJnD8 z!)c?Zrnohu!L0#WwU41RbesNe`eI66j~}x(w)DK-9_2l-KL&%fmub>o@~xTs19XPw zsnp5qAOlB=LDm`pz21%6&HOw|{*yBDw0*@k-`i7AD8*SvQU)7W7k627)A{q$Y1vM$ zz4;=BKZae;OCbr7b*f*y(+e^q4qJvba7a)a3$2K558G8t&Z#*s_|tO zjm6wH8F@~wqCDkG%s0eo$p%;>1db;{DIN#Zq^T|H&Z?4U*lBFk!R%mprH63ZZ>VN z(5H1MqikgM>7&SPwdqr@7CaZN@?708lb>=H3oN5 z29Z}oJ-}dT8nzxU;EhUp9D=Q)RZ~y1ow#%`-cDqgY>ZtDc047L-1Ez+^Kwgb!u(6Q z=@@3Vo_JhUSKT&2ZBq1*Y`NQhe{QsQeL6^&Ul}tn zl)oSQ!D$=5EA=34>KigEMl`FpZJdrW?g9!GiMU9g5I09TP*I`ku#pysJ5<7}XLY~c zCQP%J>h0*(HCNMm93N;sl7JiaxbItq&u(=MXn~BudIAi} zX~1COmEfTn4c)3*mV7r1oJu>z_Et0P57&K>g{=}v4jMmd@0&-xTkJDHt9~?4ob<39 z;|cJZlp7Ehv54AU+fMm!5tn?Hdr8+93c1hUt3{zBnFekr2BI?FGR zUPcYQJ9~c- zfd|o&{;H{DjB0jkFV(A7ql(&M$L373BDP*sx$a7+X{a_Rsp-vzSI?Qw=GGcp?31bn zp@U0XC%v|Z6Wa(5SXS9)bAQ1K*Zffi&sWVcEYX99y9FY$Sd8;nvk(6(EYt=rthQlghKNzQmb6e$~;~iC;v34qBI+wGpAok9y-{iRX6B!pJ%_( zL{(ieO{DoF-vSkuo##g5ll&&EmCz{(DYjb(?fADyndn;`Mq*uD%Lbc;thh*aQX88a zm*_D=Rfm#7*d1NGMwV*tYn+9VeP~>4k?qH%D82Fpy0Fs6K6m&nP065rY`6P|Tz1H; zuNB%%%Pi}ZDx;@>VUn+rO6%h&h9rnxJwsA-`^6~L?T58Yf&2@jF;z~RQMZ(So;bsj zCxroeCHIrD+s=;Q)e`HF%88m+bKTu*8X7YY$u3og{su0X(*X|zM%2A^YCQ@^C#pe_ zq4r!URh{SRQzJ~~=g+k!KuyG(jd>A7v4X*d4Ya(T7k!V(LIu$+d(>x!<>XvfcIR0T z1-8B;-~xqNwdXcliiVBJu8xPW6xAZOZ_nApd?l;6M3`W9rZ2PO`-D%S+a3?yXcVW^ zX1Y}xhkC~KvTen&@|*K15`-Ra{EBnqy2t(dM(Z0P@aX>HHV&fn7#W`WmC9XkI3(f6 z;F8?o$ajQ&?=4Opr(VHn2?-g(>KOHY!x$X7T$T(x{xpeOOzMbK*u%(d?*?XMXEuSe zH@h}=alDwI0_I>JWg|V;7EBxX`cQyG-R_RY;^99q8xJPPH-td zdg#y27wJYgRG&7X@0?K(6|6UjR&+E<&ZMVbTO+l7_Z_T^>44^MTZx#aM=;xnpb~B@HG;#@Ne%Th*NG^39 z%->++a9=xDDPk918~;qLw(ky z_8{b!y8a9+n~b#KoytvjB()VNFr2t&WHWLdX}+$a<(X~g6uXCCx=Nqj(B17;PvW+E zEgCf`w{Uv}5xT#jZ zxc)9&l}J`aNx$pTpoqfZADkg(Ljd5GG-Gi*doTRi*|U@ zW*sK%TvN_{UTpQ{?^=N9`breaB0Aa0GFH@2W|;-qq*<&UYBbH+26WFvIxS<4ZOiq(3^Hk^r@fBU#?R2OwzOnCYwpU> zyD?v}$kaqXEC~PIX*NiA06&6i@eA0i1WWc5d5- zKeu4zLO;+l##ns0#|!h(AugVW5STkv_e~nTm9;;3qpfB5^Ii9kT%mBtFpw#T=uL{$ ze@IWK-s``NmbXejI4H-Juycbse6RmuD?lsh3l85W&5xi10>P0t!hu>)xhBR%TfeG` zw>6BM9Fq{Ic(^>+qg`0`^8jU5o3GGU7G~g5Vy%;lsViMxpPk2&6130`jbo|l>uIvl zedjNkq*tVA#=m`wu1)Ym|LM6o$0!pm@Uz=b)AxS;_EJY46N5%wnInl?-M7;9E2Dy1 zu2fVJf=|-y{cFv8cC;8+65L6Nu2z0&AaTD&>-=KB(wCp-T6513iY4u>D<$@7H7u}O zrRXV!4tb3##C>2N4t7o2nnHX>G`7Yc&6e`!RAu6fD^~I#1-dorIpkEb;g$Jo%c`lC zwJS7nfz;Vq_9o3rddtGNbFJgO0KvY&63IEyq%p zHXMMD?xDQ=2YK@9)YH(bSD4-H%hoGPNIdI4on(SD3kz!9?YO;0YLoFIQ7RCy|jyGw52~;cfFT33eQ9T>L!0YIVFn`f|h_ zg-_5hs^Pzbl>hyiu>U1+QM;;#hsV=gO*nFTdK!bl+!27{JE-w+5VuLi@9kS9C#Rx7 zTEPTHsld4jUj{zJpGTL#cm$y-Ka%OwbB@mJjU}XUTMrA&nuE`X?H1e7*OzZTO#3Ow z$ti!Zx5>>cXQgzTF{FFf_|!>99t2e81hvcYkcg*r726oxxOr0sO~IwVBrN8&?~-`E z=TYJA+}FdLg^E!H7WT}rj%P==z{1Z$&hJ+A+sjNcXjV41&3dszrTRd+V7Q)RkJ{SS z7T=u+c)I6TN>{f%8oJ+0c8&-lRC0%wskx2);b!xl$q0{~&!YGxZltoJ;(N&eY9md) zj25Y7A>E91cQGqXFfd}9k%YY2!)ZUZ?DtqgdQTyP=f(%PS!tahKNkLF$H0K=N z`M|i}r0mI(x?Vr-hL%-b&b?pvKaz+1P_?SO4IwHvHb>$e1rl9#u%%;UY%GI*O+u5> z-rjE9JZWf?aS7SSR-tDAhRr(!Md45@IJ%qXiJ>8{Y5QNu&I;FcRc&onq@4h5gphMK zys@iGMZ>_;G2e)lrM35?TwC`J+vNCHV|US`4!nC`K{P{n-OF>Ai962VwevW@LelDl zp1RvZp`t3?$(+plvJuO>N7uu&uM)TKJjFYSJ_A%Ge180kk9NMXT)-j?pJjWMCmxQh zblX&Z^5jXr$uCC3JLPDJ;tjA~enCNDaL@gp^GiHL!LK>)qT;I3=K`)elAml+sx zL_PQBhHS7_O{Paz!rC(-`S%_wU%+Hc&CW6*2TPtM=H=%v($P>;V=i!2D0Ze>#j*Sf zn%*-rJ0ICZ$@!&ja zsE%%2x4>ph|HSEw@8MaxrEC7vIdJkTSLQNus?hL4vo1+SNq^Hdf8s4b%XEq3(uutF z_ys$~JNSGJshDMZRH^+eBB(xyVGIs23{a~+OB4|+Eq038t+rY~Ru}eaIg2V6IZTYWkPC~*v9+$`BC%aq@_vAeq{ducXf50 zU&zR@&ilt`qK;N6Lf~1#`c7hysCoBrn<)Oft1!^sFr!}+g)zEP5+~YMcCa<%h+i%y zV8DP|vwm_uB90Yk-U*_K_;u!u{0wbW+$XyJ?et4a`0lyi8~*UkZ{7mB^wFQc;n;t5 zR&fH{RX|yOU6PV6{)@UsEX8IoL zIAHa`l3OAp%=A@n>xODKnL(mq9J$tqu$<}LS41)`AS5;x_kT{%{bK!Qo2-jt9Umf* zNN)IVYi&q0L&X&I^w}crTTza>US3s2He=aVLq+ojguO66>*4;3^U%aWi*wCA#RKp( z`SBAcdVq->v1{hg&U^aSx@6*XBIBB616h=o!-8OqP)U>rR3ZlE;;tGzshmE@t<&FpF3a|6Zuv?BoB%d7WV9{W+`UI&o z`ldq6!(;yHH@=H$G6v%_K4(5yFJeFF*`B{bpOY)%i$tezpcITkr?dUe!d|a#nPv2E zg{9{uNaMG?hNsqH-7Ub?g5VwC!3qx_pHTO?_wq|asfjwpX_=qf=Ul)btbHKaDPRS1 zn0Zq!0uGejalTVRR8*9egM$}A(av7yz<_DQmMZyP2s~Ig-e2D(%N2N-k9b)pjn>!O zyaqJ6IP5)-{)oG168gt?N%B&x6TSDKayEU2*Y>`W*Th6&HaWduLM^FC+Wj$43-LSP zsoOO|z!r#SC~Ik@18aDxgTO;><~SnypF57@7vWC-KSEgoAo6~^k!sgDyQ3c8)65`i^{^B)xF8n-!%n#5a4n5Epq9xfbLfLPSBWZ;squ_45;j z&nD~g19gDH)CDo*G&MCDOP``NJnS`+X~XQ^Sm5xiV{WgWLqV=LCauLcQ)I(v6(FmIdd${Kv!FA_U8<#Nskbxd$W2Atzf3$ zb)bsj$BBFH_?na<`_+Z33oGTg-WU;g|G*PGZwV_qDZQl@%D((%F!=!a-lXT3;Yd=B zsO-zNuAGf$V3LgjC7*jsf&Y&!Y&a+cs>4;L!G%>oqAh*R;o(M z34nEDJE%cf;9u;9d;!lUAv&IiiNMVWIrkone%{z{Kz44-ckx;c@{G7l2An4$=>eWR zYsk7hOVIGR^<*xYGuut(d*$|*=3g0c2Lu8@_OOngmL1vD+@OdX8v_BS{72yU92Ls- z$VST967cy8qSh6Fu2Z?eBu`C#75GOh%>W{7jcRIc-dwFA6&fQ5Im{{gTt3FpMb2_{ zG0z&SB%zj^!tQbx*ds})k^r^Y(hvi$Ecv^4pBGsUB&@dzDLj7s`24wZ9RPFs z2c9aR%>6>PH}s|)j_lH?N~M$9qK*PsK0Lr#JZ`;zG$p{#-i~Ln%mM^7)52KiT|28t zZYhm64~=*vQl`S?4I-%Q0U*DI-!u?yAmk?FdU6LWWu&Fw!v$$Cg@%MsMx8Ykv{a8w z(fjGWU$L~eC0;hV>lD-R0qFTTwNQ=jor;aO_2wbiRC2nu4t_28){^3 zXP2k%@l#@UmWtb$GW@iu>x<>oBEtf0cDJoOd@JIxFc;-Wzm3{;qvL9_$g>1Hs(U_< zl&!?G0?^oMMrK--lOQ;S!ocyJlcyd$;4!=hR%ZK`ta;+M%D^5hR#4EZC@pgNr59$G-F_j ztyU=ync6SO5M%_{s^kWQs@qwgK7DG6-&!85@+|+zp_4++rcOzB4vf^arx&{(=;j~$ z7f^!}Oax@?=)O?nL>g~)+p=>s0?<(F>#tg({scolAcCG^r=|Yerw$8|!63ZNS! z4)BqM=7Sf2FA9O5dLYTdb9-KOchT1LK*(ls^6jJ=NVR-11J-8Pr*x*7O72Z z7yJWf_|&JSEnL0gJ8lDT&Nw|gTfX6Cd5i=a5LhDHX^GmV{X=&nFG6L968L18T1Wg> zBnZxaVb%i5+kJ3qfHyHj>jK>gb0qpu4#}lLq@Wb=nslWp&-0G<5Cj4n7&!p9VE}6tMad0C}d*|Cq@8Q(TJ8tWmdp&vu zfN8-!rL}Iq{o{#-pxd}mVrJRlX@ z|BP^$iwg<4Qb{<(Q;T|(0LMXcc&=5C#@)M2%2B!43CW6KRx(~8TW%W2@eh{r4?KN2 zPgCT|AMexR#dbCVYr z_vW)1%>++Ic1GG%rDOM}xd17VVP8>PTui~P83&9oveTc68;U9U_DYpVNz6B*QvSF+ zEYF?orAk*b)K@n1{{B0ZW>%PnXPjp}H;J@{4tAK~XqRm-y|}L&$~PysyIbE=rmhT*Tg~SS>87Kj0B|iK69$}+F5I5wlQ@%aw9zBiA)XL{EY6@{{ zHb8=5bpaM2BrJ>xS@yGzW_o#fgk4LIgA=aIpi9sVSlia@I7i1Jd<~h`kf5Y@dco&y z8{4qhx3utEA4+y^Qwu+-%HMZX)xdmygvDS$SX$+ETZU%mH5xJY^yx$55WLj`h+%tH zLxZ$j1P>Ces-zTe662b3cRi3nEIUZ-P!m11xR`Nxfalk$OL>w%xY6pUz;gYshvpl-~_p zkkQJDk(u8$VVne}6SM+tB2Kmfj29wEBTKs{tyC(AzNa%;w$Nc-nNHZHy{98$xcb}r z4PI&?AC_f%q_(Jkg9;FNU4^EcCHtHep0TN6ch~PU*20vU1WA(03&odU_*MrH|zK z6vTG-BxTX^vacmQJsVWi0}sXbrTTQ%4qJUpuQ5c8Je&-l*ee$VjU= zTMBhpj_tjA^eWwGfZ+bFsrP1)pgJoScbv0foo^Zuy zN-6SLdxZ@vS6%CJy$*l28rtNvr;r@EGH>l8mILU!3SjkwMMR8>htza+Egj(Z<*0An z)noiKl#(K`WSm*+sgjXnsJ@PfEJ1TUz2oP29ftLtnr;Y-0haRBtL=}qPeN;y`ab@k z04GjfYg^~cs@@aV0QUYH6hC^?2)VA!W*JXTPPX03bDX32l=OuTpXO;>z%FLhr=zN# z0AN-OpBIjFcBcI~K^lGh_~p?4`8q_s!-8GLy|1nIUPY_1G)G;w1lk;jD6GMJlOSak zl^e+Aq2j)+{+F9L38zqjwJw)eCD*sI-B8TU>7-6WaV z8dh@foMm?pF1s!C1~I5;8I^Y2o=7RO`jk?#!)CM{(CJzkt1dm~+SIh8Tq{A9hnGnA z^tHG`$9+#tEjdrS5^#fR>Q2LR{YL}Jx&(PQTb&Gz9EcEuBk#Yy*m2dsqhq`@Q8J*j z_NoCpa&IbF0mSU~__p3@UQwpkbqhVYD5ZPS{+#}c@r&+ym``I~#)^oNa*W^gEG^fJ zy-P0ly$*BD$0n!?akg>+w=YSB7FoNgr(YGmiG)-FYNsD5@IfN+k&95eS~2mO<_Z}Z zcqkx~ZRt@5n|+)uJ<3ahUeeAjUSD@zA8t>aPI*oh)i4l8;4IS=D#peKGj*z|sa^L? z)IQ}ZwoqL)puJanqp2C+Ay`!~75*FoA)sk95ox93LX$Rn4($TzFnzalz=;D>c}4Ei zo$1VV5HjM15pFFJyiE-arVDAD+qFJ?tj-J2uox3e9 zFHafmFl1Fc50({JXN}59Ci$o|z`p9C0oRLhUnxx;&E-%_GoWdq#HShid#d)O1PU+i zM12iLCw2PWX)-7YsZr8P+z(A^{|u~##H%x^sxH-UG>KD%Wl=-LR^B>8pbP+nrJ|K< zO>F2S;H)0j7FE}e7jZhOi+%fblw$9y(ZBQ+& zxt39zVEqAULTiyf7;=RkP_3?(2KL{4kO37Q$xB|h5i#qP>Rygk(T4l`Lu{;W;qZCe znYiQk?J0M*L85CW-q$`!zb(qouMy0o(7QB{ zAMnP#l@-HUc*7!9IWahtVoW9a>tx|#{~@AY9%!>DJ;+1`PzgnH-+Y)7H|~A>1%kE0 z%D~lSFC#DEb8q-mi2Kvr{;9O=?jWJjJAZ+Y1!}}>PWadFpST?lcV{hnGqvmlyhdks z!lrGEjFLeLA`?)|C04ucgJT*MY{)#V%)RYzvkuSdFHBEQ%vaC@LBL+Z-Y?!3Dpcm? zCZvt-kJZ0^`bzLAy*4v4Pg|sikl_4uebrGvUo&&TYm{-}y+bA3Y-}`0P4jc#`>3Nq zWJTBhY_^dG(s&WDlXGbN$&)A30MWY8nfwlL>jlm@eXFr5Jt5~6Rae(i*%-3T_P@f0 zXLW^L8%3xi5np#po0PJAnDVD^%Ne%VKW2B)e##?<^OM@{kKU2pwwMdU`$#%+iQ>fz zq)(hdrM*cTlSZ?$o)5Km$O69m3iYV0le-YI^QYn1;$rfoc_j_yiqT=hc@E8~2$TWQ zPkD1Ux3xLXA3z3G{M`iRc!^-a%j25p>;=&WC^{$K{mNxWeZmi4H8-b$Ap|wDvZ z~qGiNj4;=^#1%OA^*S^>Io%t@BQ9gLi+m4ANgT# zLi0b$^Pn5OE&iQOCc=Hw+iS&A5Gjow<3}9X4j8Pv?%!ea|NQJ<5`uu#4G3(11OVY3 z#L6&;O`n{mo2& zt*@7&c$Yl7*aO0DHa3g82fyxkL`(F@y?}>Ko12^C4jjOuu+WKIB%j$po{@}#f=!CU zuZ!C&j#NqC!=pknh(4>H0j0~Pp4rZDxO(Ov{Iqy5kqy1|3WH%im{&ky97WmLAF{Bp z$RLqQzL)4gxUc~n3C5%?rVPJQuBNQ~L|psV15BxjNa+eDBV)5y$0qvO_x@bN%|VMC zfZ{AbEYQ@})>pYbI`r@y*qJ22C^|gGU!mg=h%c^+?n*12Y-6}Vnjr_c4zel_E_8s{jf5eR)ZWTxHSw&o; zLp*f=abNp+_^a9loQC{|Am3sq`jN4;<0U2zdGs{TK$%}{j3d#3ou(9C6IXCP*G0sUOi$tu!_j@#QOJvh?)y5g?TWX!%S(zw?QPV9uA_Z5ucihWV;G*6(@v zIH<&SlwF_xaZ?(wvEFt4Wj|T8tVBtuBZrqc2Rsv1LG)lKb=dc<(K~{u)EU7aKEyjN z_Oftr$i>9OfShj!$nODy3&_nvLegl2%a>`^9E_rp>)RL0&rN7icP%vn#B4(Ty!Rwz zINL|qtJZx640PPh-I-8+cM`+_@N%0FRyNrJ^MOrPHj!TFNkkDTkfEZYYMlh}WQm-Zb+Er#2Q@N`YUSyi^O^I8-zKF;MH4c?s&Ct zhsPnMGnM%gFVb^+ zmjcve(b=S@t;T(M+a3YME8glX*ROwd^_XfPBQ9EguDhGXU?>Wm+H&8X50!jF2zwjx zC+H%gf44IBL+uk4GqXUi{ylWZv-YN=4$M}^zqC#QFHb|9OpC$mk@%hWrgTjrnWw{s6lBCorQR=A$N3D(~D zPx5Yc6{%51WJK;BW3tH#cp5YXZCg`?!gsWAO{@yRG@jrWJ@&6 z$n)D5I))}=1Sb2#`N-V1%TjM3-2)jqlWj%^rXUbEu6=mytzRJB4J3fnIZd((fU*@h z%C*1fG4F|X?mhg$bL*DkvuDp1Iud;Ws*j$XZHvv}AM?m3Qi8!5cB&aoN}hGM`I_5o zCJ`b1hqj#Mm ztFi=o!s$4PWe{BqC-uTdxz##!1t#JhdWN=n?z4jKctYPaJO?-torrMTu>cEj#QUYF z>*-}JEm;~peL4rQV26%PWiqtKbWoK(Xx87GnI2f(Q-&j@f-*l&vI~8IwY((;_l1Ci zrKAI!3AL<;Lry2)T5x22ULPgR=^e356NV#i27NnT;Pk;Ks=nU77f4_lksE+M2F>)P z6Itr{aX-K7)3eKW1V|KvYbR_4{4arS|3W^0{+vj8`JRsU{DXM8_ucN}O{FdmlM}mz!CFb6K*#j<4;34zJZHJnQ&Q^JSKiwHR`>HCuJk`%7jcG! zio&o9J>(CZdeOB|&`rd*+ULGdky=&=cn`!xbv2+kzRg)6iPuWA9?+JFNzxZ6)F`8m zdmlT(SRW!Q0S8J#LC)VWcUC-@lDvEfP@>)x%!cu)@ofemLH(8E)oWuwaE^S}H*z=* zlbq0iQaHcb|Mxl|+w6+UN~6NVvN4N{%uH1YiC6C~|LV{C_E8`m$!!vNnuK~IV+Itw zr~u@i^DmeD$NE5tjA~VV_hnu+b#*?M{W8bJh+8Do7`;c~$19csV#0K^(?HB3_x`N+ zfGfU0%@W_Ns-={4;4UV*=wg7?bajb37*px#QDbHApY(gtoi(d5@KhW;P8Z$ z;15kyjwpoTO_M=l*`1xriH30>4)1KJli-H29qXdQJEimn`)-%v#~(SJLr(To&fW)g zF_wzQgiRaRPo2CO?Wk+ksB~Z=k72uhJY`~HIT@6hbAbv~&)o(CXvV;f)lsxV5As&8 zotemZ`Ry4Ay-lv>^ejW)%eOFl*{Y@Upqlllu*j76sM58@GotE&1*x@Fd;jC;u5PAm zUl6ox?rw$3MP2kBIC=7Bx=Bv@8tGj7xS-RRsaBRgI*G)BLD_6R*R5V%Ei~F*vYK7E zqO#j;ikakaF;P+q+5~NK$OywIt$SiNwUakZ==wOWBS|k-X`we7uI8BPosczzW$AeQ zaFM9HsG+FH1ZKzQR)u;*d_yF?vYfyn<@hRt5zG=)s}>+pinjM&3_8tU=Q0pG0%u1t zK5Y2j`w;^!gM-f%mN5~fcBqUB|CisG9}s! z&_X<71>nqbwSOSrWN{|a#`-IdZRj;Ryt&KlAv%dryiZ3S#-BNL28L|wYJkMqQpj-w*l**J;y^}NLo zWX{s)PHtz@jxDv*Ovl>?Po9io_0Gs>3gug6FsIq2adka~$hmseWFNJ)B3#j$C(p3s ziFQCnrqCp_wNuEjC^l8$@|sD>?kdreQBjdAk%c^d@J)&AfrNvi}Yh8VN=6&~ae&3$^&KrvK#T zJU4rWI)_XUz2m37esb5f+?*^&?6aRLu8(H|1UKG9-gz{BX~1$_gxmTn)u*i~=kqcE zc~z�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 Date: Sun, 23 Apr 2023 10:52:58 +0200 Subject: [PATCH 003/154] Run playwright on all branches --- .github/workflows/playwright.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml index f9060a2bd..931de8b4a 100644 --- a/.github/workflows/playwright.yml +++ b/.github/workflows/playwright.yml @@ -1,9 +1,7 @@ name: Playwright Tests on: push: - branches: [ main, master ] pull_request: - branches: [ main, master ] jobs: test: timeout-minutes: 60 From fefddba4d845abfeac310317f519aa4f62d08eca Mon Sep 17 00:00:00 2001 From: Azat Ismagilov Date: Sun, 23 Apr 2023 10:54:28 +0200 Subject: [PATCH 004/154] Fix ci for non-darwin --- package-lock.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2fcc0bc17..3301431ad 100644 --- a/package-lock.json +++ b/package-lock.json @@ -46,9 +46,6 @@ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "hasInstallScript": true, - "os": [ - "darwin" - ], "engines": { "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } From 200e6ceb6fb9c89bb49ce7e034aaba3544838c9c Mon Sep 17 00:00:00 2001 From: Azat Ismagilov Date: Sun, 23 Apr 2023 11:01:18 +0200 Subject: [PATCH 005/154] Add bigger timeout for playwright --- .github/workflows/playwright.yml | 3 +++ playwright.config.js | 1 + 2 files changed, 4 insertions(+) diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml index 931de8b4a..8fd3b8a3f 100644 --- a/.github/workflows/playwright.yml +++ b/.github/workflows/playwright.yml @@ -17,6 +17,9 @@ jobs: with: distribution: adopt java-version: 11 + - name: Setup Gradle + uses: gradle/gradle-build-action@v2 + - name: Install dependencies run: npm ci - name: Install Playwright Browsers diff --git a/playwright.config.js b/playwright.config.js index 6acf93c99..532683f93 100644 --- a/playwright.config.js +++ b/playwright.config.js @@ -47,6 +47,7 @@ module.exports = defineConfig({ command: "./gradlew :backend:run -P:auth.disabled=true -Plive.dev.contest=icpc-nef/2020-2021/onsite", url: "http://127.0.0.1:8080/overlay", reuseExistingServer: !process.env.CI, + timeout: 1000000 }, }); From 22c346740a7b2ef001e26381d0080b42f1b8325a Mon Sep 17 00:00:00 2001 From: Azat Ismagilov Date: Sun, 23 Apr 2023 11:25:01 +0200 Subject: [PATCH 006/154] Fix gradlew release for CI --- .github/workflows/playwright.yml | 5 +++-- playwright.config.js | 4 +++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml index 8fd3b8a3f..d165aafab 100644 --- a/.github/workflows/playwright.yml +++ b/.github/workflows/playwright.yml @@ -17,8 +17,9 @@ jobs: with: distribution: adopt java-version: 11 - - name: Setup Gradle - uses: gradle/gradle-build-action@v2 + - uses: gradle/gradle-build-action@v2 + with: + arguments: release --scan -Pnpm.download=false - name: Install dependencies run: npm ci diff --git a/playwright.config.js b/playwright.config.js index 532683f93..8b1098541 100644 --- a/playwright.config.js +++ b/playwright.config.js @@ -44,7 +44,9 @@ module.exports = defineConfig({ /* Run your local dev server before starting the tests */ webServer: { - command: "./gradlew :backend:run -P:auth.disabled=true -Plive.dev.contest=icpc-nef/2020-2021/onsite", + command: process.env.CI + ? "java -jar artifacts/live-v3-dev.jar -P:auth.disabled=true -P:live.configDirectory=config/icpc-nef/2020-2021/onsite" + : "./gradlew :backend:run -P:auth.disabled=true -Plive.dev.contest=icpc-nef/2020-2021/onsite", url: "http://127.0.0.1:8080/overlay", reuseExistingServer: !process.env.CI, timeout: 1000000 From 2c2079fad2db1471747aa0280416d5fb83c9fd37 Mon Sep 17 00:00:00 2001 From: Azat Ismagilov Date: Sun, 23 Apr 2023 12:13:53 +0200 Subject: [PATCH 007/154] Disable auto-testing --- .github/workflows/playwright.yml | 3 +-- tests/capture.spec.js | 8 -------- .../test-scoreboard-1.png | Bin 295034 -> 0 bytes .../test-statistics-1.png | Bin 33347 -> 0 bytes 4 files changed, 1 insertion(+), 10 deletions(-) delete mode 100644 tests/capture.spec.js-snapshots/test-scoreboard-1.png delete mode 100644 tests/capture.spec.js-snapshots/test-statistics-1.png diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml index d165aafab..996664a60 100644 --- a/.github/workflows/playwright.yml +++ b/.github/workflows/playwright.yml @@ -1,7 +1,6 @@ name: Playwright Tests on: - push: - pull_request: + workflow_dispatch jobs: test: timeout-minutes: 60 diff --git a/tests/capture.spec.js b/tests/capture.spec.js index 4ba857591..c4019cd69 100644 --- a/tests/capture.spec.js +++ b/tests/capture.spec.js @@ -18,14 +18,6 @@ test.afterAll(async () => { await page.close(); }); -// Uniform screenshots for all platforms -// https://github.com/microsoft/playwright/issues/7575 -// eslint-disable-next-line no-empty-pattern -test.beforeEach(async ({ }, testInfo) => { - testInfo.snapshotPath = (name) => - `${testInfo.file}-snapshots/${name}`; -}); - const simpleWidgets = ["scoreboard", "statistics"]; for (const widgetName of simpleWidgets) { diff --git a/tests/capture.spec.js-snapshots/test-scoreboard-1.png b/tests/capture.spec.js-snapshots/test-scoreboard-1.png deleted file mode 100644 index cbd24eb98a7302e70d59b7c3a1eb3bed084bc71b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 295034 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 diff --git a/tests/capture.spec.js-snapshots/test-statistics-1.png b/tests/capture.spec.js-snapshots/test-statistics-1.png deleted file mode 100644 index 21ef0addc7ff55ed14fbc6fa40f37daed929659e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33347 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�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 Date: Wed, 21 Jun 2023 19:51:24 +0200 Subject: [PATCH 008/154] playwrite screenshot tool --- playwright.config.js | 10 --- tests/capture.spec.js | 61 +++++++++++------- .../config_icpc-nef_2020-2021_onsite.png | Bin 0 -> 368350 bytes 3 files changed, 39 insertions(+), 32 deletions(-) create mode 100644 tests/screenshots/config_icpc-nef_2020-2021_onsite.png diff --git a/playwright.config.js b/playwright.config.js index 8b1098541..bfb2f3f90 100644 --- a/playwright.config.js +++ b/playwright.config.js @@ -41,15 +41,5 @@ module.exports = defineConfig({ }, }, ], - - /* Run your local dev server before starting the tests */ - webServer: { - command: process.env.CI - ? "java -jar artifacts/live-v3-dev.jar -P:auth.disabled=true -P:live.configDirectory=config/icpc-nef/2020-2021/onsite" - : "./gradlew :backend:run -P:auth.disabled=true -Plive.dev.contest=icpc-nef/2020-2021/onsite", - url: "http://127.0.0.1:8080/overlay", - reuseExistingServer: !process.env.CI, - timeout: 1000000 - }, }); diff --git a/tests/capture.spec.js b/tests/capture.spec.js index c4019cd69..03238e28f 100644 --- a/tests/capture.spec.js +++ b/tests/capture.spec.js @@ -1,33 +1,50 @@ // @ts-check -import { test, expect } from "@playwright/test"; +import { test, expect, request } from "@playwright/test"; +import { spawn } from "child_process"; -let adminApiContext; -let page; +const simpleWidgets = ["scoreboard", "statistics", "queue"]; +const contestConfigs = ["config/icpc-nef/2020-2021/onsite"]; +const baseURL = "http://127.0.0.1:8080"; -test.beforeAll(async ({ playwright, baseURL, browser }) => { - page = await browser.newPage(); - await page.waitForTimeout(1000); - await page.goto("/overlay"); - adminApiContext = await playwright.request.newContext({ - baseURL: `${baseURL}/api/admin/` - }); -}); +for (const contestConfig of contestConfigs) { + test(`config ${contestConfig}`, async ({ page }) => { + const childProcess = spawn("java", ["-jar", "artifacts/live-v3-dev.jar", "-P:auth.disabled=true", `-P:live.configDirectory=${contestConfig}`]); + + childProcess.stdout.on("data", (data) => { + console.log(`Child process stdout: ${data}`); + }); + + childProcess.stderr.on("data", (data) => { + console.error(`Child process stderr: ${data}`); + }); + + childProcess.on("close", (code) => { + console.log(`Child process exited with code ${code}`); + }); + + await page.waitForTimeout(10000); + await page.goto("/overlay"); + + const adminApiContext = await request.newContext({ + baseURL: `${baseURL}/api/admin/` + }); -test.afterAll(async () => { - await page.close(); -}); + for (const widgetName of simpleWidgets) { + const showWidget = await adminApiContext.post(`./${widgetName}/show`); + expect(showWidget.ok()).toBeTruthy(); + } -const simpleWidgets = ["scoreboard", "statistics"]; + await page.waitForTimeout(10000); -for (const widgetName of simpleWidgets) { - test(`test ${widgetName}`, async () => { - const showWidget = await adminApiContext.post(`./${widgetName}/show`); - expect(showWidget.ok()).toBeTruthy(); + const contestName = contestConfig.replace(/\//g, "_"); + await page.screenshot({ path: `tests/screenshots/${contestName}.png` }); - await expect(page).toHaveScreenshot(); + for (const widgetName of simpleWidgets) { + const hideWidget = await adminApiContext.post(`./${widgetName}/hide`); + expect(hideWidget.ok()).toBeTruthy(); + } - const hideWidget = await adminApiContext.post(`./${widgetName}/hide`); - expect(hideWidget.ok()).toBeTruthy(); + childProcess.kill(); }); } diff --git a/tests/screenshots/config_icpc-nef_2020-2021_onsite.png b/tests/screenshots/config_icpc-nef_2020-2021_onsite.png new file mode 100644 index 0000000000000000000000000000000000000000..4651f8898fd8e66d2bdac449301440d96fa17a5a GIT binary patch literal 368350 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

#bY7qk`nROkr)kh=`rvv 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 bt9!;58O53`z`Xe=xz*ZQdYWnKmj3?*hroT9 literal 0 HcmV?d00001 From 5d921eb9f243470017db813c3ad22896b22d974d Mon Sep 17 00:00:00 2001 From: Azat Ismagilov Date: Mon, 26 Jun 2023 22:24:00 +0200 Subject: [PATCH 009/154] deleted: .github/workflows/playwright.yml --- .github/workflows/playwright.yml | 34 -------------------------------- 1 file changed, 34 deletions(-) delete mode 100644 .github/workflows/playwright.yml diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml deleted file mode 100644 index 996664a60..000000000 --- a/.github/workflows/playwright.yml +++ /dev/null @@ -1,34 +0,0 @@ -name: Playwright Tests -on: - workflow_dispatch -jobs: - test: - timeout-minutes: 60 - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - uses: actions/setup-node@v3 - with: - node-version: '16' - cache: 'npm' - cache-dependency-path: 'src/frontend/package-lock.json' - - uses: actions/setup-java@v3 - with: - distribution: adopt - java-version: 11 - - uses: gradle/gradle-build-action@v2 - with: - arguments: release --scan -Pnpm.download=false - - - name: Install dependencies - run: npm ci - - name: Install Playwright Browsers - run: npx playwright install --with-deps - - name: Run Playwright tests - run: npx playwright test - - uses: actions/upload-artifact@v3 - if: always() - with: - name: playwright-report - path: playwright-report/ - retention-days: 30 From 1d4e4372384c45307050c00c73c2881f3341e3ee Mon Sep 17 00:00:00 2001 From: Pavel Kunyavskiy Date: Thu, 22 Jun 2023 23:53:48 +0200 Subject: [PATCH 010/154] Add some test for ranks in scoreboard --- .../icpclive/cds/clics/ICPCScoreboardTest.kt | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 src/cds/src/test/kotlin/org/icpclive/cds/clics/ICPCScoreboardTest.kt diff --git a/src/cds/src/test/kotlin/org/icpclive/cds/clics/ICPCScoreboardTest.kt b/src/cds/src/test/kotlin/org/icpclive/cds/clics/ICPCScoreboardTest.kt new file mode 100644 index 000000000..215a1bd12 --- /dev/null +++ b/src/cds/src/test/kotlin/org/icpclive/cds/clics/ICPCScoreboardTest.kt @@ -0,0 +1,46 @@ +package org.icpclive.cds.clics + +import kotlinx.datetime.Instant +import org.icpclive.api.* +import org.icpclive.scoreboard.getScoreboardCalculator +import org.junit.Test +import kotlin.test.assertEquals +import kotlin.time.Duration.Companion.hours +import kotlin.time.Duration.Companion.minutes + +class ICPCScoreboardTest { + val info = ContestInfo( + name = "", + status = ContestStatus.OVER, + resultType = ContestResultType.ICPC, + startTime = Instant.fromEpochMilliseconds(1687460000), + contestLength = 5.hours, + freezeTime = 4.hours, + problems = listOf( + ProblemInfo("A", "A", 1, 0, "A"), + ProblemInfo("B", "B", 2, 1, "B"), + ), + teams = listOf( + TeamInfo(1, "T1", "T1", "T1", emptyList(), null, emptyMap()), + TeamInfo(2, "T2", "T2", "T2", emptyList(), null, emptyMap()), + TeamInfo(3, "T3", "T3", "T3", emptyList(), null, emptyMap()), + TeamInfo(4, "T4", "T4", "T4", emptyList(), null, emptyMap()), + ), + groups = emptyList(), + penaltyRoundingMode = PenaltyRoundingMode.EACH_SUBMISSION_DOWN_TO_MINUTE, + ) + + @Test + fun testRanks() { + val runs = listOf( + RunInfo(1, ICPCRunResult(Verdict.Accepted, false), 1.0, 1, 4, 10.minutes), + RunInfo(3, ICPCRunResult(Verdict.Accepted, false), 1.0, 1, 1, 30.minutes), + RunInfo(4, ICPCRunResult(Verdict.Accepted, false), 1.0, 1, 3, 30.minutes), + RunInfo(5, ICPCRunResult(Verdict.Accepted, false), 1.0, 1, 2, 40.minutes), + ) + val scoreboard = getScoreboardCalculator(info, OptimismLevel.NORMAL).getScoreboard(info, runs.groupBy { it.teamId }) + assertEquals(scoreboard.rows.map { it.rank }, listOf(1, 2, 2, 4)) + assertEquals(scoreboard.rows.map { it.teamId }, listOf(4, 1, 3, 2)) + } + +} \ No newline at end of file From ccd1e65120e293b4511adecf7abe276f22d47fdc Mon Sep 17 00:00:00 2001 From: Pavel Kunyavskiy Date: Sun, 9 Jul 2023 16:52:45 +0200 Subject: [PATCH 011/154] Update versions of dependencies --- gradle/libs.versions.toml | 14 +++++++------- gradle/wrapper/gradle-wrapper.properties | 2 +- src/backend/build.gradle.kts | 1 + src/cds/build.gradle.kts | 1 + .../org/icpclive/cds/yandex/YandexDataSource.kt | 2 +- src/common/build.gradle.kts | 1 + src/sniper-tools/build.gradle.kts | 1 + 7 files changed, 13 insertions(+), 9 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 8eea63745..ffce21bd2 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,16 +1,16 @@ [versions] -ktor = "2.3.0" # https://ktor.io/ +ktor = "2.3.2" # https://ktor.io/ datetime = "0.4.0" # https://github.com/Kotlin/kotlinx-datetime serialization = "1.5.1" # https://github.com/Kotlin/kotlinx.serialization -kotlin = "1.8.21" -logback = "1.4.7" # https://logback.qos.ch/download.html -node-plugin = "4.0.0" # https://github.com/node-gradle/gradle-node-plugin -coroutines = "1.7.0" # https://github.com/Kotlin/kotlinx.coroutines/ +kotlin = "1.9.0" +logback = "1.4.8" # https://logback.qos.ch/download.html +node-plugin = "5.0.0" # https://github.com/node-gradle/gradle-node-plugin +coroutines = "1.7.2" # https://github.com/Kotlin/kotlinx.coroutines/ exposed = "0.41.1" # https://github.com/JetBrains/Exposed telegram-bot = "6.0.7" # https://github.com/kotlin-telegram-bot/kotlin-telegram-bot shadow-plugin = "8.1.1" # https://github.com/johnrengelman/shadow -sqlite = "3.41.2.1" # https://github.com/xerial/sqlite-jdbc -clikt = "3.5.2" # https://ajalt.github.io/clikt/ +sqlite = "3.42.0.0" # https://github.com/xerial/sqlite-jdbc +clikt = "4.0.0" # https://ajalt.github.io/clikt/ immutable = "0.3.5" # https://github.com/Kotlin/kotlinx.collections.immutable [libraries] diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 37aef8d3f..a36387743 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip networkTimeout=10000 zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/src/backend/build.gradle.kts b/src/backend/build.gradle.kts index 0f1e6051f..4366e0ae6 100644 --- a/src/backend/build.gradle.kts +++ b/src/backend/build.gradle.kts @@ -84,6 +84,7 @@ dependencies { implementation(libs.ktor.server.websockets) implementation(libs.kotlinx.datetime) implementation(libs.kotlinx.serialization.json) + implementation(libs.kotlinx.coroutines.core) implementation(projects.cds) implementation(projects.common) testImplementation(libs.kotlin.junit) diff --git a/src/cds/build.gradle.kts b/src/cds/build.gradle.kts index 14d35ff23..5ebabea96 100644 --- a/src/cds/build.gradle.kts +++ b/src/cds/build.gradle.kts @@ -12,6 +12,7 @@ dependencies { implementation(libs.ktor.client.websockets) implementation(libs.ktor.client.logging) implementation(libs.kotlinx.serialization.json) + implementation(libs.kotlinx.coroutines.core) implementation(libs.kotlinx.datetime) implementation(projects.common) implementation(libs.kotlinx.collections.immutable) diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/yandex/YandexDataSource.kt b/src/cds/src/main/kotlin/org/icpclive/cds/yandex/YandexDataSource.kt index 73a7ed22c..1fbcc2ff8 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/yandex/YandexDataSource.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/yandex/YandexDataSource.kt @@ -67,7 +67,7 @@ class YandexDataSource(props: Properties, creds: Map) : RawConte }.map { it.submissions.reversed() } } - @OptIn(FlowPreview::class) + @OptIn(ExperimentalCoroutinesApi::class) override fun getFlow() = flow { coroutineScope { val rawContestInfoFlow = loopFlow( diff --git a/src/common/build.gradle.kts b/src/common/build.gradle.kts index c54377c58..395045c35 100644 --- a/src/common/build.gradle.kts +++ b/src/common/build.gradle.kts @@ -7,6 +7,7 @@ dependencies { implementation(libs.ktor.client.cio) implementation(libs.kotlinx.datetime) implementation(libs.kotlinx.serialization.json) + implementation(libs.kotlinx.coroutines.core) testImplementation(libs.kotlin.junit) } diff --git a/src/sniper-tools/build.gradle.kts b/src/sniper-tools/build.gradle.kts index e923d45f7..e2fe69223 100644 --- a/src/sniper-tools/build.gradle.kts +++ b/src/sniper-tools/build.gradle.kts @@ -74,6 +74,7 @@ dependencies { implementation(libs.ktor.server.websockets) implementation(libs.kotlinx.datetime) implementation(libs.kotlinx.serialization.json) + implementation(libs.kotlinx.coroutines.core) implementation(projects.cds) implementation(projects.common) testImplementation(libs.kotlin.junit) From f2edc2de242074c416df082f341ecef2a5cb283c Mon Sep 17 00:00:00 2001 From: Azat Ismagilov Date: Wed, 12 Jul 2023 16:03:20 +0200 Subject: [PATCH 012/154] Animated bouncing logo --- .../animation-bouncing-icpclive-logo.svg | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 config/icpc-wf/2021/finals/media/animation-bouncing-icpclive-logo.svg diff --git a/config/icpc-wf/2021/finals/media/animation-bouncing-icpclive-logo.svg b/config/icpc-wf/2021/finals/media/animation-bouncing-icpclive-logo.svg new file mode 100644 index 000000000..3da085c63 --- /dev/null +++ b/config/icpc-wf/2021/finals/media/animation-bouncing-icpclive-logo.svg @@ -0,0 +1,19 @@ + + + +
+ + + + + +
+
+
\ No newline at end of file From f5b799d106457b99191c986d5ef52d3cc0ff91bf Mon Sep 17 00:00:00 2001 From: Azat Ismagilov Date: Wed, 12 Jul 2023 21:28:27 +0200 Subject: [PATCH 013/154] Add url parameter to bouncing logo --- .../media/animation-bouncing-icpclive-logo.svg | 2 +- config/icpc-wf/2021/finals/presets/title.json | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/config/icpc-wf/2021/finals/media/animation-bouncing-icpclive-logo.svg b/config/icpc-wf/2021/finals/media/animation-bouncing-icpclive-logo.svg index 3da085c63..ccff58c2d 100644 --- a/config/icpc-wf/2021/finals/media/animation-bouncing-icpclive-logo.svg +++ b/config/icpc-wf/2021/finals/media/animation-bouncing-icpclive-logo.svg @@ -11,7 +11,7 @@

- +
diff --git a/config/icpc-wf/2021/finals/presets/title.json b/config/icpc-wf/2021/finals/presets/title.json index ab1a26e26..32970e2e0 100644 --- a/config/icpc-wf/2021/finals/presets/title.json +++ b/config/icpc-wf/2021/finals/presets/title.json @@ -88,5 +88,18 @@ "data": { "t": "University of Warsaw" } + }, + { + "preset": "animation-dynamic-right.svg", + "data": { + "name": "Azat Ismagiov", + "role": "bebra aboba" + } + }, + { + "preset": "animation-bouncing-icpclive-logo.svg", + "data": { + "url": "https://avatars.githubusercontent.com/u/5224374?v=4" + } } ] \ No newline at end of file From c44cf0671363832a353d0d0a09c6620857f675c2 Mon Sep 17 00:00:00 2001 From: Azat Ismagilov Date: Wed, 12 Jul 2023 21:47:56 +0200 Subject: [PATCH 014/154] Fix url issue in admin titles --- src/frontend/admin/src/components/Title.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/frontend/admin/src/components/Title.js b/src/frontend/admin/src/components/Title.js index 2e5725acd..79611817f 100644 --- a/src/frontend/admin/src/components/Title.js +++ b/src/frontend/admin/src/components/Title.js @@ -76,9 +76,17 @@ ParamsLine.propTypes = { pKey: PropTypes.string.isRequired, pValue: PropTypes.an const paramsDataToString = (value) => Object.entries(value).map(([k, v]) => k + ": " + v).join("\n"); +const splitKeyValue = (string) => { + const splitIndex = string.indexOf(":"); + const k = string.substring(0, splitIndex); + const rest = string.substring(splitIndex + 1); + const v = rest.startsWith(" ") ? rest.substring(1) : rest; + return [k, v]; +}; + const parseParamsData = input => input.split("\n") - .map(line => line.split(/:\W?/, 2)) + .map(line => splitKeyValue(line)) .filter(r => r.length >= 2) .reduce((ac, [ k, v ]) => ({ ...ac, [k]: v }), {}); From 951d984ec4d4a3d0377211ab76f7e0f514b171c2 Mon Sep 17 00:00:00 2001 From: Pavel Kunyavskiy Date: Thu, 13 Jul 2023 13:58:14 +0200 Subject: [PATCH 015/154] Refactor and simplify codeforces parsing --- .../icpclive/cds/codeforces/CFContestInfo.kt | 59 ++++++++--------- .../icpclive/cds/codeforces/CFDataSource.kt | 58 ++++++++++++----- .../org/icpclive/cds/codeforces/CFTeamInfo.kt | 18 ------ .../cds/codeforces/api/CFApiCentral.kt | 63 ------------------- .../cds/codeforces/api/data/CFContest.kt | 13 +++- .../api/results/CFSubmissionList.kt | 9 --- 6 files changed, 84 insertions(+), 136 deletions(-) delete mode 100644 src/cds/src/main/kotlin/org/icpclive/cds/codeforces/CFTeamInfo.kt delete mode 100644 src/cds/src/main/kotlin/org/icpclive/cds/codeforces/api/CFApiCentral.kt delete mode 100644 src/cds/src/main/kotlin/org/icpclive/cds/codeforces/api/results/CFSubmissionList.kt diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/codeforces/CFContestInfo.kt b/src/cds/src/main/kotlin/org/icpclive/cds/codeforces/CFContestInfo.kt index b3881fd39..bfac736ab 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/codeforces/CFContestInfo.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/codeforces/CFContestInfo.kt @@ -17,8 +17,7 @@ class CFContestInfo { private val problems = mutableListOf() private var cfStandings: CFStandings? = null private val problemsMap = mutableMapOf() - private val participantsByName = mutableMapOf() - private val participantsById = mutableMapOf() + private val participantsByCdsId = mutableMapOf() private var nextParticipantId = 1 private var contestType: CFContestType = CFContestType.ICPC private var name: String = "" @@ -26,12 +25,10 @@ class CFContestInfo { private fun updateContestInfo(contest: CFContest) { name = contest.name contestType = contest.type - contestLength = contest.durationSeconds!! - val phase = contest.phase - startTime = contest.startTimeSeconds - ?.let { Instant.fromEpochSeconds(it) } + contestLength = contest.duration!! + startTime = contest.startTime ?: Instant.DISTANT_FUTURE - status = when (phase) { + status = when (contest.phase) { CFContestPhase.BEFORE -> ContestStatus.BEFORE CFContestPhase.CODING -> ContestStatus.RUNNING else -> ContestStatus.OVER @@ -76,14 +73,18 @@ class CFContestInfo { } } for (row in standings.rows) { - val teamInfo = CFTeamInfo(row) - if (participantsByName.containsKey(getName(row.party))) { - teamInfo.id = participantsByName[getName(row.party)]!!.id - } else { - teamInfo.id = nextParticipantId++ - } - participantsByName[getName(row.party)] = teamInfo - participantsById[teamInfo.id] = teamInfo + val cdsId = getTeamCdsId(row.party) + val id = participantsByCdsId[cdsId]?.id ?: nextParticipantId++ + val party = row.party + participantsByCdsId[cdsId] = TeamInfo( + id = id, + name = party.teamName ?: party.members[0].let { it.name ?: it.handle }, + shortName = party.teamName ?: party.members[0].let { it.name ?: it.handle }, + contestSystemId = cdsId, + groups = emptyList(), + hashTag = null, + medias = emptyMap(), + ) } } @@ -162,7 +163,7 @@ class CFContestInfo { } return submissions.reversed().asSequence() .filter { it.author.participantType == CFPartyParticipantType.CONTESTANT } - .filter { participantsByName.containsKey(getName(it.author)) } + .filter { getTeamCdsId(it.author) in participantsByCdsId } .groupBy { it.author to it.problem } .mapValues {(_, submissions) -> var wrongs = 0 @@ -174,7 +175,7 @@ class CFContestInfo { id = it.id.toInt(), result = result, problemId = problemId, - teamId = participantsByName[getName(it.author)]!!.id, + teamId = participantsByCdsId[getTeamCdsId(it.author)]!!.id, percentage = if (result != null) 1.0 else (it.passedTestCount.toDouble() / problemTests), time = it.relativeTimeSeconds, ) @@ -209,7 +210,7 @@ class CFContestInfo { }, percentage = 0.0, problemId = -1, - teamId = participantsByName[getName(hack.hacker)]!!.id, + teamId = participantsByCdsId[getTeamCdsId(hack.hacker)]!!.id, time = hack.creationTimeSeconds - startTime ) ) @@ -225,7 +226,7 @@ class CFContestInfo { isHidden = hack.verdict != CFHackVerdict.HACK_SUCCESSFUL, percentage = 0.0, problemId = problemsMap[hack.problem.index]!!.id, - teamId = participantsByName[getName(hack.defender)]!!.id, + teamId = participantsByCdsId[getTeamCdsId(hack.defender)]!!.id, time = hack.creationTimeSeconds - startTime ) ) @@ -235,18 +236,18 @@ class CFContestInfo { } fun toApi() = ContestInfo( - name, - status, - when (contestType) { + name = name, + status = status, + resultType = when (contestType) { CFContestType.CF -> ContestResultType.IOI CFContestType.IOI -> ContestResultType.IOI CFContestType.ICPC -> ContestResultType.ICPC }, - startTime, - contestLength, - contestLength, - problems, - participantsById.values.map { it.toApi() }.sortedBy { it.id }, + startTime = startTime, + contestLength = contestLength, + freezeTime = contestLength, + problems = problems, + teams = participantsByCdsId.values.sortedBy { it.id }, groups = emptyList(), penaltyRoundingMode = when (contestType) { CFContestType.CF -> PenaltyRoundingMode.ZERO @@ -256,8 +257,8 @@ class CFContestInfo { ) companion object { - fun getName(party: CFParty): String { - return party.teamName ?: party.members[0].handle + fun getTeamCdsId(party: CFParty): String { + return party.teamId?.let { "team:${it}" } ?: party.members[0].handle } } } diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/codeforces/CFDataSource.kt b/src/cds/src/main/kotlin/org/icpclive/cds/codeforces/CFDataSource.kt index b23898bc0..e271cc337 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/codeforces/CFDataSource.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/codeforces/CFDataSource.kt @@ -1,39 +1,62 @@ package org.icpclive.cds.codeforces +import kotlinx.datetime.Clock import org.icpclive.api.ContestStatus import org.icpclive.cds.ContestParseResult import org.icpclive.cds.FullReloadContestDataSource -import org.icpclive.cds.codeforces.api.CFApiCentral import org.icpclive.cds.codeforces.api.data.* import org.icpclive.cds.codeforces.api.results.CFStandings import org.icpclive.cds.codeforces.api.results.CFStatusWrapper -import org.icpclive.cds.codeforces.api.results.CFSubmissionList import org.icpclive.cds.common.jsonLoader import org.icpclive.cds.common.map import org.icpclive.util.getCredentials -import java.lang.IllegalStateException +import java.security.MessageDigest import java.util.* +import kotlin.random.Random import kotlin.time.Duration.Companion.seconds class CFDataSource(properties: Properties, creds: Map) : FullReloadContestDataSource(5.seconds) { private val contestInfo = CFContestInfo() private val contestId = properties.getProperty("contest_id").toInt() - private val central = CFApiCentral( - contestId, - properties.getCredentials(CF_API_KEY_PROPERTY_NAME, creds) ?: throw IllegalStateException("No Codeforces api key defined"), - properties.getCredentials(CF_API_SECRET_PROPERTY_NAME, creds) ?: throw IllegalStateException("No Codeforces api secret defined") - ) + private val apiKey = properties.getCredentials("cf.api.key", creds) ?: error("No Codeforces api key defined") + private val apiSecret = properties.getCredentials("cf.api.secret", creds) ?: error("No Codeforces api secret defined") + private fun apiRequestUrl( + method: String, + params: Map + ): String { + val sortedParams = params.toSortedMap() + sortedParams["time"] = Clock.System.now().epochSeconds.toString() + sortedParams["apiKey"] = apiKey + val rand = (Random.nextInt(900000) + 100000).toString() + sortedParams["apiSig"] = rand + hash(sortedParams.toQuery("$rand/$method?", "#$apiSecret")) + return sortedParams.toQuery("https://codeforces.com/api/$method?") + } - private val standingsLoader = jsonLoader> { central.standingsUrl }.map { + private val standingsLoader = jsonLoader> { + apiRequestUrl( + "contest.standings", + mapOf("contestId" to contestId.toString()) + ) + }.map { it.unwrap() } - private val statusLoader = jsonLoader> { central.statusUrl }.map { + private val statusLoader = jsonLoader>> { + apiRequestUrl( + "contest.status", + mapOf("contestId" to contestId.toString()) + ) + }.map { it.unwrap() } - private val hacksLoader = jsonLoader>> { central.hacksUrl }.map { + private val hacksLoader = jsonLoader>> { + apiRequestUrl( + "contest.hacks", + mapOf("contestId" to contestId.toString()) + ) + }.map { it.unwrap() } @@ -41,13 +64,20 @@ class CFDataSource(properties: Properties, creds: Map) : FullRel override suspend fun loadOnce(): ContestParseResult { // can change inside previous if, so we do recheck, not else. contestInfo.updateStandings(standingsLoader.load()) - val runs = if (contestInfo.status == ContestStatus.BEFORE) emptyList() else contestInfo.parseSubmissions(statusLoader.load().list) + val runs = if (contestInfo.status == ContestStatus.BEFORE) emptyList() else contestInfo.parseSubmissions(statusLoader.load()) val hacks = if (contestInfo.status == ContestStatus.BEFORE) emptyList() else contestInfo.parseHacks(hacksLoader.load()) return ContestParseResult(contestInfo.toApi(), runs + hacks, emptyList()) } companion object { - private const val CF_API_KEY_PROPERTY_NAME = "cf.api.key" - private const val CF_API_SECRET_PROPERTY_NAME = "cf.api.secret" + @OptIn(ExperimentalStdlibApi::class) + private fun hash(s: String): String = + MessageDigest.getInstance("SHA-512") + .digest(s.toByteArray()) + .toHexString() + private fun SortedMap.toQuery(prefix: String, postfix: String="") = + entries.joinToString(prefix = prefix, postfix = postfix, separator = "&") { + "${it.key}=${it.value}" + } } } diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/codeforces/CFTeamInfo.kt b/src/cds/src/main/kotlin/org/icpclive/cds/codeforces/CFTeamInfo.kt deleted file mode 100644 index e6bf9b947..000000000 --- a/src/cds/src/main/kotlin/org/icpclive/cds/codeforces/CFTeamInfo.kt +++ /dev/null @@ -1,18 +0,0 @@ -package org.icpclive.cds.codeforces - -import org.icpclive.cds.codeforces.api.data.CFRankListRow - -class CFTeamInfo(private val row: CFRankListRow) { - var id = 0 - - fun toApi() = org.icpclive.api.TeamInfo( - id = id, - name = row.party.teamName ?: row.party.members[0].let { it.name ?: it.handle }, - shortName = row.party.teamName ?: row.party.members[0].let { it.name ?: it.handle }, - contestSystemId = row.party.teamName ?: row.party.members[0].handle, - groups = emptyList(), - hashTag = null, - medias = emptyMap() - ) - -} \ No newline at end of file diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/codeforces/api/CFApiCentral.kt b/src/cds/src/main/kotlin/org/icpclive/cds/codeforces/api/CFApiCentral.kt deleted file mode 100644 index 4ec9196ac..000000000 --- a/src/cds/src/main/kotlin/org/icpclive/cds/codeforces/api/CFApiCentral.kt +++ /dev/null @@ -1,63 +0,0 @@ -package org.icpclive.cds.codeforces.api - -import java.nio.charset.StandardCharsets -import java.security.MessageDigest -import java.util.* -import kotlin.random.Random - -/** - * @author egor@egork.net - */ -class CFApiCentral( - private val contestId: Int, - private val apiKey: String, - private val apiSecret: String,) { - - val standingsUrl: String - get() = apiRequestUrl("contest.standings", mapOf("contestId" to contestId.toString())) - val statusUrl: String - get() = apiRequestUrl("contest.status", mapOf("contestId" to contestId.toString())) - val hacksUrl: String - get() = apiRequestUrl("contest.hacks", mapOf("contestId" to contestId.toString())) - val contestListUrl: String - get() = apiRequestUrl("contest.list", emptyMap()) - - - private fun apiRequestUrl( - method: String, - params: Map - ): String { - val sortedParams: SortedMap = TreeMap(params) - val time = System.currentTimeMillis() / 1000 - sortedParams["time"] = time.toString() - sortedParams["apiKey"] = apiKey - val rand = (Random.nextInt(900000) + 100000).toString() - val toHash = StringBuilder(rand).append("/").append(method).append("?") - for ((key, value) in sortedParams) { - toHash.append(key).append("=").append(value).append("&") - } - toHash.deleteCharAt(toHash.length - 1).append("#").append(apiSecret) - sortedParams["apiSig"] = rand + hash(toHash.toString()) - return buildString { - append("https://codeforces.com/api/") - append(method) - append("?") - for ((key, value) in sortedParams) { - append(key) - append("=") - append(value) - append("&") - } - deleteCharAt(length - 1) - } - } - - companion object { - private fun hash(s: String): String { - val messageDigest = MessageDigest.getInstance("SHA-512") - return messageDigest.digest(s.toByteArray(StandardCharsets.UTF_8)).joinToString("") { - Integer.toHexString(it.toInt() and 0xff or 0x100).substring(1) - } - } - } -} \ No newline at end of file diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/codeforces/api/data/CFContest.kt b/src/cds/src/main/kotlin/org/icpclive/cds/codeforces/api/data/CFContest.kt index 94425b5f1..e18d9e98d 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/codeforces/api/data/CFContest.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/codeforces/api/data/CFContest.kt @@ -2,8 +2,11 @@ package org.icpclive.cds.codeforces.api.data +import kotlinx.datetime.Instant +import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable import org.icpclive.util.DurationInSecondsSerializer +import org.icpclive.util.UnixSecondsSerializer import kotlin.time.Duration enum class CFContestType { @@ -22,10 +25,14 @@ data class CFContest( val phase: CFContestPhase, val frozen: Boolean, @Serializable(DurationInSecondsSerializer::class) - val durationSeconds: Duration? = null, - val startTimeSeconds: Long? = null, + @SerialName("durationSeconds") + val duration: Duration? = null, + @Serializable(UnixSecondsSerializer::class) + @SerialName("startTimeSeconds") + val startTime: Instant? = null, @Serializable(DurationInSecondsSerializer::class) - val relativeTimeSeconds: Duration? = null, + @SerialName("relativeTimeSeconds") + val relativeTime: Duration? = null, val preparedBy: String? = null, val websiteUrl: String? = null, val description: String? = null, diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/codeforces/api/results/CFSubmissionList.kt b/src/cds/src/main/kotlin/org/icpclive/cds/codeforces/api/results/CFSubmissionList.kt deleted file mode 100644 index 282440e7c..000000000 --- a/src/cds/src/main/kotlin/org/icpclive/cds/codeforces/api/results/CFSubmissionList.kt +++ /dev/null @@ -1,9 +0,0 @@ -package org.icpclive.cds.codeforces.api.results - -import kotlinx.serialization.Serializable -import org.icpclive.cds.codeforces.api.data.CFSubmission - - -@JvmInline -@Serializable -value class CFSubmissionList(val list: List) From 009263c1b588690257cc19146dc6074db5c3e699 Mon Sep 17 00:00:00 2001 From: Pavel Kunyavskiy Date: Sun, 23 Jul 2023 09:29:59 +0200 Subject: [PATCH 016/154] Update test data --- .../cds/clics/CdsLoadersTest.clics202003Test.approved.txt | 3 ++- .../cds/clics/CdsLoadersTest.clics202207Test.approved.txt | 3 ++- .../icpclive/cds/clics/CdsLoadersTest.pcmsIOITest.approved.txt | 3 ++- .../icpclive/cds/clics/CdsLoadersTest.pcmsTest.approved.txt | 3 ++- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.clics202003Test.approved.txt b/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.clics202003Test.approved.txt index 729a9e8cc..adf643b8f 100644 --- a/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.clics202003Test.approved.txt +++ b/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.clics202003Test.approved.txt @@ -1998,7 +1998,8 @@ { "name": "Jury" } - ] + ], + "penaltyRoundingMode": "each_submission_down_to_minute" }, "runs": [ { diff --git a/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.clics202207Test.approved.txt b/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.clics202207Test.approved.txt index d465875cc..bc842c249 100644 --- a/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.clics202207Test.approved.txt +++ b/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.clics202207Test.approved.txt @@ -2033,7 +2033,8 @@ { "name": "Self-Registered" } - ] + ], + "penaltyRoundingMode": "each_submission_down_to_minute" }, "runs": [ { diff --git a/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.pcmsIOITest.approved.txt b/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.pcmsIOITest.approved.txt index 0c1865e12..1e3f74528 100644 --- a/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.pcmsIOITest.approved.txt +++ b/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.pcmsIOITest.approved.txt @@ -3930,7 +3930,8 @@ } ], "groups": [ - ] + ], + "penaltyRoundingMode": "zero" }, "runs": [ { diff --git a/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.pcmsTest.approved.txt b/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.pcmsTest.approved.txt index a203d3549..b67d3f0c1 100644 --- a/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.pcmsTest.approved.txt +++ b/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.pcmsTest.approved.txt @@ -3186,7 +3186,8 @@ } ], "groups": [ - ] + ], + "penaltyRoundingMode": "each_submission_down_to_minute" }, "runs": [ { From 0d99f96fb8251de4eda9c1540c9c389b67f19a5a Mon Sep 17 00:00:00 2001 From: Kostya Bats Date: Sat, 15 Jul 2023 14:56:53 +0300 Subject: [PATCH 017/154] admin: automode as team in teamview --- src/frontend/admin/src/components/Team.js | 65 ------------------- .../admin/src/components/TeamTable.js | 58 ++++++++++++++++- .../admin/src/components/TeamViewManager.js | 46 ++++++++----- 3 files changed, 84 insertions(+), 85 deletions(-) delete mode 100644 src/frontend/admin/src/components/Team.js diff --git a/src/frontend/admin/src/components/Team.js b/src/frontend/admin/src/components/Team.js deleted file mode 100644 index d874dc3b2..000000000 --- a/src/frontend/admin/src/components/Team.js +++ /dev/null @@ -1,65 +0,0 @@ -import React from "react"; -import PropTypes from "prop-types"; -import { Grid } from "@mui/material"; -import Box from "@mui/material/Box"; -import { grey } from "@mui/material/colors"; - -export const TEAM_FIELD_STRUCTURE = PropTypes.shape({ - id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired, - contestSystemId: PropTypes.string.isRequired, - shown: PropTypes.bool.isRequired, - selected: PropTypes.bool.isRequired, - name: PropTypes.string.isRequired, - medias: PropTypes.shape({ - screen: PropTypes.string, - }).isRequired, -}); - -export class Team extends React.Component { - constructor(props) { - super(props); - } - - render() { - return ( - this.props.onClick(this.props.rowData.id)}> - - {this.props.rowData.contestSystemId} - {" : "} - {this.props.rowData.name}{" "} - {/*{this.props.rowData.medias.screen}*/} - - - ); - } -} - -Team.propTypes = { - tStyle: PropTypes.shape({ - activeColor: PropTypes.string, - inactiveColor: PropTypes.string, - selectedColor: PropTypes.string, - }).isRequired, - rowData: TEAM_FIELD_STRUCTURE, - createErrorHandler: PropTypes.func, - isImmutable: PropTypes.bool, - onClick: PropTypes.func.isRequired -}; diff --git a/src/frontend/admin/src/components/TeamTable.js b/src/frontend/admin/src/components/TeamTable.js index 2a8f8a104..0c7bc7dbc 100644 --- a/src/frontend/admin/src/components/TeamTable.js +++ b/src/frontend/admin/src/components/TeamTable.js @@ -1,18 +1,70 @@ import React, { useState } from "react"; import PropTypes from "prop-types"; -import { Box, Button, Tooltip, ButtonGroup } from "@mui/material"; +import { Box, Button, Tooltip, ButtonGroup, Grid } from "@mui/material"; import { lightBlue, grey } from "@mui/material/colors"; -import { Team, TEAM_FIELD_STRUCTURE } from "./Team"; import CollectionsIcon from "@mui/icons-material/Collections"; import TaskStatusIcon from "@mui/icons-material/Segment"; import TeamAchievementIcon from "@mui/icons-material/StarHalf"; import VisibilityOffIcon from "@mui/icons-material/VisibilityOff"; import VisibilityIcon from "@mui/icons-material/Visibility"; +import AutoModeIcon from "@mui/icons-material/AutoMode"; const gridButton = { mx: "2px", }; +export const TEAM_FIELD_STRUCTURE = PropTypes.shape({ + id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]), + contestSystemId: PropTypes.string, + shown: PropTypes.bool.isRequired, + selected: PropTypes.bool.isRequired, + name: PropTypes.string.isRequired, + medias: PropTypes.shape({ + screen: PropTypes.object, + camera: PropTypes.object, + }).isRequired, +}); + +const TeamTableRow = ({ rowData, onClick, tStyle }) => { + return ( + onClick(rowData.id)} + > + {rowData.contestSystemId && `${rowData.contestSystemId} :`} + {rowData.contestSystemId === null && } + {" " + rowData.name} + + ); +}; + +TeamTableRow.propTypes = { + tStyle: PropTypes.shape({ + activeColor: PropTypes.string, + inactiveColor: PropTypes.string, + selectedColor: PropTypes.string, + }).isRequired, + rowData: TEAM_FIELD_STRUCTURE, + createErrorHandler: PropTypes.func, + isImmutable: PropTypes.bool, + onClick: PropTypes.func.isRequired +}; + const CompactSwitchIconButton = ({ propertyName, disabled, isShown, onClick, children, sx, noVisibilityIcon }) => ( @@ -123,23 +144,29 @@ export function TeamViewSettingsPanel({ mediaTypes, selectedMediaType, canShow, {isAchievementShown !== undefined && setIsAchievementShown(s => !s)}>} - + {showHideButton && ( + + )} ); -} +}; + TeamViewSettingsPanel.propTypes = { mediaTypes: PropTypes.arrayOf(PropTypes.shape({ "text":PropTypes.string.isRequired, "mediaType":PropTypes.any })), - selectedMediaType: PropTypes.any, + selectedMediaTypes: PropTypes.arrayOf(PropTypes.string), isSomethingSelected: PropTypes.bool, canShow: PropTypes.bool, // todo: make req isPossibleToHide: PropTypes.bool, canHide: PropTypes.bool, // todo: make req onShowTeam: PropTypes.func.isRequired, - onHideTeam: PropTypes.func.isRequired, + onHideTeam: PropTypes.func, isStatusShown: PropTypes.bool, setIsStatusShown: PropTypes.func, isAchievementShown: PropTypes.bool, diff --git a/src/frontend/admin/src/components/TeamView.js b/src/frontend/admin/src/components/TeamView.js index e934346b3..d391d2c0a 100644 --- a/src/frontend/admin/src/components/TeamView.js +++ b/src/frontend/admin/src/components/TeamView.js @@ -1,18 +1,348 @@ -import React from "react"; -import Container from "@mui/material/Container"; - -import "../App.css"; +import React, { useCallback, useEffect, useMemo, useState } from "react"; +import { + Container, + Box, + ToggleButtonGroup, + ToggleButton, + Grid, + Paper, + Stack, + Button, + ButtonGroup, + Tooltip, + Switch, + TextField, + styled, +} from "@mui/material"; import { useSnackbar } from "notistack"; import { errorHandlerWithSnackbar } from "../errors"; -import { TeamViewManager } from "./TeamViewManager"; import { useTeamViewService } from "../services/teamViewWidget"; +import SingleTeamViewIcon from "@mui/icons-material/WebAsset"; +import PVPTeamViewIcon from "@mui/icons-material/Splitscreen"; +import SplitTeamViewIcon from "@mui/icons-material/GridView"; +import TopIcon from "@mui/icons-material/VerticalAlignTop"; +import BottomIcon from "@mui/icons-material/VerticalAlignBottom"; +import TopLeftIcon from "@mui/icons-material/NorthWest"; +import TopRightIcon from "@mui/icons-material/NorthEast"; +import BottomLeftIcon from "@mui/icons-material/SouthWest"; +import BottomRightIcon from "@mui/icons-material/SouthEast"; +import VisibilityIcon from "@mui/icons-material/Visibility"; +import VisibilityOffIcon from "@mui/icons-material/VisibilityOff"; +import { SelectTeamTable, TEAM_FIELD_STRUCTURE, TeamViewSettingsPanel } from "./TeamTable"; +import PropTypes from "prop-types"; + +const AUTOMODE_TEAM = { + "id": null, + "name": "Automode", + "shortName": "Automode", + "contestSystemId": null, + "groups": [], + "medias": {}, + "shown": false, +}; + +const useTeamviewService = (service, setStatus) => { + const loadStatus = useMemo(() => { + return () => service.loadElements().then(s => setStatus(st => ({ ...st, ...s }))); + }, [service, setStatus]); + useEffect(() => loadStatus(), []); + useEffect(() => { + service.addReloadDataHandler(loadStatus); + return () => service.deleteReloadDataHandler(loadStatus); + }, [service, loadStatus]); +}; + +const isTeamSatisfiesSearch = (team, searchValue) => { + if (searchValue === "" || team.id === null) { + return true; + } + return (team.contestSystemId + " : " + team.shortName + " : " + team.name).toLowerCase().includes(searchValue); +}; + +const useTeamsList = (rawTeams, status) => { + const [selectedTeamId, setSelectedTeamId] = useState(undefined); + const teamsWithStatus = useMemo( + () => rawTeams.map(t => ({ ...t, + shown: Object.values(status).some(s => s.shown && s.settings.teamId === t.id), + selected: t.id === selectedTeamId, + })), + [rawTeams, status, selectedTeamId]); + + const [searchValue, setSearchValue] = useState(""); + + const filteredTeams = useMemo(() => { + return teamsWithStatus.filter(t => isTeamSatisfiesSearch(t, searchValue)); + },[teamsWithStatus, searchValue]); + return { teams: filteredTeams, selectedTeamId, setSelectedTeamId, setSearchValue }; +}; + +const TEAMVIEW_INSTANCES = [ + { id: null, title: "single", icon: null }, + { id: "PVP_TOP", title: "PVP", icon: }, + { id: "PVP_BOTTOM", title: "PVP", icon: }, + { id: "TOP_LEFT", title: "SplitScreen", icon: }, + { id: "TOP_RIGHT", title: "SplitScreen", icon: }, + { id: "BOTTOM_LEFT", title: "SplitScreen", icon: }, + { id: "BOTTOM_RIGHT", title: "SplitScreen", icon: }, +]; + +const VariantSelect = ({ variant, setVariant }) => { + return ( + setVariant(v)} + > + + + + + ); +}; + +const InstanceStatusCard = styled(Paper)(({ theme }) => ({ + padding: theme.spacing(2), + marginBottom: theme.spacing(1), +})); + +const InstanceStatus = ({ instanceId, Icon, status, teams, canShow, onShow, onHide }) => { + const iStatus = status[instanceId]; + const shownTeam = useMemo( + () => teams.find(t => t.id === iStatus?.settings?.teamId), + [teams, status]); + return ( + + + {Icon && } + + + + + + Team: {shownTeam?.name ?? "Auto"} + Media: {iStatus?.settings?.mediaTypes?.join(", ")} + + ); +}; + +InstanceStatus.propTypes = { + instanceId: PropTypes.string, + Icon: PropTypes.elementType.isRequired, + status: PropTypes.object.isRequired, + teams: PropTypes.arrayOf(TEAM_FIELD_STRUCTURE).isRequired, + canShow: PropTypes.bool.isRequired, + onShow: PropTypes.func.isRequired, + onHide: PropTypes.func.isRequired, +}; + +const InstancesManager = ({ variant, ...props }) => { + return ( + <> + {variant === "single" && ( + + )} + {variant === "pvp" && ( + <> + + + + )} + {variant === "splitScreen" && ( + <> + + + + + + + + + + + + + + + + + + )} + + ); +}; + +InstancesManager.propTypes = { + variant: PropTypes.string, + instanceId: PropTypes.string, + Icon: PropTypes.node, + status: PropTypes.object.isRequired, + teams: PropTypes.arrayOf(TEAM_FIELD_STRUCTURE).isRequired, + canShow: PropTypes.bool.isRequired, + onShow: PropTypes.func.isRequired, + onHide: PropTypes.func.isRequired, +}; + +const TeamViewInstanceStatus = ({ instanceName, status, teams }) => { + const shownTeam = useMemo( + () => teams.find(t => t.id === status.settings.teamId), + [teams, status]); + return ( + Instance {instanceName ?? "SINGLE"} {status.shown && "shown"} + Team: {shownTeam?.name ?? "Auto"} + Media: {status.settings.mediaTypes?.join(", ")} + ); +}; +TeamViewInstanceStatus.propTypes = { + instanceName: PropTypes.any, + status: PropTypes.shape({ + shown: PropTypes.bool.isRequired, + settings: PropTypes.shape({ + teamId: PropTypes.number, + mediaTypes: PropTypes.arrayOf(PropTypes.string.isRequired), + }).isRequired, + }).isRequired, + teams: PropTypes.arrayOf(TEAM_FIELD_STRUCTURE), +}; + +const TeamViewManager = ({ service, pvpService, splitService }) => { + const [status, setStatus] = useState({}); + useTeamviewService(service, setStatus); + useTeamviewService(pvpService, setStatus); + useTeamviewService(splitService, setStatus); + + const [variant, setVariant] = useState(undefined); + useEffect(() => { + if (Object.values(status).length === 7 && variant === undefined) { + const shownInstance = Object.entries(status).find(([, i]) => i.shown); + if (!shownInstance || shownInstance[0] === null) { + setVariant("single"); + } else if (shownInstance[0].startsWith("PVP")) { + setVariant("pvp"); + } else { + setVariant("splitScreen"); + } + } + }, [status]); + + const currentService = useMemo(() => { + if (variant === "splitScreen") { + return splitService; + } else if (variant ==="pvp") { + return pvpService; + } + return service; + }, [variant, service, pvpService, splitService]); + + const [rawTeams, setRawTeams] = useState([]); + useEffect(() => { + service.teams().then((ts) => setRawTeams([ AUTOMODE_TEAM, ...ts ])); + }, [service]); + const { teams, selectedTeamId, setSelectedTeamId, setSearchValue } = useTeamsList(rawTeams, status); + + const [isMultipleMode, setIsMultipleMode] = useState(false); + + const [mediaTypes, setMediaTypes] = useState(); + const [isStatusShown, setIsStatusShown] = useState(true); + const [isAchievementShown, setIsAchievementShown] = useState(false); + + const onShow = useCallback((instance) => () => { + const settings = { + mediaTypes: mediaTypes, + teamId: selectedTeamId, + showTaskStatus: isStatusShown, + showAchievement: isAchievementShown, + }; + if (isMultipleMode) { + currentService.editPreset(instance, settings); + } else { + currentService.showPresetWithSettings(instance, settings); + } + }, [currentService, isMultipleMode, mediaTypes, selectedTeamId, isStatusShown, isAchievementShown]); + + const onHide = useCallback((instance) => () => { + currentService.hidePreset(instance); + }, [currentService]); + + return ( + + + + + + + + + + setMediaTypes(ts)} + showHideButton={false} + offerMultiple={true} + isStatusShown={variant === "single" ? isStatusShown : undefined} + setIsStatusShown={setIsStatusShown} + isAchievementShown={variant === "single" ? isAchievementShown : undefined} + setIsAchievementShown={setIsAchievementShown} + selectedMediaTypes={mediaTypes} + /> + + + + setIsMultipleMode(newV)}/> + + + + + + + setSearchValue(e.target.value.toLowerCase())} + defaultValue={""} + size="small" + margin="none" + label="Search" + variant="outlined" + fullWidth + /> + + + + + ); +}; function TeamView() { const { enqueueSnackbar, } = useSnackbar(); const service = useTeamViewService("singe", errorHandlerWithSnackbar(enqueueSnackbar)); + const pvpService = useTeamViewService("pvp", errorHandlerWithSnackbar(enqueueSnackbar)); + const splitService= useTeamViewService("splitScreen", errorHandlerWithSnackbar(enqueueSnackbar)); + return ( - + ); } diff --git a/src/frontend/admin/src/components/TeamViewManager.js b/src/frontend/admin/src/components/TeamViewManager.js deleted file mode 100644 index 006b2efa2..000000000 --- a/src/frontend/admin/src/components/TeamViewManager.js +++ /dev/null @@ -1,175 +0,0 @@ -import { Box, Button, ButtonGroup, Grid, Switch, TextField, Tooltip } from "@mui/material"; -import React, { useEffect, useMemo, useState } from "react"; -import { SelectTeamTable, TEAM_FIELD_STRUCTURE, TeamViewSettingsPanel } from "./TeamTable"; -import PropTypes from "prop-types"; -import { TeamViewService } from "../services/teamViewWidget"; - - -export const TeamViewInstanceManager = ({ - instanceId, - status, - teams, - selectedTeamId, - onShow, - onHide, - mediaTypes, -}) => -{ - const shownTeam = useMemo( - () => teams.find(t => t.id === status.settings.teamId), - [teams, status]); - const [isStatusShown, setIsStatusShown] = useState(instanceId === null ? true : undefined); - const [isAchievementShown, setIsAchievementShown] = useState(instanceId === null ? false : undefined); - return ( - {instanceId && Instance {instanceId}} - Shown team: {shownTeam?.name ?? "Auto"} - Media type: {status.settings.mediaTypes?.join(", ")} - - onShow({ - mediaTypes: mediaTypes, - teamId: selectedTeamId, - showTaskStatus: isStatusShown, - showAchievement: isAchievementShown })} - onHideTeam={onHide} offerMultiple={true} - isStatusShown={isStatusShown} setIsStatusShown={setIsStatusShown} - isAchievementShown={isAchievementShown} setIsAchievementShown={setIsAchievementShown} - /> - - ); -}; -TeamViewInstanceManager.propTypes = { - instanceId: PropTypes.any, - status: PropTypes.shape({ - shown: PropTypes.bool.isRequired, - settings: PropTypes.shape({ - teamId: PropTypes.number, - mediaTypes: PropTypes.arrayOf(PropTypes.string.isRequired), - }).isRequired, - }).isRequired, - teams: PropTypes.arrayOf(TEAM_FIELD_STRUCTURE), - selectedTeamId: PropTypes.number, - onShow: PropTypes.func, - onHide: PropTypes.func, - mediaTypes: TeamViewSettingsPanel.propTypes.mediaTypes, -}; - -const AUTOMODE_TEAM = { - "id": null, - "name": "Automode", - "shortName": "Automode", - "contestSystemId": null, - "groups": [], - "medias": {}, - "shown": false, -}; - -const isTeamSatisfiesSearch = (team, searchValue) => { - if (searchValue === "" || team.id === null) { - return true; - } - return (team.contestSystemId + " : " + team.shortName + " : " + team.name).toLowerCase().includes(searchValue); -}; - -export const TeamViewManager = ({ service, mediaTypes }) => { - const [teams, setTeams] = useState([]); - useEffect(() => { - service.teams().then((ts) => setTeams([ AUTOMODE_TEAM, ...ts ])); - }, [service]); - - const [selectedTeamId, setSelectedTeamId] = useState(undefined); - - const [status, setStatus] = useState({}); - const loadStatus = useMemo(() => - () => service.loadElements().then(setStatus), - [service, setStatus]); - useEffect(() => loadStatus(), []); - useEffect(() => { - service.addReloadDataHandler(loadStatus); - return () => service.deleteReloadDataHandler(loadStatus); - }, [service, loadStatus]); - - const teamsWithStatus = useMemo( - () => teams.map(t => ({ ...t, - shown: Object.values(status).some(s => s.shown && s.settings.teamId === t.id), - selected: t.id === selectedTeamId, - })), - [teams, status, selectedTeamId]); - - const [searchValue, setSearchValue] = useState(""); - const filteredTeams = useMemo(() => { - return teamsWithStatus.filter(t => isTeamSatisfiesSearch(t, searchValue)); - },[teamsWithStatus, searchValue]); - console.log(filteredTeams); - - const [isMultipleMode, setIsMultipleMode] = useState(false); - const selectTeam = (teamId) => setSelectedTeamId(teamId); - - const onShowInstance = (instanceId) => (settings) => { - if (isMultipleMode) { - service.editPreset(instanceId, settings); - } else { - service.showPresetWithSettings(instanceId, settings); - } - }; - - const onHideInstance = (instanceId) => () => { - service.hidePreset(instanceId); - }; - - return ( - - {service.instances.filter(id => status[id] !== undefined).map(id => - - - - )} - - - - - Multiple mode setIsMultipleMode(newV)}/> - - - - - - - setSearchValue(e.target.value.toLowerCase())} - defaultValue={""} - id="Search field" - size="small" - fullWidth - margin="none" - label="Search" - variant="outlined" - InputProps={{}} - /> - - - ); -}; -TeamViewManager.propTypes = { - service: PropTypes.instanceOf(TeamViewService).isRequired, - mediaTypes: PropTypes.arrayOf(PropTypes.string.isRequired), -}; diff --git a/src/frontend/admin/src/services/teamViewWidget.js b/src/frontend/admin/src/services/teamViewWidget.js index 6977196f1..2d64c91c7 100644 --- a/src/frontend/admin/src/services/teamViewWidget.js +++ b/src/frontend/admin/src/services/teamViewWidget.js @@ -27,15 +27,8 @@ export class TeamViewService extends AbstractWidgetService { return presetId == null ? "" : "/" + presetId; } - loadOne(element) { - return this.apiGet(this.presetSubPath(element)).catch(this.errorHandler("Failed to load " + element + " info")); - } - loadElements() { - return Promise.all( - this.instances.map(id => - this.loadOne(id).then(r => [id, r]))) - .then(els => els.reduce((s, el) => ({ ...s, [el[0]]: el[1] }), {})); + return this.apiGet("").catch(this.errorHandler("Failed to load status")); } editPreset(element, settings) { From aab8a58c045a03545b28e4998b7cded416320879 Mon Sep 17 00:00:00 2001 From: Azat Ismagilov Date: Mon, 17 Jul 2023 12:36:17 +0200 Subject: [PATCH 019/154] New teamview interface --- src/frontend/admin/src/components/TeamView.js | 255 ++++++++++++------ 1 file changed, 176 insertions(+), 79 deletions(-) diff --git a/src/frontend/admin/src/components/TeamView.js b/src/frontend/admin/src/components/TeamView.js index d391d2c0a..a94e2bba2 100644 --- a/src/frontend/admin/src/components/TeamView.js +++ b/src/frontend/admin/src/components/TeamView.js @@ -13,6 +13,8 @@ import { Switch, TextField, styled, + InputAdornment, + FormLabel, } from "@mui/material"; import { useSnackbar } from "notistack"; import { errorHandlerWithSnackbar } from "../errors"; @@ -28,6 +30,7 @@ import BottomLeftIcon from "@mui/icons-material/SouthWest"; import BottomRightIcon from "@mui/icons-material/SouthEast"; import VisibilityIcon from "@mui/icons-material/Visibility"; import VisibilityOffIcon from "@mui/icons-material/VisibilityOff"; +import ArrowDropDown from "@mui/icons-material/ArrowDropDown"; import { SelectTeamTable, TEAM_FIELD_STRUCTURE, TeamViewSettingsPanel } from "./TeamTable"; import PropTypes from "prop-types"; @@ -62,7 +65,8 @@ const isTeamSatisfiesSearch = (team, searchValue) => { const useTeamsList = (rawTeams, status) => { const [selectedTeamId, setSelectedTeamId] = useState(undefined); const teamsWithStatus = useMemo( - () => rawTeams.map(t => ({ ...t, + () => rawTeams.map(t => ({ + ...t, shown: Object.values(status).some(s => s.shown && s.settings.teamId === t.id), selected: t.id === selectedTeamId, })), @@ -72,8 +76,8 @@ const useTeamsList = (rawTeams, status) => { const filteredTeams = useMemo(() => { return teamsWithStatus.filter(t => isTeamSatisfiesSearch(t, searchValue)); - },[teamsWithStatus, searchValue]); - return { teams: filteredTeams, selectedTeamId, setSelectedTeamId, setSearchValue }; + }, [teamsWithStatus, searchValue]); + return { teams: filteredTeams, selectedTeamId, setSelectedTeamId, searchValue, setSearchValue }; }; const TEAMVIEW_INSTANCES = [ @@ -94,9 +98,9 @@ const VariantSelect = ({ variant, setVariant }) => { exclusive onChange={(_, v) => setVariant(v)} > - - - + Single + PVP + SplitScreen ); }; @@ -106,7 +110,7 @@ const InstanceStatusCard = styled(Paper)(({ theme }) => ({ marginBottom: theme.spacing(1), })); -const InstanceStatus = ({ instanceId, Icon, status, teams, canShow, onShow, onHide }) => { +const InstanceStatus = ({ instanceId, Icon, status, teams, canShow, isSelected, onShow, onHide }) => { const iStatus = status[instanceId]; const shownTeam = useMemo( () => teams.find(t => t.id === iStatus?.settings?.teamId), @@ -114,9 +118,11 @@ const InstanceStatus = ({ instanceId, Icon, status, teams, canShow, onShow, onHi return ( - {Icon && } + {Icon && } - + @@ -131,7 +137,8 @@ InstanceStatus.propTypes = { Icon: PropTypes.elementType.isRequired, status: PropTypes.object.isRequired, teams: PropTypes.arrayOf(TEAM_FIELD_STRUCTURE).isRequired, - canShow: PropTypes.bool.isRequired, + canShow: PropTypes.func.isRequired, + isSelected: PropTypes.func.isRequired, onShow: PropTypes.func.isRequired, onHide: PropTypes.func.isRequired, }; @@ -140,30 +147,30 @@ const InstancesManager = ({ variant, ...props }) => { return ( <> {variant === "single" && ( - + )} {variant === "pvp" && ( <> - - + + )} {variant === "splitScreen" && ( <> - + - + - + - + @@ -178,7 +185,8 @@ InstancesManager.propTypes = { Icon: PropTypes.node, status: PropTypes.object.isRequired, teams: PropTypes.arrayOf(TEAM_FIELD_STRUCTURE).isRequired, - canShow: PropTypes.bool.isRequired, + canShow: PropTypes.func.isRequired, + isSelected: PropTypes.func.isRequired, onShow: PropTypes.func.isRequired, onHide: PropTypes.func.isRequired, }; @@ -205,13 +213,44 @@ TeamViewInstanceStatus.propTypes = { teams: PropTypes.arrayOf(TEAM_FIELD_STRUCTURE), }; +const MultipleModeSwitch = ({ currentService, setIsMultipleMode }) => { + return ( + + + setIsMultipleMode(newV)} /> + + + + + + + ); +}; + + const TeamViewManager = ({ service, pvpService, splitService }) => { const [status, setStatus] = useState({}); useTeamviewService(service, setStatus); useTeamviewService(pvpService, setStatus); useTeamviewService(splitService, setStatus); - const [variant, setVariant] = useState(undefined); + const [variant, setVariant] = useState("single"); useEffect(() => { if (Object.values(status).length === 7 && variant === undefined) { const shownInstance = Object.entries(status).find(([, i]) => i.shown); @@ -228,17 +267,21 @@ const TeamViewManager = ({ service, pvpService, splitService }) => { const currentService = useMemo(() => { if (variant === "splitScreen") { return splitService; - } else if (variant ==="pvp") { + } else if (variant === "pvp") { return pvpService; } return service; }, [variant, service, pvpService, splitService]); const [rawTeams, setRawTeams] = useState([]); + useEffect(() => { - service.teams().then((ts) => setRawTeams([ AUTOMODE_TEAM, ...ts ])); + service.teams().then((ts) => setRawTeams([AUTOMODE_TEAM, ...ts])); }, [service]); - const { teams, selectedTeamId, setSelectedTeamId, setSearchValue } = useTeamsList(rawTeams, status); + + const { teams, selectedTeamId, setSelectedTeamId, searchValue, setSearchValue } = useTeamsList(rawTeams, status); + + const [selectedInstance, setSelectedInstance] = useState(undefined); const [isMultipleMode, setIsMultipleMode] = useState(false); @@ -258,87 +301,141 @@ const TeamViewManager = ({ service, pvpService, splitService }) => { } else { currentService.showPresetWithSettings(instance, settings); } + setSelectedInstance(undefined); + setSelectedTeamId(undefined); }, [currentService, isMultipleMode, mediaTypes, selectedTeamId, isStatusShown, isAchievementShown]); - const onHide = useCallback((instance) => () => { + const onInstanceShow = useCallback((instance) => () => { + if (instance === selectedInstance) { + setSelectedInstance(undefined); + } else { + setSelectedInstance(instance); + } + }, [selectedInstance]); + + const onInstanceHide = useCallback((instance) => () => { currentService.hidePreset(instance); }, [currentService]); + const isInstanceSelected = useMemo(() => (instance) => { + return selectedInstance === instance; + }, [selectedInstance]); + + const canInstanceShow = useMemo(() => (instance) => { + return selectedInstance === undefined || selectedInstance === instance; + }, [selectedInstance]); + + const selectedTeamName = useMemo(() => { + if (selectedTeamId === undefined) { + return ""; + } + return teams.find(team => team.id == selectedTeamId).name; + }, [teams, selectedTeamId]); + return ( - - - - - + + + + + - - setMediaTypes(ts)} - showHideButton={false} - offerMultiple={true} - isStatusShown={variant === "single" ? isStatusShown : undefined} - setIsStatusShown={setIsStatusShown} - isAchievementShown={variant === "single" ? isAchievementShown : undefined} - setIsAchievementShown={setIsAchievementShown} - selectedMediaTypes={mediaTypes} - /> - - - - setIsMultipleMode(newV)}/> - - - - + - - setSearchValue(e.target.value.toLowerCase())} - defaultValue={""} - size="small" - margin="none" - label="Search" - variant="outlined" - fullWidth - /> + } - - + } ); }; function TeamView() { - const { enqueueSnackbar, } = useSnackbar(); + const { enqueueSnackbar, } = useSnackbar(); const service = useTeamViewService("singe", errorHandlerWithSnackbar(enqueueSnackbar)); const pvpService = useTeamViewService("pvp", errorHandlerWithSnackbar(enqueueSnackbar)); - const splitService= useTeamViewService("splitScreen", errorHandlerWithSnackbar(enqueueSnackbar)); + const splitService = useTeamViewService("splitScreen", errorHandlerWithSnackbar(enqueueSnackbar)); return ( From 280e4c970cc540cac77e4dab2f4270a85bfbddb0 Mon Sep 17 00:00:00 2001 From: Kostya Bats Date: Wed, 19 Jul 2023 14:32:09 +0300 Subject: [PATCH 020/154] admin: achievement and status switches in teamview --- .../admin/src/components/TeamTable.js | 1 + src/frontend/admin/src/components/TeamView.js | 322 ++++++++++-------- .../admin/src/services/teamViewWidget.js | 4 + 3 files changed, 187 insertions(+), 140 deletions(-) diff --git a/src/frontend/admin/src/components/TeamTable.js b/src/frontend/admin/src/components/TeamTable.js index 083e267cf..311af6095 100644 --- a/src/frontend/admin/src/components/TeamTable.js +++ b/src/frontend/admin/src/components/TeamTable.js @@ -164,6 +164,7 @@ TeamViewSettingsPanel.propTypes = { isSomethingSelected: PropTypes.bool, canShow: PropTypes.bool, // todo: make req isPossibleToHide: PropTypes.bool, + showHideButton: PropTypes.bool, canHide: PropTypes.bool, // todo: make req onShowTeam: PropTypes.func.isRequired, onHideTeam: PropTypes.func, diff --git a/src/frontend/admin/src/components/TeamView.js b/src/frontend/admin/src/components/TeamView.js index a94e2bba2..0820eab54 100644 --- a/src/frontend/admin/src/components/TeamView.js +++ b/src/frontend/admin/src/components/TeamView.js @@ -12,13 +12,16 @@ import { Tooltip, Switch, TextField, - styled, InputAdornment, FormLabel, + FormControl, + FormControlLabel, + ThemeProvider, + createTheme, } from "@mui/material"; import { useSnackbar } from "notistack"; import { errorHandlerWithSnackbar } from "../errors"; -import { useTeamViewService } from "../services/teamViewWidget"; +import { TeamViewService, useTeamViewService } from "../services/teamViewWidget"; import SingleTeamViewIcon from "@mui/icons-material/WebAsset"; import PVPTeamViewIcon from "@mui/icons-material/Splitscreen"; import SplitTeamViewIcon from "@mui/icons-material/GridView"; @@ -80,23 +83,44 @@ const useTeamsList = (rawTeams, status) => { return { teams: filteredTeams, selectedTeamId, setSelectedTeamId, searchValue, setSearchValue }; }; -const TEAMVIEW_INSTANCES = [ - { id: null, title: "single", icon: null }, - { id: "PVP_TOP", title: "PVP", icon: }, - { id: "PVP_BOTTOM", title: "PVP", icon: }, - { id: "TOP_LEFT", title: "SplitScreen", icon: }, - { id: "TOP_RIGHT", title: "SplitScreen", icon: }, - { id: "BOTTOM_LEFT", title: "SplitScreen", icon: }, - { id: "BOTTOM_RIGHT", title: "SplitScreen", icon: }, -]; +const teamViewTheme = createTheme({ + components: { + MuiPaper: { + styleOverrides: { + root: ({ theme }) => ({ + padding: theme.spacing(2), + marginBottom: theme.spacing(1), + }), + }, + }, + MuiButton: { + defaultProps: { + size: "small", + }, + }, + MuiButtonGroup: { + defaultProps: { + size: "small", + }, + }, + MuiButtonBase: { + styleOverrides: { + root: { + margin: "0 !important", + }, + }, + }, + }, +}); const VariantSelect = ({ variant, setVariant }) => { return ( setVariant(v)} + onChange={(_, v) => v && setVariant(v)} > Single PVP @@ -105,30 +129,31 @@ const VariantSelect = ({ variant, setVariant }) => { ); }; -const InstanceStatusCard = styled(Paper)(({ theme }) => ({ - padding: theme.spacing(2), - marginBottom: theme.spacing(1), -})); +VariantSelect.propTypes = { + variant: PropTypes.oneOf(["single", "pvp", "splitScreen"]).isRequired, + setVariant: PropTypes.func.isRequired, +}; -const InstanceStatus = ({ instanceId, Icon, status, teams, canShow, isSelected, onShow, onHide }) => { +const InstanceStatus = ({ instanceId, Icon, status, teams, selectedInstance, onShow, onHide }) => { const iStatus = status[instanceId]; const shownTeam = useMemo( () => teams.find(t => t.id === iStatus?.settings?.teamId), [teams, status]); + const isShowButtonDisabled = !(selectedInstance === instanceId || selectedInstance === undefined); return ( - + {Icon && } - Team: {shownTeam?.name ?? "Auto"} Media: {iStatus?.settings?.mediaTypes?.join(", ")} - + ); }; @@ -137,8 +162,7 @@ InstanceStatus.propTypes = { Icon: PropTypes.elementType.isRequired, status: PropTypes.object.isRequired, teams: PropTypes.arrayOf(TEAM_FIELD_STRUCTURE).isRequired, - canShow: PropTypes.func.isRequired, - isSelected: PropTypes.func.isRequired, + selectedInstance: PropTypes.string, onShow: PropTypes.func.isRequired, onHide: PropTypes.func.isRequired, }; @@ -185,8 +209,7 @@ InstancesManager.propTypes = { Icon: PropTypes.node, status: PropTypes.object.isRequired, teams: PropTypes.arrayOf(TEAM_FIELD_STRUCTURE).isRequired, - canShow: PropTypes.func.isRequired, - isSelected: PropTypes.func.isRequired, + selectedInstance: PropTypes.string, onShow: PropTypes.func.isRequired, onHide: PropTypes.func.isRequired, }; @@ -195,12 +218,15 @@ const TeamViewInstanceStatus = ({ instanceName, status, teams }) => { const shownTeam = useMemo( () => teams.find(t => t.id === status.settings.teamId), [teams, status]); - return ( - Instance {instanceName ?? "SINGLE"} {status.shown && "shown"} - Team: {shownTeam?.name ?? "Auto"} - Media: {status.settings.mediaTypes?.join(", ")} - ); + return ( + + Instance {instanceName ?? "SINGLE"} {status.shown && "shown"} + Team: {shownTeam?.name ?? "Auto"} + Media: {status.settings.mediaTypes?.join(", ")} + + ); }; + TeamViewInstanceStatus.propTypes = { instanceName: PropTypes.any, status: PropTypes.shape({ @@ -210,16 +236,19 @@ TeamViewInstanceStatus.propTypes = { mediaTypes: PropTypes.arrayOf(PropTypes.string.isRequired), }).isRequired, }).isRequired, - teams: PropTypes.arrayOf(TEAM_FIELD_STRUCTURE), + teams: PropTypes.arrayOf(TEAM_FIELD_STRUCTURE).isRequired, }; const MultipleModeSwitch = ({ currentService, setIsMultipleMode }) => { return ( + + Mulitple mode + setIsMultipleMode(newV)} /> - - - } - + + + + + + )} + } ); }; +TeamViewManager.propTypes = { + singleService: PropTypes.instanceOf(TeamViewService).isRequired, + pvpService: PropTypes.instanceOf(TeamViewService).isRequired, + splitService: PropTypes.instanceOf(TeamViewService).isRequired, +}; + + function TeamView() { const { enqueueSnackbar, } = useSnackbar(); - const service = useTeamViewService("singe", errorHandlerWithSnackbar(enqueueSnackbar)); + const service = useTeamViewService("single", errorHandlerWithSnackbar(enqueueSnackbar)); const pvpService = useTeamViewService("pvp", errorHandlerWithSnackbar(enqueueSnackbar)); const splitService = useTeamViewService("splitScreen", errorHandlerWithSnackbar(enqueueSnackbar)); return ( - + + + ); } diff --git a/src/frontend/admin/src/services/teamViewWidget.js b/src/frontend/admin/src/services/teamViewWidget.js index 2d64c91c7..4fc82a79c 100644 --- a/src/frontend/admin/src/services/teamViewWidget.js +++ b/src/frontend/admin/src/services/teamViewWidget.js @@ -16,6 +16,7 @@ export class TeamViewService extends AbstractWidgetService { constructor(variant, errorHandler, listenWS = true) { const [instances, apiPath] = getTeamViewVariantParams(variant); super("/" + apiPath, errorHandler, listenWS); + this.variant = variant; this.instances = instances; } @@ -28,6 +29,9 @@ export class TeamViewService extends AbstractWidgetService { } loadElements() { + if (this.variant === "single") { + return this.apiGet("").then(r => ({ [null]: r })).catch(this.errorHandler("Failed to load status")); + } return this.apiGet("").catch(this.errorHandler("Failed to load status")); } From 2584898fc3cc9454e2c4f83d6151f214b5ceed3a Mon Sep 17 00:00:00 2001 From: Pavel Kunyavskiy Date: Sat, 29 Jul 2023 12:20:39 +0200 Subject: [PATCH 021/154] Introduce serializable cds configs --- gradle/libs.versions.toml | 1 + src/cds/build.gradle.kts | 1 + .../main/kotlin/org/icpclive/api/Advanced.kt | 11 +- .../kotlin/org/icpclive/cds/CDSSettings.kt | 184 ++++++++++++++++++ .../org/icpclive/cds/ContestDataSource.kt | 50 ++--- .../cds/adapters/AdvancedPropertiesAdapter.kt | 3 +- .../org/icpclive/cds/cats/CATSDataSource.kt | 42 ++-- .../org/icpclive/cds/clics/ClicsDataSource.kt | 35 ++-- .../icpclive/cds/codeforces/CFDataSource.kt | 15 +- .../icpclive/cds/ejudge/EjudgeDataSource.kt | 23 +-- .../org/icpclive/cds/krsu/KRSUDataSource.kt | 46 +---- .../org/icpclive/cds/pcms/PCMSDataSource.kt | 21 +- .../icpclive/cds/testsys/TestSysDataSource.kt | 12 +- .../icpclive/cds/yandex/YandexConstants.kt | 3 - .../icpclive/cds/yandex/YandexDataSource.kt | 30 +-- .../org/icpclive/cds/clics/CdsLoadersTest.kt | 39 ++-- .../org/icpclive/util/SerializationUtils.kt | 35 ++++ 17 files changed, 339 insertions(+), 212 deletions(-) create mode 100644 src/cds/src/main/kotlin/org/icpclive/cds/CDSSettings.kt diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index ffce21bd2..0190a359d 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -38,6 +38,7 @@ ktor-server-websockets = { version.ref = "ktor", group = "io.ktor", nam kotlinx-datetime = { version.ref = "datetime", group = "org.jetbrains.kotlinx", name = "kotlinx-datetime" } kotlinx-serialization-json = { version.ref = "serialization", group = "org.jetbrains.kotlinx", name = "kotlinx-serialization-json" } +kotlinx-serialization-properties = { version.ref = "serialization", group = "org.jetbrains.kotlinx", name = "kotlinx-serialization-properties" } kotlinx-coroutines-core = { version.ref = "coroutines", group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-core" } kotlinx-collections-immutable = { version.ref = "immutable", group = "org.jetbrains.kotlinx", name = "kotlinx-collections-immutable"} diff --git a/src/cds/build.gradle.kts b/src/cds/build.gradle.kts index 5ebabea96..49fd1469d 100644 --- a/src/cds/build.gradle.kts +++ b/src/cds/build.gradle.kts @@ -12,6 +12,7 @@ dependencies { implementation(libs.ktor.client.websockets) implementation(libs.ktor.client.logging) implementation(libs.kotlinx.serialization.json) + implementation(libs.kotlinx.serialization.properties) implementation(libs.kotlinx.coroutines.core) implementation(libs.kotlinx.datetime) implementation(projects.common) diff --git a/src/cds/src/main/kotlin/org/icpclive/api/Advanced.kt b/src/cds/src/main/kotlin/org/icpclive/api/Advanced.kt index e00720424..0569dd815 100644 --- a/src/cds/src/main/kotlin/org/icpclive/api/Advanced.kt +++ b/src/cds/src/main/kotlin/org/icpclive/api/Advanced.kt @@ -1,11 +1,9 @@ package org.icpclive.api +import kotlinx.datetime.Instant import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable -import org.icpclive.util.ColorSerializer -import org.icpclive.util.DurationInMinutesSerializer -import org.icpclive.util.DurationInSecondsSerializer -import org.icpclive.util.humanReadable +import org.icpclive.util.* import java.awt.Color import kotlin.time.Duration @@ -48,7 +46,8 @@ class RankingSettings( @Serializable data class AdvancedProperties( - val startTime: String? = null, + @Serializable(with = HumanTimeSerializer::class) + val startTime: Instant? = null, @Serializable(with = DurationInSecondsSerializer::class) @SerialName("freezeTimeSeconds") val freezeTime: Duration? = null, @@ -65,7 +64,7 @@ data class AdvancedProperties( fun ContestInfo.toAdvancedProperties(fields: Set) : AdvancedProperties { fun T.takeIfAsked(name: String) = takeIf { name in fields || "all" in fields } return AdvancedProperties( - startTime = startTime.humanReadable.takeIfAsked("startTime"), + startTime = startTime.takeIfAsked("startTime"), freezeTime = freezeTime.takeIfAsked("freezeTime"), holdTime = holdBeforeStartTime?.takeIfAsked("holdBeforeStartTime"), teamOverrides = teams.associate { diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/CDSSettings.kt b/src/cds/src/main/kotlin/org/icpclive/cds/CDSSettings.kt new file mode 100644 index 000000000..258c1fb22 --- /dev/null +++ b/src/cds/src/main/kotlin/org/icpclive/cds/CDSSettings.kt @@ -0,0 +1,184 @@ +@file:Suppress("UNUSED") +package org.icpclive.cds + + +import kotlinx.datetime.Instant +import kotlinx.datetime.TimeZone +import kotlinx.serialization.* +import kotlinx.serialization.json.Json +import org.icpclive.api.ContestResultType +import org.icpclive.cds.cats.CATSDataSource +import org.icpclive.cds.clics.ClicsDataSource +import org.icpclive.cds.clics.FeedVersion +import org.icpclive.cds.codeforces.CFDataSource +import org.icpclive.cds.ejudge.EjudgeDataSource +import org.icpclive.cds.krsu.KRSUDataSource +import org.icpclive.cds.noop.NoopDataSource +import org.icpclive.cds.pcms.PCMSDataSource +import org.icpclive.cds.testsys.TestSysDataSource +import org.icpclive.cds.yandex.YandexDataSource +import org.icpclive.util.HumanTimeSerializer +import org.icpclive.util.TimeZoneSerializer + +// I'd like to have them in cds files, but then serializing would be much harder + +@JvmInline +@Serializable +value class Credential(private val raw: String) { + fun get(creds: Map) : String { + val prefix = "\$creds." + return if (raw.startsWith(prefix)) { + val name = raw.substring(prefix.length) + creds[name] ?: throw IllegalStateException("Credential $name not found") + } else { + raw + } + } +} + +@Serializable +class EmulationSettings( + val speed: Double, + @Serializable(with = HumanTimeSerializer::class) + val startTime: Instant +) + +@Serializable +sealed class CDSSettings { + abstract val emulation: EmulationSettings? + override fun toString(): String { + return json.encodeToString(this) + } + + internal abstract fun toDataSource(creds: Map): RawContestDataSource + + companion object { + private val json = Json { prettyPrint = true } + } +} + +@Serializable +@SerialName("noop") +class NoopSettings(override val emulation: EmulationSettings? = null) : CDSSettings() { + override fun toDataSource(creds: Map) = NoopDataSource() +} + +@Serializable +@SerialName("testsys") +class TestSysSettings( + val url: String, + @Serializable(with = TimeZoneSerializer::class) + val timeZone: TimeZone = TimeZone.of("Europe/Moscow"), + override val emulation: EmulationSettings? = null, +) : CDSSettings() { + override fun toDataSource(creds: Map) = TestSysDataSource(this) +} + +@Serializable +@SerialName("cats") +class CatsSettings( + val login: Credential, + val password: Credential, + val url: String, + @Serializable(with = TimeZoneSerializer::class) + val timeZone: TimeZone = TimeZone.of("Asia/Vladivostok"), + val resultType: ContestResultType = ContestResultType.ICPC, + val cid: String, + override val emulation: EmulationSettings? = null, +) : CDSSettings() { + override fun toDataSource(creds: Map) = CATSDataSource(this, creds) +} + +@Serializable +@SerialName("krsu") +class KRSUSettings( + @SerialName("submissions-url") + val submissionsUrl: String, + @SerialName("contest-url") + val contestUrl: String, + @Serializable(with = TimeZoneSerializer::class) + val timeZone: TimeZone = TimeZone.of("Asia/Bishkek"), + override val emulation: EmulationSettings? = null, +) : CDSSettings() { + override fun toDataSource(creds: Map) = KRSUDataSource(this) +} + +@Serializable +@SerialName("ejudge") +class EjudgeSettings( + val url: String, + val resultType: ContestResultType = ContestResultType.ICPC, + override val emulation: EmulationSettings? = null +) : CDSSettings() { + override fun toDataSource(creds: Map) = EjudgeDataSource(this) +} + + +@Serializable +@SerialName("yandex") +class YandexSettings( + @SerialName("yandex.token") + val apiKey: Credential, + @SerialName("yandex.login_prefix") + val loginRegex: String, + @SerialName("yandex.contest_id") + val contestId: Int, + val resultType: ContestResultType = ContestResultType.ICPC, + override val emulation: EmulationSettings? = null +) : CDSSettings() { + override fun toDataSource(creds: Map) = YandexDataSource(this, creds) +} + +@Serializable +@SerialName("cf") +class CFSettings( + val contest_id: Int, + @SerialName("cf.api.key") + val apiKey: Credential, + @SerialName("cf.api.secret") + val apiSecret: Credential, + override val emulation: EmulationSettings? = null, +) : CDSSettings() { + override fun toDataSource(creds: Map) = CFDataSource(this, creds) +} + +@Serializable +@SerialName("pcms") +class PCMSSettings( + val url: String, + val login: Credential? = null, + val password: Credential? = null, + @SerialName("problems.url") + val problemsUrl: String? = null, + val resultType: ContestResultType = ContestResultType.ICPC, + override val emulation: EmulationSettings? = null +) : CDSSettings() { + override fun toDataSource(creds: Map) = PCMSDataSource(this, creds) +} + +@Serializable +class ClicsLoaderSettings( + val url: String, + val login: Credential? = null, + val password: Credential? = null, + val event_feed_name: String = "event-feed", + val feed_version: FeedVersion = FeedVersion.`2022_07` +) + +@SerialName("clics") +@Serializable +class ClicsSettings( + private val url: String, + private val login: Credential? = null, + private val password: Credential? = null, + private val event_feed_name: String = "event-feed", + private val feed_version: FeedVersion = FeedVersion.`2022_07`, + val additional_feed: ClicsLoaderSettings? = null, + val use_team_names: Boolean = true, + val media_base_url: String = "", + override val emulation: EmulationSettings? = null, +) : CDSSettings() { + val main_feed get() = ClicsLoaderSettings(url,login, password, event_feed_name, feed_version) + + override fun toDataSource(creds: Map) = ClicsDataSource(this, creds) +} diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/ContestDataSource.kt b/src/cds/src/main/kotlin/org/icpclive/cds/ContestDataSource.kt index e54eb874f..dd0693778 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/ContestDataSource.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/ContestDataSource.kt @@ -1,26 +1,18 @@ package org.icpclive.cds -import org.icpclive.cds.noop.NoopDataSource import kotlinx.coroutines.* import kotlinx.coroutines.flow.* +import kotlinx.serialization.ExperimentalSerializationApi import kotlinx.serialization.Serializable import org.icpclive.api.AnalyticsMessage import org.icpclive.api.ContestInfo import org.icpclive.api.RunInfo import org.icpclive.cds.adapters.* -import org.icpclive.cds.cats.CATSDataSource -import org.icpclive.cds.clics.ClicsDataSource -import org.icpclive.cds.codeforces.CFDataSource -import org.icpclive.cds.ejudge.EjudgeDataSource -import org.icpclive.cds.krsu.KRSUDataSource -import org.icpclive.cds.pcms.PCMSDataSource -import org.icpclive.cds.testsys.TestSysDataSource -import org.icpclive.cds.yandex.YandexDataSource import org.icpclive.util.getLogger -import org.icpclive.util.guessDatetimeFormat import org.icpclive.util.loopFlow -import java.util.* import kotlin.time.Duration +import kotlinx.serialization.properties.* +import kotlinx.serialization.properties.Properties sealed interface ContestUpdate data class InfoUpdate(val newInfo: ContestInfo) : ContestUpdate @@ -58,34 +50,22 @@ abstract class FullReloadContestDataSource(val interval: Duration) : RawContestD } } -internal fun getRawLoader(properties: Properties, creds: Map) = when (val standingsType = properties.getProperty("standings.type")) { - "CLICS" -> ClicsDataSource(properties, creds) - "PCMS" -> PCMSDataSource(properties, creds) - "CF" -> CFDataSource(properties, creds) - "YANDEX" -> YandexDataSource(properties, creds) - "EJUDGE" -> EjudgeDataSource(properties) - "KRSU" -> KRSUDataSource(properties) - "CATS" -> CATSDataSource(properties, creds) - "TESTSYS" -> TestSysDataSource(properties) - "NOOP" -> NoopDataSource() - else -> throw IllegalArgumentException("Unknown standings.type $standingsType") -} - - +@OptIn(ExperimentalSerializationApi::class) fun getContestDataSourceAsFlow( - properties: Properties, + properties: java.util.Properties, creds: Map = emptyMap(), ) : Flow { - val rawLoader = getRawLoader(properties, creds) + properties.getProperty("standings.type")?.let { properties.setProperty("type", it.lowercase()) } + properties.getProperty("standings.resultType")?.let { properties.setProperty("resultType", it.uppercase()) } + @Suppress("UNCHECKED_CAST") + val settings = Properties.decodeFromStringMap(properties as Map) + val rawLoader = settings.toDataSource(creds) - val emulationSpeed = properties.getProperty("emulation.speed")?.toDouble() - val loader = if (emulationSpeed == null) { - rawLoader - } else { - val emulationStartTime = guessDatetimeFormat(properties.getProperty("emulation.startTime")) - EmulationAdapter(emulationStartTime, emulationSpeed, rawLoader) + val loader = when (val emulationSettings = settings.emulation) { + null -> rawLoader + else -> EmulationAdapter(emulationSettings.startTime, emulationSettings.speed, rawLoader) } - return loader.getFlow() -} \ No newline at end of file +} + diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/adapters/AdvancedPropertiesAdapter.kt b/src/cds/src/main/kotlin/org/icpclive/cds/adapters/AdvancedPropertiesAdapter.kt index e0fb39941..64588e8f1 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/adapters/AdvancedPropertiesAdapter.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/adapters/AdvancedPropertiesAdapter.kt @@ -40,7 +40,7 @@ fun Flow.applyAdvancedProperties(advancedPropsFlow: Flow { @@ -46,13 +44,9 @@ private object SubmissionTimeSerializer : KSerializer { } } -class CATSDataSource(val properties: Properties, creds: Map) : FullReloadContestDataSource(5.seconds) { - private val login = properties.getCredentials("login", creds) - private val password = properties.getCredentials("password", creds) - private val url = properties.getProperty("url") - private val timezone = TimeZone.of(properties.getProperty("timezone") ?: throw IllegalStateException("Cats requires timezone property to be set")) - val resultType = ContestResultType.valueOf(properties.getProperty("standings.resultType", "ICPC").uppercase()) - private val cid = properties.getProperty("cid") +class CATSDataSource(val settings: CatsSettings, creds: Map) : FullReloadContestDataSource(5.seconds) { + private val login = settings.login.get(creds) + private val password = settings.password.get(creds) private var sid: String? = null @@ -60,7 +54,7 @@ class CATSDataSource(val properties: Properties, creds: Map) : F data class Auth(val status: String, val sid: String, val cid: Long) @Serializable - data class Problem(val id: Int, val name: String, val code: String, val max_points: String = "0.0") + data class Problem(val id: Int, val name: String, val code: String, val max_points: Double = 0.0) @Serializable data class Problems(val problems: List) @@ -120,11 +114,11 @@ class CATSDataSource(val properties: Properties, creds: Map) : F val contest_start: Int ) : Run() - private val authLoader = jsonLoader { "$url/?f=login&login=$login&passwd=$password&json=1" } - private val problemsLoader = jsonLoader { "$url/problems?cid=$cid&sid=${sid!!}&rows=1000&json=1" } - private val usersLoader = jsonLoader { "$url/users?cid=$cid&sid=${sid!!}&rows=1000&json=1" } - private val contestLoader = jsonLoader { "$url/contest_params?cid=$cid&sid=${sid!!}&json=1" } - private val runsLoader = jsonLoader> { "$url/console?cid=$cid&sid=${sid!!}&rows=1000&json=1&search=is_ooc%3D0&show_messages=0&show_contests=0&show_results=1" } + private val authLoader = jsonLoader { "${settings.url}/?f=login&login=$login&passwd=$password&json=1" } + private val problemsLoader = jsonLoader { "${settings.url}/problems?cid=${settings.cid}&sid=${sid!!}&rows=1000&json=1" } + private val usersLoader = jsonLoader { "${settings.url}/users?cid=${settings.cid}&sid=${sid!!}&rows=1000&json=1" } + private val contestLoader = jsonLoader { "${settings.url}/contest_params?cid=${settings.cid}&sid=${sid!!}&json=1" } + private val runsLoader = jsonLoader> { "${settings.url}/console?cid=${settings.cid}&sid=${sid!!}&rows=1000&json=1&search=is_ooc%3D0&show_messages=0&show_contests=0&show_results=1" } override suspend fun loadOnce(): ContestParseResult { sid = authLoader.load().sid @@ -152,9 +146,9 @@ class CATSDataSource(val properties: Properties, creds: Map) : F id = problem.id, ordinal = index, contestSystemId = problem.id.toString(), - minScore = if (resultType == ContestResultType.IOI) 0.0 else null, - maxScore = if (resultType == ContestResultType.IOI) problem.max_points.toDoubleOrNull() else null, - scoreMergeMode = if (resultType == ContestResultType.IOI) ScoreMergeMode.MAX_TOTAL else null + minScore = if (settings.resultType == ContestResultType.IOI) 0.0 else null, + maxScore = if (settings.resultType == ContestResultType.IOI) problem.max_points else null, + scoreMergeMode = if (settings.resultType == ContestResultType.IOI) ScoreMergeMode.MAX_TOTAL else null ) } .toList() @@ -174,21 +168,21 @@ class CATSDataSource(val properties: Properties, creds: Map) : F ) }.toList() - val startTime = contest.start_date.toInstant(timezone) - val contestLength = contest.finish_date.toInstant(timezone) - startTime - val freezeTime = contest.freeze_date.toInstant(timezone) - startTime + val startTime = contest.start_date.toInstant(settings.timeZone) + val contestLength = contest.finish_date.toInstant(settings.timeZone) - startTime + val freezeTime = contest.freeze_date.toInstant(settings.timeZone) - startTime val contestInfo = ContestInfo( name = contest.title, status = ContestStatus.OVER, - resultType = resultType, + resultType = settings.resultType, startTime = startTime, contestLength = contestLength, freezeTime = freezeTime, problems = problemsList, teams = teamList, groups = emptyList(), - penaltyRoundingMode = when (resultType) { + penaltyRoundingMode = when (settings.resultType) { ContestResultType.IOI -> PenaltyRoundingMode.ZERO ContestResultType.ICPC -> PenaltyRoundingMode.EACH_SUBMISSION_DOWN_TO_MINUTE } diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/clics/ClicsDataSource.kt b/src/cds/src/main/kotlin/org/icpclive/cds/clics/ClicsDataSource.kt index 10fdb4c9d..a31d25987 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/clics/ClicsDataSource.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/clics/ClicsDataSource.kt @@ -16,37 +16,34 @@ import org.icpclive.cds.common.ClientAuth import org.icpclive.cds.common.getLineStreamLoaderFlow import org.icpclive.cds.common.isHttpUrl import org.icpclive.util.* -import java.util.* import kotlin.time.Duration.Companion.seconds enum class FeedVersion { - V2020_03, - V2022_07 + `2020_03`, + `2022_07` } -private class ClicsLoaderSettings(properties: Properties, prefix: String, creds: Map) { - private val url = properties.getProperty("${prefix}url") +private class ParsedClicsLoaderSettings(settings: ClicsLoaderSettings, creds: Map) { + private val url = settings.url val auth = ClientAuth.BasicOrNull( - properties.getCredentials("${prefix}login", creds), - properties.getCredentials("${prefix}password", creds) + settings.login?.get(creds), + settings.password?.get(creds) ) - val eventFeedUrl = apiRequestUrl(properties.getProperty("${prefix}event_feed_name", "event-feed")) + val eventFeedUrl = apiRequestUrl(settings.event_feed_name) private fun apiRequestUrl(method: String) = "$url/$method" - val feedVersion = FeedVersion.valueOf("V" + properties.getProperty("${prefix}feed_version", "2022_07")) + val feedVersion = settings.feed_version } -class ClicsDataSource(properties: Properties, creds: Map) : RawContestDataSource { - private val mainLoaderSettings = ClicsLoaderSettings(properties, "", creds) - private val additionalLoaderSettings = properties.getProperty("additional_feed.url", null)?.let { - ClicsLoaderSettings(properties, "additional_feed.", creds) - } +class ClicsDataSource(val settings: ClicsSettings, creds: Map) : RawContestDataSource { + private val mainLoaderSettings = ParsedClicsLoaderSettings(settings.main_feed, creds) + private val additionalLoaderSettings = settings.additional_feed?.let { ParsedClicsLoaderSettings(it, creds) } private val model = ClicsModel( - properties.getProperty("use_team_names", "true") == "true", - properties.getProperty("media_base_url", "") + settings.use_team_names, + settings.media_base_url ) val Event.isFinalEvent get() = this is StateEvent && data?.end_of_updates != null @@ -196,7 +193,7 @@ class ClicsDataSource(properties: Properties, creds: Map) : RawC companion object { val logger = getLogger(ClicsDataSource::class) @OptIn(ExperimentalSerializationApi::class) - private fun getEventFeedLoader(settings: ClicsLoaderSettings) = flow { + private fun getEventFeedLoader(settings: ParsedClicsLoaderSettings) = flow { val jsonDecoder = Json { ignoreUnknownKeys = true explicitNulls = false @@ -208,8 +205,8 @@ class ClicsDataSource(properties: Properties, creds: Map) : RawC .mapNotNull { data -> try { when (settings.feedVersion) { - FeedVersion.V2020_03 -> Event.fromV1(jsonDecoder.decodeFromString(data)) - FeedVersion.V2022_07 -> jsonDecoder.decodeFromString(data) + FeedVersion.`2020_03` -> Event.fromV1(jsonDecoder.decodeFromString(data)) + FeedVersion.`2022_07` -> jsonDecoder.decodeFromString(data) } } catch (e: SerializationException) { logger.error("Failed to deserialize: $data", e) diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/codeforces/CFDataSource.kt b/src/cds/src/main/kotlin/org/icpclive/cds/codeforces/CFDataSource.kt index e271cc337..90a37fa4f 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/codeforces/CFDataSource.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/codeforces/CFDataSource.kt @@ -2,6 +2,7 @@ package org.icpclive.cds.codeforces import kotlinx.datetime.Clock import org.icpclive.api.ContestStatus +import org.icpclive.cds.CFSettings import org.icpclive.cds.ContestParseResult import org.icpclive.cds.FullReloadContestDataSource import org.icpclive.cds.codeforces.api.data.* @@ -9,17 +10,15 @@ import org.icpclive.cds.codeforces.api.results.CFStandings import org.icpclive.cds.codeforces.api.results.CFStatusWrapper import org.icpclive.cds.common.jsonLoader import org.icpclive.cds.common.map -import org.icpclive.util.getCredentials import java.security.MessageDigest import java.util.* import kotlin.random.Random import kotlin.time.Duration.Companion.seconds -class CFDataSource(properties: Properties, creds: Map) : FullReloadContestDataSource(5.seconds) { +class CFDataSource(val settings: CFSettings, creds: Map) : FullReloadContestDataSource(5.seconds) { private val contestInfo = CFContestInfo() - private val contestId = properties.getProperty("contest_id").toInt() - private val apiKey = properties.getCredentials("cf.api.key", creds) ?: error("No Codeforces api key defined") - private val apiSecret = properties.getCredentials("cf.api.secret", creds) ?: error("No Codeforces api secret defined") + private val apiKey = settings.apiKey.get(creds) + private val apiSecret = settings.apiSecret.get(creds) private fun apiRequestUrl( method: String, @@ -36,7 +35,7 @@ class CFDataSource(properties: Properties, creds: Map) : FullRel private val standingsLoader = jsonLoader> { apiRequestUrl( "contest.standings", - mapOf("contestId" to contestId.toString()) + mapOf("contestId" to settings.contest_id.toString()) ) }.map { it.unwrap() @@ -45,7 +44,7 @@ class CFDataSource(properties: Properties, creds: Map) : FullRel private val statusLoader = jsonLoader>> { apiRequestUrl( "contest.status", - mapOf("contestId" to contestId.toString()) + mapOf("contestId" to settings.contest_id.toString()) ) }.map { it.unwrap() @@ -54,7 +53,7 @@ class CFDataSource(properties: Properties, creds: Map) : FullRel private val hacksLoader = jsonLoader>> { apiRequestUrl( "contest.hacks", - mapOf("contestId" to contestId.toString()) + mapOf("contestId" to settings.contest_id.toString()) ) }.map { it.unwrap() diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/ejudge/EjudgeDataSource.kt b/src/cds/src/main/kotlin/org/icpclive/cds/ejudge/EjudgeDataSource.kt index 79e91dd7e..d0046e745 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/ejudge/EjudgeDataSource.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/ejudge/EjudgeDataSource.kt @@ -3,22 +3,19 @@ package org.icpclive.cds.ejudge import kotlinx.datetime.Instant import org.icpclive.api.* import org.icpclive.cds.ContestParseResult +import org.icpclive.cds.EjudgeSettings import org.icpclive.cds.FullReloadContestDataSource import org.icpclive.cds.common.xmlLoader import org.icpclive.util.child import org.icpclive.util.children import org.icpclive.util.guessDatetimeFormat import org.w3c.dom.Element -import java.util.* import kotlin.time.Duration import kotlin.time.Duration.Companion.hours import kotlin.time.Duration.Companion.nanoseconds import kotlin.time.Duration.Companion.seconds -class EjudgeDataSource(val properties: Properties) : FullReloadContestDataSource(5.seconds) { - val resultType = - ContestResultType.valueOf(properties.getProperty("standings.resultType", "ICPC").uppercase()) - +class EjudgeDataSource(val settings: EjudgeSettings) : FullReloadContestDataSource(5.seconds) { override suspend fun loadOnce(): ContestParseResult { val element = xmlLoader.load() return parseContestInfo(element.documentElement) @@ -33,9 +30,9 @@ class EjudgeDataSource(val properties: Properties) : FullReloadContestDataSource id = element.getAttribute("id").toInt(), ordinal = index, contestSystemId = element.getAttribute("id"), - minScore = if (resultType == ContestResultType.IOI) 0.0 else null, - maxScore = if (resultType == ContestResultType.IOI) 100.0 else null, - scoreMergeMode = if (resultType == ContestResultType.IOI) ScoreMergeMode.MAX_TOTAL else null + minScore = if (settings.resultType == ContestResultType.IOI) 0.0 else null, + maxScore = if (settings.resultType == ContestResultType.IOI) 100.0 else null, + scoreMergeMode = if (settings.resultType == ContestResultType.IOI) ScoreMergeMode.MAX_TOTAL else null ) }.toList() @@ -75,7 +72,7 @@ class EjudgeDataSource(val properties: Properties) : FullReloadContestDataSource else -> ContestStatus.RUNNING } - var freezeTime = if (resultType == ContestResultType.ICPC) 4.hours else contestLength + var freezeTime = if (settings.resultType == ContestResultType.ICPC) 4.hours else contestLength if (element.hasAttribute("fog_time")) { freezeTime = contestLength - element.getAttribute("fog_time").toLong().seconds } @@ -87,14 +84,14 @@ class EjudgeDataSource(val properties: Properties) : FullReloadContestDataSource contestInfo = ContestInfo( name = name, status = status, - resultType = resultType, + resultType = settings.resultType, startTime = startTime, contestLength = contestLength, freezeTime = freezeTime, problems = parseProblemsInfo(element), teams = teams, groups = emptyList(), - penaltyRoundingMode = when (resultType) { + penaltyRoundingMode = when (settings.resultType) { ContestResultType.IOI -> PenaltyRoundingMode.ZERO ContestResultType.ICPC -> PenaltyRoundingMode.EACH_SUBMISSION_DOWN_TO_MINUTE } @@ -141,7 +138,7 @@ class EjudgeDataSource(val properties: Properties) : FullReloadContestDataSource return RunInfo( id = runId, - when (resultType) { + when (settings.resultType) { ContestResultType.ICPC -> result?.toRunResult() ContestResultType.IOI -> { @@ -158,5 +155,5 @@ class EjudgeDataSource(val properties: Properties) : FullReloadContestDataSource ) } - private val xmlLoader = xmlLoader { properties.getProperty("url") } + private val xmlLoader = xmlLoader { settings.url } } diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/krsu/KRSUDataSource.kt b/src/cds/src/main/kotlin/org/icpclive/cds/krsu/KRSUDataSource.kt index 7e4aab86c..572e0f01e 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/krsu/KRSUDataSource.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/krsu/KRSUDataSource.kt @@ -1,26 +1,17 @@ package org.icpclive.cds.krsu -import kotlinx.datetime.Clock -import kotlinx.datetime.Instant -import kotlinx.serialization.KSerializer +import kotlinx.datetime.* import kotlinx.serialization.Serializable -import kotlinx.serialization.descriptors.PrimitiveKind -import kotlinx.serialization.descriptors.PrimitiveSerialDescriptor -import kotlinx.serialization.descriptors.SerialDescriptor -import kotlinx.serialization.encoding.Decoder -import kotlinx.serialization.encoding.Encoder import org.icpclive.api.* import org.icpclive.cds.ContestParseResult import org.icpclive.cds.FullReloadContestDataSource +import org.icpclive.cds.KRSUSettings import org.icpclive.cds.common.jsonLoader -import org.icpclive.util.getLogger -import java.util.* import kotlin.time.Duration import kotlin.time.Duration.Companion.hours import kotlin.time.Duration.Companion.seconds -class KRSUDataSource(val properties: Properties) : FullReloadContestDataSource(5.seconds) { - +class KRSUDataSource(val settings: KRSUSettings) : FullReloadContestDataSource(5.seconds) { override suspend fun loadOnce() = parseAndUpdateStandings( contestInfoLoader.load(), submissionsLoader.load() ) @@ -29,9 +20,7 @@ class KRSUDataSource(val properties: Properties) : FullReloadContestDataSource(5 var lastTeamId: Int = 0 private fun parseAndUpdateStandings(contest: Contest, submissions: List): ContestParseResult { - val timezoneShift = Duration.parse(properties.getProperty("timezone-shift")) - - val startTime = contest.StartTime - timezoneShift + val startTime = contest.StartTime.toInstant(settings.timeZone) val problemsList = contest.ProblemSet.mapIndexed { index, it -> ProblemInfo( @@ -62,14 +51,13 @@ class KRSUDataSource(val properties: Properties) : FullReloadContestDataSource(5 val freezeTime = contestLength - 1.hours val runs = submissions.map { val result = outcomeMap[it.StatusName] - logger.info("" + (it.ReceivedTime - startTime)) RunInfo( id = it.Id, result?.toRunResult(), problemId = it.Problem, teamId = teams[it.Login]?.id ?: -1, percentage = if (result == null) 0.0 else 1.0, - time = (it.ReceivedTime - timezoneShift) - startTime, + time = (it.ReceivedTime.toInstant(settings.timeZone)) - startTime, ) }.toList() @@ -96,11 +84,10 @@ class KRSUDataSource(val properties: Properties) : FullReloadContestDataSource(5 ) } - private val submissionsLoader = jsonLoader> { properties.getProperty("submissions-url") } - private val contestInfoLoader = jsonLoader { properties.getProperty("contest-url") } + private val submissionsLoader = jsonLoader> { settings.submissionsUrl } + private val contestInfoLoader = jsonLoader { settings.contestUrl } companion object { - private val logger = getLogger(KRSUDataSource::class) private val outcomeMap = mapOf( "InternalError" to Verdict.Fail, "Compile Error" to Verdict.CompilationError, @@ -126,8 +113,7 @@ class KRSUDataSource(val properties: Properties) : FullReloadContestDataSource(5 val Status: Int, val StatusName: String, val TestPassed: Int, - @Serializable(with = TimeSerializer::class) - val ReceivedTime: Instant, + val ReceivedTime: LocalDateTime, val AuthorName: String, ) @@ -136,8 +122,7 @@ class KRSUDataSource(val properties: Properties) : FullReloadContestDataSource(5 class Contest( val Id: Int, val ProblemSet: List, - @Serializable(with = TimeSerializer::class) - val StartTime: Instant, + val StartTime: LocalDateTime, val Length: Int ) @@ -147,18 +132,5 @@ class KRSUDataSource(val properties: Properties) : FullReloadContestDataSource(5 val Letter: Int, val Problem: Int ) - - class TimeSerializer : KSerializer { - override val descriptor: SerialDescriptor = PrimitiveSerialDescriptor("krsu time", PrimitiveKind.STRING) - - override fun deserialize(decoder: Decoder): Instant { - return Instant.parse(decoder.decodeString() + "Z") - } - - override fun serialize(encoder: Encoder, value: Instant) { - TODO("Not yet implemented") - } - - } } diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/pcms/PCMSDataSource.kt b/src/cds/src/main/kotlin/org/icpclive/cds/pcms/PCMSDataSource.kt index 89f294bf7..4ea83e6b4 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/pcms/PCMSDataSource.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/pcms/PCMSDataSource.kt @@ -5,6 +5,7 @@ import kotlinx.datetime.Instant import org.icpclive.api.* import org.icpclive.cds.ContestParseResult import org.icpclive.cds.FullReloadContestDataSource +import org.icpclive.cds.PCMSSettings import org.icpclive.cds.common.ClientAuth import org.icpclive.cds.common.xmlLoader import org.icpclive.util.* @@ -15,34 +16,28 @@ import kotlin.time.Duration.Companion.hours import kotlin.time.Duration.Companion.milliseconds import kotlin.time.Duration.Companion.seconds -class PCMSDataSource(val properties: Properties, creds: Map) : FullReloadContestDataSource(5.seconds) { - private val login = properties.getCredentials("login", creds) - private val password = properties.getCredentials("password", creds) +class PCMSDataSource(val settings: PCMSSettings, creds: Map) : FullReloadContestDataSource(5.seconds) { + private val login = settings.login?.get(creds) + private val password = settings.password?.get(creds) private val dataLoader = xmlLoader(login?.let { ClientAuth.Basic(login, password!!) }) { - properties.getProperty("url") + settings.url } - val resultType = ContestResultType.valueOf(properties.getProperty("standings.resultType", "ICPC").uppercase()) + val resultType = settings.resultType val runIds = Enumerator() val teamIds = Enumerator() val problemIds = Enumerator() var startTime = Instant.fromEpochMilliseconds(0) override suspend fun loadOnce() : ContestParseResult { - val problemsOverride = if(properties.containsKey("problems.url")) { - loadCustomProblems() - } else { - null - } + val problemsOverride = settings.problemsUrl?.let { loadCustomProblems(it) } return parseAndUpdateStandings(dataLoader.load().documentElement, problemsOverride) } private fun parseAndUpdateStandings(element: Element, problemsOverride: Element?) = parseContestInfo(element.child("contest"), problemsOverride) - private suspend fun loadCustomProblems() : Element { - val problemsUrl = properties.getProperty("problems.url") + private suspend fun loadCustomProblems(problemsUrl: String) : Element { val problemsLoader = xmlLoader { problemsUrl } - return problemsLoader.load().documentElement } diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/testsys/TestSysDataSource.kt b/src/cds/src/main/kotlin/org/icpclive/cds/testsys/TestSysDataSource.kt index f472eb6f2..1d2440807 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/testsys/TestSysDataSource.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/testsys/TestSysDataSource.kt @@ -1,23 +1,21 @@ package org.icpclive.cds.testsys -import kotlinx.datetime.TimeZone import kotlinx.datetime.toInstant import kotlinx.datetime.toKotlinLocalDateTime import org.icpclive.api.* import org.icpclive.cds.ContestParseResult import org.icpclive.cds.FullReloadContestDataSource +import org.icpclive.cds.TestSysSettings import org.icpclive.cds.common.ByteArrayLoader import org.icpclive.cds.common.map import java.nio.charset.Charset import java.time.format.DateTimeFormatter -import java.util.Properties import kotlin.time.Duration.Companion.minutes import kotlin.time.Duration.Companion.seconds -class TestSysDataSource(val properties: Properties) : FullReloadContestDataSource(5.seconds) { - val url = properties.getProperty("url") - val loader = ByteArrayLoader(null) { url } +class TestSysDataSource(val settings: TestSysSettings) : FullReloadContestDataSource(5.seconds) { + val loader = ByteArrayLoader(null) { settings.url } .map { val eofPosition = it.indexOf(EOF) String( @@ -29,8 +27,6 @@ class TestSysDataSource(val properties: Properties) : FullReloadContestDataSourc it.split("\r\n").filter(String::isNotEmpty) } - val timeZone = properties.getProperty("timezone") ?: "Europe/Moscow" - override suspend fun loadOnce(): ContestParseResult { val data = loader.load().groupBy( keySelector = { it.split(" ", limit = 2)[0] }, @@ -122,7 +118,7 @@ class TestSysDataSource(val properties: Properties) : FullReloadContestDataSourc private fun String.toDate() = java.time.LocalDateTime.parse(this, DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm:ss")) .toKotlinLocalDateTime() - .toInstant(TimeZone.of(timeZone)) + .toInstant(settings.timeZone) private fun String.toStatus() = when (this) { "RESULTS" -> ContestStatus.OVER diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/yandex/YandexConstants.kt b/src/cds/src/main/kotlin/org/icpclive/cds/yandex/YandexConstants.kt index 9eec0c59f..592d20841 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/yandex/YandexConstants.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/yandex/YandexConstants.kt @@ -1,8 +1,5 @@ package org.icpclive.cds.yandex object YandexConstants { - const val TOKEN_PROPERTY_NAME = "yandex.token" - const val CONTEST_ID_PROPERTY_NAME = "yandex.contest_id" - const val LOGIN_PREFIX_PROPERTY_NAME = "yandex.login_prefix" const val API_BASE = "https://api.contest.yandex.net/api/public/v2" } \ No newline at end of file diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/yandex/YandexDataSource.kt b/src/cds/src/main/kotlin/org/icpclive/cds/yandex/YandexDataSource.kt index 1fbcc2ff8..bf3f788e1 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/yandex/YandexDataSource.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/yandex/YandexDataSource.kt @@ -6,26 +6,18 @@ import io.ktor.client.plugins.* import io.ktor.client.request.* import kotlinx.coroutines.* import kotlinx.coroutines.flow.* -import kotlinx.serialization.decodeFromString import kotlinx.serialization.json.Json -import org.icpclive.api.ContestResultType import org.icpclive.cds.* import org.icpclive.cds.RawContestDataSource import org.icpclive.cds.common.* import org.icpclive.cds.yandex.YandexConstants.API_BASE -import org.icpclive.cds.yandex.YandexConstants.CONTEST_ID_PROPERTY_NAME -import org.icpclive.cds.yandex.YandexConstants.LOGIN_PREFIX_PROPERTY_NAME -import org.icpclive.cds.yandex.YandexConstants.TOKEN_PROPERTY_NAME import org.icpclive.cds.yandex.api.* import org.icpclive.util.* -import java.util.* import kotlin.time.Duration import kotlin.time.Duration.Companion.seconds -class YandexDataSource(props: Properties, creds: Map) : RawContestDataSource { - private val apiKey: String - private val loginPrefix: String - private val contestId: Long +class YandexDataSource(settings: YandexSettings, creds: Map) : RawContestDataSource { + private val apiKey = settings.apiKey.get(creds) private val httpClient: HttpClient private val contestDescriptionLoader: DataLoader @@ -33,18 +25,14 @@ class YandexDataSource(props: Properties, creds: Map) : RawConte private val participantLoader: DataLoader> private val allSubmissionsLoader: DataLoader> - val resultType = ContestResultType.valueOf(props.getProperty("standings.resultType", "ICPC").uppercase()) + val resultType = settings.resultType init { - apiKey = props.getCredentials(TOKEN_PROPERTY_NAME, creds) ?: throw IllegalStateException("YC api key is not defined") - contestId = props.getProperty(CONTEST_ID_PROPERTY_NAME).toLong() - loginPrefix = props.getProperty(LOGIN_PREFIX_PROPERTY_NAME) - val auth = ClientAuth.OAuth(apiKey) httpClient = defaultHttpClient(auth) { defaultRequest { - url("$API_BASE/contests/$contestId/") + url("$API_BASE/contests/${settings.contestId}/") } engine { requestTimeout = 40000 @@ -52,18 +40,18 @@ class YandexDataSource(props: Properties, creds: Map) : RawConte } - contestDescriptionLoader = jsonLoader(auth) { "$API_BASE/contests/$contestId" } - problemLoader = jsonLoader(auth) { "$API_BASE/contests/$contestId/problems" }.map { + contestDescriptionLoader = jsonLoader(auth) { "$API_BASE/contests/${settings.contestId}" } + problemLoader = jsonLoader(auth) { "$API_BASE/contests/${settings.contestId}/problems" }.map { it.problems.sortedBy { it.alias } } participantLoader = run { - val participantRegex = Regex(loginPrefix) - jsonLoader>(auth) { "$API_BASE/contests/$contestId/participants" }.map { + val participantRegex = Regex(settings.loginRegex) + jsonLoader>(auth) { "$API_BASE/contests/${settings.contestId}/participants" }.map { it.filter { participant -> participant.login.matches(participantRegex) } } } allSubmissionsLoader = jsonLoader(auth) { - "$API_BASE/contests/$contestId/submissions?locale=ru&page=1&pageSize=100000" + "$API_BASE/contests/${settings.contestId}/submissions?locale=ru&page=1&pageSize=100000" }.map { it.submissions.reversed() } } diff --git a/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.kt b/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.kt index 0b08ae86e..03fddccc8 100644 --- a/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.kt +++ b/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.kt @@ -3,17 +3,17 @@ import kotlinx.serialization.encodeToString import kotlinx.serialization.json.Json import org.approvaltests.Approvals import org.approvaltests.core.Options -import org.icpclive.cds.getRawLoader +import org.icpclive.api.ContestResultType +import org.icpclive.cds.* +import org.icpclive.cds.clics.FeedVersion import org.junit.* -import java.util.Properties class CdsLoadersTest { @Test fun pcmsTest() { loaderTest( - mapOf( - "standings.type" to "PCMS", - "url" to "testData/loaders/pcms.xml" + PCMSSettings( + url = "testData/loaders/pcms.xml" ) ) } @@ -21,10 +21,9 @@ class CdsLoadersTest { @Test fun pcmsIOITest() { loaderTest( - mapOf( - "standings.type" to "PCMS", - "standings.resultType" to "IOI", - "url" to "testData/loaders/pcms-ioi.xml" + PCMSSettings( + resultType = ContestResultType.IOI, + url = "testData/loaders/pcms-ioi.xml" ) ) } @@ -33,10 +32,9 @@ class CdsLoadersTest { @Test fun clics202003Test() { loaderTest( - mapOf( - "standings.type" to "CLICS", - "feed_version" to "2020_03", - "url" to "testData/loaders/clics-2020-03" + ClicsSettings( + url = "testData/loaders/clics-2020-03", + feed_version = FeedVersion.`2020_03` ) ) } @@ -44,10 +42,9 @@ class CdsLoadersTest { @Test fun clics202207Test() { loaderTest( - mapOf( - "standings.type" to "CLICS", - "feed_version" to "2022_07", - "url" to "testData/loaders/clics-2022-07" + ClicsSettings( + url = "testData/loaders/clics-2022-07", + feed_version = FeedVersion.`2022_07` ) ) } @@ -57,12 +54,8 @@ class CdsLoadersTest { prettyPrint = true } - private fun loaderTest(args: Map) { - val properties = Properties() - for ((k, v) in args) { - properties.setProperty(k, v) - } - val loader = getRawLoader(properties, emptyMap()) + private fun loaderTest(args: CDSSettings) { + val loader = args.toDataSource(emptyMap()) val result = runBlocking { loader.loadOnce() } val options = Options() Approvals.verify(json.encodeToString(result), options) diff --git a/src/common/src/main/kotlin/org/icpclive/util/SerializationUtils.kt b/src/common/src/main/kotlin/org/icpclive/util/SerializationUtils.kt index 59a879585..17c356807 100644 --- a/src/common/src/main/kotlin/org/icpclive/util/SerializationUtils.kt +++ b/src/common/src/main/kotlin/org/icpclive/util/SerializationUtils.kt @@ -1,8 +1,10 @@ package org.icpclive.util import kotlinx.datetime.Instant +import kotlinx.datetime.TimeZone import kotlinx.serialization.ExperimentalSerializationApi import kotlinx.serialization.KSerializer +import kotlinx.serialization.SerializationException import kotlinx.serialization.descriptors.PrimitiveKind import kotlinx.serialization.descriptors.PrimitiveSerialDescriptor import kotlinx.serialization.descriptors.SerialDescriptor @@ -76,6 +78,39 @@ object UnixSecondsSerializer : KSerializer { } } +object HumanTimeSerializer : KSerializer { + override val descriptor: SerialDescriptor = PrimitiveSerialDescriptor("InstantH", PrimitiveKind.STRING) + + override fun serialize(encoder: Encoder, value: Instant) { + encoder.encodeString(value.humanReadable) + } + + override fun deserialize(decoder: Decoder): Instant { + val strValue = decoder.decodeString() + return try { + guessDatetimeFormat(strValue) + } catch (e: IllegalArgumentException) { + throw SerializationException(e.message) + } + } +} + +object TimeZoneSerializer : KSerializer { + override val descriptor: SerialDescriptor = PrimitiveSerialDescriptor("TimeZone", PrimitiveKind.STRING) + + override fun serialize(encoder: Encoder, value: TimeZone) { + encoder.encodeString(value.id) + } + + override fun deserialize(decoder: Decoder): TimeZone { + return try { + TimeZone.of(decoder.decodeString()) + } catch (e: IllegalArgumentException) { + throw SerializationException(e.message) + } + } +} + object ColorSerializer : KSerializer { override val descriptor: SerialDescriptor = PrimitiveSerialDescriptor("Color", PrimitiveKind.STRING) From 7a37283e7a9933ef39abb843f6efd217f5dd3327 Mon Sep 17 00:00:00 2001 From: Pavel Kunyavskiy Date: Sat, 29 Jul 2023 12:45:03 +0200 Subject: [PATCH 022/154] Move some classes to more appropriate packages --- .../main/kotlin/org/icpclive/Application.kt | 27 ++-- .../src/main/kotlin/Application.kt | 21 +--- .../kotlin/org/icpclive/cds/CDSSettings.kt | 118 ++++++++++++++---- .../org/icpclive/cds/ContestDataSource.kt | 71 ----------- .../kotlin/org/icpclive/cds/ContestUpdate.kt | 11 ++ .../icpclive/cds/adapters/EmulationAdapter.kt | 2 + .../org/icpclive/cds/cats/CATSDataSource.kt | 4 +- .../org/icpclive/cds/clics/ClicsDataSource.kt | 17 ++- .../icpclive/cds/codeforces/CFDataSource.kt | 10 +- .../icpclive/cds/common/ContestDataSource.kt | 8 ++ .../icpclive/cds/common/ContestParseResult.kt | 13 ++ .../cds/common/FullReloadContestDataSource.kt | 27 ++++ .../cds/common/RawContestDataSource.kt | 5 + .../icpclive/cds/ejudge/EjudgeDataSource.kt | 4 +- .../org/icpclive/cds/krsu/KRSUDataSource.kt | 4 +- .../org/icpclive/cds/noop/NoopDataSource.kt | 2 + .../org/icpclive/cds/pcms/PCMSDataSource.kt | 4 +- .../icpclive/cds/testsys/TestSysDataSource.kt | 4 +- .../icpclive/cds/yandex/YandexDataSource.kt | 2 +- .../org/icpclive/cds/clics/CdsLoadersTest.kt | 6 +- .../main/kotlin/org/icpclive/reacbot/Bot.kt | 16 +-- 21 files changed, 207 insertions(+), 169 deletions(-) delete mode 100644 src/cds/src/main/kotlin/org/icpclive/cds/ContestDataSource.kt create mode 100644 src/cds/src/main/kotlin/org/icpclive/cds/ContestUpdate.kt create mode 100644 src/cds/src/main/kotlin/org/icpclive/cds/common/ContestDataSource.kt create mode 100644 src/cds/src/main/kotlin/org/icpclive/cds/common/ContestParseResult.kt create mode 100644 src/cds/src/main/kotlin/org/icpclive/cds/common/FullReloadContestDataSource.kt create mode 100644 src/cds/src/main/kotlin/org/icpclive/cds/common/RawContestDataSource.kt diff --git a/src/backend/src/main/kotlin/org/icpclive/Application.kt b/src/backend/src/main/kotlin/org/icpclive/Application.kt index c200baa03..148fcfb65 100644 --- a/src/backend/src/main/kotlin/org/icpclive/Application.kt +++ b/src/backend/src/main/kotlin/org/icpclive/Application.kt @@ -15,27 +15,24 @@ import io.ktor.server.request.* import io.ktor.server.routing.* import io.ktor.server.util.* import io.ktor.server.websocket.* -import kotlinx.coroutines.* +import kotlinx.coroutines.CoroutineExceptionHandler import kotlinx.coroutines.flow.SharingStarted -import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.flow.stateIn +import kotlinx.coroutines.launch import org.icpclive.admin.configureAdminApiRouting import org.icpclive.api.AdvancedProperties -import org.icpclive.cds.InfoUpdate import org.icpclive.cds.adapters.* +import org.icpclive.cds.parseFileToCdsSettings import org.icpclive.data.Controllers -import org.icpclive.overlay.configureOverlayRouting -import org.icpclive.util.* -import org.icpclive.cds.getContestDataSourceAsFlow import org.icpclive.data.DataBus +import org.icpclive.overlay.configureOverlayRouting import org.icpclive.service.AdvancedPropertiesService import org.icpclive.service.launchServices +import org.icpclive.util.completeOrThrow +import org.icpclive.util.defaultJsonSettings +import org.icpclive.util.fileJsonContentFlow import org.slf4j.event.Level -import java.io.FileInputStream -import java.io.FileNotFoundException -import java.nio.file.Files import java.time.Duration -import java.util.* import kotlin.system.exitProcess fun main(args: Array): Unit = @@ -120,9 +117,6 @@ fun Application.module() { exitProcess(1) } val path = config.configDirectory.resolve("events.properties") - if (!Files.exists(path)) throw FileNotFoundException("events.properties not found in ${config.configDirectory}") - val properties = Properties() - FileInputStream(path.toString()).use { properties.load(it) } launch(handler) { val advancedJsonPath = config.configDirectory.resolve("advanced.json") @@ -130,10 +124,9 @@ fun Application.module() { .stateIn(this, SharingStarted.Eagerly, AdvancedProperties()) DataBus.advancedPropertiesFlow.completeOrThrow(advancedPropertiesFlow) - val loader = getContestDataSourceAsFlow( - properties, - config.creds, - ).applyAdvancedProperties(advancedPropertiesFlow) + val loader = parseFileToCdsSettings(path) + .toFlow(config.creds) + .applyAdvancedProperties(advancedPropertiesFlow) .withRunsBefore() .filterUseless() .removeFrozenSubmissions() diff --git a/src/cds-converter/src/main/kotlin/Application.kt b/src/cds-converter/src/main/kotlin/Application.kt index 850060135..4097a893b 100644 --- a/src/cds-converter/src/main/kotlin/Application.kt +++ b/src/cds-converter/src/main/kotlin/Application.kt @@ -24,16 +24,12 @@ import org.icpclive.cds.InfoUpdate import org.icpclive.cds.RunUpdate import org.icpclive.cds.adapters.* import org.icpclive.util.* -import org.icpclive.cds.getContestDataSourceAsFlow +import org.icpclive.cds.parseFileToCdsSettings import org.icpclive.org.icpclive.export.pcms.PCMSExporter import org.slf4j.event.Level import java.io.File -import java.io.FileInputStream -import java.io.FileNotFoundException -import java.nio.file.Files import java.nio.file.Paths import java.time.Duration -import java.util.* import kotlin.system.exitProcess fun main(args: Array): Unit = @@ -83,21 +79,16 @@ fun Application.module() { } environment.log.info("Using config directory $configDirectory") environment.log.info("Current working directory is ${Paths.get("").toAbsolutePath()}") - val path = configDirectory.resolve("events.properties") - if (!Files.exists(path)) throw FileNotFoundException("events.properties not found in $configDirectory") - val properties = Properties() - FileInputStream(path.toString()).use { properties.load(it) } val advancedProperties = fileJsonContentFlow(configDirectory.resolve("advanced.json"), environment.log) .stateIn(this + handler, SharingStarted.Eagerly, AdvancedProperties()) + val creds: Map = environment.config.propertyOrNull("live.credsFile")?.getString()?.let { + Json.decodeFromStream(File(it).inputStream()) + } ?: emptyMap() - val loaded = getContestDataSourceAsFlow( - properties, - environment.config.propertyOrNull("live.credsFile")?.getString()?.let { - Json.decodeFromStream(File(it).inputStream()) - } ?: emptyMap(), - ) + val loaded = parseFileToCdsSettings(configDirectory.resolve("events.properties")) + .toFlow(creds) .applyAdvancedProperties(advancedProperties) .filterUseless() .processHiddenTeamsAndGroups() diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/CDSSettings.kt b/src/cds/src/main/kotlin/org/icpclive/cds/CDSSettings.kt index 258c1fb22..5bace97ff 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/CDSSettings.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/CDSSettings.kt @@ -6,11 +6,17 @@ import kotlinx.datetime.Instant import kotlinx.datetime.TimeZone import kotlinx.serialization.* import kotlinx.serialization.json.Json +import kotlinx.serialization.json.decodeFromStream +import kotlinx.serialization.properties.Properties +import kotlinx.serialization.properties.decodeFromStringMap import org.icpclive.api.ContestResultType +import org.icpclive.cds.adapters.EmulationAdapter import org.icpclive.cds.cats.CATSDataSource import org.icpclive.cds.clics.ClicsDataSource import org.icpclive.cds.clics.FeedVersion import org.icpclive.cds.codeforces.CFDataSource +import org.icpclive.cds.common.ContestDataSource +import org.icpclive.cds.common.RawContestDataSource import org.icpclive.cds.ejudge.EjudgeDataSource import org.icpclive.cds.krsu.KRSUDataSource import org.icpclive.cds.noop.NoopDataSource @@ -19,6 +25,8 @@ import org.icpclive.cds.testsys.TestSysDataSource import org.icpclive.cds.yandex.YandexDataSource import org.icpclive.util.HumanTimeSerializer import org.icpclive.util.TimeZoneSerializer +import org.icpclive.util.getLogger +import java.nio.file.Path // I'd like to have them in cds files, but then serializing would be much harder @@ -50,7 +58,16 @@ sealed class CDSSettings { return json.encodeToString(this) } - internal abstract fun toDataSource(creds: Map): RawContestDataSource + fun toFlow(creds: Map) = toDataSource(creds).getFlow() + + internal fun toDataSource(creds: Map) : ContestDataSource { + val raw = toRawDataSource(creds) + return when (val emulationSettings = emulation) { + null -> raw + else -> EmulationAdapter(emulationSettings.startTime, emulationSettings.speed, raw) + } + } + internal abstract fun toRawDataSource(creds: Map): RawContestDataSource companion object { private val json = Json { prettyPrint = true } @@ -60,7 +77,7 @@ sealed class CDSSettings { @Serializable @SerialName("noop") class NoopSettings(override val emulation: EmulationSettings? = null) : CDSSettings() { - override fun toDataSource(creds: Map) = NoopDataSource() + override fun toRawDataSource(creds: Map) = NoopDataSource() } @Serializable @@ -71,7 +88,7 @@ class TestSysSettings( val timeZone: TimeZone = TimeZone.of("Europe/Moscow"), override val emulation: EmulationSettings? = null, ) : CDSSettings() { - override fun toDataSource(creds: Map) = TestSysDataSource(this) + override fun toRawDataSource(creds: Map) = TestSysDataSource(this) } @Serializable @@ -86,21 +103,21 @@ class CatsSettings( val cid: String, override val emulation: EmulationSettings? = null, ) : CDSSettings() { - override fun toDataSource(creds: Map) = CATSDataSource(this, creds) + override fun toRawDataSource(creds: Map) = CATSDataSource(this, creds) } @Serializable @SerialName("krsu") class KRSUSettings( - @SerialName("submissions-url") + @SerialName("submissions_url") val submissionsUrl: String, - @SerialName("contest-url") + @SerialName("contest_url") val contestUrl: String, @Serializable(with = TimeZoneSerializer::class) val timeZone: TimeZone = TimeZone.of("Asia/Bishkek"), override val emulation: EmulationSettings? = null, ) : CDSSettings() { - override fun toDataSource(creds: Map) = KRSUDataSource(this) + override fun toRawDataSource(creds: Map) = KRSUDataSource(this) } @Serializable @@ -110,36 +127,37 @@ class EjudgeSettings( val resultType: ContestResultType = ContestResultType.ICPC, override val emulation: EmulationSettings? = null ) : CDSSettings() { - override fun toDataSource(creds: Map) = EjudgeDataSource(this) + override fun toRawDataSource(creds: Map) = EjudgeDataSource(this) } @Serializable @SerialName("yandex") class YandexSettings( - @SerialName("yandex.token") + @SerialName("api_key") val apiKey: Credential, - @SerialName("yandex.login_prefix") + @SerialName("login_regex") val loginRegex: String, - @SerialName("yandex.contest_id") + @SerialName("contest_id") val contestId: Int, val resultType: ContestResultType = ContestResultType.ICPC, override val emulation: EmulationSettings? = null ) : CDSSettings() { - override fun toDataSource(creds: Map) = YandexDataSource(this, creds) + override fun toRawDataSource(creds: Map) = YandexDataSource(this, creds) } @Serializable @SerialName("cf") class CFSettings( - val contest_id: Int, - @SerialName("cf.api.key") + @SerialName("contest_id") + val contestId: Int, + @SerialName("api_key") val apiKey: Credential, - @SerialName("cf.api.secret") + @SerialName("api_secret") val apiSecret: Credential, override val emulation: EmulationSettings? = null, ) : CDSSettings() { - override fun toDataSource(creds: Map) = CFDataSource(this, creds) + override fun toRawDataSource(creds: Map) = CFDataSource(this, creds) } @Serializable @@ -148,12 +166,12 @@ class PCMSSettings( val url: String, val login: Credential? = null, val password: Credential? = null, - @SerialName("problems.url") + @SerialName("problems_url") val problemsUrl: String? = null, val resultType: ContestResultType = ContestResultType.ICPC, override val emulation: EmulationSettings? = null ) : CDSSettings() { - override fun toDataSource(creds: Map) = PCMSDataSource(this, creds) + override fun toRawDataSource(creds: Map) = PCMSDataSource(this, creds) } @Serializable @@ -161,8 +179,10 @@ class ClicsLoaderSettings( val url: String, val login: Credential? = null, val password: Credential? = null, - val event_feed_name: String = "event-feed", - val feed_version: FeedVersion = FeedVersion.`2022_07` + @SerialName("event_feed_name") + val eventFeedName: String = "event-feed", + @SerialName("feed_version") + val feedVersion: FeedVersion = FeedVersion.`2022_07` ) @SerialName("clics") @@ -171,14 +191,58 @@ class ClicsSettings( private val url: String, private val login: Credential? = null, private val password: Credential? = null, - private val event_feed_name: String = "event-feed", - private val feed_version: FeedVersion = FeedVersion.`2022_07`, - val additional_feed: ClicsLoaderSettings? = null, - val use_team_names: Boolean = true, - val media_base_url: String = "", + @SerialName("event_feed_name") + private val eventFeedName: String = "event-feed", + @SerialName("feed_version") + private val feedVersion: FeedVersion = FeedVersion.`2022_07`, + @SerialName("additional_feed") + val additionalFeed: ClicsLoaderSettings? = null, + @SerialName("use_team_names") + val useTeamNames: Boolean = true, + @SerialName("media_base_url") + val mediaBaseUrl: String = "", override val emulation: EmulationSettings? = null, ) : CDSSettings() { - val main_feed get() = ClicsLoaderSettings(url,login, password, event_feed_name, feed_version) + val mainFeed get() = ClicsLoaderSettings(url,login, password, eventFeedName, feedVersion) - override fun toDataSource(creds: Map) = ClicsDataSource(this, creds) + override fun toRawDataSource(creds: Map) = ClicsDataSource(this, creds) } + +@OptIn(ExperimentalSerializationApi::class) +fun parseFileToCdsSettings(path: Path) : CDSSettings { + val file = path.toFile() + return if (!file.exists()) { + throw java.lang.IllegalArgumentException("File ${file.absolutePath} does not exist") + } else if (file.name.endsWith(".properties")) { + val properties = java.util.Properties() + file.inputStream().use { properties.load(it) } + val legacyMap = mapOf( + "standings.type" to "type", + "standings.resultType" to "resultType", + "yandex.token" to "api_key", + "yandex.login_prefix" to "login_regex", + "yandex.contest_id" to "contest_id", + "cf.api.key" to "api_key", + "cf.api.secret" to "api_secret", + "problems.url" to "problems_url", + "submissions-url" to "submissions_url", + "contest-url" to "contest_url", + "timezone" to "timeZone" + ) + for ((k, v) in legacyMap) { + properties.getProperty(k)?.let { + getLogger(CDSSettings::class).info( + "Deprecated event.properties key $k is used. Use $v instead." + ) + properties.setProperty(v, it) + properties.remove(k) + } + } + @Suppress("UNCHECKED_CAST") + Properties.decodeFromStringMap(properties as Map) + } else if (file.name.endsWith(".json")) { + file.inputStream().use { Json.decodeFromStream(it) } + } else { + throw IllegalArgumentException("Unknown settings file extension: ${file.path}") + } +} \ No newline at end of file diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/ContestDataSource.kt b/src/cds/src/main/kotlin/org/icpclive/cds/ContestDataSource.kt deleted file mode 100644 index dd0693778..000000000 --- a/src/cds/src/main/kotlin/org/icpclive/cds/ContestDataSource.kt +++ /dev/null @@ -1,71 +0,0 @@ -package org.icpclive.cds - -import kotlinx.coroutines.* -import kotlinx.coroutines.flow.* -import kotlinx.serialization.ExperimentalSerializationApi -import kotlinx.serialization.Serializable -import org.icpclive.api.AnalyticsMessage -import org.icpclive.api.ContestInfo -import org.icpclive.api.RunInfo -import org.icpclive.cds.adapters.* -import org.icpclive.util.getLogger -import org.icpclive.util.loopFlow -import kotlin.time.Duration -import kotlinx.serialization.properties.* -import kotlinx.serialization.properties.Properties - -sealed interface ContestUpdate -data class InfoUpdate(val newInfo: ContestInfo) : ContestUpdate -data class RunUpdate(val newInfo: RunInfo) : ContestUpdate -data class Analytics(val message: AnalyticsMessage) : ContestUpdate - -@Serializable -data class ContestParseResult( - val contestInfo: ContestInfo, - val runs: List, - val analyticsMessages: List -) - -interface ContestDataSource { - fun getFlow(): Flow -} - -internal interface RawContestDataSource : ContestDataSource { - suspend fun loadOnce(): ContestParseResult -} - -abstract class FullReloadContestDataSource(val interval: Duration) : RawContestDataSource { - override fun getFlow() = flow { - loopFlow( - interval, - { getLogger(ContestDataSource::class).error("Failed to reload data, retrying", it) } - ) { - loadOnce() - }.flowOn(Dispatchers.IO) - .collect { - emit(InfoUpdate(it.contestInfo)) - it.runs.forEach { emit(RunUpdate(it)) } - it.analyticsMessages.forEach { emit(Analytics(it)) } - } - } -} - -@OptIn(ExperimentalSerializationApi::class) -fun getContestDataSourceAsFlow( - properties: java.util.Properties, - creds: Map = emptyMap(), -) : Flow { - properties.getProperty("standings.type")?.let { properties.setProperty("type", it.lowercase()) } - properties.getProperty("standings.resultType")?.let { properties.setProperty("resultType", it.uppercase()) } - @Suppress("UNCHECKED_CAST") - val settings = Properties.decodeFromStringMap(properties as Map) - val rawLoader = settings.toDataSource(creds) - - val loader = when (val emulationSettings = settings.emulation) { - null -> rawLoader - else -> EmulationAdapter(emulationSettings.startTime, emulationSettings.speed, rawLoader) - } - - return loader.getFlow() -} - diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/ContestUpdate.kt b/src/cds/src/main/kotlin/org/icpclive/cds/ContestUpdate.kt new file mode 100644 index 000000000..ec89435b0 --- /dev/null +++ b/src/cds/src/main/kotlin/org/icpclive/cds/ContestUpdate.kt @@ -0,0 +1,11 @@ +package org.icpclive.cds + +import org.icpclive.api.AnalyticsMessage +import org.icpclive.api.ContestInfo +import org.icpclive.api.RunInfo + +sealed interface ContestUpdate +data class InfoUpdate(val newInfo: ContestInfo) : ContestUpdate +data class RunUpdate(val newInfo: RunInfo) : ContestUpdate +data class Analytics(val message: AnalyticsMessage) : ContestUpdate + diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/adapters/EmulationAdapter.kt b/src/cds/src/main/kotlin/org/icpclive/cds/adapters/EmulationAdapter.kt index 819621b31..ae45bca92 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/adapters/EmulationAdapter.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/adapters/EmulationAdapter.kt @@ -6,6 +6,8 @@ import kotlinx.datetime.Clock import kotlinx.datetime.Instant import org.icpclive.api.ContestStatus import org.icpclive.cds.* +import org.icpclive.cds.common.ContestDataSource +import org.icpclive.cds.common.RawContestDataSource import org.icpclive.util.getLogger import org.icpclive.util.humanReadable import kotlin.random.Random diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/cats/CATSDataSource.kt b/src/cds/src/main/kotlin/org/icpclive/cds/cats/CATSDataSource.kt index 0c33553a6..f9e58707d 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/cats/CATSDataSource.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/cats/CATSDataSource.kt @@ -11,8 +11,8 @@ import kotlinx.serialization.encoding.Decoder import kotlinx.serialization.encoding.Encoder import org.icpclive.api.* import org.icpclive.cds.CatsSettings -import org.icpclive.cds.ContestParseResult -import org.icpclive.cds.FullReloadContestDataSource +import org.icpclive.cds.common.ContestParseResult +import org.icpclive.cds.common.FullReloadContestDataSource import org.icpclive.cds.common.jsonLoader import java.time.ZonedDateTime import java.time.format.DateTimeFormatter diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/clics/ClicsDataSource.kt b/src/cds/src/main/kotlin/org/icpclive/cds/clics/ClicsDataSource.kt index a31d25987..09b879ba8 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/clics/ClicsDataSource.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/clics/ClicsDataSource.kt @@ -12,9 +12,8 @@ import org.icpclive.api.RunInfo import org.icpclive.cds.* import org.icpclive.cds.clics.api.Event import org.icpclive.cds.clics.api.Event.* -import org.icpclive.cds.common.ClientAuth -import org.icpclive.cds.common.getLineStreamLoaderFlow -import org.icpclive.cds.common.isHttpUrl +import org.icpclive.cds.common.* +import org.icpclive.cds.common.RawContestDataSource import org.icpclive.util.* import kotlin.time.Duration.Companion.seconds @@ -30,20 +29,20 @@ private class ParsedClicsLoaderSettings(settings: ClicsLoaderSettings, creds: Ma settings.login?.get(creds), settings.password?.get(creds) ) - val eventFeedUrl = apiRequestUrl(settings.event_feed_name) + val eventFeedUrl = apiRequestUrl(settings.eventFeedName) private fun apiRequestUrl(method: String) = "$url/$method" - val feedVersion = settings.feed_version + val feedVersion = settings.feedVersion } class ClicsDataSource(val settings: ClicsSettings, creds: Map) : RawContestDataSource { - private val mainLoaderSettings = ParsedClicsLoaderSettings(settings.main_feed, creds) - private val additionalLoaderSettings = settings.additional_feed?.let { ParsedClicsLoaderSettings(it, creds) } + private val mainLoaderSettings = ParsedClicsLoaderSettings(settings.mainFeed, creds) + private val additionalLoaderSettings = settings.additionalFeed?.let { ParsedClicsLoaderSettings(it, creds) } private val model = ClicsModel( - settings.use_team_names, - settings.media_base_url + settings.useTeamNames, + settings.mediaBaseUrl ) val Event.isFinalEvent get() = this is StateEvent && data?.end_of_updates != null diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/codeforces/CFDataSource.kt b/src/cds/src/main/kotlin/org/icpclive/cds/codeforces/CFDataSource.kt index 90a37fa4f..d8c3636f5 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/codeforces/CFDataSource.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/codeforces/CFDataSource.kt @@ -3,8 +3,8 @@ package org.icpclive.cds.codeforces import kotlinx.datetime.Clock import org.icpclive.api.ContestStatus import org.icpclive.cds.CFSettings -import org.icpclive.cds.ContestParseResult -import org.icpclive.cds.FullReloadContestDataSource +import org.icpclive.cds.common.ContestParseResult +import org.icpclive.cds.common.FullReloadContestDataSource import org.icpclive.cds.codeforces.api.data.* import org.icpclive.cds.codeforces.api.results.CFStandings import org.icpclive.cds.codeforces.api.results.CFStatusWrapper @@ -35,7 +35,7 @@ class CFDataSource(val settings: CFSettings, creds: Map) : FullR private val standingsLoader = jsonLoader> { apiRequestUrl( "contest.standings", - mapOf("contestId" to settings.contest_id.toString()) + mapOf("contestId" to settings.contestId.toString()) ) }.map { it.unwrap() @@ -44,7 +44,7 @@ class CFDataSource(val settings: CFSettings, creds: Map) : FullR private val statusLoader = jsonLoader>> { apiRequestUrl( "contest.status", - mapOf("contestId" to settings.contest_id.toString()) + mapOf("contestId" to settings.contestId.toString()) ) }.map { it.unwrap() @@ -53,7 +53,7 @@ class CFDataSource(val settings: CFSettings, creds: Map) : FullR private val hacksLoader = jsonLoader>> { apiRequestUrl( "contest.hacks", - mapOf("contestId" to settings.contest_id.toString()) + mapOf("contestId" to settings.contestId.toString()) ) }.map { it.unwrap() diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/common/ContestDataSource.kt b/src/cds/src/main/kotlin/org/icpclive/cds/common/ContestDataSource.kt new file mode 100644 index 000000000..2fa1ccb7f --- /dev/null +++ b/src/cds/src/main/kotlin/org/icpclive/cds/common/ContestDataSource.kt @@ -0,0 +1,8 @@ +package org.icpclive.cds.common + +import kotlinx.coroutines.flow.Flow +import org.icpclive.cds.ContestUpdate + +internal interface ContestDataSource { + fun getFlow(): Flow +} \ No newline at end of file diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/common/ContestParseResult.kt b/src/cds/src/main/kotlin/org/icpclive/cds/common/ContestParseResult.kt new file mode 100644 index 000000000..b85b3e2c7 --- /dev/null +++ b/src/cds/src/main/kotlin/org/icpclive/cds/common/ContestParseResult.kt @@ -0,0 +1,13 @@ +package org.icpclive.cds.common + +import kotlinx.serialization.Serializable +import org.icpclive.api.AnalyticsMessage +import org.icpclive.api.ContestInfo +import org.icpclive.api.RunInfo + +@Serializable +data class ContestParseResult( + val contestInfo: ContestInfo, + val runs: List, + val analyticsMessages: List +) \ No newline at end of file diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/common/FullReloadContestDataSource.kt b/src/cds/src/main/kotlin/org/icpclive/cds/common/FullReloadContestDataSource.kt new file mode 100644 index 000000000..592e53f67 --- /dev/null +++ b/src/cds/src/main/kotlin/org/icpclive/cds/common/FullReloadContestDataSource.kt @@ -0,0 +1,27 @@ +package org.icpclive.cds.common + +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.flow.flow +import kotlinx.coroutines.flow.flowOn +import org.icpclive.cds.Analytics +import org.icpclive.cds.InfoUpdate +import org.icpclive.cds.RunUpdate +import org.icpclive.util.getLogger +import org.icpclive.util.loopFlow +import kotlin.time.Duration + +abstract class FullReloadContestDataSource(val interval: Duration) : RawContestDataSource { + override fun getFlow() = flow { + loopFlow( + interval, + { getLogger(ContestDataSource::class).error("Failed to reload data, retrying", it) } + ) { + loadOnce() + }.flowOn(Dispatchers.IO) + .collect { + emit(InfoUpdate(it.contestInfo)) + it.runs.forEach { emit(RunUpdate(it)) } + it.analyticsMessages.forEach { emit(Analytics(it)) } + } + } +} \ No newline at end of file diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/common/RawContestDataSource.kt b/src/cds/src/main/kotlin/org/icpclive/cds/common/RawContestDataSource.kt new file mode 100644 index 000000000..ee4646436 --- /dev/null +++ b/src/cds/src/main/kotlin/org/icpclive/cds/common/RawContestDataSource.kt @@ -0,0 +1,5 @@ +package org.icpclive.cds.common + +internal interface RawContestDataSource : ContestDataSource { + suspend fun loadOnce(): ContestParseResult +} \ No newline at end of file diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/ejudge/EjudgeDataSource.kt b/src/cds/src/main/kotlin/org/icpclive/cds/ejudge/EjudgeDataSource.kt index d0046e745..c2176d436 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/ejudge/EjudgeDataSource.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/ejudge/EjudgeDataSource.kt @@ -2,9 +2,9 @@ package org.icpclive.cds.ejudge import kotlinx.datetime.Instant import org.icpclive.api.* -import org.icpclive.cds.ContestParseResult +import org.icpclive.cds.common.ContestParseResult import org.icpclive.cds.EjudgeSettings -import org.icpclive.cds.FullReloadContestDataSource +import org.icpclive.cds.common.FullReloadContestDataSource import org.icpclive.cds.common.xmlLoader import org.icpclive.util.child import org.icpclive.util.children diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/krsu/KRSUDataSource.kt b/src/cds/src/main/kotlin/org/icpclive/cds/krsu/KRSUDataSource.kt index 572e0f01e..6def6d738 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/krsu/KRSUDataSource.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/krsu/KRSUDataSource.kt @@ -3,8 +3,8 @@ package org.icpclive.cds.krsu import kotlinx.datetime.* import kotlinx.serialization.Serializable import org.icpclive.api.* -import org.icpclive.cds.ContestParseResult -import org.icpclive.cds.FullReloadContestDataSource +import org.icpclive.cds.common.ContestParseResult +import org.icpclive.cds.common.FullReloadContestDataSource import org.icpclive.cds.KRSUSettings import org.icpclive.cds.common.jsonLoader import kotlin.time.Duration diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/noop/NoopDataSource.kt b/src/cds/src/main/kotlin/org/icpclive/cds/noop/NoopDataSource.kt index e5a5d9690..c29922a51 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/noop/NoopDataSource.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/noop/NoopDataSource.kt @@ -4,6 +4,8 @@ import kotlinx.coroutines.flow.* import kotlinx.datetime.Instant import org.icpclive.api.* import org.icpclive.cds.* +import org.icpclive.cds.common.ContestParseResult +import org.icpclive.cds.common.RawContestDataSource import kotlin.time.Duration class NoopDataSource : RawContestDataSource { diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/pcms/PCMSDataSource.kt b/src/cds/src/main/kotlin/org/icpclive/cds/pcms/PCMSDataSource.kt index 4ea83e6b4..f8e0bb633 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/pcms/PCMSDataSource.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/pcms/PCMSDataSource.kt @@ -3,8 +3,8 @@ package org.icpclive.cds.pcms import kotlinx.datetime.Clock import kotlinx.datetime.Instant import org.icpclive.api.* -import org.icpclive.cds.ContestParseResult -import org.icpclive.cds.FullReloadContestDataSource +import org.icpclive.cds.common.ContestParseResult +import org.icpclive.cds.common.FullReloadContestDataSource import org.icpclive.cds.PCMSSettings import org.icpclive.cds.common.ClientAuth import org.icpclive.cds.common.xmlLoader diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/testsys/TestSysDataSource.kt b/src/cds/src/main/kotlin/org/icpclive/cds/testsys/TestSysDataSource.kt index 1d2440807..be5b1fbfa 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/testsys/TestSysDataSource.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/testsys/TestSysDataSource.kt @@ -3,8 +3,8 @@ package org.icpclive.cds.testsys import kotlinx.datetime.toInstant import kotlinx.datetime.toKotlinLocalDateTime import org.icpclive.api.* -import org.icpclive.cds.ContestParseResult -import org.icpclive.cds.FullReloadContestDataSource +import org.icpclive.cds.common.ContestParseResult +import org.icpclive.cds.common.FullReloadContestDataSource import org.icpclive.cds.TestSysSettings import org.icpclive.cds.common.ByteArrayLoader import org.icpclive.cds.common.map diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/yandex/YandexDataSource.kt b/src/cds/src/main/kotlin/org/icpclive/cds/yandex/YandexDataSource.kt index bf3f788e1..51ea48791 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/yandex/YandexDataSource.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/yandex/YandexDataSource.kt @@ -8,7 +8,7 @@ import kotlinx.coroutines.* import kotlinx.coroutines.flow.* import kotlinx.serialization.json.Json import org.icpclive.cds.* -import org.icpclive.cds.RawContestDataSource +import org.icpclive.cds.common.RawContestDataSource import org.icpclive.cds.common.* import org.icpclive.cds.yandex.YandexConstants.API_BASE import org.icpclive.cds.yandex.api.* diff --git a/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.kt b/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.kt index 03fddccc8..c91fef95a 100644 --- a/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.kt +++ b/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.kt @@ -34,7 +34,7 @@ class CdsLoadersTest { loaderTest( ClicsSettings( url = "testData/loaders/clics-2020-03", - feed_version = FeedVersion.`2020_03` + feedVersion = FeedVersion.`2020_03` ) ) } @@ -44,7 +44,7 @@ class CdsLoadersTest { loaderTest( ClicsSettings( url = "testData/loaders/clics-2022-07", - feed_version = FeedVersion.`2022_07` + feedVersion = FeedVersion.`2022_07` ) ) } @@ -55,7 +55,7 @@ class CdsLoadersTest { } private fun loaderTest(args: CDSSettings) { - val loader = args.toDataSource(emptyMap()) + val loader = args.toRawDataSource(emptyMap()) val result = runBlocking { loader.loadOnce() } val options = Options() Approvals.verify(json.encodeToString(result), options) diff --git a/src/reactions-bot/src/main/kotlin/org/icpclive/reacbot/Bot.kt b/src/reactions-bot/src/main/kotlin/org/icpclive/reacbot/Bot.kt index de3feecf5..108d24284 100644 --- a/src/reactions-bot/src/main/kotlin/org/icpclive/reacbot/Bot.kt +++ b/src/reactions-bot/src/main/kotlin/org/icpclive/reacbot/Bot.kt @@ -8,7 +8,6 @@ import com.github.ajalt.clikt.parameters.options.required import com.github.ajalt.clikt.parameters.types.int import kotlinx.coroutines.* import kotlinx.coroutines.flow.* -import java.io.FileInputStream import java.util.* import com.github.kotlintelegrambot.bot import com.github.kotlintelegrambot.Bot @@ -29,16 +28,17 @@ import org.icpclive.cds.adapters.processHiddenTeamsAndGroups import org.icpclive.cds.adapters.removeFrozenSubmissions import org.icpclive.cds.adapters.withRunsBefore import org.icpclive.cds.common.setAllowUnsecureConnections -import org.icpclive.cds.getContestDataSourceAsFlow +import org.icpclive.cds.parseFileToCdsSettings import java.nio.file.Path import kotlin.io.path.createDirectories class Bot(private val config: Config) { @OptIn(DelicateCoroutinesApi::class) private val reactionsProcessingPool = newFixedThreadPoolContext(config.loaderThreads, "ReactionsProcessing") - private val cds = getContestDataSourceAsFlow( - getProperties(config.eventPropertiesFile), - ).withRunsBefore() + private val cds = parseFileToCdsSettings( + Path.of(config.eventPropertiesFile), + ).toFlow(emptyMap()) + .withRunsBefore() .filterUseless() .removeFrozenSubmissions() .processHiddenTeamsAndGroups() @@ -153,12 +153,6 @@ class Bot(private val config: Config) { } } -private fun getProperties(fileName: String): Properties { - val properties = Properties() - FileInputStream(fileName).use { properties.load(it) } - return properties -} - class BotCommand : CliktCommand() { private val events by option(help = "Event.properties file path").default("./events.properties") private val disableCds by option(help = "Enable loading events from cds").flag() From 8b045541eae86f72f11934d97c7fa9aedd50fea4 Mon Sep 17 00:00:00 2001 From: Pavel Kunyavskiy Date: Sat, 29 Jul 2023 16:03:57 +0200 Subject: [PATCH 023/154] Generate doc for cds module --- .../-advanced-properties.html | 72 + .../-advanced-properties/freeze-time.html | 72 + .../-advanced-properties/group-overrides.html | 72 + .../-advanced-properties/hold-time.html | 72 + .../-advanced-properties/index.html | 220 +++ .../problem-overrides.html | 72 + .../scoreboard-overrides.html | 72 + .../-advanced-properties/start-time.html | 72 + .../team-media-template.html | 72 + .../-advanced-properties/team-overrides.html | 72 + .../-group-info-override.html | 72 + .../-group-info-override/index.html | 130 ++ .../-group-info-override/is-hidden.html | 72 + .../is-out-of-contest.html | 72 + .../-problem-info-override.html | 72 + .../-problem-info-override/color.html | 72 + .../-problem-info-override/index.html | 175 +++ .../-problem-info-override/max-score.html | 72 + .../-problem-info-override/min-score.html | 72 + .../-problem-info-override/name.html | 72 + .../score-merge-mode.html | 72 + .../-ranking-settings/-ranking-settings.html | 72 + .../-ranking-settings/index.html | 160 ++ .../-ranking-settings/medals.html | 72 + .../penalty-per-wrong-attempt.html | 72 + .../penalty-rounding-mode.html | 72 + .../show-teams-without-submissions.html | 72 + .../-team-info-override.html | 72 + .../-team-info-override/additional-info.html | 72 + .../-team-info-override/groups.html | 72 + .../-team-info-override/hash-tag.html | 72 + .../-team-info-override/index.html | 220 +++ .../-team-info-override/is-hidden.html | 72 + .../is-out-of-contest.html | 72 + .../-team-info-override/medias.html | 72 + .../-team-info-override/name.html | 72 + .../-team-info-override/shortname.html | 72 + .../cds/org.icpclive.api.tunning/index.html | 174 +++ .../to-advanced-properties.html | 72 + .../-advanced-properties.html | 72 + .../-advanced-properties/freeze-time.html | 72 + .../-advanced-properties/group-overrides.html | 72 + .../-advanced-properties/hold-time.html | 72 + .../-advanced-properties/index.html | 220 +++ .../problem-overrides.html | 72 + .../scoreboard-overrides.html | 72 + .../-advanced-properties/start-time.html | 72 + .../team-media-template.html | 72 + .../-advanced-properties/team-overrides.html | 72 + .../-analytics-commentary-event.html | 72 + .../advertisement.html | 72 + .../featured-run.html | 72 + .../-analytics-commentary-event/id.html | 72 + .../-analytics-commentary-event/index.html | 265 ++++ .../-analytics-commentary-event/message.html | 72 + .../-analytics-commentary-event/priority.html | 72 + .../relative-time.html | 72 + .../-analytics-commentary-event/run-ids.html | 72 + .../-analytics-commentary-event/tags.html | 72 + .../-analytics-commentary-event/team-ids.html | 72 + .../ticker-message.html | 72 + .../-analytics-commentary-event/time.html | 72 + .../-analytics-companion-preset.html | 72 + .../expiration-time.html | 72 + .../-analytics-companion-preset/index.html | 130 ++ .../preset-id.html | 72 + .../-analytics-companion-run.html | 72 + .../expiration-time.html | 72 + .../-analytics-companion-run/index.html | 130 ++ .../-analytics-companion-run/media-type.html | 72 + .../-analytics-message/id.html | 72 + .../-analytics-message/index.html | 126 ++ .../-analytics-message/relative-time.html | 72 + .../-analytics-message/time.html | 72 + .../-contest-info/-contest-info.html | 72 + .../-contest-info/contest-length.html | 72 + .../-contest-info/current-contest-time.html | 72 + .../-contest-info/emulation-speed.html | 72 + .../-contest-info/freeze-time.html | 72 + .../-contest-info/group-by-id.html | 72 + .../-contest-info/groups.html | 72 + .../-contest-info/hold-before-start-time.html | 72 + .../org.icpclive.api/-contest-info/index.html | 359 +++++ .../-contest-info/medals.html | 72 + .../org.icpclive.api/-contest-info/name.html | 72 + .../penalty-per-wrong-attempt.html | 72 + .../-contest-info/penalty-rounding-mode.html | 72 + .../-contest-info/problems.html | 72 + .../-contest-info/result-type.html | 72 + .../-contest-info/start-time.html | 72 + .../-contest-info/status.html | 72 + .../org.icpclive.api/-contest-info/teams.html | 72 + .../-contest-result-type/-i-c-p-c/index.html | 111 ++ .../-contest-result-type/-i-o-i/index.html | 111 ++ .../-contest-result-type/index.html | 179 +++ .../-contest-result-type/value-of.html | 72 + .../-contest-result-type/values.html | 72 + .../-contest-status/-b-e-f-o-r-e/index.html | 111 ++ .../-contest-status/-o-v-e-r/index.html | 111 ++ .../-contest-status/-r-u-n-n-i-n-g/index.html | 111 ++ .../-contest-status/index.html | 194 +++ .../-contest-status/value-of.html | 72 + .../-contest-status/values.html | 72 + .../-group-info-override.html | 72 + .../-group-info-override/index.html | 130 ++ .../-group-info-override/is-hidden.html | 72 + .../is-out-of-contest.html | 72 + .../-group-info/-group-info.html | 72 + .../org.icpclive.api/-group-info/index.html | 145 ++ .../-group-info/is-hidden.html | 72 + .../-group-info/is-out-of-contest.html | 72 + .../org.icpclive.api/-group-info/name.html | 72 + .../-i-c-p-c-problem-result.html | 72 + .../-i-c-p-c-problem-result/index.html | 175 +++ .../is-first-to-solve.html | 72 + .../-i-c-p-c-problem-result/is-solved.html | 72 + .../last-submit-time.html | 72 + .../pending-attempts.html | 72 + .../wrong-attempts.html | 72 + .../-i-c-p-c-run-result.html | 72 + .../-i-c-p-c-run-result/index.html | 130 ++ .../is-first-to-solve-run.html | 72 + .../-i-c-p-c-run-result/verdict.html | 72 + .../-i-o-i-problem-result.html | 72 + .../-i-o-i-problem-result/index.html | 145 ++ .../-i-o-i-problem-result/is-first-best.html | 72 + .../last-submit-time.html | 72 + .../-i-o-i-problem-result/score.html | 72 + .../-i-o-i-run-result/-i-o-i-run-result.html | 72 + .../-i-o-i-run-result/difference.html | 72 + .../-i-o-i-run-result/index.html | 190 +++ .../-i-o-i-run-result/is-first-best-run.html | 72 + .../is-first-best-team-run.html | 72 + .../-i-o-i-run-result/score-after.html | 72 + .../-i-o-i-run-result/score.html | 72 + .../-i-o-i-run-result/wrong-verdict.html | 72 + .../-medal-tiebreak-mode/-a-l-l/index.html | 111 ++ .../-medal-tiebreak-mode/-n-o-n-e/index.html | 111 ++ .../-medal-tiebreak-mode/index.html | 179 +++ .../-medal-tiebreak-mode/value-of.html | 72 + .../-medal-tiebreak-mode/values.html | 72 + .../-medal-type/-medal-type.html | 72 + .../org.icpclive.api/-medal-type/count.html | 72 + .../org.icpclive.api/-medal-type/index.html | 160 ++ .../-medal-type/min-score.html | 72 + .../org.icpclive.api/-medal-type/name.html | 72 + .../-medal-type/tiebreak-mode.html | 72 + .../-media-type/-object/-object.html | 72 + .../-media-type/-object/index.html | 164 +++ .../-media-type/-object/is-media.html | 72 + .../-media-type/-object/url.html | 72 + .../-media-type/-photo/-photo.html | 72 + .../-media-type/-photo/index.html | 164 +++ .../-media-type/-photo/is-media.html | 72 + .../-media-type/-photo/url.html | 72 + .../-task-status/-task-status.html | 72 + .../-media-type/-task-status/index.html | 164 +++ .../-media-type/-task-status/is-media.html | 72 + .../-media-type/-task-status/team-id.html | 72 + .../-media-type/-video/-video.html | 72 + .../-media-type/-video/index.html | 164 +++ .../-media-type/-video/is-media.html | 72 + .../-media-type/-video/url.html | 72 + .../-web-r-t-c-grabber-connection.html | 72 + .../credential.html | 72 + .../-web-r-t-c-grabber-connection/index.html | 209 +++ .../is-media.html | 72 + .../peer-name.html | 72 + .../stream-type.html | 72 + .../-web-r-t-c-grabber-connection/url.html | 72 + .../-web-r-t-c-proxy-connection.html | 72 + .../audio-url.html | 72 + .../-web-r-t-c-proxy-connection/index.html | 179 +++ .../-web-r-t-c-proxy-connection/is-media.html | 72 + .../-web-r-t-c-proxy-connection/url.html | 72 + .../-media-type/apply-template.html | 72 + .../org.icpclive.api/-media-type/index.html | 224 +++ .../-media-type/is-media.html | 72 + .../-media-type/no-media.html | 72 + .../-optimism-level/-n-o-r-m-a-l/index.html | 111 ++ .../-o-p-t-i-m-i-s-t-i-c/index.html | 111 ++ .../-p-e-s-s-i-m-i-s-t-i-c/index.html | 111 ++ .../-optimism-level/index.html | 194 +++ .../-optimism-level/value-of.html | 72 + .../-optimism-level/values.html | 72 + .../index.html | 111 ++ .../-l-a-s-t/index.html | 111 ++ .../index.html | 111 ++ .../-s-u-m_-i-n_-s-e-c-o-n-d-s/index.html | 111 ++ .../-z-e-r-o/index.html | 111 ++ .../-penalty-rounding-mode/index.html | 224 +++ .../-penalty-rounding-mode/value-of.html | 72 + .../-penalty-rounding-mode/values.html | 72 + .../-problem-info-override.html | 72 + .../-problem-info-override/color.html | 72 + .../-problem-info-override/index.html | 175 +++ .../-problem-info-override/max-score.html | 72 + .../-problem-info-override/min-score.html | 72 + .../-problem-info-override/name.html | 72 + .../score-merge-mode.html | 72 + .../-problem-info/-companion/index.html | 96 ++ .../-problem-info/-companion/logger.html | 72 + .../-problem-info/-problem-info.html | 72 + .../org.icpclive.api/-problem-info/color.html | 72 + .../-problem-info/contest-system-id.html | 72 + .../org.icpclive.api/-problem-info/id.html | 72 + .../org.icpclive.api/-problem-info/index.html | 254 ++++ .../-problem-info/letter.html | 72 + .../-problem-info/max-score.html | 72 + .../-problem-info/min-score.html | 72 + .../org.icpclive.api/-problem-info/name.html | 72 + .../-problem-info/ordinal.html | 72 + .../-problem-info/score-merge-mode.html | 72 + .../-problem-result/index.html | 76 + .../-ranking-settings/-ranking-settings.html | 72 + .../-ranking-settings/index.html | 160 ++ .../-ranking-settings/medals.html | 72 + .../penalty-per-wrong-attempt.html | 72 + .../penalty-rounding-mode.html | 72 + .../show-teams-without-submissions.html | 72 + .../org.icpclive.api/-run-info/-run-info.html | 72 + .../-run-info/featured-run-media.html | 72 + .../cds/org.icpclive.api/-run-info/id.html | 72 + .../cds/org.icpclive.api/-run-info/index.html | 235 +++ .../org.icpclive.api/-run-info/is-hidden.html | 72 + .../-run-info/percentage.html | 72 + .../-run-info/problem-id.html | 72 + .../-run-info/reaction-videos.html | 72 + .../org.icpclive.api/-run-info/result.html | 72 + .../org.icpclive.api/-run-info/team-id.html | 72 + .../cds/org.icpclive.api/-run-info/time.html | 72 + .../org.icpclive.api/-run-result/index.html | 76 + .../-score-merge-mode/-l-a-s-t/index.html | 111 ++ .../-l-a-s-t_-o-k/index.html | 111 ++ .../-m-a-x_-p-e-r_-g-r-o-u-p/index.html | 111 ++ .../-m-a-x_-t-o-t-a-l/index.html | 111 ++ .../-score-merge-mode/-s-u-m/index.html | 111 ++ .../-score-merge-mode/index.html | 224 +++ .../-score-merge-mode/value-of.html | 72 + .../-score-merge-mode/values.html | 72 + .../-scoreboard-row/-scoreboard-row.html | 72 + .../-scoreboard-row/champion-in-groups.html | 72 + .../-scoreboard-row/index.html | 235 +++ .../-scoreboard-row/last-accepted.html | 72 + .../-scoreboard-row/medal-type.html | 72 + .../-scoreboard-row/penalty.html | 72 + .../-scoreboard-row/problem-results.html | 72 + .../-scoreboard-row/rank.html | 72 + .../-scoreboard-row/team-groups.html | 72 + .../-scoreboard-row/team-id.html | 72 + .../-scoreboard-row/total-score.html | 72 + .../-scoreboard/-scoreboard.html | 72 + .../org.icpclive.api/-scoreboard/index.html | 115 ++ .../org.icpclive.api/-scoreboard/rows.html | 72 + .../-team-info-override.html | 72 + .../-team-info-override/additional-info.html | 72 + .../-team-info-override/groups.html | 72 + .../-team-info-override/hash-tag.html | 72 + .../-team-info-override/index.html | 220 +++ .../-team-info-override/is-hidden.html | 72 + .../is-out-of-contest.html | 72 + .../-team-info-override/medias.html | 72 + .../-team-info-override/name.html | 72 + .../-team-info-override/shortname.html | 72 + .../-team-info/-team-info.html | 72 + .../-team-info/additional-info.html | 72 + .../-team-info/contest-system-id.html | 72 + .../org.icpclive.api/-team-info/groups.html | 72 + .../org.icpclive.api/-team-info/hash-tag.html | 72 + .../cds/org.icpclive.api/-team-info/id.html | 72 + .../org.icpclive.api/-team-info/index.html | 250 ++++ .../-team-info/is-hidden.html | 72 + .../-team-info/is-out-of-contest.html | 72 + .../org.icpclive.api/-team-info/medias.html | 72 + .../cds/org.icpclive.api/-team-info/name.html | 72 + .../-team-info/short-name.html | 72 + .../-a-c-h-i-e-v-e-m-e-n-t/index.html | 111 ++ .../-team-media-type/-c-a-m-e-r-a/index.html | 111 ++ .../-team-media-type/-p-h-o-t-o/index.html | 111 ++ .../-r-e-a-c-t-i-o-n_-v-i-d-e-o/index.html | 111 ++ .../-team-media-type/-r-e-c-o-r-d/index.html | 111 ++ .../-team-media-type/-s-c-r-e-e-n/index.html | 111 ++ .../-team-media-type/index.html | 239 +++ .../-team-media-type/value-of.html | 72 + .../-team-media-type/values.html | 72 + .../-verdict-serializer.html | 72 + .../-verdict-serializer/descriptor.html | 72 + .../-verdict-serializer/deserialize.html | 72 + .../-verdict-serializer/index.html | 149 ++ .../-verdict-serializer/serialize.html | 72 + .../-verdict/-accepted/index.html | 145 ++ .../-verdict/-challenged/index.html | 145 ++ .../-verdict/-companion/all.html | 72 + .../-verdict/-companion/index.html | 115 ++ .../-verdict/-companion/lookup.html | 72 + .../index.html | 145 ++ .../-verdict/-compilation-error/index.html | 145 ++ .../-verdict/-fail/index.html | 145 ++ .../-idleness-limit-exceeded/index.html | 145 ++ .../-verdict/-ignored/index.html | 145 ++ .../-memory-limit-exceeded/index.html | 145 ++ .../-output-limit-exceeded/index.html | 145 ++ .../-verdict/-presentation-error/index.html | 145 ++ .../-verdict/-rejected/index.html | 145 ++ .../-verdict/-runtime-error/index.html | 145 ++ .../-verdict/-security-violation/index.html | 145 ++ .../-verdict/-time-limit-exceeded/index.html | 145 ++ .../-verdict/-wrong-answer/index.html | 145 ++ .../cds/org.icpclive.api/-verdict/index.html | 389 +++++ .../-verdict/is-accepted.html | 72 + .../-verdict/is-adding-penalty.html | 72 + .../org.icpclive.api/-verdict/short-name.html | 72 + .../-verdict/to-run-result.html | 72 + docs/cds/cds/org.icpclive.api/index.html | 519 +++++++ .../to-advanced-properties.html | 72 + .../cds/org.icpclive.api/to-group-infos.html | 72 + .../-advanced-properties-adapter/index.html | 76 + .../-contest-event-with-grouped-runs.html | 72 + .../event.html | 72 + .../index.html | 160 ++ .../info-after-event.html | 72 + .../info-before-event.html | 72 + .../runs.html | 72 + .../-contest-event-with-runs-before.html | 72 + .../event.html | 72 + .../index.html | 160 ++ .../info-after-event.html | 72 + .../info-before-event.html | 72 + .../-contest-event-with-runs-before/runs.html | 72 + .../-contest-state-with-grouped-runs.html | 72 + .../index.html | 130 ++ .../info.html | 72 + .../runs.html | 72 + .../-contest-state-with-runs-by-team.html | 72 + .../index.html | 130 ++ .../info.html | 72 + .../runs.html | 72 + .../add-first-to-solves.html | 72 + .../apply-advanced-properties.html | 72 + .../calculate-score-differences.html | 72 + .../filter-useless.html | 72 + .../cds/org.icpclive.cds.adapters/index.html | 339 +++++ .../process-hidden-teams-and-groups.html | 72 + .../remove-frozen-submissions.html | 72 + .../state-grouped-by-team.html | 72 + .../state-with-grouped-runs.html | 72 + .../cds/org.icpclive.cds.adapters/update.html | 72 + .../with-contest-info.html | 72 + .../with-grouped-runs.html | 72 + .../with-runs-before.html | 72 + .../-event/-awards-event/-awards-event.html | 72 + .../-event/-awards-event/data.html | 72 + .../-event/-awards-event/id.html | 72 + .../-event/-awards-event/index.html | 145 ++ .../-event/-awards-event/op.html | 72 + .../-clarification-event.html | 72 + .../-event/-clarification-event/data.html | 72 + .../-event/-clarification-event/id.html | 72 + .../-event/-clarification-event/index.html | 145 ++ .../-event/-clarification-event/op.html | 72 + .../-commentary-event/-commentary-event.html | 72 + .../-event/-commentary-event/data.html | 72 + .../-event/-commentary-event/id.html | 72 + .../-event/-commentary-event/index.html | 145 ++ .../-event/-commentary-event/op.html | 72 + .../-event/-contest-event/-contest-event.html | 72 + .../-event/-contest-event/data.html | 72 + .../-event/-contest-event/id.html | 72 + .../-event/-contest-event/index.html | 145 ++ .../-event/-contest-event/op.html | 72 + .../-event/-groups-event/-groups-event.html | 72 + .../-event/-groups-event/data.html | 72 + .../-event/-groups-event/id.html | 72 + .../-event/-groups-event/index.html | 145 ++ .../-event/-groups-event/op.html | 72 + .../-event/-ignored-event/index.html | 111 ++ .../-judgement-event/-judgement-event.html | 72 + .../-event/-judgement-event/data.html | 72 + .../-event/-judgement-event/id.html | 72 + .../-event/-judgement-event/index.html | 145 ++ .../-event/-judgement-event/op.html | 72 + .../-judgement-type-event.html | 72 + .../-event/-judgement-type-event/data.html | 72 + .../-event/-judgement-type-event/id.html | 72 + .../-event/-judgement-type-event/index.html | 145 ++ .../-event/-judgement-type-event/op.html | 72 + .../-language-event/-language-event.html | 72 + .../-event/-language-event/data.html | 72 + .../-event/-language-event/id.html | 72 + .../-event/-language-event/index.html | 145 ++ .../-event/-language-event/op.html | 72 + .../-organization-event.html | 72 + .../-event/-organization-event/data.html | 72 + .../-event/-organization-event/id.html | 72 + .../-event/-organization-event/index.html | 145 ++ .../-event/-organization-event/op.html | 72 + .../-preload-finished-event.html | 72 + .../-event/-preload-finished-event/id.html | 72 + .../-event/-preload-finished-event/index.html | 130 ++ .../-event/-preload-finished-event/op.html | 72 + .../-event/-problem-event/-problem-event.html | 72 + .../-event/-problem-event/data.html | 72 + .../-event/-problem-event/id.html | 72 + .../-event/-problem-event/index.html | 145 ++ .../-event/-problem-event/op.html | 72 + .../-event/-runs-event/-runs-event.html | 72 + .../-event/-runs-event/data.html | 72 + .../-event/-runs-event/id.html | 72 + .../-event/-runs-event/index.html | 145 ++ .../-event/-runs-event/op.html | 72 + .../-event/-state-event/-state-event.html | 72 + .../-event/-state-event/data.html | 72 + .../-event/-state-event/id.html | 72 + .../-event/-state-event/index.html | 145 ++ .../-event/-state-event/op.html | 72 + .../-submission-event/-submission-event.html | 72 + .../-event/-submission-event/data.html | 72 + .../-event/-submission-event/id.html | 72 + .../-event/-submission-event/index.html | 145 ++ .../-event/-submission-event/op.html | 72 + .../-event/-team-event/-team-event.html | 72 + .../-event/-team-event/data.html | 72 + .../-event/-team-event/id.html | 72 + .../-event/-team-event/index.html | 145 ++ .../-event/-team-event/op.html | 72 + .../-event/-update-contest-event/index.html | 111 ++ .../-event/-update-run-event/index.html | 111 ++ .../-event/id.html | 72 + .../-event/index.html | 385 +++++ .../-event/op.html | 72 + .../org.icpclive.cds.clics.api.v1/index.html | 95 ++ .../-account/-account.html | 72 + .../-account/-t-y-p-e/-a-d-m-i-n/index.html | 111 ++ .../-t-y-p-e/-a-n-a-l-y-s-t/index.html | 111 ++ .../-account/-t-y-p-e/-j-u-d-g-e/index.html | 111 ++ .../-account/-t-y-p-e/-s-t-a-f-f/index.html | 111 ++ .../-account/-t-y-p-e/-t-e-a-m/index.html | 111 ++ .../-account/-t-y-p-e/index.html | 224 +++ .../-account/-t-y-p-e/value-of.html | 72 + .../-account/-t-y-p-e/values.html | 72 + .../-account/id.html | 72 + .../-account/index.html | 224 +++ .../-account/ip.html | 72 + .../-account/password.html | 72 + .../-account/person_id.html | 72 + .../-account/team_id.html | 72 + .../-account/type.html | 72 + .../-account/username.html | 72 + .../-award/-award.html | 72 + .../org.icpclive.cds.clics.api/-award/id.html | 72 + .../-award/index.html | 115 ++ .../-clarification/-clarification.html | 72 + .../-clarification/id.html | 72 + .../-clarification/index.html | 115 ++ .../-commentary/-commentary.html | 72 + .../-commentary/contest_time.html | 72 + .../-commentary/id.html | 72 + .../-commentary/index.html | 205 +++ .../-commentary/message.html | 72 + .../-commentary/problem_ids.html | 72 + .../-commentary/submission_ids.html | 72 + .../-commentary/team_ids.html | 72 + .../-commentary/time.html | 72 + .../-contest/-contest.html | 72 + .../-contest/countdown_pause_time.html | 72 + .../-contest/duration.html | 72 + .../-contest/formal_name.html | 72 + .../-contest/id.html | 72 + .../-contest/index.html | 235 +++ .../-contest/name.html | 72 + .../-contest/penalty_time.html | 72 + .../-contest/scoreboard_freeze_duration.html | 72 + .../-contest/scoreboard_type.html | 72 + .../-contest/start_time.html | 72 + .../-event/-account-event/-account-event.html | 72 + .../-event/-account-event/data.html | 72 + .../-event/-account-event/id.html | 72 + .../-event/-account-event/index.html | 145 ++ .../-event/-account-event/token.html | 72 + .../-event/-awards-event/-awards-event.html | 72 + .../-event/-awards-event/data.html | 72 + .../-event/-awards-event/id.html | 72 + .../-event/-awards-event/index.html | 145 ++ .../-event/-awards-event/token.html | 72 + .../-clarification-event.html | 72 + .../-event/-clarification-event/data.html | 72 + .../-event/-clarification-event/id.html | 72 + .../-event/-clarification-event/index.html | 145 ++ .../-event/-clarification-event/token.html | 72 + .../-commentary-event/-commentary-event.html | 72 + .../-event/-commentary-event/data.html | 72 + .../-event/-commentary-event/id.html | 72 + .../-event/-commentary-event/index.html | 145 ++ .../-event/-commentary-event/token.html | 72 + .../-event/-companion/from-v1.html | 72 + .../-event/-companion/index.html | 96 ++ .../-contest-event-named-non-with-spec.html | 72 + .../data.html | 72 + .../index.html | 130 ++ .../token.html | 72 + .../-contest-event-named-with-spec.html | 72 + .../-contest-event-named-with-spec/data.html | 72 + .../-contest-event-named-with-spec/index.html | 130 ++ .../-contest-event-named-with-spec/token.html | 72 + .../-event/-contest-event/data.html | 72 + .../-event/-contest-event/index.html | 111 ++ .../-event/-groups-event/-groups-event.html | 72 + .../-event/-groups-event/data.html | 72 + .../-event/-groups-event/id.html | 72 + .../-event/-groups-event/index.html | 145 ++ .../-event/-groups-event/token.html | 72 + .../-event/-ignored-event/index.html | 96 ++ .../-judgement-event/-judgement-event.html | 72 + .../-event/-judgement-event/data.html | 72 + .../-event/-judgement-event/id.html | 72 + .../-event/-judgement-event/index.html | 145 ++ .../-event/-judgement-event/token.html | 72 + .../-judgement-type-event.html | 72 + .../-event/-judgement-type-event/data.html | 72 + .../-event/-judgement-type-event/id.html | 72 + .../-event/-judgement-type-event/index.html | 145 ++ .../-event/-judgement-type-event/token.html | 72 + .../-language-event/-language-event.html | 72 + .../-event/-language-event/data.html | 72 + .../-event/-language-event/id.html | 72 + .../-event/-language-event/index.html | 145 ++ .../-event/-language-event/token.html | 72 + .../-event/-map-event/-map-event.html | 72 + .../-event/-map-event/index.html | 115 ++ .../-event/-map-event/token.html | 72 + .../-organization-event.html | 72 + .../-event/-organization-event/data.html | 72 + .../-event/-organization-event/id.html | 72 + .../-event/-organization-event/index.html | 145 ++ .../-event/-organization-event/token.html | 72 + .../-event/-person-event/-person-event.html | 72 + .../-event/-person-event/id.html | 72 + .../-event/-person-event/index.html | 130 ++ .../-event/-person-event/token.html | 72 + .../-preload-finished-event.html | 72 + .../-event/-preload-finished-event/index.html | 115 ++ .../-event/-preload-finished-event/token.html | 72 + .../-event/-problem-event/-problem-event.html | 72 + .../-event/-problem-event/data.html | 72 + .../-event/-problem-event/id.html | 72 + .../-event/-problem-event/index.html | 145 ++ .../-event/-problem-event/token.html | 72 + .../-event/-runs-event/-runs-event.html | 72 + .../-event/-runs-event/data.html | 72 + .../-event/-runs-event/id.html | 72 + .../-event/-runs-event/index.html | 145 ++ .../-event/-runs-event/token.html | 72 + .../-start-status-event.html | 72 + .../-event/-start-status-event/index.html | 115 ++ .../-event/-start-status-event/token.html | 72 + .../-event/-state-event/-state-event.html | 72 + .../-event/-state-event/data.html | 72 + .../-event/-state-event/index.html | 130 ++ .../-event/-state-event/token.html | 72 + .../-submission-event/-submission-event.html | 72 + .../-event/-submission-event/data.html | 72 + .../-event/-submission-event/id.html | 72 + .../-event/-submission-event/index.html | 145 ++ .../-event/-submission-event/token.html | 72 + .../-event/-team-event/-team-event.html | 72 + .../-event/-team-event/data.html | 72 + .../-event/-team-event/id.html | 72 + .../-event/-team-event/index.html | 145 ++ .../-event/-team-event/token.html | 72 + .../-event/-update-contest-event/index.html | 96 ++ .../-event/-update-run-event/index.html | 96 ++ .../-event/index.html | 475 ++++++ .../-event/token.html | 72 + .../-group/-group.html | 72 + .../-group/icpc-id.html | 72 + .../org.icpclive.cds.clics.api/-group/id.html | 72 + .../-group/index.html | 160 ++ .../-group/name.html | 72 + .../-group/type.html | 72 + .../-judgement-type/-judgement-type.html | 72 + .../-judgement-type/id.html | 72 + .../-judgement-type/index.html | 160 ++ .../-judgement-type/name.html | 72 + .../-judgement-type/penalty.html | 72 + .../-judgement-type/solved.html | 72 + .../-judgement/-judgement.html | 72 + .../-judgement/end_contest_time.html | 72 + .../-judgement/end_time.html | 72 + .../-judgement/id.html | 72 + .../-judgement/index.html | 205 +++ .../-judgement/judgement_type_id.html | 72 + .../-judgement/start_contest_time.html | 72 + .../-judgement/start_time.html | 72 + .../-judgement/submission_id.html | 72 + .../-language/-language.html | 72 + .../-language/entry_point_required.html | 72 + .../-language/extensions.html | 72 + .../-language/id.html | 72 + .../-language/index.html | 160 ++ .../-language/name.html | 72 + .../-media/-media.html | 72 + .../-media/href.html | 72 + .../-media/index.html | 130 ++ .../-media/mime.html | 72 + .../-operation/-c-r-e-a-t-e/index.html | 111 ++ .../-operation/-d-e-l-e-t-e/index.html | 111 ++ .../-operation/-u-p-d-a-t-e/index.html | 111 ++ .../-operation/index.html | 194 +++ .../-operation/value-of.html | 72 + .../-operation/values.html | 72 + .../-organization/-organization.html | 72 + .../-organization/formal_name.html | 72 + .../-organization/id.html | 72 + .../-organization/index.html | 175 +++ .../-organization/logo.html | 72 + .../-organization/name.html | 72 + .../-organization/twitter_hashtag.html | 72 + .../-problem/-problem.html | 72 + .../-problem/id.html | 72 + .../-problem/index.html | 190 +++ .../-problem/label.html | 72 + .../-problem/name.html | 72 + .../-problem/ordinal.html | 72 + .../-problem/rgb.html | 72 + .../-problem/test_data_count.html | 72 + .../org.icpclive.cds.clics.api/-run/-run.html | 72 + .../-run/contest_time.html | 72 + .../org.icpclive.cds.clics.api/-run/id.html | 72 + .../-run/index.html | 175 +++ .../-run/judgement_id.html | 72 + .../-run/judgement_type_id.html | 72 + .../-run/ordinal.html | 72 + .../-state/-state.html | 72 + .../-state/end_of_updates.html | 72 + .../-state/ended.html | 72 + .../-state/finalized.html | 72 + .../-state/frozen.html | 72 + .../-state/index.html | 190 +++ .../-state/started.html | 72 + .../-state/unfrozen.html | 72 + .../-submission/-submission.html | 72 + .../-submission/contest_time.html | 72 + .../-submission/id.html | 72 + .../-submission/index.html | 205 +++ .../-submission/language_id.html | 72 + .../-submission/problem_id.html | 72 + .../-submission/reaction.html | 72 + .../-submission/team_id.html | 72 + .../-submission/time.html | 72 + .../-team/-team.html | 72 + .../-team/desktop.html | 72 + .../-team/group_ids.html | 72 + .../-team/hidden.html | 72 + .../org.icpclive.cds.clics.api/-team/id.html | 72 + .../-team/index.html | 235 +++ .../-team/name.html | 72 + .../-team/organization_id.html | 72 + .../-team/photo.html | 72 + .../-team/video.html | 72 + .../-team/webcam.html | 72 + .../cds/org.icpclive.cds.clics.api/index.html | 350 +++++ .../-feed-version/2020_03/index.html | 111 ++ .../-feed-version/2022_07/index.html | 111 ++ .../-feed-version/index.html | 179 +++ .../-feed-version/value-of.html | 72 + .../-feed-version/values.html | 72 + .../cds/cds/org.icpclive.cds.clics/index.html | 95 ++ .../cds/org.icpclive.cds.common/index.html | 95 ++ .../set-allow-unsecure-connections.html | 72 + .../-c-d-s-settings/-companion/index.html | 76 + .../-c-d-s-settings/emulation.html | 72 + .../-c-d-s-settings/index.html | 130 ++ .../-c-d-s-settings/to-flow.html | 72 + .../-c-d-s-settings/to-string.html | 72 + .../-c-f-settings/-c-f-settings.html | 72 + .../-c-f-settings/api-key.html | 72 + .../-c-f-settings/api-secret.html | 72 + .../-c-f-settings/contest-id.html | 72 + .../-c-f-settings/emulation.html | 72 + .../-c-f-settings/index.html | 194 +++ .../-cats-settings/-cats-settings.html | 72 + .../-cats-settings/cid.html | 72 + .../-cats-settings/emulation.html | 72 + .../-cats-settings/index.html | 239 +++ .../-cats-settings/login.html | 72 + .../-cats-settings/password.html | 72 + .../-cats-settings/result-type.html | 72 + .../-cats-settings/time-zone.html | 72 + .../-cats-settings/url.html | 72 + .../-clics-loader-settings.html | 72 + .../event-feed-name.html | 72 + .../-clics-loader-settings/feed-version.html | 72 + .../-clics-loader-settings/index.html | 175 +++ .../-clics-loader-settings/login.html | 72 + .../-clics-loader-settings/password.html | 72 + .../-clics-loader-settings/url.html | 72 + .../-clics-settings/-clics-settings.html | 72 + .../-clics-settings/additional-feed.html | 72 + .../-clics-settings/emulation.html | 72 + .../-clics-settings/index.html | 209 +++ .../-clics-settings/main-feed.html | 72 + .../-clics-settings/media-base-url.html | 72 + .../-clics-settings/use-team-names.html | 72 + .../-credential/-credential.html | 72 + .../-credential/get.html | 72 + .../-credential/index.html | 115 ++ .../-ejudge-settings/-ejudge-settings.html | 72 + .../-ejudge-settings/emulation.html | 72 + .../-ejudge-settings/index.html | 179 +++ .../-ejudge-settings/result-type.html | 72 + .../-ejudge-settings/url.html | 72 + .../-emulation-settings.html | 72 + .../-emulation-settings/index.html | 130 ++ .../-emulation-settings/speed.html | 72 + .../-emulation-settings/start-time.html | 72 + .../-k-r-s-u-settings/-k-r-s-u-settings.html | 72 + .../-k-r-s-u-settings/contest-url.html | 72 + .../-k-r-s-u-settings/emulation.html | 72 + .../-k-r-s-u-settings/index.html | 194 +++ .../-k-r-s-u-settings/submissions-url.html | 72 + .../-k-r-s-u-settings/time-zone.html | 72 + .../-noop-settings/-noop-settings.html | 72 + .../-noop-settings/emulation.html | 72 + .../-noop-settings/index.html | 149 ++ .../-p-c-m-s-settings/-p-c-m-s-settings.html | 72 + .../-p-c-m-s-settings/emulation.html | 72 + .../-p-c-m-s-settings/index.html | 224 +++ .../-p-c-m-s-settings/login.html | 72 + .../-p-c-m-s-settings/password.html | 72 + .../-p-c-m-s-settings/problems-url.html | 72 + .../-p-c-m-s-settings/result-type.html | 72 + .../-p-c-m-s-settings/url.html | 72 + .../-test-sys-settings.html | 72 + .../-test-sys-settings/emulation.html | 72 + .../-test-sys-settings/index.html | 179 +++ .../-test-sys-settings/time-zone.html | 72 + .../-test-sys-settings/url.html | 72 + .../-yandex-settings/-yandex-settings.html | 72 + .../-yandex-settings/api-key.html | 72 + .../-yandex-settings/contest-id.html | 72 + .../-yandex-settings/emulation.html | 72 + .../-yandex-settings/index.html | 209 +++ .../-yandex-settings/login-regex.html | 72 + .../-yandex-settings/result-type.html | 72 + .../cds/org.icpclive.cds.settings/index.html | 294 ++++ .../parse-file-to-cds-settings.html | 72 + .../-analytics-update/-analytics-update.html | 72 + .../-analytics-update/index.html | 115 ++ .../-analytics-update/message.html | 72 + .../-c-d-s-settings/-companion/index.html | 76 + .../-c-d-s-settings/emulation.html | 72 + .../-c-d-s-settings/index.html | 149 ++ .../-c-d-s-settings/to-flow.html | 72 + .../-c-d-s-settings/to-string.html | 72 + .../-c-f-settings/-c-f-settings.html | 72 + .../-c-f-settings/api-key.html | 72 + .../-c-f-settings/api-secret.html | 72 + .../-c-f-settings/contest-id.html | 72 + .../-c-f-settings/emulation.html | 72 + .../org.icpclive.cds/-c-f-settings/index.html | 194 +++ .../-cats-settings/-cats-settings.html | 72 + .../org.icpclive.cds/-cats-settings/cid.html | 72 + .../-cats-settings/emulation.html | 72 + .../-cats-settings/index.html | 239 +++ .../-cats-settings/login.html | 72 + .../-cats-settings/password.html | 72 + .../-cats-settings/result-type.html | 72 + .../-cats-settings/time-zone.html | 72 + .../org.icpclive.cds/-cats-settings/url.html | 72 + .../-clics-loader-settings.html | 72 + .../event-feed-name.html | 72 + .../-clics-loader-settings/feed-version.html | 72 + .../-clics-loader-settings/index.html | 175 +++ .../-clics-loader-settings/login.html | 72 + .../-clics-loader-settings/password.html | 72 + .../-clics-loader-settings/url.html | 72 + .../-clics-settings/-clics-settings.html | 72 + .../-clics-settings/additional-feed.html | 72 + .../-clics-settings/emulation.html | 72 + .../-clics-settings/index.html | 209 +++ .../-clics-settings/main-feed.html | 72 + .../-clics-settings/media-base-url.html | 72 + .../-clics-settings/use-team-names.html | 72 + .../-contest-update/index.html | 76 + .../-credential/-credential.html | 72 + .../cds/org.icpclive.cds/-credential/get.html | 72 + .../org.icpclive.cds/-credential/index.html | 115 ++ .../-ejudge-settings/-ejudge-settings.html | 72 + .../-ejudge-settings/emulation.html | 72 + .../-ejudge-settings/index.html | 179 +++ .../-ejudge-settings/result-type.html | 72 + .../-ejudge-settings/url.html | 72 + .../-emulation-settings.html | 72 + .../-emulation-settings/index.html | 130 ++ .../-emulation-settings/speed.html | 72 + .../-emulation-settings/start-time.html | 72 + .../-info-update/-info-update.html | 72 + .../org.icpclive.cds/-info-update/index.html | 115 ++ .../-info-update/new-info.html | 72 + .../-k-r-s-u-settings/-k-r-s-u-settings.html | 72 + .../-k-r-s-u-settings/contest-url.html | 72 + .../-k-r-s-u-settings/emulation.html | 72 + .../-k-r-s-u-settings/index.html | 194 +++ .../-k-r-s-u-settings/submissions-url.html | 72 + .../-k-r-s-u-settings/time-zone.html | 72 + .../-noop-settings/-noop-settings.html | 72 + .../-noop-settings/emulation.html | 72 + .../-noop-settings/index.html | 149 ++ .../-p-c-m-s-settings/-p-c-m-s-settings.html | 72 + .../-p-c-m-s-settings/emulation.html | 72 + .../-p-c-m-s-settings/index.html | 224 +++ .../-p-c-m-s-settings/login.html | 72 + .../-p-c-m-s-settings/password.html | 72 + .../-p-c-m-s-settings/problems-url.html | 72 + .../-p-c-m-s-settings/result-type.html | 72 + .../-p-c-m-s-settings/url.html | 72 + .../-run-update/-run-update.html | 72 + .../org.icpclive.cds/-run-update/index.html | 115 ++ .../-run-update/new-info.html | 72 + .../-test-sys-settings.html | 72 + .../-test-sys-settings/emulation.html | 72 + .../-test-sys-settings/index.html | 179 +++ .../-test-sys-settings/time-zone.html | 72 + .../-test-sys-settings/url.html | 72 + .../-yandex-settings/-yandex-settings.html | 72 + .../-yandex-settings/api-key.html | 72 + .../-yandex-settings/contest-id.html | 72 + .../-yandex-settings/emulation.html | 72 + .../-yandex-settings/index.html | 209 +++ .../-yandex-settings/login-regex.html | 72 + .../-yandex-settings/result-type.html | 72 + docs/cds/cds/org.icpclive.cds/index.html | 140 ++ .../parse-file-to-cds-settings.html | 72 + .../get-scoreboard.html | 72 + .../-scoreboard-calculator/index.html | 96 ++ .../calculate-scoreboard.html | 72 + .../get-scoreboard-calculator.html | 72 + .../cds/org.icpclive.scoreboard/index.html | 129 ++ docs/cds/cds/package-list | 418 ++++++ docs/cds/images/anchor-copy-button.svg | 4 + docs/cds/images/arrow_down.svg | 3 + docs/cds/images/copy-icon.svg | 3 + docs/cds/images/copy-successful-icon.svg | 3 + docs/cds/images/footer-go-to-link.svg | 3 + docs/cds/images/go-to-top-icon.svg | 4 + docs/cds/images/logo-icon.svg | 10 + .../nav-icons/abstract-class-kotlin.svg | 22 + docs/cds/images/nav-icons/abstract-class.svg | 20 + .../images/nav-icons/annotation-kotlin.svg | 9 + docs/cds/images/nav-icons/annotation.svg | 7 + docs/cds/images/nav-icons/class-kotlin.svg | 9 + docs/cds/images/nav-icons/class.svg | 7 + docs/cds/images/nav-icons/enum-kotlin.svg | 9 + docs/cds/images/nav-icons/enum.svg | 7 + docs/cds/images/nav-icons/exception-class.svg | 7 + docs/cds/images/nav-icons/field-value.svg | 6 + docs/cds/images/nav-icons/field-variable.svg | 6 + docs/cds/images/nav-icons/function.svg | 7 + .../cds/images/nav-icons/interface-kotlin.svg | 9 + docs/cds/images/nav-icons/interface.svg | 7 + docs/cds/images/nav-icons/object.svg | 9 + docs/cds/images/theme-toggle.svg | 4 + docs/cds/index.html | 199 +++ docs/cds/navigation.html | 394 +++++ docs/cds/scripts/clipboard.js | 52 + docs/cds/scripts/main.js | 44 + docs/cds/scripts/navigation-loader.js | 91 ++ docs/cds/scripts/pages.json | 1 + docs/cds/scripts/platform-content-handler.js | 383 +++++ docs/cds/scripts/prism.js | 22 + docs/cds/scripts/sourceset_dependencies.js | 1 + .../symbol-parameters-wrapper_deferred.js | 83 ++ docs/cds/styles/jetbrains-mono.css | 17 + docs/cds/styles/logo-styles.css | 15 + docs/cds/styles/main.css | 118 ++ docs/cds/styles/prism.css | 213 +++ docs/cds/styles/style.css | 1307 +++++++++++++++++ .../main/kotlin/org/icpclive/Application.kt | 7 +- .../main/kotlin/org/icpclive/admin/Routing.kt | 2 +- .../main/kotlin/org/icpclive/data/DataBus.kt | 1 + .../service/AdvancedPropertiesService.kt | 25 - .../org/icpclive/service/ServiceRoot.kt | 2 +- .../src/main/kotlin/Application.kt | 4 +- src/cds/build.gradle.kts | 27 + .../kotlin/org/icpclive/api/ContestInfo.kt | 34 + .../icpclive/api/{ => tunning}/Advanced.kt | 57 +- .../kotlin/org/icpclive/cds/ContestUpdate.kt | 2 +- .../cds/adapters/AdvancedPropertiesAdapter.kt | 1 + .../icpclive/cds/adapters/EmulationAdapter.kt | 2 +- .../RemoveFrozenSubmissionsAdapter.kt | 4 +- .../kotlin/org/icpclive/cds/adapters/Utils.kt | 8 +- .../org/icpclive/cds/cats/CATSDataSource.kt | 4 +- .../org/icpclive/cds/clics/ClicsDataSource.kt | 6 +- .../org/icpclive/cds/clics/ClicsModel.kt | 2 +- .../org/icpclive/cds/clics/ClicsTime.kt | 2 +- .../cds/clics/model/ClicsJudgementTypeInfo.kt | 2 +- .../cds/clics/model/ClicsLanguageInfo.kt | 2 +- .../cds/clics/model/ClicsOrganisationInfo.kt | 2 +- .../icpclive/cds/clics/model/ClicsRunInfo.kt | 2 +- .../icpclive/cds/codeforces/CFContestInfo.kt | 2 +- .../icpclive/cds/codeforces/CFDataSource.kt | 4 +- .../cds/codeforces/api/data/CFContest.kt | 6 +- .../cds/codeforces/api/data/CFHack.kt | 4 +- .../cds/codeforces/api/data/CFMember.kt | 2 +- .../cds/codeforces/api/data/CFParty.kt | 4 +- .../cds/codeforces/api/data/CFProblem.kt | 4 +- .../codeforces/api/data/CFProblemResult.kt | 4 +- .../cds/codeforces/api/data/CFRankListRow.kt | 2 +- .../cds/codeforces/api/data/CFSubmission.kt | 6 +- .../cds/codeforces/api/results/CFStandings.kt | 2 +- .../codeforces/api/results/CFStatusWrapper.kt | 2 +- .../icpclive/cds/common/ContestParseResult.kt | 2 +- .../org/icpclive/cds/common/DataLoader.kt | 12 +- .../cds/common/FullReloadContestDataSource.kt | 6 +- .../cds/common/LineStreamLoaderService.kt | 6 +- .../org/icpclive/cds/common/NetworkUtils.kt | 8 +- .../icpclive/cds/ejudge/EjudgeDataSource.kt | 4 +- .../org/icpclive/cds/krsu/KRSUDataSource.kt | 4 +- .../org/icpclive/cds/noop/NoopDataSource.kt | 2 +- .../org/icpclive/cds/pcms/PCMSDataSource.kt | 4 +- .../cds/{ => settings}/CDSSettings.kt | 47 +- .../icpclive/cds/testsys/TestSysDataSource.kt | 4 +- .../icpclive/cds/yandex/YandexConstants.kt | 5 - .../icpclive/cds/yandex/YandexContestInfo.kt | 2 +- .../icpclive/cds/yandex/YandexDataSource.kt | 5 +- .../cds/yandex/api/ContestDescription.kt | 2 +- .../icpclive/cds/yandex/api/Participant.kt | 2 +- .../org/icpclive/cds/yandex/api/Problem.kt | 8 +- .../org/icpclive/cds/yandex/api/Result.kt | 2 +- .../org/icpclive/cds/yandex/api/Submission.kt | 4 +- ...tor.kt => AbstractScoreboardCalculator.kt} | 12 +- .../scoreboard/ICPCScoreboardCalculator.kt | 8 +- .../scoreboard/IOIScoreboardCalculator.kt | 3 +- .../icpclive/scoreboard/PenaltyCalculator.kt | 2 +- .../main/kotlin/org/icpclive/reacbot/Bot.kt | 2 +- 935 files changed, 81989 insertions(+), 155 deletions(-) create mode 100644 docs/cds/cds/org.icpclive.api.tunning/-advanced-properties/-advanced-properties.html create mode 100644 docs/cds/cds/org.icpclive.api.tunning/-advanced-properties/freeze-time.html create mode 100644 docs/cds/cds/org.icpclive.api.tunning/-advanced-properties/group-overrides.html create mode 100644 docs/cds/cds/org.icpclive.api.tunning/-advanced-properties/hold-time.html create mode 100644 docs/cds/cds/org.icpclive.api.tunning/-advanced-properties/index.html create mode 100644 docs/cds/cds/org.icpclive.api.tunning/-advanced-properties/problem-overrides.html create mode 100644 docs/cds/cds/org.icpclive.api.tunning/-advanced-properties/scoreboard-overrides.html create mode 100644 docs/cds/cds/org.icpclive.api.tunning/-advanced-properties/start-time.html create mode 100644 docs/cds/cds/org.icpclive.api.tunning/-advanced-properties/team-media-template.html create mode 100644 docs/cds/cds/org.icpclive.api.tunning/-advanced-properties/team-overrides.html create mode 100644 docs/cds/cds/org.icpclive.api.tunning/-group-info-override/-group-info-override.html create mode 100644 docs/cds/cds/org.icpclive.api.tunning/-group-info-override/index.html create mode 100644 docs/cds/cds/org.icpclive.api.tunning/-group-info-override/is-hidden.html create mode 100644 docs/cds/cds/org.icpclive.api.tunning/-group-info-override/is-out-of-contest.html create mode 100644 docs/cds/cds/org.icpclive.api.tunning/-problem-info-override/-problem-info-override.html create mode 100644 docs/cds/cds/org.icpclive.api.tunning/-problem-info-override/color.html create mode 100644 docs/cds/cds/org.icpclive.api.tunning/-problem-info-override/index.html create mode 100644 docs/cds/cds/org.icpclive.api.tunning/-problem-info-override/max-score.html create mode 100644 docs/cds/cds/org.icpclive.api.tunning/-problem-info-override/min-score.html create mode 100644 docs/cds/cds/org.icpclive.api.tunning/-problem-info-override/name.html create mode 100644 docs/cds/cds/org.icpclive.api.tunning/-problem-info-override/score-merge-mode.html create mode 100644 docs/cds/cds/org.icpclive.api.tunning/-ranking-settings/-ranking-settings.html create mode 100644 docs/cds/cds/org.icpclive.api.tunning/-ranking-settings/index.html create mode 100644 docs/cds/cds/org.icpclive.api.tunning/-ranking-settings/medals.html create mode 100644 docs/cds/cds/org.icpclive.api.tunning/-ranking-settings/penalty-per-wrong-attempt.html create mode 100644 docs/cds/cds/org.icpclive.api.tunning/-ranking-settings/penalty-rounding-mode.html create mode 100644 docs/cds/cds/org.icpclive.api.tunning/-ranking-settings/show-teams-without-submissions.html create mode 100644 docs/cds/cds/org.icpclive.api.tunning/-team-info-override/-team-info-override.html create mode 100644 docs/cds/cds/org.icpclive.api.tunning/-team-info-override/additional-info.html create mode 100644 docs/cds/cds/org.icpclive.api.tunning/-team-info-override/groups.html create mode 100644 docs/cds/cds/org.icpclive.api.tunning/-team-info-override/hash-tag.html create mode 100644 docs/cds/cds/org.icpclive.api.tunning/-team-info-override/index.html create mode 100644 docs/cds/cds/org.icpclive.api.tunning/-team-info-override/is-hidden.html create mode 100644 docs/cds/cds/org.icpclive.api.tunning/-team-info-override/is-out-of-contest.html create mode 100644 docs/cds/cds/org.icpclive.api.tunning/-team-info-override/medias.html create mode 100644 docs/cds/cds/org.icpclive.api.tunning/-team-info-override/name.html create mode 100644 docs/cds/cds/org.icpclive.api.tunning/-team-info-override/shortname.html create mode 100644 docs/cds/cds/org.icpclive.api.tunning/index.html create mode 100644 docs/cds/cds/org.icpclive.api.tunning/to-advanced-properties.html create mode 100644 docs/cds/cds/org.icpclive.api/-advanced-properties/-advanced-properties.html create mode 100644 docs/cds/cds/org.icpclive.api/-advanced-properties/freeze-time.html create mode 100644 docs/cds/cds/org.icpclive.api/-advanced-properties/group-overrides.html create mode 100644 docs/cds/cds/org.icpclive.api/-advanced-properties/hold-time.html create mode 100644 docs/cds/cds/org.icpclive.api/-advanced-properties/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-advanced-properties/problem-overrides.html create mode 100644 docs/cds/cds/org.icpclive.api/-advanced-properties/scoreboard-overrides.html create mode 100644 docs/cds/cds/org.icpclive.api/-advanced-properties/start-time.html create mode 100644 docs/cds/cds/org.icpclive.api/-advanced-properties/team-media-template.html create mode 100644 docs/cds/cds/org.icpclive.api/-advanced-properties/team-overrides.html create mode 100644 docs/cds/cds/org.icpclive.api/-analytics-commentary-event/-analytics-commentary-event.html create mode 100644 docs/cds/cds/org.icpclive.api/-analytics-commentary-event/advertisement.html create mode 100644 docs/cds/cds/org.icpclive.api/-analytics-commentary-event/featured-run.html create mode 100644 docs/cds/cds/org.icpclive.api/-analytics-commentary-event/id.html create mode 100644 docs/cds/cds/org.icpclive.api/-analytics-commentary-event/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-analytics-commentary-event/message.html create mode 100644 docs/cds/cds/org.icpclive.api/-analytics-commentary-event/priority.html create mode 100644 docs/cds/cds/org.icpclive.api/-analytics-commentary-event/relative-time.html create mode 100644 docs/cds/cds/org.icpclive.api/-analytics-commentary-event/run-ids.html create mode 100644 docs/cds/cds/org.icpclive.api/-analytics-commentary-event/tags.html create mode 100644 docs/cds/cds/org.icpclive.api/-analytics-commentary-event/team-ids.html create mode 100644 docs/cds/cds/org.icpclive.api/-analytics-commentary-event/ticker-message.html create mode 100644 docs/cds/cds/org.icpclive.api/-analytics-commentary-event/time.html create mode 100644 docs/cds/cds/org.icpclive.api/-analytics-companion-preset/-analytics-companion-preset.html create mode 100644 docs/cds/cds/org.icpclive.api/-analytics-companion-preset/expiration-time.html create mode 100644 docs/cds/cds/org.icpclive.api/-analytics-companion-preset/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-analytics-companion-preset/preset-id.html create mode 100644 docs/cds/cds/org.icpclive.api/-analytics-companion-run/-analytics-companion-run.html create mode 100644 docs/cds/cds/org.icpclive.api/-analytics-companion-run/expiration-time.html create mode 100644 docs/cds/cds/org.icpclive.api/-analytics-companion-run/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-analytics-companion-run/media-type.html create mode 100644 docs/cds/cds/org.icpclive.api/-analytics-message/id.html create mode 100644 docs/cds/cds/org.icpclive.api/-analytics-message/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-analytics-message/relative-time.html create mode 100644 docs/cds/cds/org.icpclive.api/-analytics-message/time.html create mode 100644 docs/cds/cds/org.icpclive.api/-contest-info/-contest-info.html create mode 100644 docs/cds/cds/org.icpclive.api/-contest-info/contest-length.html create mode 100644 docs/cds/cds/org.icpclive.api/-contest-info/current-contest-time.html create mode 100644 docs/cds/cds/org.icpclive.api/-contest-info/emulation-speed.html create mode 100644 docs/cds/cds/org.icpclive.api/-contest-info/freeze-time.html create mode 100644 docs/cds/cds/org.icpclive.api/-contest-info/group-by-id.html create mode 100644 docs/cds/cds/org.icpclive.api/-contest-info/groups.html create mode 100644 docs/cds/cds/org.icpclive.api/-contest-info/hold-before-start-time.html create mode 100644 docs/cds/cds/org.icpclive.api/-contest-info/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-contest-info/medals.html create mode 100644 docs/cds/cds/org.icpclive.api/-contest-info/name.html create mode 100644 docs/cds/cds/org.icpclive.api/-contest-info/penalty-per-wrong-attempt.html create mode 100644 docs/cds/cds/org.icpclive.api/-contest-info/penalty-rounding-mode.html create mode 100644 docs/cds/cds/org.icpclive.api/-contest-info/problems.html create mode 100644 docs/cds/cds/org.icpclive.api/-contest-info/result-type.html create mode 100644 docs/cds/cds/org.icpclive.api/-contest-info/start-time.html create mode 100644 docs/cds/cds/org.icpclive.api/-contest-info/status.html create mode 100644 docs/cds/cds/org.icpclive.api/-contest-info/teams.html create mode 100644 docs/cds/cds/org.icpclive.api/-contest-result-type/-i-c-p-c/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-contest-result-type/-i-o-i/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-contest-result-type/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-contest-result-type/value-of.html create mode 100644 docs/cds/cds/org.icpclive.api/-contest-result-type/values.html create mode 100644 docs/cds/cds/org.icpclive.api/-contest-status/-b-e-f-o-r-e/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-contest-status/-o-v-e-r/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-contest-status/-r-u-n-n-i-n-g/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-contest-status/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-contest-status/value-of.html create mode 100644 docs/cds/cds/org.icpclive.api/-contest-status/values.html create mode 100644 docs/cds/cds/org.icpclive.api/-group-info-override/-group-info-override.html create mode 100644 docs/cds/cds/org.icpclive.api/-group-info-override/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-group-info-override/is-hidden.html create mode 100644 docs/cds/cds/org.icpclive.api/-group-info-override/is-out-of-contest.html create mode 100644 docs/cds/cds/org.icpclive.api/-group-info/-group-info.html create mode 100644 docs/cds/cds/org.icpclive.api/-group-info/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-group-info/is-hidden.html create mode 100644 docs/cds/cds/org.icpclive.api/-group-info/is-out-of-contest.html create mode 100644 docs/cds/cds/org.icpclive.api/-group-info/name.html create mode 100644 docs/cds/cds/org.icpclive.api/-i-c-p-c-problem-result/-i-c-p-c-problem-result.html create mode 100644 docs/cds/cds/org.icpclive.api/-i-c-p-c-problem-result/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-i-c-p-c-problem-result/is-first-to-solve.html create mode 100644 docs/cds/cds/org.icpclive.api/-i-c-p-c-problem-result/is-solved.html create mode 100644 docs/cds/cds/org.icpclive.api/-i-c-p-c-problem-result/last-submit-time.html create mode 100644 docs/cds/cds/org.icpclive.api/-i-c-p-c-problem-result/pending-attempts.html create mode 100644 docs/cds/cds/org.icpclive.api/-i-c-p-c-problem-result/wrong-attempts.html create mode 100644 docs/cds/cds/org.icpclive.api/-i-c-p-c-run-result/-i-c-p-c-run-result.html create mode 100644 docs/cds/cds/org.icpclive.api/-i-c-p-c-run-result/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-i-c-p-c-run-result/is-first-to-solve-run.html create mode 100644 docs/cds/cds/org.icpclive.api/-i-c-p-c-run-result/verdict.html create mode 100644 docs/cds/cds/org.icpclive.api/-i-o-i-problem-result/-i-o-i-problem-result.html create mode 100644 docs/cds/cds/org.icpclive.api/-i-o-i-problem-result/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-i-o-i-problem-result/is-first-best.html create mode 100644 docs/cds/cds/org.icpclive.api/-i-o-i-problem-result/last-submit-time.html create mode 100644 docs/cds/cds/org.icpclive.api/-i-o-i-problem-result/score.html create mode 100644 docs/cds/cds/org.icpclive.api/-i-o-i-run-result/-i-o-i-run-result.html create mode 100644 docs/cds/cds/org.icpclive.api/-i-o-i-run-result/difference.html create mode 100644 docs/cds/cds/org.icpclive.api/-i-o-i-run-result/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-i-o-i-run-result/is-first-best-run.html create mode 100644 docs/cds/cds/org.icpclive.api/-i-o-i-run-result/is-first-best-team-run.html create mode 100644 docs/cds/cds/org.icpclive.api/-i-o-i-run-result/score-after.html create mode 100644 docs/cds/cds/org.icpclive.api/-i-o-i-run-result/score.html create mode 100644 docs/cds/cds/org.icpclive.api/-i-o-i-run-result/wrong-verdict.html create mode 100644 docs/cds/cds/org.icpclive.api/-medal-tiebreak-mode/-a-l-l/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-medal-tiebreak-mode/-n-o-n-e/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-medal-tiebreak-mode/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-medal-tiebreak-mode/value-of.html create mode 100644 docs/cds/cds/org.icpclive.api/-medal-tiebreak-mode/values.html create mode 100644 docs/cds/cds/org.icpclive.api/-medal-type/-medal-type.html create mode 100644 docs/cds/cds/org.icpclive.api/-medal-type/count.html create mode 100644 docs/cds/cds/org.icpclive.api/-medal-type/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-medal-type/min-score.html create mode 100644 docs/cds/cds/org.icpclive.api/-medal-type/name.html create mode 100644 docs/cds/cds/org.icpclive.api/-medal-type/tiebreak-mode.html create mode 100644 docs/cds/cds/org.icpclive.api/-media-type/-object/-object.html create mode 100644 docs/cds/cds/org.icpclive.api/-media-type/-object/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-media-type/-object/is-media.html create mode 100644 docs/cds/cds/org.icpclive.api/-media-type/-object/url.html create mode 100644 docs/cds/cds/org.icpclive.api/-media-type/-photo/-photo.html create mode 100644 docs/cds/cds/org.icpclive.api/-media-type/-photo/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-media-type/-photo/is-media.html create mode 100644 docs/cds/cds/org.icpclive.api/-media-type/-photo/url.html create mode 100644 docs/cds/cds/org.icpclive.api/-media-type/-task-status/-task-status.html create mode 100644 docs/cds/cds/org.icpclive.api/-media-type/-task-status/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-media-type/-task-status/is-media.html create mode 100644 docs/cds/cds/org.icpclive.api/-media-type/-task-status/team-id.html create mode 100644 docs/cds/cds/org.icpclive.api/-media-type/-video/-video.html create mode 100644 docs/cds/cds/org.icpclive.api/-media-type/-video/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-media-type/-video/is-media.html create mode 100644 docs/cds/cds/org.icpclive.api/-media-type/-video/url.html create mode 100644 docs/cds/cds/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/-web-r-t-c-grabber-connection.html create mode 100644 docs/cds/cds/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/credential.html create mode 100644 docs/cds/cds/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/is-media.html create mode 100644 docs/cds/cds/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/peer-name.html create mode 100644 docs/cds/cds/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/stream-type.html create mode 100644 docs/cds/cds/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/url.html create mode 100644 docs/cds/cds/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/-web-r-t-c-proxy-connection.html create mode 100644 docs/cds/cds/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/audio-url.html create mode 100644 docs/cds/cds/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/is-media.html create mode 100644 docs/cds/cds/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/url.html create mode 100644 docs/cds/cds/org.icpclive.api/-media-type/apply-template.html create mode 100644 docs/cds/cds/org.icpclive.api/-media-type/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-media-type/is-media.html create mode 100644 docs/cds/cds/org.icpclive.api/-media-type/no-media.html create mode 100644 docs/cds/cds/org.icpclive.api/-optimism-level/-n-o-r-m-a-l/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-optimism-level/-o-p-t-i-m-i-s-t-i-c/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-optimism-level/-p-e-s-s-i-m-i-s-t-i-c/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-optimism-level/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-optimism-level/value-of.html create mode 100644 docs/cds/cds/org.icpclive.api/-optimism-level/values.html create mode 100644 docs/cds/cds/org.icpclive.api/-penalty-rounding-mode/-e-a-c-h_-s-u-b-m-i-s-s-i-o-n_-d-o-w-n_-t-o_-m-i-n-u-t-e/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-penalty-rounding-mode/-l-a-s-t/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-penalty-rounding-mode/-s-u-m_-d-o-w-n_-t-o_-m-i-n-u-t-e/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-penalty-rounding-mode/-s-u-m_-i-n_-s-e-c-o-n-d-s/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-penalty-rounding-mode/-z-e-r-o/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-penalty-rounding-mode/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-penalty-rounding-mode/value-of.html create mode 100644 docs/cds/cds/org.icpclive.api/-penalty-rounding-mode/values.html create mode 100644 docs/cds/cds/org.icpclive.api/-problem-info-override/-problem-info-override.html create mode 100644 docs/cds/cds/org.icpclive.api/-problem-info-override/color.html create mode 100644 docs/cds/cds/org.icpclive.api/-problem-info-override/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-problem-info-override/max-score.html create mode 100644 docs/cds/cds/org.icpclive.api/-problem-info-override/min-score.html create mode 100644 docs/cds/cds/org.icpclive.api/-problem-info-override/name.html create mode 100644 docs/cds/cds/org.icpclive.api/-problem-info-override/score-merge-mode.html create mode 100644 docs/cds/cds/org.icpclive.api/-problem-info/-companion/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-problem-info/-companion/logger.html create mode 100644 docs/cds/cds/org.icpclive.api/-problem-info/-problem-info.html create mode 100644 docs/cds/cds/org.icpclive.api/-problem-info/color.html create mode 100644 docs/cds/cds/org.icpclive.api/-problem-info/contest-system-id.html create mode 100644 docs/cds/cds/org.icpclive.api/-problem-info/id.html create mode 100644 docs/cds/cds/org.icpclive.api/-problem-info/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-problem-info/letter.html create mode 100644 docs/cds/cds/org.icpclive.api/-problem-info/max-score.html create mode 100644 docs/cds/cds/org.icpclive.api/-problem-info/min-score.html create mode 100644 docs/cds/cds/org.icpclive.api/-problem-info/name.html create mode 100644 docs/cds/cds/org.icpclive.api/-problem-info/ordinal.html create mode 100644 docs/cds/cds/org.icpclive.api/-problem-info/score-merge-mode.html create mode 100644 docs/cds/cds/org.icpclive.api/-problem-result/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-ranking-settings/-ranking-settings.html create mode 100644 docs/cds/cds/org.icpclive.api/-ranking-settings/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-ranking-settings/medals.html create mode 100644 docs/cds/cds/org.icpclive.api/-ranking-settings/penalty-per-wrong-attempt.html create mode 100644 docs/cds/cds/org.icpclive.api/-ranking-settings/penalty-rounding-mode.html create mode 100644 docs/cds/cds/org.icpclive.api/-ranking-settings/show-teams-without-submissions.html create mode 100644 docs/cds/cds/org.icpclive.api/-run-info/-run-info.html create mode 100644 docs/cds/cds/org.icpclive.api/-run-info/featured-run-media.html create mode 100644 docs/cds/cds/org.icpclive.api/-run-info/id.html create mode 100644 docs/cds/cds/org.icpclive.api/-run-info/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-run-info/is-hidden.html create mode 100644 docs/cds/cds/org.icpclive.api/-run-info/percentage.html create mode 100644 docs/cds/cds/org.icpclive.api/-run-info/problem-id.html create mode 100644 docs/cds/cds/org.icpclive.api/-run-info/reaction-videos.html create mode 100644 docs/cds/cds/org.icpclive.api/-run-info/result.html create mode 100644 docs/cds/cds/org.icpclive.api/-run-info/team-id.html create mode 100644 docs/cds/cds/org.icpclive.api/-run-info/time.html create mode 100644 docs/cds/cds/org.icpclive.api/-run-result/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-score-merge-mode/-l-a-s-t/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-score-merge-mode/-l-a-s-t_-o-k/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-score-merge-mode/-m-a-x_-p-e-r_-g-r-o-u-p/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-score-merge-mode/-m-a-x_-t-o-t-a-l/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-score-merge-mode/-s-u-m/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-score-merge-mode/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-score-merge-mode/value-of.html create mode 100644 docs/cds/cds/org.icpclive.api/-score-merge-mode/values.html create mode 100644 docs/cds/cds/org.icpclive.api/-scoreboard-row/-scoreboard-row.html create mode 100644 docs/cds/cds/org.icpclive.api/-scoreboard-row/champion-in-groups.html create mode 100644 docs/cds/cds/org.icpclive.api/-scoreboard-row/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-scoreboard-row/last-accepted.html create mode 100644 docs/cds/cds/org.icpclive.api/-scoreboard-row/medal-type.html create mode 100644 docs/cds/cds/org.icpclive.api/-scoreboard-row/penalty.html create mode 100644 docs/cds/cds/org.icpclive.api/-scoreboard-row/problem-results.html create mode 100644 docs/cds/cds/org.icpclive.api/-scoreboard-row/rank.html create mode 100644 docs/cds/cds/org.icpclive.api/-scoreboard-row/team-groups.html create mode 100644 docs/cds/cds/org.icpclive.api/-scoreboard-row/team-id.html create mode 100644 docs/cds/cds/org.icpclive.api/-scoreboard-row/total-score.html create mode 100644 docs/cds/cds/org.icpclive.api/-scoreboard/-scoreboard.html create mode 100644 docs/cds/cds/org.icpclive.api/-scoreboard/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-scoreboard/rows.html create mode 100644 docs/cds/cds/org.icpclive.api/-team-info-override/-team-info-override.html create mode 100644 docs/cds/cds/org.icpclive.api/-team-info-override/additional-info.html create mode 100644 docs/cds/cds/org.icpclive.api/-team-info-override/groups.html create mode 100644 docs/cds/cds/org.icpclive.api/-team-info-override/hash-tag.html create mode 100644 docs/cds/cds/org.icpclive.api/-team-info-override/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-team-info-override/is-hidden.html create mode 100644 docs/cds/cds/org.icpclive.api/-team-info-override/is-out-of-contest.html create mode 100644 docs/cds/cds/org.icpclive.api/-team-info-override/medias.html create mode 100644 docs/cds/cds/org.icpclive.api/-team-info-override/name.html create mode 100644 docs/cds/cds/org.icpclive.api/-team-info-override/shortname.html create mode 100644 docs/cds/cds/org.icpclive.api/-team-info/-team-info.html create mode 100644 docs/cds/cds/org.icpclive.api/-team-info/additional-info.html create mode 100644 docs/cds/cds/org.icpclive.api/-team-info/contest-system-id.html create mode 100644 docs/cds/cds/org.icpclive.api/-team-info/groups.html create mode 100644 docs/cds/cds/org.icpclive.api/-team-info/hash-tag.html create mode 100644 docs/cds/cds/org.icpclive.api/-team-info/id.html create mode 100644 docs/cds/cds/org.icpclive.api/-team-info/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-team-info/is-hidden.html create mode 100644 docs/cds/cds/org.icpclive.api/-team-info/is-out-of-contest.html create mode 100644 docs/cds/cds/org.icpclive.api/-team-info/medias.html create mode 100644 docs/cds/cds/org.icpclive.api/-team-info/name.html create mode 100644 docs/cds/cds/org.icpclive.api/-team-info/short-name.html create mode 100644 docs/cds/cds/org.icpclive.api/-team-media-type/-a-c-h-i-e-v-e-m-e-n-t/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-team-media-type/-c-a-m-e-r-a/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-team-media-type/-p-h-o-t-o/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-team-media-type/-r-e-a-c-t-i-o-n_-v-i-d-e-o/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-team-media-type/-r-e-c-o-r-d/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-team-media-type/-s-c-r-e-e-n/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-team-media-type/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-team-media-type/value-of.html create mode 100644 docs/cds/cds/org.icpclive.api/-team-media-type/values.html create mode 100644 docs/cds/cds/org.icpclive.api/-verdict-serializer/-verdict-serializer.html create mode 100644 docs/cds/cds/org.icpclive.api/-verdict-serializer/descriptor.html create mode 100644 docs/cds/cds/org.icpclive.api/-verdict-serializer/deserialize.html create mode 100644 docs/cds/cds/org.icpclive.api/-verdict-serializer/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-verdict-serializer/serialize.html create mode 100644 docs/cds/cds/org.icpclive.api/-verdict/-accepted/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-verdict/-challenged/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-verdict/-companion/all.html create mode 100644 docs/cds/cds/org.icpclive.api/-verdict/-companion/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-verdict/-companion/lookup.html create mode 100644 docs/cds/cds/org.icpclive.api/-verdict/-compilation-error-with-penalty/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-verdict/-compilation-error/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-verdict/-fail/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-verdict/-idleness-limit-exceeded/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-verdict/-ignored/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-verdict/-memory-limit-exceeded/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-verdict/-output-limit-exceeded/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-verdict/-presentation-error/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-verdict/-rejected/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-verdict/-runtime-error/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-verdict/-security-violation/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-verdict/-time-limit-exceeded/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-verdict/-wrong-answer/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-verdict/index.html create mode 100644 docs/cds/cds/org.icpclive.api/-verdict/is-accepted.html create mode 100644 docs/cds/cds/org.icpclive.api/-verdict/is-adding-penalty.html create mode 100644 docs/cds/cds/org.icpclive.api/-verdict/short-name.html create mode 100644 docs/cds/cds/org.icpclive.api/-verdict/to-run-result.html create mode 100644 docs/cds/cds/org.icpclive.api/index.html create mode 100644 docs/cds/cds/org.icpclive.api/to-advanced-properties.html create mode 100644 docs/cds/cds/org.icpclive.api/to-group-infos.html create mode 100644 docs/cds/cds/org.icpclive.cds.adapters/-advanced-properties-adapter/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/-contest-event-with-grouped-runs.html create mode 100644 docs/cds/cds/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/event.html create mode 100644 docs/cds/cds/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/info-after-event.html create mode 100644 docs/cds/cds/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/info-before-event.html create mode 100644 docs/cds/cds/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/runs.html create mode 100644 docs/cds/cds/org.icpclive.cds.adapters/-contest-event-with-runs-before/-contest-event-with-runs-before.html create mode 100644 docs/cds/cds/org.icpclive.cds.adapters/-contest-event-with-runs-before/event.html create mode 100644 docs/cds/cds/org.icpclive.cds.adapters/-contest-event-with-runs-before/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.adapters/-contest-event-with-runs-before/info-after-event.html create mode 100644 docs/cds/cds/org.icpclive.cds.adapters/-contest-event-with-runs-before/info-before-event.html create mode 100644 docs/cds/cds/org.icpclive.cds.adapters/-contest-event-with-runs-before/runs.html create mode 100644 docs/cds/cds/org.icpclive.cds.adapters/-contest-state-with-grouped-runs/-contest-state-with-grouped-runs.html create mode 100644 docs/cds/cds/org.icpclive.cds.adapters/-contest-state-with-grouped-runs/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.adapters/-contest-state-with-grouped-runs/info.html create mode 100644 docs/cds/cds/org.icpclive.cds.adapters/-contest-state-with-grouped-runs/runs.html create mode 100644 docs/cds/cds/org.icpclive.cds.adapters/-contest-state-with-runs-by-team/-contest-state-with-runs-by-team.html create mode 100644 docs/cds/cds/org.icpclive.cds.adapters/-contest-state-with-runs-by-team/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.adapters/-contest-state-with-runs-by-team/info.html create mode 100644 docs/cds/cds/org.icpclive.cds.adapters/-contest-state-with-runs-by-team/runs.html create mode 100644 docs/cds/cds/org.icpclive.cds.adapters/add-first-to-solves.html create mode 100644 docs/cds/cds/org.icpclive.cds.adapters/apply-advanced-properties.html create mode 100644 docs/cds/cds/org.icpclive.cds.adapters/calculate-score-differences.html create mode 100644 docs/cds/cds/org.icpclive.cds.adapters/filter-useless.html create mode 100644 docs/cds/cds/org.icpclive.cds.adapters/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.adapters/process-hidden-teams-and-groups.html create mode 100644 docs/cds/cds/org.icpclive.cds.adapters/remove-frozen-submissions.html create mode 100644 docs/cds/cds/org.icpclive.cds.adapters/state-grouped-by-team.html create mode 100644 docs/cds/cds/org.icpclive.cds.adapters/state-with-grouped-runs.html create mode 100644 docs/cds/cds/org.icpclive.cds.adapters/update.html create mode 100644 docs/cds/cds/org.icpclive.cds.adapters/with-contest-info.html create mode 100644 docs/cds/cds/org.icpclive.cds.adapters/with-grouped-runs.html create mode 100644 docs/cds/cds/org.icpclive.cds.adapters/with-runs-before.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-awards-event/-awards-event.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-awards-event/data.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-awards-event/id.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-awards-event/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-awards-event/op.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-clarification-event/-clarification-event.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-clarification-event/data.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-clarification-event/id.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-clarification-event/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-clarification-event/op.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-commentary-event/-commentary-event.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-commentary-event/data.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-commentary-event/id.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-commentary-event/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-commentary-event/op.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-contest-event/-contest-event.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-contest-event/data.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-contest-event/id.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-contest-event/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-contest-event/op.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-groups-event/-groups-event.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-groups-event/data.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-groups-event/id.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-groups-event/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-groups-event/op.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-ignored-event/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-event/-judgement-event.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-event/data.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-event/id.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-event/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-event/op.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-type-event/-judgement-type-event.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-type-event/data.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-type-event/id.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-type-event/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-type-event/op.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-language-event/-language-event.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-language-event/data.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-language-event/id.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-language-event/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-language-event/op.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-organization-event/-organization-event.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-organization-event/data.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-organization-event/id.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-organization-event/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-organization-event/op.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-preload-finished-event/-preload-finished-event.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-preload-finished-event/id.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-preload-finished-event/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-preload-finished-event/op.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-problem-event/-problem-event.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-problem-event/data.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-problem-event/id.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-problem-event/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-problem-event/op.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-runs-event/-runs-event.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-runs-event/data.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-runs-event/id.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-runs-event/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-runs-event/op.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-state-event/-state-event.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-state-event/data.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-state-event/id.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-state-event/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-state-event/op.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-submission-event/-submission-event.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-submission-event/data.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-submission-event/id.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-submission-event/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-submission-event/op.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-team-event/-team-event.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-team-event/data.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-team-event/id.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-team-event/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-team-event/op.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-update-contest-event/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-update-run-event/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/id.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/op.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api.v1/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-account/-account.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-account/-t-y-p-e/-a-d-m-i-n/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-account/-t-y-p-e/-a-n-a-l-y-s-t/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-account/-t-y-p-e/-j-u-d-g-e/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-account/-t-y-p-e/-s-t-a-f-f/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-account/-t-y-p-e/-t-e-a-m/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-account/-t-y-p-e/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-account/-t-y-p-e/value-of.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-account/-t-y-p-e/values.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-account/id.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-account/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-account/ip.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-account/password.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-account/person_id.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-account/team_id.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-account/type.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-account/username.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-award/-award.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-award/id.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-award/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-clarification/-clarification.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-clarification/id.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-clarification/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-commentary/-commentary.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-commentary/contest_time.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-commentary/id.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-commentary/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-commentary/message.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-commentary/problem_ids.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-commentary/submission_ids.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-commentary/team_ids.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-commentary/time.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-contest/-contest.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-contest/countdown_pause_time.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-contest/duration.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-contest/formal_name.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-contest/id.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-contest/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-contest/name.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-contest/penalty_time.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-contest/scoreboard_freeze_duration.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-contest/scoreboard_type.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-contest/start_time.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-account-event/-account-event.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-account-event/data.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-account-event/id.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-account-event/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-account-event/token.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-awards-event/-awards-event.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-awards-event/data.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-awards-event/id.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-awards-event/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-awards-event/token.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-clarification-event/-clarification-event.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-clarification-event/data.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-clarification-event/id.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-clarification-event/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-clarification-event/token.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-commentary-event/-commentary-event.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-commentary-event/data.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-commentary-event/id.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-commentary-event/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-commentary-event/token.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-companion/from-v1.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-companion/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event-named-non-with-spec/-contest-event-named-non-with-spec.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event-named-non-with-spec/data.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event-named-non-with-spec/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event-named-non-with-spec/token.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event-named-with-spec/-contest-event-named-with-spec.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event-named-with-spec/data.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event-named-with-spec/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event-named-with-spec/token.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event/data.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-groups-event/-groups-event.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-groups-event/data.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-groups-event/id.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-groups-event/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-groups-event/token.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-ignored-event/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-event/-judgement-event.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-event/data.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-event/id.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-event/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-event/token.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-type-event/-judgement-type-event.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-type-event/data.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-type-event/id.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-type-event/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-type-event/token.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-language-event/-language-event.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-language-event/data.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-language-event/id.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-language-event/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-language-event/token.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-map-event/-map-event.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-map-event/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-map-event/token.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-organization-event/-organization-event.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-organization-event/data.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-organization-event/id.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-organization-event/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-organization-event/token.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-person-event/-person-event.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-person-event/id.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-person-event/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-person-event/token.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-preload-finished-event/-preload-finished-event.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-preload-finished-event/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-preload-finished-event/token.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-problem-event/-problem-event.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-problem-event/data.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-problem-event/id.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-problem-event/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-problem-event/token.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-runs-event/-runs-event.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-runs-event/data.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-runs-event/id.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-runs-event/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-runs-event/token.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-start-status-event/-start-status-event.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-start-status-event/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-start-status-event/token.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-state-event/-state-event.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-state-event/data.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-state-event/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-state-event/token.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-submission-event/-submission-event.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-submission-event/data.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-submission-event/id.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-submission-event/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-submission-event/token.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-team-event/-team-event.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-team-event/data.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-team-event/id.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-team-event/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-team-event/token.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-update-contest-event/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/-update-run-event/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-event/token.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-group/-group.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-group/icpc-id.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-group/id.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-group/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-group/name.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-group/type.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-judgement-type/-judgement-type.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-judgement-type/id.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-judgement-type/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-judgement-type/name.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-judgement-type/penalty.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-judgement-type/solved.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-judgement/-judgement.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-judgement/end_contest_time.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-judgement/end_time.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-judgement/id.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-judgement/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-judgement/judgement_type_id.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-judgement/start_contest_time.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-judgement/start_time.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-judgement/submission_id.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-language/-language.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-language/entry_point_required.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-language/extensions.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-language/id.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-language/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-language/name.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-media/-media.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-media/href.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-media/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-media/mime.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-operation/-c-r-e-a-t-e/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-operation/-d-e-l-e-t-e/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-operation/-u-p-d-a-t-e/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-operation/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-operation/value-of.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-operation/values.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-organization/-organization.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-organization/formal_name.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-organization/id.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-organization/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-organization/logo.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-organization/name.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-organization/twitter_hashtag.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-problem/-problem.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-problem/id.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-problem/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-problem/label.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-problem/name.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-problem/ordinal.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-problem/rgb.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-problem/test_data_count.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-run/-run.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-run/contest_time.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-run/id.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-run/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-run/judgement_id.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-run/judgement_type_id.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-run/ordinal.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-state/-state.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-state/end_of_updates.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-state/ended.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-state/finalized.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-state/frozen.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-state/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-state/started.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-state/unfrozen.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-submission/-submission.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-submission/contest_time.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-submission/id.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-submission/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-submission/language_id.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-submission/problem_id.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-submission/reaction.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-submission/team_id.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-submission/time.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-team/-team.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-team/desktop.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-team/group_ids.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-team/hidden.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-team/id.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-team/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-team/name.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-team/organization_id.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-team/photo.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-team/video.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/-team/webcam.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics.api/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics/-feed-version/2020_03/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics/-feed-version/2022_07/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics/-feed-version/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics/-feed-version/value-of.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics/-feed-version/values.html create mode 100644 docs/cds/cds/org.icpclive.cds.clics/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.common/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.common/set-allow-unsecure-connections.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-c-d-s-settings/-companion/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-c-d-s-settings/emulation.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-c-d-s-settings/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-c-d-s-settings/to-flow.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-c-d-s-settings/to-string.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-c-f-settings/-c-f-settings.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-c-f-settings/api-key.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-c-f-settings/api-secret.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-c-f-settings/contest-id.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-c-f-settings/emulation.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-c-f-settings/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-cats-settings/-cats-settings.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-cats-settings/cid.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-cats-settings/emulation.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-cats-settings/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-cats-settings/login.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-cats-settings/password.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-cats-settings/result-type.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-cats-settings/time-zone.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-cats-settings/url.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-clics-loader-settings/-clics-loader-settings.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-clics-loader-settings/event-feed-name.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-clics-loader-settings/feed-version.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-clics-loader-settings/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-clics-loader-settings/login.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-clics-loader-settings/password.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-clics-loader-settings/url.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-clics-settings/-clics-settings.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-clics-settings/additional-feed.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-clics-settings/emulation.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-clics-settings/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-clics-settings/main-feed.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-clics-settings/media-base-url.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-clics-settings/use-team-names.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-credential/-credential.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-credential/get.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-credential/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-ejudge-settings/-ejudge-settings.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-ejudge-settings/emulation.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-ejudge-settings/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-ejudge-settings/result-type.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-ejudge-settings/url.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-emulation-settings/-emulation-settings.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-emulation-settings/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-emulation-settings/speed.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-emulation-settings/start-time.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-k-r-s-u-settings/-k-r-s-u-settings.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-k-r-s-u-settings/contest-url.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-k-r-s-u-settings/emulation.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-k-r-s-u-settings/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-k-r-s-u-settings/submissions-url.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-k-r-s-u-settings/time-zone.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-noop-settings/-noop-settings.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-noop-settings/emulation.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-noop-settings/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-p-c-m-s-settings/-p-c-m-s-settings.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-p-c-m-s-settings/emulation.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-p-c-m-s-settings/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-p-c-m-s-settings/login.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-p-c-m-s-settings/password.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-p-c-m-s-settings/problems-url.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-p-c-m-s-settings/result-type.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-p-c-m-s-settings/url.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-test-sys-settings/-test-sys-settings.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-test-sys-settings/emulation.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-test-sys-settings/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-test-sys-settings/time-zone.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-test-sys-settings/url.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-yandex-settings/-yandex-settings.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-yandex-settings/api-key.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-yandex-settings/contest-id.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-yandex-settings/emulation.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-yandex-settings/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-yandex-settings/login-regex.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/-yandex-settings/result-type.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/index.html create mode 100644 docs/cds/cds/org.icpclive.cds.settings/parse-file-to-cds-settings.html create mode 100644 docs/cds/cds/org.icpclive.cds/-analytics-update/-analytics-update.html create mode 100644 docs/cds/cds/org.icpclive.cds/-analytics-update/index.html create mode 100644 docs/cds/cds/org.icpclive.cds/-analytics-update/message.html create mode 100644 docs/cds/cds/org.icpclive.cds/-c-d-s-settings/-companion/index.html create mode 100644 docs/cds/cds/org.icpclive.cds/-c-d-s-settings/emulation.html create mode 100644 docs/cds/cds/org.icpclive.cds/-c-d-s-settings/index.html create mode 100644 docs/cds/cds/org.icpclive.cds/-c-d-s-settings/to-flow.html create mode 100644 docs/cds/cds/org.icpclive.cds/-c-d-s-settings/to-string.html create mode 100644 docs/cds/cds/org.icpclive.cds/-c-f-settings/-c-f-settings.html create mode 100644 docs/cds/cds/org.icpclive.cds/-c-f-settings/api-key.html create mode 100644 docs/cds/cds/org.icpclive.cds/-c-f-settings/api-secret.html create mode 100644 docs/cds/cds/org.icpclive.cds/-c-f-settings/contest-id.html create mode 100644 docs/cds/cds/org.icpclive.cds/-c-f-settings/emulation.html create mode 100644 docs/cds/cds/org.icpclive.cds/-c-f-settings/index.html create mode 100644 docs/cds/cds/org.icpclive.cds/-cats-settings/-cats-settings.html create mode 100644 docs/cds/cds/org.icpclive.cds/-cats-settings/cid.html create mode 100644 docs/cds/cds/org.icpclive.cds/-cats-settings/emulation.html create mode 100644 docs/cds/cds/org.icpclive.cds/-cats-settings/index.html create mode 100644 docs/cds/cds/org.icpclive.cds/-cats-settings/login.html create mode 100644 docs/cds/cds/org.icpclive.cds/-cats-settings/password.html create mode 100644 docs/cds/cds/org.icpclive.cds/-cats-settings/result-type.html create mode 100644 docs/cds/cds/org.icpclive.cds/-cats-settings/time-zone.html create mode 100644 docs/cds/cds/org.icpclive.cds/-cats-settings/url.html create mode 100644 docs/cds/cds/org.icpclive.cds/-clics-loader-settings/-clics-loader-settings.html create mode 100644 docs/cds/cds/org.icpclive.cds/-clics-loader-settings/event-feed-name.html create mode 100644 docs/cds/cds/org.icpclive.cds/-clics-loader-settings/feed-version.html create mode 100644 docs/cds/cds/org.icpclive.cds/-clics-loader-settings/index.html create mode 100644 docs/cds/cds/org.icpclive.cds/-clics-loader-settings/login.html create mode 100644 docs/cds/cds/org.icpclive.cds/-clics-loader-settings/password.html create mode 100644 docs/cds/cds/org.icpclive.cds/-clics-loader-settings/url.html create mode 100644 docs/cds/cds/org.icpclive.cds/-clics-settings/-clics-settings.html create mode 100644 docs/cds/cds/org.icpclive.cds/-clics-settings/additional-feed.html create mode 100644 docs/cds/cds/org.icpclive.cds/-clics-settings/emulation.html create mode 100644 docs/cds/cds/org.icpclive.cds/-clics-settings/index.html create mode 100644 docs/cds/cds/org.icpclive.cds/-clics-settings/main-feed.html create mode 100644 docs/cds/cds/org.icpclive.cds/-clics-settings/media-base-url.html create mode 100644 docs/cds/cds/org.icpclive.cds/-clics-settings/use-team-names.html create mode 100644 docs/cds/cds/org.icpclive.cds/-contest-update/index.html create mode 100644 docs/cds/cds/org.icpclive.cds/-credential/-credential.html create mode 100644 docs/cds/cds/org.icpclive.cds/-credential/get.html create mode 100644 docs/cds/cds/org.icpclive.cds/-credential/index.html create mode 100644 docs/cds/cds/org.icpclive.cds/-ejudge-settings/-ejudge-settings.html create mode 100644 docs/cds/cds/org.icpclive.cds/-ejudge-settings/emulation.html create mode 100644 docs/cds/cds/org.icpclive.cds/-ejudge-settings/index.html create mode 100644 docs/cds/cds/org.icpclive.cds/-ejudge-settings/result-type.html create mode 100644 docs/cds/cds/org.icpclive.cds/-ejudge-settings/url.html create mode 100644 docs/cds/cds/org.icpclive.cds/-emulation-settings/-emulation-settings.html create mode 100644 docs/cds/cds/org.icpclive.cds/-emulation-settings/index.html create mode 100644 docs/cds/cds/org.icpclive.cds/-emulation-settings/speed.html create mode 100644 docs/cds/cds/org.icpclive.cds/-emulation-settings/start-time.html create mode 100644 docs/cds/cds/org.icpclive.cds/-info-update/-info-update.html create mode 100644 docs/cds/cds/org.icpclive.cds/-info-update/index.html create mode 100644 docs/cds/cds/org.icpclive.cds/-info-update/new-info.html create mode 100644 docs/cds/cds/org.icpclive.cds/-k-r-s-u-settings/-k-r-s-u-settings.html create mode 100644 docs/cds/cds/org.icpclive.cds/-k-r-s-u-settings/contest-url.html create mode 100644 docs/cds/cds/org.icpclive.cds/-k-r-s-u-settings/emulation.html create mode 100644 docs/cds/cds/org.icpclive.cds/-k-r-s-u-settings/index.html create mode 100644 docs/cds/cds/org.icpclive.cds/-k-r-s-u-settings/submissions-url.html create mode 100644 docs/cds/cds/org.icpclive.cds/-k-r-s-u-settings/time-zone.html create mode 100644 docs/cds/cds/org.icpclive.cds/-noop-settings/-noop-settings.html create mode 100644 docs/cds/cds/org.icpclive.cds/-noop-settings/emulation.html create mode 100644 docs/cds/cds/org.icpclive.cds/-noop-settings/index.html create mode 100644 docs/cds/cds/org.icpclive.cds/-p-c-m-s-settings/-p-c-m-s-settings.html create mode 100644 docs/cds/cds/org.icpclive.cds/-p-c-m-s-settings/emulation.html create mode 100644 docs/cds/cds/org.icpclive.cds/-p-c-m-s-settings/index.html create mode 100644 docs/cds/cds/org.icpclive.cds/-p-c-m-s-settings/login.html create mode 100644 docs/cds/cds/org.icpclive.cds/-p-c-m-s-settings/password.html create mode 100644 docs/cds/cds/org.icpclive.cds/-p-c-m-s-settings/problems-url.html create mode 100644 docs/cds/cds/org.icpclive.cds/-p-c-m-s-settings/result-type.html create mode 100644 docs/cds/cds/org.icpclive.cds/-p-c-m-s-settings/url.html create mode 100644 docs/cds/cds/org.icpclive.cds/-run-update/-run-update.html create mode 100644 docs/cds/cds/org.icpclive.cds/-run-update/index.html create mode 100644 docs/cds/cds/org.icpclive.cds/-run-update/new-info.html create mode 100644 docs/cds/cds/org.icpclive.cds/-test-sys-settings/-test-sys-settings.html create mode 100644 docs/cds/cds/org.icpclive.cds/-test-sys-settings/emulation.html create mode 100644 docs/cds/cds/org.icpclive.cds/-test-sys-settings/index.html create mode 100644 docs/cds/cds/org.icpclive.cds/-test-sys-settings/time-zone.html create mode 100644 docs/cds/cds/org.icpclive.cds/-test-sys-settings/url.html create mode 100644 docs/cds/cds/org.icpclive.cds/-yandex-settings/-yandex-settings.html create mode 100644 docs/cds/cds/org.icpclive.cds/-yandex-settings/api-key.html create mode 100644 docs/cds/cds/org.icpclive.cds/-yandex-settings/contest-id.html create mode 100644 docs/cds/cds/org.icpclive.cds/-yandex-settings/emulation.html create mode 100644 docs/cds/cds/org.icpclive.cds/-yandex-settings/index.html create mode 100644 docs/cds/cds/org.icpclive.cds/-yandex-settings/login-regex.html create mode 100644 docs/cds/cds/org.icpclive.cds/-yandex-settings/result-type.html create mode 100644 docs/cds/cds/org.icpclive.cds/index.html create mode 100644 docs/cds/cds/org.icpclive.cds/parse-file-to-cds-settings.html create mode 100644 docs/cds/cds/org.icpclive.scoreboard/-scoreboard-calculator/get-scoreboard.html create mode 100644 docs/cds/cds/org.icpclive.scoreboard/-scoreboard-calculator/index.html create mode 100644 docs/cds/cds/org.icpclive.scoreboard/calculate-scoreboard.html create mode 100644 docs/cds/cds/org.icpclive.scoreboard/get-scoreboard-calculator.html create mode 100644 docs/cds/cds/org.icpclive.scoreboard/index.html create mode 100644 docs/cds/cds/package-list create mode 100644 docs/cds/images/anchor-copy-button.svg create mode 100644 docs/cds/images/arrow_down.svg create mode 100644 docs/cds/images/copy-icon.svg create mode 100644 docs/cds/images/copy-successful-icon.svg create mode 100644 docs/cds/images/footer-go-to-link.svg create mode 100644 docs/cds/images/go-to-top-icon.svg create mode 100644 docs/cds/images/logo-icon.svg create mode 100644 docs/cds/images/nav-icons/abstract-class-kotlin.svg create mode 100644 docs/cds/images/nav-icons/abstract-class.svg create mode 100644 docs/cds/images/nav-icons/annotation-kotlin.svg create mode 100644 docs/cds/images/nav-icons/annotation.svg create mode 100644 docs/cds/images/nav-icons/class-kotlin.svg create mode 100644 docs/cds/images/nav-icons/class.svg create mode 100644 docs/cds/images/nav-icons/enum-kotlin.svg create mode 100644 docs/cds/images/nav-icons/enum.svg create mode 100644 docs/cds/images/nav-icons/exception-class.svg create mode 100644 docs/cds/images/nav-icons/field-value.svg create mode 100644 docs/cds/images/nav-icons/field-variable.svg create mode 100644 docs/cds/images/nav-icons/function.svg create mode 100644 docs/cds/images/nav-icons/interface-kotlin.svg create mode 100644 docs/cds/images/nav-icons/interface.svg create mode 100644 docs/cds/images/nav-icons/object.svg create mode 100644 docs/cds/images/theme-toggle.svg create mode 100644 docs/cds/index.html create mode 100644 docs/cds/navigation.html create mode 100644 docs/cds/scripts/clipboard.js create mode 100644 docs/cds/scripts/main.js create mode 100644 docs/cds/scripts/navigation-loader.js create mode 100644 docs/cds/scripts/pages.json create mode 100644 docs/cds/scripts/platform-content-handler.js create mode 100644 docs/cds/scripts/prism.js create mode 100644 docs/cds/scripts/sourceset_dependencies.js create mode 100644 docs/cds/scripts/symbol-parameters-wrapper_deferred.js create mode 100644 docs/cds/styles/jetbrains-mono.css create mode 100644 docs/cds/styles/logo-styles.css create mode 100644 docs/cds/styles/main.css create mode 100644 docs/cds/styles/prism.css create mode 100644 docs/cds/styles/style.css delete mode 100644 src/backend/src/main/kotlin/org/icpclive/service/AdvancedPropertiesService.kt rename src/cds/src/main/kotlin/org/icpclive/api/{ => tunning}/Advanced.kt (55%) rename src/cds/src/main/kotlin/org/icpclive/cds/{ => settings}/CDSSettings.kt (88%) delete mode 100644 src/cds/src/main/kotlin/org/icpclive/cds/yandex/YandexConstants.kt rename src/cds/src/main/kotlin/org/icpclive/scoreboard/{ScoreboardCalculator.kt => AbstractScoreboardCalculator.kt} (90%) diff --git a/docs/cds/cds/org.icpclive.api.tunning/-advanced-properties/-advanced-properties.html b/docs/cds/cds/org.icpclive.api.tunning/-advanced-properties/-advanced-properties.html new file mode 100644 index 000000000..34667cc5e --- /dev/null +++ b/docs/cds/cds/org.icpclive.api.tunning/-advanced-properties/-advanced-properties.html @@ -0,0 +1,72 @@ + + + + + AdvancedProperties + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

AdvancedProperties

+
+
constructor(startTime: Instant? = null, freezeTime: Duration? = null, holdTime: Duration? = null, teamMediaTemplate: Map<TeamMediaType, MediaType?>? = null, teamOverrides: Map<String, TeamInfoOverride>? = null, groupOverrides: Map<String, GroupInfoOverride>? = null, problemOverrides: Map<String, ProblemInfoOverride>? = null, scoreboardOverrides: RankingSettings? = null)(source)

Parameters

startTime

Override for contest start time. The preferred format is yyyy-mm-dd hh:mm:ss, but some others would be accepted too. It also affects contest state if overridden.

freezeTime

Time from the start of the contest before scoreboard freezing.

holdTime

Fixed time to show as time before the contest start

teamMediaTemplate

Template medias for all teams. One can use {teamId} inside, it would be replaced with team id from contest system.

teamOverrides

Overrides for specific teams. Team id from the contest system is key.

groupOverrides

Overrides for specific groups. Group name is key.

problemOverrides

Overrides for specific problems. Problem letter is key.

scoreboardOverrides

Overrides of scoreboard calculation settings

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api.tunning/-advanced-properties/freeze-time.html b/docs/cds/cds/org.icpclive.api.tunning/-advanced-properties/freeze-time.html new file mode 100644 index 000000000..5b86afd8f --- /dev/null +++ b/docs/cds/cds/org.icpclive.api.tunning/-advanced-properties/freeze-time.html @@ -0,0 +1,72 @@ + + + + + freezeTime + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

freezeTime

+
+
@Serializable(with = DurationInSecondsSerializer::class)
val freezeTime: Duration? = null(source)

Parameters

freezeTime

Time from the start of the contest before scoreboard freezing.

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api.tunning/-advanced-properties/group-overrides.html b/docs/cds/cds/org.icpclive.api.tunning/-advanced-properties/group-overrides.html new file mode 100644 index 000000000..801c32098 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api.tunning/-advanced-properties/group-overrides.html @@ -0,0 +1,72 @@ + + + + + groupOverrides + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

groupOverrides

+
+

Parameters

groupOverrides

Overrides for specific groups. Group name is key.

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api.tunning/-advanced-properties/hold-time.html b/docs/cds/cds/org.icpclive.api.tunning/-advanced-properties/hold-time.html new file mode 100644 index 000000000..66de447c1 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api.tunning/-advanced-properties/hold-time.html @@ -0,0 +1,72 @@ + + + + + holdTime + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

holdTime

+
+
@Serializable(with = DurationInSecondsSerializer::class)
val holdTime: Duration? = null(source)

Parameters

holdTime

Fixed time to show as time before the contest start

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api.tunning/-advanced-properties/index.html b/docs/cds/cds/org.icpclive.api.tunning/-advanced-properties/index.html new file mode 100644 index 000000000..996998f09 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api.tunning/-advanced-properties/index.html @@ -0,0 +1,220 @@ + + + + + AdvancedProperties + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

AdvancedProperties

+
@Serializable
data class AdvancedProperties(val startTime: Instant? = null, val freezeTime: Duration? = null, val holdTime: Duration? = null, val teamMediaTemplate: Map<TeamMediaType, MediaType?>? = null, val teamOverrides: Map<String, TeamInfoOverride>? = null, val groupOverrides: Map<String, GroupInfoOverride>? = null, val problemOverrides: Map<String, ProblemInfoOverride>? = null, val scoreboardOverrides: RankingSettings? = null)(source)

This class represents possible overrides.

For most cases, all this information should be received from the contest system. Unfortunately, in the real world, it's not always possible, or information can be not fully correct on convenient to display.

This class contains the data to be fixed in what is received from a contest system.

Parameters

startTime

Override for contest start time. The preferred format is yyyy-mm-dd hh:mm:ss, but some others would be accepted too. It also affects contest state if overridden.

freezeTime

Time from the start of the contest before scoreboard freezing.

holdTime

Fixed time to show as time before the contest start

teamMediaTemplate

Template medias for all teams. One can use {teamId} inside, it would be replaced with team id from contest system.

teamOverrides

Overrides for specific teams. Team id from the contest system is key.

groupOverrides

Overrides for specific groups. Group name is key.

problemOverrides

Overrides for specific problems. Problem letter is key.

scoreboardOverrides

Overrides of scoreboard calculation settings

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(startTime: Instant? = null, freezeTime: Duration? = null, holdTime: Duration? = null, teamMediaTemplate: Map<TeamMediaType, MediaType?>? = null, teamOverrides: Map<String, TeamInfoOverride>? = null, groupOverrides: Map<String, GroupInfoOverride>? = null, problemOverrides: Map<String, ProblemInfoOverride>? = null, scoreboardOverrides: RankingSettings? = null)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = DurationInSecondsSerializer::class)
val freezeTime: Duration? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = DurationInSecondsSerializer::class)
val holdTime: Duration? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = HumanTimeSerializer::class)
val startTime: Instant? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api.tunning/-advanced-properties/problem-overrides.html b/docs/cds/cds/org.icpclive.api.tunning/-advanced-properties/problem-overrides.html new file mode 100644 index 000000000..79d530bab --- /dev/null +++ b/docs/cds/cds/org.icpclive.api.tunning/-advanced-properties/problem-overrides.html @@ -0,0 +1,72 @@ + + + + + problemOverrides + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

problemOverrides

+
+

Parameters

problemOverrides

Overrides for specific problems. Problem letter is key.

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api.tunning/-advanced-properties/scoreboard-overrides.html b/docs/cds/cds/org.icpclive.api.tunning/-advanced-properties/scoreboard-overrides.html new file mode 100644 index 000000000..003ac2bf3 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api.tunning/-advanced-properties/scoreboard-overrides.html @@ -0,0 +1,72 @@ + + + + + scoreboardOverrides + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

scoreboardOverrides

+
+

Parameters

scoreboardOverrides

Overrides of scoreboard calculation settings

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api.tunning/-advanced-properties/start-time.html b/docs/cds/cds/org.icpclive.api.tunning/-advanced-properties/start-time.html new file mode 100644 index 000000000..5201d7535 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api.tunning/-advanced-properties/start-time.html @@ -0,0 +1,72 @@ + + + + + startTime + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

startTime

+
+
@Serializable(with = HumanTimeSerializer::class)
val startTime: Instant? = null(source)

Parameters

startTime

Override for contest start time. The preferred format is yyyy-mm-dd hh:mm:ss, but some others would be accepted too. It also affects contest state if overridden.

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api.tunning/-advanced-properties/team-media-template.html b/docs/cds/cds/org.icpclive.api.tunning/-advanced-properties/team-media-template.html new file mode 100644 index 000000000..cab229cc4 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api.tunning/-advanced-properties/team-media-template.html @@ -0,0 +1,72 @@ + + + + + teamMediaTemplate + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

teamMediaTemplate

+
+

Parameters

teamMediaTemplate

Template medias for all teams. One can use {teamId} inside, it would be replaced with team id from contest system.

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api.tunning/-advanced-properties/team-overrides.html b/docs/cds/cds/org.icpclive.api.tunning/-advanced-properties/team-overrides.html new file mode 100644 index 000000000..754bd1c22 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api.tunning/-advanced-properties/team-overrides.html @@ -0,0 +1,72 @@ + + + + + teamOverrides + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

teamOverrides

+
+

Parameters

teamOverrides

Overrides for specific teams. Team id from the contest system is key.

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api.tunning/-group-info-override/-group-info-override.html b/docs/cds/cds/org.icpclive.api.tunning/-group-info-override/-group-info-override.html new file mode 100644 index 000000000..64cbc4dca --- /dev/null +++ b/docs/cds/cds/org.icpclive.api.tunning/-group-info-override/-group-info-override.html @@ -0,0 +1,72 @@ + + + + + GroupInfoOverride + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

GroupInfoOverride

+
+
constructor(isHidden: Boolean? = null, isOutOfContest: Boolean? = null)(source)

Parameters

isHidden

Totally hide all teams from the group

isOutOfContest

Don't get rank in the scoreboard to all teams from the group

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api.tunning/-group-info-override/index.html b/docs/cds/cds/org.icpclive.api.tunning/-group-info-override/index.html new file mode 100644 index 000000000..22c214fad --- /dev/null +++ b/docs/cds/cds/org.icpclive.api.tunning/-group-info-override/index.html @@ -0,0 +1,130 @@ + + + + + GroupInfoOverride + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

GroupInfoOverride

+
@Serializable
data class GroupInfoOverride(val isHidden: Boolean? = null, val isOutOfContest: Boolean? = null)(source)

Parameters

isHidden

Totally hide all teams from the group

isOutOfContest

Don't get rank in the scoreboard to all teams from the group

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(isHidden: Boolean? = null, isOutOfContest: Boolean? = null)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val isHidden: Boolean? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val isOutOfContest: Boolean? = null
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api.tunning/-group-info-override/is-hidden.html b/docs/cds/cds/org.icpclive.api.tunning/-group-info-override/is-hidden.html new file mode 100644 index 000000000..f208d20b9 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api.tunning/-group-info-override/is-hidden.html @@ -0,0 +1,72 @@ + + + + + isHidden + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

isHidden

+
+
val isHidden: Boolean? = null(source)

Parameters

isHidden

Totally hide all teams from the group

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api.tunning/-group-info-override/is-out-of-contest.html b/docs/cds/cds/org.icpclive.api.tunning/-group-info-override/is-out-of-contest.html new file mode 100644 index 000000000..386c4b3bf --- /dev/null +++ b/docs/cds/cds/org.icpclive.api.tunning/-group-info-override/is-out-of-contest.html @@ -0,0 +1,72 @@ + + + + + isOutOfContest + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

isOutOfContest

+
+

Parameters

isOutOfContest

Don't get rank in the scoreboard to all teams from the group

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api.tunning/-problem-info-override/-problem-info-override.html b/docs/cds/cds/org.icpclive.api.tunning/-problem-info-override/-problem-info-override.html new file mode 100644 index 000000000..f843f1047 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api.tunning/-problem-info-override/-problem-info-override.html @@ -0,0 +1,72 @@ + + + + + ProblemInfoOverride + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ProblemInfoOverride

+
+
constructor(name: String? = null, color: Color? = null, minScore: Double? = null, maxScore: Double? = null, scoreMergeMode: ScoreMergeMode? = null)(source)

Parameters

name

Problem name.

color

Color of a problem balloon. It would be shown in queue and scoreboard in places related to the problem

minScore

In ioi mode minimal possible value of points in this problem

maxScore

In ioi mode maximal possible value of points in this problem

scoreMergeMode

In ioi mode, it determinate how final points for participant are calculated from points of many submissions.

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api.tunning/-problem-info-override/color.html b/docs/cds/cds/org.icpclive.api.tunning/-problem-info-override/color.html new file mode 100644 index 000000000..913602371 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api.tunning/-problem-info-override/color.html @@ -0,0 +1,72 @@ + + + + + color + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

color

+
+
@Serializable(with = ColorSerializer::class)
val color: Color? = null(source)

Parameters

color

Color of a problem balloon. It would be shown in queue and scoreboard in places related to the problem

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api.tunning/-problem-info-override/index.html b/docs/cds/cds/org.icpclive.api.tunning/-problem-info-override/index.html new file mode 100644 index 000000000..2b0f03e1e --- /dev/null +++ b/docs/cds/cds/org.icpclive.api.tunning/-problem-info-override/index.html @@ -0,0 +1,175 @@ + + + + + ProblemInfoOverride + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ProblemInfoOverride

+
@Serializable
data class ProblemInfoOverride(val name: String? = null, val color: Color? = null, val minScore: Double? = null, val maxScore: Double? = null, val scoreMergeMode: ScoreMergeMode? = null)(source)

Parameters

name

Problem name.

color

Color of a problem balloon. It would be shown in queue and scoreboard in places related to the problem

minScore

In ioi mode minimal possible value of points in this problem

maxScore

In ioi mode maximal possible value of points in this problem

scoreMergeMode

In ioi mode, it determinate how final points for participant are calculated from points of many submissions.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(name: String? = null, color: Color? = null, minScore: Double? = null, maxScore: Double? = null, scoreMergeMode: ScoreMergeMode? = null)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = ColorSerializer::class)
val color: Color? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val maxScore: Double? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val minScore: Double? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val name: String? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api.tunning/-problem-info-override/max-score.html b/docs/cds/cds/org.icpclive.api.tunning/-problem-info-override/max-score.html new file mode 100644 index 000000000..9be9ff2dd --- /dev/null +++ b/docs/cds/cds/org.icpclive.api.tunning/-problem-info-override/max-score.html @@ -0,0 +1,72 @@ + + + + + maxScore + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

maxScore

+
+
val maxScore: Double? = null(source)

Parameters

maxScore

In ioi mode maximal possible value of points in this problem

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api.tunning/-problem-info-override/min-score.html b/docs/cds/cds/org.icpclive.api.tunning/-problem-info-override/min-score.html new file mode 100644 index 000000000..6df4c4984 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api.tunning/-problem-info-override/min-score.html @@ -0,0 +1,72 @@ + + + + + minScore + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

minScore

+
+
val minScore: Double? = null(source)

Parameters

minScore

In ioi mode minimal possible value of points in this problem

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api.tunning/-problem-info-override/name.html b/docs/cds/cds/org.icpclive.api.tunning/-problem-info-override/name.html new file mode 100644 index 000000000..cfb91da88 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api.tunning/-problem-info-override/name.html @@ -0,0 +1,72 @@ + + + + + name + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

name

+
+
val name: String? = null(source)

Parameters

name

Problem name.

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api.tunning/-problem-info-override/score-merge-mode.html b/docs/cds/cds/org.icpclive.api.tunning/-problem-info-override/score-merge-mode.html new file mode 100644 index 000000000..e2cefca70 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api.tunning/-problem-info-override/score-merge-mode.html @@ -0,0 +1,72 @@ + + + + + scoreMergeMode + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

scoreMergeMode

+
+

Parameters

scoreMergeMode

In ioi mode, it determinate how final points for participant are calculated from points of many submissions.

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api.tunning/-ranking-settings/-ranking-settings.html b/docs/cds/cds/org.icpclive.api.tunning/-ranking-settings/-ranking-settings.html new file mode 100644 index 000000000..b61239c62 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api.tunning/-ranking-settings/-ranking-settings.html @@ -0,0 +1,72 @@ + + + + + RankingSettings + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

RankingSettings

+
+
constructor(medals: List<MedalType>? = null, penaltyPerWrongAttempt: Duration? = null, showTeamsWithoutSubmissions: Boolean? = null, penaltyRoundingMode: PenaltyRoundingMode? = null)(source)

Parameters

medals

List of awarded medals. They would be allocated in given order, according to rules specified in MedalType

penaltyPerWrongAttempt

How many penalty minutes should be added to a team for a wrong attempt

showTeamsWithoutSubmissions

If true, teams without submissions would be automatically hidden

penaltyRoundingMode

Specify rules of how total penalty is calculated based on many submissions

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api.tunning/-ranking-settings/index.html b/docs/cds/cds/org.icpclive.api.tunning/-ranking-settings/index.html new file mode 100644 index 000000000..fb56cb3b2 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api.tunning/-ranking-settings/index.html @@ -0,0 +1,160 @@ + + + + + RankingSettings + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

RankingSettings

+
@Serializable
class RankingSettings(val medals: List<MedalType>? = null, val penaltyPerWrongAttempt: Duration? = null, val showTeamsWithoutSubmissions: Boolean? = null, val penaltyRoundingMode: PenaltyRoundingMode? = null)(source)

Parameters

medals

List of awarded medals. They would be allocated in given order, according to rules specified in MedalType

penaltyPerWrongAttempt

How many penalty minutes should be added to a team for a wrong attempt

showTeamsWithoutSubmissions

If true, teams without submissions would be automatically hidden

penaltyRoundingMode

Specify rules of how total penalty is calculated based on many submissions

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(medals: List<MedalType>? = null, penaltyPerWrongAttempt: Duration? = null, showTeamsWithoutSubmissions: Boolean? = null, penaltyRoundingMode: PenaltyRoundingMode? = null)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val medals: List<MedalType>? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = DurationInMinutesSerializer::class)
val penaltyPerWrongAttempt: Duration? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api.tunning/-ranking-settings/medals.html b/docs/cds/cds/org.icpclive.api.tunning/-ranking-settings/medals.html new file mode 100644 index 000000000..4f799e2ec --- /dev/null +++ b/docs/cds/cds/org.icpclive.api.tunning/-ranking-settings/medals.html @@ -0,0 +1,72 @@ + + + + + medals + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

medals

+
+
val medals: List<MedalType>? = null(source)

Parameters

medals

List of awarded medals. They would be allocated in given order, according to rules specified in MedalType

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api.tunning/-ranking-settings/penalty-per-wrong-attempt.html b/docs/cds/cds/org.icpclive.api.tunning/-ranking-settings/penalty-per-wrong-attempt.html new file mode 100644 index 000000000..cdc350830 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api.tunning/-ranking-settings/penalty-per-wrong-attempt.html @@ -0,0 +1,72 @@ + + + + + penaltyPerWrongAttempt + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

penaltyPerWrongAttempt

+
+
@Serializable(with = DurationInMinutesSerializer::class)
val penaltyPerWrongAttempt: Duration? = null(source)

Parameters

penaltyPerWrongAttempt

How many penalty minutes should be added to a team for a wrong attempt

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api.tunning/-ranking-settings/penalty-rounding-mode.html b/docs/cds/cds/org.icpclive.api.tunning/-ranking-settings/penalty-rounding-mode.html new file mode 100644 index 000000000..75a6ba39f --- /dev/null +++ b/docs/cds/cds/org.icpclive.api.tunning/-ranking-settings/penalty-rounding-mode.html @@ -0,0 +1,72 @@ + + + + + penaltyRoundingMode + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

penaltyRoundingMode

+
+

Parameters

penaltyRoundingMode

Specify rules of how total penalty is calculated based on many submissions

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api.tunning/-ranking-settings/show-teams-without-submissions.html b/docs/cds/cds/org.icpclive.api.tunning/-ranking-settings/show-teams-without-submissions.html new file mode 100644 index 000000000..4a02d0977 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api.tunning/-ranking-settings/show-teams-without-submissions.html @@ -0,0 +1,72 @@ + + + + + showTeamsWithoutSubmissions + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

showTeamsWithoutSubmissions

+
+

Parameters

showTeamsWithoutSubmissions

If true, teams without submissions would be automatically hidden

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api.tunning/-team-info-override/-team-info-override.html b/docs/cds/cds/org.icpclive.api.tunning/-team-info-override/-team-info-override.html new file mode 100644 index 000000000..6ccabab5f --- /dev/null +++ b/docs/cds/cds/org.icpclive.api.tunning/-team-info-override/-team-info-override.html @@ -0,0 +1,72 @@ + + + + + TeamInfoOverride + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

TeamInfoOverride

+
+
constructor(name: String? = null, shortname: String? = null, groups: List<String>? = null, hashTag: String? = null, medias: Map<TeamMediaType, MediaType?>? = null, additionalInfo: String? = null, isHidden: Boolean? = null, isOutOfContest: Boolean? = null)(source)

Parameters

name

Full name of the team. Will be mostly shown on admin pages.

shortname

Name of the team shown in most places.

groups

The list of the groups team belongs too.

hashTag

Team hashtag. Can be shown on some team related pages

medias

Map of urls to team related medias. E.g., team photo or some kind of video from workstation. If media is explicitly set to null, it would be removed if received from a contest system.

additionalInfo
isHidden

If set to true, team would be totaly hidden.

isOutOfContest

If set to true, team would not recieve rank in scoreboard, but it's submission would still be shown.

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api.tunning/-team-info-override/additional-info.html b/docs/cds/cds/org.icpclive.api.tunning/-team-info-override/additional-info.html new file mode 100644 index 000000000..a5220b708 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api.tunning/-team-info-override/additional-info.html @@ -0,0 +1,72 @@ + + + + + additionalInfo + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

additionalInfo

+
+

Parameters

additionalInfo
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api.tunning/-team-info-override/groups.html b/docs/cds/cds/org.icpclive.api.tunning/-team-info-override/groups.html new file mode 100644 index 000000000..ff789b8c6 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api.tunning/-team-info-override/groups.html @@ -0,0 +1,72 @@ + + + + + groups + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

groups

+
+
val groups: List<String>? = null(source)

Parameters

groups

The list of the groups team belongs too.

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api.tunning/-team-info-override/hash-tag.html b/docs/cds/cds/org.icpclive.api.tunning/-team-info-override/hash-tag.html new file mode 100644 index 000000000..033eeab19 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api.tunning/-team-info-override/hash-tag.html @@ -0,0 +1,72 @@ + + + + + hashTag + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

hashTag

+
+
val hashTag: String? = null(source)

Parameters

hashTag

Team hashtag. Can be shown on some team related pages

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api.tunning/-team-info-override/index.html b/docs/cds/cds/org.icpclive.api.tunning/-team-info-override/index.html new file mode 100644 index 000000000..663852480 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api.tunning/-team-info-override/index.html @@ -0,0 +1,220 @@ + + + + + TeamInfoOverride + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

TeamInfoOverride

+
@Serializable
data class TeamInfoOverride(val name: String? = null, val shortname: String? = null, val groups: List<String>? = null, val hashTag: String? = null, val medias: Map<TeamMediaType, MediaType?>? = null, val additionalInfo: String? = null, val isHidden: Boolean? = null, val isOutOfContest: Boolean? = null)(source)

Parameters

name

Full name of the team. Will be mostly shown on admin pages.

shortname

Name of the team shown in most places.

groups

The list of the groups team belongs too.

hashTag

Team hashtag. Can be shown on some team related pages

medias

Map of urls to team related medias. E.g., team photo or some kind of video from workstation. If media is explicitly set to null, it would be removed if received from a contest system.

additionalInfo
isHidden

If set to true, team would be totaly hidden.

isOutOfContest

If set to true, team would not recieve rank in scoreboard, but it's submission would still be shown.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(name: String? = null, shortname: String? = null, groups: List<String>? = null, hashTag: String? = null, medias: Map<TeamMediaType, MediaType?>? = null, additionalInfo: String? = null, isHidden: Boolean? = null, isOutOfContest: Boolean? = null)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val additionalInfo: String? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val groups: List<String>? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val hashTag: String? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val isHidden: Boolean? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val isOutOfContest: Boolean? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val name: String? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val shortname: String? = null
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api.tunning/-team-info-override/is-hidden.html b/docs/cds/cds/org.icpclive.api.tunning/-team-info-override/is-hidden.html new file mode 100644 index 000000000..7f93d6c86 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api.tunning/-team-info-override/is-hidden.html @@ -0,0 +1,72 @@ + + + + + isHidden + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

isHidden

+
+
val isHidden: Boolean? = null(source)

Parameters

isHidden

If set to true, team would be totaly hidden.

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api.tunning/-team-info-override/is-out-of-contest.html b/docs/cds/cds/org.icpclive.api.tunning/-team-info-override/is-out-of-contest.html new file mode 100644 index 000000000..9ddfb3a36 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api.tunning/-team-info-override/is-out-of-contest.html @@ -0,0 +1,72 @@ + + + + + isOutOfContest + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

isOutOfContest

+
+

Parameters

isOutOfContest

If set to true, team would not recieve rank in scoreboard, but it's submission would still be shown.

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api.tunning/-team-info-override/medias.html b/docs/cds/cds/org.icpclive.api.tunning/-team-info-override/medias.html new file mode 100644 index 000000000..6d81fa6f8 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api.tunning/-team-info-override/medias.html @@ -0,0 +1,72 @@ + + + + + medias + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

medias

+
+

Parameters

medias

Map of urls to team related medias. E.g., team photo or some kind of video from workstation. If media is explicitly set to null, it would be removed if received from a contest system.

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api.tunning/-team-info-override/name.html b/docs/cds/cds/org.icpclive.api.tunning/-team-info-override/name.html new file mode 100644 index 000000000..4d28cea0f --- /dev/null +++ b/docs/cds/cds/org.icpclive.api.tunning/-team-info-override/name.html @@ -0,0 +1,72 @@ + + + + + name + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

name

+
+
val name: String? = null(source)

Parameters

name

Full name of the team. Will be mostly shown on admin pages.

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api.tunning/-team-info-override/shortname.html b/docs/cds/cds/org.icpclive.api.tunning/-team-info-override/shortname.html new file mode 100644 index 000000000..9d49d77b9 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api.tunning/-team-info-override/shortname.html @@ -0,0 +1,72 @@ + + + + + shortname + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

shortname

+
+
val shortname: String? = null(source)

Parameters

shortname

Name of the team shown in most places.

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api.tunning/index.html b/docs/cds/cds/org.icpclive.api.tunning/index.html new file mode 100644 index 000000000..3dff6a527 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api.tunning/index.html @@ -0,0 +1,174 @@ + + + + + org.icpclive.api.tunning + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Package-level declarations

+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class AdvancedProperties(val startTime: Instant? = null, val freezeTime: Duration? = null, val holdTime: Duration? = null, val teamMediaTemplate: Map<TeamMediaType, MediaType?>? = null, val teamOverrides: Map<String, TeamInfoOverride>? = null, val groupOverrides: Map<String, GroupInfoOverride>? = null, val problemOverrides: Map<String, ProblemInfoOverride>? = null, val scoreboardOverrides: RankingSettings? = null)

This class represents possible overrides.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class GroupInfoOverride(val isHidden: Boolean? = null, val isOutOfContest: Boolean? = null)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class ProblemInfoOverride(val name: String? = null, val color: Color? = null, val minScore: Double? = null, val maxScore: Double? = null, val scoreMergeMode: ScoreMergeMode? = null)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
class RankingSettings(val medals: List<MedalType>? = null, val penaltyPerWrongAttempt: Duration? = null, val showTeamsWithoutSubmissions: Boolean? = null, val penaltyRoundingMode: PenaltyRoundingMode? = null)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class TeamInfoOverride(val name: String? = null, val shortname: String? = null, val groups: List<String>? = null, val hashTag: String? = null, val medias: Map<TeamMediaType, MediaType?>? = null, val additionalInfo: String? = null, val isHidden: Boolean? = null, val isOutOfContest: Boolean? = null)
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Converts values in ContestInfo to overrides in [AdvancedProperties

+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api.tunning/to-advanced-properties.html b/docs/cds/cds/org.icpclive.api.tunning/to-advanced-properties.html new file mode 100644 index 000000000..adb32707e --- /dev/null +++ b/docs/cds/cds/org.icpclive.api.tunning/to-advanced-properties.html @@ -0,0 +1,72 @@ + + + + + toAdvancedProperties + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toAdvancedProperties

+
+

Converts values in ContestInfo to overrides in [AdvancedProperties

Parameters

fields

set of fields to include in returned value. Other would be set to null

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-advanced-properties/-advanced-properties.html b/docs/cds/cds/org.icpclive.api/-advanced-properties/-advanced-properties.html new file mode 100644 index 000000000..693a7e25d --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-advanced-properties/-advanced-properties.html @@ -0,0 +1,72 @@ + + + + + AdvancedProperties + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

AdvancedProperties

+
+
constructor(startTime: Instant? = null, freezeTime: Duration? = null, holdTime: Duration? = null, teamMediaTemplate: Map<TeamMediaType, MediaType?>? = null, teamOverrides: Map<String, TeamInfoOverride>? = null, groupOverrides: Map<String, GroupInfoOverride>? = null, problemOverrides: Map<String, ProblemInfoOverride>? = null, scoreboardOverrides: RankingSettings? = null)(source)

Parameters

startTime

Override for contest start time. The preferred format is yyyy-mm-dd hh:mm:ss, but some others would be accepted too. It also affects contest state if overridden.

freezeTime

Time from the start of the contest before scoreboard freezing.

holdTime

Fixed time to show as time before the contest start

teamMediaTemplate

Template medias for all teams. One can use {teamId} inside, it would be replaced with team id from contest system.

teamOverrides

Overrides for specific teams. Team id from the contest system is key.

groupOverrides

Overrides for specific groups. Group name is key.

problemOverrides

Overrides for specific problems. Problem letter is key.

scoreboardOverrides

Overrides of scoreboard calculation settings

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-advanced-properties/freeze-time.html b/docs/cds/cds/org.icpclive.api/-advanced-properties/freeze-time.html new file mode 100644 index 000000000..d37f9aa08 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-advanced-properties/freeze-time.html @@ -0,0 +1,72 @@ + + + + + freezeTime + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

freezeTime

+
+
@Serializable(with = DurationInSecondsSerializer::class)
val freezeTime: Duration? = null(source)

Parameters

freezeTime

Time from the start of the contest before scoreboard freezing.

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-advanced-properties/group-overrides.html b/docs/cds/cds/org.icpclive.api/-advanced-properties/group-overrides.html new file mode 100644 index 000000000..0fd4e6591 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-advanced-properties/group-overrides.html @@ -0,0 +1,72 @@ + + + + + groupOverrides + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

groupOverrides

+
+

Parameters

groupOverrides

Overrides for specific groups. Group name is key.

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-advanced-properties/hold-time.html b/docs/cds/cds/org.icpclive.api/-advanced-properties/hold-time.html new file mode 100644 index 000000000..362a18cdc --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-advanced-properties/hold-time.html @@ -0,0 +1,72 @@ + + + + + holdTime + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

holdTime

+
+
@Serializable(with = DurationInSecondsSerializer::class)
val holdTime: Duration? = null(source)

Parameters

holdTime

Fixed time to show as time before the contest start

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-advanced-properties/index.html b/docs/cds/cds/org.icpclive.api/-advanced-properties/index.html new file mode 100644 index 000000000..e65b4b680 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-advanced-properties/index.html @@ -0,0 +1,220 @@ + + + + + AdvancedProperties + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

AdvancedProperties

+
@Serializable
data class AdvancedProperties(val startTime: Instant? = null, val freezeTime: Duration? = null, val holdTime: Duration? = null, val teamMediaTemplate: Map<TeamMediaType, MediaType?>? = null, val teamOverrides: Map<String, TeamInfoOverride>? = null, val groupOverrides: Map<String, GroupInfoOverride>? = null, val problemOverrides: Map<String, ProblemInfoOverride>? = null, val scoreboardOverrides: RankingSettings? = null)(source)

This class represents possible overrides.

For most cases, all this information should be received from the contest system. Unfortunately, in the real world, it's not always possible, or information can be not fully correct on convenient to display.

This class contains the data to be fixed in what is received from a contest system.

Parameters

startTime

Override for contest start time. The preferred format is yyyy-mm-dd hh:mm:ss, but some others would be accepted too. It also affects contest state if overridden.

freezeTime

Time from the start of the contest before scoreboard freezing.

holdTime

Fixed time to show as time before the contest start

teamMediaTemplate

Template medias for all teams. One can use {teamId} inside, it would be replaced with team id from contest system.

teamOverrides

Overrides for specific teams. Team id from the contest system is key.

groupOverrides

Overrides for specific groups. Group name is key.

problemOverrides

Overrides for specific problems. Problem letter is key.

scoreboardOverrides

Overrides of scoreboard calculation settings

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(startTime: Instant? = null, freezeTime: Duration? = null, holdTime: Duration? = null, teamMediaTemplate: Map<TeamMediaType, MediaType?>? = null, teamOverrides: Map<String, TeamInfoOverride>? = null, groupOverrides: Map<String, GroupInfoOverride>? = null, problemOverrides: Map<String, ProblemInfoOverride>? = null, scoreboardOverrides: RankingSettings? = null)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = DurationInSecondsSerializer::class)
val freezeTime: Duration? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = DurationInSecondsSerializer::class)
val holdTime: Duration? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = HumanTimeSerializer::class)
val startTime: Instant? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-advanced-properties/problem-overrides.html b/docs/cds/cds/org.icpclive.api/-advanced-properties/problem-overrides.html new file mode 100644 index 000000000..412c404cd --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-advanced-properties/problem-overrides.html @@ -0,0 +1,72 @@ + + + + + problemOverrides + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

problemOverrides

+
+

Parameters

problemOverrides

Overrides for specific problems. Problem letter is key.

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-advanced-properties/scoreboard-overrides.html b/docs/cds/cds/org.icpclive.api/-advanced-properties/scoreboard-overrides.html new file mode 100644 index 000000000..11bad6817 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-advanced-properties/scoreboard-overrides.html @@ -0,0 +1,72 @@ + + + + + scoreboardOverrides + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

scoreboardOverrides

+
+

Parameters

scoreboardOverrides

Overrides of scoreboard calculation settings

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-advanced-properties/start-time.html b/docs/cds/cds/org.icpclive.api/-advanced-properties/start-time.html new file mode 100644 index 000000000..437a03db0 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-advanced-properties/start-time.html @@ -0,0 +1,72 @@ + + + + + startTime + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

startTime

+
+
@Serializable(with = HumanTimeSerializer::class)
val startTime: Instant? = null(source)

Parameters

startTime

Override for contest start time. The preferred format is yyyy-mm-dd hh:mm:ss, but some others would be accepted too. It also affects contest state if overridden.

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-advanced-properties/team-media-template.html b/docs/cds/cds/org.icpclive.api/-advanced-properties/team-media-template.html new file mode 100644 index 000000000..a7f763a85 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-advanced-properties/team-media-template.html @@ -0,0 +1,72 @@ + + + + + teamMediaTemplate + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

teamMediaTemplate

+
+

Parameters

teamMediaTemplate

Template medias for all teams. One can use {teamId} inside, it would be replaced with team id from contest system.

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-advanced-properties/team-overrides.html b/docs/cds/cds/org.icpclive.api/-advanced-properties/team-overrides.html new file mode 100644 index 000000000..74f989a7e --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-advanced-properties/team-overrides.html @@ -0,0 +1,72 @@ + + + + + teamOverrides + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

teamOverrides

+
+

Parameters

teamOverrides

Overrides for specific teams. Team id from the contest system is key.

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-analytics-commentary-event/-analytics-commentary-event.html b/docs/cds/cds/org.icpclive.api/-analytics-commentary-event/-analytics-commentary-event.html new file mode 100644 index 000000000..42ca9eca0 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-analytics-commentary-event/-analytics-commentary-event.html @@ -0,0 +1,72 @@ + + + + + AnalyticsCommentaryEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

AnalyticsCommentaryEvent

+
+
constructor(id: String, message: String, time: Instant, relativeTime: Duration, teamIds: List<Int>, runIds: List<Int>, priority: Int = 0, tags: List<String> = emptyList(), advertisement: AnalyticsCompanionPreset? = null, tickerMessage: AnalyticsCompanionPreset? = null, featuredRun: AnalyticsCompanionRun? = null)(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-analytics-commentary-event/advertisement.html b/docs/cds/cds/org.icpclive.api/-analytics-commentary-event/advertisement.html new file mode 100644 index 000000000..fa68d02d6 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-analytics-commentary-event/advertisement.html @@ -0,0 +1,72 @@ + + + + + advertisement + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

advertisement

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-analytics-commentary-event/featured-run.html b/docs/cds/cds/org.icpclive.api/-analytics-commentary-event/featured-run.html new file mode 100644 index 000000000..5cfc871c9 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-analytics-commentary-event/featured-run.html @@ -0,0 +1,72 @@ + + + + + featuredRun + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

featuredRun

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-analytics-commentary-event/id.html b/docs/cds/cds/org.icpclive.api/-analytics-commentary-event/id.html new file mode 100644 index 000000000..fdfa8bb01 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-analytics-commentary-event/id.html @@ -0,0 +1,72 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
open override val id: String(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-analytics-commentary-event/index.html b/docs/cds/cds/org.icpclive.api/-analytics-commentary-event/index.html new file mode 100644 index 000000000..7bd3f5cb7 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-analytics-commentary-event/index.html @@ -0,0 +1,265 @@ + + + + + AnalyticsCommentaryEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

AnalyticsCommentaryEvent

+
@Serializable
data class AnalyticsCommentaryEvent(val id: String, val message: String, val time: Instant, val relativeTime: Duration, val teamIds: List<Int>, val runIds: List<Int>, val priority: Int = 0, val tags: List<String> = emptyList(), val advertisement: AnalyticsCompanionPreset? = null, val tickerMessage: AnalyticsCompanionPreset? = null, val featuredRun: AnalyticsCompanionRun? = null) : AnalyticsMessage(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(id: String, message: String, time: Instant, relativeTime: Duration, teamIds: List<Int>, runIds: List<Int>, priority: Int = 0, tags: List<String> = emptyList(), advertisement: AnalyticsCompanionPreset? = null, tickerMessage: AnalyticsCompanionPreset? = null, featuredRun: AnalyticsCompanionRun? = null)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val id: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val priority: Int = 0
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = DurationInMillisecondsSerializer::class)
open override val relativeTime: Duration
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = UnixMillisecondsSerializer::class)
open override val time: Instant
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-analytics-commentary-event/message.html b/docs/cds/cds/org.icpclive.api/-analytics-commentary-event/message.html new file mode 100644 index 000000000..60cc83efb --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-analytics-commentary-event/message.html @@ -0,0 +1,72 @@ + + + + + message + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

message

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-analytics-commentary-event/priority.html b/docs/cds/cds/org.icpclive.api/-analytics-commentary-event/priority.html new file mode 100644 index 000000000..30cbed40b --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-analytics-commentary-event/priority.html @@ -0,0 +1,72 @@ + + + + + priority + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

priority

+
+
val priority: Int = 0(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-analytics-commentary-event/relative-time.html b/docs/cds/cds/org.icpclive.api/-analytics-commentary-event/relative-time.html new file mode 100644 index 000000000..b050e8547 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-analytics-commentary-event/relative-time.html @@ -0,0 +1,72 @@ + + + + + relativeTime + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

relativeTime

+
+
@Serializable(with = DurationInMillisecondsSerializer::class)
open override val relativeTime: Duration(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-analytics-commentary-event/run-ids.html b/docs/cds/cds/org.icpclive.api/-analytics-commentary-event/run-ids.html new file mode 100644 index 000000000..d49989f92 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-analytics-commentary-event/run-ids.html @@ -0,0 +1,72 @@ + + + + + runIds + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

runIds

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-analytics-commentary-event/tags.html b/docs/cds/cds/org.icpclive.api/-analytics-commentary-event/tags.html new file mode 100644 index 000000000..e82d810d5 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-analytics-commentary-event/tags.html @@ -0,0 +1,72 @@ + + + + + tags + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

tags

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-analytics-commentary-event/team-ids.html b/docs/cds/cds/org.icpclive.api/-analytics-commentary-event/team-ids.html new file mode 100644 index 000000000..253e8d012 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-analytics-commentary-event/team-ids.html @@ -0,0 +1,72 @@ + + + + + teamIds + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

teamIds

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-analytics-commentary-event/ticker-message.html b/docs/cds/cds/org.icpclive.api/-analytics-commentary-event/ticker-message.html new file mode 100644 index 000000000..fbcfbc885 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-analytics-commentary-event/ticker-message.html @@ -0,0 +1,72 @@ + + + + + tickerMessage + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

tickerMessage

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-analytics-commentary-event/time.html b/docs/cds/cds/org.icpclive.api/-analytics-commentary-event/time.html new file mode 100644 index 000000000..55e1f1d7a --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-analytics-commentary-event/time.html @@ -0,0 +1,72 @@ + + + + + time + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

time

+
+
@Serializable(with = UnixMillisecondsSerializer::class)
open override val time: Instant(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-analytics-companion-preset/-analytics-companion-preset.html b/docs/cds/cds/org.icpclive.api/-analytics-companion-preset/-analytics-companion-preset.html new file mode 100644 index 000000000..772a15ff5 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-analytics-companion-preset/-analytics-companion-preset.html @@ -0,0 +1,72 @@ + + + + + AnalyticsCompanionPreset + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

AnalyticsCompanionPreset

+
+
constructor(presetId: Int, expirationTime: Instant?)(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-analytics-companion-preset/expiration-time.html b/docs/cds/cds/org.icpclive.api/-analytics-companion-preset/expiration-time.html new file mode 100644 index 000000000..d8e98ade7 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-analytics-companion-preset/expiration-time.html @@ -0,0 +1,72 @@ + + + + + expirationTime + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

expirationTime

+
+
@Serializable(with = UnixMillisecondsSerializer::class)
val expirationTime: Instant?(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-analytics-companion-preset/index.html b/docs/cds/cds/org.icpclive.api/-analytics-companion-preset/index.html new file mode 100644 index 000000000..9e7a2783d --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-analytics-companion-preset/index.html @@ -0,0 +1,130 @@ + + + + + AnalyticsCompanionPreset + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

AnalyticsCompanionPreset

+
@Serializable
data class AnalyticsCompanionPreset(val presetId: Int, val expirationTime: Instant?)(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(presetId: Int, expirationTime: Instant?)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = UnixMillisecondsSerializer::class)
val expirationTime: Instant?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-analytics-companion-preset/preset-id.html b/docs/cds/cds/org.icpclive.api/-analytics-companion-preset/preset-id.html new file mode 100644 index 000000000..0db14ac59 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-analytics-companion-preset/preset-id.html @@ -0,0 +1,72 @@ + + + + + presetId + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

presetId

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-analytics-companion-run/-analytics-companion-run.html b/docs/cds/cds/org.icpclive.api/-analytics-companion-run/-analytics-companion-run.html new file mode 100644 index 000000000..036001957 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-analytics-companion-run/-analytics-companion-run.html @@ -0,0 +1,72 @@ + + + + + AnalyticsCompanionRun + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

AnalyticsCompanionRun

+
+
constructor(expirationTime: Instant?, mediaType: MediaType)(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-analytics-companion-run/expiration-time.html b/docs/cds/cds/org.icpclive.api/-analytics-companion-run/expiration-time.html new file mode 100644 index 000000000..818181c31 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-analytics-companion-run/expiration-time.html @@ -0,0 +1,72 @@ + + + + + expirationTime + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

expirationTime

+
+
@Serializable(with = UnixMillisecondsSerializer::class)
val expirationTime: Instant?(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-analytics-companion-run/index.html b/docs/cds/cds/org.icpclive.api/-analytics-companion-run/index.html new file mode 100644 index 000000000..9dcd84b43 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-analytics-companion-run/index.html @@ -0,0 +1,130 @@ + + + + + AnalyticsCompanionRun + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

AnalyticsCompanionRun

+
@Serializable
data class AnalyticsCompanionRun(val expirationTime: Instant?, val mediaType: MediaType)(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(expirationTime: Instant?, mediaType: MediaType)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = UnixMillisecondsSerializer::class)
val expirationTime: Instant?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-analytics-companion-run/media-type.html b/docs/cds/cds/org.icpclive.api/-analytics-companion-run/media-type.html new file mode 100644 index 000000000..6d3b9e444 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-analytics-companion-run/media-type.html @@ -0,0 +1,72 @@ + + + + + mediaType + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

mediaType

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-analytics-message/id.html b/docs/cds/cds/org.icpclive.api/-analytics-message/id.html new file mode 100644 index 000000000..6069290da --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-analytics-message/id.html @@ -0,0 +1,72 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
abstract val id: String(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-analytics-message/index.html b/docs/cds/cds/org.icpclive.api/-analytics-message/index.html new file mode 100644 index 000000000..000773539 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-analytics-message/index.html @@ -0,0 +1,126 @@ + + + + + AnalyticsMessage + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

AnalyticsMessage

+
@Serializable
sealed class AnalyticsMessage(source)

Inheritors

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val id: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val relativeTime: Duration
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val time: Instant
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-analytics-message/relative-time.html b/docs/cds/cds/org.icpclive.api/-analytics-message/relative-time.html new file mode 100644 index 000000000..02d41dd3e --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-analytics-message/relative-time.html @@ -0,0 +1,72 @@ + + + + + relativeTime + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

relativeTime

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-analytics-message/time.html b/docs/cds/cds/org.icpclive.api/-analytics-message/time.html new file mode 100644 index 000000000..0b84ec990 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-analytics-message/time.html @@ -0,0 +1,72 @@ + + + + + time + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

time

+
+
abstract val time: Instant(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-contest-info/-contest-info.html b/docs/cds/cds/org.icpclive.api/-contest-info/-contest-info.html new file mode 100644 index 000000000..3b65c9f1f --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-contest-info/-contest-info.html @@ -0,0 +1,72 @@ + + + + + ContestInfo + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ContestInfo

+
+
constructor(name: String, status: ContestStatus, resultType: ContestResultType, startTime: Instant, contestLength: Duration, freezeTime: Duration, problems: List<ProblemInfo>, teams: List<TeamInfo>, groups: List<GroupInfo>, penaltyRoundingMode: PenaltyRoundingMode, holdBeforeStartTime: Duration? = null, emulationSpeed: Double = 1.0, medals: List<MedalType> = emptyList(), penaltyPerWrongAttempt: Duration = 20.minutes)(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-contest-info/contest-length.html b/docs/cds/cds/org.icpclive.api/-contest-info/contest-length.html new file mode 100644 index 000000000..3aeedd795 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-contest-info/contest-length.html @@ -0,0 +1,72 @@ + + + + + contestLength + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

contestLength

+
+
@Serializable(with = DurationInMillisecondsSerializer::class)
val contestLength: Duration(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-contest-info/current-contest-time.html b/docs/cds/cds/org.icpclive.api/-contest-info/current-contest-time.html new file mode 100644 index 000000000..b1ee9d9ea --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-contest-info/current-contest-time.html @@ -0,0 +1,72 @@ + + + + + currentContestTime + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

currentContestTime

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-contest-info/emulation-speed.html b/docs/cds/cds/org.icpclive.api/-contest-info/emulation-speed.html new file mode 100644 index 000000000..b1b904594 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-contest-info/emulation-speed.html @@ -0,0 +1,72 @@ + + + + + emulationSpeed + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

emulationSpeed

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-contest-info/freeze-time.html b/docs/cds/cds/org.icpclive.api/-contest-info/freeze-time.html new file mode 100644 index 000000000..557b89a3f --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-contest-info/freeze-time.html @@ -0,0 +1,72 @@ + + + + + freezeTime + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

freezeTime

+
+
@Serializable(with = DurationInMillisecondsSerializer::class)
val freezeTime: Duration(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-contest-info/group-by-id.html b/docs/cds/cds/org.icpclive.api/-contest-info/group-by-id.html new file mode 100644 index 000000000..febd3a51d --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-contest-info/group-by-id.html @@ -0,0 +1,72 @@ + + + + + groupById + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

groupById

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-contest-info/groups.html b/docs/cds/cds/org.icpclive.api/-contest-info/groups.html new file mode 100644 index 000000000..b0ba9f4ff --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-contest-info/groups.html @@ -0,0 +1,72 @@ + + + + + groups + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

groups

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-contest-info/hold-before-start-time.html b/docs/cds/cds/org.icpclive.api/-contest-info/hold-before-start-time.html new file mode 100644 index 000000000..a50819db6 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-contest-info/hold-before-start-time.html @@ -0,0 +1,72 @@ + + + + + holdBeforeStartTime + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

holdBeforeStartTime

+
+
@Serializable(with = DurationInMillisecondsSerializer::class)
val holdBeforeStartTime: Duration? = null(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-contest-info/index.html b/docs/cds/cds/org.icpclive.api/-contest-info/index.html new file mode 100644 index 000000000..e61a665d3 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-contest-info/index.html @@ -0,0 +1,359 @@ + + + + + ContestInfo + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ContestInfo

+
@Serializable
data class ContestInfo(val name: String, val status: ContestStatus, val resultType: ContestResultType, val startTime: Instant, val contestLength: Duration, val freezeTime: Duration, val problems: List<ProblemInfo>, val teams: List<TeamInfo>, val groups: List<GroupInfo>, val penaltyRoundingMode: PenaltyRoundingMode, val holdBeforeStartTime: Duration? = null, val emulationSpeed: Double = 1.0, val medals: List<MedalType> = emptyList(), val penaltyPerWrongAttempt: Duration = 20.minutes)(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(name: String, status: ContestStatus, resultType: ContestResultType, startTime: Instant, contestLength: Duration, freezeTime: Duration, problems: List<ProblemInfo>, teams: List<TeamInfo>, groups: List<GroupInfo>, penaltyRoundingMode: PenaltyRoundingMode, holdBeforeStartTime: Duration? = null, emulationSpeed: Double = 1.0, medals: List<MedalType> = emptyList(), penaltyPerWrongAttempt: Duration = 20.minutes)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = DurationInMillisecondsSerializer::class)
val contestLength: Duration
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = DurationInMillisecondsSerializer::class)
val freezeTime: Duration
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = DurationInMillisecondsSerializer::class)
val holdBeforeStartTime: Duration? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = UnixMillisecondsSerializer::class)
val startTime: Instant
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Converts values in ContestInfo to overrides in [AdvancedProperties

+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-contest-info/medals.html b/docs/cds/cds/org.icpclive.api/-contest-info/medals.html new file mode 100644 index 000000000..d984d6c6a --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-contest-info/medals.html @@ -0,0 +1,72 @@ + + + + + medals + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

medals

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-contest-info/name.html b/docs/cds/cds/org.icpclive.api/-contest-info/name.html new file mode 100644 index 000000000..e2a1dc226 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-contest-info/name.html @@ -0,0 +1,72 @@ + + + + + name + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

name

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-contest-info/penalty-per-wrong-attempt.html b/docs/cds/cds/org.icpclive.api/-contest-info/penalty-per-wrong-attempt.html new file mode 100644 index 000000000..30b508065 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-contest-info/penalty-per-wrong-attempt.html @@ -0,0 +1,72 @@ + + + + + penaltyPerWrongAttempt + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

penaltyPerWrongAttempt

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-contest-info/penalty-rounding-mode.html b/docs/cds/cds/org.icpclive.api/-contest-info/penalty-rounding-mode.html new file mode 100644 index 000000000..bcea1cc3b --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-contest-info/penalty-rounding-mode.html @@ -0,0 +1,72 @@ + + + + + penaltyRoundingMode + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

penaltyRoundingMode

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-contest-info/problems.html b/docs/cds/cds/org.icpclive.api/-contest-info/problems.html new file mode 100644 index 000000000..fb1f9ae5f --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-contest-info/problems.html @@ -0,0 +1,72 @@ + + + + + problems + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

problems

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-contest-info/result-type.html b/docs/cds/cds/org.icpclive.api/-contest-info/result-type.html new file mode 100644 index 000000000..e356d418e --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-contest-info/result-type.html @@ -0,0 +1,72 @@ + + + + + resultType + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

resultType

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-contest-info/start-time.html b/docs/cds/cds/org.icpclive.api/-contest-info/start-time.html new file mode 100644 index 000000000..8376da551 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-contest-info/start-time.html @@ -0,0 +1,72 @@ + + + + + startTime + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

startTime

+
+
@Serializable(with = UnixMillisecondsSerializer::class)
val startTime: Instant(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-contest-info/status.html b/docs/cds/cds/org.icpclive.api/-contest-info/status.html new file mode 100644 index 000000000..de36d718a --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-contest-info/status.html @@ -0,0 +1,72 @@ + + + + + status + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

status

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-contest-info/teams.html b/docs/cds/cds/org.icpclive.api/-contest-info/teams.html new file mode 100644 index 000000000..4bc80e290 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-contest-info/teams.html @@ -0,0 +1,72 @@ + + + + + teams + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

teams

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-contest-result-type/-i-c-p-c/index.html b/docs/cds/cds/org.icpclive.api/-contest-result-type/-i-c-p-c/index.html new file mode 100644 index 000000000..4ef681946 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-contest-result-type/-i-c-p-c/index.html @@ -0,0 +1,111 @@ + + + + + ICPC + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ICPC

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-contest-result-type/-i-o-i/index.html b/docs/cds/cds/org.icpclive.api/-contest-result-type/-i-o-i/index.html new file mode 100644 index 000000000..a521898ae --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-contest-result-type/-i-o-i/index.html @@ -0,0 +1,111 @@ + + + + + IOI + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

IOI

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-contest-result-type/index.html b/docs/cds/cds/org.icpclive.api/-contest-result-type/index.html new file mode 100644 index 000000000..7c8264ba1 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-contest-result-type/index.html @@ -0,0 +1,179 @@ + + + + + ContestResultType + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ContestResultType

+ +
+
+
+
+
+

Entries

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Returns an array containing the constants of this enum type, in the order they're declared.

+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-contest-result-type/value-of.html b/docs/cds/cds/org.icpclive.api/-contest-result-type/value-of.html new file mode 100644 index 000000000..8fbfa8fa4 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-contest-result-type/value-of.html @@ -0,0 +1,72 @@ + + + + + valueOf + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

valueOf

+
+

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Throws

if this enum type has no constant with the specified name

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-contest-result-type/values.html b/docs/cds/cds/org.icpclive.api/-contest-result-type/values.html new file mode 100644 index 000000000..0970180e2 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-contest-result-type/values.html @@ -0,0 +1,72 @@ + + + + + values + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

values

+
+

Returns an array containing the constants of this enum type, in the order they're declared.

This method may be used to iterate over the constants.

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-contest-status/-b-e-f-o-r-e/index.html b/docs/cds/cds/org.icpclive.api/-contest-status/-b-e-f-o-r-e/index.html new file mode 100644 index 000000000..3226f493d --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-contest-status/-b-e-f-o-r-e/index.html @@ -0,0 +1,111 @@ + + + + + BEFORE + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

BEFORE

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-contest-status/-o-v-e-r/index.html b/docs/cds/cds/org.icpclive.api/-contest-status/-o-v-e-r/index.html new file mode 100644 index 000000000..348bfc005 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-contest-status/-o-v-e-r/index.html @@ -0,0 +1,111 @@ + + + + + OVER + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

OVER

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-contest-status/-r-u-n-n-i-n-g/index.html b/docs/cds/cds/org.icpclive.api/-contest-status/-r-u-n-n-i-n-g/index.html new file mode 100644 index 000000000..500bdcb84 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-contest-status/-r-u-n-n-i-n-g/index.html @@ -0,0 +1,111 @@ + + + + + RUNNING + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

RUNNING

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-contest-status/index.html b/docs/cds/cds/org.icpclive.api/-contest-status/index.html new file mode 100644 index 000000000..8dad4b170 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-contest-status/index.html @@ -0,0 +1,194 @@ + + + + + ContestStatus + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ContestStatus

+
@Serializable
enum ContestStatus : Enum<ContestStatus> (source)
+
+
+
+
+
+

Entries

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Returns an array containing the constants of this enum type, in the order they're declared.

+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-contest-status/value-of.html b/docs/cds/cds/org.icpclive.api/-contest-status/value-of.html new file mode 100644 index 000000000..3cef18efb --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-contest-status/value-of.html @@ -0,0 +1,72 @@ + + + + + valueOf + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

valueOf

+
+

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Throws

if this enum type has no constant with the specified name

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-contest-status/values.html b/docs/cds/cds/org.icpclive.api/-contest-status/values.html new file mode 100644 index 000000000..45b64b55c --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-contest-status/values.html @@ -0,0 +1,72 @@ + + + + + values + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

values

+
+

Returns an array containing the constants of this enum type, in the order they're declared.

This method may be used to iterate over the constants.

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-group-info-override/-group-info-override.html b/docs/cds/cds/org.icpclive.api/-group-info-override/-group-info-override.html new file mode 100644 index 000000000..f5c66fb24 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-group-info-override/-group-info-override.html @@ -0,0 +1,72 @@ + + + + + GroupInfoOverride + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

GroupInfoOverride

+
+
constructor(isHidden: Boolean? = null, isOutOfContest: Boolean? = null)(source)

Parameters

isHidden

Totally hide all teams from the group

isOutOfContest

Don't get rank in the scoreboard to all teams from the group

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-group-info-override/index.html b/docs/cds/cds/org.icpclive.api/-group-info-override/index.html new file mode 100644 index 000000000..083accb6b --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-group-info-override/index.html @@ -0,0 +1,130 @@ + + + + + GroupInfoOverride + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

GroupInfoOverride

+
@Serializable
data class GroupInfoOverride(val isHidden: Boolean? = null, val isOutOfContest: Boolean? = null)(source)

Parameters

isHidden

Totally hide all teams from the group

isOutOfContest

Don't get rank in the scoreboard to all teams from the group

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(isHidden: Boolean? = null, isOutOfContest: Boolean? = null)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val isHidden: Boolean? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val isOutOfContest: Boolean? = null
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-group-info-override/is-hidden.html b/docs/cds/cds/org.icpclive.api/-group-info-override/is-hidden.html new file mode 100644 index 000000000..5daf5e3a5 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-group-info-override/is-hidden.html @@ -0,0 +1,72 @@ + + + + + isHidden + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

isHidden

+
+
val isHidden: Boolean? = null(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-group-info-override/is-out-of-contest.html b/docs/cds/cds/org.icpclive.api/-group-info-override/is-out-of-contest.html new file mode 100644 index 000000000..202b8a4c6 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-group-info-override/is-out-of-contest.html @@ -0,0 +1,72 @@ + + + + + isOutOfContest + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

isOutOfContest

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-group-info/-group-info.html b/docs/cds/cds/org.icpclive.api/-group-info/-group-info.html new file mode 100644 index 000000000..dc6d61428 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-group-info/-group-info.html @@ -0,0 +1,72 @@ + + + + + GroupInfo + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

GroupInfo

+
+
constructor(name: String, isHidden: Boolean = false, isOutOfContest: Boolean = false)(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-group-info/index.html b/docs/cds/cds/org.icpclive.api/-group-info/index.html new file mode 100644 index 000000000..b55205d1d --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-group-info/index.html @@ -0,0 +1,145 @@ + + + + + GroupInfo + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

GroupInfo

+
@Serializable
data class GroupInfo(val name: String, val isHidden: Boolean = false, val isOutOfContest: Boolean = false)(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(name: String, isHidden: Boolean = false, isOutOfContest: Boolean = false)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val isHidden: Boolean = false
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val isOutOfContest: Boolean = false
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-group-info/is-hidden.html b/docs/cds/cds/org.icpclive.api/-group-info/is-hidden.html new file mode 100644 index 000000000..20e7098f8 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-group-info/is-hidden.html @@ -0,0 +1,72 @@ + + + + + isHidden + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

isHidden

+
+
val isHidden: Boolean = false(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-group-info/is-out-of-contest.html b/docs/cds/cds/org.icpclive.api/-group-info/is-out-of-contest.html new file mode 100644 index 000000000..4df5a4df2 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-group-info/is-out-of-contest.html @@ -0,0 +1,72 @@ + + + + + isOutOfContest + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

isOutOfContest

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-group-info/name.html b/docs/cds/cds/org.icpclive.api/-group-info/name.html new file mode 100644 index 000000000..43fee2254 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-group-info/name.html @@ -0,0 +1,72 @@ + + + + + name + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

name

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-i-c-p-c-problem-result/-i-c-p-c-problem-result.html b/docs/cds/cds/org.icpclive.api/-i-c-p-c-problem-result/-i-c-p-c-problem-result.html new file mode 100644 index 000000000..92e0c46ec --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-i-c-p-c-problem-result/-i-c-p-c-problem-result.html @@ -0,0 +1,72 @@ + + + + + ICPCProblemResult + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ICPCProblemResult

+
+
constructor(wrongAttempts: Int, pendingAttempts: Int, isSolved: Boolean, isFirstToSolve: Boolean, lastSubmitTime: Duration?)(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-i-c-p-c-problem-result/index.html b/docs/cds/cds/org.icpclive.api/-i-c-p-c-problem-result/index.html new file mode 100644 index 000000000..7b30d1005 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-i-c-p-c-problem-result/index.html @@ -0,0 +1,175 @@ + + + + + ICPCProblemResult + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ICPCProblemResult

+
@Serializable
data class ICPCProblemResult(val wrongAttempts: Int, val pendingAttempts: Int, val isSolved: Boolean, val isFirstToSolve: Boolean, val lastSubmitTime: Duration?) : ProblemResult(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(wrongAttempts: Int, pendingAttempts: Int, isSolved: Boolean, isFirstToSolve: Boolean, lastSubmitTime: Duration?)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = DurationInMillisecondsSerializer::class)
val lastSubmitTime: Duration?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-i-c-p-c-problem-result/is-first-to-solve.html b/docs/cds/cds/org.icpclive.api/-i-c-p-c-problem-result/is-first-to-solve.html new file mode 100644 index 000000000..e8c9a1172 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-i-c-p-c-problem-result/is-first-to-solve.html @@ -0,0 +1,72 @@ + + + + + isFirstToSolve + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

isFirstToSolve

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-i-c-p-c-problem-result/is-solved.html b/docs/cds/cds/org.icpclive.api/-i-c-p-c-problem-result/is-solved.html new file mode 100644 index 000000000..8e2727d52 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-i-c-p-c-problem-result/is-solved.html @@ -0,0 +1,72 @@ + + + + + isSolved + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

isSolved

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-i-c-p-c-problem-result/last-submit-time.html b/docs/cds/cds/org.icpclive.api/-i-c-p-c-problem-result/last-submit-time.html new file mode 100644 index 000000000..1a64a26ef --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-i-c-p-c-problem-result/last-submit-time.html @@ -0,0 +1,72 @@ + + + + + lastSubmitTime + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

lastSubmitTime

+
+
@Serializable(with = DurationInMillisecondsSerializer::class)
val lastSubmitTime: Duration?(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-i-c-p-c-problem-result/pending-attempts.html b/docs/cds/cds/org.icpclive.api/-i-c-p-c-problem-result/pending-attempts.html new file mode 100644 index 000000000..3a6ce6e31 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-i-c-p-c-problem-result/pending-attempts.html @@ -0,0 +1,72 @@ + + + + + pendingAttempts + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

pendingAttempts

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-i-c-p-c-problem-result/wrong-attempts.html b/docs/cds/cds/org.icpclive.api/-i-c-p-c-problem-result/wrong-attempts.html new file mode 100644 index 000000000..3fdf93340 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-i-c-p-c-problem-result/wrong-attempts.html @@ -0,0 +1,72 @@ + + + + + wrongAttempts + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

wrongAttempts

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-i-c-p-c-run-result/-i-c-p-c-run-result.html b/docs/cds/cds/org.icpclive.api/-i-c-p-c-run-result/-i-c-p-c-run-result.html new file mode 100644 index 000000000..31600001e --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-i-c-p-c-run-result/-i-c-p-c-run-result.html @@ -0,0 +1,72 @@ + + + + + ICPCRunResult + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ICPCRunResult

+
+
constructor(verdict: Verdict, isFirstToSolveRun: Boolean)(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-i-c-p-c-run-result/index.html b/docs/cds/cds/org.icpclive.api/-i-c-p-c-run-result/index.html new file mode 100644 index 000000000..02595e2e9 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-i-c-p-c-run-result/index.html @@ -0,0 +1,130 @@ + + + + + ICPCRunResult + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ICPCRunResult

+
@Serializable
data class ICPCRunResult(val verdict: Verdict, val isFirstToSolveRun: Boolean) : RunResult(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(verdict: Verdict, isFirstToSolveRun: Boolean)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-i-c-p-c-run-result/is-first-to-solve-run.html b/docs/cds/cds/org.icpclive.api/-i-c-p-c-run-result/is-first-to-solve-run.html new file mode 100644 index 000000000..2703f56bb --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-i-c-p-c-run-result/is-first-to-solve-run.html @@ -0,0 +1,72 @@ + + + + + isFirstToSolveRun + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

isFirstToSolveRun

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-i-c-p-c-run-result/verdict.html b/docs/cds/cds/org.icpclive.api/-i-c-p-c-run-result/verdict.html new file mode 100644 index 000000000..e6db35ce4 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-i-c-p-c-run-result/verdict.html @@ -0,0 +1,72 @@ + + + + + verdict + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

verdict

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-i-o-i-problem-result/-i-o-i-problem-result.html b/docs/cds/cds/org.icpclive.api/-i-o-i-problem-result/-i-o-i-problem-result.html new file mode 100644 index 000000000..7a1a7e77e --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-i-o-i-problem-result/-i-o-i-problem-result.html @@ -0,0 +1,72 @@ + + + + + IOIProblemResult + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

IOIProblemResult

+
+
constructor(score: Double?, lastSubmitTime: Duration?, isFirstBest: Boolean)(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-i-o-i-problem-result/index.html b/docs/cds/cds/org.icpclive.api/-i-o-i-problem-result/index.html new file mode 100644 index 000000000..ec8cc1597 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-i-o-i-problem-result/index.html @@ -0,0 +1,145 @@ + + + + + IOIProblemResult + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

IOIProblemResult

+
@Serializable
data class IOIProblemResult(val score: Double?, val lastSubmitTime: Duration?, val isFirstBest: Boolean) : ProblemResult(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(score: Double?, lastSubmitTime: Duration?, isFirstBest: Boolean)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = DurationInMillisecondsSerializer::class)
val lastSubmitTime: Duration?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-i-o-i-problem-result/is-first-best.html b/docs/cds/cds/org.icpclive.api/-i-o-i-problem-result/is-first-best.html new file mode 100644 index 000000000..dae440973 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-i-o-i-problem-result/is-first-best.html @@ -0,0 +1,72 @@ + + + + + isFirstBest + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

isFirstBest

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-i-o-i-problem-result/last-submit-time.html b/docs/cds/cds/org.icpclive.api/-i-o-i-problem-result/last-submit-time.html new file mode 100644 index 000000000..0fa648e7b --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-i-o-i-problem-result/last-submit-time.html @@ -0,0 +1,72 @@ + + + + + lastSubmitTime + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

lastSubmitTime

+
+
@Serializable(with = DurationInMillisecondsSerializer::class)
val lastSubmitTime: Duration?(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-i-o-i-problem-result/score.html b/docs/cds/cds/org.icpclive.api/-i-o-i-problem-result/score.html new file mode 100644 index 000000000..075bddc3c --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-i-o-i-problem-result/score.html @@ -0,0 +1,72 @@ + + + + + score + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

score

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-i-o-i-run-result/-i-o-i-run-result.html b/docs/cds/cds/org.icpclive.api/-i-o-i-run-result/-i-o-i-run-result.html new file mode 100644 index 000000000..183f55579 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-i-o-i-run-result/-i-o-i-run-result.html @@ -0,0 +1,72 @@ + + + + + IOIRunResult + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

IOIRunResult

+
+
constructor(score: List<Double>, wrongVerdict: Verdict? = null, difference: Double = 0.0, scoreAfter: Double = 0.0, isFirstBestRun: Boolean = false, isFirstBestTeamRun: Boolean = false)(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-i-o-i-run-result/difference.html b/docs/cds/cds/org.icpclive.api/-i-o-i-run-result/difference.html new file mode 100644 index 000000000..a4ae29df4 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-i-o-i-run-result/difference.html @@ -0,0 +1,72 @@ + + + + + difference + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

difference

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-i-o-i-run-result/index.html b/docs/cds/cds/org.icpclive.api/-i-o-i-run-result/index.html new file mode 100644 index 000000000..a2e9b7f80 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-i-o-i-run-result/index.html @@ -0,0 +1,190 @@ + + + + + IOIRunResult + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

IOIRunResult

+
@Serializable
data class IOIRunResult(val score: List<Double>, val wrongVerdict: Verdict? = null, val difference: Double = 0.0, val scoreAfter: Double = 0.0, val isFirstBestRun: Boolean = false, val isFirstBestTeamRun: Boolean = false) : RunResult(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(score: List<Double>, wrongVerdict: Verdict? = null, difference: Double = 0.0, scoreAfter: Double = 0.0, isFirstBestRun: Boolean = false, isFirstBestTeamRun: Boolean = false)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val difference: Double = 0.0
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val isFirstBestRun: Boolean = false
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val scoreAfter: Double = 0.0
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val wrongVerdict: Verdict? = null
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-i-o-i-run-result/is-first-best-run.html b/docs/cds/cds/org.icpclive.api/-i-o-i-run-result/is-first-best-run.html new file mode 100644 index 000000000..ac8622d0b --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-i-o-i-run-result/is-first-best-run.html @@ -0,0 +1,72 @@ + + + + + isFirstBestRun + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

isFirstBestRun

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-i-o-i-run-result/is-first-best-team-run.html b/docs/cds/cds/org.icpclive.api/-i-o-i-run-result/is-first-best-team-run.html new file mode 100644 index 000000000..8689bd5b6 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-i-o-i-run-result/is-first-best-team-run.html @@ -0,0 +1,72 @@ + + + + + isFirstBestTeamRun + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

isFirstBestTeamRun

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-i-o-i-run-result/score-after.html b/docs/cds/cds/org.icpclive.api/-i-o-i-run-result/score-after.html new file mode 100644 index 000000000..13dfb1c3f --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-i-o-i-run-result/score-after.html @@ -0,0 +1,72 @@ + + + + + scoreAfter + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

scoreAfter

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-i-o-i-run-result/score.html b/docs/cds/cds/org.icpclive.api/-i-o-i-run-result/score.html new file mode 100644 index 000000000..3c5d433e3 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-i-o-i-run-result/score.html @@ -0,0 +1,72 @@ + + + + + score + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

score

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-i-o-i-run-result/wrong-verdict.html b/docs/cds/cds/org.icpclive.api/-i-o-i-run-result/wrong-verdict.html new file mode 100644 index 000000000..c76d2b7fa --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-i-o-i-run-result/wrong-verdict.html @@ -0,0 +1,72 @@ + + + + + wrongVerdict + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

wrongVerdict

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-medal-tiebreak-mode/-a-l-l/index.html b/docs/cds/cds/org.icpclive.api/-medal-tiebreak-mode/-a-l-l/index.html new file mode 100644 index 000000000..19d911c9a --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-medal-tiebreak-mode/-a-l-l/index.html @@ -0,0 +1,111 @@ + + + + + ALL + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ALL

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-medal-tiebreak-mode/-n-o-n-e/index.html b/docs/cds/cds/org.icpclive.api/-medal-tiebreak-mode/-n-o-n-e/index.html new file mode 100644 index 000000000..afb161ad3 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-medal-tiebreak-mode/-n-o-n-e/index.html @@ -0,0 +1,111 @@ + + + + + NONE + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

NONE

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-medal-tiebreak-mode/index.html b/docs/cds/cds/org.icpclive.api/-medal-tiebreak-mode/index.html new file mode 100644 index 000000000..2dcb26cd0 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-medal-tiebreak-mode/index.html @@ -0,0 +1,179 @@ + + + + + MedalTiebreakMode + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

MedalTiebreakMode

+ +
+
+
+
+
+

Entries

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Returns an array containing the constants of this enum type, in the order they're declared.

+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-medal-tiebreak-mode/value-of.html b/docs/cds/cds/org.icpclive.api/-medal-tiebreak-mode/value-of.html new file mode 100644 index 000000000..43efc7b42 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-medal-tiebreak-mode/value-of.html @@ -0,0 +1,72 @@ + + + + + valueOf + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

valueOf

+
+

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Throws

if this enum type has no constant with the specified name

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-medal-tiebreak-mode/values.html b/docs/cds/cds/org.icpclive.api/-medal-tiebreak-mode/values.html new file mode 100644 index 000000000..395c0c531 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-medal-tiebreak-mode/values.html @@ -0,0 +1,72 @@ + + + + + values + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

values

+
+

Returns an array containing the constants of this enum type, in the order they're declared.

This method may be used to iterate over the constants.

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-medal-type/-medal-type.html b/docs/cds/cds/org.icpclive.api/-medal-type/-medal-type.html new file mode 100644 index 000000000..2aff4d77d --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-medal-type/-medal-type.html @@ -0,0 +1,72 @@ + + + + + MedalType + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

MedalType

+
+
constructor(name: String, count: Int, minScore: Double = Double.MIN_VALUE, tiebreakMode: MedalTiebreakMode = MedalTiebreakMode.ALL)(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-medal-type/count.html b/docs/cds/cds/org.icpclive.api/-medal-type/count.html new file mode 100644 index 000000000..56e52ba45 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-medal-type/count.html @@ -0,0 +1,72 @@ + + + + + count + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

count

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-medal-type/index.html b/docs/cds/cds/org.icpclive.api/-medal-type/index.html new file mode 100644 index 000000000..a3ea1230c --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-medal-type/index.html @@ -0,0 +1,160 @@ + + + + + MedalType + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

MedalType

+
@Serializable
data class MedalType(val name: String, val count: Int, val minScore: Double = Double.MIN_VALUE, val tiebreakMode: MedalTiebreakMode = MedalTiebreakMode.ALL)(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(name: String, count: Int, minScore: Double = Double.MIN_VALUE, tiebreakMode: MedalTiebreakMode = MedalTiebreakMode.ALL)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val count: Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-medal-type/min-score.html b/docs/cds/cds/org.icpclive.api/-medal-type/min-score.html new file mode 100644 index 000000000..d9bd730aa --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-medal-type/min-score.html @@ -0,0 +1,72 @@ + + + + + minScore + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

minScore

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-medal-type/name.html b/docs/cds/cds/org.icpclive.api/-medal-type/name.html new file mode 100644 index 000000000..5ad2be91d --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-medal-type/name.html @@ -0,0 +1,72 @@ + + + + + name + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

name

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-medal-type/tiebreak-mode.html b/docs/cds/cds/org.icpclive.api/-medal-type/tiebreak-mode.html new file mode 100644 index 000000000..11c7bd01e --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-medal-type/tiebreak-mode.html @@ -0,0 +1,72 @@ + + + + + tiebreakMode + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

tiebreakMode

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-media-type/-object/-object.html b/docs/cds/cds/org.icpclive.api/-media-type/-object/-object.html new file mode 100644 index 000000000..c2838814f --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-media-type/-object/-object.html @@ -0,0 +1,72 @@ + + + + + Object + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Object

+
+
constructor(url: String, isMedia: Boolean = true)(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-media-type/-object/index.html b/docs/cds/cds/org.icpclive.api/-media-type/-object/index.html new file mode 100644 index 000000000..f35274230 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-media-type/-object/index.html @@ -0,0 +1,164 @@ + + + + + Object + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Object

+
@Serializable
data class Object(val url: String, val isMedia: Boolean = true) : MediaType(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(url: String, isMedia: Boolean = true)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val isMedia: Boolean = true
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val url: String
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-media-type/-object/is-media.html b/docs/cds/cds/org.icpclive.api/-media-type/-object/is-media.html new file mode 100644 index 000000000..379b57769 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-media-type/-object/is-media.html @@ -0,0 +1,72 @@ + + + + + isMedia + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

isMedia

+
+
open override val isMedia: Boolean = true(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-media-type/-object/url.html b/docs/cds/cds/org.icpclive.api/-media-type/-object/url.html new file mode 100644 index 000000000..e892fec06 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-media-type/-object/url.html @@ -0,0 +1,72 @@ + + + + + url + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

url

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-media-type/-photo/-photo.html b/docs/cds/cds/org.icpclive.api/-media-type/-photo/-photo.html new file mode 100644 index 000000000..d720c315f --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-media-type/-photo/-photo.html @@ -0,0 +1,72 @@ + + + + + Photo + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Photo

+
+
constructor(url: String, isMedia: Boolean = true)(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-media-type/-photo/index.html b/docs/cds/cds/org.icpclive.api/-media-type/-photo/index.html new file mode 100644 index 000000000..94cb0790f --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-media-type/-photo/index.html @@ -0,0 +1,164 @@ + + + + + Photo + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Photo

+
@Serializable
data class Photo(val url: String, val isMedia: Boolean = true) : MediaType(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(url: String, isMedia: Boolean = true)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val isMedia: Boolean = true
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val url: String
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-media-type/-photo/is-media.html b/docs/cds/cds/org.icpclive.api/-media-type/-photo/is-media.html new file mode 100644 index 000000000..221756150 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-media-type/-photo/is-media.html @@ -0,0 +1,72 @@ + + + + + isMedia + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

isMedia

+
+
open override val isMedia: Boolean = true(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-media-type/-photo/url.html b/docs/cds/cds/org.icpclive.api/-media-type/-photo/url.html new file mode 100644 index 000000000..c3fcab571 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-media-type/-photo/url.html @@ -0,0 +1,72 @@ + + + + + url + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

url

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-media-type/-task-status/-task-status.html b/docs/cds/cds/org.icpclive.api/-media-type/-task-status/-task-status.html new file mode 100644 index 000000000..0fe5368d6 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-media-type/-task-status/-task-status.html @@ -0,0 +1,72 @@ + + + + + TaskStatus + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

TaskStatus

+
+
constructor(teamId: Int)(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-media-type/-task-status/index.html b/docs/cds/cds/org.icpclive.api/-media-type/-task-status/index.html new file mode 100644 index 000000000..a65825f6a --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-media-type/-task-status/index.html @@ -0,0 +1,164 @@ + + + + + TaskStatus + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

TaskStatus

+
@Serializable
data class TaskStatus(val teamId: Int) : MediaType(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(teamId: Int)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val isMedia: Boolean = false
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val teamId: Int
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-media-type/-task-status/is-media.html b/docs/cds/cds/org.icpclive.api/-media-type/-task-status/is-media.html new file mode 100644 index 000000000..4b004170d --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-media-type/-task-status/is-media.html @@ -0,0 +1,72 @@ + + + + + isMedia + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

isMedia

+
+
open override val isMedia: Boolean = false(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-media-type/-task-status/team-id.html b/docs/cds/cds/org.icpclive.api/-media-type/-task-status/team-id.html new file mode 100644 index 000000000..c2682b5a7 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-media-type/-task-status/team-id.html @@ -0,0 +1,72 @@ + + + + + teamId + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

teamId

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-media-type/-video/-video.html b/docs/cds/cds/org.icpclive.api/-media-type/-video/-video.html new file mode 100644 index 000000000..3d21c1b2e --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-media-type/-video/-video.html @@ -0,0 +1,72 @@ + + + + + Video + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Video

+
+
constructor(url: String, isMedia: Boolean = true)(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-media-type/-video/index.html b/docs/cds/cds/org.icpclive.api/-media-type/-video/index.html new file mode 100644 index 000000000..9e444dd0c --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-media-type/-video/index.html @@ -0,0 +1,164 @@ + + + + + Video + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Video

+
@Serializable
data class Video(val url: String, val isMedia: Boolean = true) : MediaType(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(url: String, isMedia: Boolean = true)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val isMedia: Boolean = true
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val url: String
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-media-type/-video/is-media.html b/docs/cds/cds/org.icpclive.api/-media-type/-video/is-media.html new file mode 100644 index 000000000..a7b47852c --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-media-type/-video/is-media.html @@ -0,0 +1,72 @@ + + + + + isMedia + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

isMedia

+
+
open override val isMedia: Boolean = true(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-media-type/-video/url.html b/docs/cds/cds/org.icpclive.api/-media-type/-video/url.html new file mode 100644 index 000000000..7c829fbce --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-media-type/-video/url.html @@ -0,0 +1,72 @@ + + + + + url + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

url

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/-web-r-t-c-grabber-connection.html b/docs/cds/cds/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/-web-r-t-c-grabber-connection.html new file mode 100644 index 000000000..08449d313 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/-web-r-t-c-grabber-connection.html @@ -0,0 +1,72 @@ + + + + + WebRTCGrabberConnection + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

WebRTCGrabberConnection

+
+
constructor(url: String, peerName: String, streamType: String, credential: String?, isMedia: Boolean = true)(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/credential.html b/docs/cds/cds/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/credential.html new file mode 100644 index 000000000..62285026d --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/credential.html @@ -0,0 +1,72 @@ + + + + + credential + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

credential

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/index.html b/docs/cds/cds/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/index.html new file mode 100644 index 000000000..1ddd8e36a --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/index.html @@ -0,0 +1,209 @@ + + + + + WebRTCGrabberConnection + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

WebRTCGrabberConnection

+
@Serializable
data class WebRTCGrabberConnection(val url: String, val peerName: String, val streamType: String, val credential: String?, val isMedia: Boolean = true) : MediaType(source)

WebRTC grabber connection https://github.com/irdkwmnsb/webrtc-grabber

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(url: String, peerName: String, streamType: String, credential: String?, isMedia: Boolean = true)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val isMedia: Boolean = true
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val url: String
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/is-media.html b/docs/cds/cds/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/is-media.html new file mode 100644 index 000000000..69549d2a4 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/is-media.html @@ -0,0 +1,72 @@ + + + + + isMedia + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

isMedia

+
+
open override val isMedia: Boolean = true(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/peer-name.html b/docs/cds/cds/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/peer-name.html new file mode 100644 index 000000000..860aa00d3 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/peer-name.html @@ -0,0 +1,72 @@ + + + + + peerName + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

peerName

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/stream-type.html b/docs/cds/cds/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/stream-type.html new file mode 100644 index 000000000..8581cb05d --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/stream-type.html @@ -0,0 +1,72 @@ + + + + + streamType + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

streamType

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/url.html b/docs/cds/cds/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/url.html new file mode 100644 index 000000000..e3bb3bd1c --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/url.html @@ -0,0 +1,72 @@ + + + + + url + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

url

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/-web-r-t-c-proxy-connection.html b/docs/cds/cds/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/-web-r-t-c-proxy-connection.html new file mode 100644 index 000000000..760d27fb3 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/-web-r-t-c-proxy-connection.html @@ -0,0 +1,72 @@ + + + + + WebRTCProxyConnection + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

WebRTCProxyConnection

+
+
constructor(url: String, audioUrl: String? = null, isMedia: Boolean = true)(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/audio-url.html b/docs/cds/cds/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/audio-url.html new file mode 100644 index 000000000..a20a380c1 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/audio-url.html @@ -0,0 +1,72 @@ + + + + + audioUrl + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

audioUrl

+
+
val audioUrl: String? = null(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/index.html b/docs/cds/cds/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/index.html new file mode 100644 index 000000000..37fe1e26d --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/index.html @@ -0,0 +1,179 @@ + + + + + WebRTCProxyConnection + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

WebRTCProxyConnection

+
@Serializable
data class WebRTCProxyConnection(val url: String, val audioUrl: String? = null, val isMedia: Boolean = true) : MediaType(source)

WebRTC proxy connection

See also

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(url: String, audioUrl: String? = null, isMedia: Boolean = true)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val audioUrl: String? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val isMedia: Boolean = true
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val url: String
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/is-media.html b/docs/cds/cds/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/is-media.html new file mode 100644 index 000000000..6ebb7b942 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/is-media.html @@ -0,0 +1,72 @@ + + + + + isMedia + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

isMedia

+
+
open override val isMedia: Boolean = true(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/url.html b/docs/cds/cds/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/url.html new file mode 100644 index 000000000..8bee01d60 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/url.html @@ -0,0 +1,72 @@ + + + + + url + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

url

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-media-type/apply-template.html b/docs/cds/cds/org.icpclive.api/-media-type/apply-template.html new file mode 100644 index 000000000..e2160b126 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-media-type/apply-template.html @@ -0,0 +1,72 @@ + + + + + applyTemplate + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

applyTemplate

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-media-type/index.html b/docs/cds/cds/org.icpclive.api/-media-type/index.html new file mode 100644 index 000000000..16199b478 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-media-type/index.html @@ -0,0 +1,224 @@ + + + + + MediaType + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ + +
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class Object(val url: String, val isMedia: Boolean = true) : MediaType
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class Photo(val url: String, val isMedia: Boolean = true) : MediaType
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class TaskStatus(val teamId: Int) : MediaType
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class Video(val url: String, val isMedia: Boolean = true) : MediaType
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class WebRTCGrabberConnection(val url: String, val peerName: String, val streamType: String, val credential: String?, val isMedia: Boolean = true) : MediaType

WebRTC grabber connection https://github.com/irdkwmnsb/webrtc-grabber

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class WebRTCProxyConnection(val url: String, val audioUrl: String? = null, val isMedia: Boolean = true) : MediaType

WebRTC proxy connection

+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val isMedia: Boolean
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-media-type/is-media.html b/docs/cds/cds/org.icpclive.api/-media-type/is-media.html new file mode 100644 index 000000000..c4893c4ab --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-media-type/is-media.html @@ -0,0 +1,72 @@ + + + + + isMedia + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

isMedia

+
+
abstract val isMedia: Boolean(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-media-type/no-media.html b/docs/cds/cds/org.icpclive.api/-media-type/no-media.html new file mode 100644 index 000000000..01fff4aba --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-media-type/no-media.html @@ -0,0 +1,72 @@ + + + + + noMedia + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

noMedia

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-optimism-level/-n-o-r-m-a-l/index.html b/docs/cds/cds/org.icpclive.api/-optimism-level/-n-o-r-m-a-l/index.html new file mode 100644 index 000000000..a1039fc0c --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-optimism-level/-n-o-r-m-a-l/index.html @@ -0,0 +1,111 @@ + + + + + NORMAL + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

NORMAL

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-optimism-level/-o-p-t-i-m-i-s-t-i-c/index.html b/docs/cds/cds/org.icpclive.api/-optimism-level/-o-p-t-i-m-i-s-t-i-c/index.html new file mode 100644 index 000000000..2327e7fa8 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-optimism-level/-o-p-t-i-m-i-s-t-i-c/index.html @@ -0,0 +1,111 @@ + + + + + OPTIMISTIC + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

OPTIMISTIC

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-optimism-level/-p-e-s-s-i-m-i-s-t-i-c/index.html b/docs/cds/cds/org.icpclive.api/-optimism-level/-p-e-s-s-i-m-i-s-t-i-c/index.html new file mode 100644 index 000000000..81b219e30 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-optimism-level/-p-e-s-s-i-m-i-s-t-i-c/index.html @@ -0,0 +1,111 @@ + + + + + PESSIMISTIC + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

PESSIMISTIC

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-optimism-level/index.html b/docs/cds/cds/org.icpclive.api/-optimism-level/index.html new file mode 100644 index 000000000..0577554e6 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-optimism-level/index.html @@ -0,0 +1,194 @@ + + + + + OptimismLevel + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

OptimismLevel

+
@Serializable
enum OptimismLevel : Enum<OptimismLevel> (source)
+
+
+
+
+
+

Entries

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Returns an array containing the constants of this enum type, in the order they're declared.

+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-optimism-level/value-of.html b/docs/cds/cds/org.icpclive.api/-optimism-level/value-of.html new file mode 100644 index 000000000..693df1fb7 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-optimism-level/value-of.html @@ -0,0 +1,72 @@ + + + + + valueOf + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

valueOf

+
+

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Throws

if this enum type has no constant with the specified name

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-optimism-level/values.html b/docs/cds/cds/org.icpclive.api/-optimism-level/values.html new file mode 100644 index 000000000..889966119 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-optimism-level/values.html @@ -0,0 +1,72 @@ + + + + + values + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

values

+
+

Returns an array containing the constants of this enum type, in the order they're declared.

This method may be used to iterate over the constants.

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-penalty-rounding-mode/-e-a-c-h_-s-u-b-m-i-s-s-i-o-n_-d-o-w-n_-t-o_-m-i-n-u-t-e/index.html b/docs/cds/cds/org.icpclive.api/-penalty-rounding-mode/-e-a-c-h_-s-u-b-m-i-s-s-i-o-n_-d-o-w-n_-t-o_-m-i-n-u-t-e/index.html new file mode 100644 index 000000000..0b61a678a --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-penalty-rounding-mode/-e-a-c-h_-s-u-b-m-i-s-s-i-o-n_-d-o-w-n_-t-o_-m-i-n-u-t-e/index.html @@ -0,0 +1,111 @@ + + + + + EACH_SUBMISSION_DOWN_TO_MINUTE + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

EACH_SUBMISSION_DOWN_TO_MINUTE

+

Round time of all submissions from the beginning of the contest down to whole minute, and then sum them

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-penalty-rounding-mode/-l-a-s-t/index.html b/docs/cds/cds/org.icpclive.api/-penalty-rounding-mode/-l-a-s-t/index.html new file mode 100644 index 000000000..cf2b306fe --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-penalty-rounding-mode/-l-a-s-t/index.html @@ -0,0 +1,111 @@ + + + + + LAST + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

LAST

+

Get time of last submission as penalty

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-penalty-rounding-mode/-s-u-m_-d-o-w-n_-t-o_-m-i-n-u-t-e/index.html b/docs/cds/cds/org.icpclive.api/-penalty-rounding-mode/-s-u-m_-d-o-w-n_-t-o_-m-i-n-u-t-e/index.html new file mode 100644 index 000000000..deeb68cf4 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-penalty-rounding-mode/-s-u-m_-d-o-w-n_-t-o_-m-i-n-u-t-e/index.html @@ -0,0 +1,111 @@ + + + + + SUM_DOWN_TO_MINUTE + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

SUM_DOWN_TO_MINUTE

+

Sum time of all submissions from the beginning of the contest and then round it down to whole minute

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-penalty-rounding-mode/-s-u-m_-i-n_-s-e-c-o-n-d-s/index.html b/docs/cds/cds/org.icpclive.api/-penalty-rounding-mode/-s-u-m_-i-n_-s-e-c-o-n-d-s/index.html new file mode 100644 index 000000000..771b93acb --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-penalty-rounding-mode/-s-u-m_-i-n_-s-e-c-o-n-d-s/index.html @@ -0,0 +1,111 @@ + + + + + SUM_IN_SECONDS + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

SUM_IN_SECONDS

+

Sum time of all submissions without rounding

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-penalty-rounding-mode/-z-e-r-o/index.html b/docs/cds/cds/org.icpclive.api/-penalty-rounding-mode/-z-e-r-o/index.html new file mode 100644 index 000000000..6e92903ad --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-penalty-rounding-mode/-z-e-r-o/index.html @@ -0,0 +1,111 @@ + + + + + ZERO + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ZERO

+

Don't have any penalty as a tie-breaker

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-penalty-rounding-mode/index.html b/docs/cds/cds/org.icpclive.api/-penalty-rounding-mode/index.html new file mode 100644 index 000000000..77f2abbfc --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-penalty-rounding-mode/index.html @@ -0,0 +1,224 @@ + + + + + PenaltyRoundingMode + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

PenaltyRoundingMode

+ +
+
+
+
+
+

Entries

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Round time of all submissions from the beginning of the contest down to whole minute, and then sum them

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Sum time of all submissions from the beginning of the contest and then round it down to whole minute

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Sum time of all submissions without rounding

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Get time of last submission as penalty

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Don't have any penalty as a tie-breaker

+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Returns an array containing the constants of this enum type, in the order they're declared.

+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-penalty-rounding-mode/value-of.html b/docs/cds/cds/org.icpclive.api/-penalty-rounding-mode/value-of.html new file mode 100644 index 000000000..349ae39ad --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-penalty-rounding-mode/value-of.html @@ -0,0 +1,72 @@ + + + + + valueOf + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

valueOf

+
+

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Throws

if this enum type has no constant with the specified name

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-penalty-rounding-mode/values.html b/docs/cds/cds/org.icpclive.api/-penalty-rounding-mode/values.html new file mode 100644 index 000000000..b4c8415b3 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-penalty-rounding-mode/values.html @@ -0,0 +1,72 @@ + + + + + values + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

values

+
+

Returns an array containing the constants of this enum type, in the order they're declared.

This method may be used to iterate over the constants.

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-problem-info-override/-problem-info-override.html b/docs/cds/cds/org.icpclive.api/-problem-info-override/-problem-info-override.html new file mode 100644 index 000000000..3abfecfa3 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-problem-info-override/-problem-info-override.html @@ -0,0 +1,72 @@ + + + + + ProblemInfoOverride + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ProblemInfoOverride

+
+
constructor(name: String? = null, color: Color? = null, minScore: Double? = null, maxScore: Double? = null, scoreMergeMode: ScoreMergeMode? = null)(source)

Parameters

name

Problem name.

color

Color of a problem balloon. It would be shown in queue and scoreboard in places related to the problem

minScore

In ioi mode minimal possible value of points in this problem

maxScore

In ioi mode maximal possible value of points in this problem

scoreMergeMode

In ioi mode, it determinate how final points for participant are calculated from points of many submissions.

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-problem-info-override/color.html b/docs/cds/cds/org.icpclive.api/-problem-info-override/color.html new file mode 100644 index 000000000..0694053ec --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-problem-info-override/color.html @@ -0,0 +1,72 @@ + + + + + color + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

color

+
+
@Serializable(with = ColorSerializer::class)
val color: Color? = null(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-problem-info-override/index.html b/docs/cds/cds/org.icpclive.api/-problem-info-override/index.html new file mode 100644 index 000000000..6438022ae --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-problem-info-override/index.html @@ -0,0 +1,175 @@ + + + + + ProblemInfoOverride + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ProblemInfoOverride

+
@Serializable
data class ProblemInfoOverride(val name: String? = null, val color: Color? = null, val minScore: Double? = null, val maxScore: Double? = null, val scoreMergeMode: ScoreMergeMode? = null)(source)

Parameters

name

Problem name.

color

Color of a problem balloon. It would be shown in queue and scoreboard in places related to the problem

minScore

In ioi mode minimal possible value of points in this problem

maxScore

In ioi mode maximal possible value of points in this problem

scoreMergeMode

In ioi mode, it determinate how final points for participant are calculated from points of many submissions.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(name: String? = null, color: Color? = null, minScore: Double? = null, maxScore: Double? = null, scoreMergeMode: ScoreMergeMode? = null)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = ColorSerializer::class)
val color: Color? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val maxScore: Double? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val minScore: Double? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val name: String? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-problem-info-override/max-score.html b/docs/cds/cds/org.icpclive.api/-problem-info-override/max-score.html new file mode 100644 index 000000000..6322ef28d --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-problem-info-override/max-score.html @@ -0,0 +1,72 @@ + + + + + maxScore + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

maxScore

+
+
val maxScore: Double? = null(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-problem-info-override/min-score.html b/docs/cds/cds/org.icpclive.api/-problem-info-override/min-score.html new file mode 100644 index 000000000..ede13e34a --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-problem-info-override/min-score.html @@ -0,0 +1,72 @@ + + + + + minScore + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

minScore

+
+
val minScore: Double? = null(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-problem-info-override/name.html b/docs/cds/cds/org.icpclive.api/-problem-info-override/name.html new file mode 100644 index 000000000..c4ade29d6 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-problem-info-override/name.html @@ -0,0 +1,72 @@ + + + + + name + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

name

+
+
val name: String? = null(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-problem-info-override/score-merge-mode.html b/docs/cds/cds/org.icpclive.api/-problem-info-override/score-merge-mode.html new file mode 100644 index 000000000..6c66a0adc --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-problem-info-override/score-merge-mode.html @@ -0,0 +1,72 @@ + + + + + scoreMergeMode + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

scoreMergeMode

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-problem-info/-companion/index.html b/docs/cds/cds/org.icpclive.api/-problem-info/-companion/index.html new file mode 100644 index 000000000..b542d3d7a --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-problem-info/-companion/index.html @@ -0,0 +1,96 @@ + + + + + Companion + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Companion

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val logger: Logger
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-problem-info/-companion/logger.html b/docs/cds/cds/org.icpclive.api/-problem-info/-companion/logger.html new file mode 100644 index 000000000..f2703e07c --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-problem-info/-companion/logger.html @@ -0,0 +1,72 @@ + + + + + logger + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

logger

+
+
val logger: Logger(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-problem-info/-problem-info.html b/docs/cds/cds/org.icpclive.api/-problem-info/-problem-info.html new file mode 100644 index 000000000..b14ee36f6 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-problem-info/-problem-info.html @@ -0,0 +1,72 @@ + + + + + ProblemInfo + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ProblemInfo

+
+
constructor(letter: String, name: String, id: Int, ordinal: Int, contestSystemId: String, minScore: Double? = null, maxScore: Double? = null, color: Color? = null, scoreMergeMode: ScoreMergeMode? = null)(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-problem-info/color.html b/docs/cds/cds/org.icpclive.api/-problem-info/color.html new file mode 100644 index 000000000..841f9a706 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-problem-info/color.html @@ -0,0 +1,72 @@ + + + + + color + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

color

+
+
@Serializable(with = ColorSerializer::class)
val color: Color? = null(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-problem-info/contest-system-id.html b/docs/cds/cds/org.icpclive.api/-problem-info/contest-system-id.html new file mode 100644 index 000000000..b393e37a2 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-problem-info/contest-system-id.html @@ -0,0 +1,72 @@ + + + + + contestSystemId + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

contestSystemId

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-problem-info/id.html b/docs/cds/cds/org.icpclive.api/-problem-info/id.html new file mode 100644 index 000000000..7f8951837 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-problem-info/id.html @@ -0,0 +1,72 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
val id: Int(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-problem-info/index.html b/docs/cds/cds/org.icpclive.api/-problem-info/index.html new file mode 100644 index 000000000..a8f21f6fa --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-problem-info/index.html @@ -0,0 +1,254 @@ + + + + + ProblemInfo + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ProblemInfo

+
@Serializable
data class ProblemInfo(val letter: String, val name: String, val id: Int, val ordinal: Int, val contestSystemId: String, val minScore: Double? = null, val maxScore: Double? = null, val color: Color? = null, val scoreMergeMode: ScoreMergeMode? = null)(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(letter: String, name: String, id: Int, ordinal: Int, contestSystemId: String, minScore: Double? = null, maxScore: Double? = null, color: Color? = null, scoreMergeMode: ScoreMergeMode? = null)
+
+
+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
object Companion
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = ColorSerializer::class)
val color: Color? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val id: Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val maxScore: Double? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val minScore: Double? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-problem-info/letter.html b/docs/cds/cds/org.icpclive.api/-problem-info/letter.html new file mode 100644 index 000000000..e87ec8394 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-problem-info/letter.html @@ -0,0 +1,72 @@ + + + + + letter + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

letter

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-problem-info/max-score.html b/docs/cds/cds/org.icpclive.api/-problem-info/max-score.html new file mode 100644 index 000000000..10304e88f --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-problem-info/max-score.html @@ -0,0 +1,72 @@ + + + + + maxScore + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

maxScore

+
+
val maxScore: Double? = null(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-problem-info/min-score.html b/docs/cds/cds/org.icpclive.api/-problem-info/min-score.html new file mode 100644 index 000000000..7badd352e --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-problem-info/min-score.html @@ -0,0 +1,72 @@ + + + + + minScore + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

minScore

+
+
val minScore: Double? = null(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-problem-info/name.html b/docs/cds/cds/org.icpclive.api/-problem-info/name.html new file mode 100644 index 000000000..a40c5dbb5 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-problem-info/name.html @@ -0,0 +1,72 @@ + + + + + name + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

name

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-problem-info/ordinal.html b/docs/cds/cds/org.icpclive.api/-problem-info/ordinal.html new file mode 100644 index 000000000..f2cf7a698 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-problem-info/ordinal.html @@ -0,0 +1,72 @@ + + + + + ordinal + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ordinal

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-problem-info/score-merge-mode.html b/docs/cds/cds/org.icpclive.api/-problem-info/score-merge-mode.html new file mode 100644 index 000000000..7548914af --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-problem-info/score-merge-mode.html @@ -0,0 +1,72 @@ + + + + + scoreMergeMode + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

scoreMergeMode

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-problem-result/index.html b/docs/cds/cds/org.icpclive.api/-problem-result/index.html new file mode 100644 index 000000000..e728ba2ae --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-problem-result/index.html @@ -0,0 +1,76 @@ + + + + + ProblemResult + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ProblemResult

+
@Serializable
sealed class ProblemResult(source)

Inheritors

+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-ranking-settings/-ranking-settings.html b/docs/cds/cds/org.icpclive.api/-ranking-settings/-ranking-settings.html new file mode 100644 index 000000000..3f3d3a022 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-ranking-settings/-ranking-settings.html @@ -0,0 +1,72 @@ + + + + + RankingSettings + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

RankingSettings

+
+
constructor(medals: List<MedalType>? = null, penaltyPerWrongAttempt: Duration? = null, showTeamsWithoutSubmissions: Boolean? = null, penaltyRoundingMode: PenaltyRoundingMode? = null)(source)

Parameters

medals

List of awarded medals. They would be allocated in given order, according to rules specified in MedalType

penaltyPerWrongAttempt

How many penalty minutes should be added to a team for a wrong attempt

showTeamsWithoutSubmissions

If true, teams without submissions would be automatically hidden

penaltyRoundingMode

Specify rules of how total penalty is calculated based on many submissions

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-ranking-settings/index.html b/docs/cds/cds/org.icpclive.api/-ranking-settings/index.html new file mode 100644 index 000000000..f4b7c9ba3 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-ranking-settings/index.html @@ -0,0 +1,160 @@ + + + + + RankingSettings + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

RankingSettings

+
@Serializable
class RankingSettings(val medals: List<MedalType>? = null, val penaltyPerWrongAttempt: Duration? = null, val showTeamsWithoutSubmissions: Boolean? = null, val penaltyRoundingMode: PenaltyRoundingMode? = null)(source)

Parameters

medals

List of awarded medals. They would be allocated in given order, according to rules specified in MedalType

penaltyPerWrongAttempt

How many penalty minutes should be added to a team for a wrong attempt

showTeamsWithoutSubmissions

If true, teams without submissions would be automatically hidden

penaltyRoundingMode

Specify rules of how total penalty is calculated based on many submissions

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(medals: List<MedalType>? = null, penaltyPerWrongAttempt: Duration? = null, showTeamsWithoutSubmissions: Boolean? = null, penaltyRoundingMode: PenaltyRoundingMode? = null)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val medals: List<MedalType>? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = DurationInMinutesSerializer::class)
val penaltyPerWrongAttempt: Duration? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-ranking-settings/medals.html b/docs/cds/cds/org.icpclive.api/-ranking-settings/medals.html new file mode 100644 index 000000000..cc460398e --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-ranking-settings/medals.html @@ -0,0 +1,72 @@ + + + + + medals + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

medals

+
+
val medals: List<MedalType>? = null(source)

Parameters

medals

List of awarded medals. They would be allocated in given order, according to rules specified in MedalType

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-ranking-settings/penalty-per-wrong-attempt.html b/docs/cds/cds/org.icpclive.api/-ranking-settings/penalty-per-wrong-attempt.html new file mode 100644 index 000000000..571f23c1c --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-ranking-settings/penalty-per-wrong-attempt.html @@ -0,0 +1,72 @@ + + + + + penaltyPerWrongAttempt + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

penaltyPerWrongAttempt

+
+
@Serializable(with = DurationInMinutesSerializer::class)
val penaltyPerWrongAttempt: Duration? = null(source)

Parameters

penaltyPerWrongAttempt

How many penalty minutes should be added to a team for a wrong attempt

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-ranking-settings/penalty-rounding-mode.html b/docs/cds/cds/org.icpclive.api/-ranking-settings/penalty-rounding-mode.html new file mode 100644 index 000000000..0b4c111b0 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-ranking-settings/penalty-rounding-mode.html @@ -0,0 +1,72 @@ + + + + + penaltyRoundingMode + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

penaltyRoundingMode

+
+

Parameters

penaltyRoundingMode

Specify rules of how total penalty is calculated based on many submissions

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-ranking-settings/show-teams-without-submissions.html b/docs/cds/cds/org.icpclive.api/-ranking-settings/show-teams-without-submissions.html new file mode 100644 index 000000000..02bdb5fe6 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-ranking-settings/show-teams-without-submissions.html @@ -0,0 +1,72 @@ + + + + + showTeamsWithoutSubmissions + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

showTeamsWithoutSubmissions

+
+

Parameters

showTeamsWithoutSubmissions

If true, teams without submissions would be automatically hidden

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-run-info/-run-info.html b/docs/cds/cds/org.icpclive.api/-run-info/-run-info.html new file mode 100644 index 000000000..7d7b7a92b --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-run-info/-run-info.html @@ -0,0 +1,72 @@ + + + + + RunInfo + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

RunInfo

+
+
constructor(id: Int, result: RunResult?, percentage: Double, problemId: Int, teamId: Int, time: Duration, featuredRunMedia: MediaType? = null, reactionVideos: List<MediaType> = emptyList(), isHidden: Boolean = false)(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-run-info/featured-run-media.html b/docs/cds/cds/org.icpclive.api/-run-info/featured-run-media.html new file mode 100644 index 000000000..507193e06 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-run-info/featured-run-media.html @@ -0,0 +1,72 @@ + + + + + featuredRunMedia + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

featuredRunMedia

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-run-info/id.html b/docs/cds/cds/org.icpclive.api/-run-info/id.html new file mode 100644 index 000000000..a382653a9 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-run-info/id.html @@ -0,0 +1,72 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
val id: Int(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-run-info/index.html b/docs/cds/cds/org.icpclive.api/-run-info/index.html new file mode 100644 index 000000000..506ff59ec --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-run-info/index.html @@ -0,0 +1,235 @@ + + + + + RunInfo + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

RunInfo

+
@Serializable
data class RunInfo(val id: Int, val result: RunResult?, val percentage: Double, val problemId: Int, val teamId: Int, val time: Duration, val featuredRunMedia: MediaType? = null, val reactionVideos: List<MediaType> = emptyList(), val isHidden: Boolean = false)(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(id: Int, result: RunResult?, percentage: Double, problemId: Int, teamId: Int, time: Duration, featuredRunMedia: MediaType? = null, reactionVideos: List<MediaType> = emptyList(), isHidden: Boolean = false)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val id: Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val isHidden: Boolean = false
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val teamId: Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = DurationInMillisecondsSerializer::class)
val time: Duration
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-run-info/is-hidden.html b/docs/cds/cds/org.icpclive.api/-run-info/is-hidden.html new file mode 100644 index 000000000..7fb2c6e13 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-run-info/is-hidden.html @@ -0,0 +1,72 @@ + + + + + isHidden + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

isHidden

+
+
val isHidden: Boolean = false(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-run-info/percentage.html b/docs/cds/cds/org.icpclive.api/-run-info/percentage.html new file mode 100644 index 000000000..f60de122e --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-run-info/percentage.html @@ -0,0 +1,72 @@ + + + + + percentage + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

percentage

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-run-info/problem-id.html b/docs/cds/cds/org.icpclive.api/-run-info/problem-id.html new file mode 100644 index 000000000..53e0c1c1e --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-run-info/problem-id.html @@ -0,0 +1,72 @@ + + + + + problemId + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

problemId

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-run-info/reaction-videos.html b/docs/cds/cds/org.icpclive.api/-run-info/reaction-videos.html new file mode 100644 index 000000000..d292d9b7a --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-run-info/reaction-videos.html @@ -0,0 +1,72 @@ + + + + + reactionVideos + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

reactionVideos

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-run-info/result.html b/docs/cds/cds/org.icpclive.api/-run-info/result.html new file mode 100644 index 000000000..d52a7aa41 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-run-info/result.html @@ -0,0 +1,72 @@ + + + + + result + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

result

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-run-info/team-id.html b/docs/cds/cds/org.icpclive.api/-run-info/team-id.html new file mode 100644 index 000000000..135f4e87b --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-run-info/team-id.html @@ -0,0 +1,72 @@ + + + + + teamId + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

teamId

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-run-info/time.html b/docs/cds/cds/org.icpclive.api/-run-info/time.html new file mode 100644 index 000000000..71c339eb5 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-run-info/time.html @@ -0,0 +1,72 @@ + + + + + time + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

time

+
+
@Serializable(with = DurationInMillisecondsSerializer::class)
val time: Duration(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-run-result/index.html b/docs/cds/cds/org.icpclive.api/-run-result/index.html new file mode 100644 index 000000000..78602be5b --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-run-result/index.html @@ -0,0 +1,76 @@ + + + + + RunResult + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

RunResult

+
@Serializable
sealed class RunResult(source)

Inheritors

+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-score-merge-mode/-l-a-s-t/index.html b/docs/cds/cds/org.icpclive.api/-score-merge-mode/-l-a-s-t/index.html new file mode 100644 index 000000000..edcc1082f --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-score-merge-mode/-l-a-s-t/index.html @@ -0,0 +1,111 @@ + + + + + LAST + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

LAST

+

Get score from last submission

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-score-merge-mode/-l-a-s-t_-o-k/index.html b/docs/cds/cds/org.icpclive.api/-score-merge-mode/-l-a-s-t_-o-k/index.html new file mode 100644 index 000000000..98e35e62a --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-score-merge-mode/-l-a-s-t_-o-k/index.html @@ -0,0 +1,111 @@ + + + + + LAST_OK + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

LAST_OK

+

Get score from last submissions, ignoring submissions, which didn't pass preliminary testing (e.g. on sample tests)

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-score-merge-mode/-m-a-x_-p-e-r_-g-r-o-u-p/index.html b/docs/cds/cds/org.icpclive.api/-score-merge-mode/-m-a-x_-p-e-r_-g-r-o-u-p/index.html new file mode 100644 index 000000000..d13e2b01f --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-score-merge-mode/-m-a-x_-p-e-r_-g-r-o-u-p/index.html @@ -0,0 +1,111 @@ + + + + + MAX_PER_GROUP + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

MAX_PER_GROUP

+

For each tests group in the problem, get maximum score over all submissions.

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-score-merge-mode/-m-a-x_-t-o-t-a-l/index.html b/docs/cds/cds/org.icpclive.api/-score-merge-mode/-m-a-x_-t-o-t-a-l/index.html new file mode 100644 index 000000000..edea1d40a --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-score-merge-mode/-m-a-x_-t-o-t-a-l/index.html @@ -0,0 +1,111 @@ + + + + + MAX_TOTAL + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

MAX_TOTAL

+

Get maximum total score over all submissions

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-score-merge-mode/-s-u-m/index.html b/docs/cds/cds/org.icpclive.api/-score-merge-mode/-s-u-m/index.html new file mode 100644 index 000000000..b521dabac --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-score-merge-mode/-s-u-m/index.html @@ -0,0 +1,111 @@ + + + + + SUM + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

SUM

+

Get the sum of scores over all submissions

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-score-merge-mode/index.html b/docs/cds/cds/org.icpclive.api/-score-merge-mode/index.html new file mode 100644 index 000000000..48590a354 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-score-merge-mode/index.html @@ -0,0 +1,224 @@ + + + + + ScoreMergeMode + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ScoreMergeMode

+ +
+
+
+
+
+

Entries

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

For each tests group in the problem, get maximum score over all submissions.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Get maximum total score over all submissions

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Get score from last submission

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Get score from last submissions, ignoring submissions, which didn't pass preliminary testing (e.g. on sample tests)

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Get the sum of scores over all submissions

+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Returns an array containing the constants of this enum type, in the order they're declared.

+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-score-merge-mode/value-of.html b/docs/cds/cds/org.icpclive.api/-score-merge-mode/value-of.html new file mode 100644 index 000000000..72ffbb9eb --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-score-merge-mode/value-of.html @@ -0,0 +1,72 @@ + + + + + valueOf + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

valueOf

+
+

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Throws

if this enum type has no constant with the specified name

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-score-merge-mode/values.html b/docs/cds/cds/org.icpclive.api/-score-merge-mode/values.html new file mode 100644 index 000000000..639824d3c --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-score-merge-mode/values.html @@ -0,0 +1,72 @@ + + + + + values + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

values

+
+

Returns an array containing the constants of this enum type, in the order they're declared.

This method may be used to iterate over the constants.

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-scoreboard-row/-scoreboard-row.html b/docs/cds/cds/org.icpclive.api/-scoreboard-row/-scoreboard-row.html new file mode 100644 index 000000000..e403ed695 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-scoreboard-row/-scoreboard-row.html @@ -0,0 +1,72 @@ + + + + + ScoreboardRow + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ScoreboardRow

+
+
constructor(teamId: Int, rank: Int, totalScore: Double, penalty: Duration, lastAccepted: Long, medalType: String?, problemResults: List<ProblemResult>, teamGroups: List<String>, championInGroups: List<String>)(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-scoreboard-row/champion-in-groups.html b/docs/cds/cds/org.icpclive.api/-scoreboard-row/champion-in-groups.html new file mode 100644 index 000000000..5fd3b4ff8 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-scoreboard-row/champion-in-groups.html @@ -0,0 +1,72 @@ + + + + + championInGroups + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

championInGroups

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-scoreboard-row/index.html b/docs/cds/cds/org.icpclive.api/-scoreboard-row/index.html new file mode 100644 index 000000000..d8a8b18a0 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-scoreboard-row/index.html @@ -0,0 +1,235 @@ + + + + + ScoreboardRow + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ScoreboardRow

+
@Serializable
data class ScoreboardRow(val teamId: Int, val rank: Int, val totalScore: Double, val penalty: Duration, val lastAccepted: Long, val medalType: String?, val problemResults: List<ProblemResult>, val teamGroups: List<String>, val championInGroups: List<String>)(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(teamId: Int, rank: Int, totalScore: Double, penalty: Duration, lastAccepted: Long, medalType: String?, problemResults: List<ProblemResult>, teamGroups: List<String>, championInGroups: List<String>)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = DurationInMinutesSerializer::class)
val penalty: Duration
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val rank: Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val teamId: Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-scoreboard-row/last-accepted.html b/docs/cds/cds/org.icpclive.api/-scoreboard-row/last-accepted.html new file mode 100644 index 000000000..1bf32cfec --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-scoreboard-row/last-accepted.html @@ -0,0 +1,72 @@ + + + + + lastAccepted + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

lastAccepted

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-scoreboard-row/medal-type.html b/docs/cds/cds/org.icpclive.api/-scoreboard-row/medal-type.html new file mode 100644 index 000000000..c0ac76556 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-scoreboard-row/medal-type.html @@ -0,0 +1,72 @@ + + + + + medalType + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

medalType

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-scoreboard-row/penalty.html b/docs/cds/cds/org.icpclive.api/-scoreboard-row/penalty.html new file mode 100644 index 000000000..d4f121092 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-scoreboard-row/penalty.html @@ -0,0 +1,72 @@ + + + + + penalty + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

penalty

+
+
@Serializable(with = DurationInMinutesSerializer::class)
val penalty: Duration(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-scoreboard-row/problem-results.html b/docs/cds/cds/org.icpclive.api/-scoreboard-row/problem-results.html new file mode 100644 index 000000000..ecc175e02 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-scoreboard-row/problem-results.html @@ -0,0 +1,72 @@ + + + + + problemResults + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

problemResults

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-scoreboard-row/rank.html b/docs/cds/cds/org.icpclive.api/-scoreboard-row/rank.html new file mode 100644 index 000000000..706d7af1b --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-scoreboard-row/rank.html @@ -0,0 +1,72 @@ + + + + + rank + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

rank

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-scoreboard-row/team-groups.html b/docs/cds/cds/org.icpclive.api/-scoreboard-row/team-groups.html new file mode 100644 index 000000000..ca84f5e65 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-scoreboard-row/team-groups.html @@ -0,0 +1,72 @@ + + + + + teamGroups + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

teamGroups

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-scoreboard-row/team-id.html b/docs/cds/cds/org.icpclive.api/-scoreboard-row/team-id.html new file mode 100644 index 000000000..57e264a03 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-scoreboard-row/team-id.html @@ -0,0 +1,72 @@ + + + + + teamId + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

teamId

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-scoreboard-row/total-score.html b/docs/cds/cds/org.icpclive.api/-scoreboard-row/total-score.html new file mode 100644 index 000000000..97b170c19 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-scoreboard-row/total-score.html @@ -0,0 +1,72 @@ + + + + + totalScore + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

totalScore

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-scoreboard/-scoreboard.html b/docs/cds/cds/org.icpclive.api/-scoreboard/-scoreboard.html new file mode 100644 index 000000000..96b67a8b8 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-scoreboard/-scoreboard.html @@ -0,0 +1,72 @@ + + + + + Scoreboard + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Scoreboard

+
+
constructor(rows: List<ScoreboardRow>)(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-scoreboard/index.html b/docs/cds/cds/org.icpclive.api/-scoreboard/index.html new file mode 100644 index 000000000..e08845c6a --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-scoreboard/index.html @@ -0,0 +1,115 @@ + + + + + Scoreboard + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Scoreboard

+
@Serializable
data class Scoreboard(val rows: List<ScoreboardRow>)(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(rows: List<ScoreboardRow>)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-scoreboard/rows.html b/docs/cds/cds/org.icpclive.api/-scoreboard/rows.html new file mode 100644 index 000000000..f90e295dc --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-scoreboard/rows.html @@ -0,0 +1,72 @@ + + + + + rows + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

rows

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-team-info-override/-team-info-override.html b/docs/cds/cds/org.icpclive.api/-team-info-override/-team-info-override.html new file mode 100644 index 000000000..64c2a3941 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-team-info-override/-team-info-override.html @@ -0,0 +1,72 @@ + + + + + TeamInfoOverride + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

TeamInfoOverride

+
+
constructor(name: String? = null, shortname: String? = null, groups: List<String>? = null, hashTag: String? = null, medias: Map<TeamMediaType, MediaType?>? = null, additionalInfo: String? = null, isHidden: Boolean? = null, isOutOfContest: Boolean? = null)(source)

Parameters

name

Full name of the team. Will be mostly shown on admin pages.

shortname

Name of the team shown in most places.

groups

The list of the groups team belongs too.

hashTag

Team hashtag. Can be shown on some team related pages

medias

Map of urls to team related medias. E.g., team photo or some kind of video from workstation. If media is explicitly set to null, it would be removed if received from a contest system.

additionalInfo
isHidden

If set to true, team would be totaly hidden.

isOutOfContest

If set to true, team would not recieve rank in scoreboard, but it's submission would still be shown.

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-team-info-override/additional-info.html b/docs/cds/cds/org.icpclive.api/-team-info-override/additional-info.html new file mode 100644 index 000000000..67010c591 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-team-info-override/additional-info.html @@ -0,0 +1,72 @@ + + + + + additionalInfo + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

additionalInfo

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-team-info-override/groups.html b/docs/cds/cds/org.icpclive.api/-team-info-override/groups.html new file mode 100644 index 000000000..701e889ef --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-team-info-override/groups.html @@ -0,0 +1,72 @@ + + + + + groups + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

groups

+
+
val groups: List<String>? = null(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-team-info-override/hash-tag.html b/docs/cds/cds/org.icpclive.api/-team-info-override/hash-tag.html new file mode 100644 index 000000000..88661f26f --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-team-info-override/hash-tag.html @@ -0,0 +1,72 @@ + + + + + hashTag + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

hashTag

+
+
val hashTag: String? = null(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-team-info-override/index.html b/docs/cds/cds/org.icpclive.api/-team-info-override/index.html new file mode 100644 index 000000000..db6d2bf01 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-team-info-override/index.html @@ -0,0 +1,220 @@ + + + + + TeamInfoOverride + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

TeamInfoOverride

+
@Serializable
data class TeamInfoOverride(val name: String? = null, val shortname: String? = null, val groups: List<String>? = null, val hashTag: String? = null, val medias: Map<TeamMediaType, MediaType?>? = null, val additionalInfo: String? = null, val isHidden: Boolean? = null, val isOutOfContest: Boolean? = null)(source)

Parameters

name

Full name of the team. Will be mostly shown on admin pages.

shortname

Name of the team shown in most places.

groups

The list of the groups team belongs too.

hashTag

Team hashtag. Can be shown on some team related pages

medias

Map of urls to team related medias. E.g., team photo or some kind of video from workstation. If media is explicitly set to null, it would be removed if received from a contest system.

additionalInfo
isHidden

If set to true, team would be totaly hidden.

isOutOfContest

If set to true, team would not recieve rank in scoreboard, but it's submission would still be shown.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(name: String? = null, shortname: String? = null, groups: List<String>? = null, hashTag: String? = null, medias: Map<TeamMediaType, MediaType?>? = null, additionalInfo: String? = null, isHidden: Boolean? = null, isOutOfContest: Boolean? = null)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val additionalInfo: String? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val groups: List<String>? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val hashTag: String? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val isHidden: Boolean? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val isOutOfContest: Boolean? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val name: String? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val shortname: String? = null
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-team-info-override/is-hidden.html b/docs/cds/cds/org.icpclive.api/-team-info-override/is-hidden.html new file mode 100644 index 000000000..81f1619a4 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-team-info-override/is-hidden.html @@ -0,0 +1,72 @@ + + + + + isHidden + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

isHidden

+
+
val isHidden: Boolean? = null(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-team-info-override/is-out-of-contest.html b/docs/cds/cds/org.icpclive.api/-team-info-override/is-out-of-contest.html new file mode 100644 index 000000000..5c692f633 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-team-info-override/is-out-of-contest.html @@ -0,0 +1,72 @@ + + + + + isOutOfContest + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

isOutOfContest

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-team-info-override/medias.html b/docs/cds/cds/org.icpclive.api/-team-info-override/medias.html new file mode 100644 index 000000000..0ee6b8e8b --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-team-info-override/medias.html @@ -0,0 +1,72 @@ + + + + + medias + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

medias

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-team-info-override/name.html b/docs/cds/cds/org.icpclive.api/-team-info-override/name.html new file mode 100644 index 000000000..a4ef90dd8 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-team-info-override/name.html @@ -0,0 +1,72 @@ + + + + + name + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

name

+
+
val name: String? = null(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-team-info-override/shortname.html b/docs/cds/cds/org.icpclive.api/-team-info-override/shortname.html new file mode 100644 index 000000000..5c5bc93cf --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-team-info-override/shortname.html @@ -0,0 +1,72 @@ + + + + + shortname + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

shortname

+
+
val shortname: String? = null(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-team-info/-team-info.html b/docs/cds/cds/org.icpclive.api/-team-info/-team-info.html new file mode 100644 index 000000000..74d5b249d --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-team-info/-team-info.html @@ -0,0 +1,72 @@ + + + + + TeamInfo + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

TeamInfo

+
+
constructor(id: Int, name: String, shortName: String, contestSystemId: String, groups: List<String>, hashTag: String?, medias: Map<TeamMediaType, MediaType>, additionalInfo: String? = null, isHidden: Boolean = false, isOutOfContest: Boolean = false)(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-team-info/additional-info.html b/docs/cds/cds/org.icpclive.api/-team-info/additional-info.html new file mode 100644 index 000000000..a92cf4c4b --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-team-info/additional-info.html @@ -0,0 +1,72 @@ + + + + + additionalInfo + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

additionalInfo

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-team-info/contest-system-id.html b/docs/cds/cds/org.icpclive.api/-team-info/contest-system-id.html new file mode 100644 index 000000000..9c26c3437 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-team-info/contest-system-id.html @@ -0,0 +1,72 @@ + + + + + contestSystemId + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

contestSystemId

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-team-info/groups.html b/docs/cds/cds/org.icpclive.api/-team-info/groups.html new file mode 100644 index 000000000..6aa336261 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-team-info/groups.html @@ -0,0 +1,72 @@ + + + + + groups + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

groups

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-team-info/hash-tag.html b/docs/cds/cds/org.icpclive.api/-team-info/hash-tag.html new file mode 100644 index 000000000..adef032fe --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-team-info/hash-tag.html @@ -0,0 +1,72 @@ + + + + + hashTag + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

hashTag

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-team-info/id.html b/docs/cds/cds/org.icpclive.api/-team-info/id.html new file mode 100644 index 000000000..4836b6895 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-team-info/id.html @@ -0,0 +1,72 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
val id: Int(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-team-info/index.html b/docs/cds/cds/org.icpclive.api/-team-info/index.html new file mode 100644 index 000000000..8d30b4824 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-team-info/index.html @@ -0,0 +1,250 @@ + + + + + TeamInfo + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

TeamInfo

+
@Serializable
data class TeamInfo(val id: Int, val name: String, val shortName: String, val contestSystemId: String, val groups: List<String>, val hashTag: String?, val medias: Map<TeamMediaType, MediaType>, val additionalInfo: String? = null, val isHidden: Boolean = false, val isOutOfContest: Boolean = false)(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(id: Int, name: String, shortName: String, contestSystemId: String, groups: List<String>, hashTag: String?, medias: Map<TeamMediaType, MediaType>, additionalInfo: String? = null, isHidden: Boolean = false, isOutOfContest: Boolean = false)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val additionalInfo: String? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val id: Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val isHidden: Boolean = false
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val isOutOfContest: Boolean = false
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-team-info/is-hidden.html b/docs/cds/cds/org.icpclive.api/-team-info/is-hidden.html new file mode 100644 index 000000000..1438f0d56 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-team-info/is-hidden.html @@ -0,0 +1,72 @@ + + + + + isHidden + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

isHidden

+
+
val isHidden: Boolean = false(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-team-info/is-out-of-contest.html b/docs/cds/cds/org.icpclive.api/-team-info/is-out-of-contest.html new file mode 100644 index 000000000..074133e83 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-team-info/is-out-of-contest.html @@ -0,0 +1,72 @@ + + + + + isOutOfContest + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

isOutOfContest

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-team-info/medias.html b/docs/cds/cds/org.icpclive.api/-team-info/medias.html new file mode 100644 index 000000000..0d3746f31 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-team-info/medias.html @@ -0,0 +1,72 @@ + + + + + medias + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

medias

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-team-info/name.html b/docs/cds/cds/org.icpclive.api/-team-info/name.html new file mode 100644 index 000000000..a236c0b4d --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-team-info/name.html @@ -0,0 +1,72 @@ + + + + + name + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

name

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-team-info/short-name.html b/docs/cds/cds/org.icpclive.api/-team-info/short-name.html new file mode 100644 index 000000000..073ee8def --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-team-info/short-name.html @@ -0,0 +1,72 @@ + + + + + shortName + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

shortName

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-team-media-type/-a-c-h-i-e-v-e-m-e-n-t/index.html b/docs/cds/cds/org.icpclive.api/-team-media-type/-a-c-h-i-e-v-e-m-e-n-t/index.html new file mode 100644 index 000000000..cb6348e27 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-team-media-type/-a-c-h-i-e-v-e-m-e-n-t/index.html @@ -0,0 +1,111 @@ + + + + + ACHIEVEMENT + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ACHIEVEMENT

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-team-media-type/-c-a-m-e-r-a/index.html b/docs/cds/cds/org.icpclive.api/-team-media-type/-c-a-m-e-r-a/index.html new file mode 100644 index 000000000..2107bd980 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-team-media-type/-c-a-m-e-r-a/index.html @@ -0,0 +1,111 @@ + + + + + CAMERA + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

CAMERA

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-team-media-type/-p-h-o-t-o/index.html b/docs/cds/cds/org.icpclive.api/-team-media-type/-p-h-o-t-o/index.html new file mode 100644 index 000000000..5d2666e58 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-team-media-type/-p-h-o-t-o/index.html @@ -0,0 +1,111 @@ + + + + + PHOTO + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

PHOTO

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-team-media-type/-r-e-a-c-t-i-o-n_-v-i-d-e-o/index.html b/docs/cds/cds/org.icpclive.api/-team-media-type/-r-e-a-c-t-i-o-n_-v-i-d-e-o/index.html new file mode 100644 index 000000000..ffe050e00 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-team-media-type/-r-e-a-c-t-i-o-n_-v-i-d-e-o/index.html @@ -0,0 +1,111 @@ + + + + + REACTION_VIDEO + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

REACTION_VIDEO

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-team-media-type/-r-e-c-o-r-d/index.html b/docs/cds/cds/org.icpclive.api/-team-media-type/-r-e-c-o-r-d/index.html new file mode 100644 index 000000000..ebfa9740b --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-team-media-type/-r-e-c-o-r-d/index.html @@ -0,0 +1,111 @@ + + + + + RECORD + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

RECORD

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-team-media-type/-s-c-r-e-e-n/index.html b/docs/cds/cds/org.icpclive.api/-team-media-type/-s-c-r-e-e-n/index.html new file mode 100644 index 000000000..2cbfd32e9 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-team-media-type/-s-c-r-e-e-n/index.html @@ -0,0 +1,111 @@ + + + + + SCREEN + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

SCREEN

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-team-media-type/index.html b/docs/cds/cds/org.icpclive.api/-team-media-type/index.html new file mode 100644 index 000000000..a31be3c57 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-team-media-type/index.html @@ -0,0 +1,239 @@ + + + + + TeamMediaType + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

TeamMediaType

+
@Serializable
enum TeamMediaType : Enum<TeamMediaType> (source)
+
+
+
+
+
+

Entries

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Returns an array containing the constants of this enum type, in the order they're declared.

+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-team-media-type/value-of.html b/docs/cds/cds/org.icpclive.api/-team-media-type/value-of.html new file mode 100644 index 000000000..c3972de57 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-team-media-type/value-of.html @@ -0,0 +1,72 @@ + + + + + valueOf + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

valueOf

+
+

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Throws

if this enum type has no constant with the specified name

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-team-media-type/values.html b/docs/cds/cds/org.icpclive.api/-team-media-type/values.html new file mode 100644 index 000000000..7670f8022 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-team-media-type/values.html @@ -0,0 +1,72 @@ + + + + + values + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

values

+
+

Returns an array containing the constants of this enum type, in the order they're declared.

This method may be used to iterate over the constants.

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-verdict-serializer/-verdict-serializer.html b/docs/cds/cds/org.icpclive.api/-verdict-serializer/-verdict-serializer.html new file mode 100644 index 000000000..e4641b55c --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-verdict-serializer/-verdict-serializer.html @@ -0,0 +1,72 @@ + + + + + VerdictSerializer + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

VerdictSerializer

+
+
constructor()(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-verdict-serializer/descriptor.html b/docs/cds/cds/org.icpclive.api/-verdict-serializer/descriptor.html new file mode 100644 index 000000000..4457d4353 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-verdict-serializer/descriptor.html @@ -0,0 +1,72 @@ + + + + + descriptor + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

descriptor

+
+
open override val descriptor: <Error class: unknown class>(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-verdict-serializer/deserialize.html b/docs/cds/cds/org.icpclive.api/-verdict-serializer/deserialize.html new file mode 100644 index 000000000..e530d801d --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-verdict-serializer/deserialize.html @@ -0,0 +1,72 @@ + + + + + deserialize + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

deserialize

+
+
open override fun deserialize(decoder: Decoder): Verdict(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-verdict-serializer/index.html b/docs/cds/cds/org.icpclive.api/-verdict-serializer/index.html new file mode 100644 index 000000000..33c9a708a --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-verdict-serializer/index.html @@ -0,0 +1,149 @@ + + + + + VerdictSerializer + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

VerdictSerializer

+
class VerdictSerializer : KSerializer<Verdict> (source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor()
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val descriptor: <Error class: unknown class>
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun deserialize(decoder: Decoder): Verdict
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun serialize(encoder: Encoder, value: Verdict)
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-verdict-serializer/serialize.html b/docs/cds/cds/org.icpclive.api/-verdict-serializer/serialize.html new file mode 100644 index 000000000..c92f00e8c --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-verdict-serializer/serialize.html @@ -0,0 +1,72 @@ + + + + + serialize + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

serialize

+
+
open override fun serialize(encoder: Encoder, value: Verdict)(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-verdict/-accepted/index.html b/docs/cds/cds/org.icpclive.api/-verdict/-accepted/index.html new file mode 100644 index 000000000..ac6bcdf3d --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-verdict/-accepted/index.html @@ -0,0 +1,145 @@ + + + + + Accepted + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Accepted

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-verdict/-challenged/index.html b/docs/cds/cds/org.icpclive.api/-verdict/-challenged/index.html new file mode 100644 index 000000000..d6037aa2e --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-verdict/-challenged/index.html @@ -0,0 +1,145 @@ + + + + + Challenged + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Challenged

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-verdict/-companion/all.html b/docs/cds/cds/org.icpclive.api/-verdict/-companion/all.html new file mode 100644 index 000000000..c6dd57f83 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-verdict/-companion/all.html @@ -0,0 +1,72 @@ + + + + + all + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

all

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-verdict/-companion/index.html b/docs/cds/cds/org.icpclive.api/-verdict/-companion/index.html new file mode 100644 index 000000000..f3ff4cbe5 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-verdict/-companion/index.html @@ -0,0 +1,115 @@ + + + + + Companion + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Companion

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun lookup(shortName: String, isAddingPenalty: Boolean, isAccepted: Boolean): Verdict
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-verdict/-companion/lookup.html b/docs/cds/cds/org.icpclive.api/-verdict/-companion/lookup.html new file mode 100644 index 000000000..b29b39fb3 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-verdict/-companion/lookup.html @@ -0,0 +1,72 @@ + + + + + lookup + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

lookup

+
+
fun lookup(shortName: String, isAddingPenalty: Boolean, isAccepted: Boolean): Verdict(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-verdict/-compilation-error-with-penalty/index.html b/docs/cds/cds/org.icpclive.api/-verdict/-compilation-error-with-penalty/index.html new file mode 100644 index 000000000..ed2ec1696 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-verdict/-compilation-error-with-penalty/index.html @@ -0,0 +1,145 @@ + + + + + CompilationErrorWithPenalty + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

CompilationErrorWithPenalty

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-verdict/-compilation-error/index.html b/docs/cds/cds/org.icpclive.api/-verdict/-compilation-error/index.html new file mode 100644 index 000000000..bdd980548 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-verdict/-compilation-error/index.html @@ -0,0 +1,145 @@ + + + + + CompilationError + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

CompilationError

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-verdict/-fail/index.html b/docs/cds/cds/org.icpclive.api/-verdict/-fail/index.html new file mode 100644 index 000000000..5ce7cf720 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-verdict/-fail/index.html @@ -0,0 +1,145 @@ + + + + + Fail + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Fail

+
object Fail : Verdict(source)
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-verdict/-idleness-limit-exceeded/index.html b/docs/cds/cds/org.icpclive.api/-verdict/-idleness-limit-exceeded/index.html new file mode 100644 index 000000000..157b23efa --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-verdict/-idleness-limit-exceeded/index.html @@ -0,0 +1,145 @@ + + + + + IdlenessLimitExceeded + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

IdlenessLimitExceeded

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-verdict/-ignored/index.html b/docs/cds/cds/org.icpclive.api/-verdict/-ignored/index.html new file mode 100644 index 000000000..13f553fe0 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-verdict/-ignored/index.html @@ -0,0 +1,145 @@ + + + + + Ignored + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Ignored

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-verdict/-memory-limit-exceeded/index.html b/docs/cds/cds/org.icpclive.api/-verdict/-memory-limit-exceeded/index.html new file mode 100644 index 000000000..7490746b1 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-verdict/-memory-limit-exceeded/index.html @@ -0,0 +1,145 @@ + + + + + MemoryLimitExceeded + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

MemoryLimitExceeded

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-verdict/-output-limit-exceeded/index.html b/docs/cds/cds/org.icpclive.api/-verdict/-output-limit-exceeded/index.html new file mode 100644 index 000000000..4b25d095d --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-verdict/-output-limit-exceeded/index.html @@ -0,0 +1,145 @@ + + + + + OutputLimitExceeded + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

OutputLimitExceeded

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-verdict/-presentation-error/index.html b/docs/cds/cds/org.icpclive.api/-verdict/-presentation-error/index.html new file mode 100644 index 000000000..962e7969f --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-verdict/-presentation-error/index.html @@ -0,0 +1,145 @@ + + + + + PresentationError + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

PresentationError

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-verdict/-rejected/index.html b/docs/cds/cds/org.icpclive.api/-verdict/-rejected/index.html new file mode 100644 index 000000000..1c46afb6a --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-verdict/-rejected/index.html @@ -0,0 +1,145 @@ + + + + + Rejected + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Rejected

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-verdict/-runtime-error/index.html b/docs/cds/cds/org.icpclive.api/-verdict/-runtime-error/index.html new file mode 100644 index 000000000..23ded7f8a --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-verdict/-runtime-error/index.html @@ -0,0 +1,145 @@ + + + + + RuntimeError + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

RuntimeError

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-verdict/-security-violation/index.html b/docs/cds/cds/org.icpclive.api/-verdict/-security-violation/index.html new file mode 100644 index 000000000..93aeeb7b2 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-verdict/-security-violation/index.html @@ -0,0 +1,145 @@ + + + + + SecurityViolation + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

SecurityViolation

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-verdict/-time-limit-exceeded/index.html b/docs/cds/cds/org.icpclive.api/-verdict/-time-limit-exceeded/index.html new file mode 100644 index 000000000..5b4a33687 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-verdict/-time-limit-exceeded/index.html @@ -0,0 +1,145 @@ + + + + + TimeLimitExceeded + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

TimeLimitExceeded

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-verdict/-wrong-answer/index.html b/docs/cds/cds/org.icpclive.api/-verdict/-wrong-answer/index.html new file mode 100644 index 000000000..a6b1b9ddc --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-verdict/-wrong-answer/index.html @@ -0,0 +1,145 @@ + + + + + WrongAnswer + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

WrongAnswer

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-verdict/index.html b/docs/cds/cds/org.icpclive.api/-verdict/index.html new file mode 100644 index 000000000..1ec879555 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-verdict/index.html @@ -0,0 +1,389 @@ + + + + + Verdict + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ + +
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
object Accepted : Verdict
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
object Companion
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
object Fail : Verdict
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
object Ignored : Verdict
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
object Rejected : Verdict
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-verdict/is-accepted.html b/docs/cds/cds/org.icpclive.api/-verdict/is-accepted.html new file mode 100644 index 000000000..a0a584392 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-verdict/is-accepted.html @@ -0,0 +1,72 @@ + + + + + isAccepted + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

isAccepted

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-verdict/is-adding-penalty.html b/docs/cds/cds/org.icpclive.api/-verdict/is-adding-penalty.html new file mode 100644 index 000000000..495baf21f --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-verdict/is-adding-penalty.html @@ -0,0 +1,72 @@ + + + + + isAddingPenalty + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

isAddingPenalty

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-verdict/short-name.html b/docs/cds/cds/org.icpclive.api/-verdict/short-name.html new file mode 100644 index 000000000..21dfd9bd7 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-verdict/short-name.html @@ -0,0 +1,72 @@ + + + + + shortName + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

shortName

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/-verdict/to-run-result.html b/docs/cds/cds/org.icpclive.api/-verdict/to-run-result.html new file mode 100644 index 000000000..17ac9d70e --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/-verdict/to-run-result.html @@ -0,0 +1,72 @@ + + + + + toRunResult + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toRunResult

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/index.html b/docs/cds/cds/org.icpclive.api/index.html new file mode 100644 index 000000000..a35813273 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/index.html @@ -0,0 +1,519 @@ + + + + + org.icpclive.api + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Package-level declarations

+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class AnalyticsCommentaryEvent(val id: String, val message: String, val time: Instant, val relativeTime: Duration, val teamIds: List<Int>, val runIds: List<Int>, val priority: Int = 0, val tags: List<String> = emptyList(), val advertisement: AnalyticsCompanionPreset? = null, val tickerMessage: AnalyticsCompanionPreset? = null, val featuredRun: AnalyticsCompanionRun? = null) : AnalyticsMessage
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class AnalyticsCompanionPreset(val presetId: Int, val expirationTime: Instant?)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class AnalyticsCompanionRun(val expirationTime: Instant?, val mediaType: MediaType)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
sealed class AnalyticsMessage
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class ContestInfo(val name: String, val status: ContestStatus, val resultType: ContestResultType, val startTime: Instant, val contestLength: Duration, val freezeTime: Duration, val problems: List<ProblemInfo>, val teams: List<TeamInfo>, val groups: List<GroupInfo>, val penaltyRoundingMode: PenaltyRoundingMode, val holdBeforeStartTime: Duration? = null, val emulationSpeed: Double = 1.0, val medals: List<MedalType> = emptyList(), val penaltyPerWrongAttempt: Duration = 20.minutes)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
enum ContestStatus : Enum<ContestStatus>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class GroupInfo(val name: String, val isHidden: Boolean = false, val isOutOfContest: Boolean = false)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class ICPCProblemResult(val wrongAttempts: Int, val pendingAttempts: Int, val isSolved: Boolean, val isFirstToSolve: Boolean, val lastSubmitTime: Duration?) : ProblemResult
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class ICPCRunResult(val verdict: Verdict, val isFirstToSolveRun: Boolean) : RunResult
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class IOIProblemResult(val score: Double?, val lastSubmitTime: Duration?, val isFirstBest: Boolean) : ProblemResult
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class IOIRunResult(val score: List<Double>, val wrongVerdict: Verdict? = null, val difference: Double = 0.0, val scoreAfter: Double = 0.0, val isFirstBestRun: Boolean = false, val isFirstBestTeamRun: Boolean = false) : RunResult
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class MedalType(val name: String, val count: Int, val minScore: Double = Double.MIN_VALUE, val tiebreakMode: MedalTiebreakMode = MedalTiebreakMode.ALL)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
sealed class MediaType
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
enum OptimismLevel : Enum<OptimismLevel>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class ProblemInfo(val letter: String, val name: String, val id: Int, val ordinal: Int, val contestSystemId: String, val minScore: Double? = null, val maxScore: Double? = null, val color: Color? = null, val scoreMergeMode: ScoreMergeMode? = null)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
sealed class ProblemResult
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class RunInfo(val id: Int, val result: RunResult?, val percentage: Double, val problemId: Int, val teamId: Int, val time: Duration, val featuredRunMedia: MediaType? = null, val reactionVideos: List<MediaType> = emptyList(), val isHidden: Boolean = false)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
sealed class RunResult
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class Scoreboard(val rows: List<ScoreboardRow>)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class ScoreboardRow(val teamId: Int, val rank: Int, val totalScore: Double, val penalty: Duration, val lastAccepted: Long, val medalType: String?, val problemResults: List<ProblemResult>, val teamGroups: List<String>, val championInGroups: List<String>)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class TeamInfo(val id: Int, val name: String, val shortName: String, val contestSystemId: String, val groups: List<String>, val hashTag: String?, val medias: Map<TeamMediaType, MediaType>, val additionalInfo: String? = null, val isHidden: Boolean = false, val isOutOfContest: Boolean = false)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
enum TeamMediaType : Enum<TeamMediaType>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = VerdictSerializer::class)
sealed class Verdict
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
class VerdictSerializer : KSerializer<Verdict>
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/to-advanced-properties.html b/docs/cds/cds/org.icpclive.api/to-advanced-properties.html new file mode 100644 index 000000000..def19dbd2 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/to-advanced-properties.html @@ -0,0 +1,72 @@ + + + + + toAdvancedProperties + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toAdvancedProperties

+
+

Converts values in ContestInfo to overrides in [AdvancedProperties

Parameters

fields

set of fields to include in returned value. Other would be set to null

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.api/to-group-infos.html b/docs/cds/cds/org.icpclive.api/to-group-infos.html new file mode 100644 index 000000000..c4a19e568 --- /dev/null +++ b/docs/cds/cds/org.icpclive.api/to-group-infos.html @@ -0,0 +1,72 @@ + + + + + toGroupInfos + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toGroupInfos

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.adapters/-advanced-properties-adapter/index.html b/docs/cds/cds/org.icpclive.cds.adapters/-advanced-properties-adapter/index.html new file mode 100644 index 000000000..0f7f4773e --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.adapters/-advanced-properties-adapter/index.html @@ -0,0 +1,76 @@ + + + + + AdvancedPropertiesAdapter + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

AdvancedPropertiesAdapter

+ +
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/-contest-event-with-grouped-runs.html b/docs/cds/cds/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/-contest-event-with-grouped-runs.html new file mode 100644 index 000000000..a9158adc6 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/-contest-event-with-grouped-runs.html @@ -0,0 +1,72 @@ + + + + + ContestEventWithGroupedRuns + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ContestEventWithGroupedRuns

+
+
constructor(event: ContestUpdate, infoBeforeEvent: ContestInfo?, runs: PersistentMap<K, PersistentList<RunInfo>>)(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/event.html b/docs/cds/cds/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/event.html new file mode 100644 index 000000000..409ab55c4 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/event.html @@ -0,0 +1,72 @@ + + + + + event + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

event

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/index.html b/docs/cds/cds/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/index.html new file mode 100644 index 000000000..69ff49e28 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/index.html @@ -0,0 +1,160 @@ + + + + + ContestEventWithGroupedRuns + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ContestEventWithGroupedRuns

+
class ContestEventWithGroupedRuns<K>(val event: ContestUpdate, val infoBeforeEvent: ContestInfo?, val runs: PersistentMap<K, PersistentList<RunInfo>>)(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(event: ContestUpdate, infoBeforeEvent: ContestInfo?, runs: PersistentMap<K, PersistentList<RunInfo>>)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val runs: PersistentMap<K, PersistentList<RunInfo>>
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/info-after-event.html b/docs/cds/cds/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/info-after-event.html new file mode 100644 index 000000000..a1c380637 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/info-after-event.html @@ -0,0 +1,72 @@ + + + + + infoAfterEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

infoAfterEvent

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/info-before-event.html b/docs/cds/cds/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/info-before-event.html new file mode 100644 index 000000000..2cd3b7478 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/info-before-event.html @@ -0,0 +1,72 @@ + + + + + infoBeforeEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

infoBeforeEvent

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/runs.html b/docs/cds/cds/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/runs.html new file mode 100644 index 000000000..5f0cf5722 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/runs.html @@ -0,0 +1,72 @@ + + + + + runs + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

runs

+
+
val runs: PersistentMap<K, PersistentList<RunInfo>>(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.adapters/-contest-event-with-runs-before/-contest-event-with-runs-before.html b/docs/cds/cds/org.icpclive.cds.adapters/-contest-event-with-runs-before/-contest-event-with-runs-before.html new file mode 100644 index 000000000..dc9204226 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.adapters/-contest-event-with-runs-before/-contest-event-with-runs-before.html @@ -0,0 +1,72 @@ + + + + + ContestEventWithRunsBefore + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ContestEventWithRunsBefore

+
+
constructor(event: ContestUpdate, infoBeforeEvent: ContestInfo?, runs: PersistentMap<Int, RunInfo>)(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.adapters/-contest-event-with-runs-before/event.html b/docs/cds/cds/org.icpclive.cds.adapters/-contest-event-with-runs-before/event.html new file mode 100644 index 000000000..d213c63a2 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.adapters/-contest-event-with-runs-before/event.html @@ -0,0 +1,72 @@ + + + + + event + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

event

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.adapters/-contest-event-with-runs-before/index.html b/docs/cds/cds/org.icpclive.cds.adapters/-contest-event-with-runs-before/index.html new file mode 100644 index 000000000..ff1631824 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.adapters/-contest-event-with-runs-before/index.html @@ -0,0 +1,160 @@ + + + + + ContestEventWithRunsBefore + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ContestEventWithRunsBefore

+
class ContestEventWithRunsBefore(val event: ContestUpdate, val infoBeforeEvent: ContestInfo?, val runs: PersistentMap<Int, RunInfo>)(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(event: ContestUpdate, infoBeforeEvent: ContestInfo?, runs: PersistentMap<Int, RunInfo>)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val runs: PersistentMap<Int, RunInfo>
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.adapters/-contest-event-with-runs-before/info-after-event.html b/docs/cds/cds/org.icpclive.cds.adapters/-contest-event-with-runs-before/info-after-event.html new file mode 100644 index 000000000..51c422b97 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.adapters/-contest-event-with-runs-before/info-after-event.html @@ -0,0 +1,72 @@ + + + + + infoAfterEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

infoAfterEvent

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.adapters/-contest-event-with-runs-before/info-before-event.html b/docs/cds/cds/org.icpclive.cds.adapters/-contest-event-with-runs-before/info-before-event.html new file mode 100644 index 000000000..cea8d8aa0 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.adapters/-contest-event-with-runs-before/info-before-event.html @@ -0,0 +1,72 @@ + + + + + infoBeforeEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

infoBeforeEvent

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.adapters/-contest-event-with-runs-before/runs.html b/docs/cds/cds/org.icpclive.cds.adapters/-contest-event-with-runs-before/runs.html new file mode 100644 index 000000000..bf97ac777 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.adapters/-contest-event-with-runs-before/runs.html @@ -0,0 +1,72 @@ + + + + + runs + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

runs

+
+
val runs: PersistentMap<Int, RunInfo>(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.adapters/-contest-state-with-grouped-runs/-contest-state-with-grouped-runs.html b/docs/cds/cds/org.icpclive.cds.adapters/-contest-state-with-grouped-runs/-contest-state-with-grouped-runs.html new file mode 100644 index 000000000..aacc334bd --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.adapters/-contest-state-with-grouped-runs/-contest-state-with-grouped-runs.html @@ -0,0 +1,72 @@ + + + + + ContestStateWithGroupedRuns + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ContestStateWithGroupedRuns

+
+
constructor(info: ContestInfo?, runs: PersistentMap<K, PersistentList<RunInfo>>)(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.adapters/-contest-state-with-grouped-runs/index.html b/docs/cds/cds/org.icpclive.cds.adapters/-contest-state-with-grouped-runs/index.html new file mode 100644 index 000000000..c349a267f --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.adapters/-contest-state-with-grouped-runs/index.html @@ -0,0 +1,130 @@ + + + + + ContestStateWithGroupedRuns + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ContestStateWithGroupedRuns

+
open class ContestStateWithGroupedRuns<K>(val info: ContestInfo?, val runs: PersistentMap<K, PersistentList<RunInfo>>)(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(info: ContestInfo?, runs: PersistentMap<K, PersistentList<RunInfo>>)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val runs: PersistentMap<K, PersistentList<RunInfo>>
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.adapters/-contest-state-with-grouped-runs/info.html b/docs/cds/cds/org.icpclive.cds.adapters/-contest-state-with-grouped-runs/info.html new file mode 100644 index 000000000..a0eaabe84 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.adapters/-contest-state-with-grouped-runs/info.html @@ -0,0 +1,72 @@ + + + + + info + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

info

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.adapters/-contest-state-with-grouped-runs/runs.html b/docs/cds/cds/org.icpclive.cds.adapters/-contest-state-with-grouped-runs/runs.html new file mode 100644 index 000000000..13e83d159 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.adapters/-contest-state-with-grouped-runs/runs.html @@ -0,0 +1,72 @@ + + + + + runs + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

runs

+
+
val runs: PersistentMap<K, PersistentList<RunInfo>>(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.adapters/-contest-state-with-runs-by-team/-contest-state-with-runs-by-team.html b/docs/cds/cds/org.icpclive.cds.adapters/-contest-state-with-runs-by-team/-contest-state-with-runs-by-team.html new file mode 100644 index 000000000..d4abf99f9 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.adapters/-contest-state-with-runs-by-team/-contest-state-with-runs-by-team.html @@ -0,0 +1,72 @@ + + + + + ContestStateWithRunsByTeam + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ContestStateWithRunsByTeam

+
+
constructor(info: ContestInfo?, runs: PersistentMap<Int, PersistentList<RunInfo>>)(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.adapters/-contest-state-with-runs-by-team/index.html b/docs/cds/cds/org.icpclive.cds.adapters/-contest-state-with-runs-by-team/index.html new file mode 100644 index 000000000..343cf2e8d --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.adapters/-contest-state-with-runs-by-team/index.html @@ -0,0 +1,130 @@ + + + + + ContestStateWithRunsByTeam + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ContestStateWithRunsByTeam

+
class ContestStateWithRunsByTeam(val info: ContestInfo?, val runs: PersistentMap<Int, PersistentList<RunInfo>>)(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(info: ContestInfo?, runs: PersistentMap<Int, PersistentList<RunInfo>>)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val runs: PersistentMap<Int, PersistentList<RunInfo>>
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.adapters/-contest-state-with-runs-by-team/info.html b/docs/cds/cds/org.icpclive.cds.adapters/-contest-state-with-runs-by-team/info.html new file mode 100644 index 000000000..19515c301 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.adapters/-contest-state-with-runs-by-team/info.html @@ -0,0 +1,72 @@ + + + + + info + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

info

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.adapters/-contest-state-with-runs-by-team/runs.html b/docs/cds/cds/org.icpclive.cds.adapters/-contest-state-with-runs-by-team/runs.html new file mode 100644 index 000000000..d4b965c29 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.adapters/-contest-state-with-runs-by-team/runs.html @@ -0,0 +1,72 @@ + + + + + runs + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

runs

+
+
val runs: PersistentMap<Int, PersistentList<RunInfo>>(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.adapters/add-first-to-solves.html b/docs/cds/cds/org.icpclive.cds.adapters/add-first-to-solves.html new file mode 100644 index 000000000..0869deb84 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.adapters/add-first-to-solves.html @@ -0,0 +1,72 @@ + + + + + addFirstToSolves + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

addFirstToSolves

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.adapters/apply-advanced-properties.html b/docs/cds/cds/org.icpclive.cds.adapters/apply-advanced-properties.html new file mode 100644 index 000000000..69866532f --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.adapters/apply-advanced-properties.html @@ -0,0 +1,72 @@ + + + + + applyAdvancedProperties + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

applyAdvancedProperties

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.adapters/calculate-score-differences.html b/docs/cds/cds/org.icpclive.cds.adapters/calculate-score-differences.html new file mode 100644 index 000000000..d8a5e5e59 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.adapters/calculate-score-differences.html @@ -0,0 +1,72 @@ + + + + + calculateScoreDifferences + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

calculateScoreDifferences

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.adapters/filter-useless.html b/docs/cds/cds/org.icpclive.cds.adapters/filter-useless.html new file mode 100644 index 000000000..95a4fa36e --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.adapters/filter-useless.html @@ -0,0 +1,72 @@ + + + + + filterUseless + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

filterUseless

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.adapters/index.html b/docs/cds/cds/org.icpclive.cds.adapters/index.html new file mode 100644 index 000000000..85d37748b --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.adapters/index.html @@ -0,0 +1,339 @@ + + + + + org.icpclive.cds.adapters + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Package-level declarations

+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
class ContestEventWithGroupedRuns<K>(val event: ContestUpdate, val infoBeforeEvent: ContestInfo?, val runs: PersistentMap<K, PersistentList<RunInfo>>)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
class ContestEventWithRunsBefore(val event: ContestUpdate, val infoBeforeEvent: ContestInfo?, val runs: PersistentMap<Int, RunInfo>)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open class ContestStateWithGroupedRuns<K>(val info: ContestInfo?, val runs: PersistentMap<K, PersistentList<RunInfo>>)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
class ContestStateWithRunsByTeam(val info: ContestInfo?, val runs: PersistentMap<Int, PersistentList<RunInfo>>)
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun Flow<ContestUpdate>.applyAdvancedProperties(advancedPropsFlow: Flow<AdvancedProperties>): Flow<ContestUpdate>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
inline fun <K, V> PersistentMap<K, V>.update(k: K, block: (V?) -> V): PersistentMap<K, V>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun <K : Any> Flow<ContestUpdate>.withGroupedRuns(selector: (RunInfo) -> K, transformGroup: (key: K, cur: PersistentList<RunInfo>, original: PersistentList<RunInfo>, info: ContestInfo?) -> List<RunInfo>? = null, needUpdateGroup: (new: ContestInfo, old: ContestInfo?, key: K) -> Boolean? = null): Flow<ContestEventWithGroupedRuns<K>>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.adapters/process-hidden-teams-and-groups.html b/docs/cds/cds/org.icpclive.cds.adapters/process-hidden-teams-and-groups.html new file mode 100644 index 000000000..bc16bd544 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.adapters/process-hidden-teams-and-groups.html @@ -0,0 +1,72 @@ + + + + + processHiddenTeamsAndGroups + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

processHiddenTeamsAndGroups

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.adapters/remove-frozen-submissions.html b/docs/cds/cds/org.icpclive.cds.adapters/remove-frozen-submissions.html new file mode 100644 index 000000000..6c0db03b8 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.adapters/remove-frozen-submissions.html @@ -0,0 +1,72 @@ + + + + + removeFrozenSubmissions + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

removeFrozenSubmissions

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.adapters/state-grouped-by-team.html b/docs/cds/cds/org.icpclive.cds.adapters/state-grouped-by-team.html new file mode 100644 index 000000000..916bcfa2a --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.adapters/state-grouped-by-team.html @@ -0,0 +1,72 @@ + + + + + stateGroupedByTeam + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

stateGroupedByTeam

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.adapters/state-with-grouped-runs.html b/docs/cds/cds/org.icpclive.cds.adapters/state-with-grouped-runs.html new file mode 100644 index 000000000..4a75d8470 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.adapters/state-with-grouped-runs.html @@ -0,0 +1,72 @@ + + + + + stateWithGroupedRuns + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

stateWithGroupedRuns

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.adapters/update.html b/docs/cds/cds/org.icpclive.cds.adapters/update.html new file mode 100644 index 000000000..bd11c8312 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.adapters/update.html @@ -0,0 +1,72 @@ + + + + + update + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

update

+
+
inline fun <K, V> PersistentMap<K, V>.update(k: K, block: (V?) -> V): PersistentMap<K, V>(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.adapters/with-contest-info.html b/docs/cds/cds/org.icpclive.cds.adapters/with-contest-info.html new file mode 100644 index 000000000..3c7433468 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.adapters/with-contest-info.html @@ -0,0 +1,72 @@ + + + + + withContestInfo + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

withContestInfo

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.adapters/with-grouped-runs.html b/docs/cds/cds/org.icpclive.cds.adapters/with-grouped-runs.html new file mode 100644 index 000000000..69c99ea60 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.adapters/with-grouped-runs.html @@ -0,0 +1,72 @@ + + + + + withGroupedRuns + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

withGroupedRuns

+
+
fun <K : Any> Flow<ContestUpdate>.withGroupedRuns(selector: (RunInfo) -> K, transformGroup: (key: K, cur: PersistentList<RunInfo>, original: PersistentList<RunInfo>, info: ContestInfo?) -> List<RunInfo>? = null, needUpdateGroup: (new: ContestInfo, old: ContestInfo?, key: K) -> Boolean? = null): Flow<ContestEventWithGroupedRuns<K>>(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.adapters/with-runs-before.html b/docs/cds/cds/org.icpclive.cds.adapters/with-runs-before.html new file mode 100644 index 000000000..9e8506147 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.adapters/with-runs-before.html @@ -0,0 +1,72 @@ + + + + + withRunsBefore + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

withRunsBefore

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-awards-event/-awards-event.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-awards-event/-awards-event.html new file mode 100644 index 000000000..eff6365e1 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-awards-event/-awards-event.html @@ -0,0 +1,72 @@ + + + + + AwardsEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

AwardsEvent

+
+
constructor(id: String, op: Operation, data: Award)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-awards-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-awards-event/data.html new file mode 100644 index 000000000..44e6cde2f --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-awards-event/data.html @@ -0,0 +1,72 @@ + + + + + data + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

data

+
+
val data: Award
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-awards-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-awards-event/id.html new file mode 100644 index 000000000..eb92c5fe8 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-awards-event/id.html @@ -0,0 +1,72 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
open override val id: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-awards-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-awards-event/index.html new file mode 100644 index 000000000..8c23fe7e0 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-awards-event/index.html @@ -0,0 +1,145 @@ + + + + + AwardsEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

AwardsEvent

+
@Serializable
data class AwardsEvent(val id: String, val op: Operation, val data: Award) : Event.IgnoredEvent
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(id: String, op: Operation, data: Award)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val data: Award
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val id: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val op: Operation
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-awards-event/op.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-awards-event/op.html new file mode 100644 index 000000000..7dd770b15 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-awards-event/op.html @@ -0,0 +1,72 @@ + + + + + op + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

op

+
+
open override val op: Operation
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-clarification-event/-clarification-event.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-clarification-event/-clarification-event.html new file mode 100644 index 000000000..f4188d2bb --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-clarification-event/-clarification-event.html @@ -0,0 +1,72 @@ + + + + + ClarificationEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ClarificationEvent

+
+
constructor(id: String, op: Operation, data: Clarification)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-clarification-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-clarification-event/data.html new file mode 100644 index 000000000..d7fbb4c5e --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-clarification-event/data.html @@ -0,0 +1,72 @@ + + + + + data + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

data

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-clarification-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-clarification-event/id.html new file mode 100644 index 000000000..0119959eb --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-clarification-event/id.html @@ -0,0 +1,72 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
open override val id: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-clarification-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-clarification-event/index.html new file mode 100644 index 000000000..5c2cfd8c5 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-clarification-event/index.html @@ -0,0 +1,145 @@ + + + + + ClarificationEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ClarificationEvent

+
@Serializable
data class ClarificationEvent(val id: String, val op: Operation, val data: Clarification) : Event.IgnoredEvent
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(id: String, op: Operation, data: Clarification)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val id: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val op: Operation
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-clarification-event/op.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-clarification-event/op.html new file mode 100644 index 000000000..154520344 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-clarification-event/op.html @@ -0,0 +1,72 @@ + + + + + op + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

op

+
+
open override val op: Operation
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-commentary-event/-commentary-event.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-commentary-event/-commentary-event.html new file mode 100644 index 000000000..140518dfe --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-commentary-event/-commentary-event.html @@ -0,0 +1,72 @@ + + + + + CommentaryEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

CommentaryEvent

+
+
constructor(id: String, op: Operation, data: Commentary)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-commentary-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-commentary-event/data.html new file mode 100644 index 000000000..24a354c59 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-commentary-event/data.html @@ -0,0 +1,72 @@ + + + + + data + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

data

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-commentary-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-commentary-event/id.html new file mode 100644 index 000000000..155a15fb4 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-commentary-event/id.html @@ -0,0 +1,72 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
open override val id: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-commentary-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-commentary-event/index.html new file mode 100644 index 000000000..3fe68e57c --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-commentary-event/index.html @@ -0,0 +1,145 @@ + + + + + CommentaryEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

CommentaryEvent

+
@Serializable
data class CommentaryEvent(val id: String, val op: Operation, val data: Commentary) : Event
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(id: String, op: Operation, data: Commentary)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val id: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val op: Operation
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-commentary-event/op.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-commentary-event/op.html new file mode 100644 index 000000000..c176fccde --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-commentary-event/op.html @@ -0,0 +1,72 @@ + + + + + op + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

op

+
+
open override val op: Operation
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-contest-event/-contest-event.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-contest-event/-contest-event.html new file mode 100644 index 000000000..6b184f9be --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-contest-event/-contest-event.html @@ -0,0 +1,72 @@ + + + + + ContestEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ContestEvent

+
+
constructor(id: String, op: Operation, data: Contest)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-contest-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-contest-event/data.html new file mode 100644 index 000000000..eef834150 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-contest-event/data.html @@ -0,0 +1,72 @@ + + + + + data + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

data

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-contest-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-contest-event/id.html new file mode 100644 index 000000000..d039bdbd7 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-contest-event/id.html @@ -0,0 +1,72 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
open override val id: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-contest-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-contest-event/index.html new file mode 100644 index 000000000..5879d9b7d --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-contest-event/index.html @@ -0,0 +1,145 @@ + + + + + ContestEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ContestEvent

+
@Serializable
data class ContestEvent(val id: String, val op: Operation, val data: Contest) : Event.UpdateContestEvent
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(id: String, op: Operation, data: Contest)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val id: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val op: Operation
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-contest-event/op.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-contest-event/op.html new file mode 100644 index 000000000..292a9d42b --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-contest-event/op.html @@ -0,0 +1,72 @@ + + + + + op + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

op

+
+
open override val op: Operation
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-groups-event/-groups-event.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-groups-event/-groups-event.html new file mode 100644 index 000000000..d6be8928e --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-groups-event/-groups-event.html @@ -0,0 +1,72 @@ + + + + + GroupsEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

GroupsEvent

+
+
constructor(id: String, op: Operation, data: Group)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-groups-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-groups-event/data.html new file mode 100644 index 000000000..e481980c9 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-groups-event/data.html @@ -0,0 +1,72 @@ + + + + + data + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

data

+
+
val data: Group
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-groups-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-groups-event/id.html new file mode 100644 index 000000000..a503ffe62 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-groups-event/id.html @@ -0,0 +1,72 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
open override val id: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-groups-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-groups-event/index.html new file mode 100644 index 000000000..152740286 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-groups-event/index.html @@ -0,0 +1,145 @@ + + + + + GroupsEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

GroupsEvent

+
@Serializable
data class GroupsEvent(val id: String, val op: Operation, val data: Group) : Event.UpdateContestEvent
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(id: String, op: Operation, data: Group)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val data: Group
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val id: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val op: Operation
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-groups-event/op.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-groups-event/op.html new file mode 100644 index 000000000..75998780a --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-groups-event/op.html @@ -0,0 +1,72 @@ + + + + + op + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

op

+
+
open override val op: Operation
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-ignored-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-ignored-event/index.html new file mode 100644 index 000000000..7f7a08425 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-ignored-event/index.html @@ -0,0 +1,111 @@ + + + + + IgnoredEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

IgnoredEvent

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val id: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val op: Operation
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-event/-judgement-event.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-event/-judgement-event.html new file mode 100644 index 000000000..0ddfed807 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-event/-judgement-event.html @@ -0,0 +1,72 @@ + + + + + JudgementEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

JudgementEvent

+
+
constructor(id: String, op: Operation, data: Judgement)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-event/data.html new file mode 100644 index 000000000..cd8fb45a9 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-event/data.html @@ -0,0 +1,72 @@ + + + + + data + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

data

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-event/id.html new file mode 100644 index 000000000..a043f2a38 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-event/id.html @@ -0,0 +1,72 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
open override val id: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-event/index.html new file mode 100644 index 000000000..a6e27ec57 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-event/index.html @@ -0,0 +1,145 @@ + + + + + JudgementEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

JudgementEvent

+
@Serializable
data class JudgementEvent(val id: String, val op: Operation, val data: Judgement) : Event.UpdateRunEvent
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(id: String, op: Operation, data: Judgement)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val id: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val op: Operation
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-event/op.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-event/op.html new file mode 100644 index 000000000..89aa865c1 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-event/op.html @@ -0,0 +1,72 @@ + + + + + op + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

op

+
+
open override val op: Operation
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-type-event/-judgement-type-event.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-type-event/-judgement-type-event.html new file mode 100644 index 000000000..376ceea2e --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-type-event/-judgement-type-event.html @@ -0,0 +1,72 @@ + + + + + JudgementTypeEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

JudgementTypeEvent

+
+
constructor(id: String, op: Operation, data: JudgementType)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-type-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-type-event/data.html new file mode 100644 index 000000000..aa7f166da --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-type-event/data.html @@ -0,0 +1,72 @@ + + + + + data + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

data

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-type-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-type-event/id.html new file mode 100644 index 000000000..17fdea195 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-type-event/id.html @@ -0,0 +1,72 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
open override val id: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-type-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-type-event/index.html new file mode 100644 index 000000000..01b7e2411 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-type-event/index.html @@ -0,0 +1,145 @@ + + + + + JudgementTypeEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

JudgementTypeEvent

+
@Serializable
data class JudgementTypeEvent(val id: String, val op: Operation, val data: JudgementType) : Event.UpdateContestEvent
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(id: String, op: Operation, data: JudgementType)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val id: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val op: Operation
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-type-event/op.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-type-event/op.html new file mode 100644 index 000000000..c400e266b --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-type-event/op.html @@ -0,0 +1,72 @@ + + + + + op + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

op

+
+
open override val op: Operation
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-language-event/-language-event.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-language-event/-language-event.html new file mode 100644 index 000000000..20d88a36f --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-language-event/-language-event.html @@ -0,0 +1,72 @@ + + + + + LanguageEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

LanguageEvent

+
+
constructor(id: String, op: Operation, data: Language)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-language-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-language-event/data.html new file mode 100644 index 000000000..8a34a2071 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-language-event/data.html @@ -0,0 +1,72 @@ + + + + + data + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

data

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-language-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-language-event/id.html new file mode 100644 index 000000000..109d0ec8d --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-language-event/id.html @@ -0,0 +1,72 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
open override val id: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-language-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-language-event/index.html new file mode 100644 index 000000000..f7af3edba --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-language-event/index.html @@ -0,0 +1,145 @@ + + + + + LanguageEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

LanguageEvent

+
@Serializable
data class LanguageEvent(val id: String, val op: Operation, val data: Language) : Event.IgnoredEvent
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(id: String, op: Operation, data: Language)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val id: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val op: Operation
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-language-event/op.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-language-event/op.html new file mode 100644 index 000000000..672173cdf --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-language-event/op.html @@ -0,0 +1,72 @@ + + + + + op + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

op

+
+
open override val op: Operation
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-organization-event/-organization-event.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-organization-event/-organization-event.html new file mode 100644 index 000000000..3c94e578d --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-organization-event/-organization-event.html @@ -0,0 +1,72 @@ + + + + + OrganizationEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

OrganizationEvent

+
+
constructor(id: String, op: Operation, data: Organization)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-organization-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-organization-event/data.html new file mode 100644 index 000000000..e43d8ad50 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-organization-event/data.html @@ -0,0 +1,72 @@ + + + + + data + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

data

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-organization-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-organization-event/id.html new file mode 100644 index 000000000..c0348e5ca --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-organization-event/id.html @@ -0,0 +1,72 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
open override val id: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-organization-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-organization-event/index.html new file mode 100644 index 000000000..e15525783 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-organization-event/index.html @@ -0,0 +1,145 @@ + + + + + OrganizationEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

OrganizationEvent

+
@Serializable
data class OrganizationEvent(val id: String, val op: Operation, val data: Organization) : Event.UpdateContestEvent
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(id: String, op: Operation, data: Organization)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val id: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val op: Operation
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-organization-event/op.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-organization-event/op.html new file mode 100644 index 000000000..4bfb58614 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-organization-event/op.html @@ -0,0 +1,72 @@ + + + + + op + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

op

+
+
open override val op: Operation
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-preload-finished-event/-preload-finished-event.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-preload-finished-event/-preload-finished-event.html new file mode 100644 index 000000000..7a9133a57 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-preload-finished-event/-preload-finished-event.html @@ -0,0 +1,72 @@ + + + + + PreloadFinishedEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

PreloadFinishedEvent

+
+
constructor(id: String, op: Operation)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-preload-finished-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-preload-finished-event/id.html new file mode 100644 index 000000000..bb560e1af --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-preload-finished-event/id.html @@ -0,0 +1,72 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
open override val id: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-preload-finished-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-preload-finished-event/index.html new file mode 100644 index 000000000..5fb418c59 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-preload-finished-event/index.html @@ -0,0 +1,130 @@ + + + + + PreloadFinishedEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

PreloadFinishedEvent

+ +
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(id: String, op: Operation)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val id: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val op: Operation
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-preload-finished-event/op.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-preload-finished-event/op.html new file mode 100644 index 000000000..a68c35987 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-preload-finished-event/op.html @@ -0,0 +1,72 @@ + + + + + op + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

op

+
+
open override val op: Operation
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-problem-event/-problem-event.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-problem-event/-problem-event.html new file mode 100644 index 000000000..d070d3536 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-problem-event/-problem-event.html @@ -0,0 +1,72 @@ + + + + + ProblemEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ProblemEvent

+
+
constructor(id: String, op: Operation, data: Problem)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-problem-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-problem-event/data.html new file mode 100644 index 000000000..afb173eee --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-problem-event/data.html @@ -0,0 +1,72 @@ + + + + + data + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

data

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-problem-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-problem-event/id.html new file mode 100644 index 000000000..f0dac88bf --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-problem-event/id.html @@ -0,0 +1,72 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
open override val id: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-problem-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-problem-event/index.html new file mode 100644 index 000000000..9772377bf --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-problem-event/index.html @@ -0,0 +1,145 @@ + + + + + ProblemEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ProblemEvent

+
@Serializable
data class ProblemEvent(val id: String, val op: Operation, val data: Problem) : Event.UpdateContestEvent
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(id: String, op: Operation, data: Problem)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val id: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val op: Operation
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-problem-event/op.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-problem-event/op.html new file mode 100644 index 000000000..105121072 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-problem-event/op.html @@ -0,0 +1,72 @@ + + + + + op + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

op

+
+
open override val op: Operation
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-runs-event/-runs-event.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-runs-event/-runs-event.html new file mode 100644 index 000000000..4396d9d7c --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-runs-event/-runs-event.html @@ -0,0 +1,72 @@ + + + + + RunsEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

RunsEvent

+
+
constructor(id: String, op: Operation, data: Run)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-runs-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-runs-event/data.html new file mode 100644 index 000000000..22660c880 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-runs-event/data.html @@ -0,0 +1,72 @@ + + + + + data + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

data

+
+
val data: Run
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-runs-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-runs-event/id.html new file mode 100644 index 000000000..944e61d49 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-runs-event/id.html @@ -0,0 +1,72 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
open override val id: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-runs-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-runs-event/index.html new file mode 100644 index 000000000..1e3c437b5 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-runs-event/index.html @@ -0,0 +1,145 @@ + + + + + RunsEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

RunsEvent

+
@Serializable
data class RunsEvent(val id: String, val op: Operation, val data: Run) : Event.UpdateRunEvent
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(id: String, op: Operation, data: Run)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val data: Run
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val id: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val op: Operation
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-runs-event/op.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-runs-event/op.html new file mode 100644 index 000000000..1dfe73571 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-runs-event/op.html @@ -0,0 +1,72 @@ + + + + + op + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

op

+
+
open override val op: Operation
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-state-event/-state-event.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-state-event/-state-event.html new file mode 100644 index 000000000..279c831bb --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-state-event/-state-event.html @@ -0,0 +1,72 @@ + + + + + StateEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

StateEvent

+
+
constructor(id: String, op: Operation, data: State)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-state-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-state-event/data.html new file mode 100644 index 000000000..cd1217dd5 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-state-event/data.html @@ -0,0 +1,72 @@ + + + + + data + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

data

+
+
val data: State
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-state-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-state-event/id.html new file mode 100644 index 000000000..f0f3cb0c6 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-state-event/id.html @@ -0,0 +1,72 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
open override val id: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-state-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-state-event/index.html new file mode 100644 index 000000000..abf2a11e2 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-state-event/index.html @@ -0,0 +1,145 @@ + + + + + StateEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

StateEvent

+
@Serializable
data class StateEvent(val id: String, val op: Operation, val data: State) : Event.UpdateContestEvent
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(id: String, op: Operation, data: State)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val data: State
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val id: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val op: Operation
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-state-event/op.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-state-event/op.html new file mode 100644 index 000000000..0c8d67f94 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-state-event/op.html @@ -0,0 +1,72 @@ + + + + + op + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

op

+
+
open override val op: Operation
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-submission-event/-submission-event.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-submission-event/-submission-event.html new file mode 100644 index 000000000..e6e89f4ee --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-submission-event/-submission-event.html @@ -0,0 +1,72 @@ + + + + + SubmissionEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

SubmissionEvent

+
+
constructor(id: String, op: Operation, data: Submission)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-submission-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-submission-event/data.html new file mode 100644 index 000000000..f40158765 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-submission-event/data.html @@ -0,0 +1,72 @@ + + + + + data + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

data

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-submission-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-submission-event/id.html new file mode 100644 index 000000000..1290114aa --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-submission-event/id.html @@ -0,0 +1,72 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
open override val id: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-submission-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-submission-event/index.html new file mode 100644 index 000000000..9c228205d --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-submission-event/index.html @@ -0,0 +1,145 @@ + + + + + SubmissionEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

SubmissionEvent

+
@Serializable
data class SubmissionEvent(val id: String, val op: Operation, val data: Submission) : Event.UpdateRunEvent
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(id: String, op: Operation, data: Submission)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val id: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val op: Operation
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-submission-event/op.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-submission-event/op.html new file mode 100644 index 000000000..7823c148b --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-submission-event/op.html @@ -0,0 +1,72 @@ + + + + + op + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

op

+
+
open override val op: Operation
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-team-event/-team-event.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-team-event/-team-event.html new file mode 100644 index 000000000..672bb2c79 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-team-event/-team-event.html @@ -0,0 +1,72 @@ + + + + + TeamEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

TeamEvent

+
+
constructor(id: String, op: Operation, data: Team)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-team-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-team-event/data.html new file mode 100644 index 000000000..403aafb30 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-team-event/data.html @@ -0,0 +1,72 @@ + + + + + data + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

data

+
+
val data: Team
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-team-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-team-event/id.html new file mode 100644 index 000000000..362eeef5d --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-team-event/id.html @@ -0,0 +1,72 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
open override val id: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-team-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-team-event/index.html new file mode 100644 index 000000000..de0d01d43 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-team-event/index.html @@ -0,0 +1,145 @@ + + + + + TeamEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

TeamEvent

+
@Serializable
data class TeamEvent(val id: String, val op: Operation, val data: Team) : Event.UpdateContestEvent
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(id: String, op: Operation, data: Team)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val data: Team
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val id: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val op: Operation
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-team-event/op.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-team-event/op.html new file mode 100644 index 000000000..78cbf97b9 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-team-event/op.html @@ -0,0 +1,72 @@ + + + + + op + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

op

+
+
open override val op: Operation
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-update-contest-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-update-contest-event/index.html new file mode 100644 index 000000000..449288f84 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-update-contest-event/index.html @@ -0,0 +1,111 @@ + + + + + UpdateContestEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ + +
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val id: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val op: Operation
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-update-run-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-update-run-event/index.html new file mode 100644 index 000000000..3a3ca2419 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-update-run-event/index.html @@ -0,0 +1,111 @@ + + + + + UpdateRunEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

UpdateRunEvent

+
@Serializable
sealed class UpdateRunEvent : Event

Inheritors

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val id: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val op: Operation
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/id.html new file mode 100644 index 000000000..97fd334be --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/id.html @@ -0,0 +1,72 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
abstract val id: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/index.html new file mode 100644 index 000000000..596deb7e5 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/index.html @@ -0,0 +1,385 @@ + + + + + Event + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Event

+ +
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class AwardsEvent(val id: String, val op: Operation, val data: Award) : Event.IgnoredEvent
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class ClarificationEvent(val id: String, val op: Operation, val data: Clarification) : Event.IgnoredEvent
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class CommentaryEvent(val id: String, val op: Operation, val data: Commentary) : Event
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class ContestEvent(val id: String, val op: Operation, val data: Contest) : Event.UpdateContestEvent
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class GroupsEvent(val id: String, val op: Operation, val data: Group) : Event.UpdateContestEvent
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
sealed class IgnoredEvent : Event
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class JudgementEvent(val id: String, val op: Operation, val data: Judgement) : Event.UpdateRunEvent
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class JudgementTypeEvent(val id: String, val op: Operation, val data: JudgementType) : Event.UpdateContestEvent
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class LanguageEvent(val id: String, val op: Operation, val data: Language) : Event.IgnoredEvent
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class OrganizationEvent(val id: String, val op: Operation, val data: Organization) : Event.UpdateContestEvent
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class ProblemEvent(val id: String, val op: Operation, val data: Problem) : Event.UpdateContestEvent
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class RunsEvent(val id: String, val op: Operation, val data: Run) : Event.UpdateRunEvent
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class StateEvent(val id: String, val op: Operation, val data: State) : Event.UpdateContestEvent
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class SubmissionEvent(val id: String, val op: Operation, val data: Submission) : Event.UpdateRunEvent
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class TeamEvent(val id: String, val op: Operation, val data: Team) : Event.UpdateContestEvent
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
sealed class UpdateContestEvent : Event
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
sealed class UpdateRunEvent : Event
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val id: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val op: Operation
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/op.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/op.html new file mode 100644 index 000000000..a085afac6 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/op.html @@ -0,0 +1,72 @@ + + + + + op + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

op

+
+
abstract val op: Operation
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/index.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/index.html new file mode 100644 index 000000000..2e14f5e89 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api.v1/index.html @@ -0,0 +1,95 @@ + + + + + org.icpclive.cds.clics.api.v1 + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Package-level declarations

+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
sealed class Event
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-account/-account.html b/docs/cds/cds/org.icpclive.cds.clics.api/-account/-account.html new file mode 100644 index 000000000..ad005ff10 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-account/-account.html @@ -0,0 +1,72 @@ + + + + + Account + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Account

+
+
constructor(id: String, username: String, password: String?, type: Account.TYPE?, ip: String?, team_id: String?, person_id: String?)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-account/-t-y-p-e/-a-d-m-i-n/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-account/-t-y-p-e/-a-d-m-i-n/index.html new file mode 100644 index 000000000..ce637bbd5 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-account/-t-y-p-e/-a-d-m-i-n/index.html @@ -0,0 +1,111 @@ + + + + + ADMIN + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ADMIN

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-account/-t-y-p-e/-a-n-a-l-y-s-t/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-account/-t-y-p-e/-a-n-a-l-y-s-t/index.html new file mode 100644 index 000000000..fd3e7fb50 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-account/-t-y-p-e/-a-n-a-l-y-s-t/index.html @@ -0,0 +1,111 @@ + + + + + ANALYST + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ANALYST

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-account/-t-y-p-e/-j-u-d-g-e/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-account/-t-y-p-e/-j-u-d-g-e/index.html new file mode 100644 index 000000000..380f9121e --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-account/-t-y-p-e/-j-u-d-g-e/index.html @@ -0,0 +1,111 @@ + + + + + JUDGE + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

JUDGE

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-account/-t-y-p-e/-s-t-a-f-f/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-account/-t-y-p-e/-s-t-a-f-f/index.html new file mode 100644 index 000000000..93c809326 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-account/-t-y-p-e/-s-t-a-f-f/index.html @@ -0,0 +1,111 @@ + + + + + STAFF + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

STAFF

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-account/-t-y-p-e/-t-e-a-m/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-account/-t-y-p-e/-t-e-a-m/index.html new file mode 100644 index 000000000..758a679df --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-account/-t-y-p-e/-t-e-a-m/index.html @@ -0,0 +1,111 @@ + + + + + TEAM + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

TEAM

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-account/-t-y-p-e/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-account/-t-y-p-e/index.html new file mode 100644 index 000000000..f0e1862bf --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-account/-t-y-p-e/index.html @@ -0,0 +1,224 @@ + + + + + TYPE + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

TYPE

+
@Serializable
enum TYPE : Enum<Account.TYPE>
+
+
+
+
+
+

Entries

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Returns an array containing the constants of this enum type, in the order they're declared.

+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-account/-t-y-p-e/value-of.html b/docs/cds/cds/org.icpclive.cds.clics.api/-account/-t-y-p-e/value-of.html new file mode 100644 index 000000000..e357d18ab --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-account/-t-y-p-e/value-of.html @@ -0,0 +1,72 @@ + + + + + valueOf + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

valueOf

+
+

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Throws

if this enum type has no constant with the specified name

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-account/-t-y-p-e/values.html b/docs/cds/cds/org.icpclive.cds.clics.api/-account/-t-y-p-e/values.html new file mode 100644 index 000000000..9a7ed4c71 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-account/-t-y-p-e/values.html @@ -0,0 +1,72 @@ + + + + + values + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

values

+
+

Returns an array containing the constants of this enum type, in the order they're declared.

This method may be used to iterate over the constants.

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-account/id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-account/id.html new file mode 100644 index 000000000..9752163da --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-account/id.html @@ -0,0 +1,72 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
val id: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-account/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-account/index.html new file mode 100644 index 000000000..f956f998a --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-account/index.html @@ -0,0 +1,224 @@ + + + + + Account + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Account

+
@Serializable
data class Account(val id: String, val username: String, val password: String?, val type: Account.TYPE?, val ip: String?, val team_id: String?, val person_id: String?)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(id: String, username: String, password: String?, type: Account.TYPE?, ip: String?, team_id: String?, person_id: String?)
+
+
+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
enum TYPE : Enum<Account.TYPE>
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val id: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val ip: String?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-account/ip.html b/docs/cds/cds/org.icpclive.cds.clics.api/-account/ip.html new file mode 100644 index 000000000..819a027a5 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-account/ip.html @@ -0,0 +1,72 @@ + + + + + ip + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ip

+
+
val ip: String?
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-account/password.html b/docs/cds/cds/org.icpclive.cds.clics.api/-account/password.html new file mode 100644 index 000000000..16b19ce0b --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-account/password.html @@ -0,0 +1,72 @@ + + + + + password + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

password

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-account/person_id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-account/person_id.html new file mode 100644 index 000000000..0cc1815ed --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-account/person_id.html @@ -0,0 +1,72 @@ + + + + + person_id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

person_id

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-account/team_id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-account/team_id.html new file mode 100644 index 000000000..af52b26ed --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-account/team_id.html @@ -0,0 +1,72 @@ + + + + + team_id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

team_id

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-account/type.html b/docs/cds/cds/org.icpclive.cds.clics.api/-account/type.html new file mode 100644 index 000000000..118bdb3aa --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-account/type.html @@ -0,0 +1,72 @@ + + + + + type + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

type

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-account/username.html b/docs/cds/cds/org.icpclive.cds.clics.api/-account/username.html new file mode 100644 index 000000000..3c2b8af27 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-account/username.html @@ -0,0 +1,72 @@ + + + + + username + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

username

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-award/-award.html b/docs/cds/cds/org.icpclive.cds.clics.api/-award/-award.html new file mode 100644 index 000000000..cff84fa87 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-award/-award.html @@ -0,0 +1,72 @@ + + + + + Award + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Award

+
+
constructor(id: String)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-award/id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-award/id.html new file mode 100644 index 000000000..1e388e488 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-award/id.html @@ -0,0 +1,72 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
val id: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-award/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-award/index.html new file mode 100644 index 000000000..0abb11986 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-award/index.html @@ -0,0 +1,115 @@ + + + + + Award + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Award

+
@Serializable
data class Award(val id: String)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(id: String)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val id: String
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-clarification/-clarification.html b/docs/cds/cds/org.icpclive.cds.clics.api/-clarification/-clarification.html new file mode 100644 index 000000000..43a9875f8 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-clarification/-clarification.html @@ -0,0 +1,72 @@ + + + + + Clarification + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Clarification

+
+
constructor(id: String)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-clarification/id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-clarification/id.html new file mode 100644 index 000000000..32f609465 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-clarification/id.html @@ -0,0 +1,72 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
val id: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-clarification/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-clarification/index.html new file mode 100644 index 000000000..6c89ea760 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-clarification/index.html @@ -0,0 +1,115 @@ + + + + + Clarification + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Clarification

+
@Serializable
data class Clarification(val id: String)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(id: String)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val id: String
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-commentary/-commentary.html b/docs/cds/cds/org.icpclive.cds.clics.api/-commentary/-commentary.html new file mode 100644 index 000000000..b88ddbd6d --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-commentary/-commentary.html @@ -0,0 +1,72 @@ + + + + + Commentary + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Commentary

+
+
constructor(id: String, time: Instant, contest_time: Duration, message: String, team_ids: List<String>?, problem_ids: List<String>?, submission_ids: List<String>?)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-commentary/contest_time.html b/docs/cds/cds/org.icpclive.cds.clics.api/-commentary/contest_time.html new file mode 100644 index 000000000..4c67f92ee --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-commentary/contest_time.html @@ -0,0 +1,72 @@ + + + + + contest_time + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

contest_time

+
+
@Serializable(with = ClicsTime.DurationSerializer::class)
val contest_time: Duration
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-commentary/id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-commentary/id.html new file mode 100644 index 000000000..c7e5dd9e4 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-commentary/id.html @@ -0,0 +1,72 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
val id: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-commentary/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-commentary/index.html new file mode 100644 index 000000000..f6c976e56 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-commentary/index.html @@ -0,0 +1,205 @@ + + + + + Commentary + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Commentary

+
@Serializable
data class Commentary(val id: String, val time: Instant, val contest_time: Duration, val message: String, val team_ids: List<String>?, val problem_ids: List<String>?, val submission_ids: List<String>?)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(id: String, time: Instant, contest_time: Duration, message: String, team_ids: List<String>?, problem_ids: List<String>?, submission_ids: List<String>?)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = ClicsTime.DurationSerializer::class)
val contest_time: Duration
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val id: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = ClicsTime.InstantSerializer::class)
val time: Instant
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-commentary/message.html b/docs/cds/cds/org.icpclive.cds.clics.api/-commentary/message.html new file mode 100644 index 000000000..1724ae764 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-commentary/message.html @@ -0,0 +1,72 @@ + + + + + message + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

message

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-commentary/problem_ids.html b/docs/cds/cds/org.icpclive.cds.clics.api/-commentary/problem_ids.html new file mode 100644 index 000000000..1c893cccc --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-commentary/problem_ids.html @@ -0,0 +1,72 @@ + + + + + problem_ids + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

problem_ids

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-commentary/submission_ids.html b/docs/cds/cds/org.icpclive.cds.clics.api/-commentary/submission_ids.html new file mode 100644 index 000000000..ba8ff130a --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-commentary/submission_ids.html @@ -0,0 +1,72 @@ + + + + + submission_ids + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

submission_ids

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-commentary/team_ids.html b/docs/cds/cds/org.icpclive.cds.clics.api/-commentary/team_ids.html new file mode 100644 index 000000000..1661262e7 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-commentary/team_ids.html @@ -0,0 +1,72 @@ + + + + + team_ids + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

team_ids

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-commentary/time.html b/docs/cds/cds/org.icpclive.cds.clics.api/-commentary/time.html new file mode 100644 index 000000000..b0b4bd822 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-commentary/time.html @@ -0,0 +1,72 @@ + + + + + time + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

time

+
+
@Serializable(with = ClicsTime.InstantSerializer::class)
val time: Instant
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-contest/-contest.html b/docs/cds/cds/org.icpclive.cds.clics.api/-contest/-contest.html new file mode 100644 index 000000000..d62388b2e --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-contest/-contest.html @@ -0,0 +1,72 @@ + + + + + Contest + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Contest

+
+
constructor(id: String, start_time: Instant? = null, name: String? = null, formal_name: String? = null, duration: Duration, scoreboard_freeze_duration: Duration?, countdown_pause_time: Duration? = null, penalty_time: Duration? = null, scoreboard_type: String? = null)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-contest/countdown_pause_time.html b/docs/cds/cds/org.icpclive.cds.clics.api/-contest/countdown_pause_time.html new file mode 100644 index 000000000..87875bf51 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-contest/countdown_pause_time.html @@ -0,0 +1,72 @@ + + + + + countdown_pause_time + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

countdown_pause_time

+
+
@Serializable(with = ClicsTime.DurationSerializer::class)
val countdown_pause_time: Duration? = null
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-contest/duration.html b/docs/cds/cds/org.icpclive.cds.clics.api/-contest/duration.html new file mode 100644 index 000000000..d46d54560 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-contest/duration.html @@ -0,0 +1,72 @@ + + + + + duration + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

duration

+
+
@Serializable(with = ClicsTime.DurationSerializer::class)
val duration: Duration
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-contest/formal_name.html b/docs/cds/cds/org.icpclive.cds.clics.api/-contest/formal_name.html new file mode 100644 index 000000000..40c097e81 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-contest/formal_name.html @@ -0,0 +1,72 @@ + + + + + formal_name + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

formal_name

+
+
val formal_name: String? = null
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-contest/id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-contest/id.html new file mode 100644 index 000000000..07d9b137c --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-contest/id.html @@ -0,0 +1,72 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
val id: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-contest/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-contest/index.html new file mode 100644 index 000000000..d100d4378 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-contest/index.html @@ -0,0 +1,235 @@ + + + + + Contest + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Contest

+
@Serializable
data class Contest(val id: String, val start_time: Instant? = null, val name: String? = null, val formal_name: String? = null, val duration: Duration, val scoreboard_freeze_duration: Duration?, val countdown_pause_time: Duration? = null, val penalty_time: Duration? = null, val scoreboard_type: String? = null)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(id: String, start_time: Instant? = null, name: String? = null, formal_name: String? = null, duration: Duration, scoreboard_freeze_duration: Duration?, countdown_pause_time: Duration? = null, penalty_time: Duration? = null, scoreboard_type: String? = null)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = ClicsTime.DurationSerializer::class)
val countdown_pause_time: Duration? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = ClicsTime.DurationSerializer::class)
val duration: Duration
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val formal_name: String? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val id: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val name: String? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = DurationInMinutesSerializer::class)
val penalty_time: Duration? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = ClicsTime.DurationSerializer::class)
val scoreboard_freeze_duration: Duration?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val scoreboard_type: String? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = ClicsTime.InstantSerializer::class)
val start_time: Instant? = null
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-contest/name.html b/docs/cds/cds/org.icpclive.cds.clics.api/-contest/name.html new file mode 100644 index 000000000..3be6956bc --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-contest/name.html @@ -0,0 +1,72 @@ + + + + + name + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

name

+
+
val name: String? = null
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-contest/penalty_time.html b/docs/cds/cds/org.icpclive.cds.clics.api/-contest/penalty_time.html new file mode 100644 index 000000000..e6cc12f6c --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-contest/penalty_time.html @@ -0,0 +1,72 @@ + + + + + penalty_time + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

penalty_time

+
+
@Serializable(with = DurationInMinutesSerializer::class)
val penalty_time: Duration? = null
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-contest/scoreboard_freeze_duration.html b/docs/cds/cds/org.icpclive.cds.clics.api/-contest/scoreboard_freeze_duration.html new file mode 100644 index 000000000..64fca1f08 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-contest/scoreboard_freeze_duration.html @@ -0,0 +1,72 @@ + + + + + scoreboard_freeze_duration + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

scoreboard_freeze_duration

+
+
@Serializable(with = ClicsTime.DurationSerializer::class)
val scoreboard_freeze_duration: Duration?
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-contest/scoreboard_type.html b/docs/cds/cds/org.icpclive.cds.clics.api/-contest/scoreboard_type.html new file mode 100644 index 000000000..9fa7c7ca9 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-contest/scoreboard_type.html @@ -0,0 +1,72 @@ + + + + + scoreboard_type + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

scoreboard_type

+
+
val scoreboard_type: String? = null
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-contest/start_time.html b/docs/cds/cds/org.icpclive.cds.clics.api/-contest/start_time.html new file mode 100644 index 000000000..c729d771d --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-contest/start_time.html @@ -0,0 +1,72 @@ + + + + + start_time + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

start_time

+
+
@Serializable(with = ClicsTime.InstantSerializer::class)
val start_time: Instant? = null
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-account-event/-account-event.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-account-event/-account-event.html new file mode 100644 index 000000000..cfd35196e --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-account-event/-account-event.html @@ -0,0 +1,72 @@ + + + + + AccountEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

AccountEvent

+
+
constructor(id: String, token: String, data: Account?)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-account-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-account-event/data.html new file mode 100644 index 000000000..cf5be09bf --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-account-event/data.html @@ -0,0 +1,72 @@ + + + + + data + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

data

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-account-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-account-event/id.html new file mode 100644 index 000000000..69d089bc4 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-account-event/id.html @@ -0,0 +1,72 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
val id: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-account-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-account-event/index.html new file mode 100644 index 000000000..d1a8244ff --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-account-event/index.html @@ -0,0 +1,145 @@ + + + + + AccountEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

AccountEvent

+
@Serializable
data class AccountEvent(val id: String, val token: String, val data: Account?) : Event.IgnoredEvent
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(id: String, token: String, data: Account?)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val id: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val token: String
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-account-event/token.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-account-event/token.html new file mode 100644 index 000000000..70ac59dc9 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-account-event/token.html @@ -0,0 +1,72 @@ + + + + + token + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

token

+
+
open override val token: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-awards-event/-awards-event.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-awards-event/-awards-event.html new file mode 100644 index 000000000..0b8df9d59 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-awards-event/-awards-event.html @@ -0,0 +1,72 @@ + + + + + AwardsEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

AwardsEvent

+
+
constructor(id: String, token: String, data: Award?)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-awards-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-awards-event/data.html new file mode 100644 index 000000000..47cd58ecd --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-awards-event/data.html @@ -0,0 +1,72 @@ + + + + + data + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

data

+
+
val data: Award?
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-awards-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-awards-event/id.html new file mode 100644 index 000000000..1cf18058f --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-awards-event/id.html @@ -0,0 +1,72 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
val id: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-awards-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-awards-event/index.html new file mode 100644 index 000000000..29af77aa2 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-awards-event/index.html @@ -0,0 +1,145 @@ + + + + + AwardsEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

AwardsEvent

+
@Serializable
data class AwardsEvent(val id: String, val token: String, val data: Award?) : Event.IgnoredEvent
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(id: String, token: String, data: Award?)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val data: Award?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val id: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val token: String
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-awards-event/token.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-awards-event/token.html new file mode 100644 index 000000000..1b1a2e42c --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-awards-event/token.html @@ -0,0 +1,72 @@ + + + + + token + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

token

+
+
open override val token: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-clarification-event/-clarification-event.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-clarification-event/-clarification-event.html new file mode 100644 index 000000000..6d7f2eebd --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-clarification-event/-clarification-event.html @@ -0,0 +1,72 @@ + + + + + ClarificationEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ClarificationEvent

+
+
constructor(id: String, token: String, data: Clarification?)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-clarification-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-clarification-event/data.html new file mode 100644 index 000000000..2ae6d4a28 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-clarification-event/data.html @@ -0,0 +1,72 @@ + + + + + data + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

data

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-clarification-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-clarification-event/id.html new file mode 100644 index 000000000..ce20469f0 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-clarification-event/id.html @@ -0,0 +1,72 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
val id: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-clarification-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-clarification-event/index.html new file mode 100644 index 000000000..d8d2c9da4 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-clarification-event/index.html @@ -0,0 +1,145 @@ + + + + + ClarificationEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ClarificationEvent

+
@Serializable
data class ClarificationEvent(val id: String, val token: String, val data: Clarification?) : Event.IgnoredEvent
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(id: String, token: String, data: Clarification?)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val id: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val token: String
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-clarification-event/token.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-clarification-event/token.html new file mode 100644 index 000000000..9647b296a --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-clarification-event/token.html @@ -0,0 +1,72 @@ + + + + + token + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

token

+
+
open override val token: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-commentary-event/-commentary-event.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-commentary-event/-commentary-event.html new file mode 100644 index 000000000..9dd42ea6a --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-commentary-event/-commentary-event.html @@ -0,0 +1,72 @@ + + + + + CommentaryEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

CommentaryEvent

+
+
constructor(id: String, token: String, data: Commentary?)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-commentary-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-commentary-event/data.html new file mode 100644 index 000000000..58a461631 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-commentary-event/data.html @@ -0,0 +1,72 @@ + + + + + data + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

data

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-commentary-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-commentary-event/id.html new file mode 100644 index 000000000..833b7b72d --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-commentary-event/id.html @@ -0,0 +1,72 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
val id: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-commentary-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-commentary-event/index.html new file mode 100644 index 000000000..5fb54a3d3 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-commentary-event/index.html @@ -0,0 +1,145 @@ + + + + + CommentaryEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

CommentaryEvent

+
@Serializable
data class CommentaryEvent(val id: String, val token: String, val data: Commentary?) : Event
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(id: String, token: String, data: Commentary?)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val id: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val token: String
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-commentary-event/token.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-commentary-event/token.html new file mode 100644 index 000000000..b4ec64f90 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-commentary-event/token.html @@ -0,0 +1,72 @@ + + + + + token + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

token

+
+
open override val token: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-companion/from-v1.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-companion/from-v1.html new file mode 100644 index 000000000..eaa2a65d2 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-companion/from-v1.html @@ -0,0 +1,72 @@ + + + + + fromV1 + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

fromV1

+
+
fun fromV1(event: Event): Event
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-companion/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-companion/index.html new file mode 100644 index 000000000..f4362cf70 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-companion/index.html @@ -0,0 +1,96 @@ + + + + + Companion + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Companion

+
object Companion
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun fromV1(event: Event): Event
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event-named-non-with-spec/-contest-event-named-non-with-spec.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event-named-non-with-spec/-contest-event-named-non-with-spec.html new file mode 100644 index 000000000..ebb6456f3 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event-named-non-with-spec/-contest-event-named-non-with-spec.html @@ -0,0 +1,72 @@ + + + + + ContestEventNamedNonWithSpec + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ContestEventNamedNonWithSpec

+
+
constructor(token: String, data: Contest?)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event-named-non-with-spec/data.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event-named-non-with-spec/data.html new file mode 100644 index 000000000..a28dc76fb --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event-named-non-with-spec/data.html @@ -0,0 +1,72 @@ + + + + + data + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

data

+
+
open override val data: Contest?
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event-named-non-with-spec/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event-named-non-with-spec/index.html new file mode 100644 index 000000000..622e22256 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event-named-non-with-spec/index.html @@ -0,0 +1,130 @@ + + + + + ContestEventNamedNonWithSpec + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ContestEventNamedNonWithSpec

+
@Serializable
data class ContestEventNamedNonWithSpec(val token: String, val data: Contest?) : Event.ContestEvent
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(token: String, data: Contest?)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val data: Contest?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val token: String
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event-named-non-with-spec/token.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event-named-non-with-spec/token.html new file mode 100644 index 000000000..416b02f03 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event-named-non-with-spec/token.html @@ -0,0 +1,72 @@ + + + + + token + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

token

+
+
open override val token: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event-named-with-spec/-contest-event-named-with-spec.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event-named-with-spec/-contest-event-named-with-spec.html new file mode 100644 index 000000000..5388e8db4 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event-named-with-spec/-contest-event-named-with-spec.html @@ -0,0 +1,72 @@ + + + + + ContestEventNamedWithSpec + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ContestEventNamedWithSpec

+
+
constructor(token: String, data: Contest?)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event-named-with-spec/data.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event-named-with-spec/data.html new file mode 100644 index 000000000..cb3d65917 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event-named-with-spec/data.html @@ -0,0 +1,72 @@ + + + + + data + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

data

+
+
open override val data: Contest?
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event-named-with-spec/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event-named-with-spec/index.html new file mode 100644 index 000000000..87fe74892 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event-named-with-spec/index.html @@ -0,0 +1,130 @@ + + + + + ContestEventNamedWithSpec + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ContestEventNamedWithSpec

+
@Serializable
data class ContestEventNamedWithSpec(val token: String, val data: Contest?) : Event.ContestEvent
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(token: String, data: Contest?)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val data: Contest?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val token: String
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event-named-with-spec/token.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event-named-with-spec/token.html new file mode 100644 index 000000000..d4c7f321e --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event-named-with-spec/token.html @@ -0,0 +1,72 @@ + + + + + token + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

token

+
+
open override val token: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event/data.html new file mode 100644 index 000000000..e40617e00 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event/data.html @@ -0,0 +1,72 @@ + + + + + data + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

data

+
+
abstract val data: Contest?
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event/index.html new file mode 100644 index 000000000..5532b8e2a --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event/index.html @@ -0,0 +1,111 @@ + + + + + ContestEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ + +
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val data: Contest?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val token: String
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-groups-event/-groups-event.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-groups-event/-groups-event.html new file mode 100644 index 000000000..247838107 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-groups-event/-groups-event.html @@ -0,0 +1,72 @@ + + + + + GroupsEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

GroupsEvent

+
+
constructor(id: String, token: String, data: Group?)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-groups-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-groups-event/data.html new file mode 100644 index 000000000..ac6b89c9e --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-groups-event/data.html @@ -0,0 +1,72 @@ + + + + + data + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

data

+
+
val data: Group?
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-groups-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-groups-event/id.html new file mode 100644 index 000000000..6a0605568 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-groups-event/id.html @@ -0,0 +1,72 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
val id: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-groups-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-groups-event/index.html new file mode 100644 index 000000000..307667890 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-groups-event/index.html @@ -0,0 +1,145 @@ + + + + + GroupsEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

GroupsEvent

+
@Serializable
data class GroupsEvent(val id: String, val token: String, val data: Group?) : Event.UpdateContestEvent
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(id: String, token: String, data: Group?)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val data: Group?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val id: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val token: String
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-groups-event/token.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-groups-event/token.html new file mode 100644 index 000000000..d31409c33 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-groups-event/token.html @@ -0,0 +1,72 @@ + + + + + token + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

token

+
+
open override val token: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-ignored-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-ignored-event/index.html new file mode 100644 index 000000000..dadb57ecc --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-ignored-event/index.html @@ -0,0 +1,96 @@ + + + + + IgnoredEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ + +
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val token: String
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-event/-judgement-event.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-event/-judgement-event.html new file mode 100644 index 000000000..8dfd71025 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-event/-judgement-event.html @@ -0,0 +1,72 @@ + + + + + JudgementEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

JudgementEvent

+
+
constructor(id: String, token: String, data: Judgement?)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-event/data.html new file mode 100644 index 000000000..07b85d698 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-event/data.html @@ -0,0 +1,72 @@ + + + + + data + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

data

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-event/id.html new file mode 100644 index 000000000..8515e11b5 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-event/id.html @@ -0,0 +1,72 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
val id: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-event/index.html new file mode 100644 index 000000000..08d1d31bc --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-event/index.html @@ -0,0 +1,145 @@ + + + + + JudgementEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

JudgementEvent

+
@Serializable
data class JudgementEvent(val id: String, val token: String, val data: Judgement?) : Event.UpdateRunEvent
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(id: String, token: String, data: Judgement?)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val id: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val token: String
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-event/token.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-event/token.html new file mode 100644 index 000000000..5cc760898 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-event/token.html @@ -0,0 +1,72 @@ + + + + + token + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

token

+
+
open override val token: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-type-event/-judgement-type-event.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-type-event/-judgement-type-event.html new file mode 100644 index 000000000..5296cefe2 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-type-event/-judgement-type-event.html @@ -0,0 +1,72 @@ + + + + + JudgementTypeEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

JudgementTypeEvent

+
+
constructor(id: String, token: String, data: JudgementType?)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-type-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-type-event/data.html new file mode 100644 index 000000000..a05908423 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-type-event/data.html @@ -0,0 +1,72 @@ + + + + + data + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

data

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-type-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-type-event/id.html new file mode 100644 index 000000000..39078308e --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-type-event/id.html @@ -0,0 +1,72 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
val id: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-type-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-type-event/index.html new file mode 100644 index 000000000..19fffe938 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-type-event/index.html @@ -0,0 +1,145 @@ + + + + + JudgementTypeEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

JudgementTypeEvent

+
@Serializable
data class JudgementTypeEvent(val id: String, val token: String, val data: JudgementType?) : Event.UpdateContestEvent
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(id: String, token: String, data: JudgementType?)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val id: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val token: String
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-type-event/token.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-type-event/token.html new file mode 100644 index 000000000..24f8a7464 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-type-event/token.html @@ -0,0 +1,72 @@ + + + + + token + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

token

+
+
open override val token: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-language-event/-language-event.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-language-event/-language-event.html new file mode 100644 index 000000000..e83d8c07b --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-language-event/-language-event.html @@ -0,0 +1,72 @@ + + + + + LanguageEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

LanguageEvent

+
+
constructor(id: String, token: String, data: Language?)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-language-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-language-event/data.html new file mode 100644 index 000000000..48598f5b3 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-language-event/data.html @@ -0,0 +1,72 @@ + + + + + data + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

data

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-language-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-language-event/id.html new file mode 100644 index 000000000..c5c36ceb4 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-language-event/id.html @@ -0,0 +1,72 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
val id: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-language-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-language-event/index.html new file mode 100644 index 000000000..16b7db3a2 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-language-event/index.html @@ -0,0 +1,145 @@ + + + + + LanguageEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

LanguageEvent

+
@Serializable
data class LanguageEvent(val id: String, val token: String, val data: Language?) : Event.IgnoredEvent
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(id: String, token: String, data: Language?)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val id: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val token: String
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-language-event/token.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-language-event/token.html new file mode 100644 index 000000000..7d1d2f1d4 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-language-event/token.html @@ -0,0 +1,72 @@ + + + + + token + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

token

+
+
open override val token: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-map-event/-map-event.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-map-event/-map-event.html new file mode 100644 index 000000000..bbd188a6c --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-map-event/-map-event.html @@ -0,0 +1,72 @@ + + + + + MapEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

MapEvent

+
+
constructor(token: String)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-map-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-map-event/index.html new file mode 100644 index 000000000..2ca42df7e --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-map-event/index.html @@ -0,0 +1,115 @@ + + + + + MapEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

MapEvent

+
@Serializable
data class MapEvent(val token: String) : Event.IgnoredEvent
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(token: String)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val token: String
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-map-event/token.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-map-event/token.html new file mode 100644 index 000000000..dc5879d8b --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-map-event/token.html @@ -0,0 +1,72 @@ + + + + + token + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

token

+
+
open override val token: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-organization-event/-organization-event.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-organization-event/-organization-event.html new file mode 100644 index 000000000..2b5802d22 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-organization-event/-organization-event.html @@ -0,0 +1,72 @@ + + + + + OrganizationEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

OrganizationEvent

+
+
constructor(id: String, token: String, data: Organization?)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-organization-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-organization-event/data.html new file mode 100644 index 000000000..05dd478bd --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-organization-event/data.html @@ -0,0 +1,72 @@ + + + + + data + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

data

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-organization-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-organization-event/id.html new file mode 100644 index 000000000..9d2db6ca1 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-organization-event/id.html @@ -0,0 +1,72 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
val id: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-organization-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-organization-event/index.html new file mode 100644 index 000000000..8a850d3f1 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-organization-event/index.html @@ -0,0 +1,145 @@ + + + + + OrganizationEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

OrganizationEvent

+
@Serializable
data class OrganizationEvent(val id: String, val token: String, val data: Organization?) : Event.UpdateContestEvent
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(id: String, token: String, data: Organization?)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val id: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val token: String
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-organization-event/token.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-organization-event/token.html new file mode 100644 index 000000000..cbcfc22e6 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-organization-event/token.html @@ -0,0 +1,72 @@ + + + + + token + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

token

+
+
open override val token: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-person-event/-person-event.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-person-event/-person-event.html new file mode 100644 index 000000000..60e32d785 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-person-event/-person-event.html @@ -0,0 +1,72 @@ + + + + + PersonEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

PersonEvent

+
+
constructor(id: String, token: String)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-person-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-person-event/id.html new file mode 100644 index 000000000..825254d6d --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-person-event/id.html @@ -0,0 +1,72 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
val id: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-person-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-person-event/index.html new file mode 100644 index 000000000..b58748644 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-person-event/index.html @@ -0,0 +1,130 @@ + + + + + PersonEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

PersonEvent

+
@Serializable
data class PersonEvent(val id: String, val token: String) : Event.IgnoredEvent
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(id: String, token: String)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val id: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val token: String
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-person-event/token.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-person-event/token.html new file mode 100644 index 000000000..f75560ea7 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-person-event/token.html @@ -0,0 +1,72 @@ + + + + + token + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

token

+
+
open override val token: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-preload-finished-event/-preload-finished-event.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-preload-finished-event/-preload-finished-event.html new file mode 100644 index 000000000..adeb35d4f --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-preload-finished-event/-preload-finished-event.html @@ -0,0 +1,72 @@ + + + + + PreloadFinishedEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

PreloadFinishedEvent

+
+
constructor(token: String)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-preload-finished-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-preload-finished-event/index.html new file mode 100644 index 000000000..f548ca27d --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-preload-finished-event/index.html @@ -0,0 +1,115 @@ + + + + + PreloadFinishedEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

PreloadFinishedEvent

+ +
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(token: String)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val token: String
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-preload-finished-event/token.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-preload-finished-event/token.html new file mode 100644 index 000000000..96a0f84c9 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-preload-finished-event/token.html @@ -0,0 +1,72 @@ + + + + + token + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

token

+
+
open override val token: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-problem-event/-problem-event.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-problem-event/-problem-event.html new file mode 100644 index 000000000..78547826d --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-problem-event/-problem-event.html @@ -0,0 +1,72 @@ + + + + + ProblemEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ProblemEvent

+
+
constructor(id: String, token: String, data: Problem?)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-problem-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-problem-event/data.html new file mode 100644 index 000000000..b0961229b --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-problem-event/data.html @@ -0,0 +1,72 @@ + + + + + data + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

data

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-problem-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-problem-event/id.html new file mode 100644 index 000000000..497c3a68a --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-problem-event/id.html @@ -0,0 +1,72 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
val id: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-problem-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-problem-event/index.html new file mode 100644 index 000000000..25a529770 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-problem-event/index.html @@ -0,0 +1,145 @@ + + + + + ProblemEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ProblemEvent

+
@Serializable
data class ProblemEvent(val id: String, val token: String, val data: Problem?) : Event.UpdateContestEvent
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(id: String, token: String, data: Problem?)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val id: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val token: String
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-problem-event/token.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-problem-event/token.html new file mode 100644 index 000000000..28b9287b0 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-problem-event/token.html @@ -0,0 +1,72 @@ + + + + + token + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

token

+
+
open override val token: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-runs-event/-runs-event.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-runs-event/-runs-event.html new file mode 100644 index 000000000..83bb69dd3 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-runs-event/-runs-event.html @@ -0,0 +1,72 @@ + + + + + RunsEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

RunsEvent

+
+
constructor(id: String, token: String, data: Run?)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-runs-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-runs-event/data.html new file mode 100644 index 000000000..a7f99013e --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-runs-event/data.html @@ -0,0 +1,72 @@ + + + + + data + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

data

+
+
val data: Run?
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-runs-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-runs-event/id.html new file mode 100644 index 000000000..92bc76c74 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-runs-event/id.html @@ -0,0 +1,72 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
val id: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-runs-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-runs-event/index.html new file mode 100644 index 000000000..efdea1f36 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-runs-event/index.html @@ -0,0 +1,145 @@ + + + + + RunsEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

RunsEvent

+
@Serializable
data class RunsEvent(val id: String, val token: String, val data: Run?) : Event.UpdateRunEvent
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(id: String, token: String, data: Run?)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val data: Run?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val id: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val token: String
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-runs-event/token.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-runs-event/token.html new file mode 100644 index 000000000..ad4acdb4f --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-runs-event/token.html @@ -0,0 +1,72 @@ + + + + + token + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

token

+
+
open override val token: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-start-status-event/-start-status-event.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-start-status-event/-start-status-event.html new file mode 100644 index 000000000..f499ba8d5 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-start-status-event/-start-status-event.html @@ -0,0 +1,72 @@ + + + + + StartStatusEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

StartStatusEvent

+
+
constructor(token: String)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-start-status-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-start-status-event/index.html new file mode 100644 index 000000000..177614311 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-start-status-event/index.html @@ -0,0 +1,115 @@ + + + + + StartStatusEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

StartStatusEvent

+
@Serializable
data class StartStatusEvent(val token: String) : Event.IgnoredEvent
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(token: String)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val token: String
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-start-status-event/token.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-start-status-event/token.html new file mode 100644 index 000000000..dcf52af31 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-start-status-event/token.html @@ -0,0 +1,72 @@ + + + + + token + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

token

+
+
open override val token: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-state-event/-state-event.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-state-event/-state-event.html new file mode 100644 index 000000000..64b493374 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-state-event/-state-event.html @@ -0,0 +1,72 @@ + + + + + StateEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

StateEvent

+
+
constructor(token: String, data: State?)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-state-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-state-event/data.html new file mode 100644 index 000000000..f0d8ecaf5 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-state-event/data.html @@ -0,0 +1,72 @@ + + + + + data + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

data

+
+
val data: State?
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-state-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-state-event/index.html new file mode 100644 index 000000000..94d433547 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-state-event/index.html @@ -0,0 +1,130 @@ + + + + + StateEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

StateEvent

+
@Serializable
data class StateEvent(val token: String, val data: State?) : Event.UpdateContestEvent
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(token: String, data: State?)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val data: State?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val token: String
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-state-event/token.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-state-event/token.html new file mode 100644 index 000000000..3f37ad9ef --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-state-event/token.html @@ -0,0 +1,72 @@ + + + + + token + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

token

+
+
open override val token: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-submission-event/-submission-event.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-submission-event/-submission-event.html new file mode 100644 index 000000000..c60b4ddde --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-submission-event/-submission-event.html @@ -0,0 +1,72 @@ + + + + + SubmissionEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

SubmissionEvent

+
+
constructor(id: String, token: String, data: Submission?)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-submission-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-submission-event/data.html new file mode 100644 index 000000000..1c098b91f --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-submission-event/data.html @@ -0,0 +1,72 @@ + + + + + data + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

data

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-submission-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-submission-event/id.html new file mode 100644 index 000000000..e170ddf55 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-submission-event/id.html @@ -0,0 +1,72 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
val id: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-submission-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-submission-event/index.html new file mode 100644 index 000000000..b4d66c8ab --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-submission-event/index.html @@ -0,0 +1,145 @@ + + + + + SubmissionEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

SubmissionEvent

+
@Serializable
data class SubmissionEvent(val id: String, val token: String, val data: Submission?) : Event.UpdateRunEvent
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(id: String, token: String, data: Submission?)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val id: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val token: String
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-submission-event/token.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-submission-event/token.html new file mode 100644 index 000000000..3ac82d8b1 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-submission-event/token.html @@ -0,0 +1,72 @@ + + + + + token + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

token

+
+
open override val token: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-team-event/-team-event.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-team-event/-team-event.html new file mode 100644 index 000000000..fc833500d --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-team-event/-team-event.html @@ -0,0 +1,72 @@ + + + + + TeamEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

TeamEvent

+
+
constructor(id: String, token: String, data: Team?)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-team-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-team-event/data.html new file mode 100644 index 000000000..44cf34893 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-team-event/data.html @@ -0,0 +1,72 @@ + + + + + data + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

data

+
+
val data: Team?
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-team-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-team-event/id.html new file mode 100644 index 000000000..b2496d7ef --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-team-event/id.html @@ -0,0 +1,72 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
val id: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-team-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-team-event/index.html new file mode 100644 index 000000000..ca517fd5c --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-team-event/index.html @@ -0,0 +1,145 @@ + + + + + TeamEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

TeamEvent

+
@Serializable
data class TeamEvent(val id: String, val token: String, val data: Team?) : Event.UpdateContestEvent
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(id: String, token: String, data: Team?)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val data: Team?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val id: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val token: String
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-team-event/token.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-team-event/token.html new file mode 100644 index 000000000..b17599756 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-team-event/token.html @@ -0,0 +1,72 @@ + + + + + token + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

token

+
+
open override val token: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-update-contest-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-update-contest-event/index.html new file mode 100644 index 000000000..4e161a0d1 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-update-contest-event/index.html @@ -0,0 +1,96 @@ + + + + + UpdateContestEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ + +
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val token: String
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-update-run-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-update-run-event/index.html new file mode 100644 index 000000000..21a1258d7 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-update-run-event/index.html @@ -0,0 +1,96 @@ + + + + + UpdateRunEvent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

UpdateRunEvent

+
@Serializable
sealed class UpdateRunEvent : Event

Inheritors

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val token: String
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/index.html new file mode 100644 index 000000000..07fe18fdb --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/index.html @@ -0,0 +1,475 @@ + + + + + Event + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Event

+ +
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class AccountEvent(val id: String, val token: String, val data: Account?) : Event.IgnoredEvent
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class AwardsEvent(val id: String, val token: String, val data: Award?) : Event.IgnoredEvent
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class ClarificationEvent(val id: String, val token: String, val data: Clarification?) : Event.IgnoredEvent
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class CommentaryEvent(val id: String, val token: String, val data: Commentary?) : Event
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
object Companion
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class ContestEventNamedNonWithSpec(val token: String, val data: Contest?) : Event.ContestEvent
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class ContestEventNamedWithSpec(val token: String, val data: Contest?) : Event.ContestEvent
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class GroupsEvent(val id: String, val token: String, val data: Group?) : Event.UpdateContestEvent
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
sealed class IgnoredEvent : Event
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class JudgementEvent(val id: String, val token: String, val data: Judgement?) : Event.UpdateRunEvent
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class JudgementTypeEvent(val id: String, val token: String, val data: JudgementType?) : Event.UpdateContestEvent
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class LanguageEvent(val id: String, val token: String, val data: Language?) : Event.IgnoredEvent
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class MapEvent(val token: String) : Event.IgnoredEvent
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class OrganizationEvent(val id: String, val token: String, val data: Organization?) : Event.UpdateContestEvent
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class PersonEvent(val id: String, val token: String) : Event.IgnoredEvent
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class ProblemEvent(val id: String, val token: String, val data: Problem?) : Event.UpdateContestEvent
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class RunsEvent(val id: String, val token: String, val data: Run?) : Event.UpdateRunEvent
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class StartStatusEvent(val token: String) : Event.IgnoredEvent
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class StateEvent(val token: String, val data: State?) : Event.UpdateContestEvent
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class SubmissionEvent(val id: String, val token: String, val data: Submission?) : Event.UpdateRunEvent
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class TeamEvent(val id: String, val token: String, val data: Team?) : Event.UpdateContestEvent
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
sealed class UpdateContestEvent : Event
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
sealed class UpdateRunEvent : Event
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val token: String
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/token.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/token.html new file mode 100644 index 000000000..3f3e66936 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-event/token.html @@ -0,0 +1,72 @@ + + + + + token + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

token

+
+
abstract val token: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-group/-group.html b/docs/cds/cds/org.icpclive.cds.clics.api/-group/-group.html new file mode 100644 index 000000000..bdb90e2c9 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-group/-group.html @@ -0,0 +1,72 @@ + + + + + Group + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Group

+
+
constructor(id: String, icpcId: String? = null, name: String = "", type: String? = null)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-group/icpc-id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-group/icpc-id.html new file mode 100644 index 000000000..5119a293c --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-group/icpc-id.html @@ -0,0 +1,72 @@ + + + + + icpcId + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

icpcId

+
+
val icpcId: String? = null
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-group/id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-group/id.html new file mode 100644 index 000000000..2532c65a3 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-group/id.html @@ -0,0 +1,72 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
val id: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-group/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-group/index.html new file mode 100644 index 000000000..034230cb5 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-group/index.html @@ -0,0 +1,160 @@ + + + + + Group + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Group

+
@Serializable
data class Group(val id: String, val icpcId: String? = null, val name: String = "", val type: String? = null)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(id: String, icpcId: String? = null, name: String = "", type: String? = null)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val icpcId: String? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val id: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val type: String? = null
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-group/name.html b/docs/cds/cds/org.icpclive.cds.clics.api/-group/name.html new file mode 100644 index 000000000..220fa9f06 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-group/name.html @@ -0,0 +1,72 @@ + + + + + name + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

name

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-group/type.html b/docs/cds/cds/org.icpclive.cds.clics.api/-group/type.html new file mode 100644 index 000000000..af95c2a62 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-group/type.html @@ -0,0 +1,72 @@ + + + + + type + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

type

+
+
val type: String? = null
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-judgement-type/-judgement-type.html b/docs/cds/cds/org.icpclive.cds.clics.api/-judgement-type/-judgement-type.html new file mode 100644 index 000000000..7d3a9825f --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-judgement-type/-judgement-type.html @@ -0,0 +1,72 @@ + + + + + JudgementType + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

JudgementType

+
+
constructor(id: String, name: String, solved: Boolean = false, penalty: Boolean = false)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-judgement-type/id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-judgement-type/id.html new file mode 100644 index 000000000..875e11bd3 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-judgement-type/id.html @@ -0,0 +1,72 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
val id: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-judgement-type/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-judgement-type/index.html new file mode 100644 index 000000000..dbce450a8 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-judgement-type/index.html @@ -0,0 +1,160 @@ + + + + + JudgementType + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

JudgementType

+
@Serializable
data class JudgementType(val id: String, val name: String, val solved: Boolean = false, val penalty: Boolean = false)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(id: String, name: String, solved: Boolean = false, penalty: Boolean = false)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val id: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val penalty: Boolean = false
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val solved: Boolean = false
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-judgement-type/name.html b/docs/cds/cds/org.icpclive.cds.clics.api/-judgement-type/name.html new file mode 100644 index 000000000..8f3d2bb27 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-judgement-type/name.html @@ -0,0 +1,72 @@ + + + + + name + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

name

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-judgement-type/penalty.html b/docs/cds/cds/org.icpclive.cds.clics.api/-judgement-type/penalty.html new file mode 100644 index 000000000..f311bb2b8 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-judgement-type/penalty.html @@ -0,0 +1,72 @@ + + + + + penalty + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

penalty

+
+
val penalty: Boolean = false
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-judgement-type/solved.html b/docs/cds/cds/org.icpclive.cds.clics.api/-judgement-type/solved.html new file mode 100644 index 000000000..7c8b942b0 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-judgement-type/solved.html @@ -0,0 +1,72 @@ + + + + + solved + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

solved

+
+
val solved: Boolean = false
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-judgement/-judgement.html b/docs/cds/cds/org.icpclive.cds.clics.api/-judgement/-judgement.html new file mode 100644 index 000000000..47ae767ab --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-judgement/-judgement.html @@ -0,0 +1,72 @@ + + + + + Judgement + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Judgement

+
+
constructor(id: String, submission_id: String, judgement_type_id: String?, start_time: Instant, start_contest_time: Duration, end_time: Instant?, end_contest_time: Duration?)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-judgement/end_contest_time.html b/docs/cds/cds/org.icpclive.cds.clics.api/-judgement/end_contest_time.html new file mode 100644 index 000000000..01613ca41 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-judgement/end_contest_time.html @@ -0,0 +1,72 @@ + + + + + end_contest_time + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

end_contest_time

+
+
@Serializable(with = ClicsTime.DurationSerializer::class)
val end_contest_time: Duration?
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-judgement/end_time.html b/docs/cds/cds/org.icpclive.cds.clics.api/-judgement/end_time.html new file mode 100644 index 000000000..49d4a065c --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-judgement/end_time.html @@ -0,0 +1,72 @@ + + + + + end_time + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

end_time

+
+
@Serializable(with = ClicsTime.InstantSerializer::class)
val end_time: Instant?
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-judgement/id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-judgement/id.html new file mode 100644 index 000000000..1e0c38790 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-judgement/id.html @@ -0,0 +1,72 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
val id: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-judgement/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-judgement/index.html new file mode 100644 index 000000000..6c2f56a5d --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-judgement/index.html @@ -0,0 +1,205 @@ + + + + + Judgement + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Judgement

+
@Serializable
data class Judgement(val id: String, val submission_id: String, val judgement_type_id: String?, val start_time: Instant, val start_contest_time: Duration, val end_time: Instant?, val end_contest_time: Duration?)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(id: String, submission_id: String, judgement_type_id: String?, start_time: Instant, start_contest_time: Duration, end_time: Instant?, end_contest_time: Duration?)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = ClicsTime.DurationSerializer::class)
val end_contest_time: Duration?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = ClicsTime.InstantSerializer::class)
val end_time: Instant?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val id: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = ClicsTime.DurationSerializer::class)
val start_contest_time: Duration
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = ClicsTime.InstantSerializer::class)
val start_time: Instant
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-judgement/judgement_type_id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-judgement/judgement_type_id.html new file mode 100644 index 000000000..d358459c3 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-judgement/judgement_type_id.html @@ -0,0 +1,72 @@ + + + + + judgement_type_id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

judgement_type_id

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-judgement/start_contest_time.html b/docs/cds/cds/org.icpclive.cds.clics.api/-judgement/start_contest_time.html new file mode 100644 index 000000000..844d0f1e0 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-judgement/start_contest_time.html @@ -0,0 +1,72 @@ + + + + + start_contest_time + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

start_contest_time

+
+
@Serializable(with = ClicsTime.DurationSerializer::class)
val start_contest_time: Duration
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-judgement/start_time.html b/docs/cds/cds/org.icpclive.cds.clics.api/-judgement/start_time.html new file mode 100644 index 000000000..5d58b9cbe --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-judgement/start_time.html @@ -0,0 +1,72 @@ + + + + + start_time + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

start_time

+
+
@Serializable(with = ClicsTime.InstantSerializer::class)
val start_time: Instant
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-judgement/submission_id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-judgement/submission_id.html new file mode 100644 index 000000000..11e065654 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-judgement/submission_id.html @@ -0,0 +1,72 @@ + + + + + submission_id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

submission_id

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-language/-language.html b/docs/cds/cds/org.icpclive.cds.clics.api/-language/-language.html new file mode 100644 index 000000000..685be39a7 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-language/-language.html @@ -0,0 +1,72 @@ + + + + + Language + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Language

+
+
constructor(id: String, name: String? = null, entry_point_required: Boolean? = null, extensions: List<String>? = null)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-language/entry_point_required.html b/docs/cds/cds/org.icpclive.cds.clics.api/-language/entry_point_required.html new file mode 100644 index 000000000..cbca856ad --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-language/entry_point_required.html @@ -0,0 +1,72 @@ + + + + + entry_point_required + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

entry_point_required

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-language/extensions.html b/docs/cds/cds/org.icpclive.cds.clics.api/-language/extensions.html new file mode 100644 index 000000000..cd917d848 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-language/extensions.html @@ -0,0 +1,72 @@ + + + + + extensions + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

extensions

+
+
val extensions: List<String>? = null
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-language/id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-language/id.html new file mode 100644 index 000000000..648f64f27 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-language/id.html @@ -0,0 +1,72 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
val id: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-language/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-language/index.html new file mode 100644 index 000000000..88b4b731b --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-language/index.html @@ -0,0 +1,160 @@ + + + + + Language + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Language

+
@Serializable
data class Language(val id: String, val name: String? = null, val entry_point_required: Boolean? = null, val extensions: List<String>? = null)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(id: String, name: String? = null, entry_point_required: Boolean? = null, extensions: List<String>? = null)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val extensions: List<String>? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val id: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val name: String? = null
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-language/name.html b/docs/cds/cds/org.icpclive.cds.clics.api/-language/name.html new file mode 100644 index 000000000..851025b4b --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-language/name.html @@ -0,0 +1,72 @@ + + + + + name + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

name

+
+
val name: String? = null
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-media/-media.html b/docs/cds/cds/org.icpclive.cds.clics.api/-media/-media.html new file mode 100644 index 000000000..762fe775e --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-media/-media.html @@ -0,0 +1,72 @@ + + + + + Media + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Media

+
+
constructor(mime: String, href: String)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-media/href.html b/docs/cds/cds/org.icpclive.cds.clics.api/-media/href.html new file mode 100644 index 000000000..68e23a311 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-media/href.html @@ -0,0 +1,72 @@ + + + + + href + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

href

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-media/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-media/index.html new file mode 100644 index 000000000..ed532be3f --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-media/index.html @@ -0,0 +1,130 @@ + + + + + Media + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Media

+
@Serializable
data class Media(val mime: String, val href: String)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(mime: String, href: String)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-media/mime.html b/docs/cds/cds/org.icpclive.cds.clics.api/-media/mime.html new file mode 100644 index 000000000..da7cc32b8 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-media/mime.html @@ -0,0 +1,72 @@ + + + + + mime + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

mime

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-operation/-c-r-e-a-t-e/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-operation/-c-r-e-a-t-e/index.html new file mode 100644 index 000000000..c8003b0b4 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-operation/-c-r-e-a-t-e/index.html @@ -0,0 +1,111 @@ + + + + + CREATE + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

CREATE

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-operation/-d-e-l-e-t-e/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-operation/-d-e-l-e-t-e/index.html new file mode 100644 index 000000000..483c6bb42 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-operation/-d-e-l-e-t-e/index.html @@ -0,0 +1,111 @@ + + + + + DELETE + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

DELETE

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-operation/-u-p-d-a-t-e/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-operation/-u-p-d-a-t-e/index.html new file mode 100644 index 000000000..7b83b66d5 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-operation/-u-p-d-a-t-e/index.html @@ -0,0 +1,111 @@ + + + + + UPDATE + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

UPDATE

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-operation/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-operation/index.html new file mode 100644 index 000000000..7b10db1b1 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-operation/index.html @@ -0,0 +1,194 @@ + + + + + Operation + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Operation

+
@Serializable
enum Operation : Enum<Operation>
+
+
+
+
+
+

Entries

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun valueOf(value: String): Operation

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Returns an array containing the constants of this enum type, in the order they're declared.

+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-operation/value-of.html b/docs/cds/cds/org.icpclive.cds.clics.api/-operation/value-of.html new file mode 100644 index 000000000..de33d2691 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-operation/value-of.html @@ -0,0 +1,72 @@ + + + + + valueOf + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

valueOf

+
+
fun valueOf(value: String): Operation

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Throws

if this enum type has no constant with the specified name

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-operation/values.html b/docs/cds/cds/org.icpclive.cds.clics.api/-operation/values.html new file mode 100644 index 000000000..a1b56e5e7 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-operation/values.html @@ -0,0 +1,72 @@ + + + + + values + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

values

+
+

Returns an array containing the constants of this enum type, in the order they're declared.

This method may be used to iterate over the constants.

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-organization/-organization.html b/docs/cds/cds/org.icpclive.cds.clics.api/-organization/-organization.html new file mode 100644 index 000000000..f46c706cb --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-organization/-organization.html @@ -0,0 +1,72 @@ + + + + + Organization + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Organization

+
+
constructor(id: String, name: String = "", formal_name: String? = null, logo: List<Media> = emptyList(), twitter_hashtag: String? = null)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-organization/formal_name.html b/docs/cds/cds/org.icpclive.cds.clics.api/-organization/formal_name.html new file mode 100644 index 000000000..e2146f9bb --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-organization/formal_name.html @@ -0,0 +1,72 @@ + + + + + formal_name + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

formal_name

+
+
val formal_name: String? = null
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-organization/id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-organization/id.html new file mode 100644 index 000000000..e03439f82 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-organization/id.html @@ -0,0 +1,72 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
val id: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-organization/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-organization/index.html new file mode 100644 index 000000000..b041a7c42 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-organization/index.html @@ -0,0 +1,175 @@ + + + + + Organization + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Organization

+
@Serializable
data class Organization(val id: String, val name: String = "", val formal_name: String? = null, val logo: List<Media> = emptyList(), val twitter_hashtag: String? = null)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(id: String, name: String = "", formal_name: String? = null, logo: List<Media> = emptyList(), twitter_hashtag: String? = null)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val formal_name: String? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val id: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val twitter_hashtag: String? = null
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-organization/logo.html b/docs/cds/cds/org.icpclive.cds.clics.api/-organization/logo.html new file mode 100644 index 000000000..9801450da --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-organization/logo.html @@ -0,0 +1,72 @@ + + + + + logo + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

logo

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-organization/name.html b/docs/cds/cds/org.icpclive.cds.clics.api/-organization/name.html new file mode 100644 index 000000000..44542f1de --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-organization/name.html @@ -0,0 +1,72 @@ + + + + + name + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

name

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-organization/twitter_hashtag.html b/docs/cds/cds/org.icpclive.cds.clics.api/-organization/twitter_hashtag.html new file mode 100644 index 000000000..260c4893d --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-organization/twitter_hashtag.html @@ -0,0 +1,72 @@ + + + + + twitter_hashtag + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

twitter_hashtag

+
+
val twitter_hashtag: String? = null
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-problem/-problem.html b/docs/cds/cds/org.icpclive.cds.clics.api/-problem/-problem.html new file mode 100644 index 000000000..4f01ea9c4 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-problem/-problem.html @@ -0,0 +1,72 @@ + + + + + Problem + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Problem

+
+
constructor(id: String, ordinal: Int = 0, label: String = "", name: String = "", rgb: Color? = null, test_data_count: Int? = null)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-problem/id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-problem/id.html new file mode 100644 index 000000000..38960016c --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-problem/id.html @@ -0,0 +1,72 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
val id: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-problem/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-problem/index.html new file mode 100644 index 000000000..9b6fa9638 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-problem/index.html @@ -0,0 +1,190 @@ + + + + + Problem + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Problem

+
@Serializable
data class Problem(val id: String, val ordinal: Int = 0, val label: String = "", val name: String = "", val rgb: Color? = null, val test_data_count: Int? = null)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(id: String, ordinal: Int = 0, label: String = "", name: String = "", rgb: Color? = null, test_data_count: Int? = null)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val id: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val ordinal: Int = 0
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = ColorSerializer::class)
val rgb: Color? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val test_data_count: Int? = null
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-problem/label.html b/docs/cds/cds/org.icpclive.cds.clics.api/-problem/label.html new file mode 100644 index 000000000..f26b11609 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-problem/label.html @@ -0,0 +1,72 @@ + + + + + label + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

label

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-problem/name.html b/docs/cds/cds/org.icpclive.cds.clics.api/-problem/name.html new file mode 100644 index 000000000..2593c625f --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-problem/name.html @@ -0,0 +1,72 @@ + + + + + name + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

name

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-problem/ordinal.html b/docs/cds/cds/org.icpclive.cds.clics.api/-problem/ordinal.html new file mode 100644 index 000000000..ef764e604 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-problem/ordinal.html @@ -0,0 +1,72 @@ + + + + + ordinal + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ordinal

+
+
val ordinal: Int = 0
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-problem/rgb.html b/docs/cds/cds/org.icpclive.cds.clics.api/-problem/rgb.html new file mode 100644 index 000000000..17e55984e --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-problem/rgb.html @@ -0,0 +1,72 @@ + + + + + rgb + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

rgb

+
+
@Serializable(with = ColorSerializer::class)
val rgb: Color? = null
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-problem/test_data_count.html b/docs/cds/cds/org.icpclive.cds.clics.api/-problem/test_data_count.html new file mode 100644 index 000000000..9a709af9e --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-problem/test_data_count.html @@ -0,0 +1,72 @@ + + + + + test_data_count + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

test_data_count

+
+
val test_data_count: Int? = null
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-run/-run.html b/docs/cds/cds/org.icpclive.cds.clics.api/-run/-run.html new file mode 100644 index 000000000..89215afb9 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-run/-run.html @@ -0,0 +1,72 @@ + + + + + Run + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Run

+
+
constructor(id: String, judgement_id: String, ordinal: Int, judgement_type_id: String, contest_time: Duration)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-run/contest_time.html b/docs/cds/cds/org.icpclive.cds.clics.api/-run/contest_time.html new file mode 100644 index 000000000..daabdef6b --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-run/contest_time.html @@ -0,0 +1,72 @@ + + + + + contest_time + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

contest_time

+
+
@Serializable(with = ClicsTime.DurationSerializer::class)
val contest_time: Duration
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-run/id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-run/id.html new file mode 100644 index 000000000..c9dc5f566 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-run/id.html @@ -0,0 +1,72 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
val id: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-run/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-run/index.html new file mode 100644 index 000000000..d40176db0 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-run/index.html @@ -0,0 +1,175 @@ + + + + + Run + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Run

+
@Serializable
data class Run(val id: String, val judgement_id: String, val ordinal: Int, val judgement_type_id: String, val contest_time: Duration)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(id: String, judgement_id: String, ordinal: Int, judgement_type_id: String, contest_time: Duration)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = ClicsTime.DurationSerializer::class)
val contest_time: Duration
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val id: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-run/judgement_id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-run/judgement_id.html new file mode 100644 index 000000000..1bccb97c9 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-run/judgement_id.html @@ -0,0 +1,72 @@ + + + + + judgement_id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

judgement_id

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-run/judgement_type_id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-run/judgement_type_id.html new file mode 100644 index 000000000..22a165ff7 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-run/judgement_type_id.html @@ -0,0 +1,72 @@ + + + + + judgement_type_id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

judgement_type_id

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-run/ordinal.html b/docs/cds/cds/org.icpclive.cds.clics.api/-run/ordinal.html new file mode 100644 index 000000000..f2cb2ecd5 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-run/ordinal.html @@ -0,0 +1,72 @@ + + + + + ordinal + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ordinal

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-state/-state.html b/docs/cds/cds/org.icpclive.cds.clics.api/-state/-state.html new file mode 100644 index 000000000..4add2a98c --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-state/-state.html @@ -0,0 +1,72 @@ + + + + + State + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

State

+
+
constructor(ended: Instant?, frozen: Instant?, started: Instant?, unfrozen: Instant?, finalized: Instant?, end_of_updates: Instant?)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-state/end_of_updates.html b/docs/cds/cds/org.icpclive.cds.clics.api/-state/end_of_updates.html new file mode 100644 index 000000000..84cf4b401 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-state/end_of_updates.html @@ -0,0 +1,72 @@ + + + + + end_of_updates + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

end_of_updates

+
+
@Serializable(with = ClicsTime.InstantSerializer::class)
val end_of_updates: Instant?
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-state/ended.html b/docs/cds/cds/org.icpclive.cds.clics.api/-state/ended.html new file mode 100644 index 000000000..bf5f1a136 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-state/ended.html @@ -0,0 +1,72 @@ + + + + + ended + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ended

+
+
@Serializable(with = ClicsTime.InstantSerializer::class)
val ended: Instant?
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-state/finalized.html b/docs/cds/cds/org.icpclive.cds.clics.api/-state/finalized.html new file mode 100644 index 000000000..e06e6aa41 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-state/finalized.html @@ -0,0 +1,72 @@ + + + + + finalized + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

finalized

+
+
@Serializable(with = ClicsTime.InstantSerializer::class)
val finalized: Instant?
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-state/frozen.html b/docs/cds/cds/org.icpclive.cds.clics.api/-state/frozen.html new file mode 100644 index 000000000..932e8a425 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-state/frozen.html @@ -0,0 +1,72 @@ + + + + + frozen + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

frozen

+
+
@Serializable(with = ClicsTime.InstantSerializer::class)
val frozen: Instant?
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-state/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-state/index.html new file mode 100644 index 000000000..43839dca0 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-state/index.html @@ -0,0 +1,190 @@ + + + + + State + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

State

+
@Serializable
data class State(val ended: Instant?, val frozen: Instant?, val started: Instant?, val unfrozen: Instant?, val finalized: Instant?, val end_of_updates: Instant?)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(ended: Instant?, frozen: Instant?, started: Instant?, unfrozen: Instant?, finalized: Instant?, end_of_updates: Instant?)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = ClicsTime.InstantSerializer::class)
val end_of_updates: Instant?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = ClicsTime.InstantSerializer::class)
val ended: Instant?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = ClicsTime.InstantSerializer::class)
val finalized: Instant?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = ClicsTime.InstantSerializer::class)
val frozen: Instant?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = ClicsTime.InstantSerializer::class)
val started: Instant?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = ClicsTime.InstantSerializer::class)
val unfrozen: Instant?
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-state/started.html b/docs/cds/cds/org.icpclive.cds.clics.api/-state/started.html new file mode 100644 index 000000000..d1c75fdc7 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-state/started.html @@ -0,0 +1,72 @@ + + + + + started + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

started

+
+
@Serializable(with = ClicsTime.InstantSerializer::class)
val started: Instant?
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-state/unfrozen.html b/docs/cds/cds/org.icpclive.cds.clics.api/-state/unfrozen.html new file mode 100644 index 000000000..d9481b9a7 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-state/unfrozen.html @@ -0,0 +1,72 @@ + + + + + unfrozen + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

unfrozen

+
+
@Serializable(with = ClicsTime.InstantSerializer::class)
val unfrozen: Instant?
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-submission/-submission.html b/docs/cds/cds/org.icpclive.cds.clics.api/-submission/-submission.html new file mode 100644 index 000000000..7c361bea6 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-submission/-submission.html @@ -0,0 +1,72 @@ + + + + + Submission + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Submission

+
+
constructor(id: String, language_id: String, problem_id: String, team_id: String, time: Instant, contest_time: Duration, reaction: List<Media>? = null)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-submission/contest_time.html b/docs/cds/cds/org.icpclive.cds.clics.api/-submission/contest_time.html new file mode 100644 index 000000000..c483c586e --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-submission/contest_time.html @@ -0,0 +1,72 @@ + + + + + contest_time + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

contest_time

+
+
@Serializable(with = ClicsTime.DurationSerializer::class)
val contest_time: Duration
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-submission/id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-submission/id.html new file mode 100644 index 000000000..5d3ad77c7 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-submission/id.html @@ -0,0 +1,72 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
val id: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-submission/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-submission/index.html new file mode 100644 index 000000000..b12a8fbd0 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-submission/index.html @@ -0,0 +1,205 @@ + + + + + Submission + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Submission

+
@Serializable
data class Submission(val id: String, val language_id: String, val problem_id: String, val team_id: String, val time: Instant, val contest_time: Duration, val reaction: List<Media>? = null)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(id: String, language_id: String, problem_id: String, team_id: String, time: Instant, contest_time: Duration, reaction: List<Media>? = null)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = ClicsTime.DurationSerializer::class)
val contest_time: Duration
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val id: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val reaction: List<Media>? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = ClicsTime.InstantSerializer::class)
val time: Instant
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-submission/language_id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-submission/language_id.html new file mode 100644 index 000000000..e0e33c497 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-submission/language_id.html @@ -0,0 +1,72 @@ + + + + + language_id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

language_id

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-submission/problem_id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-submission/problem_id.html new file mode 100644 index 000000000..f930b4bb2 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-submission/problem_id.html @@ -0,0 +1,72 @@ + + + + + problem_id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

problem_id

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-submission/reaction.html b/docs/cds/cds/org.icpclive.cds.clics.api/-submission/reaction.html new file mode 100644 index 000000000..9b62368f2 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-submission/reaction.html @@ -0,0 +1,72 @@ + + + + + reaction + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

reaction

+
+
val reaction: List<Media>? = null
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-submission/team_id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-submission/team_id.html new file mode 100644 index 000000000..7929ddd2f --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-submission/team_id.html @@ -0,0 +1,72 @@ + + + + + team_id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

team_id

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-submission/time.html b/docs/cds/cds/org.icpclive.cds.clics.api/-submission/time.html new file mode 100644 index 000000000..3dc3dee7e --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-submission/time.html @@ -0,0 +1,72 @@ + + + + + time + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

time

+
+
@Serializable(with = ClicsTime.InstantSerializer::class)
val time: Instant
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-team/-team.html b/docs/cds/cds/org.icpclive.cds.clics.api/-team/-team.html new file mode 100644 index 000000000..7685fa43b --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-team/-team.html @@ -0,0 +1,72 @@ + + + + + Team + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Team

+
+
constructor(id: String, organization_id: String? = null, group_ids: List<String> = emptyList(), name: String = "", hidden: Boolean = false, photo: List<Media> = emptyList(), video: List<Media> = emptyList(), desktop: List<Media> = emptyList(), webcam: List<Media> = emptyList())
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-team/desktop.html b/docs/cds/cds/org.icpclive.cds.clics.api/-team/desktop.html new file mode 100644 index 000000000..eb996ac7f --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-team/desktop.html @@ -0,0 +1,72 @@ + + + + + desktop + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

desktop

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-team/group_ids.html b/docs/cds/cds/org.icpclive.cds.clics.api/-team/group_ids.html new file mode 100644 index 000000000..d7c53ba82 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-team/group_ids.html @@ -0,0 +1,72 @@ + + + + + group_ids + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

group_ids

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-team/hidden.html b/docs/cds/cds/org.icpclive.cds.clics.api/-team/hidden.html new file mode 100644 index 000000000..fcc729f03 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-team/hidden.html @@ -0,0 +1,72 @@ + + + + + hidden + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

hidden

+
+
val hidden: Boolean = false
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-team/id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-team/id.html new file mode 100644 index 000000000..b06029c69 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-team/id.html @@ -0,0 +1,72 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
val id: String
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-team/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-team/index.html new file mode 100644 index 000000000..7d679df9a --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-team/index.html @@ -0,0 +1,235 @@ + + + + + Team + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Team

+
@Serializable
data class Team(val id: String, val organization_id: String? = null, val group_ids: List<String> = emptyList(), val name: String = "", val hidden: Boolean = false, val photo: List<Media> = emptyList(), val video: List<Media> = emptyList(), val desktop: List<Media> = emptyList(), val webcam: List<Media> = emptyList())
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(id: String, organization_id: String? = null, group_ids: List<String> = emptyList(), name: String = "", hidden: Boolean = false, photo: List<Media> = emptyList(), video: List<Media> = emptyList(), desktop: List<Media> = emptyList(), webcam: List<Media> = emptyList())
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val hidden: Boolean = false
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val id: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val organization_id: String? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-team/name.html b/docs/cds/cds/org.icpclive.cds.clics.api/-team/name.html new file mode 100644 index 000000000..5929408a0 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-team/name.html @@ -0,0 +1,72 @@ + + + + + name + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

name

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-team/organization_id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-team/organization_id.html new file mode 100644 index 000000000..f0c20f4ba --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-team/organization_id.html @@ -0,0 +1,72 @@ + + + + + organization_id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

organization_id

+
+
val organization_id: String? = null
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-team/photo.html b/docs/cds/cds/org.icpclive.cds.clics.api/-team/photo.html new file mode 100644 index 000000000..4c6bc9963 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-team/photo.html @@ -0,0 +1,72 @@ + + + + + photo + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

photo

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-team/video.html b/docs/cds/cds/org.icpclive.cds.clics.api/-team/video.html new file mode 100644 index 000000000..2ead3c01b --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-team/video.html @@ -0,0 +1,72 @@ + + + + + video + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

video

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-team/webcam.html b/docs/cds/cds/org.icpclive.cds.clics.api/-team/webcam.html new file mode 100644 index 000000000..d3e452d01 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/-team/webcam.html @@ -0,0 +1,72 @@ + + + + + webcam + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

webcam

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/index.html new file mode 100644 index 000000000..a6cf2c973 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics.api/index.html @@ -0,0 +1,350 @@ + + + + + org.icpclive.cds.clics.api + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Package-level declarations

+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class Account(val id: String, val username: String, val password: String?, val type: Account.TYPE?, val ip: String?, val team_id: String?, val person_id: String?)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class Award(val id: String)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class Clarification(val id: String)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class Commentary(val id: String, val time: Instant, val contest_time: Duration, val message: String, val team_ids: List<String>?, val problem_ids: List<String>?, val submission_ids: List<String>?)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class Contest(val id: String, val start_time: Instant? = null, val name: String? = null, val formal_name: String? = null, val duration: Duration, val scoreboard_freeze_duration: Duration?, val countdown_pause_time: Duration? = null, val penalty_time: Duration? = null, val scoreboard_type: String? = null)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
sealed class Event
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class Group(val id: String, val icpcId: String? = null, val name: String = "", val type: String? = null)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class Judgement(val id: String, val submission_id: String, val judgement_type_id: String?, val start_time: Instant, val start_contest_time: Duration, val end_time: Instant?, val end_contest_time: Duration?)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class JudgementType(val id: String, val name: String, val solved: Boolean = false, val penalty: Boolean = false)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class Language(val id: String, val name: String? = null, val entry_point_required: Boolean? = null, val extensions: List<String>? = null)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class Media(val mime: String, val href: String)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
enum Operation : Enum<Operation>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class Organization(val id: String, val name: String = "", val formal_name: String? = null, val logo: List<Media> = emptyList(), val twitter_hashtag: String? = null)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class Problem(val id: String, val ordinal: Int = 0, val label: String = "", val name: String = "", val rgb: Color? = null, val test_data_count: Int? = null)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class Run(val id: String, val judgement_id: String, val ordinal: Int, val judgement_type_id: String, val contest_time: Duration)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class State(val ended: Instant?, val frozen: Instant?, val started: Instant?, val unfrozen: Instant?, val finalized: Instant?, val end_of_updates: Instant?)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class Submission(val id: String, val language_id: String, val problem_id: String, val team_id: String, val time: Instant, val contest_time: Duration, val reaction: List<Media>? = null)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
data class Team(val id: String, val organization_id: String? = null, val group_ids: List<String> = emptyList(), val name: String = "", val hidden: Boolean = false, val photo: List<Media> = emptyList(), val video: List<Media> = emptyList(), val desktop: List<Media> = emptyList(), val webcam: List<Media> = emptyList())
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics/-feed-version/2020_03/index.html b/docs/cds/cds/org.icpclive.cds.clics/-feed-version/2020_03/index.html new file mode 100644 index 000000000..eaedc4af9 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics/-feed-version/2020_03/index.html @@ -0,0 +1,111 @@ + + + + + 2020_03 + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

2020_03

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics/-feed-version/2022_07/index.html b/docs/cds/cds/org.icpclive.cds.clics/-feed-version/2022_07/index.html new file mode 100644 index 000000000..c4970edce --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics/-feed-version/2022_07/index.html @@ -0,0 +1,111 @@ + + + + + 2022_07 + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

2022_07

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics/-feed-version/index.html b/docs/cds/cds/org.icpclive.cds.clics/-feed-version/index.html new file mode 100644 index 000000000..1730825eb --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics/-feed-version/index.html @@ -0,0 +1,179 @@ + + + + + FeedVersion + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

FeedVersion

+ +
+
+
+
+
+

Entries

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Returns an array containing the constants of this enum type, in the order they're declared.

+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics/-feed-version/value-of.html b/docs/cds/cds/org.icpclive.cds.clics/-feed-version/value-of.html new file mode 100644 index 000000000..cc042c230 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics/-feed-version/value-of.html @@ -0,0 +1,72 @@ + + + + + valueOf + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

valueOf

+
+

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Throws

if this enum type has no constant with the specified name

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics/-feed-version/values.html b/docs/cds/cds/org.icpclive.cds.clics/-feed-version/values.html new file mode 100644 index 000000000..15ded6b3e --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics/-feed-version/values.html @@ -0,0 +1,72 @@ + + + + + values + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

values

+
+

Returns an array containing the constants of this enum type, in the order they're declared.

This method may be used to iterate over the constants.

+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.clics/index.html b/docs/cds/cds/org.icpclive.cds.clics/index.html new file mode 100644 index 000000000..d0974c92f --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.clics/index.html @@ -0,0 +1,95 @@ + + + + + org.icpclive.cds.clics + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Package-level declarations

+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.common/index.html b/docs/cds/cds/org.icpclive.cds.common/index.html new file mode 100644 index 000000000..92741ffdf --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.common/index.html @@ -0,0 +1,95 @@ + + + + + org.icpclive.cds.common + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Package-level declarations

+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.common/set-allow-unsecure-connections.html b/docs/cds/cds/org.icpclive.cds.common/set-allow-unsecure-connections.html new file mode 100644 index 000000000..9db48aab4 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.common/set-allow-unsecure-connections.html @@ -0,0 +1,72 @@ + + + + + setAllowUnsecureConnections + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

setAllowUnsecureConnections

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-c-d-s-settings/-companion/index.html b/docs/cds/cds/org.icpclive.cds.settings/-c-d-s-settings/-companion/index.html new file mode 100644 index 000000000..0b30ad441 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-c-d-s-settings/-companion/index.html @@ -0,0 +1,76 @@ + + + + + Companion + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Companion

+ +
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-c-d-s-settings/emulation.html b/docs/cds/cds/org.icpclive.cds.settings/-c-d-s-settings/emulation.html new file mode 100644 index 000000000..fe485bc95 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-c-d-s-settings/emulation.html @@ -0,0 +1,72 @@ + + + + + emulation + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

emulation

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-c-d-s-settings/index.html b/docs/cds/cds/org.icpclive.cds.settings/-c-d-s-settings/index.html new file mode 100644 index 000000000..c2d348271 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-c-d-s-settings/index.html @@ -0,0 +1,130 @@ + + + + + CDSSettings + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ + +
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun toFlow(creds: Map<String, String>): Flow<ContestUpdate>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-c-d-s-settings/to-flow.html b/docs/cds/cds/org.icpclive.cds.settings/-c-d-s-settings/to-flow.html new file mode 100644 index 000000000..6154e7a2e --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-c-d-s-settings/to-flow.html @@ -0,0 +1,72 @@ + + + + + toFlow + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toFlow

+
+
fun toFlow(creds: Map<String, String>): Flow<ContestUpdate>(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-c-d-s-settings/to-string.html b/docs/cds/cds/org.icpclive.cds.settings/-c-d-s-settings/to-string.html new file mode 100644 index 000000000..1dfb734fd --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-c-d-s-settings/to-string.html @@ -0,0 +1,72 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-c-f-settings/-c-f-settings.html b/docs/cds/cds/org.icpclive.cds.settings/-c-f-settings/-c-f-settings.html new file mode 100644 index 000000000..3997af9d8 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-c-f-settings/-c-f-settings.html @@ -0,0 +1,72 @@ + + + + + CFSettings + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

CFSettings

+
+
constructor(contestId: Int, apiKey: Credential, apiSecret: Credential, emulation: EmulationSettings? = null)(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-c-f-settings/api-key.html b/docs/cds/cds/org.icpclive.cds.settings/-c-f-settings/api-key.html new file mode 100644 index 000000000..f6bfe6a4f --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-c-f-settings/api-key.html @@ -0,0 +1,72 @@ + + + + + apiKey + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

apiKey

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-c-f-settings/api-secret.html b/docs/cds/cds/org.icpclive.cds.settings/-c-f-settings/api-secret.html new file mode 100644 index 000000000..becabe1cf --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-c-f-settings/api-secret.html @@ -0,0 +1,72 @@ + + + + + apiSecret + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

apiSecret

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-c-f-settings/contest-id.html b/docs/cds/cds/org.icpclive.cds.settings/-c-f-settings/contest-id.html new file mode 100644 index 000000000..af33d3055 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-c-f-settings/contest-id.html @@ -0,0 +1,72 @@ + + + + + contestId + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

contestId

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-c-f-settings/emulation.html b/docs/cds/cds/org.icpclive.cds.settings/-c-f-settings/emulation.html new file mode 100644 index 000000000..3a10ca8b1 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-c-f-settings/emulation.html @@ -0,0 +1,72 @@ + + + + + emulation + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

emulation

+
+
open override val emulation: EmulationSettings? = null(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-c-f-settings/index.html b/docs/cds/cds/org.icpclive.cds.settings/-c-f-settings/index.html new file mode 100644 index 000000000..788e416b0 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-c-f-settings/index.html @@ -0,0 +1,194 @@ + + + + + CFSettings + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

CFSettings

+
@Serializable
class CFSettings(val contestId: Int, val apiKey: Credential, val apiSecret: Credential, val emulation: EmulationSettings? = null) : CDSSettings(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(contestId: Int, apiKey: Credential, apiSecret: Credential, emulation: EmulationSettings? = null)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val emulation: EmulationSettings? = null
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun toFlow(creds: Map<String, String>): Flow<ContestUpdate>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-cats-settings/-cats-settings.html b/docs/cds/cds/org.icpclive.cds.settings/-cats-settings/-cats-settings.html new file mode 100644 index 000000000..44cf13975 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-cats-settings/-cats-settings.html @@ -0,0 +1,72 @@ + + + + + CatsSettings + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

CatsSettings

+
+
constructor(login: Credential, password: Credential, url: String, timeZone: TimeZone = TimeZone.of("Asia/Vladivostok"), resultType: ContestResultType = ContestResultType.ICPC, cid: String, emulation: EmulationSettings? = null)(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-cats-settings/cid.html b/docs/cds/cds/org.icpclive.cds.settings/-cats-settings/cid.html new file mode 100644 index 000000000..36843b3da --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-cats-settings/cid.html @@ -0,0 +1,72 @@ + + + + + cid + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

cid

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-cats-settings/emulation.html b/docs/cds/cds/org.icpclive.cds.settings/-cats-settings/emulation.html new file mode 100644 index 000000000..a74947310 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-cats-settings/emulation.html @@ -0,0 +1,72 @@ + + + + + emulation + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

emulation

+
+
open override val emulation: EmulationSettings? = null(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-cats-settings/index.html b/docs/cds/cds/org.icpclive.cds.settings/-cats-settings/index.html new file mode 100644 index 000000000..dbfb08398 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-cats-settings/index.html @@ -0,0 +1,239 @@ + + + + + CatsSettings + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

CatsSettings

+
@Serializable
class CatsSettings(val login: Credential, val password: Credential, val url: String, val timeZone: TimeZone = TimeZone.of("Asia/Vladivostok"), val resultType: ContestResultType = ContestResultType.ICPC, val cid: String, val emulation: EmulationSettings? = null) : CDSSettings(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(login: Credential, password: Credential, url: String, timeZone: TimeZone = TimeZone.of("Asia/Vladivostok"), resultType: ContestResultType = ContestResultType.ICPC, cid: String, emulation: EmulationSettings? = null)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val cid: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val emulation: EmulationSettings? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = TimeZoneSerializer::class)
val timeZone: TimeZone
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val url: String
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun toFlow(creds: Map<String, String>): Flow<ContestUpdate>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-cats-settings/login.html b/docs/cds/cds/org.icpclive.cds.settings/-cats-settings/login.html new file mode 100644 index 000000000..0a6299f5c --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-cats-settings/login.html @@ -0,0 +1,72 @@ + + + + + login + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

login

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-cats-settings/password.html b/docs/cds/cds/org.icpclive.cds.settings/-cats-settings/password.html new file mode 100644 index 000000000..ef298db17 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-cats-settings/password.html @@ -0,0 +1,72 @@ + + + + + password + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

password

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-cats-settings/result-type.html b/docs/cds/cds/org.icpclive.cds.settings/-cats-settings/result-type.html new file mode 100644 index 000000000..0348881f8 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-cats-settings/result-type.html @@ -0,0 +1,72 @@ + + + + + resultType + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

resultType

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-cats-settings/time-zone.html b/docs/cds/cds/org.icpclive.cds.settings/-cats-settings/time-zone.html new file mode 100644 index 000000000..cf676391e --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-cats-settings/time-zone.html @@ -0,0 +1,72 @@ + + + + + timeZone + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

timeZone

+
+
@Serializable(with = TimeZoneSerializer::class)
val timeZone: TimeZone(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-cats-settings/url.html b/docs/cds/cds/org.icpclive.cds.settings/-cats-settings/url.html new file mode 100644 index 000000000..ab244c977 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-cats-settings/url.html @@ -0,0 +1,72 @@ + + + + + url + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

url

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-clics-loader-settings/-clics-loader-settings.html b/docs/cds/cds/org.icpclive.cds.settings/-clics-loader-settings/-clics-loader-settings.html new file mode 100644 index 000000000..1b1df31be --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-clics-loader-settings/-clics-loader-settings.html @@ -0,0 +1,72 @@ + + + + + ClicsLoaderSettings + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ClicsLoaderSettings

+
+
constructor(url: String, login: Credential? = null, password: Credential? = null, eventFeedName: String = "event-feed", feedVersion: FeedVersion = FeedVersion.`2022_07`)(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-clics-loader-settings/event-feed-name.html b/docs/cds/cds/org.icpclive.cds.settings/-clics-loader-settings/event-feed-name.html new file mode 100644 index 000000000..d5884ea9d --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-clics-loader-settings/event-feed-name.html @@ -0,0 +1,72 @@ + + + + + eventFeedName + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

eventFeedName

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-clics-loader-settings/feed-version.html b/docs/cds/cds/org.icpclive.cds.settings/-clics-loader-settings/feed-version.html new file mode 100644 index 000000000..041b317dc --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-clics-loader-settings/feed-version.html @@ -0,0 +1,72 @@ + + + + + feedVersion + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

feedVersion

+
+
val feedVersion: FeedVersion(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-clics-loader-settings/index.html b/docs/cds/cds/org.icpclive.cds.settings/-clics-loader-settings/index.html new file mode 100644 index 000000000..f96a1acd5 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-clics-loader-settings/index.html @@ -0,0 +1,175 @@ + + + + + ClicsLoaderSettings + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ClicsLoaderSettings

+
@Serializable
class ClicsLoaderSettings(val url: String, val login: Credential? = null, val password: Credential? = null, val eventFeedName: String = "event-feed", val feedVersion: FeedVersion = FeedVersion.`2022_07`)(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(url: String, login: Credential? = null, password: Credential? = null, eventFeedName: String = "event-feed", feedVersion: FeedVersion = FeedVersion.`2022_07`)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val feedVersion: FeedVersion
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val login: Credential? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val password: Credential? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val url: String
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-clics-loader-settings/login.html b/docs/cds/cds/org.icpclive.cds.settings/-clics-loader-settings/login.html new file mode 100644 index 000000000..3b3f4a585 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-clics-loader-settings/login.html @@ -0,0 +1,72 @@ + + + + + login + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

login

+
+
val login: Credential? = null(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-clics-loader-settings/password.html b/docs/cds/cds/org.icpclive.cds.settings/-clics-loader-settings/password.html new file mode 100644 index 000000000..74380baf2 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-clics-loader-settings/password.html @@ -0,0 +1,72 @@ + + + + + password + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

password

+
+
val password: Credential? = null(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-clics-loader-settings/url.html b/docs/cds/cds/org.icpclive.cds.settings/-clics-loader-settings/url.html new file mode 100644 index 000000000..782fa47ee --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-clics-loader-settings/url.html @@ -0,0 +1,72 @@ + + + + + url + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

url

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-clics-settings/-clics-settings.html b/docs/cds/cds/org.icpclive.cds.settings/-clics-settings/-clics-settings.html new file mode 100644 index 000000000..c8ef13406 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-clics-settings/-clics-settings.html @@ -0,0 +1,72 @@ + + + + + ClicsSettings + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ClicsSettings

+
+
constructor(url: String, login: Credential? = null, password: Credential? = null, eventFeedName: String = "event-feed", feedVersion: FeedVersion = FeedVersion.`2022_07`, additionalFeed: ClicsLoaderSettings? = null, useTeamNames: Boolean = true, mediaBaseUrl: String = "", emulation: EmulationSettings? = null)(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-clics-settings/additional-feed.html b/docs/cds/cds/org.icpclive.cds.settings/-clics-settings/additional-feed.html new file mode 100644 index 000000000..a34bcd61e --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-clics-settings/additional-feed.html @@ -0,0 +1,72 @@ + + + + + additionalFeed + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

additionalFeed

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-clics-settings/emulation.html b/docs/cds/cds/org.icpclive.cds.settings/-clics-settings/emulation.html new file mode 100644 index 000000000..09ced78d3 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-clics-settings/emulation.html @@ -0,0 +1,72 @@ + + + + + emulation + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

emulation

+
+
open override val emulation: EmulationSettings? = null(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-clics-settings/index.html b/docs/cds/cds/org.icpclive.cds.settings/-clics-settings/index.html new file mode 100644 index 000000000..fecd8d351 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-clics-settings/index.html @@ -0,0 +1,209 @@ + + + + + ClicsSettings + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ClicsSettings

+
@Serializable
class ClicsSettings(url: String, login: Credential? = null, password: Credential? = null, eventFeedName: String = "event-feed", feedVersion: FeedVersion = FeedVersion.`2022_07`, val additionalFeed: ClicsLoaderSettings? = null, val useTeamNames: Boolean = true, val mediaBaseUrl: String = "", val emulation: EmulationSettings? = null) : CDSSettings(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(url: String, login: Credential? = null, password: Credential? = null, eventFeedName: String = "event-feed", feedVersion: FeedVersion = FeedVersion.`2022_07`, additionalFeed: ClicsLoaderSettings? = null, useTeamNames: Boolean = true, mediaBaseUrl: String = "", emulation: EmulationSettings? = null)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val emulation: EmulationSettings? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val useTeamNames: Boolean = true
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun toFlow(creds: Map<String, String>): Flow<ContestUpdate>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-clics-settings/main-feed.html b/docs/cds/cds/org.icpclive.cds.settings/-clics-settings/main-feed.html new file mode 100644 index 000000000..0ff10be75 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-clics-settings/main-feed.html @@ -0,0 +1,72 @@ + + + + + mainFeed + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

mainFeed

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-clics-settings/media-base-url.html b/docs/cds/cds/org.icpclive.cds.settings/-clics-settings/media-base-url.html new file mode 100644 index 000000000..975476f07 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-clics-settings/media-base-url.html @@ -0,0 +1,72 @@ + + + + + mediaBaseUrl + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

mediaBaseUrl

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-clics-settings/use-team-names.html b/docs/cds/cds/org.icpclive.cds.settings/-clics-settings/use-team-names.html new file mode 100644 index 000000000..64b76a348 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-clics-settings/use-team-names.html @@ -0,0 +1,72 @@ + + + + + useTeamNames + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

useTeamNames

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-credential/-credential.html b/docs/cds/cds/org.icpclive.cds.settings/-credential/-credential.html new file mode 100644 index 000000000..19ee3daff --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-credential/-credential.html @@ -0,0 +1,72 @@ + + + + + Credential + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Credential

+
+
constructor(raw: String)(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-credential/get.html b/docs/cds/cds/org.icpclive.cds.settings/-credential/get.html new file mode 100644 index 000000000..76ad6371f --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-credential/get.html @@ -0,0 +1,72 @@ + + + + + get + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

get

+
+
fun get(creds: Map<String, String>): String(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-credential/index.html b/docs/cds/cds/org.icpclive.cds.settings/-credential/index.html new file mode 100644 index 000000000..8b4920531 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-credential/index.html @@ -0,0 +1,115 @@ + + + + + Credential + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Credential

+
@Serializable
value class Credential(raw: String)(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(raw: String)
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun get(creds: Map<String, String>): String
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-ejudge-settings/-ejudge-settings.html b/docs/cds/cds/org.icpclive.cds.settings/-ejudge-settings/-ejudge-settings.html new file mode 100644 index 000000000..551749510 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-ejudge-settings/-ejudge-settings.html @@ -0,0 +1,72 @@ + + + + + EjudgeSettings + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

EjudgeSettings

+
+
constructor(url: String, resultType: ContestResultType = ContestResultType.ICPC, emulation: EmulationSettings? = null)(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-ejudge-settings/emulation.html b/docs/cds/cds/org.icpclive.cds.settings/-ejudge-settings/emulation.html new file mode 100644 index 000000000..e25f3c5ca --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-ejudge-settings/emulation.html @@ -0,0 +1,72 @@ + + + + + emulation + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

emulation

+
+
open override val emulation: EmulationSettings? = null(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-ejudge-settings/index.html b/docs/cds/cds/org.icpclive.cds.settings/-ejudge-settings/index.html new file mode 100644 index 000000000..3c8278398 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-ejudge-settings/index.html @@ -0,0 +1,179 @@ + + + + + EjudgeSettings + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

EjudgeSettings

+
@Serializable
class EjudgeSettings(val url: String, val resultType: ContestResultType = ContestResultType.ICPC, val emulation: EmulationSettings? = null) : CDSSettings(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(url: String, resultType: ContestResultType = ContestResultType.ICPC, emulation: EmulationSettings? = null)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val emulation: EmulationSettings? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val url: String
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun toFlow(creds: Map<String, String>): Flow<ContestUpdate>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-ejudge-settings/result-type.html b/docs/cds/cds/org.icpclive.cds.settings/-ejudge-settings/result-type.html new file mode 100644 index 000000000..002e39d01 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-ejudge-settings/result-type.html @@ -0,0 +1,72 @@ + + + + + resultType + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

resultType

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-ejudge-settings/url.html b/docs/cds/cds/org.icpclive.cds.settings/-ejudge-settings/url.html new file mode 100644 index 000000000..1a6aa4480 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-ejudge-settings/url.html @@ -0,0 +1,72 @@ + + + + + url + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

url

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-emulation-settings/-emulation-settings.html b/docs/cds/cds/org.icpclive.cds.settings/-emulation-settings/-emulation-settings.html new file mode 100644 index 000000000..464a15ea3 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-emulation-settings/-emulation-settings.html @@ -0,0 +1,72 @@ + + + + + EmulationSettings + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

EmulationSettings

+
+
constructor(speed: Double, startTime: Instant)(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-emulation-settings/index.html b/docs/cds/cds/org.icpclive.cds.settings/-emulation-settings/index.html new file mode 100644 index 000000000..09f362474 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-emulation-settings/index.html @@ -0,0 +1,130 @@ + + + + + EmulationSettings + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

EmulationSettings

+
@Serializable
class EmulationSettings(val speed: Double, val startTime: Instant)(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(speed: Double, startTime: Instant)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = HumanTimeSerializer::class)
val startTime: Instant
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-emulation-settings/speed.html b/docs/cds/cds/org.icpclive.cds.settings/-emulation-settings/speed.html new file mode 100644 index 000000000..f426dfdd2 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-emulation-settings/speed.html @@ -0,0 +1,72 @@ + + + + + speed + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

speed

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-emulation-settings/start-time.html b/docs/cds/cds/org.icpclive.cds.settings/-emulation-settings/start-time.html new file mode 100644 index 000000000..5725fd6a9 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-emulation-settings/start-time.html @@ -0,0 +1,72 @@ + + + + + startTime + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

startTime

+
+
@Serializable(with = HumanTimeSerializer::class)
val startTime: Instant(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-k-r-s-u-settings/-k-r-s-u-settings.html b/docs/cds/cds/org.icpclive.cds.settings/-k-r-s-u-settings/-k-r-s-u-settings.html new file mode 100644 index 000000000..58b94ff8f --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-k-r-s-u-settings/-k-r-s-u-settings.html @@ -0,0 +1,72 @@ + + + + + KRSUSettings + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

KRSUSettings

+
+
constructor(submissionsUrl: String, contestUrl: String, timeZone: TimeZone = TimeZone.of("Asia/Bishkek"), emulation: EmulationSettings? = null)(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-k-r-s-u-settings/contest-url.html b/docs/cds/cds/org.icpclive.cds.settings/-k-r-s-u-settings/contest-url.html new file mode 100644 index 000000000..b2633abd0 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-k-r-s-u-settings/contest-url.html @@ -0,0 +1,72 @@ + + + + + contestUrl + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

contestUrl

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-k-r-s-u-settings/emulation.html b/docs/cds/cds/org.icpclive.cds.settings/-k-r-s-u-settings/emulation.html new file mode 100644 index 000000000..b951b5d65 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-k-r-s-u-settings/emulation.html @@ -0,0 +1,72 @@ + + + + + emulation + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

emulation

+
+
open override val emulation: EmulationSettings? = null(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-k-r-s-u-settings/index.html b/docs/cds/cds/org.icpclive.cds.settings/-k-r-s-u-settings/index.html new file mode 100644 index 000000000..4ecbee737 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-k-r-s-u-settings/index.html @@ -0,0 +1,194 @@ + + + + + KRSUSettings + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

KRSUSettings

+
@Serializable
class KRSUSettings(val submissionsUrl: String, val contestUrl: String, val timeZone: TimeZone = TimeZone.of("Asia/Bishkek"), val emulation: EmulationSettings? = null) : CDSSettings(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(submissionsUrl: String, contestUrl: String, timeZone: TimeZone = TimeZone.of("Asia/Bishkek"), emulation: EmulationSettings? = null)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val emulation: EmulationSettings? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = TimeZoneSerializer::class)
val timeZone: TimeZone
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun toFlow(creds: Map<String, String>): Flow<ContestUpdate>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-k-r-s-u-settings/submissions-url.html b/docs/cds/cds/org.icpclive.cds.settings/-k-r-s-u-settings/submissions-url.html new file mode 100644 index 000000000..b52703d9e --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-k-r-s-u-settings/submissions-url.html @@ -0,0 +1,72 @@ + + + + + submissionsUrl + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

submissionsUrl

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-k-r-s-u-settings/time-zone.html b/docs/cds/cds/org.icpclive.cds.settings/-k-r-s-u-settings/time-zone.html new file mode 100644 index 000000000..ea321b725 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-k-r-s-u-settings/time-zone.html @@ -0,0 +1,72 @@ + + + + + timeZone + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

timeZone

+
+
@Serializable(with = TimeZoneSerializer::class)
val timeZone: TimeZone(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-noop-settings/-noop-settings.html b/docs/cds/cds/org.icpclive.cds.settings/-noop-settings/-noop-settings.html new file mode 100644 index 000000000..1ca233c4f --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-noop-settings/-noop-settings.html @@ -0,0 +1,72 @@ + + + + + NoopSettings + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

NoopSettings

+
+
constructor(emulation: EmulationSettings? = null)(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-noop-settings/emulation.html b/docs/cds/cds/org.icpclive.cds.settings/-noop-settings/emulation.html new file mode 100644 index 000000000..f57c13f56 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-noop-settings/emulation.html @@ -0,0 +1,72 @@ + + + + + emulation + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

emulation

+
+
open override val emulation: EmulationSettings? = null(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-noop-settings/index.html b/docs/cds/cds/org.icpclive.cds.settings/-noop-settings/index.html new file mode 100644 index 000000000..f8c97ca6d --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-noop-settings/index.html @@ -0,0 +1,149 @@ + + + + + NoopSettings + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

NoopSettings

+
@Serializable
class NoopSettings(val emulation: EmulationSettings? = null) : CDSSettings(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(emulation: EmulationSettings? = null)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val emulation: EmulationSettings? = null
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun toFlow(creds: Map<String, String>): Flow<ContestUpdate>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-p-c-m-s-settings/-p-c-m-s-settings.html b/docs/cds/cds/org.icpclive.cds.settings/-p-c-m-s-settings/-p-c-m-s-settings.html new file mode 100644 index 000000000..71047d85d --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-p-c-m-s-settings/-p-c-m-s-settings.html @@ -0,0 +1,72 @@ + + + + + PCMSSettings + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

PCMSSettings

+
+
constructor(url: String, login: Credential? = null, password: Credential? = null, problemsUrl: String? = null, resultType: ContestResultType = ContestResultType.ICPC, emulation: EmulationSettings? = null)(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-p-c-m-s-settings/emulation.html b/docs/cds/cds/org.icpclive.cds.settings/-p-c-m-s-settings/emulation.html new file mode 100644 index 000000000..d0aafccc8 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-p-c-m-s-settings/emulation.html @@ -0,0 +1,72 @@ + + + + + emulation + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

emulation

+
+
open override val emulation: EmulationSettings? = null(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-p-c-m-s-settings/index.html b/docs/cds/cds/org.icpclive.cds.settings/-p-c-m-s-settings/index.html new file mode 100644 index 000000000..c07bbaab8 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-p-c-m-s-settings/index.html @@ -0,0 +1,224 @@ + + + + + PCMSSettings + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

PCMSSettings

+
@Serializable
class PCMSSettings(val url: String, val login: Credential? = null, val password: Credential? = null, val problemsUrl: String? = null, val resultType: ContestResultType = ContestResultType.ICPC, val emulation: EmulationSettings? = null) : CDSSettings(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(url: String, login: Credential? = null, password: Credential? = null, problemsUrl: String? = null, resultType: ContestResultType = ContestResultType.ICPC, emulation: EmulationSettings? = null)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val emulation: EmulationSettings? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val login: Credential? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val password: Credential? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val problemsUrl: String? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val url: String
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun toFlow(creds: Map<String, String>): Flow<ContestUpdate>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-p-c-m-s-settings/login.html b/docs/cds/cds/org.icpclive.cds.settings/-p-c-m-s-settings/login.html new file mode 100644 index 000000000..ffdd3705c --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-p-c-m-s-settings/login.html @@ -0,0 +1,72 @@ + + + + + login + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

login

+
+
val login: Credential? = null(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-p-c-m-s-settings/password.html b/docs/cds/cds/org.icpclive.cds.settings/-p-c-m-s-settings/password.html new file mode 100644 index 000000000..368d980fb --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-p-c-m-s-settings/password.html @@ -0,0 +1,72 @@ + + + + + password + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

password

+
+
val password: Credential? = null(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-p-c-m-s-settings/problems-url.html b/docs/cds/cds/org.icpclive.cds.settings/-p-c-m-s-settings/problems-url.html new file mode 100644 index 000000000..95129b88a --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-p-c-m-s-settings/problems-url.html @@ -0,0 +1,72 @@ + + + + + problemsUrl + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

problemsUrl

+
+
val problemsUrl: String? = null(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-p-c-m-s-settings/result-type.html b/docs/cds/cds/org.icpclive.cds.settings/-p-c-m-s-settings/result-type.html new file mode 100644 index 000000000..bf03771d6 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-p-c-m-s-settings/result-type.html @@ -0,0 +1,72 @@ + + + + + resultType + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

resultType

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-p-c-m-s-settings/url.html b/docs/cds/cds/org.icpclive.cds.settings/-p-c-m-s-settings/url.html new file mode 100644 index 000000000..0bf8ccfd7 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-p-c-m-s-settings/url.html @@ -0,0 +1,72 @@ + + + + + url + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

url

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-test-sys-settings/-test-sys-settings.html b/docs/cds/cds/org.icpclive.cds.settings/-test-sys-settings/-test-sys-settings.html new file mode 100644 index 000000000..62a351b2b --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-test-sys-settings/-test-sys-settings.html @@ -0,0 +1,72 @@ + + + + + TestSysSettings + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

TestSysSettings

+
+
constructor(url: String, timeZone: TimeZone = TimeZone.of("Europe/Moscow"), emulation: EmulationSettings? = null)(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-test-sys-settings/emulation.html b/docs/cds/cds/org.icpclive.cds.settings/-test-sys-settings/emulation.html new file mode 100644 index 000000000..9b39e5a30 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-test-sys-settings/emulation.html @@ -0,0 +1,72 @@ + + + + + emulation + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

emulation

+
+
open override val emulation: EmulationSettings? = null(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-test-sys-settings/index.html b/docs/cds/cds/org.icpclive.cds.settings/-test-sys-settings/index.html new file mode 100644 index 000000000..35b519436 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-test-sys-settings/index.html @@ -0,0 +1,179 @@ + + + + + TestSysSettings + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

TestSysSettings

+
@Serializable
class TestSysSettings(val url: String, val timeZone: TimeZone = TimeZone.of("Europe/Moscow"), val emulation: EmulationSettings? = null) : CDSSettings(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(url: String, timeZone: TimeZone = TimeZone.of("Europe/Moscow"), emulation: EmulationSettings? = null)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val emulation: EmulationSettings? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = TimeZoneSerializer::class)
val timeZone: TimeZone
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val url: String
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun toFlow(creds: Map<String, String>): Flow<ContestUpdate>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-test-sys-settings/time-zone.html b/docs/cds/cds/org.icpclive.cds.settings/-test-sys-settings/time-zone.html new file mode 100644 index 000000000..f0d984584 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-test-sys-settings/time-zone.html @@ -0,0 +1,72 @@ + + + + + timeZone + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

timeZone

+
+
@Serializable(with = TimeZoneSerializer::class)
val timeZone: TimeZone(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-test-sys-settings/url.html b/docs/cds/cds/org.icpclive.cds.settings/-test-sys-settings/url.html new file mode 100644 index 000000000..3010b667e --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-test-sys-settings/url.html @@ -0,0 +1,72 @@ + + + + + url + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

url

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-yandex-settings/-yandex-settings.html b/docs/cds/cds/org.icpclive.cds.settings/-yandex-settings/-yandex-settings.html new file mode 100644 index 000000000..dee35ffbb --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-yandex-settings/-yandex-settings.html @@ -0,0 +1,72 @@ + + + + + YandexSettings + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

YandexSettings

+
+
constructor(apiKey: Credential, loginRegex: String, contestId: Int, resultType: ContestResultType = ContestResultType.ICPC, emulation: EmulationSettings? = null)(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-yandex-settings/api-key.html b/docs/cds/cds/org.icpclive.cds.settings/-yandex-settings/api-key.html new file mode 100644 index 000000000..8b8913877 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-yandex-settings/api-key.html @@ -0,0 +1,72 @@ + + + + + apiKey + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

apiKey

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-yandex-settings/contest-id.html b/docs/cds/cds/org.icpclive.cds.settings/-yandex-settings/contest-id.html new file mode 100644 index 000000000..934f341f1 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-yandex-settings/contest-id.html @@ -0,0 +1,72 @@ + + + + + contestId + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

contestId

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-yandex-settings/emulation.html b/docs/cds/cds/org.icpclive.cds.settings/-yandex-settings/emulation.html new file mode 100644 index 000000000..cf58b86fa --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-yandex-settings/emulation.html @@ -0,0 +1,72 @@ + + + + + emulation + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

emulation

+
+
open override val emulation: EmulationSettings? = null(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-yandex-settings/index.html b/docs/cds/cds/org.icpclive.cds.settings/-yandex-settings/index.html new file mode 100644 index 000000000..48865421b --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-yandex-settings/index.html @@ -0,0 +1,209 @@ + + + + + YandexSettings + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

YandexSettings

+
@Serializable
class YandexSettings(val apiKey: Credential, val loginRegex: String, val contestId: Int, val resultType: ContestResultType = ContestResultType.ICPC, val emulation: EmulationSettings? = null) : CDSSettings(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(apiKey: Credential, loginRegex: String, contestId: Int, resultType: ContestResultType = ContestResultType.ICPC, emulation: EmulationSettings? = null)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val emulation: EmulationSettings? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun toFlow(creds: Map<String, String>): Flow<ContestUpdate>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-yandex-settings/login-regex.html b/docs/cds/cds/org.icpclive.cds.settings/-yandex-settings/login-regex.html new file mode 100644 index 000000000..c6c6ae3d6 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-yandex-settings/login-regex.html @@ -0,0 +1,72 @@ + + + + + loginRegex + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

loginRegex

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/-yandex-settings/result-type.html b/docs/cds/cds/org.icpclive.cds.settings/-yandex-settings/result-type.html new file mode 100644 index 000000000..760631b58 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/-yandex-settings/result-type.html @@ -0,0 +1,72 @@ + + + + + resultType + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

resultType

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/index.html b/docs/cds/cds/org.icpclive.cds.settings/index.html new file mode 100644 index 000000000..0d9b0623d --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/index.html @@ -0,0 +1,294 @@ + + + + + org.icpclive.cds.settings + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Package-level declarations

+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
class CatsSettings(val login: Credential, val password: Credential, val url: String, val timeZone: TimeZone = TimeZone.of("Asia/Vladivostok"), val resultType: ContestResultType = ContestResultType.ICPC, val cid: String, val emulation: EmulationSettings? = null) : CDSSettings
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
sealed class CDSSettings
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
class CFSettings(val contestId: Int, val apiKey: Credential, val apiSecret: Credential, val emulation: EmulationSettings? = null) : CDSSettings
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
class ClicsLoaderSettings(val url: String, val login: Credential? = null, val password: Credential? = null, val eventFeedName: String = "event-feed", val feedVersion: FeedVersion = FeedVersion.`2022_07`)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
class ClicsSettings(url: String, login: Credential? = null, password: Credential? = null, eventFeedName: String = "event-feed", feedVersion: FeedVersion = FeedVersion.`2022_07`, val additionalFeed: ClicsLoaderSettings? = null, val useTeamNames: Boolean = true, val mediaBaseUrl: String = "", val emulation: EmulationSettings? = null) : CDSSettings
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
value class Credential(raw: String)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
class EjudgeSettings(val url: String, val resultType: ContestResultType = ContestResultType.ICPC, val emulation: EmulationSettings? = null) : CDSSettings
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
class EmulationSettings(val speed: Double, val startTime: Instant)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
class KRSUSettings(val submissionsUrl: String, val contestUrl: String, val timeZone: TimeZone = TimeZone.of("Asia/Bishkek"), val emulation: EmulationSettings? = null) : CDSSettings
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
class NoopSettings(val emulation: EmulationSettings? = null) : CDSSettings
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
class PCMSSettings(val url: String, val login: Credential? = null, val password: Credential? = null, val problemsUrl: String? = null, val resultType: ContestResultType = ContestResultType.ICPC, val emulation: EmulationSettings? = null) : CDSSettings
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
class TestSysSettings(val url: String, val timeZone: TimeZone = TimeZone.of("Europe/Moscow"), val emulation: EmulationSettings? = null) : CDSSettings
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
class YandexSettings(val apiKey: Credential, val loginRegex: String, val contestId: Int, val resultType: ContestResultType = ContestResultType.ICPC, val emulation: EmulationSettings? = null) : CDSSettings
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds.settings/parse-file-to-cds-settings.html b/docs/cds/cds/org.icpclive.cds.settings/parse-file-to-cds-settings.html new file mode 100644 index 000000000..c6cea47a9 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds.settings/parse-file-to-cds-settings.html @@ -0,0 +1,72 @@ + + + + + parseFileToCdsSettings + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

parseFileToCdsSettings

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-analytics-update/-analytics-update.html b/docs/cds/cds/org.icpclive.cds/-analytics-update/-analytics-update.html new file mode 100644 index 000000000..62014a63a --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-analytics-update/-analytics-update.html @@ -0,0 +1,72 @@ + + + + + AnalyticsUpdate + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

AnalyticsUpdate

+
+
constructor(message: AnalyticsMessage)(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-analytics-update/index.html b/docs/cds/cds/org.icpclive.cds/-analytics-update/index.html new file mode 100644 index 000000000..3e610af70 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-analytics-update/index.html @@ -0,0 +1,115 @@ + + + + + AnalyticsUpdate + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

AnalyticsUpdate

+ +
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(message: AnalyticsMessage)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-analytics-update/message.html b/docs/cds/cds/org.icpclive.cds/-analytics-update/message.html new file mode 100644 index 000000000..e2bd47ea4 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-analytics-update/message.html @@ -0,0 +1,72 @@ + + + + + message + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

message

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-c-d-s-settings/-companion/index.html b/docs/cds/cds/org.icpclive.cds/-c-d-s-settings/-companion/index.html new file mode 100644 index 000000000..9e2628018 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-c-d-s-settings/-companion/index.html @@ -0,0 +1,76 @@ + + + + + Companion + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Companion

+ +
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-c-d-s-settings/emulation.html b/docs/cds/cds/org.icpclive.cds/-c-d-s-settings/emulation.html new file mode 100644 index 000000000..9dc50e15a --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-c-d-s-settings/emulation.html @@ -0,0 +1,72 @@ + + + + + emulation + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

emulation

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-c-d-s-settings/index.html b/docs/cds/cds/org.icpclive.cds/-c-d-s-settings/index.html new file mode 100644 index 000000000..76298b866 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-c-d-s-settings/index.html @@ -0,0 +1,149 @@ + + + + + CDSSettings + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ + +
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
object Companion
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun toFlow(creds: Map<String, String>): Flow<ContestUpdate>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-c-d-s-settings/to-flow.html b/docs/cds/cds/org.icpclive.cds/-c-d-s-settings/to-flow.html new file mode 100644 index 000000000..c4b159476 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-c-d-s-settings/to-flow.html @@ -0,0 +1,72 @@ + + + + + toFlow + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toFlow

+
+
fun toFlow(creds: Map<String, String>): Flow<ContestUpdate>(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-c-d-s-settings/to-string.html b/docs/cds/cds/org.icpclive.cds/-c-d-s-settings/to-string.html new file mode 100644 index 000000000..9a515a32c --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-c-d-s-settings/to-string.html @@ -0,0 +1,72 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-c-f-settings/-c-f-settings.html b/docs/cds/cds/org.icpclive.cds/-c-f-settings/-c-f-settings.html new file mode 100644 index 000000000..4f70cce75 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-c-f-settings/-c-f-settings.html @@ -0,0 +1,72 @@ + + + + + CFSettings + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

CFSettings

+
+
constructor(contestId: Int, apiKey: Credential, apiSecret: Credential, emulation: EmulationSettings? = null)(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-c-f-settings/api-key.html b/docs/cds/cds/org.icpclive.cds/-c-f-settings/api-key.html new file mode 100644 index 000000000..80292d113 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-c-f-settings/api-key.html @@ -0,0 +1,72 @@ + + + + + apiKey + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

apiKey

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-c-f-settings/api-secret.html b/docs/cds/cds/org.icpclive.cds/-c-f-settings/api-secret.html new file mode 100644 index 000000000..8783d6de6 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-c-f-settings/api-secret.html @@ -0,0 +1,72 @@ + + + + + apiSecret + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

apiSecret

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-c-f-settings/contest-id.html b/docs/cds/cds/org.icpclive.cds/-c-f-settings/contest-id.html new file mode 100644 index 000000000..950985fc3 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-c-f-settings/contest-id.html @@ -0,0 +1,72 @@ + + + + + contestId + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

contestId

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-c-f-settings/emulation.html b/docs/cds/cds/org.icpclive.cds/-c-f-settings/emulation.html new file mode 100644 index 000000000..df8c2f400 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-c-f-settings/emulation.html @@ -0,0 +1,72 @@ + + + + + emulation + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

emulation

+
+
open override val emulation: EmulationSettings? = null(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-c-f-settings/index.html b/docs/cds/cds/org.icpclive.cds/-c-f-settings/index.html new file mode 100644 index 000000000..9a3340777 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-c-f-settings/index.html @@ -0,0 +1,194 @@ + + + + + CFSettings + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

CFSettings

+
@Serializable
class CFSettings(val contestId: Int, val apiKey: Credential, val apiSecret: Credential, val emulation: EmulationSettings? = null) : CDSSettings(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(contestId: Int, apiKey: Credential, apiSecret: Credential, emulation: EmulationSettings? = null)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val emulation: EmulationSettings? = null
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun toFlow(creds: Map<String, String>): Flow<ContestUpdate>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-cats-settings/-cats-settings.html b/docs/cds/cds/org.icpclive.cds/-cats-settings/-cats-settings.html new file mode 100644 index 000000000..ccacd4415 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-cats-settings/-cats-settings.html @@ -0,0 +1,72 @@ + + + + + CatsSettings + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

CatsSettings

+
+
constructor(login: Credential, password: Credential, url: String, timeZone: TimeZone = TimeZone.of("Asia/Vladivostok"), resultType: ContestResultType = ContestResultType.ICPC, cid: String, emulation: EmulationSettings? = null)(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-cats-settings/cid.html b/docs/cds/cds/org.icpclive.cds/-cats-settings/cid.html new file mode 100644 index 000000000..b057b7fde --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-cats-settings/cid.html @@ -0,0 +1,72 @@ + + + + + cid + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

cid

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-cats-settings/emulation.html b/docs/cds/cds/org.icpclive.cds/-cats-settings/emulation.html new file mode 100644 index 000000000..284f9984a --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-cats-settings/emulation.html @@ -0,0 +1,72 @@ + + + + + emulation + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

emulation

+
+
open override val emulation: EmulationSettings? = null(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-cats-settings/index.html b/docs/cds/cds/org.icpclive.cds/-cats-settings/index.html new file mode 100644 index 000000000..2ca9f9f2b --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-cats-settings/index.html @@ -0,0 +1,239 @@ + + + + + CatsSettings + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

CatsSettings

+
@Serializable
class CatsSettings(val login: Credential, val password: Credential, val url: String, val timeZone: TimeZone = TimeZone.of("Asia/Vladivostok"), val resultType: ContestResultType = ContestResultType.ICPC, val cid: String, val emulation: EmulationSettings? = null) : CDSSettings(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(login: Credential, password: Credential, url: String, timeZone: TimeZone = TimeZone.of("Asia/Vladivostok"), resultType: ContestResultType = ContestResultType.ICPC, cid: String, emulation: EmulationSettings? = null)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val cid: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val emulation: EmulationSettings? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = TimeZoneSerializer::class)
val timeZone: TimeZone
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val url: String
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun toFlow(creds: Map<String, String>): Flow<ContestUpdate>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-cats-settings/login.html b/docs/cds/cds/org.icpclive.cds/-cats-settings/login.html new file mode 100644 index 000000000..92e372ef7 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-cats-settings/login.html @@ -0,0 +1,72 @@ + + + + + login + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

login

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-cats-settings/password.html b/docs/cds/cds/org.icpclive.cds/-cats-settings/password.html new file mode 100644 index 000000000..a02232a58 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-cats-settings/password.html @@ -0,0 +1,72 @@ + + + + + password + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

password

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-cats-settings/result-type.html b/docs/cds/cds/org.icpclive.cds/-cats-settings/result-type.html new file mode 100644 index 000000000..65f26e858 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-cats-settings/result-type.html @@ -0,0 +1,72 @@ + + + + + resultType + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

resultType

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-cats-settings/time-zone.html b/docs/cds/cds/org.icpclive.cds/-cats-settings/time-zone.html new file mode 100644 index 000000000..42e24e54f --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-cats-settings/time-zone.html @@ -0,0 +1,72 @@ + + + + + timeZone + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

timeZone

+
+
@Serializable(with = TimeZoneSerializer::class)
val timeZone: TimeZone(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-cats-settings/url.html b/docs/cds/cds/org.icpclive.cds/-cats-settings/url.html new file mode 100644 index 000000000..e623bbe30 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-cats-settings/url.html @@ -0,0 +1,72 @@ + + + + + url + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

url

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-clics-loader-settings/-clics-loader-settings.html b/docs/cds/cds/org.icpclive.cds/-clics-loader-settings/-clics-loader-settings.html new file mode 100644 index 000000000..b9d153754 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-clics-loader-settings/-clics-loader-settings.html @@ -0,0 +1,72 @@ + + + + + ClicsLoaderSettings + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ClicsLoaderSettings

+
+
constructor(url: String, login: Credential? = null, password: Credential? = null, eventFeedName: String = "event-feed", feedVersion: FeedVersion = FeedVersion.`2022_07`)(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-clics-loader-settings/event-feed-name.html b/docs/cds/cds/org.icpclive.cds/-clics-loader-settings/event-feed-name.html new file mode 100644 index 000000000..bb45d6fb7 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-clics-loader-settings/event-feed-name.html @@ -0,0 +1,72 @@ + + + + + eventFeedName + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

eventFeedName

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-clics-loader-settings/feed-version.html b/docs/cds/cds/org.icpclive.cds/-clics-loader-settings/feed-version.html new file mode 100644 index 000000000..ebc489af5 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-clics-loader-settings/feed-version.html @@ -0,0 +1,72 @@ + + + + + feedVersion + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

feedVersion

+
+
val feedVersion: FeedVersion(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-clics-loader-settings/index.html b/docs/cds/cds/org.icpclive.cds/-clics-loader-settings/index.html new file mode 100644 index 000000000..feb57bad7 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-clics-loader-settings/index.html @@ -0,0 +1,175 @@ + + + + + ClicsLoaderSettings + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ClicsLoaderSettings

+
@Serializable
class ClicsLoaderSettings(val url: String, val login: Credential? = null, val password: Credential? = null, val eventFeedName: String = "event-feed", val feedVersion: FeedVersion = FeedVersion.`2022_07`)(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(url: String, login: Credential? = null, password: Credential? = null, eventFeedName: String = "event-feed", feedVersion: FeedVersion = FeedVersion.`2022_07`)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val feedVersion: FeedVersion
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val login: Credential? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val password: Credential? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val url: String
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-clics-loader-settings/login.html b/docs/cds/cds/org.icpclive.cds/-clics-loader-settings/login.html new file mode 100644 index 000000000..18fd3a859 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-clics-loader-settings/login.html @@ -0,0 +1,72 @@ + + + + + login + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

login

+
+
val login: Credential? = null(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-clics-loader-settings/password.html b/docs/cds/cds/org.icpclive.cds/-clics-loader-settings/password.html new file mode 100644 index 000000000..e021a3c60 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-clics-loader-settings/password.html @@ -0,0 +1,72 @@ + + + + + password + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

password

+
+
val password: Credential? = null(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-clics-loader-settings/url.html b/docs/cds/cds/org.icpclive.cds/-clics-loader-settings/url.html new file mode 100644 index 000000000..0675e538a --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-clics-loader-settings/url.html @@ -0,0 +1,72 @@ + + + + + url + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

url

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-clics-settings/-clics-settings.html b/docs/cds/cds/org.icpclive.cds/-clics-settings/-clics-settings.html new file mode 100644 index 000000000..71b3af525 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-clics-settings/-clics-settings.html @@ -0,0 +1,72 @@ + + + + + ClicsSettings + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ClicsSettings

+
+
constructor(url: String, login: Credential? = null, password: Credential? = null, eventFeedName: String = "event-feed", feedVersion: FeedVersion = FeedVersion.`2022_07`, additionalFeed: ClicsLoaderSettings? = null, useTeamNames: Boolean = true, mediaBaseUrl: String = "", emulation: EmulationSettings? = null)(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-clics-settings/additional-feed.html b/docs/cds/cds/org.icpclive.cds/-clics-settings/additional-feed.html new file mode 100644 index 000000000..77e91aa46 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-clics-settings/additional-feed.html @@ -0,0 +1,72 @@ + + + + + additionalFeed + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

additionalFeed

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-clics-settings/emulation.html b/docs/cds/cds/org.icpclive.cds/-clics-settings/emulation.html new file mode 100644 index 000000000..9a3e23fac --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-clics-settings/emulation.html @@ -0,0 +1,72 @@ + + + + + emulation + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

emulation

+
+
open override val emulation: EmulationSettings? = null(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-clics-settings/index.html b/docs/cds/cds/org.icpclive.cds/-clics-settings/index.html new file mode 100644 index 000000000..23f571d9c --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-clics-settings/index.html @@ -0,0 +1,209 @@ + + + + + ClicsSettings + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ClicsSettings

+
@Serializable
class ClicsSettings(url: String, login: Credential? = null, password: Credential? = null, eventFeedName: String = "event-feed", feedVersion: FeedVersion = FeedVersion.`2022_07`, val additionalFeed: ClicsLoaderSettings? = null, val useTeamNames: Boolean = true, val mediaBaseUrl: String = "", val emulation: EmulationSettings? = null) : CDSSettings(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(url: String, login: Credential? = null, password: Credential? = null, eventFeedName: String = "event-feed", feedVersion: FeedVersion = FeedVersion.`2022_07`, additionalFeed: ClicsLoaderSettings? = null, useTeamNames: Boolean = true, mediaBaseUrl: String = "", emulation: EmulationSettings? = null)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val emulation: EmulationSettings? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val useTeamNames: Boolean = true
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun toFlow(creds: Map<String, String>): Flow<ContestUpdate>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-clics-settings/main-feed.html b/docs/cds/cds/org.icpclive.cds/-clics-settings/main-feed.html new file mode 100644 index 000000000..295f47ab1 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-clics-settings/main-feed.html @@ -0,0 +1,72 @@ + + + + + mainFeed + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

mainFeed

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-clics-settings/media-base-url.html b/docs/cds/cds/org.icpclive.cds/-clics-settings/media-base-url.html new file mode 100644 index 000000000..72527412b --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-clics-settings/media-base-url.html @@ -0,0 +1,72 @@ + + + + + mediaBaseUrl + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

mediaBaseUrl

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-clics-settings/use-team-names.html b/docs/cds/cds/org.icpclive.cds/-clics-settings/use-team-names.html new file mode 100644 index 000000000..a19acf1ed --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-clics-settings/use-team-names.html @@ -0,0 +1,72 @@ + + + + + useTeamNames + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

useTeamNames

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-contest-update/index.html b/docs/cds/cds/org.icpclive.cds/-contest-update/index.html new file mode 100644 index 000000000..b05d621ab --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-contest-update/index.html @@ -0,0 +1,76 @@ + + + + + ContestUpdate + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ContestUpdate

+ +
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-credential/-credential.html b/docs/cds/cds/org.icpclive.cds/-credential/-credential.html new file mode 100644 index 000000000..1b18399b0 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-credential/-credential.html @@ -0,0 +1,72 @@ + + + + + Credential + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Credential

+
+
constructor(raw: String)(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-credential/get.html b/docs/cds/cds/org.icpclive.cds/-credential/get.html new file mode 100644 index 000000000..e5b72ca71 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-credential/get.html @@ -0,0 +1,72 @@ + + + + + get + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

get

+
+
fun get(creds: Map<String, String>): String(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-credential/index.html b/docs/cds/cds/org.icpclive.cds/-credential/index.html new file mode 100644 index 000000000..94ff0b4ff --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-credential/index.html @@ -0,0 +1,115 @@ + + + + + Credential + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Credential

+
@Serializable
value class Credential(raw: String)(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(raw: String)
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun get(creds: Map<String, String>): String
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-ejudge-settings/-ejudge-settings.html b/docs/cds/cds/org.icpclive.cds/-ejudge-settings/-ejudge-settings.html new file mode 100644 index 000000000..8026681c2 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-ejudge-settings/-ejudge-settings.html @@ -0,0 +1,72 @@ + + + + + EjudgeSettings + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

EjudgeSettings

+
+
constructor(url: String, resultType: ContestResultType = ContestResultType.ICPC, emulation: EmulationSettings? = null)(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-ejudge-settings/emulation.html b/docs/cds/cds/org.icpclive.cds/-ejudge-settings/emulation.html new file mode 100644 index 000000000..1f45fc575 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-ejudge-settings/emulation.html @@ -0,0 +1,72 @@ + + + + + emulation + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

emulation

+
+
open override val emulation: EmulationSettings? = null(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-ejudge-settings/index.html b/docs/cds/cds/org.icpclive.cds/-ejudge-settings/index.html new file mode 100644 index 000000000..0defc6d9d --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-ejudge-settings/index.html @@ -0,0 +1,179 @@ + + + + + EjudgeSettings + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

EjudgeSettings

+
@Serializable
class EjudgeSettings(val url: String, val resultType: ContestResultType = ContestResultType.ICPC, val emulation: EmulationSettings? = null) : CDSSettings(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(url: String, resultType: ContestResultType = ContestResultType.ICPC, emulation: EmulationSettings? = null)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val emulation: EmulationSettings? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val url: String
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun toFlow(creds: Map<String, String>): Flow<ContestUpdate>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-ejudge-settings/result-type.html b/docs/cds/cds/org.icpclive.cds/-ejudge-settings/result-type.html new file mode 100644 index 000000000..a2ef46a3e --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-ejudge-settings/result-type.html @@ -0,0 +1,72 @@ + + + + + resultType + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

resultType

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-ejudge-settings/url.html b/docs/cds/cds/org.icpclive.cds/-ejudge-settings/url.html new file mode 100644 index 000000000..f4249028c --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-ejudge-settings/url.html @@ -0,0 +1,72 @@ + + + + + url + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

url

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-emulation-settings/-emulation-settings.html b/docs/cds/cds/org.icpclive.cds/-emulation-settings/-emulation-settings.html new file mode 100644 index 000000000..3e27cb882 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-emulation-settings/-emulation-settings.html @@ -0,0 +1,72 @@ + + + + + EmulationSettings + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

EmulationSettings

+
+
constructor(speed: Double, startTime: Instant)(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-emulation-settings/index.html b/docs/cds/cds/org.icpclive.cds/-emulation-settings/index.html new file mode 100644 index 000000000..83ff781dc --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-emulation-settings/index.html @@ -0,0 +1,130 @@ + + + + + EmulationSettings + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

EmulationSettings

+
@Serializable
class EmulationSettings(val speed: Double, val startTime: Instant)(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(speed: Double, startTime: Instant)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = HumanTimeSerializer::class)
val startTime: Instant
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-emulation-settings/speed.html b/docs/cds/cds/org.icpclive.cds/-emulation-settings/speed.html new file mode 100644 index 000000000..d549285be --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-emulation-settings/speed.html @@ -0,0 +1,72 @@ + + + + + speed + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

speed

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-emulation-settings/start-time.html b/docs/cds/cds/org.icpclive.cds/-emulation-settings/start-time.html new file mode 100644 index 000000000..5c6a4641e --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-emulation-settings/start-time.html @@ -0,0 +1,72 @@ + + + + + startTime + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

startTime

+
+
@Serializable(with = HumanTimeSerializer::class)
val startTime: Instant(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-info-update/-info-update.html b/docs/cds/cds/org.icpclive.cds/-info-update/-info-update.html new file mode 100644 index 000000000..84470c6c7 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-info-update/-info-update.html @@ -0,0 +1,72 @@ + + + + + InfoUpdate + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

InfoUpdate

+
+
constructor(newInfo: ContestInfo)(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-info-update/index.html b/docs/cds/cds/org.icpclive.cds/-info-update/index.html new file mode 100644 index 000000000..7810f9c33 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-info-update/index.html @@ -0,0 +1,115 @@ + + + + + InfoUpdate + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

InfoUpdate

+
data class InfoUpdate(val newInfo: ContestInfo) : ContestUpdate(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(newInfo: ContestInfo)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-info-update/new-info.html b/docs/cds/cds/org.icpclive.cds/-info-update/new-info.html new file mode 100644 index 000000000..f667e18a1 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-info-update/new-info.html @@ -0,0 +1,72 @@ + + + + + newInfo + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

newInfo

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-k-r-s-u-settings/-k-r-s-u-settings.html b/docs/cds/cds/org.icpclive.cds/-k-r-s-u-settings/-k-r-s-u-settings.html new file mode 100644 index 000000000..500570d77 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-k-r-s-u-settings/-k-r-s-u-settings.html @@ -0,0 +1,72 @@ + + + + + KRSUSettings + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

KRSUSettings

+
+
constructor(submissionsUrl: String, contestUrl: String, timeZone: TimeZone = TimeZone.of("Asia/Bishkek"), emulation: EmulationSettings? = null)(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-k-r-s-u-settings/contest-url.html b/docs/cds/cds/org.icpclive.cds/-k-r-s-u-settings/contest-url.html new file mode 100644 index 000000000..e1eedb288 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-k-r-s-u-settings/contest-url.html @@ -0,0 +1,72 @@ + + + + + contestUrl + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

contestUrl

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-k-r-s-u-settings/emulation.html b/docs/cds/cds/org.icpclive.cds/-k-r-s-u-settings/emulation.html new file mode 100644 index 000000000..30bd5debe --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-k-r-s-u-settings/emulation.html @@ -0,0 +1,72 @@ + + + + + emulation + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

emulation

+
+
open override val emulation: EmulationSettings? = null(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-k-r-s-u-settings/index.html b/docs/cds/cds/org.icpclive.cds/-k-r-s-u-settings/index.html new file mode 100644 index 000000000..d341120b0 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-k-r-s-u-settings/index.html @@ -0,0 +1,194 @@ + + + + + KRSUSettings + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

KRSUSettings

+
@Serializable
class KRSUSettings(val submissionsUrl: String, val contestUrl: String, val timeZone: TimeZone = TimeZone.of("Asia/Bishkek"), val emulation: EmulationSettings? = null) : CDSSettings(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(submissionsUrl: String, contestUrl: String, timeZone: TimeZone = TimeZone.of("Asia/Bishkek"), emulation: EmulationSettings? = null)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val emulation: EmulationSettings? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = TimeZoneSerializer::class)
val timeZone: TimeZone
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun toFlow(creds: Map<String, String>): Flow<ContestUpdate>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-k-r-s-u-settings/submissions-url.html b/docs/cds/cds/org.icpclive.cds/-k-r-s-u-settings/submissions-url.html new file mode 100644 index 000000000..7dc896db1 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-k-r-s-u-settings/submissions-url.html @@ -0,0 +1,72 @@ + + + + + submissionsUrl + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

submissionsUrl

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-k-r-s-u-settings/time-zone.html b/docs/cds/cds/org.icpclive.cds/-k-r-s-u-settings/time-zone.html new file mode 100644 index 000000000..ab5a15ce0 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-k-r-s-u-settings/time-zone.html @@ -0,0 +1,72 @@ + + + + + timeZone + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

timeZone

+
+
@Serializable(with = TimeZoneSerializer::class)
val timeZone: TimeZone(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-noop-settings/-noop-settings.html b/docs/cds/cds/org.icpclive.cds/-noop-settings/-noop-settings.html new file mode 100644 index 000000000..492832418 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-noop-settings/-noop-settings.html @@ -0,0 +1,72 @@ + + + + + NoopSettings + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

NoopSettings

+
+
constructor(emulation: EmulationSettings? = null)(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-noop-settings/emulation.html b/docs/cds/cds/org.icpclive.cds/-noop-settings/emulation.html new file mode 100644 index 000000000..74519efa4 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-noop-settings/emulation.html @@ -0,0 +1,72 @@ + + + + + emulation + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

emulation

+
+
open override val emulation: EmulationSettings? = null(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-noop-settings/index.html b/docs/cds/cds/org.icpclive.cds/-noop-settings/index.html new file mode 100644 index 000000000..e3a980ba3 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-noop-settings/index.html @@ -0,0 +1,149 @@ + + + + + NoopSettings + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

NoopSettings

+
@Serializable
class NoopSettings(val emulation: EmulationSettings? = null) : CDSSettings(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(emulation: EmulationSettings? = null)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val emulation: EmulationSettings? = null
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun toFlow(creds: Map<String, String>): Flow<ContestUpdate>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-p-c-m-s-settings/-p-c-m-s-settings.html b/docs/cds/cds/org.icpclive.cds/-p-c-m-s-settings/-p-c-m-s-settings.html new file mode 100644 index 000000000..eaacd042f --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-p-c-m-s-settings/-p-c-m-s-settings.html @@ -0,0 +1,72 @@ + + + + + PCMSSettings + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

PCMSSettings

+
+
constructor(url: String, login: Credential? = null, password: Credential? = null, problemsUrl: String? = null, resultType: ContestResultType = ContestResultType.ICPC, emulation: EmulationSettings? = null)(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-p-c-m-s-settings/emulation.html b/docs/cds/cds/org.icpclive.cds/-p-c-m-s-settings/emulation.html new file mode 100644 index 000000000..21bd14f37 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-p-c-m-s-settings/emulation.html @@ -0,0 +1,72 @@ + + + + + emulation + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

emulation

+
+
open override val emulation: EmulationSettings? = null(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-p-c-m-s-settings/index.html b/docs/cds/cds/org.icpclive.cds/-p-c-m-s-settings/index.html new file mode 100644 index 000000000..b9619fdf3 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-p-c-m-s-settings/index.html @@ -0,0 +1,224 @@ + + + + + PCMSSettings + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

PCMSSettings

+
@Serializable
class PCMSSettings(val url: String, val login: Credential? = null, val password: Credential? = null, val problemsUrl: String? = null, val resultType: ContestResultType = ContestResultType.ICPC, val emulation: EmulationSettings? = null) : CDSSettings(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(url: String, login: Credential? = null, password: Credential? = null, problemsUrl: String? = null, resultType: ContestResultType = ContestResultType.ICPC, emulation: EmulationSettings? = null)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val emulation: EmulationSettings? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val login: Credential? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val password: Credential? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val problemsUrl: String? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val url: String
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun toFlow(creds: Map<String, String>): Flow<ContestUpdate>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-p-c-m-s-settings/login.html b/docs/cds/cds/org.icpclive.cds/-p-c-m-s-settings/login.html new file mode 100644 index 000000000..2955286e1 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-p-c-m-s-settings/login.html @@ -0,0 +1,72 @@ + + + + + login + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

login

+
+
val login: Credential? = null(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-p-c-m-s-settings/password.html b/docs/cds/cds/org.icpclive.cds/-p-c-m-s-settings/password.html new file mode 100644 index 000000000..27d7bca67 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-p-c-m-s-settings/password.html @@ -0,0 +1,72 @@ + + + + + password + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

password

+
+
val password: Credential? = null(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-p-c-m-s-settings/problems-url.html b/docs/cds/cds/org.icpclive.cds/-p-c-m-s-settings/problems-url.html new file mode 100644 index 000000000..1076d0f46 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-p-c-m-s-settings/problems-url.html @@ -0,0 +1,72 @@ + + + + + problemsUrl + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

problemsUrl

+
+
val problemsUrl: String? = null(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-p-c-m-s-settings/result-type.html b/docs/cds/cds/org.icpclive.cds/-p-c-m-s-settings/result-type.html new file mode 100644 index 000000000..3973898bc --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-p-c-m-s-settings/result-type.html @@ -0,0 +1,72 @@ + + + + + resultType + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

resultType

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-p-c-m-s-settings/url.html b/docs/cds/cds/org.icpclive.cds/-p-c-m-s-settings/url.html new file mode 100644 index 000000000..0fd127518 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-p-c-m-s-settings/url.html @@ -0,0 +1,72 @@ + + + + + url + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

url

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-run-update/-run-update.html b/docs/cds/cds/org.icpclive.cds/-run-update/-run-update.html new file mode 100644 index 000000000..a05c0e86d --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-run-update/-run-update.html @@ -0,0 +1,72 @@ + + + + + RunUpdate + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

RunUpdate

+
+
constructor(newInfo: RunInfo)(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-run-update/index.html b/docs/cds/cds/org.icpclive.cds/-run-update/index.html new file mode 100644 index 000000000..254fdb0d6 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-run-update/index.html @@ -0,0 +1,115 @@ + + + + + RunUpdate + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

RunUpdate

+
data class RunUpdate(val newInfo: RunInfo) : ContestUpdate(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(newInfo: RunInfo)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-run-update/new-info.html b/docs/cds/cds/org.icpclive.cds/-run-update/new-info.html new file mode 100644 index 000000000..5a0585bea --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-run-update/new-info.html @@ -0,0 +1,72 @@ + + + + + newInfo + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

newInfo

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-test-sys-settings/-test-sys-settings.html b/docs/cds/cds/org.icpclive.cds/-test-sys-settings/-test-sys-settings.html new file mode 100644 index 000000000..d6178f675 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-test-sys-settings/-test-sys-settings.html @@ -0,0 +1,72 @@ + + + + + TestSysSettings + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

TestSysSettings

+
+
constructor(url: String, timeZone: TimeZone = TimeZone.of("Europe/Moscow"), emulation: EmulationSettings? = null)(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-test-sys-settings/emulation.html b/docs/cds/cds/org.icpclive.cds/-test-sys-settings/emulation.html new file mode 100644 index 000000000..f3aa6abf2 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-test-sys-settings/emulation.html @@ -0,0 +1,72 @@ + + + + + emulation + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

emulation

+
+
open override val emulation: EmulationSettings? = null(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-test-sys-settings/index.html b/docs/cds/cds/org.icpclive.cds/-test-sys-settings/index.html new file mode 100644 index 000000000..6646244e5 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-test-sys-settings/index.html @@ -0,0 +1,179 @@ + + + + + TestSysSettings + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

TestSysSettings

+
@Serializable
class TestSysSettings(val url: String, val timeZone: TimeZone = TimeZone.of("Europe/Moscow"), val emulation: EmulationSettings? = null) : CDSSettings(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(url: String, timeZone: TimeZone = TimeZone.of("Europe/Moscow"), emulation: EmulationSettings? = null)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val emulation: EmulationSettings? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = TimeZoneSerializer::class)
val timeZone: TimeZone
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val url: String
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun toFlow(creds: Map<String, String>): Flow<ContestUpdate>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-test-sys-settings/time-zone.html b/docs/cds/cds/org.icpclive.cds/-test-sys-settings/time-zone.html new file mode 100644 index 000000000..48c9eb27a --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-test-sys-settings/time-zone.html @@ -0,0 +1,72 @@ + + + + + timeZone + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

timeZone

+
+
@Serializable(with = TimeZoneSerializer::class)
val timeZone: TimeZone(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-test-sys-settings/url.html b/docs/cds/cds/org.icpclive.cds/-test-sys-settings/url.html new file mode 100644 index 000000000..7bdd01f80 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-test-sys-settings/url.html @@ -0,0 +1,72 @@ + + + + + url + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

url

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-yandex-settings/-yandex-settings.html b/docs/cds/cds/org.icpclive.cds/-yandex-settings/-yandex-settings.html new file mode 100644 index 000000000..893c406a7 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-yandex-settings/-yandex-settings.html @@ -0,0 +1,72 @@ + + + + + YandexSettings + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

YandexSettings

+
+
constructor(apiKey: Credential, loginRegex: String, contestId: Int, resultType: ContestResultType = ContestResultType.ICPC, emulation: EmulationSettings? = null)(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-yandex-settings/api-key.html b/docs/cds/cds/org.icpclive.cds/-yandex-settings/api-key.html new file mode 100644 index 000000000..ffc277377 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-yandex-settings/api-key.html @@ -0,0 +1,72 @@ + + + + + apiKey + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

apiKey

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-yandex-settings/contest-id.html b/docs/cds/cds/org.icpclive.cds/-yandex-settings/contest-id.html new file mode 100644 index 000000000..9dc39a9cb --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-yandex-settings/contest-id.html @@ -0,0 +1,72 @@ + + + + + contestId + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

contestId

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-yandex-settings/emulation.html b/docs/cds/cds/org.icpclive.cds/-yandex-settings/emulation.html new file mode 100644 index 000000000..bfbfc8857 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-yandex-settings/emulation.html @@ -0,0 +1,72 @@ + + + + + emulation + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

emulation

+
+
open override val emulation: EmulationSettings? = null(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-yandex-settings/index.html b/docs/cds/cds/org.icpclive.cds/-yandex-settings/index.html new file mode 100644 index 000000000..475b303d1 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-yandex-settings/index.html @@ -0,0 +1,209 @@ + + + + + YandexSettings + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

YandexSettings

+
@Serializable
class YandexSettings(val apiKey: Credential, val loginRegex: String, val contestId: Int, val resultType: ContestResultType = ContestResultType.ICPC, val emulation: EmulationSettings? = null) : CDSSettings(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(apiKey: Credential, loginRegex: String, contestId: Int, resultType: ContestResultType = ContestResultType.ICPC, emulation: EmulationSettings? = null)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val emulation: EmulationSettings? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun toFlow(creds: Map<String, String>): Flow<ContestUpdate>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-yandex-settings/login-regex.html b/docs/cds/cds/org.icpclive.cds/-yandex-settings/login-regex.html new file mode 100644 index 000000000..eed646d9c --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-yandex-settings/login-regex.html @@ -0,0 +1,72 @@ + + + + + loginRegex + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

loginRegex

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/-yandex-settings/result-type.html b/docs/cds/cds/org.icpclive.cds/-yandex-settings/result-type.html new file mode 100644 index 000000000..77c9f3a75 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/-yandex-settings/result-type.html @@ -0,0 +1,72 @@ + + + + + resultType + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

resultType

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/index.html b/docs/cds/cds/org.icpclive.cds/index.html new file mode 100644 index 000000000..fac1fff64 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/index.html @@ -0,0 +1,140 @@ + + + + + org.icpclive.cds + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Package-level declarations

+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
interface ContestUpdate
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
data class InfoUpdate(val newInfo: ContestInfo) : ContestUpdate
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
data class RunUpdate(val newInfo: RunInfo) : ContestUpdate
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.cds/parse-file-to-cds-settings.html b/docs/cds/cds/org.icpclive.cds/parse-file-to-cds-settings.html new file mode 100644 index 000000000..a090513b6 --- /dev/null +++ b/docs/cds/cds/org.icpclive.cds/parse-file-to-cds-settings.html @@ -0,0 +1,72 @@ + + + + + parseFileToCdsSettings + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

parseFileToCdsSettings

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.scoreboard/-scoreboard-calculator/get-scoreboard.html b/docs/cds/cds/org.icpclive.scoreboard/-scoreboard-calculator/get-scoreboard.html new file mode 100644 index 000000000..2fe5334ed --- /dev/null +++ b/docs/cds/cds/org.icpclive.scoreboard/-scoreboard-calculator/get-scoreboard.html @@ -0,0 +1,72 @@ + + + + + getScoreboard + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

getScoreboard

+
+
abstract fun getScoreboard(info: ContestInfo, runs: Map<Int, List<RunInfo>>): Scoreboard(source)
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.scoreboard/-scoreboard-calculator/index.html b/docs/cds/cds/org.icpclive.scoreboard/-scoreboard-calculator/index.html new file mode 100644 index 000000000..f19dc6c8a --- /dev/null +++ b/docs/cds/cds/org.icpclive.scoreboard/-scoreboard-calculator/index.html @@ -0,0 +1,96 @@ + + + + + ScoreboardCalculator + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ScoreboardCalculator

+ +
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun getScoreboard(info: ContestInfo, runs: Map<Int, List<RunInfo>>): Scoreboard
+
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.scoreboard/calculate-scoreboard.html b/docs/cds/cds/org.icpclive.scoreboard/calculate-scoreboard.html new file mode 100644 index 000000000..782926064 --- /dev/null +++ b/docs/cds/cds/org.icpclive.scoreboard/calculate-scoreboard.html @@ -0,0 +1,72 @@ + + + + + calculateScoreboard + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

calculateScoreboard

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.scoreboard/get-scoreboard-calculator.html b/docs/cds/cds/org.icpclive.scoreboard/get-scoreboard-calculator.html new file mode 100644 index 000000000..b422771d9 --- /dev/null +++ b/docs/cds/cds/org.icpclive.scoreboard/get-scoreboard-calculator.html @@ -0,0 +1,72 @@ + + + + + getScoreboardCalculator + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

getScoreboardCalculator

+
+ +
+ +
+
+ + diff --git a/docs/cds/cds/org.icpclive.scoreboard/index.html b/docs/cds/cds/org.icpclive.scoreboard/index.html new file mode 100644 index 000000000..55ba08f2c --- /dev/null +++ b/docs/cds/cds/org.icpclive.scoreboard/index.html @@ -0,0 +1,129 @@ + + + + + org.icpclive.scoreboard + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Package-level declarations

+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/cds/package-list b/docs/cds/cds/package-list new file mode 100644 index 000000000..e088e65fe --- /dev/null +++ b/docs/cds/cds/package-list @@ -0,0 +1,418 @@ +$dokka.format:html-v1 +$dokka.linkExtension:html +$dokka.location:org.icpclive.api.tunning////PointingToDeclaration/cds/org.icpclive.api.tunning/index.html +$dokka.location:org.icpclive.api.tunning//toAdvancedProperties/org.icpclive.api.ContestInfo#kotlin.collections.Set[kotlin.String]/PointingToDeclaration/cds/org.icpclive.api.tunning/to-advanced-properties.html +$dokka.location:org.icpclive.api.tunning/AdvancedProperties///PointingToDeclaration/cds/org.icpclive.api.tunning/-advanced-properties/index.html +$dokka.location:org.icpclive.api.tunning/AdvancedProperties/AdvancedProperties/#kotlinx.datetime.Instant?#kotlin.time.Duration?#kotlin.time.Duration?#kotlin.collections.Map[org.icpclive.api.TeamMediaType,org.icpclive.api.MediaType?]?#kotlin.collections.Map[kotlin.String,org.icpclive.api.tunning.TeamInfoOverride]?#kotlin.collections.Map[kotlin.String,org.icpclive.api.tunning.GroupInfoOverride]?#kotlin.collections.Map[kotlin.String,org.icpclive.api.tunning.ProblemInfoOverride]?#org.icpclive.api.tunning.RankingSettings?/PointingToDeclaration/cds/org.icpclive.api.tunning/-advanced-properties/-advanced-properties.html +$dokka.location:org.icpclive.api.tunning/AdvancedProperties/freezeTime/#/PointingToDeclaration/cds/org.icpclive.api.tunning/-advanced-properties/freeze-time.html +$dokka.location:org.icpclive.api.tunning/AdvancedProperties/groupOverrides/#/PointingToDeclaration/cds/org.icpclive.api.tunning/-advanced-properties/group-overrides.html +$dokka.location:org.icpclive.api.tunning/AdvancedProperties/holdTime/#/PointingToDeclaration/cds/org.icpclive.api.tunning/-advanced-properties/hold-time.html +$dokka.location:org.icpclive.api.tunning/AdvancedProperties/problemOverrides/#/PointingToDeclaration/cds/org.icpclive.api.tunning/-advanced-properties/problem-overrides.html +$dokka.location:org.icpclive.api.tunning/AdvancedProperties/scoreboardOverrides/#/PointingToDeclaration/cds/org.icpclive.api.tunning/-advanced-properties/scoreboard-overrides.html +$dokka.location:org.icpclive.api.tunning/AdvancedProperties/startTime/#/PointingToDeclaration/cds/org.icpclive.api.tunning/-advanced-properties/start-time.html +$dokka.location:org.icpclive.api.tunning/AdvancedProperties/teamMediaTemplate/#/PointingToDeclaration/cds/org.icpclive.api.tunning/-advanced-properties/team-media-template.html +$dokka.location:org.icpclive.api.tunning/AdvancedProperties/teamOverrides/#/PointingToDeclaration/cds/org.icpclive.api.tunning/-advanced-properties/team-overrides.html +$dokka.location:org.icpclive.api.tunning/GroupInfoOverride///PointingToDeclaration/cds/org.icpclive.api.tunning/-group-info-override/index.html +$dokka.location:org.icpclive.api.tunning/GroupInfoOverride/GroupInfoOverride/#kotlin.Boolean?#kotlin.Boolean?/PointingToDeclaration/cds/org.icpclive.api.tunning/-group-info-override/-group-info-override.html +$dokka.location:org.icpclive.api.tunning/GroupInfoOverride/isHidden/#/PointingToDeclaration/cds/org.icpclive.api.tunning/-group-info-override/is-hidden.html +$dokka.location:org.icpclive.api.tunning/GroupInfoOverride/isOutOfContest/#/PointingToDeclaration/cds/org.icpclive.api.tunning/-group-info-override/is-out-of-contest.html +$dokka.location:org.icpclive.api.tunning/ProblemInfoOverride///PointingToDeclaration/cds/org.icpclive.api.tunning/-problem-info-override/index.html +$dokka.location:org.icpclive.api.tunning/ProblemInfoOverride/ProblemInfoOverride/#kotlin.String?#java.awt.Color?#kotlin.Double?#kotlin.Double?#org.icpclive.api.ScoreMergeMode?/PointingToDeclaration/cds/org.icpclive.api.tunning/-problem-info-override/-problem-info-override.html +$dokka.location:org.icpclive.api.tunning/ProblemInfoOverride/color/#/PointingToDeclaration/cds/org.icpclive.api.tunning/-problem-info-override/color.html +$dokka.location:org.icpclive.api.tunning/ProblemInfoOverride/maxScore/#/PointingToDeclaration/cds/org.icpclive.api.tunning/-problem-info-override/max-score.html +$dokka.location:org.icpclive.api.tunning/ProblemInfoOverride/minScore/#/PointingToDeclaration/cds/org.icpclive.api.tunning/-problem-info-override/min-score.html +$dokka.location:org.icpclive.api.tunning/ProblemInfoOverride/name/#/PointingToDeclaration/cds/org.icpclive.api.tunning/-problem-info-override/name.html +$dokka.location:org.icpclive.api.tunning/ProblemInfoOverride/scoreMergeMode/#/PointingToDeclaration/cds/org.icpclive.api.tunning/-problem-info-override/score-merge-mode.html +$dokka.location:org.icpclive.api.tunning/RankingSettings///PointingToDeclaration/cds/org.icpclive.api.tunning/-ranking-settings/index.html +$dokka.location:org.icpclive.api.tunning/RankingSettings/RankingSettings/#kotlin.collections.List[org.icpclive.api.MedalType]?#kotlin.time.Duration?#kotlin.Boolean?#org.icpclive.api.PenaltyRoundingMode?/PointingToDeclaration/cds/org.icpclive.api.tunning/-ranking-settings/-ranking-settings.html +$dokka.location:org.icpclive.api.tunning/RankingSettings/medals/#/PointingToDeclaration/cds/org.icpclive.api.tunning/-ranking-settings/medals.html +$dokka.location:org.icpclive.api.tunning/RankingSettings/penaltyPerWrongAttempt/#/PointingToDeclaration/cds/org.icpclive.api.tunning/-ranking-settings/penalty-per-wrong-attempt.html +$dokka.location:org.icpclive.api.tunning/RankingSettings/penaltyRoundingMode/#/PointingToDeclaration/cds/org.icpclive.api.tunning/-ranking-settings/penalty-rounding-mode.html +$dokka.location:org.icpclive.api.tunning/RankingSettings/showTeamsWithoutSubmissions/#/PointingToDeclaration/cds/org.icpclive.api.tunning/-ranking-settings/show-teams-without-submissions.html +$dokka.location:org.icpclive.api.tunning/TeamInfoOverride///PointingToDeclaration/cds/org.icpclive.api.tunning/-team-info-override/index.html +$dokka.location:org.icpclive.api.tunning/TeamInfoOverride/TeamInfoOverride/#kotlin.String?#kotlin.String?#kotlin.collections.List[kotlin.String]?#kotlin.String?#kotlin.collections.Map[org.icpclive.api.TeamMediaType,org.icpclive.api.MediaType?]?#kotlin.String?#kotlin.Boolean?#kotlin.Boolean?/PointingToDeclaration/cds/org.icpclive.api.tunning/-team-info-override/-team-info-override.html +$dokka.location:org.icpclive.api.tunning/TeamInfoOverride/additionalInfo/#/PointingToDeclaration/cds/org.icpclive.api.tunning/-team-info-override/additional-info.html +$dokka.location:org.icpclive.api.tunning/TeamInfoOverride/groups/#/PointingToDeclaration/cds/org.icpclive.api.tunning/-team-info-override/groups.html +$dokka.location:org.icpclive.api.tunning/TeamInfoOverride/hashTag/#/PointingToDeclaration/cds/org.icpclive.api.tunning/-team-info-override/hash-tag.html +$dokka.location:org.icpclive.api.tunning/TeamInfoOverride/isHidden/#/PointingToDeclaration/cds/org.icpclive.api.tunning/-team-info-override/is-hidden.html +$dokka.location:org.icpclive.api.tunning/TeamInfoOverride/isOutOfContest/#/PointingToDeclaration/cds/org.icpclive.api.tunning/-team-info-override/is-out-of-contest.html +$dokka.location:org.icpclive.api.tunning/TeamInfoOverride/medias/#/PointingToDeclaration/cds/org.icpclive.api.tunning/-team-info-override/medias.html +$dokka.location:org.icpclive.api.tunning/TeamInfoOverride/name/#/PointingToDeclaration/cds/org.icpclive.api.tunning/-team-info-override/name.html +$dokka.location:org.icpclive.api.tunning/TeamInfoOverride/shortname/#/PointingToDeclaration/cds/org.icpclive.api.tunning/-team-info-override/shortname.html +$dokka.location:org.icpclive.api////PointingToDeclaration/cds/org.icpclive.api/index.html +$dokka.location:org.icpclive.api//toGroupInfos/kotlin.collections.List[org.icpclive.api.TeamInfo]#/PointingToDeclaration/cds/org.icpclive.api/to-group-infos.html +$dokka.location:org.icpclive.api/AnalyticsCommentaryEvent///PointingToDeclaration/cds/org.icpclive.api/-analytics-commentary-event/index.html +$dokka.location:org.icpclive.api/AnalyticsCommentaryEvent/AnalyticsCommentaryEvent/#kotlin.String#kotlin.String#kotlinx.datetime.Instant#kotlin.time.Duration#kotlin.collections.List[kotlin.Int]#kotlin.collections.List[kotlin.Int]#kotlin.Int#kotlin.collections.List[kotlin.String]#org.icpclive.api.AnalyticsCompanionPreset?#org.icpclive.api.AnalyticsCompanionPreset?#org.icpclive.api.AnalyticsCompanionRun?/PointingToDeclaration/cds/org.icpclive.api/-analytics-commentary-event/-analytics-commentary-event.html +$dokka.location:org.icpclive.api/AnalyticsCommentaryEvent/advertisement/#/PointingToDeclaration/cds/org.icpclive.api/-analytics-commentary-event/advertisement.html +$dokka.location:org.icpclive.api/AnalyticsCommentaryEvent/featuredRun/#/PointingToDeclaration/cds/org.icpclive.api/-analytics-commentary-event/featured-run.html +$dokka.location:org.icpclive.api/AnalyticsCommentaryEvent/id/#/PointingToDeclaration/cds/org.icpclive.api/-analytics-commentary-event/id.html +$dokka.location:org.icpclive.api/AnalyticsCommentaryEvent/message/#/PointingToDeclaration/cds/org.icpclive.api/-analytics-commentary-event/message.html +$dokka.location:org.icpclive.api/AnalyticsCommentaryEvent/priority/#/PointingToDeclaration/cds/org.icpclive.api/-analytics-commentary-event/priority.html +$dokka.location:org.icpclive.api/AnalyticsCommentaryEvent/relativeTime/#/PointingToDeclaration/cds/org.icpclive.api/-analytics-commentary-event/relative-time.html +$dokka.location:org.icpclive.api/AnalyticsCommentaryEvent/runIds/#/PointingToDeclaration/cds/org.icpclive.api/-analytics-commentary-event/run-ids.html +$dokka.location:org.icpclive.api/AnalyticsCommentaryEvent/tags/#/PointingToDeclaration/cds/org.icpclive.api/-analytics-commentary-event/tags.html +$dokka.location:org.icpclive.api/AnalyticsCommentaryEvent/teamIds/#/PointingToDeclaration/cds/org.icpclive.api/-analytics-commentary-event/team-ids.html +$dokka.location:org.icpclive.api/AnalyticsCommentaryEvent/tickerMessage/#/PointingToDeclaration/cds/org.icpclive.api/-analytics-commentary-event/ticker-message.html +$dokka.location:org.icpclive.api/AnalyticsCommentaryEvent/time/#/PointingToDeclaration/cds/org.icpclive.api/-analytics-commentary-event/time.html +$dokka.location:org.icpclive.api/AnalyticsCompanionPreset///PointingToDeclaration/cds/org.icpclive.api/-analytics-companion-preset/index.html +$dokka.location:org.icpclive.api/AnalyticsCompanionPreset/AnalyticsCompanionPreset/#kotlin.Int#kotlinx.datetime.Instant?/PointingToDeclaration/cds/org.icpclive.api/-analytics-companion-preset/-analytics-companion-preset.html +$dokka.location:org.icpclive.api/AnalyticsCompanionPreset/expirationTime/#/PointingToDeclaration/cds/org.icpclive.api/-analytics-companion-preset/expiration-time.html +$dokka.location:org.icpclive.api/AnalyticsCompanionPreset/presetId/#/PointingToDeclaration/cds/org.icpclive.api/-analytics-companion-preset/preset-id.html +$dokka.location:org.icpclive.api/AnalyticsCompanionRun///PointingToDeclaration/cds/org.icpclive.api/-analytics-companion-run/index.html +$dokka.location:org.icpclive.api/AnalyticsCompanionRun/AnalyticsCompanionRun/#kotlinx.datetime.Instant?#org.icpclive.api.MediaType/PointingToDeclaration/cds/org.icpclive.api/-analytics-companion-run/-analytics-companion-run.html +$dokka.location:org.icpclive.api/AnalyticsCompanionRun/expirationTime/#/PointingToDeclaration/cds/org.icpclive.api/-analytics-companion-run/expiration-time.html +$dokka.location:org.icpclive.api/AnalyticsCompanionRun/mediaType/#/PointingToDeclaration/cds/org.icpclive.api/-analytics-companion-run/media-type.html +$dokka.location:org.icpclive.api/AnalyticsMessage///PointingToDeclaration/cds/org.icpclive.api/-analytics-message/index.html +$dokka.location:org.icpclive.api/AnalyticsMessage/id/#/PointingToDeclaration/cds/org.icpclive.api/-analytics-message/id.html +$dokka.location:org.icpclive.api/AnalyticsMessage/relativeTime/#/PointingToDeclaration/cds/org.icpclive.api/-analytics-message/relative-time.html +$dokka.location:org.icpclive.api/AnalyticsMessage/time/#/PointingToDeclaration/cds/org.icpclive.api/-analytics-message/time.html +$dokka.location:org.icpclive.api/ContestInfo///PointingToDeclaration/cds/org.icpclive.api/-contest-info/index.html +$dokka.location:org.icpclive.api/ContestInfo/ContestInfo/#kotlin.String#org.icpclive.api.ContestStatus#org.icpclive.api.ContestResultType#kotlinx.datetime.Instant#kotlin.time.Duration#kotlin.time.Duration#kotlin.collections.List[org.icpclive.api.ProblemInfo]#kotlin.collections.List[org.icpclive.api.TeamInfo]#kotlin.collections.List[org.icpclive.api.GroupInfo]#org.icpclive.api.PenaltyRoundingMode#kotlin.time.Duration?#kotlin.Double#kotlin.collections.List[org.icpclive.api.MedalType]#kotlin.time.Duration/PointingToDeclaration/cds/org.icpclive.api/-contest-info/-contest-info.html +$dokka.location:org.icpclive.api/ContestInfo/contestLength/#/PointingToDeclaration/cds/org.icpclive.api/-contest-info/contest-length.html +$dokka.location:org.icpclive.api/ContestInfo/currentContestTime/#/PointingToDeclaration/cds/org.icpclive.api/-contest-info/current-contest-time.html +$dokka.location:org.icpclive.api/ContestInfo/emulationSpeed/#/PointingToDeclaration/cds/org.icpclive.api/-contest-info/emulation-speed.html +$dokka.location:org.icpclive.api/ContestInfo/freezeTime/#/PointingToDeclaration/cds/org.icpclive.api/-contest-info/freeze-time.html +$dokka.location:org.icpclive.api/ContestInfo/groupById/#kotlin.String/PointingToDeclaration/cds/org.icpclive.api/-contest-info/group-by-id.html +$dokka.location:org.icpclive.api/ContestInfo/groups/#/PointingToDeclaration/cds/org.icpclive.api/-contest-info/groups.html +$dokka.location:org.icpclive.api/ContestInfo/holdBeforeStartTime/#/PointingToDeclaration/cds/org.icpclive.api/-contest-info/hold-before-start-time.html +$dokka.location:org.icpclive.api/ContestInfo/medals/#/PointingToDeclaration/cds/org.icpclive.api/-contest-info/medals.html +$dokka.location:org.icpclive.api/ContestInfo/name/#/PointingToDeclaration/cds/org.icpclive.api/-contest-info/name.html +$dokka.location:org.icpclive.api/ContestInfo/penaltyPerWrongAttempt/#/PointingToDeclaration/cds/org.icpclive.api/-contest-info/penalty-per-wrong-attempt.html +$dokka.location:org.icpclive.api/ContestInfo/penaltyRoundingMode/#/PointingToDeclaration/cds/org.icpclive.api/-contest-info/penalty-rounding-mode.html +$dokka.location:org.icpclive.api/ContestInfo/problems/#/PointingToDeclaration/cds/org.icpclive.api/-contest-info/problems.html +$dokka.location:org.icpclive.api/ContestInfo/resultType/#/PointingToDeclaration/cds/org.icpclive.api/-contest-info/result-type.html +$dokka.location:org.icpclive.api/ContestInfo/startTime/#/PointingToDeclaration/cds/org.icpclive.api/-contest-info/start-time.html +$dokka.location:org.icpclive.api/ContestInfo/status/#/PointingToDeclaration/cds/org.icpclive.api/-contest-info/status.html +$dokka.location:org.icpclive.api/ContestInfo/teams/#/PointingToDeclaration/cds/org.icpclive.api/-contest-info/teams.html +$dokka.location:org.icpclive.api/ContestResultType.ICPC///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}cds/org.icpclive.api/-contest-result-type/-i-c-p-c/index.html +$dokka.location:org.icpclive.api/ContestResultType.IOI///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}cds/org.icpclive.api/-contest-result-type/-i-o-i/index.html +$dokka.location:org.icpclive.api/ContestResultType///PointingToDeclaration/cds/org.icpclive.api/-contest-result-type/index.html +$dokka.location:org.icpclive.api/ContestResultType/valueOf/#kotlin.String/PointingToDeclaration/cds/org.icpclive.api/-contest-result-type/value-of.html +$dokka.location:org.icpclive.api/ContestResultType/values/#/PointingToDeclaration/cds/org.icpclive.api/-contest-result-type/values.html +$dokka.location:org.icpclive.api/ContestStatus.BEFORE///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}cds/org.icpclive.api/-contest-status/-b-e-f-o-r-e/index.html +$dokka.location:org.icpclive.api/ContestStatus.OVER///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}cds/org.icpclive.api/-contest-status/-o-v-e-r/index.html +$dokka.location:org.icpclive.api/ContestStatus.RUNNING///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}cds/org.icpclive.api/-contest-status/-r-u-n-n-i-n-g/index.html +$dokka.location:org.icpclive.api/ContestStatus///PointingToDeclaration/cds/org.icpclive.api/-contest-status/index.html +$dokka.location:org.icpclive.api/ContestStatus/valueOf/#kotlin.String/PointingToDeclaration/cds/org.icpclive.api/-contest-status/value-of.html +$dokka.location:org.icpclive.api/ContestStatus/values/#/PointingToDeclaration/cds/org.icpclive.api/-contest-status/values.html +$dokka.location:org.icpclive.api/GroupInfo///PointingToDeclaration/cds/org.icpclive.api/-group-info/index.html +$dokka.location:org.icpclive.api/GroupInfo/GroupInfo/#kotlin.String#kotlin.Boolean#kotlin.Boolean/PointingToDeclaration/cds/org.icpclive.api/-group-info/-group-info.html +$dokka.location:org.icpclive.api/GroupInfo/isHidden/#/PointingToDeclaration/cds/org.icpclive.api/-group-info/is-hidden.html +$dokka.location:org.icpclive.api/GroupInfo/isOutOfContest/#/PointingToDeclaration/cds/org.icpclive.api/-group-info/is-out-of-contest.html +$dokka.location:org.icpclive.api/GroupInfo/name/#/PointingToDeclaration/cds/org.icpclive.api/-group-info/name.html +$dokka.location:org.icpclive.api/ICPCProblemResult///PointingToDeclaration/cds/org.icpclive.api/-i-c-p-c-problem-result/index.html +$dokka.location:org.icpclive.api/ICPCProblemResult/ICPCProblemResult/#kotlin.Int#kotlin.Int#kotlin.Boolean#kotlin.Boolean#kotlin.time.Duration?/PointingToDeclaration/cds/org.icpclive.api/-i-c-p-c-problem-result/-i-c-p-c-problem-result.html +$dokka.location:org.icpclive.api/ICPCProblemResult/isFirstToSolve/#/PointingToDeclaration/cds/org.icpclive.api/-i-c-p-c-problem-result/is-first-to-solve.html +$dokka.location:org.icpclive.api/ICPCProblemResult/isSolved/#/PointingToDeclaration/cds/org.icpclive.api/-i-c-p-c-problem-result/is-solved.html +$dokka.location:org.icpclive.api/ICPCProblemResult/lastSubmitTime/#/PointingToDeclaration/cds/org.icpclive.api/-i-c-p-c-problem-result/last-submit-time.html +$dokka.location:org.icpclive.api/ICPCProblemResult/pendingAttempts/#/PointingToDeclaration/cds/org.icpclive.api/-i-c-p-c-problem-result/pending-attempts.html +$dokka.location:org.icpclive.api/ICPCProblemResult/wrongAttempts/#/PointingToDeclaration/cds/org.icpclive.api/-i-c-p-c-problem-result/wrong-attempts.html +$dokka.location:org.icpclive.api/ICPCRunResult///PointingToDeclaration/cds/org.icpclive.api/-i-c-p-c-run-result/index.html +$dokka.location:org.icpclive.api/ICPCRunResult/ICPCRunResult/#org.icpclive.api.Verdict#kotlin.Boolean/PointingToDeclaration/cds/org.icpclive.api/-i-c-p-c-run-result/-i-c-p-c-run-result.html +$dokka.location:org.icpclive.api/ICPCRunResult/isFirstToSolveRun/#/PointingToDeclaration/cds/org.icpclive.api/-i-c-p-c-run-result/is-first-to-solve-run.html +$dokka.location:org.icpclive.api/ICPCRunResult/verdict/#/PointingToDeclaration/cds/org.icpclive.api/-i-c-p-c-run-result/verdict.html +$dokka.location:org.icpclive.api/IOIProblemResult///PointingToDeclaration/cds/org.icpclive.api/-i-o-i-problem-result/index.html +$dokka.location:org.icpclive.api/IOIProblemResult/IOIProblemResult/#kotlin.Double?#kotlin.time.Duration?#kotlin.Boolean/PointingToDeclaration/cds/org.icpclive.api/-i-o-i-problem-result/-i-o-i-problem-result.html +$dokka.location:org.icpclive.api/IOIProblemResult/isFirstBest/#/PointingToDeclaration/cds/org.icpclive.api/-i-o-i-problem-result/is-first-best.html +$dokka.location:org.icpclive.api/IOIProblemResult/lastSubmitTime/#/PointingToDeclaration/cds/org.icpclive.api/-i-o-i-problem-result/last-submit-time.html +$dokka.location:org.icpclive.api/IOIProblemResult/score/#/PointingToDeclaration/cds/org.icpclive.api/-i-o-i-problem-result/score.html +$dokka.location:org.icpclive.api/IOIRunResult///PointingToDeclaration/cds/org.icpclive.api/-i-o-i-run-result/index.html +$dokka.location:org.icpclive.api/IOIRunResult/IOIRunResult/#kotlin.collections.List[kotlin.Double]#org.icpclive.api.Verdict?#kotlin.Double#kotlin.Double#kotlin.Boolean#kotlin.Boolean/PointingToDeclaration/cds/org.icpclive.api/-i-o-i-run-result/-i-o-i-run-result.html +$dokka.location:org.icpclive.api/IOIRunResult/difference/#/PointingToDeclaration/cds/org.icpclive.api/-i-o-i-run-result/difference.html +$dokka.location:org.icpclive.api/IOIRunResult/isFirstBestRun/#/PointingToDeclaration/cds/org.icpclive.api/-i-o-i-run-result/is-first-best-run.html +$dokka.location:org.icpclive.api/IOIRunResult/isFirstBestTeamRun/#/PointingToDeclaration/cds/org.icpclive.api/-i-o-i-run-result/is-first-best-team-run.html +$dokka.location:org.icpclive.api/IOIRunResult/score/#/PointingToDeclaration/cds/org.icpclive.api/-i-o-i-run-result/score.html +$dokka.location:org.icpclive.api/IOIRunResult/scoreAfter/#/PointingToDeclaration/cds/org.icpclive.api/-i-o-i-run-result/score-after.html +$dokka.location:org.icpclive.api/IOIRunResult/wrongVerdict/#/PointingToDeclaration/cds/org.icpclive.api/-i-o-i-run-result/wrong-verdict.html +$dokka.location:org.icpclive.api/MedalTiebreakMode.ALL///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}cds/org.icpclive.api/-medal-tiebreak-mode/-a-l-l/index.html +$dokka.location:org.icpclive.api/MedalTiebreakMode.NONE///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}cds/org.icpclive.api/-medal-tiebreak-mode/-n-o-n-e/index.html +$dokka.location:org.icpclive.api/MedalTiebreakMode///PointingToDeclaration/cds/org.icpclive.api/-medal-tiebreak-mode/index.html +$dokka.location:org.icpclive.api/MedalTiebreakMode/valueOf/#kotlin.String/PointingToDeclaration/cds/org.icpclive.api/-medal-tiebreak-mode/value-of.html +$dokka.location:org.icpclive.api/MedalTiebreakMode/values/#/PointingToDeclaration/cds/org.icpclive.api/-medal-tiebreak-mode/values.html +$dokka.location:org.icpclive.api/MedalType///PointingToDeclaration/cds/org.icpclive.api/-medal-type/index.html +$dokka.location:org.icpclive.api/MedalType/MedalType/#kotlin.String#kotlin.Int#kotlin.Double#org.icpclive.api.MedalTiebreakMode/PointingToDeclaration/cds/org.icpclive.api/-medal-type/-medal-type.html +$dokka.location:org.icpclive.api/MedalType/count/#/PointingToDeclaration/cds/org.icpclive.api/-medal-type/count.html +$dokka.location:org.icpclive.api/MedalType/minScore/#/PointingToDeclaration/cds/org.icpclive.api/-medal-type/min-score.html +$dokka.location:org.icpclive.api/MedalType/name/#/PointingToDeclaration/cds/org.icpclive.api/-medal-type/name.html +$dokka.location:org.icpclive.api/MedalType/tiebreakMode/#/PointingToDeclaration/cds/org.icpclive.api/-medal-type/tiebreak-mode.html +$dokka.location:org.icpclive.api/MediaType.Object///PointingToDeclaration/cds/org.icpclive.api/-media-type/-object/index.html +$dokka.location:org.icpclive.api/MediaType.Object/Object/#kotlin.String#kotlin.Boolean/PointingToDeclaration/cds/org.icpclive.api/-media-type/-object/-object.html +$dokka.location:org.icpclive.api/MediaType.Object/isMedia/#/PointingToDeclaration/cds/org.icpclive.api/-media-type/-object/is-media.html +$dokka.location:org.icpclive.api/MediaType.Object/url/#/PointingToDeclaration/cds/org.icpclive.api/-media-type/-object/url.html +$dokka.location:org.icpclive.api/MediaType.Photo///PointingToDeclaration/cds/org.icpclive.api/-media-type/-photo/index.html +$dokka.location:org.icpclive.api/MediaType.Photo/Photo/#kotlin.String#kotlin.Boolean/PointingToDeclaration/cds/org.icpclive.api/-media-type/-photo/-photo.html +$dokka.location:org.icpclive.api/MediaType.Photo/isMedia/#/PointingToDeclaration/cds/org.icpclive.api/-media-type/-photo/is-media.html +$dokka.location:org.icpclive.api/MediaType.Photo/url/#/PointingToDeclaration/cds/org.icpclive.api/-media-type/-photo/url.html +$dokka.location:org.icpclive.api/MediaType.TaskStatus///PointingToDeclaration/cds/org.icpclive.api/-media-type/-task-status/index.html +$dokka.location:org.icpclive.api/MediaType.TaskStatus/TaskStatus/#kotlin.Int/PointingToDeclaration/cds/org.icpclive.api/-media-type/-task-status/-task-status.html +$dokka.location:org.icpclive.api/MediaType.TaskStatus/isMedia/#/PointingToDeclaration/cds/org.icpclive.api/-media-type/-task-status/is-media.html +$dokka.location:org.icpclive.api/MediaType.TaskStatus/teamId/#/PointingToDeclaration/cds/org.icpclive.api/-media-type/-task-status/team-id.html +$dokka.location:org.icpclive.api/MediaType.Video///PointingToDeclaration/cds/org.icpclive.api/-media-type/-video/index.html +$dokka.location:org.icpclive.api/MediaType.Video/Video/#kotlin.String#kotlin.Boolean/PointingToDeclaration/cds/org.icpclive.api/-media-type/-video/-video.html +$dokka.location:org.icpclive.api/MediaType.Video/isMedia/#/PointingToDeclaration/cds/org.icpclive.api/-media-type/-video/is-media.html +$dokka.location:org.icpclive.api/MediaType.Video/url/#/PointingToDeclaration/cds/org.icpclive.api/-media-type/-video/url.html +$dokka.location:org.icpclive.api/MediaType.WebRTCGrabberConnection///PointingToDeclaration/cds/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/index.html +$dokka.location:org.icpclive.api/MediaType.WebRTCGrabberConnection/WebRTCGrabberConnection/#kotlin.String#kotlin.String#kotlin.String#kotlin.String?#kotlin.Boolean/PointingToDeclaration/cds/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/-web-r-t-c-grabber-connection.html +$dokka.location:org.icpclive.api/MediaType.WebRTCGrabberConnection/credential/#/PointingToDeclaration/cds/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/credential.html +$dokka.location:org.icpclive.api/MediaType.WebRTCGrabberConnection/isMedia/#/PointingToDeclaration/cds/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/is-media.html +$dokka.location:org.icpclive.api/MediaType.WebRTCGrabberConnection/peerName/#/PointingToDeclaration/cds/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/peer-name.html +$dokka.location:org.icpclive.api/MediaType.WebRTCGrabberConnection/streamType/#/PointingToDeclaration/cds/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/stream-type.html +$dokka.location:org.icpclive.api/MediaType.WebRTCGrabberConnection/url/#/PointingToDeclaration/cds/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/url.html +$dokka.location:org.icpclive.api/MediaType.WebRTCProxyConnection///PointingToDeclaration/cds/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/index.html +$dokka.location:org.icpclive.api/MediaType.WebRTCProxyConnection/WebRTCProxyConnection/#kotlin.String#kotlin.String?#kotlin.Boolean/PointingToDeclaration/cds/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/-web-r-t-c-proxy-connection.html +$dokka.location:org.icpclive.api/MediaType.WebRTCProxyConnection/audioUrl/#/PointingToDeclaration/cds/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/audio-url.html +$dokka.location:org.icpclive.api/MediaType.WebRTCProxyConnection/isMedia/#/PointingToDeclaration/cds/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/is-media.html +$dokka.location:org.icpclive.api/MediaType.WebRTCProxyConnection/url/#/PointingToDeclaration/cds/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/url.html +$dokka.location:org.icpclive.api/MediaType///PointingToDeclaration/cds/org.icpclive.api/-media-type/index.html +$dokka.location:org.icpclive.api/MediaType/applyTemplate/#kotlin.String/PointingToDeclaration/cds/org.icpclive.api/-media-type/apply-template.html +$dokka.location:org.icpclive.api/MediaType/isMedia/#/PointingToDeclaration/cds/org.icpclive.api/-media-type/is-media.html +$dokka.location:org.icpclive.api/MediaType/noMedia/#/PointingToDeclaration/cds/org.icpclive.api/-media-type/no-media.html +$dokka.location:org.icpclive.api/OptimismLevel.NORMAL///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}cds/org.icpclive.api/-optimism-level/-n-o-r-m-a-l/index.html +$dokka.location:org.icpclive.api/OptimismLevel.OPTIMISTIC///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}cds/org.icpclive.api/-optimism-level/-o-p-t-i-m-i-s-t-i-c/index.html +$dokka.location:org.icpclive.api/OptimismLevel.PESSIMISTIC///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}cds/org.icpclive.api/-optimism-level/-p-e-s-s-i-m-i-s-t-i-c/index.html +$dokka.location:org.icpclive.api/OptimismLevel///PointingToDeclaration/cds/org.icpclive.api/-optimism-level/index.html +$dokka.location:org.icpclive.api/OptimismLevel/valueOf/#kotlin.String/PointingToDeclaration/cds/org.icpclive.api/-optimism-level/value-of.html +$dokka.location:org.icpclive.api/OptimismLevel/values/#/PointingToDeclaration/cds/org.icpclive.api/-optimism-level/values.html +$dokka.location:org.icpclive.api/PenaltyRoundingMode.EACH_SUBMISSION_DOWN_TO_MINUTE///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}cds/org.icpclive.api/-penalty-rounding-mode/-e-a-c-h_-s-u-b-m-i-s-s-i-o-n_-d-o-w-n_-t-o_-m-i-n-u-t-e/index.html +$dokka.location:org.icpclive.api/PenaltyRoundingMode.LAST///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}cds/org.icpclive.api/-penalty-rounding-mode/-l-a-s-t/index.html +$dokka.location:org.icpclive.api/PenaltyRoundingMode.SUM_DOWN_TO_MINUTE///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}cds/org.icpclive.api/-penalty-rounding-mode/-s-u-m_-d-o-w-n_-t-o_-m-i-n-u-t-e/index.html +$dokka.location:org.icpclive.api/PenaltyRoundingMode.SUM_IN_SECONDS///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}cds/org.icpclive.api/-penalty-rounding-mode/-s-u-m_-i-n_-s-e-c-o-n-d-s/index.html +$dokka.location:org.icpclive.api/PenaltyRoundingMode.ZERO///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}cds/org.icpclive.api/-penalty-rounding-mode/-z-e-r-o/index.html +$dokka.location:org.icpclive.api/PenaltyRoundingMode///PointingToDeclaration/cds/org.icpclive.api/-penalty-rounding-mode/index.html +$dokka.location:org.icpclive.api/PenaltyRoundingMode/valueOf/#kotlin.String/PointingToDeclaration/cds/org.icpclive.api/-penalty-rounding-mode/value-of.html +$dokka.location:org.icpclive.api/PenaltyRoundingMode/values/#/PointingToDeclaration/cds/org.icpclive.api/-penalty-rounding-mode/values.html +$dokka.location:org.icpclive.api/ProblemInfo.Companion///PointingToDeclaration/cds/org.icpclive.api/-problem-info/-companion/index.html +$dokka.location:org.icpclive.api/ProblemInfo.Companion/logger/#/PointingToDeclaration/cds/org.icpclive.api/-problem-info/-companion/logger.html +$dokka.location:org.icpclive.api/ProblemInfo///PointingToDeclaration/cds/org.icpclive.api/-problem-info/index.html +$dokka.location:org.icpclive.api/ProblemInfo/ProblemInfo/#kotlin.String#kotlin.String#kotlin.Int#kotlin.Int#kotlin.String#kotlin.Double?#kotlin.Double?#java.awt.Color?#org.icpclive.api.ScoreMergeMode?/PointingToDeclaration/cds/org.icpclive.api/-problem-info/-problem-info.html +$dokka.location:org.icpclive.api/ProblemInfo/color/#/PointingToDeclaration/cds/org.icpclive.api/-problem-info/color.html +$dokka.location:org.icpclive.api/ProblemInfo/contestSystemId/#/PointingToDeclaration/cds/org.icpclive.api/-problem-info/contest-system-id.html +$dokka.location:org.icpclive.api/ProblemInfo/id/#/PointingToDeclaration/cds/org.icpclive.api/-problem-info/id.html +$dokka.location:org.icpclive.api/ProblemInfo/letter/#/PointingToDeclaration/cds/org.icpclive.api/-problem-info/letter.html +$dokka.location:org.icpclive.api/ProblemInfo/maxScore/#/PointingToDeclaration/cds/org.icpclive.api/-problem-info/max-score.html +$dokka.location:org.icpclive.api/ProblemInfo/minScore/#/PointingToDeclaration/cds/org.icpclive.api/-problem-info/min-score.html +$dokka.location:org.icpclive.api/ProblemInfo/name/#/PointingToDeclaration/cds/org.icpclive.api/-problem-info/name.html +$dokka.location:org.icpclive.api/ProblemInfo/ordinal/#/PointingToDeclaration/cds/org.icpclive.api/-problem-info/ordinal.html +$dokka.location:org.icpclive.api/ProblemInfo/scoreMergeMode/#/PointingToDeclaration/cds/org.icpclive.api/-problem-info/score-merge-mode.html +$dokka.location:org.icpclive.api/ProblemResult///PointingToDeclaration/cds/org.icpclive.api/-problem-result/index.html +$dokka.location:org.icpclive.api/RunInfo///PointingToDeclaration/cds/org.icpclive.api/-run-info/index.html +$dokka.location:org.icpclive.api/RunInfo/RunInfo/#kotlin.Int#org.icpclive.api.RunResult?#kotlin.Double#kotlin.Int#kotlin.Int#kotlin.time.Duration#org.icpclive.api.MediaType?#kotlin.collections.List[org.icpclive.api.MediaType]#kotlin.Boolean/PointingToDeclaration/cds/org.icpclive.api/-run-info/-run-info.html +$dokka.location:org.icpclive.api/RunInfo/featuredRunMedia/#/PointingToDeclaration/cds/org.icpclive.api/-run-info/featured-run-media.html +$dokka.location:org.icpclive.api/RunInfo/id/#/PointingToDeclaration/cds/org.icpclive.api/-run-info/id.html +$dokka.location:org.icpclive.api/RunInfo/isHidden/#/PointingToDeclaration/cds/org.icpclive.api/-run-info/is-hidden.html +$dokka.location:org.icpclive.api/RunInfo/percentage/#/PointingToDeclaration/cds/org.icpclive.api/-run-info/percentage.html +$dokka.location:org.icpclive.api/RunInfo/problemId/#/PointingToDeclaration/cds/org.icpclive.api/-run-info/problem-id.html +$dokka.location:org.icpclive.api/RunInfo/reactionVideos/#/PointingToDeclaration/cds/org.icpclive.api/-run-info/reaction-videos.html +$dokka.location:org.icpclive.api/RunInfo/result/#/PointingToDeclaration/cds/org.icpclive.api/-run-info/result.html +$dokka.location:org.icpclive.api/RunInfo/teamId/#/PointingToDeclaration/cds/org.icpclive.api/-run-info/team-id.html +$dokka.location:org.icpclive.api/RunInfo/time/#/PointingToDeclaration/cds/org.icpclive.api/-run-info/time.html +$dokka.location:org.icpclive.api/RunResult///PointingToDeclaration/cds/org.icpclive.api/-run-result/index.html +$dokka.location:org.icpclive.api/ScoreMergeMode.LAST///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}cds/org.icpclive.api/-score-merge-mode/-l-a-s-t/index.html +$dokka.location:org.icpclive.api/ScoreMergeMode.LAST_OK///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}cds/org.icpclive.api/-score-merge-mode/-l-a-s-t_-o-k/index.html +$dokka.location:org.icpclive.api/ScoreMergeMode.MAX_PER_GROUP///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}cds/org.icpclive.api/-score-merge-mode/-m-a-x_-p-e-r_-g-r-o-u-p/index.html +$dokka.location:org.icpclive.api/ScoreMergeMode.MAX_TOTAL///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}cds/org.icpclive.api/-score-merge-mode/-m-a-x_-t-o-t-a-l/index.html +$dokka.location:org.icpclive.api/ScoreMergeMode.SUM///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}cds/org.icpclive.api/-score-merge-mode/-s-u-m/index.html +$dokka.location:org.icpclive.api/ScoreMergeMode///PointingToDeclaration/cds/org.icpclive.api/-score-merge-mode/index.html +$dokka.location:org.icpclive.api/ScoreMergeMode/valueOf/#kotlin.String/PointingToDeclaration/cds/org.icpclive.api/-score-merge-mode/value-of.html +$dokka.location:org.icpclive.api/ScoreMergeMode/values/#/PointingToDeclaration/cds/org.icpclive.api/-score-merge-mode/values.html +$dokka.location:org.icpclive.api/Scoreboard///PointingToDeclaration/cds/org.icpclive.api/-scoreboard/index.html +$dokka.location:org.icpclive.api/Scoreboard/Scoreboard/#kotlin.collections.List[org.icpclive.api.ScoreboardRow]/PointingToDeclaration/cds/org.icpclive.api/-scoreboard/-scoreboard.html +$dokka.location:org.icpclive.api/Scoreboard/rows/#/PointingToDeclaration/cds/org.icpclive.api/-scoreboard/rows.html +$dokka.location:org.icpclive.api/ScoreboardRow///PointingToDeclaration/cds/org.icpclive.api/-scoreboard-row/index.html +$dokka.location:org.icpclive.api/ScoreboardRow/ScoreboardRow/#kotlin.Int#kotlin.Int#kotlin.Double#kotlin.time.Duration#kotlin.Long#kotlin.String?#kotlin.collections.List[org.icpclive.api.ProblemResult]#kotlin.collections.List[kotlin.String]#kotlin.collections.List[kotlin.String]/PointingToDeclaration/cds/org.icpclive.api/-scoreboard-row/-scoreboard-row.html +$dokka.location:org.icpclive.api/ScoreboardRow/championInGroups/#/PointingToDeclaration/cds/org.icpclive.api/-scoreboard-row/champion-in-groups.html +$dokka.location:org.icpclive.api/ScoreboardRow/lastAccepted/#/PointingToDeclaration/cds/org.icpclive.api/-scoreboard-row/last-accepted.html +$dokka.location:org.icpclive.api/ScoreboardRow/medalType/#/PointingToDeclaration/cds/org.icpclive.api/-scoreboard-row/medal-type.html +$dokka.location:org.icpclive.api/ScoreboardRow/penalty/#/PointingToDeclaration/cds/org.icpclive.api/-scoreboard-row/penalty.html +$dokka.location:org.icpclive.api/ScoreboardRow/problemResults/#/PointingToDeclaration/cds/org.icpclive.api/-scoreboard-row/problem-results.html +$dokka.location:org.icpclive.api/ScoreboardRow/rank/#/PointingToDeclaration/cds/org.icpclive.api/-scoreboard-row/rank.html +$dokka.location:org.icpclive.api/ScoreboardRow/teamGroups/#/PointingToDeclaration/cds/org.icpclive.api/-scoreboard-row/team-groups.html +$dokka.location:org.icpclive.api/ScoreboardRow/teamId/#/PointingToDeclaration/cds/org.icpclive.api/-scoreboard-row/team-id.html +$dokka.location:org.icpclive.api/ScoreboardRow/totalScore/#/PointingToDeclaration/cds/org.icpclive.api/-scoreboard-row/total-score.html +$dokka.location:org.icpclive.api/TeamInfo///PointingToDeclaration/cds/org.icpclive.api/-team-info/index.html +$dokka.location:org.icpclive.api/TeamInfo/TeamInfo/#kotlin.Int#kotlin.String#kotlin.String#kotlin.String#kotlin.collections.List[kotlin.String]#kotlin.String?#kotlin.collections.Map[org.icpclive.api.TeamMediaType,org.icpclive.api.MediaType]#kotlin.String?#kotlin.Boolean#kotlin.Boolean/PointingToDeclaration/cds/org.icpclive.api/-team-info/-team-info.html +$dokka.location:org.icpclive.api/TeamInfo/additionalInfo/#/PointingToDeclaration/cds/org.icpclive.api/-team-info/additional-info.html +$dokka.location:org.icpclive.api/TeamInfo/contestSystemId/#/PointingToDeclaration/cds/org.icpclive.api/-team-info/contest-system-id.html +$dokka.location:org.icpclive.api/TeamInfo/groups/#/PointingToDeclaration/cds/org.icpclive.api/-team-info/groups.html +$dokka.location:org.icpclive.api/TeamInfo/hashTag/#/PointingToDeclaration/cds/org.icpclive.api/-team-info/hash-tag.html +$dokka.location:org.icpclive.api/TeamInfo/id/#/PointingToDeclaration/cds/org.icpclive.api/-team-info/id.html +$dokka.location:org.icpclive.api/TeamInfo/isHidden/#/PointingToDeclaration/cds/org.icpclive.api/-team-info/is-hidden.html +$dokka.location:org.icpclive.api/TeamInfo/isOutOfContest/#/PointingToDeclaration/cds/org.icpclive.api/-team-info/is-out-of-contest.html +$dokka.location:org.icpclive.api/TeamInfo/medias/#/PointingToDeclaration/cds/org.icpclive.api/-team-info/medias.html +$dokka.location:org.icpclive.api/TeamInfo/name/#/PointingToDeclaration/cds/org.icpclive.api/-team-info/name.html +$dokka.location:org.icpclive.api/TeamInfo/shortName/#/PointingToDeclaration/cds/org.icpclive.api/-team-info/short-name.html +$dokka.location:org.icpclive.api/TeamMediaType.ACHIEVEMENT///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}cds/org.icpclive.api/-team-media-type/-a-c-h-i-e-v-e-m-e-n-t/index.html +$dokka.location:org.icpclive.api/TeamMediaType.CAMERA///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}cds/org.icpclive.api/-team-media-type/-c-a-m-e-r-a/index.html +$dokka.location:org.icpclive.api/TeamMediaType.PHOTO///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}cds/org.icpclive.api/-team-media-type/-p-h-o-t-o/index.html +$dokka.location:org.icpclive.api/TeamMediaType.REACTION_VIDEO///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}cds/org.icpclive.api/-team-media-type/-r-e-a-c-t-i-o-n_-v-i-d-e-o/index.html +$dokka.location:org.icpclive.api/TeamMediaType.RECORD///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}cds/org.icpclive.api/-team-media-type/-r-e-c-o-r-d/index.html +$dokka.location:org.icpclive.api/TeamMediaType.SCREEN///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}cds/org.icpclive.api/-team-media-type/-s-c-r-e-e-n/index.html +$dokka.location:org.icpclive.api/TeamMediaType///PointingToDeclaration/cds/org.icpclive.api/-team-media-type/index.html +$dokka.location:org.icpclive.api/TeamMediaType/valueOf/#kotlin.String/PointingToDeclaration/cds/org.icpclive.api/-team-media-type/value-of.html +$dokka.location:org.icpclive.api/TeamMediaType/values/#/PointingToDeclaration/cds/org.icpclive.api/-team-media-type/values.html +$dokka.location:org.icpclive.api/Verdict.Accepted///PointingToDeclaration/cds/org.icpclive.api/-verdict/-accepted/index.html +$dokka.location:org.icpclive.api/Verdict.Challenged///PointingToDeclaration/cds/org.icpclive.api/-verdict/-challenged/index.html +$dokka.location:org.icpclive.api/Verdict.Companion///PointingToDeclaration/cds/org.icpclive.api/-verdict/-companion/index.html +$dokka.location:org.icpclive.api/Verdict.Companion/all/#/PointingToDeclaration/cds/org.icpclive.api/-verdict/-companion/all.html +$dokka.location:org.icpclive.api/Verdict.Companion/lookup/#kotlin.String#kotlin.Boolean#kotlin.Boolean/PointingToDeclaration/cds/org.icpclive.api/-verdict/-companion/lookup.html +$dokka.location:org.icpclive.api/Verdict.CompilationError///PointingToDeclaration/cds/org.icpclive.api/-verdict/-compilation-error/index.html +$dokka.location:org.icpclive.api/Verdict.CompilationErrorWithPenalty///PointingToDeclaration/cds/org.icpclive.api/-verdict/-compilation-error-with-penalty/index.html +$dokka.location:org.icpclive.api/Verdict.Fail///PointingToDeclaration/cds/org.icpclive.api/-verdict/-fail/index.html +$dokka.location:org.icpclive.api/Verdict.IdlenessLimitExceeded///PointingToDeclaration/cds/org.icpclive.api/-verdict/-idleness-limit-exceeded/index.html +$dokka.location:org.icpclive.api/Verdict.Ignored///PointingToDeclaration/cds/org.icpclive.api/-verdict/-ignored/index.html +$dokka.location:org.icpclive.api/Verdict.MemoryLimitExceeded///PointingToDeclaration/cds/org.icpclive.api/-verdict/-memory-limit-exceeded/index.html +$dokka.location:org.icpclive.api/Verdict.OutputLimitExceeded///PointingToDeclaration/cds/org.icpclive.api/-verdict/-output-limit-exceeded/index.html +$dokka.location:org.icpclive.api/Verdict.PresentationError///PointingToDeclaration/cds/org.icpclive.api/-verdict/-presentation-error/index.html +$dokka.location:org.icpclive.api/Verdict.Rejected///PointingToDeclaration/cds/org.icpclive.api/-verdict/-rejected/index.html +$dokka.location:org.icpclive.api/Verdict.RuntimeError///PointingToDeclaration/cds/org.icpclive.api/-verdict/-runtime-error/index.html +$dokka.location:org.icpclive.api/Verdict.SecurityViolation///PointingToDeclaration/cds/org.icpclive.api/-verdict/-security-violation/index.html +$dokka.location:org.icpclive.api/Verdict.TimeLimitExceeded///PointingToDeclaration/cds/org.icpclive.api/-verdict/-time-limit-exceeded/index.html +$dokka.location:org.icpclive.api/Verdict.WrongAnswer///PointingToDeclaration/cds/org.icpclive.api/-verdict/-wrong-answer/index.html +$dokka.location:org.icpclive.api/Verdict///PointingToDeclaration/cds/org.icpclive.api/-verdict/index.html +$dokka.location:org.icpclive.api/Verdict/isAccepted/#/PointingToDeclaration/cds/org.icpclive.api/-verdict/is-accepted.html +$dokka.location:org.icpclive.api/Verdict/isAddingPenalty/#/PointingToDeclaration/cds/org.icpclive.api/-verdict/is-adding-penalty.html +$dokka.location:org.icpclive.api/Verdict/shortName/#/PointingToDeclaration/cds/org.icpclive.api/-verdict/short-name.html +$dokka.location:org.icpclive.api/Verdict/toRunResult/#/PointingToDeclaration/cds/org.icpclive.api/-verdict/to-run-result.html +$dokka.location:org.icpclive.api/VerdictSerializer///PointingToDeclaration/cds/org.icpclive.api/-verdict-serializer/index.html +$dokka.location:org.icpclive.api/VerdictSerializer/VerdictSerializer/#/PointingToDeclaration/cds/org.icpclive.api/-verdict-serializer/-verdict-serializer.html +$dokka.location:org.icpclive.api/VerdictSerializer/descriptor/#/PointingToDeclaration/cds/org.icpclive.api/-verdict-serializer/descriptor.html +$dokka.location:org.icpclive.api/VerdictSerializer/deserialize/#kotlinx.serialization.encoding.Decoder/PointingToDeclaration/cds/org.icpclive.api/-verdict-serializer/deserialize.html +$dokka.location:org.icpclive.api/VerdictSerializer/serialize/#kotlinx.serialization.encoding.Encoder#org.icpclive.api.Verdict/PointingToDeclaration/cds/org.icpclive.api/-verdict-serializer/serialize.html +$dokka.location:org.icpclive.cds.adapters////PointingToDeclaration/cds/org.icpclive.cds.adapters/index.html +$dokka.location:org.icpclive.cds.adapters//addFirstToSolves/kotlinx.coroutines.flow.Flow[org.icpclive.cds.ContestUpdate]#/PointingToDeclaration/cds/org.icpclive.cds.adapters/add-first-to-solves.html +$dokka.location:org.icpclive.cds.adapters//applyAdvancedProperties/kotlinx.coroutines.flow.Flow[org.icpclive.cds.ContestUpdate]#kotlinx.coroutines.flow.Flow[org.icpclive.api.tunning.AdvancedProperties]/PointingToDeclaration/cds/org.icpclive.cds.adapters/apply-advanced-properties.html +$dokka.location:org.icpclive.cds.adapters//calculateScoreDifferences/kotlinx.coroutines.flow.Flow[org.icpclive.cds.ContestUpdate]#/PointingToDeclaration/cds/org.icpclive.cds.adapters/calculate-score-differences.html +$dokka.location:org.icpclive.cds.adapters//filterUseless/kotlinx.coroutines.flow.Flow[org.icpclive.cds.ContestUpdate]#/PointingToDeclaration/cds/org.icpclive.cds.adapters/filter-useless.html +$dokka.location:org.icpclive.cds.adapters//filterUseless/kotlinx.coroutines.flow.Flow[org.icpclive.cds.adapters.ContestEventWithRunsBefore]#/PointingToDeclaration/cds/org.icpclive.cds.adapters/filter-useless.html +$dokka.location:org.icpclive.cds.adapters//processHiddenTeamsAndGroups/kotlinx.coroutines.flow.Flow[org.icpclive.cds.ContestUpdate]#/PointingToDeclaration/cds/org.icpclive.cds.adapters/process-hidden-teams-and-groups.html +$dokka.location:org.icpclive.cds.adapters//removeFrozenSubmissions/kotlinx.coroutines.flow.Flow[org.icpclive.cds.ContestUpdate]#/PointingToDeclaration/cds/org.icpclive.cds.adapters/remove-frozen-submissions.html +$dokka.location:org.icpclive.cds.adapters//removeFrozenSubmissions/kotlinx.coroutines.flow.Flow[org.icpclive.cds.adapters.ContestEventWithRunsBefore]#/PointingToDeclaration/cds/org.icpclive.cds.adapters/remove-frozen-submissions.html +$dokka.location:org.icpclive.cds.adapters//stateGroupedByTeam/kotlinx.coroutines.flow.Flow[org.icpclive.cds.ContestUpdate]#/PointingToDeclaration/cds/org.icpclive.cds.adapters/state-grouped-by-team.html +$dokka.location:org.icpclive.cds.adapters//stateWithGroupedRuns/kotlinx.coroutines.flow.Flow[org.icpclive.cds.ContestUpdate]#kotlin.Function1[org.icpclive.api.RunInfo,TypeParam(bounds=[kotlin.Any])]/PointingToDeclaration/cds/org.icpclive.cds.adapters/state-with-grouped-runs.html +$dokka.location:org.icpclive.cds.adapters//update/kotlinx.collections.immutable.PersistentMap[TypeParam(bounds=[kotlin.Any?]),TypeParam(bounds=[kotlin.Any?])]#TypeParam(bounds=[kotlin.Any?])#kotlin.Function1[TypeParam(bounds=[kotlin.Any?])?,TypeParam(bounds=[kotlin.Any?])]/PointingToDeclaration/cds/org.icpclive.cds.adapters/update.html +$dokka.location:org.icpclive.cds.adapters//withContestInfo/kotlinx.coroutines.flow.Flow[org.icpclive.cds.ContestUpdate]#/PointingToDeclaration/cds/org.icpclive.cds.adapters/with-contest-info.html +$dokka.location:org.icpclive.cds.adapters//withGroupedRuns/kotlinx.coroutines.flow.Flow[org.icpclive.cds.ContestUpdate]#kotlin.Function1[org.icpclive.api.RunInfo,TypeParam(bounds=[kotlin.Any])]#kotlin.Function4[TypeParam(bounds=[kotlin.Any]),kotlinx.collections.immutable.PersistentList[org.icpclive.api.RunInfo],kotlinx.collections.immutable.PersistentList[org.icpclive.api.RunInfo],org.icpclive.api.ContestInfo?,kotlin.collections.List[org.icpclive.api.RunInfo]]?#kotlin.Function3[org.icpclive.api.ContestInfo,org.icpclive.api.ContestInfo?,TypeParam(bounds=[kotlin.Any]),kotlin.Boolean]?/PointingToDeclaration/cds/org.icpclive.cds.adapters/with-grouped-runs.html +$dokka.location:org.icpclive.cds.adapters//withRunsBefore/kotlinx.coroutines.flow.Flow[org.icpclive.cds.ContestUpdate]#/PointingToDeclaration/cds/org.icpclive.cds.adapters/with-runs-before.html +$dokka.location:org.icpclive.cds.adapters/AdvancedPropertiesAdapter///PointingToDeclaration/cds/org.icpclive.cds.adapters/-advanced-properties-adapter/index.html +$dokka.location:org.icpclive.cds.adapters/ContestEventWithGroupedRuns///PointingToDeclaration/cds/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/index.html +$dokka.location:org.icpclive.cds.adapters/ContestEventWithGroupedRuns/ContestEventWithGroupedRuns/#org.icpclive.cds.ContestUpdate#org.icpclive.api.ContestInfo?#kotlinx.collections.immutable.PersistentMap[TypeParam(bounds=[kotlin.Any?]),kotlinx.collections.immutable.PersistentList[org.icpclive.api.RunInfo]]/PointingToDeclaration/cds/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/-contest-event-with-grouped-runs.html +$dokka.location:org.icpclive.cds.adapters/ContestEventWithGroupedRuns/event/#/PointingToDeclaration/cds/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/event.html +$dokka.location:org.icpclive.cds.adapters/ContestEventWithGroupedRuns/infoAfterEvent/#/PointingToDeclaration/cds/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/info-after-event.html +$dokka.location:org.icpclive.cds.adapters/ContestEventWithGroupedRuns/infoBeforeEvent/#/PointingToDeclaration/cds/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/info-before-event.html +$dokka.location:org.icpclive.cds.adapters/ContestEventWithGroupedRuns/runs/#/PointingToDeclaration/cds/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/runs.html +$dokka.location:org.icpclive.cds.adapters/ContestEventWithRunsBefore///PointingToDeclaration/cds/org.icpclive.cds.adapters/-contest-event-with-runs-before/index.html +$dokka.location:org.icpclive.cds.adapters/ContestEventWithRunsBefore/ContestEventWithRunsBefore/#org.icpclive.cds.ContestUpdate#org.icpclive.api.ContestInfo?#kotlinx.collections.immutable.PersistentMap[kotlin.Int,org.icpclive.api.RunInfo]/PointingToDeclaration/cds/org.icpclive.cds.adapters/-contest-event-with-runs-before/-contest-event-with-runs-before.html +$dokka.location:org.icpclive.cds.adapters/ContestEventWithRunsBefore/event/#/PointingToDeclaration/cds/org.icpclive.cds.adapters/-contest-event-with-runs-before/event.html +$dokka.location:org.icpclive.cds.adapters/ContestEventWithRunsBefore/infoAfterEvent/#/PointingToDeclaration/cds/org.icpclive.cds.adapters/-contest-event-with-runs-before/info-after-event.html +$dokka.location:org.icpclive.cds.adapters/ContestEventWithRunsBefore/infoBeforeEvent/#/PointingToDeclaration/cds/org.icpclive.cds.adapters/-contest-event-with-runs-before/info-before-event.html +$dokka.location:org.icpclive.cds.adapters/ContestEventWithRunsBefore/runs/#/PointingToDeclaration/cds/org.icpclive.cds.adapters/-contest-event-with-runs-before/runs.html +$dokka.location:org.icpclive.cds.adapters/ContestStateWithGroupedRuns///PointingToDeclaration/cds/org.icpclive.cds.adapters/-contest-state-with-grouped-runs/index.html +$dokka.location:org.icpclive.cds.adapters/ContestStateWithGroupedRuns/ContestStateWithGroupedRuns/#org.icpclive.api.ContestInfo?#kotlinx.collections.immutable.PersistentMap[TypeParam(bounds=[kotlin.Any?]),kotlinx.collections.immutable.PersistentList[org.icpclive.api.RunInfo]]/PointingToDeclaration/cds/org.icpclive.cds.adapters/-contest-state-with-grouped-runs/-contest-state-with-grouped-runs.html +$dokka.location:org.icpclive.cds.adapters/ContestStateWithGroupedRuns/info/#/PointingToDeclaration/cds/org.icpclive.cds.adapters/-contest-state-with-grouped-runs/info.html +$dokka.location:org.icpclive.cds.adapters/ContestStateWithGroupedRuns/runs/#/PointingToDeclaration/cds/org.icpclive.cds.adapters/-contest-state-with-grouped-runs/runs.html +$dokka.location:org.icpclive.cds.adapters/ContestStateWithRunsByTeam///PointingToDeclaration/cds/org.icpclive.cds.adapters/-contest-state-with-runs-by-team/index.html +$dokka.location:org.icpclive.cds.adapters/ContestStateWithRunsByTeam/ContestStateWithRunsByTeam/#org.icpclive.api.ContestInfo?#kotlinx.collections.immutable.PersistentMap[kotlin.Int,kotlinx.collections.immutable.PersistentList[org.icpclive.api.RunInfo]]/PointingToDeclaration/cds/org.icpclive.cds.adapters/-contest-state-with-runs-by-team/-contest-state-with-runs-by-team.html +$dokka.location:org.icpclive.cds.adapters/ContestStateWithRunsByTeam/info/#/PointingToDeclaration/cds/org.icpclive.cds.adapters/-contest-state-with-runs-by-team/info.html +$dokka.location:org.icpclive.cds.adapters/ContestStateWithRunsByTeam/runs/#/PointingToDeclaration/cds/org.icpclive.cds.adapters/-contest-state-with-runs-by-team/runs.html +$dokka.location:org.icpclive.cds.common////PointingToDeclaration/cds/org.icpclive.cds.common/index.html +$dokka.location:org.icpclive.cds.common//setAllowUnsecureConnections/#kotlin.Boolean/PointingToDeclaration/cds/org.icpclive.cds.common/set-allow-unsecure-connections.html +$dokka.location:org.icpclive.cds.settings////PointingToDeclaration/cds/org.icpclive.cds.settings/index.html +$dokka.location:org.icpclive.cds.settings//parseFileToCdsSettings/#java.nio.file.Path/PointingToDeclaration/cds/org.icpclive.cds.settings/parse-file-to-cds-settings.html +$dokka.location:org.icpclive.cds.settings/CDSSettings///PointingToDeclaration/cds/org.icpclive.cds.settings/-c-d-s-settings/index.html +$dokka.location:org.icpclive.cds.settings/CDSSettings/emulation/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-c-d-s-settings/emulation.html +$dokka.location:org.icpclive.cds.settings/CDSSettings/toFlow/#kotlin.collections.Map[kotlin.String,kotlin.String]/PointingToDeclaration/cds/org.icpclive.cds.settings/-c-d-s-settings/to-flow.html +$dokka.location:org.icpclive.cds.settings/CDSSettings/toString/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-c-d-s-settings/to-string.html +$dokka.location:org.icpclive.cds.settings/CFSettings///PointingToDeclaration/cds/org.icpclive.cds.settings/-c-f-settings/index.html +$dokka.location:org.icpclive.cds.settings/CFSettings/CFSettings/#kotlin.Int#org.icpclive.cds.settings.Credential#org.icpclive.cds.settings.Credential#org.icpclive.cds.settings.EmulationSettings?/PointingToDeclaration/cds/org.icpclive.cds.settings/-c-f-settings/-c-f-settings.html +$dokka.location:org.icpclive.cds.settings/CFSettings/apiKey/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-c-f-settings/api-key.html +$dokka.location:org.icpclive.cds.settings/CFSettings/apiSecret/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-c-f-settings/api-secret.html +$dokka.location:org.icpclive.cds.settings/CFSettings/contestId/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-c-f-settings/contest-id.html +$dokka.location:org.icpclive.cds.settings/CFSettings/emulation/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-c-f-settings/emulation.html +$dokka.location:org.icpclive.cds.settings/CatsSettings///PointingToDeclaration/cds/org.icpclive.cds.settings/-cats-settings/index.html +$dokka.location:org.icpclive.cds.settings/CatsSettings/CatsSettings/#org.icpclive.cds.settings.Credential#org.icpclive.cds.settings.Credential#kotlin.String#kotlinx.datetime.TimeZone#org.icpclive.api.ContestResultType#kotlin.String#org.icpclive.cds.settings.EmulationSettings?/PointingToDeclaration/cds/org.icpclive.cds.settings/-cats-settings/-cats-settings.html +$dokka.location:org.icpclive.cds.settings/CatsSettings/cid/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-cats-settings/cid.html +$dokka.location:org.icpclive.cds.settings/CatsSettings/emulation/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-cats-settings/emulation.html +$dokka.location:org.icpclive.cds.settings/CatsSettings/login/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-cats-settings/login.html +$dokka.location:org.icpclive.cds.settings/CatsSettings/password/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-cats-settings/password.html +$dokka.location:org.icpclive.cds.settings/CatsSettings/resultType/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-cats-settings/result-type.html +$dokka.location:org.icpclive.cds.settings/CatsSettings/timeZone/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-cats-settings/time-zone.html +$dokka.location:org.icpclive.cds.settings/CatsSettings/url/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-cats-settings/url.html +$dokka.location:org.icpclive.cds.settings/ClicsLoaderSettings///PointingToDeclaration/cds/org.icpclive.cds.settings/-clics-loader-settings/index.html +$dokka.location:org.icpclive.cds.settings/ClicsLoaderSettings/ClicsLoaderSettings/#kotlin.String#org.icpclive.cds.settings.Credential?#org.icpclive.cds.settings.Credential?#kotlin.String#org.icpclive.cds.clics.FeedVersion/PointingToDeclaration/cds/org.icpclive.cds.settings/-clics-loader-settings/-clics-loader-settings.html +$dokka.location:org.icpclive.cds.settings/ClicsLoaderSettings/eventFeedName/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-clics-loader-settings/event-feed-name.html +$dokka.location:org.icpclive.cds.settings/ClicsLoaderSettings/feedVersion/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-clics-loader-settings/feed-version.html +$dokka.location:org.icpclive.cds.settings/ClicsLoaderSettings/login/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-clics-loader-settings/login.html +$dokka.location:org.icpclive.cds.settings/ClicsLoaderSettings/password/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-clics-loader-settings/password.html +$dokka.location:org.icpclive.cds.settings/ClicsLoaderSettings/url/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-clics-loader-settings/url.html +$dokka.location:org.icpclive.cds.settings/ClicsSettings///PointingToDeclaration/cds/org.icpclive.cds.settings/-clics-settings/index.html +$dokka.location:org.icpclive.cds.settings/ClicsSettings/ClicsSettings/#kotlin.String#org.icpclive.cds.settings.Credential?#org.icpclive.cds.settings.Credential?#kotlin.String#org.icpclive.cds.clics.FeedVersion#org.icpclive.cds.settings.ClicsLoaderSettings?#kotlin.Boolean#kotlin.String#org.icpclive.cds.settings.EmulationSettings?/PointingToDeclaration/cds/org.icpclive.cds.settings/-clics-settings/-clics-settings.html +$dokka.location:org.icpclive.cds.settings/ClicsSettings/additionalFeed/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-clics-settings/additional-feed.html +$dokka.location:org.icpclive.cds.settings/ClicsSettings/emulation/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-clics-settings/emulation.html +$dokka.location:org.icpclive.cds.settings/ClicsSettings/mainFeed/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-clics-settings/main-feed.html +$dokka.location:org.icpclive.cds.settings/ClicsSettings/mediaBaseUrl/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-clics-settings/media-base-url.html +$dokka.location:org.icpclive.cds.settings/ClicsSettings/useTeamNames/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-clics-settings/use-team-names.html +$dokka.location:org.icpclive.cds.settings/Credential///PointingToDeclaration/cds/org.icpclive.cds.settings/-credential/index.html +$dokka.location:org.icpclive.cds.settings/Credential/Credential/#kotlin.String/PointingToDeclaration/cds/org.icpclive.cds.settings/-credential/-credential.html +$dokka.location:org.icpclive.cds.settings/Credential/get/#kotlin.collections.Map[kotlin.String,kotlin.String]/PointingToDeclaration/cds/org.icpclive.cds.settings/-credential/get.html +$dokka.location:org.icpclive.cds.settings/EjudgeSettings///PointingToDeclaration/cds/org.icpclive.cds.settings/-ejudge-settings/index.html +$dokka.location:org.icpclive.cds.settings/EjudgeSettings/EjudgeSettings/#kotlin.String#org.icpclive.api.ContestResultType#org.icpclive.cds.settings.EmulationSettings?/PointingToDeclaration/cds/org.icpclive.cds.settings/-ejudge-settings/-ejudge-settings.html +$dokka.location:org.icpclive.cds.settings/EjudgeSettings/emulation/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-ejudge-settings/emulation.html +$dokka.location:org.icpclive.cds.settings/EjudgeSettings/resultType/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-ejudge-settings/result-type.html +$dokka.location:org.icpclive.cds.settings/EjudgeSettings/url/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-ejudge-settings/url.html +$dokka.location:org.icpclive.cds.settings/EmulationSettings///PointingToDeclaration/cds/org.icpclive.cds.settings/-emulation-settings/index.html +$dokka.location:org.icpclive.cds.settings/EmulationSettings/EmulationSettings/#kotlin.Double#kotlinx.datetime.Instant/PointingToDeclaration/cds/org.icpclive.cds.settings/-emulation-settings/-emulation-settings.html +$dokka.location:org.icpclive.cds.settings/EmulationSettings/speed/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-emulation-settings/speed.html +$dokka.location:org.icpclive.cds.settings/EmulationSettings/startTime/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-emulation-settings/start-time.html +$dokka.location:org.icpclive.cds.settings/KRSUSettings///PointingToDeclaration/cds/org.icpclive.cds.settings/-k-r-s-u-settings/index.html +$dokka.location:org.icpclive.cds.settings/KRSUSettings/KRSUSettings/#kotlin.String#kotlin.String#kotlinx.datetime.TimeZone#org.icpclive.cds.settings.EmulationSettings?/PointingToDeclaration/cds/org.icpclive.cds.settings/-k-r-s-u-settings/-k-r-s-u-settings.html +$dokka.location:org.icpclive.cds.settings/KRSUSettings/contestUrl/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-k-r-s-u-settings/contest-url.html +$dokka.location:org.icpclive.cds.settings/KRSUSettings/emulation/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-k-r-s-u-settings/emulation.html +$dokka.location:org.icpclive.cds.settings/KRSUSettings/submissionsUrl/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-k-r-s-u-settings/submissions-url.html +$dokka.location:org.icpclive.cds.settings/KRSUSettings/timeZone/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-k-r-s-u-settings/time-zone.html +$dokka.location:org.icpclive.cds.settings/NoopSettings///PointingToDeclaration/cds/org.icpclive.cds.settings/-noop-settings/index.html +$dokka.location:org.icpclive.cds.settings/NoopSettings/NoopSettings/#org.icpclive.cds.settings.EmulationSettings?/PointingToDeclaration/cds/org.icpclive.cds.settings/-noop-settings/-noop-settings.html +$dokka.location:org.icpclive.cds.settings/NoopSettings/emulation/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-noop-settings/emulation.html +$dokka.location:org.icpclive.cds.settings/PCMSSettings///PointingToDeclaration/cds/org.icpclive.cds.settings/-p-c-m-s-settings/index.html +$dokka.location:org.icpclive.cds.settings/PCMSSettings/PCMSSettings/#kotlin.String#org.icpclive.cds.settings.Credential?#org.icpclive.cds.settings.Credential?#kotlin.String?#org.icpclive.api.ContestResultType#org.icpclive.cds.settings.EmulationSettings?/PointingToDeclaration/cds/org.icpclive.cds.settings/-p-c-m-s-settings/-p-c-m-s-settings.html +$dokka.location:org.icpclive.cds.settings/PCMSSettings/emulation/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-p-c-m-s-settings/emulation.html +$dokka.location:org.icpclive.cds.settings/PCMSSettings/login/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-p-c-m-s-settings/login.html +$dokka.location:org.icpclive.cds.settings/PCMSSettings/password/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-p-c-m-s-settings/password.html +$dokka.location:org.icpclive.cds.settings/PCMSSettings/problemsUrl/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-p-c-m-s-settings/problems-url.html +$dokka.location:org.icpclive.cds.settings/PCMSSettings/resultType/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-p-c-m-s-settings/result-type.html +$dokka.location:org.icpclive.cds.settings/PCMSSettings/url/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-p-c-m-s-settings/url.html +$dokka.location:org.icpclive.cds.settings/TestSysSettings///PointingToDeclaration/cds/org.icpclive.cds.settings/-test-sys-settings/index.html +$dokka.location:org.icpclive.cds.settings/TestSysSettings/TestSysSettings/#kotlin.String#kotlinx.datetime.TimeZone#org.icpclive.cds.settings.EmulationSettings?/PointingToDeclaration/cds/org.icpclive.cds.settings/-test-sys-settings/-test-sys-settings.html +$dokka.location:org.icpclive.cds.settings/TestSysSettings/emulation/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-test-sys-settings/emulation.html +$dokka.location:org.icpclive.cds.settings/TestSysSettings/timeZone/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-test-sys-settings/time-zone.html +$dokka.location:org.icpclive.cds.settings/TestSysSettings/url/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-test-sys-settings/url.html +$dokka.location:org.icpclive.cds.settings/YandexSettings///PointingToDeclaration/cds/org.icpclive.cds.settings/-yandex-settings/index.html +$dokka.location:org.icpclive.cds.settings/YandexSettings/YandexSettings/#org.icpclive.cds.settings.Credential#kotlin.String#kotlin.Int#org.icpclive.api.ContestResultType#org.icpclive.cds.settings.EmulationSettings?/PointingToDeclaration/cds/org.icpclive.cds.settings/-yandex-settings/-yandex-settings.html +$dokka.location:org.icpclive.cds.settings/YandexSettings/apiKey/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-yandex-settings/api-key.html +$dokka.location:org.icpclive.cds.settings/YandexSettings/contestId/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-yandex-settings/contest-id.html +$dokka.location:org.icpclive.cds.settings/YandexSettings/emulation/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-yandex-settings/emulation.html +$dokka.location:org.icpclive.cds.settings/YandexSettings/loginRegex/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-yandex-settings/login-regex.html +$dokka.location:org.icpclive.cds.settings/YandexSettings/resultType/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-yandex-settings/result-type.html +$dokka.location:org.icpclive.cds////PointingToDeclaration/cds/org.icpclive.cds/index.html +$dokka.location:org.icpclive.cds/AnalyticsUpdate///PointingToDeclaration/cds/org.icpclive.cds/-analytics-update/index.html +$dokka.location:org.icpclive.cds/AnalyticsUpdate/AnalyticsUpdate/#org.icpclive.api.AnalyticsMessage/PointingToDeclaration/cds/org.icpclive.cds/-analytics-update/-analytics-update.html +$dokka.location:org.icpclive.cds/AnalyticsUpdate/message/#/PointingToDeclaration/cds/org.icpclive.cds/-analytics-update/message.html +$dokka.location:org.icpclive.cds/ContestUpdate///PointingToDeclaration/cds/org.icpclive.cds/-contest-update/index.html +$dokka.location:org.icpclive.cds/InfoUpdate///PointingToDeclaration/cds/org.icpclive.cds/-info-update/index.html +$dokka.location:org.icpclive.cds/InfoUpdate/InfoUpdate/#org.icpclive.api.ContestInfo/PointingToDeclaration/cds/org.icpclive.cds/-info-update/-info-update.html +$dokka.location:org.icpclive.cds/InfoUpdate/newInfo/#/PointingToDeclaration/cds/org.icpclive.cds/-info-update/new-info.html +$dokka.location:org.icpclive.cds/RunUpdate///PointingToDeclaration/cds/org.icpclive.cds/-run-update/index.html +$dokka.location:org.icpclive.cds/RunUpdate/RunUpdate/#org.icpclive.api.RunInfo/PointingToDeclaration/cds/org.icpclive.cds/-run-update/-run-update.html +$dokka.location:org.icpclive.cds/RunUpdate/newInfo/#/PointingToDeclaration/cds/org.icpclive.cds/-run-update/new-info.html +$dokka.location:org.icpclive.scoreboard////PointingToDeclaration/cds/org.icpclive.scoreboard/index.html +$dokka.location:org.icpclive.scoreboard//calculateScoreboard/kotlinx.coroutines.flow.Flow[org.icpclive.cds.adapters.ContestStateWithRunsByTeam]#org.icpclive.api.OptimismLevel/PointingToDeclaration/cds/org.icpclive.scoreboard/calculate-scoreboard.html +$dokka.location:org.icpclive.scoreboard//getScoreboardCalculator/#org.icpclive.api.ContestInfo#org.icpclive.api.OptimismLevel/PointingToDeclaration/cds/org.icpclive.scoreboard/get-scoreboard-calculator.html +$dokka.location:org.icpclive.scoreboard/ScoreboardCalculator///PointingToDeclaration/cds/org.icpclive.scoreboard/-scoreboard-calculator/index.html +$dokka.location:org.icpclive.scoreboard/ScoreboardCalculator/getScoreboard/#org.icpclive.api.ContestInfo#kotlin.collections.Map[kotlin.Int,kotlin.collections.List[org.icpclive.api.RunInfo]]/PointingToDeclaration/cds/org.icpclive.scoreboard/-scoreboard-calculator/get-scoreboard.html +org.icpclive.api +org.icpclive.api.tunning +org.icpclive.cds +org.icpclive.cds.adapters +org.icpclive.cds.common +org.icpclive.cds.settings +org.icpclive.scoreboard + diff --git a/docs/cds/images/anchor-copy-button.svg b/docs/cds/images/anchor-copy-button.svg new file mode 100644 index 000000000..bab9d747f --- /dev/null +++ b/docs/cds/images/anchor-copy-button.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/docs/cds/images/arrow_down.svg b/docs/cds/images/arrow_down.svg new file mode 100644 index 000000000..c0388dee2 --- /dev/null +++ b/docs/cds/images/arrow_down.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/docs/cds/images/copy-icon.svg b/docs/cds/images/copy-icon.svg new file mode 100644 index 000000000..61440f0a4 --- /dev/null +++ b/docs/cds/images/copy-icon.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/docs/cds/images/copy-successful-icon.svg b/docs/cds/images/copy-successful-icon.svg new file mode 100644 index 000000000..1865f739b --- /dev/null +++ b/docs/cds/images/copy-successful-icon.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/docs/cds/images/footer-go-to-link.svg b/docs/cds/images/footer-go-to-link.svg new file mode 100644 index 000000000..0137e2231 --- /dev/null +++ b/docs/cds/images/footer-go-to-link.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/docs/cds/images/go-to-top-icon.svg b/docs/cds/images/go-to-top-icon.svg new file mode 100644 index 000000000..d987f3ead --- /dev/null +++ b/docs/cds/images/go-to-top-icon.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/docs/cds/images/logo-icon.svg b/docs/cds/images/logo-icon.svg new file mode 100644 index 000000000..1fea08773 --- /dev/null +++ b/docs/cds/images/logo-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/docs/cds/images/nav-icons/abstract-class-kotlin.svg b/docs/cds/images/nav-icons/abstract-class-kotlin.svg new file mode 100644 index 000000000..a2069b8fb --- /dev/null +++ b/docs/cds/images/nav-icons/abstract-class-kotlin.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/cds/images/nav-icons/abstract-class.svg b/docs/cds/images/nav-icons/abstract-class.svg new file mode 100644 index 000000000..601820302 --- /dev/null +++ b/docs/cds/images/nav-icons/abstract-class.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/docs/cds/images/nav-icons/annotation-kotlin.svg b/docs/cds/images/nav-icons/annotation-kotlin.svg new file mode 100644 index 000000000..932f1d3de --- /dev/null +++ b/docs/cds/images/nav-icons/annotation-kotlin.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/cds/images/nav-icons/annotation.svg b/docs/cds/images/nav-icons/annotation.svg new file mode 100644 index 000000000..b80c54b4b --- /dev/null +++ b/docs/cds/images/nav-icons/annotation.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/cds/images/nav-icons/class-kotlin.svg b/docs/cds/images/nav-icons/class-kotlin.svg new file mode 100644 index 000000000..46a21f65a --- /dev/null +++ b/docs/cds/images/nav-icons/class-kotlin.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/cds/images/nav-icons/class.svg b/docs/cds/images/nav-icons/class.svg new file mode 100644 index 000000000..3f1ad167e --- /dev/null +++ b/docs/cds/images/nav-icons/class.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/cds/images/nav-icons/enum-kotlin.svg b/docs/cds/images/nav-icons/enum-kotlin.svg new file mode 100644 index 000000000..4a8545968 --- /dev/null +++ b/docs/cds/images/nav-icons/enum-kotlin.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/cds/images/nav-icons/enum.svg b/docs/cds/images/nav-icons/enum.svg new file mode 100644 index 000000000..fa7f24766 --- /dev/null +++ b/docs/cds/images/nav-icons/enum.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/cds/images/nav-icons/exception-class.svg b/docs/cds/images/nav-icons/exception-class.svg new file mode 100644 index 000000000..c0b2bdeba --- /dev/null +++ b/docs/cds/images/nav-icons/exception-class.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/cds/images/nav-icons/field-value.svg b/docs/cds/images/nav-icons/field-value.svg new file mode 100644 index 000000000..20449c947 --- /dev/null +++ b/docs/cds/images/nav-icons/field-value.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/cds/images/nav-icons/field-variable.svg b/docs/cds/images/nav-icons/field-variable.svg new file mode 100644 index 000000000..3b0745007 --- /dev/null +++ b/docs/cds/images/nav-icons/field-variable.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/cds/images/nav-icons/function.svg b/docs/cds/images/nav-icons/function.svg new file mode 100644 index 000000000..f0da64a0b --- /dev/null +++ b/docs/cds/images/nav-icons/function.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/cds/images/nav-icons/interface-kotlin.svg b/docs/cds/images/nav-icons/interface-kotlin.svg new file mode 100644 index 000000000..bf07a1488 --- /dev/null +++ b/docs/cds/images/nav-icons/interface-kotlin.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/cds/images/nav-icons/interface.svg b/docs/cds/images/nav-icons/interface.svg new file mode 100644 index 000000000..32063ba26 --- /dev/null +++ b/docs/cds/images/nav-icons/interface.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/cds/images/nav-icons/object.svg b/docs/cds/images/nav-icons/object.svg new file mode 100644 index 000000000..9f427de41 --- /dev/null +++ b/docs/cds/images/nav-icons/object.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/cds/images/theme-toggle.svg b/docs/cds/images/theme-toggle.svg new file mode 100644 index 000000000..2a8d750ea --- /dev/null +++ b/docs/cds/images/theme-toggle.svg @@ -0,0 +1,4 @@ + + + \ No newline at end of file diff --git a/docs/cds/index.html b/docs/cds/index.html new file mode 100644 index 000000000..ef7571bdb --- /dev/null +++ b/docs/cds/index.html @@ -0,0 +1,199 @@ + + + + + cds + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

cds

+
+

Packages

+
+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+ +
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+ +
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+ +
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+ +
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+ +
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+ +
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/cds/navigation.html b/docs/cds/navigation.html new file mode 100644 index 000000000..1dcf692ae --- /dev/null +++ b/docs/cds/navigation.html @@ -0,0 +1,394 @@ +
+ + + + + + + + +
+ diff --git a/docs/cds/scripts/clipboard.js b/docs/cds/scripts/clipboard.js new file mode 100644 index 000000000..b00ce246e --- /dev/null +++ b/docs/cds/scripts/clipboard.js @@ -0,0 +1,52 @@ +window.addEventListener('load', () => { + document.querySelectorAll('span.copy-icon').forEach(element => { + element.addEventListener('click', (el) => copyElementsContentToClipboard(element)); + }) + + document.querySelectorAll('span.anchor-icon').forEach(element => { + element.addEventListener('click', (el) => { + if(element.hasAttribute('pointing-to')){ + const location = hrefWithoutCurrentlyUsedAnchor() + '#' + element.getAttribute('pointing-to') + copyTextToClipboard(element, location) + } + }); + }) +}) + +const copyElementsContentToClipboard = (element) => { + const selection = window.getSelection(); + const range = document.createRange(); + range.selectNodeContents(element.parentNode.parentNode); + selection.removeAllRanges(); + selection.addRange(range); + + copyAndShowPopup(element, () => selection.removeAllRanges()) +} + +const copyTextToClipboard = (element, text) => { + var textarea = document.createElement("textarea"); + textarea.textContent = text; + textarea.style.position = "fixed"; + document.body.appendChild(textarea); + textarea.select(); + + copyAndShowPopup(element, () => document.body.removeChild(textarea)) +} + +const copyAndShowPopup = (element, after) => { + try { + document.execCommand('copy'); + element.nextElementSibling.classList.add('active-popup'); + setTimeout(() => { + element.nextElementSibling.classList.remove('active-popup'); + }, 1200); + } catch (e) { + console.error('Failed to write to clipboard:', e) + } + finally { + if(after) after() + } +} + +const hrefWithoutCurrentlyUsedAnchor = () => window.location.href.split('#')[0] + diff --git a/docs/cds/scripts/main.js b/docs/cds/scripts/main.js new file mode 100644 index 000000000..e5b54a36a --- /dev/null +++ b/docs/cds/scripts/main.js @@ -0,0 +1,44 @@ +(()=>{var e={8527:e=>{e.exports=''},5570:e=>{e.exports=''},107:e=>{e.exports=''},7224:e=>{e.exports=''},538:e=>{e.exports=''},1924:(e,n,t)=>{"use strict";var r=t(210),o=t(5559),i=o(r("String.prototype.indexOf"));e.exports=function(e,n){var t=r(e,!!n);return"function"==typeof t&&i(e,".prototype.")>-1?o(t):t}},5559:(e,n,t)=>{"use strict";var r=t(8612),o=t(210),i=o("%Function.prototype.apply%"),a=o("%Function.prototype.call%"),l=o("%Reflect.apply%",!0)||r.call(a,i),c=o("%Object.getOwnPropertyDescriptor%",!0),u=o("%Object.defineProperty%",!0),s=o("%Math.max%");if(u)try{u({},"a",{value:1})}catch(e){u=null}e.exports=function(e){var n=l(r,a,arguments);if(c&&u){var t=c(n,"length");t.configurable&&u(n,"length",{value:1+s(0,e.length-(arguments.length-1))})}return n};var f=function(){return l(r,i,arguments)};u?u(e.exports,"apply",{value:f}):e.exports.apply=f},4184:(e,n)=>{var t; +/*! + Copyright (c) 2018 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames +*/!function(){"use strict";var r={}.hasOwnProperty;function o(){for(var e=[],n=0;n{"use strict";e.exports=function(e,n){var t=this,r=t.constructor;return t.options=Object.assign({storeInstancesGlobally:!0},n||{}),t.callbacks={},t.directMap={},t.sequenceLevels={},t.resetTimer=null,t.ignoreNextKeyup=!1,t.ignoreNextKeypress=!1,t.nextExpectedAction=!1,t.element=e,t.addEvents(),t.options.storeInstancesGlobally&&r.instances.push(t),t},e.exports.prototype.bind=t(2207),e.exports.prototype.bindMultiple=t(3396),e.exports.prototype.unbind=t(9208),e.exports.prototype.trigger=t(9855),e.exports.prototype.reset=t(6214),e.exports.prototype.stopCallback=t(3450),e.exports.prototype.handleKey=t(3067),e.exports.prototype.addEvents=t(718),e.exports.prototype.bindSingle=t(8763),e.exports.prototype.getKeyInfo=t(5825),e.exports.prototype.pickBestAction=t(8608),e.exports.prototype.getReverseMap=t(3956),e.exports.prototype.getMatches=t(3373),e.exports.prototype.resetSequences=t(3346),e.exports.prototype.fireCallback=t(2684),e.exports.prototype.bindSequence=t(7103),e.exports.prototype.resetSequenceTimer=t(7309),e.exports.prototype.detach=t(7554),e.exports.instances=[],e.exports.reset=t(1822),e.exports.REVERSE_MAP=null},718:(e,n,t)=>{"use strict";e.exports=function(){var e=this,n=t(4323),r=e.element;e.eventHandler=t(9646).bind(e),n(r,"keypress",e.eventHandler),n(r,"keydown",e.eventHandler),n(r,"keyup",e.eventHandler)}},2207:e=>{"use strict";e.exports=function(e,n,t){return e=e instanceof Array?e:[e],this.bindMultiple(e,n,t),this}},3396:e=>{"use strict";e.exports=function(e,n,t){for(var r=0;r{"use strict";e.exports=function(e,n,r,o){var i=this;function a(n){return function(){i.nextExpectedAction=n,++i.sequenceLevels[e],i.resetSequenceTimer()}}function l(n){var a;i.fireCallback(r,n,e),"keyup"!==o&&(a=t(6770),i.ignoreNextKeyup=a(n)),setTimeout((function(){i.resetSequences()}),10)}i.sequenceLevels[e]=0;for(var c=0;c{"use strict";e.exports=function(e,n,t,r,o){var i=this;i.directMap[e+":"+t]=n;var a,l=(e=e.replace(/\s+/g," ")).split(" ");l.length>1?i.bindSequence(e,l,n,t):(a=i.getKeyInfo(e,t),i.callbacks[a.key]=i.callbacks[a.key]||[],i.getMatches(a.key,a.modifiers,{type:a.action},r,e,o),i.callbacks[a.key][r?"unshift":"push"]({callback:n,modifiers:a.modifiers,action:a.action,seq:r,level:o,combo:e}))}},7554:(e,n,t)=>{var r=t(4323).off;e.exports=function(){var e=this,n=e.element;r(n,"keypress",e.eventHandler),r(n,"keydown",e.eventHandler),r(n,"keyup",e.eventHandler)}},4323:e=>{function n(e,n,t,r){return!e.addEventListener&&(n="on"+n),(e.addEventListener||e.attachEvent).call(e,n,t,r),t}e.exports=n,e.exports.on=n,e.exports.off=function(e,n,t,r){return!e.removeEventListener&&(n="on"+n),(e.removeEventListener||e.detachEvent).call(e,n,t,r),t}},2684:(e,n,t)=>{"use strict";e.exports=function(e,n,r,o){this.stopCallback(n,n.target||n.srcElement,r,o)||!1===e(n,r)&&(t(1350)(n),t(6103)(n))}},5825:(e,n,t)=>{"use strict";e.exports=function(e,n){var r,o,i,a,l,c,u=[];for(r=t(4520)(e),a=t(7549),l=t(5355),c=t(8581),i=0;i{"use strict";e.exports=function(e,n,r,o,i,a){var l,c,u,s,f=this,p=[],d=r.type;"keypress"!==d||r.code&&"Arrow"===r.code.slice(0,5)||(f.callbacks["any-character"]||[]).forEach((function(e){p.push(e)}));if(!f.callbacks[e])return p;for(u=t(8581),"keyup"===d&&u(e)&&(n=[e]),l=0;l{"use strict";e.exports=function(){var e,n=this.constructor;if(!n.REVERSE_MAP)for(var r in n.REVERSE_MAP={},e=t(4766))r>95&&r<112||e.hasOwnProperty(r)&&(n.REVERSE_MAP[e[r]]=r);return n.REVERSE_MAP}},3067:(e,n,t)=>{"use strict";e.exports=function(e,n,r){var o,i,a,l,c=this,u={},s=0,f=!1;for(o=c.getMatches(e,n,r),i=0;i{"use strict";e.exports=function(e){var n,r=this;"number"!=typeof e.which&&(e.which=e.keyCode);var o=t(6770)(e);void 0!==o&&("keyup"!==e.type||r.ignoreNextKeyup!==o?(n=t(4610),r.handleKey(o,n(e),e)):r.ignoreNextKeyup=!1)}},5532:e=>{"use strict";e.exports=function(e,n){return e.sort().join(",")===n.sort().join(",")}},8608:e=>{"use strict";e.exports=function(e,n,t){return t||(t=this.getReverseMap()[e]?"keydown":"keypress"),"keypress"===t&&n.length&&(t="keydown"),t}},6214:e=>{"use strict";e.exports=function(){return this.callbacks={},this.directMap={},this}},7309:e=>{"use strict";e.exports=function(){var e=this;clearTimeout(e.resetTimer),e.resetTimer=setTimeout((function(){e.resetSequences()}),1e3)}},3346:e=>{"use strict";e.exports=function(e){var n=this;e=e||{};var t,r=!1;for(t in n.sequenceLevels)e[t]?r=!0:n.sequenceLevels[t]=0;r||(n.nextExpectedAction=!1)}},3450:e=>{"use strict";e.exports=function(e,n){if((" "+n.className+" ").indexOf(" combokeys ")>-1)return!1;var t=n.tagName.toLowerCase();return"input"===t||"select"===t||"textarea"===t||n.isContentEditable}},9855:e=>{"use strict";e.exports=function(e,n){return this.directMap[e+":"+n]&&this.directMap[e+":"+n]({},e),this}},9208:e=>{"use strict";e.exports=function(e,n){return this.bind(e,(function(){}),n)}},1822:e=>{"use strict";e.exports=function(){this.instances.forEach((function(e){e.reset()}))}},6770:(e,n,t)=>{"use strict";e.exports=function(e){var n,r;if(n=t(4766),r=t(5295),"keypress"===e.type){var o=String.fromCharCode(e.which);return e.shiftKey||(o=o.toLowerCase()),o}return void 0!==n[e.which]?n[e.which]:void 0!==r[e.which]?r[e.which]:String.fromCharCode(e.which).toLowerCase()}},4610:e=>{"use strict";e.exports=function(e){var n=[];return e.shiftKey&&n.push("shift"),e.altKey&&n.push("alt"),e.ctrlKey&&n.push("ctrl"),e.metaKey&&n.push("meta"),n}},8581:e=>{"use strict";e.exports=function(e){return"shift"===e||"ctrl"===e||"alt"===e||"meta"===e}},4520:e=>{"use strict";e.exports=function(e){return"+"===e?["+"]:e.split("+")}},1350:e=>{"use strict";e.exports=function(e){e.preventDefault?e.preventDefault():e.returnValue=!1}},5355:e=>{"use strict";e.exports={"~":"`","!":"1","@":"2","#":"3",$:"4","%":"5","^":"6","&":"7","*":"8","(":"9",")":"0",_:"-","+":"=",":":";",'"':"'","<":",",">":".","?":"/","|":"\\"}},7549:e=>{"use strict";e.exports={option:"alt",command:"meta",return:"enter",escape:"esc",mod:/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"meta":"ctrl"}},5295:e=>{"use strict";e.exports={106:"*",107:"plus",109:"minus",110:".",111:"/",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"}},4766:e=>{"use strict";e.exports={8:"backspace",9:"tab",13:"enter",16:"shift",17:"ctrl",18:"alt",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"ins",46:"del",91:"meta",93:"meta",173:"minus",187:"plus",189:"minus",224:"meta"};for(var n=1;n<20;++n)e.exports[111+n]="f"+n;for(n=0;n<=9;++n)e.exports[n+96]=n},6103:e=>{"use strict";e.exports=function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0}},3362:()=>{var e;!function(){var e=Math.PI,n=2*e,t=e/180,r=document.createElement("div");document.head.appendChild(r);var o=self.ConicGradient=function(e){o.all.push(this),e=e||{},this.canvas=document.createElement("canvas"),this.context=this.canvas.getContext("2d"),this.repeating=!!e.repeating,this.size=e.size||Math.max(innerWidth,innerHeight),this.canvas.width=this.canvas.height=this.size;var n=e.stops;this.stops=(n||"").split(/\s*,(?![^(]*\))\s*/),this.from=0;for(var t=0;t0){var i=this.stops[0].clone();i.pos=0,this.stops.unshift(i)}if(void 0===this.stops[this.stops.length-1].pos)this.stops[this.stops.length-1].pos=1;else if(!this.repeating&&this.stops[this.stops.length-1].pos<1){var a=this.stops[this.stops.length-1].clone();a.pos=1,this.stops.push(a)}if(this.stops.forEach((function(e,n){if(void 0===e.pos){for(var t=n+1;this[t];t++)if(void 0!==this[t].pos){e.pos=this[n-1].pos+(this[t].pos-this[n-1].pos)/(t-n+1);break}}else n>0&&(e.pos=Math.max(e.pos,this[n-1].pos))}),this.stops),this.repeating){var l=(n=this.stops.slice())[n.length-1].pos-n[0].pos;for(t=0;this.stops[this.stops.length-1].pos<1&&t<1e4;t++)for(var c=0;c'},get png(){return this.canvas.toDataURL()},get r(){return Math.sqrt(2)*this.size/2},paint:function(){var e,n,r,o=this.context,i=this.r,a=this.size/2,l=0,c=this.stops[l];o.translate(this.size/2,this.size/2),o.rotate(-90*t),o.rotate(this.from*t),o.translate(-this.size/2,-this.size/2);for(var u=0;u<360;){if(u/360+1e-5>=c.pos){do{e=c,l++,c=this.stops[l]}while(c&&c!=e&&c.pos===e.pos);if(!c)break;var s=e.color+""==c.color+""&&e!=c;n=e.color.map((function(e,n){return c.color[n]-e}))}r=(u/360-e.pos)/(c.pos-e.pos);var f=s?c.color:n.map((function(n,t){var o=n*r+e.color[t];return t<3?255&o:o}));if(o.fillStyle="rgba("+f.join(",")+")",o.beginPath(),o.moveTo(a,a),s)var p=360*(c.pos-e.pos);else p=.5;var d=u*t,h=(d=Math.min(360*t,d))+p*t;h=Math.min(360*t,h+.02),o.arc(a,a,i,d,h),o.closePath(),o.fill(),u+=p}}},o.ColorStop=function(e,t){if(this.gradient=e,t){var r=t.match(/^(.+?)(?:\s+([\d.]+)(%|deg|turn|grad|rad)?)?(?:\s+([\d.]+)(%|deg|turn|grad|rad)?)?\s*$/);if(this.color=o.ColorStop.colorToRGBA(r[1]),r[2]){var i=r[3];"%"==i||"0"===r[2]&&!i?this.pos=r[2]/100:"turn"==i?this.pos=+r[2]:"deg"==i?this.pos=r[2]/360:"grad"==i?this.pos=r[2]/400:"rad"==i&&(this.pos=r[2]/n)}r[4]&&(this.next=new o.ColorStop(e,r[1]+" "+r[4]+r[5]))}},o.ColorStop.prototype={clone:function(){var e=new o.ColorStop(this.gradient);return e.color=this.color,e.pos=this.pos,e},toString:function(){return"rgba("+this.color.join(", ")+") "+100*this.pos+"%"}},o.ColorStop.colorToRGBA=function(e){if(!Array.isArray(e)&&-1==e.indexOf("from")){r.style.color=e;var n=getComputedStyle(r).color.match(/rgba?\(([\d.]+), ([\d.]+), ([\d.]+)(?:, ([\d.]+))?\)/);return n&&(n.shift(),(n=n.map((function(e){return+e})))[3]=isNaN(n[3])?1:n[3]),n||[0,0,0,0]}return e}}(),self.StyleFix&&((e=document.createElement("p")).style.backgroundImage="conic-gradient(white, black)",e.style.backgroundImage=PrefixFree.prefix+"conic-gradient(white, black)",e.style.backgroundImage||StyleFix.register((function(e,n){return e.indexOf("conic-gradient")>-1&&(e=e.replace(/(?:repeating-)?conic-gradient\(\s*((?:\([^()]+\)|[^;()}])+?)\)/g,(function(e,n){return new ConicGradient({stops:n,repeating:e.indexOf("repeating-")>-1})}))),e})))},9662:(e,n,t)=>{var r=t(7854),o=t(614),i=t(6330),a=r.TypeError;e.exports=function(e){if(o(e))return e;throw a(i(e)+" is not a function")}},9483:(e,n,t)=>{var r=t(7854),o=t(4411),i=t(6330),a=r.TypeError;e.exports=function(e){if(o(e))return e;throw a(i(e)+" is not a constructor")}},6077:(e,n,t)=>{var r=t(7854),o=t(614),i=r.String,a=r.TypeError;e.exports=function(e){if("object"==typeof e||o(e))return e;throw a("Can't set "+i(e)+" as a prototype")}},1223:(e,n,t)=>{var r=t(5112),o=t(30),i=t(3070),a=r("unscopables"),l=Array.prototype;null==l[a]&&i.f(l,a,{configurable:!0,value:o(null)}),e.exports=function(e){l[a][e]=!0}},1530:(e,n,t)=>{"use strict";var r=t(8710).charAt;e.exports=function(e,n,t){return n+(t?r(e,n).length:1)}},5787:(e,n,t)=>{var r=t(7854),o=t(7976),i=r.TypeError;e.exports=function(e,n){if(o(n,e))return e;throw i("Incorrect invocation")}},9670:(e,n,t)=>{var r=t(7854),o=t(111),i=r.String,a=r.TypeError;e.exports=function(e){if(o(e))return e;throw a(i(e)+" is not an object")}},7556:(e,n,t)=>{var r=t(7293);e.exports=r((function(){if("function"==typeof ArrayBuffer){var e=new ArrayBuffer(8);Object.isExtensible(e)&&Object.defineProperty(e,"a",{value:8})}}))},8533:(e,n,t)=>{"use strict";var r=t(2092).forEach,o=t(9341)("forEach");e.exports=o?[].forEach:function(e){return r(this,e,arguments.length>1?arguments[1]:void 0)}},8457:(e,n,t)=>{"use strict";var r=t(7854),o=t(9974),i=t(6916),a=t(7908),l=t(3411),c=t(7659),u=t(4411),s=t(6244),f=t(6135),p=t(8554),d=t(1246),h=r.Array;e.exports=function(e){var n=a(e),t=u(this),r=arguments.length,g=r>1?arguments[1]:void 0,v=void 0!==g;v&&(g=o(g,r>2?arguments[2]:void 0));var A,b,m,y,E,_,C=d(n),w=0;if(!C||this==h&&c(C))for(A=s(n),b=t?new this(A):h(A);A>w;w++)_=v?g(n[w],w):n[w],f(b,w,_);else for(E=(y=p(n,C)).next,b=t?new this:[];!(m=i(E,y)).done;w++)_=v?l(y,g,[m.value,w],!0):m.value,f(b,w,_);return b.length=w,b}},1318:(e,n,t)=>{var r=t(5656),o=t(1400),i=t(6244),a=function(e){return function(n,t,a){var l,c=r(n),u=i(c),s=o(a,u);if(e&&t!=t){for(;u>s;)if((l=c[s++])!=l)return!0}else for(;u>s;s++)if((e||s in c)&&c[s]===t)return e||s||0;return!e&&-1}};e.exports={includes:a(!0),indexOf:a(!1)}},2092:(e,n,t)=>{var r=t(9974),o=t(1702),i=t(8361),a=t(7908),l=t(6244),c=t(5417),u=o([].push),s=function(e){var n=1==e,t=2==e,o=3==e,s=4==e,f=6==e,p=7==e,d=5==e||f;return function(h,g,v,A){for(var b,m,y=a(h),E=i(y),_=r(g,v),C=l(E),w=0,x=A||c,k=n?x(h,C):t||p?x(h,0):void 0;C>w;w++)if((d||w in E)&&(m=_(b=E[w],w,y),e))if(n)k[w]=m;else if(m)switch(e){case 3:return!0;case 5:return b;case 6:return w;case 2:u(k,b)}else switch(e){case 4:return!1;case 7:u(k,b)}return f?-1:o||s?s:k}};e.exports={forEach:s(0),map:s(1),filter:s(2),some:s(3),every:s(4),find:s(5),findIndex:s(6),filterReject:s(7)}},1194:(e,n,t)=>{var r=t(7293),o=t(5112),i=t(7392),a=o("species");e.exports=function(e){return i>=51||!r((function(){var n=[];return(n.constructor={})[a]=function(){return{foo:1}},1!==n[e](Boolean).foo}))}},9341:(e,n,t)=>{"use strict";var r=t(7293);e.exports=function(e,n){var t=[][e];return!!t&&r((function(){t.call(null,n||function(){throw 1},1)}))}},3671:(e,n,t)=>{var r=t(7854),o=t(9662),i=t(7908),a=t(8361),l=t(6244),c=r.TypeError,u=function(e){return function(n,t,r,u){o(t);var s=i(n),f=a(s),p=l(s),d=e?p-1:0,h=e?-1:1;if(r<2)for(;;){if(d in f){u=f[d],d+=h;break}if(d+=h,e?d<0:p<=d)throw c("Reduce of empty array with no initial value")}for(;e?d>=0:p>d;d+=h)d in f&&(u=t(u,f[d],d,s));return u}};e.exports={left:u(!1),right:u(!0)}},206:(e,n,t)=>{var r=t(1702);e.exports=r([].slice)},4362:(e,n,t)=>{var r=t(206),o=Math.floor,i=function(e,n){var t=e.length,c=o(t/2);return t<8?a(e,n):l(e,i(r(e,0,c),n),i(r(e,c),n),n)},a=function(e,n){for(var t,r,o=e.length,i=1;i0;)e[r]=e[--r];r!==i++&&(e[r]=t)}return e},l=function(e,n,t,r){for(var o=n.length,i=t.length,a=0,l=0;a{var r=t(7854),o=t(3157),i=t(4411),a=t(111),l=t(5112)("species"),c=r.Array;e.exports=function(e){var n;return o(e)&&(n=e.constructor,(i(n)&&(n===c||o(n.prototype))||a(n)&&null===(n=n[l]))&&(n=void 0)),void 0===n?c:n}},5417:(e,n,t)=>{var r=t(7475);e.exports=function(e,n){return new(r(e))(0===n?0:n)}},3411:(e,n,t)=>{var r=t(9670),o=t(9212);e.exports=function(e,n,t,i){try{return i?n(r(t)[0],t[1]):n(t)}catch(n){o(e,"throw",n)}}},7072:(e,n,t)=>{var r=t(5112)("iterator"),o=!1;try{var i=0,a={next:function(){return{done:!!i++}},return:function(){o=!0}};a[r]=function(){return this},Array.from(a,(function(){throw 2}))}catch(e){}e.exports=function(e,n){if(!n&&!o)return!1;var t=!1;try{var i={};i[r]=function(){return{next:function(){return{done:t=!0}}}},e(i)}catch(e){}return t}},4326:(e,n,t)=>{var r=t(1702),o=r({}.toString),i=r("".slice);e.exports=function(e){return i(o(e),8,-1)}},648:(e,n,t)=>{var r=t(7854),o=t(1694),i=t(614),a=t(4326),l=t(5112)("toStringTag"),c=r.Object,u="Arguments"==a(function(){return arguments}());e.exports=o?a:function(e){var n,t,r;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(t=function(e,n){try{return e[n]}catch(e){}}(n=c(e),l))?t:u?a(n):"Object"==(r=a(n))&&i(n.callee)?"Arguments":r}},5631:(e,n,t)=>{"use strict";var r=t(3070).f,o=t(30),i=t(2248),a=t(9974),l=t(5787),c=t(408),u=t(654),s=t(6340),f=t(9781),p=t(2423).fastKey,d=t(9909),h=d.set,g=d.getterFor;e.exports={getConstructor:function(e,n,t,u){var s=e((function(e,r){l(e,d),h(e,{type:n,index:o(null),first:void 0,last:void 0,size:0}),f||(e.size=0),null!=r&&c(r,e[u],{that:e,AS_ENTRIES:t})})),d=s.prototype,v=g(n),A=function(e,n,t){var r,o,i=v(e),a=b(e,n);return a?a.value=t:(i.last=a={index:o=p(n,!0),key:n,value:t,previous:r=i.last,next:void 0,removed:!1},i.first||(i.first=a),r&&(r.next=a),f?i.size++:e.size++,"F"!==o&&(i.index[o]=a)),e},b=function(e,n){var t,r=v(e),o=p(n);if("F"!==o)return r.index[o];for(t=r.first;t;t=t.next)if(t.key==n)return t};return i(d,{clear:function(){for(var e=v(this),n=e.index,t=e.first;t;)t.removed=!0,t.previous&&(t.previous=t.previous.next=void 0),delete n[t.index],t=t.next;e.first=e.last=void 0,f?e.size=0:this.size=0},delete:function(e){var n=this,t=v(n),r=b(n,e);if(r){var o=r.next,i=r.previous;delete t.index[r.index],r.removed=!0,i&&(i.next=o),o&&(o.previous=i),t.first==r&&(t.first=o),t.last==r&&(t.last=i),f?t.size--:n.size--}return!!r},forEach:function(e){for(var n,t=v(this),r=a(e,arguments.length>1?arguments[1]:void 0);n=n?n.next:t.first;)for(r(n.value,n.key,this);n&&n.removed;)n=n.previous},has:function(e){return!!b(this,e)}}),i(d,t?{get:function(e){var n=b(this,e);return n&&n.value},set:function(e,n){return A(this,0===e?0:e,n)}}:{add:function(e){return A(this,e=0===e?0:e,e)}}),f&&r(d,"size",{get:function(){return v(this).size}}),s},setStrong:function(e,n,t){var r=n+" Iterator",o=g(n),i=g(r);u(e,n,(function(e,n){h(this,{type:r,target:e,state:o(e),kind:n,last:void 0})}),(function(){for(var e=i(this),n=e.kind,t=e.last;t&&t.removed;)t=t.previous;return e.target&&(e.last=t=t?t.next:e.state.first)?"keys"==n?{value:t.key,done:!1}:"values"==n?{value:t.value,done:!1}:{value:[t.key,t.value],done:!1}:(e.target=void 0,{value:void 0,done:!0})}),t?"entries":"values",!t,!0),s(n)}}},9320:(e,n,t)=>{"use strict";var r=t(1702),o=t(2248),i=t(2423).getWeakData,a=t(9670),l=t(111),c=t(5787),u=t(408),s=t(2092),f=t(2597),p=t(9909),d=p.set,h=p.getterFor,g=s.find,v=s.findIndex,A=r([].splice),b=0,m=function(e){return e.frozen||(e.frozen=new y)},y=function(){this.entries=[]},E=function(e,n){return g(e.entries,(function(e){return e[0]===n}))};y.prototype={get:function(e){var n=E(this,e);if(n)return n[1]},has:function(e){return!!E(this,e)},set:function(e,n){var t=E(this,e);t?t[1]=n:this.entries.push([e,n])},delete:function(e){var n=v(this.entries,(function(n){return n[0]===e}));return~n&&A(this.entries,n,1),!!~n}},e.exports={getConstructor:function(e,n,t,r){var s=e((function(e,o){c(e,p),d(e,{type:n,id:b++,frozen:void 0}),null!=o&&u(o,e[r],{that:e,AS_ENTRIES:t})})),p=s.prototype,g=h(n),v=function(e,n,t){var r=g(e),o=i(a(n),!0);return!0===o?m(r).set(n,t):o[r.id]=t,e};return o(p,{delete:function(e){var n=g(this);if(!l(e))return!1;var t=i(e);return!0===t?m(n).delete(e):t&&f(t,n.id)&&delete t[n.id]},has:function(e){var n=g(this);if(!l(e))return!1;var t=i(e);return!0===t?m(n).has(e):t&&f(t,n.id)}}),o(p,t?{get:function(e){var n=g(this);if(l(e)){var t=i(e);return!0===t?m(n).get(e):t?t[n.id]:void 0}},set:function(e,n){return v(this,e,n)}}:{add:function(e){return v(this,e,!0)}}),s}}},7710:(e,n,t)=>{"use strict";var r=t(2109),o=t(7854),i=t(1702),a=t(4705),l=t(1320),c=t(2423),u=t(408),s=t(5787),f=t(614),p=t(111),d=t(7293),h=t(7072),g=t(8003),v=t(9587);e.exports=function(e,n,t){var A=-1!==e.indexOf("Map"),b=-1!==e.indexOf("Weak"),m=A?"set":"add",y=o[e],E=y&&y.prototype,_=y,C={},w=function(e){var n=i(E[e]);l(E,e,"add"==e?function(e){return n(this,0===e?0:e),this}:"delete"==e?function(e){return!(b&&!p(e))&&n(this,0===e?0:e)}:"get"==e?function(e){return b&&!p(e)?void 0:n(this,0===e?0:e)}:"has"==e?function(e){return!(b&&!p(e))&&n(this,0===e?0:e)}:function(e,t){return n(this,0===e?0:e,t),this})};if(a(e,!f(y)||!(b||E.forEach&&!d((function(){(new y).entries().next()})))))_=t.getConstructor(n,e,A,m),c.enable();else if(a(e,!0)){var x=new _,k=x[m](b?{}:-0,1)!=x,S=d((function(){x.has(1)})),O=h((function(e){new y(e)})),B=!b&&d((function(){for(var e=new y,n=5;n--;)e[m](n,n);return!e.has(-0)}));O||((_=n((function(e,n){s(e,E);var t=v(new y,e,_);return null!=n&&u(n,t[m],{that:t,AS_ENTRIES:A}),t}))).prototype=E,E.constructor=_),(S||B)&&(w("delete"),w("has"),A&&w("get")),(B||k)&&w(m),b&&E.clear&&delete E.clear}return C[e]=_,r({global:!0,forced:_!=y},C),g(_,e),b||t.setStrong(_,e,A),_}},9920:(e,n,t)=>{var r=t(2597),o=t(3887),i=t(1236),a=t(3070);e.exports=function(e,n){for(var t=o(n),l=a.f,c=i.f,u=0;u{var r=t(5112)("match");e.exports=function(e){var n=/./;try{"/./"[e](n)}catch(t){try{return n[r]=!1,"/./"[e](n)}catch(e){}}return!1}},8544:(e,n,t)=>{var r=t(7293);e.exports=!r((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}))},4230:(e,n,t)=>{var r=t(1702),o=t(4488),i=t(1340),a=/"/g,l=r("".replace);e.exports=function(e,n,t,r){var c=i(o(e)),u="<"+n;return""!==t&&(u+=" "+t+'="'+l(i(r),a,""")+'"'),u+">"+c+""}},4994:(e,n,t)=>{"use strict";var r=t(3383).IteratorPrototype,o=t(30),i=t(9114),a=t(8003),l=t(7497),c=function(){return this};e.exports=function(e,n,t){var u=n+" Iterator";return e.prototype=o(r,{next:i(1,t)}),a(e,u,!1,!0),l[u]=c,e}},8880:(e,n,t)=>{var r=t(9781),o=t(3070),i=t(9114);e.exports=r?function(e,n,t){return o.f(e,n,i(1,t))}:function(e,n,t){return e[n]=t,e}},9114:e=>{e.exports=function(e,n){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:n}}},6135:(e,n,t)=>{"use strict";var r=t(4948),o=t(3070),i=t(9114);e.exports=function(e,n,t){var a=r(n);a in e?o.f(e,a,i(0,t)):e[a]=t}},8709:(e,n,t)=>{"use strict";var r=t(7854),o=t(9670),i=t(2140),a=r.TypeError;e.exports=function(e){if(o(this),"string"===e||"default"===e)e="string";else if("number"!==e)throw a("Incorrect hint");return i(this,e)}},654:(e,n,t)=>{"use strict";var r=t(2109),o=t(6916),i=t(1913),a=t(6530),l=t(614),c=t(4994),u=t(9518),s=t(7674),f=t(8003),p=t(8880),d=t(1320),h=t(5112),g=t(7497),v=t(3383),A=a.PROPER,b=a.CONFIGURABLE,m=v.IteratorPrototype,y=v.BUGGY_SAFARI_ITERATORS,E=h("iterator"),_="keys",C="values",w="entries",x=function(){return this};e.exports=function(e,n,t,a,h,v,k){c(t,n,a);var S,O,B,I=function(e){if(e===h&&R)return R;if(!y&&e in j)return j[e];switch(e){case _:case C:case w:return function(){return new t(this,e)}}return function(){return new t(this)}},T=n+" Iterator",P=!1,j=e.prototype,z=j[E]||j["@@iterator"]||h&&j[h],R=!y&&z||I(h),M="Array"==n&&j.entries||z;if(M&&(S=u(M.call(new e)))!==Object.prototype&&S.next&&(i||u(S)===m||(s?s(S,m):l(S[E])||d(S,E,x)),f(S,T,!0,!0),i&&(g[T]=x)),A&&h==C&&z&&z.name!==C&&(!i&&b?p(j,"name",C):(P=!0,R=function(){return o(z,this)})),h)if(O={values:I(C),keys:v?R:I(_),entries:I(w)},k)for(B in O)(y||P||!(B in j))&&d(j,B,O[B]);else r({target:n,proto:!0,forced:y||P},O);return i&&!k||j[E]===R||d(j,E,R,{name:h}),g[n]=R,O}},7235:(e,n,t)=>{var r=t(857),o=t(2597),i=t(6061),a=t(3070).f;e.exports=function(e){var n=r.Symbol||(r.Symbol={});o(n,e)||a(n,e,{value:i.f(e)})}},9781:(e,n,t)=>{var r=t(7293);e.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},317:(e,n,t)=>{var r=t(7854),o=t(111),i=r.document,a=o(i)&&o(i.createElement);e.exports=function(e){return a?i.createElement(e):{}}},8324:e=>{e.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},8509:(e,n,t)=>{var r=t(317)("span").classList,o=r&&r.constructor&&r.constructor.prototype;e.exports=o===Object.prototype?void 0:o},8886:(e,n,t)=>{var r=t(8113).match(/firefox\/(\d+)/i);e.exports=!!r&&+r[1]},256:(e,n,t)=>{var r=t(8113);e.exports=/MSIE|Trident/.test(r)},5268:(e,n,t)=>{var r=t(4326),o=t(7854);e.exports="process"==r(o.process)},8113:(e,n,t)=>{var r=t(5005);e.exports=r("navigator","userAgent")||""},7392:(e,n,t)=>{var r,o,i=t(7854),a=t(8113),l=i.process,c=i.Deno,u=l&&l.versions||c&&c.version,s=u&&u.v8;s&&(o=(r=s.split("."))[0]>0&&r[0]<4?1:+(r[0]+r[1])),!o&&a&&(!(r=a.match(/Edge\/(\d+)/))||r[1]>=74)&&(r=a.match(/Chrome\/(\d+)/))&&(o=+r[1]),e.exports=o},8008:(e,n,t)=>{var r=t(8113).match(/AppleWebKit\/(\d+)\./);e.exports=!!r&&+r[1]},748:e=>{e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},2109:(e,n,t)=>{var r=t(7854),o=t(1236).f,i=t(8880),a=t(1320),l=t(3505),c=t(9920),u=t(4705);e.exports=function(e,n){var t,s,f,p,d,h=e.target,g=e.global,v=e.stat;if(t=g?r:v?r[h]||l(h,{}):(r[h]||{}).prototype)for(s in n){if(p=n[s],f=e.noTargetGet?(d=o(t,s))&&d.value:t[s],!u(g?s:h+(v?".":"#")+s,e.forced)&&void 0!==f){if(typeof p==typeof f)continue;c(p,f)}(e.sham||f&&f.sham)&&i(p,"sham",!0),a(t,s,p,e)}}},7293:e=>{e.exports=function(e){try{return!!e()}catch(e){return!0}}},7007:(e,n,t)=>{"use strict";t(4916);var r=t(1702),o=t(1320),i=t(2261),a=t(7293),l=t(5112),c=t(8880),u=l("species"),s=RegExp.prototype;e.exports=function(e,n,t,f){var p=l(e),d=!a((function(){var n={};return n[p]=function(){return 7},7!=""[e](n)})),h=d&&!a((function(){var n=!1,t=/a/;return"split"===e&&((t={}).constructor={},t.constructor[u]=function(){return t},t.flags="",t[p]=/./[p]),t.exec=function(){return n=!0,null},t[p](""),!n}));if(!d||!h||t){var g=r(/./[p]),v=n(p,""[e],(function(e,n,t,o,a){var l=r(e),c=n.exec;return c===i||c===s.exec?d&&!a?{done:!0,value:g(n,t,o)}:{done:!0,value:l(t,n,o)}:{done:!1}}));o(String.prototype,e,v[0]),o(s,p,v[1])}f&&c(s[p],"sham",!0)}},6677:(e,n,t)=>{var r=t(7293);e.exports=!r((function(){return Object.isExtensible(Object.preventExtensions({}))}))},2104:e=>{var n=Function.prototype,t=n.apply,r=n.bind,o=n.call;e.exports="object"==typeof Reflect&&Reflect.apply||(r?o.bind(t):function(){return o.apply(t,arguments)})},9974:(e,n,t)=>{var r=t(1702),o=t(9662),i=r(r.bind);e.exports=function(e,n){return o(e),void 0===n?e:i?i(e,n):function(){return e.apply(n,arguments)}}},7065:(e,n,t)=>{"use strict";var r=t(7854),o=t(1702),i=t(9662),a=t(111),l=t(2597),c=t(206),u=r.Function,s=o([].concat),f=o([].join),p={},d=function(e,n,t){if(!l(p,n)){for(var r=[],o=0;o{var n=Function.prototype.call;e.exports=n.bind?n.bind(n):function(){return n.apply(n,arguments)}},6530:(e,n,t)=>{var r=t(9781),o=t(2597),i=Function.prototype,a=r&&Object.getOwnPropertyDescriptor,l=o(i,"name"),c=l&&"something"===function(){}.name,u=l&&(!r||r&&a(i,"name").configurable);e.exports={EXISTS:l,PROPER:c,CONFIGURABLE:u}},1702:e=>{var n=Function.prototype,t=n.bind,r=n.call,o=t&&t.bind(r);e.exports=t?function(e){return e&&o(r,e)}:function(e){return e&&function(){return r.apply(e,arguments)}}},5005:(e,n,t)=>{var r=t(7854),o=t(614),i=function(e){return o(e)?e:void 0};e.exports=function(e,n){return arguments.length<2?i(r[e]):r[e]&&r[e][n]}},1246:(e,n,t)=>{var r=t(648),o=t(8173),i=t(7497),a=t(5112)("iterator");e.exports=function(e){if(null!=e)return o(e,a)||o(e,"@@iterator")||i[r(e)]}},8554:(e,n,t)=>{var r=t(7854),o=t(6916),i=t(9662),a=t(9670),l=t(6330),c=t(1246),u=r.TypeError;e.exports=function(e,n){var t=arguments.length<2?c(e):n;if(i(t))return a(o(t,e));throw u(l(e)+" is not iterable")}},8173:(e,n,t)=>{var r=t(9662);e.exports=function(e,n){var t=e[n];return null==t?void 0:r(t)}},647:(e,n,t)=>{var r=t(1702),o=t(7908),i=Math.floor,a=r("".charAt),l=r("".replace),c=r("".slice),u=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,s=/\$([$&'`]|\d{1,2})/g;e.exports=function(e,n,t,r,f,p){var d=t+e.length,h=r.length,g=s;return void 0!==f&&(f=o(f),g=u),l(p,g,(function(o,l){var u;switch(a(l,0)){case"$":return"$";case"&":return e;case"`":return c(n,0,t);case"'":return c(n,d);case"<":u=f[c(l,1,-1)];break;default:var s=+l;if(0===s)return o;if(s>h){var p=i(s/10);return 0===p?o:p<=h?void 0===r[p-1]?a(l,1):r[p-1]+a(l,1):o}u=r[s-1]}return void 0===u?"":u}))}},7854:(e,n,t)=>{var r=function(e){return e&&e.Math==Math&&e};e.exports=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof t.g&&t.g)||function(){return this}()||Function("return this")()},2597:(e,n,t)=>{var r=t(1702),o=t(7908),i=r({}.hasOwnProperty);e.exports=Object.hasOwn||function(e,n){return i(o(e),n)}},3501:e=>{e.exports={}},490:(e,n,t)=>{var r=t(5005);e.exports=r("document","documentElement")},4664:(e,n,t)=>{var r=t(9781),o=t(7293),i=t(317);e.exports=!r&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},8361:(e,n,t)=>{var r=t(7854),o=t(1702),i=t(7293),a=t(4326),l=r.Object,c=o("".split);e.exports=i((function(){return!l("z").propertyIsEnumerable(0)}))?function(e){return"String"==a(e)?c(e,""):l(e)}:l},9587:(e,n,t)=>{var r=t(614),o=t(111),i=t(7674);e.exports=function(e,n,t){var a,l;return i&&r(a=n.constructor)&&a!==t&&o(l=a.prototype)&&l!==t.prototype&&i(e,l),e}},2788:(e,n,t)=>{var r=t(1702),o=t(614),i=t(5465),a=r(Function.toString);o(i.inspectSource)||(i.inspectSource=function(e){return a(e)}),e.exports=i.inspectSource},2423:(e,n,t)=>{var r=t(2109),o=t(1702),i=t(3501),a=t(111),l=t(2597),c=t(3070).f,u=t(8006),s=t(1156),f=t(2050),p=t(9711),d=t(6677),h=!1,g=p("meta"),v=0,A=function(e){c(e,g,{value:{objectID:"O"+v++,weakData:{}}})},b=e.exports={enable:function(){b.enable=function(){},h=!0;var e=u.f,n=o([].splice),t={};t[g]=1,e(t).length&&(u.f=function(t){for(var r=e(t),o=0,i=r.length;o{var r,o,i,a=t(8536),l=t(7854),c=t(1702),u=t(111),s=t(8880),f=t(2597),p=t(5465),d=t(6200),h=t(3501),g="Object already initialized",v=l.TypeError,A=l.WeakMap;if(a||p.state){var b=p.state||(p.state=new A),m=c(b.get),y=c(b.has),E=c(b.set);r=function(e,n){if(y(b,e))throw new v(g);return n.facade=e,E(b,e,n),n},o=function(e){return m(b,e)||{}},i=function(e){return y(b,e)}}else{var _=d("state");h[_]=!0,r=function(e,n){if(f(e,_))throw new v(g);return n.facade=e,s(e,_,n),n},o=function(e){return f(e,_)?e[_]:{}},i=function(e){return f(e,_)}}e.exports={set:r,get:o,has:i,enforce:function(e){return i(e)?o(e):r(e,{})},getterFor:function(e){return function(n){var t;if(!u(n)||(t=o(n)).type!==e)throw v("Incompatible receiver, "+e+" required");return t}}}},7659:(e,n,t)=>{var r=t(5112),o=t(7497),i=r("iterator"),a=Array.prototype;e.exports=function(e){return void 0!==e&&(o.Array===e||a[i]===e)}},3157:(e,n,t)=>{var r=t(4326);e.exports=Array.isArray||function(e){return"Array"==r(e)}},614:e=>{e.exports=function(e){return"function"==typeof e}},4411:(e,n,t)=>{var r=t(1702),o=t(7293),i=t(614),a=t(648),l=t(5005),c=t(2788),u=function(){},s=[],f=l("Reflect","construct"),p=/^\s*(?:class|function)\b/,d=r(p.exec),h=!p.exec(u),g=function(e){if(!i(e))return!1;try{return f(u,s,e),!0}catch(e){return!1}};e.exports=!f||o((function(){var e;return g(g.call)||!g(Object)||!g((function(){e=!0}))||e}))?function(e){if(!i(e))return!1;switch(a(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}return h||!!d(p,c(e))}:g},4705:(e,n,t)=>{var r=t(7293),o=t(614),i=/#|\.prototype\./,a=function(e,n){var t=c[l(e)];return t==s||t!=u&&(o(n)?r(n):!!n)},l=a.normalize=function(e){return String(e).replace(i,".").toLowerCase()},c=a.data={},u=a.NATIVE="N",s=a.POLYFILL="P";e.exports=a},111:(e,n,t)=>{var r=t(614);e.exports=function(e){return"object"==typeof e?null!==e:r(e)}},1913:e=>{e.exports=!1},7850:(e,n,t)=>{var r=t(111),o=t(4326),i=t(5112)("match");e.exports=function(e){var n;return r(e)&&(void 0!==(n=e[i])?!!n:"RegExp"==o(e))}},2190:(e,n,t)=>{var r=t(7854),o=t(5005),i=t(614),a=t(7976),l=t(3307),c=r.Object;e.exports=l?function(e){return"symbol"==typeof e}:function(e){var n=o("Symbol");return i(n)&&a(n.prototype,c(e))}},408:(e,n,t)=>{var r=t(7854),o=t(9974),i=t(6916),a=t(9670),l=t(6330),c=t(7659),u=t(6244),s=t(7976),f=t(8554),p=t(1246),d=t(9212),h=r.TypeError,g=function(e,n){this.stopped=e,this.result=n},v=g.prototype;e.exports=function(e,n,t){var r,A,b,m,y,E,_,C=t&&t.that,w=!(!t||!t.AS_ENTRIES),x=!(!t||!t.IS_ITERATOR),k=!(!t||!t.INTERRUPTED),S=o(n,C),O=function(e){return r&&d(r,"normal",e),new g(!0,e)},B=function(e){return w?(a(e),k?S(e[0],e[1],O):S(e[0],e[1])):k?S(e,O):S(e)};if(x)r=e;else{if(!(A=p(e)))throw h(l(e)+" is not iterable");if(c(A)){for(b=0,m=u(e);m>b;b++)if((y=B(e[b]))&&s(v,y))return y;return new g(!1)}r=f(e,A)}for(E=r.next;!(_=i(E,r)).done;){try{y=B(_.value)}catch(e){d(r,"throw",e)}if("object"==typeof y&&y&&s(v,y))return y}return new g(!1)}},9212:(e,n,t)=>{var r=t(6916),o=t(9670),i=t(8173);e.exports=function(e,n,t){var a,l;o(e);try{if(!(a=i(e,"return"))){if("throw"===n)throw t;return t}a=r(a,e)}catch(e){l=!0,a=e}if("throw"===n)throw t;if(l)throw a;return o(a),t}},3383:(e,n,t)=>{"use strict";var r,o,i,a=t(7293),l=t(614),c=t(30),u=t(9518),s=t(1320),f=t(5112),p=t(1913),d=f("iterator"),h=!1;[].keys&&("next"in(i=[].keys())?(o=u(u(i)))!==Object.prototype&&(r=o):h=!0),null==r||a((function(){var e={};return r[d].call(e)!==e}))?r={}:p&&(r=c(r)),l(r[d])||s(r,d,(function(){return this})),e.exports={IteratorPrototype:r,BUGGY_SAFARI_ITERATORS:h}},7497:e=>{e.exports={}},6244:(e,n,t)=>{var r=t(7466);e.exports=function(e){return r(e.length)}},133:(e,n,t)=>{var r=t(7392),o=t(7293);e.exports=!!Object.getOwnPropertySymbols&&!o((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&r&&r<41}))},8536:(e,n,t)=>{var r=t(7854),o=t(614),i=t(2788),a=r.WeakMap;e.exports=o(a)&&/native code/.test(i(a))},3929:(e,n,t)=>{var r=t(7854),o=t(7850),i=r.TypeError;e.exports=function(e){if(o(e))throw i("The method doesn't accept regular expressions");return e}},1574:(e,n,t)=>{"use strict";var r=t(9781),o=t(1702),i=t(6916),a=t(7293),l=t(1956),c=t(5181),u=t(5296),s=t(7908),f=t(8361),p=Object.assign,d=Object.defineProperty,h=o([].concat);e.exports=!p||a((function(){if(r&&1!==p({b:1},p(d({},"a",{enumerable:!0,get:function(){d(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},n={},t=Symbol(),o="abcdefghijklmnopqrst";return e[t]=7,o.split("").forEach((function(e){n[e]=e})),7!=p({},e)[t]||l(p({},n)).join("")!=o}))?function(e,n){for(var t=s(e),o=arguments.length,a=1,p=c.f,d=u.f;o>a;)for(var g,v=f(arguments[a++]),A=p?h(l(v),p(v)):l(v),b=A.length,m=0;b>m;)g=A[m++],r&&!i(d,v,g)||(t[g]=v[g]);return t}:p},30:(e,n,t)=>{var r,o=t(9670),i=t(6048),a=t(748),l=t(3501),c=t(490),u=t(317),s=t(6200),f=s("IE_PROTO"),p=function(){},d=function(e){return" - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

AdvancedProperties

-
-
constructor(startTime: Instant? = null, freezeTime: Duration? = null, holdTime: Duration? = null, teamMediaTemplate: Map<TeamMediaType, MediaType?>? = null, teamOverrides: Map<String, TeamInfoOverride>? = null, groupOverrides: Map<String, GroupInfoOverride>? = null, problemOverrides: Map<String, ProblemInfoOverride>? = null, scoreboardOverrides: RankingSettings? = null)(source)

Parameters

startTime

Override for contest start time. The preferred format is yyyy-mm-dd hh:mm:ss, but some others would be accepted too. It also affects contest state if overridden.

freezeTime

Time from the start of the contest before scoreboard freezing.

holdTime

Fixed time to show as time before the contest start

teamMediaTemplate

Template medias for all teams. One can use {teamId} inside, it would be replaced with team id from contest system.

teamOverrides

Overrides for specific teams. Team id from the contest system is key.

groupOverrides

Overrides for specific groups. Group name is key.

problemOverrides

Overrides for specific problems. Problem letter is key.

scoreboardOverrides

Overrides of scoreboard calculation settings

-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.api/-advanced-properties/freeze-time.html b/docs/cds/cds/org.icpclive.api/-advanced-properties/freeze-time.html deleted file mode 100644 index d37f9aa08..000000000 --- a/docs/cds/cds/org.icpclive.api/-advanced-properties/freeze-time.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - freezeTime - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

freezeTime

-
-
@Serializable(with = DurationInSecondsSerializer::class)
val freezeTime: Duration? = null(source)

Parameters

freezeTime

Time from the start of the contest before scoreboard freezing.

-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.api/-advanced-properties/group-overrides.html b/docs/cds/cds/org.icpclive.api/-advanced-properties/group-overrides.html deleted file mode 100644 index 0fd4e6591..000000000 --- a/docs/cds/cds/org.icpclive.api/-advanced-properties/group-overrides.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - groupOverrides - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

groupOverrides

-
-

Parameters

groupOverrides

Overrides for specific groups. Group name is key.

-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.api/-advanced-properties/hold-time.html b/docs/cds/cds/org.icpclive.api/-advanced-properties/hold-time.html deleted file mode 100644 index 362a18cdc..000000000 --- a/docs/cds/cds/org.icpclive.api/-advanced-properties/hold-time.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - holdTime - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

holdTime

-
-
@Serializable(with = DurationInSecondsSerializer::class)
val holdTime: Duration? = null(source)

Parameters

holdTime

Fixed time to show as time before the contest start

-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.api/-advanced-properties/index.html b/docs/cds/cds/org.icpclive.api/-advanced-properties/index.html deleted file mode 100644 index e65b4b680..000000000 --- a/docs/cds/cds/org.icpclive.api/-advanced-properties/index.html +++ /dev/null @@ -1,220 +0,0 @@ - - - - - AdvancedProperties - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

AdvancedProperties

-
@Serializable
data class AdvancedProperties(val startTime: Instant? = null, val freezeTime: Duration? = null, val holdTime: Duration? = null, val teamMediaTemplate: Map<TeamMediaType, MediaType?>? = null, val teamOverrides: Map<String, TeamInfoOverride>? = null, val groupOverrides: Map<String, GroupInfoOverride>? = null, val problemOverrides: Map<String, ProblemInfoOverride>? = null, val scoreboardOverrides: RankingSettings? = null)(source)

This class represents possible overrides.

For most cases, all this information should be received from the contest system. Unfortunately, in the real world, it's not always possible, or information can be not fully correct on convenient to display.

This class contains the data to be fixed in what is received from a contest system.

Parameters

startTime

Override for contest start time. The preferred format is yyyy-mm-dd hh:mm:ss, but some others would be accepted too. It also affects contest state if overridden.

freezeTime

Time from the start of the contest before scoreboard freezing.

holdTime

Fixed time to show as time before the contest start

teamMediaTemplate

Template medias for all teams. One can use {teamId} inside, it would be replaced with team id from contest system.

teamOverrides

Overrides for specific teams. Team id from the contest system is key.

groupOverrides

Overrides for specific groups. Group name is key.

problemOverrides

Overrides for specific problems. Problem letter is key.

scoreboardOverrides

Overrides of scoreboard calculation settings

-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(startTime: Instant? = null, freezeTime: Duration? = null, holdTime: Duration? = null, teamMediaTemplate: Map<TeamMediaType, MediaType?>? = null, teamOverrides: Map<String, TeamInfoOverride>? = null, groupOverrides: Map<String, GroupInfoOverride>? = null, problemOverrides: Map<String, ProblemInfoOverride>? = null, scoreboardOverrides: RankingSettings? = null)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable(with = DurationInSecondsSerializer::class)
val freezeTime: Duration? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable(with = DurationInSecondsSerializer::class)
val holdTime: Duration? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
- -
-
- -
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable(with = HumanTimeSerializer::class)
val startTime: Instant? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.api/-advanced-properties/problem-overrides.html b/docs/cds/cds/org.icpclive.api/-advanced-properties/problem-overrides.html deleted file mode 100644 index 412c404cd..000000000 --- a/docs/cds/cds/org.icpclive.api/-advanced-properties/problem-overrides.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - problemOverrides - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

problemOverrides

-
-

Parameters

problemOverrides

Overrides for specific problems. Problem letter is key.

-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.api/-advanced-properties/scoreboard-overrides.html b/docs/cds/cds/org.icpclive.api/-advanced-properties/scoreboard-overrides.html deleted file mode 100644 index 11bad6817..000000000 --- a/docs/cds/cds/org.icpclive.api/-advanced-properties/scoreboard-overrides.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - scoreboardOverrides - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

scoreboardOverrides

-
-

Parameters

scoreboardOverrides

Overrides of scoreboard calculation settings

-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.api/-advanced-properties/start-time.html b/docs/cds/cds/org.icpclive.api/-advanced-properties/start-time.html deleted file mode 100644 index 437a03db0..000000000 --- a/docs/cds/cds/org.icpclive.api/-advanced-properties/start-time.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - startTime - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

startTime

-
-
@Serializable(with = HumanTimeSerializer::class)
val startTime: Instant? = null(source)

Parameters

startTime

Override for contest start time. The preferred format is yyyy-mm-dd hh:mm:ss, but some others would be accepted too. It also affects contest state if overridden.

-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.api/-advanced-properties/team-media-template.html b/docs/cds/cds/org.icpclive.api/-advanced-properties/team-media-template.html deleted file mode 100644 index a7f763a85..000000000 --- a/docs/cds/cds/org.icpclive.api/-advanced-properties/team-media-template.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - teamMediaTemplate - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

teamMediaTemplate

-
-

Parameters

teamMediaTemplate

Template medias for all teams. One can use {teamId} inside, it would be replaced with team id from contest system.

-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.api/-advanced-properties/team-overrides.html b/docs/cds/cds/org.icpclive.api/-advanced-properties/team-overrides.html deleted file mode 100644 index 74f989a7e..000000000 --- a/docs/cds/cds/org.icpclive.api/-advanced-properties/team-overrides.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - teamOverrides - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

teamOverrides

-
-

Parameters

teamOverrides

Overrides for specific teams. Team id from the contest system is key.

-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.api/-group-info-override/-group-info-override.html b/docs/cds/cds/org.icpclive.api/-group-info-override/-group-info-override.html deleted file mode 100644 index f5c66fb24..000000000 --- a/docs/cds/cds/org.icpclive.api/-group-info-override/-group-info-override.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - GroupInfoOverride - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

GroupInfoOverride

-
-
constructor(isHidden: Boolean? = null, isOutOfContest: Boolean? = null)(source)

Parameters

isHidden

Totally hide all teams from the group

isOutOfContest

Don't get rank in the scoreboard to all teams from the group

-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.api/-group-info-override/index.html b/docs/cds/cds/org.icpclive.api/-group-info-override/index.html deleted file mode 100644 index 083accb6b..000000000 --- a/docs/cds/cds/org.icpclive.api/-group-info-override/index.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - GroupInfoOverride - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

GroupInfoOverride

-
@Serializable
data class GroupInfoOverride(val isHidden: Boolean? = null, val isOutOfContest: Boolean? = null)(source)

Parameters

isHidden

Totally hide all teams from the group

isOutOfContest

Don't get rank in the scoreboard to all teams from the group

-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(isHidden: Boolean? = null, isOutOfContest: Boolean? = null)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
val isHidden: Boolean? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val isOutOfContest: Boolean? = null
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.api/-group-info-override/is-hidden.html b/docs/cds/cds/org.icpclive.api/-group-info-override/is-hidden.html deleted file mode 100644 index 5daf5e3a5..000000000 --- a/docs/cds/cds/org.icpclive.api/-group-info-override/is-hidden.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - isHidden - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

isHidden

-
-
val isHidden: Boolean? = null(source)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.api/-group-info-override/is-out-of-contest.html b/docs/cds/cds/org.icpclive.api/-group-info-override/is-out-of-contest.html deleted file mode 100644 index 202b8a4c6..000000000 --- a/docs/cds/cds/org.icpclive.api/-group-info-override/is-out-of-contest.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - isOutOfContest - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

isOutOfContest

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.api/-problem-info-override/-problem-info-override.html b/docs/cds/cds/org.icpclive.api/-problem-info-override/-problem-info-override.html deleted file mode 100644 index 3abfecfa3..000000000 --- a/docs/cds/cds/org.icpclive.api/-problem-info-override/-problem-info-override.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - ProblemInfoOverride - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ProblemInfoOverride

-
-
constructor(name: String? = null, color: Color? = null, minScore: Double? = null, maxScore: Double? = null, scoreMergeMode: ScoreMergeMode? = null)(source)

Parameters

name

Problem name.

color

Color of a problem balloon. It would be shown in queue and scoreboard in places related to the problem

minScore

In ioi mode minimal possible value of points in this problem

maxScore

In ioi mode maximal possible value of points in this problem

scoreMergeMode

In ioi mode, it determinate how final points for participant are calculated from points of many submissions.

-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.api/-problem-info-override/color.html b/docs/cds/cds/org.icpclive.api/-problem-info-override/color.html deleted file mode 100644 index 0694053ec..000000000 --- a/docs/cds/cds/org.icpclive.api/-problem-info-override/color.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - color - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

color

-
-
@Serializable(with = ColorSerializer::class)
val color: Color? = null(source)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.api/-problem-info-override/index.html b/docs/cds/cds/org.icpclive.api/-problem-info-override/index.html deleted file mode 100644 index 6438022ae..000000000 --- a/docs/cds/cds/org.icpclive.api/-problem-info-override/index.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - ProblemInfoOverride - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ProblemInfoOverride

-
@Serializable
data class ProblemInfoOverride(val name: String? = null, val color: Color? = null, val minScore: Double? = null, val maxScore: Double? = null, val scoreMergeMode: ScoreMergeMode? = null)(source)

Parameters

name

Problem name.

color

Color of a problem balloon. It would be shown in queue and scoreboard in places related to the problem

minScore

In ioi mode minimal possible value of points in this problem

maxScore

In ioi mode maximal possible value of points in this problem

scoreMergeMode

In ioi mode, it determinate how final points for participant are calculated from points of many submissions.

-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(name: String? = null, color: Color? = null, minScore: Double? = null, maxScore: Double? = null, scoreMergeMode: ScoreMergeMode? = null)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable(with = ColorSerializer::class)
val color: Color? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val maxScore: Double? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val minScore: Double? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val name: String? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.api/-problem-info-override/max-score.html b/docs/cds/cds/org.icpclive.api/-problem-info-override/max-score.html deleted file mode 100644 index 6322ef28d..000000000 --- a/docs/cds/cds/org.icpclive.api/-problem-info-override/max-score.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - maxScore - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

maxScore

-
-
val maxScore: Double? = null(source)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.api/-problem-info-override/min-score.html b/docs/cds/cds/org.icpclive.api/-problem-info-override/min-score.html deleted file mode 100644 index ede13e34a..000000000 --- a/docs/cds/cds/org.icpclive.api/-problem-info-override/min-score.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - minScore - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

minScore

-
-
val minScore: Double? = null(source)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.api/-problem-info-override/name.html b/docs/cds/cds/org.icpclive.api/-problem-info-override/name.html deleted file mode 100644 index c4ade29d6..000000000 --- a/docs/cds/cds/org.icpclive.api/-problem-info-override/name.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - name - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

name

-
-
val name: String? = null(source)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.api/-problem-info-override/score-merge-mode.html b/docs/cds/cds/org.icpclive.api/-problem-info-override/score-merge-mode.html deleted file mode 100644 index 6c66a0adc..000000000 --- a/docs/cds/cds/org.icpclive.api/-problem-info-override/score-merge-mode.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - scoreMergeMode - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

scoreMergeMode

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.api/-ranking-settings/-ranking-settings.html b/docs/cds/cds/org.icpclive.api/-ranking-settings/-ranking-settings.html deleted file mode 100644 index 3f3d3a022..000000000 --- a/docs/cds/cds/org.icpclive.api/-ranking-settings/-ranking-settings.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - RankingSettings - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

RankingSettings

-
-
constructor(medals: List<MedalType>? = null, penaltyPerWrongAttempt: Duration? = null, showTeamsWithoutSubmissions: Boolean? = null, penaltyRoundingMode: PenaltyRoundingMode? = null)(source)

Parameters

medals

List of awarded medals. They would be allocated in given order, according to rules specified in MedalType

penaltyPerWrongAttempt

How many penalty minutes should be added to a team for a wrong attempt

showTeamsWithoutSubmissions

If true, teams without submissions would be automatically hidden

penaltyRoundingMode

Specify rules of how total penalty is calculated based on many submissions

-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.api/-ranking-settings/index.html b/docs/cds/cds/org.icpclive.api/-ranking-settings/index.html deleted file mode 100644 index f4b7c9ba3..000000000 --- a/docs/cds/cds/org.icpclive.api/-ranking-settings/index.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - RankingSettings - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

RankingSettings

-
@Serializable
class RankingSettings(val medals: List<MedalType>? = null, val penaltyPerWrongAttempt: Duration? = null, val showTeamsWithoutSubmissions: Boolean? = null, val penaltyRoundingMode: PenaltyRoundingMode? = null)(source)

Parameters

medals

List of awarded medals. They would be allocated in given order, according to rules specified in MedalType

penaltyPerWrongAttempt

How many penalty minutes should be added to a team for a wrong attempt

showTeamsWithoutSubmissions

If true, teams without submissions would be automatically hidden

penaltyRoundingMode

Specify rules of how total penalty is calculated based on many submissions

-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(medals: List<MedalType>? = null, penaltyPerWrongAttempt: Duration? = null, showTeamsWithoutSubmissions: Boolean? = null, penaltyRoundingMode: PenaltyRoundingMode? = null)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
val medals: List<MedalType>? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable(with = DurationInMinutesSerializer::class)
val penaltyPerWrongAttempt: Duration? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
- -
-
- -
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.api/-ranking-settings/medals.html b/docs/cds/cds/org.icpclive.api/-ranking-settings/medals.html deleted file mode 100644 index cc460398e..000000000 --- a/docs/cds/cds/org.icpclive.api/-ranking-settings/medals.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - medals - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

medals

-
-
val medals: List<MedalType>? = null(source)

Parameters

medals

List of awarded medals. They would be allocated in given order, according to rules specified in MedalType

-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.api/-ranking-settings/penalty-per-wrong-attempt.html b/docs/cds/cds/org.icpclive.api/-ranking-settings/penalty-per-wrong-attempt.html deleted file mode 100644 index 571f23c1c..000000000 --- a/docs/cds/cds/org.icpclive.api/-ranking-settings/penalty-per-wrong-attempt.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - penaltyPerWrongAttempt - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

penaltyPerWrongAttempt

-
-
@Serializable(with = DurationInMinutesSerializer::class)
val penaltyPerWrongAttempt: Duration? = null(source)

Parameters

penaltyPerWrongAttempt

How many penalty minutes should be added to a team for a wrong attempt

-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.api/-ranking-settings/penalty-rounding-mode.html b/docs/cds/cds/org.icpclive.api/-ranking-settings/penalty-rounding-mode.html deleted file mode 100644 index 0b4c111b0..000000000 --- a/docs/cds/cds/org.icpclive.api/-ranking-settings/penalty-rounding-mode.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - penaltyRoundingMode - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

penaltyRoundingMode

-
-

Parameters

penaltyRoundingMode

Specify rules of how total penalty is calculated based on many submissions

-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.api/-ranking-settings/show-teams-without-submissions.html b/docs/cds/cds/org.icpclive.api/-ranking-settings/show-teams-without-submissions.html deleted file mode 100644 index 02bdb5fe6..000000000 --- a/docs/cds/cds/org.icpclive.api/-ranking-settings/show-teams-without-submissions.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - showTeamsWithoutSubmissions - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

showTeamsWithoutSubmissions

-
-

Parameters

showTeamsWithoutSubmissions

If true, teams without submissions would be automatically hidden

-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.api/-team-info-override/-team-info-override.html b/docs/cds/cds/org.icpclive.api/-team-info-override/-team-info-override.html deleted file mode 100644 index 64c2a3941..000000000 --- a/docs/cds/cds/org.icpclive.api/-team-info-override/-team-info-override.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - TeamInfoOverride - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

TeamInfoOverride

-
-
constructor(name: String? = null, shortname: String? = null, groups: List<String>? = null, hashTag: String? = null, medias: Map<TeamMediaType, MediaType?>? = null, additionalInfo: String? = null, isHidden: Boolean? = null, isOutOfContest: Boolean? = null)(source)

Parameters

name

Full name of the team. Will be mostly shown on admin pages.

shortname

Name of the team shown in most places.

groups

The list of the groups team belongs too.

hashTag

Team hashtag. Can be shown on some team related pages

medias

Map of urls to team related medias. E.g., team photo or some kind of video from workstation. If media is explicitly set to null, it would be removed if received from a contest system.

additionalInfo
isHidden

If set to true, team would be totaly hidden.

isOutOfContest

If set to true, team would not recieve rank in scoreboard, but it's submission would still be shown.

-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.api/-team-info-override/additional-info.html b/docs/cds/cds/org.icpclive.api/-team-info-override/additional-info.html deleted file mode 100644 index 67010c591..000000000 --- a/docs/cds/cds/org.icpclive.api/-team-info-override/additional-info.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - additionalInfo - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

additionalInfo

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.api/-team-info-override/groups.html b/docs/cds/cds/org.icpclive.api/-team-info-override/groups.html deleted file mode 100644 index 701e889ef..000000000 --- a/docs/cds/cds/org.icpclive.api/-team-info-override/groups.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - groups - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

groups

-
-
val groups: List<String>? = null(source)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.api/-team-info-override/hash-tag.html b/docs/cds/cds/org.icpclive.api/-team-info-override/hash-tag.html deleted file mode 100644 index 88661f26f..000000000 --- a/docs/cds/cds/org.icpclive.api/-team-info-override/hash-tag.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - hashTag - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

hashTag

-
-
val hashTag: String? = null(source)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.api/-team-info-override/index.html b/docs/cds/cds/org.icpclive.api/-team-info-override/index.html deleted file mode 100644 index db6d2bf01..000000000 --- a/docs/cds/cds/org.icpclive.api/-team-info-override/index.html +++ /dev/null @@ -1,220 +0,0 @@ - - - - - TeamInfoOverride - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

TeamInfoOverride

-
@Serializable
data class TeamInfoOverride(val name: String? = null, val shortname: String? = null, val groups: List<String>? = null, val hashTag: String? = null, val medias: Map<TeamMediaType, MediaType?>? = null, val additionalInfo: String? = null, val isHidden: Boolean? = null, val isOutOfContest: Boolean? = null)(source)

Parameters

name

Full name of the team. Will be mostly shown on admin pages.

shortname

Name of the team shown in most places.

groups

The list of the groups team belongs too.

hashTag

Team hashtag. Can be shown on some team related pages

medias

Map of urls to team related medias. E.g., team photo or some kind of video from workstation. If media is explicitly set to null, it would be removed if received from a contest system.

additionalInfo
isHidden

If set to true, team would be totaly hidden.

isOutOfContest

If set to true, team would not recieve rank in scoreboard, but it's submission would still be shown.

-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(name: String? = null, shortname: String? = null, groups: List<String>? = null, hashTag: String? = null, medias: Map<TeamMediaType, MediaType?>? = null, additionalInfo: String? = null, isHidden: Boolean? = null, isOutOfContest: Boolean? = null)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
val additionalInfo: String? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val groups: List<String>? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val hashTag: String? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val isHidden: Boolean? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val isOutOfContest: Boolean? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val name: String? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val shortname: String? = null
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.api/-team-info-override/is-hidden.html b/docs/cds/cds/org.icpclive.api/-team-info-override/is-hidden.html deleted file mode 100644 index 81f1619a4..000000000 --- a/docs/cds/cds/org.icpclive.api/-team-info-override/is-hidden.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - isHidden - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

isHidden

-
-
val isHidden: Boolean? = null(source)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.api/-team-info-override/is-out-of-contest.html b/docs/cds/cds/org.icpclive.api/-team-info-override/is-out-of-contest.html deleted file mode 100644 index 5c692f633..000000000 --- a/docs/cds/cds/org.icpclive.api/-team-info-override/is-out-of-contest.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - isOutOfContest - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

isOutOfContest

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.api/-team-info-override/medias.html b/docs/cds/cds/org.icpclive.api/-team-info-override/medias.html deleted file mode 100644 index 0ee6b8e8b..000000000 --- a/docs/cds/cds/org.icpclive.api/-team-info-override/medias.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - medias - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

medias

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.api/-team-info-override/name.html b/docs/cds/cds/org.icpclive.api/-team-info-override/name.html deleted file mode 100644 index a4ef90dd8..000000000 --- a/docs/cds/cds/org.icpclive.api/-team-info-override/name.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - name - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

name

-
-
val name: String? = null(source)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.api/-team-info-override/shortname.html b/docs/cds/cds/org.icpclive.api/-team-info-override/shortname.html deleted file mode 100644 index 5c5bc93cf..000000000 --- a/docs/cds/cds/org.icpclive.api/-team-info-override/shortname.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - shortname - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

shortname

-
-
val shortname: String? = null(source)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.api/to-advanced-properties.html b/docs/cds/cds/org.icpclive.api/to-advanced-properties.html deleted file mode 100644 index def19dbd2..000000000 --- a/docs/cds/cds/org.icpclive.api/to-advanced-properties.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - toAdvancedProperties - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

toAdvancedProperties

-
-

Converts values in ContestInfo to overrides in [AdvancedProperties

Parameters

fields

set of fields to include in returned value. Other would be set to null

-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-awards-event/-awards-event.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-awards-event/-awards-event.html deleted file mode 100644 index eff6365e1..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-awards-event/-awards-event.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - AwardsEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

AwardsEvent

-
-
constructor(id: String, op: Operation, data: Award)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-awards-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-awards-event/data.html deleted file mode 100644 index 44e6cde2f..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-awards-event/data.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - data - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

data

-
-
val data: Award
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-awards-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-awards-event/id.html deleted file mode 100644 index eb92c5fe8..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-awards-event/id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

id

-
-
open override val id: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-awards-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-awards-event/index.html deleted file mode 100644 index 8c23fe7e0..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-awards-event/index.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - AwardsEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

AwardsEvent

-
@Serializable
data class AwardsEvent(val id: String, val op: Operation, val data: Award) : Event.IgnoredEvent
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(id: String, op: Operation, data: Award)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
val data: Award
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val id: String
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val op: Operation
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-awards-event/op.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-awards-event/op.html deleted file mode 100644 index 7dd770b15..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-awards-event/op.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - op - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

op

-
-
open override val op: Operation
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-clarification-event/-clarification-event.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-clarification-event/-clarification-event.html deleted file mode 100644 index f4188d2bb..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-clarification-event/-clarification-event.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - ClarificationEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ClarificationEvent

-
-
constructor(id: String, op: Operation, data: Clarification)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-clarification-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-clarification-event/data.html deleted file mode 100644 index d7fbb4c5e..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-clarification-event/data.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - data - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

data

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-clarification-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-clarification-event/id.html deleted file mode 100644 index 0119959eb..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-clarification-event/id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

id

-
-
open override val id: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-clarification-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-clarification-event/index.html deleted file mode 100644 index 5c2cfd8c5..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-clarification-event/index.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - ClarificationEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ClarificationEvent

-
@Serializable
data class ClarificationEvent(val id: String, val op: Operation, val data: Clarification) : Event.IgnoredEvent
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(id: String, op: Operation, data: Clarification)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val id: String
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val op: Operation
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-clarification-event/op.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-clarification-event/op.html deleted file mode 100644 index 154520344..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-clarification-event/op.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - op - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

op

-
-
open override val op: Operation
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-commentary-event/-commentary-event.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-commentary-event/-commentary-event.html deleted file mode 100644 index 140518dfe..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-commentary-event/-commentary-event.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - CommentaryEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

CommentaryEvent

-
-
constructor(id: String, op: Operation, data: Commentary)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-commentary-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-commentary-event/data.html deleted file mode 100644 index 24a354c59..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-commentary-event/data.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - data - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

data

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-commentary-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-commentary-event/id.html deleted file mode 100644 index 155a15fb4..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-commentary-event/id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

id

-
-
open override val id: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-commentary-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-commentary-event/index.html deleted file mode 100644 index 3fe68e57c..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-commentary-event/index.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - CommentaryEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

CommentaryEvent

-
@Serializable
data class CommentaryEvent(val id: String, val op: Operation, val data: Commentary) : Event
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(id: String, op: Operation, data: Commentary)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val id: String
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val op: Operation
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-commentary-event/op.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-commentary-event/op.html deleted file mode 100644 index c176fccde..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-commentary-event/op.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - op - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

op

-
-
open override val op: Operation
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-contest-event/-contest-event.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-contest-event/-contest-event.html deleted file mode 100644 index 6b184f9be..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-contest-event/-contest-event.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - ContestEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ContestEvent

-
-
constructor(id: String, op: Operation, data: Contest)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-contest-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-contest-event/data.html deleted file mode 100644 index eef834150..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-contest-event/data.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - data - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

data

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-contest-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-contest-event/id.html deleted file mode 100644 index d039bdbd7..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-contest-event/id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

id

-
-
open override val id: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-contest-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-contest-event/index.html deleted file mode 100644 index 5879d9b7d..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-contest-event/index.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - ContestEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ContestEvent

-
@Serializable
data class ContestEvent(val id: String, val op: Operation, val data: Contest) : Event.UpdateContestEvent
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(id: String, op: Operation, data: Contest)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val id: String
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val op: Operation
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-contest-event/op.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-contest-event/op.html deleted file mode 100644 index 292a9d42b..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-contest-event/op.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - op - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

op

-
-
open override val op: Operation
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-groups-event/-groups-event.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-groups-event/-groups-event.html deleted file mode 100644 index d6be8928e..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-groups-event/-groups-event.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - GroupsEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

GroupsEvent

-
-
constructor(id: String, op: Operation, data: Group)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-groups-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-groups-event/data.html deleted file mode 100644 index e481980c9..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-groups-event/data.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - data - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

data

-
-
val data: Group
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-groups-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-groups-event/id.html deleted file mode 100644 index a503ffe62..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-groups-event/id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

id

-
-
open override val id: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-groups-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-groups-event/index.html deleted file mode 100644 index 152740286..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-groups-event/index.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - GroupsEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

GroupsEvent

-
@Serializable
data class GroupsEvent(val id: String, val op: Operation, val data: Group) : Event.UpdateContestEvent
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(id: String, op: Operation, data: Group)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
val data: Group
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val id: String
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val op: Operation
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-groups-event/op.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-groups-event/op.html deleted file mode 100644 index 75998780a..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-groups-event/op.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - op - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

op

-
-
open override val op: Operation
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-ignored-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-ignored-event/index.html deleted file mode 100644 index 7f7a08425..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-ignored-event/index.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - IgnoredEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

IgnoredEvent

- -
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract val id: String
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract val op: Operation
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-event/-judgement-event.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-event/-judgement-event.html deleted file mode 100644 index 0ddfed807..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-event/-judgement-event.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - JudgementEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

JudgementEvent

-
-
constructor(id: String, op: Operation, data: Judgement)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-event/data.html deleted file mode 100644 index cd8fb45a9..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-event/data.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - data - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

data

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-event/id.html deleted file mode 100644 index a043f2a38..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-event/id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

id

-
-
open override val id: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-event/index.html deleted file mode 100644 index a6e27ec57..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-event/index.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - JudgementEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

JudgementEvent

-
@Serializable
data class JudgementEvent(val id: String, val op: Operation, val data: Judgement) : Event.UpdateRunEvent
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(id: String, op: Operation, data: Judgement)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val id: String
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val op: Operation
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-event/op.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-event/op.html deleted file mode 100644 index 89aa865c1..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-event/op.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - op - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

op

-
-
open override val op: Operation
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-type-event/-judgement-type-event.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-type-event/-judgement-type-event.html deleted file mode 100644 index 376ceea2e..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-type-event/-judgement-type-event.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - JudgementTypeEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

JudgementTypeEvent

-
-
constructor(id: String, op: Operation, data: JudgementType)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-type-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-type-event/data.html deleted file mode 100644 index aa7f166da..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-type-event/data.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - data - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

data

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-type-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-type-event/id.html deleted file mode 100644 index 17fdea195..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-type-event/id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

id

-
-
open override val id: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-type-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-type-event/index.html deleted file mode 100644 index 01b7e2411..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-type-event/index.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - JudgementTypeEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

JudgementTypeEvent

-
@Serializable
data class JudgementTypeEvent(val id: String, val op: Operation, val data: JudgementType) : Event.UpdateContestEvent
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(id: String, op: Operation, data: JudgementType)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val id: String
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val op: Operation
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-type-event/op.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-type-event/op.html deleted file mode 100644 index c400e266b..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-judgement-type-event/op.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - op - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

op

-
-
open override val op: Operation
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-language-event/-language-event.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-language-event/-language-event.html deleted file mode 100644 index 20d88a36f..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-language-event/-language-event.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - LanguageEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

LanguageEvent

-
-
constructor(id: String, op: Operation, data: Language)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-language-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-language-event/data.html deleted file mode 100644 index 8a34a2071..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-language-event/data.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - data - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

data

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-language-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-language-event/id.html deleted file mode 100644 index 109d0ec8d..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-language-event/id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

id

-
-
open override val id: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-language-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-language-event/index.html deleted file mode 100644 index f7af3edba..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-language-event/index.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - LanguageEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

LanguageEvent

-
@Serializable
data class LanguageEvent(val id: String, val op: Operation, val data: Language) : Event.IgnoredEvent
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(id: String, op: Operation, data: Language)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val id: String
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val op: Operation
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-language-event/op.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-language-event/op.html deleted file mode 100644 index 672173cdf..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-language-event/op.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - op - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

op

-
-
open override val op: Operation
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-organization-event/-organization-event.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-organization-event/-organization-event.html deleted file mode 100644 index 3c94e578d..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-organization-event/-organization-event.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - OrganizationEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

OrganizationEvent

-
-
constructor(id: String, op: Operation, data: Organization)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-organization-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-organization-event/data.html deleted file mode 100644 index e43d8ad50..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-organization-event/data.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - data - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

data

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-organization-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-organization-event/id.html deleted file mode 100644 index c0348e5ca..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-organization-event/id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

id

-
-
open override val id: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-organization-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-organization-event/index.html deleted file mode 100644 index e15525783..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-organization-event/index.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - OrganizationEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

OrganizationEvent

-
@Serializable
data class OrganizationEvent(val id: String, val op: Operation, val data: Organization) : Event.UpdateContestEvent
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(id: String, op: Operation, data: Organization)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val id: String
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val op: Operation
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-organization-event/op.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-organization-event/op.html deleted file mode 100644 index 4bfb58614..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-organization-event/op.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - op - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

op

-
-
open override val op: Operation
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-preload-finished-event/-preload-finished-event.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-preload-finished-event/-preload-finished-event.html deleted file mode 100644 index 7a9133a57..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-preload-finished-event/-preload-finished-event.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - PreloadFinishedEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

PreloadFinishedEvent

-
-
constructor(id: String, op: Operation)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-preload-finished-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-preload-finished-event/id.html deleted file mode 100644 index bb560e1af..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-preload-finished-event/id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

id

-
-
open override val id: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-preload-finished-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-preload-finished-event/index.html deleted file mode 100644 index 5fb418c59..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-preload-finished-event/index.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - PreloadFinishedEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

PreloadFinishedEvent

- -
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(id: String, op: Operation)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val id: String
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val op: Operation
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-preload-finished-event/op.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-preload-finished-event/op.html deleted file mode 100644 index a68c35987..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-preload-finished-event/op.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - op - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

op

-
-
open override val op: Operation
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-problem-event/-problem-event.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-problem-event/-problem-event.html deleted file mode 100644 index d070d3536..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-problem-event/-problem-event.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - ProblemEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ProblemEvent

-
-
constructor(id: String, op: Operation, data: Problem)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-problem-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-problem-event/data.html deleted file mode 100644 index afb173eee..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-problem-event/data.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - data - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

data

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-problem-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-problem-event/id.html deleted file mode 100644 index f0dac88bf..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-problem-event/id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

id

-
-
open override val id: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-problem-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-problem-event/index.html deleted file mode 100644 index 9772377bf..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-problem-event/index.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - ProblemEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ProblemEvent

-
@Serializable
data class ProblemEvent(val id: String, val op: Operation, val data: Problem) : Event.UpdateContestEvent
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(id: String, op: Operation, data: Problem)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val id: String
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val op: Operation
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-problem-event/op.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-problem-event/op.html deleted file mode 100644 index 105121072..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-problem-event/op.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - op - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

op

-
-
open override val op: Operation
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-runs-event/-runs-event.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-runs-event/-runs-event.html deleted file mode 100644 index 4396d9d7c..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-runs-event/-runs-event.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - RunsEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

RunsEvent

-
-
constructor(id: String, op: Operation, data: Run)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-runs-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-runs-event/data.html deleted file mode 100644 index 22660c880..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-runs-event/data.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - data - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

data

-
-
val data: Run
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-runs-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-runs-event/id.html deleted file mode 100644 index 944e61d49..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-runs-event/id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

id

-
-
open override val id: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-runs-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-runs-event/index.html deleted file mode 100644 index 1e3c437b5..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-runs-event/index.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - RunsEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

RunsEvent

-
@Serializable
data class RunsEvent(val id: String, val op: Operation, val data: Run) : Event.UpdateRunEvent
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(id: String, op: Operation, data: Run)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
val data: Run
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val id: String
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val op: Operation
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-runs-event/op.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-runs-event/op.html deleted file mode 100644 index 1dfe73571..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-runs-event/op.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - op - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

op

-
-
open override val op: Operation
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-state-event/-state-event.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-state-event/-state-event.html deleted file mode 100644 index 279c831bb..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-state-event/-state-event.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - StateEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

StateEvent

-
-
constructor(id: String, op: Operation, data: State)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-state-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-state-event/data.html deleted file mode 100644 index cd1217dd5..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-state-event/data.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - data - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

data

-
-
val data: State
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-state-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-state-event/id.html deleted file mode 100644 index f0f3cb0c6..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-state-event/id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

id

-
-
open override val id: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-state-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-state-event/index.html deleted file mode 100644 index abf2a11e2..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-state-event/index.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - StateEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

StateEvent

-
@Serializable
data class StateEvent(val id: String, val op: Operation, val data: State) : Event.UpdateContestEvent
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(id: String, op: Operation, data: State)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
val data: State
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val id: String
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val op: Operation
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-state-event/op.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-state-event/op.html deleted file mode 100644 index 0c8d67f94..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-state-event/op.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - op - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

op

-
-
open override val op: Operation
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-submission-event/-submission-event.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-submission-event/-submission-event.html deleted file mode 100644 index e6e89f4ee..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-submission-event/-submission-event.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - SubmissionEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

SubmissionEvent

-
-
constructor(id: String, op: Operation, data: Submission)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-submission-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-submission-event/data.html deleted file mode 100644 index f40158765..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-submission-event/data.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - data - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

data

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-submission-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-submission-event/id.html deleted file mode 100644 index 1290114aa..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-submission-event/id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

id

-
-
open override val id: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-submission-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-submission-event/index.html deleted file mode 100644 index 9c228205d..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-submission-event/index.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - SubmissionEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

SubmissionEvent

-
@Serializable
data class SubmissionEvent(val id: String, val op: Operation, val data: Submission) : Event.UpdateRunEvent
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(id: String, op: Operation, data: Submission)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val id: String
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val op: Operation
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-submission-event/op.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-submission-event/op.html deleted file mode 100644 index 7823c148b..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-submission-event/op.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - op - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

op

-
-
open override val op: Operation
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-team-event/-team-event.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-team-event/-team-event.html deleted file mode 100644 index 672bb2c79..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-team-event/-team-event.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - TeamEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

TeamEvent

-
-
constructor(id: String, op: Operation, data: Team)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-team-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-team-event/data.html deleted file mode 100644 index 403aafb30..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-team-event/data.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - data - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

data

-
-
val data: Team
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-team-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-team-event/id.html deleted file mode 100644 index 362eeef5d..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-team-event/id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

id

-
-
open override val id: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-team-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-team-event/index.html deleted file mode 100644 index de0d01d43..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-team-event/index.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - TeamEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

TeamEvent

-
@Serializable
data class TeamEvent(val id: String, val op: Operation, val data: Team) : Event.UpdateContestEvent
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(id: String, op: Operation, data: Team)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
val data: Team
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val id: String
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val op: Operation
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-team-event/op.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-team-event/op.html deleted file mode 100644 index 78cbf97b9..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-team-event/op.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - op - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

op

-
-
open override val op: Operation
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-update-contest-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-update-contest-event/index.html deleted file mode 100644 index 449288f84..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-update-contest-event/index.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - UpdateContestEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- - -
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract val id: String
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract val op: Operation
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-update-run-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-update-run-event/index.html deleted file mode 100644 index 3a3ca2419..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/-update-run-event/index.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - UpdateRunEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

UpdateRunEvent

-
@Serializable
sealed class UpdateRunEvent : Event

Inheritors

-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract val id: String
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract val op: Operation
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/id.html deleted file mode 100644 index 97fd334be..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

id

-
-
abstract val id: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/index.html deleted file mode 100644 index 596deb7e5..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/index.html +++ /dev/null @@ -1,385 +0,0 @@ - - - - - Event - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Event

- -
-
-
-
-
-

Types

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class AwardsEvent(val id: String, val op: Operation, val data: Award) : Event.IgnoredEvent
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class ClarificationEvent(val id: String, val op: Operation, val data: Clarification) : Event.IgnoredEvent
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class CommentaryEvent(val id: String, val op: Operation, val data: Commentary) : Event
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class ContestEvent(val id: String, val op: Operation, val data: Contest) : Event.UpdateContestEvent
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class GroupsEvent(val id: String, val op: Operation, val data: Group) : Event.UpdateContestEvent
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
sealed class IgnoredEvent : Event
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class JudgementEvent(val id: String, val op: Operation, val data: Judgement) : Event.UpdateRunEvent
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class JudgementTypeEvent(val id: String, val op: Operation, val data: JudgementType) : Event.UpdateContestEvent
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class LanguageEvent(val id: String, val op: Operation, val data: Language) : Event.IgnoredEvent
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class OrganizationEvent(val id: String, val op: Operation, val data: Organization) : Event.UpdateContestEvent
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class ProblemEvent(val id: String, val op: Operation, val data: Problem) : Event.UpdateContestEvent
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class RunsEvent(val id: String, val op: Operation, val data: Run) : Event.UpdateRunEvent
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class StateEvent(val id: String, val op: Operation, val data: State) : Event.UpdateContestEvent
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class SubmissionEvent(val id: String, val op: Operation, val data: Submission) : Event.UpdateRunEvent
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class TeamEvent(val id: String, val op: Operation, val data: Team) : Event.UpdateContestEvent
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
sealed class UpdateContestEvent : Event
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
sealed class UpdateRunEvent : Event
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract val id: String
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract val op: Operation
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/op.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/op.html deleted file mode 100644 index a085afac6..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/-event/op.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - op - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

op

-
-
abstract val op: Operation
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api.v1/index.html b/docs/cds/cds/org.icpclive.cds.clics.api.v1/index.html deleted file mode 100644 index 2e14f5e89..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api.v1/index.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - org.icpclive.cds.clics.api.v1 - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Package-level declarations

-
-
-
-
-
-

Types

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
sealed class Event
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-account/-account.html b/docs/cds/cds/org.icpclive.cds.clics.api/-account/-account.html deleted file mode 100644 index ad005ff10..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-account/-account.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - Account - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Account

-
-
constructor(id: String, username: String, password: String?, type: Account.TYPE?, ip: String?, team_id: String?, person_id: String?)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-account/-t-y-p-e/-a-d-m-i-n/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-account/-t-y-p-e/-a-d-m-i-n/index.html deleted file mode 100644 index ce637bbd5..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-account/-t-y-p-e/-a-d-m-i-n/index.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - ADMIN - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ADMIN

- -
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-account/-t-y-p-e/-a-n-a-l-y-s-t/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-account/-t-y-p-e/-a-n-a-l-y-s-t/index.html deleted file mode 100644 index fd3e7fb50..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-account/-t-y-p-e/-a-n-a-l-y-s-t/index.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - ANALYST - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ANALYST

- -
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-account/-t-y-p-e/-j-u-d-g-e/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-account/-t-y-p-e/-j-u-d-g-e/index.html deleted file mode 100644 index 380f9121e..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-account/-t-y-p-e/-j-u-d-g-e/index.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - JUDGE - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

JUDGE

- -
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-account/-t-y-p-e/-s-t-a-f-f/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-account/-t-y-p-e/-s-t-a-f-f/index.html deleted file mode 100644 index 93c809326..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-account/-t-y-p-e/-s-t-a-f-f/index.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - STAFF - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

STAFF

- -
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-account/-t-y-p-e/-t-e-a-m/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-account/-t-y-p-e/-t-e-a-m/index.html deleted file mode 100644 index 758a679df..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-account/-t-y-p-e/-t-e-a-m/index.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - TEAM - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

TEAM

- -
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-account/-t-y-p-e/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-account/-t-y-p-e/index.html deleted file mode 100644 index f0e1862bf..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-account/-t-y-p-e/index.html +++ /dev/null @@ -1,224 +0,0 @@ - - - - - TYPE - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

TYPE

-
@Serializable
enum TYPE : Enum<Account.TYPE>
-
-
-
-
-
-

Entries

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-

Returns an array containing the constants of this enum type, in the order they're declared.

-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-account/-t-y-p-e/value-of.html b/docs/cds/cds/org.icpclive.cds.clics.api/-account/-t-y-p-e/value-of.html deleted file mode 100644 index e357d18ab..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-account/-t-y-p-e/value-of.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - valueOf - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

valueOf

-
-

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Throws

if this enum type has no constant with the specified name

-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-account/-t-y-p-e/values.html b/docs/cds/cds/org.icpclive.cds.clics.api/-account/-t-y-p-e/values.html deleted file mode 100644 index 9a7ed4c71..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-account/-t-y-p-e/values.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - values - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

values

-
-

Returns an array containing the constants of this enum type, in the order they're declared.

This method may be used to iterate over the constants.

-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-account/id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-account/id.html deleted file mode 100644 index 9752163da..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-account/id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

id

-
-
val id: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-account/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-account/index.html deleted file mode 100644 index f956f998a..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-account/index.html +++ /dev/null @@ -1,224 +0,0 @@ - - - - - Account - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Account

-
@Serializable
data class Account(val id: String, val username: String, val password: String?, val type: Account.TYPE?, val ip: String?, val team_id: String?, val person_id: String?)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(id: String, username: String, password: String?, type: Account.TYPE?, ip: String?, team_id: String?, person_id: String?)
-
-
-
-
-
-
-
-

Types

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
enum TYPE : Enum<Account.TYPE>
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
val id: String
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val ip: String?
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-account/ip.html b/docs/cds/cds/org.icpclive.cds.clics.api/-account/ip.html deleted file mode 100644 index 819a027a5..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-account/ip.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - ip - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ip

-
-
val ip: String?
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-account/password.html b/docs/cds/cds/org.icpclive.cds.clics.api/-account/password.html deleted file mode 100644 index 16b19ce0b..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-account/password.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - password - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

password

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-account/person_id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-account/person_id.html deleted file mode 100644 index 0cc1815ed..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-account/person_id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - person_id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

person_id

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-account/team_id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-account/team_id.html deleted file mode 100644 index af52b26ed..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-account/team_id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - team_id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

team_id

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-account/type.html b/docs/cds/cds/org.icpclive.cds.clics.api/-account/type.html deleted file mode 100644 index 118bdb3aa..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-account/type.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - type - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

type

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-account/username.html b/docs/cds/cds/org.icpclive.cds.clics.api/-account/username.html deleted file mode 100644 index 3c2b8af27..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-account/username.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - username - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

username

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-award/-award.html b/docs/cds/cds/org.icpclive.cds.clics.api/-award/-award.html deleted file mode 100644 index cff84fa87..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-award/-award.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - Award - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Award

-
-
constructor(id: String)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-award/id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-award/id.html deleted file mode 100644 index 1e388e488..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-award/id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

id

-
-
val id: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-award/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-award/index.html deleted file mode 100644 index 0abb11986..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-award/index.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - Award - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Award

-
@Serializable
data class Award(val id: String)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(id: String)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
val id: String
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-clarification/-clarification.html b/docs/cds/cds/org.icpclive.cds.clics.api/-clarification/-clarification.html deleted file mode 100644 index 43a9875f8..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-clarification/-clarification.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - Clarification - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Clarification

-
-
constructor(id: String)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-clarification/id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-clarification/id.html deleted file mode 100644 index 32f609465..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-clarification/id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

id

-
-
val id: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-clarification/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-clarification/index.html deleted file mode 100644 index 6c89ea760..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-clarification/index.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - Clarification - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Clarification

-
@Serializable
data class Clarification(val id: String)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(id: String)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
val id: String
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-commentary/-commentary.html b/docs/cds/cds/org.icpclive.cds.clics.api/-commentary/-commentary.html deleted file mode 100644 index b88ddbd6d..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-commentary/-commentary.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - Commentary - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Commentary

-
-
constructor(id: String, time: Instant, contest_time: Duration, message: String, team_ids: List<String>?, problem_ids: List<String>?, submission_ids: List<String>?)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-commentary/contest_time.html b/docs/cds/cds/org.icpclive.cds.clics.api/-commentary/contest_time.html deleted file mode 100644 index 4c67f92ee..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-commentary/contest_time.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - contest_time - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

contest_time

-
-
@Serializable(with = ClicsTime.DurationSerializer::class)
val contest_time: Duration
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-commentary/id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-commentary/id.html deleted file mode 100644 index c7e5dd9e4..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-commentary/id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

id

-
-
val id: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-commentary/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-commentary/index.html deleted file mode 100644 index f6c976e56..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-commentary/index.html +++ /dev/null @@ -1,205 +0,0 @@ - - - - - Commentary - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Commentary

-
@Serializable
data class Commentary(val id: String, val time: Instant, val contest_time: Duration, val message: String, val team_ids: List<String>?, val problem_ids: List<String>?, val submission_ids: List<String>?)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(id: String, time: Instant, contest_time: Duration, message: String, team_ids: List<String>?, problem_ids: List<String>?, submission_ids: List<String>?)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable(with = ClicsTime.DurationSerializer::class)
val contest_time: Duration
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val id: String
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable(with = ClicsTime.InstantSerializer::class)
val time: Instant
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-commentary/message.html b/docs/cds/cds/org.icpclive.cds.clics.api/-commentary/message.html deleted file mode 100644 index 1724ae764..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-commentary/message.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - message - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

message

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-commentary/problem_ids.html b/docs/cds/cds/org.icpclive.cds.clics.api/-commentary/problem_ids.html deleted file mode 100644 index 1c893cccc..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-commentary/problem_ids.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - problem_ids - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

problem_ids

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-commentary/submission_ids.html b/docs/cds/cds/org.icpclive.cds.clics.api/-commentary/submission_ids.html deleted file mode 100644 index ba8ff130a..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-commentary/submission_ids.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - submission_ids - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

submission_ids

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-commentary/team_ids.html b/docs/cds/cds/org.icpclive.cds.clics.api/-commentary/team_ids.html deleted file mode 100644 index 1661262e7..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-commentary/team_ids.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - team_ids - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

team_ids

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-commentary/time.html b/docs/cds/cds/org.icpclive.cds.clics.api/-commentary/time.html deleted file mode 100644 index b0b4bd822..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-commentary/time.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - time - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

time

-
-
@Serializable(with = ClicsTime.InstantSerializer::class)
val time: Instant
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-contest/-contest.html b/docs/cds/cds/org.icpclive.cds.clics.api/-contest/-contest.html deleted file mode 100644 index d62388b2e..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-contest/-contest.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - Contest - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Contest

-
-
constructor(id: String, start_time: Instant? = null, name: String? = null, formal_name: String? = null, duration: Duration, scoreboard_freeze_duration: Duration?, countdown_pause_time: Duration? = null, penalty_time: Duration? = null, scoreboard_type: String? = null)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-contest/countdown_pause_time.html b/docs/cds/cds/org.icpclive.cds.clics.api/-contest/countdown_pause_time.html deleted file mode 100644 index 87875bf51..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-contest/countdown_pause_time.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - countdown_pause_time - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

countdown_pause_time

-
-
@Serializable(with = ClicsTime.DurationSerializer::class)
val countdown_pause_time: Duration? = null
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-contest/duration.html b/docs/cds/cds/org.icpclive.cds.clics.api/-contest/duration.html deleted file mode 100644 index d46d54560..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-contest/duration.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - duration - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

duration

-
-
@Serializable(with = ClicsTime.DurationSerializer::class)
val duration: Duration
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-contest/formal_name.html b/docs/cds/cds/org.icpclive.cds.clics.api/-contest/formal_name.html deleted file mode 100644 index 40c097e81..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-contest/formal_name.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - formal_name - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

formal_name

-
-
val formal_name: String? = null
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-contest/id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-contest/id.html deleted file mode 100644 index 07d9b137c..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-contest/id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

id

-
-
val id: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-contest/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-contest/index.html deleted file mode 100644 index d100d4378..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-contest/index.html +++ /dev/null @@ -1,235 +0,0 @@ - - - - - Contest - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Contest

-
@Serializable
data class Contest(val id: String, val start_time: Instant? = null, val name: String? = null, val formal_name: String? = null, val duration: Duration, val scoreboard_freeze_duration: Duration?, val countdown_pause_time: Duration? = null, val penalty_time: Duration? = null, val scoreboard_type: String? = null)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(id: String, start_time: Instant? = null, name: String? = null, formal_name: String? = null, duration: Duration, scoreboard_freeze_duration: Duration?, countdown_pause_time: Duration? = null, penalty_time: Duration? = null, scoreboard_type: String? = null)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable(with = ClicsTime.DurationSerializer::class)
val countdown_pause_time: Duration? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable(with = ClicsTime.DurationSerializer::class)
val duration: Duration
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val formal_name: String? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val id: String
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val name: String? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable(with = DurationInMinutesSerializer::class)
val penalty_time: Duration? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable(with = ClicsTime.DurationSerializer::class)
val scoreboard_freeze_duration: Duration?
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val scoreboard_type: String? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable(with = ClicsTime.InstantSerializer::class)
val start_time: Instant? = null
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-contest/name.html b/docs/cds/cds/org.icpclive.cds.clics.api/-contest/name.html deleted file mode 100644 index 3be6956bc..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-contest/name.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - name - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

name

-
-
val name: String? = null
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-contest/penalty_time.html b/docs/cds/cds/org.icpclive.cds.clics.api/-contest/penalty_time.html deleted file mode 100644 index e6cc12f6c..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-contest/penalty_time.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - penalty_time - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

penalty_time

-
-
@Serializable(with = DurationInMinutesSerializer::class)
val penalty_time: Duration? = null
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-contest/scoreboard_freeze_duration.html b/docs/cds/cds/org.icpclive.cds.clics.api/-contest/scoreboard_freeze_duration.html deleted file mode 100644 index 64fca1f08..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-contest/scoreboard_freeze_duration.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - scoreboard_freeze_duration - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

scoreboard_freeze_duration

-
-
@Serializable(with = ClicsTime.DurationSerializer::class)
val scoreboard_freeze_duration: Duration?
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-contest/scoreboard_type.html b/docs/cds/cds/org.icpclive.cds.clics.api/-contest/scoreboard_type.html deleted file mode 100644 index 9fa7c7ca9..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-contest/scoreboard_type.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - scoreboard_type - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

scoreboard_type

-
-
val scoreboard_type: String? = null
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-contest/start_time.html b/docs/cds/cds/org.icpclive.cds.clics.api/-contest/start_time.html deleted file mode 100644 index c729d771d..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-contest/start_time.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - start_time - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

start_time

-
-
@Serializable(with = ClicsTime.InstantSerializer::class)
val start_time: Instant? = null
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-account-event/-account-event.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-account-event/-account-event.html deleted file mode 100644 index cfd35196e..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-account-event/-account-event.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - AccountEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

AccountEvent

-
-
constructor(id: String, token: String, data: Account?)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-account-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-account-event/data.html deleted file mode 100644 index cf5be09bf..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-account-event/data.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - data - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

data

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-account-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-account-event/id.html deleted file mode 100644 index 69d089bc4..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-account-event/id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

id

-
-
val id: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-account-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-account-event/index.html deleted file mode 100644 index d1a8244ff..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-account-event/index.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - AccountEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

AccountEvent

-
@Serializable
data class AccountEvent(val id: String, val token: String, val data: Account?) : Event.IgnoredEvent
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(id: String, token: String, data: Account?)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val id: String
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val token: String
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-account-event/token.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-account-event/token.html deleted file mode 100644 index 70ac59dc9..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-account-event/token.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - token - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

token

-
-
open override val token: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-awards-event/-awards-event.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-awards-event/-awards-event.html deleted file mode 100644 index 0b8df9d59..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-awards-event/-awards-event.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - AwardsEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

AwardsEvent

-
-
constructor(id: String, token: String, data: Award?)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-awards-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-awards-event/data.html deleted file mode 100644 index 47cd58ecd..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-awards-event/data.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - data - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

data

-
-
val data: Award?
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-awards-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-awards-event/id.html deleted file mode 100644 index 1cf18058f..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-awards-event/id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

id

-
-
val id: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-awards-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-awards-event/index.html deleted file mode 100644 index 29af77aa2..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-awards-event/index.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - AwardsEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

AwardsEvent

-
@Serializable
data class AwardsEvent(val id: String, val token: String, val data: Award?) : Event.IgnoredEvent
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(id: String, token: String, data: Award?)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
val data: Award?
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val id: String
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val token: String
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-awards-event/token.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-awards-event/token.html deleted file mode 100644 index 1b1a2e42c..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-awards-event/token.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - token - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

token

-
-
open override val token: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-clarification-event/-clarification-event.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-clarification-event/-clarification-event.html deleted file mode 100644 index 6d7f2eebd..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-clarification-event/-clarification-event.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - ClarificationEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ClarificationEvent

-
-
constructor(id: String, token: String, data: Clarification?)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-clarification-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-clarification-event/data.html deleted file mode 100644 index 2ae6d4a28..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-clarification-event/data.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - data - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

data

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-clarification-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-clarification-event/id.html deleted file mode 100644 index ce20469f0..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-clarification-event/id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

id

-
-
val id: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-clarification-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-clarification-event/index.html deleted file mode 100644 index d8d2c9da4..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-clarification-event/index.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - ClarificationEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ClarificationEvent

-
@Serializable
data class ClarificationEvent(val id: String, val token: String, val data: Clarification?) : Event.IgnoredEvent
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(id: String, token: String, data: Clarification?)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val id: String
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val token: String
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-clarification-event/token.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-clarification-event/token.html deleted file mode 100644 index 9647b296a..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-clarification-event/token.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - token - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

token

-
-
open override val token: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-commentary-event/-commentary-event.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-commentary-event/-commentary-event.html deleted file mode 100644 index 9dd42ea6a..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-commentary-event/-commentary-event.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - CommentaryEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

CommentaryEvent

-
-
constructor(id: String, token: String, data: Commentary?)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-commentary-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-commentary-event/data.html deleted file mode 100644 index 58a461631..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-commentary-event/data.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - data - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

data

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-commentary-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-commentary-event/id.html deleted file mode 100644 index 833b7b72d..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-commentary-event/id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

id

-
-
val id: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-commentary-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-commentary-event/index.html deleted file mode 100644 index 5fb54a3d3..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-commentary-event/index.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - CommentaryEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

CommentaryEvent

-
@Serializable
data class CommentaryEvent(val id: String, val token: String, val data: Commentary?) : Event
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(id: String, token: String, data: Commentary?)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val id: String
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val token: String
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-commentary-event/token.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-commentary-event/token.html deleted file mode 100644 index b4ec64f90..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-commentary-event/token.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - token - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

token

-
-
open override val token: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-companion/from-v1.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-companion/from-v1.html deleted file mode 100644 index eaa2a65d2..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-companion/from-v1.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - fromV1 - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

fromV1

-
-
fun fromV1(event: Event): Event
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-companion/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-companion/index.html deleted file mode 100644 index f4362cf70..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-companion/index.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - - Companion - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Companion

-
object Companion
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
fun fromV1(event: Event): Event
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event-named-non-with-spec/-contest-event-named-non-with-spec.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event-named-non-with-spec/-contest-event-named-non-with-spec.html deleted file mode 100644 index ebb6456f3..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event-named-non-with-spec/-contest-event-named-non-with-spec.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - ContestEventNamedNonWithSpec - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ContestEventNamedNonWithSpec

-
-
constructor(token: String, data: Contest?)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event-named-non-with-spec/data.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event-named-non-with-spec/data.html deleted file mode 100644 index a28dc76fb..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event-named-non-with-spec/data.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - data - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

data

-
-
open override val data: Contest?
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event-named-non-with-spec/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event-named-non-with-spec/index.html deleted file mode 100644 index 622e22256..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event-named-non-with-spec/index.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - ContestEventNamedNonWithSpec - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ContestEventNamedNonWithSpec

-
@Serializable
data class ContestEventNamedNonWithSpec(val token: String, val data: Contest?) : Event.ContestEvent
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(token: String, data: Contest?)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val data: Contest?
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val token: String
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event-named-non-with-spec/token.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event-named-non-with-spec/token.html deleted file mode 100644 index 416b02f03..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event-named-non-with-spec/token.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - token - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

token

-
-
open override val token: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event-named-with-spec/-contest-event-named-with-spec.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event-named-with-spec/-contest-event-named-with-spec.html deleted file mode 100644 index 5388e8db4..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event-named-with-spec/-contest-event-named-with-spec.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - ContestEventNamedWithSpec - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ContestEventNamedWithSpec

-
-
constructor(token: String, data: Contest?)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event-named-with-spec/data.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event-named-with-spec/data.html deleted file mode 100644 index cb3d65917..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event-named-with-spec/data.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - data - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

data

-
-
open override val data: Contest?
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event-named-with-spec/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event-named-with-spec/index.html deleted file mode 100644 index 87fe74892..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event-named-with-spec/index.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - ContestEventNamedWithSpec - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ContestEventNamedWithSpec

-
@Serializable
data class ContestEventNamedWithSpec(val token: String, val data: Contest?) : Event.ContestEvent
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(token: String, data: Contest?)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val data: Contest?
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val token: String
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event-named-with-spec/token.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event-named-with-spec/token.html deleted file mode 100644 index d4c7f321e..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event-named-with-spec/token.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - token - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

token

-
-
open override val token: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event/data.html deleted file mode 100644 index e40617e00..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event/data.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - data - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

data

-
-
abstract val data: Contest?
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event/index.html deleted file mode 100644 index 5532b8e2a..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-contest-event/index.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - ContestEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- - -
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract val data: Contest?
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract val token: String
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-groups-event/-groups-event.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-groups-event/-groups-event.html deleted file mode 100644 index 247838107..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-groups-event/-groups-event.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - GroupsEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

GroupsEvent

-
-
constructor(id: String, token: String, data: Group?)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-groups-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-groups-event/data.html deleted file mode 100644 index ac6b89c9e..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-groups-event/data.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - data - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

data

-
-
val data: Group?
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-groups-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-groups-event/id.html deleted file mode 100644 index 6a0605568..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-groups-event/id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

id

-
-
val id: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-groups-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-groups-event/index.html deleted file mode 100644 index 307667890..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-groups-event/index.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - GroupsEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

GroupsEvent

-
@Serializable
data class GroupsEvent(val id: String, val token: String, val data: Group?) : Event.UpdateContestEvent
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(id: String, token: String, data: Group?)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
val data: Group?
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val id: String
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val token: String
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-groups-event/token.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-groups-event/token.html deleted file mode 100644 index d31409c33..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-groups-event/token.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - token - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

token

-
-
open override val token: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-ignored-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-ignored-event/index.html deleted file mode 100644 index dadb57ecc..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-ignored-event/index.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - - IgnoredEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- - -
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract val token: String
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-event/-judgement-event.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-event/-judgement-event.html deleted file mode 100644 index 8dfd71025..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-event/-judgement-event.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - JudgementEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

JudgementEvent

-
-
constructor(id: String, token: String, data: Judgement?)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-event/data.html deleted file mode 100644 index 07b85d698..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-event/data.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - data - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

data

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-event/id.html deleted file mode 100644 index 8515e11b5..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-event/id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

id

-
-
val id: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-event/index.html deleted file mode 100644 index 08d1d31bc..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-event/index.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - JudgementEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

JudgementEvent

-
@Serializable
data class JudgementEvent(val id: String, val token: String, val data: Judgement?) : Event.UpdateRunEvent
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(id: String, token: String, data: Judgement?)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val id: String
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val token: String
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-event/token.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-event/token.html deleted file mode 100644 index 5cc760898..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-event/token.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - token - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

token

-
-
open override val token: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-type-event/-judgement-type-event.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-type-event/-judgement-type-event.html deleted file mode 100644 index 5296cefe2..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-type-event/-judgement-type-event.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - JudgementTypeEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

JudgementTypeEvent

-
-
constructor(id: String, token: String, data: JudgementType?)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-type-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-type-event/data.html deleted file mode 100644 index a05908423..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-type-event/data.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - data - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

data

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-type-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-type-event/id.html deleted file mode 100644 index 39078308e..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-type-event/id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

id

-
-
val id: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-type-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-type-event/index.html deleted file mode 100644 index 19fffe938..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-type-event/index.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - JudgementTypeEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

JudgementTypeEvent

-
@Serializable
data class JudgementTypeEvent(val id: String, val token: String, val data: JudgementType?) : Event.UpdateContestEvent
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(id: String, token: String, data: JudgementType?)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val id: String
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val token: String
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-type-event/token.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-type-event/token.html deleted file mode 100644 index 24f8a7464..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-judgement-type-event/token.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - token - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

token

-
-
open override val token: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-language-event/-language-event.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-language-event/-language-event.html deleted file mode 100644 index e83d8c07b..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-language-event/-language-event.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - LanguageEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

LanguageEvent

-
-
constructor(id: String, token: String, data: Language?)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-language-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-language-event/data.html deleted file mode 100644 index 48598f5b3..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-language-event/data.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - data - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

data

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-language-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-language-event/id.html deleted file mode 100644 index c5c36ceb4..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-language-event/id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

id

-
-
val id: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-language-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-language-event/index.html deleted file mode 100644 index 16b7db3a2..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-language-event/index.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - LanguageEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

LanguageEvent

-
@Serializable
data class LanguageEvent(val id: String, val token: String, val data: Language?) : Event.IgnoredEvent
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(id: String, token: String, data: Language?)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val id: String
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val token: String
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-language-event/token.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-language-event/token.html deleted file mode 100644 index 7d1d2f1d4..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-language-event/token.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - token - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

token

-
-
open override val token: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-map-event/-map-event.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-map-event/-map-event.html deleted file mode 100644 index bbd188a6c..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-map-event/-map-event.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - MapEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

MapEvent

-
-
constructor(token: String)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-map-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-map-event/index.html deleted file mode 100644 index 2ca42df7e..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-map-event/index.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - MapEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

MapEvent

-
@Serializable
data class MapEvent(val token: String) : Event.IgnoredEvent
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(token: String)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val token: String
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-map-event/token.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-map-event/token.html deleted file mode 100644 index dc5879d8b..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-map-event/token.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - token - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

token

-
-
open override val token: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-organization-event/-organization-event.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-organization-event/-organization-event.html deleted file mode 100644 index 2b5802d22..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-organization-event/-organization-event.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - OrganizationEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

OrganizationEvent

-
-
constructor(id: String, token: String, data: Organization?)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-organization-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-organization-event/data.html deleted file mode 100644 index 05dd478bd..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-organization-event/data.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - data - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

data

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-organization-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-organization-event/id.html deleted file mode 100644 index 9d2db6ca1..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-organization-event/id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

id

-
-
val id: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-organization-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-organization-event/index.html deleted file mode 100644 index 8a850d3f1..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-organization-event/index.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - OrganizationEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

OrganizationEvent

-
@Serializable
data class OrganizationEvent(val id: String, val token: String, val data: Organization?) : Event.UpdateContestEvent
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(id: String, token: String, data: Organization?)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val id: String
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val token: String
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-organization-event/token.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-organization-event/token.html deleted file mode 100644 index cbcfc22e6..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-organization-event/token.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - token - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

token

-
-
open override val token: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-person-event/-person-event.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-person-event/-person-event.html deleted file mode 100644 index 60e32d785..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-person-event/-person-event.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - PersonEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

PersonEvent

-
-
constructor(id: String, token: String)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-person-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-person-event/id.html deleted file mode 100644 index 825254d6d..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-person-event/id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

id

-
-
val id: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-person-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-person-event/index.html deleted file mode 100644 index b58748644..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-person-event/index.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - PersonEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

PersonEvent

-
@Serializable
data class PersonEvent(val id: String, val token: String) : Event.IgnoredEvent
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(id: String, token: String)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
val id: String
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val token: String
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-person-event/token.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-person-event/token.html deleted file mode 100644 index f75560ea7..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-person-event/token.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - token - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

token

-
-
open override val token: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-preload-finished-event/-preload-finished-event.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-preload-finished-event/-preload-finished-event.html deleted file mode 100644 index adeb35d4f..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-preload-finished-event/-preload-finished-event.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - PreloadFinishedEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

PreloadFinishedEvent

-
-
constructor(token: String)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-preload-finished-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-preload-finished-event/index.html deleted file mode 100644 index f548ca27d..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-preload-finished-event/index.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - PreloadFinishedEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

PreloadFinishedEvent

- -
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(token: String)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val token: String
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-preload-finished-event/token.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-preload-finished-event/token.html deleted file mode 100644 index 96a0f84c9..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-preload-finished-event/token.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - token - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

token

-
-
open override val token: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-problem-event/-problem-event.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-problem-event/-problem-event.html deleted file mode 100644 index 78547826d..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-problem-event/-problem-event.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - ProblemEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ProblemEvent

-
-
constructor(id: String, token: String, data: Problem?)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-problem-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-problem-event/data.html deleted file mode 100644 index b0961229b..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-problem-event/data.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - data - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

data

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-problem-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-problem-event/id.html deleted file mode 100644 index 497c3a68a..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-problem-event/id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

id

-
-
val id: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-problem-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-problem-event/index.html deleted file mode 100644 index 25a529770..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-problem-event/index.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - ProblemEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ProblemEvent

-
@Serializable
data class ProblemEvent(val id: String, val token: String, val data: Problem?) : Event.UpdateContestEvent
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(id: String, token: String, data: Problem?)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val id: String
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val token: String
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-problem-event/token.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-problem-event/token.html deleted file mode 100644 index 28b9287b0..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-problem-event/token.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - token - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

token

-
-
open override val token: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-runs-event/-runs-event.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-runs-event/-runs-event.html deleted file mode 100644 index 83bb69dd3..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-runs-event/-runs-event.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - RunsEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

RunsEvent

-
-
constructor(id: String, token: String, data: Run?)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-runs-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-runs-event/data.html deleted file mode 100644 index a7f99013e..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-runs-event/data.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - data - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

data

-
-
val data: Run?
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-runs-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-runs-event/id.html deleted file mode 100644 index 92bc76c74..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-runs-event/id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

id

-
-
val id: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-runs-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-runs-event/index.html deleted file mode 100644 index efdea1f36..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-runs-event/index.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - RunsEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

RunsEvent

-
@Serializable
data class RunsEvent(val id: String, val token: String, val data: Run?) : Event.UpdateRunEvent
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(id: String, token: String, data: Run?)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
val data: Run?
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val id: String
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val token: String
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-runs-event/token.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-runs-event/token.html deleted file mode 100644 index ad4acdb4f..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-runs-event/token.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - token - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

token

-
-
open override val token: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-start-status-event/-start-status-event.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-start-status-event/-start-status-event.html deleted file mode 100644 index f499ba8d5..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-start-status-event/-start-status-event.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - StartStatusEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

StartStatusEvent

-
-
constructor(token: String)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-start-status-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-start-status-event/index.html deleted file mode 100644 index 177614311..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-start-status-event/index.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - StartStatusEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

StartStatusEvent

-
@Serializable
data class StartStatusEvent(val token: String) : Event.IgnoredEvent
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(token: String)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val token: String
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-start-status-event/token.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-start-status-event/token.html deleted file mode 100644 index dcf52af31..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-start-status-event/token.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - token - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

token

-
-
open override val token: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-state-event/-state-event.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-state-event/-state-event.html deleted file mode 100644 index 64b493374..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-state-event/-state-event.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - StateEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

StateEvent

-
-
constructor(token: String, data: State?)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-state-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-state-event/data.html deleted file mode 100644 index f0d8ecaf5..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-state-event/data.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - data - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

data

-
-
val data: State?
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-state-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-state-event/index.html deleted file mode 100644 index 94d433547..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-state-event/index.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - StateEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

StateEvent

-
@Serializable
data class StateEvent(val token: String, val data: State?) : Event.UpdateContestEvent
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(token: String, data: State?)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
val data: State?
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val token: String
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-state-event/token.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-state-event/token.html deleted file mode 100644 index 3f37ad9ef..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-state-event/token.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - token - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

token

-
-
open override val token: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-submission-event/-submission-event.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-submission-event/-submission-event.html deleted file mode 100644 index c60b4ddde..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-submission-event/-submission-event.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - SubmissionEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

SubmissionEvent

-
-
constructor(id: String, token: String, data: Submission?)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-submission-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-submission-event/data.html deleted file mode 100644 index 1c098b91f..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-submission-event/data.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - data - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

data

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-submission-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-submission-event/id.html deleted file mode 100644 index e170ddf55..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-submission-event/id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

id

-
-
val id: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-submission-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-submission-event/index.html deleted file mode 100644 index b4d66c8ab..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-submission-event/index.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - SubmissionEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

SubmissionEvent

-
@Serializable
data class SubmissionEvent(val id: String, val token: String, val data: Submission?) : Event.UpdateRunEvent
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(id: String, token: String, data: Submission?)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val id: String
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val token: String
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-submission-event/token.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-submission-event/token.html deleted file mode 100644 index 3ac82d8b1..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-submission-event/token.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - token - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

token

-
-
open override val token: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-team-event/-team-event.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-team-event/-team-event.html deleted file mode 100644 index fc833500d..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-team-event/-team-event.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - TeamEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

TeamEvent

-
-
constructor(id: String, token: String, data: Team?)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-team-event/data.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-team-event/data.html deleted file mode 100644 index 44cf34893..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-team-event/data.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - data - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

data

-
-
val data: Team?
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-team-event/id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-team-event/id.html deleted file mode 100644 index b2496d7ef..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-team-event/id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

id

-
-
val id: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-team-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-team-event/index.html deleted file mode 100644 index ca517fd5c..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-team-event/index.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - TeamEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

TeamEvent

-
@Serializable
data class TeamEvent(val id: String, val token: String, val data: Team?) : Event.UpdateContestEvent
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(id: String, token: String, data: Team?)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
val data: Team?
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val id: String
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val token: String
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-team-event/token.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-team-event/token.html deleted file mode 100644 index b17599756..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-team-event/token.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - token - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

token

-
-
open override val token: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-update-contest-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-update-contest-event/index.html deleted file mode 100644 index 4e161a0d1..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-update-contest-event/index.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - - UpdateContestEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- - -
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract val token: String
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-update-run-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/-update-run-event/index.html deleted file mode 100644 index 21a1258d7..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/-update-run-event/index.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - - UpdateRunEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

UpdateRunEvent

-
@Serializable
sealed class UpdateRunEvent : Event

Inheritors

-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract val token: String
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/index.html deleted file mode 100644 index 07fe18fdb..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/index.html +++ /dev/null @@ -1,475 +0,0 @@ - - - - - Event - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Event

- -
-
-
-
-
-

Types

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class AccountEvent(val id: String, val token: String, val data: Account?) : Event.IgnoredEvent
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class AwardsEvent(val id: String, val token: String, val data: Award?) : Event.IgnoredEvent
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class ClarificationEvent(val id: String, val token: String, val data: Clarification?) : Event.IgnoredEvent
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class CommentaryEvent(val id: String, val token: String, val data: Commentary?) : Event
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
object Companion
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class ContestEventNamedNonWithSpec(val token: String, val data: Contest?) : Event.ContestEvent
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class ContestEventNamedWithSpec(val token: String, val data: Contest?) : Event.ContestEvent
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class GroupsEvent(val id: String, val token: String, val data: Group?) : Event.UpdateContestEvent
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
sealed class IgnoredEvent : Event
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class JudgementEvent(val id: String, val token: String, val data: Judgement?) : Event.UpdateRunEvent
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class JudgementTypeEvent(val id: String, val token: String, val data: JudgementType?) : Event.UpdateContestEvent
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class LanguageEvent(val id: String, val token: String, val data: Language?) : Event.IgnoredEvent
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class MapEvent(val token: String) : Event.IgnoredEvent
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class OrganizationEvent(val id: String, val token: String, val data: Organization?) : Event.UpdateContestEvent
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class PersonEvent(val id: String, val token: String) : Event.IgnoredEvent
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class ProblemEvent(val id: String, val token: String, val data: Problem?) : Event.UpdateContestEvent
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class RunsEvent(val id: String, val token: String, val data: Run?) : Event.UpdateRunEvent
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class StartStatusEvent(val token: String) : Event.IgnoredEvent
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class StateEvent(val token: String, val data: State?) : Event.UpdateContestEvent
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class SubmissionEvent(val id: String, val token: String, val data: Submission?) : Event.UpdateRunEvent
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class TeamEvent(val id: String, val token: String, val data: Team?) : Event.UpdateContestEvent
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
sealed class UpdateContestEvent : Event
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
sealed class UpdateRunEvent : Event
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract val token: String
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-event/token.html b/docs/cds/cds/org.icpclive.cds.clics.api/-event/token.html deleted file mode 100644 index 3f3e66936..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-event/token.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - token - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

token

-
-
abstract val token: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-group/-group.html b/docs/cds/cds/org.icpclive.cds.clics.api/-group/-group.html deleted file mode 100644 index bdb90e2c9..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-group/-group.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - Group - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Group

-
-
constructor(id: String, icpcId: String? = null, name: String = "", type: String? = null)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-group/icpc-id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-group/icpc-id.html deleted file mode 100644 index 5119a293c..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-group/icpc-id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - icpcId - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

icpcId

-
-
val icpcId: String? = null
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-group/id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-group/id.html deleted file mode 100644 index 2532c65a3..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-group/id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

id

-
-
val id: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-group/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-group/index.html deleted file mode 100644 index 034230cb5..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-group/index.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - Group - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Group

-
@Serializable
data class Group(val id: String, val icpcId: String? = null, val name: String = "", val type: String? = null)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(id: String, icpcId: String? = null, name: String = "", type: String? = null)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
val icpcId: String? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val id: String
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val type: String? = null
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-group/name.html b/docs/cds/cds/org.icpclive.cds.clics.api/-group/name.html deleted file mode 100644 index 220fa9f06..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-group/name.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - name - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

name

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-group/type.html b/docs/cds/cds/org.icpclive.cds.clics.api/-group/type.html deleted file mode 100644 index af95c2a62..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-group/type.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - type - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

type

-
-
val type: String? = null
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-judgement-type/-judgement-type.html b/docs/cds/cds/org.icpclive.cds.clics.api/-judgement-type/-judgement-type.html deleted file mode 100644 index 7d3a9825f..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-judgement-type/-judgement-type.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - JudgementType - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

JudgementType

-
-
constructor(id: String, name: String, solved: Boolean = false, penalty: Boolean = false)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-judgement-type/id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-judgement-type/id.html deleted file mode 100644 index 875e11bd3..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-judgement-type/id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

id

-
-
val id: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-judgement-type/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-judgement-type/index.html deleted file mode 100644 index dbce450a8..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-judgement-type/index.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - JudgementType - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

JudgementType

-
@Serializable
data class JudgementType(val id: String, val name: String, val solved: Boolean = false, val penalty: Boolean = false)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(id: String, name: String, solved: Boolean = false, penalty: Boolean = false)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
val id: String
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val penalty: Boolean = false
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val solved: Boolean = false
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-judgement-type/name.html b/docs/cds/cds/org.icpclive.cds.clics.api/-judgement-type/name.html deleted file mode 100644 index 8f3d2bb27..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-judgement-type/name.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - name - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

name

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-judgement-type/penalty.html b/docs/cds/cds/org.icpclive.cds.clics.api/-judgement-type/penalty.html deleted file mode 100644 index f311bb2b8..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-judgement-type/penalty.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - penalty - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

penalty

-
-
val penalty: Boolean = false
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-judgement-type/solved.html b/docs/cds/cds/org.icpclive.cds.clics.api/-judgement-type/solved.html deleted file mode 100644 index 7c8b942b0..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-judgement-type/solved.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - solved - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

solved

-
-
val solved: Boolean = false
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-judgement/-judgement.html b/docs/cds/cds/org.icpclive.cds.clics.api/-judgement/-judgement.html deleted file mode 100644 index 47ae767ab..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-judgement/-judgement.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - Judgement - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Judgement

-
-
constructor(id: String, submission_id: String, judgement_type_id: String?, start_time: Instant, start_contest_time: Duration, end_time: Instant?, end_contest_time: Duration?)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-judgement/end_contest_time.html b/docs/cds/cds/org.icpclive.cds.clics.api/-judgement/end_contest_time.html deleted file mode 100644 index 01613ca41..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-judgement/end_contest_time.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - end_contest_time - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

end_contest_time

-
-
@Serializable(with = ClicsTime.DurationSerializer::class)
val end_contest_time: Duration?
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-judgement/end_time.html b/docs/cds/cds/org.icpclive.cds.clics.api/-judgement/end_time.html deleted file mode 100644 index 49d4a065c..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-judgement/end_time.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - end_time - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

end_time

-
-
@Serializable(with = ClicsTime.InstantSerializer::class)
val end_time: Instant?
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-judgement/id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-judgement/id.html deleted file mode 100644 index 1e0c38790..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-judgement/id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

id

-
-
val id: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-judgement/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-judgement/index.html deleted file mode 100644 index 6c2f56a5d..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-judgement/index.html +++ /dev/null @@ -1,205 +0,0 @@ - - - - - Judgement - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Judgement

-
@Serializable
data class Judgement(val id: String, val submission_id: String, val judgement_type_id: String?, val start_time: Instant, val start_contest_time: Duration, val end_time: Instant?, val end_contest_time: Duration?)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(id: String, submission_id: String, judgement_type_id: String?, start_time: Instant, start_contest_time: Duration, end_time: Instant?, end_contest_time: Duration?)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable(with = ClicsTime.DurationSerializer::class)
val end_contest_time: Duration?
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable(with = ClicsTime.InstantSerializer::class)
val end_time: Instant?
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val id: String
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable(with = ClicsTime.DurationSerializer::class)
val start_contest_time: Duration
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable(with = ClicsTime.InstantSerializer::class)
val start_time: Instant
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-judgement/judgement_type_id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-judgement/judgement_type_id.html deleted file mode 100644 index d358459c3..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-judgement/judgement_type_id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - judgement_type_id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

judgement_type_id

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-judgement/start_contest_time.html b/docs/cds/cds/org.icpclive.cds.clics.api/-judgement/start_contest_time.html deleted file mode 100644 index 844d0f1e0..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-judgement/start_contest_time.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - start_contest_time - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

start_contest_time

-
-
@Serializable(with = ClicsTime.DurationSerializer::class)
val start_contest_time: Duration
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-judgement/start_time.html b/docs/cds/cds/org.icpclive.cds.clics.api/-judgement/start_time.html deleted file mode 100644 index 5d58b9cbe..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-judgement/start_time.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - start_time - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

start_time

-
-
@Serializable(with = ClicsTime.InstantSerializer::class)
val start_time: Instant
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-judgement/submission_id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-judgement/submission_id.html deleted file mode 100644 index 11e065654..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-judgement/submission_id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - submission_id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

submission_id

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-language/-language.html b/docs/cds/cds/org.icpclive.cds.clics.api/-language/-language.html deleted file mode 100644 index 685be39a7..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-language/-language.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - Language - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Language

-
-
constructor(id: String, name: String? = null, entry_point_required: Boolean? = null, extensions: List<String>? = null)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-language/entry_point_required.html b/docs/cds/cds/org.icpclive.cds.clics.api/-language/entry_point_required.html deleted file mode 100644 index cbca856ad..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-language/entry_point_required.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - entry_point_required - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

entry_point_required

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-language/extensions.html b/docs/cds/cds/org.icpclive.cds.clics.api/-language/extensions.html deleted file mode 100644 index cd917d848..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-language/extensions.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - extensions - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

extensions

-
-
val extensions: List<String>? = null
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-language/id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-language/id.html deleted file mode 100644 index 648f64f27..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-language/id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

id

-
-
val id: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-language/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-language/index.html deleted file mode 100644 index 88b4b731b..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-language/index.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - Language - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Language

-
@Serializable
data class Language(val id: String, val name: String? = null, val entry_point_required: Boolean? = null, val extensions: List<String>? = null)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(id: String, name: String? = null, entry_point_required: Boolean? = null, extensions: List<String>? = null)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val extensions: List<String>? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val id: String
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val name: String? = null
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-language/name.html b/docs/cds/cds/org.icpclive.cds.clics.api/-language/name.html deleted file mode 100644 index 851025b4b..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-language/name.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - name - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

name

-
-
val name: String? = null
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-media/-media.html b/docs/cds/cds/org.icpclive.cds.clics.api/-media/-media.html deleted file mode 100644 index 762fe775e..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-media/-media.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - Media - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Media

-
-
constructor(mime: String, href: String)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-media/href.html b/docs/cds/cds/org.icpclive.cds.clics.api/-media/href.html deleted file mode 100644 index 68e23a311..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-media/href.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - href - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

href

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-media/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-media/index.html deleted file mode 100644 index ed532be3f..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-media/index.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - Media - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Media

-
@Serializable
data class Media(val mime: String, val href: String)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(mime: String, href: String)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-media/mime.html b/docs/cds/cds/org.icpclive.cds.clics.api/-media/mime.html deleted file mode 100644 index da7cc32b8..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-media/mime.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - mime - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

mime

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-operation/-c-r-e-a-t-e/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-operation/-c-r-e-a-t-e/index.html deleted file mode 100644 index c8003b0b4..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-operation/-c-r-e-a-t-e/index.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - CREATE - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

CREATE

- -
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-operation/-d-e-l-e-t-e/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-operation/-d-e-l-e-t-e/index.html deleted file mode 100644 index 483c6bb42..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-operation/-d-e-l-e-t-e/index.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - DELETE - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

DELETE

- -
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-operation/-u-p-d-a-t-e/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-operation/-u-p-d-a-t-e/index.html deleted file mode 100644 index 7b83b66d5..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-operation/-u-p-d-a-t-e/index.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - UPDATE - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

UPDATE

- -
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-operation/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-operation/index.html deleted file mode 100644 index 7b10db1b1..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-operation/index.html +++ /dev/null @@ -1,194 +0,0 @@ - - - - - Operation - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Operation

-
@Serializable
enum Operation : Enum<Operation>
-
-
-
-
-
-

Entries

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
fun valueOf(value: String): Operation

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-

Returns an array containing the constants of this enum type, in the order they're declared.

-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-operation/value-of.html b/docs/cds/cds/org.icpclive.cds.clics.api/-operation/value-of.html deleted file mode 100644 index de33d2691..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-operation/value-of.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - valueOf - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

valueOf

-
-
fun valueOf(value: String): Operation

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Throws

if this enum type has no constant with the specified name

-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-operation/values.html b/docs/cds/cds/org.icpclive.cds.clics.api/-operation/values.html deleted file mode 100644 index a1b56e5e7..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-operation/values.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - values - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

values

-
-

Returns an array containing the constants of this enum type, in the order they're declared.

This method may be used to iterate over the constants.

-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-organization/-organization.html b/docs/cds/cds/org.icpclive.cds.clics.api/-organization/-organization.html deleted file mode 100644 index f46c706cb..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-organization/-organization.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - Organization - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Organization

-
-
constructor(id: String, name: String = "", formal_name: String? = null, logo: List<Media> = emptyList(), twitter_hashtag: String? = null)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-organization/formal_name.html b/docs/cds/cds/org.icpclive.cds.clics.api/-organization/formal_name.html deleted file mode 100644 index e2146f9bb..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-organization/formal_name.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - formal_name - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

formal_name

-
-
val formal_name: String? = null
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-organization/id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-organization/id.html deleted file mode 100644 index e03439f82..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-organization/id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

id

-
-
val id: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-organization/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-organization/index.html deleted file mode 100644 index b041a7c42..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-organization/index.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - Organization - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Organization

-
@Serializable
data class Organization(val id: String, val name: String = "", val formal_name: String? = null, val logo: List<Media> = emptyList(), val twitter_hashtag: String? = null)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(id: String, name: String = "", formal_name: String? = null, logo: List<Media> = emptyList(), twitter_hashtag: String? = null)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
val formal_name: String? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val id: String
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val twitter_hashtag: String? = null
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-organization/logo.html b/docs/cds/cds/org.icpclive.cds.clics.api/-organization/logo.html deleted file mode 100644 index 9801450da..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-organization/logo.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - logo - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

logo

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-organization/name.html b/docs/cds/cds/org.icpclive.cds.clics.api/-organization/name.html deleted file mode 100644 index 44542f1de..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-organization/name.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - name - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

name

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-organization/twitter_hashtag.html b/docs/cds/cds/org.icpclive.cds.clics.api/-organization/twitter_hashtag.html deleted file mode 100644 index 260c4893d..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-organization/twitter_hashtag.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - twitter_hashtag - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

twitter_hashtag

-
-
val twitter_hashtag: String? = null
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-problem/-problem.html b/docs/cds/cds/org.icpclive.cds.clics.api/-problem/-problem.html deleted file mode 100644 index 4f01ea9c4..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-problem/-problem.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - Problem - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Problem

-
-
constructor(id: String, ordinal: Int = 0, label: String = "", name: String = "", rgb: Color? = null, test_data_count: Int? = null)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-problem/id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-problem/id.html deleted file mode 100644 index 38960016c..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-problem/id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

id

-
-
val id: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-problem/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-problem/index.html deleted file mode 100644 index 9b6fa9638..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-problem/index.html +++ /dev/null @@ -1,190 +0,0 @@ - - - - - Problem - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Problem

-
@Serializable
data class Problem(val id: String, val ordinal: Int = 0, val label: String = "", val name: String = "", val rgb: Color? = null, val test_data_count: Int? = null)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(id: String, ordinal: Int = 0, label: String = "", name: String = "", rgb: Color? = null, test_data_count: Int? = null)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
val id: String
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val ordinal: Int = 0
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable(with = ColorSerializer::class)
val rgb: Color? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val test_data_count: Int? = null
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-problem/label.html b/docs/cds/cds/org.icpclive.cds.clics.api/-problem/label.html deleted file mode 100644 index f26b11609..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-problem/label.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - label - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

label

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-problem/name.html b/docs/cds/cds/org.icpclive.cds.clics.api/-problem/name.html deleted file mode 100644 index 2593c625f..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-problem/name.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - name - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

name

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-problem/ordinal.html b/docs/cds/cds/org.icpclive.cds.clics.api/-problem/ordinal.html deleted file mode 100644 index ef764e604..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-problem/ordinal.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - ordinal - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ordinal

-
-
val ordinal: Int = 0
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-problem/rgb.html b/docs/cds/cds/org.icpclive.cds.clics.api/-problem/rgb.html deleted file mode 100644 index 17e55984e..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-problem/rgb.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - rgb - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

rgb

-
-
@Serializable(with = ColorSerializer::class)
val rgb: Color? = null
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-problem/test_data_count.html b/docs/cds/cds/org.icpclive.cds.clics.api/-problem/test_data_count.html deleted file mode 100644 index 9a709af9e..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-problem/test_data_count.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - test_data_count - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

test_data_count

-
-
val test_data_count: Int? = null
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-run/-run.html b/docs/cds/cds/org.icpclive.cds.clics.api/-run/-run.html deleted file mode 100644 index 89215afb9..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-run/-run.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - Run - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Run

-
-
constructor(id: String, judgement_id: String, ordinal: Int, judgement_type_id: String, contest_time: Duration)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-run/contest_time.html b/docs/cds/cds/org.icpclive.cds.clics.api/-run/contest_time.html deleted file mode 100644 index daabdef6b..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-run/contest_time.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - contest_time - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

contest_time

-
-
@Serializable(with = ClicsTime.DurationSerializer::class)
val contest_time: Duration
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-run/id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-run/id.html deleted file mode 100644 index c9dc5f566..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-run/id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

id

-
-
val id: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-run/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-run/index.html deleted file mode 100644 index d40176db0..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-run/index.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - Run - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Run

-
@Serializable
data class Run(val id: String, val judgement_id: String, val ordinal: Int, val judgement_type_id: String, val contest_time: Duration)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(id: String, judgement_id: String, ordinal: Int, judgement_type_id: String, contest_time: Duration)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable(with = ClicsTime.DurationSerializer::class)
val contest_time: Duration
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val id: String
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-run/judgement_id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-run/judgement_id.html deleted file mode 100644 index 1bccb97c9..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-run/judgement_id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - judgement_id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

judgement_id

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-run/judgement_type_id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-run/judgement_type_id.html deleted file mode 100644 index 22a165ff7..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-run/judgement_type_id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - judgement_type_id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

judgement_type_id

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-run/ordinal.html b/docs/cds/cds/org.icpclive.cds.clics.api/-run/ordinal.html deleted file mode 100644 index f2cb2ecd5..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-run/ordinal.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - ordinal - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ordinal

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-state/-state.html b/docs/cds/cds/org.icpclive.cds.clics.api/-state/-state.html deleted file mode 100644 index 4add2a98c..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-state/-state.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - State - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

State

-
-
constructor(ended: Instant?, frozen: Instant?, started: Instant?, unfrozen: Instant?, finalized: Instant?, end_of_updates: Instant?)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-state/end_of_updates.html b/docs/cds/cds/org.icpclive.cds.clics.api/-state/end_of_updates.html deleted file mode 100644 index 84cf4b401..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-state/end_of_updates.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - end_of_updates - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

end_of_updates

-
-
@Serializable(with = ClicsTime.InstantSerializer::class)
val end_of_updates: Instant?
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-state/ended.html b/docs/cds/cds/org.icpclive.cds.clics.api/-state/ended.html deleted file mode 100644 index bf5f1a136..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-state/ended.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - ended - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ended

-
-
@Serializable(with = ClicsTime.InstantSerializer::class)
val ended: Instant?
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-state/finalized.html b/docs/cds/cds/org.icpclive.cds.clics.api/-state/finalized.html deleted file mode 100644 index e06e6aa41..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-state/finalized.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - finalized - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

finalized

-
-
@Serializable(with = ClicsTime.InstantSerializer::class)
val finalized: Instant?
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-state/frozen.html b/docs/cds/cds/org.icpclive.cds.clics.api/-state/frozen.html deleted file mode 100644 index 932e8a425..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-state/frozen.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - frozen - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

frozen

-
-
@Serializable(with = ClicsTime.InstantSerializer::class)
val frozen: Instant?
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-state/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-state/index.html deleted file mode 100644 index 43839dca0..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-state/index.html +++ /dev/null @@ -1,190 +0,0 @@ - - - - - State - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

State

-
@Serializable
data class State(val ended: Instant?, val frozen: Instant?, val started: Instant?, val unfrozen: Instant?, val finalized: Instant?, val end_of_updates: Instant?)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(ended: Instant?, frozen: Instant?, started: Instant?, unfrozen: Instant?, finalized: Instant?, end_of_updates: Instant?)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable(with = ClicsTime.InstantSerializer::class)
val end_of_updates: Instant?
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable(with = ClicsTime.InstantSerializer::class)
val ended: Instant?
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable(with = ClicsTime.InstantSerializer::class)
val finalized: Instant?
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable(with = ClicsTime.InstantSerializer::class)
val frozen: Instant?
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable(with = ClicsTime.InstantSerializer::class)
val started: Instant?
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable(with = ClicsTime.InstantSerializer::class)
val unfrozen: Instant?
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-state/started.html b/docs/cds/cds/org.icpclive.cds.clics.api/-state/started.html deleted file mode 100644 index d1c75fdc7..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-state/started.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - started - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

started

-
-
@Serializable(with = ClicsTime.InstantSerializer::class)
val started: Instant?
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-state/unfrozen.html b/docs/cds/cds/org.icpclive.cds.clics.api/-state/unfrozen.html deleted file mode 100644 index d9481b9a7..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-state/unfrozen.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - unfrozen - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

unfrozen

-
-
@Serializable(with = ClicsTime.InstantSerializer::class)
val unfrozen: Instant?
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-submission/-submission.html b/docs/cds/cds/org.icpclive.cds.clics.api/-submission/-submission.html deleted file mode 100644 index 7c361bea6..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-submission/-submission.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - Submission - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Submission

-
-
constructor(id: String, language_id: String, problem_id: String, team_id: String, time: Instant, contest_time: Duration, reaction: List<Media>? = null)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-submission/contest_time.html b/docs/cds/cds/org.icpclive.cds.clics.api/-submission/contest_time.html deleted file mode 100644 index c483c586e..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-submission/contest_time.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - contest_time - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

contest_time

-
-
@Serializable(with = ClicsTime.DurationSerializer::class)
val contest_time: Duration
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-submission/id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-submission/id.html deleted file mode 100644 index 5d3ad77c7..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-submission/id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

id

-
-
val id: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-submission/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-submission/index.html deleted file mode 100644 index b12a8fbd0..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-submission/index.html +++ /dev/null @@ -1,205 +0,0 @@ - - - - - Submission - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Submission

-
@Serializable
data class Submission(val id: String, val language_id: String, val problem_id: String, val team_id: String, val time: Instant, val contest_time: Duration, val reaction: List<Media>? = null)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(id: String, language_id: String, problem_id: String, team_id: String, time: Instant, contest_time: Duration, reaction: List<Media>? = null)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable(with = ClicsTime.DurationSerializer::class)
val contest_time: Duration
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val id: String
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val reaction: List<Media>? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable(with = ClicsTime.InstantSerializer::class)
val time: Instant
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-submission/language_id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-submission/language_id.html deleted file mode 100644 index e0e33c497..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-submission/language_id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - language_id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

language_id

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-submission/problem_id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-submission/problem_id.html deleted file mode 100644 index f930b4bb2..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-submission/problem_id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - problem_id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

problem_id

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-submission/reaction.html b/docs/cds/cds/org.icpclive.cds.clics.api/-submission/reaction.html deleted file mode 100644 index 9b62368f2..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-submission/reaction.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - reaction - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

reaction

-
-
val reaction: List<Media>? = null
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-submission/team_id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-submission/team_id.html deleted file mode 100644 index 7929ddd2f..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-submission/team_id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - team_id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

team_id

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-submission/time.html b/docs/cds/cds/org.icpclive.cds.clics.api/-submission/time.html deleted file mode 100644 index 3dc3dee7e..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-submission/time.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - time - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

time

-
-
@Serializable(with = ClicsTime.InstantSerializer::class)
val time: Instant
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-team/-team.html b/docs/cds/cds/org.icpclive.cds.clics.api/-team/-team.html deleted file mode 100644 index 7685fa43b..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-team/-team.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - Team - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Team

-
-
constructor(id: String, organization_id: String? = null, group_ids: List<String> = emptyList(), name: String = "", hidden: Boolean = false, photo: List<Media> = emptyList(), video: List<Media> = emptyList(), desktop: List<Media> = emptyList(), webcam: List<Media> = emptyList())
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-team/desktop.html b/docs/cds/cds/org.icpclive.cds.clics.api/-team/desktop.html deleted file mode 100644 index eb996ac7f..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-team/desktop.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - desktop - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

desktop

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-team/group_ids.html b/docs/cds/cds/org.icpclive.cds.clics.api/-team/group_ids.html deleted file mode 100644 index d7c53ba82..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-team/group_ids.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - group_ids - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

group_ids

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-team/hidden.html b/docs/cds/cds/org.icpclive.cds.clics.api/-team/hidden.html deleted file mode 100644 index fcc729f03..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-team/hidden.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - hidden - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

hidden

-
-
val hidden: Boolean = false
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-team/id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-team/id.html deleted file mode 100644 index b06029c69..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-team/id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

id

-
-
val id: String
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-team/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/-team/index.html deleted file mode 100644 index 7d679df9a..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-team/index.html +++ /dev/null @@ -1,235 +0,0 @@ - - - - - Team - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Team

-
@Serializable
data class Team(val id: String, val organization_id: String? = null, val group_ids: List<String> = emptyList(), val name: String = "", val hidden: Boolean = false, val photo: List<Media> = emptyList(), val video: List<Media> = emptyList(), val desktop: List<Media> = emptyList(), val webcam: List<Media> = emptyList())
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(id: String, organization_id: String? = null, group_ids: List<String> = emptyList(), name: String = "", hidden: Boolean = false, photo: List<Media> = emptyList(), video: List<Media> = emptyList(), desktop: List<Media> = emptyList(), webcam: List<Media> = emptyList())
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val hidden: Boolean = false
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val id: String
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val organization_id: String? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-team/name.html b/docs/cds/cds/org.icpclive.cds.clics.api/-team/name.html deleted file mode 100644 index 5929408a0..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-team/name.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - name - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

name

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-team/organization_id.html b/docs/cds/cds/org.icpclive.cds.clics.api/-team/organization_id.html deleted file mode 100644 index f0c20f4ba..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-team/organization_id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - organization_id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

organization_id

-
-
val organization_id: String? = null
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-team/photo.html b/docs/cds/cds/org.icpclive.cds.clics.api/-team/photo.html deleted file mode 100644 index 4c6bc9963..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-team/photo.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - photo - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

photo

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-team/video.html b/docs/cds/cds/org.icpclive.cds.clics.api/-team/video.html deleted file mode 100644 index 2ead3c01b..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-team/video.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - video - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

video

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/-team/webcam.html b/docs/cds/cds/org.icpclive.cds.clics.api/-team/webcam.html deleted file mode 100644 index d3e452d01..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/-team/webcam.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - webcam - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

webcam

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics.api/index.html b/docs/cds/cds/org.icpclive.cds.clics.api/index.html deleted file mode 100644 index a6cf2c973..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics.api/index.html +++ /dev/null @@ -1,350 +0,0 @@ - - - - - org.icpclive.cds.clics.api - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Package-level declarations

-
-
-
-
-
-

Types

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class Account(val id: String, val username: String, val password: String?, val type: Account.TYPE?, val ip: String?, val team_id: String?, val person_id: String?)
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class Award(val id: String)
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class Clarification(val id: String)
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class Commentary(val id: String, val time: Instant, val contest_time: Duration, val message: String, val team_ids: List<String>?, val problem_ids: List<String>?, val submission_ids: List<String>?)
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class Contest(val id: String, val start_time: Instant? = null, val name: String? = null, val formal_name: String? = null, val duration: Duration, val scoreboard_freeze_duration: Duration?, val countdown_pause_time: Duration? = null, val penalty_time: Duration? = null, val scoreboard_type: String? = null)
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
sealed class Event
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class Group(val id: String, val icpcId: String? = null, val name: String = "", val type: String? = null)
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class Judgement(val id: String, val submission_id: String, val judgement_type_id: String?, val start_time: Instant, val start_contest_time: Duration, val end_time: Instant?, val end_contest_time: Duration?)
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class JudgementType(val id: String, val name: String, val solved: Boolean = false, val penalty: Boolean = false)
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class Language(val id: String, val name: String? = null, val entry_point_required: Boolean? = null, val extensions: List<String>? = null)
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class Media(val mime: String, val href: String)
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
enum Operation : Enum<Operation>
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class Organization(val id: String, val name: String = "", val formal_name: String? = null, val logo: List<Media> = emptyList(), val twitter_hashtag: String? = null)
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class Problem(val id: String, val ordinal: Int = 0, val label: String = "", val name: String = "", val rgb: Color? = null, val test_data_count: Int? = null)
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class Run(val id: String, val judgement_id: String, val ordinal: Int, val judgement_type_id: String, val contest_time: Duration)
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class State(val ended: Instant?, val frozen: Instant?, val started: Instant?, val unfrozen: Instant?, val finalized: Instant?, val end_of_updates: Instant?)
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class Submission(val id: String, val language_id: String, val problem_id: String, val team_id: String, val time: Instant, val contest_time: Duration, val reaction: List<Media>? = null)
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class Team(val id: String, val organization_id: String? = null, val group_ids: List<String> = emptyList(), val name: String = "", val hidden: Boolean = false, val photo: List<Media> = emptyList(), val video: List<Media> = emptyList(), val desktop: List<Media> = emptyList(), val webcam: List<Media> = emptyList())
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics/-feed-version/2020_03/index.html b/docs/cds/cds/org.icpclive.cds.clics/-feed-version/2020_03/index.html deleted file mode 100644 index eaedc4af9..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics/-feed-version/2020_03/index.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - 2020_03 - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

2020_03

- -
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics/-feed-version/2022_07/index.html b/docs/cds/cds/org.icpclive.cds.clics/-feed-version/2022_07/index.html deleted file mode 100644 index c4970edce..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics/-feed-version/2022_07/index.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - 2022_07 - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

2022_07

- -
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics/-feed-version/index.html b/docs/cds/cds/org.icpclive.cds.clics/-feed-version/index.html deleted file mode 100644 index 1730825eb..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics/-feed-version/index.html +++ /dev/null @@ -1,179 +0,0 @@ - - - - - FeedVersion - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

FeedVersion

- -
-
-
-
-
-

Entries

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-

Returns an array containing the constants of this enum type, in the order they're declared.

-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics/-feed-version/value-of.html b/docs/cds/cds/org.icpclive.cds.clics/-feed-version/value-of.html deleted file mode 100644 index cc042c230..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics/-feed-version/value-of.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - valueOf - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

valueOf

-
-

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Throws

if this enum type has no constant with the specified name

-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics/-feed-version/values.html b/docs/cds/cds/org.icpclive.cds.clics/-feed-version/values.html deleted file mode 100644 index 15ded6b3e..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics/-feed-version/values.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - values - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

values

-
-

Returns an array containing the constants of this enum type, in the order they're declared.

This method may be used to iterate over the constants.

-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.clics/index.html b/docs/cds/cds/org.icpclive.cds.clics/index.html deleted file mode 100644 index d0974c92f..000000000 --- a/docs/cds/cds/org.icpclive.cds.clics/index.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - org.icpclive.cds.clics - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Package-level declarations

-
-
-
-
-
-

Types

-
-
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds.settings/-c-d-s-settings/-companion/index.html b/docs/cds/cds/org.icpclive.cds.settings/-c-d-s-settings/-companion/index.html deleted file mode 100644 index 0b30ad441..000000000 --- a/docs/cds/cds/org.icpclive.cds.settings/-c-d-s-settings/-companion/index.html +++ /dev/null @@ -1,76 +0,0 @@ - - - - - Companion - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Companion

- -
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-c-d-s-settings/-companion/index.html b/docs/cds/cds/org.icpclive.cds/-c-d-s-settings/-companion/index.html deleted file mode 100644 index 9e2628018..000000000 --- a/docs/cds/cds/org.icpclive.cds/-c-d-s-settings/-companion/index.html +++ /dev/null @@ -1,76 +0,0 @@ - - - - - Companion - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Companion

- -
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-c-d-s-settings/emulation.html b/docs/cds/cds/org.icpclive.cds/-c-d-s-settings/emulation.html deleted file mode 100644 index 9dc50e15a..000000000 --- a/docs/cds/cds/org.icpclive.cds/-c-d-s-settings/emulation.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - emulation - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

emulation

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-c-d-s-settings/index.html b/docs/cds/cds/org.icpclive.cds/-c-d-s-settings/index.html deleted file mode 100644 index 76298b866..000000000 --- a/docs/cds/cds/org.icpclive.cds/-c-d-s-settings/index.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - CDSSettings - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- - -
-
-
-
-

Types

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
object Companion
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
fun toFlow(creds: Map<String, String>): Flow<ContestUpdate>
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override fun toString(): String
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-c-d-s-settings/to-flow.html b/docs/cds/cds/org.icpclive.cds/-c-d-s-settings/to-flow.html deleted file mode 100644 index c4b159476..000000000 --- a/docs/cds/cds/org.icpclive.cds/-c-d-s-settings/to-flow.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - toFlow - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

toFlow

-
-
fun toFlow(creds: Map<String, String>): Flow<ContestUpdate>(source)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-c-d-s-settings/to-string.html b/docs/cds/cds/org.icpclive.cds/-c-d-s-settings/to-string.html deleted file mode 100644 index 9a515a32c..000000000 --- a/docs/cds/cds/org.icpclive.cds/-c-d-s-settings/to-string.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - toString - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

toString

-
-
open override fun toString(): String(source)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-c-f-settings/-c-f-settings.html b/docs/cds/cds/org.icpclive.cds/-c-f-settings/-c-f-settings.html deleted file mode 100644 index 4f70cce75..000000000 --- a/docs/cds/cds/org.icpclive.cds/-c-f-settings/-c-f-settings.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - CFSettings - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

CFSettings

-
-
constructor(contestId: Int, apiKey: Credential, apiSecret: Credential, emulation: EmulationSettings? = null)(source)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-c-f-settings/api-key.html b/docs/cds/cds/org.icpclive.cds/-c-f-settings/api-key.html deleted file mode 100644 index 80292d113..000000000 --- a/docs/cds/cds/org.icpclive.cds/-c-f-settings/api-key.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - apiKey - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

apiKey

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-c-f-settings/api-secret.html b/docs/cds/cds/org.icpclive.cds/-c-f-settings/api-secret.html deleted file mode 100644 index 8783d6de6..000000000 --- a/docs/cds/cds/org.icpclive.cds/-c-f-settings/api-secret.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - apiSecret - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

apiSecret

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-c-f-settings/contest-id.html b/docs/cds/cds/org.icpclive.cds/-c-f-settings/contest-id.html deleted file mode 100644 index 950985fc3..000000000 --- a/docs/cds/cds/org.icpclive.cds/-c-f-settings/contest-id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - contestId - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

contestId

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-c-f-settings/emulation.html b/docs/cds/cds/org.icpclive.cds/-c-f-settings/emulation.html deleted file mode 100644 index df8c2f400..000000000 --- a/docs/cds/cds/org.icpclive.cds/-c-f-settings/emulation.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - emulation - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

emulation

-
-
open override val emulation: EmulationSettings? = null(source)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-c-f-settings/index.html b/docs/cds/cds/org.icpclive.cds/-c-f-settings/index.html deleted file mode 100644 index 9a3340777..000000000 --- a/docs/cds/cds/org.icpclive.cds/-c-f-settings/index.html +++ /dev/null @@ -1,194 +0,0 @@ - - - - - CFSettings - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

CFSettings

-
@Serializable
class CFSettings(val contestId: Int, val apiKey: Credential, val apiSecret: Credential, val emulation: EmulationSettings? = null) : CDSSettings(source)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(contestId: Int, apiKey: Credential, apiSecret: Credential, emulation: EmulationSettings? = null)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val emulation: EmulationSettings? = null
-
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
fun toFlow(creds: Map<String, String>): Flow<ContestUpdate>
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override fun toString(): String
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-cats-settings/-cats-settings.html b/docs/cds/cds/org.icpclive.cds/-cats-settings/-cats-settings.html deleted file mode 100644 index ccacd4415..000000000 --- a/docs/cds/cds/org.icpclive.cds/-cats-settings/-cats-settings.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - CatsSettings - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

CatsSettings

-
-
constructor(login: Credential, password: Credential, url: String, timeZone: TimeZone = TimeZone.of("Asia/Vladivostok"), resultType: ContestResultType = ContestResultType.ICPC, cid: String, emulation: EmulationSettings? = null)(source)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-cats-settings/cid.html b/docs/cds/cds/org.icpclive.cds/-cats-settings/cid.html deleted file mode 100644 index b057b7fde..000000000 --- a/docs/cds/cds/org.icpclive.cds/-cats-settings/cid.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - cid - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

cid

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-cats-settings/emulation.html b/docs/cds/cds/org.icpclive.cds/-cats-settings/emulation.html deleted file mode 100644 index 284f9984a..000000000 --- a/docs/cds/cds/org.icpclive.cds/-cats-settings/emulation.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - emulation - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

emulation

-
-
open override val emulation: EmulationSettings? = null(source)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-cats-settings/index.html b/docs/cds/cds/org.icpclive.cds/-cats-settings/index.html deleted file mode 100644 index 2ca9f9f2b..000000000 --- a/docs/cds/cds/org.icpclive.cds/-cats-settings/index.html +++ /dev/null @@ -1,239 +0,0 @@ - - - - - CatsSettings - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

CatsSettings

-
@Serializable
class CatsSettings(val login: Credential, val password: Credential, val url: String, val timeZone: TimeZone = TimeZone.of("Asia/Vladivostok"), val resultType: ContestResultType = ContestResultType.ICPC, val cid: String, val emulation: EmulationSettings? = null) : CDSSettings(source)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(login: Credential, password: Credential, url: String, timeZone: TimeZone = TimeZone.of("Asia/Vladivostok"), resultType: ContestResultType = ContestResultType.ICPC, cid: String, emulation: EmulationSettings? = null)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
val cid: String
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val emulation: EmulationSettings? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
- -
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable(with = TimeZoneSerializer::class)
val timeZone: TimeZone
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val url: String
-
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
fun toFlow(creds: Map<String, String>): Flow<ContestUpdate>
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override fun toString(): String
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-cats-settings/login.html b/docs/cds/cds/org.icpclive.cds/-cats-settings/login.html deleted file mode 100644 index 92e372ef7..000000000 --- a/docs/cds/cds/org.icpclive.cds/-cats-settings/login.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - login - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

login

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-cats-settings/password.html b/docs/cds/cds/org.icpclive.cds/-cats-settings/password.html deleted file mode 100644 index a02232a58..000000000 --- a/docs/cds/cds/org.icpclive.cds/-cats-settings/password.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - password - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

password

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-cats-settings/result-type.html b/docs/cds/cds/org.icpclive.cds/-cats-settings/result-type.html deleted file mode 100644 index 65f26e858..000000000 --- a/docs/cds/cds/org.icpclive.cds/-cats-settings/result-type.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - resultType - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

resultType

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-cats-settings/time-zone.html b/docs/cds/cds/org.icpclive.cds/-cats-settings/time-zone.html deleted file mode 100644 index 42e24e54f..000000000 --- a/docs/cds/cds/org.icpclive.cds/-cats-settings/time-zone.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - timeZone - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

timeZone

-
-
@Serializable(with = TimeZoneSerializer::class)
val timeZone: TimeZone(source)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-cats-settings/url.html b/docs/cds/cds/org.icpclive.cds/-cats-settings/url.html deleted file mode 100644 index e623bbe30..000000000 --- a/docs/cds/cds/org.icpclive.cds/-cats-settings/url.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - url - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

url

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-clics-loader-settings/-clics-loader-settings.html b/docs/cds/cds/org.icpclive.cds/-clics-loader-settings/-clics-loader-settings.html deleted file mode 100644 index b9d153754..000000000 --- a/docs/cds/cds/org.icpclive.cds/-clics-loader-settings/-clics-loader-settings.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - ClicsLoaderSettings - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ClicsLoaderSettings

-
-
constructor(url: String, login: Credential? = null, password: Credential? = null, eventFeedName: String = "event-feed", feedVersion: FeedVersion = FeedVersion.`2022_07`)(source)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-clics-loader-settings/event-feed-name.html b/docs/cds/cds/org.icpclive.cds/-clics-loader-settings/event-feed-name.html deleted file mode 100644 index bb45d6fb7..000000000 --- a/docs/cds/cds/org.icpclive.cds/-clics-loader-settings/event-feed-name.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - eventFeedName - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

eventFeedName

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-clics-loader-settings/feed-version.html b/docs/cds/cds/org.icpclive.cds/-clics-loader-settings/feed-version.html deleted file mode 100644 index ebc489af5..000000000 --- a/docs/cds/cds/org.icpclive.cds/-clics-loader-settings/feed-version.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - feedVersion - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

feedVersion

-
-
val feedVersion: FeedVersion(source)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-clics-loader-settings/index.html b/docs/cds/cds/org.icpclive.cds/-clics-loader-settings/index.html deleted file mode 100644 index feb57bad7..000000000 --- a/docs/cds/cds/org.icpclive.cds/-clics-loader-settings/index.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - ClicsLoaderSettings - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ClicsLoaderSettings

-
@Serializable
class ClicsLoaderSettings(val url: String, val login: Credential? = null, val password: Credential? = null, val eventFeedName: String = "event-feed", val feedVersion: FeedVersion = FeedVersion.`2022_07`)(source)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(url: String, login: Credential? = null, password: Credential? = null, eventFeedName: String = "event-feed", feedVersion: FeedVersion = FeedVersion.`2022_07`)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val feedVersion: FeedVersion
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val login: Credential? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val password: Credential? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val url: String
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-clics-loader-settings/login.html b/docs/cds/cds/org.icpclive.cds/-clics-loader-settings/login.html deleted file mode 100644 index 18fd3a859..000000000 --- a/docs/cds/cds/org.icpclive.cds/-clics-loader-settings/login.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - login - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

login

-
-
val login: Credential? = null(source)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-clics-loader-settings/password.html b/docs/cds/cds/org.icpclive.cds/-clics-loader-settings/password.html deleted file mode 100644 index e021a3c60..000000000 --- a/docs/cds/cds/org.icpclive.cds/-clics-loader-settings/password.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - password - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

password

-
-
val password: Credential? = null(source)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-clics-loader-settings/url.html b/docs/cds/cds/org.icpclive.cds/-clics-loader-settings/url.html deleted file mode 100644 index 0675e538a..000000000 --- a/docs/cds/cds/org.icpclive.cds/-clics-loader-settings/url.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - url - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

url

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-clics-settings/-clics-settings.html b/docs/cds/cds/org.icpclive.cds/-clics-settings/-clics-settings.html deleted file mode 100644 index 71b3af525..000000000 --- a/docs/cds/cds/org.icpclive.cds/-clics-settings/-clics-settings.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - ClicsSettings - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ClicsSettings

-
-
constructor(url: String, login: Credential? = null, password: Credential? = null, eventFeedName: String = "event-feed", feedVersion: FeedVersion = FeedVersion.`2022_07`, additionalFeed: ClicsLoaderSettings? = null, useTeamNames: Boolean = true, mediaBaseUrl: String = "", emulation: EmulationSettings? = null)(source)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-clics-settings/additional-feed.html b/docs/cds/cds/org.icpclive.cds/-clics-settings/additional-feed.html deleted file mode 100644 index 77e91aa46..000000000 --- a/docs/cds/cds/org.icpclive.cds/-clics-settings/additional-feed.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - additionalFeed - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

additionalFeed

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-clics-settings/emulation.html b/docs/cds/cds/org.icpclive.cds/-clics-settings/emulation.html deleted file mode 100644 index 9a3e23fac..000000000 --- a/docs/cds/cds/org.icpclive.cds/-clics-settings/emulation.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - emulation - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

emulation

-
-
open override val emulation: EmulationSettings? = null(source)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-clics-settings/index.html b/docs/cds/cds/org.icpclive.cds/-clics-settings/index.html deleted file mode 100644 index 23f571d9c..000000000 --- a/docs/cds/cds/org.icpclive.cds/-clics-settings/index.html +++ /dev/null @@ -1,209 +0,0 @@ - - - - - ClicsSettings - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ClicsSettings

-
@Serializable
class ClicsSettings(url: String, login: Credential? = null, password: Credential? = null, eventFeedName: String = "event-feed", feedVersion: FeedVersion = FeedVersion.`2022_07`, val additionalFeed: ClicsLoaderSettings? = null, val useTeamNames: Boolean = true, val mediaBaseUrl: String = "", val emulation: EmulationSettings? = null) : CDSSettings(source)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(url: String, login: Credential? = null, password: Credential? = null, eventFeedName: String = "event-feed", feedVersion: FeedVersion = FeedVersion.`2022_07`, additionalFeed: ClicsLoaderSettings? = null, useTeamNames: Boolean = true, mediaBaseUrl: String = "", emulation: EmulationSettings? = null)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val emulation: EmulationSettings? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
- -
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val useTeamNames: Boolean = true
-
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
fun toFlow(creds: Map<String, String>): Flow<ContestUpdate>
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override fun toString(): String
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-clics-settings/main-feed.html b/docs/cds/cds/org.icpclive.cds/-clics-settings/main-feed.html deleted file mode 100644 index 295f47ab1..000000000 --- a/docs/cds/cds/org.icpclive.cds/-clics-settings/main-feed.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - mainFeed - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

mainFeed

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-clics-settings/media-base-url.html b/docs/cds/cds/org.icpclive.cds/-clics-settings/media-base-url.html deleted file mode 100644 index 72527412b..000000000 --- a/docs/cds/cds/org.icpclive.cds/-clics-settings/media-base-url.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - mediaBaseUrl - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

mediaBaseUrl

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-clics-settings/use-team-names.html b/docs/cds/cds/org.icpclive.cds/-clics-settings/use-team-names.html deleted file mode 100644 index a19acf1ed..000000000 --- a/docs/cds/cds/org.icpclive.cds/-clics-settings/use-team-names.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - useTeamNames - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

useTeamNames

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-credential/-credential.html b/docs/cds/cds/org.icpclive.cds/-credential/-credential.html deleted file mode 100644 index 1b18399b0..000000000 --- a/docs/cds/cds/org.icpclive.cds/-credential/-credential.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - Credential - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Credential

-
-
constructor(raw: String)(source)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-credential/get.html b/docs/cds/cds/org.icpclive.cds/-credential/get.html deleted file mode 100644 index e5b72ca71..000000000 --- a/docs/cds/cds/org.icpclive.cds/-credential/get.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - get - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

get

-
-
fun get(creds: Map<String, String>): String(source)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-credential/index.html b/docs/cds/cds/org.icpclive.cds/-credential/index.html deleted file mode 100644 index 94ff0b4ff..000000000 --- a/docs/cds/cds/org.icpclive.cds/-credential/index.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - Credential - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Credential

-
@Serializable
value class Credential(raw: String)(source)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(raw: String)
-
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
fun get(creds: Map<String, String>): String
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-ejudge-settings/-ejudge-settings.html b/docs/cds/cds/org.icpclive.cds/-ejudge-settings/-ejudge-settings.html deleted file mode 100644 index 8026681c2..000000000 --- a/docs/cds/cds/org.icpclive.cds/-ejudge-settings/-ejudge-settings.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - EjudgeSettings - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

EjudgeSettings

-
-
constructor(url: String, resultType: ContestResultType = ContestResultType.ICPC, emulation: EmulationSettings? = null)(source)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-ejudge-settings/emulation.html b/docs/cds/cds/org.icpclive.cds/-ejudge-settings/emulation.html deleted file mode 100644 index 1f45fc575..000000000 --- a/docs/cds/cds/org.icpclive.cds/-ejudge-settings/emulation.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - emulation - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

emulation

-
-
open override val emulation: EmulationSettings? = null(source)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-ejudge-settings/index.html b/docs/cds/cds/org.icpclive.cds/-ejudge-settings/index.html deleted file mode 100644 index 0defc6d9d..000000000 --- a/docs/cds/cds/org.icpclive.cds/-ejudge-settings/index.html +++ /dev/null @@ -1,179 +0,0 @@ - - - - - EjudgeSettings - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

EjudgeSettings

-
@Serializable
class EjudgeSettings(val url: String, val resultType: ContestResultType = ContestResultType.ICPC, val emulation: EmulationSettings? = null) : CDSSettings(source)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(url: String, resultType: ContestResultType = ContestResultType.ICPC, emulation: EmulationSettings? = null)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val emulation: EmulationSettings? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
- -
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val url: String
-
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
fun toFlow(creds: Map<String, String>): Flow<ContestUpdate>
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override fun toString(): String
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-ejudge-settings/result-type.html b/docs/cds/cds/org.icpclive.cds/-ejudge-settings/result-type.html deleted file mode 100644 index a2ef46a3e..000000000 --- a/docs/cds/cds/org.icpclive.cds/-ejudge-settings/result-type.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - resultType - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

resultType

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-ejudge-settings/url.html b/docs/cds/cds/org.icpclive.cds/-ejudge-settings/url.html deleted file mode 100644 index f4249028c..000000000 --- a/docs/cds/cds/org.icpclive.cds/-ejudge-settings/url.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - url - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

url

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-emulation-settings/-emulation-settings.html b/docs/cds/cds/org.icpclive.cds/-emulation-settings/-emulation-settings.html deleted file mode 100644 index 3e27cb882..000000000 --- a/docs/cds/cds/org.icpclive.cds/-emulation-settings/-emulation-settings.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - EmulationSettings - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

EmulationSettings

-
-
constructor(speed: Double, startTime: Instant)(source)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-emulation-settings/index.html b/docs/cds/cds/org.icpclive.cds/-emulation-settings/index.html deleted file mode 100644 index 83ff781dc..000000000 --- a/docs/cds/cds/org.icpclive.cds/-emulation-settings/index.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - EmulationSettings - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

EmulationSettings

-
@Serializable
class EmulationSettings(val speed: Double, val startTime: Instant)(source)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(speed: Double, startTime: Instant)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable(with = HumanTimeSerializer::class)
val startTime: Instant
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-emulation-settings/speed.html b/docs/cds/cds/org.icpclive.cds/-emulation-settings/speed.html deleted file mode 100644 index d549285be..000000000 --- a/docs/cds/cds/org.icpclive.cds/-emulation-settings/speed.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - speed - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

speed

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-emulation-settings/start-time.html b/docs/cds/cds/org.icpclive.cds/-emulation-settings/start-time.html deleted file mode 100644 index 5c6a4641e..000000000 --- a/docs/cds/cds/org.icpclive.cds/-emulation-settings/start-time.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - startTime - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

startTime

-
-
@Serializable(with = HumanTimeSerializer::class)
val startTime: Instant(source)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-k-r-s-u-settings/-k-r-s-u-settings.html b/docs/cds/cds/org.icpclive.cds/-k-r-s-u-settings/-k-r-s-u-settings.html deleted file mode 100644 index 500570d77..000000000 --- a/docs/cds/cds/org.icpclive.cds/-k-r-s-u-settings/-k-r-s-u-settings.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - KRSUSettings - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

KRSUSettings

-
-
constructor(submissionsUrl: String, contestUrl: String, timeZone: TimeZone = TimeZone.of("Asia/Bishkek"), emulation: EmulationSettings? = null)(source)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-k-r-s-u-settings/contest-url.html b/docs/cds/cds/org.icpclive.cds/-k-r-s-u-settings/contest-url.html deleted file mode 100644 index e1eedb288..000000000 --- a/docs/cds/cds/org.icpclive.cds/-k-r-s-u-settings/contest-url.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - contestUrl - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

contestUrl

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-k-r-s-u-settings/emulation.html b/docs/cds/cds/org.icpclive.cds/-k-r-s-u-settings/emulation.html deleted file mode 100644 index 30bd5debe..000000000 --- a/docs/cds/cds/org.icpclive.cds/-k-r-s-u-settings/emulation.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - emulation - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

emulation

-
-
open override val emulation: EmulationSettings? = null(source)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-k-r-s-u-settings/index.html b/docs/cds/cds/org.icpclive.cds/-k-r-s-u-settings/index.html deleted file mode 100644 index d341120b0..000000000 --- a/docs/cds/cds/org.icpclive.cds/-k-r-s-u-settings/index.html +++ /dev/null @@ -1,194 +0,0 @@ - - - - - KRSUSettings - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

KRSUSettings

-
@Serializable
class KRSUSettings(val submissionsUrl: String, val contestUrl: String, val timeZone: TimeZone = TimeZone.of("Asia/Bishkek"), val emulation: EmulationSettings? = null) : CDSSettings(source)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(submissionsUrl: String, contestUrl: String, timeZone: TimeZone = TimeZone.of("Asia/Bishkek"), emulation: EmulationSettings? = null)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val emulation: EmulationSettings? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable(with = TimeZoneSerializer::class)
val timeZone: TimeZone
-
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
fun toFlow(creds: Map<String, String>): Flow<ContestUpdate>
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override fun toString(): String
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-k-r-s-u-settings/submissions-url.html b/docs/cds/cds/org.icpclive.cds/-k-r-s-u-settings/submissions-url.html deleted file mode 100644 index 7dc896db1..000000000 --- a/docs/cds/cds/org.icpclive.cds/-k-r-s-u-settings/submissions-url.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - submissionsUrl - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

submissionsUrl

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-k-r-s-u-settings/time-zone.html b/docs/cds/cds/org.icpclive.cds/-k-r-s-u-settings/time-zone.html deleted file mode 100644 index ab5a15ce0..000000000 --- a/docs/cds/cds/org.icpclive.cds/-k-r-s-u-settings/time-zone.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - timeZone - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

timeZone

-
-
@Serializable(with = TimeZoneSerializer::class)
val timeZone: TimeZone(source)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-noop-settings/-noop-settings.html b/docs/cds/cds/org.icpclive.cds/-noop-settings/-noop-settings.html deleted file mode 100644 index 492832418..000000000 --- a/docs/cds/cds/org.icpclive.cds/-noop-settings/-noop-settings.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - NoopSettings - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

NoopSettings

-
-
constructor(emulation: EmulationSettings? = null)(source)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-noop-settings/emulation.html b/docs/cds/cds/org.icpclive.cds/-noop-settings/emulation.html deleted file mode 100644 index 74519efa4..000000000 --- a/docs/cds/cds/org.icpclive.cds/-noop-settings/emulation.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - emulation - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

emulation

-
-
open override val emulation: EmulationSettings? = null(source)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-noop-settings/index.html b/docs/cds/cds/org.icpclive.cds/-noop-settings/index.html deleted file mode 100644 index e3a980ba3..000000000 --- a/docs/cds/cds/org.icpclive.cds/-noop-settings/index.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - NoopSettings - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

NoopSettings

-
@Serializable
class NoopSettings(val emulation: EmulationSettings? = null) : CDSSettings(source)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(emulation: EmulationSettings? = null)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val emulation: EmulationSettings? = null
-
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
fun toFlow(creds: Map<String, String>): Flow<ContestUpdate>
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override fun toString(): String
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-p-c-m-s-settings/-p-c-m-s-settings.html b/docs/cds/cds/org.icpclive.cds/-p-c-m-s-settings/-p-c-m-s-settings.html deleted file mode 100644 index eaacd042f..000000000 --- a/docs/cds/cds/org.icpclive.cds/-p-c-m-s-settings/-p-c-m-s-settings.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - PCMSSettings - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

PCMSSettings

-
-
constructor(url: String, login: Credential? = null, password: Credential? = null, problemsUrl: String? = null, resultType: ContestResultType = ContestResultType.ICPC, emulation: EmulationSettings? = null)(source)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-p-c-m-s-settings/emulation.html b/docs/cds/cds/org.icpclive.cds/-p-c-m-s-settings/emulation.html deleted file mode 100644 index 21bd14f37..000000000 --- a/docs/cds/cds/org.icpclive.cds/-p-c-m-s-settings/emulation.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - emulation - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

emulation

-
-
open override val emulation: EmulationSettings? = null(source)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-p-c-m-s-settings/index.html b/docs/cds/cds/org.icpclive.cds/-p-c-m-s-settings/index.html deleted file mode 100644 index b9619fdf3..000000000 --- a/docs/cds/cds/org.icpclive.cds/-p-c-m-s-settings/index.html +++ /dev/null @@ -1,224 +0,0 @@ - - - - - PCMSSettings - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

PCMSSettings

-
@Serializable
class PCMSSettings(val url: String, val login: Credential? = null, val password: Credential? = null, val problemsUrl: String? = null, val resultType: ContestResultType = ContestResultType.ICPC, val emulation: EmulationSettings? = null) : CDSSettings(source)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(url: String, login: Credential? = null, password: Credential? = null, problemsUrl: String? = null, resultType: ContestResultType = ContestResultType.ICPC, emulation: EmulationSettings? = null)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val emulation: EmulationSettings? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val login: Credential? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val password: Credential? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val problemsUrl: String? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
- -
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val url: String
-
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
fun toFlow(creds: Map<String, String>): Flow<ContestUpdate>
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override fun toString(): String
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-p-c-m-s-settings/login.html b/docs/cds/cds/org.icpclive.cds/-p-c-m-s-settings/login.html deleted file mode 100644 index 2955286e1..000000000 --- a/docs/cds/cds/org.icpclive.cds/-p-c-m-s-settings/login.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - login - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

login

-
-
val login: Credential? = null(source)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-p-c-m-s-settings/password.html b/docs/cds/cds/org.icpclive.cds/-p-c-m-s-settings/password.html deleted file mode 100644 index 27d7bca67..000000000 --- a/docs/cds/cds/org.icpclive.cds/-p-c-m-s-settings/password.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - password - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

password

-
-
val password: Credential? = null(source)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-p-c-m-s-settings/problems-url.html b/docs/cds/cds/org.icpclive.cds/-p-c-m-s-settings/problems-url.html deleted file mode 100644 index 1076d0f46..000000000 --- a/docs/cds/cds/org.icpclive.cds/-p-c-m-s-settings/problems-url.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - problemsUrl - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

problemsUrl

-
-
val problemsUrl: String? = null(source)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-p-c-m-s-settings/result-type.html b/docs/cds/cds/org.icpclive.cds/-p-c-m-s-settings/result-type.html deleted file mode 100644 index 3973898bc..000000000 --- a/docs/cds/cds/org.icpclive.cds/-p-c-m-s-settings/result-type.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - resultType - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

resultType

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-p-c-m-s-settings/url.html b/docs/cds/cds/org.icpclive.cds/-p-c-m-s-settings/url.html deleted file mode 100644 index 0fd127518..000000000 --- a/docs/cds/cds/org.icpclive.cds/-p-c-m-s-settings/url.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - url - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

url

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-test-sys-settings/-test-sys-settings.html b/docs/cds/cds/org.icpclive.cds/-test-sys-settings/-test-sys-settings.html deleted file mode 100644 index d6178f675..000000000 --- a/docs/cds/cds/org.icpclive.cds/-test-sys-settings/-test-sys-settings.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - TestSysSettings - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

TestSysSettings

-
-
constructor(url: String, timeZone: TimeZone = TimeZone.of("Europe/Moscow"), emulation: EmulationSettings? = null)(source)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-test-sys-settings/emulation.html b/docs/cds/cds/org.icpclive.cds/-test-sys-settings/emulation.html deleted file mode 100644 index f3aa6abf2..000000000 --- a/docs/cds/cds/org.icpclive.cds/-test-sys-settings/emulation.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - emulation - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

emulation

-
-
open override val emulation: EmulationSettings? = null(source)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-test-sys-settings/index.html b/docs/cds/cds/org.icpclive.cds/-test-sys-settings/index.html deleted file mode 100644 index 6646244e5..000000000 --- a/docs/cds/cds/org.icpclive.cds/-test-sys-settings/index.html +++ /dev/null @@ -1,179 +0,0 @@ - - - - - TestSysSettings - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

TestSysSettings

-
@Serializable
class TestSysSettings(val url: String, val timeZone: TimeZone = TimeZone.of("Europe/Moscow"), val emulation: EmulationSettings? = null) : CDSSettings(source)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(url: String, timeZone: TimeZone = TimeZone.of("Europe/Moscow"), emulation: EmulationSettings? = null)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val emulation: EmulationSettings? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable(with = TimeZoneSerializer::class)
val timeZone: TimeZone
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val url: String
-
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
fun toFlow(creds: Map<String, String>): Flow<ContestUpdate>
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override fun toString(): String
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-test-sys-settings/time-zone.html b/docs/cds/cds/org.icpclive.cds/-test-sys-settings/time-zone.html deleted file mode 100644 index 48c9eb27a..000000000 --- a/docs/cds/cds/org.icpclive.cds/-test-sys-settings/time-zone.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - timeZone - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

timeZone

-
-
@Serializable(with = TimeZoneSerializer::class)
val timeZone: TimeZone(source)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-test-sys-settings/url.html b/docs/cds/cds/org.icpclive.cds/-test-sys-settings/url.html deleted file mode 100644 index 7bdd01f80..000000000 --- a/docs/cds/cds/org.icpclive.cds/-test-sys-settings/url.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - url - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

url

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-yandex-settings/-yandex-settings.html b/docs/cds/cds/org.icpclive.cds/-yandex-settings/-yandex-settings.html deleted file mode 100644 index 893c406a7..000000000 --- a/docs/cds/cds/org.icpclive.cds/-yandex-settings/-yandex-settings.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - YandexSettings - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

YandexSettings

-
-
constructor(apiKey: Credential, loginRegex: String, contestId: Int, resultType: ContestResultType = ContestResultType.ICPC, emulation: EmulationSettings? = null)(source)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-yandex-settings/api-key.html b/docs/cds/cds/org.icpclive.cds/-yandex-settings/api-key.html deleted file mode 100644 index ffc277377..000000000 --- a/docs/cds/cds/org.icpclive.cds/-yandex-settings/api-key.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - apiKey - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

apiKey

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-yandex-settings/contest-id.html b/docs/cds/cds/org.icpclive.cds/-yandex-settings/contest-id.html deleted file mode 100644 index 9dc39a9cb..000000000 --- a/docs/cds/cds/org.icpclive.cds/-yandex-settings/contest-id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - contestId - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

contestId

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-yandex-settings/emulation.html b/docs/cds/cds/org.icpclive.cds/-yandex-settings/emulation.html deleted file mode 100644 index bfbfc8857..000000000 --- a/docs/cds/cds/org.icpclive.cds/-yandex-settings/emulation.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - emulation - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

emulation

-
-
open override val emulation: EmulationSettings? = null(source)
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-yandex-settings/index.html b/docs/cds/cds/org.icpclive.cds/-yandex-settings/index.html deleted file mode 100644 index 475b303d1..000000000 --- a/docs/cds/cds/org.icpclive.cds/-yandex-settings/index.html +++ /dev/null @@ -1,209 +0,0 @@ - - - - - YandexSettings - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

YandexSettings

-
@Serializable
class YandexSettings(val apiKey: Credential, val loginRegex: String, val contestId: Int, val resultType: ContestResultType = ContestResultType.ICPC, val emulation: EmulationSettings? = null) : CDSSettings(source)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(apiKey: Credential, loginRegex: String, contestId: Int, resultType: ContestResultType = ContestResultType.ICPC, emulation: EmulationSettings? = null)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val emulation: EmulationSettings? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
- -
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
fun toFlow(creds: Map<String, String>): Flow<ContestUpdate>
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override fun toString(): String
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-yandex-settings/login-regex.html b/docs/cds/cds/org.icpclive.cds/-yandex-settings/login-regex.html deleted file mode 100644 index eed646d9c..000000000 --- a/docs/cds/cds/org.icpclive.cds/-yandex-settings/login-regex.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - loginRegex - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

loginRegex

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/-yandex-settings/result-type.html b/docs/cds/cds/org.icpclive.cds/-yandex-settings/result-type.html deleted file mode 100644 index 77c9f3a75..000000000 --- a/docs/cds/cds/org.icpclive.cds/-yandex-settings/result-type.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - resultType - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

resultType

-
- -
- -
-
- - diff --git a/docs/cds/cds/org.icpclive.cds/parse-file-to-cds-settings.html b/docs/cds/cds/org.icpclive.cds/parse-file-to-cds-settings.html deleted file mode 100644 index a090513b6..000000000 --- a/docs/cds/cds/org.icpclive.cds/parse-file-to-cds-settings.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - parseFileToCdsSettings - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

parseFileToCdsSettings

-
- -
- -
-
- - diff --git a/docs/cds/cds/package-list b/docs/cds/cds/package-list deleted file mode 100644 index e088e65fe..000000000 --- a/docs/cds/cds/package-list +++ /dev/null @@ -1,418 +0,0 @@ -$dokka.format:html-v1 -$dokka.linkExtension:html -$dokka.location:org.icpclive.api.tunning////PointingToDeclaration/cds/org.icpclive.api.tunning/index.html -$dokka.location:org.icpclive.api.tunning//toAdvancedProperties/org.icpclive.api.ContestInfo#kotlin.collections.Set[kotlin.String]/PointingToDeclaration/cds/org.icpclive.api.tunning/to-advanced-properties.html -$dokka.location:org.icpclive.api.tunning/AdvancedProperties///PointingToDeclaration/cds/org.icpclive.api.tunning/-advanced-properties/index.html -$dokka.location:org.icpclive.api.tunning/AdvancedProperties/AdvancedProperties/#kotlinx.datetime.Instant?#kotlin.time.Duration?#kotlin.time.Duration?#kotlin.collections.Map[org.icpclive.api.TeamMediaType,org.icpclive.api.MediaType?]?#kotlin.collections.Map[kotlin.String,org.icpclive.api.tunning.TeamInfoOverride]?#kotlin.collections.Map[kotlin.String,org.icpclive.api.tunning.GroupInfoOverride]?#kotlin.collections.Map[kotlin.String,org.icpclive.api.tunning.ProblemInfoOverride]?#org.icpclive.api.tunning.RankingSettings?/PointingToDeclaration/cds/org.icpclive.api.tunning/-advanced-properties/-advanced-properties.html -$dokka.location:org.icpclive.api.tunning/AdvancedProperties/freezeTime/#/PointingToDeclaration/cds/org.icpclive.api.tunning/-advanced-properties/freeze-time.html -$dokka.location:org.icpclive.api.tunning/AdvancedProperties/groupOverrides/#/PointingToDeclaration/cds/org.icpclive.api.tunning/-advanced-properties/group-overrides.html -$dokka.location:org.icpclive.api.tunning/AdvancedProperties/holdTime/#/PointingToDeclaration/cds/org.icpclive.api.tunning/-advanced-properties/hold-time.html -$dokka.location:org.icpclive.api.tunning/AdvancedProperties/problemOverrides/#/PointingToDeclaration/cds/org.icpclive.api.tunning/-advanced-properties/problem-overrides.html -$dokka.location:org.icpclive.api.tunning/AdvancedProperties/scoreboardOverrides/#/PointingToDeclaration/cds/org.icpclive.api.tunning/-advanced-properties/scoreboard-overrides.html -$dokka.location:org.icpclive.api.tunning/AdvancedProperties/startTime/#/PointingToDeclaration/cds/org.icpclive.api.tunning/-advanced-properties/start-time.html -$dokka.location:org.icpclive.api.tunning/AdvancedProperties/teamMediaTemplate/#/PointingToDeclaration/cds/org.icpclive.api.tunning/-advanced-properties/team-media-template.html -$dokka.location:org.icpclive.api.tunning/AdvancedProperties/teamOverrides/#/PointingToDeclaration/cds/org.icpclive.api.tunning/-advanced-properties/team-overrides.html -$dokka.location:org.icpclive.api.tunning/GroupInfoOverride///PointingToDeclaration/cds/org.icpclive.api.tunning/-group-info-override/index.html -$dokka.location:org.icpclive.api.tunning/GroupInfoOverride/GroupInfoOverride/#kotlin.Boolean?#kotlin.Boolean?/PointingToDeclaration/cds/org.icpclive.api.tunning/-group-info-override/-group-info-override.html -$dokka.location:org.icpclive.api.tunning/GroupInfoOverride/isHidden/#/PointingToDeclaration/cds/org.icpclive.api.tunning/-group-info-override/is-hidden.html -$dokka.location:org.icpclive.api.tunning/GroupInfoOverride/isOutOfContest/#/PointingToDeclaration/cds/org.icpclive.api.tunning/-group-info-override/is-out-of-contest.html -$dokka.location:org.icpclive.api.tunning/ProblemInfoOverride///PointingToDeclaration/cds/org.icpclive.api.tunning/-problem-info-override/index.html -$dokka.location:org.icpclive.api.tunning/ProblemInfoOverride/ProblemInfoOverride/#kotlin.String?#java.awt.Color?#kotlin.Double?#kotlin.Double?#org.icpclive.api.ScoreMergeMode?/PointingToDeclaration/cds/org.icpclive.api.tunning/-problem-info-override/-problem-info-override.html -$dokka.location:org.icpclive.api.tunning/ProblemInfoOverride/color/#/PointingToDeclaration/cds/org.icpclive.api.tunning/-problem-info-override/color.html -$dokka.location:org.icpclive.api.tunning/ProblemInfoOverride/maxScore/#/PointingToDeclaration/cds/org.icpclive.api.tunning/-problem-info-override/max-score.html -$dokka.location:org.icpclive.api.tunning/ProblemInfoOverride/minScore/#/PointingToDeclaration/cds/org.icpclive.api.tunning/-problem-info-override/min-score.html -$dokka.location:org.icpclive.api.tunning/ProblemInfoOverride/name/#/PointingToDeclaration/cds/org.icpclive.api.tunning/-problem-info-override/name.html -$dokka.location:org.icpclive.api.tunning/ProblemInfoOverride/scoreMergeMode/#/PointingToDeclaration/cds/org.icpclive.api.tunning/-problem-info-override/score-merge-mode.html -$dokka.location:org.icpclive.api.tunning/RankingSettings///PointingToDeclaration/cds/org.icpclive.api.tunning/-ranking-settings/index.html -$dokka.location:org.icpclive.api.tunning/RankingSettings/RankingSettings/#kotlin.collections.List[org.icpclive.api.MedalType]?#kotlin.time.Duration?#kotlin.Boolean?#org.icpclive.api.PenaltyRoundingMode?/PointingToDeclaration/cds/org.icpclive.api.tunning/-ranking-settings/-ranking-settings.html -$dokka.location:org.icpclive.api.tunning/RankingSettings/medals/#/PointingToDeclaration/cds/org.icpclive.api.tunning/-ranking-settings/medals.html -$dokka.location:org.icpclive.api.tunning/RankingSettings/penaltyPerWrongAttempt/#/PointingToDeclaration/cds/org.icpclive.api.tunning/-ranking-settings/penalty-per-wrong-attempt.html -$dokka.location:org.icpclive.api.tunning/RankingSettings/penaltyRoundingMode/#/PointingToDeclaration/cds/org.icpclive.api.tunning/-ranking-settings/penalty-rounding-mode.html -$dokka.location:org.icpclive.api.tunning/RankingSettings/showTeamsWithoutSubmissions/#/PointingToDeclaration/cds/org.icpclive.api.tunning/-ranking-settings/show-teams-without-submissions.html -$dokka.location:org.icpclive.api.tunning/TeamInfoOverride///PointingToDeclaration/cds/org.icpclive.api.tunning/-team-info-override/index.html -$dokka.location:org.icpclive.api.tunning/TeamInfoOverride/TeamInfoOverride/#kotlin.String?#kotlin.String?#kotlin.collections.List[kotlin.String]?#kotlin.String?#kotlin.collections.Map[org.icpclive.api.TeamMediaType,org.icpclive.api.MediaType?]?#kotlin.String?#kotlin.Boolean?#kotlin.Boolean?/PointingToDeclaration/cds/org.icpclive.api.tunning/-team-info-override/-team-info-override.html -$dokka.location:org.icpclive.api.tunning/TeamInfoOverride/additionalInfo/#/PointingToDeclaration/cds/org.icpclive.api.tunning/-team-info-override/additional-info.html -$dokka.location:org.icpclive.api.tunning/TeamInfoOverride/groups/#/PointingToDeclaration/cds/org.icpclive.api.tunning/-team-info-override/groups.html -$dokka.location:org.icpclive.api.tunning/TeamInfoOverride/hashTag/#/PointingToDeclaration/cds/org.icpclive.api.tunning/-team-info-override/hash-tag.html -$dokka.location:org.icpclive.api.tunning/TeamInfoOverride/isHidden/#/PointingToDeclaration/cds/org.icpclive.api.tunning/-team-info-override/is-hidden.html -$dokka.location:org.icpclive.api.tunning/TeamInfoOverride/isOutOfContest/#/PointingToDeclaration/cds/org.icpclive.api.tunning/-team-info-override/is-out-of-contest.html -$dokka.location:org.icpclive.api.tunning/TeamInfoOverride/medias/#/PointingToDeclaration/cds/org.icpclive.api.tunning/-team-info-override/medias.html -$dokka.location:org.icpclive.api.tunning/TeamInfoOverride/name/#/PointingToDeclaration/cds/org.icpclive.api.tunning/-team-info-override/name.html -$dokka.location:org.icpclive.api.tunning/TeamInfoOverride/shortname/#/PointingToDeclaration/cds/org.icpclive.api.tunning/-team-info-override/shortname.html -$dokka.location:org.icpclive.api////PointingToDeclaration/cds/org.icpclive.api/index.html -$dokka.location:org.icpclive.api//toGroupInfos/kotlin.collections.List[org.icpclive.api.TeamInfo]#/PointingToDeclaration/cds/org.icpclive.api/to-group-infos.html -$dokka.location:org.icpclive.api/AnalyticsCommentaryEvent///PointingToDeclaration/cds/org.icpclive.api/-analytics-commentary-event/index.html -$dokka.location:org.icpclive.api/AnalyticsCommentaryEvent/AnalyticsCommentaryEvent/#kotlin.String#kotlin.String#kotlinx.datetime.Instant#kotlin.time.Duration#kotlin.collections.List[kotlin.Int]#kotlin.collections.List[kotlin.Int]#kotlin.Int#kotlin.collections.List[kotlin.String]#org.icpclive.api.AnalyticsCompanionPreset?#org.icpclive.api.AnalyticsCompanionPreset?#org.icpclive.api.AnalyticsCompanionRun?/PointingToDeclaration/cds/org.icpclive.api/-analytics-commentary-event/-analytics-commentary-event.html -$dokka.location:org.icpclive.api/AnalyticsCommentaryEvent/advertisement/#/PointingToDeclaration/cds/org.icpclive.api/-analytics-commentary-event/advertisement.html -$dokka.location:org.icpclive.api/AnalyticsCommentaryEvent/featuredRun/#/PointingToDeclaration/cds/org.icpclive.api/-analytics-commentary-event/featured-run.html -$dokka.location:org.icpclive.api/AnalyticsCommentaryEvent/id/#/PointingToDeclaration/cds/org.icpclive.api/-analytics-commentary-event/id.html -$dokka.location:org.icpclive.api/AnalyticsCommentaryEvent/message/#/PointingToDeclaration/cds/org.icpclive.api/-analytics-commentary-event/message.html -$dokka.location:org.icpclive.api/AnalyticsCommentaryEvent/priority/#/PointingToDeclaration/cds/org.icpclive.api/-analytics-commentary-event/priority.html -$dokka.location:org.icpclive.api/AnalyticsCommentaryEvent/relativeTime/#/PointingToDeclaration/cds/org.icpclive.api/-analytics-commentary-event/relative-time.html -$dokka.location:org.icpclive.api/AnalyticsCommentaryEvent/runIds/#/PointingToDeclaration/cds/org.icpclive.api/-analytics-commentary-event/run-ids.html -$dokka.location:org.icpclive.api/AnalyticsCommentaryEvent/tags/#/PointingToDeclaration/cds/org.icpclive.api/-analytics-commentary-event/tags.html -$dokka.location:org.icpclive.api/AnalyticsCommentaryEvent/teamIds/#/PointingToDeclaration/cds/org.icpclive.api/-analytics-commentary-event/team-ids.html -$dokka.location:org.icpclive.api/AnalyticsCommentaryEvent/tickerMessage/#/PointingToDeclaration/cds/org.icpclive.api/-analytics-commentary-event/ticker-message.html -$dokka.location:org.icpclive.api/AnalyticsCommentaryEvent/time/#/PointingToDeclaration/cds/org.icpclive.api/-analytics-commentary-event/time.html -$dokka.location:org.icpclive.api/AnalyticsCompanionPreset///PointingToDeclaration/cds/org.icpclive.api/-analytics-companion-preset/index.html -$dokka.location:org.icpclive.api/AnalyticsCompanionPreset/AnalyticsCompanionPreset/#kotlin.Int#kotlinx.datetime.Instant?/PointingToDeclaration/cds/org.icpclive.api/-analytics-companion-preset/-analytics-companion-preset.html -$dokka.location:org.icpclive.api/AnalyticsCompanionPreset/expirationTime/#/PointingToDeclaration/cds/org.icpclive.api/-analytics-companion-preset/expiration-time.html -$dokka.location:org.icpclive.api/AnalyticsCompanionPreset/presetId/#/PointingToDeclaration/cds/org.icpclive.api/-analytics-companion-preset/preset-id.html -$dokka.location:org.icpclive.api/AnalyticsCompanionRun///PointingToDeclaration/cds/org.icpclive.api/-analytics-companion-run/index.html -$dokka.location:org.icpclive.api/AnalyticsCompanionRun/AnalyticsCompanionRun/#kotlinx.datetime.Instant?#org.icpclive.api.MediaType/PointingToDeclaration/cds/org.icpclive.api/-analytics-companion-run/-analytics-companion-run.html -$dokka.location:org.icpclive.api/AnalyticsCompanionRun/expirationTime/#/PointingToDeclaration/cds/org.icpclive.api/-analytics-companion-run/expiration-time.html -$dokka.location:org.icpclive.api/AnalyticsCompanionRun/mediaType/#/PointingToDeclaration/cds/org.icpclive.api/-analytics-companion-run/media-type.html -$dokka.location:org.icpclive.api/AnalyticsMessage///PointingToDeclaration/cds/org.icpclive.api/-analytics-message/index.html -$dokka.location:org.icpclive.api/AnalyticsMessage/id/#/PointingToDeclaration/cds/org.icpclive.api/-analytics-message/id.html -$dokka.location:org.icpclive.api/AnalyticsMessage/relativeTime/#/PointingToDeclaration/cds/org.icpclive.api/-analytics-message/relative-time.html -$dokka.location:org.icpclive.api/AnalyticsMessage/time/#/PointingToDeclaration/cds/org.icpclive.api/-analytics-message/time.html -$dokka.location:org.icpclive.api/ContestInfo///PointingToDeclaration/cds/org.icpclive.api/-contest-info/index.html -$dokka.location:org.icpclive.api/ContestInfo/ContestInfo/#kotlin.String#org.icpclive.api.ContestStatus#org.icpclive.api.ContestResultType#kotlinx.datetime.Instant#kotlin.time.Duration#kotlin.time.Duration#kotlin.collections.List[org.icpclive.api.ProblemInfo]#kotlin.collections.List[org.icpclive.api.TeamInfo]#kotlin.collections.List[org.icpclive.api.GroupInfo]#org.icpclive.api.PenaltyRoundingMode#kotlin.time.Duration?#kotlin.Double#kotlin.collections.List[org.icpclive.api.MedalType]#kotlin.time.Duration/PointingToDeclaration/cds/org.icpclive.api/-contest-info/-contest-info.html -$dokka.location:org.icpclive.api/ContestInfo/contestLength/#/PointingToDeclaration/cds/org.icpclive.api/-contest-info/contest-length.html -$dokka.location:org.icpclive.api/ContestInfo/currentContestTime/#/PointingToDeclaration/cds/org.icpclive.api/-contest-info/current-contest-time.html -$dokka.location:org.icpclive.api/ContestInfo/emulationSpeed/#/PointingToDeclaration/cds/org.icpclive.api/-contest-info/emulation-speed.html -$dokka.location:org.icpclive.api/ContestInfo/freezeTime/#/PointingToDeclaration/cds/org.icpclive.api/-contest-info/freeze-time.html -$dokka.location:org.icpclive.api/ContestInfo/groupById/#kotlin.String/PointingToDeclaration/cds/org.icpclive.api/-contest-info/group-by-id.html -$dokka.location:org.icpclive.api/ContestInfo/groups/#/PointingToDeclaration/cds/org.icpclive.api/-contest-info/groups.html -$dokka.location:org.icpclive.api/ContestInfo/holdBeforeStartTime/#/PointingToDeclaration/cds/org.icpclive.api/-contest-info/hold-before-start-time.html -$dokka.location:org.icpclive.api/ContestInfo/medals/#/PointingToDeclaration/cds/org.icpclive.api/-contest-info/medals.html -$dokka.location:org.icpclive.api/ContestInfo/name/#/PointingToDeclaration/cds/org.icpclive.api/-contest-info/name.html -$dokka.location:org.icpclive.api/ContestInfo/penaltyPerWrongAttempt/#/PointingToDeclaration/cds/org.icpclive.api/-contest-info/penalty-per-wrong-attempt.html -$dokka.location:org.icpclive.api/ContestInfo/penaltyRoundingMode/#/PointingToDeclaration/cds/org.icpclive.api/-contest-info/penalty-rounding-mode.html -$dokka.location:org.icpclive.api/ContestInfo/problems/#/PointingToDeclaration/cds/org.icpclive.api/-contest-info/problems.html -$dokka.location:org.icpclive.api/ContestInfo/resultType/#/PointingToDeclaration/cds/org.icpclive.api/-contest-info/result-type.html -$dokka.location:org.icpclive.api/ContestInfo/startTime/#/PointingToDeclaration/cds/org.icpclive.api/-contest-info/start-time.html -$dokka.location:org.icpclive.api/ContestInfo/status/#/PointingToDeclaration/cds/org.icpclive.api/-contest-info/status.html -$dokka.location:org.icpclive.api/ContestInfo/teams/#/PointingToDeclaration/cds/org.icpclive.api/-contest-info/teams.html -$dokka.location:org.icpclive.api/ContestResultType.ICPC///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}cds/org.icpclive.api/-contest-result-type/-i-c-p-c/index.html -$dokka.location:org.icpclive.api/ContestResultType.IOI///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}cds/org.icpclive.api/-contest-result-type/-i-o-i/index.html -$dokka.location:org.icpclive.api/ContestResultType///PointingToDeclaration/cds/org.icpclive.api/-contest-result-type/index.html -$dokka.location:org.icpclive.api/ContestResultType/valueOf/#kotlin.String/PointingToDeclaration/cds/org.icpclive.api/-contest-result-type/value-of.html -$dokka.location:org.icpclive.api/ContestResultType/values/#/PointingToDeclaration/cds/org.icpclive.api/-contest-result-type/values.html -$dokka.location:org.icpclive.api/ContestStatus.BEFORE///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}cds/org.icpclive.api/-contest-status/-b-e-f-o-r-e/index.html -$dokka.location:org.icpclive.api/ContestStatus.OVER///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}cds/org.icpclive.api/-contest-status/-o-v-e-r/index.html -$dokka.location:org.icpclive.api/ContestStatus.RUNNING///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}cds/org.icpclive.api/-contest-status/-r-u-n-n-i-n-g/index.html -$dokka.location:org.icpclive.api/ContestStatus///PointingToDeclaration/cds/org.icpclive.api/-contest-status/index.html -$dokka.location:org.icpclive.api/ContestStatus/valueOf/#kotlin.String/PointingToDeclaration/cds/org.icpclive.api/-contest-status/value-of.html -$dokka.location:org.icpclive.api/ContestStatus/values/#/PointingToDeclaration/cds/org.icpclive.api/-contest-status/values.html -$dokka.location:org.icpclive.api/GroupInfo///PointingToDeclaration/cds/org.icpclive.api/-group-info/index.html -$dokka.location:org.icpclive.api/GroupInfo/GroupInfo/#kotlin.String#kotlin.Boolean#kotlin.Boolean/PointingToDeclaration/cds/org.icpclive.api/-group-info/-group-info.html -$dokka.location:org.icpclive.api/GroupInfo/isHidden/#/PointingToDeclaration/cds/org.icpclive.api/-group-info/is-hidden.html -$dokka.location:org.icpclive.api/GroupInfo/isOutOfContest/#/PointingToDeclaration/cds/org.icpclive.api/-group-info/is-out-of-contest.html -$dokka.location:org.icpclive.api/GroupInfo/name/#/PointingToDeclaration/cds/org.icpclive.api/-group-info/name.html -$dokka.location:org.icpclive.api/ICPCProblemResult///PointingToDeclaration/cds/org.icpclive.api/-i-c-p-c-problem-result/index.html -$dokka.location:org.icpclive.api/ICPCProblemResult/ICPCProblemResult/#kotlin.Int#kotlin.Int#kotlin.Boolean#kotlin.Boolean#kotlin.time.Duration?/PointingToDeclaration/cds/org.icpclive.api/-i-c-p-c-problem-result/-i-c-p-c-problem-result.html -$dokka.location:org.icpclive.api/ICPCProblemResult/isFirstToSolve/#/PointingToDeclaration/cds/org.icpclive.api/-i-c-p-c-problem-result/is-first-to-solve.html -$dokka.location:org.icpclive.api/ICPCProblemResult/isSolved/#/PointingToDeclaration/cds/org.icpclive.api/-i-c-p-c-problem-result/is-solved.html -$dokka.location:org.icpclive.api/ICPCProblemResult/lastSubmitTime/#/PointingToDeclaration/cds/org.icpclive.api/-i-c-p-c-problem-result/last-submit-time.html -$dokka.location:org.icpclive.api/ICPCProblemResult/pendingAttempts/#/PointingToDeclaration/cds/org.icpclive.api/-i-c-p-c-problem-result/pending-attempts.html -$dokka.location:org.icpclive.api/ICPCProblemResult/wrongAttempts/#/PointingToDeclaration/cds/org.icpclive.api/-i-c-p-c-problem-result/wrong-attempts.html -$dokka.location:org.icpclive.api/ICPCRunResult///PointingToDeclaration/cds/org.icpclive.api/-i-c-p-c-run-result/index.html -$dokka.location:org.icpclive.api/ICPCRunResult/ICPCRunResult/#org.icpclive.api.Verdict#kotlin.Boolean/PointingToDeclaration/cds/org.icpclive.api/-i-c-p-c-run-result/-i-c-p-c-run-result.html -$dokka.location:org.icpclive.api/ICPCRunResult/isFirstToSolveRun/#/PointingToDeclaration/cds/org.icpclive.api/-i-c-p-c-run-result/is-first-to-solve-run.html -$dokka.location:org.icpclive.api/ICPCRunResult/verdict/#/PointingToDeclaration/cds/org.icpclive.api/-i-c-p-c-run-result/verdict.html -$dokka.location:org.icpclive.api/IOIProblemResult///PointingToDeclaration/cds/org.icpclive.api/-i-o-i-problem-result/index.html -$dokka.location:org.icpclive.api/IOIProblemResult/IOIProblemResult/#kotlin.Double?#kotlin.time.Duration?#kotlin.Boolean/PointingToDeclaration/cds/org.icpclive.api/-i-o-i-problem-result/-i-o-i-problem-result.html -$dokka.location:org.icpclive.api/IOIProblemResult/isFirstBest/#/PointingToDeclaration/cds/org.icpclive.api/-i-o-i-problem-result/is-first-best.html -$dokka.location:org.icpclive.api/IOIProblemResult/lastSubmitTime/#/PointingToDeclaration/cds/org.icpclive.api/-i-o-i-problem-result/last-submit-time.html -$dokka.location:org.icpclive.api/IOIProblemResult/score/#/PointingToDeclaration/cds/org.icpclive.api/-i-o-i-problem-result/score.html -$dokka.location:org.icpclive.api/IOIRunResult///PointingToDeclaration/cds/org.icpclive.api/-i-o-i-run-result/index.html -$dokka.location:org.icpclive.api/IOIRunResult/IOIRunResult/#kotlin.collections.List[kotlin.Double]#org.icpclive.api.Verdict?#kotlin.Double#kotlin.Double#kotlin.Boolean#kotlin.Boolean/PointingToDeclaration/cds/org.icpclive.api/-i-o-i-run-result/-i-o-i-run-result.html -$dokka.location:org.icpclive.api/IOIRunResult/difference/#/PointingToDeclaration/cds/org.icpclive.api/-i-o-i-run-result/difference.html -$dokka.location:org.icpclive.api/IOIRunResult/isFirstBestRun/#/PointingToDeclaration/cds/org.icpclive.api/-i-o-i-run-result/is-first-best-run.html -$dokka.location:org.icpclive.api/IOIRunResult/isFirstBestTeamRun/#/PointingToDeclaration/cds/org.icpclive.api/-i-o-i-run-result/is-first-best-team-run.html -$dokka.location:org.icpclive.api/IOIRunResult/score/#/PointingToDeclaration/cds/org.icpclive.api/-i-o-i-run-result/score.html -$dokka.location:org.icpclive.api/IOIRunResult/scoreAfter/#/PointingToDeclaration/cds/org.icpclive.api/-i-o-i-run-result/score-after.html -$dokka.location:org.icpclive.api/IOIRunResult/wrongVerdict/#/PointingToDeclaration/cds/org.icpclive.api/-i-o-i-run-result/wrong-verdict.html -$dokka.location:org.icpclive.api/MedalTiebreakMode.ALL///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}cds/org.icpclive.api/-medal-tiebreak-mode/-a-l-l/index.html -$dokka.location:org.icpclive.api/MedalTiebreakMode.NONE///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}cds/org.icpclive.api/-medal-tiebreak-mode/-n-o-n-e/index.html -$dokka.location:org.icpclive.api/MedalTiebreakMode///PointingToDeclaration/cds/org.icpclive.api/-medal-tiebreak-mode/index.html -$dokka.location:org.icpclive.api/MedalTiebreakMode/valueOf/#kotlin.String/PointingToDeclaration/cds/org.icpclive.api/-medal-tiebreak-mode/value-of.html -$dokka.location:org.icpclive.api/MedalTiebreakMode/values/#/PointingToDeclaration/cds/org.icpclive.api/-medal-tiebreak-mode/values.html -$dokka.location:org.icpclive.api/MedalType///PointingToDeclaration/cds/org.icpclive.api/-medal-type/index.html -$dokka.location:org.icpclive.api/MedalType/MedalType/#kotlin.String#kotlin.Int#kotlin.Double#org.icpclive.api.MedalTiebreakMode/PointingToDeclaration/cds/org.icpclive.api/-medal-type/-medal-type.html -$dokka.location:org.icpclive.api/MedalType/count/#/PointingToDeclaration/cds/org.icpclive.api/-medal-type/count.html -$dokka.location:org.icpclive.api/MedalType/minScore/#/PointingToDeclaration/cds/org.icpclive.api/-medal-type/min-score.html -$dokka.location:org.icpclive.api/MedalType/name/#/PointingToDeclaration/cds/org.icpclive.api/-medal-type/name.html -$dokka.location:org.icpclive.api/MedalType/tiebreakMode/#/PointingToDeclaration/cds/org.icpclive.api/-medal-type/tiebreak-mode.html -$dokka.location:org.icpclive.api/MediaType.Object///PointingToDeclaration/cds/org.icpclive.api/-media-type/-object/index.html -$dokka.location:org.icpclive.api/MediaType.Object/Object/#kotlin.String#kotlin.Boolean/PointingToDeclaration/cds/org.icpclive.api/-media-type/-object/-object.html -$dokka.location:org.icpclive.api/MediaType.Object/isMedia/#/PointingToDeclaration/cds/org.icpclive.api/-media-type/-object/is-media.html -$dokka.location:org.icpclive.api/MediaType.Object/url/#/PointingToDeclaration/cds/org.icpclive.api/-media-type/-object/url.html -$dokka.location:org.icpclive.api/MediaType.Photo///PointingToDeclaration/cds/org.icpclive.api/-media-type/-photo/index.html -$dokka.location:org.icpclive.api/MediaType.Photo/Photo/#kotlin.String#kotlin.Boolean/PointingToDeclaration/cds/org.icpclive.api/-media-type/-photo/-photo.html -$dokka.location:org.icpclive.api/MediaType.Photo/isMedia/#/PointingToDeclaration/cds/org.icpclive.api/-media-type/-photo/is-media.html -$dokka.location:org.icpclive.api/MediaType.Photo/url/#/PointingToDeclaration/cds/org.icpclive.api/-media-type/-photo/url.html -$dokka.location:org.icpclive.api/MediaType.TaskStatus///PointingToDeclaration/cds/org.icpclive.api/-media-type/-task-status/index.html -$dokka.location:org.icpclive.api/MediaType.TaskStatus/TaskStatus/#kotlin.Int/PointingToDeclaration/cds/org.icpclive.api/-media-type/-task-status/-task-status.html -$dokka.location:org.icpclive.api/MediaType.TaskStatus/isMedia/#/PointingToDeclaration/cds/org.icpclive.api/-media-type/-task-status/is-media.html -$dokka.location:org.icpclive.api/MediaType.TaskStatus/teamId/#/PointingToDeclaration/cds/org.icpclive.api/-media-type/-task-status/team-id.html -$dokka.location:org.icpclive.api/MediaType.Video///PointingToDeclaration/cds/org.icpclive.api/-media-type/-video/index.html -$dokka.location:org.icpclive.api/MediaType.Video/Video/#kotlin.String#kotlin.Boolean/PointingToDeclaration/cds/org.icpclive.api/-media-type/-video/-video.html -$dokka.location:org.icpclive.api/MediaType.Video/isMedia/#/PointingToDeclaration/cds/org.icpclive.api/-media-type/-video/is-media.html -$dokka.location:org.icpclive.api/MediaType.Video/url/#/PointingToDeclaration/cds/org.icpclive.api/-media-type/-video/url.html -$dokka.location:org.icpclive.api/MediaType.WebRTCGrabberConnection///PointingToDeclaration/cds/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/index.html -$dokka.location:org.icpclive.api/MediaType.WebRTCGrabberConnection/WebRTCGrabberConnection/#kotlin.String#kotlin.String#kotlin.String#kotlin.String?#kotlin.Boolean/PointingToDeclaration/cds/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/-web-r-t-c-grabber-connection.html -$dokka.location:org.icpclive.api/MediaType.WebRTCGrabberConnection/credential/#/PointingToDeclaration/cds/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/credential.html -$dokka.location:org.icpclive.api/MediaType.WebRTCGrabberConnection/isMedia/#/PointingToDeclaration/cds/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/is-media.html -$dokka.location:org.icpclive.api/MediaType.WebRTCGrabberConnection/peerName/#/PointingToDeclaration/cds/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/peer-name.html -$dokka.location:org.icpclive.api/MediaType.WebRTCGrabberConnection/streamType/#/PointingToDeclaration/cds/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/stream-type.html -$dokka.location:org.icpclive.api/MediaType.WebRTCGrabberConnection/url/#/PointingToDeclaration/cds/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/url.html -$dokka.location:org.icpclive.api/MediaType.WebRTCProxyConnection///PointingToDeclaration/cds/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/index.html -$dokka.location:org.icpclive.api/MediaType.WebRTCProxyConnection/WebRTCProxyConnection/#kotlin.String#kotlin.String?#kotlin.Boolean/PointingToDeclaration/cds/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/-web-r-t-c-proxy-connection.html -$dokka.location:org.icpclive.api/MediaType.WebRTCProxyConnection/audioUrl/#/PointingToDeclaration/cds/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/audio-url.html -$dokka.location:org.icpclive.api/MediaType.WebRTCProxyConnection/isMedia/#/PointingToDeclaration/cds/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/is-media.html -$dokka.location:org.icpclive.api/MediaType.WebRTCProxyConnection/url/#/PointingToDeclaration/cds/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/url.html -$dokka.location:org.icpclive.api/MediaType///PointingToDeclaration/cds/org.icpclive.api/-media-type/index.html -$dokka.location:org.icpclive.api/MediaType/applyTemplate/#kotlin.String/PointingToDeclaration/cds/org.icpclive.api/-media-type/apply-template.html -$dokka.location:org.icpclive.api/MediaType/isMedia/#/PointingToDeclaration/cds/org.icpclive.api/-media-type/is-media.html -$dokka.location:org.icpclive.api/MediaType/noMedia/#/PointingToDeclaration/cds/org.icpclive.api/-media-type/no-media.html -$dokka.location:org.icpclive.api/OptimismLevel.NORMAL///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}cds/org.icpclive.api/-optimism-level/-n-o-r-m-a-l/index.html -$dokka.location:org.icpclive.api/OptimismLevel.OPTIMISTIC///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}cds/org.icpclive.api/-optimism-level/-o-p-t-i-m-i-s-t-i-c/index.html -$dokka.location:org.icpclive.api/OptimismLevel.PESSIMISTIC///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}cds/org.icpclive.api/-optimism-level/-p-e-s-s-i-m-i-s-t-i-c/index.html -$dokka.location:org.icpclive.api/OptimismLevel///PointingToDeclaration/cds/org.icpclive.api/-optimism-level/index.html -$dokka.location:org.icpclive.api/OptimismLevel/valueOf/#kotlin.String/PointingToDeclaration/cds/org.icpclive.api/-optimism-level/value-of.html -$dokka.location:org.icpclive.api/OptimismLevel/values/#/PointingToDeclaration/cds/org.icpclive.api/-optimism-level/values.html -$dokka.location:org.icpclive.api/PenaltyRoundingMode.EACH_SUBMISSION_DOWN_TO_MINUTE///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}cds/org.icpclive.api/-penalty-rounding-mode/-e-a-c-h_-s-u-b-m-i-s-s-i-o-n_-d-o-w-n_-t-o_-m-i-n-u-t-e/index.html -$dokka.location:org.icpclive.api/PenaltyRoundingMode.LAST///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}cds/org.icpclive.api/-penalty-rounding-mode/-l-a-s-t/index.html -$dokka.location:org.icpclive.api/PenaltyRoundingMode.SUM_DOWN_TO_MINUTE///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}cds/org.icpclive.api/-penalty-rounding-mode/-s-u-m_-d-o-w-n_-t-o_-m-i-n-u-t-e/index.html -$dokka.location:org.icpclive.api/PenaltyRoundingMode.SUM_IN_SECONDS///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}cds/org.icpclive.api/-penalty-rounding-mode/-s-u-m_-i-n_-s-e-c-o-n-d-s/index.html -$dokka.location:org.icpclive.api/PenaltyRoundingMode.ZERO///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}cds/org.icpclive.api/-penalty-rounding-mode/-z-e-r-o/index.html -$dokka.location:org.icpclive.api/PenaltyRoundingMode///PointingToDeclaration/cds/org.icpclive.api/-penalty-rounding-mode/index.html -$dokka.location:org.icpclive.api/PenaltyRoundingMode/valueOf/#kotlin.String/PointingToDeclaration/cds/org.icpclive.api/-penalty-rounding-mode/value-of.html -$dokka.location:org.icpclive.api/PenaltyRoundingMode/values/#/PointingToDeclaration/cds/org.icpclive.api/-penalty-rounding-mode/values.html -$dokka.location:org.icpclive.api/ProblemInfo.Companion///PointingToDeclaration/cds/org.icpclive.api/-problem-info/-companion/index.html -$dokka.location:org.icpclive.api/ProblemInfo.Companion/logger/#/PointingToDeclaration/cds/org.icpclive.api/-problem-info/-companion/logger.html -$dokka.location:org.icpclive.api/ProblemInfo///PointingToDeclaration/cds/org.icpclive.api/-problem-info/index.html -$dokka.location:org.icpclive.api/ProblemInfo/ProblemInfo/#kotlin.String#kotlin.String#kotlin.Int#kotlin.Int#kotlin.String#kotlin.Double?#kotlin.Double?#java.awt.Color?#org.icpclive.api.ScoreMergeMode?/PointingToDeclaration/cds/org.icpclive.api/-problem-info/-problem-info.html -$dokka.location:org.icpclive.api/ProblemInfo/color/#/PointingToDeclaration/cds/org.icpclive.api/-problem-info/color.html -$dokka.location:org.icpclive.api/ProblemInfo/contestSystemId/#/PointingToDeclaration/cds/org.icpclive.api/-problem-info/contest-system-id.html -$dokka.location:org.icpclive.api/ProblemInfo/id/#/PointingToDeclaration/cds/org.icpclive.api/-problem-info/id.html -$dokka.location:org.icpclive.api/ProblemInfo/letter/#/PointingToDeclaration/cds/org.icpclive.api/-problem-info/letter.html -$dokka.location:org.icpclive.api/ProblemInfo/maxScore/#/PointingToDeclaration/cds/org.icpclive.api/-problem-info/max-score.html -$dokka.location:org.icpclive.api/ProblemInfo/minScore/#/PointingToDeclaration/cds/org.icpclive.api/-problem-info/min-score.html -$dokka.location:org.icpclive.api/ProblemInfo/name/#/PointingToDeclaration/cds/org.icpclive.api/-problem-info/name.html -$dokka.location:org.icpclive.api/ProblemInfo/ordinal/#/PointingToDeclaration/cds/org.icpclive.api/-problem-info/ordinal.html -$dokka.location:org.icpclive.api/ProblemInfo/scoreMergeMode/#/PointingToDeclaration/cds/org.icpclive.api/-problem-info/score-merge-mode.html -$dokka.location:org.icpclive.api/ProblemResult///PointingToDeclaration/cds/org.icpclive.api/-problem-result/index.html -$dokka.location:org.icpclive.api/RunInfo///PointingToDeclaration/cds/org.icpclive.api/-run-info/index.html -$dokka.location:org.icpclive.api/RunInfo/RunInfo/#kotlin.Int#org.icpclive.api.RunResult?#kotlin.Double#kotlin.Int#kotlin.Int#kotlin.time.Duration#org.icpclive.api.MediaType?#kotlin.collections.List[org.icpclive.api.MediaType]#kotlin.Boolean/PointingToDeclaration/cds/org.icpclive.api/-run-info/-run-info.html -$dokka.location:org.icpclive.api/RunInfo/featuredRunMedia/#/PointingToDeclaration/cds/org.icpclive.api/-run-info/featured-run-media.html -$dokka.location:org.icpclive.api/RunInfo/id/#/PointingToDeclaration/cds/org.icpclive.api/-run-info/id.html -$dokka.location:org.icpclive.api/RunInfo/isHidden/#/PointingToDeclaration/cds/org.icpclive.api/-run-info/is-hidden.html -$dokka.location:org.icpclive.api/RunInfo/percentage/#/PointingToDeclaration/cds/org.icpclive.api/-run-info/percentage.html -$dokka.location:org.icpclive.api/RunInfo/problemId/#/PointingToDeclaration/cds/org.icpclive.api/-run-info/problem-id.html -$dokka.location:org.icpclive.api/RunInfo/reactionVideos/#/PointingToDeclaration/cds/org.icpclive.api/-run-info/reaction-videos.html -$dokka.location:org.icpclive.api/RunInfo/result/#/PointingToDeclaration/cds/org.icpclive.api/-run-info/result.html -$dokka.location:org.icpclive.api/RunInfo/teamId/#/PointingToDeclaration/cds/org.icpclive.api/-run-info/team-id.html -$dokka.location:org.icpclive.api/RunInfo/time/#/PointingToDeclaration/cds/org.icpclive.api/-run-info/time.html -$dokka.location:org.icpclive.api/RunResult///PointingToDeclaration/cds/org.icpclive.api/-run-result/index.html -$dokka.location:org.icpclive.api/ScoreMergeMode.LAST///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}cds/org.icpclive.api/-score-merge-mode/-l-a-s-t/index.html -$dokka.location:org.icpclive.api/ScoreMergeMode.LAST_OK///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}cds/org.icpclive.api/-score-merge-mode/-l-a-s-t_-o-k/index.html -$dokka.location:org.icpclive.api/ScoreMergeMode.MAX_PER_GROUP///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}cds/org.icpclive.api/-score-merge-mode/-m-a-x_-p-e-r_-g-r-o-u-p/index.html -$dokka.location:org.icpclive.api/ScoreMergeMode.MAX_TOTAL///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}cds/org.icpclive.api/-score-merge-mode/-m-a-x_-t-o-t-a-l/index.html -$dokka.location:org.icpclive.api/ScoreMergeMode.SUM///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}cds/org.icpclive.api/-score-merge-mode/-s-u-m/index.html -$dokka.location:org.icpclive.api/ScoreMergeMode///PointingToDeclaration/cds/org.icpclive.api/-score-merge-mode/index.html -$dokka.location:org.icpclive.api/ScoreMergeMode/valueOf/#kotlin.String/PointingToDeclaration/cds/org.icpclive.api/-score-merge-mode/value-of.html -$dokka.location:org.icpclive.api/ScoreMergeMode/values/#/PointingToDeclaration/cds/org.icpclive.api/-score-merge-mode/values.html -$dokka.location:org.icpclive.api/Scoreboard///PointingToDeclaration/cds/org.icpclive.api/-scoreboard/index.html -$dokka.location:org.icpclive.api/Scoreboard/Scoreboard/#kotlin.collections.List[org.icpclive.api.ScoreboardRow]/PointingToDeclaration/cds/org.icpclive.api/-scoreboard/-scoreboard.html -$dokka.location:org.icpclive.api/Scoreboard/rows/#/PointingToDeclaration/cds/org.icpclive.api/-scoreboard/rows.html -$dokka.location:org.icpclive.api/ScoreboardRow///PointingToDeclaration/cds/org.icpclive.api/-scoreboard-row/index.html -$dokka.location:org.icpclive.api/ScoreboardRow/ScoreboardRow/#kotlin.Int#kotlin.Int#kotlin.Double#kotlin.time.Duration#kotlin.Long#kotlin.String?#kotlin.collections.List[org.icpclive.api.ProblemResult]#kotlin.collections.List[kotlin.String]#kotlin.collections.List[kotlin.String]/PointingToDeclaration/cds/org.icpclive.api/-scoreboard-row/-scoreboard-row.html -$dokka.location:org.icpclive.api/ScoreboardRow/championInGroups/#/PointingToDeclaration/cds/org.icpclive.api/-scoreboard-row/champion-in-groups.html -$dokka.location:org.icpclive.api/ScoreboardRow/lastAccepted/#/PointingToDeclaration/cds/org.icpclive.api/-scoreboard-row/last-accepted.html -$dokka.location:org.icpclive.api/ScoreboardRow/medalType/#/PointingToDeclaration/cds/org.icpclive.api/-scoreboard-row/medal-type.html -$dokka.location:org.icpclive.api/ScoreboardRow/penalty/#/PointingToDeclaration/cds/org.icpclive.api/-scoreboard-row/penalty.html -$dokka.location:org.icpclive.api/ScoreboardRow/problemResults/#/PointingToDeclaration/cds/org.icpclive.api/-scoreboard-row/problem-results.html -$dokka.location:org.icpclive.api/ScoreboardRow/rank/#/PointingToDeclaration/cds/org.icpclive.api/-scoreboard-row/rank.html -$dokka.location:org.icpclive.api/ScoreboardRow/teamGroups/#/PointingToDeclaration/cds/org.icpclive.api/-scoreboard-row/team-groups.html -$dokka.location:org.icpclive.api/ScoreboardRow/teamId/#/PointingToDeclaration/cds/org.icpclive.api/-scoreboard-row/team-id.html -$dokka.location:org.icpclive.api/ScoreboardRow/totalScore/#/PointingToDeclaration/cds/org.icpclive.api/-scoreboard-row/total-score.html -$dokka.location:org.icpclive.api/TeamInfo///PointingToDeclaration/cds/org.icpclive.api/-team-info/index.html -$dokka.location:org.icpclive.api/TeamInfo/TeamInfo/#kotlin.Int#kotlin.String#kotlin.String#kotlin.String#kotlin.collections.List[kotlin.String]#kotlin.String?#kotlin.collections.Map[org.icpclive.api.TeamMediaType,org.icpclive.api.MediaType]#kotlin.String?#kotlin.Boolean#kotlin.Boolean/PointingToDeclaration/cds/org.icpclive.api/-team-info/-team-info.html -$dokka.location:org.icpclive.api/TeamInfo/additionalInfo/#/PointingToDeclaration/cds/org.icpclive.api/-team-info/additional-info.html -$dokka.location:org.icpclive.api/TeamInfo/contestSystemId/#/PointingToDeclaration/cds/org.icpclive.api/-team-info/contest-system-id.html -$dokka.location:org.icpclive.api/TeamInfo/groups/#/PointingToDeclaration/cds/org.icpclive.api/-team-info/groups.html -$dokka.location:org.icpclive.api/TeamInfo/hashTag/#/PointingToDeclaration/cds/org.icpclive.api/-team-info/hash-tag.html -$dokka.location:org.icpclive.api/TeamInfo/id/#/PointingToDeclaration/cds/org.icpclive.api/-team-info/id.html -$dokka.location:org.icpclive.api/TeamInfo/isHidden/#/PointingToDeclaration/cds/org.icpclive.api/-team-info/is-hidden.html -$dokka.location:org.icpclive.api/TeamInfo/isOutOfContest/#/PointingToDeclaration/cds/org.icpclive.api/-team-info/is-out-of-contest.html -$dokka.location:org.icpclive.api/TeamInfo/medias/#/PointingToDeclaration/cds/org.icpclive.api/-team-info/medias.html -$dokka.location:org.icpclive.api/TeamInfo/name/#/PointingToDeclaration/cds/org.icpclive.api/-team-info/name.html -$dokka.location:org.icpclive.api/TeamInfo/shortName/#/PointingToDeclaration/cds/org.icpclive.api/-team-info/short-name.html -$dokka.location:org.icpclive.api/TeamMediaType.ACHIEVEMENT///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}cds/org.icpclive.api/-team-media-type/-a-c-h-i-e-v-e-m-e-n-t/index.html -$dokka.location:org.icpclive.api/TeamMediaType.CAMERA///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}cds/org.icpclive.api/-team-media-type/-c-a-m-e-r-a/index.html -$dokka.location:org.icpclive.api/TeamMediaType.PHOTO///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}cds/org.icpclive.api/-team-media-type/-p-h-o-t-o/index.html -$dokka.location:org.icpclive.api/TeamMediaType.REACTION_VIDEO///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}cds/org.icpclive.api/-team-media-type/-r-e-a-c-t-i-o-n_-v-i-d-e-o/index.html -$dokka.location:org.icpclive.api/TeamMediaType.RECORD///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}cds/org.icpclive.api/-team-media-type/-r-e-c-o-r-d/index.html -$dokka.location:org.icpclive.api/TeamMediaType.SCREEN///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}cds/org.icpclive.api/-team-media-type/-s-c-r-e-e-n/index.html -$dokka.location:org.icpclive.api/TeamMediaType///PointingToDeclaration/cds/org.icpclive.api/-team-media-type/index.html -$dokka.location:org.icpclive.api/TeamMediaType/valueOf/#kotlin.String/PointingToDeclaration/cds/org.icpclive.api/-team-media-type/value-of.html -$dokka.location:org.icpclive.api/TeamMediaType/values/#/PointingToDeclaration/cds/org.icpclive.api/-team-media-type/values.html -$dokka.location:org.icpclive.api/Verdict.Accepted///PointingToDeclaration/cds/org.icpclive.api/-verdict/-accepted/index.html -$dokka.location:org.icpclive.api/Verdict.Challenged///PointingToDeclaration/cds/org.icpclive.api/-verdict/-challenged/index.html -$dokka.location:org.icpclive.api/Verdict.Companion///PointingToDeclaration/cds/org.icpclive.api/-verdict/-companion/index.html -$dokka.location:org.icpclive.api/Verdict.Companion/all/#/PointingToDeclaration/cds/org.icpclive.api/-verdict/-companion/all.html -$dokka.location:org.icpclive.api/Verdict.Companion/lookup/#kotlin.String#kotlin.Boolean#kotlin.Boolean/PointingToDeclaration/cds/org.icpclive.api/-verdict/-companion/lookup.html -$dokka.location:org.icpclive.api/Verdict.CompilationError///PointingToDeclaration/cds/org.icpclive.api/-verdict/-compilation-error/index.html -$dokka.location:org.icpclive.api/Verdict.CompilationErrorWithPenalty///PointingToDeclaration/cds/org.icpclive.api/-verdict/-compilation-error-with-penalty/index.html -$dokka.location:org.icpclive.api/Verdict.Fail///PointingToDeclaration/cds/org.icpclive.api/-verdict/-fail/index.html -$dokka.location:org.icpclive.api/Verdict.IdlenessLimitExceeded///PointingToDeclaration/cds/org.icpclive.api/-verdict/-idleness-limit-exceeded/index.html -$dokka.location:org.icpclive.api/Verdict.Ignored///PointingToDeclaration/cds/org.icpclive.api/-verdict/-ignored/index.html -$dokka.location:org.icpclive.api/Verdict.MemoryLimitExceeded///PointingToDeclaration/cds/org.icpclive.api/-verdict/-memory-limit-exceeded/index.html -$dokka.location:org.icpclive.api/Verdict.OutputLimitExceeded///PointingToDeclaration/cds/org.icpclive.api/-verdict/-output-limit-exceeded/index.html -$dokka.location:org.icpclive.api/Verdict.PresentationError///PointingToDeclaration/cds/org.icpclive.api/-verdict/-presentation-error/index.html -$dokka.location:org.icpclive.api/Verdict.Rejected///PointingToDeclaration/cds/org.icpclive.api/-verdict/-rejected/index.html -$dokka.location:org.icpclive.api/Verdict.RuntimeError///PointingToDeclaration/cds/org.icpclive.api/-verdict/-runtime-error/index.html -$dokka.location:org.icpclive.api/Verdict.SecurityViolation///PointingToDeclaration/cds/org.icpclive.api/-verdict/-security-violation/index.html -$dokka.location:org.icpclive.api/Verdict.TimeLimitExceeded///PointingToDeclaration/cds/org.icpclive.api/-verdict/-time-limit-exceeded/index.html -$dokka.location:org.icpclive.api/Verdict.WrongAnswer///PointingToDeclaration/cds/org.icpclive.api/-verdict/-wrong-answer/index.html -$dokka.location:org.icpclive.api/Verdict///PointingToDeclaration/cds/org.icpclive.api/-verdict/index.html -$dokka.location:org.icpclive.api/Verdict/isAccepted/#/PointingToDeclaration/cds/org.icpclive.api/-verdict/is-accepted.html -$dokka.location:org.icpclive.api/Verdict/isAddingPenalty/#/PointingToDeclaration/cds/org.icpclive.api/-verdict/is-adding-penalty.html -$dokka.location:org.icpclive.api/Verdict/shortName/#/PointingToDeclaration/cds/org.icpclive.api/-verdict/short-name.html -$dokka.location:org.icpclive.api/Verdict/toRunResult/#/PointingToDeclaration/cds/org.icpclive.api/-verdict/to-run-result.html -$dokka.location:org.icpclive.api/VerdictSerializer///PointingToDeclaration/cds/org.icpclive.api/-verdict-serializer/index.html -$dokka.location:org.icpclive.api/VerdictSerializer/VerdictSerializer/#/PointingToDeclaration/cds/org.icpclive.api/-verdict-serializer/-verdict-serializer.html -$dokka.location:org.icpclive.api/VerdictSerializer/descriptor/#/PointingToDeclaration/cds/org.icpclive.api/-verdict-serializer/descriptor.html -$dokka.location:org.icpclive.api/VerdictSerializer/deserialize/#kotlinx.serialization.encoding.Decoder/PointingToDeclaration/cds/org.icpclive.api/-verdict-serializer/deserialize.html -$dokka.location:org.icpclive.api/VerdictSerializer/serialize/#kotlinx.serialization.encoding.Encoder#org.icpclive.api.Verdict/PointingToDeclaration/cds/org.icpclive.api/-verdict-serializer/serialize.html -$dokka.location:org.icpclive.cds.adapters////PointingToDeclaration/cds/org.icpclive.cds.adapters/index.html -$dokka.location:org.icpclive.cds.adapters//addFirstToSolves/kotlinx.coroutines.flow.Flow[org.icpclive.cds.ContestUpdate]#/PointingToDeclaration/cds/org.icpclive.cds.adapters/add-first-to-solves.html -$dokka.location:org.icpclive.cds.adapters//applyAdvancedProperties/kotlinx.coroutines.flow.Flow[org.icpclive.cds.ContestUpdate]#kotlinx.coroutines.flow.Flow[org.icpclive.api.tunning.AdvancedProperties]/PointingToDeclaration/cds/org.icpclive.cds.adapters/apply-advanced-properties.html -$dokka.location:org.icpclive.cds.adapters//calculateScoreDifferences/kotlinx.coroutines.flow.Flow[org.icpclive.cds.ContestUpdate]#/PointingToDeclaration/cds/org.icpclive.cds.adapters/calculate-score-differences.html -$dokka.location:org.icpclive.cds.adapters//filterUseless/kotlinx.coroutines.flow.Flow[org.icpclive.cds.ContestUpdate]#/PointingToDeclaration/cds/org.icpclive.cds.adapters/filter-useless.html -$dokka.location:org.icpclive.cds.adapters//filterUseless/kotlinx.coroutines.flow.Flow[org.icpclive.cds.adapters.ContestEventWithRunsBefore]#/PointingToDeclaration/cds/org.icpclive.cds.adapters/filter-useless.html -$dokka.location:org.icpclive.cds.adapters//processHiddenTeamsAndGroups/kotlinx.coroutines.flow.Flow[org.icpclive.cds.ContestUpdate]#/PointingToDeclaration/cds/org.icpclive.cds.adapters/process-hidden-teams-and-groups.html -$dokka.location:org.icpclive.cds.adapters//removeFrozenSubmissions/kotlinx.coroutines.flow.Flow[org.icpclive.cds.ContestUpdate]#/PointingToDeclaration/cds/org.icpclive.cds.adapters/remove-frozen-submissions.html -$dokka.location:org.icpclive.cds.adapters//removeFrozenSubmissions/kotlinx.coroutines.flow.Flow[org.icpclive.cds.adapters.ContestEventWithRunsBefore]#/PointingToDeclaration/cds/org.icpclive.cds.adapters/remove-frozen-submissions.html -$dokka.location:org.icpclive.cds.adapters//stateGroupedByTeam/kotlinx.coroutines.flow.Flow[org.icpclive.cds.ContestUpdate]#/PointingToDeclaration/cds/org.icpclive.cds.adapters/state-grouped-by-team.html -$dokka.location:org.icpclive.cds.adapters//stateWithGroupedRuns/kotlinx.coroutines.flow.Flow[org.icpclive.cds.ContestUpdate]#kotlin.Function1[org.icpclive.api.RunInfo,TypeParam(bounds=[kotlin.Any])]/PointingToDeclaration/cds/org.icpclive.cds.adapters/state-with-grouped-runs.html -$dokka.location:org.icpclive.cds.adapters//update/kotlinx.collections.immutable.PersistentMap[TypeParam(bounds=[kotlin.Any?]),TypeParam(bounds=[kotlin.Any?])]#TypeParam(bounds=[kotlin.Any?])#kotlin.Function1[TypeParam(bounds=[kotlin.Any?])?,TypeParam(bounds=[kotlin.Any?])]/PointingToDeclaration/cds/org.icpclive.cds.adapters/update.html -$dokka.location:org.icpclive.cds.adapters//withContestInfo/kotlinx.coroutines.flow.Flow[org.icpclive.cds.ContestUpdate]#/PointingToDeclaration/cds/org.icpclive.cds.adapters/with-contest-info.html -$dokka.location:org.icpclive.cds.adapters//withGroupedRuns/kotlinx.coroutines.flow.Flow[org.icpclive.cds.ContestUpdate]#kotlin.Function1[org.icpclive.api.RunInfo,TypeParam(bounds=[kotlin.Any])]#kotlin.Function4[TypeParam(bounds=[kotlin.Any]),kotlinx.collections.immutable.PersistentList[org.icpclive.api.RunInfo],kotlinx.collections.immutable.PersistentList[org.icpclive.api.RunInfo],org.icpclive.api.ContestInfo?,kotlin.collections.List[org.icpclive.api.RunInfo]]?#kotlin.Function3[org.icpclive.api.ContestInfo,org.icpclive.api.ContestInfo?,TypeParam(bounds=[kotlin.Any]),kotlin.Boolean]?/PointingToDeclaration/cds/org.icpclive.cds.adapters/with-grouped-runs.html -$dokka.location:org.icpclive.cds.adapters//withRunsBefore/kotlinx.coroutines.flow.Flow[org.icpclive.cds.ContestUpdate]#/PointingToDeclaration/cds/org.icpclive.cds.adapters/with-runs-before.html -$dokka.location:org.icpclive.cds.adapters/AdvancedPropertiesAdapter///PointingToDeclaration/cds/org.icpclive.cds.adapters/-advanced-properties-adapter/index.html -$dokka.location:org.icpclive.cds.adapters/ContestEventWithGroupedRuns///PointingToDeclaration/cds/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/index.html -$dokka.location:org.icpclive.cds.adapters/ContestEventWithGroupedRuns/ContestEventWithGroupedRuns/#org.icpclive.cds.ContestUpdate#org.icpclive.api.ContestInfo?#kotlinx.collections.immutable.PersistentMap[TypeParam(bounds=[kotlin.Any?]),kotlinx.collections.immutable.PersistentList[org.icpclive.api.RunInfo]]/PointingToDeclaration/cds/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/-contest-event-with-grouped-runs.html -$dokka.location:org.icpclive.cds.adapters/ContestEventWithGroupedRuns/event/#/PointingToDeclaration/cds/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/event.html -$dokka.location:org.icpclive.cds.adapters/ContestEventWithGroupedRuns/infoAfterEvent/#/PointingToDeclaration/cds/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/info-after-event.html -$dokka.location:org.icpclive.cds.adapters/ContestEventWithGroupedRuns/infoBeforeEvent/#/PointingToDeclaration/cds/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/info-before-event.html -$dokka.location:org.icpclive.cds.adapters/ContestEventWithGroupedRuns/runs/#/PointingToDeclaration/cds/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/runs.html -$dokka.location:org.icpclive.cds.adapters/ContestEventWithRunsBefore///PointingToDeclaration/cds/org.icpclive.cds.adapters/-contest-event-with-runs-before/index.html -$dokka.location:org.icpclive.cds.adapters/ContestEventWithRunsBefore/ContestEventWithRunsBefore/#org.icpclive.cds.ContestUpdate#org.icpclive.api.ContestInfo?#kotlinx.collections.immutable.PersistentMap[kotlin.Int,org.icpclive.api.RunInfo]/PointingToDeclaration/cds/org.icpclive.cds.adapters/-contest-event-with-runs-before/-contest-event-with-runs-before.html -$dokka.location:org.icpclive.cds.adapters/ContestEventWithRunsBefore/event/#/PointingToDeclaration/cds/org.icpclive.cds.adapters/-contest-event-with-runs-before/event.html -$dokka.location:org.icpclive.cds.adapters/ContestEventWithRunsBefore/infoAfterEvent/#/PointingToDeclaration/cds/org.icpclive.cds.adapters/-contest-event-with-runs-before/info-after-event.html -$dokka.location:org.icpclive.cds.adapters/ContestEventWithRunsBefore/infoBeforeEvent/#/PointingToDeclaration/cds/org.icpclive.cds.adapters/-contest-event-with-runs-before/info-before-event.html -$dokka.location:org.icpclive.cds.adapters/ContestEventWithRunsBefore/runs/#/PointingToDeclaration/cds/org.icpclive.cds.adapters/-contest-event-with-runs-before/runs.html -$dokka.location:org.icpclive.cds.adapters/ContestStateWithGroupedRuns///PointingToDeclaration/cds/org.icpclive.cds.adapters/-contest-state-with-grouped-runs/index.html -$dokka.location:org.icpclive.cds.adapters/ContestStateWithGroupedRuns/ContestStateWithGroupedRuns/#org.icpclive.api.ContestInfo?#kotlinx.collections.immutable.PersistentMap[TypeParam(bounds=[kotlin.Any?]),kotlinx.collections.immutable.PersistentList[org.icpclive.api.RunInfo]]/PointingToDeclaration/cds/org.icpclive.cds.adapters/-contest-state-with-grouped-runs/-contest-state-with-grouped-runs.html -$dokka.location:org.icpclive.cds.adapters/ContestStateWithGroupedRuns/info/#/PointingToDeclaration/cds/org.icpclive.cds.adapters/-contest-state-with-grouped-runs/info.html -$dokka.location:org.icpclive.cds.adapters/ContestStateWithGroupedRuns/runs/#/PointingToDeclaration/cds/org.icpclive.cds.adapters/-contest-state-with-grouped-runs/runs.html -$dokka.location:org.icpclive.cds.adapters/ContestStateWithRunsByTeam///PointingToDeclaration/cds/org.icpclive.cds.adapters/-contest-state-with-runs-by-team/index.html -$dokka.location:org.icpclive.cds.adapters/ContestStateWithRunsByTeam/ContestStateWithRunsByTeam/#org.icpclive.api.ContestInfo?#kotlinx.collections.immutable.PersistentMap[kotlin.Int,kotlinx.collections.immutable.PersistentList[org.icpclive.api.RunInfo]]/PointingToDeclaration/cds/org.icpclive.cds.adapters/-contest-state-with-runs-by-team/-contest-state-with-runs-by-team.html -$dokka.location:org.icpclive.cds.adapters/ContestStateWithRunsByTeam/info/#/PointingToDeclaration/cds/org.icpclive.cds.adapters/-contest-state-with-runs-by-team/info.html -$dokka.location:org.icpclive.cds.adapters/ContestStateWithRunsByTeam/runs/#/PointingToDeclaration/cds/org.icpclive.cds.adapters/-contest-state-with-runs-by-team/runs.html -$dokka.location:org.icpclive.cds.common////PointingToDeclaration/cds/org.icpclive.cds.common/index.html -$dokka.location:org.icpclive.cds.common//setAllowUnsecureConnections/#kotlin.Boolean/PointingToDeclaration/cds/org.icpclive.cds.common/set-allow-unsecure-connections.html -$dokka.location:org.icpclive.cds.settings////PointingToDeclaration/cds/org.icpclive.cds.settings/index.html -$dokka.location:org.icpclive.cds.settings//parseFileToCdsSettings/#java.nio.file.Path/PointingToDeclaration/cds/org.icpclive.cds.settings/parse-file-to-cds-settings.html -$dokka.location:org.icpclive.cds.settings/CDSSettings///PointingToDeclaration/cds/org.icpclive.cds.settings/-c-d-s-settings/index.html -$dokka.location:org.icpclive.cds.settings/CDSSettings/emulation/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-c-d-s-settings/emulation.html -$dokka.location:org.icpclive.cds.settings/CDSSettings/toFlow/#kotlin.collections.Map[kotlin.String,kotlin.String]/PointingToDeclaration/cds/org.icpclive.cds.settings/-c-d-s-settings/to-flow.html -$dokka.location:org.icpclive.cds.settings/CDSSettings/toString/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-c-d-s-settings/to-string.html -$dokka.location:org.icpclive.cds.settings/CFSettings///PointingToDeclaration/cds/org.icpclive.cds.settings/-c-f-settings/index.html -$dokka.location:org.icpclive.cds.settings/CFSettings/CFSettings/#kotlin.Int#org.icpclive.cds.settings.Credential#org.icpclive.cds.settings.Credential#org.icpclive.cds.settings.EmulationSettings?/PointingToDeclaration/cds/org.icpclive.cds.settings/-c-f-settings/-c-f-settings.html -$dokka.location:org.icpclive.cds.settings/CFSettings/apiKey/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-c-f-settings/api-key.html -$dokka.location:org.icpclive.cds.settings/CFSettings/apiSecret/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-c-f-settings/api-secret.html -$dokka.location:org.icpclive.cds.settings/CFSettings/contestId/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-c-f-settings/contest-id.html -$dokka.location:org.icpclive.cds.settings/CFSettings/emulation/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-c-f-settings/emulation.html -$dokka.location:org.icpclive.cds.settings/CatsSettings///PointingToDeclaration/cds/org.icpclive.cds.settings/-cats-settings/index.html -$dokka.location:org.icpclive.cds.settings/CatsSettings/CatsSettings/#org.icpclive.cds.settings.Credential#org.icpclive.cds.settings.Credential#kotlin.String#kotlinx.datetime.TimeZone#org.icpclive.api.ContestResultType#kotlin.String#org.icpclive.cds.settings.EmulationSettings?/PointingToDeclaration/cds/org.icpclive.cds.settings/-cats-settings/-cats-settings.html -$dokka.location:org.icpclive.cds.settings/CatsSettings/cid/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-cats-settings/cid.html -$dokka.location:org.icpclive.cds.settings/CatsSettings/emulation/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-cats-settings/emulation.html -$dokka.location:org.icpclive.cds.settings/CatsSettings/login/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-cats-settings/login.html -$dokka.location:org.icpclive.cds.settings/CatsSettings/password/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-cats-settings/password.html -$dokka.location:org.icpclive.cds.settings/CatsSettings/resultType/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-cats-settings/result-type.html -$dokka.location:org.icpclive.cds.settings/CatsSettings/timeZone/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-cats-settings/time-zone.html -$dokka.location:org.icpclive.cds.settings/CatsSettings/url/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-cats-settings/url.html -$dokka.location:org.icpclive.cds.settings/ClicsLoaderSettings///PointingToDeclaration/cds/org.icpclive.cds.settings/-clics-loader-settings/index.html -$dokka.location:org.icpclive.cds.settings/ClicsLoaderSettings/ClicsLoaderSettings/#kotlin.String#org.icpclive.cds.settings.Credential?#org.icpclive.cds.settings.Credential?#kotlin.String#org.icpclive.cds.clics.FeedVersion/PointingToDeclaration/cds/org.icpclive.cds.settings/-clics-loader-settings/-clics-loader-settings.html -$dokka.location:org.icpclive.cds.settings/ClicsLoaderSettings/eventFeedName/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-clics-loader-settings/event-feed-name.html -$dokka.location:org.icpclive.cds.settings/ClicsLoaderSettings/feedVersion/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-clics-loader-settings/feed-version.html -$dokka.location:org.icpclive.cds.settings/ClicsLoaderSettings/login/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-clics-loader-settings/login.html -$dokka.location:org.icpclive.cds.settings/ClicsLoaderSettings/password/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-clics-loader-settings/password.html -$dokka.location:org.icpclive.cds.settings/ClicsLoaderSettings/url/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-clics-loader-settings/url.html -$dokka.location:org.icpclive.cds.settings/ClicsSettings///PointingToDeclaration/cds/org.icpclive.cds.settings/-clics-settings/index.html -$dokka.location:org.icpclive.cds.settings/ClicsSettings/ClicsSettings/#kotlin.String#org.icpclive.cds.settings.Credential?#org.icpclive.cds.settings.Credential?#kotlin.String#org.icpclive.cds.clics.FeedVersion#org.icpclive.cds.settings.ClicsLoaderSettings?#kotlin.Boolean#kotlin.String#org.icpclive.cds.settings.EmulationSettings?/PointingToDeclaration/cds/org.icpclive.cds.settings/-clics-settings/-clics-settings.html -$dokka.location:org.icpclive.cds.settings/ClicsSettings/additionalFeed/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-clics-settings/additional-feed.html -$dokka.location:org.icpclive.cds.settings/ClicsSettings/emulation/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-clics-settings/emulation.html -$dokka.location:org.icpclive.cds.settings/ClicsSettings/mainFeed/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-clics-settings/main-feed.html -$dokka.location:org.icpclive.cds.settings/ClicsSettings/mediaBaseUrl/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-clics-settings/media-base-url.html -$dokka.location:org.icpclive.cds.settings/ClicsSettings/useTeamNames/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-clics-settings/use-team-names.html -$dokka.location:org.icpclive.cds.settings/Credential///PointingToDeclaration/cds/org.icpclive.cds.settings/-credential/index.html -$dokka.location:org.icpclive.cds.settings/Credential/Credential/#kotlin.String/PointingToDeclaration/cds/org.icpclive.cds.settings/-credential/-credential.html -$dokka.location:org.icpclive.cds.settings/Credential/get/#kotlin.collections.Map[kotlin.String,kotlin.String]/PointingToDeclaration/cds/org.icpclive.cds.settings/-credential/get.html -$dokka.location:org.icpclive.cds.settings/EjudgeSettings///PointingToDeclaration/cds/org.icpclive.cds.settings/-ejudge-settings/index.html -$dokka.location:org.icpclive.cds.settings/EjudgeSettings/EjudgeSettings/#kotlin.String#org.icpclive.api.ContestResultType#org.icpclive.cds.settings.EmulationSettings?/PointingToDeclaration/cds/org.icpclive.cds.settings/-ejudge-settings/-ejudge-settings.html -$dokka.location:org.icpclive.cds.settings/EjudgeSettings/emulation/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-ejudge-settings/emulation.html -$dokka.location:org.icpclive.cds.settings/EjudgeSettings/resultType/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-ejudge-settings/result-type.html -$dokka.location:org.icpclive.cds.settings/EjudgeSettings/url/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-ejudge-settings/url.html -$dokka.location:org.icpclive.cds.settings/EmulationSettings///PointingToDeclaration/cds/org.icpclive.cds.settings/-emulation-settings/index.html -$dokka.location:org.icpclive.cds.settings/EmulationSettings/EmulationSettings/#kotlin.Double#kotlinx.datetime.Instant/PointingToDeclaration/cds/org.icpclive.cds.settings/-emulation-settings/-emulation-settings.html -$dokka.location:org.icpclive.cds.settings/EmulationSettings/speed/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-emulation-settings/speed.html -$dokka.location:org.icpclive.cds.settings/EmulationSettings/startTime/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-emulation-settings/start-time.html -$dokka.location:org.icpclive.cds.settings/KRSUSettings///PointingToDeclaration/cds/org.icpclive.cds.settings/-k-r-s-u-settings/index.html -$dokka.location:org.icpclive.cds.settings/KRSUSettings/KRSUSettings/#kotlin.String#kotlin.String#kotlinx.datetime.TimeZone#org.icpclive.cds.settings.EmulationSettings?/PointingToDeclaration/cds/org.icpclive.cds.settings/-k-r-s-u-settings/-k-r-s-u-settings.html -$dokka.location:org.icpclive.cds.settings/KRSUSettings/contestUrl/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-k-r-s-u-settings/contest-url.html -$dokka.location:org.icpclive.cds.settings/KRSUSettings/emulation/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-k-r-s-u-settings/emulation.html -$dokka.location:org.icpclive.cds.settings/KRSUSettings/submissionsUrl/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-k-r-s-u-settings/submissions-url.html -$dokka.location:org.icpclive.cds.settings/KRSUSettings/timeZone/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-k-r-s-u-settings/time-zone.html -$dokka.location:org.icpclive.cds.settings/NoopSettings///PointingToDeclaration/cds/org.icpclive.cds.settings/-noop-settings/index.html -$dokka.location:org.icpclive.cds.settings/NoopSettings/NoopSettings/#org.icpclive.cds.settings.EmulationSettings?/PointingToDeclaration/cds/org.icpclive.cds.settings/-noop-settings/-noop-settings.html -$dokka.location:org.icpclive.cds.settings/NoopSettings/emulation/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-noop-settings/emulation.html -$dokka.location:org.icpclive.cds.settings/PCMSSettings///PointingToDeclaration/cds/org.icpclive.cds.settings/-p-c-m-s-settings/index.html -$dokka.location:org.icpclive.cds.settings/PCMSSettings/PCMSSettings/#kotlin.String#org.icpclive.cds.settings.Credential?#org.icpclive.cds.settings.Credential?#kotlin.String?#org.icpclive.api.ContestResultType#org.icpclive.cds.settings.EmulationSettings?/PointingToDeclaration/cds/org.icpclive.cds.settings/-p-c-m-s-settings/-p-c-m-s-settings.html -$dokka.location:org.icpclive.cds.settings/PCMSSettings/emulation/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-p-c-m-s-settings/emulation.html -$dokka.location:org.icpclive.cds.settings/PCMSSettings/login/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-p-c-m-s-settings/login.html -$dokka.location:org.icpclive.cds.settings/PCMSSettings/password/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-p-c-m-s-settings/password.html -$dokka.location:org.icpclive.cds.settings/PCMSSettings/problemsUrl/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-p-c-m-s-settings/problems-url.html -$dokka.location:org.icpclive.cds.settings/PCMSSettings/resultType/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-p-c-m-s-settings/result-type.html -$dokka.location:org.icpclive.cds.settings/PCMSSettings/url/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-p-c-m-s-settings/url.html -$dokka.location:org.icpclive.cds.settings/TestSysSettings///PointingToDeclaration/cds/org.icpclive.cds.settings/-test-sys-settings/index.html -$dokka.location:org.icpclive.cds.settings/TestSysSettings/TestSysSettings/#kotlin.String#kotlinx.datetime.TimeZone#org.icpclive.cds.settings.EmulationSettings?/PointingToDeclaration/cds/org.icpclive.cds.settings/-test-sys-settings/-test-sys-settings.html -$dokka.location:org.icpclive.cds.settings/TestSysSettings/emulation/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-test-sys-settings/emulation.html -$dokka.location:org.icpclive.cds.settings/TestSysSettings/timeZone/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-test-sys-settings/time-zone.html -$dokka.location:org.icpclive.cds.settings/TestSysSettings/url/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-test-sys-settings/url.html -$dokka.location:org.icpclive.cds.settings/YandexSettings///PointingToDeclaration/cds/org.icpclive.cds.settings/-yandex-settings/index.html -$dokka.location:org.icpclive.cds.settings/YandexSettings/YandexSettings/#org.icpclive.cds.settings.Credential#kotlin.String#kotlin.Int#org.icpclive.api.ContestResultType#org.icpclive.cds.settings.EmulationSettings?/PointingToDeclaration/cds/org.icpclive.cds.settings/-yandex-settings/-yandex-settings.html -$dokka.location:org.icpclive.cds.settings/YandexSettings/apiKey/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-yandex-settings/api-key.html -$dokka.location:org.icpclive.cds.settings/YandexSettings/contestId/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-yandex-settings/contest-id.html -$dokka.location:org.icpclive.cds.settings/YandexSettings/emulation/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-yandex-settings/emulation.html -$dokka.location:org.icpclive.cds.settings/YandexSettings/loginRegex/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-yandex-settings/login-regex.html -$dokka.location:org.icpclive.cds.settings/YandexSettings/resultType/#/PointingToDeclaration/cds/org.icpclive.cds.settings/-yandex-settings/result-type.html -$dokka.location:org.icpclive.cds////PointingToDeclaration/cds/org.icpclive.cds/index.html -$dokka.location:org.icpclive.cds/AnalyticsUpdate///PointingToDeclaration/cds/org.icpclive.cds/-analytics-update/index.html -$dokka.location:org.icpclive.cds/AnalyticsUpdate/AnalyticsUpdate/#org.icpclive.api.AnalyticsMessage/PointingToDeclaration/cds/org.icpclive.cds/-analytics-update/-analytics-update.html -$dokka.location:org.icpclive.cds/AnalyticsUpdate/message/#/PointingToDeclaration/cds/org.icpclive.cds/-analytics-update/message.html -$dokka.location:org.icpclive.cds/ContestUpdate///PointingToDeclaration/cds/org.icpclive.cds/-contest-update/index.html -$dokka.location:org.icpclive.cds/InfoUpdate///PointingToDeclaration/cds/org.icpclive.cds/-info-update/index.html -$dokka.location:org.icpclive.cds/InfoUpdate/InfoUpdate/#org.icpclive.api.ContestInfo/PointingToDeclaration/cds/org.icpclive.cds/-info-update/-info-update.html -$dokka.location:org.icpclive.cds/InfoUpdate/newInfo/#/PointingToDeclaration/cds/org.icpclive.cds/-info-update/new-info.html -$dokka.location:org.icpclive.cds/RunUpdate///PointingToDeclaration/cds/org.icpclive.cds/-run-update/index.html -$dokka.location:org.icpclive.cds/RunUpdate/RunUpdate/#org.icpclive.api.RunInfo/PointingToDeclaration/cds/org.icpclive.cds/-run-update/-run-update.html -$dokka.location:org.icpclive.cds/RunUpdate/newInfo/#/PointingToDeclaration/cds/org.icpclive.cds/-run-update/new-info.html -$dokka.location:org.icpclive.scoreboard////PointingToDeclaration/cds/org.icpclive.scoreboard/index.html -$dokka.location:org.icpclive.scoreboard//calculateScoreboard/kotlinx.coroutines.flow.Flow[org.icpclive.cds.adapters.ContestStateWithRunsByTeam]#org.icpclive.api.OptimismLevel/PointingToDeclaration/cds/org.icpclive.scoreboard/calculate-scoreboard.html -$dokka.location:org.icpclive.scoreboard//getScoreboardCalculator/#org.icpclive.api.ContestInfo#org.icpclive.api.OptimismLevel/PointingToDeclaration/cds/org.icpclive.scoreboard/get-scoreboard-calculator.html -$dokka.location:org.icpclive.scoreboard/ScoreboardCalculator///PointingToDeclaration/cds/org.icpclive.scoreboard/-scoreboard-calculator/index.html -$dokka.location:org.icpclive.scoreboard/ScoreboardCalculator/getScoreboard/#org.icpclive.api.ContestInfo#kotlin.collections.Map[kotlin.Int,kotlin.collections.List[org.icpclive.api.RunInfo]]/PointingToDeclaration/cds/org.icpclive.scoreboard/-scoreboard-calculator/get-scoreboard.html -org.icpclive.api -org.icpclive.api.tunning -org.icpclive.cds -org.icpclive.cds.adapters -org.icpclive.cds.common -org.icpclive.cds.settings -org.icpclive.scoreboard - diff --git a/src/cds/build.gradle.kts b/src/cds/build.gradle.kts index 95053f34c..8ae0ecf0f 100644 --- a/src/cds/build.gradle.kts +++ b/src/cds/build.gradle.kts @@ -9,8 +9,8 @@ plugins { } tasks.dokkaHtml { + moduleName.set("ICPC-live contest data parser") dokkaSourceSets.configureEach { - moduleName.set("ICPC-live contest data parser") // should be moved to another package, as reused by exporter perPackageOption { matchingRegex.set("org.icpclive.cds.clics.*") From ef2df1138d09846325a85b7db79789d9d6aa164d Mon Sep 17 00:00:00 2001 From: Lidia Perovskaya Date: Sat, 29 Jul 2023 11:18:29 -0400 Subject: [PATCH 029/154] Update Advanced.kt minor doc updates --- .../src/main/kotlin/org/icpclive/api/tunning/Advanced.kt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/cds/src/main/kotlin/org/icpclive/api/tunning/Advanced.kt b/src/cds/src/main/kotlin/org/icpclive/api/tunning/Advanced.kt index cadb6f6f4..fbaa7026e 100644 --- a/src/cds/src/main/kotlin/org/icpclive/api/tunning/Advanced.kt +++ b/src/cds/src/main/kotlin/org/icpclive/api/tunning/Advanced.kt @@ -36,7 +36,7 @@ data class TeamInfoOverride( * @param color Color of a problem balloon. It would be shown in queue and scoreboard in places related to the problem * @param minScore In ioi mode minimal possible value of points in this problem * @param maxScore In ioi mode maximal possible value of points in this problem - * @param scoreMergeMode In ioi mode, it determinate how final points for participant are calculated from points of many submissions. + * @param scoreMergeMode In ioi mode, select the ruleset to calculate final score based on the scores for each submission. */ @Serializable data class ProblemInfoOverride( @@ -49,8 +49,8 @@ data class ProblemInfoOverride( ) /** - * @param isHidden Totally hide all teams from the group - * @param isOutOfContest Don't get rank in the scoreboard to all teams from the group + * @param isHidden Totally hide all teams from this group + * @param isOutOfContest Teams from this group will be visible everywhere, but will not have any rank assigned to them in leaderboard */ @Serializable data class GroupInfoOverride( @@ -84,7 +84,7 @@ class RankingSettings( * * @param startTime Override for contest start time. * The preferred format is `yyyy-mm-dd hh:mm:ss`, but some others would be accepted too. - * Conside using 'now' if you want the contest emulation to start together with the overlay. + * Consider using 'now' if you want the contest emulation to start together with the overlay. * startTime overrise also can affect contest state. * @param freezeTime Time from the start of the contest before scoreboard freezing. * @param holdTime Fixed time to show as time before the contest start From b0327ce7807bec7d729e299095dbcec89c4bbe70 Mon Sep 17 00:00:00 2001 From: Pavel Kunyavskiy Date: Sat, 29 Jul 2023 23:05:35 +0200 Subject: [PATCH 030/154] Fix copypaste error --- .../src/main/kotlin/org/icpclive/cds/settings/CDSSettings.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/settings/CDSSettings.kt b/src/cds/src/main/kotlin/org/icpclive/cds/settings/CDSSettings.kt index 638c9c181..d4b206a41 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/settings/CDSSettings.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/settings/CDSSettings.kt @@ -210,6 +210,7 @@ fun parseFileToCdsSettings(path: Path) : CDSSettings { "cf.api.secret" to "apiSecret", "problems.url" to "problemsUrl", "submissions-url" to "submissionsUrl", + "contest_id" to "contestId", "contest-url" to "contestUrl", "timezone" to "timeZone", "event_feed_name" to "eventFeedName", @@ -232,7 +233,7 @@ fun parseFileToCdsSettings(path: Path) : CDSSettings { } } properties.getProperty("type")?.let { properties.setProperty("type", it.lowercase()) } - properties.getProperty("resultType")?.let { properties.setProperty("type", it.uppercase()) } + properties.getProperty("resultType")?.let { properties.setProperty("resultType", it.uppercase()) } @Suppress("UNCHECKED_CAST") Properties.decodeFromStringMap(properties as Map) } else if (file.name.endsWith(".json")) { From 8611a7a2cc4f4926b0b0d468d0c35457c03dbeb8 Mon Sep 17 00:00:00 2001 From: Pavel Kunyavskiy Date: Sat, 29 Jul 2023 23:12:58 +0200 Subject: [PATCH 031/154] Fix private contest on codeforces --- .../org/icpclive/cds/codeforces/CFDataSource.kt | 15 ++++++++++++--- .../org/icpclive/cds/settings/CDSSettings.kt | 2 ++ 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/codeforces/CFDataSource.kt b/src/cds/src/main/kotlin/org/icpclive/cds/codeforces/CFDataSource.kt index 5729b8f58..27afdbe0d 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/codeforces/CFDataSource.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/codeforces/CFDataSource.kt @@ -35,7 +35,10 @@ internal class CFDataSource(val settings: CFSettings, creds: Map private val standingsLoader = jsonLoader> { apiRequestUrl( "contest.standings", - mapOf("contestId" to settings.contestId.toString()) + mapOf( + "contestId" to settings.contestId.toString(), + "asManager" to settings.asManager.toString() + ) ) }.map { it.unwrap() @@ -44,7 +47,10 @@ internal class CFDataSource(val settings: CFSettings, creds: Map private val statusLoader = jsonLoader>> { apiRequestUrl( "contest.status", - mapOf("contestId" to settings.contestId.toString()) + mapOf( + "contestId" to settings.contestId.toString(), + "asManager" to settings.asManager.toString() + ) ) }.map { it.unwrap() @@ -53,7 +59,10 @@ internal class CFDataSource(val settings: CFSettings, creds: Map private val hacksLoader = jsonLoader>> { apiRequestUrl( "contest.hacks", - mapOf("contestId" to settings.contestId.toString()) + mapOf( + "contestId" to settings.contestId.toString(), + "asManager" to settings.asManager.toString() + ) ) }.map { it.unwrap() diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/settings/CDSSettings.kt b/src/cds/src/main/kotlin/org/icpclive/cds/settings/CDSSettings.kt index d4b206a41..36c11aa16 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/settings/CDSSettings.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/settings/CDSSettings.kt @@ -27,6 +27,7 @@ import org.icpclive.util.HumanTimeSerializer import org.icpclive.util.TimeZoneSerializer import org.icpclive.util.getLogger import java.nio.file.Path +import javax.swing.text.StyledEditorKit.BoldAction // I'd like to have them in cds files, but then serializing would be much harder @@ -147,6 +148,7 @@ class CFSettings( val contestId: Int, val apiKey: Credential, val apiSecret: Credential, + val asManager: Boolean = true, override val emulation: EmulationSettings? = null, ) : CDSSettings() { override fun toRawDataSource(creds: Map) = CFDataSource(this, creds) From 1876d90484ee30365a3c1bcbdd03982174d8a3c5 Mon Sep 17 00:00:00 2001 From: Pavel Kunyavskiy Date: Sat, 29 Jul 2023 23:17:35 +0200 Subject: [PATCH 032/154] Update doc --- .../-advanced-properties.html | 2 +- .../-advanced-properties/index.html | 2 +- .../-advanced-properties/start-time.html | 2 +- .../-group-info-override.html | 2 +- .../-group-info-override/index.html | 2 +- .../-group-info-override/is-hidden.html | 2 +- .../is-out-of-contest.html | 2 +- .../-problem-info-override.html | 2 +- .../-problem-info-override/index.html | 2 +- .../score-merge-mode.html | 2 +- .../-c-d-s-settings/emulation.html | 2 +- .../-c-d-s-settings/index.html | 2 +- .../-c-d-s-settings/to-flow.html | 2 +- .../-c-d-s-settings/to-string.html | 2 +- .../-c-f-settings/-c-f-settings.html | 4 ++-- .../-c-f-settings/api-key.html | 2 +- .../-c-f-settings/api-secret.html | 2 +- .../-c-f-settings/contest-id.html | 2 +- .../-c-f-settings/emulation.html | 2 +- .../-c-f-settings/index.html | 23 +++++++++++++++---- .../-cats-settings/-cats-settings.html | 2 +- .../-cats-settings/cid.html | 2 +- .../-cats-settings/emulation.html | 2 +- .../-cats-settings/index.html | 2 +- .../-cats-settings/login.html | 2 +- .../-cats-settings/password.html | 2 +- .../-cats-settings/result-type.html | 2 +- .../-cats-settings/time-zone.html | 2 +- .../-cats-settings/url.html | 2 +- .../-clics-loader-settings.html | 2 +- .../event-feed-name.html | 2 +- .../-clics-loader-settings/feed-version.html | 2 +- .../-clics-loader-settings/index.html | 2 +- .../-clics-loader-settings/login.html | 2 +- .../-clics-loader-settings/password.html | 2 +- .../-clics-loader-settings/url.html | 2 +- .../-clics-settings/-clics-settings.html | 2 +- .../-clics-settings/additional-feed.html | 2 +- .../-clics-settings/emulation.html | 2 +- .../-clics-settings/index.html | 2 +- .../-clics-settings/main-feed.html | 2 +- .../-clics-settings/media-base-url.html | 2 +- .../-clics-settings/use-team-names.html | 2 +- .../-credential/-credential.html | 2 +- .../-credential/get.html | 2 +- .../-credential/index.html | 2 +- .../-ejudge-settings/-ejudge-settings.html | 2 +- .../-ejudge-settings/emulation.html | 2 +- .../-ejudge-settings/index.html | 2 +- .../-ejudge-settings/result-type.html | 2 +- .../-ejudge-settings/url.html | 2 +- .../-emulation-settings.html | 2 +- .../-emulation-settings/index.html | 2 +- .../-emulation-settings/speed.html | 2 +- .../-emulation-settings/start-time.html | 2 +- .../-k-r-s-u-settings/-k-r-s-u-settings.html | 2 +- .../-k-r-s-u-settings/contest-url.html | 2 +- .../-k-r-s-u-settings/emulation.html | 2 +- .../-k-r-s-u-settings/index.html | 2 +- .../-k-r-s-u-settings/submissions-url.html | 2 +- .../-k-r-s-u-settings/time-zone.html | 2 +- .../-noop-settings/-noop-settings.html | 2 +- .../-noop-settings/emulation.html | 2 +- .../-noop-settings/index.html | 2 +- .../-p-c-m-s-settings/-p-c-m-s-settings.html | 2 +- .../-p-c-m-s-settings/emulation.html | 2 +- .../-p-c-m-s-settings/index.html | 2 +- .../-p-c-m-s-settings/login.html | 2 +- .../-p-c-m-s-settings/password.html | 2 +- .../-p-c-m-s-settings/problems-url.html | 2 +- .../-p-c-m-s-settings/result-type.html | 2 +- .../-p-c-m-s-settings/url.html | 2 +- .../-test-sys-settings.html | 2 +- .../-test-sys-settings/emulation.html | 2 +- .../-test-sys-settings/index.html | 2 +- .../-test-sys-settings/time-zone.html | 2 +- .../-test-sys-settings/url.html | 2 +- .../-yandex-settings/-yandex-settings.html | 2 +- .../-yandex-settings/api-key.html | 2 +- .../-yandex-settings/contest-id.html | 2 +- .../-yandex-settings/emulation.html | 2 +- .../-yandex-settings/index.html | 2 +- .../-yandex-settings/login-regex.html | 2 +- .../-yandex-settings/result-type.html | 2 +- .../org.icpclive.cds.settings/index.html | 2 +- .../parse-file-to-cds-settings.html | 2 +- .../package-list | 3 ++- docs/cds/scripts/pages.json | 2 +- 88 files changed, 108 insertions(+), 92 deletions(-) diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/-advanced-properties.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/-advanced-properties.html index f58773f65..1c653c9b1 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/-advanced-properties.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/-advanced-properties.html @@ -59,7 +59,7 @@

AdvancedProperties

-
constructor(startTime: Instant? = null, freezeTime: Duration? = null, holdTime: Duration? = null, teamMediaTemplate: Map<TeamMediaType, MediaType?>? = null, teamOverrides: Map<String, TeamInfoOverride>? = null, groupOverrides: Map<String, GroupInfoOverride>? = null, problemOverrides: Map<String, ProblemInfoOverride>? = null, scoreboardOverrides: RankingSettings? = null)(source)

Parameters

startTime

Override for contest start time. The preferred format is yyyy-mm-dd hh:mm:ss, but some others would be accepted too. Conside using 'now' if you want the contest emulation to start together with the overlay. startTime overrise also can affect contest state.

freezeTime

Time from the start of the contest before scoreboard freezing.

holdTime

Fixed time to show as time before the contest start

teamMediaTemplate

Template medias for all teams. You can use {teamId} within the template, it will be substituted with team id from contest system.

teamOverrides

Overrides for a specific team. Team id from the contest system is key.

groupOverrides

Overrides for specific groups. Group name is key.

problemOverrides

Overrides for specific problems. Problem letter is key.

scoreboardOverrides

Overrides of scoreboard calculation settings

+
constructor(startTime: Instant? = null, freezeTime: Duration? = null, holdTime: Duration? = null, teamMediaTemplate: Map<TeamMediaType, MediaType?>? = null, teamOverrides: Map<String, TeamInfoOverride>? = null, groupOverrides: Map<String, GroupInfoOverride>? = null, problemOverrides: Map<String, ProblemInfoOverride>? = null, scoreboardOverrides: RankingSettings? = null)(source)

Parameters

startTime

Override for contest start time. The preferred format is yyyy-mm-dd hh:mm:ss, but some others would be accepted too. Consider using 'now' if you want the contest emulation to start together with the overlay. startTime overrise also can affect contest state.

freezeTime

Time from the start of the contest before scoreboard freezing.

holdTime

Fixed time to show as time before the contest start

teamMediaTemplate

Template medias for all teams. You can use {teamId} within the template, it will be substituted with team id from contest system.

teamOverrides

Overrides for a specific team. Team id from the contest system is key.

groupOverrides

Overrides for specific groups. Group name is key.

problemOverrides

Overrides for specific problems. Problem letter is key.

scoreboardOverrides

Overrides of scoreboard calculation settings

AdvancedProperties

-
@Serializable
data class AdvancedProperties(val startTime: Instant? = null, val freezeTime: Duration? = null, val holdTime: Duration? = null, val teamMediaTemplate: Map<TeamMediaType, MediaType?>? = null, val teamOverrides: Map<String, TeamInfoOverride>? = null, val groupOverrides: Map<String, GroupInfoOverride>? = null, val problemOverrides: Map<String, ProblemInfoOverride>? = null, val scoreboardOverrides: RankingSettings? = null)(source)

This class represents possible contest configuration overrides.

Ideally, all this information should be received from the contest system. Unfortunately, in the real world, it's not always possible, or information can be not fully correct or convenient to display.

This class contains the data to be fixed in what is received from a contest system.

Parameters

startTime

Override for contest start time. The preferred format is yyyy-mm-dd hh:mm:ss, but some others would be accepted too. Conside using 'now' if you want the contest emulation to start together with the overlay. startTime overrise also can affect contest state.

freezeTime

Time from the start of the contest before scoreboard freezing.

holdTime

Fixed time to show as time before the contest start

teamMediaTemplate

Template medias for all teams. You can use {teamId} within the template, it will be substituted with team id from contest system.

teamOverrides

Overrides for a specific team. Team id from the contest system is key.

groupOverrides

Overrides for specific groups. Group name is key.

problemOverrides

Overrides for specific problems. Problem letter is key.

scoreboardOverrides

Overrides of scoreboard calculation settings

+
@Serializable
data class AdvancedProperties(val startTime: Instant? = null, val freezeTime: Duration? = null, val holdTime: Duration? = null, val teamMediaTemplate: Map<TeamMediaType, MediaType?>? = null, val teamOverrides: Map<String, TeamInfoOverride>? = null, val groupOverrides: Map<String, GroupInfoOverride>? = null, val problemOverrides: Map<String, ProblemInfoOverride>? = null, val scoreboardOverrides: RankingSettings? = null)(source)

This class represents possible contest configuration overrides.

Ideally, all this information should be received from the contest system. Unfortunately, in the real world, it's not always possible, or information can be not fully correct or convenient to display.

This class contains the data to be fixed in what is received from a contest system.

Parameters

startTime

Override for contest start time. The preferred format is yyyy-mm-dd hh:mm:ss, but some others would be accepted too. Consider using 'now' if you want the contest emulation to start together with the overlay. startTime overrise also can affect contest state.

freezeTime

Time from the start of the contest before scoreboard freezing.

holdTime

Fixed time to show as time before the contest start

teamMediaTemplate

Template medias for all teams. You can use {teamId} within the template, it will be substituted with team id from contest system.

teamOverrides

Overrides for a specific team. Team id from the contest system is key.

groupOverrides

Overrides for specific groups. Group name is key.

problemOverrides

Overrides for specific problems. Problem letter is key.

scoreboardOverrides

Overrides of scoreboard calculation settings

diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/start-time.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/start-time.html index 69aab8acb..4412a8b5d 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/start-time.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/start-time.html @@ -59,7 +59,7 @@

startTime

-
@Serializable(with = HumanTimeSerializer::class)
val startTime: Instant? = null(source)

Parameters

startTime

Override for contest start time. The preferred format is yyyy-mm-dd hh:mm:ss, but some others would be accepted too. Conside using 'now' if you want the contest emulation to start together with the overlay. startTime overrise also can affect contest state.

+
@Serializable(with = HumanTimeSerializer::class)
val startTime: Instant? = null(source)

Parameters

startTime

Override for contest start time. The preferred format is yyyy-mm-dd hh:mm:ss, but some others would be accepted too. Consider using 'now' if you want the contest emulation to start together with the overlay. startTime overrise also can affect contest state.

-
constructor(isHidden: Boolean? = null, isOutOfContest: Boolean? = null)(source)

Parameters

isHidden

Totally hide all teams from the group

isOutOfContest

Don't get rank in the scoreboard to all teams from the group

+
constructor(isHidden: Boolean? = null, isOutOfContest: Boolean? = null)(source)

Parameters

isHidden

Totally hide all teams from this group

isOutOfContest

Teams from this group will be visible everywhere, but will not have any rank assigned to them in leaderboard

GroupInfoOverride

-
@Serializable
data class GroupInfoOverride(val isHidden: Boolean? = null, val isOutOfContest: Boolean? = null)(source)

Parameters

isHidden

Totally hide all teams from the group

isOutOfContest

Don't get rank in the scoreboard to all teams from the group

+
@Serializable
data class GroupInfoOverride(val isHidden: Boolean? = null, val isOutOfContest: Boolean? = null)(source)

Parameters

isHidden

Totally hide all teams from this group

isOutOfContest

Teams from this group will be visible everywhere, but will not have any rank assigned to them in leaderboard

diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-group-info-override/is-hidden.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-group-info-override/is-hidden.html index c1cd401b2..b1d94f32c 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-group-info-override/is-hidden.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-group-info-override/is-hidden.html @@ -59,7 +59,7 @@

isHidden

-
val isHidden: Boolean? = null(source)

Parameters

isHidden

Totally hide all teams from the group

+
val isHidden: Boolean? = null(source)

Parameters

isHidden

Totally hide all teams from this group

-

Parameters

isOutOfContest

Don't get rank in the scoreboard to all teams from the group

+

Parameters

isOutOfContest

Teams from this group will be visible everywhere, but will not have any rank assigned to them in leaderboard

-
constructor(name: String? = null, color: Color? = null, minScore: Double? = null, maxScore: Double? = null, scoreMergeMode: ScoreMergeMode? = null)(source)

Parameters

name

Problem name.

color

Color of a problem balloon. It would be shown in queue and scoreboard in places related to the problem

minScore

In ioi mode minimal possible value of points in this problem

maxScore

In ioi mode maximal possible value of points in this problem

scoreMergeMode

In ioi mode, it determinate how final points for participant are calculated from points of many submissions.

+
constructor(name: String? = null, color: Color? = null, minScore: Double? = null, maxScore: Double? = null, scoreMergeMode: ScoreMergeMode? = null)(source)

Parameters

name

Problem name.

color

Color of a problem balloon. It would be shown in queue and scoreboard in places related to the problem

minScore

In ioi mode minimal possible value of points in this problem

maxScore

In ioi mode maximal possible value of points in this problem

scoreMergeMode

In ioi mode, select the ruleset to calculate final score based on the scores for each submission.

ProblemInfoOverride

-
@Serializable
data class ProblemInfoOverride(val name: String? = null, val color: Color? = null, val minScore: Double? = null, val maxScore: Double? = null, val scoreMergeMode: ScoreMergeMode? = null)(source)

Parameters

name

Problem name.

color

Color of a problem balloon. It would be shown in queue and scoreboard in places related to the problem

minScore

In ioi mode minimal possible value of points in this problem

maxScore

In ioi mode maximal possible value of points in this problem

scoreMergeMode

In ioi mode, it determinate how final points for participant are calculated from points of many submissions.

+
@Serializable
data class ProblemInfoOverride(val name: String? = null, val color: Color? = null, val minScore: Double? = null, val maxScore: Double? = null, val scoreMergeMode: ScoreMergeMode? = null)(source)

Parameters

name

Problem name.

color

Color of a problem balloon. It would be shown in queue and scoreboard in places related to the problem

minScore

In ioi mode minimal possible value of points in this problem

maxScore

In ioi mode maximal possible value of points in this problem

scoreMergeMode

In ioi mode, select the ruleset to calculate final score based on the scores for each submission.

diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/score-merge-mode.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/score-merge-mode.html index e33672b3b..bbb309691 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/score-merge-mode.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/score-merge-mode.html @@ -59,7 +59,7 @@

scoreMergeMode

-

Parameters

scoreMergeMode

In ioi mode, it determinate how final points for participant are calculated from points of many submissions.

+

Parameters

scoreMergeMode

In ioi mode, select the ruleset to calculate final score based on the scores for each submission.

- +
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-d-s-settings/to-flow.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-d-s-settings/to-flow.html index e755c59d5..f83ccfa16 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-d-s-settings/to-flow.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-d-s-settings/to-flow.html @@ -59,7 +59,7 @@

toFlow

-
fun toFlow(creds: Map<String, String>): Flow<ContestUpdate>(source)
+
fun toFlow(creds: Map<String, String>): Flow<ContestUpdate>(source)
-
open override fun toString(): String(source)
+
open override fun toString(): String(source)
-
+

CFSettings

-
constructor(contestId: Int, apiKey: Credential, apiSecret: Credential, emulation: EmulationSettings? = null)(source)
+
constructor(contestId: Int, apiKey: Credential, apiSecret: Credential, asManager: Boolean = true, emulation: EmulationSettings? = null)(source)
- +
- +
- + -
open override val emulation: EmulationSettings? = null(source)
+
open override val emulation: EmulationSettings? = null(source)

CFSettings

-
@Serializable
class CFSettings(val contestId: Int, val apiKey: Credential, val apiSecret: Credential, val emulation: EmulationSettings? = null) : CDSSettings(source)
+
@Serializable
class CFSettings(val contestId: Int, val apiKey: Credential, val apiSecret: Credential, val asManager: Boolean = true, val emulation: EmulationSettings? = null) : CDSSettings(source)

Constructors

-
+
- +
Link copied to clipboard
-
constructor(contestId: Int, apiKey: Credential, apiSecret: Credential, emulation: EmulationSettings? = null)
+
constructor(contestId: Int, apiKey: Credential, apiSecret: Credential, asManager: Boolean = true, emulation: EmulationSettings? = null)
@@ -114,6 +114,21 @@

Properties

+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val asManager: Boolean = true
+
+
+
+
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/-cats-settings.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/-cats-settings.html index 00a1d490c..13da5b7b1 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/-cats-settings.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/-cats-settings.html @@ -59,7 +59,7 @@

CatsSettings

-
constructor(login: Credential, password: Credential, url: String, timeZone: TimeZone = TimeZone.of("Asia/Vladivostok"), resultType: ContestResultType = ContestResultType.ICPC, cid: String, emulation: EmulationSettings? = null)(source)
+
constructor(login: Credential, password: Credential, url: String, timeZone: TimeZone = TimeZone.of("Asia/Vladivostok"), resultType: ContestResultType = ContestResultType.ICPC, cid: String, emulation: EmulationSettings? = null)(source)
- +
-
open override val emulation: EmulationSettings? = null(source)
+
open override val emulation: EmulationSettings? = null(source)

CatsSettings

-
@Serializable
class CatsSettings(val login: Credential, val password: Credential, val url: String, val timeZone: TimeZone = TimeZone.of("Asia/Vladivostok"), val resultType: ContestResultType = ContestResultType.ICPC, val cid: String, val emulation: EmulationSettings? = null) : CDSSettings(source)
+
@Serializable
class CatsSettings(val login: Credential, val password: Credential, val url: String, val timeZone: TimeZone = TimeZone.of("Asia/Vladivostok"), val resultType: ContestResultType = ContestResultType.ICPC, val cid: String, val emulation: EmulationSettings? = null) : CDSSettings(source)
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/login.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/login.html index 1fc0a9668..32d5f5631 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/login.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/login.html @@ -59,7 +59,7 @@

login

- +
- +
- +
-
@Serializable(with = TimeZoneSerializer::class)
val timeZone: TimeZone(source)
+
@Serializable(with = TimeZoneSerializer::class)
val timeZone: TimeZone(source)
- + -
constructor(url: String, login: Credential? = null, password: Credential? = null, eventFeedName: String = "event-feed", feedVersion: FeedVersion = FeedVersion.`2022_07`)(source)
+
constructor(url: String, login: Credential? = null, password: Credential? = null, eventFeedName: String = "event-feed", feedVersion: FeedVersion = FeedVersion.`2022_07`)(source)
- + -
val feedVersion: FeedVersion(source)
+
val feedVersion: FeedVersion(source)

ClicsLoaderSettings

-
@Serializable
class ClicsLoaderSettings(val url: String, val login: Credential? = null, val password: Credential? = null, val eventFeedName: String = "event-feed", val feedVersion: FeedVersion = FeedVersion.`2022_07`)(source)
+
@Serializable
class ClicsLoaderSettings(val url: String, val login: Credential? = null, val password: Credential? = null, val eventFeedName: String = "event-feed", val feedVersion: FeedVersion = FeedVersion.`2022_07`)(source)
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/login.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/login.html index 4fcba0c60..ba7c59beb 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/login.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/login.html @@ -59,7 +59,7 @@

login

-
val login: Credential? = null(source)
+
val login: Credential? = null(source)
-
val password: Credential? = null(source)
+
val password: Credential? = null(source)
- + -
constructor(url: String, login: Credential? = null, password: Credential? = null, eventFeedName: String = "event-feed", feedVersion: FeedVersion = FeedVersion.`2022_07`, additionalFeed: ClicsLoaderSettings? = null, useTeamNames: Boolean = true, mediaBaseUrl: String = "", emulation: EmulationSettings? = null)(source)
+
constructor(url: String, login: Credential? = null, password: Credential? = null, eventFeedName: String = "event-feed", feedVersion: FeedVersion = FeedVersion.`2022_07`, additionalFeed: ClicsLoaderSettings? = null, useTeamNames: Boolean = true, mediaBaseUrl: String = "", emulation: EmulationSettings? = null)(source)
- + -
open override val emulation: EmulationSettings? = null(source)
+
open override val emulation: EmulationSettings? = null(source)

ClicsSettings

-
@Serializable
class ClicsSettings(url: String, login: Credential? = null, password: Credential? = null, eventFeedName: String = "event-feed", feedVersion: FeedVersion = FeedVersion.`2022_07`, val additionalFeed: ClicsLoaderSettings? = null, val useTeamNames: Boolean = true, val mediaBaseUrl: String = "", val emulation: EmulationSettings? = null) : CDSSettings(source)
+
@Serializable
class ClicsSettings(url: String, login: Credential? = null, password: Credential? = null, eventFeedName: String = "event-feed", feedVersion: FeedVersion = FeedVersion.`2022_07`, val additionalFeed: ClicsLoaderSettings? = null, val useTeamNames: Boolean = true, val mediaBaseUrl: String = "", val emulation: EmulationSettings? = null) : CDSSettings(source)
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/main-feed.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/main-feed.html index f45a57549..c9df6c623 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/main-feed.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/main-feed.html @@ -59,7 +59,7 @@

mainFeed

- +
- + - + -
constructor(raw: String)(source)
+
constructor(raw: String)(source)
-
fun get(creds: Map<String, String>): String(source)
+
fun get(creds: Map<String, String>): String(source)

Credential

-
@Serializable
value class Credential(raw: String)(source)
+
@Serializable
value class Credential(raw: String)(source)
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/-ejudge-settings.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/-ejudge-settings.html index 868a91979..21dea9568 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/-ejudge-settings.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/-ejudge-settings.html @@ -59,7 +59,7 @@

EjudgeSettings

-
constructor(url: String, resultType: ContestResultType = ContestResultType.ICPC, emulation: EmulationSettings? = null)(source)
+
constructor(url: String, resultType: ContestResultType = ContestResultType.ICPC, emulation: EmulationSettings? = null)(source)
-
open override val emulation: EmulationSettings? = null(source)
+
open override val emulation: EmulationSettings? = null(source)

EjudgeSettings

-
@Serializable
class EjudgeSettings(val url: String, val resultType: ContestResultType = ContestResultType.ICPC, val emulation: EmulationSettings? = null) : CDSSettings(source)
+
@Serializable
class EjudgeSettings(val url: String, val resultType: ContestResultType = ContestResultType.ICPC, val emulation: EmulationSettings? = null) : CDSSettings(source)
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/result-type.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/result-type.html index 9b8b258c6..9cccfc83f 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/result-type.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/result-type.html @@ -59,7 +59,7 @@

resultType

- +
- + -
constructor(speed: Double, startTime: Instant)(source)
+
constructor(speed: Double, startTime: Instant)(source)

EmulationSettings

-
@Serializable
class EmulationSettings(val speed: Double, val startTime: Instant)(source)
+
@Serializable
class EmulationSettings(val speed: Double, val startTime: Instant)(source)
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-emulation-settings/speed.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-emulation-settings/speed.html index 2a7022dcf..da92a073f 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-emulation-settings/speed.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-emulation-settings/speed.html @@ -59,7 +59,7 @@

speed

- +
-
@Serializable(with = HumanTimeSerializer::class)
val startTime: Instant(source)
+
@Serializable(with = HumanTimeSerializer::class)
val startTime: Instant(source)
-
constructor(submissionsUrl: String, contestUrl: String, timeZone: TimeZone = TimeZone.of("Asia/Bishkek"), emulation: EmulationSettings? = null)(source)
+
constructor(submissionsUrl: String, contestUrl: String, timeZone: TimeZone = TimeZone.of("Asia/Bishkek"), emulation: EmulationSettings? = null)(source)
- + -
open override val emulation: EmulationSettings? = null(source)
+
open override val emulation: EmulationSettings? = null(source)

KRSUSettings

-
@Serializable
class KRSUSettings(val submissionsUrl: String, val contestUrl: String, val timeZone: TimeZone = TimeZone.of("Asia/Bishkek"), val emulation: EmulationSettings? = null) : CDSSettings(source)
+
@Serializable
class KRSUSettings(val submissionsUrl: String, val contestUrl: String, val timeZone: TimeZone = TimeZone.of("Asia/Bishkek"), val emulation: EmulationSettings? = null) : CDSSettings(source)
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-k-r-s-u-settings/submissions-url.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-k-r-s-u-settings/submissions-url.html index 77425afd5..e044f5725 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-k-r-s-u-settings/submissions-url.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-k-r-s-u-settings/submissions-url.html @@ -59,7 +59,7 @@

submissionsUrl

- +
-
@Serializable(with = TimeZoneSerializer::class)
val timeZone: TimeZone(source)
+
@Serializable(with = TimeZoneSerializer::class)
val timeZone: TimeZone(source)
-
constructor(emulation: EmulationSettings? = null)(source)
+
constructor(emulation: EmulationSettings? = null)(source)
-
open override val emulation: EmulationSettings? = null(source)
+
open override val emulation: EmulationSettings? = null(source)

NoopSettings

-
@Serializable
class NoopSettings(val emulation: EmulationSettings? = null) : CDSSettings(source)
+
@Serializable
class NoopSettings(val emulation: EmulationSettings? = null) : CDSSettings(source)
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/-p-c-m-s-settings.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/-p-c-m-s-settings.html index d8d3ddd58..2fc746a0c 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/-p-c-m-s-settings.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/-p-c-m-s-settings.html @@ -59,7 +59,7 @@

PCMSSettings

-
constructor(url: String, login: Credential? = null, password: Credential? = null, problemsUrl: String? = null, resultType: ContestResultType = ContestResultType.ICPC, emulation: EmulationSettings? = null)(source)
+
constructor(url: String, login: Credential? = null, password: Credential? = null, problemsUrl: String? = null, resultType: ContestResultType = ContestResultType.ICPC, emulation: EmulationSettings? = null)(source)
-
open override val emulation: EmulationSettings? = null(source)
+
open override val emulation: EmulationSettings? = null(source)

PCMSSettings

-
@Serializable
class PCMSSettings(val url: String, val login: Credential? = null, val password: Credential? = null, val problemsUrl: String? = null, val resultType: ContestResultType = ContestResultType.ICPC, val emulation: EmulationSettings? = null) : CDSSettings(source)
+
@Serializable
class PCMSSettings(val url: String, val login: Credential? = null, val password: Credential? = null, val problemsUrl: String? = null, val resultType: ContestResultType = ContestResultType.ICPC, val emulation: EmulationSettings? = null) : CDSSettings(source)
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/login.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/login.html index c52091d24..e14486dd5 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/login.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/login.html @@ -59,7 +59,7 @@

login

-
val login: Credential? = null(source)
+
val login: Credential? = null(source)
-
val password: Credential? = null(source)
+
val password: Credential? = null(source)
-
val problemsUrl: String? = null(source)
+
val problemsUrl: String? = null(source)
- + - + -
constructor(url: String, timeZone: TimeZone = TimeZone.of("Europe/Moscow"), emulation: EmulationSettings? = null)(source)
+
constructor(url: String, timeZone: TimeZone = TimeZone.of("Europe/Moscow"), emulation: EmulationSettings? = null)(source)
-
open override val emulation: EmulationSettings? = null(source)
+
open override val emulation: EmulationSettings? = null(source)

TestSysSettings

-
@Serializable
class TestSysSettings(val url: String, val timeZone: TimeZone = TimeZone.of("Europe/Moscow"), val emulation: EmulationSettings? = null) : CDSSettings(source)
+
@Serializable
class TestSysSettings(val url: String, val timeZone: TimeZone = TimeZone.of("Europe/Moscow"), val emulation: EmulationSettings? = null) : CDSSettings(source)
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-test-sys-settings/time-zone.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-test-sys-settings/time-zone.html index 6dc6eb8be..918c1c72a 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-test-sys-settings/time-zone.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-test-sys-settings/time-zone.html @@ -59,7 +59,7 @@

timeZone

-
@Serializable(with = TimeZoneSerializer::class)
val timeZone: TimeZone(source)
+
@Serializable(with = TimeZoneSerializer::class)
val timeZone: TimeZone(source)
- + -
constructor(apiKey: Credential, loginRegex: String, contestId: Int, resultType: ContestResultType = ContestResultType.ICPC, emulation: EmulationSettings? = null)(source)
+
constructor(apiKey: Credential, loginRegex: String, contestId: Int, resultType: ContestResultType = ContestResultType.ICPC, emulation: EmulationSettings? = null)(source)
- + - + -
open override val emulation: EmulationSettings? = null(source)
+
open override val emulation: EmulationSettings? = null(source)

YandexSettings

-
@Serializable
class YandexSettings(val apiKey: Credential, val loginRegex: String, val contestId: Int, val resultType: ContestResultType = ContestResultType.ICPC, val emulation: EmulationSettings? = null) : CDSSettings(source)
+
@Serializable
class YandexSettings(val apiKey: Credential, val loginRegex: String, val contestId: Int, val resultType: ContestResultType = ContestResultType.ICPC, val emulation: EmulationSettings? = null) : CDSSettings(source)
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/login-regex.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/login-regex.html index fadb53481..19915a388 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/login-regex.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/login-regex.html @@ -59,7 +59,7 @@

loginRegex

- +
- +
-
@Serializable
class CFSettings(val contestId: Int, val apiKey: Credential, val apiSecret: Credential, val emulation: EmulationSettings? = null) : CDSSettings
+
@Serializable
class CFSettings(val contestId: Int, val apiKey: Credential, val apiSecret: Credential, val asManager: Boolean = true, val emulation: EmulationSettings? = null) : CDSSettings
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/parse-file-to-cds-settings.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/parse-file-to-cds-settings.html index 9f8b0047d..bf68d3b8f 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/parse-file-to-cds-settings.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/parse-file-to-cds-settings.html @@ -59,7 +59,7 @@

parseFileToCdsSettings

- + -
@Serializable(with = DurationInMillisecondsSerializer::class)
val contestLength: Duration(source)
+
@Serializable(with = DurationInMillisecondsSerializer::class)
val contestLength: Duration(source)
- + - + -
@Serializable(with = DurationInMillisecondsSerializer::class)
val freezeTime: Duration(source)
+
@Serializable(with = DurationInMillisecondsSerializer::class)
val freezeTime: Duration(source)
- + - + -
@Serializable(with = DurationInMillisecondsSerializer::class)
val holdBeforeStartTime: Duration? = null(source)
+
@Serializable(with = DurationInMillisecondsSerializer::class)
val holdBeforeStartTime: Duration? = null(source)

ContestInfo

-
@Serializable
data class ContestInfo(val name: String, val status: ContestStatus, val resultType: ContestResultType, val startTime: Instant, val contestLength: Duration, val freezeTime: Duration, val problems: List<ProblemInfo>, val teams: List<TeamInfo>, val groups: List<GroupInfo>, val penaltyRoundingMode: PenaltyRoundingMode, val holdBeforeStartTime: Duration? = null, val emulationSpeed: Double = 1.0, val medals: List<MedalType> = emptyList(), val penaltyPerWrongAttempt: Duration = 20.minutes)(source)
+
@Serializable
data class ContestInfo(val name: String, val status: ContestStatus, val resultType: ContestResultType, val startTime: Instant, val contestLength: Duration, val freezeTime: Duration, val problems: List<ProblemInfo>, val teams: List<TeamInfo>, val groups: List<GroupInfo>, val penaltyRoundingMode: PenaltyRoundingMode, val holdBeforeStartTime: Duration? = null, val emulationSpeed: Double = 1.0, val medals: List<MedalType> = emptyList(), val penaltyPerWrongAttempt: Duration = 20.minutes)(source)
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/medals.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/medals.html index 5df257db9..aadffcb9e 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/medals.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/medals.html @@ -59,7 +59,7 @@

medals

- +
- + - + - + - + - + -
@Serializable(with = UnixMillisecondsSerializer::class)
val startTime: Instant(source)
+
@Serializable(with = UnixMillisecondsSerializer::class)
val startTime: Instant(source)
- + - + +
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
object Companion
+
+
+
+
+
+

Properties

diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-group-info/-group-info.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-group-info/-group-info.html index f81c9c10b..6a82844a5 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-group-info/-group-info.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-group-info/-group-info.html @@ -59,7 +59,7 @@

GroupInfo

-
constructor(name: String, isHidden: Boolean = false, isOutOfContest: Boolean = false)(source)
+
constructor(name: String, isHidden: Boolean = false, isOutOfContest: Boolean = false)(source)

GroupInfo

-
@Serializable
data class GroupInfo(val name: String, val isHidden: Boolean = false, val isOutOfContest: Boolean = false)(source)
+
@Serializable
data class GroupInfo(val name: String, val isHidden: Boolean = false, val isOutOfContest: Boolean = false)(source)
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-group-info/is-hidden.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-group-info/is-hidden.html index 48f48deb5..cf831f100 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-group-info/is-hidden.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-group-info/is-hidden.html @@ -59,7 +59,7 @@

isHidden

-
val isHidden: Boolean = false(source)
+
val isHidden: Boolean = false(source)
- +
- + -
constructor(url: String, isMedia: Boolean = true)(source)
+
constructor(url: String, isMedia: Boolean = true)(source)

Object

-
@Serializable
data class Object(val url: String, val isMedia: Boolean = true) : MediaType(source)
+
@Serializable
data class Object(val url: String, val isMedia: Boolean = true) : MediaType(source)
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-object/is-media.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-object/is-media.html index 242c19724..5940dbec2 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-object/is-media.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-object/is-media.html @@ -59,7 +59,7 @@

isMedia

-
open override val isMedia: Boolean = true(source)
+
open override val isMedia: Boolean = true(source)
- + -
constructor(url: String, isMedia: Boolean = true)(source)
+
constructor(url: String, isMedia: Boolean = true)(source)

Photo

-
@Serializable
data class Photo(val url: String, val isMedia: Boolean = true) : MediaType(source)
+
@Serializable
data class Photo(val url: String, val isMedia: Boolean = true) : MediaType(source)
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-photo/is-media.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-photo/is-media.html index 323d57b7b..2bdbcf48a 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-photo/is-media.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-photo/is-media.html @@ -59,7 +59,7 @@

isMedia

-
open override val isMedia: Boolean = true(source)
+
open override val isMedia: Boolean = true(source)
- + -
constructor(teamId: Int)(source)
+
constructor(teamId: Int)(source)

TaskStatus

-
@Serializable
data class TaskStatus(val teamId: Int) : MediaType(source)
+
@Serializable
data class TaskStatus(val teamId: Int) : MediaType(source)
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-task-status/is-media.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-task-status/is-media.html index 52a507116..132c2bb50 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-task-status/is-media.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-task-status/is-media.html @@ -59,7 +59,7 @@

isMedia

-
open override val isMedia: Boolean = false(source)
+
open override val isMedia: Boolean = false(source)
- + -
constructor(url: String, isMedia: Boolean = true)(source)
+
constructor(url: String, isMedia: Boolean = true)(source)

Video

-
@Serializable
data class Video(val url: String, val isMedia: Boolean = true) : MediaType(source)
+
@Serializable
data class Video(val url: String, val isMedia: Boolean = true) : MediaType(source)
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-video/is-media.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-video/is-media.html index d7c043c86..535e8d838 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-video/is-media.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-video/is-media.html @@ -59,7 +59,7 @@

isMedia

-
open override val isMedia: Boolean = true(source)
+
open override val isMedia: Boolean = true(source)
- + -
constructor(url: String, peerName: String, streamType: String, credential: String?, isMedia: Boolean = true)(source)
+
constructor(url: String, peerName: String, streamType: String, credential: String?, isMedia: Boolean = true)(source)
- +

WebRTCGrabberConnection

-
@Serializable
data class WebRTCGrabberConnection(val url: String, val peerName: String, val streamType: String, val credential: String?, val isMedia: Boolean = true) : MediaType(source)

WebRTC grabber connection https://github.com/irdkwmnsb/webrtc-grabber

+
@Serializable
data class WebRTCGrabberConnection(val url: String, val peerName: String, val streamType: String, val credential: String?, val isMedia: Boolean = true) : MediaType(source)

WebRTC grabber connection https://github.com/irdkwmnsb/webrtc-grabber

diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/is-media.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/is-media.html index 0986cc882..708268ff1 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/is-media.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/is-media.html @@ -59,7 +59,7 @@

isMedia

-
open override val isMedia: Boolean = true(source)
+
open override val isMedia: Boolean = true(source)
- + - + - + -
constructor(url: String, audioUrl: String? = null, isMedia: Boolean = true)(source)
+
constructor(url: String, audioUrl: String? = null, isMedia: Boolean = true)(source)
-
val audioUrl: String? = null(source)
+
val audioUrl: String? = null(source)

WebRTCProxyConnection

-
@Serializable
data class WebRTCProxyConnection(val url: String, val audioUrl: String? = null, val isMedia: Boolean = true) : MediaType(source)

WebRTC proxy connection

See also

+
@Serializable
data class WebRTCProxyConnection(val url: String, val audioUrl: String? = null, val isMedia: Boolean = true) : MediaType(source)

WebRTC proxy connection

See also

diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/is-media.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/is-media.html index 03ac8111b..5f91e4591 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/is-media.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/is-media.html @@ -59,7 +59,7 @@

isMedia

-
open override val isMedia: Boolean = true(source)
+
open override val isMedia: Boolean = true(source)
- + - +
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/is-media.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/is-media.html index 5820d878a..6b39b61a0 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/is-media.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/is-media.html @@ -59,7 +59,7 @@

isMedia

-
abstract val isMedia: Boolean(source)
+
abstract val isMedia: Boolean(source)
- +

PenaltyRoundingMode

- +
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/value-of.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/value-of.html index b6ca9fbba..2a15a8aa3 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/value-of.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/value-of.html @@ -59,7 +59,7 @@

valueOf

-

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Throws

if this enum type has no constant with the specified name

+

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Throws

if this enum type has no constant with the specified name

-

Returns an array containing the constants of this enum type, in the order they're declared.

This method may be used to iterate over the constants.

+

Returns an array containing the constants of this enum type, in the order they're declared.

This method may be used to iterate over the constants.

-
constructor(id: Int, name: String, shortName: String, contestSystemId: String, groups: List<String>, hashTag: String?, medias: Map<TeamMediaType, MediaType>, additionalInfo: String? = null, isHidden: Boolean = false, isOutOfContest: Boolean = false)(source)
+
constructor(id: Int, name: String, shortName: String, contestSystemId: String, groups: List<String>, hashTag: String?, medias: Map<TeamMediaType, MediaType>, additionalInfo: String? = null, isHidden: Boolean = false, isOutOfContest: Boolean = false)(source)
- + - + - + - + -
val id: Int(source)
+
val id: Int(source)

TeamInfo

-
@Serializable
data class TeamInfo(val id: Int, val name: String, val shortName: String, val contestSystemId: String, val groups: List<String>, val hashTag: String?, val medias: Map<TeamMediaType, MediaType>, val additionalInfo: String? = null, val isHidden: Boolean = false, val isOutOfContest: Boolean = false)(source)
+
@Serializable
data class TeamInfo(val id: Int, val name: String, val shortName: String, val contestSystemId: String, val groups: List<String>, val hashTag: String?, val medias: Map<TeamMediaType, MediaType>, val additionalInfo: String? = null, val isHidden: Boolean = false, val isOutOfContest: Boolean = false)(source)
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/is-hidden.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/is-hidden.html index 905bfc11a..0b8c94006 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/is-hidden.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/is-hidden.html @@ -59,7 +59,7 @@

isHidden

-
val isHidden: Boolean = false(source)
+
val isHidden: Boolean = false(source)
- + - + - + - +

TeamMediaType

-
@Serializable
enum TeamMediaType : Enum<TeamMediaType> (source)
+
@Serializable
enum TeamMediaType : Enum<TeamMediaType> (source)
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/value-of.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/value-of.html index 88617a867..83b67a6ee 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/value-of.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/value-of.html @@ -59,7 +59,7 @@

valueOf

-

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Throws

if this enum type has no constant with the specified name

+

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Throws

if this enum type has no constant with the specified name

-

Returns an array containing the constants of this enum type, in the order they're declared.

This method may be used to iterate over the constants.

+

Returns an array containing the constants of this enum type, in the order they're declared.

This method may be used to iterate over the constants.

- + - +
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-d-s-settings/to-flow.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-d-s-settings/to-flow.html index f83ccfa16..be5df4bd5 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-d-s-settings/to-flow.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-d-s-settings/to-flow.html @@ -59,7 +59,7 @@

toFlow

-
fun toFlow(creds: Map<String, String>): Flow<ContestUpdate>(source)
+
fun toFlow(creds: Map<String, String>): Flow<ContestUpdate>(source)
-
open override fun toString(): String(source)
+
open override fun toString(): String(source)
-
constructor(contestId: Int, apiKey: Credential, apiSecret: Credential, asManager: Boolean = true, emulation: EmulationSettings? = null)(source)
+
constructor(contestId: Int, apiKey: Credential, apiSecret: Credential, asManager: Boolean = true, emulation: EmulationSettings? = null)(source)
- + - + - + -
open override val emulation: EmulationSettings? = null(source)
+
open override val emulation: EmulationSettings? = null(source)

CFSettings

-
@Serializable
class CFSettings(val contestId: Int, val apiKey: Credential, val apiSecret: Credential, val asManager: Boolean = true, val emulation: EmulationSettings? = null) : CDSSettings(source)
+
@Serializable
class CFSettings(val contestId: Int, val apiKey: Credential, val apiSecret: Credential, val asManager: Boolean = true, val emulation: EmulationSettings? = null) : CDSSettings(source)
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/-cats-settings.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/-cats-settings.html index 13da5b7b1..f9ed2e71b 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/-cats-settings.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/-cats-settings.html @@ -59,7 +59,7 @@

CatsSettings

-
constructor(login: Credential, password: Credential, url: String, timeZone: TimeZone = TimeZone.of("Asia/Vladivostok"), resultType: ContestResultType = ContestResultType.ICPC, cid: String, emulation: EmulationSettings? = null)(source)
+
constructor(login: Credential, password: Credential, url: String, timeZone: TimeZone = TimeZone.of("Asia/Vladivostok"), resultType: ContestResultType = ContestResultType.ICPC, cid: String, emulation: EmulationSettings? = null)(source)
- + -
open override val emulation: EmulationSettings? = null(source)
+
open override val emulation: EmulationSettings? = null(source)

CatsSettings

-
@Serializable
class CatsSettings(val login: Credential, val password: Credential, val url: String, val timeZone: TimeZone = TimeZone.of("Asia/Vladivostok"), val resultType: ContestResultType = ContestResultType.ICPC, val cid: String, val emulation: EmulationSettings? = null) : CDSSettings(source)
+
@Serializable
class CatsSettings(val login: Credential, val password: Credential, val url: String, val timeZone: TimeZone = TimeZone.of("Asia/Vladivostok"), val resultType: ContestResultType = ContestResultType.ICPC, val cid: String, val emulation: EmulationSettings? = null) : CDSSettings(source)
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/login.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/login.html index 32d5f5631..a11414bbe 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/login.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/login.html @@ -59,7 +59,7 @@

login

- +
- + - + -
@Serializable(with = TimeZoneSerializer::class)
val timeZone: TimeZone(source)
+
@Serializable(with = TimeZoneSerializer::class)
val timeZone: TimeZone(source)
- + -
constructor(url: String, login: Credential? = null, password: Credential? = null, eventFeedName: String = "event-feed", feedVersion: FeedVersion = FeedVersion.`2022_07`)(source)
+
constructor(url: String, login: Credential? = null, password: Credential? = null, eventFeedName: String = "event-feed", feedVersion: FeedVersion = FeedVersion.`2022_07`)(source)
- + -
val feedVersion: FeedVersion(source)
+
val feedVersion: FeedVersion(source)

ClicsLoaderSettings

-
@Serializable
class ClicsLoaderSettings(val url: String, val login: Credential? = null, val password: Credential? = null, val eventFeedName: String = "event-feed", val feedVersion: FeedVersion = FeedVersion.`2022_07`)(source)
+
@Serializable
class ClicsLoaderSettings(val url: String, val login: Credential? = null, val password: Credential? = null, val eventFeedName: String = "event-feed", val feedVersion: FeedVersion = FeedVersion.`2022_07`)(source)
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/login.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/login.html index ba7c59beb..c6c43cc11 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/login.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/login.html @@ -59,7 +59,7 @@

login

-
val login: Credential? = null(source)
+
val login: Credential? = null(source)
-
val password: Credential? = null(source)
+
val password: Credential? = null(source)
- + -
constructor(url: String, login: Credential? = null, password: Credential? = null, eventFeedName: String = "event-feed", feedVersion: FeedVersion = FeedVersion.`2022_07`, additionalFeed: ClicsLoaderSettings? = null, useTeamNames: Boolean = true, mediaBaseUrl: String = "", emulation: EmulationSettings? = null)(source)
+
constructor(url: String, login: Credential? = null, password: Credential? = null, eventFeedName: String = "event-feed", feedVersion: FeedVersion = FeedVersion.`2022_07`, additionalFeed: ClicsLoaderSettings? = null, useTeamNames: Boolean = true, mediaBaseUrl: String = "", emulation: EmulationSettings? = null)(source)
- + -
open override val emulation: EmulationSettings? = null(source)
+
open override val emulation: EmulationSettings? = null(source)

ClicsSettings

-
@Serializable
class ClicsSettings(url: String, login: Credential? = null, password: Credential? = null, eventFeedName: String = "event-feed", feedVersion: FeedVersion = FeedVersion.`2022_07`, val additionalFeed: ClicsLoaderSettings? = null, val useTeamNames: Boolean = true, val mediaBaseUrl: String = "", val emulation: EmulationSettings? = null) : CDSSettings(source)
+
@Serializable
class ClicsSettings(url: String, login: Credential? = null, password: Credential? = null, eventFeedName: String = "event-feed", feedVersion: FeedVersion = FeedVersion.`2022_07`, val additionalFeed: ClicsLoaderSettings? = null, val useTeamNames: Boolean = true, val mediaBaseUrl: String = "", val emulation: EmulationSettings? = null) : CDSSettings(source)
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/main-feed.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/main-feed.html index c9df6c623..861e243ec 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/main-feed.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/main-feed.html @@ -59,7 +59,7 @@

mainFeed

- +
- + - + -
constructor(raw: String)(source)
+
constructor(raw: String)(source)
-
fun get(creds: Map<String, String>): String(source)
+
fun get(creds: Map<String, String>): String(source)

Credential

-
@Serializable
value class Credential(raw: String)(source)
+
@Serializable
value class Credential(raw: String)(source)
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/-ejudge-settings.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/-ejudge-settings.html index 21dea9568..8589f6fb9 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/-ejudge-settings.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/-ejudge-settings.html @@ -59,7 +59,7 @@

EjudgeSettings

-
constructor(url: String, resultType: ContestResultType = ContestResultType.ICPC, emulation: EmulationSettings? = null)(source)
+
constructor(url: String, resultType: ContestResultType = ContestResultType.ICPC, emulation: EmulationSettings? = null)(source)
-
open override val emulation: EmulationSettings? = null(source)
+
open override val emulation: EmulationSettings? = null(source)

EjudgeSettings

-
@Serializable
class EjudgeSettings(val url: String, val resultType: ContestResultType = ContestResultType.ICPC, val emulation: EmulationSettings? = null) : CDSSettings(source)
+
@Serializable
class EjudgeSettings(val url: String, val resultType: ContestResultType = ContestResultType.ICPC, val emulation: EmulationSettings? = null) : CDSSettings(source)
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/result-type.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/result-type.html index 9cccfc83f..aa5998aa5 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/result-type.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/result-type.html @@ -59,7 +59,7 @@

resultType

- +
- + -
constructor(speed: Double, startTime: Instant)(source)
+
constructor(speed: Double, startTime: Instant)(source)

EmulationSettings

-
@Serializable
class EmulationSettings(val speed: Double, val startTime: Instant)(source)
+
@Serializable
class EmulationSettings(val speed: Double, val startTime: Instant)(source)
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-emulation-settings/speed.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-emulation-settings/speed.html index da92a073f..d664b1d55 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-emulation-settings/speed.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-emulation-settings/speed.html @@ -59,7 +59,7 @@

speed

- +
-
@Serializable(with = HumanTimeSerializer::class)
val startTime: Instant(source)
+
@Serializable(with = HumanTimeSerializer::class)
val startTime: Instant(source)
-
constructor(submissionsUrl: String, contestUrl: String, timeZone: TimeZone = TimeZone.of("Asia/Bishkek"), emulation: EmulationSettings? = null)(source)
+
constructor(submissionsUrl: String, contestUrl: String, timeZone: TimeZone = TimeZone.of("Asia/Bishkek"), emulation: EmulationSettings? = null)(source)
- + -
open override val emulation: EmulationSettings? = null(source)
+
open override val emulation: EmulationSettings? = null(source)

KRSUSettings

-
@Serializable
class KRSUSettings(val submissionsUrl: String, val contestUrl: String, val timeZone: TimeZone = TimeZone.of("Asia/Bishkek"), val emulation: EmulationSettings? = null) : CDSSettings(source)
+
@Serializable
class KRSUSettings(val submissionsUrl: String, val contestUrl: String, val timeZone: TimeZone = TimeZone.of("Asia/Bishkek"), val emulation: EmulationSettings? = null) : CDSSettings(source)
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-k-r-s-u-settings/submissions-url.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-k-r-s-u-settings/submissions-url.html index e044f5725..22cbf35bb 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-k-r-s-u-settings/submissions-url.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-k-r-s-u-settings/submissions-url.html @@ -59,7 +59,7 @@

submissionsUrl

- +
-
@Serializable(with = TimeZoneSerializer::class)
val timeZone: TimeZone(source)
+
@Serializable(with = TimeZoneSerializer::class)
val timeZone: TimeZone(source)
-
constructor(emulation: EmulationSettings? = null)(source)
+
constructor(emulation: EmulationSettings? = null)(source)
-
open override val emulation: EmulationSettings? = null(source)
+
open override val emulation: EmulationSettings? = null(source)

NoopSettings

-
@Serializable
class NoopSettings(val emulation: EmulationSettings? = null) : CDSSettings(source)
+
@Serializable
class NoopSettings(val emulation: EmulationSettings? = null) : CDSSettings(source)
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/-p-c-m-s-settings.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/-p-c-m-s-settings.html index 2fc746a0c..8c3f103b3 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/-p-c-m-s-settings.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/-p-c-m-s-settings.html @@ -59,7 +59,7 @@

PCMSSettings

-
constructor(url: String, login: Credential? = null, password: Credential? = null, problemsUrl: String? = null, resultType: ContestResultType = ContestResultType.ICPC, emulation: EmulationSettings? = null)(source)
+
constructor(url: String, login: Credential? = null, password: Credential? = null, problemsUrl: String? = null, resultType: ContestResultType = ContestResultType.ICPC, emulation: EmulationSettings? = null)(source)
-
open override val emulation: EmulationSettings? = null(source)
+
open override val emulation: EmulationSettings? = null(source)

PCMSSettings

-
@Serializable
class PCMSSettings(val url: String, val login: Credential? = null, val password: Credential? = null, val problemsUrl: String? = null, val resultType: ContestResultType = ContestResultType.ICPC, val emulation: EmulationSettings? = null) : CDSSettings(source)
+
@Serializable
class PCMSSettings(val url: String, val login: Credential? = null, val password: Credential? = null, val problemsUrl: String? = null, val resultType: ContestResultType = ContestResultType.ICPC, val emulation: EmulationSettings? = null) : CDSSettings(source)
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/login.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/login.html index e14486dd5..6714b9778 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/login.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/login.html @@ -59,7 +59,7 @@

login

-
val login: Credential? = null(source)
+
val login: Credential? = null(source)
-
val password: Credential? = null(source)
+
val password: Credential? = null(source)
-
val problemsUrl: String? = null(source)
+
val problemsUrl: String? = null(source)
- + - + -
constructor(url: String, timeZone: TimeZone = TimeZone.of("Europe/Moscow"), emulation: EmulationSettings? = null)(source)
+
constructor(url: String, timeZone: TimeZone = TimeZone.of("Europe/Moscow"), emulation: EmulationSettings? = null)(source)
-
open override val emulation: EmulationSettings? = null(source)
+
open override val emulation: EmulationSettings? = null(source)

TestSysSettings

-
@Serializable
class TestSysSettings(val url: String, val timeZone: TimeZone = TimeZone.of("Europe/Moscow"), val emulation: EmulationSettings? = null) : CDSSettings(source)
+
@Serializable
class TestSysSettings(val url: String, val timeZone: TimeZone = TimeZone.of("Europe/Moscow"), val emulation: EmulationSettings? = null) : CDSSettings(source)
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-test-sys-settings/time-zone.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-test-sys-settings/time-zone.html index 918c1c72a..501a01c60 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-test-sys-settings/time-zone.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-test-sys-settings/time-zone.html @@ -59,7 +59,7 @@

timeZone

-
@Serializable(with = TimeZoneSerializer::class)
val timeZone: TimeZone(source)
+
@Serializable(with = TimeZoneSerializer::class)
val timeZone: TimeZone(source)
- + -
constructor(apiKey: Credential, loginRegex: String, contestId: Int, resultType: ContestResultType = ContestResultType.ICPC, emulation: EmulationSettings? = null)(source)
+
constructor(apiKey: Credential, loginRegex: String, contestId: Int, resultType: ContestResultType = ContestResultType.ICPC, emulation: EmulationSettings? = null)(source)
- + - + -
open override val emulation: EmulationSettings? = null(source)
+
open override val emulation: EmulationSettings? = null(source)

YandexSettings

-
@Serializable
class YandexSettings(val apiKey: Credential, val loginRegex: String, val contestId: Int, val resultType: ContestResultType = ContestResultType.ICPC, val emulation: EmulationSettings? = null) : CDSSettings(source)
+
@Serializable
class YandexSettings(val apiKey: Credential, val loginRegex: String, val contestId: Int, val resultType: ContestResultType = ContestResultType.ICPC, val emulation: EmulationSettings? = null) : CDSSettings(source)
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/login-regex.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/login-regex.html index 19915a388..47a0060cc 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/login-regex.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/login-regex.html @@ -59,7 +59,7 @@

loginRegex

- +
- + + +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable
class CodeDrillsSettings(val url: String, val port: Int, val contestId: String, val authKey: Credential, val emulation: EmulationSettings? = null) : CDSSettings
+
+
+
+
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/parse-file-to-cds-settings.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/parse-file-to-cds-settings.html index bf68d3b8f..90bd32a0e 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/parse-file-to-cds-settings.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/parse-file-to-cds-settings.html @@ -59,7 +59,7 @@

parseFileToCdsSettings

- +
-
+

ContestInfo

-
constructor(name: String, status: ContestStatus, resultType: ContestResultType, startTime: Instant, contestLength: Duration, freezeTime: Duration, problems: List<ProblemInfo>, teams: List<TeamInfo>, groups: List<GroupInfo>, penaltyRoundingMode: PenaltyRoundingMode, holdBeforeStartTime: Duration? = null, emulationSpeed: Double = 1.0, medals: List<MedalType> = emptyList(), penaltyPerWrongAttempt: Duration = 20.minutes)(source)
+
constructor(name: String, status: ContestStatus, resultType: ContestResultType, startTime: Instant, contestLength: Duration, freezeTime: Duration, problems: List<ProblemInfo>, teams: List<TeamInfo>, groups: List<GroupInfo>, organizations: List<OrganizationInfo>, penaltyRoundingMode: PenaltyRoundingMode, holdBeforeStartTime: Duration? = null, emulationSpeed: Double = 1.0, medals: List<MedalType> = emptyList(), penaltyPerWrongAttempt: Duration = 20.minutes)(source)
-
@Serializable(with = DurationInMillisecondsSerializer::class)
val contestLength: Duration(source)
+
@Serializable(with = DurationInMillisecondsSerializer::class)
val contestLength: Duration(source)
- +
- +
-
@Serializable(with = DurationInMillisecondsSerializer::class)
val freezeTime: Duration(source)
+
@Serializable(with = DurationInMillisecondsSerializer::class)
val freezeTime: Duration(source)
- + - + -
@Serializable(with = DurationInMillisecondsSerializer::class)
val holdBeforeStartTime: Duration? = null(source)
+
@Serializable(with = DurationInMillisecondsSerializer::class)
val holdBeforeStartTime: Duration? = null(source)

ContestInfo

-
@Serializable
data class ContestInfo(val name: String, val status: ContestStatus, val resultType: ContestResultType, val startTime: Instant, val contestLength: Duration, val freezeTime: Duration, val problems: List<ProblemInfo>, val teams: List<TeamInfo>, val groups: List<GroupInfo>, val penaltyRoundingMode: PenaltyRoundingMode, val holdBeforeStartTime: Duration? = null, val emulationSpeed: Double = 1.0, val medals: List<MedalType> = emptyList(), val penaltyPerWrongAttempt: Duration = 20.minutes)(source)
+
@Serializable
data class ContestInfo(val name: String, val status: ContestStatus, val resultType: ContestResultType, val startTime: Instant, val contestLength: Duration, val freezeTime: Duration, val problems: List<ProblemInfo>, val teams: List<TeamInfo>, val groups: List<GroupInfo>, val organizations: List<OrganizationInfo>, val penaltyRoundingMode: PenaltyRoundingMode, val holdBeforeStartTime: Duration? = null, val emulationSpeed: Double = 1.0, val medals: List<MedalType> = emptyList(), val penaltyPerWrongAttempt: Duration = 20.minutes)(source)

Constructors

-
+
- +
Link copied to clipboard
-
constructor(name: String, status: ContestStatus, resultType: ContestResultType, startTime: Instant, contestLength: Duration, freezeTime: Duration, problems: List<ProblemInfo>, teams: List<TeamInfo>, groups: List<GroupInfo>, penaltyRoundingMode: PenaltyRoundingMode, holdBeforeStartTime: Duration? = null, emulationSpeed: Double = 1.0, medals: List<MedalType> = emptyList(), penaltyPerWrongAttempt: Duration = 20.minutes)
+
constructor(name: String, status: ContestStatus, resultType: ContestResultType, startTime: Instant, contestLength: Duration, freezeTime: Duration, problems: List<ProblemInfo>, teams: List<TeamInfo>, groups: List<GroupInfo>, organizations: List<OrganizationInfo>, penaltyRoundingMode: PenaltyRoundingMode, holdBeforeStartTime: Duration? = null, emulationSpeed: Double = 1.0, medals: List<MedalType> = emptyList(), penaltyPerWrongAttempt: Duration = 20.minutes)
@@ -204,6 +204,21 @@

Properties

+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/medals.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/medals.html index aadffcb9e..f5b889fe1 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/medals.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/medals.html @@ -59,7 +59,7 @@

medals

- +
- +

Companion

- +
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/-companion/logger.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/-companion/logger.html index f287160aa..02c28ec99 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/-companion/logger.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/-companion/logger.html @@ -59,7 +59,7 @@

logger

-
val logger: Logger(source)
+
val logger: Logger(source)
-
constructor(letter: String, name: String, id: Int, ordinal: Int, contestSystemId: String, minScore: Double? = null, maxScore: Double? = null, color: Color? = null, scoreMergeMode: ScoreMergeMode? = null)(source)
+
constructor(letter: String, name: String, id: Int, ordinal: Int, contestSystemId: String, minScore: Double? = null, maxScore: Double? = null, color: Color? = null, scoreMergeMode: ScoreMergeMode? = null)(source)
-
@Serializable(with = ColorSerializer::class)
val color: Color? = null(source)
+
@Serializable(with = ColorSerializer::class)
val color: Color? = null(source)
- +
-
val id: Int(source)
+
val id: Int(source)

ProblemInfo

-
@Serializable
data class ProblemInfo(val letter: String, val name: String, val id: Int, val ordinal: Int, val contestSystemId: String, val minScore: Double? = null, val maxScore: Double? = null, val color: Color? = null, val scoreMergeMode: ScoreMergeMode? = null)(source)
+
@Serializable
data class ProblemInfo(val letter: String, val name: String, val id: Int, val ordinal: Int, val contestSystemId: String, val minScore: Double? = null, val maxScore: Double? = null, val color: Color? = null, val scoreMergeMode: ScoreMergeMode? = null)(source)
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/letter.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/letter.html index a6e2a448c..ececea2c7 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/letter.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/letter.html @@ -59,7 +59,7 @@

letter

- +
-
val maxScore: Double? = null(source)
+
val maxScore: Double? = null(source)
-
val minScore: Double? = null(source)
+
val minScore: Double? = null(source)
- + - + - + -
constructor(id: Int, result: RunResult?, percentage: Double, problemId: Int, teamId: Int, time: Duration, featuredRunMedia: MediaType? = null, reactionVideos: List<MediaType> = emptyList(), isHidden: Boolean = false)(source)
+
constructor(id: Int, result: RunResult?, percentage: Double, problemId: Int, teamId: Int, time: Duration, featuredRunMedia: MediaType? = null, reactionVideos: List<MediaType> = emptyList(), isHidden: Boolean = false)(source)
- + -
val id: Int(source)
+
val id: Int(source)

RunInfo

-
@Serializable
data class RunInfo(val id: Int, val result: RunResult?, val percentage: Double, val problemId: Int, val teamId: Int, val time: Duration, val featuredRunMedia: MediaType? = null, val reactionVideos: List<MediaType> = emptyList(), val isHidden: Boolean = false)(source)
+
@Serializable
data class RunInfo(val id: Int, val result: RunResult?, val percentage: Double, val problemId: Int, val teamId: Int, val time: Duration, val featuredRunMedia: MediaType? = null, val reactionVideos: List<MediaType> = emptyList(), val isHidden: Boolean = false)(source)
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/is-hidden.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/is-hidden.html index b5e81d933..1aa0aab76 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/is-hidden.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/is-hidden.html @@ -59,7 +59,7 @@

isHidden

-
val isHidden: Boolean = false(source)
+
val isHidden: Boolean = false(source)
- + - + - + - + - + -
@Serializable(with = DurationInMillisecondsSerializer::class)
val time: Duration(source)
+
@Serializable(with = DurationInMillisecondsSerializer::class)
val time: Duration(source)

RunResult

-
@Serializable
sealed class RunResult(source)

Inheritors

+
@Serializable
sealed class RunResult(source)

Inheritors

diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/index.html index 019b974a9..15fb04f6b 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/index.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/index.html @@ -58,7 +58,7 @@
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/value-of.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/value-of.html index d9b806a4f..96e89dae5 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/value-of.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/value-of.html @@ -59,7 +59,7 @@

valueOf

-

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Throws

if this enum type has no constant with the specified name

+

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Throws

if this enum type has no constant with the specified name

-

Returns an array containing the constants of this enum type, in the order they're declared.

This method may be used to iterate over the constants.

+

Returns an array containing the constants of this enum type, in the order they're declared.

This method may be used to iterate over the constants.

-
+

Scoreboard

-
constructor(rows: List<ScoreboardRow>)(source)
+
constructor(lastSubmitTime: Duration, rows: List<ScoreboardRow>)(source)

Scoreboard

-
@Serializable
data class Scoreboard(val rows: List<ScoreboardRow>)(source)
+
@Serializable
data class Scoreboard(val lastSubmitTime: Duration, val rows: List<ScoreboardRow>)(source)

Constructors

-
+
- +
Link copied to clipboard
-
constructor(rows: List<ScoreboardRow>)
+
constructor(lastSubmitTime: Duration, rows: List<ScoreboardRow>)
@@ -84,7 +84,22 @@

Constructors

Properties

-
+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Serializable(with = DurationInMillisecondsSerializer::class)
val lastSubmitTime: Duration
+
+
+
+
+
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard/last-submit-time.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard/last-submit-time.html new file mode 100644 index 000000000..15748f03a --- /dev/null +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard/last-submit-time.html @@ -0,0 +1,72 @@ + + + + + lastSubmitTime + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

lastSubmitTime

+
+
@Serializable(with = DurationInMillisecondsSerializer::class)
val lastSubmitTime: Duration(source)
+
+ +
+
+ + diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard/rows.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard/rows.html index 0fcd34f79..a95edeeff 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard/rows.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard/rows.html @@ -59,7 +59,7 @@

rows

- +
-
+

TeamInfo

-
constructor(id: Int, name: String, shortName: String, contestSystemId: String, groups: List<String>, hashTag: String?, medias: Map<TeamMediaType, MediaType>, additionalInfo: String? = null, isHidden: Boolean = false, isOutOfContest: Boolean = false)(source)
+
constructor(id: Int, fullName: String, displayName: String, contestSystemId: String, groups: List<String>, hashTag: String?, medias: Map<TeamMediaType, MediaType>, isHidden: Boolean, isOutOfContest: Boolean, organizationId: String?, customFields: Map<String, String> = emptyMap())(source)
- +
- +
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
diff --git a/docs/cds/-i-c-p-c-live contest data parser/package-list b/docs/cds/-i-c-p-c-live contest data parser/package-list index c9e373ac3..79239814a 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/package-list +++ b/docs/cds/-i-c-p-c-live contest data parser/package-list @@ -3,25 +3,33 @@ $dokka.linkExtension:html $dokka.location:org.icpclive.api.tunning////PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/index.html $dokka.location:org.icpclive.api.tunning//toAdvancedProperties/org.icpclive.api.ContestInfo#kotlin.collections.Set[kotlin.String]/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/to-advanced-properties.html $dokka.location:org.icpclive.api.tunning/AdvancedProperties///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/index.html -$dokka.location:org.icpclive.api.tunning/AdvancedProperties/AdvancedProperties/#kotlinx.datetime.Instant?#kotlin.time.Duration?#kotlin.time.Duration?#kotlin.collections.Map[org.icpclive.api.TeamMediaType,org.icpclive.api.MediaType?]?#kotlin.collections.Map[kotlin.String,org.icpclive.api.tunning.TeamInfoOverride]?#kotlin.collections.Map[kotlin.String,org.icpclive.api.tunning.GroupInfoOverride]?#kotlin.collections.Map[kotlin.String,org.icpclive.api.tunning.ProblemInfoOverride]?#org.icpclive.api.tunning.RankingSettings?/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/-advanced-properties.html +$dokka.location:org.icpclive.api.tunning/AdvancedProperties/AdvancedProperties/#kotlinx.datetime.Instant?#kotlin.time.Duration?#kotlin.time.Duration?#kotlin.collections.Map[org.icpclive.api.TeamMediaType,org.icpclive.api.MediaType?]?#org.icpclive.api.tunning.TeamOverrideTemplate?#org.icpclive.api.tunning.TeamRegexOverrides?#kotlin.collections.Map[kotlin.String,org.icpclive.api.tunning.TeamInfoOverride]?#kotlin.collections.Map[kotlin.String,org.icpclive.api.tunning.GroupInfoOverride]?#kotlin.collections.Map[kotlin.String,org.icpclive.api.tunning.OrganizationInfoOverride]?#kotlin.collections.Map[kotlin.String,org.icpclive.api.tunning.ProblemInfoOverride]?#org.icpclive.api.tunning.RankingSettings?/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/-advanced-properties.html $dokka.location:org.icpclive.api.tunning/AdvancedProperties/freezeTime/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/freeze-time.html $dokka.location:org.icpclive.api.tunning/AdvancedProperties/groupOverrides/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/group-overrides.html $dokka.location:org.icpclive.api.tunning/AdvancedProperties/holdTime/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/hold-time.html +$dokka.location:org.icpclive.api.tunning/AdvancedProperties/organizationOverrides/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/organization-overrides.html $dokka.location:org.icpclive.api.tunning/AdvancedProperties/problemOverrides/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/problem-overrides.html $dokka.location:org.icpclive.api.tunning/AdvancedProperties/scoreboardOverrides/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/scoreboard-overrides.html $dokka.location:org.icpclive.api.tunning/AdvancedProperties/startTime/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/start-time.html $dokka.location:org.icpclive.api.tunning/AdvancedProperties/teamMediaTemplate/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/team-media-template.html +$dokka.location:org.icpclive.api.tunning/AdvancedProperties/teamOverrideTemplate/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/team-override-template.html $dokka.location:org.icpclive.api.tunning/AdvancedProperties/teamOverrides/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/team-overrides.html +$dokka.location:org.icpclive.api.tunning/AdvancedProperties/teamRegexes/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/team-regexes.html $dokka.location:org.icpclive.api.tunning/GroupInfoOverride///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-group-info-override/index.html $dokka.location:org.icpclive.api.tunning/GroupInfoOverride/GroupInfoOverride/#kotlin.Boolean?#kotlin.Boolean?/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-group-info-override/-group-info-override.html $dokka.location:org.icpclive.api.tunning/GroupInfoOverride/isHidden/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-group-info-override/is-hidden.html $dokka.location:org.icpclive.api.tunning/GroupInfoOverride/isOutOfContest/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-group-info-override/is-out-of-contest.html +$dokka.location:org.icpclive.api.tunning/OrganizationInfoOverride///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-organization-info-override/index.html +$dokka.location:org.icpclive.api.tunning/OrganizationInfoOverride/OrganizationInfoOverride/#kotlin.String?#kotlin.String?/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-organization-info-override/-organization-info-override.html +$dokka.location:org.icpclive.api.tunning/OrganizationInfoOverride/displayName/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-organization-info-override/display-name.html +$dokka.location:org.icpclive.api.tunning/OrganizationInfoOverride/fullName/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-organization-info-override/full-name.html $dokka.location:org.icpclive.api.tunning/ProblemInfoOverride///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/index.html -$dokka.location:org.icpclive.api.tunning/ProblemInfoOverride/ProblemInfoOverride/#kotlin.String?#java.awt.Color?#kotlin.Double?#kotlin.Double?#org.icpclive.api.ScoreMergeMode?/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/-problem-info-override.html +$dokka.location:org.icpclive.api.tunning/ProblemInfoOverride/ProblemInfoOverride/#kotlin.String?#java.awt.Color?#kotlin.Int?#kotlin.Double?#kotlin.Double?#org.icpclive.api.ScoreMergeMode?/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/-problem-info-override.html $dokka.location:org.icpclive.api.tunning/ProblemInfoOverride/color/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/color.html $dokka.location:org.icpclive.api.tunning/ProblemInfoOverride/maxScore/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/max-score.html $dokka.location:org.icpclive.api.tunning/ProblemInfoOverride/minScore/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/min-score.html $dokka.location:org.icpclive.api.tunning/ProblemInfoOverride/name/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/name.html +$dokka.location:org.icpclive.api.tunning/ProblemInfoOverride/ordinal/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/ordinal.html $dokka.location:org.icpclive.api.tunning/ProblemInfoOverride/scoreMergeMode/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/score-merge-mode.html $dokka.location:org.icpclive.api.tunning/RankingSettings///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-ranking-settings/index.html $dokka.location:org.icpclive.api.tunning/RankingSettings/RankingSettings/#kotlin.collections.List[org.icpclive.api.MedalType]?#kotlin.time.Duration?#kotlin.Boolean?#org.icpclive.api.PenaltyRoundingMode?/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-ranking-settings/-ranking-settings.html @@ -30,15 +38,26 @@ $dokka.location:org.icpclive.api.tunning/RankingSettings/penaltyPerWrongAttempt/ $dokka.location:org.icpclive.api.tunning/RankingSettings/penaltyRoundingMode/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-ranking-settings/penalty-rounding-mode.html $dokka.location:org.icpclive.api.tunning/RankingSettings/showTeamsWithoutSubmissions/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-ranking-settings/show-teams-without-submissions.html $dokka.location:org.icpclive.api.tunning/TeamInfoOverride///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/index.html -$dokka.location:org.icpclive.api.tunning/TeamInfoOverride/TeamInfoOverride/#kotlin.String?#kotlin.String?#kotlin.collections.List[kotlin.String]?#kotlin.String?#kotlin.collections.Map[org.icpclive.api.TeamMediaType,org.icpclive.api.MediaType?]?#kotlin.String?#kotlin.Boolean?#kotlin.Boolean?/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/-team-info-override.html -$dokka.location:org.icpclive.api.tunning/TeamInfoOverride/additionalInfo/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/additional-info.html +$dokka.location:org.icpclive.api.tunning/TeamInfoOverride/TeamInfoOverride/#kotlin.String?#kotlin.String?#kotlin.collections.List[kotlin.String]?#kotlin.String?#kotlin.String?#kotlin.collections.Map[org.icpclive.api.TeamMediaType,org.icpclive.api.MediaType?]?#kotlin.collections.Map[kotlin.String,kotlin.String]?#kotlin.Boolean?#kotlin.Boolean?/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/-team-info-override.html +$dokka.location:org.icpclive.api.tunning/TeamInfoOverride/customFields/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/custom-fields.html +$dokka.location:org.icpclive.api.tunning/TeamInfoOverride/displayName/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/display-name.html +$dokka.location:org.icpclive.api.tunning/TeamInfoOverride/fullName/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/full-name.html $dokka.location:org.icpclive.api.tunning/TeamInfoOverride/groups/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/groups.html $dokka.location:org.icpclive.api.tunning/TeamInfoOverride/hashTag/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/hash-tag.html $dokka.location:org.icpclive.api.tunning/TeamInfoOverride/isHidden/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/is-hidden.html $dokka.location:org.icpclive.api.tunning/TeamInfoOverride/isOutOfContest/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/is-out-of-contest.html $dokka.location:org.icpclive.api.tunning/TeamInfoOverride/medias/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/medias.html -$dokka.location:org.icpclive.api.tunning/TeamInfoOverride/name/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/name.html -$dokka.location:org.icpclive.api.tunning/TeamInfoOverride/shortname/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/shortname.html +$dokka.location:org.icpclive.api.tunning/TeamInfoOverride/organizationId/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/organization-id.html +$dokka.location:org.icpclive.api.tunning/TeamOverrideTemplate///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-override-template/index.html +$dokka.location:org.icpclive.api.tunning/TeamOverrideTemplate/TeamOverrideTemplate/#kotlin.String?#kotlin.String?#kotlin.collections.Map[org.icpclive.api.TeamMediaType,org.icpclive.api.MediaType?]?/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-override-template/-team-override-template.html +$dokka.location:org.icpclive.api.tunning/TeamOverrideTemplate/displayName/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-override-template/display-name.html +$dokka.location:org.icpclive.api.tunning/TeamOverrideTemplate/fullName/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-override-template/full-name.html +$dokka.location:org.icpclive.api.tunning/TeamOverrideTemplate/medias/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-override-template/medias.html +$dokka.location:org.icpclive.api.tunning/TeamRegexOverrides///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-regex-overrides/index.html +$dokka.location:org.icpclive.api.tunning/TeamRegexOverrides/TeamRegexOverrides/#kotlin.text.Regex?#kotlin.collections.Map[kotlin.String,kotlin.text.Regex]?#kotlin.collections.Map[kotlin.String,kotlin.text.Regex]?/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-regex-overrides/-team-regex-overrides.html +$dokka.location:org.icpclive.api.tunning/TeamRegexOverrides/customFields/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-regex-overrides/custom-fields.html +$dokka.location:org.icpclive.api.tunning/TeamRegexOverrides/groupRegex/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-regex-overrides/group-regex.html +$dokka.location:org.icpclive.api.tunning/TeamRegexOverrides/organizationRegex/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-regex-overrides/organization-regex.html $dokka.location:org.icpclive.api////PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/index.html $dokka.location:org.icpclive.api//toGroupInfos/kotlin.collections.List[org.icpclive.api.TeamInfo]#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/to-group-infos.html $dokka.location:org.icpclive.api/AnalyticsCommentaryEvent///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/index.html @@ -67,7 +86,7 @@ $dokka.location:org.icpclive.api/AnalyticsMessage/id/#/PointingToDeclaration/-i $dokka.location:org.icpclive.api/AnalyticsMessage/relativeTime/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-message/relative-time.html $dokka.location:org.icpclive.api/AnalyticsMessage/time/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-message/time.html $dokka.location:org.icpclive.api/ContestInfo///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/index.html -$dokka.location:org.icpclive.api/ContestInfo/ContestInfo/#kotlin.String#org.icpclive.api.ContestStatus#org.icpclive.api.ContestResultType#kotlinx.datetime.Instant#kotlin.time.Duration#kotlin.time.Duration#kotlin.collections.List[org.icpclive.api.ProblemInfo]#kotlin.collections.List[org.icpclive.api.TeamInfo]#kotlin.collections.List[org.icpclive.api.GroupInfo]#org.icpclive.api.PenaltyRoundingMode#kotlin.time.Duration?#kotlin.Double#kotlin.collections.List[org.icpclive.api.MedalType]#kotlin.time.Duration/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/-contest-info.html +$dokka.location:org.icpclive.api/ContestInfo/ContestInfo/#kotlin.String#org.icpclive.api.ContestStatus#org.icpclive.api.ContestResultType#kotlinx.datetime.Instant#kotlin.time.Duration#kotlin.time.Duration#kotlin.collections.List[org.icpclive.api.ProblemInfo]#kotlin.collections.List[org.icpclive.api.TeamInfo]#kotlin.collections.List[org.icpclive.api.GroupInfo]#kotlin.collections.List[org.icpclive.api.OrganizationInfo]#org.icpclive.api.PenaltyRoundingMode#kotlin.time.Duration?#kotlin.Double#kotlin.collections.List[org.icpclive.api.MedalType]#kotlin.time.Duration/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/-contest-info.html $dokka.location:org.icpclive.api/ContestInfo/contestLength/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/contest-length.html $dokka.location:org.icpclive.api/ContestInfo/currentContestTime/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/current-contest-time.html $dokka.location:org.icpclive.api/ContestInfo/emulationSpeed/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/emulation-speed.html @@ -77,6 +96,7 @@ $dokka.location:org.icpclive.api/ContestInfo/groups/#/PointingToDeclaration/-i- $dokka.location:org.icpclive.api/ContestInfo/holdBeforeStartTime/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/hold-before-start-time.html $dokka.location:org.icpclive.api/ContestInfo/medals/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/medals.html $dokka.location:org.icpclive.api/ContestInfo/name/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/name.html +$dokka.location:org.icpclive.api/ContestInfo/organizations/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/organizations.html $dokka.location:org.icpclive.api/ContestInfo/penaltyPerWrongAttempt/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/penalty-per-wrong-attempt.html $dokka.location:org.icpclive.api/ContestInfo/penaltyRoundingMode/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/penalty-rounding-mode.html $dokka.location:org.icpclive.api/ContestInfo/problems/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/problems.html @@ -164,7 +184,6 @@ $dokka.location:org.icpclive.api/MediaType.WebRTCProxyConnection/audioUrl/#/Poin $dokka.location:org.icpclive.api/MediaType.WebRTCProxyConnection/isMedia/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/is-media.html $dokka.location:org.icpclive.api/MediaType.WebRTCProxyConnection/url/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/url.html $dokka.location:org.icpclive.api/MediaType///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/index.html -$dokka.location:org.icpclive.api/MediaType/applyTemplate/#kotlin.String/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/apply-template.html $dokka.location:org.icpclive.api/MediaType/isMedia/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/is-media.html $dokka.location:org.icpclive.api/MediaType/noMedia/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/no-media.html $dokka.location:org.icpclive.api/OptimismLevel.NORMAL///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-i-c-p-c-live contest data parser/org.icpclive.api/-optimism-level/-n-o-r-m-a-l/index.html @@ -173,6 +192,11 @@ $dokka.location:org.icpclive.api/OptimismLevel.PESSIMISTIC///PointingToDeclarati $dokka.location:org.icpclive.api/OptimismLevel///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-optimism-level/index.html $dokka.location:org.icpclive.api/OptimismLevel/valueOf/#kotlin.String/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-optimism-level/value-of.html $dokka.location:org.icpclive.api/OptimismLevel/values/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-optimism-level/values.html +$dokka.location:org.icpclive.api/OrganizationInfo///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-organization-info/index.html +$dokka.location:org.icpclive.api/OrganizationInfo/OrganizationInfo/#kotlin.String#kotlin.String#kotlin.String/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-organization-info/-organization-info.html +$dokka.location:org.icpclive.api/OrganizationInfo/cdsId/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-organization-info/cds-id.html +$dokka.location:org.icpclive.api/OrganizationInfo/displayName/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-organization-info/display-name.html +$dokka.location:org.icpclive.api/OrganizationInfo/fullName/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-organization-info/full-name.html $dokka.location:org.icpclive.api/PenaltyRoundingMode.EACH_SUBMISSION_DOWN_TO_MINUTE///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/-e-a-c-h_-s-u-b-m-i-s-s-i-o-n_-d-o-w-n_-t-o_-m-i-n-u-t-e/index.html $dokka.location:org.icpclive.api/PenaltyRoundingMode.LAST///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/-l-a-s-t/index.html $dokka.location:org.icpclive.api/PenaltyRoundingMode.SUM_DOWN_TO_MINUTE///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/-s-u-m_-d-o-w-n_-t-o_-m-i-n-u-t-e/index.html @@ -216,7 +240,8 @@ $dokka.location:org.icpclive.api/ScoreMergeMode///PointingToDeclaration/-i-c-p- $dokka.location:org.icpclive.api/ScoreMergeMode/valueOf/#kotlin.String/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/value-of.html $dokka.location:org.icpclive.api/ScoreMergeMode/values/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/values.html $dokka.location:org.icpclive.api/Scoreboard///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard/index.html -$dokka.location:org.icpclive.api/Scoreboard/Scoreboard/#kotlin.collections.List[org.icpclive.api.ScoreboardRow]/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard/-scoreboard.html +$dokka.location:org.icpclive.api/Scoreboard/Scoreboard/#kotlin.time.Duration#kotlin.collections.List[org.icpclive.api.ScoreboardRow]/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard/-scoreboard.html +$dokka.location:org.icpclive.api/Scoreboard/lastSubmitTime/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard/last-submit-time.html $dokka.location:org.icpclive.api/Scoreboard/rows/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard/rows.html $dokka.location:org.icpclive.api/ScoreboardRow///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/index.html $dokka.location:org.icpclive.api/ScoreboardRow/ScoreboardRow/#kotlin.Int#kotlin.Int#kotlin.Double#kotlin.time.Duration#kotlin.Long#kotlin.String?#kotlin.collections.List[org.icpclive.api.ProblemResult]#kotlin.collections.List[kotlin.String]#kotlin.collections.List[kotlin.String]/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/-scoreboard-row.html @@ -230,17 +255,18 @@ $dokka.location:org.icpclive.api/ScoreboardRow/teamGroups/#/PointingToDeclaratio $dokka.location:org.icpclive.api/ScoreboardRow/teamId/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/team-id.html $dokka.location:org.icpclive.api/ScoreboardRow/totalScore/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/total-score.html $dokka.location:org.icpclive.api/TeamInfo///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/index.html -$dokka.location:org.icpclive.api/TeamInfo/TeamInfo/#kotlin.Int#kotlin.String#kotlin.String#kotlin.String#kotlin.collections.List[kotlin.String]#kotlin.String?#kotlin.collections.Map[org.icpclive.api.TeamMediaType,org.icpclive.api.MediaType]#kotlin.String?#kotlin.Boolean#kotlin.Boolean/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/-team-info.html -$dokka.location:org.icpclive.api/TeamInfo/additionalInfo/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/additional-info.html +$dokka.location:org.icpclive.api/TeamInfo/TeamInfo/#kotlin.Int#kotlin.String#kotlin.String#kotlin.String#kotlin.collections.List[kotlin.String]#kotlin.String?#kotlin.collections.Map[org.icpclive.api.TeamMediaType,org.icpclive.api.MediaType]#kotlin.Boolean#kotlin.Boolean#kotlin.String?#kotlin.collections.Map[kotlin.String,kotlin.String]/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/-team-info.html $dokka.location:org.icpclive.api/TeamInfo/contestSystemId/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/contest-system-id.html +$dokka.location:org.icpclive.api/TeamInfo/customFields/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/custom-fields.html +$dokka.location:org.icpclive.api/TeamInfo/displayName/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/display-name.html +$dokka.location:org.icpclive.api/TeamInfo/fullName/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/full-name.html $dokka.location:org.icpclive.api/TeamInfo/groups/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/groups.html $dokka.location:org.icpclive.api/TeamInfo/hashTag/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/hash-tag.html $dokka.location:org.icpclive.api/TeamInfo/id/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/id.html $dokka.location:org.icpclive.api/TeamInfo/isHidden/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/is-hidden.html $dokka.location:org.icpclive.api/TeamInfo/isOutOfContest/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/is-out-of-contest.html $dokka.location:org.icpclive.api/TeamInfo/medias/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/medias.html -$dokka.location:org.icpclive.api/TeamInfo/name/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/name.html -$dokka.location:org.icpclive.api/TeamInfo/shortName/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/short-name.html +$dokka.location:org.icpclive.api/TeamInfo/organizationId/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/organization-id.html $dokka.location:org.icpclive.api/TeamMediaType.ACHIEVEMENT///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/-a-c-h-i-e-v-e-m-e-n-t/index.html $dokka.location:org.icpclive.api/TeamMediaType.CAMERA///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/-c-a-m-e-r-a/index.html $dokka.location:org.icpclive.api/TeamMediaType.PHOTO///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/-p-h-o-t-o/index.html @@ -290,7 +316,7 @@ $dokka.location:org.icpclive.cds.adapters//removeFrozenSubmissions/kotlinx.corou $dokka.location:org.icpclive.cds.adapters//stateGroupedByTeam/kotlinx.coroutines.flow.Flow[org.icpclive.cds.ContestUpdate]#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/state-grouped-by-team.html $dokka.location:org.icpclive.cds.adapters//stateWithGroupedRuns/kotlinx.coroutines.flow.Flow[org.icpclive.cds.ContestUpdate]#kotlin.Function1[org.icpclive.api.RunInfo,TypeParam(bounds=[kotlin.Any])]/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/state-with-grouped-runs.html $dokka.location:org.icpclive.cds.adapters//update/kotlinx.collections.immutable.PersistentMap[TypeParam(bounds=[kotlin.Any?]),TypeParam(bounds=[kotlin.Any?])]#TypeParam(bounds=[kotlin.Any?])#kotlin.Function1[TypeParam(bounds=[kotlin.Any?])?,TypeParam(bounds=[kotlin.Any?])]/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/update.html -$dokka.location:org.icpclive.cds.adapters//withContestInfo/kotlinx.coroutines.flow.Flow[org.icpclive.cds.ContestUpdate]#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/with-contest-info.html +$dokka.location:org.icpclive.cds.adapters//withContestInfoBefore/kotlinx.coroutines.flow.Flow[org.icpclive.cds.ContestUpdate]#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/with-contest-info-before.html $dokka.location:org.icpclive.cds.adapters//withGroupedRuns/kotlinx.coroutines.flow.Flow[org.icpclive.cds.ContestUpdate]#kotlin.Function1[org.icpclive.api.RunInfo,TypeParam(bounds=[kotlin.Any])]#kotlin.Function4[TypeParam(bounds=[kotlin.Any]),kotlinx.collections.immutable.PersistentList[org.icpclive.api.RunInfo],kotlinx.collections.immutable.PersistentList[org.icpclive.api.RunInfo],org.icpclive.api.ContestInfo?,kotlin.collections.List[org.icpclive.api.RunInfo]]?#kotlin.Function3[org.icpclive.api.ContestInfo,org.icpclive.api.ContestInfo?,TypeParam(bounds=[kotlin.Any]),kotlin.Boolean]?/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/with-grouped-runs.html $dokka.location:org.icpclive.cds.adapters//withRunsBefore/kotlinx.coroutines.flow.Flow[org.icpclive.cds.ContestUpdate]#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/with-runs-before.html $dokka.location:org.icpclive.cds.adapters/AdvancedPropertiesAdapter///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-advanced-properties-adapter/index.html @@ -394,7 +420,7 @@ $dokka.location:org.icpclive.cds.settings/TestSysSettings/emulation/#/PointingTo $dokka.location:org.icpclive.cds.settings/TestSysSettings/timeZone/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-test-sys-settings/time-zone.html $dokka.location:org.icpclive.cds.settings/TestSysSettings/url/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-test-sys-settings/url.html $dokka.location:org.icpclive.cds.settings/YandexSettings///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/index.html -$dokka.location:org.icpclive.cds.settings/YandexSettings/YandexSettings/#org.icpclive.cds.settings.Credential#kotlin.String#kotlin.Int#org.icpclive.api.ContestResultType#org.icpclive.cds.settings.EmulationSettings?/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/-yandex-settings.html +$dokka.location:org.icpclive.cds.settings/YandexSettings/YandexSettings/#org.icpclive.cds.settings.Credential#kotlin.text.Regex#kotlin.Int#org.icpclive.api.ContestResultType#org.icpclive.cds.settings.EmulationSettings?/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/-yandex-settings.html $dokka.location:org.icpclive.cds.settings/YandexSettings/apiKey/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/api-key.html $dokka.location:org.icpclive.cds.settings/YandexSettings/contestId/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/contest-id.html $dokka.location:org.icpclive.cds.settings/YandexSettings/emulation/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/emulation.html @@ -413,6 +439,7 @@ $dokka.location:org.icpclive.cds/RunUpdate/RunUpdate/#org.icpclive.api.RunInfo/P $dokka.location:org.icpclive.cds/RunUpdate/newInfo/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds/-run-update/new-info.html $dokka.location:org.icpclive.scoreboard////PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.scoreboard/index.html $dokka.location:org.icpclive.scoreboard//calculateScoreboard/kotlinx.coroutines.flow.Flow[org.icpclive.cds.adapters.ContestStateWithRunsByTeam]#org.icpclive.api.OptimismLevel/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.scoreboard/calculate-scoreboard.html +$dokka.location:org.icpclive.scoreboard//calculateScoreboardWithInfo/kotlinx.coroutines.flow.Flow[org.icpclive.cds.adapters.ContestStateWithRunsByTeam]#org.icpclive.api.OptimismLevel/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.scoreboard/calculate-scoreboard-with-info.html $dokka.location:org.icpclive.scoreboard//getScoreboardCalculator/#org.icpclive.api.ContestInfo#org.icpclive.api.OptimismLevel/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.scoreboard/get-scoreboard-calculator.html $dokka.location:org.icpclive.scoreboard/ScoreboardCalculator///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.scoreboard/-scoreboard-calculator/index.html $dokka.location:org.icpclive.scoreboard/ScoreboardCalculator/getScoreboard/#org.icpclive.api.ContestInfo#kotlin.collections.Map[kotlin.Int,kotlin.collections.List[org.icpclive.api.RunInfo]]/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.scoreboard/-scoreboard-calculator/get-scoreboard.html diff --git a/docs/cds/navigation.html b/docs/cds/navigation.html index 0d3c0b27a..86423cd77 100644 --- a/docs/cds/navigation.html +++ b/docs/cds/navigation.html @@ -98,142 +98,145 @@
-
- -
+ +
+ + -
+ -
+ -
+ -
+
-
- -
+ -
+ -
+ -
+ -
+ -
+ -
- -
+
+ + -
+ -
+ -
+ -
+
-
+ -
- -
+
+ + -
+ -
+ -
+ -
+ - -
+ -
- -
+
+ + -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ - - @@ -245,16 +248,25 @@ -
+ + -
+ -
+ - @@ -317,8 +329,8 @@ -
- +
@@ -386,10 +398,13 @@ -
+ + - diff --git a/docs/cds/scripts/pages.json b/docs/cds/scripts/pages.json index eccdf20ed..32162412b 100644 --- a/docs/cds/scripts/pages.json +++ b/docs/cds/scripts/pages.json @@ -1 +1 @@ -[{"name":"ACHIEVEMENT","description":"org.icpclive.api.TeamMediaType.ACHIEVEMENT","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/-a-c-h-i-e-v-e-m-e-n-t/index.html","searchKeys":["ACHIEVEMENT","ACHIEVEMENT","org.icpclive.api.TeamMediaType.ACHIEVEMENT"]},{"name":"ALL","description":"org.icpclive.api.MedalTiebreakMode.ALL","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-medal-tiebreak-mode/-a-l-l/index.html","searchKeys":["ALL","ALL","org.icpclive.api.MedalTiebreakMode.ALL"]},{"name":"BEFORE","description":"org.icpclive.api.ContestStatus.BEFORE","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-status/-b-e-f-o-r-e/index.html","searchKeys":["BEFORE","BEFORE","org.icpclive.api.ContestStatus.BEFORE"]},{"name":"CAMERA","description":"org.icpclive.api.TeamMediaType.CAMERA","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/-c-a-m-e-r-a/index.html","searchKeys":["CAMERA","CAMERA","org.icpclive.api.TeamMediaType.CAMERA"]},{"name":"EACH_SUBMISSION_DOWN_TO_MINUTE","description":"org.icpclive.api.PenaltyRoundingMode.EACH_SUBMISSION_DOWN_TO_MINUTE","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/-e-a-c-h_-s-u-b-m-i-s-s-i-o-n_-d-o-w-n_-t-o_-m-i-n-u-t-e/index.html","searchKeys":["EACH_SUBMISSION_DOWN_TO_MINUTE","EACH_SUBMISSION_DOWN_TO_MINUTE","org.icpclive.api.PenaltyRoundingMode.EACH_SUBMISSION_DOWN_TO_MINUTE"]},{"name":"ICPC","description":"org.icpclive.api.ContestResultType.ICPC","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-result-type/-i-c-p-c/index.html","searchKeys":["ICPC","ICPC","org.icpclive.api.ContestResultType.ICPC"]},{"name":"IOI","description":"org.icpclive.api.ContestResultType.IOI","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-result-type/-i-o-i/index.html","searchKeys":["IOI","IOI","org.icpclive.api.ContestResultType.IOI"]},{"name":"LAST","description":"org.icpclive.api.PenaltyRoundingMode.LAST","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/-l-a-s-t/index.html","searchKeys":["LAST","LAST","org.icpclive.api.PenaltyRoundingMode.LAST"]},{"name":"LAST","description":"org.icpclive.api.ScoreMergeMode.LAST","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/-l-a-s-t/index.html","searchKeys":["LAST","LAST","org.icpclive.api.ScoreMergeMode.LAST"]},{"name":"LAST_OK","description":"org.icpclive.api.ScoreMergeMode.LAST_OK","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/-l-a-s-t_-o-k/index.html","searchKeys":["LAST_OK","LAST_OK","org.icpclive.api.ScoreMergeMode.LAST_OK"]},{"name":"MAX_PER_GROUP","description":"org.icpclive.api.ScoreMergeMode.MAX_PER_GROUP","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/-m-a-x_-p-e-r_-g-r-o-u-p/index.html","searchKeys":["MAX_PER_GROUP","MAX_PER_GROUP","org.icpclive.api.ScoreMergeMode.MAX_PER_GROUP"]},{"name":"MAX_TOTAL","description":"org.icpclive.api.ScoreMergeMode.MAX_TOTAL","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/-m-a-x_-t-o-t-a-l/index.html","searchKeys":["MAX_TOTAL","MAX_TOTAL","org.icpclive.api.ScoreMergeMode.MAX_TOTAL"]},{"name":"NONE","description":"org.icpclive.api.MedalTiebreakMode.NONE","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-medal-tiebreak-mode/-n-o-n-e/index.html","searchKeys":["NONE","NONE","org.icpclive.api.MedalTiebreakMode.NONE"]},{"name":"NORMAL","description":"org.icpclive.api.OptimismLevel.NORMAL","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-optimism-level/-n-o-r-m-a-l/index.html","searchKeys":["NORMAL","NORMAL","org.icpclive.api.OptimismLevel.NORMAL"]},{"name":"OPTIMISTIC","description":"org.icpclive.api.OptimismLevel.OPTIMISTIC","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-optimism-level/-o-p-t-i-m-i-s-t-i-c/index.html","searchKeys":["OPTIMISTIC","OPTIMISTIC","org.icpclive.api.OptimismLevel.OPTIMISTIC"]},{"name":"OVER","description":"org.icpclive.api.ContestStatus.OVER","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-status/-o-v-e-r/index.html","searchKeys":["OVER","OVER","org.icpclive.api.ContestStatus.OVER"]},{"name":"PESSIMISTIC","description":"org.icpclive.api.OptimismLevel.PESSIMISTIC","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-optimism-level/-p-e-s-s-i-m-i-s-t-i-c/index.html","searchKeys":["PESSIMISTIC","PESSIMISTIC","org.icpclive.api.OptimismLevel.PESSIMISTIC"]},{"name":"PHOTO","description":"org.icpclive.api.TeamMediaType.PHOTO","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/-p-h-o-t-o/index.html","searchKeys":["PHOTO","PHOTO","org.icpclive.api.TeamMediaType.PHOTO"]},{"name":"REACTION_VIDEO","description":"org.icpclive.api.TeamMediaType.REACTION_VIDEO","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/-r-e-a-c-t-i-o-n_-v-i-d-e-o/index.html","searchKeys":["REACTION_VIDEO","REACTION_VIDEO","org.icpclive.api.TeamMediaType.REACTION_VIDEO"]},{"name":"RECORD","description":"org.icpclive.api.TeamMediaType.RECORD","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/-r-e-c-o-r-d/index.html","searchKeys":["RECORD","RECORD","org.icpclive.api.TeamMediaType.RECORD"]},{"name":"RUNNING","description":"org.icpclive.api.ContestStatus.RUNNING","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-status/-r-u-n-n-i-n-g/index.html","searchKeys":["RUNNING","RUNNING","org.icpclive.api.ContestStatus.RUNNING"]},{"name":"SCREEN","description":"org.icpclive.api.TeamMediaType.SCREEN","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/-s-c-r-e-e-n/index.html","searchKeys":["SCREEN","SCREEN","org.icpclive.api.TeamMediaType.SCREEN"]},{"name":"SUM","description":"org.icpclive.api.ScoreMergeMode.SUM","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/-s-u-m/index.html","searchKeys":["SUM","SUM","org.icpclive.api.ScoreMergeMode.SUM"]},{"name":"SUM_DOWN_TO_MINUTE","description":"org.icpclive.api.PenaltyRoundingMode.SUM_DOWN_TO_MINUTE","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/-s-u-m_-d-o-w-n_-t-o_-m-i-n-u-t-e/index.html","searchKeys":["SUM_DOWN_TO_MINUTE","SUM_DOWN_TO_MINUTE","org.icpclive.api.PenaltyRoundingMode.SUM_DOWN_TO_MINUTE"]},{"name":"SUM_IN_SECONDS","description":"org.icpclive.api.PenaltyRoundingMode.SUM_IN_SECONDS","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/-s-u-m_-i-n_-s-e-c-o-n-d-s/index.html","searchKeys":["SUM_IN_SECONDS","SUM_IN_SECONDS","org.icpclive.api.PenaltyRoundingMode.SUM_IN_SECONDS"]},{"name":"ZERO","description":"org.icpclive.api.PenaltyRoundingMode.ZERO","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/-z-e-r-o/index.html","searchKeys":["ZERO","ZERO","org.icpclive.api.PenaltyRoundingMode.ZERO"]},{"name":"abstract fun getScoreboard(info: ContestInfo, runs: Map>): Scoreboard","description":"org.icpclive.scoreboard.ScoreboardCalculator.getScoreboard","location":"-i-c-p-c-live contest data parser/org.icpclive.scoreboard/-scoreboard-calculator/get-scoreboard.html","searchKeys":["getScoreboard","abstract fun getScoreboard(info: ContestInfo, runs: Map>): Scoreboard","org.icpclive.scoreboard.ScoreboardCalculator.getScoreboard"]},{"name":"abstract val emulation: EmulationSettings?","description":"org.icpclive.cds.settings.CDSSettings.emulation","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-d-s-settings/emulation.html","searchKeys":["emulation","abstract val emulation: EmulationSettings?","org.icpclive.cds.settings.CDSSettings.emulation"]},{"name":"abstract val id: String","description":"org.icpclive.api.AnalyticsMessage.id","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-message/id.html","searchKeys":["id","abstract val id: String","org.icpclive.api.AnalyticsMessage.id"]},{"name":"abstract val isMedia: Boolean","description":"org.icpclive.api.MediaType.isMedia","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/is-media.html","searchKeys":["isMedia","abstract val isMedia: Boolean","org.icpclive.api.MediaType.isMedia"]},{"name":"abstract val relativeTime: Duration","description":"org.icpclive.api.AnalyticsMessage.relativeTime","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-message/relative-time.html","searchKeys":["relativeTime","abstract val relativeTime: Duration","org.icpclive.api.AnalyticsMessage.relativeTime"]},{"name":"abstract val time: Instant","description":"org.icpclive.api.AnalyticsMessage.time","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-message/time.html","searchKeys":["time","abstract val time: Instant","org.icpclive.api.AnalyticsMessage.time"]},{"name":"class CFSettings(val contestId: Int, val apiKey: Credential, val apiSecret: Credential, val asManager: Boolean = true, val emulation: EmulationSettings? = null) : CDSSettings","description":"org.icpclive.cds.settings.CFSettings","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-f-settings/index.html","searchKeys":["CFSettings","class CFSettings(val contestId: Int, val apiKey: Credential, val apiSecret: Credential, val asManager: Boolean = true, val emulation: EmulationSettings? = null) : CDSSettings","org.icpclive.cds.settings.CFSettings"]},{"name":"class CatsSettings(val login: Credential, val password: Credential, val url: String, val timeZone: TimeZone = TimeZone.of(\"Asia/Vladivostok\"), val resultType: ContestResultType = ContestResultType.ICPC, val cid: String, val emulation: EmulationSettings? = null) : CDSSettings","description":"org.icpclive.cds.settings.CatsSettings","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/index.html","searchKeys":["CatsSettings","class CatsSettings(val login: Credential, val password: Credential, val url: String, val timeZone: TimeZone = TimeZone.of(\"Asia/Vladivostok\"), val resultType: ContestResultType = ContestResultType.ICPC, val cid: String, val emulation: EmulationSettings? = null) : CDSSettings","org.icpclive.cds.settings.CatsSettings"]},{"name":"class ClicsLoaderSettings(val url: String, val login: Credential? = null, val password: Credential? = null, val eventFeedName: String = \"event-feed\", val feedVersion: FeedVersion = FeedVersion.`2022_07`)","description":"org.icpclive.cds.settings.ClicsLoaderSettings","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/index.html","searchKeys":["ClicsLoaderSettings","class ClicsLoaderSettings(val url: String, val login: Credential? = null, val password: Credential? = null, val eventFeedName: String = \"event-feed\", val feedVersion: FeedVersion = FeedVersion.`2022_07`)","org.icpclive.cds.settings.ClicsLoaderSettings"]},{"name":"class ClicsSettings(url: String, login: Credential? = null, password: Credential? = null, eventFeedName: String = \"event-feed\", feedVersion: FeedVersion = FeedVersion.`2022_07`, val additionalFeed: ClicsLoaderSettings? = null, val useTeamNames: Boolean = true, val mediaBaseUrl: String = \"\", val emulation: EmulationSettings? = null) : CDSSettings","description":"org.icpclive.cds.settings.ClicsSettings","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/index.html","searchKeys":["ClicsSettings","class ClicsSettings(url: String, login: Credential? = null, password: Credential? = null, eventFeedName: String = \"event-feed\", feedVersion: FeedVersion = FeedVersion.`2022_07`, val additionalFeed: ClicsLoaderSettings? = null, val useTeamNames: Boolean = true, val mediaBaseUrl: String = \"\", val emulation: EmulationSettings? = null) : CDSSettings","org.icpclive.cds.settings.ClicsSettings"]},{"name":"class CodeDrillsSettings(val url: String, val port: Int, val contestId: String, val authKey: Credential, val emulation: EmulationSettings? = null) : CDSSettings","description":"org.icpclive.cds.settings.CodeDrillsSettings","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-code-drills-settings/index.html","searchKeys":["CodeDrillsSettings","class CodeDrillsSettings(val url: String, val port: Int, val contestId: String, val authKey: Credential, val emulation: EmulationSettings? = null) : CDSSettings","org.icpclive.cds.settings.CodeDrillsSettings"]},{"name":"class ContestEventWithGroupedRuns(val event: ContestUpdate, val infoBeforeEvent: ContestInfo?, val runs: PersistentMap>)","description":"org.icpclive.cds.adapters.ContestEventWithGroupedRuns","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/index.html","searchKeys":["ContestEventWithGroupedRuns","class ContestEventWithGroupedRuns(val event: ContestUpdate, val infoBeforeEvent: ContestInfo?, val runs: PersistentMap>)","org.icpclive.cds.adapters.ContestEventWithGroupedRuns"]},{"name":"class ContestEventWithRunsBefore(val event: ContestUpdate, val infoBeforeEvent: ContestInfo?, val runs: PersistentMap)","description":"org.icpclive.cds.adapters.ContestEventWithRunsBefore","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-runs-before/index.html","searchKeys":["ContestEventWithRunsBefore","class ContestEventWithRunsBefore(val event: ContestUpdate, val infoBeforeEvent: ContestInfo?, val runs: PersistentMap)","org.icpclive.cds.adapters.ContestEventWithRunsBefore"]},{"name":"class ContestStateWithRunsByTeam(val info: ContestInfo?, val runs: PersistentMap>)","description":"org.icpclive.cds.adapters.ContestStateWithRunsByTeam","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-state-with-runs-by-team/index.html","searchKeys":["ContestStateWithRunsByTeam","class ContestStateWithRunsByTeam(val info: ContestInfo?, val runs: PersistentMap>)","org.icpclive.cds.adapters.ContestStateWithRunsByTeam"]},{"name":"class EjudgeSettings(val url: String, val resultType: ContestResultType = ContestResultType.ICPC, val emulation: EmulationSettings? = null) : CDSSettings","description":"org.icpclive.cds.settings.EjudgeSettings","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/index.html","searchKeys":["EjudgeSettings","class EjudgeSettings(val url: String, val resultType: ContestResultType = ContestResultType.ICPC, val emulation: EmulationSettings? = null) : CDSSettings","org.icpclive.cds.settings.EjudgeSettings"]},{"name":"class EmulationSettings(val speed: Double, val startTime: Instant)","description":"org.icpclive.cds.settings.EmulationSettings","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-emulation-settings/index.html","searchKeys":["EmulationSettings","class EmulationSettings(val speed: Double, val startTime: Instant)","org.icpclive.cds.settings.EmulationSettings"]},{"name":"class KRSUSettings(val submissionsUrl: String, val contestUrl: String, val timeZone: TimeZone = TimeZone.of(\"Asia/Bishkek\"), val emulation: EmulationSettings? = null) : CDSSettings","description":"org.icpclive.cds.settings.KRSUSettings","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-k-r-s-u-settings/index.html","searchKeys":["KRSUSettings","class KRSUSettings(val submissionsUrl: String, val contestUrl: String, val timeZone: TimeZone = TimeZone.of(\"Asia/Bishkek\"), val emulation: EmulationSettings? = null) : CDSSettings","org.icpclive.cds.settings.KRSUSettings"]},{"name":"class NoopSettings(val emulation: EmulationSettings? = null) : CDSSettings","description":"org.icpclive.cds.settings.NoopSettings","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-noop-settings/index.html","searchKeys":["NoopSettings","class NoopSettings(val emulation: EmulationSettings? = null) : CDSSettings","org.icpclive.cds.settings.NoopSettings"]},{"name":"class PCMSSettings(val url: String, val login: Credential? = null, val password: Credential? = null, val problemsUrl: String? = null, val resultType: ContestResultType = ContestResultType.ICPC, val emulation: EmulationSettings? = null) : CDSSettings","description":"org.icpclive.cds.settings.PCMSSettings","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/index.html","searchKeys":["PCMSSettings","class PCMSSettings(val url: String, val login: Credential? = null, val password: Credential? = null, val problemsUrl: String? = null, val resultType: ContestResultType = ContestResultType.ICPC, val emulation: EmulationSettings? = null) : CDSSettings","org.icpclive.cds.settings.PCMSSettings"]},{"name":"class RankingSettings(val medals: List? = null, val penaltyPerWrongAttempt: Duration? = null, val showTeamsWithoutSubmissions: Boolean? = null, val penaltyRoundingMode: PenaltyRoundingMode? = null)","description":"org.icpclive.api.tunning.RankingSettings","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-ranking-settings/index.html","searchKeys":["RankingSettings","class RankingSettings(val medals: List? = null, val penaltyPerWrongAttempt: Duration? = null, val showTeamsWithoutSubmissions: Boolean? = null, val penaltyRoundingMode: PenaltyRoundingMode? = null)","org.icpclive.api.tunning.RankingSettings"]},{"name":"class TestSysSettings(val url: String, val timeZone: TimeZone = TimeZone.of(\"Europe/Moscow\"), val emulation: EmulationSettings? = null) : CDSSettings","description":"org.icpclive.cds.settings.TestSysSettings","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-test-sys-settings/index.html","searchKeys":["TestSysSettings","class TestSysSettings(val url: String, val timeZone: TimeZone = TimeZone.of(\"Europe/Moscow\"), val emulation: EmulationSettings? = null) : CDSSettings","org.icpclive.cds.settings.TestSysSettings"]},{"name":"class VerdictSerializer : KSerializer ","description":"org.icpclive.api.VerdictSerializer","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-verdict-serializer/index.html","searchKeys":["VerdictSerializer","class VerdictSerializer : KSerializer ","org.icpclive.api.VerdictSerializer"]},{"name":"class YandexSettings(val apiKey: Credential, val loginRegex: String, val contestId: Int, val resultType: ContestResultType = ContestResultType.ICPC, val emulation: EmulationSettings? = null) : CDSSettings","description":"org.icpclive.cds.settings.YandexSettings","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/index.html","searchKeys":["YandexSettings","class YandexSettings(val apiKey: Credential, val loginRegex: String, val contestId: Int, val resultType: ContestResultType = ContestResultType.ICPC, val emulation: EmulationSettings? = null) : CDSSettings","org.icpclive.cds.settings.YandexSettings"]},{"name":"constructor()","description":"org.icpclive.api.VerdictSerializer.VerdictSerializer","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-verdict-serializer/-verdict-serializer.html","searchKeys":["VerdictSerializer","constructor()","org.icpclive.api.VerdictSerializer.VerdictSerializer"]},{"name":"constructor(apiKey: Credential, loginRegex: String, contestId: Int, resultType: ContestResultType = ContestResultType.ICPC, emulation: EmulationSettings? = null)","description":"org.icpclive.cds.settings.YandexSettings.YandexSettings","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/-yandex-settings.html","searchKeys":["YandexSettings","constructor(apiKey: Credential, loginRegex: String, contestId: Int, resultType: ContestResultType = ContestResultType.ICPC, emulation: EmulationSettings? = null)","org.icpclive.cds.settings.YandexSettings.YandexSettings"]},{"name":"constructor(contestId: Int, apiKey: Credential, apiSecret: Credential, asManager: Boolean = true, emulation: EmulationSettings? = null)","description":"org.icpclive.cds.settings.CFSettings.CFSettings","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-f-settings/-c-f-settings.html","searchKeys":["CFSettings","constructor(contestId: Int, apiKey: Credential, apiSecret: Credential, asManager: Boolean = true, emulation: EmulationSettings? = null)","org.icpclive.cds.settings.CFSettings.CFSettings"]},{"name":"constructor(emulation: EmulationSettings? = null)","description":"org.icpclive.cds.settings.NoopSettings.NoopSettings","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-noop-settings/-noop-settings.html","searchKeys":["NoopSettings","constructor(emulation: EmulationSettings? = null)","org.icpclive.cds.settings.NoopSettings.NoopSettings"]},{"name":"constructor(event: ContestUpdate, infoBeforeEvent: ContestInfo?, runs: PersistentMap)","description":"org.icpclive.cds.adapters.ContestEventWithRunsBefore.ContestEventWithRunsBefore","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-runs-before/-contest-event-with-runs-before.html","searchKeys":["ContestEventWithRunsBefore","constructor(event: ContestUpdate, infoBeforeEvent: ContestInfo?, runs: PersistentMap)","org.icpclive.cds.adapters.ContestEventWithRunsBefore.ContestEventWithRunsBefore"]},{"name":"constructor(event: ContestUpdate, infoBeforeEvent: ContestInfo?, runs: PersistentMap>)","description":"org.icpclive.cds.adapters.ContestEventWithGroupedRuns.ContestEventWithGroupedRuns","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/-contest-event-with-grouped-runs.html","searchKeys":["ContestEventWithGroupedRuns","constructor(event: ContestUpdate, infoBeforeEvent: ContestInfo?, runs: PersistentMap>)","org.icpclive.cds.adapters.ContestEventWithGroupedRuns.ContestEventWithGroupedRuns"]},{"name":"constructor(expirationTime: Instant?, mediaType: MediaType)","description":"org.icpclive.api.AnalyticsCompanionRun.AnalyticsCompanionRun","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-companion-run/-analytics-companion-run.html","searchKeys":["AnalyticsCompanionRun","constructor(expirationTime: Instant?, mediaType: MediaType)","org.icpclive.api.AnalyticsCompanionRun.AnalyticsCompanionRun"]},{"name":"constructor(id: Int, name: String, shortName: String, contestSystemId: String, groups: List, hashTag: String?, medias: Map, additionalInfo: String? = null, isHidden: Boolean = false, isOutOfContest: Boolean = false)","description":"org.icpclive.api.TeamInfo.TeamInfo","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/-team-info.html","searchKeys":["TeamInfo","constructor(id: Int, name: String, shortName: String, contestSystemId: String, groups: List, hashTag: String?, medias: Map, additionalInfo: String? = null, isHidden: Boolean = false, isOutOfContest: Boolean = false)","org.icpclive.api.TeamInfo.TeamInfo"]},{"name":"constructor(id: Int, result: RunResult?, percentage: Double, problemId: Int, teamId: Int, time: Duration, featuredRunMedia: MediaType? = null, reactionVideos: List = emptyList(), isHidden: Boolean = false)","description":"org.icpclive.api.RunInfo.RunInfo","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/-run-info.html","searchKeys":["RunInfo","constructor(id: Int, result: RunResult?, percentage: Double, problemId: Int, teamId: Int, time: Duration, featuredRunMedia: MediaType? = null, reactionVideos: List = emptyList(), isHidden: Boolean = false)","org.icpclive.api.RunInfo.RunInfo"]},{"name":"constructor(id: String, message: String, time: Instant, relativeTime: Duration, teamIds: List, runIds: List, priority: Int = 0, tags: List = emptyList(), advertisement: AnalyticsCompanionPreset? = null, tickerMessage: AnalyticsCompanionPreset? = null, featuredRun: AnalyticsCompanionRun? = null)","description":"org.icpclive.api.AnalyticsCommentaryEvent.AnalyticsCommentaryEvent","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/-analytics-commentary-event.html","searchKeys":["AnalyticsCommentaryEvent","constructor(id: String, message: String, time: Instant, relativeTime: Duration, teamIds: List, runIds: List, priority: Int = 0, tags: List = emptyList(), advertisement: AnalyticsCompanionPreset? = null, tickerMessage: AnalyticsCompanionPreset? = null, featuredRun: AnalyticsCompanionRun? = null)","org.icpclive.api.AnalyticsCommentaryEvent.AnalyticsCommentaryEvent"]},{"name":"constructor(info: ContestInfo?, runs: PersistentMap>)","description":"org.icpclive.cds.adapters.ContestStateWithRunsByTeam.ContestStateWithRunsByTeam","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-state-with-runs-by-team/-contest-state-with-runs-by-team.html","searchKeys":["ContestStateWithRunsByTeam","constructor(info: ContestInfo?, runs: PersistentMap>)","org.icpclive.cds.adapters.ContestStateWithRunsByTeam.ContestStateWithRunsByTeam"]},{"name":"constructor(info: ContestInfo?, runs: PersistentMap>)","description":"org.icpclive.cds.adapters.ContestStateWithGroupedRuns.ContestStateWithGroupedRuns","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-state-with-grouped-runs/-contest-state-with-grouped-runs.html","searchKeys":["ContestStateWithGroupedRuns","constructor(info: ContestInfo?, runs: PersistentMap>)","org.icpclive.cds.adapters.ContestStateWithGroupedRuns.ContestStateWithGroupedRuns"]},{"name":"constructor(isHidden: Boolean? = null, isOutOfContest: Boolean? = null)","description":"org.icpclive.api.tunning.GroupInfoOverride.GroupInfoOverride","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-group-info-override/-group-info-override.html","searchKeys":["GroupInfoOverride","constructor(isHidden: Boolean? = null, isOutOfContest: Boolean? = null)","org.icpclive.api.tunning.GroupInfoOverride.GroupInfoOverride"]},{"name":"constructor(letter: String, name: String, id: Int, ordinal: Int, contestSystemId: String, minScore: Double? = null, maxScore: Double? = null, color: Color? = null, scoreMergeMode: ScoreMergeMode? = null)","description":"org.icpclive.api.ProblemInfo.ProblemInfo","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/-problem-info.html","searchKeys":["ProblemInfo","constructor(letter: String, name: String, id: Int, ordinal: Int, contestSystemId: String, minScore: Double? = null, maxScore: Double? = null, color: Color? = null, scoreMergeMode: ScoreMergeMode? = null)","org.icpclive.api.ProblemInfo.ProblemInfo"]},{"name":"constructor(login: Credential, password: Credential, url: String, timeZone: TimeZone = TimeZone.of(\"Asia/Vladivostok\"), resultType: ContestResultType = ContestResultType.ICPC, cid: String, emulation: EmulationSettings? = null)","description":"org.icpclive.cds.settings.CatsSettings.CatsSettings","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/-cats-settings.html","searchKeys":["CatsSettings","constructor(login: Credential, password: Credential, url: String, timeZone: TimeZone = TimeZone.of(\"Asia/Vladivostok\"), resultType: ContestResultType = ContestResultType.ICPC, cid: String, emulation: EmulationSettings? = null)","org.icpclive.cds.settings.CatsSettings.CatsSettings"]},{"name":"constructor(medals: List? = null, penaltyPerWrongAttempt: Duration? = null, showTeamsWithoutSubmissions: Boolean? = null, penaltyRoundingMode: PenaltyRoundingMode? = null)","description":"org.icpclive.api.tunning.RankingSettings.RankingSettings","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-ranking-settings/-ranking-settings.html","searchKeys":["RankingSettings","constructor(medals: List? = null, penaltyPerWrongAttempt: Duration? = null, showTeamsWithoutSubmissions: Boolean? = null, penaltyRoundingMode: PenaltyRoundingMode? = null)","org.icpclive.api.tunning.RankingSettings.RankingSettings"]},{"name":"constructor(message: AnalyticsMessage)","description":"org.icpclive.cds.AnalyticsUpdate.AnalyticsUpdate","location":"-i-c-p-c-live contest data parser/org.icpclive.cds/-analytics-update/-analytics-update.html","searchKeys":["AnalyticsUpdate","constructor(message: AnalyticsMessage)","org.icpclive.cds.AnalyticsUpdate.AnalyticsUpdate"]},{"name":"constructor(name: String, count: Int, minScore: Double = Double.MIN_VALUE, tiebreakMode: MedalTiebreakMode = MedalTiebreakMode.ALL)","description":"org.icpclive.api.MedalType.MedalType","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-medal-type/-medal-type.html","searchKeys":["MedalType","constructor(name: String, count: Int, minScore: Double = Double.MIN_VALUE, tiebreakMode: MedalTiebreakMode = MedalTiebreakMode.ALL)","org.icpclive.api.MedalType.MedalType"]},{"name":"constructor(name: String, isHidden: Boolean = false, isOutOfContest: Boolean = false)","description":"org.icpclive.api.GroupInfo.GroupInfo","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-group-info/-group-info.html","searchKeys":["GroupInfo","constructor(name: String, isHidden: Boolean = false, isOutOfContest: Boolean = false)","org.icpclive.api.GroupInfo.GroupInfo"]},{"name":"constructor(name: String, status: ContestStatus, resultType: ContestResultType, startTime: Instant, contestLength: Duration, freezeTime: Duration, problems: List, teams: List, groups: List, penaltyRoundingMode: PenaltyRoundingMode, holdBeforeStartTime: Duration? = null, emulationSpeed: Double = 1.0, medals: List = emptyList(), penaltyPerWrongAttempt: Duration = 20.minutes)","description":"org.icpclive.api.ContestInfo.ContestInfo","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/-contest-info.html","searchKeys":["ContestInfo","constructor(name: String, status: ContestStatus, resultType: ContestResultType, startTime: Instant, contestLength: Duration, freezeTime: Duration, problems: List, teams: List, groups: List, penaltyRoundingMode: PenaltyRoundingMode, holdBeforeStartTime: Duration? = null, emulationSpeed: Double = 1.0, medals: List = emptyList(), penaltyPerWrongAttempt: Duration = 20.minutes)","org.icpclive.api.ContestInfo.ContestInfo"]},{"name":"constructor(name: String? = null, color: Color? = null, minScore: Double? = null, maxScore: Double? = null, scoreMergeMode: ScoreMergeMode? = null)","description":"org.icpclive.api.tunning.ProblemInfoOverride.ProblemInfoOverride","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/-problem-info-override.html","searchKeys":["ProblemInfoOverride","constructor(name: String? = null, color: Color? = null, minScore: Double? = null, maxScore: Double? = null, scoreMergeMode: ScoreMergeMode? = null)","org.icpclive.api.tunning.ProblemInfoOverride.ProblemInfoOverride"]},{"name":"constructor(name: String? = null, shortname: String? = null, groups: List? = null, hashTag: String? = null, medias: Map? = null, additionalInfo: String? = null, isHidden: Boolean? = null, isOutOfContest: Boolean? = null)","description":"org.icpclive.api.tunning.TeamInfoOverride.TeamInfoOverride","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/-team-info-override.html","searchKeys":["TeamInfoOverride","constructor(name: String? = null, shortname: String? = null, groups: List? = null, hashTag: String? = null, medias: Map? = null, additionalInfo: String? = null, isHidden: Boolean? = null, isOutOfContest: Boolean? = null)","org.icpclive.api.tunning.TeamInfoOverride.TeamInfoOverride"]},{"name":"constructor(newInfo: ContestInfo)","description":"org.icpclive.cds.InfoUpdate.InfoUpdate","location":"-i-c-p-c-live contest data parser/org.icpclive.cds/-info-update/-info-update.html","searchKeys":["InfoUpdate","constructor(newInfo: ContestInfo)","org.icpclive.cds.InfoUpdate.InfoUpdate"]},{"name":"constructor(newInfo: RunInfo)","description":"org.icpclive.cds.RunUpdate.RunUpdate","location":"-i-c-p-c-live contest data parser/org.icpclive.cds/-run-update/-run-update.html","searchKeys":["RunUpdate","constructor(newInfo: RunInfo)","org.icpclive.cds.RunUpdate.RunUpdate"]},{"name":"constructor(presetId: Int, expirationTime: Instant?)","description":"org.icpclive.api.AnalyticsCompanionPreset.AnalyticsCompanionPreset","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-companion-preset/-analytics-companion-preset.html","searchKeys":["AnalyticsCompanionPreset","constructor(presetId: Int, expirationTime: Instant?)","org.icpclive.api.AnalyticsCompanionPreset.AnalyticsCompanionPreset"]},{"name":"constructor(raw: String)","description":"org.icpclive.cds.settings.Credential.Credential","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-credential/-credential.html","searchKeys":["Credential","constructor(raw: String)","org.icpclive.cds.settings.Credential.Credential"]},{"name":"constructor(rows: List)","description":"org.icpclive.api.Scoreboard.Scoreboard","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard/-scoreboard.html","searchKeys":["Scoreboard","constructor(rows: List)","org.icpclive.api.Scoreboard.Scoreboard"]},{"name":"constructor(score: Double?, lastSubmitTime: Duration?, isFirstBest: Boolean)","description":"org.icpclive.api.IOIProblemResult.IOIProblemResult","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-problem-result/-i-o-i-problem-result.html","searchKeys":["IOIProblemResult","constructor(score: Double?, lastSubmitTime: Duration?, isFirstBest: Boolean)","org.icpclive.api.IOIProblemResult.IOIProblemResult"]},{"name":"constructor(score: List, wrongVerdict: Verdict? = null, difference: Double = 0.0, scoreAfter: Double = 0.0, isFirstBestRun: Boolean = false, isFirstBestTeamRun: Boolean = false)","description":"org.icpclive.api.IOIRunResult.IOIRunResult","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-run-result/-i-o-i-run-result.html","searchKeys":["IOIRunResult","constructor(score: List, wrongVerdict: Verdict? = null, difference: Double = 0.0, scoreAfter: Double = 0.0, isFirstBestRun: Boolean = false, isFirstBestTeamRun: Boolean = false)","org.icpclive.api.IOIRunResult.IOIRunResult"]},{"name":"constructor(speed: Double, startTime: Instant)","description":"org.icpclive.cds.settings.EmulationSettings.EmulationSettings","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-emulation-settings/-emulation-settings.html","searchKeys":["EmulationSettings","constructor(speed: Double, startTime: Instant)","org.icpclive.cds.settings.EmulationSettings.EmulationSettings"]},{"name":"constructor(startTime: Instant? = null, freezeTime: Duration? = null, holdTime: Duration? = null, teamMediaTemplate: Map? = null, teamOverrides: Map? = null, groupOverrides: Map? = null, problemOverrides: Map? = null, scoreboardOverrides: RankingSettings? = null)","description":"org.icpclive.api.tunning.AdvancedProperties.AdvancedProperties","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/-advanced-properties.html","searchKeys":["AdvancedProperties","constructor(startTime: Instant? = null, freezeTime: Duration? = null, holdTime: Duration? = null, teamMediaTemplate: Map? = null, teamOverrides: Map? = null, groupOverrides: Map? = null, problemOverrides: Map? = null, scoreboardOverrides: RankingSettings? = null)","org.icpclive.api.tunning.AdvancedProperties.AdvancedProperties"]},{"name":"constructor(submissionsUrl: String, contestUrl: String, timeZone: TimeZone = TimeZone.of(\"Asia/Bishkek\"), emulation: EmulationSettings? = null)","description":"org.icpclive.cds.settings.KRSUSettings.KRSUSettings","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-k-r-s-u-settings/-k-r-s-u-settings.html","searchKeys":["KRSUSettings","constructor(submissionsUrl: String, contestUrl: String, timeZone: TimeZone = TimeZone.of(\"Asia/Bishkek\"), emulation: EmulationSettings? = null)","org.icpclive.cds.settings.KRSUSettings.KRSUSettings"]},{"name":"constructor(teamId: Int)","description":"org.icpclive.api.MediaType.TaskStatus.TaskStatus","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-task-status/-task-status.html","searchKeys":["TaskStatus","constructor(teamId: Int)","org.icpclive.api.MediaType.TaskStatus.TaskStatus"]},{"name":"constructor(teamId: Int, rank: Int, totalScore: Double, penalty: Duration, lastAccepted: Long, medalType: String?, problemResults: List, teamGroups: List, championInGroups: List)","description":"org.icpclive.api.ScoreboardRow.ScoreboardRow","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/-scoreboard-row.html","searchKeys":["ScoreboardRow","constructor(teamId: Int, rank: Int, totalScore: Double, penalty: Duration, lastAccepted: Long, medalType: String?, problemResults: List, teamGroups: List, championInGroups: List)","org.icpclive.api.ScoreboardRow.ScoreboardRow"]},{"name":"constructor(url: String, audioUrl: String? = null, isMedia: Boolean = true)","description":"org.icpclive.api.MediaType.WebRTCProxyConnection.WebRTCProxyConnection","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/-web-r-t-c-proxy-connection.html","searchKeys":["WebRTCProxyConnection","constructor(url: String, audioUrl: String? = null, isMedia: Boolean = true)","org.icpclive.api.MediaType.WebRTCProxyConnection.WebRTCProxyConnection"]},{"name":"constructor(url: String, isMedia: Boolean = true)","description":"org.icpclive.api.MediaType.Object.Object","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-object/-object.html","searchKeys":["Object","constructor(url: String, isMedia: Boolean = true)","org.icpclive.api.MediaType.Object.Object"]},{"name":"constructor(url: String, isMedia: Boolean = true)","description":"org.icpclive.api.MediaType.Photo.Photo","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-photo/-photo.html","searchKeys":["Photo","constructor(url: String, isMedia: Boolean = true)","org.icpclive.api.MediaType.Photo.Photo"]},{"name":"constructor(url: String, isMedia: Boolean = true)","description":"org.icpclive.api.MediaType.Video.Video","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-video/-video.html","searchKeys":["Video","constructor(url: String, isMedia: Boolean = true)","org.icpclive.api.MediaType.Video.Video"]},{"name":"constructor(url: String, login: Credential? = null, password: Credential? = null, eventFeedName: String = \"event-feed\", feedVersion: FeedVersion = FeedVersion.`2022_07`)","description":"org.icpclive.cds.settings.ClicsLoaderSettings.ClicsLoaderSettings","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/-clics-loader-settings.html","searchKeys":["ClicsLoaderSettings","constructor(url: String, login: Credential? = null, password: Credential? = null, eventFeedName: String = \"event-feed\", feedVersion: FeedVersion = FeedVersion.`2022_07`)","org.icpclive.cds.settings.ClicsLoaderSettings.ClicsLoaderSettings"]},{"name":"constructor(url: String, login: Credential? = null, password: Credential? = null, eventFeedName: String = \"event-feed\", feedVersion: FeedVersion = FeedVersion.`2022_07`, additionalFeed: ClicsLoaderSettings? = null, useTeamNames: Boolean = true, mediaBaseUrl: String = \"\", emulation: EmulationSettings? = null)","description":"org.icpclive.cds.settings.ClicsSettings.ClicsSettings","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/-clics-settings.html","searchKeys":["ClicsSettings","constructor(url: String, login: Credential? = null, password: Credential? = null, eventFeedName: String = \"event-feed\", feedVersion: FeedVersion = FeedVersion.`2022_07`, additionalFeed: ClicsLoaderSettings? = null, useTeamNames: Boolean = true, mediaBaseUrl: String = \"\", emulation: EmulationSettings? = null)","org.icpclive.cds.settings.ClicsSettings.ClicsSettings"]},{"name":"constructor(url: String, login: Credential? = null, password: Credential? = null, problemsUrl: String? = null, resultType: ContestResultType = ContestResultType.ICPC, emulation: EmulationSettings? = null)","description":"org.icpclive.cds.settings.PCMSSettings.PCMSSettings","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/-p-c-m-s-settings.html","searchKeys":["PCMSSettings","constructor(url: String, login: Credential? = null, password: Credential? = null, problemsUrl: String? = null, resultType: ContestResultType = ContestResultType.ICPC, emulation: EmulationSettings? = null)","org.icpclive.cds.settings.PCMSSettings.PCMSSettings"]},{"name":"constructor(url: String, peerName: String, streamType: String, credential: String?, isMedia: Boolean = true)","description":"org.icpclive.api.MediaType.WebRTCGrabberConnection.WebRTCGrabberConnection","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/-web-r-t-c-grabber-connection.html","searchKeys":["WebRTCGrabberConnection","constructor(url: String, peerName: String, streamType: String, credential: String?, isMedia: Boolean = true)","org.icpclive.api.MediaType.WebRTCGrabberConnection.WebRTCGrabberConnection"]},{"name":"constructor(url: String, port: Int, contestId: String, authKey: Credential, emulation: EmulationSettings? = null)","description":"org.icpclive.cds.settings.CodeDrillsSettings.CodeDrillsSettings","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-code-drills-settings/-code-drills-settings.html","searchKeys":["CodeDrillsSettings","constructor(url: String, port: Int, contestId: String, authKey: Credential, emulation: EmulationSettings? = null)","org.icpclive.cds.settings.CodeDrillsSettings.CodeDrillsSettings"]},{"name":"constructor(url: String, resultType: ContestResultType = ContestResultType.ICPC, emulation: EmulationSettings? = null)","description":"org.icpclive.cds.settings.EjudgeSettings.EjudgeSettings","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/-ejudge-settings.html","searchKeys":["EjudgeSettings","constructor(url: String, resultType: ContestResultType = ContestResultType.ICPC, emulation: EmulationSettings? = null)","org.icpclive.cds.settings.EjudgeSettings.EjudgeSettings"]},{"name":"constructor(url: String, timeZone: TimeZone = TimeZone.of(\"Europe/Moscow\"), emulation: EmulationSettings? = null)","description":"org.icpclive.cds.settings.TestSysSettings.TestSysSettings","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-test-sys-settings/-test-sys-settings.html","searchKeys":["TestSysSettings","constructor(url: String, timeZone: TimeZone = TimeZone.of(\"Europe/Moscow\"), emulation: EmulationSettings? = null)","org.icpclive.cds.settings.TestSysSettings.TestSysSettings"]},{"name":"constructor(verdict: Verdict, isFirstToSolveRun: Boolean)","description":"org.icpclive.api.ICPCRunResult.ICPCRunResult","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-run-result/-i-c-p-c-run-result.html","searchKeys":["ICPCRunResult","constructor(verdict: Verdict, isFirstToSolveRun: Boolean)","org.icpclive.api.ICPCRunResult.ICPCRunResult"]},{"name":"constructor(wrongAttempts: Int, pendingAttempts: Int, isSolved: Boolean, isFirstToSolve: Boolean, lastSubmitTime: Duration?)","description":"org.icpclive.api.ICPCProblemResult.ICPCProblemResult","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-problem-result/-i-c-p-c-problem-result.html","searchKeys":["ICPCProblemResult","constructor(wrongAttempts: Int, pendingAttempts: Int, isSolved: Boolean, isFirstToSolve: Boolean, lastSubmitTime: Duration?)","org.icpclive.api.ICPCProblemResult.ICPCProblemResult"]},{"name":"data class AdvancedProperties(val startTime: Instant? = null, val freezeTime: Duration? = null, val holdTime: Duration? = null, val teamMediaTemplate: Map? = null, val teamOverrides: Map? = null, val groupOverrides: Map? = null, val problemOverrides: Map? = null, val scoreboardOverrides: RankingSettings? = null)","description":"org.icpclive.api.tunning.AdvancedProperties","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/index.html","searchKeys":["AdvancedProperties","data class AdvancedProperties(val startTime: Instant? = null, val freezeTime: Duration? = null, val holdTime: Duration? = null, val teamMediaTemplate: Map? = null, val teamOverrides: Map? = null, val groupOverrides: Map? = null, val problemOverrides: Map? = null, val scoreboardOverrides: RankingSettings? = null)","org.icpclive.api.tunning.AdvancedProperties"]},{"name":"data class AnalyticsCommentaryEvent(val id: String, val message: String, val time: Instant, val relativeTime: Duration, val teamIds: List, val runIds: List, val priority: Int = 0, val tags: List = emptyList(), val advertisement: AnalyticsCompanionPreset? = null, val tickerMessage: AnalyticsCompanionPreset? = null, val featuredRun: AnalyticsCompanionRun? = null) : AnalyticsMessage","description":"org.icpclive.api.AnalyticsCommentaryEvent","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/index.html","searchKeys":["AnalyticsCommentaryEvent","data class AnalyticsCommentaryEvent(val id: String, val message: String, val time: Instant, val relativeTime: Duration, val teamIds: List, val runIds: List, val priority: Int = 0, val tags: List = emptyList(), val advertisement: AnalyticsCompanionPreset? = null, val tickerMessage: AnalyticsCompanionPreset? = null, val featuredRun: AnalyticsCompanionRun? = null) : AnalyticsMessage","org.icpclive.api.AnalyticsCommentaryEvent"]},{"name":"data class AnalyticsCompanionPreset(val presetId: Int, val expirationTime: Instant?)","description":"org.icpclive.api.AnalyticsCompanionPreset","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-companion-preset/index.html","searchKeys":["AnalyticsCompanionPreset","data class AnalyticsCompanionPreset(val presetId: Int, val expirationTime: Instant?)","org.icpclive.api.AnalyticsCompanionPreset"]},{"name":"data class AnalyticsCompanionRun(val expirationTime: Instant?, val mediaType: MediaType)","description":"org.icpclive.api.AnalyticsCompanionRun","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-companion-run/index.html","searchKeys":["AnalyticsCompanionRun","data class AnalyticsCompanionRun(val expirationTime: Instant?, val mediaType: MediaType)","org.icpclive.api.AnalyticsCompanionRun"]},{"name":"data class AnalyticsUpdate(val message: AnalyticsMessage) : ContestUpdate","description":"org.icpclive.cds.AnalyticsUpdate","location":"-i-c-p-c-live contest data parser/org.icpclive.cds/-analytics-update/index.html","searchKeys":["AnalyticsUpdate","data class AnalyticsUpdate(val message: AnalyticsMessage) : ContestUpdate","org.icpclive.cds.AnalyticsUpdate"]},{"name":"data class ContestInfo(val name: String, val status: ContestStatus, val resultType: ContestResultType, val startTime: Instant, val contestLength: Duration, val freezeTime: Duration, val problems: List, val teams: List, val groups: List, val penaltyRoundingMode: PenaltyRoundingMode, val holdBeforeStartTime: Duration? = null, val emulationSpeed: Double = 1.0, val medals: List = emptyList(), val penaltyPerWrongAttempt: Duration = 20.minutes)","description":"org.icpclive.api.ContestInfo","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/index.html","searchKeys":["ContestInfo","data class ContestInfo(val name: String, val status: ContestStatus, val resultType: ContestResultType, val startTime: Instant, val contestLength: Duration, val freezeTime: Duration, val problems: List, val teams: List, val groups: List, val penaltyRoundingMode: PenaltyRoundingMode, val holdBeforeStartTime: Duration? = null, val emulationSpeed: Double = 1.0, val medals: List = emptyList(), val penaltyPerWrongAttempt: Duration = 20.minutes)","org.icpclive.api.ContestInfo"]},{"name":"data class GroupInfo(val name: String, val isHidden: Boolean = false, val isOutOfContest: Boolean = false)","description":"org.icpclive.api.GroupInfo","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-group-info/index.html","searchKeys":["GroupInfo","data class GroupInfo(val name: String, val isHidden: Boolean = false, val isOutOfContest: Boolean = false)","org.icpclive.api.GroupInfo"]},{"name":"data class GroupInfoOverride(val isHidden: Boolean? = null, val isOutOfContest: Boolean? = null)","description":"org.icpclive.api.tunning.GroupInfoOverride","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-group-info-override/index.html","searchKeys":["GroupInfoOverride","data class GroupInfoOverride(val isHidden: Boolean? = null, val isOutOfContest: Boolean? = null)","org.icpclive.api.tunning.GroupInfoOverride"]},{"name":"data class ICPCProblemResult(val wrongAttempts: Int, val pendingAttempts: Int, val isSolved: Boolean, val isFirstToSolve: Boolean, val lastSubmitTime: Duration?) : ProblemResult","description":"org.icpclive.api.ICPCProblemResult","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-problem-result/index.html","searchKeys":["ICPCProblemResult","data class ICPCProblemResult(val wrongAttempts: Int, val pendingAttempts: Int, val isSolved: Boolean, val isFirstToSolve: Boolean, val lastSubmitTime: Duration?) : ProblemResult","org.icpclive.api.ICPCProblemResult"]},{"name":"data class ICPCRunResult(val verdict: Verdict, val isFirstToSolveRun: Boolean) : RunResult","description":"org.icpclive.api.ICPCRunResult","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-run-result/index.html","searchKeys":["ICPCRunResult","data class ICPCRunResult(val verdict: Verdict, val isFirstToSolveRun: Boolean) : RunResult","org.icpclive.api.ICPCRunResult"]},{"name":"data class IOIProblemResult(val score: Double?, val lastSubmitTime: Duration?, val isFirstBest: Boolean) : ProblemResult","description":"org.icpclive.api.IOIProblemResult","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-problem-result/index.html","searchKeys":["IOIProblemResult","data class IOIProblemResult(val score: Double?, val lastSubmitTime: Duration?, val isFirstBest: Boolean) : ProblemResult","org.icpclive.api.IOIProblemResult"]},{"name":"data class IOIRunResult(val score: List, val wrongVerdict: Verdict? = null, val difference: Double = 0.0, val scoreAfter: Double = 0.0, val isFirstBestRun: Boolean = false, val isFirstBestTeamRun: Boolean = false) : RunResult","description":"org.icpclive.api.IOIRunResult","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-run-result/index.html","searchKeys":["IOIRunResult","data class IOIRunResult(val score: List, val wrongVerdict: Verdict? = null, val difference: Double = 0.0, val scoreAfter: Double = 0.0, val isFirstBestRun: Boolean = false, val isFirstBestTeamRun: Boolean = false) : RunResult","org.icpclive.api.IOIRunResult"]},{"name":"data class InfoUpdate(val newInfo: ContestInfo) : ContestUpdate","description":"org.icpclive.cds.InfoUpdate","location":"-i-c-p-c-live contest data parser/org.icpclive.cds/-info-update/index.html","searchKeys":["InfoUpdate","data class InfoUpdate(val newInfo: ContestInfo) : ContestUpdate","org.icpclive.cds.InfoUpdate"]},{"name":"data class MedalType(val name: String, val count: Int, val minScore: Double = Double.MIN_VALUE, val tiebreakMode: MedalTiebreakMode = MedalTiebreakMode.ALL)","description":"org.icpclive.api.MedalType","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-medal-type/index.html","searchKeys":["MedalType","data class MedalType(val name: String, val count: Int, val minScore: Double = Double.MIN_VALUE, val tiebreakMode: MedalTiebreakMode = MedalTiebreakMode.ALL)","org.icpclive.api.MedalType"]},{"name":"data class Object(val url: String, val isMedia: Boolean = true) : MediaType","description":"org.icpclive.api.MediaType.Object","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-object/index.html","searchKeys":["Object","data class Object(val url: String, val isMedia: Boolean = true) : MediaType","org.icpclive.api.MediaType.Object"]},{"name":"data class Photo(val url: String, val isMedia: Boolean = true) : MediaType","description":"org.icpclive.api.MediaType.Photo","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-photo/index.html","searchKeys":["Photo","data class Photo(val url: String, val isMedia: Boolean = true) : MediaType","org.icpclive.api.MediaType.Photo"]},{"name":"data class ProblemInfo(val letter: String, val name: String, val id: Int, val ordinal: Int, val contestSystemId: String, val minScore: Double? = null, val maxScore: Double? = null, val color: Color? = null, val scoreMergeMode: ScoreMergeMode? = null)","description":"org.icpclive.api.ProblemInfo","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/index.html","searchKeys":["ProblemInfo","data class ProblemInfo(val letter: String, val name: String, val id: Int, val ordinal: Int, val contestSystemId: String, val minScore: Double? = null, val maxScore: Double? = null, val color: Color? = null, val scoreMergeMode: ScoreMergeMode? = null)","org.icpclive.api.ProblemInfo"]},{"name":"data class ProblemInfoOverride(val name: String? = null, val color: Color? = null, val minScore: Double? = null, val maxScore: Double? = null, val scoreMergeMode: ScoreMergeMode? = null)","description":"org.icpclive.api.tunning.ProblemInfoOverride","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/index.html","searchKeys":["ProblemInfoOverride","data class ProblemInfoOverride(val name: String? = null, val color: Color? = null, val minScore: Double? = null, val maxScore: Double? = null, val scoreMergeMode: ScoreMergeMode? = null)","org.icpclive.api.tunning.ProblemInfoOverride"]},{"name":"data class RunInfo(val id: Int, val result: RunResult?, val percentage: Double, val problemId: Int, val teamId: Int, val time: Duration, val featuredRunMedia: MediaType? = null, val reactionVideos: List = emptyList(), val isHidden: Boolean = false)","description":"org.icpclive.api.RunInfo","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/index.html","searchKeys":["RunInfo","data class RunInfo(val id: Int, val result: RunResult?, val percentage: Double, val problemId: Int, val teamId: Int, val time: Duration, val featuredRunMedia: MediaType? = null, val reactionVideos: List = emptyList(), val isHidden: Boolean = false)","org.icpclive.api.RunInfo"]},{"name":"data class RunUpdate(val newInfo: RunInfo) : ContestUpdate","description":"org.icpclive.cds.RunUpdate","location":"-i-c-p-c-live contest data parser/org.icpclive.cds/-run-update/index.html","searchKeys":["RunUpdate","data class RunUpdate(val newInfo: RunInfo) : ContestUpdate","org.icpclive.cds.RunUpdate"]},{"name":"data class Scoreboard(val rows: List)","description":"org.icpclive.api.Scoreboard","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard/index.html","searchKeys":["Scoreboard","data class Scoreboard(val rows: List)","org.icpclive.api.Scoreboard"]},{"name":"data class ScoreboardRow(val teamId: Int, val rank: Int, val totalScore: Double, val penalty: Duration, val lastAccepted: Long, val medalType: String?, val problemResults: List, val teamGroups: List, val championInGroups: List)","description":"org.icpclive.api.ScoreboardRow","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/index.html","searchKeys":["ScoreboardRow","data class ScoreboardRow(val teamId: Int, val rank: Int, val totalScore: Double, val penalty: Duration, val lastAccepted: Long, val medalType: String?, val problemResults: List, val teamGroups: List, val championInGroups: List)","org.icpclive.api.ScoreboardRow"]},{"name":"data class TaskStatus(val teamId: Int) : MediaType","description":"org.icpclive.api.MediaType.TaskStatus","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-task-status/index.html","searchKeys":["TaskStatus","data class TaskStatus(val teamId: Int) : MediaType","org.icpclive.api.MediaType.TaskStatus"]},{"name":"data class TeamInfo(val id: Int, val name: String, val shortName: String, val contestSystemId: String, val groups: List, val hashTag: String?, val medias: Map, val additionalInfo: String? = null, val isHidden: Boolean = false, val isOutOfContest: Boolean = false)","description":"org.icpclive.api.TeamInfo","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/index.html","searchKeys":["TeamInfo","data class TeamInfo(val id: Int, val name: String, val shortName: String, val contestSystemId: String, val groups: List, val hashTag: String?, val medias: Map, val additionalInfo: String? = null, val isHidden: Boolean = false, val isOutOfContest: Boolean = false)","org.icpclive.api.TeamInfo"]},{"name":"data class TeamInfoOverride(val name: String? = null, val shortname: String? = null, val groups: List? = null, val hashTag: String? = null, val medias: Map? = null, val additionalInfo: String? = null, val isHidden: Boolean? = null, val isOutOfContest: Boolean? = null)","description":"org.icpclive.api.tunning.TeamInfoOverride","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/index.html","searchKeys":["TeamInfoOverride","data class TeamInfoOverride(val name: String? = null, val shortname: String? = null, val groups: List? = null, val hashTag: String? = null, val medias: Map? = null, val additionalInfo: String? = null, val isHidden: Boolean? = null, val isOutOfContest: Boolean? = null)","org.icpclive.api.tunning.TeamInfoOverride"]},{"name":"data class Video(val url: String, val isMedia: Boolean = true) : MediaType","description":"org.icpclive.api.MediaType.Video","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-video/index.html","searchKeys":["Video","data class Video(val url: String, val isMedia: Boolean = true) : MediaType","org.icpclive.api.MediaType.Video"]},{"name":"data class WebRTCGrabberConnection(val url: String, val peerName: String, val streamType: String, val credential: String?, val isMedia: Boolean = true) : MediaType","description":"org.icpclive.api.MediaType.WebRTCGrabberConnection","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/index.html","searchKeys":["WebRTCGrabberConnection","data class WebRTCGrabberConnection(val url: String, val peerName: String, val streamType: String, val credential: String?, val isMedia: Boolean = true) : MediaType","org.icpclive.api.MediaType.WebRTCGrabberConnection"]},{"name":"data class WebRTCProxyConnection(val url: String, val audioUrl: String? = null, val isMedia: Boolean = true) : MediaType","description":"org.icpclive.api.MediaType.WebRTCProxyConnection","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/index.html","searchKeys":["WebRTCProxyConnection","data class WebRTCProxyConnection(val url: String, val audioUrl: String? = null, val isMedia: Boolean = true) : MediaType","org.icpclive.api.MediaType.WebRTCProxyConnection"]},{"name":"enum ContestResultType : Enum ","description":"org.icpclive.api.ContestResultType","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-result-type/index.html","searchKeys":["ContestResultType","enum ContestResultType : Enum ","org.icpclive.api.ContestResultType"]},{"name":"enum ContestStatus : Enum ","description":"org.icpclive.api.ContestStatus","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-status/index.html","searchKeys":["ContestStatus","enum ContestStatus : Enum ","org.icpclive.api.ContestStatus"]},{"name":"enum MedalTiebreakMode : Enum ","description":"org.icpclive.api.MedalTiebreakMode","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-medal-tiebreak-mode/index.html","searchKeys":["MedalTiebreakMode","enum MedalTiebreakMode : Enum ","org.icpclive.api.MedalTiebreakMode"]},{"name":"enum OptimismLevel : Enum ","description":"org.icpclive.api.OptimismLevel","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-optimism-level/index.html","searchKeys":["OptimismLevel","enum OptimismLevel : Enum ","org.icpclive.api.OptimismLevel"]},{"name":"enum PenaltyRoundingMode : Enum ","description":"org.icpclive.api.PenaltyRoundingMode","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/index.html","searchKeys":["PenaltyRoundingMode","enum PenaltyRoundingMode : Enum ","org.icpclive.api.PenaltyRoundingMode"]},{"name":"enum ScoreMergeMode : Enum ","description":"org.icpclive.api.ScoreMergeMode","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/index.html","searchKeys":["ScoreMergeMode","enum ScoreMergeMode : Enum ","org.icpclive.api.ScoreMergeMode"]},{"name":"enum TeamMediaType : Enum ","description":"org.icpclive.api.TeamMediaType","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/index.html","searchKeys":["TeamMediaType","enum TeamMediaType : Enum ","org.icpclive.api.TeamMediaType"]},{"name":"fun Flow.stateWithGroupedRuns(selector: (RunInfo) -> K): Flow>","description":"org.icpclive.cds.adapters.stateWithGroupedRuns","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/state-with-grouped-runs.html","searchKeys":["stateWithGroupedRuns","fun Flow.stateWithGroupedRuns(selector: (RunInfo) -> K): Flow>","org.icpclive.cds.adapters.stateWithGroupedRuns"]},{"name":"fun Flow.withGroupedRuns(selector: (RunInfo) -> K, transformGroup: (key: K, cur: PersistentList, original: PersistentList, info: ContestInfo?) -> List? = null, needUpdateGroup: (new: ContestInfo, old: ContestInfo?, key: K) -> Boolean? = null): Flow>","description":"org.icpclive.cds.adapters.withGroupedRuns","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/with-grouped-runs.html","searchKeys":["withGroupedRuns","fun Flow.withGroupedRuns(selector: (RunInfo) -> K, transformGroup: (key: K, cur: PersistentList, original: PersistentList, info: ContestInfo?) -> List? = null, needUpdateGroup: (new: ContestInfo, old: ContestInfo?, key: K) -> Boolean? = null): Flow>","org.icpclive.cds.adapters.withGroupedRuns"]},{"name":"fun ContestInfo.toAdvancedProperties(fields: Set): AdvancedProperties","description":"org.icpclive.api.tunning.toAdvancedProperties","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/to-advanced-properties.html","searchKeys":["toAdvancedProperties","fun ContestInfo.toAdvancedProperties(fields: Set): AdvancedProperties","org.icpclive.api.tunning.toAdvancedProperties"]},{"name":"fun Flow.filterUseless(): Flow","description":"org.icpclive.cds.adapters.filterUseless","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/filter-useless.html","searchKeys":["filterUseless","fun Flow.filterUseless(): Flow","org.icpclive.cds.adapters.filterUseless"]},{"name":"fun Flow.removeFrozenSubmissions(): Flow","description":"org.icpclive.cds.adapters.removeFrozenSubmissions","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/remove-frozen-submissions.html","searchKeys":["removeFrozenSubmissions","fun Flow.removeFrozenSubmissions(): Flow","org.icpclive.cds.adapters.removeFrozenSubmissions"]},{"name":"fun Flow.calculateScoreboard(optimismLevel: OptimismLevel): Flow","description":"org.icpclive.scoreboard.calculateScoreboard","location":"-i-c-p-c-live contest data parser/org.icpclive.scoreboard/calculate-scoreboard.html","searchKeys":["calculateScoreboard","fun Flow.calculateScoreboard(optimismLevel: OptimismLevel): Flow","org.icpclive.scoreboard.calculateScoreboard"]},{"name":"fun Flow.addFirstToSolves(): Flow","description":"org.icpclive.cds.adapters.addFirstToSolves","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/add-first-to-solves.html","searchKeys":["addFirstToSolves","fun Flow.addFirstToSolves(): Flow","org.icpclive.cds.adapters.addFirstToSolves"]},{"name":"fun Flow.applyAdvancedProperties(advancedPropsFlow: Flow): Flow","description":"org.icpclive.cds.adapters.applyAdvancedProperties","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/apply-advanced-properties.html","searchKeys":["applyAdvancedProperties","fun Flow.applyAdvancedProperties(advancedPropsFlow: Flow): Flow","org.icpclive.cds.adapters.applyAdvancedProperties"]},{"name":"fun Flow.calculateScoreDifferences(): Flow","description":"org.icpclive.cds.adapters.calculateScoreDifferences","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/calculate-score-differences.html","searchKeys":["calculateScoreDifferences","fun Flow.calculateScoreDifferences(): Flow","org.icpclive.cds.adapters.calculateScoreDifferences"]},{"name":"fun Flow.filterUseless(): Flow","description":"org.icpclive.cds.adapters.filterUseless","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/filter-useless.html","searchKeys":["filterUseless","fun Flow.filterUseless(): Flow","org.icpclive.cds.adapters.filterUseless"]},{"name":"fun Flow.processHiddenTeamsAndGroups(): Flow","description":"org.icpclive.cds.adapters.processHiddenTeamsAndGroups","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/process-hidden-teams-and-groups.html","searchKeys":["processHiddenTeamsAndGroups","fun Flow.processHiddenTeamsAndGroups(): Flow","org.icpclive.cds.adapters.processHiddenTeamsAndGroups"]},{"name":"fun Flow.removeFrozenSubmissions(): Flow","description":"org.icpclive.cds.adapters.removeFrozenSubmissions","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/remove-frozen-submissions.html","searchKeys":["removeFrozenSubmissions","fun Flow.removeFrozenSubmissions(): Flow","org.icpclive.cds.adapters.removeFrozenSubmissions"]},{"name":"fun Flow.stateGroupedByTeam(): Flow","description":"org.icpclive.cds.adapters.stateGroupedByTeam","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/state-grouped-by-team.html","searchKeys":["stateGroupedByTeam","fun Flow.stateGroupedByTeam(): Flow","org.icpclive.cds.adapters.stateGroupedByTeam"]},{"name":"fun Flow.withContestInfo(): Flow>","description":"org.icpclive.cds.adapters.withContestInfo","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/with-contest-info.html","searchKeys":["withContestInfo","fun Flow.withContestInfo(): Flow>","org.icpclive.cds.adapters.withContestInfo"]},{"name":"fun Flow.withRunsBefore(): Flow","description":"org.icpclive.cds.adapters.withRunsBefore","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/with-runs-before.html","searchKeys":["withRunsBefore","fun Flow.withRunsBefore(): Flow","org.icpclive.cds.adapters.withRunsBefore"]},{"name":"fun List.toGroupInfos(): List","description":"org.icpclive.api.toGroupInfos","location":"-i-c-p-c-live contest data parser/org.icpclive.api/to-group-infos.html","searchKeys":["toGroupInfos","fun List.toGroupInfos(): List","org.icpclive.api.toGroupInfos"]},{"name":"fun applyTemplate(teamId: String): MediaType","description":"org.icpclive.api.MediaType.applyTemplate","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/apply-template.html","searchKeys":["applyTemplate","fun applyTemplate(teamId: String): MediaType","org.icpclive.api.MediaType.applyTemplate"]},{"name":"fun get(creds: Map): String","description":"org.icpclive.cds.settings.Credential.get","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-credential/get.html","searchKeys":["get","fun get(creds: Map): String","org.icpclive.cds.settings.Credential.get"]},{"name":"fun getScoreboardCalculator(info: ContestInfo, optimismLevel: OptimismLevel): ScoreboardCalculator","description":"org.icpclive.scoreboard.getScoreboardCalculator","location":"-i-c-p-c-live contest data parser/org.icpclive.scoreboard/get-scoreboard-calculator.html","searchKeys":["getScoreboardCalculator","fun getScoreboardCalculator(info: ContestInfo, optimismLevel: OptimismLevel): ScoreboardCalculator","org.icpclive.scoreboard.getScoreboardCalculator"]},{"name":"fun groupById(id: String): GroupInfo?","description":"org.icpclive.api.ContestInfo.groupById","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/group-by-id.html","searchKeys":["groupById","fun groupById(id: String): GroupInfo?","org.icpclive.api.ContestInfo.groupById"]},{"name":"fun lookup(shortName: String, isAddingPenalty: Boolean, isAccepted: Boolean): Verdict","description":"org.icpclive.api.Verdict.Companion.lookup","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-companion/lookup.html","searchKeys":["lookup","fun lookup(shortName: String, isAddingPenalty: Boolean, isAccepted: Boolean): Verdict","org.icpclive.api.Verdict.Companion.lookup"]},{"name":"fun noMedia(): MediaType","description":"org.icpclive.api.MediaType.noMedia","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/no-media.html","searchKeys":["noMedia","fun noMedia(): MediaType","org.icpclive.api.MediaType.noMedia"]},{"name":"fun parseFileToCdsSettings(path: Path): CDSSettings","description":"org.icpclive.cds.settings.parseFileToCdsSettings","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/parse-file-to-cds-settings.html","searchKeys":["parseFileToCdsSettings","fun parseFileToCdsSettings(path: Path): CDSSettings","org.icpclive.cds.settings.parseFileToCdsSettings"]},{"name":"fun setAllowUnsecureConnections(value: Boolean)","description":"org.icpclive.cds.common.setAllowUnsecureConnections","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.common/set-allow-unsecure-connections.html","searchKeys":["setAllowUnsecureConnections","fun setAllowUnsecureConnections(value: Boolean)","org.icpclive.cds.common.setAllowUnsecureConnections"]},{"name":"fun toFlow(creds: Map): Flow","description":"org.icpclive.cds.settings.CDSSettings.toFlow","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-d-s-settings/to-flow.html","searchKeys":["toFlow","fun toFlow(creds: Map): Flow","org.icpclive.cds.settings.CDSSettings.toFlow"]},{"name":"fun toRunResult(): ICPCRunResult","description":"org.icpclive.api.Verdict.toRunResult","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/to-run-result.html","searchKeys":["toRunResult","fun toRunResult(): ICPCRunResult","org.icpclive.api.Verdict.toRunResult"]},{"name":"fun valueOf(value: String): ContestResultType","description":"org.icpclive.api.ContestResultType.valueOf","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-result-type/value-of.html","searchKeys":["valueOf","fun valueOf(value: String): ContestResultType","org.icpclive.api.ContestResultType.valueOf"]},{"name":"fun valueOf(value: String): ContestStatus","description":"org.icpclive.api.ContestStatus.valueOf","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-status/value-of.html","searchKeys":["valueOf","fun valueOf(value: String): ContestStatus","org.icpclive.api.ContestStatus.valueOf"]},{"name":"fun valueOf(value: String): MedalTiebreakMode","description":"org.icpclive.api.MedalTiebreakMode.valueOf","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-medal-tiebreak-mode/value-of.html","searchKeys":["valueOf","fun valueOf(value: String): MedalTiebreakMode","org.icpclive.api.MedalTiebreakMode.valueOf"]},{"name":"fun valueOf(value: String): OptimismLevel","description":"org.icpclive.api.OptimismLevel.valueOf","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-optimism-level/value-of.html","searchKeys":["valueOf","fun valueOf(value: String): OptimismLevel","org.icpclive.api.OptimismLevel.valueOf"]},{"name":"fun valueOf(value: String): PenaltyRoundingMode","description":"org.icpclive.api.PenaltyRoundingMode.valueOf","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/value-of.html","searchKeys":["valueOf","fun valueOf(value: String): PenaltyRoundingMode","org.icpclive.api.PenaltyRoundingMode.valueOf"]},{"name":"fun valueOf(value: String): ScoreMergeMode","description":"org.icpclive.api.ScoreMergeMode.valueOf","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/value-of.html","searchKeys":["valueOf","fun valueOf(value: String): ScoreMergeMode","org.icpclive.api.ScoreMergeMode.valueOf"]},{"name":"fun valueOf(value: String): TeamMediaType","description":"org.icpclive.api.TeamMediaType.valueOf","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/value-of.html","searchKeys":["valueOf","fun valueOf(value: String): TeamMediaType","org.icpclive.api.TeamMediaType.valueOf"]},{"name":"fun values(): Array","description":"org.icpclive.api.ContestResultType.values","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-result-type/values.html","searchKeys":["values","fun values(): Array","org.icpclive.api.ContestResultType.values"]},{"name":"fun values(): Array","description":"org.icpclive.api.ContestStatus.values","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-status/values.html","searchKeys":["values","fun values(): Array","org.icpclive.api.ContestStatus.values"]},{"name":"fun values(): Array","description":"org.icpclive.api.MedalTiebreakMode.values","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-medal-tiebreak-mode/values.html","searchKeys":["values","fun values(): Array","org.icpclive.api.MedalTiebreakMode.values"]},{"name":"fun values(): Array","description":"org.icpclive.api.OptimismLevel.values","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-optimism-level/values.html","searchKeys":["values","fun values(): Array","org.icpclive.api.OptimismLevel.values"]},{"name":"fun values(): Array","description":"org.icpclive.api.PenaltyRoundingMode.values","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/values.html","searchKeys":["values","fun values(): Array","org.icpclive.api.PenaltyRoundingMode.values"]},{"name":"fun values(): Array","description":"org.icpclive.api.ScoreMergeMode.values","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/values.html","searchKeys":["values","fun values(): Array","org.icpclive.api.ScoreMergeMode.values"]},{"name":"fun values(): Array","description":"org.icpclive.api.TeamMediaType.values","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/values.html","searchKeys":["values","fun values(): Array","org.icpclive.api.TeamMediaType.values"]},{"name":"inline fun PersistentMap.update(k: K, block: (V?) -> V): PersistentMap","description":"org.icpclive.cds.adapters.update","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/update.html","searchKeys":["update","inline fun PersistentMap.update(k: K, block: (V?) -> V): PersistentMap","org.icpclive.cds.adapters.update"]},{"name":"interface ContestUpdate","description":"org.icpclive.cds.ContestUpdate","location":"-i-c-p-c-live contest data parser/org.icpclive.cds/-contest-update/index.html","searchKeys":["ContestUpdate","interface ContestUpdate","org.icpclive.cds.ContestUpdate"]},{"name":"interface ScoreboardCalculator","description":"org.icpclive.scoreboard.ScoreboardCalculator","location":"-i-c-p-c-live contest data parser/org.icpclive.scoreboard/-scoreboard-calculator/index.html","searchKeys":["ScoreboardCalculator","interface ScoreboardCalculator","org.icpclive.scoreboard.ScoreboardCalculator"]},{"name":"object Accepted : Verdict","description":"org.icpclive.api.Verdict.Accepted","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-accepted/index.html","searchKeys":["Accepted","object Accepted : Verdict","org.icpclive.api.Verdict.Accepted"]},{"name":"object AdvancedPropertiesAdapter","description":"org.icpclive.cds.adapters.AdvancedPropertiesAdapter","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-advanced-properties-adapter/index.html","searchKeys":["AdvancedPropertiesAdapter","object AdvancedPropertiesAdapter","org.icpclive.cds.adapters.AdvancedPropertiesAdapter"]},{"name":"object Challenged : Verdict","description":"org.icpclive.api.Verdict.Challenged","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-challenged/index.html","searchKeys":["Challenged","object Challenged : Verdict","org.icpclive.api.Verdict.Challenged"]},{"name":"object Companion","description":"org.icpclive.api.ProblemInfo.Companion","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/-companion/index.html","searchKeys":["Companion","object Companion","org.icpclive.api.ProblemInfo.Companion"]},{"name":"object Companion","description":"org.icpclive.api.Verdict.Companion","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-companion/index.html","searchKeys":["Companion","object Companion","org.icpclive.api.Verdict.Companion"]},{"name":"object CompilationError : Verdict","description":"org.icpclive.api.Verdict.CompilationError","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-compilation-error/index.html","searchKeys":["CompilationError","object CompilationError : Verdict","org.icpclive.api.Verdict.CompilationError"]},{"name":"object CompilationErrorWithPenalty : Verdict","description":"org.icpclive.api.Verdict.CompilationErrorWithPenalty","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-compilation-error-with-penalty/index.html","searchKeys":["CompilationErrorWithPenalty","object CompilationErrorWithPenalty : Verdict","org.icpclive.api.Verdict.CompilationErrorWithPenalty"]},{"name":"object Fail : Verdict","description":"org.icpclive.api.Verdict.Fail","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-fail/index.html","searchKeys":["Fail","object Fail : Verdict","org.icpclive.api.Verdict.Fail"]},{"name":"object IdlenessLimitExceeded : Verdict","description":"org.icpclive.api.Verdict.IdlenessLimitExceeded","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-idleness-limit-exceeded/index.html","searchKeys":["IdlenessLimitExceeded","object IdlenessLimitExceeded : Verdict","org.icpclive.api.Verdict.IdlenessLimitExceeded"]},{"name":"object Ignored : Verdict","description":"org.icpclive.api.Verdict.Ignored","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-ignored/index.html","searchKeys":["Ignored","object Ignored : Verdict","org.icpclive.api.Verdict.Ignored"]},{"name":"object MemoryLimitExceeded : Verdict","description":"org.icpclive.api.Verdict.MemoryLimitExceeded","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-memory-limit-exceeded/index.html","searchKeys":["MemoryLimitExceeded","object MemoryLimitExceeded : Verdict","org.icpclive.api.Verdict.MemoryLimitExceeded"]},{"name":"object OutputLimitExceeded : Verdict","description":"org.icpclive.api.Verdict.OutputLimitExceeded","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-output-limit-exceeded/index.html","searchKeys":["OutputLimitExceeded","object OutputLimitExceeded : Verdict","org.icpclive.api.Verdict.OutputLimitExceeded"]},{"name":"object PresentationError : Verdict","description":"org.icpclive.api.Verdict.PresentationError","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-presentation-error/index.html","searchKeys":["PresentationError","object PresentationError : Verdict","org.icpclive.api.Verdict.PresentationError"]},{"name":"object Rejected : Verdict","description":"org.icpclive.api.Verdict.Rejected","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-rejected/index.html","searchKeys":["Rejected","object Rejected : Verdict","org.icpclive.api.Verdict.Rejected"]},{"name":"object RuntimeError : Verdict","description":"org.icpclive.api.Verdict.RuntimeError","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-runtime-error/index.html","searchKeys":["RuntimeError","object RuntimeError : Verdict","org.icpclive.api.Verdict.RuntimeError"]},{"name":"object SecurityViolation : Verdict","description":"org.icpclive.api.Verdict.SecurityViolation","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-security-violation/index.html","searchKeys":["SecurityViolation","object SecurityViolation : Verdict","org.icpclive.api.Verdict.SecurityViolation"]},{"name":"object TimeLimitExceeded : Verdict","description":"org.icpclive.api.Verdict.TimeLimitExceeded","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-time-limit-exceeded/index.html","searchKeys":["TimeLimitExceeded","object TimeLimitExceeded : Verdict","org.icpclive.api.Verdict.TimeLimitExceeded"]},{"name":"object WrongAnswer : Verdict","description":"org.icpclive.api.Verdict.WrongAnswer","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-wrong-answer/index.html","searchKeys":["WrongAnswer","object WrongAnswer : Verdict","org.icpclive.api.Verdict.WrongAnswer"]},{"name":"open class ContestStateWithGroupedRuns(val info: ContestInfo?, val runs: PersistentMap>)","description":"org.icpclive.cds.adapters.ContestStateWithGroupedRuns","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-state-with-grouped-runs/index.html","searchKeys":["ContestStateWithGroupedRuns","open class ContestStateWithGroupedRuns(val info: ContestInfo?, val runs: PersistentMap>)","org.icpclive.cds.adapters.ContestStateWithGroupedRuns"]},{"name":"open override fun deserialize(decoder: Decoder): Verdict","description":"org.icpclive.api.VerdictSerializer.deserialize","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-verdict-serializer/deserialize.html","searchKeys":["deserialize","open override fun deserialize(decoder: Decoder): Verdict","org.icpclive.api.VerdictSerializer.deserialize"]},{"name":"open override fun serialize(encoder: Encoder, value: Verdict)","description":"org.icpclive.api.VerdictSerializer.serialize","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-verdict-serializer/serialize.html","searchKeys":["serialize","open override fun serialize(encoder: Encoder, value: Verdict)","org.icpclive.api.VerdictSerializer.serialize"]},{"name":"open override fun toString(): String","description":"org.icpclive.cds.settings.CDSSettings.toString","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-d-s-settings/to-string.html","searchKeys":["toString","open override fun toString(): String","org.icpclive.cds.settings.CDSSettings.toString"]},{"name":"open override val descriptor: ","description":"org.icpclive.api.VerdictSerializer.descriptor","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-verdict-serializer/descriptor.html","searchKeys":["descriptor","open override val descriptor: ","org.icpclive.api.VerdictSerializer.descriptor"]},{"name":"open override val emulation: EmulationSettings? = null","description":"org.icpclive.cds.settings.CFSettings.emulation","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-f-settings/emulation.html","searchKeys":["emulation","open override val emulation: EmulationSettings? = null","org.icpclive.cds.settings.CFSettings.emulation"]},{"name":"open override val emulation: EmulationSettings? = null","description":"org.icpclive.cds.settings.CatsSettings.emulation","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/emulation.html","searchKeys":["emulation","open override val emulation: EmulationSettings? = null","org.icpclive.cds.settings.CatsSettings.emulation"]},{"name":"open override val emulation: EmulationSettings? = null","description":"org.icpclive.cds.settings.ClicsSettings.emulation","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/emulation.html","searchKeys":["emulation","open override val emulation: EmulationSettings? = null","org.icpclive.cds.settings.ClicsSettings.emulation"]},{"name":"open override val emulation: EmulationSettings? = null","description":"org.icpclive.cds.settings.CodeDrillsSettings.emulation","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-code-drills-settings/emulation.html","searchKeys":["emulation","open override val emulation: EmulationSettings? = null","org.icpclive.cds.settings.CodeDrillsSettings.emulation"]},{"name":"open override val emulation: EmulationSettings? = null","description":"org.icpclive.cds.settings.EjudgeSettings.emulation","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/emulation.html","searchKeys":["emulation","open override val emulation: EmulationSettings? = null","org.icpclive.cds.settings.EjudgeSettings.emulation"]},{"name":"open override val emulation: EmulationSettings? = null","description":"org.icpclive.cds.settings.KRSUSettings.emulation","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-k-r-s-u-settings/emulation.html","searchKeys":["emulation","open override val emulation: EmulationSettings? = null","org.icpclive.cds.settings.KRSUSettings.emulation"]},{"name":"open override val emulation: EmulationSettings? = null","description":"org.icpclive.cds.settings.NoopSettings.emulation","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-noop-settings/emulation.html","searchKeys":["emulation","open override val emulation: EmulationSettings? = null","org.icpclive.cds.settings.NoopSettings.emulation"]},{"name":"open override val emulation: EmulationSettings? = null","description":"org.icpclive.cds.settings.PCMSSettings.emulation","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/emulation.html","searchKeys":["emulation","open override val emulation: EmulationSettings? = null","org.icpclive.cds.settings.PCMSSettings.emulation"]},{"name":"open override val emulation: EmulationSettings? = null","description":"org.icpclive.cds.settings.TestSysSettings.emulation","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-test-sys-settings/emulation.html","searchKeys":["emulation","open override val emulation: EmulationSettings? = null","org.icpclive.cds.settings.TestSysSettings.emulation"]},{"name":"open override val emulation: EmulationSettings? = null","description":"org.icpclive.cds.settings.YandexSettings.emulation","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/emulation.html","searchKeys":["emulation","open override val emulation: EmulationSettings? = null","org.icpclive.cds.settings.YandexSettings.emulation"]},{"name":"open override val id: String","description":"org.icpclive.api.AnalyticsCommentaryEvent.id","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/id.html","searchKeys":["id","open override val id: String","org.icpclive.api.AnalyticsCommentaryEvent.id"]},{"name":"open override val isMedia: Boolean = false","description":"org.icpclive.api.MediaType.TaskStatus.isMedia","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-task-status/is-media.html","searchKeys":["isMedia","open override val isMedia: Boolean = false","org.icpclive.api.MediaType.TaskStatus.isMedia"]},{"name":"open override val isMedia: Boolean = true","description":"org.icpclive.api.MediaType.Object.isMedia","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-object/is-media.html","searchKeys":["isMedia","open override val isMedia: Boolean = true","org.icpclive.api.MediaType.Object.isMedia"]},{"name":"open override val isMedia: Boolean = true","description":"org.icpclive.api.MediaType.Photo.isMedia","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-photo/is-media.html","searchKeys":["isMedia","open override val isMedia: Boolean = true","org.icpclive.api.MediaType.Photo.isMedia"]},{"name":"open override val isMedia: Boolean = true","description":"org.icpclive.api.MediaType.Video.isMedia","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-video/is-media.html","searchKeys":["isMedia","open override val isMedia: Boolean = true","org.icpclive.api.MediaType.Video.isMedia"]},{"name":"open override val isMedia: Boolean = true","description":"org.icpclive.api.MediaType.WebRTCGrabberConnection.isMedia","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/is-media.html","searchKeys":["isMedia","open override val isMedia: Boolean = true","org.icpclive.api.MediaType.WebRTCGrabberConnection.isMedia"]},{"name":"open override val isMedia: Boolean = true","description":"org.icpclive.api.MediaType.WebRTCProxyConnection.isMedia","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/is-media.html","searchKeys":["isMedia","open override val isMedia: Boolean = true","org.icpclive.api.MediaType.WebRTCProxyConnection.isMedia"]},{"name":"open override val relativeTime: Duration","description":"org.icpclive.api.AnalyticsCommentaryEvent.relativeTime","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/relative-time.html","searchKeys":["relativeTime","open override val relativeTime: Duration","org.icpclive.api.AnalyticsCommentaryEvent.relativeTime"]},{"name":"open override val time: Instant","description":"org.icpclive.api.AnalyticsCommentaryEvent.time","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/time.html","searchKeys":["time","open override val time: Instant","org.icpclive.api.AnalyticsCommentaryEvent.time"]},{"name":"sealed class AnalyticsMessage","description":"org.icpclive.api.AnalyticsMessage","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-message/index.html","searchKeys":["AnalyticsMessage","sealed class AnalyticsMessage","org.icpclive.api.AnalyticsMessage"]},{"name":"sealed class CDSSettings","description":"org.icpclive.cds.settings.CDSSettings","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-d-s-settings/index.html","searchKeys":["CDSSettings","sealed class CDSSettings","org.icpclive.cds.settings.CDSSettings"]},{"name":"sealed class MediaType","description":"org.icpclive.api.MediaType","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/index.html","searchKeys":["MediaType","sealed class MediaType","org.icpclive.api.MediaType"]},{"name":"sealed class ProblemResult","description":"org.icpclive.api.ProblemResult","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-problem-result/index.html","searchKeys":["ProblemResult","sealed class ProblemResult","org.icpclive.api.ProblemResult"]},{"name":"sealed class RunResult","description":"org.icpclive.api.RunResult","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-run-result/index.html","searchKeys":["RunResult","sealed class RunResult","org.icpclive.api.RunResult"]},{"name":"sealed class Verdict","description":"org.icpclive.api.Verdict","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/index.html","searchKeys":["Verdict","sealed class Verdict","org.icpclive.api.Verdict"]},{"name":"val additionalFeed: ClicsLoaderSettings? = null","description":"org.icpclive.cds.settings.ClicsSettings.additionalFeed","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/additional-feed.html","searchKeys":["additionalFeed","val additionalFeed: ClicsLoaderSettings? = null","org.icpclive.cds.settings.ClicsSettings.additionalFeed"]},{"name":"val additionalInfo: String? = null","description":"org.icpclive.api.TeamInfo.additionalInfo","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/additional-info.html","searchKeys":["additionalInfo","val additionalInfo: String? = null","org.icpclive.api.TeamInfo.additionalInfo"]},{"name":"val additionalInfo: String? = null","description":"org.icpclive.api.tunning.TeamInfoOverride.additionalInfo","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/additional-info.html","searchKeys":["additionalInfo","val additionalInfo: String? = null","org.icpclive.api.tunning.TeamInfoOverride.additionalInfo"]},{"name":"val advertisement: AnalyticsCompanionPreset? = null","description":"org.icpclive.api.AnalyticsCommentaryEvent.advertisement","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/advertisement.html","searchKeys":["advertisement","val advertisement: AnalyticsCompanionPreset? = null","org.icpclive.api.AnalyticsCommentaryEvent.advertisement"]},{"name":"val all: List","description":"org.icpclive.api.Verdict.Companion.all","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-companion/all.html","searchKeys":["all","val all: List","org.icpclive.api.Verdict.Companion.all"]},{"name":"val apiKey: Credential","description":"org.icpclive.cds.settings.CFSettings.apiKey","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-f-settings/api-key.html","searchKeys":["apiKey","val apiKey: Credential","org.icpclive.cds.settings.CFSettings.apiKey"]},{"name":"val apiKey: Credential","description":"org.icpclive.cds.settings.YandexSettings.apiKey","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/api-key.html","searchKeys":["apiKey","val apiKey: Credential","org.icpclive.cds.settings.YandexSettings.apiKey"]},{"name":"val apiSecret: Credential","description":"org.icpclive.cds.settings.CFSettings.apiSecret","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-f-settings/api-secret.html","searchKeys":["apiSecret","val apiSecret: Credential","org.icpclive.cds.settings.CFSettings.apiSecret"]},{"name":"val asManager: Boolean = true","description":"org.icpclive.cds.settings.CFSettings.asManager","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-f-settings/as-manager.html","searchKeys":["asManager","val asManager: Boolean = true","org.icpclive.cds.settings.CFSettings.asManager"]},{"name":"val audioUrl: String? = null","description":"org.icpclive.api.MediaType.WebRTCProxyConnection.audioUrl","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/audio-url.html","searchKeys":["audioUrl","val audioUrl: String? = null","org.icpclive.api.MediaType.WebRTCProxyConnection.audioUrl"]},{"name":"val authKey: Credential","description":"org.icpclive.cds.settings.CodeDrillsSettings.authKey","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-code-drills-settings/auth-key.html","searchKeys":["authKey","val authKey: Credential","org.icpclive.cds.settings.CodeDrillsSettings.authKey"]},{"name":"val championInGroups: List","description":"org.icpclive.api.ScoreboardRow.championInGroups","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/champion-in-groups.html","searchKeys":["championInGroups","val championInGroups: List","org.icpclive.api.ScoreboardRow.championInGroups"]},{"name":"val cid: String","description":"org.icpclive.cds.settings.CatsSettings.cid","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/cid.html","searchKeys":["cid","val cid: String","org.icpclive.cds.settings.CatsSettings.cid"]},{"name":"val color: Color? = null","description":"org.icpclive.api.ProblemInfo.color","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/color.html","searchKeys":["color","val color: Color? = null","org.icpclive.api.ProblemInfo.color"]},{"name":"val color: Color? = null","description":"org.icpclive.api.tunning.ProblemInfoOverride.color","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/color.html","searchKeys":["color","val color: Color? = null","org.icpclive.api.tunning.ProblemInfoOverride.color"]},{"name":"val contestId: Int","description":"org.icpclive.cds.settings.CFSettings.contestId","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-f-settings/contest-id.html","searchKeys":["contestId","val contestId: Int","org.icpclive.cds.settings.CFSettings.contestId"]},{"name":"val contestId: Int","description":"org.icpclive.cds.settings.YandexSettings.contestId","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/contest-id.html","searchKeys":["contestId","val contestId: Int","org.icpclive.cds.settings.YandexSettings.contestId"]},{"name":"val contestId: String","description":"org.icpclive.cds.settings.CodeDrillsSettings.contestId","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-code-drills-settings/contest-id.html","searchKeys":["contestId","val contestId: String","org.icpclive.cds.settings.CodeDrillsSettings.contestId"]},{"name":"val contestLength: Duration","description":"org.icpclive.api.ContestInfo.contestLength","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/contest-length.html","searchKeys":["contestLength","val contestLength: Duration","org.icpclive.api.ContestInfo.contestLength"]},{"name":"val contestSystemId: String","description":"org.icpclive.api.ProblemInfo.contestSystemId","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/contest-system-id.html","searchKeys":["contestSystemId","val contestSystemId: String","org.icpclive.api.ProblemInfo.contestSystemId"]},{"name":"val contestSystemId: String","description":"org.icpclive.api.TeamInfo.contestSystemId","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/contest-system-id.html","searchKeys":["contestSystemId","val contestSystemId: String","org.icpclive.api.TeamInfo.contestSystemId"]},{"name":"val contestUrl: String","description":"org.icpclive.cds.settings.KRSUSettings.contestUrl","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-k-r-s-u-settings/contest-url.html","searchKeys":["contestUrl","val contestUrl: String","org.icpclive.cds.settings.KRSUSettings.contestUrl"]},{"name":"val count: Int","description":"org.icpclive.api.MedalType.count","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-medal-type/count.html","searchKeys":["count","val count: Int","org.icpclive.api.MedalType.count"]},{"name":"val credential: String?","description":"org.icpclive.api.MediaType.WebRTCGrabberConnection.credential","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/credential.html","searchKeys":["credential","val credential: String?","org.icpclive.api.MediaType.WebRTCGrabberConnection.credential"]},{"name":"val currentContestTime: Duration","description":"org.icpclive.api.ContestInfo.currentContestTime","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/current-contest-time.html","searchKeys":["currentContestTime","val currentContestTime: Duration","org.icpclive.api.ContestInfo.currentContestTime"]},{"name":"val difference: Double = 0.0","description":"org.icpclive.api.IOIRunResult.difference","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-run-result/difference.html","searchKeys":["difference","val difference: Double = 0.0","org.icpclive.api.IOIRunResult.difference"]},{"name":"val emulationSpeed: Double = 1.0","description":"org.icpclive.api.ContestInfo.emulationSpeed","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/emulation-speed.html","searchKeys":["emulationSpeed","val emulationSpeed: Double = 1.0","org.icpclive.api.ContestInfo.emulationSpeed"]},{"name":"val event: ContestUpdate","description":"org.icpclive.cds.adapters.ContestEventWithGroupedRuns.event","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/event.html","searchKeys":["event","val event: ContestUpdate","org.icpclive.cds.adapters.ContestEventWithGroupedRuns.event"]},{"name":"val event: ContestUpdate","description":"org.icpclive.cds.adapters.ContestEventWithRunsBefore.event","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-runs-before/event.html","searchKeys":["event","val event: ContestUpdate","org.icpclive.cds.adapters.ContestEventWithRunsBefore.event"]},{"name":"val eventFeedName: String","description":"org.icpclive.cds.settings.ClicsLoaderSettings.eventFeedName","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/event-feed-name.html","searchKeys":["eventFeedName","val eventFeedName: String","org.icpclive.cds.settings.ClicsLoaderSettings.eventFeedName"]},{"name":"val expirationTime: Instant?","description":"org.icpclive.api.AnalyticsCompanionPreset.expirationTime","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-companion-preset/expiration-time.html","searchKeys":["expirationTime","val expirationTime: Instant?","org.icpclive.api.AnalyticsCompanionPreset.expirationTime"]},{"name":"val expirationTime: Instant?","description":"org.icpclive.api.AnalyticsCompanionRun.expirationTime","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-companion-run/expiration-time.html","searchKeys":["expirationTime","val expirationTime: Instant?","org.icpclive.api.AnalyticsCompanionRun.expirationTime"]},{"name":"val featuredRun: AnalyticsCompanionRun? = null","description":"org.icpclive.api.AnalyticsCommentaryEvent.featuredRun","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/featured-run.html","searchKeys":["featuredRun","val featuredRun: AnalyticsCompanionRun? = null","org.icpclive.api.AnalyticsCommentaryEvent.featuredRun"]},{"name":"val featuredRunMedia: MediaType? = null","description":"org.icpclive.api.RunInfo.featuredRunMedia","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/featured-run-media.html","searchKeys":["featuredRunMedia","val featuredRunMedia: MediaType? = null","org.icpclive.api.RunInfo.featuredRunMedia"]},{"name":"val feedVersion: FeedVersion","description":"org.icpclive.cds.settings.ClicsLoaderSettings.feedVersion","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/feed-version.html","searchKeys":["feedVersion","val feedVersion: FeedVersion","org.icpclive.cds.settings.ClicsLoaderSettings.feedVersion"]},{"name":"val freezeTime: Duration","description":"org.icpclive.api.ContestInfo.freezeTime","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/freeze-time.html","searchKeys":["freezeTime","val freezeTime: Duration","org.icpclive.api.ContestInfo.freezeTime"]},{"name":"val freezeTime: Duration? = null","description":"org.icpclive.api.tunning.AdvancedProperties.freezeTime","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/freeze-time.html","searchKeys":["freezeTime","val freezeTime: Duration? = null","org.icpclive.api.tunning.AdvancedProperties.freezeTime"]},{"name":"val groupOverrides: Map? = null","description":"org.icpclive.api.tunning.AdvancedProperties.groupOverrides","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/group-overrides.html","searchKeys":["groupOverrides","val groupOverrides: Map? = null","org.icpclive.api.tunning.AdvancedProperties.groupOverrides"]},{"name":"val groups: List","description":"org.icpclive.api.ContestInfo.groups","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/groups.html","searchKeys":["groups","val groups: List","org.icpclive.api.ContestInfo.groups"]},{"name":"val groups: List","description":"org.icpclive.api.TeamInfo.groups","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/groups.html","searchKeys":["groups","val groups: List","org.icpclive.api.TeamInfo.groups"]},{"name":"val groups: List? = null","description":"org.icpclive.api.tunning.TeamInfoOverride.groups","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/groups.html","searchKeys":["groups","val groups: List? = null","org.icpclive.api.tunning.TeamInfoOverride.groups"]},{"name":"val hashTag: String?","description":"org.icpclive.api.TeamInfo.hashTag","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/hash-tag.html","searchKeys":["hashTag","val hashTag: String?","org.icpclive.api.TeamInfo.hashTag"]},{"name":"val hashTag: String? = null","description":"org.icpclive.api.tunning.TeamInfoOverride.hashTag","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/hash-tag.html","searchKeys":["hashTag","val hashTag: String? = null","org.icpclive.api.tunning.TeamInfoOverride.hashTag"]},{"name":"val holdBeforeStartTime: Duration? = null","description":"org.icpclive.api.ContestInfo.holdBeforeStartTime","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/hold-before-start-time.html","searchKeys":["holdBeforeStartTime","val holdBeforeStartTime: Duration? = null","org.icpclive.api.ContestInfo.holdBeforeStartTime"]},{"name":"val holdTime: Duration? = null","description":"org.icpclive.api.tunning.AdvancedProperties.holdTime","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/hold-time.html","searchKeys":["holdTime","val holdTime: Duration? = null","org.icpclive.api.tunning.AdvancedProperties.holdTime"]},{"name":"val id: Int","description":"org.icpclive.api.ProblemInfo.id","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/id.html","searchKeys":["id","val id: Int","org.icpclive.api.ProblemInfo.id"]},{"name":"val id: Int","description":"org.icpclive.api.RunInfo.id","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/id.html","searchKeys":["id","val id: Int","org.icpclive.api.RunInfo.id"]},{"name":"val id: Int","description":"org.icpclive.api.TeamInfo.id","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/id.html","searchKeys":["id","val id: Int","org.icpclive.api.TeamInfo.id"]},{"name":"val info: ContestInfo?","description":"org.icpclive.cds.adapters.ContestStateWithGroupedRuns.info","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-state-with-grouped-runs/info.html","searchKeys":["info","val info: ContestInfo?","org.icpclive.cds.adapters.ContestStateWithGroupedRuns.info"]},{"name":"val info: ContestInfo?","description":"org.icpclive.cds.adapters.ContestStateWithRunsByTeam.info","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-state-with-runs-by-team/info.html","searchKeys":["info","val info: ContestInfo?","org.icpclive.cds.adapters.ContestStateWithRunsByTeam.info"]},{"name":"val infoAfterEvent: ContestInfo?","description":"org.icpclive.cds.adapters.ContestEventWithGroupedRuns.infoAfterEvent","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/info-after-event.html","searchKeys":["infoAfterEvent","val infoAfterEvent: ContestInfo?","org.icpclive.cds.adapters.ContestEventWithGroupedRuns.infoAfterEvent"]},{"name":"val infoAfterEvent: ContestInfo?","description":"org.icpclive.cds.adapters.ContestEventWithRunsBefore.infoAfterEvent","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-runs-before/info-after-event.html","searchKeys":["infoAfterEvent","val infoAfterEvent: ContestInfo?","org.icpclive.cds.adapters.ContestEventWithRunsBefore.infoAfterEvent"]},{"name":"val infoBeforeEvent: ContestInfo?","description":"org.icpclive.cds.adapters.ContestEventWithGroupedRuns.infoBeforeEvent","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/info-before-event.html","searchKeys":["infoBeforeEvent","val infoBeforeEvent: ContestInfo?","org.icpclive.cds.adapters.ContestEventWithGroupedRuns.infoBeforeEvent"]},{"name":"val infoBeforeEvent: ContestInfo?","description":"org.icpclive.cds.adapters.ContestEventWithRunsBefore.infoBeforeEvent","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-runs-before/info-before-event.html","searchKeys":["infoBeforeEvent","val infoBeforeEvent: ContestInfo?","org.icpclive.cds.adapters.ContestEventWithRunsBefore.infoBeforeEvent"]},{"name":"val isAccepted: Boolean","description":"org.icpclive.api.Verdict.isAccepted","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/is-accepted.html","searchKeys":["isAccepted","val isAccepted: Boolean","org.icpclive.api.Verdict.isAccepted"]},{"name":"val isAddingPenalty: Boolean","description":"org.icpclive.api.Verdict.isAddingPenalty","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/is-adding-penalty.html","searchKeys":["isAddingPenalty","val isAddingPenalty: Boolean","org.icpclive.api.Verdict.isAddingPenalty"]},{"name":"val isFirstBest: Boolean","description":"org.icpclive.api.IOIProblemResult.isFirstBest","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-problem-result/is-first-best.html","searchKeys":["isFirstBest","val isFirstBest: Boolean","org.icpclive.api.IOIProblemResult.isFirstBest"]},{"name":"val isFirstBestRun: Boolean = false","description":"org.icpclive.api.IOIRunResult.isFirstBestRun","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-run-result/is-first-best-run.html","searchKeys":["isFirstBestRun","val isFirstBestRun: Boolean = false","org.icpclive.api.IOIRunResult.isFirstBestRun"]},{"name":"val isFirstBestTeamRun: Boolean = false","description":"org.icpclive.api.IOIRunResult.isFirstBestTeamRun","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-run-result/is-first-best-team-run.html","searchKeys":["isFirstBestTeamRun","val isFirstBestTeamRun: Boolean = false","org.icpclive.api.IOIRunResult.isFirstBestTeamRun"]},{"name":"val isFirstToSolve: Boolean","description":"org.icpclive.api.ICPCProblemResult.isFirstToSolve","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-problem-result/is-first-to-solve.html","searchKeys":["isFirstToSolve","val isFirstToSolve: Boolean","org.icpclive.api.ICPCProblemResult.isFirstToSolve"]},{"name":"val isFirstToSolveRun: Boolean","description":"org.icpclive.api.ICPCRunResult.isFirstToSolveRun","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-run-result/is-first-to-solve-run.html","searchKeys":["isFirstToSolveRun","val isFirstToSolveRun: Boolean","org.icpclive.api.ICPCRunResult.isFirstToSolveRun"]},{"name":"val isHidden: Boolean = false","description":"org.icpclive.api.GroupInfo.isHidden","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-group-info/is-hidden.html","searchKeys":["isHidden","val isHidden: Boolean = false","org.icpclive.api.GroupInfo.isHidden"]},{"name":"val isHidden: Boolean = false","description":"org.icpclive.api.RunInfo.isHidden","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/is-hidden.html","searchKeys":["isHidden","val isHidden: Boolean = false","org.icpclive.api.RunInfo.isHidden"]},{"name":"val isHidden: Boolean = false","description":"org.icpclive.api.TeamInfo.isHidden","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/is-hidden.html","searchKeys":["isHidden","val isHidden: Boolean = false","org.icpclive.api.TeamInfo.isHidden"]},{"name":"val isHidden: Boolean? = null","description":"org.icpclive.api.tunning.GroupInfoOverride.isHidden","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-group-info-override/is-hidden.html","searchKeys":["isHidden","val isHidden: Boolean? = null","org.icpclive.api.tunning.GroupInfoOverride.isHidden"]},{"name":"val isHidden: Boolean? = null","description":"org.icpclive.api.tunning.TeamInfoOverride.isHidden","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/is-hidden.html","searchKeys":["isHidden","val isHidden: Boolean? = null","org.icpclive.api.tunning.TeamInfoOverride.isHidden"]},{"name":"val isOutOfContest: Boolean = false","description":"org.icpclive.api.GroupInfo.isOutOfContest","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-group-info/is-out-of-contest.html","searchKeys":["isOutOfContest","val isOutOfContest: Boolean = false","org.icpclive.api.GroupInfo.isOutOfContest"]},{"name":"val isOutOfContest: Boolean = false","description":"org.icpclive.api.TeamInfo.isOutOfContest","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/is-out-of-contest.html","searchKeys":["isOutOfContest","val isOutOfContest: Boolean = false","org.icpclive.api.TeamInfo.isOutOfContest"]},{"name":"val isOutOfContest: Boolean? = null","description":"org.icpclive.api.tunning.GroupInfoOverride.isOutOfContest","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-group-info-override/is-out-of-contest.html","searchKeys":["isOutOfContest","val isOutOfContest: Boolean? = null","org.icpclive.api.tunning.GroupInfoOverride.isOutOfContest"]},{"name":"val isOutOfContest: Boolean? = null","description":"org.icpclive.api.tunning.TeamInfoOverride.isOutOfContest","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/is-out-of-contest.html","searchKeys":["isOutOfContest","val isOutOfContest: Boolean? = null","org.icpclive.api.tunning.TeamInfoOverride.isOutOfContest"]},{"name":"val isSolved: Boolean","description":"org.icpclive.api.ICPCProblemResult.isSolved","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-problem-result/is-solved.html","searchKeys":["isSolved","val isSolved: Boolean","org.icpclive.api.ICPCProblemResult.isSolved"]},{"name":"val lastAccepted: Long","description":"org.icpclive.api.ScoreboardRow.lastAccepted","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/last-accepted.html","searchKeys":["lastAccepted","val lastAccepted: Long","org.icpclive.api.ScoreboardRow.lastAccepted"]},{"name":"val lastSubmitTime: Duration?","description":"org.icpclive.api.ICPCProblemResult.lastSubmitTime","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-problem-result/last-submit-time.html","searchKeys":["lastSubmitTime","val lastSubmitTime: Duration?","org.icpclive.api.ICPCProblemResult.lastSubmitTime"]},{"name":"val lastSubmitTime: Duration?","description":"org.icpclive.api.IOIProblemResult.lastSubmitTime","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-problem-result/last-submit-time.html","searchKeys":["lastSubmitTime","val lastSubmitTime: Duration?","org.icpclive.api.IOIProblemResult.lastSubmitTime"]},{"name":"val letter: String","description":"org.icpclive.api.ProblemInfo.letter","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/letter.html","searchKeys":["letter","val letter: String","org.icpclive.api.ProblemInfo.letter"]},{"name":"val logger: Logger","description":"org.icpclive.api.ProblemInfo.Companion.logger","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/-companion/logger.html","searchKeys":["logger","val logger: Logger","org.icpclive.api.ProblemInfo.Companion.logger"]},{"name":"val login: Credential","description":"org.icpclive.cds.settings.CatsSettings.login","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/login.html","searchKeys":["login","val login: Credential","org.icpclive.cds.settings.CatsSettings.login"]},{"name":"val login: Credential? = null","description":"org.icpclive.cds.settings.ClicsLoaderSettings.login","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/login.html","searchKeys":["login","val login: Credential? = null","org.icpclive.cds.settings.ClicsLoaderSettings.login"]},{"name":"val login: Credential? = null","description":"org.icpclive.cds.settings.PCMSSettings.login","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/login.html","searchKeys":["login","val login: Credential? = null","org.icpclive.cds.settings.PCMSSettings.login"]},{"name":"val loginRegex: String","description":"org.icpclive.cds.settings.YandexSettings.loginRegex","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/login-regex.html","searchKeys":["loginRegex","val loginRegex: String","org.icpclive.cds.settings.YandexSettings.loginRegex"]},{"name":"val mainFeed: ClicsLoaderSettings","description":"org.icpclive.cds.settings.ClicsSettings.mainFeed","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/main-feed.html","searchKeys":["mainFeed","val mainFeed: ClicsLoaderSettings","org.icpclive.cds.settings.ClicsSettings.mainFeed"]},{"name":"val maxScore: Double? = null","description":"org.icpclive.api.ProblemInfo.maxScore","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/max-score.html","searchKeys":["maxScore","val maxScore: Double? = null","org.icpclive.api.ProblemInfo.maxScore"]},{"name":"val maxScore: Double? = null","description":"org.icpclive.api.tunning.ProblemInfoOverride.maxScore","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/max-score.html","searchKeys":["maxScore","val maxScore: Double? = null","org.icpclive.api.tunning.ProblemInfoOverride.maxScore"]},{"name":"val medalType: String?","description":"org.icpclive.api.ScoreboardRow.medalType","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/medal-type.html","searchKeys":["medalType","val medalType: String?","org.icpclive.api.ScoreboardRow.medalType"]},{"name":"val medals: List","description":"org.icpclive.api.ContestInfo.medals","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/medals.html","searchKeys":["medals","val medals: List","org.icpclive.api.ContestInfo.medals"]},{"name":"val medals: List? = null","description":"org.icpclive.api.tunning.RankingSettings.medals","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-ranking-settings/medals.html","searchKeys":["medals","val medals: List? = null","org.icpclive.api.tunning.RankingSettings.medals"]},{"name":"val mediaBaseUrl: String","description":"org.icpclive.cds.settings.ClicsSettings.mediaBaseUrl","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/media-base-url.html","searchKeys":["mediaBaseUrl","val mediaBaseUrl: String","org.icpclive.cds.settings.ClicsSettings.mediaBaseUrl"]},{"name":"val mediaType: MediaType","description":"org.icpclive.api.AnalyticsCompanionRun.mediaType","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-companion-run/media-type.html","searchKeys":["mediaType","val mediaType: MediaType","org.icpclive.api.AnalyticsCompanionRun.mediaType"]},{"name":"val medias: Map","description":"org.icpclive.api.TeamInfo.medias","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/medias.html","searchKeys":["medias","val medias: Map","org.icpclive.api.TeamInfo.medias"]},{"name":"val medias: Map? = null","description":"org.icpclive.api.tunning.TeamInfoOverride.medias","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/medias.html","searchKeys":["medias","val medias: Map? = null","org.icpclive.api.tunning.TeamInfoOverride.medias"]},{"name":"val message: AnalyticsMessage","description":"org.icpclive.cds.AnalyticsUpdate.message","location":"-i-c-p-c-live contest data parser/org.icpclive.cds/-analytics-update/message.html","searchKeys":["message","val message: AnalyticsMessage","org.icpclive.cds.AnalyticsUpdate.message"]},{"name":"val message: String","description":"org.icpclive.api.AnalyticsCommentaryEvent.message","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/message.html","searchKeys":["message","val message: String","org.icpclive.api.AnalyticsCommentaryEvent.message"]},{"name":"val minScore: Double","description":"org.icpclive.api.MedalType.minScore","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-medal-type/min-score.html","searchKeys":["minScore","val minScore: Double","org.icpclive.api.MedalType.minScore"]},{"name":"val minScore: Double? = null","description":"org.icpclive.api.ProblemInfo.minScore","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/min-score.html","searchKeys":["minScore","val minScore: Double? = null","org.icpclive.api.ProblemInfo.minScore"]},{"name":"val minScore: Double? = null","description":"org.icpclive.api.tunning.ProblemInfoOverride.minScore","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/min-score.html","searchKeys":["minScore","val minScore: Double? = null","org.icpclive.api.tunning.ProblemInfoOverride.minScore"]},{"name":"val name: String","description":"org.icpclive.api.ContestInfo.name","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/name.html","searchKeys":["name","val name: String","org.icpclive.api.ContestInfo.name"]},{"name":"val name: String","description":"org.icpclive.api.GroupInfo.name","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-group-info/name.html","searchKeys":["name","val name: String","org.icpclive.api.GroupInfo.name"]},{"name":"val name: String","description":"org.icpclive.api.MedalType.name","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-medal-type/name.html","searchKeys":["name","val name: String","org.icpclive.api.MedalType.name"]},{"name":"val name: String","description":"org.icpclive.api.ProblemInfo.name","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/name.html","searchKeys":["name","val name: String","org.icpclive.api.ProblemInfo.name"]},{"name":"val name: String","description":"org.icpclive.api.TeamInfo.name","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/name.html","searchKeys":["name","val name: String","org.icpclive.api.TeamInfo.name"]},{"name":"val name: String? = null","description":"org.icpclive.api.tunning.ProblemInfoOverride.name","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/name.html","searchKeys":["name","val name: String? = null","org.icpclive.api.tunning.ProblemInfoOverride.name"]},{"name":"val name: String? = null","description":"org.icpclive.api.tunning.TeamInfoOverride.name","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/name.html","searchKeys":["name","val name: String? = null","org.icpclive.api.tunning.TeamInfoOverride.name"]},{"name":"val newInfo: ContestInfo","description":"org.icpclive.cds.InfoUpdate.newInfo","location":"-i-c-p-c-live contest data parser/org.icpclive.cds/-info-update/new-info.html","searchKeys":["newInfo","val newInfo: ContestInfo","org.icpclive.cds.InfoUpdate.newInfo"]},{"name":"val newInfo: RunInfo","description":"org.icpclive.cds.RunUpdate.newInfo","location":"-i-c-p-c-live contest data parser/org.icpclive.cds/-run-update/new-info.html","searchKeys":["newInfo","val newInfo: RunInfo","org.icpclive.cds.RunUpdate.newInfo"]},{"name":"val ordinal: Int","description":"org.icpclive.api.ProblemInfo.ordinal","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/ordinal.html","searchKeys":["ordinal","val ordinal: Int","org.icpclive.api.ProblemInfo.ordinal"]},{"name":"val password: Credential","description":"org.icpclive.cds.settings.CatsSettings.password","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/password.html","searchKeys":["password","val password: Credential","org.icpclive.cds.settings.CatsSettings.password"]},{"name":"val password: Credential? = null","description":"org.icpclive.cds.settings.ClicsLoaderSettings.password","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/password.html","searchKeys":["password","val password: Credential? = null","org.icpclive.cds.settings.ClicsLoaderSettings.password"]},{"name":"val password: Credential? = null","description":"org.icpclive.cds.settings.PCMSSettings.password","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/password.html","searchKeys":["password","val password: Credential? = null","org.icpclive.cds.settings.PCMSSettings.password"]},{"name":"val peerName: String","description":"org.icpclive.api.MediaType.WebRTCGrabberConnection.peerName","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/peer-name.html","searchKeys":["peerName","val peerName: String","org.icpclive.api.MediaType.WebRTCGrabberConnection.peerName"]},{"name":"val penalty: Duration","description":"org.icpclive.api.ScoreboardRow.penalty","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/penalty.html","searchKeys":["penalty","val penalty: Duration","org.icpclive.api.ScoreboardRow.penalty"]},{"name":"val penaltyPerWrongAttempt: Duration","description":"org.icpclive.api.ContestInfo.penaltyPerWrongAttempt","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/penalty-per-wrong-attempt.html","searchKeys":["penaltyPerWrongAttempt","val penaltyPerWrongAttempt: Duration","org.icpclive.api.ContestInfo.penaltyPerWrongAttempt"]},{"name":"val penaltyPerWrongAttempt: Duration? = null","description":"org.icpclive.api.tunning.RankingSettings.penaltyPerWrongAttempt","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-ranking-settings/penalty-per-wrong-attempt.html","searchKeys":["penaltyPerWrongAttempt","val penaltyPerWrongAttempt: Duration? = null","org.icpclive.api.tunning.RankingSettings.penaltyPerWrongAttempt"]},{"name":"val penaltyRoundingMode: PenaltyRoundingMode","description":"org.icpclive.api.ContestInfo.penaltyRoundingMode","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/penalty-rounding-mode.html","searchKeys":["penaltyRoundingMode","val penaltyRoundingMode: PenaltyRoundingMode","org.icpclive.api.ContestInfo.penaltyRoundingMode"]},{"name":"val penaltyRoundingMode: PenaltyRoundingMode? = null","description":"org.icpclive.api.tunning.RankingSettings.penaltyRoundingMode","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-ranking-settings/penalty-rounding-mode.html","searchKeys":["penaltyRoundingMode","val penaltyRoundingMode: PenaltyRoundingMode? = null","org.icpclive.api.tunning.RankingSettings.penaltyRoundingMode"]},{"name":"val pendingAttempts: Int","description":"org.icpclive.api.ICPCProblemResult.pendingAttempts","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-problem-result/pending-attempts.html","searchKeys":["pendingAttempts","val pendingAttempts: Int","org.icpclive.api.ICPCProblemResult.pendingAttempts"]},{"name":"val percentage: Double","description":"org.icpclive.api.RunInfo.percentage","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/percentage.html","searchKeys":["percentage","val percentage: Double","org.icpclive.api.RunInfo.percentage"]},{"name":"val port: Int","description":"org.icpclive.cds.settings.CodeDrillsSettings.port","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-code-drills-settings/port.html","searchKeys":["port","val port: Int","org.icpclive.cds.settings.CodeDrillsSettings.port"]},{"name":"val presetId: Int","description":"org.icpclive.api.AnalyticsCompanionPreset.presetId","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-companion-preset/preset-id.html","searchKeys":["presetId","val presetId: Int","org.icpclive.api.AnalyticsCompanionPreset.presetId"]},{"name":"val priority: Int = 0","description":"org.icpclive.api.AnalyticsCommentaryEvent.priority","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/priority.html","searchKeys":["priority","val priority: Int = 0","org.icpclive.api.AnalyticsCommentaryEvent.priority"]},{"name":"val problemId: Int","description":"org.icpclive.api.RunInfo.problemId","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/problem-id.html","searchKeys":["problemId","val problemId: Int","org.icpclive.api.RunInfo.problemId"]},{"name":"val problemOverrides: Map? = null","description":"org.icpclive.api.tunning.AdvancedProperties.problemOverrides","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/problem-overrides.html","searchKeys":["problemOverrides","val problemOverrides: Map? = null","org.icpclive.api.tunning.AdvancedProperties.problemOverrides"]},{"name":"val problemResults: List","description":"org.icpclive.api.ScoreboardRow.problemResults","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/problem-results.html","searchKeys":["problemResults","val problemResults: List","org.icpclive.api.ScoreboardRow.problemResults"]},{"name":"val problems: List","description":"org.icpclive.api.ContestInfo.problems","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/problems.html","searchKeys":["problems","val problems: List","org.icpclive.api.ContestInfo.problems"]},{"name":"val problemsUrl: String? = null","description":"org.icpclive.cds.settings.PCMSSettings.problemsUrl","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/problems-url.html","searchKeys":["problemsUrl","val problemsUrl: String? = null","org.icpclive.cds.settings.PCMSSettings.problemsUrl"]},{"name":"val rank: Int","description":"org.icpclive.api.ScoreboardRow.rank","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/rank.html","searchKeys":["rank","val rank: Int","org.icpclive.api.ScoreboardRow.rank"]},{"name":"val reactionVideos: List","description":"org.icpclive.api.RunInfo.reactionVideos","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/reaction-videos.html","searchKeys":["reactionVideos","val reactionVideos: List","org.icpclive.api.RunInfo.reactionVideos"]},{"name":"val result: RunResult?","description":"org.icpclive.api.RunInfo.result","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/result.html","searchKeys":["result","val result: RunResult?","org.icpclive.api.RunInfo.result"]},{"name":"val resultType: ContestResultType","description":"org.icpclive.api.ContestInfo.resultType","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/result-type.html","searchKeys":["resultType","val resultType: ContestResultType","org.icpclive.api.ContestInfo.resultType"]},{"name":"val resultType: ContestResultType","description":"org.icpclive.cds.settings.CatsSettings.resultType","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/result-type.html","searchKeys":["resultType","val resultType: ContestResultType","org.icpclive.cds.settings.CatsSettings.resultType"]},{"name":"val resultType: ContestResultType","description":"org.icpclive.cds.settings.EjudgeSettings.resultType","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/result-type.html","searchKeys":["resultType","val resultType: ContestResultType","org.icpclive.cds.settings.EjudgeSettings.resultType"]},{"name":"val resultType: ContestResultType","description":"org.icpclive.cds.settings.PCMSSettings.resultType","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/result-type.html","searchKeys":["resultType","val resultType: ContestResultType","org.icpclive.cds.settings.PCMSSettings.resultType"]},{"name":"val resultType: ContestResultType","description":"org.icpclive.cds.settings.YandexSettings.resultType","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/result-type.html","searchKeys":["resultType","val resultType: ContestResultType","org.icpclive.cds.settings.YandexSettings.resultType"]},{"name":"val rows: List","description":"org.icpclive.api.Scoreboard.rows","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard/rows.html","searchKeys":["rows","val rows: List","org.icpclive.api.Scoreboard.rows"]},{"name":"val runIds: List","description":"org.icpclive.api.AnalyticsCommentaryEvent.runIds","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/run-ids.html","searchKeys":["runIds","val runIds: List","org.icpclive.api.AnalyticsCommentaryEvent.runIds"]},{"name":"val runs: PersistentMap>","description":"org.icpclive.cds.adapters.ContestStateWithRunsByTeam.runs","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-state-with-runs-by-team/runs.html","searchKeys":["runs","val runs: PersistentMap>","org.icpclive.cds.adapters.ContestStateWithRunsByTeam.runs"]},{"name":"val runs: PersistentMap","description":"org.icpclive.cds.adapters.ContestEventWithRunsBefore.runs","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-runs-before/runs.html","searchKeys":["runs","val runs: PersistentMap","org.icpclive.cds.adapters.ContestEventWithRunsBefore.runs"]},{"name":"val runs: PersistentMap>","description":"org.icpclive.cds.adapters.ContestEventWithGroupedRuns.runs","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/runs.html","searchKeys":["runs","val runs: PersistentMap>","org.icpclive.cds.adapters.ContestEventWithGroupedRuns.runs"]},{"name":"val runs: PersistentMap>","description":"org.icpclive.cds.adapters.ContestStateWithGroupedRuns.runs","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-state-with-grouped-runs/runs.html","searchKeys":["runs","val runs: PersistentMap>","org.icpclive.cds.adapters.ContestStateWithGroupedRuns.runs"]},{"name":"val score: Double?","description":"org.icpclive.api.IOIProblemResult.score","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-problem-result/score.html","searchKeys":["score","val score: Double?","org.icpclive.api.IOIProblemResult.score"]},{"name":"val score: List","description":"org.icpclive.api.IOIRunResult.score","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-run-result/score.html","searchKeys":["score","val score: List","org.icpclive.api.IOIRunResult.score"]},{"name":"val scoreAfter: Double = 0.0","description":"org.icpclive.api.IOIRunResult.scoreAfter","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-run-result/score-after.html","searchKeys":["scoreAfter","val scoreAfter: Double = 0.0","org.icpclive.api.IOIRunResult.scoreAfter"]},{"name":"val scoreMergeMode: ScoreMergeMode? = null","description":"org.icpclive.api.ProblemInfo.scoreMergeMode","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/score-merge-mode.html","searchKeys":["scoreMergeMode","val scoreMergeMode: ScoreMergeMode? = null","org.icpclive.api.ProblemInfo.scoreMergeMode"]},{"name":"val scoreMergeMode: ScoreMergeMode? = null","description":"org.icpclive.api.tunning.ProblemInfoOverride.scoreMergeMode","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/score-merge-mode.html","searchKeys":["scoreMergeMode","val scoreMergeMode: ScoreMergeMode? = null","org.icpclive.api.tunning.ProblemInfoOverride.scoreMergeMode"]},{"name":"val scoreboardOverrides: RankingSettings? = null","description":"org.icpclive.api.tunning.AdvancedProperties.scoreboardOverrides","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/scoreboard-overrides.html","searchKeys":["scoreboardOverrides","val scoreboardOverrides: RankingSettings? = null","org.icpclive.api.tunning.AdvancedProperties.scoreboardOverrides"]},{"name":"val shortName: String","description":"org.icpclive.api.TeamInfo.shortName","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/short-name.html","searchKeys":["shortName","val shortName: String","org.icpclive.api.TeamInfo.shortName"]},{"name":"val shortName: String","description":"org.icpclive.api.Verdict.shortName","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/short-name.html","searchKeys":["shortName","val shortName: String","org.icpclive.api.Verdict.shortName"]},{"name":"val shortname: String? = null","description":"org.icpclive.api.tunning.TeamInfoOverride.shortname","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/shortname.html","searchKeys":["shortname","val shortname: String? = null","org.icpclive.api.tunning.TeamInfoOverride.shortname"]},{"name":"val showTeamsWithoutSubmissions: Boolean? = null","description":"org.icpclive.api.tunning.RankingSettings.showTeamsWithoutSubmissions","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-ranking-settings/show-teams-without-submissions.html","searchKeys":["showTeamsWithoutSubmissions","val showTeamsWithoutSubmissions: Boolean? = null","org.icpclive.api.tunning.RankingSettings.showTeamsWithoutSubmissions"]},{"name":"val speed: Double","description":"org.icpclive.cds.settings.EmulationSettings.speed","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-emulation-settings/speed.html","searchKeys":["speed","val speed: Double","org.icpclive.cds.settings.EmulationSettings.speed"]},{"name":"val startTime: Instant","description":"org.icpclive.api.ContestInfo.startTime","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/start-time.html","searchKeys":["startTime","val startTime: Instant","org.icpclive.api.ContestInfo.startTime"]},{"name":"val startTime: Instant","description":"org.icpclive.cds.settings.EmulationSettings.startTime","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-emulation-settings/start-time.html","searchKeys":["startTime","val startTime: Instant","org.icpclive.cds.settings.EmulationSettings.startTime"]},{"name":"val startTime: Instant? = null","description":"org.icpclive.api.tunning.AdvancedProperties.startTime","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/start-time.html","searchKeys":["startTime","val startTime: Instant? = null","org.icpclive.api.tunning.AdvancedProperties.startTime"]},{"name":"val status: ContestStatus","description":"org.icpclive.api.ContestInfo.status","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/status.html","searchKeys":["status","val status: ContestStatus","org.icpclive.api.ContestInfo.status"]},{"name":"val streamType: String","description":"org.icpclive.api.MediaType.WebRTCGrabberConnection.streamType","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/stream-type.html","searchKeys":["streamType","val streamType: String","org.icpclive.api.MediaType.WebRTCGrabberConnection.streamType"]},{"name":"val submissionsUrl: String","description":"org.icpclive.cds.settings.KRSUSettings.submissionsUrl","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-k-r-s-u-settings/submissions-url.html","searchKeys":["submissionsUrl","val submissionsUrl: String","org.icpclive.cds.settings.KRSUSettings.submissionsUrl"]},{"name":"val tags: List","description":"org.icpclive.api.AnalyticsCommentaryEvent.tags","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/tags.html","searchKeys":["tags","val tags: List","org.icpclive.api.AnalyticsCommentaryEvent.tags"]},{"name":"val teamGroups: List","description":"org.icpclive.api.ScoreboardRow.teamGroups","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/team-groups.html","searchKeys":["teamGroups","val teamGroups: List","org.icpclive.api.ScoreboardRow.teamGroups"]},{"name":"val teamId: Int","description":"org.icpclive.api.MediaType.TaskStatus.teamId","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-task-status/team-id.html","searchKeys":["teamId","val teamId: Int","org.icpclive.api.MediaType.TaskStatus.teamId"]},{"name":"val teamId: Int","description":"org.icpclive.api.RunInfo.teamId","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/team-id.html","searchKeys":["teamId","val teamId: Int","org.icpclive.api.RunInfo.teamId"]},{"name":"val teamId: Int","description":"org.icpclive.api.ScoreboardRow.teamId","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/team-id.html","searchKeys":["teamId","val teamId: Int","org.icpclive.api.ScoreboardRow.teamId"]},{"name":"val teamIds: List","description":"org.icpclive.api.AnalyticsCommentaryEvent.teamIds","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/team-ids.html","searchKeys":["teamIds","val teamIds: List","org.icpclive.api.AnalyticsCommentaryEvent.teamIds"]},{"name":"val teamMediaTemplate: Map? = null","description":"org.icpclive.api.tunning.AdvancedProperties.teamMediaTemplate","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/team-media-template.html","searchKeys":["teamMediaTemplate","val teamMediaTemplate: Map? = null","org.icpclive.api.tunning.AdvancedProperties.teamMediaTemplate"]},{"name":"val teamOverrides: Map? = null","description":"org.icpclive.api.tunning.AdvancedProperties.teamOverrides","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/team-overrides.html","searchKeys":["teamOverrides","val teamOverrides: Map? = null","org.icpclive.api.tunning.AdvancedProperties.teamOverrides"]},{"name":"val teams: List","description":"org.icpclive.api.ContestInfo.teams","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/teams.html","searchKeys":["teams","val teams: List","org.icpclive.api.ContestInfo.teams"]},{"name":"val tickerMessage: AnalyticsCompanionPreset? = null","description":"org.icpclive.api.AnalyticsCommentaryEvent.tickerMessage","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/ticker-message.html","searchKeys":["tickerMessage","val tickerMessage: AnalyticsCompanionPreset? = null","org.icpclive.api.AnalyticsCommentaryEvent.tickerMessage"]},{"name":"val tiebreakMode: MedalTiebreakMode","description":"org.icpclive.api.MedalType.tiebreakMode","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-medal-type/tiebreak-mode.html","searchKeys":["tiebreakMode","val tiebreakMode: MedalTiebreakMode","org.icpclive.api.MedalType.tiebreakMode"]},{"name":"val time: Duration","description":"org.icpclive.api.RunInfo.time","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/time.html","searchKeys":["time","val time: Duration","org.icpclive.api.RunInfo.time"]},{"name":"val timeZone: TimeZone","description":"org.icpclive.cds.settings.CatsSettings.timeZone","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/time-zone.html","searchKeys":["timeZone","val timeZone: TimeZone","org.icpclive.cds.settings.CatsSettings.timeZone"]},{"name":"val timeZone: TimeZone","description":"org.icpclive.cds.settings.KRSUSettings.timeZone","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-k-r-s-u-settings/time-zone.html","searchKeys":["timeZone","val timeZone: TimeZone","org.icpclive.cds.settings.KRSUSettings.timeZone"]},{"name":"val timeZone: TimeZone","description":"org.icpclive.cds.settings.TestSysSettings.timeZone","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-test-sys-settings/time-zone.html","searchKeys":["timeZone","val timeZone: TimeZone","org.icpclive.cds.settings.TestSysSettings.timeZone"]},{"name":"val totalScore: Double","description":"org.icpclive.api.ScoreboardRow.totalScore","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/total-score.html","searchKeys":["totalScore","val totalScore: Double","org.icpclive.api.ScoreboardRow.totalScore"]},{"name":"val url: String","description":"org.icpclive.api.MediaType.Object.url","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-object/url.html","searchKeys":["url","val url: String","org.icpclive.api.MediaType.Object.url"]},{"name":"val url: String","description":"org.icpclive.api.MediaType.Photo.url","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-photo/url.html","searchKeys":["url","val url: String","org.icpclive.api.MediaType.Photo.url"]},{"name":"val url: String","description":"org.icpclive.api.MediaType.Video.url","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-video/url.html","searchKeys":["url","val url: String","org.icpclive.api.MediaType.Video.url"]},{"name":"val url: String","description":"org.icpclive.api.MediaType.WebRTCGrabberConnection.url","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/url.html","searchKeys":["url","val url: String","org.icpclive.api.MediaType.WebRTCGrabberConnection.url"]},{"name":"val url: String","description":"org.icpclive.api.MediaType.WebRTCProxyConnection.url","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/url.html","searchKeys":["url","val url: String","org.icpclive.api.MediaType.WebRTCProxyConnection.url"]},{"name":"val url: String","description":"org.icpclive.cds.settings.CatsSettings.url","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/url.html","searchKeys":["url","val url: String","org.icpclive.cds.settings.CatsSettings.url"]},{"name":"val url: String","description":"org.icpclive.cds.settings.ClicsLoaderSettings.url","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/url.html","searchKeys":["url","val url: String","org.icpclive.cds.settings.ClicsLoaderSettings.url"]},{"name":"val url: String","description":"org.icpclive.cds.settings.CodeDrillsSettings.url","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-code-drills-settings/url.html","searchKeys":["url","val url: String","org.icpclive.cds.settings.CodeDrillsSettings.url"]},{"name":"val url: String","description":"org.icpclive.cds.settings.EjudgeSettings.url","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/url.html","searchKeys":["url","val url: String","org.icpclive.cds.settings.EjudgeSettings.url"]},{"name":"val url: String","description":"org.icpclive.cds.settings.PCMSSettings.url","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/url.html","searchKeys":["url","val url: String","org.icpclive.cds.settings.PCMSSettings.url"]},{"name":"val url: String","description":"org.icpclive.cds.settings.TestSysSettings.url","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-test-sys-settings/url.html","searchKeys":["url","val url: String","org.icpclive.cds.settings.TestSysSettings.url"]},{"name":"val useTeamNames: Boolean = true","description":"org.icpclive.cds.settings.ClicsSettings.useTeamNames","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/use-team-names.html","searchKeys":["useTeamNames","val useTeamNames: Boolean = true","org.icpclive.cds.settings.ClicsSettings.useTeamNames"]},{"name":"val verdict: Verdict","description":"org.icpclive.api.ICPCRunResult.verdict","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-run-result/verdict.html","searchKeys":["verdict","val verdict: Verdict","org.icpclive.api.ICPCRunResult.verdict"]},{"name":"val wrongAttempts: Int","description":"org.icpclive.api.ICPCProblemResult.wrongAttempts","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-problem-result/wrong-attempts.html","searchKeys":["wrongAttempts","val wrongAttempts: Int","org.icpclive.api.ICPCProblemResult.wrongAttempts"]},{"name":"val wrongVerdict: Verdict? = null","description":"org.icpclive.api.IOIRunResult.wrongVerdict","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-run-result/wrong-verdict.html","searchKeys":["wrongVerdict","val wrongVerdict: Verdict? = null","org.icpclive.api.IOIRunResult.wrongVerdict"]},{"name":"value class Credential(raw: String)","description":"org.icpclive.cds.settings.Credential","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-credential/index.html","searchKeys":["Credential","value class Credential(raw: String)","org.icpclive.cds.settings.Credential"]}] +[{"name":"ACHIEVEMENT","description":"org.icpclive.api.TeamMediaType.ACHIEVEMENT","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/-a-c-h-i-e-v-e-m-e-n-t/index.html","searchKeys":["ACHIEVEMENT","ACHIEVEMENT","org.icpclive.api.TeamMediaType.ACHIEVEMENT"]},{"name":"ALL","description":"org.icpclive.api.MedalTiebreakMode.ALL","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-medal-tiebreak-mode/-a-l-l/index.html","searchKeys":["ALL","ALL","org.icpclive.api.MedalTiebreakMode.ALL"]},{"name":"BEFORE","description":"org.icpclive.api.ContestStatus.BEFORE","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-status/-b-e-f-o-r-e/index.html","searchKeys":["BEFORE","BEFORE","org.icpclive.api.ContestStatus.BEFORE"]},{"name":"CAMERA","description":"org.icpclive.api.TeamMediaType.CAMERA","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/-c-a-m-e-r-a/index.html","searchKeys":["CAMERA","CAMERA","org.icpclive.api.TeamMediaType.CAMERA"]},{"name":"EACH_SUBMISSION_DOWN_TO_MINUTE","description":"org.icpclive.api.PenaltyRoundingMode.EACH_SUBMISSION_DOWN_TO_MINUTE","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/-e-a-c-h_-s-u-b-m-i-s-s-i-o-n_-d-o-w-n_-t-o_-m-i-n-u-t-e/index.html","searchKeys":["EACH_SUBMISSION_DOWN_TO_MINUTE","EACH_SUBMISSION_DOWN_TO_MINUTE","org.icpclive.api.PenaltyRoundingMode.EACH_SUBMISSION_DOWN_TO_MINUTE"]},{"name":"ICPC","description":"org.icpclive.api.ContestResultType.ICPC","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-result-type/-i-c-p-c/index.html","searchKeys":["ICPC","ICPC","org.icpclive.api.ContestResultType.ICPC"]},{"name":"IOI","description":"org.icpclive.api.ContestResultType.IOI","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-result-type/-i-o-i/index.html","searchKeys":["IOI","IOI","org.icpclive.api.ContestResultType.IOI"]},{"name":"LAST","description":"org.icpclive.api.PenaltyRoundingMode.LAST","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/-l-a-s-t/index.html","searchKeys":["LAST","LAST","org.icpclive.api.PenaltyRoundingMode.LAST"]},{"name":"LAST","description":"org.icpclive.api.ScoreMergeMode.LAST","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/-l-a-s-t/index.html","searchKeys":["LAST","LAST","org.icpclive.api.ScoreMergeMode.LAST"]},{"name":"LAST_OK","description":"org.icpclive.api.ScoreMergeMode.LAST_OK","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/-l-a-s-t_-o-k/index.html","searchKeys":["LAST_OK","LAST_OK","org.icpclive.api.ScoreMergeMode.LAST_OK"]},{"name":"MAX_PER_GROUP","description":"org.icpclive.api.ScoreMergeMode.MAX_PER_GROUP","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/-m-a-x_-p-e-r_-g-r-o-u-p/index.html","searchKeys":["MAX_PER_GROUP","MAX_PER_GROUP","org.icpclive.api.ScoreMergeMode.MAX_PER_GROUP"]},{"name":"MAX_TOTAL","description":"org.icpclive.api.ScoreMergeMode.MAX_TOTAL","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/-m-a-x_-t-o-t-a-l/index.html","searchKeys":["MAX_TOTAL","MAX_TOTAL","org.icpclive.api.ScoreMergeMode.MAX_TOTAL"]},{"name":"NONE","description":"org.icpclive.api.MedalTiebreakMode.NONE","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-medal-tiebreak-mode/-n-o-n-e/index.html","searchKeys":["NONE","NONE","org.icpclive.api.MedalTiebreakMode.NONE"]},{"name":"NORMAL","description":"org.icpclive.api.OptimismLevel.NORMAL","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-optimism-level/-n-o-r-m-a-l/index.html","searchKeys":["NORMAL","NORMAL","org.icpclive.api.OptimismLevel.NORMAL"]},{"name":"OPTIMISTIC","description":"org.icpclive.api.OptimismLevel.OPTIMISTIC","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-optimism-level/-o-p-t-i-m-i-s-t-i-c/index.html","searchKeys":["OPTIMISTIC","OPTIMISTIC","org.icpclive.api.OptimismLevel.OPTIMISTIC"]},{"name":"OVER","description":"org.icpclive.api.ContestStatus.OVER","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-status/-o-v-e-r/index.html","searchKeys":["OVER","OVER","org.icpclive.api.ContestStatus.OVER"]},{"name":"PESSIMISTIC","description":"org.icpclive.api.OptimismLevel.PESSIMISTIC","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-optimism-level/-p-e-s-s-i-m-i-s-t-i-c/index.html","searchKeys":["PESSIMISTIC","PESSIMISTIC","org.icpclive.api.OptimismLevel.PESSIMISTIC"]},{"name":"PHOTO","description":"org.icpclive.api.TeamMediaType.PHOTO","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/-p-h-o-t-o/index.html","searchKeys":["PHOTO","PHOTO","org.icpclive.api.TeamMediaType.PHOTO"]},{"name":"REACTION_VIDEO","description":"org.icpclive.api.TeamMediaType.REACTION_VIDEO","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/-r-e-a-c-t-i-o-n_-v-i-d-e-o/index.html","searchKeys":["REACTION_VIDEO","REACTION_VIDEO","org.icpclive.api.TeamMediaType.REACTION_VIDEO"]},{"name":"RECORD","description":"org.icpclive.api.TeamMediaType.RECORD","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/-r-e-c-o-r-d/index.html","searchKeys":["RECORD","RECORD","org.icpclive.api.TeamMediaType.RECORD"]},{"name":"RUNNING","description":"org.icpclive.api.ContestStatus.RUNNING","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-status/-r-u-n-n-i-n-g/index.html","searchKeys":["RUNNING","RUNNING","org.icpclive.api.ContestStatus.RUNNING"]},{"name":"SCREEN","description":"org.icpclive.api.TeamMediaType.SCREEN","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/-s-c-r-e-e-n/index.html","searchKeys":["SCREEN","SCREEN","org.icpclive.api.TeamMediaType.SCREEN"]},{"name":"SUM","description":"org.icpclive.api.ScoreMergeMode.SUM","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/-s-u-m/index.html","searchKeys":["SUM","SUM","org.icpclive.api.ScoreMergeMode.SUM"]},{"name":"SUM_DOWN_TO_MINUTE","description":"org.icpclive.api.PenaltyRoundingMode.SUM_DOWN_TO_MINUTE","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/-s-u-m_-d-o-w-n_-t-o_-m-i-n-u-t-e/index.html","searchKeys":["SUM_DOWN_TO_MINUTE","SUM_DOWN_TO_MINUTE","org.icpclive.api.PenaltyRoundingMode.SUM_DOWN_TO_MINUTE"]},{"name":"SUM_IN_SECONDS","description":"org.icpclive.api.PenaltyRoundingMode.SUM_IN_SECONDS","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/-s-u-m_-i-n_-s-e-c-o-n-d-s/index.html","searchKeys":["SUM_IN_SECONDS","SUM_IN_SECONDS","org.icpclive.api.PenaltyRoundingMode.SUM_IN_SECONDS"]},{"name":"ZERO","description":"org.icpclive.api.PenaltyRoundingMode.ZERO","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/-z-e-r-o/index.html","searchKeys":["ZERO","ZERO","org.icpclive.api.PenaltyRoundingMode.ZERO"]},{"name":"abstract fun getScoreboard(info: ContestInfo, runs: Map>): Scoreboard","description":"org.icpclive.scoreboard.ScoreboardCalculator.getScoreboard","location":"-i-c-p-c-live contest data parser/org.icpclive.scoreboard/-scoreboard-calculator/get-scoreboard.html","searchKeys":["getScoreboard","abstract fun getScoreboard(info: ContestInfo, runs: Map>): Scoreboard","org.icpclive.scoreboard.ScoreboardCalculator.getScoreboard"]},{"name":"abstract val emulation: EmulationSettings?","description":"org.icpclive.cds.settings.CDSSettings.emulation","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-d-s-settings/emulation.html","searchKeys":["emulation","abstract val emulation: EmulationSettings?","org.icpclive.cds.settings.CDSSettings.emulation"]},{"name":"abstract val id: String","description":"org.icpclive.api.AnalyticsMessage.id","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-message/id.html","searchKeys":["id","abstract val id: String","org.icpclive.api.AnalyticsMessage.id"]},{"name":"abstract val isMedia: Boolean","description":"org.icpclive.api.MediaType.isMedia","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/is-media.html","searchKeys":["isMedia","abstract val isMedia: Boolean","org.icpclive.api.MediaType.isMedia"]},{"name":"abstract val relativeTime: Duration","description":"org.icpclive.api.AnalyticsMessage.relativeTime","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-message/relative-time.html","searchKeys":["relativeTime","abstract val relativeTime: Duration","org.icpclive.api.AnalyticsMessage.relativeTime"]},{"name":"abstract val time: Instant","description":"org.icpclive.api.AnalyticsMessage.time","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-message/time.html","searchKeys":["time","abstract val time: Instant","org.icpclive.api.AnalyticsMessage.time"]},{"name":"class CFSettings(val contestId: Int, val apiKey: Credential, val apiSecret: Credential, val asManager: Boolean = true, val emulation: EmulationSettings? = null) : CDSSettings","description":"org.icpclive.cds.settings.CFSettings","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-f-settings/index.html","searchKeys":["CFSettings","class CFSettings(val contestId: Int, val apiKey: Credential, val apiSecret: Credential, val asManager: Boolean = true, val emulation: EmulationSettings? = null) : CDSSettings","org.icpclive.cds.settings.CFSettings"]},{"name":"class CatsSettings(val login: Credential, val password: Credential, val url: String, val timeZone: TimeZone = TimeZone.of(\"Asia/Vladivostok\"), val resultType: ContestResultType = ContestResultType.ICPC, val cid: String, val emulation: EmulationSettings? = null) : CDSSettings","description":"org.icpclive.cds.settings.CatsSettings","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/index.html","searchKeys":["CatsSettings","class CatsSettings(val login: Credential, val password: Credential, val url: String, val timeZone: TimeZone = TimeZone.of(\"Asia/Vladivostok\"), val resultType: ContestResultType = ContestResultType.ICPC, val cid: String, val emulation: EmulationSettings? = null) : CDSSettings","org.icpclive.cds.settings.CatsSettings"]},{"name":"class ClicsLoaderSettings(val url: String, val login: Credential? = null, val password: Credential? = null, val eventFeedName: String = \"event-feed\", val feedVersion: FeedVersion = FeedVersion.`2022_07`)","description":"org.icpclive.cds.settings.ClicsLoaderSettings","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/index.html","searchKeys":["ClicsLoaderSettings","class ClicsLoaderSettings(val url: String, val login: Credential? = null, val password: Credential? = null, val eventFeedName: String = \"event-feed\", val feedVersion: FeedVersion = FeedVersion.`2022_07`)","org.icpclive.cds.settings.ClicsLoaderSettings"]},{"name":"class ClicsSettings(url: String, login: Credential? = null, password: Credential? = null, eventFeedName: String = \"event-feed\", feedVersion: FeedVersion = FeedVersion.`2022_07`, val additionalFeed: ClicsLoaderSettings? = null, val useTeamNames: Boolean = true, val mediaBaseUrl: String = \"\", val emulation: EmulationSettings? = null) : CDSSettings","description":"org.icpclive.cds.settings.ClicsSettings","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/index.html","searchKeys":["ClicsSettings","class ClicsSettings(url: String, login: Credential? = null, password: Credential? = null, eventFeedName: String = \"event-feed\", feedVersion: FeedVersion = FeedVersion.`2022_07`, val additionalFeed: ClicsLoaderSettings? = null, val useTeamNames: Boolean = true, val mediaBaseUrl: String = \"\", val emulation: EmulationSettings? = null) : CDSSettings","org.icpclive.cds.settings.ClicsSettings"]},{"name":"class CodeDrillsSettings(val url: String, val port: Int, val contestId: String, val authKey: Credential, val emulation: EmulationSettings? = null) : CDSSettings","description":"org.icpclive.cds.settings.CodeDrillsSettings","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-code-drills-settings/index.html","searchKeys":["CodeDrillsSettings","class CodeDrillsSettings(val url: String, val port: Int, val contestId: String, val authKey: Credential, val emulation: EmulationSettings? = null) : CDSSettings","org.icpclive.cds.settings.CodeDrillsSettings"]},{"name":"class ContestEventWithGroupedRuns(val event: ContestUpdate, val infoBeforeEvent: ContestInfo?, val runs: PersistentMap>)","description":"org.icpclive.cds.adapters.ContestEventWithGroupedRuns","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/index.html","searchKeys":["ContestEventWithGroupedRuns","class ContestEventWithGroupedRuns(val event: ContestUpdate, val infoBeforeEvent: ContestInfo?, val runs: PersistentMap>)","org.icpclive.cds.adapters.ContestEventWithGroupedRuns"]},{"name":"class ContestEventWithRunsBefore(val event: ContestUpdate, val infoBeforeEvent: ContestInfo?, val runs: PersistentMap)","description":"org.icpclive.cds.adapters.ContestEventWithRunsBefore","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-runs-before/index.html","searchKeys":["ContestEventWithRunsBefore","class ContestEventWithRunsBefore(val event: ContestUpdate, val infoBeforeEvent: ContestInfo?, val runs: PersistentMap)","org.icpclive.cds.adapters.ContestEventWithRunsBefore"]},{"name":"class ContestStateWithRunsByTeam(val info: ContestInfo?, val runs: PersistentMap>)","description":"org.icpclive.cds.adapters.ContestStateWithRunsByTeam","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-state-with-runs-by-team/index.html","searchKeys":["ContestStateWithRunsByTeam","class ContestStateWithRunsByTeam(val info: ContestInfo?, val runs: PersistentMap>)","org.icpclive.cds.adapters.ContestStateWithRunsByTeam"]},{"name":"class EjudgeSettings(val url: String, val resultType: ContestResultType = ContestResultType.ICPC, val emulation: EmulationSettings? = null) : CDSSettings","description":"org.icpclive.cds.settings.EjudgeSettings","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/index.html","searchKeys":["EjudgeSettings","class EjudgeSettings(val url: String, val resultType: ContestResultType = ContestResultType.ICPC, val emulation: EmulationSettings? = null) : CDSSettings","org.icpclive.cds.settings.EjudgeSettings"]},{"name":"class EmulationSettings(val speed: Double, val startTime: Instant)","description":"org.icpclive.cds.settings.EmulationSettings","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-emulation-settings/index.html","searchKeys":["EmulationSettings","class EmulationSettings(val speed: Double, val startTime: Instant)","org.icpclive.cds.settings.EmulationSettings"]},{"name":"class KRSUSettings(val submissionsUrl: String, val contestUrl: String, val timeZone: TimeZone = TimeZone.of(\"Asia/Bishkek\"), val emulation: EmulationSettings? = null) : CDSSettings","description":"org.icpclive.cds.settings.KRSUSettings","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-k-r-s-u-settings/index.html","searchKeys":["KRSUSettings","class KRSUSettings(val submissionsUrl: String, val contestUrl: String, val timeZone: TimeZone = TimeZone.of(\"Asia/Bishkek\"), val emulation: EmulationSettings? = null) : CDSSettings","org.icpclive.cds.settings.KRSUSettings"]},{"name":"class NoopSettings(val emulation: EmulationSettings? = null) : CDSSettings","description":"org.icpclive.cds.settings.NoopSettings","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-noop-settings/index.html","searchKeys":["NoopSettings","class NoopSettings(val emulation: EmulationSettings? = null) : CDSSettings","org.icpclive.cds.settings.NoopSettings"]},{"name":"class PCMSSettings(val url: String, val login: Credential? = null, val password: Credential? = null, val problemsUrl: String? = null, val resultType: ContestResultType = ContestResultType.ICPC, val emulation: EmulationSettings? = null) : CDSSettings","description":"org.icpclive.cds.settings.PCMSSettings","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/index.html","searchKeys":["PCMSSettings","class PCMSSettings(val url: String, val login: Credential? = null, val password: Credential? = null, val problemsUrl: String? = null, val resultType: ContestResultType = ContestResultType.ICPC, val emulation: EmulationSettings? = null) : CDSSettings","org.icpclive.cds.settings.PCMSSettings"]},{"name":"class RankingSettings(val medals: List? = null, val penaltyPerWrongAttempt: Duration? = null, val showTeamsWithoutSubmissions: Boolean? = null, val penaltyRoundingMode: PenaltyRoundingMode? = null)","description":"org.icpclive.api.tunning.RankingSettings","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-ranking-settings/index.html","searchKeys":["RankingSettings","class RankingSettings(val medals: List? = null, val penaltyPerWrongAttempt: Duration? = null, val showTeamsWithoutSubmissions: Boolean? = null, val penaltyRoundingMode: PenaltyRoundingMode? = null)","org.icpclive.api.tunning.RankingSettings"]},{"name":"class TestSysSettings(val url: String, val timeZone: TimeZone = TimeZone.of(\"Europe/Moscow\"), val emulation: EmulationSettings? = null) : CDSSettings","description":"org.icpclive.cds.settings.TestSysSettings","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-test-sys-settings/index.html","searchKeys":["TestSysSettings","class TestSysSettings(val url: String, val timeZone: TimeZone = TimeZone.of(\"Europe/Moscow\"), val emulation: EmulationSettings? = null) : CDSSettings","org.icpclive.cds.settings.TestSysSettings"]},{"name":"class VerdictSerializer : KSerializer ","description":"org.icpclive.api.VerdictSerializer","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-verdict-serializer/index.html","searchKeys":["VerdictSerializer","class VerdictSerializer : KSerializer ","org.icpclive.api.VerdictSerializer"]},{"name":"class YandexSettings(val apiKey: Credential, val loginRegex: Regex, val contestId: Int, val resultType: ContestResultType = ContestResultType.ICPC, val emulation: EmulationSettings? = null) : CDSSettings","description":"org.icpclive.cds.settings.YandexSettings","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/index.html","searchKeys":["YandexSettings","class YandexSettings(val apiKey: Credential, val loginRegex: Regex, val contestId: Int, val resultType: ContestResultType = ContestResultType.ICPC, val emulation: EmulationSettings? = null) : CDSSettings","org.icpclive.cds.settings.YandexSettings"]},{"name":"constructor()","description":"org.icpclive.api.VerdictSerializer.VerdictSerializer","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-verdict-serializer/-verdict-serializer.html","searchKeys":["VerdictSerializer","constructor()","org.icpclive.api.VerdictSerializer.VerdictSerializer"]},{"name":"constructor(apiKey: Credential, loginRegex: Regex, contestId: Int, resultType: ContestResultType = ContestResultType.ICPC, emulation: EmulationSettings? = null)","description":"org.icpclive.cds.settings.YandexSettings.YandexSettings","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/-yandex-settings.html","searchKeys":["YandexSettings","constructor(apiKey: Credential, loginRegex: Regex, contestId: Int, resultType: ContestResultType = ContestResultType.ICPC, emulation: EmulationSettings? = null)","org.icpclive.cds.settings.YandexSettings.YandexSettings"]},{"name":"constructor(cdsId: String, displayName: String, fullName: String)","description":"org.icpclive.api.OrganizationInfo.OrganizationInfo","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-organization-info/-organization-info.html","searchKeys":["OrganizationInfo","constructor(cdsId: String, displayName: String, fullName: String)","org.icpclive.api.OrganizationInfo.OrganizationInfo"]},{"name":"constructor(contestId: Int, apiKey: Credential, apiSecret: Credential, asManager: Boolean = true, emulation: EmulationSettings? = null)","description":"org.icpclive.cds.settings.CFSettings.CFSettings","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-f-settings/-c-f-settings.html","searchKeys":["CFSettings","constructor(contestId: Int, apiKey: Credential, apiSecret: Credential, asManager: Boolean = true, emulation: EmulationSettings? = null)","org.icpclive.cds.settings.CFSettings.CFSettings"]},{"name":"constructor(displayName: String? = null, fullName: String? = null)","description":"org.icpclive.api.tunning.OrganizationInfoOverride.OrganizationInfoOverride","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-organization-info-override/-organization-info-override.html","searchKeys":["OrganizationInfoOverride","constructor(displayName: String? = null, fullName: String? = null)","org.icpclive.api.tunning.OrganizationInfoOverride.OrganizationInfoOverride"]},{"name":"constructor(displayName: String? = null, fullName: String? = null, medias: Map? = null)","description":"org.icpclive.api.tunning.TeamOverrideTemplate.TeamOverrideTemplate","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-override-template/-team-override-template.html","searchKeys":["TeamOverrideTemplate","constructor(displayName: String? = null, fullName: String? = null, medias: Map? = null)","org.icpclive.api.tunning.TeamOverrideTemplate.TeamOverrideTemplate"]},{"name":"constructor(emulation: EmulationSettings? = null)","description":"org.icpclive.cds.settings.NoopSettings.NoopSettings","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-noop-settings/-noop-settings.html","searchKeys":["NoopSettings","constructor(emulation: EmulationSettings? = null)","org.icpclive.cds.settings.NoopSettings.NoopSettings"]},{"name":"constructor(event: ContestUpdate, infoBeforeEvent: ContestInfo?, runs: PersistentMap)","description":"org.icpclive.cds.adapters.ContestEventWithRunsBefore.ContestEventWithRunsBefore","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-runs-before/-contest-event-with-runs-before.html","searchKeys":["ContestEventWithRunsBefore","constructor(event: ContestUpdate, infoBeforeEvent: ContestInfo?, runs: PersistentMap)","org.icpclive.cds.adapters.ContestEventWithRunsBefore.ContestEventWithRunsBefore"]},{"name":"constructor(event: ContestUpdate, infoBeforeEvent: ContestInfo?, runs: PersistentMap>)","description":"org.icpclive.cds.adapters.ContestEventWithGroupedRuns.ContestEventWithGroupedRuns","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/-contest-event-with-grouped-runs.html","searchKeys":["ContestEventWithGroupedRuns","constructor(event: ContestUpdate, infoBeforeEvent: ContestInfo?, runs: PersistentMap>)","org.icpclive.cds.adapters.ContestEventWithGroupedRuns.ContestEventWithGroupedRuns"]},{"name":"constructor(expirationTime: Instant?, mediaType: MediaType)","description":"org.icpclive.api.AnalyticsCompanionRun.AnalyticsCompanionRun","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-companion-run/-analytics-companion-run.html","searchKeys":["AnalyticsCompanionRun","constructor(expirationTime: Instant?, mediaType: MediaType)","org.icpclive.api.AnalyticsCompanionRun.AnalyticsCompanionRun"]},{"name":"constructor(fullName: String? = null, displayName: String? = null, groups: List? = null, organizationId: String? = null, hashTag: String? = null, medias: Map? = null, customFields: Map? = null, isHidden: Boolean? = null, isOutOfContest: Boolean? = null)","description":"org.icpclive.api.tunning.TeamInfoOverride.TeamInfoOverride","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/-team-info-override.html","searchKeys":["TeamInfoOverride","constructor(fullName: String? = null, displayName: String? = null, groups: List? = null, organizationId: String? = null, hashTag: String? = null, medias: Map? = null, customFields: Map? = null, isHidden: Boolean? = null, isOutOfContest: Boolean? = null)","org.icpclive.api.tunning.TeamInfoOverride.TeamInfoOverride"]},{"name":"constructor(id: Int, fullName: String, displayName: String, contestSystemId: String, groups: List, hashTag: String?, medias: Map, isHidden: Boolean, isOutOfContest: Boolean, organizationId: String?, customFields: Map = emptyMap())","description":"org.icpclive.api.TeamInfo.TeamInfo","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/-team-info.html","searchKeys":["TeamInfo","constructor(id: Int, fullName: String, displayName: String, contestSystemId: String, groups: List, hashTag: String?, medias: Map, isHidden: Boolean, isOutOfContest: Boolean, organizationId: String?, customFields: Map = emptyMap())","org.icpclive.api.TeamInfo.TeamInfo"]},{"name":"constructor(id: Int, result: RunResult?, percentage: Double, problemId: Int, teamId: Int, time: Duration, featuredRunMedia: MediaType? = null, reactionVideos: List = emptyList(), isHidden: Boolean = false)","description":"org.icpclive.api.RunInfo.RunInfo","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/-run-info.html","searchKeys":["RunInfo","constructor(id: Int, result: RunResult?, percentage: Double, problemId: Int, teamId: Int, time: Duration, featuredRunMedia: MediaType? = null, reactionVideos: List = emptyList(), isHidden: Boolean = false)","org.icpclive.api.RunInfo.RunInfo"]},{"name":"constructor(id: String, message: String, time: Instant, relativeTime: Duration, teamIds: List, runIds: List, priority: Int = 0, tags: List = emptyList(), advertisement: AnalyticsCompanionPreset? = null, tickerMessage: AnalyticsCompanionPreset? = null, featuredRun: AnalyticsCompanionRun? = null)","description":"org.icpclive.api.AnalyticsCommentaryEvent.AnalyticsCommentaryEvent","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/-analytics-commentary-event.html","searchKeys":["AnalyticsCommentaryEvent","constructor(id: String, message: String, time: Instant, relativeTime: Duration, teamIds: List, runIds: List, priority: Int = 0, tags: List = emptyList(), advertisement: AnalyticsCompanionPreset? = null, tickerMessage: AnalyticsCompanionPreset? = null, featuredRun: AnalyticsCompanionRun? = null)","org.icpclive.api.AnalyticsCommentaryEvent.AnalyticsCommentaryEvent"]},{"name":"constructor(info: ContestInfo?, runs: PersistentMap>)","description":"org.icpclive.cds.adapters.ContestStateWithRunsByTeam.ContestStateWithRunsByTeam","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-state-with-runs-by-team/-contest-state-with-runs-by-team.html","searchKeys":["ContestStateWithRunsByTeam","constructor(info: ContestInfo?, runs: PersistentMap>)","org.icpclive.cds.adapters.ContestStateWithRunsByTeam.ContestStateWithRunsByTeam"]},{"name":"constructor(info: ContestInfo?, runs: PersistentMap>)","description":"org.icpclive.cds.adapters.ContestStateWithGroupedRuns.ContestStateWithGroupedRuns","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-state-with-grouped-runs/-contest-state-with-grouped-runs.html","searchKeys":["ContestStateWithGroupedRuns","constructor(info: ContestInfo?, runs: PersistentMap>)","org.icpclive.cds.adapters.ContestStateWithGroupedRuns.ContestStateWithGroupedRuns"]},{"name":"constructor(isHidden: Boolean? = null, isOutOfContest: Boolean? = null)","description":"org.icpclive.api.tunning.GroupInfoOverride.GroupInfoOverride","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-group-info-override/-group-info-override.html","searchKeys":["GroupInfoOverride","constructor(isHidden: Boolean? = null, isOutOfContest: Boolean? = null)","org.icpclive.api.tunning.GroupInfoOverride.GroupInfoOverride"]},{"name":"constructor(lastSubmitTime: Duration, rows: List)","description":"org.icpclive.api.Scoreboard.Scoreboard","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard/-scoreboard.html","searchKeys":["Scoreboard","constructor(lastSubmitTime: Duration, rows: List)","org.icpclive.api.Scoreboard.Scoreboard"]},{"name":"constructor(letter: String, name: String, id: Int, ordinal: Int, contestSystemId: String, minScore: Double? = null, maxScore: Double? = null, color: Color? = null, scoreMergeMode: ScoreMergeMode? = null)","description":"org.icpclive.api.ProblemInfo.ProblemInfo","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/-problem-info.html","searchKeys":["ProblemInfo","constructor(letter: String, name: String, id: Int, ordinal: Int, contestSystemId: String, minScore: Double? = null, maxScore: Double? = null, color: Color? = null, scoreMergeMode: ScoreMergeMode? = null)","org.icpclive.api.ProblemInfo.ProblemInfo"]},{"name":"constructor(login: Credential, password: Credential, url: String, timeZone: TimeZone = TimeZone.of(\"Asia/Vladivostok\"), resultType: ContestResultType = ContestResultType.ICPC, cid: String, emulation: EmulationSettings? = null)","description":"org.icpclive.cds.settings.CatsSettings.CatsSettings","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/-cats-settings.html","searchKeys":["CatsSettings","constructor(login: Credential, password: Credential, url: String, timeZone: TimeZone = TimeZone.of(\"Asia/Vladivostok\"), resultType: ContestResultType = ContestResultType.ICPC, cid: String, emulation: EmulationSettings? = null)","org.icpclive.cds.settings.CatsSettings.CatsSettings"]},{"name":"constructor(medals: List? = null, penaltyPerWrongAttempt: Duration? = null, showTeamsWithoutSubmissions: Boolean? = null, penaltyRoundingMode: PenaltyRoundingMode? = null)","description":"org.icpclive.api.tunning.RankingSettings.RankingSettings","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-ranking-settings/-ranking-settings.html","searchKeys":["RankingSettings","constructor(medals: List? = null, penaltyPerWrongAttempt: Duration? = null, showTeamsWithoutSubmissions: Boolean? = null, penaltyRoundingMode: PenaltyRoundingMode? = null)","org.icpclive.api.tunning.RankingSettings.RankingSettings"]},{"name":"constructor(message: AnalyticsMessage)","description":"org.icpclive.cds.AnalyticsUpdate.AnalyticsUpdate","location":"-i-c-p-c-live contest data parser/org.icpclive.cds/-analytics-update/-analytics-update.html","searchKeys":["AnalyticsUpdate","constructor(message: AnalyticsMessage)","org.icpclive.cds.AnalyticsUpdate.AnalyticsUpdate"]},{"name":"constructor(name: String, count: Int, minScore: Double = Double.MIN_VALUE, tiebreakMode: MedalTiebreakMode = MedalTiebreakMode.ALL)","description":"org.icpclive.api.MedalType.MedalType","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-medal-type/-medal-type.html","searchKeys":["MedalType","constructor(name: String, count: Int, minScore: Double = Double.MIN_VALUE, tiebreakMode: MedalTiebreakMode = MedalTiebreakMode.ALL)","org.icpclive.api.MedalType.MedalType"]},{"name":"constructor(name: String, isHidden: Boolean = false, isOutOfContest: Boolean = false)","description":"org.icpclive.api.GroupInfo.GroupInfo","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-group-info/-group-info.html","searchKeys":["GroupInfo","constructor(name: String, isHidden: Boolean = false, isOutOfContest: Boolean = false)","org.icpclive.api.GroupInfo.GroupInfo"]},{"name":"constructor(name: String, status: ContestStatus, resultType: ContestResultType, startTime: Instant, contestLength: Duration, freezeTime: Duration, problems: List, teams: List, groups: List, organizations: List, penaltyRoundingMode: PenaltyRoundingMode, holdBeforeStartTime: Duration? = null, emulationSpeed: Double = 1.0, medals: List = emptyList(), penaltyPerWrongAttempt: Duration = 20.minutes)","description":"org.icpclive.api.ContestInfo.ContestInfo","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/-contest-info.html","searchKeys":["ContestInfo","constructor(name: String, status: ContestStatus, resultType: ContestResultType, startTime: Instant, contestLength: Duration, freezeTime: Duration, problems: List, teams: List, groups: List, organizations: List, penaltyRoundingMode: PenaltyRoundingMode, holdBeforeStartTime: Duration? = null, emulationSpeed: Double = 1.0, medals: List = emptyList(), penaltyPerWrongAttempt: Duration = 20.minutes)","org.icpclive.api.ContestInfo.ContestInfo"]},{"name":"constructor(name: String? = null, color: Color? = null, ordinal: Int? = null, minScore: Double? = null, maxScore: Double? = null, scoreMergeMode: ScoreMergeMode? = null)","description":"org.icpclive.api.tunning.ProblemInfoOverride.ProblemInfoOverride","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/-problem-info-override.html","searchKeys":["ProblemInfoOverride","constructor(name: String? = null, color: Color? = null, ordinal: Int? = null, minScore: Double? = null, maxScore: Double? = null, scoreMergeMode: ScoreMergeMode? = null)","org.icpclive.api.tunning.ProblemInfoOverride.ProblemInfoOverride"]},{"name":"constructor(newInfo: ContestInfo)","description":"org.icpclive.cds.InfoUpdate.InfoUpdate","location":"-i-c-p-c-live contest data parser/org.icpclive.cds/-info-update/-info-update.html","searchKeys":["InfoUpdate","constructor(newInfo: ContestInfo)","org.icpclive.cds.InfoUpdate.InfoUpdate"]},{"name":"constructor(newInfo: RunInfo)","description":"org.icpclive.cds.RunUpdate.RunUpdate","location":"-i-c-p-c-live contest data parser/org.icpclive.cds/-run-update/-run-update.html","searchKeys":["RunUpdate","constructor(newInfo: RunInfo)","org.icpclive.cds.RunUpdate.RunUpdate"]},{"name":"constructor(organizationRegex: Regex? = null, customFields: Map? = null, groupRegex: Map? = null)","description":"org.icpclive.api.tunning.TeamRegexOverrides.TeamRegexOverrides","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-regex-overrides/-team-regex-overrides.html","searchKeys":["TeamRegexOverrides","constructor(organizationRegex: Regex? = null, customFields: Map? = null, groupRegex: Map? = null)","org.icpclive.api.tunning.TeamRegexOverrides.TeamRegexOverrides"]},{"name":"constructor(presetId: Int, expirationTime: Instant?)","description":"org.icpclive.api.AnalyticsCompanionPreset.AnalyticsCompanionPreset","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-companion-preset/-analytics-companion-preset.html","searchKeys":["AnalyticsCompanionPreset","constructor(presetId: Int, expirationTime: Instant?)","org.icpclive.api.AnalyticsCompanionPreset.AnalyticsCompanionPreset"]},{"name":"constructor(raw: String)","description":"org.icpclive.cds.settings.Credential.Credential","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-credential/-credential.html","searchKeys":["Credential","constructor(raw: String)","org.icpclive.cds.settings.Credential.Credential"]},{"name":"constructor(score: Double?, lastSubmitTime: Duration?, isFirstBest: Boolean)","description":"org.icpclive.api.IOIProblemResult.IOIProblemResult","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-problem-result/-i-o-i-problem-result.html","searchKeys":["IOIProblemResult","constructor(score: Double?, lastSubmitTime: Duration?, isFirstBest: Boolean)","org.icpclive.api.IOIProblemResult.IOIProblemResult"]},{"name":"constructor(score: List, wrongVerdict: Verdict? = null, difference: Double = 0.0, scoreAfter: Double = 0.0, isFirstBestRun: Boolean = false, isFirstBestTeamRun: Boolean = false)","description":"org.icpclive.api.IOIRunResult.IOIRunResult","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-run-result/-i-o-i-run-result.html","searchKeys":["IOIRunResult","constructor(score: List, wrongVerdict: Verdict? = null, difference: Double = 0.0, scoreAfter: Double = 0.0, isFirstBestRun: Boolean = false, isFirstBestTeamRun: Boolean = false)","org.icpclive.api.IOIRunResult.IOIRunResult"]},{"name":"constructor(speed: Double, startTime: Instant)","description":"org.icpclive.cds.settings.EmulationSettings.EmulationSettings","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-emulation-settings/-emulation-settings.html","searchKeys":["EmulationSettings","constructor(speed: Double, startTime: Instant)","org.icpclive.cds.settings.EmulationSettings.EmulationSettings"]},{"name":"constructor(startTime: Instant? = null, freezeTime: Duration? = null, holdTime: Duration? = null, teamMediaTemplate: Map? = null, teamOverrideTemplate: TeamOverrideTemplate? = null, teamRegexes: TeamRegexOverrides? = null, teamOverrides: Map? = null, groupOverrides: Map? = null, organizationOverrides: Map? = null, problemOverrides: Map? = null, scoreboardOverrides: RankingSettings? = null)","description":"org.icpclive.api.tunning.AdvancedProperties.AdvancedProperties","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/-advanced-properties.html","searchKeys":["AdvancedProperties","constructor(startTime: Instant? = null, freezeTime: Duration? = null, holdTime: Duration? = null, teamMediaTemplate: Map? = null, teamOverrideTemplate: TeamOverrideTemplate? = null, teamRegexes: TeamRegexOverrides? = null, teamOverrides: Map? = null, groupOverrides: Map? = null, organizationOverrides: Map? = null, problemOverrides: Map? = null, scoreboardOverrides: RankingSettings? = null)","org.icpclive.api.tunning.AdvancedProperties.AdvancedProperties"]},{"name":"constructor(submissionsUrl: String, contestUrl: String, timeZone: TimeZone = TimeZone.of(\"Asia/Bishkek\"), emulation: EmulationSettings? = null)","description":"org.icpclive.cds.settings.KRSUSettings.KRSUSettings","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-k-r-s-u-settings/-k-r-s-u-settings.html","searchKeys":["KRSUSettings","constructor(submissionsUrl: String, contestUrl: String, timeZone: TimeZone = TimeZone.of(\"Asia/Bishkek\"), emulation: EmulationSettings? = null)","org.icpclive.cds.settings.KRSUSettings.KRSUSettings"]},{"name":"constructor(teamId: Int)","description":"org.icpclive.api.MediaType.TaskStatus.TaskStatus","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-task-status/-task-status.html","searchKeys":["TaskStatus","constructor(teamId: Int)","org.icpclive.api.MediaType.TaskStatus.TaskStatus"]},{"name":"constructor(teamId: Int, rank: Int, totalScore: Double, penalty: Duration, lastAccepted: Long, medalType: String?, problemResults: List, teamGroups: List, championInGroups: List)","description":"org.icpclive.api.ScoreboardRow.ScoreboardRow","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/-scoreboard-row.html","searchKeys":["ScoreboardRow","constructor(teamId: Int, rank: Int, totalScore: Double, penalty: Duration, lastAccepted: Long, medalType: String?, problemResults: List, teamGroups: List, championInGroups: List)","org.icpclive.api.ScoreboardRow.ScoreboardRow"]},{"name":"constructor(url: String, audioUrl: String? = null, isMedia: Boolean = true)","description":"org.icpclive.api.MediaType.WebRTCProxyConnection.WebRTCProxyConnection","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/-web-r-t-c-proxy-connection.html","searchKeys":["WebRTCProxyConnection","constructor(url: String, audioUrl: String? = null, isMedia: Boolean = true)","org.icpclive.api.MediaType.WebRTCProxyConnection.WebRTCProxyConnection"]},{"name":"constructor(url: String, isMedia: Boolean = true)","description":"org.icpclive.api.MediaType.Object.Object","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-object/-object.html","searchKeys":["Object","constructor(url: String, isMedia: Boolean = true)","org.icpclive.api.MediaType.Object.Object"]},{"name":"constructor(url: String, isMedia: Boolean = true)","description":"org.icpclive.api.MediaType.Photo.Photo","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-photo/-photo.html","searchKeys":["Photo","constructor(url: String, isMedia: Boolean = true)","org.icpclive.api.MediaType.Photo.Photo"]},{"name":"constructor(url: String, isMedia: Boolean = true)","description":"org.icpclive.api.MediaType.Video.Video","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-video/-video.html","searchKeys":["Video","constructor(url: String, isMedia: Boolean = true)","org.icpclive.api.MediaType.Video.Video"]},{"name":"constructor(url: String, login: Credential? = null, password: Credential? = null, eventFeedName: String = \"event-feed\", feedVersion: FeedVersion = FeedVersion.`2022_07`)","description":"org.icpclive.cds.settings.ClicsLoaderSettings.ClicsLoaderSettings","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/-clics-loader-settings.html","searchKeys":["ClicsLoaderSettings","constructor(url: String, login: Credential? = null, password: Credential? = null, eventFeedName: String = \"event-feed\", feedVersion: FeedVersion = FeedVersion.`2022_07`)","org.icpclive.cds.settings.ClicsLoaderSettings.ClicsLoaderSettings"]},{"name":"constructor(url: String, login: Credential? = null, password: Credential? = null, eventFeedName: String = \"event-feed\", feedVersion: FeedVersion = FeedVersion.`2022_07`, additionalFeed: ClicsLoaderSettings? = null, useTeamNames: Boolean = true, mediaBaseUrl: String = \"\", emulation: EmulationSettings? = null)","description":"org.icpclive.cds.settings.ClicsSettings.ClicsSettings","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/-clics-settings.html","searchKeys":["ClicsSettings","constructor(url: String, login: Credential? = null, password: Credential? = null, eventFeedName: String = \"event-feed\", feedVersion: FeedVersion = FeedVersion.`2022_07`, additionalFeed: ClicsLoaderSettings? = null, useTeamNames: Boolean = true, mediaBaseUrl: String = \"\", emulation: EmulationSettings? = null)","org.icpclive.cds.settings.ClicsSettings.ClicsSettings"]},{"name":"constructor(url: String, login: Credential? = null, password: Credential? = null, problemsUrl: String? = null, resultType: ContestResultType = ContestResultType.ICPC, emulation: EmulationSettings? = null)","description":"org.icpclive.cds.settings.PCMSSettings.PCMSSettings","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/-p-c-m-s-settings.html","searchKeys":["PCMSSettings","constructor(url: String, login: Credential? = null, password: Credential? = null, problemsUrl: String? = null, resultType: ContestResultType = ContestResultType.ICPC, emulation: EmulationSettings? = null)","org.icpclive.cds.settings.PCMSSettings.PCMSSettings"]},{"name":"constructor(url: String, peerName: String, streamType: String, credential: String?, isMedia: Boolean = true)","description":"org.icpclive.api.MediaType.WebRTCGrabberConnection.WebRTCGrabberConnection","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/-web-r-t-c-grabber-connection.html","searchKeys":["WebRTCGrabberConnection","constructor(url: String, peerName: String, streamType: String, credential: String?, isMedia: Boolean = true)","org.icpclive.api.MediaType.WebRTCGrabberConnection.WebRTCGrabberConnection"]},{"name":"constructor(url: String, port: Int, contestId: String, authKey: Credential, emulation: EmulationSettings? = null)","description":"org.icpclive.cds.settings.CodeDrillsSettings.CodeDrillsSettings","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-code-drills-settings/-code-drills-settings.html","searchKeys":["CodeDrillsSettings","constructor(url: String, port: Int, contestId: String, authKey: Credential, emulation: EmulationSettings? = null)","org.icpclive.cds.settings.CodeDrillsSettings.CodeDrillsSettings"]},{"name":"constructor(url: String, resultType: ContestResultType = ContestResultType.ICPC, emulation: EmulationSettings? = null)","description":"org.icpclive.cds.settings.EjudgeSettings.EjudgeSettings","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/-ejudge-settings.html","searchKeys":["EjudgeSettings","constructor(url: String, resultType: ContestResultType = ContestResultType.ICPC, emulation: EmulationSettings? = null)","org.icpclive.cds.settings.EjudgeSettings.EjudgeSettings"]},{"name":"constructor(url: String, timeZone: TimeZone = TimeZone.of(\"Europe/Moscow\"), emulation: EmulationSettings? = null)","description":"org.icpclive.cds.settings.TestSysSettings.TestSysSettings","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-test-sys-settings/-test-sys-settings.html","searchKeys":["TestSysSettings","constructor(url: String, timeZone: TimeZone = TimeZone.of(\"Europe/Moscow\"), emulation: EmulationSettings? = null)","org.icpclive.cds.settings.TestSysSettings.TestSysSettings"]},{"name":"constructor(verdict: Verdict, isFirstToSolveRun: Boolean)","description":"org.icpclive.api.ICPCRunResult.ICPCRunResult","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-run-result/-i-c-p-c-run-result.html","searchKeys":["ICPCRunResult","constructor(verdict: Verdict, isFirstToSolveRun: Boolean)","org.icpclive.api.ICPCRunResult.ICPCRunResult"]},{"name":"constructor(wrongAttempts: Int, pendingAttempts: Int, isSolved: Boolean, isFirstToSolve: Boolean, lastSubmitTime: Duration?)","description":"org.icpclive.api.ICPCProblemResult.ICPCProblemResult","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-problem-result/-i-c-p-c-problem-result.html","searchKeys":["ICPCProblemResult","constructor(wrongAttempts: Int, pendingAttempts: Int, isSolved: Boolean, isFirstToSolve: Boolean, lastSubmitTime: Duration?)","org.icpclive.api.ICPCProblemResult.ICPCProblemResult"]},{"name":"data class AdvancedProperties(val startTime: Instant? = null, val freezeTime: Duration? = null, val holdTime: Duration? = null, val teamMediaTemplate: Map? = null, val teamOverrideTemplate: TeamOverrideTemplate? = null, val teamRegexes: TeamRegexOverrides? = null, val teamOverrides: Map? = null, val groupOverrides: Map? = null, val organizationOverrides: Map? = null, val problemOverrides: Map? = null, val scoreboardOverrides: RankingSettings? = null)","description":"org.icpclive.api.tunning.AdvancedProperties","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/index.html","searchKeys":["AdvancedProperties","data class AdvancedProperties(val startTime: Instant? = null, val freezeTime: Duration? = null, val holdTime: Duration? = null, val teamMediaTemplate: Map? = null, val teamOverrideTemplate: TeamOverrideTemplate? = null, val teamRegexes: TeamRegexOverrides? = null, val teamOverrides: Map? = null, val groupOverrides: Map? = null, val organizationOverrides: Map? = null, val problemOverrides: Map? = null, val scoreboardOverrides: RankingSettings? = null)","org.icpclive.api.tunning.AdvancedProperties"]},{"name":"data class AnalyticsCommentaryEvent(val id: String, val message: String, val time: Instant, val relativeTime: Duration, val teamIds: List, val runIds: List, val priority: Int = 0, val tags: List = emptyList(), val advertisement: AnalyticsCompanionPreset? = null, val tickerMessage: AnalyticsCompanionPreset? = null, val featuredRun: AnalyticsCompanionRun? = null) : AnalyticsMessage","description":"org.icpclive.api.AnalyticsCommentaryEvent","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/index.html","searchKeys":["AnalyticsCommentaryEvent","data class AnalyticsCommentaryEvent(val id: String, val message: String, val time: Instant, val relativeTime: Duration, val teamIds: List, val runIds: List, val priority: Int = 0, val tags: List = emptyList(), val advertisement: AnalyticsCompanionPreset? = null, val tickerMessage: AnalyticsCompanionPreset? = null, val featuredRun: AnalyticsCompanionRun? = null) : AnalyticsMessage","org.icpclive.api.AnalyticsCommentaryEvent"]},{"name":"data class AnalyticsCompanionPreset(val presetId: Int, val expirationTime: Instant?)","description":"org.icpclive.api.AnalyticsCompanionPreset","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-companion-preset/index.html","searchKeys":["AnalyticsCompanionPreset","data class AnalyticsCompanionPreset(val presetId: Int, val expirationTime: Instant?)","org.icpclive.api.AnalyticsCompanionPreset"]},{"name":"data class AnalyticsCompanionRun(val expirationTime: Instant?, val mediaType: MediaType)","description":"org.icpclive.api.AnalyticsCompanionRun","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-companion-run/index.html","searchKeys":["AnalyticsCompanionRun","data class AnalyticsCompanionRun(val expirationTime: Instant?, val mediaType: MediaType)","org.icpclive.api.AnalyticsCompanionRun"]},{"name":"data class AnalyticsUpdate(val message: AnalyticsMessage) : ContestUpdate","description":"org.icpclive.cds.AnalyticsUpdate","location":"-i-c-p-c-live contest data parser/org.icpclive.cds/-analytics-update/index.html","searchKeys":["AnalyticsUpdate","data class AnalyticsUpdate(val message: AnalyticsMessage) : ContestUpdate","org.icpclive.cds.AnalyticsUpdate"]},{"name":"data class ContestInfo(val name: String, val status: ContestStatus, val resultType: ContestResultType, val startTime: Instant, val contestLength: Duration, val freezeTime: Duration, val problems: List, val teams: List, val groups: List, val organizations: List, val penaltyRoundingMode: PenaltyRoundingMode, val holdBeforeStartTime: Duration? = null, val emulationSpeed: Double = 1.0, val medals: List = emptyList(), val penaltyPerWrongAttempt: Duration = 20.minutes)","description":"org.icpclive.api.ContestInfo","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/index.html","searchKeys":["ContestInfo","data class ContestInfo(val name: String, val status: ContestStatus, val resultType: ContestResultType, val startTime: Instant, val contestLength: Duration, val freezeTime: Duration, val problems: List, val teams: List, val groups: List, val organizations: List, val penaltyRoundingMode: PenaltyRoundingMode, val holdBeforeStartTime: Duration? = null, val emulationSpeed: Double = 1.0, val medals: List = emptyList(), val penaltyPerWrongAttempt: Duration = 20.minutes)","org.icpclive.api.ContestInfo"]},{"name":"data class GroupInfo(val name: String, val isHidden: Boolean = false, val isOutOfContest: Boolean = false)","description":"org.icpclive.api.GroupInfo","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-group-info/index.html","searchKeys":["GroupInfo","data class GroupInfo(val name: String, val isHidden: Boolean = false, val isOutOfContest: Boolean = false)","org.icpclive.api.GroupInfo"]},{"name":"data class GroupInfoOverride(val isHidden: Boolean? = null, val isOutOfContest: Boolean? = null)","description":"org.icpclive.api.tunning.GroupInfoOverride","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-group-info-override/index.html","searchKeys":["GroupInfoOverride","data class GroupInfoOverride(val isHidden: Boolean? = null, val isOutOfContest: Boolean? = null)","org.icpclive.api.tunning.GroupInfoOverride"]},{"name":"data class ICPCProblemResult(val wrongAttempts: Int, val pendingAttempts: Int, val isSolved: Boolean, val isFirstToSolve: Boolean, val lastSubmitTime: Duration?) : ProblemResult","description":"org.icpclive.api.ICPCProblemResult","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-problem-result/index.html","searchKeys":["ICPCProblemResult","data class ICPCProblemResult(val wrongAttempts: Int, val pendingAttempts: Int, val isSolved: Boolean, val isFirstToSolve: Boolean, val lastSubmitTime: Duration?) : ProblemResult","org.icpclive.api.ICPCProblemResult"]},{"name":"data class ICPCRunResult(val verdict: Verdict, val isFirstToSolveRun: Boolean) : RunResult","description":"org.icpclive.api.ICPCRunResult","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-run-result/index.html","searchKeys":["ICPCRunResult","data class ICPCRunResult(val verdict: Verdict, val isFirstToSolveRun: Boolean) : RunResult","org.icpclive.api.ICPCRunResult"]},{"name":"data class IOIProblemResult(val score: Double?, val lastSubmitTime: Duration?, val isFirstBest: Boolean) : ProblemResult","description":"org.icpclive.api.IOIProblemResult","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-problem-result/index.html","searchKeys":["IOIProblemResult","data class IOIProblemResult(val score: Double?, val lastSubmitTime: Duration?, val isFirstBest: Boolean) : ProblemResult","org.icpclive.api.IOIProblemResult"]},{"name":"data class IOIRunResult(val score: List, val wrongVerdict: Verdict? = null, val difference: Double = 0.0, val scoreAfter: Double = 0.0, val isFirstBestRun: Boolean = false, val isFirstBestTeamRun: Boolean = false) : RunResult","description":"org.icpclive.api.IOIRunResult","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-run-result/index.html","searchKeys":["IOIRunResult","data class IOIRunResult(val score: List, val wrongVerdict: Verdict? = null, val difference: Double = 0.0, val scoreAfter: Double = 0.0, val isFirstBestRun: Boolean = false, val isFirstBestTeamRun: Boolean = false) : RunResult","org.icpclive.api.IOIRunResult"]},{"name":"data class InfoUpdate(val newInfo: ContestInfo) : ContestUpdate","description":"org.icpclive.cds.InfoUpdate","location":"-i-c-p-c-live contest data parser/org.icpclive.cds/-info-update/index.html","searchKeys":["InfoUpdate","data class InfoUpdate(val newInfo: ContestInfo) : ContestUpdate","org.icpclive.cds.InfoUpdate"]},{"name":"data class MedalType(val name: String, val count: Int, val minScore: Double = Double.MIN_VALUE, val tiebreakMode: MedalTiebreakMode = MedalTiebreakMode.ALL)","description":"org.icpclive.api.MedalType","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-medal-type/index.html","searchKeys":["MedalType","data class MedalType(val name: String, val count: Int, val minScore: Double = Double.MIN_VALUE, val tiebreakMode: MedalTiebreakMode = MedalTiebreakMode.ALL)","org.icpclive.api.MedalType"]},{"name":"data class Object(val url: String, val isMedia: Boolean = true) : MediaType","description":"org.icpclive.api.MediaType.Object","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-object/index.html","searchKeys":["Object","data class Object(val url: String, val isMedia: Boolean = true) : MediaType","org.icpclive.api.MediaType.Object"]},{"name":"data class OrganizationInfo(val cdsId: String, val displayName: String, val fullName: String)","description":"org.icpclive.api.OrganizationInfo","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-organization-info/index.html","searchKeys":["OrganizationInfo","data class OrganizationInfo(val cdsId: String, val displayName: String, val fullName: String)","org.icpclive.api.OrganizationInfo"]},{"name":"data class OrganizationInfoOverride(val displayName: String? = null, val fullName: String? = null)","description":"org.icpclive.api.tunning.OrganizationInfoOverride","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-organization-info-override/index.html","searchKeys":["OrganizationInfoOverride","data class OrganizationInfoOverride(val displayName: String? = null, val fullName: String? = null)","org.icpclive.api.tunning.OrganizationInfoOverride"]},{"name":"data class Photo(val url: String, val isMedia: Boolean = true) : MediaType","description":"org.icpclive.api.MediaType.Photo","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-photo/index.html","searchKeys":["Photo","data class Photo(val url: String, val isMedia: Boolean = true) : MediaType","org.icpclive.api.MediaType.Photo"]},{"name":"data class ProblemInfo(val letter: String, val name: String, val id: Int, val ordinal: Int, val contestSystemId: String, val minScore: Double? = null, val maxScore: Double? = null, val color: Color? = null, val scoreMergeMode: ScoreMergeMode? = null)","description":"org.icpclive.api.ProblemInfo","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/index.html","searchKeys":["ProblemInfo","data class ProblemInfo(val letter: String, val name: String, val id: Int, val ordinal: Int, val contestSystemId: String, val minScore: Double? = null, val maxScore: Double? = null, val color: Color? = null, val scoreMergeMode: ScoreMergeMode? = null)","org.icpclive.api.ProblemInfo"]},{"name":"data class ProblemInfoOverride(val name: String? = null, val color: Color? = null, val ordinal: Int? = null, val minScore: Double? = null, val maxScore: Double? = null, val scoreMergeMode: ScoreMergeMode? = null)","description":"org.icpclive.api.tunning.ProblemInfoOverride","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/index.html","searchKeys":["ProblemInfoOverride","data class ProblemInfoOverride(val name: String? = null, val color: Color? = null, val ordinal: Int? = null, val minScore: Double? = null, val maxScore: Double? = null, val scoreMergeMode: ScoreMergeMode? = null)","org.icpclive.api.tunning.ProblemInfoOverride"]},{"name":"data class RunInfo(val id: Int, val result: RunResult?, val percentage: Double, val problemId: Int, val teamId: Int, val time: Duration, val featuredRunMedia: MediaType? = null, val reactionVideos: List = emptyList(), val isHidden: Boolean = false)","description":"org.icpclive.api.RunInfo","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/index.html","searchKeys":["RunInfo","data class RunInfo(val id: Int, val result: RunResult?, val percentage: Double, val problemId: Int, val teamId: Int, val time: Duration, val featuredRunMedia: MediaType? = null, val reactionVideos: List = emptyList(), val isHidden: Boolean = false)","org.icpclive.api.RunInfo"]},{"name":"data class RunUpdate(val newInfo: RunInfo) : ContestUpdate","description":"org.icpclive.cds.RunUpdate","location":"-i-c-p-c-live contest data parser/org.icpclive.cds/-run-update/index.html","searchKeys":["RunUpdate","data class RunUpdate(val newInfo: RunInfo) : ContestUpdate","org.icpclive.cds.RunUpdate"]},{"name":"data class Scoreboard(val lastSubmitTime: Duration, val rows: List)","description":"org.icpclive.api.Scoreboard","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard/index.html","searchKeys":["Scoreboard","data class Scoreboard(val lastSubmitTime: Duration, val rows: List)","org.icpclive.api.Scoreboard"]},{"name":"data class ScoreboardRow(val teamId: Int, val rank: Int, val totalScore: Double, val penalty: Duration, val lastAccepted: Long, val medalType: String?, val problemResults: List, val teamGroups: List, val championInGroups: List)","description":"org.icpclive.api.ScoreboardRow","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/index.html","searchKeys":["ScoreboardRow","data class ScoreboardRow(val teamId: Int, val rank: Int, val totalScore: Double, val penalty: Duration, val lastAccepted: Long, val medalType: String?, val problemResults: List, val teamGroups: List, val championInGroups: List)","org.icpclive.api.ScoreboardRow"]},{"name":"data class TaskStatus(val teamId: Int) : MediaType","description":"org.icpclive.api.MediaType.TaskStatus","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-task-status/index.html","searchKeys":["TaskStatus","data class TaskStatus(val teamId: Int) : MediaType","org.icpclive.api.MediaType.TaskStatus"]},{"name":"data class TeamInfo(val id: Int, val fullName: String, val displayName: String, val contestSystemId: String, val groups: List, val hashTag: String?, val medias: Map, val isHidden: Boolean, val isOutOfContest: Boolean, val organizationId: String?, val customFields: Map = emptyMap())","description":"org.icpclive.api.TeamInfo","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/index.html","searchKeys":["TeamInfo","data class TeamInfo(val id: Int, val fullName: String, val displayName: String, val contestSystemId: String, val groups: List, val hashTag: String?, val medias: Map, val isHidden: Boolean, val isOutOfContest: Boolean, val organizationId: String?, val customFields: Map = emptyMap())","org.icpclive.api.TeamInfo"]},{"name":"data class TeamInfoOverride(val fullName: String? = null, val displayName: String? = null, val groups: List? = null, val organizationId: String? = null, val hashTag: String? = null, val medias: Map? = null, val customFields: Map? = null, val isHidden: Boolean? = null, val isOutOfContest: Boolean? = null)","description":"org.icpclive.api.tunning.TeamInfoOverride","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/index.html","searchKeys":["TeamInfoOverride","data class TeamInfoOverride(val fullName: String? = null, val displayName: String? = null, val groups: List? = null, val organizationId: String? = null, val hashTag: String? = null, val medias: Map? = null, val customFields: Map? = null, val isHidden: Boolean? = null, val isOutOfContest: Boolean? = null)","org.icpclive.api.tunning.TeamInfoOverride"]},{"name":"data class TeamOverrideTemplate(val displayName: String? = null, val fullName: String? = null, val medias: Map? = null)","description":"org.icpclive.api.tunning.TeamOverrideTemplate","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-override-template/index.html","searchKeys":["TeamOverrideTemplate","data class TeamOverrideTemplate(val displayName: String? = null, val fullName: String? = null, val medias: Map? = null)","org.icpclive.api.tunning.TeamOverrideTemplate"]},{"name":"data class TeamRegexOverrides(val organizationRegex: Regex? = null, val customFields: Map? = null, val groupRegex: Map? = null)","description":"org.icpclive.api.tunning.TeamRegexOverrides","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-regex-overrides/index.html","searchKeys":["TeamRegexOverrides","data class TeamRegexOverrides(val organizationRegex: Regex? = null, val customFields: Map? = null, val groupRegex: Map? = null)","org.icpclive.api.tunning.TeamRegexOverrides"]},{"name":"data class Video(val url: String, val isMedia: Boolean = true) : MediaType","description":"org.icpclive.api.MediaType.Video","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-video/index.html","searchKeys":["Video","data class Video(val url: String, val isMedia: Boolean = true) : MediaType","org.icpclive.api.MediaType.Video"]},{"name":"data class WebRTCGrabberConnection(val url: String, val peerName: String, val streamType: String, val credential: String?, val isMedia: Boolean = true) : MediaType","description":"org.icpclive.api.MediaType.WebRTCGrabberConnection","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/index.html","searchKeys":["WebRTCGrabberConnection","data class WebRTCGrabberConnection(val url: String, val peerName: String, val streamType: String, val credential: String?, val isMedia: Boolean = true) : MediaType","org.icpclive.api.MediaType.WebRTCGrabberConnection"]},{"name":"data class WebRTCProxyConnection(val url: String, val audioUrl: String? = null, val isMedia: Boolean = true) : MediaType","description":"org.icpclive.api.MediaType.WebRTCProxyConnection","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/index.html","searchKeys":["WebRTCProxyConnection","data class WebRTCProxyConnection(val url: String, val audioUrl: String? = null, val isMedia: Boolean = true) : MediaType","org.icpclive.api.MediaType.WebRTCProxyConnection"]},{"name":"enum ContestResultType : Enum ","description":"org.icpclive.api.ContestResultType","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-result-type/index.html","searchKeys":["ContestResultType","enum ContestResultType : Enum ","org.icpclive.api.ContestResultType"]},{"name":"enum ContestStatus : Enum ","description":"org.icpclive.api.ContestStatus","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-status/index.html","searchKeys":["ContestStatus","enum ContestStatus : Enum ","org.icpclive.api.ContestStatus"]},{"name":"enum MedalTiebreakMode : Enum ","description":"org.icpclive.api.MedalTiebreakMode","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-medal-tiebreak-mode/index.html","searchKeys":["MedalTiebreakMode","enum MedalTiebreakMode : Enum ","org.icpclive.api.MedalTiebreakMode"]},{"name":"enum OptimismLevel : Enum ","description":"org.icpclive.api.OptimismLevel","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-optimism-level/index.html","searchKeys":["OptimismLevel","enum OptimismLevel : Enum ","org.icpclive.api.OptimismLevel"]},{"name":"enum PenaltyRoundingMode : Enum ","description":"org.icpclive.api.PenaltyRoundingMode","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/index.html","searchKeys":["PenaltyRoundingMode","enum PenaltyRoundingMode : Enum ","org.icpclive.api.PenaltyRoundingMode"]},{"name":"enum ScoreMergeMode : Enum ","description":"org.icpclive.api.ScoreMergeMode","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/index.html","searchKeys":["ScoreMergeMode","enum ScoreMergeMode : Enum ","org.icpclive.api.ScoreMergeMode"]},{"name":"enum TeamMediaType : Enum ","description":"org.icpclive.api.TeamMediaType","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/index.html","searchKeys":["TeamMediaType","enum TeamMediaType : Enum ","org.icpclive.api.TeamMediaType"]},{"name":"fun Flow.stateWithGroupedRuns(selector: (RunInfo) -> K): Flow>","description":"org.icpclive.cds.adapters.stateWithGroupedRuns","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/state-with-grouped-runs.html","searchKeys":["stateWithGroupedRuns","fun Flow.stateWithGroupedRuns(selector: (RunInfo) -> K): Flow>","org.icpclive.cds.adapters.stateWithGroupedRuns"]},{"name":"fun Flow.withGroupedRuns(selector: (RunInfo) -> K, transformGroup: (key: K, cur: PersistentList, original: PersistentList, info: ContestInfo?) -> List? = null, needUpdateGroup: (new: ContestInfo, old: ContestInfo?, key: K) -> Boolean? = null): Flow>","description":"org.icpclive.cds.adapters.withGroupedRuns","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/with-grouped-runs.html","searchKeys":["withGroupedRuns","fun Flow.withGroupedRuns(selector: (RunInfo) -> K, transformGroup: (key: K, cur: PersistentList, original: PersistentList, info: ContestInfo?) -> List? = null, needUpdateGroup: (new: ContestInfo, old: ContestInfo?, key: K) -> Boolean? = null): Flow>","org.icpclive.cds.adapters.withGroupedRuns"]},{"name":"fun ContestInfo.toAdvancedProperties(fields: Set): AdvancedProperties","description":"org.icpclive.api.tunning.toAdvancedProperties","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/to-advanced-properties.html","searchKeys":["toAdvancedProperties","fun ContestInfo.toAdvancedProperties(fields: Set): AdvancedProperties","org.icpclive.api.tunning.toAdvancedProperties"]},{"name":"fun Flow.filterUseless(): Flow","description":"org.icpclive.cds.adapters.filterUseless","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/filter-useless.html","searchKeys":["filterUseless","fun Flow.filterUseless(): Flow","org.icpclive.cds.adapters.filterUseless"]},{"name":"fun Flow.removeFrozenSubmissions(): Flow","description":"org.icpclive.cds.adapters.removeFrozenSubmissions","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/remove-frozen-submissions.html","searchKeys":["removeFrozenSubmissions","fun Flow.removeFrozenSubmissions(): Flow","org.icpclive.cds.adapters.removeFrozenSubmissions"]},{"name":"fun Flow.calculateScoreboard(optimismLevel: OptimismLevel): Flow","description":"org.icpclive.scoreboard.calculateScoreboard","location":"-i-c-p-c-live contest data parser/org.icpclive.scoreboard/calculate-scoreboard.html","searchKeys":["calculateScoreboard","fun Flow.calculateScoreboard(optimismLevel: OptimismLevel): Flow","org.icpclive.scoreboard.calculateScoreboard"]},{"name":"fun Flow.calculateScoreboardWithInfo(optimismLevel: OptimismLevel): Flow>","description":"org.icpclive.scoreboard.calculateScoreboardWithInfo","location":"-i-c-p-c-live contest data parser/org.icpclive.scoreboard/calculate-scoreboard-with-info.html","searchKeys":["calculateScoreboardWithInfo","fun Flow.calculateScoreboardWithInfo(optimismLevel: OptimismLevel): Flow>","org.icpclive.scoreboard.calculateScoreboardWithInfo"]},{"name":"fun Flow.addFirstToSolves(): Flow","description":"org.icpclive.cds.adapters.addFirstToSolves","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/add-first-to-solves.html","searchKeys":["addFirstToSolves","fun Flow.addFirstToSolves(): Flow","org.icpclive.cds.adapters.addFirstToSolves"]},{"name":"fun Flow.applyAdvancedProperties(advancedPropsFlow: Flow): Flow","description":"org.icpclive.cds.adapters.applyAdvancedProperties","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/apply-advanced-properties.html","searchKeys":["applyAdvancedProperties","fun Flow.applyAdvancedProperties(advancedPropsFlow: Flow): Flow","org.icpclive.cds.adapters.applyAdvancedProperties"]},{"name":"fun Flow.calculateScoreDifferences(): Flow","description":"org.icpclive.cds.adapters.calculateScoreDifferences","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/calculate-score-differences.html","searchKeys":["calculateScoreDifferences","fun Flow.calculateScoreDifferences(): Flow","org.icpclive.cds.adapters.calculateScoreDifferences"]},{"name":"fun Flow.filterUseless(): Flow","description":"org.icpclive.cds.adapters.filterUseless","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/filter-useless.html","searchKeys":["filterUseless","fun Flow.filterUseless(): Flow","org.icpclive.cds.adapters.filterUseless"]},{"name":"fun Flow.processHiddenTeamsAndGroups(): Flow","description":"org.icpclive.cds.adapters.processHiddenTeamsAndGroups","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/process-hidden-teams-and-groups.html","searchKeys":["processHiddenTeamsAndGroups","fun Flow.processHiddenTeamsAndGroups(): Flow","org.icpclive.cds.adapters.processHiddenTeamsAndGroups"]},{"name":"fun Flow.removeFrozenSubmissions(): Flow","description":"org.icpclive.cds.adapters.removeFrozenSubmissions","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/remove-frozen-submissions.html","searchKeys":["removeFrozenSubmissions","fun Flow.removeFrozenSubmissions(): Flow","org.icpclive.cds.adapters.removeFrozenSubmissions"]},{"name":"fun Flow.stateGroupedByTeam(): Flow","description":"org.icpclive.cds.adapters.stateGroupedByTeam","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/state-grouped-by-team.html","searchKeys":["stateGroupedByTeam","fun Flow.stateGroupedByTeam(): Flow","org.icpclive.cds.adapters.stateGroupedByTeam"]},{"name":"fun Flow.withContestInfoBefore(): Flow>","description":"org.icpclive.cds.adapters.withContestInfoBefore","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/with-contest-info-before.html","searchKeys":["withContestInfoBefore","fun Flow.withContestInfoBefore(): Flow>","org.icpclive.cds.adapters.withContestInfoBefore"]},{"name":"fun Flow.withRunsBefore(): Flow","description":"org.icpclive.cds.adapters.withRunsBefore","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/with-runs-before.html","searchKeys":["withRunsBefore","fun Flow.withRunsBefore(): Flow","org.icpclive.cds.adapters.withRunsBefore"]},{"name":"fun List.toGroupInfos(): List","description":"org.icpclive.api.toGroupInfos","location":"-i-c-p-c-live contest data parser/org.icpclive.api/to-group-infos.html","searchKeys":["toGroupInfos","fun List.toGroupInfos(): List","org.icpclive.api.toGroupInfos"]},{"name":"fun get(creds: Map): String","description":"org.icpclive.cds.settings.Credential.get","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-credential/get.html","searchKeys":["get","fun get(creds: Map): String","org.icpclive.cds.settings.Credential.get"]},{"name":"fun getScoreboardCalculator(info: ContestInfo, optimismLevel: OptimismLevel): ScoreboardCalculator","description":"org.icpclive.scoreboard.getScoreboardCalculator","location":"-i-c-p-c-live contest data parser/org.icpclive.scoreboard/get-scoreboard-calculator.html","searchKeys":["getScoreboardCalculator","fun getScoreboardCalculator(info: ContestInfo, optimismLevel: OptimismLevel): ScoreboardCalculator","org.icpclive.scoreboard.getScoreboardCalculator"]},{"name":"fun groupById(id: String): GroupInfo?","description":"org.icpclive.api.ContestInfo.groupById","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/group-by-id.html","searchKeys":["groupById","fun groupById(id: String): GroupInfo?","org.icpclive.api.ContestInfo.groupById"]},{"name":"fun lookup(shortName: String, isAddingPenalty: Boolean, isAccepted: Boolean): Verdict","description":"org.icpclive.api.Verdict.Companion.lookup","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-companion/lookup.html","searchKeys":["lookup","fun lookup(shortName: String, isAddingPenalty: Boolean, isAccepted: Boolean): Verdict","org.icpclive.api.Verdict.Companion.lookup"]},{"name":"fun noMedia(): MediaType","description":"org.icpclive.api.MediaType.noMedia","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/no-media.html","searchKeys":["noMedia","fun noMedia(): MediaType","org.icpclive.api.MediaType.noMedia"]},{"name":"fun parseFileToCdsSettings(path: Path): CDSSettings","description":"org.icpclive.cds.settings.parseFileToCdsSettings","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/parse-file-to-cds-settings.html","searchKeys":["parseFileToCdsSettings","fun parseFileToCdsSettings(path: Path): CDSSettings","org.icpclive.cds.settings.parseFileToCdsSettings"]},{"name":"fun setAllowUnsecureConnections(value: Boolean)","description":"org.icpclive.cds.common.setAllowUnsecureConnections","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.common/set-allow-unsecure-connections.html","searchKeys":["setAllowUnsecureConnections","fun setAllowUnsecureConnections(value: Boolean)","org.icpclive.cds.common.setAllowUnsecureConnections"]},{"name":"fun toFlow(creds: Map): Flow","description":"org.icpclive.cds.settings.CDSSettings.toFlow","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-d-s-settings/to-flow.html","searchKeys":["toFlow","fun toFlow(creds: Map): Flow","org.icpclive.cds.settings.CDSSettings.toFlow"]},{"name":"fun toRunResult(): ICPCRunResult","description":"org.icpclive.api.Verdict.toRunResult","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/to-run-result.html","searchKeys":["toRunResult","fun toRunResult(): ICPCRunResult","org.icpclive.api.Verdict.toRunResult"]},{"name":"fun valueOf(value: String): ContestResultType","description":"org.icpclive.api.ContestResultType.valueOf","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-result-type/value-of.html","searchKeys":["valueOf","fun valueOf(value: String): ContestResultType","org.icpclive.api.ContestResultType.valueOf"]},{"name":"fun valueOf(value: String): ContestStatus","description":"org.icpclive.api.ContestStatus.valueOf","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-status/value-of.html","searchKeys":["valueOf","fun valueOf(value: String): ContestStatus","org.icpclive.api.ContestStatus.valueOf"]},{"name":"fun valueOf(value: String): MedalTiebreakMode","description":"org.icpclive.api.MedalTiebreakMode.valueOf","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-medal-tiebreak-mode/value-of.html","searchKeys":["valueOf","fun valueOf(value: String): MedalTiebreakMode","org.icpclive.api.MedalTiebreakMode.valueOf"]},{"name":"fun valueOf(value: String): OptimismLevel","description":"org.icpclive.api.OptimismLevel.valueOf","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-optimism-level/value-of.html","searchKeys":["valueOf","fun valueOf(value: String): OptimismLevel","org.icpclive.api.OptimismLevel.valueOf"]},{"name":"fun valueOf(value: String): PenaltyRoundingMode","description":"org.icpclive.api.PenaltyRoundingMode.valueOf","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/value-of.html","searchKeys":["valueOf","fun valueOf(value: String): PenaltyRoundingMode","org.icpclive.api.PenaltyRoundingMode.valueOf"]},{"name":"fun valueOf(value: String): ScoreMergeMode","description":"org.icpclive.api.ScoreMergeMode.valueOf","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/value-of.html","searchKeys":["valueOf","fun valueOf(value: String): ScoreMergeMode","org.icpclive.api.ScoreMergeMode.valueOf"]},{"name":"fun valueOf(value: String): TeamMediaType","description":"org.icpclive.api.TeamMediaType.valueOf","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/value-of.html","searchKeys":["valueOf","fun valueOf(value: String): TeamMediaType","org.icpclive.api.TeamMediaType.valueOf"]},{"name":"fun values(): Array","description":"org.icpclive.api.ContestResultType.values","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-result-type/values.html","searchKeys":["values","fun values(): Array","org.icpclive.api.ContestResultType.values"]},{"name":"fun values(): Array","description":"org.icpclive.api.ContestStatus.values","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-status/values.html","searchKeys":["values","fun values(): Array","org.icpclive.api.ContestStatus.values"]},{"name":"fun values(): Array","description":"org.icpclive.api.MedalTiebreakMode.values","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-medal-tiebreak-mode/values.html","searchKeys":["values","fun values(): Array","org.icpclive.api.MedalTiebreakMode.values"]},{"name":"fun values(): Array","description":"org.icpclive.api.OptimismLevel.values","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-optimism-level/values.html","searchKeys":["values","fun values(): Array","org.icpclive.api.OptimismLevel.values"]},{"name":"fun values(): Array","description":"org.icpclive.api.PenaltyRoundingMode.values","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/values.html","searchKeys":["values","fun values(): Array","org.icpclive.api.PenaltyRoundingMode.values"]},{"name":"fun values(): Array","description":"org.icpclive.api.ScoreMergeMode.values","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/values.html","searchKeys":["values","fun values(): Array","org.icpclive.api.ScoreMergeMode.values"]},{"name":"fun values(): Array","description":"org.icpclive.api.TeamMediaType.values","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/values.html","searchKeys":["values","fun values(): Array","org.icpclive.api.TeamMediaType.values"]},{"name":"inline fun PersistentMap.update(k: K, block: (V?) -> V): PersistentMap","description":"org.icpclive.cds.adapters.update","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/update.html","searchKeys":["update","inline fun PersistentMap.update(k: K, block: (V?) -> V): PersistentMap","org.icpclive.cds.adapters.update"]},{"name":"interface ContestUpdate","description":"org.icpclive.cds.ContestUpdate","location":"-i-c-p-c-live contest data parser/org.icpclive.cds/-contest-update/index.html","searchKeys":["ContestUpdate","interface ContestUpdate","org.icpclive.cds.ContestUpdate"]},{"name":"interface ScoreboardCalculator","description":"org.icpclive.scoreboard.ScoreboardCalculator","location":"-i-c-p-c-live contest data parser/org.icpclive.scoreboard/-scoreboard-calculator/index.html","searchKeys":["ScoreboardCalculator","interface ScoreboardCalculator","org.icpclive.scoreboard.ScoreboardCalculator"]},{"name":"object Accepted : Verdict","description":"org.icpclive.api.Verdict.Accepted","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-accepted/index.html","searchKeys":["Accepted","object Accepted : Verdict","org.icpclive.api.Verdict.Accepted"]},{"name":"object AdvancedPropertiesAdapter","description":"org.icpclive.cds.adapters.AdvancedPropertiesAdapter","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-advanced-properties-adapter/index.html","searchKeys":["AdvancedPropertiesAdapter","object AdvancedPropertiesAdapter","org.icpclive.cds.adapters.AdvancedPropertiesAdapter"]},{"name":"object Challenged : Verdict","description":"org.icpclive.api.Verdict.Challenged","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-challenged/index.html","searchKeys":["Challenged","object Challenged : Verdict","org.icpclive.api.Verdict.Challenged"]},{"name":"object Companion","description":"org.icpclive.api.ProblemInfo.Companion","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/-companion/index.html","searchKeys":["Companion","object Companion","org.icpclive.api.ProblemInfo.Companion"]},{"name":"object Companion","description":"org.icpclive.api.Verdict.Companion","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-companion/index.html","searchKeys":["Companion","object Companion","org.icpclive.api.Verdict.Companion"]},{"name":"object CompilationError : Verdict","description":"org.icpclive.api.Verdict.CompilationError","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-compilation-error/index.html","searchKeys":["CompilationError","object CompilationError : Verdict","org.icpclive.api.Verdict.CompilationError"]},{"name":"object CompilationErrorWithPenalty : Verdict","description":"org.icpclive.api.Verdict.CompilationErrorWithPenalty","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-compilation-error-with-penalty/index.html","searchKeys":["CompilationErrorWithPenalty","object CompilationErrorWithPenalty : Verdict","org.icpclive.api.Verdict.CompilationErrorWithPenalty"]},{"name":"object Fail : Verdict","description":"org.icpclive.api.Verdict.Fail","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-fail/index.html","searchKeys":["Fail","object Fail : Verdict","org.icpclive.api.Verdict.Fail"]},{"name":"object IdlenessLimitExceeded : Verdict","description":"org.icpclive.api.Verdict.IdlenessLimitExceeded","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-idleness-limit-exceeded/index.html","searchKeys":["IdlenessLimitExceeded","object IdlenessLimitExceeded : Verdict","org.icpclive.api.Verdict.IdlenessLimitExceeded"]},{"name":"object Ignored : Verdict","description":"org.icpclive.api.Verdict.Ignored","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-ignored/index.html","searchKeys":["Ignored","object Ignored : Verdict","org.icpclive.api.Verdict.Ignored"]},{"name":"object MemoryLimitExceeded : Verdict","description":"org.icpclive.api.Verdict.MemoryLimitExceeded","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-memory-limit-exceeded/index.html","searchKeys":["MemoryLimitExceeded","object MemoryLimitExceeded : Verdict","org.icpclive.api.Verdict.MemoryLimitExceeded"]},{"name":"object OutputLimitExceeded : Verdict","description":"org.icpclive.api.Verdict.OutputLimitExceeded","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-output-limit-exceeded/index.html","searchKeys":["OutputLimitExceeded","object OutputLimitExceeded : Verdict","org.icpclive.api.Verdict.OutputLimitExceeded"]},{"name":"object PresentationError : Verdict","description":"org.icpclive.api.Verdict.PresentationError","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-presentation-error/index.html","searchKeys":["PresentationError","object PresentationError : Verdict","org.icpclive.api.Verdict.PresentationError"]},{"name":"object Rejected : Verdict","description":"org.icpclive.api.Verdict.Rejected","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-rejected/index.html","searchKeys":["Rejected","object Rejected : Verdict","org.icpclive.api.Verdict.Rejected"]},{"name":"object RuntimeError : Verdict","description":"org.icpclive.api.Verdict.RuntimeError","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-runtime-error/index.html","searchKeys":["RuntimeError","object RuntimeError : Verdict","org.icpclive.api.Verdict.RuntimeError"]},{"name":"object SecurityViolation : Verdict","description":"org.icpclive.api.Verdict.SecurityViolation","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-security-violation/index.html","searchKeys":["SecurityViolation","object SecurityViolation : Verdict","org.icpclive.api.Verdict.SecurityViolation"]},{"name":"object TimeLimitExceeded : Verdict","description":"org.icpclive.api.Verdict.TimeLimitExceeded","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-time-limit-exceeded/index.html","searchKeys":["TimeLimitExceeded","object TimeLimitExceeded : Verdict","org.icpclive.api.Verdict.TimeLimitExceeded"]},{"name":"object WrongAnswer : Verdict","description":"org.icpclive.api.Verdict.WrongAnswer","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-wrong-answer/index.html","searchKeys":["WrongAnswer","object WrongAnswer : Verdict","org.icpclive.api.Verdict.WrongAnswer"]},{"name":"open class ContestStateWithGroupedRuns(val info: ContestInfo?, val runs: PersistentMap>)","description":"org.icpclive.cds.adapters.ContestStateWithGroupedRuns","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-state-with-grouped-runs/index.html","searchKeys":["ContestStateWithGroupedRuns","open class ContestStateWithGroupedRuns(val info: ContestInfo?, val runs: PersistentMap>)","org.icpclive.cds.adapters.ContestStateWithGroupedRuns"]},{"name":"open override fun deserialize(decoder: Decoder): Verdict","description":"org.icpclive.api.VerdictSerializer.deserialize","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-verdict-serializer/deserialize.html","searchKeys":["deserialize","open override fun deserialize(decoder: Decoder): Verdict","org.icpclive.api.VerdictSerializer.deserialize"]},{"name":"open override fun serialize(encoder: Encoder, value: Verdict)","description":"org.icpclive.api.VerdictSerializer.serialize","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-verdict-serializer/serialize.html","searchKeys":["serialize","open override fun serialize(encoder: Encoder, value: Verdict)","org.icpclive.api.VerdictSerializer.serialize"]},{"name":"open override fun toString(): String","description":"org.icpclive.cds.settings.CDSSettings.toString","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-d-s-settings/to-string.html","searchKeys":["toString","open override fun toString(): String","org.icpclive.cds.settings.CDSSettings.toString"]},{"name":"open override val descriptor: ","description":"org.icpclive.api.VerdictSerializer.descriptor","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-verdict-serializer/descriptor.html","searchKeys":["descriptor","open override val descriptor: ","org.icpclive.api.VerdictSerializer.descriptor"]},{"name":"open override val emulation: EmulationSettings? = null","description":"org.icpclive.cds.settings.CFSettings.emulation","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-f-settings/emulation.html","searchKeys":["emulation","open override val emulation: EmulationSettings? = null","org.icpclive.cds.settings.CFSettings.emulation"]},{"name":"open override val emulation: EmulationSettings? = null","description":"org.icpclive.cds.settings.CatsSettings.emulation","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/emulation.html","searchKeys":["emulation","open override val emulation: EmulationSettings? = null","org.icpclive.cds.settings.CatsSettings.emulation"]},{"name":"open override val emulation: EmulationSettings? = null","description":"org.icpclive.cds.settings.ClicsSettings.emulation","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/emulation.html","searchKeys":["emulation","open override val emulation: EmulationSettings? = null","org.icpclive.cds.settings.ClicsSettings.emulation"]},{"name":"open override val emulation: EmulationSettings? = null","description":"org.icpclive.cds.settings.CodeDrillsSettings.emulation","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-code-drills-settings/emulation.html","searchKeys":["emulation","open override val emulation: EmulationSettings? = null","org.icpclive.cds.settings.CodeDrillsSettings.emulation"]},{"name":"open override val emulation: EmulationSettings? = null","description":"org.icpclive.cds.settings.EjudgeSettings.emulation","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/emulation.html","searchKeys":["emulation","open override val emulation: EmulationSettings? = null","org.icpclive.cds.settings.EjudgeSettings.emulation"]},{"name":"open override val emulation: EmulationSettings? = null","description":"org.icpclive.cds.settings.KRSUSettings.emulation","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-k-r-s-u-settings/emulation.html","searchKeys":["emulation","open override val emulation: EmulationSettings? = null","org.icpclive.cds.settings.KRSUSettings.emulation"]},{"name":"open override val emulation: EmulationSettings? = null","description":"org.icpclive.cds.settings.NoopSettings.emulation","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-noop-settings/emulation.html","searchKeys":["emulation","open override val emulation: EmulationSettings? = null","org.icpclive.cds.settings.NoopSettings.emulation"]},{"name":"open override val emulation: EmulationSettings? = null","description":"org.icpclive.cds.settings.PCMSSettings.emulation","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/emulation.html","searchKeys":["emulation","open override val emulation: EmulationSettings? = null","org.icpclive.cds.settings.PCMSSettings.emulation"]},{"name":"open override val emulation: EmulationSettings? = null","description":"org.icpclive.cds.settings.TestSysSettings.emulation","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-test-sys-settings/emulation.html","searchKeys":["emulation","open override val emulation: EmulationSettings? = null","org.icpclive.cds.settings.TestSysSettings.emulation"]},{"name":"open override val emulation: EmulationSettings? = null","description":"org.icpclive.cds.settings.YandexSettings.emulation","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/emulation.html","searchKeys":["emulation","open override val emulation: EmulationSettings? = null","org.icpclive.cds.settings.YandexSettings.emulation"]},{"name":"open override val id: String","description":"org.icpclive.api.AnalyticsCommentaryEvent.id","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/id.html","searchKeys":["id","open override val id: String","org.icpclive.api.AnalyticsCommentaryEvent.id"]},{"name":"open override val isMedia: Boolean = false","description":"org.icpclive.api.MediaType.TaskStatus.isMedia","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-task-status/is-media.html","searchKeys":["isMedia","open override val isMedia: Boolean = false","org.icpclive.api.MediaType.TaskStatus.isMedia"]},{"name":"open override val isMedia: Boolean = true","description":"org.icpclive.api.MediaType.Object.isMedia","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-object/is-media.html","searchKeys":["isMedia","open override val isMedia: Boolean = true","org.icpclive.api.MediaType.Object.isMedia"]},{"name":"open override val isMedia: Boolean = true","description":"org.icpclive.api.MediaType.Photo.isMedia","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-photo/is-media.html","searchKeys":["isMedia","open override val isMedia: Boolean = true","org.icpclive.api.MediaType.Photo.isMedia"]},{"name":"open override val isMedia: Boolean = true","description":"org.icpclive.api.MediaType.Video.isMedia","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-video/is-media.html","searchKeys":["isMedia","open override val isMedia: Boolean = true","org.icpclive.api.MediaType.Video.isMedia"]},{"name":"open override val isMedia: Boolean = true","description":"org.icpclive.api.MediaType.WebRTCGrabberConnection.isMedia","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/is-media.html","searchKeys":["isMedia","open override val isMedia: Boolean = true","org.icpclive.api.MediaType.WebRTCGrabberConnection.isMedia"]},{"name":"open override val isMedia: Boolean = true","description":"org.icpclive.api.MediaType.WebRTCProxyConnection.isMedia","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/is-media.html","searchKeys":["isMedia","open override val isMedia: Boolean = true","org.icpclive.api.MediaType.WebRTCProxyConnection.isMedia"]},{"name":"open override val relativeTime: Duration","description":"org.icpclive.api.AnalyticsCommentaryEvent.relativeTime","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/relative-time.html","searchKeys":["relativeTime","open override val relativeTime: Duration","org.icpclive.api.AnalyticsCommentaryEvent.relativeTime"]},{"name":"open override val time: Instant","description":"org.icpclive.api.AnalyticsCommentaryEvent.time","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/time.html","searchKeys":["time","open override val time: Instant","org.icpclive.api.AnalyticsCommentaryEvent.time"]},{"name":"sealed class AnalyticsMessage","description":"org.icpclive.api.AnalyticsMessage","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-message/index.html","searchKeys":["AnalyticsMessage","sealed class AnalyticsMessage","org.icpclive.api.AnalyticsMessage"]},{"name":"sealed class CDSSettings","description":"org.icpclive.cds.settings.CDSSettings","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-d-s-settings/index.html","searchKeys":["CDSSettings","sealed class CDSSettings","org.icpclive.cds.settings.CDSSettings"]},{"name":"sealed class MediaType","description":"org.icpclive.api.MediaType","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/index.html","searchKeys":["MediaType","sealed class MediaType","org.icpclive.api.MediaType"]},{"name":"sealed class ProblemResult","description":"org.icpclive.api.ProblemResult","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-problem-result/index.html","searchKeys":["ProblemResult","sealed class ProblemResult","org.icpclive.api.ProblemResult"]},{"name":"sealed class RunResult","description":"org.icpclive.api.RunResult","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-run-result/index.html","searchKeys":["RunResult","sealed class RunResult","org.icpclive.api.RunResult"]},{"name":"sealed class Verdict","description":"org.icpclive.api.Verdict","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/index.html","searchKeys":["Verdict","sealed class Verdict","org.icpclive.api.Verdict"]},{"name":"val additionalFeed: ClicsLoaderSettings? = null","description":"org.icpclive.cds.settings.ClicsSettings.additionalFeed","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/additional-feed.html","searchKeys":["additionalFeed","val additionalFeed: ClicsLoaderSettings? = null","org.icpclive.cds.settings.ClicsSettings.additionalFeed"]},{"name":"val advertisement: AnalyticsCompanionPreset? = null","description":"org.icpclive.api.AnalyticsCommentaryEvent.advertisement","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/advertisement.html","searchKeys":["advertisement","val advertisement: AnalyticsCompanionPreset? = null","org.icpclive.api.AnalyticsCommentaryEvent.advertisement"]},{"name":"val all: List","description":"org.icpclive.api.Verdict.Companion.all","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-companion/all.html","searchKeys":["all","val all: List","org.icpclive.api.Verdict.Companion.all"]},{"name":"val apiKey: Credential","description":"org.icpclive.cds.settings.CFSettings.apiKey","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-f-settings/api-key.html","searchKeys":["apiKey","val apiKey: Credential","org.icpclive.cds.settings.CFSettings.apiKey"]},{"name":"val apiKey: Credential","description":"org.icpclive.cds.settings.YandexSettings.apiKey","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/api-key.html","searchKeys":["apiKey","val apiKey: Credential","org.icpclive.cds.settings.YandexSettings.apiKey"]},{"name":"val apiSecret: Credential","description":"org.icpclive.cds.settings.CFSettings.apiSecret","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-f-settings/api-secret.html","searchKeys":["apiSecret","val apiSecret: Credential","org.icpclive.cds.settings.CFSettings.apiSecret"]},{"name":"val asManager: Boolean = true","description":"org.icpclive.cds.settings.CFSettings.asManager","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-f-settings/as-manager.html","searchKeys":["asManager","val asManager: Boolean = true","org.icpclive.cds.settings.CFSettings.asManager"]},{"name":"val audioUrl: String? = null","description":"org.icpclive.api.MediaType.WebRTCProxyConnection.audioUrl","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/audio-url.html","searchKeys":["audioUrl","val audioUrl: String? = null","org.icpclive.api.MediaType.WebRTCProxyConnection.audioUrl"]},{"name":"val authKey: Credential","description":"org.icpclive.cds.settings.CodeDrillsSettings.authKey","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-code-drills-settings/auth-key.html","searchKeys":["authKey","val authKey: Credential","org.icpclive.cds.settings.CodeDrillsSettings.authKey"]},{"name":"val cdsId: String","description":"org.icpclive.api.OrganizationInfo.cdsId","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-organization-info/cds-id.html","searchKeys":["cdsId","val cdsId: String","org.icpclive.api.OrganizationInfo.cdsId"]},{"name":"val championInGroups: List","description":"org.icpclive.api.ScoreboardRow.championInGroups","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/champion-in-groups.html","searchKeys":["championInGroups","val championInGroups: List","org.icpclive.api.ScoreboardRow.championInGroups"]},{"name":"val cid: String","description":"org.icpclive.cds.settings.CatsSettings.cid","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/cid.html","searchKeys":["cid","val cid: String","org.icpclive.cds.settings.CatsSettings.cid"]},{"name":"val color: Color? = null","description":"org.icpclive.api.ProblemInfo.color","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/color.html","searchKeys":["color","val color: Color? = null","org.icpclive.api.ProblemInfo.color"]},{"name":"val color: Color? = null","description":"org.icpclive.api.tunning.ProblemInfoOverride.color","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/color.html","searchKeys":["color","val color: Color? = null","org.icpclive.api.tunning.ProblemInfoOverride.color"]},{"name":"val contestId: Int","description":"org.icpclive.cds.settings.CFSettings.contestId","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-f-settings/contest-id.html","searchKeys":["contestId","val contestId: Int","org.icpclive.cds.settings.CFSettings.contestId"]},{"name":"val contestId: Int","description":"org.icpclive.cds.settings.YandexSettings.contestId","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/contest-id.html","searchKeys":["contestId","val contestId: Int","org.icpclive.cds.settings.YandexSettings.contestId"]},{"name":"val contestId: String","description":"org.icpclive.cds.settings.CodeDrillsSettings.contestId","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-code-drills-settings/contest-id.html","searchKeys":["contestId","val contestId: String","org.icpclive.cds.settings.CodeDrillsSettings.contestId"]},{"name":"val contestLength: Duration","description":"org.icpclive.api.ContestInfo.contestLength","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/contest-length.html","searchKeys":["contestLength","val contestLength: Duration","org.icpclive.api.ContestInfo.contestLength"]},{"name":"val contestSystemId: String","description":"org.icpclive.api.ProblemInfo.contestSystemId","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/contest-system-id.html","searchKeys":["contestSystemId","val contestSystemId: String","org.icpclive.api.ProblemInfo.contestSystemId"]},{"name":"val contestSystemId: String","description":"org.icpclive.api.TeamInfo.contestSystemId","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/contest-system-id.html","searchKeys":["contestSystemId","val contestSystemId: String","org.icpclive.api.TeamInfo.contestSystemId"]},{"name":"val contestUrl: String","description":"org.icpclive.cds.settings.KRSUSettings.contestUrl","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-k-r-s-u-settings/contest-url.html","searchKeys":["contestUrl","val contestUrl: String","org.icpclive.cds.settings.KRSUSettings.contestUrl"]},{"name":"val count: Int","description":"org.icpclive.api.MedalType.count","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-medal-type/count.html","searchKeys":["count","val count: Int","org.icpclive.api.MedalType.count"]},{"name":"val credential: String?","description":"org.icpclive.api.MediaType.WebRTCGrabberConnection.credential","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/credential.html","searchKeys":["credential","val credential: String?","org.icpclive.api.MediaType.WebRTCGrabberConnection.credential"]},{"name":"val currentContestTime: Duration","description":"org.icpclive.api.ContestInfo.currentContestTime","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/current-contest-time.html","searchKeys":["currentContestTime","val currentContestTime: Duration","org.icpclive.api.ContestInfo.currentContestTime"]},{"name":"val customFields: Map? = null","description":"org.icpclive.api.tunning.TeamRegexOverrides.customFields","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-regex-overrides/custom-fields.html","searchKeys":["customFields","val customFields: Map? = null","org.icpclive.api.tunning.TeamRegexOverrides.customFields"]},{"name":"val customFields: Map","description":"org.icpclive.api.TeamInfo.customFields","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/custom-fields.html","searchKeys":["customFields","val customFields: Map","org.icpclive.api.TeamInfo.customFields"]},{"name":"val customFields: Map? = null","description":"org.icpclive.api.tunning.TeamInfoOverride.customFields","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/custom-fields.html","searchKeys":["customFields","val customFields: Map? = null","org.icpclive.api.tunning.TeamInfoOverride.customFields"]},{"name":"val difference: Double = 0.0","description":"org.icpclive.api.IOIRunResult.difference","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-run-result/difference.html","searchKeys":["difference","val difference: Double = 0.0","org.icpclive.api.IOIRunResult.difference"]},{"name":"val displayName: String","description":"org.icpclive.api.OrganizationInfo.displayName","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-organization-info/display-name.html","searchKeys":["displayName","val displayName: String","org.icpclive.api.OrganizationInfo.displayName"]},{"name":"val displayName: String","description":"org.icpclive.api.TeamInfo.displayName","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/display-name.html","searchKeys":["displayName","val displayName: String","org.icpclive.api.TeamInfo.displayName"]},{"name":"val displayName: String? = null","description":"org.icpclive.api.tunning.OrganizationInfoOverride.displayName","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-organization-info-override/display-name.html","searchKeys":["displayName","val displayName: String? = null","org.icpclive.api.tunning.OrganizationInfoOverride.displayName"]},{"name":"val displayName: String? = null","description":"org.icpclive.api.tunning.TeamInfoOverride.displayName","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/display-name.html","searchKeys":["displayName","val displayName: String? = null","org.icpclive.api.tunning.TeamInfoOverride.displayName"]},{"name":"val displayName: String? = null","description":"org.icpclive.api.tunning.TeamOverrideTemplate.displayName","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-override-template/display-name.html","searchKeys":["displayName","val displayName: String? = null","org.icpclive.api.tunning.TeamOverrideTemplate.displayName"]},{"name":"val emulationSpeed: Double = 1.0","description":"org.icpclive.api.ContestInfo.emulationSpeed","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/emulation-speed.html","searchKeys":["emulationSpeed","val emulationSpeed: Double = 1.0","org.icpclive.api.ContestInfo.emulationSpeed"]},{"name":"val event: ContestUpdate","description":"org.icpclive.cds.adapters.ContestEventWithGroupedRuns.event","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/event.html","searchKeys":["event","val event: ContestUpdate","org.icpclive.cds.adapters.ContestEventWithGroupedRuns.event"]},{"name":"val event: ContestUpdate","description":"org.icpclive.cds.adapters.ContestEventWithRunsBefore.event","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-runs-before/event.html","searchKeys":["event","val event: ContestUpdate","org.icpclive.cds.adapters.ContestEventWithRunsBefore.event"]},{"name":"val eventFeedName: String","description":"org.icpclive.cds.settings.ClicsLoaderSettings.eventFeedName","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/event-feed-name.html","searchKeys":["eventFeedName","val eventFeedName: String","org.icpclive.cds.settings.ClicsLoaderSettings.eventFeedName"]},{"name":"val expirationTime: Instant?","description":"org.icpclive.api.AnalyticsCompanionPreset.expirationTime","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-companion-preset/expiration-time.html","searchKeys":["expirationTime","val expirationTime: Instant?","org.icpclive.api.AnalyticsCompanionPreset.expirationTime"]},{"name":"val expirationTime: Instant?","description":"org.icpclive.api.AnalyticsCompanionRun.expirationTime","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-companion-run/expiration-time.html","searchKeys":["expirationTime","val expirationTime: Instant?","org.icpclive.api.AnalyticsCompanionRun.expirationTime"]},{"name":"val featuredRun: AnalyticsCompanionRun? = null","description":"org.icpclive.api.AnalyticsCommentaryEvent.featuredRun","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/featured-run.html","searchKeys":["featuredRun","val featuredRun: AnalyticsCompanionRun? = null","org.icpclive.api.AnalyticsCommentaryEvent.featuredRun"]},{"name":"val featuredRunMedia: MediaType? = null","description":"org.icpclive.api.RunInfo.featuredRunMedia","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/featured-run-media.html","searchKeys":["featuredRunMedia","val featuredRunMedia: MediaType? = null","org.icpclive.api.RunInfo.featuredRunMedia"]},{"name":"val feedVersion: FeedVersion","description":"org.icpclive.cds.settings.ClicsLoaderSettings.feedVersion","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/feed-version.html","searchKeys":["feedVersion","val feedVersion: FeedVersion","org.icpclive.cds.settings.ClicsLoaderSettings.feedVersion"]},{"name":"val freezeTime: Duration","description":"org.icpclive.api.ContestInfo.freezeTime","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/freeze-time.html","searchKeys":["freezeTime","val freezeTime: Duration","org.icpclive.api.ContestInfo.freezeTime"]},{"name":"val freezeTime: Duration? = null","description":"org.icpclive.api.tunning.AdvancedProperties.freezeTime","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/freeze-time.html","searchKeys":["freezeTime","val freezeTime: Duration? = null","org.icpclive.api.tunning.AdvancedProperties.freezeTime"]},{"name":"val fullName: String","description":"org.icpclive.api.OrganizationInfo.fullName","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-organization-info/full-name.html","searchKeys":["fullName","val fullName: String","org.icpclive.api.OrganizationInfo.fullName"]},{"name":"val fullName: String","description":"org.icpclive.api.TeamInfo.fullName","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/full-name.html","searchKeys":["fullName","val fullName: String","org.icpclive.api.TeamInfo.fullName"]},{"name":"val fullName: String? = null","description":"org.icpclive.api.tunning.OrganizationInfoOverride.fullName","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-organization-info-override/full-name.html","searchKeys":["fullName","val fullName: String? = null","org.icpclive.api.tunning.OrganizationInfoOverride.fullName"]},{"name":"val fullName: String? = null","description":"org.icpclive.api.tunning.TeamInfoOverride.fullName","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/full-name.html","searchKeys":["fullName","val fullName: String? = null","org.icpclive.api.tunning.TeamInfoOverride.fullName"]},{"name":"val fullName: String? = null","description":"org.icpclive.api.tunning.TeamOverrideTemplate.fullName","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-override-template/full-name.html","searchKeys":["fullName","val fullName: String? = null","org.icpclive.api.tunning.TeamOverrideTemplate.fullName"]},{"name":"val groupOverrides: Map? = null","description":"org.icpclive.api.tunning.AdvancedProperties.groupOverrides","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/group-overrides.html","searchKeys":["groupOverrides","val groupOverrides: Map? = null","org.icpclive.api.tunning.AdvancedProperties.groupOverrides"]},{"name":"val groupRegex: Map? = null","description":"org.icpclive.api.tunning.TeamRegexOverrides.groupRegex","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-regex-overrides/group-regex.html","searchKeys":["groupRegex","val groupRegex: Map? = null","org.icpclive.api.tunning.TeamRegexOverrides.groupRegex"]},{"name":"val groups: List","description":"org.icpclive.api.ContestInfo.groups","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/groups.html","searchKeys":["groups","val groups: List","org.icpclive.api.ContestInfo.groups"]},{"name":"val groups: List","description":"org.icpclive.api.TeamInfo.groups","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/groups.html","searchKeys":["groups","val groups: List","org.icpclive.api.TeamInfo.groups"]},{"name":"val groups: List? = null","description":"org.icpclive.api.tunning.TeamInfoOverride.groups","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/groups.html","searchKeys":["groups","val groups: List? = null","org.icpclive.api.tunning.TeamInfoOverride.groups"]},{"name":"val hashTag: String?","description":"org.icpclive.api.TeamInfo.hashTag","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/hash-tag.html","searchKeys":["hashTag","val hashTag: String?","org.icpclive.api.TeamInfo.hashTag"]},{"name":"val hashTag: String? = null","description":"org.icpclive.api.tunning.TeamInfoOverride.hashTag","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/hash-tag.html","searchKeys":["hashTag","val hashTag: String? = null","org.icpclive.api.tunning.TeamInfoOverride.hashTag"]},{"name":"val holdBeforeStartTime: Duration? = null","description":"org.icpclive.api.ContestInfo.holdBeforeStartTime","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/hold-before-start-time.html","searchKeys":["holdBeforeStartTime","val holdBeforeStartTime: Duration? = null","org.icpclive.api.ContestInfo.holdBeforeStartTime"]},{"name":"val holdTime: Duration? = null","description":"org.icpclive.api.tunning.AdvancedProperties.holdTime","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/hold-time.html","searchKeys":["holdTime","val holdTime: Duration? = null","org.icpclive.api.tunning.AdvancedProperties.holdTime"]},{"name":"val id: Int","description":"org.icpclive.api.ProblemInfo.id","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/id.html","searchKeys":["id","val id: Int","org.icpclive.api.ProblemInfo.id"]},{"name":"val id: Int","description":"org.icpclive.api.RunInfo.id","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/id.html","searchKeys":["id","val id: Int","org.icpclive.api.RunInfo.id"]},{"name":"val id: Int","description":"org.icpclive.api.TeamInfo.id","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/id.html","searchKeys":["id","val id: Int","org.icpclive.api.TeamInfo.id"]},{"name":"val info: ContestInfo?","description":"org.icpclive.cds.adapters.ContestStateWithGroupedRuns.info","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-state-with-grouped-runs/info.html","searchKeys":["info","val info: ContestInfo?","org.icpclive.cds.adapters.ContestStateWithGroupedRuns.info"]},{"name":"val info: ContestInfo?","description":"org.icpclive.cds.adapters.ContestStateWithRunsByTeam.info","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-state-with-runs-by-team/info.html","searchKeys":["info","val info: ContestInfo?","org.icpclive.cds.adapters.ContestStateWithRunsByTeam.info"]},{"name":"val infoAfterEvent: ContestInfo?","description":"org.icpclive.cds.adapters.ContestEventWithGroupedRuns.infoAfterEvent","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/info-after-event.html","searchKeys":["infoAfterEvent","val infoAfterEvent: ContestInfo?","org.icpclive.cds.adapters.ContestEventWithGroupedRuns.infoAfterEvent"]},{"name":"val infoAfterEvent: ContestInfo?","description":"org.icpclive.cds.adapters.ContestEventWithRunsBefore.infoAfterEvent","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-runs-before/info-after-event.html","searchKeys":["infoAfterEvent","val infoAfterEvent: ContestInfo?","org.icpclive.cds.adapters.ContestEventWithRunsBefore.infoAfterEvent"]},{"name":"val infoBeforeEvent: ContestInfo?","description":"org.icpclive.cds.adapters.ContestEventWithGroupedRuns.infoBeforeEvent","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/info-before-event.html","searchKeys":["infoBeforeEvent","val infoBeforeEvent: ContestInfo?","org.icpclive.cds.adapters.ContestEventWithGroupedRuns.infoBeforeEvent"]},{"name":"val infoBeforeEvent: ContestInfo?","description":"org.icpclive.cds.adapters.ContestEventWithRunsBefore.infoBeforeEvent","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-runs-before/info-before-event.html","searchKeys":["infoBeforeEvent","val infoBeforeEvent: ContestInfo?","org.icpclive.cds.adapters.ContestEventWithRunsBefore.infoBeforeEvent"]},{"name":"val isAccepted: Boolean","description":"org.icpclive.api.Verdict.isAccepted","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/is-accepted.html","searchKeys":["isAccepted","val isAccepted: Boolean","org.icpclive.api.Verdict.isAccepted"]},{"name":"val isAddingPenalty: Boolean","description":"org.icpclive.api.Verdict.isAddingPenalty","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/is-adding-penalty.html","searchKeys":["isAddingPenalty","val isAddingPenalty: Boolean","org.icpclive.api.Verdict.isAddingPenalty"]},{"name":"val isFirstBest: Boolean","description":"org.icpclive.api.IOIProblemResult.isFirstBest","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-problem-result/is-first-best.html","searchKeys":["isFirstBest","val isFirstBest: Boolean","org.icpclive.api.IOIProblemResult.isFirstBest"]},{"name":"val isFirstBestRun: Boolean = false","description":"org.icpclive.api.IOIRunResult.isFirstBestRun","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-run-result/is-first-best-run.html","searchKeys":["isFirstBestRun","val isFirstBestRun: Boolean = false","org.icpclive.api.IOIRunResult.isFirstBestRun"]},{"name":"val isFirstBestTeamRun: Boolean = false","description":"org.icpclive.api.IOIRunResult.isFirstBestTeamRun","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-run-result/is-first-best-team-run.html","searchKeys":["isFirstBestTeamRun","val isFirstBestTeamRun: Boolean = false","org.icpclive.api.IOIRunResult.isFirstBestTeamRun"]},{"name":"val isFirstToSolve: Boolean","description":"org.icpclive.api.ICPCProblemResult.isFirstToSolve","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-problem-result/is-first-to-solve.html","searchKeys":["isFirstToSolve","val isFirstToSolve: Boolean","org.icpclive.api.ICPCProblemResult.isFirstToSolve"]},{"name":"val isFirstToSolveRun: Boolean","description":"org.icpclive.api.ICPCRunResult.isFirstToSolveRun","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-run-result/is-first-to-solve-run.html","searchKeys":["isFirstToSolveRun","val isFirstToSolveRun: Boolean","org.icpclive.api.ICPCRunResult.isFirstToSolveRun"]},{"name":"val isHidden: Boolean","description":"org.icpclive.api.TeamInfo.isHidden","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/is-hidden.html","searchKeys":["isHidden","val isHidden: Boolean","org.icpclive.api.TeamInfo.isHidden"]},{"name":"val isHidden: Boolean = false","description":"org.icpclive.api.GroupInfo.isHidden","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-group-info/is-hidden.html","searchKeys":["isHidden","val isHidden: Boolean = false","org.icpclive.api.GroupInfo.isHidden"]},{"name":"val isHidden: Boolean = false","description":"org.icpclive.api.RunInfo.isHidden","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/is-hidden.html","searchKeys":["isHidden","val isHidden: Boolean = false","org.icpclive.api.RunInfo.isHidden"]},{"name":"val isHidden: Boolean? = null","description":"org.icpclive.api.tunning.GroupInfoOverride.isHidden","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-group-info-override/is-hidden.html","searchKeys":["isHidden","val isHidden: Boolean? = null","org.icpclive.api.tunning.GroupInfoOverride.isHidden"]},{"name":"val isHidden: Boolean? = null","description":"org.icpclive.api.tunning.TeamInfoOverride.isHidden","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/is-hidden.html","searchKeys":["isHidden","val isHidden: Boolean? = null","org.icpclive.api.tunning.TeamInfoOverride.isHidden"]},{"name":"val isOutOfContest: Boolean","description":"org.icpclive.api.TeamInfo.isOutOfContest","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/is-out-of-contest.html","searchKeys":["isOutOfContest","val isOutOfContest: Boolean","org.icpclive.api.TeamInfo.isOutOfContest"]},{"name":"val isOutOfContest: Boolean = false","description":"org.icpclive.api.GroupInfo.isOutOfContest","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-group-info/is-out-of-contest.html","searchKeys":["isOutOfContest","val isOutOfContest: Boolean = false","org.icpclive.api.GroupInfo.isOutOfContest"]},{"name":"val isOutOfContest: Boolean? = null","description":"org.icpclive.api.tunning.GroupInfoOverride.isOutOfContest","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-group-info-override/is-out-of-contest.html","searchKeys":["isOutOfContest","val isOutOfContest: Boolean? = null","org.icpclive.api.tunning.GroupInfoOverride.isOutOfContest"]},{"name":"val isOutOfContest: Boolean? = null","description":"org.icpclive.api.tunning.TeamInfoOverride.isOutOfContest","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/is-out-of-contest.html","searchKeys":["isOutOfContest","val isOutOfContest: Boolean? = null","org.icpclive.api.tunning.TeamInfoOverride.isOutOfContest"]},{"name":"val isSolved: Boolean","description":"org.icpclive.api.ICPCProblemResult.isSolved","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-problem-result/is-solved.html","searchKeys":["isSolved","val isSolved: Boolean","org.icpclive.api.ICPCProblemResult.isSolved"]},{"name":"val lastAccepted: Long","description":"org.icpclive.api.ScoreboardRow.lastAccepted","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/last-accepted.html","searchKeys":["lastAccepted","val lastAccepted: Long","org.icpclive.api.ScoreboardRow.lastAccepted"]},{"name":"val lastSubmitTime: Duration","description":"org.icpclive.api.Scoreboard.lastSubmitTime","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard/last-submit-time.html","searchKeys":["lastSubmitTime","val lastSubmitTime: Duration","org.icpclive.api.Scoreboard.lastSubmitTime"]},{"name":"val lastSubmitTime: Duration?","description":"org.icpclive.api.ICPCProblemResult.lastSubmitTime","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-problem-result/last-submit-time.html","searchKeys":["lastSubmitTime","val lastSubmitTime: Duration?","org.icpclive.api.ICPCProblemResult.lastSubmitTime"]},{"name":"val lastSubmitTime: Duration?","description":"org.icpclive.api.IOIProblemResult.lastSubmitTime","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-problem-result/last-submit-time.html","searchKeys":["lastSubmitTime","val lastSubmitTime: Duration?","org.icpclive.api.IOIProblemResult.lastSubmitTime"]},{"name":"val letter: String","description":"org.icpclive.api.ProblemInfo.letter","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/letter.html","searchKeys":["letter","val letter: String","org.icpclive.api.ProblemInfo.letter"]},{"name":"val logger: Logger","description":"org.icpclive.api.ProblemInfo.Companion.logger","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/-companion/logger.html","searchKeys":["logger","val logger: Logger","org.icpclive.api.ProblemInfo.Companion.logger"]},{"name":"val login: Credential","description":"org.icpclive.cds.settings.CatsSettings.login","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/login.html","searchKeys":["login","val login: Credential","org.icpclive.cds.settings.CatsSettings.login"]},{"name":"val login: Credential? = null","description":"org.icpclive.cds.settings.ClicsLoaderSettings.login","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/login.html","searchKeys":["login","val login: Credential? = null","org.icpclive.cds.settings.ClicsLoaderSettings.login"]},{"name":"val login: Credential? = null","description":"org.icpclive.cds.settings.PCMSSettings.login","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/login.html","searchKeys":["login","val login: Credential? = null","org.icpclive.cds.settings.PCMSSettings.login"]},{"name":"val loginRegex: Regex","description":"org.icpclive.cds.settings.YandexSettings.loginRegex","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/login-regex.html","searchKeys":["loginRegex","val loginRegex: Regex","org.icpclive.cds.settings.YandexSettings.loginRegex"]},{"name":"val mainFeed: ClicsLoaderSettings","description":"org.icpclive.cds.settings.ClicsSettings.mainFeed","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/main-feed.html","searchKeys":["mainFeed","val mainFeed: ClicsLoaderSettings","org.icpclive.cds.settings.ClicsSettings.mainFeed"]},{"name":"val maxScore: Double? = null","description":"org.icpclive.api.ProblemInfo.maxScore","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/max-score.html","searchKeys":["maxScore","val maxScore: Double? = null","org.icpclive.api.ProblemInfo.maxScore"]},{"name":"val maxScore: Double? = null","description":"org.icpclive.api.tunning.ProblemInfoOverride.maxScore","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/max-score.html","searchKeys":["maxScore","val maxScore: Double? = null","org.icpclive.api.tunning.ProblemInfoOverride.maxScore"]},{"name":"val medalType: String?","description":"org.icpclive.api.ScoreboardRow.medalType","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/medal-type.html","searchKeys":["medalType","val medalType: String?","org.icpclive.api.ScoreboardRow.medalType"]},{"name":"val medals: List","description":"org.icpclive.api.ContestInfo.medals","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/medals.html","searchKeys":["medals","val medals: List","org.icpclive.api.ContestInfo.medals"]},{"name":"val medals: List? = null","description":"org.icpclive.api.tunning.RankingSettings.medals","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-ranking-settings/medals.html","searchKeys":["medals","val medals: List? = null","org.icpclive.api.tunning.RankingSettings.medals"]},{"name":"val mediaBaseUrl: String","description":"org.icpclive.cds.settings.ClicsSettings.mediaBaseUrl","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/media-base-url.html","searchKeys":["mediaBaseUrl","val mediaBaseUrl: String","org.icpclive.cds.settings.ClicsSettings.mediaBaseUrl"]},{"name":"val mediaType: MediaType","description":"org.icpclive.api.AnalyticsCompanionRun.mediaType","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-companion-run/media-type.html","searchKeys":["mediaType","val mediaType: MediaType","org.icpclive.api.AnalyticsCompanionRun.mediaType"]},{"name":"val medias: Map","description":"org.icpclive.api.TeamInfo.medias","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/medias.html","searchKeys":["medias","val medias: Map","org.icpclive.api.TeamInfo.medias"]},{"name":"val medias: Map? = null","description":"org.icpclive.api.tunning.TeamInfoOverride.medias","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/medias.html","searchKeys":["medias","val medias: Map? = null","org.icpclive.api.tunning.TeamInfoOverride.medias"]},{"name":"val medias: Map? = null","description":"org.icpclive.api.tunning.TeamOverrideTemplate.medias","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-override-template/medias.html","searchKeys":["medias","val medias: Map? = null","org.icpclive.api.tunning.TeamOverrideTemplate.medias"]},{"name":"val message: AnalyticsMessage","description":"org.icpclive.cds.AnalyticsUpdate.message","location":"-i-c-p-c-live contest data parser/org.icpclive.cds/-analytics-update/message.html","searchKeys":["message","val message: AnalyticsMessage","org.icpclive.cds.AnalyticsUpdate.message"]},{"name":"val message: String","description":"org.icpclive.api.AnalyticsCommentaryEvent.message","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/message.html","searchKeys":["message","val message: String","org.icpclive.api.AnalyticsCommentaryEvent.message"]},{"name":"val minScore: Double","description":"org.icpclive.api.MedalType.minScore","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-medal-type/min-score.html","searchKeys":["minScore","val minScore: Double","org.icpclive.api.MedalType.minScore"]},{"name":"val minScore: Double? = null","description":"org.icpclive.api.ProblemInfo.minScore","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/min-score.html","searchKeys":["minScore","val minScore: Double? = null","org.icpclive.api.ProblemInfo.minScore"]},{"name":"val minScore: Double? = null","description":"org.icpclive.api.tunning.ProblemInfoOverride.minScore","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/min-score.html","searchKeys":["minScore","val minScore: Double? = null","org.icpclive.api.tunning.ProblemInfoOverride.minScore"]},{"name":"val name: String","description":"org.icpclive.api.ContestInfo.name","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/name.html","searchKeys":["name","val name: String","org.icpclive.api.ContestInfo.name"]},{"name":"val name: String","description":"org.icpclive.api.GroupInfo.name","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-group-info/name.html","searchKeys":["name","val name: String","org.icpclive.api.GroupInfo.name"]},{"name":"val name: String","description":"org.icpclive.api.MedalType.name","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-medal-type/name.html","searchKeys":["name","val name: String","org.icpclive.api.MedalType.name"]},{"name":"val name: String","description":"org.icpclive.api.ProblemInfo.name","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/name.html","searchKeys":["name","val name: String","org.icpclive.api.ProblemInfo.name"]},{"name":"val name: String? = null","description":"org.icpclive.api.tunning.ProblemInfoOverride.name","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/name.html","searchKeys":["name","val name: String? = null","org.icpclive.api.tunning.ProblemInfoOverride.name"]},{"name":"val newInfo: ContestInfo","description":"org.icpclive.cds.InfoUpdate.newInfo","location":"-i-c-p-c-live contest data parser/org.icpclive.cds/-info-update/new-info.html","searchKeys":["newInfo","val newInfo: ContestInfo","org.icpclive.cds.InfoUpdate.newInfo"]},{"name":"val newInfo: RunInfo","description":"org.icpclive.cds.RunUpdate.newInfo","location":"-i-c-p-c-live contest data parser/org.icpclive.cds/-run-update/new-info.html","searchKeys":["newInfo","val newInfo: RunInfo","org.icpclive.cds.RunUpdate.newInfo"]},{"name":"val ordinal: Int","description":"org.icpclive.api.ProblemInfo.ordinal","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/ordinal.html","searchKeys":["ordinal","val ordinal: Int","org.icpclive.api.ProblemInfo.ordinal"]},{"name":"val ordinal: Int? = null","description":"org.icpclive.api.tunning.ProblemInfoOverride.ordinal","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/ordinal.html","searchKeys":["ordinal","val ordinal: Int? = null","org.icpclive.api.tunning.ProblemInfoOverride.ordinal"]},{"name":"val organizationId: String?","description":"org.icpclive.api.TeamInfo.organizationId","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/organization-id.html","searchKeys":["organizationId","val organizationId: String?","org.icpclive.api.TeamInfo.organizationId"]},{"name":"val organizationId: String? = null","description":"org.icpclive.api.tunning.TeamInfoOverride.organizationId","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/organization-id.html","searchKeys":["organizationId","val organizationId: String? = null","org.icpclive.api.tunning.TeamInfoOverride.organizationId"]},{"name":"val organizationOverrides: Map? = null","description":"org.icpclive.api.tunning.AdvancedProperties.organizationOverrides","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/organization-overrides.html","searchKeys":["organizationOverrides","val organizationOverrides: Map? = null","org.icpclive.api.tunning.AdvancedProperties.organizationOverrides"]},{"name":"val organizationRegex: Regex? = null","description":"org.icpclive.api.tunning.TeamRegexOverrides.organizationRegex","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-regex-overrides/organization-regex.html","searchKeys":["organizationRegex","val organizationRegex: Regex? = null","org.icpclive.api.tunning.TeamRegexOverrides.organizationRegex"]},{"name":"val organizations: List","description":"org.icpclive.api.ContestInfo.organizations","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/organizations.html","searchKeys":["organizations","val organizations: List","org.icpclive.api.ContestInfo.organizations"]},{"name":"val password: Credential","description":"org.icpclive.cds.settings.CatsSettings.password","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/password.html","searchKeys":["password","val password: Credential","org.icpclive.cds.settings.CatsSettings.password"]},{"name":"val password: Credential? = null","description":"org.icpclive.cds.settings.ClicsLoaderSettings.password","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/password.html","searchKeys":["password","val password: Credential? = null","org.icpclive.cds.settings.ClicsLoaderSettings.password"]},{"name":"val password: Credential? = null","description":"org.icpclive.cds.settings.PCMSSettings.password","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/password.html","searchKeys":["password","val password: Credential? = null","org.icpclive.cds.settings.PCMSSettings.password"]},{"name":"val peerName: String","description":"org.icpclive.api.MediaType.WebRTCGrabberConnection.peerName","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/peer-name.html","searchKeys":["peerName","val peerName: String","org.icpclive.api.MediaType.WebRTCGrabberConnection.peerName"]},{"name":"val penalty: Duration","description":"org.icpclive.api.ScoreboardRow.penalty","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/penalty.html","searchKeys":["penalty","val penalty: Duration","org.icpclive.api.ScoreboardRow.penalty"]},{"name":"val penaltyPerWrongAttempt: Duration","description":"org.icpclive.api.ContestInfo.penaltyPerWrongAttempt","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/penalty-per-wrong-attempt.html","searchKeys":["penaltyPerWrongAttempt","val penaltyPerWrongAttempt: Duration","org.icpclive.api.ContestInfo.penaltyPerWrongAttempt"]},{"name":"val penaltyPerWrongAttempt: Duration? = null","description":"org.icpclive.api.tunning.RankingSettings.penaltyPerWrongAttempt","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-ranking-settings/penalty-per-wrong-attempt.html","searchKeys":["penaltyPerWrongAttempt","val penaltyPerWrongAttempt: Duration? = null","org.icpclive.api.tunning.RankingSettings.penaltyPerWrongAttempt"]},{"name":"val penaltyRoundingMode: PenaltyRoundingMode","description":"org.icpclive.api.ContestInfo.penaltyRoundingMode","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/penalty-rounding-mode.html","searchKeys":["penaltyRoundingMode","val penaltyRoundingMode: PenaltyRoundingMode","org.icpclive.api.ContestInfo.penaltyRoundingMode"]},{"name":"val penaltyRoundingMode: PenaltyRoundingMode? = null","description":"org.icpclive.api.tunning.RankingSettings.penaltyRoundingMode","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-ranking-settings/penalty-rounding-mode.html","searchKeys":["penaltyRoundingMode","val penaltyRoundingMode: PenaltyRoundingMode? = null","org.icpclive.api.tunning.RankingSettings.penaltyRoundingMode"]},{"name":"val pendingAttempts: Int","description":"org.icpclive.api.ICPCProblemResult.pendingAttempts","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-problem-result/pending-attempts.html","searchKeys":["pendingAttempts","val pendingAttempts: Int","org.icpclive.api.ICPCProblemResult.pendingAttempts"]},{"name":"val percentage: Double","description":"org.icpclive.api.RunInfo.percentage","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/percentage.html","searchKeys":["percentage","val percentage: Double","org.icpclive.api.RunInfo.percentage"]},{"name":"val port: Int","description":"org.icpclive.cds.settings.CodeDrillsSettings.port","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-code-drills-settings/port.html","searchKeys":["port","val port: Int","org.icpclive.cds.settings.CodeDrillsSettings.port"]},{"name":"val presetId: Int","description":"org.icpclive.api.AnalyticsCompanionPreset.presetId","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-companion-preset/preset-id.html","searchKeys":["presetId","val presetId: Int","org.icpclive.api.AnalyticsCompanionPreset.presetId"]},{"name":"val priority: Int = 0","description":"org.icpclive.api.AnalyticsCommentaryEvent.priority","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/priority.html","searchKeys":["priority","val priority: Int = 0","org.icpclive.api.AnalyticsCommentaryEvent.priority"]},{"name":"val problemId: Int","description":"org.icpclive.api.RunInfo.problemId","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/problem-id.html","searchKeys":["problemId","val problemId: Int","org.icpclive.api.RunInfo.problemId"]},{"name":"val problemOverrides: Map? = null","description":"org.icpclive.api.tunning.AdvancedProperties.problemOverrides","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/problem-overrides.html","searchKeys":["problemOverrides","val problemOverrides: Map? = null","org.icpclive.api.tunning.AdvancedProperties.problemOverrides"]},{"name":"val problemResults: List","description":"org.icpclive.api.ScoreboardRow.problemResults","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/problem-results.html","searchKeys":["problemResults","val problemResults: List","org.icpclive.api.ScoreboardRow.problemResults"]},{"name":"val problems: List","description":"org.icpclive.api.ContestInfo.problems","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/problems.html","searchKeys":["problems","val problems: List","org.icpclive.api.ContestInfo.problems"]},{"name":"val problemsUrl: String? = null","description":"org.icpclive.cds.settings.PCMSSettings.problemsUrl","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/problems-url.html","searchKeys":["problemsUrl","val problemsUrl: String? = null","org.icpclive.cds.settings.PCMSSettings.problemsUrl"]},{"name":"val rank: Int","description":"org.icpclive.api.ScoreboardRow.rank","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/rank.html","searchKeys":["rank","val rank: Int","org.icpclive.api.ScoreboardRow.rank"]},{"name":"val reactionVideos: List","description":"org.icpclive.api.RunInfo.reactionVideos","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/reaction-videos.html","searchKeys":["reactionVideos","val reactionVideos: List","org.icpclive.api.RunInfo.reactionVideos"]},{"name":"val result: RunResult?","description":"org.icpclive.api.RunInfo.result","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/result.html","searchKeys":["result","val result: RunResult?","org.icpclive.api.RunInfo.result"]},{"name":"val resultType: ContestResultType","description":"org.icpclive.api.ContestInfo.resultType","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/result-type.html","searchKeys":["resultType","val resultType: ContestResultType","org.icpclive.api.ContestInfo.resultType"]},{"name":"val resultType: ContestResultType","description":"org.icpclive.cds.settings.CatsSettings.resultType","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/result-type.html","searchKeys":["resultType","val resultType: ContestResultType","org.icpclive.cds.settings.CatsSettings.resultType"]},{"name":"val resultType: ContestResultType","description":"org.icpclive.cds.settings.EjudgeSettings.resultType","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/result-type.html","searchKeys":["resultType","val resultType: ContestResultType","org.icpclive.cds.settings.EjudgeSettings.resultType"]},{"name":"val resultType: ContestResultType","description":"org.icpclive.cds.settings.PCMSSettings.resultType","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/result-type.html","searchKeys":["resultType","val resultType: ContestResultType","org.icpclive.cds.settings.PCMSSettings.resultType"]},{"name":"val resultType: ContestResultType","description":"org.icpclive.cds.settings.YandexSettings.resultType","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/result-type.html","searchKeys":["resultType","val resultType: ContestResultType","org.icpclive.cds.settings.YandexSettings.resultType"]},{"name":"val rows: List","description":"org.icpclive.api.Scoreboard.rows","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard/rows.html","searchKeys":["rows","val rows: List","org.icpclive.api.Scoreboard.rows"]},{"name":"val runIds: List","description":"org.icpclive.api.AnalyticsCommentaryEvent.runIds","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/run-ids.html","searchKeys":["runIds","val runIds: List","org.icpclive.api.AnalyticsCommentaryEvent.runIds"]},{"name":"val runs: PersistentMap>","description":"org.icpclive.cds.adapters.ContestStateWithRunsByTeam.runs","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-state-with-runs-by-team/runs.html","searchKeys":["runs","val runs: PersistentMap>","org.icpclive.cds.adapters.ContestStateWithRunsByTeam.runs"]},{"name":"val runs: PersistentMap","description":"org.icpclive.cds.adapters.ContestEventWithRunsBefore.runs","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-runs-before/runs.html","searchKeys":["runs","val runs: PersistentMap","org.icpclive.cds.adapters.ContestEventWithRunsBefore.runs"]},{"name":"val runs: PersistentMap>","description":"org.icpclive.cds.adapters.ContestEventWithGroupedRuns.runs","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/runs.html","searchKeys":["runs","val runs: PersistentMap>","org.icpclive.cds.adapters.ContestEventWithGroupedRuns.runs"]},{"name":"val runs: PersistentMap>","description":"org.icpclive.cds.adapters.ContestStateWithGroupedRuns.runs","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-state-with-grouped-runs/runs.html","searchKeys":["runs","val runs: PersistentMap>","org.icpclive.cds.adapters.ContestStateWithGroupedRuns.runs"]},{"name":"val score: Double?","description":"org.icpclive.api.IOIProblemResult.score","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-problem-result/score.html","searchKeys":["score","val score: Double?","org.icpclive.api.IOIProblemResult.score"]},{"name":"val score: List","description":"org.icpclive.api.IOIRunResult.score","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-run-result/score.html","searchKeys":["score","val score: List","org.icpclive.api.IOIRunResult.score"]},{"name":"val scoreAfter: Double = 0.0","description":"org.icpclive.api.IOIRunResult.scoreAfter","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-run-result/score-after.html","searchKeys":["scoreAfter","val scoreAfter: Double = 0.0","org.icpclive.api.IOIRunResult.scoreAfter"]},{"name":"val scoreMergeMode: ScoreMergeMode? = null","description":"org.icpclive.api.ProblemInfo.scoreMergeMode","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/score-merge-mode.html","searchKeys":["scoreMergeMode","val scoreMergeMode: ScoreMergeMode? = null","org.icpclive.api.ProblemInfo.scoreMergeMode"]},{"name":"val scoreMergeMode: ScoreMergeMode? = null","description":"org.icpclive.api.tunning.ProblemInfoOverride.scoreMergeMode","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/score-merge-mode.html","searchKeys":["scoreMergeMode","val scoreMergeMode: ScoreMergeMode? = null","org.icpclive.api.tunning.ProblemInfoOverride.scoreMergeMode"]},{"name":"val scoreboardOverrides: RankingSettings? = null","description":"org.icpclive.api.tunning.AdvancedProperties.scoreboardOverrides","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/scoreboard-overrides.html","searchKeys":["scoreboardOverrides","val scoreboardOverrides: RankingSettings? = null","org.icpclive.api.tunning.AdvancedProperties.scoreboardOverrides"]},{"name":"val shortName: String","description":"org.icpclive.api.Verdict.shortName","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/short-name.html","searchKeys":["shortName","val shortName: String","org.icpclive.api.Verdict.shortName"]},{"name":"val showTeamsWithoutSubmissions: Boolean? = null","description":"org.icpclive.api.tunning.RankingSettings.showTeamsWithoutSubmissions","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-ranking-settings/show-teams-without-submissions.html","searchKeys":["showTeamsWithoutSubmissions","val showTeamsWithoutSubmissions: Boolean? = null","org.icpclive.api.tunning.RankingSettings.showTeamsWithoutSubmissions"]},{"name":"val speed: Double","description":"org.icpclive.cds.settings.EmulationSettings.speed","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-emulation-settings/speed.html","searchKeys":["speed","val speed: Double","org.icpclive.cds.settings.EmulationSettings.speed"]},{"name":"val startTime: Instant","description":"org.icpclive.api.ContestInfo.startTime","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/start-time.html","searchKeys":["startTime","val startTime: Instant","org.icpclive.api.ContestInfo.startTime"]},{"name":"val startTime: Instant","description":"org.icpclive.cds.settings.EmulationSettings.startTime","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-emulation-settings/start-time.html","searchKeys":["startTime","val startTime: Instant","org.icpclive.cds.settings.EmulationSettings.startTime"]},{"name":"val startTime: Instant? = null","description":"org.icpclive.api.tunning.AdvancedProperties.startTime","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/start-time.html","searchKeys":["startTime","val startTime: Instant? = null","org.icpclive.api.tunning.AdvancedProperties.startTime"]},{"name":"val status: ContestStatus","description":"org.icpclive.api.ContestInfo.status","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/status.html","searchKeys":["status","val status: ContestStatus","org.icpclive.api.ContestInfo.status"]},{"name":"val streamType: String","description":"org.icpclive.api.MediaType.WebRTCGrabberConnection.streamType","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/stream-type.html","searchKeys":["streamType","val streamType: String","org.icpclive.api.MediaType.WebRTCGrabberConnection.streamType"]},{"name":"val submissionsUrl: String","description":"org.icpclive.cds.settings.KRSUSettings.submissionsUrl","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-k-r-s-u-settings/submissions-url.html","searchKeys":["submissionsUrl","val submissionsUrl: String","org.icpclive.cds.settings.KRSUSettings.submissionsUrl"]},{"name":"val tags: List","description":"org.icpclive.api.AnalyticsCommentaryEvent.tags","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/tags.html","searchKeys":["tags","val tags: List","org.icpclive.api.AnalyticsCommentaryEvent.tags"]},{"name":"val teamGroups: List","description":"org.icpclive.api.ScoreboardRow.teamGroups","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/team-groups.html","searchKeys":["teamGroups","val teamGroups: List","org.icpclive.api.ScoreboardRow.teamGroups"]},{"name":"val teamId: Int","description":"org.icpclive.api.MediaType.TaskStatus.teamId","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-task-status/team-id.html","searchKeys":["teamId","val teamId: Int","org.icpclive.api.MediaType.TaskStatus.teamId"]},{"name":"val teamId: Int","description":"org.icpclive.api.RunInfo.teamId","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/team-id.html","searchKeys":["teamId","val teamId: Int","org.icpclive.api.RunInfo.teamId"]},{"name":"val teamId: Int","description":"org.icpclive.api.ScoreboardRow.teamId","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/team-id.html","searchKeys":["teamId","val teamId: Int","org.icpclive.api.ScoreboardRow.teamId"]},{"name":"val teamIds: List","description":"org.icpclive.api.AnalyticsCommentaryEvent.teamIds","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/team-ids.html","searchKeys":["teamIds","val teamIds: List","org.icpclive.api.AnalyticsCommentaryEvent.teamIds"]},{"name":"val teamMediaTemplate: Map? = null","description":"org.icpclive.api.tunning.AdvancedProperties.teamMediaTemplate","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/team-media-template.html","searchKeys":["teamMediaTemplate","val teamMediaTemplate: Map? = null","org.icpclive.api.tunning.AdvancedProperties.teamMediaTemplate"]},{"name":"val teamOverrideTemplate: TeamOverrideTemplate? = null","description":"org.icpclive.api.tunning.AdvancedProperties.teamOverrideTemplate","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/team-override-template.html","searchKeys":["teamOverrideTemplate","val teamOverrideTemplate: TeamOverrideTemplate? = null","org.icpclive.api.tunning.AdvancedProperties.teamOverrideTemplate"]},{"name":"val teamOverrides: Map? = null","description":"org.icpclive.api.tunning.AdvancedProperties.teamOverrides","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/team-overrides.html","searchKeys":["teamOverrides","val teamOverrides: Map? = null","org.icpclive.api.tunning.AdvancedProperties.teamOverrides"]},{"name":"val teamRegexes: TeamRegexOverrides? = null","description":"org.icpclive.api.tunning.AdvancedProperties.teamRegexes","location":"-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/team-regexes.html","searchKeys":["teamRegexes","val teamRegexes: TeamRegexOverrides? = null","org.icpclive.api.tunning.AdvancedProperties.teamRegexes"]},{"name":"val teams: List","description":"org.icpclive.api.ContestInfo.teams","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/teams.html","searchKeys":["teams","val teams: List","org.icpclive.api.ContestInfo.teams"]},{"name":"val tickerMessage: AnalyticsCompanionPreset? = null","description":"org.icpclive.api.AnalyticsCommentaryEvent.tickerMessage","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/ticker-message.html","searchKeys":["tickerMessage","val tickerMessage: AnalyticsCompanionPreset? = null","org.icpclive.api.AnalyticsCommentaryEvent.tickerMessage"]},{"name":"val tiebreakMode: MedalTiebreakMode","description":"org.icpclive.api.MedalType.tiebreakMode","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-medal-type/tiebreak-mode.html","searchKeys":["tiebreakMode","val tiebreakMode: MedalTiebreakMode","org.icpclive.api.MedalType.tiebreakMode"]},{"name":"val time: Duration","description":"org.icpclive.api.RunInfo.time","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/time.html","searchKeys":["time","val time: Duration","org.icpclive.api.RunInfo.time"]},{"name":"val timeZone: TimeZone","description":"org.icpclive.cds.settings.CatsSettings.timeZone","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/time-zone.html","searchKeys":["timeZone","val timeZone: TimeZone","org.icpclive.cds.settings.CatsSettings.timeZone"]},{"name":"val timeZone: TimeZone","description":"org.icpclive.cds.settings.KRSUSettings.timeZone","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-k-r-s-u-settings/time-zone.html","searchKeys":["timeZone","val timeZone: TimeZone","org.icpclive.cds.settings.KRSUSettings.timeZone"]},{"name":"val timeZone: TimeZone","description":"org.icpclive.cds.settings.TestSysSettings.timeZone","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-test-sys-settings/time-zone.html","searchKeys":["timeZone","val timeZone: TimeZone","org.icpclive.cds.settings.TestSysSettings.timeZone"]},{"name":"val totalScore: Double","description":"org.icpclive.api.ScoreboardRow.totalScore","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/total-score.html","searchKeys":["totalScore","val totalScore: Double","org.icpclive.api.ScoreboardRow.totalScore"]},{"name":"val url: String","description":"org.icpclive.api.MediaType.Object.url","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-object/url.html","searchKeys":["url","val url: String","org.icpclive.api.MediaType.Object.url"]},{"name":"val url: String","description":"org.icpclive.api.MediaType.Photo.url","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-photo/url.html","searchKeys":["url","val url: String","org.icpclive.api.MediaType.Photo.url"]},{"name":"val url: String","description":"org.icpclive.api.MediaType.Video.url","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-video/url.html","searchKeys":["url","val url: String","org.icpclive.api.MediaType.Video.url"]},{"name":"val url: String","description":"org.icpclive.api.MediaType.WebRTCGrabberConnection.url","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/url.html","searchKeys":["url","val url: String","org.icpclive.api.MediaType.WebRTCGrabberConnection.url"]},{"name":"val url: String","description":"org.icpclive.api.MediaType.WebRTCProxyConnection.url","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/url.html","searchKeys":["url","val url: String","org.icpclive.api.MediaType.WebRTCProxyConnection.url"]},{"name":"val url: String","description":"org.icpclive.cds.settings.CatsSettings.url","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/url.html","searchKeys":["url","val url: String","org.icpclive.cds.settings.CatsSettings.url"]},{"name":"val url: String","description":"org.icpclive.cds.settings.ClicsLoaderSettings.url","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/url.html","searchKeys":["url","val url: String","org.icpclive.cds.settings.ClicsLoaderSettings.url"]},{"name":"val url: String","description":"org.icpclive.cds.settings.CodeDrillsSettings.url","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-code-drills-settings/url.html","searchKeys":["url","val url: String","org.icpclive.cds.settings.CodeDrillsSettings.url"]},{"name":"val url: String","description":"org.icpclive.cds.settings.EjudgeSettings.url","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/url.html","searchKeys":["url","val url: String","org.icpclive.cds.settings.EjudgeSettings.url"]},{"name":"val url: String","description":"org.icpclive.cds.settings.PCMSSettings.url","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/url.html","searchKeys":["url","val url: String","org.icpclive.cds.settings.PCMSSettings.url"]},{"name":"val url: String","description":"org.icpclive.cds.settings.TestSysSettings.url","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-test-sys-settings/url.html","searchKeys":["url","val url: String","org.icpclive.cds.settings.TestSysSettings.url"]},{"name":"val useTeamNames: Boolean = true","description":"org.icpclive.cds.settings.ClicsSettings.useTeamNames","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/use-team-names.html","searchKeys":["useTeamNames","val useTeamNames: Boolean = true","org.icpclive.cds.settings.ClicsSettings.useTeamNames"]},{"name":"val verdict: Verdict","description":"org.icpclive.api.ICPCRunResult.verdict","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-run-result/verdict.html","searchKeys":["verdict","val verdict: Verdict","org.icpclive.api.ICPCRunResult.verdict"]},{"name":"val wrongAttempts: Int","description":"org.icpclive.api.ICPCProblemResult.wrongAttempts","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-problem-result/wrong-attempts.html","searchKeys":["wrongAttempts","val wrongAttempts: Int","org.icpclive.api.ICPCProblemResult.wrongAttempts"]},{"name":"val wrongVerdict: Verdict? = null","description":"org.icpclive.api.IOIRunResult.wrongVerdict","location":"-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-run-result/wrong-verdict.html","searchKeys":["wrongVerdict","val wrongVerdict: Verdict? = null","org.icpclive.api.IOIRunResult.wrongVerdict"]},{"name":"value class Credential(raw: String)","description":"org.icpclive.cds.settings.Credential","location":"-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-credential/index.html","searchKeys":["Credential","value class Credential(raw: String)","org.icpclive.cds.settings.Credential"]}] diff --git a/src/cds/src/main/kotlin/org/icpclive/api/tunning/Advanced.kt b/src/cds/src/main/kotlin/org/icpclive/api/tunning/Advanced.kt index 23d9b51d8..fe5cc5a55 100644 --- a/src/cds/src/main/kotlin/org/icpclive/api/tunning/Advanced.kt +++ b/src/cds/src/main/kotlin/org/icpclive/api/tunning/Advanced.kt @@ -92,14 +92,30 @@ data class OrganizationInfoOverride( * * This class contains the data to be fixed in what is received from a contest system. * + * The order in which overrides applied: + * * Time and scoreboard related (they don't interact with others) + * * Filtering out non-submitted teams if requested + * * Regexp overrides (so values provided by them can be used in templated) + * * Creating new groups mentioned in teams or overrides and group overrides + * * Creating new organizations mentioned in teams or overrides and organization overrides + * * (Deprecated) Team media template + * * Team override template + * * Normal team overrides + * + * In all templates in all strings inside `{variableName}` pattern is substituted. + * The following variable names are supported: + * * teamId - team id from the contest system + * * orgFullName - fullName of team organization + * * orgDisplayName - displayName of team organization + * * all values from customFields + * * @param startTime Override for contest start time. * The preferred format is `yyyy-mm-dd hh:mm:ss`, but some others would be accepted too. - * Consider using 'now' if you want the contest emulation to start together with the overlay. - * startTime overrise also can affect contest state. + * startTime override also can affect contest state. * @param freezeTime Time from the start of the contest before scoreboard freezing. * @param holdTime Fixed time to show as time before the contest start * @param teamMediaTemplate Template medias for all teams. - * You can use `{teamId}` within the template, it will be substituted with team id from contest system. + * @param teamOverrideTemplate Template for team overrides * @param teamRegexes Bunch of regexes to extract information cds doesn't provide from team name. * @param teamOverrides Overrides for a specific team. Team id from the contest system is key. * @param groupOverrides Overrides for specific groups. Group name is key. @@ -130,6 +146,9 @@ data class AdvancedProperties( typealias Regex = @Serializable(with = RegexSerializer::class) kotlin.text.Regex /** + * In some cases, the contest system provides some useful information as part of team name. + * This can be used to extract this information to something more structured. + * * All regexes are java regex. * * Regexes are matched against team full name from cds. @@ -145,6 +164,17 @@ data class TeamRegexOverrides( val groupRegex: Map? = null, ) +/** + * Template for the team override. + * + * It has smaller priority than override in the team itself. + * + * Check [AdvancedProperties] doc about patterns inside template. + * + * @property displayName Template string for team display name. Check [TeamInfoOverride.displayName] for details. + * @property fullName Template string for team full name. Check [TeamInfoOverride.fullName] for details. + * @property medias Templates for team medias. Check [TeamInfoOverride.medias] for details. + */ @Serializable data class TeamOverrideTemplate( val displayName: String? = null, diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/adapters/AdvancedPropertiesAdapter.kt b/src/cds/src/main/kotlin/org/icpclive/cds/adapters/AdvancedPropertiesAdapter.kt index 7ddbc66b2..8e3bc5524 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/adapters/AdvancedPropertiesAdapter.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/adapters/AdvancedPropertiesAdapter.kt @@ -131,13 +131,13 @@ private fun mergeMaps(original: Map, override: Map) = buildM } } -fun Map.instantiateTemplate(teams: List, valueProvider: TeamInfo.(String) -> String?) = teams.associate { +private fun Map.instantiateTemplate(teams: List, valueProvider: TeamInfo.(String) -> String?) = teams.associate { it.contestSystemId to TeamInfoOverride( medias = mapValues { (_,v) -> v?.applyTemplate { name -> it.valueProvider(name) } } ) } -fun TeamOverrideTemplate.instantiateTemplate(teams: List, valueProvider: TeamInfo.(String) -> String?) = teams.associate { +private fun TeamOverrideTemplate.instantiateTemplate(teams: List, valueProvider: TeamInfo.(String) -> String?) = teams.associate { it.contestSystemId to TeamInfoOverride( fullName = fullName?.applyTemplate { name -> it.valueProvider(name) }, displayName = displayName?.applyTemplate { name -> it.valueProvider(name) }, @@ -197,13 +197,32 @@ private fun applyOverrides( info.teams.filterNotSubmitted(overrides.scoreboardOverrides?.showTeamsWithoutSubmissions, submittedTeams), overrides.teamRegexes ) - val newGroups = teamInfosPrelim.flatMap { it.groups }.toSet() - info.groups.map { it.name }.toSet() + val newGroups = buildSet { + for (team in teamInfosPrelim) { + addAll(team.groups) + } + overrides.teamOverrides?.values?.forEach { override -> + override.groups?.let { addAll(it) } + } + for (group in info.groups) { + remove(group.name) + } + } val groups = mergeGroups( info.groups + newGroups.map { GroupInfo(it, isHidden = false, isOutOfContest = false) }, overrides.groupOverrides ) - val newOrganizations = - teamInfosPrelim.mapNotNull { it.organizationId }.toSet() - info.organizations.map { it.cdsId }.toSet() + val newOrganizations = buildSet { + for (team in teamInfosPrelim) { + team.organizationId?.let { add(it) } + } + overrides.teamOverrides?.values?.forEach { override -> + override.organizationId?.let { add(it) } + } + for (group in info.organizations) { + remove(group.cdsId) + } + } val organizations = mergeOrganizations( info.organizations + newOrganizations.map { OrganizationInfo(it, it, it) }, overrides.organizationOverrides diff --git a/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.clics202003Test.approved.txt b/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.clics202003Test.approved.txt index adf643b8f..e3b0759db 100644 --- a/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.clics202003Test.approved.txt +++ b/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.clics202003Test.approved.txt @@ -143,6 +143,12 @@ "type": "Photo", "url": "/contests/finals/teams/1/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "3664", + "customFields": { + "name": "Ain Shams University - Faculty of Computer and Information Sciences" } }, { @@ -159,6 +165,12 @@ "type": "Photo", "url": "/contests/finals/teams/10/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "0144", + "customFields": { + "name": "Belarusian State University" } }, { @@ -171,6 +183,12 @@ ], "hashTag": null, "medias": { + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "1962", + "customFields": { + "name": "University of Aizu" } }, { @@ -187,6 +205,12 @@ "type": "Photo", "url": "/contests/finals/teams/101/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "2324", + "customFields": { + "name": "University of British Columbia" } }, { @@ -203,6 +227,12 @@ "type": "Photo", "url": "/contests/finals/teams/102/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "0196", + "customFields": { + "name": "University of Bucharest" } }, { @@ -219,6 +249,12 @@ "type": "Photo", "url": "/contests/finals/teams/103/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "2343", + "customFields": { + "name": "University of Cambridge" } }, { @@ -235,6 +271,12 @@ "type": "Photo", "url": "/contests/finals/teams/104/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "2349", + "customFields": { + "name": "University of Central Florida" } }, { @@ -251,6 +293,12 @@ "type": "Photo", "url": "/contests/finals/teams/105/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "2366", + "customFields": { + "name": "University of Dhaka" } }, { @@ -267,6 +315,12 @@ "type": "Photo", "url": "/contests/finals/teams/106/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "2387", + "customFields": { + "name": "University of Illinois at Urbana-Champaign" } }, { @@ -283,6 +337,12 @@ "type": "Photo", "url": "/contests/finals/teams/107/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "2400", + "customFields": { + "name": "University of Latvia" } }, { @@ -299,6 +359,12 @@ "type": "Photo", "url": "/contests/finals/teams/108/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "2493", + "customFields": { + "name": "University of Rochester" } }, { @@ -315,6 +381,12 @@ "type": "Photo", "url": "/contests/finals/teams/109/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "2519", + "customFields": { + "name": "University of Southern California" } }, { @@ -331,6 +403,12 @@ "type": "Photo", "url": "/contests/finals/teams/11/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "0140", + "customFields": { + "name": "Belarusian State University of Informatics and Radioelectronics" } }, { @@ -343,6 +421,12 @@ ], "hashTag": null, "medias": { + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "2528", + "customFields": { + "name": "University of Tehran" } }, { @@ -359,6 +443,12 @@ "type": "Photo", "url": "/contests/finals/teams/111/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "2562", + "customFields": { + "name": "University of Utah" } }, { @@ -375,6 +465,12 @@ "type": "Photo", "url": "/contests/finals/teams/112/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "2673", + "customFields": { + "name": "University of Warsaw" } }, { @@ -391,6 +487,12 @@ "type": "Photo", "url": "/contests/finals/teams/113/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "2574", + "customFields": { + "name": "University of Wisconsin - Madison" } }, { @@ -407,6 +509,12 @@ "type": "Photo", "url": "/contests/finals/teams/114/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "2589", + "customFields": { + "name": "University of Wroclaw" } }, { @@ -423,6 +531,12 @@ "type": "Photo", "url": "/contests/finals/teams/115/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "12694", + "customFields": { + "name": "Utrecht - Leiden University" } }, { @@ -439,6 +553,12 @@ "type": "Photo", "url": "/contests/finals/teams/116/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "2648", + "customFields": { + "name": "Virginia Tech" } }, { @@ -455,6 +575,12 @@ "type": "Photo", "url": "/contests/finals/teams/117/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "2659", + "customFields": { + "name": "Volgograd State Technical University" } }, { @@ -471,6 +597,12 @@ "type": "Photo", "url": "/contests/finals/teams/118/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "2742", + "customFields": { + "name": "Yerevan State University" } }, { @@ -487,6 +619,12 @@ "type": "Photo", "url": "/contests/finals/teams/119/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "2745", + "customFields": { + "name": "Yonsei University" } }, { @@ -503,6 +641,12 @@ "type": "Photo", "url": "/contests/finals/teams/12/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "0160", + "customFields": { + "name": "Bilkent University" } }, { @@ -519,6 +663,12 @@ "type": "Photo", "url": "/contests/finals/teams/13/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "5628", + "customFields": { + "name": "BITS-Pilani, Hyderabad Campus" } }, { @@ -535,6 +685,12 @@ "type": "Photo", "url": "/contests/finals/teams/14/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "3348", + "customFields": { + "name": "Cairo University - Faculty of Computers and Artificial Intelligence" } }, { @@ -551,6 +707,12 @@ "type": "Photo", "url": "/contests/finals/teams/16/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "0358", + "customFields": { + "name": "Damascus University" } }, { @@ -567,6 +729,12 @@ "type": "Photo", "url": "/contests/finals/teams/17/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "3944", + "customFields": { + "name": "Dhirubhai Ambani Institute of Information and Communication Technology, Gandhinagar" } }, { @@ -583,6 +751,12 @@ "type": "Photo", "url": "/contests/finals/teams/18/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "0413", + "customFields": { + "name": "Duke University" } }, { @@ -599,6 +773,12 @@ "type": "Photo", "url": "/contests/finals/teams/19/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "3436", + "customFields": { + "name": "École Normale Supérieure de Paris" } }, { @@ -615,6 +795,12 @@ "type": "Photo", "url": "/contests/finals/teams/2/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "7113", + "customFields": { + "name": "Al-Baath University" } }, { @@ -631,6 +817,12 @@ "type": "Photo", "url": "/contests/finals/teams/20/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "0443", + "customFields": { + "name": "Ecole Polytechnique" } }, { @@ -647,6 +839,12 @@ "type": "Photo", "url": "/contests/finals/teams/21/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "0451", + "customFields": { + "name": "ETH Zürich" } }, { @@ -663,6 +861,12 @@ "type": "Photo", "url": "/contests/finals/teams/22/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "3360", + "customFields": { + "name": "Faculty of Computer Science, Belgrade " } }, { @@ -679,6 +883,12 @@ "type": "Photo", "url": "/contests/finals/teams/23/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "5724", + "customFields": { + "name": "Free University of Tbilisi" } }, { @@ -695,6 +905,12 @@ "type": "Photo", "url": "/contests/finals/teams/24/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "3519", + "customFields": { + "name": "German University in Cairo" } }, { @@ -711,6 +927,12 @@ "type": "Photo", "url": "/contests/finals/teams/25/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "0642", + "customFields": { + "name": "Harvard University" } }, { @@ -727,6 +949,12 @@ "type": "Photo", "url": "/contests/finals/teams/26/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "6581", + "customFields": { + "name": "Higher Institute for Applied Sciences and Technology" } }, { @@ -739,6 +967,12 @@ ], "hashTag": null, "medias": { + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "0724", + "customFields": { + "name": "Indian Institute of Technology - Bombay" } }, { @@ -755,6 +989,12 @@ "type": "Photo", "url": "/contests/finals/teams/28/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "0725", + "customFields": { + "name": "Indian Institute of Technology - Delhi" } }, { @@ -771,6 +1011,12 @@ "type": "Photo", "url": "/contests/finals/teams/29/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "0718", + "customFields": { + "name": "Indian Institute of Technology - Guwahati" } }, { @@ -787,6 +1033,12 @@ "type": "Photo", "url": "/contests/finals/teams/3/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "0502", + "customFields": { + "name": "Alexandria University - Faculty of Engineering" } }, { @@ -803,6 +1055,12 @@ "type": "Photo", "url": "/contests/finals/teams/30/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "5640", + "customFields": { + "name": "Indian Institute of Technology - Indore" } }, { @@ -819,6 +1077,12 @@ "type": "Photo", "url": "/contests/finals/teams/31/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "0727", + "customFields": { + "name": "Indian Institute of Technology - Kanpur" } }, { @@ -835,6 +1099,12 @@ "type": "Photo", "url": "/contests/finals/teams/32/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "0728", + "customFields": { + "name": "Indian Institute of Technology - Kharagpur" } }, { @@ -851,6 +1121,12 @@ "type": "Photo", "url": "/contests/finals/teams/33/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "6908", + "customFields": { + "name": "Indian Institute of Technology - Patna" } }, { @@ -867,6 +1143,12 @@ "type": "Photo", "url": "/contests/finals/teams/34/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "0722", + "customFields": { + "name": "Indian Institute of Technology - Roorkee" } }, { @@ -883,6 +1165,12 @@ "type": "Photo", "url": "/contests/finals/teams/35/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "9406", + "customFields": { + "name": "Indian Institute of Technology - Varanasi" } }, { @@ -899,6 +1187,12 @@ "type": "Photo", "url": "/contests/finals/teams/36/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "3919", + "customFields": { + "name": "Indian Institute of Technology (ISM), Dhanbad" } }, { @@ -915,6 +1209,12 @@ "type": "Photo", "url": "/contests/finals/teams/37/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "9574", + "customFields": { + "name": "Indraprastha Institute of Information Technology" } }, { @@ -931,6 +1231,12 @@ "type": "Photo", "url": "/contests/finals/teams/38/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "7857", + "customFields": { + "name": "Innopolis University" } }, { @@ -947,6 +1253,12 @@ "type": "Photo", "url": "/contests/finals/teams/39/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "6960", + "customFields": { + "name": "Institut National des Sciences Appliquées et de Technologie" } }, { @@ -963,6 +1275,12 @@ "type": "Photo", "url": "/contests/finals/teams/4/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "0061", + "customFields": { + "name": "American University - Central Asia" } }, { @@ -979,6 +1297,12 @@ "type": "Photo", "url": "/contests/finals/teams/40/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "7325", + "customFields": { + "name": "Institute of Computing - Federal University of Amazonas" } }, { @@ -995,6 +1319,12 @@ "type": "Photo", "url": "/contests/finals/teams/41/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "3071", + "customFields": { + "name": "Instituto de Informática - UFG" } }, { @@ -1011,6 +1341,12 @@ "type": "Photo", "url": "/contests/finals/teams/42/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "0846", + "customFields": { + "name": "International Institute of Information Technology - Hyderabad" } }, { @@ -1027,6 +1363,12 @@ "type": "Photo", "url": "/contests/finals/teams/43/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "4330", + "customFields": { + "name": "International IT University" } }, { @@ -1043,6 +1385,12 @@ "type": "Photo", "url": "/contests/finals/teams/44/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "0923", + "customFields": { + "name": "Izhevsk State Technical University" } }, { @@ -1059,6 +1407,12 @@ "type": "Photo", "url": "/contests/finals/teams/45/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "0931", + "customFields": { + "name": "Jagiellonian University in Krakow" } }, { @@ -1075,6 +1429,12 @@ "type": "Photo", "url": "/contests/finals/teams/46/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "0993", + "customFields": { + "name": "Kazan (Volga Region) Federal University" } }, { @@ -1091,6 +1451,12 @@ "type": "Photo", "url": "/contests/finals/teams/47/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "1008", + "customFields": { + "name": "Kharkiv National University of Radio Electronics" } }, { @@ -1107,6 +1473,12 @@ "type": "Photo", "url": "/contests/finals/teams/48/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "1026", + "customFields": { + "name": "Korea University" } }, { @@ -1123,6 +1495,12 @@ "type": "Photo", "url": "/contests/finals/teams/49/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "7423", + "customFields": { + "name": "Kyungpook National University" } }, { @@ -1139,6 +1517,12 @@ "type": "Photo", "url": "/contests/finals/teams/5/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "0065", + "customFields": { + "name": "American University of Beirut" } }, { @@ -1155,6 +1539,12 @@ "type": "Photo", "url": "/contests/finals/teams/50/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "1145", + "customFields": { + "name": "Massachusetts Institute of Technology" } }, { @@ -1171,6 +1561,12 @@ "type": "Photo", "url": "/contests/finals/teams/51/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "1214", + "customFields": { + "name": "Moscow Aviation Institute" } }, { @@ -1187,6 +1583,12 @@ "type": "Photo", "url": "/contests/finals/teams/52/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "1220", + "customFields": { + "name": "Moscow Institute of Physics and Technology" } }, { @@ -1203,6 +1605,12 @@ "type": "Photo", "url": "/contests/finals/teams/53/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "1237", + "customFields": { + "name": "Moscow State University" } }, { @@ -1219,6 +1627,12 @@ "type": "Photo", "url": "/contests/finals/teams/54/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "1215", + "customFields": { + "name": "National Research Nuclear University MEPhI (Moscow Engineering Physics Institute)" } }, { @@ -1235,6 +1649,12 @@ "type": "Photo", "url": "/contests/finals/teams/55/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "3534", + "customFields": { + "name": "National Research University Higher School of Economics" } }, { @@ -1251,6 +1671,12 @@ "type": "Photo", "url": "/contests/finals/teams/56/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "1303", + "customFields": { + "name": "National Taiwan University" } }, { @@ -1267,6 +1693,12 @@ "type": "Photo", "url": "/contests/finals/teams/58/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "9780", + "customFields": { + "name": "Netaji Subhash University Of Technology" } }, { @@ -1283,6 +1715,12 @@ "type": "Photo", "url": "/contests/finals/teams/59/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "1338", + "customFields": { + "name": "Nizhny Novgorod State University" } }, { @@ -1299,6 +1737,12 @@ "type": "Photo", "url": "/contests/finals/teams/6/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "0068", + "customFields": { + "name": "Amirkabir University of Technology" } }, { @@ -1311,6 +1755,12 @@ ], "hashTag": null, "medias": { + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "7898", + "customFields": { + "name": "NU-FAST Karachi" } }, { @@ -1327,6 +1777,12 @@ "type": "Photo", "url": "/contests/finals/teams/61/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "1452", + "customFields": { + "name": "Perm State University" } }, { @@ -1343,6 +1799,12 @@ "type": "Photo", "url": "/contests/finals/teams/62/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "4376", + "customFields": { + "name": "Princess Sumaya University for Technology" } }, { @@ -1359,6 +1821,12 @@ "type": "Photo", "url": "/contests/finals/teams/63/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "3328", + "customFields": { + "name": "Purdue University" } }, { @@ -1375,6 +1843,12 @@ "type": "Photo", "url": "/contests/finals/teams/64/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "1623", + "customFields": { + "name": "Saratov State University" } }, { @@ -1391,6 +1865,12 @@ "type": "Photo", "url": "/contests/finals/teams/65/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "1636", + "customFields": { + "name": "Seoul National University" } }, { @@ -1407,6 +1887,12 @@ "type": "Photo", "url": "/contests/finals/teams/66/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "1677", + "customFields": { + "name": "Sharif University of Technology" } }, { @@ -1423,6 +1909,12 @@ "type": "Photo", "url": "/contests/finals/teams/67/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "1730", + "customFields": { + "name": "Sogang University" } }, { @@ -1439,6 +1931,12 @@ "type": "Photo", "url": "/contests/finals/teams/68/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "9606", + "customFields": { + "name": "St. Petersburg Campus of Higher School of Economics" } }, { @@ -1455,6 +1953,12 @@ "type": "Photo", "url": "/contests/finals/teams/69/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "3295", + "customFields": { + "name": "St. Petersburg ITMO University" } }, { @@ -1471,6 +1975,12 @@ "type": "Photo", "url": "/contests/finals/teams/7/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "0081", + "customFields": { + "name": "Arab Academy for Science and Technology - Alexandria" } }, { @@ -1487,6 +1997,12 @@ "type": "Photo", "url": "/contests/finals/teams/70/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "1802", + "customFields": { + "name": "St. Petersburg State University" } }, { @@ -1503,6 +2019,12 @@ "type": "Photo", "url": "/contests/finals/teams/71/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "1822", + "customFields": { + "name": "Stanford University" } }, { @@ -1519,6 +2041,12 @@ "type": "Photo", "url": "/contests/finals/teams/72/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "8162", + "customFields": { + "name": "Syrian Virtual University" } }, { @@ -1535,6 +2063,12 @@ "type": "Photo", "url": "/contests/finals/teams/73/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "1917", + "customFields": { + "name": "Technische Universität München" } }, { @@ -1551,6 +2085,12 @@ "type": "Photo", "url": "/contests/finals/teams/74/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "1966", + "customFields": { + "name": "The University of Asia Pacific" } }, { @@ -1567,6 +2107,12 @@ "type": "Photo", "url": "/contests/finals/teams/75/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "1977", + "customFields": { + "name": "The University of Jordan" } }, { @@ -1583,6 +2129,12 @@ "type": "Photo", "url": "/contests/finals/teams/76/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "2538", + "customFields": { + "name": "The University of Texas at Dallas" } }, { @@ -1599,6 +2151,12 @@ "type": "Photo", "url": "/contests/finals/teams/77/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "3775", + "customFields": { + "name": "Tishreen University" } }, { @@ -1615,6 +2173,12 @@ "type": "Photo", "url": "/contests/finals/teams/78/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "4846", + "customFields": { + "name": "Ulsan National Institute of Science and Technology" } }, { @@ -1631,6 +2195,12 @@ "type": "Photo", "url": "/contests/finals/teams/79/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "3683", + "customFields": { + "name": "Universidad de Buenos Aires - FCEN" } }, { @@ -1647,6 +2217,12 @@ "type": "Photo", "url": "/contests/finals/teams/8/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "8628", + "customFields": { + "name": "Avicenna University" } }, { @@ -1659,6 +2235,12 @@ ], "hashTag": null, "medias": { + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "2107", + "customFields": { + "name": "Universidad de Chile" } }, { @@ -1671,6 +2253,12 @@ ], "hashTag": null, "medias": { + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "5716", + "customFields": { + "name": "Universidad de Costa Rica" } }, { @@ -1687,6 +2275,12 @@ "type": "Photo", "url": "/contests/finals/teams/82/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "8140", + "customFields": { + "name": "Universidad de Guanajuato - DCNE" } }, { @@ -1703,6 +2297,12 @@ "type": "Photo", "url": "/contests/finals/teams/83/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "2112", + "customFields": { + "name": "Universidad de La Habana" } }, { @@ -1719,6 +2319,12 @@ "type": "Photo", "url": "/contests/finals/teams/84/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "4193", + "customFields": { + "name": "Universidad de Oriente - Sede Antonio Maceo" } }, { @@ -1735,6 +2341,12 @@ "type": "Photo", "url": "/contests/finals/teams/85/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "3098", + "customFields": { + "name": "Universidad Icesi" } }, { @@ -1751,6 +2363,12 @@ "type": "Photo", "url": "/contests/finals/teams/86/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "3272", + "customFields": { + "name": "Universidad Nacional de Colombia - Bogotá" } }, { @@ -1767,6 +2385,12 @@ "type": "Photo", "url": "/contests/finals/teams/87/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "0492", + "customFields": { + "name": "Universidad Nacional de Córdoba - FaMAF" } }, { @@ -1783,6 +2407,12 @@ "type": "Photo", "url": "/contests/finals/teams/88/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "3487", + "customFields": { + "name": "Universidad Nacional del Sur" } }, { @@ -1799,6 +2429,12 @@ "type": "Photo", "url": "/contests/finals/teams/89/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "3372", + "customFields": { + "name": "Universidad Panamericana Campus Bonaterra" } }, { @@ -1811,6 +2447,12 @@ ], "hashTag": null, "medias": { + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "0114", + "customFields": { + "name": "Bangladesh University of Engineering and Technology" } }, { @@ -1823,6 +2465,12 @@ ], "hashTag": null, "medias": { + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "2172", + "customFields": { + "name": "Universidad Simón Bolívar" } }, { @@ -1839,6 +2487,12 @@ "type": "Photo", "url": "/contests/finals/teams/91/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "2195", + "customFields": { + "name": "Universidade de Brasília" } }, { @@ -1855,6 +2509,12 @@ "type": "Photo", "url": "/contests/finals/teams/92/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "2204", + "customFields": { + "name": "Universidade de São Paulo" } }, { @@ -1871,6 +2531,12 @@ "type": "Photo", "url": "/contests/finals/teams/93/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "0695", + "customFields": { + "name": "Universidade de São Paulo - Campus de São Carlos" } }, { @@ -1887,6 +2553,12 @@ "type": "Photo", "url": "/contests/finals/teams/94/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "2216", + "customFields": { + "name": "Universidade Estadual de Campinas" } }, { @@ -1903,6 +2575,12 @@ "type": "Photo", "url": "/contests/finals/teams/95/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "2230", + "customFields": { + "name": "Universidade Federal de Minas Gerais" } }, { @@ -1919,6 +2597,12 @@ "type": "Photo", "url": "/contests/finals/teams/96/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "2232", + "customFields": { + "name": "Universidade Federal de Pernambuco" } }, { @@ -1935,6 +2619,12 @@ "type": "Photo", "url": "/contests/finals/teams/97/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "4166", + "customFields": { + "name": "Universidade Federal do Ceará - Campus Quixadá" } }, { @@ -1951,6 +2641,12 @@ "type": "Photo", "url": "/contests/finals/teams/98/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "7990", + "customFields": { + "name": "Università Degli Studi di Milano" } }, { @@ -1967,6 +2663,12 @@ "type": "Photo", "url": "/contests/finals/teams/99/photo.jpg" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "2390", + "customFields": { + "name": "Universitas Indonesia" } } ], @@ -1999,6 +2701,598 @@ "name": "Jury" } ], + "organizations": [ + { + "cdsId": "0061", + "displayName": "AUCA", + "fullName": "American University - Central Asia" + }, + { + "cdsId": "0065", + "displayName": "AU Beirut", + "fullName": "American University of Beirut" + }, + { + "cdsId": "0068", + "displayName": "Amirkabir UT", + "fullName": "Amirkabir University of Technology" + }, + { + "cdsId": "0081", + "displayName": "AAST-Alex", + "fullName": "Arab Academy for Science and Technology - Alexandria" + }, + { + "cdsId": "0114", + "displayName": "BUET", + "fullName": "Bangladesh University of Engineering and Technology" + }, + { + "cdsId": "0140", + "displayName": "BSUIR", + "fullName": "Belarusian State University of Informatics and Radioelectronics" + }, + { + "cdsId": "0144", + "displayName": "Belarusian SU", + "fullName": "Belarusian State University" + }, + { + "cdsId": "0160", + "displayName": "Bilkent U.", + "fullName": "Bilkent University" + }, + { + "cdsId": "0196", + "displayName": "UniBuc", + "fullName": "University of Bucharest" + }, + { + "cdsId": "0232", + "displayName": "Carnegie Mellon", + "fullName": "Carnegie Mellon University" + }, + { + "cdsId": "0358", + "displayName": "Damascus U", + "fullName": "Damascus University" + }, + { + "cdsId": "0413", + "displayName": "Duke", + "fullName": "Duke University" + }, + { + "cdsId": "0443", + "displayName": "EP", + "fullName": "Ecole Polytechnique" + }, + { + "cdsId": "0451", + "displayName": "ETH Zürich", + "fullName": "ETH Zürich" + }, + { + "cdsId": "0492", + "displayName": "FAMAF - UNC", + "fullName": "Universidad Nacional de Córdoba - FaMAF" + }, + { + "cdsId": "0502", + "displayName": "Alex-FE", + "fullName": "Alexandria University - Faculty of Engineering" + }, + { + "cdsId": "0642", + "displayName": "Harvard", + "fullName": "Harvard University" + }, + { + "cdsId": "0695", + "displayName": "USP - São Carlos", + "fullName": "Universidade de São Paulo - Campus de São Carlos" + }, + { + "cdsId": "0718", + "displayName": "IIT Guwahati", + "fullName": "Indian Institute of Technology - Guwahati" + }, + { + "cdsId": "0722", + "displayName": "IIT Roorkee", + "fullName": "Indian Institute of Technology - Roorkee" + }, + { + "cdsId": "0724", + "displayName": "IIT Bombay", + "fullName": "Indian Institute of Technology - Bombay" + }, + { + "cdsId": "0725", + "displayName": "IIT Delhi", + "fullName": "Indian Institute of Technology - Delhi" + }, + { + "cdsId": "0727", + "displayName": "IIT Kanpur", + "fullName": "Indian Institute of Technology - Kanpur" + }, + { + "cdsId": "0728", + "displayName": "IIT Kharagpur", + "fullName": "Indian Institute of Technology - Kharagpur" + }, + { + "cdsId": "0846", + "displayName": "IIIT Hyderabad", + "fullName": "International Institute of Information Technology - Hyderabad" + }, + { + "cdsId": "0923", + "displayName": "Izhevsk STU", + "fullName": "Izhevsk State Technical University" + }, + { + "cdsId": "0931", + "displayName": "Jagiellonian", + "fullName": "Jagiellonian University in Krakow" + }, + { + "cdsId": "0993", + "displayName": "Kazan FU", + "fullName": "Kazan (Volga Region) Federal University" + }, + { + "cdsId": "1008", + "displayName": "KhNURE", + "fullName": "Kharkiv National University of Radio Electronics" + }, + { + "cdsId": "1026", + "displayName": "Korea U", + "fullName": "Korea University" + }, + { + "cdsId": "1145", + "displayName": "MIT", + "fullName": "Massachusetts Institute of Technology" + }, + { + "cdsId": "1214", + "displayName": "MAI", + "fullName": "Moscow Aviation Institute" + }, + { + "cdsId": "1215", + "displayName": "MEPhI", + "fullName": "National Research Nuclear University MEPhI (Moscow Engineering Physics Institute)" + }, + { + "cdsId": "1220", + "displayName": "MIPT", + "fullName": "Moscow Institute of Physics and Technology" + }, + { + "cdsId": "1237", + "displayName": "Moscow SU", + "fullName": "Moscow State University" + }, + { + "cdsId": "12694", + "displayName": "Utrecht - Leiden", + "fullName": "Utrecht - Leiden University" + }, + { + "cdsId": "1303", + "displayName": "National Taiwan U", + "fullName": "National Taiwan University" + }, + { + "cdsId": "1338", + "displayName": "UNN", + "fullName": "Nizhny Novgorod State University" + }, + { + "cdsId": "1452", + "displayName": "Perm SU", + "fullName": "Perm State University" + }, + { + "cdsId": "1623", + "displayName": "Saratov State U", + "fullName": "Saratov State University" + }, + { + "cdsId": "1636", + "displayName": "Seoul National U", + "fullName": "Seoul National University" + }, + { + "cdsId": "1677", + "displayName": "Sharif UT", + "fullName": "Sharif University of Technology" + }, + { + "cdsId": "1730", + "displayName": "Sogang U", + "fullName": "Sogang University" + }, + { + "cdsId": "1802", + "displayName": "St. Petersburg SU", + "fullName": "St. Petersburg State University" + }, + { + "cdsId": "1822", + "displayName": "Stanford", + "fullName": "Stanford University" + }, + { + "cdsId": "1917", + "displayName": "TUM", + "fullName": "Technische Universität München" + }, + { + "cdsId": "1962", + "displayName": "U Aizu", + "fullName": "University of Aizu" + }, + { + "cdsId": "1966", + "displayName": "UAP", + "fullName": "The University of Asia Pacific" + }, + { + "cdsId": "1977", + "displayName": "UJ", + "fullName": "The University of Jordan" + }, + { + "cdsId": "2107", + "displayName": "UChile", + "fullName": "Universidad de Chile" + }, + { + "cdsId": "2112", + "displayName": "UH", + "fullName": "Universidad de La Habana" + }, + { + "cdsId": "2172", + "displayName": "USB", + "fullName": "Universidad Simón Bolívar" + }, + { + "cdsId": "2195", + "displayName": "UnB", + "fullName": "Universidade de Brasília" + }, + { + "cdsId": "2204", + "displayName": "USP", + "fullName": "Universidade de São Paulo" + }, + { + "cdsId": "2216", + "displayName": "UNICAMP", + "fullName": "Universidade Estadual de Campinas" + }, + { + "cdsId": "2230", + "displayName": "UFMG", + "fullName": "Universidade Federal de Minas Gerais" + }, + { + "cdsId": "2232", + "displayName": "UFPE", + "fullName": "Universidade Federal de Pernambuco" + }, + { + "cdsId": "2324", + "displayName": "U British Columbia", + "fullName": "University of British Columbia" + }, + { + "cdsId": "2343", + "displayName": "Cambridge", + "fullName": "University of Cambridge" + }, + { + "cdsId": "2349", + "displayName": "U Central Florida", + "fullName": "University of Central Florida" + }, + { + "cdsId": "2366", + "displayName": "U Dhaka", + "fullName": "University of Dhaka" + }, + { + "cdsId": "2387", + "displayName": "U Illinois at U-C", + "fullName": "University of Illinois at Urbana-Champaign" + }, + { + "cdsId": "2390", + "displayName": "UI", + "fullName": "Universitas Indonesia" + }, + { + "cdsId": "2400", + "displayName": "Latvia", + "fullName": "University of Latvia" + }, + { + "cdsId": "2493", + "displayName": "U Rochester", + "fullName": "University of Rochester" + }, + { + "cdsId": "2519", + "displayName": "USC", + "fullName": "University of Southern California" + }, + { + "cdsId": "2528", + "displayName": "UT", + "fullName": "University of Tehran" + }, + { + "cdsId": "2538", + "displayName": "UT Dallas", + "fullName": "The University of Texas at Dallas" + }, + { + "cdsId": "2562", + "displayName": "Utah", + "fullName": "University of Utah" + }, + { + "cdsId": "2574", + "displayName": "U Wisconsin - Madison", + "fullName": "University of Wisconsin - Madison" + }, + { + "cdsId": "2589", + "displayName": "U Wroclaw", + "fullName": "University of Wroclaw" + }, + { + "cdsId": "2648", + "displayName": "Virginia Tech", + "fullName": "Virginia Tech" + }, + { + "cdsId": "2659", + "displayName": "Volgograd STU", + "fullName": "Volgograd State Technical University" + }, + { + "cdsId": "2673", + "displayName": "U Warsaw", + "fullName": "University of Warsaw" + }, + { + "cdsId": "2742", + "displayName": "YSU", + "fullName": "Yerevan State University" + }, + { + "cdsId": "2745", + "displayName": "Yonsei U", + "fullName": "Yonsei University" + }, + { + "cdsId": "3071", + "displayName": "UFG", + "fullName": "Instituto de Informática - UFG" + }, + { + "cdsId": "3098", + "displayName": "ICESI", + "fullName": "Universidad Icesi" + }, + { + "cdsId": "3272", + "displayName": "UNAL Bogotá", + "fullName": "Universidad Nacional de Colombia - Bogotá" + }, + { + "cdsId": "3295", + "displayName": "SPb ITMO", + "fullName": "St. Petersburg ITMO University" + }, + { + "cdsId": "3328", + "displayName": "Purdue", + "fullName": "Purdue University" + }, + { + "cdsId": "3348", + "displayName": "CU-FCAI", + "fullName": "Cairo University - Faculty of Computers and Artificial Intelligence" + }, + { + "cdsId": "3360", + "displayName": "RAF", + "fullName": "Faculty of Computer Science, Belgrade " + }, + { + "cdsId": "3372", + "displayName": "UP Bonaterra", + "fullName": "Universidad Panamericana Campus Bonaterra" + }, + { + "cdsId": "3436", + "displayName": "ENS Paris", + "fullName": "École Normale Supérieure de Paris" + }, + { + "cdsId": "3487", + "displayName": "UN del Sur", + "fullName": "Universidad Nacional del Sur" + }, + { + "cdsId": "3519", + "displayName": "GUC", + "fullName": "German University in Cairo" + }, + { + "cdsId": "3534", + "displayName": "HSE", + "fullName": "National Research University Higher School of Economics" + }, + { + "cdsId": "3664", + "displayName": "ASU-FCIS", + "fullName": "Ain Shams University - Faculty of Computer and Information Sciences" + }, + { + "cdsId": "3683", + "displayName": "UBA - FCEN", + "fullName": "Universidad de Buenos Aires - FCEN" + }, + { + "cdsId": "3775", + "displayName": "Tishreen", + "fullName": "Tishreen University" + }, + { + "cdsId": "3919", + "displayName": "IIT(ISM) Dhanbad", + "fullName": "Indian Institute of Technology (ISM), Dhanbad" + }, + { + "cdsId": "3944", + "displayName": "DA-IICT", + "fullName": "Dhirubhai Ambani Institute of Information and Communication Technology, Gandhinagar" + }, + { + "cdsId": "4166", + "displayName": "UFC-Quixadá", + "fullName": "Universidade Federal do Ceará - Campus Quixadá" + }, + { + "cdsId": "4193", + "displayName": "UO-SAM", + "fullName": "Universidad de Oriente - Sede Antonio Maceo" + }, + { + "cdsId": "4330", + "displayName": "IITU", + "fullName": "International IT University" + }, + { + "cdsId": "4376", + "displayName": "PSUT", + "fullName": "Princess Sumaya University for Technology" + }, + { + "cdsId": "4846", + "displayName": "UNIST", + "fullName": "Ulsan National Institute of Science and Technology" + }, + { + "cdsId": "5628", + "displayName": "BPHC", + "fullName": "BITS-Pilani, Hyderabad Campus" + }, + { + "cdsId": "5640", + "displayName": "IIT Indore", + "fullName": "Indian Institute of Technology - Indore" + }, + { + "cdsId": "5716", + "displayName": "UCR", + "fullName": "Universidad de Costa Rica" + }, + { + "cdsId": "5724", + "displayName": "Free U of Tbilisi", + "fullName": "Free University of Tbilisi" + }, + { + "cdsId": "6581", + "displayName": "HIAST", + "fullName": "Higher Institute for Applied Sciences and Technology" + }, + { + "cdsId": "6908", + "displayName": "IIT Patna", + "fullName": "Indian Institute of Technology - Patna" + }, + { + "cdsId": "6960", + "displayName": "INSAT", + "fullName": "Institut National des Sciences Appliquées et de Technologie" + }, + { + "cdsId": "7113", + "displayName": "Al-Baath", + "fullName": "Al-Baath University" + }, + { + "cdsId": "7325", + "displayName": "IComp/UFAM", + "fullName": "Institute of Computing - Federal University of Amazonas" + }, + { + "cdsId": "7423", + "displayName": "Kyungpook National U", + "fullName": "Kyungpook National University" + }, + { + "cdsId": "7857", + "displayName": "Innopolis", + "fullName": "Innopolis University" + }, + { + "cdsId": "7898", + "displayName": "NU-FAST-KHI", + "fullName": "NU-FAST Karachi" + }, + { + "cdsId": "7990", + "displayName": "UNIMI", + "fullName": "Università Degli Studi di Milano" + }, + { + "cdsId": "8140", + "displayName": "UG-CIMAT", + "fullName": "Universidad de Guanajuato - DCNE" + }, + { + "cdsId": "8162", + "displayName": "SVU", + "fullName": "Syrian Virtual University" + }, + { + "cdsId": "8628", + "displayName": "AU", + "fullName": "Avicenna University" + }, + { + "cdsId": "9406", + "displayName": "IITBHU", + "fullName": "Indian Institute of Technology - Varanasi" + }, + { + "cdsId": "9574", + "displayName": "IIIT DELHI", + "fullName": "Indraprastha Institute of Information Technology" + }, + { + "cdsId": "9606", + "displayName": "SPb HSE", + "fullName": "St. Petersburg Campus of Higher School of Economics" + }, + { + "cdsId": "9780", + "displayName": "NSUT", + "fullName": "Netaji Subhash University Of Technology" + } + ], "penaltyRoundingMode": "each_submission_down_to_minute" }, "runs": [ diff --git a/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.clics202207Test.approved.txt b/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.clics202207Test.approved.txt index bc842c249..260256e93 100644 --- a/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.clics202207Test.approved.txt +++ b/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.clics202207Test.approved.txt @@ -119,6 +119,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/1/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "451", + "customFields": { + "name": "gETHyped" } }, { @@ -135,6 +141,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/2/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "2079", + "customFields": { + "name": "The Fan Team" } }, { @@ -151,6 +163,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/3/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "7083", + "customFields": { + "name": "Fallback Solutions" } }, { @@ -167,6 +185,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/4/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "8483", + "customFields": { + "name": "Top Of The Mountain" } }, { @@ -183,6 +207,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/5/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "8886", + "customFields": { + "name": "J'en perds deux" } }, { @@ -199,6 +229,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/6/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "8450", + "customFields": { + "name": "WalkLike3Egyptians" } }, { @@ -215,6 +251,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/7/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "10678", + "customFields": { + "name": "dQw4w9WgXcQ" } }, { @@ -231,6 +273,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/8/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "2122", + "customFields": { + "name": "Greedy2SAES" } }, { @@ -247,6 +295,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/9/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "5282", + "customFields": { + "name": "UBIdé" } }, { @@ -263,6 +317,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/10/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "3409", + "customFields": { + "name": "ENSLip" } }, { @@ -279,6 +339,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/11/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "11111", + "customFields": { + "name": "Jokers" } }, { @@ -295,6 +361,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/13/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "16191", + "customFields": { + "name": "CPU" } }, { @@ -311,6 +383,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/14/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "443", + "customFields": { + "name": "X Gonna Code It to Ya" } }, { @@ -327,6 +405,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/15/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "20085", + "customFields": { + "name": "CUNEF-1" } }, { @@ -343,6 +427,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/16/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "2257", + "customFields": { + "name": "Genova 1" } }, { @@ -359,6 +449,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/17/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "11205", + "customFields": { + "name": "JIS" } }, { @@ -375,6 +471,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/18/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "5282", + "customFields": { + "name": "UBIk" } }, { @@ -391,6 +493,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/19/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "3236", + "customFields": { + "name": "SIGKILL" } }, { @@ -407,6 +515,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/20/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "5687", + "customFields": { + "name": "ECL 1" } }, { @@ -423,6 +537,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/21/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "8869", + "customFields": { + "name": "flag[11]" } }, { @@ -439,6 +559,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/22/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "478", + "customFields": { + "name": "Rated C++" } }, { @@ -455,6 +581,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/23/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "742", + "customFields": { + "name": "INSA 1" } }, { @@ -471,6 +603,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/24/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "2273", + "customFields": { + "name": "UPC-3" } }, { @@ -487,6 +625,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/25/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "8869", + "customFields": { + "name": "flag[10]" } }, { @@ -503,6 +647,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/26/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "10640", + "customFields": { + "name": "DROP TABLE" } }, { @@ -519,6 +669,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/27/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "11538", + "customFields": { + "name": "Polychotomy" } }, { @@ -535,6 +691,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/28/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "11111", + "customFields": { + "name": "Bestagons" } }, { @@ -551,6 +713,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/29/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "10678", + "customFields": { + "name": "CoffeLimitExceeded" } }, { @@ -567,6 +735,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/30/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "6379", + "customFields": { + "name": "Un CE más" } }, { @@ -583,6 +757,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/31/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "10689", + "customFields": { + "name": "Sorbonne Rouge" } }, { @@ -599,6 +779,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/32/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "742", + "customFields": { + "name": "INSA 3" } }, { @@ -615,6 +801,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/33/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "8246", + "customFields": { + "name": "team name goes here" } }, { @@ -631,6 +823,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/34/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "20085", + "customFields": { + "name": "CUNEF-A" } }, { @@ -647,6 +845,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/35/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "3236", + "customFields": { + "name": "Pr3s3nTati0n_3Rr0r" } }, { @@ -663,6 +867,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/36/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "7083", + "customFields": { + "name": "Toroidal Polihedrons" } }, { @@ -679,6 +889,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/37/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "10689", + "customFields": { + "name": "Sorbonne Blanc" } }, { @@ -695,6 +911,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/38/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "443", + "customFields": { + "name": "In eXtremis" } }, { @@ -711,6 +933,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/39/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "9745", + "customFields": { + "name": "x^3" } }, { @@ -727,6 +955,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/40/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "2261", + "customFields": { + "name": "UniTN MindsHub" } }, { @@ -743,6 +977,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/41/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "2170", + "customFields": { + "name": "Hackbulla" } }, { @@ -759,6 +999,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/42/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "8460", + "customFields": { + "name": "Slippin' Jimmies" } }, { @@ -775,6 +1021,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/43/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "9635", + "customFields": { + "name": "7uring_net7" } }, { @@ -791,6 +1043,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/44/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "8246", + "customFields": { + "name": "AFL" } }, { @@ -807,6 +1065,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/45/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "2079", + "customFields": { + "name": "de Morgan" } }, { @@ -823,6 +1087,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/46/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "11111", + "customFields": { + "name": "TempName" } }, { @@ -839,6 +1109,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/47/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "10685", + "customFields": { + "name": "Télégendaire" } }, { @@ -855,6 +1131,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/48/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "2263", + "customFields": { + "name": "Gli informagici" } }, { @@ -871,6 +1153,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/49/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "2273", + "customFields": { + "name": "UPC-1" } }, { @@ -887,6 +1175,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/50/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "444", + "customFields": { + "name": "EPFL 1" } }, { @@ -903,6 +1197,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/51/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "7990", + "customFields": { + "name": "LaStatale Blue" } }, { @@ -919,6 +1219,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/52/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "789", + "customFields": { + "name": "The Outlaws" } }, { @@ -935,6 +1241,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/53/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "10689", + "customFields": { + "name": "Sorbonne Bleu" } }, { @@ -951,6 +1263,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/54/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "11205", + "customFields": { + "name": "Overflow" } }, { @@ -967,6 +1285,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/55/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "19561", + "customFields": { + "name": "Javaman" } }, { @@ -983,6 +1307,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/56/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "2166", + "customFields": { + "name": "ETSINF-1" } }, { @@ -999,6 +1329,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/57/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "2261", + "customFields": { + "name": "UniTN Fenwick Treento" } }, { @@ -1015,6 +1351,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/58/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "2263", + "customFields": { + "name": "MastersOfBreaks" } }, { @@ -1031,6 +1373,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/59/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "6369", + "customFields": { + "name": "UPV-EHU-2" } }, { @@ -1047,6 +1395,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/60/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "3409", + "customFields": { + "name": "ENSheep" } }, { @@ -1063,6 +1417,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/61/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "444", + "customFields": { + "name": "EPFL 2" } }, { @@ -1079,6 +1439,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/62/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "2170", + "customFields": { + "name": "pik2s" } }, { @@ -1095,6 +1461,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/63/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "10706", + "customFields": { + "name": "Risi&&Bisi" } }, { @@ -1111,6 +1483,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/64/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "8886", + "customFields": { + "name": "Serge" } }, { @@ -1127,6 +1505,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/65/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "5687", + "customFields": { + "name": "ECL 2" } }, { @@ -1143,6 +1527,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/66/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "2257", + "customFields": { + "name": "Genova 2" } }, { @@ -1159,6 +1549,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/67/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "2273", + "customFields": { + "name": "UPC-2" } }, { @@ -1175,6 +1571,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/68/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "11205", + "customFields": { + "name": "SaintGermainDesPres1" } }, { @@ -1191,6 +1593,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/69/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "451", + "customFields": { + "name": "Save water - shower togETHer" } }, { @@ -1207,6 +1615,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/70/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "478", + "customFields": { + "name": "Heroes of the C" } }, { @@ -1223,6 +1637,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/71/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "8488", + "customFields": { + "name": "Code Force One" } }, { @@ -1239,6 +1659,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/72/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "10678", + "customFields": { + "name": "bogosolving" } }, { @@ -1255,6 +1681,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/73/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "11538", + "customFields": { + "name": "error 2F4U" } }, { @@ -1271,6 +1703,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/74/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "460", + "customFields": { + "name": "ensipc" } }, { @@ -1287,6 +1725,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/75/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "5282", + "customFields": { + "name": "jUBIleu" } }, { @@ -1303,6 +1747,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/76/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "6369", + "customFields": { + "name": "UPV-EHU-1" } }, { @@ -1319,6 +1769,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/77/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "2263", + "customFields": { + "name": "Quickbits" } }, { @@ -1335,6 +1791,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/78/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "3436", + "customFields": { + "name": "ENS Ulm 3" } }, { @@ -1351,6 +1813,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/79/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "3409", + "customFields": { + "name": "E N S p a c e" } }, { @@ -1367,6 +1835,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/80/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "7083", + "customFields": { + "name": "Overkill" } }, { @@ -1383,6 +1857,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/81/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "15696", + "customFields": { + "name": "Brogrammers" } }, { @@ -1399,6 +1879,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/82/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "2122", + "customFields": { + "name": "Don't you C?" } }, { @@ -1415,6 +1901,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/83/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "789", + "customFields": { + "name": "FantasticoDebug" } }, { @@ -1431,6 +1923,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/84/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "7435", + "customFields": { + "name": "UNIBOis" } }, { @@ -1447,6 +1945,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/85/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "2260", + "customFields": { + "name": "SapienzaWhite" } }, { @@ -1463,6 +1967,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/86/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "10685", + "customFields": { + "name": "Telecoders" } }, { @@ -1479,6 +1989,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/87/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "8450", + "customFields": { + "name": "USInchronous" } }, { @@ -1495,6 +2011,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/88/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "20090", + "customFields": { + "name": "C--" } }, { @@ -1511,6 +2033,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/89/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "742", + "customFields": { + "name": "INSA 2" } }, { @@ -1527,6 +2055,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/90/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "7990", + "customFields": { + "name": "LaStatale Green" } }, { @@ -1543,6 +2077,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/91/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "9745", + "customFields": { + "name": "I eat PHP for breakfast" } }, { @@ -1559,6 +2099,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/92/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "6379", + "customFields": { + "name": "Unidad Computacional de Macacos" } }, { @@ -1575,6 +2121,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/93/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "8246", + "customFields": { + "name": "C_aramba" } }, { @@ -1591,6 +2143,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/94/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "7032", + "customFields": { + "name": "Late submission" } }, { @@ -1607,6 +2165,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/95/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "9009", + "customFields": { + "name": "FDS-UM" } }, { @@ -1623,6 +2187,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/96/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "2261", + "customFields": { + "name": "UniTN Send Nodes" } }, { @@ -1639,6 +2209,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/97/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "366", + "customFields": { + "name": "0xC0FFEE++" } }, { @@ -1655,6 +2231,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/98/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "10685", + "customFields": { + "name": "Télécode of Duty" } }, { @@ -1671,6 +2253,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/99/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "2260", + "customFields": { + "name": "SapienzaBlack" } }, { @@ -1687,6 +2275,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/100/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "2170", + "customFields": { + "name": "Teamto de Verano" } }, { @@ -1703,6 +2297,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/101/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "460", + "customFields": { + "name": "ensipc2" } }, { @@ -1719,6 +2319,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/102/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "7435", + "customFields": { + "name": "UNIBOiis" } }, { @@ -1735,6 +2341,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/103/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "2122", + "customFields": { + "name": "SWERC Chaos" } }, { @@ -1751,6 +2363,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/104/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "5687", + "customFields": { + "name": "ECL 3" } }, { @@ -1767,6 +2385,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/105/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "7990", + "customFields": { + "name": "LaStatale Red" } }, { @@ -1783,6 +2407,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/106/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "10640", + "customFields": { + "name": "PBI" } }, { @@ -1799,6 +2429,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/107/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "2166", + "customFields": { + "name": "ETSINF-2" } }, { @@ -1815,6 +2451,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/108/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "451", + "customFields": { + "name": "dETHerminant" } }, { @@ -1831,6 +2473,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/109/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "8488", + "customFields": { + "name": "SigSegv Squad" } }, { @@ -1847,6 +2495,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/110/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "3545", + "customFields": { + "name": "Boystdcouts" } }, { @@ -1863,6 +2517,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/111/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "3436", + "customFields": { + "name": "ENS Ulm 1" } }, { @@ -1879,6 +2539,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/112/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "7435", + "customFields": { + "name": "UNIBOiiis" } }, { @@ -1895,6 +2561,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/113/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "3545", + "customFields": { + "name": "Venta de pantalones" } }, { @@ -1911,6 +2583,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/114/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "11538", + "customFields": { + "name": "Polydata" } }, { @@ -1927,6 +2605,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/115/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "8450", + "customFields": { + "name": "fUSIlli" } }, { @@ -1943,6 +2627,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/116/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "9745", + "customFields": { + "name": "P+P+P" } }, { @@ -1959,6 +2649,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/117/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "2260", + "customFields": { + "name": "SapienzaRed" } }, { @@ -1975,6 +2671,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/118/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "8818", + "customFields": { + "name": "Carovana Fighters" } }, { @@ -1991,6 +2693,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/119/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "3545", + "customFields": { + "name": "GetName" } }, { @@ -2007,6 +2715,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/120/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "3436", + "customFields": { + "name": "ENS Ulm 2" } }, { @@ -2023,6 +2737,12 @@ "type": "Photo", "url": "/contests/swerc2022/teams/121/photo" } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": "8886", + "customFields": { + "name": "Jean Perrin" } } ], @@ -2034,6 +2754,278 @@ "name": "Self-Registered" } ], + "organizations": [ + { + "cdsId": "366", + "displayName": "UC", + "fullName": "University of Coimbra" + }, + { + "cdsId": "443", + "displayName": "EP", + "fullName": "Ecole Polytechnique" + }, + { + "cdsId": "444", + "displayName": "EPFL", + "fullName": "Ecole Polytechnique Fédérale de Lausanne" + }, + { + "cdsId": "451", + "displayName": "ETH Zürich", + "fullName": "ETH Zürich" + }, + { + "cdsId": "460", + "displayName": "ENSIMAG", + "fullName": "ENS d'Informatique et de Mathematiques Appliquees - Grenoble" + }, + { + "cdsId": "478", + "displayName": "U Porto", + "fullName": "Universidade do Porto" + }, + { + "cdsId": "742", + "displayName": "INSA", + "fullName": "INSA de Lyon" + }, + { + "cdsId": "789", + "displayName": "IS Técnico", + "fullName": "Instituto Superior Técnico" + }, + { + "cdsId": "2079", + "displayName": "UAM", + "fullName": "Universidad Autónoma de Madrid" + }, + { + "cdsId": "2122", + "displayName": "UM", + "fullName": "Universidad de Murcia" + }, + { + "cdsId": "2166", + "displayName": "UPV", + "fullName": "Universitat Politècnica de València" + }, + { + "cdsId": "2170", + "displayName": "U. Rey Juan Carlos", + "fullName": "Universidad Rey Juan Carlos" + }, + { + "cdsId": "2257", + "displayName": "Genova", + "fullName": "Università degli Studi di Genova" + }, + { + "cdsId": "2260", + "displayName": "Università di Roma 1", + "fullName": "Università di Roma - La Sapienza" + }, + { + "cdsId": "2261", + "displayName": "TN", + "fullName": "Università di Trento" + }, + { + "cdsId": "2263", + "displayName": "Universita' di Udine", + "fullName": "Università Degli Studi di Udine" + }, + { + "cdsId": "2273", + "displayName": "UP Catalunya", + "fullName": "Universitat Politècnica de Catalunya" + }, + { + "cdsId": "3236", + "displayName": "TECHNION", + "fullName": "Technion - Israel Institute of Technology" + }, + { + "cdsId": "3409", + "displayName": "ENS - Lyon", + "fullName": "École Normale Supérieure de Lyon" + }, + { + "cdsId": "3436", + "displayName": "ENS Paris", + "fullName": "École Normale Supérieure de Paris" + }, + { + "cdsId": "3545", + "displayName": "UPF", + "fullName": "Universitat Pompeu Fabra" + }, + { + "cdsId": "5282", + "displayName": "UBI", + "fullName": "Universidade da Beira Interior" + }, + { + "cdsId": "5687", + "displayName": "EC-Lyon", + "fullName": "Ecole Centrale de Lyon" + }, + { + "cdsId": "6369", + "displayName": "EHU", + "fullName": "University of the Basque Country" + }, + { + "cdsId": "6379", + "displayName": "UCM", + "fullName": "Universidad Complutense de Madrid" + }, + { + "cdsId": "7032", + "displayName": "ENS de Paris-Saclay", + "fullName": "École Normale Supérieure de Paris-Saclay" + }, + { + "cdsId": "7083", + "displayName": "Polito", + "fullName": "Politecnico di Torino" + }, + { + "cdsId": "7435", + "displayName": "UNIBO", + "fullName": "University of Bologna" + }, + { + "cdsId": "7990", + "displayName": "UNIMI", + "fullName": "Università Degli Studi di Milano" + }, + { + "cdsId": "8246", + "displayName": "Polimi", + "fullName": "Politecnico di Milano" + }, + { + "cdsId": "8450", + "displayName": "USI", + "fullName": "Università della Svizzera italiana" + }, + { + "cdsId": "8460", + "displayName": "CentraleSupélec", + "fullName": "CentraleSupélec" + }, + { + "cdsId": "8483", + "displayName": "U of Haifa", + "fullName": "University of Haifa" + }, + { + "cdsId": "8488", + "displayName": "UniVerona", + "fullName": "University of Verona" + }, + { + "cdsId": "8818", + "displayName": "SNS", + "fullName": "Scuola Normale Superiore" + }, + { + "cdsId": "8869", + "displayName": "UNIPI", + "fullName": "Università di Pisa" + }, + { + "cdsId": "8886", + "displayName": "U-ARTOIS", + "fullName": "Artois University" + }, + { + "cdsId": "9009", + "displayName": "U Montpellier", + "fullName": "Université de Montpellier" + }, + { + "cdsId": "9635", + "displayName": "ENSEEIHT", + "fullName": "École Nationale Supérieure d'électrotechnique, d'électronique, d'informatique, d'hydraulique et des Télécommunications" + }, + { + "cdsId": "9745", + "displayName": "HS", + "fullName": "Harbour.Space University" + }, + { + "cdsId": "10640", + "displayName": "UR1", + "fullName": "University of Rennes 1" + }, + { + "cdsId": "10678", + "displayName": "UniPD", + "fullName": "University of Padova" + }, + { + "cdsId": "10685", + "displayName": "TP", + "fullName": "Télécom Paris" + }, + { + "cdsId": "10689", + "displayName": "Sorbonne", + "fullName": "Sorbonne Université" + }, + { + "cdsId": "10706", + "displayName": "Unive", + "fullName": "Ca' Foscari University of Venice" + }, + { + "cdsId": "11111", + "displayName": "TAU", + "fullName": "Tel Aviv University" + }, + { + "cdsId": "11205", + "displayName": "UdP", + "fullName": "Université de Paris" + }, + { + "cdsId": "11538", + "displayName": "PPS", + "fullName": "Polytech Paris Saclay" + }, + { + "cdsId": "15696", + "displayName": "EILCO", + "fullName": "Ecole d'Ingénieurs Littoral Côte d'Opale" + }, + { + "cdsId": "16191", + "displayName": "UnivAQ", + "fullName": "University of L'Aquila" + }, + { + "cdsId": "19561", + "displayName": "Université Paris-Saclay", + "fullName": "Université Paris-Saclay" + }, + { + "cdsId": "20085", + "displayName": "CUNEF", + "fullName": "CUNEF Universidad" + }, + { + "cdsId": "20090", + "displayName": "TNCY", + "fullName": "TELECOM Nancy" + }, + { + "cdsId": "42424242", + "displayName": "Jane Street", + "fullName": "Jane Street" + } + ], "penaltyRoundingMode": "each_submission_down_to_minute" }, "runs": [ diff --git a/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.pcmsIOITest.approved.txt b/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.pcmsIOITest.approved.txt index 1e3f74528..b1f4861fb 100644 --- a/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.pcmsIOITest.approved.txt +++ b/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.pcmsIOITest.approved.txt @@ -98,7 +98,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 2, @@ -109,7 +112,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 3, @@ -120,7 +126,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 4, @@ -131,7 +140,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 5, @@ -142,7 +154,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 6, @@ -153,7 +168,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 7, @@ -164,7 +182,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 8, @@ -175,7 +196,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 9, @@ -186,7 +210,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 10, @@ -197,7 +224,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 11, @@ -208,7 +238,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 12, @@ -219,7 +252,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 13, @@ -230,7 +266,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 14, @@ -241,7 +280,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 15, @@ -252,7 +294,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 16, @@ -263,7 +308,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 17, @@ -274,7 +322,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 18, @@ -285,7 +336,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 19, @@ -296,7 +350,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 20, @@ -307,7 +364,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 21, @@ -318,7 +378,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 22, @@ -329,7 +392,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 23, @@ -340,7 +406,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 24, @@ -351,7 +420,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 25, @@ -362,7 +434,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 26, @@ -373,7 +448,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 27, @@ -384,7 +462,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 28, @@ -395,7 +476,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 29, @@ -406,7 +490,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 30, @@ -417,7 +504,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 31, @@ -428,7 +518,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 32, @@ -439,7 +532,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 33, @@ -450,7 +546,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 34, @@ -461,7 +560,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 35, @@ -472,7 +574,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 36, @@ -483,7 +588,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 37, @@ -494,7 +602,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 38, @@ -505,7 +616,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 39, @@ -516,7 +630,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 40, @@ -527,7 +644,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 41, @@ -538,7 +658,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 42, @@ -549,7 +672,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 43, @@ -560,7 +686,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 44, @@ -571,7 +700,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 45, @@ -582,7 +714,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 46, @@ -593,7 +728,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 47, @@ -604,7 +742,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 48, @@ -615,7 +756,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 49, @@ -626,7 +770,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 50, @@ -637,7 +784,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 51, @@ -648,7 +798,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 52, @@ -659,7 +812,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 53, @@ -670,7 +826,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 54, @@ -681,7 +840,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 55, @@ -692,7 +854,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 56, @@ -703,7 +868,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 57, @@ -714,7 +882,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 58, @@ -725,7 +896,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 59, @@ -736,7 +910,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 60, @@ -747,7 +924,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 61, @@ -758,7 +938,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 62, @@ -769,7 +952,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 63, @@ -780,7 +966,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 64, @@ -791,7 +980,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 65, @@ -802,7 +994,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 66, @@ -813,7 +1008,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 67, @@ -824,7 +1022,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 68, @@ -835,7 +1036,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 69, @@ -846,7 +1050,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 70, @@ -857,7 +1064,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 71, @@ -868,7 +1078,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 72, @@ -879,7 +1092,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 73, @@ -890,7 +1106,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 74, @@ -901,7 +1120,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 75, @@ -912,7 +1134,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 76, @@ -923,7 +1148,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 77, @@ -934,7 +1162,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 78, @@ -945,7 +1176,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 79, @@ -956,7 +1190,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 80, @@ -967,7 +1204,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 81, @@ -978,7 +1218,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 82, @@ -989,7 +1232,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 83, @@ -1000,7 +1246,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 84, @@ -1011,7 +1260,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 85, @@ -1022,7 +1274,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 86, @@ -1033,7 +1288,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 87, @@ -1044,7 +1302,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 88, @@ -1055,7 +1316,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 89, @@ -1066,7 +1330,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 90, @@ -1077,7 +1344,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 91, @@ -1088,7 +1358,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 92, @@ -1099,7 +1372,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 93, @@ -1110,7 +1386,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 94, @@ -1121,7 +1400,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 95, @@ -1132,7 +1414,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 96, @@ -1143,7 +1428,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 97, @@ -1154,7 +1442,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 98, @@ -1165,7 +1456,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 99, @@ -1176,7 +1470,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 100, @@ -1187,7 +1484,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 101, @@ -1198,7 +1498,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 102, @@ -1209,7 +1512,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 103, @@ -1220,7 +1526,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 104, @@ -1231,7 +1540,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 105, @@ -1242,7 +1554,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 106, @@ -1253,7 +1568,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 107, @@ -1264,7 +1582,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 108, @@ -1275,7 +1596,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 109, @@ -1286,7 +1610,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 110, @@ -1297,7 +1624,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 111, @@ -1308,7 +1638,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 112, @@ -1319,7 +1652,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 113, @@ -1330,7 +1666,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 114, @@ -1341,7 +1680,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 115, @@ -1352,7 +1694,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 116, @@ -1363,7 +1708,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 117, @@ -1374,7 +1722,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 118, @@ -1385,7 +1736,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 119, @@ -1396,7 +1750,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 120, @@ -1407,7 +1764,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 121, @@ -1418,7 +1778,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 122, @@ -1429,7 +1792,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 123, @@ -1440,7 +1806,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 124, @@ -1451,7 +1820,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 125, @@ -1462,7 +1834,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 126, @@ -1473,7 +1848,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 127, @@ -1484,7 +1862,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 128, @@ -1495,7 +1876,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 129, @@ -1506,7 +1890,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 130, @@ -1517,7 +1904,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 131, @@ -1528,7 +1918,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 132, @@ -1539,7 +1932,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 133, @@ -1550,7 +1946,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 134, @@ -1561,7 +1960,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 135, @@ -1572,7 +1974,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 136, @@ -1583,7 +1988,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 137, @@ -1594,7 +2002,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 138, @@ -1605,7 +2016,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 139, @@ -1616,7 +2030,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 140, @@ -1627,7 +2044,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 141, @@ -1638,7 +2058,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 142, @@ -1649,7 +2072,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 143, @@ -1660,7 +2086,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 144, @@ -1671,7 +2100,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 145, @@ -1682,7 +2114,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 146, @@ -1693,7 +2128,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 147, @@ -1704,7 +2142,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 148, @@ -1715,7 +2156,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 149, @@ -1726,7 +2170,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 150, @@ -1737,7 +2184,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 151, @@ -1748,7 +2198,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 152, @@ -1759,7 +2212,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 153, @@ -1770,7 +2226,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 154, @@ -1781,7 +2240,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 155, @@ -1792,7 +2254,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 156, @@ -1803,7 +2268,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 157, @@ -1814,7 +2282,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 158, @@ -1825,7 +2296,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 159, @@ -1836,7 +2310,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 160, @@ -1847,7 +2324,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 161, @@ -1858,7 +2338,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 162, @@ -1869,7 +2352,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 163, @@ -1880,7 +2366,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 164, @@ -1891,7 +2380,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 165, @@ -1902,7 +2394,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 166, @@ -1913,7 +2408,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 167, @@ -1924,7 +2422,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 168, @@ -1935,7 +2436,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 169, @@ -1946,7 +2450,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 170, @@ -1957,7 +2464,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 171, @@ -1968,7 +2478,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 172, @@ -1979,7 +2492,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 173, @@ -1990,7 +2506,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 174, @@ -2001,7 +2520,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 175, @@ -2012,7 +2534,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 176, @@ -2023,7 +2548,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 177, @@ -2034,7 +2562,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 178, @@ -2045,7 +2576,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 179, @@ -2056,7 +2590,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 180, @@ -2067,7 +2604,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 181, @@ -2078,7 +2618,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 182, @@ -2089,7 +2632,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 183, @@ -2100,7 +2646,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 184, @@ -2111,7 +2660,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 185, @@ -2122,7 +2674,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 186, @@ -2133,7 +2688,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 187, @@ -2144,7 +2702,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 188, @@ -2155,7 +2716,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 189, @@ -2166,7 +2730,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 190, @@ -2177,7 +2744,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 191, @@ -2188,7 +2758,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 192, @@ -2199,7 +2772,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 193, @@ -2210,7 +2786,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 194, @@ -2221,7 +2800,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 195, @@ -2232,7 +2814,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 196, @@ -2243,7 +2828,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 197, @@ -2254,7 +2842,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 198, @@ -2265,7 +2856,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 199, @@ -2276,7 +2870,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 200, @@ -2287,7 +2884,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 201, @@ -2298,7 +2898,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 202, @@ -2309,7 +2912,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 203, @@ -2320,7 +2926,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 204, @@ -2331,7 +2940,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 205, @@ -2342,7 +2954,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 206, @@ -2353,7 +2968,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 207, @@ -2364,7 +2982,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 208, @@ -2375,7 +2996,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 209, @@ -2386,7 +3010,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 210, @@ -2397,7 +3024,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 211, @@ -2408,7 +3038,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 212, @@ -2419,7 +3052,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 213, @@ -2430,7 +3066,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 214, @@ -2441,7 +3080,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 215, @@ -2452,7 +3094,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 216, @@ -2463,7 +3108,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 217, @@ -2474,7 +3122,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 218, @@ -2485,7 +3136,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 219, @@ -2496,7 +3150,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 220, @@ -2507,7 +3164,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 221, @@ -2518,7 +3178,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 222, @@ -2529,7 +3192,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 223, @@ -2540,7 +3206,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 224, @@ -2551,7 +3220,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 225, @@ -2562,7 +3234,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 226, @@ -2573,7 +3248,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 227, @@ -2584,7 +3262,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 228, @@ -2595,7 +3276,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 229, @@ -2606,7 +3290,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 230, @@ -2617,7 +3304,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 231, @@ -2628,7 +3318,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 232, @@ -2639,7 +3332,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 233, @@ -2650,7 +3346,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 234, @@ -2661,7 +3360,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 235, @@ -2672,7 +3374,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 236, @@ -2683,7 +3388,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 237, @@ -2694,7 +3402,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 238, @@ -2705,7 +3416,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 239, @@ -2716,7 +3430,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 240, @@ -2727,7 +3444,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 241, @@ -2738,7 +3458,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 242, @@ -2749,7 +3472,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 243, @@ -2760,7 +3486,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 244, @@ -2771,7 +3500,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 245, @@ -2782,7 +3514,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 246, @@ -2793,7 +3528,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 247, @@ -2804,7 +3542,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 248, @@ -2815,7 +3556,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 249, @@ -2826,7 +3570,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 250, @@ -2837,7 +3584,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 251, @@ -2848,7 +3598,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 252, @@ -2859,7 +3612,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 253, @@ -2870,7 +3626,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 254, @@ -2881,7 +3640,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 255, @@ -2892,7 +3654,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 256, @@ -2903,7 +3668,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 257, @@ -2914,7 +3682,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 258, @@ -2925,7 +3696,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 259, @@ -2936,7 +3710,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 260, @@ -2947,7 +3724,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 261, @@ -2958,7 +3738,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 262, @@ -2969,7 +3752,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 263, @@ -2980,7 +3766,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 264, @@ -2991,7 +3780,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 265, @@ -3002,7 +3794,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 266, @@ -3013,7 +3808,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 267, @@ -3024,7 +3822,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 268, @@ -3035,7 +3836,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 269, @@ -3046,7 +3850,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 270, @@ -3057,7 +3864,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 271, @@ -3068,7 +3878,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 272, @@ -3079,7 +3892,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 273, @@ -3090,7 +3906,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 274, @@ -3101,7 +3920,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 275, @@ -3112,7 +3934,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 276, @@ -3123,7 +3948,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 277, @@ -3134,7 +3962,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 278, @@ -3145,7 +3976,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 279, @@ -3156,7 +3990,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 280, @@ -3167,7 +4004,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 281, @@ -3178,7 +4018,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 282, @@ -3189,7 +4032,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 283, @@ -3200,7 +4046,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 284, @@ -3211,7 +4060,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 285, @@ -3222,7 +4074,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 286, @@ -3233,7 +4088,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 287, @@ -3244,7 +4102,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 288, @@ -3255,7 +4116,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 289, @@ -3266,7 +4130,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 290, @@ -3277,7 +4144,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 291, @@ -3288,7 +4158,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 292, @@ -3299,7 +4172,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 293, @@ -3310,7 +4186,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 294, @@ -3321,7 +4200,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 295, @@ -3332,7 +4214,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 296, @@ -3343,7 +4228,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 297, @@ -3354,7 +4242,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 298, @@ -3365,7 +4256,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 299, @@ -3376,7 +4270,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 300, @@ -3387,7 +4284,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 301, @@ -3398,7 +4298,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 302, @@ -3409,7 +4312,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 303, @@ -3420,7 +4326,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 304, @@ -3431,7 +4340,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 305, @@ -3442,7 +4354,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 306, @@ -3453,7 +4368,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 307, @@ -3464,7 +4382,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 308, @@ -3475,7 +4396,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 309, @@ -3486,7 +4410,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 310, @@ -3497,7 +4424,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 311, @@ -3508,7 +4438,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 312, @@ -3519,7 +4452,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 313, @@ -3530,7 +4466,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 314, @@ -3541,7 +4480,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 315, @@ -3552,7 +4494,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 316, @@ -3563,7 +4508,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 317, @@ -3574,7 +4522,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 318, @@ -3585,7 +4536,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 319, @@ -3596,7 +4550,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 320, @@ -3607,7 +4564,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 321, @@ -3618,7 +4578,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 322, @@ -3629,7 +4592,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 323, @@ -3640,7 +4606,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 324, @@ -3651,7 +4620,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 325, @@ -3662,7 +4634,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 326, @@ -3673,7 +4648,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 327, @@ -3684,7 +4662,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 328, @@ -3695,7 +4676,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 329, @@ -3706,7 +4690,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 330, @@ -3717,7 +4704,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 331, @@ -3728,7 +4718,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 332, @@ -3739,7 +4732,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 333, @@ -3750,7 +4746,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 334, @@ -3761,7 +4760,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 335, @@ -3772,7 +4774,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 336, @@ -3783,7 +4788,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 337, @@ -3794,7 +4802,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 338, @@ -3805,7 +4816,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 339, @@ -3816,7 +4830,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 340, @@ -3827,7 +4844,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 341, @@ -3838,7 +4858,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 342, @@ -3849,7 +4872,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 343, @@ -3860,7 +4886,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 344, @@ -3871,7 +4900,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 345, @@ -3882,7 +4914,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 346, @@ -3893,7 +4928,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 347, @@ -3904,7 +4942,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 348, @@ -3915,7 +4956,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 349, @@ -3926,11 +4970,16 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null } ], "groups": [ ], + "organizations": [ + ], "penaltyRoundingMode": "zero" }, "runs": [ diff --git a/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.pcmsTest.approved.txt b/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.pcmsTest.approved.txt index b67d3f0c1..5239e7b34 100644 --- a/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.pcmsTest.approved.txt +++ b/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.pcmsTest.approved.txt @@ -102,7 +102,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 2, @@ -113,7 +116,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 3, @@ -124,7 +130,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 4, @@ -135,7 +144,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 5, @@ -146,7 +158,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 6, @@ -157,7 +172,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 7, @@ -168,7 +186,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 8, @@ -179,7 +200,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 9, @@ -190,7 +214,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 10, @@ -201,7 +228,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 11, @@ -212,7 +242,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 12, @@ -223,7 +256,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 13, @@ -234,7 +270,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 14, @@ -245,7 +284,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 15, @@ -256,7 +298,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 16, @@ -267,7 +312,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 17, @@ -278,7 +326,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 18, @@ -289,7 +340,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 19, @@ -300,7 +354,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 20, @@ -311,7 +368,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 21, @@ -322,7 +382,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 22, @@ -333,7 +396,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 23, @@ -344,7 +410,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 24, @@ -355,7 +424,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 25, @@ -366,7 +438,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 26, @@ -377,7 +452,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 27, @@ -388,7 +466,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 28, @@ -399,7 +480,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 29, @@ -410,7 +494,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 30, @@ -421,7 +508,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 31, @@ -432,7 +522,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 32, @@ -443,7 +536,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 33, @@ -454,7 +550,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 34, @@ -465,7 +564,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 35, @@ -476,7 +578,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 36, @@ -487,7 +592,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 37, @@ -498,7 +606,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 38, @@ -509,7 +620,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 39, @@ -520,7 +634,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 40, @@ -531,7 +648,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 41, @@ -542,7 +662,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 42, @@ -553,7 +676,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 43, @@ -564,7 +690,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 44, @@ -575,7 +704,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 45, @@ -586,7 +718,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 46, @@ -597,7 +732,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 47, @@ -608,7 +746,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 48, @@ -619,7 +760,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 49, @@ -630,7 +774,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 50, @@ -641,7 +788,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 51, @@ -652,7 +802,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 52, @@ -663,7 +816,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 53, @@ -674,7 +830,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 54, @@ -685,7 +844,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 55, @@ -696,7 +858,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 56, @@ -707,7 +872,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 57, @@ -718,7 +886,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 58, @@ -729,7 +900,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 59, @@ -740,7 +914,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 60, @@ -751,7 +928,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 61, @@ -762,7 +942,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 62, @@ -773,7 +956,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 63, @@ -784,7 +970,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 64, @@ -795,7 +984,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 65, @@ -806,7 +998,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 66, @@ -817,7 +1012,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 67, @@ -828,7 +1026,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 68, @@ -839,7 +1040,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 69, @@ -850,7 +1054,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 70, @@ -861,7 +1068,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 71, @@ -872,7 +1082,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 72, @@ -883,7 +1096,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 73, @@ -894,7 +1110,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 74, @@ -905,7 +1124,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 75, @@ -916,7 +1138,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 76, @@ -927,7 +1152,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 77, @@ -938,7 +1166,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 78, @@ -949,7 +1180,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 79, @@ -960,7 +1194,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 80, @@ -971,7 +1208,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 81, @@ -982,7 +1222,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 82, @@ -993,7 +1236,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 83, @@ -1004,7 +1250,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 84, @@ -1015,7 +1264,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 85, @@ -1026,7 +1278,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 86, @@ -1037,7 +1292,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 87, @@ -1048,7 +1306,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 88, @@ -1059,7 +1320,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 89, @@ -1070,7 +1334,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 90, @@ -1081,7 +1348,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 91, @@ -1092,7 +1362,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 92, @@ -1103,7 +1376,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 93, @@ -1114,7 +1390,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 94, @@ -1125,7 +1404,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 95, @@ -1136,7 +1418,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 96, @@ -1147,7 +1432,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 97, @@ -1158,7 +1446,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 98, @@ -1169,7 +1460,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 99, @@ -1180,7 +1474,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 100, @@ -1191,7 +1488,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 101, @@ -1202,7 +1502,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 102, @@ -1213,7 +1516,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 103, @@ -1224,7 +1530,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 104, @@ -1235,7 +1544,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 105, @@ -1246,7 +1558,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 106, @@ -1257,7 +1572,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 107, @@ -1268,7 +1586,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 108, @@ -1279,7 +1600,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 109, @@ -1290,7 +1614,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 110, @@ -1301,7 +1628,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 111, @@ -1312,7 +1642,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 112, @@ -1323,7 +1656,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 113, @@ -1334,7 +1670,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 114, @@ -1345,7 +1684,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 115, @@ -1356,7 +1698,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 116, @@ -1367,7 +1712,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 117, @@ -1378,7 +1726,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 118, @@ -1389,7 +1740,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 119, @@ -1400,7 +1754,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 120, @@ -1411,7 +1768,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 121, @@ -1422,7 +1782,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 122, @@ -1433,7 +1796,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 123, @@ -1444,7 +1810,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 124, @@ -1455,7 +1824,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 125, @@ -1466,7 +1838,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 126, @@ -1477,7 +1852,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 127, @@ -1488,7 +1866,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 128, @@ -1499,7 +1880,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 129, @@ -1510,7 +1894,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 130, @@ -1521,7 +1908,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 131, @@ -1532,7 +1922,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 132, @@ -1543,7 +1936,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 133, @@ -1554,7 +1950,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 134, @@ -1565,7 +1964,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 135, @@ -1576,7 +1978,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 136, @@ -1587,7 +1992,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 137, @@ -1598,7 +2006,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 138, @@ -1609,7 +2020,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 139, @@ -1620,7 +2034,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 140, @@ -1631,7 +2048,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 141, @@ -1642,7 +2062,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 142, @@ -1653,7 +2076,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 143, @@ -1664,7 +2090,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 144, @@ -1675,7 +2104,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 145, @@ -1686,7 +2118,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 146, @@ -1697,7 +2132,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 147, @@ -1708,7 +2146,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 148, @@ -1719,7 +2160,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 149, @@ -1730,7 +2174,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 150, @@ -1741,7 +2188,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 151, @@ -1752,7 +2202,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 152, @@ -1763,7 +2216,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 153, @@ -1774,7 +2230,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 154, @@ -1785,7 +2244,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 155, @@ -1796,7 +2258,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 156, @@ -1807,7 +2272,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 157, @@ -1818,7 +2286,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 158, @@ -1829,7 +2300,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 159, @@ -1840,7 +2314,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 160, @@ -1851,7 +2328,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 161, @@ -1862,7 +2342,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 162, @@ -1873,7 +2356,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 163, @@ -1884,7 +2370,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 164, @@ -1895,7 +2384,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 165, @@ -1906,7 +2398,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 166, @@ -1917,7 +2412,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 167, @@ -1928,7 +2426,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 168, @@ -1939,7 +2440,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 169, @@ -1950,7 +2454,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 170, @@ -1961,7 +2468,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 171, @@ -1972,7 +2482,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 172, @@ -1983,7 +2496,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 173, @@ -1994,7 +2510,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 174, @@ -2005,7 +2524,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 175, @@ -2016,7 +2538,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 176, @@ -2027,7 +2552,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 177, @@ -2038,7 +2566,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 178, @@ -2049,7 +2580,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 179, @@ -2060,7 +2594,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 180, @@ -2071,7 +2608,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 181, @@ -2082,7 +2622,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 182, @@ -2093,7 +2636,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 183, @@ -2104,7 +2650,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 184, @@ -2115,7 +2664,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 185, @@ -2126,7 +2678,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 186, @@ -2137,7 +2692,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 187, @@ -2148,7 +2706,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 188, @@ -2159,7 +2720,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 189, @@ -2170,7 +2734,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 190, @@ -2181,7 +2748,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 191, @@ -2192,7 +2762,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 192, @@ -2203,7 +2776,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 193, @@ -2214,7 +2790,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 194, @@ -2225,7 +2804,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 195, @@ -2236,7 +2818,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 196, @@ -2247,7 +2832,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 197, @@ -2258,7 +2846,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 198, @@ -2269,7 +2860,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 199, @@ -2280,7 +2874,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 200, @@ -2291,7 +2888,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 201, @@ -2302,7 +2902,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 202, @@ -2313,7 +2916,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 203, @@ -2324,7 +2930,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 204, @@ -2335,7 +2944,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 205, @@ -2346,7 +2958,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 206, @@ -2357,7 +2972,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 207, @@ -2368,7 +2986,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 208, @@ -2379,7 +3000,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 209, @@ -2390,7 +3014,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 210, @@ -2401,7 +3028,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 211, @@ -2412,7 +3042,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 212, @@ -2423,7 +3056,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 213, @@ -2434,7 +3070,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 214, @@ -2445,7 +3084,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 215, @@ -2456,7 +3098,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 216, @@ -2467,7 +3112,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 217, @@ -2478,7 +3126,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 218, @@ -2489,7 +3140,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 219, @@ -2500,7 +3154,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 220, @@ -2511,7 +3168,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 221, @@ -2522,7 +3182,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 222, @@ -2533,7 +3196,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 223, @@ -2544,7 +3210,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 224, @@ -2555,7 +3224,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 225, @@ -2566,7 +3238,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 226, @@ -2577,7 +3252,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 227, @@ -2588,7 +3266,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 228, @@ -2599,7 +3280,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 229, @@ -2610,7 +3294,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 230, @@ -2621,7 +3308,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 231, @@ -2632,7 +3322,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 232, @@ -2643,7 +3336,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 233, @@ -2654,7 +3350,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 234, @@ -2665,7 +3364,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 235, @@ -2676,7 +3378,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 236, @@ -2687,7 +3392,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 237, @@ -2698,7 +3406,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 238, @@ -2709,7 +3420,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 239, @@ -2720,7 +3434,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 240, @@ -2731,7 +3448,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 241, @@ -2742,7 +3462,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 242, @@ -2753,7 +3476,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 243, @@ -2764,7 +3490,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 244, @@ -2775,7 +3504,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 245, @@ -2786,7 +3518,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 246, @@ -2797,7 +3532,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 247, @@ -2808,7 +3546,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 248, @@ -2819,7 +3560,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 249, @@ -2830,7 +3574,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 250, @@ -2841,7 +3588,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 251, @@ -2852,7 +3602,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 252, @@ -2863,7 +3616,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 253, @@ -2874,7 +3630,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 254, @@ -2885,7 +3644,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 255, @@ -2896,7 +3658,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 256, @@ -2907,7 +3672,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 257, @@ -2918,7 +3686,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 258, @@ -2929,7 +3700,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 259, @@ -2940,7 +3714,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 260, @@ -2951,7 +3728,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 261, @@ -2962,7 +3742,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 262, @@ -2973,7 +3756,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 263, @@ -2984,7 +3770,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 264, @@ -2995,7 +3784,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 265, @@ -3006,7 +3798,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 266, @@ -3017,7 +3812,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 267, @@ -3028,7 +3826,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 268, @@ -3039,7 +3840,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 269, @@ -3050,7 +3854,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 270, @@ -3061,7 +3868,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 271, @@ -3072,7 +3882,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 272, @@ -3083,7 +3896,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 273, @@ -3094,7 +3910,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 274, @@ -3105,7 +3924,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 275, @@ -3116,7 +3938,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 276, @@ -3127,7 +3952,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 277, @@ -3138,7 +3966,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 278, @@ -3149,7 +3980,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 279, @@ -3160,7 +3994,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 280, @@ -3171,7 +4008,10 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null }, { "id": 281, @@ -3182,11 +4022,16 @@ ], "hashTag": null, "medias": { - } + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null } ], "groups": [ ], + "organizations": [ + ], "penaltyRoundingMode": "each_submission_down_to_minute" }, "runs": [ From 34fb31f68a4abf7a49b8a5446d983c1105f62c70 Mon Sep 17 00:00:00 2001 From: Pavel Kunyavskiy Date: Sat, 12 Aug 2023 15:06:43 +0200 Subject: [PATCH 079/154] More tests --- .../cds/adapters/AdvancedPropertiesAdapter.kt | 4 +- .../org/icpclive/cds/clics/CdsLoadersTest.kt | 57 +- .../clics/CdsLoadersTest.testSys.approved.txt | 7635 ++++++++++++++++ ...t.testSysWithAdvancedOverride.approved.txt | 7717 +++++++++++++++++ 4 files changed, 15409 insertions(+), 4 deletions(-) create mode 100644 src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.testSys.approved.txt create mode 100644 src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.testSysWithAdvancedOverride.approved.txt diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/adapters/AdvancedPropertiesAdapter.kt b/src/cds/src/main/kotlin/org/icpclive/cds/adapters/AdvancedPropertiesAdapter.kt index 8e3bc5524..730efcc4b 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/adapters/AdvancedPropertiesAdapter.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/adapters/AdvancedPropertiesAdapter.kt @@ -58,7 +58,7 @@ fun Flow.applyAdvancedProperties(advancedPropsFlow: Flow, regexOverrides: TeamRegexOverrides } } -private fun applyOverrides( +internal fun applyAdvancedProperties( info: ContestInfo, overrides: AdvancedProperties, submittedTeams: Set diff --git a/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.kt b/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.kt index 2546ad574..6be1aa1ad 100644 --- a/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.kt +++ b/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.kt @@ -4,9 +4,12 @@ import kotlinx.serialization.json.Json import org.approvaltests.Approvals import org.approvaltests.core.Options import org.icpclive.api.ContestResultType +import org.icpclive.api.tunning.* +import org.icpclive.cds.adapters.applyAdvancedProperties import org.icpclive.cds.clics.FeedVersion import org.icpclive.cds.settings.* import org.junit.Test +import kotlin.text.Regex class CdsLoadersTest { @Test @@ -49,14 +52,64 @@ class CdsLoadersTest { ) } + @Test + fun testSys() { + loaderTest( + TestSysSettings( + url = "testData/loaders/testsys.dat" + ) + ) + } + + @Test + fun testSysWithAdvancedOverride() { + loaderTest( + TestSysSettings( + url = "testData/loaders/testsys.dat" + ), + AdvancedProperties( + teamRegexes = TeamRegexOverrides( + groupRegex = mapOf( + "outOfContest" to Regex("^\\(вк\\).*"), + "firstGrade" to Regex("^\\(1к\\).*"), + "school" to Regex("^\\(шк\\).*") + ), + customFields = mapOf( + "funnyName" to Regex("^(?:\\(..\\) )?(.*) \\([^)]*\\)") + ), + ), + groupOverrides = mapOf( + "outOfContest" to GroupInfoOverride(isOutOfContest = true) + ), + teamOverrideTemplate = TeamOverrideTemplate( + displayName = "{funnyName}" + ) + ) + ) + } + + private val json = Json { prettyPrint = true } - private fun loaderTest(args: CDSSettings) { + private fun loaderTest(args: CDSSettings, advanced: AdvancedProperties? = null) { val loader = args.toRawDataSource(emptyMap()) - val result = runBlocking { loader.loadOnce() } + val result = runBlocking { + val result = loader.loadOnce() + if (advanced != null) { + result.copy( + contestInfo = applyAdvancedProperties( + result.contestInfo, + advanced, + result.runs.map { it.teamId }.toSet() + ) + ) + } else { + result + } + } val options = Options() Approvals.verify(json.encodeToString(result), options) } diff --git a/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.testSys.approved.txt b/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.testSys.approved.txt new file mode 100644 index 000000000..a585f0ad7 --- /dev/null +++ b/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.testSys.approved.txt @@ -0,0 +1,7635 @@ +{ + "contestInfo": { + "name": "\"LVI St. Petersburg State University Championship, Sunday, December 06, 2020\"", + "status": "OVER", + "resultType": "ICPC", + "startTimeUnixMs": 1607241600000, + "contestLengthMs": 18000000, + "freezeTimeMs": 18000000, + "problems": [ + { + "letter": "A", + "name": "Permutations and Linear Combinations", + "id": 0, + "ordinal": 0, + "contestSystemId": "A" + }, + { + "letter": "B", + "name": "Brick Power", + "id": 1, + "ordinal": 1, + "contestSystemId": "B" + }, + { + "letter": "C", + "name": "Broken Matrix", + "id": 2, + "ordinal": 2, + "contestSystemId": "C" + }, + { + "letter": "D", + "name": "Encoded Messages", + "id": 3, + "ordinal": 3, + "contestSystemId": "D" + }, + { + "letter": "E", + "name": "Dogs and Coins", + "id": 4, + "ordinal": 4, + "contestSystemId": "E" + }, + { + "letter": "F", + "name": "Infection Score", + "id": 5, + "ordinal": 5, + "contestSystemId": "F" + }, + { + "letter": "G", + "name": "King and Roads", + "id": 6, + "ordinal": 6, + "contestSystemId": "G" + }, + { + "letter": "H", + "name": "Classic Literature", + "id": 7, + "ordinal": 7, + "contestSystemId": "H" + }, + { + "letter": "I", + "name": "Multiply without Carry", + "id": 8, + "ordinal": 8, + "contestSystemId": "I" + }, + { + "letter": "J", + "name": "Game with Permutations", + "id": 9, + "ordinal": 9, + "contestSystemId": "J" + }, + { + "letter": "K", + "name": "Schedule", + "id": 10, + "ordinal": 10, + "contestSystemId": "K" + }, + { + "letter": "L", + "name": "T-Shirt Distribution", + "id": 11, + "ordinal": 11, + "contestSystemId": "L" + } + ], + "teams": [ + { + "id": 0, + "name": "Monad.Reader (Садыков, Ибатов, Гаврилов)", + "shortName": "Monad.Reader (Садыков, Ибатов, Гаврилов)", + "contestSystemId": "01", + "groups": [ + ], + "hashTag": null, + "medias": { + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null + }, + { + "id": 1, + "name": "LOUD Enough (Гаевой, Бочков, Макаров)", + "shortName": "LOUD Enough (Гаевой, Бочков, Макаров)", + "contestSystemId": "02", + "groups": [ + ], + "hashTag": null, + "medias": { + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null + }, + { + "id": 2, + "name": "(1к) Stardust Crusaders (Михайлов, Ковалев, Ельцов)", + "shortName": "(1к) Stardust Crusaders (Михайлов, Ковалев, Ельцов)", + "contestSystemId": "03", + "groups": [ + ], + "hashTag": null, + "medias": { + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null + }, + { + "id": 3, + "name": "Cheba Kings (Григорьев, Ефремов, Иванов)", + "shortName": "Cheba Kings (Григорьев, Ефремов, Иванов)", + "contestSystemId": "04", + "groups": [ + ], + "hashTag": null, + "medias": { + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null + }, + { + "id": 4, + "name": "(1к) Square ball (Волочай, Ðечаев, Еремеев)", + "shortName": "(1к) Square ball (Волочай, Ðечаев, Еремеев)", + "contestSystemId": "05", + "groups": [ + ], + "hashTag": null, + "medias": { + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null + }, + { + "id": 5, + "name": "loozha (Строганов, Куликов, Мандельштам)", + "shortName": "loozha (Строганов, Куликов, Мандельштам)", + "contestSystemId": "06", + "groups": [ + ], + "hashTag": null, + "medias": { + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null + }, + { + "id": 6, + "name": "admarkov team (Марков)", + "shortName": "admarkov team (Марков)", + "contestSystemId": "07", + "groups": [ + ], + "hashTag": null, + "medias": { + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null + }, + { + "id": 7, + "name": "How to turn off computer? (Гребенников, Заварин, Фадеева)", + "shortName": "How to turn off computer? (Гребенников, Заварин, Фадеева)", + "contestSystemId": "08", + "groups": [ + ], + "hashTag": null, + "medias": { + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null + }, + { + "id": 8, + "name": "Ð’ компании друзей (ГорÑчев)", + "shortName": "Ð’ компании друзей (ГорÑчев)", + "contestSystemId": "09", + "groups": [ + ], + "hashTag": null, + "medias": { + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null + }, + { + "id": 9, + "name": "Botwa Jigurda (СаакÑн, Мишура, Кравченко)", + "shortName": "Botwa Jigurda (СаакÑн, Мишура, Кравченко)", + "contestSystemId": "10", + "groups": [ + ], + "hashTag": null, + "medias": { + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null + }, + { + "id": 10, + "name": "(шк) Работать там (Ковригин, Иванов, Цветков)", + "shortName": "(шк) Работать там (Ковригин, Иванов, Цветков)", + "contestSystemId": "11", + "groups": [ + ], + "hashTag": null, + "medias": { + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null + }, + { + "id": 11, + "name": "(1к) фан-клуб ивана короткого (Ðтмажитова, Рудович, КаÑÑŒÑнов)", + "shortName": "(1к) фан-клуб ивана короткого (Ðтмажитова, Рудович, КаÑÑŒÑнов)", + "contestSystemId": "12", + "groups": [ + ], + "hashTag": null, + "medias": { + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null + }, + { + "id": 12, + "name": "(1к) bravit_team (Мартынов, Ðовожилов, Климов)", + "shortName": "(1к) bravit_team (Мартынов, Ðовожилов, Климов)", + "contestSystemId": "13", + "groups": [ + ], + "hashTag": null, + "medias": { + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null + }, + { + "id": 13, + "name": "(вк) gerind (ВихлÑев)", + "shortName": "(вк) gerind (ВихлÑев)", + "contestSystemId": "14", + "groups": [ + ], + "hashTag": null, + "medias": { + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null + }, + { + "id": 14, + "name": "(вк) Как же хочетÑÑ Ð ÐµÐµÑ‡ÑŒÐºÑƒ.. (Быков, МекумÑнов)", + "shortName": "(вк) Как же хочетÑÑ Ð ÐµÐµÑ‡ÑŒÐºÑƒ.. (Быков, МекумÑнов)", + "contestSystemId": "15", + "groups": [ + ], + "hashTag": null, + "medias": { + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null + }, + { + "id": 15, + "name": "(вк) Persik (Цаболов, Чакалов, Маргиев)", + "shortName": "(вк) Persik (Цаболов, Чакалов, Маргиев)", + "contestSystemId": "16", + "groups": [ + ], + "hashTag": null, + "medias": { + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null + }, + { + "id": 16, + "name": "(вк) Ðнтибыкшмут (ГамоÑов, Тамаев)", + "shortName": "(вк) Ðнтибыкшмут (ГамоÑов, Тамаев)", + "contestSystemId": "17", + "groups": [ + ], + "hashTag": null, + "medias": { + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null + }, + { + "id": 17, + "name": "(вк) Инферны (Дзуцева, Корчагин, Джибилов)", + "shortName": "(вк) Инферны (Дзуцева, Корчагин, Джибилов)", + "contestSystemId": "18", + "groups": [ + ], + "hashTag": null, + "medias": { + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null + }, + { + "id": 18, + "name": "(вк) ученики Койбаева (ГалуÑÑ‚ÑŒÑн, ГабиÑов, Кудзаев)", + "shortName": "(вк) ученики Койбаева (ГалуÑÑ‚ÑŒÑн, ГабиÑов, Кудзаев)", + "contestSystemId": "19", + "groups": [ + ], + "hashTag": null, + "medias": { + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null + }, + { + "id": 19, + "name": "(вк) Заказной Nat & Ural (Сарнацкий, Хугаев, Тебиев)", + "shortName": "(вк) Заказной Nat & Ural (Сарнацкий, Хугаев, Тебиев)", + "contestSystemId": "20", + "groups": [ + ], + "hashTag": null, + "medias": { + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null + } + ], + "groups": [ + ], + "organizations": [ + ], + "penaltyRoundingMode": "sum_down_to_minute" + }, + "runs": [ + { + "id": 0, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 3, + "time": 607000 + }, + { + "id": 1, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 7, + "time": 682000 + }, + { + "id": 2, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 6, + "time": 699000 + }, + { + "id": 3, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 1, + "time": 737000 + }, + { + "id": 4, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "RE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 0, + "time": 774000 + }, + { + "id": 5, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 1, + "time": 788000 + }, + { + "id": 6, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 0, + "time": 809000 + }, + { + "id": 7, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 3, + "time": 872000 + }, + { + "id": 8, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 9, + "time": 902000 + }, + { + "id": 9, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 1, + "time": 938000 + }, + { + "id": 10, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 6, + "time": 967000 + }, + { + "id": 11, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 0, + "time": 986000 + }, + { + "id": 12, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 3, + "time": 1144000 + }, + { + "id": 13, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 8, + "time": 1156000 + }, + { + "id": 14, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 12, + "time": 1161000 + }, + { + "id": 15, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 3, + "time": 1240000 + }, + { + "id": 16, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 14, + "time": 1265000 + }, + { + "id": 17, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 8, + "time": 1294000 + }, + { + "id": 18, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 12, + "time": 1353000 + }, + { + "id": 19, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 13, + "time": 1359000 + }, + { + "id": 20, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 6, + "time": 1387000 + }, + { + "id": 21, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 3, + "time": 1394000 + }, + { + "id": 22, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 4, + "time": 1436000 + }, + { + "id": 23, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 9, + "time": 1465000 + }, + { + "id": 24, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 9, + "time": 1517000 + }, + { + "id": 25, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 13, + "time": 1518000 + }, + { + "id": 26, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 6, + "time": 1522000 + }, + { + "id": 27, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 19, + "time": 1541000 + }, + { + "id": 28, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 11, + "time": 1605000 + }, + { + "id": 29, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 11, + "time": 1613000 + }, + { + "id": 30, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 7, + "time": 1679000 + }, + { + "id": 31, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 6, + "time": 1696000 + }, + { + "id": 32, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 7, + "time": 1707000 + }, + { + "id": 33, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 11, + "time": 1710000 + }, + { + "id": 34, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 11, + "time": 1734000 + }, + { + "id": 35, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 5, + "time": 1823000 + }, + { + "id": 36, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 9, + "teamId": 3, + "time": 1883000 + }, + { + "id": 37, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 6, + "time": 1892000 + }, + { + "id": 38, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 8, + "time": 1922000 + }, + { + "id": 39, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 9, + "teamId": 0, + "time": 1974000 + }, + { + "id": 40, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 4, + "time": 1977000 + }, + { + "id": 41, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 0, + "time": 2022000 + }, + { + "id": 42, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 0, + "time": 2158000 + }, + { + "id": 43, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 3, + "time": 2163000 + }, + { + "id": 44, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 3, + "time": 2217000 + }, + { + "id": 45, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 14, + "time": 2241000 + }, + { + "id": 46, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 7, + "time": 2246000 + }, + { + "id": 47, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 8, + "time": 2307000 + }, + { + "id": 48, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 14, + "time": 2310000 + }, + { + "id": 49, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 11, + "teamId": 1, + "time": 2343000 + }, + { + "id": 50, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 5, + "time": 2368000 + }, + { + "id": 51, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 18, + "time": 2424000 + }, + { + "id": 52, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 4, + "time": 2524000 + }, + { + "id": 53, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 8, + "time": 2548000 + }, + { + "id": 54, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 1, + "time": 2600000 + }, + { + "id": 55, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 9, + "teamId": 14, + "time": 2635000 + }, + { + "id": 56, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 16, + "time": 2636000 + }, + { + "id": 57, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 12, + "time": 2679000 + }, + { + "id": 58, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 2, + "time": 2695000 + }, + { + "id": 59, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 8, + "time": 2706000 + }, + { + "id": 60, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 9, + "teamId": 7, + "time": 2790000 + }, + { + "id": 61, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 9, + "teamId": 6, + "time": 2809000 + }, + { + "id": 62, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 16, + "time": 2816000 + }, + { + "id": 63, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 13, + "time": 2820000 + }, + { + "id": 64, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 9, + "teamId": 7, + "time": 2843000 + }, + { + "id": 65, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 9, + "teamId": 1, + "time": 2861000 + }, + { + "id": 66, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 16, + "time": 2862000 + }, + { + "id": 67, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 6, + "time": 2915000 + }, + { + "id": 68, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 0, + "time": 2977000 + }, + { + "id": 69, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 16, + "time": 3011000 + }, + { + "id": 70, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 18, + "time": 3038000 + }, + { + "id": 71, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 9, + "time": 3131000 + }, + { + "id": 72, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 9, + "teamId": 11, + "time": 3189000 + }, + { + "id": 73, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 13, + "time": 3191000 + }, + { + "id": 74, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 8, + "time": 3215000 + }, + { + "id": 75, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 13, + "time": 3229000 + }, + { + "id": 76, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 8, + "time": 3275000 + }, + { + "id": 77, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 0, + "time": 3332000 + }, + { + "id": 78, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 18, + "time": 3360000 + }, + { + "id": 79, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 4, + "time": 3406000 + }, + { + "id": 80, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 18, + "time": 3407000 + }, + { + "id": 81, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 1, + "time": 3476000 + }, + { + "id": 82, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 5, + "time": 3571000 + }, + { + "id": 83, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 9, + "teamId": 12, + "time": 3606000 + }, + { + "id": 84, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "RE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 17, + "time": 3627000 + }, + { + "id": 85, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 4, + "time": 3851000 + }, + { + "id": 86, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 6, + "time": 3908000 + }, + { + "id": 87, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 1, + "time": 3926000 + }, + { + "id": 88, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "CE", + "isAddingPenalty": false, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 13, + "time": 3932000 + }, + { + "id": 89, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 7, + "time": 3942000 + }, + { + "id": 90, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "CE", + "isAddingPenalty": false, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 13, + "time": 3949000 + }, + { + "id": 91, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 13, + "time": 3977000 + }, + { + "id": 92, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 14, + "time": 4077000 + }, + { + "id": 93, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 0, + "time": 4156000 + }, + { + "id": 94, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 18, + "time": 4182000 + }, + { + "id": 95, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 15, + "time": 4217000 + }, + { + "id": 96, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 2, + "time": 4288000 + }, + { + "id": 97, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 4, + "time": 4366000 + }, + { + "id": 98, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 1, + "time": 4373000 + }, + { + "id": 99, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 9, + "time": 4450000 + }, + { + "id": 100, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 0, + "time": 4452000 + }, + { + "id": 101, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 2, + "time": 4477000 + }, + { + "id": 102, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "RE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 5, + "teamId": 3, + "time": 4635000 + }, + { + "id": 103, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 18, + "time": 4802000 + }, + { + "id": 104, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 5, + "time": 4835000 + }, + { + "id": 105, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 4, + "time": 4867000 + }, + { + "id": 106, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "CE", + "isAddingPenalty": false, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 9, + "teamId": 13, + "time": 4938000 + }, + { + "id": 107, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 9, + "teamId": 4, + "time": 4998000 + }, + { + "id": 108, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 18, + "time": 5003000 + }, + { + "id": 109, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 9, + "teamId": 13, + "time": 5007000 + }, + { + "id": 110, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 5128000 + }, + { + "id": 111, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 14, + "time": 5137000 + }, + { + "id": 112, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 5, + "time": 5140000 + }, + { + "id": 113, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 9, + "teamId": 2, + "time": 5175000 + }, + { + "id": 114, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 6, + "time": 5179000 + }, + { + "id": 115, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 5180000 + }, + { + "id": 116, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "CE", + "isAddingPenalty": false, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 17, + "time": 5242000 + }, + { + "id": 117, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 14, + "time": 5299000 + }, + { + "id": 118, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "RE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 17, + "time": 5301000 + }, + { + "id": 119, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 8, + "time": 5314000 + }, + { + "id": 120, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "RE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 5, + "teamId": 3, + "time": 5409000 + }, + { + "id": 121, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 3, + "time": 5515000 + }, + { + "id": 122, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 9, + "teamId": 2, + "time": 5562000 + }, + { + "id": 123, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 11, + "time": 5596000 + }, + { + "id": 124, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "IL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 9, + "teamId": 2, + "time": 5651000 + }, + { + "id": 125, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 16, + "time": 5732000 + }, + { + "id": 126, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "IL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 9, + "teamId": 2, + "time": 5742000 + }, + { + "id": 127, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 9, + "time": 5804000 + }, + { + "id": 128, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 9, + "teamId": 2, + "time": 5851000 + }, + { + "id": 129, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 9, + "teamId": 13, + "time": 5875000 + }, + { + "id": 130, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 18, + "time": 5910000 + }, + { + "id": 131, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 17, + "time": 6084000 + }, + { + "id": 132, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 14, + "time": 6100000 + }, + { + "id": 133, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 11, + "time": 6163000 + }, + { + "id": 134, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 9, + "teamId": 5, + "time": 6177000 + }, + { + "id": 135, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 11, + "time": 6273000 + }, + { + "id": 136, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 17, + "time": 6275000 + }, + { + "id": 137, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 5, + "teamId": 3, + "time": 6324000 + }, + { + "id": 138, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "RE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 6347000 + }, + { + "id": 139, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 15, + "time": 6462000 + }, + { + "id": 140, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 0, + "teamId": 1, + "time": 6484000 + }, + { + "id": 141, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 3, + "time": 6487000 + }, + { + "id": 142, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 18, + "time": 6495000 + }, + { + "id": 143, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 0, + "teamId": 1, + "time": 6518000 + }, + { + "id": 144, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 6581000 + }, + { + "id": 145, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 17, + "time": 6587000 + }, + { + "id": 146, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 9, + "teamId": 9, + "time": 6595000 + }, + { + "id": 147, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 5, + "teamId": 0, + "time": 6651000 + }, + { + "id": 148, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 17, + "time": 6750000 + }, + { + "id": 149, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 9, + "time": 6799000 + }, + { + "id": 150, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "CE", + "isAddingPenalty": false, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 5, + "teamId": 0, + "time": 6827000 + }, + { + "id": 151, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 9, + "teamId": 9, + "time": 6958000 + }, + { + "id": 152, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 3, + "time": 6985000 + }, + { + "id": 153, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 5, + "teamId": 0, + "time": 7021000 + }, + { + "id": 154, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 18, + "time": 7051000 + }, + { + "id": 155, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 16, + "time": 7065000 + }, + { + "id": 156, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 9, + "teamId": 8, + "time": 7186000 + }, + { + "id": 157, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 16, + "time": 7204000 + }, + { + "id": 158, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 3, + "time": 7224000 + }, + { + "id": 159, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 5, + "teamId": 0, + "time": 7299000 + }, + { + "id": 160, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 3, + "time": 7338000 + }, + { + "id": 161, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 5, + "teamId": 3, + "time": 7382000 + }, + { + "id": 162, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 5, + "teamId": 0, + "time": 7430000 + }, + { + "id": 163, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 3, + "time": 7433000 + }, + { + "id": 164, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 3, + "time": 7438000 + }, + { + "id": 165, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 18, + "time": 7549000 + }, + { + "id": 166, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 0, + "time": 7604000 + }, + { + "id": 167, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 1, + "time": 7606000 + }, + { + "id": 168, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "PE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 7646000 + }, + { + "id": 169, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 7692000 + }, + { + "id": 170, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 18, + "time": 7767000 + }, + { + "id": 171, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 13, + "time": 7793000 + }, + { + "id": 172, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 5, + "teamId": 3, + "time": 7862000 + }, + { + "id": 173, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 0, + "time": 7867000 + }, + { + "id": 174, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 0, + "time": 7963000 + }, + { + "id": 175, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "RE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 6, + "time": 8156000 + }, + { + "id": 176, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 11, + "teamId": 7, + "time": 8176000 + }, + { + "id": 177, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 5, + "teamId": 1, + "time": 8180000 + }, + { + "id": 178, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 6, + "time": 8309000 + }, + { + "id": 179, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 17, + "time": 8314000 + }, + { + "id": 180, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 3, + "time": 8414000 + }, + { + "id": 181, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 4, + "time": 8419000 + }, + { + "id": 182, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 3, + "time": 8457000 + }, + { + "id": 183, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 8507000 + }, + { + "id": 184, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 16, + "time": 8529000 + }, + { + "id": 185, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 8579000 + }, + { + "id": 186, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 8645000 + }, + { + "id": 187, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 1, + "time": 8674000 + }, + { + "id": 188, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 0, + "time": 8711000 + }, + { + "id": 189, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 8731000 + }, + { + "id": 190, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 0, + "time": 8780000 + }, + { + "id": 191, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 1, + "time": 8786000 + }, + { + "id": 192, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 13, + "time": 8860000 + }, + { + "id": 193, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 13, + "time": 8901000 + }, + { + "id": 194, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 1, + "time": 8930000 + }, + { + "id": 195, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 11, + "teamId": 7, + "time": 8932000 + }, + { + "id": 196, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 5, + "time": 8988000 + }, + { + "id": 197, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 0, + "time": 8990000 + }, + { + "id": 198, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 1, + "time": 9002000 + }, + { + "id": 199, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 11, + "teamId": 7, + "time": 9004000 + }, + { + "id": 200, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 13, + "time": 9021000 + }, + { + "id": 201, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 9029000 + }, + { + "id": 202, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 11, + "teamId": 3, + "time": 9076000 + }, + { + "id": 203, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 13, + "time": 9169000 + }, + { + "id": 204, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 5, + "time": 9251000 + }, + { + "id": 205, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 18, + "time": 9266000 + }, + { + "id": 206, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 19, + "time": 9445000 + }, + { + "id": 207, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 9631000 + }, + { + "id": 208, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 11, + "teamId": 7, + "time": 9640000 + }, + { + "id": 209, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 9726000 + }, + { + "id": 210, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 3, + "time": 9762000 + }, + { + "id": 211, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 9814000 + }, + { + "id": 212, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 11, + "teamId": 7, + "time": 9848000 + }, + { + "id": 213, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 17, + "time": 9917000 + }, + { + "id": 214, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "PE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 4, + "time": 9988000 + }, + { + "id": 215, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 3, + "time": 10009000 + }, + { + "id": 216, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 11, + "teamId": 7, + "time": 10015000 + }, + { + "id": 217, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 10048000 + }, + { + "id": 218, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 4, + "time": 10078000 + }, + { + "id": 219, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "PE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 9, + "time": 10102000 + }, + { + "id": 220, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 3, + "time": 10104000 + }, + { + "id": 221, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 5, + "teamId": 1, + "time": 10129000 + }, + { + "id": 222, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 10257000 + }, + { + "id": 223, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "PE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 3, + "time": 10278000 + }, + { + "id": 224, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 2, + "time": 10334000 + }, + { + "id": 225, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "CE", + "isAddingPenalty": false, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 10362000 + }, + { + "id": 226, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 5, + "teamId": 14, + "time": 10366000 + }, + { + "id": 227, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 10381000 + }, + { + "id": 228, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 9, + "time": 10394000 + }, + { + "id": 229, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 19, + "time": 10437000 + }, + { + "id": 230, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 11, + "teamId": 7, + "time": 10475000 + }, + { + "id": 231, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 3, + "time": 10600000 + }, + { + "id": 232, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 10600000 + }, + { + "id": 233, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 9, + "time": 10673000 + }, + { + "id": 234, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "RE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 4, + "time": 10816000 + }, + { + "id": 235, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 15, + "time": 10846000 + }, + { + "id": 236, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 10891000 + }, + { + "id": 237, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 3, + "teamId": 8, + "time": 10893000 + }, + { + "id": 238, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 5, + "teamId": 3, + "time": 10901000 + }, + { + "id": 239, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 5, + "teamId": 0, + "time": 10924000 + }, + { + "id": 240, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 2, + "time": 10957000 + }, + { + "id": 241, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 11023000 + }, + { + "id": 242, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 11114000 + }, + { + "id": 243, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 11200000 + }, + { + "id": 244, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 18, + "time": 11232000 + }, + { + "id": 245, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 11367000 + }, + { + "id": 246, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 11468000 + }, + { + "id": 247, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 11487000 + }, + { + "id": 248, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 11522000 + }, + { + "id": 249, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 19, + "time": 11529000 + }, + { + "id": 250, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "RE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 11685000 + }, + { + "id": 251, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 11751000 + }, + { + "id": 252, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 18, + "time": 11771000 + }, + { + "id": 253, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 11876000 + }, + { + "id": 254, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 11884000 + }, + { + "id": 255, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 5, + "teamId": 1, + "time": 11909000 + }, + { + "id": 256, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 11912000 + }, + { + "id": 257, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 4, + "time": 11999000 + }, + { + "id": 258, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 3, + "teamId": 11, + "time": 12015000 + }, + { + "id": 259, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 12022000 + }, + { + "id": 260, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 0, + "time": 12031000 + }, + { + "id": 261, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 15, + "time": 12055000 + }, + { + "id": 262, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 0, + "time": 12057000 + }, + { + "id": 263, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 12093000 + }, + { + "id": 264, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "PE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 3, + "teamId": 12, + "time": 12130000 + }, + { + "id": 265, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 18, + "time": 12131000 + }, + { + "id": 266, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 3, + "teamId": 12, + "time": 12215000 + }, + { + "id": 267, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "RE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 3, + "teamId": 3, + "time": 12260000 + }, + { + "id": 268, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 12265000 + }, + { + "id": 269, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 18, + "time": 12300000 + }, + { + "id": 270, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 8, + "time": 12321000 + }, + { + "id": 271, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 3, + "teamId": 3, + "time": 12392000 + }, + { + "id": 272, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 4, + "time": 12470000 + }, + { + "id": 273, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 4, + "time": 12619000 + }, + { + "id": 274, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 17, + "time": 12623000 + }, + { + "id": 275, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 12667000 + }, + { + "id": 276, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "CE", + "isAddingPenalty": false, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 6, + "time": 12685000 + }, + { + "id": 277, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 6, + "time": 12731000 + }, + { + "id": 278, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 12741000 + }, + { + "id": 279, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "PE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 3, + "teamId": 6, + "time": 12936000 + }, + { + "id": 280, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 3, + "teamId": 9, + "time": 12936000 + }, + { + "id": 281, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 8, + "time": 13011000 + }, + { + "id": 282, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 9, + "time": 13149000 + }, + { + "id": 283, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 13318000 + }, + { + "id": 284, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 8, + "time": 13400000 + }, + { + "id": 285, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 5, + "teamId": 14, + "time": 13510000 + }, + { + "id": 286, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 18, + "time": 13625000 + }, + { + "id": 287, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 13652000 + }, + { + "id": 288, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 11, + "time": 13684000 + }, + { + "id": 289, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "CE", + "isAddingPenalty": false, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 15, + "time": 13824000 + }, + { + "id": 290, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 15, + "time": 13870000 + }, + { + "id": 291, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 6, + "time": 13889000 + }, + { + "id": 292, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 3, + "teamId": 1, + "time": 14065000 + }, + { + "id": 293, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 5, + "teamId": 14, + "time": 14253000 + }, + { + "id": 294, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 18, + "time": 14270000 + }, + { + "id": 295, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 4, + "time": 14291000 + }, + { + "id": 296, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 1, + "time": 14433000 + }, + { + "id": 297, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 5, + "teamId": 14, + "time": 14446000 + }, + { + "id": 298, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 18, + "time": 14491000 + }, + { + "id": 299, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 1, + "time": 14497000 + }, + { + "id": 300, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 18, + "time": 14534000 + }, + { + "id": 301, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "CE", + "isAddingPenalty": false, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 0, + "teamId": 7, + "time": 14558000 + }, + { + "id": 302, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 1, + "time": 14580000 + }, + { + "id": 303, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 15, + "time": 14582000 + }, + { + "id": 304, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 1, + "time": 14695000 + }, + { + "id": 305, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 6, + "time": 14696000 + }, + { + "id": 306, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 15, + "time": 14794000 + }, + { + "id": 307, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 14822000 + }, + { + "id": 308, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 8, + "time": 14842000 + }, + { + "id": 309, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "RE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 15, + "time": 14855000 + }, + { + "id": 310, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 18, + "time": 14901000 + }, + { + "id": 311, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "PE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 3, + "teamId": 2, + "time": 14909000 + }, + { + "id": 312, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 17, + "time": 14996000 + }, + { + "id": 313, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "RE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 5, + "teamId": 14, + "time": 15013000 + }, + { + "id": 314, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 5, + "teamId": 14, + "time": 15052000 + }, + { + "id": 315, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 3, + "teamId": 14, + "time": 15059000 + }, + { + "id": 316, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 18, + "time": 15068000 + }, + { + "id": 317, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 1, + "time": 15086000 + }, + { + "id": 318, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "RE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 5, + "teamId": 14, + "time": 15087000 + }, + { + "id": 319, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "CE", + "isAddingPenalty": false, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 6, + "time": 15151000 + }, + { + "id": 320, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 6, + "time": 15211000 + }, + { + "id": 321, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "PE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 15271000 + }, + { + "id": 322, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "RE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 15, + "time": 15287000 + }, + { + "id": 323, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 9, + "time": 15367000 + }, + { + "id": 324, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "RE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 5, + "teamId": 14, + "time": 15373000 + }, + { + "id": 325, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 15373000 + }, + { + "id": 326, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 18, + "time": 15388000 + }, + { + "id": 327, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "RE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 5, + "teamId": 14, + "time": 15412000 + }, + { + "id": 328, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 9, + "time": 15428000 + }, + { + "id": 329, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 18, + "time": 15457000 + }, + { + "id": 330, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 1, + "time": 15528000 + }, + { + "id": 331, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "CE", + "isAddingPenalty": false, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 15566000 + }, + { + "id": 332, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 1, + "time": 15567000 + }, + { + "id": 333, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "CE", + "isAddingPenalty": false, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 1, + "time": 15690000 + }, + { + "id": 334, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 5, + "teamId": 14, + "time": 15714000 + }, + { + "id": 335, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 6, + "time": 15728000 + }, + { + "id": 336, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 1, + "time": 15730000 + }, + { + "id": 337, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 1, + "time": 15735000 + }, + { + "id": 338, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 1, + "time": 15803000 + }, + { + "id": 339, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "CE", + "isAddingPenalty": false, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 15, + "time": 15808000 + }, + { + "id": 340, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 1, + "time": 15809000 + }, + { + "id": 341, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 5, + "teamId": 14, + "time": 15832000 + }, + { + "id": 342, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 15883000 + }, + { + "id": 343, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "RE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 5, + "teamId": 14, + "time": 15887000 + }, + { + "id": 344, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "CE", + "isAddingPenalty": false, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 15, + "time": 15913000 + }, + { + "id": 345, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "CE", + "isAddingPenalty": false, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 1, + "time": 15917000 + }, + { + "id": 346, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 7, + "time": 15934000 + }, + { + "id": 347, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 1, + "time": 15958000 + }, + { + "id": 348, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 9, + "time": 15964000 + }, + { + "id": 349, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 1, + "time": 15969000 + }, + { + "id": 350, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 5, + "teamId": 14, + "time": 15974000 + }, + { + "id": 351, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 15, + "time": 16004000 + }, + { + "id": 352, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 7, + "time": 16073000 + }, + { + "id": 353, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 11, + "teamId": 14, + "time": 16094000 + }, + { + "id": 354, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 3, + "teamId": 4, + "time": 16110000 + }, + { + "id": 355, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 0, + "teamId": 3, + "time": 16165000 + }, + { + "id": 356, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 16183000 + }, + { + "id": 357, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 9, + "time": 16365000 + }, + { + "id": 358, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 1, + "time": 16444000 + }, + { + "id": 359, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 16506000 + }, + { + "id": 360, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 5, + "time": 16519000 + }, + { + "id": 361, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 0, + "time": 16631000 + }, + { + "id": 362, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 6, + "time": 16650000 + }, + { + "id": 363, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 5, + "time": 16671000 + }, + { + "id": 364, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 18, + "time": 16698000 + }, + { + "id": 365, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 6, + "time": 16762000 + }, + { + "id": 366, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 18, + "time": 16778000 + }, + { + "id": 367, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "PE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 8, + "time": 16852000 + }, + { + "id": 368, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 6, + "time": 16893000 + }, + { + "id": 369, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 9, + "time": 16941000 + }, + { + "id": 370, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "PE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 8, + "time": 16955000 + }, + { + "id": 371, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 16988000 + }, + { + "id": 372, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 9, + "time": 17004000 + }, + { + "id": 373, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "PE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 8, + "time": 17053000 + }, + { + "id": 374, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 11, + "teamId": 12, + "time": 17079000 + }, + { + "id": 375, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 11, + "teamId": 12, + "time": 17131000 + }, + { + "id": 376, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 0, + "time": 17137000 + }, + { + "id": 377, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 2, + "time": 17146000 + }, + { + "id": 378, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "RE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 11, + "teamId": 5, + "time": 17152000 + }, + { + "id": 379, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 4, + "time": 17156000 + }, + { + "id": 380, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 8, + "time": 17174000 + }, + { + "id": 381, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 6, + "time": 17185000 + }, + { + "id": 382, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 9, + "time": 17187000 + }, + { + "id": 383, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 11, + "teamId": 12, + "time": 17219000 + }, + { + "id": 384, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 6, + "time": 17246000 + }, + { + "id": 385, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 0, + "time": 17252000 + }, + { + "id": 386, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 5, + "time": 17273000 + }, + { + "id": 387, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 17, + "time": 17314000 + }, + { + "id": 388, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "RE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 11, + "time": 17393000 + }, + { + "id": 389, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 3, + "teamId": 6, + "time": 17403000 + }, + { + "id": 390, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "CE", + "isAddingPenalty": false, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 17428000 + }, + { + "id": 391, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 0, + "time": 17439000 + }, + { + "id": 392, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 17454000 + }, + { + "id": 393, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "RE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 5, + "time": 17495000 + }, + { + "id": 394, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 0, + "time": 17496000 + }, + { + "id": 395, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 8, + "teamId": 3, + "time": 17518000 + }, + { + "id": 396, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "RE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 5, + "time": 17524000 + }, + { + "id": 397, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 17536000 + }, + { + "id": 398, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "RE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 11, + "time": 17537000 + }, + { + "id": 399, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "RE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 9, + "time": 17568000 + }, + { + "id": 400, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 3, + "time": 17578000 + }, + { + "id": 401, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 8, + "teamId": 3, + "time": 17587000 + }, + { + "id": 402, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 17609000 + }, + { + "id": 403, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 9, + "time": 17611000 + }, + { + "id": 404, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 17621000 + }, + { + "id": 405, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 11, + "time": 17637000 + }, + { + "id": 406, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 17643000 + }, + { + "id": 407, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "CE", + "isAddingPenalty": false, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 2, + "time": 17649000 + }, + { + "id": 408, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 17661000 + }, + { + "id": 409, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 8, + "teamId": 3, + "time": 17682000 + }, + { + "id": 410, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 9, + "time": 17687000 + }, + { + "id": 411, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 11, + "time": 17698000 + }, + { + "id": 412, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 9, + "time": 17713000 + }, + { + "id": 413, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "RE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 5, + "time": 17713000 + }, + { + "id": 414, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 17714000 + }, + { + "id": 415, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "CE", + "isAddingPenalty": false, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 0, + "time": 17720000 + }, + { + "id": 416, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "RE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 9, + "time": 17736000 + }, + { + "id": 417, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 9, + "time": 17755000 + }, + { + "id": 418, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 17763000 + }, + { + "id": 419, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 3, + "teamId": 0, + "time": 17777000 + }, + { + "id": 420, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 0, + "time": 17783000 + }, + { + "id": 421, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 17784000 + }, + { + "id": 422, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 2, + "time": 17824000 + }, + { + "id": 423, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 17825000 + }, + { + "id": 424, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 5, + "time": 17827000 + }, + { + "id": 425, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 5, + "time": 17829000 + }, + { + "id": 426, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 9, + "time": 17837000 + }, + { + "id": 427, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 17841000 + }, + { + "id": 428, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 17855000 + }, + { + "id": 429, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 3, + "time": 17857000 + }, + { + "id": 430, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 5, + "time": 17859000 + }, + { + "id": 431, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 9, + "time": 17871000 + }, + { + "id": 432, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 2, + "time": 17899000 + }, + { + "id": 433, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 17903000 + }, + { + "id": 434, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 3, + "time": 17907000 + }, + { + "id": 435, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 17909000 + }, + { + "id": 436, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 17918000 + }, + { + "id": 437, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "PE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 6, + "time": 17927000 + }, + { + "id": 438, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "RE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 5, + "time": 17931000 + }, + { + "id": 439, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 6, + "time": 17943000 + }, + { + "id": 440, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 17948000 + }, + { + "id": 441, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 17956000 + }, + { + "id": 442, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 17963000 + }, + { + "id": 443, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 4, + "time": 17967000 + }, + { + "id": 444, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 17969000 + }, + { + "id": 445, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 17971000 + }, + { + "id": 446, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 17974000 + }, + { + "id": 447, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 17978000 + }, + { + "id": 448, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 5, + "time": 17982000 + }, + { + "id": 449, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 1, + "time": 17984000 + }, + { + "id": 450, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 9, + "time": 17992000 + }, + { + "id": 451, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 17993000 + }, + { + "id": 452, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 1, + "time": 17993000 + } + ], + "analyticsMessages": [ + ] +} \ No newline at end of file diff --git a/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.testSysWithAdvancedOverride.approved.txt b/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.testSysWithAdvancedOverride.approved.txt new file mode 100644 index 000000000..2e907eea6 --- /dev/null +++ b/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.testSysWithAdvancedOverride.approved.txt @@ -0,0 +1,7717 @@ +{ + "contestInfo": { + "name": "\"LVI St. Petersburg State University Championship, Sunday, December 06, 2020\"", + "status": "OVER", + "resultType": "ICPC", + "startTimeUnixMs": 1607241600000, + "contestLengthMs": 18000000, + "freezeTimeMs": 18000000, + "problems": [ + { + "letter": "A", + "name": "Permutations and Linear Combinations", + "id": 0, + "ordinal": 0, + "contestSystemId": "A" + }, + { + "letter": "B", + "name": "Brick Power", + "id": 1, + "ordinal": 1, + "contestSystemId": "B" + }, + { + "letter": "C", + "name": "Broken Matrix", + "id": 2, + "ordinal": 2, + "contestSystemId": "C" + }, + { + "letter": "D", + "name": "Encoded Messages", + "id": 3, + "ordinal": 3, + "contestSystemId": "D" + }, + { + "letter": "E", + "name": "Dogs and Coins", + "id": 4, + "ordinal": 4, + "contestSystemId": "E" + }, + { + "letter": "F", + "name": "Infection Score", + "id": 5, + "ordinal": 5, + "contestSystemId": "F" + }, + { + "letter": "G", + "name": "King and Roads", + "id": 6, + "ordinal": 6, + "contestSystemId": "G" + }, + { + "letter": "H", + "name": "Classic Literature", + "id": 7, + "ordinal": 7, + "contestSystemId": "H" + }, + { + "letter": "I", + "name": "Multiply without Carry", + "id": 8, + "ordinal": 8, + "contestSystemId": "I" + }, + { + "letter": "J", + "name": "Game with Permutations", + "id": 9, + "ordinal": 9, + "contestSystemId": "J" + }, + { + "letter": "K", + "name": "Schedule", + "id": 10, + "ordinal": 10, + "contestSystemId": "K" + }, + { + "letter": "L", + "name": "T-Shirt Distribution", + "id": 11, + "ordinal": 11, + "contestSystemId": "L" + } + ], + "teams": [ + { + "id": 0, + "name": "Monad.Reader (Садыков, Ибатов, Гаврилов)", + "shortName": "Monad.Reader", + "contestSystemId": "01", + "groups": [ + ], + "hashTag": null, + "medias": { + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null, + "customFields": { + "funnyName": "Monad.Reader" + } + }, + { + "id": 1, + "name": "LOUD Enough (Гаевой, Бочков, Макаров)", + "shortName": "LOUD Enough", + "contestSystemId": "02", + "groups": [ + ], + "hashTag": null, + "medias": { + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null, + "customFields": { + "funnyName": "LOUD Enough" + } + }, + { + "id": 2, + "name": "(1к) Stardust Crusaders (Михайлов, Ковалев, Ельцов)", + "shortName": "Stardust Crusaders", + "contestSystemId": "03", + "groups": [ + "firstGrade" + ], + "hashTag": null, + "medias": { + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null, + "customFields": { + "funnyName": "Stardust Crusaders" + } + }, + { + "id": 3, + "name": "Cheba Kings (Григорьев, Ефремов, Иванов)", + "shortName": "Cheba Kings", + "contestSystemId": "04", + "groups": [ + ], + "hashTag": null, + "medias": { + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null, + "customFields": { + "funnyName": "Cheba Kings" + } + }, + { + "id": 4, + "name": "(1к) Square ball (Волочай, Ðечаев, Еремеев)", + "shortName": "Square ball", + "contestSystemId": "05", + "groups": [ + "firstGrade" + ], + "hashTag": null, + "medias": { + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null, + "customFields": { + "funnyName": "Square ball" + } + }, + { + "id": 5, + "name": "loozha (Строганов, Куликов, Мандельштам)", + "shortName": "loozha", + "contestSystemId": "06", + "groups": [ + ], + "hashTag": null, + "medias": { + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null, + "customFields": { + "funnyName": "loozha" + } + }, + { + "id": 6, + "name": "admarkov team (Марков)", + "shortName": "admarkov team", + "contestSystemId": "07", + "groups": [ + ], + "hashTag": null, + "medias": { + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null, + "customFields": { + "funnyName": "admarkov team" + } + }, + { + "id": 7, + "name": "How to turn off computer? (Гребенников, Заварин, Фадеева)", + "shortName": "How to turn off computer?", + "contestSystemId": "08", + "groups": [ + ], + "hashTag": null, + "medias": { + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null, + "customFields": { + "funnyName": "How to turn off computer?" + } + }, + { + "id": 8, + "name": "Ð’ компании друзей (ГорÑчев)", + "shortName": "Ð’ компании друзей", + "contestSystemId": "09", + "groups": [ + ], + "hashTag": null, + "medias": { + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null, + "customFields": { + "funnyName": "Ð’ компании друзей" + } + }, + { + "id": 9, + "name": "Botwa Jigurda (СаакÑн, Мишура, Кравченко)", + "shortName": "Botwa Jigurda", + "contestSystemId": "10", + "groups": [ + ], + "hashTag": null, + "medias": { + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null, + "customFields": { + "funnyName": "Botwa Jigurda" + } + }, + { + "id": 10, + "name": "(шк) Работать там (Ковригин, Иванов, Цветков)", + "shortName": "Работать там", + "contestSystemId": "11", + "groups": [ + "school" + ], + "hashTag": null, + "medias": { + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null, + "customFields": { + "funnyName": "Работать там" + } + }, + { + "id": 11, + "name": "(1к) фан-клуб ивана короткого (Ðтмажитова, Рудович, КаÑÑŒÑнов)", + "shortName": "фан-клуб ивана короткого", + "contestSystemId": "12", + "groups": [ + "firstGrade" + ], + "hashTag": null, + "medias": { + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null, + "customFields": { + "funnyName": "фан-клуб ивана короткого" + } + }, + { + "id": 12, + "name": "(1к) bravit_team (Мартынов, Ðовожилов, Климов)", + "shortName": "bravit_team", + "contestSystemId": "13", + "groups": [ + "firstGrade" + ], + "hashTag": null, + "medias": { + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null, + "customFields": { + "funnyName": "bravit_team" + } + }, + { + "id": 13, + "name": "(вк) gerind (ВихлÑев)", + "shortName": "gerind", + "contestSystemId": "14", + "groups": [ + "outOfContest" + ], + "hashTag": null, + "medias": { + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null, + "customFields": { + "funnyName": "gerind" + } + }, + { + "id": 14, + "name": "(вк) Как же хочетÑÑ Ð ÐµÐµÑ‡ÑŒÐºÑƒ.. (Быков, МекумÑнов)", + "shortName": "Как же хочетÑÑ Ð ÐµÐµÑ‡ÑŒÐºÑƒ..", + "contestSystemId": "15", + "groups": [ + "outOfContest" + ], + "hashTag": null, + "medias": { + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null, + "customFields": { + "funnyName": "Как же хочетÑÑ Ð ÐµÐµÑ‡ÑŒÐºÑƒ.." + } + }, + { + "id": 15, + "name": "(вк) Persik (Цаболов, Чакалов, Маргиев)", + "shortName": "Persik", + "contestSystemId": "16", + "groups": [ + "outOfContest" + ], + "hashTag": null, + "medias": { + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null, + "customFields": { + "funnyName": "Persik" + } + }, + { + "id": 16, + "name": "(вк) Ðнтибыкшмут (ГамоÑов, Тамаев)", + "shortName": "Ðнтибыкшмут", + "contestSystemId": "17", + "groups": [ + "outOfContest" + ], + "hashTag": null, + "medias": { + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null, + "customFields": { + "funnyName": "Ðнтибыкшмут" + } + }, + { + "id": 17, + "name": "(вк) Инферны (Дзуцева, Корчагин, Джибилов)", + "shortName": "Инферны", + "contestSystemId": "18", + "groups": [ + "outOfContest" + ], + "hashTag": null, + "medias": { + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null, + "customFields": { + "funnyName": "Инферны" + } + }, + { + "id": 18, + "name": "(вк) ученики Койбаева (ГалуÑÑ‚ÑŒÑн, ГабиÑов, Кудзаев)", + "shortName": "ученики Койбаева", + "contestSystemId": "19", + "groups": [ + "outOfContest" + ], + "hashTag": null, + "medias": { + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null, + "customFields": { + "funnyName": "ученики Койбаева" + } + }, + { + "id": 19, + "name": "(вк) Заказной Nat & Ural (Сарнацкий, Хугаев, Тебиев)", + "shortName": "Заказной Nat & Ural", + "contestSystemId": "20", + "groups": [ + "outOfContest" + ], + "hashTag": null, + "medias": { + }, + "isHidden": false, + "isOutOfContest": false, + "organizationId": null, + "customFields": { + "funnyName": "Заказной Nat & Ural" + } + } + ], + "groups": [ + { + "name": "firstGrade" + }, + { + "name": "school" + }, + { + "name": "outOfContest", + "isOutOfContest": true + } + ], + "organizations": [ + ], + "penaltyRoundingMode": "sum_down_to_minute" + }, + "runs": [ + { + "id": 0, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 3, + "time": 607000 + }, + { + "id": 1, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 7, + "time": 682000 + }, + { + "id": 2, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 6, + "time": 699000 + }, + { + "id": 3, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 1, + "time": 737000 + }, + { + "id": 4, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "RE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 0, + "time": 774000 + }, + { + "id": 5, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 1, + "time": 788000 + }, + { + "id": 6, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 0, + "time": 809000 + }, + { + "id": 7, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 3, + "time": 872000 + }, + { + "id": 8, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 9, + "time": 902000 + }, + { + "id": 9, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 1, + "time": 938000 + }, + { + "id": 10, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 6, + "time": 967000 + }, + { + "id": 11, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 0, + "time": 986000 + }, + { + "id": 12, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 3, + "time": 1144000 + }, + { + "id": 13, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 8, + "time": 1156000 + }, + { + "id": 14, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 12, + "time": 1161000 + }, + { + "id": 15, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 3, + "time": 1240000 + }, + { + "id": 16, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 14, + "time": 1265000 + }, + { + "id": 17, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 8, + "time": 1294000 + }, + { + "id": 18, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 12, + "time": 1353000 + }, + { + "id": 19, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 13, + "time": 1359000 + }, + { + "id": 20, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 6, + "time": 1387000 + }, + { + "id": 21, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 3, + "time": 1394000 + }, + { + "id": 22, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 4, + "time": 1436000 + }, + { + "id": 23, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 9, + "time": 1465000 + }, + { + "id": 24, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 9, + "time": 1517000 + }, + { + "id": 25, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 13, + "time": 1518000 + }, + { + "id": 26, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 6, + "time": 1522000 + }, + { + "id": 27, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 19, + "time": 1541000 + }, + { + "id": 28, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 11, + "time": 1605000 + }, + { + "id": 29, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 11, + "time": 1613000 + }, + { + "id": 30, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 7, + "time": 1679000 + }, + { + "id": 31, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 6, + "time": 1696000 + }, + { + "id": 32, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 7, + "time": 1707000 + }, + { + "id": 33, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 11, + "time": 1710000 + }, + { + "id": 34, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 11, + "time": 1734000 + }, + { + "id": 35, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 5, + "time": 1823000 + }, + { + "id": 36, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 9, + "teamId": 3, + "time": 1883000 + }, + { + "id": 37, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 6, + "time": 1892000 + }, + { + "id": 38, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 8, + "time": 1922000 + }, + { + "id": 39, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 9, + "teamId": 0, + "time": 1974000 + }, + { + "id": 40, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 4, + "time": 1977000 + }, + { + "id": 41, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 0, + "time": 2022000 + }, + { + "id": 42, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 0, + "time": 2158000 + }, + { + "id": 43, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 3, + "time": 2163000 + }, + { + "id": 44, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 3, + "time": 2217000 + }, + { + "id": 45, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 14, + "time": 2241000 + }, + { + "id": 46, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 7, + "time": 2246000 + }, + { + "id": 47, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 8, + "time": 2307000 + }, + { + "id": 48, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 14, + "time": 2310000 + }, + { + "id": 49, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 11, + "teamId": 1, + "time": 2343000 + }, + { + "id": 50, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 5, + "time": 2368000 + }, + { + "id": 51, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 18, + "time": 2424000 + }, + { + "id": 52, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 4, + "time": 2524000 + }, + { + "id": 53, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 8, + "time": 2548000 + }, + { + "id": 54, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 1, + "time": 2600000 + }, + { + "id": 55, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 9, + "teamId": 14, + "time": 2635000 + }, + { + "id": 56, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 16, + "time": 2636000 + }, + { + "id": 57, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 12, + "time": 2679000 + }, + { + "id": 58, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 2, + "time": 2695000 + }, + { + "id": 59, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 8, + "time": 2706000 + }, + { + "id": 60, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 9, + "teamId": 7, + "time": 2790000 + }, + { + "id": 61, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 9, + "teamId": 6, + "time": 2809000 + }, + { + "id": 62, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 16, + "time": 2816000 + }, + { + "id": 63, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 13, + "time": 2820000 + }, + { + "id": 64, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 9, + "teamId": 7, + "time": 2843000 + }, + { + "id": 65, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 9, + "teamId": 1, + "time": 2861000 + }, + { + "id": 66, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 16, + "time": 2862000 + }, + { + "id": 67, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 6, + "time": 2915000 + }, + { + "id": 68, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 0, + "time": 2977000 + }, + { + "id": 69, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 16, + "time": 3011000 + }, + { + "id": 70, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 18, + "time": 3038000 + }, + { + "id": 71, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 9, + "time": 3131000 + }, + { + "id": 72, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 9, + "teamId": 11, + "time": 3189000 + }, + { + "id": 73, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 13, + "time": 3191000 + }, + { + "id": 74, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 8, + "time": 3215000 + }, + { + "id": 75, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 13, + "time": 3229000 + }, + { + "id": 76, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 8, + "time": 3275000 + }, + { + "id": 77, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 0, + "time": 3332000 + }, + { + "id": 78, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 18, + "time": 3360000 + }, + { + "id": 79, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 4, + "time": 3406000 + }, + { + "id": 80, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 18, + "time": 3407000 + }, + { + "id": 81, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 1, + "time": 3476000 + }, + { + "id": 82, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 5, + "time": 3571000 + }, + { + "id": 83, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 9, + "teamId": 12, + "time": 3606000 + }, + { + "id": 84, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "RE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 17, + "time": 3627000 + }, + { + "id": 85, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 4, + "time": 3851000 + }, + { + "id": 86, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 6, + "time": 3908000 + }, + { + "id": 87, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 1, + "time": 3926000 + }, + { + "id": 88, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "CE", + "isAddingPenalty": false, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 13, + "time": 3932000 + }, + { + "id": 89, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 7, + "time": 3942000 + }, + { + "id": 90, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "CE", + "isAddingPenalty": false, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 13, + "time": 3949000 + }, + { + "id": 91, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 13, + "time": 3977000 + }, + { + "id": 92, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 14, + "time": 4077000 + }, + { + "id": 93, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 0, + "time": 4156000 + }, + { + "id": 94, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 18, + "time": 4182000 + }, + { + "id": 95, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 15, + "time": 4217000 + }, + { + "id": 96, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 2, + "time": 4288000 + }, + { + "id": 97, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 4, + "time": 4366000 + }, + { + "id": 98, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 1, + "time": 4373000 + }, + { + "id": 99, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 9, + "time": 4450000 + }, + { + "id": 100, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 0, + "time": 4452000 + }, + { + "id": 101, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 2, + "time": 4477000 + }, + { + "id": 102, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "RE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 5, + "teamId": 3, + "time": 4635000 + }, + { + "id": 103, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 18, + "time": 4802000 + }, + { + "id": 104, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 5, + "time": 4835000 + }, + { + "id": 105, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 4, + "time": 4867000 + }, + { + "id": 106, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "CE", + "isAddingPenalty": false, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 9, + "teamId": 13, + "time": 4938000 + }, + { + "id": 107, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 9, + "teamId": 4, + "time": 4998000 + }, + { + "id": 108, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 18, + "time": 5003000 + }, + { + "id": 109, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 9, + "teamId": 13, + "time": 5007000 + }, + { + "id": 110, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 5128000 + }, + { + "id": 111, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 14, + "time": 5137000 + }, + { + "id": 112, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 5, + "time": 5140000 + }, + { + "id": 113, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 9, + "teamId": 2, + "time": 5175000 + }, + { + "id": 114, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 6, + "time": 5179000 + }, + { + "id": 115, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 5180000 + }, + { + "id": 116, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "CE", + "isAddingPenalty": false, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 17, + "time": 5242000 + }, + { + "id": 117, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 14, + "time": 5299000 + }, + { + "id": 118, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "RE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 17, + "time": 5301000 + }, + { + "id": 119, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 8, + "time": 5314000 + }, + { + "id": 120, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "RE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 5, + "teamId": 3, + "time": 5409000 + }, + { + "id": 121, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 3, + "time": 5515000 + }, + { + "id": 122, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 9, + "teamId": 2, + "time": 5562000 + }, + { + "id": 123, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 11, + "time": 5596000 + }, + { + "id": 124, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "IL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 9, + "teamId": 2, + "time": 5651000 + }, + { + "id": 125, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 16, + "time": 5732000 + }, + { + "id": 126, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "IL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 9, + "teamId": 2, + "time": 5742000 + }, + { + "id": 127, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 9, + "time": 5804000 + }, + { + "id": 128, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 9, + "teamId": 2, + "time": 5851000 + }, + { + "id": 129, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 9, + "teamId": 13, + "time": 5875000 + }, + { + "id": 130, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 18, + "time": 5910000 + }, + { + "id": 131, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 17, + "time": 6084000 + }, + { + "id": 132, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 14, + "time": 6100000 + }, + { + "id": 133, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 11, + "time": 6163000 + }, + { + "id": 134, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 9, + "teamId": 5, + "time": 6177000 + }, + { + "id": 135, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 11, + "time": 6273000 + }, + { + "id": 136, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 17, + "time": 6275000 + }, + { + "id": 137, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 5, + "teamId": 3, + "time": 6324000 + }, + { + "id": 138, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "RE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 6347000 + }, + { + "id": 139, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 15, + "time": 6462000 + }, + { + "id": 140, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 0, + "teamId": 1, + "time": 6484000 + }, + { + "id": 141, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 3, + "time": 6487000 + }, + { + "id": 142, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 18, + "time": 6495000 + }, + { + "id": 143, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 0, + "teamId": 1, + "time": 6518000 + }, + { + "id": 144, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 6581000 + }, + { + "id": 145, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 17, + "time": 6587000 + }, + { + "id": 146, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 9, + "teamId": 9, + "time": 6595000 + }, + { + "id": 147, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 5, + "teamId": 0, + "time": 6651000 + }, + { + "id": 148, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 17, + "time": 6750000 + }, + { + "id": 149, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 9, + "time": 6799000 + }, + { + "id": 150, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "CE", + "isAddingPenalty": false, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 5, + "teamId": 0, + "time": 6827000 + }, + { + "id": 151, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 9, + "teamId": 9, + "time": 6958000 + }, + { + "id": 152, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 3, + "time": 6985000 + }, + { + "id": 153, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 5, + "teamId": 0, + "time": 7021000 + }, + { + "id": 154, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 18, + "time": 7051000 + }, + { + "id": 155, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 16, + "time": 7065000 + }, + { + "id": 156, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 9, + "teamId": 8, + "time": 7186000 + }, + { + "id": 157, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 16, + "time": 7204000 + }, + { + "id": 158, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 3, + "time": 7224000 + }, + { + "id": 159, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 5, + "teamId": 0, + "time": 7299000 + }, + { + "id": 160, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 3, + "time": 7338000 + }, + { + "id": 161, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 5, + "teamId": 3, + "time": 7382000 + }, + { + "id": 162, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 5, + "teamId": 0, + "time": 7430000 + }, + { + "id": 163, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 3, + "time": 7433000 + }, + { + "id": 164, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 3, + "time": 7438000 + }, + { + "id": 165, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 18, + "time": 7549000 + }, + { + "id": 166, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 0, + "time": 7604000 + }, + { + "id": 167, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 1, + "time": 7606000 + }, + { + "id": 168, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "PE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 7646000 + }, + { + "id": 169, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 7692000 + }, + { + "id": 170, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 18, + "time": 7767000 + }, + { + "id": 171, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 13, + "time": 7793000 + }, + { + "id": 172, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 5, + "teamId": 3, + "time": 7862000 + }, + { + "id": 173, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 0, + "time": 7867000 + }, + { + "id": 174, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 0, + "time": 7963000 + }, + { + "id": 175, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "RE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 6, + "time": 8156000 + }, + { + "id": 176, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 11, + "teamId": 7, + "time": 8176000 + }, + { + "id": 177, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 5, + "teamId": 1, + "time": 8180000 + }, + { + "id": 178, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 6, + "time": 8309000 + }, + { + "id": 179, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 17, + "time": 8314000 + }, + { + "id": 180, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 3, + "time": 8414000 + }, + { + "id": 181, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 4, + "time": 8419000 + }, + { + "id": 182, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 3, + "time": 8457000 + }, + { + "id": 183, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 8507000 + }, + { + "id": 184, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 16, + "time": 8529000 + }, + { + "id": 185, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 8579000 + }, + { + "id": 186, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 8645000 + }, + { + "id": 187, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 1, + "time": 8674000 + }, + { + "id": 188, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 0, + "time": 8711000 + }, + { + "id": 189, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 8731000 + }, + { + "id": 190, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 0, + "time": 8780000 + }, + { + "id": 191, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 1, + "time": 8786000 + }, + { + "id": 192, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 13, + "time": 8860000 + }, + { + "id": 193, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 13, + "time": 8901000 + }, + { + "id": 194, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 1, + "time": 8930000 + }, + { + "id": 195, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 11, + "teamId": 7, + "time": 8932000 + }, + { + "id": 196, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 5, + "time": 8988000 + }, + { + "id": 197, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 0, + "time": 8990000 + }, + { + "id": 198, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 1, + "time": 9002000 + }, + { + "id": 199, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 11, + "teamId": 7, + "time": 9004000 + }, + { + "id": 200, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 13, + "time": 9021000 + }, + { + "id": 201, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 9029000 + }, + { + "id": 202, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 11, + "teamId": 3, + "time": 9076000 + }, + { + "id": 203, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 13, + "time": 9169000 + }, + { + "id": 204, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 5, + "time": 9251000 + }, + { + "id": 205, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 18, + "time": 9266000 + }, + { + "id": 206, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 19, + "time": 9445000 + }, + { + "id": 207, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 9631000 + }, + { + "id": 208, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 11, + "teamId": 7, + "time": 9640000 + }, + { + "id": 209, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 9726000 + }, + { + "id": 210, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 3, + "time": 9762000 + }, + { + "id": 211, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 9814000 + }, + { + "id": 212, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 11, + "teamId": 7, + "time": 9848000 + }, + { + "id": 213, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 17, + "time": 9917000 + }, + { + "id": 214, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "PE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 4, + "time": 9988000 + }, + { + "id": 215, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 3, + "time": 10009000 + }, + { + "id": 216, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 11, + "teamId": 7, + "time": 10015000 + }, + { + "id": 217, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 10048000 + }, + { + "id": 218, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 4, + "time": 10078000 + }, + { + "id": 219, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "PE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 9, + "time": 10102000 + }, + { + "id": 220, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 3, + "time": 10104000 + }, + { + "id": 221, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 5, + "teamId": 1, + "time": 10129000 + }, + { + "id": 222, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 10257000 + }, + { + "id": 223, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "PE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 3, + "time": 10278000 + }, + { + "id": 224, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 2, + "time": 10334000 + }, + { + "id": 225, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "CE", + "isAddingPenalty": false, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 10362000 + }, + { + "id": 226, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 5, + "teamId": 14, + "time": 10366000 + }, + { + "id": 227, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 10381000 + }, + { + "id": 228, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 9, + "time": 10394000 + }, + { + "id": 229, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 19, + "time": 10437000 + }, + { + "id": 230, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 11, + "teamId": 7, + "time": 10475000 + }, + { + "id": 231, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 3, + "time": 10600000 + }, + { + "id": 232, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 10600000 + }, + { + "id": 233, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 9, + "time": 10673000 + }, + { + "id": 234, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "RE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 4, + "time": 10816000 + }, + { + "id": 235, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 15, + "time": 10846000 + }, + { + "id": 236, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 10891000 + }, + { + "id": 237, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 3, + "teamId": 8, + "time": 10893000 + }, + { + "id": 238, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 5, + "teamId": 3, + "time": 10901000 + }, + { + "id": 239, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 5, + "teamId": 0, + "time": 10924000 + }, + { + "id": 240, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 2, + "time": 10957000 + }, + { + "id": 241, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 11023000 + }, + { + "id": 242, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 11114000 + }, + { + "id": 243, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 11200000 + }, + { + "id": 244, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 18, + "time": 11232000 + }, + { + "id": 245, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 11367000 + }, + { + "id": 246, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 11468000 + }, + { + "id": 247, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 11487000 + }, + { + "id": 248, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 11522000 + }, + { + "id": 249, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 10, + "teamId": 19, + "time": 11529000 + }, + { + "id": 250, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "RE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 11685000 + }, + { + "id": 251, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 11751000 + }, + { + "id": 252, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 18, + "time": 11771000 + }, + { + "id": 253, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 11876000 + }, + { + "id": 254, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 11884000 + }, + { + "id": 255, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 5, + "teamId": 1, + "time": 11909000 + }, + { + "id": 256, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 11912000 + }, + { + "id": 257, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 4, + "time": 11999000 + }, + { + "id": 258, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 3, + "teamId": 11, + "time": 12015000 + }, + { + "id": 259, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 12022000 + }, + { + "id": 260, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 0, + "time": 12031000 + }, + { + "id": 261, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 15, + "time": 12055000 + }, + { + "id": 262, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 0, + "time": 12057000 + }, + { + "id": 263, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 12093000 + }, + { + "id": 264, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "PE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 3, + "teamId": 12, + "time": 12130000 + }, + { + "id": 265, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 18, + "time": 12131000 + }, + { + "id": 266, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 3, + "teamId": 12, + "time": 12215000 + }, + { + "id": 267, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "RE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 3, + "teamId": 3, + "time": 12260000 + }, + { + "id": 268, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 12265000 + }, + { + "id": 269, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 18, + "time": 12300000 + }, + { + "id": 270, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 8, + "time": 12321000 + }, + { + "id": 271, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 3, + "teamId": 3, + "time": 12392000 + }, + { + "id": 272, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 4, + "time": 12470000 + }, + { + "id": 273, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 4, + "time": 12619000 + }, + { + "id": 274, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 17, + "time": 12623000 + }, + { + "id": 275, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 12667000 + }, + { + "id": 276, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "CE", + "isAddingPenalty": false, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 6, + "time": 12685000 + }, + { + "id": 277, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 6, + "time": 12731000 + }, + { + "id": 278, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 12741000 + }, + { + "id": 279, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "PE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 3, + "teamId": 6, + "time": 12936000 + }, + { + "id": 280, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 3, + "teamId": 9, + "time": 12936000 + }, + { + "id": 281, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 8, + "time": 13011000 + }, + { + "id": 282, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 9, + "time": 13149000 + }, + { + "id": 283, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 13318000 + }, + { + "id": 284, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 8, + "time": 13400000 + }, + { + "id": 285, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 5, + "teamId": 14, + "time": 13510000 + }, + { + "id": 286, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 18, + "time": 13625000 + }, + { + "id": 287, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 14, + "time": 13652000 + }, + { + "id": 288, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 11, + "time": 13684000 + }, + { + "id": 289, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "CE", + "isAddingPenalty": false, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 15, + "time": 13824000 + }, + { + "id": 290, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 15, + "time": 13870000 + }, + { + "id": 291, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 6, + "time": 13889000 + }, + { + "id": 292, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 3, + "teamId": 1, + "time": 14065000 + }, + { + "id": 293, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 5, + "teamId": 14, + "time": 14253000 + }, + { + "id": 294, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 18, + "time": 14270000 + }, + { + "id": 295, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 4, + "time": 14291000 + }, + { + "id": 296, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 1, + "time": 14433000 + }, + { + "id": 297, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 5, + "teamId": 14, + "time": 14446000 + }, + { + "id": 298, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 18, + "time": 14491000 + }, + { + "id": 299, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 1, + "time": 14497000 + }, + { + "id": 300, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 18, + "time": 14534000 + }, + { + "id": 301, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "CE", + "isAddingPenalty": false, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 0, + "teamId": 7, + "time": 14558000 + }, + { + "id": 302, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 1, + "time": 14580000 + }, + { + "id": 303, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 15, + "time": 14582000 + }, + { + "id": 304, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 1, + "time": 14695000 + }, + { + "id": 305, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 6, + "time": 14696000 + }, + { + "id": 306, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 15, + "time": 14794000 + }, + { + "id": 307, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 14822000 + }, + { + "id": 308, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 8, + "time": 14842000 + }, + { + "id": 309, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "RE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 15, + "time": 14855000 + }, + { + "id": 310, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 18, + "time": 14901000 + }, + { + "id": 311, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "PE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 3, + "teamId": 2, + "time": 14909000 + }, + { + "id": 312, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 17, + "time": 14996000 + }, + { + "id": 313, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "RE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 5, + "teamId": 14, + "time": 15013000 + }, + { + "id": 314, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 5, + "teamId": 14, + "time": 15052000 + }, + { + "id": 315, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 3, + "teamId": 14, + "time": 15059000 + }, + { + "id": 316, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 18, + "time": 15068000 + }, + { + "id": 317, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 1, + "time": 15086000 + }, + { + "id": 318, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "RE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 5, + "teamId": 14, + "time": 15087000 + }, + { + "id": 319, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "CE", + "isAddingPenalty": false, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 6, + "time": 15151000 + }, + { + "id": 320, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 6, + "time": 15211000 + }, + { + "id": 321, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "PE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 15271000 + }, + { + "id": 322, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "RE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 15, + "time": 15287000 + }, + { + "id": 323, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 9, + "time": 15367000 + }, + { + "id": 324, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "RE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 5, + "teamId": 14, + "time": 15373000 + }, + { + "id": 325, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 15373000 + }, + { + "id": 326, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 18, + "time": 15388000 + }, + { + "id": 327, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "RE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 5, + "teamId": 14, + "time": 15412000 + }, + { + "id": 328, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 9, + "time": 15428000 + }, + { + "id": 329, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 18, + "time": 15457000 + }, + { + "id": 330, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 1, + "time": 15528000 + }, + { + "id": 331, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "CE", + "isAddingPenalty": false, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 15566000 + }, + { + "id": 332, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 1, + "time": 15567000 + }, + { + "id": 333, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "CE", + "isAddingPenalty": false, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 1, + "time": 15690000 + }, + { + "id": 334, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 5, + "teamId": 14, + "time": 15714000 + }, + { + "id": 335, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 6, + "time": 15728000 + }, + { + "id": 336, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 1, + "time": 15730000 + }, + { + "id": 337, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 1, + "time": 15735000 + }, + { + "id": 338, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 1, + "time": 15803000 + }, + { + "id": 339, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "CE", + "isAddingPenalty": false, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 15, + "time": 15808000 + }, + { + "id": 340, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 1, + "time": 15809000 + }, + { + "id": 341, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 5, + "teamId": 14, + "time": 15832000 + }, + { + "id": 342, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 15883000 + }, + { + "id": 343, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "RE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 5, + "teamId": 14, + "time": 15887000 + }, + { + "id": 344, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "CE", + "isAddingPenalty": false, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 15, + "time": 15913000 + }, + { + "id": 345, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "CE", + "isAddingPenalty": false, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 1, + "time": 15917000 + }, + { + "id": 346, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 7, + "time": 15934000 + }, + { + "id": 347, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 1, + "time": 15958000 + }, + { + "id": 348, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 9, + "time": 15964000 + }, + { + "id": 349, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 1, + "time": 15969000 + }, + { + "id": 350, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 5, + "teamId": 14, + "time": 15974000 + }, + { + "id": 351, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 1, + "teamId": 15, + "time": 16004000 + }, + { + "id": 352, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 7, + "time": 16073000 + }, + { + "id": 353, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 11, + "teamId": 14, + "time": 16094000 + }, + { + "id": 354, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 3, + "teamId": 4, + "time": 16110000 + }, + { + "id": 355, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 0, + "teamId": 3, + "time": 16165000 + }, + { + "id": 356, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 16183000 + }, + { + "id": 357, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 9, + "time": 16365000 + }, + { + "id": 358, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 1, + "time": 16444000 + }, + { + "id": 359, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 16506000 + }, + { + "id": 360, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 5, + "time": 16519000 + }, + { + "id": 361, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 0, + "time": 16631000 + }, + { + "id": 362, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 6, + "time": 16650000 + }, + { + "id": 363, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 5, + "time": 16671000 + }, + { + "id": 364, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 18, + "time": 16698000 + }, + { + "id": 365, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 6, + "time": 16762000 + }, + { + "id": 366, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 18, + "time": 16778000 + }, + { + "id": 367, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "PE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 8, + "time": 16852000 + }, + { + "id": 368, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 6, + "time": 16893000 + }, + { + "id": 369, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 9, + "time": 16941000 + }, + { + "id": 370, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "PE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 8, + "time": 16955000 + }, + { + "id": 371, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 16988000 + }, + { + "id": 372, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 9, + "time": 17004000 + }, + { + "id": 373, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "PE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 8, + "time": 17053000 + }, + { + "id": 374, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 11, + "teamId": 12, + "time": 17079000 + }, + { + "id": 375, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 11, + "teamId": 12, + "time": 17131000 + }, + { + "id": 376, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 0, + "time": 17137000 + }, + { + "id": 377, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 2, + "time": 17146000 + }, + { + "id": 378, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "RE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 11, + "teamId": 5, + "time": 17152000 + }, + { + "id": 379, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 4, + "time": 17156000 + }, + { + "id": 380, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 8, + "time": 17174000 + }, + { + "id": 381, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 6, + "time": 17185000 + }, + { + "id": 382, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 9, + "time": 17187000 + }, + { + "id": 383, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 11, + "teamId": 12, + "time": 17219000 + }, + { + "id": 384, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 6, + "time": 17246000 + }, + { + "id": 385, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 0, + "time": 17252000 + }, + { + "id": 386, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 5, + "time": 17273000 + }, + { + "id": 387, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 17, + "time": 17314000 + }, + { + "id": 388, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "RE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 11, + "time": 17393000 + }, + { + "id": 389, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 3, + "teamId": 6, + "time": 17403000 + }, + { + "id": 390, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "CE", + "isAddingPenalty": false, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 17428000 + }, + { + "id": 391, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 0, + "time": 17439000 + }, + { + "id": 392, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 17454000 + }, + { + "id": 393, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "RE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 5, + "time": 17495000 + }, + { + "id": 394, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 0, + "time": 17496000 + }, + { + "id": 395, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 8, + "teamId": 3, + "time": 17518000 + }, + { + "id": 396, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "RE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 5, + "time": 17524000 + }, + { + "id": 397, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 17536000 + }, + { + "id": 398, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "RE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 11, + "time": 17537000 + }, + { + "id": 399, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "RE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 9, + "time": 17568000 + }, + { + "id": 400, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 3, + "time": 17578000 + }, + { + "id": 401, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 8, + "teamId": 3, + "time": 17587000 + }, + { + "id": 402, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 17609000 + }, + { + "id": 403, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 9, + "time": 17611000 + }, + { + "id": 404, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 17621000 + }, + { + "id": 405, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 11, + "time": 17637000 + }, + { + "id": 406, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 17643000 + }, + { + "id": 407, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "CE", + "isAddingPenalty": false, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 2, + "time": 17649000 + }, + { + "id": 408, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 17661000 + }, + { + "id": 409, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 8, + "teamId": 3, + "time": 17682000 + }, + { + "id": 410, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 9, + "time": 17687000 + }, + { + "id": 411, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 11, + "time": 17698000 + }, + { + "id": 412, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 9, + "time": 17713000 + }, + { + "id": 413, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "RE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 5, + "time": 17713000 + }, + { + "id": 414, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 17714000 + }, + { + "id": 415, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "CE", + "isAddingPenalty": false, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 0, + "time": 17720000 + }, + { + "id": 416, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "RE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 9, + "time": 17736000 + }, + { + "id": 417, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 9, + "time": 17755000 + }, + { + "id": 418, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 17763000 + }, + { + "id": 419, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 3, + "teamId": 0, + "time": 17777000 + }, + { + "id": 420, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 0, + "time": 17783000 + }, + { + "id": 421, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 17784000 + }, + { + "id": 422, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 2, + "time": 17824000 + }, + { + "id": 423, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 17825000 + }, + { + "id": 424, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 5, + "time": 17827000 + }, + { + "id": 425, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 5, + "time": 17829000 + }, + { + "id": 426, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 9, + "time": 17837000 + }, + { + "id": 427, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 17841000 + }, + { + "id": 428, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 17855000 + }, + { + "id": 429, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 3, + "time": 17857000 + }, + { + "id": 430, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 5, + "time": 17859000 + }, + { + "id": 431, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 9, + "time": 17871000 + }, + { + "id": 432, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 2, + "time": 17899000 + }, + { + "id": 433, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "TL", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 17903000 + }, + { + "id": 434, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "AC", + "isAddingPenalty": false, + "isAccepted": true + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 3, + "time": 17907000 + }, + { + "id": 435, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 17909000 + }, + { + "id": 436, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 17918000 + }, + { + "id": 437, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "PE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 6, + "time": 17927000 + }, + { + "id": 438, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "RE", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 5, + "time": 17931000 + }, + { + "id": 439, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 6, + "time": 17943000 + }, + { + "id": 440, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 17948000 + }, + { + "id": 441, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 17956000 + }, + { + "id": 442, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 17963000 + }, + { + "id": 443, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 4, + "teamId": 4, + "time": 17967000 + }, + { + "id": 444, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 17969000 + }, + { + "id": 445, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 17971000 + }, + { + "id": 446, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 17974000 + }, + { + "id": 447, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 17978000 + }, + { + "id": 448, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 5, + "time": 17982000 + }, + { + "id": 449, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 1, + "time": 17984000 + }, + { + "id": 450, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 2, + "teamId": 9, + "time": 17992000 + }, + { + "id": 451, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 7, + "teamId": 1, + "time": 17993000 + }, + { + "id": 452, + "result": { + "type": "ICPC", + "verdict": { + "shortName": "WA", + "isAddingPenalty": true, + "isAccepted": false + }, + "isFirstToSolveRun": false + }, + "percentage": 1.0, + "problemId": 6, + "teamId": 1, + "time": 17993000 + } + ], + "analyticsMessages": [ + ] +} \ No newline at end of file From 8d3469e8507227f17bda28c5ac0652411a8d09dc Mon Sep 17 00:00:00 2001 From: Pavel Kunyavskiy Date: Sat, 12 Aug 2023 21:15:41 +0200 Subject: [PATCH 080/154] Optimize advanced properties recalculation --- .../icpclive/cds/adapters/AdvancedPropertiesAdapter.kt | 8 +++++--- .../icpclive/cds/common/FullReloadContestDataSource.kt | 4 ++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/adapters/AdvancedPropertiesAdapter.kt b/src/cds/src/main/kotlin/org/icpclive/cds/adapters/AdvancedPropertiesAdapter.kt index 730efcc4b..c77277d3a 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/adapters/AdvancedPropertiesAdapter.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/adapters/AdvancedPropertiesAdapter.kt @@ -79,14 +79,16 @@ fun Flow.applyAdvancedProperties(advancedPropsFlow: Flow { when (it.update) { is InfoUpdate -> { - contestInfo = it.update.newInfo - apply() + if (contestInfo != it.update.newInfo) { + contestInfo = it.update.newInfo + apply() + } } is RunUpdate -> { - emit(it.update) if (submittedTeams.add(it.update.newInfo.teamId) && advancedProperties?.scoreboardOverrides?.showTeamsWithoutSubmissions == false) { apply() } + emit(it.update) } else -> { emit(it.update) diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/common/FullReloadContestDataSource.kt b/src/cds/src/main/kotlin/org/icpclive/cds/common/FullReloadContestDataSource.kt index f8d492d1b..070b2bf11 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/common/FullReloadContestDataSource.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/common/FullReloadContestDataSource.kt @@ -1,8 +1,7 @@ package org.icpclive.cds.common import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.flow.flow -import kotlinx.coroutines.flow.flowOn +import kotlinx.coroutines.flow.* import org.icpclive.cds.* import org.icpclive.util.getLogger import org.icpclive.util.loopFlow @@ -16,6 +15,7 @@ internal abstract class FullReloadContestDataSource(val interval: Duration) : Ra ) { loadOnce() }.flowOn(Dispatchers.IO) + .conflate() .collect { emit(InfoUpdate(it.contestInfo)) it.runs.forEach { emit(RunUpdate(it)) } From e97e922359a3ac05c224228a56fcdc5556d79b2c Mon Sep 17 00:00:00 2001 From: Pavel Kunyavskiy Date: Sat, 19 Aug 2023 18:44:49 +0200 Subject: [PATCH 081/154] Add indexes in contest info. --- config/_examples/_testsys/advanced.json | 3 +++ .../main/kotlin/org/icpclive/admin/Info.kt | 4 +++- .../org/icpclive/admin/SpotlightTeam.kt | 5 ++--- .../controllers/LocatorWidgetController.kt | 12 +++++----- .../controllers/TeamViewController.kt | 2 +- .../org/icpclive/service/AnalyticsService.kt | 2 +- .../service/analytics/AnalyticsGenerator.kt | 4 ++-- .../icpclive/export/clics/ClicsExporter.kt | 22 +++++++++---------- .../org/icpclive/export/pcms/PCMSExporter.kt | 9 ++++---- .../kotlin/org/icpclive/api/ContestInfo.kt | 20 ++++++++++++----- .../org/icpclive/api/tunning/Advanced.kt | 9 ++++---- .../cds/adapters/AdvancedPropertiesAdapter.kt | 21 +++++++++--------- .../cds/adapters/DifferenceAdapter.kt | 4 ++-- .../cds/adapters/HiddenTeamsAdapter.kt | 14 ++++++------ .../org/icpclive/cds/cats/CATSDataSource.kt | 8 +++---- .../org/icpclive/cds/clics/ClicsModel.kt | 8 +++---- .../cds/codedrills/CodeDrillsDataSoruce.kt | 8 +++---- .../icpclive/cds/codeforces/CFContestInfo.kt | 8 +++---- .../icpclive/cds/ejudge/EjudgeDataSource.kt | 8 +++---- .../org/icpclive/cds/krsu/KRSUDataSource.kt | 8 +++---- .../org/icpclive/cds/noop/NoopDataSource.kt | 8 +++---- .../org/icpclive/cds/pcms/PCMSDataSource.kt | 22 +++++++++---------- .../icpclive/cds/testsys/TestSysDataSource.kt | 8 +++---- .../icpclive/cds/yandex/YandexContestInfo.kt | 8 +++---- .../AbstractScoreboardCalculator.kt | 4 ++-- .../icpclive/cds/clics/ICPCScoreboardTest.kt | 8 +++---- .../overlay/src/redux/contest/contestInfo.js | 4 +++- .../main/kotlin/org/icpclive/reacbot/Bot.kt | 6 ++--- 28 files changed, 132 insertions(+), 115 deletions(-) diff --git a/config/_examples/_testsys/advanced.json b/config/_examples/_testsys/advanced.json index a0dee1283..6d53d5974 100644 --- a/config/_examples/_testsys/advanced.json +++ b/config/_examples/_testsys/advanced.json @@ -16,5 +16,8 @@ }, "teamOverrideTemplate": { "displayName": "{funnyName}" + }, + "problemOverrides": { + "A": { "ordinal": 100 } } } \ No newline at end of file diff --git a/src/backend/src/main/kotlin/org/icpclive/admin/Info.kt b/src/backend/src/main/kotlin/org/icpclive/admin/Info.kt index eeb86aef3..6191d8c64 100644 --- a/src/backend/src/main/kotlin/org/icpclive/admin/Info.kt +++ b/src/backend/src/main/kotlin/org/icpclive/admin/Info.kt @@ -1,9 +1,11 @@ package org.icpclive.admin import kotlinx.coroutines.flow.first +import org.icpclive.api.InefficientContestInfoApi import org.icpclive.data.DataBus -suspend fun getTeams() = DataBus.contestInfoFlow.await().first().teams.filterNot { it.isHidden } +@OptIn(InefficientContestInfoApi::class) +suspend fun getTeams() = DataBus.contestInfoFlow.await().first().teamList.filterNot { it.isHidden } suspend fun getRegions() = getTeams().flatMap { it.groups }.distinct().sorted() diff --git a/src/backend/src/main/kotlin/org/icpclive/admin/SpotlightTeam.kt b/src/backend/src/main/kotlin/org/icpclive/admin/SpotlightTeam.kt index 3c595bec5..ae67cdd39 100644 --- a/src/backend/src/main/kotlin/org/icpclive/admin/SpotlightTeam.kt +++ b/src/backend/src/main/kotlin/org/icpclive/admin/SpotlightTeam.kt @@ -4,8 +4,7 @@ import io.ktor.server.application.* import io.ktor.server.routing.* import io.ktor.server.websocket.* import kotlinx.coroutines.flow.combine -import org.icpclive.api.AddTeamScoreRequest -import org.icpclive.api.InterestingTeam +import org.icpclive.api.* import org.icpclive.data.DataBus import org.icpclive.util.completeOrThrow import org.icpclive.util.reliableSharedFlow @@ -25,7 +24,7 @@ fun Route.setupSpotlight() { webSocket { sendJsonFlow(DataBus.teamInterestingFlow.await().combine(DataBus.contestInfoFlow.await()) { teams, info -> val teamsScore = teams.associate { it.teamId to it.score } - info.teams.map { InterestingTeam(it.id, it.fullName, teamsScore[it.id] ?: 0.0) } + @OptIn(InefficientContestInfoApi::class) info.teamList.map { InterestingTeam(it.id, it.fullName, teamsScore[it.id] ?: 0.0) } }) } } diff --git a/src/backend/src/main/kotlin/org/icpclive/controllers/LocatorWidgetController.kt b/src/backend/src/main/kotlin/org/icpclive/controllers/LocatorWidgetController.kt index 999261468..36c8631ae 100644 --- a/src/backend/src/main/kotlin/org/icpclive/controllers/LocatorWidgetController.kt +++ b/src/backend/src/main/kotlin/org/icpclive/controllers/LocatorWidgetController.kt @@ -10,19 +10,19 @@ class LocatorWidgetController(manager: Manager) : SingleWidgetController(ExternalTeamLocatorSettings(), manager) { override suspend fun onDelete(id: Int) {} - fun TeamLocatorExternalCircleSettings.getTeam(teams: List) = - teams.singleOrNull { it.id == teamId } ?: teams.singleOrNull { it.contestSystemId == cdsTeamId } + fun TeamLocatorExternalCircleSettings.getTeam(info: ContestInfo) = + info.teams[teamId] ?: info.cdsTeams[cdsTeamId] override suspend fun checkSettings(settings: ExternalTeamLocatorSettings) { - val teams = DataBus.contestInfoFlow.await().first().teams - settings.circles.forEach { it.getTeam(teams) ?: throw ApiActionException("No team for circle $it") } + val info = DataBus.contestInfoFlow.await().first() + settings.circles.forEach { it.getTeam(info) ?: throw ApiActionException("No team for circle $it") } } override suspend fun constructWidget(settings: ExternalTeamLocatorSettings): TeamLocatorWidget { checkSettings(settings) - val teams = DataBus.contestInfoFlow.await().first().teams + val info = DataBus.contestInfoFlow.await().first() fun TeamLocatorExternalCircleSettings.toCircle() = TeamLocatorCircleSettings( - x, y, radius, getTeam(teams)?.id ?: throw ApiActionException("No team for circle $this") + x, y, radius, getTeam(info)?.id ?: throw ApiActionException("No team for circle $this") ) return TeamLocatorWidget(TeamLocatorSettings(settings.circles.map { it.toCircle() }, settings.scene)) } diff --git a/src/backend/src/main/kotlin/org/icpclive/controllers/TeamViewController.kt b/src/backend/src/main/kotlin/org/icpclive/controllers/TeamViewController.kt index 4bea55108..4653e7966 100644 --- a/src/backend/src/main/kotlin/org/icpclive/controllers/TeamViewController.kt +++ b/src/backend/src/main/kotlin/org/icpclive/controllers/TeamViewController.kt @@ -12,7 +12,7 @@ class TeamViewController(manager: Manager, val position: TeamVie override suspend fun onDelete(id: Int) {} override suspend fun constructWidget(settings: ExternalTeamViewSettings): TeamViewWidget { - val teamInfo = DataBus.contestInfoFlow.await().first().teams.find { it.id == settings.teamId } + val teamInfo = DataBus.contestInfoFlow.await().first().teams[settings.teamId] val content = settings.mediaTypes.mapNotNull { teamInfo?.medias?.get(it) }.toMutableList() if (settings.showTaskStatus) { settings.teamId?.let { teamId -> content.add(MediaType.TaskStatus(teamId)) } diff --git a/src/backend/src/main/kotlin/org/icpclive/service/AnalyticsService.kt b/src/backend/src/main/kotlin/org/icpclive/service/AnalyticsService.kt index c30f1c555..816c6a1f6 100644 --- a/src/backend/src/main/kotlin/org/icpclive/service/AnalyticsService.kt +++ b/src/backend/src/main/kotlin/org/icpclive/service/AnalyticsService.kt @@ -110,7 +110,7 @@ class AnalyticsService { logger.warn("Can't make run featured caused by message ${message.id}") return } - val team = DataBus.contestInfoFlow.await().value.teams.find { it.id == message.teamIds[0] } ?: return + val team = DataBus.contestInfoFlow.await().value.teams[message.teamIds[0]] ?: return val media = team.medias[action.mediaType] ?: return val request = FeaturedRunAction.MakeFeatured(message.runIds[0], media) featuredRunsFlow.emit(request) diff --git a/src/backend/src/main/kotlin/org/icpclive/service/analytics/AnalyticsGenerator.kt b/src/backend/src/main/kotlin/org/icpclive/service/analytics/AnalyticsGenerator.kt index 83f38b67a..d8c5a9e1b 100644 --- a/src/backend/src/main/kotlin/org/icpclive/service/analytics/AnalyticsGenerator.kt +++ b/src/backend/src/main/kotlin/org/icpclive/service/analytics/AnalyticsGenerator.kt @@ -28,8 +28,8 @@ class AnalyticsGenerator(jsonTemplatePath: Path) { } val analysis = runs.processRun(run, scoreboard) ?: return@collect - val team = contestInfo.teams.firstOrNull { it.id == run.teamId } ?: return@collect - val problem = contestInfo.problems.firstOrNull { it.id == run.problemId } ?: return@collect + val team = contestInfo.teams[run.teamId] ?: return@collect + val problem = contestInfo.problems[run.problemId] ?: return@collect emit( AnalyticsCommentaryEvent( "_analytics_by_run_${run.id}", diff --git a/src/cds-converter/src/main/kotlin/org/icpclive/export/clics/ClicsExporter.kt b/src/cds-converter/src/main/kotlin/org/icpclive/export/clics/ClicsExporter.kt index 350e475f2..c8be38d19 100644 --- a/src/cds-converter/src/main/kotlin/org/icpclive/export/clics/ClicsExporter.kt +++ b/src/cds-converter/src/main/kotlin/org/icpclive/export/clics/ClicsExporter.kt @@ -228,9 +228,10 @@ object ClicsExporter { private val problemsMap = mutableMapOf() private val teamsMap = mutableMapOf() + @OptIn(InefficientContestInfoApi::class) private suspend fun FlowCollector.calculateDiff(oldInfo: ContestInfo?, newInfo: ContestInfo) { - problemIdToCdsId = newInfo.problems.associate { it.id to it.contestSystemId } - teamIdToCdsId = newInfo.teams.associate { it.id to it.contestSystemId } + problemIdToCdsId = newInfo.problemList.associate { it.id to it.contestSystemId } + teamIdToCdsId = newInfo.teamList.associate { it.id to it.contestSystemId } diff(oldInfo, newInfo, ::getContest, Event::ContestEventNamedWithSpec) diff(oldInfo, newInfo, ::getState, Event::StateEvent) @@ -242,14 +243,14 @@ object ClicsExporter { updateEvent(language.id, language, Event::LanguageEvent) } } - diff(problemsMap, newInfo.problems, ProblemInfo::contestSystemId, ProblemInfo::toClicsProblem, Event::ProblemEvent) - diffChange(groupsMap, newInfo.groups, GroupInfo::name, GroupInfo::toClicsGroup, Event::GroupsEvent) - diffChange(orgsMap, newInfo.organizations, OrganizationInfo::cdsId, OrganizationInfo::toClicsOrg, Event::OrganizationEvent) + diff(problemsMap, newInfo.problemList, ProblemInfo::contestSystemId, ProblemInfo::toClicsProblem, Event::ProblemEvent) + diffChange(groupsMap, newInfo.groupList, GroupInfo::name, GroupInfo::toClicsGroup, Event::GroupsEvent) + diffChange(orgsMap, newInfo.organizationList, OrganizationInfo::cdsId, OrganizationInfo::toClicsOrg, Event::OrganizationEvent) - diff(teamsMap, newInfo.teams, TeamInfo::contestSystemId, TeamInfo::toClicsTeam, Event::TeamEvent) + diff(teamsMap, newInfo.teamList, TeamInfo::contestSystemId, TeamInfo::toClicsTeam, Event::TeamEvent) - diffRemove(groupsMap, newInfo.groups, GroupInfo::name, Event::GroupsEvent) - diffRemove(orgsMap, newInfo.organizations, OrganizationInfo::cdsId, Event::OrganizationEvent) + diffRemove(groupsMap, newInfo.groupList, GroupInfo::name, Event::GroupsEvent) + diffRemove(orgsMap, newInfo.organizationList, OrganizationInfo::cdsId, Event::OrganizationEvent) } private suspend fun FlowCollector.processAnalytics(message: AnalyticsMessage) { @@ -350,7 +351,6 @@ object ClicsExporter { //val awardsFlow = eventFeed.filterIdEvent(scope) val scoreboardFlow = updates.stateGroupedByTeam() .calculateScoreboardWithInfo(OptimismLevel.NORMAL).map {(info, scorboard) -> - val tids = info.teams.associate { it.id to it.contestSystemId } Scoreboard( time = info.startTime + scorboard.lastSubmitTime, contest_time = scorboard.lastSubmitTime, @@ -358,12 +358,12 @@ object ClicsExporter { rows = scorboard.rows.map { ScoreboardRow( it.rank, - tids[it.teamId]!!, + info.teams[it.teamId]!!.contestSystemId, ScoreboardRowScore(it.totalScore.toInt(), it.penalty.inWholeMinutes), it.problemResults.mapIndexed { index, v -> val iv = v as ICPCProblemResult ScoreboardRowProblem( - info.problems[index].contestSystemId, + info.scoreboardProblems[index].contestSystemId, iv.wrongAttempts + (if (iv.isSolved) 1 else 0), iv.pendingAttempts, iv.isSolved, diff --git a/src/cds-converter/src/main/kotlin/org/icpclive/export/pcms/PCMSExporter.kt b/src/cds-converter/src/main/kotlin/org/icpclive/export/pcms/PCMSExporter.kt index 8e33be287..d57859074 100644 --- a/src/cds-converter/src/main/kotlin/org/icpclive/export/pcms/PCMSExporter.kt +++ b/src/cds-converter/src/main/kotlin/org/icpclive/export/pcms/PCMSExporter.kt @@ -54,7 +54,7 @@ object PCMSExporter { setAttribute("freeze-time-millis", info.freezeTime.inWholeMilliseconds.toString()) } private fun Element.buildChallengeNode(info: ContestInfo) { - info.problems.forEach { problem -> + info.scoreboardProblems.forEach { problem -> createChild("problem").also { it.setAttribute("alias", problem.letter) it.setAttribute("name", problem.name) @@ -84,8 +84,8 @@ object PCMSExporter { val isAcceptedInt = if ((probResult as ICPCProblemResult).isSolved) 1 else 0 probNode.setAttribute("accepted", isAcceptedInt.toString()) probNode.setAttribute("attempts", (probResult.wrongAttempts + isAcceptedInt).toString()) - probNode.setAttribute("id", info.problems[index].contestSystemId) - probNode.setAttribute("alias", info.problems[index].letter) + probNode.setAttribute("id", info.scoreboardProblems[index].contestSystemId) + probNode.setAttribute("alias", info.scoreboardProblems[index].letter) probNode.setAttribute("time", (probResult.lastSubmitTime ?: Duration.ZERO).inWholeMilliseconds.toString()) probNode.setAttribute("penalty", (if (probResult.isSolved) { (probResult.lastSubmitTime!! + info.penaltyPerWrongAttempt * probResult.wrongAttempts).inWholeMinutes @@ -112,10 +112,9 @@ object PCMSExporter { val challenge = contest.createChild("challenge") challenge.buildChallengeNode(info) val scoreboard = getScoreboardCalculator(info, OptimismLevel.NORMAL).getScoreboard(info, runsByTeam) - val teamById = info.teams.associateBy { it.id } scoreboard.rows.forEach { contest.createChild("session").also { session -> - session.buildSessionNode(info, teamById[it.teamId]!!, it, runsByTeam[it.teamId] ?: emptyList()) + session.buildSessionNode(info, info.teams[it.teamId]!!, it, runsByTeam[it.teamId] ?: emptyList()) } } diff --git a/src/cds/src/main/kotlin/org/icpclive/api/ContestInfo.kt b/src/cds/src/main/kotlin/org/icpclive/api/ContestInfo.kt index 4d059aa46..2fb80c83b 100644 --- a/src/cds/src/main/kotlin/org/icpclive/api/ContestInfo.kt +++ b/src/cds/src/main/kotlin/org/icpclive/api/ContestInfo.kt @@ -227,7 +227,12 @@ enum class PenaltyRoundingMode { } +@Target(AnnotationTarget.PROPERTY) +@RequiresOptIn(level = RequiresOptIn.Level.ERROR, message = "This api is not efficient in most cases, consider using corresponding map instead") +annotation class InefficientContestInfoApi + @Serializable +@OptIn(InefficientContestInfoApi::class) data class ContestInfo( val name: String, val status: ContestStatus, @@ -241,10 +246,10 @@ data class ContestInfo( @SerialName("freezeTimeMs") @Serializable(with = DurationInMillisecondsSerializer::class) val freezeTime: Duration, - val problems: List, - val teams: List, - val groups: List, - val organizations: List, + @InefficientContestInfoApi @SerialName("problems") val problemList: List, + @InefficientContestInfoApi @SerialName("teams") val teamList: List, + @InefficientContestInfoApi @SerialName("groups") val groupList: List, + @InefficientContestInfoApi @SerialName("organizations") val organizationList: List, val penaltyRoundingMode: PenaltyRoundingMode, @SerialName("holdBeforeStartTimeMs") @Serializable(with = DurationInMillisecondsSerializer::class) @@ -259,7 +264,12 @@ data class ContestInfo( ContestStatus.RUNNING -> (Clock.System.now() - startTime) * emulationSpeed ContestStatus.OVER -> contestLength } - fun groupById(id: String) = groups.find { it.name == id } + val groups by lazy { groupList.associateBy { it.name } } + val teams by lazy { teamList.associateBy { it.id } } + val cdsTeams by lazy { teamList.associateBy { it.contestSystemId } } + val organizations by lazy { organizationList.associateBy { it.cdsId } } + val problems by lazy { problemList.associateBy { it.id } } + val scoreboardProblems by lazy { problemList.sortedBy { it.ordinal } } } fun List.toGroupInfos() = flatMap { it.groups }.distinct().map { GroupInfo(it) } diff --git a/src/cds/src/main/kotlin/org/icpclive/api/tunning/Advanced.kt b/src/cds/src/main/kotlin/org/icpclive/api/tunning/Advanced.kt index fe5cc5a55..34ba15641 100644 --- a/src/cds/src/main/kotlin/org/icpclive/api/tunning/Advanced.kt +++ b/src/cds/src/main/kotlin/org/icpclive/api/tunning/Advanced.kt @@ -187,13 +187,14 @@ data class TeamOverrideTemplate( * * @param fields set of fields to include in returned value. Other would be set to null */ +@OptIn(InefficientContestInfoApi::class) fun ContestInfo.toAdvancedProperties(fields: Set) : AdvancedProperties { fun T.takeIfAsked(name: String) = takeIf { name in fields || "all" in fields } return AdvancedProperties( startTime = startTime.takeIfAsked("startTime"), freezeTime = freezeTime.takeIfAsked("freezeTime"), holdTime = holdBeforeStartTime?.takeIfAsked("holdBeforeStartTime"), - teamOverrides = teams.associate { + teamOverrides = teamList.associate { it.contestSystemId to TeamInfoOverride( fullName = it.fullName.takeIfAsked("fullName"), displayName = it.displayName.takeIfAsked("displayName"), @@ -206,7 +207,7 @@ fun ContestInfo.toAdvancedProperties(fields: Set) : AdvancedProperties { isOutOfContest = it.isOutOfContest.takeIfAsked("isOutOfContest") ) }, - problemOverrides = problems.associate { + problemOverrides = problemList.associate { it.letter to ProblemInfoOverride( name = it.name.takeIfAsked("problemName"), color = it.color.takeIfAsked("color"), @@ -216,13 +217,13 @@ fun ContestInfo.toAdvancedProperties(fields: Set) : AdvancedProperties { scoreMergeMode = it.scoreMergeMode.takeIfAsked("scoreMergeMode") ) }, - groupOverrides = groups.associate { + groupOverrides = groupList.associate { it.name to GroupInfoOverride( isHidden = it.isHidden.takeIfAsked("isHidden"), isOutOfContest = it.isOutOfContest.takeIfAsked("isOutOfContest") ) }, - organizationOverrides = organizations.associate { + organizationOverrides = organizationList.associate { it.cdsId to OrganizationInfoOverride( displayName = it.displayName.takeIfAsked("orgDisplayName"), fullName = it.fullName.takeIfAsked("orgFullName") diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/adapters/AdvancedPropertiesAdapter.kt b/src/cds/src/main/kotlin/org/icpclive/cds/adapters/AdvancedPropertiesAdapter.kt index c77277d3a..8045e5e09 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/adapters/AdvancedPropertiesAdapter.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/adapters/AdvancedPropertiesAdapter.kt @@ -190,13 +190,14 @@ private fun applyRegex(teams: List, regexOverrides: TeamRegexOverrides } } +@OptIn(InefficientContestInfoApi::class) internal fun applyAdvancedProperties( info: ContestInfo, overrides: AdvancedProperties, submittedTeams: Set ): ContestInfo { val teamInfosPrelim = applyRegex( - info.teams.filterNotSubmitted(overrides.scoreboardOverrides?.showTeamsWithoutSubmissions, submittedTeams), + info.teamList.filterNotSubmitted(overrides.scoreboardOverrides?.showTeamsWithoutSubmissions, submittedTeams), overrides.teamRegexes ) val newGroups = buildSet { @@ -206,12 +207,12 @@ internal fun applyAdvancedProperties( overrides.teamOverrides?.values?.forEach { override -> override.groups?.let { addAll(it) } } - for (group in info.groups) { + for (group in info.groupList) { remove(group.name) } } val groups = mergeGroups( - info.groups + newGroups.map { GroupInfo(it, isHidden = false, isOutOfContest = false) }, + info.groupList + newGroups.map { GroupInfo(it, isHidden = false, isOutOfContest = false) }, overrides.groupOverrides ) val newOrganizations = buildSet { @@ -221,12 +222,12 @@ internal fun applyAdvancedProperties( overrides.teamOverrides?.values?.forEach { override -> override.organizationId?.let { add(it) } } - for (group in info.organizations) { + for (group in info.organizationList) { remove(group.cdsId) } } val organizations = mergeOrganizations( - info.organizations + newOrganizations.map { OrganizationInfo(it, it, it) }, + info.organizationList + newOrganizations.map { OrganizationInfo(it, it, it) }, overrides.organizationOverrides ) @@ -246,7 +247,7 @@ internal fun applyAdvancedProperties( .mergeTeams(overrides.teamMediaTemplate?.instantiateTemplate(teamInfosPrelim, TeamInfo::templateValueGetter)) .mergeTeams(overrides.teamOverrideTemplate?.instantiateTemplate(teamInfosPrelim, TeamInfo::templateValueGetter)) .mergeTeams(overrides.teamOverrides) - val problemInfos = mergeProblems(info.problems, overrides.problemOverrides) + val problemInfos = mergeProblems(info.problemList, overrides.problemOverrides) val (startTime, status) = overrides.startTime ?.also { logger.info("Contest start time overridden to ${it.humanReadable}") } @@ -259,10 +260,10 @@ internal fun applyAdvancedProperties( freezeTime = overrides.freezeTime ?: info.freezeTime, status = status, holdBeforeStartTime = overrides.holdTime ?: info.holdBeforeStartTime, - teams = teamInfos, - groups = groups, - organizations = organizations, - problems = problemInfos.sortedBy { it.ordinal }, + teamList = teamInfos, + groupList = groups, + organizationList = organizations, + problemList = problemInfos, medals = overrides.scoreboardOverrides?.medals ?: info.medals, penaltyPerWrongAttempt = overrides.scoreboardOverrides?.penaltyPerWrongAttempt ?: info.penaltyPerWrongAttempt, penaltyRoundingMode = overrides.scoreboardOverrides?.penaltyRoundingMode ?: info.penaltyRoundingMode, diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/adapters/DifferenceAdapter.kt b/src/cds/src/main/kotlin/org/icpclive/cds/adapters/DifferenceAdapter.kt index c817ac569..de8594a04 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/adapters/DifferenceAdapter.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/adapters/DifferenceAdapter.kt @@ -52,11 +52,11 @@ private class SumScoreAccumulator : ScoreAccumulator { fun Flow.calculateScoreDifferences() = withGroupedRuns( selector = { it.problemId to it.teamId }, needUpdateGroup = { new, old, key -> - new.problems.getOrNull(key.first)?.scoreMergeMode != old?.problems?.getOrNull(key.first)?.scoreMergeMode + new.problems[key.first]?.scoreMergeMode != old?.problems?.get(key.first)?.scoreMergeMode }, transformGroup = transform@{ key, runs, _, contestInfo -> if (contestInfo?.resultType != ContestResultType.IOI) return@transform runs - val accumulator = when (contestInfo.problems.getOrNull(key.first)?.scoreMergeMode ?: ScoreMergeMode.LAST) { + val accumulator = when (contestInfo.problems[key.first]?.scoreMergeMode ?: ScoreMergeMode.LAST) { ScoreMergeMode.MAX_PER_GROUP -> MaxByGroupScoreAccumulator() ScoreMergeMode.MAX_TOTAL -> MaxTotalScoreAccumulator() ScoreMergeMode.LAST -> LastScoreAccumulator() diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/adapters/HiddenTeamsAdapter.kt b/src/cds/src/main/kotlin/org/icpclive/cds/adapters/HiddenTeamsAdapter.kt index c2fcc0d00..8e9cb1ce0 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/adapters/HiddenTeamsAdapter.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/adapters/HiddenTeamsAdapter.kt @@ -2,8 +2,7 @@ package org.icpclive.cds.adapters import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.map -import org.icpclive.api.ContestInfo -import org.icpclive.api.TeamInfo +import org.icpclive.api.* import org.icpclive.cds.ContestUpdate import org.icpclive.cds.InfoUpdate @@ -16,15 +15,16 @@ private fun TeamInfo.updateHidden(isHidden: Boolean, isOutOfContest: Boolean) = this } + fun Flow.processHiddenTeamsAndGroups() = map { if (it is InfoUpdate) { InfoUpdate( it.newInfo.copy( - teams = it.newInfo.teams.map { team -> + teamList = @OptIn(InefficientContestInfoApi::class) it.newInfo.teamList.map { team -> team.updateHidden( - isHidden = team.isHidden || team.groups.any { group -> it.newInfo.groupById(group)?.isHidden == true }, - isOutOfContest = team.isOutOfContest || team.groups.any { group -> it.newInfo.groupById(group)?.isOutOfContest == true }, + isHidden = team.isHidden || team.groups.any { group -> it.newInfo.groups[group]?.isHidden == true }, + isOutOfContest = team.isOutOfContest || team.groups.any { group -> it.newInfo.groups[group]?.isOutOfContest == true }, ) } ) @@ -35,13 +35,13 @@ fun Flow.processHiddenTeamsAndGroups() = }.withGroupedRuns( { it.teamId }, { key, _, original, info -> - val team = info?.teams?.firstOrNull { it.id == key } + val team = info?.teams?.get(key) if (team?.isHidden == true) original.map { it.copy(isHidden = true) } else original }, { new: ContestInfo, old: ContestInfo?, key: Int -> - new.teams.firstOrNull { it.id == key }?.isHidden != old?.teams?.firstOrNull { it.id == key }?.isHidden + new.teams[key]?.isHidden != old?.teams?.get(key)?.isHidden } ).map { it.event } \ No newline at end of file diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/cats/CATSDataSource.kt b/src/cds/src/main/kotlin/org/icpclive/cds/cats/CATSDataSource.kt index 16c412a38..585ccc2a5 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/cats/CATSDataSource.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/cats/CATSDataSource.kt @@ -176,10 +176,10 @@ internal class CATSDataSource(val settings: CatsSettings, creds: Map PenaltyRoundingMode.ZERO ContestResultType.ICPC -> PenaltyRoundingMode.EACH_SUBMISSION_DOWN_TO_MINUTE diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/clics/ClicsModel.kt b/src/cds/src/main/kotlin/org/icpclive/cds/clics/ClicsModel.kt index 6d81a2235..0d7bb4ea2 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/clics/ClicsModel.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/clics/ClicsModel.kt @@ -108,13 +108,13 @@ internal class ClicsModel( startTime = startTime ?: Instant.fromEpochSeconds(0), contestLength = contestLength, freezeTime = freezeTime, - problems = problems.values.map { it.toApi() }, - teams = teams.values.map { it.toApi() }, - groups = groups.values.map { it.toApi() }, + problemList = problems.values.map { it.toApi() }, + teamList = teams.values.map { it.toApi() }, + groupList = groups.values.map { it.toApi() }, penaltyPerWrongAttempt = penaltyPerWrongAttempt, holdBeforeStartTime = holdBeforeStartTime, penaltyRoundingMode = PenaltyRoundingMode.EACH_SUBMISSION_DOWN_TO_MINUTE, - organizations = organisations.values.map { it.toApi() } + organizationList = organisations.values.map { it.toApi() } ) fun processContest(contest: Contest): List { diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/codedrills/CodeDrillsDataSoruce.kt b/src/cds/src/main/kotlin/org/icpclive/cds/codedrills/CodeDrillsDataSoruce.kt index a959bb7a4..85a24f2cf 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/codedrills/CodeDrillsDataSoruce.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/codedrills/CodeDrillsDataSoruce.kt @@ -153,16 +153,16 @@ internal class CodeDrillsDataSource(val settings: CodeDrillsSettings, creds: Map startTime = startTime, contestLength = contestLength, freezeTime = contestLength - contest.scoreboardSettings.freezeSettings.freezeOffsetTimeInS.seconds, - problems = problems, - teams = teams, + problemList = problems, + teamList = teams, penaltyPerWrongAttempt = contest.scoreboardSettings.penaltyPerAttemptInS.seconds, - groups = emptyList(), + groupList = emptyList(), penaltyRoundingMode = when (contest.scoreboardSettings.scoreboardType) { ScoreboardType.UNKNOWN_SCOREBOARD_TYPE, ScoreboardType.ONE_POINT_WITH_PENALTY -> PenaltyRoundingMode.SUM_DOWN_TO_MINUTE ScoreboardType.ONE_POINT_WITH_MAX_PENALTY -> PenaltyRoundingMode.LAST ScoreboardType.UNRECOGNIZED, null -> TODO("Unsupported scoreboard type") }, - organizations = emptyList() + organizationList = emptyList() ) return ContestParseResult(contestInfo, submissions, emptyList()) } diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/codeforces/CFContestInfo.kt b/src/cds/src/main/kotlin/org/icpclive/cds/codeforces/CFContestInfo.kt index 19004b623..a0c29ebdb 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/codeforces/CFContestInfo.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/codeforces/CFContestInfo.kt @@ -249,15 +249,15 @@ internal class CFContestInfo { startTime = startTime, contestLength = contestLength, freezeTime = contestLength, - problems = problems, - teams = participantsByCdsId.values.sortedBy { it.id }, - groups = emptyList(), + problemList = problems, + teamList = participantsByCdsId.values.sortedBy { it.id }, + groupList = emptyList(), penaltyRoundingMode = when (contestType) { CFContestType.CF -> PenaltyRoundingMode.ZERO CFContestType.IOI -> PenaltyRoundingMode.ZERO CFContestType.ICPC -> PenaltyRoundingMode.EACH_SUBMISSION_DOWN_TO_MINUTE }, - organizations = emptyList() + organizationList = emptyList() ) companion object { diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/ejudge/EjudgeDataSource.kt b/src/cds/src/main/kotlin/org/icpclive/cds/ejudge/EjudgeDataSource.kt index eea924ac7..9c2f6f4ee 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/ejudge/EjudgeDataSource.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/ejudge/EjudgeDataSource.kt @@ -83,10 +83,10 @@ internal class EjudgeDataSource(val settings: EjudgeSettings) : FullReloadContes startTime = startTime, contestLength = contestLength, freezeTime = freezeTime, - problems = parseProblemsInfo(element), - teams = teams, - groups = emptyList(), - organizations = emptyList(), + problemList = parseProblemsInfo(element), + teamList = teams, + groupList = emptyList(), + organizationList = emptyList(), penaltyRoundingMode = when (settings.resultType) { ContestResultType.IOI -> PenaltyRoundingMode.ZERO ContestResultType.ICPC -> PenaltyRoundingMode.EACH_SUBMISSION_DOWN_TO_MINUTE diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/krsu/KRSUDataSource.kt b/src/cds/src/main/kotlin/org/icpclive/cds/krsu/KRSUDataSource.kt index 05bfb5e1e..96e4de550 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/krsu/KRSUDataSource.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/krsu/KRSUDataSource.kt @@ -70,10 +70,10 @@ internal class KRSUDataSource(val settings: KRSUSettings) : FullReloadContestDat startTime = startTime, contestLength = contestLength, freezeTime = freezeTime, - problems = problemsList, - teams = teams.values.toList(), - groups = emptyList(), - organizations = emptyList(), + problemList = problemsList, + teamList = teams.values.toList(), + groupList = emptyList(), + organizationList = emptyList(), penaltyRoundingMode = PenaltyRoundingMode.EACH_SUBMISSION_DOWN_TO_MINUTE ), runs, diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/noop/NoopDataSource.kt b/src/cds/src/main/kotlin/org/icpclive/cds/noop/NoopDataSource.kt index 886e8f454..1171793d7 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/noop/NoopDataSource.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/noop/NoopDataSource.kt @@ -18,11 +18,11 @@ internal class NoopDataSource : RawContestDataSource { startTime = Instant.DISTANT_FUTURE, contestLength = Duration.ZERO, freezeTime = Duration.ZERO, - problems = emptyList(), - teams = emptyList(), + problemList = emptyList(), + teamList = emptyList(), resultType = ContestResultType.ICPC, - groups = emptyList(), - organizations = emptyList(), + groupList = emptyList(), + organizationList = emptyList(), penaltyRoundingMode = PenaltyRoundingMode.EACH_SUBMISSION_DOWN_TO_MINUTE )) ) diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/pcms/PCMSDataSource.kt b/src/cds/src/main/kotlin/org/icpclive/cds/pcms/PCMSDataSource.kt index 4e01af25e..326a54203 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/pcms/PCMSDataSource.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/pcms/PCMSDataSource.kt @@ -74,17 +74,17 @@ internal class PCMSDataSource(val settings: PCMSSettings, creds: Map PenaltyRoundingMode.ZERO ContestResultType.ICPC -> PenaltyRoundingMode.EACH_SUBMISSION_DOWN_TO_MINUTE } diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/testsys/TestSysDataSource.kt b/src/cds/src/main/kotlin/org/icpclive/cds/testsys/TestSysDataSource.kt index 2228377a4..51e2c52a6 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/testsys/TestSysDataSource.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/testsys/TestSysDataSource.kt @@ -67,12 +67,12 @@ internal class TestSysDataSource(val settings: TestSysSettings) : FullReloadCont startTime = data["@startat"]!!.single().toDate(), contestLength = data["@contlen"]!!.single().toInt().minutes, freezeTime = data["@freeze"]!!.single().toInt().minutes, - teams = teams, - problems = problems, + teamList = teams, + problemList = problems, penaltyPerWrongAttempt = (penalty.getOrNull(0) ?: 20).minutes, penaltyRoundingMode = PenaltyRoundingMode.SUM_DOWN_TO_MINUTE, - groups = emptyList(), - organizations = emptyList(), + groupList = emptyList(), + organizationList = emptyList(), ) val runs = (data["@s"] ?: emptyList()).mapIndexed { index, subm -> val (teamId, problemId, _, time, verdict) = subm.splitCommas() diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/yandex/YandexContestInfo.kt b/src/cds/src/main/kotlin/org/icpclive/cds/yandex/YandexContestInfo.kt index 7798d4b90..7bdcc6073 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/yandex/YandexContestInfo.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/yandex/YandexContestInfo.kt @@ -85,10 +85,10 @@ internal class YandexContestInfo private constructor( startTime = startTime, contestLength = duration, freezeTime = freezeTime, - problems = problems, - teams = teams, - groups = emptyList(), - organizations = emptyList(), + problemList = problems, + teamList = teams, + groupList = emptyList(), + organizationList = emptyList(), penaltyRoundingMode = PenaltyRoundingMode.SUM_DOWN_TO_MINUTE ) } diff --git a/src/cds/src/main/kotlin/org/icpclive/scoreboard/AbstractScoreboardCalculator.kt b/src/cds/src/main/kotlin/org/icpclive/scoreboard/AbstractScoreboardCalculator.kt index f1cf31f5c..df459477a 100644 --- a/src/cds/src/main/kotlin/org/icpclive/scoreboard/AbstractScoreboardCalculator.kt +++ b/src/cds/src/main/kotlin/org/icpclive/scoreboard/AbstractScoreboardCalculator.kt @@ -23,13 +23,13 @@ internal abstract class AbstractScoreboardCalculator : ScoreboardCalculator { override fun getScoreboard(info: ContestInfo, runs: Map>): Scoreboard { logger.info("Calculating scoreboard: runs count = ${runs.values.sumOf { it.size }}") - val teamsInfo = info.teams.filterNot { it.isHidden }.associateBy { it.id } + val teamsInfo = info.teams.filterValues { !it.isHidden } fun ScoreboardRow.team() = teamsInfo[teamId]!! val hasChampion = mutableSetOf() val rows = teamsInfo.values - .map { info.getScoreboardRow(it.id, runs[it.id] ?: emptyList(), it.groups, info.problems) } + .map { info.getScoreboardRow(it.id, runs[it.id] ?: emptyList(), it.groups, info.scoreboardProblems) } .sortedWith(comparator.thenComparing { it -> it.team().fullName }) .toMutableList() var right = 0 diff --git a/src/cds/src/test/kotlin/org/icpclive/cds/clics/ICPCScoreboardTest.kt b/src/cds/src/test/kotlin/org/icpclive/cds/clics/ICPCScoreboardTest.kt index ad12bec76..f605e3300 100644 --- a/src/cds/src/test/kotlin/org/icpclive/cds/clics/ICPCScoreboardTest.kt +++ b/src/cds/src/test/kotlin/org/icpclive/cds/clics/ICPCScoreboardTest.kt @@ -16,18 +16,18 @@ class ICPCScoreboardTest { startTime = Instant.fromEpochMilliseconds(1687460000), contestLength = 5.hours, freezeTime = 4.hours, - problems = listOf( + problemList = listOf( ProblemInfo("A", "A", 1, 0, "A"), ProblemInfo("B", "B", 2, 1, "B"), ), - teams = listOf( + teamList = listOf( TeamInfo(1, "T1", "T1", "T1", emptyList(), null, emptyMap(), false, false, null), TeamInfo(2, "T2", "T2", "T2", emptyList(), null, emptyMap(), false, false, null), TeamInfo(3, "T3", "T3", "T3", emptyList(), null, emptyMap(), false, false, null), TeamInfo(4, "T4", "T4", "T4", emptyList(), null, emptyMap(), false, false, null), ), - groups = emptyList(), - organizations = emptyList(), + groupList = emptyList(), + organizationList = emptyList(), penaltyRoundingMode = PenaltyRoundingMode.EACH_SUBMISSION_DOWN_TO_MINUTE, ) diff --git a/src/frontend/overlay/src/redux/contest/contestInfo.js b/src/frontend/overlay/src/redux/contest/contestInfo.js index 7964dec44..442333941 100644 --- a/src/frontend/overlay/src/redux/contest/contestInfo.js +++ b/src/frontend/overlay/src/redux/contest/contestInfo.js @@ -25,12 +25,14 @@ export function contestInfoReducer(state = initialState, action) { switch (action.type) { case ActionTypes.CONTEST_INFO_SET: _.forEach(action.payload.info.teams, (team) => getTextWidth(team.shortName, GLOBAL_DEFAULT_FONT)); + let sortedProblems = action.payload.info.problems.sort((a, b) => a.ordinal - b.ordinal); return { ...state, info: { ...action.payload.info, + problems: sortedProblems, teamsId: _.keyBy(action.payload.info.teams, "id"), - problemsId: _.keyBy(action.payload.info.problems, "id") + problemsId: _.keyBy(sortedProblems, "id") } }; default: diff --git a/src/reactions-bot/src/main/kotlin/org/icpclive/reacbot/Bot.kt b/src/reactions-bot/src/main/kotlin/org/icpclive/reacbot/Bot.kt index 91d5e00aa..9d64922eb 100644 --- a/src/reactions-bot/src/main/kotlin/org/icpclive/reacbot/Bot.kt +++ b/src/reactions-bot/src/main/kotlin/org/icpclive/reacbot/Bot.kt @@ -69,9 +69,9 @@ class Bot(private val config: Config) { var caption: String? = null if (sendAdditionalInfo) { val ci = runBlocking { contestInfo.await().value } - ci.teams.find { it.id == reaction.teamId }?.let { team -> - ci.problems.find { it.id == reaction.problemId }?.let { problem -> - caption = team.fullName + ", problem " + problem.letter + ci.teams[reaction.teamId]?.let { team -> + ci.problems[reaction.problemId]?.let { problem -> + caption = "${team.fullName}, problem ${problem.letter}" } } } From 76b8f1ab2c1428c7a8dde02297b0602b9d5b5e97 Mon Sep 17 00:00:00 2001 From: Pavel Kunyavskiy Date: Sat, 19 Aug 2023 18:49:43 +0200 Subject: [PATCH 082/154] Simplify groups processing --- .../kotlin/org/icpclive/api/ContestInfo.kt | 8 ++--- .../org/icpclive/cds/clics/ClicsModel.kt | 2 +- .../org/icpclive/cds/pcms/PCMSDataSource.kt | 2 +- ...dsLoadersTest.clics202003Test.approved.txt | 36 ++++++++++++++----- ...dsLoadersTest.clics202207Test.approved.txt | 8 +++-- ...t.testSysWithAdvancedOverride.approved.txt | 9 +++-- 6 files changed, 45 insertions(+), 20 deletions(-) diff --git a/src/cds/src/main/kotlin/org/icpclive/api/ContestInfo.kt b/src/cds/src/main/kotlin/org/icpclive/api/ContestInfo.kt index 2fb80c83b..e28d0518d 100644 --- a/src/cds/src/main/kotlin/org/icpclive/api/ContestInfo.kt +++ b/src/cds/src/main/kotlin/org/icpclive/api/ContestInfo.kt @@ -182,8 +182,8 @@ data class TeamInfo( @Serializable data class GroupInfo( val name: String, - val isHidden: Boolean = false, - val isOutOfContest: Boolean = false + val isHidden: Boolean, + val isOutOfContest: Boolean, ) @Serializable @@ -270,6 +270,4 @@ data class ContestInfo( val organizations by lazy { organizationList.associateBy { it.cdsId } } val problems by lazy { problemList.associateBy { it.id } } val scoreboardProblems by lazy { problemList.sortedBy { it.ordinal } } -} - -fun List.toGroupInfos() = flatMap { it.groups }.distinct().map { GroupInfo(it) } +} \ No newline at end of file diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/clics/ClicsModel.kt b/src/cds/src/main/kotlin/org/icpclive/cds/clics/ClicsModel.kt index 0d7bb4ea2..a9502afbc 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/clics/ClicsModel.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/clics/ClicsModel.kt @@ -59,7 +59,7 @@ internal class ClicsModel( return null } - private fun Group.toApi() : GroupInfo = GroupInfo(name) + private fun Group.toApi() : GroupInfo = GroupInfo(name, isHidden = false, isOutOfContest = false) private fun Team.toApi(): TeamInfo { val teamOrganization = organization_id?.let { organisations[it] } diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/pcms/PCMSDataSource.kt b/src/cds/src/main/kotlin/org/icpclive/cds/pcms/PCMSDataSource.kt index 326a54203..917845f34 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/pcms/PCMSDataSource.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/pcms/PCMSDataSource.kt @@ -82,7 +82,7 @@ internal class PCMSDataSource(val settings: PCMSSettings, creds: Map PenaltyRoundingMode.ZERO diff --git a/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.clics202003Test.approved.txt b/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.clics202003Test.approved.txt index e3b0759db..699ffb5d8 100644 --- a/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.clics202003Test.approved.txt +++ b/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.clics202003Test.approved.txt @@ -2674,31 +2674,49 @@ ], "groups": [ { - "name": "System" + "name": "System", + "isHidden": false, + "isOutOfContest": false }, { - "name": "North America" + "name": "North America", + "isHidden": false, + "isOutOfContest": false }, { - "name": "Northern Eurasia" + "name": "Northern Eurasia", + "isHidden": false, + "isOutOfContest": false }, { - "name": "Asia West" + "name": "Asia West", + "isHidden": false, + "isOutOfContest": false }, { - "name": "Europe" + "name": "Europe", + "isHidden": false, + "isOutOfContest": false }, { - "name": "Latin America" + "name": "Latin America", + "isHidden": false, + "isOutOfContest": false }, { - "name": "Africa and the Middle East" + "name": "Africa and the Middle East", + "isHidden": false, + "isOutOfContest": false }, { - "name": "Asia Pacific" + "name": "Asia Pacific", + "isHidden": false, + "isOutOfContest": false }, { - "name": "Jury" + "name": "Jury", + "isHidden": false, + "isOutOfContest": false } ], "organizations": [ diff --git a/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.clics202207Test.approved.txt b/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.clics202207Test.approved.txt index 260256e93..3f5e0ce4d 100644 --- a/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.clics202207Test.approved.txt +++ b/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.clics202207Test.approved.txt @@ -2748,10 +2748,14 @@ ], "groups": [ { - "name": "SWERC 2022-2023" + "name": "SWERC 2022-2023", + "isHidden": false, + "isOutOfContest": false }, { - "name": "Self-Registered" + "name": "Self-Registered", + "isHidden": false, + "isOutOfContest": false } ], "organizations": [ diff --git a/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.testSysWithAdvancedOverride.approved.txt b/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.testSysWithAdvancedOverride.approved.txt index 2e907eea6..b16b4ce9b 100644 --- a/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.testSysWithAdvancedOverride.approved.txt +++ b/src/cds/src/test/kotlin/org/icpclive/cds/clics/CdsLoadersTest.testSysWithAdvancedOverride.approved.txt @@ -448,13 +448,18 @@ ], "groups": [ { - "name": "firstGrade" + "name": "firstGrade", + "isHidden": false, + "isOutOfContest": false }, { - "name": "school" + "name": "school", + "isHidden": false, + "isOutOfContest": false }, { "name": "outOfContest", + "isHidden": false, "isOutOfContest": true } ], From ed6044cb6b88004adcdaa0d7f11c76b5c5d17b0b Mon Sep 17 00:00:00 2001 From: Pavel Kunyavskiy Date: Sat, 19 Aug 2023 18:50:29 +0200 Subject: [PATCH 083/154] Save builds artifacts for 3 days only --- .github/workflows/playwright-test.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/playwright-test.yml b/.github/workflows/playwright-test.yml index d9302c7c7..17faab39d 100644 --- a/.github/workflows/playwright-test.yml +++ b/.github/workflows/playwright-test.yml @@ -54,17 +54,18 @@ jobs: with: name: screenshots path: tests/screenshots/ - retention-days: 30 + retention-days: 3 - uses: actions/upload-artifact@v3 if: always() with: name: playwright-report path: playwright-report/ - retention-days: 30 + retention-days: 3 - uses: actions/upload-artifact@v3 if: always() with: name: artifacts path: artifacts + retention-days: 3 From ce83f9838a272052c40c09b6c08fca6ec0e8b484 Mon Sep 17 00:00:00 2001 From: Pavel Kunyavskiy Date: Sat, 19 Aug 2023 18:54:05 +0200 Subject: [PATCH 084/154] Add missing testData file --- src/cds/testData/loaders/testsys.dat | 521 +++++++++++++++++++++++++++ 1 file changed, 521 insertions(+) create mode 100644 src/cds/testData/loaders/testsys.dat diff --git a/src/cds/testData/loaders/testsys.dat b/src/cds/testData/loaders/testsys.dat new file mode 100644 index 000000000..1e62f6219 --- /dev/null +++ b/src/cds/testData/loaders/testsys.dat @@ -0,0 +1,521 @@ +--- testsys monitor file n201206.dat --- +LVI St. Petersburg State University Championship, Sunday, December 06, 2 OVER + ID Team A B C D E F G H I J K L = Time R +------------------------------------------------------------------------------- + 02 LOUD Enough (ƒ ¥¢®©, ®ç... +1 + + + +1 +2 +17-38. + +1 + 10 1479 1 + 04 Cheba Kings (ƒà¨£®à쥢, ... + +2 +5 +1 +1 +5 +4 -2 -3 + +1 + 10 1591 2 + 15 (¢ª) Š ª ¦¥ å®ç¥âáï ¥¥ç... . + +29+ +3 +12. . . + +1 + 8 2118 3 + 13 (1ª) bravit_team (Œ àâë­... . + . +1 + . . . . + + +2 6 697 4 + 08 How to turn off computer... . + +1 . + . . . . +1 +2 +6 6 804 5 + 05 (1ª) Square ball (‚®«®ç ... . +5 . + + . +3 -2 . + +2 . 6 1227 6 + 01 Monad.Reader (‘ ¤ëª®¢, ˆ... . +1 -6 -1 +1 -5 +5 . . + + . 5 369 7 + 10 Botwa Jigurda (‘  ªï­, Œ... . +1 -13+ + . -7 -3 . +1 + . 5 464 8 + 12 (1ª) ä ­-ª«ã¡ ¨¢ ­  ª®à®... . +1 . + +2 . -1 -4 . + +1 . 5 495 9 + 09 ‚ ª®¬¯ ­¨¨ ¤à㧥© (ƒ®àï祢) . +1 . + +2 . . -8 . + +3 . 5 576 10 + 07 admarkov team (Œ àª®¢) . +3 . +1 +2 . -7 -7 . + +1 . 5 610 11 + 06 loozha (‘âண ­®¢, Šã«¨ª... . +2 . . +1 . . -11. + +1 -1 4 462 12 + 03 (1ª) Stardust Crusaders ... . + . -1 +1 . -3 . . +4 +1 . 4 519 13 + 14 (¢ª) gerind (‚¨å«ï¥¢) . +1 . . +4 . . . . +1 +3 . 4 522 14 + 17 (¢ª) €­â¨¡ëªè¬ãâ (ƒ ¬®á®... . +1 . . . . . . . . +4 . 2 289 15 + 19 (¢ª) ã祭¨ª¨ Š®©¡ ¥¢  (ƒ... . +3 . . -19. . . . . +3 . 2 298 16 + 18 (¢ª) ˆ­ä¥à­ë („§ã楢 , Š... . +5 . . -3 . . . . . +1 . 2 397 17 + 16 (¢ª) Persik (– ¡®«®¢, — ... . +8 . . . . . . . . + . 2 607 18 + 11 (èª)  ¡®â âì â ¬ (Š®¢à¨... . . . . . . . . . . . . 0 0 19 + 20 (¢ª) ‡ ª §­®© Nat & Ural... . . . . . . . . . . -4 . 0 0 19 + +@contest "LVI St. Petersburg State University Championship, Sunday, December 06, 2020" +@startat 06.12.2020 11:00:00 +@contlen 300 +@now 1056517 +@state RESULTS +@freeze 300 +@problems 12 +@teams 20 +@submissions 453 +@comment @pragma IgnoreCE +@comment @pragma HideUnfrozenCount +@p A,Permutations and Linear Combinations,20,0 +@p B,Brick Power,20,0 +@p C,Broken Matrix,20,0 +@p D,Encoded Messages,20,0 +@p E,Dogs and Coins,20,0 +@p F,Infection Score,20,0 +@p G,King and Roads,20,0 +@p H,Classic Literature,20,0 +@p I,Multiply without Carry,20,0 +@p J,Game with Permutations,20,0 +@p K,Schedule,20,0 +@p L,T-Shirt Distribution,20,0 +@t 01,0,1,"Monad.Reader (Ñàäûêîâ, Èáàòîâ, Ãàâðèëîâ)" +@t 02,0,1,"LOUD Enough (Ãàåâîé, Áî÷êîâ, Ìàêàðîâ)" +@t 03,0,1,"(1ê) Stardust Crusaders (Ìèõàéëîâ, Êîâàëåâ, Åëüöîâ)" +@t 04,0,1,"Cheba Kings (Ãðèãîðüåâ, Åôðåìîâ, Èâàíîâ)" +@t 05,0,1,"(1ê) Square ball (Âîëî÷àé, Íå÷àåâ, Åðåìååâ)" +@t 06,0,1,"loozha (Ñòðîãàíîâ, Êóëèêîâ, Ìàíäåëüøòàì)" +@t 07,0,1,admarkov team (Ìàðêîâ) +@t 08,0,1,"How to turn off computer? (Ãðåáåííèêîâ, Çàâàðèí, Ôàäååâà)" +@t 09,0,1, êîìïàíèè äðóçåé (Ãîðÿ÷åâ) +@t 10,0,1,"Botwa Jigurda (Ñààêÿí, Ìèøóðà, Êðàâ÷åíêî)" +@t 11,0,1,"(øê) Ðàáîòàòü òàì (Êîâðèãèí, Èâàíîâ, Öâåòêîâ)" +@t 12,0,1,"(1ê) ôàí-êëóá èâàíà êîðîòêîãî (Àòìàæèòîâà, Ðóäîâè÷, Êàñüÿíîâ)" +@t 13,0,1,"(1ê) bravit_team (Ìàðòûíîâ, Íîâîæèëîâ, Êëèìîâ)" +@t 14,0,2,(âê) gerind (Âèõëÿåâ) +@t 15,0,2,"(âê) Êàê æå õî÷åòñÿ Ðåå÷üêó.. (Áûêîâ, Ìåêóìÿíîâ)" +@t 16,0,2,"(âê) Persik (Öàáîëîâ, ×àêàëîâ, Ìàðãèåâ)" +@t 17,0,2,"(âê) Àíòèáûêøìóò (Ãàìîñîâ, Òàìàåâ)" +@t 18,0,2,"(âê) Èíôåðíû (Äçóöåâà, Êîð÷àãèí, Äæèáèëîâ)" +@t 19,0,2,"(âê) ó÷åíèêè Êîéáàåâà (Ãàëóñòüÿí, Ãàáèñîâ, Êóäçàåâ)" +@t 20,0,2,"(âê) Çàêàçíîé Nat & Ural (Ñàðíàöêèé, Õóãàåâ, Òåáèåâ)" +@s 04,B,1,607,TL,14 +@s 08,B,1,682,OK +@s 07,K,1,699,WA,2 +@s 02,K,1,737,WA,2 +@s 01,B,1,774,RT,1 +@s 02,B,1,788,OK +@s 01,B,2,809,OK +@s 04,B,2,872,TL,14 +@s 10,K,1,902,OK +@s 02,K,2,938,OK +@s 07,K,2,967,OK +@s 01,K,1,986,OK +@s 04,K,1,1144,WA,2 +@s 09,B,1,1156,WA,4 +@s 13,B,1,1161,OK +@s 04,B,3,1240,OK +@s 15,B,1,1265,OK +@s 09,B,2,1294,OK +@s 13,K,1,1353,OK +@s 14,B,1,1359,TL,11 +@s 07,B,1,1387,TL,11 +@s 04,K,2,1394,OK +@s 05,K,1,1436,WA,2 +@s 10,B,1,1465,TL,11 +@s 10,B,2,1517,OK +@s 14,B,2,1518,OK +@s 07,B,2,1522,TL,11 +@s 20,K,1,1541,WA,2 +@s 12,B,1,1605,TL,11 +@s 12,K,1,1613,WA,2 +@s 08,K,1,1679,WA,2 +@s 07,B,3,1696,TL,11 +@s 08,K,2,1707,WA,2 +@s 12,B,2,1710,OK +@s 12,K,2,1734,OK +@s 06,K,1,1823,WA,2 +@s 04,J,1,1883,OK +@s 07,B,4,1892,OK +@s 09,K,1,1922,WA,2 +@s 01,J,1,1974,OK +@s 05,K,2,1977,WA,2 +@s 01,E,1,2022,WA,11 +@s 01,E,2,2158,OK +@s 04,E,1,2163,WA,12 +@s 04,E,2,2217,OK +@s 15,K,1,2241,WA,2 +@s 08,K,3,2246,OK +@s 09,K,2,2307,WA,2 +@s 15,K,2,2310,OK +@s 02,L,1,2343,OK +@s 06,K,2,2368,OK +@s 19,K,1,2424,WA,2 +@s 05,K,3,2524,OK +@s 09,K,3,2548,WA,2 +@s 02,C,1,2600,OK +@s 15,J,1,2635,OK +@s 17,B,1,2636,TL,11 +@s 13,E,1,2679,OK +@s 03,B,1,2695,OK +@s 09,K,4,2706,OK +@s 08,J,1,2790,WA,1 +@s 07,J,1,2809,OK +@s 17,B,2,2816,OK +@s 14,K,1,2820,WA,2 +@s 08,J,2,2843,OK +@s 02,J,1,2861,OK +@s 17,B,3,2862,TL,11 +@s 07,E,1,2915,WA,3 +@s 01,G,1,2977,WA,12 +@s 17,K,1,3011,WA,2 +@s 19,K,2,3038,WA,2 +@s 10,E,1,3131,OK +@s 12,J,1,3189,OK +@s 14,K,2,3191,WA,1 +@s 09,E,1,3215,WA,3 +@s 14,K,3,3229,WA,2 +@s 09,E,2,3275,WA,3 +@s 01,G,2,3332,WA,12 +@s 19,B,1,3360,WA,1 +@s 05,B,1,3406,TL,10 +@s 19,B,2,3407,WA,4 +@s 02,E,1,3476,WA,3 +@s 06,B,1,3571,WA,4 +@s 13,J,1,3606,OK +@s 18,B,1,3627,RT,2 +@s 05,B,2,3851,TL,19 +@s 07,E,2,3908,WA,12 +@s 02,G,1,3926,WA,3 +@s 14,K,4,3932,CE +@s 08,E,1,3942,OK +@s 14,K,5,3949,CE +@s 14,K,6,3977,OK +@s 15,E,1,4077,TL,10 +@s 01,G,3,4156,WA,12 +@s 19,K,3,4182,WA,2 +@s 16,B,1,4217,WA,1 +@s 03,K,1,4288,TL,2 +@s 05,B,3,4366,TL,32 +@s 02,E,2,4373,OK +@s 10,G,1,4450,WA,3 +@s 01,G,4,4452,WA,12 +@s 03,K,2,4477,OK +@s 04,F,1,4635,RT,21 +@s 19,K,4,4802,OK +@s 06,B,2,4835,TL,10 +@s 05,B,4,4867,TL,12 +@s 14,J,1,4938,CE +@s 05,J,1,4998,OK +@s 19,B,3,5003,TL,10 +@s 14,J,2,5007,WA,3 +@s 15,C,1,5128,WA,3 +@s 15,E,2,5137,WA,3 +@s 06,B,3,5140,OK +@s 03,J,1,5175,WA,3 +@s 07,E,3,5179,OK +@s 15,C,2,5180,WA,19 +@s 18,B,2,5242,CE +@s 15,E,3,5299,TL,11 +@s 18,B,3,5301,RT,3 +@s 09,E,3,5314,OK +@s 04,F,2,5409,RT,21 +@s 04,C,1,5515,WA,18 +@s 03,J,2,5562,WA,5 +@s 12,E,1,5596,WA,10 +@s 03,J,3,5651,IL,1 +@s 17,K,2,5732,WA,2 +@s 03,J,4,5742,IL,1 +@s 10,G,2,5804,WA,27 +@s 03,J,5,5851,OK +@s 14,J,3,5875,OK +@s 19,B,4,5910,OK +@s 18,B,4,6084,TL,11 +@s 15,E,4,6100,OK +@s 12,E,2,6163,WA,10 +@s 06,J,1,6177,OK +@s 12,E,3,6273,OK +@s 18,B,5,6275,TL,11 +@s 04,F,3,6324,WA,21 +@s 15,C,3,6347,RT,3 +@s 16,B,2,6462,WA,6 +@s 02,A,1,6484,WA,1 +@s 04,C,2,6487,WA,18 +@s 19,E,1,6495,WA,3 +@s 02,A,2,6518,OK +@s 15,C,4,6581,WA,19 +@s 18,B,6,6587,TL,11 +@s 10,J,1,6595,WA,3 +@s 01,F,1,6651,WA,18 +@s 18,B,7,6750,OK +@s 10,G,3,6799,WA,27 +@s 01,F,2,6827,CE +@s 10,J,2,6958,OK +@s 04,C,3,6985,TL,48 +@s 01,F,3,7021,WA,18 +@s 19,E,2,7051,TL,11 +@s 17,K,3,7065,WA,2 +@s 09,J,1,7186,OK +@s 17,K,4,7204,WA,2 +@s 04,C,4,7224,WA,19 +@s 01,F,4,7299,WA,18 +@s 04,C,5,7338,TL,48 +@s 04,F,4,7382,WA,21 +@s 01,F,5,7430,WA,18 +@s 04,G,1,7433,WA,25 +@s 04,C,6,7438,OK +@s 19,E,3,7549,WA,3 +@s 01,G,5,7604,WA,57 +@s 02,G,2,7606,WA,3 +@s 15,C,5,7646,PE,3 +@s 15,C,6,7692,WA,20 +@s 19,E,4,7767,WA,3 +@s 14,E,1,7793,WA,3 +@s 04,F,5,7862,WA,21 +@s 01,G,6,7867,OK +@s 01,G,7,7963,OK +@s 07,H,1,8156,RT,1 +@s 08,L,1,8176,TL,1 +@s 02,F,1,8180,WA,18 +@s 07,H,2,8309,WA,1 +@s 18,K,1,8314,WA,2 +@s 04,G,2,8414,WA,1 +@s 05,E,1,8419,OK +@s 04,G,3,8457,WA,25 +@s 15,C,7,8507,WA,4 +@s 17,K,5,8529,OK +@s 15,C,8,8579,WA,18 +@s 15,C,9,8645,WA,18 +@s 02,G,3,8674,WA,3 +@s 01,G,8,8711,OK +@s 15,C,10,8731,WA,18 +@s 01,G,9,8780,OK +@s 02,G,4,8786,WA,3 +@s 14,E,2,8860,WA,12 +@s 14,E,3,8901,WA,12 +@s 02,G,5,8930,WA,3 +@s 08,L,2,8932,TL,1 +@s 06,E,1,8988,WA,10 +@s 01,G,10,8990,OK +@s 02,G,6,9002,WA,3 +@s 08,L,3,9004,TL,1 +@s 14,E,4,9021,WA,10 +@s 15,C,11,9029,TL,39 +@s 04,L,1,9076,OK +@s 14,E,5,9169,OK +@s 06,E,2,9251,OK +@s 19,E,5,9266,WA,11 +@s 20,K,2,9445,TL,2 +@s 15,C,12,9631,WA,25 +@s 08,L,4,9640,TL,3 +@s 15,C,13,9726,TL,39 +@s 04,G,4,9762,WA,12 +@s 15,C,14,9814,TL,39 +@s 08,L,5,9848,TL,3 +@s 18,K,2,9917,OK +@s 05,H,1,9988,PE,1 +@s 04,G,5,10009,OK +@s 08,L,6,10015,WA,6 +@s 15,C,15,10048,TL,39 +@s 05,H,2,10078,WA,1 +@s 10,H,1,10102,PE,1 +@s 04,G,6,10104,OK +@s 02,F,2,10129,WA,18 +@s 02,H,1,10257,WA,1 +@s 04,H,1,10278,PE,1 +@s 03,E,1,10334,WA,10 +@s 15,C,16,10362,CE +@s 15,F,1,10366,WA,18 +@s 15,C,17,10381,WA,6 +@s 10,H,2,10394,WA,1 +@s 20,K,3,10437,TL,2 +@s 08,L,7,10475,OK +@s 04,H,2,10600,WA,1 +@s 15,C,18,10600,WA,6 +@s 10,H,3,10673,WA,1 +@s 05,B,5,10816,RT,3 +@s 16,K,1,10846,OK +@s 15,C,19,10891,WA,6 +@s 09,D,1,10893,OK +@s 04,F,6,10901,OK +@s 01,F,6,10924,WA,18 +@s 03,E,2,10957,OK +@s 02,H,2,11023,WA,2 +@s 15,C,20,11114,WA,20 +@s 15,C,21,11200,TL,39 +@s 19,E,6,11232,WA,11 +@s 02,H,3,11367,TL,1 +@s 02,H,4,11468,WA,2 +@s 02,H,5,11487,TL,2 +@s 02,H,6,11522,WA,2 +@s 20,K,4,11529,TL,2 +@s 15,C,22,11685,RT,30 +@s 15,C,23,11751,TL,39 +@s 19,E,7,11771,WA,12 +@s 15,C,24,11876,WA,18 +@s 02,H,7,11884,WA,1 +@s 02,F,3,11909,OK +@s 02,H,8,11912,WA,2 +@s 05,G,1,11999,WA,3 +@s 12,D,1,12015,OK +@s 15,C,25,12022,WA,19 +@s 01,G,11,12031,WA,3 +@s 16,B,3,12055,WA,6 +@s 01,G,12,12057,OK +@s 15,C,26,12093,WA,28 +@s 13,D,1,12130,PE,1 +@s 19,E,8,12131,WA,12 +@s 13,D,2,12215,OK +@s 04,D,1,12260,RT,1 +@s 15,C,27,12265,WA,20 +@s 19,E,9,12300,WA,12 +@s 09,H,1,12321,WA,1 +@s 04,D,2,12392,OK +@s 05,B,6,12470,OK +@s 05,G,2,12619,WA,3 +@s 18,E,1,12623,WA,3 +@s 15,C,28,12667,WA,20 +@s 07,H,3,12685,CE +@s 07,H,4,12731,WA,2 +@s 15,C,29,12741,WA,20 +@s 07,D,1,12936,PE,3 +@s 10,D,1,12936,OK +@s 09,H,2,13011,WA,1 +@s 10,C,1,13149,WA,6 +@s 15,C,30,13318,WA,20 +@s 09,H,3,13400,WA,1 +@s 15,F,2,13510,WA,16 +@s 19,E,10,13625,WA,3 +@s 15,C,31,13652,OK +@s 12,G,1,13684,WA,12 +@s 16,B,4,13824,CE +@s 16,B,5,13870,WA,6 +@s 07,H,5,13889,WA,2 +@s 02,D,1,14065,OK +@s 15,F,3,14253,WA,16 +@s 19,E,11,14270,WA,11 +@s 05,G,3,14291,WA,3 +@s 02,G,7,14433,WA,3 +@s 15,F,4,14446,WA,18 +@s 19,E,12,14491,WA,11 +@s 02,G,8,14497,WA,3 +@s 19,E,13,14534,WA,1 +@s 08,A,1,14558,CE +@s 02,G,9,14580,WA,3 +@s 16,B,6,14582,TL,11 +@s 02,G,10,14695,WA,3 +@s 07,H,6,14696,WA,2 +@s 16,B,7,14794,WA,1 +@s 02,H,9,14822,WA,1 +@s 09,H,4,14842,WA,1 +@s 16,B,8,14855,RT,3 +@s 19,E,14,14901,WA,11 +@s 03,D,1,14909,PE,3 +@s 18,E,2,14996,WA,3 +@s 15,F,5,15013,RT,18 +@s 15,F,6,15052,WA,18 +@s 15,D,1,15059,OK +@s 19,E,15,15068,WA,11 +@s 02,G,11,15086,WA,3 +@s 15,F,7,15087,RT,18 +@s 07,G,1,15151,CE +@s 07,G,2,15211,WA,12 +@s 02,H,10,15271,PE,1 +@s 16,B,9,15287,RT,3 +@s 10,G,4,15367,WA,3 +@s 15,F,8,15373,RT,18 +@s 02,H,11,15373,WA,1 +@s 19,E,16,15388,WA,11 +@s 15,F,9,15412,RT,18 +@s 10,G,5,15428,WA,3 +@s 19,E,17,15457,WA,11 +@s 02,G,12,15528,WA,3 +@s 02,H,12,15566,CE +@s 02,G,13,15567,WA,3 +@s 02,G,14,15690,CE +@s 15,F,10,15714,WA,5 +@s 07,G,3,15728,WA,12 +@s 02,G,15,15730,WA,3 +@s 02,G,16,15735,WA,3 +@s 02,G,17,15803,WA,3 +@s 16,B,10,15808,CE +@s 02,G,18,15809,WA,3 +@s 15,F,11,15832,WA,18 +@s 02,H,13,15883,WA,1 +@s 15,F,12,15887,RT,18 +@s 16,B,11,15913,CE +@s 02,G,19,15917,CE +@s 08,C,1,15934,WA,20 +@s 02,G,20,15958,OK +@s 10,C,2,15964,WA,6 +@s 02,G,21,15969,WA,3 +@s 15,F,13,15974,OK +@s 16,B,12,16004,OK +@s 08,C,2,16073,OK +@s 15,L,1,16094,OK +@s 05,D,1,16110,OK +@s 04,A,1,16165,OK +@s 02,H,14,16183,WA,1 +@s 10,C,3,16365,WA,6 +@s 02,G,22,16444,WA,3 +@s 02,H,15,16506,WA,1 +@s 06,H,1,16519,WA,1 +@s 01,C,1,16631,WA,3 +@s 07,G,4,16650,WA,3 +@s 06,H,2,16671,WA,1 +@s 19,E,18,16698,WA,11 +@s 07,G,5,16762,WA,3 +@s 19,E,19,16778,WA,11 +@s 09,H,5,16852,PE,1 +@s 07,G,6,16893,WA,12 +@s 10,C,4,16941,WA,4 +@s 09,H,6,16955,PE,1 +@s 02,H,16,16988,WA,1 +@s 10,C,5,17004,WA,9 +@s 09,H,7,17053,PE,1 +@s 13,L,1,17079,TL,1 +@s 13,L,2,17131,WA,2 +@s 01,C,2,17137,WA,25 +@s 03,G,1,17146,WA,3 +@s 06,L,1,17152,RT,1 +@s 05,G,4,17156,OK +@s 09,H,8,17174,WA,1 +@s 07,G,7,17185,WA,2 +@s 10,C,6,17187,WA,9 +@s 13,L,3,17219,OK +@s 07,G,8,17246,WA,3 +@s 01,C,3,17252,WA,25 +@s 06,H,3,17273,WA,1 +@s 18,E,3,17314,WA,10 +@s 12,H,1,17393,RT,1 +@s 07,D,2,17403,OK +@s 02,H,17,17428,CE +@s 01,C,4,17439,WA,25 +@s 02,H,18,17454,WA,1 +@s 06,H,4,17495,RT,1 +@s 01,C,5,17496,WA,25 +@s 04,I,1,17518,TL,17 +@s 06,H,5,17524,RT,1 +@s 02,H,19,17536,WA,1 +@s 12,H,2,17537,RT,1 +@s 10,C,7,17568,RT,9 +@s 04,G,7,17578,OK +@s 04,I,2,17587,TL,17 +@s 02,H,20,17609,WA,2 +@s 10,C,8,17611,WA,9 +@s 02,H,21,17621,TL,2 +@s 12,H,3,17637,WA,1 +@s 02,H,22,17643,TL,2 +@s 03,G,2,17649,CE +@s 02,H,23,17661,WA,5 +@s 04,I,3,17682,TL,30 +@s 10,C,9,17687,WA,9 +@s 12,H,4,17698,WA,1 +@s 10,C,10,17713,WA,9 +@s 06,H,6,17713,RT,1 +@s 02,H,24,17714,WA,5 +@s 01,C,6,17720,CE +@s 10,C,11,17736,RT,9 +@s 10,G,6,17755,TL,3 +@s 02,H,25,17763,WA,5 +@s 01,D,1,17777,WA,1 +@s 01,C,7,17783,WA,25 +@s 02,H,26,17784,TL,2 +@s 03,G,3,17824,WA,3 +@s 02,H,27,17825,WA,2 +@s 06,H,7,17827,WA,1 +@s 06,H,8,17829,WA,1 +@s 10,G,7,17837,TL,11 +@s 02,H,28,17841,WA,2 +@s 02,H,29,17855,WA,5 +@s 04,G,8,17857,WA,2 +@s 06,H,9,17859,WA,1 +@s 10,C,12,17871,WA,1 +@s 03,G,4,17899,WA,3 +@s 02,H,30,17903,TL,20 +@s 04,G,9,17907,OK +@s 02,H,31,17909,WA,2 +@s 02,H,32,17918,WA,2 +@s 07,H,7,17927,PE,1 +@s 06,H,10,17931,RT,1 +@s 07,H,8,17943,WA,2 +@s 02,H,33,17948,WA,2 +@s 02,H,34,17956,WA,2 +@s 02,H,35,17963,WA,2 +@s 05,E,2,17967,WA,2 +@s 02,H,36,17969,WA,1 +@s 02,H,37,17971,WA,2 +@s 02,H,38,17974,WA,1 +@s 02,H,39,17978,WA,1 +@s 06,H,11,17982,WA,1 +@s 02,G,23,17984,WA,1 +@s 10,C,13,17992,WA,9 +@s 02,H,40,17993,WA,1 +@s 02,G,24,17993,WA,1 From 84c221a5439f3ebd6527e244282d0491a08d26ca Mon Sep 17 00:00:00 2001 From: Pavel Kunyavskiy Date: Sat, 19 Aug 2023 19:03:38 +0200 Subject: [PATCH 085/154] Disable show teams without submissions in tests, it's too slow. --- .../__tests/ejudge_ioi_virtual/mosh-2023-keldysh/advanced.json | 3 --- .../pcms_icpc_overrides/icpc-nef-2021-2022/advanced.json | 3 +-- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/config/__tests/ejudge_ioi_virtual/mosh-2023-keldysh/advanced.json b/config/__tests/ejudge_ioi_virtual/mosh-2023-keldysh/advanced.json index 354c8b618..fdf1747e6 100644 --- a/config/__tests/ejudge_ioi_virtual/mosh-2023-keldysh/advanced.json +++ b/config/__tests/ejudge_ioi_virtual/mosh-2023-keldysh/advanced.json @@ -920,8 +920,5 @@ "F": { "color": "#42d4f4" } - }, - "scoreboardOverrides": { - "showTeamsWithoutSubmissions": false } } \ No newline at end of file diff --git a/config/__tests/pcms_icpc_overrides/icpc-nef-2021-2022/advanced.json b/config/__tests/pcms_icpc_overrides/icpc-nef-2021-2022/advanced.json index 30e6b3b65..b4ce42e7b 100644 --- a/config/__tests/pcms_icpc_overrides/icpc-nef-2021-2022/advanced.json +++ b/config/__tests/pcms_icpc_overrides/icpc-nef-2021-2022/advanced.json @@ -27,8 +27,7 @@ "name": "bronze", "count": 4 } - ], - "showTeamsWithoutSubmissions": false + ] }, "teamOverrides": { "642163": { From a88e619d1cb8f7d28246b575cc66b5e0452e755c Mon Sep 17 00:00:00 2001 From: Pavel Kunyavskiy Date: Sat, 19 Aug 2023 19:10:31 +0200 Subject: [PATCH 086/154] Enable gradle build cache. --- gradle.properties | 3 ++- src/frontend/build.gradle.kts | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 24a4ee674..ad469ba46 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,5 @@ kotlin.code.style=official build_version=dev #change this to `false` to use system installed npm npm.download=true -org.gradle.parallel=true \ No newline at end of file +org.gradle.parallel=true +org.gradle.caching=true \ No newline at end of file diff --git a/src/frontend/build.gradle.kts b/src/frontend/build.gradle.kts index 67727e4ad..1b4b9545b 100644 --- a/src/frontend/build.gradle.kts +++ b/src/frontend/build.gradle.kts @@ -20,6 +20,8 @@ tasks { environment.set(mapOf("PUBLIC_URL" to "/overlay")) inputs.dir("overlay/src") inputs.dir("overlay/public") + inputs.file("package.json") + inputs.file("package-lock.json") inputs.file("overlay/package.json") outputs.dir("overlay/build") } @@ -27,6 +29,8 @@ tasks { environment.set(mapOf("PUBLIC_URL" to "/admin")) inputs.dir("admin/src") inputs.dir("admin/public") + inputs.file("package.json") + inputs.file("package-lock.json") inputs.file("admin/package.json") outputs.dir("admin/build") } From ecf4c4bfb41ad1b2c09bc2ecdb7c5f30ab43624a Mon Sep 17 00:00:00 2001 From: Pavel Kunyavskiy Date: Sat, 19 Aug 2023 19:32:22 +0200 Subject: [PATCH 087/154] Enable gradle build cache for frontend tasks too. --- src/frontend/build.gradle.kts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/frontend/build.gradle.kts b/src/frontend/build.gradle.kts index 1b4b9545b..86ef5ac8a 100644 --- a/src/frontend/build.gradle.kts +++ b/src/frontend/build.gradle.kts @@ -17,6 +17,7 @@ tasks { inputs.file("overlay/package.json") } named("npm_run_buildOverlay") { + outputs.cacheIf { true } environment.set(mapOf("PUBLIC_URL" to "/overlay")) inputs.dir("overlay/src") inputs.dir("overlay/public") @@ -26,6 +27,7 @@ tasks { outputs.dir("overlay/build") } named("npm_run_buildAdmin") { + outputs.cacheIf { true } environment.set(mapOf("PUBLIC_URL" to "/admin")) inputs.dir("admin/src") inputs.dir("admin/public") From d9a01645b3fc69f4e9530904e2940b238f7096c2 Mon Sep 17 00:00:00 2001 From: Pavel Kunyavskiy Date: Sat, 19 Aug 2023 19:51:25 +0200 Subject: [PATCH 088/154] Create dokka-gh-pages.yml --- .github/workflows/dokka-gh-pages.yml | 50 ++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 .github/workflows/dokka-gh-pages.yml diff --git a/.github/workflows/dokka-gh-pages.yml b/.github/workflows/dokka-gh-pages.yml new file mode 100644 index 000000000..446637b83 --- /dev/null +++ b/.github/workflows/dokka-gh-pages.yml @@ -0,0 +1,50 @@ +# Sample workflow for building and deploying a Jekyll site to GitHub Pages +name: Deploy Jekyll with GitHub Pages dependencies preinstalled + +on: + # Runs on pushes targeting the default branch + push: + branches: ["main"] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. +# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. +concurrency: + group: "pages" + cancel-in-progress: false + +jobs: + # Build job + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Setup Pages + uses: actions/configure-pages@v3 + - name: Build with Dokka + uses: gradle/gradle-build-action@v2 + with: + arguments: dokkaHtml -i + - name: Upload artifact + uses: actions/upload-pages-artifact@v2 + + # Deployment job + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: build + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v2 From 731b41f903607c07ca0fb03994726f4cde196864 Mon Sep 17 00:00:00 2001 From: Pavel Kunyavskiy Date: Sat, 19 Aug 2023 19:55:48 +0200 Subject: [PATCH 089/154] Fix build docs and remove them from repo --- .github/workflows/dokka-gh-pages.yml | 2 +- .../-advanced-properties.html | 72 - .../-advanced-properties/freeze-time.html | 72 - .../-advanced-properties/group-overrides.html | 72 - .../-advanced-properties/hold-time.html | 72 - .../-advanced-properties/index.html | 265 ---- .../organization-overrides.html | 72 - .../problem-overrides.html | 72 - .../scoreboard-overrides.html | 72 - .../-advanced-properties/start-time.html | 72 - .../team-media-template.html | 72 - .../team-override-template.html | 72 - .../-advanced-properties/team-overrides.html | 72 - .../-advanced-properties/team-regexes.html | 72 - .../-group-info-override.html | 72 - .../-group-info-override/index.html | 130 -- .../-group-info-override/is-hidden.html | 72 - .../is-out-of-contest.html | 72 - .../-organization-info-override.html | 72 - .../display-name.html | 72 - .../full-name.html | 72 - .../-organization-info-override/index.html | 130 -- .../-problem-info-override.html | 72 - .../-problem-info-override/color.html | 72 - .../-problem-info-override/index.html | 190 --- .../-problem-info-override/max-score.html | 72 - .../-problem-info-override/min-score.html | 72 - .../-problem-info-override/name.html | 72 - .../-problem-info-override/ordinal.html | 72 - .../score-merge-mode.html | 72 - .../-ranking-settings/-ranking-settings.html | 72 - .../-ranking-settings/index.html | 160 -- .../-ranking-settings/medals.html | 72 - .../penalty-per-wrong-attempt.html | 72 - .../penalty-rounding-mode.html | 72 - .../show-teams-without-submissions.html | 72 - .../-team-info-override.html | 72 - .../-team-info-override/custom-fields.html | 72 - .../-team-info-override/display-name.html | 72 - .../-team-info-override/full-name.html | 72 - .../-team-info-override/groups.html | 72 - .../-team-info-override/hash-tag.html | 72 - .../-team-info-override/index.html | 235 --- .../-team-info-override/is-hidden.html | 72 - .../is-out-of-contest.html | 72 - .../-team-info-override/medias.html | 72 - .../-team-info-override/organization-id.html | 72 - .../-team-override-template.html | 72 - .../-team-override-template/display-name.html | 72 - .../-team-override-template/full-name.html | 72 - .../-team-override-template/index.html | 145 -- .../-team-override-template/medias.html | 72 - .../-team-regex-overrides.html | 72 - .../-team-regex-overrides/custom-fields.html | 72 - .../-team-regex-overrides/group-regex.html | 72 - .../-team-regex-overrides/index.html | 145 -- .../organization-regex.html | 72 - .../org.icpclive.api.tunning/index.html | 234 --- .../to-advanced-properties.html | 72 - .../-analytics-commentary-event.html | 72 - .../advertisement.html | 72 - .../featured-run.html | 72 - .../-analytics-commentary-event/id.html | 72 - .../-analytics-commentary-event/index.html | 265 ---- .../-analytics-commentary-event/message.html | 72 - .../-analytics-commentary-event/priority.html | 72 - .../relative-time.html | 72 - .../-analytics-commentary-event/run-ids.html | 72 - .../-analytics-commentary-event/tags.html | 72 - .../-analytics-commentary-event/team-ids.html | 72 - .../ticker-message.html | 72 - .../-analytics-commentary-event/time.html | 72 - .../-analytics-companion-preset.html | 72 - .../expiration-time.html | 72 - .../-analytics-companion-preset/index.html | 130 -- .../preset-id.html | 72 - .../-analytics-companion-run.html | 72 - .../expiration-time.html | 72 - .../-analytics-companion-run/index.html | 130 -- .../-analytics-companion-run/media-type.html | 72 - .../-analytics-message/id.html | 72 - .../-analytics-message/index.html | 126 -- .../-analytics-message/relative-time.html | 72 - .../-analytics-message/time.html | 72 - .../-contest-info/-contest-info.html | 72 - .../-contest-info/contest-length.html | 72 - .../-contest-info/current-contest-time.html | 72 - .../-contest-info/emulation-speed.html | 72 - .../-contest-info/freeze-time.html | 72 - .../-contest-info/group-by-id.html | 72 - .../-contest-info/groups.html | 72 - .../-contest-info/hold-before-start-time.html | 72 - .../org.icpclive.api/-contest-info/index.html | 374 ----- .../-contest-info/medals.html | 72 - .../org.icpclive.api/-contest-info/name.html | 72 - .../-contest-info/organizations.html | 72 - .../penalty-per-wrong-attempt.html | 72 - .../-contest-info/penalty-rounding-mode.html | 72 - .../-contest-info/problems.html | 72 - .../-contest-info/result-type.html | 72 - .../-contest-info/start-time.html | 72 - .../-contest-info/status.html | 72 - .../org.icpclive.api/-contest-info/teams.html | 72 - .../-contest-result-type/-i-c-p-c/index.html | 111 -- .../-contest-result-type/-i-o-i/index.html | 111 -- .../-contest-result-type/index.html | 179 --- .../-contest-result-type/value-of.html | 72 - .../-contest-result-type/values.html | 72 - .../-contest-status/-b-e-f-o-r-e/index.html | 111 -- .../-contest-status/-o-v-e-r/index.html | 111 -- .../-contest-status/-r-u-n-n-i-n-g/index.html | 111 -- .../-contest-status/index.html | 194 --- .../-contest-status/value-of.html | 72 - .../-contest-status/values.html | 72 - .../-group-info/-group-info.html | 72 - .../org.icpclive.api/-group-info/index.html | 145 -- .../-group-info/is-hidden.html | 72 - .../-group-info/is-out-of-contest.html | 72 - .../org.icpclive.api/-group-info/name.html | 72 - .../-i-c-p-c-problem-result.html | 72 - .../-i-c-p-c-problem-result/index.html | 175 --- .../is-first-to-solve.html | 72 - .../-i-c-p-c-problem-result/is-solved.html | 72 - .../last-submit-time.html | 72 - .../pending-attempts.html | 72 - .../wrong-attempts.html | 72 - .../-i-c-p-c-run-result.html | 72 - .../-i-c-p-c-run-result/index.html | 130 -- .../is-first-to-solve-run.html | 72 - .../-i-c-p-c-run-result/verdict.html | 72 - .../-i-o-i-problem-result.html | 72 - .../-i-o-i-problem-result/index.html | 145 -- .../-i-o-i-problem-result/is-first-best.html | 72 - .../last-submit-time.html | 72 - .../-i-o-i-problem-result/score.html | 72 - .../-i-o-i-run-result/-i-o-i-run-result.html | 72 - .../-i-o-i-run-result/difference.html | 72 - .../-i-o-i-run-result/index.html | 190 --- .../-i-o-i-run-result/is-first-best-run.html | 72 - .../is-first-best-team-run.html | 72 - .../-i-o-i-run-result/score-after.html | 72 - .../-i-o-i-run-result/score.html | 72 - .../-i-o-i-run-result/wrong-verdict.html | 72 - .../-medal-tiebreak-mode/-a-l-l/index.html | 111 -- .../-medal-tiebreak-mode/-n-o-n-e/index.html | 111 -- .../-medal-tiebreak-mode/index.html | 179 --- .../-medal-tiebreak-mode/value-of.html | 72 - .../-medal-tiebreak-mode/values.html | 72 - .../-medal-type/-medal-type.html | 72 - .../org.icpclive.api/-medal-type/count.html | 72 - .../org.icpclive.api/-medal-type/index.html | 160 -- .../-medal-type/min-score.html | 72 - .../org.icpclive.api/-medal-type/name.html | 72 - .../-medal-type/tiebreak-mode.html | 72 - .../-media-type/-object/-object.html | 72 - .../-media-type/-object/index.html | 149 -- .../-media-type/-object/is-media.html | 72 - .../-media-type/-object/url.html | 72 - .../-media-type/-photo/-photo.html | 72 - .../-media-type/-photo/index.html | 149 -- .../-media-type/-photo/is-media.html | 72 - .../-media-type/-photo/url.html | 72 - .../-task-status/-task-status.html | 72 - .../-media-type/-task-status/index.html | 149 -- .../-media-type/-task-status/is-media.html | 72 - .../-media-type/-task-status/team-id.html | 72 - .../-media-type/-video/-video.html | 72 - .../-media-type/-video/index.html | 149 -- .../-media-type/-video/is-media.html | 72 - .../-media-type/-video/url.html | 72 - .../-web-r-t-c-grabber-connection.html | 72 - .../credential.html | 72 - .../-web-r-t-c-grabber-connection/index.html | 194 --- .../is-media.html | 72 - .../peer-name.html | 72 - .../stream-type.html | 72 - .../-web-r-t-c-grabber-connection/url.html | 72 - .../-web-r-t-c-proxy-connection.html | 72 - .../audio-url.html | 72 - .../-web-r-t-c-proxy-connection/index.html | 164 --- .../-web-r-t-c-proxy-connection/is-media.html | 72 - .../-web-r-t-c-proxy-connection/url.html | 72 - .../org.icpclive.api/-media-type/index.html | 209 --- .../-media-type/is-media.html | 72 - .../-media-type/no-media.html | 72 - .../-optimism-level/-n-o-r-m-a-l/index.html | 111 -- .../-o-p-t-i-m-i-s-t-i-c/index.html | 111 -- .../-p-e-s-s-i-m-i-s-t-i-c/index.html | 111 -- .../-optimism-level/index.html | 194 --- .../-optimism-level/value-of.html | 72 - .../-optimism-level/values.html | 72 - .../-organization-info.html | 72 - .../-organization-info/cds-id.html | 72 - .../-organization-info/display-name.html | 72 - .../-organization-info/full-name.html | 72 - .../-organization-info/index.html | 145 -- .../index.html | 111 -- .../-l-a-s-t/index.html | 111 -- .../index.html | 111 -- .../-s-u-m_-i-n_-s-e-c-o-n-d-s/index.html | 111 -- .../-z-e-r-o/index.html | 111 -- .../-penalty-rounding-mode/index.html | 224 --- .../-penalty-rounding-mode/value-of.html | 72 - .../-penalty-rounding-mode/values.html | 72 - .../-problem-info/-companion/index.html | 96 -- .../-problem-info/-companion/logger.html | 72 - .../-problem-info/-problem-info.html | 72 - .../org.icpclive.api/-problem-info/color.html | 72 - .../-problem-info/contest-system-id.html | 72 - .../org.icpclive.api/-problem-info/id.html | 72 - .../org.icpclive.api/-problem-info/index.html | 254 ---- .../-problem-info/letter.html | 72 - .../-problem-info/max-score.html | 72 - .../-problem-info/min-score.html | 72 - .../org.icpclive.api/-problem-info/name.html | 72 - .../-problem-info/ordinal.html | 72 - .../-problem-info/score-merge-mode.html | 72 - .../-problem-result/index.html | 76 - .../org.icpclive.api/-run-info/-run-info.html | 72 - .../-run-info/featured-run-media.html | 72 - .../org.icpclive.api/-run-info/id.html | 72 - .../org.icpclive.api/-run-info/index.html | 235 --- .../org.icpclive.api/-run-info/is-hidden.html | 72 - .../-run-info/percentage.html | 72 - .../-run-info/problem-id.html | 72 - .../-run-info/reaction-videos.html | 72 - .../org.icpclive.api/-run-info/result.html | 72 - .../org.icpclive.api/-run-info/team-id.html | 72 - .../org.icpclive.api/-run-info/time.html | 72 - .../org.icpclive.api/-run-result/index.html | 76 - .../-score-merge-mode/-l-a-s-t/index.html | 111 -- .../-l-a-s-t_-o-k/index.html | 111 -- .../-m-a-x_-p-e-r_-g-r-o-u-p/index.html | 111 -- .../-m-a-x_-t-o-t-a-l/index.html | 111 -- .../-score-merge-mode/-s-u-m/index.html | 111 -- .../-score-merge-mode/index.html | 224 --- .../-score-merge-mode/value-of.html | 72 - .../-score-merge-mode/values.html | 72 - .../-scoreboard-row/-scoreboard-row.html | 72 - .../-scoreboard-row/champion-in-groups.html | 72 - .../-scoreboard-row/index.html | 235 --- .../-scoreboard-row/last-accepted.html | 72 - .../-scoreboard-row/medal-type.html | 72 - .../-scoreboard-row/penalty.html | 72 - .../-scoreboard-row/problem-results.html | 72 - .../-scoreboard-row/rank.html | 72 - .../-scoreboard-row/team-groups.html | 72 - .../-scoreboard-row/team-id.html | 72 - .../-scoreboard-row/total-score.html | 72 - .../-scoreboard/-scoreboard.html | 72 - .../org.icpclive.api/-scoreboard/index.html | 130 -- .../-scoreboard/last-submit-time.html | 72 - .../org.icpclive.api/-scoreboard/rows.html | 72 - .../-team-info/-team-info.html | 72 - .../-team-info/contest-system-id.html | 72 - .../-team-info/custom-fields.html | 72 - .../-team-info/display-name.html | 72 - .../-team-info/full-name.html | 72 - .../org.icpclive.api/-team-info/groups.html | 72 - .../org.icpclive.api/-team-info/hash-tag.html | 72 - .../org.icpclive.api/-team-info/id.html | 72 - .../org.icpclive.api/-team-info/index.html | 265 ---- .../-team-info/is-hidden.html | 72 - .../-team-info/is-out-of-contest.html | 72 - .../org.icpclive.api/-team-info/medias.html | 72 - .../-team-info/organization-id.html | 72 - .../-a-c-h-i-e-v-e-m-e-n-t/index.html | 111 -- .../-team-media-type/-c-a-m-e-r-a/index.html | 111 -- .../-team-media-type/-p-h-o-t-o/index.html | 111 -- .../-r-e-a-c-t-i-o-n_-v-i-d-e-o/index.html | 111 -- .../-team-media-type/-r-e-c-o-r-d/index.html | 111 -- .../-team-media-type/-s-c-r-e-e-n/index.html | 111 -- .../-team-media-type/index.html | 239 --- .../-team-media-type/value-of.html | 72 - .../-team-media-type/values.html | 72 - .../-verdict-serializer.html | 72 - .../-verdict-serializer/descriptor.html | 72 - .../-verdict-serializer/deserialize.html | 72 - .../-verdict-serializer/index.html | 149 -- .../-verdict-serializer/serialize.html | 72 - .../-verdict/-accepted/index.html | 145 -- .../-verdict/-challenged/index.html | 145 -- .../-verdict/-companion/all.html | 72 - .../-verdict/-companion/index.html | 115 -- .../-verdict/-companion/lookup.html | 72 - .../index.html | 145 -- .../-verdict/-compilation-error/index.html | 145 -- .../-verdict/-fail/index.html | 145 -- .../-idleness-limit-exceeded/index.html | 145 -- .../-verdict/-ignored/index.html | 145 -- .../-memory-limit-exceeded/index.html | 145 -- .../-output-limit-exceeded/index.html | 145 -- .../-verdict/-presentation-error/index.html | 145 -- .../-verdict/-rejected/index.html | 145 -- .../-verdict/-runtime-error/index.html | 145 -- .../-verdict/-security-violation/index.html | 145 -- .../-verdict/-time-limit-exceeded/index.html | 145 -- .../-verdict/-wrong-answer/index.html | 145 -- .../org.icpclive.api/-verdict/index.html | 389 ----- .../-verdict/is-accepted.html | 72 - .../-verdict/is-adding-penalty.html | 72 - .../org.icpclive.api/-verdict/short-name.html | 72 - .../-verdict/to-run-result.html | 72 - .../org.icpclive.api/index.html | 534 ------- .../org.icpclive.api/to-group-infos.html | 72 - .../-advanced-properties-adapter/index.html | 76 - .../-contest-event-with-grouped-runs.html | 72 - .../event.html | 72 - .../index.html | 160 -- .../info-after-event.html | 72 - .../info-before-event.html | 72 - .../runs.html | 72 - .../-contest-event-with-runs-before.html | 72 - .../event.html | 72 - .../index.html | 160 -- .../info-after-event.html | 72 - .../info-before-event.html | 72 - .../-contest-event-with-runs-before/runs.html | 72 - .../-contest-state-with-grouped-runs.html | 72 - .../index.html | 130 -- .../info.html | 72 - .../runs.html | 72 - .../-contest-state-with-runs-by-team.html | 72 - .../index.html | 130 -- .../info.html | 72 - .../runs.html | 72 - .../add-first-to-solves.html | 72 - .../apply-advanced-properties.html | 72 - .../calculate-score-differences.html | 72 - .../filter-useless.html | 72 - .../org.icpclive.cds.adapters/index.html | 339 ----- .../process-hidden-teams-and-groups.html | 72 - .../remove-frozen-submissions.html | 72 - .../state-grouped-by-team.html | 72 - .../state-with-grouped-runs.html | 72 - .../org.icpclive.cds.adapters/update.html | 72 - .../with-contest-info-before.html | 72 - .../with-grouped-runs.html | 72 - .../with-runs-before.html | 72 - .../org.icpclive.cds.common/index.html | 95 -- .../set-allow-unsecure-connections.html | 72 - .../-c-d-s-settings/emulation.html | 72 - .../-c-d-s-settings/index.html | 130 -- .../-c-d-s-settings/to-flow.html | 72 - .../-c-d-s-settings/to-string.html | 72 - .../-c-f-settings/-c-f-settings.html | 72 - .../-c-f-settings/api-key.html | 72 - .../-c-f-settings/api-secret.html | 72 - .../-c-f-settings/as-manager.html | 72 - .../-c-f-settings/contest-id.html | 72 - .../-c-f-settings/emulation.html | 72 - .../-c-f-settings/index.html | 209 --- .../-cats-settings/-cats-settings.html | 72 - .../-cats-settings/cid.html | 72 - .../-cats-settings/emulation.html | 72 - .../-cats-settings/index.html | 239 --- .../-cats-settings/login.html | 72 - .../-cats-settings/password.html | 72 - .../-cats-settings/result-type.html | 72 - .../-cats-settings/time-zone.html | 72 - .../-cats-settings/url.html | 72 - .../-clics-loader-settings.html | 72 - .../event-feed-name.html | 72 - .../-clics-loader-settings/feed-version.html | 72 - .../-clics-loader-settings/index.html | 175 --- .../-clics-loader-settings/login.html | 72 - .../-clics-loader-settings/password.html | 72 - .../-clics-loader-settings/url.html | 72 - .../-clics-settings/-clics-settings.html | 72 - .../-clics-settings/additional-feed.html | 72 - .../-clics-settings/emulation.html | 72 - .../-clics-settings/index.html | 209 --- .../-clics-settings/main-feed.html | 72 - .../-clics-settings/media-base-url.html | 72 - .../-clics-settings/use-team-names.html | 72 - .../-code-drills-settings.html | 72 - .../-code-drills-settings/auth-key.html | 72 - .../-code-drills-settings/contest-id.html | 72 - .../-code-drills-settings/emulation.html | 72 - .../-code-drills-settings/index.html | 209 --- .../-code-drills-settings/port.html | 72 - .../-code-drills-settings/url.html | 72 - .../-credential/-credential.html | 72 - .../-credential/get.html | 72 - .../-credential/index.html | 115 -- .../-ejudge-settings/-ejudge-settings.html | 72 - .../-ejudge-settings/emulation.html | 72 - .../-ejudge-settings/index.html | 179 --- .../-ejudge-settings/result-type.html | 72 - .../-ejudge-settings/url.html | 72 - .../-emulation-settings.html | 72 - .../-emulation-settings/index.html | 130 -- .../-emulation-settings/speed.html | 72 - .../-emulation-settings/start-time.html | 72 - .../-k-r-s-u-settings/-k-r-s-u-settings.html | 72 - .../-k-r-s-u-settings/contest-url.html | 72 - .../-k-r-s-u-settings/emulation.html | 72 - .../-k-r-s-u-settings/index.html | 194 --- .../-k-r-s-u-settings/submissions-url.html | 72 - .../-k-r-s-u-settings/time-zone.html | 72 - .../-noop-settings/-noop-settings.html | 72 - .../-noop-settings/emulation.html | 72 - .../-noop-settings/index.html | 149 -- .../-p-c-m-s-settings/-p-c-m-s-settings.html | 72 - .../-p-c-m-s-settings/emulation.html | 72 - .../-p-c-m-s-settings/index.html | 224 --- .../-p-c-m-s-settings/login.html | 72 - .../-p-c-m-s-settings/password.html | 72 - .../-p-c-m-s-settings/problems-url.html | 72 - .../-p-c-m-s-settings/result-type.html | 72 - .../-p-c-m-s-settings/url.html | 72 - .../-test-sys-settings.html | 72 - .../-test-sys-settings/emulation.html | 72 - .../-test-sys-settings/index.html | 179 --- .../-test-sys-settings/time-zone.html | 72 - .../-test-sys-settings/url.html | 72 - .../-yandex-settings/-yandex-settings.html | 72 - .../-yandex-settings/api-key.html | 72 - .../-yandex-settings/contest-id.html | 72 - .../-yandex-settings/emulation.html | 72 - .../-yandex-settings/index.html | 209 --- .../-yandex-settings/login-regex.html | 72 - .../-yandex-settings/result-type.html | 72 - .../org.icpclive.cds.settings/index.html | 309 ---- .../parse-file-to-cds-settings.html | 72 - .../-analytics-update/-analytics-update.html | 72 - .../-analytics-update/index.html | 115 -- .../-analytics-update/message.html | 72 - .../-contest-update/index.html | 76 - .../-info-update/-info-update.html | 72 - .../org.icpclive.cds/-info-update/index.html | 115 -- .../-info-update/new-info.html | 72 - .../-run-update/-run-update.html | 72 - .../org.icpclive.cds/-run-update/index.html | 115 -- .../-run-update/new-info.html | 72 - .../org.icpclive.cds/index.html | 140 -- .../get-scoreboard.html | 72 - .../-scoreboard-calculator/index.html | 96 -- .../calculate-scoreboard-with-info.html | 72 - .../calculate-scoreboard.html | 72 - .../get-scoreboard-calculator.html | 72 - .../org.icpclive.scoreboard/index.html | 144 -- .../package-list | 453 ------ docs/cds/images/anchor-copy-button.svg | 4 - docs/cds/images/arrow_down.svg | 3 - docs/cds/images/copy-icon.svg | 3 - docs/cds/images/copy-successful-icon.svg | 3 - docs/cds/images/footer-go-to-link.svg | 3 - docs/cds/images/go-to-top-icon.svg | 4 - docs/cds/images/logo-icon.svg | 10 - .../nav-icons/abstract-class-kotlin.svg | 22 - docs/cds/images/nav-icons/abstract-class.svg | 20 - .../images/nav-icons/annotation-kotlin.svg | 9 - docs/cds/images/nav-icons/annotation.svg | 7 - docs/cds/images/nav-icons/class-kotlin.svg | 9 - docs/cds/images/nav-icons/class.svg | 7 - docs/cds/images/nav-icons/enum-kotlin.svg | 9 - docs/cds/images/nav-icons/enum.svg | 7 - docs/cds/images/nav-icons/exception-class.svg | 7 - docs/cds/images/nav-icons/field-value.svg | 6 - docs/cds/images/nav-icons/field-variable.svg | 6 - docs/cds/images/nav-icons/function.svg | 7 - .../cds/images/nav-icons/interface-kotlin.svg | 9 - docs/cds/images/nav-icons/interface.svg | 7 - docs/cds/images/nav-icons/object.svg | 9 - docs/cds/images/theme-toggle.svg | 4 - docs/cds/index.html | 199 --- docs/cds/navigation.html | 412 ------ docs/cds/scripts/clipboard.js | 52 - docs/cds/scripts/main.js | 44 - docs/cds/scripts/navigation-loader.js | 91 -- docs/cds/scripts/pages.json | 1 - docs/cds/scripts/platform-content-handler.js | 383 ----- docs/cds/scripts/prism.js | 22 - docs/cds/scripts/sourceset_dependencies.js | 1 - .../symbol-parameters-wrapper_deferred.js | 83 -- docs/cds/styles/jetbrains-mono.css | 17 - docs/cds/styles/logo-styles.css | 15 - docs/cds/styles/main.css | 118 -- docs/cds/styles/prism.css | 213 --- docs/cds/styles/style.css | 1307 ----------------- src/cds/build.gradle.kts | 2 +- 482 files changed, 2 insertions(+), 45626 deletions(-) delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/-advanced-properties.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/freeze-time.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/group-overrides.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/hold-time.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/organization-overrides.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/problem-overrides.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/scoreboard-overrides.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/start-time.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/team-media-template.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/team-override-template.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/team-overrides.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/team-regexes.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-group-info-override/-group-info-override.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-group-info-override/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-group-info-override/is-hidden.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-group-info-override/is-out-of-contest.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-organization-info-override/-organization-info-override.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-organization-info-override/display-name.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-organization-info-override/full-name.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-organization-info-override/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/-problem-info-override.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/color.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/max-score.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/min-score.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/name.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/ordinal.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/score-merge-mode.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-ranking-settings/-ranking-settings.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-ranking-settings/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-ranking-settings/medals.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-ranking-settings/penalty-per-wrong-attempt.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-ranking-settings/penalty-rounding-mode.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-ranking-settings/show-teams-without-submissions.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/-team-info-override.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/custom-fields.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/display-name.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/full-name.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/groups.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/hash-tag.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/is-hidden.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/is-out-of-contest.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/medias.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/organization-id.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-override-template/-team-override-template.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-override-template/display-name.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-override-template/full-name.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-override-template/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-override-template/medias.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-regex-overrides/-team-regex-overrides.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-regex-overrides/custom-fields.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-regex-overrides/group-regex.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-regex-overrides/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-regex-overrides/organization-regex.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/to-advanced-properties.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/-analytics-commentary-event.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/advertisement.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/featured-run.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/id.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/message.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/priority.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/relative-time.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/run-ids.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/tags.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/team-ids.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/ticker-message.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/time.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-companion-preset/-analytics-companion-preset.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-companion-preset/expiration-time.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-companion-preset/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-companion-preset/preset-id.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-companion-run/-analytics-companion-run.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-companion-run/expiration-time.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-companion-run/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-companion-run/media-type.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-message/id.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-message/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-message/relative-time.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-message/time.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/-contest-info.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/contest-length.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/current-contest-time.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/emulation-speed.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/freeze-time.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/group-by-id.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/groups.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/hold-before-start-time.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/medals.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/name.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/organizations.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/penalty-per-wrong-attempt.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/penalty-rounding-mode.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/problems.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/result-type.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/start-time.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/status.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/teams.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-result-type/-i-c-p-c/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-result-type/-i-o-i/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-result-type/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-result-type/value-of.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-result-type/values.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-status/-b-e-f-o-r-e/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-status/-o-v-e-r/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-status/-r-u-n-n-i-n-g/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-status/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-status/value-of.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-status/values.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-group-info/-group-info.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-group-info/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-group-info/is-hidden.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-group-info/is-out-of-contest.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-group-info/name.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-problem-result/-i-c-p-c-problem-result.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-problem-result/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-problem-result/is-first-to-solve.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-problem-result/is-solved.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-problem-result/last-submit-time.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-problem-result/pending-attempts.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-problem-result/wrong-attempts.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-run-result/-i-c-p-c-run-result.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-run-result/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-run-result/is-first-to-solve-run.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-run-result/verdict.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-problem-result/-i-o-i-problem-result.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-problem-result/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-problem-result/is-first-best.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-problem-result/last-submit-time.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-problem-result/score.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-run-result/-i-o-i-run-result.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-run-result/difference.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-run-result/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-run-result/is-first-best-run.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-run-result/is-first-best-team-run.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-run-result/score-after.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-run-result/score.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-run-result/wrong-verdict.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-medal-tiebreak-mode/-a-l-l/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-medal-tiebreak-mode/-n-o-n-e/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-medal-tiebreak-mode/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-medal-tiebreak-mode/value-of.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-medal-tiebreak-mode/values.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-medal-type/-medal-type.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-medal-type/count.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-medal-type/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-medal-type/min-score.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-medal-type/name.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-medal-type/tiebreak-mode.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-object/-object.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-object/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-object/is-media.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-object/url.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-photo/-photo.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-photo/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-photo/is-media.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-photo/url.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-task-status/-task-status.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-task-status/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-task-status/is-media.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-task-status/team-id.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-video/-video.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-video/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-video/is-media.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-video/url.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/-web-r-t-c-grabber-connection.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/credential.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/is-media.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/peer-name.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/stream-type.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/url.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/-web-r-t-c-proxy-connection.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/audio-url.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/is-media.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/url.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/is-media.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/no-media.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-optimism-level/-n-o-r-m-a-l/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-optimism-level/-o-p-t-i-m-i-s-t-i-c/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-optimism-level/-p-e-s-s-i-m-i-s-t-i-c/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-optimism-level/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-optimism-level/value-of.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-optimism-level/values.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-organization-info/-organization-info.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-organization-info/cds-id.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-organization-info/display-name.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-organization-info/full-name.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-organization-info/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/-e-a-c-h_-s-u-b-m-i-s-s-i-o-n_-d-o-w-n_-t-o_-m-i-n-u-t-e/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/-l-a-s-t/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/-s-u-m_-d-o-w-n_-t-o_-m-i-n-u-t-e/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/-s-u-m_-i-n_-s-e-c-o-n-d-s/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/-z-e-r-o/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/value-of.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/values.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/-companion/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/-companion/logger.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/-problem-info.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/color.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/contest-system-id.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/id.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/letter.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/max-score.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/min-score.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/name.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/ordinal.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/score-merge-mode.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-result/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/-run-info.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/featured-run-media.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/id.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/is-hidden.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/percentage.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/problem-id.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/reaction-videos.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/result.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/team-id.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/time.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-run-result/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/-l-a-s-t/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/-l-a-s-t_-o-k/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/-m-a-x_-p-e-r_-g-r-o-u-p/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/-m-a-x_-t-o-t-a-l/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/-s-u-m/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/value-of.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/values.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/-scoreboard-row.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/champion-in-groups.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/last-accepted.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/medal-type.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/penalty.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/problem-results.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/rank.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/team-groups.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/team-id.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/total-score.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard/-scoreboard.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard/last-submit-time.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard/rows.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/-team-info.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/contest-system-id.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/custom-fields.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/display-name.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/full-name.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/groups.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/hash-tag.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/id.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/is-hidden.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/is-out-of-contest.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/medias.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/organization-id.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/-a-c-h-i-e-v-e-m-e-n-t/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/-c-a-m-e-r-a/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/-p-h-o-t-o/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/-r-e-a-c-t-i-o-n_-v-i-d-e-o/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/-r-e-c-o-r-d/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/-s-c-r-e-e-n/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/value-of.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/values.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict-serializer/-verdict-serializer.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict-serializer/descriptor.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict-serializer/deserialize.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict-serializer/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict-serializer/serialize.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-accepted/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-challenged/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-companion/all.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-companion/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-companion/lookup.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-compilation-error-with-penalty/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-compilation-error/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-fail/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-idleness-limit-exceeded/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-ignored/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-memory-limit-exceeded/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-output-limit-exceeded/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-presentation-error/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-rejected/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-runtime-error/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-security-violation/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-time-limit-exceeded/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-wrong-answer/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/is-accepted.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/is-adding-penalty.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/short-name.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/to-run-result.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/to-group-infos.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-advanced-properties-adapter/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/-contest-event-with-grouped-runs.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/event.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/info-after-event.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/info-before-event.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/runs.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-runs-before/-contest-event-with-runs-before.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-runs-before/event.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-runs-before/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-runs-before/info-after-event.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-runs-before/info-before-event.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-runs-before/runs.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-state-with-grouped-runs/-contest-state-with-grouped-runs.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-state-with-grouped-runs/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-state-with-grouped-runs/info.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-state-with-grouped-runs/runs.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-state-with-runs-by-team/-contest-state-with-runs-by-team.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-state-with-runs-by-team/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-state-with-runs-by-team/info.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-state-with-runs-by-team/runs.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/add-first-to-solves.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/apply-advanced-properties.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/calculate-score-differences.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/filter-useless.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/process-hidden-teams-and-groups.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/remove-frozen-submissions.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/state-grouped-by-team.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/state-with-grouped-runs.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/update.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/with-contest-info-before.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/with-grouped-runs.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/with-runs-before.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.common/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.common/set-allow-unsecure-connections.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-d-s-settings/emulation.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-d-s-settings/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-d-s-settings/to-flow.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-d-s-settings/to-string.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-f-settings/-c-f-settings.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-f-settings/api-key.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-f-settings/api-secret.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-f-settings/as-manager.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-f-settings/contest-id.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-f-settings/emulation.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-f-settings/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/-cats-settings.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/cid.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/emulation.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/login.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/password.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/result-type.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/time-zone.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/url.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/-clics-loader-settings.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/event-feed-name.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/feed-version.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/login.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/password.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/url.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/-clics-settings.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/additional-feed.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/emulation.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/main-feed.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/media-base-url.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/use-team-names.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-code-drills-settings/-code-drills-settings.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-code-drills-settings/auth-key.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-code-drills-settings/contest-id.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-code-drills-settings/emulation.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-code-drills-settings/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-code-drills-settings/port.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-code-drills-settings/url.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-credential/-credential.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-credential/get.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-credential/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/-ejudge-settings.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/emulation.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/result-type.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/url.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-emulation-settings/-emulation-settings.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-emulation-settings/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-emulation-settings/speed.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-emulation-settings/start-time.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-k-r-s-u-settings/-k-r-s-u-settings.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-k-r-s-u-settings/contest-url.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-k-r-s-u-settings/emulation.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-k-r-s-u-settings/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-k-r-s-u-settings/submissions-url.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-k-r-s-u-settings/time-zone.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-noop-settings/-noop-settings.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-noop-settings/emulation.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-noop-settings/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/-p-c-m-s-settings.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/emulation.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/login.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/password.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/problems-url.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/result-type.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/url.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-test-sys-settings/-test-sys-settings.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-test-sys-settings/emulation.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-test-sys-settings/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-test-sys-settings/time-zone.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-test-sys-settings/url.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/-yandex-settings.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/api-key.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/contest-id.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/emulation.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/login-regex.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/result-type.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/parse-file-to-cds-settings.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds/-analytics-update/-analytics-update.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds/-analytics-update/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds/-analytics-update/message.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds/-contest-update/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds/-info-update/-info-update.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds/-info-update/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds/-info-update/new-info.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds/-run-update/-run-update.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds/-run-update/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds/-run-update/new-info.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.scoreboard/-scoreboard-calculator/get-scoreboard.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.scoreboard/-scoreboard-calculator/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.scoreboard/calculate-scoreboard-with-info.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.scoreboard/calculate-scoreboard.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.scoreboard/get-scoreboard-calculator.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/org.icpclive.scoreboard/index.html delete mode 100644 docs/cds/-i-c-p-c-live contest data parser/package-list delete mode 100644 docs/cds/images/anchor-copy-button.svg delete mode 100644 docs/cds/images/arrow_down.svg delete mode 100644 docs/cds/images/copy-icon.svg delete mode 100644 docs/cds/images/copy-successful-icon.svg delete mode 100644 docs/cds/images/footer-go-to-link.svg delete mode 100644 docs/cds/images/go-to-top-icon.svg delete mode 100644 docs/cds/images/logo-icon.svg delete mode 100644 docs/cds/images/nav-icons/abstract-class-kotlin.svg delete mode 100644 docs/cds/images/nav-icons/abstract-class.svg delete mode 100644 docs/cds/images/nav-icons/annotation-kotlin.svg delete mode 100644 docs/cds/images/nav-icons/annotation.svg delete mode 100644 docs/cds/images/nav-icons/class-kotlin.svg delete mode 100644 docs/cds/images/nav-icons/class.svg delete mode 100644 docs/cds/images/nav-icons/enum-kotlin.svg delete mode 100644 docs/cds/images/nav-icons/enum.svg delete mode 100644 docs/cds/images/nav-icons/exception-class.svg delete mode 100644 docs/cds/images/nav-icons/field-value.svg delete mode 100644 docs/cds/images/nav-icons/field-variable.svg delete mode 100644 docs/cds/images/nav-icons/function.svg delete mode 100644 docs/cds/images/nav-icons/interface-kotlin.svg delete mode 100644 docs/cds/images/nav-icons/interface.svg delete mode 100644 docs/cds/images/nav-icons/object.svg delete mode 100644 docs/cds/images/theme-toggle.svg delete mode 100644 docs/cds/index.html delete mode 100644 docs/cds/navigation.html delete mode 100644 docs/cds/scripts/clipboard.js delete mode 100644 docs/cds/scripts/main.js delete mode 100644 docs/cds/scripts/navigation-loader.js delete mode 100644 docs/cds/scripts/pages.json delete mode 100644 docs/cds/scripts/platform-content-handler.js delete mode 100644 docs/cds/scripts/prism.js delete mode 100644 docs/cds/scripts/sourceset_dependencies.js delete mode 100644 docs/cds/scripts/symbol-parameters-wrapper_deferred.js delete mode 100644 docs/cds/styles/jetbrains-mono.css delete mode 100644 docs/cds/styles/logo-styles.css delete mode 100644 docs/cds/styles/main.css delete mode 100644 docs/cds/styles/prism.css delete mode 100644 docs/cds/styles/style.css diff --git a/.github/workflows/dokka-gh-pages.yml b/.github/workflows/dokka-gh-pages.yml index 446637b83..16b125497 100644 --- a/.github/workflows/dokka-gh-pages.yml +++ b/.github/workflows/dokka-gh-pages.yml @@ -33,7 +33,7 @@ jobs: - name: Build with Dokka uses: gradle/gradle-build-action@v2 with: - arguments: dokkaHtml -i + arguments: doc -i - name: Upload artifact uses: actions/upload-pages-artifact@v2 diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/-advanced-properties.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/-advanced-properties.html deleted file mode 100644 index ac7f84a24..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/-advanced-properties.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - AdvancedProperties - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

AdvancedProperties

-
-
constructor(startTime: Instant? = null, freezeTime: Duration? = null, holdTime: Duration? = null, teamMediaTemplate: Map<TeamMediaType, MediaType?>? = null, teamOverrideTemplate: TeamOverrideTemplate? = null, teamRegexes: TeamRegexOverrides? = null, teamOverrides: Map<String, TeamInfoOverride>? = null, groupOverrides: Map<String, GroupInfoOverride>? = null, organizationOverrides: Map<String, OrganizationInfoOverride>? = null, problemOverrides: Map<String, ProblemInfoOverride>? = null, scoreboardOverrides: RankingSettings? = null)(source)

Parameters

startTime

Override for contest start time. The preferred format is yyyy-mm-dd hh:mm:ss, but some others would be accepted too. startTime override also can affect contest state.

freezeTime

Time from the start of the contest before scoreboard freezing.

holdTime

Fixed time to show as time before the contest start

teamMediaTemplate

Template medias for all teams.

teamOverrideTemplate

Template for team overrides

teamRegexes

Bunch of regexes to extract information cds doesn't provide from team name.

teamOverrides

Overrides for a specific team. Team id from the contest system is key.

groupOverrides

Overrides for specific groups. Group name is key.

problemOverrides

Overrides for specific problems. Problem letter is key.

scoreboardOverrides

Overrides of scoreboard calculation settings

-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/freeze-time.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/freeze-time.html deleted file mode 100644 index c7d3905d2..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/freeze-time.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - freezeTime - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

freezeTime

-
-
@Serializable(with = DurationInSecondsSerializer::class)
val freezeTime: Duration? = null(source)

Parameters

freezeTime

Time from the start of the contest before scoreboard freezing.

-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/group-overrides.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/group-overrides.html deleted file mode 100644 index 882ef2cd8..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/group-overrides.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - groupOverrides - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

groupOverrides

-
-

Parameters

groupOverrides

Overrides for specific groups. Group name is key.

-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/hold-time.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/hold-time.html deleted file mode 100644 index 2513c366b..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/hold-time.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - holdTime - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

holdTime

-
-
@Serializable(with = DurationInSecondsSerializer::class)
val holdTime: Duration? = null(source)

Parameters

holdTime

Fixed time to show as time before the contest start

-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/index.html deleted file mode 100644 index f5f1d3bf3..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/index.html +++ /dev/null @@ -1,265 +0,0 @@ - - - - - AdvancedProperties - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

AdvancedProperties

-
@Serializable
data class AdvancedProperties(val startTime: Instant? = null, val freezeTime: Duration? = null, val holdTime: Duration? = null, val teamMediaTemplate: Map<TeamMediaType, MediaType?>? = null, val teamOverrideTemplate: TeamOverrideTemplate? = null, val teamRegexes: TeamRegexOverrides? = null, val teamOverrides: Map<String, TeamInfoOverride>? = null, val groupOverrides: Map<String, GroupInfoOverride>? = null, val organizationOverrides: Map<String, OrganizationInfoOverride>? = null, val problemOverrides: Map<String, ProblemInfoOverride>? = null, val scoreboardOverrides: RankingSettings? = null)(source)

This class represents possible contest configuration overrides.

Ideally, all this information should be received from the contest system. Unfortunately, in the real world, it's not always possible, or information can be not fully correct or convenient to display.

This class contains the data to be fixed in what is received from a contest system.

The order in which overrides applied:

  • Time and scoreboard related (they don't interact with others)

  • Filtering out non-submitted teams if requested

  • Regexp overrides (so values provided by them can be used in templated)

  • Creating new groups mentioned in teams or overrides and group overrides

  • Creating new organizations mentioned in teams or overrides and organization overrides

  • (Deprecated) Team media template

  • Team override template

  • Normal team overrides

In all templates in all strings inside {variableName} pattern is substituted. The following variable names are supported:

  • teamId - team id from the contest system

  • orgFullName - fullName of team organization

  • orgDisplayName - displayName of team organization

  • all values from customFields

Parameters

startTime

Override for contest start time. The preferred format is yyyy-mm-dd hh:mm:ss, but some others would be accepted too. startTime override also can affect contest state.

freezeTime

Time from the start of the contest before scoreboard freezing.

holdTime

Fixed time to show as time before the contest start

teamMediaTemplate

Template medias for all teams.

teamOverrideTemplate

Template for team overrides

teamRegexes

Bunch of regexes to extract information cds doesn't provide from team name.

teamOverrides

Overrides for a specific team. Team id from the contest system is key.

groupOverrides

Overrides for specific groups. Group name is key.

problemOverrides

Overrides for specific problems. Problem letter is key.

scoreboardOverrides

Overrides of scoreboard calculation settings

-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(startTime: Instant? = null, freezeTime: Duration? = null, holdTime: Duration? = null, teamMediaTemplate: Map<TeamMediaType, MediaType?>? = null, teamOverrideTemplate: TeamOverrideTemplate? = null, teamRegexes: TeamRegexOverrides? = null, teamOverrides: Map<String, TeamInfoOverride>? = null, groupOverrides: Map<String, GroupInfoOverride>? = null, organizationOverrides: Map<String, OrganizationInfoOverride>? = null, problemOverrides: Map<String, ProblemInfoOverride>? = null, scoreboardOverrides: RankingSettings? = null)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable(with = DurationInSecondsSerializer::class)
val freezeTime: Duration? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable(with = DurationInSecondsSerializer::class)
val holdTime: Duration? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
- -
-
- -
-
-
- - -
Link copied to clipboard
-
- -
-
- -
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable(with = HumanTimeSerializer::class)
val startTime: Instant? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
- -
-
-
- - -
Link copied to clipboard
-
- -
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/organization-overrides.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/organization-overrides.html deleted file mode 100644 index dc062a1d5..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/organization-overrides.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - organizationOverrides - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

organizationOverrides

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/problem-overrides.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/problem-overrides.html deleted file mode 100644 index 85352b12d..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/problem-overrides.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - problemOverrides - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

problemOverrides

-
-

Parameters

problemOverrides

Overrides for specific problems. Problem letter is key.

-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/scoreboard-overrides.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/scoreboard-overrides.html deleted file mode 100644 index dc08aff8e..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/scoreboard-overrides.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - scoreboardOverrides - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

scoreboardOverrides

-
-

Parameters

scoreboardOverrides

Overrides of scoreboard calculation settings

-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/start-time.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/start-time.html deleted file mode 100644 index 532aa4da1..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/start-time.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - startTime - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

startTime

-
-
@Serializable(with = HumanTimeSerializer::class)
val startTime: Instant? = null(source)

Parameters

startTime

Override for contest start time. The preferred format is yyyy-mm-dd hh:mm:ss, but some others would be accepted too. startTime override also can affect contest state.

-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/team-media-template.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/team-media-template.html deleted file mode 100644 index 8cc3f3ada..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/team-media-template.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - teamMediaTemplate - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

teamMediaTemplate

-
-

Deprecated

Use teamOverrideTemplate instead

Parameters

teamMediaTemplate

Template medias for all teams.

-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/team-override-template.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/team-override-template.html deleted file mode 100644 index 1f53e502d..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/team-override-template.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - teamOverrideTemplate - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

teamOverrideTemplate

-
-

Parameters

teamOverrideTemplate

Template for team overrides

-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/team-overrides.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/team-overrides.html deleted file mode 100644 index 0b7b5d1a9..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/team-overrides.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - teamOverrides - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

teamOverrides

-
-

Parameters

teamOverrides

Overrides for a specific team. Team id from the contest system is key.

-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/team-regexes.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/team-regexes.html deleted file mode 100644 index 283030ea0..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/team-regexes.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - teamRegexes - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

teamRegexes

-
-

Parameters

teamRegexes

Bunch of regexes to extract information cds doesn't provide from team name.

-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-group-info-override/-group-info-override.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-group-info-override/-group-info-override.html deleted file mode 100644 index 2cda5fa35..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-group-info-override/-group-info-override.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - GroupInfoOverride - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

GroupInfoOverride

-
-
constructor(isHidden: Boolean? = null, isOutOfContest: Boolean? = null)(source)

Parameters

isHidden

Totally hide all teams from this group

isOutOfContest

Teams from this group will be visible everywhere, but will not have any rank assigned to them in leaderboard

-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-group-info-override/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-group-info-override/index.html deleted file mode 100644 index bca2784e0..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-group-info-override/index.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - GroupInfoOverride - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

GroupInfoOverride

-
@Serializable
data class GroupInfoOverride(val isHidden: Boolean? = null, val isOutOfContest: Boolean? = null)(source)

Parameters

isHidden

Totally hide all teams from this group

isOutOfContest

Teams from this group will be visible everywhere, but will not have any rank assigned to them in leaderboard

-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(isHidden: Boolean? = null, isOutOfContest: Boolean? = null)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
val isHidden: Boolean? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val isOutOfContest: Boolean? = null
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-group-info-override/is-hidden.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-group-info-override/is-hidden.html deleted file mode 100644 index a3a54d016..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-group-info-override/is-hidden.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - isHidden - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

isHidden

-
-
val isHidden: Boolean? = null(source)

Parameters

isHidden

Totally hide all teams from this group

-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-group-info-override/is-out-of-contest.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-group-info-override/is-out-of-contest.html deleted file mode 100644 index 22e3ca9fe..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-group-info-override/is-out-of-contest.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - isOutOfContest - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

isOutOfContest

-
-

Parameters

isOutOfContest

Teams from this group will be visible everywhere, but will not have any rank assigned to them in leaderboard

-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-organization-info-override/-organization-info-override.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-organization-info-override/-organization-info-override.html deleted file mode 100644 index b476aefc2..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-organization-info-override/-organization-info-override.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - OrganizationInfoOverride - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

OrganizationInfoOverride

-
-
constructor(displayName: String? = null, fullName: String? = null)(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-organization-info-override/display-name.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-organization-info-override/display-name.html deleted file mode 100644 index 0820f9074..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-organization-info-override/display-name.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - displayName - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

displayName

-
-
val displayName: String? = null(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-organization-info-override/full-name.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-organization-info-override/full-name.html deleted file mode 100644 index 7ff41ccf0..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-organization-info-override/full-name.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - fullName - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

fullName

-
-
val fullName: String? = null(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-organization-info-override/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-organization-info-override/index.html deleted file mode 100644 index 6b286661a..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-organization-info-override/index.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - OrganizationInfoOverride - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

OrganizationInfoOverride

-
@Serializable
data class OrganizationInfoOverride(val displayName: String? = null, val fullName: String? = null)(source)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(displayName: String? = null, fullName: String? = null)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
val displayName: String? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val fullName: String? = null
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/-problem-info-override.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/-problem-info-override.html deleted file mode 100644 index e6f4292c7..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/-problem-info-override.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - ProblemInfoOverride - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ProblemInfoOverride

-
-
constructor(name: String? = null, color: Color? = null, ordinal: Int? = null, minScore: Double? = null, maxScore: Double? = null, scoreMergeMode: ScoreMergeMode? = null)(source)

Parameters

name

Problem name.

color

Color of a problem balloon. It would be shown in queue and scoreboard in places related to the problem

ordinal

Number to sort problems in the scoreboard

minScore

In ioi mode minimal possible value of points in this problem

maxScore

In ioi mode maximal possible value of points in this problem

scoreMergeMode

In ioi mode, select the ruleset to calculate final score based on the scores for each submission.

-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/color.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/color.html deleted file mode 100644 index 4f2586d2f..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/color.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - color - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

color

-
-
@Serializable(with = ColorSerializer::class)
val color: Color? = null(source)

Parameters

color

Color of a problem balloon. It would be shown in queue and scoreboard in places related to the problem

-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/index.html deleted file mode 100644 index 49086f8e3..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/index.html +++ /dev/null @@ -1,190 +0,0 @@ - - - - - ProblemInfoOverride - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ProblemInfoOverride

-
@Serializable
data class ProblemInfoOverride(val name: String? = null, val color: Color? = null, val ordinal: Int? = null, val minScore: Double? = null, val maxScore: Double? = null, val scoreMergeMode: ScoreMergeMode? = null)(source)

Parameters

name

Problem name.

color

Color of a problem balloon. It would be shown in queue and scoreboard in places related to the problem

ordinal

Number to sort problems in the scoreboard

minScore

In ioi mode minimal possible value of points in this problem

maxScore

In ioi mode maximal possible value of points in this problem

scoreMergeMode

In ioi mode, select the ruleset to calculate final score based on the scores for each submission.

-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(name: String? = null, color: Color? = null, ordinal: Int? = null, minScore: Double? = null, maxScore: Double? = null, scoreMergeMode: ScoreMergeMode? = null)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable(with = ColorSerializer::class)
val color: Color? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val maxScore: Double? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val minScore: Double? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val name: String? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val ordinal: Int? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/max-score.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/max-score.html deleted file mode 100644 index c553e5d2c..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/max-score.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - maxScore - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

maxScore

-
-
val maxScore: Double? = null(source)

Parameters

maxScore

In ioi mode maximal possible value of points in this problem

-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/min-score.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/min-score.html deleted file mode 100644 index f13ab7750..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/min-score.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - minScore - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

minScore

-
-
val minScore: Double? = null(source)

Parameters

minScore

In ioi mode minimal possible value of points in this problem

-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/name.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/name.html deleted file mode 100644 index ce568a054..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/name.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - name - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

name

-
-
val name: String? = null(source)

Parameters

name

Problem name.

-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/ordinal.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/ordinal.html deleted file mode 100644 index 1730a9b83..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/ordinal.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - ordinal - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ordinal

-
-
val ordinal: Int? = null(source)

Parameters

ordinal

Number to sort problems in the scoreboard

-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/score-merge-mode.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/score-merge-mode.html deleted file mode 100644 index 9548657ff..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/score-merge-mode.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - scoreMergeMode - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

scoreMergeMode

-
-

Parameters

scoreMergeMode

In ioi mode, select the ruleset to calculate final score based on the scores for each submission.

-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-ranking-settings/-ranking-settings.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-ranking-settings/-ranking-settings.html deleted file mode 100644 index 0c36daa3a..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-ranking-settings/-ranking-settings.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - RankingSettings - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

RankingSettings

-
-
constructor(medals: List<MedalType>? = null, penaltyPerWrongAttempt: Duration? = null, showTeamsWithoutSubmissions: Boolean? = null, penaltyRoundingMode: PenaltyRoundingMode? = null)(source)

Parameters

medals

List of awarded medals. They would be allocated in given order, according to rules specified in MedalType

penaltyPerWrongAttempt

How many penalty minutes should be added to a team for a wrong attempt

showTeamsWithoutSubmissions

If true, teams without submissions would be automatically hidden

penaltyRoundingMode

Specify rules of how total penalty is calculated based on many submissions

-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-ranking-settings/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-ranking-settings/index.html deleted file mode 100644 index bebea3e64..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-ranking-settings/index.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - RankingSettings - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

RankingSettings

-
@Serializable
class RankingSettings(val medals: List<MedalType>? = null, val penaltyPerWrongAttempt: Duration? = null, val showTeamsWithoutSubmissions: Boolean? = null, val penaltyRoundingMode: PenaltyRoundingMode? = null)(source)

Parameters

medals

List of awarded medals. They would be allocated in given order, according to rules specified in MedalType

penaltyPerWrongAttempt

How many penalty minutes should be added to a team for a wrong attempt

showTeamsWithoutSubmissions

If true, teams without submissions would be automatically hidden

penaltyRoundingMode

Specify rules of how total penalty is calculated based on many submissions

-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(medals: List<MedalType>? = null, penaltyPerWrongAttempt: Duration? = null, showTeamsWithoutSubmissions: Boolean? = null, penaltyRoundingMode: PenaltyRoundingMode? = null)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
val medals: List<MedalType>? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable(with = DurationInMinutesSerializer::class)
val penaltyPerWrongAttempt: Duration? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
- -
-
- -
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-ranking-settings/medals.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-ranking-settings/medals.html deleted file mode 100644 index 19a974b13..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-ranking-settings/medals.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - medals - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

medals

-
-
val medals: List<MedalType>? = null(source)

Parameters

medals

List of awarded medals. They would be allocated in given order, according to rules specified in MedalType

-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-ranking-settings/penalty-per-wrong-attempt.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-ranking-settings/penalty-per-wrong-attempt.html deleted file mode 100644 index 409ca056a..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-ranking-settings/penalty-per-wrong-attempt.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - penaltyPerWrongAttempt - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

penaltyPerWrongAttempt

-
-
@Serializable(with = DurationInMinutesSerializer::class)
val penaltyPerWrongAttempt: Duration? = null(source)

Parameters

penaltyPerWrongAttempt

How many penalty minutes should be added to a team for a wrong attempt

-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-ranking-settings/penalty-rounding-mode.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-ranking-settings/penalty-rounding-mode.html deleted file mode 100644 index bff75a7df..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-ranking-settings/penalty-rounding-mode.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - penaltyRoundingMode - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

penaltyRoundingMode

-
-

Parameters

penaltyRoundingMode

Specify rules of how total penalty is calculated based on many submissions

-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-ranking-settings/show-teams-without-submissions.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-ranking-settings/show-teams-without-submissions.html deleted file mode 100644 index 9f947a7ca..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-ranking-settings/show-teams-without-submissions.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - showTeamsWithoutSubmissions - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

showTeamsWithoutSubmissions

-
-

Parameters

showTeamsWithoutSubmissions

If true, teams without submissions would be automatically hidden

-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/-team-info-override.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/-team-info-override.html deleted file mode 100644 index ae0fe6dae..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/-team-info-override.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - TeamInfoOverride - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

TeamInfoOverride

-
-
constructor(fullName: String? = null, displayName: String? = null, groups: List<String>? = null, organizationId: String? = null, hashTag: String? = null, medias: Map<TeamMediaType, MediaType?>? = null, customFields: Map<String, String>? = null, isHidden: Boolean? = null, isOutOfContest: Boolean? = null)(source)

Parameters

fullName

Full name of the team. Will be mostly shown on admin pages.

displayName

Name of the team shown in most places.

groups

The list of the groups team belongs too.

organizationId

The id of organization team comes from

hashTag

Team hashtag. Can be shown on some team related pages

medias

Map of urls to team related medias. E.g., team photo or some kind of video from workstation. If media is explicitly set to null, it would be removed if received from a contest system.

customFields

Map of custom values. They can be used in substitutions in templates.

isHidden

If set to true, the team would be totally hidden.

isOutOfContest

If set to true, the team would not receive rank in scoreboard, but it's submission would still be shown.

-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/custom-fields.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/custom-fields.html deleted file mode 100644 index 6659290c5..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/custom-fields.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - customFields - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

customFields

-
-

Parameters

customFields

Map of custom values. They can be used in substitutions in templates.

-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/display-name.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/display-name.html deleted file mode 100644 index d0ab94976..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/display-name.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - displayName - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

displayName

-
-
val displayName: String? = null(source)

Parameters

displayName

Name of the team shown in most places.

-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/full-name.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/full-name.html deleted file mode 100644 index df1bb1247..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/full-name.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - fullName - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

fullName

-
-
val fullName: String? = null(source)

Parameters

fullName

Full name of the team. Will be mostly shown on admin pages.

-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/groups.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/groups.html deleted file mode 100644 index 8238c4b99..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/groups.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - groups - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

groups

-
-
val groups: List<String>? = null(source)

Parameters

groups

The list of the groups team belongs too.

-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/hash-tag.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/hash-tag.html deleted file mode 100644 index 302395fc6..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/hash-tag.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - hashTag - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

hashTag

-
-
val hashTag: String? = null(source)

Parameters

hashTag

Team hashtag. Can be shown on some team related pages

-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/index.html deleted file mode 100644 index 07993deef..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/index.html +++ /dev/null @@ -1,235 +0,0 @@ - - - - - TeamInfoOverride - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

TeamInfoOverride

-
@Serializable
data class TeamInfoOverride(val fullName: String? = null, val displayName: String? = null, val groups: List<String>? = null, val organizationId: String? = null, val hashTag: String? = null, val medias: Map<TeamMediaType, MediaType?>? = null, val customFields: Map<String, String>? = null, val isHidden: Boolean? = null, val isOutOfContest: Boolean? = null)(source)

Parameters

fullName

Full name of the team. Will be mostly shown on admin pages.

displayName

Name of the team shown in most places.

groups

The list of the groups team belongs too.

organizationId

The id of organization team comes from

hashTag

Team hashtag. Can be shown on some team related pages

medias

Map of urls to team related medias. E.g., team photo or some kind of video from workstation. If media is explicitly set to null, it would be removed if received from a contest system.

customFields

Map of custom values. They can be used in substitutions in templates.

isHidden

If set to true, the team would be totally hidden.

isOutOfContest

If set to true, the team would not receive rank in scoreboard, but it's submission would still be shown.

-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(fullName: String? = null, displayName: String? = null, groups: List<String>? = null, organizationId: String? = null, hashTag: String? = null, medias: Map<TeamMediaType, MediaType?>? = null, customFields: Map<String, String>? = null, isHidden: Boolean? = null, isOutOfContest: Boolean? = null)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
val customFields: Map<String, String>? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val displayName: String? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val fullName: String? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val groups: List<String>? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val hashTag: String? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val isHidden: Boolean? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val isOutOfContest: Boolean? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val organizationId: String? = null
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/is-hidden.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/is-hidden.html deleted file mode 100644 index cdc438e93..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/is-hidden.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - isHidden - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

isHidden

-
-
val isHidden: Boolean? = null(source)

Parameters

isHidden

If set to true, the team would be totally hidden.

-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/is-out-of-contest.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/is-out-of-contest.html deleted file mode 100644 index fd5646535..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/is-out-of-contest.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - isOutOfContest - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

isOutOfContest

-
-

Parameters

isOutOfContest

If set to true, the team would not receive rank in scoreboard, but it's submission would still be shown.

-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/medias.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/medias.html deleted file mode 100644 index 0c87a06fb..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/medias.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - medias - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

medias

-
-

Parameters

medias

Map of urls to team related medias. E.g., team photo or some kind of video from workstation. If media is explicitly set to null, it would be removed if received from a contest system.

-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/organization-id.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/organization-id.html deleted file mode 100644 index 41c87a7b2..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/organization-id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - organizationId - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

organizationId

-
-

Parameters

organizationId

The id of organization team comes from

-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-override-template/-team-override-template.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-override-template/-team-override-template.html deleted file mode 100644 index 55c8fa1c4..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-override-template/-team-override-template.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - TeamOverrideTemplate - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

TeamOverrideTemplate

-
-
constructor(displayName: String? = null, fullName: String? = null, medias: Map<TeamMediaType, MediaType?>? = null)(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-override-template/display-name.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-override-template/display-name.html deleted file mode 100644 index c77b62cab..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-override-template/display-name.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - displayName - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

displayName

-
-
val displayName: String? = null(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-override-template/full-name.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-override-template/full-name.html deleted file mode 100644 index 79908fc6e..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-override-template/full-name.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - fullName - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

fullName

-
-
val fullName: String? = null(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-override-template/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-override-template/index.html deleted file mode 100644 index d2684dccf..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-override-template/index.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - TeamOverrideTemplate - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

TeamOverrideTemplate

-
@Serializable
data class TeamOverrideTemplate(val displayName: String? = null, val fullName: String? = null, val medias: Map<TeamMediaType, MediaType?>? = null)(source)

Template for the team override.

It has smaller priority than override in the team itself.

Check AdvancedProperties doc about patterns inside template.

-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(displayName: String? = null, fullName: String? = null, medias: Map<TeamMediaType, MediaType?>? = null)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
val displayName: String? = null

Template string for team display name. Check TeamInfoOverride.displayName for details.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val fullName: String? = null

Template string for team full name. Check TeamInfoOverride.fullName for details.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-

Templates for team medias. Check TeamInfoOverride.medias for details.

-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-override-template/medias.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-override-template/medias.html deleted file mode 100644 index 4fe1e6f75..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-override-template/medias.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - medias - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

medias

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-regex-overrides/-team-regex-overrides.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-regex-overrides/-team-regex-overrides.html deleted file mode 100644 index be3e82e8f..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-regex-overrides/-team-regex-overrides.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - TeamRegexOverrides - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

TeamRegexOverrides

-
-
constructor(organizationRegex: Regex? = null, customFields: Map<String, Regex>? = null, groupRegex: Map<String, Regex>? = null)(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-regex-overrides/custom-fields.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-regex-overrides/custom-fields.html deleted file mode 100644 index 3fd31a2d4..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-regex-overrides/custom-fields.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - customFields - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

customFields

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-regex-overrides/group-regex.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-regex-overrides/group-regex.html deleted file mode 100644 index 84466297f..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-regex-overrides/group-regex.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - groupRegex - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

groupRegex

-
-
val groupRegex: Map<String, Regex>? = null(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-regex-overrides/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-regex-overrides/index.html deleted file mode 100644 index b461d053c..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-regex-overrides/index.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - TeamRegexOverrides - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

TeamRegexOverrides

-
@Serializable
data class TeamRegexOverrides(val organizationRegex: Regex? = null, val customFields: Map<String, Regex>? = null, val groupRegex: Map<String, Regex>? = null)(source)

In some cases, the contest system provides some useful information as part of team name. This can be used to extract this information to something more structured.

All regexes are java regex.

Regexes are matched against team full name from cds.

-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(organizationRegex: Regex? = null, customFields: Map<String, Regex>? = null, groupRegex: Map<String, Regex>? = null)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
val customFields: Map<String, Regex>? = null

The only group would be set as custom field value for the corresponding key

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val groupRegex: Map<String, Regex>? = null

The group is added if the name matches regex.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-

The only matched group would be equal to new organization id for the team.

-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-regex-overrides/organization-regex.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-regex-overrides/organization-regex.html deleted file mode 100644 index 0a06f7608..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-regex-overrides/organization-regex.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - organizationRegex - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

organizationRegex

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/index.html deleted file mode 100644 index 9b7e65ddb..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/index.html +++ /dev/null @@ -1,234 +0,0 @@ - - - - - org.icpclive.api.tunning - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Package-level declarations

-
-
-
-
-
-

Types

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class AdvancedProperties(val startTime: Instant? = null, val freezeTime: Duration? = null, val holdTime: Duration? = null, val teamMediaTemplate: Map<TeamMediaType, MediaType?>? = null, val teamOverrideTemplate: TeamOverrideTemplate? = null, val teamRegexes: TeamRegexOverrides? = null, val teamOverrides: Map<String, TeamInfoOverride>? = null, val groupOverrides: Map<String, GroupInfoOverride>? = null, val organizationOverrides: Map<String, OrganizationInfoOverride>? = null, val problemOverrides: Map<String, ProblemInfoOverride>? = null, val scoreboardOverrides: RankingSettings? = null)

This class represents possible contest configuration overrides.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class GroupInfoOverride(val isHidden: Boolean? = null, val isOutOfContest: Boolean? = null)
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class OrganizationInfoOverride(val displayName: String? = null, val fullName: String? = null)
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class ProblemInfoOverride(val name: String? = null, val color: Color? = null, val ordinal: Int? = null, val minScore: Double? = null, val maxScore: Double? = null, val scoreMergeMode: ScoreMergeMode? = null)
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
class RankingSettings(val medals: List<MedalType>? = null, val penaltyPerWrongAttempt: Duration? = null, val showTeamsWithoutSubmissions: Boolean? = null, val penaltyRoundingMode: PenaltyRoundingMode? = null)
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
typealias Regex = @Serializable(with = RegexSerializer::class) kotlin.text.Regex
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class TeamInfoOverride(val fullName: String? = null, val displayName: String? = null, val groups: List<String>? = null, val organizationId: String? = null, val hashTag: String? = null, val medias: Map<TeamMediaType, MediaType?>? = null, val customFields: Map<String, String>? = null, val isHidden: Boolean? = null, val isOutOfContest: Boolean? = null)
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class TeamOverrideTemplate(val displayName: String? = null, val fullName: String? = null, val medias: Map<TeamMediaType, MediaType?>? = null)

Template for the team override.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class TeamRegexOverrides(val organizationRegex: Regex? = null, val customFields: Map<String, Regex>? = null, val groupRegex: Map<String, Regex>? = null)

In some cases, the contest system provides some useful information as part of team name. This can be used to extract this information to something more structured.

-
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-

Converts values in ContestInfo to overrides in [AdvancedProperties

-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/to-advanced-properties.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/to-advanced-properties.html deleted file mode 100644 index bf871869c..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/to-advanced-properties.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - toAdvancedProperties - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

toAdvancedProperties

-
-

Converts values in ContestInfo to overrides in [AdvancedProperties

Parameters

fields

set of fields to include in returned value. Other would be set to null

-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/-analytics-commentary-event.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/-analytics-commentary-event.html deleted file mode 100644 index 3762f6f33..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/-analytics-commentary-event.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - AnalyticsCommentaryEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

AnalyticsCommentaryEvent

-
-
constructor(id: String, message: String, time: Instant, relativeTime: Duration, teamIds: List<Int>, runIds: List<Int>, priority: Int = 0, tags: List<String> = emptyList(), advertisement: AnalyticsCompanionPreset? = null, tickerMessage: AnalyticsCompanionPreset? = null, featuredRun: AnalyticsCompanionRun? = null)(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/advertisement.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/advertisement.html deleted file mode 100644 index 5dddda055..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/advertisement.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - advertisement - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

advertisement

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/featured-run.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/featured-run.html deleted file mode 100644 index 92634c059..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/featured-run.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - featuredRun - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

featuredRun

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/id.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/id.html deleted file mode 100644 index 16a9ebfbc..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

id

-
-
open override val id: String(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/index.html deleted file mode 100644 index fb44f968e..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/index.html +++ /dev/null @@ -1,265 +0,0 @@ - - - - - AnalyticsCommentaryEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

AnalyticsCommentaryEvent

-
@Serializable
data class AnalyticsCommentaryEvent(val id: String, val message: String, val time: Instant, val relativeTime: Duration, val teamIds: List<Int>, val runIds: List<Int>, val priority: Int = 0, val tags: List<String> = emptyList(), val advertisement: AnalyticsCompanionPreset? = null, val tickerMessage: AnalyticsCompanionPreset? = null, val featuredRun: AnalyticsCompanionRun? = null) : AnalyticsMessage(source)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(id: String, message: String, time: Instant, relativeTime: Duration, teamIds: List<Int>, runIds: List<Int>, priority: Int = 0, tags: List<String> = emptyList(), advertisement: AnalyticsCompanionPreset? = null, tickerMessage: AnalyticsCompanionPreset? = null, featuredRun: AnalyticsCompanionRun? = null)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
- -
-
- -
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val id: String
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val priority: Int = 0
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable(with = DurationInMillisecondsSerializer::class)
open override val relativeTime: Duration
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
- -
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable(with = UnixMillisecondsSerializer::class)
open override val time: Instant
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/message.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/message.html deleted file mode 100644 index cf393468d..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/message.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - message - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

message

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/priority.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/priority.html deleted file mode 100644 index 7034361de..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/priority.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - priority - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

priority

-
-
val priority: Int = 0(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/relative-time.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/relative-time.html deleted file mode 100644 index cfe18d2d8..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/relative-time.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - relativeTime - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

relativeTime

-
-
@Serializable(with = DurationInMillisecondsSerializer::class)
open override val relativeTime: Duration(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/run-ids.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/run-ids.html deleted file mode 100644 index c3d5acada..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/run-ids.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - runIds - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

runIds

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/tags.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/tags.html deleted file mode 100644 index 3433c7f4b..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/tags.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - tags - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

tags

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/team-ids.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/team-ids.html deleted file mode 100644 index 3a0df7ff4..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/team-ids.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - teamIds - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

teamIds

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/ticker-message.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/ticker-message.html deleted file mode 100644 index bb2b80776..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/ticker-message.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - tickerMessage - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

tickerMessage

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/time.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/time.html deleted file mode 100644 index f29a71f22..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/time.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - time - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

time

-
-
@Serializable(with = UnixMillisecondsSerializer::class)
open override val time: Instant(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-companion-preset/-analytics-companion-preset.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-companion-preset/-analytics-companion-preset.html deleted file mode 100644 index 6062591aa..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-companion-preset/-analytics-companion-preset.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - AnalyticsCompanionPreset - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

AnalyticsCompanionPreset

-
-
constructor(presetId: Int, expirationTime: Instant?)(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-companion-preset/expiration-time.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-companion-preset/expiration-time.html deleted file mode 100644 index 63da0d326..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-companion-preset/expiration-time.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - expirationTime - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

expirationTime

-
-
@Serializable(with = UnixMillisecondsSerializer::class)
val expirationTime: Instant?(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-companion-preset/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-companion-preset/index.html deleted file mode 100644 index e22bdebb8..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-companion-preset/index.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - AnalyticsCompanionPreset - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

AnalyticsCompanionPreset

-
@Serializable
data class AnalyticsCompanionPreset(val presetId: Int, val expirationTime: Instant?)(source)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(presetId: Int, expirationTime: Instant?)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable(with = UnixMillisecondsSerializer::class)
val expirationTime: Instant?
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-companion-preset/preset-id.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-companion-preset/preset-id.html deleted file mode 100644 index b37bc0842..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-companion-preset/preset-id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - presetId - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

presetId

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-companion-run/-analytics-companion-run.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-companion-run/-analytics-companion-run.html deleted file mode 100644 index 1090c2e95..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-companion-run/-analytics-companion-run.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - AnalyticsCompanionRun - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

AnalyticsCompanionRun

-
-
constructor(expirationTime: Instant?, mediaType: MediaType)(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-companion-run/expiration-time.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-companion-run/expiration-time.html deleted file mode 100644 index 5de668ce3..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-companion-run/expiration-time.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - expirationTime - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

expirationTime

-
-
@Serializable(with = UnixMillisecondsSerializer::class)
val expirationTime: Instant?(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-companion-run/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-companion-run/index.html deleted file mode 100644 index 17de603e4..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-companion-run/index.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - AnalyticsCompanionRun - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

AnalyticsCompanionRun

-
@Serializable
data class AnalyticsCompanionRun(val expirationTime: Instant?, val mediaType: MediaType)(source)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(expirationTime: Instant?, mediaType: MediaType)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable(with = UnixMillisecondsSerializer::class)
val expirationTime: Instant?
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-companion-run/media-type.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-companion-run/media-type.html deleted file mode 100644 index 5e4b2062f..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-companion-run/media-type.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - mediaType - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

mediaType

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-message/id.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-message/id.html deleted file mode 100644 index f3949b72b..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-message/id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

id

-
-
abstract val id: String(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-message/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-message/index.html deleted file mode 100644 index a8acf028d..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-message/index.html +++ /dev/null @@ -1,126 +0,0 @@ - - - - - AnalyticsMessage - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

AnalyticsMessage

-
@Serializable
sealed class AnalyticsMessage(source)

Inheritors

-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract val id: String
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract val relativeTime: Duration
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract val time: Instant
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-message/relative-time.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-message/relative-time.html deleted file mode 100644 index 33e857c52..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-message/relative-time.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - relativeTime - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

relativeTime

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-message/time.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-message/time.html deleted file mode 100644 index 8734ef313..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-message/time.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - time - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

time

-
-
abstract val time: Instant(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/-contest-info.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/-contest-info.html deleted file mode 100644 index 2f9833bc5..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/-contest-info.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - ContestInfo - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ContestInfo

-
-
constructor(name: String, status: ContestStatus, resultType: ContestResultType, startTime: Instant, contestLength: Duration, freezeTime: Duration, problems: List<ProblemInfo>, teams: List<TeamInfo>, groups: List<GroupInfo>, organizations: List<OrganizationInfo>, penaltyRoundingMode: PenaltyRoundingMode, holdBeforeStartTime: Duration? = null, emulationSpeed: Double = 1.0, medals: List<MedalType> = emptyList(), penaltyPerWrongAttempt: Duration = 20.minutes)(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/contest-length.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/contest-length.html deleted file mode 100644 index 0889613d3..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/contest-length.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - contestLength - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

contestLength

-
-
@Serializable(with = DurationInMillisecondsSerializer::class)
val contestLength: Duration(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/current-contest-time.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/current-contest-time.html deleted file mode 100644 index 5f1f2cb60..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/current-contest-time.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - currentContestTime - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

currentContestTime

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/emulation-speed.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/emulation-speed.html deleted file mode 100644 index 061f6c813..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/emulation-speed.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - emulationSpeed - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

emulationSpeed

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/freeze-time.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/freeze-time.html deleted file mode 100644 index 7eb9ca3f1..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/freeze-time.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - freezeTime - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

freezeTime

-
-
@Serializable(with = DurationInMillisecondsSerializer::class)
val freezeTime: Duration(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/group-by-id.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/group-by-id.html deleted file mode 100644 index 6db310741..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/group-by-id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - groupById - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

groupById

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/groups.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/groups.html deleted file mode 100644 index bfae5a042..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/groups.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - groups - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

groups

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/hold-before-start-time.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/hold-before-start-time.html deleted file mode 100644 index e35328d03..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/hold-before-start-time.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - holdBeforeStartTime - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

holdBeforeStartTime

-
-
@Serializable(with = DurationInMillisecondsSerializer::class)
val holdBeforeStartTime: Duration? = null(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/index.html deleted file mode 100644 index d4d5001a0..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/index.html +++ /dev/null @@ -1,374 +0,0 @@ - - - - - ContestInfo - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ContestInfo

-
@Serializable
data class ContestInfo(val name: String, val status: ContestStatus, val resultType: ContestResultType, val startTime: Instant, val contestLength: Duration, val freezeTime: Duration, val problems: List<ProblemInfo>, val teams: List<TeamInfo>, val groups: List<GroupInfo>, val organizations: List<OrganizationInfo>, val penaltyRoundingMode: PenaltyRoundingMode, val holdBeforeStartTime: Duration? = null, val emulationSpeed: Double = 1.0, val medals: List<MedalType> = emptyList(), val penaltyPerWrongAttempt: Duration = 20.minutes)(source)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(name: String, status: ContestStatus, resultType: ContestResultType, startTime: Instant, contestLength: Duration, freezeTime: Duration, problems: List<ProblemInfo>, teams: List<TeamInfo>, groups: List<GroupInfo>, organizations: List<OrganizationInfo>, penaltyRoundingMode: PenaltyRoundingMode, holdBeforeStartTime: Duration? = null, emulationSpeed: Double = 1.0, medals: List<MedalType> = emptyList(), penaltyPerWrongAttempt: Duration = 20.minutes)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable(with = DurationInMillisecondsSerializer::class)
val contestLength: Duration
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
- -
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable(with = DurationInMillisecondsSerializer::class)
val freezeTime: Duration
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable(with = DurationInMillisecondsSerializer::class)
val holdBeforeStartTime: Duration? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
- -
-
- -
-
-
- - -
Link copied to clipboard
-
- -
-
- -
-
-
- - -
Link copied to clipboard
-
- -
-
- -
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
- -
-
-
- - -
Link copied to clipboard
-
- -
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable(with = UnixMillisecondsSerializer::class)
val startTime: Instant
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-

Converts values in ContestInfo to overrides in [AdvancedProperties

-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/medals.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/medals.html deleted file mode 100644 index f5b889fe1..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/medals.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - medals - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

medals

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/name.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/name.html deleted file mode 100644 index 7f15dd9c0..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/name.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - name - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

name

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/organizations.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/organizations.html deleted file mode 100644 index fd871d3a1..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/organizations.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - organizations - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

organizations

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/penalty-per-wrong-attempt.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/penalty-per-wrong-attempt.html deleted file mode 100644 index e49577615..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/penalty-per-wrong-attempt.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - penaltyPerWrongAttempt - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

penaltyPerWrongAttempt

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/penalty-rounding-mode.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/penalty-rounding-mode.html deleted file mode 100644 index 2e4d1227e..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/penalty-rounding-mode.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - penaltyRoundingMode - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

penaltyRoundingMode

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/problems.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/problems.html deleted file mode 100644 index d2ca19e95..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/problems.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - problems - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

problems

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/result-type.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/result-type.html deleted file mode 100644 index cbe86b0e0..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/result-type.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - resultType - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

resultType

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/start-time.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/start-time.html deleted file mode 100644 index 526bea486..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/start-time.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - startTime - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

startTime

-
-
@Serializable(with = UnixMillisecondsSerializer::class)
val startTime: Instant(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/status.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/status.html deleted file mode 100644 index e4567e01d..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/status.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - status - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

status

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/teams.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/teams.html deleted file mode 100644 index 6a5c6bfe5..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/teams.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - teams - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

teams

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-result-type/-i-c-p-c/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-result-type/-i-c-p-c/index.html deleted file mode 100644 index 1b6186102..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-result-type/-i-c-p-c/index.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - ICPC - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ICPC

- -
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-result-type/-i-o-i/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-result-type/-i-o-i/index.html deleted file mode 100644 index 1d6f9ef54..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-result-type/-i-o-i/index.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - IOI - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

IOI

- -
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-result-type/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-result-type/index.html deleted file mode 100644 index c85c241db..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-result-type/index.html +++ /dev/null @@ -1,179 +0,0 @@ - - - - - ContestResultType - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ContestResultType

- -
-
-
-
-
-

Entries

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-

Returns an array containing the constants of this enum type, in the order they're declared.

-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-result-type/value-of.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-result-type/value-of.html deleted file mode 100644 index 33a0253c1..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-result-type/value-of.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - valueOf - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

valueOf

-
-

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Throws

if this enum type has no constant with the specified name

-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-result-type/values.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-result-type/values.html deleted file mode 100644 index 18ff72355..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-result-type/values.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - values - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

values

-
-

Returns an array containing the constants of this enum type, in the order they're declared.

This method may be used to iterate over the constants.

-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-status/-b-e-f-o-r-e/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-status/-b-e-f-o-r-e/index.html deleted file mode 100644 index 02e8a2fc9..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-status/-b-e-f-o-r-e/index.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - BEFORE - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

BEFORE

- -
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-status/-o-v-e-r/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-status/-o-v-e-r/index.html deleted file mode 100644 index 46c234eba..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-status/-o-v-e-r/index.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - OVER - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

OVER

- -
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-status/-r-u-n-n-i-n-g/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-status/-r-u-n-n-i-n-g/index.html deleted file mode 100644 index c435090e0..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-status/-r-u-n-n-i-n-g/index.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - RUNNING - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

RUNNING

- -
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-status/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-status/index.html deleted file mode 100644 index fbeb4a8fe..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-status/index.html +++ /dev/null @@ -1,194 +0,0 @@ - - - - - ContestStatus - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ContestStatus

-
@Serializable
enum ContestStatus : Enum<ContestStatus> (source)
-
-
-
-
-
-

Entries

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-

Returns an array containing the constants of this enum type, in the order they're declared.

-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-status/value-of.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-status/value-of.html deleted file mode 100644 index d1cb0226a..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-status/value-of.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - valueOf - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

valueOf

-
-

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Throws

if this enum type has no constant with the specified name

-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-status/values.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-status/values.html deleted file mode 100644 index 5d7392600..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-status/values.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - values - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

values

-
-

Returns an array containing the constants of this enum type, in the order they're declared.

This method may be used to iterate over the constants.

-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-group-info/-group-info.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-group-info/-group-info.html deleted file mode 100644 index 524cd6db4..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-group-info/-group-info.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - GroupInfo - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

GroupInfo

-
-
constructor(name: String, isHidden: Boolean = false, isOutOfContest: Boolean = false)(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-group-info/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-group-info/index.html deleted file mode 100644 index 9f2395d55..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-group-info/index.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - GroupInfo - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

GroupInfo

-
@Serializable
data class GroupInfo(val name: String, val isHidden: Boolean = false, val isOutOfContest: Boolean = false)(source)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(name: String, isHidden: Boolean = false, isOutOfContest: Boolean = false)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
val isHidden: Boolean = false
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val isOutOfContest: Boolean = false
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-group-info/is-hidden.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-group-info/is-hidden.html deleted file mode 100644 index 97d5bd48a..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-group-info/is-hidden.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - isHidden - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

isHidden

-
-
val isHidden: Boolean = false(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-group-info/is-out-of-contest.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-group-info/is-out-of-contest.html deleted file mode 100644 index 95858f6e0..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-group-info/is-out-of-contest.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - isOutOfContest - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

isOutOfContest

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-group-info/name.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-group-info/name.html deleted file mode 100644 index b7df20545..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-group-info/name.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - name - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

name

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-problem-result/-i-c-p-c-problem-result.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-problem-result/-i-c-p-c-problem-result.html deleted file mode 100644 index 4c5f8dd2d..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-problem-result/-i-c-p-c-problem-result.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - ICPCProblemResult - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ICPCProblemResult

-
-
constructor(wrongAttempts: Int, pendingAttempts: Int, isSolved: Boolean, isFirstToSolve: Boolean, lastSubmitTime: Duration?)(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-problem-result/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-problem-result/index.html deleted file mode 100644 index 52f665467..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-problem-result/index.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - ICPCProblemResult - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ICPCProblemResult

-
@Serializable
data class ICPCProblemResult(val wrongAttempts: Int, val pendingAttempts: Int, val isSolved: Boolean, val isFirstToSolve: Boolean, val lastSubmitTime: Duration?) : ProblemResult(source)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(wrongAttempts: Int, pendingAttempts: Int, isSolved: Boolean, isFirstToSolve: Boolean, lastSubmitTime: Duration?)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable(with = DurationInMillisecondsSerializer::class)
val lastSubmitTime: Duration?
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-problem-result/is-first-to-solve.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-problem-result/is-first-to-solve.html deleted file mode 100644 index 5c8c92c96..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-problem-result/is-first-to-solve.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - isFirstToSolve - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

isFirstToSolve

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-problem-result/is-solved.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-problem-result/is-solved.html deleted file mode 100644 index 1eb0ab5f1..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-problem-result/is-solved.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - isSolved - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

isSolved

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-problem-result/last-submit-time.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-problem-result/last-submit-time.html deleted file mode 100644 index 0e6443071..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-problem-result/last-submit-time.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - lastSubmitTime - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

lastSubmitTime

-
-
@Serializable(with = DurationInMillisecondsSerializer::class)
val lastSubmitTime: Duration?(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-problem-result/pending-attempts.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-problem-result/pending-attempts.html deleted file mode 100644 index 7f8a48ec6..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-problem-result/pending-attempts.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - pendingAttempts - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

pendingAttempts

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-problem-result/wrong-attempts.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-problem-result/wrong-attempts.html deleted file mode 100644 index 2d9503ddf..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-problem-result/wrong-attempts.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - wrongAttempts - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

wrongAttempts

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-run-result/-i-c-p-c-run-result.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-run-result/-i-c-p-c-run-result.html deleted file mode 100644 index f96e0cbde..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-run-result/-i-c-p-c-run-result.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - ICPCRunResult - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ICPCRunResult

-
-
constructor(verdict: Verdict, isFirstToSolveRun: Boolean)(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-run-result/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-run-result/index.html deleted file mode 100644 index 3925378e0..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-run-result/index.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - ICPCRunResult - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ICPCRunResult

-
@Serializable
data class ICPCRunResult(val verdict: Verdict, val isFirstToSolveRun: Boolean) : RunResult(source)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(verdict: Verdict, isFirstToSolveRun: Boolean)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-run-result/is-first-to-solve-run.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-run-result/is-first-to-solve-run.html deleted file mode 100644 index 08e1d843d..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-run-result/is-first-to-solve-run.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - isFirstToSolveRun - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

isFirstToSolveRun

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-run-result/verdict.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-run-result/verdict.html deleted file mode 100644 index 731c6bea7..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-run-result/verdict.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - verdict - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

verdict

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-problem-result/-i-o-i-problem-result.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-problem-result/-i-o-i-problem-result.html deleted file mode 100644 index c526678b5..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-problem-result/-i-o-i-problem-result.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - IOIProblemResult - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

IOIProblemResult

-
-
constructor(score: Double?, lastSubmitTime: Duration?, isFirstBest: Boolean)(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-problem-result/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-problem-result/index.html deleted file mode 100644 index 4e2b10946..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-problem-result/index.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - IOIProblemResult - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

IOIProblemResult

-
@Serializable
data class IOIProblemResult(val score: Double?, val lastSubmitTime: Duration?, val isFirstBest: Boolean) : ProblemResult(source)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(score: Double?, lastSubmitTime: Duration?, isFirstBest: Boolean)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable(with = DurationInMillisecondsSerializer::class)
val lastSubmitTime: Duration?
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-problem-result/is-first-best.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-problem-result/is-first-best.html deleted file mode 100644 index a87f6c303..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-problem-result/is-first-best.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - isFirstBest - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

isFirstBest

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-problem-result/last-submit-time.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-problem-result/last-submit-time.html deleted file mode 100644 index ef5600daa..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-problem-result/last-submit-time.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - lastSubmitTime - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

lastSubmitTime

-
-
@Serializable(with = DurationInMillisecondsSerializer::class)
val lastSubmitTime: Duration?(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-problem-result/score.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-problem-result/score.html deleted file mode 100644 index 6541cc4a7..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-problem-result/score.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - score - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

score

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-run-result/-i-o-i-run-result.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-run-result/-i-o-i-run-result.html deleted file mode 100644 index f730b0300..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-run-result/-i-o-i-run-result.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - IOIRunResult - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

IOIRunResult

-
-
constructor(score: List<Double>, wrongVerdict: Verdict? = null, difference: Double = 0.0, scoreAfter: Double = 0.0, isFirstBestRun: Boolean = false, isFirstBestTeamRun: Boolean = false)(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-run-result/difference.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-run-result/difference.html deleted file mode 100644 index ff3d928d5..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-run-result/difference.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - difference - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

difference

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-run-result/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-run-result/index.html deleted file mode 100644 index 0bc44b5b7..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-run-result/index.html +++ /dev/null @@ -1,190 +0,0 @@ - - - - - IOIRunResult - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

IOIRunResult

-
@Serializable
data class IOIRunResult(val score: List<Double>, val wrongVerdict: Verdict? = null, val difference: Double = 0.0, val scoreAfter: Double = 0.0, val isFirstBestRun: Boolean = false, val isFirstBestTeamRun: Boolean = false) : RunResult(source)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(score: List<Double>, wrongVerdict: Verdict? = null, difference: Double = 0.0, scoreAfter: Double = 0.0, isFirstBestRun: Boolean = false, isFirstBestTeamRun: Boolean = false)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
val difference: Double = 0.0
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val isFirstBestRun: Boolean = false
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val scoreAfter: Double = 0.0
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val wrongVerdict: Verdict? = null
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-run-result/is-first-best-run.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-run-result/is-first-best-run.html deleted file mode 100644 index 5ee8dd5ff..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-run-result/is-first-best-run.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - isFirstBestRun - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

isFirstBestRun

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-run-result/is-first-best-team-run.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-run-result/is-first-best-team-run.html deleted file mode 100644 index 34b544b7f..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-run-result/is-first-best-team-run.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - isFirstBestTeamRun - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

isFirstBestTeamRun

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-run-result/score-after.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-run-result/score-after.html deleted file mode 100644 index 6bf255c5f..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-run-result/score-after.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - scoreAfter - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

scoreAfter

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-run-result/score.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-run-result/score.html deleted file mode 100644 index fd3f111d4..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-run-result/score.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - score - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

score

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-run-result/wrong-verdict.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-run-result/wrong-verdict.html deleted file mode 100644 index 4f419721f..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-run-result/wrong-verdict.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - wrongVerdict - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

wrongVerdict

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-medal-tiebreak-mode/-a-l-l/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-medal-tiebreak-mode/-a-l-l/index.html deleted file mode 100644 index 983035610..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-medal-tiebreak-mode/-a-l-l/index.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - ALL - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ALL

- -
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-medal-tiebreak-mode/-n-o-n-e/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-medal-tiebreak-mode/-n-o-n-e/index.html deleted file mode 100644 index d992c5d27..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-medal-tiebreak-mode/-n-o-n-e/index.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - NONE - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

NONE

- -
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-medal-tiebreak-mode/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-medal-tiebreak-mode/index.html deleted file mode 100644 index 8757e355a..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-medal-tiebreak-mode/index.html +++ /dev/null @@ -1,179 +0,0 @@ - - - - - MedalTiebreakMode - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

MedalTiebreakMode

- -
-
-
-
-
-

Entries

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-

Returns an array containing the constants of this enum type, in the order they're declared.

-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-medal-tiebreak-mode/value-of.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-medal-tiebreak-mode/value-of.html deleted file mode 100644 index a384f8517..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-medal-tiebreak-mode/value-of.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - valueOf - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

valueOf

-
-

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Throws

if this enum type has no constant with the specified name

-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-medal-tiebreak-mode/values.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-medal-tiebreak-mode/values.html deleted file mode 100644 index 7506923c6..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-medal-tiebreak-mode/values.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - values - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

values

-
-

Returns an array containing the constants of this enum type, in the order they're declared.

This method may be used to iterate over the constants.

-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-medal-type/-medal-type.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-medal-type/-medal-type.html deleted file mode 100644 index 1c694dfa5..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-medal-type/-medal-type.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - MedalType - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

MedalType

-
-
constructor(name: String, count: Int, minScore: Double = Double.MIN_VALUE, tiebreakMode: MedalTiebreakMode = MedalTiebreakMode.ALL)(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-medal-type/count.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-medal-type/count.html deleted file mode 100644 index fab8e7e56..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-medal-type/count.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - count - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

count

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-medal-type/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-medal-type/index.html deleted file mode 100644 index 4ca636b4a..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-medal-type/index.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - MedalType - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

MedalType

-
@Serializable
data class MedalType(val name: String, val count: Int, val minScore: Double = Double.MIN_VALUE, val tiebreakMode: MedalTiebreakMode = MedalTiebreakMode.ALL)(source)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(name: String, count: Int, minScore: Double = Double.MIN_VALUE, tiebreakMode: MedalTiebreakMode = MedalTiebreakMode.ALL)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
val count: Int
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
- -
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-medal-type/min-score.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-medal-type/min-score.html deleted file mode 100644 index 32c2489a4..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-medal-type/min-score.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - minScore - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

minScore

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-medal-type/name.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-medal-type/name.html deleted file mode 100644 index 5a5fc88ae..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-medal-type/name.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - name - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

name

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-medal-type/tiebreak-mode.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-medal-type/tiebreak-mode.html deleted file mode 100644 index f3441ec26..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-medal-type/tiebreak-mode.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - tiebreakMode - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

tiebreakMode

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-object/-object.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-object/-object.html deleted file mode 100644 index f74589ddb..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-object/-object.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - Object - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Object

-
-
constructor(url: String, isMedia: Boolean = true)(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-object/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-object/index.html deleted file mode 100644 index 1f63ffb7f..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-object/index.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - Object - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Object

-
@Serializable
data class Object(val url: String, val isMedia: Boolean = true) : MediaType(source)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(url: String, isMedia: Boolean = true)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val isMedia: Boolean = true
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val url: String
-
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-object/is-media.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-object/is-media.html deleted file mode 100644 index 17b44be07..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-object/is-media.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - isMedia - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

isMedia

-
-
open override val isMedia: Boolean = true(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-object/url.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-object/url.html deleted file mode 100644 index 4fe51b06b..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-object/url.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - url - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

url

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-photo/-photo.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-photo/-photo.html deleted file mode 100644 index 0bb173975..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-photo/-photo.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - Photo - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Photo

-
-
constructor(url: String, isMedia: Boolean = true)(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-photo/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-photo/index.html deleted file mode 100644 index 64f3bb676..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-photo/index.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - Photo - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Photo

-
@Serializable
data class Photo(val url: String, val isMedia: Boolean = true) : MediaType(source)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(url: String, isMedia: Boolean = true)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val isMedia: Boolean = true
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val url: String
-
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-photo/is-media.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-photo/is-media.html deleted file mode 100644 index 3acf4fc80..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-photo/is-media.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - isMedia - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

isMedia

-
-
open override val isMedia: Boolean = true(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-photo/url.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-photo/url.html deleted file mode 100644 index 8847dcf70..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-photo/url.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - url - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

url

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-task-status/-task-status.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-task-status/-task-status.html deleted file mode 100644 index 8bed2e790..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-task-status/-task-status.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - TaskStatus - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

TaskStatus

-
-
constructor(teamId: Int)(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-task-status/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-task-status/index.html deleted file mode 100644 index 600dbe288..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-task-status/index.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - TaskStatus - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

TaskStatus

-
@Serializable
data class TaskStatus(val teamId: Int) : MediaType(source)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(teamId: Int)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val isMedia: Boolean = false
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val teamId: Int
-
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-task-status/is-media.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-task-status/is-media.html deleted file mode 100644 index fc90b0e47..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-task-status/is-media.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - isMedia - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

isMedia

-
-
open override val isMedia: Boolean = false(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-task-status/team-id.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-task-status/team-id.html deleted file mode 100644 index 3c2cea6c4..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-task-status/team-id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - teamId - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

teamId

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-video/-video.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-video/-video.html deleted file mode 100644 index 328bf4f04..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-video/-video.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - Video - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Video

-
-
constructor(url: String, isMedia: Boolean = true)(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-video/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-video/index.html deleted file mode 100644 index c735b8cc8..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-video/index.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - Video - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Video

-
@Serializable
data class Video(val url: String, val isMedia: Boolean = true) : MediaType(source)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(url: String, isMedia: Boolean = true)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val isMedia: Boolean = true
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val url: String
-
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-video/is-media.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-video/is-media.html deleted file mode 100644 index b8aa0a82c..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-video/is-media.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - isMedia - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

isMedia

-
-
open override val isMedia: Boolean = true(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-video/url.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-video/url.html deleted file mode 100644 index 43eb4e79c..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-video/url.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - url - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

url

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/-web-r-t-c-grabber-connection.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/-web-r-t-c-grabber-connection.html deleted file mode 100644 index 4ecf989bf..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/-web-r-t-c-grabber-connection.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - WebRTCGrabberConnection - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

WebRTCGrabberConnection

-
-
constructor(url: String, peerName: String, streamType: String, credential: String?, isMedia: Boolean = true)(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/credential.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/credential.html deleted file mode 100644 index d262149b2..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/credential.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - credential - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

credential

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/index.html deleted file mode 100644 index 0821dc3ce..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/index.html +++ /dev/null @@ -1,194 +0,0 @@ - - - - - WebRTCGrabberConnection - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

WebRTCGrabberConnection

-
@Serializable
data class WebRTCGrabberConnection(val url: String, val peerName: String, val streamType: String, val credential: String?, val isMedia: Boolean = true) : MediaType(source)

WebRTC grabber connection https://github.com/irdkwmnsb/webrtc-grabber

-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(url: String, peerName: String, streamType: String, credential: String?, isMedia: Boolean = true)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val isMedia: Boolean = true
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val url: String
-
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/is-media.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/is-media.html deleted file mode 100644 index 21a980c6a..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/is-media.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - isMedia - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

isMedia

-
-
open override val isMedia: Boolean = true(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/peer-name.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/peer-name.html deleted file mode 100644 index 45699fc38..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/peer-name.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - peerName - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

peerName

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/stream-type.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/stream-type.html deleted file mode 100644 index 8a7d77fea..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/stream-type.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - streamType - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

streamType

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/url.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/url.html deleted file mode 100644 index 62e5d882e..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/url.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - url - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

url

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/-web-r-t-c-proxy-connection.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/-web-r-t-c-proxy-connection.html deleted file mode 100644 index 28dcb29ad..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/-web-r-t-c-proxy-connection.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - WebRTCProxyConnection - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

WebRTCProxyConnection

-
-
constructor(url: String, audioUrl: String? = null, isMedia: Boolean = true)(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/audio-url.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/audio-url.html deleted file mode 100644 index 3ee50da2d..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/audio-url.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - audioUrl - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

audioUrl

-
-
val audioUrl: String? = null(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/index.html deleted file mode 100644 index 893235a4a..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/index.html +++ /dev/null @@ -1,164 +0,0 @@ - - - - - WebRTCProxyConnection - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

WebRTCProxyConnection

-
@Serializable
data class WebRTCProxyConnection(val url: String, val audioUrl: String? = null, val isMedia: Boolean = true) : MediaType(source)

WebRTC proxy connection

See also

-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(url: String, audioUrl: String? = null, isMedia: Boolean = true)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
val audioUrl: String? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val isMedia: Boolean = true
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val url: String
-
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/is-media.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/is-media.html deleted file mode 100644 index 3a8098f37..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/is-media.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - isMedia - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

isMedia

-
-
open override val isMedia: Boolean = true(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/url.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/url.html deleted file mode 100644 index d0fec25ff..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/url.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - url - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

url

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/index.html deleted file mode 100644 index abc624fd7..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/index.html +++ /dev/null @@ -1,209 +0,0 @@ - - - - - MediaType - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- - -
-
-
-
-

Types

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class Object(val url: String, val isMedia: Boolean = true) : MediaType
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class Photo(val url: String, val isMedia: Boolean = true) : MediaType
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class TaskStatus(val teamId: Int) : MediaType
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class Video(val url: String, val isMedia: Boolean = true) : MediaType
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class WebRTCGrabberConnection(val url: String, val peerName: String, val streamType: String, val credential: String?, val isMedia: Boolean = true) : MediaType

WebRTC grabber connection https://github.com/irdkwmnsb/webrtc-grabber

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class WebRTCProxyConnection(val url: String, val audioUrl: String? = null, val isMedia: Boolean = true) : MediaType

WebRTC proxy connection

-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract val isMedia: Boolean
-
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/is-media.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/is-media.html deleted file mode 100644 index f573c60fc..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/is-media.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - isMedia - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

isMedia

-
-
abstract val isMedia: Boolean(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/no-media.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/no-media.html deleted file mode 100644 index 476ae8f06..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/no-media.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - noMedia - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

noMedia

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-optimism-level/-n-o-r-m-a-l/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-optimism-level/-n-o-r-m-a-l/index.html deleted file mode 100644 index edbac1b4a..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-optimism-level/-n-o-r-m-a-l/index.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - NORMAL - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

NORMAL

- -
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-optimism-level/-o-p-t-i-m-i-s-t-i-c/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-optimism-level/-o-p-t-i-m-i-s-t-i-c/index.html deleted file mode 100644 index 8abb88b8b..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-optimism-level/-o-p-t-i-m-i-s-t-i-c/index.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - OPTIMISTIC - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

OPTIMISTIC

- -
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-optimism-level/-p-e-s-s-i-m-i-s-t-i-c/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-optimism-level/-p-e-s-s-i-m-i-s-t-i-c/index.html deleted file mode 100644 index a584f40fe..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-optimism-level/-p-e-s-s-i-m-i-s-t-i-c/index.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - PESSIMISTIC - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

PESSIMISTIC

- -
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-optimism-level/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-optimism-level/index.html deleted file mode 100644 index c62264f58..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-optimism-level/index.html +++ /dev/null @@ -1,194 +0,0 @@ - - - - - OptimismLevel - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

OptimismLevel

-
@Serializable
enum OptimismLevel : Enum<OptimismLevel> (source)
-
-
-
-
-
-

Entries

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-

Returns an array containing the constants of this enum type, in the order they're declared.

-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-optimism-level/value-of.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-optimism-level/value-of.html deleted file mode 100644 index 391ab92e3..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-optimism-level/value-of.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - valueOf - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

valueOf

-
-

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Throws

if this enum type has no constant with the specified name

-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-optimism-level/values.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-optimism-level/values.html deleted file mode 100644 index 995b9b49f..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-optimism-level/values.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - values - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

values

-
-

Returns an array containing the constants of this enum type, in the order they're declared.

This method may be used to iterate over the constants.

-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-organization-info/-organization-info.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-organization-info/-organization-info.html deleted file mode 100644 index a99239372..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-organization-info/-organization-info.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - OrganizationInfo - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

OrganizationInfo

-
-
constructor(cdsId: String, displayName: String, fullName: String)(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-organization-info/cds-id.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-organization-info/cds-id.html deleted file mode 100644 index 3872a82ac..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-organization-info/cds-id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - cdsId - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

cdsId

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-organization-info/display-name.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-organization-info/display-name.html deleted file mode 100644 index 844f15301..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-organization-info/display-name.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - displayName - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

displayName

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-organization-info/full-name.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-organization-info/full-name.html deleted file mode 100644 index 9d0e8fe2d..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-organization-info/full-name.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - fullName - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

fullName

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-organization-info/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-organization-info/index.html deleted file mode 100644 index 59e399311..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-organization-info/index.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - OrganizationInfo - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

OrganizationInfo

-
@Serializable
data class OrganizationInfo(val cdsId: String, val displayName: String, val fullName: String)(source)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(cdsId: String, displayName: String, fullName: String)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/-e-a-c-h_-s-u-b-m-i-s-s-i-o-n_-d-o-w-n_-t-o_-m-i-n-u-t-e/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/-e-a-c-h_-s-u-b-m-i-s-s-i-o-n_-d-o-w-n_-t-o_-m-i-n-u-t-e/index.html deleted file mode 100644 index 882126299..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/-e-a-c-h_-s-u-b-m-i-s-s-i-o-n_-d-o-w-n_-t-o_-m-i-n-u-t-e/index.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - EACH_SUBMISSION_DOWN_TO_MINUTE - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

EACH_SUBMISSION_DOWN_TO_MINUTE

-

Round time of all submissions from the beginning of the contest down to whole minute, and then sum them

-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/-l-a-s-t/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/-l-a-s-t/index.html deleted file mode 100644 index 7b2f779a5..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/-l-a-s-t/index.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - LAST - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

LAST

-

Get time of last submission as penalty

-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/-s-u-m_-d-o-w-n_-t-o_-m-i-n-u-t-e/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/-s-u-m_-d-o-w-n_-t-o_-m-i-n-u-t-e/index.html deleted file mode 100644 index c138636ac..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/-s-u-m_-d-o-w-n_-t-o_-m-i-n-u-t-e/index.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - SUM_DOWN_TO_MINUTE - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

SUM_DOWN_TO_MINUTE

-

Sum time of all submissions from the beginning of the contest and then round it down to whole minute

-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/-s-u-m_-i-n_-s-e-c-o-n-d-s/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/-s-u-m_-i-n_-s-e-c-o-n-d-s/index.html deleted file mode 100644 index 3db7c65f0..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/-s-u-m_-i-n_-s-e-c-o-n-d-s/index.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - SUM_IN_SECONDS - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

SUM_IN_SECONDS

-

Sum time of all submissions without rounding

-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/-z-e-r-o/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/-z-e-r-o/index.html deleted file mode 100644 index 240e39ad3..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/-z-e-r-o/index.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - ZERO - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ZERO

-

Don't have any penalty as a tie-breaker

-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/index.html deleted file mode 100644 index c3f76a368..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/index.html +++ /dev/null @@ -1,224 +0,0 @@ - - - - - PenaltyRoundingMode - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

PenaltyRoundingMode

- -
-
-
-
-
-

Entries

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-

Round time of all submissions from the beginning of the contest down to whole minute, and then sum them

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-

Sum time of all submissions from the beginning of the contest and then round it down to whole minute

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-

Sum time of all submissions without rounding

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-

Get time of last submission as penalty

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-

Don't have any penalty as a tie-breaker

-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-

Returns an array containing the constants of this enum type, in the order they're declared.

-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/value-of.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/value-of.html deleted file mode 100644 index 0a3836907..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/value-of.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - valueOf - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

valueOf

-
-

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Throws

if this enum type has no constant with the specified name

-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/values.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/values.html deleted file mode 100644 index f56c5d875..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/values.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - values - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

values

-
-

Returns an array containing the constants of this enum type, in the order they're declared.

This method may be used to iterate over the constants.

-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/-companion/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/-companion/index.html deleted file mode 100644 index 0d6cd4607..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/-companion/index.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - - Companion - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Companion

- -
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
val logger: Logger
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/-companion/logger.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/-companion/logger.html deleted file mode 100644 index 02c28ec99..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/-companion/logger.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - logger - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

logger

-
-
val logger: Logger(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/-problem-info.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/-problem-info.html deleted file mode 100644 index 5b38c228b..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/-problem-info.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - ProblemInfo - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ProblemInfo

-
-
constructor(letter: String, name: String, id: Int, ordinal: Int, contestSystemId: String, minScore: Double? = null, maxScore: Double? = null, color: Color? = null, scoreMergeMode: ScoreMergeMode? = null)(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/color.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/color.html deleted file mode 100644 index 5e91d425d..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/color.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - color - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

color

-
-
@Serializable(with = ColorSerializer::class)
val color: Color? = null(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/contest-system-id.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/contest-system-id.html deleted file mode 100644 index f885b2b9b..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/contest-system-id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - contestSystemId - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

contestSystemId

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/id.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/id.html deleted file mode 100644 index 1e3ccdaf8..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

id

-
-
val id: Int(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/index.html deleted file mode 100644 index e84d02bdb..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/index.html +++ /dev/null @@ -1,254 +0,0 @@ - - - - - ProblemInfo - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ProblemInfo

-
@Serializable
data class ProblemInfo(val letter: String, val name: String, val id: Int, val ordinal: Int, val contestSystemId: String, val minScore: Double? = null, val maxScore: Double? = null, val color: Color? = null, val scoreMergeMode: ScoreMergeMode? = null)(source)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(letter: String, name: String, id: Int, ordinal: Int, contestSystemId: String, minScore: Double? = null, maxScore: Double? = null, color: Color? = null, scoreMergeMode: ScoreMergeMode? = null)
-
-
-
-
-
-
-
-

Types

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
object Companion
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable(with = ColorSerializer::class)
val color: Color? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val id: Int
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val maxScore: Double? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val minScore: Double? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/letter.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/letter.html deleted file mode 100644 index ececea2c7..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/letter.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - letter - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

letter

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/max-score.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/max-score.html deleted file mode 100644 index a8611ccd1..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/max-score.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - maxScore - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

maxScore

-
-
val maxScore: Double? = null(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/min-score.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/min-score.html deleted file mode 100644 index 834148074..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/min-score.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - minScore - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

minScore

-
-
val minScore: Double? = null(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/name.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/name.html deleted file mode 100644 index 12ff5c846..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/name.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - name - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

name

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/ordinal.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/ordinal.html deleted file mode 100644 index df2e77ba2..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/ordinal.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - ordinal - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ordinal

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/score-merge-mode.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/score-merge-mode.html deleted file mode 100644 index ac44163e1..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/score-merge-mode.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - scoreMergeMode - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

scoreMergeMode

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-result/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-result/index.html deleted file mode 100644 index 49e9616ae..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-result/index.html +++ /dev/null @@ -1,76 +0,0 @@ - - - - - ProblemResult - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ProblemResult

-
@Serializable
sealed class ProblemResult(source)

Inheritors

-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/-run-info.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/-run-info.html deleted file mode 100644 index 9eef52aae..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/-run-info.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - RunInfo - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

RunInfo

-
-
constructor(id: Int, result: RunResult?, percentage: Double, problemId: Int, teamId: Int, time: Duration, featuredRunMedia: MediaType? = null, reactionVideos: List<MediaType> = emptyList(), isHidden: Boolean = false)(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/featured-run-media.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/featured-run-media.html deleted file mode 100644 index 92ba571cb..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/featured-run-media.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - featuredRunMedia - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

featuredRunMedia

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/id.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/id.html deleted file mode 100644 index 46c06e922..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

id

-
-
val id: Int(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/index.html deleted file mode 100644 index 9cbb56381..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/index.html +++ /dev/null @@ -1,235 +0,0 @@ - - - - - RunInfo - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

RunInfo

-
@Serializable
data class RunInfo(val id: Int, val result: RunResult?, val percentage: Double, val problemId: Int, val teamId: Int, val time: Duration, val featuredRunMedia: MediaType? = null, val reactionVideos: List<MediaType> = emptyList(), val isHidden: Boolean = false)(source)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(id: Int, result: RunResult?, percentage: Double, problemId: Int, teamId: Int, time: Duration, featuredRunMedia: MediaType? = null, reactionVideos: List<MediaType> = emptyList(), isHidden: Boolean = false)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val id: Int
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val isHidden: Boolean = false
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val teamId: Int
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable(with = DurationInMillisecondsSerializer::class)
val time: Duration
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/is-hidden.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/is-hidden.html deleted file mode 100644 index 1aa0aab76..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/is-hidden.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - isHidden - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

isHidden

-
-
val isHidden: Boolean = false(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/percentage.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/percentage.html deleted file mode 100644 index 838fc30da..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/percentage.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - percentage - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

percentage

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/problem-id.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/problem-id.html deleted file mode 100644 index 99176ec56..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/problem-id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - problemId - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

problemId

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/reaction-videos.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/reaction-videos.html deleted file mode 100644 index 3f8e336fa..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/reaction-videos.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - reactionVideos - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

reactionVideos

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/result.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/result.html deleted file mode 100644 index 70eb3d72e..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/result.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - result - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

result

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/team-id.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/team-id.html deleted file mode 100644 index 3e7cc0da5..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/team-id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - teamId - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

teamId

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/time.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/time.html deleted file mode 100644 index 729d3953c..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/time.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - time - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

time

-
-
@Serializable(with = DurationInMillisecondsSerializer::class)
val time: Duration(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-run-result/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-run-result/index.html deleted file mode 100644 index e826b1ad4..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-run-result/index.html +++ /dev/null @@ -1,76 +0,0 @@ - - - - - RunResult - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

RunResult

-
@Serializable
sealed class RunResult(source)

Inheritors

-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/-l-a-s-t/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/-l-a-s-t/index.html deleted file mode 100644 index 0ddb53aed..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/-l-a-s-t/index.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - LAST - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

LAST

-

Get score from last submission

-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/-l-a-s-t_-o-k/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/-l-a-s-t_-o-k/index.html deleted file mode 100644 index 953946270..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/-l-a-s-t_-o-k/index.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - LAST_OK - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

LAST_OK

-

Get score from last submissions, ignoring submissions, which didn't pass preliminary testing (e.g. on sample tests)

-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/-m-a-x_-p-e-r_-g-r-o-u-p/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/-m-a-x_-p-e-r_-g-r-o-u-p/index.html deleted file mode 100644 index b3a06559b..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/-m-a-x_-p-e-r_-g-r-o-u-p/index.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - MAX_PER_GROUP - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

MAX_PER_GROUP

-

For each tests group in the problem, get maximum score over all submissions.

-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/-m-a-x_-t-o-t-a-l/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/-m-a-x_-t-o-t-a-l/index.html deleted file mode 100644 index fdd4fa3c0..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/-m-a-x_-t-o-t-a-l/index.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - MAX_TOTAL - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

MAX_TOTAL

-

Get maximum total score over all submissions

-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/-s-u-m/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/-s-u-m/index.html deleted file mode 100644 index 036f6e81e..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/-s-u-m/index.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - SUM - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

SUM

-

Get the sum of scores over all submissions

-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/index.html deleted file mode 100644 index 15fb04f6b..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/index.html +++ /dev/null @@ -1,224 +0,0 @@ - - - - - ScoreMergeMode - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ScoreMergeMode

- -
-
-
-
-
-

Entries

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-

For each tests group in the problem, get maximum score over all submissions.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-

Get maximum total score over all submissions

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-

Get score from last submission

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-

Get score from last submissions, ignoring submissions, which didn't pass preliminary testing (e.g. on sample tests)

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-

Get the sum of scores over all submissions

-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-

Returns an array containing the constants of this enum type, in the order they're declared.

-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/value-of.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/value-of.html deleted file mode 100644 index 96e89dae5..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/value-of.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - valueOf - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

valueOf

-
-

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Throws

if this enum type has no constant with the specified name

-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/values.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/values.html deleted file mode 100644 index 8001f1919..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/values.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - values - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

values

-
-

Returns an array containing the constants of this enum type, in the order they're declared.

This method may be used to iterate over the constants.

-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/-scoreboard-row.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/-scoreboard-row.html deleted file mode 100644 index 51ad38bf4..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/-scoreboard-row.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - ScoreboardRow - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ScoreboardRow

-
-
constructor(teamId: Int, rank: Int, totalScore: Double, penalty: Duration, lastAccepted: Long, medalType: String?, problemResults: List<ProblemResult>, teamGroups: List<String>, championInGroups: List<String>)(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/champion-in-groups.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/champion-in-groups.html deleted file mode 100644 index fff8ba2fb..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/champion-in-groups.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - championInGroups - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

championInGroups

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/index.html deleted file mode 100644 index c20e18975..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/index.html +++ /dev/null @@ -1,235 +0,0 @@ - - - - - ScoreboardRow - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ScoreboardRow

-
@Serializable
data class ScoreboardRow(val teamId: Int, val rank: Int, val totalScore: Double, val penalty: Duration, val lastAccepted: Long, val medalType: String?, val problemResults: List<ProblemResult>, val teamGroups: List<String>, val championInGroups: List<String>)(source)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(teamId: Int, rank: Int, totalScore: Double, penalty: Duration, lastAccepted: Long, medalType: String?, problemResults: List<ProblemResult>, teamGroups: List<String>, championInGroups: List<String>)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable(with = DurationInMinutesSerializer::class)
val penalty: Duration
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
- -
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val rank: Int
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val teamId: Int
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/last-accepted.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/last-accepted.html deleted file mode 100644 index 0cdec2fe1..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/last-accepted.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - lastAccepted - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

lastAccepted

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/medal-type.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/medal-type.html deleted file mode 100644 index ea85ecdef..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/medal-type.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - medalType - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

medalType

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/penalty.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/penalty.html deleted file mode 100644 index f9f5a4747..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/penalty.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - penalty - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

penalty

-
-
@Serializable(with = DurationInMinutesSerializer::class)
val penalty: Duration(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/problem-results.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/problem-results.html deleted file mode 100644 index 4d4b5f320..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/problem-results.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - problemResults - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

problemResults

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/rank.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/rank.html deleted file mode 100644 index f8b17ea90..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/rank.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - rank - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

rank

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/team-groups.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/team-groups.html deleted file mode 100644 index 57f6b879e..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/team-groups.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - teamGroups - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

teamGroups

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/team-id.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/team-id.html deleted file mode 100644 index 6b529e997..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/team-id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - teamId - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

teamId

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/total-score.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/total-score.html deleted file mode 100644 index f111ef81c..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/total-score.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - totalScore - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

totalScore

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard/-scoreboard.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard/-scoreboard.html deleted file mode 100644 index d3d72c170..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard/-scoreboard.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - Scoreboard - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Scoreboard

-
-
constructor(lastSubmitTime: Duration, rows: List<ScoreboardRow>)(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard/index.html deleted file mode 100644 index e0c31aa9b..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard/index.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - Scoreboard - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Scoreboard

-
@Serializable
data class Scoreboard(val lastSubmitTime: Duration, val rows: List<ScoreboardRow>)(source)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(lastSubmitTime: Duration, rows: List<ScoreboardRow>)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable(with = DurationInMillisecondsSerializer::class)
val lastSubmitTime: Duration
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard/last-submit-time.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard/last-submit-time.html deleted file mode 100644 index 15748f03a..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard/last-submit-time.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - lastSubmitTime - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

lastSubmitTime

-
-
@Serializable(with = DurationInMillisecondsSerializer::class)
val lastSubmitTime: Duration(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard/rows.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard/rows.html deleted file mode 100644 index a95edeeff..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard/rows.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - rows - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

rows

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/-team-info.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/-team-info.html deleted file mode 100644 index f3acd29dc..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/-team-info.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - TeamInfo - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

TeamInfo

-
-
constructor(id: Int, fullName: String, displayName: String, contestSystemId: String, groups: List<String>, hashTag: String?, medias: Map<TeamMediaType, MediaType>, isHidden: Boolean, isOutOfContest: Boolean, organizationId: String?, customFields: Map<String, String> = emptyMap())(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/contest-system-id.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/contest-system-id.html deleted file mode 100644 index 8af453b83..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/contest-system-id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - contestSystemId - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

contestSystemId

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/custom-fields.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/custom-fields.html deleted file mode 100644 index 24076cbd3..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/custom-fields.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - customFields - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

customFields

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/display-name.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/display-name.html deleted file mode 100644 index 9be658088..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/display-name.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - displayName - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

displayName

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/full-name.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/full-name.html deleted file mode 100644 index 8fe31c6d4..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/full-name.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - fullName - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

fullName

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/groups.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/groups.html deleted file mode 100644 index 333313d6c..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/groups.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - groups - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

groups

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/hash-tag.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/hash-tag.html deleted file mode 100644 index f34f59fad..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/hash-tag.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - hashTag - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

hashTag

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/id.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/id.html deleted file mode 100644 index c8ace4442..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - id - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

id

-
-
val id: Int(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/index.html deleted file mode 100644 index e04b0f117..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/index.html +++ /dev/null @@ -1,265 +0,0 @@ - - - - - TeamInfo - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

TeamInfo

-
@Serializable
data class TeamInfo(val id: Int, val fullName: String, val displayName: String, val contestSystemId: String, val groups: List<String>, val hashTag: String?, val medias: Map<TeamMediaType, MediaType>, val isHidden: Boolean, val isOutOfContest: Boolean, val organizationId: String?, val customFields: Map<String, String> = emptyMap())(source)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(id: Int, fullName: String, displayName: String, contestSystemId: String, groups: List<String>, hashTag: String?, medias: Map<TeamMediaType, MediaType>, isHidden: Boolean, isOutOfContest: Boolean, organizationId: String?, customFields: Map<String, String> = emptyMap())
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val id: Int
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
- -
-
-
- - -
Link copied to clipboard
-
- -
-
- -
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/is-hidden.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/is-hidden.html deleted file mode 100644 index 2f732fa5a..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/is-hidden.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - isHidden - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

isHidden

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/is-out-of-contest.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/is-out-of-contest.html deleted file mode 100644 index 44130fcb6..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/is-out-of-contest.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - isOutOfContest - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

isOutOfContest

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/medias.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/medias.html deleted file mode 100644 index ba203bf13..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/medias.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - medias - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

medias

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/organization-id.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/organization-id.html deleted file mode 100644 index 0d33df73d..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/organization-id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - organizationId - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

organizationId

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/-a-c-h-i-e-v-e-m-e-n-t/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/-a-c-h-i-e-v-e-m-e-n-t/index.html deleted file mode 100644 index 76a8691f6..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/-a-c-h-i-e-v-e-m-e-n-t/index.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - ACHIEVEMENT - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ACHIEVEMENT

- -
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/-c-a-m-e-r-a/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/-c-a-m-e-r-a/index.html deleted file mode 100644 index d2e35f3b6..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/-c-a-m-e-r-a/index.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - CAMERA - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

CAMERA

- -
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/-p-h-o-t-o/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/-p-h-o-t-o/index.html deleted file mode 100644 index 65473bedf..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/-p-h-o-t-o/index.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - PHOTO - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

PHOTO

- -
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/-r-e-a-c-t-i-o-n_-v-i-d-e-o/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/-r-e-a-c-t-i-o-n_-v-i-d-e-o/index.html deleted file mode 100644 index 6fead3d43..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/-r-e-a-c-t-i-o-n_-v-i-d-e-o/index.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - REACTION_VIDEO - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

REACTION_VIDEO

- -
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/-r-e-c-o-r-d/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/-r-e-c-o-r-d/index.html deleted file mode 100644 index a27c2f713..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/-r-e-c-o-r-d/index.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - RECORD - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

RECORD

- -
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/-s-c-r-e-e-n/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/-s-c-r-e-e-n/index.html deleted file mode 100644 index 4763c7b14..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/-s-c-r-e-e-n/index.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - SCREEN - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

SCREEN

- -
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/index.html deleted file mode 100644 index f6b6f7508..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/index.html +++ /dev/null @@ -1,239 +0,0 @@ - - - - - TeamMediaType - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

TeamMediaType

-
@Serializable
enum TeamMediaType : Enum<TeamMediaType> (source)
-
-
-
-
-
-

Entries

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-

Returns an array containing the constants of this enum type, in the order they're declared.

-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/value-of.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/value-of.html deleted file mode 100644 index 78f546eca..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/value-of.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - valueOf - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

valueOf

-
-

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Throws

if this enum type has no constant with the specified name

-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/values.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/values.html deleted file mode 100644 index 903580d3d..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/values.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - values - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

values

-
-

Returns an array containing the constants of this enum type, in the order they're declared.

This method may be used to iterate over the constants.

-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict-serializer/-verdict-serializer.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict-serializer/-verdict-serializer.html deleted file mode 100644 index 4f6e0396c..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict-serializer/-verdict-serializer.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - VerdictSerializer - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

VerdictSerializer

-
-
constructor()(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict-serializer/descriptor.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict-serializer/descriptor.html deleted file mode 100644 index 662f47d9f..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict-serializer/descriptor.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - descriptor - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

descriptor

-
-
open override val descriptor: <Error class: unknown class>(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict-serializer/deserialize.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict-serializer/deserialize.html deleted file mode 100644 index a2478c0b5..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict-serializer/deserialize.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - deserialize - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

deserialize

-
-
open override fun deserialize(decoder: Decoder): Verdict(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict-serializer/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict-serializer/index.html deleted file mode 100644 index 2bea38517..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict-serializer/index.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - VerdictSerializer - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

VerdictSerializer

-
class VerdictSerializer : KSerializer<Verdict> (source)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor()
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val descriptor: <Error class: unknown class>
-
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
open override fun deserialize(decoder: Decoder): Verdict
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override fun serialize(encoder: Encoder, value: Verdict)
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict-serializer/serialize.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict-serializer/serialize.html deleted file mode 100644 index 60411a3a3..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict-serializer/serialize.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - serialize - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

serialize

-
-
open override fun serialize(encoder: Encoder, value: Verdict)(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-accepted/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-accepted/index.html deleted file mode 100644 index 0583176f5..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-accepted/index.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - Accepted - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Accepted

- -
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-challenged/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-challenged/index.html deleted file mode 100644 index f8d7a36e5..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-challenged/index.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - Challenged - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Challenged

- -
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-companion/all.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-companion/all.html deleted file mode 100644 index e0c6463d9..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-companion/all.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - all - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

all

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-companion/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-companion/index.html deleted file mode 100644 index 62fb29107..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-companion/index.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - Companion - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Companion

- -
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
fun lookup(shortName: String, isAddingPenalty: Boolean, isAccepted: Boolean): Verdict
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-companion/lookup.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-companion/lookup.html deleted file mode 100644 index 68371509a..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-companion/lookup.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - lookup - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

lookup

-
-
fun lookup(shortName: String, isAddingPenalty: Boolean, isAccepted: Boolean): Verdict(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-compilation-error-with-penalty/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-compilation-error-with-penalty/index.html deleted file mode 100644 index 6558ace8d..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-compilation-error-with-penalty/index.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - CompilationErrorWithPenalty - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

CompilationErrorWithPenalty

- -
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-compilation-error/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-compilation-error/index.html deleted file mode 100644 index b4a3afe12..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-compilation-error/index.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - CompilationError - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

CompilationError

- -
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-fail/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-fail/index.html deleted file mode 100644 index bc5184cfd..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-fail/index.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - Fail - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Fail

-
object Fail : Verdict(source)
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-idleness-limit-exceeded/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-idleness-limit-exceeded/index.html deleted file mode 100644 index 2441f6189..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-idleness-limit-exceeded/index.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - IdlenessLimitExceeded - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

IdlenessLimitExceeded

- -
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-ignored/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-ignored/index.html deleted file mode 100644 index 59d684c95..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-ignored/index.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - Ignored - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Ignored

- -
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-memory-limit-exceeded/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-memory-limit-exceeded/index.html deleted file mode 100644 index 897b73a97..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-memory-limit-exceeded/index.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - MemoryLimitExceeded - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

MemoryLimitExceeded

- -
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-output-limit-exceeded/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-output-limit-exceeded/index.html deleted file mode 100644 index 79fab6f2d..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-output-limit-exceeded/index.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - OutputLimitExceeded - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

OutputLimitExceeded

- -
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-presentation-error/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-presentation-error/index.html deleted file mode 100644 index 50b221822..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-presentation-error/index.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - PresentationError - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

PresentationError

- -
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-rejected/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-rejected/index.html deleted file mode 100644 index 1be321638..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-rejected/index.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - Rejected - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Rejected

- -
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-runtime-error/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-runtime-error/index.html deleted file mode 100644 index 498e1e631..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-runtime-error/index.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - RuntimeError - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

RuntimeError

- -
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-security-violation/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-security-violation/index.html deleted file mode 100644 index a6359aeea..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-security-violation/index.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - SecurityViolation - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

SecurityViolation

- -
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-time-limit-exceeded/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-time-limit-exceeded/index.html deleted file mode 100644 index 15c3a7f4f..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-time-limit-exceeded/index.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - TimeLimitExceeded - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

TimeLimitExceeded

- -
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-wrong-answer/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-wrong-answer/index.html deleted file mode 100644 index 495d4bccd..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-wrong-answer/index.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - WrongAnswer - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

WrongAnswer

- -
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/index.html deleted file mode 100644 index 62ed45a0d..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/index.html +++ /dev/null @@ -1,389 +0,0 @@ - - - - - Verdict - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- - -
-
-
-
-

Types

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
object Accepted : Verdict
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
object Companion
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
- -
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
object Fail : Verdict
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
object Ignored : Verdict
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
object Rejected : Verdict
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/is-accepted.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/is-accepted.html deleted file mode 100644 index 18ac6b19d..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/is-accepted.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - isAccepted - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

isAccepted

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/is-adding-penalty.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/is-adding-penalty.html deleted file mode 100644 index fa2491ac3..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/is-adding-penalty.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - isAddingPenalty - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

isAddingPenalty

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/short-name.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/short-name.html deleted file mode 100644 index 8bfe11882..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/short-name.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - shortName - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

shortName

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/to-run-result.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/to-run-result.html deleted file mode 100644 index 8b06bf8fa..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/to-run-result.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - toRunResult - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

toRunResult

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/index.html deleted file mode 100644 index 79d64573b..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/index.html +++ /dev/null @@ -1,534 +0,0 @@ - - - - - org.icpclive.api - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Package-level declarations

-
-
-
-
-
-

Types

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class AnalyticsCommentaryEvent(val id: String, val message: String, val time: Instant, val relativeTime: Duration, val teamIds: List<Int>, val runIds: List<Int>, val priority: Int = 0, val tags: List<String> = emptyList(), val advertisement: AnalyticsCompanionPreset? = null, val tickerMessage: AnalyticsCompanionPreset? = null, val featuredRun: AnalyticsCompanionRun? = null) : AnalyticsMessage
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class AnalyticsCompanionPreset(val presetId: Int, val expirationTime: Instant?)
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class AnalyticsCompanionRun(val expirationTime: Instant?, val mediaType: MediaType)
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
sealed class AnalyticsMessage
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class ContestInfo(val name: String, val status: ContestStatus, val resultType: ContestResultType, val startTime: Instant, val contestLength: Duration, val freezeTime: Duration, val problems: List<ProblemInfo>, val teams: List<TeamInfo>, val groups: List<GroupInfo>, val organizations: List<OrganizationInfo>, val penaltyRoundingMode: PenaltyRoundingMode, val holdBeforeStartTime: Duration? = null, val emulationSpeed: Double = 1.0, val medals: List<MedalType> = emptyList(), val penaltyPerWrongAttempt: Duration = 20.minutes)
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
enum ContestStatus : Enum<ContestStatus>
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class GroupInfo(val name: String, val isHidden: Boolean = false, val isOutOfContest: Boolean = false)
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class ICPCProblemResult(val wrongAttempts: Int, val pendingAttempts: Int, val isSolved: Boolean, val isFirstToSolve: Boolean, val lastSubmitTime: Duration?) : ProblemResult
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class ICPCRunResult(val verdict: Verdict, val isFirstToSolveRun: Boolean) : RunResult
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class IOIProblemResult(val score: Double?, val lastSubmitTime: Duration?, val isFirstBest: Boolean) : ProblemResult
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class IOIRunResult(val score: List<Double>, val wrongVerdict: Verdict? = null, val difference: Double = 0.0, val scoreAfter: Double = 0.0, val isFirstBestRun: Boolean = false, val isFirstBestTeamRun: Boolean = false) : RunResult
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
- -
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class MedalType(val name: String, val count: Int, val minScore: Double = Double.MIN_VALUE, val tiebreakMode: MedalTiebreakMode = MedalTiebreakMode.ALL)
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
sealed class MediaType
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
enum OptimismLevel : Enum<OptimismLevel>
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class OrganizationInfo(val cdsId: String, val displayName: String, val fullName: String)
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class ProblemInfo(val letter: String, val name: String, val id: Int, val ordinal: Int, val contestSystemId: String, val minScore: Double? = null, val maxScore: Double? = null, val color: Color? = null, val scoreMergeMode: ScoreMergeMode? = null)
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
sealed class ProblemResult
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class RunInfo(val id: Int, val result: RunResult?, val percentage: Double, val problemId: Int, val teamId: Int, val time: Duration, val featuredRunMedia: MediaType? = null, val reactionVideos: List<MediaType> = emptyList(), val isHidden: Boolean = false)
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
sealed class RunResult
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class Scoreboard(val lastSubmitTime: Duration, val rows: List<ScoreboardRow>)
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class ScoreboardRow(val teamId: Int, val rank: Int, val totalScore: Double, val penalty: Duration, val lastAccepted: Long, val medalType: String?, val problemResults: List<ProblemResult>, val teamGroups: List<String>, val championInGroups: List<String>)
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
- -
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
data class TeamInfo(val id: Int, val fullName: String, val displayName: String, val contestSystemId: String, val groups: List<String>, val hashTag: String?, val medias: Map<TeamMediaType, MediaType>, val isHidden: Boolean, val isOutOfContest: Boolean, val organizationId: String?, val customFields: Map<String, String> = emptyMap())
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
enum TeamMediaType : Enum<TeamMediaType>
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable(with = VerdictSerializer::class)
sealed class Verdict
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
class VerdictSerializer : KSerializer<Verdict>
-
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
- -
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/to-group-infos.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/to-group-infos.html deleted file mode 100644 index eadac3fba..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api/to-group-infos.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - toGroupInfos - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

toGroupInfos

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-advanced-properties-adapter/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-advanced-properties-adapter/index.html deleted file mode 100644 index 369f41a5c..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-advanced-properties-adapter/index.html +++ /dev/null @@ -1,76 +0,0 @@ - - - - - AdvancedPropertiesAdapter - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

AdvancedPropertiesAdapter

- -
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/-contest-event-with-grouped-runs.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/-contest-event-with-grouped-runs.html deleted file mode 100644 index 308cbf3d2..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/-contest-event-with-grouped-runs.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - ContestEventWithGroupedRuns - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ContestEventWithGroupedRuns

-
-
constructor(event: ContestUpdate, infoBeforeEvent: ContestInfo?, runs: PersistentMap<K, PersistentList<RunInfo>>)(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/event.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/event.html deleted file mode 100644 index 6f02cd25e..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/event.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - event - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

event

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/index.html deleted file mode 100644 index acf38cb84..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/index.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - ContestEventWithGroupedRuns - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ContestEventWithGroupedRuns

-
class ContestEventWithGroupedRuns<K>(val event: ContestUpdate, val infoBeforeEvent: ContestInfo?, val runs: PersistentMap<K, PersistentList<RunInfo>>)(source)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(event: ContestUpdate, infoBeforeEvent: ContestInfo?, runs: PersistentMap<K, PersistentList<RunInfo>>)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
- -
-
-
- - -
Link copied to clipboard
-
- -
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val runs: PersistentMap<K, PersistentList<RunInfo>>
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/info-after-event.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/info-after-event.html deleted file mode 100644 index 6b76551fc..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/info-after-event.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - infoAfterEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

infoAfterEvent

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/info-before-event.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/info-before-event.html deleted file mode 100644 index 879158188..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/info-before-event.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - infoBeforeEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

infoBeforeEvent

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/runs.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/runs.html deleted file mode 100644 index 1c4ebb750..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/runs.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - runs - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

runs

-
-
val runs: PersistentMap<K, PersistentList<RunInfo>>(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-runs-before/-contest-event-with-runs-before.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-runs-before/-contest-event-with-runs-before.html deleted file mode 100644 index a54b4a12f..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-runs-before/-contest-event-with-runs-before.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - ContestEventWithRunsBefore - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ContestEventWithRunsBefore

-
-
constructor(event: ContestUpdate, infoBeforeEvent: ContestInfo?, runs: PersistentMap<Int, RunInfo>)(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-runs-before/event.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-runs-before/event.html deleted file mode 100644 index 2053ce49a..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-runs-before/event.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - event - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

event

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-runs-before/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-runs-before/index.html deleted file mode 100644 index 3832bcaad..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-runs-before/index.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - ContestEventWithRunsBefore - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ContestEventWithRunsBefore

-
class ContestEventWithRunsBefore(val event: ContestUpdate, val infoBeforeEvent: ContestInfo?, val runs: PersistentMap<Int, RunInfo>)(source)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(event: ContestUpdate, infoBeforeEvent: ContestInfo?, runs: PersistentMap<Int, RunInfo>)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
- -
-
-
- - -
Link copied to clipboard
-
- -
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val runs: PersistentMap<Int, RunInfo>
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-runs-before/info-after-event.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-runs-before/info-after-event.html deleted file mode 100644 index 81ba8ee6a..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-runs-before/info-after-event.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - infoAfterEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

infoAfterEvent

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-runs-before/info-before-event.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-runs-before/info-before-event.html deleted file mode 100644 index e0a0800fd..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-runs-before/info-before-event.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - infoBeforeEvent - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

infoBeforeEvent

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-runs-before/runs.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-runs-before/runs.html deleted file mode 100644 index 100defea6..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-runs-before/runs.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - runs - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

runs

-
-
val runs: PersistentMap<Int, RunInfo>(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-state-with-grouped-runs/-contest-state-with-grouped-runs.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-state-with-grouped-runs/-contest-state-with-grouped-runs.html deleted file mode 100644 index 59e9093b7..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-state-with-grouped-runs/-contest-state-with-grouped-runs.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - ContestStateWithGroupedRuns - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ContestStateWithGroupedRuns

-
-
constructor(info: ContestInfo?, runs: PersistentMap<K, PersistentList<RunInfo>>)(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-state-with-grouped-runs/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-state-with-grouped-runs/index.html deleted file mode 100644 index 7e4fa5a6d..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-state-with-grouped-runs/index.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - ContestStateWithGroupedRuns - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ContestStateWithGroupedRuns

-
open class ContestStateWithGroupedRuns<K>(val info: ContestInfo?, val runs: PersistentMap<K, PersistentList<RunInfo>>)(source)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(info: ContestInfo?, runs: PersistentMap<K, PersistentList<RunInfo>>)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val runs: PersistentMap<K, PersistentList<RunInfo>>
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-state-with-grouped-runs/info.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-state-with-grouped-runs/info.html deleted file mode 100644 index c0b5ebc54..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-state-with-grouped-runs/info.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - info - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

info

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-state-with-grouped-runs/runs.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-state-with-grouped-runs/runs.html deleted file mode 100644 index 06c5ec449..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-state-with-grouped-runs/runs.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - runs - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

runs

-
-
val runs: PersistentMap<K, PersistentList<RunInfo>>(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-state-with-runs-by-team/-contest-state-with-runs-by-team.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-state-with-runs-by-team/-contest-state-with-runs-by-team.html deleted file mode 100644 index 650c9f410..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-state-with-runs-by-team/-contest-state-with-runs-by-team.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - ContestStateWithRunsByTeam - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ContestStateWithRunsByTeam

-
-
constructor(info: ContestInfo?, runs: PersistentMap<Int, PersistentList<RunInfo>>)(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-state-with-runs-by-team/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-state-with-runs-by-team/index.html deleted file mode 100644 index a07039307..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-state-with-runs-by-team/index.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - ContestStateWithRunsByTeam - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ContestStateWithRunsByTeam

-
class ContestStateWithRunsByTeam(val info: ContestInfo?, val runs: PersistentMap<Int, PersistentList<RunInfo>>)(source)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(info: ContestInfo?, runs: PersistentMap<Int, PersistentList<RunInfo>>)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val runs: PersistentMap<Int, PersistentList<RunInfo>>
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-state-with-runs-by-team/info.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-state-with-runs-by-team/info.html deleted file mode 100644 index 01b89f7e9..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-state-with-runs-by-team/info.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - info - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

info

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-state-with-runs-by-team/runs.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-state-with-runs-by-team/runs.html deleted file mode 100644 index 488c7bf7f..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-state-with-runs-by-team/runs.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - runs - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

runs

-
-
val runs: PersistentMap<Int, PersistentList<RunInfo>>(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/add-first-to-solves.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/add-first-to-solves.html deleted file mode 100644 index ba24c057c..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/add-first-to-solves.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - addFirstToSolves - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

addFirstToSolves

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/apply-advanced-properties.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/apply-advanced-properties.html deleted file mode 100644 index f7f07a5ca..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/apply-advanced-properties.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - applyAdvancedProperties - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

applyAdvancedProperties

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/calculate-score-differences.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/calculate-score-differences.html deleted file mode 100644 index 739593313..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/calculate-score-differences.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - calculateScoreDifferences - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

calculateScoreDifferences

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/filter-useless.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/filter-useless.html deleted file mode 100644 index a029c588d..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/filter-useless.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - filterUseless - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

filterUseless

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/index.html deleted file mode 100644 index b28796498..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/index.html +++ /dev/null @@ -1,339 +0,0 @@ - - - - - org.icpclive.cds.adapters - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Package-level declarations

-
-
-
-
-
-

Types

-
-
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
class ContestEventWithGroupedRuns<K>(val event: ContestUpdate, val infoBeforeEvent: ContestInfo?, val runs: PersistentMap<K, PersistentList<RunInfo>>)
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
class ContestEventWithRunsBefore(val event: ContestUpdate, val infoBeforeEvent: ContestInfo?, val runs: PersistentMap<Int, RunInfo>)
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open class ContestStateWithGroupedRuns<K>(val info: ContestInfo?, val runs: PersistentMap<K, PersistentList<RunInfo>>)
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
class ContestStateWithRunsByTeam(val info: ContestInfo?, val runs: PersistentMap<Int, PersistentList<RunInfo>>)
-
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
fun Flow<ContestUpdate>.applyAdvancedProperties(advancedPropsFlow: Flow<AdvancedProperties>): Flow<ContestUpdate>
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
- -
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
- -
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
- -
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
inline fun <K, V> PersistentMap<K, V>.update(k: K, block: (V?) -> V): PersistentMap<K, V>
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
- -
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
fun <K : Any> Flow<ContestUpdate>.withGroupedRuns(selector: (RunInfo) -> K, transformGroup: (key: K, cur: PersistentList<RunInfo>, original: PersistentList<RunInfo>, info: ContestInfo?) -> List<RunInfo>? = null, needUpdateGroup: (new: ContestInfo, old: ContestInfo?, key: K) -> Boolean? = null): Flow<ContestEventWithGroupedRuns<K>>
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
- -
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/process-hidden-teams-and-groups.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/process-hidden-teams-and-groups.html deleted file mode 100644 index a0354b759..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/process-hidden-teams-and-groups.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - processHiddenTeamsAndGroups - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

processHiddenTeamsAndGroups

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/remove-frozen-submissions.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/remove-frozen-submissions.html deleted file mode 100644 index c5e747f91..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/remove-frozen-submissions.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - removeFrozenSubmissions - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

removeFrozenSubmissions

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/state-grouped-by-team.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/state-grouped-by-team.html deleted file mode 100644 index 9aa053865..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/state-grouped-by-team.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - stateGroupedByTeam - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

stateGroupedByTeam

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/state-with-grouped-runs.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/state-with-grouped-runs.html deleted file mode 100644 index c80f44d42..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/state-with-grouped-runs.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - stateWithGroupedRuns - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

stateWithGroupedRuns

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/update.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/update.html deleted file mode 100644 index e82b88bb3..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/update.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - update - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

update

-
-
inline fun <K, V> PersistentMap<K, V>.update(k: K, block: (V?) -> V): PersistentMap<K, V>(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/with-contest-info-before.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/with-contest-info-before.html deleted file mode 100644 index 80692cd7c..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/with-contest-info-before.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - withContestInfoBefore - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

withContestInfoBefore

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/with-grouped-runs.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/with-grouped-runs.html deleted file mode 100644 index 5508a34f9..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/with-grouped-runs.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - withGroupedRuns - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

withGroupedRuns

-
-
fun <K : Any> Flow<ContestUpdate>.withGroupedRuns(selector: (RunInfo) -> K, transformGroup: (key: K, cur: PersistentList<RunInfo>, original: PersistentList<RunInfo>, info: ContestInfo?) -> List<RunInfo>? = null, needUpdateGroup: (new: ContestInfo, old: ContestInfo?, key: K) -> Boolean? = null): Flow<ContestEventWithGroupedRuns<K>>(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/with-runs-before.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/with-runs-before.html deleted file mode 100644 index 74722f8b9..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/with-runs-before.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - withRunsBefore - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

withRunsBefore

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.common/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.common/index.html deleted file mode 100644 index c6cd76c18..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.common/index.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - org.icpclive.cds.common - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Package-level declarations

-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.common/set-allow-unsecure-connections.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.common/set-allow-unsecure-connections.html deleted file mode 100644 index be1448d97..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.common/set-allow-unsecure-connections.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - setAllowUnsecureConnections - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

setAllowUnsecureConnections

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-d-s-settings/emulation.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-d-s-settings/emulation.html deleted file mode 100644 index 3a45f1ab5..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-d-s-settings/emulation.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - emulation - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

emulation

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-d-s-settings/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-d-s-settings/index.html deleted file mode 100644 index 1601cea6f..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-d-s-settings/index.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - CDSSettings - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- - -
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
fun toFlow(creds: Map<String, String>): Flow<ContestUpdate>
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override fun toString(): String
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-d-s-settings/to-flow.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-d-s-settings/to-flow.html deleted file mode 100644 index d961f9a0d..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-d-s-settings/to-flow.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - toFlow - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

toFlow

-
-
fun toFlow(creds: Map<String, String>): Flow<ContestUpdate>(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-d-s-settings/to-string.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-d-s-settings/to-string.html deleted file mode 100644 index 71f1ec04e..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-d-s-settings/to-string.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - toString - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

toString

-
-
open override fun toString(): String(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-f-settings/-c-f-settings.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-f-settings/-c-f-settings.html deleted file mode 100644 index 732cb1202..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-f-settings/-c-f-settings.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - CFSettings - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

CFSettings

-
-
constructor(contestId: Int, apiKey: Credential, apiSecret: Credential, asManager: Boolean = true, emulation: EmulationSettings? = null)(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-f-settings/api-key.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-f-settings/api-key.html deleted file mode 100644 index f40154e5e..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-f-settings/api-key.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - apiKey - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

apiKey

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-f-settings/api-secret.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-f-settings/api-secret.html deleted file mode 100644 index b5bd5f509..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-f-settings/api-secret.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - apiSecret - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

apiSecret

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-f-settings/as-manager.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-f-settings/as-manager.html deleted file mode 100644 index 341fce7df..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-f-settings/as-manager.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - asManager - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

asManager

-
-
val asManager: Boolean = true(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-f-settings/contest-id.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-f-settings/contest-id.html deleted file mode 100644 index 4194d92c1..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-f-settings/contest-id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - contestId - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

contestId

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-f-settings/emulation.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-f-settings/emulation.html deleted file mode 100644 index 3e97e2db3..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-f-settings/emulation.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - emulation - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

emulation

-
-
open override val emulation: EmulationSettings? = null(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-f-settings/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-f-settings/index.html deleted file mode 100644 index 8a733c216..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-f-settings/index.html +++ /dev/null @@ -1,209 +0,0 @@ - - - - - CFSettings - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

CFSettings

-
@Serializable
class CFSettings(val contestId: Int, val apiKey: Credential, val apiSecret: Credential, val asManager: Boolean = true, val emulation: EmulationSettings? = null) : CDSSettings(source)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(contestId: Int, apiKey: Credential, apiSecret: Credential, asManager: Boolean = true, emulation: EmulationSettings? = null)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val asManager: Boolean = true
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val emulation: EmulationSettings? = null
-
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
fun toFlow(creds: Map<String, String>): Flow<ContestUpdate>
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override fun toString(): String
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/-cats-settings.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/-cats-settings.html deleted file mode 100644 index c3f71dc22..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/-cats-settings.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - CatsSettings - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

CatsSettings

-
-
constructor(login: Credential, password: Credential, url: String, timeZone: TimeZone = TimeZone.of("Asia/Vladivostok"), resultType: ContestResultType = ContestResultType.ICPC, cid: String, emulation: EmulationSettings? = null)(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/cid.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/cid.html deleted file mode 100644 index aeb9cc6e5..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/cid.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - cid - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

cid

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/emulation.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/emulation.html deleted file mode 100644 index d22a96648..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/emulation.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - emulation - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

emulation

-
-
open override val emulation: EmulationSettings? = null(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/index.html deleted file mode 100644 index 37442706b..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/index.html +++ /dev/null @@ -1,239 +0,0 @@ - - - - - CatsSettings - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

CatsSettings

-
@Serializable
class CatsSettings(val login: Credential, val password: Credential, val url: String, val timeZone: TimeZone = TimeZone.of("Asia/Vladivostok"), val resultType: ContestResultType = ContestResultType.ICPC, val cid: String, val emulation: EmulationSettings? = null) : CDSSettings(source)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(login: Credential, password: Credential, url: String, timeZone: TimeZone = TimeZone.of("Asia/Vladivostok"), resultType: ContestResultType = ContestResultType.ICPC, cid: String, emulation: EmulationSettings? = null)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
val cid: String
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val emulation: EmulationSettings? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
- -
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable(with = TimeZoneSerializer::class)
val timeZone: TimeZone
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val url: String
-
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
fun toFlow(creds: Map<String, String>): Flow<ContestUpdate>
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override fun toString(): String
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/login.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/login.html deleted file mode 100644 index fe5ed8012..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/login.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - login - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

login

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/password.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/password.html deleted file mode 100644 index c5c478b60..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/password.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - password - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

password

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/result-type.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/result-type.html deleted file mode 100644 index df7a1ba67..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/result-type.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - resultType - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

resultType

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/time-zone.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/time-zone.html deleted file mode 100644 index 95fe479bc..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/time-zone.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - timeZone - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

timeZone

-
-
@Serializable(with = TimeZoneSerializer::class)
val timeZone: TimeZone(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/url.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/url.html deleted file mode 100644 index ba6a8ffd5..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/url.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - url - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

url

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/-clics-loader-settings.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/-clics-loader-settings.html deleted file mode 100644 index d58ae1d15..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/-clics-loader-settings.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - ClicsLoaderSettings - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ClicsLoaderSettings

-
-
constructor(url: String, login: Credential? = null, password: Credential? = null, eventFeedName: String = "event-feed", feedVersion: FeedVersion = FeedVersion.`2022_07`)(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/event-feed-name.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/event-feed-name.html deleted file mode 100644 index 46cab3aa3..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/event-feed-name.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - eventFeedName - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

eventFeedName

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/feed-version.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/feed-version.html deleted file mode 100644 index 535233c64..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/feed-version.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - feedVersion - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

feedVersion

-
-
val feedVersion: FeedVersion(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/index.html deleted file mode 100644 index ab06bd0db..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/index.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - ClicsLoaderSettings - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ClicsLoaderSettings

-
@Serializable
class ClicsLoaderSettings(val url: String, val login: Credential? = null, val password: Credential? = null, val eventFeedName: String = "event-feed", val feedVersion: FeedVersion = FeedVersion.`2022_07`)(source)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(url: String, login: Credential? = null, password: Credential? = null, eventFeedName: String = "event-feed", feedVersion: FeedVersion = FeedVersion.`2022_07`)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val feedVersion: FeedVersion
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val login: Credential? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val password: Credential? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val url: String
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/login.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/login.html deleted file mode 100644 index 4fcba0c60..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/login.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - login - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

login

-
-
val login: Credential? = null(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/password.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/password.html deleted file mode 100644 index d27ec5db5..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/password.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - password - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

password

-
-
val password: Credential? = null(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/url.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/url.html deleted file mode 100644 index e1abeacd7..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/url.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - url - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

url

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/-clics-settings.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/-clics-settings.html deleted file mode 100644 index 41352e2a5..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/-clics-settings.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - ClicsSettings - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ClicsSettings

-
-
constructor(url: String, login: Credential? = null, password: Credential? = null, eventFeedName: String = "event-feed", feedVersion: FeedVersion = FeedVersion.`2022_07`, additionalFeed: ClicsLoaderSettings? = null, useTeamNames: Boolean = true, mediaBaseUrl: String = "", emulation: EmulationSettings? = null)(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/additional-feed.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/additional-feed.html deleted file mode 100644 index 617201b1f..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/additional-feed.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - additionalFeed - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

additionalFeed

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/emulation.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/emulation.html deleted file mode 100644 index c27a73bbf..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/emulation.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - emulation - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

emulation

-
-
open override val emulation: EmulationSettings? = null(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/index.html deleted file mode 100644 index 0e8afbd51..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/index.html +++ /dev/null @@ -1,209 +0,0 @@ - - - - - ClicsSettings - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ClicsSettings

-
@Serializable
class ClicsSettings(url: String, login: Credential? = null, password: Credential? = null, eventFeedName: String = "event-feed", feedVersion: FeedVersion = FeedVersion.`2022_07`, val additionalFeed: ClicsLoaderSettings? = null, val useTeamNames: Boolean = true, val mediaBaseUrl: String = "", val emulation: EmulationSettings? = null) : CDSSettings(source)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(url: String, login: Credential? = null, password: Credential? = null, eventFeedName: String = "event-feed", feedVersion: FeedVersion = FeedVersion.`2022_07`, additionalFeed: ClicsLoaderSettings? = null, useTeamNames: Boolean = true, mediaBaseUrl: String = "", emulation: EmulationSettings? = null)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val emulation: EmulationSettings? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
- -
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val useTeamNames: Boolean = true
-
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
fun toFlow(creds: Map<String, String>): Flow<ContestUpdate>
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override fun toString(): String
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/main-feed.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/main-feed.html deleted file mode 100644 index f45a57549..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/main-feed.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - mainFeed - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

mainFeed

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/media-base-url.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/media-base-url.html deleted file mode 100644 index bf64f8bb4..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/media-base-url.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - mediaBaseUrl - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

mediaBaseUrl

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/use-team-names.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/use-team-names.html deleted file mode 100644 index a6d0ce899..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/use-team-names.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - useTeamNames - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

useTeamNames

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-code-drills-settings/-code-drills-settings.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-code-drills-settings/-code-drills-settings.html deleted file mode 100644 index 44a30deb9..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-code-drills-settings/-code-drills-settings.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - CodeDrillsSettings - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

CodeDrillsSettings

-
-
constructor(url: String, port: Int, contestId: String, authKey: Credential, emulation: EmulationSettings? = null)(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-code-drills-settings/auth-key.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-code-drills-settings/auth-key.html deleted file mode 100644 index 2371d2934..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-code-drills-settings/auth-key.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - authKey - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

authKey

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-code-drills-settings/contest-id.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-code-drills-settings/contest-id.html deleted file mode 100644 index bb3e5f391..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-code-drills-settings/contest-id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - contestId - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

contestId

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-code-drills-settings/emulation.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-code-drills-settings/emulation.html deleted file mode 100644 index 0bf2942d4..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-code-drills-settings/emulation.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - emulation - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

emulation

-
-
open override val emulation: EmulationSettings? = null(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-code-drills-settings/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-code-drills-settings/index.html deleted file mode 100644 index e86db358f..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-code-drills-settings/index.html +++ /dev/null @@ -1,209 +0,0 @@ - - - - - CodeDrillsSettings - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

CodeDrillsSettings

-
@Serializable
class CodeDrillsSettings(val url: String, val port: Int, val contestId: String, val authKey: Credential, val emulation: EmulationSettings? = null) : CDSSettings(source)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(url: String, port: Int, contestId: String, authKey: Credential, emulation: EmulationSettings? = null)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val emulation: EmulationSettings? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val port: Int
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val url: String
-
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
fun toFlow(creds: Map<String, String>): Flow<ContestUpdate>
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override fun toString(): String
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-code-drills-settings/port.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-code-drills-settings/port.html deleted file mode 100644 index 4d426c155..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-code-drills-settings/port.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - port - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

port

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-code-drills-settings/url.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-code-drills-settings/url.html deleted file mode 100644 index ccdc97066..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-code-drills-settings/url.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - url - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

url

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-credential/-credential.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-credential/-credential.html deleted file mode 100644 index 012acfb18..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-credential/-credential.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - Credential - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Credential

-
-
constructor(raw: String)(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-credential/get.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-credential/get.html deleted file mode 100644 index d75eacc82..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-credential/get.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - get - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

get

-
-
fun get(creds: Map<String, String>): String(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-credential/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-credential/index.html deleted file mode 100644 index 9d2dbbd99..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-credential/index.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - Credential - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Credential

-
@Serializable
value class Credential(raw: String)(source)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(raw: String)
-
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
fun get(creds: Map<String, String>): String
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/-ejudge-settings.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/-ejudge-settings.html deleted file mode 100644 index 613cfb3cf..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/-ejudge-settings.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - EjudgeSettings - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

EjudgeSettings

-
-
constructor(url: String, resultType: ContestResultType = ContestResultType.ICPC, emulation: EmulationSettings? = null)(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/emulation.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/emulation.html deleted file mode 100644 index ff0f35ea7..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/emulation.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - emulation - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

emulation

-
-
open override val emulation: EmulationSettings? = null(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/index.html deleted file mode 100644 index 5b95cd482..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/index.html +++ /dev/null @@ -1,179 +0,0 @@ - - - - - EjudgeSettings - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

EjudgeSettings

-
@Serializable
class EjudgeSettings(val url: String, val resultType: ContestResultType = ContestResultType.ICPC, val emulation: EmulationSettings? = null) : CDSSettings(source)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(url: String, resultType: ContestResultType = ContestResultType.ICPC, emulation: EmulationSettings? = null)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val emulation: EmulationSettings? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
- -
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val url: String
-
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
fun toFlow(creds: Map<String, String>): Flow<ContestUpdate>
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override fun toString(): String
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/result-type.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/result-type.html deleted file mode 100644 index f3cb02d1d..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/result-type.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - resultType - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

resultType

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/url.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/url.html deleted file mode 100644 index b8e4c8d06..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/url.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - url - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

url

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-emulation-settings/-emulation-settings.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-emulation-settings/-emulation-settings.html deleted file mode 100644 index 5fcd795d3..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-emulation-settings/-emulation-settings.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - EmulationSettings - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

EmulationSettings

-
-
constructor(speed: Double, startTime: Instant)(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-emulation-settings/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-emulation-settings/index.html deleted file mode 100644 index 4de9d69af..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-emulation-settings/index.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - EmulationSettings - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

EmulationSettings

-
@Serializable
class EmulationSettings(val speed: Double, val startTime: Instant)(source)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(speed: Double, startTime: Instant)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable(with = HumanTimeSerializer::class)
val startTime: Instant
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-emulation-settings/speed.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-emulation-settings/speed.html deleted file mode 100644 index 4ab4a434e..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-emulation-settings/speed.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - speed - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

speed

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-emulation-settings/start-time.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-emulation-settings/start-time.html deleted file mode 100644 index 6864f4150..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-emulation-settings/start-time.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - startTime - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

startTime

-
-
@Serializable(with = HumanTimeSerializer::class)
val startTime: Instant(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-k-r-s-u-settings/-k-r-s-u-settings.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-k-r-s-u-settings/-k-r-s-u-settings.html deleted file mode 100644 index 042e8d085..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-k-r-s-u-settings/-k-r-s-u-settings.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - KRSUSettings - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

KRSUSettings

-
-
constructor(submissionsUrl: String, contestUrl: String, timeZone: TimeZone = TimeZone.of("Asia/Bishkek"), emulation: EmulationSettings? = null)(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-k-r-s-u-settings/contest-url.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-k-r-s-u-settings/contest-url.html deleted file mode 100644 index a52f3f7f2..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-k-r-s-u-settings/contest-url.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - contestUrl - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

contestUrl

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-k-r-s-u-settings/emulation.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-k-r-s-u-settings/emulation.html deleted file mode 100644 index 95d376326..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-k-r-s-u-settings/emulation.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - emulation - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

emulation

-
-
open override val emulation: EmulationSettings? = null(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-k-r-s-u-settings/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-k-r-s-u-settings/index.html deleted file mode 100644 index fee2c771b..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-k-r-s-u-settings/index.html +++ /dev/null @@ -1,194 +0,0 @@ - - - - - KRSUSettings - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

KRSUSettings

-
@Serializable
class KRSUSettings(val submissionsUrl: String, val contestUrl: String, val timeZone: TimeZone = TimeZone.of("Asia/Bishkek"), val emulation: EmulationSettings? = null) : CDSSettings(source)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(submissionsUrl: String, contestUrl: String, timeZone: TimeZone = TimeZone.of("Asia/Bishkek"), emulation: EmulationSettings? = null)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val emulation: EmulationSettings? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable(with = TimeZoneSerializer::class)
val timeZone: TimeZone
-
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
fun toFlow(creds: Map<String, String>): Flow<ContestUpdate>
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override fun toString(): String
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-k-r-s-u-settings/submissions-url.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-k-r-s-u-settings/submissions-url.html deleted file mode 100644 index 537e431b6..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-k-r-s-u-settings/submissions-url.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - submissionsUrl - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

submissionsUrl

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-k-r-s-u-settings/time-zone.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-k-r-s-u-settings/time-zone.html deleted file mode 100644 index eb91f50ae..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-k-r-s-u-settings/time-zone.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - timeZone - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

timeZone

-
-
@Serializable(with = TimeZoneSerializer::class)
val timeZone: TimeZone(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-noop-settings/-noop-settings.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-noop-settings/-noop-settings.html deleted file mode 100644 index e237f83ee..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-noop-settings/-noop-settings.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - NoopSettings - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

NoopSettings

-
-
constructor(emulation: EmulationSettings? = null)(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-noop-settings/emulation.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-noop-settings/emulation.html deleted file mode 100644 index 7404bb1d5..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-noop-settings/emulation.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - emulation - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

emulation

-
-
open override val emulation: EmulationSettings? = null(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-noop-settings/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-noop-settings/index.html deleted file mode 100644 index b26610b8c..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-noop-settings/index.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - NoopSettings - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

NoopSettings

-
@Serializable
class NoopSettings(val emulation: EmulationSettings? = null) : CDSSettings(source)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(emulation: EmulationSettings? = null)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val emulation: EmulationSettings? = null
-
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
fun toFlow(creds: Map<String, String>): Flow<ContestUpdate>
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override fun toString(): String
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/-p-c-m-s-settings.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/-p-c-m-s-settings.html deleted file mode 100644 index d8d3ddd58..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/-p-c-m-s-settings.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - PCMSSettings - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

PCMSSettings

-
-
constructor(url: String, login: Credential? = null, password: Credential? = null, problemsUrl: String? = null, resultType: ContestResultType = ContestResultType.ICPC, emulation: EmulationSettings? = null)(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/emulation.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/emulation.html deleted file mode 100644 index dc12fe163..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/emulation.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - emulation - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

emulation

-
-
open override val emulation: EmulationSettings? = null(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/index.html deleted file mode 100644 index 0dbd3fa2a..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/index.html +++ /dev/null @@ -1,224 +0,0 @@ - - - - - PCMSSettings - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

PCMSSettings

-
@Serializable
class PCMSSettings(val url: String, val login: Credential? = null, val password: Credential? = null, val problemsUrl: String? = null, val resultType: ContestResultType = ContestResultType.ICPC, val emulation: EmulationSettings? = null) : CDSSettings(source)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(url: String, login: Credential? = null, password: Credential? = null, problemsUrl: String? = null, resultType: ContestResultType = ContestResultType.ICPC, emulation: EmulationSettings? = null)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val emulation: EmulationSettings? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val login: Credential? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val password: Credential? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val problemsUrl: String? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
- -
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val url: String
-
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
fun toFlow(creds: Map<String, String>): Flow<ContestUpdate>
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override fun toString(): String
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/login.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/login.html deleted file mode 100644 index c52091d24..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/login.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - login - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

login

-
-
val login: Credential? = null(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/password.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/password.html deleted file mode 100644 index 22803b137..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/password.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - password - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

password

-
-
val password: Credential? = null(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/problems-url.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/problems-url.html deleted file mode 100644 index 788d39a87..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/problems-url.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - problemsUrl - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

problemsUrl

-
-
val problemsUrl: String? = null(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/result-type.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/result-type.html deleted file mode 100644 index 29990b975..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/result-type.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - resultType - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

resultType

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/url.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/url.html deleted file mode 100644 index 9461ef91d..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/url.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - url - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

url

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-test-sys-settings/-test-sys-settings.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-test-sys-settings/-test-sys-settings.html deleted file mode 100644 index 50422a44c..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-test-sys-settings/-test-sys-settings.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - TestSysSettings - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

TestSysSettings

-
-
constructor(url: String, timeZone: TimeZone = TimeZone.of("Europe/Moscow"), emulation: EmulationSettings? = null)(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-test-sys-settings/emulation.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-test-sys-settings/emulation.html deleted file mode 100644 index e0e59bf31..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-test-sys-settings/emulation.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - emulation - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

emulation

-
-
open override val emulation: EmulationSettings? = null(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-test-sys-settings/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-test-sys-settings/index.html deleted file mode 100644 index 6022c2b37..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-test-sys-settings/index.html +++ /dev/null @@ -1,179 +0,0 @@ - - - - - TestSysSettings - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

TestSysSettings

-
@Serializable
class TestSysSettings(val url: String, val timeZone: TimeZone = TimeZone.of("Europe/Moscow"), val emulation: EmulationSettings? = null) : CDSSettings(source)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(url: String, timeZone: TimeZone = TimeZone.of("Europe/Moscow"), emulation: EmulationSettings? = null)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val emulation: EmulationSettings? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable(with = TimeZoneSerializer::class)
val timeZone: TimeZone
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val url: String
-
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
fun toFlow(creds: Map<String, String>): Flow<ContestUpdate>
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override fun toString(): String
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-test-sys-settings/time-zone.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-test-sys-settings/time-zone.html deleted file mode 100644 index 063a4a629..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-test-sys-settings/time-zone.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - timeZone - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

timeZone

-
-
@Serializable(with = TimeZoneSerializer::class)
val timeZone: TimeZone(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-test-sys-settings/url.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-test-sys-settings/url.html deleted file mode 100644 index 75611c127..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-test-sys-settings/url.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - url - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

url

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/-yandex-settings.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/-yandex-settings.html deleted file mode 100644 index 447bc6e78..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/-yandex-settings.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - YandexSettings - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

YandexSettings

-
-
constructor(apiKey: Credential, loginRegex: Regex, contestId: Int, resultType: ContestResultType = ContestResultType.ICPC, emulation: EmulationSettings? = null)(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/api-key.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/api-key.html deleted file mode 100644 index 684a3b058..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/api-key.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - apiKey - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

apiKey

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/contest-id.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/contest-id.html deleted file mode 100644 index 65da0cf87..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/contest-id.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - contestId - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

contestId

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/emulation.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/emulation.html deleted file mode 100644 index 447545c48..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/emulation.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - emulation - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

emulation

-
-
open override val emulation: EmulationSettings? = null(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/index.html deleted file mode 100644 index 167524592..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/index.html +++ /dev/null @@ -1,209 +0,0 @@ - - - - - YandexSettings - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

YandexSettings

-
@Serializable
class YandexSettings(val apiKey: Credential, val loginRegex: Regex, val contestId: Int, val resultType: ContestResultType = ContestResultType.ICPC, val emulation: EmulationSettings? = null) : CDSSettings(source)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(apiKey: Credential, loginRegex: Regex, contestId: Int, resultType: ContestResultType = ContestResultType.ICPC, emulation: EmulationSettings? = null)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override val emulation: EmulationSettings? = null
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable(with = RegexSerializer::class)
val loginRegex: Regex
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
- -
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
fun toFlow(creds: Map<String, String>): Flow<ContestUpdate>
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open override fun toString(): String
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/login-regex.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/login-regex.html deleted file mode 100644 index c7b8a689b..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/login-regex.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - loginRegex - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

loginRegex

-
-
@Serializable(with = RegexSerializer::class)
val loginRegex: Regex(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/result-type.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/result-type.html deleted file mode 100644 index 9161ffd85..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/result-type.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - resultType - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

resultType

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/index.html deleted file mode 100644 index 33f8bb5b4..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/index.html +++ /dev/null @@ -1,309 +0,0 @@ - - - - - org.icpclive.cds.settings - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Package-level declarations

-
-
-
-
-
-

Types

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
class CatsSettings(val login: Credential, val password: Credential, val url: String, val timeZone: TimeZone = TimeZone.of("Asia/Vladivostok"), val resultType: ContestResultType = ContestResultType.ICPC, val cid: String, val emulation: EmulationSettings? = null) : CDSSettings
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
sealed class CDSSettings
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
class CFSettings(val contestId: Int, val apiKey: Credential, val apiSecret: Credential, val asManager: Boolean = true, val emulation: EmulationSettings? = null) : CDSSettings
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
class ClicsLoaderSettings(val url: String, val login: Credential? = null, val password: Credential? = null, val eventFeedName: String = "event-feed", val feedVersion: FeedVersion = FeedVersion.`2022_07`)
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
class ClicsSettings(url: String, login: Credential? = null, password: Credential? = null, eventFeedName: String = "event-feed", feedVersion: FeedVersion = FeedVersion.`2022_07`, val additionalFeed: ClicsLoaderSettings? = null, val useTeamNames: Boolean = true, val mediaBaseUrl: String = "", val emulation: EmulationSettings? = null) : CDSSettings
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
class CodeDrillsSettings(val url: String, val port: Int, val contestId: String, val authKey: Credential, val emulation: EmulationSettings? = null) : CDSSettings
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
value class Credential(raw: String)
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
class EjudgeSettings(val url: String, val resultType: ContestResultType = ContestResultType.ICPC, val emulation: EmulationSettings? = null) : CDSSettings
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
class EmulationSettings(val speed: Double, val startTime: Instant)
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
class KRSUSettings(val submissionsUrl: String, val contestUrl: String, val timeZone: TimeZone = TimeZone.of("Asia/Bishkek"), val emulation: EmulationSettings? = null) : CDSSettings
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
class NoopSettings(val emulation: EmulationSettings? = null) : CDSSettings
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
class PCMSSettings(val url: String, val login: Credential? = null, val password: Credential? = null, val problemsUrl: String? = null, val resultType: ContestResultType = ContestResultType.ICPC, val emulation: EmulationSettings? = null) : CDSSettings
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
class TestSysSettings(val url: String, val timeZone: TimeZone = TimeZone.of("Europe/Moscow"), val emulation: EmulationSettings? = null) : CDSSettings
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
@Serializable
class YandexSettings(val apiKey: Credential, val loginRegex: Regex, val contestId: Int, val resultType: ContestResultType = ContestResultType.ICPC, val emulation: EmulationSettings? = null) : CDSSettings
-
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
- -
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/parse-file-to-cds-settings.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/parse-file-to-cds-settings.html deleted file mode 100644 index c69df2904..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/parse-file-to-cds-settings.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - parseFileToCdsSettings - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

parseFileToCdsSettings

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds/-analytics-update/-analytics-update.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds/-analytics-update/-analytics-update.html deleted file mode 100644 index d0a3bcad4..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds/-analytics-update/-analytics-update.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - AnalyticsUpdate - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

AnalyticsUpdate

-
-
constructor(message: AnalyticsMessage)(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds/-analytics-update/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds/-analytics-update/index.html deleted file mode 100644 index 225a3d916..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds/-analytics-update/index.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - AnalyticsUpdate - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

AnalyticsUpdate

- -
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(message: AnalyticsMessage)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds/-analytics-update/message.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds/-analytics-update/message.html deleted file mode 100644 index d2fa21492..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds/-analytics-update/message.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - message - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

message

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds/-contest-update/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds/-contest-update/index.html deleted file mode 100644 index de6cf0e92..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds/-contest-update/index.html +++ /dev/null @@ -1,76 +0,0 @@ - - - - - ContestUpdate - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ContestUpdate

- -
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds/-info-update/-info-update.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds/-info-update/-info-update.html deleted file mode 100644 index d155b2a6f..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds/-info-update/-info-update.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - InfoUpdate - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

InfoUpdate

-
-
constructor(newInfo: ContestInfo)(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds/-info-update/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds/-info-update/index.html deleted file mode 100644 index ba384dc9c..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds/-info-update/index.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - InfoUpdate - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

InfoUpdate

-
data class InfoUpdate(val newInfo: ContestInfo) : ContestUpdate(source)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(newInfo: ContestInfo)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds/-info-update/new-info.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds/-info-update/new-info.html deleted file mode 100644 index 3c3df74e4..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds/-info-update/new-info.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - newInfo - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

newInfo

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds/-run-update/-run-update.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds/-run-update/-run-update.html deleted file mode 100644 index e8cfbac57..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds/-run-update/-run-update.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - RunUpdate - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

RunUpdate

-
-
constructor(newInfo: RunInfo)(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds/-run-update/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds/-run-update/index.html deleted file mode 100644 index cedadb96a..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds/-run-update/index.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - RunUpdate - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

RunUpdate

-
data class RunUpdate(val newInfo: RunInfo) : ContestUpdate(source)
-
-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
constructor(newInfo: RunInfo)
-
-
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds/-run-update/new-info.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds/-run-update/new-info.html deleted file mode 100644 index d2ea469fc..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds/-run-update/new-info.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - newInfo - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

newInfo

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds/index.html deleted file mode 100644 index 3ad9de022..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds/index.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - - org.icpclive.cds - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Package-level declarations

-
-
-
-
-
-

Types

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
interface ContestUpdate
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
data class InfoUpdate(val newInfo: ContestInfo) : ContestUpdate
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
data class RunUpdate(val newInfo: RunInfo) : ContestUpdate
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.scoreboard/-scoreboard-calculator/get-scoreboard.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.scoreboard/-scoreboard-calculator/get-scoreboard.html deleted file mode 100644 index e31b2417a..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.scoreboard/-scoreboard-calculator/get-scoreboard.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - getScoreboard - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

getScoreboard

-
-
abstract fun getScoreboard(info: ContestInfo, runs: Map<Int, List<RunInfo>>): Scoreboard(source)
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.scoreboard/-scoreboard-calculator/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.scoreboard/-scoreboard-calculator/index.html deleted file mode 100644 index 300c59452..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.scoreboard/-scoreboard-calculator/index.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - - ScoreboardCalculator - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ScoreboardCalculator

- -
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract fun getScoreboard(info: ContestInfo, runs: Map<Int, List<RunInfo>>): Scoreboard
-
-
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.scoreboard/calculate-scoreboard-with-info.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.scoreboard/calculate-scoreboard-with-info.html deleted file mode 100644 index 75cabefd8..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.scoreboard/calculate-scoreboard-with-info.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - calculateScoreboardWithInfo - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

calculateScoreboardWithInfo

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.scoreboard/calculate-scoreboard.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.scoreboard/calculate-scoreboard.html deleted file mode 100644 index e58f8c9e8..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.scoreboard/calculate-scoreboard.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - calculateScoreboard - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

calculateScoreboard

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.scoreboard/get-scoreboard-calculator.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.scoreboard/get-scoreboard-calculator.html deleted file mode 100644 index d5050a291..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.scoreboard/get-scoreboard-calculator.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - getScoreboardCalculator - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

getScoreboardCalculator

-
- -
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.scoreboard/index.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.scoreboard/index.html deleted file mode 100644 index 721da8134..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.scoreboard/index.html +++ /dev/null @@ -1,144 +0,0 @@ - - - - - org.icpclive.scoreboard - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

Package-level declarations

-
-
-
-
-
-

Types

-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
- -
-
-
- -
-
-
- - -
Link copied to clipboard
-
- -
-
- -
-
-
- - -
Link copied to clipboard
-
- -
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/-i-c-p-c-live contest data parser/package-list b/docs/cds/-i-c-p-c-live contest data parser/package-list deleted file mode 100644 index 79239814a..000000000 --- a/docs/cds/-i-c-p-c-live contest data parser/package-list +++ /dev/null @@ -1,453 +0,0 @@ -$dokka.format:html-v1 -$dokka.linkExtension:html -$dokka.location:org.icpclive.api.tunning////PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/index.html -$dokka.location:org.icpclive.api.tunning//toAdvancedProperties/org.icpclive.api.ContestInfo#kotlin.collections.Set[kotlin.String]/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/to-advanced-properties.html -$dokka.location:org.icpclive.api.tunning/AdvancedProperties///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/index.html -$dokka.location:org.icpclive.api.tunning/AdvancedProperties/AdvancedProperties/#kotlinx.datetime.Instant?#kotlin.time.Duration?#kotlin.time.Duration?#kotlin.collections.Map[org.icpclive.api.TeamMediaType,org.icpclive.api.MediaType?]?#org.icpclive.api.tunning.TeamOverrideTemplate?#org.icpclive.api.tunning.TeamRegexOverrides?#kotlin.collections.Map[kotlin.String,org.icpclive.api.tunning.TeamInfoOverride]?#kotlin.collections.Map[kotlin.String,org.icpclive.api.tunning.GroupInfoOverride]?#kotlin.collections.Map[kotlin.String,org.icpclive.api.tunning.OrganizationInfoOverride]?#kotlin.collections.Map[kotlin.String,org.icpclive.api.tunning.ProblemInfoOverride]?#org.icpclive.api.tunning.RankingSettings?/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/-advanced-properties.html -$dokka.location:org.icpclive.api.tunning/AdvancedProperties/freezeTime/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/freeze-time.html -$dokka.location:org.icpclive.api.tunning/AdvancedProperties/groupOverrides/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/group-overrides.html -$dokka.location:org.icpclive.api.tunning/AdvancedProperties/holdTime/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/hold-time.html -$dokka.location:org.icpclive.api.tunning/AdvancedProperties/organizationOverrides/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/organization-overrides.html -$dokka.location:org.icpclive.api.tunning/AdvancedProperties/problemOverrides/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/problem-overrides.html -$dokka.location:org.icpclive.api.tunning/AdvancedProperties/scoreboardOverrides/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/scoreboard-overrides.html -$dokka.location:org.icpclive.api.tunning/AdvancedProperties/startTime/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/start-time.html -$dokka.location:org.icpclive.api.tunning/AdvancedProperties/teamMediaTemplate/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/team-media-template.html -$dokka.location:org.icpclive.api.tunning/AdvancedProperties/teamOverrideTemplate/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/team-override-template.html -$dokka.location:org.icpclive.api.tunning/AdvancedProperties/teamOverrides/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/team-overrides.html -$dokka.location:org.icpclive.api.tunning/AdvancedProperties/teamRegexes/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/team-regexes.html -$dokka.location:org.icpclive.api.tunning/GroupInfoOverride///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-group-info-override/index.html -$dokka.location:org.icpclive.api.tunning/GroupInfoOverride/GroupInfoOverride/#kotlin.Boolean?#kotlin.Boolean?/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-group-info-override/-group-info-override.html -$dokka.location:org.icpclive.api.tunning/GroupInfoOverride/isHidden/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-group-info-override/is-hidden.html -$dokka.location:org.icpclive.api.tunning/GroupInfoOverride/isOutOfContest/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-group-info-override/is-out-of-contest.html -$dokka.location:org.icpclive.api.tunning/OrganizationInfoOverride///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-organization-info-override/index.html -$dokka.location:org.icpclive.api.tunning/OrganizationInfoOverride/OrganizationInfoOverride/#kotlin.String?#kotlin.String?/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-organization-info-override/-organization-info-override.html -$dokka.location:org.icpclive.api.tunning/OrganizationInfoOverride/displayName/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-organization-info-override/display-name.html -$dokka.location:org.icpclive.api.tunning/OrganizationInfoOverride/fullName/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-organization-info-override/full-name.html -$dokka.location:org.icpclive.api.tunning/ProblemInfoOverride///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/index.html -$dokka.location:org.icpclive.api.tunning/ProblemInfoOverride/ProblemInfoOverride/#kotlin.String?#java.awt.Color?#kotlin.Int?#kotlin.Double?#kotlin.Double?#org.icpclive.api.ScoreMergeMode?/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/-problem-info-override.html -$dokka.location:org.icpclive.api.tunning/ProblemInfoOverride/color/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/color.html -$dokka.location:org.icpclive.api.tunning/ProblemInfoOverride/maxScore/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/max-score.html -$dokka.location:org.icpclive.api.tunning/ProblemInfoOverride/minScore/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/min-score.html -$dokka.location:org.icpclive.api.tunning/ProblemInfoOverride/name/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/name.html -$dokka.location:org.icpclive.api.tunning/ProblemInfoOverride/ordinal/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/ordinal.html -$dokka.location:org.icpclive.api.tunning/ProblemInfoOverride/scoreMergeMode/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/score-merge-mode.html -$dokka.location:org.icpclive.api.tunning/RankingSettings///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-ranking-settings/index.html -$dokka.location:org.icpclive.api.tunning/RankingSettings/RankingSettings/#kotlin.collections.List[org.icpclive.api.MedalType]?#kotlin.time.Duration?#kotlin.Boolean?#org.icpclive.api.PenaltyRoundingMode?/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-ranking-settings/-ranking-settings.html -$dokka.location:org.icpclive.api.tunning/RankingSettings/medals/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-ranking-settings/medals.html -$dokka.location:org.icpclive.api.tunning/RankingSettings/penaltyPerWrongAttempt/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-ranking-settings/penalty-per-wrong-attempt.html -$dokka.location:org.icpclive.api.tunning/RankingSettings/penaltyRoundingMode/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-ranking-settings/penalty-rounding-mode.html -$dokka.location:org.icpclive.api.tunning/RankingSettings/showTeamsWithoutSubmissions/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-ranking-settings/show-teams-without-submissions.html -$dokka.location:org.icpclive.api.tunning/TeamInfoOverride///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/index.html -$dokka.location:org.icpclive.api.tunning/TeamInfoOverride/TeamInfoOverride/#kotlin.String?#kotlin.String?#kotlin.collections.List[kotlin.String]?#kotlin.String?#kotlin.String?#kotlin.collections.Map[org.icpclive.api.TeamMediaType,org.icpclive.api.MediaType?]?#kotlin.collections.Map[kotlin.String,kotlin.String]?#kotlin.Boolean?#kotlin.Boolean?/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/-team-info-override.html -$dokka.location:org.icpclive.api.tunning/TeamInfoOverride/customFields/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/custom-fields.html -$dokka.location:org.icpclive.api.tunning/TeamInfoOverride/displayName/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/display-name.html -$dokka.location:org.icpclive.api.tunning/TeamInfoOverride/fullName/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/full-name.html -$dokka.location:org.icpclive.api.tunning/TeamInfoOverride/groups/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/groups.html -$dokka.location:org.icpclive.api.tunning/TeamInfoOverride/hashTag/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/hash-tag.html -$dokka.location:org.icpclive.api.tunning/TeamInfoOverride/isHidden/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/is-hidden.html -$dokka.location:org.icpclive.api.tunning/TeamInfoOverride/isOutOfContest/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/is-out-of-contest.html -$dokka.location:org.icpclive.api.tunning/TeamInfoOverride/medias/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/medias.html -$dokka.location:org.icpclive.api.tunning/TeamInfoOverride/organizationId/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-info-override/organization-id.html -$dokka.location:org.icpclive.api.tunning/TeamOverrideTemplate///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-override-template/index.html -$dokka.location:org.icpclive.api.tunning/TeamOverrideTemplate/TeamOverrideTemplate/#kotlin.String?#kotlin.String?#kotlin.collections.Map[org.icpclive.api.TeamMediaType,org.icpclive.api.MediaType?]?/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-override-template/-team-override-template.html -$dokka.location:org.icpclive.api.tunning/TeamOverrideTemplate/displayName/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-override-template/display-name.html -$dokka.location:org.icpclive.api.tunning/TeamOverrideTemplate/fullName/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-override-template/full-name.html -$dokka.location:org.icpclive.api.tunning/TeamOverrideTemplate/medias/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-override-template/medias.html -$dokka.location:org.icpclive.api.tunning/TeamRegexOverrides///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-regex-overrides/index.html -$dokka.location:org.icpclive.api.tunning/TeamRegexOverrides/TeamRegexOverrides/#kotlin.text.Regex?#kotlin.collections.Map[kotlin.String,kotlin.text.Regex]?#kotlin.collections.Map[kotlin.String,kotlin.text.Regex]?/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-regex-overrides/-team-regex-overrides.html -$dokka.location:org.icpclive.api.tunning/TeamRegexOverrides/customFields/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-regex-overrides/custom-fields.html -$dokka.location:org.icpclive.api.tunning/TeamRegexOverrides/groupRegex/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-regex-overrides/group-regex.html -$dokka.location:org.icpclive.api.tunning/TeamRegexOverrides/organizationRegex/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-team-regex-overrides/organization-regex.html -$dokka.location:org.icpclive.api////PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/index.html -$dokka.location:org.icpclive.api//toGroupInfos/kotlin.collections.List[org.icpclive.api.TeamInfo]#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/to-group-infos.html -$dokka.location:org.icpclive.api/AnalyticsCommentaryEvent///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/index.html -$dokka.location:org.icpclive.api/AnalyticsCommentaryEvent/AnalyticsCommentaryEvent/#kotlin.String#kotlin.String#kotlinx.datetime.Instant#kotlin.time.Duration#kotlin.collections.List[kotlin.Int]#kotlin.collections.List[kotlin.Int]#kotlin.Int#kotlin.collections.List[kotlin.String]#org.icpclive.api.AnalyticsCompanionPreset?#org.icpclive.api.AnalyticsCompanionPreset?#org.icpclive.api.AnalyticsCompanionRun?/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/-analytics-commentary-event.html -$dokka.location:org.icpclive.api/AnalyticsCommentaryEvent/advertisement/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/advertisement.html -$dokka.location:org.icpclive.api/AnalyticsCommentaryEvent/featuredRun/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/featured-run.html -$dokka.location:org.icpclive.api/AnalyticsCommentaryEvent/id/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/id.html -$dokka.location:org.icpclive.api/AnalyticsCommentaryEvent/message/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/message.html -$dokka.location:org.icpclive.api/AnalyticsCommentaryEvent/priority/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/priority.html -$dokka.location:org.icpclive.api/AnalyticsCommentaryEvent/relativeTime/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/relative-time.html -$dokka.location:org.icpclive.api/AnalyticsCommentaryEvent/runIds/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/run-ids.html -$dokka.location:org.icpclive.api/AnalyticsCommentaryEvent/tags/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/tags.html -$dokka.location:org.icpclive.api/AnalyticsCommentaryEvent/teamIds/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/team-ids.html -$dokka.location:org.icpclive.api/AnalyticsCommentaryEvent/tickerMessage/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/ticker-message.html -$dokka.location:org.icpclive.api/AnalyticsCommentaryEvent/time/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-commentary-event/time.html -$dokka.location:org.icpclive.api/AnalyticsCompanionPreset///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-companion-preset/index.html -$dokka.location:org.icpclive.api/AnalyticsCompanionPreset/AnalyticsCompanionPreset/#kotlin.Int#kotlinx.datetime.Instant?/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-companion-preset/-analytics-companion-preset.html -$dokka.location:org.icpclive.api/AnalyticsCompanionPreset/expirationTime/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-companion-preset/expiration-time.html -$dokka.location:org.icpclive.api/AnalyticsCompanionPreset/presetId/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-companion-preset/preset-id.html -$dokka.location:org.icpclive.api/AnalyticsCompanionRun///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-companion-run/index.html -$dokka.location:org.icpclive.api/AnalyticsCompanionRun/AnalyticsCompanionRun/#kotlinx.datetime.Instant?#org.icpclive.api.MediaType/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-companion-run/-analytics-companion-run.html -$dokka.location:org.icpclive.api/AnalyticsCompanionRun/expirationTime/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-companion-run/expiration-time.html -$dokka.location:org.icpclive.api/AnalyticsCompanionRun/mediaType/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-companion-run/media-type.html -$dokka.location:org.icpclive.api/AnalyticsMessage///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-message/index.html -$dokka.location:org.icpclive.api/AnalyticsMessage/id/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-message/id.html -$dokka.location:org.icpclive.api/AnalyticsMessage/relativeTime/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-message/relative-time.html -$dokka.location:org.icpclive.api/AnalyticsMessage/time/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-analytics-message/time.html -$dokka.location:org.icpclive.api/ContestInfo///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/index.html -$dokka.location:org.icpclive.api/ContestInfo/ContestInfo/#kotlin.String#org.icpclive.api.ContestStatus#org.icpclive.api.ContestResultType#kotlinx.datetime.Instant#kotlin.time.Duration#kotlin.time.Duration#kotlin.collections.List[org.icpclive.api.ProblemInfo]#kotlin.collections.List[org.icpclive.api.TeamInfo]#kotlin.collections.List[org.icpclive.api.GroupInfo]#kotlin.collections.List[org.icpclive.api.OrganizationInfo]#org.icpclive.api.PenaltyRoundingMode#kotlin.time.Duration?#kotlin.Double#kotlin.collections.List[org.icpclive.api.MedalType]#kotlin.time.Duration/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/-contest-info.html -$dokka.location:org.icpclive.api/ContestInfo/contestLength/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/contest-length.html -$dokka.location:org.icpclive.api/ContestInfo/currentContestTime/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/current-contest-time.html -$dokka.location:org.icpclive.api/ContestInfo/emulationSpeed/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/emulation-speed.html -$dokka.location:org.icpclive.api/ContestInfo/freezeTime/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/freeze-time.html -$dokka.location:org.icpclive.api/ContestInfo/groupById/#kotlin.String/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/group-by-id.html -$dokka.location:org.icpclive.api/ContestInfo/groups/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/groups.html -$dokka.location:org.icpclive.api/ContestInfo/holdBeforeStartTime/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/hold-before-start-time.html -$dokka.location:org.icpclive.api/ContestInfo/medals/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/medals.html -$dokka.location:org.icpclive.api/ContestInfo/name/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/name.html -$dokka.location:org.icpclive.api/ContestInfo/organizations/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/organizations.html -$dokka.location:org.icpclive.api/ContestInfo/penaltyPerWrongAttempt/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/penalty-per-wrong-attempt.html -$dokka.location:org.icpclive.api/ContestInfo/penaltyRoundingMode/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/penalty-rounding-mode.html -$dokka.location:org.icpclive.api/ContestInfo/problems/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/problems.html -$dokka.location:org.icpclive.api/ContestInfo/resultType/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/result-type.html -$dokka.location:org.icpclive.api/ContestInfo/startTime/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/start-time.html -$dokka.location:org.icpclive.api/ContestInfo/status/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/status.html -$dokka.location:org.icpclive.api/ContestInfo/teams/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-info/teams.html -$dokka.location:org.icpclive.api/ContestResultType.ICPC///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-i-c-p-c-live contest data parser/org.icpclive.api/-contest-result-type/-i-c-p-c/index.html -$dokka.location:org.icpclive.api/ContestResultType.IOI///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-i-c-p-c-live contest data parser/org.icpclive.api/-contest-result-type/-i-o-i/index.html -$dokka.location:org.icpclive.api/ContestResultType///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-result-type/index.html -$dokka.location:org.icpclive.api/ContestResultType/valueOf/#kotlin.String/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-result-type/value-of.html -$dokka.location:org.icpclive.api/ContestResultType/values/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-result-type/values.html -$dokka.location:org.icpclive.api/ContestStatus.BEFORE///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-i-c-p-c-live contest data parser/org.icpclive.api/-contest-status/-b-e-f-o-r-e/index.html -$dokka.location:org.icpclive.api/ContestStatus.OVER///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-i-c-p-c-live contest data parser/org.icpclive.api/-contest-status/-o-v-e-r/index.html -$dokka.location:org.icpclive.api/ContestStatus.RUNNING///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-i-c-p-c-live contest data parser/org.icpclive.api/-contest-status/-r-u-n-n-i-n-g/index.html -$dokka.location:org.icpclive.api/ContestStatus///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-status/index.html -$dokka.location:org.icpclive.api/ContestStatus/valueOf/#kotlin.String/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-status/value-of.html -$dokka.location:org.icpclive.api/ContestStatus/values/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-contest-status/values.html -$dokka.location:org.icpclive.api/GroupInfo///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-group-info/index.html -$dokka.location:org.icpclive.api/GroupInfo/GroupInfo/#kotlin.String#kotlin.Boolean#kotlin.Boolean/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-group-info/-group-info.html -$dokka.location:org.icpclive.api/GroupInfo/isHidden/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-group-info/is-hidden.html -$dokka.location:org.icpclive.api/GroupInfo/isOutOfContest/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-group-info/is-out-of-contest.html -$dokka.location:org.icpclive.api/GroupInfo/name/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-group-info/name.html -$dokka.location:org.icpclive.api/ICPCProblemResult///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-problem-result/index.html -$dokka.location:org.icpclive.api/ICPCProblemResult/ICPCProblemResult/#kotlin.Int#kotlin.Int#kotlin.Boolean#kotlin.Boolean#kotlin.time.Duration?/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-problem-result/-i-c-p-c-problem-result.html -$dokka.location:org.icpclive.api/ICPCProblemResult/isFirstToSolve/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-problem-result/is-first-to-solve.html -$dokka.location:org.icpclive.api/ICPCProblemResult/isSolved/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-problem-result/is-solved.html -$dokka.location:org.icpclive.api/ICPCProblemResult/lastSubmitTime/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-problem-result/last-submit-time.html -$dokka.location:org.icpclive.api/ICPCProblemResult/pendingAttempts/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-problem-result/pending-attempts.html -$dokka.location:org.icpclive.api/ICPCProblemResult/wrongAttempts/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-problem-result/wrong-attempts.html -$dokka.location:org.icpclive.api/ICPCRunResult///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-run-result/index.html -$dokka.location:org.icpclive.api/ICPCRunResult/ICPCRunResult/#org.icpclive.api.Verdict#kotlin.Boolean/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-run-result/-i-c-p-c-run-result.html -$dokka.location:org.icpclive.api/ICPCRunResult/isFirstToSolveRun/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-run-result/is-first-to-solve-run.html -$dokka.location:org.icpclive.api/ICPCRunResult/verdict/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-i-c-p-c-run-result/verdict.html -$dokka.location:org.icpclive.api/IOIProblemResult///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-problem-result/index.html -$dokka.location:org.icpclive.api/IOIProblemResult/IOIProblemResult/#kotlin.Double?#kotlin.time.Duration?#kotlin.Boolean/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-problem-result/-i-o-i-problem-result.html -$dokka.location:org.icpclive.api/IOIProblemResult/isFirstBest/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-problem-result/is-first-best.html -$dokka.location:org.icpclive.api/IOIProblemResult/lastSubmitTime/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-problem-result/last-submit-time.html -$dokka.location:org.icpclive.api/IOIProblemResult/score/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-problem-result/score.html -$dokka.location:org.icpclive.api/IOIRunResult///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-run-result/index.html -$dokka.location:org.icpclive.api/IOIRunResult/IOIRunResult/#kotlin.collections.List[kotlin.Double]#org.icpclive.api.Verdict?#kotlin.Double#kotlin.Double#kotlin.Boolean#kotlin.Boolean/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-run-result/-i-o-i-run-result.html -$dokka.location:org.icpclive.api/IOIRunResult/difference/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-run-result/difference.html -$dokka.location:org.icpclive.api/IOIRunResult/isFirstBestRun/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-run-result/is-first-best-run.html -$dokka.location:org.icpclive.api/IOIRunResult/isFirstBestTeamRun/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-run-result/is-first-best-team-run.html -$dokka.location:org.icpclive.api/IOIRunResult/score/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-run-result/score.html -$dokka.location:org.icpclive.api/IOIRunResult/scoreAfter/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-run-result/score-after.html -$dokka.location:org.icpclive.api/IOIRunResult/wrongVerdict/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-i-o-i-run-result/wrong-verdict.html -$dokka.location:org.icpclive.api/MedalTiebreakMode.ALL///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-i-c-p-c-live contest data parser/org.icpclive.api/-medal-tiebreak-mode/-a-l-l/index.html -$dokka.location:org.icpclive.api/MedalTiebreakMode.NONE///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-i-c-p-c-live contest data parser/org.icpclive.api/-medal-tiebreak-mode/-n-o-n-e/index.html -$dokka.location:org.icpclive.api/MedalTiebreakMode///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-medal-tiebreak-mode/index.html -$dokka.location:org.icpclive.api/MedalTiebreakMode/valueOf/#kotlin.String/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-medal-tiebreak-mode/value-of.html -$dokka.location:org.icpclive.api/MedalTiebreakMode/values/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-medal-tiebreak-mode/values.html -$dokka.location:org.icpclive.api/MedalType///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-medal-type/index.html -$dokka.location:org.icpclive.api/MedalType/MedalType/#kotlin.String#kotlin.Int#kotlin.Double#org.icpclive.api.MedalTiebreakMode/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-medal-type/-medal-type.html -$dokka.location:org.icpclive.api/MedalType/count/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-medal-type/count.html -$dokka.location:org.icpclive.api/MedalType/minScore/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-medal-type/min-score.html -$dokka.location:org.icpclive.api/MedalType/name/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-medal-type/name.html -$dokka.location:org.icpclive.api/MedalType/tiebreakMode/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-medal-type/tiebreak-mode.html -$dokka.location:org.icpclive.api/MediaType.Object///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-object/index.html -$dokka.location:org.icpclive.api/MediaType.Object/Object/#kotlin.String#kotlin.Boolean/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-object/-object.html -$dokka.location:org.icpclive.api/MediaType.Object/isMedia/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-object/is-media.html -$dokka.location:org.icpclive.api/MediaType.Object/url/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-object/url.html -$dokka.location:org.icpclive.api/MediaType.Photo///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-photo/index.html -$dokka.location:org.icpclive.api/MediaType.Photo/Photo/#kotlin.String#kotlin.Boolean/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-photo/-photo.html -$dokka.location:org.icpclive.api/MediaType.Photo/isMedia/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-photo/is-media.html -$dokka.location:org.icpclive.api/MediaType.Photo/url/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-photo/url.html -$dokka.location:org.icpclive.api/MediaType.TaskStatus///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-task-status/index.html -$dokka.location:org.icpclive.api/MediaType.TaskStatus/TaskStatus/#kotlin.Int/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-task-status/-task-status.html -$dokka.location:org.icpclive.api/MediaType.TaskStatus/isMedia/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-task-status/is-media.html -$dokka.location:org.icpclive.api/MediaType.TaskStatus/teamId/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-task-status/team-id.html -$dokka.location:org.icpclive.api/MediaType.Video///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-video/index.html -$dokka.location:org.icpclive.api/MediaType.Video/Video/#kotlin.String#kotlin.Boolean/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-video/-video.html -$dokka.location:org.icpclive.api/MediaType.Video/isMedia/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-video/is-media.html -$dokka.location:org.icpclive.api/MediaType.Video/url/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-video/url.html -$dokka.location:org.icpclive.api/MediaType.WebRTCGrabberConnection///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/index.html -$dokka.location:org.icpclive.api/MediaType.WebRTCGrabberConnection/WebRTCGrabberConnection/#kotlin.String#kotlin.String#kotlin.String#kotlin.String?#kotlin.Boolean/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/-web-r-t-c-grabber-connection.html -$dokka.location:org.icpclive.api/MediaType.WebRTCGrabberConnection/credential/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/credential.html -$dokka.location:org.icpclive.api/MediaType.WebRTCGrabberConnection/isMedia/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/is-media.html -$dokka.location:org.icpclive.api/MediaType.WebRTCGrabberConnection/peerName/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/peer-name.html -$dokka.location:org.icpclive.api/MediaType.WebRTCGrabberConnection/streamType/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/stream-type.html -$dokka.location:org.icpclive.api/MediaType.WebRTCGrabberConnection/url/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-grabber-connection/url.html -$dokka.location:org.icpclive.api/MediaType.WebRTCProxyConnection///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/index.html -$dokka.location:org.icpclive.api/MediaType.WebRTCProxyConnection/WebRTCProxyConnection/#kotlin.String#kotlin.String?#kotlin.Boolean/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/-web-r-t-c-proxy-connection.html -$dokka.location:org.icpclive.api/MediaType.WebRTCProxyConnection/audioUrl/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/audio-url.html -$dokka.location:org.icpclive.api/MediaType.WebRTCProxyConnection/isMedia/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/is-media.html -$dokka.location:org.icpclive.api/MediaType.WebRTCProxyConnection/url/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/-web-r-t-c-proxy-connection/url.html -$dokka.location:org.icpclive.api/MediaType///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/index.html -$dokka.location:org.icpclive.api/MediaType/isMedia/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/is-media.html -$dokka.location:org.icpclive.api/MediaType/noMedia/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-media-type/no-media.html -$dokka.location:org.icpclive.api/OptimismLevel.NORMAL///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-i-c-p-c-live contest data parser/org.icpclive.api/-optimism-level/-n-o-r-m-a-l/index.html -$dokka.location:org.icpclive.api/OptimismLevel.OPTIMISTIC///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-i-c-p-c-live contest data parser/org.icpclive.api/-optimism-level/-o-p-t-i-m-i-s-t-i-c/index.html -$dokka.location:org.icpclive.api/OptimismLevel.PESSIMISTIC///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-i-c-p-c-live contest data parser/org.icpclive.api/-optimism-level/-p-e-s-s-i-m-i-s-t-i-c/index.html -$dokka.location:org.icpclive.api/OptimismLevel///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-optimism-level/index.html -$dokka.location:org.icpclive.api/OptimismLevel/valueOf/#kotlin.String/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-optimism-level/value-of.html -$dokka.location:org.icpclive.api/OptimismLevel/values/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-optimism-level/values.html -$dokka.location:org.icpclive.api/OrganizationInfo///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-organization-info/index.html -$dokka.location:org.icpclive.api/OrganizationInfo/OrganizationInfo/#kotlin.String#kotlin.String#kotlin.String/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-organization-info/-organization-info.html -$dokka.location:org.icpclive.api/OrganizationInfo/cdsId/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-organization-info/cds-id.html -$dokka.location:org.icpclive.api/OrganizationInfo/displayName/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-organization-info/display-name.html -$dokka.location:org.icpclive.api/OrganizationInfo/fullName/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-organization-info/full-name.html -$dokka.location:org.icpclive.api/PenaltyRoundingMode.EACH_SUBMISSION_DOWN_TO_MINUTE///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/-e-a-c-h_-s-u-b-m-i-s-s-i-o-n_-d-o-w-n_-t-o_-m-i-n-u-t-e/index.html -$dokka.location:org.icpclive.api/PenaltyRoundingMode.LAST///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/-l-a-s-t/index.html -$dokka.location:org.icpclive.api/PenaltyRoundingMode.SUM_DOWN_TO_MINUTE///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/-s-u-m_-d-o-w-n_-t-o_-m-i-n-u-t-e/index.html -$dokka.location:org.icpclive.api/PenaltyRoundingMode.SUM_IN_SECONDS///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/-s-u-m_-i-n_-s-e-c-o-n-d-s/index.html -$dokka.location:org.icpclive.api/PenaltyRoundingMode.ZERO///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/-z-e-r-o/index.html -$dokka.location:org.icpclive.api/PenaltyRoundingMode///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/index.html -$dokka.location:org.icpclive.api/PenaltyRoundingMode/valueOf/#kotlin.String/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/value-of.html -$dokka.location:org.icpclive.api/PenaltyRoundingMode/values/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-penalty-rounding-mode/values.html -$dokka.location:org.icpclive.api/ProblemInfo.Companion///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/-companion/index.html -$dokka.location:org.icpclive.api/ProblemInfo.Companion/logger/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/-companion/logger.html -$dokka.location:org.icpclive.api/ProblemInfo///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/index.html -$dokka.location:org.icpclive.api/ProblemInfo/ProblemInfo/#kotlin.String#kotlin.String#kotlin.Int#kotlin.Int#kotlin.String#kotlin.Double?#kotlin.Double?#java.awt.Color?#org.icpclive.api.ScoreMergeMode?/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/-problem-info.html -$dokka.location:org.icpclive.api/ProblemInfo/color/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/color.html -$dokka.location:org.icpclive.api/ProblemInfo/contestSystemId/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/contest-system-id.html -$dokka.location:org.icpclive.api/ProblemInfo/id/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/id.html -$dokka.location:org.icpclive.api/ProblemInfo/letter/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/letter.html -$dokka.location:org.icpclive.api/ProblemInfo/maxScore/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/max-score.html -$dokka.location:org.icpclive.api/ProblemInfo/minScore/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/min-score.html -$dokka.location:org.icpclive.api/ProblemInfo/name/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/name.html -$dokka.location:org.icpclive.api/ProblemInfo/ordinal/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/ordinal.html -$dokka.location:org.icpclive.api/ProblemInfo/scoreMergeMode/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-info/score-merge-mode.html -$dokka.location:org.icpclive.api/ProblemResult///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-problem-result/index.html -$dokka.location:org.icpclive.api/RunInfo///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/index.html -$dokka.location:org.icpclive.api/RunInfo/RunInfo/#kotlin.Int#org.icpclive.api.RunResult?#kotlin.Double#kotlin.Int#kotlin.Int#kotlin.time.Duration#org.icpclive.api.MediaType?#kotlin.collections.List[org.icpclive.api.MediaType]#kotlin.Boolean/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/-run-info.html -$dokka.location:org.icpclive.api/RunInfo/featuredRunMedia/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/featured-run-media.html -$dokka.location:org.icpclive.api/RunInfo/id/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/id.html -$dokka.location:org.icpclive.api/RunInfo/isHidden/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/is-hidden.html -$dokka.location:org.icpclive.api/RunInfo/percentage/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/percentage.html -$dokka.location:org.icpclive.api/RunInfo/problemId/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/problem-id.html -$dokka.location:org.icpclive.api/RunInfo/reactionVideos/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/reaction-videos.html -$dokka.location:org.icpclive.api/RunInfo/result/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/result.html -$dokka.location:org.icpclive.api/RunInfo/teamId/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/team-id.html -$dokka.location:org.icpclive.api/RunInfo/time/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-run-info/time.html -$dokka.location:org.icpclive.api/RunResult///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-run-result/index.html -$dokka.location:org.icpclive.api/ScoreMergeMode.LAST///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/-l-a-s-t/index.html -$dokka.location:org.icpclive.api/ScoreMergeMode.LAST_OK///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/-l-a-s-t_-o-k/index.html -$dokka.location:org.icpclive.api/ScoreMergeMode.MAX_PER_GROUP///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/-m-a-x_-p-e-r_-g-r-o-u-p/index.html -$dokka.location:org.icpclive.api/ScoreMergeMode.MAX_TOTAL///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/-m-a-x_-t-o-t-a-l/index.html -$dokka.location:org.icpclive.api/ScoreMergeMode.SUM///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/-s-u-m/index.html -$dokka.location:org.icpclive.api/ScoreMergeMode///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/index.html -$dokka.location:org.icpclive.api/ScoreMergeMode/valueOf/#kotlin.String/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/value-of.html -$dokka.location:org.icpclive.api/ScoreMergeMode/values/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-score-merge-mode/values.html -$dokka.location:org.icpclive.api/Scoreboard///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard/index.html -$dokka.location:org.icpclive.api/Scoreboard/Scoreboard/#kotlin.time.Duration#kotlin.collections.List[org.icpclive.api.ScoreboardRow]/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard/-scoreboard.html -$dokka.location:org.icpclive.api/Scoreboard/lastSubmitTime/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard/last-submit-time.html -$dokka.location:org.icpclive.api/Scoreboard/rows/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard/rows.html -$dokka.location:org.icpclive.api/ScoreboardRow///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/index.html -$dokka.location:org.icpclive.api/ScoreboardRow/ScoreboardRow/#kotlin.Int#kotlin.Int#kotlin.Double#kotlin.time.Duration#kotlin.Long#kotlin.String?#kotlin.collections.List[org.icpclive.api.ProblemResult]#kotlin.collections.List[kotlin.String]#kotlin.collections.List[kotlin.String]/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/-scoreboard-row.html -$dokka.location:org.icpclive.api/ScoreboardRow/championInGroups/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/champion-in-groups.html -$dokka.location:org.icpclive.api/ScoreboardRow/lastAccepted/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/last-accepted.html -$dokka.location:org.icpclive.api/ScoreboardRow/medalType/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/medal-type.html -$dokka.location:org.icpclive.api/ScoreboardRow/penalty/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/penalty.html -$dokka.location:org.icpclive.api/ScoreboardRow/problemResults/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/problem-results.html -$dokka.location:org.icpclive.api/ScoreboardRow/rank/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/rank.html -$dokka.location:org.icpclive.api/ScoreboardRow/teamGroups/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/team-groups.html -$dokka.location:org.icpclive.api/ScoreboardRow/teamId/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/team-id.html -$dokka.location:org.icpclive.api/ScoreboardRow/totalScore/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-scoreboard-row/total-score.html -$dokka.location:org.icpclive.api/TeamInfo///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/index.html -$dokka.location:org.icpclive.api/TeamInfo/TeamInfo/#kotlin.Int#kotlin.String#kotlin.String#kotlin.String#kotlin.collections.List[kotlin.String]#kotlin.String?#kotlin.collections.Map[org.icpclive.api.TeamMediaType,org.icpclive.api.MediaType]#kotlin.Boolean#kotlin.Boolean#kotlin.String?#kotlin.collections.Map[kotlin.String,kotlin.String]/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/-team-info.html -$dokka.location:org.icpclive.api/TeamInfo/contestSystemId/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/contest-system-id.html -$dokka.location:org.icpclive.api/TeamInfo/customFields/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/custom-fields.html -$dokka.location:org.icpclive.api/TeamInfo/displayName/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/display-name.html -$dokka.location:org.icpclive.api/TeamInfo/fullName/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/full-name.html -$dokka.location:org.icpclive.api/TeamInfo/groups/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/groups.html -$dokka.location:org.icpclive.api/TeamInfo/hashTag/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/hash-tag.html -$dokka.location:org.icpclive.api/TeamInfo/id/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/id.html -$dokka.location:org.icpclive.api/TeamInfo/isHidden/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/is-hidden.html -$dokka.location:org.icpclive.api/TeamInfo/isOutOfContest/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/is-out-of-contest.html -$dokka.location:org.icpclive.api/TeamInfo/medias/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/medias.html -$dokka.location:org.icpclive.api/TeamInfo/organizationId/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-team-info/organization-id.html -$dokka.location:org.icpclive.api/TeamMediaType.ACHIEVEMENT///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/-a-c-h-i-e-v-e-m-e-n-t/index.html -$dokka.location:org.icpclive.api/TeamMediaType.CAMERA///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/-c-a-m-e-r-a/index.html -$dokka.location:org.icpclive.api/TeamMediaType.PHOTO///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/-p-h-o-t-o/index.html -$dokka.location:org.icpclive.api/TeamMediaType.REACTION_VIDEO///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/-r-e-a-c-t-i-o-n_-v-i-d-e-o/index.html -$dokka.location:org.icpclive.api/TeamMediaType.RECORD///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/-r-e-c-o-r-d/index.html -$dokka.location:org.icpclive.api/TeamMediaType.SCREEN///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/-s-c-r-e-e-n/index.html -$dokka.location:org.icpclive.api/TeamMediaType///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/index.html -$dokka.location:org.icpclive.api/TeamMediaType/valueOf/#kotlin.String/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/value-of.html -$dokka.location:org.icpclive.api/TeamMediaType/values/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-team-media-type/values.html -$dokka.location:org.icpclive.api/Verdict.Accepted///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-accepted/index.html -$dokka.location:org.icpclive.api/Verdict.Challenged///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-challenged/index.html -$dokka.location:org.icpclive.api/Verdict.Companion///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-companion/index.html -$dokka.location:org.icpclive.api/Verdict.Companion/all/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-companion/all.html -$dokka.location:org.icpclive.api/Verdict.Companion/lookup/#kotlin.String#kotlin.Boolean#kotlin.Boolean/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-companion/lookup.html -$dokka.location:org.icpclive.api/Verdict.CompilationError///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-compilation-error/index.html -$dokka.location:org.icpclive.api/Verdict.CompilationErrorWithPenalty///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-compilation-error-with-penalty/index.html -$dokka.location:org.icpclive.api/Verdict.Fail///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-fail/index.html -$dokka.location:org.icpclive.api/Verdict.IdlenessLimitExceeded///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-idleness-limit-exceeded/index.html -$dokka.location:org.icpclive.api/Verdict.Ignored///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-ignored/index.html -$dokka.location:org.icpclive.api/Verdict.MemoryLimitExceeded///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-memory-limit-exceeded/index.html -$dokka.location:org.icpclive.api/Verdict.OutputLimitExceeded///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-output-limit-exceeded/index.html -$dokka.location:org.icpclive.api/Verdict.PresentationError///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-presentation-error/index.html -$dokka.location:org.icpclive.api/Verdict.Rejected///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-rejected/index.html -$dokka.location:org.icpclive.api/Verdict.RuntimeError///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-runtime-error/index.html -$dokka.location:org.icpclive.api/Verdict.SecurityViolation///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-security-violation/index.html -$dokka.location:org.icpclive.api/Verdict.TimeLimitExceeded///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-time-limit-exceeded/index.html -$dokka.location:org.icpclive.api/Verdict.WrongAnswer///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/-wrong-answer/index.html -$dokka.location:org.icpclive.api/Verdict///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/index.html -$dokka.location:org.icpclive.api/Verdict/isAccepted/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/is-accepted.html -$dokka.location:org.icpclive.api/Verdict/isAddingPenalty/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/is-adding-penalty.html -$dokka.location:org.icpclive.api/Verdict/shortName/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/short-name.html -$dokka.location:org.icpclive.api/Verdict/toRunResult/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict/to-run-result.html -$dokka.location:org.icpclive.api/VerdictSerializer///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict-serializer/index.html -$dokka.location:org.icpclive.api/VerdictSerializer/VerdictSerializer/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict-serializer/-verdict-serializer.html -$dokka.location:org.icpclive.api/VerdictSerializer/descriptor/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict-serializer/descriptor.html -$dokka.location:org.icpclive.api/VerdictSerializer/deserialize/#kotlinx.serialization.encoding.Decoder/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict-serializer/deserialize.html -$dokka.location:org.icpclive.api/VerdictSerializer/serialize/#kotlinx.serialization.encoding.Encoder#org.icpclive.api.Verdict/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.api/-verdict-serializer/serialize.html -$dokka.location:org.icpclive.cds.adapters////PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/index.html -$dokka.location:org.icpclive.cds.adapters//addFirstToSolves/kotlinx.coroutines.flow.Flow[org.icpclive.cds.ContestUpdate]#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/add-first-to-solves.html -$dokka.location:org.icpclive.cds.adapters//applyAdvancedProperties/kotlinx.coroutines.flow.Flow[org.icpclive.cds.ContestUpdate]#kotlinx.coroutines.flow.Flow[org.icpclive.api.tunning.AdvancedProperties]/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/apply-advanced-properties.html -$dokka.location:org.icpclive.cds.adapters//calculateScoreDifferences/kotlinx.coroutines.flow.Flow[org.icpclive.cds.ContestUpdate]#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/calculate-score-differences.html -$dokka.location:org.icpclive.cds.adapters//filterUseless/kotlinx.coroutines.flow.Flow[org.icpclive.cds.ContestUpdate]#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/filter-useless.html -$dokka.location:org.icpclive.cds.adapters//filterUseless/kotlinx.coroutines.flow.Flow[org.icpclive.cds.adapters.ContestEventWithRunsBefore]#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/filter-useless.html -$dokka.location:org.icpclive.cds.adapters//processHiddenTeamsAndGroups/kotlinx.coroutines.flow.Flow[org.icpclive.cds.ContestUpdate]#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/process-hidden-teams-and-groups.html -$dokka.location:org.icpclive.cds.adapters//removeFrozenSubmissions/kotlinx.coroutines.flow.Flow[org.icpclive.cds.ContestUpdate]#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/remove-frozen-submissions.html -$dokka.location:org.icpclive.cds.adapters//removeFrozenSubmissions/kotlinx.coroutines.flow.Flow[org.icpclive.cds.adapters.ContestEventWithRunsBefore]#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/remove-frozen-submissions.html -$dokka.location:org.icpclive.cds.adapters//stateGroupedByTeam/kotlinx.coroutines.flow.Flow[org.icpclive.cds.ContestUpdate]#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/state-grouped-by-team.html -$dokka.location:org.icpclive.cds.adapters//stateWithGroupedRuns/kotlinx.coroutines.flow.Flow[org.icpclive.cds.ContestUpdate]#kotlin.Function1[org.icpclive.api.RunInfo,TypeParam(bounds=[kotlin.Any])]/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/state-with-grouped-runs.html -$dokka.location:org.icpclive.cds.adapters//update/kotlinx.collections.immutable.PersistentMap[TypeParam(bounds=[kotlin.Any?]),TypeParam(bounds=[kotlin.Any?])]#TypeParam(bounds=[kotlin.Any?])#kotlin.Function1[TypeParam(bounds=[kotlin.Any?])?,TypeParam(bounds=[kotlin.Any?])]/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/update.html -$dokka.location:org.icpclive.cds.adapters//withContestInfoBefore/kotlinx.coroutines.flow.Flow[org.icpclive.cds.ContestUpdate]#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/with-contest-info-before.html -$dokka.location:org.icpclive.cds.adapters//withGroupedRuns/kotlinx.coroutines.flow.Flow[org.icpclive.cds.ContestUpdate]#kotlin.Function1[org.icpclive.api.RunInfo,TypeParam(bounds=[kotlin.Any])]#kotlin.Function4[TypeParam(bounds=[kotlin.Any]),kotlinx.collections.immutable.PersistentList[org.icpclive.api.RunInfo],kotlinx.collections.immutable.PersistentList[org.icpclive.api.RunInfo],org.icpclive.api.ContestInfo?,kotlin.collections.List[org.icpclive.api.RunInfo]]?#kotlin.Function3[org.icpclive.api.ContestInfo,org.icpclive.api.ContestInfo?,TypeParam(bounds=[kotlin.Any]),kotlin.Boolean]?/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/with-grouped-runs.html -$dokka.location:org.icpclive.cds.adapters//withRunsBefore/kotlinx.coroutines.flow.Flow[org.icpclive.cds.ContestUpdate]#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/with-runs-before.html -$dokka.location:org.icpclive.cds.adapters/AdvancedPropertiesAdapter///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-advanced-properties-adapter/index.html -$dokka.location:org.icpclive.cds.adapters/ContestEventWithGroupedRuns///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/index.html -$dokka.location:org.icpclive.cds.adapters/ContestEventWithGroupedRuns/ContestEventWithGroupedRuns/#org.icpclive.cds.ContestUpdate#org.icpclive.api.ContestInfo?#kotlinx.collections.immutable.PersistentMap[TypeParam(bounds=[kotlin.Any?]),kotlinx.collections.immutable.PersistentList[org.icpclive.api.RunInfo]]/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/-contest-event-with-grouped-runs.html -$dokka.location:org.icpclive.cds.adapters/ContestEventWithGroupedRuns/event/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/event.html -$dokka.location:org.icpclive.cds.adapters/ContestEventWithGroupedRuns/infoAfterEvent/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/info-after-event.html -$dokka.location:org.icpclive.cds.adapters/ContestEventWithGroupedRuns/infoBeforeEvent/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/info-before-event.html -$dokka.location:org.icpclive.cds.adapters/ContestEventWithGroupedRuns/runs/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-grouped-runs/runs.html -$dokka.location:org.icpclive.cds.adapters/ContestEventWithRunsBefore///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-runs-before/index.html -$dokka.location:org.icpclive.cds.adapters/ContestEventWithRunsBefore/ContestEventWithRunsBefore/#org.icpclive.cds.ContestUpdate#org.icpclive.api.ContestInfo?#kotlinx.collections.immutable.PersistentMap[kotlin.Int,org.icpclive.api.RunInfo]/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-runs-before/-contest-event-with-runs-before.html -$dokka.location:org.icpclive.cds.adapters/ContestEventWithRunsBefore/event/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-runs-before/event.html -$dokka.location:org.icpclive.cds.adapters/ContestEventWithRunsBefore/infoAfterEvent/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-runs-before/info-after-event.html -$dokka.location:org.icpclive.cds.adapters/ContestEventWithRunsBefore/infoBeforeEvent/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-runs-before/info-before-event.html -$dokka.location:org.icpclive.cds.adapters/ContestEventWithRunsBefore/runs/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-event-with-runs-before/runs.html -$dokka.location:org.icpclive.cds.adapters/ContestStateWithGroupedRuns///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-state-with-grouped-runs/index.html -$dokka.location:org.icpclive.cds.adapters/ContestStateWithGroupedRuns/ContestStateWithGroupedRuns/#org.icpclive.api.ContestInfo?#kotlinx.collections.immutable.PersistentMap[TypeParam(bounds=[kotlin.Any?]),kotlinx.collections.immutable.PersistentList[org.icpclive.api.RunInfo]]/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-state-with-grouped-runs/-contest-state-with-grouped-runs.html -$dokka.location:org.icpclive.cds.adapters/ContestStateWithGroupedRuns/info/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-state-with-grouped-runs/info.html -$dokka.location:org.icpclive.cds.adapters/ContestStateWithGroupedRuns/runs/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-state-with-grouped-runs/runs.html -$dokka.location:org.icpclive.cds.adapters/ContestStateWithRunsByTeam///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-state-with-runs-by-team/index.html -$dokka.location:org.icpclive.cds.adapters/ContestStateWithRunsByTeam/ContestStateWithRunsByTeam/#org.icpclive.api.ContestInfo?#kotlinx.collections.immutable.PersistentMap[kotlin.Int,kotlinx.collections.immutable.PersistentList[org.icpclive.api.RunInfo]]/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-state-with-runs-by-team/-contest-state-with-runs-by-team.html -$dokka.location:org.icpclive.cds.adapters/ContestStateWithRunsByTeam/info/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-state-with-runs-by-team/info.html -$dokka.location:org.icpclive.cds.adapters/ContestStateWithRunsByTeam/runs/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.adapters/-contest-state-with-runs-by-team/runs.html -$dokka.location:org.icpclive.cds.common////PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.common/index.html -$dokka.location:org.icpclive.cds.common//setAllowUnsecureConnections/#kotlin.Boolean/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.common/set-allow-unsecure-connections.html -$dokka.location:org.icpclive.cds.settings////PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/index.html -$dokka.location:org.icpclive.cds.settings//parseFileToCdsSettings/#java.nio.file.Path/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/parse-file-to-cds-settings.html -$dokka.location:org.icpclive.cds.settings/CDSSettings///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-d-s-settings/index.html -$dokka.location:org.icpclive.cds.settings/CDSSettings/emulation/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-d-s-settings/emulation.html -$dokka.location:org.icpclive.cds.settings/CDSSettings/toFlow/#kotlin.collections.Map[kotlin.String,kotlin.String]/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-d-s-settings/to-flow.html -$dokka.location:org.icpclive.cds.settings/CDSSettings/toString/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-d-s-settings/to-string.html -$dokka.location:org.icpclive.cds.settings/CFSettings///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-f-settings/index.html -$dokka.location:org.icpclive.cds.settings/CFSettings/CFSettings/#kotlin.Int#org.icpclive.cds.settings.Credential#org.icpclive.cds.settings.Credential#kotlin.Boolean#org.icpclive.cds.settings.EmulationSettings?/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-f-settings/-c-f-settings.html -$dokka.location:org.icpclive.cds.settings/CFSettings/apiKey/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-f-settings/api-key.html -$dokka.location:org.icpclive.cds.settings/CFSettings/apiSecret/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-f-settings/api-secret.html -$dokka.location:org.icpclive.cds.settings/CFSettings/asManager/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-f-settings/as-manager.html -$dokka.location:org.icpclive.cds.settings/CFSettings/contestId/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-f-settings/contest-id.html -$dokka.location:org.icpclive.cds.settings/CFSettings/emulation/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-f-settings/emulation.html -$dokka.location:org.icpclive.cds.settings/CatsSettings///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/index.html -$dokka.location:org.icpclive.cds.settings/CatsSettings/CatsSettings/#org.icpclive.cds.settings.Credential#org.icpclive.cds.settings.Credential#kotlin.String#kotlinx.datetime.TimeZone#org.icpclive.api.ContestResultType#kotlin.String#org.icpclive.cds.settings.EmulationSettings?/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/-cats-settings.html -$dokka.location:org.icpclive.cds.settings/CatsSettings/cid/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/cid.html -$dokka.location:org.icpclive.cds.settings/CatsSettings/emulation/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/emulation.html -$dokka.location:org.icpclive.cds.settings/CatsSettings/login/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/login.html -$dokka.location:org.icpclive.cds.settings/CatsSettings/password/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/password.html -$dokka.location:org.icpclive.cds.settings/CatsSettings/resultType/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/result-type.html -$dokka.location:org.icpclive.cds.settings/CatsSettings/timeZone/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/time-zone.html -$dokka.location:org.icpclive.cds.settings/CatsSettings/url/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/url.html -$dokka.location:org.icpclive.cds.settings/ClicsLoaderSettings///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/index.html -$dokka.location:org.icpclive.cds.settings/ClicsLoaderSettings/ClicsLoaderSettings/#kotlin.String#org.icpclive.cds.settings.Credential?#org.icpclive.cds.settings.Credential?#kotlin.String#org.icpclive.cds.clics.FeedVersion/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/-clics-loader-settings.html -$dokka.location:org.icpclive.cds.settings/ClicsLoaderSettings/eventFeedName/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/event-feed-name.html -$dokka.location:org.icpclive.cds.settings/ClicsLoaderSettings/feedVersion/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/feed-version.html -$dokka.location:org.icpclive.cds.settings/ClicsLoaderSettings/login/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/login.html -$dokka.location:org.icpclive.cds.settings/ClicsLoaderSettings/password/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/password.html -$dokka.location:org.icpclive.cds.settings/ClicsLoaderSettings/url/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/url.html -$dokka.location:org.icpclive.cds.settings/ClicsSettings///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/index.html -$dokka.location:org.icpclive.cds.settings/ClicsSettings/ClicsSettings/#kotlin.String#org.icpclive.cds.settings.Credential?#org.icpclive.cds.settings.Credential?#kotlin.String#org.icpclive.cds.clics.FeedVersion#org.icpclive.cds.settings.ClicsLoaderSettings?#kotlin.Boolean#kotlin.String#org.icpclive.cds.settings.EmulationSettings?/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/-clics-settings.html -$dokka.location:org.icpclive.cds.settings/ClicsSettings/additionalFeed/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/additional-feed.html -$dokka.location:org.icpclive.cds.settings/ClicsSettings/emulation/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/emulation.html -$dokka.location:org.icpclive.cds.settings/ClicsSettings/mainFeed/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/main-feed.html -$dokka.location:org.icpclive.cds.settings/ClicsSettings/mediaBaseUrl/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/media-base-url.html -$dokka.location:org.icpclive.cds.settings/ClicsSettings/useTeamNames/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/use-team-names.html -$dokka.location:org.icpclive.cds.settings/CodeDrillsSettings///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-code-drills-settings/index.html -$dokka.location:org.icpclive.cds.settings/CodeDrillsSettings/CodeDrillsSettings/#kotlin.String#kotlin.Int#kotlin.String#org.icpclive.cds.settings.Credential#org.icpclive.cds.settings.EmulationSettings?/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-code-drills-settings/-code-drills-settings.html -$dokka.location:org.icpclive.cds.settings/CodeDrillsSettings/authKey/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-code-drills-settings/auth-key.html -$dokka.location:org.icpclive.cds.settings/CodeDrillsSettings/contestId/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-code-drills-settings/contest-id.html -$dokka.location:org.icpclive.cds.settings/CodeDrillsSettings/emulation/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-code-drills-settings/emulation.html -$dokka.location:org.icpclive.cds.settings/CodeDrillsSettings/port/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-code-drills-settings/port.html -$dokka.location:org.icpclive.cds.settings/CodeDrillsSettings/url/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-code-drills-settings/url.html -$dokka.location:org.icpclive.cds.settings/Credential///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-credential/index.html -$dokka.location:org.icpclive.cds.settings/Credential/Credential/#kotlin.String/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-credential/-credential.html -$dokka.location:org.icpclive.cds.settings/Credential/get/#kotlin.collections.Map[kotlin.String,kotlin.String]/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-credential/get.html -$dokka.location:org.icpclive.cds.settings/EjudgeSettings///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/index.html -$dokka.location:org.icpclive.cds.settings/EjudgeSettings/EjudgeSettings/#kotlin.String#org.icpclive.api.ContestResultType#org.icpclive.cds.settings.EmulationSettings?/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/-ejudge-settings.html -$dokka.location:org.icpclive.cds.settings/EjudgeSettings/emulation/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/emulation.html -$dokka.location:org.icpclive.cds.settings/EjudgeSettings/resultType/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/result-type.html -$dokka.location:org.icpclive.cds.settings/EjudgeSettings/url/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/url.html -$dokka.location:org.icpclive.cds.settings/EmulationSettings///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-emulation-settings/index.html -$dokka.location:org.icpclive.cds.settings/EmulationSettings/EmulationSettings/#kotlin.Double#kotlinx.datetime.Instant/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-emulation-settings/-emulation-settings.html -$dokka.location:org.icpclive.cds.settings/EmulationSettings/speed/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-emulation-settings/speed.html -$dokka.location:org.icpclive.cds.settings/EmulationSettings/startTime/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-emulation-settings/start-time.html -$dokka.location:org.icpclive.cds.settings/KRSUSettings///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-k-r-s-u-settings/index.html -$dokka.location:org.icpclive.cds.settings/KRSUSettings/KRSUSettings/#kotlin.String#kotlin.String#kotlinx.datetime.TimeZone#org.icpclive.cds.settings.EmulationSettings?/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-k-r-s-u-settings/-k-r-s-u-settings.html -$dokka.location:org.icpclive.cds.settings/KRSUSettings/contestUrl/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-k-r-s-u-settings/contest-url.html -$dokka.location:org.icpclive.cds.settings/KRSUSettings/emulation/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-k-r-s-u-settings/emulation.html -$dokka.location:org.icpclive.cds.settings/KRSUSettings/submissionsUrl/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-k-r-s-u-settings/submissions-url.html -$dokka.location:org.icpclive.cds.settings/KRSUSettings/timeZone/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-k-r-s-u-settings/time-zone.html -$dokka.location:org.icpclive.cds.settings/NoopSettings///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-noop-settings/index.html -$dokka.location:org.icpclive.cds.settings/NoopSettings/NoopSettings/#org.icpclive.cds.settings.EmulationSettings?/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-noop-settings/-noop-settings.html -$dokka.location:org.icpclive.cds.settings/NoopSettings/emulation/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-noop-settings/emulation.html -$dokka.location:org.icpclive.cds.settings/PCMSSettings///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/index.html -$dokka.location:org.icpclive.cds.settings/PCMSSettings/PCMSSettings/#kotlin.String#org.icpclive.cds.settings.Credential?#org.icpclive.cds.settings.Credential?#kotlin.String?#org.icpclive.api.ContestResultType#org.icpclive.cds.settings.EmulationSettings?/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/-p-c-m-s-settings.html -$dokka.location:org.icpclive.cds.settings/PCMSSettings/emulation/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/emulation.html -$dokka.location:org.icpclive.cds.settings/PCMSSettings/login/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/login.html -$dokka.location:org.icpclive.cds.settings/PCMSSettings/password/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/password.html -$dokka.location:org.icpclive.cds.settings/PCMSSettings/problemsUrl/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/problems-url.html -$dokka.location:org.icpclive.cds.settings/PCMSSettings/resultType/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/result-type.html -$dokka.location:org.icpclive.cds.settings/PCMSSettings/url/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/url.html -$dokka.location:org.icpclive.cds.settings/TestSysSettings///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-test-sys-settings/index.html -$dokka.location:org.icpclive.cds.settings/TestSysSettings/TestSysSettings/#kotlin.String#kotlinx.datetime.TimeZone#org.icpclive.cds.settings.EmulationSettings?/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-test-sys-settings/-test-sys-settings.html -$dokka.location:org.icpclive.cds.settings/TestSysSettings/emulation/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-test-sys-settings/emulation.html -$dokka.location:org.icpclive.cds.settings/TestSysSettings/timeZone/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-test-sys-settings/time-zone.html -$dokka.location:org.icpclive.cds.settings/TestSysSettings/url/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-test-sys-settings/url.html -$dokka.location:org.icpclive.cds.settings/YandexSettings///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/index.html -$dokka.location:org.icpclive.cds.settings/YandexSettings/YandexSettings/#org.icpclive.cds.settings.Credential#kotlin.text.Regex#kotlin.Int#org.icpclive.api.ContestResultType#org.icpclive.cds.settings.EmulationSettings?/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/-yandex-settings.html -$dokka.location:org.icpclive.cds.settings/YandexSettings/apiKey/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/api-key.html -$dokka.location:org.icpclive.cds.settings/YandexSettings/contestId/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/contest-id.html -$dokka.location:org.icpclive.cds.settings/YandexSettings/emulation/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/emulation.html -$dokka.location:org.icpclive.cds.settings/YandexSettings/loginRegex/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/login-regex.html -$dokka.location:org.icpclive.cds.settings/YandexSettings/resultType/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/result-type.html -$dokka.location:org.icpclive.cds////PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds/index.html -$dokka.location:org.icpclive.cds/AnalyticsUpdate///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds/-analytics-update/index.html -$dokka.location:org.icpclive.cds/AnalyticsUpdate/AnalyticsUpdate/#org.icpclive.api.AnalyticsMessage/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds/-analytics-update/-analytics-update.html -$dokka.location:org.icpclive.cds/AnalyticsUpdate/message/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds/-analytics-update/message.html -$dokka.location:org.icpclive.cds/ContestUpdate///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds/-contest-update/index.html -$dokka.location:org.icpclive.cds/InfoUpdate///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds/-info-update/index.html -$dokka.location:org.icpclive.cds/InfoUpdate/InfoUpdate/#org.icpclive.api.ContestInfo/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds/-info-update/-info-update.html -$dokka.location:org.icpclive.cds/InfoUpdate/newInfo/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds/-info-update/new-info.html -$dokka.location:org.icpclive.cds/RunUpdate///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds/-run-update/index.html -$dokka.location:org.icpclive.cds/RunUpdate/RunUpdate/#org.icpclive.api.RunInfo/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds/-run-update/-run-update.html -$dokka.location:org.icpclive.cds/RunUpdate/newInfo/#/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.cds/-run-update/new-info.html -$dokka.location:org.icpclive.scoreboard////PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.scoreboard/index.html -$dokka.location:org.icpclive.scoreboard//calculateScoreboard/kotlinx.coroutines.flow.Flow[org.icpclive.cds.adapters.ContestStateWithRunsByTeam]#org.icpclive.api.OptimismLevel/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.scoreboard/calculate-scoreboard.html -$dokka.location:org.icpclive.scoreboard//calculateScoreboardWithInfo/kotlinx.coroutines.flow.Flow[org.icpclive.cds.adapters.ContestStateWithRunsByTeam]#org.icpclive.api.OptimismLevel/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.scoreboard/calculate-scoreboard-with-info.html -$dokka.location:org.icpclive.scoreboard//getScoreboardCalculator/#org.icpclive.api.ContestInfo#org.icpclive.api.OptimismLevel/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.scoreboard/get-scoreboard-calculator.html -$dokka.location:org.icpclive.scoreboard/ScoreboardCalculator///PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.scoreboard/-scoreboard-calculator/index.html -$dokka.location:org.icpclive.scoreboard/ScoreboardCalculator/getScoreboard/#org.icpclive.api.ContestInfo#kotlin.collections.Map[kotlin.Int,kotlin.collections.List[org.icpclive.api.RunInfo]]/PointingToDeclaration/-i-c-p-c-live contest data parser/org.icpclive.scoreboard/-scoreboard-calculator/get-scoreboard.html -org.icpclive.api -org.icpclive.api.tunning -org.icpclive.cds -org.icpclive.cds.adapters -org.icpclive.cds.common -org.icpclive.cds.settings -org.icpclive.scoreboard - diff --git a/docs/cds/images/anchor-copy-button.svg b/docs/cds/images/anchor-copy-button.svg deleted file mode 100644 index bab9d747f..000000000 --- a/docs/cds/images/anchor-copy-button.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/docs/cds/images/arrow_down.svg b/docs/cds/images/arrow_down.svg deleted file mode 100644 index c0388dee2..000000000 --- a/docs/cds/images/arrow_down.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/docs/cds/images/copy-icon.svg b/docs/cds/images/copy-icon.svg deleted file mode 100644 index 61440f0a4..000000000 --- a/docs/cds/images/copy-icon.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/docs/cds/images/copy-successful-icon.svg b/docs/cds/images/copy-successful-icon.svg deleted file mode 100644 index 1865f739b..000000000 --- a/docs/cds/images/copy-successful-icon.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/docs/cds/images/footer-go-to-link.svg b/docs/cds/images/footer-go-to-link.svg deleted file mode 100644 index 0137e2231..000000000 --- a/docs/cds/images/footer-go-to-link.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/docs/cds/images/go-to-top-icon.svg b/docs/cds/images/go-to-top-icon.svg deleted file mode 100644 index d987f3ead..000000000 --- a/docs/cds/images/go-to-top-icon.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/docs/cds/images/logo-icon.svg b/docs/cds/images/logo-icon.svg deleted file mode 100644 index 1fea08773..000000000 --- a/docs/cds/images/logo-icon.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/docs/cds/images/nav-icons/abstract-class-kotlin.svg b/docs/cds/images/nav-icons/abstract-class-kotlin.svg deleted file mode 100644 index a2069b8fb..000000000 --- a/docs/cds/images/nav-icons/abstract-class-kotlin.svg +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/cds/images/nav-icons/abstract-class.svg b/docs/cds/images/nav-icons/abstract-class.svg deleted file mode 100644 index 601820302..000000000 --- a/docs/cds/images/nav-icons/abstract-class.svg +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/docs/cds/images/nav-icons/annotation-kotlin.svg b/docs/cds/images/nav-icons/annotation-kotlin.svg deleted file mode 100644 index 932f1d3de..000000000 --- a/docs/cds/images/nav-icons/annotation-kotlin.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/docs/cds/images/nav-icons/annotation.svg b/docs/cds/images/nav-icons/annotation.svg deleted file mode 100644 index b80c54b4b..000000000 --- a/docs/cds/images/nav-icons/annotation.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/docs/cds/images/nav-icons/class-kotlin.svg b/docs/cds/images/nav-icons/class-kotlin.svg deleted file mode 100644 index 46a21f65a..000000000 --- a/docs/cds/images/nav-icons/class-kotlin.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/docs/cds/images/nav-icons/class.svg b/docs/cds/images/nav-icons/class.svg deleted file mode 100644 index 3f1ad167e..000000000 --- a/docs/cds/images/nav-icons/class.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/docs/cds/images/nav-icons/enum-kotlin.svg b/docs/cds/images/nav-icons/enum-kotlin.svg deleted file mode 100644 index 4a8545968..000000000 --- a/docs/cds/images/nav-icons/enum-kotlin.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/docs/cds/images/nav-icons/enum.svg b/docs/cds/images/nav-icons/enum.svg deleted file mode 100644 index fa7f24766..000000000 --- a/docs/cds/images/nav-icons/enum.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/docs/cds/images/nav-icons/exception-class.svg b/docs/cds/images/nav-icons/exception-class.svg deleted file mode 100644 index c0b2bdeba..000000000 --- a/docs/cds/images/nav-icons/exception-class.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/docs/cds/images/nav-icons/field-value.svg b/docs/cds/images/nav-icons/field-value.svg deleted file mode 100644 index 20449c947..000000000 --- a/docs/cds/images/nav-icons/field-value.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/docs/cds/images/nav-icons/field-variable.svg b/docs/cds/images/nav-icons/field-variable.svg deleted file mode 100644 index 3b0745007..000000000 --- a/docs/cds/images/nav-icons/field-variable.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/docs/cds/images/nav-icons/function.svg b/docs/cds/images/nav-icons/function.svg deleted file mode 100644 index f0da64a0b..000000000 --- a/docs/cds/images/nav-icons/function.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/docs/cds/images/nav-icons/interface-kotlin.svg b/docs/cds/images/nav-icons/interface-kotlin.svg deleted file mode 100644 index bf07a1488..000000000 --- a/docs/cds/images/nav-icons/interface-kotlin.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/docs/cds/images/nav-icons/interface.svg b/docs/cds/images/nav-icons/interface.svg deleted file mode 100644 index 32063ba26..000000000 --- a/docs/cds/images/nav-icons/interface.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/docs/cds/images/nav-icons/object.svg b/docs/cds/images/nav-icons/object.svg deleted file mode 100644 index 9f427de41..000000000 --- a/docs/cds/images/nav-icons/object.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/docs/cds/images/theme-toggle.svg b/docs/cds/images/theme-toggle.svg deleted file mode 100644 index 2a8d750ea..000000000 --- a/docs/cds/images/theme-toggle.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/docs/cds/index.html b/docs/cds/index.html deleted file mode 100644 index 6865fda9c..000000000 --- a/docs/cds/index.html +++ /dev/null @@ -1,199 +0,0 @@ - - - - - ICPC-live contest data parser - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
- -
-

ICPC-live contest data parser

-
-

Packages

-
-
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
- -
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
- -
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
- -
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
- -
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
- -
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
- -
-
-
-
- - -
Link copied to clipboard
-
-
-
- -
-
-
-
-
-
-
-
- -
-
- - diff --git a/docs/cds/navigation.html b/docs/cds/navigation.html deleted file mode 100644 index 86423cd77..000000000 --- a/docs/cds/navigation.html +++ /dev/null @@ -1,412 +0,0 @@ -
- - - - - - - - -
- diff --git a/docs/cds/scripts/clipboard.js b/docs/cds/scripts/clipboard.js deleted file mode 100644 index b00ce246e..000000000 --- a/docs/cds/scripts/clipboard.js +++ /dev/null @@ -1,52 +0,0 @@ -window.addEventListener('load', () => { - document.querySelectorAll('span.copy-icon').forEach(element => { - element.addEventListener('click', (el) => copyElementsContentToClipboard(element)); - }) - - document.querySelectorAll('span.anchor-icon').forEach(element => { - element.addEventListener('click', (el) => { - if(element.hasAttribute('pointing-to')){ - const location = hrefWithoutCurrentlyUsedAnchor() + '#' + element.getAttribute('pointing-to') - copyTextToClipboard(element, location) - } - }); - }) -}) - -const copyElementsContentToClipboard = (element) => { - const selection = window.getSelection(); - const range = document.createRange(); - range.selectNodeContents(element.parentNode.parentNode); - selection.removeAllRanges(); - selection.addRange(range); - - copyAndShowPopup(element, () => selection.removeAllRanges()) -} - -const copyTextToClipboard = (element, text) => { - var textarea = document.createElement("textarea"); - textarea.textContent = text; - textarea.style.position = "fixed"; - document.body.appendChild(textarea); - textarea.select(); - - copyAndShowPopup(element, () => document.body.removeChild(textarea)) -} - -const copyAndShowPopup = (element, after) => { - try { - document.execCommand('copy'); - element.nextElementSibling.classList.add('active-popup'); - setTimeout(() => { - element.nextElementSibling.classList.remove('active-popup'); - }, 1200); - } catch (e) { - console.error('Failed to write to clipboard:', e) - } - finally { - if(after) after() - } -} - -const hrefWithoutCurrentlyUsedAnchor = () => window.location.href.split('#')[0] - diff --git a/docs/cds/scripts/main.js b/docs/cds/scripts/main.js deleted file mode 100644 index e5b54a36a..000000000 --- a/docs/cds/scripts/main.js +++ /dev/null @@ -1,44 +0,0 @@ -(()=>{var e={8527:e=>{e.exports=''},5570:e=>{e.exports=''},107:e=>{e.exports=''},7224:e=>{e.exports=''},538:e=>{e.exports=''},1924:(e,n,t)=>{"use strict";var r=t(210),o=t(5559),i=o(r("String.prototype.indexOf"));e.exports=function(e,n){var t=r(e,!!n);return"function"==typeof t&&i(e,".prototype.")>-1?o(t):t}},5559:(e,n,t)=>{"use strict";var r=t(8612),o=t(210),i=o("%Function.prototype.apply%"),a=o("%Function.prototype.call%"),l=o("%Reflect.apply%",!0)||r.call(a,i),c=o("%Object.getOwnPropertyDescriptor%",!0),u=o("%Object.defineProperty%",!0),s=o("%Math.max%");if(u)try{u({},"a",{value:1})}catch(e){u=null}e.exports=function(e){var n=l(r,a,arguments);if(c&&u){var t=c(n,"length");t.configurable&&u(n,"length",{value:1+s(0,e.length-(arguments.length-1))})}return n};var f=function(){return l(r,i,arguments)};u?u(e.exports,"apply",{value:f}):e.exports.apply=f},4184:(e,n)=>{var t; -/*! - Copyright (c) 2018 Jed Watson. - Licensed under the MIT License (MIT), see - http://jedwatson.github.io/classnames -*/!function(){"use strict";var r={}.hasOwnProperty;function o(){for(var e=[],n=0;n{"use strict";e.exports=function(e,n){var t=this,r=t.constructor;return t.options=Object.assign({storeInstancesGlobally:!0},n||{}),t.callbacks={},t.directMap={},t.sequenceLevels={},t.resetTimer=null,t.ignoreNextKeyup=!1,t.ignoreNextKeypress=!1,t.nextExpectedAction=!1,t.element=e,t.addEvents(),t.options.storeInstancesGlobally&&r.instances.push(t),t},e.exports.prototype.bind=t(2207),e.exports.prototype.bindMultiple=t(3396),e.exports.prototype.unbind=t(9208),e.exports.prototype.trigger=t(9855),e.exports.prototype.reset=t(6214),e.exports.prototype.stopCallback=t(3450),e.exports.prototype.handleKey=t(3067),e.exports.prototype.addEvents=t(718),e.exports.prototype.bindSingle=t(8763),e.exports.prototype.getKeyInfo=t(5825),e.exports.prototype.pickBestAction=t(8608),e.exports.prototype.getReverseMap=t(3956),e.exports.prototype.getMatches=t(3373),e.exports.prototype.resetSequences=t(3346),e.exports.prototype.fireCallback=t(2684),e.exports.prototype.bindSequence=t(7103),e.exports.prototype.resetSequenceTimer=t(7309),e.exports.prototype.detach=t(7554),e.exports.instances=[],e.exports.reset=t(1822),e.exports.REVERSE_MAP=null},718:(e,n,t)=>{"use strict";e.exports=function(){var e=this,n=t(4323),r=e.element;e.eventHandler=t(9646).bind(e),n(r,"keypress",e.eventHandler),n(r,"keydown",e.eventHandler),n(r,"keyup",e.eventHandler)}},2207:e=>{"use strict";e.exports=function(e,n,t){return e=e instanceof Array?e:[e],this.bindMultiple(e,n,t),this}},3396:e=>{"use strict";e.exports=function(e,n,t){for(var r=0;r{"use strict";e.exports=function(e,n,r,o){var i=this;function a(n){return function(){i.nextExpectedAction=n,++i.sequenceLevels[e],i.resetSequenceTimer()}}function l(n){var a;i.fireCallback(r,n,e),"keyup"!==o&&(a=t(6770),i.ignoreNextKeyup=a(n)),setTimeout((function(){i.resetSequences()}),10)}i.sequenceLevels[e]=0;for(var c=0;c{"use strict";e.exports=function(e,n,t,r,o){var i=this;i.directMap[e+":"+t]=n;var a,l=(e=e.replace(/\s+/g," ")).split(" ");l.length>1?i.bindSequence(e,l,n,t):(a=i.getKeyInfo(e,t),i.callbacks[a.key]=i.callbacks[a.key]||[],i.getMatches(a.key,a.modifiers,{type:a.action},r,e,o),i.callbacks[a.key][r?"unshift":"push"]({callback:n,modifiers:a.modifiers,action:a.action,seq:r,level:o,combo:e}))}},7554:(e,n,t)=>{var r=t(4323).off;e.exports=function(){var e=this,n=e.element;r(n,"keypress",e.eventHandler),r(n,"keydown",e.eventHandler),r(n,"keyup",e.eventHandler)}},4323:e=>{function n(e,n,t,r){return!e.addEventListener&&(n="on"+n),(e.addEventListener||e.attachEvent).call(e,n,t,r),t}e.exports=n,e.exports.on=n,e.exports.off=function(e,n,t,r){return!e.removeEventListener&&(n="on"+n),(e.removeEventListener||e.detachEvent).call(e,n,t,r),t}},2684:(e,n,t)=>{"use strict";e.exports=function(e,n,r,o){this.stopCallback(n,n.target||n.srcElement,r,o)||!1===e(n,r)&&(t(1350)(n),t(6103)(n))}},5825:(e,n,t)=>{"use strict";e.exports=function(e,n){var r,o,i,a,l,c,u=[];for(r=t(4520)(e),a=t(7549),l=t(5355),c=t(8581),i=0;i{"use strict";e.exports=function(e,n,r,o,i,a){var l,c,u,s,f=this,p=[],d=r.type;"keypress"!==d||r.code&&"Arrow"===r.code.slice(0,5)||(f.callbacks["any-character"]||[]).forEach((function(e){p.push(e)}));if(!f.callbacks[e])return p;for(u=t(8581),"keyup"===d&&u(e)&&(n=[e]),l=0;l{"use strict";e.exports=function(){var e,n=this.constructor;if(!n.REVERSE_MAP)for(var r in n.REVERSE_MAP={},e=t(4766))r>95&&r<112||e.hasOwnProperty(r)&&(n.REVERSE_MAP[e[r]]=r);return n.REVERSE_MAP}},3067:(e,n,t)=>{"use strict";e.exports=function(e,n,r){var o,i,a,l,c=this,u={},s=0,f=!1;for(o=c.getMatches(e,n,r),i=0;i{"use strict";e.exports=function(e){var n,r=this;"number"!=typeof e.which&&(e.which=e.keyCode);var o=t(6770)(e);void 0!==o&&("keyup"!==e.type||r.ignoreNextKeyup!==o?(n=t(4610),r.handleKey(o,n(e),e)):r.ignoreNextKeyup=!1)}},5532:e=>{"use strict";e.exports=function(e,n){return e.sort().join(",")===n.sort().join(",")}},8608:e=>{"use strict";e.exports=function(e,n,t){return t||(t=this.getReverseMap()[e]?"keydown":"keypress"),"keypress"===t&&n.length&&(t="keydown"),t}},6214:e=>{"use strict";e.exports=function(){return this.callbacks={},this.directMap={},this}},7309:e=>{"use strict";e.exports=function(){var e=this;clearTimeout(e.resetTimer),e.resetTimer=setTimeout((function(){e.resetSequences()}),1e3)}},3346:e=>{"use strict";e.exports=function(e){var n=this;e=e||{};var t,r=!1;for(t in n.sequenceLevels)e[t]?r=!0:n.sequenceLevels[t]=0;r||(n.nextExpectedAction=!1)}},3450:e=>{"use strict";e.exports=function(e,n){if((" "+n.className+" ").indexOf(" combokeys ")>-1)return!1;var t=n.tagName.toLowerCase();return"input"===t||"select"===t||"textarea"===t||n.isContentEditable}},9855:e=>{"use strict";e.exports=function(e,n){return this.directMap[e+":"+n]&&this.directMap[e+":"+n]({},e),this}},9208:e=>{"use strict";e.exports=function(e,n){return this.bind(e,(function(){}),n)}},1822:e=>{"use strict";e.exports=function(){this.instances.forEach((function(e){e.reset()}))}},6770:(e,n,t)=>{"use strict";e.exports=function(e){var n,r;if(n=t(4766),r=t(5295),"keypress"===e.type){var o=String.fromCharCode(e.which);return e.shiftKey||(o=o.toLowerCase()),o}return void 0!==n[e.which]?n[e.which]:void 0!==r[e.which]?r[e.which]:String.fromCharCode(e.which).toLowerCase()}},4610:e=>{"use strict";e.exports=function(e){var n=[];return e.shiftKey&&n.push("shift"),e.altKey&&n.push("alt"),e.ctrlKey&&n.push("ctrl"),e.metaKey&&n.push("meta"),n}},8581:e=>{"use strict";e.exports=function(e){return"shift"===e||"ctrl"===e||"alt"===e||"meta"===e}},4520:e=>{"use strict";e.exports=function(e){return"+"===e?["+"]:e.split("+")}},1350:e=>{"use strict";e.exports=function(e){e.preventDefault?e.preventDefault():e.returnValue=!1}},5355:e=>{"use strict";e.exports={"~":"`","!":"1","@":"2","#":"3",$:"4","%":"5","^":"6","&":"7","*":"8","(":"9",")":"0",_:"-","+":"=",":":";",'"':"'","<":",",">":".","?":"/","|":"\\"}},7549:e=>{"use strict";e.exports={option:"alt",command:"meta",return:"enter",escape:"esc",mod:/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"meta":"ctrl"}},5295:e=>{"use strict";e.exports={106:"*",107:"plus",109:"minus",110:".",111:"/",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"}},4766:e=>{"use strict";e.exports={8:"backspace",9:"tab",13:"enter",16:"shift",17:"ctrl",18:"alt",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"ins",46:"del",91:"meta",93:"meta",173:"minus",187:"plus",189:"minus",224:"meta"};for(var n=1;n<20;++n)e.exports[111+n]="f"+n;for(n=0;n<=9;++n)e.exports[n+96]=n},6103:e=>{"use strict";e.exports=function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0}},3362:()=>{var e;!function(){var e=Math.PI,n=2*e,t=e/180,r=document.createElement("div");document.head.appendChild(r);var o=self.ConicGradient=function(e){o.all.push(this),e=e||{},this.canvas=document.createElement("canvas"),this.context=this.canvas.getContext("2d"),this.repeating=!!e.repeating,this.size=e.size||Math.max(innerWidth,innerHeight),this.canvas.width=this.canvas.height=this.size;var n=e.stops;this.stops=(n||"").split(/\s*,(?![^(]*\))\s*/),this.from=0;for(var t=0;t0){var i=this.stops[0].clone();i.pos=0,this.stops.unshift(i)}if(void 0===this.stops[this.stops.length-1].pos)this.stops[this.stops.length-1].pos=1;else if(!this.repeating&&this.stops[this.stops.length-1].pos<1){var a=this.stops[this.stops.length-1].clone();a.pos=1,this.stops.push(a)}if(this.stops.forEach((function(e,n){if(void 0===e.pos){for(var t=n+1;this[t];t++)if(void 0!==this[t].pos){e.pos=this[n-1].pos+(this[t].pos-this[n-1].pos)/(t-n+1);break}}else n>0&&(e.pos=Math.max(e.pos,this[n-1].pos))}),this.stops),this.repeating){var l=(n=this.stops.slice())[n.length-1].pos-n[0].pos;for(t=0;this.stops[this.stops.length-1].pos<1&&t<1e4;t++)for(var c=0;c'},get png(){return this.canvas.toDataURL()},get r(){return Math.sqrt(2)*this.size/2},paint:function(){var e,n,r,o=this.context,i=this.r,a=this.size/2,l=0,c=this.stops[l];o.translate(this.size/2,this.size/2),o.rotate(-90*t),o.rotate(this.from*t),o.translate(-this.size/2,-this.size/2);for(var u=0;u<360;){if(u/360+1e-5>=c.pos){do{e=c,l++,c=this.stops[l]}while(c&&c!=e&&c.pos===e.pos);if(!c)break;var s=e.color+""==c.color+""&&e!=c;n=e.color.map((function(e,n){return c.color[n]-e}))}r=(u/360-e.pos)/(c.pos-e.pos);var f=s?c.color:n.map((function(n,t){var o=n*r+e.color[t];return t<3?255&o:o}));if(o.fillStyle="rgba("+f.join(",")+")",o.beginPath(),o.moveTo(a,a),s)var p=360*(c.pos-e.pos);else p=.5;var d=u*t,h=(d=Math.min(360*t,d))+p*t;h=Math.min(360*t,h+.02),o.arc(a,a,i,d,h),o.closePath(),o.fill(),u+=p}}},o.ColorStop=function(e,t){if(this.gradient=e,t){var r=t.match(/^(.+?)(?:\s+([\d.]+)(%|deg|turn|grad|rad)?)?(?:\s+([\d.]+)(%|deg|turn|grad|rad)?)?\s*$/);if(this.color=o.ColorStop.colorToRGBA(r[1]),r[2]){var i=r[3];"%"==i||"0"===r[2]&&!i?this.pos=r[2]/100:"turn"==i?this.pos=+r[2]:"deg"==i?this.pos=r[2]/360:"grad"==i?this.pos=r[2]/400:"rad"==i&&(this.pos=r[2]/n)}r[4]&&(this.next=new o.ColorStop(e,r[1]+" "+r[4]+r[5]))}},o.ColorStop.prototype={clone:function(){var e=new o.ColorStop(this.gradient);return e.color=this.color,e.pos=this.pos,e},toString:function(){return"rgba("+this.color.join(", ")+") "+100*this.pos+"%"}},o.ColorStop.colorToRGBA=function(e){if(!Array.isArray(e)&&-1==e.indexOf("from")){r.style.color=e;var n=getComputedStyle(r).color.match(/rgba?\(([\d.]+), ([\d.]+), ([\d.]+)(?:, ([\d.]+))?\)/);return n&&(n.shift(),(n=n.map((function(e){return+e})))[3]=isNaN(n[3])?1:n[3]),n||[0,0,0,0]}return e}}(),self.StyleFix&&((e=document.createElement("p")).style.backgroundImage="conic-gradient(white, black)",e.style.backgroundImage=PrefixFree.prefix+"conic-gradient(white, black)",e.style.backgroundImage||StyleFix.register((function(e,n){return e.indexOf("conic-gradient")>-1&&(e=e.replace(/(?:repeating-)?conic-gradient\(\s*((?:\([^()]+\)|[^;()}])+?)\)/g,(function(e,n){return new ConicGradient({stops:n,repeating:e.indexOf("repeating-")>-1})}))),e})))},9662:(e,n,t)=>{var r=t(7854),o=t(614),i=t(6330),a=r.TypeError;e.exports=function(e){if(o(e))return e;throw a(i(e)+" is not a function")}},9483:(e,n,t)=>{var r=t(7854),o=t(4411),i=t(6330),a=r.TypeError;e.exports=function(e){if(o(e))return e;throw a(i(e)+" is not a constructor")}},6077:(e,n,t)=>{var r=t(7854),o=t(614),i=r.String,a=r.TypeError;e.exports=function(e){if("object"==typeof e||o(e))return e;throw a("Can't set "+i(e)+" as a prototype")}},1223:(e,n,t)=>{var r=t(5112),o=t(30),i=t(3070),a=r("unscopables"),l=Array.prototype;null==l[a]&&i.f(l,a,{configurable:!0,value:o(null)}),e.exports=function(e){l[a][e]=!0}},1530:(e,n,t)=>{"use strict";var r=t(8710).charAt;e.exports=function(e,n,t){return n+(t?r(e,n).length:1)}},5787:(e,n,t)=>{var r=t(7854),o=t(7976),i=r.TypeError;e.exports=function(e,n){if(o(n,e))return e;throw i("Incorrect invocation")}},9670:(e,n,t)=>{var r=t(7854),o=t(111),i=r.String,a=r.TypeError;e.exports=function(e){if(o(e))return e;throw a(i(e)+" is not an object")}},7556:(e,n,t)=>{var r=t(7293);e.exports=r((function(){if("function"==typeof ArrayBuffer){var e=new ArrayBuffer(8);Object.isExtensible(e)&&Object.defineProperty(e,"a",{value:8})}}))},8533:(e,n,t)=>{"use strict";var r=t(2092).forEach,o=t(9341)("forEach");e.exports=o?[].forEach:function(e){return r(this,e,arguments.length>1?arguments[1]:void 0)}},8457:(e,n,t)=>{"use strict";var r=t(7854),o=t(9974),i=t(6916),a=t(7908),l=t(3411),c=t(7659),u=t(4411),s=t(6244),f=t(6135),p=t(8554),d=t(1246),h=r.Array;e.exports=function(e){var n=a(e),t=u(this),r=arguments.length,g=r>1?arguments[1]:void 0,v=void 0!==g;v&&(g=o(g,r>2?arguments[2]:void 0));var A,b,m,y,E,_,C=d(n),w=0;if(!C||this==h&&c(C))for(A=s(n),b=t?new this(A):h(A);A>w;w++)_=v?g(n[w],w):n[w],f(b,w,_);else for(E=(y=p(n,C)).next,b=t?new this:[];!(m=i(E,y)).done;w++)_=v?l(y,g,[m.value,w],!0):m.value,f(b,w,_);return b.length=w,b}},1318:(e,n,t)=>{var r=t(5656),o=t(1400),i=t(6244),a=function(e){return function(n,t,a){var l,c=r(n),u=i(c),s=o(a,u);if(e&&t!=t){for(;u>s;)if((l=c[s++])!=l)return!0}else for(;u>s;s++)if((e||s in c)&&c[s]===t)return e||s||0;return!e&&-1}};e.exports={includes:a(!0),indexOf:a(!1)}},2092:(e,n,t)=>{var r=t(9974),o=t(1702),i=t(8361),a=t(7908),l=t(6244),c=t(5417),u=o([].push),s=function(e){var n=1==e,t=2==e,o=3==e,s=4==e,f=6==e,p=7==e,d=5==e||f;return function(h,g,v,A){for(var b,m,y=a(h),E=i(y),_=r(g,v),C=l(E),w=0,x=A||c,k=n?x(h,C):t||p?x(h,0):void 0;C>w;w++)if((d||w in E)&&(m=_(b=E[w],w,y),e))if(n)k[w]=m;else if(m)switch(e){case 3:return!0;case 5:return b;case 6:return w;case 2:u(k,b)}else switch(e){case 4:return!1;case 7:u(k,b)}return f?-1:o||s?s:k}};e.exports={forEach:s(0),map:s(1),filter:s(2),some:s(3),every:s(4),find:s(5),findIndex:s(6),filterReject:s(7)}},1194:(e,n,t)=>{var r=t(7293),o=t(5112),i=t(7392),a=o("species");e.exports=function(e){return i>=51||!r((function(){var n=[];return(n.constructor={})[a]=function(){return{foo:1}},1!==n[e](Boolean).foo}))}},9341:(e,n,t)=>{"use strict";var r=t(7293);e.exports=function(e,n){var t=[][e];return!!t&&r((function(){t.call(null,n||function(){throw 1},1)}))}},3671:(e,n,t)=>{var r=t(7854),o=t(9662),i=t(7908),a=t(8361),l=t(6244),c=r.TypeError,u=function(e){return function(n,t,r,u){o(t);var s=i(n),f=a(s),p=l(s),d=e?p-1:0,h=e?-1:1;if(r<2)for(;;){if(d in f){u=f[d],d+=h;break}if(d+=h,e?d<0:p<=d)throw c("Reduce of empty array with no initial value")}for(;e?d>=0:p>d;d+=h)d in f&&(u=t(u,f[d],d,s));return u}};e.exports={left:u(!1),right:u(!0)}},206:(e,n,t)=>{var r=t(1702);e.exports=r([].slice)},4362:(e,n,t)=>{var r=t(206),o=Math.floor,i=function(e,n){var t=e.length,c=o(t/2);return t<8?a(e,n):l(e,i(r(e,0,c),n),i(r(e,c),n),n)},a=function(e,n){for(var t,r,o=e.length,i=1;i0;)e[r]=e[--r];r!==i++&&(e[r]=t)}return e},l=function(e,n,t,r){for(var o=n.length,i=t.length,a=0,l=0;a{var r=t(7854),o=t(3157),i=t(4411),a=t(111),l=t(5112)("species"),c=r.Array;e.exports=function(e){var n;return o(e)&&(n=e.constructor,(i(n)&&(n===c||o(n.prototype))||a(n)&&null===(n=n[l]))&&(n=void 0)),void 0===n?c:n}},5417:(e,n,t)=>{var r=t(7475);e.exports=function(e,n){return new(r(e))(0===n?0:n)}},3411:(e,n,t)=>{var r=t(9670),o=t(9212);e.exports=function(e,n,t,i){try{return i?n(r(t)[0],t[1]):n(t)}catch(n){o(e,"throw",n)}}},7072:(e,n,t)=>{var r=t(5112)("iterator"),o=!1;try{var i=0,a={next:function(){return{done:!!i++}},return:function(){o=!0}};a[r]=function(){return this},Array.from(a,(function(){throw 2}))}catch(e){}e.exports=function(e,n){if(!n&&!o)return!1;var t=!1;try{var i={};i[r]=function(){return{next:function(){return{done:t=!0}}}},e(i)}catch(e){}return t}},4326:(e,n,t)=>{var r=t(1702),o=r({}.toString),i=r("".slice);e.exports=function(e){return i(o(e),8,-1)}},648:(e,n,t)=>{var r=t(7854),o=t(1694),i=t(614),a=t(4326),l=t(5112)("toStringTag"),c=r.Object,u="Arguments"==a(function(){return arguments}());e.exports=o?a:function(e){var n,t,r;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(t=function(e,n){try{return e[n]}catch(e){}}(n=c(e),l))?t:u?a(n):"Object"==(r=a(n))&&i(n.callee)?"Arguments":r}},5631:(e,n,t)=>{"use strict";var r=t(3070).f,o=t(30),i=t(2248),a=t(9974),l=t(5787),c=t(408),u=t(654),s=t(6340),f=t(9781),p=t(2423).fastKey,d=t(9909),h=d.set,g=d.getterFor;e.exports={getConstructor:function(e,n,t,u){var s=e((function(e,r){l(e,d),h(e,{type:n,index:o(null),first:void 0,last:void 0,size:0}),f||(e.size=0),null!=r&&c(r,e[u],{that:e,AS_ENTRIES:t})})),d=s.prototype,v=g(n),A=function(e,n,t){var r,o,i=v(e),a=b(e,n);return a?a.value=t:(i.last=a={index:o=p(n,!0),key:n,value:t,previous:r=i.last,next:void 0,removed:!1},i.first||(i.first=a),r&&(r.next=a),f?i.size++:e.size++,"F"!==o&&(i.index[o]=a)),e},b=function(e,n){var t,r=v(e),o=p(n);if("F"!==o)return r.index[o];for(t=r.first;t;t=t.next)if(t.key==n)return t};return i(d,{clear:function(){for(var e=v(this),n=e.index,t=e.first;t;)t.removed=!0,t.previous&&(t.previous=t.previous.next=void 0),delete n[t.index],t=t.next;e.first=e.last=void 0,f?e.size=0:this.size=0},delete:function(e){var n=this,t=v(n),r=b(n,e);if(r){var o=r.next,i=r.previous;delete t.index[r.index],r.removed=!0,i&&(i.next=o),o&&(o.previous=i),t.first==r&&(t.first=o),t.last==r&&(t.last=i),f?t.size--:n.size--}return!!r},forEach:function(e){for(var n,t=v(this),r=a(e,arguments.length>1?arguments[1]:void 0);n=n?n.next:t.first;)for(r(n.value,n.key,this);n&&n.removed;)n=n.previous},has:function(e){return!!b(this,e)}}),i(d,t?{get:function(e){var n=b(this,e);return n&&n.value},set:function(e,n){return A(this,0===e?0:e,n)}}:{add:function(e){return A(this,e=0===e?0:e,e)}}),f&&r(d,"size",{get:function(){return v(this).size}}),s},setStrong:function(e,n,t){var r=n+" Iterator",o=g(n),i=g(r);u(e,n,(function(e,n){h(this,{type:r,target:e,state:o(e),kind:n,last:void 0})}),(function(){for(var e=i(this),n=e.kind,t=e.last;t&&t.removed;)t=t.previous;return e.target&&(e.last=t=t?t.next:e.state.first)?"keys"==n?{value:t.key,done:!1}:"values"==n?{value:t.value,done:!1}:{value:[t.key,t.value],done:!1}:(e.target=void 0,{value:void 0,done:!0})}),t?"entries":"values",!t,!0),s(n)}}},9320:(e,n,t)=>{"use strict";var r=t(1702),o=t(2248),i=t(2423).getWeakData,a=t(9670),l=t(111),c=t(5787),u=t(408),s=t(2092),f=t(2597),p=t(9909),d=p.set,h=p.getterFor,g=s.find,v=s.findIndex,A=r([].splice),b=0,m=function(e){return e.frozen||(e.frozen=new y)},y=function(){this.entries=[]},E=function(e,n){return g(e.entries,(function(e){return e[0]===n}))};y.prototype={get:function(e){var n=E(this,e);if(n)return n[1]},has:function(e){return!!E(this,e)},set:function(e,n){var t=E(this,e);t?t[1]=n:this.entries.push([e,n])},delete:function(e){var n=v(this.entries,(function(n){return n[0]===e}));return~n&&A(this.entries,n,1),!!~n}},e.exports={getConstructor:function(e,n,t,r){var s=e((function(e,o){c(e,p),d(e,{type:n,id:b++,frozen:void 0}),null!=o&&u(o,e[r],{that:e,AS_ENTRIES:t})})),p=s.prototype,g=h(n),v=function(e,n,t){var r=g(e),o=i(a(n),!0);return!0===o?m(r).set(n,t):o[r.id]=t,e};return o(p,{delete:function(e){var n=g(this);if(!l(e))return!1;var t=i(e);return!0===t?m(n).delete(e):t&&f(t,n.id)&&delete t[n.id]},has:function(e){var n=g(this);if(!l(e))return!1;var t=i(e);return!0===t?m(n).has(e):t&&f(t,n.id)}}),o(p,t?{get:function(e){var n=g(this);if(l(e)){var t=i(e);return!0===t?m(n).get(e):t?t[n.id]:void 0}},set:function(e,n){return v(this,e,n)}}:{add:function(e){return v(this,e,!0)}}),s}}},7710:(e,n,t)=>{"use strict";var r=t(2109),o=t(7854),i=t(1702),a=t(4705),l=t(1320),c=t(2423),u=t(408),s=t(5787),f=t(614),p=t(111),d=t(7293),h=t(7072),g=t(8003),v=t(9587);e.exports=function(e,n,t){var A=-1!==e.indexOf("Map"),b=-1!==e.indexOf("Weak"),m=A?"set":"add",y=o[e],E=y&&y.prototype,_=y,C={},w=function(e){var n=i(E[e]);l(E,e,"add"==e?function(e){return n(this,0===e?0:e),this}:"delete"==e?function(e){return!(b&&!p(e))&&n(this,0===e?0:e)}:"get"==e?function(e){return b&&!p(e)?void 0:n(this,0===e?0:e)}:"has"==e?function(e){return!(b&&!p(e))&&n(this,0===e?0:e)}:function(e,t){return n(this,0===e?0:e,t),this})};if(a(e,!f(y)||!(b||E.forEach&&!d((function(){(new y).entries().next()})))))_=t.getConstructor(n,e,A,m),c.enable();else if(a(e,!0)){var x=new _,k=x[m](b?{}:-0,1)!=x,S=d((function(){x.has(1)})),O=h((function(e){new y(e)})),B=!b&&d((function(){for(var e=new y,n=5;n--;)e[m](n,n);return!e.has(-0)}));O||((_=n((function(e,n){s(e,E);var t=v(new y,e,_);return null!=n&&u(n,t[m],{that:t,AS_ENTRIES:A}),t}))).prototype=E,E.constructor=_),(S||B)&&(w("delete"),w("has"),A&&w("get")),(B||k)&&w(m),b&&E.clear&&delete E.clear}return C[e]=_,r({global:!0,forced:_!=y},C),g(_,e),b||t.setStrong(_,e,A),_}},9920:(e,n,t)=>{var r=t(2597),o=t(3887),i=t(1236),a=t(3070);e.exports=function(e,n){for(var t=o(n),l=a.f,c=i.f,u=0;u{var r=t(5112)("match");e.exports=function(e){var n=/./;try{"/./"[e](n)}catch(t){try{return n[r]=!1,"/./"[e](n)}catch(e){}}return!1}},8544:(e,n,t)=>{var r=t(7293);e.exports=!r((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}))},4230:(e,n,t)=>{var r=t(1702),o=t(4488),i=t(1340),a=/"/g,l=r("".replace);e.exports=function(e,n,t,r){var c=i(o(e)),u="<"+n;return""!==t&&(u+=" "+t+'="'+l(i(r),a,""")+'"'),u+">"+c+""}},4994:(e,n,t)=>{"use strict";var r=t(3383).IteratorPrototype,o=t(30),i=t(9114),a=t(8003),l=t(7497),c=function(){return this};e.exports=function(e,n,t){var u=n+" Iterator";return e.prototype=o(r,{next:i(1,t)}),a(e,u,!1,!0),l[u]=c,e}},8880:(e,n,t)=>{var r=t(9781),o=t(3070),i=t(9114);e.exports=r?function(e,n,t){return o.f(e,n,i(1,t))}:function(e,n,t){return e[n]=t,e}},9114:e=>{e.exports=function(e,n){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:n}}},6135:(e,n,t)=>{"use strict";var r=t(4948),o=t(3070),i=t(9114);e.exports=function(e,n,t){var a=r(n);a in e?o.f(e,a,i(0,t)):e[a]=t}},8709:(e,n,t)=>{"use strict";var r=t(7854),o=t(9670),i=t(2140),a=r.TypeError;e.exports=function(e){if(o(this),"string"===e||"default"===e)e="string";else if("number"!==e)throw a("Incorrect hint");return i(this,e)}},654:(e,n,t)=>{"use strict";var r=t(2109),o=t(6916),i=t(1913),a=t(6530),l=t(614),c=t(4994),u=t(9518),s=t(7674),f=t(8003),p=t(8880),d=t(1320),h=t(5112),g=t(7497),v=t(3383),A=a.PROPER,b=a.CONFIGURABLE,m=v.IteratorPrototype,y=v.BUGGY_SAFARI_ITERATORS,E=h("iterator"),_="keys",C="values",w="entries",x=function(){return this};e.exports=function(e,n,t,a,h,v,k){c(t,n,a);var S,O,B,I=function(e){if(e===h&&R)return R;if(!y&&e in j)return j[e];switch(e){case _:case C:case w:return function(){return new t(this,e)}}return function(){return new t(this)}},T=n+" Iterator",P=!1,j=e.prototype,z=j[E]||j["@@iterator"]||h&&j[h],R=!y&&z||I(h),M="Array"==n&&j.entries||z;if(M&&(S=u(M.call(new e)))!==Object.prototype&&S.next&&(i||u(S)===m||(s?s(S,m):l(S[E])||d(S,E,x)),f(S,T,!0,!0),i&&(g[T]=x)),A&&h==C&&z&&z.name!==C&&(!i&&b?p(j,"name",C):(P=!0,R=function(){return o(z,this)})),h)if(O={values:I(C),keys:v?R:I(_),entries:I(w)},k)for(B in O)(y||P||!(B in j))&&d(j,B,O[B]);else r({target:n,proto:!0,forced:y||P},O);return i&&!k||j[E]===R||d(j,E,R,{name:h}),g[n]=R,O}},7235:(e,n,t)=>{var r=t(857),o=t(2597),i=t(6061),a=t(3070).f;e.exports=function(e){var n=r.Symbol||(r.Symbol={});o(n,e)||a(n,e,{value:i.f(e)})}},9781:(e,n,t)=>{var r=t(7293);e.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},317:(e,n,t)=>{var r=t(7854),o=t(111),i=r.document,a=o(i)&&o(i.createElement);e.exports=function(e){return a?i.createElement(e):{}}},8324:e=>{e.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},8509:(e,n,t)=>{var r=t(317)("span").classList,o=r&&r.constructor&&r.constructor.prototype;e.exports=o===Object.prototype?void 0:o},8886:(e,n,t)=>{var r=t(8113).match(/firefox\/(\d+)/i);e.exports=!!r&&+r[1]},256:(e,n,t)=>{var r=t(8113);e.exports=/MSIE|Trident/.test(r)},5268:(e,n,t)=>{var r=t(4326),o=t(7854);e.exports="process"==r(o.process)},8113:(e,n,t)=>{var r=t(5005);e.exports=r("navigator","userAgent")||""},7392:(e,n,t)=>{var r,o,i=t(7854),a=t(8113),l=i.process,c=i.Deno,u=l&&l.versions||c&&c.version,s=u&&u.v8;s&&(o=(r=s.split("."))[0]>0&&r[0]<4?1:+(r[0]+r[1])),!o&&a&&(!(r=a.match(/Edge\/(\d+)/))||r[1]>=74)&&(r=a.match(/Chrome\/(\d+)/))&&(o=+r[1]),e.exports=o},8008:(e,n,t)=>{var r=t(8113).match(/AppleWebKit\/(\d+)\./);e.exports=!!r&&+r[1]},748:e=>{e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},2109:(e,n,t)=>{var r=t(7854),o=t(1236).f,i=t(8880),a=t(1320),l=t(3505),c=t(9920),u=t(4705);e.exports=function(e,n){var t,s,f,p,d,h=e.target,g=e.global,v=e.stat;if(t=g?r:v?r[h]||l(h,{}):(r[h]||{}).prototype)for(s in n){if(p=n[s],f=e.noTargetGet?(d=o(t,s))&&d.value:t[s],!u(g?s:h+(v?".":"#")+s,e.forced)&&void 0!==f){if(typeof p==typeof f)continue;c(p,f)}(e.sham||f&&f.sham)&&i(p,"sham",!0),a(t,s,p,e)}}},7293:e=>{e.exports=function(e){try{return!!e()}catch(e){return!0}}},7007:(e,n,t)=>{"use strict";t(4916);var r=t(1702),o=t(1320),i=t(2261),a=t(7293),l=t(5112),c=t(8880),u=l("species"),s=RegExp.prototype;e.exports=function(e,n,t,f){var p=l(e),d=!a((function(){var n={};return n[p]=function(){return 7},7!=""[e](n)})),h=d&&!a((function(){var n=!1,t=/a/;return"split"===e&&((t={}).constructor={},t.constructor[u]=function(){return t},t.flags="",t[p]=/./[p]),t.exec=function(){return n=!0,null},t[p](""),!n}));if(!d||!h||t){var g=r(/./[p]),v=n(p,""[e],(function(e,n,t,o,a){var l=r(e),c=n.exec;return c===i||c===s.exec?d&&!a?{done:!0,value:g(n,t,o)}:{done:!0,value:l(t,n,o)}:{done:!1}}));o(String.prototype,e,v[0]),o(s,p,v[1])}f&&c(s[p],"sham",!0)}},6677:(e,n,t)=>{var r=t(7293);e.exports=!r((function(){return Object.isExtensible(Object.preventExtensions({}))}))},2104:e=>{var n=Function.prototype,t=n.apply,r=n.bind,o=n.call;e.exports="object"==typeof Reflect&&Reflect.apply||(r?o.bind(t):function(){return o.apply(t,arguments)})},9974:(e,n,t)=>{var r=t(1702),o=t(9662),i=r(r.bind);e.exports=function(e,n){return o(e),void 0===n?e:i?i(e,n):function(){return e.apply(n,arguments)}}},7065:(e,n,t)=>{"use strict";var r=t(7854),o=t(1702),i=t(9662),a=t(111),l=t(2597),c=t(206),u=r.Function,s=o([].concat),f=o([].join),p={},d=function(e,n,t){if(!l(p,n)){for(var r=[],o=0;o{var n=Function.prototype.call;e.exports=n.bind?n.bind(n):function(){return n.apply(n,arguments)}},6530:(e,n,t)=>{var r=t(9781),o=t(2597),i=Function.prototype,a=r&&Object.getOwnPropertyDescriptor,l=o(i,"name"),c=l&&"something"===function(){}.name,u=l&&(!r||r&&a(i,"name").configurable);e.exports={EXISTS:l,PROPER:c,CONFIGURABLE:u}},1702:e=>{var n=Function.prototype,t=n.bind,r=n.call,o=t&&t.bind(r);e.exports=t?function(e){return e&&o(r,e)}:function(e){return e&&function(){return r.apply(e,arguments)}}},5005:(e,n,t)=>{var r=t(7854),o=t(614),i=function(e){return o(e)?e:void 0};e.exports=function(e,n){return arguments.length<2?i(r[e]):r[e]&&r[e][n]}},1246:(e,n,t)=>{var r=t(648),o=t(8173),i=t(7497),a=t(5112)("iterator");e.exports=function(e){if(null!=e)return o(e,a)||o(e,"@@iterator")||i[r(e)]}},8554:(e,n,t)=>{var r=t(7854),o=t(6916),i=t(9662),a=t(9670),l=t(6330),c=t(1246),u=r.TypeError;e.exports=function(e,n){var t=arguments.length<2?c(e):n;if(i(t))return a(o(t,e));throw u(l(e)+" is not iterable")}},8173:(e,n,t)=>{var r=t(9662);e.exports=function(e,n){var t=e[n];return null==t?void 0:r(t)}},647:(e,n,t)=>{var r=t(1702),o=t(7908),i=Math.floor,a=r("".charAt),l=r("".replace),c=r("".slice),u=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,s=/\$([$&'`]|\d{1,2})/g;e.exports=function(e,n,t,r,f,p){var d=t+e.length,h=r.length,g=s;return void 0!==f&&(f=o(f),g=u),l(p,g,(function(o,l){var u;switch(a(l,0)){case"$":return"$";case"&":return e;case"`":return c(n,0,t);case"'":return c(n,d);case"<":u=f[c(l,1,-1)];break;default:var s=+l;if(0===s)return o;if(s>h){var p=i(s/10);return 0===p?o:p<=h?void 0===r[p-1]?a(l,1):r[p-1]+a(l,1):o}u=r[s-1]}return void 0===u?"":u}))}},7854:(e,n,t)=>{var r=function(e){return e&&e.Math==Math&&e};e.exports=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof t.g&&t.g)||function(){return this}()||Function("return this")()},2597:(e,n,t)=>{var r=t(1702),o=t(7908),i=r({}.hasOwnProperty);e.exports=Object.hasOwn||function(e,n){return i(o(e),n)}},3501:e=>{e.exports={}},490:(e,n,t)=>{var r=t(5005);e.exports=r("document","documentElement")},4664:(e,n,t)=>{var r=t(9781),o=t(7293),i=t(317);e.exports=!r&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},8361:(e,n,t)=>{var r=t(7854),o=t(1702),i=t(7293),a=t(4326),l=r.Object,c=o("".split);e.exports=i((function(){return!l("z").propertyIsEnumerable(0)}))?function(e){return"String"==a(e)?c(e,""):l(e)}:l},9587:(e,n,t)=>{var r=t(614),o=t(111),i=t(7674);e.exports=function(e,n,t){var a,l;return i&&r(a=n.constructor)&&a!==t&&o(l=a.prototype)&&l!==t.prototype&&i(e,l),e}},2788:(e,n,t)=>{var r=t(1702),o=t(614),i=t(5465),a=r(Function.toString);o(i.inspectSource)||(i.inspectSource=function(e){return a(e)}),e.exports=i.inspectSource},2423:(e,n,t)=>{var r=t(2109),o=t(1702),i=t(3501),a=t(111),l=t(2597),c=t(3070).f,u=t(8006),s=t(1156),f=t(2050),p=t(9711),d=t(6677),h=!1,g=p("meta"),v=0,A=function(e){c(e,g,{value:{objectID:"O"+v++,weakData:{}}})},b=e.exports={enable:function(){b.enable=function(){},h=!0;var e=u.f,n=o([].splice),t={};t[g]=1,e(t).length&&(u.f=function(t){for(var r=e(t),o=0,i=r.length;o{var r,o,i,a=t(8536),l=t(7854),c=t(1702),u=t(111),s=t(8880),f=t(2597),p=t(5465),d=t(6200),h=t(3501),g="Object already initialized",v=l.TypeError,A=l.WeakMap;if(a||p.state){var b=p.state||(p.state=new A),m=c(b.get),y=c(b.has),E=c(b.set);r=function(e,n){if(y(b,e))throw new v(g);return n.facade=e,E(b,e,n),n},o=function(e){return m(b,e)||{}},i=function(e){return y(b,e)}}else{var _=d("state");h[_]=!0,r=function(e,n){if(f(e,_))throw new v(g);return n.facade=e,s(e,_,n),n},o=function(e){return f(e,_)?e[_]:{}},i=function(e){return f(e,_)}}e.exports={set:r,get:o,has:i,enforce:function(e){return i(e)?o(e):r(e,{})},getterFor:function(e){return function(n){var t;if(!u(n)||(t=o(n)).type!==e)throw v("Incompatible receiver, "+e+" required");return t}}}},7659:(e,n,t)=>{var r=t(5112),o=t(7497),i=r("iterator"),a=Array.prototype;e.exports=function(e){return void 0!==e&&(o.Array===e||a[i]===e)}},3157:(e,n,t)=>{var r=t(4326);e.exports=Array.isArray||function(e){return"Array"==r(e)}},614:e=>{e.exports=function(e){return"function"==typeof e}},4411:(e,n,t)=>{var r=t(1702),o=t(7293),i=t(614),a=t(648),l=t(5005),c=t(2788),u=function(){},s=[],f=l("Reflect","construct"),p=/^\s*(?:class|function)\b/,d=r(p.exec),h=!p.exec(u),g=function(e){if(!i(e))return!1;try{return f(u,s,e),!0}catch(e){return!1}};e.exports=!f||o((function(){var e;return g(g.call)||!g(Object)||!g((function(){e=!0}))||e}))?function(e){if(!i(e))return!1;switch(a(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}return h||!!d(p,c(e))}:g},4705:(e,n,t)=>{var r=t(7293),o=t(614),i=/#|\.prototype\./,a=function(e,n){var t=c[l(e)];return t==s||t!=u&&(o(n)?r(n):!!n)},l=a.normalize=function(e){return String(e).replace(i,".").toLowerCase()},c=a.data={},u=a.NATIVE="N",s=a.POLYFILL="P";e.exports=a},111:(e,n,t)=>{var r=t(614);e.exports=function(e){return"object"==typeof e?null!==e:r(e)}},1913:e=>{e.exports=!1},7850:(e,n,t)=>{var r=t(111),o=t(4326),i=t(5112)("match");e.exports=function(e){var n;return r(e)&&(void 0!==(n=e[i])?!!n:"RegExp"==o(e))}},2190:(e,n,t)=>{var r=t(7854),o=t(5005),i=t(614),a=t(7976),l=t(3307),c=r.Object;e.exports=l?function(e){return"symbol"==typeof e}:function(e){var n=o("Symbol");return i(n)&&a(n.prototype,c(e))}},408:(e,n,t)=>{var r=t(7854),o=t(9974),i=t(6916),a=t(9670),l=t(6330),c=t(7659),u=t(6244),s=t(7976),f=t(8554),p=t(1246),d=t(9212),h=r.TypeError,g=function(e,n){this.stopped=e,this.result=n},v=g.prototype;e.exports=function(e,n,t){var r,A,b,m,y,E,_,C=t&&t.that,w=!(!t||!t.AS_ENTRIES),x=!(!t||!t.IS_ITERATOR),k=!(!t||!t.INTERRUPTED),S=o(n,C),O=function(e){return r&&d(r,"normal",e),new g(!0,e)},B=function(e){return w?(a(e),k?S(e[0],e[1],O):S(e[0],e[1])):k?S(e,O):S(e)};if(x)r=e;else{if(!(A=p(e)))throw h(l(e)+" is not iterable");if(c(A)){for(b=0,m=u(e);m>b;b++)if((y=B(e[b]))&&s(v,y))return y;return new g(!1)}r=f(e,A)}for(E=r.next;!(_=i(E,r)).done;){try{y=B(_.value)}catch(e){d(r,"throw",e)}if("object"==typeof y&&y&&s(v,y))return y}return new g(!1)}},9212:(e,n,t)=>{var r=t(6916),o=t(9670),i=t(8173);e.exports=function(e,n,t){var a,l;o(e);try{if(!(a=i(e,"return"))){if("throw"===n)throw t;return t}a=r(a,e)}catch(e){l=!0,a=e}if("throw"===n)throw t;if(l)throw a;return o(a),t}},3383:(e,n,t)=>{"use strict";var r,o,i,a=t(7293),l=t(614),c=t(30),u=t(9518),s=t(1320),f=t(5112),p=t(1913),d=f("iterator"),h=!1;[].keys&&("next"in(i=[].keys())?(o=u(u(i)))!==Object.prototype&&(r=o):h=!0),null==r||a((function(){var e={};return r[d].call(e)!==e}))?r={}:p&&(r=c(r)),l(r[d])||s(r,d,(function(){return this})),e.exports={IteratorPrototype:r,BUGGY_SAFARI_ITERATORS:h}},7497:e=>{e.exports={}},6244:(e,n,t)=>{var r=t(7466);e.exports=function(e){return r(e.length)}},133:(e,n,t)=>{var r=t(7392),o=t(7293);e.exports=!!Object.getOwnPropertySymbols&&!o((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&r&&r<41}))},8536:(e,n,t)=>{var r=t(7854),o=t(614),i=t(2788),a=r.WeakMap;e.exports=o(a)&&/native code/.test(i(a))},3929:(e,n,t)=>{var r=t(7854),o=t(7850),i=r.TypeError;e.exports=function(e){if(o(e))throw i("The method doesn't accept regular expressions");return e}},1574:(e,n,t)=>{"use strict";var r=t(9781),o=t(1702),i=t(6916),a=t(7293),l=t(1956),c=t(5181),u=t(5296),s=t(7908),f=t(8361),p=Object.assign,d=Object.defineProperty,h=o([].concat);e.exports=!p||a((function(){if(r&&1!==p({b:1},p(d({},"a",{enumerable:!0,get:function(){d(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},n={},t=Symbol(),o="abcdefghijklmnopqrst";return e[t]=7,o.split("").forEach((function(e){n[e]=e})),7!=p({},e)[t]||l(p({},n)).join("")!=o}))?function(e,n){for(var t=s(e),o=arguments.length,a=1,p=c.f,d=u.f;o>a;)for(var g,v=f(arguments[a++]),A=p?h(l(v),p(v)):l(v),b=A.length,m=0;b>m;)g=A[m++],r&&!i(d,v,g)||(t[g]=v[g]);return t}:p},30:(e,n,t)=>{var r,o=t(9670),i=t(6048),a=t(748),l=t(3501),c=t(490),u=t(317),s=t(6200),f=s("IE_PROTO"),p=function(){},d=function(e){return"