├── .github └── workflows │ ├── ci.yml │ └── release.yml ├── .gitignore ├── .vscode ├── extensions.json ├── launch.json └── settings.json ├── LICENSE.txt ├── README.md ├── ci ├── ansible │ ├── ansible.cfg │ ├── playbooks │ │ ├── build-judgels-client.yml │ │ ├── build-judgels-grader.yml │ │ ├── build-judgels-server.yml │ │ └── release-judgels.yml │ └── roles │ │ ├── docker-login │ │ └── tasks │ │ │ └── main.yml │ │ ├── judgels-client-build │ │ ├── meta │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ │ ├── judgels-grader-build │ │ ├── meta │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ │ └── judgels-server-build │ │ ├── meta │ │ └── main.yml │ │ └── tasks │ │ └── main.yml └── scripts │ ├── build_judgels_client.sh │ ├── build_judgels_grader.sh │ ├── build_judgels_server.sh │ ├── check-changed-files.py │ └── release_judgels.sh ├── deployment ├── v2-ubuntu-22.04 │ ├── ansible │ │ ├── .gitignore │ │ ├── ansible.cfg │ │ ├── conf │ │ │ ├── judgels-client.js.j2 │ │ │ ├── judgels-grader.yml.j2 │ │ │ ├── judgels-server.yml.j2 │ │ │ ├── nginx-judgels-client.conf.j2 │ │ │ ├── nginx-judgels-server-admin.conf.j2 │ │ │ ├── nginx-judgels-server-api.conf.j2 │ │ │ └── nginx.conf.j2 │ │ ├── env-example │ │ │ ├── hosts.ini │ │ │ └── vars.yml │ │ ├── playbooks │ │ │ ├── build-judgels-client.yml │ │ │ ├── build-judgels-grader.yml │ │ │ ├── build-judgels-server.yml │ │ │ ├── deploy-judgels-client.yml │ │ │ ├── deploy-judgels-grader.yml │ │ │ ├── deploy-judgels-server.yml │ │ │ ├── deploy.yml │ │ │ ├── dump.yml │ │ │ ├── migrate-judgels-server.yml │ │ │ ├── provision.yml │ │ │ └── release-judgels.yml │ │ └── roles │ │ │ ├── docker-install │ │ │ └── tasks │ │ │ │ └── main.yml │ │ │ ├── docker-login │ │ │ └── tasks │ │ │ │ └── main.yml │ │ │ ├── isolate-provision │ │ │ └── tasks │ │ │ │ └── main.yml │ │ │ ├── judgels-client-build │ │ │ ├── meta │ │ │ │ └── main.yml │ │ │ └── tasks │ │ │ │ └── main.yml │ │ │ ├── judgels-client-deploy │ │ │ └── tasks │ │ │ │ └── main.yml │ │ │ ├── judgels-client-provision │ │ │ └── tasks │ │ │ │ └── main.yml │ │ │ ├── judgels-grader-build │ │ │ ├── meta │ │ │ │ └── main.yml │ │ │ └── tasks │ │ │ │ └── main.yml │ │ │ ├── judgels-grader-deploy │ │ │ └── tasks │ │ │ │ └── main.yml │ │ │ ├── judgels-grader-keypair │ │ │ └── tasks │ │ │ │ └── main.yml │ │ │ ├── judgels-grader-provision │ │ │ └── tasks │ │ │ │ └── main.yml │ │ │ ├── judgels-server-build │ │ │ ├── meta │ │ │ │ └── main.yml │ │ │ └── tasks │ │ │ │ └── main.yml │ │ │ ├── judgels-server-deploy │ │ │ └── tasks │ │ │ │ └── main.yml │ │ │ ├── judgels-server-migrate │ │ │ └── tasks │ │ │ │ └── main.yml │ │ │ ├── judgels-server-provision │ │ │ └── tasks │ │ │ │ └── main.yml │ │ │ ├── mysql-install │ │ │ └── tasks │ │ │ │ └── main.yml │ │ │ ├── nginx-certbot-deploy │ │ │ ├── handlers │ │ │ │ └── main.yml │ │ │ ├── tasks │ │ │ │ ├── configure_domain.yml │ │ │ │ ├── main.yml │ │ │ │ └── setup_certbot.yml │ │ │ └── templates │ │ │ │ ├── letsencrypt.j2 │ │ │ │ └── options-ssl-nginx.conf.j2 │ │ │ ├── phpmyadmin-deploy │ │ │ └── tasks │ │ │ │ └── main.yml │ │ │ ├── python-install │ │ │ └── tasks │ │ │ │ └── main.yml │ │ │ ├── rabbitmq-deploy │ │ │ └── tasks │ │ │ │ └── main.yml │ │ │ └── ufw-install │ │ │ └── tasks │ │ │ └── main.yml │ └── scripts │ │ ├── build_judgels_client.sh │ │ ├── build_judgels_grader.sh │ │ ├── build_judgels_server.sh │ │ ├── deploy_judgels_client.sh │ │ ├── deploy_judgels_grader.sh │ │ ├── deploy_judgels_server.sh │ │ └── release_judgels.sh ├── v2-ubuntu-24.04 │ ├── ansible │ │ ├── .gitignore │ │ ├── ansible.cfg │ │ ├── conf │ │ │ ├── judgels-client.js.j2 │ │ │ ├── judgels-grader.yml.j2 │ │ │ ├── judgels-server.yml.j2 │ │ │ ├── nginx-judgels-client.conf.j2 │ │ │ ├── nginx-judgels-server-admin.conf.j2 │ │ │ ├── nginx-judgels-server-api.conf.j2 │ │ │ └── nginx.conf.j2 │ │ ├── env-example │ │ │ ├── hosts.ini │ │ │ └── vars.yml │ │ ├── playbooks │ │ │ ├── deploy-judgels-client.yml │ │ │ ├── deploy-judgels-grader.yml │ │ │ ├── deploy-judgels-server.yml │ │ │ ├── deploy-phpmyadmin.yml │ │ │ ├── deploy.yml │ │ │ ├── dump.yml │ │ │ ├── migrate-judgels-server.yml │ │ │ ├── optimize.yml │ │ │ └── provision.yml │ │ └── roles │ │ │ ├── docker-install │ │ │ └── tasks │ │ │ │ └── main.yml │ │ │ ├── docker-optimize │ │ │ └── tasks │ │ │ │ └── main.yml │ │ │ ├── isolate-provision │ │ │ └── tasks │ │ │ │ └── main.yml │ │ │ ├── judgels-client-deploy │ │ │ └── tasks │ │ │ │ └── main.yml │ │ │ ├── judgels-client-provision │ │ │ └── tasks │ │ │ │ └── main.yml │ │ │ ├── judgels-grader-deploy │ │ │ └── tasks │ │ │ │ └── main.yml │ │ │ ├── judgels-grader-keypair │ │ │ └── tasks │ │ │ │ └── main.yml │ │ │ ├── judgels-grader-provision │ │ │ └── tasks │ │ │ │ └── main.yml │ │ │ ├── judgels-server-deploy │ │ │ └── tasks │ │ │ │ └── main.yml │ │ │ ├── judgels-server-migrate │ │ │ └── tasks │ │ │ │ └── main.yml │ │ │ ├── judgels-server-provision │ │ │ └── tasks │ │ │ │ └── main.yml │ │ │ ├── mysql-install │ │ │ └── tasks │ │ │ │ └── main.yml │ │ │ ├── mysql-optimize │ │ │ ├── handlers │ │ │ │ └── main.yml │ │ │ └── tasks │ │ │ │ └── main.yml │ │ │ ├── nginx-certbot-deploy │ │ │ ├── handlers │ │ │ │ └── main.yml │ │ │ ├── tasks │ │ │ │ ├── configure_domain.yml │ │ │ │ ├── main.yml │ │ │ │ └── setup_certbot.yml │ │ │ └── templates │ │ │ │ ├── letsencrypt.j2 │ │ │ │ └── options-ssl-nginx.conf.j2 │ │ │ ├── nginx-install │ │ │ ├── handlers │ │ │ │ └── main.yml │ │ │ └── tasks │ │ │ │ └── main.yml │ │ │ ├── nginx-optimize │ │ │ ├── handlers │ │ │ │ └── main.yml │ │ │ └── tasks │ │ │ │ └── main.yml │ │ │ ├── phpmyadmin-deploy │ │ │ ├── handlers │ │ │ │ └── main.yml │ │ │ ├── tasks │ │ │ │ └── main.yml │ │ │ └── templates │ │ │ │ ├── config.inc.php.j2 │ │ │ │ └── nginx-phpmyadmin.conf.j2 │ │ │ ├── python-install │ │ │ └── tasks │ │ │ │ └── main.yml │ │ │ ├── rabbitmq-deploy │ │ │ └── tasks │ │ │ │ └── main.yml │ │ │ └── ufw-install │ │ │ └── tasks │ │ │ └── main.yml │ └── scripts │ │ ├── deploy_judgels_client.sh │ │ ├── deploy_judgels_grader.sh │ │ └── deploy_judgels_server.sh └── v3-ubuntu-24.04 │ ├── ansible │ ├── .gitignore │ ├── ansible.cfg │ ├── conf │ │ ├── judgels-client.js.j2 │ │ ├── judgels-grader.yml.j2 │ │ ├── judgels-server.yml.j2 │ │ ├── nginx-judgels-client.conf.j2 │ │ ├── nginx-judgels-server-admin.conf.j2 │ │ ├── nginx-judgels-server-api.conf.j2 │ │ └── nginx.conf.j2 │ ├── env-example │ │ ├── hosts.ini │ │ └── vars.yml │ ├── playbooks │ │ ├── deploy-judgels-client.yml │ │ ├── deploy-judgels-grader.yml │ │ ├── deploy-judgels-server.yml │ │ ├── deploy-phpmyadmin.yml │ │ ├── deploy.yml │ │ ├── dump.yml │ │ ├── migrate-judgels-server.yml │ │ ├── optimize.yml │ │ └── provision.yml │ └── roles │ │ ├── docker-install │ │ └── tasks │ │ │ └── main.yml │ │ ├── docker-optimize │ │ └── tasks │ │ │ └── main.yml │ │ ├── isolate-provision │ │ └── tasks │ │ │ └── main.yml │ │ ├── judgels-client-deploy │ │ └── tasks │ │ │ └── main.yml │ │ ├── judgels-client-provision │ │ └── tasks │ │ │ └── main.yml │ │ ├── judgels-grader-deploy │ │ └── tasks │ │ │ └── main.yml │ │ ├── judgels-grader-keypair │ │ └── tasks │ │ │ └── main.yml │ │ ├── judgels-grader-provision │ │ └── tasks │ │ │ └── main.yml │ │ ├── judgels-server-deploy │ │ └── tasks │ │ │ └── main.yml │ │ ├── judgels-server-migrate │ │ └── tasks │ │ │ └── main.yml │ │ ├── judgels-server-provision │ │ └── tasks │ │ │ └── main.yml │ │ ├── mysql-install │ │ └── tasks │ │ │ └── main.yml │ │ ├── mysql-optimize │ │ ├── handlers │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ │ ├── nginx-certbot-deploy │ │ ├── handlers │ │ │ └── main.yml │ │ ├── tasks │ │ │ ├── configure_domain.yml │ │ │ ├── main.yml │ │ │ └── setup_certbot.yml │ │ └── templates │ │ │ ├── letsencrypt.j2 │ │ │ └── options-ssl-nginx.conf.j2 │ │ ├── nginx-install │ │ ├── handlers │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ │ ├── nginx-optimize │ │ ├── handlers │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ │ ├── phpmyadmin-deploy │ │ ├── handlers │ │ │ └── main.yml │ │ ├── tasks │ │ │ └── main.yml │ │ └── templates │ │ │ ├── config.inc.php.j2 │ │ │ └── nginx-phpmyadmin.conf.j2 │ │ ├── python-install │ │ └── tasks │ │ │ └── main.yml │ │ ├── rabbitmq-deploy │ │ └── tasks │ │ │ └── main.yml │ │ └── ufw-install │ │ └── tasks │ │ └── main.yml │ └── scripts │ ├── deploy_judgels_client.sh │ ├── deploy_judgels_grader.sh │ └── deploy_judgels_server.sh ├── judgels-backends ├── .editorconfig ├── .gitignore ├── build.gradle ├── config │ └── checkstyle │ │ ├── checkstyle.xml │ │ └── suppressions.xml ├── gradle.properties ├── gradle │ ├── integTest.gradle │ ├── java.gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── judgels-commons │ ├── judgels-fs │ │ ├── build.gradle │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── judgels │ │ │ ├── contrib │ │ │ └── fs │ │ │ │ └── aws │ │ │ │ ├── AwsConfiguration.java │ │ │ │ ├── AwsFileSystem.java │ │ │ │ └── AwsFsConfiguration.java │ │ │ └── fs │ │ │ ├── FileInfo.java │ │ │ ├── FileSystem.java │ │ │ ├── FileSystems.java │ │ │ ├── FsConfiguration.java │ │ │ ├── NaturalFilenameComparator.java │ │ │ └── local │ │ │ ├── LocalFileSystem.java │ │ │ └── LocalFsConfiguration.java │ ├── judgels-mapper │ │ ├── build.gradle │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── judgels │ │ │ └── JudgelsObjectMappers.java │ ├── judgels-messaging │ │ ├── build.gradle │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── judgels │ │ │ └── messaging │ │ │ ├── MessageClient.java │ │ │ ├── MessageListener.java │ │ │ ├── api │ │ │ └── Message.java │ │ │ └── rabbitmq │ │ │ ├── RabbitMQ.java │ │ │ ├── RabbitMQConfiguration.java │ │ │ └── RabbitMQModule.java │ └── judgels-service-core │ │ ├── build.gradle │ │ └── src │ │ └── main │ │ └── java │ │ └── judgels │ │ └── service │ │ ├── JudgelsBaseDataDir.java │ │ ├── JudgelsModule.java │ │ ├── JudgelsScheduler.java │ │ └── JudgelsSchedulerModule.java ├── judgels-grader-api │ ├── build.gradle │ └── src │ │ ├── main │ │ └── java │ │ │ └── judgels │ │ │ └── gabriel │ │ │ └── api │ │ │ ├── GabrielClientConfiguration.java │ │ │ ├── GradingOptions.java │ │ │ ├── GradingRequest.java │ │ │ ├── GradingResponse.java │ │ │ ├── GradingResult.java │ │ │ ├── GradingResultDetails.java │ │ │ ├── GradingSource.java │ │ │ ├── LanguageRestriction.java │ │ │ ├── OutputOnlyOverrides.java │ │ │ ├── SandboxExecutionResult.java │ │ │ ├── SandboxExecutionStatus.java │ │ │ ├── SourceFile.java │ │ │ ├── SubmissionSource.java │ │ │ ├── SubtaskResult.java │ │ │ ├── TestCaseResult.java │ │ │ ├── TestGroupResult.java │ │ │ ├── Verdict.java │ │ │ └── Verdicts.java │ │ └── test │ │ ├── java │ │ └── judgels │ │ │ └── gabriel │ │ │ └── api │ │ │ ├── GradingResultDetailsTests.java │ │ │ └── LanguageRestrictionTests.java │ │ └── resources │ │ ├── grading_result_details_v1.json │ │ └── grading_result_details_v2.json ├── judgels-grader-app │ ├── .gitignore │ ├── Dockerfile │ ├── build.gradle │ ├── init.sh │ ├── src │ │ └── main │ │ │ └── java │ │ │ └── judgels │ │ │ ├── JudgelsGraderApplication.java │ │ │ ├── JudgelsGraderApplicationConfiguration.java │ │ │ ├── JudgelsGraderConfiguration.java │ │ │ └── gabriel │ │ │ ├── GabrielComponent.java │ │ │ ├── GabrielConfiguration.java │ │ │ ├── JudgelsGraderModule.java │ │ │ ├── cache │ │ │ ├── CacheConfiguration.java │ │ │ ├── CacheModule.java │ │ │ └── ProblemCache.java │ │ │ ├── grading │ │ │ ├── GradingConfiguration.java │ │ │ ├── GradingModule.java │ │ │ ├── GradingRequestPoller.java │ │ │ └── GradingWorker.java │ │ │ └── isolate │ │ │ ├── IsolateConfiguration.java │ │ │ └── IsolateModule.java │ └── var │ │ └── conf │ │ └── judgels-grader.yml.example ├── judgels-grader-engines │ ├── build.gradle │ └── src │ │ ├── integTest │ │ ├── java │ │ │ └── judgels │ │ │ │ └── gabriel │ │ │ │ └── engines │ │ │ │ ├── BlackboxGradingEngineIntegrationTests.java │ │ │ │ ├── batch │ │ │ │ ├── BatchGradingEngineIntegrationTests.java │ │ │ │ └── BatchWithSubtasksGradingEngineIntegrationTests.java │ │ │ │ ├── functional │ │ │ │ ├── FunctionalGradingEngineIntegrationTests.java │ │ │ │ ├── FunctionalGradingEngineJavaIntegrationTests.java │ │ │ │ ├── FunctionalWithSubtasksGradingEngineIntegrationTests.java │ │ │ │ └── FunctionalWithSubtasksGradingEngineJavaIntegrationTests.java │ │ │ │ ├── interactive │ │ │ │ ├── InteractiveGradingEngineIntegrationTests.java │ │ │ │ └── InteractiveWithSubtasksGradingEngineIntegrationTests.java │ │ │ │ └── outputonly │ │ │ │ ├── OutputOnlyGradingEngineIntegrationTests.java │ │ │ │ └── OutputOnlyWithSubtasksGradingEngineIntegrationTests.java │ │ └── resources │ │ │ └── engines │ │ │ ├── batch │ │ │ ├── helper │ │ │ │ ├── scorer-CE.cpp │ │ │ │ ├── scorer-RTE.cpp │ │ │ │ ├── scorer-WA.cpp │ │ │ │ ├── scorer-binary.cpp │ │ │ │ └── scorer-nonbinary-OK10.cpp │ │ │ ├── source │ │ │ │ ├── aplusb-AC-scorer.cpp │ │ │ │ ├── aplusb-AC.cpp │ │ │ │ ├── aplusb-CE.cpp │ │ │ │ ├── aplusb-TLE-at-2_3.cpp │ │ │ │ ├── aplusb-WA-at-1_1.cpp │ │ │ │ ├── aplusb-WA-at-2_3-scorer.cpp │ │ │ │ ├── aplusb-WA-at-2_3.cpp │ │ │ │ ├── aplusb-WA-at-sample_3.cpp │ │ │ │ └── aplusb-WA-token-mismatch.cpp │ │ │ └── testdata │ │ │ │ ├── 1_1.in │ │ │ │ ├── 1_1.out │ │ │ │ ├── 1_2.in │ │ │ │ ├── 1_2.out │ │ │ │ ├── 2_1.in │ │ │ │ ├── 2_1.out │ │ │ │ ├── 2_2.in │ │ │ │ ├── 2_2.out │ │ │ │ ├── 2_3.in │ │ │ │ ├── 2_3.out │ │ │ │ ├── sample_1.in │ │ │ │ ├── sample_1.out │ │ │ │ ├── sample_2.in │ │ │ │ ├── sample_2.out │ │ │ │ ├── sample_3.in │ │ │ │ └── sample_3.out │ │ │ ├── functional │ │ │ ├── helper │ │ │ │ ├── decoder.h │ │ │ │ ├── encoder.h │ │ │ │ ├── grader.cpp │ │ │ │ ├── grader.h │ │ │ │ ├── grader.java │ │ │ │ ├── scorer-binary.cpp │ │ │ │ └── scorer-nonbinary-OK10-at-1_1.cpp │ │ │ ├── source-java-ac │ │ │ │ ├── decoder.java │ │ │ │ └── encoder.java │ │ │ ├── source-java-ce │ │ │ │ ├── decoder.java │ │ │ │ └── encoder.java │ │ │ ├── source-java-wa │ │ │ │ ├── decoder.java │ │ │ │ └── encoder.java │ │ │ ├── source │ │ │ │ ├── decoder-AC.cpp │ │ │ │ ├── decoder-WA.cpp │ │ │ │ ├── encoder-AC.cpp │ │ │ │ ├── encoder-CE-duplicate-symbol.cpp │ │ │ │ └── encoder-CE.cpp │ │ │ └── testdata │ │ │ │ ├── 1_1.in │ │ │ │ ├── 1_1.out │ │ │ │ ├── 1_2.in │ │ │ │ ├── 1_2.out │ │ │ │ ├── 2_1.in │ │ │ │ ├── 2_1.out │ │ │ │ ├── 2_2.in │ │ │ │ ├── 2_2.out │ │ │ │ ├── 2_3.in │ │ │ │ ├── 2_3.out │ │ │ │ ├── sample_1.in │ │ │ │ ├── sample_1.out │ │ │ │ ├── sample_2.in │ │ │ │ ├── sample_2.out │ │ │ │ ├── sample_3.in │ │ │ │ └── sample_3.out │ │ │ ├── interactive │ │ │ ├── helper │ │ │ │ ├── communicator-CE.cpp │ │ │ │ ├── communicator-RTE.cpp │ │ │ │ ├── communicator-TLE.cpp │ │ │ │ ├── communicator-binary.cpp │ │ │ │ ├── communicator-nonbinary-OK10-at-1_1.cpp │ │ │ │ ├── communicator-sigpipe-after-verdict.cpp │ │ │ │ └── communicator-sigpipe-before-verdict.cpp │ │ │ ├── source │ │ │ │ ├── binsearch-CE.cpp │ │ │ │ ├── binsearch-OK.cpp │ │ │ │ ├── linsearch-RTE-at-subtask_2.cpp │ │ │ │ ├── linsearch-WA-at-subtask_2.cpp │ │ │ │ ├── trigger-communication-TLE.cpp │ │ │ │ ├── trigger-communicator-sigpipe.cpp │ │ │ │ └── trigger-solution-sigpipe.cpp │ │ │ └── testdata │ │ │ │ ├── 1_1.in │ │ │ │ ├── 1_2.in │ │ │ │ ├── 2_1.in │ │ │ │ ├── 2_2.in │ │ │ │ ├── 2_3.in │ │ │ │ ├── sample_1.in │ │ │ │ ├── sample_2.in │ │ │ │ └── sample_3.in │ │ │ └── outputonly │ │ │ ├── helper │ │ │ ├── scorer-binary.cpp │ │ │ └── scorer-nonbinary-OK10-at-1_1.cpp │ │ │ ├── source │ │ │ ├── AC-scorer.zip │ │ │ ├── AC.zip │ │ │ ├── WA-at-1_1.zip │ │ │ ├── WA-at-2_3-scorer.zip │ │ │ ├── WA-at-2_3.zip │ │ │ ├── WA-at-sample_3.zip │ │ │ └── WA-missing-at-2_3.zip │ │ │ └── testdata │ │ │ ├── 1_1.in │ │ │ ├── 1_1.out │ │ │ ├── 1_2.in │ │ │ ├── 1_2.out │ │ │ ├── 2_1.in │ │ │ ├── 2_1.out │ │ │ ├── 2_2.in │ │ │ ├── 2_2.out │ │ │ ├── 2_3.in │ │ │ ├── 2_3.out │ │ │ ├── sample_1.in │ │ │ ├── sample_1.out │ │ │ ├── sample_2.in │ │ │ ├── sample_2.out │ │ │ ├── sample_3.in │ │ │ └── sample_3.out │ │ ├── main │ │ └── java │ │ │ └── judgels │ │ │ └── gabriel │ │ │ ├── aggregators │ │ │ ├── MinAggregator.java │ │ │ ├── PointUtils.java │ │ │ ├── SubtaskAggregator.java │ │ │ └── SumAggregator.java │ │ │ ├── api │ │ │ ├── AggregationResult.java │ │ │ ├── Aggregator.java │ │ │ ├── CompilationException.java │ │ │ ├── CompilationResult.java │ │ │ ├── Compiler.java │ │ │ ├── EvaluationException.java │ │ │ ├── EvaluationResult.java │ │ │ ├── Evaluator.java │ │ │ ├── GenerationException.java │ │ │ ├── GenerationResult.java │ │ │ ├── GradingConfig.java │ │ │ ├── GradingEngine.java │ │ │ ├── GradingException.java │ │ │ ├── GradingLanguage.java │ │ │ ├── Osn2024Hacks.java │ │ │ ├── PreparationException.java │ │ │ ├── ProcessExecutionResult.java │ │ │ ├── Sandbox.java │ │ │ ├── SandboxException.java │ │ │ ├── SandboxFactory.java │ │ │ ├── SandboxInteractor.java │ │ │ ├── Scorer.java │ │ │ ├── ScoringConfig.java │ │ │ ├── ScoringException.java │ │ │ ├── ScoringResult.java │ │ │ ├── ScoringRoundingMode.java │ │ │ ├── Subtask.java │ │ │ ├── SubtaskVerdict.java │ │ │ ├── TestCase.java │ │ │ ├── TestCaseVerdict.java │ │ │ └── TestGroup.java │ │ │ ├── compilers │ │ │ ├── FunctionalCompiler.java │ │ │ ├── NoOpCompiler.java │ │ │ └── SingleSourceFileCompiler.java │ │ │ ├── engines │ │ │ ├── BlackboxGradingEngine.java │ │ │ ├── DefaultConfig.java │ │ │ ├── FilePeeker.java │ │ │ ├── GradingEngineRegistry.java │ │ │ ├── MultipleSourceFilesGradingConfig.java │ │ │ ├── MultipleSourceFilesWithSubtasksGradingConfig.java │ │ │ ├── MultipleSourceFilesWithoutSubtasksGradingConfig.java │ │ │ ├── SingleSourceFileGradingConfig.java │ │ │ ├── SingleSourceFileWithSubtasksGradingConfig.java │ │ │ ├── SingleSourceFileWithoutSubtasksGradingConfig.java │ │ │ ├── batch │ │ │ │ ├── BatchEvaluator.java │ │ │ │ ├── BatchGradingConfig.java │ │ │ │ ├── BatchGradingEngine.java │ │ │ │ ├── BatchWithSubtasksGradingConfig.java │ │ │ │ └── BatchWithSubtasksGradingEngine.java │ │ │ ├── functional │ │ │ │ ├── FunctionalGradingConfig.java │ │ │ │ ├── FunctionalGradingEngine.java │ │ │ │ ├── FunctionalWithSubtasksGradingConfig.java │ │ │ │ └── FunctionalWithSubtasksGradingEngine.java │ │ │ ├── interactive │ │ │ │ ├── InteractiveEvaluator.java │ │ │ │ ├── InteractiveGradingConfig.java │ │ │ │ ├── InteractiveGradingEngine.java │ │ │ │ ├── InteractiveWithSubtasksGradingConfig.java │ │ │ │ └── InteractiveWithSubtasksGradingEngine.java │ │ │ └── outputonly │ │ │ │ ├── OutputOnlyGradingConfig.java │ │ │ │ ├── OutputOnlyGradingEngine.java │ │ │ │ ├── OutputOnlyWithSubtasksGradingConfig.java │ │ │ │ └── OutputOnlyWithSubtasksGradingEngine.java │ │ │ ├── helpers │ │ │ ├── FunctionalEvaluator.java │ │ │ ├── OutputOnlyEvaluator.java │ │ │ ├── TestCaseVerdictParser.java │ │ │ ├── communicator │ │ │ │ └── Communicator.java │ │ │ └── scorer │ │ │ │ ├── CustomScorer.java │ │ │ │ ├── DiffScorer.java │ │ │ │ └── ScorerRegistry.java │ │ │ ├── languages │ │ │ ├── GradingLanguageRegistry.java │ │ │ ├── OutputOnlyGradingLanguage.java │ │ │ ├── c │ │ │ │ └── CGradingLanguage.java │ │ │ ├── cpp │ │ │ │ ├── Cpp11GradingLanguage.java │ │ │ │ ├── Cpp17GradingLanguage.java │ │ │ │ ├── Cpp20GradingLanguage.java │ │ │ │ ├── CppFamilyGradingLanguage.java │ │ │ │ └── CppGradingLanguage.java │ │ │ ├── go │ │ │ │ └── GoGradingLanguage.java │ │ │ ├── java │ │ │ │ └── JavaGradingLanguage.java │ │ │ ├── pascal │ │ │ │ └── PascalGradingLanguage.java │ │ │ ├── python │ │ │ │ ├── PyPy3GradingLanguage.java │ │ │ │ └── Python3GradingLanguage.java │ │ │ └── rust │ │ │ │ └── Rust2021GradingLanguage.java │ │ │ └── sandboxes │ │ │ ├── SandboxExecutor.java │ │ │ ├── fake │ │ │ ├── FakeSandbox.java │ │ │ ├── FakeSandboxFactory.java │ │ │ └── FakeSandboxInteractor.java │ │ │ └── isolate │ │ │ ├── IsolateBoxIdFactory.java │ │ │ ├── IsolateSandbox.java │ │ │ ├── IsolateSandboxFactory.java │ │ │ └── IwrapperSandboxInteractor.java │ │ └── test │ │ ├── java │ │ └── judgels │ │ │ └── gabriel │ │ │ ├── aggregators │ │ │ ├── MinAggregatorTests.java │ │ │ ├── SubtaskAggregatorTests.java │ │ │ └── SumAggregatorTests.java │ │ │ ├── engines │ │ │ ├── AbstractGradingConfigTests.java │ │ │ ├── batch │ │ │ │ ├── BatchGradingConfigTests.java │ │ │ │ └── BatchWithSubtasksGradingConfigTests.java │ │ │ ├── functional │ │ │ │ ├── FunctionalGradingConfigTests.java │ │ │ │ └── FunctionalWithSubtasksGradingConfigTests.java │ │ │ ├── interactive │ │ │ │ ├── InteractiveGradingConfigTests.java │ │ │ │ └── InteractiveWithSubtasksGradingConfigTests.java │ │ │ └── outputonly │ │ │ │ ├── OutputOnlyGradingConfigTests.java │ │ │ │ └── OutputOnlyWithSubtasksGradingConfigTests.java │ │ │ ├── languages │ │ │ └── GradingLanguageRegistryTests.java │ │ │ └── scorers │ │ │ └── TestCaseVerdictParserTests.java │ │ └── resources │ │ └── configs │ │ ├── batch-with-subtasks.json │ │ ├── batch.json │ │ ├── functional-with-subtasks.json │ │ ├── functional.json │ │ ├── interactive-with-subtasks.json │ │ ├── interactive.json │ │ ├── outputonly-with-subtasks.json │ │ └── outputonly.json ├── judgels-server-api │ ├── build.gradle │ └── src │ │ ├── main │ │ └── java │ │ │ ├── judgels │ │ │ ├── contrib │ │ │ │ ├── jophiel │ │ │ │ │ └── api │ │ │ │ │ │ ├── session │ │ │ │ │ │ ├── GoogleCredentials.java │ │ │ │ │ │ └── SessionWithRegistrationErrors.java │ │ │ │ │ │ └── user │ │ │ │ │ │ ├── account │ │ │ │ │ │ ├── GoogleUserRegistrationData.java │ │ │ │ │ │ └── UserRegistrationData.java │ │ │ │ │ │ └── rating │ │ │ │ │ │ └── UserRatingUpdateData.java │ │ │ │ └── uriel │ │ │ │ │ └── api │ │ │ │ │ └── contest │ │ │ │ │ └── rating │ │ │ │ │ ├── ContestRating.java │ │ │ │ │ ├── ContestRatingChanges.java │ │ │ │ │ ├── ContestRatingHistoryResponse.java │ │ │ │ │ └── ContestsPendingRatingResponse.java │ │ │ ├── jerahmeel │ │ │ │ └── api │ │ │ │ │ ├── archive │ │ │ │ │ ├── Archive.java │ │ │ │ │ ├── ArchiveCreateData.java │ │ │ │ │ ├── ArchiveErrors.java │ │ │ │ │ ├── ArchiveUpdateData.java │ │ │ │ │ └── ArchivesResponse.java │ │ │ │ │ ├── chapter │ │ │ │ │ ├── Chapter.java │ │ │ │ │ ├── ChapterCreateData.java │ │ │ │ │ ├── ChapterInfo.java │ │ │ │ │ ├── ChapterProgress.java │ │ │ │ │ ├── ChapterUpdateData.java │ │ │ │ │ ├── ChaptersResponse.java │ │ │ │ │ ├── lesson │ │ │ │ │ │ ├── ChapterLesson.java │ │ │ │ │ │ ├── ChapterLessonData.java │ │ │ │ │ │ ├── ChapterLessonStatement.java │ │ │ │ │ │ └── ChapterLessonsResponse.java │ │ │ │ │ └── problem │ │ │ │ │ │ ├── ChapterProblem.java │ │ │ │ │ │ ├── ChapterProblemData.java │ │ │ │ │ │ ├── ChapterProblemWorksheet.java │ │ │ │ │ │ ├── ChapterProblemsResponse.java │ │ │ │ │ │ ├── bundle │ │ │ │ │ │ └── ChapterProblemWorksheet.java │ │ │ │ │ │ └── programming │ │ │ │ │ │ └── ChapterProblemWorksheet.java │ │ │ │ │ ├── course │ │ │ │ │ ├── Course.java │ │ │ │ │ ├── CourseCreateData.java │ │ │ │ │ ├── CourseErrors.java │ │ │ │ │ ├── CourseProgress.java │ │ │ │ │ ├── CourseUpdateData.java │ │ │ │ │ ├── CoursesResponse.java │ │ │ │ │ └── chapter │ │ │ │ │ │ ├── CourseChapter.java │ │ │ │ │ │ ├── CourseChapterResponse.java │ │ │ │ │ │ ├── CourseChapterUserProgressesData.java │ │ │ │ │ │ ├── CourseChapterUserProgressesResponse.java │ │ │ │ │ │ └── CourseChaptersResponse.java │ │ │ │ │ ├── curriculum │ │ │ │ │ ├── Curriculum.java │ │ │ │ │ └── CurriculumsResponse.java │ │ │ │ │ ├── problem │ │ │ │ │ ├── ProblemDifficulty.java │ │ │ │ │ ├── ProblemProgress.java │ │ │ │ │ ├── ProblemSetProblemInfo.java │ │ │ │ │ ├── ProblemStats.java │ │ │ │ │ ├── ProblemTagCategory.java │ │ │ │ │ ├── ProblemTagOption.java │ │ │ │ │ ├── ProblemTagsResponse.java │ │ │ │ │ ├── ProblemTopStats.java │ │ │ │ │ ├── ProblemTopStatsEntry.java │ │ │ │ │ └── ProblemsResponse.java │ │ │ │ │ ├── problemset │ │ │ │ │ ├── ProblemSet.java │ │ │ │ │ ├── ProblemSetCreateData.java │ │ │ │ │ ├── ProblemSetErrors.java │ │ │ │ │ ├── ProblemSetProgress.java │ │ │ │ │ ├── ProblemSetStatsResponse.java │ │ │ │ │ ├── ProblemSetUpdateData.java │ │ │ │ │ ├── ProblemSetUserProgressesData.java │ │ │ │ │ ├── ProblemSetUserProgressesResponse.java │ │ │ │ │ ├── ProblemSetsResponse.java │ │ │ │ │ └── problem │ │ │ │ │ │ ├── ProblemEditorialResponse.java │ │ │ │ │ │ ├── ProblemReportResponse.java │ │ │ │ │ │ ├── ProblemSetProblem.java │ │ │ │ │ │ ├── ProblemSetProblemData.java │ │ │ │ │ │ ├── ProblemSetProblemWorksheet.java │ │ │ │ │ │ ├── ProblemSetProblemsResponse.java │ │ │ │ │ │ ├── ProblemStatsResponse.java │ │ │ │ │ │ ├── bundle │ │ │ │ │ │ └── ProblemSetProblemWorksheet.java │ │ │ │ │ │ └── programming │ │ │ │ │ │ └── ProblemSetProblemWorksheet.java │ │ │ │ │ ├── role │ │ │ │ │ └── JerahmeelRole.java │ │ │ │ │ ├── stats │ │ │ │ │ ├── UserStats.java │ │ │ │ │ ├── UserTopStatsEntry.java │ │ │ │ │ └── UserTopStatsResponse.java │ │ │ │ │ └── submission │ │ │ │ │ ├── SubmissionConfig.java │ │ │ │ │ ├── bundle │ │ │ │ │ ├── ItemSubmissionsResponse.java │ │ │ │ │ └── SubmissionSummaryResponse.java │ │ │ │ │ └── programming │ │ │ │ │ └── SubmissionsResponse.java │ │ │ ├── jophiel │ │ │ │ └── api │ │ │ │ │ ├── actor │ │ │ │ │ └── Actor.java │ │ │ │ │ ├── profile │ │ │ │ │ ├── BasicProfile.java │ │ │ │ │ └── Profile.java │ │ │ │ │ ├── role │ │ │ │ │ └── JophielRole.java │ │ │ │ │ ├── session │ │ │ │ │ ├── Credentials.java │ │ │ │ │ ├── Session.java │ │ │ │ │ └── SessionErrors.java │ │ │ │ │ └── user │ │ │ │ │ ├── User.java │ │ │ │ │ ├── UserData.java │ │ │ │ │ ├── UsersResponse.java │ │ │ │ │ ├── UsersUpsertResponse.java │ │ │ │ │ ├── account │ │ │ │ │ └── PasswordResetData.java │ │ │ │ │ ├── info │ │ │ │ │ └── UserInfo.java │ │ │ │ │ ├── rating │ │ │ │ │ ├── RatingEvent.java │ │ │ │ │ ├── UserRating.java │ │ │ │ │ └── UserRatingEvent.java │ │ │ │ │ ├── role │ │ │ │ │ ├── UserRole.java │ │ │ │ │ ├── UserRolesResponse.java │ │ │ │ │ └── UserWithRole.java │ │ │ │ │ └── web │ │ │ │ │ └── UserWebConfig.java │ │ │ ├── persistence │ │ │ │ └── api │ │ │ │ │ ├── OrderDir.java │ │ │ │ │ ├── Page.java │ │ │ │ │ └── SelectionOptions.java │ │ │ ├── sandalphon │ │ │ │ └── api │ │ │ │ │ ├── lesson │ │ │ │ │ ├── Lesson.java │ │ │ │ │ ├── LessonInfo.java │ │ │ │ │ ├── LessonStatement.java │ │ │ │ │ └── partner │ │ │ │ │ │ ├── LessonPartner.java │ │ │ │ │ │ └── LessonPartnerConfig.java │ │ │ │ │ ├── problem │ │ │ │ │ ├── Problem.java │ │ │ │ │ ├── ProblemEditorial.java │ │ │ │ │ ├── ProblemEditorialInfo.java │ │ │ │ │ ├── ProblemInfo.java │ │ │ │ │ ├── ProblemMetadata.java │ │ │ │ │ ├── ProblemSetterRole.java │ │ │ │ │ ├── ProblemStatement.java │ │ │ │ │ ├── ProblemType.java │ │ │ │ │ ├── bundle │ │ │ │ │ │ ├── BundleItem.java │ │ │ │ │ │ ├── BundleItemsConfig.java │ │ │ │ │ │ ├── EssayItemConfig.java │ │ │ │ │ │ ├── Item.java │ │ │ │ │ │ ├── ItemConfig.java │ │ │ │ │ │ ├── ItemType.java │ │ │ │ │ │ ├── MultipleChoiceItemConfig.java │ │ │ │ │ │ ├── ProblemWorksheet.java │ │ │ │ │ │ ├── ShortAnswerItemConfig.java │ │ │ │ │ │ └── StatementItemConfig.java │ │ │ │ │ ├── partner │ │ │ │ │ │ ├── ProblemPartner.java │ │ │ │ │ │ ├── ProblemPartnerChildConfig.java │ │ │ │ │ │ └── ProblemPartnerConfig.java │ │ │ │ │ └── programming │ │ │ │ │ │ ├── ProblemLimits.java │ │ │ │ │ │ ├── ProblemSkeleton.java │ │ │ │ │ │ ├── ProblemSubmissionConfig.java │ │ │ │ │ │ └── ProblemWorksheet.java │ │ │ │ │ ├── resource │ │ │ │ │ ├── Partner.java │ │ │ │ │ └── PartnerPermission.java │ │ │ │ │ ├── role │ │ │ │ │ └── SandalphonRole.java │ │ │ │ │ └── submission │ │ │ │ │ ├── bundle │ │ │ │ │ ├── BundleAnswer.java │ │ │ │ │ ├── BundleGrading.java │ │ │ │ │ ├── BundleGradingResult.java │ │ │ │ │ ├── BundleSubmission.java │ │ │ │ │ ├── Grading.java │ │ │ │ │ ├── ItemGradingResult.java │ │ │ │ │ ├── ItemSubmission.java │ │ │ │ │ ├── ItemSubmissionData.java │ │ │ │ │ ├── ItemSubmissionsResponse.java │ │ │ │ │ ├── SubmissionSummaryResponse.java │ │ │ │ │ └── Verdict.java │ │ │ │ │ └── programming │ │ │ │ │ ├── Grading.java │ │ │ │ │ ├── Submission.java │ │ │ │ │ ├── SubmissionData.java │ │ │ │ │ ├── SubmissionInfo.java │ │ │ │ │ ├── SubmissionWithSource.java │ │ │ │ │ ├── SubmissionWithSourceResponse.java │ │ │ │ │ └── SubmissionsResponse.java │ │ │ ├── service │ │ │ │ └── api │ │ │ │ │ ├── JudgelsServiceError.java │ │ │ │ │ ├── JudgelsServiceException.java │ │ │ │ │ └── actor │ │ │ │ │ └── AuthHeader.java │ │ │ └── uriel │ │ │ │ └── api │ │ │ │ ├── contest │ │ │ │ ├── ActiveContestsResponse.java │ │ │ │ ├── Contest.java │ │ │ │ ├── ContestConfig.java │ │ │ │ ├── ContestCreateData.java │ │ │ │ ├── ContestDescription.java │ │ │ │ ├── ContestErrors.java │ │ │ │ ├── ContestInfo.java │ │ │ │ ├── ContestStyle.java │ │ │ │ ├── ContestUpdateData.java │ │ │ │ ├── ContestsResponse.java │ │ │ │ ├── announcement │ │ │ │ │ ├── ContestAnnouncement.java │ │ │ │ │ ├── ContestAnnouncementConfig.java │ │ │ │ │ ├── ContestAnnouncementData.java │ │ │ │ │ ├── ContestAnnouncementStatus.java │ │ │ │ │ └── ContestAnnouncementsResponse.java │ │ │ │ ├── clarification │ │ │ │ │ ├── ContestClarification.java │ │ │ │ │ ├── ContestClarificationAnswerData.java │ │ │ │ │ ├── ContestClarificationConfig.java │ │ │ │ │ ├── ContestClarificationData.java │ │ │ │ │ ├── ContestClarificationStatus.java │ │ │ │ │ └── ContestClarificationsResponse.java │ │ │ │ ├── contestant │ │ │ │ │ ├── ApprovedContestContestantsResponse.java │ │ │ │ │ ├── ContestContestant.java │ │ │ │ │ ├── ContestContestantConfig.java │ │ │ │ │ ├── ContestContestantState.java │ │ │ │ │ ├── ContestContestantStatus.java │ │ │ │ │ ├── ContestContestantsDeleteResponse.java │ │ │ │ │ ├── ContestContestantsResponse.java │ │ │ │ │ └── ContestContestantsUpsertResponse.java │ │ │ │ ├── editorial │ │ │ │ │ └── ContestEditorialResponse.java │ │ │ │ ├── file │ │ │ │ │ ├── ContestFile.java │ │ │ │ │ ├── ContestFileConfig.java │ │ │ │ │ └── ContestFilesResponse.java │ │ │ │ ├── history │ │ │ │ │ ├── ContestHistoryEvent.java │ │ │ │ │ └── ContestHistoryResponse.java │ │ │ │ ├── log │ │ │ │ │ ├── ContestLog.java │ │ │ │ │ ├── ContestLogConfig.java │ │ │ │ │ └── ContestLogsResponse.java │ │ │ │ ├── manager │ │ │ │ │ ├── ContestManager.java │ │ │ │ │ ├── ContestManagerConfig.java │ │ │ │ │ ├── ContestManagersDeleteResponse.java │ │ │ │ │ ├── ContestManagersResponse.java │ │ │ │ │ └── ContestManagersUpsertResponse.java │ │ │ │ ├── module │ │ │ │ │ ├── BundleStyleModuleConfig.java │ │ │ │ │ ├── ClarificationTimeLimitModuleConfig.java │ │ │ │ │ ├── ContestModuleType.java │ │ │ │ │ ├── ContestModulesConfig.java │ │ │ │ │ ├── DivisionModuleConfig.java │ │ │ │ │ ├── EditorialModuleConfig.java │ │ │ │ │ ├── ExternalScoreboardModuleConfig.java │ │ │ │ │ ├── FrozenScoreboardModuleConfig.java │ │ │ │ │ ├── GcjStyleModuleConfig.java │ │ │ │ │ ├── IcpcStyleModuleConfig.java │ │ │ │ │ ├── IoiStyleModuleConfig.java │ │ │ │ │ ├── MergedScoreboardModuleConfig.java │ │ │ │ │ ├── ModuleConfig.java │ │ │ │ │ ├── ScoreboardModuleConfig.java │ │ │ │ │ ├── StyleModuleConfig.java │ │ │ │ │ ├── TrocStyleModuleConfig.java │ │ │ │ │ └── VirtualModuleConfig.java │ │ │ │ ├── problem │ │ │ │ │ ├── ContestProblem.java │ │ │ │ │ ├── ContestProblemConfig.java │ │ │ │ │ ├── ContestProblemData.java │ │ │ │ │ ├── ContestProblemStatus.java │ │ │ │ │ ├── ContestProblemsResponse.java │ │ │ │ │ ├── bundle │ │ │ │ │ │ └── ContestProblemWorksheet.java │ │ │ │ │ └── programming │ │ │ │ │ │ └── ContestProblemWorksheet.java │ │ │ │ ├── role │ │ │ │ │ └── ContestRole.java │ │ │ │ ├── scoreboard │ │ │ │ │ ├── BundleScoreboard.java │ │ │ │ │ ├── ContestScoreboard.java │ │ │ │ │ ├── ContestScoreboardConfig.java │ │ │ │ │ ├── ContestScoreboardResponse.java │ │ │ │ │ ├── ContestScoreboardType.java │ │ │ │ │ ├── ExternalScoreboardData.java │ │ │ │ │ ├── GcjScoreboard.java │ │ │ │ │ ├── IcpcScoreboard.java │ │ │ │ │ ├── IoiScoreboard.java │ │ │ │ │ ├── Scoreboard.java │ │ │ │ │ ├── ScoreboardContent.java │ │ │ │ │ ├── ScoreboardEntry.java │ │ │ │ │ ├── ScoreboardState.java │ │ │ │ │ └── TrocScoreboard.java │ │ │ │ ├── submission │ │ │ │ │ ├── ContestSubmissionConfig.java │ │ │ │ │ ├── bundle │ │ │ │ │ │ ├── ContestItemSubmissionsResponse.java │ │ │ │ │ │ └── ContestSubmissionSummaryResponse.java │ │ │ │ │ └── programming │ │ │ │ │ │ ├── ContestSubmissionsResponse.java │ │ │ │ │ │ └── ContestUserProblemSubmissionsResponse.java │ │ │ │ ├── supervisor │ │ │ │ │ ├── ContestSupervisor.java │ │ │ │ │ ├── ContestSupervisorUpsertData.java │ │ │ │ │ ├── ContestSupervisorsDeleteResponse.java │ │ │ │ │ ├── ContestSupervisorsResponse.java │ │ │ │ │ ├── ContestSupervisorsUpsertResponse.java │ │ │ │ │ └── SupervisorManagementPermission.java │ │ │ │ └── web │ │ │ │ │ ├── ContestState.java │ │ │ │ │ ├── ContestTab.java │ │ │ │ │ ├── ContestWebConfig.java │ │ │ │ │ └── ContestWithWebConfig.java │ │ │ │ └── role │ │ │ │ └── UrielRole.java │ │ │ └── tlx │ │ │ └── jophiel │ │ │ └── api │ │ │ └── user │ │ │ └── rating │ │ │ └── TlxRating.java │ │ └── test │ │ └── java │ │ └── judgels │ │ └── service │ │ └── api │ │ └── actor │ │ └── AuthHeaderTests.java ├── judgels-server-app │ ├── .dockerignore │ ├── .gitignore │ ├── Dockerfile │ ├── build.gradle │ ├── init.sh │ ├── src │ │ ├── integTest │ │ │ ├── java │ │ │ │ └── judgels │ │ │ │ │ ├── BaseJudgelsApiIntegrationTests.java │ │ │ │ │ ├── app │ │ │ │ │ └── BaseJudgelsAppIntegrationTests.java │ │ │ │ │ ├── contrib │ │ │ │ │ ├── jophiel │ │ │ │ │ │ └── api │ │ │ │ │ │ │ ├── UserAccountWithRegistrationApiIntegrationTests.java │ │ │ │ │ │ │ ├── UserRatingApiIntegrationTests.java │ │ │ │ │ │ │ └── UserRatingApiPermissionIntegrationTests.java │ │ │ │ │ └── uriel │ │ │ │ │ │ └── api │ │ │ │ │ │ └── ContestRatingApiIntegrationTests.java │ │ │ │ │ ├── jerahmeel │ │ │ │ │ ├── BaseJerahmeelIntegrationTests.java │ │ │ │ │ ├── JerahmeelIntegrationTestComponent.java │ │ │ │ │ ├── api │ │ │ │ │ │ ├── ArchiveApiIntegrationTests.java │ │ │ │ │ │ ├── BaseJerahmeelApiIntegrationTests.java │ │ │ │ │ │ ├── ChapterApiIntegrationTests.java │ │ │ │ │ │ ├── ChapterLessonApiIntegrationTests.java │ │ │ │ │ │ ├── ChapterProblemApiIntegrationTests.java │ │ │ │ │ │ ├── CourseApiIntegrationTests.java │ │ │ │ │ │ ├── CourseChapterClientIntegrationTests.java │ │ │ │ │ │ ├── ProblemSetApiIntegrationTests.java │ │ │ │ │ │ └── ProblemSetProblemApiIntegrationTests.java │ │ │ │ │ └── stats │ │ │ │ │ │ └── StatsIntegrationTests.java │ │ │ │ │ ├── jophiel │ │ │ │ │ ├── BaseJophielIntegrationTests.java │ │ │ │ │ ├── JophielIntegrationTestComponent.java │ │ │ │ │ ├── api │ │ │ │ │ │ ├── ProfileApiIntegrationTests.java │ │ │ │ │ │ ├── SessionApiIntegrationTests.java │ │ │ │ │ │ ├── UserAccountApiIntegrationTests.java │ │ │ │ │ │ ├── UserApiIntegrationTests.java │ │ │ │ │ │ ├── UserApiPermissionIntegrationTests.java │ │ │ │ │ │ ├── UserInfoApiIntegrationTests.java │ │ │ │ │ │ ├── UserInfoApiPermissionIntegrationTests.java │ │ │ │ │ │ ├── UserRoleApiIntegrationTests.java │ │ │ │ │ │ ├── UserRoleApiPermissionIntegrationTests.java │ │ │ │ │ │ └── UserSearchApiIntegrationTests.java │ │ │ │ │ ├── session │ │ │ │ │ │ └── SessionCleanerIntegrationTests.java │ │ │ │ │ └── user │ │ │ │ │ │ ├── account │ │ │ │ │ │ └── UserResetPasswordStoreIntegrationTests.java │ │ │ │ │ │ ├── avatar │ │ │ │ │ │ └── UserAvatarIntegrationTestModule.java │ │ │ │ │ │ └── superadmin │ │ │ │ │ │ └── SuperadminCreatorIntegrationTests.java │ │ │ │ │ ├── persistence │ │ │ │ │ ├── TestActorProvider.java │ │ │ │ │ ├── h2 │ │ │ │ │ │ └── H2SqlFunctions.java │ │ │ │ │ └── hibernate │ │ │ │ │ │ ├── ExampleModel.java │ │ │ │ │ │ ├── HibernateDaoIntegrationTests.java │ │ │ │ │ │ ├── HibernateSessionExtension.java │ │ │ │ │ │ ├── JudgelsHibernateDaoIntegrationTests.java │ │ │ │ │ │ └── WithHibernateSession.java │ │ │ │ │ └── uriel │ │ │ │ │ └── api │ │ │ │ │ ├── BaseUrielApiIntegrationTests.java │ │ │ │ │ ├── ContestAnnouncementApiIntegrationTests.java │ │ │ │ │ ├── ContestAnnouncementApiPermissionIntegrationTests.java │ │ │ │ │ ├── ContestApiIntegrationTests.java │ │ │ │ │ ├── ContestApiPermissionIntegrationTests.java │ │ │ │ │ ├── ContestClarificationApiIntegrationTests.java │ │ │ │ │ ├── ContestClarificationApiPermissionIntegrationTests.java │ │ │ │ │ ├── ContestContestantApiIntegrationTests.java │ │ │ │ │ ├── ContestContestantApiPermissionIntegrationTests.java │ │ │ │ │ ├── ContestEditorialApiIntegrationTests.java │ │ │ │ │ ├── ContestEditorialApiPermissionIntegrationTests.java │ │ │ │ │ ├── ContestFileApiIntegrationTests.java │ │ │ │ │ ├── ContestFileApiPermissionIntegrationTests.java │ │ │ │ │ ├── ContestItemSubmissionApiIntegrationTests.java │ │ │ │ │ ├── ContestLogApiIntegrationTests.java │ │ │ │ │ ├── ContestLogApiPermissionIntegrationTests.java │ │ │ │ │ ├── ContestManagerApiIntegrationTests.java │ │ │ │ │ ├── ContestManagerApiPermissionIntegrationTests.java │ │ │ │ │ ├── ContestModuleApiIntegrationTests.java │ │ │ │ │ ├── ContestModuleApiPermissionIntegrationTests.java │ │ │ │ │ ├── ContestProblemApiIntegrationTests.java │ │ │ │ │ ├── ContestProblemApiPermissionIntegrationTests.java │ │ │ │ │ ├── ContestScoreboardApiIntegrationTests.java │ │ │ │ │ ├── ContestScoreboardApiPermissionIntegrationTests.java │ │ │ │ │ ├── ContestSubmissionApiIntegrationTests.java │ │ │ │ │ ├── ContestSubmissionApiPermissionIntegrationTests.java │ │ │ │ │ ├── ContestSupervisorApiIntegrationTests.java │ │ │ │ │ ├── ContestSupervisorApiPermissionIntegrationTests.java │ │ │ │ │ └── ContestWebApiIntegrationTests.java │ │ │ └── resources │ │ │ │ └── logback.xml │ │ ├── main │ │ │ ├── java │ │ │ │ ├── judgels │ │ │ │ │ ├── JudgelsServerApplication.java │ │ │ │ │ ├── JudgelsServerApplicationConfiguration.java │ │ │ │ │ ├── JudgelsServerConfiguration.java │ │ │ │ │ ├── JudgelsServerHibernateBundle.java │ │ │ │ │ ├── JudgelsServerMigrationsBundle.java │ │ │ │ │ ├── JudgelsServerModule.java │ │ │ │ │ ├── JudgelsServerViewBundle.java │ │ │ │ │ ├── JudgelsServerWebSecurityBundle.java │ │ │ │ │ ├── WebSecurityConfiguration.java │ │ │ │ │ ├── app │ │ │ │ │ │ ├── JudgelsApp.java │ │ │ │ │ │ ├── JudgelsAppConfiguration.java │ │ │ │ │ │ └── JudgelsAppEdition.java │ │ │ │ │ ├── contrib │ │ │ │ │ │ ├── jophiel │ │ │ │ │ │ │ ├── auth │ │ │ │ │ │ │ │ ├── AuthConfiguration.java │ │ │ │ │ │ │ │ ├── AuthModule.java │ │ │ │ │ │ │ │ └── google │ │ │ │ │ │ │ │ │ ├── GoogleAuth.java │ │ │ │ │ │ │ │ │ └── GoogleAuthConfiguration.java │ │ │ │ │ │ │ ├── hibernate │ │ │ │ │ │ │ │ └── UserRegistrationEmailHibernateDao.java │ │ │ │ │ │ │ ├── persistence │ │ │ │ │ │ │ │ ├── UserRegistrationEmailDao.java │ │ │ │ │ │ │ │ └── UserRegistrationEmailModel.java │ │ │ │ │ │ │ ├── recaptcha │ │ │ │ │ │ │ │ ├── RecaptchaConfiguration.java │ │ │ │ │ │ │ │ ├── RecaptchaModule.java │ │ │ │ │ │ │ │ ├── RecaptchaVerifier.java │ │ │ │ │ │ │ │ └── web │ │ │ │ │ │ │ │ │ └── RecaptchaWebConfig.java │ │ │ │ │ │ │ ├── session │ │ │ │ │ │ │ │ └── SessionWithGoogleResource.java │ │ │ │ │ │ │ └── user │ │ │ │ │ │ │ │ ├── account │ │ │ │ │ │ │ │ └── UserAccountWithRegistrationResource.java │ │ │ │ │ │ │ │ └── registration │ │ │ │ │ │ │ │ ├── UserRegisterer.java │ │ │ │ │ │ │ │ ├── UserRegistrationConfiguration.java │ │ │ │ │ │ │ │ ├── UserRegistrationEmailMailer.java │ │ │ │ │ │ │ │ ├── UserRegistrationEmailStore.java │ │ │ │ │ │ │ │ ├── UserRegistrationModule.java │ │ │ │ │ │ │ │ └── web │ │ │ │ │ │ │ │ ├── UserRegistrationWebConfig.java │ │ │ │ │ │ │ │ └── UserRegistrationWebResource.java │ │ │ │ │ │ └── uriel │ │ │ │ │ │ │ └── contest │ │ │ │ │ │ │ └── rating │ │ │ │ │ │ │ ├── ContestRatingModule.java │ │ │ │ │ │ │ ├── ContestRatingProvider.java │ │ │ │ │ │ │ ├── ContestRatingResource.java │ │ │ │ │ │ │ └── JudgelsContestRatingProvider.java │ │ │ │ │ ├── jerahmeel │ │ │ │ │ │ ├── JerahmeelComponent.java │ │ │ │ │ │ ├── JerahmeelConfiguration.java │ │ │ │ │ │ ├── archive │ │ │ │ │ │ │ ├── ArchiveResource.java │ │ │ │ │ │ │ └── ArchiveStore.java │ │ │ │ │ │ ├── chapter │ │ │ │ │ │ │ ├── ChapterErrors.java │ │ │ │ │ │ │ ├── ChapterResource.java │ │ │ │ │ │ │ ├── ChapterStore.java │ │ │ │ │ │ │ ├── lesson │ │ │ │ │ │ │ │ ├── ChapterLessonResource.java │ │ │ │ │ │ │ │ └── ChapterLessonStore.java │ │ │ │ │ │ │ ├── problem │ │ │ │ │ │ │ │ ├── ChapterProblemResource.java │ │ │ │ │ │ │ │ └── ChapterProblemStore.java │ │ │ │ │ │ │ └── resource │ │ │ │ │ │ │ │ └── ChapterResourceStore.java │ │ │ │ │ │ ├── course │ │ │ │ │ │ │ ├── CourseResource.java │ │ │ │ │ │ │ ├── CourseStore.java │ │ │ │ │ │ │ └── chapter │ │ │ │ │ │ │ │ ├── CourseChapterResource.java │ │ │ │ │ │ │ │ └── CourseChapterStore.java │ │ │ │ │ │ ├── curriculum │ │ │ │ │ │ │ ├── CurriculumResource.java │ │ │ │ │ │ │ └── CurriculumStore.java │ │ │ │ │ │ ├── difficulty │ │ │ │ │ │ │ └── ProblemDifficultyStore.java │ │ │ │ │ │ ├── hibernate │ │ │ │ │ │ │ ├── ArchiveHibernateDao.java │ │ │ │ │ │ │ ├── BundleItemSubmissionHibernateDao.java │ │ │ │ │ │ │ ├── ChapterHibernateDao.java │ │ │ │ │ │ │ ├── ChapterLessonHibernateDao.java │ │ │ │ │ │ │ ├── ChapterProblemHibernateDao.java │ │ │ │ │ │ │ ├── CourseChapterHibernateDao.java │ │ │ │ │ │ │ ├── CourseHibernateDao.java │ │ │ │ │ │ │ ├── CurriculumHibernateDao.java │ │ │ │ │ │ │ ├── JerahmeelHibernateDaoModule.java │ │ │ │ │ │ │ ├── ProblemContestHibernateDao.java │ │ │ │ │ │ │ ├── ProblemLevelHibernateDao.java │ │ │ │ │ │ │ ├── ProblemSetHibernateDao.java │ │ │ │ │ │ │ ├── ProblemSetProblemHibernateDao.java │ │ │ │ │ │ │ ├── ProgrammingGradingHibernateDao.java │ │ │ │ │ │ │ ├── ProgrammingSubmissionHibernateDao.java │ │ │ │ │ │ │ ├── StatsUserHibernateDao.java │ │ │ │ │ │ │ └── StatsUserProblemHibernateDao.java │ │ │ │ │ │ ├── persistence │ │ │ │ │ │ │ ├── ArchiveDao.java │ │ │ │ │ │ │ ├── ArchiveModel.java │ │ │ │ │ │ │ ├── BundleItemSubmissionDao.java │ │ │ │ │ │ │ ├── BundleItemSubmissionModel.java │ │ │ │ │ │ │ ├── ChapterDao.java │ │ │ │ │ │ │ ├── ChapterLessonDao.java │ │ │ │ │ │ │ ├── ChapterLessonModel.java │ │ │ │ │ │ │ ├── ChapterModel.java │ │ │ │ │ │ │ ├── ChapterProblemDao.java │ │ │ │ │ │ │ ├── ChapterProblemModel.java │ │ │ │ │ │ │ ├── CourseChapterDao.java │ │ │ │ │ │ │ ├── CourseChapterModel.java │ │ │ │ │ │ │ ├── CourseDao.java │ │ │ │ │ │ │ ├── CourseModel.java │ │ │ │ │ │ │ ├── CurriculumDao.java │ │ │ │ │ │ │ ├── CurriculumModel.java │ │ │ │ │ │ │ ├── ProblemContestDao.java │ │ │ │ │ │ │ ├── ProblemContestModel.java │ │ │ │ │ │ │ ├── ProblemLevelDao.java │ │ │ │ │ │ │ ├── ProblemLevelModel.java │ │ │ │ │ │ │ ├── ProblemSetDao.java │ │ │ │ │ │ │ ├── ProblemSetModel.java │ │ │ │ │ │ │ ├── ProblemSetProblemDao.java │ │ │ │ │ │ │ ├── ProblemSetProblemModel.java │ │ │ │ │ │ │ ├── ProgrammingGradingDao.java │ │ │ │ │ │ │ ├── ProgrammingGradingModel.java │ │ │ │ │ │ │ ├── ProgrammingSubmissionDao.java │ │ │ │ │ │ │ ├── ProgrammingSubmissionModel.java │ │ │ │ │ │ │ ├── StatsUserDao.java │ │ │ │ │ │ │ ├── StatsUserModel.java │ │ │ │ │ │ │ ├── StatsUserProblemDao.java │ │ │ │ │ │ │ └── StatsUserProblemModel.java │ │ │ │ │ │ ├── problem │ │ │ │ │ │ │ ├── ProblemResource.java │ │ │ │ │ │ │ ├── ProblemStore.java │ │ │ │ │ │ │ └── ProblemTagResource.java │ │ │ │ │ │ ├── problemset │ │ │ │ │ │ │ ├── ProblemSetResource.java │ │ │ │ │ │ │ ├── ProblemSetStore.java │ │ │ │ │ │ │ └── problem │ │ │ │ │ │ │ │ ├── ProblemSetProblemResource.java │ │ │ │ │ │ │ │ └── ProblemSetProblemStore.java │ │ │ │ │ │ ├── role │ │ │ │ │ │ │ └── RoleChecker.java │ │ │ │ │ │ ├── stats │ │ │ │ │ │ │ ├── StatsConfiguration.java │ │ │ │ │ │ │ ├── StatsStore.java │ │ │ │ │ │ │ └── UserStatsResource.java │ │ │ │ │ │ ├── submission │ │ │ │ │ │ │ ├── JerahmeelSubmissionStore.java │ │ │ │ │ │ │ ├── SubmissionRoleChecker.java │ │ │ │ │ │ │ ├── SubmissionUtils.java │ │ │ │ │ │ │ ├── bundle │ │ │ │ │ │ │ │ ├── ItemSubmissionModule.java │ │ │ │ │ │ │ │ ├── ItemSubmissionResource.java │ │ │ │ │ │ │ │ └── StatsProcessor.java │ │ │ │ │ │ │ └── programming │ │ │ │ │ │ │ │ ├── StatsProcessor.java │ │ │ │ │ │ │ │ ├── SubmissionConfiguration.java │ │ │ │ │ │ │ │ ├── SubmissionFs.java │ │ │ │ │ │ │ │ ├── SubmissionModule.java │ │ │ │ │ │ │ │ └── SubmissionResource.java │ │ │ │ │ │ └── tasks │ │ │ │ │ │ │ ├── JerahmeelTaskModule.java │ │ │ │ │ │ │ ├── RefreshContestStatsTask.java │ │ │ │ │ │ │ └── RefreshProblemSetStatsTask.java │ │ │ │ │ ├── jophiel │ │ │ │ │ │ ├── EmailTemplate.java │ │ │ │ │ │ ├── JophielClient.java │ │ │ │ │ │ ├── JophielComponent.java │ │ │ │ │ │ ├── JophielConfiguration.java │ │ │ │ │ │ ├── hibernate │ │ │ │ │ │ │ ├── JophielHibernateDaoModule.java │ │ │ │ │ │ │ ├── SessionHibernateDao.java │ │ │ │ │ │ │ ├── UserHibernateDao.java │ │ │ │ │ │ │ ├── UserInfoHibernateDao.java │ │ │ │ │ │ │ ├── UserRatingEventHibernateDao.java │ │ │ │ │ │ │ ├── UserRatingHibernateDao.java │ │ │ │ │ │ │ ├── UserResetPasswordHibernateDao.java │ │ │ │ │ │ │ └── UserRoleHibernateDao.java │ │ │ │ │ │ ├── mailer │ │ │ │ │ │ │ ├── Mailer.java │ │ │ │ │ │ │ ├── MailerConfiguration.java │ │ │ │ │ │ │ └── MailerModule.java │ │ │ │ │ │ ├── persistence │ │ │ │ │ │ │ ├── SessionDao.java │ │ │ │ │ │ │ ├── SessionModel.java │ │ │ │ │ │ │ ├── UserDao.java │ │ │ │ │ │ │ ├── UserInfoDao.java │ │ │ │ │ │ │ ├── UserInfoModel.java │ │ │ │ │ │ │ ├── UserModel.java │ │ │ │ │ │ │ ├── UserRatingDao.java │ │ │ │ │ │ │ ├── UserRatingEventDao.java │ │ │ │ │ │ │ ├── UserRatingEventModel.java │ │ │ │ │ │ │ ├── UserRatingModel.java │ │ │ │ │ │ │ ├── UserResetPasswordDao.java │ │ │ │ │ │ │ ├── UserResetPasswordModel.java │ │ │ │ │ │ │ ├── UserRoleDao.java │ │ │ │ │ │ │ └── UserRoleModel.java │ │ │ │ │ │ ├── profile │ │ │ │ │ │ │ ├── ProfileResource.java │ │ │ │ │ │ │ └── ProfileStore.java │ │ │ │ │ │ ├── role │ │ │ │ │ │ │ └── SuperadminRoleStore.java │ │ │ │ │ │ ├── session │ │ │ │ │ │ │ ├── SessionCleaner.java │ │ │ │ │ │ │ ├── SessionConfiguration.java │ │ │ │ │ │ │ ├── SessionModule.java │ │ │ │ │ │ │ ├── SessionResource.java │ │ │ │ │ │ │ ├── SessionStore.java │ │ │ │ │ │ │ └── SessionTokenGenerator.java │ │ │ │ │ │ └── user │ │ │ │ │ │ │ ├── PasswordHash.java │ │ │ │ │ │ │ ├── UserCreator.java │ │ │ │ │ │ │ ├── UserResource.java │ │ │ │ │ │ │ ├── UserRoleChecker.java │ │ │ │ │ │ │ ├── UserStore.java │ │ │ │ │ │ │ ├── UserUpdateData.java │ │ │ │ │ │ │ ├── account │ │ │ │ │ │ │ ├── UserAccountResource.java │ │ │ │ │ │ │ ├── UserPasswordResetter.java │ │ │ │ │ │ │ ├── UserResetPasswordConfiguration.java │ │ │ │ │ │ │ ├── UserResetPasswordMailer.java │ │ │ │ │ │ │ ├── UserResetPasswordModule.java │ │ │ │ │ │ │ └── UserResetPasswordStore.java │ │ │ │ │ │ │ ├── avatar │ │ │ │ │ │ │ ├── UserAvatarFs.java │ │ │ │ │ │ │ ├── UserAvatarModule.java │ │ │ │ │ │ │ └── UserAvatarResource.java │ │ │ │ │ │ │ ├── info │ │ │ │ │ │ │ ├── UserInfoResource.java │ │ │ │ │ │ │ └── UserInfoStore.java │ │ │ │ │ │ │ ├── rating │ │ │ │ │ │ │ ├── UserRatingResource.java │ │ │ │ │ │ │ ├── UserRatingStore.java │ │ │ │ │ │ │ └── UserWithRating.java │ │ │ │ │ │ │ ├── role │ │ │ │ │ │ │ ├── UserRoleResource.java │ │ │ │ │ │ │ └── UserRoleStore.java │ │ │ │ │ │ │ ├── search │ │ │ │ │ │ │ └── UserSearchResource.java │ │ │ │ │ │ │ ├── superadmin │ │ │ │ │ │ │ ├── SuperadminCreator.java │ │ │ │ │ │ │ ├── SuperadminCreatorConfiguration.java │ │ │ │ │ │ │ └── SuperadminModule.java │ │ │ │ │ │ │ └── web │ │ │ │ │ │ │ ├── UserWebResource.java │ │ │ │ │ │ │ ├── WebConfiguration.java │ │ │ │ │ │ │ └── WebModule.java │ │ │ │ │ ├── michael │ │ │ │ │ │ ├── BaseResource.java │ │ │ │ │ │ ├── MichaelComponent.java │ │ │ │ │ │ ├── account │ │ │ │ │ │ │ ├── BaseAccountResource.java │ │ │ │ │ │ │ ├── role │ │ │ │ │ │ │ │ ├── EditRolesForm.java │ │ │ │ │ │ │ │ ├── EditRolesView.java │ │ │ │ │ │ │ │ ├── ListRolesView.java │ │ │ │ │ │ │ │ └── RoleResource.java │ │ │ │ │ │ │ └── user │ │ │ │ │ │ │ │ ├── ListUsersView.java │ │ │ │ │ │ │ │ ├── UpsertUsersForm.java │ │ │ │ │ │ │ │ ├── UpsertUsersSuccessView.java │ │ │ │ │ │ │ │ ├── UpsertUsersView.java │ │ │ │ │ │ │ │ ├── UserResource.java │ │ │ │ │ │ │ │ └── ViewUserView.java │ │ │ │ │ │ ├── actor │ │ │ │ │ │ │ └── ActorChecker.java │ │ │ │ │ │ ├── index │ │ │ │ │ │ │ ├── IndexResource.java │ │ │ │ │ │ │ ├── LoginForm.java │ │ │ │ │ │ │ └── LoginView.java │ │ │ │ │ │ ├── lesson │ │ │ │ │ │ │ ├── BaseLessonResource.java │ │ │ │ │ │ │ ├── EditLessonForm.java │ │ │ │ │ │ │ ├── EditLessonView.java │ │ │ │ │ │ │ ├── LessonResource.java │ │ │ │ │ │ │ ├── ListLessonsView.java │ │ │ │ │ │ │ ├── NewLessonForm.java │ │ │ │ │ │ │ ├── NewLessonView.java │ │ │ │ │ │ │ ├── ViewLessonView.java │ │ │ │ │ │ │ ├── partner │ │ │ │ │ │ │ │ └── LessonPartnerResource.java │ │ │ │ │ │ │ ├── render │ │ │ │ │ │ │ │ └── LessonStatementRenderResources.java │ │ │ │ │ │ │ ├── statement │ │ │ │ │ │ │ │ ├── LessonStatementResource.java │ │ │ │ │ │ │ │ └── ViewStatementView.java │ │ │ │ │ │ │ └── version │ │ │ │ │ │ │ │ └── LessonVersionResource.java │ │ │ │ │ │ ├── problem │ │ │ │ │ │ │ ├── BaseProblemResource.java │ │ │ │ │ │ │ ├── EditProblemForm.java │ │ │ │ │ │ │ ├── EditProblemView.java │ │ │ │ │ │ │ ├── ListProblemsView.java │ │ │ │ │ │ │ ├── NewProblemForm.java │ │ │ │ │ │ │ ├── NewProblemView.java │ │ │ │ │ │ │ ├── ProblemResource.java │ │ │ │ │ │ │ ├── ViewProblemView.java │ │ │ │ │ │ │ ├── bundle │ │ │ │ │ │ │ │ ├── BaseBundleProblemResource.java │ │ │ │ │ │ │ │ ├── item │ │ │ │ │ │ │ │ │ ├── BundleProblemItemResource.java │ │ │ │ │ │ │ │ │ ├── EditItemView.java │ │ │ │ │ │ │ │ │ ├── ListItemsView.java │ │ │ │ │ │ │ │ │ └── config │ │ │ │ │ │ │ │ │ │ ├── EssayItemConfigAdapter.java │ │ │ │ │ │ │ │ │ │ ├── ItemConfigAdapter.java │ │ │ │ │ │ │ │ │ │ ├── ItemConfigAdapterRegistry.java │ │ │ │ │ │ │ │ │ │ ├── ItemConfigForm.java │ │ │ │ │ │ │ │ │ │ ├── MultipleChoiceItemConfigAdapter.java │ │ │ │ │ │ │ │ │ │ ├── ShortAnswerItemConfigAdapter.java │ │ │ │ │ │ │ │ │ │ └── StatementItemConfigAdapter.java │ │ │ │ │ │ │ │ ├── statement │ │ │ │ │ │ │ │ │ ├── BundleProblemStatementResource.java │ │ │ │ │ │ │ │ │ └── ViewStatementView.java │ │ │ │ │ │ │ │ └── submission │ │ │ │ │ │ │ │ │ ├── BundleProblemSubmissionResource.java │ │ │ │ │ │ │ │ │ ├── ListSubmissionsView.java │ │ │ │ │ │ │ │ │ └── ViewSubmissionView.java │ │ │ │ │ │ │ ├── editorial │ │ │ │ │ │ │ │ ├── NewEditorialForm.java │ │ │ │ │ │ │ │ ├── NewEditorialView.java │ │ │ │ │ │ │ │ ├── ProblemEditorialResource.java │ │ │ │ │ │ │ │ └── ViewEditorialView.java │ │ │ │ │ │ │ ├── partner │ │ │ │ │ │ │ │ └── ProblemPartnerResource.java │ │ │ │ │ │ │ ├── programming │ │ │ │ │ │ │ │ ├── BaseProgrammingProblemResource.java │ │ │ │ │ │ │ │ ├── grading │ │ │ │ │ │ │ │ │ ├── EditGradingEngineForm.java │ │ │ │ │ │ │ │ │ ├── EditGradingEngineView.java │ │ │ │ │ │ │ │ │ ├── EditGradingLanguageRestrictionForm.java │ │ │ │ │ │ │ │ │ ├── EditGradingLanguageRestrictionView.java │ │ │ │ │ │ │ │ │ ├── LanguageRestrictionAdapter.java │ │ │ │ │ │ │ │ │ ├── ProgrammingProblemGradingResource.java │ │ │ │ │ │ │ │ │ └── config │ │ │ │ │ │ │ │ │ │ ├── BaseGradingConfigAdapter.java │ │ │ │ │ │ │ │ │ │ ├── BatchGradingConfigAdapter.java │ │ │ │ │ │ │ │ │ │ ├── BatchWithSubtasksGradingConfigAdapter.java │ │ │ │ │ │ │ │ │ │ ├── EditGradingConfigView.java │ │ │ │ │ │ │ │ │ │ ├── FunctionalGradingConfigAdapter.java │ │ │ │ │ │ │ │ │ │ ├── FunctionalWithSubtasksGradingConfigAdapter.java │ │ │ │ │ │ │ │ │ │ ├── GradingConfigAdapter.java │ │ │ │ │ │ │ │ │ │ ├── GradingConfigAdapterRegistry.java │ │ │ │ │ │ │ │ │ │ ├── GradingConfigForm.java │ │ │ │ │ │ │ │ │ │ ├── InteractiveGradingConfigAdapter.java │ │ │ │ │ │ │ │ │ │ ├── InteractiveWithSubtasksGradingConfigAdapter.java │ │ │ │ │ │ │ │ │ │ ├── OutputOnlyGradingConfigAdapter.java │ │ │ │ │ │ │ │ │ │ ├── OutputOnlyWithSubtasksGradingConfigAdapter.java │ │ │ │ │ │ │ │ │ │ └── TCFrameFile.java │ │ │ │ │ │ │ │ ├── statement │ │ │ │ │ │ │ │ │ ├── ProgrammingProblemStatementResource.java │ │ │ │ │ │ │ │ │ └── ViewStatementView.java │ │ │ │ │ │ │ │ └── submission │ │ │ │ │ │ │ │ │ ├── ListSubmissionsView.java │ │ │ │ │ │ │ │ │ ├── ProgrammingProblemSubmissionResource.java │ │ │ │ │ │ │ │ │ └── ViewSubmissionView.java │ │ │ │ │ │ │ ├── render │ │ │ │ │ │ │ │ ├── ProblemEditorialRenderResources.java │ │ │ │ │ │ │ │ └── ProblemStatementRenderResources.java │ │ │ │ │ │ │ ├── statement │ │ │ │ │ │ │ │ └── ProblemStatementResource.java │ │ │ │ │ │ │ └── version │ │ │ │ │ │ │ │ └── ProblemVersionResource.java │ │ │ │ │ │ ├── resource │ │ │ │ │ │ │ ├── CommitVersionForm.java │ │ │ │ │ │ │ ├── EditPartnersForm.java │ │ │ │ │ │ │ ├── EditPartnersView.java │ │ │ │ │ │ │ ├── EditStatementForm.java │ │ │ │ │ │ │ ├── EditStatementView.java │ │ │ │ │ │ │ ├── ListFilesView.java │ │ │ │ │ │ │ ├── ListPartnersView.java │ │ │ │ │ │ │ ├── ListStatementLanguagesView.java │ │ │ │ │ │ │ ├── ListVersionHistoryView.java │ │ │ │ │ │ │ ├── PartnerUtils.java │ │ │ │ │ │ │ ├── RebaseVersionLocalChangesView.java │ │ │ │ │ │ │ └── ViewVersionLocalChangesView.java │ │ │ │ │ │ └── template │ │ │ │ │ │ │ ├── HtmlForm.java │ │ │ │ │ │ │ ├── HtmlTemplate.java │ │ │ │ │ │ │ ├── InternalLink.java │ │ │ │ │ │ │ ├── SearchLessonsWidget.java │ │ │ │ │ │ │ ├── SearchProblemsWidget.java │ │ │ │ │ │ │ └── TemplateView.java │ │ │ │ │ ├── persistence │ │ │ │ │ │ ├── ActorProvider.java │ │ │ │ │ │ ├── CriteriaPredicate.java │ │ │ │ │ │ ├── Dao.java │ │ │ │ │ │ ├── JidChildPrefixes.java │ │ │ │ │ │ ├── JidGenerator.java │ │ │ │ │ │ ├── JidPrefix.java │ │ │ │ │ │ ├── JudgelsDao.java │ │ │ │ │ │ ├── JudgelsModel.java │ │ │ │ │ │ ├── Model.java │ │ │ │ │ │ ├── QueryBuilder.java │ │ │ │ │ │ ├── UnmodifiableDao.java │ │ │ │ │ │ ├── UnmodifiableModel.java │ │ │ │ │ │ └── hibernate │ │ │ │ │ │ │ ├── HibernateDao.java │ │ │ │ │ │ │ ├── HibernateDaoData.java │ │ │ │ │ │ │ ├── HibernateQueryBuilder.java │ │ │ │ │ │ │ ├── JudgelsHibernateDao.java │ │ │ │ │ │ │ └── UnmodifiableHibernateDao.java │ │ │ │ │ ├── sandalphon │ │ │ │ │ │ ├── Git.java │ │ │ │ │ │ ├── GitCommit.java │ │ │ │ │ │ ├── LocalGit.java │ │ │ │ │ │ ├── SandalphonClient.java │ │ │ │ │ │ ├── SandalphonClientModule.java │ │ │ │ │ │ ├── SandalphonComponent.java │ │ │ │ │ │ ├── SandalphonConfiguration.java │ │ │ │ │ │ ├── SandalphonUtils.java │ │ │ │ │ │ ├── hibernate │ │ │ │ │ │ │ ├── AbstractBundleItemSubmissionHibernateDao.java │ │ │ │ │ │ │ ├── AbstractProgrammingGradingHibernateDao.java │ │ │ │ │ │ │ ├── AbstractProgrammingSubmissionHibernateDao.java │ │ │ │ │ │ │ ├── BundleGradingHibernateDao.java │ │ │ │ │ │ │ ├── BundleSubmissionHibernateDao.java │ │ │ │ │ │ │ ├── LessonHibernateDao.java │ │ │ │ │ │ │ ├── LessonPartnerHibernateDao.java │ │ │ │ │ │ │ ├── ProblemHibernateDao.java │ │ │ │ │ │ │ ├── ProblemPartnerHibernateDao.java │ │ │ │ │ │ │ ├── ProblemSetterHibernateDao.java │ │ │ │ │ │ │ ├── ProblemTagHibernateDao.java │ │ │ │ │ │ │ ├── ProgrammingGradingHibernateDao.java │ │ │ │ │ │ │ ├── ProgrammingSubmissionHibernateDao.java │ │ │ │ │ │ │ └── SandalphonHibernateDaoModule.java │ │ │ │ │ │ ├── lesson │ │ │ │ │ │ │ ├── BaseLessonStore.java │ │ │ │ │ │ │ ├── LessonFs.java │ │ │ │ │ │ │ ├── LessonGit.java │ │ │ │ │ │ │ ├── LessonResource.java │ │ │ │ │ │ │ ├── LessonRoleChecker.java │ │ │ │ │ │ │ ├── LessonStore.java │ │ │ │ │ │ │ ├── partner │ │ │ │ │ │ │ │ └── LessonPartnerStore.java │ │ │ │ │ │ │ ├── statement │ │ │ │ │ │ │ │ ├── LessonStatementStore.java │ │ │ │ │ │ │ │ └── LessonStatementUtils.java │ │ │ │ │ │ │ └── version │ │ │ │ │ │ │ │ └── LessonVersionStore.java │ │ │ │ │ │ ├── persistence │ │ │ │ │ │ │ ├── AbstractBundleItemSubmissionModel.java │ │ │ │ │ │ │ ├── AbstractProgrammingGradingModel.java │ │ │ │ │ │ │ ├── AbstractProgrammingSubmissionModel.java │ │ │ │ │ │ │ ├── BaseBundleItemSubmissionDao.java │ │ │ │ │ │ │ ├── BaseProgrammingGradingDao.java │ │ │ │ │ │ │ ├── BaseProgrammingSubmissionDao.java │ │ │ │ │ │ │ ├── BundleGradingDao.java │ │ │ │ │ │ │ ├── BundleGradingModel.java │ │ │ │ │ │ │ ├── BundleSubmissionDao.java │ │ │ │ │ │ │ ├── BundleSubmissionModel.java │ │ │ │ │ │ │ ├── LessonDao.java │ │ │ │ │ │ │ ├── LessonModel.java │ │ │ │ │ │ │ ├── LessonPartnerDao.java │ │ │ │ │ │ │ ├── LessonPartnerModel.java │ │ │ │ │ │ │ ├── ProblemDao.java │ │ │ │ │ │ │ ├── ProblemModel.java │ │ │ │ │ │ │ ├── ProblemPartnerDao.java │ │ │ │ │ │ │ ├── ProblemPartnerModel.java │ │ │ │ │ │ │ ├── ProblemSetterDao.java │ │ │ │ │ │ │ ├── ProblemSetterModel.java │ │ │ │ │ │ │ ├── ProblemTagDao.java │ │ │ │ │ │ │ ├── ProblemTagModel.java │ │ │ │ │ │ │ ├── ProgrammingGradingDao.java │ │ │ │ │ │ │ ├── ProgrammingGradingModel.java │ │ │ │ │ │ │ ├── ProgrammingSubmissionDao.java │ │ │ │ │ │ │ └── ProgrammingSubmissionModel.java │ │ │ │ │ │ ├── problem │ │ │ │ │ │ │ ├── base │ │ │ │ │ │ │ │ ├── BaseProblemStore.java │ │ │ │ │ │ │ │ ├── ProblemFs.java │ │ │ │ │ │ │ │ ├── ProblemGit.java │ │ │ │ │ │ │ │ ├── ProblemResource.java │ │ │ │ │ │ │ │ ├── ProblemRoleChecker.java │ │ │ │ │ │ │ │ ├── ProblemStore.java │ │ │ │ │ │ │ │ ├── editorial │ │ │ │ │ │ │ │ │ └── ProblemEditorialStore.java │ │ │ │ │ │ │ │ ├── partner │ │ │ │ │ │ │ │ │ └── ProblemPartnerStore.java │ │ │ │ │ │ │ │ ├── statement │ │ │ │ │ │ │ │ │ ├── ProblemStatementStore.java │ │ │ │ │ │ │ │ │ └── ProblemStatementUtils.java │ │ │ │ │ │ │ │ ├── submission │ │ │ │ │ │ │ │ │ └── SubmissionFs.java │ │ │ │ │ │ │ │ ├── tag │ │ │ │ │ │ │ │ │ ├── ProblemTagStore.java │ │ │ │ │ │ │ │ │ └── ProblemTags.java │ │ │ │ │ │ │ │ └── version │ │ │ │ │ │ │ │ │ └── ProblemVersionStore.java │ │ │ │ │ │ │ ├── bundle │ │ │ │ │ │ │ │ ├── BaseBundleProblemStore.java │ │ │ │ │ │ │ │ ├── BundleProblemStore.java │ │ │ │ │ │ │ │ ├── EssayItemProcessor.java │ │ │ │ │ │ │ │ ├── ItemProcessor.java │ │ │ │ │ │ │ │ ├── ItemProcessorRegistry.java │ │ │ │ │ │ │ │ ├── MultipleChoiceItemProcessor.java │ │ │ │ │ │ │ │ ├── ShortAnswerItemProcessor.java │ │ │ │ │ │ │ │ ├── StatementItemProcessor.java │ │ │ │ │ │ │ │ ├── grading │ │ │ │ │ │ │ │ │ └── BundleProblemGrader.java │ │ │ │ │ │ │ │ ├── item │ │ │ │ │ │ │ │ │ ├── BundleItemStore.java │ │ │ │ │ │ │ │ │ ├── EssayItemEngine.java │ │ │ │ │ │ │ │ │ ├── ItemEngine.java │ │ │ │ │ │ │ │ │ ├── ItemEngineRegistry.java │ │ │ │ │ │ │ │ │ ├── MultipleChoiceItemEngine.java │ │ │ │ │ │ │ │ │ ├── ShortAnswerItemEngine.java │ │ │ │ │ │ │ │ │ └── StatementItemEngine.java │ │ │ │ │ │ │ │ ├── statement │ │ │ │ │ │ │ │ │ └── BundleProblemStatementUtils.java │ │ │ │ │ │ │ │ └── submission │ │ │ │ │ │ │ │ │ ├── BundleSubmissionClient.java │ │ │ │ │ │ │ │ │ └── BundleSubmissionStore.java │ │ │ │ │ │ │ └── programming │ │ │ │ │ │ │ │ ├── ProgrammingProblemStore.java │ │ │ │ │ │ │ │ └── statement │ │ │ │ │ │ │ │ └── ProgrammingProblemStatementUtils.java │ │ │ │ │ │ ├── resource │ │ │ │ │ │ │ ├── LanguageUtils.java │ │ │ │ │ │ │ ├── Partner.java │ │ │ │ │ │ │ ├── PartnerPermission.java │ │ │ │ │ │ │ ├── StatementLanguageStatus.java │ │ │ │ │ │ │ └── WorldLanguageRegistry.java │ │ │ │ │ │ ├── role │ │ │ │ │ │ │ └── RoleChecker.java │ │ │ │ │ │ └── submission │ │ │ │ │ │ │ ├── SubmissionModule.java │ │ │ │ │ │ │ ├── bundle │ │ │ │ │ │ │ ├── BaseItemSubmissionStore.java │ │ │ │ │ │ │ ├── FixedVerdictItemSubmissionGrader.java │ │ │ │ │ │ │ ├── ItemSubmissionConsumer.java │ │ │ │ │ │ │ ├── ItemSubmissionGrader.java │ │ │ │ │ │ │ ├── ItemSubmissionGraderRegistry.java │ │ │ │ │ │ │ ├── ItemSubmissionRegradeProcessor.java │ │ │ │ │ │ │ ├── ItemSubmissionRegrader.java │ │ │ │ │ │ │ ├── ItemSubmissionStore.java │ │ │ │ │ │ │ ├── MultipleChoiceItemSubmissionGrader.java │ │ │ │ │ │ │ ├── NoOpItemSubmissionConsumer.java │ │ │ │ │ │ │ └── ShortAnswerItemSubmissionGrader.java │ │ │ │ │ │ │ └── programming │ │ │ │ │ │ │ ├── BaseSubmissionStore.java │ │ │ │ │ │ │ ├── GradingResponsePoller.java │ │ │ │ │ │ │ ├── GradingResponseProcessor.java │ │ │ │ │ │ │ ├── NoOpSubmissionConsumer.java │ │ │ │ │ │ │ ├── SubmissionClient.java │ │ │ │ │ │ │ ├── SubmissionConsumer.java │ │ │ │ │ │ │ ├── SubmissionDownloader.java │ │ │ │ │ │ │ ├── SubmissionRegradeProcessor.java │ │ │ │ │ │ │ ├── SubmissionRegrader.java │ │ │ │ │ │ │ ├── SubmissionSourceBuilder.java │ │ │ │ │ │ │ ├── SubmissionStore.java │ │ │ │ │ │ │ └── SubmissionUtils.java │ │ │ │ │ ├── service │ │ │ │ │ │ ├── RandomCodeGenerator.java │ │ │ │ │ │ ├── ServiceUtils.java │ │ │ │ │ │ ├── actor │ │ │ │ │ │ │ ├── ActorChecker.java │ │ │ │ │ │ │ ├── Actors.java │ │ │ │ │ │ │ ├── IpAddressFilter.java │ │ │ │ │ │ │ ├── JudgelsActorProvider.java │ │ │ │ │ │ │ └── PerRequestActorProvider.java │ │ │ │ │ │ ├── gabriel │ │ │ │ │ │ │ └── GabrielClientModule.java │ │ │ │ │ │ ├── hibernate │ │ │ │ │ │ │ └── JudgelsHibernateModule.java │ │ │ │ │ │ ├── jersey │ │ │ │ │ │ │ ├── EmptyOptionalExceptionMapper.java │ │ │ │ │ │ │ ├── IllegalArgumentExceptionMapper.java │ │ │ │ │ │ │ ├── JudgelsJerseyFeature.java │ │ │ │ │ │ │ └── JudgelsServiceExceptionMapper.java │ │ │ │ │ │ └── persistence │ │ │ │ │ │ │ └── JudgelsPersistenceModule.java │ │ │ │ │ └── uriel │ │ │ │ │ │ ├── UrielClient.java │ │ │ │ │ │ ├── UrielComponent.java │ │ │ │ │ │ ├── UrielConfiguration.java │ │ │ │ │ │ ├── contest │ │ │ │ │ │ ├── ContestResource.java │ │ │ │ │ │ ├── ContestRoleChecker.java │ │ │ │ │ │ ├── ContestStore.java │ │ │ │ │ │ ├── ContestTimer.java │ │ │ │ │ │ ├── announcement │ │ │ │ │ │ │ ├── ContestAnnouncementResource.java │ │ │ │ │ │ │ ├── ContestAnnouncementRoleChecker.java │ │ │ │ │ │ │ └── ContestAnnouncementStore.java │ │ │ │ │ │ ├── clarification │ │ │ │ │ │ │ ├── ContestClarificationResource.java │ │ │ │ │ │ │ ├── ContestClarificationRoleChecker.java │ │ │ │ │ │ │ └── ContestClarificationStore.java │ │ │ │ │ │ ├── contestant │ │ │ │ │ │ │ ├── ContestContestantResource.java │ │ │ │ │ │ │ ├── ContestContestantRoleChecker.java │ │ │ │ │ │ │ └── ContestContestantStore.java │ │ │ │ │ │ ├── editorial │ │ │ │ │ │ │ ├── ContestEditorialResource.java │ │ │ │ │ │ │ └── ContestEditorialRoleChecker.java │ │ │ │ │ │ ├── file │ │ │ │ │ │ │ ├── ContestFileResource.java │ │ │ │ │ │ │ └── ContestFileRoleChecker.java │ │ │ │ │ │ ├── history │ │ │ │ │ │ │ └── ContestHistoryResource.java │ │ │ │ │ │ ├── log │ │ │ │ │ │ │ ├── ContestLogCreator.java │ │ │ │ │ │ │ ├── ContestLogModule.java │ │ │ │ │ │ │ ├── ContestLogPoller.java │ │ │ │ │ │ │ ├── ContestLogResource.java │ │ │ │ │ │ │ ├── ContestLogStore.java │ │ │ │ │ │ │ └── ContestLogger.java │ │ │ │ │ │ ├── manager │ │ │ │ │ │ │ ├── ContestManagerResource.java │ │ │ │ │ │ │ ├── ContestManagerRoleChecker.java │ │ │ │ │ │ │ └── ContestManagerStore.java │ │ │ │ │ │ ├── module │ │ │ │ │ │ │ ├── ContestModuleResource.java │ │ │ │ │ │ │ └── ContestModuleStore.java │ │ │ │ │ │ ├── problem │ │ │ │ │ │ │ ├── ContestProblemResource.java │ │ │ │ │ │ │ ├── ContestProblemRoleChecker.java │ │ │ │ │ │ │ └── ContestProblemStore.java │ │ │ │ │ │ ├── scoreboard │ │ │ │ │ │ │ ├── ContestScoreboardBuilder.java │ │ │ │ │ │ │ ├── ContestScoreboardData.java │ │ │ │ │ │ │ ├── ContestScoreboardFetcher.java │ │ │ │ │ │ │ ├── ContestScoreboardPoller.java │ │ │ │ │ │ │ ├── ContestScoreboardPusher.java │ │ │ │ │ │ │ ├── ContestScoreboardResource.java │ │ │ │ │ │ │ ├── ContestScoreboardRoleChecker.java │ │ │ │ │ │ │ ├── ContestScoreboardStore.java │ │ │ │ │ │ │ ├── ContestScoreboardTypeFetcher.java │ │ │ │ │ │ │ ├── ContestScoreboardUpdater.java │ │ │ │ │ │ │ ├── ContestScoreboardUpdaterModule.java │ │ │ │ │ │ │ ├── RawContestScoreboard.java │ │ │ │ │ │ │ ├── ScoreboardEntryComparator.java │ │ │ │ │ │ │ ├── ScoreboardIncrementalContent.java │ │ │ │ │ │ │ ├── ScoreboardIncrementalMark.java │ │ │ │ │ │ │ ├── ScoreboardIncrementalMarkKey.java │ │ │ │ │ │ │ ├── ScoreboardIncrementalMarker.java │ │ │ │ │ │ │ ├── ScoreboardProcessResult.java │ │ │ │ │ │ │ ├── ScoreboardProcessor.java │ │ │ │ │ │ │ ├── ScoreboardProcessorRegistry.java │ │ │ │ │ │ │ ├── bundle │ │ │ │ │ │ │ │ ├── BundleScoreboardIncrementalContent.java │ │ │ │ │ │ │ │ ├── BundleScoreboardProcessor.java │ │ │ │ │ │ │ │ └── UsingTotalScoresBundleScoreboardEntryComparator.java │ │ │ │ │ │ │ ├── gcj │ │ │ │ │ │ │ │ ├── GcjScoreboardIncrementalContent.java │ │ │ │ │ │ │ │ ├── GcjScoreboardProcessor.java │ │ │ │ │ │ │ │ └── StandardGcjScoreboardEntryComparator.java │ │ │ │ │ │ │ ├── icpc │ │ │ │ │ │ │ │ ├── IcpcScoreboardIncrementalContent.java │ │ │ │ │ │ │ │ ├── IcpcScoreboardProcessor.java │ │ │ │ │ │ │ │ └── StandardIcpcScoreboardEntryComparator.java │ │ │ │ │ │ │ ├── ioi │ │ │ │ │ │ │ │ ├── IoiScoreboardEntryComparator.java │ │ │ │ │ │ │ │ ├── IoiScoreboardIncrementalContent.java │ │ │ │ │ │ │ │ ├── IoiScoreboardProcessor.java │ │ │ │ │ │ │ │ ├── StandardIoiScoreboardEntryComparator.java │ │ │ │ │ │ │ │ └── UsingLastAffectingPenaltyIoiScoreboardEntryComparator.java │ │ │ │ │ │ │ └── troc │ │ │ │ │ │ │ │ ├── StandardTrocScoreboardEntryComparator.java │ │ │ │ │ │ │ │ ├── TrocScoreboardIncrementalContent.java │ │ │ │ │ │ │ │ └── TrocScoreboardProcessor.java │ │ │ │ │ │ ├── submission │ │ │ │ │ │ │ ├── ContestSubmissionRoleChecker.java │ │ │ │ │ │ │ ├── bundle │ │ │ │ │ │ │ │ └── ContestItemSubmissionResource.java │ │ │ │ │ │ │ └── programming │ │ │ │ │ │ │ │ └── ContestSubmissionResource.java │ │ │ │ │ │ ├── supervisor │ │ │ │ │ │ │ ├── ContestSupervisorResource.java │ │ │ │ │ │ │ ├── ContestSupervisorStore.java │ │ │ │ │ │ │ └── SupervisorManagementPermissions.java │ │ │ │ │ │ └── web │ │ │ │ │ │ │ ├── ContestWebConfigFetcher.java │ │ │ │ │ │ │ └── ContestWebResource.java │ │ │ │ │ │ ├── file │ │ │ │ │ │ ├── FileFs.java │ │ │ │ │ │ └── FileModule.java │ │ │ │ │ │ ├── hibernate │ │ │ │ │ │ ├── ContestAnnouncementHibernateDao.java │ │ │ │ │ │ ├── ContestBundleItemSubmissionHibernateDao.java │ │ │ │ │ │ ├── ContestClarificationHibernateDao.java │ │ │ │ │ │ ├── ContestContestantHibernateDao.java │ │ │ │ │ │ ├── ContestHibernateDao.java │ │ │ │ │ │ ├── ContestLogHibernateDao.java │ │ │ │ │ │ ├── ContestManagerHibernateDao.java │ │ │ │ │ │ ├── ContestModuleHibernateDao.java │ │ │ │ │ │ ├── ContestProblemHibernateDao.java │ │ │ │ │ │ ├── ContestProgrammingGradingHibernateDao.java │ │ │ │ │ │ ├── ContestProgrammingSubmissionHibernateDao.java │ │ │ │ │ │ ├── ContestRoleHibernateDao.java │ │ │ │ │ │ ├── ContestScoreboardHibernateDao.java │ │ │ │ │ │ ├── ContestStyleHibernateDao.java │ │ │ │ │ │ ├── ContestSupervisorHibernateDao.java │ │ │ │ │ │ └── UrielHibernateDaoModule.java │ │ │ │ │ │ ├── persistence │ │ │ │ │ │ ├── ContestAnnouncementDao.java │ │ │ │ │ │ ├── ContestAnnouncementModel.java │ │ │ │ │ │ ├── ContestBundleItemSubmissionDao.java │ │ │ │ │ │ ├── ContestBundleItemSubmissionModel.java │ │ │ │ │ │ ├── ContestClarificationDao.java │ │ │ │ │ │ ├── ContestClarificationModel.java │ │ │ │ │ │ ├── ContestContestantDao.java │ │ │ │ │ │ ├── ContestContestantModel.java │ │ │ │ │ │ ├── ContestDao.java │ │ │ │ │ │ ├── ContestLogDao.java │ │ │ │ │ │ ├── ContestLogModel.java │ │ │ │ │ │ ├── ContestManagerDao.java │ │ │ │ │ │ ├── ContestManagerModel.java │ │ │ │ │ │ ├── ContestModel.java │ │ │ │ │ │ ├── ContestModuleDao.java │ │ │ │ │ │ ├── ContestModuleModel.java │ │ │ │ │ │ ├── ContestProblemDao.java │ │ │ │ │ │ ├── ContestProblemModel.java │ │ │ │ │ │ ├── ContestProgrammingGradingDao.java │ │ │ │ │ │ ├── ContestProgrammingGradingModel.java │ │ │ │ │ │ ├── ContestProgrammingSubmissionDao.java │ │ │ │ │ │ ├── ContestProgrammingSubmissionModel.java │ │ │ │ │ │ ├── ContestRoleDao.java │ │ │ │ │ │ ├── ContestScoreboardDao.java │ │ │ │ │ │ ├── ContestScoreboardModel.java │ │ │ │ │ │ ├── ContestStyleDao.java │ │ │ │ │ │ ├── ContestStyleModel.java │ │ │ │ │ │ ├── ContestSupervisorDao.java │ │ │ │ │ │ └── ContestSupervisorModel.java │ │ │ │ │ │ ├── role │ │ │ │ │ │ └── RoleChecker.java │ │ │ │ │ │ ├── submission │ │ │ │ │ │ ├── UrielSubmissionStore.java │ │ │ │ │ │ ├── bundle │ │ │ │ │ │ │ └── ItemSubmissionModule.java │ │ │ │ │ │ └── programming │ │ │ │ │ │ │ ├── SubmissionFs.java │ │ │ │ │ │ │ └── SubmissionModule.java │ │ │ │ │ │ └── tasks │ │ │ │ │ │ ├── DumpContestTask.java │ │ │ │ │ │ └── UrielTaskModule.java │ │ │ │ └── tlx │ │ │ │ │ ├── jerahmeel │ │ │ │ │ └── tasks │ │ │ │ │ │ ├── DeleteProblemTask.java │ │ │ │ │ │ ├── MoveProblemToChapterTask.java │ │ │ │ │ │ ├── MoveProblemToProblemSetTask.java │ │ │ │ │ │ └── TlxJerahmeelTaskModule.java │ │ │ │ │ └── uriel │ │ │ │ │ ├── contest │ │ │ │ │ └── rating │ │ │ │ │ │ └── TlxContestRatingProvider.java │ │ │ │ │ └── tasks │ │ │ │ │ ├── ReplaceProblemTask.java │ │ │ │ │ └── TlxUrielTaskModule.java │ │ │ └── resources │ │ │ │ ├── assets │ │ │ │ ├── avatar-default.png │ │ │ │ ├── css │ │ │ │ │ ├── main-6.css │ │ │ │ │ └── reset.css │ │ │ │ └── images │ │ │ │ │ ├── favicon.ico │ │ │ │ │ └── logo.png │ │ │ │ ├── judgels │ │ │ │ ├── michael │ │ │ │ │ ├── account │ │ │ │ │ │ ├── role │ │ │ │ │ │ │ ├── editRolesView.ftl │ │ │ │ │ │ │ └── listRolesView.ftl │ │ │ │ │ │ └── user │ │ │ │ │ │ │ ├── listUsersView.ftl │ │ │ │ │ │ │ ├── upsertUsersSuccessView.ftl │ │ │ │ │ │ │ ├── upsertUsersView.ftl │ │ │ │ │ │ │ └── viewUserView.ftl │ │ │ │ │ ├── forms.ftl │ │ │ │ │ ├── index │ │ │ │ │ │ └── loginView.ftl │ │ │ │ │ ├── lesson │ │ │ │ │ │ ├── editLessonView.ftl │ │ │ │ │ │ ├── listLessonsView.ftl │ │ │ │ │ │ ├── newLessonView.ftl │ │ │ │ │ │ ├── statement │ │ │ │ │ │ │ └── viewStatementView.ftl │ │ │ │ │ │ └── viewLessonView.ftl │ │ │ │ │ ├── problem │ │ │ │ │ │ ├── bundle │ │ │ │ │ │ │ ├── item │ │ │ │ │ │ │ │ ├── Essay.ftl │ │ │ │ │ │ │ │ ├── MultipleChoice.ftl │ │ │ │ │ │ │ │ ├── MultipleChoice.js │ │ │ │ │ │ │ │ ├── MultipleChoiceRadioButton.js │ │ │ │ │ │ │ │ ├── ShortAnswer.ftl │ │ │ │ │ │ │ │ ├── Statement.ftl │ │ │ │ │ │ │ │ ├── editItemView.ftl │ │ │ │ │ │ │ │ ├── listItemsView.ftl │ │ │ │ │ │ │ │ └── viewItemView.ftl │ │ │ │ │ │ │ ├── statement │ │ │ │ │ │ │ │ └── viewStatementView.ftl │ │ │ │ │ │ │ └── submission │ │ │ │ │ │ │ │ ├── listSubmissionsView.ftl │ │ │ │ │ │ │ │ └── viewSubmissionView.ftl │ │ │ │ │ │ ├── editProblemView.ftl │ │ │ │ │ │ ├── editorial │ │ │ │ │ │ │ ├── newEditorialView.ftl │ │ │ │ │ │ │ └── viewEditorialView.ftl │ │ │ │ │ │ ├── listProblemsView.ftl │ │ │ │ │ │ ├── newProblemView.ftl │ │ │ │ │ │ ├── problemSlugGuide.html │ │ │ │ │ │ ├── problemTaggingGuide.html │ │ │ │ │ │ ├── programming │ │ │ │ │ │ │ ├── grading │ │ │ │ │ │ │ │ ├── config │ │ │ │ │ │ │ │ │ ├── BatchGradingConfigView.ftl │ │ │ │ │ │ │ │ │ ├── BatchWithSubtasksGradingConfigView.ftl │ │ │ │ │ │ │ │ │ ├── FunctionalGradingConfigView.ftl │ │ │ │ │ │ │ │ │ ├── FunctionalWithSubtasksGradingConfigView.ftl │ │ │ │ │ │ │ │ │ ├── InteractiveGradingConfigView.ftl │ │ │ │ │ │ │ │ │ ├── InteractiveWithSubtasksGradingConfigView.ftl │ │ │ │ │ │ │ │ │ ├── OutputOnlyGradingConfigView.ftl │ │ │ │ │ │ │ │ │ ├── OutputOnlyWithSubtasksGradingConfigView.ftl │ │ │ │ │ │ │ │ │ ├── config.js │ │ │ │ │ │ │ │ │ └── parts.ftl │ │ │ │ │ │ │ │ ├── editGradingEngineView.ftl │ │ │ │ │ │ │ │ ├── editGradingLanguageRestrictionView.ftl │ │ │ │ │ │ │ │ └── languageRestriction.js │ │ │ │ │ │ │ ├── statement │ │ │ │ │ │ │ │ └── viewStatementView.ftl │ │ │ │ │ │ │ └── submission │ │ │ │ │ │ │ │ ├── listSubmissionsView.ftl │ │ │ │ │ │ │ │ └── viewSubmissionView.ftl │ │ │ │ │ │ └── viewProblemView.ftl │ │ │ │ │ ├── resource │ │ │ │ │ │ ├── ckeditor-3.js │ │ │ │ │ │ ├── ckeditor.ftl │ │ │ │ │ │ ├── editPartnersView.ftl │ │ │ │ │ │ ├── editStatementView.ftl │ │ │ │ │ │ ├── katex.ftl │ │ │ │ │ │ ├── katex.js │ │ │ │ │ │ ├── listFilesView.ftl │ │ │ │ │ │ ├── listPartnersView.ftl │ │ │ │ │ │ ├── listStatementLanguagesView.ftl │ │ │ │ │ │ ├── listVersionHistoryView.ftl │ │ │ │ │ │ ├── rebaseVersionLocalChangesView.ftl │ │ │ │ │ │ ├── spoiler.js │ │ │ │ │ │ ├── statement.ftl │ │ │ │ │ │ ├── statementManualBody.html │ │ │ │ │ │ ├── statementManualButtons.html │ │ │ │ │ │ ├── switchLanguageView.ftl │ │ │ │ │ │ └── viewVersionLocalChangesView.ftl │ │ │ │ │ ├── template │ │ │ │ │ │ ├── base │ │ │ │ │ │ │ ├── baseLayout.ftl │ │ │ │ │ │ │ ├── columnLayout.ftl │ │ │ │ │ │ │ ├── footerView.ftl │ │ │ │ │ │ │ ├── formErrorView.ftl │ │ │ │ │ │ │ ├── headerView.ftl │ │ │ │ │ │ │ ├── problemTags.js │ │ │ │ │ │ │ ├── searchLessonsWidget.ftl │ │ │ │ │ │ │ ├── searchProblemsWidget.ftl │ │ │ │ │ │ │ └── sidebarView.ftl │ │ │ │ │ │ ├── content │ │ │ │ │ │ │ ├── contentLayout.ftl │ │ │ │ │ │ │ ├── mainTabsView.ftl │ │ │ │ │ │ │ ├── mainWarningView.ftl │ │ │ │ │ │ │ ├── secondaryTabsView.ftl │ │ │ │ │ │ │ └── titleView.ftl │ │ │ │ │ │ └── templateLayout.ftl │ │ │ │ │ ├── ui.ftl │ │ │ │ │ └── ui │ │ │ │ │ │ ├── buttons.ftl │ │ │ │ │ │ ├── pagination.ftl │ │ │ │ │ │ └── tables.ftl │ │ │ │ └── sandalphon │ │ │ │ │ └── problem │ │ │ │ │ └── programming │ │ │ │ │ └── statement │ │ │ │ │ ├── en-US.html │ │ │ │ │ └── id-ID.html │ │ │ │ ├── migrations.xml │ │ │ │ └── migrations │ │ │ │ └── 000_init.xml │ │ └── test │ │ │ └── java │ │ │ ├── judgels │ │ │ ├── JudgelsServerApplicationConfigurationTests.java │ │ │ ├── fs │ │ │ │ └── InMemoryFileSystem.java │ │ │ ├── michael │ │ │ │ └── problem │ │ │ │ │ └── programming │ │ │ │ │ └── grading │ │ │ │ │ └── config │ │ │ │ │ ├── BaseGradingConfigAdapterTests.java │ │ │ │ │ ├── BatchGradingConfigAdapterTests.java │ │ │ │ │ ├── BatchWithSubtasksGradingConfigAdapterTests.java │ │ │ │ │ ├── FunctionalGradingConfigAdapterTests.java │ │ │ │ │ ├── FunctionalWithSubtasksGradingConfigAdapterTests.java │ │ │ │ │ ├── InteractiveGradingConfigAdapterTests.java │ │ │ │ │ ├── InteractiveWithSubtasksGradingConfigAdapterTests.java │ │ │ │ │ ├── OutputOnlyGradingConfigAdapterTests.java │ │ │ │ │ └── OutputOnlyWithSubtasksGradingConfigAdapterTests.java │ │ │ ├── persistence │ │ │ │ ├── JidGeneratorTests.java │ │ │ │ └── TestClock.java │ │ │ ├── sandalphon │ │ │ │ └── submission │ │ │ │ │ ├── SubmissionSourceBuilderTests.java │ │ │ │ │ ├── SubmissionUtilsTests.java │ │ │ │ │ └── bundle │ │ │ │ │ ├── FixedVerdictItemSubmissionGraderTests.java │ │ │ │ │ ├── MultipleChoiceItemSubmissionGraderTests.java │ │ │ │ │ └── ShortAnswerItemSubmissionGraderTests.java │ │ │ ├── service │ │ │ │ ├── RandomCodeGeneratorTests.java │ │ │ │ └── actor │ │ │ │ │ ├── ActorCheckerTests.java │ │ │ │ │ └── PerRequestActorProviderTests.java │ │ │ └── uriel │ │ │ │ └── contest │ │ │ │ ├── ContestTimerTests.java │ │ │ │ ├── scoreboard │ │ │ │ ├── AbstractProgrammingScoreboardProcessorTests.java │ │ │ │ ├── ContestScoreboardBuilderTests.java │ │ │ │ ├── ContestScoreboardFetcherTests.java │ │ │ │ ├── ContestScoreboardTypeFetcherTests.java │ │ │ │ ├── ScoreboardIncrementalMarkerTests.java │ │ │ │ ├── bundle │ │ │ │ │ └── BundleScoreboardProcessorTests.java │ │ │ │ ├── gcj │ │ │ │ │ └── GcjScoreboardProcessorTests.java │ │ │ │ ├── icpc │ │ │ │ │ └── IcpcScoreboardProcessorTests.java │ │ │ │ ├── ioi │ │ │ │ │ └── IoiScoreboardProcessorTests.java │ │ │ │ └── troc │ │ │ │ │ └── TrocScoreboardProcessorTests.java │ │ │ │ └── web │ │ │ │ └── ContestWebConfigFetcherTests.java │ │ │ └── tlx │ │ │ └── uriel │ │ │ └── contest │ │ │ └── rating │ │ │ └── TlxContestRatingProviderTests.java │ └── var │ │ └── conf │ │ └── judgels-server.yml.example ├── judgels-server-feign │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── judgels │ │ ├── contrib │ │ ├── jophiel │ │ │ ├── UserAccountWithRegistrationClient.java │ │ │ └── UserRatingClient.java │ │ └── uriel │ │ │ └── ContestRatingClient.java │ │ ├── jerahmeel │ │ ├── ArchiveClient.java │ │ ├── ChapterClient.java │ │ ├── ChapterLessonClient.java │ │ ├── ChapterProblemClient.java │ │ ├── CourseChapterClient.java │ │ ├── CourseClient.java │ │ ├── ProblemSetClient.java │ │ └── ProblemSetProblemClient.java │ │ ├── jophiel │ │ ├── ProfileClient.java │ │ ├── SessionClient.java │ │ ├── UserAccountClient.java │ │ ├── UserClient.java │ │ ├── UserInfoClient.java │ │ ├── UserRoleClient.java │ │ └── UserSearchClient.java │ │ ├── service │ │ └── feign │ │ │ ├── BearerTokenRequestInterceptor.java │ │ │ ├── FeignClients.java │ │ │ ├── JudgelsDecoder.java │ │ │ ├── JudgelsEncoder.java │ │ │ ├── JudgelsQueryMapEncoder.java │ │ │ └── JudgelsServiceErrorDecoder.java │ │ └── uriel │ │ ├── ContestAnnouncementClient.java │ │ ├── ContestClarificationClient.java │ │ ├── ContestClient.java │ │ ├── ContestContestantClient.java │ │ ├── ContestEditorialClient.java │ │ ├── ContestFileClient.java │ │ ├── ContestItemSubmissionClient.java │ │ ├── ContestLogClient.java │ │ ├── ContestManagerClient.java │ │ ├── ContestModuleClient.java │ │ ├── ContestProblemClient.java │ │ ├── ContestScoreboardClient.java │ │ ├── ContestSubmissionClient.java │ │ ├── ContestSupervisorClient.java │ │ └── ContestWebClient.java └── settings.gradle ├── judgels-client ├── .editorconfig ├── .env ├── .gitignore ├── .prettierrc.json ├── babel.config.js ├── dist │ ├── Dockerfile │ └── judgels-client.conf ├── index.html ├── package.json ├── public │ ├── favicon.ico │ ├── flags │ │ ├── README.txt │ │ └── flags-iso │ │ │ └── shiny │ │ │ └── 24 │ │ │ ├── AD.png │ │ │ ├── AE.png │ │ │ ├── AF.png │ │ │ ├── AG.png │ │ │ ├── AI.png │ │ │ ├── AL.png │ │ │ ├── AM.png │ │ │ ├── AN.png │ │ │ ├── AO.png │ │ │ ├── AQ.png │ │ │ ├── AR.png │ │ │ ├── AS.png │ │ │ ├── AT.png │ │ │ ├── AU.png │ │ │ ├── AW.png │ │ │ ├── AX.png │ │ │ ├── AZ.png │ │ │ ├── BA.png │ │ │ ├── BB.png │ │ │ ├── BD.png │ │ │ ├── BE.png │ │ │ ├── BF.png │ │ │ ├── BG.png │ │ │ ├── BH.png │ │ │ ├── BI.png │ │ │ ├── BJ.png │ │ │ ├── BL.png │ │ │ ├── BM.png │ │ │ ├── BN.png │ │ │ ├── BO.png │ │ │ ├── BR.png │ │ │ ├── BS.png │ │ │ ├── BT.png │ │ │ ├── BW.png │ │ │ ├── BY.png │ │ │ ├── BZ.png │ │ │ ├── CA.png │ │ │ ├── CC.png │ │ │ ├── CD.png │ │ │ ├── CF.png │ │ │ ├── CG.png │ │ │ ├── CH.png │ │ │ ├── CI.png │ │ │ ├── CK.png │ │ │ ├── CL.png │ │ │ ├── CM.png │ │ │ ├── CN.png │ │ │ ├── CO.png │ │ │ ├── CR.png │ │ │ ├── CU.png │ │ │ ├── CV.png │ │ │ ├── CW.png │ │ │ ├── CX.png │ │ │ ├── CY.png │ │ │ ├── CZ.png │ │ │ ├── DE.png │ │ │ ├── DJ.png │ │ │ ├── DK.png │ │ │ ├── DM.png │ │ │ ├── DO.png │ │ │ ├── DZ.png │ │ │ ├── EC.png │ │ │ ├── EE.png │ │ │ ├── EG.png │ │ │ ├── EH.png │ │ │ ├── ER.png │ │ │ ├── ES.png │ │ │ ├── ET.png │ │ │ ├── EU.png │ │ │ ├── FI.png │ │ │ ├── FJ.png │ │ │ ├── FK.png │ │ │ ├── FM.png │ │ │ ├── FO.png │ │ │ ├── FR.png │ │ │ ├── GA.png │ │ │ ├── GB.png │ │ │ ├── GD.png │ │ │ ├── GE.png │ │ │ ├── GG.png │ │ │ ├── GH.png │ │ │ ├── GI.png │ │ │ ├── GL.png │ │ │ ├── GM.png │ │ │ ├── GN.png │ │ │ ├── GQ.png │ │ │ ├── GR.png │ │ │ ├── GS.png │ │ │ ├── GT.png │ │ │ ├── GU.png │ │ │ ├── GW.png │ │ │ ├── GY.png │ │ │ ├── HK.png │ │ │ ├── HN.png │ │ │ ├── HR.png │ │ │ ├── HT.png │ │ │ ├── HU.png │ │ │ ├── IC.png │ │ │ ├── ID.png │ │ │ ├── IE.png │ │ │ ├── IL.png │ │ │ ├── IM.png │ │ │ ├── IN.png │ │ │ ├── IQ.png │ │ │ ├── IR.png │ │ │ ├── IS.png │ │ │ ├── IT.png │ │ │ ├── JE.png │ │ │ ├── JM.png │ │ │ ├── JO.png │ │ │ ├── JP.png │ │ │ ├── KE.png │ │ │ ├── KG.png │ │ │ ├── KH.png │ │ │ ├── KI.png │ │ │ ├── KM.png │ │ │ ├── KN.png │ │ │ ├── KP.png │ │ │ ├── KR.png │ │ │ ├── KW.png │ │ │ ├── KY.png │ │ │ ├── KZ.png │ │ │ ├── LA.png │ │ │ ├── LB.png │ │ │ ├── LC.png │ │ │ ├── LI.png │ │ │ ├── LK.png │ │ │ ├── LR.png │ │ │ ├── LS.png │ │ │ ├── LT.png │ │ │ ├── LU.png │ │ │ ├── LV.png │ │ │ ├── LY.png │ │ │ ├── MA.png │ │ │ ├── MC.png │ │ │ ├── MD.png │ │ │ ├── ME.png │ │ │ ├── MF.png │ │ │ ├── MG.png │ │ │ ├── MH.png │ │ │ ├── MK.png │ │ │ ├── ML.png │ │ │ ├── MM.png │ │ │ ├── MN.png │ │ │ ├── MO.png │ │ │ ├── MP.png │ │ │ ├── MQ.png │ │ │ ├── MR.png │ │ │ ├── MS.png │ │ │ ├── MT.png │ │ │ ├── MU.png │ │ │ ├── MV.png │ │ │ ├── MW.png │ │ │ ├── MX.png │ │ │ ├── MY.png │ │ │ ├── MZ.png │ │ │ ├── NA.png │ │ │ ├── NC.png │ │ │ ├── NE.png │ │ │ ├── NF.png │ │ │ ├── NG.png │ │ │ ├── NI.png │ │ │ ├── NL.png │ │ │ ├── NO.png │ │ │ ├── NP.png │ │ │ ├── NR.png │ │ │ ├── NU.png │ │ │ ├── NZ.png │ │ │ ├── OM.png │ │ │ ├── PA.png │ │ │ ├── PE.png │ │ │ ├── PF.png │ │ │ ├── PG.png │ │ │ ├── PH.png │ │ │ ├── PK.png │ │ │ ├── PL.png │ │ │ ├── PN.png │ │ │ ├── PR.png │ │ │ ├── PS.png │ │ │ ├── PT.png │ │ │ ├── PW.png │ │ │ ├── PY.png │ │ │ ├── QA.png │ │ │ ├── RO.png │ │ │ ├── RS.png │ │ │ ├── RU.png │ │ │ ├── RW.png │ │ │ ├── SA.png │ │ │ ├── SB.png │ │ │ ├── SC.png │ │ │ ├── SD.png │ │ │ ├── SE.png │ │ │ ├── SG.png │ │ │ ├── SH.png │ │ │ ├── SI.png │ │ │ ├── SK.png │ │ │ ├── SL.png │ │ │ ├── SM.png │ │ │ ├── SN.png │ │ │ ├── SO.png │ │ │ ├── SR.png │ │ │ ├── SS.png │ │ │ ├── ST.png │ │ │ ├── SV.png │ │ │ ├── SY.png │ │ │ ├── SZ.png │ │ │ ├── TC.png │ │ │ ├── TD.png │ │ │ ├── TF.png │ │ │ ├── TG.png │ │ │ ├── TH.png │ │ │ ├── TJ.png │ │ │ ├── TK.png │ │ │ ├── TL.png │ │ │ ├── TM.png │ │ │ ├── TN.png │ │ │ ├── TO.png │ │ │ ├── TR.png │ │ │ ├── TT.png │ │ │ ├── TV.png │ │ │ ├── TW.png │ │ │ ├── TZ.png │ │ │ ├── UA.png │ │ │ ├── UG.png │ │ │ ├── US.png │ │ │ ├── UY.png │ │ │ ├── UZ.png │ │ │ ├── VA.png │ │ │ ├── VC.png │ │ │ ├── VE.png │ │ │ ├── VG.png │ │ │ ├── VI.png │ │ │ ├── VN.png │ │ │ ├── VU.png │ │ │ ├── WF.png │ │ │ ├── WS.png │ │ │ ├── YE.png │ │ │ ├── YT.png │ │ │ ├── ZA.png │ │ │ ├── ZM.png │ │ │ ├── ZW.png │ │ │ └── _unknown.png │ ├── humans.txt │ ├── robots.txt │ ├── skins │ │ └── judgels │ │ │ └── content.css │ └── var │ │ └── conf │ │ └── judgels-client.js.example ├── src │ ├── assets │ │ ├── data │ │ │ └── countries.js │ │ └── images │ │ │ ├── logo-header.png │ │ │ └── logo.png │ ├── components │ │ ├── ActionButtons │ │ │ ├── ActionButtons.jsx │ │ │ └── ActionButtons.scss │ │ ├── Announcements │ │ │ ├── Announcements.jsx │ │ │ └── Announcements.scss │ │ ├── AppContent │ │ │ ├── AppContent.jsx │ │ │ └── AppContent.scss │ │ ├── BreadcrumbWrapper │ │ │ ├── BreadcrumbWrapper.jsx │ │ │ └── BreadcrumbWrapper.test.jsx │ │ ├── ButtonLink │ │ │ └── ButtonLink.jsx │ │ ├── Card │ │ │ ├── Card.jsx │ │ │ └── Card.scss │ │ ├── ClarificationFilterWidget │ │ │ ├── ClarificationFilterForm.jsx │ │ │ ├── ClarificationFilterForm.scss │ │ │ └── ClarificationFilterWidget.jsx │ │ ├── ContentCard │ │ │ ├── ContentCard.jsx │ │ │ └── ContentCard.scss │ │ ├── ContentCardLink │ │ │ ├── ContentCardLink.jsx │ │ │ └── ContentCardLink.scss │ │ ├── ContentCardList │ │ │ ├── ContentCardList.jsx │ │ │ └── ContentCardList.scss │ │ ├── ContentWithSidebar │ │ │ ├── ContentWithSidebar.jsx │ │ │ ├── ContentWithSidebar.scss │ │ │ └── ContentWithSidebar.test.jsx │ │ ├── ContentWithTopbar │ │ │ ├── ContentWithTopbar.jsx │ │ │ └── ContentWithTopbar.test.jsx │ │ ├── ContestLink │ │ │ └── ContestLink.jsx │ │ ├── ContestRole │ │ │ └── ContestRoleTag.jsx │ │ ├── DarkModeWidget │ │ │ ├── DarkModeWidget.jsx │ │ │ └── DarkModeWidget.scss │ │ ├── Footer │ │ │ ├── Footer.jsx │ │ │ └── Footer.scss │ │ ├── FormattedContent │ │ │ └── FormattedContent.jsx │ │ ├── FormattedDate │ │ │ └── FormattedDate.jsx │ │ ├── FormattedDuration │ │ │ ├── FormattedDuration.jsx │ │ │ └── FormattedDuration.test.js │ │ ├── FormattedRelative │ │ │ ├── FormattedRelative.jsx │ │ │ └── FormattedRelative.test.js │ │ ├── FullPageLayout │ │ │ ├── FullPageLayout.jsx │ │ │ └── FullPageLayout.scss │ │ ├── FullWidthPageLayout │ │ │ ├── FullWidthPageLayout.jsx │ │ │ └── FullWidthPageLayout.scss │ │ ├── GradingVerdictTag │ │ │ ├── GradingVerdictTag.jsx │ │ │ └── GradingVerdictTag.scss │ │ ├── GuestRoute │ │ │ └── GuestRoute.jsx │ │ ├── Header │ │ │ ├── Header.jsx │ │ │ └── Header.scss │ │ ├── HorizontalDivider │ │ │ ├── HorizontalDivider.jsx │ │ │ └── HorizontalDivider.scss │ │ ├── HorizontalInnerDivider │ │ │ ├── HorizontalInnerDivider.jsx │ │ │ └── HorizontalInnerDivider.scss │ │ ├── HtmlText │ │ │ ├── HtmlText.jsx │ │ │ └── HtmlText.scss │ │ ├── ItemSubmissionUserFilter │ │ │ ├── ItemSubmissionUserFilter.jsx │ │ │ └── ItemSubmissionUserFilter.scss │ │ ├── LanguageWidget │ │ │ ├── EditorialLanguageWidget.jsx │ │ │ ├── LanguageForm │ │ │ │ ├── LanguageForm.jsx │ │ │ │ └── LanguageForm.scss │ │ │ ├── LanguageWidget.scss │ │ │ └── StatementLanguageWidget.jsx │ │ ├── LessonStatementCard │ │ │ ├── LessonStatementCard.jsx │ │ │ └── LessonStatementCard.scss │ │ ├── LoadingContentCard │ │ │ └── LoadingContentCard.jsx │ │ ├── LoadingState │ │ │ ├── LoadingState.jsx │ │ │ └── LoadingState.scss │ │ ├── MenuItemLink │ │ │ ├── MenuItemLink.jsx │ │ │ └── MenuItemLink.test.jsx │ │ ├── Menubar │ │ │ ├── Menubar.jsx │ │ │ ├── Menubar.scss │ │ │ └── Menubar.test.jsx │ │ ├── Pagination │ │ │ ├── Pagination.jsx │ │ │ ├── Pagination.scss │ │ │ └── Pagination.test.jsx │ │ ├── ProblemDifficulty │ │ │ ├── ProblemDifficulty.jsx │ │ │ └── ProblemDifficulty.scss │ │ ├── ProblemEditorial │ │ │ ├── ProblemEditorial.jsx │ │ │ └── ProblemEditorial.scss │ │ ├── ProblemSetProblemCard │ │ │ ├── ProblemSetProblemCard.jsx │ │ │ └── ProblemSetProblemCard.scss │ │ ├── ProblemSpoilerWidget │ │ │ ├── ProblemSpoilerWidget.jsx │ │ │ └── ProblemSpoilerWidget.scss │ │ ├── ProblemTopicTags │ │ │ ├── ProblemTopicTags.jsx │ │ │ └── ProblemTopicTags.scss │ │ ├── ProblemWorksheetCard │ │ │ ├── Bundle │ │ │ │ ├── ProblemStatementCard │ │ │ │ │ ├── ItemEssayCard │ │ │ │ │ │ ├── ItemEssayCard.jsx │ │ │ │ │ │ ├── ItemEssayCard.test.jsx │ │ │ │ │ │ └── ItemEssayForm │ │ │ │ │ │ │ ├── ItemEssayForm.jsx │ │ │ │ │ │ │ ├── ItemEssayForm.scss │ │ │ │ │ │ │ └── ItemEssayForm.test.jsx │ │ │ │ │ ├── ItemMultipleChoiceCard │ │ │ │ │ │ ├── ItemMultipleChoiceCard.jsx │ │ │ │ │ │ ├── ItemMultipleChoiceCard.scss │ │ │ │ │ │ └── ItemMultipleChoiceCard.test.jsx │ │ │ │ │ ├── ItemShortAnswerCard │ │ │ │ │ │ ├── ItemShortAnswerCard.jsx │ │ │ │ │ │ ├── ItemShortAnswerCard.test.jsx │ │ │ │ │ │ └── ItemShortAnswerForm │ │ │ │ │ │ │ ├── ItemShortAnswerForm.jsx │ │ │ │ │ │ │ ├── ItemShortAnswerForm.scss │ │ │ │ │ │ │ └── ItemShortAnswerForm.test.jsx │ │ │ │ │ ├── ItemStatementCard │ │ │ │ │ │ ├── ItemStatementCard.jsx │ │ │ │ │ │ └── ItemStatementCard.test.jsx │ │ │ │ │ ├── ProblemStatementCard.jsx │ │ │ │ │ └── ProblemStatementCard.scss │ │ │ │ ├── ProblemSubmissionCard │ │ │ │ │ └── ProblemSubmissionCard.jsx │ │ │ │ ├── ProblemWorksheetCard.jsx │ │ │ │ ├── ProblemWorksheetCard.scss │ │ │ │ └── itemStatement.js │ │ │ └── Programming │ │ │ │ ├── ProblemEditorialCard │ │ │ │ └── ProblemEditorialCard.jsx │ │ │ │ ├── ProblemStatementCard │ │ │ │ ├── ProblemStatementCard.jsx │ │ │ │ └── ProblemStatementCard.scss │ │ │ │ ├── ProblemSubmissionCard │ │ │ │ ├── ProblemSubmissionCard.jsx │ │ │ │ └── ProblemSubmissionCard.test.jsx │ │ │ │ ├── ProblemSubmissionEditor │ │ │ │ ├── ProblemSubmissionEditor.jsx │ │ │ │ └── ProblemSubmissionEditor.scss │ │ │ │ ├── ProblemSubmissionForm │ │ │ │ ├── ProblemSubmissionForm.jsx │ │ │ │ └── ProblemSubmissionForm.scss │ │ │ │ ├── ProblemSubmissionSummary │ │ │ │ ├── ProblemSubmissionSummary.jsx │ │ │ │ └── ProblemSubmissionSummary.scss │ │ │ │ ├── ProblemWorksheetCard.jsx │ │ │ │ └── ProblemWorksheetCard.scss │ │ ├── ProgressBar │ │ │ ├── ProgressBar.jsx │ │ │ └── ProgressBar.scss │ │ ├── ProgressTag │ │ │ ├── ProgressTag.jsx │ │ │ └── ProgressTag.scss │ │ ├── RegradeAllButton │ │ │ └── RegradeAllButton.jsx │ │ ├── RichStatementText │ │ │ ├── RichStatementText.jsx │ │ │ └── RichStatementText.scss │ │ ├── ScrollToTopOnMount │ │ │ └── ScrollToTopOnMount.jsx │ │ ├── SearchBox │ │ │ ├── SearchBox.jsx │ │ │ ├── SearchBox.scss │ │ │ ├── SearchBox.test.jsx │ │ │ └── SearchBoxForm.jsx │ │ ├── Sidebar │ │ │ ├── Sidebar.jsx │ │ │ └── Sidebar.scss │ │ ├── SingleColumnLayout │ │ │ ├── SingleColumnLayout.jsx │ │ │ └── SingleColumnLayout.scss │ │ ├── SourceCode │ │ │ ├── SourceCode.jsx │ │ │ └── SourceCode.scss │ │ ├── SubmissionDetails │ │ │ ├── Bundle │ │ │ │ ├── FormattedAnswer │ │ │ │ │ └── FormattedAnswer.jsx │ │ │ │ ├── SubmissionDetails │ │ │ │ │ ├── SubmissionDetails.jsx │ │ │ │ │ └── SubmissionDetails.scss │ │ │ │ └── VerdictTag │ │ │ │ │ └── VerdictTag.jsx │ │ │ └── Programming │ │ │ │ ├── SubmissionDetails.jsx │ │ │ │ └── SubmissionDetails.scss │ │ ├── SubmissionFilterWidget │ │ │ ├── SubmissionFilterForm.jsx │ │ │ ├── SubmissionFilterForm.scss │ │ │ └── SubmissionFilterWidget.jsx │ │ ├── SubmissionImageDialog │ │ │ ├── SubmissionImageDialog.jsx │ │ │ └── SubmissionImageDialog.scss │ │ ├── SubmissionUserFilter │ │ │ ├── SubmissionUserFilter.jsx │ │ │ └── SubmissionUserFilter.scss │ │ ├── SubmissionsTable │ │ │ ├── Bundle │ │ │ │ └── ItemSubmissionsTable.scss │ │ │ └── Programming │ │ │ │ └── SubmissionsTable.scss │ │ ├── TimeanddateLink │ │ │ ├── TimeanddateLink.jsx │ │ │ └── TimeanddateLink.scss │ │ ├── Topbar │ │ │ ├── Topbar.jsx │ │ │ └── Topbar.scss │ │ ├── UserRef │ │ │ ├── UserRef.jsx │ │ │ └── UserRef.scss │ │ ├── UserRoute │ │ │ └── UserRoute.jsx │ │ ├── UserWidget │ │ │ ├── UserWidget.jsx │ │ │ ├── UserWidget.scss │ │ │ └── UserWidget.test.jsx │ │ ├── VerdictProgressTag │ │ │ ├── ChapterProblemProgressTag.jsx │ │ │ ├── ChapterProblemProgressTag.scss │ │ │ ├── VerdictProgressTag.jsx │ │ │ └── VerdictProgressTag.scss │ │ ├── VerdictTag │ │ │ ├── VerdictTag.jsx │ │ │ └── VerdictTag.scss │ │ └── forms │ │ │ ├── FormAceEditor │ │ │ ├── FormAceEditor.jsx │ │ │ └── FormAceEditor.scss │ │ │ ├── FormCheckbox │ │ │ ├── FormCheckbox.jsx │ │ │ └── FormCheckbox.scss │ │ │ ├── FormDateInput │ │ │ ├── FormDateInput.jsx │ │ │ └── FormDateInput.scss │ │ │ ├── FormInputValidation │ │ │ ├── FormInputValidation.jsx │ │ │ └── FormInputValidation.test.jsx │ │ │ ├── FormRecaptcha │ │ │ └── FormRecaptcha.jsx │ │ │ ├── FormRichTextArea │ │ │ ├── FormRichTextArea.jsx │ │ │ └── TinyMCETextArea.jsx │ │ │ ├── FormSelect2 │ │ │ └── FormSelect2.jsx │ │ │ ├── FormTable │ │ │ ├── FormTable.jsx │ │ │ └── FormTable.scss │ │ │ ├── FormTableCheckbox │ │ │ ├── FormTableCheckbox.jsx │ │ │ └── FormTableCheckbox.scss │ │ │ ├── FormTableDateInput │ │ │ ├── FormTableDateInput.jsx │ │ │ └── FormTableDateInput.scss │ │ │ ├── FormTableFileInput │ │ │ └── FormTableFileInput.jsx │ │ │ ├── FormTableInput │ │ │ ├── FormTableInput.jsx │ │ │ └── FormTableInput.scss │ │ │ ├── FormTableSelect │ │ │ ├── FormTableSelect.jsx │ │ │ └── FormTableSelect.scss │ │ │ ├── FormTableSelect2 │ │ │ ├── FormTableSelect2.jsx │ │ │ └── FormTableSelect2.scss │ │ │ ├── FormTableTextArea │ │ │ ├── FormTableTextArea.jsx │ │ │ └── FormTableTextArea.scss │ │ │ ├── FormTableTextInput │ │ │ └── FormTableTextInput.jsx │ │ │ ├── FormTextArea │ │ │ ├── FormTextArea.jsx │ │ │ └── FormTextArea.scss │ │ │ ├── FormTextInput │ │ │ └── FormTextInput.jsx │ │ │ ├── meta.js │ │ │ ├── meta.test.js │ │ │ ├── validations.js │ │ │ └── validations.test.js │ ├── conf.js │ ├── ga.js │ ├── index.jsx │ ├── lazy.js │ ├── modules │ │ ├── api │ │ │ ├── error.js │ │ │ ├── gabriel │ │ │ │ ├── engine.js │ │ │ │ ├── language.js │ │ │ │ ├── submission.js │ │ │ │ └── verdict.js │ │ │ ├── http.js │ │ │ ├── jerahmeel │ │ │ │ ├── archive.js │ │ │ │ ├── chapter.js │ │ │ │ ├── chapterLesson.js │ │ │ │ ├── chapterProblem.js │ │ │ │ ├── course.js │ │ │ │ ├── courseChapter.js │ │ │ │ ├── problem.js │ │ │ │ ├── problemSet.js │ │ │ │ ├── problemSetProblem.js │ │ │ │ ├── role.js │ │ │ │ ├── stats.js │ │ │ │ ├── submission.js │ │ │ │ ├── submissionBundle.js │ │ │ │ └── submissionProgramming.js │ │ │ ├── jophiel │ │ │ │ ├── profile.js │ │ │ │ ├── role.js │ │ │ │ ├── session.js │ │ │ │ ├── user.js │ │ │ │ ├── userAccount.js │ │ │ │ ├── userAvatar.js │ │ │ │ ├── userInfo.js │ │ │ │ ├── userRating.js │ │ │ │ ├── userRegistration.js │ │ │ │ ├── userSearch.js │ │ │ │ └── userWeb.js │ │ │ ├── pagination.js │ │ │ ├── sandalphon │ │ │ │ ├── language.js │ │ │ │ ├── language.test.js │ │ │ │ ├── lesson.js │ │ │ │ ├── problem.js │ │ │ │ ├── problemBundle.js │ │ │ │ └── submissionBundle.js │ │ │ └── uriel │ │ │ │ ├── admin.js │ │ │ │ ├── contest.js │ │ │ │ ├── contestAnnouncement.js │ │ │ │ ├── contestClarification.js │ │ │ │ ├── contestContestant.js │ │ │ │ ├── contestEditorial.js │ │ │ │ ├── contestFile.js │ │ │ │ ├── contestHistory.js │ │ │ │ ├── contestLog.js │ │ │ │ ├── contestManager.js │ │ │ │ ├── contestModule.js │ │ │ │ ├── contestProblem.js │ │ │ │ ├── contestRating.js │ │ │ │ ├── contestScoreboard.js │ │ │ │ ├── contestSubmissionBundle.js │ │ │ │ ├── contestSubmissionProgramming.js │ │ │ │ ├── contestSupervisor.js │ │ │ │ ├── contestWeb.js │ │ │ │ └── scoreboard.js │ │ ├── breadcrumbs │ │ │ ├── breadcrumbsActions.js │ │ │ ├── breadcrumbsReducer.js │ │ │ ├── breadcrumbsReducer.test.js │ │ │ ├── breadcrumbsSelectors.js │ │ │ └── breadcrumbsSelectors.test.js │ │ ├── form │ │ │ └── submissionError.js │ │ ├── jerahmeel │ │ │ └── jerahmeelReducer.js │ │ ├── jophiel │ │ │ └── jophielReducer.js │ │ ├── notification │ │ │ └── notification.js │ │ ├── session │ │ │ ├── sessionReducer.js │ │ │ ├── sessionReducer.test.js │ │ │ └── sessionSelectors.js │ │ ├── store.js │ │ ├── toast │ │ │ ├── toastActions.jsx │ │ │ ├── toastMiddleware.js │ │ │ └── toastMiddleware.test.js │ │ ├── tokenGate │ │ │ └── tokenGateMiddleware.js │ │ ├── uriel │ │ │ └── urielReducer.js │ │ └── webPrefs │ │ │ ├── webPrefsActions.js │ │ │ ├── webPrefsReducer.js │ │ │ ├── webPrefsReducer.test.js │ │ │ └── webPrefsSelectors.js │ ├── routes │ │ ├── App.jsx │ │ ├── AppRoutes.jsx │ │ ├── AppRoutes.test.js │ │ ├── contests │ │ │ ├── ContestsRoutes.jsx │ │ │ ├── LazyContestsRoutes.jsx │ │ │ ├── MainContestsRoutes.jsx │ │ │ └── contests │ │ │ │ ├── ContestCard │ │ │ │ ├── ContestCard.jsx │ │ │ │ └── ContestCard.scss │ │ │ │ ├── ContestCreateDialog │ │ │ │ ├── ContestCreateDialog.jsx │ │ │ │ └── ContestCreateDialog.test.jsx │ │ │ │ ├── ContestCreateForm │ │ │ │ └── ContestCreateForm.jsx │ │ │ │ ├── ContestsPage │ │ │ │ ├── ContestsPage.jsx │ │ │ │ └── ContestsPage.test.jsx │ │ │ │ ├── modules │ │ │ │ ├── contestActions.js │ │ │ │ ├── contestActions.test.js │ │ │ │ ├── contestReducer.js │ │ │ │ ├── contestReducer.test.js │ │ │ │ ├── contestSelectors.js │ │ │ │ ├── contestWebConfigReducer.js │ │ │ │ ├── contestWebConfigReducer.test.js │ │ │ │ └── contestWebConfigSelectors.js │ │ │ │ └── single │ │ │ │ ├── MainSingleContestRoutes.jsx │ │ │ │ ├── SingleContestDataRoute.jsx │ │ │ │ ├── SingleContestDataRoute.test.jsx │ │ │ │ ├── SingleContestRoutes.jsx │ │ │ │ ├── SingleContestRoutes.scss │ │ │ │ ├── announcements │ │ │ │ ├── ContestAnnouncementCard │ │ │ │ │ ├── ContestAnnouncementCard.jsx │ │ │ │ │ └── ContestAnnouncementCard.scss │ │ │ │ ├── ContestAnnouncementCreateDialog │ │ │ │ │ ├── ContestAnnouncementCreateDialog.jsx │ │ │ │ │ ├── ContestAnnouncementCreateDialog.scss │ │ │ │ │ └── ContestAnnouncementCreateDialog.test.jsx │ │ │ │ ├── ContestAnnouncementCreateForm │ │ │ │ │ └── ContestAnnouncementCreateForm.jsx │ │ │ │ ├── ContestAnnouncementEditDialog │ │ │ │ │ ├── ContestAnnouncementEditDialog.jsx │ │ │ │ │ ├── ContestAnnouncementEditDialog.scss │ │ │ │ │ └── ContestAnnouncementEditDialog.test.jsx │ │ │ │ ├── ContestAnnouncementEditForm │ │ │ │ │ └── ContestAnnouncementEditForm.jsx │ │ │ │ ├── ContestAnnouncementInstruction │ │ │ │ │ └── ContestAnnouncementInstruction.jsx │ │ │ │ ├── ContestAnnouncementsPage │ │ │ │ │ ├── ContestAnnouncementsPage.jsx │ │ │ │ │ └── ContestAnnouncementsPage.test.jsx │ │ │ │ └── modules │ │ │ │ │ ├── contestAnnouncementActions.js │ │ │ │ │ └── contestAnnouncementActions.test.js │ │ │ │ ├── clarifications │ │ │ │ ├── ContestClarificationAnswerBox │ │ │ │ │ ├── ContestClarificationAnswerBox.jsx │ │ │ │ │ └── ContestClarificationAnswerBox.test.jsx │ │ │ │ ├── ContestClarificationAnswerForm │ │ │ │ │ └── ContestClarificationAnswerForm.jsx │ │ │ │ ├── ContestClarificationCard │ │ │ │ │ ├── ContestClarificationCard.jsx │ │ │ │ │ └── ContestClarificationCard.scss │ │ │ │ ├── ContestClarificationCreateDialog │ │ │ │ │ ├── ContestClarificationCreateDialog.jsx │ │ │ │ │ └── ContestClarificationCreateDialog.test.jsx │ │ │ │ ├── ContestClarificationCreateForm │ │ │ │ │ └── ContestClarificationCreateForm.jsx │ │ │ │ ├── ContestClarificationsPage │ │ │ │ │ ├── ContestClarificationsPage.jsx │ │ │ │ │ └── ContestClarificationsPage.test.jsx │ │ │ │ └── modules │ │ │ │ │ ├── contestClarificationActions.js │ │ │ │ │ └── contestClarificationActions.test.js │ │ │ │ ├── components │ │ │ │ ├── ContestAnnouncementsWidget │ │ │ │ │ └── ContestAnnouncementsWidget.jsx │ │ │ │ ├── ContestClarificationsWidget │ │ │ │ │ └── ContestClarificationsWidget.jsx │ │ │ │ ├── ContestEditConfigsForm │ │ │ │ │ ├── ContestEditConfigsForm.jsx │ │ │ │ │ └── ContestEditConfigsForm.scss │ │ │ │ ├── ContestEditConfigsTab │ │ │ │ │ ├── ContestEditConfigsTab.jsx │ │ │ │ │ └── ContestEditConfigsTab.test.jsx │ │ │ │ ├── ContestEditConfigsTable │ │ │ │ │ ├── ContestEditConfigsTable.jsx │ │ │ │ │ └── ContestEditConfigsTable.scss │ │ │ │ ├── ContestEditDescriptionForm │ │ │ │ │ └── ContestEditDescriptionForm.jsx │ │ │ │ ├── ContestEditDescriptionTab │ │ │ │ │ ├── ContestEditDescriptionTab.jsx │ │ │ │ │ └── ContestEditDescriptionTab.test.jsx │ │ │ │ ├── ContestEditDialog │ │ │ │ │ ├── ContestEditDialog.jsx │ │ │ │ │ └── ContestEditDialog.scss │ │ │ │ ├── ContestEditGeneralForm │ │ │ │ │ └── ContestEditGeneralForm.jsx │ │ │ │ ├── ContestEditGeneralTab │ │ │ │ │ ├── ContestEditGeneralTab.jsx │ │ │ │ │ └── ContestEditGeneralTab.test.jsx │ │ │ │ ├── ContestEditGeneralTable │ │ │ │ │ └── ContestEditGeneralTable.jsx │ │ │ │ ├── ContestEditModulesTab │ │ │ │ │ ├── ContestEditModulesTab.jsx │ │ │ │ │ └── ContestEditModulesTab.test.jsx │ │ │ │ ├── ContestModuleCard │ │ │ │ │ ├── ContestModuleCard.jsx │ │ │ │ │ └── ContestModuleCard.scss │ │ │ │ └── ContestStateWidget │ │ │ │ │ ├── ContestStateWidget.jsx │ │ │ │ │ └── LoadingContestStateWidget.jsx │ │ │ │ ├── contestants │ │ │ │ ├── ContestContestantAddDialog │ │ │ │ │ ├── ContestContestantAddDialog.jsx │ │ │ │ │ └── ContestContestantAddDialog.test.jsx │ │ │ │ ├── ContestContestantAddForm │ │ │ │ │ └── ContestContestantAddForm.jsx │ │ │ │ ├── ContestContestantAddResultTable │ │ │ │ │ ├── ContestContestantAddResultTable.jsx │ │ │ │ │ └── ContestContestantAddResultTable.test.jsx │ │ │ │ ├── ContestContestantRemoveDialog │ │ │ │ │ ├── ContestContestantRemoveDialog.jsx │ │ │ │ │ └── ContestContestantRemoveDialog.test.jsx │ │ │ │ ├── ContestContestantRemoveForm │ │ │ │ │ └── ContestContestantRemoveForm.jsx │ │ │ │ ├── ContestContestantRemoveResultTable │ │ │ │ │ ├── ContestContestantRemoveResultTable.jsx │ │ │ │ │ └── ContestContestantRemoveResultTable.test.jsx │ │ │ │ ├── ContestContestantsPage │ │ │ │ │ ├── ContestContestantsPage.jsx │ │ │ │ │ ├── ContestContestantsPage.scss │ │ │ │ │ └── ContestContestantsPage.test.jsx │ │ │ │ └── ContestContestantsTable │ │ │ │ │ ├── ContestContestantsTable.jsx │ │ │ │ │ ├── ContestContestantsTable.scss │ │ │ │ │ └── ContestContestantsTable.test.jsx │ │ │ │ ├── editorial │ │ │ │ ├── ContestEditorialPage │ │ │ │ │ ├── ContestEditorialPage.jsx │ │ │ │ │ └── ContestEditorialPage.test.jsx │ │ │ │ └── modules │ │ │ │ │ └── contestEditorialActions.js │ │ │ │ ├── files │ │ │ │ ├── ContestFileUploadCard │ │ │ │ │ └── ContestFileUploadCard.jsx │ │ │ │ ├── ContestFileUploadForm │ │ │ │ │ ├── ContestFileUploadForm.jsx │ │ │ │ │ └── ContestFileUploadForm.scss │ │ │ │ ├── ContestFilesPage │ │ │ │ │ ├── ContestFilesPage.jsx │ │ │ │ │ └── ContestFilesPage.test.jsx │ │ │ │ ├── ContestFilesTable │ │ │ │ │ ├── ContestFilesTable.jsx │ │ │ │ │ └── ContestFilesTable.scss │ │ │ │ └── modules │ │ │ │ │ ├── contestFileActions.js │ │ │ │ │ └── contestFileActions.test.js │ │ │ │ ├── logs │ │ │ │ ├── ContestLogsPage │ │ │ │ │ ├── ContestLogsPage.jsx │ │ │ │ │ └── ContestLogsPage.test.jsx │ │ │ │ ├── ContestLogsTable │ │ │ │ │ ├── ContestLogsTable.jsx │ │ │ │ │ └── ContestLogsTable.scss │ │ │ │ └── modules │ │ │ │ │ ├── contestLogActions.js │ │ │ │ │ └── contestLogActions.test.js │ │ │ │ ├── managers │ │ │ │ ├── ContestManagerAddDialog │ │ │ │ │ ├── ContestManagerAddDialog.jsx │ │ │ │ │ └── ContestManagerAddDialog.test.jsx │ │ │ │ ├── ContestManagerAddForm │ │ │ │ │ └── ContestManagerAddForm.jsx │ │ │ │ ├── ContestManagerAddResultTable │ │ │ │ │ ├── ContestManagerAddResultTable.jsx │ │ │ │ │ └── ContestManagerAddResultTable.test.jsx │ │ │ │ ├── ContestManagerRemoveDialog │ │ │ │ │ ├── ContestManagerRemoveDialog.jsx │ │ │ │ │ └── ContestManagerRemoveDialog.test.jsx │ │ │ │ ├── ContestManagerRemoveForm │ │ │ │ │ └── ContestManagerRemoveForm.jsx │ │ │ │ ├── ContestManagerRemoveResultTable │ │ │ │ │ ├── ContestManagerRemoveResultTable.jsx │ │ │ │ │ └── ContestManagerRemoveResultTable.test.jsx │ │ │ │ ├── ContestManagersPage │ │ │ │ │ ├── ContestManagersPage.jsx │ │ │ │ │ ├── ContestManagersPage.scss │ │ │ │ │ └── ContestManagersPage.test.jsx │ │ │ │ ├── ContestManagersTable │ │ │ │ │ └── ContestManagersTable.jsx │ │ │ │ └── modules │ │ │ │ │ ├── contestManagerActions.js │ │ │ │ │ └── contestManagerActions.test.js │ │ │ │ ├── modules │ │ │ │ ├── contestContestantActions.js │ │ │ │ ├── contestContestantActions.test.js │ │ │ │ ├── contestIcon.jsx │ │ │ │ ├── contestModuleActions.js │ │ │ │ ├── contestModuleActions.test.js │ │ │ │ ├── contestSupervisorActions.js │ │ │ │ ├── contestSupervisorActions.test.js │ │ │ │ ├── contestWebActions.js │ │ │ │ └── contestWebActions.test.js │ │ │ │ ├── overview │ │ │ │ ├── ContestOverviewPage │ │ │ │ │ ├── ContestOverviewPage.jsx │ │ │ │ │ ├── ContestOverviewPage.scss │ │ │ │ │ └── ContestOverviewPage.test.jsx │ │ │ │ ├── ContestRegistrantsDialog │ │ │ │ │ ├── ContestRegistrantsDialog.jsx │ │ │ │ │ ├── ContestRegistrantsDialog.scss │ │ │ │ │ └── ContestRegistrantsDialog.test.jsx │ │ │ │ └── ContestRegistrationCard │ │ │ │ │ ├── ContestRegistrationCard.jsx │ │ │ │ │ ├── ContestRegistrationCard.scss │ │ │ │ │ └── ContestRegistrationCard.test.jsx │ │ │ │ ├── problems │ │ │ │ ├── ContestProblemCard │ │ │ │ │ ├── ContestProblemCard.jsx │ │ │ │ │ ├── ContestProblemCard.scss │ │ │ │ │ └── ContestProblemCard.test.jsx │ │ │ │ ├── ContestProblemEditDialog │ │ │ │ │ ├── ContestProblemEditDialog.jsx │ │ │ │ │ ├── ContestProblemEditDialog.scss │ │ │ │ │ └── ContestProblemEditDialog.test.jsx │ │ │ │ ├── ContestProblemEditForm │ │ │ │ │ └── ContestProblemEditForm.jsx │ │ │ │ ├── ContestProblemRoutes.jsx │ │ │ │ ├── ContestProblemsPage │ │ │ │ │ ├── ContestProblemsPage.jsx │ │ │ │ │ └── ContestProblemsPage.test.jsx │ │ │ │ ├── modules │ │ │ │ │ ├── contestProblemActions.js │ │ │ │ │ ├── contestProblemActions.test.js │ │ │ │ │ └── editor │ │ │ │ │ │ ├── contestProblemEditorRegistry.js │ │ │ │ │ │ ├── defaultContestProblemEditor.jsx │ │ │ │ │ │ ├── defaultContestProblemEditor.test.js │ │ │ │ │ │ ├── gcjContestProblemEditor.jsx │ │ │ │ │ │ ├── gcjContestProblemEditor.test.js │ │ │ │ │ │ ├── trocContestProblemEditor.jsx │ │ │ │ │ │ └── trocContestProblemEditor.test.js │ │ │ │ └── single │ │ │ │ │ └── ContestProblemPage │ │ │ │ │ ├── Bundle │ │ │ │ │ ├── ContestProblemPage.jsx │ │ │ │ │ └── ContestProblemPage.test.jsx │ │ │ │ │ ├── ContestProblemPage.jsx │ │ │ │ │ └── Programming │ │ │ │ │ ├── ContestProblemPage.jsx │ │ │ │ │ ├── ContestProblemPage.scss │ │ │ │ │ └── ContestProblemPage.test.jsx │ │ │ │ ├── scoreboard │ │ │ │ ├── BundleScoreboardTable │ │ │ │ │ ├── BundleScoreboardTable.jsx │ │ │ │ │ ├── BundleScoreboardTable.scss │ │ │ │ │ └── BundleScoreboardTable.test.jsx │ │ │ │ ├── ContestScoreboardPage │ │ │ │ │ ├── ContestScoreboardPage.jsx │ │ │ │ │ ├── ContestScoreboardPage.scss │ │ │ │ │ └── ContestScoreboardPage.test.jsx │ │ │ │ ├── ContestUserProblemSubmissionsDialog │ │ │ │ │ ├── ContestUserProblemSubmissionsDialog.jsx │ │ │ │ │ └── ContestUserProblemSubmissionsDialog.scss │ │ │ │ ├── GcjScoreboardTable │ │ │ │ │ ├── GcjScoreboardTable.jsx │ │ │ │ │ ├── GcjScoreboardTable.scss │ │ │ │ │ └── GcjScoreboardTable.test.jsx │ │ │ │ ├── IcpcScoreboardTable │ │ │ │ │ ├── IcpcScoreboardTable.jsx │ │ │ │ │ ├── IcpcScoreboardTable.scss │ │ │ │ │ └── IcpcScoreboardTable.test.jsx │ │ │ │ ├── IoiScoreboardTable │ │ │ │ │ ├── IoiScoreboardTable.jsx │ │ │ │ │ ├── IoiScoreboardTable.scss │ │ │ │ │ └── IoiScoreboardTable.test.jsx │ │ │ │ ├── ScoreboardTable │ │ │ │ │ ├── ScoreboardTable.jsx │ │ │ │ │ ├── ScoreboardTable.scss │ │ │ │ │ └── ScoreboardTable.test.jsx │ │ │ │ ├── TrocScoreboardTable │ │ │ │ │ ├── TrocScoreboardTable.jsx │ │ │ │ │ ├── TrocScoreboardTable.scss │ │ │ │ │ └── TrocScoreboardTable.test.jsx │ │ │ │ └── modules │ │ │ │ │ ├── contestScoreboardActions.js │ │ │ │ │ └── contestScoreboardActions.test.js │ │ │ │ ├── submissions │ │ │ │ ├── Bundle │ │ │ │ │ ├── ContestSubmissionRoutes.jsx │ │ │ │ │ ├── ContestSubmissionSummaryPage │ │ │ │ │ │ └── ContestSubmissionSummaryPage.jsx │ │ │ │ │ ├── ContestSubmissionsPage │ │ │ │ │ │ └── ContestSubmissionsPage.jsx │ │ │ │ │ └── modules │ │ │ │ │ │ ├── contestSubmissionActions.js │ │ │ │ │ │ └── contestSubmissionActions.test.js │ │ │ │ └── Programming │ │ │ │ │ ├── ContestSubmissionRoutes.jsx │ │ │ │ │ ├── ContestSubmissionsPage │ │ │ │ │ ├── ContestSubmissionsPage.jsx │ │ │ │ │ └── ContestSubmissionsPage.test.jsx │ │ │ │ │ ├── ContestSubmissionsTable │ │ │ │ │ └── ContestSubmissionsTable.jsx │ │ │ │ │ ├── modules │ │ │ │ │ ├── contestSubmissionActions.js │ │ │ │ │ └── contestSubmissionActions.test.js │ │ │ │ │ └── single │ │ │ │ │ └── ContestSubmissionPage │ │ │ │ │ ├── ContestSubmissionPage.jsx │ │ │ │ │ └── ContestSubmissionPage.test.jsx │ │ │ │ └── supervisors │ │ │ │ ├── ContestSupervisorAddDialog │ │ │ │ ├── ContestSupervisorAddDialog.jsx │ │ │ │ └── ContestSupervisorAddDialog.test.jsx │ │ │ │ ├── ContestSupervisorAddForm │ │ │ │ └── ContestSupervisorAddForm.jsx │ │ │ │ ├── ContestSupervisorAddResultTable │ │ │ │ ├── ContestSupervisorAddResultTable.jsx │ │ │ │ └── ContestSupervisorAddResultTable.test.jsx │ │ │ │ ├── ContestSupervisorRemoveDialog │ │ │ │ ├── ContestSupervisorRemoveDialog.jsx │ │ │ │ └── ContestSupervisorRemoveDialog.test.jsx │ │ │ │ ├── ContestSupervisorRemoveForm │ │ │ │ └── ContestSupervisorRemoveForm.jsx │ │ │ │ ├── ContestSupervisorRemoveResultTable │ │ │ │ ├── ContestSupervisorRemoveResultTable.jsx │ │ │ │ └── ContestSupervisorRemoveResultTable.test.jsx │ │ │ │ ├── ContestSupervisorsPage │ │ │ │ ├── ContestSupervisorsPage.jsx │ │ │ │ ├── ContestSupervisorsPage.scss │ │ │ │ └── ContestSupervisorsPage.test.jsx │ │ │ │ └── ContestSupervisorsTable │ │ │ │ ├── ContestSupervisorsTable.jsx │ │ │ │ └── ContestSupervisorsTable.scss │ │ ├── courses │ │ │ ├── CoursesRoutes.jsx │ │ │ ├── LazyCoursesRoutes.jsx │ │ │ ├── MainCoursesRoutes.jsx │ │ │ └── courses │ │ │ │ ├── CourseCard │ │ │ │ ├── CourseCard.jsx │ │ │ │ └── CourseCard.scss │ │ │ │ ├── CoursesPage │ │ │ │ ├── CoursesPage.jsx │ │ │ │ ├── CoursesPage.scss │ │ │ │ └── CoursesPage.test.jsx │ │ │ │ ├── modules │ │ │ │ ├── courseActions.js │ │ │ │ ├── courseActions.test.js │ │ │ │ ├── courseReducer.js │ │ │ │ └── courseSelectors.js │ │ │ │ └── single │ │ │ │ ├── CourseChaptersSidebar │ │ │ │ ├── CourseChaptersSidebar.jsx │ │ │ │ └── CourseChaptersSidebar.scss │ │ │ │ ├── CourseOverview │ │ │ │ ├── CourseOverview.jsx │ │ │ │ └── CourseOverview.scss │ │ │ │ ├── MainSingleCourseRoutes.jsx │ │ │ │ ├── SingleCourseContentRoutes.jsx │ │ │ │ ├── SingleCourseDataRoute.jsx │ │ │ │ ├── SingleCourseDataRoute.test.jsx │ │ │ │ ├── SingleCourseRoutes.jsx │ │ │ │ ├── SingleCourseRoutes.scss │ │ │ │ └── chapters │ │ │ │ ├── modules │ │ │ │ ├── courseChapterActions.js │ │ │ │ ├── courseChapterActions.test.js │ │ │ │ ├── courseChapterReducer.js │ │ │ │ ├── courseChapterSelectors.js │ │ │ │ ├── courseChaptersReducer.js │ │ │ │ └── courseChaptersSelectors.js │ │ │ │ └── single │ │ │ │ ├── MainSingleCourseChapterRoutes.jsx │ │ │ │ ├── SingleCourseChapterDataRoute.jsx │ │ │ │ ├── SingleCourseChapterDataRoute.test.jsx │ │ │ │ ├── SingleCourseChapterRoutes.jsx │ │ │ │ ├── lessons │ │ │ │ ├── ChapterLessonRoutes.jsx │ │ │ │ └── single │ │ │ │ │ ├── ChapterLessonPage │ │ │ │ │ ├── ChapterLessonPage.jsx │ │ │ │ │ └── ChapterLessonPage.scss │ │ │ │ │ └── modules │ │ │ │ │ ├── chapterLessonActions.js │ │ │ │ │ └── chapterLessonActions.test.js │ │ │ │ ├── problems │ │ │ │ ├── ChapterProblemRoutes.jsx │ │ │ │ └── single │ │ │ │ │ ├── Bundle │ │ │ │ │ ├── ChapterProblemPage.jsx │ │ │ │ │ ├── ChapterProblemPage.scss │ │ │ │ │ ├── ChapterProblemStatementPage │ │ │ │ │ │ ├── ChapterProblemStatementPage.jsx │ │ │ │ │ │ └── ChapterProblemStatementPage.scss │ │ │ │ │ └── submissions │ │ │ │ │ │ ├── ChapterProblemSubmissionRoutes.jsx │ │ │ │ │ │ ├── ChapterProblemSubmissionsPage │ │ │ │ │ │ ├── ChapterProblemSubmissionsPage.jsx │ │ │ │ │ │ └── ChapterProblemSubmissionsPage.scss │ │ │ │ │ │ └── modules │ │ │ │ │ │ └── chapterProblemSubmissionActions.js │ │ │ │ │ ├── ChapterProblemPage │ │ │ │ │ ├── ChapterProblemPage.jsx │ │ │ │ │ └── ChapterProblemPage.scss │ │ │ │ │ ├── Programming │ │ │ │ │ ├── ChapterProblemPage.jsx │ │ │ │ │ ├── ChapterProblemPage.scss │ │ │ │ │ ├── ChapterProblemPage.test.jsx │ │ │ │ │ ├── ChapterProblemStatementPage │ │ │ │ │ │ ├── ChapterProblemStatementPage.jsx │ │ │ │ │ │ └── ChapterProblemStatementPage.scss │ │ │ │ │ ├── ChapterProblemStatementRoutes.jsx │ │ │ │ │ ├── ChapterProblemStatementRoutes.scss │ │ │ │ │ ├── ChapterProblemWorkspacePage │ │ │ │ │ │ └── ChapterProblemWorkspacePage.jsx │ │ │ │ │ └── submissions │ │ │ │ │ │ ├── ChapterProblemSubmissionRoutes.jsx │ │ │ │ │ │ ├── ChapterProblemSubmissionRoutes.scss │ │ │ │ │ │ ├── ChapterProblemSubmissionsPage │ │ │ │ │ │ ├── ChapterProblemSubmissionsPage.jsx │ │ │ │ │ │ └── ChapterProblemSubmissionsPage.test.jsx │ │ │ │ │ │ ├── ChapterProblemSubmissionsTable │ │ │ │ │ │ └── ChapterProblemSubmissionsTable.jsx │ │ │ │ │ │ ├── modules │ │ │ │ │ │ ├── chapterProblemSubmissionActions.js │ │ │ │ │ │ └── chapterProblemSubmissionActions.test.js │ │ │ │ │ │ └── single │ │ │ │ │ │ └── ChapterProblemSubmissionPage │ │ │ │ │ │ ├── ChapterProblemSubmissionPage.jsx │ │ │ │ │ │ └── ChapterProblemSubmissionPage.test.jsx │ │ │ │ │ └── modules │ │ │ │ │ ├── chapterProblemActions.js │ │ │ │ │ ├── chapterProblemActions.test.js │ │ │ │ │ ├── chapterProblemReducer.js │ │ │ │ │ └── chapterProblemSelectors.js │ │ │ │ └── resources │ │ │ │ ├── ChapterLessonCard │ │ │ │ ├── ChapterLessonCard.jsx │ │ │ │ └── ChapterLessonCard.scss │ │ │ │ ├── ChapterNavigation │ │ │ │ └── ChapterNavigation.jsx │ │ │ │ ├── ChapterProblemCard │ │ │ │ ├── ChapterProblemCard.jsx │ │ │ │ └── ChapterProblemCard.scss │ │ │ │ ├── ChapterResourcesPage │ │ │ │ ├── ChapterResourcesPage.jsx │ │ │ │ ├── ChapterResourcesPage.scss │ │ │ │ └── ChapterResourcesPage.test.jsx │ │ │ │ └── modules │ │ │ │ ├── chapterResourceActions.js │ │ │ │ └── chapterResourceActions.test.js │ │ ├── home │ │ │ ├── HomePage │ │ │ │ ├── HomePage.jsx │ │ │ │ └── HomePage.scss │ │ │ └── widgets │ │ │ │ ├── activeContests │ │ │ │ ├── ActiveContestCard │ │ │ │ │ ├── ActiveContestCard.jsx │ │ │ │ │ ├── ActiveContestCard.scss │ │ │ │ │ └── LoadingActiveContestCard.jsx │ │ │ │ └── ActiveContestsWidget │ │ │ │ │ └── ActiveContestsWidget.jsx │ │ │ │ ├── modules │ │ │ │ └── widgetActions.js │ │ │ │ ├── topRatings │ │ │ │ └── TopRatingsWidget │ │ │ │ │ ├── TopRatingsWidget.jsx │ │ │ │ │ └── TopRatingsWidget.scss │ │ │ │ └── topScorers │ │ │ │ └── TopScorersWidget │ │ │ │ ├── TopScorersWidget.jsx │ │ │ │ └── TopScorersWidget.scss │ │ ├── jophiel │ │ │ ├── JophielAccountRoutes.jsx │ │ │ ├── JophielProfilesRoutes.jsx │ │ │ ├── JophielRoutes.jsx │ │ │ ├── account │ │ │ │ ├── AccountRoutes.jsx │ │ │ │ ├── changeAvatar │ │ │ │ │ └── ChangeAvatarPage │ │ │ │ │ │ ├── ChangeAvatarForm.jsx │ │ │ │ │ │ ├── ChangeAvatarPage.jsx │ │ │ │ │ │ └── ChangeAvatarPanel.scss │ │ │ │ ├── info │ │ │ │ │ └── InfoPage │ │ │ │ │ │ └── InfoPage.jsx │ │ │ │ └── resetPassword │ │ │ │ │ ├── ResetPasswordForm │ │ │ │ │ └── ResetPasswordForm.jsx │ │ │ │ │ ├── ResetPasswordPage │ │ │ │ │ ├── ResetPasswordPage.jsx │ │ │ │ │ └── ResetPasswordPage.test.jsx │ │ │ │ │ └── modules │ │ │ │ │ ├── resetPasswordActions.js │ │ │ │ │ └── resetPasswordActions.test.js │ │ │ ├── activate │ │ │ │ ├── ActivatePage │ │ │ │ │ ├── ActivatePage.jsx │ │ │ │ │ └── ActivatePage.test.jsx │ │ │ │ └── modules │ │ │ │ │ ├── activateActions.js │ │ │ │ │ └── activateActions.test.js │ │ │ ├── components │ │ │ │ ├── GoogleAuth │ │ │ │ │ ├── GoogleAuth.jsx │ │ │ │ │ └── GoogleAuth.scss │ │ │ │ ├── GoogleAuthRegisterForm │ │ │ │ │ └── GoogleAuthRegisterForm.jsx │ │ │ │ └── ResendActivationEmailButton │ │ │ │ │ └── ResendActivationEmailButton.jsx │ │ │ ├── forgotPassword │ │ │ │ ├── ForgotPasswordForm │ │ │ │ │ └── ForgotPasswordForm.jsx │ │ │ │ ├── ForgotPasswordPage │ │ │ │ │ ├── ForgotPasswordPage.jsx │ │ │ │ │ └── ForgotPasswordPage.test.jsx │ │ │ │ └── modules │ │ │ │ │ ├── forgotPasswordActions.js │ │ │ │ │ └── forgotPasswordActions.test.js │ │ │ ├── login │ │ │ │ ├── LoginForm │ │ │ │ │ ├── LoginForm.jsx │ │ │ │ │ └── LoginForm.scss │ │ │ │ ├── LoginPage │ │ │ │ │ ├── LoginPage.jsx │ │ │ │ │ ├── LoginPage.scss │ │ │ │ │ └── LoginPage.test.jsx │ │ │ │ └── modules │ │ │ │ │ ├── loginActions.js │ │ │ │ │ └── loginActions.test.js │ │ │ ├── logout │ │ │ │ ├── LogoutPage │ │ │ │ │ ├── LogoutPage.jsx │ │ │ │ │ └── LogoutPage.test.jsx │ │ │ │ └── modules │ │ │ │ │ ├── logoutActions.js │ │ │ │ │ └── logoutActions.test.js │ │ │ ├── modules │ │ │ │ ├── avatarActions.js │ │ │ │ ├── avatarActions.test.js │ │ │ │ ├── googleAuthActions.js │ │ │ │ ├── googleAuthActions.test.js │ │ │ │ ├── infoActions.js │ │ │ │ ├── infoActions.test.js │ │ │ │ ├── profileActions.js │ │ │ │ ├── profileActions.test.js │ │ │ │ ├── profileReducer.js │ │ │ │ ├── profileSelectors.js │ │ │ │ ├── userAccountActions.js │ │ │ │ ├── userAccountActions.test.js │ │ │ │ ├── userActions.js │ │ │ │ ├── userWebActions.js │ │ │ │ ├── userWebReducer.js │ │ │ │ └── userWebSelectors.js │ │ │ ├── needActivation │ │ │ │ └── NeedActivationPage │ │ │ │ │ ├── NeedActivationPage.jsx │ │ │ │ │ └── NeedActivationPage.scss │ │ │ ├── panels │ │ │ │ └── info │ │ │ │ │ ├── InfoForm │ │ │ │ │ └── InfoForm.jsx │ │ │ │ │ ├── InfoPanel │ │ │ │ │ ├── InfoPanel.jsx │ │ │ │ │ ├── InfoPanel.scss │ │ │ │ │ └── InfoPanel.test.jsx │ │ │ │ │ └── InfoTable │ │ │ │ │ └── InfoTable.jsx │ │ │ ├── profiles │ │ │ │ ├── ProfilesRoutes.jsx │ │ │ │ └── single │ │ │ │ │ ├── SingleProfileDataRoute.jsx │ │ │ │ │ ├── SingleProfileRoutes.jsx │ │ │ │ │ ├── contestHistory │ │ │ │ │ └── ContestHistoryPage │ │ │ │ │ │ ├── ContestHistoryPage.jsx │ │ │ │ │ │ └── ContestHistoryPage.scss │ │ │ │ │ ├── modules │ │ │ │ │ └── profileActions.js │ │ │ │ │ ├── submissionHistory │ │ │ │ │ ├── SubmissionHistoryPage │ │ │ │ │ │ └── SubmissionHistoryPage.jsx │ │ │ │ │ └── SubmissionsTable │ │ │ │ │ │ └── SubmissionsTable.jsx │ │ │ │ │ └── summary │ │ │ │ │ ├── BasicProfilePanel │ │ │ │ │ ├── BasicProfilePanel.jsx │ │ │ │ │ └── BasicProfilePanel.scss │ │ │ │ │ ├── ProblemStatsPanel │ │ │ │ │ └── ProblemStatsPanel.jsx │ │ │ │ │ └── ProfileSummaryPage │ │ │ │ │ ├── ProfileSummaryPage.jsx │ │ │ │ │ └── ProfileSummaryPage.scss │ │ │ ├── register │ │ │ │ ├── RegisterForm │ │ │ │ │ ├── RegisterForm.jsx │ │ │ │ │ └── RegisterForm.scss │ │ │ │ ├── RegisterPage │ │ │ │ │ ├── RegisterPage.jsx │ │ │ │ │ ├── RegisterPage.scss │ │ │ │ │ └── RegisterPage.test.jsx │ │ │ │ └── modules │ │ │ │ │ ├── registerActions.js │ │ │ │ │ └── registerActions.test.js │ │ │ ├── registered │ │ │ │ └── RegisteredPage │ │ │ │ │ └── RegisteredPage.jsx │ │ │ └── resetPassword │ │ │ │ ├── ResetPasswordForm │ │ │ │ └── ResetPasswordForm.jsx │ │ │ │ ├── ResetPasswordPage │ │ │ │ ├── ResetPasswordPage.jsx │ │ │ │ └── ResetPasswordPage.test.jsx │ │ │ │ └── modules │ │ │ │ ├── resetPasswordActions.js │ │ │ │ └── resetPasswordActions.test.js │ │ ├── problems │ │ │ ├── LazyProblemsRoutes.jsx │ │ │ ├── MainProblemsRoutes.jsx │ │ │ ├── MainProblemsWrapperRoutes.jsx │ │ │ ├── ProblemsRoutes.jsx │ │ │ ├── ProblemsRoutes.scss │ │ │ ├── problems │ │ │ │ ├── ProblemTagFilter │ │ │ │ │ ├── ProblemTagFilter.jsx │ │ │ │ │ └── ProblemTagFilter.scss │ │ │ │ ├── ProblemsPage │ │ │ │ │ └── ProblemsPage.jsx │ │ │ │ └── modules │ │ │ │ │ └── problemActions.js │ │ │ └── problemsets │ │ │ │ ├── ProblemSetArchiveFilter │ │ │ │ ├── ProblemSetArchiveFilter.jsx │ │ │ │ └── ProblemSetArchiveFilter.scss │ │ │ │ ├── ProblemSetCard │ │ │ │ ├── ProblemSetCard.jsx │ │ │ │ └── ProblemSetCard.scss │ │ │ │ ├── ProblemSetsPage │ │ │ │ ├── ProblemSetsPage.jsx │ │ │ │ └── ProblemSetsPage.scss │ │ │ │ ├── modules │ │ │ │ ├── archiveActions.js │ │ │ │ ├── problemSetActions.js │ │ │ │ ├── problemSetReducer.js │ │ │ │ └── problemSetSelectors.js │ │ │ │ └── single │ │ │ │ ├── MainSingleProblemSetRoutes.jsx │ │ │ │ ├── SingleProblemSetDataRoute.jsx │ │ │ │ ├── SingleProblemSetRoutes.jsx │ │ │ │ ├── SingleProblemSetRoutes.scss │ │ │ │ └── problems │ │ │ │ ├── ProblemSetProblemsPage │ │ │ │ └── ProblemSetProblemsPage.jsx │ │ │ │ ├── modules │ │ │ │ ├── problemSetProblemActions.js │ │ │ │ ├── problemSetProblemReducer.js │ │ │ │ └── problemSetProblemSelectors.js │ │ │ │ └── single │ │ │ │ ├── MainSingleProblemSetProblemRoutes.jsx │ │ │ │ ├── ProblemEditorialDialog │ │ │ │ ├── ProblemEditorialDialog.jsx │ │ │ │ └── ProblemEditorialDialog.scss │ │ │ │ ├── ProblemReportWidget │ │ │ │ ├── ProblemReportWidget.jsx │ │ │ │ └── ProblemReportWidget.scss │ │ │ │ ├── SingleProblemSetProblemDataRoute.jsx │ │ │ │ ├── SingleProblemSetProblemRoutes.jsx │ │ │ │ ├── SingleProblemSetProblemRoutes.scss │ │ │ │ ├── results │ │ │ │ ├── ProblemItemSubmissionRoutes.jsx │ │ │ │ ├── ProblemSubmissionSummaryPage │ │ │ │ │ └── ProblemSubmissionSummaryPage.jsx │ │ │ │ ├── ProblemSubmissionsPage │ │ │ │ │ └── ProblemSubmissionsPage.jsx │ │ │ │ └── modules │ │ │ │ │ └── problemSetSubmissionActions.js │ │ │ │ ├── statement │ │ │ │ ├── Bundle │ │ │ │ │ └── ProblemStatementPage.jsx │ │ │ │ ├── ProblemStatementPage │ │ │ │ │ └── ProblemStatementPage.jsx │ │ │ │ └── Programming │ │ │ │ │ └── ProblemStatementPage.jsx │ │ │ │ └── submissions │ │ │ │ ├── ProblemSubmissionRoutes.jsx │ │ │ │ ├── ProblemSubmissionsPage │ │ │ │ └── ProblemSubmissionsPage.jsx │ │ │ │ ├── ProblemSubmissionsTable │ │ │ │ └── ProblemSubmissionsTable.jsx │ │ │ │ ├── modules │ │ │ │ └── problemSetSubmissionActions.js │ │ │ │ └── single │ │ │ │ └── ProblemSubmissionPage │ │ │ │ └── ProblemSubmissionPage.jsx │ │ ├── ranking │ │ │ ├── LazyRankingRoutes.jsx │ │ │ ├── RankingRoutes.jsx │ │ │ ├── modules │ │ │ │ └── rankingActions.js │ │ │ ├── ratings │ │ │ │ ├── RatingSystemPage │ │ │ │ │ ├── RatingSystemPage.jsx │ │ │ │ │ └── RatingSystemPage.scss │ │ │ │ └── RatingsPage │ │ │ │ │ ├── RatingsPage.jsx │ │ │ │ │ └── RatingsPage.scss │ │ │ └── scores │ │ │ │ └── ScoresPage │ │ │ │ ├── ScoresPage.jsx │ │ │ │ └── ScoresPage.scss │ │ ├── submissions │ │ │ ├── LazySubmissionsRoutes.jsx │ │ │ ├── SubmissionsPage │ │ │ │ └── SubmissionsPage.jsx │ │ │ ├── SubmissionsRoutes.jsx │ │ │ ├── SubmissionsTable │ │ │ │ └── SubmissionsTable.jsx │ │ │ ├── modules │ │ │ │ └── submissionActions.js │ │ │ └── single │ │ │ │ └── SubmissionPage │ │ │ │ └── SubmissionPage.jsx │ │ ├── system │ │ │ ├── LazySystemRoutes.jsx │ │ │ ├── SystemRoutes.jsx │ │ │ └── ratings │ │ │ │ ├── ContestRatingChangesDialog │ │ │ │ ├── ContestRatingChangesDialog.jsx │ │ │ │ └── ContestRatingChangesDialog.scss │ │ │ │ ├── ContestsPendingRatingTable │ │ │ │ ├── ContestsPendingRatingTable.jsx │ │ │ │ └── ContestsPendingRatingTable.scss │ │ │ │ ├── RatingsPage │ │ │ │ ├── RatingsPage.jsx │ │ │ │ └── RatingsPage.test.jsx │ │ │ │ └── modules │ │ │ │ └── ratingActions.jsx │ │ └── training │ │ │ ├── LazyTrainingRoutes.jsx │ │ │ ├── TrainingRoutes.jsx │ │ │ ├── archives │ │ │ ├── ArchiveCreateDialog │ │ │ │ ├── ArchiveCreateDialog.jsx │ │ │ │ └── ArchiveCreateDialog.test.jsx │ │ │ ├── ArchiveCreateForm │ │ │ │ └── ArchiveCreateForm.jsx │ │ │ ├── ArchiveEditDialog │ │ │ │ ├── ArchiveEditDialog.jsx │ │ │ │ └── ArchiveEditDialog.test.jsx │ │ │ ├── ArchiveEditForm │ │ │ │ └── ArchiveEditForm.jsx │ │ │ ├── ArchivesPage │ │ │ │ └── ArchivesPage.jsx │ │ │ ├── ArchivesTable │ │ │ │ ├── ArchivesTable.jsx │ │ │ │ └── ArchivesTable.scss │ │ │ └── modules │ │ │ │ ├── archiveActions.js │ │ │ │ └── archiveActions.test.js │ │ │ ├── chapters │ │ │ ├── ChapterCreateDialog │ │ │ │ ├── ChapterCreateDialog.jsx │ │ │ │ └── ChapterCreateDialog.test.jsx │ │ │ ├── ChapterCreateForm │ │ │ │ └── ChapterCreateForm.jsx │ │ │ ├── ChapterEditDialog │ │ │ │ ├── ChapterEditDialog.jsx │ │ │ │ └── ChapterEditDialog.test.jsx │ │ │ ├── ChapterEditForm │ │ │ │ └── ChapterEditForm.jsx │ │ │ ├── ChapterLessonEditDialog │ │ │ │ ├── ChapterLessonEditDialog.jsx │ │ │ │ └── ChapterLessonEditDialog.test.jsx │ │ │ ├── ChapterLessonEditForm │ │ │ │ └── ChapterLessonEditForm.jsx │ │ │ ├── ChapterLessonsTable │ │ │ │ ├── ChapterLessonsTable.jsx │ │ │ │ └── ChapterLessonsTable.scss │ │ │ ├── ChapterProblemEditDialog │ │ │ │ ├── ChapterProblemEditDialog.jsx │ │ │ │ └── ChapterProblemEditDialog.test.jsx │ │ │ ├── ChapterProblemEditForm │ │ │ │ └── ChapterProblemEditForm.jsx │ │ │ ├── ChapterProblemsTable │ │ │ │ ├── ChapterProblemsTable.jsx │ │ │ │ └── ChapterProblemsTable.scss │ │ │ ├── ChaptersPage │ │ │ │ └── ChaptersPage.jsx │ │ │ ├── ChaptersTable │ │ │ │ ├── ChaptersTable.jsx │ │ │ │ └── ChaptersTable.scss │ │ │ └── modules │ │ │ │ ├── chapterActions.js │ │ │ │ └── chapterActions.test.js │ │ │ ├── courses │ │ │ ├── CourseChapterEditDialog │ │ │ │ ├── CourseChapterEditDialog.jsx │ │ │ │ └── CourseChapterEditDialog.test.jsx │ │ │ ├── CourseChapterEditForm │ │ │ │ └── CourseChapterEditForm.jsx │ │ │ ├── CourseChaptersTable │ │ │ │ ├── CourseChaptersTable.jsx │ │ │ │ └── CourseChaptersTable.scss │ │ │ ├── CourseCreateDialog │ │ │ │ ├── CourseCreateDialog.jsx │ │ │ │ └── CourseCreateDialog.test.jsx │ │ │ ├── CourseCreateForm │ │ │ │ └── CourseCreateForm.jsx │ │ │ ├── CourseEditDialog │ │ │ │ ├── CourseEditDialog.jsx │ │ │ │ └── CourseEditDialog.test.jsx │ │ │ ├── CourseEditForm │ │ │ │ └── CourseEditForm.jsx │ │ │ ├── CoursesPage │ │ │ │ └── CoursesPage.jsx │ │ │ ├── CoursesTable │ │ │ │ ├── CoursesTable.jsx │ │ │ │ └── CoursesTable.scss │ │ │ └── modules │ │ │ │ ├── courseActions.js │ │ │ │ └── courseActions.test.js │ │ │ └── problemsets │ │ │ ├── ProblemSetCreateDialog │ │ │ ├── ProblemSetCreateDialog.jsx │ │ │ └── ProblemSetCreateDialog.test.jsx │ │ │ ├── ProblemSetCreateForm │ │ │ └── ProblemSetCreateForm.jsx │ │ │ ├── ProblemSetEditDialog │ │ │ ├── ProblemSetEditDialog.jsx │ │ │ └── ProblemSetEditDialog.test.jsx │ │ │ ├── ProblemSetEditForm │ │ │ └── ProblemSetEditForm.jsx │ │ │ ├── ProblemSetProblemEditDialog │ │ │ ├── ProblemSetProblemEditDialog.jsx │ │ │ └── ProblemSetProblemEditDialog.test.jsx │ │ │ ├── ProblemSetProblemEditForm │ │ │ └── ProblemSetProblemEditForm.jsx │ │ │ ├── ProblemSetProblemsTable │ │ │ ├── ProblemSetProblemsTable.jsx │ │ │ └── ProblemSetProblemsTable.scss │ │ │ ├── ProblemSetsPage │ │ │ └── ProblemSetsPage.jsx │ │ │ ├── ProblemSetsTable │ │ │ ├── ProblemSetsTable.jsx │ │ │ └── ProblemSetsTable.scss │ │ │ └── modules │ │ │ ├── problemSetActions.js │ │ │ └── problemSetActions.test.js │ ├── setupTests.js │ ├── styles │ │ ├── _base.scss │ │ ├── _ratings.scss │ │ ├── _table.scss │ │ ├── index.scss │ │ └── variables │ │ │ ├── _colors.scss │ │ │ └── _fonts.scss │ └── utils │ │ ├── base64.js │ │ ├── confirmation.js │ │ ├── datetime.js │ │ ├── datetime.test.js │ │ ├── duration.js │ │ ├── duration.test.js │ │ └── nock.js ├── vite.config.js └── yarn.lock ├── judgels-utils └── scoreboard-receiver │ ├── .gitignore │ └── main.go ├── seeds ├── judgels.sql ├── lessons.tar.gz ├── problems.tar.gz └── submissions.tar.gz └── web ├── .gitignore ├── README.md ├── babel.config.js ├── docs ├── account-management │ ├── _category_.json │ ├── roles.md │ └── users.md ├── changelogs.md ├── deployment │ ├── _category_.json │ ├── cheatsheet.md │ ├── concepts.md │ ├── configuration.md │ ├── database-migration.md │ ├── img │ │ └── judgels-deployment.png │ └── installation.md ├── introduction.md └── migration-guides │ ├── 1to2.md │ └── _category_.json ├── docusaurus.config.js ├── package-lock.json ├── package.json ├── sidebars.js ├── src ├── components │ └── HomepageFeatures │ │ ├── index.js │ │ └── styles.module.css ├── css │ └── custom.css └── pages │ ├── index.js │ └── index.module.css └── static ├── .nojekyll └── img ├── favicon.ico └── logo.png /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/.github/workflows/release.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | *.log*.tmp 3 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/.vscode/extensions.json -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/.vscode/launch.json -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/LICENSE.txt -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/README.md -------------------------------------------------------------------------------- /ci/ansible/ansible.cfg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/ci/ansible/ansible.cfg -------------------------------------------------------------------------------- /ci/ansible/playbooks/build-judgels-client.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/ci/ansible/playbooks/build-judgels-client.yml -------------------------------------------------------------------------------- /ci/ansible/playbooks/build-judgels-grader.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/ci/ansible/playbooks/build-judgels-grader.yml -------------------------------------------------------------------------------- /ci/ansible/playbooks/build-judgels-server.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/ci/ansible/playbooks/build-judgels-server.yml -------------------------------------------------------------------------------- /ci/ansible/playbooks/release-judgels.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/ci/ansible/playbooks/release-judgels.yml -------------------------------------------------------------------------------- /ci/ansible/roles/docker-login/tasks/main.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/ci/ansible/roles/docker-login/tasks/main.yml -------------------------------------------------------------------------------- /ci/ansible/roles/judgels-client-build/meta/main.yml: -------------------------------------------------------------------------------- 1 | dependencies: 2 | - name: docker-login 3 | -------------------------------------------------------------------------------- /ci/ansible/roles/judgels-client-build/tasks/main.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/ci/ansible/roles/judgels-client-build/tasks/main.yml -------------------------------------------------------------------------------- /ci/ansible/roles/judgels-grader-build/meta/main.yml: -------------------------------------------------------------------------------- 1 | dependencies: 2 | - name: docker-login 3 | -------------------------------------------------------------------------------- /ci/ansible/roles/judgels-grader-build/tasks/main.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/ci/ansible/roles/judgels-grader-build/tasks/main.yml -------------------------------------------------------------------------------- /ci/ansible/roles/judgels-server-build/meta/main.yml: -------------------------------------------------------------------------------- 1 | dependencies: 2 | - name: docker-login 3 | -------------------------------------------------------------------------------- /ci/ansible/roles/judgels-server-build/tasks/main.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/ci/ansible/roles/judgels-server-build/tasks/main.yml -------------------------------------------------------------------------------- /ci/scripts/build_judgels_client.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/ci/scripts/build_judgels_client.sh -------------------------------------------------------------------------------- /ci/scripts/build_judgels_grader.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/ci/scripts/build_judgels_grader.sh -------------------------------------------------------------------------------- /ci/scripts/build_judgels_server.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/ci/scripts/build_judgels_server.sh -------------------------------------------------------------------------------- /ci/scripts/check-changed-files.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/ci/scripts/check-changed-files.py -------------------------------------------------------------------------------- /ci/scripts/release_judgels.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/ci/scripts/release_judgels.sh -------------------------------------------------------------------------------- /deployment/v2-ubuntu-22.04/ansible/.gitignore: -------------------------------------------------------------------------------- 1 | env 2 | *.retry 3 | -------------------------------------------------------------------------------- /deployment/v2-ubuntu-22.04/ansible/ansible.cfg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-22.04/ansible/ansible.cfg -------------------------------------------------------------------------------- /deployment/v2-ubuntu-22.04/ansible/conf/judgels-client.js.j2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-22.04/ansible/conf/judgels-client.js.j2 -------------------------------------------------------------------------------- /deployment/v2-ubuntu-22.04/ansible/conf/judgels-grader.yml.j2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-22.04/ansible/conf/judgels-grader.yml.j2 -------------------------------------------------------------------------------- /deployment/v2-ubuntu-22.04/ansible/conf/judgels-server.yml.j2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-22.04/ansible/conf/judgels-server.yml.j2 -------------------------------------------------------------------------------- /deployment/v2-ubuntu-22.04/ansible/conf/nginx-judgels-client.conf.j2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-22.04/ansible/conf/nginx-judgels-client.conf.j2 -------------------------------------------------------------------------------- /deployment/v2-ubuntu-22.04/ansible/conf/nginx.conf.j2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-22.04/ansible/conf/nginx.conf.j2 -------------------------------------------------------------------------------- /deployment/v2-ubuntu-22.04/ansible/env-example/hosts.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-22.04/ansible/env-example/hosts.ini -------------------------------------------------------------------------------- /deployment/v2-ubuntu-22.04/ansible/env-example/vars.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-22.04/ansible/env-example/vars.yml -------------------------------------------------------------------------------- /deployment/v2-ubuntu-22.04/ansible/playbooks/build-judgels-client.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-22.04/ansible/playbooks/build-judgels-client.yml -------------------------------------------------------------------------------- /deployment/v2-ubuntu-22.04/ansible/playbooks/build-judgels-grader.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-22.04/ansible/playbooks/build-judgels-grader.yml -------------------------------------------------------------------------------- /deployment/v2-ubuntu-22.04/ansible/playbooks/build-judgels-server.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-22.04/ansible/playbooks/build-judgels-server.yml -------------------------------------------------------------------------------- /deployment/v2-ubuntu-22.04/ansible/playbooks/deploy-judgels-client.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-22.04/ansible/playbooks/deploy-judgels-client.yml -------------------------------------------------------------------------------- /deployment/v2-ubuntu-22.04/ansible/playbooks/deploy-judgels-grader.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-22.04/ansible/playbooks/deploy-judgels-grader.yml -------------------------------------------------------------------------------- /deployment/v2-ubuntu-22.04/ansible/playbooks/deploy-judgels-server.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-22.04/ansible/playbooks/deploy-judgels-server.yml -------------------------------------------------------------------------------- /deployment/v2-ubuntu-22.04/ansible/playbooks/deploy.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-22.04/ansible/playbooks/deploy.yml -------------------------------------------------------------------------------- /deployment/v2-ubuntu-22.04/ansible/playbooks/dump.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-22.04/ansible/playbooks/dump.yml -------------------------------------------------------------------------------- /deployment/v2-ubuntu-22.04/ansible/playbooks/migrate-judgels-server.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-22.04/ansible/playbooks/migrate-judgels-server.yml -------------------------------------------------------------------------------- /deployment/v2-ubuntu-22.04/ansible/playbooks/provision.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-22.04/ansible/playbooks/provision.yml -------------------------------------------------------------------------------- /deployment/v2-ubuntu-22.04/ansible/playbooks/release-judgels.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-22.04/ansible/playbooks/release-judgels.yml -------------------------------------------------------------------------------- /deployment/v2-ubuntu-22.04/ansible/roles/docker-install/tasks/main.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-22.04/ansible/roles/docker-install/tasks/main.yml -------------------------------------------------------------------------------- /deployment/v2-ubuntu-22.04/ansible/roles/docker-login/tasks/main.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-22.04/ansible/roles/docker-login/tasks/main.yml -------------------------------------------------------------------------------- /deployment/v2-ubuntu-22.04/ansible/roles/judgels-client-build/meta/main.yml: -------------------------------------------------------------------------------- 1 | dependencies: 2 | - name: docker-login 3 | -------------------------------------------------------------------------------- /deployment/v2-ubuntu-22.04/ansible/roles/judgels-grader-build/meta/main.yml: -------------------------------------------------------------------------------- 1 | dependencies: 2 | - name: docker-login 3 | -------------------------------------------------------------------------------- /deployment/v2-ubuntu-22.04/ansible/roles/judgels-server-build/meta/main.yml: -------------------------------------------------------------------------------- 1 | dependencies: 2 | - name: docker-login 3 | -------------------------------------------------------------------------------- /deployment/v2-ubuntu-22.04/ansible/roles/mysql-install/tasks/main.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-22.04/ansible/roles/mysql-install/tasks/main.yml -------------------------------------------------------------------------------- /deployment/v2-ubuntu-22.04/ansible/roles/python-install/tasks/main.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-22.04/ansible/roles/python-install/tasks/main.yml -------------------------------------------------------------------------------- /deployment/v2-ubuntu-22.04/ansible/roles/rabbitmq-deploy/tasks/main.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-22.04/ansible/roles/rabbitmq-deploy/tasks/main.yml -------------------------------------------------------------------------------- /deployment/v2-ubuntu-22.04/ansible/roles/ufw-install/tasks/main.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-22.04/ansible/roles/ufw-install/tasks/main.yml -------------------------------------------------------------------------------- /deployment/v2-ubuntu-22.04/scripts/build_judgels_client.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-22.04/scripts/build_judgels_client.sh -------------------------------------------------------------------------------- /deployment/v2-ubuntu-22.04/scripts/build_judgels_grader.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-22.04/scripts/build_judgels_grader.sh -------------------------------------------------------------------------------- /deployment/v2-ubuntu-22.04/scripts/build_judgels_server.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-22.04/scripts/build_judgels_server.sh -------------------------------------------------------------------------------- /deployment/v2-ubuntu-22.04/scripts/deploy_judgels_client.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-22.04/scripts/deploy_judgels_client.sh -------------------------------------------------------------------------------- /deployment/v2-ubuntu-22.04/scripts/deploy_judgels_grader.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-22.04/scripts/deploy_judgels_grader.sh -------------------------------------------------------------------------------- /deployment/v2-ubuntu-22.04/scripts/deploy_judgels_server.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-22.04/scripts/deploy_judgels_server.sh -------------------------------------------------------------------------------- /deployment/v2-ubuntu-22.04/scripts/release_judgels.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-22.04/scripts/release_judgels.sh -------------------------------------------------------------------------------- /deployment/v2-ubuntu-24.04/ansible/.gitignore: -------------------------------------------------------------------------------- 1 | env 2 | *.retry 3 | -------------------------------------------------------------------------------- /deployment/v2-ubuntu-24.04/ansible/ansible.cfg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-24.04/ansible/ansible.cfg -------------------------------------------------------------------------------- /deployment/v2-ubuntu-24.04/ansible/conf/judgels-client.js.j2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-24.04/ansible/conf/judgels-client.js.j2 -------------------------------------------------------------------------------- /deployment/v2-ubuntu-24.04/ansible/conf/judgels-grader.yml.j2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-24.04/ansible/conf/judgels-grader.yml.j2 -------------------------------------------------------------------------------- /deployment/v2-ubuntu-24.04/ansible/conf/judgels-server.yml.j2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-24.04/ansible/conf/judgels-server.yml.j2 -------------------------------------------------------------------------------- /deployment/v2-ubuntu-24.04/ansible/conf/nginx-judgels-client.conf.j2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-24.04/ansible/conf/nginx-judgels-client.conf.j2 -------------------------------------------------------------------------------- /deployment/v2-ubuntu-24.04/ansible/conf/nginx.conf.j2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-24.04/ansible/conf/nginx.conf.j2 -------------------------------------------------------------------------------- /deployment/v2-ubuntu-24.04/ansible/env-example/hosts.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-24.04/ansible/env-example/hosts.ini -------------------------------------------------------------------------------- /deployment/v2-ubuntu-24.04/ansible/env-example/vars.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-24.04/ansible/env-example/vars.yml -------------------------------------------------------------------------------- /deployment/v2-ubuntu-24.04/ansible/playbooks/deploy-judgels-client.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-24.04/ansible/playbooks/deploy-judgels-client.yml -------------------------------------------------------------------------------- /deployment/v2-ubuntu-24.04/ansible/playbooks/deploy-judgels-grader.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-24.04/ansible/playbooks/deploy-judgels-grader.yml -------------------------------------------------------------------------------- /deployment/v2-ubuntu-24.04/ansible/playbooks/deploy-judgels-server.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-24.04/ansible/playbooks/deploy-judgels-server.yml -------------------------------------------------------------------------------- /deployment/v2-ubuntu-24.04/ansible/playbooks/deploy-phpmyadmin.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-24.04/ansible/playbooks/deploy-phpmyadmin.yml -------------------------------------------------------------------------------- /deployment/v2-ubuntu-24.04/ansible/playbooks/deploy.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-24.04/ansible/playbooks/deploy.yml -------------------------------------------------------------------------------- /deployment/v2-ubuntu-24.04/ansible/playbooks/dump.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-24.04/ansible/playbooks/dump.yml -------------------------------------------------------------------------------- /deployment/v2-ubuntu-24.04/ansible/playbooks/migrate-judgels-server.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-24.04/ansible/playbooks/migrate-judgels-server.yml -------------------------------------------------------------------------------- /deployment/v2-ubuntu-24.04/ansible/playbooks/optimize.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-24.04/ansible/playbooks/optimize.yml -------------------------------------------------------------------------------- /deployment/v2-ubuntu-24.04/ansible/playbooks/provision.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-24.04/ansible/playbooks/provision.yml -------------------------------------------------------------------------------- /deployment/v2-ubuntu-24.04/ansible/roles/docker-install/tasks/main.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-24.04/ansible/roles/docker-install/tasks/main.yml -------------------------------------------------------------------------------- /deployment/v2-ubuntu-24.04/ansible/roles/docker-optimize/tasks/main.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-24.04/ansible/roles/docker-optimize/tasks/main.yml -------------------------------------------------------------------------------- /deployment/v2-ubuntu-24.04/ansible/roles/mysql-install/tasks/main.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-24.04/ansible/roles/mysql-install/tasks/main.yml -------------------------------------------------------------------------------- /deployment/v2-ubuntu-24.04/ansible/roles/mysql-optimize/tasks/main.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-24.04/ansible/roles/mysql-optimize/tasks/main.yml -------------------------------------------------------------------------------- /deployment/v2-ubuntu-24.04/ansible/roles/nginx-install/tasks/main.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-24.04/ansible/roles/nginx-install/tasks/main.yml -------------------------------------------------------------------------------- /deployment/v2-ubuntu-24.04/ansible/roles/nginx-optimize/tasks/main.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-24.04/ansible/roles/nginx-optimize/tasks/main.yml -------------------------------------------------------------------------------- /deployment/v2-ubuntu-24.04/ansible/roles/python-install/tasks/main.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-24.04/ansible/roles/python-install/tasks/main.yml -------------------------------------------------------------------------------- /deployment/v2-ubuntu-24.04/ansible/roles/rabbitmq-deploy/tasks/main.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-24.04/ansible/roles/rabbitmq-deploy/tasks/main.yml -------------------------------------------------------------------------------- /deployment/v2-ubuntu-24.04/ansible/roles/ufw-install/tasks/main.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-24.04/ansible/roles/ufw-install/tasks/main.yml -------------------------------------------------------------------------------- /deployment/v2-ubuntu-24.04/scripts/deploy_judgels_client.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-24.04/scripts/deploy_judgels_client.sh -------------------------------------------------------------------------------- /deployment/v2-ubuntu-24.04/scripts/deploy_judgels_grader.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-24.04/scripts/deploy_judgels_grader.sh -------------------------------------------------------------------------------- /deployment/v2-ubuntu-24.04/scripts/deploy_judgels_server.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v2-ubuntu-24.04/scripts/deploy_judgels_server.sh -------------------------------------------------------------------------------- /deployment/v3-ubuntu-24.04/ansible/.gitignore: -------------------------------------------------------------------------------- 1 | env 2 | *.retry 3 | -------------------------------------------------------------------------------- /deployment/v3-ubuntu-24.04/ansible/ansible.cfg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v3-ubuntu-24.04/ansible/ansible.cfg -------------------------------------------------------------------------------- /deployment/v3-ubuntu-24.04/ansible/conf/judgels-client.js.j2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v3-ubuntu-24.04/ansible/conf/judgels-client.js.j2 -------------------------------------------------------------------------------- /deployment/v3-ubuntu-24.04/ansible/conf/judgels-grader.yml.j2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v3-ubuntu-24.04/ansible/conf/judgels-grader.yml.j2 -------------------------------------------------------------------------------- /deployment/v3-ubuntu-24.04/ansible/conf/judgels-server.yml.j2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v3-ubuntu-24.04/ansible/conf/judgels-server.yml.j2 -------------------------------------------------------------------------------- /deployment/v3-ubuntu-24.04/ansible/conf/nginx-judgels-client.conf.j2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v3-ubuntu-24.04/ansible/conf/nginx-judgels-client.conf.j2 -------------------------------------------------------------------------------- /deployment/v3-ubuntu-24.04/ansible/conf/nginx.conf.j2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v3-ubuntu-24.04/ansible/conf/nginx.conf.j2 -------------------------------------------------------------------------------- /deployment/v3-ubuntu-24.04/ansible/env-example/hosts.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v3-ubuntu-24.04/ansible/env-example/hosts.ini -------------------------------------------------------------------------------- /deployment/v3-ubuntu-24.04/ansible/env-example/vars.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v3-ubuntu-24.04/ansible/env-example/vars.yml -------------------------------------------------------------------------------- /deployment/v3-ubuntu-24.04/ansible/playbooks/deploy-judgels-client.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v3-ubuntu-24.04/ansible/playbooks/deploy-judgels-client.yml -------------------------------------------------------------------------------- /deployment/v3-ubuntu-24.04/ansible/playbooks/deploy-judgels-grader.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v3-ubuntu-24.04/ansible/playbooks/deploy-judgels-grader.yml -------------------------------------------------------------------------------- /deployment/v3-ubuntu-24.04/ansible/playbooks/deploy-judgels-server.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v3-ubuntu-24.04/ansible/playbooks/deploy-judgels-server.yml -------------------------------------------------------------------------------- /deployment/v3-ubuntu-24.04/ansible/playbooks/deploy-phpmyadmin.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v3-ubuntu-24.04/ansible/playbooks/deploy-phpmyadmin.yml -------------------------------------------------------------------------------- /deployment/v3-ubuntu-24.04/ansible/playbooks/deploy.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v3-ubuntu-24.04/ansible/playbooks/deploy.yml -------------------------------------------------------------------------------- /deployment/v3-ubuntu-24.04/ansible/playbooks/dump.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v3-ubuntu-24.04/ansible/playbooks/dump.yml -------------------------------------------------------------------------------- /deployment/v3-ubuntu-24.04/ansible/playbooks/migrate-judgels-server.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v3-ubuntu-24.04/ansible/playbooks/migrate-judgels-server.yml -------------------------------------------------------------------------------- /deployment/v3-ubuntu-24.04/ansible/playbooks/optimize.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v3-ubuntu-24.04/ansible/playbooks/optimize.yml -------------------------------------------------------------------------------- /deployment/v3-ubuntu-24.04/ansible/playbooks/provision.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v3-ubuntu-24.04/ansible/playbooks/provision.yml -------------------------------------------------------------------------------- /deployment/v3-ubuntu-24.04/ansible/roles/docker-install/tasks/main.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v3-ubuntu-24.04/ansible/roles/docker-install/tasks/main.yml -------------------------------------------------------------------------------- /deployment/v3-ubuntu-24.04/ansible/roles/docker-optimize/tasks/main.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v3-ubuntu-24.04/ansible/roles/docker-optimize/tasks/main.yml -------------------------------------------------------------------------------- /deployment/v3-ubuntu-24.04/ansible/roles/mysql-install/tasks/main.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v3-ubuntu-24.04/ansible/roles/mysql-install/tasks/main.yml -------------------------------------------------------------------------------- /deployment/v3-ubuntu-24.04/ansible/roles/mysql-optimize/tasks/main.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v3-ubuntu-24.04/ansible/roles/mysql-optimize/tasks/main.yml -------------------------------------------------------------------------------- /deployment/v3-ubuntu-24.04/ansible/roles/nginx-install/tasks/main.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v3-ubuntu-24.04/ansible/roles/nginx-install/tasks/main.yml -------------------------------------------------------------------------------- /deployment/v3-ubuntu-24.04/ansible/roles/nginx-optimize/tasks/main.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v3-ubuntu-24.04/ansible/roles/nginx-optimize/tasks/main.yml -------------------------------------------------------------------------------- /deployment/v3-ubuntu-24.04/ansible/roles/python-install/tasks/main.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v3-ubuntu-24.04/ansible/roles/python-install/tasks/main.yml -------------------------------------------------------------------------------- /deployment/v3-ubuntu-24.04/ansible/roles/rabbitmq-deploy/tasks/main.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v3-ubuntu-24.04/ansible/roles/rabbitmq-deploy/tasks/main.yml -------------------------------------------------------------------------------- /deployment/v3-ubuntu-24.04/ansible/roles/ufw-install/tasks/main.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v3-ubuntu-24.04/ansible/roles/ufw-install/tasks/main.yml -------------------------------------------------------------------------------- /deployment/v3-ubuntu-24.04/scripts/deploy_judgels_client.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v3-ubuntu-24.04/scripts/deploy_judgels_client.sh -------------------------------------------------------------------------------- /deployment/v3-ubuntu-24.04/scripts/deploy_judgels_grader.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v3-ubuntu-24.04/scripts/deploy_judgels_grader.sh -------------------------------------------------------------------------------- /deployment/v3-ubuntu-24.04/scripts/deploy_judgels_server.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/deployment/v3-ubuntu-24.04/scripts/deploy_judgels_server.sh -------------------------------------------------------------------------------- /judgels-backends/.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-backends/.editorconfig -------------------------------------------------------------------------------- /judgels-backends/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-backends/.gitignore -------------------------------------------------------------------------------- /judgels-backends/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-backends/build.gradle -------------------------------------------------------------------------------- /judgels-backends/config/checkstyle/checkstyle.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-backends/config/checkstyle/checkstyle.xml -------------------------------------------------------------------------------- /judgels-backends/config/checkstyle/suppressions.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-backends/config/checkstyle/suppressions.xml -------------------------------------------------------------------------------- /judgels-backends/gradle.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-backends/gradle.properties -------------------------------------------------------------------------------- /judgels-backends/gradle/integTest.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-backends/gradle/integTest.gradle -------------------------------------------------------------------------------- /judgels-backends/gradle/java.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-backends/gradle/java.gradle -------------------------------------------------------------------------------- /judgels-backends/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-backends/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /judgels-backends/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-backends/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /judgels-backends/gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-backends/gradlew -------------------------------------------------------------------------------- /judgels-backends/gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-backends/gradlew.bat -------------------------------------------------------------------------------- /judgels-backends/judgels-commons/judgels-fs/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-backends/judgels-commons/judgels-fs/build.gradle -------------------------------------------------------------------------------- /judgels-backends/judgels-commons/judgels-mapper/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-backends/judgels-commons/judgels-mapper/build.gradle -------------------------------------------------------------------------------- /judgels-backends/judgels-commons/judgels-messaging/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-backends/judgels-commons/judgels-messaging/build.gradle -------------------------------------------------------------------------------- /judgels-backends/judgels-commons/judgels-service-core/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-backends/judgels-commons/judgels-service-core/build.gradle -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-api/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-backends/judgels-grader-api/build.gradle -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-app/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-backends/judgels-grader-app/.gitignore -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-app/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-backends/judgels-grader-app/Dockerfile -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-app/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-backends/judgels-grader-app/build.gradle -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-app/init.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-backends/judgels-grader-app/init.sh -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-app/var/conf/judgels-grader.yml.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-backends/judgels-grader-app/var/conf/judgels-grader.yml.example -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-engines/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-backends/judgels-grader-engines/build.gradle -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-engines/src/integTest/resources/engines/batch/testdata/1_1.in: -------------------------------------------------------------------------------- 1 | 1 1 2 | -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-engines/src/integTest/resources/engines/batch/testdata/1_1.out: -------------------------------------------------------------------------------- 1 | Case #1: 2 | 2 3 | -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-engines/src/integTest/resources/engines/batch/testdata/1_2.in: -------------------------------------------------------------------------------- 1 | 1 2 2 | -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-engines/src/integTest/resources/engines/batch/testdata/1_2.out: -------------------------------------------------------------------------------- 1 | Case #1: 2 | 3 3 | -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-engines/src/integTest/resources/engines/batch/testdata/2_1.in: -------------------------------------------------------------------------------- 1 | 2 1 2 | -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-engines/src/integTest/resources/engines/batch/testdata/2_1.out: -------------------------------------------------------------------------------- 1 | Case #1: 2 | 3 3 | -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-engines/src/integTest/resources/engines/batch/testdata/2_2.in: -------------------------------------------------------------------------------- 1 | 2 2 2 | -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-engines/src/integTest/resources/engines/batch/testdata/2_2.out: -------------------------------------------------------------------------------- 1 | Case #1: 2 | 4 3 | -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-engines/src/integTest/resources/engines/batch/testdata/2_3.in: -------------------------------------------------------------------------------- 1 | 2 3 2 | -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-engines/src/integTest/resources/engines/batch/testdata/2_3.out: -------------------------------------------------------------------------------- 1 | Case #1: 2 | 5 3 | -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-engines/src/integTest/resources/engines/batch/testdata/sample_1.in: -------------------------------------------------------------------------------- 1 | 0 1 2 | -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-engines/src/integTest/resources/engines/batch/testdata/sample_1.out: -------------------------------------------------------------------------------- 1 | Case #1: 2 | 1 3 | -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-engines/src/integTest/resources/engines/batch/testdata/sample_2.in: -------------------------------------------------------------------------------- 1 | 0 2 2 | -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-engines/src/integTest/resources/engines/batch/testdata/sample_2.out: -------------------------------------------------------------------------------- 1 | Case #1: 2 | 2 3 | -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-engines/src/integTest/resources/engines/batch/testdata/sample_3.in: -------------------------------------------------------------------------------- 1 | 0 3 2 | -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-engines/src/integTest/resources/engines/batch/testdata/sample_3.out: -------------------------------------------------------------------------------- 1 | Case #1: 2 | 3 3 | -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-engines/src/integTest/resources/engines/functional/testdata/1_1.in: -------------------------------------------------------------------------------- 1 | 4 2 | -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-engines/src/integTest/resources/engines/functional/testdata/1_1.out: -------------------------------------------------------------------------------- 1 | SECRET_KEY 2 | -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-engines/src/integTest/resources/engines/functional/testdata/1_2.in: -------------------------------------------------------------------------------- 1 | 5 2 | -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-engines/src/integTest/resources/engines/functional/testdata/1_2.out: -------------------------------------------------------------------------------- 1 | SECRET_KEY 2 | -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-engines/src/integTest/resources/engines/functional/testdata/2_1.in: -------------------------------------------------------------------------------- 1 | 6 2 | -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-engines/src/integTest/resources/engines/functional/testdata/2_1.out: -------------------------------------------------------------------------------- 1 | SECRET_KEY 2 | -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-engines/src/integTest/resources/engines/functional/testdata/2_2.in: -------------------------------------------------------------------------------- 1 | 7 2 | -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-engines/src/integTest/resources/engines/functional/testdata/2_2.out: -------------------------------------------------------------------------------- 1 | SECRET_KEY 2 | -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-engines/src/integTest/resources/engines/functional/testdata/2_3.in: -------------------------------------------------------------------------------- 1 | 8 2 | -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-engines/src/integTest/resources/engines/functional/testdata/2_3.out: -------------------------------------------------------------------------------- 1 | SECRET_KEY 2 | -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-engines/src/integTest/resources/engines/functional/testdata/sample_1.in: -------------------------------------------------------------------------------- 1 | 1 2 | -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-engines/src/integTest/resources/engines/functional/testdata/sample_1.out: -------------------------------------------------------------------------------- 1 | SECRET_KEY 2 | -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-engines/src/integTest/resources/engines/functional/testdata/sample_2.in: -------------------------------------------------------------------------------- 1 | 2 2 | -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-engines/src/integTest/resources/engines/functional/testdata/sample_2.out: -------------------------------------------------------------------------------- 1 | SECRET_KEY 2 | -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-engines/src/integTest/resources/engines/functional/testdata/sample_3.in: -------------------------------------------------------------------------------- 1 | 3 2 | -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-engines/src/integTest/resources/engines/functional/testdata/sample_3.out: -------------------------------------------------------------------------------- 1 | SECRET_KEY 2 | -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-engines/src/integTest/resources/engines/interactive/testdata/1_1.in: -------------------------------------------------------------------------------- 1 | 1 2 | -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-engines/src/integTest/resources/engines/interactive/testdata/1_2.in: -------------------------------------------------------------------------------- 1 | 8 2 | -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-engines/src/integTest/resources/engines/interactive/testdata/2_1.in: -------------------------------------------------------------------------------- 1 | 30 2 | -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-engines/src/integTest/resources/engines/interactive/testdata/2_2.in: -------------------------------------------------------------------------------- 1 | 200 2 | -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-engines/src/integTest/resources/engines/interactive/testdata/2_3.in: -------------------------------------------------------------------------------- 1 | 500 2 | -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-engines/src/integTest/resources/engines/interactive/testdata/sample_1.in: -------------------------------------------------------------------------------- 1 | 3 2 | -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-engines/src/integTest/resources/engines/interactive/testdata/sample_2.in: -------------------------------------------------------------------------------- 1 | 5 2 | -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-engines/src/integTest/resources/engines/interactive/testdata/sample_3.in: -------------------------------------------------------------------------------- 1 | 100 2 | -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-engines/src/integTest/resources/engines/outputonly/testdata/1_1.in: -------------------------------------------------------------------------------- 1 | 1 1 2 | -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-engines/src/integTest/resources/engines/outputonly/testdata/1_1.out: -------------------------------------------------------------------------------- 1 | 2 2 | -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-engines/src/integTest/resources/engines/outputonly/testdata/1_2.in: -------------------------------------------------------------------------------- 1 | 1 2 2 | -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-engines/src/integTest/resources/engines/outputonly/testdata/1_2.out: -------------------------------------------------------------------------------- 1 | 3 2 | -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-engines/src/integTest/resources/engines/outputonly/testdata/2_1.in: -------------------------------------------------------------------------------- 1 | 2 1 2 | -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-engines/src/integTest/resources/engines/outputonly/testdata/2_1.out: -------------------------------------------------------------------------------- 1 | 3 2 | -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-engines/src/integTest/resources/engines/outputonly/testdata/2_2.in: -------------------------------------------------------------------------------- 1 | 2 2 2 | -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-engines/src/integTest/resources/engines/outputonly/testdata/2_2.out: -------------------------------------------------------------------------------- 1 | 4 2 | -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-engines/src/integTest/resources/engines/outputonly/testdata/2_3.in: -------------------------------------------------------------------------------- 1 | 2 3 2 | -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-engines/src/integTest/resources/engines/outputonly/testdata/2_3.out: -------------------------------------------------------------------------------- 1 | 5 2 | -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-engines/src/integTest/resources/engines/outputonly/testdata/sample_1.in: -------------------------------------------------------------------------------- 1 | 0 1 2 | -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-engines/src/integTest/resources/engines/outputonly/testdata/sample_1.out: -------------------------------------------------------------------------------- 1 | 1 2 | -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-engines/src/integTest/resources/engines/outputonly/testdata/sample_2.in: -------------------------------------------------------------------------------- 1 | 0 2 2 | -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-engines/src/integTest/resources/engines/outputonly/testdata/sample_2.out: -------------------------------------------------------------------------------- 1 | 2 2 | -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-engines/src/integTest/resources/engines/outputonly/testdata/sample_3.in: -------------------------------------------------------------------------------- 1 | 0 3 2 | -------------------------------------------------------------------------------- /judgels-backends/judgels-grader-engines/src/integTest/resources/engines/outputonly/testdata/sample_3.out: -------------------------------------------------------------------------------- 1 | 3 2 | -------------------------------------------------------------------------------- /judgels-backends/judgels-server-api/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-backends/judgels-server-api/build.gradle -------------------------------------------------------------------------------- /judgels-backends/judgels-server-app/.dockerignore: -------------------------------------------------------------------------------- 1 | * 2 | !build/distributions 3 | -------------------------------------------------------------------------------- /judgels-backends/judgels-server-app/.gitignore: -------------------------------------------------------------------------------- 1 | judgels-server.yml 2 | -------------------------------------------------------------------------------- /judgels-backends/judgels-server-app/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-backends/judgels-server-app/Dockerfile -------------------------------------------------------------------------------- /judgels-backends/judgels-server-app/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-backends/judgels-server-app/build.gradle -------------------------------------------------------------------------------- /judgels-backends/judgels-server-app/init.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-backends/judgels-server-app/init.sh -------------------------------------------------------------------------------- /judgels-backends/judgels-server-app/src/integTest/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-backends/judgels-server-app/src/integTest/resources/logback.xml -------------------------------------------------------------------------------- /judgels-backends/judgels-server-app/src/main/java/judgels/sandalphon/resource/Partner.java: -------------------------------------------------------------------------------- 1 | package judgels.sandalphon.resource; 2 | 3 | public interface Partner { 4 | } 5 | -------------------------------------------------------------------------------- /judgels-backends/judgels-server-app/src/main/resources/migrations.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-backends/judgels-server-app/src/main/resources/migrations.xml -------------------------------------------------------------------------------- /judgels-backends/judgels-server-feign/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-backends/judgels-server-feign/build.gradle -------------------------------------------------------------------------------- /judgels-backends/settings.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-backends/settings.gradle -------------------------------------------------------------------------------- /judgels-client/.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/.editorconfig -------------------------------------------------------------------------------- /judgels-client/.env: -------------------------------------------------------------------------------- 1 | GENERATE_SOURCEMAP=false 2 | -------------------------------------------------------------------------------- /judgels-client/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/.gitignore -------------------------------------------------------------------------------- /judgels-client/.prettierrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/.prettierrc.json -------------------------------------------------------------------------------- /judgels-client/babel.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/babel.config.js -------------------------------------------------------------------------------- /judgels-client/dist/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/dist/Dockerfile -------------------------------------------------------------------------------- /judgels-client/dist/judgels-client.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/dist/judgels-client.conf -------------------------------------------------------------------------------- /judgels-client/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/index.html -------------------------------------------------------------------------------- /judgels-client/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/package.json -------------------------------------------------------------------------------- /judgels-client/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/favicon.ico -------------------------------------------------------------------------------- /judgels-client/public/flags/README.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/README.txt -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/AD.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/AD.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/AE.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/AE.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/AF.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/AF.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/AG.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/AG.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/AI.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/AI.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/AL.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/AL.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/AM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/AM.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/AN.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/AN.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/AO.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/AO.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/AQ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/AQ.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/AR.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/AR.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/AS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/AS.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/AT.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/AT.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/AU.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/AU.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/AW.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/AW.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/AX.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/AX.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/AZ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/AZ.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/BA.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/BA.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/BB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/BB.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/BD.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/BD.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/BE.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/BE.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/BF.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/BF.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/BG.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/BG.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/BH.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/BH.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/BI.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/BI.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/BJ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/BJ.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/BL.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/BL.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/BM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/BM.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/BN.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/BN.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/BO.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/BO.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/BR.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/BR.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/BS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/BS.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/BT.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/BT.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/BW.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/BW.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/BY.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/BY.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/BZ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/BZ.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/CA.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/CA.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/CC.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/CC.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/CD.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/CD.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/CF.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/CF.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/CG.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/CG.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/CH.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/CH.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/CI.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/CI.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/CK.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/CK.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/CL.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/CL.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/CM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/CM.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/CN.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/CN.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/CO.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/CO.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/CR.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/CR.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/CU.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/CU.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/CV.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/CV.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/CW.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/CW.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/CX.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/CX.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/CY.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/CY.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/CZ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/CZ.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/DE.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/DE.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/DJ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/DJ.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/DK.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/DK.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/DM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/DM.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/DO.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/DO.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/DZ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/DZ.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/EC.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/EC.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/EE.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/EE.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/EG.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/EG.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/EH.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/EH.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/ER.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/ER.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/ES.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/ES.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/ET.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/ET.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/EU.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/EU.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/FI.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/FI.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/FJ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/FJ.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/FK.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/FK.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/FM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/FM.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/FO.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/FO.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/FR.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/FR.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/GA.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/GA.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/GB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/GB.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/GD.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/GD.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/GE.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/GE.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/GG.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/GG.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/GH.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/GH.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/GI.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/GI.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/GL.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/GL.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/GM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/GM.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/GN.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/GN.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/GQ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/GQ.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/GR.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/GR.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/GS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/GS.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/GT.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/GT.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/GU.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/GU.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/GW.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/GW.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/GY.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/GY.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/HK.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/HK.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/HN.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/HN.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/HR.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/HR.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/HT.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/HT.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/HU.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/HU.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/IC.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/IC.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/ID.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/ID.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/IE.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/IE.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/IL.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/IL.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/IM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/IM.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/IN.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/IN.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/IQ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/IQ.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/IR.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/IR.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/IS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/IS.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/IT.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/IT.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/JE.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/JE.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/JM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/JM.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/JO.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/JO.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/JP.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/JP.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/KE.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/KE.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/KG.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/KG.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/KH.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/KH.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/KI.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/KI.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/KM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/KM.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/KN.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/KN.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/KP.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/KP.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/KR.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/KR.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/KW.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/KW.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/KY.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/KY.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/KZ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/KZ.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/LA.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/LA.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/LB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/LB.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/LC.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/LC.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/LI.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/LI.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/LK.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/LK.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/LR.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/LR.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/LS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/LS.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/LT.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/LT.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/LU.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/LU.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/LV.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/LV.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/LY.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/LY.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/MA.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/MA.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/MC.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/MC.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/MD.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/MD.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/ME.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/ME.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/MF.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/MF.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/MG.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/MG.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/MH.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/MH.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/MK.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/MK.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/ML.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/ML.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/MM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/MM.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/MN.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/MN.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/MO.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/MO.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/MP.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/MP.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/MQ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/MQ.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/MR.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/MR.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/MS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/MS.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/MT.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/MT.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/MU.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/MU.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/MV.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/MV.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/MW.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/MW.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/MX.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/MX.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/MY.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/MY.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/MZ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/MZ.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/NA.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/NA.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/NC.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/NC.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/NE.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/NE.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/NF.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/NF.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/NG.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/NG.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/NI.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/NI.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/NL.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/NL.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/NO.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/NO.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/NP.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/NP.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/NR.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/NR.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/NU.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/NU.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/NZ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/NZ.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/OM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/OM.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/PA.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/PA.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/PE.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/PE.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/PF.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/PF.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/PG.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/PG.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/PH.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/PH.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/PK.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/PK.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/PL.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/PL.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/PN.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/PN.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/PR.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/PR.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/PS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/PS.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/PT.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/PT.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/PW.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/PW.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/PY.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/PY.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/QA.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/QA.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/RO.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/RO.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/RS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/RS.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/RU.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/RU.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/RW.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/RW.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/SA.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/SA.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/SB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/SB.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/SC.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/SC.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/SD.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/SD.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/SE.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/SE.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/SG.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/SG.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/SH.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/SH.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/SI.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/SI.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/SK.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/SK.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/SL.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/SL.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/SM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/SM.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/SN.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/SN.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/SO.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/SO.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/SR.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/SR.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/SS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/SS.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/ST.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/ST.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/SV.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/SV.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/SY.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/SY.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/SZ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/SZ.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/TC.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/TC.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/TD.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/TD.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/TF.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/TF.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/TG.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/TG.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/TH.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/TH.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/TJ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/TJ.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/TK.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/TK.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/TL.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/TL.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/TM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/TM.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/TN.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/TN.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/TO.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/TO.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/TR.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/TR.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/TT.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/TT.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/TV.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/TV.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/TW.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/TW.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/TZ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/TZ.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/UA.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/UA.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/UG.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/UG.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/US.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/US.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/UY.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/UY.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/UZ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/UZ.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/VA.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/VA.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/VC.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/VC.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/VE.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/VE.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/VG.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/VG.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/VI.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/VI.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/VN.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/VN.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/VU.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/VU.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/WF.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/WF.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/WS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/WS.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/YE.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/YE.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/YT.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/YT.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/ZA.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/ZA.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/ZM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/ZM.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/ZW.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/ZW.png -------------------------------------------------------------------------------- /judgels-client/public/flags/flags-iso/shiny/24/_unknown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/flags/flags-iso/shiny/24/_unknown.png -------------------------------------------------------------------------------- /judgels-client/public/humans.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/humans.txt -------------------------------------------------------------------------------- /judgels-client/public/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: 3 | -------------------------------------------------------------------------------- /judgels-client/public/skins/judgels/content.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/skins/judgels/content.css -------------------------------------------------------------------------------- /judgels-client/public/var/conf/judgels-client.js.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/public/var/conf/judgels-client.js.example -------------------------------------------------------------------------------- /judgels-client/src/assets/data/countries.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/assets/data/countries.js -------------------------------------------------------------------------------- /judgels-client/src/assets/images/logo-header.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/assets/images/logo-header.png -------------------------------------------------------------------------------- /judgels-client/src/assets/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/assets/images/logo.png -------------------------------------------------------------------------------- /judgels-client/src/components/ActionButtons/ActionButtons.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/ActionButtons/ActionButtons.jsx -------------------------------------------------------------------------------- /judgels-client/src/components/ActionButtons/ActionButtons.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/ActionButtons/ActionButtons.scss -------------------------------------------------------------------------------- /judgels-client/src/components/Announcements/Announcements.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/Announcements/Announcements.jsx -------------------------------------------------------------------------------- /judgels-client/src/components/Announcements/Announcements.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/Announcements/Announcements.scss -------------------------------------------------------------------------------- /judgels-client/src/components/AppContent/AppContent.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/AppContent/AppContent.jsx -------------------------------------------------------------------------------- /judgels-client/src/components/AppContent/AppContent.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/AppContent/AppContent.scss -------------------------------------------------------------------------------- /judgels-client/src/components/ButtonLink/ButtonLink.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/ButtonLink/ButtonLink.jsx -------------------------------------------------------------------------------- /judgels-client/src/components/Card/Card.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/Card/Card.jsx -------------------------------------------------------------------------------- /judgels-client/src/components/Card/Card.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/Card/Card.scss -------------------------------------------------------------------------------- /judgels-client/src/components/ContentCard/ContentCard.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/ContentCard/ContentCard.jsx -------------------------------------------------------------------------------- /judgels-client/src/components/ContentCard/ContentCard.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/ContentCard/ContentCard.scss -------------------------------------------------------------------------------- /judgels-client/src/components/ContentCardLink/ContentCardLink.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/ContentCardLink/ContentCardLink.jsx -------------------------------------------------------------------------------- /judgels-client/src/components/ContentCardLink/ContentCardLink.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/ContentCardLink/ContentCardLink.scss -------------------------------------------------------------------------------- /judgels-client/src/components/ContentCardList/ContentCardList.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/ContentCardList/ContentCardList.jsx -------------------------------------------------------------------------------- /judgels-client/src/components/ContentCardList/ContentCardList.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/ContentCardList/ContentCardList.scss -------------------------------------------------------------------------------- /judgels-client/src/components/ContestLink/ContestLink.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/ContestLink/ContestLink.jsx -------------------------------------------------------------------------------- /judgels-client/src/components/ContestRole/ContestRoleTag.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/ContestRole/ContestRoleTag.jsx -------------------------------------------------------------------------------- /judgels-client/src/components/DarkModeWidget/DarkModeWidget.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/DarkModeWidget/DarkModeWidget.jsx -------------------------------------------------------------------------------- /judgels-client/src/components/DarkModeWidget/DarkModeWidget.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/DarkModeWidget/DarkModeWidget.scss -------------------------------------------------------------------------------- /judgels-client/src/components/Footer/Footer.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/Footer/Footer.jsx -------------------------------------------------------------------------------- /judgels-client/src/components/Footer/Footer.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/Footer/Footer.scss -------------------------------------------------------------------------------- /judgels-client/src/components/FormattedContent/FormattedContent.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/FormattedContent/FormattedContent.jsx -------------------------------------------------------------------------------- /judgels-client/src/components/FormattedDate/FormattedDate.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/FormattedDate/FormattedDate.jsx -------------------------------------------------------------------------------- /judgels-client/src/components/FullPageLayout/FullPageLayout.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/FullPageLayout/FullPageLayout.jsx -------------------------------------------------------------------------------- /judgels-client/src/components/FullPageLayout/FullPageLayout.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/FullPageLayout/FullPageLayout.scss -------------------------------------------------------------------------------- /judgels-client/src/components/GuestRoute/GuestRoute.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/GuestRoute/GuestRoute.jsx -------------------------------------------------------------------------------- /judgels-client/src/components/Header/Header.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/Header/Header.jsx -------------------------------------------------------------------------------- /judgels-client/src/components/Header/Header.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/Header/Header.scss -------------------------------------------------------------------------------- /judgels-client/src/components/HtmlText/HtmlText.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/HtmlText/HtmlText.jsx -------------------------------------------------------------------------------- /judgels-client/src/components/HtmlText/HtmlText.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/HtmlText/HtmlText.scss -------------------------------------------------------------------------------- /judgels-client/src/components/ItemSubmissionUserFilter/ItemSubmissionUserFilter.scss: -------------------------------------------------------------------------------- 1 | .item-submission-user-filter { 2 | margin-bottom: 10px; 3 | } 4 | -------------------------------------------------------------------------------- /judgels-client/src/components/LanguageWidget/LanguageWidget.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/LanguageWidget/LanguageWidget.scss -------------------------------------------------------------------------------- /judgels-client/src/components/LoadingState/LoadingState.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/LoadingState/LoadingState.jsx -------------------------------------------------------------------------------- /judgels-client/src/components/LoadingState/LoadingState.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/LoadingState/LoadingState.scss -------------------------------------------------------------------------------- /judgels-client/src/components/MenuItemLink/MenuItemLink.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/MenuItemLink/MenuItemLink.jsx -------------------------------------------------------------------------------- /judgels-client/src/components/MenuItemLink/MenuItemLink.test.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/MenuItemLink/MenuItemLink.test.jsx -------------------------------------------------------------------------------- /judgels-client/src/components/Menubar/Menubar.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/Menubar/Menubar.jsx -------------------------------------------------------------------------------- /judgels-client/src/components/Menubar/Menubar.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/Menubar/Menubar.scss -------------------------------------------------------------------------------- /judgels-client/src/components/Menubar/Menubar.test.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/Menubar/Menubar.test.jsx -------------------------------------------------------------------------------- /judgels-client/src/components/Pagination/Pagination.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/Pagination/Pagination.jsx -------------------------------------------------------------------------------- /judgels-client/src/components/Pagination/Pagination.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/Pagination/Pagination.scss -------------------------------------------------------------------------------- /judgels-client/src/components/Pagination/Pagination.test.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/Pagination/Pagination.test.jsx -------------------------------------------------------------------------------- /judgels-client/src/components/ProblemEditorial/ProblemEditorial.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/ProblemEditorial/ProblemEditorial.jsx -------------------------------------------------------------------------------- /judgels-client/src/components/ProblemEditorial/ProblemEditorial.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/ProblemEditorial/ProblemEditorial.scss -------------------------------------------------------------------------------- /judgels-client/src/components/ProblemTopicTags/ProblemTopicTags.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/ProblemTopicTags/ProblemTopicTags.jsx -------------------------------------------------------------------------------- /judgels-client/src/components/ProblemTopicTags/ProblemTopicTags.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/ProblemTopicTags/ProblemTopicTags.scss -------------------------------------------------------------------------------- /judgels-client/src/components/ProgressBar/ProgressBar.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/ProgressBar/ProgressBar.jsx -------------------------------------------------------------------------------- /judgels-client/src/components/ProgressBar/ProgressBar.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/ProgressBar/ProgressBar.scss -------------------------------------------------------------------------------- /judgels-client/src/components/ProgressTag/ProgressTag.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/ProgressTag/ProgressTag.jsx -------------------------------------------------------------------------------- /judgels-client/src/components/ProgressTag/ProgressTag.scss: -------------------------------------------------------------------------------- 1 | .progress-tag { 2 | float: right; 3 | margin-bottom: 5px; 4 | } 5 | -------------------------------------------------------------------------------- /judgels-client/src/components/RegradeAllButton/RegradeAllButton.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/RegradeAllButton/RegradeAllButton.jsx -------------------------------------------------------------------------------- /judgels-client/src/components/SearchBox/SearchBox.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/SearchBox/SearchBox.jsx -------------------------------------------------------------------------------- /judgels-client/src/components/SearchBox/SearchBox.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/SearchBox/SearchBox.scss -------------------------------------------------------------------------------- /judgels-client/src/components/SearchBox/SearchBox.test.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/SearchBox/SearchBox.test.jsx -------------------------------------------------------------------------------- /judgels-client/src/components/SearchBox/SearchBoxForm.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/SearchBox/SearchBoxForm.jsx -------------------------------------------------------------------------------- /judgels-client/src/components/Sidebar/Sidebar.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/Sidebar/Sidebar.jsx -------------------------------------------------------------------------------- /judgels-client/src/components/Sidebar/Sidebar.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/Sidebar/Sidebar.scss -------------------------------------------------------------------------------- /judgels-client/src/components/SourceCode/SourceCode.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/SourceCode/SourceCode.jsx -------------------------------------------------------------------------------- /judgels-client/src/components/SourceCode/SourceCode.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/SourceCode/SourceCode.scss -------------------------------------------------------------------------------- /judgels-client/src/components/SubmissionUserFilter/SubmissionUserFilter.scss: -------------------------------------------------------------------------------- 1 | .submission-user-filter { 2 | margin-bottom: 10px; 3 | } 4 | -------------------------------------------------------------------------------- /judgels-client/src/components/TimeanddateLink/TimeanddateLink.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/TimeanddateLink/TimeanddateLink.jsx -------------------------------------------------------------------------------- /judgels-client/src/components/TimeanddateLink/TimeanddateLink.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/TimeanddateLink/TimeanddateLink.scss -------------------------------------------------------------------------------- /judgels-client/src/components/Topbar/Topbar.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/Topbar/Topbar.jsx -------------------------------------------------------------------------------- /judgels-client/src/components/Topbar/Topbar.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/Topbar/Topbar.scss -------------------------------------------------------------------------------- /judgels-client/src/components/UserRef/UserRef.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/UserRef/UserRef.jsx -------------------------------------------------------------------------------- /judgels-client/src/components/UserRef/UserRef.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/UserRef/UserRef.scss -------------------------------------------------------------------------------- /judgels-client/src/components/UserRoute/UserRoute.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/UserRoute/UserRoute.jsx -------------------------------------------------------------------------------- /judgels-client/src/components/UserWidget/UserWidget.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/UserWidget/UserWidget.jsx -------------------------------------------------------------------------------- /judgels-client/src/components/UserWidget/UserWidget.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/UserWidget/UserWidget.scss -------------------------------------------------------------------------------- /judgels-client/src/components/UserWidget/UserWidget.test.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/UserWidget/UserWidget.test.jsx -------------------------------------------------------------------------------- /judgels-client/src/components/VerdictProgressTag/VerdictProgressTag.scss: -------------------------------------------------------------------------------- 1 | .verdict-progress-tag { 2 | float: right; 3 | margin-bottom: 5px; 4 | } 5 | -------------------------------------------------------------------------------- /judgels-client/src/components/VerdictTag/VerdictTag.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/VerdictTag/VerdictTag.jsx -------------------------------------------------------------------------------- /judgels-client/src/components/VerdictTag/VerdictTag.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/VerdictTag/VerdictTag.scss -------------------------------------------------------------------------------- /judgels-client/src/components/forms/FormAceEditor/FormAceEditor.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/forms/FormAceEditor/FormAceEditor.jsx -------------------------------------------------------------------------------- /judgels-client/src/components/forms/FormAceEditor/FormAceEditor.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/forms/FormAceEditor/FormAceEditor.scss -------------------------------------------------------------------------------- /judgels-client/src/components/forms/FormCheckbox/FormCheckbox.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/forms/FormCheckbox/FormCheckbox.jsx -------------------------------------------------------------------------------- /judgels-client/src/components/forms/FormCheckbox/FormCheckbox.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/forms/FormCheckbox/FormCheckbox.scss -------------------------------------------------------------------------------- /judgels-client/src/components/forms/FormDateInput/FormDateInput.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/forms/FormDateInput/FormDateInput.jsx -------------------------------------------------------------------------------- /judgels-client/src/components/forms/FormDateInput/FormDateInput.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/forms/FormDateInput/FormDateInput.scss -------------------------------------------------------------------------------- /judgels-client/src/components/forms/FormRecaptcha/FormRecaptcha.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/forms/FormRecaptcha/FormRecaptcha.jsx -------------------------------------------------------------------------------- /judgels-client/src/components/forms/FormSelect2/FormSelect2.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/forms/FormSelect2/FormSelect2.jsx -------------------------------------------------------------------------------- /judgels-client/src/components/forms/FormTable/FormTable.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/forms/FormTable/FormTable.jsx -------------------------------------------------------------------------------- /judgels-client/src/components/forms/FormTable/FormTable.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/forms/FormTable/FormTable.scss -------------------------------------------------------------------------------- /judgels-client/src/components/forms/FormTableCheckbox/FormTableCheckbox.scss: -------------------------------------------------------------------------------- 1 | .bp6-control-indicator::before { 2 | display: block !important; 3 | } 4 | -------------------------------------------------------------------------------- /judgels-client/src/components/forms/FormTableSelect2/FormTableSelect2.scss: -------------------------------------------------------------------------------- 1 | .bp6-form-group { 2 | display: block !important; 3 | } 4 | -------------------------------------------------------------------------------- /judgels-client/src/components/forms/FormTableTextArea/FormTableTextArea.scss: -------------------------------------------------------------------------------- 1 | .form-table-textarea { 2 | width: 100%; 3 | } 4 | -------------------------------------------------------------------------------- /judgels-client/src/components/forms/FormTextArea/FormTextArea.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/forms/FormTextArea/FormTextArea.jsx -------------------------------------------------------------------------------- /judgels-client/src/components/forms/FormTextArea/FormTextArea.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/forms/FormTextArea/FormTextArea.scss -------------------------------------------------------------------------------- /judgels-client/src/components/forms/FormTextInput/FormTextInput.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/forms/FormTextInput/FormTextInput.jsx -------------------------------------------------------------------------------- /judgels-client/src/components/forms/meta.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/forms/meta.js -------------------------------------------------------------------------------- /judgels-client/src/components/forms/meta.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/forms/meta.test.js -------------------------------------------------------------------------------- /judgels-client/src/components/forms/validations.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/forms/validations.js -------------------------------------------------------------------------------- /judgels-client/src/components/forms/validations.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/components/forms/validations.test.js -------------------------------------------------------------------------------- /judgels-client/src/conf.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/conf.js -------------------------------------------------------------------------------- /judgels-client/src/ga.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/ga.js -------------------------------------------------------------------------------- /judgels-client/src/index.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/index.jsx -------------------------------------------------------------------------------- /judgels-client/src/lazy.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/lazy.js -------------------------------------------------------------------------------- /judgels-client/src/modules/api/error.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/api/error.js -------------------------------------------------------------------------------- /judgels-client/src/modules/api/gabriel/engine.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/api/gabriel/engine.js -------------------------------------------------------------------------------- /judgels-client/src/modules/api/gabriel/language.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/api/gabriel/language.js -------------------------------------------------------------------------------- /judgels-client/src/modules/api/gabriel/submission.js: -------------------------------------------------------------------------------- 1 | export const DEFAULT_SOURCE_KEY = 'source'; 2 | -------------------------------------------------------------------------------- /judgels-client/src/modules/api/gabriel/verdict.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/api/gabriel/verdict.js -------------------------------------------------------------------------------- /judgels-client/src/modules/api/http.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/api/http.js -------------------------------------------------------------------------------- /judgels-client/src/modules/api/jerahmeel/archive.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/api/jerahmeel/archive.js -------------------------------------------------------------------------------- /judgels-client/src/modules/api/jerahmeel/chapter.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/api/jerahmeel/chapter.js -------------------------------------------------------------------------------- /judgels-client/src/modules/api/jerahmeel/chapterLesson.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/api/jerahmeel/chapterLesson.js -------------------------------------------------------------------------------- /judgels-client/src/modules/api/jerahmeel/chapterProblem.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/api/jerahmeel/chapterProblem.js -------------------------------------------------------------------------------- /judgels-client/src/modules/api/jerahmeel/course.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/api/jerahmeel/course.js -------------------------------------------------------------------------------- /judgels-client/src/modules/api/jerahmeel/courseChapter.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/api/jerahmeel/courseChapter.js -------------------------------------------------------------------------------- /judgels-client/src/modules/api/jerahmeel/problem.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/api/jerahmeel/problem.js -------------------------------------------------------------------------------- /judgels-client/src/modules/api/jerahmeel/problemSet.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/api/jerahmeel/problemSet.js -------------------------------------------------------------------------------- /judgels-client/src/modules/api/jerahmeel/problemSetProblem.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/api/jerahmeel/problemSetProblem.js -------------------------------------------------------------------------------- /judgels-client/src/modules/api/jerahmeel/role.js: -------------------------------------------------------------------------------- 1 | export const JerahmeelRole = { 2 | Admin: 'ADMIN', 3 | }; 4 | -------------------------------------------------------------------------------- /judgels-client/src/modules/api/jerahmeel/stats.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/api/jerahmeel/stats.js -------------------------------------------------------------------------------- /judgels-client/src/modules/api/jerahmeel/submission.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/api/jerahmeel/submission.js -------------------------------------------------------------------------------- /judgels-client/src/modules/api/jerahmeel/submissionBundle.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/api/jerahmeel/submissionBundle.js -------------------------------------------------------------------------------- /judgels-client/src/modules/api/jerahmeel/submissionProgramming.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/api/jerahmeel/submissionProgramming.js -------------------------------------------------------------------------------- /judgels-client/src/modules/api/jophiel/profile.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/api/jophiel/profile.js -------------------------------------------------------------------------------- /judgels-client/src/modules/api/jophiel/role.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/api/jophiel/role.js -------------------------------------------------------------------------------- /judgels-client/src/modules/api/jophiel/session.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/api/jophiel/session.js -------------------------------------------------------------------------------- /judgels-client/src/modules/api/jophiel/user.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/api/jophiel/user.js -------------------------------------------------------------------------------- /judgels-client/src/modules/api/jophiel/userAccount.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/api/jophiel/userAccount.js -------------------------------------------------------------------------------- /judgels-client/src/modules/api/jophiel/userAvatar.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/api/jophiel/userAvatar.js -------------------------------------------------------------------------------- /judgels-client/src/modules/api/jophiel/userInfo.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/api/jophiel/userInfo.js -------------------------------------------------------------------------------- /judgels-client/src/modules/api/jophiel/userRating.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/api/jophiel/userRating.js -------------------------------------------------------------------------------- /judgels-client/src/modules/api/jophiel/userRegistration.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/api/jophiel/userRegistration.js -------------------------------------------------------------------------------- /judgels-client/src/modules/api/jophiel/userSearch.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/api/jophiel/userSearch.js -------------------------------------------------------------------------------- /judgels-client/src/modules/api/jophiel/userWeb.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/api/jophiel/userWeb.js -------------------------------------------------------------------------------- /judgels-client/src/modules/api/pagination.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/api/pagination.js -------------------------------------------------------------------------------- /judgels-client/src/modules/api/sandalphon/language.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/api/sandalphon/language.js -------------------------------------------------------------------------------- /judgels-client/src/modules/api/sandalphon/language.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/api/sandalphon/language.test.js -------------------------------------------------------------------------------- /judgels-client/src/modules/api/sandalphon/lesson.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/api/sandalphon/lesson.js -------------------------------------------------------------------------------- /judgels-client/src/modules/api/sandalphon/problem.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/api/sandalphon/problem.js -------------------------------------------------------------------------------- /judgels-client/src/modules/api/sandalphon/problemBundle.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/api/sandalphon/problemBundle.js -------------------------------------------------------------------------------- /judgels-client/src/modules/api/sandalphon/submissionBundle.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/api/sandalphon/submissionBundle.js -------------------------------------------------------------------------------- /judgels-client/src/modules/api/uriel/admin.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/api/uriel/admin.js -------------------------------------------------------------------------------- /judgels-client/src/modules/api/uriel/contest.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/api/uriel/contest.js -------------------------------------------------------------------------------- /judgels-client/src/modules/api/uriel/contestAnnouncement.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/api/uriel/contestAnnouncement.js -------------------------------------------------------------------------------- /judgels-client/src/modules/api/uriel/contestClarification.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/api/uriel/contestClarification.js -------------------------------------------------------------------------------- /judgels-client/src/modules/api/uriel/contestContestant.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/api/uriel/contestContestant.js -------------------------------------------------------------------------------- /judgels-client/src/modules/api/uriel/contestEditorial.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/api/uriel/contestEditorial.js -------------------------------------------------------------------------------- /judgels-client/src/modules/api/uriel/contestFile.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/api/uriel/contestFile.js -------------------------------------------------------------------------------- /judgels-client/src/modules/api/uriel/contestHistory.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/api/uriel/contestHistory.js -------------------------------------------------------------------------------- /judgels-client/src/modules/api/uriel/contestLog.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/api/uriel/contestLog.js -------------------------------------------------------------------------------- /judgels-client/src/modules/api/uriel/contestManager.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/api/uriel/contestManager.js -------------------------------------------------------------------------------- /judgels-client/src/modules/api/uriel/contestModule.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/api/uriel/contestModule.js -------------------------------------------------------------------------------- /judgels-client/src/modules/api/uriel/contestProblem.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/api/uriel/contestProblem.js -------------------------------------------------------------------------------- /judgels-client/src/modules/api/uriel/contestRating.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/api/uriel/contestRating.js -------------------------------------------------------------------------------- /judgels-client/src/modules/api/uriel/contestScoreboard.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/api/uriel/contestScoreboard.js -------------------------------------------------------------------------------- /judgels-client/src/modules/api/uriel/contestSubmissionBundle.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/api/uriel/contestSubmissionBundle.js -------------------------------------------------------------------------------- /judgels-client/src/modules/api/uriel/contestSubmissionProgramming.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/api/uriel/contestSubmissionProgramming.js -------------------------------------------------------------------------------- /judgels-client/src/modules/api/uriel/contestSupervisor.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/api/uriel/contestSupervisor.js -------------------------------------------------------------------------------- /judgels-client/src/modules/api/uriel/contestWeb.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/api/uriel/contestWeb.js -------------------------------------------------------------------------------- /judgels-client/src/modules/api/uriel/scoreboard.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/api/uriel/scoreboard.js -------------------------------------------------------------------------------- /judgels-client/src/modules/breadcrumbs/breadcrumbsActions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/breadcrumbs/breadcrumbsActions.js -------------------------------------------------------------------------------- /judgels-client/src/modules/breadcrumbs/breadcrumbsReducer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/breadcrumbs/breadcrumbsReducer.js -------------------------------------------------------------------------------- /judgels-client/src/modules/breadcrumbs/breadcrumbsReducer.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/breadcrumbs/breadcrumbsReducer.test.js -------------------------------------------------------------------------------- /judgels-client/src/modules/breadcrumbs/breadcrumbsSelectors.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/breadcrumbs/breadcrumbsSelectors.js -------------------------------------------------------------------------------- /judgels-client/src/modules/breadcrumbs/breadcrumbsSelectors.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/breadcrumbs/breadcrumbsSelectors.test.js -------------------------------------------------------------------------------- /judgels-client/src/modules/form/submissionError.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/form/submissionError.js -------------------------------------------------------------------------------- /judgels-client/src/modules/jerahmeel/jerahmeelReducer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/jerahmeel/jerahmeelReducer.js -------------------------------------------------------------------------------- /judgels-client/src/modules/jophiel/jophielReducer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/jophiel/jophielReducer.js -------------------------------------------------------------------------------- /judgels-client/src/modules/notification/notification.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/notification/notification.js -------------------------------------------------------------------------------- /judgels-client/src/modules/session/sessionReducer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/session/sessionReducer.js -------------------------------------------------------------------------------- /judgels-client/src/modules/session/sessionReducer.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/session/sessionReducer.test.js -------------------------------------------------------------------------------- /judgels-client/src/modules/session/sessionSelectors.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/session/sessionSelectors.js -------------------------------------------------------------------------------- /judgels-client/src/modules/store.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/store.js -------------------------------------------------------------------------------- /judgels-client/src/modules/toast/toastActions.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/toast/toastActions.jsx -------------------------------------------------------------------------------- /judgels-client/src/modules/toast/toastMiddleware.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/toast/toastMiddleware.js -------------------------------------------------------------------------------- /judgels-client/src/modules/toast/toastMiddleware.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/toast/toastMiddleware.test.js -------------------------------------------------------------------------------- /judgels-client/src/modules/tokenGate/tokenGateMiddleware.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/tokenGate/tokenGateMiddleware.js -------------------------------------------------------------------------------- /judgels-client/src/modules/uriel/urielReducer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/uriel/urielReducer.js -------------------------------------------------------------------------------- /judgels-client/src/modules/webPrefs/webPrefsActions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/webPrefs/webPrefsActions.js -------------------------------------------------------------------------------- /judgels-client/src/modules/webPrefs/webPrefsReducer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/webPrefs/webPrefsReducer.js -------------------------------------------------------------------------------- /judgels-client/src/modules/webPrefs/webPrefsReducer.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/webPrefs/webPrefsReducer.test.js -------------------------------------------------------------------------------- /judgels-client/src/modules/webPrefs/webPrefsSelectors.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/modules/webPrefs/webPrefsSelectors.js -------------------------------------------------------------------------------- /judgels-client/src/routes/App.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/App.jsx -------------------------------------------------------------------------------- /judgels-client/src/routes/AppRoutes.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/AppRoutes.jsx -------------------------------------------------------------------------------- /judgels-client/src/routes/AppRoutes.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/AppRoutes.test.js -------------------------------------------------------------------------------- /judgels-client/src/routes/contests/ContestsRoutes.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/contests/ContestsRoutes.jsx -------------------------------------------------------------------------------- /judgels-client/src/routes/contests/LazyContestsRoutes.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/contests/LazyContestsRoutes.jsx -------------------------------------------------------------------------------- /judgels-client/src/routes/contests/MainContestsRoutes.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/contests/MainContestsRoutes.jsx -------------------------------------------------------------------------------- /judgels-client/src/routes/contests/contests/single/overview/ContestOverviewPage/ContestOverviewPage.scss: -------------------------------------------------------------------------------- 1 | .contest-overview__callout { 2 | margin-bottom: 10px; 3 | } 4 | -------------------------------------------------------------------------------- /judgels-client/src/routes/courses/CoursesRoutes.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/courses/CoursesRoutes.jsx -------------------------------------------------------------------------------- /judgels-client/src/routes/courses/LazyCoursesRoutes.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/courses/LazyCoursesRoutes.jsx -------------------------------------------------------------------------------- /judgels-client/src/routes/courses/MainCoursesRoutes.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/courses/MainCoursesRoutes.jsx -------------------------------------------------------------------------------- /judgels-client/src/routes/courses/courses/CourseCard/CourseCard.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/courses/courses/CourseCard/CourseCard.jsx -------------------------------------------------------------------------------- /judgels-client/src/routes/courses/courses/CourseCard/CourseCard.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/courses/courses/CourseCard/CourseCard.scss -------------------------------------------------------------------------------- /judgels-client/src/routes/courses/courses/modules/courseActions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/courses/courses/modules/courseActions.js -------------------------------------------------------------------------------- /judgels-client/src/routes/courses/courses/modules/courseReducer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/courses/courses/modules/courseReducer.js -------------------------------------------------------------------------------- /judgels-client/src/routes/courses/courses/modules/courseSelectors.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/courses/courses/modules/courseSelectors.js -------------------------------------------------------------------------------- /judgels-client/src/routes/home/HomePage/HomePage.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/home/HomePage/HomePage.jsx -------------------------------------------------------------------------------- /judgels-client/src/routes/home/HomePage/HomePage.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/home/HomePage/HomePage.scss -------------------------------------------------------------------------------- /judgels-client/src/routes/home/widgets/modules/widgetActions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/home/widgets/modules/widgetActions.js -------------------------------------------------------------------------------- /judgels-client/src/routes/jophiel/JophielAccountRoutes.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/jophiel/JophielAccountRoutes.jsx -------------------------------------------------------------------------------- /judgels-client/src/routes/jophiel/JophielProfilesRoutes.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/jophiel/JophielProfilesRoutes.jsx -------------------------------------------------------------------------------- /judgels-client/src/routes/jophiel/JophielRoutes.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/jophiel/JophielRoutes.jsx -------------------------------------------------------------------------------- /judgels-client/src/routes/jophiel/account/AccountRoutes.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/jophiel/account/AccountRoutes.jsx -------------------------------------------------------------------------------- /judgels-client/src/routes/jophiel/account/info/InfoPage/InfoPage.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/jophiel/account/info/InfoPage/InfoPage.jsx -------------------------------------------------------------------------------- /judgels-client/src/routes/jophiel/components/GoogleAuth/GoogleAuth.scss: -------------------------------------------------------------------------------- 1 | .google-auth { 2 | width: 100%; 3 | } 4 | -------------------------------------------------------------------------------- /judgels-client/src/routes/jophiel/login/LoginForm/LoginForm.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/jophiel/login/LoginForm/LoginForm.jsx -------------------------------------------------------------------------------- /judgels-client/src/routes/jophiel/login/LoginForm/LoginForm.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/jophiel/login/LoginForm/LoginForm.scss -------------------------------------------------------------------------------- /judgels-client/src/routes/jophiel/login/LoginPage/LoginPage.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/jophiel/login/LoginPage/LoginPage.jsx -------------------------------------------------------------------------------- /judgels-client/src/routes/jophiel/login/LoginPage/LoginPage.scss: -------------------------------------------------------------------------------- 1 | .card-login { 2 | margin-top: 50px; 3 | } 4 | -------------------------------------------------------------------------------- /judgels-client/src/routes/jophiel/login/LoginPage/LoginPage.test.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/jophiel/login/LoginPage/LoginPage.test.jsx -------------------------------------------------------------------------------- /judgels-client/src/routes/jophiel/login/modules/loginActions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/jophiel/login/modules/loginActions.js -------------------------------------------------------------------------------- /judgels-client/src/routes/jophiel/login/modules/loginActions.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/jophiel/login/modules/loginActions.test.js -------------------------------------------------------------------------------- /judgels-client/src/routes/jophiel/logout/LogoutPage/LogoutPage.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/jophiel/logout/LogoutPage/LogoutPage.jsx -------------------------------------------------------------------------------- /judgels-client/src/routes/jophiel/logout/modules/logoutActions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/jophiel/logout/modules/logoutActions.js -------------------------------------------------------------------------------- /judgels-client/src/routes/jophiel/modules/avatarActions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/jophiel/modules/avatarActions.js -------------------------------------------------------------------------------- /judgels-client/src/routes/jophiel/modules/avatarActions.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/jophiel/modules/avatarActions.test.js -------------------------------------------------------------------------------- /judgels-client/src/routes/jophiel/modules/googleAuthActions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/jophiel/modules/googleAuthActions.js -------------------------------------------------------------------------------- /judgels-client/src/routes/jophiel/modules/googleAuthActions.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/jophiel/modules/googleAuthActions.test.js -------------------------------------------------------------------------------- /judgels-client/src/routes/jophiel/modules/infoActions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/jophiel/modules/infoActions.js -------------------------------------------------------------------------------- /judgels-client/src/routes/jophiel/modules/infoActions.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/jophiel/modules/infoActions.test.js -------------------------------------------------------------------------------- /judgels-client/src/routes/jophiel/modules/profileActions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/jophiel/modules/profileActions.js -------------------------------------------------------------------------------- /judgels-client/src/routes/jophiel/modules/profileActions.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/jophiel/modules/profileActions.test.js -------------------------------------------------------------------------------- /judgels-client/src/routes/jophiel/modules/profileReducer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/jophiel/modules/profileReducer.js -------------------------------------------------------------------------------- /judgels-client/src/routes/jophiel/modules/profileSelectors.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/jophiel/modules/profileSelectors.js -------------------------------------------------------------------------------- /judgels-client/src/routes/jophiel/modules/userAccountActions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/jophiel/modules/userAccountActions.js -------------------------------------------------------------------------------- /judgels-client/src/routes/jophiel/modules/userAccountActions.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/jophiel/modules/userAccountActions.test.js -------------------------------------------------------------------------------- /judgels-client/src/routes/jophiel/modules/userActions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/jophiel/modules/userActions.js -------------------------------------------------------------------------------- /judgels-client/src/routes/jophiel/modules/userWebActions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/jophiel/modules/userWebActions.js -------------------------------------------------------------------------------- /judgels-client/src/routes/jophiel/modules/userWebReducer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/jophiel/modules/userWebReducer.js -------------------------------------------------------------------------------- /judgels-client/src/routes/jophiel/modules/userWebSelectors.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/jophiel/modules/userWebSelectors.js -------------------------------------------------------------------------------- /judgels-client/src/routes/jophiel/panels/info/InfoForm/InfoForm.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/jophiel/panels/info/InfoForm/InfoForm.jsx -------------------------------------------------------------------------------- /judgels-client/src/routes/jophiel/profiles/ProfilesRoutes.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/jophiel/profiles/ProfilesRoutes.jsx -------------------------------------------------------------------------------- /judgels-client/src/routes/jophiel/register/RegisterPage/RegisterPage.scss: -------------------------------------------------------------------------------- 1 | .card-register { 2 | margin-top: 50px; 3 | } 4 | -------------------------------------------------------------------------------- /judgels-client/src/routes/problems/LazyProblemsRoutes.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/problems/LazyProblemsRoutes.jsx -------------------------------------------------------------------------------- /judgels-client/src/routes/problems/MainProblemsRoutes.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/problems/MainProblemsRoutes.jsx -------------------------------------------------------------------------------- /judgels-client/src/routes/problems/MainProblemsWrapperRoutes.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/problems/MainProblemsWrapperRoutes.jsx -------------------------------------------------------------------------------- /judgels-client/src/routes/problems/ProblemsRoutes.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/problems/ProblemsRoutes.jsx -------------------------------------------------------------------------------- /judgels-client/src/routes/problems/ProblemsRoutes.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/problems/ProblemsRoutes.scss -------------------------------------------------------------------------------- /judgels-client/src/routes/ranking/LazyRankingRoutes.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/ranking/LazyRankingRoutes.jsx -------------------------------------------------------------------------------- /judgels-client/src/routes/ranking/RankingRoutes.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/ranking/RankingRoutes.jsx -------------------------------------------------------------------------------- /judgels-client/src/routes/ranking/modules/rankingActions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/ranking/modules/rankingActions.js -------------------------------------------------------------------------------- /judgels-client/src/routes/ranking/scores/ScoresPage/ScoresPage.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/ranking/scores/ScoresPage/ScoresPage.jsx -------------------------------------------------------------------------------- /judgels-client/src/routes/ranking/scores/ScoresPage/ScoresPage.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/ranking/scores/ScoresPage/ScoresPage.scss -------------------------------------------------------------------------------- /judgels-client/src/routes/submissions/LazySubmissionsRoutes.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/submissions/LazySubmissionsRoutes.jsx -------------------------------------------------------------------------------- /judgels-client/src/routes/submissions/SubmissionsRoutes.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/submissions/SubmissionsRoutes.jsx -------------------------------------------------------------------------------- /judgels-client/src/routes/submissions/modules/submissionActions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/submissions/modules/submissionActions.js -------------------------------------------------------------------------------- /judgels-client/src/routes/system/LazySystemRoutes.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/system/LazySystemRoutes.jsx -------------------------------------------------------------------------------- /judgels-client/src/routes/system/SystemRoutes.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/system/SystemRoutes.jsx -------------------------------------------------------------------------------- /judgels-client/src/routes/system/ratings/RatingsPage/RatingsPage.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/system/ratings/RatingsPage/RatingsPage.jsx -------------------------------------------------------------------------------- /judgels-client/src/routes/system/ratings/modules/ratingActions.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/system/ratings/modules/ratingActions.jsx -------------------------------------------------------------------------------- /judgels-client/src/routes/training/LazyTrainingRoutes.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/training/LazyTrainingRoutes.jsx -------------------------------------------------------------------------------- /judgels-client/src/routes/training/TrainingRoutes.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/training/TrainingRoutes.jsx -------------------------------------------------------------------------------- /judgels-client/src/routes/training/courses/modules/courseActions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/routes/training/courses/modules/courseActions.js -------------------------------------------------------------------------------- /judgels-client/src/setupTests.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/setupTests.js -------------------------------------------------------------------------------- /judgels-client/src/styles/_base.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/styles/_base.scss -------------------------------------------------------------------------------- /judgels-client/src/styles/_ratings.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/styles/_ratings.scss -------------------------------------------------------------------------------- /judgels-client/src/styles/_table.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/styles/_table.scss -------------------------------------------------------------------------------- /judgels-client/src/styles/index.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/styles/index.scss -------------------------------------------------------------------------------- /judgels-client/src/styles/variables/_colors.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/styles/variables/_colors.scss -------------------------------------------------------------------------------- /judgels-client/src/styles/variables/_fonts.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/styles/variables/_fonts.scss -------------------------------------------------------------------------------- /judgels-client/src/utils/base64.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/utils/base64.js -------------------------------------------------------------------------------- /judgels-client/src/utils/confirmation.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/utils/confirmation.js -------------------------------------------------------------------------------- /judgels-client/src/utils/datetime.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/utils/datetime.js -------------------------------------------------------------------------------- /judgels-client/src/utils/datetime.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/utils/datetime.test.js -------------------------------------------------------------------------------- /judgels-client/src/utils/duration.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/utils/duration.js -------------------------------------------------------------------------------- /judgels-client/src/utils/duration.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/utils/duration.test.js -------------------------------------------------------------------------------- /judgels-client/src/utils/nock.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/src/utils/nock.js -------------------------------------------------------------------------------- /judgels-client/vite.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/vite.config.js -------------------------------------------------------------------------------- /judgels-client/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-client/yarn.lock -------------------------------------------------------------------------------- /judgels-utils/scoreboard-receiver/.gitignore: -------------------------------------------------------------------------------- 1 | scoreboard-receiver 2 | data 3 | -------------------------------------------------------------------------------- /judgels-utils/scoreboard-receiver/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/judgels-utils/scoreboard-receiver/main.go -------------------------------------------------------------------------------- /seeds/judgels.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/seeds/judgels.sql -------------------------------------------------------------------------------- /seeds/lessons.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/seeds/lessons.tar.gz -------------------------------------------------------------------------------- /seeds/problems.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/seeds/problems.tar.gz -------------------------------------------------------------------------------- /seeds/submissions.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/seeds/submissions.tar.gz -------------------------------------------------------------------------------- /web/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/web/.gitignore -------------------------------------------------------------------------------- /web/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/web/README.md -------------------------------------------------------------------------------- /web/babel.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/web/babel.config.js -------------------------------------------------------------------------------- /web/docs/account-management/_category_.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/web/docs/account-management/_category_.json -------------------------------------------------------------------------------- /web/docs/account-management/roles.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 2 3 | --- 4 | 5 | # Roles 6 | 7 | WIP 8 | -------------------------------------------------------------------------------- /web/docs/account-management/users.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 1 3 | --- 4 | 5 | # Users 6 | 7 | WIP 8 | -------------------------------------------------------------------------------- /web/docs/changelogs.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/web/docs/changelogs.md -------------------------------------------------------------------------------- /web/docs/deployment/_category_.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/web/docs/deployment/_category_.json -------------------------------------------------------------------------------- /web/docs/deployment/cheatsheet.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/web/docs/deployment/cheatsheet.md -------------------------------------------------------------------------------- /web/docs/deployment/concepts.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/web/docs/deployment/concepts.md -------------------------------------------------------------------------------- /web/docs/deployment/configuration.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/web/docs/deployment/configuration.md -------------------------------------------------------------------------------- /web/docs/deployment/database-migration.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/web/docs/deployment/database-migration.md -------------------------------------------------------------------------------- /web/docs/deployment/img/judgels-deployment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/web/docs/deployment/img/judgels-deployment.png -------------------------------------------------------------------------------- /web/docs/deployment/installation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/web/docs/deployment/installation.md -------------------------------------------------------------------------------- /web/docs/introduction.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/web/docs/introduction.md -------------------------------------------------------------------------------- /web/docs/migration-guides/1to2.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/web/docs/migration-guides/1to2.md -------------------------------------------------------------------------------- /web/docs/migration-guides/_category_.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/web/docs/migration-guides/_category_.json -------------------------------------------------------------------------------- /web/docusaurus.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/web/docusaurus.config.js -------------------------------------------------------------------------------- /web/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/web/package-lock.json -------------------------------------------------------------------------------- /web/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/web/package.json -------------------------------------------------------------------------------- /web/sidebars.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/web/sidebars.js -------------------------------------------------------------------------------- /web/src/components/HomepageFeatures/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/web/src/components/HomepageFeatures/index.js -------------------------------------------------------------------------------- /web/src/components/HomepageFeatures/styles.module.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/web/src/components/HomepageFeatures/styles.module.css -------------------------------------------------------------------------------- /web/src/css/custom.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/web/src/css/custom.css -------------------------------------------------------------------------------- /web/src/pages/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/web/src/pages/index.js -------------------------------------------------------------------------------- /web/src/pages/index.module.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/web/src/pages/index.module.css -------------------------------------------------------------------------------- /web/static/.nojekyll: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /web/static/img/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/web/static/img/favicon.ico -------------------------------------------------------------------------------- /web/static/img/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ia-toki/judgels/HEAD/web/static/img/logo.png --------------------------------------------------------------------------------