Skip to content
Snippets Groups Projects
Commit c38dc03f authored by Peter Gerwinski's avatar Peter Gerwinski
Browse files

Notizen und Beispiele 27.3. und 3.4.2023

parent fd5de021
No related branches found
No related tags found
No related merge requests found
Showing
with 462 additions and 0 deletions
#!/usr/bin/bc -q
2 + 2
quit
cat: gibtsnicht.txt: Datei oder Verzeichnis nicht gefunden
cat: gibtsnicht.txt: Datei oder Verzeichnis nicht gefunden
cassini/home/peter/bo/2023ss/bs> find test1.txt
find: ‘test1.txt’: Datei oder Verzeichnis nicht gefunden
cassini/home/peter/bo/2023ss/bs> find -name test1.txt
./20230327/test1.txt
cassini/home/peter/bo/2023ss/bs> find . -name test1.txt -print
./20230327/test1.txt
cassini/home/peter/bo/2023ss/bs> find . -name test1.txt
./20230327/test1.txt
cassini/home/peter/bo/2023ss/bs> find -name test1.txt
./20230327/test1.txt
cassini/home/peter/bo/2023ss/bs> find ~/bo -name test1.txt
/home/peter/bo/2015ss/bs/20150420.0/test1.txt
/home/peter/bo/2015ss/bs/script/examples/20150420/test1.txt
/home/peter/bo/2020ss/bs/20200420/x/test1.txt
/home/peter/bo/2018ws/es/20181018/test1.txt
/home/peter/bo/projekte/git/bs/examples/20150420/test1.txt
/home/peter/bo/2023ss/bs/20230327/test1.txt
/home/peter/bo/2014ss/bs/20140620.0/test1.txt
/home/peter/bo/2016ss/es/20160425/test1.txt
cassini/home/peter/bo/2023ss/bs> find ~/bo -iname test1.txt
/home/peter/bo/2015ss/bs/20150420.0/test1.txt
/home/peter/bo/2015ss/bs/script/examples/20150420/test1.txt
/home/peter/bo/2020ss/bs/20200420/x/test1.txt
/home/peter/bo/2018ws/es/20181018/test1.txt
/home/peter/bo/projekte/git/bs/examples/20150420/test1.txt
/home/peter/bo/2023ss/bs/20230327/test1.txt
/home/peter/bo/2014ss/bs/20140620.0/test1.txt
/home/peter/bo/2016ss/es/20160425/test1.txt
cassini/home/peter/bo/2023ss/bs> find -name test*.txt
./20230327/test3.txt
./20230327/test1.txt
./20230327/test4.txt
./20230327/test2.txt
./20230320/test3.txt
./20230320/test6.txt
./20230320/test4.txt
./20230320/test.txt
./20230320/test2.txt
./20230320/test5.txt
./20230320/foo/test.txt
./20230320/foo/test2.txt
cassini/home/peter/bo/2023ss/bs> cd 20230327/
cassini/home/peter/bo/2023ss/bs/20230327> find -name test*.txt
find: paths must precede expression: `test2.txt'
find: possible unquoted pattern after predicate `-name'?
cassini/home/peter/bo/2023ss/bs/20230327> cd ..
cassini/home/peter/bo/2023ss/bs> find -name test*.txt
./20230327/test3.txt
./20230327/test1.txt
./20230327/test4.txt
./20230327/test2.txt
./20230320/test3.txt
./20230320/test6.txt
./20230320/test4.txt
./20230320/test.txt
./20230320/test2.txt
./20230320/test5.txt
./20230320/foo/test.txt
./20230320/foo/test2.txt
cassini/home/peter/bo/2023ss/bs> cd 20230327
cassini/home/peter/bo/2023ss/bs/20230327> find -name test*.txt
find: paths must precede expression: `test2.txt'
find: possible unquoted pattern after predicate `-name'?
cassini/home/peter/bo/2023ss/bs/20230327> echo find -name test*.txt
find -name test1.txt test2.txt test3.txt test4.txt
cassini/home/peter/bo/2023ss/bs/20230327> find -name "test*.txt"
./test3.txt
./test1.txt
./test4.txt
./test2.txt
cassini/home/peter/bo/2023ss/bs/20230327> find -name tes"t*."txt
./test3.txt
./test1.txt
./test4.txt
./test2.txt
cassini/home/peter/bo/2023ss/bs/20230327> find -name test\*.txt
./test3.txt
./test1.txt
./test4.txt
./test2.txt
cassini/home/peter/bo/2023ss/bs/20230327>
cassini/home/peter/bo/2023ss/bs/20230327> find ~/bo -name "hp-klausur*.tex"
/home/peter/bo/2022ws/hp/exams/20170206/hp-klausur-20170206.tex
/home/peter/bo/2022ws/hp/exams/20180213/hp-klausur-20180213.tex
/home/peter/bo/2022ws/hp/20230301.k1/hp-klausur-20230301.tex
/home/peter/bo/2016ws/hp/20170920.0/hp-klausur-20170920.tex
/home/peter/bo/2016ws/hp/20170206.0/hp-klausur-20170206.tex
/home/peter/bo/2018ws/hp/exams/20170206/hp-klausur-20170206.tex
/home/peter/bo/2018ws/hp/exams/20180213/hp-klausur-20180213.tex
/home/peter/bo/2018ws/hp/20190130.k1/hp-klausur-20190130.tex
/home/peter/bo/2019ws/hp/20201008.k2/hp-klausur-20201008.tex
/home/peter/bo/2019ws/hp/exams/20170206/hp-klausur-20170206.tex
/home/peter/bo/2019ws/hp/exams/20180213/hp-klausur-20180213.tex
/home/peter/bo/2019ws/hp/20200129.k1/hp-klausur-20200129.tex
/home/peter/bo/2017ws/hp/20180919.k2/hp-klausur-20180919.tex
/home/peter/bo/2017ws/hp/20180213.k1/hp-klausur-20180213.tex
/home/peter/bo/2017ws/hp/20180205/hp-klausur-20170206.tex
/home/peter/bo/2021ws/hp/exams/20170206/hp-klausur-20170206.tex
/home/peter/bo/2021ws/hp/exams/20180213/hp-klausur-20180213.tex
cassini/home/peter/bo/2023ss/bs/20230327> find ~/bo -name "hp-klausur*.tex" -exec grep PBM {} \;
cassini/home/peter/bo/2023ss/bs/20230327> find ~/bo -name "*klausur*.tex" -exec grep PBM {} \;
\exercise{PBM-Grafik}
Bei einer PBM-Grafikdatei handelt es sich
Viele Grafikprogramme können PBM-Dateien öffnen und bearbeiten.
\exercise{XBM- und PBM-Grafik}
Bei einer PBM-Grafikdatei handelt es sich
Viele Grafikprogramme können PBM-Dateien öffnen und bearbeiten.
und in einer PBM-Bilddatei \file{test.pbm} abspeichert.
Das Programm wandelt also eine XBM-Datei in eine PBM-Datei um.
\exercise{PBM-Grafikbibliothek}
von PBM-Grafikdateien.
in einer PBM-Grafikdatei speichern.
Übereinstimmungen in Binärdatei /home/peter/bo/2014ws/ainf/20150130.0/ainf-klausur-20150130.tex
\exercise{XBM- und PBM-Grafik}
Bei einer PBM-Grafikdatei handelt es sich
Viele Grafikprogramme können PBM-Dateien öffnen und bearbeiten.
und in einer PBM-Bilddatei \file{test.pbm} abspeichert.
Das Programm wandelt also eine XBM-Datei in eine PBM-Datei um.
\exercise{PBM-Grafik}
Bei einer PBM-Grafikdatei handelt es sich
Viele Grafikprogramme können PBM-Dateien öffnen und bearbeiten.
(Das PBM-Grafikformat ist Ihnen nicht nur aus der Vorlesung "`Rechnertechnik"',
beim Speichern und Laden von PBM-Dateien?\\
das die fehlerhafte PBM-Datei repariert.
(Das PBM-Grafikformat ist Ihnen nicht nur aus der Vorlesung "`Rechnertechnik"',
beim Speichern und Laden von PBM-Dateien?\\
das die fehlerhafte PBM-Datei repariert.
\exercise{PBM-Grafik}
Bei einer PBM-Grafikdatei handelt es sich
Viele Grafikprogramme können PBM-Dateien öffnen und bearbeiten.
\exercise{XBM- und PBM-Grafik}
Bei einer PBM-Grafikdatei handelt es sich
Viele Grafikprogramme können PBM-Dateien öffnen und bearbeiten.
und in einer PBM-Bilddatei \file{test.pbm} abspeichert.
Das Programm wandelt also eine XBM-Datei in eine PBM-Datei um.
\exercise{PBM-Grafik}
Bei einer PBM-Grafikdatei handelt es sich
Viele Grafikprogramme können PBM-Dateien öffnen und bearbeiten.
\exercise{XBM- und PBM-Grafik}
Bei einer PBM-Grafikdatei handelt es sich
Viele Grafikprogramme können PBM-Dateien öffnen und bearbeiten.
und in einer PBM-Bilddatei \file{test.pbm} abspeichert.
Das Programm wandelt also eine XBM-Datei in eine PBM-Datei um.
\exercise{PBM-Dateien}
Bei einer PBM-Grafikdatei handelt es sich
Viele Grafikprogramme können PBM-Dateien öffnen und bearbeiten.
Diese Beispiel-PBM-Datei wurde von dem folgenden Programm erzeugt (\file{aufgabe-4.c}):
\exercise{PBM-Grafikbibliothek}
von PBM-Grafikdateien.
(PBM-Grafikdateien sind Ihnen sowohl aus der Lehrveranstaltung
in einer PBM-Grafikdatei speichern.
Übereinstimmungen in Binärdatei /home/peter/bo/2013ws/ainf/20140918.0/ainf-klausur-20140918.tex
\exercise{XBM- und PBM-Grafik}
Bei einer PBM-Grafikdatei handelt es sich
Viele Grafikprogramme können PBM-Dateien öffnen und bearbeiten.
und in einer PBM-Bilddatei \file{test.pbm} abspeichert.
Das Programm wandelt also eine XBM-Datei in eine PBM-Datei um.
\exercise{PBM-Grafik}
Bei einer PBM-Grafikdatei handelt es sich
Viele Grafikprogramme können PBM-Dateien öffnen und bearbeiten.
\exercise{PBM-Grafik}
Bei einer PBM-Grafikdatei handelt es sich
Viele Grafikprogramme können PBM-Dateien öffnen und bearbeiten.
\exercise{XBM- und PBM-Grafik}
Bei einer PBM-Grafikdatei handelt es sich
Viele Grafikprogramme können PBM-Dateien öffnen und bearbeiten.
und in einer PBM-Bilddatei \file{test.pbm} abspeichert.
Das Programm wandelt also eine XBM-Datei in eine PBM-Datei um.
\exercise{PBM-Grafik}
Bei einer PBM-Grafikdatei handelt es sich
Viele Grafikprogramme können PBM-Dateien öffnen und bearbeiten.
cassini/home/peter/bo/2023ss/bs/20230327> find ~/bo -name "*klausur*.tex" -exec grep -l PBM {} \;
/home/peter/bo/2022ws/hp/exams/20170206/klausur.tex
/home/peter/bo/2022ws/hp/exams/20180213/klausur.tex
/home/peter/bo/2014ws/ainf/20150130.0/ainf-klausur-20150130.tex
/home/peter/bo/2016ws/hp/20170920.0/klausur.tex
/home/peter/bo/2016ws/hp/20170206.0/klausur.tex
/home/peter/bo/2011ws/rarch/20120322.0/rarch-klausur-20120322.tex
/home/peter/bo/2012ws/klausuren-gerwinski/rarch-klausur-20120322.tex
/home/peter/bo/2018ws/hp/exams/20170206/klausur.tex
/home/peter/bo/2018ws/hp/exams/20180213/klausur.tex
/home/peter/bo/2019ws/hp/exams/20170206/klausur.tex
/home/peter/bo/2019ws/hp/exams/20180213/klausur.tex
/home/peter/bo/2019ws/hp/20200129.k1/klausur.tex
/home/peter/bo/2013ws/ainf/20140918.0/ainf-klausur-20140918.tex
/home/peter/bo/2017ws/hp/20180213.k1/klausur.tex
/home/peter/bo/2017ws/hp/20180205/klausur.tex
/home/peter/bo/2021ws/hp/exams/20170206/klausur.tex
/home/peter/bo/2021ws/hp/exams/20180213/klausur.tex
/home/peter/bo/2015ws/ainf/20160913/ainf-klausur-20160913.tex
cassini/home/peter/bo/2023ss/bs/20230327> find ~/bo -name "*klausur*.tex" -exec grep -l PBM {} +
/home/peter/bo/2022ws/hp/exams/20170206/klausur.tex
/home/peter/bo/2022ws/hp/exams/20180213/klausur.tex
/home/peter/bo/2014ws/ainf/20150130.0/ainf-klausur-20150130.tex
/home/peter/bo/2016ws/hp/20170920.0/klausur.tex
/home/peter/bo/2016ws/hp/20170206.0/klausur.tex
/home/peter/bo/2011ws/rarch/20120322.0/rarch-klausur-20120322.tex
/home/peter/bo/2012ws/klausuren-gerwinski/rarch-klausur-20120322.tex
/home/peter/bo/2018ws/hp/exams/20170206/klausur.tex
/home/peter/bo/2018ws/hp/exams/20180213/klausur.tex
/home/peter/bo/2019ws/hp/exams/20170206/klausur.tex
/home/peter/bo/2019ws/hp/exams/20180213/klausur.tex
/home/peter/bo/2019ws/hp/20200129.k1/klausur.tex
/home/peter/bo/2013ws/ainf/20140918.0/ainf-klausur-20140918.tex
/home/peter/bo/2017ws/hp/20180213.k1/klausur.tex
/home/peter/bo/2017ws/hp/20180205/klausur.tex
/home/peter/bo/2021ws/hp/exams/20170206/klausur.tex
/home/peter/bo/2021ws/hp/exams/20180213/klausur.tex
/home/peter/bo/2015ws/ainf/20160913/ainf-klausur-20160913.tex
cassini/home/peter/bo/2023ss/bs/20230327>
cassini/home/peter/bo/2023ss/bs/20230327> find .. -perm /u+x
..
../common
../20230327
../20230327/logo-hochschule-bochum-cvh-text.pdf
../20230327/test.sh
../20230327/pgslides.sty
../20230327/test2.txt
../20230327/bc3.sh
../20230327/Operating_system_placement-de.pdf
../20230327/logo-hochschule-bochum.pdf
../20230313
../20230313/logo-hochschule-bochum-cvh-text.pdf
../20230313/fotos
../20230313/fotos/judo-20190629-0120.jpg
../20230313/fotos/twike-20191009.jpg
../20230313/fotos/am-klavier-20180216.jpg
../20230313/pgslides.sty
../20230313/Operating_system_placement-de.pdf
../20230313/logo-hochschule-bochum.pdf
../20230313/ls
../20230320
../20230320/bc2.sh
../20230320/logo-hochschule-bochum-cvh-text.pdf
../20230320/test3.sh
../20230320/test2.sh
../20230320/test.sh
../20230320/pgslides.sty
../20230320/bc.sh
../20230320/Operating_system_placement-de.pdf
../20230320/logo-hochschule-bochum.pdf
../20230320/unix-20230320.tex
../20230320/vic
../20230320/foo
../20230320/unix-20230320.pdf
../.git
cassini/home/peter/bo/2023ss/bs/20230327> find .. -type f -perm /u+x
../20230327/test.sh
../20230327/bc3.sh
../20230313/ls
../20230320/bc2.sh
../20230320/test3.sh
../20230320/test2.sh
../20230320/test.sh
../20230320/bc.sh
../20230320/vic
cassini/home/peter/bo/2023ss/bs/20230327>
cassini/home/peter/bo/2023ss/bs/20230327> find .. -type d
..
../common
../20230327
../20230313
../20230313/fotos
../20230320
../20230320/foo
cassini/home/peter/bo/2023ss/bs/20230327> find .. -type l
../20230327/logo-hochschule-bochum-cvh-text.pdf
../20230327/pgslides.sty
../20230327/test2.txt
../20230327/Operating_system_placement-de.pdf
../20230327/logo-hochschule-bochum.pdf
../20230313/logo-hochschule-bochum-cvh-text.pdf
../20230313/fotos/judo-20190629-0120.jpg
../20230313/fotos/twike-20191009.jpg
../20230313/fotos/am-klavier-20180216.jpg
../20230313/pgslides.sty
../20230313/Operating_system_placement-de.pdf
../20230313/logo-hochschule-bochum.pdf
../20230320/logo-hochschule-bochum-cvh-text.pdf
../20230320/pgslides.sty
../20230320/Operating_system_placement-de.pdf
../20230320/logo-hochschule-bochum.pdf
../20230320/unix-20230320.tex
../20230320/unix-20230320.pdf
../.git
cassini/home/peter/bo/2023ss/bs/20230327>
cassini/home/peter/bo/2023ss/bs/20230327> ls -l *.tex
-rw-r--r-- 1 peter peter 42432 Mär 27 09:33 bs-20230327.tex
cassini/home/peter/bo/2023ss/bs/20230327> grep usepackage *.tex
\usepackage{pgslides}
\usepackage{rotating}
\usepackage{pdftricks}
\usepackage[obeyfamily=false,mathrm=mathsf,textrm=sffamily]{siunitx}
\usepackage{eurosym}
\usepackage{tikz}
\usepackage[latin1]{inputenc}
\usepackage[german]{babel}
\usepackage[T1]{fontenc}
\usepackage{helvet}
\usepackage{pstricks}
cassini/home/peter/bo/2023ss/bs/20230327> grep "20[12][0-9][01][0-9][0-3][0-9]" *.tex
% bs-20230327.pdf - Lecture Slides on Operating Systems
cassini/home/peter/bo/2023ss/bs/20230327> grep -o "20[12][0-9][01][0-9][0-3][0-9]" *.tex
20230327
cassini/home/peter/bo/2023ss/bs/20230327>
cassini/home/peter/bo/2023ss/bs/20230327> ls -l test*.txt
lrwxrwxrwx 1 peter peter 9 Mär 27 16:18 test2.txt -> test1.txt
cassini/home/peter/bo/2023ss/bs/20230327> cat test2.txt
cat: test2.txt: Datei oder Verzeichnis nicht gefunden
cassini/home/peter/bo/2023ss/bs/20230327> echo "Dies ist ein Test." > test1.txt
cassini/home/peter/bo/2023ss/bs/20230327> cat test1.txt
Dies ist ein Test.
cassini/home/peter/bo/2023ss/bs/20230327> cat test2.txt
Dies ist ein Test.
cassini/home/peter/bo/2023ss/bs/20230327> ln test1.txt test3.txt
cassini/home/peter/bo/2023ss/bs/20230327> ls -l test*.txt
-rw-r--r-- 2 peter peter 19 Mär 27 16:51 test1.txt
lrwxrwxrwx 1 peter peter 9 Mär 27 16:18 test2.txt -> test1.txt
-rw-r--r-- 2 peter peter 19 Mär 27 16:51 test3.txt
cassini/home/peter/bo/2023ss/bs/20230327> cat test3.txt
Dies ist ein Test.
cassini/home/peter/bo/2023ss/bs/20230327> rm test1.txt
cassini/home/peter/bo/2023ss/bs/20230327> ls -l test3.txt
-rw-r--r-- 1 peter peter 19 Mär 27 16:51 test3.txt
cassini/home/peter/bo/2023ss/bs/20230327> cat test3.txt
Dies ist ein Test.
cassini/home/peter/bo/2023ss/bs/20230327> cat test2.txt
cat: test2.txt: Datei oder Verzeichnis nicht gefunden
cassini/home/peter/bo/2023ss/bs/20230327> ln test3.txt test1.txt
cassini/home/peter/bo/2023ss/bs/20230327> ls -l test*.txt
-rw-r--r-- 2 peter peter 19 Mär 27 16:51 test1.txt
lrwxrwxrwx 1 peter peter 9 Mär 27 16:18 test2.txt -> test1.txt
-rw-r--r-- 2 peter peter 19 Mär 27 16:51 test3.txt
cassini/home/peter/bo/2023ss/bs/20230327> rm test3.txt
cassini/home/peter/bo/2023ss/bs/20230327> cp -pi test1.txt test3.txt
cassini/home/peter/bo/2023ss/bs/20230327> ls -l test*.txt
-rw-r--r-- 1 peter peter 19 Mär 27 16:51 test1.txt
lrwxrwxrwx 1 peter peter 9 Mär 27 16:18 test2.txt -> test1.txt
-rw-r--r-- 1 peter peter 19 Mär 27 16:51 test3.txt
cassini/home/peter/bo/2023ss/bs/20230327>
#!/usr/bin/gcc -Wall -O "$1" && ./a.out
#include <stdio.h>
int main (void)
{
printf ("Hello, world!\n");
return 0;
}
//!/usr/bin/gcc -Wall -O "$1" && ./a.out
#include <stdio.h>
int main (void)
{
printf ("Hello, world!\n");
return 0;
}
/*/true
/usr/bin/gcc -Wall -O "$0" && ./a.out
exit 0
*/
#include <stdio.h>
int main (void)
{
printf ("Hello, world!\n");
return 0;
}
/*/true
echo $0
/usr/bin/gcc -Wall -O "$0" && ./a.out
exit 0
*/
#include <stdio.h>
int main (void)
{
printf ("Hello, world!\n");
return 0;
}
/*/true
/usr/bin/gcc -xc -Wall -O "$0" && ./a.out
exit 0
*/
#include <stdio.h>
int main (void)
{
printf ("Hello, world!\n");
return 0;
}
/*/true
/usr/bin/gcc -Wall -O "$0" && ./a.out
exit 0
*/
#include <stdio.h>
int main (void)
{
printf ("Hello, world!\n");
return 0;
}
cassini/home/peter/bo/2023ss/bs/20230327> cat test1.txt
Dies ist ein Test.
cassini/home/peter/bo/2023ss/bs/20230327> grep Test test1.txt
Dies ist ein Test.
cassini/home/peter/bo/2023ss/bs/20230327> grep Toast test1.txt
cassini/home/peter/bo/2023ss/bs/20230327> grep Toast test1.txt && echo "gefunden"
cassini/home/peter/bo/2023ss/bs/20230327> if grep Toast test1.txt; then echo "gefunden"; fi
cassini/home/peter/bo/2023ss/bs/20230327> grep Toast test1.txt && echo "gefunden"
cassini/home/peter/bo/2023ss/bs/20230327> grep Toast test1.txt || echo "nicht gefunden"
nicht gefunden
cassini/home/peter/bo/2023ss/bs/20230327> if grep Toast test1.txt; then true; else echo "nicht gefunden"; fi
nicht gefunden
cassini/home/peter/bo/2023ss/bs/20230327> echo "Dies ist schon wieder ein Test." > test5.txt
cassini/home/peter/bo/2023ss/bs/20230327> cat test5.txt
Dies ist schon wieder ein Test.
cassini/home/peter/bo/2023ss/bs/20230327> echo "Und auch dies ist schon wieder ein Test." >> test5.txt
cassini/home/peter/bo/2023ss/bs/20230327> cat test5.txt Dies ist schon wieder ein Test.
Und auch dies ist schon wieder ein Test.
cassini/home/peter/bo/2023ss/bs/20230327>
cassini/home/peter/bo/2023ss/bs/20230327> cat gibtsnicht.txt
cat: gibtsnicht.txt: Datei oder Verzeichnis nicht gefunden
cassini/home/peter/bo/2023ss/bs/20230327> cat gibtsnicht.txt > fehler.txt
cat: gibtsnicht.txt: Datei oder Verzeichnis nicht gefunden
cassini/home/peter/bo/2023ss/bs/20230327> cat fehler.txt
cassini/home/peter/bo/2023ss/bs/20230327> cat gibtsnicht.txt 2> fehler.txt
cassini/home/peter/bo/2023ss/bs/20230327> cat fehler.txt
cat: gibtsnicht.txt: Datei oder Verzeichnis nicht gefunden
cassini/home/peter/bo/2023ss/bs/20230327>
cassini/home/peter/bo/2023ss/bs/20230327> cat gibtsnicht.txt > fehler2.txt 2>&1
cassini/home/peter/bo/2023ss/bs/20230327>
cassini/home/peter/bo/2023ss/bs/20230327> echo "ls -l"
ls -l
cassini/home/peter/bo/2023ss/bs/20230327> $( echo "ls -l" )
insgesamt 444
-rwxr-xr-x 1 peter peter 16608 Mär 27 18:32 a.out
-rwxr-xr-x 1 peter peter 29 Mär 27 16:15 bc3.sh
[...]
-rw-r--r-- 1 peter peter 196 Mär 27 09:33 tmp.inputs
-rw-r--r-- 1 peter peter 658 Mär 27 18:22 wildcards-01.txt
cassini/home/peter/bo/2023ss/bs/20230327>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment