From 4fa62b8a74d7f4959d74c6abb8cfa5770b71d8a8 Mon Sep 17 00:00:00 2001 From: julian Date: Sat, 20 Jul 2024 01:08:57 +0200 Subject: [PATCH] add studienarbeit latex code --- Studienarbeit/#main.tex# | 108 + Studienarbeit/.#main.tex | 1 + Studienarbeit/.DS_Store | Bin 0 -> 8196 bytes Studienarbeit/.latexmkrc | 5 + Studienarbeit/LICENSE | 21 + Studienarbeit/ads/cover.tex | 57 + Studienarbeit/ads/declaration.tex | 37 + Studienarbeit/ads/header.tex | 190 ++ Studienarbeit/ads/restrictionNotices.tex | 51 + Studienarbeit/bibliographie.bib | 587 +++++ Studienarbeit/content/abstract.tex | 18 + Studienarbeit/content/acronyms.tex | 16 + Studienarbeit/content/appendix.tex | 85 + Studienarbeit/content/chapter/01.tex | 401 +++ Studienarbeit/content/chapter/02.tex | 251 ++ Studienarbeit/content/chapter/03.tex | 450 ++++ Studienarbeit/content/chapter/04.tex | 78 + Studienarbeit/content/chapter/05.tex | 35 + Studienarbeit/content/glossary.tex | 16 + Studienarbeit/images/cover/logo-company.png | Bin 0 -> 9870 bytes Studienarbeit/images/cover/logo-dhbw.pdf | Bin 0 -> 16447 bytes Studienarbeit/images/logo.png | Bin 0 -> 9870 bytes Studienarbeit/lang/de.tex | 39 + Studienarbeit/lang/en.tex | 41 + Studienarbeit/main.aux | 563 ++++ Studienarbeit/main.bbl | 1333 ++++++++++ Studienarbeit/main.bbl-SAVE-ERROR | 1409 ++++++++++ Studienarbeit/main.bcf | 2480 ++++++++++++++++++ Studienarbeit/main.bcf-SAVE-ERROR | 2399 +++++++++++++++++ Studienarbeit/main.blg | 18 + Studienarbeit/main.fdb_latexmk | 443 ++++ Studienarbeit/main.fls | 860 +++++++ Studienarbeit/main.glo | 33 + Studienarbeit/main.glsdefs | 0 Studienarbeit/main.ist | 29 + Studienarbeit/main.lof | 20 + Studienarbeit/main.log | 2570 +++++++++++++++++++ Studienarbeit/main.lol | 48 + Studienarbeit/main.lot | 12 + Studienarbeit/main.pdf | Bin 0 -> 611886 bytes Studienarbeit/main.run.xml | 87 + Studienarbeit/main.tex | 108 + Studienarbeit/main.tex.bbl | 0 Studienarbeit/main.tex.blg | 5 + Studienarbeit/main.toc | 42 + Studienarbeit/readme.md | 187 ++ Studienarbeit/settings/document.tex | 50 + Studienarbeit/settings/main.tex | 55 + Studienarbeit/texput.log | 21 + 49 files changed, 15259 insertions(+) create mode 100644 Studienarbeit/#main.tex# create mode 120000 Studienarbeit/.#main.tex create mode 100644 Studienarbeit/.DS_Store create mode 100644 Studienarbeit/.latexmkrc create mode 100644 Studienarbeit/LICENSE create mode 100644 Studienarbeit/ads/cover.tex create mode 100644 Studienarbeit/ads/declaration.tex create mode 100644 Studienarbeit/ads/header.tex create mode 100644 Studienarbeit/ads/restrictionNotices.tex create mode 100644 Studienarbeit/bibliographie.bib create mode 100644 Studienarbeit/content/abstract.tex create mode 100644 Studienarbeit/content/acronyms.tex create mode 100644 Studienarbeit/content/appendix.tex create mode 100644 Studienarbeit/content/chapter/01.tex create mode 100644 Studienarbeit/content/chapter/02.tex create mode 100644 Studienarbeit/content/chapter/03.tex create mode 100644 Studienarbeit/content/chapter/04.tex create mode 100644 Studienarbeit/content/chapter/05.tex create mode 100644 Studienarbeit/content/glossary.tex create mode 100644 Studienarbeit/images/cover/logo-company.png create mode 100644 Studienarbeit/images/cover/logo-dhbw.pdf create mode 100644 Studienarbeit/images/logo.png create mode 100644 Studienarbeit/lang/de.tex create mode 100644 Studienarbeit/lang/en.tex create mode 100644 Studienarbeit/main.aux create mode 100644 Studienarbeit/main.bbl create mode 100644 Studienarbeit/main.bbl-SAVE-ERROR create mode 100644 Studienarbeit/main.bcf create mode 100644 Studienarbeit/main.bcf-SAVE-ERROR create mode 100644 Studienarbeit/main.blg create mode 100644 Studienarbeit/main.fdb_latexmk create mode 100644 Studienarbeit/main.fls create mode 100644 Studienarbeit/main.glo create mode 100644 Studienarbeit/main.glsdefs create mode 100644 Studienarbeit/main.ist create mode 100644 Studienarbeit/main.lof create mode 100644 Studienarbeit/main.log create mode 100644 Studienarbeit/main.lol create mode 100644 Studienarbeit/main.lot create mode 100644 Studienarbeit/main.pdf create mode 100644 Studienarbeit/main.run.xml create mode 100644 Studienarbeit/main.tex create mode 100644 Studienarbeit/main.tex.bbl create mode 100644 Studienarbeit/main.tex.blg create mode 100644 Studienarbeit/main.toc create mode 100644 Studienarbeit/readme.md create mode 100644 Studienarbeit/settings/document.tex create mode 100644 Studienarbeit/settings/main.tex create mode 100644 Studienarbeit/texput.log diff --git a/Studienarbeit/#main.tex# b/Studienarbeit/#main.tex# new file mode 100644 index 0000000..9852ef4 --- /dev/null +++ b/Studienarbeit/#main.tex# @@ -0,0 +1,108 @@ +%!TEX root = ./main.tex + +%%************************************************************** +%% +%% DHBW Heidenheim - Template for Bachelor Thesis +%% +%% Bevor usisng this template please have a look at the REAMDME.md file +%% +%%************************************************************** + +\input{ads/header} + +\input{content/glossary} + +\begin{document} + + % Cover + \begin{spacing}{1} + \input{ads/cover} + \end{spacing} + \newpage + + \pagenumbering{Roman} + + % Restriction notices + \ifDocType{T2\_3100}{% + % no restricition notices for semester paper + }{% + \input{ads/restrictionNotices} + \newpage + }% + + % Declaration + \input{ads/declaration} + \newpage + + % Abstract + \input{content/abstract} + \newpage + + % only page number in footer + \pagestyle{plain} + + % space bevore chapter headline + \RedeclareSectionCommand[beforeskip=\chapterMargin]{chapter} + + % Contents + \begin{spacing}{1.1} + \begingroup + + % set subchapter depth + \setcounter{tocdepth}{2} + + \tableofcontents + \clearpage + \endgroup + \end{spacing} + \newpage + + % Acronyms + \cleardoublepage + \input{content/acronyms} + + % List of Figures + \cleardoublepage + \listoffigures + + %List of Tables + \cleardoublepage + \listoftables + + % List of Listings + \cleardoublepage + \lstlistoflistings + \cleardoublepage + + \pagenumbering{arabic} + + \pagestyle{headings} + + %Content + \foreach \i in {01,02,03,04,05,06,07,08,09,...,99} {% + \edef\FileName{content/chapter/\i .tex}% + \IfFileExists{\FileName}{% + \input{\FileName} + } + {% +% No chapter available + } + } + + \clearpage + + % Bibilography + \cleardoublepage + \printbibliography + + % Glossar + \cleardoublepage + \printglossary[style=altlist,title=\glossaryPhrase] + \input{content/glossary} + + % Appendix + \clearpage + \appendix + \input{content/appendix} + +\end{document} diff --git a/Studienarbeit/.#main.tex b/Studienarbeit/.#main.tex new file mode 120000 index 0000000..77aab5f --- /dev/null +++ b/Studienarbeit/.#main.tex @@ -0,0 +1 @@ +julianschmidt@MacBook-Air-von-Julian.local.5733 \ No newline at end of file diff --git a/Studienarbeit/.DS_Store b/Studienarbeit/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..141db198ff9016621a2171473733ff066c1fd505 GIT binary patch literal 8196 zcmeHM&2G~`5S~pe8VW*1TzWxR;@n8Qf%}s~B?M9{afLW>Ohr;xX)5KIJK`011;oSf zFr3Oav#V-n+(d{2ieNYLj%$D4?Cdw=wbmsfcXTs;MYK;uJsfQJ9-+IZ@qIp8trM=~ zunv5pOX|~tDq7OZ7CK!>3M2)R0!e|SKvG~E6u>*1TW`&K-``DrQXnbtUn;=sLym)O z5$wuaSvt_k763NGWobCaK0r8mutl&dZ-okXW0I&G@LP~ z-)3nJ9U4vsPK{9(2KUY2*tg(-tr1g0bE-7QJ->%D#T@+ChZ%hWXQVmV3(Vt5G>0zm zW4hKT_tSWON+sebX^Or6%yn1sKEc$s9c+|7d`6KDlgAT zjNgmqIzhFS^j>mySEnXwuD+Nbk2e9+Rs?5y9li#>(f*}2WBlVNKE_`o#tPb)aXMV3 zF)xnm0xVP2QmO0kh{|S5YH$*{ZM>EwIjD<*=FN z%qjeCSW~Ys>jh@b>e_7BrvzfBw)F~heT4hG{~xUX{=fC}NC74Vk^+COfXhzKPmaJ3 zd+U}b-fQPLKH%WSxRtj;K_}aBSlN!l-u=T6=Q*IvDS};jiz{e<{X@X53>&|f`Hhy| R|0Q(6PA|Rxr9S@o?iX%39hv|D literal 0 HcmV?d00001 diff --git a/Studienarbeit/.latexmkrc b/Studienarbeit/.latexmkrc new file mode 100644 index 0000000..7b560f5 --- /dev/null +++ b/Studienarbeit/.latexmkrc @@ -0,0 +1,5 @@ + +$pdf_mode = 1; +$bibtex_use = 2; +$biber = 'biber %O %S'; +$pdflatex = 'pdflatex -interaction=errorstopmode -file-line-error %O %S'; diff --git a/Studienarbeit/LICENSE b/Studienarbeit/LICENSE new file mode 100644 index 0000000..c212ef1 --- /dev/null +++ b/Studienarbeit/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2017 Prof. Dr. Rolf Assfalg, Stefan Schneider, Andreas Kießling + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/Studienarbeit/ads/cover.tex b/Studienarbeit/ads/cover.tex new file mode 100644 index 0000000..66774b9 --- /dev/null +++ b/Studienarbeit/ads/cover.tex @@ -0,0 +1,57 @@ +%!TEX root = ../main.tex + +\begin{titlepage} + \begin{longtable}{p{8cm} p{8cm}} + \raggedright {\raisebox{\ht\strutbox-\totalheight}{\includegraphics[height=2.5cm]{images/cover/logo-dhbw.pdf}}} & + % no company logo for semester paper and special documents + \ifDocType{T2\_3100}{}{% + \ifSpecialDocument{}{% + \raggedleft {\raisebox{\ht\strutbox-\totalheight}{\includegraphics[height=2.5cm]{images/cover/logo-company.png}}} + }% + }% + \end{longtable} + \enlargethispage{20mm} + \begin{center} + \doublespacing{ + \vspace*{12mm} {\LARGE\textbf \documentTitle }}\\ + \vspace*{12mm} {\large\textbf {\documentTypePhrase}}\\ + + % degre only for bachelor thesis + \ifDocType{T2\_3300}{ + \vspace*{12mm} \degreePhrase\\ + \vspace*{3mm} {\textbf \degree}\\ + } + + \IfStrEq{\showLecture}{true}{ + \vspace*{12mm} \lecturePhrase\\ + \vspace*{0mm} {\textbf \lecture}\\ + } + + \vspace*{12mm} \departmentPhrase{} \department\\ + \vspace*{0mm} \locationUniversityPhrase{} \locationUniversity\\ + \vspace*{12mm} \documentAuthorPhrase\\ + \vspace*{3mm} {\large\textbf \documentAuthor}\\ + \vspace*{12mm} \releaseDate\\ + \end{center} + \vfill + \begin{spacing}{1.2} + \begin{tabbing} + mmmmmmmmmmmmmmmmmmmmmmmmmm \= \kill + %\textbf{\documentPeriodPhrase} \> \documentPeriod\\ + \textbf{\matriculationNumberPhrase, \coursePhrase} \> \matriculationNumber, \course\\ + + % no company for the semester paper and special documents + \ifDocType{T2\_3100}{}{% + \ifSpecialDocument{}{% + \textbf{\companyPhrase} \> \companyName, \companyLocation\\ + }% + }% + \textbf{Betreuer}/\textbf{\tutorPhrase} \> \tutor\\ + + % evaluator only for bachelor thesis + \ifDocType{T2\_3300}{% + \textbf{\evaluatorPhrase} \> \evaluator + }{} + \end{tabbing} + \end{spacing} +\end{titlepage} diff --git a/Studienarbeit/ads/declaration.tex b/Studienarbeit/ads/declaration.tex new file mode 100644 index 0000000..5106f65 --- /dev/null +++ b/Studienarbeit/ads/declaration.tex @@ -0,0 +1,37 @@ +%!TEX root = ../main.tex + +\thispagestyle{empty} + +\section*{\declarationPhrase} + +\vspace*{2em} + +\iflang{de}{% + \ifMultipleAuthors{Wir versichern}{Ich versichere} hiermit, dass \ifMultipleAuthors{wir unsere}{ich meine} + {\documentTypePhrase} mit dem Thema: {\itshape \documentTitle } + selbstständig verfasst und keine anderen als die angegebenen Quellen und Hilfsmittel benutzt \ifMultipleAuthors{haben}{habe}. +} + + +\iflang{en}{% + Hereby \ifMultipleAuthors{we}{I} solemnly declare: + \begin{enumerate} + \item that this {\documentTypePhrase}, titled {\itshape \documentTitle } is entirely the product of \ifMultipleAuthors{our}{my} + own scholarly work, unless otherwise indicated in the text or references, or acknowledged below; + \item \ifMultipleAuthors{we}{I} have indicated the thoughts adopted directly or indirectly from other sources at the appropriate + places within the document; + \item this {\documentTypePhrase} has not been submitted either in whole or part, for a degree at this or + any other university or institution; + \item \ifMultipleAuthors{we}{I} have not published this {\documentTypePhrase} in the past; + \item the printed version is equivalent to the submitted electronic one. + \end{enumerate} + \ifMultipleAuthors{We are}{I am} aware that a dishonest declaration will entail legal consequences. +} + +\vspace{3em} + +\releaseLocation, 02. Juni 2024 +\vspace{4em} + +\rule{6cm}{0.4pt}\\ +\documentAuthor diff --git a/Studienarbeit/ads/header.tex b/Studienarbeit/ads/header.tex new file mode 100644 index 0000000..aa99892 --- /dev/null +++ b/Studienarbeit/ads/header.tex @@ -0,0 +1,190 @@ +%!TEX root = ../main.tex + +% show warning for old LaTeX syntax +\RequirePackage[l2tabu, orthodox]{nag} + +\documentclass[ + pdftex, + oneside, + 12pt, % fontsize + parskip=half, % Space (in lines) between paragraphs + headheight = 12pt, % Header hight + headsepline, % Line after header + footheight = 16pt, % Footer height + footsepline, % Line before footer + abstract=true, % Abstract headline + DIV=calc, % Calculate print space + BCOR=8mm, % BCOR settings (Bindekorrektur) + headinclude=false, % Exclude header from print space + footinclude=false, % Exclude footer from print space + listof=totoc, % Show List of Figures/Tables in Contents + toc=bibliography, % Show Bibliography in Contents +]{scrreprt} % Koma-Script report-class, long document: scrreprt, short document: scrbook + +\usepackage{xstring} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} + +% iflang command definition +\newcommand{\iflang}[2]{% + \IfStrEq{\documentLanguage}{#1}{#2}{}% +} + +% ifDocType comand definition +\newcommand{\ifDocType}[3]{% + \IfStrEq{\documentType}{#1}{#2}{#3}% +} + +% ifMultipleAuthors definition +\newcommand{\ifMultipleAuthors}[2]{% + \IfStrEq{\multipleAuthors}{true}{#1}{#2}% +} + +% ifSpecialDocument definition +\newcommand{\ifSpecialDocument}[2]{\IfStrEqCase{\documentType}{% + {T2_1000}{#2\ignorespaces}% + {T2\_2000}{#2\ignorespaces}% + {T2\_3100}{#2\ignorespaces}% + {T2\_3300}{#2\ignorespaces}% + }[#1\ignorespaces]% +} + +% Include main settings +\input{settings/main} + +% Include document settings +\input{settings/document} + +% Load language specific Strings +\input{lang/\documentLanguage} + +% Load language specific babel package +\iflang{de}{\usepackage[english, ngerman]{babel}} +\iflang{en}{\usepackage[ngerman, english]{babel}} + +% Add comment feature +\newcommand{\comment}[1]{\par {\bfseries \color{blue} #1 \par}} + + +%%%%%%% Package Includes %%%%%%% + +\usepackage[margin=\margin,foot=1cm]{geometry} +\usepackage[activate]{microtype} +\usepackage[onehalfspacing]{setspace} +\usepackage{makeidx} +\usepackage[autostyle=true,german=quotes]{csquotes} +\usepackage{longtable} +\usepackage{enumitem} +\usepackage{graphicx} +\usepackage{pdfpages} +\usepackage{xcolor} +\usepackage{float} +\usepackage{array} +\usepackage{calc} +\usepackage[right]{eurosym} +\usepackage{wrapfig} +\usepackage{pgffor} +\usepackage[perpage, hang, multiple, stable]{footmisc} +\usepackage[printonlyused]{acronym} +\usepackage{listings} +\usepackage[obeyFinal,backgroundcolor=yellow,linecolor=black]{todonotes} +\usepackage{rotating} +\usepackage{lscape} +\usepackage{amsmath} +\usepackage{amssymb} +\usepackage{\documentFont} +\usepackage[% + pdftitle={\documentTitle}, + pdfauthor={\documentAuthor}, + pdfsubject={\documentType}, + pdfcreator={pdflatex, LaTeX with KOMA-Script}, + pdfpagemode=UseOutlines, % Show Contents while opening + pdfdisplaydoctitle=true, % Show document title instead of file name + pdflang={\documentLanguage}, % Document language +]{hyperref} +\usepackage{bookmark} +\usepackage[nonumberlist,toc]{glossaries} +\usepackage{fontawesome5} +\usepackage{forest} +\usepackage{pgf-pie} +\usepackage{float} + +% Generate glossary +\makeglossaries{} + +% Load colors +\defineColors{} + +% Set Titel, Autor and Date +\title{\documentTitle} +\author{\documentAuthor} +\date{\datum} + + +% PDF link settings +\hypersetup{% + colorlinks=true, + linkcolor=LinkColor, + citecolor=LinkColor, + filecolor=LinkColor, + menucolor=LinkColor, + urlcolor=LinkColor, + linktocpage=true, + bookmarksnumbered=true +} + +% Captions fontsize +\addtokomafont{caption}{\small} + +% Bibliographie settings +\iflang{de}{% + \usepackage[ + backend=biber, % recommended. Alternative: bibtex + bibwarn=true, + bibencoding=utf8, % If .bib file is encoded with utf8, otherwise ascii + sortlocale=de_DE, + style=numeric + %style=\quoteStyle, + ]{biblatex} +} +\iflang{en}{% + \usepackage[ + backend=biber, % recommended. Alternative: bibtex + bibwarn=true, + bibencoding=utf8, % If .bib file is encoded with utf8, otherwise ascii + sortlocale=en_US, + style=\quoteStyle, + ]{biblatex} +} + +\usepackage{amsthm} +\usepackage{tikz} +\usetikzlibrary{shapes,arrows,positioning,calc, positioning, fit, backgrounds,arrows.meta} +\usepackage{pgfplots} % Add this line to import the necessary package + +\theoremstyle{definition} +\newtheorem{definition}{Definition}[section] + +\addbibresource{bibliographie.bib} + +% Hurenkinder und Schusterjungen verhindern +% http://projekte.dante.de/DanteFAQ/Silbentrennung +\clubpenalty = 10000 % schließt Schusterjungen aus (Seitenumbruch nach der ersten Zeile eines neuen Absatzes) +\widowpenalty = 10000 % schließt Hurenkinder aus (die letzte Zeile eines Absatzes steht auf einer neuen Seite) +\displaywidowpenalty=10000 + +% Graphicspath +\graphicspath{{images/}} + +% frequently used programing languages +\lstloadlanguages{PHP,Python,Java,C,C++,bash} + +\listingsettings{} +% Rename Listings +\renewcommand\lstlistingname{\listingPhrase} +\renewcommand\lstlistlistingname{\listListingPhrase} +\def\lstlistingautorefname{\authorListingPhrase} + +% Spaces in tables +\setlength{\tabcolsep}{\tableColumnMargin} +\renewcommand{\arraystretch}{\tableRowMargin} diff --git a/Studienarbeit/ads/restrictionNotices.tex b/Studienarbeit/ads/restrictionNotices.tex new file mode 100644 index 0000000..bf1c470 --- /dev/null +++ b/Studienarbeit/ads/restrictionNotices.tex @@ -0,0 +1,51 @@ +%!TEX root = ../main.tex + +\thispagestyle{empty} + +\section*{\restrictionNoticesPhrase} + +\vspace*{2em} + +\iflang{de}{% + Die vorliegende {\documentTypePhrase} mit dem Titel {\itshape{} \documentTitle{}\/} enthält + unternehmensinterne bzw. vertrauliche Informationen der {\companyName}, ist deshalb mit einem + Sperrvermerk versehen und wird ausschließlich zu Prüfungszwecken am Studiengang {\department} + der Dualen Hochschule Baden-Württemberg {\locationUniversity} vorgelegt. Sie ist ausschließlich zur + Einsicht durch den zugeteilten Gutachter, die Leitung des Studiengangs und ggf. den Prüfungsausschuss + des Studiengangs bestimmt. Es ist untersagt, + \begin{itemize} + \item den Inhalt dieser Arbeit (einschließlich Daten, Abbildungen, Tabellen, Zeichnungen usw.) als + Ganzes oder auszugsweise weiterzugeben, + \item Kopien oder Abschriften dieser Arbeit (einschließlich Daten, Abbildungen, Tabellen, + Zeichnungen usw.) als Ganzes oder in Auszügen anzufertigen, + \item diese Arbeit zu veröffentlichen bzw. digital, elektronisch oder virtuell zur Verfügung zu stellen. + \end{itemize} +Jede anderweitige Einsichtnahme und Veröffentlichung – auch von Teilen der Arbeit – bedarf der +vorherigen Zustimmung durch den Verfasser und {\companyName}. +} + +%http://www.ib.dhbw-mannheim.de/fileadmin/ms/bwl-ib/Downloads_alt/Leitfaden_31.05.pdf + +\iflang{en}{% + The {\documentTypePhrase} on hand + \begin{center}{\itshape{} \documentTitle{}\/}\end{center} + contains internal resp.\ confidential data of {\companyName}. It is intended solely for inspection by the + assigned examiner, the head of the {\department} department and, if necessary, the Audit + Committee \locationUniversityPhrase{} {\locationUniversity}. It is strictly forbidden + \begin{itemize} + \item to distribute the content of this paper (including data, figures, tables, charts etc.) as a whole or + in extracts, + \item to make copies or transcripts of this paper or of parts of it, + \item to display this paper or make it available in digital, electronic or virtual form. + \end{itemize} + Exceptional cases may be considered through permission granted in written form by the author + and {\companyName}. +} + +\vspace{3em} + +\releaseLocation, \releaseDate +\vspace{4em} + +\rule{6cm}{0.4pt}\\ +\documentAuthor diff --git a/Studienarbeit/bibliographie.bib b/Studienarbeit/bibliographie.bib new file mode 100644 index 0000000..d91f968 --- /dev/null +++ b/Studienarbeit/bibliographie.bib @@ -0,0 +1,587 @@ + +@article{marlow_haskell_2010, + title = {Haskell 2010 language report}, + journaltitle = {Available online http://www. haskell. org/(May 2011)}, + author = {Marlow, Simon and {others}}, + date = {2010}, +} + +@article{schwabbauer_use_1975, + title = {Use of the latent image technique to develop and evaluate problem-solving skills}, + volume = {41}, + issn = {0002-9335}, + abstract = {This project involved designing, developing and evaluating a simulation module, utilizing the latent image technique. The general topic chosen for this simulation was the laboratory characterization of anemias. Target learner populations included medical technology students, physician assistant students, and pathology residents. Members of all three groups participated in the evaluation of the module and responded to its use in varied settings.}, + pages = {457--462}, + number = {12}, + journaltitle = {The American Journal of Medical Technology}, + shortjournal = {Am J Med Technol}, + author = {Schwabbauer, M. L.}, + date = {1975-12}, + pmid = {2010}, + keywords = {Anemia, Hematuria, Humans, Iowa, Medical Laboratory Science, Models, Psychological, Physician Assistants, Problem Solving, Teaching, Teaching Materials}, +} + +@online{goetz_jep_2016, + title = {{JEP} 286: Local-Variable Type Inference}, + url = {https://openjdk.org/jeps/286}, + titleaddon = {{JEP} 286: Local-Variable Type Inference}, + author = {Goetz, Brian}, + urldate = {2024-04-25}, + date = {2016-03-08}, + langid = {english}, + file = {JEP 286\: Local-Variable Type Inference:/Users/julianschmidt/Zotero/storage/6TH6X9NA/286.html:text/html}, +} + +@online{darcy_java_2010, + title = {The Java Community Process({SM}) Program - {JSRs}: Java Specification Requests - detail {JSR}\# 334}, + url = {https://jcp.org/en/jsr/detail?id=334}, + titleaddon = {{JSR} 334: Small Enhancements to the {JavaTM} Programming Language}, + author = {Darcy, Joe}, + urldate = {2024-04-25}, + date = {2010-11-16}, + langid = {english}, + file = {The Java Community Process(SM) Program - JSRs\: Java Specification Requests - detail JSR# 334:/Users/julianschmidt/Zotero/storage/JKYYJAC8/detail.html:text/html}, +} + +@online{darcy_jep_2011, + title = {{JEP} 126: Lambda Expressions \& Virtual Extension Methods}, + url = {https://openjdk.org/jeps/126}, + titleaddon = {{JEP} 126: Lambda Expressions \& Virtual Extension Methods}, + author = {Darcy, Joseph D.}, + date = {2011-11-01}, +} + +@inproceedings{odersky_pizza_1997, + location = {Paris, France}, + title = {Pizza into Java: translating theory into practice}, + isbn = {978-0-89791-853-4}, + url = {http://portal.acm.org/citation.cfm?doid=263699.263715}, + doi = {10.1145/263699.263715}, + shorttitle = {Pizza into Java}, + eventtitle = {the 24th {ACM} {SIGPLAN}-{SIGACT} symposium}, + pages = {146--159}, + booktitle = {Proceedings of the 24th {ACM} {SIGPLAN}-{SIGACT} symposium on Principles of programming languages - {POPL} '97}, + publisher = {{ACM} Press}, + author = {Odersky, Martin and Wadler, Philip}, + urldate = {2024-04-25}, + date = {1997}, + langid = {english}, + file = {Volltext:/Users/julianschmidt/Zotero/storage/RSQWTLP7/Odersky und Wadler - 1997 - Pizza into Java translating theory into practice.pdf:application/pdf}, +} + +@online{cimadamore_jep_2011, + title = {{JEP} 101: Generalized Target-Type Inference}, + url = {https://openjdk.org/jeps/101}, + titleaddon = {{JEP} 101: Generalized Target-Type Inference}, + author = {Cimadamore, Maurizio}, + urldate = {2024-04-25}, + date = {2011-02-22}, + file = {JEP 101\: Generalized Target-Type Inference:/Users/julianschmidt/Zotero/storage/NXVIDL23/101.html:text/html}, +} + +@book{gosling_java_2005, + location = {Upper Saddle River, {NJ}}, + edition = {3}, + title = {The Java Language Specification, 3rd Edition}, + isbn = {978-0-321-24678-3}, + abstract = {Written by the inventors of the language, this book provides the mostauthoritative technical reference for all serious programmers seeking to sharpenand hone their Java programming skills. As the definitive reference book, itprovides programmers with complete, precise, and detailed coverage of theentire Java programming language and defines the current state and evolutionof the language. Java 1.5 aka "Tiger"( and soon to be Java 5.0) will be releasedin the fall of 2004, and this reference supplies coverage on the most recentupdates to the Java language including generics, a tool developers have beenasking to be included in the language for years.}, + pagetotal = {684}, + publisher = {Addison Wesley}, + author = {Gosling, James and Joy, Bill and Jr, Guy L. Steele and Bracha, Gilad}, + date = {2005-06-14}, + file = {jls3.pdf:/Users/julianschmidt/Zotero/storage/2A3STVHH/jls3.pdf:application/pdf}, +} + +@online{buckley_java_2004, + title = {The Java Community Process({SM}) Program - {JSRs}: Java Specification Requests - detail {JSR}\# 14}, + url = {https://www.jcp.org/en/jsr/detail?id=14}, + titleaddon = {{JSR} 14: Add Generic Types To The {JavaTM} Programming Language}, + author = {Buckley, Alex}, + urldate = {2024-04-25}, + date = {2004-09-30}, + langid = {english}, + file = {The Java Community Process(SM) Program - JSRs\: Java Specification Requests - detail JSR# 14:/Users/julianschmidt/Zotero/storage/43BSC4VI/detail.html:text/html}, +} + +@online{noauthor_jdk_nodate, + title = {{JDK} 7 Features}, + url = {https://openjdk.org/projects/jdk7/features/}, + urldate = {2024-04-25}, + file = {JDK 7 Features:/Users/julianschmidt/Zotero/storage/7XCG2WCR/features.html:text/html}, +} + +@online{noauthor_jdk_nodate-1, + title = {{JDK} 10}, + url = {https://openjdk.org/projects/jdk/10/}, + urldate = {2024-04-25}, + file = {JDK 10:/Users/julianschmidt/Zotero/storage/4B425SGD/10.html:text/html}, +} + +@online{nutter_first_nodate, + title = {A First Taste of {InvokeDynamic}}, + url = {http://blog.headius.com/2008/09/first-taste-of-invokedynamic.html}, + abstract = {Greetings, readers! +Over the past couple weeks I've had a few departures from typical {JRuby} development. I consider it a working vacation. I'm hoping to report on all of it soon, but for now we'll focus on one of the most exciting items: {JSR}-292, otherwise known as}, + author = {Nutter, Charles Oliver}, + urldate = {2024-04-25}, + file = {Snapshot:/Users/julianschmidt/Zotero/storage/SNC2TWBT/first-taste-of-invokedynamic.html:text/html}, +} + +@inproceedings{plumicke_well-typings_2011, + location = {New York, {NY}, {USA}}, + title = {Well-typings for Javaλ}, + isbn = {978-1-4503-0935-6}, + url = {https://dl.acm.org/doi/10.1145/2093157.2093171}, + doi = {10.1145/2093157.2093171}, + series = {{PPPJ} '11}, + abstract = {In the last decade Java has been extended by some features, which are well-known from functional programming languages. In Java 8 the language will be expanded by closures (λ-expressions). In our contribution we give a formal definition for an abstract syntax of a reduced language Javaλ with closures, define the type system, and formalize the subtyping relation. We define the set of types as an extension of the generic type definition for Java 5 types. Finally, we give a type inference system, which describes the typings of Javaλ expressions and statements and we present a type inference algorithm. The type inference algorithm is an adaptation of a type inference algorithm for a typed λ--calculus. The inferred types are well-typings. A well-typing is a conditional type for an expression, where the conditions are given by a set of consistent coercions.}, + pages = {91--100}, + booktitle = {Proceedings of the 9th International Conference on Principles and Practice of Programming in Java}, + publisher = {Association for Computing Machinery}, + author = {Plümicke, Martin}, + urldate = {2024-04-24}, + date = {2011-08-24}, + keywords = {code generation, language design, program design and implementation, type inference, type system}, + file = {Full Text PDF:/Users/julianschmidt/Zotero/storage/MV3KS9G9/Plümicke - 2011 - Well-typings for Javaλ.pdf:application/pdf}, +} + +@article{stadelmeier_global_2022, + title = {Global Type Inference for Featherweight Generic Java - Prototype Implementation (Artifact)}, + rights = {https://creativecommons.org/licenses/by/4.0/legalcode}, + url = {https://drops.dagstuhl.de/entities/document/10.4230/DARTS.8.2.18}, + doi = {10.4230/DARTS.8.2.18}, + abstract = {We implemented a prototype of the type inference algorithm described in the paper "Global Type Inference for Featherweight Generic Java". Our type inference algorithm for Featherweight Generic Java ({GFJ}) is able to calculate the missing types in a Typeless Featherweight Generic Java ({FGJ}-{GT}) program. Inserting those types generates a valid {GFJ} program. We demonstrate this with a prototype implementation. The prototype is a web application which accepts {GFJ}-{GT} programs as input and shows the respective {GFJ} program after the type inference.}, + journaltitle = {{DROPS}-{IDN}/v2/document/10.4230/{DARTS}.8.2.18}, + author = {Stadelmeier, Andreas and Plümicke, Martin and Thiemann, Peter}, + urldate = {2024-04-24}, + date = {2022}, + langid = {english}, + note = {Publisher: Schloss Dagstuhl – Leibniz-Zentrum für Informatik}, + file = {Full Text PDF:/Users/julianschmidt/Zotero/storage/3YMFJLVR/Stadelmeier et al. - 2022 - Global Type Inference for Featherweight Generic Ja.pdf:application/pdf}, +} + +@inproceedings{plumicke_introducing_2017, + location = {New York, {NY}, {USA}}, + title = {Introducing Scala-like function types into Java-{TX}}, + isbn = {978-1-4503-5340-3}, + url = {https://doi.org/10.1145/3132190.3132203}, + doi = {10.1145/3132190.3132203}, + series = {{ManLang} 2017}, + abstract = {This paper considers the realisation of lambda expressions in Java 8 on the basis of a global type inference algorithm, which we have introduced in Java-{TX}. We demonstrate that the Java 8 approach has indeed some benefits but also a number of drawbacks. In order to eliminate the drawbacks, we take into consideration the approaches in a former experimental Java version (strawman approach) and in Scala. We show that an integration of these approaches eliminates the drawbacks without losing the benefits of the Java 8 approach. Additionally, we adapt our global type inference algorithm to this extended language.}, + pages = {23--34}, + booktitle = {Proceedings of the 14th International Conference on Managed Languages and Runtimes}, + publisher = {Association for Computing Machinery}, + author = {Plümicke, Martin and Stadelmeier, Andreas}, + urldate = {2024-04-24}, + date = {2017-09-27}, + keywords = {type inference, function types, Java, lambda expressions}, + file = {Plümicke und Stadelmeier - 2017 - Introducing Scala-like function types into Java-TX.pdf:/Users/julianschmidt/Zotero/storage/T433TNLU/Plümicke und Stadelmeier - 2017 - Introducing Scala-like function types into Java-TX.pdf:application/pdf}, +} + +@online{noauthor_zotero_nodate, + title = {Zotero {\textbar} Downloads}, + url = {https://www.zotero.org/download/}, + urldate = {2024-03-31}, +} + +@incollection{quissanga_comparative_2023, + title = {Comparative Study of Information Security in Mobile Operating Systems: Android and Apple {iOS}}, + isbn = {978-1-80355-651-2}, + shorttitle = {Comparative Study of Information Security in Mobile Operating Systems}, + abstract = {This theme addresses information security in mobile operating systems: Android and {iOS}, compare vulnerabilities, and propose security policies, the methodology is qualitative based on bibliographic reference, documentary, and quantitative techniques, which allowed to evaluate the study in detail, the data collected in a systematic way, investigating security measures in mobile phones. It was performed the search to Google Academic® and the Portal de Periódicos Capes. As for the data analysis, it was done in a descriptive way. However, it was concluded that the {iOS} system presents greater information security compared to Android. Virus infections are not of concern at the moment, but other cyber attacks, spywares capture confidential information by taking to the remote server. The attacks can be identified by the victims online, in industrial, and by targeting them individually. Android and {iOS} operating systems are preferred by cybercriminals. As for cyber attacks, social networks are the focus. For security policies, we propose preventive, detective, and corrective measures, assign difficult passwords, use modern {WPA} encryption, Noroot firewall, the Privacy Badger tool for blocking websites, Panopticlick for test web, {VeraCrypt} to encrypt documents, and the Signal app that encrypts calls.}, + author = {Quissanga, Fernando}, + date = {2023-04-28}, + doi = {10.5772/intechopen.109652}, + file = {Volltext:/Users/julianschmidt/Zotero/storage/XHZC3NJK/Quissanga - 2023 - Comparative Study of Information Security in Mobil.pdf:application/pdf}, +} + +@article{garg_comparative_2021, + title = {Comparative analysis of Android and {iOS} from security viewpoint}, + volume = {40}, + issn = {1574-0137}, + url = {https://www.sciencedirect.com/science/article/pii/S1574013721000125}, + doi = {10.1016/j.cosrev.2021.100372}, + abstract = {Smartphone usage has increased exponentially in the recent years. Android and {iOS} are the most popular smartphone platforms, while the ease of use along with the computational power to handle a wide array of applications attracts millions of users worldwide, also raises the security concerns on these platforms. This paper presents a comparative analysis between Android and {iOS} on a wide range of security aspects. It analyzes data for the period 2015-2019 and gives a detailed snapshot of not only the quantum of vulnerabilities, but also their impact. In addition, the paper leverages the well-established security triad i.e. {CIA} (Confidentiality, Integrity, Availability) to compare both the operating systems. The comprehensive and pragmatic approach taken in the paper makes it easier to infer that Android is more susceptible to security breaches and malware attacks as compared to {iOS}. Hence, researchers should divert their efforts and focus on finding solutions to problems pertaining to Android. The paper concludes by laying down future research directions and scope of work, which can be leveraged not only by application developers, but also by researchers. This will help make Android safer for users and will further increase its demand as a mobile operating system.}, + pages = {100372}, + journaltitle = {Computer Science Review}, + shortjournal = {Computer Science Review}, + author = {Garg, Shivi and Baliyan, Niyati}, + urldate = {2024-05-02}, + date = {2021-05-01}, + keywords = {Android, {iOS}, Malware, Security, Smartphones, Vulnerabilities}, + file = {ScienceDirect Snapshot:/Users/julianschmidt/Zotero/storage/WKZLXY52/S1574013721000125.html:text/html}, +} + +@online{corrons_flashlight_2019, + title = {Flashlight Apps on Google Play Request Up to 77 Permissions}, + url = {https://decoded.avast.io/luiscorrons/flashlight-apps-on-google-play-request-up-to-77-permissions/}, + abstract = {Recently, {FaceApp} was widely discussed on the Internet, because the company behind it is Russian, and the app requests permission to access, among other things, photos. It is clear that {FaceApp} is not malicious, although it raises valid privacy concerns. However, is this just a special case, or should we be concerned about all the […]}, + titleaddon = {Avast Threat Labs}, + author = {Corrons, Luis}, + urldate = {2024-05-02}, + date = {2019-09-10}, + langid = {american}, + file = {Snapshot:/Users/julianschmidt/Zotero/storage/LXZ4YZN2/flashlight-apps-on-google-play-request-up-to-77-permissions.html:text/html}, +} + +@book{gosling_java_2014, + location = {Upper Saddle River, {NJ}}, + edition = {Java {SE} 8 edition}, + title = {The Java® language specification}, + isbn = {978-0-13-390069-9}, + pagetotal = {758}, + publisher = {Addison-Wesley}, + author = {Gosling, James and Joy, Bill and Steele, Guy L. and Bracha, Gilad and Buckley, Alex}, + date = {2014}, + note = {{OCLC}: ocn873760233}, + keywords = {Java (Computer program language)}, + file = {Gosling et al. - 2014 - The Java® language specification.pdf:/Users/julianschmidt/Zotero/storage/QQVBP9E3/Gosling et al. - 2014 - The Java® language specification.pdf:application/pdf}, +} + +@book{noauthor_java_nodate, + title = {The Java Language Specification, Java {SE} 8 Edition (Java Series)}, +} + +@online{noauthor_chapter_nodate, + title = {Chapter 9. Interfaces}, + url = {https://docs.oracle.com/javase/specs/jls/se8/html/jls-9.html}, + titleaddon = {Java® {SE} 8 Release Contents ("Specification")}, + urldate = {2024-05-06}, + file = {Chapter 9. Interfaces:/Users/julianschmidt/Zotero/storage/GKDPQTFN/jls-9.html:text/html}, +} + +@online{goetz_java_2010, + title = {The Java Community Process({SM}) Program - {JSRs}: Java Specification Requests - detail {JSR}\# 335}, + url = {https://www.jcp.org/en/jsr/detail?id=335}, + titleaddon = {{JSR} 335: Lambda Expressions for the {JavaTM} Programming Language}, + author = {Goetz, Brian}, + urldate = {2024-05-06}, + date = {2010-11-16}, + file = {The Java Community Process(SM) Program - JSRs\: Java Specification Requests - detail JSR# 335:/Users/julianschmidt/Zotero/storage/KJ77QXGF/detail.html:text/html}, +} + +@online{noauthor_openjdk_nodate, + title = {{OpenJDK}: Project Lambda}, + url = {https://openjdk.org/projects/lambda/}, + urldate = {2024-05-06}, + file = {OpenJDK\: Project Lambda:/Users/julianschmidt/Zotero/storage/SWMFTZ94/lambda.html:text/html}, +} + +@online{noauthor_introduction_nodate, + title = {Introduction - {HaskellWiki}}, + url = {https://wiki.haskell.org/Introduction}, + urldate = {2024-05-09}, +} + +@online{noauthor_introduction_nodate-1, + title = {Introduction - {HaskellWiki}}, + url = {https://wiki.haskell.org/Introduction}, + urldate = {2024-05-09}, + file = {Introduction - HaskellWiki:/Users/julianschmidt/Zotero/storage/AHZGWBQT/Introduction.html:text/html}, +} + +@article{marlow_haskell_2010-1, + title = {Haskell 2010 language report}, + journaltitle = {Available online http://www. haskell. org/(May 2011)}, + author = {Marlow, Simon and {others}}, + date = {2010}, + file = {haskell2010.pdf:/Users/julianschmidt/Zotero/storage/YYJ5IGAG/haskell2010.pdf:application/pdf}, +} + +@book{pierce_types_2002, + location = {Cambridge, Massachusetts London, England}, + title = {Types and programming languages}, + isbn = {978-0-262-16209-8}, + pagetotal = {623}, + publisher = {The {MIT} Press}, + author = {Pierce, Benjamin C.}, + date = {2002}, +} + +@book{stallman_gnu_2004, + location = {Boston, Mass}, + title = {{GNU} Make: a program for directing recompliation ; {GNU} make version 3.81}, + isbn = {978-1-882114-83-2}, + shorttitle = {{GNU} Make}, + pagetotal = {184}, + publisher = {Free Software Foundation}, + author = {Stallman, Richard and {McGrath}, Roland and Smith, Paul D.}, + date = {2004}, +} + +@online{noauthor_java_nodate-1, + title = {Java Development Kit Version 17 {API} Specification}, + url = {https://docs.oracle.com/en/java/javase/17/docs/specs/man/javac.html#directory-hierarchies}, + urldate = {2024-05-19}, + langid = {english}, + file = {Snapshot:/Users/julianschmidt/Zotero/storage/S5D5X3CK/javac.html:text/html}, +} + +@book{terry_compilers_1997, + location = {London}, + title = {Compilers and compiler generators: an introduction with C++}, + isbn = {978-1-85032-298-6}, + shorttitle = {Compilers and compiler generators}, + pagetotal = {579}, + publisher = {International Thomson Computer Press}, + author = {Terry, Patrick D.}, + date = {1997}, + file = {Terry und Terry - 1997 - Compilers and compiler generators an introduction.pdf:/Users/julianschmidt/Zotero/storage/6JKV89EJ/Terry und Terry - 1997 - Compilers and compiler generators an introduction.pdf:application/pdf}, +} + +@report{plumicke_java-tx_2022, + title = {Java-{TX}: The language}, + url = {https://www.dhbw-stuttgart.de/forschung-transfer/technik/schriftenreihe-insights/}, + abstract = {Java-{TX} ({TX} steht für Type {eXtended}) ist eine Erweiterung von Java, deren wesentliche neue Eigenschaften globale Typinferenz und echte Funktion- stypen sind. Funktionstypen werden in Java-{TX} ähnlich wie bei Scala eingeführt. Zusätzlich werden sie in das Zieltypen-Konzept von Java in- tegriert, wie es im sogenannten Stawman-Ansatz vorgeschlagen wurde. Diese Erweiterungen führen zu einer neuen Ãœberladungseigenschaft, die Methodendeklaration mit Durchschnittstypen erlaubt. Darüber hinaus haben Java-{TX}-Methoden allgemeinste Typen. Zusätzlich werden Typ- parameter von Klassen und Methoden automatisch generiert. Schließlich werden Parameter von Funktionstypen heterogen übersetzt.}, + institution = {Fakultät Technik der Dualen Hochschule Baden-Württemberg Stuttgart}, + author = {Plümicke, Martin and Zink, Etienne}, + date = {2022-01}, + langid = {english}, + file = {Prof. Dr. habil. Plümicke und Zink - 2022 - Java-TX The language.pdf:/Users/julianschmidt/Zotero/storage/DFCLDI9R/Prof. Dr. habil. Plümicke und Zink - 2022 - Java-TX The language.pdf:application/pdf}, +} + +@online{noauthor_maven_nodate, + title = {Maven – Introduction}, + url = {https://maven.apache.org/what-is-maven.html}, + urldate = {2024-05-20}, + file = {Maven – Introduction:/Users/julianschmidt/Zotero/storage/B9499E36/what-is-maven.html:text/html}, +} + +@online{rose_value_2014, + title = {Value Types for Java}, + url = {https://cr.openjdk.org/~jrose/values/values-0.html}, + abstract = {This is a sketch of proposed enhancements to the Java Virtual Machine instruction set, and secondarily to the Java Language, to support small immutable, identityless value types. (They may also be considered as identityless aggregates, user-defined primitives, immutable records, or restricted classes.) This is an early draft, intended to describe the overall approach. Readers are expected to be familiar with the {JVM} bytecode instruction set.}, + author = {Rose, John and Goetz, Brian and Steele, Guy}, + urldate = {2024-05-26}, + date = {2014-04}, + file = {Value Types for Java:/Users/julianschmidt/Zotero/storage/2BXYZARN/values-0.html:text/html}, +} + +@online{softwarealchemy_streamline_2024, + title = {Streamline Your Java Code: A Cheat Sheet for Mastering Streams}, + url = {https://medium.com/javarevisited/streamline-your-java-code-a-cheat-sheet-for-mastering-streams-e8500f4495fe}, + shorttitle = {Streamline Your Java Code}, + abstract = {Java Streams, introduced in Java 8, revolutionized how we work with collections. They offer a declarative and functional approach to…}, + titleaddon = {Javarevisited}, + author = {{SoftwareAlchemy}}, + urldate = {2024-05-25}, + date = {2024-04-23}, + langid = {english}, + file = {Snapshot:/Users/julianschmidt/Zotero/storage/2W523K54/streamline-your-java-code-a-cheat-sheet-for-mastering-streams-e8500f4495fe.html:text/html}, +} + +@online{baeldung_java_2016, + title = {The Java 8 Stream {API} Tutorial {\textbar} Baeldung}, + url = {https://www.baeldung.com/java-8-streams}, + abstract = {The article is an example-heavy introduction of the possibilities and operations offered by the Java 8 Stream {API}.}, + author = {{Baeldung}}, + urldate = {2024-05-25}, + date = {2016-06-15}, + langid = {american}, + file = {Snapshot:/Users/julianschmidt/Zotero/storage/KH3BN6ZN/java-8-streams.html:text/html}, +} + +@online{nero_all_2023, + title = {All about Java class loaders}, + url = {https://www.infoworld.com/article/3700054/all-about-java-class-loaders.html}, + abstract = {Here's a quick look at the three types of class loaders and everything you need to know to work with them in your Java programs.}, + titleaddon = {{InfoWorld}}, + author = {Nero, Rafael del}, + urldate = {2024-05-25}, + date = {2023-06-29}, + langid = {english}, + file = {Snapshot:/Users/julianschmidt/Zotero/storage/8E5TQLJK/all-about-java-class-loaders.html:text/html}, +} + +@online{baeldung_class_2024, + title = {Class Loaders in Java {\textbar} Baeldung}, + url = {https://www.baeldung.com/java-classloaders}, + abstract = {Have a look at the behind-the-scenes of loading Java classes during runtime to the {JVM}.}, + author = {{Baeldung}}, + urldate = {2024-05-25}, + date = {2024-05-11}, + langid = {american}, + file = {Snapshot:/Users/julianschmidt/Zotero/storage/4XWFE8UP/java-classloaders.html:text/html}, +} + +@online{noauthor_for-each_nodate, + title = {The For-Each Loop}, + url = {https://docs.oracle.com/javase/8/docs/technotes/guides/language/foreach.html}, + urldate = {2024-05-23}, + file = {The For-Each Loop:/Users/julianschmidt/Zotero/storage/H8NNNKR8/foreach.html:text/html}, +} + +@online{noauthor_java_nodate-2, + title = {Java® Platform, Standard Edition \& Java Development Kit Version 21 {API} Specification}, + url = {https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/List.html}, + abstract = {declaration: module: java.base, package: java.util, interface: List}, + urldate = {2024-05-29}, + langid = {english}, + file = {Snapshot:/Users/julianschmidt/Zotero/storage/XU4PK5LJ/List.html:text/html}, +} + +@online{piquerez_variances_nodate, + title = {Variances}, + url = {https://docs.scala-lang.org/tour/variances.html}, + titleaddon = {Scala Documentation}, + author = {Piquerez, Adrien and Thompson, Jamie and et. al.}, + urldate = {2024-05-30}, + file = {Snapshot:/Users/julianschmidt/Zotero/storage/J377ZJ6M/variances.html:text/html}, +} + +@online{wagner_creating_2021, + title = {Creating Variant Generic Interfaces - C\#}, + url = {https://learn.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/covariance-contravariance/creating-variant-generic-interfaces}, + abstract = {Learn how to create variant generic interfaces with covariant or contravariant generic type parameters.}, + author = {Wagner, Bill and Martinez, Jason and Warren, Genevieve and et.al.}, + urldate = {2024-05-30}, + date = {2021-09-15}, + langid = {english}, + file = {Snapshot:/Users/julianschmidt/Zotero/storage/FKDNJJ4G/creating-variant-generic-interfaces.html:text/html}, +} + +@misc{zink_heterogene_2022, + title = {Heterogene Ãœbersetzung echter Funktionstypen}, + author = {Zink, Etienne}, + date = {2022-05-30}, +} + +@book{vandevoorde_c_2010, + location = {Boston, Mass.}, + title = {C++ templates: the complete guide}, + isbn = {978-0-201-73484-2}, + shorttitle = {C++ templates}, + pagetotal = {528}, + publisher = {Addison-Wesley}, + author = {Vandevoorde, David and Josuttis, Nicolai M.}, + date = {2010}, + file = {C++ Templates-The Complete Guide.pdf:/Users/julianschmidt/Zotero/storage/NS577488/C++ Templates-The Complete Guide.pdf:application/pdf;Table of Contents PDF:/Users/julianschmidt/Zotero/storage/HIL2ULZY/Vandevoorde und Josuttis - 2010 - C++ templates the complete guide.pdf:application/pdf}, +} + +@book{naftalin_java_2007, + location = {Beijing ; Sebastopol, {CA}}, + title = {Java generics and collections}, + isbn = {978-0-596-52775-4}, + pagetotal = {273}, + publisher = {O'Reilly}, + author = {Naftalin, Maurice and Wadler, Philip}, + date = {2007}, + note = {{OCLC}: ocm76810468}, + keywords = {Java (Computer program language), Object-oriented programming (Computer science)}, + file = {Naftalin und Wadler - 2007 - Java generics and collections.pdf:/Users/julianschmidt/Zotero/storage/CHFZTFU4/Naftalin und Wadler - 2007 - Java generics and collections.pdf:application/pdf}, +} + +@online{noauthor_openjdk_nodate-1, + title = {{OpenJDK} Repository - Javac}, + url = {https://github.com/openjdk/jdk/blob/master/src/jdk.compiler/share/classes/com/sun/tools/javac}, + abstract = {{OpenJDK} Repository - javac}, + titleaddon = {{GitHub}}, + urldate = {2024-06-01}, + langid = {english}, + file = {Snapshot:/Users/julianschmidt/Zotero/storage/IVHPFRJX/javac.html:text/html}, +} + +@online{noauthor_gcc--cxx_nodate, + title = {gcc-in-cxx - {GCC} Wiki}, + url = {https://gcc.gnu.org/wiki/gcc-in-cxx}, + urldate = {2024-06-01}, + file = {gcc-in-cxx - GCC Wiki:/Users/julianschmidt/Zotero/storage/L86FUZPB/gcc-in-cxx.html:text/html}, +} + +@misc{stallman_using_2024, + title = {Using the {GNU} Compiler Collection For gcc version 14.1.0}, + url = {https://gcc.gnu.org/onlinedocs/gcc-14.1.0/gcc.pdf}, + publisher = {Free Software Foundation}, + author = {Stallman, Richard and {GCC Developer Community}}, + date = {2024}, +} + +@incollection{goos_variance-based_2002, + location = {Berlin, Heidelberg}, + title = {On Variance-Based Subtyping for Parametric Types}, + volume = {2374}, + isbn = {978-3-540-43759-8 978-3-540-47993-2}, + url = {http://link.springer.com/10.1007/3-540-47993-7_19}, + pages = {441--469}, + booktitle = {{ECOOP} 2002 — Object-Oriented Programming}, + publisher = {Springer Berlin Heidelberg}, + author = {Igarashi, Atsushi and Viroli, Mirko}, + editor = {Magnusson, Boris}, + editorb = {Goos, Gerhard and Hartmanis, Juris and Van Leeuwen, Jan}, + editorbtype = {redactor}, + urldate = {2024-06-01}, + date = {2002}, + doi = {10.1007/3-540-47993-7_19}, + note = {Series Title: Lecture Notes in Computer Science}, +} + +@online{jetbrains_java_2023, + title = {Java Programming - The State of Developer Ecosystem in 2023 Infographic}, + url = {https://www.jetbrains.com/lp/devecosystem-2023}, + abstract = {Learn about the latest Java trends, usage, and popularity in {JetBrains}' annual report.}, + titleaddon = {{JetBrains}: Developer Tools for Professionals and Teams}, + author = {{Jetbrains}}, + urldate = {2024-06-01}, + date = {2023}, + langid = {english}, + file = {Snapshot:/Users/julianschmidt/Zotero/storage/XXVZB5AH/java.html:text/html}, +} + +@online{oracle_type_nodate, + title = {Type Inference (The Javaâ„¢ Tutorials {\textgreater} Learning the Java Language {\textgreater} Generics (Updated))}, + url = {https://docs.oracle.com/javase/tutorial/java/generics/genTypeInference.html}, + author = {{Oracle}}, + urldate = {2024-06-01}, + file = {Type Inference (The Javaâ„¢ Tutorials > Learning the Java Language > Generics (Updated)):/Users/julianschmidt/Zotero/storage/UG9UXUUI/genTypeInference.html:text/html}, +} + +@book{thompson_haskell_2011, + location = {Harlow, England ; New York}, + edition = {3rd ed}, + title = {Haskell: the craft of functional programming}, + isbn = {978-0-201-88295-7}, + shorttitle = {Haskell}, + pagetotal = {585}, + publisher = {Addison Wesley}, + author = {Thompson, Simon}, + date = {2011}, + keywords = {Functional programming (Computer science)}, +} + +@online{noauthor_asm_nodate, + title = {{ASM}}, + url = {https://asm.ow2.io/}, + urldate = {2024-06-02}, + file = {ASM:/Users/julianschmidt/Zotero/storage/JRXGAA3X/asm.ow2.io.html:text/html}, +} + +@online{noauthor_antlr_nodate, + title = {{ANTLR}}, + url = {https://www.antlr.org/}, + urldate = {2024-06-02}, + file = {ANTLR:/Users/julianschmidt/Zotero/storage/9KDGUILD/www.antlr.org.html:text/html}, +} + +@online{noauthor_raw_nodate, + title = {Raw Types (The Javaâ„¢ Tutorials {\textgreater} Learning the Java Language {\textgreater} Generics (Updated))}, + url = {https://docs.oracle.com/javase/tutorial/java/generics/rawTypes.html}, + urldate = {2024-06-02}, + file = {Raw Types (The Javaâ„¢ Tutorials > Learning the Java Language > Generics (Updated)):/Users/julianschmidt/Zotero/storage/QYJ4KVMB/rawTypes.html:text/html}, +} + +@online{noauthor_string_nodate, + title = {String (Java Platform {SE} 8 )}, + url = {https://docs.oracle.com/javase/8/docs/api/java/lang/String.html}, + urldate = {2024-06-02}, + file = {String (Java Platform SE 8 ):/Users/julianschmidt/Zotero/storage/GHKI499F/String.html:text/html}, +} + +@inproceedings{stadelmeier_java_2015, + location = {Cottbus, Deutschland}, + title = {Java type inference as an Eclipse plugin}, + url = {https://subs.emis.de/LNI/Proceedings/Proceedings246/article18.html}, + eventtitle = {45. Jahrestagung der Gesellschaft für Informatik, Informatik 2015, Informatik, Energie und Umwelt}, + pages = {1841--1852}, + author = {Stadelmeier, Andreas}, + date = {2015-09-28}, +} diff --git a/Studienarbeit/content/abstract.tex b/Studienarbeit/content/abstract.tex new file mode 100644 index 0000000..f42d294 --- /dev/null +++ b/Studienarbeit/content/abstract.tex @@ -0,0 +1,18 @@ +%!TEX root = ../main.tex + +\pagestyle{empty} + +% override abstract headline +\renewcommand{\abstractname}{Abstract} + +\begin{abstract} +Seit rund 15 Jahren wird an der Dualen Hochschule Baden Württemberg Campus Horb an einer Java-Erweiterung +namens Java-TX (Type eXtended) auf Basis von Java 8 geforscht. Java-TX zielt darauf ab, die +Java-Programmiersprache durch funktionale Programmierkonzepte wie globale Typinferenz und echte +Funktionstypen für Lambda-Ausdrücke zu erweitern. Im Bereich des Compilerbaus gilt die Selbstübersetzung eines +Compilers als wichtiges Qualitätsmerkmal. Aus diesem Grund wird im Rahmen dieser Arbeit der in Java verfassten +Java-TX-Compiler so weit es möglich ist, in Java-TX übersetzt. Dabei werden der Funktionsumfang und die +Praxistauglichkeit des aktuellen Java-TX-Zustands untersucht und bestehende Probleme sowie fehlende +Funktionen aufgezeigt. Zusätzlich werden durch die Ãœberarbeitung des Quellcodes die Vorteile von Java-TX im +Vergleich zu Java demonstriert. +\end{abstract} \ No newline at end of file diff --git a/Studienarbeit/content/acronyms.tex b/Studienarbeit/content/acronyms.tex new file mode 100644 index 0000000..0e65579 --- /dev/null +++ b/Studienarbeit/content/acronyms.tex @@ -0,0 +1,16 @@ +%!TEX root = ../main.tex + +\addchap{\acronymsPhrase} + +\begin{acronym}[YTMMM] + +\acro{Java-TX}{Java-Type eXtended} +\acro{GNU}{GNU's Not Unix} +\acro{JVM}{Java Virtual Machine} +\acro{JDK}{Java Development Kit} +\acro{WSL}{Windows Subsystem for Linux} +\acro{IDE}{Integrated Development Environment} +\acro{GCC}{GNU Compiler Collection} +\acro{Bash}{Bourne Again Shell} + +\end{acronym} diff --git a/Studienarbeit/content/appendix.tex b/Studienarbeit/content/appendix.tex new file mode 100644 index 0000000..b893c09 --- /dev/null +++ b/Studienarbeit/content/appendix.tex @@ -0,0 +1,85 @@ +% !TeX root = ../main.tex + +\addchap{\appendixPhrase} + +\section{Sourcecode des Bash Skripts zur Kompilierung} \label{app:bash} +\begin{lstlisting}[language=bash] +#!/bin/bash + +SRCDIR="javatx-src/main/java" +DESTDIR="out/src" +TESTDESTDIR="out/tests" +DEPENDENCIES="dependencies/*" +JAVAC_FLAGS="-g:none -nowarn" +JAVATX_COMPILER_PATH="JavaTXcompiler.jar" +COMPILED_CLASSES="lib/classes" + +#remove all files, if the script is called with parameter "clean" +if [ "$1" = "clean" ]; then + rm -r "$DESTDIR" + exit 0 +fi + +if [ "$1" != "" ]; then + echo "invalid argument: $1" + exit 1 +fi + +#find all .java/.jav files and store paths in an array +#note: somehow absolute paths don't work correctly with find -newer +#JAVA_FILES=($(find "$SRCDIR" -name "*.java" -exec realpath {} \;)) +#JAV_FILES=($(find "$SRCDIR" -name "*.jav" -exec realpath {} \;)) +JAVA_FILES=($(find "$SRCDIR" -name "*.java")) +JAV_FILES=($(find "$SRCDIR" -name "*.jav")) + + +#create empty arrays for .class file paths +JAVA_CLASSES=() +JAV_CLASSES=() + +JAVA_CHANGED=() +JAV_CHANGED=() + +mkdir -p $DESTDIR + +#fill class files arrays by subsituting .java/.jav -> .class for each file +for file in "${JAVA_FILES[@]}"; do + #substitute destination dir with source dir + class_name="$DESTDIR${file#$SRCDIR}" + #substitute *.java -> *.class + class_name="${class_name%.java}.class" + #if .class file does not exists or .class file older than .java file + if [ ! -f "$class_name" ] || [ "$(find "$file" -prune -newer "$class_name")" ]; then + JAVA_CHANGED+=("$file") + JAVA_CLASSES+=("$class_name") + fi +done + + +for file in "${JAV_FILES[@]}"; do + #substitute destination dir with source dir + class_name="$DESTDIR${file#$SRCDIR}" + #substitute *.jav -> *.class + class_name="${class_name%.jav}.class" + #if .class file does not exists or .class file older than .jav file + if [ ! -f "$class_name" ] || [ "$(find "$file" -prune -newer "$class_name")" ]; then + JAV_CHANGED+=("$file") + JAV_CLASSES+=("$class_name") + fi +done + + +if [ "${#JAV_CHANGED[@]}" -ne 0 ]; then + echo "java -jar $JAVATX_COMPILER_PATH -d $DESTDIR -cp "$SRCDIR:$DEPENDENCIES:$COMPILED_CLASSES" ${JAV_CHANGED[@]}" + java -jar $JAVATX_COMPILER_PATH -d $DESTDIR -cp "$SRCDIR:$DEPENDENCIES:$COMPILED_CLASSES" "${JAV_CHANGED[@]}" + if [ $? -ne 0 ]; then + echo "Fehler beim Kompilieren der Jav-Dateien. Beende das Skript." + exit 1 + fi +fi + +if [ "${#JAVA_CHANGED[@]}" -ne 0 ]; then + echo "javac -d $DESTDIR -cp "$SRCDIR:$DESTDIR:$DEPENDENCIES" $JAVAC_FLAGS ${JAVA_CHANGED[@]}" + javac -d $DESTDIR -cp "$SRCDIR:$DESTDIR:$DEPENDENCIES" $JAVAC_FLAGS "${JAVA_CHANGED[@]}" +fi +\end{lstlisting} diff --git a/Studienarbeit/content/chapter/01.tex b/Studienarbeit/content/chapter/01.tex new file mode 100644 index 0000000..27ee627 --- /dev/null +++ b/Studienarbeit/content/chapter/01.tex @@ -0,0 +1,401 @@ +%!TEX root = ../../main.tex + +\chapter{Grundlagen} +\ac{Java-TX} basiert auf Java 8 und wurde um zwei wesentliche Funktionen erweitert, die man aus funktionalen Programmiersprachen wie Haskell kennt: Globale Typinferenz und echte Funktionstypen. Im folgenden Kapitel werden diese beiden Konzepte genauer erläutert. +Zunächst soll aber ein Einblick gegeben werden, was bezüglich dieser Funktionen in Java möglich ist. + +\section{Typinferenz in Java} +Java unterstützt verschiedene Arten lokaler Typinferenz. Das bedeutet, dass der Programmierer an bestimmten Stellen des Codes den Datentyp einer Variable nicht explizit angeben muss, sondern der Compiler diesen anhand des Kontext ableiten kann. In diesem Abschnitt werden einige dieser Mechanismen vorgestellt. + +\subsection{Typinferenz bei generischen Methoden} +Mit der Einführung von generischen Methoden in Java 5 \cite{buckley_java_2004}, wurde auch eine einfache Form der Typinferenz für die Parameter dieser Methoden eingeführt \cite{gosling_java_2005}[S.451 ff]. Konkret ist es möglich, den Compiler einen generischen Typ einer Methode anhand der Parametertypen inferieren zu lassen. +Die Methode \texttt{of} in \texttt{java.util.List} dient als Beispiel zur Veranschaulichung für diese Art von Typinferenz. Sie erzeugt eine Liste des generischen Typs \texttt{T} mit dem übergebenen Parameter als Element. Im folgenden ist die Signatur dieser Methode für einen einzelnen Parameter\footnote{Es gibt mehrere Versionen der Methode \texttt{of} in \texttt{java.util.List} mit einer unterschiedlichen Anzahl an Parametern} dargestellt. + +%TODO: Anmerkung hinzufügen: dies ist die Definition für List.of() mit einem Parameter. Es gibt noch weitere Definitionen für mehrere Parameter. +\begin{verbatim} +public interface List extends SequencedCollection { + ... + static List of(E e1); + ... +} +\end{verbatim} + +Ohne Typinferenz müsste man der Methode beim Aufruf explizit den generischen Typen angeben, wie in \autoref{lst:list_of_type_explizit} gezeigt ist. + +\begin{lstlisting}[caption=List.of() mit explizitem Typ, label=lst:list_of_type_explizit, language=java] + List intList = List.of(1); +\end{lstlisting} + +Die Typinferenz erlaubt es allerdings diese explizite Typangabe wegzulassen, da der generische Typ \texttt{T} implizit aus den Typen der Parameterliste resultiert. Dieser kompaktere Aufruf ist in \autoref{lst:list_of_type_implizit} zu sehen. + +\begin{lstlisting}[caption=List.of() mit implizitem Typ, label=lst:list_of_type_implizit, language=java] + List intList = List.of(1); +\end{lstlisting} + +Mit der Veröffentlichung von Java 8 wurde diese Form der Typinferenz weiter verbessert und erweitert \cite{cimadamore_jep_2011}, so dass nun auch komplexere Typinferenz, wie in \autoref{lst:java8_typinferenz} gezeigt wird, möglich ist. Vor Java 8 war dies nicht möglich \cite{cimadamore_jep_2011, oracle_type_nodate}. + +\begin{lstlisting}[caption=Verbesserungen für Typinferenz in Java 8 (Beispiel aus {\cite{oracle_type_nodate}[Target Types]}), label=lst:java8_typinferenz, language=java] + public class A{ + public static void main(String[] args){ + // In Java 7: error: incompatible types: List cannot be converted to List + // In Java 8: korrekt + processStringList(Collections.emptyList()); + } + + void processStringList(List list){ + //... + } + } +\end{lstlisting} + +\subsection{Der Diamond Operator} + +Java unterstützt seit Version 7 den sogenannten Diamond Operator \texttt{<>} \cite{darcy_java_2010}. Dieser ermöglicht es, den Typ beim Instanziieren einer generischen Klasse nicht explizit anzugeben, sondern vom Compiler errechnen zu lassen \cite{gosling_java_2014}[S.482 ff]. Ein Beispiel dafür ist in \autoref{lst:java7diamond} zu sehen. Der Typ der Liste auf der rechten Seite der Zuweisung muss nicht explizit angegeben werden, sondern kann vom Compiler anhand des Kontextes abgeleitet werden. + +\begin{lstlisting}[caption=Java 7 Diamond Operator, label=lst:java7diamond, language=java] + List list = new ArrayList<>(); +\end{lstlisting} + +Vor Java 7 musste dieser Typ explizit angegeben werden, wie in Listing \ref{lst:java7nodiamond} zu sehen ist. + +\begin{lstlisting}[caption=Java Generics ohne Diamond Operator, label=lst:java7nodiamond, language=java] + List list = new ArrayList(); +\end{lstlisting} + +Erwähnt sei hierbei auch, dass \texttt{List = new ArrayList();} nicht das gleiche ist wie \texttt{List = new ArrayList<>();} ist. Im ersten Fall wird die Liste als Raw Type erstellt \cite{oracle_type_nodate}[Type Inference and Instantiation of Generic Classes]. Aus diesem Grund ist die Angabe des Diamond Operators in diesem Fall wichtig, um den generischen Typen zu erhalten. + +\subsection{Typinferenz bei Lambda Ausdrücken} +Auch in Lambda-Ausdrücken, welche in Version 8 hinzugefügt wurden, erlaubt Java lokale Typinferenz \cite{darcy_jep_2011}. Der Typ der Parameter einer Lambda-Funktion kann vom Compiler anhand des Kontextes abgeleitet werden \cite{gosling_java_2014}[S.603 ff], wie in \autoref{lst:lambda} zu sehen ist. +Die Methode \texttt{forEach} in Zeile 2 wendet dabei einen gegebenen Lambda Ausdruck auf jeden Eintrag der Liste an. In diesem Fall würde sie jedes Element der Liste ausgeben. Auf Lambda-Ausdrücke wird in \autoref{sec:lambda_java} ausführlich eingegangen. +Wie man sehen kann, muss der Typ des Parameters \texttt{s} in Zeile 2 vom Programmierer nicht explizit angegeben werden, da der Compiler weiß, dass es sich bei der Liste \lstinline|list| um eine Liste von Strings handelt. Ein Element der Liste muss somit ein String sein. + +\begin{lstlisting}[caption=Java 8 Lambda-Ausdrücke, label=lst:lambda, language=java] +List list = new ArrayList<>(); +list.forEach(s -> System.out.println(s)); +\end{lstlisting} + +Es steht dem Entwickler jedoch frei den Typ des Parameters explizit anzugeben, wie in \autoref{lst:lambda_explicit} gezeigt ist. + +\begin{lstlisting}[caption=Lambda-Ausdruck mit explizitem Typ, label=lst:lambda_explicit, language=java] +List list = new ArrayList<>(); +list.forEach((String s) -> System.out.println(s)); +\end{lstlisting} + +\subsection{Der Typplatzhalter var} + +Ein weiteres Beispiel für lokale Typinferenz ist der Platzhalter \lstinline|var|, welcher mit Java 10 eingeführt wurde \cite{goetz_jep_2016}. Er ermöglicht den Typ einer lokalen Variablen nicht explizit anzugeben zu müssen, wenn dieser unmittelbar aus dem Kontext hervorgeht \cite{goetz_jep_2016}. Ein Beispiel dafür ist in \autoref{lst:java10var} zu sehen. + +\begin{lstlisting}[caption=Java 10 var Platzhalter, label=lst:java10var, language=java] + var list = new ArrayList(); +\end{lstlisting} + +Da der Compiler für den Typcheck den Typ der rechten Seite der Zuweisung ohnehin berechnen muss, ist es ein Leichtes den \texttt{var} Platzhalter zur Kompilierzeit durch den tatsächlichen Typ zu ersetzen. Im Beispiel von oben wäre dies der Typ \texttt{ArrayList}. Die Möglichkeiten sind jedoch schnell erschöpft. So ist es nicht möglich, den Typ einer Methode oder eines Feldes mit \texttt{var} zu deklarieren. Außerdem muss bei der Verwendung die Initialisierung der Variable mit der Deklaration erfolgen \cite{goetz_jep_2016}. Eine Zuweisung zum Literal \glqq{}null\grqq{} ist demnach ebenfalls ungültig. Diese Einschränkungen sind in \autoref{lst:java10var_limits} zu sehen. + +\begin{lstlisting}[caption=Ungültige Verwendung des \lstinline|var| Schlüsselworts, label=lst:java10var_limits, language=java] +//Ungueltiger Code +var x; +x = 10; +//Ungueltiger Code +var y = null; +\end{lstlisting} + +\section{Typinferenz in Java-TX} \label{sec:java_tx_typeinference} +Trotz verschiedener Arten der lokalen Typinferenz, die in den letzten Jahren zu Java hinzugefügt wurden, müssen bis heute die Typen in Methodensignaturen und Feldern explizit vom Entwickler angegeben werden. In funktionalen Programmiersprachen wie Haskell existiert hingegen eine globale Typinferenz. Diese erlaubt es auch die Typen der Parametern und des Rückgabewerts einer Methode vom Compiler ableiten zu lassen \cite{thompson_haskell_2011}[S.323 ff]. +In \autoref{lst:haskell_add} ist die Funktion \lstinline|add|, welche zwei numerische Werte addiert, in Haskell gegeben. +Wie man sehen kann, beinhaltet der Quellcode keinerlei Typinformationen. Dennoch ist Haskell eine statisch typisierte Sprache \cite{marlow_haskell_2010}[S.3]. Das bedeutet, dass sämtliche Typinformationen bereits zur Kompilierzeit überprüft werden \cite{pierce_types_2002}[S.2]. Der Haskell Compiler inferiert die Typen also zur Kompilierzeit. Im Fall der Funktion \lstinline|add|, wird der Typ \lstinline|add :: Num a => (a, a) -> a| errechnet. Dieser Typ bedeutet, dass die Funktion \lstinline|add| zwei Werte vom Typ \lstinline|a| entgegennimmt und einen Wert vom selben Typ zurückgibt. \lstinline|a| muss dabei von der Typklasse \lstinline|Num| sein, was in Haskell die numerischen Typen einschließt \cite{marlow_haskell_2010}[S.76, 81]. Die Funktion \lstinline|add| kann also sowohl mit ganzen Zahlen, als auch mit Gleitkommazahlen aufgerufen werden. + +\begin{lstlisting}[caption=Funktion add in Haskell, label=lst:haskell_add, language=gnuplot] + add (x, y) = x+y +\end{lstlisting} + +Eines der primären Ziele von \ac{Java-TX} ist es daher, die globale Typinferenz in Java zu ermöglichen, um auch Typen von Feldern und Methodensignaturen vom Compiler inferieren lassen zu können. + +Ein Beispiel für die Funktion \lstinline|add| in \ac{Java-TX} ist in \autoref{lst:simple_typeinference_wo_types} zu sehen. + +\begin{lstlisting}[caption=Untypisierte Methode add, label=lst:simple_typeinference_wo_types, language=java] +import java.lang.Integer; +class Add{ + public add(a, b) { + return a + b; + } +} +\end{lstlisting} + +In diesem Beispiel werden ähnlich wie in \autoref{lst:haskell_add} sowohl die Parametertypen, als auch der Rückgabetyp nicht angegeben. Diese Typen werden zur Kompilierzeit anhand des Kontextes abgeleitet. Die resultierenden Typen der Methode sind in \autoref{lst:simple_typeinference_w_types} gegeben. Der Compiler weiß, dass der Operator \lstinline|+| nur für numerische Datentypen und Zeichenketten definiert ist. Da der Algorithmus für die globalen Typinferenz allerdings sehr rechenintensiv ist, werden nur explizit importierte Typen berücksichtigt. In diesem Beispiel wird nur \lstinline|java.lang.Integer| importiert, daher spielen andere numerische Typen und Zeichenketten keine Rolle. Neben den Parametern berechnet der Compiler auch einen möglichen Rückgabetyp. In diesem Fall hat dieser auch den Datentyp \lstinline|java.lang.Integer|, da die Addition von zwei Integern wieder einen Integer ergibt. + +\begin{lstlisting}[caption=Von Typinferenz errechnete Typen für \autoref{lst:simple_typeinference_wo_types}, label=lst:simple_typeinference_w_types, language=java] +import java.lang.Integer; +class Add{ + public Integer add(Integer a, Integer b) { + return a + b; + } +} + +\end{lstlisting} + +Ähnlich wie C++ Templates erlaubt dieses Vorgehen es Methoden für verschiedene Datentypen mit gleicher Implementierung nur einmal zu definieren. Der Unterschied besteht darin, dass \ac{Java-TX} den Code für alle Typen, die importiert wurden und die verwendeten Funktionalitäten unterstützen, generiert. C++ generiert den Code nur für die Typen, mit denen das Template explizit aufgerufen wird \cite{vandevoorde_c_2010}[Abschnitt 2.1.2]. Dies ermöglicht es, den Code zu vereinfachen und die Wartbarkeit zu erhöhen. Ein Beispiel dazu ist in \autoref{lst:globaltypeinference2} zu sehen. +\newpage +\begin{lstlisting}[caption=Methodenüberladungen durch Typinferenz, label=lst:globaltypeinference2, language=java] +import java.lang.Integer; +import java.lang.String; +import java.lang.Double; + +public class Add{ + public add(a, b) { + return a + b; + } +} +\end{lstlisting} + +In diesem Fall erzeugt der Compiler die Methode \lstinline|add| jeweils mit der Signatur für die Datentypen \lstinline|java.lang.Integer|, \lstinline|java.lang.String| und \lstinline|java.lang.Double|, wie in \autoref{lst:globaltypeinference2result} gezeigt ist. Denkbar wären mit diesen Imports auch weitere valide Methodensignaturen wie \lstinline{Double add(Integer a, Double b)} oder \lstinline{Double add(Double a, Integer b)}, welche allerdings aktuell nicht untersützt werden. + +\begin{lstlisting}[caption=Resultat der Typinferenz für \autoref{lst:globaltypeinference2}, label=lst:globaltypeinference2result, language=java] +import java.lang.Integer; +import java.lang.String; +import java.lang.Double; +public class Add{ + public Integer add(Integer a, Integer b) { + return a + b; + } + + public Double add(Double a, Double b) { + return a + b; + } + + public String add(String a, String b) { + return a + b; + } +} +\end{lstlisting} + + +\section{Anonyme Funktionen in Java} \label{sec:lambda_java} +Durch die Arbeiten an \glqq{}Project Lambda\grqq{} \cite{noauthor_openjdk_nodate} wurden anonyme Funktionen, sogenannte Lambda Ausdrücke, in Java 8 implementiert \cite{goetz_java_2010}. Lambda Ausdrücke ermöglichen in Java eine kompaktere Schreibweise, um Interfaces zu implementieren, welche nur eine einzige abstrakte Methode enthalten. Diese Interfaces werden als funktionale Interfaces bezeichnet \cite{gosling_java_2014}[S.321 ff]. + +\subsection{Funktionale Interfaces und Lambda Ausdrücke} \label{sec:lambda} +Ein Beispiel für ein funktionales Interface ist das Interface \lstinline{java.lang.Runnable}, welches nur eine abstrakte Methode mit dem Namen \texttt{run} enthält. \texttt{run} hat keine Parameter und keinen Rückgabewert. Eine Implemetierung dieses Interfaces kann z.B. verwendet werden, um das Verhalten eines Threads zu definieren. Vor der Einführung von Lambda Ausdrücken, war die einfachste Möglichkeit dies zu tun die Verwendung von anonymen Klassen \cite{gosling_java_2014}[S.491 ff]. Dies ist in \autoref{lst:runnable_wo_lambda} zu sehen. + +\begin{lstlisting}[caption=Erstellung eines Threads mit einer anonymen Klasse, label=lst:runnable_wo_lambda, language=java] +class Main{ + public void startThread(){ + Thread t = new Thread(new Runnable() { + @Override + public void run() { + System.out.println("Hello from Thread"); + } + }); + t.start(); + } +} +\end{lstlisting} +Durch diese Verwendung einer anonymen Klasse, kann eine spezielle Implementierung der Methode \lstinline{run()} erstellt werden, ohne eine neue Klasse zu erstellen, die das Interface implementiert. Allerdings erfordert diese Lösung viel Boilerplate Code, welcher die Lesbarkeit des Codes erschwert. Die eigentliche Logik des Threads ist lediglich durch den Aufruf der \lstinline|println| Methode in Zeile 6 definiert. + +Durch die Einführung von Lambda Ausdrücken kann der benötigte Code für diesen Anwendungsfall deutlich reduziert werden. Ein Lambda Ausdruck kann ein beliebiges funktionales Interface, bzw. dessen abstrakte Methode implementieren. \autoref{lst:runnable_w_lambda} zeigt wie der Code in \autoref{lst:runnable_wo_lambda} durch die Verwendung von Lambda ausdrücken reduziert werden kann. +\newpage +\begin{lstlisting}[caption=Erstellung eines Threads mit einem Lambda Ausdruck, label=lst:runnable_w_lambda, language=java] +class Main{ + public void startThread(){ + Thread t = new Thread(() -> System.out.println("Hello from Thread")); + t.start(); + } +} +\end{lstlisting} +Wie man sehen kann benötigt man für die gleiche Funktionalität nun nur noch 6, statt 11 Zeilen Code. Zusätzlich ist der Code auf das Wesentliche reduziert, wodurch die Lesbarkeit verbessert wurde. + +Wie bereits erwähnt, haben Lambda Ausdrücke in Java keinen eigenen Typen, sondern werden immer einem funktionalen Interface zugeordnet. Man spricht in diesem Kontext von sogenannten Zieltypen (engl. target types). Der Typ muss immer aus dem Kontext hervorgehen. In \autoref{lst:runnable_w_lambda} wird der Lambda Ausdruck dem Interface \lstinline{java.lang.Runnable} zugeordnet. Der Compiler erkennt, dass der Konstruktor der Klasse Thread das funktionale Interface \lstinline{java.lang.Runnable} erwartet und kann somit den Lambda Ausdruck diesem Interface zuordnen. +Auf Grund dieser Tatsache ist der Code in \autoref{lst:lambda_with_var} nicht gültig. Der Compiler kann den Typ nicht errechnen, da der Lambda Ausdruck unendlich viele Typen annehmen kann. Dies sind alle funktionalen Interfaces, deren abstrakte Methode keinen Parameter erwarten und \texttt{void} zurückgeben. + +\begin{lstlisting}[caption=Lambda Ausdruck mit var, label=lst:lambda_with_var, language=java] + //Ungueltige Syntax + var lambda = () -> System.out.println("Hello World!"); +\end{lstlisting} + +Die Java Standardbibliothek stellt dem Entwickler bereits einige funktionale Interfaces zur Verfügung. Einige davon sind in \autoref{tab:java_functional_interfaces} aufgelistet. + +\begin{table}[H] + \centering + \begin{tabular}{|l|l|} + \hline + \textbf{Interface} & \textbf{Abstrakte Methode} \\ \hline + java.lang.Runnable & void run() \\ \hline + java.util.concurrent.Callable & V call() \\ \hline + java.util.function.Consumer & void accept(T t) \\ \hline + java.util.function.Supplier & T get() \\ \hline + java.util.function.Function & R apply(T t) \\ \hline + java.util.function.Predicate & boolean test(T t) \\ \hline + \end{tabular} + \caption{Gängige funktionale Interfaces in der Java Standardbibliothek} + \label{tab:java_functional_interfaces} +\end{table} + +Wie man \autoref{tab:java_functional_interfaces} entnehmen kann, sind die funktionalen Interfaces der Java Standardbibliothek mit generischen Typparametern definiert. So können die Interfaces für beliebige Referenztypen verwendet werden. Dies bedeutet allerdings auch das die funktionalen Interfaces invariant sind. + +Bevor diese Eigenschaft aber näher spezifiziert wird, müssen einige Begriffe geklärt werden, die in diesem Zusammenhang relevant sind. +Invarianz, Kovarianz und Kontravarianz sind Begriffe, die in der Typtheorie verwendet werden, um die Beziehung zwischen Typen zu beschreiben. Die folgenden Definitionen sind angelehnt an \cite{goos_variance-based_2002}[Abschnitt 1]. + +\vspace{1em} + +Sei C ein generischer Typ mit dem Typparameter T und A, B Typen mit A $\subtype$\footnote{$\subtype$ steht in diesem Dokument für die Subtyp Beziehung, d.h. A ist ein Subtyp von B} B und A $\neq$ B. + +\begin{definition}[Invarianz] + C ist invariant im Bezug auf den Typparameter T, wenn + $\texttt{C} \not\subtype \texttt{C} \text{ und } \texttt{C} \not\subtype \texttt{C}$ +\end{definition} + +\begin{definition}[Kovarianz] + C ist kovariant im Bezug auf den Typparameter T, wenn $\texttt{C} \subtype \texttt{C}$. +\end{definition} + +\begin{definition}[Kontravarianz] + C ist kontravariant im Bezug auf den Typparameter T, wenn $\texttt{C} \supertype \texttt{C}$. +\end{definition} + +\begin{definition}[Varianz] + C ist variant im Bezug auf den Typparameter T, wenn er entweder kovariant oder kontravariant ist. +\end{definition} + +\vspace{2em} + +Generell ist zu erwähnen, dass die Eingabewerte eines Funktionstypen kontravariant und der Rückgabewert kovariant ist. Nach \cite{plumicke_java-tx_2022} gilt also folgende Definition für die Subtypisierung von Funktionstypen. + +\begin{definition}[Subtypisierung für Funktionstypen] \label{def:subtyping_of_function_types} + + Gegeben seien die Funktionstypen + + \begin{center} + $(\tau_1, \tau_2, ..., \tau_n) \rightarrow \tau_0$ \\ + $(\theta_1, \theta_2, ..., \theta_n) \rightarrow \theta_0$ + \end{center} + + Es gilt: + \begin{center} + $(\tau_1, \tau_2, ..., \tau_n) \rightarrow \tau_0 \subtype (\theta_1, \theta_2, ..., \theta_n) \rightarrow \theta_0$ + + $\forall i \in \{1, \ldots, n\}: \theta_i \subtype \tau_i$ \\ + und $\tau_0 \subtype \theta_0$ + \end{center} +\end{definition} + +\vspace{2em} + +Generische Typen sind in Java invariant \cite{naftalin_java_2007}[S.15 ff]. Daraus folgt unter anderem auch, dass Subtypisierung nicht wie erwartet möglich ist, z.B. ist +\[ +\texttt{List} \not\subtype \texttt{List} +\] + +Diese Einschränkung besteht auch für Funktionstypen. Demnach ist +\[ +\texttt{Function} \not\subtype \texttt{Function} +\] +obwohl dies nach \autoref{def:subtyping_of_function_types} eine valide Subtypisierung wäre. + +\subsection{Wildcards} +Um das Subtyp Problem für generische Datentypen zu lösen, wird in Java mit den sogenannten Wildcards use site Varianz ermöglicht. Wildcards bieten die Möglichkeit generische Typparameter kovariant oder kontravariant zu verwenden. Kovarianz wird dabei mit \lstinline|? extends| und Kontravarianz mit \lstinline|? super| erreicht \cite{naftalin_java_2007}[S.17 ff]. So ist durch die Verwendung von Wildcards folgende Subtypisierung möglich: +\[ + \texttt{Function} \subtype \texttt{Function} +\] +Als Java Quellcode ist dieses Beispiel in \autoref{lst:covariance} dargestellt. + +\begin{lstlisting}[caption=Varianz in Java, label=lst:covariance, language=java] + Function func1 = x -> x + 1; + Function func2 = func1; +\end{lstlisting} + +Wie man sehen kann, wird die Funktion \lstinline{func1} der Funktion \lstinline{func2} zugewiesen. Daraus folgt, dass \lstinline|func2| ein Subtyp von \lstinline|func1| ist. Dabei ist der Parameter der Funktion \lstinline{func2} ein Supertyp des Parameters der Funktion \lstinline{func1} (Kontravarianz) und der Rückgabewert der Funktion \lstinline{func2} ein Subtyp von dem Rückgabewert der Funktion \lstinline{func1} (Kovarianz). Dies entspricht der Definition für die Subtypisierung für Funktionstypen aus \autoref{def:subtyping_of_function_types}. Use site Varianz führt zwar zu einer erhöhten Flexibilität, da der generische Typ an verschiedenen Stellen im Code unterschiedlich variiert werden kann, aber es erschwert auch die Lesbarkeit des Codes. +Außerdem muss sich der Entwickler um die korrekte Verwendung der Varianz kümmern, was leicht zu Typfehlern führen kann. Einfacher wäre es, wenn die Varianz direkt bei der Deklaration der generischen Typen festgelegt werden könnte. Dies wird als declaration site Varianz bezeichnet und wird von vielen Sprachen wie Scala oder C\# unterstützt \cite{piquerez_variances_nodate, wagner_creating_2021}. Declaration site Varianz ist allerdings weniger flexibel, da die Varianz des Typen immer die gleiche bleibt und nicht an verschiedenen Stellen im Code variiert werden kann. + +\section{Echte Funktionstypen in Java-TX} +\ac{Java-TX} löst das Subtypisierung Problem durch die Einführung von echten Funktionstypen. Dadurch bekommen Lambda Ausdrücke echte Typen, welche nicht vom Kontext abhängig sind. Die Funktionstypen werden in \ac{Java-TX} laut \cite{plumicke_java-tx_2022} mit der folgenden Syntax definiert: +\begin{center} + $(\tau_1, \tau_2, ..., \tau_N) \rightarrow \tau_0 \equiv FunN\$\$<\tau_1, \tau_2, ..., \tau_N, \tau_0>$ \\ + $(\tau_1, \tau_2, ..., \tau_N) \rightarrow void \equiv FunVoidN\$\$<\tau_1, \tau_2, ..., \tau_N>$ +\end{center} + +Außerdem sind Argumente der Funktionstypen automatisch kontravariant und der Rückgabewert kovariant. Dies erlaubt die Subtypisierung von Funktionstypen ohne use site Varianz, was zur besseren Lesbarkeit und weniger Fehleranfälligkeit führt. +Tatsächlich ist die Verwendung von Wildcards für die \ac{Java-TX} Funktionstypen nicht erlaubt \cite{plumicke_introducing_2017}[Abschnitt 6]. In \autoref{lst:subtyping_of_function_types} ist ein Beispiel für die Subtypisierung von Funktionstypen in \ac{Java-TX} zu sehen ist. Hier lässt sich die Funktion \lstinline{func1} der Funktion \lstinline{func2} zuweisen, da das Argument der Funktion \lstinline{func1} ein Supertyp des Arguments der Funktion \lstinline{func2} ist und der Rückgabewert der Funktion \lstinline{fun1} ein Subtyp des Rückgabewerts der Funktion \lstinline{fun2} ist, daher ist \lstinline|fun1| nach \autoref{def:subtyping_of_function_types} ein Subtyp von \lstinline|fun2|. Dieser Code ist leichter lesbar und verständlicher als der Java Code in \autoref{lst:covariance}. Außerdem korrespondiert er direkt mit der theoretischen Grundlage in \autoref{def:subtyping_of_function_types}. + +\begin{lstlisting}[caption=Subtypisierung von Funktionstypen in Java-TX, label=lst:subtyping_of_function_types, language=java] + Fun1$$ func1 = x -> x.intValue() + 1; + Fun1$$ func2 = func1; +\end{lstlisting} + +Echte Funktionstypen ermöglichen in \ac{Java-TX} die Definition von Funktionen in einem beliebigen Kontext. Ein Beispiel hierzu ist in \autoref{lst:lambda_with_function_type} zu sehen. In diesem Fall inferiert der Compiler den Typ \lstinline|Fun2$$|. In Java ist die Verwendung von \lstinline|var| in diesem Kontext nicht möglich, wie in \autoref{lst:lambda_with_var} gezeigt wurde. + +\begin{lstlisting}[caption=Lambda Ausdruck ohne Typkontext, label=lst:lambda_with_function_type, language=java] +import java.lang.Integer; +public class Main{ + main(){ + var add = (x, y) -> x + y; + } +} +\end{lstlisting} + +\section{GNU Make} \label{sec:make} +\ac{GNU} Make ist ein Build-Management-Tool, welches von Richard Stallman und Roland McGrath entwickelt wurde \cite{stallman_gnu_2004}[S.1]. Es wird hauptsächlich verwendet, um C Programme automatisiert zu kompilieren und zu linken. Make nutzt inkrementelle Kompilierung, d.h. es ermittelt mittels Timestamps welche Teile des Programms nach Änderungen des Quellcodes neu kompiliert werden müssen \cite{stallman_gnu_2004}[S.5]. +Grundsätzlich werden bei Make verschiedene Regeln in einem sogenannten Makefile definiert. Diese Regeln bestehen aus Zielen (targets), Abhängigkeiten (prerequisites) und Befehlen (recipe)\cite{stallman_gnu_2004}[S.3]. Die Befehle werden ausgeführt, wenn die Abhängigkeiten neuer als die Ziele sind. Die Struktur einer Regel ist in \autoref{lst:make_rule} zu sehen. + +\begin{lstlisting}[caption=Aufbau einer Makefile-Regel aus {\cite{stallman_gnu_2004}[S.3]}, label=lst:make_rule] + target ... : prerequisites ... + recipe + ... + ... +\end{lstlisting} + +Ein einfaches Makefile für ein C-Programm könnte wie das Beispiel in \autoref{lst:sample_makefile} aussehen. Die Regeln in diesem Beispiel dienen zur Compilierung des Programms \texttt{edit}. Auf der linken Seite einer Regel steht nun immer die Quelldatei, die erstellt werden soll. Auf der rechten Seite stehen die Abhängigkeiten, die für die Erstellung der Quelldatei benötigt werden. Die Befehle, die ausgeführt werden, wenn die Abhängigkeiten neuer sind als das Ziel, stehen unterhalb der Regel. In diesem Fall wird das Programm \texttt{edit} aus den Objektdateien \texttt{main.o, kbd.o, command.o, display.o, insert.o, search.o, files.o} und \texttt{utils.o} gebaut. Die Objektdateien werden aus den entsprechenden Quelldateien erstellt. Mit dem Befehl \lstinline|make clean| können alle erstellten Dateien gelöscht werden. \lstinline|clean| ist hierbei ein sogenanntes Phony Target. Das bedeutet, dass es sich nicht um eine Datei handelt. Vielmehr wird der definierte Befehl ausgeführt, sobald der Benutzer \lstinline|make clean| aufruft \cite{stallman_gnu_2004}[S.31]. + +\begin{lstlisting}[caption=Beispiel eines Makefiles aus {\cite{stallman_gnu_2004}[S.4]}, label=lst:sample_makefile] +edit : main.o kbd.o command.o display.o \ + insert.o search.o files.o utils.o + cc -o edit main.o kbd.o command.o display.o \ + insert.o search.o files.o utils.o +main.o : main.c defs.h + cc -c main.c +kbd.o : kbd.c defs.h command.h + cc -c kbd.c +command.o : command.c defs.h command.h + cc -c command.c +display.o : display.c defs.h buffer.h + cc -c display.c +insert.o : insert.c defs.h buffer.h + cc -c insert.c +search.o : search.c defs.h buffer.h + cc -c search.c +files.o : files.c defs.h buffer.h command.h + cc -c files.c +utils.o : utils.c defs.h + cc -c utils.c +.PHONY : clean +clean : + rm edit main.o kbd.o command.o display.o \ + insert.o search.o files.o utils.o +\end{lstlisting} + +\ac{GNU} make bietet neben diesen grundlegenden make Funktionalitäten noch weitere mächtige Funktionen, z.B. die Möglichkeit Variablen zu definieren, shell Befehle innerhalb des Makefiles aufzurufen oder die Verwendung von Wildcards, um dynamische Makefiles zu erstellen. +Für Hochsprachen wie Java werden meistens spezielle Build-Management-Tools wie Maven oder Gradle verwendet \cite{jetbrains_java_2023}. Diese sind jedoch oft speziell auf diese Sprache entwickelt weniger flexibel als make. + +\section{Selbstkompilierende Compiler} +Im Compilerbau gilt ein selbstkompilierender Compiler als Qualitätsmerkmal. Ein Compiler ist selbstkompilierend, wenn er in der Sprache geschrieben ist, die er kompiliert. Dies bedeutet, dass der Compiler in der Lage ist, seinen eigenen Quellcode zu kompilieren. In der Regel gibt es in jeder großen Programmiersprache mindestens einen Compiler, der selbstkompilierend ist. Bekannte Beispiel hierfür sind der \gls{javac} Compiler, der in Java geschrieben ist \cite{noauthor_openjdk_nodate-1} und Java Code kompiliert und der C++ Compiler der \ac{GCC}, der seit einigen Jahren in C++ geschrieben ist \cite{noauthor_gcc--cxx_nodate} und unter anderem C++ Code kompilieren kann \cite{stallman_using_2024}[S.5]. +Laut \cite{terry_compilers_1997}[Abschnitt 3.4] bieten selbstkompilierende Compiler im Wesentlichen 4 Vorteile: +\begin{itemize} + \item Es stellt einen nicht trivialen Test der Funktionsfähigkeit des Compilers dar. + \item Sobald der selbstkompilierende Compiler einmal implementiert ist, ist die Entwicklung ohne die Abhängigkeit anderer Ãœbersetzungssysteme möglich. + \item Alle Verbesserungen, die am Backend des Compilers vorgenommen werden, wirken sich sowohl auf den Compiler, als auch auf den generierten Code aus. + \item Es bietet eine umfassende Ãœberprüfung der Selbstkonsistenz des Compilers. Der Compiler sollte in der Lage sein, seinen eigenen Quellcode zu kompilieren. +\end{itemize} + +Der Prozess einen selbstkompilierenden Compiler zu erstellen, kann mit sogenannten T-Diagrammen visualisiert werden. In \autoref{fig:self_compiling_compiler_java_tx} ist ein solches Diagramm für einen selbstkompilierenden Compiler in \ac{Java-TX} zu sehen. Auf der linken eines T's ist dabei die Eingabesprache zu sehen, auf der rechten Seite die Ausgabesprache und in der Mitte die Sprache, in der der Compiler geschrieben ist. In diesem Fall ist das rote T der bereits bestehende Compiler in Java-TX, der den \ac{Java-TX} Code in Bytecode übersetzt. Der blaue T ist das langfristige Ziels des Projekts \JTXCinJTX, also ein Compiler der in \ac{Java-TX} geschrieben ist und \ac{Java-TX} Quelldateien in Bytecode kompiliert. Die Anordnung der T's symbolisiert, dass der ursprüngliche Compiler den neuen Compiler initial kompiliert. +\begin{figure}[h] + \centering + \begin{tikzpicture}[scale=2, every node/.style={scale=1}] + \draw[draw=blue] (1,0) -- (0,0) -- (0,1) -- (3,1) -- (3,0) -- (2,0) -- (2, -1.1) -- (1, -1.1) -- cycle; + \node at (0.5, 0.5) {Java-TX}; + \node at (1.5, -0.6) {Java-TX}; + \node at (2.5, 0.5) {Bytecode}; + \draw[draw=red] (3.1,-1.1) -- (2.1,-1.1) -- (2.1,-0.1) -- (5.1,-0.1) -- (5.1,-1.1) -- (4.1,-1.1) -- (4.1, -2.2) -- (3.1, -2.2) -- cycle; + \node at (2.6, -0.6) {Java-TX}; + \node at (3.6, -1.65) {Java}; + \node at (4.6, -0.6) {Bytecode}; + \end{tikzpicture} + \caption{Selbstkompilierender Compiler in Java-TX} + \label{fig:self_compiling_compiler_java_tx} +\end{figure} diff --git a/Studienarbeit/content/chapter/02.tex b/Studienarbeit/content/chapter/02.tex new file mode 100644 index 0000000..712c4f8 --- /dev/null +++ b/Studienarbeit/content/chapter/02.tex @@ -0,0 +1,251 @@ +%!TEX root = ../../main.tex + +\chapter{Aufbau der Umgebung} + +\section{Voraussetzungen} \label{sec:prequisites} +Der aktuelle \JTXC{} ist in Java implementiert. Da \ac{Java-TX} ein Superset von Java 8\footnote{Es existieren einige Einschränkungen vgl. \cite{plumicke_java-tx_2022}[S.2]} ist, kann der Quellcode im Wesentlichen übernommen werden. Es müssen lediglich die inferierbaren Typinformationen entfernt werden, um die Vorteile von \ac{Java-TX} auch zu nutzen. Da sowohl Java, als auch \ac{Java-TX} Java Bytecode generieren, ist es möglich, \ac{Java-TX} und Java Dateien zu mischen. Dadurch kann der Compiler sukzessive in \ac{Java-TX} übersetzt werden. Der Vorteil daran ist, dass man nach jeder übersetzten Datei einen funktionsfähigen Compiler hat, der zu einem gewissen Grad bereits aus \ac{Java-TX} Dateien besteht. Auf diesem Zwischenstand können dann z.B. auch Tests aufgeführt werden, um die Funktionalität zu prüfen. + +Ein Problem besteht darin, dass der \JTXC{} \texttt{.jav}\footnote{\ac{Java-TX} Quelldateien haben die Dateiendung \texttt{.jav}}-Dateien und \texttt{.class}-Dateien lesen kann, während der \gls{javac} Compiler \texttt{.java}-Dateien und \texttt{.class}-Dateien einlesen kann. Jedoch kann der \JTXC{} keine \texttt{.java}-Dateien lesen und der \gls{javac} Compiler natürlich keine \texttt{.jav}-Dateien. Das bedeutet, dass zirkuläre Abhängigkeiten zwischen Java und \ac{Java-TX} Dateien nicht ohne Weiteres möglich sind. Dieses Problem ist in \autoref{fig:circular_dependency} visualisiert. Ein Pfeil symolisieren dabei Abhängigkeiten zu einer anderen Datei. Wenn der \JTXC{} zuerst aufgerufen wird, kann er die Java Datei nicht lesen und umgekehrt. Selbst wenn die Abhängigkeiten nicht zirkulär sind, muss die genaue Reihenfolge der Kompilierung definiert sein. Dies bedeutet das der Build-Prozess für den \JTXCinJTX{} sehr komplex werden würde. + +\begin{figure}[H] + \centering + \begin{tikzpicture}[node distance=2cm,thick] + % Nodes + \node[draw, circle] (file1) {file1.java}; + \node[draw, circle, right=of file1] (file2) {file2.jav}; + + % Arrows + \draw[->] (file1) to[bend left=45] (file2); + \draw[->] (file2) to[bend left=45] (file1); + \end{tikzpicture} + \caption{Zirkuläre Abhängigkeiten zwischen Java und \ac{Java-TX} Dateien} + \label{fig:circular_dependency} +\end{figure} + + +Aktuell wird dieses Problem gelöst indem der gesamten Compiler zu Beginn einmal in seiner Ursprungsform (also nur \texttt{.java} Dateien) mit \gls{javac} kompiliert wird. Dann liegt der komplette \JTXC{} in Form von \texttt{.class} Dateien vor. Anschließend muss diese Hierarchie nur noch als Classpath des \JTXC{} angegeben werden. Der \JTXC{} kann nun die \texttt{.class} Dateien lesen, die zur jeweiligen \texttt{.java} Datei korrespondieren. Wichtig ist an dieser Stelle natürlich, dass die \texttt{.class}-Dateien den gleichen Stand, wie die Quelldateien haben. Dieses Verhalten ist in \autoref{fig:circular_dependency_resolved} gezeigt. Die Grafik zeigt, dass der \JTXC{} zur Kompilierung der \texttt{.jav} Datei die zuvor generierte \texttt{.class} Datei von \texttt{file1} verwendet. Wenn später dann \texttt{file1} von \gls{javac} kompiliert wird, wurde \texttt{file2.class} bereits vom \JTXC{} erstellt. Der \gls{javac} Compiler benötigt die vorkompilierten Klassen also nicht mehr im Classpath und kann die vom \JTXC{} generierten .class Dateien verwenden. Natürlich ist es für diese Lösung notwendig, dass der \JTXC{} zuerst alle \lstinline|.jav| Dateien kompiliert, bevor der \gls{javac} Compiler auf Basis der generierten \texttt{.class} Dateien, alle \texttt{.java} kompiliert. +Diese Reihenfolge ist aber ohnehin notwendig, damit \gls{javac} seinen Bytecode mit den korrekten Typen generieren kann, die der \JTXC{} inferiert hat. +Diese Lösung ist zwar nicht ideal, da man eine Abhängigkeit zum gesamten vorkompilierten Projekt benötigt. Da der \JTXC{} aber keine \texttt{.java} Dateien lesen kann, ist es vermutlich die einzige Möglichkeit, zirkuläre Abhängigkeiten zwischen \texttt{.java} und \texttt{.jav} Dateien zu lösen. + +\begin{figure}[h] + \centering + \begin{tikzpicture}[node distance=2cm, thick] + % Nodes + \node[draw, circle] (file1) {file1.java}; + \node[draw, circle, right=of file1] (file2) {file2.jav}; + \node[draw, circle, below=0.7cm of file1] (file1_class) {file1.class}; + + % Arrows + \draw[->] (file1) to[bend left=45] (file2); + \draw[->, dashed] (file2) to[bend left=45] (file1); + \draw[->] (file2) -- (file1_class); + + \begin{scope}[on background layer] + \node[fit=(file1_class), draw, fill=gray!20, inner sep=0.5cm] {}; + \end{scope} + + \end{tikzpicture} + \caption{Zirkuläre Abhängigkeiten zwischen Java und \ac{Java-TX} Dateien behoben} + \label{fig:circular_dependency_resolved} +\end{figure} + +Die aktuelle \JTXC{} Implementierung automatisiert den Build-Prozess mit Maven. Java ist für die Verwendung von Java basierten Sprachen entwickelt worden \cite{noauthor_maven_nodate}. Da Maven keine \ac{Java-TX} Unterstützung bietet, muss der Build-Prozess für den \JTXCinJTX{} manuell angepasst werden. Dazu wurden zwei Lösungsansätze erarbeitet, die in den folgenden Abschnitten beschrieben werden. + +\section{Kompilierung mit Make} +Der erste Ansatz der Verfolgt wurde, war die Kompilierung mittels \ac{GNU} make (vgl. \autoref{sec:make}) umzusetzen. Make ist sehr flexibel und ist vielseitig einsetzbar. Um nicht alle Quelldateien einzeln angeben zu müssen, werden Wildcards verwendet. Außerdem bietet make den Vorteil, das nur geänderte Dateien neu kompiliert werden. Dies ist besonders bei großen Projekten von Vorteil, da nicht alle Dateien neu kompiliert werden müssen. Das verwendete Makefile ist in \autoref{lst:makefile} zu sehen. + +\begin{lstlisting}[caption={Makefile für die Kompilierung des \JTXCinJTX{}}, label={lst:makefile}, language=make] +JFLAGS = -g:none -implicit:none -nowarn +JC = javac +JTX = JavaTXcompiler-1.0-jar-with-dependencies.jar +SRCDIR = javatx-src/main/java +DESTDIR = out + +# Use find to locate all .java and .jav files recursively +JAVASOURCES := $(shell find $(SRCDIR) -name '*.java') +JAVSOURCES := $(shell find $(SRCDIR) -name '*.jav') + +# Convert .java files to .class files with the same directory structure +JAVACLASSES := $(patsubst $(SRCDIR)/%.java,$(DESTDIR)/%.class,$(JAVASOURCES)) +JAVCLASSES := $(patsubst $(SRCDIR)/%.jav,$(DESTDIR)/%.class,$(JAVSOURCES)) + +default: $(JAVCLASSES) $(JAVACLASSES) + +# Rule for compiling .jav files +$(DESTDIR)/%.class: $(SRCDIR)/%.jav + java -jar $(JTX) -d "$(DESTDIR)" -cp "$(SRCDIR):$(DESTDIR):target/dependencies/" $< + +# Rule for compiling .java files +$(DESTDIR)/%.class: $(SRCDIR)/%.java + $(JC) -d $(DESTDIR) -cp "$(SRCDIR):$(DESTDIR):target/dependencies/*" $(JFLAGS) $< + +.PHONY: clean +clean: + $(RM) -r $(DESTDIR)/* + \end{lstlisting} + +Im ersten Abschnitt werden einige globale Variablen, wie den Ort des \gls{javac} und \JTXC{} und der Quell- und Zielordner definiert. Dann werden mit dem shell Befehl \texttt{find} alle Dateien die auf .java und .jav enden in den Variablen \texttt{JAVASOURCES} und \texttt{JAVSOURCES} gespeichert. Der \texttt{find} Befehl geht dabei rekursiv vor und beachtet auch alle Unterverzeichnisse des Quellverzeichnisse. In diesem Fall findet der Befehl also alle Dateien in der Packethierarchie. Danach wird der \texttt{patsubst} Befehl von make verwendet, um den Pfand, an dem die korrespondierende \texttt{.class} Datei liegen wird, zu substituieren. So wird z.B. die Liste der Quelldateien + +\begin{verbatim} +javatx-src/main/java/de/dhbwstuttgart/typeinference/assumptions/Assumption.java +javatx-src/main/java/de/dhbwstuttgart/typeinference/assumptions/FieldAssumption.java +\end{verbatim} + +zu einer Liste mit folgenden korrespondierenden Zieldateien + +\begin{verbatim} +out/de/dhbwstuttgart/typeinference/assumptions/Assumption.class +out/de/dhbwstuttgart/typeinference/assumptions/FieldAssumption.class +\end{verbatim} + +Die genaue Syntax des \lstinline|patsubst| Befehls kann in \cite{stallman_gnu_2004}[S.92] nachgelesen werden. +In der nächsten Zeile wird die Standardregel für das Makefile definiert. In \ac{GNU} make ist die erste Regel diejenige, die aufgerufen wird, wenn der make Befehl ohne Parameter aufgerufen wird \cite{stallman_gnu_2004}[S.109]. Diese Regel versucht alle Dateien in \lstinline|$(JAVCLASSES)| und \lstinline|$(JAVSOURCES)| zu kompilieren. Dazu werden die nächste beiden Regeln verwendet. + +Die erste Regel kompiliert \ac{Java-TX} Dateien. Dazu liegt der Compiler als JAR-Archiv vor. Der Compiler wird mit dem Befehl \lstinline|java -jar| aufgerufen, welcher die Ausführung von JAR-Archiven ermöglicht. Der \texttt{-d} Parameter gibt den Zielordner an, in dem die \texttt{.class} Datei gespeichert wird. Der \texttt{-cp} Parameter gibt die Klassenpfade an, die der Compiler benötigt. In diesem Fall sind das der Quellordner, der Zielordner und die Abhängigkeiten des Projekts. Der \lstinline|$<| Operator gibt den Pfad der ersten Abhängigkeit an \cite{stallman_gnu_2004}[S.131]. In diesem Fall ist das die \texttt{.jav} Quelldatei. Das \texttt{\%} Symbol dient als Wildcard und steht für eine beliebige Zeichenkette. Eine solche Regeln nennt man auch Musterregel (engl. Pattern Rule) \cite{stallman_gnu_2004}[S.129]. + +Die zweite Regel kompiliert \lstinline|.java| Quelldateien. Sie unterscheidet sich nur marginal von der ersten Regel. Lediglich der Aufruf des Compilers und die Dateiendung der Regel wurden angepasst, da hierzu der \gls{javac} Compiler verwendet wird. Die Parameter \lstinline|-d| und \lstinline|-cp| sind identisch. Lediglich einige weitere Parameter, die Anfags in die Variable \lstinline|JFLAGS| gespeichert wurden, werden dem Compiler übergeben. Der Parameter |g:none| bedeutet, dass keine Debuginformationen generiert werden sollen. Das macht den generierten Bytecode in solch einem Entwicklungsumfeld leichter lesbar. Der Parameter |implicit:none| bedeutet, dass Abhängigkeit nicht impliziert kompiliert werden sollen. Weiteres dazu in \autoref{sec:performance}. Der Parameter \lstinline|nowarn| bedeutet schließlich, dass keine Warnungen ausgegeben werden sollen. + +Die letzte Regel des Makefiles ist eine Phony Regel (vgl. \autoref{sec:make}). Sie löscht den Inhalt des Zielordners. Dazu wird der \lstinline|rm| Befehl mit dem \lstinline|-r| Parameter verwendet, um rekursiv alle Dateien und Ordner zu löschen. Der \lstinline|*| Operator steht für alle Dateien und Ordner im Zielordner. Die Variable RM ist eine vordefinierte Variable in make, die den Befehl zum Löschen von Dateien definiert \cite{stallman_gnu_2004}[S. 125 ff.]. +Die Regel wird ausgeführt, wenn der make Befehl mit dem Parameter \lstinline|clean| aufgerufen wird. + + + +\subsection{Performanceprobleme} \label{sec:performance} +Das Makefile ist funktionstüchtig und kompiliert das Projekt korrekt, allerdings geht eine komplette Kompilierung des Projekts mehrere Minuten, während die originale Java Version des Compilers nur wenige Sekunden benötigt. Dabei ist zu erwähnen, dass ein Großteil der Performanceeinbußen nicht durch die Typinferenz des \JTXC{} entsteht, sondern schon der \gls{javac} Compiler deutlich langsamer als beim ursprünglichen Compiler ist. Dies hängt damit zusammen, dass der \gls{javac} Compiler für jede Datei einzeln aufgerufen wird. Dies resultierte vor allem auf Grund folgender zwei Gründe in einer schlechteren Performance: +\begin{itemize} + \item Der \gls{javac} Compiler kompiliert standardmäßig alle Abhängigkeiten implizit mit. Da der Compiler aber sowieso für jede Datei aufgerufen wird, bedeutet das, dass viele Dateien mehrfach kompiliert werden. + \item Der Overhead den Compiler zu starten ist relativ hoch. Das liegt zu großen Teilen wahrscheinlich daran, dass der \gls{javac} Compiler in Java implementiert ist und somit die \ac{JVM} gestartet werden muss. Dadurch ist es sehr ineffizient den Compiler für jede Datei neu zu starten. +\end{itemize} +Die implizite Kompilierung kann beim Aufruf von \gls{javac} durch den Parameter \lstinline|-implicit:none| deaktiviert werden. Dieser sorgt dafür, dass Abhängigkeiten nicht implizit kompiliert werden. In \autoref{tab:compiletimes_javac} sind die Kompilierzeiten des \JTXC{} mit \gls{javac} aufgeführt. + +\begin{table}[h] + \centering + \begin{tabular}{|l|l|l|l|} + \hline + & Einzeln & Einzeln (Nicht Implizit) & Gemeinsam \\ \hline + Min & 04:52,44 & 02:23,28 & 00:02,50 \\ \hline + Max & 05:10,69 & 02:25,78 & 00:02,73 \\ \hline + Avg & 04:58,83 & 02:24,15 & 00:02,57 \\ \hline + \end{tabular} + \caption{Kompilierzeiten des \JTXC{} mit \gls{javac}\footnote{Diese Zeiten wurden mit einem Intel i5-12400F Prozessor und 16GB RAM auf einem Linux Rechner mit dem \ac{GNU} Time Befehl gemessen. Jeder Test wurde 5x durchgeführt. Der Durchschnitt wurde aus allen Durchläufen berechnet.}} + \label{tab:compiletimes_javac} +\end{table} + +Die erste Spalte beschreibt die Kompilierzeiten, wenn der Compiler für jede Datei einzeln aufgerufen wird und die implizite Kompilierung von Abhängigkeiten aktiviert ist. Die zweite Spalte beschreibt die Kompilierzeiten, wenn der Compiler für jede Datei einzeln aufgerufen wird, aber die Abhängigkeiten nicht implizit kompiliert werden. Es werden also mehrfache Kompilierungen vermieden. Die dritte Spalte beschreibt die Kompilierzeiten, wenn der Compiler für alle Dateien auf einmal aufgerufen wird. Zu sehen ist, dass sich die Kompilierzeit in etwa halbiert, wenn die Abhängigkeiten nicht implizit kompiliert werden. Allerdings ist die letzte Variante, die alle Dateien auf einmal an den Compiler übergibt, immer noch etwa um den Faktor 56 schneller. + +Aus diesem Grund wurde entschieden, dass die Kompilierung des \JTXC{} mit make nicht praktikabel ist. +Ein alternativer Ansatz, der dieses Problem umgeht, wird in \autoref{sec:script} vorgestellt. + +\section{Kompilierung mit Bash} \label{sec:script} +Aufgrund der Laufzeiteinbusen, die beim Verwenden des Makefiles zustande kommen, musste eine alternative Lösung gefunden werden. Die Idee ist zuerst alle Dateien, die kompiliert werden müssen zu sammeln und dann den Compiler nur einmal aufzurufen. Da sich die Komplexität für solch ein Skript in Grenzen hält und die größtmögliche Flexibilität bietet, wurde sich für ein eigenes Skript entschieden. Als Skriptsprache wurde \ac{Bash} ausgewählt. Diese ist sowohl unter Linux, als auch unter MacOS nativ ohne weitere Abhängigkeiten lauffähig. Zur Ausführung auf Windows müsste man auf das \ac{WSL} zurückgreifen. +Das Skript hat das gleiche Verhalten wie das Makefile. Der einzige Unterschied besteht darin, dass alle Dateien die kompiliert werden müssen in eine Liste gespeichert werden und der Compiler am Ende nur einmal aufgerufen wird. +Dadurch wird der Overhead des Compilers minimiert und die Kompilierzeit deutlich reduziert, sodass man ohne \ac{Java-TX} Dateien mit dem Skript eine Zeit von etwa 2 Sekunden erreicht, was in etwa der Zeit in \autoref{tab:compiletimes_javac} entspricht. Wenn das Skript mit dem Argument \lstinline|clean| aufgerufen wird, wird der Inhalt des Zielordners gelöscht. + +\begin{figure}[h!] + \begin{forest} + for tree={ + font=\ttfamily, + grow'=0, + child anchor=west, + parent anchor=south, + anchor=west, + calign=first, + edge path={ + \noexpand\path [draw, \forestoption{edge}] + (!u.south west) ++(1pt,0) |- (.child anchor)\forestoption{edge label}; + }, + before typesetting nodes={ + if n=1 + {insert before={[,phantom]}} + {} + }, + fit=band, + before computing xy={l=15pt}, + inner sep=2pt, + l=15pt, + }, + folder/.style={font=\faFolder\space, edge+={color=blue!50}}, + folder-open/.style={font=\faFolderOpen\space, edge+={color=blue!50}}, + file/.style={font=\faFile\space, edge+={color=red!50}}, + jar/.style={font=\faFileArchive\space, edge+={color=green!50}}, + markdown/.style={font=\faMarkdown\space, edge+={color=purple!50}}, + script/.style={font=\faFileCode\space, edge+={color=orange!50}}, + [JavaTXCompilerInJavaTXNoMaven, folder-open + [JavaTXcompiler.jar, jar] + [javatx-src, folder] + [tests, folder] + [out, folder-open + [src, folder] + [tests, folder] + ] + [lib, folder-open + [dependencies, folder] + [resources, folder] + [classes, folder] + ] + [test.sh, script] + [compile.sh, script] + [README.md, markdown] + ] + \end{forest} + \caption{Dateistruktur des Projekts} + \label{fig:folder_structure} +\end{figure} + +In \autoref{fig:folder_structure} ist die Ordnerstruktur mit allen notwendigen Ressourcen des Projekts dargestellt. Das Projekt besteht aus folgenden Ordnern und Dateien: + +\begin{itemize} + \item \textbf{JavaTXCompiler.jar}: Die aktuelle Version des \JTXC{} in Form eines JAR-Archivs. Es wird verwendet, um die \ac{Java-TX} Dateien des \JTXCinJTX{} zu kompilieren. + \item \textbf{javatx-src}: Enthält den Code des \JTXCinJTX. Besteht zum Großteil aus den Java Quelldateien des \JTXC{} und einigen \ac{Java-TX} Dateien, die bereits migriert werden konnten. + \item \textbf{tests}: Enthält die Testsuite des \JTXC{} in Form von \gls{JUnit} Tests (vgl. \autoref{sec:tests}). + \item \textbf{out}: Enthält das kompilierte Projekt, sowie die kompilierten Tests. + \begin{itemize} + \item \textbf{src}: Enthält das kompilierte Projekt in Form von \texttt{.class} Dateien. + \item \textbf{test}: Enthält die kompilierten Tests in Form von \texttt{.class} Dateien. + \end{itemize} + \item \textbf{lib}: Enthält zusätzliche statische Dateien, die für das Projekt benötigt werden. + \begin{itemize} + \item \textbf{dependencies}: Enthält externe Bibliotheken, die für das Projekt benötigt werden in Form von JAR-Archiven. Werden im \JTXC{} durch \gls{Maven} verwaltet. + \item \textbf{resources}: Enthält zusätzliche Ressourcen, die für die Tests benötigt werden. Im Wesentlichen sind dies die Beispielprogramme, die getestet werden. + \item \textbf{classes}: Enthält den gesamten \JTXC{} in kompilierter Form um Abhängigkeiten zwischen \texttt{jav} und \texttt{java} Dateien zu ermöglichen (vgl. \autoref{sec:prequisites}) + \end{itemize} + \item \textbf{test.sh}: Dieses Bash Skript ist für die Kompilierung und Ausführung der Tests zuständig. + \item \textbf{compile.sh}: Dieses Bash Skript ist für die Kompilierung des Projekts zuständig ist. + \item \textbf{README.md}: Eine Markdown Datei, die Informationen zur Verwendung des Projekts enthält. +\end{itemize} + +Da das gesamte Skript weder besonders spannend, noch komplex und zusätzlich relativ lang ist, wird es hier nicht im Detail beschrieben. Es ist jedoch im Anhang unter \autoref{app:bash} zu finden. + +\section{Tests} \label{sec:tests} +Da es bei der Entwicklung eines eigenen Compilers schnell zu fehlerhaftem Bytecode kommen kann, welcher ggf. erst zur Laufzeit auffällt, ist es sinnvoll den generierten Bytecode zu testen. +Der große Vorteil ist an dieser Stelle, dass es bereits eine Testsuite mit über 200 Unittests für den \JTXC{} gibt. Diese Tests müssen lediglich auf den generierten Bytecode des \JTXCinJTX{} angewandt werden, um fehlerhafter Bytecode oft frühzeitig zu erkennen. + +Die Tests des \JTXC{} werden über \gls{Maven} verwaltet und ausgeführt. Außerdem bieten die meisten \ac{IDE}s eine direkte Integration für \gls{JUnit} Tests. Diese automatischen Verfahren sind für reine Java Projekte geeignet, da sie die Testsuite automatisch ausführen und die Ergebnisse anzeigen. Da der \JTXCinJTX{} aus einer gemischten Codebasis mit Java und \ac{Java-TX} Quelldateien besteht, die mit dem eigenen Skript kompiliert wird, ist es nicht möglich diese Tools zu verwenden. + +Daher muss die Testsuite manuell auf die kompilierten Dateien angewandt werden. Um diesen Prozess zu automatisieren wurde ein weiteres Skript geschrieben. Dieses Skript kompiliert und kopiert die notwendigen Dateien zur Ausführung der Tests in den korrekten Ordner. Danach können die Tests mit einem Aufruf des \gls{JUnit} 4 JAR-Archivs ausgeführt werden. +Das gesamte Skript ist in \autoref{lst:testscript} zu sehen. + +\begin{lstlisting}[caption={Skript zum Kompilieren und Ausführen der Tests}, label={lst:testscript}, language=bash] +#!/bin/bash +##TEST ENVIRONMENT## + +DESTDIR="out/src" +TESTDESTDIR="out/tests" +DEPENDENCIES="dependencies/*" +TESTFILES="TestComplete TestPackages GenericParserTest TestTypeDeployment finiteClosure.SuperInterfacesTest astfactory.ASTFactoryTest targetast.ASTToTypedTargetAST targetast.GreaterEqualTest targetast.GreaterThanTest targetast.InheritTest2 targetast.InheritTest targetast.LessEqualTest targetast.LessThanTest targetast.OLTest targetast.PostIncTest targetast.PreIncTest targetast.PutTest targetast.TestCodegen targetast.TestGenerics targetast.TphTest targetast.WhileTest" +RESOURCES="lib/resources" + +#recompile all necessary test files +javac -cp "$TESTDESTDIR:$DESTDIR:$DEPENDENCIES" -d $TESTDESTDIR tests/**/*.java +javac -cp "$TESTDESTDIR:$DESTDIR:$DEPENDENCIES" -d $TESTDESTDIR tests/*.java + +cp -r $RESOURCES $TESTDESTDIR/resources/ + +cd "$TESTDESTDIR" + +#run tests with junit +java -cp "../src:.:../../dependencies/*" org.junit.runner.JUnitCore $TESTFILES +\end{lstlisting} + +Zu Beginn werden einige Variablen initialisiert. \texttt{DESTDIR} gibt den Ordner an, an dem die bereits kompilierten Dateien des \JTXCinJTX{} liegen. Auf diesen Dateien werden die Tests ausgeführt. \texttt{TESTDESTDIR} gibt den Ordner an, in dem die kompilierten \gls{JUnit} Testdateien abgelegt werden sollen. \texttt{DEPENDENCIES} gibt den Ordner mit den externen Abhängigkeiten des Projekts an. Diese sind identisch zu den Abhängigkeiten des \texttt{compile.sh} Skripts und damit die Dateien, die im ursprünglichen Compiler über \gls{Maven} verwaltet werden. \texttt{TESTFILES} gibt die Testklassen an, die ausgeführt werden sollen. Zuletzt verweist \texttt{RESOURCES} auf den Ordner, in dem die Testdateien, d.h. \texttt{.jav} Quelldateien, die von den Tests kompiliert werden, liegen. +Dann werden alle \gls{JUnit} Test Dateien kompiliert, wenn sie nicht bereits vorhanden sind. Im Anschluss werden sämtliche Ressourcen, die von den Tests benötigt werden, z.B. die Testdateien, deren Code kompiliert werden soll, an die korrekte Position kopiert, sodass die Tests diese zur Laufzeit finden können. In den nächsten Zeilen wird in den Testordner gewechselt und die Tests mit der Klasse \texttt{JUnitCore} ausgeführt. Die Klasse \texttt{org.juni.runner.JUnitCore} ist die Hauptklasse von \gls{JUnit} 4, die die Tests ausführt. Sie ist im \gls{JUnit}4 JAR-Archiv enthalten, welches bereits bei den Abhängigkeiten in \texttt{DEPENDENCIES} vorhanden ist. diff --git a/Studienarbeit/content/chapter/03.tex b/Studienarbeit/content/chapter/03.tex new file mode 100644 index 0000000..7ee77e2 --- /dev/null +++ b/Studienarbeit/content/chapter/03.tex @@ -0,0 +1,450 @@ +%!TEX root = ../../main.tex + +\chapter{Aufgetretene Probleme} +Beim Versuch, im Zuge dieser Studienarbeit Teile des \JTXC{} in \ac{Java-TX} zu konvertieren, sind viele Bugs und fehlende Features aufgefallen. Einige interessante Probleme werden in diesem Kapitel genauer beschrieben. In \autoref{fig:problems_plot} ist eine Gesamtübersicht über die Anzahl der gefundenen Probleme zu sehen. Die Grafik ist in zwei Kategorien unterteilt: Bugs und Feature Anfragen. Bugs beschreiben hierbei Fehler in bereits implementierten Funktionen, während Feature Anfragen gänzlich neue Funktionen beschreiben, meistens handelt es sich hierbei um Standard Java Funktionen, die bislang noch nicht implementiert wurden und keine neuen Funktionen im Bezug auf \ac{Java-TX} Sprachfeatures. Weiter sind die Kategorien nach offenen und geschlossenen Problemen unterteilt. + +\begin{figure}[H] + \begin{tikzpicture} + \begin{axis}[ + ybar, + enlargelimits=0.15, + legend style={at={(0.5,-0.1)}, + anchor=north, + legend columns=-1}, + ylabel={Anzahl}, + symbolic x + coords={offen,geschlossen}, + xtick=data, + nodes near coords, + nodes near coords align={vertical}, + width=\textwidth, + height=10cm, + bar width=2cm, + enlarge x limits=0.25 + ] + \addplot[fill=red!50] coordinates {(offen,8) (geschlossen,27) }; + \addplot[fill=blue!50] coordinates {(offen,1) (geschlossen,20) }; + \legend{Bugs,Feature Anfragen} + \end{axis} + \end{tikzpicture} + \caption{Gefundene Probleme und neue Funktionen} + \label{fig:problems_plot} +\end{figure} + +\section{Neue Funktionen} +Um den \JTXCinJTX{} umzuschreiben sind einige Funktionen notwendig, die zu Beginn der Studienarbeit noch nicht implementiert waren. Ãœber den Zeitraum der Studienarbeit wurden insgesamt 20 neue Funktionen implementiert. Da die For-Each Schleife in \ac{Java-TX} minimal von der Java Syntax abweichen darf, wird sie im folgenden etwas ausführlicher beschrieben. Einige der anderen Funktionen werden nur kurz aufgezählt. + +\subsection{For\-Each Schleife} +Die For-Each Schleife, ermöglicht es mit einer eleganten Syntax über eine Variable vom Typ \lstinline|java.lang.Iterable| zu iterieren \cite{noauthor_for-each_nodate}. Ein Beispiel zur Verwendung der For-Each Schleife in Java ist in \autoref{lst:for_each_java} zu sehen. + +\begin{lstlisting}[language=java, caption={For-Each Schleife in Java}, label={lst:for_each_java}] + List list = new ArrayList<>(); + //entweder + for (String s : list) { + System.out.println(s); + } + // ... oder + for(var s : list) { + System.out.println(s); + } +\end{lstlisting} + +Dabei kann der Typ der Variable entweder explizit angegeben, oder durch Angabe des Schlüsselwort \texttt{var} durch den Compiler inferiert werden. In Java-TX kann diese Typangabe Angabe auch gänzlich weggelassen werden. +Ein Beispiel zur Verwendung der For-Each Schleife in \ac{Java-TX} ist in \autoref{lst:for_each_javatx} zu sehen. + +\begin{lstlisting}[language=java, caption={For-Each Schleife in Java-TX}, label={lst:for_each_javatx}] + List list = new ArrayList<>(); + //Kein Typ vor der Variable s notwendig + for (s : list) { + System.out.println(s); + } +\end{lstlisting} + +\subsection{Weitere neue Funktionen} +Neben der For-Each Schleife wurden noch weitere Funktionen implementiert. Diese unterscheiden sich allerdings nicht von der Java Syntax und werden daher nur kurz aufgelistet: + +\begin{itemize} + \item super() Konstruktoraufruf + \item Methodenaufruf der Superklasse mittels super + \item this() Konstruktoraufruf + \item instanceof Schlüsselwort + \item throw Schlüsselwort + \item Verwendung des \lstinline|null| Literals + \item \lstinline|Character| Literal z.B. \lstinline|'a'| + \item \lstinline|Long| und \lstinline|Float| Literals z.B. \lstinline|1L| oder \lstinline|1.0f| + \item Type Casts + \item Negation Operator \lstinline|!| + \item Bitweise AND \lstinline|&| und OR \lstinline{|} Operatoren + \item Modulo Operator \lstinline|%| + \item Ternary Operator \lstinline|? :| + \item Do-While Schleife + \item Verwenden von JAR-Archiven im Classpath +\end{itemize} + +\section{Bugs} +Insgesamt wurden 27 Bugs gefunden und behoben, einige weitere sind noch offen. Im folgenden Abschnitt wird eine kleine Auswahl dieser Bugs ausführlicher beschrieben. + +\subsection{JVM Classpath wird von \JTXC{} beachtet} +Zur Beschreibung dieses Bugs müssen zunächst einige Grundlagen zum Classpath und dem Classloader geklärt werden. Damit der \JTXC{} andere Klassen verwenden kann (darunter zählen z.B. auch JAR-Archive), müssen sie im Classpath vorhanden oder Teil der Standardbibliothek sein. Der Classpath kann, wie auch beim \gls{javac} Compiler, mit dem Flag \lstinline|-cp| oder \lstinline|-classpath| angegeben werden. Ein Beispielaufruf könnte folgendermaßen aussehen: \lstinline|java -jar JavaTXCompiler.jar -cp /path/to/classes /path/to/source.jav|\footnote{JavaTXCompiler.jar ist in diesem Fall der \JTXC{} in Form eines JAR-Archivs}. Wenn kein Classpath angegeben wird, wird das aktuelle Arbeitsverzeichnis des Nutzers verwendet. Die angegebenen Pfade werden dann vom Compiler durchsucht, um die benötigten Klassen zu finden. Wenn die Klasse nicht gefunden werden konnte, wird ein Fehler ausgegeben. Nur Klassen, die im Classpath vorhanden sind, können importiert und verwendet werden. Ausnahme sind die Klassen aus der Java Standard Library, wie z.B. alle Klassen des Pakets \lstinline|java.lang|, die standardmäßig vorhanden sind. +Das Packet \lstinline|java.lang| bietet die Klasse \lstinline|ClassLoader|, die es ermöglicht, Klassen dynamisch in die \ac{JVM} zu laden \cite{baeldung_class_2024}. +Der \JTXC{} verwendet auch diesen Classloader, um die angegebenen Klassen zu suchen und einzulesen. So muss kein eigener Parser für Java Bytecode implementiert werden. + +Um genau zu sein gibt es nicht einen Classloader, sondern mehrere, die nacheinander ausgeführt werden. Die oberste Schicht ist der Bootstrap Classloader, der \ac{JDK} interne Klassen lädt. Darunter befindet sich der Extension Classloader, der die Klassen aus den JAR-Dateien im \lstinline|jre/lib/ext| Verzeichnis lädt. Der Application Classloader lädt die Klassen aus dem Classpath und zuletzt gibt es eine eigene Implementierung des \lstinline|java.net.URLClassLoader| namens Directory Classloader, der die Pfade, die dem Compiler mit \lstinline|-cp| übergeben werden, durchsucht \cite{baeldung_class_2024, nero_all_2023}. Eine Visualisierung dieser Schichten ist in \autoref{fig:classloader} zu sehen. Das Programm beginnt mit dem untersten Classloader (Directory Classloader), versucht also die gesuchte Klasse in diesen Ressourcen zu finden. Wenn die Klasse nicht gefunden wird, wird der nächste Classloader (Application Classloader) verwendet. Dieser Prozess wird so lange wiederholt, bis die Klasse gefunden wird oder alle Classloader durchsucht wurden. Zu beachten ist, dass der Classpath des Application Classloaders nicht derselbe ist, wie der Classpath, der dem Compiler übergeben wird und vom DirectoryClassloader verwendet wird. Der Classpath des Application Classloaders ist der Classpath, mit dem die \ac{JVM} gestartet wurde. Dieser beinhaltet in diesem Fall z.B. sämtliche \gls{Maven} Abhängigkeiten und Bytecode Dateien des \JTXC{}. + +\begin{figure}[H] + \centering + \begin{tikzpicture} + + % Define the styles for the nodes and arrows + \tikzstyle{rect} = [rectangle, draw, text width=13cm, align=center, minimum height=1.5cm, inner sep=3pt] + \tikzstyle{header} = [font=\large, anchor=north] + \tikzstyle{content} = [font=\footnotesize, anchor=north] + \tikzstyle{arrow} = [->, thick] + + % Define the coordinates for the nodes + \node[rect] (rect1) at (0,0) { + \begin{tabular}{c} + \textbf{Bootstrap Classloader} \\ + \footnotesize{Interne \ac{JDK} Klassen, Standard Library} + \end{tabular} + }; + \node[rect] (rect2) at (0, -2.5) { + \begin{tabular}{c} + \textbf{Extension Classloader} \\ + \footnotesize{\ac{JDK} Erweitungen, überlicherweise im \lstinline|$JAVA_HOME/lib/ext| Verzeichnis} + \end{tabular} + }; + \node[rect] (rect3) at (0, -5) { + \begin{tabular}{c} + \textbf{Application Classloader} \\ + \footnotesize{Klassen aus dem Classpath} + \end{tabular} + }; + \node[rect] (rect4) at (0, -7.5) { + \begin{tabular}{c} + \textbf{Directory Classloader} \\ + \footnotesize{Klassen, die dem Compiler mit -cp übergeben werden} + \end{tabular} + }; + + % Draw the arrows connecting the rectangles + \draw[arrow] (rect2.north) -- (rect1.south); + \draw[arrow] (rect3.north) -- (rect2.south); + \draw[arrow] (rect4.north) -- (rect3.south); + + \end{tikzpicture} + \caption{Die Classloader Hierarchie des \JTXC{} (vgl. \cite{nero_all_2023})} + \label{fig:classloader} +\end{figure} + +Da durch dieses Vorgehen auch die Klassen aus dem \ac{JVM} Classpath vom Classloader und damit vom \JTXC{} berücksichtigt werden, kann man diese importieren, ohne sie im Classpath angegeben zu müssen. Dies ist ein unerwünschtes Verhalten, da der Compiler so Klassen akzeptiert, die gegebenenfalls nicht vom Programmierer gewünscht sind, was zu Verwirrung führen kann. Ein Beispiel hierzu ist in \autoref{lst:jvm_classpath} zu sehen. Dieser Code kompiliert mit dem Befehl \lstinline|java -jar JavaTXCompiler.jar Main.jav|\footnote{JavaTXCompiler.jar ist hier der \JTXC{} in Form eines JAR Archivs} korrekt, obwohl die Klasse \texttt{com.google.common.math.IntMath} weder im Classpath angegeben ist, noch in der Standardbibliothek vorhanden ist. Sie ist jedoch im JAR Archiv des \JTXC{} und damit im \ac{JVM} Classpath zur Ausführung des Compilers vorhanden, da der \JTXC{} die Google Guava Bibliothek verwendet. + +\begin{lstlisting}[language=java, caption={Verwenden von Klassen im JVM Classpath}, label={lst:jvm_classpath}] +import com.google.common.math.IntMath; +import java.lang.String; + +class Main{ + return2(){ + return IntMath.checkedAdd(1, 1); + } +} +\end{lstlisting} + +Dieses Verhalten ist vor allem auch für das Projekt \JTXCinJTX{} problematisch, da der \JTXC{} und der \JTXCinJTX{} die gleichen Klassen/Klassenhierarchie verwenden und somit die Möglichkeit besteht, dass der Compiler die Klassen des \JTXC{} verwendet, anstatt die des \JTXCinJTX. + +Die Lösung dieses Problems ist glücklicherweise unkompliziert. Es muss lediglich die ClassLoader Hierarchie so angepasst werden, dass der Application Classloader übersprungen wird. Diese Änderung ist in \autoref{fig:classloader_no_application} zu sehen. Der Directory Classloader ruft nun direkt den Extension Classloader auf. So können weiterhin Klassen aus der Java Standard Bibliothek verwendet werden, jedoch nicht mehr die Klassen im \ac{JVM} Classpath. + +\begin{figure}[H] + \centering + \begin{tikzpicture} + + % Define the styles for the nodes and arrows + \tikzstyle{rect} = [rectangle, draw, text width=13cm, align=center, minimum height=2cm, inner sep=5pt] + \tikzstyle{header} = [font=\large, anchor=north] + \tikzstyle{content} = [font=\footnotesize, anchor=north] + \tikzstyle{arrow} = [->, thick] + + % Define the coordinates for the nodes + \node[rect] (rect1) at (0,0) { + \begin{tabular}{c} + \textbf{Bootstrap Classloader} \\ + \footnotesize{Interne \ac{JDK} Klassen, Standard Library} + \end{tabular} + }; + \node[rect] (rect2) at (0, -2.5) { + \begin{tabular}{c} + \textbf{Extension Classloader} \\ + \footnotesize{\ac{JDK} Erweitungen, überlicherweise im \lstinline|$JAVA_HOME/lib/ext| Verzeichnis} + \end{tabular} + }; + \node[rect, fill=gray!30] (rect3) at (0, -5) { + \begin{tabular}{c} + \textbf{Application Classloader} \\ + \footnotesize{Klassen aus dem Classpath} + \end{tabular} + }; + \node[rect] (rect4) at (0, -7.5) { + \begin{tabular}{c} + \textbf{Directory Classloader} \\ + \footnotesize{Klassen, die dem Compiler mit -cp übergeben werden} + \end{tabular} + }; + + % Draw the arrows connecting the rectangles + \draw[arrow] (rect2.north) -- (rect1.south); + \draw[arrow] (rect4.east) to ++(1,0) to ++(0, 5) to (rect2.east); + \end{tikzpicture} + \caption{Die Classloader Hierarchie des \JTXC{} ohne den ApplicationClassLoader} + \label{fig:classloader_no_application} +\end{figure} + +\subsection{Kompatibilität von Java-TX Funktionstypen und funktionalen Interfaces} +Das Problem beschreibt die Kompatibilität von \ac{Java-TX} Funktionstypen und funktionalen Interfaces, die seit Java 8 als Zieltypen für Lambda Ausdrücken dienen (vgl. \autoref{sec:lambda}). Ziel ist es, bestehende Java Bibliotheken, die mit funktionalen Interfaces arbeiten, mit Java-TX Funktionstypen verwenden zu können. +Die theoretische Lösung für dieses Problem wurde bereits 2017 in \cite{plumicke_introducing_2017}[Abschnitt 6] beschrieben. Die praktische Umsetzung gestaltet sich jedoch komplizierter als gedacht. +Ein Beispiel für eine Bibliothek, die ausgiebig funktionale Interfaces verwendet ist die sehr verbreitete Stream API, welche mit Java 8 eingeführt wurde \cite{baeldung_java_2016}. Streams erlauben es Daten mit deklarativem Code zu verarbeiten, was die Lesbarkeit und Wartbarkeit des Codes erhöht \cite{softwarealchemy_streamline_2024}. + +\begin{lstlisting}[language=java, caption={Verwendung der Stream API in Java}, label={lst:java_functional_interface}] +import java.util.List; +import java.util.stream.Stream; +import java.util.function.Predicate; + +public class ListUtils{ + static List getAllEvenNumbers(List list){ + List result = list.stream().filter(x -> x % 2 == 0).toList(); + return result; + } +} +\end{lstlisting} + +In \autoref{lst:java_functional_interface} ist ein Beispielprogramm in Java zu sehen, welches die Stream API verwendet. Die Methode \texttt{getAllEvenNumbers} filtert alle ungeraden Zahlen aus einer Liste. +Dazu verwendet sie die Lambda Funktion \lstinline{x -> x % 2 == 0}, die folgendermaßen definiert ist: + +\[ +\text{isEven}(n)\footnote{Im Quellcode hat der Lambda Ausdruck keinen Namen} = +\begin{cases} +true, & \text{wenn } n \mod 2 = 0 \\ +false, & \text{sonst} +\end{cases} +\] + +Die \texttt{filter} Methode von \texttt{java.util.stream.Stream} lässt nur Werte passieren, für die die angegebene Funktion zu \glqq{}true\grqq{} evaluiert. Zuletzt werden diese Werte in einer Liste gesammelt und zurückgegeben. + +Der \gls{javac} Compiler inferiert für den Lambda Ausdruck \lstinline|x -> x % 2 == 0| den Typ \\ +\texttt{java.util.function.Predicate}, da explizit dieser Typ von der \texttt{filter} Methode erwartet wird. + +\begin{verbatim} +public interface Stream extends BaseStream> { + Stream filter(Predicate predicate); + ... +} +\end{verbatim} + +In \ac{Java-TX} kompilierte dieser Code zu Beginn der Studienarbeit nicht, da der \JTXC{} den Typ \lstinline|Fun1$$| für den Lambda Ausdruck inferiert hat. Der \JTXC{} würde also den Lambda Ausdruck als Funktionstypen interpretieren, anstatt als funktionalen Interface, was soweit ja korrekt ist. +Obwohl die beiden Typen semantisch äquivalent sind, sind sie auf Grund des nominalen Typsystems von Java und der \ac{JVM} jedoch nicht austauschbar. Es kommt also zu einem Laufzeitfehler. +Dieses Problem ist von hoher Relevanz, da sämtliche Methoden aus Java Bibliotheken, die funktionalen Interfaces verwenden, so in \ac{Java-TX} nicht verwendet werden können. + +Im Laufe der Arbeit wurde zumindest eine Teillösung dieses Problems implementiert, sodass der Code in \autoref{lst:java_functional_interface} kompiliert und lauffähig ist. Der \JTXC{} generiert in solch einem Fall nun den Code für das korrekte funktionale Interface statt dem \texttt{FunN\$\$} Typen. Das funktioniert allerdings nur, wenn der Lambda Ausdruck wie bei \autoref{lst:java_functional_interface} direkt im Funktionsaufruf steht. +Der Beispielcode in \autoref{lst:javatx_not_working_1} funktioniert also nicht und stellt aktuell noch ein Problem dar. + +\begin{lstlisting}[language=java, caption={Aktuell nicht lauffähiger \ac{Java-TX} Code I}, label={lst:javatx_not_working_1}] +import java.util.List; +import java.lang.Integer; +import java.lang.Boolean; +import java.util.stream.Stream; +import java.util.function.Predicate; + +public class ListUtils{ + static getAllEvenNumbers(list){ + // Java-TX inferiert hier Fun1$$ + var func = x -> x % 2 == 0; + // An dieser Stelle wird aber ein Predicate erwartet -> Laufzeitfehler + var result = list.stream().filter(func).toList(); + } +} +\end{lstlisting} + +Das liegt daran, dass der Compiler zum Zeitpunkt der Initialisierung des Lambda Ausdrucks nicht weiß, in welchem Kontext der Ausdruck später verwendet werden soll. Betrachten wir zur Verdeutlichung des Problems die etwas komplexere Funktion \lstinline|uselessFunction| in \autoref{lst:javatx_not_working_2}. +Ãœber die Sinnhaftigkeit dieses Codes lässt sich streiten. Die Funktion sollte im Entdefekt das gleiche Resultat wie die Funktion in \autoref{lst:java_functional_interface}, mit dem Unterschied das in der Resultatliste für jede Zahl der Wert \lstinline|true| zurückgegeben wird, liefern. +Das Problem ist nun, dass die selbe Lambda Funktion im Laufe der Funktion mit verschiedenen funktionalen Interfaces verwendet wird, was die Sache verkompliziert. So würde die \lstinline|map| Methode in Zeile 10 den Typ \lstinline|Function| erwarten, während die Filter Methode in Zeile 9 weiterhin \lstinline|Predicate| erwartet. +Hier müsste vermutlich für alle Aufrufe eine separate Lambda Funktion mit dem richtigen Target Type im Bytecode erstellt werden. Allerdings erfordert dies vermutlich eine größere Änderung am Compiler und konnte aktuell noch nicht umgesetzt werden. + +\begin{lstlisting}[language=java, caption={Aktuell nicht lauffähiger \ac{Java-TX} Code II}, label={lst:javatx_not_working_2}] +import java.util.List; +import java.lang.Integer; +import java.lang.Boolean; +import java.util.stream.Stream; +import java.util.function.Predicate; +import java.util.function.Function; + +public class ListUtils{ + static uselessFunction(list){ + // Java-TX inferiert hier Fun1$$ + var func = x -> x % 2 == 0; + // An dieser Stelle wird ein Predicate erwartet + var result1 = list.stream().filter(func); + // An dieser Stelle wird ein Function erwartet + var result2 = result1.map(func).toList(); + return result2; + } +} +\end{lstlisting} + +\subsection{Ãœberschreiben von Methoden mit primitiven Datentypen} +Ein weiteres Problem, ist das Ãœberschreiben von Methoden mit primitiven Datentypen. +Im Vergleich zu Java unterstützt \ac{Java-TX} nur Referenztypen, keine primitiven Datentypen. Die Grammatik erlaubt zwar die Verwendung von primitiven Datentypen, diese werden jedoch intern in Referenztypen umgewandelt. In \autoref{fig:primitive_types_javatx} sind auf der linken Seite einige Initialisierungen von primitiven Datentypen in \ac{Java-TX} gezeigt. Auf der rechten Seite gegenübergestellt ist der Code, wie er im Compiler intern verarbeitet und später auch im Bytecode generiert wird. Der Compiler generiert also für jeden primitiven Datentypen den entsprechenden Wrappertyp. Daher ist es auch bei der Verwendung von primitiven Typen notwendig die entsprechenden Wrapperklasse zu importieren. + +\begin{figure}[h] +\centering + \begin{minipage}[t]{0.45\textwidth} + \centering + \begin{lstlisting} +import java.lang.Integer; +import java.lang.Boolean; +import java.lang.Float; +class PrimitiveTypes{ + int i = 5; + boolean b = true; + float f = 10.5f; +} + \end{lstlisting} + \end{minipage}% + \hfill\vrule\hfill + \begin{minipage}[t]{0.45\textwidth} + \centering + \begin{lstlisting} +import java.lang.Integer; +import java.lang.Boolean; +import java.lang.Float; +class PrimitiveTypes{ + Integer i = 5; + Boolean b = true; + Float f = 10.5f; +} + \end{lstlisting} + \end{minipage}% + \caption{Primitive Datentypen in Java-TX} + \label{fig:primitive_types_javatx} +\end{figure} + +Diese Eigenschaft von \ac{Java-TX} führte im Zusammenhang mit der Ãœberladung von Java Methoden, deren Rückgabewert oder Parameter primitive Datentypen sind, zu einem Problem. Nehmen wir als Beispiel den Code in \autoref{lst:primitive_types}. Die Methode \texttt{hashCode} wird von der Mutterklasse \texttt{Object}\footnote{In Java erben alle Klassen implizit von Object} geerbt. +Sie hat folgende Signatur: +\begin{verbatim} + int hashCode(); +\end{verbatim} +Da sowohl der Name, als auch die Parameterliste der Methode übereinstimmt, würde man erwarten, dass diese von der Klasse \texttt{Foo} überschrieben wird. + +\begin{lstlisting}[language=java, caption={Ãœberschreiben von Methoden mit primitiven Datentypen in Java-TX}, label={lst:primitive_types}] +import java.lang.Integer; + +public class Foo{ + public hashCode(){ + return 42; + } +} +\end{lstlisting} + +Stattdessen inferiert der Compiler allerdings die Typen in \autoref{lst:primitive_types_infer} für die Methode \texttt{hashCode} in \autoref{lst:primitive_types}. Dies ist Aufgrund der Tatsache, dass primitive Datentypen in \ac{Java-TX} automatisch mit dem Wrappertyp ersetzt werden, logisch. + +\begin{lstlisting}[language=java, caption={Ergebnis der Typinferenz für die Methode \texttt{hashCode} in Java-TX}, label={lst:primitive_types_infer}] +import java.lang.Integer; + +public class Foo{ + public java.lang.Integer hashCode(){ + return 42; + } +} +\end{lstlisting} + +Im Bytecode führt dies allerdings anstatt einer Ãœberschreibung zu einer Ãœberladung der Methode \lstinline|hashCode|, da der Rückgabetyp in \autoref{lst:primitive_types_infer} nicht mit dem Rückgabetyp in \autoref{lst:primitive_types} übereinstimmt, schließlich sind \texttt{int} und \texttt{java.lang.Integer} trotz Autoboxing unterschiedliche Typen (mehr dazu in \cite{naftalin_java_2007}[S.6 ff]). +Denn obwohl Java die Ãœberladung von Methoden anhand des Rückgabetyps nicht unterstützt, ist es in Java Bytecode durchaus möglich. Dies macht sich Java z.B. für das kovariante Ãœberladen von Methoden zunutze. Seit Java 5 ist es möglich, dass eine Methode in einer Subklasse einen Rückgabetyp hat, der ein Subtyp des Rückgabetyps der Methode in der Superklasse ist \cite{naftalin_java_2007}[S. 49]. Dazu sei zunächst die Signatur der Methode \lstinline|clone| in der Klasse \lstinline|Object| gegeben, welche kein Parameter hat und ein Objekt vom Typ \lstinline|Object| zurückgibt: +\begin{verbatim} +class Object{ + ... + protected Object clone(){...} +} +\end{verbatim} + +Es ist nun möglich, die Methode \lstinline|clone| in einer Subklasse zu überschreiben und den Rückgabetyp zu spezialisieren. In \autoref{lst:covariant_overloading} wird die Methode \lstinline|clone| in der Klasse \lstinline|A| überschrieben und der Rückgabetyp auf \lstinline|A| spezialisiert. + +\begin{lstlisting}[language=java, caption={Kovariante Methodenüberladung in Java}, label={lst:covariant_overloading}] +class A{ + ... + @Override + public A clone(){...} +} +\end{lstlisting} + +Dies wird durch eine Bridge Methode ermöglicht, die sich den Fakt zunutze macht, dass die JVM Methoden anhand des Rückgabetyps unterscheidet und somit überladen kann. Der Compiler erzeugt also eine Bridge Methode, mit der Signatur \lstinline|Object clone()|, die die Methode \lstinline|A clone()| aufruft. In \autoref{lst:covariant_overloading_bytecode} ist dazu der dekompilierte Bytecode der Klasse \lstinline|A| gegeben. +\newpage +\begin{lstlisting}[language=java, caption={Dekompilierter Bytecode der Klasse A}, label={lst:covariant_overloading_bytecode}] +class A{ + ... + public A clone(){...} + + public Object clone(){ + return this.clone(); //Aufruf der Methode clone():A + } +} +\end{lstlisting} + + +In unserem Bug ist dies dies allerdings nicht das gewünschte Verhalten, da eine Ãœberladung anhand des Rückgabewerts nicht möglich sein sollte. In Java werden Ãœberladungen anhand des Rückgabewerts vom Compiler abgelehnt, da nicht immer ersichtlich ist, welche Methode aufgerufen werden soll. Außerdem wären Ãœberladungen von Methoden welche primitive Typen verwenden in \ac{Java-TX} gänzlich unmöglich, weil selbst die explizite Angabe des Typs \lstinline|int| vom Compiler in \lstinline|java.lang.Integer| umgewandelt werden würde. + +Um dieses Problem zu lösen wird aktuell eine einfache Substitution verwendet. Wenn der Compiler eine Ãœberladung erkennt und der Rückgabetyp oder ein Parametertyp der Superklasse ein primitiver Datentyp ist, wird der dazugehörige Wrappertyp durch den jeweiligen primitiven Typen ersetzt. Dadurch funktioniert die Ãœberschreibung von Methoden mit primitiven Datentypen korrekt. Da es aber noch einige Bugs mit dieser Implementierung gibt, bleibt abzuwarten, ob dies die endgültige Lösung ist. + +\subsection{Korrekter Methodenaufruf für überladene Methoden mit Subtypen als Parameter} +Dieser Bug ist zum Zeitpunkt der Abgabe dieser Arbeit noch nicht behoben. Er tritt vor allem im Zusammenhang mit dem Visitor-Pattern auf, welches im \JTXC{} ausgiebig benutzt wird. Der Compiler ruft nicht immer die korrekte Methode auf, wenn mehrere potenziell korrekte Methoden zur Auswahl stehen. Sehen wir uns dazu an, wie Java mit diesem Problem umgeht. Dazu sei der Code in \autoref{lst:overloaded_methods} gegeben. Die Main Funktion ruft dabei die Methode \lstinline|visit| der Klasse \lstinline|Visitor| mit einer Instanz der Klasse \lstinline|java.lang.Integer| (bzw. int, was aber geboxed wird \cite{naftalin_java_2007}[S.6 ff]) auf. Die \lstinline|visit| Methode ist dreimal überladen, einmal mit \lstinline|java.lang.Object|, einmal mit \lstinline|java.lang.Number| und einmal mit einem \lstinline|java.lang.Integer|. +Die Frage ist nun, welche dieser Ãœberladungen aufgerufen werden sollte. +Theoretisch wäre jeder Aufruf korrekt, da \lstinline|java.lang.Integer| sowohl von \lstinline|java.lang.Number| als auch von \lstinline|java.lang.Object| erbt. Das Verhalten in so einem Fall ist in \cite{gosling_java_2005}[Abschnitt 15.12.2.5] beschrieben. Java wählt in einem solchen Fall die spezifischste Methode, also die Methode, die den spezifischsten Typen als Parameter hat. In diesem Fall wäre das die Methode, mit der Signatur \lstinline|void visit(Integer i)|. +Dies bestätigt sich auch, wenn der Code in \autoref{lst:overloaded_methods} kompiliert und ausgeführt wird. Die Ausgabe ist wie erwartet \lstinline|"Integer"|. + +\begin{lstlisting}[language=java, caption={Ãœberladene Methoden in Java}, label={lst:overloaded_methods}] +class Main{ + public static void main(String[] args){ + Visitor v = new Visitor(); + v.visit(1); + } +} + +class Visitor{ + public void visit(Object o){ + System.out.println("Object"); + } + public void visit(Number n){ + System.out.println("Number"); + } + public void visit(Integer i){ + System.out.println("Integer"); + } +} +\end{lstlisting} + +Dieses Verhalten wäre vor allem aus Kompatibilitätsgründen auch in \ac{Java-TX} wünschenswert. Hier kommt es aktuell aber zu einem Fehler. Wenn der Code mehrmals kompiliert wird, wählt der Compiler jedes Mal eine andere Methode. Die Ausgabe ist also nicht deterministisch. Dies ist dadurch zu ergründen, dass der Typinferenzalgorithmus alle 3 Lösungen für den Methodenaufruf findet, aktuell aber nicht berücksichtigt, dass die Parameter der Methoden Subtypen sein können. Die Lösungen werden also als gleichwertig angesehen. Der Bytecodegenerator wählt dann aktuell die erste Lösung und verwirft die restlichen. Da der Typinferenzalgorithmus auf mehreren Threads parallel ausgeführt wird, kann sich die Reihenfolge der Ergebnisse ändern und somit auch das Ergebnis des Bytecodegenerators. Daher werden bei mehreren Kompilierungen unterschiedliche Ergebnisse erzielt. + +Leider konnte das Problem bisher nicht gelöst werden, da es erst relativ spät bemerkt wurde. In einer späteren Version des Compilers sollte sich \ac{Java-TX} in diesem Punkt aber wie Java verhalten, so dass auch das Visitor Pattern in \ac{Java-TX} korrekt funktioniert. + + +\subsection{Weitere Bugs und fehlende Features} +Neben diesen umfangreich beschriebenen Problemen, gab es noch viele weitere Probleme, die hier nur kurz aufgeführt werden. +\begin{enumerate} + \item Die Access Modifier wurden nicht korrekt auf die Methoden angewendet. Alle Methoden wurden mit dem Access Modifier \lstinline|public| deklariert. Wenn ein anderer Access Modifier verwendet wurde, wurden dieser einfach hinzugefügt. So konnte es zu Signaturen wie \lstinline|public private void foo()| kommen. + \item Die Fehlermeldungen des Compilers wurden verbessert. Es wird nun angezeigt in welcher Zeile und Datei ein Constraint erstellt wurde. + \item Ãœberladene Konstruktoren konnten nicht aufgerufen werden. + \item If-Statements ohne Blöcke wurden teilweise nicht korrekt verarbeitet. + \item \lstinline|toString()| und andere Methoden von \lstinline|Object| konnten auf Interfaces nicht aufgerufen werden. + \item Die @Override Annotation bei Methoden führte zu einem Fehler. Annotations wird nun ignoriert. + \item Die Typinferenz war für die neu hinzugefügte For\-Each Schleife fehlerhaft. + \item Es gab einige Probleme mit Interfaces, welche behoben wurden. + \item Der Bytecode beim Aufruf von statischen Methoden war fehlerhaft. + \item Bei der Ãœberschreibung von vererbten Methoden mussten die Parametertypen den gleichen Namen haben. +\end{enumerate} + + +Zusätzlich sind auch einige Features aufgefallen, die bis zum aktuellen Stand noch nicht implementiert wurden. + +\begin{enumerate} + \item Arrays und damit auch die Main Funktion sind nicht implementiert + \item Exceptions sind nur sehr rudimentär implementiert, z.B. sind checked Exceptions aktuell nicht möglich + \item Subtypisierung bei Funktionstypen funktioniert noch nicht wie es sollte + \item Der Funktionstyp FunVoidN\$\$ für Funktionstypen die void zurückgeben ist aktuell noch nicht umgesetzt +\end{enumerate} diff --git a/Studienarbeit/content/chapter/04.tex b/Studienarbeit/content/chapter/04.tex new file mode 100644 index 0000000..fc4d871 --- /dev/null +++ b/Studienarbeit/content/chapter/04.tex @@ -0,0 +1,78 @@ +%!TEX root = ../../main.tex + +\chapter{Vorteile in der Praxis} +Generell inferiert \ac{Java-TX} immer den generellsten Typ oder Prinzipaltyp. Für eine formale Definition des Prinzipaltyps in \ac{Java-TX} wird an dieser Stelle auf \cite{plumicke_java-tx_2022}[Abschnitt 5] verwiesen. Für Funktionstypen gilt dabei, dass der Definitionsbereich, also die Parameter maximal (möglichst generell) und der Wertebereich, also der Rückgabewert minimal (möglichst speziell) sein muss \cite{plumicke_java-tx_2022}[Abschnitt 2]. Durch den Typinferenzalgorithmus kann daher daher ein generellerer Typ inferiert werden, als ein Programmierer angegeben hätte. Dadurch wird der Definitionsbereich der Funktion größer und die Wiederverwendbarkeit des Codes steigt potenziell. Zur Verdeutlichung ist in \autoref{lst:prinzipal_type_example} ein reales Beispiel aus dem Code des \JTXC{} gegeben\footnote{Die Imports der Klasse wurden bei den Beispielen in diesem Abschnitt bewusst weggelassen, um den Quellcode kompakt zu halten. Es gilt aber natürlich, dass alle verwendeten Typen importiert werden müssen (vgl. \autoref{sec:java_tx_typeinference})}. Die Aufgabe der Klasse ist in diesem Fall nicht wichtig, daher wurde der Quellcode in diesem Beispiel auf die relevante Methode reduziert. Wie man sehen kann, erwartet die Methode als Parameter eine Liste des Typs \texttt{GenericRefType}, über welche dann mittels For-Each Schleife iteriert wird, wobei die einzelnen Elemente genutzt werden, um eine neue Liste zu erstellen. Die Typisierung des Parameters ist dabei keineswegs ungewöhnlich und wäre vermutlich von vielen Programmieren so oder so ähnlich gewählt worden. Aber handelt es sich bei der Signatur hierbei um die optimale/generellste Typisierung? + +\begin{lstlisting}[language=Java, caption={Beispielklasse aus dem \JTXC{}}, label={lst:prinzipal_type_example}] +public class FunNClass extends ClassOrInterface { + private static GenericDeclarationList createGenerics(List funNParams) { + List generics = new ArrayList<>(); + for (GenericRefType param : funNParams) { + generics.add(new GenericTypeVar(param.getParsedName(), + new ArrayList<>(), new NullToken(), new NullToken())); + } + return new GenericDeclarationList(generics, new NullToken()); + } + ... +} +\end{lstlisting} + +Sehen wir und dazu das Beispiel in \autoref{lst:prinzipal_type_example_javatx} an. + +\begin{lstlisting}[language=java, caption={\autoref{lst:prinzipal_type_example} ohne Typinformationen}, label={lst:prinzipal_type_example_javatx}] +public class FunNClass extends ClassOrInterface { + private static createGenerics(funNParams) { + var generics = new ArrayList<>(); + for (param : funNParams) { + generics.add(new GenericTypeVar(param.getParsedName(), + new ArrayList<>(), new NullToken(), new NullToken())); + } + return new GenericDeclarationList(generics, new NullToken()); + } + ... +} +\end{lstlisting} + +Hier wurden alle inferierbaren Typen entfernt. Relevant ist hier vor allem der Rückgabetyp und der Typ des Parameters der Methode. Außerdem muss der generische Typ der Liste \lstinline|generics| nicht mehr explizit angegeben werden und im Kopf der For-Each Schleife wurde der Typ der Variablen \texttt{param} entfernt\footnote{Dies wäre auch in Java mit dem \texttt{var} Platzhalter möglich}. In \autoref{lst:prinzipal_type_example_javatx_infered} sind die vom \JTXC{} inferierten Typen für diese Klasse zu sehen. Interessant ist vor allem der Typ des Parameters \lstinline|funNParams| der Methode \lstinline|createGenerics|. Dieser wurde im Vergleich zu \autoref{lst:prinzipal_type_example} von \texttt{List} zu \lstinline|Iterable|. Wie man in \autoref{fig:java_21_collections} sehen kann, ist \lstinline|Iterable| ein Interface, dass von \lstinline|List| erweitert wird und somit ein Supertyp von List. + +\begin{figure}[h!] + \centering + \begin{tikzpicture} + \tikzstyle{rect} = [rectangle, draw, text width=13cm, align=center, minimum height=1.5cm, inner sep=3pt] + \tikzstyle{implements} = [->, dashed, >=open triangle 60] + + \node[rect] (iterable) {java.lang.Iterable}; + \node[rect, below=of iterable] (collection) {java.util.Collection}; + \node[rect, below=of collection] (sequencedcollection) {java.util.SequencedCollection}; + \node[rect, below=of sequencedcollection] (list) {java.util.List}; + + \draw[implements] (collection) -- (iterable); + \draw[implements] (sequencedcollection) -- (collection); + \draw[implements] (list) -- (sequencedcollection); + + \end{tikzpicture} + \caption{Vererbungshierarchie von java.util.List ab Java 21 \cite{noauthor_java_nodate-2}} + \label{fig:java_21_collections} +\end{figure} + +Die Wildcard \lstinline|? extends| ermöglicht Kovarianz und somit auch Subtypen von \lstinline|GenericRefType| als generischen Typparameter. Mit dem neuen Typ ist der Definitionsbereich der Methode somit offensichtlich größer als zuvor und der Typ damit genereller. Aber ist dieser Typ in diesem Kontext auch korrekt? +\newpage +\begin{lstlisting}[language=java, caption={Inferierte Typen für \autoref{lst:prinzipal_type_example_javatx}}, label={lst:prinzipal_type_example_javatx_infered}] +public class FunNClass extends ClassOrInterface { + private static GenericDeclarationList createGenerics(IterablefunNParams) { + var generics = new ArrayList(); + for (GenericRefType param : funNParams) { + generics.add(new GenericTypeVar(param.getParsedName(), + new ArrayList<>(), new NullToken(), new NullToken())); + } + return new GenericDeclarationList(generics, new NullToken()); + } + ... +\end{lstlisting} + +Zunächst einmal wird in der Funktion die Liste lediglich durchlaufen. Es werden also keine speziellen Methoden des Interface \texttt{List} verwendet. Die For-Each Schleife ist auf alle Typen anwendbar, die das Iterable Interface implementieren. +Iterable ist also der allgemeinste Typ, auf den eine For-Each Schleife angewandt werden kann \cite{noauthor_for-each_nodate}. +Da innerhalb der Methode nur lesend auf \lstinline|funNParams| zugegriffen wird, ist auch die Kovarianz des Typs unproblematisch und korrekt \cite{naftalin_java_2007}[S.19 ff]. Der Typ ist also ein korrekter Typ für den Parameter \lstinline|funNParams|. Die meisten Java Programmierer hätten diesen Typen vermutlich nicht gefunden. Dies zeigt die Stärke des Typinferenzalgorithmus von \ac{Java-TX}. Dass der Rückgabewert bereits der speziellste Typ ist, ist leicht zu sehen, da in der letzten Zeile explizit ein Objekt des Typs \lstinline|GenericDeclarationList| zurückgegeben wird. +Alle weiteren Typen, die inferiert wurden, entsprechen den Typen in \autoref{lst:prinzipal_type_example} und sind somit ebenfalls korrekt. + +Grundsätzlich wird der Code durch das entfernen von Typen kompakter. Es lässt sich allerdings darüber streiten, ob der Code durch das weglassen der Typinformationen auch lesbarer wird. Es kann sicherlich auch von Vorteil sein die Parameter- und Rückgabetypen einer Methode direkt zu sehen. Hier wäre das entwickelte Eclipse Plugin ein guter Kompromiss, welches den gewünschten Typ direkt in den Quellcode einfügen kann \cite{stadelmeier_java_2015}. Dies ist vor allem auch deshalb sinnvoll weil es mehrere korrekte Typen geben kann \cite{plumicke_java-tx_2022}[Abschnitt 3.1]. In diesem Fall könnte der Entwickler den gewünschten Typen auswählen. diff --git a/Studienarbeit/content/chapter/05.tex b/Studienarbeit/content/chapter/05.tex new file mode 100644 index 0000000..09c8d30 --- /dev/null +++ b/Studienarbeit/content/chapter/05.tex @@ -0,0 +1,35 @@ +\chapter{Fazit und Ausblick} +\section{Fazit} +Im Laufe dieser Studienarbeit konnte bisher nur ein Bruchteil des Quellcodes übersetzt werden. \autoref{fig:distribution} zeigt das aktuelle Verhältnis von Java zu \ac{Java-TX} Quelldateien. Bisher konnten nur 18 von 251 Quelldateien erfolgreich übersetzt werden. \grqq{}Erfolgreich\glqq{} bedeutet in diesem Kontext, dass alle Tests der Testsuite erfolgreich durchlaufen wurden. + +\begin{figure}[H] + \centering + \begin{tikzpicture} + \pie[sum=251]{18/Java-TX, 233/Java} + \end{tikzpicture} + \caption{Verhältnis der Java und \ac{Java-TX} Dateien im \JTXCinJTX} + \label{fig:distribution} +\end{figure} + + +Die übersetzten Dateien beschränken sich aktuell auf die Pakete \lstinline|de.dhbwstuttgart.typeinference| und \lstinline|de.dhbwstuttgart.syntaxtree|. Der Umfang der übersetzten Dateien ist vergleichsweise gering. Dennoch konnten durch die Studienarbeit viele Bugs im Compiler gefunden und behoben werden, wodurch sich die generelle Qualität des Compilers verbessert hat. Einige neue Features, welche zum Ãœbersetzen der Quelldateien in \ac{Java-TX} notwendig waren, wurden ebenfalls hinzugefügt. Die größte Schwachstelle des Compilers sind aktuell wohl die Fehlermeldungen. Diese sind oft schwer zu verstehen und einzugrenzen. Hier besteht definitiv noch Verbesserungspotential. Außerdem fehlen auch aktuell noch einige der grundlegenden Funktionen von Java, wie z.B. die Main Methode, die wegen der fehlenden Unterstützung für Arrays noch nicht implementiert wurde. + +\section{Ausblick} +Das langfristige Ziel wird sicherlich sein (ggf. in nachfolgenden Studienarbeiten), den gesamten Quellcode des \JTXC{} in \ac{Java-TX} zu übersetzen\footnote{Externe Tools wie \gls{Antlr} oder \gls{ASM}, die zur Implementierung des Compilers verwendet wurden, werden natürlich weiterhin Java Code verwenden}, um die Qualität und Funktionsumfang des Compilers sicherzustellen. Der Weg dahin ist jedoch noch weit. Es gibt sicherlich noch viele unentdeckte Bugs und Probleme, die es zu lösen gilt. Zudem müsste man an bestimmten Stellen nicht nur die Typinformationen entfernen, sondern den Code anpassen. Der \JTXC{} verwendet historisch bedingt teilweise noch alte Java-Features, die in \ac{Java-TX} nicht mehr unterstützt werden, z.B. Raw Types \cite{noauthor_raw_nodate}. +Außerdem müsste man zum aktuellen Stand des Compilers sämtliche Arrays in Listen umwandeln, da \ac{Java-TX} aktuell keine Arrays unterstützt. Dies ist darauf zurückzuführen, dass Arrays auch in Java eine gewisse Sonderstellung haben, da sie aus einer Zeit vor generischen Typen stammen und im Vergleich zu Collections einige Nachteile haben \cite{naftalin_java_2007}[Abschnitt 2.5, 6.9]. +Doch auch wenn Arrays im Quellcode durch Listen ersetzt werden können, gibt es gewisse Methoden in Java Bibliotheken, die Arrays verwenden. +So z.B. auch die Methode \texttt{split} der Klasse \texttt{java.lang.String}, die ein Array von Strings zurückgibt \cite{noauthor_string_nodate}: + +\begin{verbatim} +public final class String implements ... { + ... + public String[] split(String regex) {...} + public String[] split(String regex, int limit) {...} + ... +} +\end{verbatim} + +Diese Methoden sind z.B. aus \ac{Java-TX} nicht aufrufbar, da sie Arrays zurückgeben. +Langfristig wird es also notwendig sein, Arrays in \ac{Java-TX} zu unterstützen, um die Kompatibilität mit Java Klassen zu gewährleisten. Arrays sind in Java auch essenziell für die Main Funktion, die daher in \ac{Java-TX} auch noch fehlt. + +Erstrebenswert wäre es auch, die Fehlermeldungen des Compilers weiter zu verbessern. Dies würde sicherlich auch die Fehlersuche beim Ãœbersetzen der Quelldateien erleichtern. Auch eine vollständige Kompatibilität von \ac{Java-TX} Funktionstypen und funktionalen Interfaces wäre wünschenswert, um den Vorteil der echten Funktionstypen vollumfänglich mit bestehenden Java Bibliotheken ausnutzen zu können. diff --git a/Studienarbeit/content/glossary.tex b/Studienarbeit/content/glossary.tex new file mode 100644 index 0000000..35a1e3f --- /dev/null +++ b/Studienarbeit/content/glossary.tex @@ -0,0 +1,16 @@ +%!TEX root = ../main.tex + +% +% To create glossary run the following command: +% makeglossaries main.acn && makeglossaries main.glo +% + +% +% Glossareintraege --> referenz, name, beschreibung +% Aufruf mit \gls{...} +% +\newglossaryentry{JUnit}{name={JUnit},description={JUnit ist ein Framework für Java, um automatisierte Tests zu schreiben}} +\newglossaryentry{javac}{name={javac},description={javac ist der Java-Compiler von Oracle}} +\newglossaryentry{Maven}{name={Maven},description={Apache Maven ist ein Build-Management-Tool das primär für Java-Projekte eingesetzt wird. Neben dem automatisierten Bauen von Projekten unterstützt es eine einfache Verwaltung von Abhängigkeiten}} +\newglossaryentry{Antlr}{name={Antlr},description={ANTLR (ANother Tool for Language Recognition) ist ein objektorientierter Parsergenerator, der unter anderem mit Java verwendet werden kann}} +\newglossaryentry{ASM}{name={ASM},description={ASM ist ein universelles Java-Bytecode-Manipulations- und Analyse-Framework}} diff --git a/Studienarbeit/images/cover/logo-company.png b/Studienarbeit/images/cover/logo-company.png new file mode 100644 index 0000000000000000000000000000000000000000..033c29e7fbc57df7e573e5d4142390fe101db76c GIT binary patch literal 9870 zcmWlf1ymbL6o!EU#i0~0Qna|cySuwP1ecaCfJ;ySux)7Yz=1Y4&XPWKPb` z%Jqe*U+^!lY#oKpQ`L$SFyET>FTKMu+(x+L;AyBJ_~b z^^kA|0IZxmU?kkE%si|tzk1tw*nX9fQ&QFWfq@SL^A$!;QcUyv>P4ncB-KH{gUE(a zfXc(&U4}s2H-g?&rH~Q+Z$HIl|4=hD1{YF&{rI5=!(ph#p8~Z&vL;v@TOk^Ik9X9p z16$is60Kh?k}YX(81c8!I6o?C+xg$|$?-`Kl`U^ikxR0!rv(im4uPRb=CB9P2K@~q z=m+edy%it`YY}Po*&rOl=Z5i5HyQ`yA5joJpPOchYN5RMQyi6C8s|$Ane*X<4#w^{GG8D`tERP45j zbU-GcZ{}nsUph((k4`m5EEok>zrIAHST>GcYqj2Px_h9o=GAs4PdxN<#x||Y$@GbU z_gAb(WH^JuSW+S9Zmp!d?liA!pIc4=?<-}u%#s^!p zJKuX`EVR`l?W6S~m{N@g-I(7BDXd1V@W`{d!9CxH=vjq)d3iUlrGCwqa`aC_I7~g- zrX9r#;TqD~KSm6EO%3@08!<$V(;CD$M)57?>ZWgiS~=sZ7$z2 z^$8}Xl!j^9!6N?;-qj@nn_4!O*VVj#IF^s)$NRj7iYxTgS0gHc@u8szczAe^k3%Ap z7foA}OZr}Wpqm+#E(?(T{zD!0G89)GWUE*Twpc6zo*V~$$!1`r({ z<<7)TEzr-OsnR14Ff#X!B*abypE>;v{P1Ok+^7|Y_KLn*Jy$%M*yko=8=hJ|=MZB*9mTvmY}up!b?grwU(wu z{2GUahl_@?MnoL4W47F;V@zU`9z=kKPL#2O#xXvfBbFs-HHt$Q|80s+SuGD%Goq$_>1rlQ4Dwlai9MJ)J9YzFd=k z*}Sr%S5#Eg4p}*WnxyVF!pFl4Q6dpx#@We!%fzVHrx3wLmM#369%|HP`rrghOR$dk zHBi+$)he1#K2cD0-qz6c$5*k{`k$XD#Y1rDXj1p}tE}+b2+Sj}a+zRvc`+)re@~-~ z9Jeyp=%RW1a4rfk6Jz*6>Q-(m5v0qhD^8Z#9%o`gm_YKqy{$$*^rAbgk&)e#nc{?{ ziK-*VC90DxqAQ7oq+dldc%h3b3{8R2HK}gCG=Xx6*{dd8sNPnsNHK*K10&g;Z!eN# z^q8KNyA2%!BYx^gXX4mjScS%7gN>4sl97?IA}=;HH1w8#OWzddH~Ti|S4rKEpdi)C z(T6IAA+I*=vtN=S>UnBUnY9&?;(=Y*1U7XaK7SSUcw*~Ca^6)U^@R3SaI6PrGnf3y z-W~Mt?%xf=>#_}_0u6uqEJ*)n6_@R9*vs2$$aD4WLUkZ0_#@^$$%8ZG-WeKqAo2DY zELKrO0b)G88T*mCjik39LFYWuff|*)clGT&(zIpjKYk*^(#0Kr9M}=$SxA{JfF-cH z%R7E1d%p^Q>ezY_s$F5^+5Aokqayr7mHpWN?eQkL>zu?J^7i1~ht3l#U-=eCaovt;Owp8Y&u{QYHZYx5z!FC6oBCMGcP zGVq}-q|a;{yIIFyQu9uzbBZ(wySe0ieplcF!PiU3yE6u< z;P6gg_|ywA11udLLP!f=>dBK}`*T^lb5p2&o|=y|MV=KpCMxX-XJpKn0}W*#4=2^s zL>(i--Z-IJr%DFa?-EVylsdiTF0#PW;t;;~6w#-Pt#^R%eNBw(hUe1EiO1ulcW0l_ z!+PJ_!&a9N=J}1Ib3=s#6*1mK=>}dZR@7)01a(Wh~=*I5=ley~Z$o}q`RQ`-f%@LewEbsyP#tSW6k*OFmh z_WMb;+gW9k)0bGuJhIqp*QW~ms#?;6-XB3Qg^h9z^f;fQR&$TR=X^ZQ;dj2`xFV0R zf{=DzdmP_T1JCCjv)n|7>IMx8(k6Kys#?#7qqF|}GaWzA@`ZjHJ`dRxDO#%Tlk;lr zgQii*`-@-&7SL3y6otzOb%u+qyPpDUxoD8@d>#6P~%Mq50zPS&(HYzu# zMlRziDBQfL4%-_xq=8)r_QZ{#mxzb;YnMVH_ZdH3^1%uK_@1pH6NA~5%eD%1lOOO4Pi{3evv4hvwso#ejU7dh%ceI0O{;|y3JywZN}d`f?l^UhpUXle-cHg|HzU>>Xt`8 zwH~pqbF9o*U;BYEzAP~W9T8IA)*~w7!Hca2 zN00}95;rbd=0w@|@V=x00!r_-Gw{^+rG~)69kW!7>*j_{Tv07x(@uaEQ@cJ$%$YmX z{54mz3%Sr*gM$3B&x}vGRMc4uknFKa8o^z5Dx0XmkS;OgxS^yPR>?L#|wD6rN_c-YwY97E3pX;zx zo7BxV7u~=DT}1UVm3zRm%-ke^#IY-Z%R6UH<>T(KKK5+QE>+RjB+u$^M>CuxZ^UT& z(E-dq0(W444pjKI#+z#{{gw`;SOus7?yBYyh+@{t0S%TO{F#9ZUZ&mlc55(_p#{Ds z6rawzZ_DfH4Hta1w-bwBK1e^8<;{{^YkW|tyhP^`^(8=Ku5!*HfrIBB-}Dd+7AmP-~w#FeB=p^`ZIV8!(_q+JJ=6l3hNT&q07yA3X)Reflv5@MQ;n0tyjQh-$=VxamaBcJo( zgV(kenis!z^>p+7eu3fPa*Clfw}Y7elqcMDky0Fm4c}PIi`o-heA-3mFch`% z4j$f*+>+kr?H937LmAD=Wi_L}V62VD{6yw^upTf>=Y|s4f1le&%ZZP8spUECe60e5 z$70l^^(^BUTH+b?u&HF@&p!<49sDLDicjtGYYJi)Ub$70P|<7SYfZ0QAs z6MYDX$;c~J_k3=STScBEpeDsd6?gpfdWNsr-9{vMS#up>sk}yT(sj}$3@)@YUZfJG zM8oDk1kWXqm$>pOI5#swL24Wotr-eAopQ(AV8WnSHH$s~2n86nd%D_6!J|~f)^$OGJB)G^J z)K61W29)Y_k{1iPWFizPEf7e98Edg}?a&+MfM$YuYS2noAMT5FVA zY8Y~6Qm5l`v+~muJAxX^yla$nhVM%(F5(dvM0Q1H)dQqpF$W~q%c$k3He!Ccf_feFUl)6s~RNI z2BSf5enhNJ==!Y?+91P|yQ@%8VkJ69ycITYvddTgW?@(zqII zZQK`oMPK+IYcN_og;WTV-7F5RYVoEHQu+L6>eB^FdmU7!>nmD=1bKU|8V|1K{2y6v zdYvY^v1PgV#>Z2e1~DK_dfdOQXUx!AJ2*J_btL;0x#~>4QoH4LQh<<{m?~l9>IbI3 z>BMNEGw@~Yb$#lMxJEa!!|&lH2J#r=@IEym0ha`X=Yre0nb z>_O0~JOB+7^WiN!xDQ98{U?tP7f3E%G6IX{TunKWfKDBaZNIb`7Op=c?(2*Ud5_yl zk>P?p`||1CLfKbvqr>yt`T1d){AJ4#sZ;y4w6(Q0FSI}p#~|5df!wh8Kwh?{oL>i> zS$TMd;wWXl?}Xxizv}t;66p7MW#-g!fG7MkqM}X@dR$%V9Q=SO*bRIg0y;i+d2a>q zKxbi-9gw77IhfpeM=ku&GIfm!xxzg1e1~$3+wBAohk(GEOdKp+fox53$GMG2f+BlA zmR>CsgnN-JBIBsXkSL82ZmALqWFvU8J-71aqWQI~X0~T>O-YQXzCe`v6UEmKB-Gvnjmm!it+eVd2YdVTJ zEU>HNxV`R4J;9dWefL4~Z-|YMC>}mOAt7OnuV0;w~`w%PsETLdDIDL=O)Sp@gmbNurcPP*Bl=&%&DFNW}dRE#YkAytYxRXx#gWnPdD< zKep$o@kHQ%@O0{yBkbd>dy(!4Iu)c%0+%?VherSy83(+gA}R(0l6p!?bIQM)Ow45p zEE}!-tt)RkF5i_}u#w=8pL)9-VBMI-E+I|~N0(l0@H}=U8M`t$=QNbORnK){pKG*=*Jb{tu);{>7{{9_EfZ?XcCKK3M*cxgV!D=-6*|UkKD1$9&EeKpVSrfm40dDHuBh~;ku?=+ziN=fv^EHZxEuhFhmi))Aij~^= z+U3_1&VdO{9T$M=vs(dPQUiUy<5f2*g+`TyiSI)+1+X$h&b1oe0mbj4!#p_}{ z;AaZ5{2TnADdEQa{sh^%Odb3aFYLX|=e z`7g^|EuB6?<6ijDvzODKt+SJ7LO}hpqG-x~8$nV^saWcZ zx(TExp7_rQ9FgAKa>E`{I^55K4ry?DHIVhj$KZ<*^O((q3=sjAsywxiN%;sP>6bN^ zs|?4*Lkin{MUHwdxMDY&_k^N6IO$R;KYRZgh{eUa@jVLYUyr=BM%6{ z^Tjyiy-1Y!h&W8@^Eb3iI5W)F@0~1#>cGl|LpFzzq`eB0^MW8WwB=LSsA>ls?I9-( zQ(IOmFKz3%vL8fB^UpOqW;>M@7WbHoE1c&o{n$djoOb4{Sq5#F*e)lt)G|&lIUfA8 z9lHm~QZ7>yBi&19y-QrLB_sXsnsNxrE6Ip=sG;Z%3?!K)WqO&(v112R`P<8Es3Aqk z4#_M`F;3io)mAun4AuIEoZ@(vp+5}?8?^ZW!BtK_xi32Vf7}*DLlsBkKzH}XZb^pz zS1bXVh2ph)!&@6JN zCmoeF<|1lWe|xFbi;%Q!{$1b7hX?nY;G3+_dM=T@3&kV7QEMXI1J|mD>&bMFQJ}4# zfhW+U2lw3cV;`C`ntVRFo5Y+;eW0`vK7UR9S>$Fo4W@%xy!Cen87tgT{W4cE7+0ei z-e^)>B~#ZLk#N~4B4ABsQN1mBlb5YpQ_vpL0vfu{Q+8dP4(}Jk0^*Wsq_&JGypm9X zacMV?;P?);++N1INH*y>3KIUTLlBi*7#cFRqXLQ%wq$%0hW%b zL-%=VzbJ1RL#$K1Z*WRyb0ii#Xc5!viIctlT==MQ@m0!$_&r(VmkQ(}34+mP^#c1N zuIpYIgVCxmBL<1Sz2Ja z=K`65bAsEcB>2mzkA0QBW!g3|xp-!4GHl+x{0}(FNY*~IWY?9JOE&Dd^KM@wPBFk_ zd1~5w-h!oi)+zgggATn+y-mVld6f-;6CoC^)9PN8ZvC6eE48BjeHl?w^~9T&`7(xM{-Wn-bG}Kf1>WVk^92tSk%K zSRxjUVg%MF3Q|-J)%k_IlMJ(7$q3fL<-r7}Bjxe}M#kkpruSLlr3Nqty>mT&N-g8i zCzO>MiREoXt$c%zR0%c0WroVulgla1iXMjr>TVMJ8k&Dg_>WuNKIkKU`8n)kz?2ap zAwXo_j1X!cY|bvtVj6MZTmOONzg#2)ea&R6aOo|mxq@9FzhH0#f7LA)cf${;23^$9 z(E2@~ocV&aS~d%**HE=LF6={JUI-j`emiQ@?#3(hqXX6I8M$2U^2V&rgb7G4RLtl= zj>l|Re=vu=c{cG4!icNRzY9JP0sWMWWI#}1y?be8NJJtMZnVZCd3YN}R2#jQ7-ea$|Z249GoHV|CClnJsnlofB z&Nh&z_@|KijDBWOLx1q4h(|7bab!eEhcr9;Oj1mZ(#3U#8$%Vgm?=Fh>{(}I7E%32 zP;AX)iIo*OHd1V5m>voU2`yyh^J!en0+JL1d?r$U9PfuoT7V%6PKg?&VhRSyAYrlW zjKRt`$q2JBLW@Y(!Ig=>wCg#`z3G@A6*)1 zCPQl{Z9jd(bLU@#7;CK-xYnz-IWxyB1X@59Ud4XbVSdVb#9ql>rubZLi#RK08=)>*ajc@a z1rKjRHfCqzTaL2)#{X`#MeXs@WGbhBac-XxykE9J)CJ!;tBAbSx4b`}DRB~UL5q1d zlho9a+5tzhbtD(v4P|V z)}gNCzccsrh`C>Fi_M*QXdCUlzPA5kGUwgvX2LIDIDmIDKui0E)lx5OZk#*Mh-JeQT>Q9yJdVC67(iyN|zhKFps?`PMuJJ}#z9l}Gy5{EPrs^5n40j+W(Z!lh z_0oil$g^6V_oeY3Z}bp*aL@K&kpJ763D3*JCC?y19S{vr3kKTXq-Q|-2Jk4;I}Pee zUmQZij{`a;0t;xg=)JURXXPxNr7~2v&-z0RWR4|czl&BNPL#A#hp~z0?8?dt7o=jv zF%4?8rH7OH4iodbbg%oKRi14w4-ZG^>Fck?zVg)4aib1vPj#)lr78|W?ajLjfxy?t zLm0NflrG3i7f+DSac=nHTmIY2Lwa$Rul<4?7lBdD@4NY{&q2hy{8(dby zB5!jd9Z*4ZXs<|@@%{pOJzuynhpk!8bHhp5b&P!qeGXG?6x%kqZ6-6=fcG{)>wnRE zPx3O>^*VN_VDcOfUC!K9XK4ciQtnVUGCke7bA`Y{aH4eS44erWj-#};w;vUJz3MB{ zuS~OVu+Q?pk-J@N>hv7&PDM)I%eQi@MeY2ew@s|^r7?>OV=|Fs<*K7Z28y86{^#a#-y9P zEtqh{h`c|tlW`a6aw1l-Z$UcQRD|uu_hP<4V}#&#m~v3?^$!~aY%%t`Fl9`ZGcKfBVKkORD zVQjvFqoK$?!rIr|oJa>vr@!%pe5vH(smGwrtUbc_fMwc8ae%&eY1X^ER9;zYVCvvd zJ+LmU-uwJm;lu6fXH3jB?R$~Q1OH5@HlmTSOEA>lES^9ESlu7KreLW}?%?GOpi6b# zHFk4P=jO7%J9ec@Hug}h$2NDJxqqg|*}v`mFDlB8KhdiwTKXX6+VyA52?g`2i;ttC zK9PL{WN63E6)Lh447s>=V5Fv{obS#SO+dwDsIqY4n@Zes5bouP@tHKN7HE8+6rlBj-CUJsBp4buVunN z-mPy)_>E`ve&N8vkt(>mB7eG}EmzJY=A%iuy2)c6EJD70Y8T|HDb%em_dQ+x5pAIn z+2AknQJ*8JJ=R4=H>c{qoD;ZeYFe=ijlU{w^YGS{UQlJy{`Ga}@z&uBXS@72Ao<}y zUab58BITP^zBx(x=TMqI3I&`%M1{*y}nxE2ZZ$E3@aTYT(W#qySy3H-ykM2n)X{ruyD| z=76%E!rTg!LZfP5R#{7D)N6jwSiAc@UBN1o?5n`a$pNR`bK$+GI)Gj|1DU4%09QQZ z*>@of*>3=ZUm@+E$%I{_1fDy2_vZqpY<4kMT6>?`C~2E8EGVKz02%EssSTmnrdf(j z6%o9Lt7H$hk0I5otxqP?ch1#2TCI2Z4>^o5P>Gf*L9Zh(8klMf$f@W+@#tWOoKC!p nElGuOQlGn?(XhRfZ!Hh{&ViV@7(ul_3G~0 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 JUlk=0{tu!zH5vc_ literal 0 HcmV?d00001 diff --git a/Studienarbeit/images/logo.png b/Studienarbeit/images/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..033c29e7fbc57df7e573e5d4142390fe101db76c GIT binary patch literal 9870 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 nElGuOQlG} Learning the Java Language {>} Generics (Updated))} + \field{urlday}{1} + \field{urlmonth}{6} + \field{urlyear}{2024} + \field{urldateera}{ce} + \verb{file} + \verb Type Inference (The Javaâ„¢ Tutorials > Learning the Java Language > Generics (Updated)):/Users/julianschmidt/Zotero/storage/UG9UXUUI/genTypeInference.html:text/html + \endverb + \verb{urlraw} + \verb https://docs.oracle.com/javase/tutorial/java/generics/genTypeInference.html + \endverb + \verb{url} + \verb https://docs.oracle.com/javase/tutorial/java/generics/genTypeInference.html + \endverb + \endentry + \entry{pierce_types_2002}{book}{} + \name{author}{1}{}{% + {{hash=7365a4e827c2dfa2c5af0c0ec4c18c27}{% + family={Pierce}, + familyi={P\bibinitperiod}, + given={Benjamin\bibnamedelima C.}, + giveni={B\bibinitperiod\bibinitdelim C\bibinitperiod}}}% + } + \list{location}{1}{% + {Cambridge, Massachusetts London, England}% + } + \list{publisher}{1}{% + {The {MIT} Press}% + } + \strng{namehash}{7365a4e827c2dfa2c5af0c0ec4c18c27} + \strng{fullhash}{7365a4e827c2dfa2c5af0c0ec4c18c27} + \strng{bibnamehash}{7365a4e827c2dfa2c5af0c0ec4c18c27} + \strng{authorbibnamehash}{7365a4e827c2dfa2c5af0c0ec4c18c27} + \strng{authornamehash}{7365a4e827c2dfa2c5af0c0ec4c18c27} + \strng{authorfullhash}{7365a4e827c2dfa2c5af0c0ec4c18c27} + \field{sortinit}{P} + \field{sortinithash}{ff3bcf24f47321b42cb156c2cc8a8422} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{isbn}{978-0-262-16209-8} + \field{pagetotal}{623} + \field{title}{Types and programming languages} + \field{year}{2002} + \field{dateera}{ce} + \endentry + \entry{piquerez_variances_nodate}{online}{} + \name{author}{3}{}{% + {{hash=8c9eb1b205c932560554213dd25827af}{% + family={Piquerez}, + familyi={P\bibinitperiod}, + given={Adrien}, + giveni={A\bibinitperiod}}}% + {{hash=f1a92d624d22fb1259a12ca5b4250ea3}{% + family={Thompson}, + familyi={T\bibinitperiod}, + given={Jamie}, + giveni={J\bibinitperiod}}}% + {{hash=38026ba4ee6b102b47bf3ffb41325c8f}{% + family={al.}, + familyi={a\bibinitperiod}, + prefix={et.}, + prefixi={e\bibinitperiod}}}% + } + \strng{namehash}{e368e6e91d240f604fb4c9940cc32ea9} + \strng{fullhash}{e368e6e91d240f604fb4c9940cc32ea9} + \strng{bibnamehash}{e368e6e91d240f604fb4c9940cc32ea9} + \strng{authorbibnamehash}{e368e6e91d240f604fb4c9940cc32ea9} + \strng{authornamehash}{e368e6e91d240f604fb4c9940cc32ea9} + \strng{authorfullhash}{e368e6e91d240f604fb4c9940cc32ea9} + \field{sortinit}{P} + \field{sortinithash}{ff3bcf24f47321b42cb156c2cc8a8422} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{title}{Variances} + \field{titleaddon}{Scala Documentation} + \field{urlday}{30} + \field{urlmonth}{5} + \field{urlyear}{2024} + \field{urldateera}{ce} + \verb{file} + \verb Snapshot:/Users/julianschmidt/Zotero/storage/J377ZJ6M/variances.html:text/html + \endverb + \verb{urlraw} + \verb https://docs.scala-lang.org/tour/variances.html + \endverb + \verb{url} + \verb https://docs.scala-lang.org/tour/variances.html + \endverb + \endentry + \entry{plumicke_introducing_2017}{inproceedings}{} + \name{author}{2}{}{% + {{hash=8d6017a905ef0062fc14e083edc7257c}{% + family={Plümicke}, + familyi={P\bibinitperiod}, + given={Martin}, + giveni={M\bibinitperiod}}}% + {{hash=481f26bef10cf5c896b72f79c21321b6}{% + family={Stadelmeier}, + familyi={S\bibinitperiod}, + given={Andreas}, + giveni={A\bibinitperiod}}}% + } + \list{location}{1}{% + {New York, {NY}, {USA}}% + } + \list{publisher}{1}{% + {Association for Computing Machinery}% + } + \strng{namehash}{263ed8d87b8a09f721acfa0edd6f2f7e} + \strng{fullhash}{263ed8d87b8a09f721acfa0edd6f2f7e} + \strng{bibnamehash}{263ed8d87b8a09f721acfa0edd6f2f7e} + \strng{authorbibnamehash}{263ed8d87b8a09f721acfa0edd6f2f7e} + \strng{authornamehash}{263ed8d87b8a09f721acfa0edd6f2f7e} + \strng{authorfullhash}{263ed8d87b8a09f721acfa0edd6f2f7e} + \field{sortinit}{P} + \field{sortinithash}{ff3bcf24f47321b42cb156c2cc8a8422} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{abstract}{This paper considers the realisation of lambda expressions in Java 8 on the basis of a global type inference algorithm, which we have introduced in Java-{TX}. We demonstrate that the Java 8 approach has indeed some benefits but also a number of drawbacks. In order to eliminate the drawbacks, we take into consideration the approaches in a former experimental Java version (strawman approach) and in Scala. We show that an integration of these approaches eliminates the drawbacks without losing the benefits of the Java 8 approach. Additionally, we adapt our global type inference algorithm to this extended language.} + \field{booktitle}{Proceedings of the 14th International Conference on Managed Languages and Runtimes} + \field{day}{27} + \field{isbn}{978-1-4503-5340-3} + \field{month}{9} + \field{series}{{ManLang} 2017} + \field{title}{Introducing Scala-like function types into Java-{TX}} + \field{urlday}{24} + \field{urlmonth}{4} + \field{urlyear}{2024} + \field{year}{2017} + \field{dateera}{ce} + \field{urldateera}{ce} + \field{pages}{23\bibrangedash 34} + \range{pages}{12} + \verb{doi} + \verb 10.1145/3132190.3132203 + \endverb + \verb{file} + \verb Plümicke und Stadelmeier - 2017 - Introducing Scala-like function types into Java-TX.pdf:/Users/julianschmidt/Zotero/storage/T433TNLU/Plümicke und Stadelmeier - 2017 - Introducing Scala-like function types into Java-TX.pdf:application/pdf + \endverb + \verb{urlraw} + \verb https://doi.org/10.1145/3132190.3132203 + \endverb + \verb{url} + \verb https://doi.org/10.1145/3132190.3132203 + \endverb + \keyw{type inference,function types,Java,lambda expressions} + \endentry + \entry{plumicke_java-tx_2022}{report}{} + \name{author}{2}{}{% + {{hash=8d6017a905ef0062fc14e083edc7257c}{% + family={Plümicke}, + familyi={P\bibinitperiod}, + given={Martin}, + giveni={M\bibinitperiod}}}% + {{hash=6884c4c73b420dc7da82d0341b0d85d1}{% + family={Zink}, + familyi={Z\bibinitperiod}, + given={Etienne}, + giveni={E\bibinitperiod}}}% + } + \list{institution}{1}{% + {Fakultät Technik der Dualen Hochschule Baden-Württemberg Stuttgart}% + } + \strng{namehash}{f88b714df6ef1e576fbad2cf6e46b47a} + \strng{fullhash}{f88b714df6ef1e576fbad2cf6e46b47a} + \strng{bibnamehash}{f88b714df6ef1e576fbad2cf6e46b47a} + \strng{authorbibnamehash}{f88b714df6ef1e576fbad2cf6e46b47a} + \strng{authornamehash}{f88b714df6ef1e576fbad2cf6e46b47a} + \strng{authorfullhash}{f88b714df6ef1e576fbad2cf6e46b47a} + \field{sortinit}{P} + \field{sortinithash}{ff3bcf24f47321b42cb156c2cc8a8422} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{abstract}{Java-{TX} ({TX} steht für Type {eXtended}) ist eine Erweiterung von Java, deren wesentliche neue Eigenschaften globale Typinferenz und echte Funktion- stypen sind. Funktionstypen werden in Java-{TX} ähnlich wie bei Scala eingeführt. Zusätzlich werden sie in das Zieltypen-Konzept von Java in- tegriert, wie es im sogenannten Stawman-Ansatz vorgeschlagen wurde. Diese Erweiterungen führen zu einer neuen Ãœberladungseigenschaft, die Methodendeklaration mit Durchschnittstypen erlaubt. Darüber hinaus haben Java-{TX}-Methoden allgemeinste Typen. Zusätzlich werden Typ- parameter von Klassen und Methoden automatisch generiert. Schließlich werden Parameter von Funktionstypen heterogen übersetzt.} + \field{langid}{english} + \field{month}{1} + \field{title}{Java-{TX}: The language} + \field{year}{2022} + \field{dateera}{ce} + \verb{file} + \verb Prof. Dr. habil. Plümicke und Zink - 2022 - Java-TX The language.pdf:/Users/julianschmidt/Zotero/storage/DFCLDI9R/Prof. Dr. habil. Plümicke und Zink - 2022 - Java-TX The language.pdf:application/pdf + \endverb + \verb{urlraw} + \verb https://www.dhbw-stuttgart.de/forschung-transfer/technik/schriftenreihe-insights/ + \endverb + \verb{url} + \verb https://www.dhbw-stuttgart.de/forschung-transfer/technik/schriftenreihe-insights/ + \endverb + \endentry + \entry{noauthor_raw_nodate}{online}{} + \field{sortinit}{R} + \field{sortinithash}{5e1c39a9d46ffb6bebd8f801023a9486} + \field{labeltitlesource}{title} + \field{title}{Raw Types (The Javaâ„¢ Tutorials {>} Learning the Java Language {>} Generics (Updated))} + \field{urlday}{2} + \field{urlmonth}{6} + \field{urlyear}{2024} + \field{urldateera}{ce} + \verb{file} + \verb Raw Types (The Javaâ„¢ Tutorials > Learning the Java Language > Generics (Updated)):/Users/julianschmidt/Zotero/storage/QYJ4KVMB/rawTypes.html:text/html + \endverb + \verb{urlraw} + \verb https://docs.oracle.com/javase/tutorial/java/generics/rawTypes.html + \endverb + \verb{url} + \verb https://docs.oracle.com/javase/tutorial/java/generics/rawTypes.html + \endverb + \endentry + \entry{softwarealchemy_streamline_2024}{online}{} + \name{author}{1}{}{% + {{hash=d87ee5debe61207b08195d85d9af3072}{% + family={{SoftwareAlchemy}}, + familyi={S\bibinitperiod}}}% + } + \strng{namehash}{d87ee5debe61207b08195d85d9af3072} + \strng{fullhash}{d87ee5debe61207b08195d85d9af3072} + \strng{bibnamehash}{d87ee5debe61207b08195d85d9af3072} + \strng{authorbibnamehash}{d87ee5debe61207b08195d85d9af3072} + \strng{authornamehash}{d87ee5debe61207b08195d85d9af3072} + \strng{authorfullhash}{d87ee5debe61207b08195d85d9af3072} + \field{sortinit}{S} + \field{sortinithash}{b164b07b29984b41daf1e85279fbc5ab} + \field{labelnamesource}{author} + \field{labeltitlesource}{shorttitle} + \field{abstract}{Java Streams, introduced in Java 8, revolutionized how we work with collections. They offer a declarative and functional approach to…} + \field{day}{23} + \field{langid}{english} + \field{month}{4} + \field{shorttitle}{Streamline Your Java Code} + \field{title}{Streamline Your Java Code: A Cheat Sheet for Mastering Streams} + \field{titleaddon}{Javarevisited} + \field{urlday}{25} + \field{urlmonth}{5} + \field{urlyear}{2024} + \field{year}{2024} + \field{dateera}{ce} + \field{urldateera}{ce} + \verb{file} + \verb Snapshot:/Users/julianschmidt/Zotero/storage/2W523K54/streamline-your-java-code-a-cheat-sheet-for-mastering-streams-e8500f4495fe.html:text/html + \endverb + \verb{urlraw} + \verb https://medium.com/javarevisited/streamline-your-java-code-a-cheat-sheet-for-mastering-streams-e8500f4495fe + \endverb + \verb{url} + \verb https://medium.com/javarevisited/streamline-your-java-code-a-cheat-sheet-for-mastering-streams-e8500f4495fe + \endverb + \endentry + \entry{stadelmeier_java_2015}{inproceedings}{} + \name{author}{1}{}{% + {{hash=481f26bef10cf5c896b72f79c21321b6}{% + family={Stadelmeier}, + familyi={S\bibinitperiod}, + given={Andreas}, + giveni={A\bibinitperiod}}}% + } + \list{location}{1}{% + {Cottbus, Deutschland}% + } + \strng{namehash}{481f26bef10cf5c896b72f79c21321b6} + \strng{fullhash}{481f26bef10cf5c896b72f79c21321b6} + \strng{bibnamehash}{481f26bef10cf5c896b72f79c21321b6} + \strng{authorbibnamehash}{481f26bef10cf5c896b72f79c21321b6} + \strng{authornamehash}{481f26bef10cf5c896b72f79c21321b6} + \strng{authorfullhash}{481f26bef10cf5c896b72f79c21321b6} + \field{sortinit}{S} + \field{sortinithash}{b164b07b29984b41daf1e85279fbc5ab} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{day}{28} + \field{eventtitle}{45. Jahrestagung der Gesellschaft für Informatik, Informatik 2015, Informatik, Energie und Umwelt} + \field{month}{9} + \field{title}{Java type inference as an Eclipse plugin} + \field{year}{2015} + \field{dateera}{ce} + \field{pages}{1841\bibrangedash 1852} + \range{pages}{12} + \verb{urlraw} + \verb https://subs.emis.de/LNI/Proceedings/Proceedings246/article18.html + \endverb + \verb{url} + \verb https://subs.emis.de/LNI/Proceedings/Proceedings246/article18.html + \endverb + \endentry + \entry{stallman_using_2024}{misc}{} + \name{author}{2}{}{% + {{hash=1dfe179dc9301b7f9e2ce5c352009d00}{% + family={Stallman}, + familyi={S\bibinitperiod}, + given={Richard}, + giveni={R\bibinitperiod}}}% + {{hash=811e9eb9bafe0fdf5a9109741d260d07}{% + family={{GCC Developer Community}}, + familyi={G\bibinitperiod}}}% + } + \list{publisher}{1}{% + {Free Software Foundation}% + } + \strng{namehash}{7cfa7dc6bdfa7a9d56a94c480a77ea08} + \strng{fullhash}{7cfa7dc6bdfa7a9d56a94c480a77ea08} + \strng{bibnamehash}{7cfa7dc6bdfa7a9d56a94c480a77ea08} + \strng{authorbibnamehash}{7cfa7dc6bdfa7a9d56a94c480a77ea08} + \strng{authornamehash}{7cfa7dc6bdfa7a9d56a94c480a77ea08} + \strng{authorfullhash}{7cfa7dc6bdfa7a9d56a94c480a77ea08} + \field{sortinit}{S} + \field{sortinithash}{b164b07b29984b41daf1e85279fbc5ab} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{title}{Using the {GNU} Compiler Collection For gcc version 14.1.0} + \field{year}{2024} + \field{dateera}{ce} + \verb{urlraw} + \verb https://gcc.gnu.org/onlinedocs/gcc-14.1.0/gcc.pdf + \endverb + \verb{url} + \verb https://gcc.gnu.org/onlinedocs/gcc-14.1.0/gcc.pdf + \endverb + \endentry + \entry{stallman_gnu_2004}{book}{} + \name{author}{3}{}{% + {{hash=1dfe179dc9301b7f9e2ce5c352009d00}{% + family={Stallman}, + familyi={S\bibinitperiod}, + given={Richard}, + giveni={R\bibinitperiod}}}% + {{hash=4be129815ec6e7664c558f5e718561d2}{% + family={{McGrath}}, + familyi={M\bibinitperiod}, + given={Roland}, + giveni={R\bibinitperiod}}}% + {{hash=bcc3dbeb89d076fabc403bb9123846ba}{% + family={Smith}, + familyi={S\bibinitperiod}, + given={Paul\bibnamedelima D.}, + giveni={P\bibinitperiod\bibinitdelim D\bibinitperiod}}}% + } + \list{location}{1}{% + {Boston, Mass}% + } + \list{publisher}{1}{% + {Free Software Foundation}% + } + \strng{namehash}{bc307bc01102367d23f3d358730266e2} + \strng{fullhash}{bc307bc01102367d23f3d358730266e2} + \strng{bibnamehash}{bc307bc01102367d23f3d358730266e2} + \strng{authorbibnamehash}{bc307bc01102367d23f3d358730266e2} + \strng{authornamehash}{bc307bc01102367d23f3d358730266e2} + \strng{authorfullhash}{bc307bc01102367d23f3d358730266e2} + \field{sortinit}{S} + \field{sortinithash}{b164b07b29984b41daf1e85279fbc5ab} + \field{labelnamesource}{author} + \field{labeltitlesource}{shorttitle} + \field{isbn}{978-1-882114-83-2} + \field{pagetotal}{184} + \field{shorttitle}{{GNU} Make} + \field{title}{{GNU} Make: a program for directing recompliation ; {GNU} make version 3.81} + \field{year}{2004} + \field{dateera}{ce} + \endentry + \entry{noauthor_string_nodate}{online}{} + \field{sortinit}{S} + \field{sortinithash}{b164b07b29984b41daf1e85279fbc5ab} + \field{labeltitlesource}{title} + \field{title}{String (Java Platform {SE} 8 )} + \field{urlday}{2} + \field{urlmonth}{6} + \field{urlyear}{2024} + \field{urldateera}{ce} + \verb{file} + \verb String (Java Platform SE 8 ):/Users/julianschmidt/Zotero/storage/GHKI499F/String.html:text/html + \endverb + \verb{urlraw} + \verb https://docs.oracle.com/javase/8/docs/api/java/lang/String.html + \endverb + \verb{url} + \verb https://docs.oracle.com/javase/8/docs/api/java/lang/String.html + \endverb + \endentry + \entry{terry_compilers_1997}{book}{} + \name{author}{1}{}{% + {{hash=37369732b313781cc56ecdba4cc106f0}{% + family={Terry}, + familyi={T\bibinitperiod}, + given={Patrick\bibnamedelima D.}, + giveni={P\bibinitperiod\bibinitdelim D\bibinitperiod}}}% + } + \list{location}{1}{% + {London}% + } + \list{publisher}{1}{% + {International Thomson Computer Press}% + } + \strng{namehash}{37369732b313781cc56ecdba4cc106f0} + \strng{fullhash}{37369732b313781cc56ecdba4cc106f0} + \strng{bibnamehash}{37369732b313781cc56ecdba4cc106f0} + \strng{authorbibnamehash}{37369732b313781cc56ecdba4cc106f0} + \strng{authornamehash}{37369732b313781cc56ecdba4cc106f0} + \strng{authorfullhash}{37369732b313781cc56ecdba4cc106f0} + \field{sortinit}{T} + \field{sortinithash}{9af77f0292593c26bde9a56e688eaee9} + \field{labelnamesource}{author} + \field{labeltitlesource}{shorttitle} + \field{isbn}{978-1-85032-298-6} + \field{pagetotal}{579} + \field{shorttitle}{Compilers and compiler generators} + \field{title}{Compilers and compiler generators: an introduction with C++} + \field{year}{1997} + \field{dateera}{ce} + \verb{file} + \verb Terry und Terry - 1997 - Compilers and compiler generators an introduction.pdf:/Users/julianschmidt/Zotero/storage/6JKV89EJ/Terry und Terry - 1997 - Compilers and compiler generators an introduction.pdf:application/pdf + \endverb + \endentry + \entry{noauthor_for-each_nodate}{online}{} + \field{sortinit}{T} + \field{sortinithash}{9af77f0292593c26bde9a56e688eaee9} + \field{labeltitlesource}{title} + \field{title}{The For-Each Loop} + \field{urlday}{23} + \field{urlmonth}{5} + \field{urlyear}{2024} + \field{urldateera}{ce} + \verb{file} + \verb The For-Each Loop:/Users/julianschmidt/Zotero/storage/H8NNNKR8/foreach.html:text/html + \endverb + \verb{urlraw} + \verb https://docs.oracle.com/javase/8/docs/technotes/guides/language/foreach.html + \endverb + \verb{url} + \verb https://docs.oracle.com/javase/8/docs/technotes/guides/language/foreach.html + \endverb + \endentry + \entry{thompson_haskell_2011}{book}{} + \name{author}{1}{}{% + {{hash=6bc88c88b48cfd8a2c4dc566cd758fde}{% + family={Thompson}, + familyi={T\bibinitperiod}, + given={Simon}, + giveni={S\bibinitperiod}}}% + } + \list{location}{1}{% + {Harlow, England ; New York}% + } + \list{publisher}{1}{% + {Addison Wesley}% + } + \strng{namehash}{6bc88c88b48cfd8a2c4dc566cd758fde} + \strng{fullhash}{6bc88c88b48cfd8a2c4dc566cd758fde} + \strng{bibnamehash}{6bc88c88b48cfd8a2c4dc566cd758fde} + \strng{authorbibnamehash}{6bc88c88b48cfd8a2c4dc566cd758fde} + \strng{authornamehash}{6bc88c88b48cfd8a2c4dc566cd758fde} + \strng{authorfullhash}{6bc88c88b48cfd8a2c4dc566cd758fde} + \field{sortinit}{T} + \field{sortinithash}{9af77f0292593c26bde9a56e688eaee9} + \field{labelnamesource}{author} + \field{labeltitlesource}{shorttitle} + \field{edition}{3rd ed} + \field{isbn}{978-0-201-88295-7} + \field{pagetotal}{585} + \field{shorttitle}{Haskell} + \field{title}{Haskell: the craft of functional programming} + \field{year}{2011} + \field{dateera}{ce} + \keyw{Functional programming (Computer science)} + \endentry + \entry{vandevoorde_c_2010}{book}{} + \name{author}{2}{}{% + {{hash=100fc4da52c7db55f32141ac7c64aa7b}{% + family={Vandevoorde}, + familyi={V\bibinitperiod}, + given={David}, + giveni={D\bibinitperiod}}}% + {{hash=696aaa42846cc8620450c5e3bdc9e534}{% + family={Josuttis}, + familyi={J\bibinitperiod}, + given={Nicolai\bibnamedelima M.}, + giveni={N\bibinitperiod\bibinitdelim M\bibinitperiod}}}% + } + \list{location}{1}{% + {Boston, Mass.}% + } + \list{publisher}{1}{% + {Addison-Wesley}% + } + \strng{namehash}{52d1ad3c83ff9a55c8549b2a4a492c69} + \strng{fullhash}{52d1ad3c83ff9a55c8549b2a4a492c69} + \strng{bibnamehash}{52d1ad3c83ff9a55c8549b2a4a492c69} + \strng{authorbibnamehash}{52d1ad3c83ff9a55c8549b2a4a492c69} + \strng{authornamehash}{52d1ad3c83ff9a55c8549b2a4a492c69} + \strng{authorfullhash}{52d1ad3c83ff9a55c8549b2a4a492c69} + \field{sortinit}{V} + \field{sortinithash}{afb52128e5b4dc4b843768c0113d673b} + \field{labelnamesource}{author} + \field{labeltitlesource}{shorttitle} + \field{isbn}{978-0-201-73484-2} + \field{pagetotal}{528} + \field{shorttitle}{C++ templates} + \field{title}{C++ templates: the complete guide} + \field{year}{2010} + \field{dateera}{ce} + \verb{file} + \verb C++ Templates-The Complete Guide.pdf:/Users/julianschmidt/Zotero/storage/NS577488/C++ Templates-The Complete Guide.pdf:application/pdf;Table of Contents PDF:/Users/julianschmidt/Zotero/storage/HIL2ULZY/Vandevoorde und Josuttis - 2010 - C++ templates the complete guide.pdf:application/pdf + \endverb + \endentry + \entry{wagner_creating_2021}{online}{} + \name{author}{4}{}{% + {{hash=f94d94b74e1a56344ce765ae3d5d3955}{% + family={Wagner}, + familyi={W\bibinitperiod}, + given={Bill}, + giveni={B\bibinitperiod}}}% + {{hash=125d239fc46c4766f904c1f2cc01f2e7}{% + family={Martinez}, + familyi={M\bibinitperiod}, + given={Jason}, + giveni={J\bibinitperiod}}}% + {{hash=6da5d1d3eacecb20d73cd15319642830}{% + family={Warren}, + familyi={W\bibinitperiod}, + given={Genevieve}, + giveni={G\bibinitperiod}}}% + {{hash=c4b12c788d52a4ea109e98f5758529ae}{% + family={et.al.}, + familyi={e\bibinitperiod}}}% + } + \strng{namehash}{490cc09b68cdb428605dca219f6e067f} + \strng{fullhash}{8aea1e3ed08473533b787e3f46d190b9} + \strng{bibnamehash}{490cc09b68cdb428605dca219f6e067f} + \strng{authorbibnamehash}{490cc09b68cdb428605dca219f6e067f} + \strng{authornamehash}{490cc09b68cdb428605dca219f6e067f} + \strng{authorfullhash}{8aea1e3ed08473533b787e3f46d190b9} + \field{sortinit}{W} + \field{sortinithash}{4315d78024d0cea9b57a0c6f0e35ed0d} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{abstract}{Learn how to create variant generic interfaces with covariant or contravariant generic type parameters.} + \field{day}{15} + \field{langid}{english} + \field{month}{9} + \field{title}{Creating Variant Generic Interfaces - C\#} + \field{urlday}{30} + \field{urlmonth}{5} + \field{urlyear}{2024} + \field{year}{2021} + \field{dateera}{ce} + \field{urldateera}{ce} + \verb{file} + \verb Snapshot:/Users/julianschmidt/Zotero/storage/FKDNJJ4G/creating-variant-generic-interfaces.html:text/html + \endverb + \verb{urlraw} + \verb https://learn.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/covariance-contravariance/creating-variant-generic-interfaces + \endverb + \verb{url} + \verb https://learn.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/covariance-contravariance/creating-variant-generic-interfaces + \endverb + \endentry + \enddatalist +\endrefsection +\endinput + diff --git a/Studienarbeit/main.bbl-SAVE-ERROR b/Studienarbeit/main.bbl-SAVE-ERROR new file mode 100644 index 0000000..a56ae22 --- /dev/null +++ b/Studienarbeit/main.bbl-SAVE-ERROR @@ -0,0 +1,1409 @@ +% $ biblatex auxiliary file $ +% $ biblatex bbl format version 3.3 $ +% Do not modify the above lines! +% +% This is an auxiliary file used by the 'biblatex' package. +% This file may safely be deleted. It will be recreated by +% biber as required. +% +\begingroup +\makeatletter +\@ifundefined{ver@biblatex.sty} + {\@latex@error + {Missing 'biblatex' package} + {The bibliography requires the 'biblatex' package.} + \aftergroup\endinput} + {} +\endgroup + + +\refsection{0} + \datalist[entry]{nty/global//global/global/global} + \entry{noauthor_antlr_nodate}{online}{}{} + \field{sortinit}{A} + \field{sortinithash}{2f401846e2029bad6b3ecc16d50031e2} + \field{labeltitlesource}{title} + \field{title}{{ANTLR}} + \field{urlday}{2} + \field{urlmonth}{6} + \field{urlyear}{2024} + \field{urldateera}{ce} + \verb{file} + \verb ANTLR:/Users/julianschmidt/Zotero/storage/9KDGUILD/www.antlr.org.html:text/html + \endverb + \verb{urlraw} + \verb https://www.antlr.org/ + \endverb + \verb{url} + \verb https://www.antlr.org/ + \endverb + \endentry + \entry{noauthor_asm_nodate}{online}{}{} + \field{sortinit}{A} + \field{sortinithash}{2f401846e2029bad6b3ecc16d50031e2} + \field{labeltitlesource}{title} + \field{title}{{ASM}} + \field{urlday}{2} + \field{urlmonth}{6} + \field{urlyear}{2024} + \field{urldateera}{ce} + \verb{file} + \verb ASM:/Users/julianschmidt/Zotero/storage/JRXGAA3X/asm.ow2.io.html:text/html + \endverb + \verb{urlraw} + \verb https://asm.ow2.io/ + \endverb + \verb{url} + \verb https://asm.ow2.io/ + \endverb + \endentry + \entry{baeldung_class_2024}{online}{}{} + \name{author}{1}{}{% + {{hash=d58b26d9f7600672080ebf3851115e45}{% + family={{Baeldung}}, + familyi={B\bibinitperiod}}}% + } + \strng{namehash}{d58b26d9f7600672080ebf3851115e45} + \strng{fullhash}{d58b26d9f7600672080ebf3851115e45} + \strng{fullhashraw}{d58b26d9f7600672080ebf3851115e45} + \strng{bibnamehash}{d58b26d9f7600672080ebf3851115e45} + \strng{authorbibnamehash}{d58b26d9f7600672080ebf3851115e45} + \strng{authornamehash}{d58b26d9f7600672080ebf3851115e45} + \strng{authorfullhash}{d58b26d9f7600672080ebf3851115e45} + \strng{authorfullhashraw}{d58b26d9f7600672080ebf3851115e45} + \field{extraname}{1} + \field{sortinit}{B} + \field{sortinithash}{d7095fff47cda75ca2589920aae98399} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{abstract}{Have a look at the behind-the-scenes of loading Java classes during runtime to the {JVM}.} + \field{day}{11} + \field{langid}{american} + \field{month}{5} + \field{title}{Class Loaders in Java {|} Baeldung} + \field{urlday}{25} + \field{urlmonth}{5} + \field{urlyear}{2024} + \field{year}{2024} + \field{dateera}{ce} + \field{urldateera}{ce} + \verb{file} + \verb Snapshot:/Users/julianschmidt/Zotero/storage/4XWFE8UP/java-classloaders.html:text/html + \endverb + \verb{urlraw} + \verb https://www.baeldung.com/java-classloaders + \endverb + \verb{url} + \verb https://www.baeldung.com/java-classloaders + \endverb + \endentry + \entry{baeldung_java_2016}{online}{}{} + \name{author}{1}{}{% + {{hash=d58b26d9f7600672080ebf3851115e45}{% + family={{Baeldung}}, + familyi={B\bibinitperiod}}}% + } + \strng{namehash}{d58b26d9f7600672080ebf3851115e45} + \strng{fullhash}{d58b26d9f7600672080ebf3851115e45} + \strng{fullhashraw}{d58b26d9f7600672080ebf3851115e45} + \strng{bibnamehash}{d58b26d9f7600672080ebf3851115e45} + \strng{authorbibnamehash}{d58b26d9f7600672080ebf3851115e45} + \strng{authornamehash}{d58b26d9f7600672080ebf3851115e45} + \strng{authorfullhash}{d58b26d9f7600672080ebf3851115e45} + \strng{authorfullhashraw}{d58b26d9f7600672080ebf3851115e45} + \field{extraname}{2} + \field{sortinit}{B} + \field{sortinithash}{d7095fff47cda75ca2589920aae98399} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{abstract}{The article is an example-heavy introduction of the possibilities and operations offered by the Java 8 Stream {API}.} + \field{day}{15} + \field{langid}{american} + \field{month}{6} + \field{title}{The Java 8 Stream {API} Tutorial {|} Baeldung} + \field{urlday}{25} + \field{urlmonth}{5} + \field{urlyear}{2024} + \field{year}{2016} + \field{dateera}{ce} + \field{urldateera}{ce} + \verb{file} + \verb Snapshot:/Users/julianschmidt/Zotero/storage/KH3BN6ZN/java-8-streams.html:text/html + \endverb + \verb{urlraw} + \verb https://www.baeldung.com/java-8-streams + \endverb + \verb{url} + \verb https://www.baeldung.com/java-8-streams + \endverb + \endentry + \entry{buckley_java_2004}{online}{}{} + \name{author}{1}{}{% + {{hash=1c34391bfa51bee4b9dacbc295281374}{% + family={Buckley}, + familyi={B\bibinitperiod}, + given={Alex}, + giveni={A\bibinitperiod}}}% + } + \strng{namehash}{1c34391bfa51bee4b9dacbc295281374} + \strng{fullhash}{1c34391bfa51bee4b9dacbc295281374} + \strng{fullhashraw}{1c34391bfa51bee4b9dacbc295281374} + \strng{bibnamehash}{1c34391bfa51bee4b9dacbc295281374} + \strng{authorbibnamehash}{1c34391bfa51bee4b9dacbc295281374} + \strng{authornamehash}{1c34391bfa51bee4b9dacbc295281374} + \strng{authorfullhash}{1c34391bfa51bee4b9dacbc295281374} + \strng{authorfullhashraw}{1c34391bfa51bee4b9dacbc295281374} + \field{sortinit}{B} + \field{sortinithash}{d7095fff47cda75ca2589920aae98399} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{day}{30} + \field{langid}{english} + \field{month}{9} + \field{title}{The Java Community Process({SM}) Program - {JSRs}: Java Specification Requests - detail {JSR}\# 14} + \field{titleaddon}{{JSR} 14: Add Generic Types To The {JavaTM} Programming Language} + \field{urlday}{25} + \field{urlmonth}{4} + \field{urlyear}{2024} + \field{year}{2004} + \field{dateera}{ce} + \field{urldateera}{ce} + \verb{file} + \verb The Java Community Process(SM) Program - JSRs\: Java Specification Requests - detail JSR# 14:/Users/julianschmidt/Zotero/storage/43BSC4VI/detail.html:text/html + \endverb + \verb{urlraw} + \verb https://www.jcp.org/en/jsr/detail?id=14 + \endverb + \verb{url} + \verb https://www.jcp.org/en/jsr/detail?id=14 + \endverb + \endentry + \entry{cimadamore_jep_2011}{online}{}{} + \name{author}{1}{}{% + {{hash=98a035ffd7a2279d36cf577676c3f1df}{% + family={Cimadamore}, + familyi={C\bibinitperiod}, + given={Maurizio}, + giveni={M\bibinitperiod}}}% + } + \strng{namehash}{98a035ffd7a2279d36cf577676c3f1df} + \strng{fullhash}{98a035ffd7a2279d36cf577676c3f1df} + \strng{fullhashraw}{98a035ffd7a2279d36cf577676c3f1df} + \strng{bibnamehash}{98a035ffd7a2279d36cf577676c3f1df} + \strng{authorbibnamehash}{98a035ffd7a2279d36cf577676c3f1df} + \strng{authornamehash}{98a035ffd7a2279d36cf577676c3f1df} + \strng{authorfullhash}{98a035ffd7a2279d36cf577676c3f1df} + \strng{authorfullhashraw}{98a035ffd7a2279d36cf577676c3f1df} + \field{sortinit}{C} + \field{sortinithash}{4d103a86280481745c9c897c925753c0} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{day}{22} + \field{month}{2} + \field{title}{{JEP} 101: Generalized Target-Type Inference} + \field{titleaddon}{{JEP} 101: Generalized Target-Type Inference} + \field{urlday}{25} + \field{urlmonth}{4} + \field{urlyear}{2024} + \field{year}{2011} + \field{dateera}{ce} + \field{urldateera}{ce} + \verb{file} + \verb JEP 101\: Generalized Target-Type Inference:/Users/julianschmidt/Zotero/storage/NXVIDL23/101.html:text/html + \endverb + \verb{urlraw} + \verb https://openjdk.org/jeps/101 + \endverb + \verb{url} + \verb https://openjdk.org/jeps/101 + \endverb + \endentry + \entry{darcy_java_2010}{online}{}{} + \name{author}{1}{}{% + {{hash=9a5e48387b85a6b5d0c06cefb06e5ac0}{% + family={Darcy}, + familyi={D\bibinitperiod}, + given={Joe}, + giveni={J\bibinitperiod}}}% + } + \strng{namehash}{9a5e48387b85a6b5d0c06cefb06e5ac0} + \strng{fullhash}{9a5e48387b85a6b5d0c06cefb06e5ac0} + \strng{fullhashraw}{9a5e48387b85a6b5d0c06cefb06e5ac0} + \strng{bibnamehash}{9a5e48387b85a6b5d0c06cefb06e5ac0} + \strng{authorbibnamehash}{9a5e48387b85a6b5d0c06cefb06e5ac0} + \strng{authornamehash}{9a5e48387b85a6b5d0c06cefb06e5ac0} + \strng{authorfullhash}{9a5e48387b85a6b5d0c06cefb06e5ac0} + \strng{authorfullhashraw}{9a5e48387b85a6b5d0c06cefb06e5ac0} + \field{extraname}{1} + \field{sortinit}{D} + \field{sortinithash}{6f385f66841fb5e82009dc833c761848} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{day}{16} + \field{langid}{english} + \field{month}{11} + \field{title}{The Java Community Process({SM}) Program - {JSRs}: Java Specification Requests - detail {JSR}\# 334} + \field{titleaddon}{{JSR} 334: Small Enhancements to the {JavaTM} Programming Language} + \field{urlday}{25} + \field{urlmonth}{4} + \field{urlyear}{2024} + \field{year}{2010} + \field{dateera}{ce} + \field{urldateera}{ce} + \verb{file} + \verb The Java Community Process(SM) Program - JSRs\: Java Specification Requests - detail JSR# 334:/Users/julianschmidt/Zotero/storage/JKYYJAC8/detail.html:text/html + \endverb + \verb{urlraw} + \verb https://jcp.org/en/jsr/detail?id=334 + \endverb + \verb{url} + \verb https://jcp.org/en/jsr/detail?id=334 + \endverb + \endentry + \entry{darcy_jep_2011}{online}{}{} + \name{author}{1}{}{% + {{hash=9d6b353622fed2e18adff7f20ea4bea3}{% + family={Darcy}, + familyi={D\bibinitperiod}, + given={Joseph\bibnamedelima D.}, + giveni={J\bibinitperiod\bibinitdelim D\bibinitperiod}}}% + } + \strng{namehash}{9d6b353622fed2e18adff7f20ea4bea3} + \strng{fullhash}{9d6b353622fed2e18adff7f20ea4bea3} + \strng{fullhashraw}{9d6b353622fed2e18adff7f20ea4bea3} + \strng{bibnamehash}{9d6b353622fed2e18adff7f20ea4bea3} + \strng{authorbibnamehash}{9d6b353622fed2e18adff7f20ea4bea3} + \strng{authornamehash}{9d6b353622fed2e18adff7f20ea4bea3} + \strng{authorfullhash}{9d6b353622fed2e18adff7f20ea4bea3} + \strng{authorfullhashraw}{9d6b353622fed2e18adff7f20ea4bea3} + \field{extraname}{2} + \field{sortinit}{D} + \field{sortinithash}{6f385f66841fb5e82009dc833c761848} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{day}{1} + \field{month}{11} + \field{title}{{JEP} 126: Lambda Expressions \& Virtual Extension Methods} + \field{titleaddon}{{JEP} 126: Lambda Expressions \& Virtual Extension Methods} + \field{year}{2011} + \field{dateera}{ce} + \verb{urlraw} + \verb https://openjdk.org/jeps/126 + \endverb + \verb{url} + \verb https://openjdk.org/jeps/126 + \endverb + \endentry + \entry{noauthor_gcc--cxx_nodate}{online}{}{} + \field{sortinit}{g} + \field{sortinithash}{32d67eca0634bf53703493fb1090a2e8} + \field{labeltitlesource}{title} + \field{title}{gcc-in-cxx - {GCC} Wiki} + \field{urlday}{1} + \field{urlmonth}{6} + \field{urlyear}{2024} + \field{urldateera}{ce} + \verb{file} + \verb gcc-in-cxx - GCC Wiki:/Users/julianschmidt/Zotero/storage/L86FUZPB/gcc-in-cxx.html:text/html + \endverb + \verb{urlraw} + \verb https://gcc.gnu.org/wiki/gcc-in-cxx + \endverb + \verb{url} + \verb https://gcc.gnu.org/wiki/gcc-in-cxx + \endverb + \endentry + \entry{goetz_jep_2016}{online}{}{} + \name{author}{1}{}{% + {{hash=b89f7fb252580be87461612961dda918}{% + family={Goetz}, + familyi={G\bibinitperiod}, + given={Brian}, + giveni={B\bibinitperiod}}}% + } + \strng{namehash}{b89f7fb252580be87461612961dda918} + \strng{fullhash}{b89f7fb252580be87461612961dda918} + \strng{fullhashraw}{b89f7fb252580be87461612961dda918} + \strng{bibnamehash}{b89f7fb252580be87461612961dda918} + \strng{authorbibnamehash}{b89f7fb252580be87461612961dda918} + \strng{authornamehash}{b89f7fb252580be87461612961dda918} + \strng{authorfullhash}{b89f7fb252580be87461612961dda918} + \strng{authorfullhashraw}{b89f7fb252580be87461612961dda918} + \field{extraname}{1} + \field{sortinit}{G} + \field{sortinithash}{32d67eca0634bf53703493fb1090a2e8} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{day}{8} + \field{langid}{english} + \field{month}{3} + \field{title}{{JEP} 286: Local-Variable Type Inference} + \field{titleaddon}{{JEP} 286: Local-Variable Type Inference} + \field{urlday}{25} + \field{urlmonth}{4} + \field{urlyear}{2024} + \field{year}{2016} + \field{dateera}{ce} + \field{urldateera}{ce} + \verb{file} + \verb JEP 286\: Local-Variable Type Inference:/Users/julianschmidt/Zotero/storage/6TH6X9NA/286.html:text/html + \endverb + \verb{urlraw} + \verb https://openjdk.org/jeps/286 + \endverb + \verb{url} + \verb https://openjdk.org/jeps/286 + \endverb + \endentry + \entry{goetz_java_2010}{online}{}{} + \name{author}{1}{}{% + {{hash=b89f7fb252580be87461612961dda918}{% + family={Goetz}, + familyi={G\bibinitperiod}, + given={Brian}, + giveni={B\bibinitperiod}}}% + } + \strng{namehash}{b89f7fb252580be87461612961dda918} + \strng{fullhash}{b89f7fb252580be87461612961dda918} + \strng{fullhashraw}{b89f7fb252580be87461612961dda918} + \strng{bibnamehash}{b89f7fb252580be87461612961dda918} + \strng{authorbibnamehash}{b89f7fb252580be87461612961dda918} + \strng{authornamehash}{b89f7fb252580be87461612961dda918} + \strng{authorfullhash}{b89f7fb252580be87461612961dda918} + \strng{authorfullhashraw}{b89f7fb252580be87461612961dda918} + \field{extraname}{2} + \field{sortinit}{G} + \field{sortinithash}{32d67eca0634bf53703493fb1090a2e8} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{day}{16} + \field{month}{11} + \field{title}{The Java Community Process({SM}) Program - {JSRs}: Java Specification Requests - detail {JSR}\# 335} + \field{titleaddon}{{JSR} 335: Lambda Expressions for the {JavaTM} Programming Language} + \field{urlday}{6} + \field{urlmonth}{5} + \field{urlyear}{2024} + \field{year}{2010} + \field{dateera}{ce} + \field{urldateera}{ce} + \verb{file} + \verb The Java Community Process(SM) Program - JSRs\: Java Specification Requests - detail JSR# 335:/Users/julianschmidt/Zotero/storage/KJ77QXGF/detail.html:text/html + \endverb + \verb{urlraw} + \verb https://www.jcp.org/en/jsr/detail?id=335 + \endverb + \verb{url} + \verb https://www.jcp.org/en/jsr/detail?id=335 + \endverb + \endentry + \entry{gosling_java_2005}{book}{}{} + \name{author}{4}{}{% + {{hash=2a798529b7edde2afc14297cab558b16}{% + family={Gosling}, + familyi={G\bibinitperiod}, + given={James}, + giveni={J\bibinitperiod}}}% + {{hash=f09f99cecd6117983c930e722773ea8b}{% + family={Joy}, + familyi={J\bibinitperiod}, + given={Bill}, + giveni={B\bibinitperiod}}}% + {{hash=5fb4e146b94ccd4a184efef4424f2286}{% + family={Jr}, + familyi={J\bibinitperiod}, + given={Guy\bibnamedelimb L.\bibnamedelimi Steele}, + giveni={G\bibinitperiod\bibinitdelim L\bibinitperiod\bibinitdelim S\bibinitperiod}}}% + {{hash=075676db46622d5a64b6ff1011b9b7d0}{% + family={Bracha}, + familyi={B\bibinitperiod}, + given={Gilad}, + giveni={G\bibinitperiod}}}% + } + \list{location}{1}{% + {Upper Saddle River, {NJ}}% + } + \list{publisher}{1}{% + {Addison Wesley}% + } + \strng{namehash}{970a2e088d89b0caf7fa87b2fc653076} + \strng{fullhash}{73825cdc5d66fb7ee2b69f4dd4c31b2d} + \strng{fullhashraw}{73825cdc5d66fb7ee2b69f4dd4c31b2d} + \strng{bibnamehash}{970a2e088d89b0caf7fa87b2fc653076} + \strng{authorbibnamehash}{970a2e088d89b0caf7fa87b2fc653076} + \strng{authornamehash}{970a2e088d89b0caf7fa87b2fc653076} + \strng{authorfullhash}{73825cdc5d66fb7ee2b69f4dd4c31b2d} + \strng{authorfullhashraw}{73825cdc5d66fb7ee2b69f4dd4c31b2d} + \field{extraname}{1} + \field{sortinit}{G} + \field{sortinithash}{32d67eca0634bf53703493fb1090a2e8} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{abstract}{Written by the inventors of the language, this book provides the mostauthoritative technical reference for all serious programmers seeking to sharpenand hone their Java programming skills. As the definitive reference book, itprovides programmers with complete, precise, and detailed coverage of theentire Java programming language and defines the current state and evolutionof the language. Java 1.5 aka "Tiger"( and soon to be Java 5.0) will be releasedin the fall of 2004, and this reference supplies coverage on the most recentupdates to the Java language including generics, a tool developers have beenasking to be included in the language for years.} + \field{day}{14} + \field{edition}{3} + \field{isbn}{978-0-321-24678-3} + \field{month}{6} + \field{pagetotal}{684} + \field{title}{The Java Language Specification, 3rd Edition} + \field{year}{2005} + \field{dateera}{ce} + \verb{file} + \verb jls3.pdf:/Users/julianschmidt/Zotero/storage/2A3STVHH/jls3.pdf:application/pdf + \endverb + \endentry + \entry{gosling_java_2014}{book}{}{} + \name{author}{5}{}{% + {{hash=2a798529b7edde2afc14297cab558b16}{% + family={Gosling}, + familyi={G\bibinitperiod}, + given={James}, + giveni={J\bibinitperiod}}}% + {{hash=f09f99cecd6117983c930e722773ea8b}{% + family={Joy}, + familyi={J\bibinitperiod}, + given={Bill}, + giveni={B\bibinitperiod}}}% + {{hash=e4f32b45f9fa2f41d415cc54903efed7}{% + family={Steele}, + familyi={S\bibinitperiod}, + given={Guy\bibnamedelima L.}, + giveni={G\bibinitperiod\bibinitdelim L\bibinitperiod}}}% + {{hash=075676db46622d5a64b6ff1011b9b7d0}{% + family={Bracha}, + familyi={B\bibinitperiod}, + given={Gilad}, + giveni={G\bibinitperiod}}}% + {{hash=1c34391bfa51bee4b9dacbc295281374}{% + family={Buckley}, + familyi={B\bibinitperiod}, + given={Alex}, + giveni={A\bibinitperiod}}}% + } + \list{location}{1}{% + {Upper Saddle River, {NJ}}% + } + \list{publisher}{1}{% + {Addison-Wesley}% + } + \strng{namehash}{970a2e088d89b0caf7fa87b2fc653076} + \strng{fullhash}{591f411baf96bac7a190badee152f8bf} + \strng{fullhashraw}{591f411baf96bac7a190badee152f8bf} + \strng{bibnamehash}{970a2e088d89b0caf7fa87b2fc653076} + \strng{authorbibnamehash}{970a2e088d89b0caf7fa87b2fc653076} + \strng{authornamehash}{970a2e088d89b0caf7fa87b2fc653076} + \strng{authorfullhash}{591f411baf96bac7a190badee152f8bf} + \strng{authorfullhashraw}{591f411baf96bac7a190badee152f8bf} + \field{extraname}{2} + \field{sortinit}{G} + \field{sortinithash}{32d67eca0634bf53703493fb1090a2e8} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{edition}{Java {SE} 8 edition} + \field{isbn}{978-0-13-390069-9} + \field{note}{{OCLC}: ocn873760233} + \field{pagetotal}{758} + \field{title}{The Java® language specification} + \field{year}{2014} + \field{dateera}{ce} + \verb{file} + \verb Gosling et al. - 2014 - The Java® language specification.pdf:/Users/julianschmidt/Zotero/storage/QQVBP9E3/Gosling et al. - 2014 - The Java® language specification.pdf:application/pdf + \endverb + \keyw{Java (Computer program language)} + \endentry + \entry{goos_variance-based_2002}{incollection}{}{} + \name{author}{2}{}{% + {{hash=202d1c7ffd61337419382d4da23bf848}{% + family={Igarashi}, + familyi={I\bibinitperiod}, + given={Atsushi}, + giveni={A\bibinitperiod}}}% + {{hash=91cd69e65a903d07a2e05ca2a51bf280}{% + family={Viroli}, + familyi={V\bibinitperiod}, + given={Mirko}, + giveni={M\bibinitperiod}}}% + } + \name{editor}{1}{}{% + {{hash=6410d02583829fceb6892bf4e32b9323}{% + family={Magnusson}, + familyi={M\bibinitperiod}, + given={Boris}, + giveni={B\bibinitperiod}}}% + } + \name{editorb}{3}{}{% + {{hash=97b8779c08da200ee2eb194bdc10ae4f}{% + family={Goos}, + familyi={G\bibinitperiod}, + given={Gerhard}, + giveni={G\bibinitperiod}}}% + {{hash=84d4ea2bd3ec736effccd97ee64d09ef}{% + family={Hartmanis}, + familyi={H\bibinitperiod}, + given={Juris}, + giveni={J\bibinitperiod}}}% + {{hash=4e6d4340bf56539a33dcad95ee6e8fc5}{% + family={Van\bibnamedelima Leeuwen}, + familyi={V\bibinitperiod\bibinitdelim L\bibinitperiod}, + given={Jan}, + giveni={J\bibinitperiod}}}% + } + \list{location}{1}{% + {Berlin, Heidelberg}% + } + \list{publisher}{1}{% + {Springer Berlin Heidelberg}% + } + \strng{namehash}{5aad78061e25e65d1a12c50db89fe2f0} + \strng{fullhash}{5aad78061e25e65d1a12c50db89fe2f0} + \strng{fullhashraw}{5aad78061e25e65d1a12c50db89fe2f0} + \strng{bibnamehash}{5aad78061e25e65d1a12c50db89fe2f0} + \strng{authorbibnamehash}{5aad78061e25e65d1a12c50db89fe2f0} + \strng{authornamehash}{5aad78061e25e65d1a12c50db89fe2f0} + \strng{authorfullhash}{5aad78061e25e65d1a12c50db89fe2f0} + \strng{authorfullhashraw}{5aad78061e25e65d1a12c50db89fe2f0} + \strng{editorbibnamehash}{6410d02583829fceb6892bf4e32b9323} + \strng{editornamehash}{6410d02583829fceb6892bf4e32b9323} + \strng{editorfullhash}{6410d02583829fceb6892bf4e32b9323} + \strng{editorfullhashraw}{6410d02583829fceb6892bf4e32b9323} + \strng{editorbbibnamehash}{3dfcf72b5841d3fc75d0df4fe9034b68} + \strng{editorbnamehash}{3dfcf72b5841d3fc75d0df4fe9034b68} + \strng{editorbfullhash}{3dfcf72b5841d3fc75d0df4fe9034b68} + \strng{editorbfullhashraw}{3dfcf72b5841d3fc75d0df4fe9034b68} + \field{sortinit}{I} + \field{sortinithash}{8d291c51ee89b6cd86bf5379f0b151d8} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{booktitle}{{ECOOP} 2002 — Object-Oriented Programming} + \field{editorbtype}{redactor} + \field{isbn}{978-3-540-43759-8 978-3-540-47993-2} + \field{note}{Series Title: Lecture Notes in Computer Science} + \field{title}{On Variance-Based Subtyping for Parametric Types} + \field{urlday}{1} + \field{urlmonth}{6} + \field{urlyear}{2024} + \field{volume}{2374} + \field{year}{2002} + \field{dateera}{ce} + \field{urldateera}{ce} + \field{pages}{441\bibrangedash 469} + \range{pages}{29} + \verb{doi} + \verb 10.1007/3-540-47993-7_19 + \endverb + \verb{urlraw} + \verb http://link.springer.com/10.1007/3-540-47993-7_19 + \endverb + \verb{url} + \verb http://link.springer.com/10.1007/3-540-47993-7_19 + \endverb + \endentry + \entry{noauthor_java_nodate-2}{online}{}{} + \field{sortinit}{J} + \field{sortinithash}{b2f54a9081ace9966a7cb9413811edb4} + \field{labeltitlesource}{title} + \field{abstract}{declaration: module: java.base, package: java.util, interface: List} + \field{langid}{english} + \field{title}{Java® Platform, Standard Edition \& Java Development Kit Version 21 {API} Specification} + \field{urlday}{29} + \field{urlmonth}{5} + \field{urlyear}{2024} + \field{urldateera}{ce} + \verb{file} + \verb Snapshot:/Users/julianschmidt/Zotero/storage/XU4PK5LJ/List.html:text/html + \endverb + \verb{urlraw} + \verb https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/List.html + \endverb + \verb{url} + \verb https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/List.html + \endverb + \endentry + \entry{jetbrains_java_2023}{online}{}{} + \name{author}{1}{}{% + {{hash=f84bd4b4caa44b11103f3eba38223a9c}{% + family={{Jetbrains}}, + familyi={J\bibinitperiod}}}% + } + \strng{namehash}{f84bd4b4caa44b11103f3eba38223a9c} + \strng{fullhash}{f84bd4b4caa44b11103f3eba38223a9c} + \strng{fullhashraw}{f84bd4b4caa44b11103f3eba38223a9c} + \strng{bibnamehash}{f84bd4b4caa44b11103f3eba38223a9c} + \strng{authorbibnamehash}{f84bd4b4caa44b11103f3eba38223a9c} + \strng{authornamehash}{f84bd4b4caa44b11103f3eba38223a9c} + \strng{authorfullhash}{f84bd4b4caa44b11103f3eba38223a9c} + \strng{authorfullhashraw}{f84bd4b4caa44b11103f3eba38223a9c} + \field{sortinit}{J} + \field{sortinithash}{b2f54a9081ace9966a7cb9413811edb4} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{abstract}{Learn about the latest Java trends, usage, and popularity in {JetBrains}' annual report.} + \field{langid}{english} + \field{title}{Java Programming - The State of Developer Ecosystem in 2023 Infographic} + \field{titleaddon}{{JetBrains}: Developer Tools for Professionals and Teams} + \field{urlday}{1} + \field{urlmonth}{6} + \field{urlyear}{2024} + \field{year}{2023} + \field{dateera}{ce} + \field{urldateera}{ce} + \verb{file} + \verb Snapshot:/Users/julianschmidt/Zotero/storage/XXVZB5AH/java.html:text/html + \endverb + \verb{urlraw} + \verb https://www.jetbrains.com/lp/devecosystem-2023 + \endverb + \verb{url} + \verb https://www.jetbrains.com/lp/devecosystem-2023 + \endverb + \endentry + \entry{marlow_haskell_2010}{article}{}{} + \true{moreauthor} + \true{morelabelname} + \name{author}{1}{}{% + {{hash=dff0947b507b881bf43b333bdea82006}{% + family={Marlow}, + familyi={M\bibinitperiod}, + given={Simon}, + giveni={S\bibinitperiod}}}% + } + \strng{namehash}{0f06d545b63afbb62a70c868376f04a4} + \strng{fullhash}{0f06d545b63afbb62a70c868376f04a4} + \strng{fullhashraw}{0f06d545b63afbb62a70c868376f04a4} + \strng{bibnamehash}{0f06d545b63afbb62a70c868376f04a4} + \strng{authorbibnamehash}{0f06d545b63afbb62a70c868376f04a4} + \strng{authornamehash}{0f06d545b63afbb62a70c868376f04a4} + \strng{authorfullhash}{0f06d545b63afbb62a70c868376f04a4} + \strng{authorfullhashraw}{0f06d545b63afbb62a70c868376f04a4} + \field{sortinit}{M} + \field{sortinithash}{4625c616857f13d17ce56f7d4f97d451} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{journaltitle}{Available online http://www. haskell. org/(May 2011)} + \field{title}{Haskell 2010 language report} + \field{year}{2010} + \field{dateera}{ce} + \endentry + \entry{noauthor_maven_nodate}{online}{}{} + \field{sortinit}{M} + \field{sortinithash}{4625c616857f13d17ce56f7d4f97d451} + \field{labeltitlesource}{title} + \field{title}{Maven – Introduction} + \field{urlday}{20} + \field{urlmonth}{5} + \field{urlyear}{2024} + \field{urldateera}{ce} + \verb{file} + \verb Maven – Introduction:/Users/julianschmidt/Zotero/storage/B9499E36/what-is-maven.html:text/html + \endverb + \verb{urlraw} + \verb https://maven.apache.org/what-is-maven.html + \endverb + \verb{url} + \verb https://maven.apache.org/what-is-maven.html + \endverb + \endentry + \entry{naftalin_java_2007}{book}{}{} + \name{author}{2}{}{% + {{hash=eafb2cad143dcfce0412447501e851c9}{% + family={Naftalin}, + familyi={N\bibinitperiod}, + given={Maurice}, + giveni={M\bibinitperiod}}}% + {{hash=b4d861345944ddeeaf658a11c2f0f6a7}{% + family={Wadler}, + familyi={W\bibinitperiod}, + given={Philip}, + giveni={P\bibinitperiod}}}% + } + \list{location}{1}{% + {Beijing ; Sebastopol, {CA}}% + } + \list{publisher}{1}{% + {O'Reilly}% + } + \strng{namehash}{042d103fd8c3827d0b5bc8139fcf9579} + \strng{fullhash}{042d103fd8c3827d0b5bc8139fcf9579} + \strng{fullhashraw}{042d103fd8c3827d0b5bc8139fcf9579} + \strng{bibnamehash}{042d103fd8c3827d0b5bc8139fcf9579} + \strng{authorbibnamehash}{042d103fd8c3827d0b5bc8139fcf9579} + \strng{authornamehash}{042d103fd8c3827d0b5bc8139fcf9579} + \strng{authorfullhash}{042d103fd8c3827d0b5bc8139fcf9579} + \strng{authorfullhashraw}{042d103fd8c3827d0b5bc8139fcf9579} + \field{sortinit}{N} + \field{sortinithash}{22369a73d5f88983a108b63f07f37084} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{isbn}{978-0-596-52775-4} + \field{note}{{OCLC}: ocm76810468} + \field{pagetotal}{273} + \field{title}{Java generics and collections} + \field{year}{2007} + \field{dateera}{ce} + \verb{file} + \verb Naftalin und Wadler - 2007 - Java generics and collections.pdf:/Users/julianschmidt/Zotero/storage/CHFZTFU4/Naftalin und Wadler - 2007 - Java generics and collections.pdf:application/pdf + \endverb + \keyw{Java (Computer program language),Object-oriented programming (Computer science)} + \endentry + \entry{nero_all_2023}{online}{}{} + \name{author}{1}{}{% + {{hash=a1d34117cb05b746ffba9b5557ad41ed}{% + family={Nero}, + familyi={N\bibinitperiod}, + given={Rafael\bibnamedelima del}, + giveni={R\bibinitperiod\bibinitdelim d\bibinitperiod}}}% + } + \strng{namehash}{a1d34117cb05b746ffba9b5557ad41ed} + \strng{fullhash}{a1d34117cb05b746ffba9b5557ad41ed} + \strng{fullhashraw}{a1d34117cb05b746ffba9b5557ad41ed} + \strng{bibnamehash}{a1d34117cb05b746ffba9b5557ad41ed} + \strng{authorbibnamehash}{a1d34117cb05b746ffba9b5557ad41ed} + \strng{authornamehash}{a1d34117cb05b746ffba9b5557ad41ed} + \strng{authorfullhash}{a1d34117cb05b746ffba9b5557ad41ed} + \strng{authorfullhashraw}{a1d34117cb05b746ffba9b5557ad41ed} + \field{sortinit}{N} + \field{sortinithash}{22369a73d5f88983a108b63f07f37084} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{abstract}{Here's a quick look at the three types of class loaders and everything you need to know to work with them in your Java programs.} + \field{day}{29} + \field{langid}{english} + \field{month}{6} + \field{title}{All about Java class loaders} + \field{titleaddon}{{InfoWorld}} + \field{urlday}{25} + \field{urlmonth}{5} + \field{urlyear}{2024} + \field{year}{2023} + \field{dateera}{ce} + \field{urldateera}{ce} + \verb{file} + \verb Snapshot:/Users/julianschmidt/Zotero/storage/8E5TQLJK/all-about-java-class-loaders.html:text/html + \endverb + \verb{urlraw} + \verb https://www.infoworld.com/article/3700054/all-about-java-class-loaders.html + \endverb + \verb{url} + \verb https://www.infoworld.com/article/3700054/all-about-java-class-loaders.html + \endverb + \endentry + \entry{noauthor_openjdk_nodate}{online}{}{} + \field{sortinit}{O} + \field{sortinithash}{2cd7140a07aea5341f9e2771efe90aae} + \field{labeltitlesource}{title} + \field{title}{{OpenJDK}: Project Lambda} + \field{urlday}{6} + \field{urlmonth}{5} + \field{urlyear}{2024} + \field{urldateera}{ce} + \verb{file} + \verb OpenJDK\: Project Lambda:/Users/julianschmidt/Zotero/storage/SWMFTZ94/lambda.html:text/html + \endverb + \verb{urlraw} + \verb https://openjdk.org/projects/lambda/ + \endverb + \verb{url} + \verb https://openjdk.org/projects/lambda/ + \endverb + \endentry + \entry{oracle_type_nodate}{online}{}{} + \name{author}{1}{}{% + {{hash=30162ed78b6c10f731411f2fc440c24f}{% + family={{Oracle}}, + familyi={O\bibinitperiod}}}% + } + \strng{namehash}{30162ed78b6c10f731411f2fc440c24f} + \strng{fullhash}{30162ed78b6c10f731411f2fc440c24f} + \strng{fullhashraw}{30162ed78b6c10f731411f2fc440c24f} + \strng{bibnamehash}{30162ed78b6c10f731411f2fc440c24f} + \strng{authorbibnamehash}{30162ed78b6c10f731411f2fc440c24f} + \strng{authornamehash}{30162ed78b6c10f731411f2fc440c24f} + \strng{authorfullhash}{30162ed78b6c10f731411f2fc440c24f} + \strng{authorfullhashraw}{30162ed78b6c10f731411f2fc440c24f} + \field{sortinit}{O} + \field{sortinithash}{2cd7140a07aea5341f9e2771efe90aae} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{title}{Type Inference (The Javaâ„¢ Tutorials {>} Learning the Java Language {>} Generics (Updated))} + \field{urlday}{1} + \field{urlmonth}{6} + \field{urlyear}{2024} + \field{urldateera}{ce} + \verb{file} + \verb Type Inference (The Javaâ„¢ Tutorials > Learning the Java Language > Generics (Updated)):/Users/julianschmidt/Zotero/storage/UG9UXUUI/genTypeInference.html:text/html + \endverb + \verb{urlraw} + \verb https://docs.oracle.com/javase/tutorial/java/generics/genTypeInference.html + \endverb + \verb{url} + \verb https://docs.oracle.com/javase/tutorial/java/generics/genTypeInference.html + \endverb + \endentry + \entry{pierce_types_2002}{book}{}{} + \name{author}{1}{}{% + {{hash=7365a4e827c2dfa2c5af0c0ec4c18c27}{% + family={Pierce}, + familyi={P\bibinitperiod}, + given={Benjamin\bibnamedelima C.}, + giveni={B\bibinitperiod\bibinitdelim C\bibinitperiod}}}% + } + \list{location}{1}{% + {Cambridge, Massachusetts London, England}% + } + \list{publisher}{1}{% + {The {MIT} Press}% + } + \strng{namehash}{7365a4e827c2dfa2c5af0c0ec4c18c27} + \strng{fullhash}{7365a4e827c2dfa2c5af0c0ec4c18c27} + \strng{fullhashraw}{7365a4e827c2dfa2c5af0c0ec4c18c27} + \strng{bibnamehash}{7365a4e827c2dfa2c5af0c0ec4c18c27} + \strng{authorbibnamehash}{7365a4e827c2dfa2c5af0c0ec4c18c27} + \strng{authornamehash}{7365a4e827c2dfa2c5af0c0ec4c18c27} + \strng{authorfullhash}{7365a4e827c2dfa2c5af0c0ec4c18c27} + \strng{authorfullhashraw}{7365a4e827c2dfa2c5af0c0ec4c18c27} + \field{sortinit}{P} + \field{sortinithash}{ff3bcf24f47321b42cb156c2cc8a8422} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{isbn}{978-0-262-16209-8} + \field{pagetotal}{623} + \field{title}{Types and programming languages} + \field{year}{2002} + \field{dateera}{ce} + \endentry + \entry{piquerez_variances_nodate}{online}{}{} + \name{author}{3}{}{% + {{hash=8c9eb1b205c932560554213dd25827af}{% + family={Piquerez}, + familyi={P\bibinitperiod}, + given={Adrien}, + giveni={A\bibinitperiod}}}% + {{hash=f1a92d624d22fb1259a12ca5b4250ea3}{% + family={Thompson}, + familyi={T\bibinitperiod}, + given={Jamie}, + giveni={J\bibinitperiod}}}% + {{hash=38026ba4ee6b102b47bf3ffb41325c8f}{% + family={al.}, + familyi={a\bibinitperiod}, + prefix={et.}, + prefixi={e\bibinitperiod}}}% + } + \strng{namehash}{e368e6e91d240f604fb4c9940cc32ea9} + \strng{fullhash}{e368e6e91d240f604fb4c9940cc32ea9} + \strng{fullhashraw}{e368e6e91d240f604fb4c9940cc32ea9} + \strng{bibnamehash}{e368e6e91d240f604fb4c9940cc32ea9} + \strng{authorbibnamehash}{e368e6e91d240f604fb4c9940cc32ea9} + \strng{authornamehash}{e368e6e91d240f604fb4c9940cc32ea9} + \strng{authorfullhash}{e368e6e91d240f604fb4c9940cc32ea9} + \strng{authorfullhashraw}{e368e6e91d240f604fb4c9940cc32ea9} + \field{sortinit}{P} + \field{sortinithash}{ff3bcf24f47321b42cb156c2cc8a8422} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{title}{Variances} + \field{titleaddon}{Scala Documentation} + \field{urlday}{30} + \field{urlmonth}{5} + \field{urlyear}{2024} + \field{urldateera}{ce} + \verb{file} + \verb Snapshot:/Users/julianschmidt/Zotero/storage/J377ZJ6M/variances.html:text/html + \endverb + \verb{urlraw} + \verb https://docs.scala-lang.org/tour/variances.html + \endverb + \verb{url} + \verb https://docs.scala-lang.org/tour/variances.html + \endverb + \endentry + \entry{plumicke_introducing_2017}{inproceedings}{}{} + \name{author}{2}{}{% + {{hash=8d6017a905ef0062fc14e083edc7257c}{% + family={Plümicke}, + familyi={P\bibinitperiod}, + given={Martin}, + giveni={M\bibinitperiod}}}% + {{hash=481f26bef10cf5c896b72f79c21321b6}{% + family={Stadelmeier}, + familyi={S\bibinitperiod}, + given={Andreas}, + giveni={A\bibinitperiod}}}% + } + \list{location}{1}{% + {New York, {NY}, {USA}}% + } + \list{publisher}{1}{% + {Association for Computing Machinery}% + } + \strng{namehash}{263ed8d87b8a09f721acfa0edd6f2f7e} + \strng{fullhash}{263ed8d87b8a09f721acfa0edd6f2f7e} + \strng{fullhashraw}{263ed8d87b8a09f721acfa0edd6f2f7e} + \strng{bibnamehash}{263ed8d87b8a09f721acfa0edd6f2f7e} + \strng{authorbibnamehash}{263ed8d87b8a09f721acfa0edd6f2f7e} + \strng{authornamehash}{263ed8d87b8a09f721acfa0edd6f2f7e} + \strng{authorfullhash}{263ed8d87b8a09f721acfa0edd6f2f7e} + \strng{authorfullhashraw}{263ed8d87b8a09f721acfa0edd6f2f7e} + \field{sortinit}{P} + \field{sortinithash}{ff3bcf24f47321b42cb156c2cc8a8422} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{abstract}{This paper considers the realisation of lambda expressions in Java 8 on the basis of a global type inference algorithm, which we have introduced in Java-{TX}. We demonstrate that the Java 8 approach has indeed some benefits but also a number of drawbacks. In order to eliminate the drawbacks, we take into consideration the approaches in a former experimental Java version (strawman approach) and in Scala. We show that an integration of these approaches eliminates the drawbacks without losing the benefits of the Java 8 approach. Additionally, we adapt our global type inference algorithm to this extended language.} + \field{booktitle}{Proceedings of the 14th International Conference on Managed Languages and Runtimes} + \field{day}{27} + \field{isbn}{978-1-4503-5340-3} + \field{month}{9} + \field{series}{{ManLang} 2017} + \field{title}{Introducing Scala-like function types into Java-{TX}} + \field{urlday}{24} + \field{urlmonth}{4} + \field{urlyear}{2024} + \field{year}{2017} + \field{dateera}{ce} + \field{urldateera}{ce} + \field{pages}{23\bibrangedash 34} + \range{pages}{12} + \verb{doi} + \verb 10.1145/3132190.3132203 + \endverb + \verb{file} + \verb Plümicke und Stadelmeier - 2017 - Introducing Scala-like function types into Java-TX.pdf:/Users/julianschmidt/Zotero/storage/T433TNLU/Plümicke und Stadelmeier - 2017 - Introducing Scala-like function types into Java-TX.pdf:application/pdf + \endverb + \verb{urlraw} + \verb https://doi.org/10.1145/3132190.3132203 + \endverb + \verb{url} + \verb https://doi.org/10.1145/3132190.3132203 + \endverb + \keyw{type inference,function types,Java,lambda expressions} + \endentry + \entry{plumicke_java-tx_2022}{report}{}{} + \name{author}{2}{}{% + {{hash=8d6017a905ef0062fc14e083edc7257c}{% + family={Plümicke}, + familyi={P\bibinitperiod}, + given={Martin}, + giveni={M\bibinitperiod}}}% + {{hash=6884c4c73b420dc7da82d0341b0d85d1}{% + family={Zink}, + familyi={Z\bibinitperiod}, + given={Etienne}, + giveni={E\bibinitperiod}}}% + } + \list{institution}{1}{% + {Fakultät Technik der Dualen Hochschule Baden-Württemberg Stuttgart}% + } + \strng{namehash}{f88b714df6ef1e576fbad2cf6e46b47a} + \strng{fullhash}{f88b714df6ef1e576fbad2cf6e46b47a} + \strng{fullhashraw}{f88b714df6ef1e576fbad2cf6e46b47a} + \strng{bibnamehash}{f88b714df6ef1e576fbad2cf6e46b47a} + \strng{authorbibnamehash}{f88b714df6ef1e576fbad2cf6e46b47a} + \strng{authornamehash}{f88b714df6ef1e576fbad2cf6e46b47a} + \strng{authorfullhash}{f88b714df6ef1e576fbad2cf6e46b47a} + \strng{authorfullhashraw}{f88b714df6ef1e576fbad2cf6e46b47a} + \field{sortinit}{P} + \field{sortinithash}{ff3bcf24f47321b42cb156c2cc8a8422} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{abstract}{Java-{TX} ({TX} steht für Type {eXtended}) ist eine Erweiterung von Java, deren wesentliche neue Eigenschaften globale Typinferenz und echte Funktion- stypen sind. Funktionstypen werden in Java-{TX} ähnlich wie bei Scala eingeführt. Zusätzlich werden sie in das Zieltypen-Konzept von Java in- tegriert, wie es im sogenannten Stawman-Ansatz vorgeschlagen wurde. Diese Erweiterungen führen zu einer neuen Ãœberladungseigenschaft, die Methodendeklaration mit Durchschnittstypen erlaubt. Darüber hinaus haben Java-{TX}-Methoden allgemeinste Typen. Zusätzlich werden Typ- parameter von Klassen und Methoden automatisch generiert. Schließlich werden Parameter von Funktionstypen heterogen übersetzt.} + \field{langid}{english} + \field{month}{1} + \field{title}{Java-{TX}: The language} + \field{year}{2022} + \field{dateera}{ce} + \verb{file} + \verb Prof. Dr. habil. Plümicke und Zink - 2022 - Java-TX The language.pdf:/Users/julianschmidt/Zotero/storage/DFCLDI9R/Prof. Dr. habil. Plümicke und Zink - 2022 - Java-TX The language.pdf:application/pdf + \endverb + \verb{urlraw} + \verb https://www.dhbw-stuttgart.de/forschung-transfer/technik/schriftenreihe-insights/ + \endverb + \verb{url} + \verb https://www.dhbw-stuttgart.de/forschung-transfer/technik/schriftenreihe-insights/ + \endverb + \endentry + \entry{noauthor_raw_nodate}{online}{}{} + \field{sortinit}{R} + \field{sortinithash}{5e1c39a9d46ffb6bebd8f801023a9486} + \field{labeltitlesource}{title} + \field{title}{Raw Types (The Javaâ„¢ Tutorials {>} Learning the Java Language {>} Generics (Updated))} + \field{urlday}{2} + \field{urlmonth}{6} + \field{urlyear}{2024} + \field{urldateera}{ce} + \verb{file} + \verb Raw Types (The Javaâ„¢ Tutorials > Learning the Java Language > Generics (Updated)):/Users/julianschmidt/Zotero/storage/QYJ4KVMB/rawTypes.html:text/html + \endverb + \verb{urlraw} + \verb https://docs.oracle.com/javase/tutorial/java/generics/rawTypes.html + \endverb + \verb{url} + \verb https://docs.oracle.com/javase/tutorial/java/generics/rawTypes.html + \endverb + \endentry + \entry{softwarealchemy_streamline_2024}{online}{}{} + \name{author}{1}{}{% + {{hash=d87ee5debe61207b08195d85d9af3072}{% + family={{SoftwareAlchemy}}, + familyi={S\bibinitperiod}}}% + } + \strng{namehash}{d87ee5debe61207b08195d85d9af3072} + \strng{fullhash}{d87ee5debe61207b08195d85d9af3072} + \strng{fullhashraw}{d87ee5debe61207b08195d85d9af3072} + \strng{bibnamehash}{d87ee5debe61207b08195d85d9af3072} + \strng{authorbibnamehash}{d87ee5debe61207b08195d85d9af3072} + \strng{authornamehash}{d87ee5debe61207b08195d85d9af3072} + \strng{authorfullhash}{d87ee5debe61207b08195d85d9af3072} + \strng{authorfullhashraw}{d87ee5debe61207b08195d85d9af3072} + \field{sortinit}{S} + \field{sortinithash}{b164b07b29984b41daf1e85279fbc5ab} + \field{labelnamesource}{author} + \field{labeltitlesource}{shorttitle} + \field{abstract}{Java Streams, introduced in Java 8, revolutionized how we work with collections. They offer a declarative and functional approach to…} + \field{day}{23} + \field{langid}{english} + \field{month}{4} + \field{shorttitle}{Streamline Your Java Code} + \field{title}{Streamline Your Java Code: A Cheat Sheet for Mastering Streams} + \field{titleaddon}{Javarevisited} + \field{urlday}{25} + \field{urlmonth}{5} + \field{urlyear}{2024} + \field{year}{2024} + \field{dateera}{ce} + \field{urldateera}{ce} + \verb{file} + \verb Snapshot:/Users/julianschmidt/Zotero/storage/2W523K54/streamline-your-java-code-a-cheat-sheet-for-mastering-streams-e8500f4495fe.html:text/html + \endverb + \verb{urlraw} + \verb https://medium.com/javarevisited/streamline-your-java-code-a-cheat-sheet-for-mastering-streams-e8500f4495fe + \endverb + \verb{url} + \verb https://medium.com/javarevisited/streamline-your-java-code-a-cheat-sheet-for-mastering-streams-e8500f4495fe + \endverb + \endentry + \entry{stadelmeier_java_2015}{inproceedings}{}{} + \name{author}{1}{}{% + {{hash=481f26bef10cf5c896b72f79c21321b6}{% + family={Stadelmeier}, + familyi={S\bibinitperiod}, + given={Andreas}, + giveni={A\bibinitperiod}}}% + } + \list{location}{1}{% + {Cottbus, Deutschland}% + } + \strng{namehash}{481f26bef10cf5c896b72f79c21321b6} + \strng{fullhash}{481f26bef10cf5c896b72f79c21321b6} + \strng{fullhashraw}{481f26bef10cf5c896b72f79c21321b6} + \strng{bibnamehash}{481f26bef10cf5c896b72f79c21321b6} + \strng{authorbibnamehash}{481f26bef10cf5c896b72f79c21321b6} + \strng{authornamehash}{481f26bef10cf5c896b72f79c21321b6} + \strng{authorfullhash}{481f26bef10cf5c896b72f79c21321b6} + \strng{authorfullhashraw}{481f26bef10cf5c896b72f79c21321b6} + \field{sortinit}{S} + \field{sortinithash}{b164b07b29984b41daf1e85279fbc5ab} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{day}{28} + \field{eventtitle}{45. Jahrestagung der Gesellschaft für Informatik, Informatik 2015, Informatik, Energie und Umwelt} + \field{month}{9} + \field{title}{Java type inference as an Eclipse plugin} + \field{year}{2015} + \field{dateera}{ce} + \field{pages}{1841\bibrangedash 1852} + \range{pages}{12} + \verb{urlraw} + \verb https://subs.emis.de/LNI/Proceedings/Proceedings246/article18.html + \endverb + \verb{url} + \verb https://subs.emis.de/LNI/Proceedings/Proceedings246/article18.html + \endverb + \endentry + \entry{stallman_using_2024}{misc}{}{} + \name{author}{2}{}{% + {{hash=1dfe179dc9301b7f9e2ce5c352009d00}{% + family={Stallman}, + familyi={S\bibinitperiod}, + given={Richard}, + giveni={R\bibinitperiod}}}% + {{hash=811e9eb9bafe0fdf5a9109741d260d07}{% + family={{GCC Developer Community}}, + familyi={G\bibinitperiod}}}% + } + \list{publisher}{1}{% + {Free Software Foundation}% + } + \strng{namehash}{7cfa7dc6bdfa7a9d56a94c480a77ea08} + \strng{fullhash}{7cfa7dc6bdfa7a9d56a94c480a77ea08} + \strng{fullhashraw}{7cfa7dc6bdfa7a9d56a94c480a77ea08} + \strng{bibnamehash}{7cfa7dc6bdfa7a9d56a94c480a77ea08} + \strng{authorbibnamehash}{7cfa7dc6bdfa7a9d56a94c480a77ea08} + \strng{authornamehash}{7cfa7dc6bdfa7a9d56a94c480a77ea08} + \strng{authorfullhash}{7cfa7dc6bdfa7a9d56a94c480a77ea08} + \strng{authorfullhashraw}{7cfa7dc6bdfa7a9d56a94c480a77ea08} + \field{sortinit}{S} + \field{sortinithash}{b164b07b29984b41daf1e85279fbc5ab} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{title}{Using the {GNU} Compiler Collection For gcc version 14.1.0} + \field{year}{2024} + \field{dateera}{ce} + \verb{urlraw} + \verb https://gcc.gnu.org/onlinedocs/gcc-14.1.0/gcc.pdf + \endverb + \verb{url} + \verb https://gcc.gnu.org/onlinedocs/gcc-14.1.0/gcc.pdf + \endverb + \endentry + \entry{stallman_gnu_2004}{book}{}{} + \name{author}{3}{}{% + {{hash=1dfe179dc9301b7f9e2ce5c352009d00}{% + family={Stallman}, + familyi={S\bibinitperiod}, + given={Richard}, + giveni={R\bibinitperiod}}}% + {{hash=4be129815ec6e7664c558f5e718561d2}{% + family={{McGrath}}, + familyi={M\bibinitperiod}, + given={Roland}, + giveni={R\bibinitperiod}}}% + {{hash=bcc3dbeb89d076fabc403bb9123846ba}{% + family={Smith}, + familyi={S\bibinitperiod}, + given={Paul\bibnamedelima D.}, + giveni={P\bibinitperiod\bibinitdelim D\bibinitperiod}}}% + } + \list{location}{1}{% + {Boston, Mass}% + } + \list{publisher}{1}{% + {Free Software Foundation}% + } + \strng{namehash}{bc307bc01102367d23f3d358730266e2} + \strng{fullhash}{bc307bc01102367d23f3d358730266e2} + \strng{fullhashraw}{bc307bc01102367d23f3d358730266e2} + \strng{bibnamehash}{bc307bc01102367d23f3d358730266e2} + \strng{authorbibnamehash}{bc307bc01102367d23f3d358730266e2} + \strng{authornamehash}{bc307bc01102367d23f3d358730266e2} + \strng{authorfullhash}{bc307bc01102367d23f3d358730266e2} + \strng{authorfullhashraw}{bc307bc01102367d23f3d358730266e2} + \field{sortinit}{S} + \field{sortinithash}{b164b07b29984b41daf1e85279fbc5ab} + \field{labelnamesource}{author} + \field{labeltitlesource}{shorttitle} + \field{isbn}{978-1-882114-83-2} + \field{pagetotal}{184} + \field{shorttitle}{{GNU} Make} + \field{title}{{GNU} Make: a program for directing recompliation ; {GNU} make version 3.81} + \field{year}{2004} + \field{dateera}{ce} + \endentry + \entry{noauthor_string_nodate}{online}{}{} + \field{sortinit}{S} + \field{sortinithash}{b164b07b29984b41daf1e85279fbc5ab} + \field{labeltitlesource}{title} + \field{title}{String (Java Platform {SE} 8 )} + \field{urlday}{2} + \field{urlmonth}{6} + \field{urlyear}{2024} + \field{urldateera}{ce} + \verb{file} + \verb String (Java Platform SE 8 ):/Users/julianschmidt/Zotero/storage/GHKI499F/String.html:text/html + \endverb + \verb{urlraw} + \verb https://docs.oracle.com/javase/8/docs/api/java/lang/String.html + \endverb + \verb{url} + \verb https://docs.oracle.com/javase/8/docs/api/java/lang/String.html + \endverb + \endentry + \entry{terry_compilers_1997}{book}{}{} + \name{author}{1}{}{% + {{hash=37369732b313781cc56ecdba4cc106f0}{% + family={Terry}, + familyi={T\bibinitperiod}, + given={Patrick\bibnamedelima D.}, + giveni={P\bibinitperiod\bibinitdelim D\bibinitperiod}}}% + } + \list{location}{1}{% + {London}% + } + \list{publisher}{1}{% + {International Thomson Computer Press}% + } + \strng{namehash}{37369732b313781cc56ecdba4cc106f0} + \strng{fullhash}{37369732b313781cc56ecdba4cc106f0} + \strng{fullhashraw}{37369732b313781cc56ecdba4cc106f0} + \strng{bibnamehash}{37369732b313781cc56ecdba4cc106f0} + \strng{authorbibnamehash}{37369732b313781cc56ecdba4cc106f0} + \strng{authornamehash}{37369732b313781cc56ecdba4cc106f0} + \strng{authorfullhash}{37369732b313781cc56ecdba4cc106f0} + \strng{authorfullhashraw}{37369732b313781cc56ecdba4cc106f0} + \field{sortinit}{T} + \field{sortinithash}{9af77f0292593c26bde9a56e688eaee9} + \field{labelnamesource}{author} + \field{labeltitlesource}{shorttitle} + \field{isbn}{978-1-85032-298-6} + \field{pagetotal}{579} + \field{shorttitle}{Compilers and compiler generators} + \field{title}{Compilers and compiler generators: an introduction with C++} + \field{year}{1997} + \field{dateera}{ce} + \verb{file} + \verb Terry und Terry - 1997 - Compilers and compiler generators an introduction.pdf:/Users/julianschmidt/Zotero/storage/6JKV89EJ/Terry und Terry - 1997 - Compilers and compiler generators an introduction.pdf:application/pdf + \endverb + \endentry + \entry{noauthor_for-each_nodate}{online}{}{} + \field{sortinit}{T} + \field{sortinithash}{9af77f0292593c26bde9a56e688eaee9} + \field{labeltitlesource}{title} + \field{title}{The For-Each Loop} + \field{urlday}{23} + \field{urlmonth}{5} + \field{urlyear}{2024} + \field{urldateera}{ce} + \verb{file} + \verb The For-Each Loop:/Users/julianschmidt/Zotero/storage/H8NNNKR8/foreach.html:text/html + \endverb + \verb{urlraw} + \verb https://docs.oracle.com/javase/8/docs/technotes/guides/language/foreach.html + \endverb + \verb{url} + \verb https://docs.oracle.com/javase/8/docs/technotes/guides/language/foreach.html + \endverb + \endentry + \entry{thompson_haskell_2011}{book}{}{} + \name{author}{1}{}{% + {{hash=6bc88c88b48cfd8a2c4dc566cd758fde}{% + family={Thompson}, + familyi={T\bibinitperiod}, + given={Simon}, + giveni={S\bibinitperiod}}}% + } + \list{location}{1}{% + {Harlow, England ; New York}% + } + \list{publisher}{1}{% + {Addison Wesley}% + } + \strng{namehash}{6bc88c88b48cfd8a2c4dc566cd758fde} + \strng{fullhash}{6bc88c88b48cfd8a2c4dc566cd758fde} + \strng{fullhashraw}{6bc88c88b48cfd8a2c4dc566cd758fde} + \strng{bibnamehash}{6bc88c88b48cfd8a2c4dc566cd758fde} + \strng{authorbibnamehash}{6bc88c88b48cfd8a2c4dc566cd758fde} + \strng{authornamehash}{6bc88c88b48cfd8a2c4dc566cd758fde} + \strng{authorfullhash}{6bc88c88b48cfd8a2c4dc566cd758fde} + \strng{authorfullhashraw}{6bc88c88b48cfd8a2c4dc566cd758fde} + \field{sortinit}{T} + \field{sortinithash}{9af77f0292593c26bde9a56e688eaee9} + \field{labelnamesource}{author} + \field{labeltitlesource}{shorttitle} + \field{edition}{3rd ed} + \field{isbn}{978-0-201-88295-7} + \field{pagetotal}{585} + \field{shorttitle}{Haskell} + \field{title}{Haskell: the craft of functional programming} + \field{year}{2011} + \field{dateera}{ce} + \keyw{Functional programming (Computer science)} + \endentry + \entry{vandevoorde_c_2010}{book}{}{} + \name{author}{2}{}{% + {{hash=100fc4da52c7db55f32141ac7c64aa7b}{% + family={Vandevoorde}, + familyi={V\bibinitperiod}, + given={David}, + giveni={D\bibinitperiod}}}% + {{hash=696aaa42846cc8620450c5e3bdc9e534}{% + family={Josuttis}, + familyi={J\bibinitperiod}, + given={Nicolai\bibnamedelima M.}, + giveni={N\bibinitperiod\bibinitdelim M\bibinitperiod}}}% + } + \list{location}{1}{% + {Boston, Mass.}% + } + \list{publisher}{1}{% + {Addison-Wesley}% + } + \strng{namehash}{52d1ad3c83ff9a55c8549b2a4a492c69} + \strng{fullhash}{52d1ad3c83ff9a55c8549b2a4a492c69} + \strng{fullhashraw}{52d1ad3c83ff9a55c8549b2a4a492c69} + \strng{bibnamehash}{52d1ad3c83ff9a55c8549b2a4a492c69} + \strng{authorbibnamehash}{52d1ad3c83ff9a55c8549b2a4a492c69} + \strng{authornamehash}{52d1ad3c83ff9a55c8549b2a4a492c69} + \strng{authorfullhash}{52d1ad3c83ff9a55c8549b2a4a492c69} + \strng{authorfullhashraw}{52d1ad3c83ff9a55c8549b2a4a492c69} + \field{sortinit}{V} + \field{sortinithash}{afb52128e5b4dc4b843768c0113d673b} + \field{labelnamesource}{author} + \field{labeltitlesource}{shorttitle} + \field{isbn}{978-0-201-73484-2} + \field{pagetotal}{528} + \field{shorttitle}{C++ templates} + \field{title}{C++ templates: the complete guide} + \field{year}{2010} + \field{dateera}{ce} + \verb{file} + \verb C++ Templates-The Complete Guide.pdf:/Users/julianschmidt/Zotero/storage/NS577488/C++ Templates-The Complete Guide.pdf:application/pdf;Table of Contents PDF:/Users/julianschmidt/Zotero/storage/HIL2ULZY/Vandevoorde und Josuttis - 2010 - C++ templates the complete guide.pdf:application/pdf + \endverb + \endentry + \entry{wagner_creating_2021}{online}{}{} + \name{author}{4}{}{% + {{hash=f94d94b74e1a56344ce765ae3d5d3955}{% + family={Wagner}, + familyi={W\bibinitperiod}, + given={Bill}, + giveni={B\bibinitperiod}}}% + {{hash=125d239fc46c4766f904c1f2cc01f2e7}{% + family={Martinez}, + familyi={M\bibinitperiod}, + given={Jason}, + giveni={J\bibinitperiod}}}% + {{hash=6da5d1d3eacecb20d73cd15319642830}{% + family={Warren}, + familyi={W\bibinitperiod}, + given={Genevieve}, + giveni={G\bibinitperiod}}}% + {{hash=c4b12c788d52a4ea109e98f5758529ae}{% + family={et.al.}, + familyi={e\bibinitperiod}}}% + } + \strng{namehash}{490cc09b68cdb428605dca219f6e067f} + \strng{fullhash}{8aea1e3ed08473533b787e3f46d190b9} + \strng{fullhashraw}{8aea1e3ed08473533b787e3f46d190b9} + \strng{bibnamehash}{490cc09b68cdb428605dca219f6e067f} + \strng{authorbibnamehash}{490cc09b68cdb428605dca219f6e067f} + \strng{authornamehash}{490cc09b68cdb428605dca219f6e067f} + \strng{authorfullhash}{8aea1e3ed08473533b787e3f46d190b9} + \strng{authorfullhashraw}{8aea1e3ed08473533b787e3f46d190b9} + \field{sortinit}{W} + \field{sortinithash}{4315d78024d0cea9b57a0c6f0e35ed0d} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{abstract}{Learn how to create variant generic interfaces with covariant or contravariant generic type parameters.} + \field{day}{15} + \field{langid}{english} + \field{month}{9} + \field{title}{Creating Variant Generic Interfaces - C\#} + \field{urlday}{30} + \field{urlmonth}{5} + \field{urlyear}{2024} + \field{year}{2021} + \field{dateera}{ce} + \field{urldateera}{ce} + \verb{file} + \verb Snapshot:/Users/julianschmidt/Zotero/storage/FKDNJJ4G/creating-variant-generic-interfaces.html:text/html + \endverb + \verb{urlraw} + \verb https://learn.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/covariance-contravariance/creating-variant-generic-interfaces + \endverb + \verb{url} + \verb https://learn.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/covariance-contravariance/creating-variant-generic-interfaces + \endverb + \endentry + \enddatalist + \missing{bealdung_class_2024} + \missing{noauthor_jdksrcjdkcompilershareclassescomsuntoolsjavacmainjava_nodate} +\endrefsection +\endinput + diff --git a/Studienarbeit/main.bcf b/Studienarbeit/main.bcf new file mode 100644 index 0000000..9fd7961 --- /dev/null +++ b/Studienarbeit/main.bcf @@ -0,0 +1,2480 @@ + + + + + + output_encoding + utf8 + + + input_encoding + utf8 + + + debug + 0 + + + mincrossrefs + 2 + + + minxrefs + 2 + + + sortcase + 1 + + + sortupper + 1 + + + + + + + alphaothers + + + + + extradatecontext + labelname + labeltitle + + + labelalpha + 0 + + + labelnamespec + shortauthor + author + shorteditor + editor + translator + + + labeltitle + 0 + + + labeltitlespec + shorttitle + title + maintitle + + + labeltitleyear + 0 + + + labeldateparts + 0 + + + labeldatespec + date + year + eventdate + origdate + urldate + nodate + + + julian + 0 + + + gregorianstart + 1582-10-15 + + + maxalphanames + 3 + + + maxbibnames + 3 + + + maxcitenames + 3 + + + maxsortnames + 3 + + + maxitems + 3 + + + minalphanames + 1 + + + minbibnames + 1 + + + mincitenames + 1 + + + minsortnames + 1 + + + minitems + 1 + + + nohashothers + 0 + + + noroman + 0 + + + nosortothers + 0 + + + pluralothers + 0 + + + singletitle + 0 + + + skipbib + 0 + + + skipbiblist + 0 + + + skiplab + 0 + + + sortalphaothers + + + + + sortlocale + de_DE + + + sortingtemplatename + nty + + + sortsets + 0 + + + uniquelist + false + + + uniquename + false + + + uniqueprimaryauthor + 0 + + + uniquetitle + 0 + + + uniquebaretitle + 0 + + + uniquework + 0 + + + useprefix + 0 + + + useafterword + 1 + + + useannotator + 1 + + + useauthor + 1 + + + usebookauthor + 1 + + + usecommentator + 1 + + + useeditor + 1 + + + useeditora + 1 + + + useeditorb + 1 + + + useeditorc + 1 + + + useforeword + 1 + + + useholder + 1 + + + useintroduction + 1 + + + usenamea + 1 + + + usenameb + 1 + + + usenamec + 1 + + + usetranslator + 0 + + + useshortauthor + 1 + + + useshorteditor + 1 + + + + + + extradatecontext + labelname + labeltitle + + + labelalpha + 0 + + + labelnamespec + shortauthor + author + shorteditor + editor + translator + + + labeltitle + 0 + + + labeltitlespec + shorttitle + title + maintitle + + + labeltitleyear + 0 + + + labeldateparts + 0 + + + labeldatespec + date + year + eventdate + origdate + urldate + nodate + + + maxalphanames + 3 + + + maxbibnames + 3 + + + maxcitenames + 3 + + + maxsortnames + 3 + + + maxitems + 3 + + + minalphanames + 1 + + + minbibnames + 1 + + + mincitenames + 1 + + + minsortnames + 1 + + + minitems + 1 + + + nohashothers + 0 + + + noroman + 0 + + + nosortothers + 0 + + + singletitle + 0 + + + skipbib + 0 + + + skipbiblist + 0 + + + skiplab + 0 + + + uniquelist + false + + + uniquename + false + + + uniqueprimaryauthor + 0 + + + uniquetitle + 0 + + + uniquebaretitle + 0 + + + uniquework + 0 + + + useprefix + 0 + + + useafterword + 1 + + + useannotator + 1 + + + useauthor + 1 + + + usebookauthor + 1 + + + usecommentator + 1 + + + useeditor + 1 + + + useeditora + 1 + + + useeditorb + 1 + + + useeditorc + 1 + + + useforeword + 1 + + + useholder + 1 + + + useintroduction + 1 + + + usenamea + 1 + + + usenameb + 1 + + + usenamec + 1 + + + usetranslator + 0 + + + useshortauthor + 1 + + + useshorteditor + 1 + + + + + datamodel + labelalphanametemplate + labelalphatemplate + inheritance + translit + uniquenametemplate + sortingnamekeytemplate + sortingtemplate + extradatespec + extradatecontext + labelnamespec + labeltitlespec + labeldatespec + controlversion + alphaothers + sortalphaothers + presort + texencoding + bibencoding + sortingtemplatename + sortlocale + language + autolang + langhook + indexing + hyperref + backrefsetstyle + block + pagetracker + citecounter + citetracker + ibidtracker + idemtracker + opcittracker + loccittracker + labeldate + labeltime + dateera + date + time + eventdate + eventtime + origdate + origtime + urldate + urltime + alldatesusetime + alldates + alltimes + gregorianstart + autocite + notetype + uniquelist + uniquename + refsection + refsegment + citereset + sortlos + babel + datelabel + backrefstyle + arxiv + familyinits + giveninits + prefixinits + suffixinits + useafterword + useannotator + useauthor + usebookauthor + usecommentator + useeditor + useeditora + useeditorb + useeditorc + useforeword + useholder + useintroduction + usenamea + usenameb + usenamec + usetranslator + useshortauthor + useshorteditor + debug + loadfiles + safeinputenc + sortcase + sortupper + terseinits + abbreviate + dateabbrev + clearlang + sortcites + sortsets + backref + backreffloats + trackfloats + parentracker + labeldateusetime + datecirca + dateuncertain + dateusetime + eventdateusetime + origdateusetime + urldateusetime + julian + datezeros + timezeros + timezones + seconds + autopunct + punctfont + labelnumber + labelalpha + labeltitle + labeltitleyear + labeldateparts + pluralothers + nohashothers + nosortothers + noroman + singletitle + uniquetitle + uniquebaretitle + uniquework + uniqueprimaryauthor + defernumbers + locallabelwidth + bibwarn + useprefix + skipbib + skipbiblist + skiplab + dataonly + defernums + firstinits + sortfirstinits + sortgiveninits + labelyear + isbn + url + doi + eprint + related + subentry + bibtexcaseprotection + mincrossrefs + minxrefs + maxnames + minnames + maxbibnames + minbibnames + maxcitenames + mincitenames + maxsortnames + minsortnames + maxitems + minitems + maxalphanames + minalphanames + maxparens + dateeraauto + + + alphaothers + sortalphaothers + presort + indexing + citetracker + ibidtracker + idemtracker + opcittracker + loccittracker + uniquelist + uniquename + familyinits + giveninits + prefixinits + suffixinits + useafterword + useannotator + useauthor + usebookauthor + usecommentator + useeditor + useeditora + useeditorb + useeditorc + useforeword + useholder + useintroduction + usenamea + usenameb + usenamec + usetranslator + useshortauthor + useshorteditor + terseinits + abbreviate + dateabbrev + clearlang + labelnumber + labelalpha + labeltitle + labeltitleyear + labeldateparts + nohashothers + nosortothers + noroman + singletitle + uniquetitle + uniquebaretitle + uniquework + uniqueprimaryauthor + useprefix + skipbib + skipbiblist + skiplab + dataonly + skiplos + labelyear + isbn + url + doi + eprint + related + subentry + bibtexcaseprotection + labelalphatemplate + translit + sortexclusion + sortinclusion + extradatecontext + labelnamespec + labeltitlespec + labeldatespec + maxnames + minnames + maxbibnames + minbibnames + maxcitenames + mincitenames + maxsortnames + minsortnames + maxitems + minitems + maxalphanames + minalphanames + + + noinherit + nametemplates + labelalphanametemplatename + uniquenametemplatename + sortingnamekeytemplatename + presort + indexing + citetracker + ibidtracker + idemtracker + opcittracker + loccittracker + uniquelist + uniquename + familyinits + giveninits + prefixinits + suffixinits + useafterword + useannotator + useauthor + usebookauthor + usecommentator + useeditor + useeditora + useeditorb + useeditorc + useforeword + useholder + useintroduction + usenamea + usenameb + usenamec + usetranslator + useshortauthor + useshorteditor + terseinits + abbreviate + dateabbrev + clearlang + labelnumber + labelalpha + labeltitle + labeltitleyear + labeldateparts + nohashothers + nosortothers + noroman + singletitle + uniquetitle + uniquebaretitle + uniquework + uniqueprimaryauthor + useprefix + skipbib + skipbiblist + skiplab + dataonly + skiplos + isbn + url + doi + eprint + related + subentry + bibtexcaseprotection + maxnames + minnames + maxbibnames + minbibnames + maxcitenames + mincitenames + maxsortnames + minsortnames + maxitems + minitems + maxalphanames + minalphanames + + + nametemplates + labelalphanametemplatename + uniquenametemplatename + sortingnamekeytemplatename + uniquelist + uniquename + familyinits + giveninits + prefixinits + suffixinits + terseinits + nohashothers + nosortothers + useprefix + + + nametemplates + labelalphanametemplatename + uniquenametemplatename + sortingnamekeytemplatename + uniquename + familyinits + giveninits + prefixinits + suffixinits + terseinits + useprefix + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + prefix + family + + + + + shorthand + label + labelname + labelname + + + year + + + + + + labelyear + year + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + prefix + family + given + + + + + prefix + family + + + given + + + suffix + + + prefix + + + mm + + + + sf,sm,sn,pf,pm,pn,pp + family,given,prefix,suffix + boolean,integer,string,xml + default,transliteration,transcription,translation + + + article + artwork + audio + bibnote + book + bookinbook + booklet + collection + commentary + customa + customb + customc + customd + custome + customf + dataset + inbook + incollection + inproceedings + inreference + image + jurisdiction + legal + legislation + letter + manual + misc + movie + music + mvcollection + mvreference + mvproceedings + mvbook + online + patent + performance + periodical + proceedings + reference + report + review + set + software + standard + suppbook + suppcollection + suppperiodical + thesis + unpublished + video + xdata + + + sortyear + volume + volumes + abstract + addendum + annotation + booksubtitle + booktitle + booktitleaddon + chapter + edition + eid + entrysubtype + eprintclass + eprinttype + eventtitle + eventtitleaddon + gender + howpublished + indexsorttitle + indextitle + isan + isbn + ismn + isrn + issn + issue + issuesubtitle + issuetitle + issuetitleaddon + iswc + journalsubtitle + journaltitle + journaltitleaddon + label + langid + langidopts + library + mainsubtitle + maintitle + maintitleaddon + nameaddon + note + number + origtitle + pagetotal + part + relatedstring + relatedtype + reprinttitle + series + shorthandintro + subtitle + title + titleaddon + usera + userb + userc + userd + usere + userf + venue + version + shorthand + shortjournal + shortseries + shorttitle + sorttitle + sortshorthand + sortkey + presort + institution + lista + listb + listc + listd + liste + listf + location + organization + origlocation + origpublisher + publisher + afterword + annotator + author + bookauthor + commentator + editor + editora + editorb + editorc + foreword + holder + introduction + namea + nameb + namec + translator + shortauthor + shorteditor + sortname + authortype + editoratype + editorbtype + editorctype + editortype + bookpagination + nameatype + namebtype + namectype + pagination + pubstate + type + language + origlanguage + crossref + xref + date + endyear + year + month + day + hour + minute + second + timezone + yeardivision + endmonth + endday + endhour + endminute + endsecond + endtimezone + endyeardivision + eventdate + eventendyear + eventyear + eventmonth + eventday + eventhour + eventminute + eventsecond + eventtimezone + eventyeardivision + eventendmonth + eventendday + eventendhour + eventendminute + eventendsecond + eventendtimezone + eventendyeardivision + origdate + origendyear + origyear + origmonth + origday + orighour + origminute + origsecond + origtimezone + origyeardivision + origendmonth + origendday + origendhour + origendminute + origendsecond + origendtimezone + origendyeardivision + urldate + urlendyear + urlyear + urlmonth + urlday + urlhour + urlminute + urlsecond + urltimezone + urlyeardivision + urlendmonth + urlendday + urlendhour + urlendminute + urlendsecond + urlendtimezone + urlendyeardivision + doi + eprint + file + verba + verbb + verbc + url + xdata + ids + entryset + related + keywords + options + relatedoptions + pages + execute + + + abstract + annotation + authortype + bookpagination + crossref + day + doi + eprint + eprintclass + eprinttype + endday + endhour + endminute + endmonth + endsecond + endtimezone + endyear + endyeardivision + entryset + entrysubtype + execute + file + gender + hour + ids + indextitle + indexsorttitle + isan + ismn + iswc + keywords + label + langid + langidopts + library + lista + listb + listc + listd + liste + listf + minute + month + namea + nameb + namec + nameatype + namebtype + namectype + nameaddon + options + origday + origendday + origendhour + origendminute + origendmonth + origendsecond + origendtimezone + origendyear + origendyeardivision + orighour + origminute + origmonth + origsecond + origtimezone + origyear + origyeardivision + origlocation + origpublisher + origtitle + pagination + presort + related + relatedoptions + relatedstring + relatedtype + second + shortauthor + shorteditor + shorthand + shorthandintro + shortjournal + shortseries + shorttitle + sortkey + sortname + sortshorthand + sorttitle + sortyear + timezone + url + urlday + urlendday + urlendhour + urlendminute + urlendmonth + urlendsecond + urlendtimezone + urlendyear + urlhour + urlminute + urlmonth + urlsecond + urltimezone + urlyear + usera + userb + userc + userd + usere + userf + verba + verbb + verbc + xdata + xref + year + yeardivision + + + set + entryset + + + article + addendum + annotator + author + commentator + editor + editora + editorb + editorc + editortype + editoratype + editorbtype + editorctype + eid + issn + issue + issuetitle + issuesubtitle + issuetitleaddon + journalsubtitle + journaltitle + journaltitleaddon + language + note + number + origlanguage + pages + pubstate + series + subtitle + title + titleaddon + translator + version + volume + + + bibnote + note + + + book + author + addendum + afterword + annotator + chapter + commentator + edition + editor + editora + editorb + editorc + editortype + editoratype + editorbtype + editorctype + eid + foreword + introduction + isbn + language + location + maintitle + maintitleaddon + mainsubtitle + note + number + origlanguage + pages + pagetotal + part + publisher + pubstate + series + subtitle + title + titleaddon + translator + volume + volumes + + + mvbook + addendum + afterword + annotator + author + commentator + edition + editor + editora + editorb + editorc + editortype + editoratype + editorbtype + editorctype + foreword + introduction + isbn + language + location + note + number + origlanguage + pagetotal + publisher + pubstate + series + subtitle + title + titleaddon + translator + volume + volumes + + + inbook + bookinbook + suppbook + addendum + afterword + annotator + author + booktitle + bookauthor + booksubtitle + booktitleaddon + chapter + commentator + edition + editor + editora + editorb + editorc + editortype + editoratype + editorbtype + editorctype + eid + foreword + introduction + isbn + language + location + mainsubtitle + maintitle + maintitleaddon + note + number + origlanguage + part + publisher + pages + pubstate + series + subtitle + title + titleaddon + translator + volume + volumes + + + booklet + addendum + author + chapter + editor + editortype + eid + howpublished + language + location + note + pages + pagetotal + pubstate + subtitle + title + titleaddon + type + + + collection + reference + addendum + afterword + annotator + chapter + commentator + edition + editor + editora + editorb + editorc + editortype + editoratype + editorbtype + editorctype + eid + foreword + introduction + isbn + language + location + mainsubtitle + maintitle + maintitleaddon + note + number + origlanguage + pages + pagetotal + part + publisher + pubstate + series + subtitle + title + titleaddon + translator + volume + volumes + + + mvcollection + mvreference + addendum + afterword + annotator + author + commentator + edition + editor + editora + editorb + editorc + editortype + editoratype + editorbtype + editorctype + foreword + introduction + isbn + language + location + note + number + origlanguage + publisher + pubstate + subtitle + title + titleaddon + translator + volume + volumes + + + incollection + suppcollection + inreference + addendum + afterword + annotator + author + booksubtitle + booktitle + booktitleaddon + chapter + commentator + edition + editor + editora + editorb + editorc + editortype + editoratype + editorbtype + editorctype + eid + foreword + introduction + isbn + language + location + mainsubtitle + maintitle + maintitleaddon + note + number + origlanguage + pages + part + publisher + pubstate + series + subtitle + title + titleaddon + translator + volume + volumes + + + dataset + addendum + author + edition + editor + editortype + language + location + note + number + organization + publisher + pubstate + series + subtitle + title + titleaddon + type + version + + + manual + addendum + author + chapter + edition + editor + editortype + eid + isbn + language + location + note + number + organization + pages + pagetotal + publisher + pubstate + series + subtitle + title + titleaddon + type + version + + + misc + software + addendum + author + editor + editortype + howpublished + language + location + note + organization + pubstate + subtitle + title + titleaddon + type + version + + + online + addendum + author + editor + editortype + language + note + organization + pubstate + subtitle + title + titleaddon + version + + + patent + addendum + author + holder + location + note + number + pubstate + subtitle + title + titleaddon + type + version + + + periodical + addendum + editor + editora + editorb + editorc + editortype + editoratype + editorbtype + editorctype + issn + issue + issuesubtitle + issuetitle + issuetitleaddon + language + note + number + pubstate + series + subtitle + title + titleaddon + volume + yeardivision + + + mvproceedings + addendum + editor + editortype + eventday + eventendday + eventendhour + eventendminute + eventendmonth + eventendsecond + eventendtimezone + eventendyear + eventendyeardivision + eventhour + eventminute + eventmonth + eventsecond + eventtimezone + eventyear + eventyeardivision + eventtitle + eventtitleaddon + isbn + language + location + note + number + organization + pagetotal + publisher + pubstate + series + subtitle + title + titleaddon + venue + volumes + + + proceedings + addendum + chapter + editor + editortype + eid + eventday + eventendday + eventendhour + eventendminute + eventendmonth + eventendsecond + eventendtimezone + eventendyear + eventendyeardivision + eventhour + eventminute + eventmonth + eventsecond + eventtimezone + eventyear + eventyeardivision + eventtitle + eventtitleaddon + isbn + language + location + mainsubtitle + maintitle + maintitleaddon + note + number + organization + pages + pagetotal + part + publisher + pubstate + series + subtitle + title + titleaddon + venue + volume + volumes + + + inproceedings + addendum + author + booksubtitle + booktitle + booktitleaddon + chapter + editor + editortype + eid + eventday + eventendday + eventendhour + eventendminute + eventendmonth + eventendsecond + eventendtimezone + eventendyear + eventendyeardivision + eventhour + eventminute + eventmonth + eventsecond + eventtimezone + eventyear + eventyeardivision + eventtitle + eventtitleaddon + isbn + language + location + mainsubtitle + maintitle + maintitleaddon + note + number + organization + pages + part + publisher + pubstate + series + subtitle + title + titleaddon + venue + volume + volumes + + + report + addendum + author + chapter + eid + institution + isrn + language + location + note + number + pages + pagetotal + pubstate + subtitle + title + titleaddon + type + version + + + thesis + addendum + author + chapter + eid + institution + language + location + note + pages + pagetotal + pubstate + subtitle + title + titleaddon + type + + + unpublished + addendum + author + eventday + eventendday + eventendhour + eventendminute + eventendmonth + eventendsecond + eventendtimezone + eventendyear + eventendyeardivision + eventhour + eventminute + eventmonth + eventsecond + eventtimezone + eventyear + eventyeardivision + eventtitle + eventtitleaddon + howpublished + language + location + note + pubstate + subtitle + title + titleaddon + type + venue + + + abstract + addendum + afterword + annotator + author + bookauthor + booksubtitle + booktitle + booktitleaddon + chapter + commentator + editor + editora + editorb + editorc + foreword + holder + institution + introduction + issuesubtitle + issuetitle + issuetitleaddon + journalsubtitle + journaltitle + journaltitleaddon + location + mainsubtitle + maintitle + maintitleaddon + nameaddon + note + organization + origlanguage + origlocation + origpublisher + origtitle + part + publisher + relatedstring + series + shortauthor + shorteditor + shorthand + shortjournal + shortseries + shorttitle + sortname + sortshorthand + sorttitle + subtitle + title + titleaddon + translator + venue + + + article + book + inbook + bookinbook + suppbook + booklet + collection + incollection + suppcollection + manual + misc + mvbook + mvcollection + online + patent + periodical + suppperiodical + proceedings + inproceedings + reference + inreference + report + set + thesis + unpublished + + + date + year + + + + + set + + entryset + + + + article + + author + journaltitle + title + + + + book + mvbook + + author + title + + + + inbook + bookinbook + suppbook + + author + title + booktitle + + + + booklet + + + author + editor + + title + + + + collection + reference + mvcollection + mvreference + + editor + title + + + + incollection + suppcollection + inreference + + author + editor + title + booktitle + + + + dataset + + title + + + + manual + + title + + + + misc + software + + title + + + + online + + title + + url + doi + eprint + + + + + patent + + author + title + number + + + + periodical + + editor + title + + + + proceedings + mvproceedings + + title + + + + inproceedings + + author + title + booktitle + + + + report + + author + title + type + institution + + + + thesis + + author + title + type + institution + + + + unpublished + + author + title + + + + + isbn + + + issn + + + ismn + + + gender + + + + + + + bibliographie.bib + + + buckley_java_2004 + gosling_java_2005 + cimadamore_jep_2011 + cimadamore_jep_2011 + oracle_type_nodate + oracle_type_nodate + oracle_type_nodate + darcy_java_2010 + gosling_java_2014 + oracle_type_nodate + darcy_jep_2011 + gosling_java_2014 + goetz_jep_2016 + goetz_jep_2016 + goetz_jep_2016 + thompson_haskell_2011 + marlow_haskell_2010 + pierce_types_2002 + marlow_haskell_2010 + vandevoorde_c_2010 + noauthor_openjdk_nodate + goetz_java_2010 + gosling_java_2014 + gosling_java_2014 + goos_variance-based_2002 + plumicke_java-tx_2022 + naftalin_java_2007 + naftalin_java_2007 + piquerez_variances_nodate + wagner_creating_2021 + plumicke_java-tx_2022 + plumicke_introducing_2017 + stallman_gnu_2004 + stallman_gnu_2004 + stallman_gnu_2004 + stallman_gnu_2004 + stallman_gnu_2004 + stallman_gnu_2004 + stallman_gnu_2004 + stallman_gnu_2004 + jetbrains_java_2023 + noauthor_openjdk_nodate-1 + noauthor_gcc--cxx_nodate + stallman_using_2024 + terry_compilers_1997 + plumicke_java-tx_2022 + noauthor_maven_nodate + stallman_gnu_2004 + stallman_gnu_2004 + stallman_gnu_2004 + stallman_gnu_2004 + stallman_gnu_2004 + noauthor_for-each_nodate + baeldung_class_2024 + baeldung_class_2024 + nero_all_2023 + nero_all_2023 + nero_all_2023 + plumicke_introducing_2017 + baeldung_java_2016 + softwarealchemy_streamline_2024 + naftalin_java_2007 + naftalin_java_2007 + naftalin_java_2007 + gosling_java_2005 + plumicke_java-tx_2022 + plumicke_java-tx_2022 + noauthor_java_nodate-2 + noauthor_java_nodate-2 + noauthor_for-each_nodate + naftalin_java_2007 + stadelmeier_java_2015 + plumicke_java-tx_2022 + noauthor_raw_nodate + naftalin_java_2007 + noauthor_string_nodate + + + + + presort + + + sortkey + + + sortname + author + editor + translator + sorttitle + title + + + sorttitle + title + + + sortyear + year + + + volume + 0 + + + + + + diff --git a/Studienarbeit/main.bcf-SAVE-ERROR b/Studienarbeit/main.bcf-SAVE-ERROR new file mode 100644 index 0000000..9b9eaec --- /dev/null +++ b/Studienarbeit/main.bcf-SAVE-ERROR @@ -0,0 +1,2399 @@ + + + + + + output_encoding + utf8 + + + input_encoding + utf8 + + + debug + 0 + + + mincrossrefs + 2 + + + minxrefs + 2 + + + sortcase + 1 + + + sortupper + 1 + + + + + + + alphaothers + + + + + extradatecontext + labelname + labeltitle + + + labelalpha + 0 + + + labelnamespec + shortauthor + author + shorteditor + editor + translator + + + labeltitle + 0 + + + labeltitlespec + shorttitle + title + maintitle + + + labeltitleyear + 0 + + + labeldateparts + 0 + + + labeldatespec + date + year + eventdate + origdate + urldate + nodate + + + julian + 0 + + + gregorianstart + 1582-10-15 + + + maxalphanames + 3 + + + maxbibnames + 3 + + + maxcitenames + 3 + + + maxsortnames + 3 + + + maxitems + 3 + + + minalphanames + 1 + + + minbibnames + 1 + + + mincitenames + 1 + + + minsortnames + 1 + + + minitems + 1 + + + nohashothers + 0 + + + noroman + 0 + + + nosortothers + 0 + + + pluralothers + 0 + + + singletitle + 0 + + + skipbib + 0 + + + skipbiblist + 0 + + + skiplab + 0 + + + sortalphaothers + + + + + sortlocale + de_DE + + + sortingtemplatename + nty + + + sortsets + 0 + + + uniquelist + false + + + uniquename + false + + + uniqueprimaryauthor + 0 + + + uniquetitle + 0 + + + uniquebaretitle + 0 + + + uniquework + 0 + + + useprefix + 0 + + + useafterword + 1 + + + useannotator + 1 + + + useauthor + 1 + + + usebookauthor + 1 + + + usecommentator + 1 + + + useeditor + 1 + + + useeditora + 1 + + + useeditorb + 1 + + + useeditorc + 1 + + + useforeword + 1 + + + useholder + 1 + + + useintroduction + 1 + + + usenamea + 1 + + + usenameb + 1 + + + usenamec + 1 + + + usetranslator + 0 + + + useshortauthor + 1 + + + useshorteditor + 1 + + + + + + extradatecontext + labelname + labeltitle + + + labelalpha + 0 + + + labelnamespec + shortauthor + author + shorteditor + editor + translator + + + labeltitle + 0 + + + labeltitlespec + shorttitle + title + maintitle + + + labeltitleyear + 0 + + + labeldateparts + 0 + + + labeldatespec + date + year + eventdate + origdate + urldate + nodate + + + maxalphanames + 3 + + + maxbibnames + 3 + + + maxcitenames + 3 + + + maxsortnames + 3 + + + maxitems + 3 + + + minalphanames + 1 + + + minbibnames + 1 + + + mincitenames + 1 + + + minsortnames + 1 + + + minitems + 1 + + + nohashothers + 0 + + + noroman + 0 + + + nosortothers + 0 + + + singletitle + 0 + + + skipbib + 0 + + + skipbiblist + 0 + + + skiplab + 0 + + + uniquelist + false + + + uniquename + false + + + uniqueprimaryauthor + 0 + + + uniquetitle + 0 + + + uniquebaretitle + 0 + + + uniquework + 0 + + + useprefix + 0 + + + useafterword + 1 + + + useannotator + 1 + + + useauthor + 1 + + + usebookauthor + 1 + + + usecommentator + 1 + + + useeditor + 1 + + + useeditora + 1 + + + useeditorb + 1 + + + useeditorc + 1 + + + useforeword + 1 + + + useholder + 1 + + + useintroduction + 1 + + + usenamea + 1 + + + usenameb + 1 + + + usenamec + 1 + + + usetranslator + 0 + + + useshortauthor + 1 + + + useshorteditor + 1 + + + + + datamodel + labelalphanametemplate + labelalphatemplate + inheritance + translit + uniquenametemplate + namehashtemplate + sortingnamekeytemplate + sortingtemplate + extradatespec + extradatecontext + labelnamespec + labeltitlespec + labeldatespec + controlversion + alphaothers + sortalphaothers + presort + texencoding + bibencoding + sortingtemplatename + sortlocale + language + autolang + langhook + indexing + hyperref + backrefsetstyle + block + pagetracker + citecounter + citetracker + ibidtracker + idemtracker + opcittracker + loccittracker + labeldate + labeltime + dateera + date + time + eventdate + eventtime + origdate + origtime + urldate + urltime + alldatesusetime + alldates + alltimes + gregorianstart + autocite + notetype + uniquelist + uniquename + refsection + refsegment + citereset + sortlos + babel + datelabel + backrefstyle + arxiv + familyinits + giveninits + prefixinits + suffixinits + useafterword + useannotator + useauthor + usebookauthor + usecommentator + useeditor + useeditora + useeditorb + useeditorc + useforeword + useholder + useintroduction + usenamea + usenameb + usenamec + usetranslator + useshortauthor + useshorteditor + debug + loadfiles + safeinputenc + sortcase + sortupper + terseinits + abbreviate + dateabbrev + clearlang + sortcites + sortsets + backref + backreffloats + trackfloats + parentracker + labeldateusetime + datecirca + dateuncertain + dateusetime + eventdateusetime + origdateusetime + urldateusetime + julian + datezeros + timezeros + timezones + seconds + autopunct + punctfont + labelnumber + labelalpha + labeltitle + labeltitleyear + labeldateparts + pluralothers + nohashothers + nosortothers + noroman + singletitle + uniquetitle + uniquebaretitle + uniquework + uniqueprimaryauthor + defernumbers + locallabelwidth + bibwarn + useprefix + skipbib + skipbiblist + skiplab + dataonly + defernums + firstinits + sortfirstinits + sortgiveninits + labelyear + isbn + url + doi + eprint + related + subentry + bibtexcaseprotection + mincrossrefs + minxrefs + maxnames + minnames + maxbibnames + minbibnames + maxcitenames + mincitenames + maxsortnames + minsortnames + maxitems + minitems + maxalphanames + minalphanames + maxparens + dateeraauto + + + alphaothers + sortalphaothers + presort + indexing + citetracker + ibidtracker + idemtracker + opcittracker + loccittracker + uniquelist + uniquename + familyinits + giveninits + prefixinits + suffixinits + useafterword + useannotator + useauthor + usebookauthor + usecommentator + useeditor + useeditora + useeditorb + useeditorc + useforeword + useholder + useintroduction + usenamea + usenameb + usenamec + usetranslator + useshortauthor + useshorteditor + terseinits + abbreviate + dateabbrev + clearlang + labelnumber + labelalpha + labeltitle + labeltitleyear + labeldateparts + nohashothers + nosortothers + noroman + singletitle + uniquetitle + uniquebaretitle + uniquework + uniqueprimaryauthor + useprefix + skipbib + skipbiblist + skiplab + dataonly + skiplos + labelyear + isbn + url + doi + eprint + related + subentry + bibtexcaseprotection + labelalphatemplate + translit + sortexclusion + sortinclusion + extradatecontext + labelnamespec + labeltitlespec + labeldatespec + maxnames + minnames + maxbibnames + minbibnames + maxcitenames + mincitenames + maxsortnames + minsortnames + maxitems + minitems + maxalphanames + minalphanames + + + noinherit + nametemplates + labelalphanametemplatename + uniquenametemplatename + namehashtemplatename + sortingnamekeytemplatename + presort + indexing + citetracker + ibidtracker + idemtracker + opcittracker + loccittracker + uniquelist + uniquename + familyinits + giveninits + prefixinits + suffixinits + useafterword + useannotator + useauthor + usebookauthor + usecommentator + useeditor + useeditora + useeditorb + useeditorc + useforeword + useholder + useintroduction + usenamea + usenameb + usenamec + usetranslator + useshortauthor + useshorteditor + terseinits + abbreviate + dateabbrev + clearlang + labelnumber + labelalpha + labeltitle + labeltitleyear + labeldateparts + nohashothers + nosortothers + noroman + singletitle + uniquetitle + uniquebaretitle + uniquework + uniqueprimaryauthor + useprefix + skipbib + skipbiblist + skiplab + dataonly + skiplos + isbn + url + doi + eprint + related + subentry + bibtexcaseprotection + maxnames + minnames + maxbibnames + minbibnames + maxcitenames + mincitenames + maxsortnames + minsortnames + maxitems + minitems + maxalphanames + minalphanames + + + nametemplates + labelalphanametemplatename + uniquenametemplatename + namehashtemplatename + sortingnamekeytemplatename + uniquelist + uniquename + familyinits + giveninits + prefixinits + suffixinits + terseinits + nohashothers + nosortothers + useprefix + + + nametemplates + labelalphanametemplatename + uniquenametemplatename + namehashtemplatename + sortingnamekeytemplatename + uniquename + familyinits + giveninits + prefixinits + suffixinits + terseinits + useprefix + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + prefix + family + + + + + shorthand + label + labelname + labelname + + + year + + + + + + labelyear + year + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + prefix + family + given + + + + family + given + prefix + suffix + + + + + prefix + family + + + given + + + suffix + + + prefix + + + mm + + + + sf,sm,sn,pf,pm,pn,pp + family,given,prefix,suffix + boolean,integer,string,xml + default,transliteration,transcription,translation + + + article + artwork + audio + bibnote + book + bookinbook + booklet + collection + commentary + customa + customb + customc + customd + custome + customf + dataset + inbook + incollection + inproceedings + inreference + image + jurisdiction + legal + legislation + letter + manual + misc + movie + music + mvcollection + mvreference + mvproceedings + mvbook + online + patent + performance + periodical + proceedings + reference + report + review + set + software + standard + suppbook + suppcollection + suppperiodical + thesis + unpublished + video + xdata + + + sortyear + volume + volumes + abstract + addendum + annotation + booksubtitle + booktitle + booktitleaddon + chapter + edition + eid + entrysubtype + eprintclass + eprinttype + eventtitle + eventtitleaddon + gender + howpublished + indexsorttitle + indextitle + isan + isbn + ismn + isrn + issn + issue + issuesubtitle + issuetitle + issuetitleaddon + iswc + journalsubtitle + journaltitle + journaltitleaddon + label + langid + langidopts + library + mainsubtitle + maintitle + maintitleaddon + nameaddon + note + number + origtitle + pagetotal + part + relatedstring + relatedtype + reprinttitle + series + shorthandintro + subtitle + title + titleaddon + usera + userb + userc + userd + usere + userf + venue + version + shorthand + shortjournal + shortseries + shorttitle + sorttitle + sortshorthand + sortkey + presort + institution + lista + listb + listc + listd + liste + listf + location + organization + origlocation + origpublisher + publisher + afterword + annotator + author + bookauthor + commentator + editor + editora + editorb + editorc + foreword + holder + introduction + namea + nameb + namec + translator + shortauthor + shorteditor + sortname + authortype + editoratype + editorbtype + editorctype + editortype + bookpagination + nameatype + namebtype + namectype + pagination + pubstate + type + language + origlanguage + crossref + xref + date + endyear + year + month + day + hour + minute + second + timezone + yeardivision + endmonth + endday + endhour + endminute + endsecond + endtimezone + endyeardivision + eventdate + eventendyear + eventyear + eventmonth + eventday + eventhour + eventminute + eventsecond + eventtimezone + eventyeardivision + eventendmonth + eventendday + eventendhour + eventendminute + eventendsecond + eventendtimezone + eventendyeardivision + origdate + origendyear + origyear + origmonth + origday + orighour + origminute + origsecond + origtimezone + origyeardivision + origendmonth + origendday + origendhour + origendminute + origendsecond + origendtimezone + origendyeardivision + urldate + urlendyear + urlyear + urlmonth + urlday + urlhour + urlminute + urlsecond + urltimezone + urlyeardivision + urlendmonth + urlendday + urlendhour + urlendminute + urlendsecond + urlendtimezone + urlendyeardivision + doi + eprint + file + verba + verbb + verbc + url + xdata + ids + entryset + related + keywords + options + relatedoptions + pages + execute + + + abstract + annotation + authortype + bookpagination + crossref + day + doi + eprint + eprintclass + eprinttype + endday + endhour + endminute + endmonth + endsecond + endtimezone + endyear + endyeardivision + entryset + entrysubtype + execute + file + gender + hour + ids + indextitle + indexsorttitle + isan + ismn + iswc + keywords + label + langid + langidopts + library + lista + listb + listc + listd + liste + listf + minute + month + namea + nameb + namec + nameatype + namebtype + namectype + nameaddon + options + origday + origendday + origendhour + origendminute + origendmonth + origendsecond + origendtimezone + origendyear + origendyeardivision + orighour + origminute + origmonth + origsecond + origtimezone + origyear + origyeardivision + origlocation + origpublisher + origtitle + pagination + presort + related + relatedoptions + relatedstring + relatedtype + second + shortauthor + shorteditor + shorthand + shorthandintro + shortjournal + shortseries + shorttitle + sortkey + sortname + sortshorthand + sorttitle + sortyear + timezone + url + urlday + urlendday + urlendhour + urlendminute + urlendmonth + urlendsecond + urlendtimezone + urlendyear + urlhour + urlminute + urlmonth + urlsecond + urltimezone + urlyear + usera + userb + userc + userd + usere + userf + verba + verbb + verbc + xdata + xref + year + yeardivision + + + set + entryset + + + article + addendum + annotator + author + commentator + editor + editora + editorb + editorc + editortype + editoratype + editorbtype + editorctype + eid + issn + issue + issuetitle + issuesubtitle + issuetitleaddon + journalsubtitle + journaltitle + journaltitleaddon + language + note + number + origlanguage + pages + pubstate + series + subtitle + title + titleaddon + translator + version + volume + + + bibnote + note + + + book + author + addendum + afterword + annotator + chapter + commentator + edition + editor + editora + editorb + editorc + editortype + editoratype + editorbtype + editorctype + eid + foreword + introduction + isbn + language + location + maintitle + maintitleaddon + mainsubtitle + note + number + origlanguage + pages + pagetotal + part + publisher + pubstate + series + subtitle + title + titleaddon + translator + volume + volumes + + + mvbook + addendum + afterword + annotator + author + commentator + edition + editor + editora + editorb + editorc + editortype + editoratype + editorbtype + editorctype + foreword + introduction + isbn + language + location + note + number + origlanguage + pagetotal + publisher + pubstate + series + subtitle + title + titleaddon + translator + volume + volumes + + + inbook + bookinbook + suppbook + addendum + afterword + annotator + author + booktitle + bookauthor + booksubtitle + booktitleaddon + chapter + commentator + edition + editor + editora + editorb + editorc + editortype + editoratype + editorbtype + editorctype + eid + foreword + introduction + isbn + language + location + mainsubtitle + maintitle + maintitleaddon + note + number + origlanguage + part + publisher + pages + pubstate + series + subtitle + title + titleaddon + translator + volume + volumes + + + booklet + addendum + author + chapter + editor + editortype + eid + howpublished + language + location + note + pages + pagetotal + pubstate + subtitle + title + titleaddon + type + + + collection + reference + addendum + afterword + annotator + chapter + commentator + edition + editor + editora + editorb + editorc + editortype + editoratype + editorbtype + editorctype + eid + foreword + introduction + isbn + language + location + mainsubtitle + maintitle + maintitleaddon + note + number + origlanguage + pages + pagetotal + part + publisher + pubstate + series + subtitle + title + titleaddon + translator + volume + volumes + + + mvcollection + mvreference + addendum + afterword + annotator + author + commentator + edition + editor + editora + editorb + editorc + editortype + editoratype + editorbtype + editorctype + foreword + introduction + isbn + language + location + note + number + origlanguage + publisher + pubstate + subtitle + title + titleaddon + translator + volume + volumes + + + incollection + suppcollection + inreference + addendum + afterword + annotator + author + booksubtitle + booktitle + booktitleaddon + chapter + commentator + edition + editor + editora + editorb + editorc + editortype + editoratype + editorbtype + editorctype + eid + foreword + introduction + isbn + language + location + mainsubtitle + maintitle + maintitleaddon + note + number + origlanguage + pages + part + publisher + pubstate + series + subtitle + title + titleaddon + translator + volume + volumes + + + dataset + addendum + author + edition + editor + editortype + language + location + note + number + organization + publisher + pubstate + series + subtitle + title + titleaddon + type + version + + + manual + addendum + author + chapter + edition + editor + editortype + eid + isbn + language + location + note + number + organization + pages + pagetotal + publisher + pubstate + series + subtitle + title + titleaddon + type + version + + + misc + software + addendum + author + editor + editortype + howpublished + language + location + note + organization + pubstate + subtitle + title + titleaddon + type + version + + + online + addendum + author + editor + editortype + language + note + organization + pubstate + subtitle + title + titleaddon + version + + + patent + addendum + author + holder + location + note + number + pubstate + subtitle + title + titleaddon + type + version + + + periodical + addendum + editor + editora + editorb + editorc + editortype + editoratype + editorbtype + editorctype + issn + issue + issuesubtitle + issuetitle + issuetitleaddon + language + note + number + pubstate + series + subtitle + title + titleaddon + volume + yeardivision + + + mvproceedings + addendum + editor + editortype + eventday + eventendday + eventendhour + eventendminute + eventendmonth + eventendsecond + eventendtimezone + eventendyear + eventendyeardivision + eventhour + eventminute + eventmonth + eventsecond + eventtimezone + eventyear + eventyeardivision + eventtitle + eventtitleaddon + isbn + language + location + note + number + organization + pagetotal + publisher + pubstate + series + subtitle + title + titleaddon + venue + volumes + + + proceedings + addendum + chapter + editor + editortype + eid + eventday + eventendday + eventendhour + eventendminute + eventendmonth + eventendsecond + eventendtimezone + eventendyear + eventendyeardivision + eventhour + eventminute + eventmonth + eventsecond + eventtimezone + eventyear + eventyeardivision + eventtitle + eventtitleaddon + isbn + language + location + mainsubtitle + maintitle + maintitleaddon + note + number + organization + pages + pagetotal + part + publisher + pubstate + series + subtitle + title + titleaddon + venue + volume + volumes + + + inproceedings + addendum + author + booksubtitle + booktitle + booktitleaddon + chapter + editor + editortype + eid + eventday + eventendday + eventendhour + eventendminute + eventendmonth + eventendsecond + eventendtimezone + eventendyear + eventendyeardivision + eventhour + eventminute + eventmonth + eventsecond + eventtimezone + eventyear + eventyeardivision + eventtitle + eventtitleaddon + isbn + language + location + mainsubtitle + maintitle + maintitleaddon + note + number + organization + pages + part + publisher + pubstate + series + subtitle + title + titleaddon + venue + volume + volumes + + + report + addendum + author + chapter + eid + institution + isrn + language + location + note + number + pages + pagetotal + pubstate + subtitle + title + titleaddon + type + version + + + thesis + addendum + author + chapter + eid + institution + language + location + note + pages + pagetotal + pubstate + subtitle + title + titleaddon + type + + + unpublished + addendum + author + eventday + eventendday + eventendhour + eventendminute + eventendmonth + eventendsecond + eventendtimezone + eventendyear + eventendyeardivision + eventhour + eventminute + eventmonth + eventsecond + eventtimezone + eventyear + eventyeardivision + eventtitle + eventtitleaddon + howpublished + language + location + note + pubstate + subtitle + title + titleaddon + type + venue + + + abstract + addendum + afterword + annotator + author + bookauthor + booksubtitle + booktitle + booktitleaddon + chapter + commentator + editor + editora + editorb + editorc + foreword + holder + institution + introduction + issuesubtitle + issuetitle + issuetitleaddon + journalsubtitle + journaltitle + journaltitleaddon + location + mainsubtitle + maintitle + maintitleaddon + nameaddon + note + organization + origlanguage + origlocation + origpublisher + origtitle + part + publisher + relatedstring + series + shortauthor + shorteditor + shorthand + shortjournal + shortseries + shorttitle + sortname + sortshorthand + sorttitle + subtitle + title + titleaddon + translator + venue + + + article + book + inbook + bookinbook + suppbook + booklet + collection + incollection + suppcollection + manual + misc + mvbook + mvcollection + online + patent + periodical + suppperiodical + proceedings + inproceedings + reference + inreference + report + set + thesis + unpublished + + + date + year + + + + + set + + entryset + + + + article + + author + journaltitle + title + + + + book + mvbook + + author + title + + + + inbook + bookinbook + suppbook + + author + title + booktitle + + + + booklet + + + author + editor + + title + + + + collection + reference + mvcollection + mvreference + + editor + title + + + + incollection + suppcollection + inreference + + author + editor + title + booktitle + + + + dataset + + title + + + + manual + + title + + + + misc + software + + title + + + + online + + title + + url + doi + eprint + + + + + patent + + author + title + number + + + + periodical + + editor + title + + + + proceedings + mvproceedings + + title + + + + inproceedings + + author + title + booktitle + + + + report + + author + title + type + institution + + + + thesis + + author + title + type + institution + + + + unpublished + + author + title + + + + + isbn + + + issn + + + ismn + + + gender + + + + + + + bibliographie.bib + + + buckley_java_2004 + gosling_java_2005 + cimadamore_jep_2011 + cimadamore_jep_2011 + oracle_type_nodate + oracle_type_nodate + oracle_type_nodate + darcy_java_2010 + gosling_java_2014 + oracle_type_nodate + darcy_jep_2011 + gosling_java_2014 + goetz_jep_2016 + goetz_jep_2016 + goetz_jep_2016 + thompson_haskell_2011 + marlow_haskell_2010 + pierce_types_2002 + marlow_haskell_2010 + vandevoorde_c_2010 + noauthor_openjdk_nodate + goetz_java_2010 + gosling_java_2014 + gosling_java_2014 + goos_variance-based_2002 diff --git a/Studienarbeit/main.blg b/Studienarbeit/main.blg new file mode 100644 index 0000000..a5965ac --- /dev/null +++ b/Studienarbeit/main.blg @@ -0,0 +1,18 @@ +[0] Config.pm:307> INFO - This is Biber 2.19 +[0] Config.pm:310> INFO - Logfile is 'main.blg' +[36] biber:340> INFO - === Sa Jul 20, 2024, 00:51:17 +[44] Biber.pm:419> INFO - Reading 'main.bcf' +[77] Biber.pm:979> INFO - Found 36 citekeys in bib section 0 +[84] Biber.pm:4419> INFO - Processing section 0 +[90] Biber.pm:4610> INFO - Looking for bibtex file 'bibliographie.bib' for section 0 +[91] bibtex.pm:1713> INFO - LaTeX decoding ... +[116] bibtex.pm:1519> INFO - Found BibTeX data source 'bibliographie.bib' +[217] UCollate.pm:68> INFO - Overriding locale 'de_DE' defaults 'variable = shifted' with 'variable = non-ignorable' +[217] UCollate.pm:68> INFO - Overriding locale 'de_DE' defaults 'normalization = NFD' with 'normalization = prenormalized' +[217] Biber.pm:4239> INFO - Sorting list 'nty/global//global/global' of type 'entry' with template 'nty' and locale 'de_DE' +[217] Biber.pm:4245> INFO - No sort tailoring available for locale 'de_DE' +[232] bbl.pm:660> INFO - Writing 'main.bbl' with encoding 'UTF-8' +[237] bbl.pm:763> INFO - Output to main.bbl +[237] Biber.pm:131> WARN - ISBN '978-0-201-73484-2' in entry 'vandevoorde_c_2010' is invalid - run biber with '--validate_datamodel' for details. +[237] Biber.pm:131> WARN - ISBN '978-3-540-43759-8 978-3-540-47993-2' in entry 'goos_variance-based_2002' is invalid - run biber with '--validate_datamodel' for details. +[237] Biber.pm:133> INFO - WARNINGS: 2 diff --git a/Studienarbeit/main.fdb_latexmk b/Studienarbeit/main.fdb_latexmk new file mode 100644 index 0000000..f3ce677 --- /dev/null +++ b/Studienarbeit/main.fdb_latexmk @@ -0,0 +1,443 @@ +# Fdb version 4 +["biber main"] 1721429476.80255 "main.bcf" "main.bbl" "main" 1721429638.87764 0 + "bibliographie.bib" 1721429458.02486 31508 248061fe38473db4a060ca6fe38336c5 "" + "main.bcf" 1721429638.72638 113385 325f3e28f19435901a1a53123e38c7a4 "pdflatex" + (generated) + "main.bbl" + "main.blg" + (rewritten before read) +["pdflatex"] 1721429635.51593 "main.tex" "main.pdf" "main" 1721429638.87788 0 + "/usr/share/texmf-dist/fonts/enc/dvips/fontawesome5/fa5brands0.enc" 1716849630 2920 d63721872b8c77041b88e51b8f7c291d "" + "/usr/share/texmf-dist/fonts/enc/dvips/fontawesome5/fa5free1.enc" 1716849630 3042 0e2b14b9be7d01075a4c4591d5d1781b "" + "/usr/share/texmf-dist/fonts/enc/dvips/lm/lm-ec.enc" 1716849630 2375 baa924870cfb487815765f9094cf3728 "" + "/usr/share/texmf-dist/fonts/enc/dvips/lm/lm-mathex.enc" 1716849630 3486 c7eadf5dcc57b3b2d11736679f6636ba "" + "/usr/share/texmf-dist/fonts/enc/dvips/lm/lm-mathit.enc" 1716849630 2405 5dcf2c1b967ee25cc46c58cd52244aed "" + "/usr/share/texmf-dist/fonts/enc/dvips/lm/lm-mathsy.enc" 1716849630 2840 216e6e45ad352e2456e1149f28885bee "" + "/usr/share/texmf-dist/fonts/enc/dvips/lm/lm-rm.enc" 1716849630 2327 9d6df24f9c4f7368395224341a95523a "" + "/usr/share/texmf-dist/fonts/enc/dvips/lm/lm-ts1.enc" 1716849630 3031 6c4d3515bf7115d8518af1c9ab97ca44 "" + "/usr/share/texmf-dist/fonts/map/fontname/texfonts.map" 1716849630 3524 cb3e574dea2d1052e39280babc910dc8 "" + "/usr/share/texmf-dist/fonts/tfm/jknappen/ec/ecrm1200.tfm" 1716849630 3584 f80ddd985bd00e29e9a6047ebd9d4781 "" + "/usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm" 1716849630 916 f87d7c45f9c908e672703b83b72241a3 "" + "/usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam5.tfm" 1716849630 924 9904cf1d39e9767e7a3622f2a125a565 "" + "/usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam7.tfm" 1716849630 928 2dc8d444221b7a635bb58038579b861a "" + "/usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm" 1716849630 908 2921f8a10601f252058503cc6570e581 "" + "/usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm5.tfm" 1716849630 940 75ac932a52f80982a9f8ea75d03a34cf "" + "/usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm7.tfm" 1716849630 940 228d6584342e91276bf566bcf9716b83 "" + "/usr/share/texmf-dist/fonts/tfm/public/cm/cmr12.tfm" 1716849630 1288 655e228510b4c2a1abe905c368440826 "" + "/usr/share/texmf-dist/fonts/tfm/public/fontawesome5/fa5brands0.tfm" 1716849630 1380 a61d7c2860b3f6d342213a6b9b229e9e "" + "/usr/share/texmf-dist/fonts/tfm/public/fontawesome5/fa5free1solid.tfm" 1716849630 1316 1c2ee668ea88be9bd4f39690662cc344 "" + "/usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmbx12.tfm" 1716849630 12088 d750ac78274fa7c9f73ba09914c04f8a "" + "/usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmcsc10.tfm" 1716849630 11276 116dd5bea6621ce4a1999f96d876084c "" + "/usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmr10.tfm" 1716849630 12056 7e13df7fe4cbce21b072ba7c4f4deb6e "" + "/usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmr12.tfm" 1716849630 12092 7b1546e2d096cfd5dcbd4049b0b1ec2e "" + "/usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmr17.tfm" 1716849630 12156 ca1ae6a3c8564e89597f1f993fba1608 "" + "/usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmr6.tfm" 1716849630 12048 c1068d0f4772be9b0ec447692e1d6d82 "" + "/usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmr7.tfm" 1716849630 12064 09aa3eeac96bf141d673bb1b0385ce55 "" + "/usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmr8.tfm" 1716849630 12064 a35db870f0b76c338d749c56dc030ef5 "" + "/usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmri12.tfm" 1716849630 17144 271aaf9ebb339934b04110dc5211fba4 "" + "/usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmro12.tfm" 1716849630 12216 265ff4deab161a560d37046d13363b8c "" + "/usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmss12.tfm" 1716849630 11232 955a7245396175d9219648eadc654ac9 "" + "/usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmssbx10.tfm" 1716849630 11168 06d87f5698fd1b642d96449b7c8d90b0 "" + "/usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmtt10.tfm" 1716849630 1372 2ef2c2b492b3c4cd7879fe083abbb061 "" + "/usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmtt12.tfm" 1716849630 1368 6a60e6a5e029141041d64d339b87e533 "" + "/usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmtt8.tfm" 1716849630 1380 64228d979098ac090aa3f98d5aa8ad3e "" + "/usr/share/texmf-dist/fonts/tfm/public/lm/lmex10.tfm" 1716849630 992 ce925c9346c7613270a79afbee98c070 "" + "/usr/share/texmf-dist/fonts/tfm/public/lm/lmmi10.tfm" 1716849630 1528 6d36b2385e0ca062a654de6ac59cb34f "" + "/usr/share/texmf-dist/fonts/tfm/public/lm/lmmi12.tfm" 1716849630 1524 753b192b18f2991794f9d41a8228510b "" + "/usr/share/texmf-dist/fonts/tfm/public/lm/lmmi5.tfm" 1716849630 1508 198f5b7b99b5769126de3a533f6fc334 "" + "/usr/share/texmf-dist/fonts/tfm/public/lm/lmmi6.tfm" 1716849630 1512 94a3fd88c6f27dbd9ecb46987e297a4e "" + "/usr/share/texmf-dist/fonts/tfm/public/lm/lmmi7.tfm" 1716849630 1528 d5b028dd23da623848ef0645c96a1ed7 "" + "/usr/share/texmf-dist/fonts/tfm/public/lm/lmmi8.tfm" 1716849630 1520 a3fe5596932db2db2cbda300920dd4e9 "" + "/usr/share/texmf-dist/fonts/tfm/public/lm/lmsy10.tfm" 1716849630 1308 02cc510f9dd6012e5815d0c0ffbf6869 "" + "/usr/share/texmf-dist/fonts/tfm/public/lm/lmsy5.tfm" 1716849630 1296 54ed1a711e2303d5282575278e3620b0 "" + "/usr/share/texmf-dist/fonts/tfm/public/lm/lmsy6.tfm" 1716849630 1300 b0605d44c16c22d99dc001808e4f24ea "" + "/usr/share/texmf-dist/fonts/tfm/public/lm/lmsy7.tfm" 1716849630 1304 32f22a15acc296b2a4e15698403dcb88 "" + "/usr/share/texmf-dist/fonts/tfm/public/lm/lmsy8.tfm" 1716849630 1304 cdc9a17df9ef0d2dc320eff37bbab1c4 "" + "/usr/share/texmf-dist/fonts/tfm/public/lm/rm-lmr10.tfm" 1716849630 11868 4f81e9b6033c032bdaf9884f4d7ef412 "" + "/usr/share/texmf-dist/fonts/tfm/public/lm/rm-lmr12.tfm" 1716849630 11888 6841b91e46b65cf41a49b160e6e74130 "" + "/usr/share/texmf-dist/fonts/tfm/public/lm/rm-lmr5.tfm" 1716849630 11804 aefb10c002e6492c25236524a447f969 "" + "/usr/share/texmf-dist/fonts/tfm/public/lm/rm-lmr6.tfm" 1716849630 11836 e3b6ce3e601aec94f64a536e7f4224d5 "" + "/usr/share/texmf-dist/fonts/tfm/public/lm/rm-lmr7.tfm" 1716849630 11852 5a9022f105fd1ee2797df861e79ae9a0 "" + "/usr/share/texmf-dist/fonts/tfm/public/lm/rm-lmr8.tfm" 1716849630 11864 309fd7f43e4a0ba39f6f7644d76e8edf "" + "/usr/share/texmf-dist/fonts/tfm/public/lm/ts1-lmr12.tfm" 1716849630 1596 1d4548788e389ded56d0b01b28377882 "" + "/usr/share/texmf-dist/fonts/tfm/public/lm/ts1-lmri12.tfm" 1716849630 1756 f5780f74a46c4ea15873b1a1c70b77bc "" + "/usr/share/texmf-dist/fonts/type1/public/fontawesome5/FontAwesome5Brands-Regular.pfb" 1716849630 204258 177851ae99767090543ae24e73c92f2f "" + "/usr/share/texmf-dist/fonts/type1/public/fontawesome5/FontAwesome5Free-Solid.pfb" 1716849630 295323 d099723373a00cc17d5ae0c9738bb5b3 "" + "/usr/share/texmf-dist/fonts/type1/public/lm/lmbx12.pfb" 1716849630 116908 1fca96723793882c2e0160350c192fc8 "" + "/usr/share/texmf-dist/fonts/type1/public/lm/lmcsc10.pfb" 1716849630 116427 4a5b1ccaa7cce719091920a86b58608d "" + "/usr/share/texmf-dist/fonts/type1/public/lm/lmex10.pfb" 1716849630 23055 2e5b42921de910eaa97b85df04ca4891 "" + "/usr/share/texmf-dist/fonts/type1/public/lm/lmmi12.pfb" 1716849630 30696 2654571912f9cd384da9f7cb8a60c568 "" + "/usr/share/texmf-dist/fonts/type1/public/lm/lmmi8.pfb" 1716849630 30635 833ec815d446ec453a4913fc26d24cbc "" + "/usr/share/texmf-dist/fonts/type1/public/lm/lmr10.pfb" 1716849630 119235 f35b44530a1d90eb90fe15d9cba67ea0 "" + "/usr/share/texmf-dist/fonts/type1/public/lm/lmr12.pfb" 1716849630 113634 f99c44d58bae0863375faf0e1d74d612 "" + "/usr/share/texmf-dist/fonts/type1/public/lm/lmr6.pfb" 1716849630 123394 d390152bb30feeb496aaaa93299ee9ba "" + "/usr/share/texmf-dist/fonts/type1/public/lm/lmr7.pfb" 1716849630 121145 68312a933e2c689ed40ec0aba373e279 "" + "/usr/share/texmf-dist/fonts/type1/public/lm/lmr8.pfb" 1716849630 122174 a7a08406857c9530a0320a2517f60370 "" + "/usr/share/texmf-dist/fonts/type1/public/lm/lmri12.pfb" 1716849630 109265 32320cb6133d4d76bf83e27b5eb4009b "" + "/usr/share/texmf-dist/fonts/type1/public/lm/lmro12.pfb" 1716849630 125209 a5bd29c5b5feb791d0332220e4a79275 "" + "/usr/share/texmf-dist/fonts/type1/public/lm/lmssbx10.pfb" 1716849630 119663 e82fa1a58f98ccd89bdbd77311ac9cf1 "" + "/usr/share/texmf-dist/fonts/type1/public/lm/lmsy10.pfb" 1716849630 27863 09ce3735688ffde955e72da27c95b61a "" + "/usr/share/texmf-dist/fonts/type1/public/lm/lmsy7.pfb" 1716849630 27941 d1f5d03f61a46c3fcc3a2ba904ddda52 "" + "/usr/share/texmf-dist/fonts/type1/public/lm/lmsy8.pfb" 1716849630 27802 5c876bb2c4040caaf035d60bd74a86bd "" + "/usr/share/texmf-dist/fonts/type1/public/lm/lmtt10.pfb" 1716849630 113227 1010e11451afc2822c95dae77c390042 "" + "/usr/share/texmf-dist/fonts/type1/public/lm/lmtt12.pfb" 1716849630 110323 92daea7ca7b4120bd2b54b047c93be27 "" + "/usr/share/texmf-dist/tex/context/base/mkii/supp-pdf.mkii" 1716849630 71627 94eb9990bed73c364d7f53f960cc8c5b "" + "/usr/share/texmf-dist/tex/generic/atbegshi/atbegshi.sty" 1716849630 24708 5584a51a7101caf7e6bbf1fc27d8f7b1 "" + "/usr/share/texmf-dist/tex/generic/babel-english/english.ldf" 1716849630 7008 9ff5fdcc865b01beca2b0fe4a46231d4 "" + "/usr/share/texmf-dist/tex/generic/babel-german/ngerman.ldf" 1716849630 2289 4c0bd5448e6c4088c5170e3997082036 "" + "/usr/share/texmf-dist/tex/generic/babel-german/ngermanb.ldf" 1716849630 9023 ac64485babf93564615cafa0d7a314f7 "" + "/usr/share/texmf-dist/tex/generic/babel/babel.sty" 1716849630 146276 10a40dabec03ce18494af0c3a51bcbdc "" + "/usr/share/texmf-dist/tex/generic/babel/locale/de/babel-de.ini" 1716849630 4096 fa1802f91144b2c083d61dddf097a6d2 "" + "/usr/share/texmf-dist/tex/generic/babel/locale/de/babel-ngerman.tex" 1716849630 336 b80d4d282e518e78a8b5f9cc543e7f94 "" + "/usr/share/texmf-dist/tex/generic/babel/locale/en/babel-en.ini" 1716849630 3966 caeee5a9e5771d4446aa1ca9015ba1b2 "" + "/usr/share/texmf-dist/tex/generic/babel/locale/en/babel-english.tex" 1716849630 336 ed676b5e7dfd862bc78d634f6a973f37 "" + "/usr/share/texmf-dist/tex/generic/babel/txtbabel.def" 1716849630 6948 df63e25be1d2bc35bbad5a0141f41348 "" + "/usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty" 1716849630 40635 c40361e206be584d448876bba8a64a3b "" + "/usr/share/texmf-dist/tex/generic/bitset/bitset.sty" 1716849630 33961 6b5c75130e435b2bfdb9f480a09a39f9 "" + "/usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty" 1716849630 8371 9d55b8bd010bc717624922fb3477d92e "" + "/usr/share/texmf-dist/tex/generic/iftex/iftex.sty" 1716849630 7237 bdd120a32c8fdb4b433cf9ca2e7cd98a "" + "/usr/share/texmf-dist/tex/generic/iftex/ifvtex.sty" 1716849630 1057 525c2192b5febbd8c1f662c9468335bb "" + "/usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty" 1716849630 8356 7bbb2c2373aa810be568c29e333da8ed "" + "/usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty" 1716849630 31769 002a487f55041f8e805cfbf6385ffd97 "" + "/usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty" 1716849630 5412 d5a2436094cd7be85769db90f29250a6 "" + "/usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty" 1716849630 17865 1a9bd36b4f98178fa551aca822290953 "" + "/usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty" 1716849630 19007 15924f7228aca6c6d184b115f4baa231 "" + "/usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty" 1716849630 20089 80423eac55aa175305d35b49e04fe23b "" + "/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex" 1716849630 1016 1c2b89187d12a2768764b83b4945667c "" + "/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorearrows.code.tex" 1716849630 43820 1fef971b75380574ab35a0d37fd92608 "" + "/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreexternal.code.tex" 1716849630 19324 f4e4c6403dd0f1605fd20ed22fa79dea "" + "/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code.tex" 1716849630 6038 ccb406740cc3f03bbfb58ad504fe8c27 "" + "/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreimage.code.tex" 1716849630 6911 f6d4cf5a3fef5cc879d668b810e82868 "" + "/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorelayers.code.tex" 1716849630 4883 42daaf41e27c3735286e23e48d2d7af9 "" + "/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreobjects.code.tex" 1716849630 2544 8c06d2a7f0f469616ac9e13db6d2f842 "" + "/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconstruct.code.tex" 1716849630 44195 5e390c414de027626ca5e2df888fa68d "" + "/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathprocessing.code.tex" 1716849630 17311 2ef6b2e29e2fc6a2fc8d6d652176e257 "" + "/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathusage.code.tex" 1716849630 21302 788a79944eb22192a4929e46963a3067 "" + "/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepatterns.code.tex" 1716849630 9691 3d42d89522f4650c2f3dc616ca2b925e "" + "/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex" 1716849630 33335 dd1fa4814d4e51f18be97d88bf0da60c "" + "/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorequick.code.tex" 1716849630 2965 4c2b1f4e0826925746439038172e5d6f "" + "/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorerdf.code.tex" 1716849630 5196 2cc249e0ee7e03da5f5f6589257b1e5b "" + "/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex" 1716849630 20821 7579108c1e9363e61a0b1584778804aa "" + "/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex" 1716849630 35249 abd4adf948f960299a4b3d27c5dddf46 "" + "/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransformations.code.tex" 1716849630 22012 81b34a0aa8fa1a6158cc6220b00e4f10 "" + "/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransparency.code.tex" 1716849630 8893 e851de2175338fdf7c17f3e091d94618 "" + "/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryarrows.code.tex" 1716849630 319 225dfe354ba678ff3c194968db39d447 "" + "/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarybackgrounds.code.tex" 1716849630 4572 4a19637ef65ce88ad2f2d5064b69541d "" + "/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarycalc.code.tex" 1716849630 15929 463535aa2c4268fead6674a75c0e8266 "" + "/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.code.tex" 1716849630 5628 dc0ee4ba7f3e40acae5600067ce833de "" + "/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.pathmorphing.code.tex" 1716849630 321 cdd11262840e01e25374a2d458f15e99 "" + "/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.pathreplacing.code.tex" 1716849630 1319 0b2de5126c6cbc295f0eb77f7344b34d "" + "/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryfit.code.tex" 1716849630 3626 2d87dc681257fa32d07a8b3934b10f88 "" + "/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryplotmarks.code.tex" 1716849630 325 36322b0789619b270aec5993d5a9ed08 "" + "/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarypositioning.code.tex" 1716849630 3937 3f208572dd82c71103831da976d74f1a "" + "/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.arrows.code.tex" 1716849630 410 048d1174dabde96757a5387b8f23d968 "" + "/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.callouts.code.tex" 1716849630 1201 8bd51e254d3ecf0cd2f21edd9ab6f1bb "" + "/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.code.tex" 1716849630 494 8de62576191924285b021f4fc4292e16 "" + "/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.geometric.code.tex" 1716849630 339 be0fe46d92a80e3385dd6a83511a46f2 "" + "/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.misc.code.tex" 1716849630 329 ba6d5440f8c16779c2384e0614158266 "" + "/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.multipart.code.tex" 1716849630 923 c7a223b32ffdeb1c839d97935eee61ff "" + "/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.symbols.code.tex" 1716849630 475 4b4056fe07caa0603fede9a162fe666d "" + "/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytopaths.code.tex" 1716849630 11518 738408f795261b70ce8dd47459171309 "" + "/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex" 1716849630 186782 af500404a9edec4d362912fe762ded92 "" + "/usr/share/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydecorations.pathmorphing.code.tex" 1716849630 8843 5533436db3e30fbad1e0440db6027dac "" + "/usr/share/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydecorations.pathreplacing.code.tex" 1716849630 7474 f05a7223b140f230922562ac6a9fede5 "" + "/usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.code.tex" 1716849630 31874 89148c383c49d4c72114a76fd0062299 "" + "/usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.meta.code.tex" 1716849630 58801 1e750fb0692eb99aaac45698bbec96b1 "" + "/usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryfpu.code.tex" 1716849630 85938 8e4ba97c5906e1c0d158aea81fe29af7 "" + "/usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryintersections.code.tex" 1716849630 44571 38ac24c171fb8fa1a13adc8ce7eb94c5 "" + "/usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.code.tex" 1716849630 32995 ac577023e12c0e4bd8aa420b2e852d1a "" + "/usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryplotmarks.code.tex" 1716849630 14526 4bc184b12436aa7f6490b2d2036870ef "" + "/usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.arrows.code.tex" 1716849630 91587 d9b31a3e308b08833e4528a7b4484b4a "" + "/usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.callouts.code.tex" 1716849630 33336 427c354e28a4802ffd781da22ae9f383 "" + "/usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.geometric.code.tex" 1716849630 161011 76ab54df0aa1a9d3b27a94864771d38d "" + "/usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.misc.code.tex" 1716849630 46249 d1f322c52d26cf506b4988f31902cd5d "" + "/usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.multipart.code.tex" 1716849630 62281 aff261ef10ba6cbe8e3c872a38c05a61 "" + "/usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.symbols.code.tex" 1716849630 90521 9d46d4504c2ffed28ff5ef3c43d15f21 "" + "/usr/share/texmf-dist/tex/generic/pgf/math/pgfint.code.tex" 1716849630 3063 8c415c68a0f3394e45cfeca0b65f6ee6 "" + "/usr/share/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex" 1716849630 949 cea70942e7b7eddabfb3186befada2e6 "" + "/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathcalc.code.tex" 1716849630 13270 2e54f2ce7622437bf37e013d399743e3 "" + "/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfloat.code.tex" 1716849630 104717 9b2393fbf004a0ce7fa688dbce423848 "" + "/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.base.code.tex" 1716849630 10165 cec5fa73d49da442e56efc2d605ef154 "" + "/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic.code.tex" 1716849630 28178 41c17713108e0795aac6fef3d275fbca "" + "/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.code.tex" 1716849630 9649 85779d3d8d573bfd2cd4137ba8202e60 "" + "/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.comparison.code.tex" 1716849630 3865 ac538ab80c5cf82b345016e474786549 "" + "/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.integerarithmetics.code.tex" 1716849630 3177 27d85c44fbfe09ff3b2cf2879e3ea434 "" + "/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.misc.code.tex" 1716849630 11024 0179538121bc2dba172013a3ef89519f "" + "/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.random.code.tex" 1716849630 7890 0a86dbf4edfd88d022e0d889ec78cc03 "" + "/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.round.code.tex" 1716849630 3379 781797a101f647bab82741a99944a229 "" + "/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.trigonometric.code.tex" 1716849630 92405 f515f31275db273f97b9d8f52e1b0736 "" + "/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex" 1716849630 37466 97b0a1ba732e306a1a2034f5a73e239f "" + "/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex" 1716849630 8471 c2883569d03f69e8e1cabfef4999cfd7 "" + "/usr/share/texmf-dist/tex/generic/pgf/modules/pgfmoduledecorations.code.tex" 1716849630 71742 3da44a8be6626eef1c400c68776c7a0f "" + "/usr/share/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.code.tex" 1716849630 21211 1e73ec76bd73964d84197cc3d2685b01 "" + "/usr/share/texmf-dist/tex/generic/pgf/modules/pgfmoduleplot.code.tex" 1716849630 16121 346f9013d34804439f7436ff6786cef7 "" + "/usr/share/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.code.tex" 1716849630 44792 271e2e1934f34c759f4dedb1e14a5015 "" + "/usr/share/texmf-dist/tex/generic/pgf/pgf.revision.tex" 1716849630 114 e6d443369d0673933b38834bf99e422d "" + "/usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg" 1716849630 926 2963ea0dcf6cc6c0a770b69ec46a477b "" + "/usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-pdf.def" 1716849630 5542 32f75a31ea6c3a7e1148cd6d5e93dbb7 "" + "/usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-luatex.def" 1716849630 13255 83878f3f820beccc0dd1c2683dabc65e "" + "/usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-pdftex.def" 1716849630 12612 7774ba67bfd72e593c4436c2de6201e3 "" + "/usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex" 1716849630 61351 bc5f86e0355834391e736e97a61abced "" + "/usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex" 1716849630 1896 b8e0ca0ac371d74c0ca05583f6313c91 "" + "/usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex" 1716849630 7778 53c8b5623d80238f6a20aa1df1868e63 "" + "/usr/share/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex" 1716849630 24033 d8893a1ec4d1bfa101b172754743d340 "" + "/usr/share/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex" 1716849630 39784 414c54e866ebab4b801e2ad81d9b21d8 "" + "/usr/share/texmf-dist/tex/generic/pgf/utilities/pgfkeyslibraryfiltered.code.tex" 1716849630 37433 940bc6d409f1ffd298adfdcaf125dd86 "" + "/usr/share/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex" 1716849630 4385 510565c2f07998c8a0e14f0ec07ff23c "" + "/usr/share/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex" 1716849630 29239 22e8c7516012992a49873eff0d868fed "" + "/usr/share/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def" 1716849630 6950 8524a062d82b7afdc4a88a57cb377784 "" + "/usr/share/texmf-dist/tex/generic/pgfplots/libs/pgflibrarypgfplots.surfshading.code.tex" 1716849630 22701 5fab7b8ebb90b053dc067d1bd37e43c2 "" + "/usr/share/texmf-dist/tex/generic/pgfplots/libs/pgfplotslibrary.code.tex" 1716849630 3047 aa82404aec57311271f4991c44bd71dc "" + "/usr/share/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.contourlua.code.tex" 1716849630 2931 5d52092da9e839accd7c9026062fe5c3 "" + "/usr/share/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsarray.code.tex" 1716849630 23537 54be8160344d894595f6d145b1311658 "" + "/usr/share/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsdeque.code.tex" 1716849630 4288 b8d6247899b21e3bb66bb11b24d30f2c "" + "/usr/share/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsliststructure.code.tex" 1716849630 13828 11d1b09335a4a8baa693dd1e6cac3edf "" + "/usr/share/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsliststructureext.code.tex" 1716849630 24373 6544c1554e5da33118301011eb03058d "" + "/usr/share/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsmatrix.code.tex" 1716849630 18861 7dc35832c8ccea3aa73cdcd75ec0a60b "" + "/usr/share/texmf-dist/tex/generic/pgfplots/numtable/pgfplotstableshared.code.tex" 1716849630 83469 f77a7d8a23834d4c2472f8dba8e67bff "" + "/usr/share/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_loader.code.tex" 1716849630 12347 43d867ea29e34d528123d9ef750aa146 "" + "/usr/share/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgfutil-common-lists.tex" 1716849630 8008 3bb2d07671e6afab7dcb90dfaec572a4 "" + "/usr/share/texmf-dist/tex/generic/pgfplots/pgfplots.code.tex" 1716849630 485274 aafeb7052fbed4c8aba6fcc36c94ea72 "" + "/usr/share/texmf-dist/tex/generic/pgfplots/pgfplots.errorbars.code.tex" 1716849630 22428 72578a4c9324bc5dfafe23fe64f64024 "" + "/usr/share/texmf-dist/tex/generic/pgfplots/pgfplots.markers.code.tex" 1716849630 12489 859c23df41fb9067128ef5a64b01c0a4 "" + "/usr/share/texmf-dist/tex/generic/pgfplots/pgfplots.paths.code.tex" 1716849630 3533 973f376afa5a4526f16b11630b9931b4 "" + "/usr/share/texmf-dist/tex/generic/pgfplots/pgfplots.revision.tex" 1716849630 520 2a55e10851bbb34fb49a8e1d6b50a09b "" + "/usr/share/texmf-dist/tex/generic/pgfplots/pgfplots.scaling.code.tex" 1716849630 123680 d33fda4929d7200c3e6f0ec83c006aef "" + "/usr/share/texmf-dist/tex/generic/pgfplots/pgfplotscoordprocessing.code.tex" 1716849630 367035 be5ad6faf030b5e07b899b712359f9d2 "" + "/usr/share/texmf-dist/tex/generic/pgfplots/pgfplotscore.code.tex" 1716849630 19944 7957349fbe31c4e8dea9de4cd41cb086 "" + "/usr/share/texmf-dist/tex/generic/pgfplots/pgfplotsmeshplothandler.code.tex" 1716849630 133871 7247b31742a2240343a6739cb76d6821 "" + "/usr/share/texmf-dist/tex/generic/pgfplots/pgfplotsmeshplotimage.code.tex" 1716849630 25239 bf1615252744653354985789b73e7404 "" + "/usr/share/texmf-dist/tex/generic/pgfplots/pgfplotsplothandlers.code.tex" 1716849630 120954 bdf135670013db80411b2fb0f95876ac "" + "/usr/share/texmf-dist/tex/generic/pgfplots/pgfplotsstackedplots.code.tex" 1716849630 26393 a7d9bbecdd0db20d652c909dac892e25 "" + "/usr/share/texmf-dist/tex/generic/pgfplots/pgfplotsticks.code.tex" 1716849630 91244 1a0e9e49b7a2d10d1b1a610306ba4f8c "" + "/usr/share/texmf-dist/tex/generic/pgfplots/sys/pgflibrarypgfplots.surfshading.pgfsys-pdftex.def" 1716849630 5907 9dc460712c23e5b3338820499d47608c "" + "/usr/share/texmf-dist/tex/generic/pgfplots/sys/pgfplotssysgeneric.code.tex" 1716849630 3095 c82d281b748902a65be2ccca97360b11 "" + "/usr/share/texmf-dist/tex/generic/pgfplots/util/pgfplotsbinary.code.tex" 1716849630 23050 a369aa910ef860a3621fe0459faa335c "" + "/usr/share/texmf-dist/tex/generic/pgfplots/util/pgfplotsbinary.data.code.tex" 1716849630 26859 7a4ee9d206fb0a0daa0d3108445afb57 "" + "/usr/share/texmf-dist/tex/generic/pgfplots/util/pgfplotscolor.code.tex" 1716849630 23958 1b96260863091af1669c3a38b1c4c9af "" + "/usr/share/texmf-dist/tex/generic/pgfplots/util/pgfplotscolormap.code.tex" 1716849630 88956 018b2512ef27998e97af72e8b1dcdbd5 "" + "/usr/share/texmf-dist/tex/generic/pgfplots/util/pgfplotsutil.code.tex" 1716849630 71792 dba1b75b15201895eb36f142f13b3238 "" + "/usr/share/texmf-dist/tex/generic/pgfplots/util/pgfplotsutil.verb.code.tex" 1716849630 3286 c17079ba50483e1ac1721268ea016041 "" + "/usr/share/texmf-dist/tex/generic/tracklang/tracklang.tex" 1716849630 141476 ac3d8d70bed5ec2b0ff757eb1ce593b1 "" + "/usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty" 1716849630 7008 f92eaa0a3872ed622bbf538217cd2ab7 "" + "/usr/share/texmf-dist/tex/generic/xkeyval/xkeyval.tex" 1716849630 19231 27205ee17aaa2902aea3e0c07a3cfc65 "" + "/usr/share/texmf-dist/tex/generic/xkeyval/xkvutils.tex" 1716849630 7677 9cb1a74d945bc9331f2181c0a59ff34a "" + "/usr/share/texmf-dist/tex/generic/xstring/xstring.sty" 1716849630 123 a302f2c651a95033260db60e51527ae8 "" + "/usr/share/texmf-dist/tex/generic/xstring/xstring.tex" 1716849630 49397 a8071cbd06dd0bb15ae8acf876c73f20 "" + "/usr/share/texmf-dist/tex/latex/acronym/acronym.sty" 1716849630 22582 38093488dbdcb4eb85c03bbc38fc7305 "" + "/usr/share/texmf-dist/tex/latex/amscls/amsthm.sty" 1716849630 12594 0d51ac3a545aaaa555021326ff22a6cc "" + "/usr/share/texmf-dist/tex/latex/amsfonts/amsfonts.sty" 1716849630 5949 3f3fd50a8cc94c3d4cbf4fc66cd3df1c "" + "/usr/share/texmf-dist/tex/latex/amsfonts/amssymb.sty" 1716849630 13829 94730e64147574077f8ecfea9bb69af4 "" + "/usr/share/texmf-dist/tex/latex/amsfonts/umsa.fd" 1716849630 961 6518c6525a34feb5e8250ffa91731cff "" + "/usr/share/texmf-dist/tex/latex/amsfonts/umsb.fd" 1716849630 961 d02606146ba5601b5645f987c92e6193 "" + "/usr/share/texmf-dist/tex/latex/amsmath/amsbsy.sty" 1716849630 2222 499d61426192c39efd8f410ee1a52b9c "" + "/usr/share/texmf-dist/tex/latex/amsmath/amsgen.sty" 1716849630 4173 82ac04dfb1256038fad068287fbb4fe6 "" + "/usr/share/texmf-dist/tex/latex/amsmath/amsmath.sty" 1716849630 88371 d84032c0f422c3d1e282266c01bef237 "" + "/usr/share/texmf-dist/tex/latex/amsmath/amsopn.sty" 1716849630 4474 b811654f4bf125f11506d13d13647efb "" + "/usr/share/texmf-dist/tex/latex/amsmath/amstext.sty" 1716849630 2444 0d0c1ee65478277e8015d65b86983da2 "" + "/usr/share/texmf-dist/tex/latex/atveryend/atveryend.sty" 1716849630 19336 ce7ae9438967282886b3b036cfad1e4d "" + "/usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty" 1716849630 3935 57aa3c3e203a5c2effb4d2bd2efbc323 "" + "/usr/share/texmf-dist/tex/latex/base/atbegshi-ltx.sty" 1716849630 3045 273c666a54e60b9f730964f431a56c1b "" + "/usr/share/texmf-dist/tex/latex/base/atveryend-ltx.sty" 1716849630 2462 6bc53756156dbd71c1ad550d30a3b93f "" + "/usr/share/texmf-dist/tex/latex/base/fontenc.sty" 1716849630 5119 a04a8b68ab4f6ce800a41f7f8012a10e "" + "/usr/share/texmf-dist/tex/latex/base/ifthen.sty" 1716849630 5319 2b738d02ce36ada6dcdd9534940db0ee "" + "/usr/share/texmf-dist/tex/latex/base/inputenc.sty" 1716849630 5048 425739d70251273bf93e3d51f3c40048 "" + "/usr/share/texmf-dist/tex/latex/base/makeidx.sty" 1716849630 1939 3225e20a81cec31e51c1e216d6385103 "" + "/usr/share/texmf-dist/tex/latex/biblatex/bbx/numeric.bbx" 1716849630 1818 9ed166ac0a9204a8ebe450ca09db5dde "" + "/usr/share/texmf-dist/tex/latex/biblatex/bbx/standard.bbx" 1716849630 25680 409c3f3d570418bc545e8065bebd0688 "" + "/usr/share/texmf-dist/tex/latex/biblatex/biblatex.cfg" 1716849630 69 249fa6df04d948e51b6d5c67bea30c42 "" + "/usr/share/texmf-dist/tex/latex/biblatex/biblatex.def" 1716849630 92527 8f6b3a677f74ea525477a813f33c4e65 "" + "/usr/share/texmf-dist/tex/latex/biblatex/biblatex.sty" 1716849630 528517 7eed285c714f532e12ae48b360c080f8 "" + "/usr/share/texmf-dist/tex/latex/biblatex/blx-case-expl3.sty" 1716849630 8433 72f8188742e7214b7068f345cd0287ac "" + "/usr/share/texmf-dist/tex/latex/biblatex/blx-compat.def" 1716849630 13919 5426dbe90e723f089052b4e908b56ef9 "" + "/usr/share/texmf-dist/tex/latex/biblatex/blx-dm.def" 1716849630 32455 8d3e554836db11aab80a8e11be62e1b1 "" + "/usr/share/texmf-dist/tex/latex/biblatex/cbx/numeric.cbx" 1716849630 4629 cda468e8a0b1cfa0f61872e171037a4b "" + "/usr/share/texmf-dist/tex/latex/biblatex/lbx/english.lbx" 1716849630 39965 48ce9ce3350aba9457f1020b1deba5cf "" + "/usr/share/texmf-dist/tex/latex/biblatex/lbx/german.lbx" 1716849630 33908 9178e63849ed8d931ae427546930e76a "" + "/usr/share/texmf-dist/tex/latex/biblatex/lbx/ngerman.lbx" 1716849630 520 79db3ad588d8a32d9a5aa90a48bd8364 "" + "/usr/share/texmf-dist/tex/latex/bigfoot/perpage.sty" 1716849630 5707 8a111e2f4c8f511ad622494ac2fe3f6d "" + "/usr/share/texmf-dist/tex/latex/bigfoot/suffix.sty" 1716849630 3090 223874a03a08cecb9fb79bd86e5dcf97 "" + "/usr/share/texmf-dist/tex/latex/bookmark/bkm-pdftex.def" 1716849630 8818 aa5157b46368efebf023abff55611467 "" + "/usr/share/texmf-dist/tex/latex/bookmark/bookmark.sty" 1716849630 18245 97e6be180cf07bb6f7008cfdaaecfce5 "" + "/usr/share/texmf-dist/tex/latex/carlisle/scalefnt.sty" 1716849630 1360 df2086bf924b14b72d6121fe9502fcdb "" + "/usr/share/texmf-dist/tex/latex/csquotes/csquotes.cfg" 1716849630 7068 06f8d141725d114847527a66439066b6 "" + "/usr/share/texmf-dist/tex/latex/csquotes/csquotes.def" 1716849630 21994 2bc2a882df92d97dbce35c06bb1d3541 "" + "/usr/share/texmf-dist/tex/latex/csquotes/csquotes.sty" 1716849630 62761 3c92d495a9e03d7254b9a3266aa17164 "" + "/usr/share/texmf-dist/tex/latex/datatool/datatool-base.sty" 1716849630 93620 4e9f9aa754a2337e89df3eeca1527291 "" + "/usr/share/texmf-dist/tex/latex/datatool/datatool-fp.sty" 1716849630 3944 92aa06b5428fcc1b751c82409f23f92f "" + "/usr/share/texmf-dist/tex/latex/elocalloc/elocalloc.sty" 1716849630 1428 7d469063535b93044f827bfdb1b0a130 "" + "/usr/share/texmf-dist/tex/latex/enumitem/enumitem.sty" 1716849630 51697 f8f08183cd2080d9d18a41432d651dfb "" + "/usr/share/texmf-dist/tex/latex/environ/environ.sty" 1716849630 4378 f429f0da968c278653359293040a8f52 "" + "/usr/share/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty" 1716849630 13886 d1306dcf79a944f6988e688c1785f9ce "" + "/usr/share/texmf-dist/tex/latex/eso-pic/eso-pic.sty" 1716849630 11876 6ef493863ae0d7a984706973240c2237 "" + "/usr/share/texmf-dist/tex/latex/etoolbox/etoolbox.sty" 1716849630 46845 3b58f70c6e861a13d927bff09d35ecbc "" + "/usr/share/texmf-dist/tex/latex/eurosym/eurosym.sty" 1716849630 3028 8faeef64adee9b964b5e7f5e45921024 "" + "/usr/share/texmf-dist/tex/latex/float/float.sty" 1716849630 6749 16d2656a1984957e674b149555f1ea1d "" + "/usr/share/texmf-dist/tex/latex/fontawesome5/fontawesome5-generic-helper.sty" 1716849630 1796 6d3390e7a3f2a0f63ce89532aa30ac20 "" + "/usr/share/texmf-dist/tex/latex/fontawesome5/fontawesome5-mapping.def" 1716849630 107808 07e47606922c76b1824e149c54155c4c "" + "/usr/share/texmf-dist/tex/latex/fontawesome5/fontawesome5.sty" 1716849630 8112 16dbb19fca3f2df864fea49874356f35 "" + "/usr/share/texmf-dist/tex/latex/fontawesome5/ufontawesomebrands0.fd" 1716849630 1206 b35c804e364d46e802702be118632c48 "" + "/usr/share/texmf-dist/tex/latex/fontawesome5/ufontawesomefree1.fd" 1716849630 980 1b42613a5245ed252c04030af746d737 "" + "/usr/share/texmf-dist/tex/latex/footmisc/footmisc.sty" 1716849630 21399 e9fa1517a82f349507e998594ef20b82 "" + "/usr/share/texmf-dist/tex/latex/forest/forest.sty" 1716849630 350382 5acb55040bcf8080692df2e32715e5ea "" + "/usr/share/texmf-dist/tex/latex/fp/defpattern.sty" 1716849630 1081 6a8d78d0e6b2d89334f92fd122c1da99 "" + "/usr/share/texmf-dist/tex/latex/fp/fp-addons.sty" 1716849630 1275 fe903646b72b3e877914d78f2db9ddda "" + "/usr/share/texmf-dist/tex/latex/fp/fp-basic.sty" 1716849630 29695 b6366b50463dfb367cf560419d0cea8d "" + "/usr/share/texmf-dist/tex/latex/fp/fp-eqn.sty" 1716849630 11336 afed7aa5dbc4bf246950282b95e522c2 "" + "/usr/share/texmf-dist/tex/latex/fp/fp-eval.sty" 1716849630 6220 eeeffd00d1235e73c380c6dc9f30ac43 "" + "/usr/share/texmf-dist/tex/latex/fp/fp-exp.sty" 1716849630 16965 df20a610ce368cd126fd73d1a4e4fef1 "" + "/usr/share/texmf-dist/tex/latex/fp/fp-pas.sty" 1716849630 3006 6fd5da0dc83ba1d19525f1fb08dca7df "" + "/usr/share/texmf-dist/tex/latex/fp/fp-random.sty" 1716849630 3702 6e54ac63212901d59e6ea2a32b0a7689 "" + "/usr/share/texmf-dist/tex/latex/fp/fp-snap.sty" 1716849630 6519 c1e5d3c6aed32ba782f756d79578d87b "" + "/usr/share/texmf-dist/tex/latex/fp/fp-trigo.sty" 1716849630 28969 342a2de338e342de95d2551557e50f06 "" + "/usr/share/texmf-dist/tex/latex/fp/fp-upn.sty" 1716849630 7154 78a835a719e27a484e63f1f98ba4df11 "" + "/usr/share/texmf-dist/tex/latex/fp/fp.sty" 1716849630 983 d84df22b060ce125f89a32c403dcab31 "" + "/usr/share/texmf-dist/tex/latex/geometry/geometry.sty" 1716849630 41601 9cf6c5257b1bc7af01a58859749dd37a "" + "/usr/share/texmf-dist/tex/latex/glossaries-english/glossaries-english.ldf" 1716849630 3656 cfd7063dcf1f89f4d3681b9a8bd5be4d "" + "/usr/share/texmf-dist/tex/latex/glossaries-german/glossaries-german.ldf" 1716849630 3629 97ae3d40edaa2b921aeca43a630251ae "" + "/usr/share/texmf-dist/tex/latex/glossaries/base/glossaries.sty" 1716849630 235577 7329486ac0bfda16825e1574690851c7 "" + "/usr/share/texmf-dist/tex/latex/glossaries/styles/glossary-hypernav.sty" 1716849630 7199 31ef596285bcfc5f137a9cdf4f672b67 "" + "/usr/share/texmf-dist/tex/latex/glossaries/styles/glossary-list.sty" 1716849630 7582 3f3d0cc75dc6ec90f24e7e0f06dafb55 "" + "/usr/share/texmf-dist/tex/latex/glossaries/styles/glossary-long.sty" 1716849630 9473 5fc765cb847b3ed09f2e43de0106e94b "" + "/usr/share/texmf-dist/tex/latex/glossaries/styles/glossary-super.sty" 1716849630 10492 664406944050d6be3f5496c7040321dd "" + "/usr/share/texmf-dist/tex/latex/glossaries/styles/glossary-tree.sty" 1716849630 12985 3ca2b8dc06f3d5e2e721fedebbcece6e "" + "/usr/share/texmf-dist/tex/latex/graphics-cfg/color.cfg" 1716849630 1213 620bba36b25224fa9b7e1ccb4ecb76fd "" + "/usr/share/texmf-dist/tex/latex/graphics-cfg/graphics.cfg" 1716849630 1224 978390e9c2234eab29404bc21b268d1e "" + "/usr/share/texmf-dist/tex/latex/graphics-def/pdftex.def" 1716849630 19448 1e988b341dda20961a6b931bcde55519 "" + "/usr/share/texmf-dist/tex/latex/graphics/color.sty" 1716849630 7233 e46ce9241d2b2ca2a78155475fdd557a "" + "/usr/share/texmf-dist/tex/latex/graphics/graphics.sty" 1716849630 18387 8f900a490197ebaf93c02ae9476d4b09 "" + "/usr/share/texmf-dist/tex/latex/graphics/graphicx.sty" 1716849630 8010 a8d949cbdbc5c983593827c9eec252e1 "" + "/usr/share/texmf-dist/tex/latex/graphics/keyval.sty" 1716849630 2671 7e67d78d9b88c845599a85b2d41f2e39 "" + "/usr/share/texmf-dist/tex/latex/graphics/lscape.sty" 1716849630 1822 5e4f855a9ecb640f34881e4b457fa9aa "" + "/usr/share/texmf-dist/tex/latex/graphics/mathcolor.ltx" 1716849630 2885 9c645d672ae17285bba324998918efd8 "" + "/usr/share/texmf-dist/tex/latex/graphics/rotating.sty" 1716849630 7060 497c495d7b832441a479571bbce898ae "" + "/usr/share/texmf-dist/tex/latex/graphics/trig.sty" 1716849630 4023 293ea1c16429fc0c4cf605f4da1791a9 "" + "/usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty" 1716849630 17914 4c28a13fc3d975e6e81c9bea1d697276 "" + "/usr/share/texmf-dist/tex/latex/hyperref/hpdftex.def" 1716849630 48154 e46bf8adeb936500541441171d61726d "" + "/usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty" 1716849630 220920 fd3cbb5f1a2bc9b8f451b8b7d8171264 "" + "/usr/share/texmf-dist/tex/latex/hyperref/nameref.sty" 1716849630 11026 182c63f139a71afd30a28e5f1ed2cd1c "" + "/usr/share/texmf-dist/tex/latex/hyperref/pd1enc.def" 1716849630 14249 e67cb186717b7ab18d14a4875e7e98b5 "" + "/usr/share/texmf-dist/tex/latex/hyperref/puenc.def" 1716849630 117112 05831178ece2cad4d9629dcf65099b11 "" + "/usr/share/texmf-dist/tex/latex/inlinedef/inlinedef.sty" 1716849630 10102 e5ccd67aecac6cb4bf5de2b491ef79b5 "" + "/usr/share/texmf-dist/tex/latex/koma-script/scrbase.sty" 1716849630 100856 24b70029ad44c2ee829db2529cf4ee23 "" + "/usr/share/texmf-dist/tex/latex/koma-script/scrkbase.sty" 1716849630 21943 93cf6c456e50f74225092b8714462fa4 "" + "/usr/share/texmf-dist/tex/latex/koma-script/scrlfile-hook.sty" 1716849630 11185 15c86b5a61db19da88ab941ca5b70a12 "" + "/usr/share/texmf-dist/tex/latex/koma-script/scrlfile.sty" 1716849630 3328 3d5fc41a419bf18130ce17d90a23c295 "" + "/usr/share/texmf-dist/tex/latex/koma-script/scrlogo.sty" 1716849630 2162 418e29bcf2b8059e8a9ee1ea4d0d0c87 "" + "/usr/share/texmf-dist/tex/latex/koma-script/scrreprt.cls" 1716849630 276315 91eeb23b9f1c27ea57cf36dce5ccf392 "" + "/usr/share/texmf-dist/tex/latex/koma-script/scrsize12pt.clo" 1716849630 6875 10cbe29e93f0454651c45930deba8b1c "" + "/usr/share/texmf-dist/tex/latex/koma-script/tocbasic.sty" 1716849630 107286 dc7973acee1c3708d665791407e3832e "" + "/usr/share/texmf-dist/tex/latex/koma-script/typearea.sty" 1716849630 58382 11e5cfa7a7ea68055da565b4657ea350 "" + "/usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty" 1716849630 22555 6d8e155cfef6d82c3d5c742fea7c992e "" + "/usr/share/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty" 1716849630 13815 760b0c02f691ea230f5359c4e1de23a7 "" + "/usr/share/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def" 1716849630 30006 3d512c0edd558928ddea1690180ef77e "" + "/usr/share/texmf-dist/tex/latex/l3kernel/expl3.sty" 1716849630 6565 10e89ed128ccd59431746bbdd82129fc "" + "/usr/share/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty" 1716849630 4674 4240ebde863d19dc4d13bb280b78abb2 "" + "/usr/share/texmf-dist/tex/latex/l3packages/xparse/xparse.sty" 1716849630 9327 11bedad2ac38f92e405a38ed18489a03 "" + "/usr/share/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg" 1716849630 678 4792914a8f45be57bb98413425e4c7af "" + "/usr/share/texmf-dist/tex/latex/listings/listings.cfg" 1716849630 1830 20af84c556326f7c12b9202ebe363f56 "" + "/usr/share/texmf-dist/tex/latex/listings/listings.sty" 1716849630 81322 d02238bdeb305f2c9f9d0229f99371d0 "" + "/usr/share/texmf-dist/tex/latex/listings/lstlang1.sty" 1716849630 205167 fca232873050cd2da4f9c0c32402c38a "" + "/usr/share/texmf-dist/tex/latex/listings/lstlang2.sty" 1716849630 93888 276ea2c46a9802155d8e1165b7aaad8e "" + "/usr/share/texmf-dist/tex/latex/listings/lstmisc.sty" 1716849630 77022 5c8c440739265e7ba15b8379ece6ecd7 "" + "/usr/share/texmf-dist/tex/latex/listings/lstpatch.sty" 1716849630 329 f19f5da7234b51d16764e23d20999c73 "" + "/usr/share/texmf-dist/tex/latex/lm/lmodern.sty" 1716849630 1608 b00724785a9e9c599e5181bb8729160b "" + "/usr/share/texmf-dist/tex/latex/lm/omllmm.fd" 1716849630 890 57f5adccd504fb5c98bdf99ed7e7f195 "" + "/usr/share/texmf-dist/tex/latex/lm/omslmsy.fd" 1716849630 807 3de192f3efa968913bd2f096a7b430d8 "" + "/usr/share/texmf-dist/tex/latex/lm/omxlmex.fd" 1716849630 568 a5494d810f2680caf10205cd1226c76c "" + "/usr/share/texmf-dist/tex/latex/lm/ot1lmr.fd" 1716849630 1882 28c08db1407ebff35a658fd141753d16 "" + "/usr/share/texmf-dist/tex/latex/lm/t1lmr.fd" 1716849630 1867 996fe743d88a01aca041ed22cc10e1bb "" + "/usr/share/texmf-dist/tex/latex/lm/t1lmss.fd" 1716849630 1641 f48673bce41ac279099d0c9523459753 "" + "/usr/share/texmf-dist/tex/latex/lm/t1lmtt.fd" 1716849630 2682 555da1faa2e266801e4b221d01a42cb5 "" + "/usr/share/texmf-dist/tex/latex/lm/ts1lmr.fd" 1716849630 1914 884882d7ebb0fd65cea93fca77ff6f5a "" + "/usr/share/texmf-dist/tex/latex/logreq/logreq.def" 1716849630 1620 fb1c32b818f2058eca187e5c41dfae77 "" + "/usr/share/texmf-dist/tex/latex/logreq/logreq.sty" 1716849630 6187 b27afc771af565d3a9ff1ca7d16d0d46 "" + "/usr/share/texmf-dist/tex/latex/mfirstuc/mfirstuc.sty" 1716849630 18649 0158a8d684645a30f5c01e471f44e851 "" + "/usr/share/texmf-dist/tex/latex/microtype/microtype-pdftex.def" 1716849630 48246 c3eed060aba663f58af3ff756e83f2bd "" + "/usr/share/texmf-dist/tex/latex/microtype/microtype.cfg" 1716849630 26842 05a01d67d23e805520393a049533b8c0 "" + "/usr/share/texmf-dist/tex/latex/microtype/microtype.sty" 1716849630 98531 f79ec363f3014ada2cb766715926ecc9 "" + "/usr/share/texmf-dist/tex/latex/microtype/mt-cmr.cfg" 1716849630 22906 7a8d9f8766e60f694cdde7648421c2ab "" + "/usr/share/texmf-dist/tex/latex/microtype/mt-msa.cfg" 1716849630 5929 0e1d31c98c10fece90f470d5746ecdd6 "" + "/usr/share/texmf-dist/tex/latex/microtype/mt-msb.cfg" 1716849630 5594 45ca1ba048c2fa6267d5419cc463d804 "" + "/usr/share/texmf-dist/tex/latex/nag/nag-l2tabu.cfg" 1716849630 7633 a41632614a92dd522918e41a3b780a40 "" + "/usr/share/texmf-dist/tex/latex/nag/nag-orthodox.cfg" 1716849630 1469 7d22b63e3d3989eea7b63602dd8de79f "" + "/usr/share/texmf-dist/tex/latex/nag/nag.sty" 1716849630 14182 062a686afa2d58447e49360be4df373b "" + "/usr/share/texmf-dist/tex/latex/pdflscape/pdflscape-nometadata.sty" 1716849630 6572 ea530fbbe537629fd97736d33babc07d "" + "/usr/share/texmf-dist/tex/latex/pdflscape/pdflscape.sty" 1716849630 2224 1230ab76aa62221ccbd90bca8c8c015e "" + "/usr/share/texmf-dist/tex/latex/pdfpages/pdfpages.sty" 1716849630 54914 ea9713532d0d0ae802ca2446650f9ded "" + "/usr/share/texmf-dist/tex/latex/pdfpages/pppdftex.def" 1716849630 6591 249ecc067cc3246c4ed39a577ded77e3 "" + "/usr/share/texmf-dist/tex/latex/pgf-pie/pgf-pie.sty" 1716849630 235 27eb33457ea75445bb99c64f6d935690 "" + "/usr/share/texmf-dist/tex/latex/pgf-pie/tikzlibrarypie.code.tex" 1716849630 14000 29db17eb16436bea851cf45e6d962444 "" + "/usr/share/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty" 1716849630 1090 bae35ef70b3168089ef166db3e66f5b2 "" + "/usr/share/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty" 1716849630 373 00b204b1d7d095b892ad31a7494b0373 "" + "/usr/share/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.sty" 1716849630 21013 f4ff83d25bb56552493b030f27c075ae "" + "/usr/share/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18.sty" 1716849630 989 c49c8ae06d96f8b15869da7428047b1e "" + "/usr/share/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty" 1716849630 339 c2e180022e3afdb99c7d0ea5ce469b7d "" + "/usr/share/texmf-dist/tex/latex/pgf/math/pgfmath.sty" 1716849630 306 c56a323ca5bf9242f54474ced10fca71 "" + "/usr/share/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty" 1716849630 443 8c872229db56122037e86bcda49e14f3 "" + "/usr/share/texmf-dist/tex/latex/pgf/utilities/pgffor.sty" 1716849630 348 ee405e64380c11319f0e249fed57e6c5 "" + "/usr/share/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty" 1716849630 274 5ae372b7df79135d240456a1c6f2cf9a "" + "/usr/share/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty" 1716849630 325 f9f16d12354225b7dd52a3321f085955 "" + "/usr/share/texmf-dist/tex/latex/pgfopts/pgfopts.sty" 1716849630 5540 d5c60cf09c59da351aa4023ed084e4eb "" + "/usr/share/texmf-dist/tex/latex/pgfplots/pgfplots.sty" 1716849630 4904 ee78b44e85d6fccf08cd99370557481e "" + "/usr/share/texmf-dist/tex/latex/refcount/refcount.sty" 1716849630 9878 9e94e8fa600d95f9c7731bb21dfb67a4 "" + "/usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty" 1716849630 9714 ba3194bd52c8499b3f1e3eb91d409670 "" + "/usr/share/texmf-dist/tex/latex/setspace/setspace.sty" 1716849630 22490 8cac309b79a4c53a4ffce4b1b07aead0 "" + "/usr/share/texmf-dist/tex/latex/substr/substr.sty" 1716849630 5724 d3505925e87b345f11a5f17d58550dea "" + "/usr/share/texmf-dist/tex/latex/supertabular/supertabular.sty" 1716849630 15405 31e477e611bb77761a134e5593e8119d "" + "/usr/share/texmf-dist/tex/latex/todonotes/todonotes.sty" 1716849630 21404 916e19cbd009b6d289c8194b313d3895 "" + "/usr/share/texmf-dist/tex/latex/tools/array.sty" 1716849630 12667 e4b5eb11e4b7239e6c8a52bbe074a6c6 "" + "/usr/share/texmf-dist/tex/latex/tools/calc.sty" 1716849630 10214 547fd4d29642cb7c80bf54b49d447f01 "" + "/usr/share/texmf-dist/tex/latex/tools/longtable.sty" 1716849630 12935 94a3291359b5f73ff1b19345a6983105 "" + "/usr/share/texmf-dist/tex/latex/tracklang/tracklang.sty" 1716849630 9021 97184989e222403ee383aaf91e0f1ae0 "" + "/usr/share/texmf-dist/tex/latex/translator/translator.sty" 1716849630 8765 56d370785f0143111ff9898b5adfe08e "" + "/usr/share/texmf-dist/tex/latex/trimspaces/trimspaces.sty" 1716849630 1380 971a51b00a14503ddf754cab24c3f209 "" + "/usr/share/texmf-dist/tex/latex/url/url.sty" 1716849630 12796 8edb7d69a20b857904dd0ea757c14ec9 "" + "/usr/share/texmf-dist/tex/latex/wrapfig/wrapfig.sty" 1716849630 26220 3701aebf80ccdef248c0c20dd062fea9 "" + "/usr/share/texmf-dist/tex/latex/xcolor/xcolor.sty" 1716849630 55487 80a65caedd3722f4c20a14a69e785d8f "" + "/usr/share/texmf-dist/tex/latex/xfor/xfor.sty" 1716849630 2689 44855b72da58344b1c1d9b3087bce6ca "" + "/usr/share/texmf-dist/tex/latex/xkeyval/xkeyval.sty" 1716849630 4937 4ce600ce9bd4ec84d0250eb6892fcf4f "" + "/usr/share/texmf-dist/tex/latex/xpatch/xpatch.sty" 1716849630 8314 7803f78066c4f9d008405191a4b43073 "" + "/usr/share/texmf-dist/web2c/texmf.cnf" 1716849630 41588 b43d3e860a4f94167ee1e725ff526a72 "" + "/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map" 1717169733.52637 5467607 1f3b9843102088c2a7136e28f005c5e4 "" + "/var/lib/texmf/web2c/pdftex/pdflatex.fmt" 1717169731 8555700 87a1c7b150cc2e03770b89bdf648f22c "" + "ads/cover.tex" 1721429458.02486 1826 220af11ecc5bf6eb31fab5959e925666 "" + "ads/declaration.tex" 1721429458.02486 1458 772087beed44b55eff6c6004a3269d62 "" + "ads/header.tex" 1721429630.74268 5133 26d66d29979be00fb678fe3d9a862d64 "" + "content/abstract.tex" 1713883594.46783 1014 fc7b145c55e8d3076f6417ba88b88bf7 "" + "content/acronyms.tex" 1721429630.74268 375 3826e57933403627b95adc0a81148488 "" + "content/appendix.tex" 1721429458.02486 2666 53ba540cf6ffac55e7aaaa1a8af22207 "" + "content/chapter/01.tex" 1721429630.74268 31818 4bd91c8ac34ea770f0141d635deb78d7 "" + "content/chapter/02.tex" 1721429458.02819 23089 13f8b87b01d51a03a025980cb29cfa54 "" + "content/chapter/03.tex" 1721429630.74268 29942 78496294b17a3d218f93b788df99d213 "" + "content/chapter/04.tex" 1721429630.74268 7568 319b11d5fbd90796eeab165e4428b9ca "" + "content/chapter/05.tex" 1721429458.02819 3972 7d95b074a06785ec15491f08c4aec5ac "" + "content/glossary.tex" 1721429458.02819 996 20079a24629ca1a7d604c600540cd63f "" + "images/cover/logo-dhbw.pdf" 1713883594.46783 16447 f9d7cbf73a36b16358d1e48fd59b4ef5 "" + "lang/de.tex" 1721429458.02819 1305 7e59f300f3f47bea3c68af9995acd2e2 "" + "main.aux" 1721429638.71304 49892 68b6c8e7bd65256bbb03967a53059e91 "pdflatex" + "main.bbl" 1721429477.3424 55178 df5f5d175c269048b897cef96297f0d6 "biber main" + "main.gls" 0 -1 0 "" + "main.glsdefs" 1721429638.67304 0 d41d8cd98f00b204e9800998ecf8427e "pdflatex" + "main.lof" 1721429638.72638 1691 4ba1732a1c204dd9655820fc88e66ece "pdflatex" + "main.lol" 1721429638.72638 4571 fa7fafd15fffb634aca7414a5e90d0a9 "pdflatex" + "main.lot" 1721429638.72638 777 8f5d49507a65f68946e4c3f02906f835 "pdflatex" + "main.run.xml" 1721429638.72638 2369 ccb474562fe6aac7c928c718dad4b48f "pdflatex" + "main.tex" 1721429458.03153 1786 28a6cde893ddc9c505d4925fdced8afc "" + "main.toc" 1721429638.72638 3601 0f4943bebc8552f39a486142f6bda189 "pdflatex" + "settings/document.tex" 1721429458.03153 1628 490faa8c538c1bcd92d1e6db739981f4 "" + "settings/main.tex" 1721429630.74268 2026 477df195b5c9791e4b93d58f938d218c "" + (generated) + "main.aux" + "main.bcf" + "main.glo" + "main.glsdefs" + "main.ist" + "main.lof" + "main.log" + "main.lol" + "main.lot" + "main.pdf" + "main.run.xml" + "main.toc" + (rewritten before read) diff --git a/Studienarbeit/main.fls b/Studienarbeit/main.fls new file mode 100644 index 0000000..0d15fca --- /dev/null +++ b/Studienarbeit/main.fls @@ -0,0 +1,860 @@ +PWD /home/julian/Programmierung/uni/Studienarbeit/Studienarbeit +INPUT /usr/share/texmf-dist/web2c/texmf.cnf +INPUT /var/lib/texmf/web2c/pdftex/pdflatex.fmt +INPUT main.tex +OUTPUT main.log +INPUT ./ads/header.tex +INPUT ./ads/header.tex +INPUT ./ads/header.tex +INPUT ./ads/header.tex +INPUT ads/header.tex +INPUT /usr/share/texmf-dist/tex/latex/nag/nag.sty +INPUT /usr/share/texmf-dist/tex/latex/nag/nag.sty +INPUT /usr/share/texmf-dist/tex/latex/nag/nag-l2tabu.cfg +INPUT /usr/share/texmf-dist/tex/latex/nag/nag-l2tabu.cfg +INPUT /usr/share/texmf-dist/tex/latex/nag/nag-l2tabu.cfg +INPUT /usr/share/texmf-dist/tex/latex/nag/nag-orthodox.cfg +INPUT /usr/share/texmf-dist/tex/latex/nag/nag-orthodox.cfg +INPUT /usr/share/texmf-dist/tex/latex/nag/nag-orthodox.cfg +INPUT /usr/share/texmf-dist/tex/latex/koma-script/scrreprt.cls +INPUT /usr/share/texmf-dist/tex/latex/koma-script/scrreprt.cls +INPUT /usr/share/texmf-dist/tex/latex/koma-script/scrkbase.sty +INPUT /usr/share/texmf-dist/tex/latex/koma-script/scrkbase.sty +INPUT /usr/share/texmf-dist/tex/latex/koma-script/scrbase.sty +INPUT /usr/share/texmf-dist/tex/latex/koma-script/scrbase.sty +INPUT /usr/share/texmf-dist/tex/latex/koma-script/scrlfile.sty +INPUT /usr/share/texmf-dist/tex/latex/koma-script/scrlfile.sty +INPUT /usr/share/texmf-dist/tex/latex/koma-script/scrlfile-hook.sty +INPUT /usr/share/texmf-dist/tex/latex/koma-script/scrlfile-hook.sty +INPUT /usr/share/texmf-dist/tex/latex/koma-script/scrlogo.sty +INPUT /usr/share/texmf-dist/tex/latex/koma-script/scrlogo.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty +INPUT /usr/share/texmf-dist/tex/latex/koma-script/tocbasic.sty +INPUT /usr/share/texmf-dist/tex/latex/koma-script/tocbasic.sty +INPUT /usr/share/texmf-dist/tex/latex/koma-script/typearea.sty +INPUT /usr/share/texmf-dist/tex/latex/footmisc/footmisc.sty +INPUT /usr/share/texmf-dist/tex/latex/koma-script/scrsize12pt.clo +INPUT /usr/share/texmf-dist/tex/latex/koma-script/scrsize12pt.clo +INPUT /usr/share/texmf-dist/tex/latex/koma-script/scrsize12pt.clo +INPUT /usr/share/texmf-dist/fonts/map/fontname/texfonts.map +INPUT /usr/share/texmf-dist/fonts/tfm/public/cm/cmr12.tfm +INPUT /usr/share/texmf-dist/tex/latex/koma-script/typearea.sty +INPUT /usr/share/texmf-dist/tex/generic/xstring/xstring.sty +INPUT /usr/share/texmf-dist/tex/generic/xstring/xstring.sty +INPUT /usr/share/texmf-dist/tex/generic/xstring/xstring.tex +INPUT /usr/share/texmf-dist/tex/latex/base/inputenc.sty +INPUT /usr/share/texmf-dist/tex/latex/base/inputenc.sty +INPUT /usr/share/texmf-dist/tex/latex/base/fontenc.sty +INPUT /usr/share/texmf-dist/tex/latex/base/fontenc.sty +INPUT /usr/share/texmf-dist/fonts/tfm/jknappen/ec/ecrm1200.tfm +INPUT ./settings/main.tex +INPUT ./settings/main.tex +INPUT ./settings/main.tex +INPUT ./settings/main.tex +INPUT settings/main.tex +INPUT ./settings/document.tex +INPUT ./settings/document.tex +INPUT ./settings/document.tex +INPUT ./settings/document.tex +INPUT settings/document.tex +INPUT ./lang/de.tex +INPUT ./lang/de.tex +INPUT ./lang/de.tex +INPUT ./lang/de.tex +INPUT lang/de.tex +INPUT /usr/share/texmf-dist/tex/generic/babel/babel.sty +INPUT /usr/share/texmf-dist/tex/generic/babel/babel.sty +INPUT /usr/share/texmf-dist/tex/generic/babel/txtbabel.def +INPUT /usr/share/texmf-dist/tex/generic/babel-english/english.ldf +INPUT /usr/share/texmf-dist/tex/generic/babel-english/english.ldf +INPUT /usr/share/texmf-dist/tex/generic/babel-english/english.ldf +INPUT /usr/share/texmf-dist/tex/generic/babel-german/ngerman.ldf +INPUT /usr/share/texmf-dist/tex/generic/babel-german/ngerman.ldf +INPUT /usr/share/texmf-dist/tex/generic/babel-german/ngerman.ldf +INPUT /usr/share/texmf-dist/tex/generic/babel-german/ngermanb.ldf +INPUT /usr/share/texmf-dist/tex/generic/babel/locale/de/babel-ngerman.tex +INPUT /usr/share/texmf-dist/tex/generic/babel/locale/de/babel-ngerman.tex +INPUT /usr/share/texmf-dist/tex/generic/babel/locale/de/babel-ngerman.tex +INPUT /usr/share/texmf-dist/tex/generic/babel/locale/de/babel-de.ini +INPUT /usr/share/texmf-dist/tex/generic/babel/locale/en/babel-english.tex +INPUT /usr/share/texmf-dist/tex/generic/babel/locale/en/babel-english.tex +INPUT /usr/share/texmf-dist/tex/generic/babel/locale/en/babel-english.tex +INPUT /usr/share/texmf-dist/tex/generic/babel/locale/en/babel-en.ini +INPUT /usr/share/texmf-dist/tex/latex/geometry/geometry.sty +INPUT /usr/share/texmf-dist/tex/latex/geometry/geometry.sty +INPUT /usr/share/texmf-dist/tex/generic/iftex/ifvtex.sty +INPUT /usr/share/texmf-dist/tex/generic/iftex/ifvtex.sty +INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty +INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty +INPUT /usr/share/texmf-dist/tex/latex/microtype/microtype.sty +INPUT /usr/share/texmf-dist/tex/latex/microtype/microtype.sty +INPUT /usr/share/texmf-dist/tex/latex/etoolbox/etoolbox.sty +INPUT /usr/share/texmf-dist/tex/latex/etoolbox/etoolbox.sty +INPUT /usr/share/texmf-dist/tex/latex/microtype/microtype-pdftex.def +INPUT /usr/share/texmf-dist/tex/latex/microtype/microtype-pdftex.def +INPUT /usr/share/texmf-dist/tex/latex/microtype/microtype-pdftex.def +INPUT /usr/share/texmf-dist/tex/latex/microtype/microtype.cfg +INPUT /usr/share/texmf-dist/tex/latex/microtype/microtype.cfg +INPUT /usr/share/texmf-dist/tex/latex/microtype/microtype.cfg +INPUT /usr/share/texmf-dist/tex/latex/setspace/setspace.sty +INPUT /usr/share/texmf-dist/tex/latex/setspace/setspace.sty +INPUT /usr/share/texmf-dist/tex/latex/base/makeidx.sty +INPUT /usr/share/texmf-dist/tex/latex/base/makeidx.sty +INPUT /usr/share/texmf-dist/tex/latex/csquotes/csquotes.sty +INPUT /usr/share/texmf-dist/tex/latex/csquotes/csquotes.sty +INPUT /usr/share/texmf-dist/tex/latex/csquotes/csquotes.def +INPUT /usr/share/texmf-dist/tex/latex/csquotes/csquotes.def +INPUT /usr/share/texmf-dist/tex/latex/csquotes/csquotes.def +INPUT /usr/share/texmf-dist/tex/latex/csquotes/csquotes.cfg +INPUT /usr/share/texmf-dist/tex/latex/csquotes/csquotes.cfg +INPUT /usr/share/texmf-dist/tex/latex/csquotes/csquotes.cfg +INPUT /usr/share/texmf-dist/tex/latex/tools/longtable.sty +INPUT /usr/share/texmf-dist/tex/latex/tools/longtable.sty +INPUT /usr/share/texmf-dist/tex/latex/enumitem/enumitem.sty +INPUT /usr/share/texmf-dist/tex/latex/enumitem/enumitem.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/graphicx.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/graphicx.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/graphics.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/graphics.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/trig.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/trig.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +INPUT /usr/share/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +INPUT /usr/share/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +INPUT /usr/share/texmf-dist/tex/latex/graphics-def/pdftex.def +INPUT /usr/share/texmf-dist/tex/latex/graphics-def/pdftex.def +INPUT /usr/share/texmf-dist/tex/latex/graphics-def/pdftex.def +INPUT /usr/share/texmf-dist/tex/latex/pdfpages/pdfpages.sty +INPUT /usr/share/texmf-dist/tex/latex/pdfpages/pdfpages.sty +INPUT /usr/share/texmf-dist/tex/latex/base/ifthen.sty +INPUT /usr/share/texmf-dist/tex/latex/base/ifthen.sty +INPUT /usr/share/texmf-dist/tex/latex/tools/calc.sty +INPUT /usr/share/texmf-dist/tex/latex/tools/calc.sty +INPUT /usr/share/texmf-dist/tex/latex/eso-pic/eso-pic.sty +INPUT /usr/share/texmf-dist/tex/latex/eso-pic/eso-pic.sty +INPUT /usr/share/texmf-dist/tex/latex/xcolor/xcolor.sty +INPUT /usr/share/texmf-dist/tex/latex/xcolor/xcolor.sty +INPUT /usr/share/texmf-dist/tex/latex/xcolor/xcolor.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics-cfg/color.cfg +INPUT /usr/share/texmf-dist/tex/latex/graphics-cfg/color.cfg +INPUT /usr/share/texmf-dist/tex/latex/graphics-cfg/color.cfg +INPUT /usr/share/texmf-dist/tex/latex/graphics/mathcolor.ltx +INPUT /usr/share/texmf-dist/tex/latex/graphics/mathcolor.ltx +INPUT /usr/share/texmf-dist/tex/latex/graphics/mathcolor.ltx +INPUT /usr/share/texmf-dist/tex/latex/pdfpages/pppdftex.def +INPUT /usr/share/texmf-dist/tex/latex/pdfpages/pppdftex.def +INPUT /usr/share/texmf-dist/tex/latex/pdfpages/pppdftex.def +INPUT /usr/share/texmf-dist/tex/latex/float/float.sty +INPUT /usr/share/texmf-dist/tex/latex/float/float.sty +INPUT /usr/share/texmf-dist/tex/latex/tools/array.sty +INPUT /usr/share/texmf-dist/tex/latex/tools/array.sty +INPUT /usr/share/texmf-dist/tex/latex/eurosym/eurosym.sty +INPUT /usr/share/texmf-dist/tex/latex/eurosym/eurosym.sty +INPUT /usr/share/texmf-dist/tex/latex/wrapfig/wrapfig.sty +INPUT /usr/share/texmf-dist/tex/latex/wrapfig/wrapfig.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/utilities/pgffor.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/utilities/pgffor.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty +INPUT /usr/share/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def +INPUT /usr/share/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/pgf.revision.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/pgf.revision.tex +INPUT /usr/share/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty +INPUT /usr/share/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/utilities/pgfkeyslibraryfiltered.code.tex +INPUT /usr/share/texmf-dist/tex/latex/pgf/math/pgfmath.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/math/pgfmath.sty +INPUT /usr/share/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.trigonometric.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.random.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.comparison.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.base.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.round.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.misc.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.integerarithmetics.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/math/pgfmathcalc.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfloat.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex +INPUT /usr/share/texmf-dist/tex/latex/footmisc/footmisc.sty +INPUT /usr/share/texmf-dist/tex/latex/bigfoot/perpage.sty +INPUT /usr/share/texmf-dist/tex/latex/bigfoot/perpage.sty +INPUT /usr/share/texmf-dist/tex/latex/acronym/acronym.sty +INPUT /usr/share/texmf-dist/tex/latex/acronym/acronym.sty +INPUT /usr/share/texmf-dist/tex/latex/bigfoot/suffix.sty +INPUT /usr/share/texmf-dist/tex/latex/bigfoot/suffix.sty +INPUT /usr/share/texmf-dist/tex/latex/listings/listings.sty +INPUT /usr/share/texmf-dist/tex/latex/listings/listings.sty +INPUT /usr/share/texmf-dist/tex/latex/listings/lstpatch.sty +INPUT /usr/share/texmf-dist/tex/latex/listings/lstpatch.sty +INPUT /usr/share/texmf-dist/tex/latex/listings/lstpatch.sty +INPUT /usr/share/texmf-dist/tex/latex/listings/lstmisc.sty +INPUT /usr/share/texmf-dist/tex/latex/listings/lstmisc.sty +INPUT /usr/share/texmf-dist/tex/latex/listings/lstmisc.sty +INPUT /usr/share/texmf-dist/tex/latex/listings/listings.cfg +INPUT /usr/share/texmf-dist/tex/latex/listings/listings.cfg +INPUT /usr/share/texmf-dist/tex/latex/listings/listings.cfg +INPUT /usr/share/texmf-dist/tex/latex/todonotes/todonotes.sty +INPUT /usr/share/texmf-dist/tex/latex/todonotes/todonotes.sty +INPUT /usr/share/texmf-dist/tex/latex/xkeyval/xkeyval.sty +INPUT /usr/share/texmf-dist/tex/latex/xkeyval/xkeyval.sty +INPUT /usr/share/texmf-dist/tex/generic/xkeyval/xkeyval.tex +INPUT /usr/share/texmf-dist/tex/generic/xkeyval/xkvutils.tex +INPUT /usr/share/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty +INPUT /usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg +INPUT /usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-pdftex.def +INPUT /usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-pdftex.def +INPUT /usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-pdf.def +INPUT /usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/math/pgfint.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconstruct.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathusage.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransformations.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorequick.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreobjects.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathprocessing.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorearrows.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreimage.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreexternal.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorelayers.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransparency.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepatterns.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorerdf.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/modules/pgfmoduleplot.code.tex +INPUT /usr/share/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18.sty +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytopaths.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytopaths.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarypositioning.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarypositioning.code.tex +INPUT /usr/share/texmf-dist/tex/latex/graphics/rotating.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/rotating.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/lscape.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/lscape.sty +INPUT /usr/share/texmf-dist/tex/latex/amsmath/amsmath.sty +INPUT /usr/share/texmf-dist/tex/latex/amsmath/amsmath.sty +INPUT /usr/share/texmf-dist/tex/latex/amsmath/amsopn.sty +INPUT /usr/share/texmf-dist/tex/latex/amsmath/amstext.sty +INPUT /usr/share/texmf-dist/tex/latex/amsmath/amstext.sty +INPUT /usr/share/texmf-dist/tex/latex/amsmath/amsgen.sty +INPUT /usr/share/texmf-dist/tex/latex/amsmath/amsgen.sty +INPUT /usr/share/texmf-dist/tex/latex/amsmath/amsbsy.sty +INPUT /usr/share/texmf-dist/tex/latex/amsmath/amsbsy.sty +INPUT /usr/share/texmf-dist/tex/latex/amsmath/amsopn.sty +INPUT /usr/share/texmf-dist/tex/latex/amsfonts/amssymb.sty +INPUT /usr/share/texmf-dist/tex/latex/amsfonts/amssymb.sty +INPUT /usr/share/texmf-dist/tex/latex/amsfonts/amsfonts.sty +INPUT /usr/share/texmf-dist/tex/latex/amsfonts/amsfonts.sty +INPUT /usr/share/texmf-dist/tex/latex/lm/lmodern.sty +INPUT /usr/share/texmf-dist/tex/latex/lm/lmodern.sty +INPUT /usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty +INPUT /usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty +INPUT /usr/share/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty +INPUT /usr/share/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty +INPUT /usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty +INPUT /usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty +INPUT /usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty +INPUT /usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty +INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty +INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty +INPUT /usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty +INPUT /usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty +INPUT /usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty +INPUT /usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty +INPUT /usr/share/texmf-dist/tex/latex/hyperref/nameref.sty +INPUT /usr/share/texmf-dist/tex/latex/hyperref/nameref.sty +INPUT /usr/share/texmf-dist/tex/latex/refcount/refcount.sty +INPUT /usr/share/texmf-dist/tex/latex/refcount/refcount.sty +INPUT /usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty +INPUT /usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty +INPUT /usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty +INPUT /usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty +INPUT /usr/share/texmf-dist/tex/latex/hyperref/pd1enc.def +INPUT /usr/share/texmf-dist/tex/latex/hyperref/pd1enc.def +INPUT /usr/share/texmf-dist/tex/latex/hyperref/pd1enc.def +INPUT /usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty +INPUT /usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty +INPUT /usr/share/texmf-dist/tex/latex/hyperref/puenc.def +INPUT /usr/share/texmf-dist/tex/latex/hyperref/puenc.def +INPUT /usr/share/texmf-dist/tex/latex/hyperref/puenc.def +INPUT /usr/share/texmf-dist/tex/latex/graphics/color.sty +INPUT /usr/share/texmf-dist/tex/latex/url/url.sty +INPUT /usr/share/texmf-dist/tex/latex/url/url.sty +INPUT /usr/share/texmf-dist/tex/generic/bitset/bitset.sty +INPUT /usr/share/texmf-dist/tex/generic/bitset/bitset.sty +INPUT /usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty +INPUT /usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty +INPUT /usr/share/texmf-dist/tex/generic/atbegshi/atbegshi.sty +INPUT /usr/share/texmf-dist/tex/latex/base/atbegshi-ltx.sty +INPUT /usr/share/texmf-dist/tex/latex/base/atbegshi-ltx.sty +INPUT /usr/share/texmf-dist/tex/latex/hyperref/hpdftex.def +INPUT /usr/share/texmf-dist/tex/latex/hyperref/hpdftex.def +INPUT /usr/share/texmf-dist/tex/latex/hyperref/hpdftex.def +INPUT /usr/share/texmf-dist/tex/latex/atveryend/atveryend.sty +INPUT /usr/share/texmf-dist/tex/latex/base/atveryend-ltx.sty +INPUT /usr/share/texmf-dist/tex/latex/base/atveryend-ltx.sty +INPUT /usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty +INPUT /usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty +INPUT /usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty +INPUT /usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty +INPUT /usr/share/texmf-dist/tex/latex/bookmark/bookmark.sty +INPUT /usr/share/texmf-dist/tex/latex/bookmark/bookmark.sty +INPUT /usr/share/texmf-dist/tex/latex/bookmark/bkm-pdftex.def +INPUT /usr/share/texmf-dist/tex/latex/bookmark/bkm-pdftex.def +INPUT /usr/share/texmf-dist/tex/latex/bookmark/bkm-pdftex.def +INPUT /usr/share/texmf-dist/tex/latex/glossaries/base/glossaries.sty +INPUT /usr/share/texmf-dist/tex/latex/glossaries/base/glossaries.sty +INPUT /usr/share/texmf-dist/tex/latex/mfirstuc/mfirstuc.sty +INPUT /usr/share/texmf-dist/tex/latex/mfirstuc/mfirstuc.sty +INPUT /usr/share/texmf-dist/tex/latex/xfor/xfor.sty +INPUT /usr/share/texmf-dist/tex/latex/xfor/xfor.sty +INPUT /usr/share/texmf-dist/tex/latex/datatool/datatool-base.sty +INPUT /usr/share/texmf-dist/tex/latex/datatool/datatool-base.sty +INPUT /usr/share/texmf-dist/tex/latex/substr/substr.sty +INPUT /usr/share/texmf-dist/tex/latex/substr/substr.sty +INPUT /usr/share/texmf-dist/tex/latex/datatool/datatool-fp.sty +INPUT /usr/share/texmf-dist/tex/latex/datatool/datatool-fp.sty +INPUT /usr/share/texmf-dist/tex/latex/fp/fp.sty +INPUT /usr/share/texmf-dist/tex/latex/fp/fp.sty +INPUT /usr/share/texmf-dist/tex/latex/fp/defpattern.sty +INPUT /usr/share/texmf-dist/tex/latex/fp/defpattern.sty +INPUT /usr/share/texmf-dist/tex/latex/fp/fp-basic.sty +INPUT /usr/share/texmf-dist/tex/latex/fp/fp-basic.sty +INPUT /usr/share/texmf-dist/tex/latex/fp/fp-addons.sty +INPUT /usr/share/texmf-dist/tex/latex/fp/fp-addons.sty +INPUT /usr/share/texmf-dist/tex/latex/fp/fp-snap.sty +INPUT /usr/share/texmf-dist/tex/latex/fp/fp-snap.sty +INPUT /usr/share/texmf-dist/tex/latex/fp/fp-exp.sty +INPUT /usr/share/texmf-dist/tex/latex/fp/fp-exp.sty +INPUT /usr/share/texmf-dist/tex/latex/fp/fp-trigo.sty +INPUT /usr/share/texmf-dist/tex/latex/fp/fp-trigo.sty +INPUT /usr/share/texmf-dist/tex/latex/fp/fp-pas.sty +INPUT /usr/share/texmf-dist/tex/latex/fp/fp-pas.sty +INPUT /usr/share/texmf-dist/tex/latex/fp/fp-random.sty +INPUT /usr/share/texmf-dist/tex/latex/fp/fp-random.sty +INPUT /usr/share/texmf-dist/tex/latex/fp/fp-eqn.sty +INPUT /usr/share/texmf-dist/tex/latex/fp/fp-eqn.sty +INPUT /usr/share/texmf-dist/tex/latex/fp/fp-upn.sty +INPUT /usr/share/texmf-dist/tex/latex/fp/fp-upn.sty +INPUT /usr/share/texmf-dist/tex/latex/fp/fp-eval.sty +INPUT /usr/share/texmf-dist/tex/latex/fp/fp-eval.sty +INPUT /usr/share/texmf-dist/tex/latex/supertabular/supertabular.sty +INPUT /usr/share/texmf-dist/tex/latex/supertabular/supertabular.sty +INPUT /usr/share/texmf-dist/tex/latex/tracklang/tracklang.sty +INPUT /usr/share/texmf-dist/tex/latex/tracklang/tracklang.sty +INPUT /usr/share/texmf-dist/tex/generic/tracklang/tracklang.tex +INPUT /usr/share/texmf-dist/tex/generic/tracklang/tracklang.tex +INPUT /usr/share/texmf-dist/tex/generic/tracklang/tracklang.tex +INPUT /usr/share/texmf-dist/tex/generic/tracklang/tracklang.tex +INPUT /usr/share/texmf-dist/tex/generic/tracklang/tracklang.tex +INPUT /usr/share/texmf-dist/tex/latex/translator/translator.sty +INPUT /usr/share/texmf-dist/tex/latex/translator/translator.sty +INPUT /usr/share/texmf-dist/tex/latex/translator/translator.sty +INPUT /usr/share/texmf-dist/tex/latex/glossaries-german/glossaries-german.ldf +INPUT /usr/share/texmf-dist/tex/latex/glossaries-german/glossaries-german.ldf +INPUT /usr/share/texmf-dist/tex/latex/glossaries-german/glossaries-german.ldf +INPUT /usr/share/texmf-dist/tex/latex/glossaries-english/glossaries-english.ldf +INPUT /usr/share/texmf-dist/tex/latex/glossaries-english/glossaries-english.ldf +INPUT /usr/share/texmf-dist/tex/latex/glossaries-english/glossaries-english.ldf +INPUT /usr/share/texmf-dist/tex/latex/glossaries/styles/glossary-hypernav.sty +INPUT /usr/share/texmf-dist/tex/latex/glossaries/styles/glossary-hypernav.sty +INPUT /usr/share/texmf-dist/tex/latex/glossaries/styles/glossary-list.sty +INPUT /usr/share/texmf-dist/tex/latex/glossaries/styles/glossary-list.sty +INPUT /usr/share/texmf-dist/tex/latex/glossaries/styles/glossary-long.sty +INPUT /usr/share/texmf-dist/tex/latex/glossaries/styles/glossary-long.sty +INPUT /usr/share/texmf-dist/tex/latex/glossaries/styles/glossary-super.sty +INPUT /usr/share/texmf-dist/tex/latex/glossaries/styles/glossary-super.sty +INPUT /usr/share/texmf-dist/tex/latex/supertabular/supertabular.sty +INPUT /usr/share/texmf-dist/tex/latex/glossaries/styles/glossary-tree.sty +INPUT /usr/share/texmf-dist/tex/latex/glossaries/styles/glossary-tree.sty +INPUT /usr/share/texmf-dist/tex/latex/fontawesome5/fontawesome5.sty +INPUT /usr/share/texmf-dist/tex/latex/fontawesome5/fontawesome5.sty +INPUT /usr/share/texmf-dist/tex/latex/l3kernel/expl3.sty +INPUT /usr/share/texmf-dist/tex/latex/l3kernel/expl3.sty +INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def +INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def +INPUT /usr/share/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty +INPUT /usr/share/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty +INPUT /usr/share/texmf-dist/tex/latex/l3packages/xparse/xparse.sty +INPUT /usr/share/texmf-dist/tex/latex/l3packages/xparse/xparse.sty +INPUT /usr/share/texmf-dist/tex/latex/fontawesome5/fontawesome5-generic-helper.sty +INPUT /usr/share/texmf-dist/tex/latex/fontawesome5/fontawesome5-generic-helper.sty +INPUT /usr/share/texmf-dist/tex/latex/fontawesome5/fontawesome5-mapping.def +INPUT /usr/share/texmf-dist/tex/latex/fontawesome5/fontawesome5-mapping.def +INPUT /usr/share/texmf-dist/tex/latex/forest/forest.sty +INPUT /usr/share/texmf-dist/tex/latex/forest/forest.sty +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.geometric.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.geometric.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.geometric.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.geometric.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.misc.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.misc.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.misc.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.misc.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.symbols.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.symbols.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.symbols.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.symbols.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.arrows.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.arrows.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.arrows.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.arrows.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.callouts.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.callouts.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.callouts.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.callouts.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.multipart.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.multipart.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.multipart.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.multipart.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryfit.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryfit.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarycalc.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarycalc.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryintersections.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryintersections.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryfpu.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryfpu.code.tex +INPUT /usr/share/texmf-dist/tex/latex/pgfopts/pgfopts.sty +INPUT /usr/share/texmf-dist/tex/latex/pgfopts/pgfopts.sty +INPUT /usr/share/texmf-dist/tex/latex/elocalloc/elocalloc.sty +INPUT /usr/share/texmf-dist/tex/latex/elocalloc/elocalloc.sty +INPUT /usr/share/texmf-dist/tex/latex/environ/environ.sty +INPUT /usr/share/texmf-dist/tex/latex/environ/environ.sty +INPUT /usr/share/texmf-dist/tex/latex/trimspaces/trimspaces.sty +INPUT /usr/share/texmf-dist/tex/latex/trimspaces/trimspaces.sty +INPUT /usr/share/texmf-dist/tex/latex/inlinedef/inlinedef.sty +INPUT /usr/share/texmf-dist/tex/latex/inlinedef/inlinedef.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf-pie/pgf-pie.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf-pie/pgf-pie.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf-pie/tikzlibrarypie.code.tex +INPUT /usr/share/texmf-dist/tex/latex/pgf-pie/tikzlibrarypie.code.tex +INPUT /usr/share/texmf-dist/tex/latex/carlisle/scalefnt.sty +INPUT /usr/share/texmf-dist/tex/latex/carlisle/scalefnt.sty +OUTPUT main.glo +INPUT /usr/share/texmf-dist/tex/latex/biblatex/biblatex.sty +INPUT /usr/share/texmf-dist/tex/latex/biblatex/biblatex.sty +INPUT /usr/share/texmf-dist/tex/latex/logreq/logreq.sty +INPUT /usr/share/texmf-dist/tex/latex/logreq/logreq.sty +INPUT /usr/share/texmf-dist/tex/latex/logreq/logreq.def +INPUT /usr/share/texmf-dist/tex/latex/logreq/logreq.def +INPUT /usr/share/texmf-dist/tex/latex/logreq/logreq.def +INPUT /usr/share/texmf-dist/tex/latex/biblatex/blx-dm.def +INPUT /usr/share/texmf-dist/tex/latex/biblatex/blx-dm.def +INPUT /usr/share/texmf-dist/tex/latex/biblatex/blx-dm.def +INPUT /usr/share/texmf-dist/tex/latex/biblatex/blx-compat.def +INPUT /usr/share/texmf-dist/tex/latex/biblatex/blx-compat.def +INPUT /usr/share/texmf-dist/tex/latex/biblatex/blx-compat.def +INPUT /usr/share/texmf-dist/tex/latex/biblatex/biblatex.def +INPUT /usr/share/texmf-dist/tex/latex/biblatex/biblatex.def +INPUT /usr/share/texmf-dist/tex/latex/biblatex/biblatex.def +INPUT /usr/share/texmf-dist/tex/latex/biblatex/bbx/numeric.bbx +INPUT /usr/share/texmf-dist/tex/latex/biblatex/bbx/numeric.bbx +INPUT /usr/share/texmf-dist/tex/latex/biblatex/bbx/numeric.bbx +INPUT /usr/share/texmf-dist/tex/latex/biblatex/bbx/standard.bbx +INPUT /usr/share/texmf-dist/tex/latex/biblatex/bbx/standard.bbx +INPUT /usr/share/texmf-dist/tex/latex/biblatex/bbx/standard.bbx +INPUT /usr/share/texmf-dist/tex/latex/biblatex/cbx/numeric.cbx +INPUT /usr/share/texmf-dist/tex/latex/biblatex/cbx/numeric.cbx +INPUT /usr/share/texmf-dist/tex/latex/biblatex/cbx/numeric.cbx +INPUT /usr/share/texmf-dist/tex/latex/biblatex/biblatex.cfg +INPUT /usr/share/texmf-dist/tex/latex/biblatex/biblatex.cfg +INPUT /usr/share/texmf-dist/tex/latex/biblatex/biblatex.cfg +INPUT /usr/share/texmf-dist/tex/latex/biblatex/blx-case-expl3.sty +INPUT /usr/share/texmf-dist/tex/latex/biblatex/blx-case-expl3.sty +INPUT /usr/share/texmf-dist/tex/latex/amscls/amsthm.sty +INPUT /usr/share/texmf-dist/tex/latex/amscls/amsthm.sty +INPUT /usr/share/texmf-dist/tex/latex/xpatch/xpatch.sty +INPUT /usr/share/texmf-dist/tex/latex/xpatch/xpatch.sty +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryarrows.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryarrows.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarybackgrounds.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarybackgrounds.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.meta.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.meta.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.meta.code.tex +INPUT /usr/share/texmf-dist/tex/latex/pgfplots/pgfplots.sty +INPUT /usr/share/texmf-dist/tex/latex/pgfplots/pgfplots.sty +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/pgfplots.revision.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/pgfplots.revision.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/pgfplots.revision.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-luatex.def +INPUT /usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-luatex.def +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/pgfplots.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/pgfplotscore.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/sys/pgfplotssysgeneric.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/libs/pgfplotslibrary.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_loader.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryfpu.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgfutil-common-lists.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/util/pgfplotsutil.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsliststructure.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsliststructureext.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsarray.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsmatrix.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/numtable/pgfplotstableshared.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsdeque.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/util/pgfplotsbinary.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/util/pgfplotsbinary.data.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/util/pgfplotsutil.verb.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/libs/pgflibrarypgfplots.surfshading.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/sys/pgflibrarypgfplots.surfshading.pgfsys-pdftex.def +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/sys/pgflibrarypgfplots.surfshading.pgfsys-pdftex.def +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/util/pgfplotscolormap.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/util/pgfplotscolor.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/pgfplotsstackedplots.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/pgfplotsplothandlers.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/pgfplotsmeshplothandler.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/pgfplotsmeshplotimage.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/pgfplots.scaling.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/pgfplotscoordprocessing.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/pgfplots.errorbars.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/pgfplots.markers.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/pgfplotsticks.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/pgfplots.paths.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/modules/pgfmoduledecorations.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.pathmorphing.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.pathmorphing.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydecorations.pathmorphing.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydecorations.pathmorphing.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.pathreplacing.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.pathreplacing.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydecorations.pathreplacing.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydecorations.pathreplacing.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.contourlua.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.contourlua.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryplotmarks.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryplotmarks.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryplotmarks.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryplotmarks.code.tex +INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang1.sty +INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang1.sty +INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang1.sty +INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang2.sty +INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang2.sty +INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang2.sty +INPUT /usr/share/texmf-dist/tex/latex/listings/lstmisc.sty +INPUT /usr/share/texmf-dist/tex/latex/listings/lstmisc.sty +INPUT /usr/share/texmf-dist/tex/latex/listings/lstmisc.sty +INPUT ./content/glossary.tex +INPUT ./content/glossary.tex +INPUT ./content/glossary.tex +INPUT ./content/glossary.tex +INPUT content/glossary.tex +INPUT /usr/share/texmf-dist/tex/latex/lm/t1lmr.fd +INPUT /usr/share/texmf-dist/tex/latex/lm/t1lmr.fd +INPUT /usr/share/texmf-dist/tex/latex/lm/t1lmr.fd +INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmr12.tfm +INPUT ./main.aux +INPUT ./main.aux +INPUT main.aux +OUTPUT main.aux +INPUT /usr/share/texmf-dist/tex/latex/microtype/mt-cmr.cfg +INPUT /usr/share/texmf-dist/tex/latex/microtype/mt-cmr.cfg +INPUT /usr/share/texmf-dist/tex/latex/microtype/mt-cmr.cfg +INPUT /usr/share/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +INPUT /usr/share/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +INPUT /usr/share/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +INPUT /usr/share/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty +INPUT /usr/share/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty +INPUT /usr/share/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg +INPUT /usr/share/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg +INPUT /usr/share/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg +INPUT /usr/share/texmf-dist/tex/latex/pdflscape/pdflscape.sty +INPUT /usr/share/texmf-dist/tex/latex/pdflscape/pdflscape.sty +INPUT /usr/share/texmf-dist/tex/latex/pdflscape/pdflscape-nometadata.sty +INPUT /usr/share/texmf-dist/tex/latex/pdflscape/pdflscape-nometadata.sty +OUTPUT main.pdf +INPUT ./main.glsdefs +INPUT ./main.glsdefs +INPUT main.glsdefs +INPUT /usr/share/texmf-dist/tex/latex/biblatex/lbx/ngerman.lbx +INPUT /usr/share/texmf-dist/tex/latex/biblatex/lbx/ngerman.lbx +INPUT /usr/share/texmf-dist/tex/latex/biblatex/lbx/ngerman.lbx +INPUT /usr/share/texmf-dist/tex/latex/biblatex/lbx/german.lbx +INPUT /usr/share/texmf-dist/tex/latex/biblatex/lbx/german.lbx +INPUT /usr/share/texmf-dist/tex/latex/biblatex/lbx/german.lbx +INPUT /usr/share/texmf-dist/tex/latex/biblatex/lbx/german.lbx +INPUT /usr/share/texmf-dist/tex/latex/biblatex/lbx/german.lbx +INPUT /usr/share/texmf-dist/tex/latex/biblatex/lbx/german.lbx +INPUT /usr/share/texmf-dist/tex/latex/biblatex/lbx/english.lbx +INPUT /usr/share/texmf-dist/tex/latex/biblatex/lbx/english.lbx +INPUT /usr/share/texmf-dist/tex/latex/biblatex/lbx/english.lbx +OUTPUT main.bcf +INPUT main.bbl +INPUT ./main.bbl +INPUT ./main.bbl +INPUT ./main.bbl +INPUT main.bbl +INPUT ./ads/cover.tex +INPUT ./ads/cover.tex +INPUT ./ads/cover.tex +INPUT ./ads/cover.tex +INPUT ads/cover.tex +INPUT ./images/cover/logo-dhbw.pdf +INPUT ./images/cover/logo-dhbw.pdf +INPUT ./images/cover/logo-dhbw.pdf +INPUT ./images/cover/logo-dhbw.pdf +INPUT ./images/cover/logo-dhbw.pdf +INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmr17.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmbx12.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmr12.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmbx12.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmbx12.tfm +OUTPUT main.ist +INPUT /var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map +INPUT /usr/share/texmf-dist/fonts/enc/dvips/lm/lm-ec.enc +INPUT ./ads/declaration.tex +INPUT ./ads/declaration.tex +INPUT ./ads/declaration.tex +INPUT ./ads/declaration.tex +INPUT ads/declaration.tex +INPUT /usr/share/texmf-dist/tex/latex/lm/t1lmss.fd +INPUT /usr/share/texmf-dist/tex/latex/lm/t1lmss.fd +INPUT /usr/share/texmf-dist/tex/latex/lm/t1lmss.fd +INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmss12.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmssbx10.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmssbx10.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmri12.tfm +INPUT ./content/abstract.tex +INPUT ./content/abstract.tex +INPUT ./content/abstract.tex +INPUT ./content/abstract.tex +INPUT content/abstract.tex +INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmssbx10.tfm +INPUT ./main.toc +INPUT ./main.toc +INPUT main.toc +INPUT /usr/share/texmf-dist/tex/latex/lm/ot1lmr.fd +INPUT /usr/share/texmf-dist/tex/latex/lm/ot1lmr.fd +INPUT /usr/share/texmf-dist/tex/latex/lm/ot1lmr.fd +INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/rm-lmr12.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/rm-lmr8.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/rm-lmr6.tfm +INPUT /usr/share/texmf-dist/tex/latex/lm/omllmm.fd +INPUT /usr/share/texmf-dist/tex/latex/lm/omllmm.fd +INPUT /usr/share/texmf-dist/tex/latex/lm/omllmm.fd +INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/lmmi12.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/lmmi8.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/lmmi6.tfm +INPUT /usr/share/texmf-dist/tex/latex/lm/omslmsy.fd +INPUT /usr/share/texmf-dist/tex/latex/lm/omslmsy.fd +INPUT /usr/share/texmf-dist/tex/latex/lm/omslmsy.fd +INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/lmsy10.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/lmsy8.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/lmsy6.tfm +INPUT /usr/share/texmf-dist/tex/latex/lm/omxlmex.fd +INPUT /usr/share/texmf-dist/tex/latex/lm/omxlmex.fd +INPUT /usr/share/texmf-dist/tex/latex/lm/omxlmex.fd +INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/lmex10.tfm +INPUT /usr/share/texmf-dist/tex/latex/amsfonts/umsa.fd +INPUT /usr/share/texmf-dist/tex/latex/amsfonts/umsa.fd +INPUT /usr/share/texmf-dist/tex/latex/amsfonts/umsa.fd +INPUT /usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm +INPUT /usr/share/texmf-dist/tex/latex/microtype/mt-msa.cfg +INPUT /usr/share/texmf-dist/tex/latex/microtype/mt-msa.cfg +INPUT /usr/share/texmf-dist/tex/latex/microtype/mt-msa.cfg +INPUT /usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam7.tfm +INPUT /usr/share/texmf-dist/tex/latex/amsfonts/umsb.fd +INPUT /usr/share/texmf-dist/tex/latex/amsfonts/umsb.fd +INPUT /usr/share/texmf-dist/tex/latex/amsfonts/umsb.fd +INPUT /usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm +INPUT /usr/share/texmf-dist/tex/latex/microtype/mt-msb.cfg +INPUT /usr/share/texmf-dist/tex/latex/microtype/mt-msb.cfg +INPUT /usr/share/texmf-dist/tex/latex/microtype/mt-msb.cfg +INPUT /usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm7.tfm +OUTPUT main.toc +INPUT ./content/acronyms.tex +INPUT ./content/acronyms.tex +INPUT ./content/acronyms.tex +INPUT ./content/acronyms.tex +INPUT content/acronyms.tex +INPUT ./main.lof +INPUT ./main.lof +INPUT main.lof +OUTPUT main.lof +INPUT ./main.lot +INPUT ./main.lot +INPUT main.lot +OUTPUT main.lot +INPUT ./main.lol +INPUT ./main.lol +INPUT main.lol +INPUT /usr/share/texmf-dist/tex/latex/lm/t1lmtt.fd +INPUT /usr/share/texmf-dist/tex/latex/lm/t1lmtt.fd +INPUT /usr/share/texmf-dist/tex/latex/lm/t1lmtt.fd +INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmtt12.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmtt10.tfm +OUTPUT main.lol +INPUT ./content/chapter/01.tex +INPUT ./content/chapter/01.tex +INPUT content/chapter/01.tex +INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmssbx10.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmr8.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmr10.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/rm-lmr10.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/rm-lmr7.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/rm-lmr5.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/lmmi10.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/lmmi7.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/lmmi5.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/lmsy10.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/lmsy7.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/lmsy5.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam7.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam5.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm7.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm5.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmr7.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmtt10.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmr10.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmr6.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmro12.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/rm-lmr10.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/lmmi10.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/lmsy10.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm +INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang1.sty +INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang1.sty +INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang1.sty +INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang2.sty +INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang2.sty +INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang2.sty +INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmtt8.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmtt8.tfm +INPUT /usr/share/texmf-dist/fonts/enc/dvips/lm/lm-mathsy.enc +INPUT /usr/share/texmf-dist/fonts/enc/dvips/lm/lm-rm.enc +INPUT /usr/share/texmf-dist/fonts/enc/dvips/lm/lm-mathit.enc +INPUT /usr/share/texmf-dist/tex/latex/lm/ts1lmr.fd +INPUT /usr/share/texmf-dist/tex/latex/lm/ts1lmr.fd +INPUT /usr/share/texmf-dist/tex/latex/lm/ts1lmr.fd +INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/ts1-lmr12.tfm +INPUT ./content/chapter/02.tex +INPUT ./content/chapter/02.tex +INPUT content/chapter/02.tex +INPUT /usr/share/texmf-dist/fonts/enc/dvips/lm/lm-ts1.enc +INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang1.sty +INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang1.sty +INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang1.sty +INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang2.sty +INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang2.sty +INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang2.sty +INPUT /usr/share/texmf-dist/tex/latex/listings/lstmisc.sty +INPUT /usr/share/texmf-dist/tex/latex/listings/lstmisc.sty +INPUT /usr/share/texmf-dist/tex/latex/listings/lstmisc.sty +INPUT /usr/share/texmf-dist/tex/latex/fontawesome5/ufontawesomefree1.fd +INPUT /usr/share/texmf-dist/tex/latex/fontawesome5/ufontawesomefree1.fd +INPUT /usr/share/texmf-dist/tex/latex/fontawesome5/ufontawesomefree1.fd +INPUT /usr/share/texmf-dist/fonts/tfm/public/fontawesome5/fa5free1solid.tfm +INPUT /usr/share/texmf-dist/tex/latex/fontawesome5/ufontawesomebrands0.fd +INPUT /usr/share/texmf-dist/tex/latex/fontawesome5/ufontawesomebrands0.fd +INPUT /usr/share/texmf-dist/tex/latex/fontawesome5/ufontawesomebrands0.fd +INPUT /usr/share/texmf-dist/fonts/tfm/public/fontawesome5/fa5brands0.tfm +INPUT /usr/share/texmf-dist/fonts/enc/dvips/fontawesome5/fa5free1.enc +INPUT /usr/share/texmf-dist/fonts/enc/dvips/fontawesome5/fa5brands0.enc +INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang1.sty +INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang1.sty +INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang1.sty +INPUT ./content/chapter/03.tex +INPUT ./content/chapter/03.tex +INPUT content/chapter/03.tex +INPUT /usr/share/texmf-dist/fonts/enc/dvips/lm/lm-mathex.enc +INPUT ./content/chapter/04.tex +INPUT ./content/chapter/04.tex +INPUT content/chapter/04.tex +INPUT ./content/chapter/05.tex +INPUT ./content/chapter/05.tex +INPUT content/chapter/05.tex +INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmcsc10.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/ts1-lmri12.tfm +INPUT content/glossary.tex +OUTPUT main.glsdefs +INPUT ./content/appendix.tex +INPUT ./content/appendix.tex +INPUT ./content/appendix.tex +INPUT ./content/appendix.tex +INPUT content/appendix.tex +INPUT main.aux +INPUT main.run.xml +OUTPUT main.run.xml +INPUT /usr/share/texmf-dist/fonts/type1/public/fontawesome5/FontAwesome5Brands-Regular.pfb +INPUT /usr/share/texmf-dist/fonts/type1/public/fontawesome5/FontAwesome5Free-Solid.pfb +INPUT /usr/share/texmf-dist/fonts/type1/public/lm/lmbx12.pfb +INPUT /usr/share/texmf-dist/fonts/type1/public/lm/lmcsc10.pfb +INPUT /usr/share/texmf-dist/fonts/type1/public/lm/lmex10.pfb +INPUT /usr/share/texmf-dist/fonts/type1/public/lm/lmmi12.pfb +INPUT /usr/share/texmf-dist/fonts/type1/public/lm/lmmi8.pfb +INPUT /usr/share/texmf-dist/fonts/type1/public/lm/lmr10.pfb +INPUT /usr/share/texmf-dist/fonts/type1/public/lm/lmr12.pfb +INPUT /usr/share/texmf-dist/fonts/type1/public/lm/lmr6.pfb +INPUT /usr/share/texmf-dist/fonts/type1/public/lm/lmr7.pfb +INPUT /usr/share/texmf-dist/fonts/type1/public/lm/lmr8.pfb +INPUT /usr/share/texmf-dist/fonts/type1/public/lm/lmri12.pfb +INPUT /usr/share/texmf-dist/fonts/type1/public/lm/lmro12.pfb +INPUT /usr/share/texmf-dist/fonts/type1/public/lm/lmssbx10.pfb +INPUT /usr/share/texmf-dist/fonts/type1/public/lm/lmsy10.pfb +INPUT /usr/share/texmf-dist/fonts/type1/public/lm/lmsy7.pfb +INPUT /usr/share/texmf-dist/fonts/type1/public/lm/lmsy8.pfb +INPUT /usr/share/texmf-dist/fonts/type1/public/lm/lmtt10.pfb +INPUT /usr/share/texmf-dist/fonts/type1/public/lm/lmtt12.pfb diff --git a/Studienarbeit/main.glo b/Studienarbeit/main.glo new file mode 100644 index 0000000..1e5baac --- /dev/null +++ b/Studienarbeit/main.glo @@ -0,0 +1,33 @@ +\glossaryentry{javac?\glossentry{javac}|setentrycounter[]{page}"\glsnumberformat}{VII} +\glossaryentry{javac?\glossentry{javac}|setentrycounter[]{page}"\glsnumberformat}{14} +\glossaryentry{javac?\glossentry{javac}|setentrycounter[]{page}"\glsnumberformat}{16} +\glossaryentry{javac?\glossentry{javac}|setentrycounter[]{page}"\glsnumberformat}{16} +\glossaryentry{javac?\glossentry{javac}|setentrycounter[]{page}"\glsnumberformat}{16} +\glossaryentry{javac?\glossentry{javac}|setentrycounter[]{page}"\glsnumberformat}{17} +\glossaryentry{javac?\glossentry{javac}|setentrycounter[]{page}"\glsnumberformat}{17} +\glossaryentry{javac?\glossentry{javac}|setentrycounter[]{page}"\glsnumberformat}{17} +\glossaryentry{javac?\glossentry{javac}|setentrycounter[]{page}"\glsnumberformat}{17} +\glossaryentry{javac?\glossentry{javac}|setentrycounter[]{page}"\glsnumberformat}{19} +\glossaryentry{javac?\glossentry{javac}|setentrycounter[]{page}"\glsnumberformat}{19} +\glossaryentry{javac?\glossentry{javac}|setentrycounter[]{page}"\glsnumberformat}{20} +\glossaryentry{javac?\glossentry{javac}|setentrycounter[]{page}"\glsnumberformat}{20} +\glossaryentry{javac?\glossentry{javac}|setentrycounter[]{page}"\glsnumberformat}{20} +\glossaryentry{javac?\glossentry{javac}|setentrycounter[]{page}"\glsnumberformat}{20} +\glossaryentry{javac?\glossentry{javac}|setentrycounter[]{page}"\glsnumberformat}{20} +\glossaryentry{javac?\glossentry{javac}|setentrycounter[]{page}"\glsnumberformat}{20} +\glossaryentry{javac?\glossentry{javac}|setentrycounter[]{page}"\glsnumberformat}{21} +\glossaryentry{JUnit?\glossentry{JUnit}|setentrycounter[]{page}"\glsnumberformat}{22} +\glossaryentry{Maven?\glossentry{Maven}|setentrycounter[]{page}"\glsnumberformat}{23} +\glossaryentry{Maven?\glossentry{Maven}|setentrycounter[]{page}"\glsnumberformat}{23} +\glossaryentry{JUnit?\glossentry{JUnit}|setentrycounter[]{page}"\glsnumberformat}{23} +\glossaryentry{JUnit?\glossentry{JUnit}|setentrycounter[]{page}"\glsnumberformat}{24} +\glossaryentry{JUnit?\glossentry{JUnit}|setentrycounter[]{page}"\glsnumberformat}{24} +\glossaryentry{Maven?\glossentry{Maven}|setentrycounter[]{page}"\glsnumberformat}{24} +\glossaryentry{JUnit?\glossentry{JUnit}|setentrycounter[]{page}"\glsnumberformat}{25} +\glossaryentry{JUnit?\glossentry{JUnit}|setentrycounter[]{page}"\glsnumberformat}{25} +\glossaryentry{JUnit?\glossentry{JUnit}|setentrycounter[]{page}"\glsnumberformat}{25} +\glossaryentry{javac?\glossentry{javac}|setentrycounter[]{page}"\glsnumberformat}{29} +\glossaryentry{Maven?\glossentry{Maven}|setentrycounter[]{page}"\glsnumberformat}{29} +\glossaryentry{javac?\glossentry{javac}|setentrycounter[]{page}"\glsnumberformat}{32} +\glossaryentry{Antlr?\glossentry{Antlr}|setentrycounter[]{page}"\glsnumberformat}{45} +\glossaryentry{ASM?\glossentry{ASM}|setentrycounter[]{page}"\glsnumberformat}{45} diff --git a/Studienarbeit/main.glsdefs b/Studienarbeit/main.glsdefs new file mode 100644 index 0000000..e69de29 diff --git a/Studienarbeit/main.ist b/Studienarbeit/main.ist new file mode 100644 index 0000000..31d24e6 --- /dev/null +++ b/Studienarbeit/main.ist @@ -0,0 +1,29 @@ +% makeindex style file created by the glossaries package +% for document 'main' on 2024-7-20 +actual '?' +encap '|' +level '!' +quote '"' +keyword "\\glossaryentry" +preamble "\\glossarysection[\\glossarytoctitle]{\\glossarytitle}\\glossarypreamble\n\\begin{theglossary}\\glossaryheader\n" +postamble "\%\n\\end{theglossary}\\glossarypostamble\n" +group_skip "\\glsgroupskip\n" +item_0 "\%\n" +item_1 "\%\n" +item_2 "\%\n" +item_01 "\%\n" +item_x1 "\\relax \\glsresetentrylist\n" +item_12 "\%\n" +item_x2 "\\relax \\glsresetentrylist\n" +delim_0 "\{\\glossaryentrynumbers\{\\relax " +delim_1 "\{\\glossaryentrynumbers\{\\relax " +delim_2 "\{\\glossaryentrynumbers\{\\relax " +delim_t "\}\}" +delim_n "\\delimN " +delim_r "\\delimR " +headings_flag 1 +heading_prefix "\\glsgroupheading\{" +heading_suffix "\}\\relax \\glsresetentrylist " +symhead_positive "glssymbols" +numhead_positive "glsnumbers" +page_compositor "." diff --git a/Studienarbeit/main.lof b/Studienarbeit/main.lof new file mode 100644 index 0000000..900586d --- /dev/null +++ b/Studienarbeit/main.lof @@ -0,0 +1,20 @@ +\babel@toc {ngerman}{}\relax +\addvspace {10\p@ } +\addvspace {10\p@ } +\contentsline {figure}{\numberline {1.1}{\ignorespaces Selbstkompilierender Compiler in Java-TX}}{15}{figure.1.1}% +\addvspace {10\p@ } +\contentsline {figure}{\numberline {2.1}{\ignorespaces Zirkuläre Abhängigkeiten zwischen Java und \ac {Java-TX} Dateien}}{16}{figure.2.1}% +\contentsline {figure}{\numberline {2.2}{\ignorespaces Zirkuläre Abhängigkeiten zwischen Java und \ac {Java-TX} Dateien behoben}}{17}{figure.2.2}% +\contentsline {figure}{\numberline {2.3}{\ignorespaces Dateistruktur des Projekts}}{22}{figure.2.3}% +\addvspace {10\p@ } +\contentsline {figure}{\numberline {3.1}{\ignorespaces Gefundene Probleme und neue Funktionen}}{26}{figure.3.1}% +\contentsline {figure}{\numberline {3.2}{\ignorespaces Die Classloader Hierarchie des \glqq {}Java-TX Compiler\grqq {}{} (vgl. \blx@tocontentsinit {0}\cite {nero_all_2023})}}{30}{figure.3.2}% +\contentsline {figure}{\numberline {3.3}{\ignorespaces Die Classloader Hierarchie des \glqq {}Java-TX Compiler\grqq {}{} ohne den ApplicationClassLoader}}{31}{figure.3.3}% +\contentsline {figure}{\numberline {3.4}{\ignorespaces Primitive Datentypen in Java-TX}}{35}{figure.3.4}% +\addvspace {10\p@ } +\contentsline {figure}{\numberline {4.1}{\ignorespaces Vererbungshierarchie von java.util.List ab Java 21 \blx@tocontentsinit {0}\cite {noauthor_java_nodate-2}}}{42}{figure.4.1}% +\addvspace {10\p@ } +\contentsline {figure}{\numberline {5.1}{\ignorespaces Verhältnis der Java und \ac {Java-TX} Dateien im \glqq {}Java-TX Compiler in Java-TX\grqq {}}}{44}{figure.5.1}% +\addvspace {10\p@ } +\addvspace {10\p@ } +\providecommand \tocbasic@end@toc@file {}\tocbasic@end@toc@file diff --git a/Studienarbeit/main.log b/Studienarbeit/main.log new file mode 100644 index 0000000..713c9c2 --- /dev/null +++ b/Studienarbeit/main.log @@ -0,0 +1,2570 @@ +This is pdfTeX, Version 3.141592653-2.6-1.40.26 (TeX Live 2024/Arch Linux) (preloaded format=pdflatex 2024.5.31) 20 JUL 2024 00:53 +entering extended mode + restricted \write18 enabled. + file:line:error style messages enabled. + %&-line parsing enabled. +**main.tex +(./main.tex +LaTeX2e <2023-11-01> patch level 1 +L3 programming layer <2024-02-20> +(./ads/header.tex (/usr/share/texmf-dist/tex/latex/nag/nag.sty +Package: nag 2011/11/25 0.7 warning about old commands (ulmi) +\c@nag@c=\count188 +\c@nag@sins=\count189 +Package nag Info: Loaded nag-l2tabu.cfg on input line 552. + +(/usr/share/texmf-dist/tex/latex/nag/nag-l2tabu.cfg +File: nag-l2tabu.cfg 2010/05/17 v2.11 l2tabu rules for nag.sty (ulmi) +) +Package nag Info: Loaded nag-orthodox.cfg on input line 552. + +(/usr/share/texmf-dist/tex/latex/nag/nag-orthodox.cfg +File: nag-orthodox.cfg 2006/04/19 v1.8 strict rules for nag.sty (ulmi) +)) +(/usr/share/texmf-dist/tex/latex/koma-script/scrreprt.cls +Document Class: scrreprt 2023/07/07 v3.41 KOMA-Script document class (report) +(/usr/share/texmf-dist/tex/latex/koma-script/scrkbase.sty +Package: scrkbase 2023/07/07 v3.41 KOMA-Script package (KOMA-Script-dependent b +asics and keyval usage) + +(/usr/share/texmf-dist/tex/latex/koma-script/scrbase.sty +Package: scrbase 2023/07/07 v3.41 KOMA-Script package (KOMA-Script-independent +basics and keyval usage) + +(/usr/share/texmf-dist/tex/latex/koma-script/scrlfile.sty +Package: scrlfile 2023/07/07 v3.41 KOMA-Script package (file load hooks) + +(/usr/share/texmf-dist/tex/latex/koma-script/scrlfile-hook.sty +Package: scrlfile-hook 2023/07/07 v3.41 KOMA-Script package (using LaTeX hooks) + + +(/usr/share/texmf-dist/tex/latex/koma-script/scrlogo.sty +Package: scrlogo 2023/07/07 v3.41 KOMA-Script package (logo) +))) +(/usr/share/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2022/05/29 v1.15 key=value parser (DPC) +\KV@toks@=\toks17 +) +Applying: [2021/05/01] Usage of raw or classic option list on input line 252. +Already applied: [0000/00/00] Usage of raw or classic option list on input line + 368. +)) +(/usr/share/texmf-dist/tex/latex/koma-script/tocbasic.sty +Package: tocbasic 2023/07/07 v3.41 KOMA-Script package (handling toc-files) +\scr@dte@tocline@numberwidth=\skip48 +\scr@dte@tocline@numbox=\box51 +) +Package tocbasic Info: omitting babel extension for `toc' +(tocbasic) because of feature `nobabel' available +(tocbasic) for `toc' on input line 135. +Class scrreprt Info: You've used standard option `oneside'. +(scrreprt) This is correct! +(scrreprt) Internally I'm using `twoside=false'. +(scrreprt) If you'd like to set the option with \KOMAoptions, +(scrreprt) you'd have to use `twoside=false' there +(scrreprt) instead of `oneside', too. +Package scrreprt Info: You've used standard option `12pt'. +(scrreprt) This is correct! +(scrreprt) Internally I'm using `fontsize=12pt'. +(scrreprt) If you'd like to set the option with \KOMAoptions, +(scrreprt) you'd have to use `fontsize=12pt' there +(scrreprt) instead of `12pt', too. +Class scrreprt Info: File `scrsize12pt.clo' used to setup font sizes on input l +ine 2688. + +(/usr/share/texmf-dist/tex/latex/koma-script/scrsize12pt.clo +File: scrsize12pt.clo 2023/07/07 v3.41 KOMA-Script font size class option (12pt +) +) +(/usr/share/texmf-dist/tex/latex/koma-script/typearea.sty +Package: typearea 2023/07/07 v3.41 KOMA-Script package (type area) +\ta@bcor=\skip49 +\ta@div=\count190 +Package typearea Info: You've used standard option `pdftex'. +(typearea) This is correct! +(typearea) Internally I'm using `pagesize=pdftex'. +(typearea) If you'd like to set the option with \KOMAoptions, +(typearea) you'd have to use `pagesize=pdftex' there +(typearea) instead of `pdftex', too. +Package typearea Info: You've used standard option `oneside'. +(typearea) This is correct! +(typearea) Internally I'm using `twoside=false'. +(typearea) If you'd like to set the option with \KOMAoptions, +(typearea) you'd have to use `twoside=false' there +(typearea) instead of `oneside', too. +\ta@hblk=\skip50 +\ta@vblk=\skip51 +\ta@temp=\skip52 +\footheight=\skip53 + +DIV calculation for typearea with good linewidth. +Package typearea Info: These are the values describing the layout: +(typearea) DIV = 9 +(typearea) BCOR = 22.76219pt +(typearea) \paperwidth = 597.50793pt +(typearea) \textwidth = 383.16386pt +(typearea) DIV departure = 1% +(typearea) \evensidemargin = 46.28314pt +(typearea) \oddsidemargin = 46.28314pt +(typearea) \paperheight = 845.04694pt +(typearea) \textheight = 577.5pt +(typearea) \topmargin = -12.12589pt +(typearea) \headheight = 12.0pt +(typearea) \headsep = 21.75pt +(typearea) \topskip = 12.0pt +(typearea) \footskip = 48.625pt +(typearea) \baselineskip = 14.5pt +(typearea) on input line 1799. +) +\c@part=\count191 +\c@chapter=\count192 +\c@section=\count193 +\c@subsection=\count194 +\c@subsubsection=\count195 +\c@paragraph=\count196 +\c@subparagraph=\count197 +\scr@dte@chapter@maxnumwidth=\skip54 +Class scrreprt Info: using compatibility default `afterindent=bysign' +(scrreprt) for `\chapter on input line 5994. +\scr@dte@section@maxnumwidth=\skip55 +Class scrreprt Info: using compatibility default `runin=bysign' +(scrreprt) for `\section on input line 6005. +Class scrreprt Info: using compatibility default `afterindent=bysign' +(scrreprt) for `\section on input line 6005. +\scr@dte@part@maxnumwidth=\skip56 +Class scrreprt Info: using compatibility default `afterindent=true' +(scrreprt) for `\part on input line 6014. +\scr@dte@subsection@maxnumwidth=\skip57 +Class scrreprt Info: using compatibility default `runin=bysign' +(scrreprt) for `\subsection on input line 6024. +Class scrreprt Info: using compatibility default `afterindent=bysign' +(scrreprt) for `\subsection on input line 6024. +\scr@dte@subsubsection@maxnumwidth=\skip58 +Class scrreprt Info: using compatibility default `runin=bysign' +(scrreprt) for `\subsubsection on input line 6034. +Class scrreprt Info: using compatibility default `afterindent=bysign' +(scrreprt) for `\subsubsection on input line 6034. +\scr@dte@paragraph@maxnumwidth=\skip59 +Class scrreprt Info: using compatibility default `runin=bysign' +(scrreprt) for `\paragraph on input line 6045. +Class scrreprt Info: using compatibility default `afterindent=bysign' +(scrreprt) for `\paragraph on input line 6045. +\scr@dte@subparagraph@maxnumwidth=\skip60 +Class scrreprt Info: using compatibility default `runin=bysign' +(scrreprt) for `\subparagraph on input line 6055. +Class scrreprt Info: using compatibility default `afterindent=bysign' +(scrreprt) for `\subparagraph on input line 6055. +\abovecaptionskip=\skip61 +\belowcaptionskip=\skip62 +\c@pti@nb@sid@b@x=\box52 +Package tocbasic Info: omitting babel extension for `lof' +(tocbasic) because of feature `nobabel' available +(tocbasic) for `lof' on input line 7240. +\scr@dte@figure@maxnumwidth=\skip63 +\c@figure=\count198 +Package tocbasic Info: omitting babel extension for `lot' +(tocbasic) because of feature `nobabel' available +(tocbasic) for `lot' on input line 7257. +\scr@dte@table@maxnumwidth=\skip64 +\c@table=\count199 +Class scrreprt Info: Redefining `\numberline' on input line 7428. +\bibindent=\dimen140 +) (/usr/share/texmf-dist/tex/generic/xstring/xstring.sty +(/usr/share/texmf-dist/tex/generic/xstring/xstring.tex +\xs_counta=\count266 +\xs_countb=\count267 +) +Package: xstring 2023/08/22 v1.86 String manipulations (CT) +) +(/usr/share/texmf-dist/tex/latex/base/inputenc.sty +Package: inputenc 2021/02/14 v1.3d Input encoding file +\inpenc@prehook=\toks18 +\inpenc@posthook=\toks19 +) +(/usr/share/texmf-dist/tex/latex/base/fontenc.sty +Package: fontenc 2021/04/29 v2.0v Standard LaTeX package +) (./settings/main.tex) +(./settings/document.tex) (./lang/de.tex) +(/usr/share/texmf-dist/tex/generic/babel/babel.sty +Package: babel 2024/02/07 v24.2 The Babel package +\babel@savecnt=\count268 +\U@D=\dimen141 +\l@unhyphenated=\language89 + +(/usr/share/texmf-dist/tex/generic/babel/txtbabel.def) +\bbl@readstream=\read2 +\bbl@dirlevel=\count269 + +(/usr/share/texmf-dist/tex/generic/babel-english/english.ldf +Language: english 2017/06/06 v3.3r English support from the babel system +Package babel Info: Hyphen rules for 'canadian' set to \l@english +(babel) (\language0). Reported on input line 102. +Package babel Info: Hyphen rules for 'australian' set to \l@ukenglish +(babel) (\language19). Reported on input line 105. +Package babel Info: Hyphen rules for 'newzealand' set to \l@ukenglish +(babel) (\language19). Reported on input line 108. +) +(/usr/share/texmf-dist/tex/generic/babel-german/ngerman.ldf +Language: ngerman 2024/01/19 v2.14 German support for babel (post-1996 orthogra +phy) + +(/usr/share/texmf-dist/tex/generic/babel-german/ngermanb.ldf +Language: ngermanb 2024/01/19 v2.14 German support for babel (post-1996 orthogr +aphy) +Package babel Info: Making " an active character on input line 122. +))) +(/usr/share/texmf-dist/tex/generic/babel/locale/de/babel-ngerman.tex +Package babel Info: Importing font and identification data for ngerman +(babel) from babel-de.ini. Reported on input line 11. +) +(/usr/share/texmf-dist/tex/generic/babel/locale/en/babel-english.tex +Package babel Info: Importing font and identification data for english +(babel) from babel-en.ini. Reported on input line 11. +) +(/usr/share/texmf-dist/tex/latex/geometry/geometry.sty +Package: geometry 2020/01/02 v5.9 Page Geometry + +(/usr/share/texmf-dist/tex/generic/iftex/ifvtex.sty +Package: ifvtex 2019/10/25 v1.7 ifvtex legacy package. Use iftex instead. + +(/usr/share/texmf-dist/tex/generic/iftex/iftex.sty +Package: iftex 2022/02/03 v1.0f TeX engine tests +)) +\Gm@cnth=\count270 +\Gm@cntv=\count271 +\c@Gm@tempcnt=\count272 +\Gm@bindingoffset=\dimen142 +\Gm@wd@mp=\dimen143 +\Gm@odd@mp=\dimen144 +\Gm@even@mp=\dimen145 +\Gm@layoutwidth=\dimen146 +\Gm@layoutheight=\dimen147 +\Gm@layouthoffset=\dimen148 +\Gm@layoutvoffset=\dimen149 +\Gm@dimlist=\toks20 +) +(/usr/share/texmf-dist/tex/latex/microtype/microtype.sty +Package: microtype 2023/03/13 v3.1a Micro-typographical refinements (RS) + +(/usr/share/texmf-dist/tex/latex/etoolbox/etoolbox.sty +Package: etoolbox 2020/10/05 v2.5k e-TeX tools for LaTeX (JAW) +\etb@tempcnta=\count273 +) +\MT@toks=\toks21 +\MT@tempbox=\box53 +\MT@count=\count274 +LaTeX Info: Redefining \noprotrusionifhmode on input line 1059. +LaTeX Info: Redefining \leftprotrusion on input line 1060. +\MT@prot@toks=\toks22 +LaTeX Info: Redefining \rightprotrusion on input line 1078. +LaTeX Info: Redefining \textls on input line 1368. +\MT@outer@kern=\dimen150 +LaTeX Info: Redefining \textmicrotypecontext on input line 1988. +\MT@listname@count=\count275 + +(/usr/share/texmf-dist/tex/latex/microtype/microtype-pdftex.def +File: microtype-pdftex.def 2023/03/13 v3.1a Definitions specific to pdftex (RS) + +LaTeX Info: Redefining \lsstyle on input line 902. +LaTeX Info: Redefining \lslig on input line 902. +\MT@outer@space=\skip65 +) +Package microtype Info: Loading configuration file microtype.cfg. + +(/usr/share/texmf-dist/tex/latex/microtype/microtype.cfg +File: microtype.cfg 2023/03/13 v3.1a microtype main configuration file (RS) +)) +(/usr/share/texmf-dist/tex/latex/setspace/setspace.sty +Package: setspace 2022/12/04 v6.7b set line spacing +) +(/usr/share/texmf-dist/tex/latex/base/makeidx.sty +Package: makeidx 2021/10/04 v1.0m Standard LaTeX package +) +(/usr/share/texmf-dist/tex/latex/csquotes/csquotes.sty +Package: csquotes 2022-09-14 v5.2n context-sensitive quotations (JAW) +\csq@reset=\count276 +\csq@gtype=\count277 +\csq@glevel=\count278 +\csq@qlevel=\count279 +\csq@maxlvl=\count280 +\csq@tshold=\count281 +\csq@ltx@everypar=\toks23 + +(/usr/share/texmf-dist/tex/latex/csquotes/csquotes.def +File: csquotes.def 2022-09-14 v5.2n csquotes generic definitions (JAW) +) +Package csquotes Info: Trying to load configuration file 'csquotes.cfg'... +Package csquotes Info: ... configuration file loaded successfully. + +(/usr/share/texmf-dist/tex/latex/csquotes/csquotes.cfg +File: csquotes.cfg +) +Package csquotes Info: Enabling multilingual quotes. +Package csquotes Info: Redefining alias 'german' -> 'german/quotes'. +) +(/usr/share/texmf-dist/tex/latex/tools/longtable.sty +Package: longtable 2023-11-01 v4.19 Multi-page Table package (DPC) +\LTleft=\skip66 +\LTright=\skip67 +\LTpre=\skip68 +\LTpost=\skip69 +\LTchunksize=\count282 +\LTcapwidth=\dimen151 +\LT@head=\box54 +\LT@firsthead=\box55 +\LT@foot=\box56 +\LT@lastfoot=\box57 +\LT@gbox=\box58 +\LT@cols=\count283 +\LT@rows=\count284 +\c@LT@tables=\count285 +\c@LT@chunks=\count286 +\LT@p@ftn=\toks24 +) +Class scrreprt Info: longtable captions redefined on input line 77. + +(/usr/share/texmf-dist/tex/latex/enumitem/enumitem.sty +Package: enumitem 2019/06/20 v3.9 Customized lists +\labelindent=\skip70 +\enit@outerparindent=\dimen152 +\enit@toks=\toks25 +\enit@inbox=\box59 +\enit@count@id=\count287 +\enitdp@description=\count288 +) +(/usr/share/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2021/09/16 v1.2d Enhanced LaTeX Graphics (DPC,SPQR) + +(/usr/share/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2022/03/10 v1.4e Standard LaTeX Graphics (DPC,SPQR) + +(/usr/share/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 2021/08/11 v1.11 sin cos tan (DPC) +) +(/usr/share/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration +) +Package graphics Info: Driver file: pdftex.def on input line 107. + +(/usr/share/texmf-dist/tex/latex/graphics-def/pdftex.def +File: pdftex.def 2022/09/22 v1.2b Graphics/color driver for pdftex +)) +\Gin@req@height=\dimen153 +\Gin@req@width=\dimen154 +) +(/usr/share/texmf-dist/tex/latex/pdfpages/pdfpages.sty +Package: pdfpages 2024/01/21 v0.5y Insert pages of external PDF documents (AM) + +(/usr/share/texmf-dist/tex/latex/base/ifthen.sty +Package: ifthen 2022/04/13 v1.1d Standard LaTeX ifthen package (DPC) +) +(/usr/share/texmf-dist/tex/latex/tools/calc.sty +Package: calc 2023/07/08 v4.3 Infix arithmetic (KKT,FJ) +\calc@Acount=\count289 +\calc@Bcount=\count290 +\calc@Adimen=\dimen155 +\calc@Bdimen=\dimen156 +\calc@Askip=\skip71 +\calc@Bskip=\skip72 +LaTeX Info: Redefining \setlength on input line 80. +LaTeX Info: Redefining \addtolength on input line 81. +\calc@Ccount=\count291 +\calc@Cskip=\skip73 +) +(/usr/share/texmf-dist/tex/latex/eso-pic/eso-pic.sty +Package: eso-pic 2023/05/03 v3.0c eso-pic (RN) +\ESO@tempdima=\dimen157 +\ESO@tempdimb=\dimen158 + +(/usr/share/texmf-dist/tex/latex/xcolor/xcolor.sty +Package: xcolor 2023/11/15 v3.01 LaTeX color extensions (UK) + +(/usr/share/texmf-dist/tex/latex/graphics-cfg/color.cfg +File: color.cfg 2016/01/02 v1.6 sample color configuration +) +Package xcolor Info: Driver file: pdftex.def on input line 274. + +(/usr/share/texmf-dist/tex/latex/graphics/mathcolor.ltx) +Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1350. +Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1354. +Package xcolor Info: Model `RGB' extended on input line 1366. +Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1368. +Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1369. +Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1370. +Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1371. +Package xcolor Info: Model `Gray' substituted by `gray' on input line 1372. +Package xcolor Info: Model `wave' substituted by `hsb' on input line 1373. +)) +\AM@pagewidth=\dimen159 +\AM@pageheight=\dimen160 +\AM@fboxrule=\dimen161 + +(/usr/share/texmf-dist/tex/latex/pdfpages/pppdftex.def +File: pppdftex.def 2024/01/21 v0.5y Pdfpages driver for pdfTeX (AM) +) +\pdfpages@includegraphics@status=\count292 +\AM@pagebox=\box60 +\AM@global@opts=\toks26 +\AM@pagecnt=\count293 +\AM@toc@title=\toks27 +\AM@lof@heading=\toks28 +\c@AM@survey=\count294 +\AM@templatesizebox=\box61 +) + +LaTeX Warning: Package "xcolor" has already been loaded: ignoring load-time +(LaTeX) option "pdftex". + +(/usr/share/texmf-dist/tex/latex/float/float.sty +Package: float 2001/11/08 v1.3d Float enhancements (AL) +\c@float@type=\count295 +\float@exts=\toks29 +\float@box=\box62 +\@float@everytoks=\toks30 +\@floatcapt=\box63 +) +(/usr/share/texmf-dist/tex/latex/tools/array.sty +Package: array 2023/10/16 v2.5g Tabular extension package (FMi) +\col@sep=\dimen162 +\ar@mcellbox=\box64 +\extrarowheight=\dimen163 +\NC@list=\toks31 +\extratabsurround=\skip74 +\backup@length=\skip75 +\ar@cellbox=\box65 +) +(/usr/share/texmf-dist/tex/latex/eurosym/eurosym.sty +Package: eurosym 1998/08/06 v1.1 European currency symbol ``Euro'' +\@eurobox=\box66 +) +(/usr/share/texmf-dist/tex/latex/wrapfig/wrapfig.sty +\wrapoverhang=\dimen164 +\WF@size=\dimen165 +\c@WF@wrappedlines=\count296 +\WF@box=\box67 +\WF@everypar=\toks32 +Package: wrapfig 2003/01/31 v 3.6 +) +(/usr/share/texmf-dist/tex/latex/pgf/utilities/pgffor.sty +(/usr/share/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty +(/usr/share/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex +\pgfutil@everybye=\toks33 +\pgfutil@tempdima=\dimen166 +\pgfutil@tempdimb=\dimen167 +) +(/usr/share/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def +\pgfutil@abb=\box68 +) +(/usr/share/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex +(/usr/share/texmf-dist/tex/generic/pgf/pgf.revision.tex) +Package: pgfrcs 2023-01-15 v3.1.10 (3.1.10) +)) +(/usr/share/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty +(/usr/share/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex +\pgfkeys@pathtoks=\toks34 +\pgfkeys@temptoks=\toks35 + +(/usr/share/texmf-dist/tex/generic/pgf/utilities/pgfkeyslibraryfiltered.code.te +x +\pgfkeys@tmptoks=\toks36 +))) (/usr/share/texmf-dist/tex/latex/pgf/math/pgfmath.sty +(/usr/share/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex +(/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex +\pgf@x=\dimen168 +\pgf@xa=\dimen169 +\pgf@xb=\dimen170 +\pgf@xc=\dimen171 +\pgf@y=\dimen172 +\pgf@ya=\dimen173 +\pgf@yb=\dimen174 +\pgf@yc=\dimen175 +\c@pgf@counta=\count297 +\c@pgf@countb=\count298 +\c@pgf@countc=\count299 +\c@pgf@countd=\count300 +) +(/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex +\pgfmath@dimen=\dimen176 +\pgfmath@count=\count301 +\pgfmath@box=\box69 +\pgfmath@toks=\toks37 +\pgfmath@stack@operand=\toks38 +\pgfmath@stack@operation=\toks39 +) +(/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.code.tex) +(/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic.code.tex) +(/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.trigonometric.code +.tex) +(/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.random.code.tex) +(/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.comparison.code.te +x) (/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.base.code.tex) +(/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.round.code.tex) +(/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.misc.code.tex) +(/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.integerarithmetics +.code.tex) (/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathcalc.code.tex) +(/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfloat.code.tex +\c@pgfmathroundto@lastzeros=\count302 +))) +(/usr/share/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex +Package: pgffor 2023-01-15 v3.1.10 (3.1.10) +\pgffor@iter=\dimen177 +\pgffor@skip=\dimen178 +\pgffor@stack=\toks40 +\pgffor@toks=\toks41 +)) +(/usr/share/texmf-dist/tex/latex/footmisc/footmisc.sty +Package: footmisc 2023/07/05 v6.0f a miscellany of footnote facilities +\FN@temptoken=\toks42 +\footnotemargin=\dimen179 +\@outputbox@depth=\dimen180 + +(/usr/share/texmf-dist/tex/latex/bigfoot/perpage.sty +Package: perpage 2014/10/25 2.0 Reset/sort counters per page +\c@abspage=\count303 +) +\c@pp@a@footnote=\count304 +Package footmisc Info: Declaring symbol style bringhurst on input line 696. +Package footmisc Info: Declaring symbol style chicago on input line 704. +Package footmisc Info: Declaring symbol style wiley on input line 713. +Package footmisc Info: Declaring symbol style lamport-robust on input line 724. + +Package footmisc Info: Declaring symbol style lamport* on input line 744. +Package footmisc Info: Declaring symbol style lamport*-robust on input line 765 +. +) +(/usr/share/texmf-dist/tex/latex/acronym/acronym.sty +Package: acronym 2020/04/17 v1.47 Support for acronyms (Tobias Oetiker) + +(/usr/share/texmf-dist/tex/latex/bigfoot/suffix.sty +Package: suffix 2006/07/15 1.5a Variant command support +) +\AC@clearlist=\toks43 +) +(/usr/share/texmf-dist/tex/latex/listings/listings.sty +\lst@mode=\count305 +\lst@gtempboxa=\box70 +\lst@token=\toks44 +\lst@length=\count306 +\lst@currlwidth=\dimen181 +\lst@column=\count307 +\lst@pos=\count308 +\lst@lostspace=\dimen182 +\lst@width=\dimen183 +\lst@newlines=\count309 +\lst@lineno=\count310 +\lst@maxwidth=\dimen184 + +(/usr/share/texmf-dist/tex/latex/listings/lstpatch.sty +File: lstpatch.sty 2024/02/21 1.10 (Carsten Heinz) +) +(/usr/share/texmf-dist/tex/latex/listings/lstmisc.sty +File: lstmisc.sty 2024/02/21 1.10 (Carsten Heinz) +\c@lstnumber=\count311 +\lst@skipnumbers=\count312 +\lst@framebox=\box71 +) +(/usr/share/texmf-dist/tex/latex/listings/listings.cfg +File: listings.cfg 2024/02/21 1.10 listings configuration +)) +Package: listings 2024/02/21 1.10 (Carsten Heinz) + +(/usr/share/texmf-dist/tex/latex/todonotes/todonotes.sty +Package: todonotes 2024/01/05 v1.1.7 Todonotes source and documentation. +Package: todonotes 2024/01/05 + +(/usr/share/texmf-dist/tex/latex/xkeyval/xkeyval.sty +Package: xkeyval 2022/06/16 v2.9 package option processing (HA) + +(/usr/share/texmf-dist/tex/generic/xkeyval/xkeyval.tex +(/usr/share/texmf-dist/tex/generic/xkeyval/xkvutils.tex +\XKV@toks=\toks45 +\XKV@tempa@toks=\toks46 +) +\XKV@depth=\count313 +File: xkeyval.tex 2014/12/03 v2.7a key=value parser (HA) +)) + +LaTeX Warning: Package "xcolor" has already been loaded: ignoring load-time +(LaTeX) option "pdftex". + +(/usr/share/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty +(/usr/share/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty +Package: pgf 2023-01-15 v3.1.10 (3.1.10) + +(/usr/share/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty +(/usr/share/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty +(/usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex +Package: pgfsys 2023-01-15 v3.1.10 (3.1.10) +\pgf@x=\dimen185 +\pgf@y=\dimen186 +\pgf@xa=\dimen187 +\pgf@ya=\dimen188 +\pgf@xb=\dimen189 +\pgf@yb=\dimen190 +\pgf@xc=\dimen191 +\pgf@yc=\dimen192 +\pgf@xd=\dimen193 +\pgf@yd=\dimen194 +\w@pgf@writea=\write3 +\r@pgf@reada=\read3 +\c@pgf@counta=\count314 +\c@pgf@countb=\count315 +\c@pgf@countc=\count316 +\c@pgf@countd=\count317 +\t@pgf@toka=\toks47 +\t@pgf@tokb=\toks48 +\t@pgf@tokc=\toks49 +\pgf@sys@id@count=\count318 + +(/usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg +File: pgf.cfg 2023-01-15 v3.1.10 (3.1.10) +) +Driver file for pgf: pgfsys-pdftex.def + +(/usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-pdftex.def +File: pgfsys-pdftex.def 2023-01-15 v3.1.10 (3.1.10) + +(/usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-pdf.def +File: pgfsys-common-pdf.def 2023-01-15 v3.1.10 (3.1.10) +))) +(/usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex +File: pgfsyssoftpath.code.tex 2023-01-15 v3.1.10 (3.1.10) +\pgfsyssoftpath@smallbuffer@items=\count319 +\pgfsyssoftpath@bigbuffer@items=\count320 +) +(/usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex +File: pgfsysprotocol.code.tex 2023-01-15 v3.1.10 (3.1.10) +)) + +LaTeX Warning: Package "xcolor" has already been loaded: ignoring load-time +(LaTeX) option "pdftex". + +(/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex +Package: pgfcore 2023-01-15 v3.1.10 (3.1.10) + +(/usr/share/texmf-dist/tex/generic/pgf/math/pgfint.code.tex) +(/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex +File: pgfcorepoints.code.tex 2023-01-15 v3.1.10 (3.1.10) +\pgf@picminx=\dimen195 +\pgf@picmaxx=\dimen196 +\pgf@picminy=\dimen197 +\pgf@picmaxy=\dimen198 +\pgf@pathminx=\dimen199 +\pgf@pathmaxx=\dimen256 +\pgf@pathminy=\dimen257 +\pgf@pathmaxy=\dimen258 +\pgf@xx=\dimen259 +\pgf@xy=\dimen260 +\pgf@yx=\dimen261 +\pgf@yy=\dimen262 +\pgf@zx=\dimen263 +\pgf@zy=\dimen264 +) +(/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconstruct.code.tex +File: pgfcorepathconstruct.code.tex 2023-01-15 v3.1.10 (3.1.10) +\pgf@path@lastx=\dimen265 +\pgf@path@lasty=\dimen266 +) (/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathusage.code.tex +File: pgfcorepathusage.code.tex 2023-01-15 v3.1.10 (3.1.10) +\pgf@shorten@end@additional=\dimen267 +\pgf@shorten@start@additional=\dimen268 +) +(/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex +File: pgfcorescopes.code.tex 2023-01-15 v3.1.10 (3.1.10) +\pgfpic=\box72 +\pgf@hbox=\box73 +\pgf@layerbox@main=\box74 +\pgf@picture@serial@count=\count321 +) +(/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code.tex +File: pgfcoregraphicstate.code.tex 2023-01-15 v3.1.10 (3.1.10) +\pgflinewidth=\dimen269 +) +(/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransformations.code.t +ex +File: pgfcoretransformations.code.tex 2023-01-15 v3.1.10 (3.1.10) +\pgf@pt@x=\dimen270 +\pgf@pt@y=\dimen271 +\pgf@pt@temp=\dimen272 +) (/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorequick.code.tex +File: pgfcorequick.code.tex 2023-01-15 v3.1.10 (3.1.10) +) +(/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreobjects.code.tex +File: pgfcoreobjects.code.tex 2023-01-15 v3.1.10 (3.1.10) +) +(/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathprocessing.code.te +x +File: pgfcorepathprocessing.code.tex 2023-01-15 v3.1.10 (3.1.10) +) (/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorearrows.code.tex +File: pgfcorearrows.code.tex 2023-01-15 v3.1.10 (3.1.10) +\pgfarrowsep=\dimen273 +) +(/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex +File: pgfcoreshade.code.tex 2023-01-15 v3.1.10 (3.1.10) +\pgf@max=\dimen274 +\pgf@sys@shading@range@num=\count322 +\pgf@shadingcount=\count323 +) +(/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreimage.code.tex +File: pgfcoreimage.code.tex 2023-01-15 v3.1.10 (3.1.10) +) +(/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreexternal.code.tex +File: pgfcoreexternal.code.tex 2023-01-15 v3.1.10 (3.1.10) +\pgfexternal@startupbox=\box75 +) +(/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorelayers.code.tex +File: pgfcorelayers.code.tex 2023-01-15 v3.1.10 (3.1.10) +) +(/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransparency.code.tex +File: pgfcoretransparency.code.tex 2023-01-15 v3.1.10 (3.1.10) +) (/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepatterns.code.tex +File: pgfcorepatterns.code.tex 2023-01-15 v3.1.10 (3.1.10) +) +(/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorerdf.code.tex +File: pgfcorerdf.code.tex 2023-01-15 v3.1.10 (3.1.10) +))) +(/usr/share/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.code.tex +File: pgfmoduleshapes.code.tex 2023-01-15 v3.1.10 (3.1.10) +\pgfnodeparttextbox=\box76 +) +(/usr/share/texmf-dist/tex/generic/pgf/modules/pgfmoduleplot.code.tex +File: pgfmoduleplot.code.tex 2023-01-15 v3.1.10 (3.1.10) +) +(/usr/share/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.sty +Package: pgfcomp-version-0-65 2023-01-15 v3.1.10 (3.1.10) +\pgf@nodesepstart=\dimen275 +\pgf@nodesepend=\dimen276 +) +(/usr/share/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18.sty +Package: pgfcomp-version-1-18 2023-01-15 v3.1.10 (3.1.10) +)) +(/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex +Package: tikz 2023-01-15 v3.1.10 (3.1.10) + +(/usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.code.te +x +File: pgflibraryplothandlers.code.tex 2023-01-15 v3.1.10 (3.1.10) +\pgf@plot@mark@count=\count324 +\pgfplotmarksize=\dimen277 +) +\tikz@lastx=\dimen278 +\tikz@lasty=\dimen279 +\tikz@lastxsaved=\dimen280 +\tikz@lastysaved=\dimen281 +\tikz@lastmovetox=\dimen282 +\tikz@lastmovetoy=\dimen283 +\tikzleveldistance=\dimen284 +\tikzsiblingdistance=\dimen285 +\tikz@figbox=\box77 +\tikz@figbox@bg=\box78 +\tikz@tempbox=\box79 +\tikz@tempbox@bg=\box80 +\tikztreelevel=\count325 +\tikznumberofchildren=\count326 +\tikznumberofcurrentchild=\count327 +\tikz@fig@count=\count328 + (/usr/share/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.code.tex +File: pgfmodulematrix.code.tex 2023-01-15 v3.1.10 (3.1.10) +\pgfmatrixcurrentrow=\count329 +\pgfmatrixcurrentcolumn=\count330 +\pgf@matrix@numberofcolumns=\count331 +) +\tikz@expandcount=\count332 + +(/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrary +topaths.code.tex +File: tikzlibrarytopaths.code.tex 2023-01-15 v3.1.10 (3.1.10) +))) +(/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrary +positioning.code.tex +File: tikzlibrarypositioning.code.tex 2023-01-15 v3.1.10 (3.1.10) +) +\c@@todonotes@numberoftodonotes=\count333 +) (/usr/share/texmf-dist/tex/latex/graphics/rotating.sty +Package: rotating 2016/08/11 v2.16d rotated objects in LaTeX +\c@r@tfl@t=\count334 +\rotFPtop=\skip76 +\rotFPbot=\skip77 +\rot@float@box=\box81 +\rot@mess@toks=\toks50 +) +(/usr/share/texmf-dist/tex/latex/graphics/lscape.sty +Package: lscape 2020/05/28 v3.02 Landscape Pages (DPC) +) +(/usr/share/texmf-dist/tex/latex/amsmath/amsmath.sty +Package: amsmath 2023/05/13 v2.17o AMS math features +\@mathmargin=\skip78 + +For additional information on amsmath, use the `?' option. +(/usr/share/texmf-dist/tex/latex/amsmath/amstext.sty +Package: amstext 2021/08/26 v2.01 AMS text + +(/usr/share/texmf-dist/tex/latex/amsmath/amsgen.sty +File: amsgen.sty 1999/11/30 v2.0 generic functions +\@emptytoks=\toks51 +\ex@=\dimen286 +)) +(/usr/share/texmf-dist/tex/latex/amsmath/amsbsy.sty +Package: amsbsy 1999/11/29 v1.2d Bold Symbols +\pmbraise@=\dimen287 +) +(/usr/share/texmf-dist/tex/latex/amsmath/amsopn.sty +Package: amsopn 2022/04/08 v2.04 operator names +) +\inf@bad=\count335 +LaTeX Info: Redefining \frac on input line 234. +\uproot@=\count336 +\leftroot@=\count337 +LaTeX Info: Redefining \overline on input line 399. +LaTeX Info: Redefining \colon on input line 410. +\classnum@=\count338 +\DOTSCASE@=\count339 +LaTeX Info: Redefining \ldots on input line 496. +LaTeX Info: Redefining \dots on input line 499. +LaTeX Info: Redefining \cdots on input line 620. +\Mathstrutbox@=\box82 +\strutbox@=\box83 +LaTeX Info: Redefining \big on input line 722. +LaTeX Info: Redefining \Big on input line 723. +LaTeX Info: Redefining \bigg on input line 724. +LaTeX Info: Redefining \Bigg on input line 725. +\big@size=\dimen288 +LaTeX Font Info: Redeclaring font encoding OML on input line 743. +LaTeX Font Info: Redeclaring font encoding OMS on input line 744. +\macc@depth=\count340 +LaTeX Info: Redefining \bmod on input line 905. +LaTeX Info: Redefining \pmod on input line 910. +LaTeX Info: Redefining \smash on input line 940. +LaTeX Info: Redefining \relbar on input line 970. +LaTeX Info: Redefining \Relbar on input line 971. +\c@MaxMatrixCols=\count341 +\dotsspace@=\muskip16 +\c@parentequation=\count342 +\dspbrk@lvl=\count343 +\tag@help=\toks52 +\row@=\count344 +\column@=\count345 +\maxfields@=\count346 +\andhelp@=\toks53 +\eqnshift@=\dimen289 +\alignsep@=\dimen290 +\tagshift@=\dimen291 +\tagwidth@=\dimen292 +\totwidth@=\dimen293 +\lineht@=\dimen294 +\@envbody=\toks54 +\multlinegap=\skip79 +\multlinetaggap=\skip80 +\mathdisplay@stack=\toks55 +LaTeX Info: Redefining \[ on input line 2953. +LaTeX Info: Redefining \] on input line 2954. +) +(/usr/share/texmf-dist/tex/latex/amsfonts/amssymb.sty +Package: amssymb 2013/01/14 v3.01 AMS font symbols + +(/usr/share/texmf-dist/tex/latex/amsfonts/amsfonts.sty +Package: amsfonts 2013/01/14 v3.01 Basic AMSFonts support +\symAMSa=\mathgroup4 +\symAMSb=\mathgroup5 +LaTeX Font Info: Redeclaring math symbol \hbar on input line 98. +LaTeX Font Info: Overwriting math alphabet `\mathfrak' in version `bold' +(Font) U/euf/m/n --> U/euf/b/n on input line 106. +)) +(/usr/share/texmf-dist/tex/latex/lm/lmodern.sty +Package: lmodern 2015/05/01 v1.6.1 Latin Modern Fonts +LaTeX Font Info: Overwriting symbol font `operators' in version `normal' +(Font) OT1/cmr/m/n --> OT1/lmr/m/n on input line 22. +LaTeX Font Info: Overwriting symbol font `letters' in version `normal' +(Font) OML/cmm/m/it --> OML/lmm/m/it on input line 23. +LaTeX Font Info: Overwriting symbol font `symbols' in version `normal' +(Font) OMS/cmsy/m/n --> OMS/lmsy/m/n on input line 24. +LaTeX Font Info: Overwriting symbol font `largesymbols' in version `normal' +(Font) OMX/cmex/m/n --> OMX/lmex/m/n on input line 25. +LaTeX Font Info: Overwriting symbol font `operators' in version `bold' +(Font) OT1/cmr/bx/n --> OT1/lmr/bx/n on input line 26. +LaTeX Font Info: Overwriting symbol font `letters' in version `bold' +(Font) OML/cmm/b/it --> OML/lmm/b/it on input line 27. +LaTeX Font Info: Overwriting symbol font `symbols' in version `bold' +(Font) OMS/cmsy/b/n --> OMS/lmsy/b/n on input line 28. +LaTeX Font Info: Overwriting symbol font `largesymbols' in version `bold' +(Font) OMX/cmex/m/n --> OMX/lmex/m/n on input line 29. +LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `normal' +(Font) OT1/cmr/bx/n --> OT1/lmr/bx/n on input line 31. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `normal' +(Font) OT1/cmss/m/n --> OT1/lmss/m/n on input line 32. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `normal' +(Font) OT1/cmr/m/it --> OT1/lmr/m/it on input line 33. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `normal' +(Font) OT1/cmtt/m/n --> OT1/lmtt/m/n on input line 34. +LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `bold' +(Font) OT1/cmr/bx/n --> OT1/lmr/bx/n on input line 35. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' +(Font) OT1/cmss/bx/n --> OT1/lmss/bx/n on input line 36. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' +(Font) OT1/cmr/bx/it --> OT1/lmr/bx/it on input line 37. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' +(Font) OT1/cmtt/m/n --> OT1/lmtt/m/n on input line 38. +) +(/usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty +Package: hyperref 2024-01-20 v7.01h Hypertext links for LaTeX + +(/usr/share/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty +Package: kvsetkeys 2022-10-05 v1.19 Key value parser (HO) +) +(/usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty +Package: kvdefinekeys 2019-12-19 v1.6 Define keys (HO) +) +(/usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty +Package: pdfescape 2019/12/09 v1.15 Implements pdfTeX's escape features (HO) + +(/usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +Package: ltxcmds 2023-12-04 v1.26 LaTeX kernel commands for general use (HO) +) +(/usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty +Package: pdftexcmds 2020-06-27 v0.33 Utility functions of pdfTeX for LuaTeX (HO +) + +(/usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty +Package: infwarerr 2019/12/03 v1.5 Providing info/warning/error messages (HO) +) +Package pdftexcmds Info: \pdf@primitive is available. +Package pdftexcmds Info: \pdf@ifprimitive is available. +Package pdftexcmds Info: \pdfdraftmode found. +)) +(/usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty +Package: hycolor 2020-01-27 v1.10 Color options for hyperref/bookmark (HO) +) +(/usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty +Package: auxhook 2019-12-17 v1.6 Hooks for auxiliary files (HO) +) +(/usr/share/texmf-dist/tex/latex/hyperref/nameref.sty +Package: nameref 2023-11-26 v2.56 Cross-referencing by name of section + +(/usr/share/texmf-dist/tex/latex/refcount/refcount.sty +Package: refcount 2019/12/15 v3.6 Data extraction from label references (HO) +) +(/usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty +Package: gettitlestring 2019/12/15 v1.6 Cleanup title references (HO) + +(/usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty +Package: kvoptions 2022-06-15 v3.15 Key value format for package options (HO) +)) +\c@section@level=\count347 +) +\@linkdim=\dimen295 +\Hy@linkcounter=\count348 +\Hy@pagecounter=\count349 + +(/usr/share/texmf-dist/tex/latex/hyperref/pd1enc.def +File: pd1enc.def 2024-01-20 v7.01h Hyperref: PDFDocEncoding definition (HO) +Now handling font encoding PD1 ... +... no UTF-8 mapping file for font encoding PD1 +) +(/usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty +Package: intcalc 2019/12/15 v1.3 Expandable calculations with integers (HO) +) +\Hy@SavedSpaceFactor=\count350 + +(/usr/share/texmf-dist/tex/latex/hyperref/puenc.def +File: puenc.def 2024-01-20 v7.01h Hyperref: PDF Unicode definition (HO) +Now handling font encoding PU ... +... no UTF-8 mapping file for font encoding PU +) +Package hyperref Info: Option `pdfdisplaydoctitle' set `true' on input line 406 +2. +Package hyperref Info: Hyper figures OFF on input line 4179. +Package hyperref Info: Link nesting OFF on input line 4184. +Package hyperref Info: Hyper index ON on input line 4187. +Package hyperref Info: Plain pages OFF on input line 4194. +Package hyperref Info: Backreferencing OFF on input line 4199. +Package hyperref Info: Implicit mode ON; LaTeX internals redefined. +Package hyperref Info: Bookmarks ON on input line 4446. +\c@Hy@tempcnt=\count351 + +(/usr/share/texmf-dist/tex/latex/url/url.sty +\Urlmuskip=\muskip17 +Package: url 2013/09/16 ver 3.4 Verb mode for urls, etc. +) +LaTeX Info: Redefining \url on input line 4784. +\XeTeXLinkMargin=\dimen296 + +(/usr/share/texmf-dist/tex/generic/bitset/bitset.sty +Package: bitset 2019/12/09 v1.3 Handle bit-vector datatype (HO) + +(/usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty +Package: bigintcalc 2019/12/15 v1.5 Expandable calculations on big integers (HO +) +)) +\Fld@menulength=\count352 +\Field@Width=\dimen297 +\Fld@charsize=\dimen298 +Package hyperref Info: Hyper figures OFF on input line 6063. +Package hyperref Info: Link nesting OFF on input line 6068. +Package hyperref Info: Hyper index ON on input line 6071. +Package hyperref Info: backreferencing OFF on input line 6078. +Package hyperref Info: Link coloring OFF on input line 6083. +Package hyperref Info: Link coloring with OCG OFF on input line 6088. +Package hyperref Info: PDF/A mode OFF on input line 6093. + +(/usr/share/texmf-dist/tex/latex/base/atbegshi-ltx.sty +Package: atbegshi-ltx 2021/01/10 v1.0c Emulation of the original atbegshi +package with kernel methods +) +\Hy@abspage=\count353 +\c@Item=\count354 +\c@Hfootnote=\count355 +) +Package hyperref Info: Driver: hpdftex. + +(/usr/share/texmf-dist/tex/latex/hyperref/hpdftex.def +File: hpdftex.def 2024-01-20 v7.01h Hyperref driver for pdfTeX + +(/usr/share/texmf-dist/tex/latex/base/atveryend-ltx.sty +Package: atveryend-ltx 2020/08/19 v1.0a Emulation of the original atveryend pac +kage +with kernel methods +) +\Fld@listcount=\count356 +\c@bookmark@seq@number=\count357 + +(/usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty +Package: rerunfilecheck 2022-07-10 v1.10 Rerun checks for auxiliary files (HO) + +(/usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty +Package: uniquecounter 2019/12/15 v1.4 Provide unlimited unique counter (HO) +) +Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 2 +85. +) +\Hy@SectionHShift=\skip81 +) +(/usr/share/texmf-dist/tex/latex/bookmark/bookmark.sty +Package: bookmark 2023-12-10 v1.31 PDF bookmarks (HO) + +(/usr/share/texmf-dist/tex/latex/bookmark/bkm-pdftex.def +File: bkm-pdftex.def 2023-12-10 v1.31 bookmark driver for pdfTeX and luaTeX (HO +) +\BKM@id=\count358 +)) +(/usr/share/texmf-dist/tex/latex/glossaries/base/glossaries.sty +Package: glossaries 2023/09/29 v4.53 (NLCT) + +(/usr/share/texmf-dist/tex/latex/mfirstuc/mfirstuc.sty +Package: mfirstuc 2022/10/14 v2.08 (NLCT) +\@glsmfirst=\toks56 +\@glsmrest=\toks57 +) +(/usr/share/texmf-dist/tex/latex/xfor/xfor.sty +Package: xfor 2009/02/05 v1.05 (NLCT) +) +(/usr/share/texmf-dist/tex/latex/datatool/datatool-base.sty +Package: datatool-base 2019/09/27 v2.32 (NLCT) + +(/usr/share/texmf-dist/tex/latex/substr/substr.sty +Package: substr 2009/10/20 v1.2 Handle substrings +\c@su@anzahl=\count359 +) +(/usr/share/texmf-dist/tex/latex/datatool/datatool-fp.sty +Package: datatool-fp 2019/09/27 v2.32 (NLCT) + +(/usr/share/texmf-dist/tex/latex/fp/fp.sty +Package: fp 1995/04/02 + +`Fixed Point Package', Version 0.8, April 2, 1995 (C) Michael Mehlich +(/usr/share/texmf-dist/tex/latex/fp/defpattern.sty +Package: defpattern 1994/10/12 +\actioncount=\count360 +) +(/usr/share/texmf-dist/tex/latex/fp/fp-basic.sty +Package: fp-basic 1996/05/13 +\FP@xs=\count361 +\FP@xia=\count362 +\FP@xib=\count363 +\FP@xfa=\count364 +\FP@xfb=\count365 +\FP@rega=\count366 +\FP@regb=\count367 +\FP@regs=\count368 +\FP@times=\count369 +) +(/usr/share/texmf-dist/tex/latex/fp/fp-addons.sty +Package: fp-addons 1995/03/15 +) +(/usr/share/texmf-dist/tex/latex/fp/fp-snap.sty +Package: fp-snap 1995/04/05 +) +(/usr/share/texmf-dist/tex/latex/fp/fp-exp.sty +Package: fp-exp 1995/04/03 +) +(/usr/share/texmf-dist/tex/latex/fp/fp-trigo.sty +Package: fp-trigo 1995/04/14 +) +(/usr/share/texmf-dist/tex/latex/fp/fp-pas.sty +Package: fp-pas 1994/08/29 +) +(/usr/share/texmf-dist/tex/latex/fp/fp-random.sty +Package: fp-random 1995/02/23 +\FPseed=\count370 +) +(/usr/share/texmf-dist/tex/latex/fp/fp-eqn.sty +Package: fp-eqn 1995/04/03 +) +(/usr/share/texmf-dist/tex/latex/fp/fp-upn.sty +Package: fp-upn 1996/10/21 +) +(/usr/share/texmf-dist/tex/latex/fp/fp-eval.sty +Package: fp-eval 1995/04/03 +))) +\@dtl@toks=\toks58 +\@dtl@tmpcount=\count371 +\dtl@tmplength=\skip82 +\dtl@sortresult=\count372 +\@dtl@numgrpsepcount=\count373 +\@dtl@datatype=\count374 +\dtl@codeA=\count375 +\dtl@codeB=\count376 +\@dtl@foreach@level=\count377 +) +(/usr/share/texmf-dist/tex/latex/tracklang/tracklang.sty +Package: tracklang 2022/12/13 v1.6.1 (NLCT) Track Languages + +(/usr/share/texmf-dist/tex/generic/tracklang/tracklang.tex)) +(/usr/share/texmf-dist/tex/latex/translator/translator.sty +Package: translator 2021-05-31 v1.12d Easy translation of strings in LaTeX +) +(/usr/share/texmf-dist/tex/latex/glossaries-german/glossaries-german.ldf +File: glossaries-german.ldf 2014/11/23 v1.0 +) +(/usr/share/texmf-dist/tex/latex/glossaries-english/glossaries-english.ldf +File: glossaries-english.ldf 2014/11/23 v1.0 +) +\gls@level=\count378 +\@gls@tmpb=\toks59 +\gls@tmplen=\skip83 +\glskeylisttok=\toks60 +\glslabeltok=\toks61 +\glsshorttok=\toks62 +\glslongtok=\toks63 + +(/usr/share/texmf-dist/tex/latex/glossaries/styles/glossary-hypernav.sty +Package: glossary-hypernav 2023/09/29 v4.53 (NLCT) +) +(/usr/share/texmf-dist/tex/latex/glossaries/styles/glossary-list.sty +Package: glossary-list 2023/09/29 v4.53 (NLCT) +\glslistdottedwidth=\skip84 +) +(/usr/share/texmf-dist/tex/latex/glossaries/styles/glossary-long.sty +Package: glossary-long 2023/09/29 v4.53 (NLCT) +\glsdescwidth=\skip85 +\glspagelistwidth=\skip86 +) +(/usr/share/texmf-dist/tex/latex/glossaries/styles/glossary-super.sty +Package: glossary-super 2023/09/29 v4.53 (NLCT) + +(/usr/share/texmf-dist/tex/latex/supertabular/supertabular.sty +Package: supertabular 2020/02/02 v4.1g the supertabular environment +\c@tracingst=\count379 +\ST@wd=\dimen299 +\ST@rightskip=\skip87 +\ST@leftskip=\skip88 +\ST@parfillskip=\skip89 +\ST@pageleft=\dimen300 +\ST@headht=\dimen301 +\ST@tailht=\dimen302 +\ST@pagesofar=\dimen303 +\ST@pboxht=\dimen304 +\ST@lineht=\dimen305 +\ST@prevht=\dimen306 +\ST@toadd=\dimen307 +\ST@dimen=\dimen308 +\ST@pbox=\box84 +)) +(/usr/share/texmf-dist/tex/latex/glossaries/styles/glossary-tree.sty +Package: glossary-tree 2023/09/29 v4.53 (NLCT) +\glstreeindent=\skip90 +)) +(/usr/share/texmf-dist/tex/latex/fontawesome5/fontawesome5.sty +(/usr/share/texmf-dist/tex/latex/l3kernel/expl3.sty +Package: expl3 2024-02-20 L3 programming layer (loader) + +(/usr/share/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def +File: l3backend-pdftex.def 2024-02-20 L3 backend support: PDF output (pdfTeX) +\l__color_backend_stack_int=\count380 +\l__pdf_internal_box=\box85 +)) +Package: fontawesome5 2022/05/02 v5.15.4 Font Awesome 5 + +(/usr/share/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty +Package: l3keys2e 2024-02-18 LaTeX2e option processing using LaTeX3 keys +) +(/usr/share/texmf-dist/tex/latex/l3packages/xparse/xparse.sty +Package: xparse 2024-02-18 L3 Experimental document command parser +) +(/usr/share/texmf-dist/tex/latex/fontawesome5/fontawesome5-generic-helper.sty +Package: fontawesome5-generic-helper 2022/05/02 v5.15.4 non-uTeX helper for fon +tawesome5 + +(/usr/share/texmf-dist/tex/latex/fontawesome5/fontawesome5-mapping.def))) +(/usr/share/texmf-dist/tex/latex/forest/forest.sty +Package: forest 2017/07/14 v2.1.5 Drawing (linguistic) trees + +(/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrary +shapes.code.tex +File: tikzlibraryshapes.code.tex 2023-01-15 v3.1.10 (3.1.10) + +(/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrary +shapes.geometric.code.tex +File: tikzlibraryshapes.geometric.code.tex 2023-01-15 v3.1.10 (3.1.10) + +(/usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.geomet +ric.code.tex +File: pgflibraryshapes.geometric.code.tex 2023-01-15 v3.1.10 (3.1.10) +)) +(/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrary +shapes.misc.code.tex +File: tikzlibraryshapes.misc.code.tex 2023-01-15 v3.1.10 (3.1.10) + +(/usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.misc.c +ode.tex +File: pgflibraryshapes.misc.code.tex 2023-01-15 v3.1.10 (3.1.10) +)) +(/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrary +shapes.symbols.code.tex +File: tikzlibraryshapes.symbols.code.tex 2023-01-15 v3.1.10 (3.1.10) + +(/usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.symbol +s.code.tex +File: pgflibraryshapes.symbols.code.tex 2023-01-15 v3.1.10 (3.1.10) +)) +(/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrary +shapes.arrows.code.tex +File: tikzlibraryshapes.arrows.code.tex 2023-01-15 v3.1.10 (3.1.10) + +(/usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.arrows +.code.tex +File: pgflibraryshapes.arrows.code.tex 2023-01-15 v3.1.10 (3.1.10) +)) +(/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrary +shapes.callouts.code.tex +(/usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.callou +ts.code.tex)) +(/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrary +shapes.multipart.code.tex +File: tikzlibraryshapes.multipart.code.tex 2023-01-15 v3.1.10 (3.1.10) + +(/usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.multip +art.code.tex +File: pgflibraryshapes.multipart.code.tex 2023-01-15 v3.1.10 (3.1.10) +\pgfnodepartlowerbox=\box86 +\pgfnodeparttwobox=\box87 +\pgfnodepartthreebox=\box88 +\pgfnodepartfourbox=\box89 +\pgfnodeparttwentybox=\box90 +\pgfnodepartnineteenbox=\box91 +\pgfnodeparteighteenbox=\box92 +\pgfnodepartseventeenbox=\box93 +\pgfnodepartsixteenbox=\box94 +\pgfnodepartfifteenbox=\box95 +\pgfnodepartfourteenbox=\box96 +\pgfnodepartthirteenbox=\box97 +\pgfnodeparttwelvebox=\box98 +\pgfnodepartelevenbox=\box99 +\pgfnodeparttenbox=\box100 +\pgfnodepartninebox=\box101 +\pgfnodeparteightbox=\box102 +\pgfnodepartsevenbox=\box103 +\pgfnodepartsixbox=\box104 +\pgfnodepartfivebox=\box105 +))) +(/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrary +fit.code.tex +File: tikzlibraryfit.code.tex 2023-01-15 v3.1.10 (3.1.10) +) +(/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrary +calc.code.tex +File: tikzlibrarycalc.code.tex 2023-01-15 v3.1.10 (3.1.10) +) +(/usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryintersections.code.t +ex (/usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryfpu.code.tex) +\pgf@intersect@solutions=\count381 +) +(/usr/share/texmf-dist/tex/latex/pgfopts/pgfopts.sty +Package: pgfopts 2014/07/10 v2.1a LaTeX package options with pgfkeys +\pgfopts@list@add@a@toks=\toks64 +\pgfopts@list@add@b@toks=\toks65 +) +(/usr/share/texmf-dist/tex/latex/elocalloc/elocalloc.sty +Package: elocalloc 2016/12/15 v0.03 local allocation for LaTeX 2015+ (DPC) +) +(/usr/share/texmf-dist/tex/latex/environ/environ.sty +Package: environ 2014/05/04 v0.3 A new way to define environments + +(/usr/share/texmf-dist/tex/latex/trimspaces/trimspaces.sty +Package: trimspaces 2009/09/17 v1.1 Trim spaces around a token list +)) +(/usr/share/texmf-dist/tex/latex/inlinedef/inlinedef.sty +Package: inlinedef 2008/07/10 v1.0 Inlined expansions within definitions +\ID@toks=\toks66 +\ID@count=\count382 +) +\ID@usercommands=\toks67 +\safeloop@depth=\count383 +\safeRKloop@depth=\count384 +\forest@temp@dimen=\dimen309 +\forest@temp@count=\count385 +\forest@n=\count386 +\forest@temp@global@count=\count387 +\forest@temp@toks=\toks68 +\forest@temparray@M=\count388 +\forest@temparray@N=\count389 +\forest@global@temparray@M=\count390 +\forest@global@temparray@N=\count391 +\forest@isnum@count=\count392 +\forest@isdim@nonintpart=\count393 +\forest@isdim@dimen=\dimen310 +\forest@sort@m=\count394 +\forest@sort@k=\count395 +\forest@sort@p=\count396 +\bracket@content=\toks69 +\bracket@afterthought=\toks70 +\forest@node@maxid=\count397 +\forest@process@left@M=\count398 +\forest@process@left@N=\count399 +\forest@process@right@M=\count400 +\forest@process@right@N=\count401 +\forest@process@saved@M=\count402 +\forest@process@saved@N=\count403 +\forest@process@result@M=\count404 +\forest@process@result@N=\count405 +\forest@process@n=\count406 +\forest@nodewalk@branch@toks=\toks71 +\forest@nodewalk@shortsteps@resolution=\toks72 +\forest@do@dynamics=\toks73 +\forest@box=\box106 +\forest@xg=\dimen311 +\forest@yg=\dimen312 +\forest@xs=\dimen313 +\forest@ys=\dimen314 +\forest@pi@toks=\toks74 +\forest@segment@toks=\toks75 +\forest@PIi@toks=\toks76 +\forest@PIii@toks=\toks77 +\forest@copy@in=\read4 +\forest@copy@out=\write4 +\forest@externalize@max@outer@n=\count407 +\forest@externalize@inner@n=\count408 +) +(/usr/share/texmf-dist/tex/latex/pgf-pie/pgf-pie.sty +Package: pgf-pie 2022/06/14 v0.7 Some LaTeX macros for pie chart by using PGF/T +ikz package. + +(/usr/share/texmf-dist/tex/latex/pgf-pie/tikzlibrarypie.code.tex +(/usr/share/texmf-dist/tex/latex/carlisle/scalefnt.sty) +\pgfpie@angleEnd=\dimen315 +\pgfpie@explodeLength=\count409 +\pgfpie@colorLength=\count410 +\pgfpie@sliceLength=\count411 +)) +\glswrite=\write5 +\glo@main@file=\write6 +\openout6 = `main.glo'. + +Package glossaries Info: Writing glossary file main.glo on input line 113. +Package hyperref Info: Option `colorlinks' set `true' on input line 134. +Package hyperref Info: Option `linktocpage' set `true' on input line 134. +Package hyperref Info: Option `bookmarksnumbered' set `true' on input line 134. + + +(/usr/share/texmf-dist/tex/latex/biblatex/biblatex.sty +Package: biblatex 2023/03/05 v3.19 programmable bibliographies (PK/MW) + +(/usr/share/texmf-dist/tex/latex/logreq/logreq.sty +Package: logreq 2010/08/04 v1.0 xml request logger +\lrq@indent=\count412 + +(/usr/share/texmf-dist/tex/latex/logreq/logreq.def +File: logreq.def 2010/08/04 v1.0 logreq spec v1.0 +)) +\c@tabx@nest=\count413 +\c@listtotal=\count414 +\c@listcount=\count415 +\c@liststart=\count416 +\c@liststop=\count417 +\c@citecount=\count418 +\c@citetotal=\count419 +\c@multicitecount=\count420 +\c@multicitetotal=\count421 +\c@instcount=\count422 +\c@maxnames=\count423 +\c@minnames=\count424 +\c@maxitems=\count425 +\c@minitems=\count426 +\c@citecounter=\count427 +\c@maxcitecounter=\count428 +\c@savedcitecounter=\count429 +\c@uniquelist=\count430 +\c@uniquename=\count431 +\c@refsection=\count432 +\c@refsegment=\count433 +\c@maxextratitle=\count434 +\c@maxextratitleyear=\count435 +\c@maxextraname=\count436 +\c@maxextradate=\count437 +\c@maxextraalpha=\count438 +\c@abbrvpenalty=\count439 +\c@highnamepenalty=\count440 +\c@lownamepenalty=\count441 +\c@maxparens=\count442 +\c@parenlevel=\count443 +\blx@tempcnta=\count444 +\blx@tempcntb=\count445 +\blx@tempcntc=\count446 +\c@blx@maxsection=\count447 +\blx@maxsegment@0=\count448 +\blx@notetype=\count449 +\blx@parenlevel@text=\count450 +\blx@parenlevel@foot=\count451 +\blx@sectionciteorder@0=\count452 +\blx@sectionciteorderinternal@0=\count453 +\blx@entrysetcounter=\count454 +\blx@biblioinstance=\count455 +\labelnumberwidth=\skip91 +\labelalphawidth=\skip92 +\biblabelsep=\skip93 +\bibitemsep=\skip94 +\bibnamesep=\skip95 +\bibinitsep=\skip96 +\bibparsep=\skip97 +\bibhang=\skip98 +\blx@bcfin=\read5 +\blx@bcfout=\write7 +\blx@langwohyphens=\language90 +\c@mincomprange=\count456 +\c@maxcomprange=\count457 +\c@mincompwidth=\count458 +Package biblatex Info: Trying to load biblatex default data model... +Package biblatex Info: ... file 'blx-dm.def' found. + +(/usr/share/texmf-dist/tex/latex/biblatex/blx-dm.def +File: blx-dm.def 2023/03/05 v3.19 biblatex localization (PK/MW) +) +Package biblatex Info: Trying to load biblatex style data model... +Package biblatex Info: ... file 'numeric.dbx' not found. +Package biblatex Info: Trying to load biblatex custom data model... +Package biblatex Info: ... file 'biblatex-dm.cfg' not found. +\c@afterword=\count459 +\c@savedafterword=\count460 +\c@annotator=\count461 +\c@savedannotator=\count462 +\c@author=\count463 +\c@savedauthor=\count464 +\c@bookauthor=\count465 +\c@savedbookauthor=\count466 +\c@commentator=\count467 +\c@savedcommentator=\count468 +\c@editor=\count469 +\c@savededitor=\count470 +\c@editora=\count471 +\c@savededitora=\count472 +\c@editorb=\count473 +\c@savededitorb=\count474 +\c@editorc=\count475 +\c@savededitorc=\count476 +\c@foreword=\count477 +\c@savedforeword=\count478 +\c@holder=\count479 +\c@savedholder=\count480 +\c@introduction=\count481 +\c@savedintroduction=\count482 +\c@namea=\count483 +\c@savednamea=\count484 +\c@nameb=\count485 +\c@savednameb=\count486 +\c@namec=\count487 +\c@savednamec=\count488 +\c@translator=\count489 +\c@savedtranslator=\count490 +\c@shortauthor=\count491 +\c@savedshortauthor=\count492 +\c@shorteditor=\count493 +\c@savedshorteditor=\count494 +\c@labelname=\count495 +\c@savedlabelname=\count496 +\c@institution=\count497 +\c@savedinstitution=\count498 +\c@lista=\count499 +\c@savedlista=\count500 +\c@listb=\count501 +\c@savedlistb=\count502 +\c@listc=\count503 +\c@savedlistc=\count504 +\c@listd=\count505 +\c@savedlistd=\count506 +\c@liste=\count507 +\c@savedliste=\count508 +\c@listf=\count509 +\c@savedlistf=\count510 +\c@location=\count511 +\c@savedlocation=\count512 +\c@organization=\count513 +\c@savedorganization=\count514 +\c@origlocation=\count515 +\c@savedoriglocation=\count516 +\c@origpublisher=\count517 +\c@savedorigpublisher=\count518 +\c@publisher=\count519 +\c@savedpublisher=\count520 +\c@language=\count521 +\c@savedlanguage=\count522 +\c@origlanguage=\count523 +\c@savedoriglanguage=\count524 +\c@pageref=\count525 +\c@savedpageref=\count526 +\shorthandwidth=\skip99 +\shortjournalwidth=\skip100 +\shortserieswidth=\skip101 +\shorttitlewidth=\skip102 +\shortauthorwidth=\skip103 +\shorteditorwidth=\skip104 +\locallabelnumberwidth=\skip105 +\locallabelalphawidth=\skip106 +\localshorthandwidth=\skip107 +\localshortjournalwidth=\skip108 +\localshortserieswidth=\skip109 +\localshorttitlewidth=\skip110 +\localshortauthorwidth=\skip111 +\localshorteditorwidth=\skip112 +Package biblatex Info: Trying to load compatibility code... +Package biblatex Info: ... file 'blx-compat.def' found. + +(/usr/share/texmf-dist/tex/latex/biblatex/blx-compat.def +File: blx-compat.def 2023/03/05 v3.19 biblatex compatibility (PK/MW) +) +Package biblatex Info: Trying to load generic definitions... +Package biblatex Info: ... file 'biblatex.def' found. + +(/usr/share/texmf-dist/tex/latex/biblatex/biblatex.def +File: biblatex.def 2023/03/05 v3.19 biblatex compatibility (PK/MW) +\c@textcitecount=\count527 +\c@textcitetotal=\count528 +\c@textcitemaxnames=\count529 +\c@biburlbigbreakpenalty=\count530 +\c@biburlbreakpenalty=\count531 +\c@biburlnumpenalty=\count532 +\c@biburlucpenalty=\count533 +\c@biburllcpenalty=\count534 +\biburlbigskip=\muskip18 +\biburlnumskip=\muskip19 +\biburlucskip=\muskip20 +\biburllcskip=\muskip21 +\c@smartand=\count535 +) +Package biblatex Info: Trying to load bibliography style 'numeric'... +Package biblatex Info: ... file 'numeric.bbx' found. + +(/usr/share/texmf-dist/tex/latex/biblatex/bbx/numeric.bbx +File: numeric.bbx 2023/03/05 v3.19 biblatex bibliography style (PK/MW) +Package biblatex Info: Trying to load bibliography style 'standard'... +Package biblatex Info: ... file 'standard.bbx' found. + +(/usr/share/texmf-dist/tex/latex/biblatex/bbx/standard.bbx +File: standard.bbx 2023/03/05 v3.19 biblatex bibliography style (PK/MW) +\c@bbx:relatedcount=\count536 +\c@bbx:relatedtotal=\count537 +)) +Package biblatex Info: Trying to load citation style 'numeric'... +Package biblatex Info: ... file 'numeric.cbx' found. + +(/usr/share/texmf-dist/tex/latex/biblatex/cbx/numeric.cbx +File: numeric.cbx 2023/03/05 v3.19 biblatex citation style (PK/MW) +Package biblatex Info: Redefining '\cite'. +Package biblatex Info: Redefining '\parencite'. +Package biblatex Info: Redefining '\footcite'. +Package biblatex Info: Redefining '\footcitetext'. +Package biblatex Info: Redefining '\smartcite'. +Package biblatex Info: Redefining '\supercite'. +Package biblatex Info: Redefining '\textcite'. +Package biblatex Info: Redefining '\textcites'. +Package biblatex Info: Redefining '\cites'. +Package biblatex Info: Redefining '\parencites'. +Package biblatex Info: Redefining '\smartcites'. +) +Package biblatex Info: Trying to load configuration file... +Package biblatex Info: ... file 'biblatex.cfg' found. + +(/usr/share/texmf-dist/tex/latex/biblatex/biblatex.cfg +File: biblatex.cfg +) +Package biblatex Info: Input encoding 'utf8' detected. +Package biblatex Info: Document encoding is UTF8 .... +Package biblatex Info: ... and expl3 +(biblatex) 2024-02-20 L3 programming layer (loader) +(biblatex) is new enough (at least 2020/04/06), +(biblatex) setting 'casechanger=expl3'. + +(/usr/share/texmf-dist/tex/latex/biblatex/blx-case-expl3.sty +Package: blx-case-expl3 2023/03/05 v3.19 expl3 case changing code for biblatex +)) +(/usr/share/texmf-dist/tex/latex/amscls/amsthm.sty +Package: amsthm 2020/05/29 v2.20.6 +\thm@style=\toks78 +\thm@bodyfont=\toks79 +\thm@headfont=\toks80 +\thm@notefont=\toks81 +\thm@headpunct=\toks82 +\thm@preskip=\skip113 +\thm@postskip=\skip114 +\thm@headsep=\skip115 +\dth@everypar=\toks83 +) +(/usr/share/texmf-dist/tex/latex/xpatch/xpatch.sty +Package: xpatch 2020/03/25 v0.3a Extending etoolbox patching commands +) +Class scrreprt Info: amsthm's \deferred@thm@head patched. + +(/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrary +arrows.code.tex +File: tikzlibraryarrows.code.tex 2023-01-15 v3.1.10 (3.1.10) + +(/usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.code.tex +File: pgflibraryarrows.code.tex 2023-01-15 v3.1.10 (3.1.10) +\arrowsize=\dimen316 +)) +(/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrary +backgrounds.code.tex +File: tikzlibrarybackgrounds.code.tex 2023-01-15 v3.1.10 (3.1.10) +\pgf@layerbox@background=\box107 +\pgf@layerboxsaved@background=\box108 +) +(/usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.meta.code.tex +File: pgflibraryarrows.meta.code.tex 2023-01-15 v3.1.10 (3.1.10) +\pgfarrowinset=\dimen317 +\pgfarrowlength=\dimen318 +\pgfarrowwidth=\dimen319 +\pgfarrowlinewidth=\dimen320 +) (/usr/share/texmf-dist/tex/latex/pgfplots/pgfplots.sty +(/usr/share/texmf-dist/tex/generic/pgfplots/pgfplots.revision.tex) +Package: pgfplots 2021/05/15 v1.18.1 Data Visualization (1.18.1) + +(/usr/share/texmf-dist/tex/generic/pgfplots/pgfplots.code.tex +(/usr/share/texmf-dist/tex/generic/pgfplots/pgfplotscore.code.tex +\t@pgfplots@toka=\toks84 +\t@pgfplots@tokb=\toks85 +\t@pgfplots@tokc=\toks86 +\pgfplots@tmpa=\dimen321 +\c@pgfplots@coordindex=\count538 +\c@pgfplots@scanlineindex=\count539 + +(/usr/share/texmf-dist/tex/generic/pgfplots/sys/pgfplotssysgeneric.code.tex)) +(/usr/share/texmf-dist/tex/generic/pgfplots/libs/pgfplotslibrary.code.tex) +(/usr/share/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_l +oader.code.tex +Package pgfplots: loading complementary utilities for your pgf version... +\t@pgf@toka=\toks87 +\t@pgf@tokb=\toks88 +\t@pgf@tokc=\toks89 + +(/usr/share/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_p +gfutil-common-lists.tex)) +(/usr/share/texmf-dist/tex/generic/pgfplots/util/pgfplotsutil.code.tex +(/usr/share/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsliststructure +.code.tex) +(/usr/share/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsliststructure +ext.code.tex) +(/usr/share/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsarray.code.te +x +\c@pgfplotsarray@tmp=\count540 +) +(/usr/share/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsmatrix.code.t +ex) +(/usr/share/texmf-dist/tex/generic/pgfplots/numtable/pgfplotstableshared.code.t +ex +\c@pgfplotstable@counta=\count541 +\t@pgfplotstable@a=\toks90 +) +(/usr/share/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsdeque.code.te +x) (/usr/share/texmf-dist/tex/generic/pgfplots/util/pgfplotsbinary.code.tex +(/usr/share/texmf-dist/tex/generic/pgfplots/util/pgfplotsbinary.data.code.tex)) +(/usr/share/texmf-dist/tex/generic/pgfplots/util/pgfplotsutil.verb.code.tex) +(/usr/share/texmf-dist/tex/generic/pgfplots/libs/pgflibrarypgfplots.surfshading +.code.tex +\c@pgfplotslibrarysurf@no=\count542 + +(/usr/share/texmf-dist/tex/generic/pgfplots/sys/pgflibrarypgfplots.surfshading. +pgfsys-pdftex.def))) +(/usr/share/texmf-dist/tex/generic/pgfplots/util/pgfplotscolormap.code.tex +(/usr/share/texmf-dist/tex/generic/pgfplots/util/pgfplotscolor.code.tex)) +(/usr/share/texmf-dist/tex/generic/pgfplots/pgfplotsstackedplots.code.tex) +(/usr/share/texmf-dist/tex/generic/pgfplots/pgfplotsplothandlers.code.tex +(/usr/share/texmf-dist/tex/generic/pgfplots/pgfplotsmeshplothandler.code.tex +(/usr/share/texmf-dist/tex/generic/pgfplots/pgfplotsmeshplotimage.code.tex))) +(/usr/share/texmf-dist/tex/generic/pgfplots/pgfplots.scaling.code.tex) +(/usr/share/texmf-dist/tex/generic/pgfplots/pgfplotscoordprocessing.code.tex) +(/usr/share/texmf-dist/tex/generic/pgfplots/pgfplots.errorbars.code.tex) +(/usr/share/texmf-dist/tex/generic/pgfplots/pgfplots.markers.code.tex) +(/usr/share/texmf-dist/tex/generic/pgfplots/pgfplotsticks.code.tex) +(/usr/share/texmf-dist/tex/generic/pgfplots/pgfplots.paths.code.tex) +(/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrary +decorations.code.tex +(/usr/share/texmf-dist/tex/generic/pgf/modules/pgfmoduledecorations.code.tex +\pgfdecoratedcompleteddistance=\dimen322 +\pgfdecoratedremainingdistance=\dimen323 +\pgfdecoratedinputsegmentcompleteddistance=\dimen324 +\pgfdecoratedinputsegmentremainingdistance=\dimen325 +\pgf@decorate@distancetomove=\dimen326 +\pgf@decorate@repeatstate=\count543 +\pgfdecorationsegmentamplitude=\dimen327 +\pgfdecorationsegmentlength=\dimen328 +) +\tikz@lib@dec@box=\box109 +) +(/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrary +decorations.pathmorphing.code.tex +(/usr/share/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydecorati +ons.pathmorphing.code.tex)) +(/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrary +decorations.pathreplacing.code.tex +(/usr/share/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydecorati +ons.pathreplacing.code.tex)) +(/usr/share/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.contourlua +.code.tex) +\pgfplots@numplots=\count544 +\pgfplots@xmin@reg=\dimen329 +\pgfplots@xmax@reg=\dimen330 +\pgfplots@ymin@reg=\dimen331 +\pgfplots@ymax@reg=\dimen332 +\pgfplots@zmin@reg=\dimen333 +\pgfplots@zmax@reg=\dimen334 +) +(/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrary +plotmarks.code.tex +File: tikzlibraryplotmarks.code.tex 2023-01-15 v3.1.10 (3.1.10) + +(/usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryplotmarks.code.tex +File: pgflibraryplotmarks.code.tex 2023-01-15 v3.1.10 (3.1.10) +))) +\c@definition=\count545 + (/usr/share/texmf-dist/tex/latex/listings/lstlang1.sty +File: lstlang1.sty 2024/02/21 1.10 listings language file +) +(/usr/share/texmf-dist/tex/latex/listings/lstlang2.sty +File: lstlang2.sty 2024/02/21 1.10 listings language file +) +(/usr/share/texmf-dist/tex/latex/listings/lstmisc.sty +File: lstmisc.sty 2024/02/21 1.10 (Carsten Heinz) +)) (./content/glossary.tex) +Package csquotes Info: Checking for multilingual support... +Package csquotes Info: ... found 'babel' package. +LaTeX Font Info: Trying to load font information for T1+lmr on input line 15 +. + (/usr/share/texmf-dist/tex/latex/lm/t1lmr.fd +File: t1lmr.fd 2015/05/01 v1.6.1 Font defs for Latin Modern +) (./main.aux) +\openout1 = `main.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 15. +LaTeX Font Info: ... okay on input line 15. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 15. +LaTeX Font Info: ... okay on input line 15. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 15. +LaTeX Font Info: ... okay on input line 15. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 15. +LaTeX Font Info: ... okay on input line 15. +LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 15. +LaTeX Font Info: ... okay on input line 15. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 15. +LaTeX Font Info: ... okay on input line 15. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 15. +LaTeX Font Info: ... okay on input line 15. +LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 15. +LaTeX Font Info: ... okay on input line 15. +LaTeX Font Info: Checking defaults for PU/pdf/m/n on input line 15. +LaTeX Font Info: ... okay on input line 15. +Package nag Info: pgf.sty is broken: disabling dollar check on input line 15. +Package nag Info: Command \bf not defined, skipping amendment on input line 15. + +Package nag Info: Command \it not defined, skipping amendment on input line 15. + +Package nag Info: Command \rm not defined, skipping amendment on input line 15. + +Package nag Info: Command \sc not defined, skipping amendment on input line 15. + +Package nag Info: Command \sf not defined, skipping amendment on input line 15. + +Package nag Info: Command \sl not defined, skipping amendment on input line 15. + +Package nag Info: Command \tt not defined, skipping amendment on input line 15. + +Package nag Info: Command \frontmatter not defined, skipping amendment on input + line 15. +Package nag Info: Command \mainmatter not defined, skipping amendment on input +line 15. +Package nag Info: Command \backmatter not defined, skipping amendment on input +line 15. +Package nag Info: Command \RaggedLeft not defined, skipping amendment on input +line 15. +Package nag Info: Command \RaggedRight not defined, skipping amendment on input + line 15. + +*geometry* detected driver: pdftex +*geometry* verbose mode - [ preamble ] result: +* driver: pdftex +* paper: +* layout: +* layoutoffset:(h,v)=(0.0pt,0.0pt) +* modes: +* h-part:(L,W,R)=(71.13188pt, 455.24417pt, 71.13188pt) +* v-part:(T,H,B)=(71.13188pt, 702.78317pt, 71.13188pt) +* \paperwidth=597.50793pt +* \paperheight=845.04694pt +* \textwidth=455.24417pt +* \textheight=702.78317pt +* \oddsidemargin=-1.1381pt +* \evensidemargin=-1.1381pt +* \topmargin=-34.8881pt +* \headheight=12.0pt +* \headsep=21.75pt +* \topskip=12.0pt +* \footskip=28.45274pt +* \marginparwidth=63.86063pt +* \marginparsep=12.8401pt +* \columnsep=10.0pt +* \skip\footins=10.8pt plus 4.0pt minus 2.0pt +* \hoffset=0.0pt +* \voffset=0.0pt +* \mag=1000 +* \@twocolumnfalse +* \@twosidefalse +* \@mparswitchfalse +* \@reversemarginfalse +* (1in=72.27pt=25.4mm, 1cm=28.453pt) + +LaTeX Info: Redefining \microtypecontext on input line 15. +Package microtype Info: Applying patch `item' on input line 15. +Package microtype Info: Applying patch `toc' on input line 15. +Package microtype Info: Applying patch `eqnum' on input line 15. +Package microtype Info: Applying patch `footnote' on input line 15. +Package microtype Info: Applying patch `verbatim' on input line 15. +Package microtype Info: Generating PDF output. +Package microtype Info: Character protrusion enabled (level 2). +Package microtype Info: Using default protrusion set `alltext'. +Package microtype Info: Automatic font expansion enabled (level 2), +(microtype) stretch: 20, shrink: 20, step: 1, non-selected. +Package microtype Info: Using default expansion set `alltext-nott'. +LaTeX Info: Redefining \showhyphens on input line 15. +Package microtype Info: No adjustment of tracking. +Package microtype Info: No adjustment of interword spacing. +Package microtype Info: No adjustment of character kerning. +(/usr/share/texmf-dist/tex/latex/microtype/mt-cmr.cfg +File: mt-cmr.cfg 2013/05/19 v2.2 microtype config. file: Computer Modern Roman +(RS) +) +(/usr/share/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count546 +\scratchdimen=\dimen335 +\scratchbox=\box110 +\nofMPsegments=\count547 +\nofMParguments=\count548 +\everyMPshowfont=\toks91 +\MPscratchCnt=\count549 +\MPscratchDim=\dimen336 +\MPnumerator=\count550 +\makeMPintoPDFobject=\count551 +\everyMPtoPDFconversion=\toks92 +) (/usr/share/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty +Package: epstopdf-base 2020-01-24 v2.11 Base part for package epstopdf +Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4 +85. + +(/usr/share/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg +File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv +e +)) +(/usr/share/texmf-dist/tex/latex/pdflscape/pdflscape.sty +Package: pdflscape 2022-10-27 v0.13 Display of landscape pages in PDF + +(/usr/share/texmf-dist/tex/latex/pdflscape/pdflscape-nometadata.sty +Package: pdflscape-nometadata 2022-10-28 v0.13 Display of landscape pages in PD +F (HO) +)) +\c@lstlisting=\count552 +Package tocbasic Info: setting babel extension for `lol' on input line 15. +\scr@dte@lstlisting@maxnumwidth=\skip116 +Package hyperref Info: Link coloring ON on input line 15. + +(./main.glsdefs) +Package biblatex Info: Trying to load language 'ngerman'... +Package biblatex Info: ... file 'ngerman.lbx' found. + (/usr/share/texmf-dist/tex/latex/biblatex/lbx/ngerman.lbx +File: ngerman.lbx 2023/03/05 v3.19 biblatex localization (PK/MW) +Package biblatex Info: Trying to load language 'german'... +Package biblatex Info: ... file 'german.lbx' found. + +(/usr/share/texmf-dist/tex/latex/biblatex/lbx/german.lbx +File: german.lbx 2023/03/05 v3.19 biblatex localization (PK/MW) +) +Package biblatex Info: Trying to load language 'german'... +Package biblatex Info: ... file 'german.lbx' found. + +(/usr/share/texmf-dist/tex/latex/biblatex/lbx/german.lbx +File: german.lbx 2023/03/05 v3.19 biblatex localization (PK/MW) +)) +Package biblatex Info: Trying to load language 'english'... +Package biblatex Info: ... file 'english.lbx' found. + +(/usr/share/texmf-dist/tex/latex/biblatex/lbx/english.lbx +File: english.lbx 2023/03/05 v3.19 biblatex localization (PK/MW) +) +Package biblatex Info: Input encoding 'utf8' detected. +Package biblatex Info: Data encoding 'utf8' specified. +(biblatex) No need to reencode data. +\openout7 = `main.bcf'. + +Package biblatex Info: Trying to load bibliographic data... +Package biblatex Info: ... file 'main.bbl' found. + (./main.bbl) +Package biblatex Info: Reference section=0 on input line 15. +Package biblatex Info: Reference segment=0 on input line 15. + + +Package pgfplots Warning: running in backwards compatibility mode (unsuitable t +ick labels; missing features). Consider writing \pgfplotsset{compat=1.18} into +your preamble. + on input line 15. + +Package nag Info: Command \caption@xlabel not defined, skipping amendment on in +put line 15. +Package nag Info: Command \hc@caption not defined, skipping amendment on input +line 15. +(./ads/cover.tex + +File: images/cover/logo-dhbw.pdf Graphic file (type pdf) + +Package pdftex.def Info: images/cover/logo-dhbw.pdf used on input line 5. +(pdftex.def) Requested size: 170.29382pt x 71.13188pt. + +Overfull \hbox (39.99991pt too wide) in alignment at lines 4--12 + [] [] + [] + +[1 + +\openout5 = `main.ist'. + + + +{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}{/usr/share/texmf-dist/fonts +/enc/dvips/lm/lm-ec.enc} <./images/cover/logo-dhbw.pdf>]) +(./ads/declaration.tex +LaTeX Font Info: Trying to load font information for T1+lmss on input line 5 +. + (/usr/share/texmf-dist/tex/latex/lm/t1lmss.fd +File: t1lmss.fd 2015/05/01 v1.6.1 Font defs for Latin Modern +) +Package microtype Info: Loading generic protrusion settings for font family +(microtype) `lmss' (encoding: T1). +(microtype) For optimal results, create family-specific settings. +(microtype) See the microtype manual for details. +) [1] +(./content/abstract.tex [2 + + +]) +Package tocbasic Info: character protrusion at toc deactivated on input line 54 +. + (./main.toc +Overfull \hbox (3.22041pt too wide) detected at line 5 + [][][]\T1/lmss/bx/n/12 VIII[][] + [] + +LaTeX Font Info: Trying to load font information for OT1+lmr on input line 7 +. +(/usr/share/texmf-dist/tex/latex/lm/ot1lmr.fd +File: ot1lmr.fd 2015/05/01 v1.6.1 Font defs for Latin Modern +) +LaTeX Font Info: Trying to load font information for OML+lmm on input line 7 +. + +(/usr/share/texmf-dist/tex/latex/lm/omllmm.fd +File: omllmm.fd 2015/05/01 v1.6.1 Font defs for Latin Modern +) +LaTeX Font Info: Trying to load font information for OMS+lmsy on input line +7. + +(/usr/share/texmf-dist/tex/latex/lm/omslmsy.fd +File: omslmsy.fd 2015/05/01 v1.6.1 Font defs for Latin Modern +) +LaTeX Font Info: Trying to load font information for OMX+lmex on input line +7. + +(/usr/share/texmf-dist/tex/latex/lm/omxlmex.fd +File: omxlmex.fd 2015/05/01 v1.6.1 Font defs for Latin Modern +) +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <12> on input line 7. +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <8> on input line 7. +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <6> on input line 7. +LaTeX Font Info: Trying to load font information for U+msa on input line 7. + +(/usr/share/texmf-dist/tex/latex/amsfonts/umsa.fd +File: umsa.fd 2013/01/14 v3.01 AMS symbols A +) +(/usr/share/texmf-dist/tex/latex/microtype/mt-msa.cfg +File: mt-msa.cfg 2006/02/04 v1.1 microtype config. file: AMS symbols (a) (RS) +) +LaTeX Font Info: Trying to load font information for U+msb on input line 7. + +(/usr/share/texmf-dist/tex/latex/amsfonts/umsb.fd +File: umsb.fd 2013/01/14 v3.01 AMS symbols B +) +(/usr/share/texmf-dist/tex/latex/microtype/mt-msb.cfg +File: mt-msb.cfg 2005/06/01 v1.0 microtype config. file: AMS symbols (b) (RS) +) [3 + +]) +\tf@toc=\write8 +\openout8 = `main.toc'. + + [4] +(./content/acronyms.tex +chapter without number + +Class scrreprt Warning: \float@addtolists detected! +(scrreprt) Implementation of \float@addtolist became +(scrreprt) deprecated in KOMA-Script v3.01 2008/11/14 and +(scrreprt) has been replaced by several more flexible +(scrreprt) features of package `tocbasic`. +(scrreprt) Since Version 3.12 support for deprecated +(scrreprt) \float@addtolist interface has been +(scrreprt) restricted to only some of the KOMA-Script +(scrreprt) features and been removed from others. +(scrreprt) Loading of package `scrhack' may help to +(scrreprt) avoid this warning, if you are using a +(scrreprt) a package that still implements the +(scrreprt) deprecated \float@addtolist interface. + +) [5 + + + + +] +Package tocbasic Info: character protrusion at lof deactivated on input line 66 +. + (./main.lof +Package acronym Info: Label `acro:Java-TX' newly defined as it shall be overrid +den +although it is yet undefined on input line 6. + +Overfull \hbox (0.44437pt too wide) in paragraph at lines 6--6 + [][] []\T1/lmr/m/n/12 (-20) Zirkuläre Ab-hän-gig-kei-ten zwi-schen Ja-va und [ +][][]Java-Type eX-ten-ded ([])[] + [] + +) +\tf@lof=\write9 +\openout9 = `main.lof'. + + [6 + + + +] +Package tocbasic Info: character protrusion at lot deactivated on input line 70 +. + (./main.lot) +\tf@lot=\write10 +\openout10 = `main.lot'. + + [7 + + + +] +Package tocbasic Info: character protrusion at lol deactivated on input line 74 +. + (./main.lol +LaTeX Font Info: Trying to load font information for T1+lmtt on input line 1 +2. + +(/usr/share/texmf-dist/tex/latex/lm/t1lmtt.fd +File: t1lmtt.fd 2015/05/01 v1.6.1 Font defs for Latin Modern +) +Package microtype Info: Loading generic protrusion settings for font family +(microtype) `lmtt' (encoding: T1). +(microtype) For optimal results, create family-specific settings. +(microtype) See the microtype manual for details. + [8 + + + +]) +\tf@lol=\write11 +\openout11 = `main.lol'. + + [9] +(./content/chapter/01.tex +chapter 1. +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <10> on input line 12. +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <7> on input line 12. +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <5> on input line 12. + +pdfTeX warning (ext4): destination with the same identifier (name{page.1}) has +been already used, duplicate ignored + + \relax +l.25 ...=lst:list_of_type_explizit, language=java] + [1 + + + +] +Overfull \vbox (7.89444pt too high) has occurred while \output is active [] + + +[2] +Overfull \vbox (7.89444pt too high) has occurred while \output is active [] + + +[3] +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <10.95> on input line 100. + (/usr/share/texmf-dist/tex/latex/listings/lstlang1.sty +File: lstlang1.sty 2024/02/21 1.10 listings language file +) +(/usr/share/texmf-dist/tex/latex/listings/lstlang2.sty +File: lstlang2.sty 2024/02/21 1.10 listings language file +) +Overfull \vbox (7.89444pt too high) has occurred while \output is active [] + + +[4] +Overfull \vbox (7.89444pt too high) has occurred while \output is active [] + + +[5] +Overfull \vbox (7.89444pt too high) has occurred while \output is active [] + + +[6] +Overfull \vbox (7.89444pt too high) has occurred while \output is active [] + + +[7] +Overfull \vbox (7.89444pt too high) has occurred while \output is active [] + + +[8] +Overfull \vbox (7.89444pt too high) has occurred while \output is active [] + + +[9{/usr/share/texmf-dist/fonts/enc/dvips/lm/lm-mathsy.enc}{/usr/share/texmf-dis +t/fonts/enc/dvips/lm/lm-rm.enc}] + +Package hyperref Warning: No autoref name for `definition' on input line 290. + + +Overfull \vbox (7.89444pt too high) has occurred while \output is active [] + + +[10{/usr/share/texmf-dist/fonts/enc/dvips/lm/lm-mathit.enc}] + +Package hyperref Warning: No autoref name for `definition' on input line 304. + + +Package hyperref Warning: No autoref name for `definition' on input line 315. + + +Package hyperref Warning: No autoref name for `definition' on input line 315. + + +Overfull \vbox (7.89444pt too high) has occurred while \output is active [] + + +[11] +Package acronym Info: Label `acro:GNU' newly defined as it shall be overridden +although it is yet undefined on input line 334. + +Overfull \vbox (7.89444pt too high) has occurred while \output is active [] + + +[12] +Overfull \vbox (7.89444pt too high) has occurred while \output is active [] + + +[13] +Package acronym Info: Label `acro:GCC' newly defined as it shall be overridden +although it is yet undefined on input line 377. +LaTeX Font Info: Trying to load font information for TS1+lmr on input line 3 +80. + (/usr/share/texmf-dist/tex/latex/lm/ts1lmr.fd +File: ts1lmr.fd 2015/05/01 v1.6.1 Font defs for Latin Modern +)) (./content/chapter/02.tex + +LaTeX Warning: `h' float specifier changed to `ht'. + + +Overfull \vbox (7.89444pt too high) has occurred while \output is active [] + + +[14{/usr/share/texmf-dist/fonts/enc/dvips/lm/lm-ts1.enc}] +Overfull \vbox (7.89444pt too high) has occurred while \output is active [] + + +[15] +chapter 2. +[16 + +] +Overfull \vbox (7.89444pt too high) has occurred while \output is active [] + + +[17] (/usr/share/texmf-dist/tex/latex/listings/lstlang1.sty +File: lstlang1.sty 2024/02/21 1.10 listings language file +) +(/usr/share/texmf-dist/tex/latex/listings/lstlang2.sty +File: lstlang2.sty 2024/02/21 1.10 listings language file +) +(/usr/share/texmf-dist/tex/latex/listings/lstmisc.sty +File: lstmisc.sty 2024/02/21 1.10 (Carsten Heinz) +) +Overfull \vbox (7.89444pt too high) has occurred while \output is active [] + + +[18] +Overfull \hbox (32.58107pt too wide) in paragraph at lines 92--92 +[]\T1/lmtt/m/n/12 javatx-src/main/java/de/dhbwstuttgart/typeinference/assumptio +ns/Assumption.java[] + [] + + +Overfull \hbox (63.45609pt too wide) in paragraph at lines 92--92 +[]\T1/lmtt/m/n/12 javatx-src/main/java/de/dhbwstuttgart/typeinference/assumptio +ns/FieldAssumption.java[] + [] + + +Overfull \vbox (7.89444pt too high) has occurred while \output is active [] + + +[19] +Package acronym Info: Label `acro:JVM' newly defined as it shall be overridden +although it is yet undefined on input line 117. + + +LaTeX Warning: `h' float specifier changed to `ht'. + + +Overfull \vbox (7.89444pt too high) has occurred while \output is active [] + + +[20] +Package acronym Info: Label `acro:Bash' newly defined as it shall be overridden + +although it is yet undefined on input line 140. +Package acronym Info: Label `acro:WSL' newly defined as it shall be overridden +although it is yet undefined on input line 140. +LaTeX Font Info: Trying to load font information for U+fontawesomefree1 on i +nput line 190. + (/usr/share/texmf-dist/tex/latex/fontawesome5/ufontawesomefree1.fd) +LaTeX Font Info: Trying to load font information for U+fontawesomebrands0 on + input line 190. + +(/usr/share/texmf-dist/tex/latex/fontawesome5/ufontawesomebrands0.fd) +LaTeX Font Info: Font shape `U/fontawesomebrands0/solid/n' in size <12> not +available +(Font) Font shape `U/fontawesomebrands0/regular/n' tried instead o +n input line 190. + + +LaTeX Warning: `!h' float specifier changed to `!ht'. + + +Overfull \vbox (7.89444pt too high) has occurred while \output is active [] + + +[21] +Overfull \vbox (7.89444pt too high) has occurred while \output is active [] + + +[22{/usr/share/texmf-dist/fonts/enc/dvips/fontawesome5/fa5free1.enc}{/usr/share +/texmf-dist/fonts/enc/dvips/fontawesome5/fa5brands0.enc}] +Package acronym Info: Label `acro:IDE' newly defined as it shall be overridden +although it is yet undefined on input line 223. + +Overfull \vbox (7.89444pt too high) has occurred while \output is active [] + + +[23] (/usr/share/texmf-dist/tex/latex/listings/lstlang1.sty +File: lstlang1.sty 2024/02/21 1.10 listings language file +)) +(./content/chapter/03.tex +Overfull \vbox (7.89444pt too high) has occurred while \output is active [] + + +[24] +Overfull \vbox (7.89444pt too high) has occurred while \output is active [] + + +[25] +chapter 3. +[26 + +] +Overfull \vbox (7.89444pt too high) has occurred while \output is active [] + + +[27] +Overfull \vbox (7.89444pt too high) has occurred while \output is active [] + + +[28] +Package acronym Info: Label `acro:JDK' newly defined as it shall be overridden +although it is yet undefined on input line 92. + +Overfull \vbox (7.89444pt too high) has occurred while \output is active [] + + +[29] +Overfull \vbox (7.89444pt too high) has occurred while \output is active [] + + +[30] +Overfull \vbox (7.89444pt too high) has occurred while \output is active [] + + +[31] +Overfull \vbox (7.89444pt too high) has occurred while \output is active [] + + +[32{/usr/share/texmf-dist/fonts/enc/dvips/lm/lm-mathex.enc}] +Overfull \vbox (7.89444pt too high) has occurred while \output is active [] + + +[33] + +LaTeX Warning: `h' float specifier changed to `ht'. + + +Overfull \vbox (7.89444pt too high) has occurred while \output is active [] + + +[34] +Overfull \vbox (7.89444pt too high) has occurred while \output is active [] + + +[35] +Overfull \vbox (7.89444pt too high) has occurred while \output is active [] + + +[36] +Overfull \vbox (7.89444pt too high) has occurred while \output is active [] + + +[37] +Overfull \vbox (7.89444pt too high) has occurred while \output is active [] + + +[38]) (./content/chapter/04.tex +Overfull \vbox (7.89444pt too high) has occurred while \output is active [] + + +[39] +chapter 4. +[40 + +] + +LaTeX Warning: `!h' float specifier changed to `!ht'. + + +Overfull \hbox (4.88066pt too wide) in paragraph at lines 58--59 +[]\T1/lmr/m/n/12 (-20) Die Wild-card [][][][][][][][][][] er-mög-licht Ko-va-ri +-anz und so-mit auch Sub-ty-pen von [] + [] + + +Overfull \vbox (7.89444pt too high) has occurred while \output is active [] + + +[41] +Overfull \vbox (7.89444pt too high) has occurred while \output is active [] + + +[42]) (./content/chapter/05.tex +Overfull \vbox (7.89444pt too high) has occurred while \output is active [] + + +[43] +chapter 5. +[44 + +]) +Overfull \hbox (45.91685pt too wide) in paragraph at lines 35--91 +\T1/lmr/m/n/12 (-20) hen-den Ja-va Bi-blio-the-ken aus-nut-zen zu kön-nen. + + + [] + + +Overfull \vbox (7.89444pt too high) has occurred while \output is active [] + + +[45] +chapter without number +Package microtype Info: Character `029' is missing +(microtype) in font `T1/lmr/m/sc/12'. +(microtype) Ignoring protrusion settings for this character. +[46 + + + + +] +Overfull \hbox (12.78903pt too wide) in paragraph at lines 97--97 +[]\T1/lmr/m/n/12 (-20) Maurice Nafta-lin und Phi-lip Wad-ler. \T1/lmr/m/it/12 ( +-20) Ja-va ge-ne-rics and col-lec-ti-ons\T1/lmr/m/n/12 (-20) . OCLC: ocm7681046 +8. + [] + + +Overfull \vbox (7.89444pt too high) has occurred while \output is active [] + + +[47] +Overfull \vbox (7.89444pt too high) has occurred while \output is active [] + + +[48] +Overfull \hbox (9.03387pt too wide) in paragraph at lines 97--97 +\T1/lmtt/m/n/12 concepts / covariance -[] contravariance / creating -[] variant + -[] generic -[] interfaces$[][] + [] + + +Overfull \vbox (7.89444pt too high) has occurred while \output is active [] + + +[49] +No file main.gls. +(./content/glossary.tex +\@gls@deffile=\write12 +\openout12 = `main.glsdefs'. + + + +Package glossaries Warning: Entry `JUnit' has already been defined in the pream +ble (in which case remove the duplicate definition) or you have just updated to + glossaries.sty v4.47 (in which case delete `main.glsdefs') on input line 12. + + +Package glossaries Warning: Entry `javac' has already been defined in the pream +ble (in which case remove the duplicate definition) or you have just updated to + glossaries.sty v4.47 (in which case delete `main.glsdefs') on input line 13. + + +Package glossaries Warning: Entry `Maven' has already been defined in the pream +ble (in which case remove the duplicate definition) or you have just updated to + glossaries.sty v4.47 (in which case delete `main.glsdefs') on input line 14. + + +Package glossaries Warning: Entry `Antlr' has already been defined in the pream +ble (in which case remove the duplicate definition) or you have just updated to + glossaries.sty v4.47 (in which case delete `main.glsdefs') on input line 15. + + +Package glossaries Warning: Entry `ASM' has already been defined in the preambl +e (in which case remove the duplicate definition) or you have just updated to g +lossaries.sty v4.47 (in which case delete `main.glsdefs') on input line 16. + +) +Overfull \vbox (7.89444pt too high) has occurred while \output is active [] + + +[50 + + +] (./content/appendix.tex +chapter without number +[51 + + +] +Overfull \vbox (7.89444pt too high) has occurred while \output is active [] + + +[52]) +No complaints by nag. + +Overfull \vbox (7.89444pt too high) has occurred while \output is active [] + + +[53] (./main.aux) + *********** +LaTeX2e <2023-11-01> patch level 1 +L3 programming layer <2020/03/25> + *********** +Package logreq Info: Writing requests to 'main.run.xml'. +\openout1 = `main.run.xml'. + + ) +Here is how much of TeX's memory you used: + 74266 strings out of 474116 + 1673530 string characters out of 5750249 + 2945677 words of memory out of 5000000 + 94653 multiletter control sequences out of 15000+600000 + 658696 words of font info for 222 fonts, out of 8000000 for 9000 + 1143 hyphenation exceptions out of 8191 + 128i,20n,129p,10918b,3437s stack positions out of 10000i,1000n,20000p,200000b,200000s + +pdfTeX warning (dest): name{glo:ASM} has been referenced but does not exist, re +placed by a fixed one + + +pdfTeX warning (dest): name{glo:Antlr} has been referenced but does not exist, +replaced by a fixed one + + +pdfTeX warning (dest): name{glo:Maven} has been referenced but does not exist, +replaced by a fixed one + + +pdfTeX warning (dest): name{glo:JUnit} has been referenced but does not exist, +replaced by a fixed one + + +pdfTeX warning (dest): name{Hfootnote.5} has been referenced but does not exist +, replaced by a fixed one + + +pdfTeX warning (dest): name{glo:javac} has been referenced but does not exist, +replaced by a fixed one + + +Output written on main.pdf (63 pages, 611886 bytes). +PDF statistics: + 1716 PDF objects out of 1728 (max. 8388607) + 1573 compressed objects within 16 object streams + 648 named destinations out of 1000 (max. 500000) + 60242 words of extra memory for PDF output out of 61914 (max. 10000000) + diff --git a/Studienarbeit/main.lol b/Studienarbeit/main.lol new file mode 100644 index 0000000..ab87c9f --- /dev/null +++ b/Studienarbeit/main.lol @@ -0,0 +1,48 @@ +\babel@toc {ngerman}{}\relax +\addvspace {10\p@ } +\addvspace {10\p@ } +\contentsline {lstlisting}{\numberline {1.1}List.of() mit explizitem Typ}{2}{lstlisting.1.1}% +\contentsline {lstlisting}{\numberline {1.2}List.of() mit implizitem Typ}{2}{lstlisting.1.2}% +\contentsline {lstlisting}{\numberline {1.3}Verbesserungen für Typinferenz in Java 8 (Beispiel aus {\blx@tocontentsinit {0}\cite {oracle_type_nodate}[Target Types]})}{2}{lstlisting.1.3}% +\contentsline {lstlisting}{\numberline {1.4}Java 7 Diamond Operator}{2}{lstlisting.1.4}% +\contentsline {lstlisting}{\numberline {1.5}Java Generics ohne Diamond Operator}{3}{lstlisting.1.5}% +\contentsline {lstlisting}{\numberline {1.6}Java 8 Lambda-Ausdrücke}{3}{lstlisting.1.6}% +\contentsline {lstlisting}{\numberline {1.7}Lambda-Ausdruck mit explizitem Typ}{3}{lstlisting.1.7}% +\contentsline {lstlisting}{\numberline {1.8}Java 10 var Platzhalter}{4}{lstlisting.1.8}% +\contentsline {lstlisting}{\numberline {1.9}Ungültige Verwendung des \lstinline |var| Schlüsselworts}{4}{lstlisting.1.9}% +\contentsline {lstlisting}{\numberline {1.10}Funktion add in Haskell}{4}{lstlisting.1.10}% +\contentsline {lstlisting}{\numberline {1.11}Untypisierte Methode add}{5}{lstlisting.1.11}% +\contentsline {lstlisting}{\numberline {1.12}Von Typinferenz errechnete Typen für \autoref {lst:simple_typeinference_wo_types}}{5}{lstlisting.1.12}% +\contentsline {lstlisting}{\numberline {1.13}Methodenüberladungen durch Typinferenz}{6}{lstlisting.1.13}% +\contentsline {lstlisting}{\numberline {1.14}Resultat der Typinferenz für \autoref {lst:globaltypeinference2}}{6}{lstlisting.1.14}% +\contentsline {lstlisting}{\numberline {1.15}Erstellung eines Threads mit einer anonymen Klasse}{7}{lstlisting.1.15}% +\contentsline {lstlisting}{\numberline {1.16}Erstellung eines Threads mit einem Lambda Ausdruck}{8}{lstlisting.1.16}% +\contentsline {lstlisting}{\numberline {1.17}Lambda Ausdruck mit var}{8}{lstlisting.1.17}% +\contentsline {lstlisting}{\numberline {1.18}Varianz in Java}{11}{lstlisting.1.18}% +\contentsline {lstlisting}{\numberline {1.19}Subtypisierung von Funktionstypen in Java-TX}{12}{lstlisting.1.19}% +\contentsline {lstlisting}{\numberline {1.20}Lambda Ausdruck ohne Typkontext}{12}{lstlisting.1.20}% +\contentsline {lstlisting}{\numberline {1.21}Aufbau einer Makefile-Regel aus {\blx@tocontentsinit {0}\cite {stallman_gnu_2004}[S.3]}}{12}{lstlisting.1.21}% +\contentsline {lstlisting}{\numberline {1.22}Beispiel eines Makefiles aus {\blx@tocontentsinit {0}\cite {stallman_gnu_2004}[S.4]}}{13}{lstlisting.1.22}% +\addvspace {10\p@ } +\contentsline {lstlisting}{\numberline {2.1}Makefile für die Kompilierung des \glqq {}Java-TX Compiler in Java-TX\grqq {}{}}{18}{lstlisting.2.1}% +\contentsline {lstlisting}{\numberline {2.2}Skript zum Kompilieren und Ausführen der Tests}{24}{lstlisting.2.2}% +\addvspace {10\p@ } +\contentsline {lstlisting}{\numberline {3.1}For-Each Schleife in Java}{27}{lstlisting.3.1}% +\contentsline {lstlisting}{\numberline {3.2}For-Each Schleife in Java-TX}{27}{lstlisting.3.2}% +\contentsline {lstlisting}{\numberline {3.3}Verwenden von Klassen im JVM Classpath}{30}{lstlisting.3.3}% +\contentsline {lstlisting}{\numberline {3.4}Verwendung der Stream API in Java}{32}{lstlisting.3.4}% +\contentsline {lstlisting}{\numberline {3.5}Aktuell nicht lauffähiger \ac {Java-TX} Code I}{33}{lstlisting.3.5}% +\contentsline {lstlisting}{\numberline {3.6}Aktuell nicht lauffähiger \ac {Java-TX} Code II}{34}{lstlisting.3.6}% +\contentsline {lstlisting}{\numberline {3.7}Ãœberschreiben von Methoden mit primitiven Datentypen in Java-TX}{35}{lstlisting.3.7}% +\contentsline {lstlisting}{\numberline {3.8}Ergebnis der Typinferenz für die Methode \texttt {hashCode} in Java-TX}{35}{lstlisting.3.8}% +\contentsline {lstlisting}{\numberline {3.9}Kovariante Methodenüberladung in Java}{36}{lstlisting.3.9}% +\contentsline {lstlisting}{\numberline {3.10}Dekompilierter Bytecode der Klasse A}{37}{lstlisting.3.10}% +\contentsline {lstlisting}{\numberline {3.11}Ãœberladene Methoden in Java}{38}{lstlisting.3.11}% +\addvspace {10\p@ } +\contentsline {lstlisting}{\numberline {4.1}Beispielklasse aus dem \glqq {}Java-TX Compiler\grqq {}{}}{40}{lstlisting.4.1}% +\contentsline {lstlisting}{\numberline {4.2}\autoref {lst:prinzipal_type_example} ohne Typinformationen}{41}{lstlisting.4.2}% +\contentsline {lstlisting}{\numberline {4.3}Inferierte Typen für \autoref {lst:prinzipal_type_example_javatx}}{42}{lstlisting.4.3}% +\addvspace {10\p@ } +\addvspace {10\p@ } +\addvspace {10\p@ } +\providecommand \tocbasic@end@toc@file {}\tocbasic@end@toc@file diff --git a/Studienarbeit/main.lot b/Studienarbeit/main.lot new file mode 100644 index 0000000..3875d60 --- /dev/null +++ b/Studienarbeit/main.lot @@ -0,0 +1,12 @@ +\babel@toc {ngerman}{}\relax +\addvspace {10\p@ } +\addvspace {10\p@ } +\contentsline {table}{\numberline {1.1}{\ignorespaces Gängige funktionale Interfaces in der Java Standardbibliothek}}{9}{table.1.1}% +\addvspace {10\p@ } +\contentsline {table}{\numberline {2.1}{\ignorespaces Kompilierzeiten des \glqq {}Java-TX Compiler\grqq {}{} mit \gls {javac}\FN@sf@gobble@opt {Diese Zeiten wurden mit einem Intel i5-12400F Prozessor und 16GB RAM auf einem Linux Rechner mit dem \ac {GNU} Time Befehl gemessen. Jeder Test wurde 5x durchgeführt. Der Durchschnitt wurde aus allen Durchläufen berechnet.}}}{21}{table.2.1}% +\addvspace {10\p@ } +\addvspace {10\p@ } +\addvspace {10\p@ } +\addvspace {10\p@ } +\addvspace {10\p@ } +\providecommand \tocbasic@end@toc@file {}\tocbasic@end@toc@file diff --git a/Studienarbeit/main.pdf b/Studienarbeit/main.pdf new file mode 100644 index 0000000000000000000000000000000000000000..4691ca33fde7d595c5b947e477f486b8969c1987 GIT binary patch literal 611886 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

Oqpr`X?@-YI{izMl8mPr^mv{8XJvyD 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

tv|+YpfWu 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

`9nEwPyPb92yEy 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 za≈xqu<-c2CP8wLoumF(LAX3ID0`Xavp0`cdkFP0g$W){MM}#bBzA(c>qJI(^A6 z8#yMF>xh>=F(yBrIiQO+jM=f&<=*i``lza~tXysnN`s2MZeI0yZ45`_jbq4hMztxF z+>Q+!Rn@-oCU0W6Nuzk+ov5^f@(X?Jz-$^MiAoCch4nm3=CCGdcl9@TBmSaP1=UdS z2Cbjj%FZ%BqVJsF&b#Wvt69_wabGEKvW=lpoyDqy(t3WarN+Knsy*vMN`mm5&G80J zamzR|q6mZWcn^)mL|{S|b^^(yiX%mijJ^B?)3=5(S(Ys0hkt2hP}njM0YWMX^-B{- z^}-!U3<+v1@EF1m20Nj0_18DXMqwG96f6uZ>+wbrtHC-^LM&sv$t*~>JqM7^9Sunx zX{P}Ah)Qb@s3s(`OiOn8ZT~(M+;r-vEmm=8BDGgzDQGS zVss61XPs!c^HmzGk+w{xPTcXISL>0`jH~PAfN_Gur>%cB%!WeVz)hN&t@ziV{2W*G z`}jrWgS)2v_mr7e2g*T|2_23#lU)8a)lzuNQ`a^(&YolYDdn?#U{N%KY2Gc~Uf-vJ zs_Ujf7@s~gI;NnzB~ha)z>xRsnbcuZ%y1|wv(>XNjSuJP8VzCYNPs>)UV_63$D};o zZl6msc<}>+&uHxq`-CdUev%vhvfZho`EC5}Qxt0BgNDcf>7W1H#~G*?K6^NNF^go} znDuyI4W=y6ZF-n!Zq<00nA}BN{ns8Yre!O_(B^Tn`w_v43g^+iGF`3Yfn0lk_piTd0cn zyV3^%^iLuQY$MK9Nit96fx%SeAO0;SIU&1WCAZ>}y$czHzZ8C07qYKgAkYn=U8)d2 zkou1mRQfJ!k|-g0_dL?*4*4?JL7BanKGlDHtHEz1_VJuz(XGp0JSuZP9C{zE!Roo3 z+AKF$mOs8Dcu;F5!qxb!<1fJ@+8)aM(@KOm|JG2=o(vy zjCu@;t@Q7*enDjb{#<4ft%l~uf%7dHsGoAi>Dnh>t%J3`VZD>Sl3M{!1=thr88n!$ zp@sGdP`x*wHt04WCO0ue!JEH$t{+A+aErs8l<$xhqSsv``aEP!DrPA#vYQz28F^KA z@;~LMDpIgZsw9dxA{#h6@5A2Mv1$bqWX#~+ntFLVki7-qE#$i3>gI=WuxGDdG47P3 zRGJjVgg|Aumz_RvHzY=0J%r z(sVS(I|2)@BvZ6k=8mhc`Lro~ZiQ=|6^SfeBys%n|9YwG$?X5Vbn}o8&Nbr+hbaPT zu|n#3h4hgjUYLhTz6q+PxjjIXfOCEVP1Z?rl`Ms$`~==2bq!W&btc+SoTZl2(8%xO zU7m3w>XBy(q3f>afy@Fm<6Yd^F)q=Lgkp&8xprOpDaGNl{=R=MdvCKnDc1mepLv5@ z5DC+Eu#+wJsLO1ub$V-TFS7vnFlaj~K~Jk@1j3_bnDX0}LFmnqf1vNG$#Bn1ZEBWC zbus{vzg4%*vdHVrVsJ%8?3SpyE47_t3OgP%ffnW->mzC0LHPO+`oPs`Bvwi3EHM-m zb;nmSi*(|TSZz`t&{}r3U)H#v)ZTPuiyK_bCjilD6j%zOHdwL3Utg)xjFwI2SvfTP z#H6E4SCxX7)WH}&CHoCZnWiQezE|>wi>6YJ{+&p}0LFMLVKdvGbvgUR;W?JrwOHu4 z7z5G~^AgdJJ=lSxP(Hn{h8PXVnSkCBy5q{NMgQ8XVl__``hsfrrUR5V7rCb<32NaR_(EzmSK3 z5Z)7|j#cm{I8O<{C$MJI;6&1IS+Z3sPZK>UO)IH7Ev^E{&e`7M6O$^7rM9!+nW08B zCg1AG)0c~Cu>K*aPw+E}-TRmH=LF8&B5|(^8t$*MVAP{nLIb{5U`0%a2!U*)lrH-i zU9#CDC=-XfAnxB_z+Y(oKw~_s=t>e)94`=Z_83)^`dIU6Xn_M$jdcqMQ`L|L@Mm$j zR2qNHPC;OZcM9KpWA59)6QBDF;a|+rJZ@|l{x-JLGW&faAmMP0hV%x%Hvc}xwf)6} z>?$SuUM$fYXMczzn~@TuvaUM>*O2yVA9!mWoY|iEmG=*IObCA7$gWS*<%1yvftdnJVQL*< zvPV(9SCc$&aL_?PI5dg(Rm8!A`P6VYHb+oJ(YLEI!QG=7jhpN+k%V;7TTJc)r-93z z%L+5c9wq80Q-hU+?RE!|B`#n@6!iB8`az*oT>Zmt`e9+GwudoayZ+uhe?)`Xb! zhec$fU_{d@b!YBHoLlk^&dSQ+lE@MO&d$toYGNK8hGel};Yfd+M3m>CN9X`Ra7h9U z3oUkuU&EYBfo3{=Gy2IEZvr9ZKStrYaSQxo0^Pl}r`A(;e|FE#1S%x+b>aB%1gf8ewMyh>IjfE{qn@s(^)jF~?LWWskHOlrPcIrBal&Imj)oZf zHBZhXwN-udU47WkR>rIr@8JVO_TklXu$y0n9@6btWVL}e>bGgN3cvl~qV~z#4^YjG zF?WZ9;$ij+V?QW4WECHNorZ`##2)43kX`oHuKl;#17zqmn<-XF8&)P0rE8*SAI!r225^upC+=PD1F`PW1+4n@Gu1xRe_~-8${7L_Xghk(c+)Jk2&ToKH zG%r%K$(T5kPlXk`W=`PGecp06%Z&wjRO=MoxwUx1p@p7#8bv8+{ct4aUW4!{jVn*f z_~1<#5@!;*5S?fqP%GuPmJY3qyA3Wt@I}aoQ3`dD&iqV=UGl?1@z5&A7H_Qg#f(U# z(t3y|lcLm`3~(w_W; zWpy?kSgXYq(==rfwD1mrO$myT!{DxZt6Rj`hsRy+aMk^3hLI-jay>Q~sTfyZnVOou zsUoC1LW%bNK)%NnFW;q8GI-A{UQ1=?BDvPUu_F3&6y9P6iz<0cJh9;{Ce*$ zdQ7Vv(fi7jaftP*U*utm=~`Ao^_u)#BP(UL+xG^~)^pOsJNQ6@(Yot(rV3T&ui4VD zg@2-9?NJYpmLZg4>6EN=<89uhN)Trt3wrnhf0Gca8j2nH)j4EsFrYdn^} zUZ@Xn|Gj;CgWuLL#EM%jjO0TlazB*FBbDGK6ElkyVKJvVf7WQ1PR73)0(rxrfy4ka3 zd=WvjO7I)ec*su{-TC}{a$&J2JkP*q=j0v{jUDIkI}Yf8j?ClbiNN)a)dLbvacAxka>?Ca6A<5k=xJMA5)X}qQRx9S5u9Z50X#oRH_|=cs zIIHg^($Cz}sF=+JyckgNg%&gjzS5A>0QSC>ecp*ipk(WUbVrH5t~)rpG;0hf<5S)! zRtyz8svx4qQ-RnBdy=zc0(`Hn2z+I3k)~e>D)A8${Nlqbn8D-lbx}510I9#SLSd?S ze8DCBX2cvjN4)>g^kYAQ$&wZ=yjmMZ7VaG4%=Ak^htHn82yG@8^UnhQ`h2Zd#?6m| zVM^B<4R)~KP`5FcvKzIPN~W#6H;}9vCX?QoKNc};jUqrxFER2b4#Ek_n}0Vkk^gx% zm9l3g7{X92E;-xZb;KodgGcw;J+yr8c6)iSDjJa!tYQ4#g?w3I@?zVH-bPrv!Js{C zOnP}ej_sKLM-b)Rfs+Y|yINBW+Ddd$PbK|F(;DCxR{>#ufjzti-Z^vu^{hyMG9SVc z(rPWfhm;hMa+2<8Vpxj&EWW|YnD!e9V!QaVIA1+Rgu8}vv*Y940o!}8$lcMV54Dij zRz~o6CtukZXoq8p+NeJQEa3Fm?Q%U(aCQ8-zB)n^NX*6X3kgnDDf;j2SJT;FN)~dX zIIouS9@cLqQOOihSxlbDidFXccCZgUXpcO%qQNe}pxI_z>c!<$)U&ApP|_`6d0c{R z;l@8Pi|X-K%qkMFuJQ|$)&0ycBe<`WB;hzRT7(rqjuVqGUz;I5v_br?QHMNYZ_EWH z8Nk;pqr$6@h)d~zxqXf)j$euYx(sI8)?O3p)3b&+X-5MO-!>{6B0;rm*Nh%+Ua~_( zMTNmHt@g`O-2_O-db8g>P$$J9kf9Wp0I|$uTH^mPE3LSsVb&tX@U_0;k%;xE-El0p zxwD%1yrGY@K{`$Xl>zb^>!q(;i(>+6r(ea%$85l?|Ku}6?qPuMqC!;Q99wWwD`fbE zPY=55uU19E3ueA#WaEe1_vs0N9`b1HBQdMO-7+D^a81P^wZv}LIGC~i(@k?4RM^xM{2Tw(c7 z#TyYC$rB+7t_|3QT?eD|2La9ZbYHaJU5XSQ>&&^VqvjBToBetmF#Af$@<635J zbELIqh`39(_2`ff{cZFg z-i14&VZ}je!%(p4Pme$MN~?z_eiVu#R&!s!7hECM^z z^++&BvsUyJG?);8^#w-DOJrNWR)tYY!W~B0B$XW(9rMjZ#Fl*R_)xzPOo5c^(QrJa z4a_?QR)2m7_8}jM*Y*r-$b|i*Tuw-!EZWLWCR^j@LYx1HZ8& zLg5RPeDOH#_t}r(mwPnxgsOXExN5Q^Ff5Zy(jpG726VmkHx9X%(X=)dd%|+E6DmXJ z?<|U>Z256a>Bp@-NDH4zza4}uT=Ow)BnAkI)hr-FPWKiJDFMEnOg}ZX8gYRmyo^Oi z7&pO@2&c(jY;vXTXRe0*!{-uaI*ME1Vu)q5ec$cs~>x^omu9+YS--ADeLQV2d2Q z+}R9rTjg9Cy0NY8eX=fmsNt8*&XpY8l*?KNdp}J3_E0T3Oi7j@MTYEqH=Av{p4D`= zO5iSqnZNHI3#1zc>5qTNp$7%1|S#r!J2;UIJ{80%C6fMEtz;W6W@ZfQz*^kSVk_={$8Kl5&q zjH?IL@z7#&MpaDcEnZXAQU|9-d3yxiM3#5Obv!3-uFZCa#ot6XioEZk2|Sd-5lnU% zLy6z+3%5rpiB&m8HD80>O&3177#J%QhZG98<2<3ePl_f*{%Lz|DgS=u>$k+x`40OR zAfu=?7F10Z;0MIyJj0x61RnZtFq9}`whlKGFlZG@7F;th z?34o=n?AIaImvR?R^y_-MyLkEQ;?>TeCzf|EuE*v`9L9u^<`} z-z(6nf8U@?UaxbUIIcGGRWAFq)1@d+v#dm{ZT^W2Y@UY^XY@krdu_PvshTijR%Lc( z+0C24GCZ1|kvJ8nLC&t4zp1Jn@O+eY6?qMmc{{jxCB;vC4{gdt?yiP>|!{!K^4!F}4JmTYV@Z#6IO|POjY>-2aejpW ztw@Rp6 zivR^@!R#0++=oNBz4H4sO?{=D1B<0MwpRn{i9%WaVlfDaVMQ`@tU21xSFYJLBd}n$ za!yz^_;?rUQW8obypKQNdg8(DST+YVvGD zD#^hMlUC`|{V?ag;pm$B3KQT-BgPU|#~2$0+p4iT%MH^&?kn?ES^{TkXYI?!>NvET z@+4POY5o!TewnAK*>7=QU_znjqCDafm@j`F*J(HVrXR$0E%&Pw=CPlR+=9hhpVrA^irh zf=wOd9W!ZhurQ`XW_GC356?1ao+c-FZ$!uo>L$bU&1tF~C^*7h!C7;ii zwS$9xgjMhHCN}hcbtgRJoL9YsXd&YBO-1F;6b0e~K3wfjX8=SC2t~{=k7NiKrbNtP z{zqZy?#**t^kJ_<+(I`s9nt^O#yu=n0w7uxjcwbuZ6_7mM#Z*m+qRt>+qO}$ZS|Y< z8}%=o(V496$5y5{npOyY^V~~p2xhP{9N(O~s>^wW%MRY-20G>s!2c?A>27Va(tz8D z6&Lj-EW_&e`!@uRrRrd!7)jtqJ#!!`L560?uQ7_&W{B$Z?CpA~^WO z?}O$&%OIx$m6LS+&HCXc%kCR+kutk=mD^?31#^*ye_Xrn8shp@0=<@N>1Yf`tb8~i zvVycZ@~EYSyF6m|K}a3orBaD`5KcscNqiNZF6vn#DP}yaZlxr21m3#nLqvFFSTjHo zeIgz_Ap8u`4H)`EN_70MkD$&~`U?IO9avgjdSn{5>VXWrPX^Bp#fQC_dwit{<| zhdYwcu?|@uyh6eOA@QB>q*h12-=56&0|CXg!upe1ph?w?5?r(QSl?ktc3U6feo`ER z)}1+*O|wGs@cQM2dR#>~QBucSfC1`G`4b@hv)G+i&M?gwPkRM-CC;#109-$>% zOOh;x-?u%hMv2nnTfZAM86vkN!!YnXGUi+){jLwQL=(4_8qsXon5=d?f4%Xh0Tg`R zyM?lMHN>X0;|ET6hqw(BDi20cThJ;AC5C@oSg4Cu=5{M|*Z7@mLwmhDL%>va>SAd_ zPRJZJuyJe9`06Di-sEz}112yGK59?~ld*bUJ+nGH1LoUc7)F(E`1>}-611u$V$RkO z-U@Z(-vfoUu`&Do@zMtjY<<>bAUuQ1pSPEz0~ zvJHlCEJS-fuk$&n2?k55>C9uwG`pamAr}3S^3WxjBOgF7Mx&j9-|XFkn0mOyuW6m? z*#M#%Ar#_8%POERl=B_YAd7Ec1P+pRb%zzHh_*kOnjD-TxEf6xZ5)NVB7g>cz3cww zjguPNb!h)QCGPu3$FmQ?RH8Wsb^MDFK5+BMi{JXUz0uYw2iIzu7tAe1 zEzCIY$BQQl4qp;`F_ei=d@14NQFb<9dna)Femk~1kGPv`5Bmbwigj027m40P@r z-UE0?S&;|^-BC$5wkfve(Lpf+b-VLWO|x@Xp!29+a!c}|d+wXKs`|mx3SNVc27fZs z@~FOw5(M^~1n{YHD?MfG@+I5S-NHf>Gv@hnOX9|Ek0-^4H}Tcc7_!Pt=GX2|NBC!; z&Am+q_@8c$x8o8#m_iJ<7uzr$z`b~S12*lN$b08NgTQT)y8K{j_E#?|0pEY&vK%eL zB$~M;62EV~+n>Uy#*TYR31LrmvYVA*p_qWrllZp;_pbcGmxi(n5%(_;_o|x$C^dV@ zXcQn1*^JbLAf^~{L|Y@2*ycjmofV7?hzh{C4^lAV@6M9oP&7KYFMyy;L9=Pg)=v`c_FPi!`K2z(d<}|6#{@jlJVW%i zSeM(dk{Rl|+Idh*dBV4@{4jq4xEWw@Ke}fONXUncdOi+nMb4@zo<9G^4AqPt|7d;F zTY#vzijE%U1yTIan9+<)?pOGy=uc>nrfmpU;AoKpPoWem5l`Elvi$a{=qIZtA>XGZ z+a6a-(tK&TUwZ=mECQE*52nCz=%!nK@^A1K_PNR6NK0}ucL65kh3p;?7b6t%D zq&7c-p)Lh%&<1;s)6jDcb}}0;SwC2zI(8*@R-TFbQRd1au6@R+m!9?F=|4k1xJcd! zYl<}tcJQ`|>~`Fn)oX<#rscJDgnwU7K;%%@M`hAwgORXoaUD79k0wXNv}-||7qnMb z{^3XwNT&P@bKK6ywVPrXyOCmNKHSR(W7I5XCdgrYgmbtkHBQ-xJ}IRZ=oFBx87|@3 z&HUW~dhqcRC@K%(Fo-y1KGXf_h`DkpGu`LQ$p$tHVlO^Qp}A4`+t3F8YcyyMqKO<_ z2HjOhLw1nK+EEN=t*=^%wMl%95@IaWXK$Df&9AQKjee2$1s5f2yvZWqGNtjgS-cX(Lt? z`z_~_==qj-z@BQx`8e1}p>{sT@m3X>gvf^Bk~6;Ai>CQ>UvF31yAH#^H2O)okHK5y z)R*V;r>2Ru%$d9179`2i&vb%yd66HM5t@z3D~T14s$qTpyma8rC&jwQ?&U<|k<1Gy zYY++Ey42Y4-`4r8$@+krhzg?!=$1roK^x0)^K(N<8b5JOt0pw1I5v%ymmwz7svj=F zV(SB~vnX~qBcnw7->PQ7T&1IMKmO7%IubVwcsj!#Emca~S%TKJFz`j#pXszUz`GwB z+80TnSE#NTwUggUdpe1$C33SU?VZDcc=ctgEMA&g3&O#O{@cINAXnZ}!&q(9S%O-3 zm0-HSEC4}lYPFV%g*T+bKRhS(1=mZ# z8`Ds5HNFMoq!Gcd4LfKG|3j|vvA_1UB?GGb?Ks@wkuvi`_E?2_@us2tgp{Gb_u;|t zLI>?(Wd$_4@Kl-d{XByHeQM)3mf%3dbY~Hmw}iW-hh`pQgeC&Q^YlRM3lw@bLfb6a z2&H+0xaO{Yt%{C28%Yv zT5|&GFg)7Zffg*J|1AmV3)qA}EA?xaPU7rr6G3I^>sBs80fILvY<6jy z|BAz*+Hf=Qf9^Gos3ty|$e@U7x$!@|cf<1jY62Yh;rPYp7E-(FE-mpzp?EKE{xzdK zygz0UQ8(0tS^X$2!-4KdAtCP(fB6BPvOxmY6mGLw?UQu^!c_&wvv?GmL00>_@@sVK88DkuG%b9Ygo=sXiq znL37J`KU8LDJ~N9hftJyUZrRIgM&CSH^zw)CQFp)Y#R%SC^MGz}+Vn5c+X;x@Zs_lvby#`;y2gO10$u-lo zu{d<^T&eIAEJV@bqDK+@*F^X?3P|u+iB$P+qey%h1kbpKh{Z~ICmwk1Tn517~OmsFpukYXSHoyGYY>c5KA8Br<1Jcq& z+iNz;D3DHm0!tZ;KfJB)0B0rGgk5{{B!k(De0U;I^6EDx^-E0{v-lL3TM_p;t-TK) z(eEWa&YPGc&D|^f=Jyu^Ea{MjPU!*JE7|nm*L^{2Oh=BGg1G6xRkv*MhGKhY z#4gevtqWN5-vR^0yCX&lr!16d);7bzvK1yDC;DT?MD5N=IeAJ(?X|7#hu{_oWdRB^O&_ zJM%U|XcZPJ$@tsDuG%4*2kV^0zPdkULlOZu@0GEr`-Q7FUwqHO$0fTi6az|JLxLg! zDgvK|s$kVb_z1-AwUP8fncy!(p>&q6-*%d^G$DeKc2jjt?pF=TG8dGGgz>shi_%fI z6QRpp8UPddFNq`MGHJl&^f5fvvoR04jB1886FJ=&9uKmFU}K;8l>YB zlwFU<br*QKv<+|@LRN+F2-fcFDU#${~5(QJy#J**qOQg=#qMge!ux5mz$O8-Yu&| zZ}&2bNE)c1(^kggNKZ)@hUW1Jov>$Nb~JI;K4focp&1PxxBBlIM2Pj9)H<3Cgn>)6 zMs9ckFESmalvoIdvcEfsjhA=IB?iY{W{fjt{H%Kg3C@o^Rark!uZx`={ z5)&2t(I;L3Wu6LVJ{tKIB9f8yV@!sY^|5X-eMLBwsG>%&lpx+SW}>X=?I?nQ^YZ=2 zY3IpsPMkdkVIpk;Tv)E?IiEiXU#=x0*e2PYYJd*^A)&(81WAQ$;Xr+k3g3 zf(Hp}{O>x8Spj-!Gx9KJw{W;0Z6(+!_<4Fw)PL=3jlT9kR0y}M<6;PZ_+~|^$5FWHhX?r7pv~sY$3DefpDn*14`9x*Gn(bt7X?xE{&K` zvaY-_FGaft{c~}J~pd4NBWN%UFTnCfMRPiP~i&ln$_%Avd2nTgGnj&&zr}0NBjVuA_^_t|aJuz{Xtbfn#U=}f?{ivdRO-y=qq*Un7}kj`i%RWi2Li0fnnex#_yIY-Trco<+5%X}2N_EckNDqYS=U89 z*O5d;1f*Mj;6GD7-7;X=L?5=o;k%e@6OO8$E_oi*q99RB@(33(%!?>3U*(%`arQvHaA82^m@Jl+%FCdZwcZyKTF14-J%MkVQ-9nQI z9N-mc-oLUaI>!%%{H_)BDw!1Kz>b>5ddP8B*lE7JrXUvj3*HdF*<3*e%#vo-gV(x< zZBBQF@*|vh{zt`twahGvNXhtyNIMCi7C2CA|MI7X@H0(f_A zBrqi4W!yJy+S;lgc5g9j)bR*}*U3m-nWz49GbKmrc*s3Y+hel@bP!vMOK0mHjv@vl ze`CR`eo;wn#MOYELY&zOk`UPO4*`&kR-)H4551oU@~w7x_^EC!f5x2DY|E4|mk(4y z_hbXI3;X}26P`LJn^S4-=O(GAwhv^vo0&}og zDW9jTkkKM6Q~i~6gjTrN4zUY3hplP|{jnngIuYiG5sZ*KEH(!+Oz{PH-r?(M%_iW!eT7BVarUT9M1fT_1iFq zf2_T)XM?N#ly__fr^N$1G4@7*ChZsY7FNA5#O=U}>(bI1Q*g!2>f>Qn1M5J^d zj?#Ohju89}JUG$5*z{I>CuNSkI+y#^kLY#63f>Vl=tTxQ?(5z469rp< zQA!rj&pYqGtEJjai?R@SYC5vcqBEdt>AUnA-7I}{f}pOiQZa~++vXRu3-_K)HxH=z z?PZCB-52MzLclEE|;l+nzK_wrQYzU@Hy#ie6 z1+UP)nZX^8ik&^eOks9(iJQ&$xqe6QQ-E8z?R&5Iv|#bwswr{N!tH6+Vh1P-P?pst zjk5{kKh}aEPU02oZUlKXNtzzpGH|>>bNws#RW!Z9GMhlHQmsKKx3>FhQDa0W<6WFz zs~%KxDAOEFh9QY*%#d-?bWHUg8C&n(S8pp~u(bgqx7$a*SPPtJ?uj6AF#n+9T$y{kTo&MxetK8P2q|J zIY*zmClJ5>pg$uymJ5lsz{H!#cBNBqrB*au7xU-=io0kx?dO4Ry}hJlhc=GPEy030 z-eQpP9a3N5%(QuYAIo37>LZ7aYZ;X~zbb)7dCYf^lMeMP5E%PEIXhrTt#5)Z7r)hm zkuxW1S9+SZQv79km9E^GR&2enh&msc8{ub?E-x*{2tUTfhE|GZFVa7OC(Vs#^H+l? z5M2SyRg~!ezQ+_toMw^M@#-OCP463$V+J~pE1NS)nJ zz=V9otWLT-juL5Lch>$3J8UT~XO8ngJ=yk{v}Ott4E8$mpycUsV@AyC)Z87}NDg{g z6i4e5?!QP- z`N1&HCu!Qk)i)^47opQ9>U(=P7xGReeY@|0_@a}RE6g<9kWh~CUW^j2vC0Y38C`A_ zT#su44HYNhTE7&74hotD+&Py323PqEUiFkhJC;a!nN%iT52YFswOqJhx79HvVbM4- z?x`P^o$c~s5`Rgg4+2a1%;cxq_EZuYbDK~6o~7{~lB?slusP<-I%(*rdeY&7%5LA3zG<>S;ckez$eiBmWJD&>;iw#f5!JN^IWe9%0;&58{?^2zmp7(Jcdd-UJ?UZE^ z>R3wbD%*%m^LAuTBB7kn4yuR#BFDJ>|L%|`Q_eVD=}C2QFMkVjF`7BmlH=flW?`q< z_~Nq9`4VD)*&TTZEn?!!5fm(+t&EKH1DlhFQ&vTZwUv)+w&~hj&!PcIm9vL*XhNVm zH1X8FP*L4iugo}o{mq+Qn^TOp>&`3)-|GH$<(&N25sy|t$w9>ntg)C-rD>))Uql;NQ^mWa1B?mm zx0R}YFatS4#uFC^#{te$$iHukf!pV|sW|RC%Rq-XqiiLNLQo_?W570%%aJ@ENAvl= zLF8v`JwiPB;Lyb$WhWo5TMI)&`>9`|xR zZ36GBjChC_+Rr=5dybY^>9c&qXt)eufUkZ1uhEBda#o}-tZ512usd6jN*u`E?p}J? zgK**vGaY3etrt8i=K-1!2oZ74>$;ho?(ZpXTNWITl&t8~Arzv;6dJRO^0wOOEu7k&gHGDL;5aA>sOBytqPI&eE}x zr)ZRoOXS-~0H5Xu$s$+x6}y4oD>fgjpXRs|u@yBe)+d{NKF*ep|DIsJJRjci z-@MtSisL^dzTVd0u+&u#R_L?VCwYoJ-`0M<95|yU zdcc-eS==pRNPYP%+71$U0&fST2Ujys$*x!9r^e%0E3f`C5>oA=9<`E_=>%oQF@W<# zOrrHd*~iMWkp4;Q&;k!OlsA|OxVA;WQYUEO5rhz0ZuWklLLBVe2>Qq(iI^#C zLg36dI5Qzy3${NM@z6$^(8yV<*Xn=Hu4Bue-0IHulXP*feZPPEh`|!*wuQDyLiNYZ>*o3S`3e5Ca8Q@vt zifShZCu9k~(UnUhiVaQNW8Sc+^q}KMGW=(7yP3tjdS;<*UFQVq6$!15pwAi}0(DW0 zxlH>~>eJ>5&EiT9>b%ay|85+fU<7l4gP0wNhicK+6+CKO!fg-Ni30naomVmSe{ala#rm>Q5IngH;pLBkSj35InX?+qGoI797Fi&6;+5{Zu z!A_z`L4by{CBizQVaQm_EmHYju*gCe&DXcLbKA~kVR5Y-XjO<~^d5KmX96;6#je$F z3P+k}41WSRrpNF|i9~2s-bu$@5^J5sUQ%dHp;1`xtF}pOx={1nM@TWl_+#H^H$E!taf}BL(Yh+pHrWa(~@!2 zok+OLnWo={i_kkr!64(^C6l|;#YeQ|FJoA=p+YP8j#fneP?v$i%_L1c)h#tUmmdq# z91fYctP^V-j$XPAYsmm$5>@4ZKk<#lRfS6Of44pbN82x$|TMe%=Buj&6I((53&lprNwNi zZrGnF&{CCwe}^WWkx6KOY5mbO^P->x95OetV6vP zY1H*~rhrePX?$l1JrsmJjmmRhu78!bg%aVrEFikUc0kUv!f>h(J zK^*lrr->=&TTnlCM~6y2u|4bKb5@Jv9E~qemnn8O>Jx!RA{!gpnhGhy{1T8=^rja^`53&0@f_1ZLx&F90ZBrw@r#tTM^{V{-4}|F9e>~u zBz8q{Pge$usjaB%lZQh$;3*a)UuLxVXqqg1h`46cZPAw8Nbo zvJ?GaUmrQ~1|HcHA1Vk^JVF)@cW@$|-I0wMr;A1;7%FLr^cFvDRsEJ$w7?SO$RL&Q29EIQa*lDYVQ5kK|&7wGJ! z3}5LnPTX9@#aPsp1#hE&KnLM$1%kmT_HTd#5+ zZ-iXV&N$v5m1T?S#wnEbght;!2Cb-7!Owj$Yz#BM=;Gl{c#*w<(Q*eKdRc6WizH-0 z#zRa`-O|Wutx_q3@U9gZWk2fPBFC2bBM#@iGP1PCICKceO(` zuyGMI=v0rl+qbH9mQO$JSi}7kmQy~>srHBE#!c@KOL-$X-PM`HDjbd7utSMiU4!U_ z@VO?)hXzW;m6?AI9ODzUsJEHZZCb7R6HXrXqXBxJ%!eRmV!?Fj^NMPu1LBi{Erl2_ql*=5Y7I zAVm(N$AlKk*&hLPr;PF)92qjAwI6%4rXGN)r}Zjqj0fR`zfe~1@({=0LFU^Bz+PbM ztxOMDoXA_S=aKbyh|s%j!dJdy+fmmL2xRB2IBnq2N9y8U1zGIU8BjPR*i+x9dlMn0E} z=3jBwAiFlbhm_L<6GS{!m#OL9jXz zv5i(=7a=B(^jQ%&u2Iloxu^@mjNp-Xahe1IHMSEs{7y^bOowkv#IKE$fK$uZ4vv=& zp2EEwGHe0yTG*KRmTcd4`JzDw-j4*V&IXL|o6>Ddc5tpel9^|A3nm zsNnGr;@`LS$|Q(VGc%%F(2gwT+F3Oo6z`HUp$0fwX@AJ&T$4UqKWx=28iP6~6TR8q zl*a1{QT*9M2mmYyblD7C&UlZfx*X?|CAFV7;^E7;3C|`tMe6ntPIds#;z;HAN5*}g ztP;p9Gr`3sYF7^Fq~=UJdl0b{I6uP@-U!R7dx6mbuBBbGHz?x+vv!h?N;NH?@8nAZ zbC#1F;0Zbb8INi9J#rn>ridJm#6l0ee6a6pSE=A~M=Icx&1O>fVl^pD1>v>G+oVyC z6%F+Aip*PLhMZ%tvR0xet*G!lfsn z$dj*vsy4m@l+0&6Mj^?Hmk2OcEXa>TmHj7DYo?k|S44j}4IEd?O~$zEh61d; z6SHd(X5N2#MPy@ZK)-#l2I*O#_8;&m*}AnxNK0!lgt%?KVK&IYy`sJ%;h^}u8KHH4 zguZjCihZsh;&9L$xm>|&J3zCmdm>g8b)}z=l_m2`5Q7V&V44ziG77pF);f-HBLgF3 zk4Qn)yp#@Rl6^~j=O=cypD}j%KV3duhAsOz=IJ$*#nYiF;%QU|j*{=oADwKf9zG9m zl9T_*yOwlEbVz_aO*V4ahQ| z5eq~mp)GI45FL#%x;>1CT;S^ORRNR{Q@?_7#REHy0uj8H5)#7qWC2-l?@;Xtf0*WC zrE3T4Sd<*c<;Nj(>bV6!05gx`6c#1xPA}c75IWCo!br!eKL6ZT_TiXUCox_Z5+-iv zUJ+4u%Ft?1ZfF*pkwJLlJ~eliz_+1oR19pj7zcsGbpq$MsP9)7$My$#xktDJNTO%c zSrZG!ffe<(Axhqz51)?j3*`w)gfKPZqh>Q+wzV874Z2s&MmHe~xo=G`0(|u~gK;cg za`I_hOVLiryO;JKoi%S(n;o!qfKzPDh9;ZOmiM-#@<-;|-2|fnf|-({rn@0pt@1f=0l5Y{ zePv>l+ms%LhtJ$sU618*LF%yrBxL9DYSdC**m3nM=rjsIo}mAXYWU!yT}s|CAnOhH zsk3y>z(&;hzxW;-iUWNdYmbEDYI$h9nMhqJ4 zWunur?f)!>^X1l*kApie`yk2V9ue)rZd22}Gt7tcCp1U8?WJ1djmL1HjXfoSVKxbv zrZ}^=d!6!PS4m?raPBBc;=2maRsMHE58}dUe`Qqg83I-WfpTv1=+txj{ zZQHhO+qQ9!ZQHhO+t%K1lbK95^Dz5b{o3hNs{d8Lv@;~y9wQHAdZmi0#EL~gZY)MT z6P%L~P;0_m{`Kr(u@*r^^Q~4_1P{#c#Cq>APww+LzRKVJKg3WjV+zk9YO^(qVR>_# zX54j{TaST8_K&{k*_Ok1rm>#==dC-Sv0eN++d+a2e8Qd^_b@j|3bQs*Z*&Fry9@0; zp1#d17oahoW~W8Nz@$4&Np<}g%b-=}|4vkhw*jx&tKaly%~v%P_&e@f+dJN@kqS%y zmH2Q0C-ehN>@tWPtFe_o_3c|rJWXeD3FchByYCp6#LNie<^AUoYUQf^F`e|wIzLr2 zRmjSEJoUY4#>2IkQ)*ny7;Oc*o3@LD9GigB*+k-o8lQ?eGu|pQ)3TSg|01(?b6`xN ziJEqz!)N;wq>0K1tZ~#eemRbazaZb|2d5ccgncmv?Ga#>U}lUjiPbX*HmA)vi5!d2 zLawU<8}oVdMPxIk5X*~SLFy_?BEo=G)B_2D(pB=QLC3Z@H4Mvwk0gK|bKt!0xh@Oo zta2USkmHTxGNk6gIL4&n8HLtQ0Ya)!Rd{6PvQ-cLzR1WmcafYOI)7MT3)SZpqA@*W z{MwE|>tLWeT6X_xGkskA$pr8rfD)R2fhyh9XkvIEGYu2Gm2RJ6#isrJ8 zAx%wxj^Bmzt1t;wsDs2TQ~lH}?&@DEgdv_nGHL&nxZ1gfH2j>p_tlevSgS@mPm~T) zNKicSb)>Mu{B5#$m>6!{-9#KiXpZtrr`w`)xna8Zd0REjS4+!UmA+bU`a7-RZG9EQ z_Ws;8HJ05${@ye}<;A-8n!Z$wJwns6|I3DuIG~G;ht!e3+QTwZz3dXkH}MCvO{d(A>qph)UUmAc@6onm5Ny*07XVZX5Bz^cR{mp964)79LUD8d7nPEMfPtO;zZsQ`1dQx#tpD}we-bO1>6tkG z!>jzi5G$Kiyto%Xe`|5lR3ZPYKIKE!PivDEZG~=WvgRLQd`^wD%vu|XqWnoYLUKGq zAi^nM1eK7z(fQL#q%5qUfSYRN!&f*{j@SEmdRssGvVQvRz0F&@`uO}~UV$7=K?QXL zz9B%32Nku#2Ar*b*-`^My*Kj@2<1eQF z@Vz+zqVXet3H}(MKC)6UnLd02KirfO03YBU(8CxBAodW@#!(11(9m)I*O+!Xmf4Ie+eJ!yXz1-vzdqg#JcmAEblHyW`g7yxu|AP%ig@=NIkYkvyhZz@=)A_syK zA>dz`!}~Q;44AxGG4Nn}5A$$je^Vy33*z}RZGU)&K!CRiK+HWsBSCePwj6G(HVl4d zyuOSZ_=dK>W8-j|BpLQp2ILs0-%1!;5V;g&M)Np(fqU>4=EgUHwM+qfF!bZjXz<1f z8b5V}aZ}LyKt0eHU!Z?9qd)`wWgx*z=3*g6BK6z;Bp_Oc!^)4t&|*lG z2Ht@p_LGJM0>mK$iHds5eYuDAWdfjd@WH3@ba943T+Af?)-FQm`d(^)e7GKVJ z9+3RNfzP4N@;gYKAPpMhoKBu#D=Tjz44jA(uaABG_My&o<(rO&M*UFZ2O(qz3IHbB z0U%?L5E|j5P8=pWCIEuE$`=Zw{@v;H=1&V?CqnKQLfnb3)@V^3J?pLg{@9K*F_v z@xYJ9BW}@%{sFCNpTySw!$25l7?nCUK7M+CJqB(+7FCB3&1~el$35^JKw5xx8!5$e$>bXnKzh+ZC!^l z*;>yXTgYcj)BYU#UUP#ZC7Y4^qId4=xK`h+R3wjSgX1-9$jH7^qDeOgNY5SzZ}`(11a5gAg}Zc{?&kM%K?U%5)m~uSM3qL9 zqP$oz%vGk4yMPhNy~hZ!#Lw@syA3~bg=JtXO!f?|3THE*G8NGjbK1n)i{H|4s0Gf9 zLtSZE1pC&EzaAVPFCee{u~A}knyLC-;}F;y@p>I2cDW$Nv%I`cmcGsACdCRaB{;Q|*N-*a8ria54?V3^Tw7Juh_|M}Ev`~g;Tj%P<#m{RY_j(7JRSZX z?|I~UTi?HwQF_tCSD8~(%3W4so$oZa(OLK`66DxNSyUkBR9(rdu-bz*$IJ%z^oomeW4=i48G#fR&{lm4Q^If%9ZzfOX zY3D-1SuHu_5%weVB=wZ#LFw#2Okm;$H=Yx6Wqvcrjzga9xRE)G&$; ze^hSjq_~IEh71i?$FQ)gyY!F9&ScFW6*|6NGkjorsO{PpMjMNdRMcE3mm4uV_D;M; zA^0;E{F@gHyK{>gNqUGa1!^x+DpC`T2)E_<7CGtNL!hsAT!Bv9RH^_jp%!!bX|Zm{ zG@Dt;wM>bw4J=Pn3+#(C4GYP&@k+=ruwUn+7U^{GVOIB2vQi9$xKYuZjWTjmF--Hi z^tWo$DCuv9Fj#~+OS90drmFCco!DfY_INS&mIcO*xzF_lj|NLO^h6Kc%#F0D98TtI z1(N%LLY&W4{*VCWYiU=^V0^x*led&=p2yRg;&r5@LNOi72QuCFFV9z)f6K?ZfF;T1 zjE-iHzSrpJsCbMFxr85a%tw#69eS0>fn5NtN(xMZBSkYw=P@T(fi1-Y`?~eQK#7c+ zxp@|C_>LPR=S~#{(k0KG%w3xsUy=N;l;RYF`lzGY`3E1Dltb*KT5V`rgt!Brb{vPf}W^BMBiLO!%kJc=D=sJYkOJt~Yhi?kM0>c;3s0%y1zNY6) zGp<0Bl7$_>VwzEoI}zY91ZGy>$vUNt+$2`oAR_%?Le+MqvP49P1DdF?P64x(Y*tF5 zL)8-wNf8ESi-yp6)w0sxI>cqd7UDd9Jp^E_D>RI)jX^TsOg|%d4$H9n;%Y}(_9rni zo=BODPorZmsEbhR+mtRM=G5h+GQL(k_Xu?~Qt~`IJ5*Nd`W{J7sueCNLW4KxxV$9h+dm(r0VE3&C*Lu5lMn*V;uf=e|Oo2(o_(0!b zYH(ulHGMuDu2a&+bxFsHK-i8cq4qnh&s|~NdKqo42@kDM~YW* zgxQOsE0MIa?A2z|s8IBBcm8nju2fZU^s4INP0?eClJas7i@{5p)x1_SXH}B_sJv3X zN}OXd5~DcK6NuC1Qu+$}!kq0vjnui#Ey#I|#+4a6i+E0xs9lEb zeZ4xeZq!&2(F=LVM>5$=kkWZ{TM7Y}Ag2_{e&8(y#ssr`71`%9$B5}@ z%vu?;JCw7J3@2F$X@R;oik*~@`idiqr7wi7Ah!-d9qeFr3Wsd1cBsjLJBa1ve8wC{ z!h0@0)A_Vj+;D1>i7<>+fNG+1bct1LU+yLkjPWksF$|Q`woI0vV3pjRyVQ7bD>`Ur zXUI_3Y@pnB6s>4D7t-=l&G*v~P868!tXRD@(Y?tT=d#dH>KRho*xj_!Th)fSe#uqD zYLMUIS6gFDYodJJ7>BE@QK_u;Hb+mBg17K(hcc^^>KZ*paC%JtyS{@whXhq?hV4oS zYayHHQ5jp+qg-vIQ4=P(HLF?ZAVl;KP&h$H91+vRa+wq=WpZ%J4EJcCHQc4Vjodq= zjT2S*g+p&7n3naV!En&o`+UUMOqjY*T3WQxMvOna@>wfi3nj@JjiP8xjT{EFgTmco zt^4!W(F!QeZb`?S*WTp;MN;SV`Jxl!Weaa2BZjM`#XH;MlHU2~NrqW%L(RrYXJH8R zh5_H(VrqoHu=ys21g~SDo>><#ZJ4Lui{pOnY&~Q0^w;{f`**L}$LkLwXVSgw9JUt? zlE3IW8LF$N+z#||tJoP2w&dFyJMDe`*F^U@9ek#97Laa{ZuVPzcekbY(Y^J(P&tFA zdyCLAu+?d?m*&n0136;lbGV!f9)fL{*h)k(nEID)v@)WsBpi~exlJt{vhFnHm^kXM z@**#p>W9d~K~5=eme>ZJOyi1py{}#&dmW=g)r#SqcWB=_0`V5HQd*-Javke5l{2T- z=Gw~c%ZX8sHYZ{R^=qBYuai+Njqx;0ac92o^_65ML02U#Q$?GI@B-&iDk(@T* z$>QBe z=F;TUWSKLyrj&Q-?aqbTw+?ygalzXqO|Ja<*tanYOrZDi>t8?_*w5zwH9uha-|_=i z4u=0q3>XO*m>B;%P57Vr0V5MD%l|n)Q1;M9UPVh)T|$>f3DH#ODiAc=}F)GNX1i^L>1o9X6Vz81PI&fQFfEguhIl z3zG#$yiXQf_&`#8E*=(&6r3N|k`zkN^+e9F3=t+viE9te9AcNUaKzlnx=0xd(iuaR zKE4lv)X|uJgg;2Q5!NT)@&iBsVhAkK&`MlaU@6Z;R{@@AK8t3d#7uvrA9)Z0IOj#w zZpYV#RAP>OdJY(qP<)^{-bAjEX%Mne1_=Wd4~r=2ktpE>A~#rgoA6DV(&)wX5fn@; z(*IRjkKpM6v`SV8A|-w49KkAcu!Rmo%*RlC;^-bOzzSkPyr>siW&lzJi3>DE;1*G8 zZxWWC`^^M~(Lr}Jkq{UJfEJuyrTj%-Dl26$Go%W$nS@wJ?m_^mq}Tu~7i2ytN!I8O z0(~-|X;Cj^m(Kyjw?C8`qxh4#1N+I1~io`knH33Yi(7ke5 z;z6_`&)gB97kf~C4g^VJGs0c)j(0#>?I{4#q-_@3IF^nKyH`7*Ha&(=q>3ek_+sDW zCXB#RhQQT4yZTKZu_P@V+Gty^khJM3f}li&JrSn+#~V;|0X?#qKgz-RA@D+o_#0)q zWh%nm9x_Rgp#M&vu|G-TL7fp=0R=n^4P?k77H-ABKz8f9___;ArQBWS-lW%*cPax) zc>uIMDwN+KXhO-|QV0+UE@4CAY^7h+E@huj^#@x)P~g~-bM74Y-Iq@=|JnH=zl3cBPuQNneGD9`3|;50UX?F_u&f->+}=_tjhYK)#w3 z9j+S&e%E;ka<)>63rXWtdt`Jrm1b7~dsJEMX-&i8&%BCS)8hfL%F}3T9cm&fT%jP4 z7VF5pQR5^DZUzgiY|XzyYnAlcg-`pH`M!b}!lt9zmEYG;qxUTIw~_DXf`!8L{LFOf zh}}j=*rzN*sbPB0{m@y+Ecs03yW-;K z@bTzj7Vl$wyU*xNRE%F^Zeu9{*~wC{j!njcT@2b~TQ6ObrVDvZIYoVQ8$&O(!@PKD za-^(>+dj=eZD*~UyU*Ns(xM*Rs`u;Dc`ecQ`PR`x_02QyBin}`4bR6nUsj1HU1ztm z_Wpx2c8y4%sfNpL1r4S3zj_FSTiQj>*(@*akHpcB2CUhvUqj93r_pI%i=Eo9?+yQQ zz*L20#BS-dTgw^b{#xY5kWyIaNp{4pn1q+uvMX#%Q6P_33yy~`du`b;Sg)h++IG5z z+Ut6^TD+5=;`G({Gj0|y?oQ*3t!aPgU5kf?7jTDg!P;V!Ly+5--)pS+9E!}vIg^Wv z>a>D)O`YZV@6XV4t!CFr&UA8XT8uNhThTAvmLl@j= zB(_Svs};0U&Z2E^t?ORvwIyEXTxbGsxf9N)j`ycEb*WKN6=yzGS4JZnk&0XL>fPkd z#j_Rf$D7C~EOcHJ+-00rCk?l$(Qndgk`vEgeetm z>cWd2RP=NzykoAO{uOECZ-Su*+1?hhUS*4S{){tptt|(}BjIiI2m{mfp9lRa6U&m!#eI-e%sSRZU)odfN%W z%f9Tl44uUuQXUO@m^%2e6_#YEa(t=Y8~6c~*^S+PL8TO#`WDC8vhPJ)Bl_Vfwcdr` zj3%{I#tVHHtKAT})~FqF^HIvD4ewS%;Yg=jcdJRaJVU^EUS_wmhLx>O1KL&Dx% zD|~fL4tDCg&9lym%)KVK6;&xIxLckqvUK$)M|DF>il-i5k6Pn`?@e=GGUlZu@&H^@ zi!K94S9nt>(JHtP*8OedR@oevY>E*p3=Pe5a`TLrXQ;{%wZvR%ByPqP_{h=1H&}DVJzx0N1lxE2SJ%e& ze{pS0|K;KSKdz18|A%W+Mqb5J{iClWEYcs@yc0;Eg*2ea%D~T`s?Q8bdB6oTE|X4{ z5y6BkZj6XfuSyl(xu&^P3Pj7D4@HTJQm(ZOrEF0xvJ`2kRoz6)U(zkSjcaN;%GqA%g^?*7pbp25HDJQY0nQ!K^6NJDUT%3`Qdg2sk^snRR%8 zBq0#pFF^!lq)(3kLVwN=^$fFAECBU4o*))FJOHF9UJr6XnjZ#J+H^q((0*_V8d8F3 zi#b}3N}N+%HAJQ5@8hik)J3dBAVTv z7&0Dgk)awYo{}Kw(O;V~lNgl2$#k4l(G8E1n&s@7>tqpC9nWnIEXe z9|U&2$lS57Tu8Zq#MtZyEHqqyEpsElo?nQ)Oomf5%L$nz5#;ZneP95HD1|&h5Ca%i zQKrpVz=Q=b0AV<@Jj$lf*Mi9R_6g||1kyFNNLEUa2^RgHJ^;v>feR&3 zazc@8nEWD6Y7Yg@{ZM>z#4jDtDuOXt!n2(&sw{=d)gKC2&z|f)bWDBgr6?TZgRX{h zLf|eyZIHhT2{UF||M6^~RhSBiNyX&P{2>+==|PnQo(>J>)WATYjD6WvtGGdGI06Ln z2T))Uc(8Dz+B~W92?XYS(eYi*-SI(L@bJ?~Tv(c<66P}ekSaL7MB@YwZQp*Tw&Jzs zL8@8d=YKc(khz$#7WXw5`G(*lvY<7#Y$HgD2b+Yv*>PjA^A!V`BA);g!LRCJLQMt5 z%bF4FL4CRHb^-DLoG(O$YR+P!{d7S#*hg1sq*Kk3HweFNrDvrdA1_} zR0)SQBU6`|(Ybhe_Uie3+NvxjjJRN2wZ@MwJwR`VxQtcBP$Cw4+8W{W+7N;{6kF}R zm?C0+*C(&{W_x+yG_?vp8ZM$hW>W{BZa_AOYY_tXU3?HQuw$4BWf*M=(|IC1y_$6k zFa)gpz{Pvma)>`)`iJ=ik=paIQYopl0$rb8xFxeuT92ZmsZyh4-MG&hX~;0U8G31I zCml)B>6l&gZa%#AR=HC7-7o9UA1x_eY>62bCTvdhG4H zF`F$uKeoM-CSof%9_VAU+fgu_u3zJ$yy&@c-!4H)lE(>F$Eg{=Hpn=5au(OoYNPC| z(jA`V2JDYt<8KElYmf$EVpbO~L}5-2svjkXMrcpH$a?JpPNi=Tw|05z=esHjE_;TH zS*-iZq)sQyTsL;pNj^CoT}#KU@FaHIvfp=$)2@SDW+}xb(T)>uPnlOQnOVYn*L=6? zY{JZ}vZxWQzj#Zh^`zrWCJk~@w~3{f24MDIq(l{sk{xn7Vps) z$vPuh7`%EOZ2i980($%7H#qp3FOQlK3vaix>6_c_Yh|pImRH0a!lo~(V3S&@5OEjzGb?Tz@*pevOpCU@` zAOBsWYPH)3p!BkIR(?btF9P>_x#;11muVto0+di^Y1dZ&i`r)4T)1&;8-1##PtLlI z7U64(SVQSJ4_)$3F|^s7v@av+a*sFKc&6PuHa}vF3_s;Mt)woLD)`!uD4aJ`od4GJ znArTBC!xu?;%MG>Q5L;uD^JgFw&Z@Il1-l`t&ZOnhNjv?!M=NhHB!;(S?k@NamOK( zVPSSK>!7W4w7C|V_{i%9>Szh^@hC32O$v1upY+E@>)uDi2oO$oOsYl9B$u!b`8s+% zzAIqzv{E`fsrU|iHBe22#o+92^|rU18b5@~q})glqOGjN-MDbya_OQUq~Wq%xyzjA zFe=@);iE75DQi7nt=CZ}qYvJ13d@i=e3S8F&%GiEy8sY`}FuUwuyrO~B=+$;q zU5@FUF#D{~4K7nk$Q4)}%BJDV1xp@K9mv(ncZq2twRBK=3O=(i-9uHOy*WU?A2!Lp0q#Uc5eE9K0+_^ zb_tDtrOYqXnU!LlqrGZq?+Y)65}Pp`htBOiEc<-&)Vgj=jn!=%Gvsp_OQ@^1SU=Sc zp=70Jz3M1mw~}$!reV-3Pnp|XO#FC0$}J*Q-Q-f}Vf&=OP|nx0!PMAZ+cIl$B`{p~5LhdOjlRmfo@1v;%eRfXR(p{{<<}<2X;@%2#SwA& z^jjrEi@{;IaCE;Pce2REWHd10^Dh|tI$&`2c z{oeNSvCHbREf%^P@qVi-IaUtKs*c$$%f=1;iHdvmeHFhjV7!UqqM3<$emxwxF5d-R z(U4{K&0z643h;-%w8Y)*H1s(-Wy0g}pm=$qoSYp^3~Zp>H<~(3 zi-t{{?= z4QKd`)TqF{9E{Wm==>*_k^UNAKw&{e>YJVj`~?vQybhQlD8=j>g8mEO%%b|}2+{yx z9{me60Y_T{LpDN7z&5utFoE}m#wxXF|hEg2FD5(s+Zv#gJuFUhLyF!?%uYh z4j6qs4bTt`6%8N)4j(@c#eb*|PY0f{~_FD-@akpv@3dw@V zVq*e{R-)$wPzSITFhi@_JMjb0Mv1`GXJ`30|6~Tv)ejY5PQ9ap^MR4U!`+=;v#q_2 zk&|7Eo^#`8SZ;b@0(5VG&l(uOhZEQ)zz_1!)DA3haT)2&El@8CD87{ubfXi%4>r;H zZPNlg5s4YX*zG$ELmXmNkHh8{4!jK@;Fr?K;_6{l-NVGh!#}4!rJHJQXKe=s<;?Qx z;sl8PV-oBGEK}iE1_1)W$;tIcMQFd5_SA3UE3Kmp*xb~!h1Yik@3+%%Y^P5rV$80rbc4_Q7hp>gu=QPdLSdxMW!c!&ng3Y_32*U{NejVP)y1 z-hA&vMEGQoWWoWBH~QM?0X&&@VD9BjHzz27nIW6u@6(fHMor@u$iyz3qp|sfS6J z#QxdQ`F=!wTkA`pr$$EbKwboI?da_Q05vnVzj?EHv3|rLXte$rDdkjU^8#6*`?Xh$ zFDGySxxLc_WWO%orJ&|N8)bF^ol8^wJ1fxoV9a9riq7_+EFjare4kf-mJ%K78FCzkOgo`XQ1JF%~4ajpLvofw$-nY{W617zky zHZxM18@Ijr2+KI+JLzRR_U}y!B=Y~IoOqwSJuzFDtf*x&9dg zQXKnoLz53~Px-{R@N382`k{t~s(;e~Icj}-UI6&P1j?MTYhD*1()8re1iJnW2UxHA z@h5m#@#B}LTl)eO@chmNAs5Hk)C2Fc;}hTJGaUkgdee!7RUY4&o;h00x4H)hMvLc! z>*WYkWM2dRwGTQue%pkV{5O)^q5a#ubw&MK|KnA^&VMD4^SSEsD@Spv$4V8(mx)eX3{PQdy%Kt@qi(bfto-}<&ii?#U9V!NkLaqO%y`))_Sa( zNxX79>D|abrdPFla{fewjG2}FWq8@;btvldA}=rUtgZZ=$v$L_G(9mGe|bGgMi%G4 z5e7N$BVAJjOVs9DQsJ)^xJMVF&#j|w+Jhr^CF+=$A#XlD{4vpOzC?^OTvy5nV7!#k zM(SI!Rl;bS`DHH4M#-y>8yth(Zw5=?xCGI#{T!O@V<#{L>LtJwGHjJ)3DMf51d39s zWj2x%z7$gkNfyK9KqD*_iI*ojMNx?gy;KZQaO(kp>jp~@2-}o+tQ5IE9(MRIiLqI` z|NPu3z%lz|TBh6>4+6YIC(zwGb~X-H`FK%stPkr(3EnwXir7Pf>$IDyJ3kH;V2%xv zqXAomDp_=-_|5z|3Fcmrl4waz!Z`c{L+-dT<-%eET~6y?cNkF2z-cBfv^!{|D!@3! z!lykk-_>D^^&<(%7Ar$ok|H~IcnO91$=!zTRspW zK0;ofQnLexkNo?19cz%<@I@Hl8v{(EP0rm}T97%b8A*35W$lQvC1K#vk6q%LvR=UF znG6DEp%0CEzLiOs6%k?EvfHTNHY9SAVsZ2o(G@WeXi4p=yR3*`-lP*JK7~Y`r@8(^ z>)xmK#rx$f^pN3GW`5}kRA^`{8z9fsq21eZEy{$EAvqi#mVy}DTA=4F^>j#kdlWCf zGZhAfF6mGc77-m4{O8yWQsrSuj+U`U+`CjU7guc{mX`|l_gt)Oc6ENGr zey9wFrH4_ILA^ChlMGDVGdOFsIv*GHm&LEZWNkQ{;KcC@vJy%*T~+Y3`mns`O*PK% zRVQ<7kFivitUB3V{p^JW#8J-zH~Jeq$JEkWaEW_VBjQuMnN094C5uEXym{pwFc<8c z%Ex9An!Oj~mG>`4%|pR<)|6mpV$&uWNg^$|9w7^ZPO;1FxHm6wOJeake9@AVCew3; z0((yhsxhcT6~f|br4R!s#A;7j5%@_n2JFKu>DH|>rBPCKCo)-i?Z_Qul?8-zp78+^ z(PO1ifgb9|+-uZQlZzQ#S0D8Pr;`;;XmPe;H!A{%7EDUa<;Vi6@Jt+~vpJ+l509a< zg7g@Oc02tWN}Slp>z>wx{YlY7h){bbIHh_Tc;uUXMml_#T}RC`A=$4X@x}5fvIQ!j zMTkKJkvfkz%>r$%)lKVHj|Hl^d5d%pVZ0Pt0g%t9pnMr9_#!NM?@=zDpEu4BD~)Hf zoem<^7c(SV12I3~5Gz-_6L&7QC^01a-Cg__q+Q_6WGHwjh;;A90@H>XhZ`ypZZ~~Y zdn<#+-X%lbp_OaZ%#y?Nt*A7nYU`Kn=#Pe8fQW_kv(VW&0+MtIkH~&(>y+@5!2uN{ z_#Rlse^!-=1;GVc`T%cpd0gY4gn%_H)sLk8f~Vo^e8T~%CHd`a)g9Y=-Jp^BjW!&a zHkK|P^C_Ox#E8#6$OJ$5XQYVhoBLhYOtTYjRbC5)YBN?Eapg7sy@DVXucnaCM1-@u z+!Jtp9YJ!te^KatidAvmiq?g4H%OHEO_A0@hY4tTUNzueg_3rsr_^F#g3?~Opd@O{ zwIrF+_4)$brN!Mj?sP*F#MI=jPVH#{?7D%L!iE{5#-U9<7vq`s@1F_aOd79iVLQ7m8@y7ZPrg*OnKvVTunAym4}Kla^{6<8TjyO8H0V1uA^B($>D0Uv&nIQ$OZ46< z>(X%1K---jxs`wgUu3mkA*Hcmejp#)^b_&RV(Q$9$VCxDzav}d>SDW4A$=x~-mI59 z(m~BqL^UNd21D@Z>Fmv1CMj<&0<$de=N9B*eG*Yg9lgFS5_*?cO6CrrJ5^Y4l(_fG za68hBzhs3aLf_Z_Bukbu(0^gv%QVTIG7`~vZPc63Vn`$tb=XVV9$4me46oWMic_mu zO&tkky(TgE?3=5oY(H}|y}}F4TIw+1Ve}a4Q$F_oY+-jIj2GUUvntly$Fl@%AUG1# zjNn-PgwM*AsY2$`@PZREi0)$2yoMYky1;U@{8O(c~L2aEZ1-^;xqFwTAeZm%%`{G zGo4VrK;w}TOs@_;o!mOdD(Gu9H6D)WV-{Ux+pG#V1gzJiJ0H{*=1NVk+E7Q>xT(`# z>%8=3jg=P3`rw;3@$n_a`oKYY?)OS4(dDDQq@^CEbshR0EZ?bW z(4DPL8-3Vpt_pCD=r9-jGZ=o?^8H?r{4=?0`vfhvTn1%$wDn(+JXfoURasNV4kz>EDrBv{*E+ocWI}4NP!9jgV8x zi8*-$c)n2I%f$HE;nQI*9M3s^(kZm>cg<55_pEr}2UA`7LvMWAz?f9vLs~SZm@Y+{ z%p2269 z)t(kNLK}>LbP=}$y>_KanD{BSJw4?@ia9phC)T|wdS^hGZC%1Tb9tR^7Ym!%89S6jaR-8THUnAY?-jQWp_8CyU15U&fvuiZ7zLe@d&=^AGj&R zQJd7mVumlz1fRTI_4tIEVbDb{tLO!QkF_aKC5x9SUu6nOY?);$y2G;ZA2=;DoYW=y z-M#8A^Yoh{&4PzB?5%;8B-`0EhSikvX(tC>yzV03IADCHZe=^HM|p>Sq%Je9<&JTu zX`-Ws>e;n-FJr*tcAIkvXQ`G>Sh&`pj1)beLj}~K?~RvXK7li1->-l@j@*8;-bQ@? zSWAUW;!#;N#vw9#549ge+JT=BW;3sr{ITAntal<^^Kv(OGac5CBzaO5QUxza;Z@J@ z897gT8U;xT+|K#tBiEJf2KX`nbo6bsLVDd|2%zPwc1TiWA(;f!nw;n(`2!4`E#y}) zXY7K@n0E`=|7y%QoCG;%F1eJ4F-pGQ|H* zg9;<>Z7yG*Y#JL4lVN>wMLibhYpOIul7WLJu}cw66d1Zymr(*3vri$ zlUp=8AgwQ$Ea58!L!H5R1WQD7@Zeo^Kmz3t1ZMsSAW}KBBlQ9uo4#*mOa94!;`&vgJLkt{<4#I6=j?1ue?g~Q|f7ZrIPc(~KJ76hoB|jWsAh;_8BTf{3 zvB`I$2(`AV`0y%$`;=A`bPfF;vD+1-ftuhzFvG!!(3*ffHWW)GC{3lotM%V!_5&=aZwhd+dr~cH6Y2JI7IE6q`6Qyb{cy zq*d}E+R6l{R@D@50P{7)pHp#854SY?ljW0wq6 zi#&!PoGE*d%|yn;sAl>wGRr|aF~uhmYwO{v*3G0QmZHmVv;#;~qM&fBGn@FCW*r7~ zB8ZDx&h>bd)Ez<~Ow&N1{#Nwo}Lu9 zT%oVNBq;W@ZFwS+nZIKeK<6=K?LF|LSts%xA7&-VrM@aZK#Xg&X36!A2p7qB6&ehs#4O7}RQOC`~} z#90bQs^lI0yk0veY(Gz+8sk^pQ>&OD+doJ5=k7YS)+T%0R9=!_jc}BAB5av7;a7?# zCMJK(8wd^C*uWSCGPrS%^lo>b(+sj-w_{C}6fulovkwL1KY7}1_FvJ)F4*6#QU_~p zt#9TYcnoTsl2_ukq7QK&_hJ=ng=qI)n^`U6OZ)rii5E`;SY5CMBDsY{ZgDK=;mDvn zC;Hl(>rTJiZ!U_juZBXs&YY!0p)F3mXArtkX0n?GXK@8a0zK1kQUtKktF*Ckn=Uz%0P>kx3olQqX^M%$XNlQOE z-XELf%fJ~;81$yK*V#oM;CN;2(;&N0O3!%nfPCpIv_N7HI zolGj>HvToRbKE)qJipgvv{y!=5Ah5&%pv2V1Nn>5-IHiMZwi`xq-v7DQN z{T4;mP~31H;xuOKYG&IroifUFN!($&ub~1mF+Kw%qINP z=ouG4!KXbl9p8}d7OB7tM(DjjzvG=)857b$F?HGn4_S!KrrkIr7k8ZDtj+3lMjUC@ zgvgSKCnzUd|Ma~8?4y1ZqfF$&{Qm$kK+eDDqSFVesbrk!9vg{2BPF8Y=(bPs!U_6s z&XAtoVM{QS|1c#jo-O`pPYSnb!2NT1!0-msS&D<2TJ()Zk$l}%nRsUoUdgAjH8MZw zXy+44B_7}E8=QrH^snHV@!KR0d!0} za+B$#0Z~vYZI%HN0 z88wiNf>fVIy(wAK@t#nHLZrfBVqs-np6G{4!mI#X4umL|64LaIOcw{+qXQucdWl5Y zM|&0dYVKQOffXcCI)_zgE_vF|6%^7A86gDuIGK!vMhtHXT?X#cd^f3_H%;8jpf{i3 zIX!4~cx=|$4BlQQ;)5wRMP0%(f1X8z<)pX8dykWfB^s~q=;9+pHdw||9*j-#*?5J4 z?GetJRa4kbmbw3Rcr%MZ1>-AIKzK~}%C@3c7$TQ#FzoOfdoCPYWJ$$4@Th}T;%EO+ z>+I-q?$WHF#^Mh_8~_Py&h5;RiPGe1(sNd=J@Oc==Qv&lZ9`r`yH*9!ne(Wp_n6(5 z5#5>zIEmdV^2ODDm@xPGNITPo2`Asa6^_W9YnfPx6Ry^TnTNeK|8Q7(OH^*nLWZ zpcxXznJJ@fCMy}(Ljue+U}uc_1dO0eq(2AB*ixf?ax{gXPHUdh6r1)yYuV=BrO(M^ z;JORc64sca?_ute4pMqVC?bKYLe}NT7vteuo0U0&7u@7FUV_$NG&0Nv=%9TIgm{C` zTHqi5$Zn0-6-8tt%dMbTALC;0r-SF6pOxfLxn;4Bx}{)jiPg;AQyPHt6fmsKCvJTs zp~Vwc7YZm~s*SUQgcILfIU?#BS~S0#nn3#O;WEZ+Fd~IF z)mIz3>neyG8>TIsPkoa))A(u9e+lVa>CoXw1S9y9UUg|f4GoWeqD1)zmz|CgK|S)! zIkZ4MKQd)4I;rN_!Hiz8>_o6d((Et1Kdy? z420|Bs>UG};YAT;hQyTflt zagJZQ8DuWh}dM@fWby+7X{Syr?u*NXy**CO|x2oPp^TZ_Mf=u&(;?Kh`7Zeez2e9=h4$$$jG7lX-#Pk(uS2Rf=AHl z6rM+S_L!&4wg60j0w(Ix(uHJ~7||D&nE81=;YVageEbS2)I(sOo;T0PMsY8*%Z5Fy zb1hFwYT#N5xt9uCNmCE`onkov7OXRRD#-~Q%l)Bb5{w?R(riLG=kW{3j-Ob6e zG+(#mPC4!9zuB3cSr-jYk!QTEWRu)!_9Gl9pqcePr6_5(2Xrq7#v_T+*8NAJiTD|#hblD4$nK)~o&Xdp5 zgP)hvr8-WdYHe}M7iz7LnfWsOAdXj5SZL13IH`5m@rSnc1=1TmKU2=F?W{uXu_cx7 ztiH?MgW8{JYx?GFqHUs8Ki~SX9mf4!N4#r%0=tUwlopG;0Fq>JD%);QBfdL2JdbhF zeUidz-jPsvqaBC%gCOs#{z9mR-6Wz|Ud@BsMirAg__1kUR?$5K9$&1ph(XpfJB~FY2v6d^y+^XIIEZG{><@WsbX{}bHW?7LHEP%du)#B|Q{SSlRKJ{8ATdQ> zqH(v}>drIYI3?8(MaZRQRlS-c#6Fz~l*8tEMtQOUj&sV&ck4Q9>L)@bFo1?g>c}P= zVjAf%s!x(W;Ne}87IMAzh&QfC&u%}8d5e)Fa3s5oox#6B*7TfnICfOT>GqHo!(WlP zAPt(1r!_vU!<@WhBo_FZ{08x%l5ym=xjorS-a`h*0{sW)h;D9V)%{FXs=N;FN_5<8 zFs1OUP2CVD**geL0n%qg$dt_d!HK?)wHDg0A&S+KK@neV2$5GsxfoO6t>nz{z(fwl zpVgZY!ndxNa!v$Js!%bh`qO4yKld(sqjE5xw_2?SqiOs&BKKjps4cLFZwK;)X)3#F z;e4gpp;F3Ps2IfdREV$7SW*FFCy--9_fMxcGWv4ti7^g6IDck1^XQ}>QJ`fv9mwLR zt8Y^7GY*-Ef%QEGFRp1_B1@uSJ7ixZfC|2R)5&vs(xViTokT&)+bAv`+=4`stIC+d z?skhp*cP01CWUijmJE)<2934DdL-vsGthoO%3g@ZFVo{$AL%G|#o+C@@@U zYwi!A{SKtx=tk1kws<as0tpCX39Y+9vxzBG19@&v)X_5Zkc{(gy4~(33K0!2< zO1e!$+JAp=?~~E2j68niE)MUH6Ha%u;5Iu$jL%N-I4a=!=))LLdzJV)9fQr; zSERvTY)c8E5Tpf_gcI8ot&Rh&D zwn|oto4lRM5?BowEYNm8v3h-|#pxmBL1N*p6HG3i{k6V!d#X&}{gl)PjscH~5jNjvDlpONhV6{xq2*>mKT}sg zGZLQYD}+)jo?^}O`}|~shY%wNeXS>(m*$T2a;o|vW22=N7t;M1vJp+XHH8V2TaUQP zi)e!lmjP+p5pUmT{$gJnC}guAY@50^)p!Li{djn9x(yiM99XbKIpsWJvz1T<2c3G3 z@d|Y=r7=&{3@^6%SG-i7X^~S*Iv(D3?}Uee^#v{7US(M0lS8S@_GC#H;z&8mU*A-n zJIWfw*`rf#k5^z-6NO}~h*3VsvNrF&x*GB1lE6KD&|mk2w_>>2>@Gab3##BsU|H4Y zXM1Z^(+1G~yz>4)LvQ;`Akwm%$XBgR zJ|J|uMit`Le`f>c)a)Y%9^uJt71Ou3joDslfXS590@No%v9{-fZisaBibm%Bknnut zJNj^CDNWVyMp=wOat>rs5wI$F0*@@~B*J)?rtbop?AdskGWggytUmgTSHD%=a`=Yv z&WhibHdo`P@|5i?`|L{Yp?+akEPZQ~Uyuu06PNktC&%vx6gOqUCagRoyB$8vSLSDijtXvz94Z#yH& zBg2nL^;+l;KIP0E`#^BL8WGh?jJ7m(_-|PvJNq^n&N_##FBk;VoKx(EAG8Wqc2cDA zSNM`X6N@+Zt+FRcU4}g;l%o+T(j?8If;5lg0K5 zSJ!MPI6vYVh};iyQdW$^V;7l4-F9^-qn&Ws8r=mZ=)~jJA?%csz0cEY8HC1_!hR=< zF(i)t&PX?_cr}hN0o^i|{o7?C;CvEsW}Bu*780N*CZj>v;e*MXqpMeN$1{`)ky(*V zvUrvRJ^FSR#h|RaC)KF-(#QDo{5Q0)9=kqGfHMQJDBHa`E13N3ePkTK!fL9M+muNM zmQ4ILqlUKbZOaUj?^g^0@`-OpTv98#;6Mfm@NMC9!NvU6F9+|3<02T}-rnWB?;YCy zQNOHO@*+wBY?-Cg(qq;N z;VwZ%QM_C|%Jh85$h|iy+E_e$SeV`Hch)q8`AM@0{rzp^rpE^{mQ%`ZEA?%GyoTjr zD;z0p@;O#7PhCru9P{X(wN7t1vNquAs~8bU^eT76mo9(IWY?#=1KR1y;`Uz0(Fluw zj;*B-vqWN+0w@DsE|XH4w=HqTgJbO)5W|YRse9OVd@4pIk?*d#2z#$N;;+hxlRQJG zzpdkc@KCHZ_^1-uu*`FzUxK4^U+7CKE5BlIhpUol=8-3h;F(zWeYWukg;kN_kZx&- z@JVzum^iMuv6b&hLf&^itz+QclN0Th;S%hJ3}xG9>U(!e8D96lQAioUjYajLmwpcRFY6 z=$x=OP;vzI^Q3*7(`cR(oabtmRVBb0CqNI&>^s@QNo&P@E%ZwUGRZZ`>UM&_VwY)+cd3)1quaU>h8R5-5ng&+(F^HFm zv%*>JJE`)7tA2Foq_{WUGC_17R8V7oruC>o|GS6&fStrUes3U5N4!ty8)jMhjBK*^ z*;onwst;c~yW(F*wGQ>^X!=h4fY7@hO}EqDxW-k;#~q}5F^e3LaVF`FcmDf9Z~$ww zJWcOT0MPz0C-+tgiNj#^%RU?vns{446UGJ7^$J91MAMqnux!l}icPcOJVVe~(@!!- zGIYdqX~-ZFM#W3_oo9TZmf=Udc1u0KVm$-IT(GXH2E2ZS5Y)R&>G`a6J@FFfhhPNY z2hP*rSKcM)3fCX%=E?4X#?c9Um34hvvUlV+zBbs=%~V;#5VaB#!{Si}?*;0+@LkD~ zaFP0>-(=ft89A$&`}Djkt5C!$L1zinE>O*@1U4FKK*CB>@=h9|%Fhqh<+P{%RPFWc)mu5O_8ko?MNi*j z&CwUzU9G%s)`^IG5TBa;+32+`N!w80)YcE0hC*RfyS-n8OvZ`!Q#BFmHwS9~laagP zTU~?;v;6;f)lW@r^a6S*+Rj5i?9gKLL95`|r$d=QeuDl^(s!iX0+y7RkoNJo{-W1X zD$^>JS(n%vgU>dj_fQfQz9-K!41iNtJj7Z*4|V3* z`=mpjy`uxG-iD1#r}cZVqB&S2f+p5_A!6BbPwIQ_k7!;~XO?R;CxQ@B^g^%&1w>-U zb64{A*X6S;y zF+_D^LEV!xULen0zv@XFDJy<;E5bkwI`pN@{DM`mQz&<=({G?Nj&nIPrwFcV_>(rb zouiY*nNIXAb2is_1K}ZDF+MNKyT=lw>&UF&P8eJKD!tF=%zh7$6AKp}NwrI=l$a*< z?my_L#sJWh~_MB*-UB6+2upCCrG7tH~ zmON|=B;d88d zc)nV~E?Q1LHjJj&=r4)c;dk~O-!M{#`+?h#Xq{WeWPjDeTbUdtHptc2C&^-X5qP2i zlQeG&<#<6oF=6b&-WDz6zr#x-Sw1-4vnT;a_Jb|!Y<(4>@Bv@zx)!9vNS8-7%A44{ zoeeY7P`jKNmWr2Yxg+wD7Wc>zbSrEOKRFIAz7lEth%)j0W!?Mo^M``|b<*})G27_M zcSM(jz?Fk%(J`4~Uj!kj>S zqcjupoT9)pCQ=rr+o;dCPWa&~g0i;KZovH zIVvft6J>J4M6#V!@9@Af8-}qNf`Mc69E#BN#b+mf9Y7@}EpsV?`qaMLl@6onVMHz0 zP@uBBgA zg{nD8WT);rO*eX-Gf}Y&H&ed1!y9kzX~hgZ=SCLmh`ChW`}I=x z4LA+-W6=gQ2e7~k`8k=(l)NM=x0i~f4Pj>Sd3@ehJXljwur7t>?2I*ksVJKeU=qz9;eGxH=%i_Szq2x;^G0V+f^pH{8o#5&l1Mcy9BN$6aczTiGxXqu! zC+;eloWtzg7`lDvQ=T%cT`?)$0C<&{O@dx!aRwx5c*FUgO9GSJRN68!>5@tcGh%1e=sB+{(!ReM^Rj(f_oRBn0T&07cpe0 zktq3zE<8MVn(1R=7rDE3%VJ%E?1e(O0Y>g|GaqWNYK6&Mw_s+aREAJ?sVz&49c&sv z=+qaw_HkLVA`{BE>?#3x7M3V{u%n1YwdF{McKu02hh~e%h;DJA)#X~PHJNkcRJ?sl zQ}4kK-5%SjSQd^#K(aVv^oQ*$j)$0u$8spOH!CaWrw|3rA34?Z=`Cn8_B~k$hB2tz z$~Ir6-0AVDe4nQR%vdEQ-#g#S+WI|16vsBY3Ey;vGkX%cJsGoUVI|*~P&KRsU1Ypa z>!Ux#?a3?ZVBlUd8q0nce0MHwBqXeQMf@meuVN6kB~r4n+)UcJutUZo(XKM^I&4VY zwefXwL_p1)+zGEp3N_TGOm7bl1C1(XTn!Ty5={~#<XDVvb#&10=pt|&NKF!3jifSybVoMmyLDNOxE zwV7ueCs?K%`!9E;S56H%@wpM-wNOppE}%aaq`c-)OvNg5Nbx@x^QMiwBV7|#^Ql`y zRg|a!Kt#AWmqLVy&adE3G2@$)77S-gD&$fV(mr4aPN;rQ?y}>}S1BGuE2iD1mDGy4 zWMO$&4dqe~yfhh~mqtl#mxMV>W>YTJnIbCNnKMN5Qto^{FTID4d;=X+Yy0jK|0tie z=D}m%YiK)zVvPI*+g5F1hUk6g^BYrdFh(+BZch_gaKrDaWTmJz2b!u3v@avAqNtLJ zeqRo5Zdy9dh?mYL$ZFNn53SHLi}Y$qdgm3e+0_apY=hxwb*>iuZPV}Of{esD<=nC) zt{kLsCD78_DC6&IQpGo-q_ando^XhXH<1uugnXngx&d4{N)#4c3<1cMi)v^y(d&tO zPI5zZ(43{gFGbf=);#F_5VS?GY)PoKSd?nn6M^AzG!wA#P|{|Cn#7UGecKxIx1>tN zm@_KWx)JaA&XG8taRS4pVLAF~CUoMT*FFJ6KgWuF*7%W9Fnk4sbf}b7;iNk#dM%cr zg`IE(!<}v@ybDN(fM{CAjWtV%rpGX7s_9r$H?~`n>?fC}tl{VI;Yt2ER1=RoHbNZu z#bT}f$+y%bax<| zjnLE(v3HDtX<=M&9|o&Ek{Z#{_%9%CW1bl#id%_8-}Rq{h|GN8%#c2$aeQA;>Ey|W zU9?&1L+o04r}GI(cOVTB!@erPLCh8ojD~`m6d~O&Hk0VE0K-(`K~)%q!Z*9jme4h` z6;H#Id)Qil2XD+5Hh};9g0iF{Y%e`%YbCVXK}zrgskF}Mo<6dO%aSR61xd!umQA)E z<#4)WU=+j?8mWF7LRGD67Wr5mPaKgYOuCdS`M?)__jk!-jO_?LR^zqW&CC!KR<7mG zA5EjUphZt@GM61(0Zn}V`;GtoH)9lAfs0b!w#ywOz66~pd9aoW@K4|EWv;7{XX5H& zkyT#f`j4X0br~PM9CJ0p10XNA@{z{SzYV^_xv-6H=v4sFa5eWKT(?~kObGqdu4-CW zyD;gBd9kWZr{gv9g^6A?xSOOCd}9dBod`?ZJ4hvYO=L<`hARD`v>IW%dRFbaZ@sD+D?-lg-W)x-&#b%z@q4F`DF95mOL zgpwT;WmyXSJb|LnLDqW6ve?1&J4D$VU1+_AlW0NARRPvT^F&~La1aysoR<-Jt>K9D z9gaNg@kr&^i&G^O`Vix=NAdFrox2|_&?I=ZflOhsKbfyD-occZ1im`P6aI)xkiU*} zuVFM~rEHoYbJcnb_QKkYt+&$E#Hy#5!BA)Ervj*Lulp7e`N+IdBi; zfadd|5HJq65-lvy`DV72bSy4m{rW8Y^ksL7w^ zhjAsv^n_BYDjcllj<;p^a-xE#`=Dua4uRqbA{q^*IO-L1_)l_K{AjU6I~Lq$tPK6M z(Lw#}yq}~e&;yuEjj^;LFLd!k^CtJObLtDO)Dth?!yT=bVUf7n2*^it-(5>VbKg4g zb5wE>$LR~U><$`#-84B^W1E=*gQB$ejP2*xg|*0!29ua9%Za}k#Bc+D<%P=t}DHtj{$+Ms0nJ6AC zkekdf$jl8!f=@U6s_}!E7+)%DRzA+VSK(Z@P>(F|z%BN2q?)jIwF)X6WhsmotH!Zs zJf_K=CdRHQ0}rxwHt1%T?H<$y=;r!WNPs}={-+WIjLcb`NRj2*tYa?Wx9Q_DWv&Ql z)GdjWlncR5qx0gNK)^HJ7*hz-oW-*g0^00knk1q<4)*;@H`e@hie02y{(@fGWhM*2 zSMjoe>Gj!E#RUFM;M2#lL}Lnc^LdpuD?(4J372)H8sShA+=0hOYvz7}=t;cN4~(z=3RNiKlOD1Sb> z!?X`x@60fkJYbj4r_7Krsb_mMVJPZ=8IEY>#zF(3Nff)Ng<@_E9$&hDSW*K_Sn8v% zZjT?Ybu2|E9W&tz;22qsxt@}vZ4!Eh#K#T}x;@s(Ke?nG3^wVd;)Nx9%D;IWV2c%n zd=>L&QXQ$zI5Z=XSG5eu{=OS*+wTkKujoZPtzEPTPqhD&WHlzvx`xV%6FErZ{_}bE zHY*j}OWKDYLRT%P#0Z^H*{H(DyfNBdGKyAtX!7aRnX)xq7~{2R!AT+HJAtP|ZW`J= z%cu7@hs{Y^)>+epm@}%P8>W`D6#d<)O!rM>RsdEdAdZbYq7@@|N=Hd^1?GK|GSP>5 zgcCeW73{oX53;H&F=`bK zV>I#v-t2mf5cgwc&Ke8XcuJRYitQDhij> z|Ms4u_|hFOJPN(&?x#0cGkCmmRRJ~=qL~9G{8$)uuzgInB){P-=O}ED?tBEPD!b-b zhiXAjHRQp9*B9!QSXRh*b2shQ>o}Zm;f|^ueHT!x;z(TNG6SOWXjw}7&4G%ygy1RV!Lq34kY@N6s{dVy;AM2Jwij;8 z7pl;tbS|cKurHo(UmfR)lj=PZ(ueo%nIuSIdvbgNkNl~(=WM06Jgz~y!+9(*fA##Te)xk5kg@E}dB zj*L$-ua2EtX`Ep3=A~48n(y=U-4^mx%jrJnlXP#_uWS>ii}fLAokG-I&VxPS;Y|%W zBzHA2wPIhtWLf;EnMP1d6N(~l`2PakJ|e-Gyafte8Phpg5fOd$Y-PMoJnWr^ENsR6KZ2T;m+V-gpWj| zh_3Y&DQlM9PCor%aUVO2kp7E-wjuA#h4!=qaWcHGP?-&!}B(cl0A9ZN3mN5p>i4?{i$0_?Rj+h)G}NCK{cx`61crG|YTR*?~T=-51Sixf%_8=Ppu?!k!VZ z=GZcB8l4TXdL5D;GX|?GDh{qL_G!g}Swbq(U~nu%8HNg!(Bx;SgD(2~gys5_e`A7e zXHp8AxM+LYH;Y6>#njOf6$-yJp$ImsG-f)V5hL8Iz2g~cBk~vrVfX(fI2W%4ub26Z z7nk159}vDRlMs-udPi`)|GQl;a7>4QBsbmf2^IsAy0`Mkk47Q4)FUu}9*2OO^Qwsn zszbHk-O!@@fuMkHIg4_-lfiL3vA4Ry+RHqVyyd8VwQlcO%eBGgbsqM=JyD@`ebn24 z|Diiwp&ReP+$)}rR2N)0oxv}HKTivn0yoLZFvR9CUt%0}p~Z{= zkYf8Subr|QT}XXK7bFgkAhnM{+7#^?OQ*Gg0m$MTA^7uT_pk1HQa&=URFZStcZo&? zSuI99O_c5wK}>0V+yjm~6{K?sbOO0B+Nt4|V^VTcg93e^?%}~+HXzdP8u5I3XG$wg zPa2)n@R2@~;A9jOFyDw1%ASh2n|UpyBX5$XlIqYtjpyz@Gb|I5CIm@0WRUe?zHyWf z_OTdpmC?O zbZlu0d6TBnkiJA3kw`^o#Ujc&CRA&zKm5TFL9&p_4Er>=ivxU>aQkd}A=deM6$G3@ zO2&&)=2VpgILZ==m^bMyQ#ff`KxBC*%QYS>CAkq#fXG5(^YU(A?Z*-sz`AW;Og_u< zr|rf1_*iJ%LXCvTm2;dLR<7+ydmH25(N~bq<7&;`9#_F8 z9z*mD@#JUXk^EOO3?>> z11A(yb^l1_tUE3lPRouOCc@)r+1Vx-9ANgL*6cvCNtg>t zhf>(ZE8aN}RQpS3&fs?Qa|*}CdzhKu_;TG3pSO$t7CcUND;D~rpjZq?cikM_A3VK#j?s<184sjWt<1C!|2H;-XjO=JVfk=f6bjyMJrbkQXIU# zT59HlR3t#t2Lx#d+I=8^0uCswwjSqPpSq5AE%FBUx7j=%^n+=Ph^H&lD6C^xzMdr+ zSfs1c_1Q&83^mJxN~b+m)tWB;btIb2CE{ick5bCA1vLmUGD(4-GwEZ1&o9sY{elyf z%-_)YtqJ5bsDsZBacS;Sy>WG%K!yhF03JoIOHK5Dw*RtVTOG6_h)`rC_@^Dx6)$%0 z^!oYMQ&k|`XpMSb8F(d+p$amCL2Pg8O6bDJh|H!{7P;x81mVfV0;Xg;==Q!8NlKQ5iX8D7?Mn?td zbq^wwoJX4b-UG1EGWR{tr*yf6Jf86=)tWy!5#E;y2R9%q`D)mTucKR&{_TqT;*C~i zpXfzafQ7ksL@5w}s*8vBu;Q1j{6Z9)%1jFNBZ$6~^ZB!`;b5$XpI0Czp-ByUr(k0y zh#XpM%B&*QMN2Fmw#ynk&Q76b9c64M#D>59tM)5a^gtp|e_1>ycQ3hJ#xsvKoIgFM zAk!adX25P)gEXo*>$k;h zk78e$VcC8c?pJGm)>y0gb!klUa?!H1O&)90FC9<;X3`366tK6gdU3|g>8jQj-mybir=;^ zqwdBygo~}J&M(LKt71P6^r zC2IhPA+fawMSH|^F8Rqng~lYi^M83kg;k+LW1+yf4QP`fk_s_c=C+Zik!08uyPiM6 z9wwum-v|N~tj;v@O3{?5=>au{meGFDSZL)|!Ho!J>3+!feQ#9UzCQy4f{Vyq=MtxB z4F9(Sge};ehBaQ3Qiz;`<+D8sS3hr8NVDK zW-X*0v!f)aT=t!Q5T6QQxsK=oDLHNy!~%i)kH%XkwW&aBSH#%w^P0M#(~}(nI-8Wv z+et;F)#0A&bme9Xm=cN{?jmHq6KIY7t_fIEt1(3y3+eS1spTlJSgUF)Xb&e$rAy4) z#dP#5_}+Ix?mv_K;EXHM32nGv7ak6)*hK-a01_{nl#f*YtwcJs1%z}k!8qlBYdoV+ zA=37~`2H*=Jc5_Ws2lBHsW#F^Qi`nGOXK2Zv^H4>dVP~TS@hw zuhGBn)c8E>8bkUF`RD_I;gSv><^f;ko$|Eu(#s`|uFPgiSN#&{_Y;mH8#WC9j&q^( zn_$+?lm9@3K0IT(K$j(-V<}GZ-@$^VL#byQwb5Aq!6z!0c`Yz(7BRg@UJ4+`ouH{(;kz zS=(0RVbMc=Rs@k7mc@q}dq{9w%MUDl?H*@W9A44t!)#L0r-niANV*n zx5DRR106Z~>VO-T{aHMtbakiS!w7+G^J(B!b|l%#dQAQ?o|XAaDb?#*S1dXw{WuD^ z&&9@ZQJ$vC??Rs}YOraeXYQ*+mUM}uOGW{5t0tF;-KWswf246dWnv8p`0xIAX6?Ov z;A&*X1hP5R?Dcr(rYdT*_&Z-*98t zyR5EDB4BOw_}LFVi?RjLvuD1|b2(*u$E0*&xNDEMPY z`QSDFl-No3c23Vxwo!|h*Mq9BiNlBFAw^#mBc5CHAz@rlq6lAeq-xJ z@X>jKap)9pPg-`2w1}V>X!!N~akNh-t!FQ*H4x6_;~e{MSxqu+NalGN3JaO?G1W75)Cvww9hBRh@F)It18W6vW?^7JlKxnRmOr!J5%=Hs)O?o2awwSw56Jlv zw38_J!7wW`-?6&4tkHY(URW=2}{db@}ZW_<{yAh50oYqPt z6MrqH!VwRg&AH+L0%p_cerPgq=>7kRIf~Lpp(sFCSjRPpJzH7H`@)e`RR))a%xjpJ z7q0Py#(d7II;9W}JPO64`ZU zNl2i_Z0p=@4DOW3YzUW3wHSI)W)%ORh6a7NxYwSvl(^&jQt}hpGtUyc4~6YU1*~o* zdjra90xO}M^M_uzmo*ftp7{nCyI12`=1xc>sE~PlNOzpj=3mR7{j?GdFGVTK9FB*J z5Slec^#5wC-E!1~nzP85vSVs7+&}G>CEdG1aEfrEs5}B~QlqIM)^3zrI`^61OZm<6 z_ny_B+a}XncMb~BWXeo0(|%BneWU|)>iG1r9-5Mg;|_yxiU~L7MHcUrjsdOn5+lixyDGfqv1BB7tp@M z(&+4aU*G~@O5k0r4P7S^muiLHC;8rDyqLqL=UIQrk=G)n1&Xx-M&Z-IBCx?EawKo4 zpt`VgHfSb`K|&Dx8cGMOzG)4w5zBl2#K&h9Qeq*j0*!ga%lUsU~^wm&Ug^|Fc@x6}t`1bW@wp zC6(&D+pc`md}^@5xkiNIFO=u-;&86H4QS0a5ok)}32EPyl!T|`spadi#Q(_OoGnrl z&9l0$xuYk&K76gxWzRiA=d|>L2z{(2TtRDjagTgc<4jOjhzheT@mWICWBRsl>4jDv zy!TDes@*4_30kt3T3z#H+vG(|is}FJ^^&_2&7gar7r>sbLH<)n)kMWrs)EDFZ&nY} z%?6mj1@NqUlBaN)?EFrm`BIkeLSJ(z(qSbO?bUEhuXIz)|V3 zxj;MG-m$YrNU$d@1tx^0v+VE+t{fRjCgDl~?wR7VRfNSdvHg*l)4^*=Y?6suO(+_d z*X&irm(*c9{=v=9@dl3>?)xUxT(%v$9`<$*smQ0sV2;YPS>PZ#!3?zqI^Mb)9j?Dw>MwqDf zVu2vTvPzomNl_;bt&2am|N7WUu*l%ci5-UqAt*>NP8SU)@pCYuoc^H-NPmi)BG9NN zxiwD6aPw^Nl9UGqaC%1E-QEaVo!VQhcmcnXE+rKL>4Z7YoHWe(z4kVC2dRPD@<0Pd zZb3-w8!?&(OjbM?>m@qZ3LNEq3IZZx-D~OqB2J#2RU40>E^|RqxTSU;6ApofA$~5m zxS_e&oU5-Vy-xcUxQvyZ{MP^`JiuQ`b*~SUS|wxcUVbeR@+(LXA1)4wyxogmJjQt> zS-?~2&38!3h$7iW5JyG@?h=YD(aF-8Zp1l`DE@^KTeB)cnbbqtoem^r(UC_-Ox?^G3s0gN#1 z{su^qU(VvkX+~)h9ahj-$w}0XLji;mps8A;FUAI~DzcQkLuJWC%A!OUaVD>cfKn2i zdzEdw9*Kq`m7s!quLW&|X6Q*dH^k4xB%}6&M$JI3ZaVZkp>0xsSkb$`k_v9xnV_LE z?jQ72K4Odzux&%CTvye>Img-(W-$CK!6HPOQ+bbMWttJc!0kRXw1^A1qHxv)2WRp!}2@9f2JHY#nM?EvdB zJ_SiM)cm2{$QFPa+u;`A=?-C;w#KtrPCIY`IR#Rm+ZGb}7T4L26^1oKYaBS9@M3VC zYqon_@^6f4VbmUXJv{&f1$+710}aReN|97)4nHo~y&CYE#OR>CWx<)P3@$+$q0L%U z51sPX-uorADtTuPK!tc22;HgdiQ@5>7J(b1U+P-+Qwrp1ONWXpT~;5L7hp4|qpPH7 z`Z=(X0$9N3zQuqj+1PG==PEkYtYu3nzFVq~Mc%HBLsnYX zfR6f>8qXMA!Q&$CGzP<7_bV>sDxQh`5{IPRJUKv1Y|~MO>`QYQR(IxJ@yh^L%AMo# zye3c`2z-fx*0E@1xzoQ{iW4P%Bo$dBX-+e@}u_&13?Q+e&Crw`Rzcx&9A}? zi{e?I>FXytMIu$8=6vcNCs`~k-or90<1skq{b7#Zi<`A(RHX=SVwd;PLeS{g0DeG$zkTPmYvsr~4U)rdB{3E?W9Cx4 z^0GukScZtiJZJ=-w}%)Wb=dC7o#Iw$jQQy+WWiXncIbs1W+O_TY8GEGzoZAqG%I~V zhEx9Z5ncI3i*VAYp7i0iU6bj9oO^f8==r!@6#p3AHOEDFgzH2+8Me%eDkFiaLayD0 zRMmuqV1r&WkUu{8mlh8Q)^1uNwQqU;@N6gP&y)~4!)-1eQ^7Zd@ifiCw{7;L>}8h& zV1UWVJIoReE`oFJG{dCt2ioetZG^O88Le>QGf*3k^KqOa@cz0-86{5?uJMURv|JP$ z2T({pX7u4!%yv*RaEo3M&g&?9!MtBQca?b_$*-%n3G5Xc0cav zz~^&^fNotUpi+30IzEnd2|FP0L{La`RDwGoo0vKqA4@zO$whqP_g&;>s)v zFj~#gfH})wQR8Uup&{ELN`AL7ep3<@7}?HP%+o-B1p$)vOx%?M7kD3>Zqy87N1)($ zyA(V!^+;?9-Fhbs)4Xp3!;;@ej%*n785kQkzNYVBl)bR8^02>Vclndg5Wdi8-LdeK zXFpDT+(P36o)g-7j!m4-!}ZyY%{|N$YteGyV$x2XnnZF?`RCVgMqxBhD~{f4(~ByS4UEa`W|Iz8GyghsDDY=f66k;j-?yFt z2-AdbzKsY@)1-RjT-Tb|fh*`$cIB1sm1s z|HI3`afdlABLC%DNiBELm6R4Hg87tw8VPx95-kE&ioifMxo*3pqn7BdLf=&b85fBuUmtM;nMzC#ScG{Y1X6w!LC;x+wDIt>1 zxq{hNdq48B97CAzJWZ;nJuaRCx5xL#d*QYf_VkkY)2b4;;*ySsL_KfdX>%>M+?r^z zmTh~tXV(!`twT7zFVTinHavpxaW7XBkI=tO)tNbm?fV&K1~yNHlR0@p?F9&CJ~+4k z1yyX_f3JVo3rz9B+YH+|Fn_(hC)t5vb`0TH@24Uh`{^pF zg=oP18?W3hOD;;<#d^f(2!l?g;qgF>Z6`F*>5{@U&{Yy|L-lSj>TG`_!zLr)CM7)) zBX9ax-y^xto_|g4E6szEMn0;jA?n z4nw0~1NORwg3?Sa%|v9!o68?^3H4sA^zG{iE3ku)k33D29QAi}=LreRqNvQOH63*r zEtBSHRa+dkixI%!OoA=Rl0((_Asmcc1~U^1FuM9g?>~lz%ii8kK)DpJ*oQ6!6JjZGB~_z|Cc1Tx8BNGMcZ9cdtI6<;ViC3Q#|N535i1cg zA0VZ_-^_hHt4Q${KFpdX6?S`uRE##-HBf>u!G2j?4rzbvY?>vx*6|&-t!bl6UsPaN z7`Gr&Fl0E#qnqJrJw}W^mkzi9Z%fsb{tt4YsZWob(S0~ej&yH?;evXF1zjL!h|t`I zI-uSDbekW<)}#?iG%^tTu482bahW!u2sPvGt%PWZ_aqQpHu&-v=?BN1xz9I5>jVC} z2$NsncbF~HWYv3M$0|D8t zvP}Ccvol6yty2Fy{N$rYnvtoA$`w(hbvOGpYk*q4f7#pG-mgOfP!Je`Ob!hFSowOD zfBB7D+CDx8(=FnEf9$eRz6JRnz#w|5I0j?-!6Hj`&g%j9bn5`r94dX4iB(Yv*j543c z7Oln*6Q4hpZt-x394Hg%D{~niCyM~Snd##zyTVnxVv=S6g6cNO7hJd<=S171OfaL$ ziJnGQ2hZ)$PMg!T?H76Jr=2~^boX>LFnAZhonZBFkj+$H-_LJXyG>*}8qIy$V8ENW zKlmlj#jnAh!a8AU$OF6ofTA3)puQVz2RU_#<-+w2fGAjbm{00}@S0+*76KigkfXab2tb?rc zRkH|QR-_1i(1e@k)+0ZOVFcgWBW;aNdq@)wS=s^QYI&`#adlvL)C0`2o3N9Uk#4;} zNQldf5s(ZEjCH&{OVXYqfQzG;=IxpR+(f?>U-n7KK4wp^9u?AonwWCv1=<7MmP%2? z>O+5|aunjBW&M0ex4S+6nT9FC7JicsK~Erp`u*)mNy`L91G)WRa+Ze9txW?RcD0O0 zHex%m3#D}QNK#pA{j9juSjF_j#D|e_haY0MFPnz_6!Nt9oe!0*Hw^T^R;D`db#9jK zbnRlK2FqXEFK_uzo*r*K!d-5{XywG_Out2oUr4*si#NSd>c=KcMa?U?wi9(PXt0jw zuKGXqptx{i@rKV0{GZs}z6Lvi>xlGH^T980kXnS+NBAN5wO$N@_ zi|q4D{PZ0H$Ly1SdeK?6+7G`x!&o=;5A4Nw{FW%fkaU*F)h0zSE2GgK9bZPP+o1KN zBZcBVddcIUxdtf&3oE&HBE`knv*toLSBxAzjl%*gQ2)+AuhC=pw6z(VVGgt&m+d&t zD`%iLof6ftA%y>TjgG&U;av)eD6&2{6i6_Q>e16$K3{pQvaT+kb|gRfOLMI8_tcTk zY=({;Kcn{&M9Cyr;yH82;Y8jH5t=b?;GZVkx5pGWF{nsAi85`yH!~fy28-#PFi(Q9 zYc-eXu2r*^AGbBYP~-3_mNw{~_my)>LzGH#BTE3w?3=oRbPP+}eB>tdBb`N2{F;K= zUX&%8-;$%Bs#6(?{@Vm(1mzuJF6P8X<4!1gmt5V9O>z#sx5oxeIqg9|4pG?k;2my0 zZSd0bJ%P|*(Dg`-qQGD7-r8T;iUd;EQ(p^*2nz*W8IAI}bVaNRXp5H5cy9Z~TSKDX zr(<9sfWbVj70B|b>6DW1?qPvfXn?E4wQAIl;ID}ydj6Dj;!K{@Wr zyU7KX?*_Y;OfNTTBmq&juT3C=uOEdq(mSZ=nQsdnkCYzA#p<4XfXp6eHbDQKiLm5* zO$fCMqe$JA-#$uNbl7lxB|psBUiD4i%#WS#F8G07&w*%Re3lsANXF^SmEzhpDF}aa zSLE>Z;f?bE&WZiG7=)-skn!;1MzWY3?l$1nb9M75&^b=(R=UrR57+MPY>} zBnZLqLd{$88kn8!$UC0pZ;bvd&VbAAvAkrFyI@esKZ(`dWCy#L4o=E@M8!+4eAxYS z%>ckEW|M!eL)2Y%$<$`txt^-T`@{0euC3z-t(Hy_)Y%(e)+VkQ0!Td(p~h2x1M+;h z38(9TbckiIIzD=v2YFF&N;mOTDi2g)fe4=CKd?YO_a>a;ZzWq?gN3AW(*am2D@POF zM}s!b!>FVAMl-%<7=2-5lLVP}*?QVOPs`<#@Un?qO}mOmC+`uXXQY2%Gn%mG;nQ%6;LdeDAuM zeQB6PJP8J0m>f@DkDJK9-@l#Ve3fECLwq=qel*mzXpAl+qdhe137>FB2ErOn|M8;> zGDf{GX?}G^>!n7@GiR69lwJnK`bmA05F87p`x+GGzTDDs(+s#CXisgCf-@&WzsJ** zGXb5jX;Jvv0;y=*7Duj+f^VyjS^f`mS9^by5rlVwV%}w<6H`W+R9;u$KVEY|C%jDZ z9G^v5rz;?GX1!nG>JF!9^#ZPu$LNB4+$Luo)hC)gV*kRQ>l=N*`$y#lHB);V4dPSJ zzp@C0El*A>COe55qtb+9x4shawx`$vrNXGr(MfiaM) zf_sFCy#_zW)@hS^&Ac7Nx3Lzsc!9u&#HyKA453!7e_*pvKTYnt1Ls+^7-|#;X|Oe> zwZCSpapgO(D2er4&0@M5!=Sznee4kKS+0S^fPF1-uGinIv=9tipAv4r5?=F<83$0m zTiH5&|KE=Gg1h(PfMg>TX52cT8Hp+B=ETgjQDeEtBugw+X&OZDc)@2G4~!yu+OgP7 zfK-awr3jZ{Pcl+OMW zkRXoxPtF74q;UIse=C$7$la!fR1>FQaL3COrSJKYb~rloUL)VgscADN0eN$?u*6q1 za2}gYVp*I=Nq#X&DZ9$X5**1OkgK7Ax6cpxRaC|KrPKmam4Mj(M0!pcL$=W!UsnD& zgx7i&xraxu`>H_yhV@n0nx?q*aA%ZjhLk=T%|%3%xt8n7gfGBwx;giX5kHyNtcwxo zrrlp*PVo46wbl2M6&eSYLhGgHv2D=zVm)?75;fMI6g-YSX6+yjgIfsbD+Jv(Jq=^m zRRp53vIGOYs?mMCS!Wz)hNwwDjpRk!8sGGJr(#-V^AR~fjK zS1HZumUG4CmyPsZls?jeZRgA=3U~o9zkAS$xaRdB zDws_jwDUZX{osr~Ps;R^eZO%Y7ACmXe=)_*onGfDZh9_hQ@IGb-(=hn1WXh?)CMVbx(>9ARe|* zi=y6kjSa)`N%lkRV18-vSGV9~eE99iDE}(g45Ke7)rfG^e3&T(fNFE%|0TwCNn_z* zOUE1jI9M8G)N7pC$$FRJqsy9<_-Z9~W zfY~ueB1y>o&Rv!f%o>Top@$;OZKuvk-COZ$fen6jUw7(~w8{s8PZ#o<4KUw3g+#URaprU@rqom2YOytCIS|-0UxomeT@4loewM29c9v4X8qOm z%mXEUA2yu?^J_?;qdTD^MKCZzAOiQ(9`UfNjSye`Ng1TwL4qH6$Y2ijx3ihpED9~A z*v%Wi5};;%Cf)y1u4T$uAx${Bk!cmNu?)k;r{W#f6C$D*z7%({Fac%Kekhfso&cb2 zQ;FYtz&M>DDxSZk_K*vwAWTaKCDNJ1OK_Cl)f7r70NtC|?TF~d`O!8%=`&mf6ELnL z9OC)n=8gwh4Ad4fB8jnXe~KRHeH+mS79?Yur&UV+J^wg+MHgzezXbF=go_d4N)RO{ zmHZ?1EY7b|NkeK4x;_5SuVjAo>bR*1;z0H@eH7(;Q{IyUw1Qp7{vmHSVmge;ixv0% zHJa`QBQ2-vXGw&G?P}we!y-gSHw@y9S3Utv)rMO_tg4Qq&CFM^4)0}L0~6KZ1O318 z_A-?x0Y@L4IMxpVwi%ZO*sl)P-#kW={9&Ea;;$x2nQ89v#!JYNILHjT_bCN>7i1BS z^vbLLg$|k*T!YVW2eW=S01~=zM>QR%V87Yo-|eZMrCT?Fr=|+DFeedtFS*GL^u9U6 zAQ37pLd&d|V2jOF#XYNcJhAHTzgNN{;+_SyEZ}dW#d5nniKz;rX3az9zOlak%|KFj4{<~rXHK2E=wGw^r)aTsk7K#GVahmwui^jD zffdIoSe!=SX>z3|9M|?-53d@I-K>t`w;Nt==ka#KSlr%OnB~|}%Cu4oum1h--cjkf z94<&GFbejY=`GA05>&jhg1||s~7noakcbz$R}>Y zcv|z#0&2!%m5}w15$~84lg)TfYxT3%zrGwz*{#Q0+t8N2(7{Y!^r}jgV_xnnih@RN z%x1FK+++)nB$OgAf@rTU1-$y8tA2b#TkLE1D^Ji)PsXw1-ea4HOy97y2cciH^8ONs zVVKFaO@!&MDV9TcQ0w>YVJkD;AQIBk?^&?RqotRxSF@GqU`MWNG`wF;aKFX2|3uta zZ}~8i3dy~n1F-=%`{ZHHc`hfb)V~I;7p(zJ0{C3IxI2wmE^p?!s`5h<#ms(7AD+f- zh~qezjB4N2Du+!@S~A_&5nM0-r08_a9wIx%xCE-b@vay?dG}uGzGIhvwds@tP~fZ; zV9(d%iMSpliHFV_6#B93L7uoW4n~TFZJDZ+p4rGPQc*+cuO*Of9P{U=yXPID5QydR zLHjjN^?lv?YAR`ktibIKeuUc>QzS^8pTq0EOif_~uqb2y*c2WT=h&Y(JA}o86VY*e6RO1BuOq}?-wA_PQ@*QnSkX%v!%q}n{ z#rDbyY&I9Si+7`Gl}sd&Cz#{Ov>QIdkf4!rd-KVmnQAF0mrP+#OPtGcv1o|9IvE~P zEmD!2L?VrmnVn@Ou-K?CejR=ob(Iq-aRhLNpX)2|M8B;e>y!FZj`@m!){Iq1d_|jG zsU6~E%uYv-_VnxjIx~l|K0Xg6r-SUM0!(ruREY{!l)+Iz^E(vYmTnlWusC`I``ku; z(_cbbZSon=%-6;X)Ts`XUzh2D&+O@c;P^3G+<>Do@h%Lasw#7tk&7n+Mlg$#6oHj2 zkl-Rn2SyTM3s7cUdoamC%=MPH>F;NjaQ3$BpuaKbjXE_f;TL+7xWh3=GphGzXhEA$6%~q z|69R5sRyL`%xs((oU`GdF0y>tKh;HIhi!lHQ7ELTI7%jVGNh7nAIr z!!}4v&<$@TXW<(T`tuO_ZZ%kjDomMwgP1#-aa_{GY>pUifHd@*0`&Kc{YnD9mtG57 z1gOAtXTclPZlo;xxsXHFgTP?i6~l9e7^J0emAD$yr~CWtGcE}KjuN6Hs;CC-reB#9vmuVxKB zu5)mrNfgYpc9u!u(yf|6Qn90gsxG_ZiO(*_V7Pg>ya=+GN%spMJ zdPdH;aq@2v>rl?UDom|ox`;NWO<@xe61O_9HM*@1e-^-TWA_3{O0cpQ#zQjf5qlp9 z3cVn1J-WC`mcrS*RKSiCGWI&~{0U8OjBL7*nO1iz+qfI>jSn=U)QTflY_;Oj-gf^*Q4z5D%0rmu~EPim>H;uKmbhv!Pjw5mfD7j&EX!3BA_u^v6V& z;43Nl)cws99x5Ro2oP>%bWMuEVv~|pTU$p*ocQTF!VkMytjh(TcCyBVmfOW9IM{bc zJySCmjie|#j?f;`NT;m0p@93erkoT8VW@FyL{IzCm)BXA zpFYh>;9SRG%W35x*2lat#b)q10e7Sa-kc$Wb(?s;c0ABneVCZZS=!W<6^*bGPlFo# z!TDL`dDy+7Xy)zh71`C|FbT;nIEkrW^gXE~Zrm4H_6&u~dWxRREPl-R0N2jUm9GCCA^sSTpeAJWbP1;UmTF;YSc5|Lm=h}6QX!`dqmd@>ws zb{HTXa6XG!LAe6)ndQE@OsQW7vRVB1;bavop^F2>Yh`w)hh+#WQbjOizhDTo$y985 z07;B5m^68j)L%EoxW3nUl))sOb2=4vl-G;FKRECf&W`=KwQ1#{&gLy=VBXG@3T}IS zp?bmqlGZ_*&CE9JeHKO%nTDMj-_U#^Ju?NIQo=|E)Uly)X}tpPxsG<+Q-=2zHT^Ov z35q*UaW6e^1|4YoC4^2C)LyeMrfkP^608i=a5d0CM2%Y;CzfL8@4BhjNP2B1D`kgG zk=bWu*E(GG>Y6{r{AY2RP+ti?#lr{Zom$2uiYx}0G#SsQALU=??fPqH70MZqmE*#xT^fv*kscGt z%{&8!qw^LL-Gb&}uLg&1vYfsPO}P^K$AOuk+M6hjcWfK8{vMPXo%R6wh^JM#t%;gj zV;DLlGMV+wrf>M$8k?gmiVb^C_~GM_!-j`*GYM75o1HJkqM)UPZC#JS6zG6`EhEpX zg+8%P-pakzNF#Cz-)C?eD^7`1*FA$}Se4TueL>+6@nH?G&NNj)S*-@8&fr~pB>LPd z7qNAuhm>JL0W(N&yew5g0DN_&KQRHcS$_w;T7nVnIpmZ^#b-p>`z||6gQ-Mv1rd`1oRidNnx@B$Oobz3uT`6n-`uY1`)RCv7 zzr@APOD6>LWYU=U1~>d6%%>ydh_g-6$NEz=ykKV#D~@*0TXL$pjps#DM3KFLSt zF;yHaLx}G?0KAXV>MU!7G==nw5C&Fy(rqoMDR5$QP-co0h8o8$1BH{t^w81xMa`}8 zPGt>mcM+fF=!s?ZJ+w28wcB~*&R~&&r1>*k?n;`KL+fJXk3aGeKzk}E*E&J0w`G2Dk|w?HNDUq7j6uuplz_g&>8lVKIV93~eCs`({B;1jAXL7kV6F|WoG z-?yWxH{>=2Q~$(mLTo{Ho0~bAI+b5Ui_+1Pa1X+*0U-=1naFlaWF&;!x~MqM?l(PU zMwiEUl%y~(3ZF|K;;5R}EwEs#TD2oVQ3dTI1B`%_O>w;nN9ZDpG?OjN7YYk<2WNiX zv4dg)EP)dQ0(f>i3$41iWrH=E`-F*sVw09V=IvzS_D7Uhdn3_-buZi~vsk18JFLBJ zee8eGw5H9mWFqR!0#jEjKSZmA=BJEvVX0oyJWZ636ZwJN?W_CPwmI??CF=wL7znX; z@6diG07wg2wh^QH;D0^L0~$dJHLVV&98+1hv!81QHmRaf6wV}sMq0xrAssFLaYlp3 zwCThaiaSc02s})}KpxYd3)0xtt$*oUO0`*|e~Y&L?`%oLcStVIWe|ok)6T>K&RQ6U3=l zV~eiJ>~KAwvsoB{-Bd1Er#f%;MT`5v;XakJ?s$Dw3Jj}~BnWuS2?Kes{}OF^o8NC4 zuuYq*vj2$5z|Sz2BtRbsLkz>z9QFky3K#yv6$R=>_}(CY^V+gUz%AC()QD2;nT|x$ z@TJK$o3Cgu8B$?s2^*^IUAG6Xn;KEb4J=V$zt^p1qHc+fM)p1|=LS?5|8#W$(1X?O zWt_8N{me<&#m9`)&uuf}OUa_i1k8fms!`o|T&&`nF&+0zBOf>OL1o#TFl~}Q)}%EY z_CU2Np9mOkbK^cTN%4LUWl{;X9U~{nHdn0U2Y3X&n#XY#lOsHJ1b!~&^!}}`sT}UU z5?H2^mPf{m8VY4@WOH zbY*fNFGg%(bY(KZbhWnyn1L(-@+?X$0A;Wz#Apkk1A_qO zKpQg$D*)IEpb69kXlY2PYXD@_RkTz!=vg3zHQb$?z%KvRBB7zFCBp=e6jRoe0sys{ z05Vz{n!kT)0znY{)=U6pO^E+D4Fv%}Icj)zj0H#oFD~jRovt&En+nmp)A!TUUT5*u@?Id36Cg z0RL)?JIE5!PB$CizY6@`6o8_w1rX#4{GB8X{+H7c(n?4Y#P0TAVUR|+{jTZouW*1X z5cm%o8#C9xauroo6#gRj4t=l|}Q8OYt$=Wo6F=dvxpAXi&gH`jkv1OlvV9e}^pyZ+uY zThL!NB{5|=X(3Jl=?ml>kuKdyg|0Nq~)l^$|REx{lM zZ-6Dx3W-%2>;@SKy8nO9+5d1!yE`~2n>hmM{)`#5$p4AZ0shuXrwn#+ zG;{bLpRKF3tryTz)z;0z=C3aP%Pi++1{r-ZkhKF4vL}C;w0@r^2guk$E;4}fWFjr>K|ohm0Az}OyMT}`{EuEp>wl{Suqx||iz%rv{-2TgD@+Px0k*USSpzt@ zc>rcEE@s|HY>+wN;N}MSvO`AN66p2Upa57|KwvjW3c$(T%^zR|c0u~RnLOM8R2%qX7!~tMc|AQcW8h;RkPxB9gtXAs}g0O4<7x6>b&Hf+= zyZL_+I|rnwxr>)e^8Y5Y|I2I-bo)m;RdZ|5&)Vep?(J|L9|fj1;Toe<3GiDVAV|-&64?0-^%=rzj)>_zzN^-+pIzGl##W zKssslCj}zc%GTp=HGaFn?tkZigjoNn2=QD0zF!0X9s<#B^JgWHj@fuS*#JR*i-6c{ z{{|sS?fwQK`(pn$2x-nA#XOKMIQ%|FfBcYEI{ty|kbpl_+>lxz$npD|AJPQyA9avq z@ITy;6*>KJLy9?>L2gd}*i|m}e_Q{#r<@QjC!ot;x6A*A^89791zY}&0@6a~KMVSe z+<~rtT{!;4KzjJMma;<{_Gii55YetcN85jn4EOICpvT|(%nd2xYU}k!3`C%-gPE(% z-wH$Y{ZY#eS(uxR3-E6P0BL}mC-`p(kQ(lP#u&o+*TaOX1=!{9U4-nJ$KN1Cu;zZw05fcnoZ_ix$a;$SadW-iEyWafkn4=-ddASaFA{~xIq z|9XV^>y`<*vi}GFetrM|fnGohq@{0Q3&Bvk^v3W{0a8U%<#5#eEGLz?!n*Q_uuEA} z?L_#J`P&pgk>cRyplq6Au%fJhQ9x=is8p9a6vyFty(Q)IpqTS;sxVp8iiqb>uLdN@pcEW9&SmnW1}ei<;?)`xGWahebE>DeQO$NJhRf z+vV^E^1gHRgCB7Wa18D^WV3 zHTT^7Y>{5k_J%F>Kwe)Q>$(>T><};T62kmLy>*9VWP2$ zbn&o~m@Dq+<%Y>^2d=e2zi`W)nqalm=mcG_@An&OJUkJk297;x4B;o(Tz|ZF&K2*@ zISng?f~ehtkY5}~{+2zWUkEecJaaC7?E5W9hPXS_rxwc=IWaZ)_a@`)vd7y}VtUHI z@VN7jn^{>i1(zP2qm!st*x;|be&%V}YsjLaFV9|+a}MK|6c=oUt@vS|(6TGA|Acb| zQii)icac-u^9gu&6;m$SE>)8-yisX!;?up`r!74=l@4tJHbbLl;LBFi4YO_=h#8VEcA^?UQ>VD1l=7A{#ty&o|Hl7 z^5QCEjH#L=KV8_z$1aa6Dlvy|=4J{$8xdYrZr?>l%ww!>88!wbF6zNk9GcU6O1P!c z=5gCILiv4cPpHtz*7bn*`;@LBiTHe1&O6e zSoe7$f4sI8MsW~LiaUIvl3nsJ)j3S$zL@kS`r0XP0~f#^mgKB$e_Glp(}(w~`^3Yy zA_0Ft?Jzd3|5CY+~}s?h50o0Bkuk-=9_dTf4Ktrv}kGm21~U}5I-75|l> zjOw$MjKngR&J9w5YD2N(9c|I9MG|;}ct)mpzx@nBfw?zdMom==kfCaRWI5bS$?mI_ zMuo6w^)r1fe0!iVRHJTF*|4adggGt~FRw;$O^vVGa>)Ro`iBC>mkCHylnnk>W0|ein>Ebc3?K*B$LBx8Z8<0ea!b z5+CfQpZa(aty^NG&P$XjS3^1nF|7qM?KG!LlM}-<=SDvWRJ-Pt) z{r#47FPqp`B4GtgovvF2&}V+Uh421H)Y63-356md5zCFTswEV&f`~~uPz|w6S0_-F z1*kuZ?KL`y3B6Y;bLz9~do?Q4B%|;Kn!07pTqJU^7&*SvPosXaM;T(V2&HFWA)Yd0 z%TK(kZhC{l#MFy+jDTi&(oz}}96Mrs){SfE%vyrr{9$Vgaj)|igJ{Nq69D54?k~p%Gdu zVbMEz%5sd(=G~Q8+N0;86w!p&WpsRyx05IZg9#$^X(J>0Itva={6%)S3f*KoqTwpc z_(bmvKg+7WrrM{}cq4`(z>GM%S~fV)1Y76Ig#aNT)UEx{@tirCKD7~1`m=EA}XgXwusNJyRG7p;W$MS2^n)=)z@od5haSUWlM{$ zGBZUmg=OD}9fycj5GcM*({yypNl&olKPa#mm?Q=+D?2bBg3%}R4HisiE6NuAHT2^` zABpjNPS=-^5jU~i;0u4eAutb$Gf>ZxhpKlD&Q46T6}35gXUfxmBx?DBv!}2Hmpwm2 z)#$=$=u%Huv*|)~Q>)0zks2J}S}01BcbC;*9o=Y}LMcXX`-|jcp4333Qo!Asc-+`x zC{Uu29oI&GwOi0L4V`U2n||Y?tvJo|80%CvBI*~8>0Gk@O@ zCWoc;m7mh|4dHX#);iE+ z_S(xw+@32nr2J2%Il<j?Z;ShD2K>Vef&C|j-Uk7{D1b0i^# z7aDilI=lFaAG~H9r8*CMMJM*R5+&1V`HZ?SZ#onhHF8la(I|>GYT7%#CM|?dxenM@ z&220w1orJA*Tyrhs$&KbFTN^!Z6^>S<0*JAv?Wmivy3HbGRuE(ZrFk-$3CjNU|z0E z1bu5%A}f(rpSt~w*0RR>d^cF{I+np9`59pQ3T;W2OD4(t40D`R;|c~R0X?|o{Ut?I z+1Ku4HWSh}J*W@nx@9MFb-9ICdJ2y97BgK0>Q!eIS+hA|0j+q?g}C*1Y^l%1nX4Q@ znq3Iv#05ARE{8?*bIzY8Di7@B~llrJ-E+4c994i`1kuKL8Me1n4xvecvpH4RZr!I8wRHw$#aa2y9AlFnCBE2*CGVhb&U^K!K1;2Hze0yD&X>OV@uI0c* zEE7dz&53i_)_YRnRK@P%p!}WFuUA{}p{Zc#Lno`?jR<^r(Ptb);_N6hGF-3y2UY}` z2W@qA{xJBX#Vxtd26Q^{S}Oi4Gz;FLpSrrNk`=NT4%x5`f#)zv#YM#*ELIUMQt>z@ z>Fwb(U;R|^c_`F2rBajAS)o{eTZ(8LX00Eb|GmkGm}ASEZsT4?ro!wvyt?1O=~(=3 zJioO$YrHScO;QiQQz-7Gdi<>?;6l^*Oe&!2S5A_ouzeY^kvMNTmQ;;X)p?TdYp=Fz zYtu{2^**Y4A_4)9^Ca&txk>j*@}}VXUzCBLd*SuITqN%is64H4QWVxayyUM{JF87I zq2qACT;@tgu;3VU`55w^CCGDdN zKQ^H2gcgnA*xddX7kBFqesVZeMNww;fOqjI!2P;BQZ!d){7(%w-cgB+O0^G1(|_p&pjP^dOioA*5xRzwo~ePi9Ovvrd&0LBz3s zQMv}QY|zGZB%_vVxZ{>qrN7T+Q7svIaD-VJU5GumekHki-uOz@p)LBh|1v+~s+0T^ zimd>WIEb3>GvI=|K{zQCc_zb&YQc+mB}^itHKV#}M9mgTt8n zcH}y8E^+L-pRYzn3fN18whd8ZSQLjpAzd_@D!o+l?&IvI2tl_&R9`d)^~HY!8x$kj zkP9+)b1>Q1y`{LIV_QnqkdF)5ZKgQ)#W1W^FJp;O>`32BrrvN3YLP)WDKt#zbgqdb zk>|fgZYD8Ih5gv`ajRgRSzuV@5Qwn&z7L6^nA7;CWvJAAq#08*x@M9zKMwiJ4j*XX zt6Qx82vc!18OZVrS=3XF6bepd{@dFHi$;a;8<2B>0MVFNqG!x02h4V;N&Wk}9*xX} zWX8lB^W==OSNolf^Q;6quR@^DV5wrUV_ADafqtw!alMaqY{Dizsrg5)o#cx&%BEw~ z>XS5Qu`#vXTVSCIA}8a@{FyjAG%7!YU#fBMW=1#sJNyT&I@pCasPJ5q>*f+q@-qW?Bu|Fr>_%cs88sNlKOrWxd*=+FX|+m zijLOPeXWG#1Nb*An(*J~yLmadg^M?()4jG(Ic_0ykDiW~vlkDe1v-Izox zIj5Q8e0{0xc~`z3~Kn~(#z5skc*UyN0b5Ld}$8X;YZVOdR%mposIpw0nLd2eIzLg_1w34#it-I(T_ zu$G$IHm?{8ub*{_hv6oG1ZE3eNz`At6^>Ga2J+Bsd6_Q1%%F?|^ry!&83=0}7A=Q| zw_DjZ86!`;U^p?*vWZ3`vR*qS@^`dZqryL#bjlHMp^p!w?2vcOd_BpQ-8v-~U4?ow z0pn3u;m#?%|E?&E$*kNq&g5zv(4f9~)K}~hAnH75YQw1X&8g(r0U?~3Euk_xc=1*C zz0DarISlJNQFI(?lBw{IGoOeV=+UA|ZFaSnxp>Hv@dc7f2@;t>8uh9cKE(F!p~#r~ z^GRCvd_OhI6kdLImOrYX=1(s>U-!vv-|qRGHCBp@VTa`TS!X73%|hQ{YaaK4VL!2; zrTD<+h4lyVA&Vg-1e>CMY~-zV;LEm-4^nwp?V{U+&FhMa9xt10{5D$MWaX}i8pU;A z;Tpwu>|SPZ6GDcIadQHs}ruQg^w_3j!HLV7fETJjo zo>3y>frZ3j>oTLVwd2eBkC&^pc9Oe}Ansg;vpO@Z4UUD!ZzKn6&E0kQL4#q2DZjdz zdh3YcJKt4(jH`A@6tJP4lA)W+%aUSm_JJ|QRGC&)G+i@C(%)bI#JVI=JGCu%_OpsN z(uU&R^3*9|x$CHIJ7O@}6k5pV7I^|gz|IX-W(B5k6iV)q?>@e?=pxzdBy& zQKm(SuM#ZZzPo#4no8xC$iEPB%NkRCrDBm@s_v4&pkdg<6RJO-nSJ_v5VR>O{&v+^ zP}bvDbS^>wB|zH0V-6AOv|J03Y>1V6ewtvtkWpx@7$1e&*=AG6P*Y!7BHq=lOl$6` ztQl6AbY#;FX}VS_XLO}i0O1(YTcq>G{7jSl`!3`ZiA!Zy)a1uP{au19+axL1dD&tQ zk%2>8=&wj*S}^6-#IhT{qQ;36*$aoC#6;G2a+mu|w2LeiX{|*>H(3jRimILZ+cqdV zRa#BHz3>;hk9m8%q4S|_s=4wb8puaF{$(xyN~N9_aZJ?%>UzpUj}m^do$a0AH1P#N ztXd~xBSsP1Hz$SBE#(q=D@_Z@5IK_mOg>glp4giP1yM;DnZ%}rb40uOVxa`~&H3*a z!@RNUq|&(}pT{cJHy3lIJri{4gcC_Gg2VBcim7TV@uCf%yPd?~rrJijk4Xy{wpTOd zX-Gkr7k=KkgM#muRIZPFt|z?qYJUEx+2Ss&`&9-DkM=ZzjiIKhllgWiqzjQB%uh7Pu=z+wUtz6!DC6C;6s0k5mqfMkbKZrU5VsHF zgVLH_7GM2Ns?)%VO+i32#;bH}+A=>rf?AyZ`wk6QByHLv0?8g!^l;$H=ack6keBp= z2vUw$Q&~{7)+mPn+(~`$n&@VJAvlR?(>;HDszhvPC}SA2gj#sA7v(gkUA(JL##4U@#^Bvx8)WNlPAZTzUd z{MLnP|3)w52|FQkC*$2K8eQ)7by27Vm)R4aVJYB5T``0cpX~&mxn`3PTu(cDQ`xaRm za@CQN6&tFu43}O;@SlLtY33F5u>$LwRd~*I-a=`rV7~K%3W*{L#sghMJHug1hlc zZVHF_&;1{Dly!!<=Y^=W*IqX~n|uX4chvU&WBCiJ0tl+mPU2OJipJ;nei%vV_A==e zJb-5_T|{)oGAtqu4vzhc-8X^N>xQvfEW6RbtW{!Vf*TJVo6o#wN;lvO6!3XPd6M&R zcqEv9lE1+KlOr~FE$lJ;99(Xkfhik2F5}A&~WBLMYk?2 z#pnMuvZ_F3W+iFifMi;x;Z36?+K&Us~G(^+y>JUXA= zJzU{AnKL2IRKM0ne6ox4q{b~!G=6hoYVb2X^yu1z)Vf_XJuf?alLCObT1so?z&er%HtEOY2|FUa_1ucFrgsY5x3Z|Mf6U&svow1zgJkNEWHX z8)_hN!HAH$n!a=K4TL6|5NTw(T-17@zTPZ$B32b!eU%sm4HJa+X>u0S;I~_F=+d2W zct*0Cu^m*{*Svw*b2!9kkBD?Kic;fMn?&ZgoryKmcu}R|*lbLd)$hU2vbA0FMq?vA zvOy~`oiZ^gi$v-UhsUHEzcRk+II~`f*F*6uU9pub@!r5y79NWqe@-yBOf8B{-Utbdn_+IPA(hM0nd!p_MSw((@#`QzQU zwC)GmW?NVpAByhuzN}g$g45pFfKTH5n#{ALTT-%ps>_Hdw+$Oyly4ERN>_fCzSwhi z2*ZoGDE3s*2{M~`TidqFSmfuQFhqNN_t}}kt#XqJ3&eWL&>bev+iq_D;`PyPGK87T zpHwa1k@J%+Qfb;*c+ibU7k*2Emcf1*TwmDUGzqSXS;!YGBx`ek8KJ34K&EIW*Cf1( zKBiFfP$_H0hi}YtP!tUnxqAY2q8XKXY?=lZ<++KGou9!xyxEA3b2og6OYzEu%E~W$ zmR;ev5bgF2 zw0Gon1)w8)A{4$4$q2kFA%4BoAKSWuiMgd}N@F1RBH`XkkYU^GHO->*Y3qXvfB3>j zz?8^i`x11qA*urgEAf1ZQ!H>ysR1F*G<`jlRD!@1_c;t}Shyy#k;Ps&c$yG%;Y!-F z8yU2~tKW5rX=8tgT7O8cJ{D4(x^ibs>!F6At_^$@ye&A4+s(%Id2Y!{T;+2kxKTB+ z7klHxjAK20Ic=a{Xi%h84v3J-*K_|m06Yl9viIqFj_bk*@v9)_B(NGrh`2Pa5J(wo ziM@6e@^3OKKIT7pW*;si@13*Lp!fNSnW@Ld$t%~x#c&0cA&*h*2le8i*1&@5fB3`J zCp6^{bu;-Q@^aTi^1Jes<2h6j_w^i%TBLK=`op45T5NN=_Es0SQ8^=MoOi8~d;lgu zz~|01kU(Wca!>A11-7{)KYE?t^!P(UrRDuFla!I>#DQ)@_9x;s1CH8NV?UPZvQu~4 zxaDVZy-O9~_g^Wi?ZhSI2lHnH6RKGbygg4UovcpJ+O-0oP`#?7m~0xU;u?_Znt*XP z5hG>pOGiR3*7Di}{7=+7?>AE#qPK9(UuGAXR%7ksZH3B0B0lw&uzDy=>Oy_3W|%7U zFy2316s<==7t(SW!1^wJ#rQa@Mkc>rdzdigH%mGCUcEUq->tu25*_CdzF&-?g2P^C zdXVK2oc}3^F@|FKpq)o`k0N~k_H~?iA0wN1W6y4Ht}(RshE4+XO8{+leJOeOqnPaRfX1K_ zR43#txJExFY2)}jT4==+nf{a!rn+IK7nLOG(EU+EK%Z@DMKK=?4OJ8gSJ3p@v^)0g z;eu=v)t%lDo|YiU9MKO+G+eD#7%GHhF;C>9Dwrk`@$_lc(nm<_Nr=ba)bGdh{=BqU z)1L0d;Q-_rIPx=!*!$ynHtg?#lggp|Xk}0*$W~xG!5T8xv?G0!;hif)L3-+?yw5b6 zpFGaN4AZFU8gpjdUQ{|U`3PCd<;nh5)V*M5S1-;=MM3+mrcR3)Z&E0+19F*1q40LHSbd4^xYKiyv#OZla-n zNT5~IgL+#}IlH_eKF3a_g5;iO`wjIL%6GAC^y}tyudjyqH%1%8Xg`XMP~rFRv(I(_ zQw4(1lX^fb^ML*@Roq7=1@`{?>8l;G>4e>wUzo5ojWptulvmIJ7;s2aC{OJ^Uk#o)9-dmgLd+(NnV8%oobSM+`riTlp?jk%IcR*6i4Pz6-1YUjya`VCVbfM*bkj^2@!86PAkH zCsUoS7tMoTra!DtPz}WAZM=);9vqBt&q=mn#BpA=>bvq7V>^a!b*?|^9lP=!6n*l4 z56;vt2lv2Y6}f)eT$=#Bse=l&=A|BzHJyl+n(Gwm3wOW6Q*MO4Wq3Q$WI^R%pjwZs zI?B3B>Gpx>lTygjcT)+PGsI8c0hzU|94GK$AfeKIgVQS*c##pbny+cerx|R>SAt3 zS1~jz`!cElW*mHd#{>Sr^XO61QTgq*)H&O#Tv+k8042P4U$D0QM@{w@NzRTXqB7J_ z3_bd`*K+{M7DeON1+2;6fl%p#KlN+$ywqzW7Feo*k{7(6d8QLS(ntW3Qh_ zqxPga`DP-;HBaix0I4# zboklQpcH<{g%)k5IR;f8J^2ng=u+q^d|n&>*}kn6Tc@n0B1>!i|M7`18umi%kdY=F zU+9lWU58P)mw_nKqdd6tSA;sAB%~>Yws`z}t5mG7F(n!IEKQE12}7TD7>>^cM&9>6 z&`&#oVco^RL1I{6GNKQNV(V;qltXami`Vo#qzmzZ#*09|lON~NYqhy@iY})zBSr}g=xsa zk9_8_h7=1yj=tV-MT;Suk;k;RlzjUzk{M$qjuA5`WXS49HFn)2gaz1PuMCGfSgNI6 zKiHUjZmhSfDtLF0E7)w`J$cFDfV~rl{sb$N#IsLG_MR5`DF|HIw#;6ZHqW7I&)~WAm16s^T*Ch=|ZY0 z*8)-=zI!7$P~mtZUUa{i85q}AV;X^d^e}~v4aX3;FR?(UWiJ^#bnA=X)^pat0kwj- zxL4~cGOqe0jTZ#l^MXbLU*$wm#3OYlPoS4g1P3W62mB6kK zm!<^Ur_ay$&i&r{ua%o7ni_yl$w396wjo?aGuQrYZjVdNQfu^LYn9B?2dDw`NEP;; z%OPCbt6sBB`%mMD-}9Z1wwhBErCz1gZ4PQH-+$bmt$d2L?(JUBg*Fquvv1KF7)OLq_j-O2c5a+l=9dfI%J5Gsh z1>cmYV6hkM4qz>7!+sPuNfTRcWI5;clgQLYx!gnr< z(sdSFJCu%(|YW`HcWFmWdOK_*oqyN zFTv&;t{B)d+yu5zPUA~<^6Zj_2!U>kM0w90cB!dUW82&}8rfK(z7O~~$_8%{wp@&v z&A{hNk(zdk9AiZ9p_dfD6SDEb63P!zAYSIhS2lkWn@7hrSm~rH_;`7JI%V$#;sR>n zWF2-C>eY=_EQ_BwrIDa&=vJnbK>4b8&=?FyXe52%R+x=j#q6Uj&slHaS^Er^u)3+| zpy)HBgItDHB|>Vpp>veXsSO{=O(gW0hED)YN5)zD1LcCvReZ7e;qd2uesqv`gw`Y0 z2nCrdn&Nin*ThTyzR0cx^v`(asmrR=b+W2crsiMjR(d0Q=8BnH<9I)UawE_q#(OMo z^~}6(J|xl7_7=Z>5_q3C;%;xslhZI^N|*x(u_V-vvaKGWR{IiY=8vWJ9@FJ(Lh3Mf zqlarzoDzoMFjaKl>q{@$FyVr8=gL}7n4iGJOgVguL3amlZ{*4$tRHe?;x7A!(M84i z#_t_?1|Ah1YJ#&d^a%A^2B&TBXvG}RhIg@tC30gq@0xgCy+}rYGC+d2SOUqC&mZiO z2eVY-RsqsCEW*C5CEHGJ6}_JZk+5jR(*uhSAJMqB#-a7ZGje>oK@fd zC2uKqDWH|Uz!b9EkrlQLCCyzBFsdX~r}bgHQT+ujsB`Wh+4Ry!O*l{P<`|gU%fgX+ z1JnDRR}i(?Bw)66eunS92CC?zlg(u8{Mx{$(1XS(?L^m39U|SRV$1vjK~qkp_|EBF zxP;Nk4^AcCw5RRPmu;6vjb*8q zZwjP@Y2S2wdGhKoxYtdzqJ6p_e-#_r?&^Dpx+d0HDBfPa{rZ&7nK8C@dg>g&$Vm*2lrL>qw>G){dJgNGb{1$O({*y=irK<1y; zh+n7uiG+cQYA``V(<9vNAYs#@3%h;n0}sb9G-iyCdhcdLrWH9BE5%Lew^9J?>M= ze#TU(DqN{bIrh@f_h(d4_iNbt*rAsAeIJJs+h4zwwfuYiY9A+^X+`4)XBhtAt@oz zFqa^0#nn$4>XNL*i(PCEaA#aPHxpMwCTHB_yCJy<0$lXlOId$M#=Y`g#>cY{!Sjjh-x1jdD#?JEIJ<@%z-TFkTK8SI@X9?Qm^PgFn3m$f;Lt&nphINyDhKFe_l4q@)eAmN9-Gm1YEPZJ*j zI|}KNS>W9$eZD9lrMf1j1y8e6H;VP zKdc|p=dap)_csq!iySs+x+RfaVo+#!lf@`}{MuoDB^}XO_3PG}@e5Kz=c5u2x^M({C1K6{<@<%XBfV%(%Qk!|0$V z?h!{qkLo`*L>>_nv%JuPiO^6;QF3!CpgJu`Nk-F=!@cKe2pi9c(^e+l$opo5AeUFI z{gjE~Ux&vMkk#)be)G;I?zo!)1dZyB)_$6&VdqlR$G?o-m6NZI{8h~YasE<%4lm_k$fURJ^&O=b<|nxThqK5=O(dnIDl1sP75L^TM?gf<|$XdI?6?a13oWud?_bll)L!q z%CE)~c?E{fZe`R3u2AlTAiO%Wx%A6Z-eXmOE*Ua@;XvmK!sVj)c0X2zTGcb_V-D4Z zmu_zCav3?kET?-v62*iep;O=Mcf?E1i;RE&{ze<^$wiZRf^YFUMveTeV{HwTfC;Ne zm&Ko5Ka2EGLCstnP`1V{{@y`Sx@ntC*WbtA(v`V}kjsDcY?5%$Qu2%fibd-dwY$9T ztbv(e<0NZnmu6S^=+jHqkge#A@{9aqjj6}bulB7XGE*dSG`@gB6FTQIEbLVJuCHNE{P1JP_dxI2Mu(i$yiDHPfqB%EEL$nsq zCcc$MCLf<(Gj|Jikd&O;rRG`L*u(z%(t^OY1XttoGoF-+`E70ry=pFx;&;4-un1enPw5JK6H63#yi>_e-`9KoTcy66CP{CC$@!!&cZ1_z7Ucuy*KurR;tB1X%no* zl0aC~;P-_l@CDP5Gjhp-{o0~aL1BZ|9?_xE zRlLzLzI~27S=S}r;pCL!b-K>>Mrb2;rTmT7rc$=O&?DBf$rs1k&YtfvTDRy5yU(5} zc0stXQEjnNp}^%q+!mQmVUa9GTy9NN^p8J&j)cAAxu&IzAFuYum<6S}us_4>yk^Ca zYz=J0I)8Jy4BZjgxavHtG|&pCb+E2Z7ZhIQ5Nj`JB;PPuX$ccZc!V?1tGslH2UkQ5 z)9FH;f#)O@z)1XI`p3Gq`VO9pHi^FE`)qa85`(98YOa?rLT6twJMc4wQq>uV)`xVp zuT;h0>ejL}2Jpfg$USuPf4TyUXnD|@)Qm;YYyjr++u_1 zy>#nkyeWp@+9~NmBaK`-VQ$fg@W$ftI;L>tmmuM5`n}>I-o4^3&1Xk3$|a(G<2DsA zL;u|KAmN;D#semPh3mv!T*Nw>F^mi2T)ERu<>H`U7P7Vlulxs_9TX&wLA+mQZUa~w zar})Le4na)%`H>#X_?PG6=;#}ZQ!P_O1@&KR6dZaQ7|#H(DoRs`yDz;$ImB{Na3VD{DOhltFda)t6`2=B^e z@~hIsT+zpa)h?1Urpbtb>Dmk-lNFYy0_#9-f&O`3chK5Kmu$EmodEr`AeuPlDYDxj&rOUNdmZ2EG#vJrF)Ffx6u9}&#EzYf^zL0`$1T^xN&i%4!Z6r~k`LQsZX*4R z=uQH}o4q~ZdXB{sFR|x@yA~U#TexR5EgqZ{Y8|6Mu<)J5qKcX2mh|aq?OIe*>#{zl zWOybHJkP~k|6^|{xHG*{4Lr+9I-w}|V-e2WsTmDlB7)Ch%oRA8Wh0o%&`PcwxxDi= z`GOt(U~bl{fyUIgC+1roYn|u5UTV};cd#pSUwvSthyohGmj7L%Gl64BOoD(WF&m+Q zK4C}pY!$qx~QuS04)$t2Gjvo5~)e(-18hLZ=Yf^#?% zEMLd@VU23=DUw8D8U3zTP%KMLHdzQ|zZ*&P+{^KH znR8PjMo?h2OhFGTo_%{WUCiw|QFl~^*5DLF;P3YlS;o$@PoA^%hsMA{SFBK7bthX2 ze;prpreqomq9$3J4^*ln;aC4yO4U{r%S=LIGzW~WCt3+CnAuaVuxH~|9r4PWSC;Ly zif@_gs^ZKt%e%<$qnFYdq?*T7qAuZ#Oc&8($XhG@N!S3I_MfsU&0TrQBHQA`FbbYo zR5u?2lH*B-zkHvJK62ckn)2L~6>zm|_Ftl}(#+I4C)u=zm80e_KgL5V+obbd7qzGT z7=`@9$>4HexFii{QTHpk{opk&Ra3fv|B{A!7mjowGT~;1Kudc`B?InI>1xJdS2sG3 z*wiaF>}1yqD37Ov!PH)rYL~~nS}3*Nwi=RvF$=3X)BRKWH!;$hwnS)yZz{a`mdIyC%B#!q)AR2` zuS8qgP@ksKvPQ)!=ng_5#X z1ZOj(9^P^61EkMK`S!>YrEViTtv6az#<_ z(7WbfEmrX0Fgn+_@WI?vlOl49(?jA2Va4G}2_cu+y8TOWsQW zI}ul%u`3Bwv2mN?0$IvZGfFIXBl9!oEk}rnGUK~1pnrO7_1y8+!YwtnWz9&*Xj{a_ zQoLmhZ>_#go;}|`W5>7j^)PuT-m+Kmw@K(bGFl!cbQVZF5#_v#?<~FUFH=%d|LJln zb{uXbG^dIM?H zfYP(ncKvSb0imI}cj?4#P}5W?N;V7HmMLNr%RL#cj;gA9-Ch+f=+&4_hNM@*egQ8W z?aJV<(7hvZ(3ST;RH@&!K9784VJk0#?nG;6*4@!LEGJAGv3;;2AoYT>IAt5Niwx{7 zbK9ninQd#0UBo}(LR9Qr_jPh}r*)rDKyJx1xp5uDu`Ia;K3?SZHZ^guCAT?K!Yjs* z?$w2iMyoQbnQUdWdy;4$wo-f2iYm5~Z6`kG>li)_IjfG;%QZ2N?%JQtK|sj-`hj08-;gLZ@{3bcy)sC1aSZkFbG9WXb^^`yjnO+A8?DYWN? zb)nYH&M*O^8%u+Z(`+`W$tt8OGRi)`EcVfy%H&IrRK4wTyKxP!dlrAd3oKh)a+4Ux zFc^%@gvuh5eoauQorbgG3(I_ zDTxiK!@MmbbYPS5xvq0Cfq()?T$M>WH?r%5(ls#8=Fk{7f`FI3${-Mri9P7qQVY*9 z^wr@;~#AwK5t z_42l88AX;*TbbHei|p^vWxU0p9c3csiPl#Vi%=fU5iudmSRPj71W-|1cV5 z@TX@bWHP7tX@e&55p>iO?sUVB$0b{ zU`I15Sl<_BXHX7Ucp+BpcQ-UyW|k2|ve|u}o;f8y) z1Vr;2N#8nuc#hYoP9VQOE2A+}d3X}X7+>JCrh%;81zI=!Jz8%qX0c}=lo;&iw!_db zlFoId+sZhLaS72vSdJz1CpMr9Q<@u8mz_s}<+!9p%qC5OS=vTyyI<6peS8O{;_NV? z%RzK0=$BJ~FVhwrEu_!`H_97z_v&2`3uEPv!THTO-I;gtxzc zV%OpFxg;v7Ex*_D8pgz>Egl>^;%sY z98RN_s0rDTLt$>}-b{AvRZFtzhNc$v=sJK6(G*Ld4Itz>j`1rJJbGy4FY zbE!uaj4K*0q(++sy*`4OP>T%W;VQsStiblART5T*@CuI%Z^CQy*$ZP{{+*J>(qSC= zWK1aY@zeR1Q~$y!{@)%fP^oRL>z@b~`E|d$m8=n}AgYxTNCSsw7Ni%aEn8WA=HAL(0J?`w^7$QF78hjjtW?(zj{L$U zQbh+Y2yG8JcXldn7<_f3Cti z;cq#>wVe=o!NFZJ1U!U&5!c#ta#8z7(6SN|=L^nE+tD0yBxu{TayJa{9==2dDooxj zd#^3Y<}~(pJ?{0Nt>+|*As7Hz63uOcYOC0tMju4^Y8;;yZWV9iRLY1xl~-De za|%~-9_iM2r&*|9cerzwom5o`GyF?(kjTdz34chdTm!Y#kSA)ggm!(e^D_&6m9pKT zflCF7yzvsp@h#f|W2PgyW^zV+IO(_aY?ftsIEK~=lL?OMg?Uq^s*6L9pEuWZ6jgD* z#d`%!CGz>t-anoJGPkKCKHh_-!yuzGWk{2infG~+;geWGRut3{7|kGsD;T0@=+7b> znN=s;01B&Dd1K$a7wOm3@xy^eaGSYNvQJj-m~*5g$&ZeZT%7n1 z$0X&Y8N1QToO+VxDh|5nDEi%ZzryU?9#$={R%8n|U>kNI`njc@E=H(T)j`rfohCETt=jP@V(&GIHyLJD z5LEZiwVoVsR`iF^JntMs63>hE9?gLbTqK+uvoe6EM*`$jzC$Ex5r)EgaqS2D=(EIQ z*g`1jGTQ98ssRV`UENmX17}&F47$)KPbMS6)fiG#)}9-~WeTwON|~+RJSh4+mggKQ zb^RV)O6pc#w6;9R4^A`h{;`t9xsG{O(^c)7$-HeXhN<@_V{(* zvZ~}C1+=pk8ip(M2HUJmUsYboZgvcUMWL;qP>fY01DWZNpC!sM!#ZlUbMXGx%%}Wt z;3LLLB9&j(&wm5E?hV}BTYkf9oY>XvqScRS+7Bsv zz@>tBBxIF;K5wi88y(ullGYE!=YI1R97t(Fyw3Z2JWSVFj#+nyEWF$aLoR-@J?QgD zQ<=b|@mJw+<{oQ*OUUg=vIRk6RJ&@h=1nM+f``2oFo;Yv|G*2`016;s2f z>_BN=a```RjYDYhng?9cI#pvk0a-r%15ytpgQ?-)=oH8^0EgFs_?oWfS7;^=GMIcl zp93r^LqS`Nm5VfGH)WJi)ryLei9anrFZ7!leAZx&cSG3~nc zLLb!$oN6jU8gLH1P>*Of^&h@wvx4L%S09lw=Gr)9-{c#1Vt%0tlr>GF;>Zcj270Jbq04vgK{G=ZJU*3!Zl8k zEYEZGNwNe-O58KIZ}M3kes)5e>8xIOuorpE43{?U#SmWoSVXYGxI4B&-n$(FsC9?j zeLyhdAjK3@n@~zIuRVM()k2g|q8y%}L7Y0BoS3Nz zWe<%+r@4snxZ?eozp2oO7_V(>92YopH~f{0kg(KdUf8(AZqc--W6VZqOeHF!=gk3w z1;bDSCBnb>w0X+3gR`JC+fbQj0K=BjjZ$OoV;kZO!S>Z^1K+sc7R+Fq1{|SA#X)=$ zJD;aGUt`sQ1mm2Mrzm+kS6b7)=Je*aOC_Ru^9W+1{aeJ_7N zc2@2)8+BKuq5jqD&G3?9=v8xKgmjVS@DmHQ_839mt2~?rj;DaRQp1eYk3Gn8cJcnu zzcd$2hI^YgGFPvIefAQ6mbn1s^o`sH`FZVHR7dv>)bi#tDA~!dHyCTMZql)a*4T@T;L(IwPP?&fg4;3tb{?}=_J59H_Z&sP6$kU-;VryW5N%Rx%? z!=e8jpljW>lF+n~B~A8U(|ZvLb6cWypY(@=v){hCk&Ff=`}oAM4gQ0#C3Qr{3Rkb- zYXNreZv)vE@W{Ii>^xE$oy9_hyHgbZz%pH1Js^uH2YZ!!LhxI*)e%c8C<*jt=JE(R z^@v*+@MJJBMb>+`Gz>*z0F;^ma|rx=CN9YzF4?*7fPf~xL;^VY&C~N+a_hxtzBl5m z9VEGUz*Q}`ZECBEjvS+84e;8J3)Dl?d!mm1e|KQR4I&7rXzUFKXdHS3jM+{vk0uBH z;eK4btAS5&c*1625NxTYeNX-Th;Qf;-Lp_Z;dOmbAV6L{2WDEkC*9g0HP_NItpE<# zbQ?|MJl&d%8)HU6o4#Az^|+J)Za8DIC} zP=wC*rV?T>x4DXLSacINZQ45B8=a4lBv`?gTll`zs)c@Hx4i(3%njXlA)^h^Eop=L zot373;=#ammB66mP6mBSFZ{J)J)t!n0(B&Q8@SQG59YAw=NAfqVtnMcSygHl9>L`v zd1`?^vyr2b0wc~ z@gDyERFnJaU$N3>LqTh8Ai9Biw4D`((Cy6D7daX(g(}S=8W)QJIFh`M$5%XnQ8pzy z-Y1H;vRew%8m_=Lb!tPJnUzNjD%yRxv!VCR;9d%}PlKR$WW~1udX4n1G*n3Ryx+86`5CL_2_ny-!oker2pH6>mU=!!e}XD zMq@Pd3Db=pdSZM(<=F6I*ZjItMYD^0e1_G^H)~+?65hikvm2QuMm8p7jnVOtwEnso zvlF6v)-o^&+(g=tw`v834)p5~ng3$+wg5_RFM+ylO9K^p^e@{Ruegbyn}pnnMRb;l zbZBKOhCCj}G-Oomyg2TMhwsPw_@vPd_>6Ooz3@R%gdR?H%hcL4KEqiHgK9_4hT5jQ z3yGdVrau&17V&{9viO#to7YDLF`fg<6pEY*zHr7=`8IaVaaPPkoDu~8+D$LVnl7I>)5OQ;HKVM{Ye3?n zk`PU0Z)+CYY8%tVwh_1FTr}_BnjUYnj-#M3^aL<3SXsVhvhU-J&SMj>$LpR!2i?=l z7hgUeVJ@;%Jr@uON}&d-*ml+0`qFrD6Cj*OW|d~j(O*ILstWDF6|YyOG7OJ2s0Fet z%m~_D^r7NcgXu@q51wm3f|(RwNcpf_% zyIfC-f0i%*LUp306Y@0MIFOW^IfllFC-bN0zmtIi&L~ss@p~)!E?lahJWJVtiqV?| z_G|Qxi6zEW$FdrMx%)(uH+^f8fb(6!7HKEXx+AQ1n>z zDFOY}H^H&*RN*tSf;~2Q$irt^XFhIaRM&LZ6-gc>2kuG4_)O=BUeE`w> zYMeHQeG7Mf?^&=v8N6$c+Ln;T8&q%;KP0#7YYI$=y+L314-55%BBt3O%3I$o#NPC8 z)S-jx2WAam{z9d#r|LVG{oAl7nSfO?A#1b@x`oL2Ob22?$wLDB@;AejRK|V*_J=m{ zhyJtGZA`+?du*W&fLVN=*3j|qCl@fqp2F?>L8J+TL&dbO7ZlMYhbbm3+V=K%O+(=rhF;H%PvJmj1&RhPu+bDP0g40#X5ZU{fPo zOJuHB{e*w%lRX+nnmGfPLn4#YG?qZUNbCZ1w%%{~V_n$B{ZNk~88H+)pdEb;)^zWl zza23C@`u;Q#~j)WKGy46Gf=TK`ZNPAate+Gvl;&Cbse?`RU>Or{UQcOT-=??9+Xw< z(9amJ!Zd@veEOzk2(U5->Q2^#rec+C0Tv4-dLwuidO# z5e!e<%0C-{{R89sQw|dEnyL_|(VN@|_BEy@n&rDrt06uL479SAKT8YQ4 z6|bFB{?M35e%wYZ1?Y9%(gU$8N?Q1a$()NMOB&Vd8(TvP#n{(2%r6JeI>$W{+Q)s% z!O7&9wj4p{!JvhUj#E6`r{q)PitihY6N#<6UMwm#TpKz3hfIx0_SdgHkaQNw@U^mz z%B^*mL&1qNUoM`|Mg}rXz|6gj9P*rB4WO+BGI=p=EMlYfxPsu5M9MCl0I)%kI{vie zR|f+lGqM>jD6ugNx&UB`OC$teu!5^k{#f1RD3uFF7U;g4r{@G34Y~kt*_JVM|As%P zt0EIou*IC8Y{wfVb4A9_Go3RtSj^;4qm4n30j@Q>_~cx%+3X48W~VZ)>UNnXZsV?m zb*CzY>rO}cl{;?5=#;G@63_&WBeC5D$cfM))%-egd89Ehl3x(PgCt)Yb37N*xK!0U zriRZzj~uuAs!?BP z1SAYz=ugB9sl3vF2%!85ZT^?bX^_i#ewNpWRC1y77z$l=&BU-p{wb7&_x%DGg!5`_ z{p`I}R9*X;?VI54?h@Q};t<^3-QC>@?h+ul1PJc#Zo%E%NpN?#Gi$9~wNF*VZaMKFpUfe)R9_z5mB>U{av>{_K1`tJ-5s?b^?X|MSpIhtmi~3{=Tx_!BET zzqESv&X2ZSfxDY+OKJwTsJgt#+oL<4*L<;*dSuLQyTN~db!mXg;1 zum^k`P}zn{zU>8!yjIS&C4mq9rd(ovD9`J`Y9wocefyIsKDMt%AGy_6~TMtK_12X{s?izih`p~ zC9&N6ROH0{n-M#o6nCo~vQ>69Okh#v+o;KVyp<5qqU?I=lacn$F+u4ZyAp97OEuZ- zClmM6eg`yH09(?_o678B#>Fwx0Mr`mMoJ$c&%3AQ$uuyhNIN>upGw6iTjum2otog| zuJ|l>-yMJI=8qS+X2BeuV1GgIerGH=Nqkm>V72_@otu6ur197?^@1AB0gJ+r6KG~2 ze4r-s5`o|f$8axUIp6R(RM*MGOfSKFN-3td!)kFQS!F^##*{^|5 zS=0i>(q)hoIrl1L0T1k_BC^AVR!^10xyeOPlMjJglpKB|&i8r`4l-P~2dj?EFd#f^ z*Nll#YH`&G?sCK4cB#s)g!R@1M>tfuJ(jN`P7IHI*Qpat>JGCLMP6elF+9?bJZ(N4 z1>pC|UR*qq42`XmKa4wVj+5o5z>%+$MJh=PF}lJ1dY8|%Sz!sl3cDqBYlE=gjjIaJ zt?h`wJ7N#Sy{`S%J`L-Um;9+O2Q4)4CIoK)m@EA>JTBBVlZs^Dl$`*>s8|^Y6F@FvR_*?_dp(M3!t9J z9Fu2bHIBY~Oem(7c$wh7_1dS!*oKwUMB!-~EMPD$4dotZDSL!OtZp#2^>Whvq(y}q z#F0#}X7o*JnrY&k@JzP`|I@l+n9L^-dK-|s0OwD+ar9@OGB+COVS+(6IZMf$xJlx_55uuu~>5za|Q0h zy9i9Ki^W6kVv!*yDn7Yc8Iv5)UnB{1o1+SnfqNV@Gs_~md4LN|O7@d`oOlnuY#2C8 z2APqQKy8B>K~6l3L|P{Y^at6yW#9&XV~(qV3v4t%8E3=nn@2a0qO5ytpbJx-a68i@ zdpUS@AytN|Qup~t>OD?p5HR`#jsV*Cg}R93ZchZ=~zT``kTu9BLL^uk@J=-vou=%{`>>nVPw%J7~w4Z`+Zoh}7 z8}s;9DIpD;@$KmVGVM+Jv&<^iyinBygWh~zylNvYE8$fN2=qq-ldK^Sd{j0zG!Uy+MRu9PDP53S!rfjmLUBjAXXRE@1i zd;Fl)q82Oo z{P(IDo682Jo40pA?UhUuV}u8AlWe1)BNjmv9i&i!{A$|*jP%AfD>!X z=U1wwamvTotcCWg{xRIi&68!M!F!Umr10r^pc=s*$*RG>KSX|E$cNoYLf2oKY&o>v zD$tCWYc_=&ayFA#hm46T{GB%YWmUEgDqZtE!I@-1aP4)w$vRkg&cPSjf#@Z)@y^0# zm<$gbf4N#%$bBwhPfsB`?{Y!G3Tq=mciLfmtwi^>>~dfA!R;-TwaM?Q*OG4hKRHju zob`fXPHgp9#R99DgM}WWoH=#IMsGtYcRS?}@NVW5E#oZR!yVWeltRd<5%AnQJB6se zt$fvq52FfQy{ouKQQ%8o!-?MLp`K}GPN#WPt!}(ZJQ!vXL(a2Kr^oe4enA{qT}jQb zV2v^5nPLB+Oi3RWbH_w_6RErpA+uT+U0WLi!n7^CVI(joC}ul>?9y)TUXXIWXRs#n z=C3#9tsZ8@wbIAu)wu9uXWyWhv@F(rpBB52twmfe>iKBAF!K%V7@XUcO54ymZnZ{@ z)?PzEfLieZLoCKLo!`(Ee~rNz(Ty-%zD9gSd%+ou%Gf%zf|AdU+vrn9BFISEUTuNo zM){dFKzrTeZu_$5vjehNHvSc&IW^3)BfJ+3ym)Yst3>ds|(4F+=nIqY@)z}=SFIJIac>$VEapBW2An+tn za1E>sh83+m&RcJv@g1eCjU>$4B}VLtylK_W0`$s+6l=YBX1u#`_|hm`lV_`p&w7ri#YzE{0Rz}GAX*!=Dx;+|E_hwoE{%j=I3~gTu%qD$h z+{aeAp(f5;TZXdC$8&v$Feknss8m*-7$fzXNMC1adJ*Ye?riUg0eYr{InAm<_$fEV zaLV!+0@B@qDhw$STV)TF@X#Pvsvuev;8Bl`vm2h;x+XQggn(DTGkrt65$7KG|AH5V98%1ReWT2bn$!l1?gnNEZ$I|g+?(5+jf z7q3+fh22vVmgP`^_CYcfB^YdTu>K;V_?+xMj4+dfNA8Br&*vc|6@|X zwt^X-)+kA>eSM86-}~>1W;lL7ODpuR;%%kyE|d~&5Aclaph|h3p(6-O$E)PwY`!Qz z#>U~t=x+(t&x0qdf;s!|bH0($?sVV2k~IarF*vj58-Tl(Ecp4$Y=a_=iT zqS076O_``J_6Ux4{iupE-pbK^;T=mL6N0s7_=HQO96?kx1YS+A46lN>*9?!hm?cGz zaU7oPZdFMCxuvy;?K4W0YannfKh{tkvGXa-g0ftcG(~4wV*hWQ$XfgUta60e1#HA2E3qjhb zp9IAwdkcnONZCsTL43$W4d1jy_NU*FgW%=Ez9wj>SjQX5jy{?W7x-Zy z4p{Wp#2SSUO>;}}3dt|J=?72DukI0LxvMcx7sMAVGcWn2HoRE`+6SHxgb_(`9aG5Hev9e0p-tNtWiSs>Xaf8qSmvXkmgBwE1B2hh-CZ?pWt=!wWdBkU#G!? zuZ=YvL4rZa-KvnVAOmWIy89Rf+lG?)WpsnL_?WIYK=USiVKZ?VKpltTawN)-`((?7 zRn#3e%lfUT?~p3;yj%NYXnhdz_fubxX7}^({nUigT!v`1v+tT@bv#5Lz(suhI44h{ za%Y_-1i^(u#<7{!&G~IizI2XVxfpvcY=0}rJ?47l=0P^t=Rr6OEcL@ZAFC?==cunm04PJU= z3Q9HP2a#r=Db__I1ekK=1MBxe@L7o8kq-N7GnM?mzc}&7zIR;~0NVnd8}k_CSI~Qv zF^;n( z>&w_6=_F?~|(G>X&om z2f&8_QZh-5=Sco+UU6EZeAk#nFAPm|YwVxL)l9VyP^0nI6XNW>BW|a%C=*N)lwEH&W;RZ&i4#m{~=yyd%Jbebygp6vC z$+0A$c`-fAk{LzbzkP$aLPkzniO2i+a$r}WcG;wpnx5G*(`l+S9Zu3S72E_XM)`rt zKAlJ@*qfwHA8qsqOnJa|4iQ9E248k%9fc|TLO>2{0WZVnYxo7*o9bspx@ z?lY>~yY$m#mE{04#G+YFX$nkMm35WF;Oa5d`U9PJSvtj`D&IXkmY5 z#ehm~Tdr5qneXN3Oj{$?1b=YEaAcz$_^znCGUqd=PBY*9xy%Bc{}rz!TL&yZk9ufJ zn4BMXDD>xT;r%_>@pU#H0gdQ)p)0(vsx4| z(kOaA5U=sMVa;Cn>d%aCR(p!sniuF9B|xhsr%BPh!W3)M(d^dZ?z%@n(1%~88v5%1 z^fDRY?!jns??((9b^dgtX z%*1{~A37AE#hMC6k(ly58h+M}*{&^Y&yu7EtZ9T?-Y0XZb8oFrcn6lvlc09yR(~5L zqoP@&64#SD0~s7%@V&=q!bkA#|GuaARhQwW|Fp~TB!z+c!L?(|W-)0G`+~VCn<7Ev zybj-qNa)yO%FkT=x&cF;N9)yhMw3K8tNmR@M9!^3m{Y4lQCv}Ug!)oj;hQxYNpo28 zj>&DQOGXd~B2FBlNsLJ@kpV02Lz3*|R(J{21)2ryFkJ3XlWlF^C#}XRfPGwmFdiYE zHeYSvGwO=sU2_7xr9J3O9XKxE)edAp^9|nV~ozaqC#g<28%=1jQFWVN%Ah) z{R-_A#%}4}kyvJPH?>=a_d?$ZQRQIfW8uE(roGw|2ZQ;AGQ(zCHXFU5DWd~VU>N`c zNwHMIF-G|tX8wyxsb%4n>-iMAW)+O*P{XQxzdZi6E%pz!C(SJ}DwaC=@!Z#^$3s@q zgZx)Hlrd*eUem|S;Gq#Pw8!n%WyYQ%2g0|HL7(2?&sw9W&N`izfi z`b`%>lPPJP@g{7YebfA0Gv+K}o!xD+p#pX&M$;JI>-oZz6$rS|ZjPE^B{$_gDJ@^S z86M+yC~1ZsC^ zQX{jwZfU}P@UT5?vS%EW_&9;tiLc9-dDYok0|TyiRNYp{F&Z`znIeK;J}MlE%vgR6?jL{fj4Sa`>w8xtJjvbMJW4(JHQg!dn@CP}MGNI=L!>K^6#TetLE=qH zz&3alS}jf`YYL;{XE(_>LLH^y$2$W7TU;*h2>M3D{K2a_m*G>xj{&B9NzaS2eoCe( zr_aR7;!0d47}l1rFk}vr*QlOqF@#Pe7T&@p>bO5M?;jhtj*DTJcp|1Ku0GFFZdSPjeGu06b$Qdx zS73Zp!ISQnHxjkveDAUR&MTA>Mr)gb`$thU2j&srT%2;GPh}9>6*c4n<+tyY1imEl z-@H?jh=Yyuk2gjBBkzi|QIWCRW<+W~P;*E8vJBcU`&}(KE+a@B&sFP-WxblXG$u3( zn!xhw(@lD6U8@SB|G`E2MLOnS$HQ%1)?&j(i-dFKTrKzALXJbi<Z-Dj6K~7u zWpDF*{m${jM_zcJT31XLt%?$r#?Dob%MvSuh56{RN{L{vH8(=EvOHV8)yi-y^3a{z zSm+l*2%O{Om%U95J=Db55;+AC3;s3x^}Dq|<~vO*LUmW0CBms8&XfooHvF5DTOIDO z5B0%aT|p&l08H#DJE!X;B99l>j;5WGm78wwih>E>OKfvNpw?IOZKzzAnc=Kp%*Ia(-uR^_>*C=Ma*X?=9xz)w(P!B{0Z~E zVvA{+@M+Y{Xk+Ybj0nTSfwByK%Mc=Jz(t+B3waBM{1DrLHff4!kY+Qe8eEnW06xwk z`<&rqr9a}pQ4Xt{%t1B?yBX0gDue1kza7Gc7NoRo?)mZ93QP`eA@*yx{mX~$K!*pW z0)UQBRPp#F;p_L}w^)D7o>qH|X0!`FAQiMRU5!n*2Xc_nIId@ zPMAg|ckR{_Gt>kz{WPO8+BRP0XEojiFPG9y!S)`48JNuY61AnE$^?9pL}z$4MNJx$ z^L`osKnv$lZ1;o)|4B~9&ERB0?Q4*uhF`$C(|k5c_6^5 z*_wf`ushc{I5yhQ8<{TBsL9(rV~>pspy{-W?VeL%V@(b`n&8i{(%~MF3+mFqZ5f5~@2J$n1r)9(5L34T;`WOiq@pSJWmnSqn{!Y_(*eQ?@#SI2-g z96EPUmD`tX%i|*CS2$WezYIC=qlEy;>IAb-B0feD-dbTNrjW1um5DLOvUQ)9^w9=k z9sPsdx~!R7)0vx4m3GNPLN-t4AYj@9b(C;mK3eCkq=G;4Dj|L3qR9;@*SSiwc>cs& z=BzjNq`UY5Gqa;MYa>QBn3cV(99z?k%N7@4`=o|RTd!MeqEiX7(3rh1-ABdH8s2)V zt@D&EFZMvKj`JZs4x~VsNR((xU>7v!y{LdytPjx@M+Ilxg8+!A9=(9!FtGMl8kg~Bi9zK*SjAa%#FIS=SRj)f zx&Uc1tW=m0&WLO>fCt}7(qjrt*@Mrc%0`x?pb@YBy| zGx(fdJE#s*J@h?bDr!oOy7fJQ$!`6{yr(r*?-8vroQ*~w)=e$=4jZF~&G$%JgQ!Q1 z;S>(+J4E|DYtd6>Bg&J$hn2Dx!?5uEvj`6KvYG>C>(yFI+drJL;n}5o&d-* z$oT9HIWxD#>sDfQ`nl&JxvcRWZi_bPeMF<9feJsR1-<--;)7qP#^wBls>sIM%kAdu z^9lh!2g8|Ip&$Y)yrl|Iy0ZFH|f4LRGCO&l{Z0;pXkl-tw&^5tcvUp?u_*OgV*_`6HId&Z@t+ZHw#$q#BH#c#3$hM23<0& zM%M|$wx7hXJ#5`;iYwPFG-}Z@_dt+$z=y#goMa-CtG%d zHM)|^^x?)dhOh`s(2YvuUed9=NJ_DV%z%`ZrPsbc|awDu1?eQEfF3emHtTG6w&($TYvJMQ6LfYgo)dJnV!1r>;CpkCO-q*B;K zBJlg}1ii^S?xmlj;axpT!u0?_+(`!`_q=-q5Ak9{8z>V(t-T`>p!VbGF^_ zwz{W2I0bnC&kzUYqC$(Y(I>@feQl1)>m)k7&2b{6@Lgz)h5gBa_gMsS&3Z;9VoC`A z8Qd~%P4u^@vj1O$s?6a=7tU@nP*uO#9ehD7sr)D+(YfmWGvrk^Rja%nvFxb<55ar~ zZB!&8O>Wy&XCo$8tX)t?UvSQKOhfeA7GWLn1Ak}s_-WOTzf)DWY4^XWYC%P(+5*Smw)RcPn1@ zs4W)^=8y(j!>GrlfD4?IHuhbSBu3E}S`+DvsHe~n>9(&fL$I}<7&N-E(rV+Gc!sG5 zl(T^kJ-8KCWeFJvPQB^?pqSos9u@K?0-5!6oX?i0Ka!jD8h=#U2F}CxWh}w_87>9) z1Dt;->Mva3U(}ClMHqlu8LR3Y<(zqphI zLg)r07(m0P{YCyPwqp&wnSh2I=g7#v1)R@AM@{}xri?@(p`uc)f1Zy>Xq9nJ^s z2i|~kZ)u-!D#?ev0VTk-+wiJoxsU!@y7SST9I)NyySK zmTTjf*X}X*Um~pB@n~rnsb!11)Rj=vK&%*ng36gMI)y{!GW7o2EINpGuTdTUO)5h{M>_wC z0`29tygF`AKL}RzQI+&3(jIi_N!V?5+B~BewJvBQ*bGNom<)%Ed(MOTuB07%P0TiW z2gw-BE_AQxH1cijK6ooisKUOfYyZUss4T1s!jFMlj}ifpJC{z zZtYJ^SuwrH8rPHU>}$DLytCbU*et7dza^F9{~A)2{+rbQCiR!E^k17)Zthj*-;&Dt zKTB%2?H`*e`npj5ZQMY}yMq65Qw1o3AWI;;{9yvGs33m*!vqekuJq;MlhX#YJxVy1 z&L!|898}*V{5*I>($Sd{@>+j-bw2YsXdOAekmZdLdODW-*`hgD>g&}4y{ocuI-c2C z)j{#))n>&{u_~s;_o9=cBlGw+51v5){&eKF4mRVgKqai0fk}j_^BEX8yks&rY91k} z-|Da(PxUgTMIf-XQ?6J)+5RD_B&emfD_O?EXRd^!0+&}$7rS?*zAVC5&1rnWLpv7U z6v2S0YlGwGrjw1?8%z^}{ReN3V;*Hnd^(Jht8{tBYv0awFSeJ8Zp7h{r|!~}fe@8? zp@Y~^m!m(@xF=`{ASg9vz4Z+a8*EiR!R@h#~TVPsK>$$lp2Q zf&{ETAy0B`B2~RFgom_-GS=T!)-cmY(?vR*ak6<#l4x~CK4hSZ%|IIJ zp}HG3`GUZQ9GPJgL;<%{pC6A-(k@AF=L{M9R&Z@t>;1JUw;)H1o2F?@k3%MaE>bDo zbbXty5T>>UCL{A&XrtLimH{dK%jGyscB80Ab~9^3$7wmkt;ab2=;U;ET_N{#PqtYRjx}Rus8NbjO_|Zi8#3Rdg?KoZ< z?0o7DE@l}E&}~Wu&c>|QM%5Dt?Hm`_yj&NY;27EAq3}>S&H5T+CUd78E7a0 zr)jOfJS9n>r>X`>nc!FS*P@LgjPL%M=H?l{Y_lM@xNyJT`Pf%|2tAA zthw7-G@OB?a>FNAJJent++u0#s0cZ6HobbEX&)_H+&UK$4CZ*anz`uMmdI>m+VObI z0G_0d$mj2X2C&Nu#V-RG^Umv+0nF$MeApV6d6izv)p~6Q1tp=1UT(y+Z}Y`0{2!s+33^w(RSZmJWQ8c+Wr5nv=BJsKZ81cd5ANXJ4+?-hvJIZpY$%Ip0fX zf(?m18Ad-WEr9Dwddq9>*aWX$%wYSkv}R87&$Q;W5wdW9qw(RRrw2b5`t)K|jj8$C zk0zT{Al%wjv!3}$F6}Vd8@{P5$c1gEIy@weN3f&HwKC_rFS7^UwtGYySOPTJvlE z&HZ!!U1MJ>{A2!=xY^M8Evrob*RYE4->m*hR{xvT|D%)De}Gkt!ws+Bvda7$R@s^V zVO{+XlGO&`LI_~8YW?-$$dGxHAl$az)6vL}00%(T zS@A1bodX;M9?5P1lU1)&{Il7eNdS$T;vdQCi7X(?dxP!C>4?7UEdl1P=4hQtT}+3+ zl@N77`Zm;I^_h7Y6prnFqIG8diZ73nP>paqLb0>eVD)D0*A)C$5dwI~Sz06^O;_30 z4OoO=toI-NRfJ%pz@BR5bT^7?^Td}swcoIL(&tl~q2TAt3Q<$^M3p8CnTKyZ718mN zKQL1}0GhyGg@5Q*%a^Y_=B`KD9R(`QOr-hb@pckq!dO_V>&!IT@>Jjg%33ioN9%Qq zJaia97V6(dfhI8f3as0Yzf53~6x@G0TJ`udT9x`0twR4cT4nIrua(*uo4EPUDndL8 z{M#Y~Ujc(odn~XBf%qD%^o9@05ahN+`>nl;3$7{LG|E?T3I3dtv@*JJ-l!K#*NoW6 ze1v46D0>Wx!GFj~NY@xR5>F@&^bIxnnSbwt)l6<f{cUaOKXDHJwXqWam974} zIe4Y>uQ~WGIp>c#7!5cF`#5p7*tY$dt#&BI3T^PTD(EDqTh5#e;>xW%k8Mr2gx~NM z+uJ>z{%f{+Y>y|F_g8Dl{k-f9dRS~OxhS_z&z9rt>GZF}rnTWX_HY+(R3ti0?$PzB z0$=#AId~0__iGOJ{9_I#SaX;;dDL%KzM|mwAP99+{MCa1!uoV7qvHoWWR%5FIMe+x zbh_IzU$gOwtR3=hB~R(#+h*HiSBUGqHc!SgQH#taA1rartF~G_bh@GW~76d;ZgXGH?vjkab(PcS4w5X z?||F)>*f`Nb6`63;=uG!Ik2`9-LeHxgdB-Y>NokuZ+165YCRkR z2CBfF_2U^ZWd-i6sKA{SEzM~@bsHa8T>>_iesv*OuMMgvFxu6DJFDgeC&XVnD==8q z1J;v{fIq&Pf9|Y6K>sK`0P7LI(wmL4KX+E($IieG#5~=fpaN5ykSxJJcUH_lcUCiR zW~8KAs9zn3U(KcCUcu+WwC8g5lA#TWk1lf9$LUc54rHHmg-9>;Jm5F8u$! zv;K>){`b!Me^A5lk2&~%Xc#*DOT(}Q*f1;#?1X^b$oeg-zv(Qou>RwnC7<~2m;gqk zkTai%rND54xPT>NBd8&I%N~Qdu%%=42=v8n))BR4w6)PRr=fA)!Ks_Y zYkvyjH`-HfM&4~V`Q*wk^kjf*KXIKg1!uD(A5+lMZXtN@NQPNa%H|+*S*m)5`FOJu zhgxhD-3KDPa4X{G4ne`aI0-aR%(7O~SL0}%cp7^8f?o3EdJ+kct?r0|8B94I(k)r1 zS-~v*$GAzZhz^^HL-SAZtl%;AHr8&nbhtt1OPheBi)oTRzE}v!0*WAibJ577Bk zAJSzcu(JHyi}jn<3Jc&LUs`+=yKQ?I;o1*q+CWk8 zBxjff1Xc3ki~0;0->13Kg^!R-eUn@P_2Z|Qlubhl6?J`ne$JZd9yuU(PuLIYHXb#I zt+y!e(tr4@X3eOMJ(X0HPM0gZq;drAtx1Zo*k#|WVN+)*3bt7`N) z_hcvoiWYgzl(2nM%KLcbD?2`(Js)}kcj{UxF4|X{XW(_6030=VwcD-uAjx}ZU3ypGtqt5Hq#KMah{ffykrmEiV?QgH*Zwd{p zEdNBQH-5~vlo2WT&NretQv64NAylIbO;BPSk;xPxo5CDjH3gMo)#vxc9#5Xu;`v27 z@3PItH+L?iU)ya1gJ-?qOdIjmtLEB~v3BK5dV$bk_(Yd@i6&AGT0cQmibm48GL8XC zqf1(FY1Sznev-wMY=}tlsQwfaeCl!zCG0L9s0>??lTTiw@CDDxaIXh_fqu(0*v}hg9jK?fv#c%qBhg{&SY8^o7_0E|XEedd4i?Tr zDyI%k>@k3HU6@<=4BhuZzrFsyiOJa+|B36bJYu^ofYkOxV~QxgE06*?KrAS}IDir= zllw{4i|tl`b}Q7{Y4gmj1Q!+B1|cOa?dR!F_OZi-LED<~qrl7*Gb%nCHNE9g+1w3_ zooG>qOdUzB8@u^^c0$`$wTr3wrSV%sJewUGm1{ZKw(^=Qvc|xlZ@H6M5kIv8xD4AG z{U{D-4*`x?iEQ%X76PM4r%LFYflP#!geuqG2!u|Q zAgUZux1oGv)`#3rk}E4=-!!^1gj42G+9k%GVXF-AKqj#4K6zkRr8s^JqM8U`>R05J zR2mPu2b)p(mP~9w;0RaNOn;GfG;pZkw1(xux*!vF(DE4q0V@H5vz~A|%Hq%$tbME4 z{2oAT6tyPIqu;}H1$`dkF|9-(^I#Tl7Tm%&$Bfhd1P$z7Pg8>PebpT95)!Dd^KT?F zg*Qc)C%}em1c=%}@$1m8_%PH+t+af}iT=jh1%dXZoxw&45SEK*^K?!TIODbb0y=Rl zE&SU%^*1pw8|Oc9R!CVUHdo+Rq1h9We7w7wU)b4D8tlVG6-&aD^=-r?*N02wuE00n zCzT;Xs6}46trLSwttNXn+ zcjSC4Tq`TOQF%ITr4g_F;chCf&HJwMyqLka+RATaMWh3ePi~G>BZga9zi!k>Uy>X? zw3q(kEZ88Ueoz|9<5-*4+=}%e&o7ExhFW_HI=Kns>FaA@KQ_;ll|8%~Kg2K|Qqf(K z9Gy{kn&#s|2i!GQH11V!&8=IK73iJT9IfCsdtVd~+Ssn-az$PQ0^Axq*~j{OLgUsw z=^VWrsn+1uXQm^5T(SEJhiVxG7t|V>X=JWcNU*FF%q@A+P%RjK`Cv7n`p}!njOWM$ zzuaZ92ZC68u@D30-zXe3j104sIMIg(CWsaq#1uvr29Nw1%pZ^1wC9sJ-h4!O7c$P4 zr-U_@zd#d0_*Xm#6L>U593+;YCuNaw{n5~6F?8PS-a)*GPv{7FFFA57xR2u2__f%t03LMsH*({s>hv&3X%17q_v_4Z zp2K-mZ_<}#@(YEUqIquo25`QzIQd z8j;7#4Yo$+gcgWZ??p`fR2zzMg{NX&eeOFpuRpuLz1#PcviaSO3iwS*3gG-F{-yq# zLv4iN@aTdtz(Z{f<&yQwG&0h-&?t#Ppl`k}rtzvJ4Un6Admj59rq;H;yl3PVOKlI~ z&B@#SZe#g$&&DraelfPTH3dx>-fR4xdXJ9YE4*O`4OFfjn2kp^4dtb;^kI!I4sD6P z$}f6#muD(3WFH9}o_@Z`#uT2G7~iL6+`fppWr}~-D}BW>=BE_?+V7@0*~8y)Qc~cH z^ix+7J4{BWA{~`|Mr5WtE(IvADmo2;G#3!DpQm%nB7EI*&$iJ@0{UC67M^Ar_*kb5 zi3=FE{`kM@fhm){Jl&}BLT}rd4$I({eD!c>ApG6D87-ebC?y9W_9+2#hS2q~*t0#W zee$|&QEMu(gZm72s@wT3w*VYpBL|9yRWU)q_V|m>;0ePR z_Dius^(kR9NPM&w*cIkLN<$&4QFQ_hKv5^hgNhIvP=*Np2-nM`cps+H1??z>ZC@w; zRa`v>xi=R{^#TQ}b}=J=RkSBG7(AVk3Dny%R}Qpg5iu4MW;m}xajR=^*#lb9#eQ8GkBP*Hzk(+Z45YU3FTIFxCO z#3#HG&rRK9~oAnU* z%8lUclCHS=8inxs>N1iMzU{SPZ^8dSopvfWJnn~g0!NIo{DPAq4VZkHNM#Wn5%j9f9H#IROC4cJyqeys6Hn>HbhN z{|F9KL*?l#{cbg*I>Oi4B-Rhr-D@b%?+Z%7Z+is5jsD+tegGW*#Mt%k)C`|G2o35p zhxH#vw9``9Q9e*YL%zN|js^W2%2p&)>;Iz6$Lmy*U*lyxGq<(1jc!7018!nnt)s>F zB)iXQAxVor>}igCgZ1VdsV}{NCxgaMWetPw#cb_4nJBi&@6L}R)W}bw*U51eUhl<( zB*(WhR7ideBdjZeu9vdrXO7k&Vf|=Yuk}c6krl(i=U4zK8U?m&9ou&R@=c?klanonruf8erPd z8yW|cJL*nEVj=h}H!+5S#>NLa&(4gt$?J+mjV09%{u9ZKlQcQPv3%_?4+UD14Q2ig zpqTO9s@dSwIieG2PQ;6_s&VO?go)FIVF?QcMSoOBLJ&?uCt^mD(#`!ylr`)j0bvNA zOVr~(nfUH=eHu1WVi)t4fIJU#fg>fHAy&-iZm}{D**LA?PkA07B0VtCSQx=o5y@RC z{rj|g>?nM+w2MLEXkb4L%!pQTf&wWHngqUYpHC5&Cuu^E1P(>HrZ;Dl_|jF*EjT9Y zwb~v>&BN$^BRP=5`jTcZn_^W7HQ0w4)C^8zt)r<6%OBrPH7gzun|jby6e2r+m_xfr z&lbwtH%VC$ErRz2g`H*-+e-c&T{G2UiE0$GnAL!K>5`CirgXE}w`?XLVky_0mBD~^ zQy$R$eJXdBL^Yf;wquqkg|0+3rAD{~NqT>aw0N>H$)1#L`SK`Y-ZO=s^etY==_@po z#n!ElNgQw?2Xe?0S?JG$+Nhv1J)Y4HlJ`Uw$7EX%a$8G|op|1wgIMdd2QFcDgB)QN zoDBHlBOXpYR?`&U4mA50BXJL42=L~pSvXQ{{~zYwGAfc_OBV$icWB(TfyUk4-QC^Y zy=km*cXxMd+@X=i-QC@tS1{+yoVoYBH~0Q~YgO$Pk-2k+RPLzEi0|7`j=DE!U%|xn zJ9!_oZpW?i0Hq}!;AN!$>1CJzFZ&DdvTn7=fAKOdSMC4wvegHGm(65We|VYh`?rfb z1)+DK8s|cTfBR?lZ^U(*=aR*YYyKWeo9vg-haK3>E<}P zBYbJqfGG2_XQU5^@%HQ=uc)xvlPqcim3n8hn_Jbs2L(B-NN`0nV1y8R-#e890`I%rW_m} zsmPJPf)N<(8Wv?2|ROv4WBKtPShn#9K^3m7CxtH8T9TF_Pcl*`H7jMUS%J^ zC@~W(3b)*V+lFT|6eLvK4=<4!N_NmsW=^!IO>>XLKTEs!JeWIu_V#~1V|`1Q_6_$l zEry6QAP48}i|L^-Oo8zZ!Y$WN&cUOC>ykrg3{>eY^pILc!MX2>bPQ3vD*x4+mLo_T zy?WsU*3W4uuNq5Q{c^plyTi?0Ja7e4Lha-*q<5M6+HHfRZtP{M!-Y z-z;RZvoil5gM_UAe>OsFZGp-8KUed13XPdY0f_tv0Id9bz;1n3k?pY8ti~W8Ys6nK z00GU2nq%gv^u(MuBJ7uZRCFRn*}$t^B4-PHuo-ylxvuQK-S4!_z5LRdCsi*u4%({x z3(4BInsEI^+3}-0|JsM0HwUf`&|*1`MVncSOoQ%)=lfN{;#*U=4tYGCD1P-8)^dyF zK|7AKpz4#t{b(f(TjkmNWfG}v{BfxPiYQrC8>Hr?&DbZaG$odZg+0iFUxq*k)2Ux* zz^8b&!oL7q-iC;V3yesn6a*m*Jg}ZW0-1Rj8CEe{4t7AyPiVk2Sb(hyIP~i~G#Fo+H2Z`z5+|xA za~e1x8gWFiIgGWw*kZVLVPZq4aF|LtOAN%r^p*p7RI8(oFLvu~>w--->*v@juAP@v z>2HRxT!P%mD1!6{gpnvRm?K&Tj3;_=0HIn)ztM^EVG77g&V&iT+#s$22)|2 zHCS8^`kAz$iOv{x#4JyXU(@u1AddL;mCS9Y+3Ol>veb6n7~Vx%)BbS|e^Juoxl41% z;@Tl)8TO1ejBxK^;MB*xb4)5z5a5JI>@Q&Unu-;xWl{?avzTu$gNE7;prHb?G5}RqS^y1|mgkd( z3OJn60HC2-0zmj002(S9fQE|pA2ig4|Dd71@Z1ILIv(#bit0AFrFuX7nPtFWQXkQ) z<_C-t)C06qaE_KfB~;u$vnYzEvTx-}m z>}EP}!+VX@w^GFS=`#Y^!0r{@IBTP>0fe`_y0@os5Le!(9pAn;jFNvlK>VB4Q`Y~h zsr>&Q@xdCIP8kL2nsB$;dRD2dy>P=R2KmXvsS$Z z1V*4Q|L8s)Bg0~27%BYy>_&Q<>%D3;K9|&kVjU^SEF{H z^z;cP)$)oX3)Xa(gk#s!Ru~n9%KlQSc|Xfz+INF7w`JKG#2LCv|9CtI%DRgMs@LoS z5rSE~A_{u0JHH;oGB&w~A7H&fT3=wpuviLz0OCIo%GnVRYomk7yU8oPF5bquP!QKA z9%%^VhRmpgO0_#>0@JGf0@iWhf{4T@>Z0Et=nC5I+jlM^wHv+!U2xFdGQw%BZ~ia9;#feWI|SFxBh zs^92Lq~(PDZ>0JB^6LTjYXX`AJ`__aJEMN*P_w$RQ55IWq3t#0yh75PtGEX>Ss5#S}Bj;NsiZ2U2;FX!M@Yv(;L>w zPv6Z*x_!+D{P(?uk$7l$`oRj`oc>pL7)KnXP3?Orby%-=_C@-pL&zwnF(b{aBXUy_ zxrRYvyB<7=%X-=Yqe4mVdl%Qc&>1(?s`s`qUunCA~z8n7a5hG`cJn!%4GoN+(m0Sdd(X8P()woCU_bEtF& zF5t$MBsR=JYCD-m@)@O6dRVywWf6A$nfdR2J_&R|WU0;;<-&E$SRPDI78Q`DID;)r ztp)OmNi&vyD~LF_76-77W5Tc18*KH|Il6;jZ5n&w^1kZTcwkx#@Z6DaS6oCgC^<4x zJY^Vf80?QGGdo3-ar=Nhd_wbt*pWOzald^VH66XU{AtsRCw@S8xD!(|9m2Q+^K9mZ zpith8622+i^BhCOs%}SXCZQ%6`YI{rpW6X--X7Q(@S>2;lI|tY7!CD`f^YYzx!qI2ZX7&upl-|}@drVy$&{d!n^)^O)S^?)X&v&&6Lm>p9 zN}uVLsQaUtjA&tAkAq5CDv>DT3y7y6AFF@k4orXt#s8YdQF6C4CZLryuuycehNhJv zpr@mQrWG-FaCG`eGCn1~f_p3<;3vop2#uKn2hcE`bNngW zU;-m+E>zG(N_()?F^pj_t@WMQe&m$WschjCR?~4SX>AfI+uZ>rkn3glhf?MCfayOK z+oOyU7l@?h`ll9Pg8Ow#TY?) zu;iz{@okphkYoPdO(*H@Zn&1oj@Q#iXQn`2xdIX8OG|=(qU7HKy<(R5qZvrW*Y7XI zT)E*NW%qReLLYZVPf3mre+xYv1p+JKo7zV5_ci~Wm}|s{V61v!C`NZ9$}K58R1%_g zq+1S<0SEq5@w8h#1d4pMX<-w52HCX{4GC4HkN4iY#vbzq%K$#DY$qLA&Hz_KaZ{ez68;X zADP3DC^V(b0=uAo?&Tt-TXey>H9ztceorCrqU@T>^Q5<@qVBeDwbqSH-qxnRug5s8 zqw~JGU96rjaXvh(2O_#wCmYy@^cOd`J#?^6=5lC8noj3&#vM!AlRU@a>J!#HXk+-T z7paX_|L!)3?8ih?R?KVNm)7L2wN~HxI|!E$7IZLXfS=|(pr&P5b0U51nv~!2Xf8OR z%$Qu5!qiZT=@e&poAzb@sg@i+Jn6inN0{mCS2=ciB1AvTCZrbP1Fn*?DfP;Y-c)xB zF_g~o)F5A&?V0;-Bp+v6FfuoD1nd)Jdh_%|@bN;NrBcrn8VCqE`si`IpK?V%W_hD1 zUvQ2~$ZNNfKANC6&T7NVnV(bAQ@%^8-*KeqWqM5t+#Fn&A(abx4lPF84_X7q4dO)# zJ-e@~oZZW}+<@J2`75+6Lp_*$9(+t=8oS_;xUH69xnm5-qHq{25i<$ohQ};{sDQZe zG(a1pZ!%yf&T?RtiVjf@{lKZZF!|$xHw;OJ8EFYuiitISF(JRt<)nu*yPeu0L84R> zu<<9u^x#WqsKurW9D?N7sS1-<^s_hI5K#a6DHcgDisvjWd61ScVZukI-^Ty9KHHpb zO;U?i$joo!=TkA)UrTr8V)lH=oHGsKmQ7*{7(4$ZVJy;UG{Y}M@!j`~nSNj4u`f zg(HA`!4RV4gLHzQ1?s`kP^RmuVf8DAJ{|C^C;L-T9auhGtHahc4U^0nYYiSvCbtc; zlqx!O{KNH{VGzoI#vIfvOh{aShF?Jdj7g=Am7fMTM;3X2Y2e4*k3N10#1bM4S%Q)! zJ`M=Vyv9wf?5JX>AUBsk6^&*f2V~h`zv*^@sgA$qggm0=g(dIT@Bf+RzVO_m6mLni z|7IF|wH2!=*AorA*>G{-3Fpoko8g}h*a6BaP$%^S@~euhmLLNdx8Tho&-ftm^oj%l zO<@YQr+z4TfF+F;EORd$r1n*u09HVzRC!5>7?JJSG^B;#Eu2%t#5ClIGB)=U12na+ zf=Q;cb(wUQGHcruoPB(W*0S>B&M=Z@)-YEkAcxE+^LFsI4Tp6x-f3aCo+-DF$J<*aWYfPB zAZ3(p=LQdMOt5SKQ$S!~p|Li}aEkJ9Ts3LzJk6_Rf5HRDu!cjQ=Ip-XuZZk1=ELL+ zOAO$jQ{d$rvBvhi!?_`>aO)^g@%Y?1cXM6AfI&* zx2TG&fw_lMK!FBZEV)$^>%AWRvDkGDUv29s-*8{Cl+rIA?-%K!mz8-ecTePrwG^(ghG56rMwNN+vvQV- zgm;Hq_2a$P+Zt&p>=G#W|&@aW~{nX zr>57pNAkx^T;+z*5f^NJV*TEv{jT_C8()l>J@@X_aR?!A%ZNnWrJUp6-4rNDcNYh6QO*$~U%E)BsM-yx5GRUYXHIeZ33$X8d^s5?4Hhnl-9%Nj{vp%u(K zlGRcv?5TYnIu9+|W^r;|6APa>MZpt_psAgT8bu|YnH9sn+09o}pZh2_M1&BJuF171 z=hw&&zFk_tk>odyR$L!nI;jJfXivdkm+mAi0YVN6EjcL3gUbzegbaz^F&JmZU1YgT z7E#C`#9^}un{uSGMVPqH#YW3+rTDW8w(yi>eYcMvhC`tMlU!-}2X)Lg-L1GW3-&x` zoqcjq3rhUg-F&uT`ufRVw3)5r@UPQ*CL=AgabtFJGP*f%H zF|+N>Gnuk+hcogU<~l85M{7Gq`965#uD?`3AS|V-V88I)Zx+Tr)0Jy6VBy+5^O+*< z8=Go_bNgqSj*Sp_Q||=$TY3>1u849Z7$pbLCvZ%p2nLyi(QhyDv(iEx!mq&{g*)nO z=_t(IvE(m(A#cGuTcONpl8R2)ok)Xhd?Ppm)63`{6&sQ=ps^j@~SuPG=O9qi* z?pZa;&jA|`7ceT!~ z`nqqne~fbqYc&e^Co`x+FajZEs@^qbYypn(v)nA>&3LSn57*b(qA)EN4tnvdD<$ch z{$5yeLLOa6zMd@1pn5Xt{ij=P&)BnRlc?7*0fa}JY<8wM3-Ll9(l9zNEos!X(yngbNGQ{2U%<^a3i~r^9K~qBp6S{tc$DzXM!l)4gabA1A=e|x1~&&52yCZz zc&#spK?tz*)VCkt5%)QNU&np9=;ePrsyZ$u#~&>m@tobV;_1*C+kxFK7+-BG+}eS3LiQ9kXS zQ~KB4ZKd$Crg4{#;Ap69RQTRW!V3;AYBwx~lO@3L-A)kdFF;(lk$a{|+p?&->3_#^ zSklr}uWy{$S}RrPtDp5Q_WJWwZL?mF7q64*$|jXcdkvFaxzD2~(Sk#DJgy%K6Yi+* zX_C`DTdcrv{vtk;Kc#vbN{zi`T>Wm-T%$ZsLKqp`jk_{`EcepMjHex$zEXZ{@lt%# zdQ*rTzTZ`MXK8K0O4v76R++w@+^T&6`qAwRYU9F4OFJ^sSxH-F&Q9~L=tD)etISSq zx@)D8Fu!|irXx)@8%#RCCnn{t{dchL+ChhA*toe3w1GUycWgNA$^^QacFg3u^hL>s z=KcG7k4<*ZsAeaJQ}N7CRp$WSN&LVhw5l21A_| zq{g0r8$xy@Fs%?w&2RNhrnBC|-Xz|vmm6p{ZypVuwfDC2!mvxLmIzJbX!T%PLk)jg zUn83WLkA*OHu}Eu<*pMiCl%$aM{Lxs*V+o*i1FpHU1xL%();esv*o1wwKYjLx)?n- zY<{3BkK%{$ps^{2kub`{B3AXa942N&7mQyJdM37A^%`|gayp}BlgKad7QOizRAQtp zDhw^ak|l}6)v>aa4=1}xQMw(?o>gJ83;d!7Qc|H+pi!#+7wJHdlrpNPyH4kCH#?h` z+XII-jIPwN&DdUL7(KFQuG`towim6~;n~iu2wj&vN59w5cRNS2upnNZytMw7^}7ML zTuDBn-5Af*w~=W+s!@m0+|0!-GTkrEz|(m4Tk4kIFHh6|wzgaQYp}fffX`ZI z?EL0)1kZzM~6`6Q35SH=g9*(zozi@S>?q|x5hyLci zd|@ip*sxr~z6qysqbggOO-`{+u%+j}3sS0%bG4cnXeYYLn@5N|?<{VZv=%=ntOMl* z26j`uZF-pfg66P%m9M*2&Z$6K0$=}d;*?`)5GJHgt_H}A3e#S^TwUF&&V_Ke5p z87rFuSK3~*Szq^@yc5*$9=<7V3ASk5e$cypOnNOyKTnN0ouje z)}v{J*(M-}G8weD}|J<%*eT(U2Vb&FQWTTb^&$EF##00g^^R~yKa3dSmBCbyfr!~140O`awQ>lyMT zdXfUTR}qg7oXDy*#_C93R!7JE5xRjBONR9-ls^svb1Lu~hQ^7k*5d1%3$CtzbV@%PCI^~-Qma|qs(hMU(wzAeIc~a_ z@#}&n{S?&5*!LLoUY*uuW{!zzpw@3aYgw7yEZ!c#3YfkRKsgXS6S)u4nCn~^9!=Ab z`y5f~U963=8W*coH_2e7EWTT{%R5ufSK$IdGRO+#i|OWa9J=JXS$@(NR(TUGET;nl z3~AE2mBN!AS)=gt&{dZ*MnmQ7;;6A)>T2X+Ccy&^#Hd8ZL@BXO>eFJT7CG}5Qn-?4xRxegh3ivHP$yld>|{Ewi}>d2Tf1*K*Gr8|)Htm(wMFLf zk~Y_g%<7bXLt7VWkZ&(d=Yw2Du@v>8XV&_cuHFo_yg&)*3%=#&+T~tX=h~I}WY^?1 zg7dV~{s`VZ056hV>caY2+b14J07E+r5iOTMCTzEh{S#9c%piG4Z{R^jn7x}!36jYx z4eem{*Hnhk7Z-B(Ep?zf>y{K#z+$xZH%&G9{fa>5)wX&dxwIJ+{HpTXPEO?GSZRTu z?Q>VqU*|BC^_f$YfWOD6qd@;ChwMREM(hnkkRG92fse1lC4~vNM55%WwQSmd7&NHW zer@%M5A1Te_7P87fJ8dQz(HTb^l?~$8ha7do$yUU7`X07{zCN7?tisNt}WK~on@Kxa6nZ`^}??%T$|GGeo)8@Xt_U2Pw8MX~Wk=6W>}^ zF3O{r6+w-baHBvnWwgP7X)phH5vsAJ0AMp zk(ZH6C--D-4}C47)rUwpjz5KEs#ha6s(Ar;qY3Vxt9YQTtB{e;U%9;USBTxxf*INS z?a4wj7P7Xii}K2xuxpUaN;uvG&PAG5vd;YShVhy$5bnSA+w7FS4&n0Dsue8U0nN31 zu{&E8T8P-v4CvUjwvXDv8(4xl6ktu{gau-b{laIw3UQM|H1Ehok=wLl{;ZO*g;4(s9l?#*AauT7dl*F#XRvj$Il8zQ`MIks!(+q&_suS67t6bcfW`AIdQ z@!DuZ9GABCt3F7BC8C=TP)KhVyx!NjJVSlg&nbXa;A5r`@wh@^t}>oCdd4UCHiT98 zm}pvLHv9h0j^1^s!e}&@bW&78pKhWUU3prAEs`s1ud@UvRT2tu{SH0c7k2y9Aa4Ap z^BE#{h+y9)4r&_r3+klUA%=WpbBcmk{_l#aRvKEDEJo7`9&Qu~^%6%O6xNMPEoT#W zoL|2UTQWKg39#Mg=-Sn+SvNSpv=4R>5sEV%Y0NR}F@&aOoVrwE=f*iRT})KJLmYVa zT>hK+XJ)p41?&EQ&Og)t*Zeah8{~<=yZcG%0oH3MTTWR_Tb~%i@Ygd;F|D-hD!FQqZnwrox{f$zi zngtU>iC&_D6DhLr4Hg5;UGi{$!(savf59))NcyQ(Q|ei`1T5n}#w5MEI5Oab0-fpb zx!X#tc!aZuRYlnQ@{1W3nM9zet~n$KqjJ0ds03NH4H0W&Vk3&M=;7q%;^bd)=*2Vc zC^ky5yMNp9y&`}9m12%(j6c+^!@~F7sB=e9cnSEnkw`EF!d)AwJ9Fgj7m>aYDtjo# zu5>V>sREF4~)rxy4zZ;Y(Z?vY-+f zyPPNm7P=eDyW#H(E|8&9aR3NvhYo=^66qq6YQj&|3xXr5Pd z*w@=$rq7%@l(ZsBp8$_vwiaG}=3V%mTs*i}rry_&`=@uS#_RRmLl5X`*vpsqwMS;{4_mEx(L=pRTlssq951SH_ZBc>Ju7mB74rp>=)-qx8WC2~(sI1XAFP4xF< zn3lb9SbU?`!Di7wnih#=%<+t}l!dU$sSyNh=)4wO z^QvHJlOSmmvdpk=ih18!TaIcA`@Sg($5AvH=wq}Zd&;147meofYc)ZD??PsAhD{aM zRib(LE3hks27>V#=0x#_plRv*sffYhvseJOH6gr%c75AxNsFc6Dl;B`O{lnCVZ_D^ zACC~B4~Kj5>pl>I=>Tl#Mg{u>v0gypuY@r(0{$GPYbzId(M(O=hw0xAMyyU=S&Fi^ zlsjIB_noV)^e%nhBl#z_R!YLO;lt>Z$&UNOs6wx4VwM{X#|SNNU2$i-OS->P8L=)? z>OCd+=|uK|YsUenEG0OE_dEm_i&}l0DkHcjjQ`tXrH|Rztgp{?@Y9Qn|1(0@5vwk4 zQxmV&(KPA!q07;@u1^S9=g^{DAdLZ;nrZC_}^~Jcm<-~rVHHpt{N=Tq~TeEC#upxm&OFiQJu}> zD?}7!Ff*}!f6J`hjo+nEmAdR`92y3ys(e;<`~hksAfg4C$BJ zNg){!PCF)Ir&1wxG4Ot!UC)+C>Z*Ewq~^I*d+q3Wy<9&?8++{Zc>s4yT0UKVx|~Y) zc^2>&_B2fmh--&KlQHlB@78*bIi>Q$AI~A~F@t|a6m?w8md$HUAH9pFB*yKNtIP;P zE5N?#Vj?;{F3B49`^KCu0Cg}aBcq!&qh0BF`>g6**XhgA*1UXneEm2^Za5j~^Ua~J zuHJdru>MYaj)NBL-3hKr^Sb`kc-`wLi9C#W8X?ij72($V)sBnV^*mK{p}To0t8q2= z`Ki8Lga2Mm*Q^(89Q=ij%r^4x?)((r{jEoIl)H|j$)3Y>g=Oz0WU$C4&baIO@pL7R zRob%ZZF94zhXW=XGyF^2IyXcf4g*GF;szBF=gg+Iqq}pdYp`SIpKOF1xsc$edS0L3 zo|;*{=6BCLlh)eM?pTgm42(%dg0D{s`x{j^4q?smYQcL>ZDotdxpVqzSiy#`PVSyu ztL;3QHfbKucV~8ORkYGH?hIGMtjnjTr+3?f#}ZX}ZLz%;s;gUkoh*lDtAei`>|ANr zKHp4{*NqM9QjS&e@zZ)+pLHw8TG5qfhkG>PmKY^vZ-dLYE8-GWGib@;wQKB>&$mm~ z&eB>(iU#*u{w(DDj%wYjx1LXLg+J&(5?f5$=CZY>@s4VJ=V30|o45R$Sv7zYA+W;B zebU&;(u7E^wX)*BL2IuJH<|WyO+>VZczg^6(_!~F3%37W&3)EH69OPjP&b| zq{mhL3=y)YM}>9P=iqPCtuE~NFFH~4r}qfAn`eJFOE_&JvPSjA&Aw;!$J94Za#ycRlW8&?qZw3!uU&>_?uuX1XKzi$bAZZ7;4?CKd z?}DEWF0XTZ;$)**t!2&&U?c?_Do@VS=39HuYB}+A4$uSkv!xvuk)dR$rLGt?y62r} zTgdnvjL_sz2!pSV)H>JN-8pu{ICLYQM+{lbmxiF)&AoObp)x3grmH(Wb;usw;Qhrd zUI!*g@Cz-NLQY?IpE*J#Wz)6tM%acM9Dz0A^E$I#<0>;w)Y=yDeeVHyuq%F(u##S5 z-z{;E%$KL4^g6Ey$NrTjw#Mu9D8_CF*#0T;@*fjx%O^C>IcMWZuV>*$*3QhYO;d!? zVe4#2-FReJjC^eYh|zR~@&T;syqgSKKm7j)4<&qwCF$F~P(VihVFm?=ofJSq5XX=z z#J<=d1xrz{-~b1D8B4(C7oIc~DH?d#nGTD1pic_qo}ptjNEmrf<@l3GMFI3Dn>gaZ zCJ8q|aNN!hEbns^Abf=Z+OH02Lz$!kUP2hWq(ZcI5EAl|Vry}+$cUgALO`LSLvT%c z3NZPjYNTuReW9{)U-K8_sk$M7LP?{6_%8LpfI=b2faJIyz(kmgQB)vv)C3UIbJTin zE;hDjNT`ASNHc)^Sjjhs?pWaMP^PuHd^vRBkfgNP$v|%Eo$f7rd3{PmI77+$;sGva z8UqTX`<{miq=k_86$qjW2B;%xkf0i?k9Dn1ioDANC4JLcXA+FNDNFlng+1ysZ*b)tLO*pj}oh{{U1N%gS zXf~5;NoX=p{};)xXFhTsi*-k=oR?zn7}Efd{JYb1b*gTbxuHf>55LpUl1Nxms2)iv zMVzy7#C;Mmc6zF4xz0WWr&V0m>ysXn7VDIZO|w`GILdgEK-hl~Bub7!Y(o?@Q;a5z ztBnFts1mUP;LtI#C>Bv>A#4 zk~l!ZiU$hB5VndT)W|eeOc(~%D;aC~@(ZaEQqN`?19HBJs8b4YnliOABPUazH8Bnh z&yW7!h0dj4mO;2dz=ZN?b3%Sd4{1)U4dijhhsS)%* zc9UYg&~)Q;kcY}b<5>UFFsniQ9H^3L1Z$v9X(%_sf$6U`7lt7~SSMBo=hk8$@hv%e z6jVs;8weiBH4t2^dA1e#FT~-XEoi|d$mcmohgos3q0S*SbYn>6egAO%tfYH>3NlZ@ z!gh_EWR{)|!D-9>;oHisv$X)ROg7_vP(44lfghorx!as42oz@xn#|6Mj3c1L* zK#>G`1W^c$s7R0m2Kq*R?1%U7P7lZ;D0O;dgMY&yO#%5D9xHVT_TFP94CxC)z+$$g zEfZ8dLQRQL2s*t)Z@A=S~vDzdxap8WD8`s`rogM;-V;D^z z9WFo6#qbT&KivG1G*9>E<+WUC^t+N z31si?60ySDog@;B{QUJKVL_}tG()-in$b=As$!H(5o?gx^J=*Y`MoO_x9h^{rhjmZ zQ*s>Qm4p7sBc?1()0QJTr5!d3dz{*`ldLu@t+R=>SYE0k#?qX>zy;*Da{2-j9v+RY z^R~F^Ij)#3h1R>|UnQY$f~DF35PF9L!|U9?gusvyH*dCV@p@n=SKs>Ksd-_|9THoZ zC%r6H5QC~1NVv}gTFJyA@5B%|J8+_%OeLsm)gq@grH(>g5$L>LYW~gZHY@$V!oB1i zY>k`^0pKliJ0lY%V>N1e8YVg#1{MlvT7G9IGg}98Ek;%rz?W5vj*d>^LpXm3s}EuR zA@o0l&4UlNGW{? zwGZ)6>w+H{+Yj++*zP0sY5lWG#vfUS5Ajd^&vXB+exI%Qe=m%JR?*qO!r0L1zt!-w zQBEI*KimJ=luy&2C4SofH2GP!!H3@GiBFZ!%l=s(Ejs4UUXuRM`E19ht^exPe=2@9 zo$<3N^o*a~|CyoxIPz)XGX*e5PeCgPK-xL|FF)32&wSc8`MBh>dp@i9S)I??xqY0V z`Yhrfzn#=a=2Ppl_)o3>*8Q#@3jfur&tLeTHJ1E1C;K5j8^`~V`ur9D>yG&Bp3loa zs|UClB#qr&Z5@mp$pN?AXEV%gZG-?gLIQFj4hA{~COTFIfEi{+W@bt{1~NK2GJu}6 zt2#043^MIT}OL$|(t}(TF%(SsCct*nHgYN@nJc1c1+f-1k%jD#i|u zfT9T)Y3P~gnb{dwm>H=VXjuN~5P%De)d-}_U5p7nYDLTMU}y%&+BmyW5LnvjJDE8e z>l3*A!v+ft6Ac~32L{sE#>m#d0-BzM>0i0B|LY_dE8{;gmaI%H{|T{VU}yhFe6#;~ ziYr0WItr%=?#-vufXC!ZUlD64vL1%?F|EiniI`#@pB|{G=P`~QkM8*x^^~qI_l%vb zX@5q@mmPv*Bw-#B(HXHi9x~qMp?#F14N5F?iPQJFY>NG#BAF5qW*0l{Ns|@413y&a z2rc*u!RZ8JUv?~S(JN335!*y{(|Ae6V8^ z-;mb*viQ2&YW*?a+E#8~J_yZZPI|U8B5A0Hcw%J<%M2s$g2M zc9?gZAUJ`{+E?9rldl(k#(dA)hKzO0X)Ll2Bh_Q3wC&Pqruis_4!XHFjl3Oq?rDu1 z(JA35u(33-@4-JXYHVu>83u?Vsh9IpCPp{69Cz2udpJ`*W{GZ3R^QJ~Vp)uZ_~r4U|W1%Ksa zS5p8&psCE5ek`(bG=`{YjBbRxaU`7q3aBVJiZmpqNr6=~L`p?G+!cYNwzgVJMcxWH z|HBMCzLrLMU>8~c4V0FGR8kjl{|zM0l0CA0#j(e1G_GUIHR!+%4)d@>V!l zA$XfotSjWJtqjEJSm=?91Q{%>K>t3|A^x`xJp%j}Wu4qi318v18_soRMxN*Aq7c-rvohmhJX)Zu>}9bz0pa zteh?O1i&i)bLaot&x-XI`k%X>Y<^Z`zYxf6FTyzm0p%o=L<~xo`amrTR0n}8f?JxA zqY+t}H6T*?+f)8>W(}=y2s7wRV3R)?w<4_OMThZwZPtK1F*PMr8*sl>N1=oObbc`~ z4pm?=u+@$ZvgwQkku_=0;}2jkf-wQ2XgHHL>;jb(Qnuz6Jqi+nZ*{OF>X2UuVJP@& z1CN2RR&*=2q*h<)QxWrXsRJj}W)t#3mCAm{mIp9b*5(ls3S0T(l|vOW z(|t=G=t8qZA`EG0_!Zr^q#-0`(BAQDLTveTztcf<2tXpCHMVlT*E?A2V9fNGXtY3%+aW7U2HIG zUaj)h@JXXZ3CiA@dNker+RuPy*4j3gy>37bp$xSRHn7s>G|kdgldb}3Z?4tybae13 zIrA^Ad_ywgTFwhb2UFHx4}6vBx=gDS(`MA5!^M{=dLFToECMFabTCrCHn14J?w_@M zlRwq66IkyT=lHGsbzRW~?h(u8*->vtm560}A0IBK+~Mor z`TP;DbMt8htpjrzGC0w5^Nw%rf(P8cZ7;&;f16_9r})qH7BdEIG6-bMc-le5piAst z>FaaJ=r?4GBUF+#fZo8bAm0q?)l;5liY&Tp)`o5ie1UI0T!3DozU)!ZqNvfyzQJoN zX$?eKn;0bWo$$bL9-wOrdG_KWTBDb>D5)%T=e%nLN(g<*o7WW+r(NF!DoN!=D}1oeFo1sMl*rH6~{djJ@e z9fCJ7-l+c>z}8;3JRv^g!0Ic}#E#LZy$nDLZJerG-d>;9&r`}}jQ?6c*;?zGPXjdX zQr4+Fr$#m`yHQ+`8_m5T4Nb94Ao$e@PbGq7faL%+A6<5~Y(7?Kko!I0r{TN47+2$y zb6UTn+D&%ZQq&JKZ!FWaI}H)Ab{4mVPS3VCr)TEUu*x)9Z^&XETG{qrB`SqQIswXA zhebLqYS9zBftHWBm2sK@JC2) zsm|}0=$rYxY{oZUQhk$+Nr(DeRkfdbMgz}duZrV3dZdP!dj5gsiOCo9k{VvW zbv2E;u|G@XOUcC1?HYTk@Rc2xWU3hJef_H1r4y7CRrzhPSNU+v!&T{<25%0f^w`h| zQK~%rkD#|sa(Mz;%E_xXkC;UWiNo39KN+Bh$&1tcQ<*!msZr8(0E5%}!L_XU5Jd~pm?~FH1Sm_3v}+PcX^ovbF8CkB4`0hQzmF=&W)9L5eU0%F9j+d+3+qcf=XMDiD zVBv{nWs=F;>E-@v=jwR-JR*DU)8W&$C>wR3bx*6K<>Tu7yjgbtoFR3yI=lP|2k!g+ zxZO)z$^7Q?c-0R>8@_Ap%Vz35jIv9b|yN0I(}9m5fOHFdLb4%L4I~-0TE_l9)kZ_1yIsI zSYV9otp5nA^*_I&kS?nJpxKw}kUZ3_nZ$F=2_8fjs_x3p7<$j;WR%=`!Qri+H z5`g`ZLK2%M7RpK_5<;31MgSU2-NzqNh`|hnL@OWy6(U3!3p4om()L(8x8}KY?w-kP zS&?CU=(ara4O~(mlj_`fQ7ExCIEkSmzIM$skD1$e@x?5n7gWk$$93U=DLs%PE27&f zIi{A87d`lIfVz(ZCe6{9KRX5I{qtp9b2SiJ50M(Iq#gy8|L-BxYGjpe3$-tn`ncu6 zaMegG-6jhln)=vQ!MN35UHI``dhr%uo;T=l0v;(^Z*G5IzS;quIguCjda*&VZhTug zGB&sPRvsj6moL}=q|)Q;wl?As7q$uA7Q~7hN@@p(=WJ%$O~?jTw28M8d{$jExEdEV zJH6@m%n2f@j~v-;&jxJcx`l!xu^2HvP}e>^GVpwzO*!qx^Tnjc;@~^enpHsY8PHgl zIvd3PCP=_u(guT;Uzr_TrN4%B@oXQp8*GuHiznCrQ`(t^L&3cbJo}PmC}StYSfemQ zw#S}*nUV$#35l4AGLn&X<{@jsGa*a%ZAf@znX#m7WhVwRwk(OpzP{7@_Pk%-_y7O$ z|Mt7C`<(l}&biOI@B6wxoU^_Fo{A1Zh*PS?3><&(G?k63URPp&?4q8BPJHKiNGYwH zvC@wA+7P)-us|_YkvW?l+1K02e51=xr?+D_5)=zdsd=w87c?Z0W%~j`uCVB5+8q>g zXw_1~y{wrL@qh`lzMJ45yK$5~s#wHZ_>ha$Ozxsb(0GpyGB?K6$*HBb<Cf%P4UFkzcIRjx1cRSJQ?y^ZXv6AlNjdJuzy}Eyx>0hd zi_E1?#??QH*0@j9FYRB_4o7sTqPUc2rJEwI%?X1Lj>gBa2YlNKD>sL$is5#xdFTbD zTWm;m;YETow%V_ywDTM4qK97ZT<HnmyvDfY%wi9GvZuW_*{(*w{tBJ_X%kzrwZGtpe$49~{c<1wRT= zv7UTUgKhxjkDoYrw_G_sxa9>bRXg|ySz^=y?mIoHp}WmU-=^KZ=Q4A~KcclXx$kV< zK6BQMM=^2%Pw!Az`}5VUpxoWA=+U;T8f;x|kGfBm;1q*ZH!0tUK0H%h8+e>c%N4X1 zp}Q8NgXiBNqBYL25S#pds)&T=tFU#=imI%>Qd@nsMUT^F@FI(3V$LFXE`|R+H~(kq zU_FKBj{M29MF_z*NnA3P4Svp}k!cKy3sp>LAY)NV)8X$o=zFz5eOe%Kf?-BP#+l}* zAmVx7E7lveWmHUl|7XIR`kcVabVir3&VX80)hTQ5>4Jv%o4P~tjb6crw^BkoOJXz5 z*tO=M_1D`1&d*=k%Mq~frtWKuTIlRPi~h<_g?dpWa_5!~#*0dy8f8?2EuxCz>11wDIkc3Sp-bhG~h zu|0@_viX~nT&DsH&nZ*=HP!D2n(2z{8#n%JFtNt*e1|IPZI#+vo~nnjd#O!s^EQWAHI>uXoJd^E?J=)+4QC2g|E9@-7+aw^|<4ti{1-vaPn(3`DEc&tT@aSw-5TwM$%?LbMjHUxU$s)z29S2C>?8L)3HK!*q?6mAW` z<7a3lIcNiVzg#i=U+~$U5W4c!(ZH_tU8=XgoXhh$J6=tHcVl_VgYp{3oaPsUU1189 zJr`*6Y{DV1mHJ_SI8I^LwVe933s!-oy-QxWRdN;PmQ-*59#pV6S?!5?=I#2|A&OZs z+VAe(6gLH=>c-U@9jqb_Bp5g{#<{U6V*bgWtAz5CO^0#D9{U4IOT*VEj%O!bwbq`w zBSfqTcH^0Y=`8@v_b6RQdF^S25I6BP3AWj56)_1om%MZftjm|)#LYb` zVR@^wmp<;z*R0Xp(dN{afUACUJlZj!jq};W02H0u%bS2hVgK0*sHT3_v*eY_v$;6^ z74MRIiq7UaVDYUS&+sR_vQTJYp=BteXW>@vt3J6n<&3IT$+_o~ zKdtl!9eLI9V6X;#r&$OW6xSLIkAo)H72dZR!Ii4t@F^X=Ua>GW3!b+55_wqw!eI*!DXy7O4X+zL}084P>2l;5uf)1AxRkj`Y9kC>Dj<6LS^l_sPwbD)J^j zY}Jin{LHF9eF)@O3D38-xiwZWy(9iX)HgBV^r!Vn_;Y_H*~99Pz>C{lp&FIKA*dqPGij&CZxLMm?Mw}by~Z-)*Yn?Q_bBBa(dqxFxmE-q~G1 zL*;ETw6b;gHBIsPr%6=(eilusg{CXGj0qp-44x*v{lj`sdq@A{ix(i!1MB6?E1Vue^lIJHM$+$H zTf+cC#yswq%||jzgV*|yX4W$@Xi$GVOr7-QXab)2Ikh>t#?x#i^ypL_^oL=rr)arZ zvkh9U<%0QK?yK#R-4gB(UhJdAsC-I%EJS|#H*`;6;pc?MDPtY0&?BKupN=Y?RvDmC z$`q;(Y$^dp+{H_n8>X6A33scpPbL-Fkz!0Z<8c9usD;EdSyJ@yVf#7cT%galQ9w>| zlgUq<&xQVYKA05As(jc3pG=eiBYb1jcJ;prNkR<9HuMd@#K>~q5H1B@4wbSooRKNF zoR6`!V%;9i!pU&+?v;6|Fwd3jrkl>iNq>=ZJb?xlwR2>!o%|5&jnP!$UnD+F`iuB0 zoa9=3uhr42b!d|(eTS8~#jk@a-r=o-%0{1z=e#%W@tbyivF=$x0Fta=$PO@R&m|L$ zS!b@u!dpPB<>MnsjjOdggxjQs$WT0d45dQLnUCfka}(W2H(;i-#eUk87e$6#avzCU zf4ekR!=Q#Tg`8w)F%>bxU=q?xHC;q*``hc zbjtf63?Wf9dTI>?!jy>=p{W5*{Rh^Z>&r18caoX80}WAe&BRo{3^J|y7G@6SunBBe z14c)BHJ*S4wK4pS%p*h#RDo8dhmHm+U-hn=lpg3_P#BfW0D>sAr#IcSNFHfTONFtW>mU=cTOJ#A21aUM!53M2oNHZD9|j z5(GM(A_GjO)F^nKv3PLd^gXBYYmkEJdRqT4KqzD&aWqYBX912K9aU>_^RBHc*gQ$k zf2R`Zm%@t)|lq1KJ;d!m*@rdoNAWUWqVpG~bIa7Z6{nCam2)&t8l&!g>p zt}xXBvj1s$`;6ZA4RwHcb#vq}2tZf9L$wA5pRyN%pDOF96v zX%-#|17Kf=k%uG&D9MUqT|;8av!k%fa@Z)Y3vIzb$@C=&$zUGI_;iT~6rW_|m;@#0 zoMdplgh3F$r2no&-VQ+0Bk=0|d&B=$;a+T~cVvxoy{s5sfageyOb%<{WHLNP=m;!e zgo$VLrZ_(AkR4RYx$7f&La*&fkTFr>yy*W3ZkwqlCOqP6-CJHeJ(E&S)%?GGhk!u0 Yhk>Yvv_1n^1p-!suuDrD+nBKb7o{n%BLDyZ literal 0 HcmV?d00001 diff --git a/Studienarbeit/main.run.xml b/Studienarbeit/main.run.xml new file mode 100644 index 0000000..f9c8555 --- /dev/null +++ b/Studienarbeit/main.run.xml @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + + + + + + +]> + + + latex + + main.bcf + + + main.bbl + + + blx-dm.def + blx-compat.def + biblatex.def + standard.bbx + numeric.bbx + numeric.cbx + biblatex.cfg + german.lbx + ngerman.lbx + english.lbx + + + + biber + + biber + main + + + main.bcf + + + main.bbl + + + main.bbl + + + main.bcf + + + bibliographie.bib + + + diff --git a/Studienarbeit/main.tex b/Studienarbeit/main.tex new file mode 100644 index 0000000..97e31ab --- /dev/null +++ b/Studienarbeit/main.tex @@ -0,0 +1,108 @@ +%!TEX root = ./main.tex + +%%************************************************************** +%% +%% DHBW Heidenheim - Template for Bachelor Thesis +%% +%% Bevor usisng this template please have a look at the REAMDME.md file +%% +%%************************************************************** + +\input{ads/header} + +\input{content/glossary} + +\begin{document} + + % Cover + \begin{spacing}{1} + \input{ads/cover} + \end{spacing} + \newpage + + \pagenumbering{Roman} + + % Restriction notices + %\ifDocType{T2\_3100}{% + % % no restricition notices for semester paper + %}{% + % \input{ads/restrictionNotices} + % \newpage + %}% + + % Declaration + \input{ads/declaration} + \newpage + + % Abstract + \input{content/abstract} + \newpage + + % only page number in footer + \pagestyle{plain} + + % space bevore chapter headline + \RedeclareSectionCommand[beforeskip=\chapterMargin]{chapter} + + % Contents + \begin{spacing}{1.1} + \begingroup + + % set subchapter depth + \setcounter{tocdepth}{2} + + \tableofcontents + \clearpage + \endgroup + \end{spacing} + \newpage + + % Acronyms + \cleardoublepage + \input{content/acronyms} + + % List of Figures + \cleardoublepage + \listoffigures + + %List of Tables + \cleardoublepage + \listoftables + + % List of Listings + \cleardoublepage + \lstlistoflistings + \cleardoublepage + + \pagenumbering{arabic} + + \pagestyle{headings} + + %Content + \foreach \i in {01,02,03,04,05,06,07,08,09,...,99} {% + \edef\FileName{content/chapter/\i .tex}% + \IfFileExists{\FileName}{% + \input{\FileName} + } + {% +% No chapter available + } + } + + \clearpage + + % Bibilography + \cleardoublepage + \printbibliography + + % Glossar + \cleardoublepage + \printglossary[style=altlist,title=\glossaryPhrase] + \input{content/glossary} + + % Appendix + \clearpage + \appendix + \input{content/appendix} + +\end{document} diff --git a/Studienarbeit/main.tex.bbl b/Studienarbeit/main.tex.bbl new file mode 100644 index 0000000..e69de29 diff --git a/Studienarbeit/main.tex.blg b/Studienarbeit/main.tex.blg new file mode 100644 index 0000000..4359528 --- /dev/null +++ b/Studienarbeit/main.tex.blg @@ -0,0 +1,5 @@ +[0] Config.pm:307> INFO - This is Biber 2.19 +[0] Config.pm:310> INFO - Logfile is 'main.tex.blg' +[39] biber:340> INFO - === Sa Mai 25, 2024, 11:30:10 +[96] Utils.pm:410> ERROR - Cannot find 'main.tex.bcf'! +[96] Biber.pm:136> INFO - ERRORS: 1 diff --git a/Studienarbeit/main.toc b/Studienarbeit/main.toc new file mode 100644 index 0000000..fd0e9da --- /dev/null +++ b/Studienarbeit/main.toc @@ -0,0 +1,42 @@ +\babel@toc {ngerman}{}\relax +\contentsline {chapter}{\nonumberline Abkürzungsverzeichnis}{V}{chapter*.3}% +\contentsline {chapter}{\nonumberline Abbildungsverzeichnis}{VI}{chapter*.4}% +\contentsline {chapter}{\nonumberline Tabellenverzeichnis}{VII}{chapter*.6}% +\contentsline {chapter}{\nonumberline Listings}{VIII}{chapter*.7}% +\contentsline {chapter}{\numberline {1}Grundlagen}{1}{chapter.1}% +\contentsline {section}{\numberline {1.1}Typinferenz in Java}{1}{section.1.1}% +\contentsline {subsection}{\numberline {1.1.1}Typinferenz bei generischen Methoden}{1}{subsection.1.1.1}% +\contentsline {subsection}{\numberline {1.1.2}Der Diamond Operator}{2}{subsection.1.1.2}% +\contentsline {subsection}{\numberline {1.1.3}Typinferenz bei Lambda Ausdrücken}{3}{subsection.1.1.3}% +\contentsline {subsection}{\numberline {1.1.4}Der Typplatzhalter var}{3}{subsection.1.1.4}% +\contentsline {section}{\numberline {1.2}Typinferenz in Java-TX}{4}{section.1.2}% +\contentsline {section}{\numberline {1.3}Anonyme Funktionen in Java}{6}{section.1.3}% +\contentsline {subsection}{\numberline {1.3.1}Funktionale Interfaces und Lambda Ausdrücke}{7}{subsection.1.3.1}% +\contentsline {subsection}{\numberline {1.3.2}Wildcards}{10}{subsection.1.3.2}% +\contentsline {section}{\numberline {1.4}Echte Funktionstypen in Java-TX}{11}{section.1.4}% +\contentsline {section}{\numberline {1.5}GNU Make}{12}{section.1.5}% +\contentsline {section}{\numberline {1.6}Selbstkompilierende Compiler}{14}{section.1.6}% +\contentsline {chapter}{\numberline {2}Aufbau der Umgebung}{16}{chapter.2}% +\contentsline {section}{\numberline {2.1}Voraussetzungen}{16}{section.2.1}% +\contentsline {section}{\numberline {2.2}Kompilierung mit Make}{18}{section.2.2}% +\contentsline {subsection}{\numberline {2.2.1}Performanceprobleme}{20}{subsection.2.2.1}% +\contentsline {section}{\numberline {2.3}Kompilierung mit Bash}{21}{section.2.3}% +\contentsline {section}{\numberline {2.4}Tests}{23}{section.2.4}% +\contentsline {chapter}{\numberline {3}Aufgetretene Probleme}{26}{chapter.3}% +\contentsline {section}{\numberline {3.1}Neue Funktionen}{27}{section.3.1}% +\contentsline {subsection}{\numberline {3.1.1}For\-Each Schleife}{27}{subsection.3.1.1}% +\contentsline {subsection}{\numberline {3.1.2}Weitere neue Funktionen}{28}{subsection.3.1.2}% +\contentsline {section}{\numberline {3.2}Bugs}{28}{section.3.2}% +\contentsline {subsection}{\numberline {3.2.1}JVM Classpath wird von \glqq {}Java-TX Compiler\grqq {}{} beachtet}{29}{subsection.3.2.1}% +\contentsline {subsection}{\numberline {3.2.2}Kompatibilität von Java-TX Funktionstypen und funktionalen Interfaces}{31}{subsection.3.2.2}% +\contentsline {subsection}{\numberline {3.2.3}Ãœberschreiben von Methoden mit primitiven Datentypen}{34}{subsection.3.2.3}% +\contentsline {subsection}{\numberline {3.2.4}Korrekter Methodenaufruf für überladene Methoden mit Subtypen als Parameter}{37}{subsection.3.2.4}% +\contentsline {subsection}{\numberline {3.2.5}Weitere Bugs und fehlende Features}{39}{subsection.3.2.5}% +\contentsline {chapter}{\numberline {4}Vorteile in der Praxis}{40}{chapter.4}% +\contentsline {chapter}{\numberline {5}Fazit und Ausblick}{44}{chapter.5}% +\contentsline {section}{\numberline {5.1}Fazit}{44}{section.5.1}% +\contentsline {section}{\numberline {5.2}Ausblick}{45}{section.5.2}% +\contentsline {chapter}{\nonumberline Literatur}{46}{chapter*.15}% +\contentsline {chapter}{\nonumberline Anhang}{51}{chapter*.16}% +\contentsline {section}{\numberline {.1}Sourcecode des Bash Skripts zur Kompilierung}{51}{section.Alph0.1}% +\providecommand \tocbasic@end@toc@file {}\tocbasic@end@toc@file diff --git a/Studienarbeit/readme.md b/Studienarbeit/readme.md new file mode 100644 index 0000000..1d94d81 --- /dev/null +++ b/Studienarbeit/readme.md @@ -0,0 +1,187 @@ +# DHBW Heidenheim LaTeX Template + +Dieses LaTeX Template ist für alle Arbeiten der Fakultät Informatik der DHBW Heidenheim geeignet. + +**Inhalt:** +* [Templatestruktur](#templatestruktur) +* [Document Types](#document-types) +* [Komponenten einer Wissenschaftlichen Arbeit](#komponenten-einer-wissenschaftlichen-arbeit) +* [Contributors](#contributors) + +## Templatestruktur + +Das Template ist im Wesentlichen in 6 Teile unterteilt: + +* main.tex +* ads/ +* lang/ +* settings/ +* content/ +* images/ + +### main.tex + +main.tex ist die Kerndatei des Templates und damit auch die Datei, die kompiliert werden muss. Durch Importe anderer Dateien wird die Dokumentenstruktur beschrieben (kann bei Bedarf geändert werden wenn z.B. kein Sperrvermerk gewünscht wird). + +### ads + +Im Ordner ads befinden sich folgende vordefinierte Vorlagen, welche nicht angepasst werden müssen (Anpassungen erfolgen automatisch): + +* Deckblatt +* Eigenständigkeitserklärung +* Sperrvermerk +* LaTeX Document Header + +### lang + +Im Ordner lang befinden sich alle notwendigen Ãœbersetzungen. + +### settings + +Der Ordner settings beinhaltet zwei Dateien: + +* main.tex +* document.tex + +In der Datei main.tex sind grundlegende Einstellungen vordefiniert, welche nicht geändert werden müssen. + +In der Datei document.tex müssen einige Angaben über die zu schreibende Arbeit gemacht werden: + +| Variable | Beschreibung | Mögliche Werte | +| ------------------- | ----------------------------------------------------- | --------------- | +| documentLanguage | Sprache der Arbeit | de
en | +| documentType | Art der Arbeit | T2\\_1000 Projektarbeit (Semester 1 & 2)
T2\\_2000 Projektarbeit (Semester 3 & 4)
T2\\_3100 Studienarbeit (Semester 5)
T2\\_3300 Bachelorarbeit
Für andere Arbeiten den Typ direkt eintragen| +| multipleAuthors | Wurde die Arbeit von mehreren Autoren verfasst? | true
false | +| documentAuthor | Autor der Arbeit | | +| documentTitle | Titel der Arbeit | | +| documentPeriod | Dauer der Arbeit | | +| matriculationNumber | Matrikelnummer des Autors | | +| locationUniversity | Standort der DHBW | Heidenheim | +| department | Fakultät der DHBW in der sich der Autor befindet | | +| course | Kurs in dem sich der Autor befindet | | +| degree | Abschluss, welcher mit dieser Arbeit angestrebt wird | Bachelor of Science (INF2014-MI - INF2016-MI)
Bachelor of Engineering (INF2014-IA/IM - INF2016-IA/IM)
Bachelor of Science (INF2017-IM/MI/IA) | +| lecture | Vorlesung, für die die Arbeit geschrieben wurde | | +| showLecture | Ob die Vorlesung auf dem Deckblatt gezeigt werden soll| true
false| +| releaseDate | Abgabedatum | | +| releaseLocation | Abgabeort | Heidenheim | +| companyName | Name des Unternehmens in dem der Autor angestellt ist | | +| companyLocation | Firmensitz | | +| tutor | Betrieblicher Betreuer der Arbeit | | +| evaluator | Zweitkorrektor der Arbeit | | +| linkColor | Farbe von Verlinkungen | 000000 (schwarz)| + +### content + +### images + + +# Document Types + +Das Template bietet die folgenden verschiedenen Document Types an: + +* T2_1000 Project Thesis (Semester 1 & 2) +* T2_2000 Project Thesis (Semester 3 & 4) +* T2_3100 Seminar Paper (Semester 5 & 6) +* T2_3300 Bachelor Thesis +* Sonstige + +Das Template passt alle relevanten Einstellungen automatisch an, sobald der Document Type geändert wird. + +## Document Type spezifische Besonderheiten + +### T2_3100 + +Die Studienarbeit ist eine reine Hochschularbeit. Aus diesem Grund wird der Ort der Firma und der Sperrvermerk entfernt. Desweiteren ist es möglich die Studienarbeit als Gruppe abzugeben. Hierfür gibt es die Variable multipleAuthors. Ist diese auf true gesetzt, passt sich die Eigenständigkeitserklärungs selbst von der Ich- zur Wir-Form an. Mehrere Autoren sind lediglich mit Komma getrent in die Variable documentAuthor einzutragen. + +### Sonstige +Für andere als die vordefinierten Types kann der Dokumenttyp direkt in das Feld `documentType` eingetragen werden (z.B. Hausarbeit). Unternehmensinformationen werden dann ausgeblendet. + +# Komponenten einer Wissenschaftlichen Arbeit + +## Abstract + +An abstract is a brief summary of a research article, thesis, review, conference proceeding or any in-depth analysis of a particular subject or discipline, and is often used to help the reader quickly ascertain the paper's purpose. When used, an abstract always appears at the beginning of a manuscript, acting as the point-of-entry for any given scientific paper or patent application. Abstracting and indexing services for various academic disciplines are aimed at compiling a body of literature for that particular subject. + +The terms précis or synopsis are used in some publications to refer to the same thing that other publications might call an ``abstract''. In ``management'' reports, an executive summary usually contains more information (and often more sensitive information) than the abstract does. + +Quelle: http://en.wikipedia.org/wiki/Abstract_(summary) + + +## Acronyms + +Nur verwendete Akronyme werden letztlich im Abkürzungsverzeichnis des Dokuments angezeigt. + +Verwendung: +* `\ac{Abk.}` --> fügt die Abkürzung ein, beim ersten Aufruf wird zusätzlich automatisch die ausgeschriebene Version davor eingefügt bzw. in einer Fußnote (hierfür muss in header.tex \usepackage[printonlyused,footnote]{acronym} stehen) dargestellt +* `\acs{Abk.}` --> fügt die Abkürzung ein +* `\acf{Abk.}` --> fügt die Abkürzung UND die Erklärung ein +* `\acl{Abk.}` --> fügt nur die Erklärung ein +* `\acp{Abk.}` --> gibt Plural aus (angefügtes 's'); das zusätzliche 'p' funktioniert auch bei obigen Befehlen + +Siehe auch: [http://golatex.de/wiki/\acronym](http://golatex.de/wiki/%5Cacronym) + +Beispiel: +```LaTeX +\acro{AGPL}{Affero GNU General Public License} +\acro{WSN}{Wireless Sensor Network} +``` + + +## Appendix + +(Beispielhafter Anhang) + +```LaTeX +{\Large +\begin{enumerate}[label=\Alph*.] + \item Assignment + \item List of CD Contents + \item CD +\end{enumerate} +} +\pagebreak +%\includepdf[pages=-,scale=.9,pagecommand={}]{Aufgabenstellung.pdf} % PDF um 10% verkleinert einbinden --> Kopf- und Fußzeile werden so korrekt dargestellt. Die Option `pages' ermöglicht es, eine bestimmte Sequenz von Seiten (z.B. 2-10 oder `-' für alle Seiten) auszuwählen. +\pagebreak +\section*{B. Auflistung der Begleitmaterial-Archivdatei } +Die Archivdatei wurde zusammen mit der Online-Version dieser Ausarbeitung auf die Lernplattform hochgeladen. +\begin{tabbing} + mm \= mm \= mmmmmmmmmmmmmmmm \= \kill + $\vdash$ \textbf{Literature/} \\ + | \> $\vdash$ \textbf{Citavi-Project(incl pdfs)/} \> \> $\Rightarrow$ \textit{Citavi (bibliography software) project with}\\ + | \> | \> \> \textit{almost all found sources relating to this report.} \\ + | \> | \> \> \textit{The PDFs linked to bibliography items therein} \\ + | \> | \> \> \textit{are in the sub-directory `CitaviFiles'}\\ + | \> | \> -- bibliography.bib \> $\Rightarrow$ \textit{Exported Bibliography file with all sources}\\ + | \> | \> -- Studienarbeit.ctv4 \> $\Rightarrow$ \textit{Citavi Project file}\\ + | \> | \> $\vdash$ \textbf{CitaviCovers/} \> $\Rightarrow$ \textit{Images of bibliography cover pages}\\ + | \> | \> $\vdash$ \textbf{CitaviFiles/} \> $\Rightarrow$ \textit{Cited and most other found PDF resources}\\ %\llcorner + | \> $\vdash$ \textbf{eBooks/} \\ + | \> $\vdash$ \textbf{JournalArticles/} \\ + | \> $\vdash$ \textbf{Standards/}\\ + | \> $\vdash$ \textbf{Websites/} \\ %\llcorner + |\\ + $\vdash$ \textbf{Presentation/} \\ + | \> --presentation.pptx\\ + | \> --presentation.pdf\\ + |\\ + $\vdash$ \textbf{Report/} \\ %\llcorner + \> -- Aufgabenstellung.pdf\\ + \> -- Studienarbeit2.pdf\\ + \> $\vdash$ \textbf{Latex-Files/} $\Rightarrow$ \textit{editable \LaTeX~files and other included files for this report}\\ %\llcorner + \> \> $\vdash$ \textbf{ads/} \> $\Rightarrow$ \textit{Front- and Backmatter}\\ + \> \> $\vdash$ \textbf{content/} \> $\Rightarrow$ \textit{Main part}\\ + \> \> $\vdash$ \textbf{images/} \> $\Rightarrow$ \textit{All used images}\\ + \> \> $\vdash$ \textbf{lang/} \> $\Rightarrow$ \textit{Language files for \LaTeX~template}\\ %\llcorner +\end{tabbing} +``` + +# Contributors + +* Tobias Dreher +* Yves Fischer +* Michael Gruben +* Markus Barthel +* Prof. Dr. Rolf Assfalg +* Stefan Schneider +* Andreas Kießling +* Sarah Willibald diff --git a/Studienarbeit/settings/document.tex b/Studienarbeit/settings/document.tex new file mode 100644 index 0000000..b0c0c77 --- /dev/null +++ b/Studienarbeit/settings/document.tex @@ -0,0 +1,50 @@ +%!TEX root = ../main.tex + +%% Document language (en, de) +\newcommand{\documentLanguage}{de} + +%% Document type +% T2\_1000 Project Thesis (Semester 1 & 2) +% T2\_2000 Project Thesis (Semester 3 & 4) +% T2\_3100 Seminar Paper (Semester 5 & 6) +% T2\_3300 Bachelor Thesis +\newcommand{\documentType}{Studienarbeit (Modul T3\_3101)} + +\newcommand{\multipleAuthors}{false} +\newcommand{\documentAuthor}{Julian Schmidt} +\newcommand{\documentTitle}{Java-TX Compiler in Java-TX} +\newcommand{\documentPeriod}{12 Wochen} + +\newcommand{\matriculationNumber}{3279342} + +\newcommand{\locationUniversity}{Stuttgart Campus Horb} +\newcommand{\department}{Informatik} +\newcommand{\course}{HOR-TINF2021} + +\newcommand{\degree}{Bachelor of Science} +% INF2014 - INF2016 (MI): Bachelor of Science +% INF2014 - INF2016 (IA/IM) : Bachelor of Engineering +% INF2017 (all): Bachelor of Science + +% A lecture that the document is written for +\newcommand{\lecture}{Software Engineering} +% Whether to show the lecture on cover +\newcommand{\showLecture}{false} + +\newcommand{\releaseDate}{Juni 2024} +\newcommand{\releaseLocation}{Horb am Neckar} + +\newcommand{\companyName}{Hugo Kern und Liebers GmbH \& Co. KG.} +\newcommand{\companyLocation}{Schramberg} + +\newcommand{\tutor}{Prof. Dr. habil. Martin Plümicke} +\newcommand{\evaluator}{Prof. Dr. habil. Martin Plümicke} + +\newcommand{\linkColor}{00007A} + +\newcommand{\subtype}{\ensuremath{\leq^*}} +\newcommand{\supertype}{\ensuremath{\geq^*}} +\newcommand{\typeeq}{\ensuremath{=^*}} + +\newcommand{\JTXC}{\glqq{}Java-TX Compiler\grqq{}} +\newcommand{\JTXCinJTX}{\glqq{}Java-TX Compiler in Java-TX\grqq{}} diff --git a/Studienarbeit/settings/main.tex b/Studienarbeit/settings/main.tex new file mode 100644 index 0000000..27dd30c --- /dev/null +++ b/Studienarbeit/settings/main.tex @@ -0,0 +1,55 @@ +%!TEX root = ../main.tex + +%% Citation Styles +% http://ctan.mirrorcatalogs.com/macros/latex/contrib/biblatex/doc/biblatex.pdf (3.3.1 Citation Styles) +% recommended: z.B numeric-comp, alphabetic, +% not recommended: authoryear, alphabetic-verb, +\newcommand{\quoteStyle}{alphabetic-verb} + +%% Fonts +%% palatino, goudysans, lmodern or libertine +\newcommand{\documentFont}{lmodern} + +%% Margin +\newcommand{\margin}{2.5cm} + +%% Space between chapter headline and top of page +\newcommand{\chapterMargin}{20pt} + +%% Table settings +% Column spacing +\newcommand{\tableColumnMargin}{10pt} +%Line spacing +\newcommand{\tableRowMargin}{1.5} + +%% Color settings +\newcommand{\defineColors}{% + \definecolor{LinkColor}{HTML}{\linkColor} + \definecolor{ListingBackground}{HTML}{F8F8F8} +} + +%% Syntax Highlighting (Listings) +\newcommand{\listingsettings}{% + \lstset{% + basicstyle=\ttfamily\small, % Typewriter font and small size + numbers=left, % Line numbers on the left + numberstyle=\tiny\color{gray}, % Line number style + stepnumber=1, % Line number step + numbersep=5pt, % Distance from the code + showspaces=false, % Do not show spaces + showstringspaces=false, % Do not show string spaces + showtabs=false, % Do not show tabs + frame=none, % Frame the code + rulecolor=\color{black}, % Frame color + tabsize=2, % Tab size + captionpos=b, % Caption position + breaklines=true, % Automatic line breaking + breakatwhitespace=false, % Break lines at whitespace + escapeinside={(*@}{@*)}, % Escape to LaTeX with (*@ ... @*) + float=htbp, % Float position + keywordstyle=\color{blue}, % Keyword style + commentstyle=\color{gray}, % Comment style + stringstyle=\color{red}, % String style + language=Java, % Default language + }% +} diff --git a/Studienarbeit/texput.log b/Studienarbeit/texput.log new file mode 100644 index 0000000..e064dfc --- /dev/null +++ b/Studienarbeit/texput.log @@ -0,0 +1,21 @@ +This is pdfTeX, Version 3.141592653-2.6-1.40.26 (TeX Live 2024/Arch Linux) (preloaded format=latex 2024.5.19) 25 MAY 2024 11:25 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +** + +! Emergency stop. +<*> + +End of file on the terminal! + + +Here is how much of TeX's memory you used: + 4 strings out of 474117 + 112 string characters out of 5750275 + 1925184 words of memory out of 5000000 + 22465 multiletter control sequences out of 15000+600000 + 558069 words of font info for 36 fonts, out of 8000000 for 9000 + 1141 hyphenation exceptions out of 8191 + 0i,0n,0p,1b,6s stack positions out of 10000i,1000n,20000p,200000b,200000s +No pages of output.