rbx.cp 0.5.45__py3-none-any.whl → 0.5.47__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.
- rbx/box/checkers.py +81 -28
- rbx/box/cli.py +12 -10
- rbx/box/generators.py +77 -40
- rbx/box/packaging/boca/packager.py +44 -7
- rbx/box/packaging/main.py +7 -0
- rbx/box/packaging/moj/packager.py +88 -8
- rbx/box/packaging/packager.py +7 -2
- rbx/box/packaging/polygon/packager.py +5 -4
- rbx/box/solutions.py +7 -5
- rbx/box/statements/builders.py +22 -3
- rbx/box/stresses.py +0 -1
- rbx/box/tasks.py +18 -8
- rbx/box/testcase_utils.py +66 -0
- rbx/grading/judge/sandbox.py +29 -1
- rbx/grading/judge/sandboxes/isolate.py +12 -2
- rbx/grading/judge/sandboxes/stupid_sandbox.py +17 -5
- rbx/grading/judge/sandboxes/timeit.py +12 -3
- rbx/grading/processing_context.py +48 -0
- rbx/grading/steps.py +24 -13
- rbx/resources/packagers/boca/checker.sh +8 -6
- rbx/resources/packagers/boca/compare.sh +48 -0
- rbx/resources/packagers/boca/interactive/c +207 -0
- rbx/resources/packagers/boca/interactive/cc +207 -0
- rbx/resources/packagers/boca/interactive/cpp +207 -0
- rbx/resources/packagers/boca/interactive/java +240 -0
- rbx/resources/packagers/boca/interactive/kt +231 -0
- rbx/resources/packagers/boca/interactive/py2 +209 -0
- rbx/resources/packagers/boca/interactive/py3 +209 -0
- rbx/resources/packagers/boca/interactor_compile.sh +45 -0
- rbx/resources/packagers/boca/run/bkp +163 -0
- rbx/resources/packagers/boca/run/c +19 -19
- rbx/resources/packagers/boca/run/cc +19 -19
- rbx/resources/packagers/boca/run/cpp +19 -19
- rbx/resources/packagers/boca/run/java +51 -51
- rbx/resources/packagers/boca/run/kt +30 -30
- rbx/resources/packagers/boca/run/py2 +42 -42
- rbx/resources/packagers/boca/run/py3 +42 -42
- rbx/resources/packagers/moj/scripts/c/compile.sh +19 -0
- rbx/resources/packagers/moj/scripts/c/prep.sh +5 -0
- rbx/resources/packagers/moj/scripts/c/run.sh +16 -0
- rbx/resources/packagers/moj/scripts/compare.sh +32 -6
- rbx/resources/packagers/moj/scripts/cpp/compile.sh +19 -0
- rbx/resources/packagers/moj/scripts/cpp/prep.sh +5 -0
- rbx/resources/packagers/moj/scripts/cpp/run.sh +16 -0
- rbx/resources/packagers/moj/scripts/interactor_prep.sh +14 -0
- rbx/resources/packagers/moj/scripts/interactor_run.sh +38 -0
- rbx/resources/packagers/moj/scripts/java/compile.sh +12 -0
- rbx/resources/packagers/moj/scripts/java/prep.sh +8 -0
- rbx/resources/packagers/moj/scripts/java/run.sh +17 -0
- rbx/resources/packagers/moj/scripts/py2/compile.sh +7 -0
- rbx/resources/packagers/moj/scripts/py2/prep.sh +5 -0
- rbx/resources/packagers/moj/scripts/py2/run.sh +16 -0
- rbx/resources/packagers/moj/scripts/py3/compile.sh +7 -0
- rbx/resources/packagers/moj/scripts/py3/prep.sh +5 -0
- rbx/resources/packagers/moj/scripts/py3/run.sh +16 -0
- {rbx_cp-0.5.45.dist-info → rbx_cp-0.5.47.dist-info}/METADATA +1 -1
- {rbx_cp-0.5.45.dist-info → rbx_cp-0.5.47.dist-info}/RECORD +60 -33
- rbx/resources/packagers/boca/compare +0 -53
- {rbx_cp-0.5.45.dist-info → rbx_cp-0.5.47.dist-info}/LICENSE +0 -0
- {rbx_cp-0.5.45.dist-info → rbx_cp-0.5.47.dist-info}/WHEEL +0 -0
- {rbx_cp-0.5.45.dist-info → rbx_cp-0.5.47.dist-info}/entry_points.txt +0 -0
@@ -45,36 +45,36 @@
|
|
45
45
|
umask 0022
|
46
46
|
id -u bocajail >/dev/null 2>/dev/null
|
47
47
|
if [ $? == 0 ]; then
|
48
|
-
|
49
|
-
|
50
|
-
|
48
|
+
bocau=$(id -u bocajail)
|
49
|
+
bocag=$(id -g bocajail)
|
50
|
+
chown bocajail.nogroup .
|
51
51
|
else
|
52
|
-
|
53
|
-
|
54
|
-
|
52
|
+
bocau=$(id -u nobody)
|
53
|
+
bocag=$(id -g nobody)
|
54
|
+
chown nobody.nogroup .
|
55
55
|
fi
|
56
56
|
if [ "$bocau" == "" -o "$bocag" == "" ]; then
|
57
|
-
|
58
|
-
|
57
|
+
echo "error finding user to run script"
|
58
|
+
exit 43
|
59
59
|
fi
|
60
60
|
|
61
61
|
# this script makes use of safeexec to execute the code with less privilegies
|
62
62
|
# make sure that directories below are correct.
|
63
|
-
sf
|
63
|
+
sf=$(which safeexec)
|
64
64
|
[ -x "$sf" ] || sf=/usr/bin/safeexec
|
65
65
|
|
66
66
|
if [ "$1" == "" -o "$2" == "" -o "$3" == "" ]; then
|
67
|
-
|
68
|
-
|
67
|
+
echo "parameter problem"
|
68
|
+
exit 43
|
69
69
|
fi
|
70
|
-
name
|
70
|
+
name=$(basename "$1")
|
71
71
|
if [ ! -r "$2" ]; then
|
72
|
-
|
73
|
-
|
72
|
+
echo "$2 not found (or is not in the current dir) or it's not readable"
|
73
|
+
exit 45
|
74
74
|
fi
|
75
75
|
if [ ! -x "$sf" ]; then
|
76
|
-
|
77
|
-
|
76
|
+
echo "$sf not found or it's not executable"
|
77
|
+
exit 46
|
78
78
|
fi
|
79
79
|
|
80
80
|
time=$3
|
@@ -108,18 +108,18 @@ fi
|
|
108
108
|
rm -f runit.retcode 2>/dev/null
|
109
109
|
cp "$2" stdin0 2>/dev/null
|
110
110
|
|
111
|
-
cdir
|
111
|
+
cdir=$(pwd)
|
112
112
|
echo "Current directory is $cdir" >&2
|
113
113
|
echo $cdir | grep -q "/bocajail"
|
114
114
|
if [ $? == 0 ]; then
|
115
|
-
|
116
|
-
|
115
|
+
cdir=$(echo $cdir | sed "s/.*\/bocajail//")
|
116
|
+
cat <<EOF >runit.sh
|
117
117
|
#!/bin/bash
|
118
118
|
cd "$cdir"
|
119
119
|
[ -f /proc/cpuinfo ] || /bin/mount -t proc proc /proc
|
120
120
|
#/bin/mount --bind /dev /dev
|
121
121
|
[ -d /sys/kernel ] || /bin/mount -t sysfs sysfs /sys
|
122
|
-
python3
|
122
|
+
python3=$(which python3)
|
123
123
|
[ -x "\$python3" ] || python3=/usr/bin/python3
|
124
124
|
if [ ! -x "\$python3" ]; then
|
125
125
|
echo "\$python3 not found or it's not executable"
|
@@ -134,31 +134,31 @@ if [ ! -d /bocajail ]; then
|
|
134
134
|
/bin/umount /sys 2>/dev/null
|
135
135
|
fi
|
136
136
|
EOF
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
137
|
+
chmod 755 runit.sh
|
138
|
+
chroot /bocajail "$cdir/runit.sh"
|
139
|
+
if [ -r runit.retcode ]; then
|
140
|
+
ret=$(cat runit.retcode)
|
141
|
+
fi
|
142
|
+
if [ "$ret" == "" ]; then
|
143
|
+
echo "Execution error - check autojudging"
|
144
|
+
exit 49
|
145
|
+
fi
|
146
146
|
else
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
147
|
+
echo "CODE NOT BEING CHROOTED. DO NOT RUN THIS ON THE MAIN SERVER" >&2
|
148
|
+
echo "CODE NOT BEING CHROOTED. DO NOT RUN THIS ON THE MAIN SERVER" >&2
|
149
|
+
echo "CODE NOT BEING CHROOTED. DO NOT RUN THIS ON THE MAIN SERVER" >&2
|
150
|
+
python3=$(which python3)
|
151
|
+
[ -x "$python3" ] || python3=/usr/bin/python3
|
152
|
+
if [ ! -x "$python3" ]; then
|
153
|
+
echo "$python3 not found or it's not executable"
|
154
|
+
exit 47
|
155
|
+
fi
|
156
|
+
"$sf" -r$nruns -t$time -T$ttime -istdin0 -F256 -u256 -U$bocau -G$bocag -ostdout0 -estderr0 -n0 -C. -d$maxm -m$maxm -f$maxf -- "$python3" "$name"
|
157
|
+
ret=$?
|
158
158
|
fi
|
159
159
|
if [ $ret -gt 10 ]; then
|
160
|
-
|
161
|
-
|
160
|
+
echo "> > > > > > > Nonzero return code - possible runtime error - I'M GUESSING IT IS RUNTIME ERROR < < < < < < < <"
|
161
|
+
ret=9
|
162
162
|
fi
|
163
163
|
if [ -f stdout0 ]; then
|
164
164
|
cat stdout0
|
@@ -0,0 +1,19 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
exec 2>/tmp/stderrlog >/tmp/out
|
4
|
+
cd /tmp/rwdir
|
5
|
+
|
6
|
+
cat >Makefile <<'EOF'
|
7
|
+
|
8
|
+
SRC=$(wildcard *.c)
|
9
|
+
CFLAGS={{rbxFlags}}
|
10
|
+
|
11
|
+
all: $(patsubst %.c,%,${SRC})
|
12
|
+
|
13
|
+
%: %.c
|
14
|
+
@gcc ${CFLAGS} $^ -o $@ -lm
|
15
|
+
@echo BIN=$@
|
16
|
+
EOF
|
17
|
+
|
18
|
+
unset MAKELEVEL
|
19
|
+
make
|
@@ -37,14 +37,40 @@ if [ ! -r "$CHECKERSOURCE" ]; then
|
|
37
37
|
exit 47
|
38
38
|
fi
|
39
39
|
|
40
|
-
|
40
|
+
WORKDIRBASE=$(dirname "$1")
|
41
|
+
WORKDIR=$WORKDIRBASE/cagefiles/
|
41
42
|
CHECKERHASH={{checkerHash}}
|
42
|
-
CHECKERPATH=$
|
43
|
+
CHECKERPATH=$WORKDIRBASE/$CHECKERHASH
|
44
|
+
|
45
|
+
# Get basename of the input file.
|
46
|
+
FILE=$(basename $3)
|
47
|
+
STDERRLOG=$WORKDIR/$FILE-stderr
|
48
|
+
|
49
|
+
echo "input stderr $STDERRLOG "
|
50
|
+
if [[ -e $STDERRLOG ]]; then
|
51
|
+
INTERACTOREXITCODE=$(grep '^interactor exitcode' $STDERRLOG | awk '{print $NF}')
|
52
|
+
echo "interactor exitcode = $INTERACTOREXITCODE"
|
53
|
+
if [[ -n $INTERACTOREXITCODE ]]; then
|
54
|
+
if [[ $INTERACTOREXITCODE -eq 1 ]]; then
|
55
|
+
echo "interactor return wrong answer"
|
56
|
+
exit 6
|
57
|
+
elif [[ $INTERACTOREXITCODE -eq 2 ]]; then
|
58
|
+
echo "interactor invalid input"
|
59
|
+
exit 6
|
60
|
+
elif [[ $INTERACTOREXITCODE -eq 3 ]]; then
|
61
|
+
echo "interactor failed with exit code 3"
|
62
|
+
exit 43
|
63
|
+
else
|
64
|
+
echo "interactor failed with exit code $INTERACTOREXITCODE"
|
65
|
+
exit 47
|
66
|
+
fi
|
67
|
+
fi
|
68
|
+
fi
|
43
69
|
|
44
70
|
lock() {
|
45
71
|
MAX_ATTEMPTS=100
|
46
72
|
ATTEMPTS=0
|
47
|
-
while ! ln -s $CHECKERSOURCE $CHECKERPATH.lock; do
|
73
|
+
while ! ln -s $CHECKERSOURCE $CHECKERPATH.lock 2>/dev/null; do
|
48
74
|
sleep 1
|
49
75
|
ATTEMPTS=$((ATTEMPTS + 1))
|
50
76
|
if [ $ATTEMPTS -ge $MAX_ATTEMPTS ]; then
|
@@ -93,9 +119,9 @@ elif [ $EC -eq 1 ]; then
|
|
93
119
|
echo "checker found differences"
|
94
120
|
exit 6
|
95
121
|
elif [ $EC -eq 2 ]; then
|
96
|
-
echo "checker
|
97
|
-
exit
|
122
|
+
echo "checker found invalid output"
|
123
|
+
exit 6
|
98
124
|
elif [ $EC -ne 3 ]; then
|
99
|
-
echo "
|
125
|
+
echo "judge failed with $EC"
|
100
126
|
exit 43
|
101
127
|
fi
|
@@ -0,0 +1,19 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
exec 2>/tmp/stderrlog >/tmp/out
|
4
|
+
cd /tmp/rwdir
|
5
|
+
|
6
|
+
cat >Makefile <<'EOF'
|
7
|
+
|
8
|
+
SRC=$(wildcard *.cpp)
|
9
|
+
CXXFLAGS={{rbxFlags}}
|
10
|
+
|
11
|
+
all: $(patsubst %.cpp,%,${SRC})
|
12
|
+
|
13
|
+
%: %.cpp
|
14
|
+
@g++ ${CXXFLAGS} $^ -o $@ -lm
|
15
|
+
@echo BIN=$@
|
16
|
+
EOF
|
17
|
+
|
18
|
+
unset MAKELEVEL
|
19
|
+
make
|
@@ -0,0 +1,14 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
function LOG() {
|
3
|
+
echo "$*" >&2
|
4
|
+
}
|
5
|
+
|
6
|
+
LOG "Compiling interactor"
|
7
|
+
|
8
|
+
g++ -ggdb3 -O2 $(dirname $0)/interactor.cpp -o $1/interactor
|
9
|
+
|
10
|
+
LOG "Interactor compiled at $1/interactor"
|
11
|
+
|
12
|
+
cp $(dirname $0)/interactor_run.sh $1/interactor_run.sh
|
13
|
+
LOG "Interactor run script copied to $1/interactor_run.sh"
|
14
|
+
chmod +x $1/interactor_run.sh
|
@@ -0,0 +1,38 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
exec 2>/tmp/stderrlog
|
3
|
+
|
4
|
+
mkfifo /tmp/fifo.in /tmp/fifo.out
|
5
|
+
|
6
|
+
# Solutions stderr is eaten in interactor problems.
|
7
|
+
$CMD </tmp/fifo.in >/tmp/fifo.out &
|
8
|
+
PIDSOLUTION=$!
|
9
|
+
|
10
|
+
/tmp/dir/interactor /tmp/in /tmp/out >/tmp/fifo.in </tmp/fifo.out 2>/tmp/interactor.log &
|
11
|
+
PIDINTERACTOR=$!
|
12
|
+
|
13
|
+
wait $PIDSOLUTION
|
14
|
+
EXITCODESOLUTION=$?
|
15
|
+
|
16
|
+
wait $PIDINTERACTOR
|
17
|
+
EXITCODEINTERACTOR=$?
|
18
|
+
|
19
|
+
echo "interactor $PIDINTERACTOR -> $EXITCODEINTERACTOR" >&2
|
20
|
+
echo "solution $PIDSOLUTION -> $EXITCODESOLUTION" >&2
|
21
|
+
|
22
|
+
cat /tmp/interactor.log >&2
|
23
|
+
|
24
|
+
if [[ $EXITCODEINTERACTOR -ge 1 ]] && [[ $EXITCODEINTERACTOR -le 4 ]]; then
|
25
|
+
echo "interactor exitcode $EXITCODEINTERACTOR" >&2
|
26
|
+
exit 0
|
27
|
+
fi
|
28
|
+
|
29
|
+
if [[ $EXITCODESOLUTION -ne 0 ]]; then
|
30
|
+
exit $EXITCODESOLUTION
|
31
|
+
fi
|
32
|
+
|
33
|
+
if [[ $EXITCODEINTERACTOR -ne 0 ]]; then
|
34
|
+
echo "interactor exitcode $EXITCODEINTERACTOR" >&2
|
35
|
+
exit $EXITCODEINTERACTOR
|
36
|
+
fi
|
37
|
+
|
38
|
+
exit 0
|
@@ -0,0 +1,12 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
exec 2>/tmp/stderrlog >/tmp/out
|
4
|
+
cd /tmp/rwdir
|
5
|
+
|
6
|
+
export JAVA_TOOL_OPTIONS="-Xmx300M -Xms50M -Xss10M -XX:MaxMetaspaceSize=256m -XX:CompressedClassSpaceSize=64m"
|
7
|
+
javac *java
|
8
|
+
RET=$?
|
9
|
+
#java -Xms10m -Xmx500m -Xss10m
|
10
|
+
|
11
|
+
echo BIN=$(ls *.class)
|
12
|
+
exit $RET
|
@@ -0,0 +1,8 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
[[ -e /etc/java-21-openjdk/ ]] && EXTRABINDINGS+="-b /etc/java-21-openjdk/"
|
4
|
+
[[ -e /etc/java ]] && EXTRABINDINGS+=" -b /etc/java"
|
5
|
+
|
6
|
+
INTERACTOR_PREP=$PROBLEMTEMPLATEDIR/scripts/interactor_prep.sh
|
7
|
+
|
8
|
+
[[ -e $INTERACTOR_PREP ]] && $INTERACTOR_PREP $1
|
@@ -0,0 +1,17 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
exec &>/tmp/stderrlog
|
4
|
+
|
5
|
+
#ulimit -a
|
6
|
+
|
7
|
+
cd /tmp/dir
|
8
|
+
source binfile.sh
|
9
|
+
|
10
|
+
export CLASSPATH=$PWD
|
11
|
+
CMD="java -Xmx{{rbxMaxMemory}}M -Xss256M $(basename $BIN .class)"
|
12
|
+
|
13
|
+
if [[ -e interactor_run.sh ]]; then
|
14
|
+
source interactor_run.sh
|
15
|
+
fi
|
16
|
+
|
17
|
+
exec $CMD </tmp/in >/tmp/out
|
@@ -4,8 +4,8 @@ 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
6
|
rbx/box/cd.py,sha256=9a_SOnzoJBXxxffp4Wbf3UKXIwKuN3Hvj7K6SocALwE,1194
|
7
|
-
rbx/box/checkers.py,sha256=
|
8
|
-
rbx/box/cli.py,sha256=
|
7
|
+
rbx/box/checkers.py,sha256=eb4tqtVUJYlme_Vkj2TGkUABM7EMS0P1EswhMYjN7BI,11459
|
8
|
+
rbx/box/cli.py,sha256=5SqJB4tE0vqWWyaweRpA7vSoIp34-AzH23ToR-yHmpk,26463
|
9
9
|
rbx/box/code.py,sha256=Cnts7noJaaoM35DZ9xcJAKXLwsKB4oBebMidqmMMO4M,18795
|
10
10
|
rbx/box/compile.py,sha256=OJLthDQ921w9vyoE6Gk1Df54i5RwtRJ2YG-8XEfefcs,2489
|
11
11
|
rbx/box/conftest.py,sha256=sEmciXSeDC-wmrZ1JSxbsUenKNP_VWW32mrCun2pY3I,1070
|
@@ -22,19 +22,19 @@ rbx/box/download.py,sha256=MFP-R26JiYGAP89I0TK-0fYc69Fsd20tsBqgtRCy5AE,2234
|
|
22
22
|
rbx/box/environment.py,sha256=47NtyuVC6zSQKAtQaXPEXvqcD-KJiuWRpWF8pYvcG4c,11158
|
23
23
|
rbx/box/extensions.py,sha256=Von8kIeXvNFTkGlMRMTvL2HIHPwlkuiMswr-ydbGV1w,519
|
24
24
|
rbx/box/formatting.py,sha256=3phFRHzqVXj4Ok1yDhCq6Clbw6KlqwJNpMhs--oTWFI,405
|
25
|
-
rbx/box/generators.py,sha256=
|
25
|
+
rbx/box/generators.py,sha256=5-3K0JSLR9GbV0LmOkvNsWiQaMvhFBrI56ZaV1WgodQ,13472
|
26
26
|
rbx/box/generators_test.py,sha256=J7aBfuJhU84MWDWzgReRoOuQw_hVa09B8gTKAvL2XVo,1987
|
27
27
|
rbx/box/lazy_importing_main.py,sha256=6Z8As7qVFFT619xHH9Xt8VCH57NjC4aDxfAgkWiUwT8,116
|
28
28
|
rbx/box/lazy_importing_test.py,sha256=B0-b3y_DkxEmtVfu4NfmVsgVdFl6kRCsEL6GLMHJISo,628
|
29
29
|
rbx/box/main.py,sha256=Imwc0ZkheOpa5r8S0Xpb8RLQzJgxb9vyuSR4_wab11g,43
|
30
30
|
rbx/box/package.py,sha256=YuX_FS6yKx6FaFz0NF0cx3v6jzhqwvsLr3Oprx_TTJA,13645
|
31
31
|
rbx/box/packaging/boca/extension.py,sha256=hQhcbocNfW2ESv5RalS1wf6uvOoOfOnR_gHvbXUbSzY,852
|
32
|
-
rbx/box/packaging/boca/packager.py,sha256=
|
32
|
+
rbx/box/packaging/boca/packager.py,sha256=X21vxdl9gY53s5fJ0YMFHHQrf1Ch6-d59nAsxr1YFR8,12236
|
33
33
|
rbx/box/packaging/contest_main.py,sha256=nMdgPE4OK_tsnUMdRI1cJwLpgxGrwW_mJjox0oOALWw,2757
|
34
|
-
rbx/box/packaging/main.py,sha256=
|
35
|
-
rbx/box/packaging/moj/packager.py,sha256=
|
36
|
-
rbx/box/packaging/packager.py,sha256=
|
37
|
-
rbx/box/packaging/polygon/packager.py,sha256=
|
34
|
+
rbx/box/packaging/main.py,sha256=RXGcpVZTwqkdLs4wHwoHSiFTXW62jIUS5fnvSKu3Ymw,2998
|
35
|
+
rbx/box/packaging/moj/packager.py,sha256=XMv7tqdrL6R7dX6ZZcNGCmqVrKhBYuMf5NW9VuE7U80,8792
|
36
|
+
rbx/box/packaging/packager.py,sha256=_NqRk1u2Q8SUhad-aRJk0Vox74MjW5msGPdpWZ_LzAk,3386
|
37
|
+
rbx/box/packaging/polygon/packager.py,sha256=qTGOUckevdOCt_ES63pN3uhmhDl9JuNcZ1XEnGNq-tU,10833
|
38
38
|
rbx/box/packaging/polygon/test.py,sha256=bgEju5PwudgyfwxXJagm8fM6CJVlWM6l_-2q1V-oKaQ,3069
|
39
39
|
rbx/box/packaging/polygon/xml_schema.py,sha256=-r24bCeRMGLrGGoT9FIgmqr87xHL-JzrFaR6bztbYtw,2703
|
40
40
|
rbx/box/presets/__init__.py,sha256=BwmjBw8wF8yiZFjCYBjMk-HGMZaRwhlfszbWAj3B0vw,18689
|
@@ -45,23 +45,23 @@ rbx/box/retries.py,sha256=tRk2K1bXw2xnwkAj2CsktRHTEhw7YKcPxMQTT6mCy-E,4707
|
|
45
45
|
rbx/box/sanitizers/warning_stack.py,sha256=RI97_GJgdjTKIXY_r0EKp5h0qQQSDSdNDh5K7zINrqs,2861
|
46
46
|
rbx/box/schema.py,sha256=P1jVaeqe4OcotAJOqu3T5WD8DR-amZyyq3cau5rPiM8,17086
|
47
47
|
rbx/box/setter_config.py,sha256=s53talhwM6FTGDCcBhY7IlZ6_6mJ3PMp6V4kTtaSs50,4262
|
48
|
-
rbx/box/solutions.py,sha256=
|
48
|
+
rbx/box/solutions.py,sha256=b4P6JN4eSDFiUKjBYvI38jsf8wLxS8Wi-YwBmm25Rcg,42684
|
49
49
|
rbx/box/solutions_test.py,sha256=TCowbxBG3SvDlFO5-qtBj_M_HrAHe0IJaI1XwoQ1d00,1718
|
50
50
|
rbx/box/state.py,sha256=MMf3DvfQji0jKEliCHct2Tpp_0epL1tvP8HbHNArQIc,166
|
51
51
|
rbx/box/statements/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
52
52
|
rbx/box/statements/build_statements.py,sha256=uHlC3y3PtKaGUd2ZS_zYxi6-AKco6v_yd-lvm6BfrNA,12091
|
53
|
-
rbx/box/statements/builders.py,sha256=
|
53
|
+
rbx/box/statements/builders.py,sha256=6lYV-cnC-NXMnJf1wasbq_AMbjdIuPpMirm7QsjZI6s,11825
|
54
54
|
rbx/box/statements/joiners.py,sha256=jItNXkAbTjFQpPMgfDMW86n3vMTbaE8sgo9I8Yf4Txg,2886
|
55
55
|
rbx/box/statements/latex.py,sha256=LkcHwXjMFxbw--Gj9T1VkFKQFsXhY9dN7xZHpZycNW8,1346
|
56
56
|
rbx/box/statements/latex_jinja.py,sha256=7WBfn1h8DpqCAmSE6Av64HfURMnJ2AO4QX1CD72sz5E,7096
|
57
57
|
rbx/box/statements/schema.py,sha256=ES8EUE9JE_uJlDwQx1kZd_5nQJyABtlnjP5IjbWaJ-0,3897
|
58
|
-
rbx/box/stresses.py,sha256=
|
58
|
+
rbx/box/stresses.py,sha256=cY7cCqnCs_bO61MrsUDJGxL4oZDaR5_4ifgPLD7XdSM,12134
|
59
59
|
rbx/box/stressing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
60
60
|
rbx/box/stressing/finder_parser.py,sha256=jXpYNa4FyugzmHi3r96Uv4rU1krRQJc5Ihr9jf1cvNo,11918
|
61
61
|
rbx/box/stressing/generator_parser.py,sha256=oHZryjR3YohgaSO9WEirQ7b2e-98WgZStF0N99W4Thw,7380
|
62
|
-
rbx/box/tasks.py,sha256=
|
62
|
+
rbx/box/tasks.py,sha256=oyWtgZvIEIkVV6e-GcJx7x8Z3T5tIDFBZbp0638sLeY,10036
|
63
63
|
rbx/box/testcase_extractors.py,sha256=T5vCW5qERlqitGrFP6RuITEVr9o8XQozNa4AsxfuV_Y,11871
|
64
|
-
rbx/box/testcase_utils.py,sha256=
|
64
|
+
rbx/box/testcase_utils.py,sha256=eeE7pr0vwxTEdHcZcpr9bIQlgIY5qI4-HpqR041LKxQ,6697
|
65
65
|
rbx/box/testcases/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
66
66
|
rbx/box/testcases/main.py,sha256=sLEgpVCDjRc3tJcU--DNWMmc58KgrkQe4zGzBorO-rk,5394
|
67
67
|
rbx/box/ui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -85,15 +85,16 @@ rbx/grading/conftest.py,sha256=iN9LUG1IQqhK5JjkctcP68v6675oYsiD2sQSgyLMTqw,960
|
|
85
85
|
rbx/grading/judge/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
86
86
|
rbx/grading/judge/cacher.py,sha256=TDgYDhehnJIv64EFiXxPAtVADD8q9WcJa_BE9TsE-JM,17669
|
87
87
|
rbx/grading/judge/digester.py,sha256=gtOIe_iL4PEWA7OKelW1gjSI-nBvbOpDPJGV8VQyjSg,912
|
88
|
-
rbx/grading/judge/sandbox.py,sha256=
|
88
|
+
rbx/grading/judge/sandbox.py,sha256=0ILirjd9xQTDH2mycRYAKvad-rMqDHrK72fjX3sBRBw,24868
|
89
89
|
rbx/grading/judge/sandboxes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
90
|
-
rbx/grading/judge/sandboxes/isolate.py,sha256=
|
91
|
-
rbx/grading/judge/sandboxes/stupid_sandbox.py,sha256=
|
92
|
-
rbx/grading/judge/sandboxes/timeit.py,sha256=
|
90
|
+
rbx/grading/judge/sandboxes/isolate.py,sha256=oLFcbOXsuIjbI2G58i9UrGk_h7k32OgL_8yvZybshhQ,25936
|
91
|
+
rbx/grading/judge/sandboxes/stupid_sandbox.py,sha256=PXVFbXcI0bwG38Blj0PakldzgoRl60vN9vgTbLU3GxQ,10987
|
92
|
+
rbx/grading/judge/sandboxes/timeit.py,sha256=jQonQhaVI93diYQsJYXwS77IO1t5iZVKJtm80Kuf4hg,10803
|
93
93
|
rbx/grading/judge/storage.py,sha256=3vv0HvtenbUZBH33CB5ZzX66ppL22G6munBaAA9BgwQ,9418
|
94
94
|
rbx/grading/judge/test.py,sha256=ll0Iw7zyOpGdKPD_PGH7dvUkb4stQLu-ikbQnqJvuAc,944
|
95
95
|
rbx/grading/judge/testiso.py,sha256=v14DtkWiZFJ9AKMzrb0_vZKPWDt8jz8iIw1Z2O-Advk,1397
|
96
|
-
rbx/grading/
|
96
|
+
rbx/grading/processing_context.py,sha256=2fxa610WzXGvICDVWkPCG721w-1tXDVT7w_KtSnD0OM,1213
|
97
|
+
rbx/grading/steps.py,sha256=nfZpHeoWK8d9Sm-5Zi5pYYpSdYIVvpTf88A6_C3QGyU,25744
|
97
98
|
rbx/grading/steps_with_caching.py,sha256=nez2YwgauGXKRjhk6tQxTDGQ-HEk7KfZOeAPhsxi5iw,3150
|
98
99
|
rbx/grading/steps_with_caching_run_test.py,sha256=mh4DRInrOGhnQFWD1SlcjDm_HvcSDFTDMSpAlG-Q5SI,15570
|
99
100
|
rbx/grading_utils.py,sha256=lL2KtSkOsMElqrRoApQTbFcqVOeHVWUDTMCa3IsLpC4,4484
|
@@ -109,8 +110,8 @@ rbx/resources/default_setter_config.mac.yml,sha256=i28xwAUDg-kuxx19knCiYkh-NR7Qe
|
|
109
110
|
rbx/resources/default_setter_config.yml,sha256=oy6fbuQyYaJS2Cw2zcbYcBBGt6138CyB3-bLl45_QqY,1000
|
110
111
|
rbx/resources/envs/default.rbx.yml,sha256=8gl4DXc5mVISx__1libPQfmuHYdW32xjysfqpNESIAo,853
|
111
112
|
rbx/resources/envs/isolate.rbx.yml,sha256=VZAJ-Mu-A5Rt4m0VtMygOXA7eLLvCCmoorv_0acDmXQ,870
|
112
|
-
rbx/resources/packagers/boca/checker.sh,sha256=
|
113
|
-
rbx/resources/packagers/boca/compare,sha256=
|
113
|
+
rbx/resources/packagers/boca/checker.sh,sha256=sjJBj0IUG3U5pRPMIqiSER8Ktuy8Ff1SAi1GMmLR0GA,1088
|
114
|
+
rbx/resources/packagers/boca/compare.sh,sha256=a6AmQqwrIq616DHjp_S2l95wO7UiMVy0LQ9EajZKDDk,1201
|
114
115
|
rbx/resources/packagers/boca/compile/c,sha256=lHLvxzkG_he5jmxWrix0WT80ipMWWUZdOgOQMSpj8oo,4507
|
115
116
|
rbx/resources/packagers/boca/compile/cc,sha256=B_18QkUGcjUg6yrTFlTQuMWnHpTWUKPZmFuk7Y0l1VA,4561
|
116
117
|
rbx/resources/packagers/boca/compile/cpp,sha256=_1pJTSC7uADu-IIdQCaZyMbH8x01wfgxcdZ36oxXncI,4496
|
@@ -119,14 +120,40 @@ rbx/resources/packagers/boca/compile/kt,sha256=3B900QSD4jSXnX91gJbvI4ZmNELHSiBb5
|
|
119
120
|
rbx/resources/packagers/boca/compile/pas,sha256=C5IwZzmZpIos49FrLGafRbdGPODNJn7N5JbnLX_FT_4,4576
|
120
121
|
rbx/resources/packagers/boca/compile/py2,sha256=On76To8Zv3z117JiuxjF1pGnq6tKKT4l-FddlP-iQFc,4546
|
121
122
|
rbx/resources/packagers/boca/compile/py3,sha256=6C0n2hy6Pu5kJzkYTuwiCaBB8OrV35nTy9AxI1FMmAk,4546
|
122
|
-
rbx/resources/packagers/boca/
|
123
|
-
rbx/resources/packagers/boca/
|
124
|
-
rbx/resources/packagers/boca/
|
125
|
-
rbx/resources/packagers/boca/
|
126
|
-
rbx/resources/packagers/boca/
|
127
|
-
rbx/resources/packagers/boca/
|
128
|
-
rbx/resources/packagers/boca/
|
129
|
-
rbx/resources/packagers/
|
123
|
+
rbx/resources/packagers/boca/interactive/c,sha256=kNsFAnQ59pq4I0Bvfw7naEfmbhOy3kGdkIM7fq8XHbs,5401
|
124
|
+
rbx/resources/packagers/boca/interactive/cc,sha256=kNsFAnQ59pq4I0Bvfw7naEfmbhOy3kGdkIM7fq8XHbs,5401
|
125
|
+
rbx/resources/packagers/boca/interactive/cpp,sha256=kNsFAnQ59pq4I0Bvfw7naEfmbhOy3kGdkIM7fq8XHbs,5401
|
126
|
+
rbx/resources/packagers/boca/interactive/java,sha256=ePGzIfnTCpVm7arN9mN-sGoPQMTr4ZzSkkY1RBhxPxI,6487
|
127
|
+
rbx/resources/packagers/boca/interactive/kt,sha256=jBIc3COlY5Zoeitt-3Wu09eXOGGfaH5rZT5T6GGZeto,6377
|
128
|
+
rbx/resources/packagers/boca/interactive/py2,sha256=TWXMDMC2-4SLgmIxDCpwC6zIJpSgCKORzOyh828DBf0,5565
|
129
|
+
rbx/resources/packagers/boca/interactive/py3,sha256=PziuEeHuGOkvg-80dqSwORx7zTNs2EVrwXCkpVjiBDE,5565
|
130
|
+
rbx/resources/packagers/boca/interactor_compile.sh,sha256=5dvF_eYuAJS3wlxyjUIJvu9HUNiMvET17rgoPq-WIlc,1082
|
131
|
+
rbx/resources/packagers/boca/run/bkp,sha256=xyDkZDaxgUrW-K2I0YJs8a8dJMuF-k8_ganDGxqhvUQ,4218
|
132
|
+
rbx/resources/packagers/boca/run/c,sha256=1K2KMUEu5w2HAn7aQVI3XgXX6ai8IccGRN2h8L4kPRw,3570
|
133
|
+
rbx/resources/packagers/boca/run/cc,sha256=1K2KMUEu5w2HAn7aQVI3XgXX6ai8IccGRN2h8L4kPRw,3570
|
134
|
+
rbx/resources/packagers/boca/run/cpp,sha256=1K2KMUEu5w2HAn7aQVI3XgXX6ai8IccGRN2h8L4kPRw,3570
|
135
|
+
rbx/resources/packagers/boca/run/java,sha256=9hkO0bJmzFSZR5qKTks9tBwHDQcjMQrLwEmN_-nmRTs,5622
|
136
|
+
rbx/resources/packagers/boca/run/kt,sha256=JmnCGuGacFj2PJAGir9qSi31fXBuZd8ESkhxYIir-o8,4675
|
137
|
+
rbx/resources/packagers/boca/run/py2,sha256=PGQC9wX_Gh_kcSC8oEMrO9dyibrw6iqZKo0UAoIP5Mo,4919
|
138
|
+
rbx/resources/packagers/boca/run/py3,sha256=MyOvtoQAz76hw8Ut-8X9w5uvDbipzJ_XoZQww35ZYWQ,4919
|
139
|
+
rbx/resources/packagers/moj/scripts/c/compile.sh,sha256=d6IFuVf_EmUhkHg5urrv3G4e8AFFYgHqEYJ_ROs-A-M,231
|
140
|
+
rbx/resources/packagers/moj/scripts/c/prep.sh,sha256=it1e07QRpsnku3-rXOO1ovaw-RJlVVPy9R3I6WWwgMM,126
|
141
|
+
rbx/resources/packagers/moj/scripts/c/run.sh,sha256=w_DAapoBVMZj7uiA4TMcNi2D5S243Cvsa4VQ_OoHGtY,187
|
142
|
+
rbx/resources/packagers/moj/scripts/compare.sh,sha256=dxq5Zx1lxiG68x-T8BV4iD2z-D0Jch8B4RUw1AOsi18,3520
|
143
|
+
rbx/resources/packagers/moj/scripts/cpp/compile.sh,sha256=qdKggWTzlwlU7WmjgnFRBBjGEy3IEH17gSqoECuNm_M,241
|
144
|
+
rbx/resources/packagers/moj/scripts/cpp/prep.sh,sha256=it1e07QRpsnku3-rXOO1ovaw-RJlVVPy9R3I6WWwgMM,126
|
145
|
+
rbx/resources/packagers/moj/scripts/cpp/run.sh,sha256=w_DAapoBVMZj7uiA4TMcNi2D5S243Cvsa4VQ_OoHGtY,187
|
146
|
+
rbx/resources/packagers/moj/scripts/interactor_prep.sh,sha256=K2e4iACmbP4qzJWdMQytU8ukiEKvKrE-7VW_JatAw08,327
|
147
|
+
rbx/resources/packagers/moj/scripts/interactor_run.sh,sha256=17nGVW4JOgJpt_ticlIXSiL_5liLc0KySI3RShCAAY8,850
|
148
|
+
rbx/resources/packagers/moj/scripts/java/compile.sh,sha256=LL4MQD3NQsGCMiH4JyInJuZ6FwKworx0bk_4CLGt_sI,255
|
149
|
+
rbx/resources/packagers/moj/scripts/java/prep.sh,sha256=DyXQh_S_hFUwmnL2oEVm_mNrLXSrHAHXXO1RYu0WnbE,256
|
150
|
+
rbx/resources/packagers/moj/scripts/java/run.sh,sha256=JOnLviEJ-B2MrsDm-mgsCPnurQ05y-xbbkXJUg9cVvw,264
|
151
|
+
rbx/resources/packagers/moj/scripts/py2/compile.sh,sha256=QGQdKwWr3LNwgFL2qGoPC3luKbhlQv8zVfxdKRtkClk,96
|
152
|
+
rbx/resources/packagers/moj/scripts/py2/prep.sh,sha256=it1e07QRpsnku3-rXOO1ovaw-RJlVVPy9R3I6WWwgMM,126
|
153
|
+
rbx/resources/packagers/moj/scripts/py2/run.sh,sha256=qshf-K3mKP4c7b45S3D82Wj0Ai5EO0xkIk44TmACV_g,196
|
154
|
+
rbx/resources/packagers/moj/scripts/py3/compile.sh,sha256=XPn8qDR_gPAAZD9h5lVEMdBkrSogRZvpT4MAaNNp9nk,96
|
155
|
+
rbx/resources/packagers/moj/scripts/py3/prep.sh,sha256=it1e07QRpsnku3-rXOO1ovaw-RJlVVPy9R3I6WWwgMM,126
|
156
|
+
rbx/resources/packagers/moj/scripts/py3/run.sh,sha256=LrMi7Tap9no8gh64QNGUXbWauP6ZpSl-wEwXZ2qhPo0,197
|
130
157
|
rbx/resources/presets/default/contest/contest.rbx.yml,sha256=aThSvWG0Nv4BKoucQG6Q0KpS20hsT46BHyVCQTdvtUM,424
|
131
158
|
rbx/resources/presets/default/contest/statement/contest.rbx.tex,sha256=3YDQo5c-SGbwXcd4uytyY_Mc7UriAditgdJnbN8UdHg,3062
|
132
159
|
rbx/resources/presets/default/contest/statement/olymp.sty,sha256=k4TCQz1IeXV75oZ2_dcWEQ3ziTDegOEdnYn4Xb4vzsU,6766
|
@@ -160,8 +187,8 @@ rbx/testcase.py,sha256=yKOq3CAJZ1YTmInvnoIs0u1iJnRj_X85XiWbLI-p9d8,1951
|
|
160
187
|
rbx/testcase_rendering.py,sha256=nfmv6dSEqd4aR3TsaODwkKGK6AXty_DDKtWf_ejiQpI,2084
|
161
188
|
rbx/testing_utils.py,sha256=ZXMysGXpTtvS1lfLL38FuD5iSIyxi3ARjQePDrUmEtc,2067
|
162
189
|
rbx/utils.py,sha256=6e1eXRzNE-52D0UVtqclePxqR4Haiqt8qWCrSVjnGuE,4585
|
163
|
-
rbx_cp-0.5.
|
164
|
-
rbx_cp-0.5.
|
165
|
-
rbx_cp-0.5.
|
166
|
-
rbx_cp-0.5.
|
167
|
-
rbx_cp-0.5.
|
190
|
+
rbx_cp-0.5.47.dist-info/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
|
191
|
+
rbx_cp-0.5.47.dist-info/METADATA,sha256=PDafPB7Sz8UPXRwvMQpVZ5GZuDxjyT5Nd-P7wX1lOXY,3261
|
192
|
+
rbx_cp-0.5.47.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
|
193
|
+
rbx_cp-0.5.47.dist-info/entry_points.txt,sha256=qBTLBOeifT1F00LWaEewRRE_jQPgvH7BUdJfZ-dYsFU,57
|
194
|
+
rbx_cp-0.5.47.dist-info/RECORD,,
|