rbx.cp 0.6.0__py3-none-any.whl → 0.7.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,92 @@
1
+ #ifndef _RBX_H
2
+ #define _RBX_H
3
+ #include <optional>
4
+ #include <stdexcept>
5
+ #include <string>
6
+
7
+ std::optional<std::string> getStringVar(std::string name) {
8
+
9
+ return std::nullopt;
10
+ }
11
+
12
+ std::optional<int> getIntVar(std::string name) {
13
+ if (name == "MAX_N") {
14
+ return 1000000000;
15
+ }
16
+
17
+ return std::nullopt;
18
+ }
19
+
20
+ std::optional<float> getFloatVar(std::string name) {
21
+
22
+ return std::nullopt;
23
+ }
24
+
25
+ std::optional<bool> getBoolVar(std::string name) {
26
+
27
+ return std::nullopt;
28
+ }
29
+
30
+ template <typename T> T getVar(std::string name);
31
+
32
+ template <> int getVar<int>(std::string name) {
33
+ auto opt = getIntVar(name);
34
+ if (!opt.has_value()) {
35
+ throw std::runtime_error("Variable " + name +
36
+ " is not an integer or could not be found");
37
+ }
38
+ return opt.value();
39
+ }
40
+
41
+ template <> float getVar<float>(std::string name) {
42
+ auto opt = getFloatVar(name);
43
+ if (!opt.has_value()) {
44
+ auto intOpt = getIntVar(name);
45
+ if (intOpt.has_value()) {
46
+ opt = (float)intOpt.value();
47
+ }
48
+ }
49
+ if (!opt.has_value()) {
50
+ throw std::runtime_error("Variable " + name +
51
+ " is not a float or could not be found");
52
+ }
53
+ return opt.value();
54
+ }
55
+
56
+ template <> double getVar<double>(std::string name) {
57
+ return getVar<float>(name);
58
+ }
59
+
60
+ template <> std::string getVar<std::string>(std::string name) {
61
+ auto opt = getStringVar(name);
62
+ if (!opt.has_value()) {
63
+ auto intOpt = getIntVar(name);
64
+ if (intOpt.has_value()) {
65
+ opt = std::to_string(intOpt.value());
66
+ }
67
+ }
68
+ if (!opt.has_value()) {
69
+ auto floatOpt = getFloatVar(name);
70
+ if (floatOpt.has_value()) {
71
+ opt = std::to_string(floatOpt.value());
72
+ }
73
+ }
74
+ if (!opt.has_value()) {
75
+ throw std::runtime_error("Variable " + name +
76
+ " is not a string or could not be found");
77
+ }
78
+ return opt.value();
79
+ }
80
+
81
+ template <> bool getVar<bool>(std::string name) {
82
+ auto opt = getBoolVar(name);
83
+ if (!opt.has_value()) {
84
+ opt = getIntVar(name) != 0;
85
+ }
86
+ if (!opt.has_value()) {
87
+ throw std::runtime_error("Variable " + name +
88
+ " is not a boolean or could not be found");
89
+ }
90
+ return opt.value();
91
+ }
92
+ #endif
@@ -1,18 +1,15 @@
1
1
  %- block legend
2
- Dado dois números inteiros $A$ e $B$, determine o valor de $A + B$.
3
-
4
- \includegraphics[width=6cm]{projecao.png}
2
+ Given two integers $A$ and $B$, determine the value of $A + B$.
5
3
  %- endblock
6
4
 
7
5
  %- block input
8
- A entrada é composta por uma única linha contendo dois números
9
- inteiros $A$ e $B$ ($1 \leq A, B \leq \VAR{vars.MAX_N | sci}$).
6
+ The input is a single line containing two integers $A$ and $B$ ($1 \leq A, B \leq \VAR{vars.MAX_N | sci}$).
10
7
  %- endblock
11
8
 
12
9
  %- block output
13
- A saída deve conter somente um único inteiro, a soma de $A$ e $B$.
10
+ The output must contain only one integer, the sum of $A$ and $B$.
14
11
  %- endblock
15
12
 
16
13
  %- block notes
17
- Sem muitas notas pra este problema.
14
+ No notes.
18
15
  %- endblock
@@ -3,14 +3,14 @@
3
3
  using namespace std;
4
4
 
5
5
  int main(int argc, char *argv[]) {
6
- registerValidation(argc, argv);
7
- prepareOpts(argc, argv);
6
+ registerValidation(argc, argv);
7
+ prepareOpts(argc, argv);
8
8
 
9
- int MAX_N = opt<int>("MAX_N"); // Read from package vars.
9
+ int MAX_N = opt<int>("MAX_N"); // Read from package vars.
10
10
 
11
- inf.readInt(1, MAX_N, "A");
12
- inf.readSpace();
13
- inf.readInt(1, MAX_N, "B");
14
- inf.readEoln();
15
- inf.readEof();
11
+ inf.readInt(1, MAX_N, "A");
12
+ inf.readSpace();
13
+ inf.readInt(1, MAX_N, "B");
14
+ inf.readEoln();
15
+ inf.readEof();
16
16
  }
@@ -1,11 +1,10 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: rbx.cp
3
- Version: 0.6.0
3
+ Version: 0.7.0
4
4
  Summary:
5
5
  Author: Roberto Sales
6
- Requires-Python: >=3.9,<4.0
6
+ Requires-Python: >=3.9.1,<4.0.0
7
7
  Classifier: Programming Language :: Python :: 3
8
- Classifier: Programming Language :: Python :: 3.9
9
8
  Classifier: Programming Language :: Python :: 3.10
10
9
  Classifier: Programming Language :: Python :: 3.11
11
10
  Classifier: Programming Language :: Python :: 3.12
@@ -35,15 +34,21 @@ Requires-Dist: pyyaml (>=6.0.1,<7.0.0)
35
34
  Requires-Dist: questionary (>=2.1.0,<3.0.0)
36
35
  Requires-Dist: requests (>=2.32.3,<3.0.0)
37
36
  Requires-Dist: rich (>=13.9.4,<14.0.0)
37
+ Requires-Dist: ruamel-yaml (>=0.18.14,<0.19.0)
38
38
  Requires-Dist: ruyaml (>=0.91.0,<0.92.0)
39
39
  Requires-Dist: syncer (>=2.0.3,<3.0.0)
40
40
  Requires-Dist: textual (>=3.1.1,<4.0.0)
41
41
  Requires-Dist: textual-serve (>=1.1.2,<2.0.0)
42
42
  Requires-Dist: typer (>=0.15.1,<0.16.0)
43
+ Requires-Dist: yamlfix (>=1.17.0,<2.0.0)
43
44
  Description-Content-Type: text/markdown
44
45
 
45
46
  <p align="center">
46
- <em>The go-to CLI tool for competitive programmers and setters.</em>
47
+ <img src="docs/rbx_white.png" alt="rbx" width="200">
48
+ </p>
49
+
50
+ <p align="center">
51
+ <em>The go-to CLI tool for programming competitions setters.</em>
47
52
  </p>
48
53
  <p align="center">
49
54
  <!-- loscal repository, no metadata badges. -->
@@ -60,6 +65,7 @@ Description-Content-Type: text/markdown
60
65
  <summary>Table of Contents</summary><br>
61
66
 
62
67
  - [Overview](#overview)
68
+ - [Features](#features)
63
69
  - [Documentation](#documentation)
64
70
  - [License](#license)
65
71
  </details>
@@ -73,9 +79,20 @@ Description-Content-Type: text/markdown
73
79
  [![PyPI pyversions](https://img.shields.io/pypi/pyversions/rbx.svg)](https://pypi.python.org/pypi/rbx/)
74
80
  [![PyPI version shields.io](https://img.shields.io/pypi/v/rbx.svg)](https://pypi.python.org/pypi/rbx/)
75
81
 
76
- rbx is a CLI tool and library that aims to help contestants and setters from the competitive programming community to have an easier time.
82
+ **rbx** is a CLI tool that empowers setters from the competitive programming community.
83
+
84
+ A flexible setting tool, as powerful as [Polygon](https://polygon.codeforces.com/), right on your terminal.
85
+
86
+ ---
87
+
88
+ ## Features
77
89
 
78
- Although trying to solve the issues of these two audiences seems to be too much for a single tool to handle, we exploit the fact that the journeys of contestants and setters have a lot in common.
90
+ - 🧱 Structure: describe your problem or contest structure with the use of YAML configuration files.
91
+ - 🤖 Generation: provides a simple way to describe your whole testset, including both manually added and generated testcases.
92
+ - 🔨 Testing: provides commands for automatically running correct and incorrect solutions against the testcases of your problem, automatically judging whether the verdict was as expected or not.
93
+ - ✅ Verify: checks if your testcases and solutions are strictly conformant with the use of validators and unit tests.
94
+ - 📝 Statements: provides tooling for writing and building statements, also ensuring they're easily synchronized with your testset.
95
+ - 📤 Package: provides a single command for packaging your problems for use in your preferred judge system.
79
96
 
80
97
  ---
81
98
 
@@ -3,24 +3,24 @@ rbx/annotations.py,sha256=qcJGL_INONSirH7LTrEma5RsweAIbO6QlRHVvRvb9ao,3521
3
3
  rbx/autoenum.py,sha256=cusv8ClXRlDVvhZ8eDrtYcL_2peXlHugAey_ht8roXk,12025
4
4
  rbx/box/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  rbx/box/builder.py,sha256=MDm2qqmhedAbhn3rWP6cDwbBsGhV6sz_2sg1zLkPDw0,3613
6
- rbx/box/cd.py,sha256=KGaqXHnv2hCumZS2VdMezFfwFEQcSq0rt05_KZtuQAo,1570
7
- rbx/box/checkers.py,sha256=0r_9cdRfZJlDuBuBB7xrzMJixcVL2JdBe4dmWAQym04,12828
8
- rbx/box/cli.py,sha256=NRx9Fs6lMnQMPPFVSxqEk8WNPDgfneRKF2rP0_fbKtE,28001
9
- rbx/box/code.py,sha256=m9bWdeseb87QbSbVgRRqdVzDrCT3JXEvNKzhjyKkLe4,24312
6
+ rbx/box/cd.py,sha256=bPiSLMDNFtfOSYaQ9TBGm-Cl8SKajqDZMr98uXMvKA8,2699
7
+ rbx/box/checkers.py,sha256=2eLfMOzJajoca26M4rOBxUxve3-BpxcMu_q2upI1Pcg,13017
8
+ rbx/box/cli.py,sha256=d6N_CvipfTGDyjLANkwpbvJRk9WmQTA9nnbT9GrWTPo,27724
9
+ rbx/box/code.py,sha256=9Eba-LlvmMkfyiNAFOk2V2rRXKQvQYWyC_d0q195pZw,24445
10
10
  rbx/box/compile.py,sha256=Kzn5mEQu4vb91W9vjyt0DS6cfPJzFLTUoowFj7uHLUo,2539
11
11
  rbx/box/conftest.py,sha256=sEmciXSeDC-wmrZ1JSxbsUenKNP_VWW32mrCun2pY3I,1070
12
12
  rbx/box/contest/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
13
  rbx/box/contest/build_contest_statements.py,sha256=643LJY1XEgevitbnzc05Cgo8wcLp7w91Z1K4D5XKcqA,12016
14
- rbx/box/contest/contest_package.py,sha256=OaUbpBtkhkgOPzJ1ccI_Vq4FMSaJvZm3gMOKfVY8oy4,3032
14
+ rbx/box/contest/contest_package.py,sha256=EqtmEw36Hpr7-AYf4hGV0tYDu5esj7k14w7ZEIYU36o,2980
15
15
  rbx/box/contest/contest_utils.py,sha256=fsWHG1e65wq9zvRY3tdf32VF0nU1yzGTOBX5yjXiNk4,1102
16
- rbx/box/contest/main.py,sha256=5IRdTRxk4u7wSFgmcC18mefuuLfgsJGRlYWl3pLg-v8,8416
16
+ rbx/box/contest/main.py,sha256=qjBGZpSzeCHA3IfjVsO1yywNek9K-h6Fqtp1-ulHoVo,7399
17
17
  rbx/box/contest/schema.py,sha256=eb7xtyq078YYWYHueximNhyHFINzwgLMFm1j9U3LxBQ,7461
18
18
  rbx/box/contest/statements.py,sha256=wTLmCO3VlGUcN-CzBf-uKUSOAbLUnDeZhdMcsIuF63A,3803
19
- rbx/box/creation.py,sha256=Evz7K6JoarD-4JJQsZsgoxU9FgCF9Z7-LfuroG4Cqls,2444
19
+ rbx/box/creation.py,sha256=I3sclB5WTK_pcXDnYU6LEbvGVSHwRS_30L3GVAz-QqM,1369
20
20
  rbx/box/deferred.py,sha256=II3X9e87JCOZtmspnHh-n4PFqh-FsH_oc0XJHZ9ZYVQ,691
21
21
  rbx/box/download.py,sha256=tLW5gLVeLk0gHMEMwScSoHIXQPkXuPsqXzItsrsnUZY,3070
22
22
  rbx/box/dump_schemas.py,sha256=3j5t47_vJmXj0BCczxDX6ByOcsfolGEDNCBXlPpk86w,593
23
- rbx/box/environment.py,sha256=Kp69MekUwwoVpupnafUcN5KAbP-ZTCwe0OQXt1h0FN8,11859
23
+ rbx/box/environment.py,sha256=6HeFBEgxM-ug41M_7O6lwc7JI9HoifTu7F-W5GjGmL8,12189
24
24
  rbx/box/extensions.py,sha256=Von8kIeXvNFTkGlMRMTvL2HIHPwlkuiMswr-ydbGV1w,519
25
25
  rbx/box/fields.py,sha256=lc1OHpo_AC8RxzNasipULGkRmToAiXBGzWDeb14L_ss,1092
26
26
  rbx/box/formatting.py,sha256=drxGLRS-uh_5j0GTmk8kAq0NlWpM5WoSBJoDHh9KXNI,1222
@@ -31,9 +31,10 @@ rbx/box/header.py,sha256=ifErXcIxG5lM5AyRiHDr7JE401vR4ORNXCNpHXxN_ls,2001
31
31
  rbx/box/lang.py,sha256=GaWvf4rgukflIZ9ti4MUKSJcz9wm2mIVuFcrO-pA8L8,669
32
32
  rbx/box/lazy_importing_main.py,sha256=6Z8As7qVFFT619xHH9Xt8VCH57NjC4aDxfAgkWiUwT8,116
33
33
  rbx/box/lazy_importing_test.py,sha256=B0-b3y_DkxEmtVfu4NfmVsgVdFl6kRCsEL6GLMHJISo,628
34
+ rbx/box/linting.py,sha256=XdIgn8uRmPt06mLaP9ROnn6P1aSRdery6FkiLazLDM8,3181
34
35
  rbx/box/main.py,sha256=a8CYi77kOywPFly4-ucEIJLXQW-1NFp91kK2fA42YTE,86
35
36
  rbx/box/naming.py,sha256=pOG37X_wQM9CCSYwJIUf-b-ZHEs_nchO7wQEdP_quJg,1367
36
- rbx/box/package.py,sha256=Qx63gi9wcaucBSmYmAA3m7HMZIvtdyMZSs1qZUyEPzY,15017
37
+ rbx/box/package.py,sha256=ZywWmXjQo-A14fMOhOCzAO5IjFX9x-TBs8PusAv8iWE,13771
37
38
  rbx/box/packaging/boca/extension.py,sha256=EQALNEOv4zVDXSKs_dk11n92y7cBZVn8TogIK683lE0,890
38
39
  rbx/box/packaging/boca/packager.py,sha256=MEVXTGtMWxcXetvXZ4td-AtOUTM68WeRqy5yt-7Lg28,13675
39
40
  rbx/box/packaging/contest_main.py,sha256=7YQWmzl1rOdO7cWFc_D6zhywIE12lKJY1O6hnrxkOLs,3168
@@ -46,16 +47,16 @@ rbx/box/packaging/polygon/polygon_api.py,sha256=mPKEqiwANJ1nr-JhOgzGMaDhnbljsAgz
46
47
  rbx/box/packaging/polygon/test.py,sha256=bgEju5PwudgyfwxXJagm8fM6CJVlWM6l_-2q1V-oKaQ,3069
47
48
  rbx/box/packaging/polygon/upload.py,sha256=6dIbjwygKtirLBkbh40UgtHU1NHGxSMoFAtg2BcC2II,12902
48
49
  rbx/box/packaging/polygon/xml_schema.py,sha256=ZgcLyvxggMUccbTNdzflue5G-FTN2_ZmOGGF7FD0Y5A,2851
49
- rbx/box/presets/__init__.py,sha256=9S7AyCop5aopr5U2ttXxOmvfBU0LHrgg5reyskfhbds,21316
50
+ rbx/box/presets/__init__.py,sha256=9BLun8zOwbn6T9eyNtIMONL3Ty5j77UUPzenB2-JOpY,22709
50
51
  rbx/box/presets/fetch.py,sha256=900aq9S8e12TlgSenG0iHgtF4OWgqavZsptgI_a1YKM,2508
51
- rbx/box/presets/lock_schema.py,sha256=6sRPnyePOC8yy-5WcD5JRZdDJHf8loqbvpQ1IPiOU9s,349
52
- rbx/box/presets/schema.py,sha256=mZmSPkQsw7eQM0lQN6er1MO_LiW1ObwwAZFDK0F5fxE,1962
52
+ rbx/box/presets/lock_schema.py,sha256=Ohxs5J_B5_Dr8ZajptGqKzRzIjQS2ehDHbCOSy07PyY,309
53
+ rbx/box/presets/schema.py,sha256=KhAZjA5VU7dBEvGc22jBWO8JHKkQ-sbPz6EcJK8Rgfg,2299
53
54
  rbx/box/remote.py,sha256=2xN0XSWoRyDY0-FNKejK0x8iKhRuVsluIMKKb-gD7bI,4572
54
- rbx/box/retries.py,sha256=70n2avWa7GYSyNcmhml8qp1K21Fmp-JNjvYC9b_UaNg,4721
55
+ rbx/box/retries.py,sha256=2K2AiFdtTaVsbzSgupbP4xr4QQ7LFeGBOcyXLinVf0I,4950
55
56
  rbx/box/sanitizers/warning_stack.py,sha256=RI97_GJgdjTKIXY_r0EKp5h0qQQSDSdNDh5K7zINrqs,2861
56
- rbx/box/schema.py,sha256=mL9muaV4F2C3QnYDSHkMKjXMfkd1kLtXq9KYBTqsaW4,18518
57
+ rbx/box/schema.py,sha256=424VcpZzY2qUz8rlETwIqrzzwmnoARILEO7Wf2P61BY,18855
57
58
  rbx/box/setter_config.py,sha256=9iObg6BwxQhFAhIOk31Jc0BDDpRYVGf3SyLIOsWIltM,4393
58
- rbx/box/solutions.py,sha256=vtLGpZZMPllfhaifNYpvWQtAaQlllIv64tORupKlycc,51101
59
+ rbx/box/solutions.py,sha256=g2jgDtSCqvlG-WiiJpTibLDljil2tRCKNelGS8qTrXQ,53357
59
60
  rbx/box/solutions_test.py,sha256=PX1TQoRzNd9mi1SGsG7WFrpqFgNrNX5Kwt0mkwFdoOA,1749
60
61
  rbx/box/state.py,sha256=MMf3DvfQji0jKEliCHct2Tpp_0epL1tvP8HbHNArQIc,166
61
62
  rbx/box/statements/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -66,11 +67,12 @@ rbx/box/statements/joiners.py,sha256=jItNXkAbTjFQpPMgfDMW86n3vMTbaE8sgo9I8Yf4Txg
66
67
  rbx/box/statements/latex.py,sha256=LkcHwXjMFxbw--Gj9T1VkFKQFsXhY9dN7xZHpZycNW8,1346
67
68
  rbx/box/statements/latex_jinja.py,sha256=6whLCIHzPjq7oeDwzUgdvirpLA4Y3G-w319DhzPwPUI,8960
68
69
  rbx/box/statements/schema.py,sha256=QIUkQhrLb3rqAdvzDSwL3r4uAvDv-mKsWRtfCEH2L7Y,4685
70
+ rbx/box/stats.py,sha256=hXp4xF0_dI5TuU7unxAM5q0cVE9e1phmFbBS0PRQUbA,2999
69
71
  rbx/box/stresses.py,sha256=SOfYhJxge3ykuLlBMALM0IAmpZuOZFS9EP8Jmn6yHiw,12923
70
72
  rbx/box/stressing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
71
73
  rbx/box/stressing/finder_parser.py,sha256=jXpYNa4FyugzmHi3r96Uv4rU1krRQJc5Ihr9jf1cvNo,11918
72
74
  rbx/box/stressing/generator_parser.py,sha256=oHZryjR3YohgaSO9WEirQ7b2e-98WgZStF0N99W4Thw,7380
73
- rbx/box/tasks.py,sha256=sVPR6a3CSU28pN6bMjZcZATYZBV7JlZvhvxcPRH8-MI,10514
75
+ rbx/box/tasks.py,sha256=JygSpQzHxH71JwBJCl_JEbAfVMVz34lKjj5bhqQFqaM,10649
74
76
  rbx/box/testcase_extractors.py,sha256=J43eG7vpxc5nP_2yhrXJODkd4EYlV4WiYVbM6hzipY4,11944
75
77
  rbx/box/testcase_utils.py,sha256=epal6TFd2PK3dbEvTTr9tCebfmbF-rQD0d3xW8umriA,6860
76
78
  rbx/box/testcases/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -97,7 +99,7 @@ rbx/box/ui/screens/run_test_explorer.py,sha256=D6sXTEbqzXI7uPu3EXZoFyIBxlGFbkdey
97
99
  rbx/box/ui/screens/selector.py,sha256=s9JR74anCt8NAlkk7GeNvqyqz2YEhCWTebOUNQ7HrXg,856
98
100
  rbx/box/ui/screens/test_explorer.py,sha256=Iv6yDqELr4-Ouo9PSD5Wr3bTdbmx8VfrK9zj5ULhPlg,4078
99
101
  rbx/box/ui/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
100
- rbx/box/ui/utils/run_ui.py,sha256=aOIF-84TbLe7KN3JeppANPuxJ1U4jHAaxDBnnFBQZcE,3762
102
+ rbx/box/ui/utils/run_ui.py,sha256=0dr18mfRSPIu7JmR9OGIh87OvNmwqDL_zhhdpKtnD_g,3772
101
103
  rbx/box/ui/widgets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
102
104
  rbx/box/ui/widgets/diff_box.py,sha256=4OxgwOvdm9nSVUKeKLzOQBlBweFu8LiTfp6g4ZkS5nM,1125
103
105
  rbx/box/ui/widgets/file_log.py,sha256=3wlrmkWR-EMibwlwXOJ5sGpTFwFEkRaGYo5fdmf8L3w,1704
@@ -121,7 +123,7 @@ rbx/grading/conftest.py,sha256=iN9LUG1IQqhK5JjkctcP68v6675oYsiD2sQSgyLMTqw,960
121
123
  rbx/grading/judge/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
122
124
  rbx/grading/judge/cacher.py,sha256=TDgYDhehnJIv64EFiXxPAtVADD8q9WcJa_BE9TsE-JM,17669
123
125
  rbx/grading/judge/digester.py,sha256=gtOIe_iL4PEWA7OKelW1gjSI-nBvbOpDPJGV8VQyjSg,912
124
- rbx/grading/judge/sandbox.py,sha256=Jpl4lYhlTfXbJebPnruFpSfmhKqhJMcPNt0T_n5jnHA,25844
126
+ rbx/grading/judge/sandbox.py,sha256=EuBPWPuaRq6ikPd4G2V8fMJLJFkx7mdnNRSuql8loNE,26172
125
127
  rbx/grading/judge/sandboxes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
126
128
  rbx/grading/judge/sandboxes/isolate.py,sha256=L-h2_GZfFGYQEsGjd-lyzqzpsl6_ytJZ5myVyQCxerk,25961
127
129
  rbx/grading/judge/sandboxes/stupid_sandbox.py,sha256=PSPQUBSSsP2OfEBbcLjx4m2rUlSxLZ-hKyMYP8zJWhI,11310
@@ -131,7 +133,7 @@ rbx/grading/judge/test.py,sha256=ll0Iw7zyOpGdKPD_PGH7dvUkb4stQLu-ikbQnqJvuAc,944
131
133
  rbx/grading/judge/testiso.py,sha256=v14DtkWiZFJ9AKMzrb0_vZKPWDt8jz8iIw1Z2O-Advk,1397
132
134
  rbx/grading/limits.py,sha256=ev312UTOo8S4-3AAVibQdXZclWCxS96CdbZxqW4y1kE,770
133
135
  rbx/grading/processing_context.py,sha256=Jg9kNnkH3hi2hiE6Gh23QwS89r9Zj230NMl1CUEHSfo,1866
134
- rbx/grading/steps.py,sha256=p43pDnY2tCBhx1kvN-t3_230eQFxUOEOYmsTGedIDik,28964
136
+ rbx/grading/steps.py,sha256=pL1eoUYOR09jn5MHUsHFU2xTnwrTBo_2K4UPkcy60Oo,29021
135
137
  rbx/grading/steps_with_caching.py,sha256=nez2YwgauGXKRjhk6tQxTDGQ-HEk7KfZOeAPhsxi5iw,3150
136
138
  rbx/grading/steps_with_caching_run_test.py,sha256=mh4DRInrOGhnQFWD1SlcjDm_HvcSDFTDMSpAlG-Q5SI,15570
137
139
  rbx/grading_utils.py,sha256=lL2KtSkOsMElqrRoApQTbFcqVOeHVWUDTMCa3IsLpC4,4484
@@ -194,26 +196,26 @@ rbx/resources/packagers/moj/scripts/py2/run.sh,sha256=qshf-K3mKP4c7b45S3D82Wj0Ai
194
196
  rbx/resources/packagers/moj/scripts/py3/compile.sh,sha256=XPn8qDR_gPAAZD9h5lVEMdBkrSogRZvpT4MAaNNp9nk,96
195
197
  rbx/resources/packagers/moj/scripts/py3/prep.sh,sha256=it1e07QRpsnku3-rXOO1ovaw-RJlVVPy9R3I6WWwgMM,126
196
198
  rbx/resources/packagers/moj/scripts/py3/run.sh,sha256=LrMi7Tap9no8gh64QNGUXbWauP6ZpSl-wEwXZ2qhPo0,197
197
- rbx/resources/presets/default/contest/contest.rbx.yml,sha256=8Eb5DI3RAX_0x9KO9xDS-L1PHYaNujcLOGQijFfTsPg,449
199
+ rbx/resources/presets/default/contest/contest.rbx.yml,sha256=nN6FTb9xTISR2Lxv6AoCegEStgmwsfPo5KaFiBlJgWU,535
198
200
  rbx/resources/presets/default/contest/statement/contest.rbx.tex,sha256=3YDQo5c-SGbwXcd4uytyY_Mc7UriAditgdJnbN8UdHg,3062
199
201
  rbx/resources/presets/default/contest/statement/olymp.sty,sha256=k4TCQz1IeXV75oZ2_dcWEQ3ziTDegOEdnYn4Xb4vzsU,6766
200
202
  rbx/resources/presets/default/contest/statement/template.rbx.tex,sha256=XSGtd8JJKfOmU7yTWcC02x6NND9GUlj9uXOEJC168Lg,834
201
- rbx/resources/presets/default/preset.rbx.yml,sha256=hYesK08n17FBNThr4iaGrDfC0L3us_pzGDkhD33Ryt4,313
203
+ rbx/resources/presets/default/preset.rbx.yml,sha256=zepC-H2d7c3EZ3pP_agafpinxgCQ53U_JF7X3-WuGak,411
202
204
  rbx/resources/presets/default/problem/.gitignore,sha256=zc-lnGQQZsLBaXpSshesA_QfxhiZdNCSJDEuKqlPtjw,29
203
205
  rbx/resources/presets/default/problem/gen.cpp,sha256=rn6sGRjZ1sFE1Rq02r6488iquY9xTrutcvLv4d1sohA,178
204
- rbx/resources/presets/default/problem/problem.rbx.yml,sha256=zw6-WISdsdiULYpOVJPDsTksNoVHNmQBPjzw1DBm-Xw,1400
206
+ rbx/resources/presets/default/problem/problem.rbx.yml,sha256=-tmGCLQD1TLtezoUjbRxJQzz5CtfRtvJEjEG2EYKEls,1689
205
207
  rbx/resources/presets/default/problem/random.py,sha256=-iPorU24QHfp39EYRJX9jMKcTIxxz5ejKoAzPLIuu1g,98
206
- rbx/resources/presets/default/problem/random.txt,sha256=oDS_a9LdKSTKj4MvGLWvHSljI3AjRY6MclaxEwK794I,23
208
+ rbx/resources/presets/default/problem/random.txt,sha256=2BA_AM8IAKEcrUTJhnzWnNJN8whDN82E2137NhFkt2U,137
209
+ rbx/resources/presets/default/problem/rbx.h,sha256=LBkbC3gbDPW2Fdm1p99hNhF7oKpZLLSY7dE4zpepp5w,2161
207
210
  rbx/resources/presets/default/problem/sols/main.cpp,sha256=AW-j65DiFYUN18rddTKCWc_VyYCMgCbjZ0jAJ-0JLuA,124
208
211
  rbx/resources/presets/default/problem/sols/slow.cpp,sha256=at9iXQjROaxG5f6OWH__phENb2SOK3crRfU7AwYT6hM,229
209
212
  rbx/resources/presets/default/problem/sols/wa.cpp,sha256=Bj7tejPIlXG_JqUHWY1zi9TDbHdRZzgT_JDbCLRdhbQ,136
210
213
  rbx/resources/presets/default/problem/statement/olymp.sty,sha256=k4TCQz1IeXV75oZ2_dcWEQ3ziTDegOEdnYn4Xb4vzsU,6766
211
- rbx/resources/presets/default/problem/statement/projecao.png,sha256=nYNXuV6MOUG-P29jDzZP2b8m8IWWm0631hpwAYfk9L0,136096
212
- rbx/resources/presets/default/problem/statement/statement.rbx.tex,sha256=tYcxTKLEvUgOQpB9f1foNFctshlxyVceGFc0k-WvAxI,459
214
+ rbx/resources/presets/default/problem/statement/statement.rbx.tex,sha256=JHdiMN3NQQsysDA1w3RfOGmDFobCc68YCB6SURy2hHo,360
213
215
  rbx/resources/presets/default/problem/statement/template.rbx.tex,sha256=BNvHDWGY1BU4tHUHtuIYBhdoOqp3fXO5qNr84ekOsgY,1693
214
216
  rbx/resources/presets/default/problem/tests/samples/000.in,sha256=w66OEtCJGqjUNj8cJrqgImgGVm8W_OlIUtF255ds-ow,4
215
217
  rbx/resources/presets/default/problem/tests/samples/001.in,sha256=P4QInDX87xXoDWu4PVIzUeNW5LtTlUKbMCvJ9uZOPGw,20
216
- rbx/resources/presets/default/problem/validator.cpp,sha256=VwZZUVq8GZHB07eOb6AoQirrYttPfTpF6P5m6I9nsLI,333
218
+ rbx/resources/presets/default/problem/validator.cpp,sha256=w4gl1u30Dx1N9oRTVtIg_rPlIyL6QdN_Bi5FDpp4gyw,317
217
219
  rbx/resources/presets/default/problem/wcmp.cpp,sha256=gbjJe3Vf9-YzHCEqBUq30aI3jMZXhqBDn3jjecYOn-w,902
218
220
  rbx/resources/templates/rbx.h,sha256=Iwtmr2gdDYmZ2VlIurmleBb_uEpriWd4EX0dJta8xUA,2179
219
221
  rbx/resources/templates/template.cpp,sha256=xXWpWo7fa7HfmPNqkmHcmv3i46Wm0ZL-gPmkRfGvLn4,317
@@ -228,8 +230,8 @@ rbx/testcase.py,sha256=yKOq3CAJZ1YTmInvnoIs0u1iJnRj_X85XiWbLI-p9d8,1951
228
230
  rbx/testcase_rendering.py,sha256=nfmv6dSEqd4aR3TsaODwkKGK6AXty_DDKtWf_ejiQpI,2084
229
231
  rbx/testing_utils.py,sha256=x_PqD8Zd2PkN91NxVHUnSTs044-1WK5KKtttKQBXpFs,2083
230
232
  rbx/utils.py,sha256=SfR844_i0ebRDMkmS_w1YdZiWPc6h2RGADygewlWRbA,4845
231
- rbx_cp-0.6.0.dist-info/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
232
- rbx_cp-0.6.0.dist-info/METADATA,sha256=l6XMZkU3dLX62zyDmsorRmShVuxZSge0dpBw8knMmxA,3641
233
- rbx_cp-0.6.0.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
234
- rbx_cp-0.6.0.dist-info/entry_points.txt,sha256=qBTLBOeifT1F00LWaEewRRE_jQPgvH7BUdJfZ-dYsFU,57
235
- rbx_cp-0.6.0.dist-info/RECORD,,
233
+ rbx_cp-0.7.0.dist-info/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
234
+ rbx_cp-0.7.0.dist-info/METADATA,sha256=cJPXcUWJPFAQ-Bo1Ijc8YJqpvo-aJcBsodttyutj-2g,4456
235
+ rbx_cp-0.7.0.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
236
+ rbx_cp-0.7.0.dist-info/entry_points.txt,sha256=qBTLBOeifT1F00LWaEewRRE_jQPgvH7BUdJfZ-dYsFU,57
237
+ rbx_cp-0.7.0.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 2.1.2
2
+ Generator: poetry-core 2.1.3
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any