Skip to content

Commit

Permalink
Merge branch 'hotfix/v0.7.13'
Browse files Browse the repository at this point in the history
  • Loading branch information
musicEnfanthen committed Apr 25, 2021
2 parents 1860982 + 2927736 commit b680fbe
Show file tree
Hide file tree
Showing 16 changed files with 91 additions and 54 deletions.
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,19 @@

All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.

### [0.7.13](https://github.com/webern-unibas-ch/awg-app/compare/v0.7.12...v0.7.13) (2021-04-25)

### Bug Fixes

- **edition:** fix typo in graph data ([e08fa3d](https://github.com/webern-unibas-ch/awg-app/commit/e08fa3de533ac8ceeb03e2ac2f41dc2f35d22adc))
- **edition:** fix typos in source description data ([1590a8b](https://github.com/webern-unibas-ch/awg-app/commit/1590a8b0f121ddd4a91280a9e6d2da328e4e75df))
- **edition:** make textcritics id working as ngb selector ([aaff894](https://github.com/webern-unibas-ch/awg-app/commit/aaff894e5c43b2bf060b9ec30a6dedf7acd7f743))
- **edition:** use upper case composition id with EditionService ([65ec61b](https://github.com/webern-unibas-ch/awg-app/commit/65ec61b701d501ad4a100456615ef5fd349f6e32))

### Tests

- **edition:** fix tests after changes ([69f7fb6](https://github.com/webern-unibas-ch/awg-app/commit/69f7fb672a0cb6d6b0b35ff3322be4db567c89e3))

### [0.7.12](https://github.com/webern-unibas-ch/awg-app/compare/v0.7.11...v0.7.12) (2021-04-25)

### Build System
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "awg-app",
"version": "0.7.12",
"version": "0.7.13",
"license": "MIT",
"author": {
"name": "Stefan Münnich",
Expand Down
4 changes: 2 additions & 2 deletions src/app/app.globals.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
// THIS IS AN AUTO-GENERATED FILE. DO NOT CHANGE IT MANUALLY!
// Generated last time on Sun Apr 25 15:10:39 2021
// Generated last time on Sun Apr 25 17:11:25 2021

/**
* The latest version of the AWG App
*/
export const appVersion = '0.7.12';
export const appVersion = '0.7.13';

/**
* The release date of the latest version of the AWG App
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -365,9 +365,9 @@ export class EditionDetailComponent implements OnInit, OnDestroy {
if (!this.textcriticsData && !this.selectedSvgSheet) {
return;
}
// Find index of teh selected svg sheet id in textcriticsData.textcritics array
// Find index of the selected svg sheet id in textcriticsData.textcritics array
const textcriticsIndex = this.textcriticsData.textcritics.findIndex(
textcritic => textcritic.id === this.selectedSvgSheet.id
textcritic => textcritic.label === this.selectedSvgSheet.id
);
// Return the comments with the given id
return this.textcriticsData.textcritics[textcriticsIndex].comments;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -163,11 +163,11 @@ describe('EditionGraphComponent (DONE)', () => {
it('... should have correct static `GRAPH_IMAGES`', () => {
expect(component.GRAPH_IMAGES).toBeTruthy();

expect(component.GRAPH_IMAGES.op12).toBeDefined();
expect(component.GRAPH_IMAGES.op12).not.toBeTruthy('should be empty string');
expect(component.GRAPH_IMAGES.OP12).toBeDefined();
expect(component.GRAPH_IMAGES.OP12).not.toBeTruthy('should be empty string');

expect(component.GRAPH_IMAGES.op25).toBeTruthy();
expect(component.GRAPH_IMAGES.op25).toBe(EditionConstants.GRAPH_IMAGE_OP25.route);
expect(component.GRAPH_IMAGES.OP25).toBeTruthy();
expect(component.GRAPH_IMAGES.OP25).toBe(EditionConstants.GRAPH_IMAGE_OP25.route);
});

it('... should have `errorObject` = null', () => {
Expand Down Expand Up @@ -630,7 +630,7 @@ describe('EditionGraphComponent (DONE)', () => {
staticImageData.graph = [];
staticImageData.graph.push(new Graph());
staticImageData.graph[0].id = 'test-graph-id-static-image';
staticImageData.graph[0].staticImage = component.GRAPH_IMAGES.op25;
staticImageData.graph[0].staticImage = component.GRAPH_IMAGES.OP25;

// Return data
editionDataServiceGetEditionGraphDataSpy.and.returnValue(observableOf(staticImageData));
Expand All @@ -651,7 +651,7 @@ describe('EditionGraphComponent (DONE)', () => {
staticImageData.graph = [];
staticImageData.graph.push(new Graph());
staticImageData.graph[0].id = 'test-graph-id-static-image';
staticImageData.graph[0].staticImage = component.GRAPH_IMAGES.op25;
staticImageData.graph[0].staticImage = component.GRAPH_IMAGES.OP25;

// Return data
editionDataServiceGetEditionGraphDataSpy.and.returnValue(observableOf(staticImageData));
Expand All @@ -678,8 +678,8 @@ describe('EditionGraphComponent (DONE)', () => {

expect(divEl.textContent).toBeTruthy();
expect(divEl.textContent).toContain(
component.GRAPH_IMAGES.op25,
`should contain ${component.GRAPH_IMAGES.op25}`
component.GRAPH_IMAGES.OP25,
`should contain ${component.GRAPH_IMAGES.OP25}`
);
})
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,8 +80,8 @@ export class EditionGraphComponent implements OnInit {
* It keeps the paths to static graph images.
*/
readonly GRAPH_IMAGES = {
op12: '',
op25: EditionConstants.GRAPH_IMAGE_OP25.route,
OP12: '',
OP25: EditionConstants.GRAPH_IMAGE_OP25.route,
};

/**
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import { Component, OnDestroy, OnInit } from '@angular/core';
import { Subject, Subscription } from 'rxjs';
import { Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators';

import { RouterLinkButton } from '@awg-shared/router-link-button-group/router-link-button.model';
import { EditionConstants, EditionWork } from '@awg-views/edition-view/models';
import { EditionService } from '@awg-views/edition-view/services';
import { takeUntil } from 'rxjs/operators';

/**
* The EditionOverview component.
Expand Down Expand Up @@ -34,13 +34,6 @@ export class EditionOverviewComponent implements OnInit, OnDestroy {
*/
editionWork: EditionWork;

/**
* Private variable: _subscription.
*
* It keeps the subscriptions of the component.
*/
private _subscription: Subscription;

/**
* Private variable: _destroy$.
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,10 +47,10 @@ export class SourceDescriptionComponent implements OnInit {
* It keeps the routes to the firm signs.
*/
readonly FIRM_SIGNS = {
op12: {
OP12: {
A: [EditionConstants.FIRM_JE_NO_9_LIN_28],
},
op25: {
OP25: {
A: [EditionConstants.FIRM_JE_NO_15_LIN_16],
},
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,12 @@
<ngb-panel *ngFor="let textcritic of textcriticsData.textcritics" [id]="textcritic.id">
<ng-template ngbPanelHeader>
<div class="d-flex align-items-center justify-content-between">
<button ngbPanelToggle class="btn btn-link text-left">{{ textcritic.id }}</button>
<button type="button" class="btn btn-sm btn-outline-info ml-2" (click)="selectSvgSheet(textcritic.id)">
<button ngbPanelToggle class="btn btn-link text-left">{{ textcritic.label }}</button>
<button
type="button"
class="btn btn-sm btn-outline-info ml-2"
(click)="selectSvgSheet(textcritic.label)"
>
Zur Transkription
</button>
</div>
Expand Down
2 changes: 1 addition & 1 deletion src/app/views/edition-view/edition-view.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ export class EditionViewComponent implements OnInit {
getEditionWorkFromRoute(): void {
this.route.paramMap.subscribe(params => {
const id: string = params.get('compositionId') ? params.get('compositionId') : '';
this.editionService.updateEditionWork(EditionWorks[id]);
this.editionService.updateEditionWork(EditionWorks[id.toUpperCase()]);
this.editionWork$ = this.editionService.getEditionWork();
});
}
Expand Down
5 changes: 5 additions & 0 deletions src/app/views/edition-view/models/textcritics.model.ts
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,11 @@ export class Textcritics {
*/
id: string;

/**
* The label of the textcritics.
*/
label: string;

/**
* The description of the textcritics.
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
"location": "",
"description": [
"2 Blätter (Bl. 1–2). Archivalische Paginierung [<i>1</i>] bis [<i>4</i>] unten links (recto) bzw. rechts (verso) mit Bleistift. Bl. 2<sup>v</sup> mit Ausnahme der archivalischen Paginierung unbeschriftet. Rissspuren am linken und oberen Rand: Blätter von Bogen abgetrennt und im Format verändert.",
"<span class=\"caps\">Beschreibstoff</span>: Notenpapier, 14 Systeme, Format: quer ca. 160–180 × 267 mm, Firmenzeichen: <br /><img class=\"img-thumbnail\" [src]=\"ref.firmSigns.op12.A[0].route\" [title]=\"ref.firmSigns.op12.A[0].full\" [alt]=\"ref.firmSigns.op12.A[0].short\" /> <br /> auf Bl. 1<sup>r</sup> unten links (Bl. 1); <br />Notenpapier, 16 Systeme, Format: quer 175 × 270 mm, kein Firmenzeichen (Bl. 2).",
"<span class=\"caps\">Beschreibstoff</span>: Notenpapier, 14 Systeme, Format: quer ca. 160–180 × 267 mm, Firmenzeichen: <br /><img class=\"img-thumbnail\" [src]=\"ref.FIRM_SIGNS.OP12.A[0].route\" [title]=\"ref.FIRM_SIGNS.OP12.A[0].full\" [alt]=\"ref.FIRM_SIGNS.OP12.A[0].short\" /> <br /> auf Bl. 1<sup>r</sup> unten links (Bl. 1); <br />Notenpapier, 16 Systeme, Format: quer 175 × 270 mm, kein Firmenzeichen (Bl. 2).",
"<span class=\"caps\">Schreibstoff</span>: Bleistift.",
"<span class=\"caps\">Inhalt</span>: <br />Bl. 1<sup>r</sup> System 2–4 | 6–9 | 10–14: Skizze zu Nr. I T. 1–2, [3–6] | [7–12] | [13–17] (<a (click)=\"ref.openModal('OP12_SHEET_COMING_SOON')\"><strong>SkI/1a</strong></a>). <br />\n Bl. 1<sup>v</sup> System 14-12b (auf dem Kopf stehend): Skizze zu Nr. I T. 10, [11-12] (<a (click)=\"ref.selectSvgSheet('Aa:SkI/2')\"><strong>SkI/2</strong></a>). <br />Bl. 1<sup>v</sup> System 12a-9a (auf dem Kopf stehend): Skizze zu Nr. I T. 10-11 (<a (click)=\"ref.selectSvgSheet('Aa:SkI/3')\"><strong>SkI/3</strong></a>). <br /> Bl. 1<sup>v</sup> System 9b-6 (auf dem Kopf stehend): Skizze zu Nr. I T. 10-11 (<a (click)=\"ref.selectSvgSheet('Aa:SkI/5')\"><strong>SkI/5</strong></a>). <br /> Bl. 1<sup>v</sup> System 7a-4 (auf dem Kopf stehend): Skizze zu Nr. I T. 10-11 (<a (click)=\"ref.selectSvgSheet('Aa:SkI/4')\"><strong>SkI/4</strong></a>). <br /> Bl. 2<sup>r</sup> System 6–10 | 12–15: Skizze zu Nr. I T. [18–22] | [23–24] (<a (click)=\"ref.openModal('OP12_SHEET_COMING_SOON')\"><strong>SkI/1b</strong></a>). <br />Bl. 2<sup>v</sup> unbeschriftet."
]
Expand Down
15 changes: 10 additions & 5 deletions src/assets/data/edition/series1/section5/op12/textcritics.json
Original file line number Diff line number Diff line change
@@ -1,14 +1,16 @@
{
"textcritics": [
{
"id": "Aa:SkI/1",
"id": "Aa-SkI-1",
"label": "Aa:SkI/1",
"description": [
"<small class=\"text-muted\">[Der Skizzenkommentar und die textkritischen Kommentare zu <strong>Aa:Sk1/1</strong> erscheinen im Zusammenhang der vollständigen Edition der <i>Vier Lieder</i> op. 12 in AWG I/5.]</small>"
],
"comments": []
},
{
"id": "Aa:SkI/2",
"id": "Aa-SkI-2",
"label": "Aa:SkI/2",
"description": [],
"comments": [
{
Expand Down Expand Up @@ -38,7 +40,8 @@
]
},
{
"id": "Aa:SkI/3",
"id": "Aa-SkI-3",
"label": "Aa:SkI/3",
"description": [],
"comments": [
{
Expand All @@ -62,7 +65,8 @@
]
},
{
"id": "Aa:SkI/4",
"id": "Aa-SkI-4",
"label": "Aa:SkI/4",
"description": [],
"comments": [
{
Expand All @@ -80,7 +84,8 @@
]
},
{
"id": "Aa:SkI/5",
"id": "Aa-SkI-5",
"label": "Aa:SkI/5",
"description": [],
"comments": [
{
Expand Down
2 changes: 1 addition & 1 deletion src/assets/data/edition/series1/section5/op25/graph.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
],
"triples": "@prefix dc: <http://purl.org/dc/elements/1.1/> .\n@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.\n@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.\n@prefix owl: <http://www.w3.org/2002/07/owl#>.\n@prefix awg: <https://edition.anton-webern.ch/webern-onto#> .\n\n\n# ONTO\nawg:follows a rdf:Property .\n\nawg:precedes a owl:TransitiveProperty .\nawg:precedes_scripture rdfs:subPropertyOf awg:precedes .\nawg:precedes_content rdfs:subPropertyOf awg:precedes .\n\nawg:concomitates owl:inverseOf awg:is_concomitated_by .\nawg:concomitates_unsure rdfs:subPropertyOf awg:concomitates .\n\nawg:WorkComplex a owl:Thing .\nawg:Sketch a owl:Thing .\nawg:Paratext a owl:Thing .\n\n# DATA\n# Work complexes\nawg:Op24_1 a awg:WorkComplex ;\n\t\t\trdfs:label \"Op. 24/1\" .\n\nawg:Op25_1 a awg:WorkComplex ;\n\t\t\trdfs:label \"Op. 25/1\" .\n\n# Sk1\nawg:M317_Sk1 a awg:Sketch ;\n awg:precedes_scripture awg:M317_Sk2 ;\n\trdfs:label \"Sk1\" .\n\n#Sk2\nawg:M317_Sk2 a awg:Sketch ;\n awg:precedes_content awg:M317_Sk3 ;\n\t\t\trdfs:label \"Sk2\" .\n\nawg:M317_Sk2_1 a awg:Sketch ;\n awg:concomitates awg:M317_Sk2 ;\n\t\t\t\trdfs:label \"Sk2.1\" .\n\nawg:M317_Sk2_1_1 a awg:Sketch ;\n awg:concomitates awg:M317_Sk2_1 ;\n awg:precedes awg:M317_Sk2_1_2 ;\n\t\t\t\t\trdfs:label \"Sk2.1.1\" .\n\nawg:M317_Sk2_1_2 a awg:Sketch ;\n awg:concomitates awg:M317_Sk2_1 ;\n\t\t\t\t\trdfs:label \"Sk2.1.2\" .\n\nawg:M317_Sk2_1_3 a awg:Sketch ;\n awg:concomitates awg:M317_Sk2_1 ;\n\t\t\t\t\trdfs:label \"Sk2.1.3\" .\n\nawg:M317_Sk2_1_2_1 a awg:Sketch ;\n awg:concomitates awg:M317_Sk2_1_2 ;\n\t\t\t\t\t\trdfs:label \"Sk2.1.2.1\" .\n\n# Sk3\nawg:M317_Sk3 a awg:Sketch ;\n awg:precedes awg:M317_Sk4 ;\n\t\t\trdfs:label \"Sk3\" .\n\nawg:M317_Sk3_1 a awg:Sketch ;\n awg:concomitates awg:M317_Sk3 ;\n\t\t\trdfs:label \"Sk3.1\" .\n\nawg:M317_Sk3_1_1 a awg:Sketch ;\n awg:concomitates awg:M317_Sk3_1 ;\n\t\t\trdfs:label \"Sk3.1.1\" .\n\nawg:M317_Sk3_1_2 a awg:Sketch ;\n awg:concomitates awg:M317_Sk3_1 ;\n\t\t\trdfs:label \"Sk3.1.2\" .\n\nawg:M317_Sk3_1_3 a awg:Sketch ;\n awg:concomitates awg:M317_Sk3_1 ;\n\t rdfs:label \"Sk3.1.3 (Reihentabelle)\" .\n\nawg:M317_Sk3_1_3_1 a awg:Sketch ;\n awg:concomitates awg:M317_Sk3_1_3 ;\n\t\t\trdfs:label \"Sk3.1.3.1\" .\n\n# Sk4\nawg:M317_Sk4 a awg:Sketch ;\n rdfs:label \"Sk4 (Verlaufskizze)\" ;\n\t dc:hasPart awg:M317_Sk4_T1A_3A , awg:M317_Sk4_T3B_6 , awg:M317_Sk4_T7_12 , awg:M317_Sk4_T13_15 ;\n\t awg:precedes awg:PT_SB3_38v_6_page75 ;\n\t awg:precedes awg:PT_SB3_39r_3_page76 ;\n\t awg:precedes awg:PT_SB3_39r_2_date_19340716 .\n\nawg:M317_Sk4_T1A_3A a awg:Sketch ;\n\t rdfs:label \"Sk4 T. 1A–3A\" ;\n\t awg:concomitates awg:M317_Sk4_1 ;\n\t awg:concomitates awg:PT_SB3_38v_4_Akk14_16 ;\n\t awg:precedes awg:M317_Sk4_T3B_6 .\n\nawg:M317_Sk4_T3B_6 a awg:Sketch ;\n\t rdfs:label \"Sk4 T. 3B–6\" ;\n\t awg:precedes awg:M317_Sk4_T7_12 .\n\nawg:M317_Sk4_T7_12 a awg:Sketch ;\n\t rdfs:label \"Sk4 T. 7–12\" ;\n\t awg:precedes awg:M317_Sk4_T13_15 .\n\nawg:M317_Sk4_T13_15 a awg:Sketch ;\n\t rdfs:label \"Sk4 T. 13–15\" ;\n\t awg:concomitates awg:M317_Sk4_2 ;\n\t awg:concomitates awg:M317_Sk4_3 .\n\nawg:M317_Sk4_1 a awg:Sketch ;\n\t awg:concomitates awg:M317_Sk4 ;\n\t rdfs:label \"Sk4.1\" .\n\nawg:M317_Sk4_2 a awg:Sketch ;\n\t awg:concomitates awg:M317_Sk4 ;\n\t rdfs:label \"Sk4.2\" .\n\nawg:M317_Sk4_3 a awg:Sketch ;\n\t awg:concomitates awg:M317_Sk4 ;\n\t rdfs:label \"Sk4.3\" .\n\n# Paratexts\nawg:PT_SB3_39r_1_Akk a awg:Paratext ;\n \t\trdfs:label \"Akkolade\" ;\n \t\tawg:precedes awg:M317_Sk1 ;\n\t\tdc:isPartOf awg:Op24_1 .\n\nawg:PT_SB3_38v_1_Akk1_4 a awg:Paratext ;\n \t\trdfs:label \"Akkoladenstrich: System 1–4\" ;\n \t\tawg:precedes awg:M317_Sk1 ;\n\t\tdc:isPartOf awg:Op24_1 .\n\nawg:PT_SB3_38v_4_Akk14_16 a awg:Paratext ;\n\t\trdfs:label \"Akkoladenstrich: System 14–16\" ;\n\t\tawg:precedes awg:M317_Sk4_1 ;\n\t\tdc:isPartOf awg:Op25_1 .\n\nawg:PT_SB3_38v_2_date_19340704 a awg:Paratext ;\n \t\trdfs:label \"Datierung: 4.VII 34\" ;\n \t\tawg:concomitates awg:M317_Sk1, awg:M317_Sk2 ;\n\t\tdc:isPartOf awg:Op25_1 .\n\nawg:PT_SB3_38v_3_timesignature2 a awg:Paratext ;\n \t\trdfs:label \"Schlüssel- und Taktvorzeichnung\" ;\n \t\tawg:precedes_scripture awg:M317_Sk3 ;\n\t\tdc:isPartOf awg:Op25_1 .\n\nawg:PT_SB3_39r_2_date_19340716 a awg:Paratext ;\n \t\trdfs:label \"Schlussdatierung: Maria Enzersdorf 16.VII.34\" ;\n\t\tawg:precedes awg:PT_SB3_38v_5_Titel ;\n\t\tdc:isPartOf awg:Op25_1 .\n\nawg:PT_SB3_38v_5_Titel a awg:Paratext ;\n \t\trdfs:label \"„Wie bin ich froh!“\" ;\n\t\tdc:isPartOf awg:Op25_1 .\n\nawg:PT_SB3_38v_6_page75 a awg:Paratext ;\n \t\trdfs:label \"Seitenzahl: 75\" ;\n\t\tdc:isPartOf awg:Op25_1 .\n\nawg:PT_SB3_39r_3_page76 a awg:Paratext ;\n \t\trdfs:label \"Seitenzahl: 76\" ;\n\t\tdc:isPartOf awg:Op25_1 .\n"
},
"staticImage": "<img [src]=\"ref.graphImages.op25\" width=\"100%\" alt=\"graphOp25\" />"
"staticImage": "<img [src]=\"ref.GRAPH_IMAGES.OP25\" width=\"100%\" alt=\"graphOp25\" />"
}
]
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"location": "Basel, Paul Sacher Stiftung, Sammlung Anton Webern.",
"description": [
"2 Seiten in <strong>Skizzenbuch 3</strong>: Bl. 38<sup>v</sup>–39<sup>r</sup>.",
"<span class=\"caps\">Beschreibstoff</span>: Notenpapier, quer 270 × 335 mm, 16 Systeme, Firmenzeichen: <br /><img class=\"img-thumbnail\" [src]=\"ref.firmSigns.op25.A[0].route\" [title]=\"ref.firmSigns.op25.A[0].full\" [alt]=\"ref.firmSigns.op25.A[0].short\" /> <br /> auf Bl. 39<sup>r</sup> unten links (Bl. 38–39).",
"<span class=\"caps\">Beschreibstoff</span>: Notenpapier, quer 270 × 335 mm, 16 Systeme, Firmenzeichen: <br /><img class=\"img-thumbnail\" [src]=\"ref.FIRM_SIGNS.OP25.A[0].route\" [title]=\"ref.FIRM_SIGNS.OP25.A[0].full\" [alt]=\"ref.FIRM_SIGNS.OP25.A[0].short\" /> <br /> auf Bl. 39<sup>r</sup> unten links (Bl. 38–39).",
"<span class=\"caps\">Hauptschreibstoff</span>: Bleistift.",
"<span class=\"caps\">Weitere Schreibstoffe</span>: grüner Buntstift, roter Buntstift, schwarzer Buntstift.",
"<span class=\"caps\">Autographer Titel</span>: „Wie bin ich froh!“ auf Bl. 38<sup>v</sup> oben links mit schwarzem Buntstift.",
Expand Down
Loading

0 comments on commit b680fbe

Please sign in to comment.