-
-
Save burningTyger/d21f7907820e46ad23bce0b845fb67b9 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{#each schueler as s (s.ID)} | |
{#each aktHalbjahrFuer(s) as hj (hj.ID)} | |
<div class="page grid" orientation="portrait" size="A4" style="font-size: 0.8rem"> | |
<div class="header"> | |
<Seitenlogo logo="{privat.traegerLogo}"/> | |
<Pageheader art="daten/agz.svg" logo="{privat.logo}" untertitel="{privat.untertitel}"/> | |
</div> | |
<div class="main"> | |
<div style="font-size: 12pt; line-height: 1.5em">Abgangszeugnis gemäß §13 APO-BK, Anlage D</div> | |
<div style="font-size: 11pt; line-height: 1.2em">Berufliches Gymnasium, {bg(s, 'Bereich')}</div> | |
<Voffset v="0.5"/> | |
{s.anrede} <b>{s.Vorname} {s.Zusatz || ''} {s.Name}</b>, geboren am {datum(s.Geburtsdatum)} in {s.Geburtsort}, | |
<br />hat vom {datum(s.Aufnahmedatum)} bis zum {datum(s.Entlassdatum)} den <b>Bildungsgang {bg(s, 'Zeugniskopf')}</b> besucht. | |
<br>{s.Geschlecht === 3 ? 'Er':'Sie'} war zuletzt {s.schueler_in} im {hj.Abschnitt}. Halbjahr der Jahrgangstufe {hj.Jahrgang+10}. | |
<Voffset v="0.5"/> | |
In der Konferenz am {datum(hj.Konferenzdatum)} sind folgende Leistungen festgestellt worden: | |
<table class="table table-bordered table-eng"> | |
<tr> | |
<td>Fach</td> | |
<td>Aufg.-<br>feld<sup>2</sup></td> | |
<td>Kurs-<br>Art<sup>3</sup></td> | |
<td colspan="2" class="text-center">12.1<sup>4</sup></td> | |
<td colspan="2" class="text-center">12.2<sup>4</sup></td> | |
<td colspan="2" class="text-center">13.1<sup>4</sup></td> | |
<td colspan="2" class="text-center">13.2<sup>4</sup></td> | |
</tr> | |
<tr> | |
<td colspan="3"></td> | |
<td class="text-center">Note</td> | |
<td class="text-center">Punkte</td> | |
<td class="text-center">Note</td> | |
<td class="text-center">Punkte</td> | |
<td class="text-center">Note</td> | |
<td class="text-center">Punkte</td> | |
<td class="text-center">Note</td> | |
<td class="text-center">Punkte</td> | |
</tr> | |
{#each s.abi_abschluss_faecher.sort((a, b) => a.FSortierung < b.FSortierung ? -1 : 1) as f} | |
<tr> | |
<td>{f.fach.Bezeichnung} | |
{#if f.fach.IstSprache === '+'}{fremdsprache(f, s.fachklasse.Kennung)}<sup>1</sup>{/if} | |
</td> | |
<td class="text-center">{'I'.repeat(f.fach.Aufgabenfeld)}</td> | |
<td class="text-center">{f.KursartAllg || 'GK'}</td> | |
<td class="text-center">{punkte2note(f.P12_1) || '–'}</td> | |
<td class="text-center">{fhrFach(s, f, '2_1') || '–'}</td> | |
<td class="text-center">{punkte2note(f.P12_2) || '–'}</td> | |
<td class="text-center">{fhrFach(s, f, '2_2') || '–'}</td> | |
<td class="text-center">{punkte2note(f.P13_1) || '–'}</td> | |
<td class="text-center">{fhrFach(s, f, '3_1') || '–'}</td> | |
<td class="text-center">{punkte2note(f.P13_2) || '–'}</td> | |
<td class="text-center">{fhrFach(s, f, '3_2') || '–'}</td> | |
</tr> | |
{/each} | |
</table> | |
<Voffset v="0.5"/> | |
<b>Bemerkungen: | |
<br></b> {@html bemerkungen(hj)} | |
<Voffset v="1"/> | |
Die Kurse des letzten Halbjahres gelten als {zeige_Kurse_abgeschlossen ? '':'nicht'} abgeschlossen. | |
<button class="vbutton no-print" on:click="{() => zeige_Kurse_abgeschlossen = !zeige_Kurse_abgeschlossen}"> | |
Kurse abgeschlossen: {zeige_Kurse_abgeschlossen ? 'Ja' : 'Nein'} | |
</button> | |
{#if zeige_FHR} | |
<Voffset v="2"/> | |
Dieses Zeugnis gilt in Verbindung mit dem Nachweis über eine | |
abgeschlossene Berufsausbildung oder ein einjähriges gelenktes | |
Praktikum gemäß der Praktikum - Ausbildungsordnung vom 11.12.2006 | |
(BASS 13 -31 Nr.1) als Nachweis der Fachhochschulreife. Es | |
berechtigt zum Studium an einer Fachhochschule des Landes | |
Nordrhein-Westfalen. Dieses Zeugnis gilt auch als Nachweis des | |
schulischen Teils der Fachhochschulreife in den Ländern | |
Baden-Württemberg, Berlin, Brandenburg, Bremen, Hamburg, Hessen, | |
Mecklenburg-Vorpommern, Niedersachsen, Rheinland-Pfalz, Saarland, | |
Sachsen-Anhalt, Schleswig-Holstein und Thüringen. | |
{/if} | |
<button class="vbutton no-print" on:click="{() => zeige_FHR = !zeige_FHR}"> | |
FHR abgeschlossen: {zeige_FHR ? 'Ja' : 'Nein'} | |
</button> | |
<Voffset v="2"/> | |
<table class="table-noten"> | |
<tr> | |
<td>Durchschnittsnote:</td> | |
<td class="td-fach-note"><span>{s.fhr_abschluss && s.fhr_abschluss.Note}</span></td> | |
<td>in Worten:</td> | |
<td class="td-fach-note"><span>{@html s.fhr_abschluss && s.fhr_abschluss.Note && noteInWorten(s.fhr_abschluss.Note)}</span></td> | |
</tr> | |
</table> | |
</div> | |
<div class="footer"> | |
<div class="flex-grid"> | |
<div class="col-2"> | |
{schule.Ort}, den {datum(hj.ZeugnisDatum)} | |
</div> | |
<div class="col text-center klein"> | |
<Voffset v="3"/> | |
<hr /> | |
{schule.SchulleiterVorname} {schule.SchulleiterName} | |
<br />{schule.schulleiter_in} | |
</div> | |
<div class="col text-center klein"> | |
<Voffset v="3"/> | |
Siegel | |
</div> | |
<div class="col text-center klein"> | |
<Voffset v="3"/> | |
<hr /> | |
{hj.lehrer.Vorname} {hj.lehrer.Nachname}<br />{hj.klassenlehrer_in} | |
</div> | |
</div> | |
<Voffset v="2"/> | |
Schulnummer: {schule.SchulNr} | |
<div class="klein"> | |
<hr /> | |
<sup>1</sup>Der Unterricht in den modernen Fremdsprachen hat auf der nach dem Fach in | |
Klammern angegebenen Niveaustufe des „Europäischen Referenzrahmens für | |
Sprachen: Lernen, Lehren, Beurteilen“ stattgefunden. Sind zwei | |
Referenzniveaus ausgewiesen, ist das niedrigere in vollem Umfang, das höhere | |
in Anteilen erreicht. Bei mindestens ausreichenden Leistungen (5 Punkte) | |
wird der sprachliche Kompetenzerwerb auf diesem Niveau bescheinigt. | |
<Voffset v=".5"/> | |
<table> | |
<tr> | |
<td rowspan="4" valign="top" width="5px" ><sup>2</sup> </td> | |
<td width="10px">I</td> | |
<td>= sprachlich literarisches Aufgabenfeld</td> | |
<td rowspan="4" valign="top" width="5px" ><sup>3</sup> </td> | |
<td width="10px">LK</td> | |
<td>= Leistungskurs</td> | |
</tr> | |
<tr> | |
<td>II</td> | |
<td>= gesellschaftswissenschaftliches Aufgabenfeld</td> | |
<td width="10px">GK</td> | |
<td>= Grundkurs</td> | |
</tr> | |
<tr> | |
<td>III</td> | |
<td>= mathematisch-naturwissenschaftlich-technisches Aufgabenfeld</td> | |
</tr> | |
</table> | |
<sup>4</sup> Für die Umsetzung von Noten in Punkte gilt: | |
<table class="table table-bordered table-eng" width="80%"> | |
<tr> | |
<td width="5%"></td> | |
{#each ['sehr gut', 'gut', 'befriedigend', 'ausreichend', 'mangelhaft', 'ungenügend'] as n} | |
<td class="text-center" width="10%">{n}</td> | |
{/each} | |
</tr> | |
<tr> | |
<td>Noten</td> | |
{#each [1,2,3,4,5] as i} | |
<td class="text-center"> | |
<div class="flex-grid"> | |
<div class="col">+</div> | |
<div class="col">{i}</div> | |
<div class="col">-</div> | |
</div> | |
</td> | |
{/each} | |
<td class="text-center">6</td> | |
</tr> | |
<tr> | |
<td>Punkte</td> | |
{#each [[15,14,13],[12,11,10],['09','08','07'],['06','05','04'],['03','02','01']] as ii} | |
<td class="text-center"> | |
<div class="flex-grid"> | |
{#each ii as i} | |
<div class="col">{i}</div> | |
{/each} | |
</div> | |
</td> | |
{/each} | |
<td class="text-center">00</td> | |
</tr> | |
</table> | |
<Voffset v=".5"/> | |
<table> | |
<tr> | |
<td width="3%">E1</td> | |
<td width="40%">= Mit besonderem Erfolg teilgenommen</td> | |
<td width="3%">E2</td> | |
<td width="30%">= Mit Erfolg teilgenommen</td> | |
<td width="3%">E3</td> | |
<td width="15%">= Teilgenommen</td> | |
</tr> | |
</table> | |
Die Punkte in Klammern sind nicht in die Durchschnittsnote eingerechnet worden. | |
</div> | |
</div> | |
</div> | |
<div class="page grid" orientation="portrait" size="A4"> | |
<div class="footer klein"> | |
<hr> | |
Dem Zeugnis liegen zugrunde:<br> | |
Die Verordnung über die Ausbildung und Prüfung | |
in den Bildungsgängen des Berufskollegs (Ausbildungs- und Prüfungsordnung | |
Berufskolleg, APO-BK) vom 26. Mai 1999 (SGV. NRW. 223/BASS 13 – 33 Nr. 1.1). | |
<Voffset v=".5"/> | |
Rechtsbehelfsbelehrung:<br> | |
Gegen dieses Zeugnis kann innerhalb eines Monats | |
nach Bekanntgabe des Zeugnisses Widerspruch eingelegt werden. Der Widerspruch | |
ist beim {schule.Bezeichnung2}, {schule.Strasse}, {schule.PLZ} {schule.Ort}, | |
schriftlich oder zur Niederschrift zu erheben. <br />Falls die Frist durch | |
das Verschulden einer/eines Bevollmächtigten versäumt wird, wird dies | |
Verschulden der Widerspruchsführerin/dem Widerspruchsführer zugerechnet. | |
</div> | |
</div> | |
{/each} | |
{/each} | |
<script> | |
export const kommentar = ` | |
*Achtung* die FHR wird nicht automatisch vergeben, Voraussetzungen beachten | |
- [§13 zu AGZ 12, 13,](https://bass.schul-welt.de/3129.htm#pgfId-1289625) | |
- [VV 13.4 zu Absatz 4](https://bass.schul-welt.de/3129.htm#pgfId-3910131) | |
- [FHR bei Abgängern](https://bass.schul-welt.de/3129.htm#13-33nr1.1p13a_AnlageD) | |
- [Sprachniveaus](https://bass.schul-welt.de/3129.htm#pgfId-3910826) | |
- [AGZ D35](https://bass.schul-welt.de/3129.htm#AnlageD35) | |
- [Kurse abgeschlossen? Bemerkung](https://bass.schul-welt.de/3129.htm#pgfId-3910135) | |
` | |
import { datum, versetzungsvermerk, volljaehrigBei, bemerkungen, bg, punkte2note, noteInWorten, fremdsprache } from './helfer' | |
import Seitenlogo from './partials/Seitenlogo.html' | |
import Pageheader from './partials/Pageheader.html' | |
import Voffset from './partials/Voffset.html' | |
export let schueler, schule, privat, jahr, abschnitt | |
let zeige_FHR = false, zeige_Kurse_abgeschlossen = false | |
const aktHalbjahrFuer = s => [s.abschnitte.find(a => a.Jahr === jahr && a.Abschnitt === abschnitt)] | |
const fhrFach = (s, fach, id) => { | |
const pid = 'P1' + id | |
if (!fach[pid]) return | |
const fach2 = s.fhr_abschluss_faecher.find(f => f.Fach_ID === fach.Fach_ID) | |
const rsid = 'RSII_' + id | |
return fach2[rsid] === '+' ? fach[pid] : `(${fach[pid]})` | |
} | |
</script> | |
<style> | |
@import 'css/main.css'; | |
@import 'css/a4-portrait.css'; | |
.table-bordered { | |
border-collapse: collapse; } | |
.table-bordered tr td { | |
border: thin solid #ddd; | |
line-height: 1.3rem } | |
.table-eng { | |
margin-bottom: 0; | |
} | |
.table-noten { | |
width: 70%; | |
border: none; | |
border-collapse: collapse; | |
margin-bottom: 1rem; | |
} | |
.td-fach-note { | |
padding-bottom: .2rem; | |
padding-top: .2rem; | |
width: 12rem; | |
} | |
.td-fach-note span { | |
background-color: #dcdcdc !important; | |
text-align: center; | |
width: 10rem; | |
display: block; | |
margin: 0 auto; | |
} | |
</style> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
'use strict'; | |
function noop() { } | |
const identity = x => x; | |
function assign(tar, src) { | |
// @ts-ignore | |
for (const k in src) | |
tar[k] = src[k]; | |
return tar; | |
} | |
function is_promise(value) { | |
return value && typeof value === 'object' && typeof value.then === 'function'; | |
} | |
function add_location(element, file, line, column, char) { | |
element.__svelte_meta = { | |
loc: { file, line, column, char } | |
}; | |
} | |
function run(fn) { | |
return fn(); | |
} | |
function blank_object() { | |
return Object.create(null); | |
} | |
function run_all(fns) { | |
fns.forEach(run); | |
} | |
function is_function(thing) { | |
return typeof thing === 'function'; | |
} | |
function safe_not_equal(a, b) { | |
return a != a ? b == b : a !== b || ((a && typeof a === 'object') || typeof a === 'function'); | |
} | |
function not_equal(a, b) { | |
return a != a ? b == b : a !== b; | |
} | |
function validate_store(store, name) { | |
if (!store || typeof store.subscribe !== 'function') { | |
throw new Error(`'${name}' is not a store with a 'subscribe' method`); | |
} | |
} | |
function subscribe(component, store, callback) { | |
const unsub = store.subscribe(callback); | |
component.$$.on_destroy.push(unsub.unsubscribe | |
? () => unsub.unsubscribe() | |
: unsub); | |
} | |
function create_slot(definition, ctx, fn) { | |
if (definition) { | |
const slot_ctx = get_slot_context(definition, ctx, fn); | |
return definition[0](slot_ctx); | |
} | |
} | |
function get_slot_context(definition, ctx, fn) { | |
return definition[1] | |
? assign({}, assign(ctx.$$scope.ctx, definition[1](fn ? fn(ctx) : {}))) | |
: ctx.$$scope.ctx; | |
} | |
function get_slot_changes(definition, ctx, changed, fn) { | |
return definition[1] | |
? assign({}, assign(ctx.$$scope.changed || {}, definition[1](fn ? fn(changed) : {}))) | |
: ctx.$$scope.changed || {}; | |
} | |
function exclude_internal_props(props) { | |
const result = {}; | |
for (const k in props) | |
if (k[0] !== '$') | |
result[k] = props[k]; | |
return result; | |
} | |
function once(fn) { | |
let ran = false; | |
return function (...args) { | |
if (ran) | |
return; | |
ran = true; | |
fn.call(this, ...args); | |
}; | |
} | |
const is_client = typeof window !== 'undefined'; | |
let now = is_client | |
? () => window.performance.now() | |
: () => Date.now(); | |
let raf = cb => requestAnimationFrame(cb); | |
// used internally for testing | |
function set_now(fn) { | |
now = fn; | |
} | |
function set_raf(fn) { | |
raf = fn; | |
} | |
const tasks = new Set(); | |
let running = false; | |
function run_tasks() { | |
tasks.forEach(task => { | |
if (!task[0](now())) { | |
tasks.delete(task); | |
task[1](); | |
} | |
}); | |
running = tasks.size > 0; | |
if (running) | |
raf(run_tasks); | |
} | |
function clear_loops() { | |
// for testing... | |
tasks.forEach(task => tasks.delete(task)); | |
running = false; | |
} | |
function loop(fn) { | |
let task; | |
if (!running) { | |
running = true; | |
raf(run_tasks); | |
} | |
return { | |
promise: new Promise(fulfil => { | |
tasks.add(task = [fn, fulfil]); | |
}), | |
abort() { | |
tasks.delete(task); | |
} | |
}; | |
} | |
function append(target, node) { | |
target.appendChild(node); | |
} | |
function insert(target, node, anchor) { | |
target.insertBefore(node, anchor || null); | |
} | |
function detach(node) { | |
node.parentNode.removeChild(node); | |
} | |
function detach_between(before, after) { | |
while (before.nextSibling && before.nextSibling !== after) { | |
before.parentNode.removeChild(before.nextSibling); | |
} | |
} | |
function detach_before(after) { | |
while (after.previousSibling) { | |
after.parentNode.removeChild(after.previousSibling); | |
} | |
} | |
function detach_after(before) { | |
while (before.nextSibling) { | |
before.parentNode.removeChild(before.nextSibling); | |
} | |
} | |
function destroy_each(iterations, detaching) { | |
for (let i = 0; i < iterations.length; i += 1) { | |
if (iterations[i]) | |
iterations[i].d(detaching); | |
} | |
} | |
function element(name) { | |
return document.createElement(name); | |
} | |
function object_without_properties(obj, exclude) { | |
// eslint-disable-next-line @typescript-eslint/no-object-literal-type-assertion | |
const target = {}; | |
for (const k in obj) { | |
if (Object.prototype.hasOwnProperty.call(obj, k) | |
// @ts-ignore | |
&& exclude.indexOf(k) === -1) { | |
// @ts-ignore | |
target[k] = obj[k]; | |
} | |
} | |
return target; | |
} | |
function svg_element(name) { | |
return document.createElementNS('http://www.w3.org/2000/svg', name); | |
} | |
function text(data) { | |
return document.createTextNode(data); | |
} | |
function space() { | |
return text(' '); | |
} | |
function empty() { | |
return text(''); | |
} | |
function listen(node, event, handler, options) { | |
node.addEventListener(event, handler, options); | |
return () => node.removeEventListener(event, handler, options); | |
} | |
function prevent_default(fn) { | |
return function (event) { | |
event.preventDefault(); | |
// @ts-ignore | |
return fn.call(this, event); | |
}; | |
} | |
function stop_propagation(fn) { | |
return function (event) { | |
event.stopPropagation(); | |
// @ts-ignore | |
return fn.call(this, event); | |
}; | |
} | |
function attr(node, attribute, value) { | |
if (value == null) | |
node.removeAttribute(attribute); | |
else | |
node.setAttribute(attribute, value); | |
} | |
function set_attributes(node, attributes) { | |
for (const key in attributes) { | |
if (key === 'style') { | |
node.style.cssText = attributes[key]; | |
} | |
else if (key in node) { | |
node[key] = attributes[key]; | |
} | |
else { | |
attr(node, key, attributes[key]); | |
} | |
} | |
} | |
function set_custom_element_data(node, prop, value) { | |
if (prop in node) { | |
node[prop] = value; | |
} | |
else { | |
attr(node, prop, value); | |
} | |
} | |
function xlink_attr(node, attribute, value) { | |
node.setAttributeNS('http://www.w3.org/1999/xlink', attribute, value); | |
} | |
function get_binding_group_value(group) { | |
const value = []; | |
for (let i = 0; i < group.length; i += 1) { | |
if (group[i].checked) | |
value.push(group[i].__value); | |
} | |
return value; | |
} | |
function to_number(value) { | |
return value === '' ? undefined : +value; | |
} | |
function time_ranges_to_array(ranges) { | |
const array = []; | |
for (let i = 0; i < ranges.length; i += 1) { | |
array.push({ start: ranges.start(i), end: ranges.end(i) }); | |
} | |
return array; | |
} | |
function children(element) { | |
return Array.from(element.childNodes); | |
} | |
function claim_element(nodes, name, attributes, svg) { | |
for (let i = 0; i < nodes.length; i += 1) { | |
const node = nodes[i]; | |
if (node.nodeName === name) { | |
for (let j = 0; j < node.attributes.length; j += 1) { | |
const attribute = node.attributes[j]; | |
if (!attributes[attribute.name]) | |
node.removeAttribute(attribute.name); | |
} | |
return nodes.splice(i, 1)[0]; // TODO strip unwanted attributes | |
} | |
} | |
return svg ? svg_element(name) : element(name); | |
} | |
function claim_text(nodes, data) { | |
for (let i = 0; i < nodes.length; i += 1) { | |
const node = nodes[i]; | |
if (node.nodeType === 3) { | |
node.data = data; | |
return nodes.splice(i, 1)[0]; | |
} | |
} | |
return text(data); | |
} | |
function set_data(text, data) { | |
data = '' + data; | |
if (text.data !== data) | |
text.data = data; | |
} | |
function set_input_type(input, type) { | |
try { | |
input.type = type; | |
} | |
catch (e) { | |
// do nothing | |
} | |
} | |
function set_style(node, key, value) { | |
node.style.setProperty(key, value); | |
} | |
function select_option(select, value) { | |
for (let i = 0; i < select.options.length; i += 1) { | |
const option = select.options[i]; | |
if (option.__value === value) { | |
option.selected = true; | |
return; | |
} | |
} | |
} | |
function select_options(select, value) { | |
for (let i = 0; i < select.options.length; i += 1) { | |
const option = select.options[i]; | |
option.selected = ~value.indexOf(option.__value); | |
} | |
} | |
function select_value(select) { | |
const selected_option = select.querySelector(':checked') || select.options[0]; | |
return selected_option && selected_option.__value; | |
} | |
function select_multiple_value(select) { | |
return [].map.call(select.querySelectorAll(':checked'), option => option.__value); | |
} | |
function add_resize_listener(element, fn) { | |
if (getComputedStyle(element).position === 'static') { | |
element.style.position = 'relative'; | |
} | |
const object = document.createElement('object'); | |
object.setAttribute('style', 'display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; pointer-events: none; z-index: -1;'); | |
object.type = 'text/html'; | |
let win; | |
object.onload = () => { | |
win = object.contentDocument.defaultView; | |
win.addEventListener('resize', fn); | |
}; | |
if (/Trident/.test(navigator.userAgent)) { | |
element.appendChild(object); | |
object.data = 'about:blank'; | |
} | |
else { | |
object.data = 'about:blank'; | |
element.appendChild(object); | |
} | |
return { | |
cancel: () => { | |
win && win.removeEventListener && win.removeEventListener('resize', fn); | |
element.removeChild(object); | |
} | |
}; | |
} | |
function toggle_class(element, name, toggle) { | |
element.classList[toggle ? 'add' : 'remove'](name); | |
} | |
function custom_event(type, detail) { | |
const e = document.createEvent('CustomEvent'); | |
e.initCustomEvent(type, false, false, detail); | |
return e; | |
} | |
let stylesheet; | |
let active = 0; | |
let current_rules = {}; | |
// https://github.com/darkskyapp/string-hash/blob/master/index.js | |
function hash(str) { | |
let hash = 5381; | |
let i = str.length; | |
while (i--) | |
hash = ((hash << 5) - hash) ^ str.charCodeAt(i); | |
return hash >>> 0; | |
} | |
function create_rule(node, a, b, duration, delay, ease, fn, uid = 0) { | |
const step = 16.666 / duration; | |
let keyframes = '{\n'; | |
for (let p = 0; p <= 1; p += step) { | |
const t = a + (b - a) * ease(p); | |
keyframes += p * 100 + `%{${fn(t, 1 - t)}}\n`; | |
} | |
const rule = keyframes + `100% {${fn(b, 1 - b)}}\n}`; | |
const name = `__svelte_${hash(rule)}_${uid}`; | |
if (!current_rules[name]) { | |
if (!stylesheet) { | |
const style = element('style'); | |
document.head.appendChild(style); | |
stylesheet = style.sheet; | |
} | |
current_rules[name] = true; | |
stylesheet.insertRule(`@keyframes ${name} ${rule}`, stylesheet.cssRules.length); | |
} | |
const animation = node.style.animation || ''; | |
node.style.animation = `${animation ? `${animation}, ` : ``}${name} ${duration}ms linear ${delay}ms 1 both`; | |
active += 1; | |
return name; | |
} | |
function delete_rule(node, name) { | |
node.style.animation = (node.style.animation || '') | |
.split(', ') | |
.filter(name | |
? anim => anim.indexOf(name) < 0 // remove specific animation | |
: anim => anim.indexOf('__svelte') === -1 // remove all Svelte animations | |
) | |
.join(', '); | |
if (name && !--active) | |
clear_rules(); | |
} | |
function clear_rules() { | |
raf(() => { | |
if (active) | |
return; | |
let i = stylesheet.cssRules.length; | |
while (i--) | |
stylesheet.deleteRule(i); | |
current_rules = {}; | |
}); | |
} | |
function create_animation(node, from, fn, params) { | |
if (!from) | |
return noop; | |
const to = node.getBoundingClientRect(); | |
if (from.left === to.left && from.right === to.right && from.top === to.top && from.bottom === to.bottom) | |
return noop; | |
const { delay = 0, duration = 300, easing = identity, | |
// @ts-ignore todo: should this be separated from destructuring? Or start/end added to public api and documentation? | |
start: start_time = now() + delay, | |
// @ts-ignore todo: | |
end = start_time + duration, tick = noop, css } = fn(node, { from, to }, params); | |
let running = true; | |
let started = false; | |
let name; | |
function start() { | |
if (css) { | |
name = create_rule(node, 0, 1, duration, delay, easing, css); | |
} | |
if (!delay) { | |
started = true; | |
} | |
} | |
function stop() { | |
if (css) | |
delete_rule(node, name); | |
running = false; | |
} | |
loop(now$$1 => { | |
if (!started && now$$1 >= start_time) { | |
started = true; | |
} | |
if (started && now$$1 >= end) { | |
tick(1, 0); | |
stop(); | |
} | |
if (!running) { | |
return false; | |
} | |
if (started) { | |
const p = now$$1 - start_time; | |
const t = 0 + 1 * easing(p / duration); | |
tick(t, 1 - t); | |
} | |
return true; | |
}); | |
start(); | |
tick(0, 1); | |
return stop; | |
} | |
function fix_position(node) { | |
const style = getComputedStyle(node); | |
if (style.position !== 'absolute' && style.position !== 'fixed') { | |
const { width, height } = style; | |
const a = node.getBoundingClientRect(); | |
node.style.position = 'absolute'; | |
node.style.width = width; | |
node.style.height = height; | |
add_transform(node, a); | |
} | |
} | |
function add_transform(node, a) { | |
const b = node.getBoundingClientRect(); | |
if (a.left !== b.left || a.top !== b.top) { | |
const style = getComputedStyle(node); | |
const transform = style.transform === 'none' ? '' : style.transform; | |
node.style.transform = `${transform} translate(${a.left - b.left}px, ${a.top - b.top}px)`; | |
} | |
} | |
let current_component; | |
function set_current_component(component) { | |
current_component = component; | |
} | |
function get_current_component() { | |
if (!current_component) | |
throw new Error(`Function called outside component initialization`); | |
return current_component; | |
} | |
function beforeUpdate(fn) { | |
get_current_component().$$.before_update.push(fn); | |
} | |
function onMount(fn) { | |
get_current_component().$$.on_mount.push(fn); | |
} | |
function afterUpdate(fn) { | |
get_current_component().$$.after_update.push(fn); | |
} | |
function onDestroy(fn) { | |
get_current_component().$$.on_destroy.push(fn); | |
} | |
function createEventDispatcher() { | |
const component = current_component; | |
return (type, detail) => { | |
const callbacks = component.$$.callbacks[type]; | |
if (callbacks) { | |
// TODO are there situations where events could be dispatched | |
// in a server (non-DOM) environment? | |
const event = custom_event(type, detail); | |
callbacks.slice().forEach(fn => { | |
fn.call(component, event); | |
}); | |
} | |
}; | |
} | |
function setContext(key, context) { | |
get_current_component().$$.context.set(key, context); | |
} | |
function getContext(key) { | |
return get_current_component().$$.context.get(key); | |
} | |
// TODO figure out if we still want to support | |
// shorthand events, or if we want to implement | |
// a real bubbling mechanism | |
function bubble(component, event) { | |
const callbacks = component.$$.callbacks[event.type]; | |
if (callbacks) { | |
callbacks.slice().forEach(fn => fn(event)); | |
} | |
} | |
const dirty_components = []; | |
const intros = { enabled: false }; | |
const binding_callbacks = []; | |
const render_callbacks = []; | |
const flush_callbacks = []; | |
const resolved_promise = Promise.resolve(); | |
let update_scheduled = false; | |
function schedule_update() { | |
if (!update_scheduled) { | |
update_scheduled = true; | |
resolved_promise.then(flush); | |
} | |
} | |
function tick() { | |
schedule_update(); | |
return resolved_promise; | |
} | |
function add_render_callback(fn) { | |
render_callbacks.push(fn); | |
} | |
function add_flush_callback(fn) { | |
flush_callbacks.push(fn); | |
} | |
function flush() { | |
const seen_callbacks = new Set(); | |
do { | |
// first, call beforeUpdate functions | |
// and update components | |
while (dirty_components.length) { | |
const component = dirty_components.shift(); | |
set_current_component(component); | |
update(component.$$); | |
} | |
while (binding_callbacks.length) | |
binding_callbacks.pop()(); | |
// then, once components are updated, call | |
// afterUpdate functions. This may cause | |
// subsequent updates... | |
for (let i = 0; i < render_callbacks.length; i += 1) { | |
const callback = render_callbacks[i]; | |
if (!seen_callbacks.has(callback)) { | |
callback(); | |
// ...so guard against infinite loops | |
seen_callbacks.add(callback); | |
} | |
} | |
render_callbacks.length = 0; | |
} while (dirty_components.length); | |
while (flush_callbacks.length) { | |
flush_callbacks.pop()(); | |
} | |
update_scheduled = false; | |
} | |
function update($$) { | |
if ($$.fragment) { | |
$$.update($$.dirty); | |
run_all($$.before_update); | |
$$.fragment.p($$.dirty, $$.ctx); | |
$$.dirty = null; | |
$$.after_update.forEach(add_render_callback); | |
} | |
} | |
let promise; | |
function wait() { | |
if (!promise) { | |
promise = Promise.resolve(); | |
promise.then(() => { | |
promise = null; | |
}); | |
} | |
return promise; | |
} | |
function dispatch(node, direction, kind) { | |
node.dispatchEvent(custom_event(`${direction ? 'intro' : 'outro'}${kind}`)); | |
} | |
const outroing = new Set(); | |
let outros; | |
function group_outros() { | |
outros = { | |
remaining: 0, | |
callbacks: [] | |
}; | |
} | |
function check_outros() { | |
if (!outros.remaining) { | |
run_all(outros.callbacks); | |
} | |
} | |
function transition_in(block, local) { | |
if (block && block.i) { | |
outroing.delete(block); | |
block.i(local); | |
} | |
} | |
function transition_out(block, local, callback) { | |
if (block && block.o) { | |
if (outroing.has(block)) | |
return; | |
outroing.add(block); | |
outros.callbacks.push(() => { | |
outroing.delete(block); | |
if (callback) { | |
block.d(1); | |
callback(); | |
} | |
}); | |
block.o(local); | |
} | |
} | |
function create_in_transition(node, fn, params) { | |
let config = fn(node, params); | |
let running = false; | |
let animation_name; | |
let task; | |
let uid = 0; | |
function cleanup() { | |
if (animation_name) | |
delete_rule(node, animation_name); | |
} | |
function go() { | |
const { delay = 0, duration = 300, easing = identity, tick: tick$$1 = noop, css } = config; | |
if (css) | |
animation_name = create_rule(node, 0, 1, duration, delay, easing, css, uid++); | |
tick$$1(0, 1); | |
const start_time = now() + delay; | |
const end_time = start_time + duration; | |
if (task) | |
task.abort(); | |
running = true; | |
add_render_callback(() => dispatch(node, true, 'start')); | |
task = loop(now$$1 => { | |
if (running) { | |
if (now$$1 >= end_time) { | |
tick$$1(1, 0); | |
dispatch(node, true, 'end'); | |
cleanup(); | |
return running = false; | |
} | |
if (now$$1 >= start_time) { | |
const t = easing((now$$1 - start_time) / duration); | |
tick$$1(t, 1 - t); | |
} | |
} | |
return running; | |
}); | |
} | |
let started = false; | |
return { | |
start() { | |
if (started) | |
return; | |
delete_rule(node); | |
if (is_function(config)) { | |
config = config(); | |
wait().then(go); | |
} | |
else { | |
go(); | |
} | |
}, | |
invalidate() { | |
started = false; | |
}, | |
end() { | |
if (running) { | |
cleanup(); | |
running = false; | |
} | |
} | |
}; | |
} | |
function create_out_transition(node, fn, params) { | |
let config = fn(node, params); | |
let running = true; | |
let animation_name; | |
const group = outros; | |
group.remaining += 1; | |
function go() { | |
const { delay = 0, duration = 300, easing = identity, tick: tick$$1 = noop, css } = config; | |
if (css) | |
animation_name = create_rule(node, 1, 0, duration, delay, easing, css); | |
const start_time = now() + delay; | |
const end_time = start_time + duration; | |
add_render_callback(() => dispatch(node, false, 'start')); | |
loop(now$$1 => { | |
if (running) { | |
if (now$$1 >= end_time) { | |
tick$$1(0, 1); | |
dispatch(node, false, 'end'); | |
if (!--group.remaining) { | |
// this will result in `end()` being called, | |
// so we don't need to clean up here | |
run_all(group.callbacks); | |
} | |
return false; | |
} | |
if (now$$1 >= start_time) { | |
const t = easing((now$$1 - start_time) / duration); | |
tick$$1(1 - t, t); | |
} | |
} | |
return running; | |
}); | |
} | |
if (is_function(config)) { | |
wait().then(() => { | |
// @ts-ignore | |
config = config(); | |
go(); | |
}); | |
} | |
else { | |
go(); | |
} | |
return { | |
end(reset) { | |
if (reset && config.tick) { | |
config.tick(1, 0); | |
} | |
if (running) { | |
if (animation_name) | |
delete_rule(node, animation_name); | |
running = false; | |
} | |
} | |
}; | |
} | |
function create_bidirectional_transition(node, fn, params, intro) { | |
let config = fn(node, params); | |
let t = intro ? 0 : 1; | |
let running_program = null; | |
let pending_program = null; | |
let animation_name = null; | |
function clear_animation() { | |
if (animation_name) | |
delete_rule(node, animation_name); | |
} | |
function init(program, duration) { | |
const d = program.b - t; | |
duration *= Math.abs(d); | |
return { | |
a: t, | |
b: program.b, | |
d, | |
duration, | |
start: program.start, | |
end: program.start + duration, | |
group: program.group | |
}; | |
} | |
function go(b) { | |
const { delay = 0, duration = 300, easing = identity, tick: tick$$1 = noop, css } = config; | |
const program = { | |
start: now() + delay, | |
b | |
}; | |
if (!b) { | |
// @ts-ignore todo: improve typings | |
program.group = outros; | |
outros.remaining += 1; | |
} | |
if (running_program) { | |
pending_program = program; | |
} | |
else { | |
// if this is an intro, and there's a delay, we need to do | |
// an initial tick and/or apply CSS animation immediately | |
if (css) { | |
clear_animation(); | |
animation_name = create_rule(node, t, b, duration, delay, easing, css); | |
} | |
if (b) | |
tick$$1(0, 1); | |
running_program = init(program, duration); | |
add_render_callback(() => dispatch(node, b, 'start')); | |
loop(now$$1 => { | |
if (pending_program && now$$1 > pending_program.start) { | |
running_program = init(pending_program, duration); | |
pending_program = null; | |
dispatch(node, running_program.b, 'start'); | |
if (css) { | |
clear_animation(); | |
animation_name = create_rule(node, t, running_program.b, running_program.duration, 0, easing, config.css); | |
} | |
} | |
if (running_program) { | |
if (now$$1 >= running_program.end) { | |
tick$$1(t = running_program.b, 1 - t); | |
dispatch(node, running_program.b, 'end'); | |
if (!pending_program) { | |
// we're done | |
if (running_program.b) { | |
// intro — we can tidy up immediately | |
clear_animation(); | |
} | |
else { | |
// outro — needs to be coordinated | |
if (!--running_program.group.remaining) | |
run_all(running_program.group.callbacks); | |
} | |
} | |
running_program = null; | |
} | |
else if (now$$1 >= running_program.start) { | |
const p = now$$1 - running_program.start; | |
t = running_program.a + running_program.d * easing(p / running_program.duration); | |
tick$$1(t, 1 - t); | |
} | |
} | |
return !!(running_program || pending_program); | |
}); | |
} | |
} | |
return { | |
run(b) { | |
if (is_function(config)) { | |
wait().then(() => { | |
// @ts-ignore | |
config = config(); | |
go(b); | |
}); | |
} | |
else { | |
go(b); | |
} | |
}, | |
end() { | |
clear_animation(); | |
running_program = pending_program = null; | |
} | |
}; | |
} | |
function handle_promise(promise, info) { | |
const token = info.token = {}; | |
function update(type, index, key, value) { | |
if (info.token !== token) | |
return; | |
info.resolved = key && { [key]: value }; | |
const child_ctx = assign(assign({}, info.ctx), info.resolved); | |
const block = type && (info.current = type)(child_ctx); | |
if (info.block) { | |
if (info.blocks) { | |
info.blocks.forEach((block, i) => { | |
if (i !== index && block) { | |
group_outros(); | |
transition_out(block, 1, () => { | |
info.blocks[i] = null; | |
}); | |
check_outros(); | |
} | |
}); | |
} | |
else { | |
info.block.d(1); | |
} | |
block.c(); | |
transition_in(block, 1); | |
block.m(info.mount(), info.anchor); | |
flush(); | |
} | |
info.block = block; | |
if (info.blocks) | |
info.blocks[index] = block; | |
} | |
if (is_promise(promise)) { | |
promise.then(value => { | |
update(info.then, 1, info.value, value); | |
}, error => { | |
update(info.catch, 2, info.error, error); | |
}); | |
// if we previously had a then/catch block, destroy it | |
if (info.current !== info.pending) { | |
update(info.pending, 0); | |
return true; | |
} | |
} | |
else { | |
if (info.current !== info.then) { | |
update(info.then, 1, info.value, promise); | |
return true; | |
} | |
info.resolved = { [info.value]: promise }; | |
} | |
} | |
const globals = (typeof window !== 'undefined' ? window : global); | |
function destroy_block(block, lookup) { | |
block.d(1); | |
lookup.delete(block.key); | |
} | |
function outro_and_destroy_block(block, lookup) { | |
transition_out(block, 1, () => { | |
lookup.delete(block.key); | |
}); | |
} | |
function fix_and_destroy_block(block, lookup) { | |
block.f(); | |
destroy_block(block, lookup); | |
} | |
function fix_and_outro_and_destroy_block(block, lookup) { | |
block.f(); | |
outro_and_destroy_block(block, lookup); | |
} | |
function update_keyed_each(old_blocks, changed, get_key, dynamic, ctx, list, lookup, node, destroy, create_each_block, next, get_context) { | |
let o = old_blocks.length; | |
let n = list.length; | |
let i = o; | |
const old_indexes = {}; | |
while (i--) | |
old_indexes[old_blocks[i].key] = i; | |
const new_blocks = []; | |
const new_lookup = new Map(); | |
const deltas = new Map(); | |
i = n; | |
while (i--) { | |
const child_ctx = get_context(ctx, list, i); | |
const key = get_key(child_ctx); | |
let block = lookup.get(key); | |
if (!block) { | |
block = create_each_block(key, child_ctx); | |
block.c(); | |
} | |
else if (dynamic) { | |
block.p(changed, child_ctx); | |
} | |
new_lookup.set(key, new_blocks[i] = block); | |
if (key in old_indexes) | |
deltas.set(key, Math.abs(i - old_indexes[key])); | |
} | |
const will_move = new Set(); | |
const did_move = new Set(); | |
function insert(block) { | |
transition_in(block, 1); | |
block.m(node, next); | |
lookup.set(block.key, block); | |
next = block.first; | |
n--; | |
} | |
while (o && n) { | |
const new_block = new_blocks[n - 1]; | |
const old_block = old_blocks[o - 1]; | |
const new_key = new_block.key; | |
const old_key = old_block.key; | |
if (new_block === old_block) { | |
// do nothing | |
next = new_block.first; | |
o--; | |
n--; | |
} | |
else if (!new_lookup.has(old_key)) { | |
// remove old block | |
destroy(old_block, lookup); | |
o--; | |
} | |
else if (!lookup.has(new_key) || will_move.has(new_key)) { | |
insert(new_block); | |
} | |
else if (did_move.has(old_key)) { | |
o--; | |
} | |
else if (deltas.get(new_key) > deltas.get(old_key)) { | |
did_move.add(new_key); | |
insert(new_block); | |
} | |
else { | |
will_move.add(old_key); | |
o--; | |
} | |
} | |
while (o--) { | |
const old_block = old_blocks[o]; | |
if (!new_lookup.has(old_block.key)) | |
destroy(old_block, lookup); | |
} | |
while (n) | |
insert(new_blocks[n - 1]); | |
return new_blocks; | |
} | |
function measure(blocks) { | |
const rects = {}; | |
let i = blocks.length; | |
while (i--) | |
rects[blocks[i].key] = blocks[i].node.getBoundingClientRect(); | |
return rects; | |
} | |
function get_spread_update(levels, updates) { | |
const update = {}; | |
const to_null_out = {}; | |
const accounted_for = { $$scope: 1 }; | |
let i = levels.length; | |
while (i--) { | |
const o = levels[i]; | |
const n = updates[i]; | |
if (n) { | |
for (const key in o) { | |
if (!(key in n)) | |
to_null_out[key] = 1; | |
} | |
for (const key in n) { | |
if (!accounted_for[key]) { | |
update[key] = n[key]; | |
accounted_for[key] = 1; | |
} | |
} | |
levels[i] = n; | |
} | |
else { | |
for (const key in o) { | |
accounted_for[key] = 1; | |
} | |
} | |
} | |
for (const key in to_null_out) { | |
if (!(key in update)) | |
update[key] = undefined; | |
} | |
return update; | |
} | |
const invalid_attribute_name_character = /[\s'">/=\u{FDD0}-\u{FDEF}\u{FFFE}\u{FFFF}\u{1FFFE}\u{1FFFF}\u{2FFFE}\u{2FFFF}\u{3FFFE}\u{3FFFF}\u{4FFFE}\u{4FFFF}\u{5FFFE}\u{5FFFF}\u{6FFFE}\u{6FFFF}\u{7FFFE}\u{7FFFF}\u{8FFFE}\u{8FFFF}\u{9FFFE}\u{9FFFF}\u{AFFFE}\u{AFFFF}\u{BFFFE}\u{BFFFF}\u{CFFFE}\u{CFFFF}\u{DFFFE}\u{DFFFF}\u{EFFFE}\u{EFFFF}\u{FFFFE}\u{FFFFF}\u{10FFFE}\u{10FFFF}]/u; | |
// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 | |
// https://infra.spec.whatwg.org/#noncharacter | |
function spread(args) { | |
const attributes = Object.assign({}, ...args); | |
let str = ''; | |
Object.keys(attributes).forEach(name => { | |
if (invalid_attribute_name_character.test(name)) | |
return; | |
const value = attributes[name]; | |
if (value === undefined) | |
return; | |
if (value === true) | |
str += " " + name; | |
const escaped = String(value) | |
.replace(/"/g, '"') | |
.replace(/'/g, '''); | |
str += " " + name + "=" + JSON.stringify(escaped); | |
}); | |
return str; | |
} | |
const escaped = { | |
'"': '"', | |
"'": ''', | |
'&': '&', | |
'<': '<', | |
'>': '>' | |
}; | |
function escape(html) { | |
return String(html).replace(/["'&<>]/g, match => escaped[match]); | |
} | |
function each(items, fn) { | |
let str = ''; | |
for (let i = 0; i < items.length; i += 1) { | |
str += fn(items[i], i); | |
} | |
return str; | |
} | |
const missing_component = { | |
$$render: () => '' | |
}; | |
function validate_component(component, name) { | |
if (!component || !component.$$render) { | |
if (name === 'svelte:component') | |
name += ' this={...}'; | |
throw new Error(`<${name}> is not a valid SSR component. You may need to review your build config to ensure that dependencies are compiled, rather than imported as pre-compiled modules`); | |
} | |
return component; | |
} | |
function debug(file, line, column, values) { | |
console.log(`{@debug} ${file ? file + ' ' : ''}(${line}:${column})`); // eslint-disable-line no-console | |
console.log(values); // eslint-disable-line no-console | |
return ''; | |
} | |
let on_destroy; | |
function create_ssr_component(fn) { | |
function $$render(result, props, bindings, slots) { | |
const parent_component = current_component; | |
const $$ = { | |
on_destroy, | |
context: new Map(parent_component ? parent_component.$$.context : []), | |
// these will be immediately discarded | |
on_mount: [], | |
before_update: [], | |
after_update: [], | |
callbacks: blank_object() | |
}; | |
set_current_component({ $$ }); | |
const html = fn(result, props, bindings, slots); | |
set_current_component(parent_component); | |
return html; | |
} | |
return { | |
render: (props = {}, options = {}) => { | |
on_destroy = []; | |
const result = { head: '', css: new Set() }; | |
const html = $$render(result, props, {}, options); | |
run_all(on_destroy); | |
return { | |
html, | |
css: { | |
code: Array.from(result.css).map(css => css.code).join('\n'), | |
map: null // TODO | |
}, | |
head: result.head | |
}; | |
}, | |
$$render | |
}; | |
} | |
function get_store_value(store) { | |
let value; | |
store.subscribe(_ => value = _)(); | |
return value; | |
} | |
function add_attribute(name, value) { | |
if (!value) | |
return ''; | |
return ` ${name}${value === true ? '' : `=${typeof value === 'string' ? JSON.stringify(value) : `"${value}"`}`}`; | |
} | |
function add_classes(classes) { | |
return classes ? ` class="${classes}"` : ``; | |
} | |
function bind(component, name, callback) { | |
if (component.$$.props.indexOf(name) === -1) | |
return; | |
component.$$.bound[name] = callback; | |
callback(component.$$.ctx[name]); | |
} | |
function mount_component(component, target, anchor) { | |
const { fragment, on_mount, on_destroy, after_update } = component.$$; | |
fragment.m(target, anchor); | |
// onMount happens before the initial afterUpdate | |
add_render_callback(() => { | |
const new_on_destroy = on_mount.map(run).filter(is_function); | |
if (on_destroy) { | |
on_destroy.push(...new_on_destroy); | |
} | |
else { | |
// Edge case - component was destroyed immediately, | |
// most likely as a result of a binding initialising | |
run_all(new_on_destroy); | |
} | |
component.$$.on_mount = []; | |
}); | |
after_update.forEach(add_render_callback); | |
} | |
function destroy_component(component, detaching) { | |
if (component.$$.fragment) { | |
run_all(component.$$.on_destroy); | |
component.$$.fragment.d(detaching); | |
// TODO null out other refs, including component.$$ (but need to | |
// preserve final state?) | |
component.$$.on_destroy = component.$$.fragment = null; | |
component.$$.ctx = {}; | |
} | |
} | |
function make_dirty(component, key) { | |
if (!component.$$.dirty) { | |
dirty_components.push(component); | |
schedule_update(); | |
component.$$.dirty = blank_object(); | |
} | |
component.$$.dirty[key] = true; | |
} | |
function init(component, options, instance, create_fragment, not_equal$$1, prop_names) { | |
const parent_component = current_component; | |
set_current_component(component); | |
const props = options.props || {}; | |
const $$ = component.$$ = { | |
fragment: null, | |
ctx: null, | |
// state | |
props: prop_names, | |
update: noop, | |
not_equal: not_equal$$1, | |
bound: blank_object(), | |
// lifecycle | |
on_mount: [], | |
on_destroy: [], | |
before_update: [], | |
after_update: [], | |
context: new Map(parent_component ? parent_component.$$.context : []), | |
// everything else | |
callbacks: blank_object(), | |
dirty: null | |
}; | |
let ready = false; | |
$$.ctx = instance | |
? instance(component, props, (key, value) => { | |
if ($$.ctx && not_equal$$1($$.ctx[key], $$.ctx[key] = value)) { | |
if ($$.bound[key]) | |
$$.bound[key](value); | |
if (ready) | |
make_dirty(component, key); | |
} | |
}) | |
: props; | |
$$.update(); | |
ready = true; | |
run_all($$.before_update); | |
$$.fragment = create_fragment($$.ctx); | |
if (options.target) { | |
if (options.hydrate) { | |
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion | |
$$.fragment.l(children(options.target)); | |
} | |
else { | |
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion | |
$$.fragment.c(); | |
} | |
if (options.intro) | |
transition_in(component.$$.fragment); | |
mount_component(component, options.target, options.anchor); | |
flush(); | |
} | |
set_current_component(parent_component); | |
} | |
let SvelteElement; | |
if (typeof HTMLElement !== 'undefined') { | |
SvelteElement = class extends HTMLElement { | |
constructor() { | |
super(); | |
this.attachShadow({ mode: 'open' }); | |
} | |
connectedCallback() { | |
// @ts-ignore todo: improve typings | |
for (const key in this.$$.slotted) { | |
// @ts-ignore todo: improve typings | |
this.appendChild(this.$$.slotted[key]); | |
} | |
} | |
attributeChangedCallback(attr$$1, _oldValue, newValue) { | |
this[attr$$1] = newValue; | |
} | |
$destroy() { | |
destroy_component(this, 1); | |
this.$destroy = noop; | |
} | |
$on(type, callback) { | |
// TODO should this delegate to addEventListener? | |
const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = [])); | |
callbacks.push(callback); | |
return () => { | |
const index = callbacks.indexOf(callback); | |
if (index !== -1) | |
callbacks.splice(index, 1); | |
}; | |
} | |
$set() { | |
// overridden by instance, if it has props | |
} | |
}; | |
} | |
class SvelteComponent { | |
$destroy() { | |
destroy_component(this, 1); | |
this.$destroy = noop; | |
} | |
$on(type, callback) { | |
const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = [])); | |
callbacks.push(callback); | |
return () => { | |
const index = callbacks.indexOf(callback); | |
if (index !== -1) | |
callbacks.splice(index, 1); | |
}; | |
} | |
$set() { | |
// overridden by instance, if it has props | |
} | |
} | |
class SvelteComponentDev extends SvelteComponent { | |
constructor(options) { | |
if (!options || (!options.target && !options.$$inline)) { | |
throw new Error(`'target' is a required option`); | |
} | |
super(); | |
} | |
$destroy() { | |
super.$destroy(); | |
this.$destroy = () => { | |
console.warn(`Component was already destroyed`); // eslint-disable-line no-console | |
}; | |
} | |
} | |
const fkl = { | |
default: { | |
Schulform: 'Schulform fehlt', | |
Bereich: 'Bereich fehlt', | |
Zeugniskopf: 'ohne Angabe', | |
Berufsbezeichnung_m: 'männliche Berufsbezeichnung', | |
Berufsbezeichnung_w: 'weibliche Berufsbezeichnung' | |
}, | |
'10-106-00': { | |
Schulform: 'Berufliches Gymnasium, Bereich Gesundheit und Soziales', | |
Bereich: 'Erzieherin/AHR, Erzieher/AHR', | |
Zeugniskopf: 'Erzieherin/AHR, Erzieher/AHR', | |
Examen: 'Berufsabschlussprüfung', | |
Berufsbezeichnung_m: 'Staatlich anerkannter Erzieher', | |
Berufsbezeichnung_w: 'Staatlich anerkannte Erzieherin', | |
Fremdsprache: { | |
'114': '(B2/C1)' | |
} | |
}, | |
'170-120-00': { | |
Schulform: 'Berufliches Gymnasium, Bereich Gesundheit und Soziales', | |
Bereich: 'Allgemeine Hochschulreife (Gesundheit)', | |
Zeugniskopf: 'Allgemeine Hochschulreife (Gesundheit)', | |
Fremdsprache: { | |
'114': '(B2/C1)' | |
} | |
}, | |
'93-103-01': { | |
Schulform: 'Berufsfachschule', | |
Bereich: 'Fachbereich Gesundheit/Erziehung und Soziales', | |
Abschluss: true, | |
Examen: 'Berufsabschlussprüfung', | |
Zeugniskopf: 'Berufsfachschule für Gesundheit/Erziehung und Soziales', | |
Berufsbezeichnung_m: 'Staatlich geprüfter Sozialassistent, <br>Schwerpunkt Heilerziehung', | |
Berufsbezeichnung_w: 'Staatlich geprüfte Sozialassistentin, <br>Schwerpunkt Heilerziehung', | |
Fremdsprache: { | |
'114': '(B1)' | |
} | |
}, | |
'93-103-00': { | |
Schulform: 'Berufsfachschule', | |
Bereich: 'Fachbereich Gesundheit/Erziehung und Soziales', | |
Berufsbezeichnung_m: 'Staatlich geprüfter Sozialassistent', | |
Berufsbezeichnung_w: 'Staatlich geprüfte Sozialassistentin', | |
Abschluss: true, | |
Examen: 'Berufsabschlussprüfung', | |
Zeugniskopf: 'Berufsfachschule für Sozial- und Gesundheitswesen', | |
Fremdsprache: { | |
'114': '(B1)' | |
} | |
}, | |
'10-109-00': { | |
Schulform: 'Fachoberschule', | |
Bereich: 'Fachrichtung Gesundheit und Soziales', | |
Zeugniskopf: 'Fachoberschule mit dem fachlichen Schwerpunkt Gesundheit und Soziales', | |
Fremdsprache: { | |
'114': '(B2)' | |
} | |
}, | |
'100-102-01': { | |
Schulform: 'Fachschule des Sozialwesens', | |
Bereich: 'Fachrichtung Sozialpädagogik', | |
Lernbereich: 'Bildungsbereiche in der Kinder- und Jugendarbeit', | |
Lernfeld_Lernbereich: 'Vertiefung in den Bildungsbereichen', | |
Lernfeld_Lernbereich_LF: 'Lernfelder', | |
Zeugniskopf: 'Fachschule des Sozialwesens in der Fachrichtung Sozialpädagogik', | |
Fehlstunden: false, | |
Examen: 'Fachschulexamen', | |
Berufsbezeichnung_m: 'Staatlich anerkannter Erzieher', | |
Berufsbezeichnung_w: 'Staatlich anerkannte Erzieherin', | |
Fremdsprache: { | |
'19': '(B2)' | |
} | |
}, | |
'100-102-02': { | |
Schulform: 'Fachschule des Sozialwesens', | |
Bereich: 'Fachrichtung Sozialpädagogik', | |
Lernbereich: 'Bildungsbereiche in der Kinder- und Jugendarbeit', | |
Lernfeld_Lernbereich: 'Vertiefung in den Bildungsbereichen', | |
Lernfeld_Lernbereich_LF: 'Lernfelder', | |
Zeugniskopf: 'Fachschule des Sozialwesens in der Fachrichtung Sozialpädagogik', | |
Fehlstunden: false, | |
Examen: 'Fachschulexamen', | |
Berufsbezeichnung_m: 'Staatlich anerkannter Erzieher', | |
Berufsbezeichnung_w: 'Staatlich anerkannte Erzieherin', | |
Fremdsprache: { | |
'19': '(B2)' | |
} | |
}, | |
'40-102-05': { | |
Schulform: 'Fachschule des Sozialwesens', | |
Bereich: 'Fachrichtung Sozialpädagogik – praxisintegrierte Form', | |
Zeugniskopf: 'der Fachschule für Sozialwesen in der Fachrichtung Sozialpädagogik – praxisintegrierte Form', | |
Lernbereich: 'Bildungsbereiche in der Kinder- und Jugendarbeit', | |
Lernfeld_Lernbereich: 'Vertiefung in den Bildungsbereichen', | |
Lernfeld_Lernbereich_LF: 'Lernfelder', | |
Fehlstunden: false, | |
Examen: 'Fachschulexamen', | |
Berufsbezeichnung_m: 'Staatlich anerkannter Erzieher', | |
Berufsbezeichnung_w: 'Staatlich anerkannte Erzieherin', | |
Fremdsprache: { | |
'19': '(B2)' | |
} | |
}, | |
'10-101-01': { | |
Schulform: 'Fachschule des Sozialwesens', | |
Bereich: 'Fachrichtung Heilerziehungspflege', | |
Lernbereich: 'Heilerziehungspflegerische Schwerpunkte', | |
Zeugniskopf: 'Fachschule des Sozialwesens in der Fachrichtung Heilerziehungspflege', | |
Berufsbezeichnung_m: 'Staatlich anerkannter Heilerziehungspfleger', | |
Berufsbezeichnung_w: 'Staatlich anerkannte Heilerziehungspflegerin', | |
Fehlstunden: false, | |
Examen: 'Fachschulexamen', | |
Fremdsprache: { | |
'19': '(B2)' | |
} | |
}, | |
'10-101-02': { | |
Schulform: 'Fachschule des Sozialwesens', | |
Bereich: 'Fachrichtung Heilerziehungspflege', | |
Lernbereich: 'Heilerziehungspflegerische Schwerpunkte', | |
Zeugniskopf: 'Fachschule des Sozialwesens in der Fachrichtung Heilerziehungspflege', | |
Fehlstunden: false, | |
Examen: 'Fachschulexamen', | |
Berufsbezeichnung_m: 'Staatlich anerkannter Heilerziehungspfleger', | |
Berufsbezeichnung_w: 'Staatlich anerkannte Heilerziehungspflegerin', | |
Fremdsprache: { | |
'19': '(B2)' | |
} | |
}, | |
'40-101-05': { | |
Schulform: 'Fachschule des Sozialwesens', | |
Bereich: 'Fachrichtung Heilerziehungspflege – praxisintegrierte Form', | |
Lernbereich: 'Heilerziehungspflegerische Schwerpunkte', | |
Zeugniskopf: 'Fachschule des Sozialwesens in der Fachrichtung Heilerziehungspflege', | |
Fehlstunden: false, | |
Examen: 'Fachschulexamen', | |
Berufsbezeichnung_m: 'Staatlich anerkannter Heilerziehungspfleger', | |
Berufsbezeichnung_w: 'Staatlich anerkannte Heilerziehungspflegerin', | |
Fremdsprache: { | |
'19': '(B2)' | |
} | |
}, | |
'210-111-02': { | |
Schulform: 'Fachschule des Sozialwesens', | |
Bereich: 'Fachrichtung Heilpädagogik', | |
Lernbereich: 'Methoden in der Heilpädagogik und den Bereichen', | |
Lernfeld_Lernbereich: 'Vertiefung in den Bildungsbereichen', | |
Lernfeld_Lernbereich_LF: 'Lernfelder', | |
Zeugniskopf: 'Fachschule des Sozialwesens in der Fachrichtung Heilpädagogik', | |
Fehlstunden: false, | |
Examen: 'Fachschulexamen', | |
Berufsbezeichnung_w: 'Staatlich anerkannte Heilpädagogin', | |
Berufsbezeichnung_m: 'Staatlich anerkannter Heilpädagoge', | |
Fremdsprache: { | |
'252': '(B2)' | |
} | |
}, | |
'10-140-00': { | |
Schulform: 'Fachschule des Sozialwesens', | |
Bereich: 'Fachrichtung Heilpädagogik', | |
Lernbereich: 'Methoden in der Heilpädagogik und den Bereichen', | |
Lernfeld_Lernbereich: 'Vertiefung in den Bildungsbereichen', | |
Lernfeld_Lernbereich_LF: 'Lernfelder', | |
Zeugniskopf: 'Fachschule des Sozialwesens, Aufbaubildungsgang<br />heilpädagogische Förderung mit dem Pferd', | |
Fehlstunden: false, | |
Examen: 'Fachschulexamen', | |
Berufsbezeichnung_m: 'Fachkraft für die heilpädagogische Förderung mit dem Pferd', | |
Berufsbezeichnung_w: 'Fachkraft für die heilpädagogische Förderung mit dem Pferd', | |
Fremdsprache: { | |
'252': '(B2)' | |
} | |
} | |
}; | |
const noten = [null, 'sehr gut', 'gut', 'befriedigend', 'ausreichend', 'mangelhaft', 'ungenügend']; | |
const enoten = { 'E1': 'mit besonderem Erfolg teilgenommen', 'E2': 'mit Erfolg teilgenommen', 'E3': 'teilgenommen' }; | |
const punkte = { | |
15: '1+', 14: '1', 13: '1-', | |
12: '2+', 11: '2', 10: '2-', | |
9: '3+', 8: '3', 7: '3-', | |
6: '4+', 5: '4', 4: '4-', | |
3: '5+', 2: '5', 1: '5-', | |
0: '6' }; | |
const zahlwort = { 1: "eins",2: "zwei",3: "drei",4: "vier",5: "fünf",6: "sechs",7: "sieben",8: "acht",9: "neun",0: "n​ull" }; | |
// Verzichten wir auf teure lodash-Funktionen: | |
const groupBy = (arr, id) => arr.reduce( | |
(entryMap, f) => { | |
const fx = id.split('.').reduce((p,c)=>p&&p[c]||null, f); | |
return entryMap.set(fx, [...entryMap.get(fx)||[], f]) | |
}, | |
new Map() | |
); | |
const chunk = (arr, size) => arr.reduce((chunks, el, i) => (i % size | |
? chunks[chunks.length - 1].push(el) | |
: chunks.push([el])) && chunks, []); | |
const datum = (t) => { | |
// gibt ein Datum im deutschen Format zurück | |
try { | |
return new Date(t).toLocaleDateString('de', {day: '2-digit', month: '2-digit', year: 'numeric', timeZone: 'Europe/Berlin'}) | |
} catch (e) {console.log(e); return} | |
}; | |
const versetzungsvermerk = (hj, agz = null) => { | |
// gibt, wenn vorhanden den passenden Vermerk zurück | |
// wenn es ein agz ist und kein Konferenzdatum feststeht | |
if (agz && !hj.Konferenzdatum) return '' | |
if (hj.Abschnitt === 2 || hj.Klasse.startsWith('H')) { | |
switch (hj.VersetzungKrz) { | |
case 'N': return `Nicht versetzt laut Konferenzbeschluss vom ${datum(hj.Konferenzdatum)}` | |
case 'V': return `Versetzt laut Konferenzbeschluss vom ${datum(hj.Konferenzdatum)}` | |
default: return undefined | |
} | |
} | |
return '' | |
}; | |
const bemerkungen = (hj) => hj.ZeugnisBem ? hj.ZeugnisBem.replace('\r\n', '<br/>') : 'keine'; | |
const volljaehrigBei = (s, datum) => { | |
// gibt an, ob der Schüler *s* zu einem Zeitpunkt *datum* volljährig war | |
try { | |
const g = new Date(s.Geburtsdatum); | |
const d = new Date(datum); | |
const volljaehrig = d.getFullYear() - g.getFullYear() - ((d.getMonth() > g.getMonth() || (d.getMonth() == g.getMonth() && d.getDay() >= g.getDay()) ? 0 : 1)) >= 18; | |
return volljaehrig | |
} catch (e) {console.log(e); return} | |
}; | |
const schulform = (s) => { | |
switch (s.ASDSchulform[0]) { | |
case 'B': return 'Berufsfachschule' | |
} | |
}; | |
const bg = (s, k) => s.fachklasse && s.fachklasse.Kennung && fkl[s.fachklasse.Kennung] ? fkl[s.fachklasse.Kennung][k] : ''; | |
const note = (note) => noten[parseInt(note)] || enoten[note]; | |
const punkte2note = (p) => punkte[parseInt(p)]; | |
const noteInWorten = (n) => n.split('').map(n => n === ',' ? '/' : zahlwort[parseInt(n)]).join(' '); | |
const fremdsprache = (fach, fachklasse) => { | |
try { | |
return fach.Lernentw || fkl[fachklasse]['Fremdsprache'][fach.Fach_ID] | |
} catch (e) { return 'undefined - Sprachniveau fehlt'} | |
}; | |
/* home/me/Documents/schild.report/reports/bk2018/partials/Seitenlogo.html generated by Svelte v3.6.4 */ | |
const file = "home/me/Documents/schild.report/reports/bk2018/partials/Seitenlogo.html"; | |
function add_css() { | |
var style = element("style"); | |
style.id = 'svelte-1wwwnxd-style'; | |
style.textContent = ".seitenlogo.svelte-1wwwnxd{position:absolute;bottom:10mm;left:10mm}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VpdGVubG9nby5odG1sIiwic291cmNlcyI6WyJTZWl0ZW5sb2dvLmh0bWwiXSwic291cmNlc0NvbnRlbnQiOlsiPGRpdiBjbGFzcz1cInNlaXRlbmxvZ29cIj5cbiAgeyNpZiBsb2dvfVxuICAgIDxpbWcgc3JjPVwie2xvZ299XCIgaGVpZ2h0PVwiMTYwXCIgYWx0PVwidHJhZWdlcl9sb2dvXCIvPlxuICB7L2lmfVxuPC9kaXY+XG5cbjxzY3JpcHQ+XG4gIGV4cG9ydCBsZXQgbG9nb1xuPC9zY3JpcHQ+XG5cbjxzdHlsZT5cbiAgLnNlaXRlbmxvZ28ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDEwbW07XG4gICAgbGVmdDogMTBtbTtcbiAgfVxuPC9zdHlsZT5cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFXRSxXQUFXLGVBQUMsQ0FBQyxBQUNYLFFBQVEsQ0FBRSxRQUFRLENBQ2xCLE1BQU0sQ0FBRSxJQUFJLENBQ1osSUFBSSxDQUFFLElBQUksQUFDWixDQUFDIn0= */"; | |
append(document.head, style); | |
} | |
// (2:2) {#if logo} | |
function create_if_block(ctx) { | |
var img; | |
return { | |
c: function create() { | |
img = element("img"); | |
attr(img, "src", ctx.logo); | |
attr(img, "height", "160"); | |
attr(img, "alt", "traeger_logo"); | |
add_location(img, file, 2, 4, 42); | |
}, | |
m: function mount(target, anchor) { | |
insert(target, img, anchor); | |
}, | |
p: function update(changed, ctx) { | |
if (changed.logo) { | |
attr(img, "src", ctx.logo); | |
} | |
}, | |
d: function destroy(detaching) { | |
if (detaching) { | |
detach(img); | |
} | |
} | |
}; | |
} | |
function create_fragment(ctx) { | |
var div; | |
var if_block = (ctx.logo) && create_if_block(ctx); | |
return { | |
c: function create() { | |
div = element("div"); | |
if (if_block) if_block.c(); | |
attr(div, "class", "seitenlogo svelte-1wwwnxd"); | |
add_location(div, file, 0, 0, 0); | |
}, | |
l: function claim(nodes) { | |
throw new Error("options.hydrate only works if the component was compiled with the `hydratable: true` option"); | |
}, | |
m: function mount(target, anchor) { | |
insert(target, div, anchor); | |
if (if_block) if_block.m(div, null); | |
}, | |
p: function update(changed, ctx) { | |
if (ctx.logo) { | |
if (if_block) { | |
if_block.p(changed, ctx); | |
} else { | |
if_block = create_if_block(ctx); | |
if_block.c(); | |
if_block.m(div, null); | |
} | |
} else if (if_block) { | |
if_block.d(1); | |
if_block = null; | |
} | |
}, | |
i: noop, | |
o: noop, | |
d: function destroy(detaching) { | |
if (detaching) { | |
detach(div); | |
} | |
if (if_block) if_block.d(); | |
} | |
}; | |
} | |
function instance($$self, $$props, $$invalidate) { | |
let { logo } = $$props; | |
const writable_props = ['logo']; | |
Object.keys($$props).forEach(key => { | |
if (!writable_props.includes(key) && !key.startsWith('$$')) console.warn(`<Seitenlogo> was created with unknown prop '${key}'`); | |
}); | |
$$self.$set = $$props => { | |
if ('logo' in $$props) $$invalidate('logo', logo = $$props.logo); | |
}; | |
return { logo }; | |
} | |
class Seitenlogo extends SvelteComponentDev { | |
constructor(options) { | |
super(options); | |
if (!document.getElementById("svelte-1wwwnxd-style")) add_css(); | |
init(this, options, instance, create_fragment, safe_not_equal, ["logo"]); | |
const { ctx } = this.$$; | |
const props = options.props || {}; | |
if (ctx.logo === undefined && !('logo' in props)) { | |
console.warn("<Seitenlogo> was created without expected prop 'logo'"); | |
} | |
} | |
get logo() { | |
throw new Error("<Seitenlogo>: Props cannot be read directly from the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'"); | |
} | |
set logo(value) { | |
throw new Error("<Seitenlogo>: Props cannot be set directly on the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'"); | |
} | |
} | |
/* home/me/Documents/schild.report/reports/bk2018/partials/Pageheader.html generated by Svelte v3.6.4 */ | |
const file$1 = "home/me/Documents/schild.report/reports/bk2018/partials/Pageheader.html"; | |
function add_css$1() { | |
var style = element("style"); | |
style.id = 'svelte-1k7ti67-style'; | |
style.textContent = ".header.svelte-1k7ti67{position:relative;height:115px}.art.svelte-1k7ti67{position:absolute;bottom:12px}.logo.svelte-1k7ti67{position:absolute;right:0px}.untertitel.svelte-1k7ti67{position:absolute;right:0px;bottom:12px}.hr-rot.svelte-1k7ti67{border-color:#ff2700;margin:8px 0;position:absolute;bottom:0px;width:-webkit-fill-available}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFnZWhlYWRlci5odG1sIiwic291cmNlcyI6WyJQYWdlaGVhZGVyLmh0bWwiXSwic291cmNlc0NvbnRlbnQiOlsiPCEtLSBGb2xnZW5kZSBBdHRyaWJ1dGUgd2VyZGVuIHVudGVyc3TDvHR6dDpcbmFydDogIHouQi4gWmV1Z25pcywgQWJnYW5nc3pldWduaXMgZXRjLiBTb2xsdGUgYXVmIGVpbmUgdm9yaGFuZGVuZSBEYXRlaSB6ZWlnZW5cbiAgICAgIHdpcmQgdW50ZW4gbGlua3MgcGxhdHppZXJ0IGltIEhlYWRlclxubG9nbzogei5CIFNjaHVsbG9nby4gV2lyZCBvYmVuIHJlY2h0IHNwbGF0emllcnRcbnVudGVydGl0ZWw6IFdpcmQgdW50ZXJoYWxiIGRlcyBMb2dvcyBwbGF0emllcnQuXG5ocjogICBXZW5uIGVpbmUgcm90ZSBMaW5pZSB1bnRlciBkYXMgTG9nbyBzb2xsLiBTdGFuZGFyZCBhbiAtLT5cbjxkaXYgY2xhc3M9XCJoZWFkZXJcIj5cbiAgICB7I2lmIGFydH1cbiAgICAgIDxpbWcgY2xhc3M9XCJhcnRcIiBzcmM9XCJ7YXJ0fVwiIGFsdD1cImxvZ29fYXJ0XCIvPlxuICAgIHsvaWZ9XG4gICAgeyNpZiBsb2dvfVxuICAgICAgPGltZyBjbGFzcz1cImxvZ29cIiBzcmM9XCJ7bG9nb31cIiBhbHQ9XCJsb2dvXCIvPlxuICAgIHsvaWZ9XG4gICAgeyNpZiB1bnRlcnRpdGVsfVxuICAgICAgPGltZyBjbGFzcz1cInVudGVydGl0ZWxcIiBzcmM9XCJ7dW50ZXJ0aXRlbH1cIiBhbHQ9XCJsb2dvX3VudGVydGl0ZWxcIi8+XG4gICAgey9pZn1cbiAgICB7I2lmIGhyfVxuICAgICAgPGhyIGNsYXNzPVwiaHItcm90XCIvPlxuICAgIHsvaWZ9XG48L2Rpdj5cbjxzY3JpcHQ+XG4gIGV4cG9ydCBsZXQgYXJ0LCBsb2dvLCB1bnRlcnRpdGVsXG4gIGV4cG9ydCBsZXQgaHIgPSB0cnVlXG48L3NjcmlwdD5cblxuPHN0eWxlPlxuICAuaGVhZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAxMTVweDtcbiAgfVxuICAuYXJ0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAxMnB4O1xuICB9XG4gIC5sb2dvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDBweDtcbiAgfVxuICAudW50ZXJ0aXRlbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwcHg7XG4gICAgYm90dG9tOiAxMnB4O1xuICB9XG4gIC5oci1yb3Qge1xuICAgIGJvcmRlci1jb2xvcjogI2ZmMjcwMDtcbiAgICBtYXJnaW46IDhweCAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDBweDtcbiAgICB3aWR0aDogLXdlYmtpdC1maWxsLWF2YWlsYWJsZTtcbiAgfVxuPC9zdHlsZT5cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEwQkUsT0FBTyxlQUFDLENBQUMsQUFDUCxRQUFRLENBQUUsUUFBUSxDQUNsQixNQUFNLENBQUUsS0FBSyxBQUNmLENBQUMsQUFDRCxJQUFJLGVBQUMsQ0FBQyxBQUNKLFFBQVEsQ0FBRSxRQUFRLENBQ2xCLE1BQU0sQ0FBRSxJQUFJLEFBQ2QsQ0FBQyxBQUNELEtBQUssZUFBQyxDQUFDLEFBQ0wsUUFBUSxDQUFFLFFBQVEsQ0FDbEIsS0FBSyxDQUFFLEdBQUcsQUFDWixDQUFDLEFBQ0QsV0FBVyxlQUFDLENBQUMsQUFDWCxRQUFRLENBQUUsUUFBUSxDQUNsQixLQUFLLENBQUUsR0FBRyxDQUNWLE1BQU0sQ0FBRSxJQUFJLEFBQ2QsQ0FBQyxBQUNELE9BQU8sZUFBQyxDQUFDLEFBQ1AsWUFBWSxDQUFFLE9BQU8sQ0FDckIsTUFBTSxDQUFFLEdBQUcsQ0FBQyxDQUFDLENBQ2IsUUFBUSxDQUFFLFFBQVEsQ0FDbEIsTUFBTSxDQUFFLEdBQUcsQ0FDWCxLQUFLLENBQUUsc0JBQXNCLEFBQy9CLENBQUMifQ== */"; | |
append(document.head, style); | |
} | |
// (8:4) {#if art} | |
function create_if_block_3(ctx) { | |
var img; | |
return { | |
c: function create() { | |
img = element("img"); | |
attr(img, "class", "art svelte-1k7ti67"); | |
attr(img, "src", ctx.art); | |
attr(img, "alt", "logo_art"); | |
add_location(img, file$1, 8, 6, 368); | |
}, | |
m: function mount(target, anchor) { | |
insert(target, img, anchor); | |
}, | |
p: function update(changed, ctx) { | |
if (changed.art) { | |
attr(img, "src", ctx.art); | |
} | |
}, | |
d: function destroy(detaching) { | |
if (detaching) { | |
detach(img); | |
} | |
} | |
}; | |
} | |
// (11:4) {#if logo} | |
function create_if_block_2(ctx) { | |
var img; | |
return { | |
c: function create() { | |
img = element("img"); | |
attr(img, "class", "logo svelte-1k7ti67"); | |
attr(img, "src", ctx.logo); | |
attr(img, "alt", "logo"); | |
add_location(img, file$1, 11, 6, 445); | |
}, | |
m: function mount(target, anchor) { | |
insert(target, img, anchor); | |
}, | |
p: function update(changed, ctx) { | |
if (changed.logo) { | |
attr(img, "src", ctx.logo); | |
} | |
}, | |
d: function destroy(detaching) { | |
if (detaching) { | |
detach(img); | |
} | |
} | |
}; | |
} | |
// (14:4) {#if untertitel} | |
function create_if_block_1(ctx) { | |
var img; | |
return { | |
c: function create() { | |
img = element("img"); | |
attr(img, "class", "untertitel svelte-1k7ti67"); | |
attr(img, "src", ctx.untertitel); | |
attr(img, "alt", "logo_untertitel"); | |
add_location(img, file$1, 14, 6, 526); | |
}, | |
m: function mount(target, anchor) { | |
insert(target, img, anchor); | |
}, | |
p: function update(changed, ctx) { | |
if (changed.untertitel) { | |
attr(img, "src", ctx.untertitel); | |
} | |
}, | |
d: function destroy(detaching) { | |
if (detaching) { | |
detach(img); | |
} | |
} | |
}; | |
} | |
// (17:4) {#if hr} | |
function create_if_block$1(ctx) { | |
var hr_1; | |
return { | |
c: function create() { | |
hr_1 = element("hr"); | |
attr(hr_1, "class", "hr-rot svelte-1k7ti67"); | |
add_location(hr_1, file$1, 17, 6, 622); | |
}, | |
m: function mount(target, anchor) { | |
insert(target, hr_1, anchor); | |
}, | |
d: function destroy(detaching) { | |
if (detaching) { | |
detach(hr_1); | |
} | |
} | |
}; | |
} | |
function create_fragment$1(ctx) { | |
var div, t0, t1, t2; | |
var if_block0 = (ctx.art) && create_if_block_3(ctx); | |
var if_block1 = (ctx.logo) && create_if_block_2(ctx); | |
var if_block2 = (ctx.untertitel) && create_if_block_1(ctx); | |
var if_block3 = (ctx.hr) && create_if_block$1(ctx); | |
return { | |
c: function create() { | |
div = element("div"); | |
if (if_block0) if_block0.c(); | |
t0 = space(); | |
if (if_block1) if_block1.c(); | |
t1 = space(); | |
if (if_block2) if_block2.c(); | |
t2 = space(); | |
if (if_block3) if_block3.c(); | |
attr(div, "class", "header svelte-1k7ti67"); | |
add_location(div, file$1, 6, 0, 327); | |
}, | |
l: function claim(nodes) { | |
throw new Error("options.hydrate only works if the component was compiled with the `hydratable: true` option"); | |
}, | |
m: function mount(target, anchor) { | |
insert(target, div, anchor); | |
if (if_block0) if_block0.m(div, null); | |
append(div, t0); | |
if (if_block1) if_block1.m(div, null); | |
append(div, t1); | |
if (if_block2) if_block2.m(div, null); | |
append(div, t2); | |
if (if_block3) if_block3.m(div, null); | |
}, | |
p: function update(changed, ctx) { | |
if (ctx.art) { | |
if (if_block0) { | |
if_block0.p(changed, ctx); | |
} else { | |
if_block0 = create_if_block_3(ctx); | |
if_block0.c(); | |
if_block0.m(div, t0); | |
} | |
} else if (if_block0) { | |
if_block0.d(1); | |
if_block0 = null; | |
} | |
if (ctx.logo) { | |
if (if_block1) { | |
if_block1.p(changed, ctx); | |
} else { | |
if_block1 = create_if_block_2(ctx); | |
if_block1.c(); | |
if_block1.m(div, t1); | |
} | |
} else if (if_block1) { | |
if_block1.d(1); | |
if_block1 = null; | |
} | |
if (ctx.untertitel) { | |
if (if_block2) { | |
if_block2.p(changed, ctx); | |
} else { | |
if_block2 = create_if_block_1(ctx); | |
if_block2.c(); | |
if_block2.m(div, t2); | |
} | |
} else if (if_block2) { | |
if_block2.d(1); | |
if_block2 = null; | |
} | |
if (ctx.hr) { | |
if (!if_block3) { | |
if_block3 = create_if_block$1(ctx); | |
if_block3.c(); | |
if_block3.m(div, null); | |
} | |
} else if (if_block3) { | |
if_block3.d(1); | |
if_block3 = null; | |
} | |
}, | |
i: noop, | |
o: noop, | |
d: function destroy(detaching) { | |
if (detaching) { | |
detach(div); | |
} | |
if (if_block0) if_block0.d(); | |
if (if_block1) if_block1.d(); | |
if (if_block2) if_block2.d(); | |
if (if_block3) if_block3.d(); | |
} | |
}; | |
} | |
function instance$1($$self, $$props, $$invalidate) { | |
let { art, logo, untertitel, hr = true } = $$props; | |
const writable_props = ['art', 'logo', 'untertitel', 'hr']; | |
Object.keys($$props).forEach(key => { | |
if (!writable_props.includes(key) && !key.startsWith('$$')) console.warn(`<Pageheader> was created with unknown prop '${key}'`); | |
}); | |
$$self.$set = $$props => { | |
if ('art' in $$props) $$invalidate('art', art = $$props.art); | |
if ('logo' in $$props) $$invalidate('logo', logo = $$props.logo); | |
if ('untertitel' in $$props) $$invalidate('untertitel', untertitel = $$props.untertitel); | |
if ('hr' in $$props) $$invalidate('hr', hr = $$props.hr); | |
}; | |
return { art, logo, untertitel, hr }; | |
} | |
class Pageheader extends SvelteComponentDev { | |
constructor(options) { | |
super(options); | |
if (!document.getElementById("svelte-1k7ti67-style")) add_css$1(); | |
init(this, options, instance$1, create_fragment$1, safe_not_equal, ["art", "logo", "untertitel", "hr"]); | |
const { ctx } = this.$$; | |
const props = options.props || {}; | |
if (ctx.art === undefined && !('art' in props)) { | |
console.warn("<Pageheader> was created without expected prop 'art'"); | |
} | |
if (ctx.logo === undefined && !('logo' in props)) { | |
console.warn("<Pageheader> was created without expected prop 'logo'"); | |
} | |
if (ctx.untertitel === undefined && !('untertitel' in props)) { | |
console.warn("<Pageheader> was created without expected prop 'untertitel'"); | |
} | |
} | |
get art() { | |
throw new Error("<Pageheader>: Props cannot be read directly from the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'"); | |
} | |
set art(value) { | |
throw new Error("<Pageheader>: Props cannot be set directly on the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'"); | |
} | |
get logo() { | |
throw new Error("<Pageheader>: Props cannot be read directly from the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'"); | |
} | |
set logo(value) { | |
throw new Error("<Pageheader>: Props cannot be set directly on the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'"); | |
} | |
get untertitel() { | |
throw new Error("<Pageheader>: Props cannot be read directly from the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'"); | |
} | |
set untertitel(value) { | |
throw new Error("<Pageheader>: Props cannot be set directly on the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'"); | |
} | |
get hr() { | |
throw new Error("<Pageheader>: Props cannot be read directly from the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'"); | |
} | |
set hr(value) { | |
throw new Error("<Pageheader>: Props cannot be set directly on the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'"); | |
} | |
} | |
/* home/me/Documents/schild.report/reports/bk2018/partials/Voffset.html generated by Svelte v3.6.4 */ | |
const file$2 = "home/me/Documents/schild.report/reports/bk2018/partials/Voffset.html"; | |
function create_fragment$2(ctx) { | |
var div; | |
return { | |
c: function create() { | |
div = element("div"); | |
set_style(div, "margin-top", "" + ctx.v + "em"); | |
add_location(div, file$2, 0, 0, 0); | |
}, | |
l: function claim(nodes) { | |
throw new Error("options.hydrate only works if the component was compiled with the `hydratable: true` option"); | |
}, | |
m: function mount(target, anchor) { | |
insert(target, div, anchor); | |
}, | |
p: function update(changed, ctx) { | |
if (changed.v) { | |
set_style(div, "margin-top", "" + ctx.v + "em"); | |
} | |
}, | |
i: noop, | |
o: noop, | |
d: function destroy(detaching) { | |
if (detaching) { | |
detach(div); | |
} | |
} | |
}; | |
} | |
function instance$2($$self, $$props, $$invalidate) { | |
let { v } = $$props; | |
const writable_props = ['v']; | |
Object.keys($$props).forEach(key => { | |
if (!writable_props.includes(key) && !key.startsWith('$$')) console.warn(`<Voffset> was created with unknown prop '${key}'`); | |
}); | |
$$self.$set = $$props => { | |
if ('v' in $$props) $$invalidate('v', v = $$props.v); | |
}; | |
return { v }; | |
} | |
class Voffset extends SvelteComponentDev { | |
constructor(options) { | |
super(options); | |
init(this, options, instance$2, create_fragment$2, safe_not_equal, ["v"]); | |
const { ctx } = this.$$; | |
const props = options.props || {}; | |
if (ctx.v === undefined && !('v' in props)) { | |
console.warn("<Voffset> was created without expected prop 'v'"); | |
} | |
} | |
get v() { | |
throw new Error("<Voffset>: Props cannot be read directly from the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'"); | |
} | |
set v(value) { | |
throw new Error("<Voffset>: Props cannot be set directly on the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'"); | |
} | |
} | |
/* home/me/Documents/schild.report/reports/bk2018/AHR AGZ zweiseitig.html generated by Svelte v3.6.4 */ | |
const file$3 = "home/me/Documents/schild.report/reports/bk2018/AHR AGZ zweiseitig.html"; | |
function add_css$2() { | |
var style = element("style"); | |
style.id = 'svelte-1wjoa5z-style'; | |
style.textContent = "@import 'css/main.css';@import 'css/a4-portrait.css';.table-bordered.svelte-1wjoa5z{border-collapse:collapse}.table-bordered.svelte-1wjoa5z tr td.svelte-1wjoa5z{border:thin solid #ddd;line-height:1.3rem }.table-eng.svelte-1wjoa5z{margin-bottom:0}.table-noten.svelte-1wjoa5z{width:70%;border:none;border-collapse:collapse;margin-bottom:1rem}.td-fach-note.svelte-1wjoa5z{padding-bottom:.2rem;padding-top:.2rem;width:12rem}.td-fach-note.svelte-1wjoa5z span.svelte-1wjoa5z{background-color:#dcdcdc !important;text-align:center;width:10rem;display:block;margin:0 auto}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQUhSIEFHWiB6d2Vpc2VpdGlnLmh0bWwiLCJzb3VyY2VzIjpbIkFIUiBBR1ogendlaXNlaXRpZy5odG1sIl0sInNvdXJjZXNDb250ZW50IjpbInsjZWFjaCBzY2h1ZWxlciBhcyBzIChzLklEKX1cbiAgeyNlYWNoIGFrdEhhbGJqYWhyRnVlcihzKSBhcyBoaiAoaGouSUQpfVxuICAgIDxkaXYgY2xhc3M9XCJwYWdlIGdyaWRcIiBvcmllbnRhdGlvbj1cInBvcnRyYWl0XCIgc2l6ZT1cIkE0XCIgc3R5bGU9XCJmb250LXNpemU6IDAuOHJlbVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImhlYWRlclwiPlxuICAgICAgICA8U2VpdGVubG9nbyBsb2dvPVwie3ByaXZhdC50cmFlZ2VyTG9nb31cIi8+XG4gICAgICAgIDxQYWdlaGVhZGVyIGFydD1cImRhdGVuL2Fnei5zdmdcIiBsb2dvPVwie3ByaXZhdC5sb2dvfVwiIHVudGVydGl0ZWw9XCJ7cHJpdmF0LnVudGVydGl0ZWx9XCIvPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibWFpblwiPlxuICAgICAgICAgIDxkaXYgc3R5bGU9XCJmb250LXNpemU6IDEycHQ7IGxpbmUtaGVpZ2h0OiAxLjVlbVwiPkFiZ2FuZ3N6ZXVnbmlzIGdlbcOkw58gwqcxMyBBUE8tQkssIEFubGFnZSBEPC9kaXY+XG4gICAgICAgICAgPGRpdiBzdHlsZT1cImZvbnQtc2l6ZTogMTFwdDsgbGluZS1oZWlnaHQ6IDEuMmVtXCI+QmVydWZsaWNoZXMgR3ltbmFzaXVtLCB7YmcocywgJ0JlcmVpY2gnKX08L2Rpdj5cbiAgICAgICAgICA8Vm9mZnNldCB2PVwiMC41XCIvPlxuICAgICAgICAgIHtzLmFucmVkZX0gPGI+e3MuVm9ybmFtZX0ge3MuWnVzYXR6IHx8ICcnfSB7cy5OYW1lfTwvYj4sIGdlYm9yZW4gYW0ge2RhdHVtKHMuR2VidXJ0c2RhdHVtKX0gaW4ge3MuR2VidXJ0c29ydH0sXG4gICAgICAgICAgPGJyIC8+aGF0IHZvbSB7ZGF0dW0ocy5BdWZuYWhtZWRhdHVtKX0gYmlzIHp1bSB7ZGF0dW0ocy5FbnRsYXNzZGF0dW0pfSBkZW4gPGI+QmlsZHVuZ3NnYW5nIHtiZyhzLCAnWmV1Z25pc2tvcGYnKX08L2I+IGJlc3VjaHQuXG4gICAgICAgICAgPGJyPntzLkdlc2NobGVjaHQgPT09IDMgPyAnRXInOidTaWUnfSB3YXIgenVsZXR6dCB7cy5zY2h1ZWxlcl9pbn0gaW0ge2hqLkFic2Nobml0dH0uIEhhbGJqYWhyIGRlciBKYWhyZ2FuZ3N0dWZlIHtoai5KYWhyZ2FuZysxMH0uXG4gICAgICAgICAgPFZvZmZzZXQgdj1cIjAuNVwiLz5cbiAgICAgICAgICBJbiBkZXIgS29uZmVyZW56IGFtIHtkYXR1bShoai5Lb25mZXJlbnpkYXR1bSl9IHNpbmQgZm9sZ2VuZGUgTGVpc3R1bmdlbiBmZXN0Z2VzdGVsbHQgd29yZGVuOlxuICAgICAgICAgIDx0YWJsZSBjbGFzcz1cInRhYmxlIHRhYmxlLWJvcmRlcmVkIHRhYmxlLWVuZ1wiPlxuICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICA8dGQ+RmFjaDwvdGQ+XG4gICAgICAgICAgICAgIDx0ZD5BdWZnLi08YnI+ZmVsZDxzdXA+Mjwvc3VwPjwvdGQ+XG4gICAgICAgICAgICAgIDx0ZD5LdXJzLTxicj5BcnQ8c3VwPjM8L3N1cD48L3RkPlxuICAgICAgICAgICAgICA8dGQgY29sc3Bhbj1cIjJcIiBjbGFzcz1cInRleHQtY2VudGVyXCI+MTIuMTxzdXA+NDwvc3VwPjwvdGQ+XG4gICAgICAgICAgICAgIDx0ZCBjb2xzcGFuPVwiMlwiIGNsYXNzPVwidGV4dC1jZW50ZXJcIj4xMi4yPHN1cD40PC9zdXA+PC90ZD5cbiAgICAgICAgICAgICAgPHRkIGNvbHNwYW49XCIyXCIgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiPjEzLjE8c3VwPjQ8L3N1cD48L3RkPlxuICAgICAgICAgICAgICA8dGQgY29sc3Bhbj1cIjJcIiBjbGFzcz1cInRleHQtY2VudGVyXCI+MTMuMjxzdXA+NDwvc3VwPjwvdGQ+XG4gICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICA8dGQgY29sc3Bhbj1cIjNcIj48L3RkPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiPk5vdGU8L3RkPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiPlB1bmt0ZTwvdGQ+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInRleHQtY2VudGVyXCI+Tm90ZTwvdGQ+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInRleHQtY2VudGVyXCI+UHVua3RlPC90ZD5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidGV4dC1jZW50ZXJcIj5Ob3RlPC90ZD5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidGV4dC1jZW50ZXJcIj5QdW5rdGU8L3RkPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiPk5vdGU8L3RkPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiPlB1bmt0ZTwvdGQ+XG4gICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgeyNlYWNoIHMuYWJpX2Fic2NobHVzc19mYWVjaGVyLnNvcnQoKGEsIGIpID0+IGEuRlNvcnRpZXJ1bmcgPCBiLkZTb3J0aWVydW5nID8gLTEgOiAxKSBhcyBmfVxuICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgPHRkPntmLmZhY2guQmV6ZWljaG51bmd9XG4gICAgICAgICAgICAgICAgICB7I2lmIGYuZmFjaC5Jc3RTcHJhY2hlID09PSAnKyd9e2ZyZW1kc3ByYWNoZShmLCBzLmZhY2hrbGFzc2UuS2VubnVuZyl9PHN1cD4xPC9zdXA+ey9pZn1cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInRleHQtY2VudGVyXCI+eydJJy5yZXBlYXQoZi5mYWNoLkF1ZmdhYmVuZmVsZCl9PC90ZD5cbiAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiPntmLkt1cnNhcnRBbGxnIHx8ICdHSyd9PC90ZD5cbiAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiPntwdW5rdGUybm90ZShmLlAxMl8xKSB8fCAn4oCTJ308L3RkPlxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInRleHQtY2VudGVyXCI+e2ZockZhY2gocywgZiwgJzJfMScpIHx8ICfigJMnfTwvdGQ+XG4gICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidGV4dC1jZW50ZXJcIj57cHVua3RlMm5vdGUoZi5QMTJfMikgfHwgJ+KAkyd9PC90ZD5cbiAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiPntmaHJGYWNoKHMsIGYsICcyXzInKSB8fCAn4oCTJ308L3RkPlxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInRleHQtY2VudGVyXCI+e3B1bmt0ZTJub3RlKGYuUDEzXzEpIHx8ICfigJMnfTwvdGQ+XG4gICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidGV4dC1jZW50ZXJcIj57ZmhyRmFjaChzLCBmLCAnM18xJykgfHwgJ+KAkyd9PC90ZD5cbiAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiPntwdW5rdGUybm90ZShmLlAxM18yKSB8fCAn4oCTJ308L3RkPlxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInRleHQtY2VudGVyXCI+e2ZockZhY2gocywgZiwgJzNfMicpIHx8ICfigJMnfTwvdGQ+XG4gICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICB7L2VhY2h9XG4gICAgICAgICAgPC90YWJsZT5cbiAgICAgICAgICA8Vm9mZnNldCB2PVwiMC41XCIvPlxuICAgICAgICAgIDxiPkJlbWVya3VuZ2VuOlxuICAgICAgICAgIDxicj48L2I+IHtAaHRtbCBiZW1lcmt1bmdlbihoail9XG4gICAgICAgICAgPFZvZmZzZXQgdj1cIjFcIi8+XG4gICAgICAgICAgRGllIEt1cnNlIGRlcyBsZXR6dGVuIEhhbGJqYWhyZXMgZ2VsdGVuIGFscyB7emVpZ2VfS3Vyc2VfYWJnZXNjaGxvc3NlbiA/ICcnOiduaWNodCd9IGFiZ2VzY2hsb3NzZW4uXG4gICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInZidXR0b24gbm8tcHJpbnRcIiBvbjpjbGljaz1cInsoKSA9PiB6ZWlnZV9LdXJzZV9hYmdlc2NobG9zc2VuID0gIXplaWdlX0t1cnNlX2FiZ2VzY2hsb3NzZW59XCI+XG4gICAgICAgICAgICBLdXJzZSBhYmdlc2NobG9zc2VuOiB7emVpZ2VfS3Vyc2VfYWJnZXNjaGxvc3NlbiA/ICdKYScgOiAnTmVpbid9XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgeyNpZiB6ZWlnZV9GSFJ9XG4gICAgICAgICAgICA8Vm9mZnNldCB2PVwiMlwiLz5cbiAgICAgICAgICAgIERpZXNlcyBaZXVnbmlzIGdpbHQgaW4gVmVyYmluZHVuZyBtaXQgZGVtIE5hY2h3ZWlzIMO8YmVyIGVpbmVcbiAgICAgICAgICAgIGFiZ2VzY2hsb3NzZW5lIEJlcnVmc2F1c2JpbGR1bmcgb2RlciBlaW4gZWluasOkaHJpZ2VzIGdlbGVua3Rlc1xuICAgICAgICAgICAgUHJha3Rpa3VtIGdlbcOkw58gZGVyIFByYWt0aWt1bSAtIEF1c2JpbGR1bmdzb3JkbnVuZyB2b20gMTEuMTIuMjAwNlxuICAgICAgICAgICAgKEJBU1MgMTMgLTMxIE5yLjEpIGFscyBOYWNod2VpcyBkZXIgRmFjaGhvY2hzY2h1bHJlaWZlLiBFc1xuICAgICAgICAgICAgYmVyZWNodGlndCB6dW0gU3R1ZGl1bSBhbiBlaW5lciBGYWNoaG9jaHNjaHVsZSBkZXMgTGFuZGVzXG4gICAgICAgICAgICBOb3JkcmhlaW4tV2VzdGZhbGVuLiBEaWVzZXMgWmV1Z25pcyBnaWx0IGF1Y2ggYWxzIE5hY2h3ZWlzIGRlc1xuICAgICAgICAgICAgc2NodWxpc2NoZW4gVGVpbHMgZGVyIEZhY2hob2Noc2NodWxyZWlmZSBpbiBkZW4gTMOkbmRlcm5cbiAgICAgICAgICAgIEJhZGVuLVfDvHJ0dGVtYmVyZywgQmVybGluLCBCcmFuZGVuYnVyZywgQnJlbWVuLCBIYW1idXJnLCBIZXNzZW4sXG4gICAgICAgICAgICBNZWNrbGVuYnVyZy1Wb3Jwb21tZXJuLCBOaWVkZXJzYWNoc2VuLCBSaGVpbmxhbmQtUGZhbHosIFNhYXJsYW5kLFxuICAgICAgICAgICAgU2FjaHNlbi1BbmhhbHQsIFNjaGxlc3dpZy1Ib2xzdGVpbiB1bmQgVGjDvHJpbmdlbi5cbiAgICAgICAgICB7L2lmfVxuICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJ2YnV0dG9uIG5vLXByaW50XCIgb246Y2xpY2s9XCJ7KCkgPT4gemVpZ2VfRkhSID0gIXplaWdlX0ZIUn1cIj5cbiAgICAgICAgICAgIEZIUiBhYmdlc2NobG9zc2VuOiB7emVpZ2VfRkhSID8gJ0phJyA6ICdOZWluJ31cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8Vm9mZnNldCB2PVwiMlwiLz5cbiAgICAgICAgICA8dGFibGUgY2xhc3M9XCJ0YWJsZS1ub3RlblwiPlxuICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICA8dGQ+RHVyY2hzY2huaXR0c25vdGU6PC90ZD5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidGQtZmFjaC1ub3RlXCI+PHNwYW4+e3MuZmhyX2Fic2NobHVzcyAmJiBzLmZocl9hYnNjaGx1c3MuTm90ZX08L3NwYW4+PC90ZD5cbiAgICAgICAgICAgICAgPHRkPmluJm5ic3A7V29ydGVuOjwvdGQ+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInRkLWZhY2gtbm90ZVwiPjxzcGFuPntAaHRtbCBzLmZocl9hYnNjaGx1c3MgJiYgcy5maHJfYWJzY2hsdXNzLk5vdGUgJiYgbm90ZUluV29ydGVuKHMuZmhyX2Fic2NobHVzcy5Ob3RlKX08L3NwYW4+PC90ZD5cbiAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgPC90YWJsZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb290ZXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1ncmlkXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTJcIj5cbiAgICAgICAgICAgICAge3NjaHVsZS5PcnR9LCBkZW4ge2RhdHVtKGhqLlpldWduaXNEYXR1bSl9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wgdGV4dC1jZW50ZXIga2xlaW5cIj5cbiAgICAgICAgICAgICAgPFZvZmZzZXQgdj1cIjNcIi8+XG4gICAgICAgICAgICAgIDxociAvPlxuICAgICAgICAgICAgICB7c2NodWxlLlNjaHVsbGVpdGVyVm9ybmFtZX0ge3NjaHVsZS5TY2h1bGxlaXRlck5hbWV9XG4gICAgICAgICAgICAgIDxiciAvPntzY2h1bGUuc2NodWxsZWl0ZXJfaW59XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wgdGV4dC1jZW50ZXIga2xlaW5cIj5cbiAgICAgICAgICAgICAgPFZvZmZzZXQgdj1cIjNcIi8+XG4gICAgICAgICAgICAgIFNpZWdlbFxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIHRleHQtY2VudGVyIGtsZWluXCI+XG4gICAgICAgICAgICAgIDxWb2Zmc2V0IHY9XCIzXCIvPlxuICAgICAgICAgICAgICA8aHIgLz5cbiAgICAgICAgICAgICAge2hqLmxlaHJlci5Wb3JuYW1lfSB7aGoubGVocmVyLk5hY2huYW1lfTxiciAvPntoai5rbGFzc2VubGVocmVyX2lufVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPFZvZmZzZXQgdj1cIjJcIi8+XG4gICAgICAgICAgU2NodWxudW1tZXI6IHtzY2h1bGUuU2NodWxOcn1cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwia2xlaW5cIj5cbiAgICAgICAgICAgIDxociAvPlxuICAgICAgICAgICAgPHN1cD4xPC9zdXA+RGVyIFVudGVycmljaHQgaW4gZGVuIG1vZGVybmVuIEZyZW1kc3ByYWNoZW4gaGF0IGF1ZiBkZXIgbmFjaCBkZW0gRmFjaCBpblxuICAgICAgICAgICAgS2xhbW1lcm4gYW5nZWdlYmVuZW4gTml2ZWF1c3R1ZmUgZGVzIOKAnkV1cm9ww6Rpc2NoZW4gUmVmZXJlbnpyYWhtZW5zIGbDvHJcbiAgICAgICAgICAgIFNwcmFjaGVuOiBMZXJuZW4sIExlaHJlbiwgQmV1cnRlaWxlbuKAnCBzdGF0dGdlZnVuZGVuLiBTaW5kIHp3ZWlcbiAgICAgICAgICAgIFJlZmVyZW56bml2ZWF1cyBhdXNnZXdpZXNlbiwgaXN0IGRhcyBuaWVkcmlnZXJlIGluIHZvbGxlbSBVbWZhbmcsIGRhcyBow7ZoZXJlXG4gICAgICAgICAgICBpbiBBbnRlaWxlbiBlcnJlaWNodC4gQmVpIG1pbmRlc3RlbnMgYXVzcmVpY2hlbmRlbiBMZWlzdHVuZ2VuICg1IFB1bmt0ZSlcbiAgICAgICAgICAgIHdpcmQgZGVyIHNwcmFjaGxpY2hlIEtvbXBldGVuemVyd2VyYiBhdWYgZGllc2VtIE5pdmVhdSBiZXNjaGVpbmlndC5cbiAgICAgICAgICAgIDxWb2Zmc2V0IHY9XCIuNVwiLz5cbiAgICAgICAgICAgIDx0YWJsZT5cbiAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgIDx0ZCByb3dzcGFuPVwiNFwiIHZhbGlnbj1cInRvcFwiIHdpZHRoPVwiNXB4XCIgPjxzdXA+Mjwvc3VwPiA8L3RkPlxuICAgICAgICAgICAgICAgIDx0ZCB3aWR0aD1cIjEwcHhcIj5JPC90ZD5cbiAgICAgICAgICAgICAgICA8dGQ+PSBzcHJhY2hsaWNoIGxpdGVyYXJpc2NoZXMgQXVmZ2FiZW5mZWxkPC90ZD5cbiAgICAgICAgICAgICAgICA8dGQgcm93c3Bhbj1cIjRcIiB2YWxpZ249XCJ0b3BcIiB3aWR0aD1cIjVweFwiID48c3VwPjM8L3N1cD4gPC90ZD5cbiAgICAgICAgICAgICAgICA8dGQgd2lkdGg9XCIxMHB4XCI+TEs8L3RkPlxuICAgICAgICAgICAgICAgIDx0ZD49IExlaXN0dW5nc2t1cnM8L3RkPlxuICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgPHRkPklJPC90ZD5cbiAgICAgICAgICAgICAgICA8dGQ+PSBnZXNlbGxzY2hhZnRzd2lzc2Vuc2NoYWZ0bGljaGVzIEF1ZmdhYmVuZmVsZDwvdGQ+XG4gICAgICAgICAgICAgICAgPHRkIHdpZHRoPVwiMTBweFwiPkdLPC90ZD5cbiAgICAgICAgICAgICAgICA8dGQ+PSBHcnVuZGt1cnM8L3RkPlxuICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgPHRkPklJSTwvdGQ+XG4gICAgICAgICAgICAgICAgPHRkPj0gbWF0aGVtYXRpc2NoLW5hdHVyd2lzc2Vuc2NoYWZ0bGljaC10ZWNobmlzY2hlcyBBdWZnYWJlbmZlbGQ8L3RkPlxuICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgPC90YWJsZT5cbiAgICAgICAgICAgIDxzdXA+NDwvc3VwPiBGw7xyIGRpZSBVbXNldHp1bmcgdm9uIE5vdGVuIGluIFB1bmt0ZSBnaWx0OlxuICAgICAgICAgICAgPHRhYmxlIGNsYXNzPVwidGFibGUgdGFibGUtYm9yZGVyZWQgdGFibGUtZW5nXCIgd2lkdGg9XCI4MCVcIj5cbiAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgIDx0ZCB3aWR0aD1cIjUlXCI+PC90ZD5cbiAgICAgICAgICAgICAgICB7I2VhY2ggWydzZWhyIGd1dCcsICdndXQnLCAnYmVmcmllZGlnZW5kJywgJ2F1c3JlaWNoZW5kJywgJ21hbmdlbGhhZnQnLCAndW5nZW7DvGdlbmQnXSBhcyBufVxuICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidGV4dC1jZW50ZXJcIiB3aWR0aD1cIjEwJVwiPntufTwvdGQ+XG4gICAgICAgICAgICAgICAgey9lYWNofVxuICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgPHRkPk5vdGVuPC90ZD5cbiAgICAgICAgICAgICAgICB7I2VhY2ggWzEsMiwzLDQsNV0gYXMgaX1cbiAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInRleHQtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LWdyaWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sXCI+KzwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2xcIj57aX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sXCI+LTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgey9lYWNofVxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInRleHQtY2VudGVyXCI+NjwvdGQ+XG4gICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICA8dGQ+UHVua3RlPC90ZD5cbiAgICAgICAgICAgICAgICB7I2VhY2ggW1sxNSwxNCwxM10sWzEyLDExLDEwXSxbJzA5JywnMDgnLCcwNyddLFsnMDYnLCcwNScsJzA0J10sWycwMycsJzAyJywnMDEnXV0gYXMgaWl9XG4gICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1ncmlkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgeyNlYWNoIGlpIGFzIGl9XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sXCI+e2l9PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgey9lYWNofVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgey9lYWNofVxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInRleHQtY2VudGVyXCI+MDA8L3RkPlxuICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgPC90YWJsZT5cbiAgICAgICAgICAgIDxWb2Zmc2V0IHY9XCIuNVwiLz5cbiAgICAgICAgICAgIDx0YWJsZT5cbiAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgIDx0ZCB3aWR0aD1cIjMlXCI+RTE8L3RkPlxuICAgICAgICAgICAgICAgIDx0ZCB3aWR0aD1cIjQwJVwiPj0gTWl0IGJlc29uZGVyZW0gRXJmb2xnIHRlaWxnZW5vbW1lbjwvdGQ+XG4gICAgICAgICAgICAgICAgPHRkIHdpZHRoPVwiMyVcIj5FMjwvdGQ+XG4gICAgICAgICAgICAgICAgPHRkIHdpZHRoPVwiMzAlXCI+PSBNaXQgRXJmb2xnIHRlaWxnZW5vbW1lbjwvdGQ+XG4gICAgICAgICAgICAgICAgPHRkIHdpZHRoPVwiMyVcIj5FMzwvdGQ+XG4gICAgICAgICAgICAgICAgPHRkIHdpZHRoPVwiMTUlXCI+PSBUZWlsZ2Vub21tZW48L3RkPlxuICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgPC90YWJsZT5cbiAgICAgICAgICAgIERpZSBQdW5rdGUgaW4gS2xhbW1lcm4gc2luZCBuaWNodCBpbiBkaWUgRHVyY2hzY2huaXR0c25vdGUgZWluZ2VyZWNobmV0IHdvcmRlbi5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwicGFnZSBncmlkXCIgb3JpZW50YXRpb249XCJwb3J0cmFpdFwiIHNpemU9XCJBNFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9vdGVyIGtsZWluXCI+XG4gICAgICAgIDxocj5cbiAgICAgICAgICBEZW0gWmV1Z25pcyBsaWVnZW4genVncnVuZGU6PGJyPlxuICAgICAgICAgIERpZSBWZXJvcmRudW5nIMO8YmVyIGRpZSBBdXNiaWxkdW5nIHVuZCBQcsO8ZnVuZ1xuICAgICAgICAgIGluIGRlbiBCaWxkdW5nc2fDpG5nZW4gZGVzIEJlcnVmc2tvbGxlZ3MgKEF1c2JpbGR1bmdzLSB1bmQgUHLDvGZ1bmdzb3JkbnVuZ1xuICAgICAgICAgIEJlcnVmc2tvbGxlZywgQVBPLUJLKSB2b20gMjYuIE1haSAxOTk5IChTR1YuIE5SVy4gMjIzL0JBU1MgMTMg4oCTIDMzIE5yLiAxLjEpLlxuICAgICAgICAgIDxWb2Zmc2V0IHY9XCIuNVwiLz5cbiAgICAgICAgICBSZWNodHNiZWhlbGZzYmVsZWhydW5nOjxicj5cbiAgICAgICAgICBHZWdlbiBkaWVzZXMgWmV1Z25pcyBrYW5uIGlubmVyaGFsYiBlaW5lcyBNb25hdHNcbiAgICAgICAgICBuYWNoIEJla2FubnRnYWJlIGRlcyBaZXVnbmlzc2VzIFdpZGVyc3BydWNoIGVpbmdlbGVndCB3ZXJkZW4uIERlciBXaWRlcnNwcnVjaFxuICAgICAgICAgIGlzdCBiZWltIHtzY2h1bGUuQmV6ZWljaG51bmcyfSwge3NjaHVsZS5TdHJhc3NlfSwge3NjaHVsZS5QTFp9IHtzY2h1bGUuT3J0fSxcbiAgICAgICAgICBzY2hyaWZ0bGljaCBvZGVyIHp1ciBOaWVkZXJzY2hyaWZ0IHp1IGVyaGViZW4uIDxiciAvPkZhbGxzIGRpZSBGcmlzdCBkdXJjaFxuICAgICAgICAgIGRhcyBWZXJzY2h1bGRlbiBlaW5lci9laW5lcyBCZXZvbGxtw6RjaHRpZ3RlbiB2ZXJzw6R1bXQgd2lyZCwgd2lyZCBkaWVzXG4gICAgICAgICAgVmVyc2NodWxkZW4gZGVyIFdpZGVyc3BydWNoc2bDvGhyZXJpbi9kZW0gV2lkZXJzcHJ1Y2hzZsO8aHJlciB6dWdlcmVjaG5ldC5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgey9lYWNofVxuey9lYWNofVxuXG48c2NyaXB0PlxuICBleHBvcnQgY29uc3Qga29tbWVudGFyID0gYFxuICAqQWNodHVuZyogZGllIEZIUiB3aXJkIG5pY2h0IGF1dG9tYXRpc2NoIHZlcmdlYmVuLCBWb3JhdXNzZXR6dW5nZW4gYmVhY2h0ZW5cbi0gW8KnMTMgenUgQUdaIDEyLCAxMyxdKGh0dHBzOi8vYmFzcy5zY2h1bC13ZWx0LmRlLzMxMjkuaHRtI3BnZklkLTEyODk2MjUpXG4tIFtWViAxMy40IHp1IEFic2F0eiA0XShodHRwczovL2Jhc3Muc2NodWwtd2VsdC5kZS8zMTI5Lmh0bSNwZ2ZJZC0zOTEwMTMxKVxuLSBbRkhSIGJlaSBBYmfDpG5nZXJuXShodHRwczovL2Jhc3Muc2NodWwtd2VsdC5kZS8zMTI5Lmh0bSMxMy0zM25yMS4xcDEzYV9BbmxhZ2VEKVxuLSBbU3ByYWNobml2ZWF1c10oaHR0cHM6Ly9iYXNzLnNjaHVsLXdlbHQuZGUvMzEyOS5odG0jcGdmSWQtMzkxMDgyNilcbi0gW0FHWiBEMzVdKGh0dHBzOi8vYmFzcy5zY2h1bC13ZWx0LmRlLzMxMjkuaHRtI0FubGFnZUQzNSlcbi0gW0t1cnNlIGFiZ2VzY2hsb3NzZW4/IEJlbWVya3VuZ10oaHR0cHM6Ly9iYXNzLnNjaHVsLXdlbHQuZGUvMzEyOS5odG0jcGdmSWQtMzkxMDEzNSlcbiAgYFxuICBpbXBvcnQgeyBkYXR1bSwgdmVyc2V0enVuZ3N2ZXJtZXJrLCB2b2xsamFlaHJpZ0JlaSwgYmVtZXJrdW5nZW4sIGJnLCBwdW5rdGUybm90ZSwgbm90ZUluV29ydGVuLCBmcmVtZHNwcmFjaGUgfSAgZnJvbSAnLi9oZWxmZXInXG5cbiAgaW1wb3J0IFNlaXRlbmxvZ28gZnJvbSAnLi9wYXJ0aWFscy9TZWl0ZW5sb2dvLmh0bWwnXG4gIGltcG9ydCBQYWdlaGVhZGVyIGZyb20gJy4vcGFydGlhbHMvUGFnZWhlYWRlci5odG1sJ1xuICBpbXBvcnQgVm9mZnNldCBmcm9tICcuL3BhcnRpYWxzL1ZvZmZzZXQuaHRtbCdcblxuICBleHBvcnQgbGV0IHNjaHVlbGVyLCBzY2h1bGUsIHByaXZhdCwgamFociwgYWJzY2huaXR0XG4gIGxldCB6ZWlnZV9GSFIgPSBmYWxzZSwgemVpZ2VfS3Vyc2VfYWJnZXNjaGxvc3NlbiA9IGZhbHNlXG4gIGNvbnN0IGFrdEhhbGJqYWhyRnVlciA9IHMgPT4gW3MuYWJzY2huaXR0ZS5maW5kKGEgPT4gYS5KYWhyID09PSBqYWhyICYmIGEuQWJzY2huaXR0ID09PSBhYnNjaG5pdHQpXVxuXG4gIGNvbnN0IGZockZhY2ggPSAocywgZmFjaCwgaWQpID0+IHtcbiAgICBjb25zdCBwaWQgPSAnUDEnICsgaWRcbiAgICBpZiAoIWZhY2hbcGlkXSkgcmV0dXJuXG4gICAgY29uc3QgZmFjaDIgPSBzLmZocl9hYnNjaGx1c3NfZmFlY2hlci5maW5kKGYgPT4gZi5GYWNoX0lEID09PSBmYWNoLkZhY2hfSUQpXG4gICAgY29uc3QgcnNpZCA9ICdSU0lJXycgKyBpZFxuICAgIHJldHVybiBmYWNoMltyc2lkXSA9PT0gJysnID8gZmFjaFtwaWRdIDogYCgke2ZhY2hbcGlkXX0pYFxuICB9XG48L3NjcmlwdD5cblxuPHN0eWxlPlxuICBAaW1wb3J0ICdjc3MvbWFpbi5jc3MnO1xuICBAaW1wb3J0ICdjc3MvYTQtcG9ydHJhaXQuY3NzJztcbiAgLnRhYmxlLWJvcmRlcmVkIHtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyB9XG4gIC50YWJsZS1ib3JkZXJlZCB0ciB0ZCB7XG4gICAgYm9yZGVyOiB0aGluIHNvbGlkICNkZGQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuM3JlbSB9XG4gIC50YWJsZS1lbmcge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgLnRhYmxlLW5vdGVuIHtcbiAgICB3aWR0aDogNzAlO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIH1cbiAgLnRkLWZhY2gtbm90ZSB7XG4gICAgcGFkZGluZy1ib3R0b206IC4ycmVtO1xuICAgIHBhZGRpbmctdG9wOiAuMnJlbTtcbiAgICB3aWR0aDogMTJyZW07XG4gIH1cbiAgLnRkLWZhY2gtbm90ZSBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGNkY2RjICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxMHJlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuPC9zdHlsZT5cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpUEUsUUFBUSxjQUFjLENBQUMsQUFDdkIsUUFBUSxxQkFBcUIsQ0FBQyxBQUM5QixlQUFlLGVBQUMsQ0FBQyxBQUNmLGVBQWUsQ0FBRSxRQUFRLEFBQUUsQ0FBQyxBQUM5Qiw4QkFBZSxDQUFDLEVBQUUsQ0FBQyxFQUFFLGVBQUMsQ0FBQyxBQUNyQixNQUFNLENBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ3ZCLFdBQVcsQ0FBRSxNQUFNLENBQUMsQ0FBQyxBQUN2QixVQUFVLGVBQUMsQ0FBQyxBQUNWLGFBQWEsQ0FBRSxDQUFDLEFBQ2xCLENBQUMsQUFDRCxZQUFZLGVBQUMsQ0FBQyxBQUNaLEtBQUssQ0FBRSxHQUFHLENBQ1YsTUFBTSxDQUFFLElBQUksQ0FDWixlQUFlLENBQUUsUUFBUSxDQUN6QixhQUFhLENBQUUsSUFBSSxBQUNyQixDQUFDLEFBQ0QsYUFBYSxlQUFDLENBQUMsQUFDYixjQUFjLENBQUUsS0FBSyxDQUNyQixXQUFXLENBQUUsS0FBSyxDQUNsQixLQUFLLENBQUUsS0FBSyxBQUNkLENBQUMsQUFDRCw0QkFBYSxDQUFDLElBQUksZUFBQyxDQUFDLEFBQ2xCLGdCQUFnQixDQUFFLE9BQU8sQ0FBQyxVQUFVLENBQ3BDLFVBQVUsQ0FBRSxNQUFNLENBQ2xCLEtBQUssQ0FBRSxLQUFLLENBQ1osT0FBTyxDQUFFLEtBQUssQ0FDZCxNQUFNLENBQUUsQ0FBQyxDQUFDLElBQUksQUFDaEIsQ0FBQyJ9 */"; | |
append(document.head, style); | |
} | |
function get_each_context_3(ctx, list, i) { | |
const child_ctx = Object.create(ctx); | |
child_ctx.i = list[i]; | |
return child_ctx; | |
} | |
function get_each_context_2(ctx, list, i) { | |
const child_ctx = Object.create(ctx); | |
child_ctx.ii = list[i]; | |
return child_ctx; | |
} | |
function get_each_context_4(ctx, list, i) { | |
const child_ctx = Object.create(ctx); | |
child_ctx.i = list[i]; | |
return child_ctx; | |
} | |
function get_each_context_5(ctx, list, i) { | |
const child_ctx = Object.create(ctx); | |
child_ctx.n = list[i]; | |
return child_ctx; | |
} | |
function get_each_context_6(ctx, list, i) { | |
const child_ctx = Object.create(ctx); | |
child_ctx.f = list[i]; | |
return child_ctx; | |
} | |
function get_each_context_1(ctx, list, i) { | |
const child_ctx = Object.create(ctx); | |
child_ctx.hj = list[i]; | |
return child_ctx; | |
} | |
function get_each_context(ctx, list, i) { | |
const child_ctx = Object.create(ctx); | |
child_ctx.s = list[i]; | |
return child_ctx; | |
} | |
// (41:18) {#if f.fach.IstSprache === '+'} | |
function create_if_block_1$1(ctx) { | |
var t_value = fremdsprache(ctx.f, ctx.s.fachklasse.Kennung), t, sup; | |
return { | |
c: function create() { | |
t = text(t_value); | |
sup = element("sup"); | |
sup.textContent = "1"; | |
add_location(sup, file$3, 40, 88, 2364); | |
}, | |
m: function mount(target, anchor) { | |
insert(target, t, anchor); | |
insert(target, sup, anchor); | |
}, | |
p: function update(changed, ctx) { | |
if ((changed.schueler) && t_value !== (t_value = fremdsprache(ctx.f, ctx.s.fachklasse.Kennung))) { | |
set_data(t, t_value); | |
} | |
}, | |
d: function destroy(detaching) { | |
if (detaching) { | |
detach(t); | |
detach(sup); | |
} | |
} | |
}; | |
} | |
// (38:12) {#each s.abi_abschluss_faecher.sort((a, b) => a.FSortierung < b.FSortierung ? -1 : 1) as f} | |
function create_each_block_6(ctx) { | |
var tr, td0, t0_value = ctx.f.fach.Bezeichnung, t0, t1, t2, td1, t3_value = 'I'.repeat(ctx.f.fach.Aufgabenfeld), t3, t4, td2, t5_value = ctx.f.KursartAllg || 'GK', t5, t6, td3, t7_value = punkte2note(ctx.f.P12_1) || '–', t7, t8, td4, t9_value = ctx.fhrFach(ctx.s, ctx.f, '2_1') || '–', t9, t10, td5, t11_value = punkte2note(ctx.f.P12_2) || '–', t11, t12, td6, t13_value = ctx.fhrFach(ctx.s, ctx.f, '2_2') || '–', t13, t14, td7, t15_value = punkte2note(ctx.f.P13_1) || '–', t15, t16, td8, t17_value = ctx.fhrFach(ctx.s, ctx.f, '3_1') || '–', t17, t18, td9, t19_value = punkte2note(ctx.f.P13_2) || '–', t19, t20, td10, t21_value = ctx.fhrFach(ctx.s, ctx.f, '3_2') || '–', t21, t22; | |
var if_block = (ctx.f.fach.IstSprache === '+') && create_if_block_1$1(ctx); | |
return { | |
c: function create() { | |
tr = element("tr"); | |
td0 = element("td"); | |
t0 = text(t0_value); | |
t1 = space(); | |
if (if_block) if_block.c(); | |
t2 = space(); | |
td1 = element("td"); | |
t3 = text(t3_value); | |
t4 = space(); | |
td2 = element("td"); | |
t5 = text(t5_value); | |
t6 = space(); | |
td3 = element("td"); | |
t7 = text(t7_value); | |
t8 = space(); | |
td4 = element("td"); | |
t9 = text(t9_value); | |
t10 = space(); | |
td5 = element("td"); | |
t11 = text(t11_value); | |
t12 = space(); | |
td6 = element("td"); | |
t13 = text(t13_value); | |
t14 = space(); | |
td7 = element("td"); | |
t15 = text(t15_value); | |
t16 = space(); | |
td8 = element("td"); | |
t17 = text(t17_value); | |
t18 = space(); | |
td9 = element("td"); | |
t19 = text(t19_value); | |
t20 = space(); | |
td10 = element("td"); | |
t21 = text(t21_value); | |
t22 = space(); | |
attr(td0, "class", "svelte-1wjoa5z"); | |
add_location(td0, file$3, 39, 16, 2251); | |
attr(td1, "class", "text-center svelte-1wjoa5z"); | |
add_location(td1, file$3, 42, 16, 2420); | |
attr(td2, "class", "text-center svelte-1wjoa5z"); | |
add_location(td2, file$3, 43, 16, 2499); | |
attr(td3, "class", "text-center svelte-1wjoa5z"); | |
add_location(td3, file$3, 44, 16, 2568); | |
attr(td4, "class", "text-center svelte-1wjoa5z"); | |
add_location(td4, file$3, 45, 16, 2643); | |
attr(td5, "class", "text-center svelte-1wjoa5z"); | |
add_location(td5, file$3, 46, 16, 2718); | |
attr(td6, "class", "text-center svelte-1wjoa5z"); | |
add_location(td6, file$3, 47, 16, 2793); | |
attr(td7, "class", "text-center svelte-1wjoa5z"); | |
add_location(td7, file$3, 48, 16, 2868); | |
attr(td8, "class", "text-center svelte-1wjoa5z"); | |
add_location(td8, file$3, 49, 16, 2943); | |
attr(td9, "class", "text-center svelte-1wjoa5z"); | |
add_location(td9, file$3, 50, 16, 3018); | |
attr(td10, "class", "text-center svelte-1wjoa5z"); | |
add_location(td10, file$3, 51, 16, 3093); | |
add_location(tr, file$3, 38, 14, 2230); | |
}, | |
m: function mount(target, anchor) { | |
insert(target, tr, anchor); | |
append(tr, td0); | |
append(td0, t0); | |
append(td0, t1); | |
if (if_block) if_block.m(td0, null); | |
append(tr, t2); | |
append(tr, td1); | |
append(td1, t3); | |
append(tr, t4); | |
append(tr, td2); | |
append(td2, t5); | |
append(tr, t6); | |
append(tr, td3); | |
append(td3, t7); | |
append(tr, t8); | |
append(tr, td4); | |
append(td4, t9); | |
append(tr, t10); | |
append(tr, td5); | |
append(td5, t11); | |
append(tr, t12); | |
append(tr, td6); | |
append(td6, t13); | |
append(tr, t14); | |
append(tr, td7); | |
append(td7, t15); | |
append(tr, t16); | |
append(tr, td8); | |
append(td8, t17); | |
append(tr, t18); | |
append(tr, td9); | |
append(td9, t19); | |
append(tr, t20); | |
append(tr, td10); | |
append(td10, t21); | |
append(tr, t22); | |
}, | |
p: function update(changed, ctx) { | |
if ((changed.schueler) && t0_value !== (t0_value = ctx.f.fach.Bezeichnung)) { | |
set_data(t0, t0_value); | |
} | |
if (ctx.f.fach.IstSprache === '+') { | |
if (if_block) { | |
if_block.p(changed, ctx); | |
} else { | |
if_block = create_if_block_1$1(ctx); | |
if_block.c(); | |
if_block.m(td0, null); | |
} | |
} else if (if_block) { | |
if_block.d(1); | |
if_block = null; | |
} | |
if ((changed.schueler) && t3_value !== (t3_value = 'I'.repeat(ctx.f.fach.Aufgabenfeld))) { | |
set_data(t3, t3_value); | |
} | |
if ((changed.schueler) && t5_value !== (t5_value = ctx.f.KursartAllg || 'GK')) { | |
set_data(t5, t5_value); | |
} | |
if ((changed.schueler) && t7_value !== (t7_value = punkte2note(ctx.f.P12_1) || '–')) { | |
set_data(t7, t7_value); | |
} | |
if ((changed.schueler) && t9_value !== (t9_value = ctx.fhrFach(ctx.s, ctx.f, '2_1') || '–')) { | |
set_data(t9, t9_value); | |
} | |
if ((changed.schueler) && t11_value !== (t11_value = punkte2note(ctx.f.P12_2) || '–')) { | |
set_data(t11, t11_value); | |
} | |
if ((changed.schueler) && t13_value !== (t13_value = ctx.fhrFach(ctx.s, ctx.f, '2_2') || '–')) { | |
set_data(t13, t13_value); | |
} | |
if ((changed.schueler) && t15_value !== (t15_value = punkte2note(ctx.f.P13_1) || '–')) { | |
set_data(t15, t15_value); | |
} | |
if ((changed.schueler) && t17_value !== (t17_value = ctx.fhrFach(ctx.s, ctx.f, '3_1') || '–')) { | |
set_data(t17, t17_value); | |
} | |
if ((changed.schueler) && t19_value !== (t19_value = punkte2note(ctx.f.P13_2) || '–')) { | |
set_data(t19, t19_value); | |
} | |
if ((changed.schueler) && t21_value !== (t21_value = ctx.fhrFach(ctx.s, ctx.f, '3_2') || '–')) { | |
set_data(t21, t21_value); | |
} | |
}, | |
d: function destroy(detaching) { | |
if (detaching) { | |
detach(tr); | |
} | |
if (if_block) if_block.d(); | |
} | |
}; | |
} | |
// (64:10) {#if zeige_FHR} | |
function create_if_block$2(ctx) { | |
var t, current; | |
var voffset = new Voffset({ props: { v: "2" }, $$inline: true }); | |
return { | |
c: function create() { | |
voffset.$$.fragment.c(); | |
t = text("\n Dieses Zeugnis gilt in Verbindung mit dem Nachweis über eine\n abgeschlossene Berufsausbildung oder ein einjähriges gelenktes\n Praktikum gemäß der Praktikum - Ausbildungsordnung vom 11.12.2006\n (BASS 13 -31 Nr.1) als Nachweis der Fachhochschulreife. Es\n berechtigt zum Studium an einer Fachhochschule des Landes\n Nordrhein-Westfalen. Dieses Zeugnis gilt auch als Nachweis des\n schulischen Teils der Fachhochschulreife in den Ländern\n Baden-Württemberg, Berlin, Brandenburg, Bremen, Hamburg, Hessen,\n Mecklenburg-Vorpommern, Niedersachsen, Rheinland-Pfalz, Saarland,\n Sachsen-Anhalt, Schleswig-Holstein und Thüringen."); | |
}, | |
m: function mount(target, anchor) { | |
mount_component(voffset, target, anchor); | |
insert(target, t, anchor); | |
current = true; | |
}, | |
i: function intro(local) { | |
if (current) return; | |
transition_in(voffset.$$.fragment, local); | |
current = true; | |
}, | |
o: function outro(local) { | |
transition_out(voffset.$$.fragment, local); | |
current = false; | |
}, | |
d: function destroy(detaching) { | |
destroy_component(voffset, detaching); | |
if (detaching) { | |
detach(t); | |
} | |
} | |
}; | |
} | |
// (146:16) {#each ['sehr gut', 'gut', 'befriedigend', 'ausreichend', 'mangelhaft', 'ungenügend'] as n} | |
function create_each_block_5(ctx) { | |
var td, t; | |
return { | |
c: function create() { | |
td = element("td"); | |
t = text(ctx.n); | |
attr(td, "class", "text-center svelte-1wjoa5z"); | |
attr(td, "width", "10%"); | |
add_location(td, file$3, 146, 18, 7590); | |
}, | |
m: function mount(target, anchor) { | |
insert(target, td, anchor); | |
append(td, t); | |
}, | |
p: noop, | |
d: function destroy(detaching) { | |
if (detaching) { | |
detach(td); | |
} | |
} | |
}; | |
} | |
// (152:16) {#each [1,2,3,4,5] as i} | |
function create_each_block_4(ctx) { | |
var td, div3, div0, t1, div1, t2, t3, div2; | |
return { | |
c: function create() { | |
td = element("td"); | |
div3 = element("div"); | |
div0 = element("div"); | |
div0.textContent = "+"; | |
t1 = space(); | |
div1 = element("div"); | |
t2 = text(ctx.i); | |
t3 = space(); | |
div2 = element("div"); | |
div2.textContent = "-"; | |
attr(div0, "class", "col"); | |
add_location(div0, file$3, 154, 22, 7879); | |
attr(div1, "class", "col"); | |
add_location(div1, file$3, 155, 22, 7926); | |
attr(div2, "class", "col"); | |
add_location(div2, file$3, 156, 22, 7975); | |
attr(div3, "class", "flex-grid"); | |
add_location(div3, file$3, 153, 20, 7833); | |
attr(td, "class", "text-center svelte-1wjoa5z"); | |
add_location(td, file$3, 152, 18, 7788); | |
}, | |
m: function mount(target, anchor) { | |
insert(target, td, anchor); | |
append(td, div3); | |
append(div3, div0); | |
append(div3, t1); | |
append(div3, div1); | |
append(div1, t2); | |
append(div3, t3); | |
append(div3, div2); | |
}, | |
p: noop, | |
d: function destroy(detaching) { | |
if (detaching) { | |
detach(td); | |
} | |
} | |
}; | |
} | |
// (168:22) {#each ii as i} | |
function create_each_block_3(ctx) { | |
var div, t; | |
return { | |
c: function create() { | |
div = element("div"); | |
t = text(ctx.i); | |
attr(div, "class", "col"); | |
add_location(div, file$3, 168, 24, 8447); | |
}, | |
m: function mount(target, anchor) { | |
insert(target, div, anchor); | |
append(div, t); | |
}, | |
p: noop, | |
d: function destroy(detaching) { | |
if (detaching) { | |
detach(div); | |
} | |
} | |
}; | |
} | |
// (165:16) {#each [[15,14,13],[12,11,10],['09','08','07'],['06','05','04'],['03','02','01']] as ii} | |
function create_each_block_2(ctx) { | |
var td, div; | |
var each_value_3 = ctx.ii; | |
var each_blocks = []; | |
for (var i = 0; i < each_value_3.length; i += 1) { | |
each_blocks[i] = create_each_block_3(get_each_context_3(ctx, each_value_3, i)); | |
} | |
return { | |
c: function create() { | |
td = element("td"); | |
div = element("div"); | |
for (var i = 0; i < each_blocks.length; i += 1) { | |
each_blocks[i].c(); | |
} | |
attr(div, "class", "flex-grid"); | |
add_location(div, file$3, 166, 20, 8361); | |
attr(td, "class", "text-center svelte-1wjoa5z"); | |
add_location(td, file$3, 165, 18, 8316); | |
}, | |
m: function mount(target, anchor) { | |
insert(target, td, anchor); | |
append(td, div); | |
for (var i = 0; i < each_blocks.length; i += 1) { | |
each_blocks[i].m(div, null); | |
} | |
}, | |
p: noop, | |
d: function destroy(detaching) { | |
if (detaching) { | |
detach(td); | |
} | |
destroy_each(each_blocks, detaching); | |
} | |
}; | |
} | |
// (2:2) {#each aktHalbjahrFuer(s) as hj (hj.ID)} | |
function create_each_block_1(key_1, ctx) { | |
var div11, div0, t0, t1, div3, div1, t3, div2, t4, t5_value = bg(ctx.s, 'Bereich'), t5, t6, t7, t8_value = ctx.s.anrede, t8, t9, b0, t10_value = ctx.s.Vorname, t10, t11, t12_value = ctx.s.Zusatz || '', t12, t13, t14_value = ctx.s.Name, t14, t15, t16_value = datum(ctx.s.Geburtsdatum), t16, t17, t18_value = ctx.s.Geburtsort, t18, t19, br0, t20, t21_value = datum(ctx.s.Aufnahmedatum), t21, t22, t23_value = datum(ctx.s.Entlassdatum), t23, t24, b1, t25, t26_value = bg(ctx.s, 'Zeugniskopf'), t26, t27, br1, t28_value = ctx.s.Geschlecht === 3 ? 'Er':'Sie', t28, t29, t30_value = ctx.s.schueler_in, t30, t31, t32_value = ctx.hj.Abschnitt, t32, t33, t34_value = ctx.hj.Jahrgang+10, t34, t35, t36, t37_value = datum(ctx.hj.Konferenzdatum), t37, t38, table0, tr0, td0, t40, td1, t41, br2, t42, sup0, t44, td2, t45, br3, t46, sup1, t48, td3, t49, sup2, t51, td4, t52, sup3, t54, td5, t55, sup4, t57, td6, t58, sup5, t60, tr1, td7, t61, td8, t63, td9, t65, td10, t67, td11, t69, td12, t71, td13, t73, td14, t75, td15, t77, t78, t79, b2, t80, br4, t81, raw0_value = bemerkungen(ctx.hj), raw0_before, raw0_after, t82, t83, t84_value = ctx.zeige_Kurse_abgeschlossen ? '':'nicht', t84, t85, button0, t86, t87_value = ctx.zeige_Kurse_abgeschlossen ? 'Ja' : 'Nein', t87, t88, t89, button1, t90, t91_value = ctx.zeige_FHR ? 'Ja' : 'Nein', t91, t92, t93, table1, tr2, td16, t95, td17, span0, t96_value = ctx.s.fhr_abschluss && ctx.s.fhr_abschluss.Note, t96, t97, td18, t99, td19, span1, raw1_value = ctx.s.fhr_abschluss && ctx.s.fhr_abschluss.Note && noteInWorten(ctx.s.fhr_abschluss.Note), t100, div10, div8, div4, t101_value = ctx.schule.Ort, t101, t102, t103_value = datum(ctx.hj.ZeugnisDatum), t103, t104, div5, t105, hr0, t106, t107_value = ctx.schule.SchulleiterVorname, t107, t108, t109_value = ctx.schule.SchulleiterName, t109, t110, br5, t111_value = ctx.schule.schulleiter_in, t111, t112, div6, t113, t114, div7, t115, hr1, t116, t117_value = ctx.hj.lehrer.Vorname, t117, t118, t119_value = ctx.hj.lehrer.Nachname, t119, br6, t120_value = ctx.hj.klassenlehrer_in, t120, t121, t122, t123_value = ctx.schule.SchulNr, t123, t124, div9, hr2, t125, sup6, t127, t128, table2, tr3, td20, sup7, t130, td21, t132, td22, t134, td23, sup8, t136, td24, t138, td25, t140, tr4, td26, t142, td27, t144, td28, t146, td29, t148, tr5, td30, t150, td31, t152, sup9, t154, table3, tr6, td32, t155, t156, tr7, td33, t158, t159, td34, t161, tr8, td35, t163, t164, td36, t166, t167, table4, tr9, td37, t169, td38, t171, td39, t173, td40, t175, td41, t177, td42, t179, t180, div13, div12, hr3, t181, br7, t182, t183, br8, t184, t185_value = ctx.schule.Bezeichnung2, t185, t186, t187_value = ctx.schule.Strasse, t187, t188, t189_value = ctx.schule.PLZ, t189, t190, t191_value = ctx.schule.Ort, t191, t192, br9, t193, t194, current, dispose; | |
var seitenlogo = new Seitenlogo({ | |
props: { logo: ctx.privat.traegerLogo }, | |
$$inline: true | |
}); | |
var pageheader = new Pageheader({ | |
props: { | |
art: "daten/agz.svg", | |
logo: ctx.privat.logo, | |
untertitel: ctx.privat.untertitel | |
}, | |
$$inline: true | |
}); | |
var voffset0 = new Voffset({ props: { v: "0.5" }, $$inline: true }); | |
var voffset1 = new Voffset({ props: { v: "0.5" }, $$inline: true }); | |
var each_value_6 = ctx.s.abi_abschluss_faecher.sort(func); | |
var each_blocks_3 = []; | |
for (var i = 0; i < each_value_6.length; i += 1) { | |
each_blocks_3[i] = create_each_block_6(get_each_context_6(ctx, each_value_6, i)); | |
} | |
var voffset2 = new Voffset({ props: { v: "0.5" }, $$inline: true }); | |
var voffset3 = new Voffset({ props: { v: "1" }, $$inline: true }); | |
var if_block = (ctx.zeige_FHR) && create_if_block$2(ctx); | |
var voffset4 = new Voffset({ props: { v: "2" }, $$inline: true }); | |
var voffset5 = new Voffset({ props: { v: "3" }, $$inline: true }); | |
var voffset6 = new Voffset({ props: { v: "3" }, $$inline: true }); | |
var voffset7 = new Voffset({ props: { v: "3" }, $$inline: true }); | |
var voffset8 = new Voffset({ props: { v: "2" }, $$inline: true }); | |
var voffset9 = new Voffset({ props: { v: ".5" }, $$inline: true }); | |
var each_value_5 = ['sehr gut', 'gut', 'befriedigend', 'ausreichend', 'mangelhaft', 'ungenügend']; | |
var each_blocks_2 = []; | |
for (var i = 0; i < 6; i += 1) { | |
each_blocks_2[i] = create_each_block_5(get_each_context_5(ctx, each_value_5, i)); | |
} | |
var each_value_4 = [1,2,3,4,5]; | |
var each_blocks_1 = []; | |
for (var i = 0; i < 5; i += 1) { | |
each_blocks_1[i] = create_each_block_4(get_each_context_4(ctx, each_value_4, i)); | |
} | |
var each_value_2 = [[15,14,13],[12,11,10],['09','08','07'],['06','05','04'],['03','02','01']]; | |
var each_blocks = []; | |
for (var i = 0; i < 5; i += 1) { | |
each_blocks[i] = create_each_block_2(get_each_context_2(ctx, each_value_2, i)); | |
} | |
var voffset10 = new Voffset({ props: { v: ".5" }, $$inline: true }); | |
var voffset11 = new Voffset({ props: { v: ".5" }, $$inline: true }); | |
return { | |
key: key_1, | |
first: null, | |
c: function create() { | |
div11 = element("div"); | |
div0 = element("div"); | |
seitenlogo.$$.fragment.c(); | |
t0 = space(); | |
pageheader.$$.fragment.c(); | |
t1 = space(); | |
div3 = element("div"); | |
div1 = element("div"); | |
div1.textContent = "Abgangszeugnis gemäß §13 APO-BK, Anlage D"; | |
t3 = space(); | |
div2 = element("div"); | |
t4 = text("Berufliches Gymnasium, "); | |
t5 = text(t5_value); | |
t6 = space(); | |
voffset0.$$.fragment.c(); | |
t7 = space(); | |
t8 = text(t8_value); | |
t9 = space(); | |
b0 = element("b"); | |
t10 = text(t10_value); | |
t11 = space(); | |
t12 = text(t12_value); | |
t13 = space(); | |
t14 = text(t14_value); | |
t15 = text(", geboren am "); | |
t16 = text(t16_value); | |
t17 = text(" in "); | |
t18 = text(t18_value); | |
t19 = text(",\n "); | |
br0 = element("br"); | |
t20 = text("hat vom "); | |
t21 = text(t21_value); | |
t22 = text(" bis zum "); | |
t23 = text(t23_value); | |
t24 = text(" den "); | |
b1 = element("b"); | |
t25 = text("Bildungsgang "); | |
t26 = text(t26_value); | |
t27 = text(" besucht.\n "); | |
br1 = element("br"); | |
t28 = text(t28_value); | |
t29 = text(" war zuletzt "); | |
t30 = text(t30_value); | |
t31 = text(" im "); | |
t32 = text(t32_value); | |
t33 = text(". Halbjahr der Jahrgangstufe "); | |
t34 = text(t34_value); | |
t35 = text(".\n "); | |
voffset1.$$.fragment.c(); | |
t36 = text("\n In der Konferenz am "); | |
t37 = text(t37_value); | |
t38 = text(" sind folgende Leistungen festgestellt worden:\n "); | |
table0 = element("table"); | |
tr0 = element("tr"); | |
td0 = element("td"); | |
td0.textContent = "Fach"; | |
t40 = space(); | |
td1 = element("td"); | |
t41 = text("Aufg.-"); | |
br2 = element("br"); | |
t42 = text("feld"); | |
sup0 = element("sup"); | |
sup0.textContent = "2"; | |
t44 = space(); | |
td2 = element("td"); | |
t45 = text("Kurs-"); | |
br3 = element("br"); | |
t46 = text("Art"); | |
sup1 = element("sup"); | |
sup1.textContent = "3"; | |
t48 = space(); | |
td3 = element("td"); | |
t49 = text("12.1"); | |
sup2 = element("sup"); | |
sup2.textContent = "4"; | |
t51 = space(); | |
td4 = element("td"); | |
t52 = text("12.2"); | |
sup3 = element("sup"); | |
sup3.textContent = "4"; | |
t54 = space(); | |
td5 = element("td"); | |
t55 = text("13.1"); | |
sup4 = element("sup"); | |
sup4.textContent = "4"; | |
t57 = space(); | |
td6 = element("td"); | |
t58 = text("13.2"); | |
sup5 = element("sup"); | |
sup5.textContent = "4"; | |
t60 = space(); | |
tr1 = element("tr"); | |
td7 = element("td"); | |
t61 = space(); | |
td8 = element("td"); | |
td8.textContent = "Note"; | |
t63 = space(); | |
td9 = element("td"); | |
td9.textContent = "Punkte"; | |
t65 = space(); | |
td10 = element("td"); | |
td10.textContent = "Note"; | |
t67 = space(); | |
td11 = element("td"); | |
td11.textContent = "Punkte"; | |
t69 = space(); | |
td12 = element("td"); | |
td12.textContent = "Note"; | |
t71 = space(); | |
td13 = element("td"); | |
td13.textContent = "Punkte"; | |
t73 = space(); | |
td14 = element("td"); | |
td14.textContent = "Note"; | |
t75 = space(); | |
td15 = element("td"); | |
td15.textContent = "Punkte"; | |
t77 = space(); | |
for (var i = 0; i < each_blocks_3.length; i += 1) { | |
each_blocks_3[i].c(); | |
} | |
t78 = space(); | |
voffset2.$$.fragment.c(); | |
t79 = space(); | |
b2 = element("b"); | |
t80 = text("Bemerkungen:\n "); | |
br4 = element("br"); | |
t81 = space(); | |
raw0_before = element('noscript'); | |
raw0_after = element('noscript'); | |
t82 = space(); | |
voffset3.$$.fragment.c(); | |
t83 = text("\n Die Kurse des letzten Halbjahres gelten als "); | |
t84 = text(t84_value); | |
t85 = text(" abgeschlossen.\n "); | |
button0 = element("button"); | |
t86 = text("Kurse abgeschlossen: "); | |
t87 = text(t87_value); | |
t88 = space(); | |
if (if_block) if_block.c(); | |
t89 = space(); | |
button1 = element("button"); | |
t90 = text("FHR abgeschlossen: "); | |
t91 = text(t91_value); | |
t92 = space(); | |
voffset4.$$.fragment.c(); | |
t93 = space(); | |
table1 = element("table"); | |
tr2 = element("tr"); | |
td16 = element("td"); | |
td16.textContent = "Durchschnittsnote:"; | |
t95 = space(); | |
td17 = element("td"); | |
span0 = element("span"); | |
t96 = text(t96_value); | |
t97 = space(); | |
td18 = element("td"); | |
td18.textContent = "in Worten:"; | |
t99 = space(); | |
td19 = element("td"); | |
span1 = element("span"); | |
t100 = space(); | |
div10 = element("div"); | |
div8 = element("div"); | |
div4 = element("div"); | |
t101 = text(t101_value); | |
t102 = text(", den "); | |
t103 = text(t103_value); | |
t104 = space(); | |
div5 = element("div"); | |
voffset5.$$.fragment.c(); | |
t105 = space(); | |
hr0 = element("hr"); | |
t106 = space(); | |
t107 = text(t107_value); | |
t108 = space(); | |
t109 = text(t109_value); | |
t110 = space(); | |
br5 = element("br"); | |
t111 = text(t111_value); | |
t112 = space(); | |
div6 = element("div"); | |
voffset6.$$.fragment.c(); | |
t113 = text("\n Siegel"); | |
t114 = space(); | |
div7 = element("div"); | |
voffset7.$$.fragment.c(); | |
t115 = space(); | |
hr1 = element("hr"); | |
t116 = space(); | |
t117 = text(t117_value); | |
t118 = space(); | |
t119 = text(t119_value); | |
br6 = element("br"); | |
t120 = text(t120_value); | |
t121 = space(); | |
voffset8.$$.fragment.c(); | |
t122 = text("\n Schulnummer: "); | |
t123 = text(t123_value); | |
t124 = space(); | |
div9 = element("div"); | |
hr2 = element("hr"); | |
t125 = space(); | |
sup6 = element("sup"); | |
sup6.textContent = "1"; | |
t127 = text("Der Unterricht in den modernen Fremdsprachen hat auf der nach dem Fach in\n Klammern angegebenen Niveaustufe des „Europäischen Referenzrahmens für\n Sprachen: Lernen, Lehren, Beurteilen“ stattgefunden. Sind zwei\n Referenzniveaus ausgewiesen, ist das niedrigere in vollem Umfang, das höhere\n in Anteilen erreicht. Bei mindestens ausreichenden Leistungen (5 Punkte)\n wird der sprachliche Kompetenzerwerb auf diesem Niveau bescheinigt.\n "); | |
voffset9.$$.fragment.c(); | |
t128 = space(); | |
table2 = element("table"); | |
tr3 = element("tr"); | |
td20 = element("td"); | |
sup7 = element("sup"); | |
sup7.textContent = "2"; | |
t130 = space(); | |
td21 = element("td"); | |
td21.textContent = "I"; | |
t132 = space(); | |
td22 = element("td"); | |
td22.textContent = "= sprachlich literarisches Aufgabenfeld"; | |
t134 = space(); | |
td23 = element("td"); | |
sup8 = element("sup"); | |
sup8.textContent = "3"; | |
t136 = space(); | |
td24 = element("td"); | |
td24.textContent = "LK"; | |
t138 = space(); | |
td25 = element("td"); | |
td25.textContent = "= Leistungskurs"; | |
t140 = space(); | |
tr4 = element("tr"); | |
td26 = element("td"); | |
td26.textContent = "II"; | |
t142 = space(); | |
td27 = element("td"); | |
td27.textContent = "= gesellschaftswissenschaftliches Aufgabenfeld"; | |
t144 = space(); | |
td28 = element("td"); | |
td28.textContent = "GK"; | |
t146 = space(); | |
td29 = element("td"); | |
td29.textContent = "= Grundkurs"; | |
t148 = space(); | |
tr5 = element("tr"); | |
td30 = element("td"); | |
td30.textContent = "III"; | |
t150 = space(); | |
td31 = element("td"); | |
td31.textContent = "= mathematisch-naturwissenschaftlich-technisches Aufgabenfeld"; | |
t152 = space(); | |
sup9 = element("sup"); | |
sup9.textContent = "4"; | |
t154 = text(" Für die Umsetzung von Noten in Punkte gilt:\n "); | |
table3 = element("table"); | |
tr6 = element("tr"); | |
td32 = element("td"); | |
t155 = space(); | |
for (var i = 0; i < 6; i += 1) { | |
each_blocks_2[i].c(); | |
} | |
t156 = space(); | |
tr7 = element("tr"); | |
td33 = element("td"); | |
td33.textContent = "Noten"; | |
t158 = space(); | |
for (var i = 0; i < 5; i += 1) { | |
each_blocks_1[i].c(); | |
} | |
t159 = space(); | |
td34 = element("td"); | |
td34.textContent = "6"; | |
t161 = space(); | |
tr8 = element("tr"); | |
td35 = element("td"); | |
td35.textContent = "Punkte"; | |
t163 = space(); | |
for (var i = 0; i < 5; i += 1) { | |
each_blocks[i].c(); | |
} | |
t164 = space(); | |
td36 = element("td"); | |
td36.textContent = "00"; | |
t166 = space(); | |
voffset10.$$.fragment.c(); | |
t167 = space(); | |
table4 = element("table"); | |
tr9 = element("tr"); | |
td37 = element("td"); | |
td37.textContent = "E1"; | |
t169 = space(); | |
td38 = element("td"); | |
td38.textContent = "= Mit besonderem Erfolg teilgenommen"; | |
t171 = space(); | |
td39 = element("td"); | |
td39.textContent = "E2"; | |
t173 = space(); | |
td40 = element("td"); | |
td40.textContent = "= Mit Erfolg teilgenommen"; | |
t175 = space(); | |
td41 = element("td"); | |
td41.textContent = "E3"; | |
t177 = space(); | |
td42 = element("td"); | |
td42.textContent = "= Teilgenommen"; | |
t179 = text("\n Die Punkte in Klammern sind nicht in die Durchschnittsnote eingerechnet worden."); | |
t180 = space(); | |
div13 = element("div"); | |
div12 = element("div"); | |
hr3 = element("hr"); | |
t181 = text("\n Dem Zeugnis liegen zugrunde:"); | |
br7 = element("br"); | |
t182 = text("\n Die Verordnung über die Ausbildung und Prüfung\n in den Bildungsgängen des Berufskollegs (Ausbildungs- und Prüfungsordnung\n Berufskolleg, APO-BK) vom 26. Mai 1999 (SGV. NRW. 223/BASS 13 – 33 Nr. 1.1).\n "); | |
voffset11.$$.fragment.c(); | |
t183 = text("\n Rechtsbehelfsbelehrung:"); | |
br8 = element("br"); | |
t184 = text("\n Gegen dieses Zeugnis kann innerhalb eines Monats\n nach Bekanntgabe des Zeugnisses Widerspruch eingelegt werden. Der Widerspruch\n ist beim "); | |
t185 = text(t185_value); | |
t186 = text(", "); | |
t187 = text(t187_value); | |
t188 = text(", "); | |
t189 = text(t189_value); | |
t190 = space(); | |
t191 = text(t191_value); | |
t192 = text(",\n schriftlich oder zur Niederschrift zu erheben. "); | |
br9 = element("br"); | |
t193 = text("Falls die Frist durch\n das Verschulden einer/eines Bevollmächtigten versäumt wird, wird dies\n Verschulden der Widerspruchsführerin/dem Widerspruchsführer zugerechnet."); | |
t194 = space(); | |
attr(div0, "class", "header"); | |
add_location(div0, file$3, 3, 6, 165); | |
set_style(div1, "font-size", "12pt"); | |
set_style(div1, "line-height", "1.5em"); | |
add_location(div1, file$3, 8, 10, 380); | |
set_style(div2, "font-size", "11pt"); | |
set_style(div2, "line-height", "1.2em"); | |
add_location(div2, file$3, 9, 10, 487); | |
add_location(b0, file$3, 11, 21, 634); | |
add_location(br0, file$3, 12, 10, 744); | |
add_location(b1, file$3, 12, 85, 819); | |
add_location(br1, file$3, 13, 10, 881); | |
attr(td0, "class", "svelte-1wjoa5z"); | |
add_location(td0, file$3, 18, 14, 1231); | |
add_location(br2, file$3, 19, 24, 1269); | |
add_location(sup0, file$3, 19, 32, 1277); | |
attr(td1, "class", "svelte-1wjoa5z"); | |
add_location(td1, file$3, 19, 14, 1259); | |
add_location(br3, file$3, 20, 23, 1318); | |
add_location(sup1, file$3, 20, 30, 1325); | |
attr(td2, "class", "svelte-1wjoa5z"); | |
add_location(td2, file$3, 20, 14, 1309); | |
add_location(sup2, file$3, 21, 54, 1397); | |
attr(td3, "colspan", "2"); | |
attr(td3, "class", "text-center svelte-1wjoa5z"); | |
add_location(td3, file$3, 21, 14, 1357); | |
add_location(sup3, file$3, 22, 54, 1469); | |
attr(td4, "colspan", "2"); | |
attr(td4, "class", "text-center svelte-1wjoa5z"); | |
add_location(td4, file$3, 22, 14, 1429); | |
add_location(sup4, file$3, 23, 54, 1541); | |
attr(td5, "colspan", "2"); | |
attr(td5, "class", "text-center svelte-1wjoa5z"); | |
add_location(td5, file$3, 23, 14, 1501); | |
add_location(sup5, file$3, 24, 54, 1613); | |
attr(td6, "colspan", "2"); | |
attr(td6, "class", "text-center svelte-1wjoa5z"); | |
add_location(td6, file$3, 24, 14, 1573); | |
add_location(tr0, file$3, 17, 12, 1212); | |
attr(td7, "colspan", "3"); | |
attr(td7, "class", "svelte-1wjoa5z"); | |
add_location(td7, file$3, 27, 14, 1680); | |
attr(td8, "class", "text-center svelte-1wjoa5z"); | |
add_location(td8, file$3, 28, 14, 1716); | |
attr(td9, "class", "text-center svelte-1wjoa5z"); | |
add_location(td9, file$3, 29, 14, 1764); | |
attr(td10, "class", "text-center svelte-1wjoa5z"); | |
add_location(td10, file$3, 30, 14, 1814); | |
attr(td11, "class", "text-center svelte-1wjoa5z"); | |
add_location(td11, file$3, 31, 14, 1862); | |
attr(td12, "class", "text-center svelte-1wjoa5z"); | |
add_location(td12, file$3, 32, 14, 1912); | |
attr(td13, "class", "text-center svelte-1wjoa5z"); | |
add_location(td13, file$3, 33, 14, 1960); | |
attr(td14, "class", "text-center svelte-1wjoa5z"); | |
add_location(td14, file$3, 34, 14, 2010); | |
attr(td15, "class", "text-center svelte-1wjoa5z"); | |
add_location(td15, file$3, 35, 14, 2058); | |
add_location(tr1, file$3, 26, 12, 1661); | |
attr(table0, "class", "table table-bordered table-eng svelte-1wjoa5z"); | |
add_location(table0, file$3, 16, 10, 1153); | |
add_location(br4, file$3, 57, 10, 3276); | |
add_location(b2, file$3, 56, 10, 3250); | |
attr(button0, "class", "vbutton no-print"); | |
add_location(button0, file$3, 60, 10, 3456); | |
attr(button1, "class", "vbutton no-print"); | |
add_location(button1, file$3, 76, 10, 4469); | |
add_location(td16, file$3, 82, 14, 4720); | |
attr(span0, "class", "svelte-1wjoa5z"); | |
add_location(span0, file$3, 83, 39, 4787); | |
attr(td17, "class", "td-fach-note svelte-1wjoa5z"); | |
add_location(td17, file$3, 83, 14, 4762); | |
add_location(td18, file$3, 84, 14, 4861); | |
attr(span1, "class", "svelte-1wjoa5z"); | |
add_location(span1, file$3, 85, 39, 4925); | |
attr(td19, "class", "td-fach-note svelte-1wjoa5z"); | |
add_location(td19, file$3, 85, 14, 4900); | |
add_location(tr2, file$3, 81, 12, 4701); | |
attr(table1, "class", "table-noten svelte-1wjoa5z"); | |
add_location(table1, file$3, 80, 10, 4661); | |
attr(div3, "class", "main"); | |
add_location(div3, file$3, 7, 6, 351); | |
attr(div4, "class", "col-2"); | |
add_location(div4, file$3, 91, 12, 5156); | |
add_location(hr0, file$3, 96, 14, 5345); | |
add_location(br5, file$3, 98, 14, 5433); | |
attr(div5, "class", "col text-center klein"); | |
add_location(div5, file$3, 94, 12, 5264); | |
attr(div6, "class", "col text-center klein"); | |
add_location(div6, file$3, 100, 12, 5494); | |
add_location(hr1, file$3, 106, 14, 5694); | |
add_location(br6, file$3, 107, 54, 5755); | |
attr(div7, "class", "col text-center klein"); | |
add_location(div7, file$3, 104, 12, 5613); | |
attr(div8, "class", "flex-grid"); | |
add_location(div8, file$3, 90, 10, 5120); | |
add_location(hr2, file$3, 113, 12, 5928); | |
add_location(sup6, file$3, 114, 12, 5947); | |
add_location(sup7, file$3, 123, 58, 6572); | |
attr(td20, "rowspan", "4"); | |
attr(td20, "valign", "top"); | |
attr(td20, "width", "5px"); | |
add_location(td20, file$3, 123, 16, 6530); | |
attr(td21, "width", "10px"); | |
add_location(td21, file$3, 124, 16, 6607); | |
add_location(td22, file$3, 125, 16, 6647); | |
add_location(sup8, file$3, 126, 58, 6754); | |
attr(td23, "rowspan", "4"); | |
attr(td23, "valign", "top"); | |
attr(td23, "width", "5px"); | |
add_location(td23, file$3, 126, 16, 6712); | |
attr(td24, "width", "10px"); | |
add_location(td24, file$3, 127, 16, 6789); | |
add_location(td25, file$3, 128, 16, 6830); | |
add_location(tr3, file$3, 122, 14, 6509); | |
add_location(td26, file$3, 131, 16, 6910); | |
add_location(td27, file$3, 132, 16, 6938); | |
attr(td28, "width", "10px"); | |
add_location(td28, file$3, 133, 16, 7010); | |
add_location(td29, file$3, 134, 16, 7051); | |
add_location(tr4, file$3, 130, 14, 6889); | |
add_location(td30, file$3, 137, 16, 7127); | |
add_location(td31, file$3, 138, 16, 7156); | |
add_location(tr5, file$3, 136, 14, 7106); | |
add_location(table2, file$3, 121, 12, 6487); | |
add_location(sup9, file$3, 141, 12, 7280); | |
attr(td32, "width", "5%"); | |
attr(td32, "class", "svelte-1wjoa5z"); | |
add_location(td32, file$3, 144, 16, 7443); | |
add_location(tr6, file$3, 143, 14, 7422); | |
attr(td33, "class", "svelte-1wjoa5z"); | |
add_location(td33, file$3, 150, 16, 7714); | |
attr(td34, "class", "text-center svelte-1wjoa5z"); | |
add_location(td34, file$3, 160, 16, 8091); | |
add_location(tr7, file$3, 149, 14, 7693); | |
attr(td35, "class", "svelte-1wjoa5z"); | |
add_location(td35, file$3, 163, 16, 8177); | |
attr(td36, "class", "text-center svelte-1wjoa5z"); | |
add_location(td36, file$3, 173, 16, 8595); | |
add_location(tr8, file$3, 162, 14, 8156); | |
attr(table3, "class", "table table-bordered table-eng svelte-1wjoa5z"); | |
attr(table3, "width", "80%"); | |
add_location(table3, file$3, 142, 12, 7349); | |
attr(td37, "width", "3%"); | |
add_location(td37, file$3, 179, 16, 8753); | |
attr(td38, "width", "40%"); | |
add_location(td38, file$3, 180, 16, 8792); | |
attr(td39, "width", "3%"); | |
add_location(td39, file$3, 181, 16, 8866); | |
attr(td40, "width", "30%"); | |
add_location(td40, file$3, 182, 16, 8905); | |
attr(td41, "width", "3%"); | |
add_location(td41, file$3, 183, 16, 8968); | |
attr(td42, "width", "15%"); | |
add_location(td42, file$3, 184, 16, 9007); | |
add_location(tr9, file$3, 178, 14, 8732); | |
add_location(table4, file$3, 177, 12, 8710); | |
attr(div9, "class", "klein"); | |
add_location(div9, file$3, 112, 10, 5896); | |
attr(div10, "class", "footer"); | |
add_location(div10, file$3, 89, 8, 5089); | |
attr(div11, "class", "page grid"); | |
attr(div11, "orientation", "portrait"); | |
attr(div11, "size", "A4"); | |
set_style(div11, "font-size", "0.8rem"); | |
add_location(div11, file$3, 2, 4, 76); | |
add_location(hr3, file$3, 193, 8, 9325); | |
add_location(br7, file$3, 194, 38, 9368); | |
add_location(br8, file$3, 199, 33, 9662); | |
add_location(br9, file$3, 203, 57, 9958); | |
attr(div12, "class", "footer klein"); | |
add_location(div12, file$3, 192, 8, 9290); | |
attr(div13, "class", "page grid"); | |
attr(div13, "orientation", "portrait"); | |
attr(div13, "size", "A4"); | |
add_location(div13, file$3, 191, 4, 9225); | |
dispose = [ | |
listen(button0, "click", ctx.click_handler), | |
listen(button1, "click", ctx.click_handler_1) | |
]; | |
this.first = div11; | |
}, | |
m: function mount(target, anchor) { | |
insert(target, div11, anchor); | |
append(div11, div0); | |
mount_component(seitenlogo, div0, null); | |
append(div0, t0); | |
mount_component(pageheader, div0, null); | |
append(div11, t1); | |
append(div11, div3); | |
append(div3, div1); | |
append(div3, t3); | |
append(div3, div2); | |
append(div2, t4); | |
append(div2, t5); | |
append(div3, t6); | |
mount_component(voffset0, div3, null); | |
append(div3, t7); | |
append(div3, t8); | |
append(div3, t9); | |
append(div3, b0); | |
append(b0, t10); | |
append(b0, t11); | |
append(b0, t12); | |
append(b0, t13); | |
append(b0, t14); | |
append(div3, t15); | |
append(div3, t16); | |
append(div3, t17); | |
append(div3, t18); | |
append(div3, t19); | |
append(div3, br0); | |
append(div3, t20); | |
append(div3, t21); | |
append(div3, t22); | |
append(div3, t23); | |
append(div3, t24); | |
append(div3, b1); | |
append(b1, t25); | |
append(b1, t26); | |
append(div3, t27); | |
append(div3, br1); | |
append(div3, t28); | |
append(div3, t29); | |
append(div3, t30); | |
append(div3, t31); | |
append(div3, t32); | |
append(div3, t33); | |
append(div3, t34); | |
append(div3, t35); | |
mount_component(voffset1, div3, null); | |
append(div3, t36); | |
append(div3, t37); | |
append(div3, t38); | |
append(div3, table0); | |
append(table0, tr0); | |
append(tr0, td0); | |
append(tr0, t40); | |
append(tr0, td1); | |
append(td1, t41); | |
append(td1, br2); | |
append(td1, t42); | |
append(td1, sup0); | |
append(tr0, t44); | |
append(tr0, td2); | |
append(td2, t45); | |
append(td2, br3); | |
append(td2, t46); | |
append(td2, sup1); | |
append(tr0, t48); | |
append(tr0, td3); | |
append(td3, t49); | |
append(td3, sup2); | |
append(tr0, t51); | |
append(tr0, td4); | |
append(td4, t52); | |
append(td4, sup3); | |
append(tr0, t54); | |
append(tr0, td5); | |
append(td5, t55); | |
append(td5, sup4); | |
append(tr0, t57); | |
append(tr0, td6); | |
append(td6, t58); | |
append(td6, sup5); | |
append(table0, t60); | |
append(table0, tr1); | |
append(tr1, td7); | |
append(tr1, t61); | |
append(tr1, td8); | |
append(tr1, t63); | |
append(tr1, td9); | |
append(tr1, t65); | |
append(tr1, td10); | |
append(tr1, t67); | |
append(tr1, td11); | |
append(tr1, t69); | |
append(tr1, td12); | |
append(tr1, t71); | |
append(tr1, td13); | |
append(tr1, t73); | |
append(tr1, td14); | |
append(tr1, t75); | |
append(tr1, td15); | |
append(table0, t77); | |
for (var i = 0; i < each_blocks_3.length; i += 1) { | |
each_blocks_3[i].m(table0, null); | |
} | |
append(div3, t78); | |
mount_component(voffset2, div3, null); | |
append(div3, t79); | |
append(div3, b2); | |
append(b2, t80); | |
append(b2, br4); | |
append(div3, t81); | |
append(div3, raw0_before); | |
raw0_before.insertAdjacentHTML("afterend", raw0_value); | |
append(div3, raw0_after); | |
append(div3, t82); | |
mount_component(voffset3, div3, null); | |
append(div3, t83); | |
append(div3, t84); | |
append(div3, t85); | |
append(div3, button0); | |
append(button0, t86); | |
append(button0, t87); | |
append(div3, t88); | |
if (if_block) if_block.m(div3, null); | |
append(div3, t89); | |
append(div3, button1); | |
append(button1, t90); | |
append(button1, t91); | |
append(div3, t92); | |
mount_component(voffset4, div3, null); | |
append(div3, t93); | |
append(div3, table1); | |
append(table1, tr2); | |
append(tr2, td16); | |
append(tr2, t95); | |
append(tr2, td17); | |
append(td17, span0); | |
append(span0, t96); | |
append(tr2, t97); | |
append(tr2, td18); | |
append(tr2, t99); | |
append(tr2, td19); | |
append(td19, span1); | |
span1.innerHTML = raw1_value; | |
append(div11, t100); | |
append(div11, div10); | |
append(div10, div8); | |
append(div8, div4); | |
append(div4, t101); | |
append(div4, t102); | |
append(div4, t103); | |
append(div8, t104); | |
append(div8, div5); | |
mount_component(voffset5, div5, null); | |
append(div5, t105); | |
append(div5, hr0); | |
append(div5, t106); | |
append(div5, t107); | |
append(div5, t108); | |
append(div5, t109); | |
append(div5, t110); | |
append(div5, br5); | |
append(div5, t111); | |
append(div8, t112); | |
append(div8, div6); | |
mount_component(voffset6, div6, null); | |
append(div6, t113); | |
append(div8, t114); | |
append(div8, div7); | |
mount_component(voffset7, div7, null); | |
append(div7, t115); | |
append(div7, hr1); | |
append(div7, t116); | |
append(div7, t117); | |
append(div7, t118); | |
append(div7, t119); | |
append(div7, br6); | |
append(div7, t120); | |
append(div10, t121); | |
mount_component(voffset8, div10, null); | |
append(div10, t122); | |
append(div10, t123); | |
append(div10, t124); | |
append(div10, div9); | |
append(div9, hr2); | |
append(div9, t125); | |
append(div9, sup6); | |
append(div9, t127); | |
mount_component(voffset9, div9, null); | |
append(div9, t128); | |
append(div9, table2); | |
append(table2, tr3); | |
append(tr3, td20); | |
append(td20, sup7); | |
append(tr3, t130); | |
append(tr3, td21); | |
append(tr3, t132); | |
append(tr3, td22); | |
append(tr3, t134); | |
append(tr3, td23); | |
append(td23, sup8); | |
append(tr3, t136); | |
append(tr3, td24); | |
append(tr3, t138); | |
append(tr3, td25); | |
append(table2, t140); | |
append(table2, tr4); | |
append(tr4, td26); | |
append(tr4, t142); | |
append(tr4, td27); | |
append(tr4, t144); | |
append(tr4, td28); | |
append(tr4, t146); | |
append(tr4, td29); | |
append(table2, t148); | |
append(table2, tr5); | |
append(tr5, td30); | |
append(tr5, t150); | |
append(tr5, td31); | |
append(div9, t152); | |
append(div9, sup9); | |
append(div9, t154); | |
append(div9, table3); | |
append(table3, tr6); | |
append(tr6, td32); | |
append(tr6, t155); | |
for (var i = 0; i < 6; i += 1) { | |
each_blocks_2[i].m(tr6, null); | |
} | |
append(table3, t156); | |
append(table3, tr7); | |
append(tr7, td33); | |
append(tr7, t158); | |
for (var i = 0; i < 5; i += 1) { | |
each_blocks_1[i].m(tr7, null); | |
} | |
append(tr7, t159); | |
append(tr7, td34); | |
append(table3, t161); | |
append(table3, tr8); | |
append(tr8, td35); | |
append(tr8, t163); | |
for (var i = 0; i < 5; i += 1) { | |
each_blocks[i].m(tr8, null); | |
} | |
append(tr8, t164); | |
append(tr8, td36); | |
append(div9, t166); | |
mount_component(voffset10, div9, null); | |
append(div9, t167); | |
append(div9, table4); | |
append(table4, tr9); | |
append(tr9, td37); | |
append(tr9, t169); | |
append(tr9, td38); | |
append(tr9, t171); | |
append(tr9, td39); | |
append(tr9, t173); | |
append(tr9, td40); | |
append(tr9, t175); | |
append(tr9, td41); | |
append(tr9, t177); | |
append(tr9, td42); | |
append(div9, t179); | |
insert(target, t180, anchor); | |
insert(target, div13, anchor); | |
append(div13, div12); | |
append(div12, hr3); | |
append(div12, t181); | |
append(div12, br7); | |
append(div12, t182); | |
mount_component(voffset11, div12, null); | |
append(div12, t183); | |
append(div12, br8); | |
append(div12, t184); | |
append(div12, t185); | |
append(div12, t186); | |
append(div12, t187); | |
append(div12, t188); | |
append(div12, t189); | |
append(div12, t190); | |
append(div12, t191); | |
append(div12, t192); | |
append(div12, br9); | |
append(div12, t193); | |
append(div13, t194); | |
current = true; | |
}, | |
p: function update(changed, ctx) { | |
var seitenlogo_changes = {}; | |
if (changed.privat) seitenlogo_changes.logo = ctx.privat.traegerLogo; | |
seitenlogo.$set(seitenlogo_changes); | |
var pageheader_changes = {}; | |
if (changed.privat) pageheader_changes.logo = ctx.privat.logo; | |
if (changed.privat) pageheader_changes.untertitel = ctx.privat.untertitel; | |
pageheader.$set(pageheader_changes); | |
if ((!current || changed.schueler) && t5_value !== (t5_value = bg(ctx.s, 'Bereich'))) { | |
set_data(t5, t5_value); | |
} | |
if ((!current || changed.schueler) && t8_value !== (t8_value = ctx.s.anrede)) { | |
set_data(t8, t8_value); | |
} | |
if ((!current || changed.schueler) && t10_value !== (t10_value = ctx.s.Vorname)) { | |
set_data(t10, t10_value); | |
} | |
if ((!current || changed.schueler) && t12_value !== (t12_value = ctx.s.Zusatz || '')) { | |
set_data(t12, t12_value); | |
} | |
if ((!current || changed.schueler) && t14_value !== (t14_value = ctx.s.Name)) { | |
set_data(t14, t14_value); | |
} | |
if ((!current || changed.schueler) && t16_value !== (t16_value = datum(ctx.s.Geburtsdatum))) { | |
set_data(t16, t16_value); | |
} | |
if ((!current || changed.schueler) && t18_value !== (t18_value = ctx.s.Geburtsort)) { | |
set_data(t18, t18_value); | |
} | |
if ((!current || changed.schueler) && t21_value !== (t21_value = datum(ctx.s.Aufnahmedatum))) { | |
set_data(t21, t21_value); | |
} | |
if ((!current || changed.schueler) && t23_value !== (t23_value = datum(ctx.s.Entlassdatum))) { | |
set_data(t23, t23_value); | |
} | |
if ((!current || changed.schueler) && t26_value !== (t26_value = bg(ctx.s, 'Zeugniskopf'))) { | |
set_data(t26, t26_value); | |
} | |
if ((!current || changed.schueler) && t28_value !== (t28_value = ctx.s.Geschlecht === 3 ? 'Er':'Sie')) { | |
set_data(t28, t28_value); | |
} | |
if ((!current || changed.schueler) && t30_value !== (t30_value = ctx.s.schueler_in)) { | |
set_data(t30, t30_value); | |
} | |
if ((!current || changed.schueler) && t32_value !== (t32_value = ctx.hj.Abschnitt)) { | |
set_data(t32, t32_value); | |
} | |
if ((!current || changed.schueler) && t34_value !== (t34_value = ctx.hj.Jahrgang+10)) { | |
set_data(t34, t34_value); | |
} | |
if ((!current || changed.schueler) && t37_value !== (t37_value = datum(ctx.hj.Konferenzdatum))) { | |
set_data(t37, t37_value); | |
} | |
if (changed.fhrFach || changed.schueler || changed.punkte2note || changed.fremdsprache) { | |
each_value_6 = ctx.s.abi_abschluss_faecher.sort(func); | |
for (var i = 0; i < each_value_6.length; i += 1) { | |
const child_ctx = get_each_context_6(ctx, each_value_6, i); | |
if (each_blocks_3[i]) { | |
each_blocks_3[i].p(changed, child_ctx); | |
} else { | |
each_blocks_3[i] = create_each_block_6(child_ctx); | |
each_blocks_3[i].c(); | |
each_blocks_3[i].m(table0, null); | |
} | |
} | |
for (; i < each_blocks_3.length; i += 1) { | |
each_blocks_3[i].d(1); | |
} | |
each_blocks_3.length = each_value_6.length; | |
} | |
if ((!current || changed.schueler) && raw0_value !== (raw0_value = bemerkungen(ctx.hj))) { | |
detach_between(raw0_before, raw0_after); | |
raw0_before.insertAdjacentHTML("afterend", raw0_value); | |
} | |
if ((!current || changed.zeige_Kurse_abgeschlossen) && t84_value !== (t84_value = ctx.zeige_Kurse_abgeschlossen ? '':'nicht')) { | |
set_data(t84, t84_value); | |
} | |
if ((!current || changed.zeige_Kurse_abgeschlossen) && t87_value !== (t87_value = ctx.zeige_Kurse_abgeschlossen ? 'Ja' : 'Nein')) { | |
set_data(t87, t87_value); | |
} | |
if (ctx.zeige_FHR) { | |
if (!if_block) { | |
if_block = create_if_block$2(ctx); | |
if_block.c(); | |
transition_in(if_block, 1); | |
if_block.m(div3, t89); | |
} else { | |
transition_in(if_block, 1); | |
} | |
} else if (if_block) { | |
group_outros(); | |
transition_out(if_block, 1, () => { | |
if_block = null; | |
}); | |
check_outros(); | |
} | |
if ((!current || changed.zeige_FHR) && t91_value !== (t91_value = ctx.zeige_FHR ? 'Ja' : 'Nein')) { | |
set_data(t91, t91_value); | |
} | |
if ((!current || changed.schueler) && t96_value !== (t96_value = ctx.s.fhr_abschluss && ctx.s.fhr_abschluss.Note)) { | |
set_data(t96, t96_value); | |
} | |
if ((!current || changed.schueler) && raw1_value !== (raw1_value = ctx.s.fhr_abschluss && ctx.s.fhr_abschluss.Note && noteInWorten(ctx.s.fhr_abschluss.Note))) { | |
span1.innerHTML = raw1_value; | |
} | |
if ((!current || changed.schule) && t101_value !== (t101_value = ctx.schule.Ort)) { | |
set_data(t101, t101_value); | |
} | |
if ((!current || changed.schueler) && t103_value !== (t103_value = datum(ctx.hj.ZeugnisDatum))) { | |
set_data(t103, t103_value); | |
} | |
if ((!current || changed.schule) && t107_value !== (t107_value = ctx.schule.SchulleiterVorname)) { | |
set_data(t107, t107_value); | |
} | |
if ((!current || changed.schule) && t109_value !== (t109_value = ctx.schule.SchulleiterName)) { | |
set_data(t109, t109_value); | |
} | |
if ((!current || changed.schule) && t111_value !== (t111_value = ctx.schule.schulleiter_in)) { | |
set_data(t111, t111_value); | |
} | |
if ((!current || changed.schueler) && t117_value !== (t117_value = ctx.hj.lehrer.Vorname)) { | |
set_data(t117, t117_value); | |
} | |
if ((!current || changed.schueler) && t119_value !== (t119_value = ctx.hj.lehrer.Nachname)) { | |
set_data(t119, t119_value); | |
} | |
if ((!current || changed.schueler) && t120_value !== (t120_value = ctx.hj.klassenlehrer_in)) { | |
set_data(t120, t120_value); | |
} | |
if ((!current || changed.schule) && t123_value !== (t123_value = ctx.schule.SchulNr)) { | |
set_data(t123, t123_value); | |
} | |
if ((!current || changed.schule) && t185_value !== (t185_value = ctx.schule.Bezeichnung2)) { | |
set_data(t185, t185_value); | |
} | |
if ((!current || changed.schule) && t187_value !== (t187_value = ctx.schule.Strasse)) { | |
set_data(t187, t187_value); | |
} | |
if ((!current || changed.schule) && t189_value !== (t189_value = ctx.schule.PLZ)) { | |
set_data(t189, t189_value); | |
} | |
if ((!current || changed.schule) && t191_value !== (t191_value = ctx.schule.Ort)) { | |
set_data(t191, t191_value); | |
} | |
}, | |
i: function intro(local) { | |
if (current) return; | |
transition_in(seitenlogo.$$.fragment, local); | |
transition_in(pageheader.$$.fragment, local); | |
transition_in(voffset0.$$.fragment, local); | |
transition_in(voffset1.$$.fragment, local); | |
transition_in(voffset2.$$.fragment, local); | |
transition_in(voffset3.$$.fragment, local); | |
transition_in(if_block); | |
transition_in(voffset4.$$.fragment, local); | |
transition_in(voffset5.$$.fragment, local); | |
transition_in(voffset6.$$.fragment, local); | |
transition_in(voffset7.$$.fragment, local); | |
transition_in(voffset8.$$.fragment, local); | |
transition_in(voffset9.$$.fragment, local); | |
transition_in(voffset10.$$.fragment, local); | |
transition_in(voffset11.$$.fragment, local); | |
current = true; | |
}, | |
o: function outro(local) { | |
transition_out(seitenlogo.$$.fragment, local); | |
transition_out(pageheader.$$.fragment, local); | |
transition_out(voffset0.$$.fragment, local); | |
transition_out(voffset1.$$.fragment, local); | |
transition_out(voffset2.$$.fragment, local); | |
transition_out(voffset3.$$.fragment, local); | |
transition_out(if_block); | |
transition_out(voffset4.$$.fragment, local); | |
transition_out(voffset5.$$.fragment, local); | |
transition_out(voffset6.$$.fragment, local); | |
transition_out(voffset7.$$.fragment, local); | |
transition_out(voffset8.$$.fragment, local); | |
transition_out(voffset9.$$.fragment, local); | |
transition_out(voffset10.$$.fragment, local); | |
transition_out(voffset11.$$.fragment, local); | |
current = false; | |
}, | |
d: function destroy(detaching) { | |
if (detaching) { | |
detach(div11); | |
} | |
destroy_component(seitenlogo, ); | |
destroy_component(pageheader, ); | |
destroy_component(voffset0, ); | |
destroy_component(voffset1, ); | |
destroy_each(each_blocks_3, detaching); | |
destroy_component(voffset2, ); | |
destroy_component(voffset3, ); | |
if (if_block) if_block.d(); | |
destroy_component(voffset4, ); | |
destroy_component(voffset5, ); | |
destroy_component(voffset6, ); | |
destroy_component(voffset7, ); | |
destroy_component(voffset8, ); | |
destroy_component(voffset9, ); | |
destroy_each(each_blocks_2, detaching); | |
destroy_each(each_blocks_1, detaching); | |
destroy_each(each_blocks, detaching); | |
destroy_component(voffset10, ); | |
if (detaching) { | |
detach(t180); | |
detach(div13); | |
} | |
destroy_component(voffset11, ); | |
run_all(dispose); | |
} | |
}; | |
} | |
// (1:0) {#each schueler as s (s.ID)} | |
function create_each_block(key_1, ctx) { | |
var first, each_blocks = [], each_1_lookup = new Map(), each_1_anchor, current; | |
var each_value_1 = ctx.aktHalbjahrFuer(ctx.s); | |
const get_key = ctx => ctx.hj.ID; | |
for (var i = 0; i < each_value_1.length; i += 1) { | |
let child_ctx = get_each_context_1(ctx, each_value_1, i); | |
let key = get_key(child_ctx); | |
each_1_lookup.set(key, each_blocks[i] = create_each_block_1(key, child_ctx)); | |
} | |
return { | |
key: key_1, | |
first: null, | |
c: function create() { | |
first = empty(); | |
for (i = 0; i < each_blocks.length; i += 1) each_blocks[i].c(); | |
each_1_anchor = empty(); | |
this.first = first; | |
}, | |
m: function mount(target, anchor) { | |
insert(target, first, anchor); | |
for (i = 0; i < each_blocks.length; i += 1) each_blocks[i].m(target, anchor); | |
insert(target, each_1_anchor, anchor); | |
current = true; | |
}, | |
p: function update(changed, ctx) { | |
const each_value_1 = ctx.aktHalbjahrFuer(ctx.s); | |
group_outros(); | |
each_blocks = update_keyed_each(each_blocks, changed, get_key, 1, ctx, each_value_1, each_1_lookup, each_1_anchor.parentNode, outro_and_destroy_block, create_each_block_1, each_1_anchor, get_each_context_1); | |
check_outros(); | |
}, | |
i: function intro(local) { | |
if (current) return; | |
for (var i = 0; i < each_value_1.length; i += 1) transition_in(each_blocks[i]); | |
current = true; | |
}, | |
o: function outro(local) { | |
for (i = 0; i < each_blocks.length; i += 1) transition_out(each_blocks[i]); | |
current = false; | |
}, | |
d: function destroy(detaching) { | |
if (detaching) { | |
detach(first); | |
} | |
for (i = 0; i < each_blocks.length; i += 1) each_blocks[i].d(detaching); | |
if (detaching) { | |
detach(each_1_anchor); | |
} | |
} | |
}; | |
} | |
function create_fragment$3(ctx) { | |
var each_blocks = [], each_1_lookup = new Map(), each_1_anchor, current; | |
var each_value = ctx.schueler; | |
const get_key = ctx => ctx.s.ID; | |
for (var i = 0; i < each_value.length; i += 1) { | |
let child_ctx = get_each_context(ctx, each_value, i); | |
let key = get_key(child_ctx); | |
each_1_lookup.set(key, each_blocks[i] = create_each_block(key, child_ctx)); | |
} | |
return { | |
c: function create() { | |
for (i = 0; i < each_blocks.length; i += 1) each_blocks[i].c(); | |
each_1_anchor = empty(); | |
}, | |
l: function claim(nodes) { | |
throw new Error("options.hydrate only works if the component was compiled with the `hydratable: true` option"); | |
}, | |
m: function mount(target, anchor) { | |
for (i = 0; i < each_blocks.length; i += 1) each_blocks[i].m(target, anchor); | |
insert(target, each_1_anchor, anchor); | |
current = true; | |
}, | |
p: function update(changed, ctx) { | |
const each_value = ctx.schueler; | |
group_outros(); | |
each_blocks = update_keyed_each(each_blocks, changed, get_key, 1, ctx, each_value, each_1_lookup, each_1_anchor.parentNode, outro_and_destroy_block, create_each_block, each_1_anchor, get_each_context); | |
check_outros(); | |
}, | |
i: function intro(local) { | |
if (current) return; | |
for (var i = 0; i < each_value.length; i += 1) transition_in(each_blocks[i]); | |
current = true; | |
}, | |
o: function outro(local) { | |
for (i = 0; i < each_blocks.length; i += 1) transition_out(each_blocks[i]); | |
current = false; | |
}, | |
d: function destroy(detaching) { | |
for (i = 0; i < each_blocks.length; i += 1) each_blocks[i].d(detaching); | |
if (detaching) { | |
detach(each_1_anchor); | |
} | |
} | |
}; | |
} | |
function func(a, b) { | |
return a.FSortierung < b.FSortierung ? -1 : 1; | |
} | |
function instance$3($$self, $$props, $$invalidate) { | |
const kommentar = ` | |
*Achtung* die FHR wird nicht automatisch vergeben, Voraussetzungen beachten | |
- [§13 zu AGZ 12, 13,](https://bass.schul-welt.de/3129.htm#pgfId-1289625) | |
- [VV 13.4 zu Absatz 4](https://bass.schul-welt.de/3129.htm#pgfId-3910131) | |
- [FHR bei Abgängern](https://bass.schul-welt.de/3129.htm#13-33nr1.1p13a_AnlageD) | |
- [Sprachniveaus](https://bass.schul-welt.de/3129.htm#pgfId-3910826) | |
- [AGZ D35](https://bass.schul-welt.de/3129.htm#AnlageD35) | |
- [Kurse abgeschlossen? Bemerkung](https://bass.schul-welt.de/3129.htm#pgfId-3910135) | |
`; | |
let { schueler, schule, privat, jahr, abschnitt } = $$props; | |
let zeige_FHR = false, zeige_Kurse_abgeschlossen = false; | |
const aktHalbjahrFuer = s => [s.abschnitte.find(a => a.Jahr === jahr && a.Abschnitt === abschnitt)]; | |
const fhrFach = (s, fach, id) => { | |
const pid = 'P1' + id; | |
if (!fach[pid]) return | |
const fach2 = s.fhr_abschluss_faecher.find(f => f.Fach_ID === fach.Fach_ID); | |
const rsid = 'RSII_' + id; | |
return fach2[rsid] === '+' ? fach[pid] : `(${fach[pid]})` | |
}; | |
const writable_props = ['schueler', 'schule', 'privat', 'jahr', 'abschnitt']; | |
Object.keys($$props).forEach(key => { | |
if (!writable_props.includes(key) && !key.startsWith('$$')) console.warn(`<AHR_AGZ_zweiseitig> was created with unknown prop '${key}'`); | |
}); | |
function click_handler() { | |
const $$result = zeige_Kurse_abgeschlossen = !zeige_Kurse_abgeschlossen; | |
$$invalidate('zeige_Kurse_abgeschlossen', zeige_Kurse_abgeschlossen); | |
return $$result; | |
} | |
function click_handler_1() { | |
const $$result = zeige_FHR = !zeige_FHR; | |
$$invalidate('zeige_FHR', zeige_FHR); | |
return $$result; | |
} | |
$$self.$set = $$props => { | |
if ('schueler' in $$props) $$invalidate('schueler', schueler = $$props.schueler); | |
if ('schule' in $$props) $$invalidate('schule', schule = $$props.schule); | |
if ('privat' in $$props) $$invalidate('privat', privat = $$props.privat); | |
if ('jahr' in $$props) $$invalidate('jahr', jahr = $$props.jahr); | |
if ('abschnitt' in $$props) $$invalidate('abschnitt', abschnitt = $$props.abschnitt); | |
}; | |
return { | |
kommentar, | |
schueler, | |
schule, | |
privat, | |
jahr, | |
abschnitt, | |
zeige_FHR, | |
zeige_Kurse_abgeschlossen, | |
aktHalbjahrFuer, | |
fhrFach, | |
click_handler, | |
click_handler_1 | |
}; | |
} | |
class AHR_AGZ_zweiseitig extends SvelteComponentDev { | |
constructor(options) { | |
super(options); | |
if (!document.getElementById("svelte-1wjoa5z-style")) add_css$2(); | |
init(this, options, instance$3, create_fragment$3, safe_not_equal, ["kommentar", "schueler", "schule", "privat", "jahr", "abschnitt"]); | |
const { ctx } = this.$$; | |
const props = options.props || {}; | |
if (ctx.schueler === undefined && !('schueler' in props)) { | |
console.warn("<AHR_AGZ_zweiseitig> was created without expected prop 'schueler'"); | |
} | |
if (ctx.schule === undefined && !('schule' in props)) { | |
console.warn("<AHR_AGZ_zweiseitig> was created without expected prop 'schule'"); | |
} | |
if (ctx.privat === undefined && !('privat' in props)) { | |
console.warn("<AHR_AGZ_zweiseitig> was created without expected prop 'privat'"); | |
} | |
if (ctx.jahr === undefined && !('jahr' in props)) { | |
console.warn("<AHR_AGZ_zweiseitig> was created without expected prop 'jahr'"); | |
} | |
if (ctx.abschnitt === undefined && !('abschnitt' in props)) { | |
console.warn("<AHR_AGZ_zweiseitig> was created without expected prop 'abschnitt'"); | |
} | |
} | |
get kommentar() { | |
return this.$$.ctx.kommentar; | |
} | |
set kommentar(value) { | |
throw new Error("<AHR_AGZ_zweiseitig>: Props cannot be set directly on the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'"); | |
} | |
get schueler() { | |
throw new Error("<AHR_AGZ_zweiseitig>: Props cannot be read directly from the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'"); | |
} | |
set schueler(value) { | |
throw new Error("<AHR_AGZ_zweiseitig>: Props cannot be set directly on the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'"); | |
} | |
get schule() { | |
throw new Error("<AHR_AGZ_zweiseitig>: Props cannot be read directly from the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'"); | |
} | |
set schule(value) { | |
throw new Error("<AHR_AGZ_zweiseitig>: Props cannot be set directly on the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'"); | |
} | |
get privat() { | |
throw new Error("<AHR_AGZ_zweiseitig>: Props cannot be read directly from the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'"); | |
} | |
set privat(value) { | |
throw new Error("<AHR_AGZ_zweiseitig>: Props cannot be set directly on the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'"); | |
} | |
get jahr() { | |
throw new Error("<AHR_AGZ_zweiseitig>: Props cannot be read directly from the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'"); | |
} | |
set jahr(value) { | |
throw new Error("<AHR_AGZ_zweiseitig>: Props cannot be set directly on the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'"); | |
} | |
get abschnitt() { | |
throw new Error("<AHR_AGZ_zweiseitig>: Props cannot be read directly from the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'"); | |
} | |
set abschnitt(value) { | |
throw new Error("<AHR_AGZ_zweiseitig>: Props cannot be set directly on the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'"); | |
} | |
} | |
module.exports = AHR_AGZ_zweiseitig; | |
//# sourceMappingURL=bundle.js.map |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment